@salutejs/plasma-new-hope 0.343.1-canary.2382.20340419800.0 → 0.343.1-canary.2387.20295571144.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/dist/css/cjs/components/Autocomplete/Autocomplete.css +26 -26
- package/dist/css/cjs/components/Autocomplete/Autocomplete.tokens.js +0 -1
- package/dist/css/cjs/components/Autocomplete/Autocomplete.tokens.js.map +1 -1
- package/dist/css/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +1 -1
- package/dist/css/cjs/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
- package/dist/css/cjs/components/Autocomplete/ui/TextField/TextField.styles_baeqws.css +1 -0
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.css +26 -26
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -3
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/dist/css/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +1 -1
- package/dist/css/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
- package/dist/css/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles_ycaw31.css +1 -0
- package/dist/css/cjs/components/DatePicker/RangeDate/RangeDate.css +26 -26
- package/dist/css/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +26 -26
- package/dist/css/cjs/components/DatePicker/SingleDate/SingleDate.css +25 -25
- package/dist/css/cjs/components/DateTimePicker/DateTimePicker.css +25 -25
- package/dist/css/cjs/components/DateTimePicker/DateTimePicker.js +0 -2
- package/dist/css/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/css/cjs/components/DateTimePicker/ui/Input/Input.css +25 -25
- package/dist/css/cjs/components/Pagination/Pagination.css +29 -29
- package/dist/css/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +29 -29
- package/dist/css/cjs/components/Range/Range.css +26 -26
- package/dist/css/cjs/components/Range/variations/_readonly/base.js +1 -1
- package/dist/css/cjs/components/Range/variations/_readonly/base.js.map +1 -1
- package/dist/css/cjs/components/Range/variations/_readonly/base_15u5q5r.css +1 -0
- package/dist/css/cjs/components/Select/Select.css +29 -29
- package/dist/css/cjs/components/Select/Select.js +1 -5
- package/dist/css/cjs/components/Select/Select.js.map +1 -1
- package/dist/css/cjs/components/Select/Select.tokens.js +0 -1
- package/dist/css/cjs/components/Select/Select.tokens.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/Target.css +29 -29
- package/dist/css/cjs/components/Select/ui/Target/Target.js +0 -2
- package/dist/css/cjs/components/Select/ui/Target/Target.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +29 -29
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +1 -2
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +11 -11
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
- package/dist/css/{es/components/Select/ui/Target/ui/Textfield/Textfield.styles_q5q8aa.css → cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles_19e9015.css} +1 -1
- package/dist/css/cjs/components/Slider/Slider.css +25 -25
- package/dist/css/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +25 -25
- package/dist/css/cjs/components/Table/Table.css +29 -29
- package/dist/css/cjs/components/Table/ui/EditableCell/EditableCell.css +29 -29
- package/dist/css/cjs/components/Table/ui/HeadCell/HeadCell.css +29 -29
- package/dist/css/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +29 -29
- package/dist/css/cjs/components/TextArea/TextArea.js +1 -3
- package/dist/css/cjs/components/TextArea/TextArea.js.map +1 -1
- package/dist/css/cjs/components/TextArea/TextArea.styles.js +5 -5
- package/dist/css/cjs/components/TextArea/TextArea.styles.js.map +1 -1
- package/dist/css/{es/components/TextArea/TextArea.styles_j6drga.css → cjs/components/TextArea/TextArea.styles_exqsyh.css} +1 -1
- package/dist/css/cjs/components/TextArea/TextArea.tokens.js +1 -4
- package/dist/css/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
- package/dist/css/cjs/components/TextArea/ui/Hint/Hint.css +22 -22
- package/dist/css/cjs/components/TextField/TextField.js +1 -3
- package/dist/css/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/css/cjs/components/TextField/TextField.styles.js +5 -5
- package/dist/css/cjs/components/TextField/TextField.styles.js.map +1 -1
- package/dist/css/cjs/components/TextField/{TextField.styles_s18fd2.css → TextField.styles_1pu4eym.css} +1 -1
- package/dist/css/cjs/components/TextField/TextField.tokens.js +0 -5
- package/dist/css/cjs/components/TextField/TextField.tokens.js.map +1 -1
- package/dist/css/cjs/components/TextField/ui/Hint/Hint.css +22 -22
- package/dist/css/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +23 -23
- package/dist/css/cjs/components/TextField/variations/_read-only/base.js +1 -1
- package/dist/css/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
- package/dist/css/cjs/components/TextField/variations/_read-only/base_2lss3j.css +1 -0
- package/dist/css/cjs/components/TextField/variations/_view/base.js +1 -1
- package/dist/css/cjs/components/TextField/variations/_view/base.js.map +1 -1
- package/dist/css/cjs/components/TextField/variations/_view/base_1twy16p.css +1 -0
- package/dist/css/cjs/components/TimePicker/TimePicker.css +25 -25
- package/dist/css/cjs/components/TimePicker/TimePicker.js +0 -3
- package/dist/css/cjs/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/css/cjs/components/TimePickerGrid/TimePickerGrid.js +0 -3
- package/dist/css/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/dist/css/cjs/index.css +55 -55
- package/dist/css/es/components/Autocomplete/Autocomplete.css +26 -26
- package/dist/css/es/components/Autocomplete/Autocomplete.tokens.js +0 -1
- package/dist/css/es/components/Autocomplete/Autocomplete.tokens.js.map +1 -1
- package/dist/css/es/components/Autocomplete/ui/TextField/TextField.styles.js +1 -1
- package/dist/css/es/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
- package/dist/css/es/components/Autocomplete/ui/TextField/TextField.styles_baeqws.css +1 -0
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.css +26 -26
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.js +2 -3
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/dist/css/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +1 -1
- package/dist/css/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
- package/dist/css/es/components/Combobox/ComboboxNew/ui/Target/Target.styles_ycaw31.css +1 -0
- package/dist/css/es/components/DatePicker/RangeDate/RangeDate.css +26 -26
- package/dist/css/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +26 -26
- package/dist/css/es/components/DatePicker/SingleDate/SingleDate.css +25 -25
- package/dist/css/es/components/DateTimePicker/DateTimePicker.css +25 -25
- package/dist/css/es/components/DateTimePicker/DateTimePicker.js +0 -2
- package/dist/css/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/css/es/components/DateTimePicker/ui/Input/Input.css +25 -25
- package/dist/css/es/components/Pagination/Pagination.css +29 -29
- package/dist/css/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +29 -29
- package/dist/css/es/components/Range/Range.css +26 -26
- package/dist/css/es/components/Range/variations/_readonly/base.js +1 -1
- package/dist/css/es/components/Range/variations/_readonly/base.js.map +1 -1
- package/dist/css/es/components/Range/variations/_readonly/base_15u5q5r.css +1 -0
- package/dist/css/es/components/Select/Select.css +29 -29
- package/dist/css/es/components/Select/Select.js +1 -5
- package/dist/css/es/components/Select/Select.js.map +1 -1
- package/dist/css/es/components/Select/Select.tokens.js +0 -1
- package/dist/css/es/components/Select/Select.tokens.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/Target.css +29 -29
- package/dist/css/es/components/Select/ui/Target/Target.js +0 -2
- package/dist/css/es/components/Select/ui/Target/Target.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.css +29 -29
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.js +1 -2
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +11 -11
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
- package/dist/css/{cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles_q5q8aa.css → es/components/Select/ui/Target/ui/Textfield/Textfield.styles_19e9015.css} +1 -1
- package/dist/css/es/components/Slider/Slider.css +25 -25
- package/dist/css/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +25 -25
- package/dist/css/es/components/Table/Table.css +29 -29
- package/dist/css/es/components/Table/ui/EditableCell/EditableCell.css +29 -29
- package/dist/css/es/components/Table/ui/HeadCell/HeadCell.css +29 -29
- package/dist/css/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +29 -29
- package/dist/css/es/components/TextArea/TextArea.js +1 -3
- package/dist/css/es/components/TextArea/TextArea.js.map +1 -1
- package/dist/css/es/components/TextArea/TextArea.styles.js +5 -5
- package/dist/css/es/components/TextArea/TextArea.styles.js.map +1 -1
- package/dist/css/{cjs/components/TextArea/TextArea.styles_j6drga.css → es/components/TextArea/TextArea.styles_exqsyh.css} +1 -1
- package/dist/css/es/components/TextArea/TextArea.tokens.js +1 -4
- package/dist/css/es/components/TextArea/TextArea.tokens.js.map +1 -1
- package/dist/css/es/components/TextArea/ui/Hint/Hint.css +22 -22
- package/dist/css/es/components/TextField/TextField.js +1 -3
- package/dist/css/es/components/TextField/TextField.js.map +1 -1
- package/dist/css/es/components/TextField/TextField.styles.js +5 -5
- package/dist/css/es/components/TextField/TextField.styles.js.map +1 -1
- package/dist/css/es/components/TextField/{TextField.styles_s18fd2.css → TextField.styles_1pu4eym.css} +1 -1
- package/dist/css/es/components/TextField/TextField.tokens.js +0 -5
- package/dist/css/es/components/TextField/TextField.tokens.js.map +1 -1
- package/dist/css/es/components/TextField/ui/Hint/Hint.css +22 -22
- package/dist/css/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +23 -23
- package/dist/css/es/components/TextField/variations/_read-only/base.js +1 -1
- package/dist/css/es/components/TextField/variations/_read-only/base.js.map +1 -1
- package/dist/css/es/components/TextField/variations/_read-only/base_2lss3j.css +1 -0
- package/dist/css/es/components/TextField/variations/_view/base.js +1 -1
- package/dist/css/es/components/TextField/variations/_view/base.js.map +1 -1
- package/dist/css/es/components/TextField/variations/_view/base_1twy16p.css +1 -0
- package/dist/css/es/components/TimePicker/TimePicker.css +25 -25
- package/dist/css/es/components/TimePicker/TimePicker.js +0 -3
- package/dist/css/es/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/css/es/components/TimePickerGrid/TimePickerGrid.js +0 -3
- package/dist/css/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -1
- package/dist/css/es/index.css +55 -55
- package/dist/emotion/cjs/components/Autocomplete/Autocomplete.tokens.js +0 -1
- package/dist/emotion/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +2 -2
- package/dist/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -3
- package/dist/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
- package/dist/emotion/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -2
- package/dist/emotion/cjs/components/Range/variations/_readonly/base.js +1 -1
- package/dist/emotion/cjs/components/Select/Select.js +1 -5
- package/dist/emotion/cjs/components/Select/Select.tokens.js +0 -1
- package/dist/emotion/cjs/components/Select/ui/Target/Target.js +1 -2
- package/dist/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +8 -8
- package/dist/emotion/cjs/components/TextArea/TextArea.js +2 -4
- package/dist/emotion/cjs/components/TextArea/TextArea.styles.js +48 -48
- package/dist/emotion/cjs/components/TextArea/TextArea.tokens.js +1 -3
- package/dist/emotion/cjs/components/TextField/TextField.js +2 -4
- package/dist/emotion/cjs/components/TextField/TextField.styles.js +46 -46
- package/dist/emotion/cjs/components/TextField/TextField.tokens.js +0 -5
- package/dist/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
- package/dist/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
- package/dist/emotion/es/components/Autocomplete/Autocomplete.tokens.js +0 -1
- package/dist/emotion/es/components/Autocomplete/ui/TextField/TextField.styles.js +2 -2
- package/dist/emotion/es/components/Combobox/ComboboxNew/Combobox.js +2 -3
- package/dist/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
- package/dist/emotion/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -2
- package/dist/emotion/es/components/DateTimePicker/DateTimePicker.js +0 -1
- package/dist/emotion/es/components/Range/variations/_readonly/base.js +1 -1
- package/dist/emotion/es/components/Select/Select.js +1 -5
- package/dist/emotion/es/components/Select/Select.tokens.js +0 -1
- package/dist/emotion/es/components/Select/ui/Target/Target.js +1 -2
- package/dist/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +8 -8
- package/dist/emotion/es/components/TextArea/TextArea.js +2 -4
- package/dist/emotion/es/components/TextArea/TextArea.styles.js +48 -48
- package/dist/emotion/es/components/TextArea/TextArea.tokens.js +1 -3
- package/dist/emotion/es/components/TextField/TextField.js +2 -4
- package/dist/emotion/es/components/TextField/TextField.styles.js +46 -46
- package/dist/emotion/es/components/TextField/TextField.tokens.js +0 -5
- package/dist/emotion/es/components/TextField/variations/_read-only/base.js +1 -1
- package/dist/emotion/es/components/TextField/variations/_view/base.js +2 -2
- package/dist/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/dist/styled-components/cjs/components/Autocomplete/Autocomplete.tokens.js +0 -1
- package/dist/styled-components/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +2 -4
- package/dist/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -3
- package/dist/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
- package/dist/styled-components/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -4
- package/dist/styled-components/cjs/components/Range/variations/_readonly/base.js +1 -1
- package/dist/styled-components/cjs/components/Select/Select.js +1 -5
- package/dist/styled-components/cjs/components/Select/Select.tokens.js +0 -1
- package/dist/styled-components/cjs/components/Select/ui/Target/Target.js +1 -2
- package/dist/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +7 -6
- package/dist/styled-components/cjs/components/TextArea/TextArea.js +1 -3
- package/dist/styled-components/cjs/components/TextArea/TextArea.styles.js +26 -28
- package/dist/styled-components/cjs/components/TextArea/TextArea.tokens.js +1 -3
- package/dist/styled-components/cjs/components/TextField/TextField.js +1 -3
- package/dist/styled-components/cjs/components/TextField/TextField.styles.js +25 -28
- package/dist/styled-components/cjs/components/TextField/TextField.tokens.js +0 -5
- package/dist/styled-components/cjs/components/TextField/variations/_read-only/base.js +2 -2
- package/dist/styled-components/cjs/components/TextField/variations/_view/base.js +3 -6
- package/dist/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/dist/styled-components/es/components/Autocomplete/Autocomplete.tokens.js +0 -1
- package/dist/styled-components/es/components/Autocomplete/ui/TextField/TextField.styles.js +2 -4
- package/dist/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +2 -3
- package/dist/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
- package/dist/styled-components/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -4
- package/dist/styled-components/es/components/DateTimePicker/DateTimePicker.js +0 -1
- package/dist/styled-components/es/components/Range/variations/_readonly/base.js +1 -1
- package/dist/styled-components/es/components/Select/Select.js +1 -5
- package/dist/styled-components/es/components/Select/Select.tokens.js +0 -1
- package/dist/styled-components/es/components/Select/ui/Target/Target.js +1 -2
- package/dist/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +7 -6
- package/dist/styled-components/es/components/TextArea/TextArea.js +1 -3
- package/dist/styled-components/es/components/TextArea/TextArea.styles.js +26 -28
- package/dist/styled-components/es/components/TextArea/TextArea.tokens.js +1 -3
- package/dist/styled-components/es/components/TextField/TextField.js +1 -3
- package/dist/styled-components/es/components/TextField/TextField.styles.js +25 -28
- package/dist/styled-components/es/components/TextField/TextField.tokens.js +0 -5
- package/dist/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
- package/dist/styled-components/es/components/TextField/variations/_view/base.js +4 -7
- package/package.json +5 -5
- package/types/components/Autocomplete/Autocomplete.tokens.d.ts +0 -1
- package/types/components/Autocomplete/Autocomplete.tokens.d.ts.map +1 -1
- package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +0 -1
- package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +0 -4
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
- package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +0 -6
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Range/variations/_readonly/base.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.tokens.d.ts +0 -1
- package/types/components/Select/Select.tokens.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +0 -5
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.d.ts +1 -1
- package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +0 -6
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.tokens.d.ts +0 -3
- package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/TextField.styles.d.ts +1 -3
- package/types/components/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/TextField/TextField.tokens.d.ts +0 -5
- package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
- package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
- package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +0 -24
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +0 -6
- package/types/examples/components/Select/Select.d.ts.map +1 -1
- package/dist/css/cjs/components/Autocomplete/ui/TextField/TextField.styles_oleegh.css +0 -1
- package/dist/css/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles_1r643gn.css +0 -1
- package/dist/css/cjs/components/Range/variations/_readonly/base_sjb43y.css +0 -1
- package/dist/css/cjs/components/TextField/variations/_read-only/base_1ys6zet.css +0 -1
- package/dist/css/cjs/components/TextField/variations/_view/base_19qf9jc.css +0 -1
- package/dist/css/es/components/Autocomplete/ui/TextField/TextField.styles_oleegh.css +0 -1
- package/dist/css/es/components/Combobox/ComboboxNew/ui/Target/Target.styles_1r643gn.css +0 -1
- package/dist/css/es/components/Range/variations/_readonly/base_sjb43y.css +0 -1
- package/dist/css/es/components/TextField/variations/_read-only/base_1ys6zet.css +0 -1
- package/dist/css/es/components/TextField/variations/_view/base_19qf9jc.css +0 -1
|
@@ -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\n// changes to start tests\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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"}
|