Skip to content
Snippets Groups Projects
  1. Oct 24, 2017
    • Joe Lencioni's avatar
      Build entry points · 9cac256a
      Joe Lencioni authored
      These three files are used as entry points into the project, and we
      expect people to be importing them directly so they are at the top level
      for convenience. Because of this, they have not been getting run through
      Babel like the rest of the code here, so they were using older syntax.
      
      In this commit, I am moving these files into the src directory so they
      will be built into lib like the rest of the code here. In their place at
      the top level, I am creating some very light shims that simply bring in
      the built version of the module and re-export it if necessary.
      
      This gives us a couple of advantages. First, it makes more of our code
      consistent. Second, it makes it possible to produce two different kinds
      of builds, one for CommonJS consumers and another for ES modules
      consumers.
      9cac256a
  2. Sep 07, 2017
    • timhwang21's avatar
      Add `openDirection` prop · cdf779e1
      timhwang21 authored
      Addresses #648.
      
      * Add `openDirection` prop to `<DateRangePicker/>`, `<SingleDatePicker/>`, `<DateRangePickerInputController/>`, `<DateRangePickerInput/>`, `<SingleDatePickerInput/>`, `<DateInput/>
      * Add SCSS variables for input font size, padding, etc. (used in calculation for open-up absolute positioning)
      * Add stories and tests for new prop
      cdf779e1
  3. Aug 14, 2017
  4. Aug 10, 2017
  5. Jul 20, 2017
  6. Jul 15, 2017
  7. May 02, 2017
    • Maja Wichrowska's avatar
      Rearchitecture of how modifiers are maintained and updated · c95cbed4
      Maja Wichrowska authored
      Instead of passing down an object of modifier string => modifiers functions to each CalendarDay component and expecting the CalendarDay component to take care of updating itself, we now put the burden on the top of the tree instead of on the leaves. The previous model basically ended up meaning that whenever an interaction happened on an individual day, even a hover interaction, every single CalendarDay would have to recalculate its modifiers and rerender as a result. This was, as you can imagine, really god damn slow.
      
      In this new model, the DayPickerRangeController maintains a map with the following structure:
      ```
      {
        MONTH_ISO_1: {
          DAY_ISO_1: Set(['modifer_1', 'modifier_2', ...]),
          DAY_ISO_2: Set(['modifer_1', 'modifier_2', ...]),
          ...
        },
        ...
      }
      ```
      It passes this down the tree such that each `CalendarMonth` and each `CalendarDay` only gets the information that pertains to it. This means that the updating of these modifiers is also handled at the top-level and is done in the `componentWillReceiveProps`, `onDayMouseEnter`, and `onDayMouseLeave` methods of the `DayPickerRangeController`. Fortunately, this allows us to more finely tune which days get updated and speeds up the rerendering/updating process dramatically.
      c95cbed4
  8. Apr 06, 2017
  9. Apr 01, 2017
  10. Jan 26, 2017
  11. Oct 11, 2016
  12. Sep 13, 2016
Loading