@salutejs/plasma-new-hope 0.340.0-canary.2322.19132961849.0 → 0.340.0-canary.2322.19259276297.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +19 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +93 -19
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +8 -2
- package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
- package/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +161 -0
- package/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.css +57 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +96 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +30 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles_1auklgl.css +2 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.css +54 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +144 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +205 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles_7nhjnm.css +15 -0
- package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +4 -3
- package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +24 -4
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
- package/cjs/components/DatePicker/utils/normalizeDates.js.map +1 -1
- package/cjs/components/DateTimePicker/DateTimePicker.css +200 -0
- package/cjs/components/DateTimePicker/DateTimePicker.js +337 -0
- package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -0
- package/cjs/components/DateTimePicker/DateTimePicker.styles.js +23 -0
- package/cjs/components/DateTimePicker/DateTimePicker.styles.js.map +1 -0
- package/cjs/components/DateTimePicker/DateTimePicker.styles_x7parr.css +3 -0
- package/cjs/components/DateTimePicker/DateTimePicker.tokens.js +268 -0
- package/cjs/components/DateTimePicker/DateTimePicker.tokens.js.map +1 -0
- package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +445 -0
- package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -0
- package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +40 -0
- package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.css +82 -0
- package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +36 -0
- package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +83 -0
- package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles_1yl3xrz.css +2 -0
- package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.css +34 -0
- package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +44 -0
- package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +92 -0
- package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles_pdofx1.css +6 -0
- package/cjs/components/DateTimePicker/ui/Input/Input.css +80 -0
- package/cjs/components/DateTimePicker/ui/Input/Input.js +70 -0
- package/cjs/components/DateTimePicker/ui/Input/Input.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/Input/Input.styles.js +24 -0
- package/cjs/components/DateTimePicker/ui/Input/Input.styles.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/Input/Input.styles_1af0tdj.css +1 -0
- package/cjs/components/DateTimePicker/ui/Popover/Popover.css +11 -0
- package/cjs/components/DateTimePicker/ui/Popover/Popover.js +37 -0
- package/cjs/components/DateTimePicker/ui/Popover/Popover.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +44 -0
- package/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/Popover/Popover.styles_1v6vurg.css +2 -0
- package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.css +12 -0
- package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +30 -0
- package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +40 -0
- package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js.map +1 -0
- package/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles_31tnfx.css +1 -0
- package/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +81 -0
- package/cjs/components/DateTimePicker/utils/getFormattedDateTime.js.map +1 -0
- package/cjs/components/DateTimePicker/utils/getMaskedValue.js +53 -0
- package/cjs/components/DateTimePicker/utils/getMaskedValue.js.map +1 -0
- package/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +73 -0
- package/cjs/components/DateTimePicker/utils/getOriginalDateTime.js.map +1 -0
- package/cjs/components/DateTimePicker/utils/normalizeDateTime.js +33 -0
- package/cjs/components/DateTimePicker/utils/normalizeDateTime.js.map +1 -0
- package/cjs/components/DateTimePicker/variations/_disabled/base.js +9 -0
- package/cjs/components/DateTimePicker/variations/_disabled/base.js.map +1 -0
- package/cjs/components/DateTimePicker/variations/_disabled/base_7ophop.css +1 -0
- package/cjs/components/DateTimePicker/variations/_readonly/base.js +9 -0
- package/cjs/components/DateTimePicker/variations/_readonly/base.js.map +1 -0
- package/cjs/components/DateTimePicker/variations/_readonly/base_rrpgsr.css +1 -0
- package/cjs/components/DateTimePicker/variations/_size/base.js +9 -0
- package/cjs/components/DateTimePicker/variations/_size/base.js.map +1 -0
- package/cjs/components/DateTimePicker/variations/_size/base_19i3bl1.css +1 -0
- package/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +9 -0
- package/cjs/components/DateTimePicker/variations/_tooltip-size/base.js.map +1 -0
- package/cjs/components/DateTimePicker/variations/_tooltip-size/base_x642ct.css +1 -0
- package/cjs/components/DateTimePicker/variations/_view/base.js +9 -0
- package/cjs/components/DateTimePicker/variations/_view/base.js.map +1 -0
- package/cjs/components/DateTimePicker/variations/_view/base_1a1ebsk.css +1 -0
- package/cjs/components/Select/Select.js +2 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/hooks/useKeyboardNavigation.js +127 -38
- package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
- package/cjs/components/Select/reducers/focusedPathReducer.js.map +1 -1
- package/cjs/components/Select/reducers/treePathReducer.js +12 -0
- package/cjs/components/Select/reducers/treePathReducer.js.map +1 -1
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/cjs/components/Select/ui/TreeList/TreeList.js +3 -3
- package/cjs/components/Select/ui/TreeList/TreeList.js.map +1 -1
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.js +22 -5
- package/cjs/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
- package/cjs/components/Tabs/tokens.js +1 -0
- package/cjs/components/Tabs/tokens.js.map +1 -1
- package/cjs/components/TimePickerGrid/TimePickerGrid.js +206 -276
- package/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -1
- package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
- package/cjs/components/Tree/utils/deepCopy.js +29 -0
- package/cjs/components/Tree/utils/deepCopy.js.map +1 -0
- package/cjs/components/Tree/utils/traverseTree.js +1 -1
- package/cjs/components/Tree/utils/traverseTree.js.map +1 -1
- package/cjs/index.css +48 -0
- package/cjs/index.js +8 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/isArraysEqual.js +12 -0
- package/cjs/utils/isArraysEqual.js.map +1 -0
- package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
- package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +82 -17
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
- package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/reducers/index.js +1 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +174 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +130 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +36 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +4 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +192 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +183 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +4 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/index.js +1 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +14 -6
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +3 -0
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -4
- package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
- package/emotion/cjs/components/DateTimePicker/DateTimePicker.js +459 -0
- package/emotion/cjs/components/DateTimePicker/DateTimePicker.styles.js +39 -0
- package/emotion/cjs/components/DateTimePicker/DateTimePicker.tokens.js +269 -0
- package/emotion/cjs/components/DateTimePicker/DateTimePicker.types.js +4 -0
- package/emotion/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +499 -0
- package/emotion/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +52 -0
- package/emotion/cjs/components/DateTimePicker/index.js +26 -0
- package/emotion/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +93 -0
- package/emotion/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +61 -0
- package/emotion/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +53 -0
- package/emotion/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +88 -0
- package/emotion/cjs/components/DateTimePicker/ui/Input/Input.js +167 -0
- package/emotion/cjs/components/DateTimePicker/ui/Input/Input.styles.js +25 -0
- package/emotion/cjs/components/DateTimePicker/ui/Popover/Popover.js +153 -0
- package/emotion/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +43 -0
- package/emotion/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +87 -0
- package/emotion/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +31 -0
- package/emotion/cjs/components/DateTimePicker/ui/index.js +29 -0
- package/emotion/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +118 -0
- package/emotion/cjs/components/DateTimePicker/utils/getMaskedValue.js +52 -0
- package/emotion/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +128 -0
- package/emotion/cjs/components/DateTimePicker/utils/index.js +19 -0
- package/emotion/cjs/components/DateTimePicker/utils/normalizeDateTime.js +30 -0
- package/emotion/cjs/components/DateTimePicker/variations/_disabled/base.js +13 -0
- package/emotion/cjs/components/DateTimePicker/variations/_readonly/base.js +14 -0
- package/emotion/cjs/components/DateTimePicker/variations/_size/base.js +14 -0
- package/emotion/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +12 -0
- package/emotion/cjs/components/DateTimePicker/variations/_view/base.js +14 -0
- package/emotion/cjs/components/Select/Select.js +2 -1
- package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
- package/emotion/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
- package/emotion/cjs/components/Select/reducers/treePathReducer.js +12 -0
- package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
- package/emotion/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
- package/emotion/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
- package/emotion/cjs/components/Tabs/tokens.js +1 -0
- package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.js +213 -282
- package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
- package/emotion/cjs/components/Tree/utils/deepCopy.js +83 -0
- package/emotion/cjs/components/Tree/utils/index.js +4 -0
- package/emotion/cjs/components/Tree/utils/traverseTree.js +1 -1
- package/emotion/cjs/examples/components/ChipGroup/ChipGroup.config.js +35 -0
- package/emotion/cjs/examples/components/Combobox/Combobox.config.js +15 -15
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/cjs/examples/components/DateTimePicker/DateTimePicker.config.js +40 -0
- package/emotion/cjs/examples/components/DateTimePicker/DateTimePicker.js +15 -0
- package/emotion/cjs/examples/components/Select/Select.config.js +24 -24
- package/emotion/cjs/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +16 -16
- package/emotion/cjs/examples/components/Tabs/vertical/VerticalTabItem.config.js +7 -7
- package/emotion/cjs/index.js +1 -0
- package/emotion/cjs/utils/index.js +4 -0
- package/emotion/cjs/utils/isArraysEqual.js +15 -0
- package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
- package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +85 -20
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
- package/emotion/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
- package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
- package/emotion/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
- package/emotion/es/components/Combobox/ComboboxNew/reducers/index.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +157 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +79 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +13 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +141 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +119 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/filterItems.js +3 -3
- package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +21 -4
- package/emotion/es/components/DatePicker/utils/normalizeDates.js +3 -6
- package/emotion/es/components/DateTimePicker/DateTimePicker.js +395 -0
- package/emotion/es/components/DateTimePicker/DateTimePicker.styles.js +13 -0
- package/emotion/es/components/DateTimePicker/DateTimePicker.tokens.js +248 -0
- package/emotion/es/components/DateTimePicker/DateTimePicker.types.js +1 -0
- package/emotion/es/components/DateTimePicker/hooks/useDateTimePicker.js +489 -0
- package/emotion/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +34 -0
- package/emotion/es/components/DateTimePicker/index.js +2 -0
- package/emotion/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +78 -0
- package/emotion/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +36 -0
- package/emotion/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +38 -0
- package/emotion/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +53 -0
- package/emotion/es/components/DateTimePicker/ui/Input/Input.js +111 -0
- package/emotion/es/components/DateTimePicker/ui/Input/Input.styles.js +11 -0
- package/emotion/es/components/DateTimePicker/ui/Popover/Popover.js +102 -0
- package/emotion/es/components/DateTimePicker/ui/Popover/Popover.styles.js +20 -0
- package/emotion/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +72 -0
- package/emotion/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +16 -0
- package/emotion/es/components/DateTimePicker/ui/index.js +6 -0
- package/emotion/es/components/DateTimePicker/utils/getFormattedDateTime.js +108 -0
- package/emotion/es/components/DateTimePicker/utils/getMaskedValue.js +42 -0
- package/emotion/es/components/DateTimePicker/utils/getOriginalDateTime.js +118 -0
- package/emotion/es/components/DateTimePicker/utils/index.js +2 -0
- package/emotion/es/components/DateTimePicker/utils/normalizeDateTime.js +20 -0
- package/emotion/es/components/DateTimePicker/variations/_disabled/base.js +3 -0
- package/emotion/es/components/DateTimePicker/variations/_readonly/base.js +4 -0
- package/emotion/es/components/DateTimePicker/variations/_size/base.js +4 -0
- package/emotion/es/components/DateTimePicker/variations/_tooltip-size/base.js +2 -0
- package/emotion/es/components/DateTimePicker/variations/_view/base.js +4 -0
- package/emotion/es/components/Select/Select.js +2 -1
- package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
- package/emotion/es/components/Select/reducers/focusedPathReducer.js +7 -0
- package/emotion/es/components/Select/reducers/treePathReducer.js +12 -0
- package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
- package/emotion/es/components/Select/ui/TreeList/TreeList.js +7 -3
- package/emotion/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
- package/emotion/es/components/Tabs/tokens.js +1 -0
- package/emotion/es/components/TimePickerGrid/TimePickerGrid.js +213 -282
- package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
- package/emotion/es/components/Tree/utils/deepCopy.js +73 -0
- package/emotion/es/components/Tree/utils/index.js +1 -0
- package/emotion/es/components/Tree/utils/traverseTree.js +1 -1
- package/emotion/es/examples/components/ChipGroup/ChipGroup.config.js +25 -0
- package/emotion/es/examples/components/Combobox/Combobox.config.js +15 -15
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/emotion/es/examples/components/DateTimePicker/DateTimePicker.config.js +30 -0
- package/emotion/es/examples/components/DateTimePicker/DateTimePicker.js +5 -0
- package/emotion/es/examples/components/Select/Select.config.js +24 -24
- package/emotion/es/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +16 -16
- package/emotion/es/examples/components/Tabs/vertical/VerticalTabItem.config.js +7 -7
- package/emotion/es/index.js +1 -0
- package/emotion/es/utils/index.js +1 -0
- package/emotion/es/utils/isArraysEqual.js +5 -0
- package/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.css +19 -0
- package/es/components/Combobox/ComboboxNew/Combobox.js +95 -21
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
- package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +8 -2
- package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +319 -1
- package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
- package/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +156 -0
- package/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.css +57 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +88 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +25 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles_1auklgl.css +2 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.css +54 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +136 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +187 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles_7nhjnm.css +15 -0
- package/es/components/Combobox/ComboboxNew/utils/filterItems.js +4 -4
- package/es/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js +24 -4
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/utils/normalizeDates.js +3 -6
- package/es/components/DatePicker/utils/normalizeDates.js.map +1 -1
- package/es/components/DateTimePicker/DateTimePicker.css +200 -0
- package/es/components/DateTimePicker/DateTimePicker.js +327 -0
- package/es/components/DateTimePicker/DateTimePicker.js.map +1 -0
- package/es/components/DateTimePicker/DateTimePicker.styles.js +17 -0
- package/es/components/DateTimePicker/DateTimePicker.styles.js.map +1 -0
- package/es/components/DateTimePicker/DateTimePicker.styles_x7parr.css +3 -0
- package/es/components/DateTimePicker/DateTimePicker.tokens.js +262 -0
- package/es/components/DateTimePicker/DateTimePicker.tokens.js.map +1 -0
- package/es/components/DateTimePicker/hooks/useDateTimePicker.js +441 -0
- package/es/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -0
- package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +35 -0
- package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -0
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.css +82 -0
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +28 -0
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -0
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +78 -0
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js.map +1 -0
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles_1yl3xrz.css +2 -0
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.css +34 -0
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +35 -0
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -0
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +83 -0
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js.map +1 -0
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles_pdofx1.css +6 -0
- package/es/components/DateTimePicker/ui/Input/Input.css +80 -0
- package/es/components/DateTimePicker/ui/Input/Input.js +61 -0
- package/es/components/DateTimePicker/ui/Input/Input.js.map +1 -0
- package/es/components/DateTimePicker/ui/Input/Input.styles.js +20 -0
- package/es/components/DateTimePicker/ui/Input/Input.styles.js.map +1 -0
- package/es/components/DateTimePicker/ui/Input/Input.styles_1af0tdj.css +1 -0
- package/es/components/DateTimePicker/ui/Popover/Popover.css +11 -0
- package/es/components/DateTimePicker/ui/Popover/Popover.js +29 -0
- package/es/components/DateTimePicker/ui/Popover/Popover.js.map +1 -0
- package/es/components/DateTimePicker/ui/Popover/Popover.styles.js +39 -0
- package/es/components/DateTimePicker/ui/Popover/Popover.styles.js.map +1 -0
- package/es/components/DateTimePicker/ui/Popover/Popover.styles_1v6vurg.css +2 -0
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.css +12 -0
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +22 -0
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -0
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +36 -0
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js.map +1 -0
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles_31tnfx.css +1 -0
- package/es/components/DateTimePicker/utils/getFormattedDateTime.js +77 -0
- package/es/components/DateTimePicker/utils/getFormattedDateTime.js.map +1 -0
- package/es/components/DateTimePicker/utils/getMaskedValue.js +49 -0
- package/es/components/DateTimePicker/utils/getMaskedValue.js.map +1 -0
- package/es/components/DateTimePicker/utils/getOriginalDateTime.js +69 -0
- package/es/components/DateTimePicker/utils/getOriginalDateTime.js.map +1 -0
- package/es/components/DateTimePicker/utils/normalizeDateTime.js +29 -0
- package/es/components/DateTimePicker/utils/normalizeDateTime.js.map +1 -0
- package/es/components/DateTimePicker/variations/_disabled/base.js +5 -0
- package/es/components/DateTimePicker/variations/_disabled/base.js.map +1 -0
- package/es/components/DateTimePicker/variations/_disabled/base_7ophop.css +1 -0
- package/es/components/DateTimePicker/variations/_readonly/base.js +5 -0
- package/es/components/DateTimePicker/variations/_readonly/base.js.map +1 -0
- package/es/components/DateTimePicker/variations/_readonly/base_rrpgsr.css +1 -0
- package/es/components/DateTimePicker/variations/_size/base.js +5 -0
- package/es/components/DateTimePicker/variations/_size/base.js.map +1 -0
- package/es/components/DateTimePicker/variations/_size/base_19i3bl1.css +1 -0
- package/es/components/DateTimePicker/variations/_tooltip-size/base.js +5 -0
- package/es/components/DateTimePicker/variations/_tooltip-size/base.js.map +1 -0
- package/es/components/DateTimePicker/variations/_tooltip-size/base_x642ct.css +1 -0
- package/es/components/DateTimePicker/variations/_view/base.js +5 -0
- package/es/components/DateTimePicker/variations/_view/base.js.map +1 -0
- package/es/components/DateTimePicker/variations/_view/base_1a1ebsk.css +1 -0
- package/es/components/Select/Select.js +2 -1
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/hooks/useKeyboardNavigation.js +127 -38
- package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Select/reducers/focusedPathReducer.js +7 -0
- package/es/components/Select/reducers/focusedPathReducer.js.map +1 -1
- package/es/components/Select/reducers/treePathReducer.js +12 -0
- package/es/components/Select/reducers/treePathReducer.js.map +1 -1
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/es/components/Select/ui/TreeList/TreeList.js +3 -3
- package/es/components/Select/ui/TreeList/TreeList.js.map +1 -1
- package/es/components/Select/ui/TreeList/ui/Item/Item.js +23 -6
- package/es/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
- package/es/components/Tabs/tokens.js +1 -0
- package/es/components/Tabs/tokens.js.map +1 -1
- package/es/components/TimePickerGrid/TimePickerGrid.js +208 -278
- package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -1
- package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
- package/es/components/Tree/utils/deepCopy.js +25 -0
- package/es/components/Tree/utils/deepCopy.js.map +1 -0
- package/es/components/Tree/utils/traverseTree.js +1 -1
- package/es/components/Tree/utils/traverseTree.js.map +1 -1
- package/es/index.css +48 -0
- package/es/index.js +3 -0
- package/es/index.js.map +1 -1
- package/es/utils/index.js.map +1 -1
- package/es/utils/isArraysEqual.js +8 -0
- package/es/utils/isArraysEqual.js.map +1 -0
- package/package.json +2 -2
- package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -0
- package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +82 -17
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
- package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +312 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/index.js +1 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/reducers/treePathReducer.js +174 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +130 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +50 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +4 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +192 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +296 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +4 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +1 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +14 -6
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +3 -0
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -4
- package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +3 -6
- package/styled-components/cjs/components/DateTimePicker/DateTimePicker.js +459 -0
- package/styled-components/cjs/components/DateTimePicker/DateTimePicker.styles.js +89 -0
- package/styled-components/cjs/components/DateTimePicker/DateTimePicker.tokens.js +269 -0
- package/styled-components/cjs/components/DateTimePicker/DateTimePicker.types.js +4 -0
- package/styled-components/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +499 -0
- package/styled-components/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +52 -0
- package/styled-components/cjs/components/DateTimePicker/index.js +26 -0
- package/styled-components/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +93 -0
- package/styled-components/cjs/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +75 -0
- package/styled-components/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +53 -0
- package/styled-components/cjs/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +132 -0
- package/styled-components/cjs/components/DateTimePicker/ui/Input/Input.js +167 -0
- package/styled-components/cjs/components/DateTimePicker/ui/Input/Input.styles.js +176 -0
- package/styled-components/cjs/components/DateTimePicker/ui/Popover/Popover.js +153 -0
- package/styled-components/cjs/components/DateTimePicker/ui/Popover/Popover.styles.js +56 -0
- package/styled-components/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +87 -0
- package/styled-components/cjs/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +69 -0
- package/styled-components/cjs/components/DateTimePicker/ui/index.js +29 -0
- package/styled-components/cjs/components/DateTimePicker/utils/getFormattedDateTime.js +118 -0
- package/styled-components/cjs/components/DateTimePicker/utils/getMaskedValue.js +52 -0
- package/styled-components/cjs/components/DateTimePicker/utils/getOriginalDateTime.js +128 -0
- package/styled-components/cjs/components/DateTimePicker/utils/index.js +19 -0
- package/styled-components/cjs/components/DateTimePicker/utils/normalizeDateTime.js +30 -0
- package/styled-components/cjs/components/DateTimePicker/variations/_disabled/base.js +16 -0
- package/styled-components/cjs/components/DateTimePicker/variations/_readonly/base.js +18 -0
- package/styled-components/cjs/components/DateTimePicker/variations/_size/base.js +24 -0
- package/styled-components/cjs/components/DateTimePicker/variations/_tooltip-size/base.js +14 -0
- package/styled-components/cjs/components/DateTimePicker/variations/_view/base.js +18 -0
- package/styled-components/cjs/components/Select/Select.js +2 -1
- package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +156 -44
- package/styled-components/cjs/components/Select/reducers/focusedPathReducer.js +7 -0
- package/styled-components/cjs/components/Select/reducers/treePathReducer.js +12 -0
- package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
- package/styled-components/cjs/components/Select/ui/TreeList/TreeList.js +7 -3
- package/styled-components/cjs/components/Select/ui/TreeList/ui/Item/Item.js +49 -5
- package/styled-components/cjs/components/Tabs/tokens.js +1 -0
- package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.js +213 -282
- package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
- package/styled-components/cjs/components/Tree/utils/deepCopy.js +83 -0
- package/styled-components/cjs/components/Tree/utils/index.js +4 -0
- package/styled-components/cjs/components/Tree/utils/traverseTree.js +1 -1
- package/styled-components/cjs/examples/components/ChipGroup/ChipGroup.config.js +141 -0
- package/styled-components/cjs/examples/components/Combobox/Combobox.config.js +20 -12
- package/styled-components/cjs/examples/components/DateTimePicker/DateTimePicker.config.js +786 -0
- package/styled-components/cjs/examples/components/DateTimePicker/DateTimePicker.js +15 -0
- package/styled-components/cjs/examples/components/Select/Select.config.js +7 -7
- package/styled-components/cjs/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -4
- package/styled-components/cjs/examples/components/Tabs/vertical/VerticalTabItem.config.js +4 -4
- package/styled-components/cjs/index.js +1 -0
- package/styled-components/cjs/utils/index.js +4 -0
- package/styled-components/cjs/utils/isArraysEqual.js +15 -0
- package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +6 -0
- package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -0
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +85 -20
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +2 -0
- package/styled-components/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +35 -3
- package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +313 -0
- package/styled-components/es/components/Combobox/ComboboxNew/reducers/focusedPathReducer.js +7 -0
- package/styled-components/es/components/Combobox/ComboboxNew/reducers/index.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/reducers/treePathReducer.js +157 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +79 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.js +27 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +141 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.js +232 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/filterItems.js +3 -3
- package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +21 -4
- package/styled-components/es/components/DatePicker/utils/normalizeDates.js +3 -6
- package/styled-components/es/components/DateTimePicker/DateTimePicker.js +395 -0
- package/styled-components/es/components/DateTimePicker/DateTimePicker.styles.js +28 -0
- package/styled-components/es/components/DateTimePicker/DateTimePicker.tokens.js +248 -0
- package/styled-components/es/components/DateTimePicker/DateTimePicker.types.js +1 -0
- package/styled-components/es/components/DateTimePicker/hooks/useDateTimePicker.js +489 -0
- package/styled-components/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +34 -0
- package/styled-components/es/components/DateTimePicker/index.js +2 -0
- package/styled-components/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +78 -0
- package/styled-components/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.js +50 -0
- package/styled-components/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +38 -0
- package/styled-components/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.js +97 -0
- package/styled-components/es/components/DateTimePicker/ui/Input/Input.js +111 -0
- package/styled-components/es/components/DateTimePicker/ui/Input/Input.styles.js +162 -0
- package/styled-components/es/components/DateTimePicker/ui/Popover/Popover.js +102 -0
- package/styled-components/es/components/DateTimePicker/ui/Popover/Popover.styles.js +33 -0
- package/styled-components/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +72 -0
- package/styled-components/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.js +54 -0
- package/styled-components/es/components/DateTimePicker/ui/index.js +6 -0
- package/styled-components/es/components/DateTimePicker/utils/getFormattedDateTime.js +108 -0
- package/styled-components/es/components/DateTimePicker/utils/getMaskedValue.js +42 -0
- package/styled-components/es/components/DateTimePicker/utils/getOriginalDateTime.js +118 -0
- package/styled-components/es/components/DateTimePicker/utils/index.js +2 -0
- package/styled-components/es/components/DateTimePicker/utils/normalizeDateTime.js +20 -0
- package/styled-components/es/components/DateTimePicker/variations/_disabled/base.js +6 -0
- package/styled-components/es/components/DateTimePicker/variations/_readonly/base.js +8 -0
- package/styled-components/es/components/DateTimePicker/variations/_size/base.js +14 -0
- package/styled-components/es/components/DateTimePicker/variations/_tooltip-size/base.js +4 -0
- package/styled-components/es/components/DateTimePicker/variations/_view/base.js +8 -0
- package/styled-components/es/components/Select/Select.js +2 -1
- package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +157 -44
- package/styled-components/es/components/Select/reducers/focusedPathReducer.js +7 -0
- package/styled-components/es/components/Select/reducers/treePathReducer.js +12 -0
- package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -2
- package/styled-components/es/components/Select/ui/TreeList/TreeList.js +7 -3
- package/styled-components/es/components/Select/ui/TreeList/ui/Item/Item.js +50 -6
- package/styled-components/es/components/Tabs/tokens.js +1 -0
- package/styled-components/es/components/TimePickerGrid/TimePickerGrid.js +213 -282
- package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +2 -2
- package/styled-components/es/components/Tree/utils/deepCopy.js +73 -0
- package/styled-components/es/components/Tree/utils/index.js +1 -0
- package/styled-components/es/components/Tree/utils/traverseTree.js +1 -1
- package/styled-components/es/examples/components/ChipGroup/ChipGroup.config.js +131 -0
- package/styled-components/es/examples/components/Combobox/Combobox.config.js +20 -12
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/styled-components/es/examples/components/DateTimePicker/DateTimePicker.config.js +776 -0
- package/styled-components/es/examples/components/DateTimePicker/DateTimePicker.js +5 -0
- package/styled-components/es/examples/components/Select/Select.config.js +7 -7
- package/styled-components/es/examples/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -4
- package/styled-components/es/examples/components/Tabs/vertical/VerticalTabItem.config.js +4 -4
- package/styled-components/es/index.js +1 -0
- package/styled-components/es/utils/index.js +1 -0
- package/styled-components/es/utils/isArraysEqual.js +5 -0
- 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/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +2 -0
- package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +17 -3
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts +2 -1
- package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts +8 -3
- package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts +3 -0
- package/types/components/Combobox/ComboboxNew/reducers/focusedPathReducer.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/reducers/index.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/reducers/index.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts +28 -0
- package/types/components/Combobox/ComboboxNew/reducers/treePathReducer.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.d.ts +6 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.styles.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.d.ts +11 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/TreeList.types.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.d.ts +62 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.styles.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts +6 -0
- package/types/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/utils/normalizeDates.d.ts.map +1 -1
- package/types/components/DateTimePicker/DateTimePicker.d.ts +73 -0
- package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/types/components/DateTimePicker/DateTimePicker.styles.d.ts +4 -0
- package/types/components/DateTimePicker/DateTimePicker.styles.d.ts.map +1 -0
- package/types/components/DateTimePicker/DateTimePicker.tokens.d.ts +257 -0
- package/types/components/DateTimePicker/DateTimePicker.tokens.d.ts.map +1 -0
- package/types/components/DateTimePicker/DateTimePicker.types.d.ts +160 -0
- package/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -0
- package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts +26 -0
- package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts.map +1 -0
- package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts +18 -0
- package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/types/components/DateTimePicker/index.d.ts +4 -0
- package/types/components/DateTimePicker/index.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.d.ts +11 -0
- package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.d.ts +10 -0
- package/types/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.d.ts +12 -0
- package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.d.ts +44 -0
- package/types/components/DateTimePicker/ui/DateShortcut/DateShortcutList.styles.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/Input/Input.d.ts +8 -0
- package/types/components/DateTimePicker/ui/Input/Input.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/Input/Input.styles.d.ts +298 -0
- package/types/components/DateTimePicker/ui/Input/Input.styles.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/Popover/Popover.d.ts +8 -0
- package/types/components/DateTimePicker/ui/Popover/Popover.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/Popover/Popover.styles.d.ts +6 -0
- package/types/components/DateTimePicker/ui/Popover/Popover.styles.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.d.ts +9 -0
- package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.d.ts +23 -0
- package/types/components/DateTimePicker/ui/TimeGrid/TimeGrid.styles.d.ts.map +1 -0
- package/types/components/DateTimePicker/ui/index.d.ts +7 -0
- package/types/components/DateTimePicker/ui/index.d.ts.map +1 -0
- package/types/components/DateTimePicker/utils/getFormattedDateTime.d.ts +27 -0
- package/types/components/DateTimePicker/utils/getFormattedDateTime.d.ts.map +1 -0
- package/types/components/DateTimePicker/utils/getMaskedValue.d.ts +13 -0
- package/types/components/DateTimePicker/utils/getMaskedValue.d.ts.map +1 -0
- package/types/components/DateTimePicker/utils/getOriginalDateTime.d.ts +19 -0
- package/types/components/DateTimePicker/utils/getOriginalDateTime.d.ts.map +1 -0
- package/types/components/DateTimePicker/utils/index.d.ts +3 -0
- package/types/components/DateTimePicker/utils/index.d.ts.map +1 -0
- package/types/components/DateTimePicker/utils/normalizeDateTime.d.ts +15 -0
- package/types/components/DateTimePicker/utils/normalizeDateTime.d.ts.map +1 -0
- package/types/components/DateTimePicker/variations/_disabled/base.d.ts +2 -0
- package/types/components/DateTimePicker/variations/_disabled/base.d.ts.map +1 -0
- package/types/components/DateTimePicker/variations/_readonly/base.d.ts +2 -0
- package/types/components/DateTimePicker/variations/_readonly/base.d.ts.map +1 -0
- package/types/components/DateTimePicker/variations/_size/base.d.ts +2 -0
- package/types/components/DateTimePicker/variations/_size/base.d.ts.map +1 -0
- package/types/components/DateTimePicker/variations/_tooltip-size/base.d.ts +2 -0
- package/types/components/DateTimePicker/variations/_tooltip-size/base.d.ts.map +1 -0
- package/types/components/DateTimePicker/variations/_view/base.d.ts +2 -0
- package/types/components/DateTimePicker/variations/_view/base.d.ts.map +1 -0
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/hooks/useKeyboardNavigation.d.ts +2 -1
- package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
- package/types/components/Select/reducers/focusedPathReducer.d.ts +3 -0
- package/types/components/Select/reducers/focusedPathReducer.d.ts.map +1 -1
- package/types/components/Select/reducers/treePathReducer.d.ts +6 -0
- package/types/components/Select/reducers/treePathReducer.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
- package/types/components/Select/ui/TreeList/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts +1 -9
- package/types/components/Select/ui/TreeList/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Tabs/tokens.d.ts +1 -0
- package/types/components/Tabs/tokens.d.ts.map +1 -1
- package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -1
- package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts +1 -1
- package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts.map +1 -1
- package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts +2 -1
- package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -1
- package/types/components/Tree/utils/deepCopy.d.ts +6 -0
- package/types/components/Tree/utils/deepCopy.d.ts.map +1 -0
- package/types/components/Tree/utils/index.d.ts +1 -0
- package/types/components/Tree/utils/index.d.ts.map +1 -1
- package/types/examples/components/ChipGroup/ChipGroup.config.d.ts.map +1 -0
- package/types/examples/components/ChipGroup/ChipGroup.d.ts.map +1 -0
- package/types/examples/components/Combobox/Combobox.config.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +48 -0
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/DateTimePicker/DateTimePicker.config.d.ts +29 -0
- package/types/examples/components/DateTimePicker/DateTimePicker.config.d.ts.map +1 -0
- package/types/examples/components/DateTimePicker/DateTimePicker.d.ts +42 -0
- package/types/examples/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/utils/index.d.ts +1 -0
- package/types/utils/index.d.ts.map +1 -1
- package/types/utils/isArraysEqual.d.ts +2 -0
- package/types/utils/isArraysEqual.d.ts.map +1 -0
- package/emotion/cjs/examples/components/ChipGroup /ChipGroup.config.js +0 -214
- package/emotion/es/examples/components/ChipGroup /ChipGroup.config.js +0 -204
- package/styled-components/cjs/examples/components/ChipGroup /ChipGroup.config.js +0 -214
- package/styled-components/es/examples/components/ChipGroup /ChipGroup.config.js +0 -204
- package/types/examples/components/ChipGroup /ChipGroup.config.d.ts.map +0 -1
- package/types/examples/components/ChipGroup /ChipGroup.d.ts.map +0 -1
- /package/emotion/cjs/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
- /package/emotion/es/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
- /package/styled-components/cjs/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
- /package/styled-components/es/examples/components/{ChipGroup → ChipGroup}/ChipGroup.js +0 -0
- /package/types/examples/components/{ChipGroup → ChipGroup}/ChipGroup.config.d.ts +0 -0
- /package/types/examples/components/{ChipGroup → ChipGroup}/ChipGroup.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n KeyboardEvent,\n useEffect,\n useReducer,\n ReactNode,\n useRef,\n MutableRefObject,\n HTMLAttributes,\n} from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate, I18N } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears, EventTooltip } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (\n Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement> & { eventTooltipSize?: string }>,\n) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [eventNodes, setEventNodes] = useState<ReactNode[]>([]);\n const eventTooltipTargetRef = useRef<HTMLDivElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const innerRootRef = useForkRef(rootRef, outerRootRef);\n\n const min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n const handleTriggerEventTooltip = (\n structureRef?: MutableRefObject<HTMLDivElement | null>,\n events?: ReactNode[],\n ) => {\n if (structureRef?.current && events?.length) {\n eventTooltipTargetRef.current = structureRef.current;\n\n setEventNodes(events);\n } else if (eventTooltipTargetRef.current !== null) {\n eventTooltipTargetRef.current = null;\n\n setEventNodes([]);\n }\n };\n\n const tooltipContent = () => {\n const TooltipBodyWrapper = eventTooltipOptions?.bodyWrapper;\n if (!TooltipBodyWrapper) {\n return eventNodes;\n }\n\n return <TooltipBodyWrapper>{eventNodes}</TooltipBodyWrapper>;\n };\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root\n ref={innerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n\n {eventTooltipTargetRef.current && eventNodes?.length && (\n <EventTooltip\n opened={Boolean(eventNodes?.length)}\n target={eventTooltipTargetRef}\n frame={rootRef}\n text={tooltipContent()}\n trigger=\"hover\"\n {...eventTooltipOptions}\n />\n )}\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 size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useState9","_useState10","eventNodes","setEventNodes","eventTooltipTargetRef","useRef","rootRef","innerRootRef","useForkRef","Date","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState11","_useState12","firstDate","setFirstDate","_useState13","_useState14","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","handleTriggerEventTooltip","structureRef","events","current","length","tooltipContent","TooltipBodyWrapper","bodyWrapper","React","createElement","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","eventTooltipSize","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","onTriggerEventTooltip","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","EventTooltip","opened","Boolean","target","frame","text","trigger","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","eventTooltipSizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC3BC,IAA+F,EAAA;AAAA,EAAA,oBAE/FC,UAAU,CACN,UAAAC,IAAA,EAuBIC,YAAY,EACX;AAAA,IAAA,IAtBGC,SAAS,GAAAF,IAAA,CAATE,SAAS;MACFC,aAAa,GAAAH,IAAA,CAApBI,KAAK;MACAC,OAAO,GAAAL,IAAA,CAAZM,GAAG;MACEC,OAAO,GAAAP,IAAA,CAAZQ,GAAG;MACHC,cAAc,GAAAT,IAAA,CAAdS,cAAc;MACdC,gBAAgB,GAAAV,IAAA,CAAhBU,gBAAgB;MAAAC,SAAA,GAAAX,IAAA,CAChBY,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MACbE,mBAAmB,GAAAb,IAAA,CAAnBa,mBAAmB;MACnBC,SAAS,GAAAd,IAAA,CAATc,SAAS;MACTC,YAAY,GAAAf,IAAA,CAAZe,YAAY;MACZC,cAAc,GAAAhB,IAAA,CAAdgB,cAAc;MACdC,iBAAiB,GAAAjB,IAAA,CAAjBiB,iBAAiB;MACjBC,gBAAgB,GAAAlB,IAAA,CAAhBkB,gBAAgB;MAChBC,mBAAmB,GAAAnB,IAAA,CAAnBmB,mBAAmB;MACnBC,aAAa,GAAApB,IAAA,CAAboB,aAAa;MACbC,gBAAgB,GAAArB,IAAA,CAAhBqB,gBAAgB;MAAAC,WAAA,GAAAtB,IAAA,CAChBuB,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;MACbE,SAAS,GAAAxB,IAAA,CAATwB,SAAS;MACTC,aAAa,GAAAzB,IAAA,CAAbyB,aAAa;AACVC,MAAAA,IAAI,GAAAC,wBAAA,CAAA3B,IAAA,EAAA4B,SAAA,CAAA,CAAA;IAIX,IAAAC,QAAA,GAAkCC,OAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAAC7B,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAA8B,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,IAAM7B,KAAK,GAAGgC,WAAW,IAAID,UAAU,CAAA;AAEvC,IAAA,IAAAE,SAAA,GAAsCC,QAAQ,EAA0B;MAAAC,UAAA,GAAAL,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAAjEG,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,IAAA,IAAAG,UAAA,GAAgCJ,QAAQ,CAAC1B,IAAI,CAAC;MAAA+B,UAAA,GAAAT,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAAvCE,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,IAAA,IAAAG,UAAA,GAAkCR,QAAQ,CAAClC,KAAK,CAAC;MAAA2C,UAAA,GAAAb,cAAA,CAAAY,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,GAA0CZ,QAAQ,CAAS,CAAC,CAAC;MAAAa,UAAA,GAAAjB,cAAA,CAAAgB,UAAA,EAAA,CAAA,CAAA;AAAtDE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,IAAA,IAAAG,UAAA,GAAoChB,QAAQ,CAAc,EAAE,CAAC;MAAAiB,WAAA,GAAArB,cAAA,CAAAoB,UAAA,EAAA,CAAA,CAAA;AAAtDE,MAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IAAA,IAAMG,qBAAqB,GAAGC,MAAM,CAAwB,IAAI,CAAC,CAAA;AACjE,IAAA,IAAMC,OAAO,GAAGD,MAAM,CAAwB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAME,YAAY,GAAGC,UAAU,CAACF,OAAO,EAAE3D,YAAY,CAAC,CAAA;IAEtD,IAAMK,GAAG,GAAGD,OAAO,IAAI,IAAI0D,IAAI,CAAC1D,OAAO,CAAC,CAAA;IACxC,IAAMG,GAAG,GAAGD,OAAO,IAAI,IAAIwD,IAAI,CAACxD,OAAO,CAAC,CAAA;AAExC,IAAA,IAAAyD,WAAA,GAA0BC,UAAU,CAACC,OAAO,EAAEC,eAAe,CAAC/D,KAAK,EAAEE,GAAG,EAAEG,cAAc,EAAEG,IAAI,EAAE,IAAI,CAAC,CAAC;MAAAwD,YAAA,GAAAlC,cAAA,CAAA8B,WAAA,EAAA,CAAA,CAAA;AAA/FK,MAAAA,KAAK,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,QAAQ,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAQG,IAAI,GAAqCF,KAAK,CAA9CE,IAAI;MAAEC,aAAa,GAAsBH,KAAK,CAAxCG,aAAa;MAAEC,SAAS,GAAWJ,KAAK,CAAzBI,SAAS;MAAEC,IAAI,GAAKL,KAAK,CAAdK,IAAI,CAAA;AAE5C,IAAA,IAAAC,WAAA,GAAkCrC,QAAQ,CAAaiC,IAAI,CAAC;MAAAK,WAAA,GAAA1C,cAAA,CAAAyC,WAAA,EAAA,CAAA,CAAA;AAArDE,MAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,WAAA,GAAoCzC,QAAQ,CAAaiC,IAAI,CAAC;MAAAS,WAAA,GAAA9C,cAAA,CAAA6C,WAAA,EAAA,CAAA,CAAA;AAAvDE,MAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAAG,qBAAA,GAAmCC,qBAAqB,CAAC;AACrDZ,QAAAA,aAAa,EAAbA,aAAa;AACbD,QAAAA,IAAI,EAAJA,IAAI;AACJD,QAAAA,QAAQ,EAARA,QAAAA;AACJ,OAAC,CAAC;MAJMe,UAAU,GAAAF,qBAAA,CAAVE,UAAU;MAAEC,UAAU,GAAAH,qBAAA,CAAVG,UAAU,CAAA;IAM9B,IAAAC,iBAAA,GAA6EC,gBAAgB,CAAC;AAC1FC,QAAAA,QAAQ,EAAE,IAAI;AACdf,QAAAA,IAAI,EAAJA,IAAI;AACJF,QAAAA,aAAa,EAAbA,aAAa;AACbkB,QAAAA,MAAM,EAAEL,UAAU;AAClBM,QAAAA,MAAM,EAAEL,UAAAA;AACZ,OAAC,CAAC;MAAAM,kBAAA,GAAA1D,cAAA,CAAAqD,iBAAA,EAAA,CAAA,CAAA;AANKM,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;AAAEK,MAAAA,YAAY,GAAAL,kBAAA,CAAA,CAAA,CAAA,CAAA;IAQzE,IAAAM,qBAAA,GAMIC,qBAAqB,CAAC;AAAEvF,QAAAA,IAAI,EAAJA,IAAI;AAAEa,QAAAA,aAAa,EAAbA,aAAa;AAAEsE,QAAAA,eAAe,EAAfA,eAAe;AAAEzB,QAAAA,QAAQ,EAARA,QAAAA;AAAS,OAAC,CAAC;MALzE8B,iBAAiB,GAAAF,qBAAA,CAAjBE,iBAAiB;MACjBC,mBAAmB,GAAAH,qBAAA,CAAnBG,mBAAmB;MACnBC,qBAAqB,GAAAJ,qBAAA,CAArBI,qBAAqB;MACrBC,kBAAkB,GAAAL,qBAAA,CAAlBK,kBAAkB;MAClBC,yBAAyB,GAAAN,qBAAA,CAAzBM,yBAAyB,CAAA;AAG7B,IAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIjC,aAAa,KAAKkC,aAAa,CAACC,IAAI,EAAE;QACtC,IAAAC,YAAA,GAAmCC,WAAW,CAACtC,IAAI,CAACuC,IAAI,EAAEvC,IAAI,CAACwC,UAAU,CAAC;UAAAC,aAAA,GAAA9E,cAAA,CAAA0E,YAAA,EAAA,CAAA,CAAA;AAAnEK,UAAAA,QAAQ,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;AAC/B9B,QAAAA,aAAa,CAAC;AAAE4B,UAAAA,IAAI,EAAEG,QAAQ;AAAEF,UAAAA,UAAU,EAAEG,cAAc;UAAEC,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AAChF,OAAA;MAEA,IAAI3C,aAAa,KAAKkC,aAAa,CAACU,MAAM,IAAI5C,aAAa,KAAKkC,aAAa,CAACW,QAAQ,EAAE;AACpFnC,QAAAA,aAAa,CAAC;AAAE4B,UAAAA,IAAI,EAAEvC,IAAI,CAACuC,IAAI,GAAG,CAAC;UAAEC,UAAU,EAAExC,IAAI,CAACwC,UAAU;UAAEI,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtF,OAAA;AAEA,MAAA,IAAI3C,aAAa,KAAKkC,aAAa,CAACY,KAAK,EAAE;AACvCpC,QAAAA,aAAa,CAAC;UAAE4B,IAAI,EAAErC,SAAS,GAAG8C,iBAAiB;UAAER,UAAU,EAAExC,IAAI,CAACwC,UAAU;UAAEI,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtG,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B;AACA,MAAA,IAAIhD,aAAa,KAAKkC,aAAa,CAACC,IAAI,EAAE;AACtC,QAAA,OAAO,CACH,IAAI5C,IAAI,CAACc,SAAS,CAACiC,IAAI,EAAEjC,SAAS,CAACkC,UAAU,EAAE,CAAC,CAAC,EACjD,IAAIhD,IAAI,CAACkB,UAAU,CAAC6B,IAAI,EAAE7B,UAAU,CAAC8B,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAA;AACL,OAAA;MAEA,IAAIvC,aAAa,KAAKkC,aAAa,CAACU,MAAM,IAAI5C,aAAa,KAAKkC,aAAa,CAACW,QAAQ,EAAE;QACpF,OAAO,CAAC,IAAItD,IAAI,CAACc,SAAS,CAACiC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI/C,IAAI,CAACkB,UAAU,CAAC6B,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC1E,OAAA;MAEA,IAAMW,cAAc,GAAGhD,SAAS,GAAG8C,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5D,MAAA,OAAO,CAAC,IAAIxD,IAAI,CAACU,SAAS,EAAE,CAAC,CAAC,EAAE,IAAIV,IAAI,CAAC0D,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;KAChE,CAAA;;AAED;AACA;AACA;AACA,IAAA,IAAMC,aAAa,GAAGC,WAAW,CAC7B,UAACC,KAAoC,EAAK;MACtCvE,gBAAgB,CAAC,UAACwE,aAAa,EAAA;AAAA,QAAA,OAAKC,MAAM,CAAC,CAACD,aAAa,CAAC,CAAA;OAAC,CAAA,CAAA;MAE3D/B,SAAS,CAAC8B,KAAK,CAAC,CAAA;AACpB,KAAC,EACD,CAAC9B,SAAS,CACd,CAAC,CAAA;IAED,IAAMiC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAC3BC,YAAsD,EACtDC,MAAoB,EACnB;AACD,MAAA,IAAID,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAEE,OAAO,IAAID,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,IAANA,MAAM,CAAEE,MAAM,EAAE;AACzCzE,QAAAA,qBAAqB,CAACwE,OAAO,GAAGF,YAAY,CAACE,OAAO,CAAA;QAEpDzE,aAAa,CAACwE,MAAM,CAAC,CAAA;AACzB,OAAC,MAAM,IAAIvE,qBAAqB,CAACwE,OAAO,KAAK,IAAI,EAAE;QAC/CxE,qBAAqB,CAACwE,OAAO,GAAG,IAAI,CAAA;QAEpCzE,aAAa,CAAC,EAAE,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;AAED,IAAA,IAAM2E,cAAc,GAAG,SAAjBA,cAAcA,GAAS;MACzB,IAAMC,kBAAkB,GAAGxH,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,CAAEyH,WAAW,CAAA;MAC3D,IAAI,CAACD,kBAAkB,EAAE;AACrB,QAAA,OAAO7E,UAAU,CAAA;AACrB,OAAA;AAEA,MAAA,oBAAO+E,KAAA,CAAAC,aAAA,CAACH,kBAAkB,EAAA,IAAA,EAAE7E,UAA+B,CAAC,CAAA;KAC/D,CAAA;AAEDiF,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI7F,QAAQ,KAAK4B,aAAa,EAAE;AAC5BF,QAAAA,QAAQ,CAAC;UACL1D,IAAI,EAAE8H,UAAU,CAACC,qBAAqB;AACtCC,UAAAA,OAAO,EAAE;AAAEpE,YAAAA,aAAa,EAAbA,aAAa;AAAEE,YAAAA,IAAI,EAAEmE,OAAO,CAACrE,aAAa,CAAC,CAAA,QAAA,CAAA;AAAQ,WAAA;AAClE,SAAC,CAAC,CAAA;QAEF3B,WAAW,CAAC2B,aAAa,CAAC,CAAA;AAC9B,OAAA;AACJ,KAAC,EAAE,CAACA,aAAa,CAAC,CAAC,CAAA;AAEnBiE,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI7F,QAAQ,KAAKhC,IAAI,EAAE;AACnB0D,QAAAA,QAAQ,CAAC;UACL1D,IAAI,EAAE8H,UAAU,CAACC,qBAAqB;AACtCC,UAAAA,OAAO,EAAE;AAAEpE,YAAAA,aAAa,EAAE5D,IAAI;AAAE8D,YAAAA,IAAI,EAAEmE,OAAO,CAACjI,IAAI,CAAC,CAAA,QAAA,CAAA;AAAQ,WAAA;AAC/D,SAAC,CAAC,CAAA;QAEFiC,WAAW,CAACjC,IAAI,CAAC,CAAA;AACrB,OAAA;AACJ,KAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAA;AAEV6H,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAKrI,KAAK,IAAI4C,SAAS,IAAI8F,aAAa,CAAC1I,KAAK,EAAE4C,SAAS,CAAC,IAAM5C,KAAK,IAAI,CAAC4C,SAAU,EAAE;AAClF,QAAA,IAAA+F,iBAAA,GAAyCvB,gBAAgB,EAAE;UAAAwB,kBAAA,GAAA9G,cAAA,CAAA6G,iBAAA,EAAA,CAAA,CAAA;AAApDE,UAAAA,cAAc,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,kBAAA,CAAA,CAAA,CAAA,CAAA;AAErC,QAAA,IAAI5I,KAAK,GAAG8I,cAAc,IAAI9I,KAAK,GAAG6I,cAAc,EAAE;AAClD3E,UAAAA,QAAQ,CAAC;YACL1D,IAAI,EAAE8H,UAAU,CAACS,WAAW;AAC5BP,YAAAA,OAAO,EAAE;AAAExI,cAAAA,KAAK,EAALA,KAAAA;AAAM,aAAA;AACrB,WAAC,CAAC,CAAA;AACN,SAAA;AACJ,OAAA;AAEA,MAAA,IAAI,CAACA,KAAK,IAAI,CAAC4C,SAAS,EAAE;AACtBsB,QAAAA,QAAQ,CAAC;UACL1D,IAAI,EAAE8H,UAAU,CAACS,WAAW;AAC5BP,UAAAA,OAAO,EAAE;AAAExI,YAAAA,KAAK,EAAEK,cAAc,IAAIH,GAAG,IAAI,IAAIyD,IAAI,EAAC;AAAE,WAAA;AAC1D,SAAC,CAAC,CAAA;AACN,OAAA;MAEAd,YAAY,CAAC7C,KAAK,CAAC,CAAA;AACvB,KAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;AAEXqI,IAAAA,SAAS,CAAC,YAAM;MACZ3D,YAAY,CAACP,IAAI,CAAC,CAAA;AAElBkC,MAAAA,gBAAgB,EAAE,CAAA;AACtB,KAAC,EAAE,CAAClC,IAAI,EAAEC,aAAa,CAAC,CAAC,CAAA;AAEzB,IAAA,oBACI+D,KAAA,CAAAC,aAAA,CAAC1I,IAAI,EAAAsJ,QAAA,CAAA;AACDC,MAAAA,GAAG,EAAExF,YAAa;AAClB3D,MAAAA,SAAS,EAAEoJ,GAAG,CAACpJ,SAAS,EAAAqJ,eAAA,CAAKC,EAAAA,EAAAA,OAAO,CAAChI,SAAS,EAAGA,SAAS,CAAE,CAAE;AAC9D,MAAA,YAAA,EAAYiI,IAAI,CAACC,UAAU,CAACnI,MAAM,CAAE;AACpCoI,MAAAA,gBAAgB,EAAE9I,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAmB,CAAE6D,IAAAA;KACnChD,EAAAA,IAAI,GAEPuE,YAAY,iBACTsC,KAAA,CAAAC,aAAA,CAACoB,YAAY,EAAA;AACTC,MAAAA,GAAG,EAAEzG,aAAc;AACnB,MAAA,aAAA,EAAY,MAAM;AAClB0G,MAAAA,IAAI,EAAC,OAAO;AACZ,MAAA,WAAA,EAAU,WAAW;MACrB,eAAc,EAAA,WAAA;AAAW,KAAA,EAC5B,8HAEa,CACjB,eACDvB,KAAA,CAAAC,aAAA,CAACuB,cAAc,EAAA;MACXtE,QAAQ,EAAA,IAAA;MACRf,IAAI,EAAEhD,IAAI,CAACgD,IAAK;AAChBG,MAAAA,SAAS,EAAEA,SAAU;AACrBI,MAAAA,UAAU,EAAEA,UAAW;AACvBR,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,IAAI,EAAE4D,aAAc;AACpBmB,MAAAA,MAAM,EAAEL,UAAW;AACnBI,MAAAA,MAAM,EAAEL,UAAW;AACnB2E,MAAAA,qBAAqB,EAAExD,yBAA0B;AACjDjF,MAAAA,MAAM,EAAEA,MAAAA;KACX,CAAC,eAEFgH,KAAA,CAAAC,aAAA,CAACyB,aAAa,EACTzF,IAAAA,EAAAA,aAAa,KAAKkC,aAAa,CAACC,IAAI,iBACjC4B,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA2B,QAAA,EAAA,IAAA,eACI3B,KAAA,CAAAC,aAAA,CAAC2B,YAAY,EAAA;AACT/J,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEM,SAAU;AAChBvE,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BL,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnC0J,MAAAA,UAAU,EAAE5H,WAAY;AACxBqD,MAAAA,aAAa,EAAEA,aAAc;AAC7BwE,MAAAA,WAAW,EAAEjE,iBAAkB;AAC/BkE,MAAAA,UAAU,EAAE7H,cAAe;AAC3B8H,MAAAA,aAAa,EAAExE,eAAgB;AAC/ByE,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;AACrBzE,MAAAA,MAAM,EAAEA,MAAO;MACfkE,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAgF,gBAAA,KAAAA,gBAAA,gBACFlC,KAAA,CAAAC,aAAA,CAACkC,eAAe,MAAE,CAAC,CAAA,eACnBnC,KAAA,CAAAC,aAAA,CAAC2B,YAAY,EAAA;AACT/J,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEU,UAAW;AACjB3E,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BL,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnC0J,MAAAA,UAAU,EAAE5H,WAAY;AACxBqD,MAAAA,aAAa,EAAEA,aAAc;AAC7BwE,MAAAA,WAAW,EAAEjE,iBAAkB;AAC/BkE,MAAAA,UAAU,EAAE7H,cAAe;AAC3B8H,MAAAA,aAAa,EAAExE,eAAgB;AAC/ByE,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;AACrBzE,MAAAA,MAAM,EAAEA,MAAO;MACfkE,QAAQ,EAAA,IAAA;MACRkF,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACAnG,aAAa,KAAKkC,aAAa,CAACU,MAAM,iBACnCmB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA2B,QAAA,qBACI3B,KAAA,CAAAC,aAAA,CAACoC,cAAc,EAAA;AACXxK,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEM,SAAU;AAChBvE,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChC4J,MAAAA,YAAY,EAAErI,WAAY;AAC1BqD,MAAAA,aAAa,EAAEA,aAAc;AAC7BiF,MAAAA,aAAa,EAAEzE,mBAAoB;AACnCkE,MAAAA,aAAa,EAAExE,eAAgB;AAC/BgF,MAAAA,YAAY,EAAEtI,cAAe;AAC7B+H,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;AACrBzE,MAAAA,MAAM,EAAEA,MAAO;MACfkE,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAuF,iBAAA,KAAAA,iBAAA,gBACFzC,KAAA,CAAAC,aAAA,CAACkC,eAAe,MAAE,CAAC,CAAA,eACnBnC,KAAA,CAAAC,aAAA,CAACoC,cAAc,EAAA;AACXxK,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEU,UAAW;AACjB3E,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChC4J,MAAAA,YAAY,EAAErI,WAAY;AAC1BqD,MAAAA,aAAa,EAAEA,aAAc;AAC7BiF,MAAAA,aAAa,EAAEzE,mBAAoB;AACnCkE,MAAAA,aAAa,EAAExE,eAAgB;AAC/BgF,MAAAA,YAAY,EAAEtI,cAAe;AAC7B+H,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;AACrBzE,MAAAA,MAAM,EAAEA,MAAO;MACfkE,QAAQ,EAAA,IAAA;MACRkF,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACAnG,aAAa,KAAKkC,aAAa,CAACW,QAAQ,iBACrCkB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA2B,QAAA,qBACI3B,KAAA,CAAAC,aAAA,CAACyC,gBAAgB,EAAA;AACb7K,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEM,SAAU;AAChBvE,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClC+J,MAAAA,cAAc,EAAE1I,WAAY;AAC5BqD,MAAAA,aAAa,EAAEA,aAAc;AAC7BsF,MAAAA,eAAe,EAAE7E,qBAAsB;AACvCiE,MAAAA,aAAa,EAAExE,eAAgB;AAC/BqF,MAAAA,cAAc,EAAE3I,cAAe;AAC/B+H,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAA4F,iBAAA,KAAAA,iBAAA,gBACF9C,KAAA,CAAAC,aAAA,CAACkC,eAAe,MAAE,CAAC,CAAA,eACnBnC,KAAA,CAAAC,aAAA,CAACyC,gBAAgB,EAAA;AACb7K,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEU,UAAW;AACjB3E,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClC+J,MAAAA,cAAc,EAAE1I,WAAY;AAC5BqD,MAAAA,aAAa,EAAEA,aAAc;AAC7BsF,MAAAA,eAAe,EAAE7E,qBAAsB;AACvCiE,MAAAA,aAAa,EAAExE,eAAgB;AAC/BqF,MAAAA,cAAc,EAAE3I,cAAe;AAC/B+H,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;MACRkF,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACAnG,aAAa,KAAKkC,aAAa,CAACY,KAAK,iBAClCiB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA2B,QAAA,qBACI3B,KAAA,CAAAC,aAAA,CAAC8C,aAAa,EAAA;AACVlL,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEM,SAAU;AAChBJ,MAAAA,SAAS,EAAEA,SAAU;AACrBoB,MAAAA,aAAa,EAAEA,aAAc;AAC7BvF,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/BkK,MAAAA,WAAW,EAAE/I,WAAY;AACzBgJ,MAAAA,YAAY,EAAEjF,kBAAmB;AACjCgE,MAAAA,aAAa,EAAExE,eAAgB;AAC/B0F,MAAAA,WAAW,EAAEhJ,cAAe;AAC5B+H,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAiG,iBAAA,KAAAA,iBAAA,gBACFnD,KAAA,CAAAC,aAAA,CAACkC,eAAe,MAAE,CAAC,CAAA,eACnBnC,KAAA,CAAAC,aAAA,CAAC8C,aAAa,EAAA;AACVlL,MAAAA,KAAK,EAAED,aAAc;AACrBoE,MAAAA,IAAI,EAAEU,UAAW;MACjBR,SAAS,EAAEA,SAAS,GAAG8C,iBAAkB;AACzC1B,MAAAA,aAAa,EAAEA,aAAc;AAC7BvF,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTM,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/BkK,MAAAA,WAAW,EAAE/I,WAAY;AACzBgJ,MAAAA,YAAY,EAAEjF,kBAAmB;AACjCgE,MAAAA,aAAa,EAAExE,eAAgB;AAC/B0F,MAAAA,WAAW,EAAEhJ,cAAe;AAC5B+H,MAAAA,qBAAqB,EAAEzC,yBAA0B;AACjDjC,MAAAA,SAAS,EAAE4B,aAAc;AACzB1B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;MACRkF,QAAQ,EAAA,IAAA;KACX,CACH,CAEK,CAAC,EAEfjH,qBAAqB,CAACwE,OAAO,KAAI1E,UAAU,KAAVA,IAAAA,IAAAA,UAAU,uBAAVA,UAAU,CAAE2E,MAAM,CAChDI,iBAAAA,KAAA,CAAAC,aAAA,CAACmD,YAAY,EAAAvC,QAAA,CAAA;MACTwC,MAAM,EAAEC,OAAO,CAACrI,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAE2E,MAAM,CAAE;AACpC2D,MAAAA,MAAM,EAAEpI,qBAAsB;AAC9BqI,MAAAA,KAAK,EAAEnI,OAAQ;MACfoI,IAAI,EAAE5D,cAAc,EAAG;AACvB6D,MAAAA,OAAO,EAAC,OAAA;KACJpL,EAAAA,mBAAmB,CAC1B,CAEH,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMqL,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExM,kBAAkB;AAC1ByM,EAAAA,IAAI,EAAEC,cAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDjI,IAAAA,IAAI,EAAE;AACFgI,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDjD,IAAAA,gBAAgB,EAAE;AACd+C,MAAAA,GAAG,EAAEG,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNL,IAAAA,IAAI,EAAE,SAAS;AACf/H,IAAAA,IAAI,EAAE,GAAG;AACTmI,IAAAA,mBAAmB,EAAE,GAAA;AACzB,GAAA;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n KeyboardEvent,\n useEffect,\n useReducer,\n ReactNode,\n useRef,\n MutableRefObject,\n HTMLAttributes,\n} from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate, I18N } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears, EventTooltip } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (\n Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement> & { eventTooltipSize?: string }>,\n) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [eventNodes, setEventNodes] = useState<ReactNode[]>([]);\n const eventTooltipTargetRef = useRef<HTMLDivElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const innerRootRef = useForkRef(rootRef, outerRootRef);\n\n const min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n if (min) {\n min.setHours(0, 0, 0);\n }\n if (max) {\n max.setHours(23, 59, 59);\n }\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n const handleTriggerEventTooltip = (\n structureRef?: MutableRefObject<HTMLDivElement | null>,\n events?: ReactNode[],\n ) => {\n if (structureRef?.current && events?.length) {\n eventTooltipTargetRef.current = structureRef.current;\n\n setEventNodes(events);\n } else if (eventTooltipTargetRef.current !== null) {\n eventTooltipTargetRef.current = null;\n\n setEventNodes([]);\n }\n };\n\n const tooltipContent = () => {\n const TooltipBodyWrapper = eventTooltipOptions?.bodyWrapper;\n if (!TooltipBodyWrapper) {\n return eventNodes;\n }\n\n return <TooltipBodyWrapper>{eventNodes}</TooltipBodyWrapper>;\n };\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\n\n useEffect(() => {\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root\n ref={innerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n\n {eventTooltipTargetRef.current && eventNodes?.length && (\n <EventTooltip\n opened={Boolean(eventNodes?.length)}\n target={eventTooltipTargetRef}\n frame={rootRef}\n text={tooltipContent()}\n trigger=\"hover\"\n {...eventTooltipOptions}\n />\n )}\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 size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useState9","_useState10","eventNodes","setEventNodes","eventTooltipTargetRef","useRef","rootRef","innerRootRef","useForkRef","Date","setHours","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState11","_useState12","firstDate","setFirstDate","_useState13","_useState14","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","handleTriggerEventTooltip","structureRef","events","current","length","tooltipContent","TooltipBodyWrapper","bodyWrapper","React","createElement","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","eventTooltipSize","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","onTriggerEventTooltip","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","EventTooltip","opened","Boolean","target","frame","text","trigger","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","eventTooltipSizeCSS","defaults"],"mappings":"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"}
|
|
@@ -132,6 +132,25 @@
|
|
|
132
132
|
.SelectAll_styles_tjme4i_d4ty997__a0f87d11{background:var(--surface-solid-card);}
|
|
133
133
|
.SelectAll_styles_tjme4i_dxn0wk6__a0f87d11{height:0.0625rem;margin-top:var(--dxn0wk6-0);margin-right:var(--plasma-combobox-divider-margin-right);margin-left:var(--plasma-combobox-divider-margin-left);background:var(--plasma-combobox-divider-color);}
|
|
134
134
|
|
|
135
|
+
|
|
136
|
+
.Item_styles_7nhjnm_swacibr__bb9b6d83{--plasma-cell-title-color:var(--text-primary);--plasma-cell-background-color:var(--surface-clear);--plasma-cell-padding:var(--plasma-combobox-cell-padding);--plasma-cell-padding-left-content:var(--plasma-combobox-cell-padding-left-content);--plasma-cell-padding-content:var(--plasma-combobox-cell-padding-content);--plasma-cell-padding-right-content:var(--plasma-combobox-cell-padding-right-content);--plasma-cell-textbox-gap:var(--plasma-combobox-cell-textbox-gap);--plasma-cell-gap:var(--plasma-combobox-cell-gap);--plasma-cell-title-font-family:var(--plasma-combobox-cell-title-font-family);--plasma-cell-title-font-size:var(--plasma-combobox-cell-title-font-size);--plasma-cell-title-font-style:var(--plasma-combobox-cell-title-font-style);--plasma-cell-title-font-weight:var(--plasma-combobox-cell-title-font-weight);--plasma-cell-title-letter-spacing:var(--plasma-combobox-cell-title-letter-spacing);--plasma-cell-title-line-height:var(--plasma-combobox-cell-title-line-height);width:100%;}
|
|
137
|
+
|
|
138
|
+
.Item_styles_7nhjnm_srzm47e__bb9b6d83{--plasma-checkbox-trigger-size:var(--plasma-combobox-checkbox-trigger-size);--plasma-checkbox-trigger-border-radius:var(--plasma-combobox-checkbox-trigger-border-radius);--plasma-checkbox-fill-color:var(--plasma-combobox-checkbox-fill-color);--plasma-checkbox-icon-color:var(--plasma-combobox-checkbox-icon-color);--plasma-checkbox-trigger-border-color:var(--plasma-combobox-checkbox-trigger-border-color);--plasma-checkbox-trigger-border-checked-color:var(--plasma-combobox-checkbox-trigger-border-checked-color);--plasma-checkbox-trigger-border-width:var(--plasma-combobox-checkbox-trigger-border-width);}
|
|
139
|
+
.Item_styles_7nhjnm_s192qkx1__bb9b6d83{--plasma-indicator-size:var(--plasma-combobox-indicator-size);--plasma-indicator-color:var(--plasma-combobox-item-icon-color);}
|
|
140
|
+
.Item_styles_7nhjnm_s1q9myss__bb9b6d83{width:var(--s1q9myss-0);height:var(--s1q9myss-0);}.Item_styles_7nhjnm_s1q9myss__bb9b6d83.Item_styles_7nhjnm_arrowInverse__bb9b6d83{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}
|
|
141
|
+
.Item_styles_7nhjnm_s10m1bkx__bb9b6d83{width:var(--s10m1bkx-0);height:var(--s10m1bkx-0);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Item_styles_7nhjnm_s10m1bkx__bb9b6d83.Item_styles_7nhjnm_arrowInverse__bb9b6d83{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}
|
|
142
|
+
.Item_styles_7nhjnm_s1r53w2d__bb9b6d83{width:var(--s1r53w2d-0);height:var(--s1r53w2d-0);}
|
|
143
|
+
.Item_styles_7nhjnm_d1v61vfm__bb9b6d83{line-height:0;color:var(--plasma-combobox-disclosure-icon-color);visibility:var(--d1v61vfm-0);}.Item_styles_7nhjnm_d1v61vfm__bb9b6d83:hover{color:var(--plasma-combobox-disclosure-icon-color-hover);}
|
|
144
|
+
.Item_styles_7nhjnm_i6hijvp__bb9b6d83{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex:none;-ms-flex:none;flex:none;width:var(--i6hijvp-0);height:var(--i6hijvp-0);line-height:0;color:var(--plasma-combobox-item-icon-color);}
|
|
145
|
+
.Item_styles_7nhjnm_s1j1q6dk__bb9b6d83{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
|
|
146
|
+
.Item_styles_7nhjnm_w1ftsp23__bb9b6d83{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-select-item-gap);min-height:var(--plasma-combobox-item-height);margin:0;box-sizing:content-box;padding:var(--w1ftsp23-0);font-family:var(--plasma-combobox-font-family);font-size:var(--plasma-combobox-font-size);font-style:var(--plasma-combobox-font-style);font-weight:var(--plasma-combobox-font-weight);-webkit-letter-spacing:var(--plasma-combobox-font-letter-spacing);-moz-letter-spacing:var(--plasma-combobox-font-letter-spacing);-ms-letter-spacing:var(--plasma-combobox-font-letter-spacing);letter-spacing:var(--plasma-combobox-font-letter-spacing);line-height:var(--plasma-combobox-font-line-height);background-color:var(--surface-clear);color:var(--text-primary);border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83:hover:not(.Item_styles_7nhjnm_dropdownItemIsDisabled__bb9b6d83){cursor:pointer;background-color:var(--plasma-combobox-item-background-hover);}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83.Item_styles_7nhjnm_dropdownItemIsActive__bb9b6d83{background-color:var(--plasma-combobox-item-background-hover);}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83.Item_styles_7nhjnm_dropdownItemIsDisabled__bb9b6d83{opacity:0.4;cursor:not-allowed;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83:focus{outline:none;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.Item_styles_7nhjnm_w1ftsp23__bb9b6d83.Item_styles_7nhjnm_dropdownItemIsFocused__bb9b6d83:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
.Item_styles_7nhjnm_omc64gp__bb9b6d83{width:calc(var(--omc64gp-0) * var(--plasma-select-item-tree-offset-width));-webkit-flex:none;-ms-flex:none;flex:none;margin-right:calc(var(--plasma-select-item-gap) * -1);}
|
|
150
|
+
|
|
151
|
+
.TreeList_styles_1auklgl_l1ob9zdf__e765a7ed{width:100%;padding:calc(var(--plasma-combobox-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-combobox-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
|
152
|
+
.TreeList_styles_1auklgl_s189uhoe__e765a7ed{max-height:var(--s189uhoe-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-combobox-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));}
|
|
153
|
+
|
|
135
154
|
.base_jfbpjg_b1ty39ru__57cb1989{color:var(--plasma-button-color);background:var(--plasma-button-background-color);}.base_jfbpjg_b1ty39ru__57cb1989.base_jfbpjg_buttonLoading__57cb1989{background:var(--plasma-button-loading-background-color);}.base_jfbpjg_b1ty39ru__57cb1989:hover{color:var(--plasma-button-color-hover,var(--plasma-button-color));background:var(--plasma-button-background-color-hover,var(--plasma-button-background-color));scale:var(--plasma-button-scale-hover);}.base_jfbpjg_b1ty39ru__57cb1989:active{color:var(--plasma-button-color-active,var(--plasma-button-color));background:var(--plasma-button-background-color-active,var(--plasma-button-background-color));scale:var(---plasma-button-scale-active);}
|
|
136
155
|
|
|
137
156
|
.base_1alzrso_be0ha5g__cdc67255{height:var(--plasma-button-height);padding:0 var(--plasma-button-padding,calc(var(--plasma-button-height) * 1.618 / 4));font-family:var(--plasma-button-font-family);font-size:var(--plasma-button-font-size);font-style:var(--plasma-button-font-style);font-weight:var(--plasma-button-font-weight);-webkit-letter-spacing:var(--plasma-button-letter-spacing);-moz-letter-spacing:var(--plasma-button-letter-spacing);-ms-letter-spacing:var(--plasma-button-letter-spacing);letter-spacing:var(--plasma-button-letter-spacing);line-height:var(--plasma-button-line-height);--plasma_private-btn-outline-size:var(--plasma-button-outline-size,0.0625rem);}
|
|
@@ -5,7 +5,7 @@ import { classes } from './Combobox.tokens.js';
|
|
|
5
5
|
import { FloatingPopover } from './FloatingPopover.js';
|
|
6
6
|
import { getItemByFocused, useKeyNavigation } from './hooks/useKeyboardNavigation.js';
|
|
7
7
|
import { getTreeMaps, getPathMap } from './hooks/getPathMaps.js';
|
|
8
|
-
import { IconArrowWrapper, StyledArrow, StyledLeftHelper, ListWrapper, Ul,
|
|
8
|
+
import { IconArrowWrapper, StyledArrow, StyledLeftHelper, StyledEmptyState, ListWrapper, Ul, base } from './Combobox.styles.js';
|
|
9
9
|
import { base as base$1 } from './variations/_view/base.js';
|
|
10
10
|
import { base as base$2 } from './variations/_size/base.js';
|
|
11
11
|
import { SelectNative } from './ui/SelectNative/SelectNative.js';
|
|
@@ -13,9 +13,10 @@ import { Context } from './Combobox.context.js';
|
|
|
13
13
|
import { initialItemsTransform } from './utils/initialItemsTransform.js';
|
|
14
14
|
import { getTextValue } from './utils/getTextValue.js';
|
|
15
15
|
import { safeUseId } from '../../../utils/react.js';
|
|
16
|
-
import { filterItems } from './utils/filterItems.js';
|
|
16
|
+
import { filterItems, defaultFilter } from './utils/filterItems.js';
|
|
17
17
|
import { pathReducer } from './reducers/pathReducer.js';
|
|
18
18
|
import { focusedPathReducer } from './reducers/focusedPathReducer.js';
|
|
19
|
+
import { treePathReducer } from './reducers/treePathReducer.js';
|
|
19
20
|
import { useOutsideClick } from '../../../hooks/useOutsideClick.js';
|
|
20
21
|
import { isEmpty } from '../../../utils/isEmpty.js';
|
|
21
22
|
import { updateDescendants } from './utils/updateDescendants.js';
|
|
@@ -25,11 +26,12 @@ import { useDidMountLayoutEffect } from '../../../hooks/useDidMountLayoutEffect.
|
|
|
25
26
|
import { StyledTextField } from './ui/Target/Target.styles.js';
|
|
26
27
|
import { sizeToIconSize } from '../../Select/utils/sizeToIconSize.js';
|
|
27
28
|
import { getItemId } from './utils/getItemId.js';
|
|
29
|
+
import { TreeList } from './ui/TreeList/TreeList.js';
|
|
28
30
|
import { SelectAll } from './ui/SelectAll/SelectAll.js';
|
|
29
31
|
import { VirtualList } from './ui/VirtualList/VirtualList.js';
|
|
30
32
|
import { Inner } from './ui/Inner/Inner.js';
|
|
31
33
|
|
|
32
|
-
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "mode", "chipClickArea", "_offset"];
|
|
34
|
+
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "treeView", "arrowPlacement", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize", "emptyStateDescription", "onChangeValue", "onScroll", "onToggle", "mode", "chipClickArea", "_offset"];
|
|
33
35
|
|
|
34
36
|
/**
|
|
35
37
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
|
@@ -45,6 +47,10 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
45
47
|
isTargetAmount = props.isTargetAmount,
|
|
46
48
|
targetAmount = props.targetAmount,
|
|
47
49
|
items = props.items,
|
|
50
|
+
_props$treeView = props.treeView,
|
|
51
|
+
treeView = _props$treeView === void 0 ? false : _props$treeView,
|
|
52
|
+
_props$arrowPlacement = props.arrowPlacement,
|
|
53
|
+
arrowPlacement = _props$arrowPlacement === void 0 ? 'left' : _props$arrowPlacement,
|
|
48
54
|
_props$placement = props.placement,
|
|
49
55
|
placement = _props$placement === void 0 ? 'bottom-start' : _props$placement,
|
|
50
56
|
label = props.label,
|
|
@@ -98,13 +104,18 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
98
104
|
var _useMemo = useMemo(function () {
|
|
99
105
|
return getTreeMaps(transformedItems);
|
|
100
106
|
}, [items]),
|
|
101
|
-
_useMemo2 = _slicedToArray(_useMemo,
|
|
107
|
+
_useMemo2 = _slicedToArray(_useMemo, 3),
|
|
102
108
|
valueToCheckedMap = _useMemo2[0],
|
|
103
|
-
valueToItemMap = _useMemo2[1]
|
|
109
|
+
valueToItemMap = _useMemo2[1],
|
|
110
|
+
valueToPathMap = _useMemo2[2];
|
|
111
|
+
|
|
112
|
+
// Состояние поля поиска в target
|
|
104
113
|
var _useState = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue)),
|
|
105
114
|
_useState2 = _slicedToArray(_useState, 2),
|
|
106
115
|
textValue = _useState2[0],
|
|
107
|
-
|
|
116
|
+
setTextValueState = _useState2[1];
|
|
117
|
+
|
|
118
|
+
// Внутреннее состояние выбранных элементов
|
|
108
119
|
var _useState3 = useState(multiple ? [] : ''),
|
|
109
120
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
110
121
|
internalValue = _useState4[0],
|
|
@@ -116,9 +127,10 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
116
127
|
var inputForkRef = useForkRef(inputRef, ref);
|
|
117
128
|
var listWrapperRef = useRef(null);
|
|
118
129
|
var treeId = safeUseId();
|
|
130
|
+
var filterCb = filter || defaultFilter;
|
|
119
131
|
var filteredItems = useMemo(function () {
|
|
120
132
|
return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
|
|
121
|
-
}, [transformedItems, textValue, filter]);
|
|
133
|
+
}, [transformedItems, textValue, filter, value]);
|
|
122
134
|
var _useMemo3 = useMemo(function () {
|
|
123
135
|
return getPathMap(filteredItems);
|
|
124
136
|
}, [filteredItems, textValue]),
|
|
@@ -140,10 +152,20 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
140
152
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
141
153
|
checked = _useState6[0],
|
|
142
154
|
setChecked = _useState6[1];
|
|
155
|
+
var _useReducer5 = useReducer(treePathReducer, {}),
|
|
156
|
+
_useReducer6 = _slicedToArray(_useReducer5, 2),
|
|
157
|
+
treePath = _useReducer6[0],
|
|
158
|
+
dispatchTreePath = _useReducer6[1];
|
|
143
159
|
var isCurrentListOpen = Boolean(path[0]);
|
|
144
160
|
var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
|
|
145
161
|
var withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;
|
|
146
162
|
var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !multiple;
|
|
163
|
+
var setTextValue = function setTextValue(newTextValue) {
|
|
164
|
+
setTextValueState(newTextValue);
|
|
165
|
+
if (onChangeValue) {
|
|
166
|
+
onChangeValue(newTextValue);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
147
169
|
|
|
148
170
|
/* Логика работы при клике за пределами выпадающего списка */
|
|
149
171
|
useOutsideClick(function () {
|
|
@@ -151,9 +173,6 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
151
173
|
return;
|
|
152
174
|
}
|
|
153
175
|
handleListToggle(false);
|
|
154
|
-
|
|
155
|
-
// Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
|
|
156
|
-
setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
|
|
157
176
|
}, [floatingPopoverRef, listWrapperRef]);
|
|
158
177
|
|
|
159
178
|
// Эта функция срабатывает при изменении Combobox и
|
|
@@ -206,11 +225,14 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
206
225
|
onChange(value.filter(function (val) {
|
|
207
226
|
var _valueToItemMap$get;
|
|
208
227
|
return valueToItemMap === null || valueToItemMap === void 0 || (_valueToItemMap$get = valueToItemMap.get(val)) === null || _valueToItemMap$get === void 0 ? void 0 : _valueToItemMap$get.disabled;
|
|
209
|
-
}));
|
|
228
|
+
}), null);
|
|
210
229
|
} else {
|
|
211
230
|
onChange(value.filter(function (val) {
|
|
212
231
|
return val !== chip.value;
|
|
213
|
-
}), valueToItemMap.get(chip.value) ||
|
|
232
|
+
}), valueToItemMap.get(chip.value) || {
|
|
233
|
+
value: chip.value,
|
|
234
|
+
label: chip.label
|
|
235
|
+
});
|
|
214
236
|
}
|
|
215
237
|
};
|
|
216
238
|
|
|
@@ -231,6 +253,12 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
231
253
|
dispatchPath({
|
|
232
254
|
type: 'reset'
|
|
233
255
|
});
|
|
256
|
+
dispatchTreePath({
|
|
257
|
+
type: 'reset'
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
|
|
261
|
+
setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
|
|
234
262
|
|
|
235
263
|
// Скроллим чипы к левому краю при закрытии компонента
|
|
236
264
|
var el = rootRef === null || rootRef === void 0 || (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelector('.input-scrollable-wrapper');
|
|
@@ -293,6 +321,9 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
293
321
|
dispatchFocusedPath({
|
|
294
322
|
type: 'reset'
|
|
295
323
|
});
|
|
324
|
+
dispatchTreePath({
|
|
325
|
+
type: 'reset'
|
|
326
|
+
});
|
|
296
327
|
}
|
|
297
328
|
if (onChange) {
|
|
298
329
|
onChange(newValues, item);
|
|
@@ -319,6 +350,9 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
319
350
|
dispatchFocusedPath({
|
|
320
351
|
type: 'reset'
|
|
321
352
|
});
|
|
353
|
+
dispatchTreePath({
|
|
354
|
+
type: 'reset'
|
|
355
|
+
});
|
|
322
356
|
}
|
|
323
357
|
|
|
324
358
|
// Закрываем список, если элемент уже выбран.
|
|
@@ -387,7 +421,12 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
387
421
|
multiple: multiple,
|
|
388
422
|
value: value,
|
|
389
423
|
textValue: textValue,
|
|
390
|
-
valueToItemMap: valueToItemMap
|
|
424
|
+
valueToItemMap: valueToItemMap,
|
|
425
|
+
treePath: treePath,
|
|
426
|
+
dispatchTreePath: dispatchTreePath,
|
|
427
|
+
treeView: treeView,
|
|
428
|
+
valueToPathMap: valueToPathMap,
|
|
429
|
+
items: filteredItems
|
|
391
430
|
}),
|
|
392
431
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
|
393
432
|
|
|
@@ -443,6 +482,30 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
443
482
|
setInternalValue(defaultValue);
|
|
444
483
|
}
|
|
445
484
|
}, [defaultValue]);
|
|
485
|
+
|
|
486
|
+
// Эффект для раскрытия дерева при поиске.
|
|
487
|
+
useLayoutEffect(function () {
|
|
488
|
+
if (treeView) {
|
|
489
|
+
// Если поле ввода стало пустым или если пользователь выбирает элемент,
|
|
490
|
+
// то скрываем все узлы дерева и выходим из эффекта.
|
|
491
|
+
if (textValue === '' || textValue === getTextValue(multiple, value, valueToItemMap, renderValue)) {
|
|
492
|
+
dispatchTreePath({
|
|
493
|
+
type: 'reset'
|
|
494
|
+
});
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
// Иначе раскрываем все узлы, когда пользователь начинает вводить текст в поле ввода.
|
|
499
|
+
dispatchTreePath({
|
|
500
|
+
type: 'expand_by_key',
|
|
501
|
+
value: {
|
|
502
|
+
filteredItems: filteredItems,
|
|
503
|
+
filterCb: filterCb,
|
|
504
|
+
textValue: textValue
|
|
505
|
+
}
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
}, [textValue]);
|
|
446
509
|
return /*#__PURE__*/React.createElement(Root, {
|
|
447
510
|
size: size,
|
|
448
511
|
view: view,
|
|
@@ -475,7 +538,11 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
475
538
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
476
539
|
// @ts-ignore
|
|
477
540
|
// eslint-disable-next-line no-underscore-dangle
|
|
478
|
-
_checkboxAppearance: rest._checkboxAppearance
|
|
541
|
+
_checkboxAppearance: rest._checkboxAppearance,
|
|
542
|
+
treePath: treePath,
|
|
543
|
+
dispatchTreePath: dispatchTreePath,
|
|
544
|
+
arrowPlacement: arrowPlacement,
|
|
545
|
+
valueToPathMap: valueToPathMap
|
|
479
546
|
}
|
|
480
547
|
}, /*#__PURE__*/React.createElement(FloatingPopover, {
|
|
481
548
|
ref: floatingPopoverRef,
|
|
@@ -541,7 +608,18 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
541
608
|
disabled: disabled,
|
|
542
609
|
readOnly: readOnly,
|
|
543
610
|
name: name
|
|
544
|
-
}, /*#__PURE__*/React.createElement(
|
|
611
|
+
}, isEmpty(filteredItems) ? /*#__PURE__*/React.createElement(StyledEmptyState, {
|
|
612
|
+
className: classes.emptyStateWrapper,
|
|
613
|
+
size: size,
|
|
614
|
+
description: emptyStateDescription || 'Ничего не найдено'
|
|
615
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, treeView ? /*#__PURE__*/React.createElement(TreeList, {
|
|
616
|
+
items: filteredItems,
|
|
617
|
+
listMaxHeight: listMaxHeight || listHeight,
|
|
618
|
+
onScroll: virtual ? undefined : onScroll,
|
|
619
|
+
virtual: virtual,
|
|
620
|
+
beforeList: beforeList,
|
|
621
|
+
afterList: afterList
|
|
622
|
+
}) : /*#__PURE__*/React.createElement(ListWrapper, {
|
|
545
623
|
ref: listWrapperRef,
|
|
546
624
|
listWidth: listWidth
|
|
547
625
|
}, /*#__PURE__*/React.createElement(Ul, {
|
|
@@ -551,11 +629,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
551
629
|
listMaxHeight: listMaxHeight || listHeight,
|
|
552
630
|
virtual: virtual,
|
|
553
631
|
onScroll: virtual ? undefined : onScroll
|
|
554
|
-
}, beforeList,
|
|
555
|
-
className: classes.emptyStateWrapper,
|
|
556
|
-
size: size,
|
|
557
|
-
description: emptyStateDescription || 'Ничего не найдено'
|
|
558
|
-
}) : /*#__PURE__*/React.createElement(React.Fragment, null, props.multiple && props.selectAllOptions &&
|
|
632
|
+
}, beforeList, props.multiple && props.selectAllOptions &&
|
|
559
633
|
/*#__PURE__*/
|
|
560
634
|
// TODO: #2004
|
|
561
635
|
React.createElement(SelectAll, {
|
|
@@ -576,7 +650,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
576
650
|
listWidth: listWidth,
|
|
577
651
|
portal: listWrapperRef
|
|
578
652
|
});
|
|
579
|
-
})
|
|
653
|
+
}), afterList))))))));
|
|
580
654
|
});
|
|
581
655
|
};
|
|
582
656
|
var comboboxConfig = {
|