@salutejs/plasma-new-hope 0.343.0 → 0.344.0-canary.2378.20101080063.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/_Slot/Slot.js +60 -0
- package/cjs/components/_Slot/Slot.js.map +1 -0
- package/cjs/components/_beta/Popover/Popover.js +176 -0
- package/cjs/components/_beta/Popover/Popover.js.map +1 -0
- package/cjs/components/_beta/Popover/Popover.styles.js +17 -0
- package/cjs/components/_beta/Popover/Popover.styles.js.map +1 -0
- package/cjs/components/_beta/Popover/Popover.styles_6agxog.css +2 -0
- package/cjs/components/_beta/Popover/Popover.tokens.js +22 -0
- package/cjs/components/_beta/Popover/Popover.tokens.js.map +1 -0
- package/cjs/components/_beta/Popover/Popover_1ed9tky.css +2 -0
- package/cjs/components/_beta/Popover/utils/matchPlacements.js +33 -0
- package/cjs/components/_beta/Popover/utils/matchPlacements.js.map +1 -0
- package/cjs/components/_beta/Popover/utils/sizeToIconSize.js +10 -0
- package/cjs/components/_beta/Popover/utils/sizeToIconSize.js.map +1 -0
- package/cjs/index.css +3 -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/mergeHandlers.js +16 -0
- package/cjs/utils/mergeHandlers.js.map +1 -0
- package/emotion/cjs/components/_Slot/Slot.js +137 -0
- package/emotion/cjs/components/_beta/Popover/Popover.js +334 -0
- package/emotion/cjs/components/_beta/Popover/Popover.styles.js +31 -0
- package/emotion/cjs/components/_beta/Popover/Popover.tokens.js +32 -0
- package/emotion/cjs/components/_beta/Popover/Popover.types.js +4 -0
- package/emotion/cjs/components/_beta/Popover/index.js +26 -0
- package/emotion/cjs/components/_beta/Popover/utils/index.js +19 -0
- package/emotion/cjs/components/_beta/Popover/utils/matchPlacements.js +36 -0
- package/emotion/cjs/components/_beta/Popover/utils/sizeToIconSize.js +13 -0
- package/emotion/cjs/components/_beta/index.js +18 -0
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/cjs/examples/components/_beta/Popover/Popover.closeInner.config.js +28 -0
- package/emotion/cjs/examples/components/_beta/Popover/Popover.closeNone.config.js +28 -0
- package/emotion/cjs/examples/components/_beta/Popover/Popover.js +39 -0
- package/emotion/cjs/index.js +1 -0
- package/emotion/cjs/utils/index.js +4 -0
- package/emotion/cjs/utils/mergeHandlers.js +19 -0
- package/emotion/es/components/_Slot/Slot.js +86 -0
- package/emotion/es/components/_beta/Popover/Popover.js +270 -0
- package/emotion/es/components/_beta/Popover/Popover.styles.js +8 -0
- package/emotion/es/components/_beta/Popover/Popover.tokens.js +14 -0
- package/emotion/es/components/_beta/Popover/Popover.types.js +1 -0
- package/emotion/es/components/_beta/Popover/index.js +2 -0
- package/emotion/es/components/_beta/Popover/utils/index.js +2 -0
- package/emotion/es/components/_beta/Popover/utils/matchPlacements.js +26 -0
- package/emotion/es/components/_beta/Popover/utils/sizeToIconSize.js +3 -0
- package/emotion/es/components/_beta/index.js +1 -0
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/emotion/es/examples/components/_beta/Popover/Popover.closeInner.config.js +18 -0
- package/emotion/es/examples/components/_beta/Popover/Popover.closeNone.config.js +18 -0
- package/emotion/es/examples/components/_beta/Popover/Popover.js +18 -0
- package/emotion/es/index.js +1 -0
- package/emotion/es/utils/index.js +1 -0
- package/emotion/es/utils/mergeHandlers.js +9 -0
- package/es/components/Accordion/Accordion.js +2 -2
- package/es/components/Accordion/Accordion.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +11 -11
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/es/components/Attach/Attach.js +11 -11
- package/es/components/Attach/Attach.js.map +1 -1
- package/es/components/Attach/components/AttachButton/AttachButton.js +4 -4
- package/es/components/Attach/components/AttachButton/AttachButton.js.map +1 -1
- package/es/components/Attach/components/HiddenWidthHelper/HiddenWidthHelper.js +3 -3
- package/es/components/Attach/components/HiddenWidthHelper/HiddenWidthHelper.js.map +1 -1
- package/es/components/Attach/ui/Cell/Cell.js +7 -7
- package/es/components/Attach/ui/Cell/Cell.js.map +1 -1
- package/es/components/Attach/ui/Dropdown/Dropdown.js +4 -4
- package/es/components/Attach/ui/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Attach/ui/MoreTrigger/MoreTrigger.js +2 -2
- package/es/components/Attach/ui/MoreTrigger/MoreTrigger.js.map +1 -1
- package/es/components/Attach/utils/getFileicon.js +9 -9
- package/es/components/Attach/utils/getFileicon.js.map +1 -1
- package/es/components/Autocomplete/Autocomplete.js +12 -12
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/FloatingPopover.js +4 -4
- package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js +3 -3
- package/es/components/Autocomplete/ui/SuggestionItem/SuggestionItem.js.map +1 -1
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +6 -6
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Avatar/Avatar.js +10 -10
- package/es/components/Avatar/Avatar.js.map +1 -1
- package/es/components/AvatarGroup/AvatarGroup.js +2 -2
- package/es/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/es/components/Badge/Badge.js +5 -5
- package/es/components/Badge/Badge.js.map +1 -1
- package/es/components/Breadcrumbs/Breadcrumbs.js +4 -4
- package/es/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/es/components/Breadcrumbs/ui/BreadcrumbShorter/BreadcrumbShorter.js +3 -3
- package/es/components/Breadcrumbs/ui/BreadcrumbShorter/BreadcrumbShorter.js.map +1 -1
- package/es/components/Breadcrumbs/utils/getShortItems.js +3 -3
- package/es/components/Breadcrumbs/utils/getShortItems.js.map +1 -1
- package/es/components/Button/Button.js +8 -8
- package/es/components/Button/Button.js.map +1 -1
- package/es/components/ButtonGroup/ButtonGroup.js +2 -2
- package/es/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/es/components/Calendar/Calendar.js +5 -5
- package/es/components/Calendar/Calendar.js.map +1 -1
- package/es/components/Calendar/CalendarBase/CalendarBase.js +10 -10
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -14
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Calendar/hoc/withRange.js +2 -2
- package/es/components/Calendar/hoc/withRange.js.map +1 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +7 -7
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +13 -13
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +5 -5
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
- package/es/components/Card/Card.js +2 -2
- package/es/components/Card/Card.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.js +9 -9
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +6 -6
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -1
- package/es/components/Carousel/CarouselOld/Carousel.js +4 -4
- package/es/components/Carousel/CarouselOld/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselOld/CarouselItem.js +2 -2
- package/es/components/Carousel/CarouselOld/CarouselItem.js.map +1 -1
- package/es/components/Cell/Cell.js +6 -6
- package/es/components/Cell/Cell.js.map +1 -1
- package/es/components/Cell/ui/CellTextbox/CellTextbox.js +3 -3
- package/es/components/Cell/ui/CellTextbox/CellTextbox.js.map +1 -1
- package/es/components/Cell/ui/CellTextboxLabel/CellTextboxLabel.js +2 -2
- package/es/components/Cell/ui/CellTextboxLabel/CellTextboxLabel.js.map +1 -1
- package/es/components/Cell/ui/CellTextboxSubtitle/CellTextboxSubtitle.js +2 -2
- package/es/components/Cell/ui/CellTextboxSubtitle/CellTextboxSubtitle.js.map +1 -1
- package/es/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +2 -2
- package/es/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js.map +1 -1
- package/es/components/Checkbox/Checkbox.js +12 -12
- package/es/components/Checkbox/Checkbox.js.map +1 -1
- package/es/components/Checkbox/IconsSvg.js +13 -13
- package/es/components/Checkbox/IconsSvg.js.map +1 -1
- package/es/components/Chip/Chip.js +5 -5
- package/es/components/Chip/Chip.js.map +1 -1
- package/es/components/ChipGroup/ChipGroup.js +2 -2
- package/es/components/ChipGroup/ChipGroup.js.map +1 -1
- package/es/components/CodeField/CodeField.js +9 -9
- package/es/components/CodeField/CodeField.js.map +1 -1
- package/es/components/CodeInput/CodeInput.js +10 -10
- package/es/components/CodeInput/CodeInput.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +18 -18
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/FloatingPopover.js +4 -4
- package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +7 -7
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +9 -9
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +9 -9
- package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +4 -4
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js +9 -9
- package/es/components/Combobox/ComboboxNew/ui/TreeList/TreeList.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js +20 -20
- package/es/components/Combobox/ComboboxNew/ui/TreeList/ui/Item/Item.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +6 -6
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/Combobox.js +8 -8
- package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.js +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
- package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +10 -10
- package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/utils/index.js +2 -2
- package/es/components/Combobox/ComboboxOld/utils/index.js.map +1 -1
- package/es/components/Counter/Counter.js +2 -2
- package/es/components/Counter/Counter.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js +8 -8
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -7
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +8 -8
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/DateTimePicker/DateTimePicker.js +10 -10
- package/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js +3 -3
- package/es/components/DateTimePicker/ui/CalendarGrid/CalendarGrid.js.map +1 -1
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js +6 -6
- package/es/components/DateTimePicker/ui/DateShortcut/DateShortcutList.js.map +1 -1
- package/es/components/DateTimePicker/ui/Input/Input.js +2 -2
- package/es/components/DateTimePicker/ui/Input/Input.js.map +1 -1
- package/es/components/DateTimePicker/ui/Popover/Popover.js +2 -2
- package/es/components/DateTimePicker/ui/Popover/Popover.js.map +1 -1
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js +2 -2
- package/es/components/DateTimePicker/ui/TimeGrid/TimeGrid.js.map +1 -1
- package/es/components/Divider/Divider.js +2 -2
- package/es/components/Divider/Divider.js.map +1 -1
- package/es/components/Drawer/Drawer.js +6 -6
- package/es/components/Drawer/Drawer.js.map +1 -1
- package/es/components/Dropdown/Dropdown.js +7 -7
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/FloatingPopover.js +4 -4
- package/es/components/Dropdown/FloatingPopover.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +3 -3
- package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +3 -3
- package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +4 -4
- package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +3 -3
- package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +7 -7
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +6 -6
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -4
- package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/es/components/Dropdown/utils/index.js +4 -4
- package/es/components/Dropdown/utils/index.js.map +1 -1
- package/es/components/Dropzone/Dropzone.js +13 -13
- package/es/components/Dropzone/Dropzone.js.map +1 -1
- package/es/components/Editable/Editable.js +5 -5
- package/es/components/Editable/Editable.js.map +1 -1
- package/es/components/EmptyState/EmptyState.js +3 -3
- package/es/components/EmptyState/EmptyState.js.map +1 -1
- package/es/components/Flow/Flow.js +4 -4
- package/es/components/Flow/Flow.js.map +1 -1
- package/es/components/Grid/Grid.js +2 -2
- package/es/components/Grid/Grid.js.map +1 -1
- package/es/components/Grid/ui/Col/Col.js +2 -2
- package/es/components/Grid/ui/Col/Col.js.map +1 -1
- package/es/components/Grid/ui/Row/Row.js +2 -2
- package/es/components/Grid/ui/Row/Row.js.map +1 -1
- package/es/components/Image/Image.js +4 -4
- package/es/components/Image/Image.js.map +1 -1
- package/es/components/Indicator/Indicator.js +2 -2
- package/es/components/Indicator/Indicator.js.map +1 -1
- package/es/components/InformationWrapper/InformationWrapper.js +7 -7
- package/es/components/InformationWrapper/InformationWrapper.js.map +1 -1
- package/es/components/InformationWrapper/ui/Hint/Hint.js +4 -4
- package/es/components/InformationWrapper/ui/Hint/Hint.js.map +1 -1
- package/es/components/InformationWrapper/ui/Label/Label.js +7 -7
- package/es/components/InformationWrapper/ui/Label/Label.js.map +1 -1
- package/es/components/Link/Link.js +2 -2
- package/es/components/Link/Link.js.map +1 -1
- package/es/components/LinkButton/LinkButton.js +4 -4
- package/es/components/LinkButton/LinkButton.js.map +1 -1
- package/es/components/List/List.js +2 -2
- package/es/components/List/List.js.map +1 -1
- package/es/components/List/ui/ListItem.js +3 -3
- package/es/components/List/ui/ListItem.js.map +1 -1
- package/es/components/Loader/Loader.js +7 -7
- package/es/components/Loader/Loader.js.map +1 -1
- package/es/components/Mask/Mask.js +3 -3
- package/es/components/Mask/Mask.js.map +1 -1
- package/es/components/Modal/Modal.js +8 -8
- package/es/components/Modal/Modal.js.map +1 -1
- package/es/components/NavigationDrawer/NavigationDrawer.js +6 -6
- package/es/components/NavigationDrawer/NavigationDrawer.js.map +1 -1
- package/es/components/NavigationDrawer/ui/MenuItem/MenuItem.js +8 -8
- package/es/components/NavigationDrawer/ui/MenuItem/MenuItem.js.map +1 -1
- package/es/components/NavigationDrawer/ui/Section/Section.js +6 -6
- package/es/components/NavigationDrawer/ui/Section/Section.js.map +1 -1
- package/es/components/Note/Note.js +9 -9
- package/es/components/Note/Note.js.map +1 -1
- package/es/components/Notification/Notification.js +12 -12
- package/es/components/Notification/Notification.js.map +1 -1
- package/es/components/Notification/NotificationsPortal.js +6 -6
- package/es/components/Notification/NotificationsPortal.js.map +1 -1
- package/es/components/Notification/NotificationsProvider.js +3 -3
- package/es/components/Notification/NotificationsProvider.js.map +1 -1
- package/es/components/NumberFormat/NumberFormat.js +2 -2
- package/es/components/NumberFormat/NumberFormat.js.map +1 -1
- package/es/components/NumberInput/NumberInput.js +7 -7
- package/es/components/NumberInput/NumberInput.js.map +1 -1
- package/es/components/NumberInput/ui/ActionButton/ActionButton.js +2 -2
- package/es/components/NumberInput/ui/ActionButton/ActionButton.js.map +1 -1
- package/es/components/NumberInput/ui/Input/Input.js +7 -7
- package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/es/components/Overlay/Overlay.js +2 -2
- package/es/components/Overlay/Overlay.js.map +1 -1
- package/es/components/Pagination/Pagination.js +15 -15
- package/es/components/Pagination/Pagination.js.map +1 -1
- package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js +2 -2
- package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js.map +1 -1
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +2 -2
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
- package/es/components/PaginationDots/SmartPaginationDots.js +3 -3
- package/es/components/PaginationDots/SmartPaginationDots.js.map +1 -1
- package/es/components/Panel/Panel.js +3 -3
- package/es/components/Panel/Panel.js.map +1 -1
- package/es/components/Panel/ui/PanelContent/PanelContent.js +2 -2
- package/es/components/Panel/ui/PanelContent/PanelContent.js.map +1 -1
- package/es/components/Panel/ui/PanelFooter/PanelFooter.js +2 -2
- package/es/components/Panel/ui/PanelFooter/PanelFooter.js.map +1 -1
- package/es/components/Panel/ui/PanelHeader/PanelHeader.js +5 -5
- package/es/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
- package/es/components/Popover/Popover.js +9 -9
- package/es/components/Popover/Popover.js.map +1 -1
- package/es/components/Popup/Popup.js +10 -10
- package/es/components/Popup/Popup.js.map +1 -1
- package/es/components/Popup/PopupContext.js +9 -9
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Popup/PopupRoot.js +3 -3
- package/es/components/Popup/PopupRoot.js.map +1 -1
- package/es/components/Popup/ui/Draggable/Draggable.js +4 -4
- package/es/components/Popup/ui/Draggable/Draggable.js.map +1 -1
- package/es/components/Popup/ui/Resizable/Resizable.js +7 -7
- package/es/components/Popup/ui/Resizable/Resizable.js.map +1 -1
- package/es/components/Portal/Portal.js +2 -2
- package/es/components/Portal/Portal.js.map +1 -1
- package/es/components/Price/Price.js +3 -3
- package/es/components/Price/Price.js.map +1 -1
- package/es/components/Progress/Progress.js +4 -4
- package/es/components/Progress/Progress.js.map +1 -1
- package/es/components/ProgressBarCircular/ProgressBarCircular.js +6 -6
- package/es/components/ProgressBarCircular/ProgressBarCircular.js.map +1 -1
- package/es/components/Radiobox/RadioGroup.js +3 -3
- package/es/components/Radiobox/RadioGroup.js.map +1 -1
- package/es/components/Radiobox/Radiobox.js +8 -8
- package/es/components/Radiobox/Radiobox.js.map +1 -1
- package/es/components/Range/Range.js +10 -10
- package/es/components/Range/Range.js.map +1 -1
- package/es/components/Rating/Rating.js +6 -6
- package/es/components/Rating/Rating.js.map +1 -1
- package/es/components/Rating/utils/getIcons.js +17 -17
- package/es/components/Rating/utils/getIcons.js.map +1 -1
- package/es/components/SSRProvider/SSRProvider.js +2 -2
- package/es/components/SSRProvider/SSRProvider.js.map +1 -1
- package/es/components/Segment/SegmentProvider/SegmentProvider.js +2 -2
- package/es/components/Segment/SegmentProvider/SegmentProvider.js.map +1 -1
- package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +10 -10
- package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
- package/es/components/Segment/ui/SegmentItem/SegmentItem.js +3 -3
- package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
- package/es/components/Select/FloatingPopover.js +4 -4
- package/es/components/Select/FloatingPopover.js.map +1 -1
- package/es/components/Select/Select.js +13 -13
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.js +7 -7
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Select/ui/Inner/ui/Item/Item.js +11 -11
- package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Select/ui/SelectAll/SelectAll.js +9 -9
- package/es/components/Select/ui/SelectAll/SelectAll.js.map +1 -1
- package/es/components/Select/ui/SelectNative/SelectNative.js +4 -4
- package/es/components/Select/ui/SelectNative/SelectNative.js.map +1 -1
- package/es/components/Select/ui/Target/Target.js +4 -4
- package/es/components/Select/ui/Target/Target.js.map +1 -1
- package/es/components/Select/ui/Target/ui/Button/Button.js +4 -4
- package/es/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -5
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/es/components/Select/ui/TreeList/TreeList.js +9 -9
- package/es/components/Select/ui/TreeList/TreeList.js.map +1 -1
- package/es/components/Select/ui/TreeList/ui/Item/Item.js +21 -21
- package/es/components/Select/ui/TreeList/ui/Item/Item.js.map +1 -1
- package/es/components/Select/ui/VirtualList/VirtualList.js +6 -6
- package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Sheet/Sheet.js +8 -8
- package/es/components/Sheet/Sheet.js.map +1 -1
- package/es/components/Skeleton/LineSkeleton/LineSkeleton.js +3 -3
- package/es/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
- package/es/components/Skeleton/RectSkeleton/RectSkeleton.js +2 -2
- package/es/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
- package/es/components/Skeleton/TextSkeleton/TextSkeleton.js +3 -3
- package/es/components/Skeleton/TextSkeleton/TextSkeleton.js.map +1 -1
- package/es/components/Skeleton/hoc/withSkeleton.js +2 -2
- package/es/components/Skeleton/hoc/withSkeleton.js.map +1 -1
- package/es/components/Slider/Slider.js +5 -5
- package/es/components/Slider/Slider.js.map +1 -1
- package/es/components/Slider/components/Double/Double.js +8 -8
- package/es/components/Slider/components/Double/Double.js.map +1 -1
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -3
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
- package/es/components/Slider/components/Single/Single.js +8 -8
- package/es/components/Slider/components/Single/Single.js.map +1 -1
- package/es/components/Slider/components/SliderBase/SliderBase.js +4 -4
- package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
- package/es/components/Slider/ui/Handler/Handler.js +5 -5
- package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/es/components/Slider/ui/Thumb/Thumb.js +2 -2
- package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -1
- package/es/components/Spinner/Spinner.js +4 -4
- package/es/components/Spinner/Spinner.js.map +1 -1
- package/es/components/Spinner/SpinnerSvg.js +14 -14
- package/es/components/Spinner/SpinnerSvg.js.map +1 -1
- package/es/components/Steps/Steps.js +3 -3
- package/es/components/Steps/Steps.js.map +1 -1
- package/es/components/Steps/ui/StepItem/StepItem.js +16 -16
- package/es/components/Steps/ui/StepItem/StepItem.js.map +1 -1
- package/es/components/Switch/Switch.js +7 -7
- package/es/components/Switch/Switch.js.map +1 -1
- package/es/components/Table/Table.js +12 -12
- package/es/components/Table/Table.js.map +1 -1
- package/es/components/Table/ui/Cell/Cell.js +3 -3
- package/es/components/Table/ui/Cell/Cell.js.map +1 -1
- package/es/components/Table/ui/EditableCell/EditableCell.js +9 -9
- package/es/components/Table/ui/EditableCell/EditableCell.js.map +1 -1
- package/es/components/Table/ui/HeadCell/HeadCell.js +8 -8
- package/es/components/Table/ui/HeadCell/HeadCell.js.map +1 -1
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.js +7 -7
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.js.map +1 -1
- package/es/components/Tabs/createTabsController.js +3 -3
- package/es/components/Tabs/createTabsController.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalIconTabItem/HorizontalIconTabItem.js +4 -4
- package/es/components/Tabs/ui/horizontal/HorizontalIconTabItem/HorizontalIconTabItem.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +6 -6
- package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +9 -9
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/es/components/Tabs/ui/vertical/VerticalIconTabItem/VerticalIconTabItem.js +4 -4
- package/es/components/Tabs/ui/vertical/VerticalIconTabItem/VerticalIconTabItem.js.map +1 -1
- package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +6 -6
- package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +9 -9
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/es/components/TextArea/TextArea.js +22 -22
- package/es/components/TextArea/TextArea.js.map +1 -1
- package/es/components/TextArea/ui/Hint/Hint.js +4 -4
- package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
- package/es/components/TextField/TextField.js +28 -28
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/ui/Hint/Hint.js +4 -4
- package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
- package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +4 -4
- package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +4 -4
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -1
- package/es/components/TextFieldGroup/TextFieldGroup.js +2 -2
- package/es/components/TextFieldGroup/TextFieldGroup.js.map +1 -1
- package/es/components/TimePicker/TimePicker.js +6 -6
- package/es/components/TimePicker/TimePicker.js.map +1 -1
- package/es/components/TimePickerGrid/TimePickerGrid.js +3 -3
- package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +5 -5
- package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -1
- package/es/components/Toast/Toast.js +6 -6
- package/es/components/Toast/Toast.js.map +1 -1
- package/es/components/Toast/ToastController.js +4 -4
- package/es/components/Toast/ToastController.js.map +1 -1
- package/es/components/Toast/ToastNew/ToastNew.js +7 -7
- package/es/components/Toast/ToastNew/ToastNew.js.map +1 -1
- package/es/components/Toast/ToastProvider/ToastProvider.js +3 -3
- package/es/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
- package/es/components/Toolbar/Toolbar.js +2 -2
- package/es/components/Toolbar/Toolbar.js.map +1 -1
- package/es/components/Tooltip/Tooltip.js +5 -5
- package/es/components/Tooltip/Tooltip.js.map +1 -1
- package/es/components/Tour/Tour.js +5 -5
- package/es/components/Tour/Tour.js.map +1 -1
- package/es/components/Tree/Tree.js +9 -9
- package/es/components/Tree/Tree.js.map +1 -1
- package/es/components/Typography/Old/Subtitle/Subtitle.js +2 -2
- package/es/components/Typography/Old/Subtitle/Subtitle.js.map +1 -1
- package/es/components/Typography/Old/TypographyOld.js +2 -2
- package/es/components/Typography/Old/TypographyOld.js.map +1 -1
- package/es/components/Typography/Typography.js +2 -2
- package/es/components/Typography/Typography.js.map +1 -1
- package/es/components/ViewContainer/ViewContainer.js +2 -2
- package/es/components/ViewContainer/ViewContainer.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ArrowBarDown.js +3 -3
- package/es/components/_Icon/Icon.assets/ArrowBarDown.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ArrowDown.js +3 -3
- package/es/components/_Icon/Icon.assets/ArrowDown.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ArrowUp.js +3 -3
- package/es/components/_Icon/Icon.assets/ArrowUp.js.map +1 -1
- package/es/components/_Icon/Icon.assets/BlankCsvOutline.js +6 -6
- package/es/components/_Icon/Icon.assets/BlankCsvOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/BlankDocOutline.js +6 -6
- package/es/components/_Icon/Icon.assets/BlankDocOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/BlankOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/BlankOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/BlankPdfOutline.js +4 -4
- package/es/components/_Icon/Icon.assets/BlankPdfOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/BlankTxtOutline.js +6 -6
- package/es/components/_Icon/Icon.assets/BlankTxtOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/BlankXlsOutline.js +6 -6
- package/es/components/_Icon/Icon.assets/BlankXlsOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ChevronDown.js +3 -3
- package/es/components/_Icon/Icon.assets/ChevronDown.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ChevronDownFill.js +3 -3
- package/es/components/_Icon/Icon.assets/ChevronDownFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Close.js +3 -3
- package/es/components/_Icon/Icon.assets/Close.js.map +1 -1
- package/es/components/_Icon/Icon.assets/CloseCircleOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/CloseCircleOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Cross.js +3 -3
- package/es/components/_Icon/Icon.assets/Cross.js.map +1 -1
- package/es/components/_Icon/Icon.assets/CrossThin.js +3 -3
- package/es/components/_Icon/Icon.assets/CrossThin.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureDownCentered.js +5 -5
- package/es/components/_Icon/Icon.assets/DisclosureDownCentered.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureDownFill.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureDownFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureLeft.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureRight.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureRightCentered.js +5 -5
- package/es/components/_Icon/Icon.assets/DisclosureRightCentered.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +3 -3
- package/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Done.js +3 -3
- package/es/components/_Icon/Icon.assets/Done.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DoneCircleOutline.js +4 -4
- package/es/components/_Icon/Icon.assets/DoneCircleOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/DotsHorizontalOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/DotsHorizontalOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/EditOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/EditOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/FilterFunnel.js +4 -4
- package/es/components/_Icon/Icon.assets/FilterFunnel.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Folder.js +3 -3
- package/es/components/_Icon/Icon.assets/Folder.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.16/StarFill.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.16/StarFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.16/StarHalfFill.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.16/StarHalfFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.16/StarOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.16/StarOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.24/StarFill.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.24/StarFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.24/StarHalfFill.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.24/StarHalfFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.24/StarOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.24/StarOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.36/StarFill.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.36/StarFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.36/StarHalfFill.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.36/StarHalfFill.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Icon.svg.36/StarOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/Icon.svg.36/StarOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +3 -3
- package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Minus.js +3 -3
- package/es/components/_Icon/Icon.assets/Minus.js.map +1 -1
- package/es/components/_Icon/Icon.assets/Plus.js +3 -3
- package/es/components/_Icon/Icon.assets/Plus.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ResetOutline.js +4 -4
- package/es/components/_Icon/Icon.assets/ResetOutline.js.map +1 -1
- package/es/components/_Icon/Icon.assets/ResizeDiagonal.js +4 -4
- package/es/components/_Icon/Icon.assets/ResizeDiagonal.js.map +1 -1
- package/es/components/_Icon/Icon.assets/SwapVert.js +4 -4
- package/es/components/_Icon/Icon.assets/SwapVert.js.map +1 -1
- package/es/components/_Icon/IconRoot.js +3 -3
- package/es/components/_Icon/IconRoot.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.16/IconStarFill.js +2 -2
- package/es/components/_Icon/Icons/Icon.16/IconStarFill.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.16/IconStarHalfFill.js +2 -2
- package/es/components/_Icon/Icons/Icon.16/IconStarHalfFill.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.16/IconStarOutline.js +2 -2
- package/es/components/_Icon/Icons/Icon.16/IconStarOutline.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.24/IconStarFill.js +2 -2
- package/es/components/_Icon/Icons/Icon.24/IconStarFill.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.24/IconStarHalfFill.js +2 -2
- package/es/components/_Icon/Icons/Icon.24/IconStarHalfFill.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.24/IconStarOutline.js +2 -2
- package/es/components/_Icon/Icons/Icon.24/IconStarOutline.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.36/IconStarFill.js +2 -2
- package/es/components/_Icon/Icons/Icon.36/IconStarFill.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.36/IconStarHalfFill.js +2 -2
- package/es/components/_Icon/Icons/Icon.36/IconStarHalfFill.js.map +1 -1
- package/es/components/_Icon/Icons/Icon.36/IconStarOutline.js +2 -2
- package/es/components/_Icon/Icons/Icon.36/IconStarOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconArrowBarDown.js +2 -2
- package/es/components/_Icon/Icons/IconArrowBarDown.js.map +1 -1
- package/es/components/_Icon/Icons/IconArrowDown.js +2 -2
- package/es/components/_Icon/Icons/IconArrowDown.js.map +1 -1
- package/es/components/_Icon/Icons/IconArrowUp.js +2 -2
- package/es/components/_Icon/Icons/IconArrowUp.js.map +1 -1
- package/es/components/_Icon/Icons/IconBlankCsvOutline.js +2 -2
- package/es/components/_Icon/Icons/IconBlankCsvOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconBlankDocOutline.js +2 -2
- package/es/components/_Icon/Icons/IconBlankDocOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconBlankOutline.js +2 -2
- package/es/components/_Icon/Icons/IconBlankOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconBlankPdfOutline.js +2 -2
- package/es/components/_Icon/Icons/IconBlankPdfOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconBlankTxtOutline.js +2 -2
- package/es/components/_Icon/Icons/IconBlankTxtOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconBlankXlsOutline.js +2 -2
- package/es/components/_Icon/Icons/IconBlankXlsOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconChevronDown.js +2 -2
- package/es/components/_Icon/Icons/IconChevronDown.js.map +1 -1
- package/es/components/_Icon/Icons/IconChevronDownFill.js +2 -2
- package/es/components/_Icon/Icons/IconChevronDownFill.js.map +1 -1
- package/es/components/_Icon/Icons/IconClose.js +2 -2
- package/es/components/_Icon/Icons/IconClose.js.map +1 -1
- package/es/components/_Icon/Icons/IconCloseCircleOutline.js +2 -2
- package/es/components/_Icon/Icons/IconCloseCircleOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconCross.js +2 -2
- package/es/components/_Icon/Icons/IconCross.js.map +1 -1
- package/es/components/_Icon/Icons/IconCrossThin.js +2 -2
- package/es/components/_Icon/Icons/IconCrossThin.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureDownCentered.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureDownCentered.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureDownFill.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureDownFill.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureLeft.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureLeft.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureRight.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureRight.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureRightCentered.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureRightCentered.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js.map +1 -1
- package/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +2 -2
- package/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js.map +1 -1
- package/es/components/_Icon/Icons/IconDone.js +2 -2
- package/es/components/_Icon/Icons/IconDone.js.map +1 -1
- package/es/components/_Icon/Icons/IconDoneCircleOutline.js +2 -2
- package/es/components/_Icon/Icons/IconDoneCircleOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconDotsHorizontalOutline.js +2 -2
- package/es/components/_Icon/Icons/IconDotsHorizontalOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconEditOutline.js +2 -2
- package/es/components/_Icon/Icons/IconEditOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconFilterFunnel.js +2 -2
- package/es/components/_Icon/Icons/IconFilterFunnel.js.map +1 -1
- package/es/components/_Icon/Icons/IconFolder.js +2 -2
- package/es/components/_Icon/Icons/IconFolder.js.map +1 -1
- package/es/components/_Icon/Icons/IconInfoCircleOutline.js +2 -2
- package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconMinus.js +2 -2
- package/es/components/_Icon/Icons/IconMinus.js.map +1 -1
- package/es/components/_Icon/Icons/IconPlus.js +2 -2
- package/es/components/_Icon/Icons/IconPlus.js.map +1 -1
- package/es/components/_Icon/Icons/IconResetOutline.js +2 -2
- package/es/components/_Icon/Icons/IconResetOutline.js.map +1 -1
- package/es/components/_Icon/Icons/IconResizeDiagonal.js +2 -2
- package/es/components/_Icon/Icons/IconResizeDiagonal.js.map +1 -1
- package/es/components/_Icon/Icons/IconSwapVert.js +2 -2
- package/es/components/_Icon/Icons/IconSwapVert.js.map +1 -1
- package/es/components/_Resizable/Resizable.js +7 -7
- package/es/components/_Resizable/Resizable.js.map +1 -1
- package/es/components/_Slot/Slot.js +36 -0
- package/es/components/_Slot/Slot.js.map +1 -0
- package/es/components/_beta/Popover/Popover.js +166 -0
- package/es/components/_beta/Popover/Popover.js.map +1 -0
- package/es/components/_beta/Popover/Popover.styles.js +12 -0
- package/es/components/_beta/Popover/Popover.styles.js.map +1 -0
- package/es/components/_beta/Popover/Popover.styles_6agxog.css +2 -0
- package/es/components/_beta/Popover/Popover.tokens.js +17 -0
- package/es/components/_beta/Popover/Popover.tokens.js.map +1 -0
- package/es/components/_beta/Popover/Popover_1ed9tky.css +2 -0
- package/es/components/_beta/Popover/utils/matchPlacements.js +29 -0
- package/es/components/_beta/Popover/utils/matchPlacements.js.map +1 -0
- package/es/components/_beta/Popover/utils/sizeToIconSize.js +6 -0
- package/es/components/_beta/Popover/utils/sizeToIconSize.js.map +1 -0
- package/es/engines/common.js +3 -3
- package/es/engines/common.js.map +1 -1
- package/es/engines/linaria.js +2 -2
- package/es/engines/linaria.js.map +1 -1
- package/es/index.css +3 -0
- package/es/index.js +3 -0
- package/es/index.js.map +1 -1
- package/es/utils/createConditionalComponent.js +3 -3
- package/es/utils/createConditionalComponent.js.map +1 -1
- package/es/utils/fixedForwardRef.js +2 -2
- package/es/utils/fixedForwardRef.js.map +1 -1
- package/es/utils/index.js.map +1 -1
- package/es/utils/mergeHandlers.js +12 -0
- package/es/utils/mergeHandlers.js.map +1 -0
- package/es/utils/react.js +2 -2
- package/es/utils/react.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/_Slot/Slot.js +137 -0
- package/styled-components/cjs/components/_beta/Popover/Popover.js +338 -0
- package/styled-components/cjs/components/_beta/Popover/Popover.styles.js +79 -0
- package/styled-components/cjs/components/_beta/Popover/Popover.tokens.js +32 -0
- package/styled-components/cjs/components/_beta/Popover/Popover.types.js +4 -0
- package/styled-components/cjs/components/_beta/Popover/index.js +26 -0
- package/styled-components/cjs/components/_beta/Popover/utils/index.js +19 -0
- package/styled-components/cjs/components/_beta/Popover/utils/matchPlacements.js +36 -0
- package/styled-components/cjs/components/_beta/Popover/utils/sizeToIconSize.js +13 -0
- package/styled-components/cjs/components/_beta/index.js +18 -0
- package/styled-components/cjs/examples/components/_beta/Popover/Popover.closeInner.config.js +57 -0
- package/styled-components/cjs/examples/components/_beta/Popover/Popover.closeNone.config.js +48 -0
- package/styled-components/cjs/examples/components/_beta/Popover/Popover.js +39 -0
- package/styled-components/cjs/index.js +1 -0
- package/styled-components/cjs/utils/index.js +4 -0
- package/styled-components/cjs/utils/mergeHandlers.js +19 -0
- package/styled-components/es/components/_Slot/Slot.js +86 -0
- package/styled-components/es/components/_beta/Popover/Popover.js +274 -0
- package/styled-components/es/components/_beta/Popover/Popover.styles.js +21 -0
- package/styled-components/es/components/_beta/Popover/Popover.tokens.js +14 -0
- package/styled-components/es/components/_beta/Popover/Popover.types.js +1 -0
- package/styled-components/es/components/_beta/Popover/index.js +2 -0
- package/styled-components/es/components/_beta/Popover/utils/index.js +2 -0
- package/styled-components/es/components/_beta/Popover/utils/matchPlacements.js +26 -0
- package/styled-components/es/components/_beta/Popover/utils/sizeToIconSize.js +3 -0
- package/styled-components/es/components/_beta/index.js +1 -0
- package/styled-components/es/examples/components/_beta/Popover/Popover.closeInner.config.js +47 -0
- package/styled-components/es/examples/components/_beta/Popover/Popover.closeNone.config.js +38 -0
- package/styled-components/es/examples/components/_beta/Popover/Popover.js +18 -0
- package/styled-components/es/index.js +1 -0
- package/styled-components/es/utils/index.js +1 -0
- package/styled-components/es/utils/mergeHandlers.js +9 -0
- package/types/components/TextField/TextField.types.d.ts +1 -1
- package/types/components/_Slot/Slot.d.ts +3 -0
- package/types/components/_Slot/Slot.d.ts.map +1 -0
- package/types/components/_beta/Popover/Popover.d.ts +23 -0
- package/types/components/_beta/Popover/Popover.d.ts.map +1 -0
- package/types/components/_beta/Popover/Popover.styles.d.ts +3 -0
- package/types/components/_beta/Popover/Popover.styles.d.ts.map +1 -0
- package/types/components/_beta/Popover/Popover.tokens.d.ts +15 -0
- package/types/components/_beta/Popover/Popover.tokens.d.ts.map +1 -0
- package/types/components/_beta/Popover/Popover.types.d.ts +106 -0
- package/types/components/_beta/Popover/Popover.types.d.ts.map +1 -0
- package/types/components/_beta/Popover/index.d.ts +4 -0
- package/types/components/_beta/Popover/index.d.ts.map +1 -0
- package/types/components/_beta/Popover/utils/index.d.ts +3 -0
- package/types/components/_beta/Popover/utils/index.d.ts.map +1 -0
- package/types/components/_beta/Popover/utils/matchPlacements.d.ts +4 -0
- package/types/components/_beta/Popover/utils/matchPlacements.d.ts.map +1 -0
- package/types/components/_beta/Popover/utils/sizeToIconSize.d.ts +2 -0
- package/types/components/_beta/Popover/utils/sizeToIconSize.d.ts.map +1 -0
- package/types/components/_beta/index.d.ts +2 -0
- package/types/components/_beta/index.d.ts.map +1 -0
- package/types/examples/components/_beta/Popover/Popover.closeInner.config.d.ts +17 -0
- package/types/examples/components/_beta/Popover/Popover.closeInner.config.d.ts.map +1 -0
- package/types/examples/components/_beta/Popover/Popover.closeNone.config.d.ts +17 -0
- package/types/examples/components/_beta/Popover/Popover.closeNone.config.d.ts.map +1 -0
- package/types/examples/components/_beta/Popover/Popover.d.ts +34 -0
- package/types/examples/components/_beta/Popover/Popover.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/mergeHandlers.d.ts +2 -0
- package/types/utils/mergeHandlers.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect } from 'react';\nimport cls from 'classnames';\nimport type { ChangeEvent, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { getPlacements } from 'src/utils';\n\nimport { TimePickerGridChangeEvent } from '../TimePickerGrid/TimePickerGrid.types';\n\nimport { processTimeInput, delimiter } from './utils';\nimport { TimePickerProps } from './TimePicker.types';\nimport { base, StyledInput, StyledTimePickerGrid, StyledPopover } from './TimePicker.styles';\nimport { classes } from './TimePicker.tokens';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readonlyCSS } from './variations/_readonly/base';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\ninterface ActiveTime {\n hours?: number | null;\n minutes?: number | null;\n seconds?: number | null;\n currentColumn?: 'hours' | 'minutes' | 'seconds' | null;\n}\n\nexport const timePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerProps, 'opened' | 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n className,\n opened = false,\n value: outerValue,\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n disabled = false,\n readonly = false,\n frame = 'document',\n usePortal = false,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n stretched,\n dropdownAlign = 'left',\n dropdownWidth,\n dropdownHeight,\n columnsQuantity = 2,\n onToggle,\n onFocus,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const rootForkRef = useForkRef(rootRef, ref);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [rootWidth, setRootWidth] = useState<number | null>(null);\n const [, setActiveTime] = useState<ActiveTime>({\n hours: null,\n minutes: null,\n seconds: null,\n currentColumn: null,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (!viewValue) {\n return;\n }\n\n let timeString = viewValue;\n if (format === 'HH:mm' && viewValue.length > 5) {\n timeString = viewValue.substring(0, 5);\n }\n setInnerTime(viewValue);\n const [hh, mm, ss] = timeString.split(delimiter).map(Number);\n setActiveTime({\n hours: !Number.isNaN(hh) ? hh : null,\n minutes: !Number.isNaN(mm) ? mm : null,\n seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,\n currentColumn: null,\n });\n }, [outerValue, format]);\n\n useEffect(() => {\n if (isInnerOpen && (disabled || readonly)) {\n setIsInnerOpen(false);\n }\n }, [disabled, readonly]);\n\n useEffect(() => {\n if (dropdownWidth === 'fullWidth' && rootRef.current) {\n const width = rootRef.current.offsetWidth;\n setRootWidth(width);\n }\n }, [dropdownWidth, isInnerOpen]);\n\n const handleToggle = () => {\n if (disabled || readonly) return;\n const newState = !isInnerOpen;\n setIsInnerOpen(newState);\n\n if (newState) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: 'hours',\n }));\n }\n\n onToggle?.(newState);\n };\n\n const handleOnChange = (event: TimePickerGridChangeEvent) => {\n if (!event) {\n return;\n }\n\n let timeString = event.value;\n if (format === 'HH:mm' && viewValue.length > 5) {\n timeString = viewValue.substring(0, 5);\n }\n setInnerTime(timeString ?? '');\n\n setActiveTime({\n hours: !Number.isNaN(event.timeValues.hour) ? event.timeValues.hour : null,\n minutes: !Number.isNaN(event.timeValues.minute) ? event.timeValues.minute : null,\n seconds:\n format === 'HH:mm:ss' && !Number.isNaN(event.timeValues.second)\n ? event.timeValues.second\n : null,\n currentColumn: null,\n });\n\n onChange?.(event);\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const input = event.target.value;\n const cursorPos = event.target.selectionStart;\n\n const { innerString, values, newCursorPosition } = processTimeInput(input, format, cursorPos);\n\n setInnerTime(innerString);\n setActiveTime((prev) => ({\n ...prev,\n hours: values.hh,\n minutes: values.mm,\n seconds: values.ss,\n }));\n\n if (onChange) {\n onChange(({\n ...event,\n target: {\n ...event.target,\n value: innerString,\n timeValues: values,\n },\n } as unknown) as ChangeEvent<HTMLInputElement>);\n }\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);\n }\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && !isInnerOpen) {\n event.preventDefault();\n setIsInnerOpen(true);\n setActiveTime((prev) => ({ ...prev, currentColumn: 'hours' }));\n onToggle?.(true);\n }\n };\n\n const handleOnKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDownNavigation(e);\n handleKeyDown(e);\n };\n\n const { onKeyDown: onKeyDownNavigation } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat: true,\n delimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const TimePickerInput = (\n <StyledInput\n ref={inputRef}\n value={viewValue}\n size={size}\n disabled={disabled}\n readOnly={readonly}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleInputChange}\n onFocus={onFocus}\n onKeyDown={handleOnKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n />\n );\n\n const getDropdownWidth = (): 'fixed' | 'fullWidth' | React.CSSProperties['width'] => {\n if (dropdownWidth === 'fixed' || dropdownWidth === undefined) {\n return undefined;\n }\n if (dropdownWidth === 'fullWidth') {\n return rootWidth !== null ? `${rootWidth}px` : 'fullWidth';\n }\n return dropdownWidth as React.CSSProperties['width'];\n };\n\n return (\n <Root\n stretched={stretched}\n view={view}\n size={size}\n className={cls(classes.timePickerRoot, className, {\n [classes.timePickerstretched]: stretched,\n })}\n disabled={disabled}\n readonly={readonly}\n ref={rootForkRef}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(dropdownAlign === 'left' ? 'bottom-start' : 'bottom-end', false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={TimePickerInput}\n preventOverflow={false}\n align={dropdownAlign}\n >\n <Root\n stretched={stretched}\n view={view}\n size={size}\n className={cls(classes.timePickerRoot, className, {\n [classes.timePickerFullWidth]: dropdownWidth === 'fullWidth',\n [classes.timePickerFixed]: dropdownWidth !== 'fullWidth',\n })}\n disabled={disabled}\n readonly={readonly}\n {...rest}\n >\n <StyledTimePickerGrid\n value={viewValue}\n onChange={handleOnChange}\n dropdownHeight={dropdownHeight}\n dropdownWidth={getDropdownWidth()}\n format={format}\n view={view}\n size={size}\n disabled={disabled}\n width={getDropdownWidth()}\n />\n </Root>\n </StyledPopover>\n </Root>\n );\n },\n );\n\nexport const timePickerConfig = {\n name: 'TimePicker',\n tag: 'div',\n layout: timePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readonly: {\n css: readonlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","outerValue","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$disabled","disabled","_ref$readonly","readonly","_ref$frame","frame","_ref$usePortal","usePortal","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","stretched","_ref$dropdownAlign","dropdownAlign","dropdownWidth","dropdownHeight","_ref$columnsQuantity","columnsQuantity","onToggle","onFocus","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","rootRef","rootForkRef","useForkRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","_useState4","innerTime","setInnerTime","_useState5","_useState6","rootWidth","setRootWidth","_useState7","hours","minutes","seconds","currentColumn","_useState8","setActiveTime","viewValue","format","useEffect","forEach","timeoutRef","current","clearTimeout","timeString","length","substring","_timeString$split$map","split","delimiter","map","Number","_timeString$split$map2","hh","mm","ss","isNaN","width","offsetWidth","handleToggle","newState","prev","_objectSpread","handleOnChange","event","_timeString","timeValues","hour","minute","second","handleInputChange","input","target","cursorPos","selectionStart","_processTimeInput","processTimeInput","innerString","values","newCursorPosition","requestAnimationFrame","setSelectionRange","handleKeyDown","key","preventDefault","handleOnKeyDown","e","onKeyDownNavigation","_useKeyNavigation","useKeyNavigation","isCalendarOpen","maskWithFormat","onKeyDown","TimePickerInput","React","createElement","StyledInput","readOnly","getDropdownWidth","undefined","concat","_extends","cls","classes","_defineProperty","timePickerstretched","StyledPopover","placement","getPlacements","trigger","isFocusTrapped","preventOverflow","align","timePickerFullWidth","timePickerFixed","StyledTimePickerGrid","timePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readonlyCSS","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect } from 'react';\nimport cls from 'classnames';\nimport type { ChangeEvent, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { getPlacements } from 'src/utils';\n\nimport { TimePickerGridChangeEvent } from '../TimePickerGrid/TimePickerGrid.types';\n\nimport { processTimeInput, delimiter } from './utils';\nimport { TimePickerProps } from './TimePicker.types';\nimport { base, StyledInput, StyledTimePickerGrid, StyledPopover } from './TimePicker.styles';\nimport { classes } from './TimePicker.tokens';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readonlyCSS } from './variations/_readonly/base';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\ninterface ActiveTime {\n hours?: number | null;\n minutes?: number | null;\n seconds?: number | null;\n currentColumn?: 'hours' | 'minutes' | 'seconds' | null;\n}\n\nexport const timePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerProps, 'opened' | 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n className,\n opened = false,\n value: outerValue,\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n disabled = false,\n readonly = false,\n frame = 'document',\n usePortal = false,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n stretched,\n dropdownAlign = 'left',\n dropdownWidth,\n dropdownHeight,\n columnsQuantity = 2,\n onToggle,\n onFocus,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const rootForkRef = useForkRef(rootRef, ref);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [rootWidth, setRootWidth] = useState<number | null>(null);\n const [, setActiveTime] = useState<ActiveTime>({\n hours: null,\n minutes: null,\n seconds: null,\n currentColumn: null,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (!viewValue) {\n return;\n }\n\n let timeString = viewValue;\n if (format === 'HH:mm' && viewValue.length > 5) {\n timeString = viewValue.substring(0, 5);\n }\n setInnerTime(viewValue);\n const [hh, mm, ss] = timeString.split(delimiter).map(Number);\n setActiveTime({\n hours: !Number.isNaN(hh) ? hh : null,\n minutes: !Number.isNaN(mm) ? mm : null,\n seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,\n currentColumn: null,\n });\n }, [outerValue, format]);\n\n useEffect(() => {\n if (isInnerOpen && (disabled || readonly)) {\n setIsInnerOpen(false);\n }\n }, [disabled, readonly]);\n\n useEffect(() => {\n if (dropdownWidth === 'fullWidth' && rootRef.current) {\n const width = rootRef.current.offsetWidth;\n setRootWidth(width);\n }\n }, [dropdownWidth, isInnerOpen]);\n\n const handleToggle = () => {\n if (disabled || readonly) return;\n const newState = !isInnerOpen;\n setIsInnerOpen(newState);\n\n if (newState) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: 'hours',\n }));\n }\n\n onToggle?.(newState);\n };\n\n const handleOnChange = (event: TimePickerGridChangeEvent) => {\n if (!event) {\n return;\n }\n\n let timeString = event.value;\n if (format === 'HH:mm' && viewValue.length > 5) {\n timeString = viewValue.substring(0, 5);\n }\n setInnerTime(timeString ?? '');\n\n setActiveTime({\n hours: !Number.isNaN(event.timeValues.hour) ? event.timeValues.hour : null,\n minutes: !Number.isNaN(event.timeValues.minute) ? event.timeValues.minute : null,\n seconds:\n format === 'HH:mm:ss' && !Number.isNaN(event.timeValues.second)\n ? event.timeValues.second\n : null,\n currentColumn: null,\n });\n\n onChange?.(event);\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const input = event.target.value;\n const cursorPos = event.target.selectionStart;\n\n const { innerString, values, newCursorPosition } = processTimeInput(input, format, cursorPos);\n\n setInnerTime(innerString);\n setActiveTime((prev) => ({\n ...prev,\n hours: values.hh,\n minutes: values.mm,\n seconds: values.ss,\n }));\n\n if (onChange) {\n onChange(({\n ...event,\n target: {\n ...event.target,\n value: innerString,\n timeValues: values,\n },\n } as unknown) as ChangeEvent<HTMLInputElement>);\n }\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);\n }\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && !isInnerOpen) {\n event.preventDefault();\n setIsInnerOpen(true);\n setActiveTime((prev) => ({ ...prev, currentColumn: 'hours' }));\n onToggle?.(true);\n }\n };\n\n const handleOnKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDownNavigation(e);\n handleKeyDown(e);\n };\n\n const { onKeyDown: onKeyDownNavigation } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat: true,\n delimiter,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const TimePickerInput = (\n <StyledInput\n ref={inputRef}\n value={viewValue}\n size={size}\n disabled={disabled}\n readOnly={readonly}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleInputChange}\n onFocus={onFocus}\n onKeyDown={handleOnKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n />\n );\n\n const getDropdownWidth = (): 'fixed' | 'fullWidth' | React.CSSProperties['width'] => {\n if (dropdownWidth === 'fixed' || dropdownWidth === undefined) {\n return undefined;\n }\n if (dropdownWidth === 'fullWidth') {\n return rootWidth !== null ? `${rootWidth}px` : 'fullWidth';\n }\n return dropdownWidth as React.CSSProperties['width'];\n };\n\n return (\n <Root\n stretched={stretched}\n view={view}\n size={size}\n className={cls(classes.timePickerRoot, className, {\n [classes.timePickerstretched]: stretched,\n })}\n disabled={disabled}\n readonly={readonly}\n ref={rootForkRef}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(dropdownAlign === 'left' ? 'bottom-start' : 'bottom-end', false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={TimePickerInput}\n preventOverflow={false}\n align={dropdownAlign}\n >\n <Root\n stretched={stretched}\n view={view}\n size={size}\n className={cls(classes.timePickerRoot, className, {\n [classes.timePickerFullWidth]: dropdownWidth === 'fullWidth',\n [classes.timePickerFixed]: dropdownWidth !== 'fullWidth',\n })}\n disabled={disabled}\n readonly={readonly}\n {...rest}\n >\n <StyledTimePickerGrid\n value={viewValue}\n onChange={handleOnChange}\n dropdownHeight={dropdownHeight}\n dropdownWidth={getDropdownWidth()}\n format={format}\n view={view}\n size={size}\n disabled={disabled}\n width={getDropdownWidth()}\n />\n </Root>\n </StyledPopover>\n </Root>\n );\n },\n );\n\nexport const timePickerConfig = {\n name: 'TimePicker',\n tag: 'div',\n layout: timePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readonly: {\n css: readonlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","outerValue","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$disabled","disabled","_ref$readonly","readonly","_ref$frame","frame","_ref$usePortal","usePortal","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","stretched","_ref$dropdownAlign","dropdownAlign","dropdownWidth","dropdownHeight","_ref$columnsQuantity","columnsQuantity","onToggle","onFocus","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","rootRef","rootForkRef","useForkRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","_useState4","innerTime","setInnerTime","_useState5","_useState6","rootWidth","setRootWidth","_useState7","hours","minutes","seconds","currentColumn","_useState8","setActiveTime","viewValue","format","useEffect","forEach","timeoutRef","current","clearTimeout","timeString","length","substring","_timeString$split$map","split","delimiter","map","Number","_timeString$split$map2","hh","mm","ss","isNaN","width","offsetWidth","handleToggle","newState","prev","_objectSpread","handleOnChange","event","_timeString","timeValues","hour","minute","second","handleInputChange","input","target","cursorPos","selectionStart","_processTimeInput","processTimeInput","innerString","values","newCursorPosition","requestAnimationFrame","setSelectionRange","handleKeyDown","key","preventDefault","handleOnKeyDown","e","onKeyDownNavigation","_useKeyNavigation","useKeyNavigation","isCalendarOpen","maskWithFormat","onKeyDown","TimePickerInput","React","createElement","StyledInput","readOnly","getDropdownWidth","undefined","concat","_extends","cls","classes","_defineProperty","timePickerstretched","StyledPopover","placement","getPlacements","trigger","isFocusTrapped","preventOverflow","align","timePickerFullWidth","timePickerFixed","StyledTimePickerGrid","timePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readonlyCSS","defaults"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default, { forwardRef, useMemo, useRef, useState, useCallback, useEffect } from 'react';
|
|
3
3
|
import { getColumnsFromFormat, parseTimeString, isTimeDisabled, buildTimeString, animateScrollTo } from './utils/index.js';
|
|
4
4
|
import { base, StyledTimePicker } from './TimePickerGrid.styles.js';
|
|
5
5
|
import { base as base$2 } from './variations/_size/base.js';
|
|
@@ -560,13 +560,13 @@ var timePickerGridRoot = function timePickerGridRoot(Root) {
|
|
|
560
560
|
}
|
|
561
561
|
};
|
|
562
562
|
}, []);
|
|
563
|
-
return /*#__PURE__*/
|
|
563
|
+
return /*#__PURE__*/React__default.createElement(Root, _extends({
|
|
564
564
|
ref: ref,
|
|
565
565
|
view: view,
|
|
566
566
|
size: size,
|
|
567
567
|
disabled: disabled,
|
|
568
568
|
onFocus: handleContainerFocus
|
|
569
|
-
}, rest), /*#__PURE__*/
|
|
569
|
+
}, rest), /*#__PURE__*/React__default.createElement(StyledTimePicker, {
|
|
570
570
|
width: dropdownWidth,
|
|
571
571
|
tabIndex: -1
|
|
572
572
|
}, columnsConfig.map(function (columnConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerGrid.js","sources":["../../../src/components/TimePickerGrid/TimePickerGrid.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect, useCallback, useMemo, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\n\nimport { animateScrollTo, getColumnsFromFormat, parseTimeString, buildTimeString, isTimeDisabled } from './utils';\nimport { TimePickerGridChangeEvent, TimePickerGridProps } from './TimePickerGrid.types';\nimport { base, StyledTimePicker } from './TimePickerGrid.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { renderTimeColumn } from './ui/TimeColumn/TimeColumn';\nimport { TimeColumnType, TimeItemKeyDownHandler } from './ui/TimeColumn/TimeColumn.types';\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n}\n\ntype CurrentColumn = 'hours' | 'minutes' | 'seconds' | null;\ninterface ScrollbarState {\n isVisible: boolean;\n thumbHeight: number;\n thumbPosition: number;\n isDragging: boolean;\n}\n\nexport const timePickerGridRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerGridProps, 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerGridProps>(\n (\n {\n value: outerValue,\n view,\n size,\n disabled = false,\n dropdownWidth,\n dropdownHeight,\n format = 'HH:mm',\n min,\n max,\n columnsQuantity,\n disabledValues,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');\n const columnsConfig = useMemo(() => getColumnsFromFormat(actualFormat), [actualFormat]);\n\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const itemHeight = Object.values(timeItemRefs.current)[0]?.offsetHeight || 0;\n\n const hoursScrollbarRef = useRef<HTMLDivElement>(null);\n const minutesScrollbarRef = useRef<HTMLDivElement>(null);\n const secondsScrollbarRef = useRef<HTMLDivElement>(null);\n const hoursThumbRef = useRef<HTMLDivElement>(null);\n const minutesThumbRef = useRef<HTMLDivElement>(null);\n const secondsThumbRef = useRef<HTMLDivElement>(null);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [gap, setGap] = useState(0);\n\n const [hoursScrollbar, setHoursScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [minutesScrollbar, setMinutesScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [secondsScrollbar, setSecondsScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const getActiveTime = () => {\n if (viewValue && columnsConfig.length > 0) {\n const timeValues = parseTimeString(viewValue, actualFormat);\n return {\n hours: timeValues.hh,\n minutes: timeValues.mm,\n seconds: timeValues.ss,\n };\n }\n\n return {\n hours: null,\n minutes: null,\n seconds: null,\n };\n };\n\n const activeTime: ActiveTime = getActiveTime();\n\n const [currentColumn, setCurrentColumn] = useState<CurrentColumn>(null);\n\n const getDisabledValuesForColumn = useCallback(\n (columnType: 'hours' | 'minutes' | 'seconds') => {\n let disabledFromProps;\n if (columnType === 'hours') {\n disabledFromProps = disabledValues?.hour || [];\n } else if (columnType === 'minutes') {\n disabledFromProps = disabledValues?.minute || [];\n } else {\n disabledFromProps = disabledValues?.second || [];\n }\n\n const disabledFromMinMax: number[] = [];\n\n if (min || max) {\n const timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);\n\n for (let i = 0; i < (columnType === 'hours' ? 24 : 60); i++) {\n const testValues = { ...timeValues };\n if (columnType === 'hours') {\n testValues.hh = i;\n } else if (columnType === 'minutes') {\n testValues.mm = i;\n } else {\n testValues.ss = i;\n }\n\n const completeTimeValues = getCompleteTimeValues(testValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max, format)) {\n disabledFromMinMax.push(i);\n }\n }\n }\n\n const normalizedDisabledFromProps = disabledFromProps.map((val) =>\n typeof val === 'string' ? parseInt(val, 10) : val,\n );\n\n return [...new Set([...normalizedDisabledFromProps, ...disabledFromMinMax])];\n },\n [disabledValues, min, max, viewValue, actualFormat],\n );\n\n const getCompleteTimeValues = useCallback((timeValues: any, format: string) => {\n const completeValues = { hh: 0, mm: 0, ss: 0 };\n\n if (format.includes('HH')) {\n completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;\n }\n if (format.includes('mm')) {\n completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;\n }\n if (format.includes('ss')) {\n completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;\n }\n\n return completeValues;\n }, []);\n\n const getNextAvailableValue = useCallback(\n (\n currentIndex: number,\n values: string[],\n disabledValuesForColumn: (string | number)[],\n direction: 'up' | 'down',\n ) => {\n let newIndex = currentIndex;\n let iterations = 0;\n const maxIterations = values.length;\n\n do {\n newIndex =\n direction === 'up'\n ? (newIndex - 1 + values.length) % values.length\n : (newIndex + 1) % values.length;\n iterations++;\n } while (\n iterations < maxIterations &&\n disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) &&\n newIndex !== currentIndex\n );\n\n return iterations < maxIterations &&\n !disabledValuesForColumn.includes(parseInt(values[newIndex], 10))\n ? newIndex\n : currentIndex;\n },\n [],\n );\n\n const minScrollbarTrackHeight = 20;\n\n const calculateScrollbar = useCallback((columnRef: React.RefObject<HTMLDivElement>) => {\n if (!columnRef.current) return { thumbHeight: 0, thumbPosition: 0 };\n\n const { scrollTop, scrollHeight, clientHeight } = columnRef.current;\n const trackHeight = clientHeight;\n const thumbHeight = Math.max((trackHeight / scrollHeight) * trackHeight, minScrollbarTrackHeight);\n const maxScroll = scrollHeight - clientHeight;\n const thumbPosition = maxScroll > 0 ? (scrollTop / maxScroll) * (trackHeight - thumbHeight) : 0;\n\n return { thumbHeight, thumbPosition };\n }, []);\n\n const showScrollbarWithDelay = useCallback(\n (\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n columnRef: React.RefObject<HTMLDivElement>,\n ) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n updateScrollbar(columnRef, setScrollbar, true);\n\n timeoutRef.current = (setTimeout(() => {\n setScrollbar((prev) => ({ ...prev, isVisible: false }));\n timeoutRef.current = null;\n }, 2000) as unknown) as NodeJS.Timeout;\n },\n [],\n );\n\n const updateScrollbar = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n show = false,\n ) => {\n if (!columnRef.current) return;\n\n const { thumbHeight, thumbPosition } = calculateScrollbar(columnRef);\n setScrollbar((prev) => ({\n ...prev,\n thumbHeight,\n thumbPosition,\n isVisible: show || prev.isVisible,\n }));\n },\n [calculateScrollbar],\n );\n\n const handleColumnScroll = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => {\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n },\n [showScrollbarWithDelay],\n );\n\n const createScrollbarDragHandler = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const thumb = e.currentTarget as HTMLDivElement;\n const track = thumb.parentElement as HTMLDivElement;\n if (!columnRef.current || !track) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n const startY = e.clientY;\n const startThumbPosition = parseFloat(thumb.style.top || '0');\n const trackRect = track.getBoundingClientRect();\n const trackHeight = trackRect.height;\n const thumbHeight = thumb.offsetHeight;\n\n const { scrollHeight, clientHeight } = columnRef.current;\n const maxScroll = scrollHeight - clientHeight;\n\n const handleMouseMove = (moveEvent: globalThis.MouseEvent) => {\n const deltaY = moveEvent.clientY - startY;\n const newThumbPosition = Math.max(\n 0,\n Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY),\n );\n\n const scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);\n const newScrollTop = scrollPercentage * maxScroll;\n\n if (columnRef.current) {\n columnRef.current.scrollTop = newScrollTop;\n }\n\n setScrollbar((prev) => ({\n ...prev,\n thumbPosition: newThumbPosition,\n isDragging: true,\n isVisible: true,\n }));\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n\n setScrollbar((prev) => ({\n ...prev,\n isDragging: false,\n }));\n\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n },\n [showScrollbarWithDelay],\n );\n\n const handleContainerFocus = useCallback(() => {\n if (currentColumn === null && columnsConfig.length > 0) {\n const firstColumn = columnsConfig[0].type;\n setCurrentColumn((prev) => (prev !== currentColumn ? firstColumn : currentColumn));\n }\n }, [currentColumn, columnsConfig]);\n\n const handleTimeItemClick = (value: string, column: 'hours' | 'minutes' | 'seconds') => {\n const currentTimeValues = parseTimeString(viewValue, actualFormat);\n const newTimeValues = { ...currentTimeValues };\n\n switch (column) {\n case 'hours':\n newTimeValues.hh = parseInt(value, 10);\n break;\n case 'minutes':\n newTimeValues.mm = parseInt(value, 10);\n break;\n case 'seconds':\n newTimeValues.ss = parseInt(value, 10);\n break;\n default:\n }\n\n const getFirstAvailableValue = (columnType: 'hours' | 'minutes' | 'seconds'): number => {\n const disabledValuesForColumn = getDisabledValuesForColumn(columnType);\n const maxValue = columnType === 'hours' ? 23 : 59;\n\n for (let i = 0; i <= maxValue; i++) {\n if (!disabledValuesForColumn.includes(i)) {\n return i;\n }\n }\n return 0;\n };\n\n if (newTimeValues.hh === null && actualFormat.includes('HH')) {\n newTimeValues.hh = getFirstAvailableValue('hours');\n }\n if (newTimeValues.mm === null && actualFormat.includes('mm')) {\n newTimeValues.mm = getFirstAvailableValue('minutes');\n }\n if (newTimeValues.ss === null && actualFormat.includes('ss')) {\n newTimeValues.ss = getFirstAvailableValue('seconds');\n }\n\n const completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max)) {\n return;\n }\n\n const newTimeString = buildTimeString(newTimeValues, actualFormat);\n setInnerTime(newTimeString);\n\n onChange?.({\n value: newTimeString,\n timeValues: {\n hour: newTimeValues.hh || undefined,\n minute: newTimeValues.mm || undefined,\n second: newTimeValues.ss || undefined,\n },\n } as TimePickerGridChangeEvent);\n };\n\n const handleTimeItemKeyDown: TimeItemKeyDownHandler = (\n event: KeyboardEvent<HTMLDivElement>,\n column: TimeColumnType,\n value: string,\n ) => {\n const disabledValuesForColumn = getDisabledValuesForColumn(column);\n const currentIndex = parseInt(value, 10);\n let newIndex: number | null = null;\n let newColumn = column;\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'up',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'down',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowRight':\n event.preventDefault();\n if (column === 'hours') {\n newColumn = 'minutes';\n } else if (column === 'minutes' && actualFormat.includes('ss')) {\n newColumn = 'seconds';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowLeft':\n event.preventDefault();\n if (column === 'minutes') {\n newColumn = 'hours';\n } else if (column === 'seconds') {\n newColumn = 'minutes';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n handleTimeItemClick(value, column);\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n while (\n disabledValuesForColumn.includes(newIndex) &&\n newIndex < (column === 'hours' ? 24 : 60)\n ) {\n newIndex++;\n }\n if (newIndex < (column === 'hours' ? 24 : 60)) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'End':\n event.preventDefault();\n newIndex = column === 'hours' ? 23 : 59;\n while (disabledValuesForColumn.includes(newIndex) && newIndex >= 0) {\n newIndex--;\n }\n if (newIndex >= 0) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n if (currentColumn && currentColumn !== null) {\n const column = currentColumn;\n const value = activeTime[currentColumn]?.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${value}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n }, [currentColumn]);\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [hoursColumnRef.current]);\n\n useEffect(() => {\n setTimeout(() => {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n if (columnsQuantity === 3) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 100);\n }, [columnsQuantity]);\n\n useEffect(() => {\n if (itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n setTimeout(() => {\n updateScrollbar(columnRef, setHoursScrollbar);\n }, 300);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime.hours, activeTime.minutes, activeTime.seconds, itemHeight, gap]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursScroll = () =>\n handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);\n const handleMinutesScroll = () =>\n handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);\n const handleSecondsScroll = () =>\n handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('scroll', handleSecondsScroll);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('scroll', handleSecondsScroll);\n }\n };\n }, []);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursMouseEnter = () =>\n showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);\n const handleMinutesMouseEnter = () =>\n showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);\n const handleSecondsMouseEnter = () =>\n showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);\n }\n };\n }, []);\n\n return (\n <Root ref={ref} view={view} size={size} disabled={disabled} onFocus={handleContainerFocus} {...rest}>\n <StyledTimePicker width={dropdownWidth} tabIndex={-1}>\n {columnsConfig.map((columnConfig) => {\n const { type, values } = columnConfig;\n\n let columnRef;\n let scrollbarState;\n let setScrollbar;\n let scrollbarRef;\n let thumbRef;\n let timeoutRef;\n\n switch (type) {\n case 'hours':\n columnRef = hoursColumnRef;\n scrollbarState = hoursScrollbar;\n setScrollbar = setHoursScrollbar;\n scrollbarRef = hoursScrollbarRef;\n thumbRef = hoursThumbRef;\n timeoutRef = hoursHideTimeoutRef;\n break;\n case 'minutes':\n columnRef = minutesColumnRef;\n scrollbarState = minutesScrollbar;\n setScrollbar = setMinutesScrollbar;\n scrollbarRef = minutesScrollbarRef;\n thumbRef = minutesThumbRef;\n timeoutRef = minutesHideTimeoutRef;\n break;\n case 'seconds':\n columnRef = secondsColumnRef;\n scrollbarState = secondsScrollbar;\n setScrollbar = setSecondsScrollbar;\n scrollbarRef = secondsScrollbarRef;\n thumbRef = secondsThumbRef;\n timeoutRef = secondsHideTimeoutRef;\n break;\n default:\n return null;\n }\n\n return renderTimeColumn({\n values,\n disabledValues: getDisabledValuesForColumn(type),\n dropdownHeight,\n column: type,\n activeTime,\n currentColumn,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n });\n })}\n </StyledTimePicker>\n </Root>\n );\n },\n );\n\nexport const timePickerGridConfig = {\n name: 'TimePickerGrid',\n tag: 'div',\n layout: timePickerGridRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerGridRoot","Root","forwardRef","_ref","ref","_Object$values$","outerValue","value","view","size","_ref$disabled","disabled","dropdownWidth","dropdownHeight","_ref$format","format","min","max","columnsQuantity","disabledValues","onChange","rest","_objectWithoutProperties","_excluded","actualFormat","columnsConfig","useMemo","getColumnsFromFormat","hoursColumnRef","useRef","minutesColumnRef","secondsColumnRef","timeItemRefs","itemHeight","Object","values","current","offsetHeight","hoursScrollbarRef","minutesScrollbarRef","secondsScrollbarRef","hoursThumbRef","minutesThumbRef","secondsThumbRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","innerTime","setInnerTime","_useState3","_useState4","gap","setGap","_useState5","isVisible","thumbHeight","thumbPosition","isDragging","_useState6","hoursScrollbar","setHoursScrollbar","_useState7","_useState8","minutesScrollbar","setMinutesScrollbar","_useState9","_useState10","secondsScrollbar","setSecondsScrollbar","viewValue","getActiveTime","length","timeValues","parseTimeString","hours","hh","minutes","mm","seconds","ss","activeTime","_useState11","_useState12","currentColumn","setCurrentColumn","getDisabledValuesForColumn","useCallback","columnType","disabledFromProps","hour","minute","second","disabledFromMinMax","i","testValues","_objectSpread","completeTimeValues","getCompleteTimeValues","isTimeDisabled","push","normalizedDisabledFromProps","map","val","parseInt","_toConsumableArray","Set","concat","completeValues","includes","getNextAvailableValue","currentIndex","disabledValuesForColumn","direction","newIndex","iterations","maxIterations","minScrollbarTrackHeight","calculateScrollbar","columnRef","_columnRef$current","scrollTop","scrollHeight","clientHeight","trackHeight","Math","maxScroll","showScrollbarWithDelay","setScrollbar","timeoutRef","clearTimeout","updateScrollbar","setTimeout","prev","show","arguments","undefined","_calculateScrollbar","handleColumnScroll","createScrollbarDragHandler","e","preventDefault","thumb","currentTarget","track","parentElement","startY","clientY","startThumbPosition","parseFloat","style","top","trackRect","getBoundingClientRect","height","_columnRef$current2","handleMouseMove","moveEvent","deltaY","newThumbPosition","scrollPercentage","newScrollTop","handleMouseUp","document","removeEventListener","addEventListener","handleContainerFocus","firstColumn","type","handleTimeItemClick","column","currentTimeValues","newTimeValues","getFirstAvailableValue","maxValue","newTimeString","buildTimeString","handleTimeItemKeyDown","event","newColumn","key","Array","from","_","toString","padStart","newValue","element","focus","_activeTime$column","_activeTime$column2","useEffect","_activeTime$currentCo","forEach","computedStyle","getComputedStyle","gapValue","scrollToActiveItem","index","scrollPosition","animateScrollTo","hoursColumn","minutesColumn","secondsColumn","handleHoursScroll","handleMinutesScroll","handleSecondsScroll","handleHoursMouseEnter","handleMinutesMouseEnter","handleSecondsMouseEnter","React","createElement","_extends","onFocus","StyledTimePicker","width","tabIndex","columnConfig","scrollbarState","scrollbarRef","thumbRef","renderTimeColumn","timePickerGridConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimePickerGrid.js","sources":["../../../src/components/TimePickerGrid/TimePickerGrid.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect, useCallback, useMemo, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\n\nimport { animateScrollTo, getColumnsFromFormat, parseTimeString, buildTimeString, isTimeDisabled } from './utils';\nimport { TimePickerGridChangeEvent, TimePickerGridProps } from './TimePickerGrid.types';\nimport { base, StyledTimePicker } from './TimePickerGrid.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { renderTimeColumn } from './ui/TimeColumn/TimeColumn';\nimport { TimeColumnType, TimeItemKeyDownHandler } from './ui/TimeColumn/TimeColumn.types';\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n}\n\ntype CurrentColumn = 'hours' | 'minutes' | 'seconds' | null;\ninterface ScrollbarState {\n isVisible: boolean;\n thumbHeight: number;\n thumbPosition: number;\n isDragging: boolean;\n}\n\nexport const timePickerGridRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerGridProps, 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLDivElement, TimePickerGridProps>(\n (\n {\n value: outerValue,\n view,\n size,\n disabled = false,\n dropdownWidth,\n dropdownHeight,\n format = 'HH:mm',\n min,\n max,\n columnsQuantity,\n disabledValues,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const actualFormat = format || (columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm');\n const columnsConfig = useMemo(() => getColumnsFromFormat(actualFormat), [actualFormat]);\n\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const itemHeight = Object.values(timeItemRefs.current)[0]?.offsetHeight || 0;\n\n const hoursScrollbarRef = useRef<HTMLDivElement>(null);\n const minutesScrollbarRef = useRef<HTMLDivElement>(null);\n const secondsScrollbarRef = useRef<HTMLDivElement>(null);\n const hoursThumbRef = useRef<HTMLDivElement>(null);\n const minutesThumbRef = useRef<HTMLDivElement>(null);\n const secondsThumbRef = useRef<HTMLDivElement>(null);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [gap, setGap] = useState(0);\n\n const [hoursScrollbar, setHoursScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [minutesScrollbar, setMinutesScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [secondsScrollbar, setSecondsScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const getActiveTime = () => {\n if (viewValue && columnsConfig.length > 0) {\n const timeValues = parseTimeString(viewValue, actualFormat);\n return {\n hours: timeValues.hh,\n minutes: timeValues.mm,\n seconds: timeValues.ss,\n };\n }\n\n return {\n hours: null,\n minutes: null,\n seconds: null,\n };\n };\n\n const activeTime: ActiveTime = getActiveTime();\n\n const [currentColumn, setCurrentColumn] = useState<CurrentColumn>(null);\n\n const getDisabledValuesForColumn = useCallback(\n (columnType: 'hours' | 'minutes' | 'seconds') => {\n let disabledFromProps;\n if (columnType === 'hours') {\n disabledFromProps = disabledValues?.hour || [];\n } else if (columnType === 'minutes') {\n disabledFromProps = disabledValues?.minute || [];\n } else {\n disabledFromProps = disabledValues?.second || [];\n }\n\n const disabledFromMinMax: number[] = [];\n\n if (min || max) {\n const timeValues = parseTimeString(viewValue || '00:00:00', actualFormat);\n\n for (let i = 0; i < (columnType === 'hours' ? 24 : 60); i++) {\n const testValues = { ...timeValues };\n if (columnType === 'hours') {\n testValues.hh = i;\n } else if (columnType === 'minutes') {\n testValues.mm = i;\n } else {\n testValues.ss = i;\n }\n\n const completeTimeValues = getCompleteTimeValues(testValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max, format)) {\n disabledFromMinMax.push(i);\n }\n }\n }\n\n const normalizedDisabledFromProps = disabledFromProps.map((val) =>\n typeof val === 'string' ? parseInt(val, 10) : val,\n );\n\n return [...new Set([...normalizedDisabledFromProps, ...disabledFromMinMax])];\n },\n [disabledValues, min, max, viewValue, actualFormat],\n );\n\n const getCompleteTimeValues = useCallback((timeValues: any, format: string) => {\n const completeValues = { hh: 0, mm: 0, ss: 0 };\n\n if (format.includes('HH')) {\n completeValues.hh = timeValues.hh !== null ? timeValues.hh : 0;\n }\n if (format.includes('mm')) {\n completeValues.mm = timeValues.mm !== null ? timeValues.mm : 0;\n }\n if (format.includes('ss')) {\n completeValues.ss = timeValues.ss !== null ? timeValues.ss : 0;\n }\n\n return completeValues;\n }, []);\n\n const getNextAvailableValue = useCallback(\n (\n currentIndex: number,\n values: string[],\n disabledValuesForColumn: (string | number)[],\n direction: 'up' | 'down',\n ) => {\n let newIndex = currentIndex;\n let iterations = 0;\n const maxIterations = values.length;\n\n do {\n newIndex =\n direction === 'up'\n ? (newIndex - 1 + values.length) % values.length\n : (newIndex + 1) % values.length;\n iterations++;\n } while (\n iterations < maxIterations &&\n disabledValuesForColumn.includes(parseInt(values[newIndex], 10)) &&\n newIndex !== currentIndex\n );\n\n return iterations < maxIterations &&\n !disabledValuesForColumn.includes(parseInt(values[newIndex], 10))\n ? newIndex\n : currentIndex;\n },\n [],\n );\n\n const minScrollbarTrackHeight = 20;\n\n const calculateScrollbar = useCallback((columnRef: React.RefObject<HTMLDivElement>) => {\n if (!columnRef.current) return { thumbHeight: 0, thumbPosition: 0 };\n\n const { scrollTop, scrollHeight, clientHeight } = columnRef.current;\n const trackHeight = clientHeight;\n const thumbHeight = Math.max((trackHeight / scrollHeight) * trackHeight, minScrollbarTrackHeight);\n const maxScroll = scrollHeight - clientHeight;\n const thumbPosition = maxScroll > 0 ? (scrollTop / maxScroll) * (trackHeight - thumbHeight) : 0;\n\n return { thumbHeight, thumbPosition };\n }, []);\n\n const showScrollbarWithDelay = useCallback(\n (\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n columnRef: React.RefObject<HTMLDivElement>,\n ) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n updateScrollbar(columnRef, setScrollbar, true);\n\n timeoutRef.current = (setTimeout(() => {\n setScrollbar((prev) => ({ ...prev, isVisible: false }));\n timeoutRef.current = null;\n }, 2000) as unknown) as NodeJS.Timeout;\n },\n [],\n );\n\n const updateScrollbar = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n show = false,\n ) => {\n if (!columnRef.current) return;\n\n const { thumbHeight, thumbPosition } = calculateScrollbar(columnRef);\n setScrollbar((prev) => ({\n ...prev,\n thumbHeight,\n thumbPosition,\n isVisible: show || prev.isVisible,\n }));\n },\n [calculateScrollbar],\n );\n\n const handleColumnScroll = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => {\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n },\n [showScrollbarWithDelay],\n );\n\n const createScrollbarDragHandler = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const thumb = e.currentTarget as HTMLDivElement;\n const track = thumb.parentElement as HTMLDivElement;\n if (!columnRef.current || !track) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n const startY = e.clientY;\n const startThumbPosition = parseFloat(thumb.style.top || '0');\n const trackRect = track.getBoundingClientRect();\n const trackHeight = trackRect.height;\n const thumbHeight = thumb.offsetHeight;\n\n const { scrollHeight, clientHeight } = columnRef.current;\n const maxScroll = scrollHeight - clientHeight;\n\n const handleMouseMove = (moveEvent: globalThis.MouseEvent) => {\n const deltaY = moveEvent.clientY - startY;\n const newThumbPosition = Math.max(\n 0,\n Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY),\n );\n\n const scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);\n const newScrollTop = scrollPercentage * maxScroll;\n\n if (columnRef.current) {\n columnRef.current.scrollTop = newScrollTop;\n }\n\n setScrollbar((prev) => ({\n ...prev,\n thumbPosition: newThumbPosition,\n isDragging: true,\n isVisible: true,\n }));\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n\n setScrollbar((prev) => ({\n ...prev,\n isDragging: false,\n }));\n\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n },\n [showScrollbarWithDelay],\n );\n\n const handleContainerFocus = useCallback(() => {\n if (currentColumn === null && columnsConfig.length > 0) {\n const firstColumn = columnsConfig[0].type;\n setCurrentColumn((prev) => (prev !== currentColumn ? firstColumn : currentColumn));\n }\n }, [currentColumn, columnsConfig]);\n\n const handleTimeItemClick = (value: string, column: 'hours' | 'minutes' | 'seconds') => {\n const currentTimeValues = parseTimeString(viewValue, actualFormat);\n const newTimeValues = { ...currentTimeValues };\n\n switch (column) {\n case 'hours':\n newTimeValues.hh = parseInt(value, 10);\n break;\n case 'minutes':\n newTimeValues.mm = parseInt(value, 10);\n break;\n case 'seconds':\n newTimeValues.ss = parseInt(value, 10);\n break;\n default:\n }\n\n const getFirstAvailableValue = (columnType: 'hours' | 'minutes' | 'seconds'): number => {\n const disabledValuesForColumn = getDisabledValuesForColumn(columnType);\n const maxValue = columnType === 'hours' ? 23 : 59;\n\n for (let i = 0; i <= maxValue; i++) {\n if (!disabledValuesForColumn.includes(i)) {\n return i;\n }\n }\n return 0;\n };\n\n if (newTimeValues.hh === null && actualFormat.includes('HH')) {\n newTimeValues.hh = getFirstAvailableValue('hours');\n }\n if (newTimeValues.mm === null && actualFormat.includes('mm')) {\n newTimeValues.mm = getFirstAvailableValue('minutes');\n }\n if (newTimeValues.ss === null && actualFormat.includes('ss')) {\n newTimeValues.ss = getFirstAvailableValue('seconds');\n }\n\n const completeTimeValues = getCompleteTimeValues(newTimeValues, actualFormat);\n if (isTimeDisabled(completeTimeValues, min, max)) {\n return;\n }\n\n const newTimeString = buildTimeString(newTimeValues, actualFormat);\n setInnerTime(newTimeString);\n\n onChange?.({\n value: newTimeString,\n timeValues: {\n hour: newTimeValues.hh || undefined,\n minute: newTimeValues.mm || undefined,\n second: newTimeValues.ss || undefined,\n },\n } as TimePickerGridChangeEvent);\n };\n\n const handleTimeItemKeyDown: TimeItemKeyDownHandler = (\n event: KeyboardEvent<HTMLDivElement>,\n column: TimeColumnType,\n value: string,\n ) => {\n const disabledValuesForColumn = getDisabledValuesForColumn(column);\n const currentIndex = parseInt(value, 10);\n let newIndex: number | null = null;\n let newColumn = column;\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'up',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n newIndex = getNextAvailableValue(\n currentIndex,\n column === 'hours'\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, '0'))\n : Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, '0')),\n disabledValuesForColumn,\n 'down',\n );\n if (newIndex !== null) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowRight':\n event.preventDefault();\n if (column === 'hours') {\n newColumn = 'minutes';\n } else if (column === 'minutes' && actualFormat.includes('ss')) {\n newColumn = 'seconds';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'ArrowLeft':\n event.preventDefault();\n if (column === 'minutes') {\n newColumn = 'hours';\n } else if (column === 'seconds') {\n newColumn = 'minutes';\n }\n if (newColumn !== column) {\n setCurrentColumn(newColumn);\n const newValue = (activeTime[column]?.toString() || '0').padStart(2, '0');\n const element = timeItemRefs.current[`${newColumn}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n handleTimeItemClick(value, column);\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n while (\n disabledValuesForColumn.includes(newIndex) &&\n newIndex < (column === 'hours' ? 24 : 60)\n ) {\n newIndex++;\n }\n if (newIndex < (column === 'hours' ? 24 : 60)) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n case 'End':\n event.preventDefault();\n newIndex = column === 'hours' ? 23 : 59;\n while (disabledValuesForColumn.includes(newIndex) && newIndex >= 0) {\n newIndex--;\n }\n if (newIndex >= 0) {\n const newValue = newIndex.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${newValue}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n if (currentColumn && currentColumn !== null) {\n const column = currentColumn;\n const value = activeTime[currentColumn]?.toString().padStart(2, '0');\n const element = timeItemRefs.current[`${column}-${value}`];\n\n setTimeout(() => {\n if (element) {\n element.focus();\n }\n }, 0);\n }\n }, [currentColumn]);\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [hoursColumnRef.current]);\n\n useEffect(() => {\n setTimeout(() => {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n if (columnsQuantity === 3) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 100);\n }, [columnsQuantity]);\n\n useEffect(() => {\n if (itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n setTimeout(() => {\n updateScrollbar(columnRef, setHoursScrollbar);\n }, 300);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime.hours, activeTime.minutes, activeTime.seconds, itemHeight, gap]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursScroll = () =>\n handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);\n const handleMinutesScroll = () =>\n handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);\n const handleSecondsScroll = () =>\n handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('scroll', handleSecondsScroll);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('scroll', handleSecondsScroll);\n }\n };\n }, []);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursMouseEnter = () =>\n showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);\n const handleMinutesMouseEnter = () =>\n showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);\n const handleSecondsMouseEnter = () =>\n showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);\n }\n };\n }, []);\n\n return (\n <Root ref={ref} view={view} size={size} disabled={disabled} onFocus={handleContainerFocus} {...rest}>\n <StyledTimePicker width={dropdownWidth} tabIndex={-1}>\n {columnsConfig.map((columnConfig) => {\n const { type, values } = columnConfig;\n\n let columnRef;\n let scrollbarState;\n let setScrollbar;\n let scrollbarRef;\n let thumbRef;\n let timeoutRef;\n\n switch (type) {\n case 'hours':\n columnRef = hoursColumnRef;\n scrollbarState = hoursScrollbar;\n setScrollbar = setHoursScrollbar;\n scrollbarRef = hoursScrollbarRef;\n thumbRef = hoursThumbRef;\n timeoutRef = hoursHideTimeoutRef;\n break;\n case 'minutes':\n columnRef = minutesColumnRef;\n scrollbarState = minutesScrollbar;\n setScrollbar = setMinutesScrollbar;\n scrollbarRef = minutesScrollbarRef;\n thumbRef = minutesThumbRef;\n timeoutRef = minutesHideTimeoutRef;\n break;\n case 'seconds':\n columnRef = secondsColumnRef;\n scrollbarState = secondsScrollbar;\n setScrollbar = setSecondsScrollbar;\n scrollbarRef = secondsScrollbarRef;\n thumbRef = secondsThumbRef;\n timeoutRef = secondsHideTimeoutRef;\n break;\n default:\n return null;\n }\n\n return renderTimeColumn({\n values,\n disabledValues: getDisabledValuesForColumn(type),\n dropdownHeight,\n column: type,\n activeTime,\n currentColumn,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n });\n })}\n </StyledTimePicker>\n </Root>\n );\n },\n );\n\nexport const timePickerGridConfig = {\n name: 'TimePickerGrid',\n tag: 'div',\n layout: timePickerGridRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerGridRoot","Root","forwardRef","_ref","ref","_Object$values$","outerValue","value","view","size","_ref$disabled","disabled","dropdownWidth","dropdownHeight","_ref$format","format","min","max","columnsQuantity","disabledValues","onChange","rest","_objectWithoutProperties","_excluded","actualFormat","columnsConfig","useMemo","getColumnsFromFormat","hoursColumnRef","useRef","minutesColumnRef","secondsColumnRef","timeItemRefs","itemHeight","Object","values","current","offsetHeight","hoursScrollbarRef","minutesScrollbarRef","secondsScrollbarRef","hoursThumbRef","minutesThumbRef","secondsThumbRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","innerTime","setInnerTime","_useState3","_useState4","gap","setGap","_useState5","isVisible","thumbHeight","thumbPosition","isDragging","_useState6","hoursScrollbar","setHoursScrollbar","_useState7","_useState8","minutesScrollbar","setMinutesScrollbar","_useState9","_useState10","secondsScrollbar","setSecondsScrollbar","viewValue","getActiveTime","length","timeValues","parseTimeString","hours","hh","minutes","mm","seconds","ss","activeTime","_useState11","_useState12","currentColumn","setCurrentColumn","getDisabledValuesForColumn","useCallback","columnType","disabledFromProps","hour","minute","second","disabledFromMinMax","i","testValues","_objectSpread","completeTimeValues","getCompleteTimeValues","isTimeDisabled","push","normalizedDisabledFromProps","map","val","parseInt","_toConsumableArray","Set","concat","completeValues","includes","getNextAvailableValue","currentIndex","disabledValuesForColumn","direction","newIndex","iterations","maxIterations","minScrollbarTrackHeight","calculateScrollbar","columnRef","_columnRef$current","scrollTop","scrollHeight","clientHeight","trackHeight","Math","maxScroll","showScrollbarWithDelay","setScrollbar","timeoutRef","clearTimeout","updateScrollbar","setTimeout","prev","show","arguments","undefined","_calculateScrollbar","handleColumnScroll","createScrollbarDragHandler","e","preventDefault","thumb","currentTarget","track","parentElement","startY","clientY","startThumbPosition","parseFloat","style","top","trackRect","getBoundingClientRect","height","_columnRef$current2","handleMouseMove","moveEvent","deltaY","newThumbPosition","scrollPercentage","newScrollTop","handleMouseUp","document","removeEventListener","addEventListener","handleContainerFocus","firstColumn","type","handleTimeItemClick","column","currentTimeValues","newTimeValues","getFirstAvailableValue","maxValue","newTimeString","buildTimeString","handleTimeItemKeyDown","event","newColumn","key","Array","from","_","toString","padStart","newValue","element","focus","_activeTime$column","_activeTime$column2","useEffect","_activeTime$currentCo","forEach","computedStyle","getComputedStyle","gapValue","scrollToActiveItem","index","scrollPosition","animateScrollTo","hoursColumn","minutesColumn","secondsColumn","handleHoursScroll","handleMinutesScroll","handleSecondsScroll","handleHoursMouseEnter","handleMinutesMouseEnter","handleSecondsMouseEnter","React","createElement","_extends","onFocus","StyledTimePicker","width","tabIndex","columnConfig","scrollbarState","scrollbarRef","thumbRef","renderTimeColumn","timePickerGridConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineProperty as _defineProperty } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default from 'react';
|
|
3
3
|
import cls from 'classnames';
|
|
4
4
|
import { classes } from '../../TimePickerGrid.tokens.js';
|
|
5
5
|
import { StyledRoot, StyledTimeColumn, StyledTimeItem, StyledEmpty, CustomScrollbar, ScrollbarTrack, ScrollbarThumb } from './TimeColumn.styles.js';
|
|
@@ -50,7 +50,7 @@ var renderTimeColumn = function renderTimeColumn(_ref) {
|
|
|
50
50
|
};
|
|
51
51
|
var isColumnActive = currentColumn === column;
|
|
52
52
|
var minAvailableIndex = minDisableIndex();
|
|
53
|
-
return /*#__PURE__*/
|
|
53
|
+
return /*#__PURE__*/React__default.createElement(StyledRoot, null, /*#__PURE__*/React__default.createElement(StyledTimeColumn, {
|
|
54
54
|
key: column,
|
|
55
55
|
ref: columnRef,
|
|
56
56
|
height: dropdownHeight,
|
|
@@ -73,7 +73,7 @@ var renderTimeColumn = function renderTimeColumn(_ref) {
|
|
|
73
73
|
return -1;
|
|
74
74
|
};
|
|
75
75
|
var tabIndex = getTabIndex();
|
|
76
|
-
return /*#__PURE__*/
|
|
76
|
+
return /*#__PURE__*/React__default.createElement(StyledTimeItem, {
|
|
77
77
|
key: column + value,
|
|
78
78
|
ref: function ref(el) {
|
|
79
79
|
timeItemRefs.current["".concat(column, "-").concat(value)] = el;
|
|
@@ -91,11 +91,11 @@ var renderTimeColumn = function renderTimeColumn(_ref) {
|
|
|
91
91
|
"data-column": column,
|
|
92
92
|
"data-active": isActive
|
|
93
93
|
}, value);
|
|
94
|
-
}), _StyledEmpty || (_StyledEmpty = /*#__PURE__*/
|
|
94
|
+
}), _StyledEmpty || (_StyledEmpty = /*#__PURE__*/React__default.createElement(StyledEmpty, null))), /*#__PURE__*/React__default.createElement(CustomScrollbar, {
|
|
95
95
|
ref: scrollbarRef,
|
|
96
96
|
className: cls(_defineProperty({}, classes.scrollbarVisible, scrollbarState === null || scrollbarState === void 0 ? void 0 : scrollbarState.isVisible)),
|
|
97
97
|
tabIndex: -1
|
|
98
|
-
}, /*#__PURE__*/
|
|
98
|
+
}, /*#__PURE__*/React__default.createElement(ScrollbarTrack, null, /*#__PURE__*/React__default.createElement(ScrollbarThumb, {
|
|
99
99
|
ref: thumbRef,
|
|
100
100
|
style: {
|
|
101
101
|
height: "".concat(scrollbarState === null || scrollbarState === void 0 ? void 0 : scrollbarState.thumbHeight, "px"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeColumn.js","sources":["../../../../../src/components/TimePickerGrid/ui/TimeColumn/TimeColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cls from 'classnames';\n\nimport { classes } from '../../TimePickerGrid.tokens';\n\nimport {\n StyledTimeColumn,\n StyledTimeItem,\n StyledEmpty,\n CustomScrollbar,\n ScrollbarTrack,\n ScrollbarThumb,\n StyledRoot,\n} from './TimeColumn.styles';\nimport { TimeColumnProps, TimeColumnType } from './TimeColumn.types';\n\nexport const renderTimeColumn = ({\n values,\n disabledValues,\n dropdownHeight,\n column,\n activeTime,\n currentColumn,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n}: TimeColumnProps) => {\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>, columnType: TimeColumnType, value: string) => {\n handleTimeItemKeyDown(e, columnType, value);\n };\n\n const handleClick = (value: string, columnType: TimeColumnType) => {\n const isDisabled = disabledValues?.some(\n (disabledValue) => parseInt(disabledValue.toString(), 10) === parseInt(value, 10),\n );\n\n if (!isDisabled) {\n handleTimeItemClick(value, columnType);\n }\n };\n\n const minDisableIndex = () => {\n if (!disabledValues || disabledValues.length === 0) {\n return 0;\n }\n\n const disabledNumbers = disabledValues.map((val) => parseInt(val.toString(), 10));\n\n for (let i = 0; i < values.length; i++) {\n const currentValue = parseInt(values[i], 10);\n if (!disabledNumbers.includes(currentValue)) {\n return i;\n }\n }\n\n return 0;\n };\n\n const isColumnActive = currentColumn === column;\n const minAvailableIndex = minDisableIndex();\n\n return (\n <StyledRoot>\n <StyledTimeColumn\n key={column}\n ref={columnRef}\n height={dropdownHeight}\n className={classes.timeColumn}\n tabIndex={-1}\n >\n {values.map((value, index) => {\n const isDisabled = disabledValues?.some((disabledValue) => disabledValue === index);\n const isActive = activeTime[column] === parseInt(value, 10);\n\n const getTabIndex = () => {\n if (isDisabled) return -1;\n\n const isValueActive = activeTime[column] === parseInt(value, 10);\n\n if (isColumnActive && isValueActive) {\n return 0;\n }\n if (index === minAvailableIndex) {\n return 0;\n }\n\n return -1;\n };\n\n const tabIndex = getTabIndex();\n\n return (\n <StyledTimeItem\n key={column + value}\n ref={(el) => {\n timeItemRefs.current[`${column}-${value}`] = el;\n }}\n className={cls({\n [classes.timeItemActive]: isActive,\n [classes.itemDisabled]: isDisabled,\n })}\n onClick={() => handleClick(value, column)}\n onKeyDown={(e) => handleKeyDown(e, column, value)}\n aria-disabled={isDisabled}\n tabIndex={tabIndex}\n data-value={value}\n data-column={column}\n data-active={isActive}\n >\n {value}\n </StyledTimeItem>\n );\n })}\n <StyledEmpty />\n </StyledTimeColumn>\n\n <CustomScrollbar\n ref={scrollbarRef}\n className={cls({\n [classes.scrollbarVisible]: scrollbarState?.isVisible,\n })}\n tabIndex={-1}\n >\n <ScrollbarTrack>\n <ScrollbarThumb\n ref={thumbRef}\n style={{\n height: `${scrollbarState?.thumbHeight}px`,\n top: `${scrollbarState?.thumbPosition}px`,\n }}\n onMouseDown={\n columnRef && setScrollbar && timeoutRef\n ? createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)\n : undefined\n }\n tabIndex={-1}\n />\n </ScrollbarTrack>\n </CustomScrollbar>\n </StyledRoot>\n );\n};\n"],"names":["renderTimeColumn","_ref","values","disabledValues","dropdownHeight","column","activeTime","currentColumn","handleTimeItemClick","handleTimeItemKeyDown","createScrollbarDragHandler","setScrollbar","columnRef","scrollbarState","scrollbarRef","thumbRef","timeoutRef","timeItemRefs","handleKeyDown","e","columnType","value","handleClick","isDisabled","some","disabledValue","parseInt","toString","minDisableIndex","length","disabledNumbers","map","val","i","currentValue","includes","isColumnActive","minAvailableIndex","React","createElement","StyledRoot","StyledTimeColumn","key","ref","height","className","classes","timeColumn","tabIndex","index","isActive","getTabIndex","isValueActive","StyledTimeItem","el","current","concat","cls","_defineProperty","timeItemActive","itemDisabled","onClick","onKeyDown","_StyledEmpty","StyledEmpty","CustomScrollbar","scrollbarVisible","isVisible","ScrollbarTrack","ScrollbarThumb","style","thumbHeight","top","thumbPosition","onMouseDown","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeColumn.js","sources":["../../../../../src/components/TimePickerGrid/ui/TimeColumn/TimeColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cls from 'classnames';\n\nimport { classes } from '../../TimePickerGrid.tokens';\n\nimport {\n StyledTimeColumn,\n StyledTimeItem,\n StyledEmpty,\n CustomScrollbar,\n ScrollbarTrack,\n ScrollbarThumb,\n StyledRoot,\n} from './TimeColumn.styles';\nimport { TimeColumnProps, TimeColumnType } from './TimeColumn.types';\n\nexport const renderTimeColumn = ({\n values,\n disabledValues,\n dropdownHeight,\n column,\n activeTime,\n currentColumn,\n handleTimeItemClick,\n handleTimeItemKeyDown,\n createScrollbarDragHandler,\n setScrollbar,\n columnRef,\n scrollbarState,\n scrollbarRef,\n thumbRef,\n timeoutRef,\n timeItemRefs,\n}: TimeColumnProps) => {\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>, columnType: TimeColumnType, value: string) => {\n handleTimeItemKeyDown(e, columnType, value);\n };\n\n const handleClick = (value: string, columnType: TimeColumnType) => {\n const isDisabled = disabledValues?.some(\n (disabledValue) => parseInt(disabledValue.toString(), 10) === parseInt(value, 10),\n );\n\n if (!isDisabled) {\n handleTimeItemClick(value, columnType);\n }\n };\n\n const minDisableIndex = () => {\n if (!disabledValues || disabledValues.length === 0) {\n return 0;\n }\n\n const disabledNumbers = disabledValues.map((val) => parseInt(val.toString(), 10));\n\n for (let i = 0; i < values.length; i++) {\n const currentValue = parseInt(values[i], 10);\n if (!disabledNumbers.includes(currentValue)) {\n return i;\n }\n }\n\n return 0;\n };\n\n const isColumnActive = currentColumn === column;\n const minAvailableIndex = minDisableIndex();\n\n return (\n <StyledRoot>\n <StyledTimeColumn\n key={column}\n ref={columnRef}\n height={dropdownHeight}\n className={classes.timeColumn}\n tabIndex={-1}\n >\n {values.map((value, index) => {\n const isDisabled = disabledValues?.some((disabledValue) => disabledValue === index);\n const isActive = activeTime[column] === parseInt(value, 10);\n\n const getTabIndex = () => {\n if (isDisabled) return -1;\n\n const isValueActive = activeTime[column] === parseInt(value, 10);\n\n if (isColumnActive && isValueActive) {\n return 0;\n }\n if (index === minAvailableIndex) {\n return 0;\n }\n\n return -1;\n };\n\n const tabIndex = getTabIndex();\n\n return (\n <StyledTimeItem\n key={column + value}\n ref={(el) => {\n timeItemRefs.current[`${column}-${value}`] = el;\n }}\n className={cls({\n [classes.timeItemActive]: isActive,\n [classes.itemDisabled]: isDisabled,\n })}\n onClick={() => handleClick(value, column)}\n onKeyDown={(e) => handleKeyDown(e, column, value)}\n aria-disabled={isDisabled}\n tabIndex={tabIndex}\n data-value={value}\n data-column={column}\n data-active={isActive}\n >\n {value}\n </StyledTimeItem>\n );\n })}\n <StyledEmpty />\n </StyledTimeColumn>\n\n <CustomScrollbar\n ref={scrollbarRef}\n className={cls({\n [classes.scrollbarVisible]: scrollbarState?.isVisible,\n })}\n tabIndex={-1}\n >\n <ScrollbarTrack>\n <ScrollbarThumb\n ref={thumbRef}\n style={{\n height: `${scrollbarState?.thumbHeight}px`,\n top: `${scrollbarState?.thumbPosition}px`,\n }}\n onMouseDown={\n columnRef && setScrollbar && timeoutRef\n ? createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)\n : undefined\n }\n tabIndex={-1}\n />\n </ScrollbarTrack>\n </CustomScrollbar>\n </StyledRoot>\n );\n};\n"],"names":["renderTimeColumn","_ref","values","disabledValues","dropdownHeight","column","activeTime","currentColumn","handleTimeItemClick","handleTimeItemKeyDown","createScrollbarDragHandler","setScrollbar","columnRef","scrollbarState","scrollbarRef","thumbRef","timeoutRef","timeItemRefs","handleKeyDown","e","columnType","value","handleClick","isDisabled","some","disabledValue","parseInt","toString","minDisableIndex","length","disabledNumbers","map","val","i","currentValue","includes","isColumnActive","minAvailableIndex","React","createElement","StyledRoot","StyledTimeColumn","key","ref","height","className","classes","timeColumn","tabIndex","index","isActive","getTabIndex","isValueActive","StyledTimeItem","el","current","concat","cls","_defineProperty","timeItemActive","itemDisabled","onClick","onKeyDown","_StyledEmpty","StyledEmpty","CustomScrollbar","scrollbarVisible","isVisible","ScrollbarTrack","ScrollbarThumb","style","thumbHeight","top","thumbPosition","onMouseDown","undefined"],"mappings":";;;;;;;IAgBaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAiBN;AAAA,EAAA,IAhBnBC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,cAAc,GAAAF,IAAA,CAAdE,cAAc;IACdC,cAAc,GAAAH,IAAA,CAAdG,cAAc;IACdC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,UAAU,GAAAL,IAAA,CAAVK,UAAU;IACVC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,mBAAmB,GAAAP,IAAA,CAAnBO,mBAAmB;IACnBC,qBAAqB,GAAAR,IAAA,CAArBQ,qBAAqB;IACrBC,0BAA0B,GAAAT,IAAA,CAA1BS,0BAA0B;IAC1BC,YAAY,GAAAV,IAAA,CAAZU,YAAY;IACZC,SAAS,GAAAX,IAAA,CAATW,SAAS;IACTC,cAAc,GAAAZ,IAAA,CAAdY,cAAc;IACdC,YAAY,GAAAb,IAAA,CAAZa,YAAY;IACZC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACRC,UAAU,GAAAf,IAAA,CAAVe,UAAU;IACVC,YAAY,GAAAhB,IAAA,CAAZgB,YAAY,CAAA;EAEZ,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,CAAsC,EAAEC,UAA0B,EAAEC,KAAa,EAAK;AACzGZ,IAAAA,qBAAqB,CAACU,CAAC,EAAEC,UAAU,EAAEC,KAAK,CAAC,CAAA;GAC9C,CAAA;EAED,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAID,KAAa,EAAED,UAA0B,EAAK;IAC/D,IAAMG,UAAU,GAAGpB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAEqB,IAAI,CACnC,UAACC,aAAa,EAAA;AAAA,MAAA,OAAKC,QAAQ,CAACD,aAAa,CAACE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAKD,QAAQ,CAACL,KAAK,EAAE,EAAE,CAAC,CAAA;AAAA,KACrF,CAAC,CAAA;IAED,IAAI,CAACE,UAAU,EAAE;AACbf,MAAAA,mBAAmB,CAACa,KAAK,EAAED,UAAU,CAAC,CAAA;AAC1C,KAAA;GACH,CAAA;AAED,EAAA,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,GAAS;IAC1B,IAAI,CAACzB,cAAc,IAAIA,cAAc,CAAC0B,MAAM,KAAK,CAAC,EAAE;AAChD,MAAA,OAAO,CAAC,CAAA;AACZ,KAAA;AAEA,IAAA,IAAMC,eAAe,GAAG3B,cAAc,CAAC4B,GAAG,CAAC,UAACC,GAAG,EAAA;MAAA,OAAKN,QAAQ,CAACM,GAAG,CAACL,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;KAAC,CAAA,CAAA;AAEjF,IAAA,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG/B,MAAM,CAAC2B,MAAM,EAAEI,CAAC,EAAE,EAAE;MACpC,IAAMC,YAAY,GAAGR,QAAQ,CAACxB,MAAM,CAAC+B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC5C,MAAA,IAAI,CAACH,eAAe,CAACK,QAAQ,CAACD,YAAY,CAAC,EAAE;AACzC,QAAA,OAAOD,CAAC,CAAA;AACZ,OAAA;AACJ,KAAA;AAEA,IAAA,OAAO,CAAC,CAAA;GACX,CAAA;AAED,EAAA,IAAMG,cAAc,GAAG7B,aAAa,KAAKF,MAAM,CAAA;AAC/C,EAAA,IAAMgC,iBAAiB,GAAGT,eAAe,EAAE,CAAA;EAE3C,oBACIU,cAAA,CAAAC,aAAA,CAACC,UAAU,qBACPF,cAAA,CAAAC,aAAA,CAACE,gBAAgB,EAAA;AACbC,IAAAA,GAAG,EAAErC,MAAO;AACZsC,IAAAA,GAAG,EAAE/B,SAAU;AACfgC,IAAAA,MAAM,EAAExC,cAAe;IACvByC,SAAS,EAAEC,OAAO,CAACC,UAAW;AAC9BC,IAAAA,QAAQ,EAAE,CAAC,CAAA;GAEV9C,EAAAA,MAAM,CAAC6B,GAAG,CAAC,UAACV,KAAK,EAAE4B,KAAK,EAAK;IAC1B,IAAM1B,UAAU,GAAGpB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAEqB,IAAI,CAAC,UAACC,aAAa,EAAA;MAAA,OAAKA,aAAa,KAAKwB,KAAK,CAAA;KAAC,CAAA,CAAA;AACnF,IAAA,IAAMC,QAAQ,GAAG5C,UAAU,CAACD,MAAM,CAAC,KAAKqB,QAAQ,CAACL,KAAK,EAAE,EAAE,CAAC,CAAA;AAE3D,IAAA,IAAM8B,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACtB,MAAA,IAAI5B,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzB,MAAA,IAAM6B,aAAa,GAAG9C,UAAU,CAACD,MAAM,CAAC,KAAKqB,QAAQ,CAACL,KAAK,EAAE,EAAE,CAAC,CAAA;MAEhE,IAAIe,cAAc,IAAIgB,aAAa,EAAE;AACjC,QAAA,OAAO,CAAC,CAAA;AACZ,OAAA;MACA,IAAIH,KAAK,KAAKZ,iBAAiB,EAAE;AAC7B,QAAA,OAAO,CAAC,CAAA;AACZ,OAAA;AAEA,MAAA,OAAO,CAAC,CAAC,CAAA;KACZ,CAAA;AAED,IAAA,IAAMW,QAAQ,GAAGG,WAAW,EAAE,CAAA;AAE9B,IAAA,oBACIb,cAAA,CAAAC,aAAA,CAACc,cAAc,EAAA;MACXX,GAAG,EAAErC,MAAM,GAAGgB,KAAM;AACpBsB,MAAAA,GAAG,EAAE,SAAAA,GAACW,CAAAA,EAAE,EAAK;AACTrC,QAAAA,YAAY,CAACsC,OAAO,CAAAC,EAAAA,CAAAA,MAAA,CAAInD,MAAM,EAAAmD,GAAAA,CAAAA,CAAAA,MAAA,CAAInC,KAAK,CAAG,CAAA,GAAGiC,EAAE,CAAA;OACjD;AACFT,MAAAA,SAAS,EAAEY,GAAG,CAAAC,eAAA,CAAAA,eAAA,KACTZ,OAAO,CAACa,cAAc,EAAGT,QAAQ,GACjCJ,OAAO,CAACc,YAAY,EAAGrC,UAAU,CACrC,CAAE;MACHsC,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,QAAA,OAAMvC,WAAW,CAACD,KAAK,EAAEhB,MAAM,CAAC,CAAA;OAAC;MAC1CyD,SAAS,EAAE,SAAAA,SAAAA,CAAC3C,CAAC,EAAA;AAAA,QAAA,OAAKD,aAAa,CAACC,CAAC,EAAEd,MAAM,EAAEgB,KAAK,CAAC,CAAA;OAAC;AAClD,MAAA,eAAA,EAAeE,UAAW;AAC1ByB,MAAAA,QAAQ,EAAEA,QAAS;AACnB,MAAA,YAAA,EAAY3B,KAAM;AAClB,MAAA,aAAA,EAAahB,MAAO;MACpB,aAAa6C,EAAAA,QAAAA;AAAS,KAAA,EAErB7B,KACW,CAAC,CAAA;GAExB,CAAC,EAAA0C,YAAA,KAAAA,YAAA,gBACFzB,cAAA,CAAAC,aAAA,CAACyB,WAAW,EAAE,IAAA,CAAC,CACD,CAAC,eAEnB1B,cAAA,CAAAC,aAAA,CAAC0B,eAAe,EAAA;AACZtB,IAAAA,GAAG,EAAE7B,YAAa;AAClB+B,IAAAA,SAAS,EAAEY,GAAG,CAAAC,eAAA,CAAA,EAAA,EACTZ,OAAO,CAACoB,gBAAgB,EAAGrD,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEsD,SAAS,CACxD,CAAE;AACHnB,IAAAA,QAAQ,EAAE,CAAC,CAAA;GAEXV,eAAAA,cAAA,CAAAC,aAAA,CAAC6B,cAAc,qBACX9B,cAAA,CAAAC,aAAA,CAAC8B,cAAc,EAAA;AACX1B,IAAAA,GAAG,EAAE5B,QAAS;AACduD,IAAAA,KAAK,EAAE;MACH1B,MAAM,EAAA,EAAA,CAAAY,MAAA,CAAK3C,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAE0D,WAAW,EAAI,IAAA,CAAA;MAC1CC,GAAG,EAAA,EAAA,CAAAhB,MAAA,CAAK3C,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAE4D,aAAa,EAAA,IAAA,CAAA;KACvC;AACFC,IAAAA,WAAW,EACP9D,SAAS,IAAID,YAAY,IAAIK,UAAU,GACjCN,0BAA0B,CAACE,SAAS,EAAED,YAAY,EAAEK,UAAU,CAAC,GAC/D2D,SACT;AACD3B,IAAAA,QAAQ,EAAE,CAAC,CAAA;GACd,CACW,CACH,CACT,CAAC,CAAA;AAErB;;;;"}
|