@salutejs/plasma-new-hope 0.81.0-canary.1194.9112023499.0 → 0.81.0-canary.1203.9111654116.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Calendar/Calendar.types.js.map +1 -1
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -1
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +4 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/cjs/components/Calendar/hooks/useDays.js +6 -3
- package/cjs/components/Calendar/hooks/useDays.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/cjs/components/Combobox/hooks/useFocusController.js +0 -1
- package/cjs/components/Combobox/hooks/useFocusController.js.map +1 -1
- package/cjs/components/TextField/TextField.js +3 -12
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/engines/common.js +0 -4
- package/cjs/engines/common.js.map +1 -1
- package/cjs/engines/index.js.map +1 -1
- package/cjs/index.css +0 -25
- package/cjs/index.js +0 -14
- package/cjs/index.js.map +1 -1
- package/cjs/utils/index.js.map +1 -1
- package/es/components/Calendar/Calendar.types.js.map +1 -1
- package/es/components/Calendar/CalendarBase/CalendarBase.js +3 -1
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +4 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Calendar/hooks/useDays.js +6 -3
- package/es/components/Calendar/hooks/useDays.js.map +1 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/es/components/Combobox/hooks/useFocusController.js +0 -1
- package/es/components/Combobox/hooks/useFocusController.js.map +1 -1
- package/es/components/TextField/TextField.js +3 -12
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/engines/common.js +0 -4
- package/es/engines/common.js.map +1 -1
- package/es/engines/index.js.map +1 -1
- package/es/index.css +0 -25
- package/es/index.js +0 -8
- package/es/index.js.map +1 -1
- package/es/utils/index.js.map +1 -1
- package/package.json +2 -3
- package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -1
- package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +4 -1
- package/styled-components/cjs/components/Calendar/hooks/useDays.js +6 -3
- package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
- package/styled-components/cjs/components/TextField/TextField.js +3 -12
- package/styled-components/cjs/engines/common.js +0 -4
- package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +18 -6
- package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +18 -6
- package/styled-components/cjs/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +18 -6
- package/styled-components/cjs/hooks/index.js +1 -8
- package/styled-components/cjs/index.js +0 -11
- package/styled-components/cjs/utils/index.js +0 -7
- package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +3 -1
- package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +4 -1
- package/styled-components/es/components/Calendar/hooks/useDays.js +6 -3
- package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
- package/styled-components/es/components/TextField/TextField.js +3 -12
- package/styled-components/es/engines/common.js +0 -4
- package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +18 -6
- package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +18 -6
- package/styled-components/es/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +18 -6
- package/styled-components/es/hooks/index.js +1 -2
- package/styled-components/es/index.js +1 -2
- package/styled-components/es/utils/index.js +0 -1
- package/types/components/Calendar/Calendar.types.d.ts +4 -0
- package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
- package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
- package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
- package/types/components/Calendar/hooks/useDays.d.ts +1 -1
- package/types/components/Calendar/hooks/useDays.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +1 -0
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/engines/common.d.ts +3 -3
- package/types/engines/common.d.ts.map +1 -1
- package/types/engines/index.d.ts +1 -1
- package/types/engines/index.d.ts.map +1 -1
- package/types/engines/types.d.ts +0 -4
- package/types/engines/types.d.ts.map +1 -1
- package/types/hooks/index.d.ts +0 -1
- package/types/hooks/index.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/utils/index.d.ts +0 -1
- package/types/utils/index.d.ts.map +1 -1
- package/cjs/components/Slider/Slider.css +0 -69
- package/cjs/components/Slider/Slider.js +0 -48
- package/cjs/components/Slider/Slider.js.map +0 -1
- package/cjs/components/Slider/Slider.tokens.js +0 -79
- package/cjs/components/Slider/Slider.tokens.js.map +0 -1
- package/cjs/components/Slider/components/Double/Double.css +0 -62
- package/cjs/components/Slider/components/Double/Double.js +0 -288
- package/cjs/components/Slider/components/Double/Double.js.map +0 -1
- package/cjs/components/Slider/components/Double/Double.styles.js +0 -61
- package/cjs/components/Slider/components/Double/Double.styles.js.map +0 -1
- package/cjs/components/Slider/components/Double/Double.styles_1jhda4u.css +0 -7
- package/cjs/components/Slider/components/Single/Single.css +0 -16
- package/cjs/components/Slider/components/Single/Single.js +0 -162
- package/cjs/components/Slider/components/Single/Single.js.map +0 -1
- package/cjs/components/Slider/components/Single/Single.styles.js +0 -45
- package/cjs/components/Slider/components/Single/Single.styles.js.map +0 -1
- package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
- package/cjs/components/Slider/components/SliderBase/SliderBase.css +0 -4
- package/cjs/components/Slider/components/SliderBase/SliderBase.js +0 -82
- package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +0 -1
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +0 -33
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +0 -1
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +0 -4
- package/cjs/components/Slider/ui/Handler/Handler.css +0 -4
- package/cjs/components/Slider/ui/Handler/Handler.js +0 -174
- package/cjs/components/Slider/ui/Handler/Handler.js.map +0 -1
- package/cjs/components/Slider/ui/Handler/Handler.styles.js +0 -21
- package/cjs/components/Slider/ui/Handler/Handler.styles.js.map +0 -1
- package/cjs/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
- package/cjs/components/Slider/ui/Thumb/Thumb.css +0 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.js +0 -31
- package/cjs/components/Slider/ui/Thumb/Thumb.js.map +0 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +0 -15
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +0 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
- package/cjs/components/Slider/utils/index.js +0 -56
- package/cjs/components/Slider/utils/index.js.map +0 -1
- package/cjs/components/Slider/variations/_disabled/base.js +0 -9
- package/cjs/components/Slider/variations/_disabled/base.js.map +0 -1
- package/cjs/components/Slider/variations/_disabled/base_x642ct.css +0 -1
- package/cjs/components/Slider/variations/_size/base.js +0 -9
- package/cjs/components/Slider/variations/_size/base.js.map +0 -1
- package/cjs/components/Slider/variations/_size/base_x642ct.css +0 -1
- package/cjs/components/Slider/variations/_view/base.js +0 -9
- package/cjs/components/Slider/variations/_view/base.js.map +0 -1
- package/cjs/components/Slider/variations/_view/base_x642ct.css +0 -1
- package/cjs/hooks/useIsomorphicLayoutEffect.js +0 -15
- package/cjs/hooks/useIsomorphicLayoutEffect.js.map +0 -1
- package/cjs/utils/canUseDOM.js +0 -12
- package/cjs/utils/canUseDOM.js.map +0 -1
- package/es/components/Slider/Slider.css +0 -69
- package/es/components/Slider/Slider.js +0 -43
- package/es/components/Slider/Slider.js.map +0 -1
- package/es/components/Slider/Slider.tokens.js +0 -74
- package/es/components/Slider/Slider.tokens.js.map +0 -1
- package/es/components/Slider/components/Double/Double.css +0 -62
- package/es/components/Slider/components/Double/Double.js +0 -284
- package/es/components/Slider/components/Double/Double.js.map +0 -1
- package/es/components/Slider/components/Double/Double.styles.js +0 -51
- package/es/components/Slider/components/Double/Double.styles.js.map +0 -1
- package/es/components/Slider/components/Double/Double.styles_1jhda4u.css +0 -7
- package/es/components/Slider/components/Single/Single.css +0 -16
- package/es/components/Slider/components/Single/Single.js +0 -158
- package/es/components/Slider/components/Single/Single.js.map +0 -1
- package/es/components/Slider/components/Single/Single.styles.js +0 -36
- package/es/components/Slider/components/Single/Single.styles.js.map +0 -1
- package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
- package/es/components/Slider/components/SliderBase/SliderBase.css +0 -4
- package/es/components/Slider/components/SliderBase/SliderBase.js +0 -78
- package/es/components/Slider/components/SliderBase/SliderBase.js.map +0 -1
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js +0 -26
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +0 -1
- package/es/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +0 -4
- package/es/components/Slider/ui/Handler/Handler.css +0 -4
- package/es/components/Slider/ui/Handler/Handler.js +0 -170
- package/es/components/Slider/ui/Handler/Handler.js.map +0 -1
- package/es/components/Slider/ui/Handler/Handler.styles.js +0 -16
- package/es/components/Slider/ui/Handler/Handler.styles.js.map +0 -1
- package/es/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
- package/es/components/Slider/ui/Thumb/Thumb.css +0 -1
- package/es/components/Slider/ui/Thumb/Thumb.js +0 -27
- package/es/components/Slider/ui/Thumb/Thumb.js.map +0 -1
- package/es/components/Slider/ui/Thumb/Thumb.styles.js +0 -11
- package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +0 -1
- package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
- package/es/components/Slider/utils/index.js +0 -50
- package/es/components/Slider/utils/index.js.map +0 -1
- package/es/components/Slider/variations/_disabled/base.js +0 -5
- package/es/components/Slider/variations/_disabled/base.js.map +0 -1
- package/es/components/Slider/variations/_disabled/base_x642ct.css +0 -1
- package/es/components/Slider/variations/_size/base.js +0 -5
- package/es/components/Slider/variations/_size/base.js.map +0 -1
- package/es/components/Slider/variations/_size/base_x642ct.css +0 -1
- package/es/components/Slider/variations/_view/base.js +0 -5
- package/es/components/Slider/variations/_view/base.js.map +0 -1
- package/es/components/Slider/variations/_view/base_x642ct.css +0 -1
- package/es/hooks/useIsomorphicLayoutEffect.js +0 -11
- package/es/hooks/useIsomorphicLayoutEffect.js.map +0 -1
- package/es/utils/canUseDOM.js +0 -8
- package/es/utils/canUseDOM.js.map +0 -1
- package/styled-components/cjs/components/Slider/Slider.js +0 -47
- package/styled-components/cjs/components/Slider/Slider.tokens.js +0 -77
- package/styled-components/cjs/components/Slider/Slider.types.js +0 -5
- package/styled-components/cjs/components/Slider/components/Double/Double.js +0 -300
- package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +0 -36
- package/styled-components/cjs/components/Slider/components/Double/Double.types.js +0 -5
- package/styled-components/cjs/components/Slider/components/Single/Single.js +0 -174
- package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +0 -27
- package/styled-components/cjs/components/Slider/components/Single/Single.types.js +0 -5
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +0 -83
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +0 -21
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.types.js +0 -5
- package/styled-components/cjs/components/Slider/components/index.js +0 -27
- package/styled-components/cjs/components/Slider/index.js +0 -32
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +0 -183
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.styles.js +0 -15
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.types.js +0 -5
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +0 -32
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +0 -18
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.types.js +0 -5
- package/styled-components/cjs/components/Slider/ui/index.js +0 -63
- package/styled-components/cjs/components/Slider/utils/index.js +0 -55
- package/styled-components/cjs/components/Slider/variations/_disabled/base.js +0 -8
- package/styled-components/cjs/components/Slider/variations/_disabled/tokens.json +0 -4
- package/styled-components/cjs/components/Slider/variations/_size/base.js +0 -8
- package/styled-components/cjs/components/Slider/variations/_size/tokens.json +0 -0
- package/styled-components/cjs/components/Slider/variations/_view/base.js +0 -8
- package/styled-components/cjs/components/Slider/variations/_view/tokens.json +0 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +0 -29
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.js +0 -16
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +0 -164
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +0 -29
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.js +0 -16
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +0 -163
- package/styled-components/cjs/hooks/useIsomorphicLayoutEffect.js +0 -12
- package/styled-components/cjs/utils/canUseDOM.js +0 -11
- package/styled-components/es/components/Slider/Slider.js +0 -38
- package/styled-components/es/components/Slider/Slider.tokens.js +0 -71
- package/styled-components/es/components/Slider/Slider.types.js +0 -1
- package/styled-components/es/components/Slider/components/Double/Double.js +0 -292
- package/styled-components/es/components/Slider/components/Double/Double.styles.js +0 -29
- package/styled-components/es/components/Slider/components/Double/Double.types.js +0 -1
- package/styled-components/es/components/Slider/components/Single/Single.js +0 -166
- package/styled-components/es/components/Slider/components/Single/Single.styles.js +0 -20
- package/styled-components/es/components/Slider/components/Single/Single.types.js +0 -1
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +0 -74
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +0 -14
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.types.js +0 -1
- package/styled-components/es/components/Slider/components/index.js +0 -3
- package/styled-components/es/components/Slider/index.js +0 -3
- package/styled-components/es/components/Slider/ui/Handler/Handler.js +0 -174
- package/styled-components/es/components/Slider/ui/Handler/Handler.styles.js +0 -8
- package/styled-components/es/components/Slider/ui/Handler/Handler.types.js +0 -1
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +0 -25
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +0 -11
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.types.js +0 -1
- package/styled-components/es/components/Slider/ui/index.js +0 -5
- package/styled-components/es/components/Slider/utils/index.js +0 -47
- package/styled-components/es/components/Slider/variations/_disabled/base.js +0 -2
- package/styled-components/es/components/Slider/variations/_disabled/tokens.json +0 -4
- package/styled-components/es/components/Slider/variations/_size/base.js +0 -2
- package/styled-components/es/components/Slider/variations/_size/tokens.json +0 -0
- package/styled-components/es/components/Slider/variations/_view/base.js +0 -2
- package/styled-components/es/components/Slider/variations/_view/tokens.json +0 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +0 -23
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.js +0 -10
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +0 -164
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +0 -23
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.js +0 -10
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +0 -163
- package/styled-components/es/hooks/useIsomorphicLayoutEffect.js +0 -7
- package/styled-components/es/utils/canUseDOM.js +0 -5
- package/types/components/Slider/Slider.d.ts +0 -27
- package/types/components/Slider/Slider.d.ts.map +0 -1
- package/types/components/Slider/Slider.tokens.d.ts +0 -72
- package/types/components/Slider/Slider.tokens.d.ts.map +0 -1
- package/types/components/Slider/Slider.types.d.ts +0 -3
- package/types/components/Slider/Slider.types.d.ts.map +0 -1
- package/types/components/Slider/components/Double/Double.d.ts +0 -4
- package/types/components/Slider/components/Double/Double.d.ts.map +0 -1
- package/types/components/Slider/components/Double/Double.styles.d.ts +0 -43
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +0 -1
- package/types/components/Slider/components/Double/Double.types.d.ts +0 -65
- package/types/components/Slider/components/Double/Double.types.d.ts.map +0 -1
- package/types/components/Slider/components/Single/Single.d.ts +0 -4
- package/types/components/Slider/components/Single/Single.d.ts.map +0 -1
- package/types/components/Slider/components/Single/Single.styles.d.ts +0 -8
- package/types/components/Slider/components/Single/Single.styles.d.ts.map +0 -1
- package/types/components/Slider/components/Single/Single.types.d.ts +0 -55
- package/types/components/Slider/components/Single/Single.types.d.ts.map +0 -1
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts +0 -4
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +0 -1
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +0 -6
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +0 -1
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +0 -45
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +0 -1
- package/types/components/Slider/components/index.d.ts +0 -6
- package/types/components/Slider/components/index.d.ts.map +0 -1
- package/types/components/Slider/index.d.ts +0 -6
- package/types/components/Slider/index.d.ts.map +0 -1
- package/types/components/Slider/ui/Handler/Handler.d.ts +0 -9
- package/types/components/Slider/ui/Handler/Handler.d.ts.map +0 -1
- package/types/components/Slider/ui/Handler/Handler.styles.d.ts +0 -4
- package/types/components/Slider/ui/Handler/Handler.styles.d.ts.map +0 -1
- package/types/components/Slider/ui/Handler/Handler.types.d.ts +0 -24
- package/types/components/Slider/ui/Handler/Handler.types.d.ts.map +0 -1
- package/types/components/Slider/ui/Thumb/Thumb.d.ts +0 -4
- package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +0 -1
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts +0 -5
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +0 -1
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +0 -12
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +0 -1
- package/types/components/Slider/ui/index.d.ts +0 -6
- package/types/components/Slider/ui/index.d.ts.map +0 -1
- package/types/components/Slider/utils/index.d.ts +0 -33
- package/types/components/Slider/utils/index.d.ts.map +0 -1
- package/types/components/Slider/variations/_disabled/base.d.ts +0 -2
- package/types/components/Slider/variations/_disabled/base.d.ts.map +0 -1
- package/types/components/Slider/variations/_size/base.d.ts +0 -2
- package/types/components/Slider/variations/_size/base.d.ts.map +0 -1
- package/types/components/Slider/variations/_view/base.d.ts +0 -2
- package/types/components/Slider/variations/_view/base.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts +0 -22
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +0 -21
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts +0 -22
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Slider/Slider.d.ts +0 -21
- package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +0 -1
- package/types/hooks/useIsomorphicLayoutEffect.d.ts +0 -6
- package/types/hooks/useIsomorphicLayoutEffect.d.ts.map +0 -1
- package/types/utils/canUseDOM.d.ts +0 -6
- package/types/utils/canUseDOM.d.ts.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, forwardRef, HTMLAttributes } from 'react';\n\nimport type { Calendar, DateObject } from '../Calendar.types';\nimport { getDateFromValue, getNextDate, getPrevDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation } from '../hooks';\nimport { CalendarDays, CalendarHeader } from '../ui';\nimport { RootProps } from '../../../engines/types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = HTMLAttributes<HTMLDivElement> & Calendar;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n ({ value: externalValue, min, max, eventList, disabledList, onChangeValue, ...rest }, outerRootRef) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n const [hoveredDay, setHoveredDay] = useState<DateObject | undefined>();\n\n const [date, setDate] = useState<DateObject>(getDateFromValue(value));\n const [prevValue, setPrevValue] = useState(value);\n const [doubleDate, setMonths] = useState(() => {\n const nextDate = getDateFromValue(firstValue);\n const [initialYear, initialMonth] = getNextDate(nextDate.year, nextDate.monthIndex);\n\n return {\n monthIndex: [nextDate.monthIndex, initialMonth],\n year: [nextDate.year, initialYear],\n };\n });\n\n const handleMonth = useCallback(\n (getDate: (currentYear: number, currentMonth: number) => number[]) => {\n const [newCurrentYear, newCurrentMonth] = getDate(doubleDate.year[0], doubleDate.monthIndex[0]);\n const [newNextYear, newNextMonth] = getDate(doubleDate.year[1], doubleDate.monthIndex[1]);\n\n setMonths({\n monthIndex: [newCurrentMonth, newNextMonth],\n year: [newCurrentYear, newNextYear],\n });\n },\n [doubleDate],\n );\n\n const handlePrev = useCallback(() => {\n handleMonth(getPrevDate);\n }, [handleMonth]);\n\n const handleNext = useCallback(() => {\n handleMonth(getNextDate);\n }, [handleMonth]);\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs] = useKeyNavigation({\n isDouble: true,\n size: [11, 6],\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const handleOnChangeDay = useCallback(\n (newDate: DateObject, coord: number[]) => {\n const newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newDay);\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes],\n );\n\n const firstDate = useMemo(\n () => ({\n day: date.day,\n year: doubleDate.year[0],\n monthIndex: doubleDate.monthIndex[0],\n }),\n [date, doubleDate],\n );\n\n const secondDate = useMemo(\n () => ({\n day: date.day,\n year: doubleDate.year[1],\n monthIndex: doubleDate.monthIndex[1],\n }),\n [date, doubleDate],\n );\n\n if (value && prevValue && isValueUpdate(value, prevValue)) {\n const newDate = getDateFromValue(value);\n\n const { year, monthIndex } = newDate;\n\n const {\n monthIndex: [, prevMonthIndex],\n year: [, prevYear],\n } = doubleDate;\n\n if (prevMonthIndex !== monthIndex || prevYear !== year) {\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n setDate(newDate);\n\n setMonths({\n monthIndex: [monthIndex, nextMonthIndex],\n year: [year, nextYear],\n });\n }\n\n setPrevValue(value);\n }\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n <CalendarHeader\n isDouble\n firstDate={firstDate}\n secondDate={secondDate}\n onPrev={handlePrev}\n onNext={handleNext}\n />\n\n <StyledWrapper>\n <CalendarDays\n isDouble\n eventList={eventList}\n disabledList={disabledList}\n min={min}\n max={max}\n value={externalValue}\n date={firstDate}\n hoveredDay={hoveredDay}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredDay}\n onSetSelected={onSelectIndexes}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n <StyledSeparator />\n <CalendarDays\n isDouble\n isSecond\n eventList={eventList}\n disabledList={disabledList}\n min={min}\n max={max}\n value={externalValue}\n date={secondDate}\n hoveredDay={hoveredDay}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredDay}\n onSetSelected={onSelectIndexes}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","eventList","disabledList","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredDay","setHoveredDay","_useState3","getDateFromValue","_useState4","date","setDate","_useState5","_useState6","prevValue","setPrevValue","_useState7","nextDate","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","initialYear","initialMonth","_useState8","doubleDate","setMonths","handleMonth","useCallback","getDate","_getDate","_getDate2","newCurrentYear","newCurrentMonth","_getDate3","_getDate4","newNextYear","newNextMonth","handlePrev","getPrevDate","handleNext","_useKeyNavigation","useKeyNavigation","isDouble","size","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","handleOnChangeDay","newDate","coord","newDay","Date","day","firstDate","secondDate","isValueUpdate","_doubleDate$monthInde","prevMonthIndex","_doubleDate$year","prevYear","_getNextDate3","_getNextDate4","nextYear","nextMonthIndex","React","createElement","_extends","ref","CalendarHeader","StyledWrapper","CalendarDays","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;AAaA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBAC9FC,UAAU,CACN,UAAAC,IAAA,EAAsFC,YAAY,EAAK;AAAA,IAAA,IAA7FC,aAAa,GAAAF,IAAA,CAApBG,KAAK;MAAiBC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;MAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;MAAEC,SAAS,GAAAN,IAAA,CAATM,SAAS;MAAEC,YAAY,GAAAP,IAAA,CAAZO,YAAY;MAAEC,aAAa,GAAAR,IAAA,CAAbQ,aAAa;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;IAC9E,IAAAC,QAAA,GAAkCC,OAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAACb,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAAc,SAAA,GAAAC,cAAA,CAAAL,QAAA,EAAA,CAAA,CAAA;AAHMM,MAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9B,IAAA,IAAMb,KAAK,GAAGgB,WAAW,IAAID,UAAU,CAAA;AACvC,IAAA,IAAAE,SAAA,GAAoCC,QAAQ,EAA0B;MAAAC,UAAA,GAAAL,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAA/DG,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAAG,UAAA,GAAwBJ,QAAQ,CAAaK,gBAAgB,CAACvB,KAAK,CAAC,CAAC;MAAAwB,UAAA,GAAAV,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA9DG,MAAAA,IAAI,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACpB,IAAA,IAAAG,UAAA,GAAkCT,QAAQ,CAAClB,KAAK,CAAC;MAAA4B,UAAA,GAAAd,cAAA,CAAAa,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAAgCb,QAAQ,CAAC,YAAM;AAC3C,QAAA,IAAMc,QAAQ,GAAGT,gBAAgB,CAACR,UAAU,CAAC,CAAA;QAC7C,IAAAkB,YAAA,GAAoCC,WAAW,CAACF,QAAQ,CAACG,IAAI,EAAEH,QAAQ,CAACI,UAAU,CAAC;UAAAC,aAAA,GAAAvB,cAAA,CAAAmB,YAAA,EAAA,CAAA,CAAA;AAA5EK,UAAAA,WAAW,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,YAAY,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;QAEhC,OAAO;AACHD,UAAAA,UAAU,EAAE,CAACJ,QAAQ,CAACI,UAAU,EAAEG,YAAY,CAAC;AAC/CJ,UAAAA,IAAI,EAAE,CAACH,QAAQ,CAACG,IAAI,EAAEG,WAAW,CAAA;SACpC,CAAA;AACL,OAAC,CAAC;MAAAE,UAAA,GAAA1B,cAAA,CAAAiB,UAAA,EAAA,CAAA,CAAA;AARKU,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAU5B,IAAA,IAAMG,WAAW,GAAGC,WAAW,CAC3B,UAACC,OAAgE,EAAK;AAClE,MAAA,IAAAC,QAAA,GAA0CD,OAAO,CAACJ,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC,EAAEM,UAAU,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;QAAAW,SAAA,GAAAjC,cAAA,CAAAgC,QAAA,EAAA,CAAA,CAAA;AAAxFE,QAAAA,cAAc,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,eAAe,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AACtC,MAAA,IAAAG,SAAA,GAAoCL,OAAO,CAACJ,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC,EAAEM,UAAU,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;QAAAe,SAAA,GAAArC,cAAA,CAAAoC,SAAA,EAAA,CAAA,CAAA;AAAlFE,QAAAA,WAAW,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,YAAY,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AAEhCT,MAAAA,SAAS,CAAC;AACNN,QAAAA,UAAU,EAAE,CAACa,eAAe,EAAEI,YAAY,CAAC;AAC3ClB,QAAAA,IAAI,EAAE,CAACa,cAAc,EAAEI,WAAW,CAAA;AACtC,OAAC,CAAC,CAAA;AACN,KAAC,EACD,CAACX,UAAU,CACf,CAAC,CAAA;AAED,IAAA,IAAMa,UAAU,GAAGV,WAAW,CAAC,YAAM;MACjCD,WAAW,CAACY,WAAW,CAAC,CAAA;AAC5B,KAAC,EAAE,CAACZ,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,IAAMa,UAAU,GAAGZ,WAAW,CAAC,YAAM;MACjCD,WAAW,CAACT,WAAW,CAAC,CAAA;AAC5B,KAAC,EAAE,CAACS,WAAW,CAAC,CAAC,CAAA;IAEjB,IAAAc,iBAAA,GAA+DC,gBAAgB,CAAC;AAC5EC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACbC,QAAAA,MAAM,EAAEL,UAAU;AAClBM,QAAAA,MAAM,EAAER,UAAAA;AACZ,OAAC,CAAC;MAAAS,kBAAA,GAAAjD,cAAA,CAAA2C,iBAAA,EAAA,CAAA,CAAA;AALKO,MAAAA,aAAa,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,kBAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,SAAS,GAAAJ,kBAAA,CAAA,CAAA,CAAA,CAAA;IAO3D,IAAMK,iBAAiB,GAAGxB,WAAW,CACjC,UAACyB,OAAmB,EAAEC,KAAe,EAAK;AACtC,MAAA,IAAMC,MAAM,GAAG,IAAIC,IAAI,CAACH,OAAO,CAAClC,IAAI,EAAEkC,OAAO,CAACjC,UAAU,EAAEiC,OAAO,CAACI,GAAG,CAAC,CAAA;AACtEpE,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAGkE,MAAM,CAAC,CAAA;MAEvBL,eAAe,CAACI,KAAK,CAAC,CAAA;AAC1B,KAAC,EACD,CAACjE,aAAa,EAAE6D,eAAe,CACnC,CAAC,CAAA;IAED,IAAMQ,SAAS,GAAGhE,OAAO,CACrB,YAAA;MAAA,OAAO;QACH+D,GAAG,EAAEhD,IAAI,CAACgD,GAAG;AACbtC,QAAAA,IAAI,EAAEM,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC;AACxBC,QAAAA,UAAU,EAAEK,UAAU,CAACL,UAAU,CAAC,CAAC,CAAA;OACtC,CAAA;AAAA,KAAC,EACF,CAACX,IAAI,EAAEgB,UAAU,CACrB,CAAC,CAAA;IAED,IAAMkC,UAAU,GAAGjE,OAAO,CACtB,YAAA;MAAA,OAAO;QACH+D,GAAG,EAAEhD,IAAI,CAACgD,GAAG;AACbtC,QAAAA,IAAI,EAAEM,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC;AACxBC,QAAAA,UAAU,EAAEK,UAAU,CAACL,UAAU,CAAC,CAAC,CAAA;OACtC,CAAA;AAAA,KAAC,EACF,CAACX,IAAI,EAAEgB,UAAU,CACrB,CAAC,CAAA;IAED,IAAIzC,KAAK,IAAI6B,SAAS,IAAI+C,aAAa,CAAC5E,KAAK,EAAE6B,SAAS,CAAC,EAAE;AACvD,MAAA,IAAMwC,OAAO,GAAG9C,gBAAgB,CAACvB,KAAK,CAAC,CAAA;AAEvC,MAAA,IAAQmC,IAAI,GAAiBkC,OAAO,CAA5BlC,IAAI;QAAEC,UAAU,GAAKiC,OAAO,CAAtBjC,UAAU,CAAA;AAExB,MAAA,IAAAyC,qBAAA,GAAA/D,cAAA,CAGI2B,UAAU,CAFVL,UAAU,EAAA,CAAA,CAAA;AAAK0C,QAAAA,cAAc,GAAAD,qBAAA,CAAA,CAAA,CAAA;AAAAE,QAAAA,gBAAA,GAAAjE,cAAA,CAE7B2B,UAAU,CADVN,IAAI,EAAA,CAAA,CAAA;AAAK6C,QAAAA,QAAQ,GAAAD,gBAAA,CAAA,CAAA,CAAA,CAAA;AAGrB,MAAA,IAAID,cAAc,KAAK1C,UAAU,IAAI4C,QAAQ,KAAK7C,IAAI,EAAE;AACpD,QAAA,IAAA8C,aAAA,GAAmC/C,WAAW,CAACC,IAAI,EAAEC,UAAU,CAAC;UAAA8C,aAAA,GAAApE,cAAA,CAAAmE,aAAA,EAAA,CAAA,CAAA;AAAzDE,UAAAA,QAAQ,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;QAE/BxD,OAAO,CAAC2C,OAAO,CAAC,CAAA;AAEhB3B,QAAAA,SAAS,CAAC;AACNN,UAAAA,UAAU,EAAE,CAACA,UAAU,EAAEgD,cAAc,CAAC;AACxCjD,UAAAA,IAAI,EAAE,CAACA,IAAI,EAAEgD,QAAQ,CAAA;AACzB,SAAC,CAAC,CAAA;AACN,OAAA;MAEArD,YAAY,CAAC9B,KAAK,CAAC,CAAA;AACvB,KAAA;AAEA,IAAA,oBACIqF,KAAA,CAAAC,aAAA,CAAC3F,IAAI,EAAA4F,QAAA,CAAA;AAACC,MAAAA,GAAG,EAAE1F,YAAa;MAAC,YAAW,EAAA,yDAAA;AAAY,KAAA,EAAKQ,IAAI,CACrD+E,eAAAA,KAAA,CAAAC,aAAA,CAACG,cAAc,EAAA;MACX9B,QAAQ,EAAA,IAAA;AACRe,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,UAAU,EAAEA,UAAW;AACvBb,MAAAA,MAAM,EAAER,UAAW;AACnBO,MAAAA,MAAM,EAAEL,UAAAA;AAAW,KACtB,CAAC,eAEF6B,KAAA,CAAAC,aAAA,CAACI,aAAa,EAAA,IAAA,eACVL,KAAA,CAAAC,aAAA,CAACK,YAAY,EAAA;MACThC,QAAQ,EAAA,IAAA;AACRxD,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BH,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTF,MAAAA,KAAK,EAAED,aAAc;AACrB0B,MAAAA,IAAI,EAAEiD,SAAU;AAChBtD,MAAAA,UAAU,EAAEA,UAAW;AACvB4C,MAAAA,aAAa,EAAEA,aAAc;AAC7B4B,MAAAA,WAAW,EAAExB,iBAAkB;AAC/ByB,MAAAA,UAAU,EAAExE,aAAc;AAC1ByE,MAAAA,aAAa,EAAE5B,eAAgB;AAC/BD,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CAAC,EAAA4B,gBAAA,KAAAA,gBAAA,gBACFV,KAAA,CAAAC,aAAA,CAACU,eAAe,MAAE,CAAC,CAAA,eACnBX,KAAA,CAAAC,aAAA,CAACK,YAAY,EAAA;MACThC,QAAQ,EAAA,IAAA;MACRsC,QAAQ,EAAA,IAAA;AACR9F,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BH,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTF,MAAAA,KAAK,EAAED,aAAc;AACrB0B,MAAAA,IAAI,EAAEkD,UAAW;AACjBvD,MAAAA,UAAU,EAAEA,UAAW;AACvB4C,MAAAA,aAAa,EAAEA,aAAc;AAC7B4B,MAAAA,WAAW,EAAExB,iBAAkB;AAC/ByB,MAAAA,UAAU,EAAExE,aAAc;AAC1ByE,MAAAA,aAAa,EAAE5B,eAAgB;AAC/BD,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;KACd,CACU,CACb,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAM+B,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE3G,kBAAkB;AAC1B4G,EAAAA,IAAI,EAAEC,cAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,IAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNH,IAAAA,IAAI,EAAE,SAAS;AACf7C,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
1
|
+
{"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, forwardRef, HTMLAttributes } from 'react';\n\nimport type { Calendar, DateObject } from '../Calendar.types';\nimport { getDateFromValue, getNextDate, getPrevDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation } from '../hooks';\nimport { CalendarDays, CalendarHeader } from '../ui';\nimport { RootProps } from '../../../engines/types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = HTMLAttributes<HTMLDivElement> & Calendar;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n { value: externalValue, min, max, includeEdgeDates, eventList, disabledList, onChangeValue, ...rest },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n const [hoveredDay, setHoveredDay] = useState<DateObject | undefined>();\n\n const [date, setDate] = useState<DateObject>(getDateFromValue(value));\n const [prevValue, setPrevValue] = useState(value);\n const [doubleDate, setMonths] = useState(() => {\n const nextDate = getDateFromValue(firstValue);\n const [initialYear, initialMonth] = getNextDate(nextDate.year, nextDate.monthIndex);\n\n return {\n monthIndex: [nextDate.monthIndex, initialMonth],\n year: [nextDate.year, initialYear],\n };\n });\n\n const handleMonth = useCallback(\n (getDate: (currentYear: number, currentMonth: number) => number[]) => {\n const [newCurrentYear, newCurrentMonth] = getDate(doubleDate.year[0], doubleDate.monthIndex[0]);\n const [newNextYear, newNextMonth] = getDate(doubleDate.year[1], doubleDate.monthIndex[1]);\n\n setMonths({\n monthIndex: [newCurrentMonth, newNextMonth],\n year: [newCurrentYear, newNextYear],\n });\n },\n [doubleDate],\n );\n\n const handlePrev = useCallback(() => {\n handleMonth(getPrevDate);\n }, [handleMonth]);\n\n const handleNext = useCallback(() => {\n handleMonth(getNextDate);\n }, [handleMonth]);\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs] = useKeyNavigation({\n isDouble: true,\n size: [11, 6],\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const handleOnChangeDay = useCallback(\n (newDate: DateObject, coord: number[]) => {\n const newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newDay);\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes],\n );\n\n const firstDate = useMemo(\n () => ({\n day: date.day,\n year: doubleDate.year[0],\n monthIndex: doubleDate.monthIndex[0],\n }),\n [date, doubleDate],\n );\n\n const secondDate = useMemo(\n () => ({\n day: date.day,\n year: doubleDate.year[1],\n monthIndex: doubleDate.monthIndex[1],\n }),\n [date, doubleDate],\n );\n\n if (value && prevValue && isValueUpdate(value, prevValue)) {\n const newDate = getDateFromValue(value);\n\n const { year, monthIndex } = newDate;\n\n const {\n monthIndex: [, prevMonthIndex],\n year: [, prevYear],\n } = doubleDate;\n\n if (prevMonthIndex !== monthIndex || prevYear !== year) {\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n setDate(newDate);\n\n setMonths({\n monthIndex: [monthIndex, nextMonthIndex],\n year: [year, nextYear],\n });\n }\n\n setPrevValue(value);\n }\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n <CalendarHeader\n isDouble\n firstDate={firstDate}\n secondDate={secondDate}\n onPrev={handlePrev}\n onNext={handleNext}\n />\n\n <StyledWrapper>\n <CalendarDays\n isDouble\n eventList={eventList}\n disabledList={disabledList}\n min={min}\n max={max}\n includeEdgeDates={includeEdgeDates}\n value={externalValue}\n date={firstDate}\n hoveredDay={hoveredDay}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredDay}\n onSetSelected={onSelectIndexes}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n <StyledSeparator />\n <CalendarDays\n isDouble\n isSecond\n eventList={eventList}\n disabledList={disabledList}\n min={min}\n max={max}\n includeEdgeDates={includeEdgeDates}\n value={externalValue}\n date={secondDate}\n hoveredDay={hoveredDay}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredDay}\n onSetSelected={onSelectIndexes}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","eventList","disabledList","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredDay","setHoveredDay","_useState3","getDateFromValue","_useState4","date","setDate","_useState5","_useState6","prevValue","setPrevValue","_useState7","nextDate","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","initialYear","initialMonth","_useState8","doubleDate","setMonths","handleMonth","useCallback","getDate","_getDate","_getDate2","newCurrentYear","newCurrentMonth","_getDate3","_getDate4","newNextYear","newNextMonth","handlePrev","getPrevDate","handleNext","_useKeyNavigation","useKeyNavigation","isDouble","size","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","handleOnChangeDay","newDate","coord","newDay","Date","day","firstDate","secondDate","isValueUpdate","_doubleDate$monthInde","prevMonthIndex","_doubleDate$year","prevYear","_getNextDate3","_getNextDate4","nextYear","nextMonthIndex","React","createElement","_extends","ref","CalendarHeader","StyledWrapper","CalendarDays","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;AAaA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBAC9FC,UAAU,CACN,UAAAC,IAAA,EAEIC,YAAY,EACX;AAAA,IAAA,IAFQC,aAAa,GAAAF,IAAA,CAApBG,KAAK;MAAiBC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;MAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;MAAEC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;MAAEC,SAAS,GAAAP,IAAA,CAATO,SAAS;MAAEC,YAAY,GAAAR,IAAA,CAAZQ,YAAY;MAAEC,aAAa,GAAAT,IAAA,CAAbS,aAAa;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;IAGnG,IAAAC,QAAA,GAAkCC,OAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAACd,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAAe,SAAA,GAAAC,cAAA,CAAAL,QAAA,EAAA,CAAA,CAAA;AAHMM,MAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9B,IAAA,IAAMd,KAAK,GAAGiB,WAAW,IAAID,UAAU,CAAA;AACvC,IAAA,IAAAE,SAAA,GAAoCC,QAAQ,EAA0B;MAAAC,UAAA,GAAAL,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAA/DG,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAAG,UAAA,GAAwBJ,QAAQ,CAAaK,gBAAgB,CAACxB,KAAK,CAAC,CAAC;MAAAyB,UAAA,GAAAV,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA9DG,MAAAA,IAAI,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACpB,IAAA,IAAAG,UAAA,GAAkCT,QAAQ,CAACnB,KAAK,CAAC;MAAA6B,UAAA,GAAAd,cAAA,CAAAa,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAAgCb,QAAQ,CAAC,YAAM;AAC3C,QAAA,IAAMc,QAAQ,GAAGT,gBAAgB,CAACR,UAAU,CAAC,CAAA;QAC7C,IAAAkB,YAAA,GAAoCC,WAAW,CAACF,QAAQ,CAACG,IAAI,EAAEH,QAAQ,CAACI,UAAU,CAAC;UAAAC,aAAA,GAAAvB,cAAA,CAAAmB,YAAA,EAAA,CAAA,CAAA;AAA5EK,UAAAA,WAAW,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,YAAY,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;QAEhC,OAAO;AACHD,UAAAA,UAAU,EAAE,CAACJ,QAAQ,CAACI,UAAU,EAAEG,YAAY,CAAC;AAC/CJ,UAAAA,IAAI,EAAE,CAACH,QAAQ,CAACG,IAAI,EAAEG,WAAW,CAAA;SACpC,CAAA;AACL,OAAC,CAAC;MAAAE,UAAA,GAAA1B,cAAA,CAAAiB,UAAA,EAAA,CAAA,CAAA;AARKU,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAU5B,IAAA,IAAMG,WAAW,GAAGC,WAAW,CAC3B,UAACC,OAAgE,EAAK;AAClE,MAAA,IAAAC,QAAA,GAA0CD,OAAO,CAACJ,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC,EAAEM,UAAU,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;QAAAW,SAAA,GAAAjC,cAAA,CAAAgC,QAAA,EAAA,CAAA,CAAA;AAAxFE,QAAAA,cAAc,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,eAAe,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AACtC,MAAA,IAAAG,SAAA,GAAoCL,OAAO,CAACJ,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC,EAAEM,UAAU,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;QAAAe,SAAA,GAAArC,cAAA,CAAAoC,SAAA,EAAA,CAAA,CAAA;AAAlFE,QAAAA,WAAW,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,YAAY,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AAEhCT,MAAAA,SAAS,CAAC;AACNN,QAAAA,UAAU,EAAE,CAACa,eAAe,EAAEI,YAAY,CAAC;AAC3ClB,QAAAA,IAAI,EAAE,CAACa,cAAc,EAAEI,WAAW,CAAA;AACtC,OAAC,CAAC,CAAA;AACN,KAAC,EACD,CAACX,UAAU,CACf,CAAC,CAAA;AAED,IAAA,IAAMa,UAAU,GAAGV,WAAW,CAAC,YAAM;MACjCD,WAAW,CAACY,WAAW,CAAC,CAAA;AAC5B,KAAC,EAAE,CAACZ,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,IAAMa,UAAU,GAAGZ,WAAW,CAAC,YAAM;MACjCD,WAAW,CAACT,WAAW,CAAC,CAAA;AAC5B,KAAC,EAAE,CAACS,WAAW,CAAC,CAAC,CAAA;IAEjB,IAAAc,iBAAA,GAA+DC,gBAAgB,CAAC;AAC5EC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACbC,QAAAA,MAAM,EAAEL,UAAU;AAClBM,QAAAA,MAAM,EAAER,UAAAA;AACZ,OAAC,CAAC;MAAAS,kBAAA,GAAAjD,cAAA,CAAA2C,iBAAA,EAAA,CAAA,CAAA;AALKO,MAAAA,aAAa,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,kBAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,SAAS,GAAAJ,kBAAA,CAAA,CAAA,CAAA,CAAA;IAO3D,IAAMK,iBAAiB,GAAGxB,WAAW,CACjC,UAACyB,OAAmB,EAAEC,KAAe,EAAK;AACtC,MAAA,IAAMC,MAAM,GAAG,IAAIC,IAAI,CAACH,OAAO,CAAClC,IAAI,EAAEkC,OAAO,CAACjC,UAAU,EAAEiC,OAAO,CAACI,GAAG,CAAC,CAAA;AACtEpE,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAGkE,MAAM,CAAC,CAAA;MAEvBL,eAAe,CAACI,KAAK,CAAC,CAAA;AAC1B,KAAC,EACD,CAACjE,aAAa,EAAE6D,eAAe,CACnC,CAAC,CAAA;IAED,IAAMQ,SAAS,GAAGhE,OAAO,CACrB,YAAA;MAAA,OAAO;QACH+D,GAAG,EAAEhD,IAAI,CAACgD,GAAG;AACbtC,QAAAA,IAAI,EAAEM,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC;AACxBC,QAAAA,UAAU,EAAEK,UAAU,CAACL,UAAU,CAAC,CAAC,CAAA;OACtC,CAAA;AAAA,KAAC,EACF,CAACX,IAAI,EAAEgB,UAAU,CACrB,CAAC,CAAA;IAED,IAAMkC,UAAU,GAAGjE,OAAO,CACtB,YAAA;MAAA,OAAO;QACH+D,GAAG,EAAEhD,IAAI,CAACgD,GAAG;AACbtC,QAAAA,IAAI,EAAEM,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC;AACxBC,QAAAA,UAAU,EAAEK,UAAU,CAACL,UAAU,CAAC,CAAC,CAAA;OACtC,CAAA;AAAA,KAAC,EACF,CAACX,IAAI,EAAEgB,UAAU,CACrB,CAAC,CAAA;IAED,IAAI1C,KAAK,IAAI8B,SAAS,IAAI+C,aAAa,CAAC7E,KAAK,EAAE8B,SAAS,CAAC,EAAE;AACvD,MAAA,IAAMwC,OAAO,GAAG9C,gBAAgB,CAACxB,KAAK,CAAC,CAAA;AAEvC,MAAA,IAAQoC,IAAI,GAAiBkC,OAAO,CAA5BlC,IAAI;QAAEC,UAAU,GAAKiC,OAAO,CAAtBjC,UAAU,CAAA;AAExB,MAAA,IAAAyC,qBAAA,GAAA/D,cAAA,CAGI2B,UAAU,CAFVL,UAAU,EAAA,CAAA,CAAA;AAAK0C,QAAAA,cAAc,GAAAD,qBAAA,CAAA,CAAA,CAAA;AAAAE,QAAAA,gBAAA,GAAAjE,cAAA,CAE7B2B,UAAU,CADVN,IAAI,EAAA,CAAA,CAAA;AAAK6C,QAAAA,QAAQ,GAAAD,gBAAA,CAAA,CAAA,CAAA,CAAA;AAGrB,MAAA,IAAID,cAAc,KAAK1C,UAAU,IAAI4C,QAAQ,KAAK7C,IAAI,EAAE;AACpD,QAAA,IAAA8C,aAAA,GAAmC/C,WAAW,CAACC,IAAI,EAAEC,UAAU,CAAC;UAAA8C,aAAA,GAAApE,cAAA,CAAAmE,aAAA,EAAA,CAAA,CAAA;AAAzDE,UAAAA,QAAQ,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;QAE/BxD,OAAO,CAAC2C,OAAO,CAAC,CAAA;AAEhB3B,QAAAA,SAAS,CAAC;AACNN,UAAAA,UAAU,EAAE,CAACA,UAAU,EAAEgD,cAAc,CAAC;AACxCjD,UAAAA,IAAI,EAAE,CAACA,IAAI,EAAEgD,QAAQ,CAAA;AACzB,SAAC,CAAC,CAAA;AACN,OAAA;MAEArD,YAAY,CAAC/B,KAAK,CAAC,CAAA;AACvB,KAAA;AAEA,IAAA,oBACIsF,KAAA,CAAAC,aAAA,CAAC5F,IAAI,EAAA6F,QAAA,CAAA;AAACC,MAAAA,GAAG,EAAE3F,YAAa;MAAC,YAAW,EAAA,yDAAA;AAAY,KAAA,EAAKS,IAAI,CACrD+E,eAAAA,KAAA,CAAAC,aAAA,CAACG,cAAc,EAAA;MACX9B,QAAQ,EAAA,IAAA;AACRe,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,UAAU,EAAEA,UAAW;AACvBb,MAAAA,MAAM,EAAER,UAAW;AACnBO,MAAAA,MAAM,EAAEL,UAAAA;AAAW,KACtB,CAAC,eAEF6B,KAAA,CAAAC,aAAA,CAACI,aAAa,EAAA,IAAA,eACVL,KAAA,CAAAC,aAAA,CAACK,YAAY,EAAA;MACThC,QAAQ,EAAA,IAAA;AACRxD,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCH,MAAAA,KAAK,EAAED,aAAc;AACrB2B,MAAAA,IAAI,EAAEiD,SAAU;AAChBtD,MAAAA,UAAU,EAAEA,UAAW;AACvB4C,MAAAA,aAAa,EAAEA,aAAc;AAC7B4B,MAAAA,WAAW,EAAExB,iBAAkB;AAC/ByB,MAAAA,UAAU,EAAExE,aAAc;AAC1ByE,MAAAA,aAAa,EAAE5B,eAAgB;AAC/BD,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CAAC,EAAA4B,gBAAA,KAAAA,gBAAA,gBACFV,KAAA,CAAAC,aAAA,CAACU,eAAe,MAAE,CAAC,CAAA,eACnBX,KAAA,CAAAC,aAAA,CAACK,YAAY,EAAA;MACThC,QAAQ,EAAA,IAAA;MACRsC,QAAQ,EAAA,IAAA;AACR9F,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCH,MAAAA,KAAK,EAAED,aAAc;AACrB2B,MAAAA,IAAI,EAAEkD,UAAW;AACjBvD,MAAAA,UAAU,EAAEA,UAAW;AACvB4C,MAAAA,aAAa,EAAEA,aAAc;AAC7B4B,MAAAA,WAAW,EAAExB,iBAAkB;AAC/ByB,MAAAA,UAAU,EAAExE,aAAc;AAC1ByE,MAAAA,aAAa,EAAE5B,eAAgB;AAC/BD,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;KACd,CACU,CACb,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAM+B,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE5G,kBAAkB;AAC1B6G,EAAAA,IAAI,EAAEC,cAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,IAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNH,IAAAA,IAAI,EAAE,SAAS;AACf7C,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
@@ -174,6 +174,7 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
|
|
174
174
|
var disabledList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
175
175
|
var min = arguments.length > 3 ? arguments[3] : undefined;
|
176
176
|
var max = arguments.length > 4 ? arguments[4] : undefined;
|
177
|
+
var includeEdgeDates = arguments.length > 5 ? arguments[5] : undefined;
|
177
178
|
var eventsMap = getPropsMap(eventList);
|
178
179
|
var disabledDaysMap = getPropsMap(disabledList);
|
179
180
|
var daysList = days.filter(function (_ref3) {
|
@@ -191,7 +192,9 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
|
|
191
192
|
day = date.day;
|
192
193
|
var keyDay = "".concat(year, "-").concat(monthIndex, "-").concat(day);
|
193
194
|
var currentDate = new Date(year, monthIndex, day);
|
194
|
-
var
|
195
|
+
var minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
|
196
|
+
var maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
|
197
|
+
var isOutOfMinMaxRange = minValue || maxValue;
|
195
198
|
dayItem.events = eventsMap.get(keyDay);
|
196
199
|
dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;
|
197
200
|
dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
|
@@ -204,7 +207,7 @@ var getDaysWithModifications = function getDaysWithModifications(days) {
|
|
204
207
|
/**
|
205
208
|
* Хук для получения списка дней.
|
206
209
|
*/
|
207
|
-
var useDays = function useDays(date, value, eventList, disabledList, min, max) {
|
210
|
+
var useDays = function useDays(date, value, eventList, disabledList, min, max, includeEdgeDates) {
|
208
211
|
return useMemo(function () {
|
209
212
|
var monthIndex = date.monthIndex,
|
210
213
|
year = date.year;
|
@@ -212,7 +215,7 @@ var useDays = function useDays(date, value, eventList, disabledList, min, max) {
|
|
212
215
|
var offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);
|
213
216
|
var days = [].concat(_toConsumableArray(getDaysInPrevMonth(date, offsetDayInWeek, value)), _toConsumableArray(getDaysInCurrentMonth(date, daysInMonth, value)), _toConsumableArray(getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value)));
|
214
217
|
if (eventList !== null && eventList !== void 0 && eventList.length || disabledList !== null && disabledList !== void 0 && disabledList.length || max || min) {
|
215
|
-
var modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max);
|
218
|
+
var modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max, includeEdgeDates);
|
216
219
|
return getMatrix(modifiedDays);
|
217
220
|
}
|
218
221
|
return getMatrix(days);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDays.js","sources":["../../../../src/components/Calendar/hooks/useDays.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n getDateFromValue,\n getDaysInMonth,\n getMatrix,\n getNextDate,\n getOffsetDayInWeek,\n getPrevDate,\n IsCurrentDay,\n isDayInRange,\n isSelectedDay,\n} from '../utils';\nimport type { CalendarValueType, DateItem, DateObject, DisabledDay, EventDay } from '../Calendar.types';\n\n/**\n * Метод возвращающий массив дней в предыдущем месяце.\n */\nconst getDaysInPrevMonth = (date: DateObject, offsetDayInWeek: number, value: CalendarValueType) => {\n const [prevYear, prevMonth] = getPrevDate(date.year, date.monthIndex);\n const daysInPrevMonth = getDaysInMonth(prevMonth, prevYear);\n\n return Array.from(Array(offsetDayInWeek), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value)\n ? isDayInRange(prevYear, prevMonth, daysInPrevMonth - (offsetDayInWeek - i) + 1, value)\n : false,\n date: {\n day: daysInPrevMonth - (offsetDayInWeek - i) + 1,\n monthIndex: prevMonth,\n year: prevYear,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в текущем месяце.\n */\nconst getDaysInCurrentMonth = (date: DateObject, daysInMonth: number, value: CalendarValueType) => {\n return Array.from(Array(daysInMonth), (_, i) => ({\n isCurrent: IsCurrentDay(date, i + 1),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedDay(date, i + 1, v)))\n : isSelectedDay(date, i + 1, value),\n isDayInCurrentMonth: true,\n inRange: Array.isArray(value) ? isDayInRange(date.year, date.monthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: date.monthIndex,\n year: date.year,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в следующем месяце.\n */\nconst getDaysInNextMonth = (\n date: DateObject,\n daysInMonth: number,\n offsetDayInWeek: number,\n value: CalendarValueType,\n) => {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n const visibleDayCount = 42;\n const restDaysInCalendar = visibleDayCount - (daysInMonth + offsetDayInWeek);\n\n return Array.from(Array(restDaysInCalendar), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value) ? isDayInRange(nextYear, nextMonthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n }));\n};\n\nconst isDisabledArrowLeft = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n return (min && min >= currentDate) || (min && min >= date);\n};\n\nconst isDisabledArrowRight = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n return (max && max <= currentDate) || (max && max <= date);\n};\n\nconst isDisabledArrowUp = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() - 7);\n\n return min && min >= currentDate;\n};\n\nconst isDisabledArrowDown = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() + 7);\n\n return max && max <= currentDate;\n};\n\nconst isDisabledNextMonth = ({ year, monthIndex, day }: DateObject, max?: Date) => {\n if (!max) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n let isOut = true;\n\n while (isOut && currentDate <= max) {\n isOut = max <= currentDate;\n\n currentDate.setDate(currentDate.getDate() + 1);\n }\n\n return isOut;\n};\n\nconst isDisabledPreviousMonth = ({ year, monthIndex, day }: DateObject, min?: Date) => {\n if (!min) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n let isOut = true;\n\n while (isOut && currentDate >= min) {\n isOut = min >= currentDate;\n\n currentDate.setDate(currentDate.getDate() - 1);\n }\n\n return isOut;\n};\n\nconst getDisabledArrowKey = (currentDate: Date, min?: Date, max?: Date) => {\n const disabledArrowKey = [];\n\n if (isDisabledArrowLeft(currentDate, min)) {\n disabledArrowKey.push('left');\n }\n\n if (isDisabledArrowRight(currentDate, max)) {\n disabledArrowKey.push('right');\n }\n\n if (isDisabledArrowDown(currentDate, max)) {\n disabledArrowKey.push('down');\n }\n\n if (isDisabledArrowUp(currentDate, min)) {\n disabledArrowKey.push('up');\n }\n\n return disabledArrowKey.join(',');\n};\n\nconst getDisabledMonths = (list: DateObject[], min?: Date, max?: Date) => {\n const disabledMonth = [];\n\n if (isDisabledPreviousMonth(list[0], min)) {\n disabledMonth.push('previous');\n }\n\n if (isDisabledNextMonth(list[list.length - 1], max)) {\n disabledMonth.push('next');\n }\n\n return disabledMonth.join(',');\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nconst getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод модифицирующий дни (добавляющий свойства events и disabled).\n */\nconst getDaysWithModifications = (\n days: DateItem[],\n eventList: EventDay[] = [],\n disabledList: DisabledDay[] = [],\n min?: Date,\n max?: Date,\n) => {\n const eventsMap = getPropsMap(eventList);\n const disabledDaysMap = getPropsMap(disabledList);\n\n const daysList = days.filter(({ isDayInCurrentMonth }) => isDayInCurrentMonth).map(({ date }) => date);\n\n const disabledMonths = getDisabledMonths(daysList, min, max);\n\n return days.map((dayItem) => {\n const { date } = dayItem;\n const { year, monthIndex, day } = date;\n\n const keyDay = `${year}-${monthIndex}-${day}`;\n const currentDate = new Date(year, monthIndex, day);\n\n const isOutOfMinMaxRange = (min && min >= currentDate) || (max && max <= currentDate);\n\n dayItem.events = eventsMap.get(keyDay);\n dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;\n\n dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;\n dayItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);\n dayItem.disabledMonths = disabledMonths;\n\n return dayItem;\n });\n};\n\n/**\n * Хук для получения списка дней.\n */\nexport const useDays = (\n date: DateObject,\n value: CalendarValueType,\n eventList?: EventDay[],\n disabledList?: DisabledDay[],\n min?: Date,\n max?: Date,\n) =>\n useMemo(() => {\n const { monthIndex, year } = date;\n const daysInMonth = getDaysInMonth(monthIndex, year);\n const offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);\n\n const days = [\n ...getDaysInPrevMonth(date, offsetDayInWeek, value),\n ...getDaysInCurrentMonth(date, daysInMonth, value),\n ...getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value),\n ];\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max);\n return getMatrix<DateItem>(modifiedDays);\n }\n\n return getMatrix<DateItem>(days);\n }, [date, value, eventList, disabledList, max, min]);\n"],"names":["getDaysInPrevMonth","date","offsetDayInWeek","value","_getPrevDate","getPrevDate","year","monthIndex","_getPrevDate2","_slicedToArray","prevYear","prevMonth","daysInPrevMonth","getDaysInMonth","Array","from","_","i","isCurrent","isSelected","isDayInCurrentMonth","inRange","isArray","isDayInRange","day","getDaysInCurrentMonth","daysInMonth","IsCurrentDay","Boolean","find","v","isSelectedDay","getDaysInNextMonth","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","visibleDayCount","restDaysInCalendar","isDisabledArrowLeft","min","currentDate","Date","setDate","getDate","isDisabledArrowRight","max","isDisabledArrowUp","isDisabledArrowDown","isDisabledNextMonth","_ref","isOut","isDisabledPreviousMonth","_ref2","getDisabledArrowKey","disabledArrowKey","push","join","getDisabledMonths","list","disabledMonth","length","getPropsMap","props","reduce","acc","prop","_getDateFromValue","getDateFromValue","key","concat","propList","get","set","Map","getDaysWithModifications","days","eventList","arguments","undefined","disabledList","eventsMap","disabledDaysMap","daysList","filter","_ref3","map","_ref4","disabledMonths","dayItem","keyDay","isOutOfMinMaxRange","events","disabled","has","useDays","useMemo","getOffsetDayInWeek","_toConsumableArray","modifiedDays","getMatrix"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useDays.js","sources":["../../../../src/components/Calendar/hooks/useDays.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n getDateFromValue,\n getDaysInMonth,\n getMatrix,\n getNextDate,\n getOffsetDayInWeek,\n getPrevDate,\n IsCurrentDay,\n isDayInRange,\n isSelectedDay,\n} from '../utils';\nimport type { CalendarValueType, DateItem, DateObject, DisabledDay, EventDay } from '../Calendar.types';\n\n/**\n * Метод возвращающий массив дней в предыдущем месяце.\n */\nconst getDaysInPrevMonth = (date: DateObject, offsetDayInWeek: number, value: CalendarValueType) => {\n const [prevYear, prevMonth] = getPrevDate(date.year, date.monthIndex);\n const daysInPrevMonth = getDaysInMonth(prevMonth, prevYear);\n\n return Array.from(Array(offsetDayInWeek), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value)\n ? isDayInRange(prevYear, prevMonth, daysInPrevMonth - (offsetDayInWeek - i) + 1, value)\n : false,\n date: {\n day: daysInPrevMonth - (offsetDayInWeek - i) + 1,\n monthIndex: prevMonth,\n year: prevYear,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в текущем месяце.\n */\nconst getDaysInCurrentMonth = (date: DateObject, daysInMonth: number, value: CalendarValueType) => {\n return Array.from(Array(daysInMonth), (_, i) => ({\n isCurrent: IsCurrentDay(date, i + 1),\n isSelected: Array.isArray(value)\n ? Boolean(value.find((v) => isSelectedDay(date, i + 1, v)))\n : isSelectedDay(date, i + 1, value),\n isDayInCurrentMonth: true,\n inRange: Array.isArray(value) ? isDayInRange(date.year, date.monthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: date.monthIndex,\n year: date.year,\n },\n }));\n};\n\n/**\n * Метод возвращающий массив дней в следующем месяце.\n */\nconst getDaysInNextMonth = (\n date: DateObject,\n daysInMonth: number,\n offsetDayInWeek: number,\n value: CalendarValueType,\n) => {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n const visibleDayCount = 42;\n const restDaysInCalendar = visibleDayCount - (daysInMonth + offsetDayInWeek);\n\n return Array.from(Array(restDaysInCalendar), (_, i) => ({\n isCurrent: false,\n isSelected: false,\n isDayInCurrentMonth: false,\n inRange: Array.isArray(value) ? isDayInRange(nextYear, nextMonthIndex, i + 1, value) : false,\n date: {\n day: i + 1,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n }));\n};\n\nconst isDisabledArrowLeft = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n return (min && min >= currentDate) || (min && min >= date);\n};\n\nconst isDisabledArrowRight = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n return (max && max <= currentDate) || (max && max <= date);\n};\n\nconst isDisabledArrowUp = (date: Date, min?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() - 7);\n\n return min && min >= currentDate;\n};\n\nconst isDisabledArrowDown = (date: Date, max?: Date) => {\n const currentDate = new Date(date);\n\n currentDate.setDate(date.getDate() + 7);\n\n return max && max <= currentDate;\n};\n\nconst isDisabledNextMonth = ({ year, monthIndex, day }: DateObject, max?: Date) => {\n if (!max) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() + 1);\n\n let isOut = true;\n\n while (isOut && currentDate <= max) {\n isOut = max <= currentDate;\n\n currentDate.setDate(currentDate.getDate() + 1);\n }\n\n return isOut;\n};\n\nconst isDisabledPreviousMonth = ({ year, monthIndex, day }: DateObject, min?: Date) => {\n if (!min) {\n return false;\n }\n\n const currentDate = new Date(year, monthIndex, day);\n\n currentDate.setDate(currentDate.getDate() - 1);\n\n let isOut = true;\n\n while (isOut && currentDate >= min) {\n isOut = min >= currentDate;\n\n currentDate.setDate(currentDate.getDate() - 1);\n }\n\n return isOut;\n};\n\nconst getDisabledArrowKey = (currentDate: Date, min?: Date, max?: Date) => {\n const disabledArrowKey = [];\n\n if (isDisabledArrowLeft(currentDate, min)) {\n disabledArrowKey.push('left');\n }\n\n if (isDisabledArrowRight(currentDate, max)) {\n disabledArrowKey.push('right');\n }\n\n if (isDisabledArrowDown(currentDate, max)) {\n disabledArrowKey.push('down');\n }\n\n if (isDisabledArrowUp(currentDate, min)) {\n disabledArrowKey.push('up');\n }\n\n return disabledArrowKey.join(',');\n};\n\nconst getDisabledMonths = (list: DateObject[], min?: Date, max?: Date) => {\n const disabledMonth = [];\n\n if (isDisabledPreviousMonth(list[0], min)) {\n disabledMonth.push('previous');\n }\n\n if (isDisabledNextMonth(list[list.length - 1], max)) {\n disabledMonth.push('next');\n }\n\n return disabledMonth.join(',');\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nconst getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод модифицирующий дни (добавляющий свойства events и disabled).\n */\nconst getDaysWithModifications = (\n days: DateItem[],\n eventList: EventDay[] = [],\n disabledList: DisabledDay[] = [],\n min?: Date,\n max?: Date,\n includeEdgeDates?: boolean,\n) => {\n const eventsMap = getPropsMap(eventList);\n const disabledDaysMap = getPropsMap(disabledList);\n\n const daysList = days.filter(({ isDayInCurrentMonth }) => isDayInCurrentMonth).map(({ date }) => date);\n\n const disabledMonths = getDisabledMonths(daysList, min, max);\n\n return days.map((dayItem) => {\n const { date } = dayItem;\n const { year, monthIndex, day } = date;\n\n const keyDay = `${year}-${monthIndex}-${day}`;\n const currentDate = new Date(year, monthIndex, day);\n\n const minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);\n const maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);\n const isOutOfMinMaxRange = minValue || maxValue;\n\n dayItem.events = eventsMap.get(keyDay);\n dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;\n\n dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;\n dayItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);\n dayItem.disabledMonths = disabledMonths;\n\n return dayItem;\n });\n};\n\n/**\n * Хук для получения списка дней.\n */\nexport const useDays = (\n date: DateObject,\n value: CalendarValueType,\n eventList?: EventDay[],\n disabledList?: DisabledDay[],\n min?: Date,\n max?: Date,\n includeEdgeDates?: boolean,\n) =>\n useMemo(() => {\n const { monthIndex, year } = date;\n const daysInMonth = getDaysInMonth(monthIndex, year);\n const offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);\n\n const days = [\n ...getDaysInPrevMonth(date, offsetDayInWeek, value),\n ...getDaysInCurrentMonth(date, daysInMonth, value),\n ...getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value),\n ];\n\n if (eventList?.length || disabledList?.length || max || min) {\n const modifiedDays = getDaysWithModifications(days, eventList, disabledList, min, max, includeEdgeDates);\n return getMatrix<DateItem>(modifiedDays);\n }\n\n return getMatrix<DateItem>(days);\n }, [date, value, eventList, disabledList, max, min]);\n"],"names":["getDaysInPrevMonth","date","offsetDayInWeek","value","_getPrevDate","getPrevDate","year","monthIndex","_getPrevDate2","_slicedToArray","prevYear","prevMonth","daysInPrevMonth","getDaysInMonth","Array","from","_","i","isCurrent","isSelected","isDayInCurrentMonth","inRange","isArray","isDayInRange","day","getDaysInCurrentMonth","daysInMonth","IsCurrentDay","Boolean","find","v","isSelectedDay","getDaysInNextMonth","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","visibleDayCount","restDaysInCalendar","isDisabledArrowLeft","min","currentDate","Date","setDate","getDate","isDisabledArrowRight","max","isDisabledArrowUp","isDisabledArrowDown","isDisabledNextMonth","_ref","isOut","isDisabledPreviousMonth","_ref2","getDisabledArrowKey","disabledArrowKey","push","join","getDisabledMonths","list","disabledMonth","length","getPropsMap","props","reduce","acc","prop","_getDateFromValue","getDateFromValue","key","concat","propList","get","set","Map","getDaysWithModifications","days","eventList","arguments","undefined","disabledList","includeEdgeDates","eventsMap","disabledDaysMap","daysList","filter","_ref3","map","_ref4","disabledMonths","dayItem","keyDay","minValue","maxValue","isOutOfMinMaxRange","events","disabled","has","useDays","useMemo","getOffsetDayInWeek","_toConsumableArray","modifiedDays","getMatrix"],"mappings":"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"}
|
@@ -16,6 +16,7 @@ var CalendarDays = function CalendarDays(_ref) {
|
|
16
16
|
disabledList = _ref.disabledList,
|
17
17
|
min = _ref.min,
|
18
18
|
max = _ref.max,
|
19
|
+
includeEdgeDates = _ref.includeEdgeDates,
|
19
20
|
hoveredDay = _ref.hoveredDay,
|
20
21
|
selectIndexes = _ref.selectIndexes,
|
21
22
|
isDouble = _ref.isDouble,
|
@@ -25,7 +26,7 @@ var CalendarDays = function CalendarDays(_ref) {
|
|
25
26
|
onHoverDay = _ref.onHoverDay,
|
26
27
|
onSetSelected = _ref.onSetSelected,
|
27
28
|
onKeyDown = _ref.onKeyDown;
|
28
|
-
var _useDays = useDays(currentDate, value, eventList, disabledList, min, max),
|
29
|
+
var _useDays = useDays(currentDate, value, eventList, disabledList, min, max, includeEdgeDates),
|
29
30
|
_useDays2 = _slicedToArray(_useDays, 2),
|
30
31
|
days = _useDays2[0],
|
31
32
|
selected = _useDays2[1];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { CalendarDayItem } from '../CalendarDayItem/CalendarDayItem';\nimport { DateItem } from '../../Calendar.types';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n}) => {\n const [days, selected] = useDays(currentDate, value, eventList, disabledList, min, max);\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleOnFocusDay = useCallback(() => {\n // заглушка будет убрана при реализации доступности\n }, []);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES.map((name) => (\n <CalendarDayItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[name]}\n key={name}\n dayOfWeek\n day={name}\n />\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledMonths,\n },\n j,\n ) => (\n <CalendarDayItem\n ref={(element: HTMLDivElement) => getRefs(element, isDayInCurrentMonth, i, j)}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n onFocus={handleOnFocusDay}\n key={`StyledDay-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledMonths}\n />\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleOnFocusDay","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","CalendarDayItem","FULL_DAY_NAMES","key","dayOfWeek","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledMonths","ref","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","onFocus","concat"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { CalendarDayItem } from '../CalendarDayItem/CalendarDayItem';\nimport { DateItem } from '../../Calendar.types';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n}) => {\n const [days, selected] = useDays(currentDate, value, eventList, disabledList, min, max, includeEdgeDates);\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleOnFocusDay = useCallback(() => {\n // заглушка будет убрана при реализации доступности\n }, []);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES.map((name) => (\n <CalendarDayItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[name]}\n key={name}\n dayOfWeek\n day={name}\n />\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledMonths,\n },\n j,\n ) => (\n <CalendarDayItem\n ref={(element: HTMLDivElement) => getRefs(element, isDayInCurrentMonth, i, j)}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n onFocus={handleOnFocusDay}\n key={`StyledDay-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledMonths}\n />\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleOnFocusDay","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","CalendarDayItem","FULL_DAY_NAMES","key","dayOfWeek","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledMonths","ref","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","onFocus","concat"],"mappings":"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"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { useEffect } from 'react';
|
2
2
|
import { usePreviousValue } from '../../../hooks/usePreviousValue.js';
|
3
3
|
import { useDidMountEffect } from '../../../hooks/useDidMountEffect.js';
|
4
|
-
import '../../../utils/react.js';
|
5
4
|
|
6
5
|
var useFocusController = function useFocusController(_ref) {
|
7
6
|
var _ref$controlledRefs = _ref.controlledRefs,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFocusController.js","sources":["../../../../src/components/Combobox/hooks/useFocusController.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { useDidMountEffect, usePreviousValue } from '../../../hooks';\nimport type { UseFocusControllerProps } from '../Combobox.types';\n\nexport const useFocusController = ({\n controlledRefs: { contentRef, inputHelperRef, inputRef },\n opened,\n hasValue,\n textContent,\n search,\n values,\n readOnly,\n valueType,\n closedWithoutChanges,\n updateSearch,\n updateFocused,\n onChipClick,\n}: UseFocusControllerProps) => {\n const prevSearch = usePreviousValue(search);\n const prevValues = usePreviousValue(values);\n const prevOpened = usePreviousValue(opened);\n\n useDidMountEffect(() => {\n if (!opened) {\n updateFocused(false);\n contentRef.current?.scrollTo({ left: 0 });\n }\n\n const hasFocusAfterClose = prevOpened !== undefined && !opened && !closedWithoutChanges?.current;\n\n if (opened || hasFocusAfterClose) {\n inputRef.current?.focus();\n }\n\n // INFO: Помогает определить, произошло ли закрытие выпадающего меню при выборе значения.\n // Нужно для того, чтобы не фокусироваться на инпуте\n // ОЧЕНЬ не нравится это решение, но оно работает\n if (closedWithoutChanges?.current === false) {\n closedWithoutChanges.current = true;\n }\n }, [opened]);\n\n useDidMountEffect(() => {\n const prevValuesCount = prevValues?.length || 0;\n const valuesCount = values?.length || 0;\n\n if ((opened || prevOpened) && prevValuesCount < valuesCount) {\n inputRef.current?.focus();\n }\n }, [values, readOnly]);\n\n useDidMountEffect(() => {\n if (!inputRef.current) {\n return;\n }\n\n // INFO: Для multiple\n if (search === '') {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для single\n if (!opened && prevSearch !== search) {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для кейсов, когда значение вырезано\n if (!inputRef.current.value.length) {\n inputRef.current.style.flex = '1';\n return;\n }\n\n if (valueType === 'multiple' && inputHelperRef.current) {\n const { clientWidth } = inputHelperRef.current;\n inputRef.current.style.flex = `1 0 ${clientWidth}px`;\n }\n }, [readOnly, search, valueType]);\n\n useEffect(() => {\n const newSearch = hasValue ? textContent : '';\n\n // INFO: Заполнить поле input при первой инициализации\n if (prevOpened !== undefined && opened) {\n return;\n }\n\n if (valueType === 'single') {\n updateSearch?.(newSearch, false);\n }\n\n if (valueType === 'multiple') {\n updateSearch?.('', false);\n }\n }, [updateSearch, values, opened, hasValue, textContent, valueType]);\n\n const onClickText = (event: React.MouseEvent<HTMLButtonElement>) => {\n onChipClick?.(event);\n inputRef.current?.focus();\n };\n\n const onFocusInput = () => {\n if (readOnly) {\n return;\n }\n\n // INFO: Жёсткий хак, нужный для корректного выделения всей строки после выбора значения.\n // Проблема возникает из-за очередности срабатывания useEffect, который сначала вызывает фокус\n // на элемент, а потом обновляет состояние inputRef\n if (valueType === 'single') {\n setTimeout(() => {\n inputRef.current?.select();\n });\n }\n\n contentRef.current?.scrollTo({ left: contentRef.current?.scrollWidth });\n\n updateFocused(true);\n };\n\n const onBlurInput = () => {\n if (!opened) {\n updateFocused(false);\n }\n };\n\n return { onClickText, onFocusInput, onBlurInput } as const;\n};\n"],"names":["useFocusController","_ref","_ref$controlledRefs","controlledRefs","contentRef","inputHelperRef","inputRef","opened","hasValue","textContent","search","values","readOnly","valueType","closedWithoutChanges","updateSearch","updateFocused","onChipClick","prevSearch","usePreviousValue","prevValues","prevOpened","useDidMountEffect","_contentRef$current","current","scrollTo","left","hasFocusAfterClose","undefined","_inputRef$current","focus","prevValuesCount","length","valuesCount","_inputRef$current2","style","flex","value","clientWidth","concat","useEffect","newSearch","onClickText","event","_inputRef$current3","onFocusInput","_contentRef$current2","_contentRef$current3","setTimeout","_inputRef$current4","select","scrollWidth","onBlurInput"],"mappings":"
|
1
|
+
{"version":3,"file":"useFocusController.js","sources":["../../../../src/components/Combobox/hooks/useFocusController.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { useDidMountEffect, usePreviousValue } from '../../../hooks';\nimport type { UseFocusControllerProps } from '../Combobox.types';\n\nexport const useFocusController = ({\n controlledRefs: { contentRef, inputHelperRef, inputRef },\n opened,\n hasValue,\n textContent,\n search,\n values,\n readOnly,\n valueType,\n closedWithoutChanges,\n updateSearch,\n updateFocused,\n onChipClick,\n}: UseFocusControllerProps) => {\n const prevSearch = usePreviousValue(search);\n const prevValues = usePreviousValue(values);\n const prevOpened = usePreviousValue(opened);\n\n useDidMountEffect(() => {\n if (!opened) {\n updateFocused(false);\n contentRef.current?.scrollTo({ left: 0 });\n }\n\n const hasFocusAfterClose = prevOpened !== undefined && !opened && !closedWithoutChanges?.current;\n\n if (opened || hasFocusAfterClose) {\n inputRef.current?.focus();\n }\n\n // INFO: Помогает определить, произошло ли закрытие выпадающего меню при выборе значения.\n // Нужно для того, чтобы не фокусироваться на инпуте\n // ОЧЕНЬ не нравится это решение, но оно работает\n if (closedWithoutChanges?.current === false) {\n closedWithoutChanges.current = true;\n }\n }, [opened]);\n\n useDidMountEffect(() => {\n const prevValuesCount = prevValues?.length || 0;\n const valuesCount = values?.length || 0;\n\n if ((opened || prevOpened) && prevValuesCount < valuesCount) {\n inputRef.current?.focus();\n }\n }, [values, readOnly]);\n\n useDidMountEffect(() => {\n if (!inputRef.current) {\n return;\n }\n\n // INFO: Для multiple\n if (search === '') {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для single\n if (!opened && prevSearch !== search) {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для кейсов, когда значение вырезано\n if (!inputRef.current.value.length) {\n inputRef.current.style.flex = '1';\n return;\n }\n\n if (valueType === 'multiple' && inputHelperRef.current) {\n const { clientWidth } = inputHelperRef.current;\n inputRef.current.style.flex = `1 0 ${clientWidth}px`;\n }\n }, [readOnly, search, valueType]);\n\n useEffect(() => {\n const newSearch = hasValue ? textContent : '';\n\n // INFO: Заполнить поле input при первой инициализации\n if (prevOpened !== undefined && opened) {\n return;\n }\n\n if (valueType === 'single') {\n updateSearch?.(newSearch, false);\n }\n\n if (valueType === 'multiple') {\n updateSearch?.('', false);\n }\n }, [updateSearch, values, opened, hasValue, textContent, valueType]);\n\n const onClickText = (event: React.MouseEvent<HTMLButtonElement>) => {\n onChipClick?.(event);\n inputRef.current?.focus();\n };\n\n const onFocusInput = () => {\n if (readOnly) {\n return;\n }\n\n // INFO: Жёсткий хак, нужный для корректного выделения всей строки после выбора значения.\n // Проблема возникает из-за очередности срабатывания useEffect, который сначала вызывает фокус\n // на элемент, а потом обновляет состояние inputRef\n if (valueType === 'single') {\n setTimeout(() => {\n inputRef.current?.select();\n });\n }\n\n contentRef.current?.scrollTo({ left: contentRef.current?.scrollWidth });\n\n updateFocused(true);\n };\n\n const onBlurInput = () => {\n if (!opened) {\n updateFocused(false);\n }\n };\n\n return { onClickText, onFocusInput, onBlurInput } as const;\n};\n"],"names":["useFocusController","_ref","_ref$controlledRefs","controlledRefs","contentRef","inputHelperRef","inputRef","opened","hasValue","textContent","search","values","readOnly","valueType","closedWithoutChanges","updateSearch","updateFocused","onChipClick","prevSearch","usePreviousValue","prevValues","prevOpened","useDidMountEffect","_contentRef$current","current","scrollTo","left","hasFocusAfterClose","undefined","_inputRef$current","focus","prevValuesCount","length","valuesCount","_inputRef$current2","style","flex","value","clientWidth","concat","useEffect","newSearch","onClickText","event","_inputRef$current3","onFocusInput","_contentRef$current2","_contentRef$current3","setTimeout","_inputRef$current4","select","scrollWidth","onBlurInput"],"mappings":"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"}
|
@@ -13,13 +13,11 @@ import { classes } from './TextField.tokens.js';
|
|
13
13
|
import { TextFieldChip } from './ui/TextFieldChip/TextFieldChip.js';
|
14
14
|
import { useKeyNavigation } from './hooks/useKeyNavigation.js';
|
15
15
|
|
16
|
-
var _excluded = ["id", "
|
16
|
+
var _excluded = ["id", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch"];
|
17
17
|
var base = "bpunezx";
|
18
18
|
var textFieldRoot = function textFieldRoot(Root) {
|
19
19
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
20
20
|
var id = _ref.id,
|
21
|
-
className = _ref.className,
|
22
|
-
style = _ref.style,
|
23
21
|
contentLeft = _ref.contentLeft,
|
24
22
|
contentRight = _ref.contentRight,
|
25
23
|
label = _ref.label,
|
@@ -38,7 +36,6 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
38
36
|
onChange = _ref.onChange,
|
39
37
|
onChangeChips = _ref.onChangeChips,
|
40
38
|
onSearch = _ref.onSearch,
|
41
|
-
onKeyDown = _ref.onKeyDown,
|
42
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
43
40
|
var contentRef = useRef(null);
|
44
41
|
var inputRef = useRef(null);
|
@@ -118,10 +115,6 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
118
115
|
chipsRefs.current[index] = element;
|
119
116
|
}
|
120
117
|
};
|
121
|
-
var handleOnKeyDown = function handleOnKeyDown(event) {
|
122
|
-
handleInputKeydown(event);
|
123
|
-
onKeyDown && onKeyDown(event);
|
124
|
-
};
|
125
118
|
useEffect(function () {
|
126
119
|
if (!isChipEnumeration && !(values !== null && values !== void 0 && values.length)) {
|
127
120
|
return;
|
@@ -140,9 +133,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
140
133
|
disabled: disabled,
|
141
134
|
readOnly: !disabled && readOnly,
|
142
135
|
labelPlacement: innerLabelPlacementValue,
|
143
|
-
onClick: handleInputFocus
|
144
|
-
className: className,
|
145
|
-
style: style
|
136
|
+
onClick: handleInputFocus
|
146
137
|
}, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
|
147
138
|
id: labelId,
|
148
139
|
htmlFor: id
|
@@ -183,7 +174,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
183
174
|
disabled: disabled,
|
184
175
|
readOnly: !disabled && readOnly,
|
185
176
|
onChange: handleChange,
|
186
|
-
onKeyDown:
|
177
|
+
onKeyDown: handleInputKeydown
|
187
178
|
})), labelInside && /*#__PURE__*/React.createElement(Label, {
|
188
179
|
id: labelId,
|
189
180
|
htmlFor: innerId
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler, KeyboardEvent, ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n onKeyDown && onKeyDown(event);\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={className}\n style={style}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","handleOnKeyDown","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","cx","StyledContentLeft","InputLabelWrapper","tabIndex","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
|
package/es/engines/common.js
CHANGED
@@ -2,10 +2,6 @@ import { objectSpread2 as _objectSpread2, extends as _extends, toConsumableArray
|
|
2
2
|
import React from 'react';
|
3
3
|
import { _component } from './linaria.js';
|
4
4
|
|
5
|
-
//
|
6
|
-
// Тип HTMLAttributesOmitOnChange требуется чтобы использовать компонент с кастомным пропсом onChange
|
7
|
-
//
|
8
|
-
|
9
5
|
var getStaticVariants = function getStaticVariants(config) {
|
10
6
|
if (!config.variations) {
|
11
7
|
return [];
|
package/es/engines/common.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.js","sources":["../../src/engines/common.tsx"],"sourcesContent":["import React from 'react';\n\nimport { _component } from './linaria';\nimport type {
|
1
|
+
{"version":3,"file":"common.js","sources":["../../src/engines/common.tsx"],"sourcesContent":["import React from 'react';\n\nimport { _component } from './linaria';\nimport type { ComponentConfig, HTMLAnyAttributes, HTMLTagList, PropsType, Variants } from './types';\n\nexport const getStaticVariants = (config: ComponentConfig) => {\n if (!config.variations) {\n return [];\n }\n const res = [];\n const { variations } = config;\n\n // eslint-disable-next-line guard-for-in\n for (const key in variations) {\n const { css } = variations[key];\n css && res.push(css);\n }\n\n return res;\n};\n\nexport const getDynamicVariants = (config: ComponentConfig) => {\n return (props: HTMLAnyAttributes) => {\n const res = [];\n\n // eslint-disable-next-line guard-for-in\n for (const key in config.variations) {\n if (key in props) {\n const variant = config.variations[key];\n\n const css = variant[props[key]];\n // no css for { modifier: true }\n css && Array.isArray(css) ? res.push(...css) : res.push(css);\n }\n }\n\n return res;\n };\n};\n\nexport const mergeConfig = <\n Tag extends HTMLTagList,\n VariantList extends Variants,\n VariantsProps extends PropsType<VariantList>,\n LayoutPropsBase extends React.HTMLAttributes<HTMLElement>,\n LayoutPropsUser extends React.HTMLAttributes<HTMLElement> | undefined = undefined\n>(\n baseConfig: ComponentConfig<Tag, Variants, PropsType & LayoutPropsBase, LayoutPropsBase>,\n userConfig?: Partial<ComponentConfig<Tag, VariantList, VariantsProps, LayoutPropsUser>>,\n) => {\n const res = { ...baseConfig, ...userConfig };\n\n if (res.variations) {\n // copy variations base css\n // eslint-disable-next-line guard-for-in\n for (const key in res.variations) {\n const variant = baseConfig.variations[key];\n\n res.variations[key].css = variant?.css;\n /* start of bad decision */\n if (!res.variations[key].true && variant?.true) {\n res.variations[key].true = variant.true;\n }\n /* end of bad decision */\n if (variant?.attrs) {\n res.variations[key].attrs = variant.attrs;\n }\n }\n }\n\n // eslint-disable-next-line guard-for-in\n for (const key in baseConfig.defaults || {}) {\n if (!(key in res.defaults)) {\n res.defaults[key] = baseConfig.defaults[key];\n }\n }\n\n return res as ComponentConfig<\n Tag,\n VariantList,\n PropsType<VariantList>,\n LayoutPropsUser extends undefined ? LayoutPropsBase : LayoutPropsUser\n >;\n};\n\nexport function component<\n Tag extends HTMLTagList,\n VariantList extends Variants,\n VariantsProps extends PropsType<VariantList>,\n LayoutProps extends React.HTMLAttributes<HTMLElement>\n>(\n config: ComponentConfig<Tag, VariantList, VariantsProps, LayoutProps>,\n): React.FunctionComponent<VariantsProps & LayoutProps> {\n const Comp = config.layout(_component((config as unknown) as ComponentConfig));\n\n return React.forwardRef<VariantsProps & LayoutProps, any>((props, ref) => (\n <Comp {...config?.defaults} {...props} ref={ref} />\n ));\n}\n"],"names":["getStaticVariants","config","variations","res","key","css","push","getDynamicVariants","props","variant","Array","isArray","apply","_toConsumableArray","mergeConfig","baseConfig","userConfig","_objectSpread","attrs","defaults","component","Comp","layout","_component","React","forwardRef","ref","createElement","_extends"],"mappings":"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"}
|
package/es/engines/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/engines/index.ts"],"sourcesContent":["import { css as cssLibrary } from '@linaria/core';\n\nimport type { CSS } from './types';\n\nexport const css = cssLibrary as CSS;\nexport { mergeConfig, component } from './common';\n\nexport type { Variant, ComponentConfig, RootProps, CSS
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/engines/index.ts"],"sourcesContent":["import { css as cssLibrary } from '@linaria/core';\n\nimport type { CSS } from './types';\n\nexport const css = cssLibrary as CSS;\nexport { mergeConfig, component } from './common';\n\nexport type { Variant, ComponentConfig, RootProps, CSS } from './types';\n"],"names":["css","cssLibrary"],"mappings":";;;;AAIO,IAAMA,GAAG,GAAGC;;;;"}
|