@skbkontur/react-ui 6.4.6-b246a.0 → 6.4.7-25ce4.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/CHANGELOG.md +11 -0
- package/README.md +42 -0
- package/components/Autocomplete/Autocomplete.css.d.ts +6 -0
- package/components/Autocomplete/Autocomplete.css.js +4 -0
- package/components/Autocomplete/Autocomplete.css.js.map +1 -0
- package/components/Autocomplete/Autocomplete.d.ts +0 -3
- package/components/Autocomplete/Autocomplete.js +4 -6
- package/components/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/getAutocompleteTheme.d.ts +1 -2
- package/components/Autocomplete/getAutocompleteTheme.js +3 -2
- package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
- package/components/Button/Button.classes.js +1 -1
- package/components/Button/Button.classes.js.map +1 -1
- package/components/Button/Button.css.d.ts +166 -0
- package/components/Button/Button.css.js +77 -0
- package/components/Button/Button.css.js.map +1 -0
- package/components/Button/Button.d.ts +0 -4
- package/components/Button/Button.js +73 -74
- package/components/Button/Button.js.map +1 -1
- package/components/Button/ButtonArrow.d.ts +1 -4
- package/components/Button/ButtonArrow.js +10 -14
- package/components/Button/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon.css.d.ts +28 -0
- package/components/Button/ButtonIcon.css.js +15 -0
- package/components/Button/ButtonIcon.css.js.map +1 -0
- package/components/Button/ButtonIcon.js +9 -21
- package/components/Button/ButtonIcon.js.map +1 -1
- package/components/Button/LoadingButtonIcon.js +2 -4
- package/components/Button/LoadingButtonIcon.js.map +1 -1
- package/components/Button/getInnerLinkTheme.d.ts +1 -2
- package/components/Button/getInnerLinkTheme.js +3 -2
- package/components/Button/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar.css.d.ts +8 -0
- package/components/Calendar/Calendar.css.js +5 -0
- package/components/Calendar/Calendar.css.js.map +1 -0
- package/components/Calendar/Calendar.d.ts +0 -3
- package/components/Calendar/Calendar.js +5 -5
- package/components/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/CalendarDay.js +7 -9
- package/components/Calendar/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView.css.d.ts +14 -0
- package/components/Calendar/DayCellView.css.js +8 -0
- package/components/Calendar/DayCellView.css.js.map +1 -0
- package/components/Calendar/DayCellView.js +2 -6
- package/components/Calendar/DayCellView.js.map +1 -1
- package/components/Calendar/Month.js +5 -25
- package/components/Calendar/Month.js.map +1 -1
- package/components/Calendar/MonthView.css.d.ts +20 -0
- package/components/Calendar/MonthView.css.js +11 -0
- package/components/Calendar/MonthView.css.js.map +1 -0
- package/components/Calendar/MonthView.js +8 -10
- package/components/Calendar/MonthView.js.map +1 -1
- package/components/Center/Center.css.d.ts +12 -0
- package/components/Center/Center.css.js +7 -0
- package/components/Center/Center.css.js.map +1 -0
- package/components/Center/Center.d.ts +0 -3
- package/components/Center/Center.js +8 -10
- package/components/Center/Center.js.map +1 -1
- package/components/Checkbox/Checkbox.css.d.ts +62 -0
- package/components/Checkbox/Checkbox.css.js +32 -0
- package/components/Checkbox/Checkbox.css.js.map +1 -0
- package/components/Checkbox/Checkbox.d.ts +0 -3
- package/components/Checkbox/Checkbox.js +33 -33
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.d.ts +19 -4
- package/components/Checkbox/Checkbox.mixins.js +16 -15
- package/components/Checkbox/Checkbox.mixins.js.map +1 -1
- package/components/DateInput/DateFragmentsView.css.d.ts +10 -0
- package/components/DateInput/DateFragmentsView.css.js +6 -0
- package/components/DateInput/DateFragmentsView.css.js.map +1 -0
- package/components/DateInput/DateFragmentsView.d.ts +0 -5
- package/components/DateInput/DateFragmentsView.js +9 -17
- package/components/DateInput/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput.css.d.ts +16 -0
- package/components/DateInput/DateInput.css.js +9 -0
- package/components/DateInput/DateInput.css.js.map +1 -0
- package/components/DateInput/DateInput.d.ts +0 -5
- package/components/DateInput/DateInput.js +9 -18
- package/components/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker.css.d.ts +6 -0
- package/components/DatePicker/DatePicker.css.js +4 -0
- package/components/DatePicker/DatePicker.css.js.map +1 -0
- package/components/DatePicker/DatePicker.d.ts +0 -2
- package/components/DatePicker/DatePicker.js +8 -7
- package/components/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/MobilePicker.css.d.ts +4 -0
- package/components/DatePicker/MobilePicker.css.js +3 -0
- package/components/DatePicker/MobilePicker.css.js.map +1 -0
- package/components/DatePicker/MobilePicker.js +2 -4
- package/components/DatePicker/MobilePicker.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme.d.ts +1 -2
- package/components/DatePicker/getMobilePickerTheme.js +3 -2
- package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.css.d.ts +34 -0
- package/components/DateRangePicker/DateRangePicker.css.js +18 -0
- package/components/DateRangePicker/DateRangePicker.css.js.map +1 -0
- package/components/DateRangePicker/DateRangePicker.d.ts +12 -12
- package/components/DateRangePicker/DateRangePicker.js +40 -38
- package/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerTheme.d.ts +2 -3
- package/components/DateRangePicker/DateRangePickerTheme.js +5 -4
- package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
- package/components/Dropdown/getDropdownTheme.d.ts +1 -2
- package/components/Dropdown/getDropdownTheme.js +3 -2
- package/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/components/DropdownMenu/getDropdownMenuTheme.d.ts +1 -2
- package/components/DropdownMenu/getDropdownMenuTheme.js +3 -2
- package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
- package/components/FileUploader/FileUploader.css.d.ts +133 -0
- package/components/FileUploader/FileUploader.css.js +65 -0
- package/components/FileUploader/FileUploader.css.js.map +1 -0
- package/components/FileUploader/FileUploader.js +43 -46
- package/components/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.mixins.d.ts +6 -1
- package/components/FileUploader/FileUploader.mixins.js +6 -1
- package/components/FileUploader/FileUploader.mixins.js.map +1 -1
- package/components/FileUploader/FileUploaderFile.css.d.ts +111 -0
- package/components/FileUploader/FileUploaderFile.css.js +56 -0
- package/components/FileUploader/FileUploaderFile.css.js.map +1 -0
- package/components/FileUploader/FileUploaderFile.js +35 -40
- package/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.d.ts +60 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +31 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +1 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +22 -28
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/components/FileUploader/FileUploaderFileStatusIcon.js +3 -8
- package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.css.d.ts +26 -0
- package/components/GlobalLoader/GlobalLoaderView.css.js +14 -0
- package/components/GlobalLoader/GlobalLoaderView.css.js.map +1 -0
- package/components/GlobalLoader/GlobalLoaderView.js +20 -19
- package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/components/Group/Group.css.d.ts +14 -0
- package/components/Group/Group.css.js +8 -0
- package/components/Group/Group.css.js.map +1 -0
- package/components/Group/Group.d.ts +0 -3
- package/components/Group/Group.js +10 -12
- package/components/Group/Group.js.map +1 -1
- package/components/Hint/Hint.css.d.ts +6 -0
- package/components/Hint/Hint.css.js +4 -0
- package/components/Hint/Hint.css.js.map +1 -0
- package/components/Hint/Hint.d.ts +0 -3
- package/components/Hint/Hint.js +10 -10
- package/components/Hint/Hint.js.map +1 -1
- package/components/Input/Input.css.d.ts +73 -0
- package/components/Input/Input.css.js +22 -0
- package/components/Input/Input.css.js.map +1 -0
- package/components/Input/Input.d.ts +0 -3
- package/components/Input/Input.js +18 -18
- package/components/Input/Input.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.css.d.ts +32 -0
- package/components/Input/InputLayout/InputLayout.css.js +18 -0
- package/components/Input/InputLayout/InputLayout.css.js.map +1 -0
- package/components/Input/InputLayout/InputLayout.js +2 -4
- package/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside.js +2 -4
- package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideCounter.js +9 -11
- package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon.js +3 -5
- package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideText.js +4 -6
- package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
- package/components/Kebab/Kebab.css.d.ts +18 -0
- package/components/Kebab/Kebab.css.js +10 -0
- package/components/Kebab/Kebab.css.js.map +1 -0
- package/components/Kebab/Kebab.d.ts +0 -3
- package/components/Kebab/Kebab.js +6 -6
- package/components/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link.css.d.ts +43 -0
- package/components/Link/Link.css.js +22 -0
- package/components/Link/Link.css.js.map +1 -0
- package/components/Link/Link.d.ts +0 -3
- package/components/Link/Link.js +25 -24
- package/components/Link/Link.js.map +1 -1
- package/components/Link/LinkIcon.js +4 -8
- package/components/Link/LinkIcon.js.map +1 -1
- package/components/Loader/Loader.css.d.ts +12 -0
- package/components/Loader/Loader.css.js +7 -0
- package/components/Loader/Loader.css.js.map +1 -0
- package/components/Loader/Loader.d.ts +0 -5
- package/components/Loader/Loader.js +8 -16
- package/components/Loader/Loader.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +7 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +4 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +1 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +4 -6
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/MaskedInput.css.d.ts +7 -0
- package/components/MaskedInput/MaskedInput.css.js +5 -0
- package/components/MaskedInput/MaskedInput.css.js.map +1 -0
- package/components/MaskedInput/MaskedInputLegacy.js +4 -8
- package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
- package/components/MaskedInputV2/MaskedInputV2.css.d.ts +7 -0
- package/components/MaskedInputV2/MaskedInputV2.css.js +5 -0
- package/components/MaskedInputV2/MaskedInputV2.css.js.map +1 -0
- package/components/MaskedInputV2/MaskedInputV2.js +4 -8
- package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskOverlay.js +7 -13
- package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedCore.js +5 -8
- package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedInternal.css.d.ts +19 -0
- package/components/MaskedInputV2/internal/MaskedInternal.css.js +8 -0
- package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +1 -0
- package/components/MaskedInputV2/react-imask/input.d.ts +1 -1
- package/components/MenuFooter/MenuFooter.css.d.ts +16 -0
- package/components/MenuFooter/MenuFooter.css.js +9 -0
- package/components/MenuFooter/MenuFooter.css.js.map +1 -0
- package/components/MenuFooter/MenuFooter.js +10 -14
- package/components/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.mixins.d.ts +8 -2
- package/components/MenuFooter/MenuFooter.mixins.js +8 -4
- package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
- package/components/MenuHeader/MenuHeader.css.d.ts +16 -0
- package/components/MenuHeader/MenuHeader.css.js +9 -0
- package/components/MenuHeader/MenuHeader.css.js.map +1 -0
- package/components/MenuHeader/MenuHeader.js +9 -13
- package/components/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.mixins.d.ts +8 -2
- package/components/MenuHeader/MenuHeader.mixins.js +8 -4
- package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
- package/components/MenuItem/MenuItem.css.d.ts +50 -0
- package/components/MenuItem/MenuItem.css.js +26 -0
- package/components/MenuItem/MenuItem.css.js.map +1 -0
- package/components/MenuItem/MenuItem.d.ts +0 -3
- package/components/MenuItem/MenuItem.js +30 -30
- package/components/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.mixins.d.ts +12 -4
- package/components/MenuItem/MenuItem.mixins.js +12 -19
- package/components/MenuItem/MenuItem.mixins.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.css.d.ts +6 -0
- package/components/MenuSeparator/MenuSeparator.css.js +4 -0
- package/components/MenuSeparator/MenuSeparator.css.js.map +1 -0
- package/components/MenuSeparator/MenuSeparator.js +7 -13
- package/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MiniModal/MiniModal.css.d.ts +17 -0
- package/components/MiniModal/MiniModal.css.js +10 -0
- package/components/MiniModal/MiniModal.css.js.map +1 -0
- package/components/MiniModal/MiniModalBody.js +2 -8
- package/components/MiniModal/MiniModalBody.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.js +4 -8
- package/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.js +6 -10
- package/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalIndent.js +3 -7
- package/components/MiniModal/MiniModalIndent.js.map +1 -1
- package/components/MiniModal/getMiniModalTheme.d.ts +1 -2
- package/components/MiniModal/getMiniModalTheme.js +3 -2
- package/components/MiniModal/getMiniModalTheme.js.map +1 -1
- package/components/Modal/Modal.css.d.ts +102 -0
- package/components/Modal/Modal.css.js +51 -0
- package/components/Modal/Modal.css.js.map +1 -0
- package/components/Modal/Modal.d.ts +0 -3
- package/components/Modal/Modal.js +26 -26
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +0 -3
- package/components/Modal/ModalBody.js +10 -12
- package/components/Modal/ModalBody.js.map +1 -1
- package/components/Modal/ModalClose.js +14 -19
- package/components/Modal/ModalClose.js.map +1 -1
- package/components/Modal/ModalFooter.js +3 -5
- package/components/Modal/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader.js +3 -5
- package/components/Modal/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator.js +5 -9
- package/components/Modal/ModalSeparator.js.map +1 -1
- package/components/Modal/getModalBodyTheme.d.ts +1 -2
- package/components/Modal/getModalBodyTheme.js +3 -2
- package/components/Modal/getModalBodyTheme.js.map +1 -1
- package/components/Modal/getModalTheme.d.ts +1 -2
- package/components/Modal/getModalTheme.js +3 -2
- package/components/Modal/getModalTheme.js.map +1 -1
- package/components/Paging/Paging.css.d.ts +60 -0
- package/components/Paging/Paging.css.js +31 -0
- package/components/Paging/Paging.css.js.map +1 -0
- package/components/Paging/Paging.d.ts +0 -4
- package/components/Paging/Paging.js +36 -44
- package/components/Paging/Paging.js.map +1 -1
- package/components/PasswordInput/PasswordInput.css.d.ts +18 -0
- package/components/PasswordInput/PasswordInput.css.js +10 -0
- package/components/PasswordInput/PasswordInput.css.js.map +1 -0
- package/components/PasswordInput/PasswordInput.d.ts +0 -4
- package/components/PasswordInput/PasswordInput.js +10 -17
- package/components/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/locale/locales/en.js +2 -2
- package/components/PasswordInput/locale/locales/en.js.map +1 -1
- package/components/PasswordInput/locale/locales/ru.js +2 -2
- package/components/PasswordInput/locale/locales/ru.js.map +1 -1
- package/components/Radio/Radio.css.d.ts +61 -0
- package/components/Radio/Radio.css.js +31 -0
- package/components/Radio/Radio.css.js.map +1 -0
- package/components/Radio/Radio.d.ts +0 -4
- package/components/Radio/Radio.js +33 -38
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mixins.d.ts +39 -7
- package/components/Radio/Radio.mixins.js +37 -23
- package/components/Radio/Radio.mixins.js.map +1 -1
- package/components/RadioGroup/RadioGroup.css.d.ts +10 -0
- package/components/RadioGroup/RadioGroup.css.js +6 -0
- package/components/RadioGroup/RadioGroup.css.js.map +1 -0
- package/components/RadioGroup/RadioGroup.d.ts +0 -3
- package/components/RadioGroup/RadioGroup.js +8 -10
- package/components/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +1 -6
- package/components/ScrollContainer/ScrollBar.js +25 -33
- package/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.css.d.ts +31 -0
- package/components/ScrollContainer/ScrollContainer.css.js +14 -0
- package/components/ScrollContainer/ScrollContainer.css.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.d.ts +0 -3
- package/components/ScrollContainer/ScrollContainer.js +4 -4
- package/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/Select/Select.css.d.ts +31 -0
- package/components/Select/Select.css.js +16 -0
- package/components/Select/Select.css.js.map +1 -0
- package/components/Select/Select.d.ts +0 -4
- package/components/Select/Select.js +25 -24
- package/components/Select/Select.js.map +1 -1
- package/components/Select/selectTheme.d.ts +1 -3
- package/components/Select/selectTheme.js +8 -7
- package/components/Select/selectTheme.js.map +1 -1
- package/components/SidePage/SidePage.css.d.ts +96 -0
- package/components/SidePage/SidePage.css.js +49 -0
- package/components/SidePage/SidePage.css.js.map +1 -0
- package/components/SidePage/SidePage.d.ts +0 -5
- package/components/SidePage/SidePage.js +21 -29
- package/components/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +0 -3
- package/components/SidePage/SidePageBody.js +5 -11
- package/components/SidePage/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.js +7 -10
- package/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +0 -4
- package/components/SidePage/SidePageContainer.js +10 -17
- package/components/SidePage/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +1 -6
- package/components/SidePage/SidePageFooter.js +10 -18
- package/components/SidePage/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +0 -3
- package/components/SidePage/SidePageHeader.js +14 -16
- package/components/SidePage/SidePageHeader.js.map +1 -1
- package/components/Spinner/Spinner.css.d.ts +22 -0
- package/components/Spinner/Spinner.css.js +12 -0
- package/components/Spinner/Spinner.css.js.map +1 -0
- package/components/Spinner/Spinner.d.ts +0 -5
- package/components/Spinner/Spinner.js +9 -19
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Sticky/Sticky.css.d.ts +12 -0
- package/components/Sticky/Sticky.css.js +7 -0
- package/components/Sticky/Sticky.css.js.map +1 -0
- package/components/Sticky/Sticky.d.ts +0 -4
- package/components/Sticky/Sticky.js +7 -10
- package/components/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher.css.d.ts +20 -0
- package/components/Switcher/Switcher.css.js +11 -0
- package/components/Switcher/Switcher.css.js.map +1 -0
- package/components/Switcher/Switcher.d.ts +0 -3
- package/components/Switcher/Switcher.js +11 -13
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/switcherTheme.d.ts +1 -2
- package/components/Switcher/switcherTheme.js +3 -2
- package/components/Switcher/switcherTheme.js.map +1 -1
- package/components/Tabs/Indicator.css.d.ts +12 -0
- package/components/Tabs/Indicator.css.js +7 -0
- package/components/Tabs/Indicator.css.js.map +1 -0
- package/components/Tabs/Indicator.d.ts +0 -3
- package/components/Tabs/Indicator.js +3 -3
- package/components/Tabs/Indicator.js.map +1 -1
- package/components/Tabs/Tab.css.d.ts +55 -0
- package/components/Tabs/Tab.css.js +28 -0
- package/components/Tabs/Tab.css.js.map +1 -0
- package/components/Tabs/Tab.d.ts +1 -8
- package/components/Tabs/Tab.js +23 -33
- package/components/Tabs/Tab.js.map +1 -1
- package/components/Tabs/Tabs.css.d.ts +10 -0
- package/components/Tabs/Tabs.css.js +6 -0
- package/components/Tabs/Tabs.css.js.map +1 -0
- package/components/Tabs/Tabs.d.ts +0 -4
- package/components/Tabs/Tabs.js +25 -30
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea.css.d.ts +42 -0
- package/components/Textarea/Textarea.css.js +22 -0
- package/components/Textarea/Textarea.css.js.map +1 -0
- package/components/Textarea/Textarea.d.ts +1 -4
- package/components/Textarea/Textarea.js +19 -19
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.mixins.d.ts +8 -2
- package/components/Textarea/Textarea.mixins.js +8 -6
- package/components/Textarea/Textarea.mixins.js.map +1 -1
- package/components/Textarea/TextareaCounter.js +7 -9
- package/components/Textarea/TextareaCounter.js.map +1 -1
- package/components/ThemeContainer/ThemeContainer.d.ts +16 -0
- package/components/ThemeContainer/ThemeContainer.js +46 -0
- package/components/ThemeContainer/ThemeContainer.js.map +1 -0
- package/components/ThemeContainer/index.d.ts +1 -0
- package/components/ThemeContainer/index.js +2 -0
- package/components/ThemeContainer/index.js.map +1 -0
- package/components/TimePicker/TimePicker.css.d.ts +19 -0
- package/components/TimePicker/TimePicker.css.js +10 -0
- package/components/TimePicker/TimePicker.css.js.map +1 -0
- package/components/TimePicker/TimePicker.js +4 -6
- package/components/TimePicker/TimePicker.js.map +1 -1
- package/components/TimePicker/TimePickerItems.js +12 -16
- package/components/TimePicker/TimePickerItems.js.map +1 -1
- package/components/TimePicker/TimePickerPopup.js +2 -4
- package/components/TimePicker/TimePickerPopup.js.map +1 -1
- package/components/TimePicker/helpers/TimePicker.constants.d.ts +1 -0
- package/components/TimePicker/helpers/TimePicker.constants.js +3 -0
- package/components/TimePicker/helpers/TimePicker.constants.js.map +1 -1
- package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -1
- package/components/TimePicker/helpers/TimePicker.value.js +0 -5
- package/components/TimePicker/helpers/TimePicker.value.js.map +1 -1
- package/components/Toast/Toast.css.d.ts +10 -0
- package/components/Toast/Toast.css.js +6 -0
- package/components/Toast/Toast.css.js.map +1 -0
- package/components/Toast/Toast.d.ts +0 -2
- package/components/Toast/Toast.js +7 -10
- package/components/Toast/Toast.js.map +1 -1
- package/components/Toast/ToastView.css.d.ts +31 -0
- package/components/Toast/ToastView.css.js +16 -0
- package/components/Toast/ToastView.css.js.map +1 -0
- package/components/Toast/ToastView.d.ts +0 -3
- package/components/Toast/ToastView.js +9 -11
- package/components/Toast/ToastView.js.map +1 -1
- package/components/Toggle/Toggle.classes.js +1 -1
- package/components/Toggle/Toggle.classes.js.map +1 -1
- package/components/Toggle/Toggle.css.d.ts +93 -0
- package/components/Toggle/Toggle.css.js +48 -0
- package/components/Toggle/Toggle.css.js.map +1 -0
- package/components/Toggle/Toggle.d.ts +1 -6
- package/components/Toggle/Toggle.js +52 -60
- package/components/Toggle/Toggle.js.map +1 -1
- package/components/Token/Token.css.d.ts +39 -0
- package/components/Token/Token.css.js +20 -0
- package/components/Token/Token.css.js.map +1 -0
- package/components/Token/Token.d.ts +0 -5
- package/components/Token/Token.js +4 -15
- package/components/Token/Token.js.map +1 -1
- package/components/Token/Token.mixins.d.ts +6 -1
- package/components/Token/Token.mixins.js +6 -3
- package/components/Token/Token.mixins.js.map +1 -1
- package/components/Token/TokenView.js +8 -12
- package/components/Token/TokenView.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +0 -3
- package/components/TokenInput/TextWidthHelper.js +7 -17
- package/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput.css.d.ts +40 -0
- package/components/TokenInput/TokenInput.css.js +22 -0
- package/components/TokenInput/TokenInput.css.js.map +1 -0
- package/components/TokenInput/TokenInput.d.ts +0 -3
- package/components/TokenInput/TokenInput.js +22 -23
- package/components/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.mixins.d.ts +8 -2
- package/components/TokenInput/TokenInput.mixins.js +8 -6
- package/components/TokenInput/TokenInput.mixins.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.js +5 -3
- package/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip.css.d.ts +18 -0
- package/components/Tooltip/Tooltip.css.js +10 -0
- package/components/Tooltip/Tooltip.css.js.map +1 -0
- package/components/Tooltip/Tooltip.d.ts +1 -12
- package/components/Tooltip/Tooltip.js +29 -42
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.js +10 -6
- package/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.css.d.ts +18 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.css.js +10 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.js +8 -11
- package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.css.d.ts +14 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.css.js +8 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +1 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.js +15 -13
- package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +6 -2
- package/internal/CommonWrapper/CommonWrapper.js +29 -7
- package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +0 -4
- package/internal/CustomComboBox/ComboBoxView.js +6 -9
- package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.css.d.ts +6 -0
- package/internal/CustomComboBox/CustomComboBox.css.js +4 -0
- package/internal/CustomComboBox/CustomComboBox.css.js.map +1 -0
- package/internal/CustomComboBox/getComboBoxTheme.d.ts +1 -2
- package/internal/CustomComboBox/getComboBoxTheme.js +3 -2
- package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
- package/internal/DateSelect/DateSelect.css.d.ts +11 -0
- package/internal/DateSelect/DateSelect.css.js +6 -0
- package/internal/DateSelect/DateSelect.css.js.map +1 -0
- package/internal/DateSelect/DateSelect.d.ts +0 -3
- package/internal/DateSelect/DateSelect.js +5 -7
- package/internal/DateSelect/DateSelect.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +4 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +3 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +1 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -2
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +8 -13
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.css.d.ts +8 -0
- package/internal/InputLikeText/InputLikeText.css.js +5 -0
- package/internal/InputLikeText/InputLikeText.css.js.map +1 -0
- package/internal/InputLikeText/InputLikeText.d.ts +0 -4
- package/internal/InputLikeText/InputLikeText.js +28 -29
- package/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +5 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +0 -5
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +33 -33
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +4 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.css.js +3 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +1 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.js +2 -4
- package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
- package/internal/Menu/Menu.css.d.ts +28 -0
- package/internal/Menu/Menu.css.js +15 -0
- package/internal/Menu/Menu.css.js.map +1 -0
- package/internal/Menu/Menu.d.ts +0 -3
- package/internal/Menu/Menu.js +28 -24
- package/internal/Menu/Menu.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.css.d.ts +18 -0
- package/internal/MenuMessage/MenuMessage.css.js +10 -0
- package/internal/MenuMessage/MenuMessage.css.js.map +1 -0
- package/internal/MenuMessage/MenuMessage.js +10 -12
- package/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.css.d.ts +30 -0
- package/internal/MobilePopup/MobilePopup.css.js +16 -0
- package/internal/MobilePopup/MobilePopup.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopup.d.ts +0 -3
- package/internal/MobilePopup/MobilePopup.js +17 -19
- package/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.d.ts +10 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +0 -2
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +5 -16
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.d.ts +24 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +13 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +0 -3
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +18 -28
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.css.d.ts +4 -0
- package/internal/NativeDateInput/NativeDateInput.css.js +3 -0
- package/internal/NativeDateInput/NativeDateInput.css.js.map +1 -0
- package/internal/NativeDateInput/NativeDateInput.d.ts +0 -2
- package/internal/NativeDateInput/NativeDateInput.js +2 -13
- package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
- package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +4 -0
- package/internal/NativeTimeInput/NativeTimeInput.css.js +3 -0
- package/internal/NativeTimeInput/NativeTimeInput.css.js.map +1 -0
- package/internal/NativeTimeInput/NativeTimeInput.js +2 -4
- package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
- package/internal/Popup/Popup.css.d.ts +35 -0
- package/internal/Popup/Popup.css.js +16 -0
- package/internal/Popup/Popup.css.js.map +1 -0
- package/internal/Popup/Popup.d.ts +0 -11
- package/internal/Popup/Popup.js +26 -40
- package/internal/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupPin.css.d.ts +16 -0
- package/internal/Popup/PopupPin.css.js +9 -0
- package/internal/Popup/PopupPin.css.js.map +1 -0
- package/internal/Popup/PopupPin.d.ts +0 -3
- package/internal/Popup/PopupPin.js +8 -8
- package/internal/Popup/PopupPin.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.css.d.ts +6 -0
- package/internal/PopupMenu/PopupMenu.css.js +4 -0
- package/internal/PopupMenu/PopupMenu.css.js.map +1 -0
- package/internal/PopupMenu/PopupMenu.d.ts +0 -2
- package/internal/PopupMenu/PopupMenu.js +9 -8
- package/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +2 -0
- package/internal/RenderContainer/RenderContainer.js +38 -3
- package/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.js +6 -3
- package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.css.d.ts +12 -0
- package/internal/ResizeDetector/ResizeDetector.css.js +7 -0
- package/internal/ResizeDetector/ResizeDetector.css.js.map +1 -0
- package/internal/ResizeDetector/ResizeDetector.d.ts +0 -3
- package/internal/ResizeDetector/ResizeDetector.js +8 -18
- package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.css.d.ts +10 -0
- package/internal/SpinnerIcon/SpinnerIcon.css.js +6 -0
- package/internal/SpinnerIcon/SpinnerIcon.css.js.map +1 -0
- package/internal/SpinnerIcon/SpinnerIcon.js +5 -7
- package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.css.js +4 -0
- package/internal/TextWidthHelper/TextWidthHelper.css.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -2
- package/internal/TextWidthHelper/TextWidthHelper.js +3 -14
- package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/internal/TimeInput/TimeFragments.css.d.ts +47 -0
- package/internal/TimeInput/TimeFragments.css.js +18 -0
- package/internal/TimeInput/TimeFragments.css.js.map +1 -0
- package/internal/TimeInput/TimeFragments.js +22 -26
- package/internal/TimeInput/TimeFragments.js.map +1 -1
- package/internal/TimeInput/TimeInput.css.d.ts +10 -0
- package/internal/TimeInput/TimeInput.css.js +6 -0
- package/internal/TimeInput/TimeInput.css.js.map +1 -0
- package/internal/TimeInput/TimeInput.js +6 -8
- package/internal/TimeInput/TimeInput.js.map +1 -1
- package/internal/icons2022/BaseIcon.css.d.ts +4 -0
- package/internal/icons2022/BaseIcon.css.js +3 -0
- package/internal/icons2022/BaseIcon.css.js.map +1 -0
- package/internal/icons2022/BaseIcon.js +2 -4
- package/internal/icons2022/BaseIcon.js.map +1 -1
- package/internal/icons2022/LoadingIcon.js +3 -7
- package/internal/icons2022/LoadingIcon.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +5 -5
- package/internal/themes/BasicTheme.js +42 -12
- package/internal/themes/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme6_0.js +0 -2
- package/internal/themes/DarkTheme6_0.js.map +1 -1
- package/lib/cx.d.ts +2 -0
- package/lib/cx.js +23 -0
- package/lib/cx.js.map +1 -0
- package/lib/prefix.d.ts +2 -0
- package/lib/prefix.js +22 -0
- package/lib/prefix.js.map +1 -0
- package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +1 -1
- package/lib/renderEnvironment/RenderEnvironmentContext.js +23 -14
- package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
- package/lib/styles/LabGrotesqueBaseline.css.d.ts +1 -0
- package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
- package/lib/styles/LabGrotesqueBaseline.css.js.map +1 -0
- package/lib/styles/Mixins.d.ts +29 -1
- package/lib/styles/Mixins.js +33 -4
- package/lib/styles/Mixins.js.map +1 -1
- package/lib/styles/UiFont.css.d.ts +1 -0
- package/lib/styles/UiFont.css.js +2 -0
- package/lib/styles/UiFont.css.js.map +1 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +6 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation.js +23 -6
- package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
- package/lib/theming/Emotion.d.ts +5 -14
- package/lib/theming/Emotion.js +12 -68
- package/lib/theming/Emotion.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +1 -10
- package/lib/theming/ThemeFactory.js +1 -29
- package/lib/theming/ThemeFactory.js.map +1 -1
- package/lib/theming/memoizeTheme.d.ts +11 -0
- package/lib/theming/memoizeTheme.js +37 -0
- package/lib/theming/memoizeTheme.js.map +1 -0
- package/lib/theming/themeVars.d.ts +37 -0
- package/lib/theming/themeVars.js +121 -0
- package/lib/theming/themeVars.js.map +1 -0
- package/package.json +21 -6
- package/react-ui.css +6096 -0
- package/theme-loader.js +51 -0
- package/components/Autocomplete/Autocomplete.styles.d.ts +0 -5
- package/components/Autocomplete/Autocomplete.styles.js +0 -18
- package/components/Autocomplete/Autocomplete.styles.js.map +0 -1
- package/components/Button/Button.mixins.d.ts +0 -4
- package/components/Button/Button.mixins.js +0 -21
- package/components/Button/Button.mixins.js.map +0 -1
- package/components/Button/Button.styles.d.ts +0 -95
- package/components/Button/Button.styles.js +0 -260
- package/components/Button/Button.styles.js.map +0 -1
- package/components/Button/ButtonIcon.styles.d.ts +0 -16
- package/components/Button/ButtonIcon.styles.js +0 -53
- package/components/Button/ButtonIcon.styles.js.map +0 -1
- package/components/Calendar/Calendar.styles.d.ts +0 -6
- package/components/Calendar/Calendar.styles.js +0 -22
- package/components/Calendar/Calendar.styles.js.map +0 -1
- package/components/Calendar/DayCellView.styles.d.ts +0 -9
- package/components/Calendar/DayCellView.styles.js +0 -31
- package/components/Calendar/DayCellView.styles.js.map +0 -1
- package/components/Calendar/MonthView.styles.d.ts +0 -13
- package/components/Calendar/MonthView.styles.js +0 -47
- package/components/Calendar/MonthView.styles.js.map +0 -1
- package/components/Center/Center.styles.d.ts +0 -7
- package/components/Center/Center.styles.js +0 -27
- package/components/Center/Center.styles.js.map +0 -1
- package/components/Checkbox/Checkbox.styles.d.ts +0 -34
- package/components/Checkbox/Checkbox.styles.js +0 -100
- package/components/Checkbox/Checkbox.styles.js.map +0 -1
- package/components/DateInput/DateFragmentsView.styles.d.ts +0 -7
- package/components/DateInput/DateFragmentsView.styles.js +0 -28
- package/components/DateInput/DateFragmentsView.styles.js.map +0 -1
- package/components/DateInput/DateInput.styles.d.ts +0 -11
- package/components/DateInput/DateInput.styles.js +0 -29
- package/components/DateInput/DateInput.styles.js.map +0 -1
- package/components/DatePicker/DatePicker.styles.d.ts +0 -5
- package/components/DatePicker/DatePicker.styles.js +0 -18
- package/components/DatePicker/DatePicker.styles.js.map +0 -1
- package/components/DatePicker/MobilePicker.styles.d.ts +0 -3
- package/components/DatePicker/MobilePicker.styles.js +0 -15
- package/components/DatePicker/MobilePicker.styles.js.map +0 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -16
- package/components/DateRangePicker/DateRangePicker.styles.js +0 -57
- package/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
- package/components/FileUploader/FileUploader.styles.d.ts +0 -74
- package/components/FileUploader/FileUploader.styles.js +0 -221
- package/components/FileUploader/FileUploader.styles.js.map +0 -1
- package/components/FileUploader/FileUploaderFile.styles.d.ts +0 -60
- package/components/FileUploader/FileUploaderFile.styles.js +0 -184
- package/components/FileUploader/FileUploaderFile.styles.js.map +0 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -34
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +0 -103
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
- package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +0 -17
- package/components/GlobalLoader/GlobalLoaderView.styles.js +0 -70
- package/components/GlobalLoader/GlobalLoaderView.styles.js.map +0 -1
- package/components/Group/Group.styles.d.ts +0 -8
- package/components/Group/Group.styles.js +0 -30
- package/components/Group/Group.styles.js.map +0 -1
- package/components/Hint/Hint.styles.d.ts +0 -5
- package/components/Hint/Hint.styles.js +0 -18
- package/components/Hint/Hint.styles.js.map +0 -1
- package/components/Input/Input.styles.d.ts +0 -21
- package/components/Input/Input.styles.js +0 -68
- package/components/Input/Input.styles.js.map +0 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +0 -18
- package/components/Input/InputLayout/InputLayout.styles.js +0 -59
- package/components/Input/InputLayout/InputLayout.styles.js.map +0 -1
- package/components/Kebab/Kebab.styles.d.ts +0 -11
- package/components/Kebab/Kebab.styles.js +0 -36
- package/components/Kebab/Kebab.styles.js.map +0 -1
- package/components/Link/Link.mixins.d.ts +0 -2
- package/components/Link/Link.mixins.js +0 -7
- package/components/Link/Link.mixins.js.map +0 -1
- package/components/Link/Link.styles.d.ts +0 -24
- package/components/Link/Link.styles.js +0 -82
- package/components/Link/Link.styles.js.map +0 -1
- package/components/Loader/Loader.styles.d.ts +0 -8
- package/components/Loader/Loader.styles.js +0 -27
- package/components/Loader/Loader.styles.js.map +0 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +0 -6
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +0 -18
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +0 -1
- package/components/MaskedInput/MaskedInput.styles.d.ts +0 -7
- package/components/MaskedInput/MaskedInput.styles.js +0 -19
- package/components/MaskedInput/MaskedInput.styles.js.map +0 -1
- package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +0 -7
- package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -19
- package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
- package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +0 -15
- package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -34
- package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
- package/components/MenuFooter/MenuFooter.styles.d.ts +0 -10
- package/components/MenuFooter/MenuFooter.styles.js +0 -34
- package/components/MenuFooter/MenuFooter.styles.js.map +0 -1
- package/components/MenuHeader/MenuHeader.styles.d.ts +0 -10
- package/components/MenuHeader/MenuHeader.styles.js +0 -34
- package/components/MenuHeader/MenuHeader.styles.js.map +0 -1
- package/components/MenuItem/MenuItem.styles.d.ts +0 -29
- package/components/MenuItem/MenuItem.styles.js +0 -88
- package/components/MenuItem/MenuItem.styles.js.map +0 -1
- package/components/MenuSeparator/MenuSeparator.styles.d.ts +0 -5
- package/components/MenuSeparator/MenuSeparator.styles.js +0 -18
- package/components/MenuSeparator/MenuSeparator.styles.js.map +0 -1
- package/components/MiniModal/MiniModal.styles.d.ts +0 -11
- package/components/MiniModal/MiniModal.styles.js +0 -37
- package/components/MiniModal/MiniModal.styles.js.map +0 -1
- package/components/Modal/Modal.styles.d.ts +0 -55
- package/components/Modal/Modal.styles.js +0 -167
- package/components/Modal/Modal.styles.js.map +0 -1
- package/components/Paging/Paging.styles.d.ts +0 -32
- package/components/Paging/Paging.styles.js +0 -99
- package/components/Paging/Paging.styles.js.map +0 -1
- package/components/PasswordInput/PasswordInput.styles.d.ts +0 -11
- package/components/PasswordInput/PasswordInput.styles.js +0 -36
- package/components/PasswordInput/PasswordInput.styles.js.map +0 -1
- package/components/Radio/Radio.styles.d.ts +0 -34
- package/components/Radio/Radio.styles.js +0 -100
- package/components/Radio/Radio.styles.js.map +0 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +0 -6
- package/components/RadioGroup/RadioGroup.styles.js +0 -24
- package/components/RadioGroup/RadioGroup.styles.js.map +0 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -21
- package/components/ScrollContainer/ScrollContainer.styles.js +0 -52
- package/components/ScrollContainer/ScrollContainer.styles.js.map +0 -1
- package/components/Select/Select.styles.d.ts +0 -18
- package/components/Select/Select.styles.js +0 -57
- package/components/Select/Select.styles.js.map +0 -1
- package/components/SidePage/SidePage.styles.d.ts +0 -50
- package/components/SidePage/SidePage.styles.js +0 -158
- package/components/SidePage/SidePage.styles.js.map +0 -1
- package/components/Spinner/Spinner.styles.d.ts +0 -13
- package/components/Spinner/Spinner.styles.js +0 -43
- package/components/Spinner/Spinner.styles.js.map +0 -1
- package/components/Sticky/Sticky.styles.d.ts +0 -7
- package/components/Sticky/Sticky.styles.js +0 -27
- package/components/Sticky/Sticky.styles.js.map +0 -1
- package/components/Switcher/Switcher.styles.d.ts +0 -12
- package/components/Switcher/Switcher.styles.js +0 -39
- package/components/Switcher/Switcher.styles.js.map +0 -1
- package/components/Tabs/Indicator.styles.d.ts +0 -8
- package/components/Tabs/Indicator.styles.js +0 -27
- package/components/Tabs/Indicator.styles.js.map +0 -1
- package/components/Tabs/Tab.styles.d.ts +0 -33
- package/components/Tabs/Tab.styles.js +0 -105
- package/components/Tabs/Tab.styles.js.map +0 -1
- package/components/Tabs/Tabs.styles.d.ts +0 -7
- package/components/Tabs/Tabs.styles.js +0 -26
- package/components/Tabs/Tabs.styles.js.map +0 -1
- package/components/Textarea/Textarea.styles.d.ts +0 -23
- package/components/Textarea/Textarea.styles.js +0 -73
- package/components/Textarea/Textarea.styles.js.map +0 -1
- package/components/TimePicker/TimePicker.styles.d.ts +0 -12
- package/components/TimePicker/TimePicker.styles.js +0 -39
- package/components/TimePicker/TimePicker.styles.js.map +0 -1
- package/components/Toast/Toast.styles.d.ts +0 -6
- package/components/Toast/Toast.styles.js +0 -24
- package/components/Toast/Toast.styles.js.map +0 -1
- package/components/Toast/ToastView.styles.d.ts +0 -18
- package/components/Toast/ToastView.styles.js +0 -67
- package/components/Toast/ToastView.styles.js.map +0 -1
- package/components/Toggle/Toggle.mixins.d.ts +0 -8
- package/components/Toggle/Toggle.mixins.js +0 -32
- package/components/Toggle/Toggle.mixins.js.map +0 -1
- package/components/Toggle/Toggle.styles.d.ts +0 -49
- package/components/Toggle/Toggle.styles.js +0 -147
- package/components/Toggle/Toggle.styles.js.map +0 -1
- package/components/Token/Token.styles.d.ts +0 -23
- package/components/Token/Token.styles.js +0 -67
- package/components/Token/Token.styles.js.map +0 -1
- package/components/TokenInput/TokenInput.styles.d.ts +0 -22
- package/components/TokenInput/TokenInput.styles.js +0 -71
- package/components/TokenInput/TokenInput.styles.js.map +0 -1
- package/components/Tooltip/Tooltip.styles.d.ts +0 -11
- package/components/Tooltip/Tooltip.styles.js +0 -36
- package/components/Tooltip/Tooltip.styles.js.map +0 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +0 -12
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +0 -36
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +0 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +0 -8
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +0 -24
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
- package/internal/CustomComboBox/CustomComboBox.styles.d.ts +0 -4
- package/internal/CustomComboBox/CustomComboBox.styles.js +0 -18
- package/internal/CustomComboBox/CustomComboBox.styles.js.map +0 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +0 -9
- package/internal/DateSelect/DateSelect.styles.js +0 -24
- package/internal/DateSelect/DateSelect.styles.js.map +0 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +0 -8
- package/internal/InputLikeText/InputLikeText.styles.js +0 -30
- package/internal/InputLikeText/InputLikeText.styles.js.map +0 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +0 -3
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +0 -15
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +0 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +0 -3
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +0 -15
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +0 -1
- package/internal/Menu/Menu.styles.d.ts +0 -16
- package/internal/Menu/Menu.styles.js +0 -51
- package/internal/Menu/Menu.styles.js.map +0 -1
- package/internal/MenuMessage/MenuMessage.styles.d.ts +0 -11
- package/internal/MenuMessage/MenuMessage.styles.js +0 -41
- package/internal/MenuMessage/MenuMessage.styles.js.map +0 -1
- package/internal/MobilePopup/MobilePopup.styles.d.ts +0 -17
- package/internal/MobilePopup/MobilePopup.styles.js +0 -57
- package/internal/MobilePopup/MobilePopup.styles.js.map +0 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +0 -7
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +0 -25
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +0 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +0 -14
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +0 -47
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +0 -1
- package/internal/NativeDateInput/NativeDateInput.styles.d.ts +0 -3
- package/internal/NativeDateInput/NativeDateInput.styles.js +0 -15
- package/internal/NativeDateInput/NativeDateInput.styles.js.map +0 -1
- package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
- package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
- package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
- package/internal/Popup/Popup.styles.d.ts +0 -22
- package/internal/Popup/Popup.styles.js +0 -69
- package/internal/Popup/Popup.styles.js.map +0 -1
- package/internal/Popup/PopupPin.styles.d.ts +0 -9
- package/internal/Popup/PopupPin.styles.js +0 -33
- package/internal/Popup/PopupPin.styles.js.map +0 -1
- package/internal/PopupMenu/PopupMenu.styles.d.ts +0 -4
- package/internal/PopupMenu/PopupMenu.styles.js +0 -18
- package/internal/PopupMenu/PopupMenu.styles.js.map +0 -1
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +0 -7
- package/internal/ResizeDetector/ResizeDetector.styles.js +0 -27
- package/internal/ResizeDetector/ResizeDetector.styles.js.map +0 -1
- package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +0 -6
- package/internal/SpinnerIcon/SpinnerIcon.styles.js +0 -24
- package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +0 -1
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
- package/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -18
- package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
- package/internal/TimeInput/TimeFragments.styles.d.ts +0 -32
- package/internal/TimeInput/TimeFragments.styles.js +0 -78
- package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
- package/internal/TimeInput/TimeInput.styles.d.ts +0 -7
- package/internal/TimeInput/TimeInput.styles.js +0 -24
- package/internal/TimeInput/TimeInput.styles.js.map +0 -1
- package/internal/icons2022/BaseIcon.styles.d.ts +0 -3
- package/internal/icons2022/BaseIcon.styles.js +0 -16
- package/internal/icons2022/BaseIcon.styles.js.map +0 -1
- package/lib/Upgrades.d.ts +0 -6
- package/lib/Upgrades.js +0 -34
- package/lib/Upgrades.js.map +0 -1
- package/lib/styles/UiFont.d.ts +0 -3
- package/lib/styles/UiFont.js +0 -18
- package/lib/styles/UiFont.js.map +0 -1
- package/lib/theming/AnimationKeyframes.d.ts +0 -7
- package/lib/theming/AnimationKeyframes.js +0 -24
- package/lib/theming/AnimationKeyframes.js.map +0 -1
- package/typings/stylis-plugin-extra-scope.d.ts +0 -3
|
@@ -29,3 +29,4 @@ export declare const TIME_LIKE_SEGMENTS_REGEXP: RegExp;
|
|
|
29
29
|
/** Время без разделителей: `1`, `12`, `1230`, `123045`. */
|
|
30
30
|
export declare const TIME_LIKE_DIGITS_REGEXP: RegExp;
|
|
31
31
|
export declare const TIME_SEGMENTS_BY_FORMAT: Record<TimeFormat, TimeSegment[]>;
|
|
32
|
+
export declare const getEmptyDisplayValue: (precision: TimeFormat) => string;
|
|
@@ -31,4 +31,7 @@ export var TIME_SEGMENTS_BY_FORMAT = {
|
|
|
31
31
|
'HH:mm': ['hours', 'minutes'],
|
|
32
32
|
'HH:mm:ss': ['hours', 'minutes', 'seconds'],
|
|
33
33
|
};
|
|
34
|
+
export var getEmptyDisplayValue = function (precision) {
|
|
35
|
+
return TIME_SEGMENTS_BY_FORMAT[precision].map(function () { return EMPTY_SEGMENT; }).join(TIME_SEPARATOR);
|
|
36
|
+
};
|
|
34
37
|
//# sourceMappingURL=TimePicker.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.constants.js","sourceRoot":"","sources":["TimePicker.constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,yBAAyB;IACtC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,yBAAyB;IACtC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,qBAAqB;IAC9B,MAAM,EAAE,oBAAoB;IAC5B,YAAY,EAAE,0BAA0B;CAChC,CAAC;AAEX,wFAAwF;AACxF,MAAM,CAAC,IAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,IAAM,qBAAqB,GAAG,QAAQ,CAAC;AAC9C,MAAM,CAAC,IAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,IAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,IAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,IAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,IAAM,aAAa,GAAG,GAAG,CAAC;AACjC,MAAM,CAAC,IAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,IAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,IAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/E,MAAM,CAAC,IAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,oFAAoF;AACpF,MAAM,CAAC,IAAM,yBAAyB,GAAG,IAAI,MAAM,CAAC,0CAAmC,uBAAuB,GAAG,CAAC,OAAI,CAAC,CAAC;AACxH,2DAA2D;AAC3D,MAAM,CAAC,IAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,iBAAU,uBAAuB,GAAG,mBAAmB,OAAI,CAAC,CAAC;AAE/G,MAAM,CAAC,IAAM,uBAAuB,GAAsC;IACxE,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;CAC5C,CAAC","sourcesContent":["import type { TimeFormat, TimeSegment } from './TimePicker.shared.js';\n\nexport const TimePickerDataTids = {\n root: 'TimePicker__root',\n input: 'TimePicker__input',\n mobileInput: 'TimePicker__mobileInput',\n nativeInput: 'TimePicker__nativeInput',\n popup: 'TimePicker__popup',\n mobilePopup: 'TimePicker__mobilePopup',\n item: 'TimePicker__item',\n loading: 'TimePicker__loading',\n failed: 'TimePicker__failed',\n inputLoading: 'TimePicker__inputLoading',\n} as const;\n\n/** Больше двух десятков часов не бывает: такая первая цифра сразу завершает сегмент. */\nexport const HOURS_FIRST_DIGIT_MAX = 2;\nexport const TIME_PLACEHOLDER_CHAR = '\\u2212';\nexport const TIME_SEPARATOR = ':';\nexport const TIME_SEGMENT_LENGTH = 2;\nexport const HOURS_MAX_VALUE = 23;\nexport const MINUTES_AND_SECONDS_MAX_VALUE = 59;\nexport const ZERO_PAD_CHAR = '0';\nexport const EMPTY_VALUE = '';\nexport const DIGIT_REGEXP = /\\d/;\nexport const NON_DIGIT_REGEXP = /\\D/g;\nexport const EMPTY_SEGMENT = TIME_PLACEHOLDER_CHAR.repeat(TIME_SEGMENT_LENGTH);\n\nexport const MAX_TIME_SEGMENTS_COUNT = 3;\n/** Сегменты времени через любой разделитель: `12:30`, `9:5`, `1:23:45`, `12.30`. */\nexport const TIME_LIKE_SEGMENTS_REGEXP = new RegExp(`^\\\\d{1,2}(?:\\\\D{1,3}\\\\d{1,2}){0,${MAX_TIME_SEGMENTS_COUNT - 1}}$`);\n/** Время без разделителей: `1`, `12`, `1230`, `123045`. */\nexport const TIME_LIKE_DIGITS_REGEXP = new RegExp(`^\\\\d{1,${MAX_TIME_SEGMENTS_COUNT * TIME_SEGMENT_LENGTH}}$`);\n\nexport const TIME_SEGMENTS_BY_FORMAT: Record<TimeFormat, TimeSegment[]> = {\n 'HH:mm': ['hours', 'minutes'],\n 'HH:mm:ss': ['hours', 'minutes', 'seconds'],\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TimePicker.constants.js","sourceRoot":"","sources":["TimePicker.constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,yBAAyB;IACtC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,yBAAyB;IACtC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,qBAAqB;IAC9B,MAAM,EAAE,oBAAoB;IAC5B,YAAY,EAAE,0BAA0B;CAChC,CAAC;AAEX,wFAAwF;AACxF,MAAM,CAAC,IAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,IAAM,qBAAqB,GAAG,QAAQ,CAAC;AAC9C,MAAM,CAAC,IAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,IAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,IAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,IAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,IAAM,aAAa,GAAG,GAAG,CAAC;AACjC,MAAM,CAAC,IAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,IAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,IAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/E,MAAM,CAAC,IAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,oFAAoF;AACpF,MAAM,CAAC,IAAM,yBAAyB,GAAG,IAAI,MAAM,CAAC,0CAAmC,uBAAuB,GAAG,CAAC,OAAI,CAAC,CAAC;AACxH,2DAA2D;AAC3D,MAAM,CAAC,IAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,iBAAU,uBAAuB,GAAG,mBAAmB,OAAI,CAAC,CAAC;AAE/G,MAAM,CAAC,IAAM,uBAAuB,GAAsC;IACxE,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;CAC5C,CAAC;AAEF,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,SAAqB;IACxD,OAAA,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAM,OAAA,aAAa,EAAb,CAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAAhF,CAAgF,CAAC","sourcesContent":["import type { TimeFormat, TimeSegment } from './TimePicker.shared.js';\n\nexport const TimePickerDataTids = {\n root: 'TimePicker__root',\n input: 'TimePicker__input',\n mobileInput: 'TimePicker__mobileInput',\n nativeInput: 'TimePicker__nativeInput',\n popup: 'TimePicker__popup',\n mobilePopup: 'TimePicker__mobilePopup',\n item: 'TimePicker__item',\n loading: 'TimePicker__loading',\n failed: 'TimePicker__failed',\n inputLoading: 'TimePicker__inputLoading',\n} as const;\n\n/** Больше двух десятков часов не бывает: такая первая цифра сразу завершает сегмент. */\nexport const HOURS_FIRST_DIGIT_MAX = 2;\nexport const TIME_PLACEHOLDER_CHAR = '\\u2212';\nexport const TIME_SEPARATOR = ':';\nexport const TIME_SEGMENT_LENGTH = 2;\nexport const HOURS_MAX_VALUE = 23;\nexport const MINUTES_AND_SECONDS_MAX_VALUE = 59;\nexport const ZERO_PAD_CHAR = '0';\nexport const EMPTY_VALUE = '';\nexport const DIGIT_REGEXP = /\\d/;\nexport const NON_DIGIT_REGEXP = /\\D/g;\nexport const EMPTY_SEGMENT = TIME_PLACEHOLDER_CHAR.repeat(TIME_SEGMENT_LENGTH);\n\nexport const MAX_TIME_SEGMENTS_COUNT = 3;\n/** Сегменты времени через любой разделитель: `12:30`, `9:5`, `1:23:45`, `12.30`. */\nexport const TIME_LIKE_SEGMENTS_REGEXP = new RegExp(`^\\\\d{1,2}(?:\\\\D{1,3}\\\\d{1,2}){0,${MAX_TIME_SEGMENTS_COUNT - 1}}$`);\n/** Время без разделителей: `1`, `12`, `1230`, `123045`. */\nexport const TIME_LIKE_DIGITS_REGEXP = new RegExp(`^\\\\d{1,${MAX_TIME_SEGMENTS_COUNT * TIME_SEGMENT_LENGTH}}$`);\n\nexport const TIME_SEGMENTS_BY_FORMAT: Record<TimeFormat, TimeSegment[]> = {\n 'HH:mm': ['hours', 'minutes'],\n 'HH:mm:ss': ['hours', 'minutes', 'seconds'],\n};\n\nexport const getEmptyDisplayValue = (precision: TimeFormat): string =>\n TIME_SEGMENTS_BY_FORMAT[precision].map(() => EMPTY_SEGMENT).join(TIME_SEPARATOR);\n"]}
|
|
@@ -53,7 +53,6 @@ export declare const isTimeLikePastedValue: (value: string) => boolean;
|
|
|
53
53
|
export declare const parsePastedTimeValue: (value: string, format: TimeFormat) => string;
|
|
54
54
|
/** Возвращает текущее display-значение сегмента или пустой сегмент, если индекс отсутствует. */
|
|
55
55
|
export declare const getTimeSegmentValue: (value: string, segment: TimeSegment, format: TimeFormat) => string;
|
|
56
|
-
export declare const getEmptyDisplayValue: (precision: TimeFormat) => string;
|
|
57
56
|
/**
|
|
58
57
|
* Преобразует display-значение в поисковый запрос для фильтрации элементов.
|
|
59
58
|
* Сегменты содержат только введенные цифры, незаполненный хвост отбрасывается: `12:3_` => `12:3`, `1_:__` => `1`.
|
|
@@ -190,11 +190,6 @@ export var getTimeSegmentValue = function (value, segment, format) {
|
|
|
190
190
|
var index = getTimeSegments(format).indexOf(segment);
|
|
191
191
|
return (_a = segments[index]) !== null && _a !== void 0 ? _a : EMPTY_SEGMENT;
|
|
192
192
|
};
|
|
193
|
-
export var getEmptyDisplayValue = function (precision) {
|
|
194
|
-
return getTimeSegments(precision)
|
|
195
|
-
.map(function () { return EMPTY_SEGMENT; })
|
|
196
|
-
.join(TIME_SEPARATOR);
|
|
197
|
-
};
|
|
198
193
|
/**
|
|
199
194
|
* Преобразует display-значение в поисковый запрос для фильтрации элементов.
|
|
200
195
|
* Сегменты содержат только введенные цифры, незаполненный хвост отбрасывается: `12:3_` => `12:3`, `1_:__` => `1`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.value.js","sourceRoot":"","sources":["TimePicker.value.ts"],"names":[],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport {\n DIGIT_REGEXP,\n EMPTY_SEGMENT,\n EMPTY_VALUE,\n NON_DIGIT_REGEXP,\n TIME_LIKE_DIGITS_REGEXP,\n TIME_LIKE_SEGMENTS_REGEXP,\n TIME_SEPARATOR,\n ZERO_PAD_CHAR,\n} from './TimePicker.constants.js';\nimport {\n getDigits,\n getDisplaySegments,\n getTimeSegments,\n normalizeTimeSegment,\n sanitizeSegment,\n getTimeItemLabel,\n getTimeItemValue,\n isTimeItemDisabled,\n type TimeFormat,\n type TimeItem,\n type TimeItemValue,\n type TimePickerExtendedItem,\n type TimePickerMenuItem,\n type TimeSegment,\n isTimeItem,\n isTimeItemObject,\n} from './TimePicker.shared.js';\n\n/** Проверяет, что в display-значении нет ни одной введенной цифры. */\nexport const isTimeDisplayEmpty = (value: string): boolean => !DIGIT_REGEXP.test(value);\n\n/**\n * Приводит время элемента к формату поля: `renderItem` показывает элемент рядом с теми же временами,\n * что и остальное меню, поэтому в нем не должно оказаться `9:00` или `09:00:00` из источника.\n * Элемент-объект копируется только когда его время действительно записано иначе,\n * так что в обычном случае наружу уходит тот же объект, что пришел в `source`.\n */\nconst normalizeTimeItem = <T extends TimeItemValue>(item: T, value: string, normalizedValue: string): T => {\n if (value === normalizedValue) {\n return item;\n }\n\n return (isTimeItemObject(item) ? { ...(item as TimeItem), value: normalizedValue } : normalizedValue) as T;\n};\n\n/**\n * Разбирает элементы источника для отрисовки: достает время и подпись,\n * а `disabled` дополняет проверкой диапазона `minTime`/`maxTime`.\n * Время нормализуется по формату поля — и у времени элемента, и у самого элемента.\n * React-элементы остаются на своих местах.\n */\nexport const resolveTimeItems = <T extends TimeItemValue>(\n items: Array<TimePickerExtendedItem<T>>,\n format: TimeFormat,\n minTime?: string,\n maxTime?: string,\n): Array<TimePickerMenuItem<T>> =>\n items.map((item) => {\n if (!isTimeItem(item)) {\n return item;\n }\n\n const value = getTimeItemValue(item);\n const normalizedValue = normalizeTimeValue(value, format);\n\n return {\n item: normalizeTimeItem(item, value, normalizedValue),\n value: normalizedValue,\n label: getTimeItemLabel(item),\n disabled: isTimeItemDisabled(item) || isTimeValueOutOfRange(normalizedValue, format, minTime, maxTime),\n };\n });\n\n/**\n * Оставляет только элементы, которые компонент умеет показать в меню.\n * Пустые значения — результат условного рендера вроде `isVisible && item` или `items.length && item` —\n * молча отбрасываются, а элементы, из которых не получается собрать время, отбрасываются с предупреждением.\n */\nexport const sanitizeTimeItems = <T extends TimeItemValue>(\n items: Array<TimePickerExtendedItem<T>>,\n format: TimeFormat,\n): Array<TimePickerExtendedItem<T>> => {\n if (!Array.isArray(items)) {\n warning(false, '[TimePicker]: the source function is expected to return an array or a Promise of an array.');\n\n return [];\n }\n\n return items.filter((item) => {\n if (!item) {\n return false;\n }\n\n if (!isTimeItem(item)) {\n return true;\n }\n\n if (isTimeItemObject(item) && typeof item.value !== 'string') {\n warning(false, '[TimePicker]: a source item is expected to be a time string or an object with a time value.');\n\n return false;\n }\n\n if (normalizeTimeValue(getTimeItemValue(item), format) === EMPTY_VALUE) {\n warning(false, `[TimePicker]: the source item value \"${getTimeItemValue(item)}\" is not a time.`);\n\n return false;\n }\n\n return true;\n });\n};\n\n/**\n * Проверяет, выходит ли значение за диапазон `minTime`/`maxTime` после нормализации.\n * Пустое значение не считается выходящим за диапазон. Если `minTime > maxTime`, диапазон трактуется как переходящий через полночь.\n */\nexport const isTimeValueOutOfRange = (\n value: string,\n format: TimeFormat,\n minTime?: string,\n maxTime?: string,\n): boolean => {\n const normalizedValue = normalizeTimeValue(value, format);\n\n if (normalizedValue === EMPTY_VALUE) {\n return false;\n }\n\n const normalizedMinTime = normalizeTimeRangeValue(minTime, format);\n const normalizedMaxTime = normalizeTimeRangeValue(maxTime, format);\n\n if (normalizedMinTime && normalizedMaxTime && normalizedMinTime > normalizedMaxTime) {\n return normalizedValue < normalizedMinTime && normalizedValue > normalizedMaxTime;\n }\n\n return (\n (normalizedMinTime !== undefined && normalizedValue < normalizedMinTime) ||\n (normalizedMaxTime !== undefined && normalizedValue > normalizedMaxTime)\n );\n};\n\n/**\n * Нормализует display-значение в committed-форму `HH:mm[:ss]`.\n * Частично заполненные сегменты дополняются и ограничиваются максимумами сегментов.\n */\nexport const normalizeTimeValue = (value: string, format: TimeFormat): string => {\n if (isTimeDisplayEmpty(value)) {\n return EMPTY_VALUE;\n }\n\n const displaySegments = getDisplaySegments(value, format);\n\n return getTimeSegments(format)\n .map((segment, index) => normalizeTimeSegment(displaySegments[index], segment))\n .join(TIME_SEPARATOR);\n};\n\nconst normalizeTimeRangeValue = (value: string | undefined, format: TimeFormat): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const normalizedValue = normalizeTimeValue(value, format);\n\n return normalizedValue === EMPTY_VALUE ? undefined : normalizedValue;\n};\n\n/**\n * Преобразует display-значение в промежуточное значение для `onInputValueChange`.\n * Заполненные сегменты дополняются до двух цифр, пропущенные сегменты до последнего заполненного становятся `00`.\n */\nexport const serializeTimeValue = (value: string, format: TimeFormat): string => {\n const serializedSegments = takeFilledSegments(\n getDisplaySegments(value, format).map((segmentValue) => {\n const digits = getDigits(segmentValue);\n\n return digits ? digits.padStart(EMPTY_SEGMENT.length, ZERO_PAD_CHAR) : EMPTY_VALUE;\n }),\n );\n\n return serializedSegments.map((segmentValue) => segmentValue || '00').join(TIME_SEPARATOR);\n};\n\n/** Отбрасывает незаполненный хвост сегментов: ведущие пустые сегменты остаются на своих местах. */\nconst takeFilledSegments = (segments: string[]): string[] => {\n const lastFilledIndex = segments.reduce((result, segmentValue, index) => (segmentValue ? index : result), -1);\n\n return segments.slice(0, lastFilledIndex + 1);\n};\n\nexport const getTimeDisplayValue = (value: string, format: TimeFormat): string => {\n if (value === EMPTY_VALUE) {\n return EMPTY_VALUE;\n }\n\n return getDisplaySegments(value, format).join(TIME_SEPARATOR);\n};\n\n/**\n * Возвращает display-значение внешнего `value`.\n * Сегменты, записанные одной цифрой, дополняются нулем, поэтому `9:00` показывается как `09:00` —\n * так же, как компонент показывает время элементов источника.\n * Значение без разделителя остается частично введенным: `1` — это первая цифра часов, а не `01:00`.\n */\nexport const getExternalTimeDisplayValue = (value: string, format: TimeFormat): string => {\n if (!value.includes(TIME_SEPARATOR)) {\n return getTimeDisplayValue(value, format);\n }\n\n const paddedSegments = value.split(TIME_SEPARATOR).map((segmentValue) => {\n const digits = getDigits(segmentValue);\n\n return digits ? digits.padStart(EMPTY_SEGMENT.length, ZERO_PAD_CHAR) : EMPTY_VALUE;\n });\n\n return getTimeDisplayValue(paddedSegments.join(TIME_SEPARATOR), format);\n};\n\n/** Заменяет значение выбранного сегмента, сохраняя остальные сегменты display-значения без изменений. */\nexport const replaceTimeSegment = (\n value: string,\n segment: TimeSegment,\n nextSegmentValue: string,\n format: TimeFormat,\n): string => {\n const segments = getDisplaySegments(value, format);\n const index = getTimeSegments(format).indexOf(segment);\n\n segments[index] = sanitizeSegment(nextSegmentValue);\n\n return segments.join(TIME_SEPARATOR);\n};\n\n/**\n * Проверяет, что вставленное значение похоже на время:\n * это либо сегменты из одной-двух цифр через любой разделитель — `12:30`, `9:5`, `1:23:45`, `12.30`, —\n * либо цифры подряд — `9`, `1230`, `123045`.\n * Строки, из которых время собралось бы случайно — `2026-08-01`, `hello 42`, — временем не считаются.\n */\nexport const isTimeLikePastedValue = (value: string): boolean => {\n const trimmedValue = value.trim();\n\n return TIME_LIKE_SEGMENTS_REGEXP.test(trimmedValue) || TIME_LIKE_DIGITS_REGEXP.test(trimmedValue);\n};\n\n/**\n * Парсит вставленное пользователем значение и сразу преобразует его в committed-форму.\n * Значение, не похожее на время, отдается как пустое: такую вставку компонент считает некорректным вводом.\n */\nexport const parsePastedTimeValue = (value: string, format: TimeFormat): string => {\n const trimmedValue = value.trim();\n\n if (!DIGIT_REGEXP.test(trimmedValue) || !isTimeLikePastedValue(trimmedValue)) {\n return EMPTY_VALUE;\n }\n\n // Разделители сегментов приводятся к одному виду, чтобы `9.5` разбирался так же, как `9:5`.\n const normalizedSeparators = TIME_LIKE_SEGMENTS_REGEXP.test(trimmedValue)\n ? trimmedValue.split(NON_DIGIT_REGEXP).join(TIME_SEPARATOR)\n : trimmedValue;\n\n const segments = getDisplaySegments(normalizedSeparators, format);\n\n return normalizeTimeValue(segments.join(TIME_SEPARATOR), format);\n};\n\n/** Возвращает текущее display-значение сегмента или пустой сегмент, если индекс отсутствует. */\nexport const getTimeSegmentValue = (value: string, segment: TimeSegment, format: TimeFormat): string => {\n const segments = getDisplaySegments(value, format);\n const index = getTimeSegments(format).indexOf(segment);\n\n return segments[index] ?? EMPTY_SEGMENT;\n};\n\nexport const getEmptyDisplayValue = (precision: TimeFormat): string =>\n getTimeSegments(precision)\n .map(() => EMPTY_SEGMENT)\n .join(TIME_SEPARATOR);\n\n/**\n * Преобразует display-значение в поисковый запрос для фильтрации элементов.\n * Сегменты содержат только введенные цифры, незаполненный хвост отбрасывается: `12:3_` => `12:3`, `1_:__` => `1`.\n * Позиции сегментов сохраняются, поэтому ведущие незаполненные сегменты остаются пустыми: `__:34` => `:34`.\n * Это нужно для посегментного сравнения в `filterTimeItems` и передается как есть в пользовательскую `source`.\n */\nexport const getTimeFilterQuery = (value: string, format: TimeFormat): string =>\n takeFilledSegments(getDisplaySegments(value, format).map(getDigits)).join(TIME_SEPARATOR);\n\n/**\n * Фильтрует элементы по запросу из поля ввода.\n * Сравнивает запрос посегментно: введенные цифры сегмента должны быть префиксом соответствующего сегмента элемента.\n * Пустой запрос возвращает все элементы.\n */\nexport const filterTimeItems = <T extends TimeItemValue>(\n items: Array<TimePickerExtendedItem<T>>,\n query: string,\n format: TimeFormat,\n): Array<TimePickerExtendedItem<T>> => {\n const querySegments = query.split(TIME_SEPARATOR).map(getDigits);\n\n if (querySegments.every((segmentValue) => !segmentValue)) {\n return items;\n }\n\n return items.filter((item) => {\n if (!isTimeItem(item)) {\n return true;\n }\n\n const itemSegments = getDisplaySegments(normalizeTimeValue(getTimeItemValue(item), format), format);\n\n return querySegments.every(\n (segmentValue, index) => !segmentValue || (itemSegments[index] ?? EMPTY_VALUE).startsWith(segmentValue),\n );\n });\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TimePicker.value.js","sourceRoot":"","sources":["TimePicker.value.ts"],"names":[],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport {\n DIGIT_REGEXP,\n EMPTY_SEGMENT,\n EMPTY_VALUE,\n NON_DIGIT_REGEXP,\n TIME_LIKE_DIGITS_REGEXP,\n TIME_LIKE_SEGMENTS_REGEXP,\n TIME_SEPARATOR,\n ZERO_PAD_CHAR,\n} from './TimePicker.constants.js';\nimport {\n getDigits,\n getDisplaySegments,\n getTimeSegments,\n normalizeTimeSegment,\n sanitizeSegment,\n getTimeItemLabel,\n getTimeItemValue,\n isTimeItemDisabled,\n type TimeFormat,\n type TimeItem,\n type TimeItemValue,\n type TimePickerExtendedItem,\n type TimePickerMenuItem,\n type TimeSegment,\n isTimeItem,\n isTimeItemObject,\n} from './TimePicker.shared.js';\n\n/** Проверяет, что в display-значении нет ни одной введенной цифры. */\nexport const isTimeDisplayEmpty = (value: string): boolean => !DIGIT_REGEXP.test(value);\n\n/**\n * Приводит время элемента к формату поля: `renderItem` показывает элемент рядом с теми же временами,\n * что и остальное меню, поэтому в нем не должно оказаться `9:00` или `09:00:00` из источника.\n * Элемент-объект копируется только когда его время действительно записано иначе,\n * так что в обычном случае наружу уходит тот же объект, что пришел в `source`.\n */\nconst normalizeTimeItem = <T extends TimeItemValue>(item: T, value: string, normalizedValue: string): T => {\n if (value === normalizedValue) {\n return item;\n }\n\n return (isTimeItemObject(item) ? { ...(item as TimeItem), value: normalizedValue } : normalizedValue) as T;\n};\n\n/**\n * Разбирает элементы источника для отрисовки: достает время и подпись,\n * а `disabled` дополняет проверкой диапазона `minTime`/`maxTime`.\n * Время нормализуется по формату поля — и у времени элемента, и у самого элемента.\n * React-элементы остаются на своих местах.\n */\nexport const resolveTimeItems = <T extends TimeItemValue>(\n items: Array<TimePickerExtendedItem<T>>,\n format: TimeFormat,\n minTime?: string,\n maxTime?: string,\n): Array<TimePickerMenuItem<T>> =>\n items.map((item) => {\n if (!isTimeItem(item)) {\n return item;\n }\n\n const value = getTimeItemValue(item);\n const normalizedValue = normalizeTimeValue(value, format);\n\n return {\n item: normalizeTimeItem(item, value, normalizedValue),\n value: normalizedValue,\n label: getTimeItemLabel(item),\n disabled: isTimeItemDisabled(item) || isTimeValueOutOfRange(normalizedValue, format, minTime, maxTime),\n };\n });\n\n/**\n * Оставляет только элементы, которые компонент умеет показать в меню.\n * Пустые значения — результат условного рендера вроде `isVisible && item` или `items.length && item` —\n * молча отбрасываются, а элементы, из которых не получается собрать время, отбрасываются с предупреждением.\n */\nexport const sanitizeTimeItems = <T extends TimeItemValue>(\n items: Array<TimePickerExtendedItem<T>>,\n format: TimeFormat,\n): Array<TimePickerExtendedItem<T>> => {\n if (!Array.isArray(items)) {\n warning(false, '[TimePicker]: the source function is expected to return an array or a Promise of an array.');\n\n return [];\n }\n\n return items.filter((item) => {\n if (!item) {\n return false;\n }\n\n if (!isTimeItem(item)) {\n return true;\n }\n\n if (isTimeItemObject(item) && typeof item.value !== 'string') {\n warning(false, '[TimePicker]: a source item is expected to be a time string or an object with a time value.');\n\n return false;\n }\n\n if (normalizeTimeValue(getTimeItemValue(item), format) === EMPTY_VALUE) {\n warning(false, `[TimePicker]: the source item value \"${getTimeItemValue(item)}\" is not a time.`);\n\n return false;\n }\n\n return true;\n });\n};\n\n/**\n * Проверяет, выходит ли значение за диапазон `minTime`/`maxTime` после нормализации.\n * Пустое значение не считается выходящим за диапазон. Если `minTime > maxTime`, диапазон трактуется как переходящий через полночь.\n */\nexport const isTimeValueOutOfRange = (\n value: string,\n format: TimeFormat,\n minTime?: string,\n maxTime?: string,\n): boolean => {\n const normalizedValue = normalizeTimeValue(value, format);\n\n if (normalizedValue === EMPTY_VALUE) {\n return false;\n }\n\n const normalizedMinTime = normalizeTimeRangeValue(minTime, format);\n const normalizedMaxTime = normalizeTimeRangeValue(maxTime, format);\n\n if (normalizedMinTime && normalizedMaxTime && normalizedMinTime > normalizedMaxTime) {\n return normalizedValue < normalizedMinTime && normalizedValue > normalizedMaxTime;\n }\n\n return (\n (normalizedMinTime !== undefined && normalizedValue < normalizedMinTime) ||\n (normalizedMaxTime !== undefined && normalizedValue > normalizedMaxTime)\n );\n};\n\n/**\n * Нормализует display-значение в committed-форму `HH:mm[:ss]`.\n * Частично заполненные сегменты дополняются и ограничиваются максимумами сегментов.\n */\nexport const normalizeTimeValue = (value: string, format: TimeFormat): string => {\n if (isTimeDisplayEmpty(value)) {\n return EMPTY_VALUE;\n }\n\n const displaySegments = getDisplaySegments(value, format);\n\n return getTimeSegments(format)\n .map((segment, index) => normalizeTimeSegment(displaySegments[index], segment))\n .join(TIME_SEPARATOR);\n};\n\nconst normalizeTimeRangeValue = (value: string | undefined, format: TimeFormat): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const normalizedValue = normalizeTimeValue(value, format);\n\n return normalizedValue === EMPTY_VALUE ? undefined : normalizedValue;\n};\n\n/**\n * Преобразует display-значение в промежуточное значение для `onInputValueChange`.\n * Заполненные сегменты дополняются до двух цифр, пропущенные сегменты до последнего заполненного становятся `00`.\n */\nexport const serializeTimeValue = (value: string, format: TimeFormat): string => {\n const serializedSegments = takeFilledSegments(\n getDisplaySegments(value, format).map((segmentValue) => {\n const digits = getDigits(segmentValue);\n\n return digits ? digits.padStart(EMPTY_SEGMENT.length, ZERO_PAD_CHAR) : EMPTY_VALUE;\n }),\n );\n\n return serializedSegments.map((segmentValue) => segmentValue || '00').join(TIME_SEPARATOR);\n};\n\n/** Отбрасывает незаполненный хвост сегментов: ведущие пустые сегменты остаются на своих местах. */\nconst takeFilledSegments = (segments: string[]): string[] => {\n const lastFilledIndex = segments.reduce((result, segmentValue, index) => (segmentValue ? index : result), -1);\n\n return segments.slice(0, lastFilledIndex + 1);\n};\n\nexport const getTimeDisplayValue = (value: string, format: TimeFormat): string => {\n if (value === EMPTY_VALUE) {\n return EMPTY_VALUE;\n }\n\n return getDisplaySegments(value, format).join(TIME_SEPARATOR);\n};\n\n/**\n * Возвращает display-значение внешнего `value`.\n * Сегменты, записанные одной цифрой, дополняются нулем, поэтому `9:00` показывается как `09:00` —\n * так же, как компонент показывает время элементов источника.\n * Значение без разделителя остается частично введенным: `1` — это первая цифра часов, а не `01:00`.\n */\nexport const getExternalTimeDisplayValue = (value: string, format: TimeFormat): string => {\n if (!value.includes(TIME_SEPARATOR)) {\n return getTimeDisplayValue(value, format);\n }\n\n const paddedSegments = value.split(TIME_SEPARATOR).map((segmentValue) => {\n const digits = getDigits(segmentValue);\n\n return digits ? digits.padStart(EMPTY_SEGMENT.length, ZERO_PAD_CHAR) : EMPTY_VALUE;\n });\n\n return getTimeDisplayValue(paddedSegments.join(TIME_SEPARATOR), format);\n};\n\n/** Заменяет значение выбранного сегмента, сохраняя остальные сегменты display-значения без изменений. */\nexport const replaceTimeSegment = (\n value: string,\n segment: TimeSegment,\n nextSegmentValue: string,\n format: TimeFormat,\n): string => {\n const segments = getDisplaySegments(value, format);\n const index = getTimeSegments(format).indexOf(segment);\n\n segments[index] = sanitizeSegment(nextSegmentValue);\n\n return segments.join(TIME_SEPARATOR);\n};\n\n/**\n * Проверяет, что вставленное значение похоже на время:\n * это либо сегменты из одной-двух цифр через любой разделитель — `12:30`, `9:5`, `1:23:45`, `12.30`, —\n * либо цифры подряд — `9`, `1230`, `123045`.\n * Строки, из которых время собралось бы случайно — `2026-08-01`, `hello 42`, — временем не считаются.\n */\nexport const isTimeLikePastedValue = (value: string): boolean => {\n const trimmedValue = value.trim();\n\n return TIME_LIKE_SEGMENTS_REGEXP.test(trimmedValue) || TIME_LIKE_DIGITS_REGEXP.test(trimmedValue);\n};\n\n/**\n * Парсит вставленное пользователем значение и сразу преобразует его в committed-форму.\n * Значение, не похожее на время, отдается как пустое: такую вставку компонент считает некорректным вводом.\n */\nexport const parsePastedTimeValue = (value: string, format: TimeFormat): string => {\n const trimmedValue = value.trim();\n\n if (!DIGIT_REGEXP.test(trimmedValue) || !isTimeLikePastedValue(trimmedValue)) {\n return EMPTY_VALUE;\n }\n\n // Разделители сегментов приводятся к одному виду, чтобы `9.5` разбирался так же, как `9:5`.\n const normalizedSeparators = TIME_LIKE_SEGMENTS_REGEXP.test(trimmedValue)\n ? trimmedValue.split(NON_DIGIT_REGEXP).join(TIME_SEPARATOR)\n : trimmedValue;\n\n const segments = getDisplaySegments(normalizedSeparators, format);\n\n return normalizeTimeValue(segments.join(TIME_SEPARATOR), format);\n};\n\n/** Возвращает текущее display-значение сегмента или пустой сегмент, если индекс отсутствует. */\nexport const getTimeSegmentValue = (value: string, segment: TimeSegment, format: TimeFormat): string => {\n const segments = getDisplaySegments(value, format);\n const index = getTimeSegments(format).indexOf(segment);\n\n return segments[index] ?? EMPTY_SEGMENT;\n};\n\n/**\n * Преобразует display-значение в поисковый запрос для фильтрации элементов.\n * Сегменты содержат только введенные цифры, незаполненный хвост отбрасывается: `12:3_` => `12:3`, `1_:__` => `1`.\n * Позиции сегментов сохраняются, поэтому ведущие незаполненные сегменты остаются пустыми: `__:34` => `:34`.\n * Это нужно для посегментного сравнения в `filterTimeItems` и передается как есть в пользовательскую `source`.\n */\nexport const getTimeFilterQuery = (value: string, format: TimeFormat): string =>\n takeFilledSegments(getDisplaySegments(value, format).map(getDigits)).join(TIME_SEPARATOR);\n\n/**\n * Фильтрует элементы по запросу из поля ввода.\n * Сравнивает запрос посегментно: введенные цифры сегмента должны быть префиксом соответствующего сегмента элемента.\n * Пустой запрос возвращает все элементы.\n */\nexport const filterTimeItems = <T extends TimeItemValue>(\n items: Array<TimePickerExtendedItem<T>>,\n query: string,\n format: TimeFormat,\n): Array<TimePickerExtendedItem<T>> => {\n const querySegments = query.split(TIME_SEPARATOR).map(getDigits);\n\n if (querySegments.every((segmentValue) => !segmentValue)) {\n return items;\n }\n\n return items.filter((item) => {\n if (!isTimeItem(item)) {\n return true;\n }\n\n const itemSegments = getDisplaySegments(normalizeTimeValue(getTimeItemValue(item), format), format);\n\n return querySegments.every(\n (segmentValue, index) => !segmentValue || (itemSegments[index] ?? EMPTY_VALUE).startsWith(segmentValue),\n );\n });\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const enter: string;
|
|
2
|
+
export declare const enterActive: string;
|
|
3
|
+
export declare const exit: string;
|
|
4
|
+
export declare const exitActive: string;
|
|
5
|
+
export declare const styles: {
|
|
6
|
+
enter: string;
|
|
7
|
+
enterActive: string;
|
|
8
|
+
exit: string;
|
|
9
|
+
exitActive: string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
export var enter = 'react-ui-Toast__enter';
|
|
3
|
+
export var enterActive = 'react-ui-Toast__enterActive';
|
|
4
|
+
export var exit = 'react-ui-Toast__exit';
|
|
5
|
+
export var exitActive = 'react-ui-Toast__exitActive';
|
|
6
|
+
export var styles = {enter:'react-ui-Toast__enter',enterActive:'react-ui-Toast__enterActive',exit:'react-ui-Toast__exit',exitActive:'react-ui-Toast__exitActive'};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.css.js","sourceRoot":"","sources":["Toast.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,IAAM,KAAK,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAE/D,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC;IAC/B,UAAU,EAAE,kDAAkD;IAC9D,SAAS,EAAE,0BAA0B;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,IAAI,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAEtE,MAAM,CAAC,IAAM,UAAU,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAEtG,MAAM,CAAC,IAAM,MAAM,GAAG,EAAE,KAAK,OAAA,EAAE,WAAW,aAAA,EAAE,IAAI,MAAA,EAAE,UAAU,YAAA,EAAE,CAAC","sourcesContent":["import { style } from '@vanilla-extract/css';\n\nexport const enter = style({ transform: 'translateY(-40px)' });\n\nexport const enterActive = style({\n transition: 'transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1)',\n transform: 'translateY(0) !important',\n});\n\nexport const exit = style({ transform: 'translateY(0)', opacity: 1 });\n\nexport const exitActive = style({ opacity: '0.01 !important', transition: 'opacity 0.15s ease-out' });\n\nexport const styles = { enter, enterActive, exit, exitActive };\n"]}
|
|
@@ -63,8 +63,6 @@ export declare class Toast extends React.Component<ToastProps, ToastState> {
|
|
|
63
63
|
static displayName: string;
|
|
64
64
|
getRootNode: TGetRootNode;
|
|
65
65
|
private setRootNode;
|
|
66
|
-
private styles;
|
|
67
|
-
private emotion;
|
|
68
66
|
private theme;
|
|
69
67
|
_toast: Nullable<ToastView>;
|
|
70
68
|
private _timeout;
|
|
@@ -35,11 +35,10 @@ import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
|
|
35
35
|
import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
|
|
36
36
|
import { RenderContainer } from '../../internal/RenderContainer/index.js';
|
|
37
37
|
import { isTestEnv } from '../../lib/currentEnvironment.js';
|
|
38
|
-
import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
|
|
39
38
|
import { rootNode } from '../../lib/rootNode/index.js';
|
|
39
|
+
import { mergePropsTheme } from '../../lib/theming/memoizeTheme.js';
|
|
40
40
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
41
|
-
import {
|
|
42
|
-
import { getStyles } from './Toast.styles.js';
|
|
41
|
+
import { styles } from './Toast.css.js';
|
|
43
42
|
import { ToastView } from './ToastView.js';
|
|
44
43
|
export var ToastDataTids = {
|
|
45
44
|
toastStatic: 'StaticToast',
|
|
@@ -131,9 +130,8 @@ var Toast = /** @class */ (function (_super) {
|
|
|
131
130
|
};
|
|
132
131
|
Toast.prototype.render = function () {
|
|
133
132
|
var _this = this;
|
|
134
|
-
this.styles = getStyles(this.emotion);
|
|
135
133
|
return (React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
136
|
-
_this.theme =
|
|
134
|
+
_this.theme = mergePropsTheme(theme, _this.props.theme);
|
|
137
135
|
return (React.createElement(ThemeContext.Provider, { value: _this.theme },
|
|
138
136
|
React.createElement(RenderContainer, null,
|
|
139
137
|
React.createElement(TransitionGroup, null, _this._renderToast()))));
|
|
@@ -155,10 +153,10 @@ var Toast = /** @class */ (function (_super) {
|
|
|
155
153
|
use: currentUse,
|
|
156
154
|
};
|
|
157
155
|
return (React.createElement(CSSTransition, { key: id, classNames: {
|
|
158
|
-
enter:
|
|
159
|
-
enterActive:
|
|
160
|
-
exit:
|
|
161
|
-
exitActive:
|
|
156
|
+
enter: styles.enter,
|
|
157
|
+
enterActive: styles.enterActive,
|
|
158
|
+
exit: styles.exit,
|
|
159
|
+
exitActive: styles.exitActive,
|
|
162
160
|
}, timeout: {
|
|
163
161
|
enter: 200,
|
|
164
162
|
exit: 150,
|
|
@@ -169,7 +167,6 @@ var Toast = /** @class */ (function (_super) {
|
|
|
169
167
|
Toast.__KONTUR_REACT_UI__ = 'Toast';
|
|
170
168
|
Toast.displayName = 'Toast';
|
|
171
169
|
Toast = __decorate([
|
|
172
|
-
withRenderEnvironment,
|
|
173
170
|
rootNode
|
|
174
171
|
], Toast);
|
|
175
172
|
return Toast;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["Toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { RenderContainer } from '../../internal/RenderContainer/index.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { SafeTimer } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { getStyles } from './Toast.styles.js';\nimport { ToastView } from './ToastView.js';\nimport type { ToastViewProps } from './ToastView.js';\n\nexport interface Action {\n /** Текст на кнопке действия. */\n label: string;\n /** Выполняется при нажатии на кнопку действия. */\n handler: () => void;\n /** Уточняет доступное имя кнопки для вспомогательных технологий. */\n 'aria-label'?: string;\n}\n\n/**\n * Состояния тоста:\n *\n * - default стиль для отображения по умолчанию\n * - error стиль для отображения ошибок\n **/\nexport type ToastUse = 'default' | 'error';\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n currentUse: ToastUse;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Событие появления уведомления. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Событие закрытия уведомления. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Переменные темы поверх значений из контекста. */\n theme?: ThemeIn;\n}\n\n/** Объект с конфигурацией отображения Toast-а */\nexport interface ToastPushConfig {\n /** Добавляет кнопку действия в тост. */\n action?: Nullable<Action>;\n /** Длительность показа в миллисекундах. */\n showTime?: number;\n /** Показывает кнопку закрытия рядом с текстом. */\n showCloseIcon?: boolean;\n /** Определяет стиль оформления: обычный или ошибка (`error`). */\n use?: ToastUse;\n}\n\nexport type ToastPushApi = (notification: React.ReactNode, config?: ToastPushConfig) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Тост — это короткое немодальное уведомление о результате действия пользователя: успех, ошибка или нейтральный статус.\n */\n@withRenderEnvironment\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private theme!: Theme;\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef: React.RefObject<HTMLElement | null> = React.createRef();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n currentUse: 'default',\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action` внутри config-а.\n * Время показа можно задать вручную, передав `showTime` внутри config-а.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {ToastPushConfig} config объект с конфигурацией отображения компонента Toast\n */\n public push: ToastPushApi = (notification: React.ReactNode, config?: ToastPushConfig) => {\n this.rootRef = React.createRef();\n\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, config?.action);\n\n this.setState(\n ({ id }) => ({\n notification,\n action: config?.action,\n id: id + 1,\n showTime: config?.showTime,\n showCloseIcon: config?.showCloseIcon,\n currentUse: config?.use ?? 'default',\n }),\n this._setTimer,\n );\n };\n\n /**\n * Закрывает текущее уведомление без ожидания таймера.\n *\n * @public\n */\n public close = (): void => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon, currentUse } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n use: currentUse,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: this.styles.enter(),\n enterActive: this.styles.enterActive(),\n exit: this.styles.exit(),\n exitActive: this.styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef(this.rootRef)} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (ref: React.RefObject<HTMLElement | null>) => (element: Nullable<Element>) => {\n if (ref === this.rootRef) {\n this.setRootNode(element);\n }\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n ref.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["Toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { RenderContainer } from '../../internal/RenderContainer/index.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { SafeTimer } from '../../lib/globalObject.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { mergePropsTheme } from '../../lib/theming/memoizeTheme.js';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { styles } from './Toast.css.js';\nimport { ToastView } from './ToastView.js';\nimport type { ToastViewProps } from './ToastView.js';\n\nexport interface Action {\n /** Текст на кнопке действия. */\n label: string;\n /** Выполняется при нажатии на кнопку действия. */\n handler: () => void;\n /** Уточняет доступное имя кнопки для вспомогательных технологий. */\n 'aria-label'?: string;\n}\n\n/**\n * Состояния тоста:\n *\n * - default стиль для отображения по умолчанию\n * - error стиль для отображения ошибок\n **/\nexport type ToastUse = 'default' | 'error';\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n currentUse: ToastUse;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Событие появления уведомления. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Событие закрытия уведомления. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Переменные темы поверх значений из контекста. */\n theme?: ThemeIn;\n}\n\n/** Объект с конфигурацией отображения Toast-а */\nexport interface ToastPushConfig {\n /** Добавляет кнопку действия в тост. */\n action?: Nullable<Action>;\n /** Длительность показа в миллисекундах. */\n showTime?: number;\n /** Показывает кнопку закрытия рядом с текстом. */\n showCloseIcon?: boolean;\n /** Определяет стиль оформления: обычный или ошибка (`error`). */\n use?: ToastUse;\n}\n\nexport type ToastPushApi = (notification: React.ReactNode, config?: ToastPushConfig) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Тост — это короткое немодальное уведомление о результате действия пользователя: успех, ошибка или нейтральный статус.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef: React.RefObject<HTMLElement | null> = React.createRef();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n currentUse: 'default',\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = mergePropsTheme(theme, this.props.theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action` внутри config-а.\n * Время показа можно задать вручную, передав `showTime` внутри config-а.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {ToastPushConfig} config объект с конфигурацией отображения компонента Toast\n */\n public push: ToastPushApi = (notification: React.ReactNode, config?: ToastPushConfig) => {\n this.rootRef = React.createRef();\n\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, config?.action);\n\n this.setState(\n ({ id }) => ({\n notification,\n action: config?.action,\n id: id + 1,\n showTime: config?.showTime,\n showCloseIcon: config?.showCloseIcon,\n currentUse: config?.use ?? 'default',\n }),\n this._setTimer,\n );\n };\n\n /**\n * Закрывает текущее уведомление без ожидания таймера.\n *\n * @public\n */\n public close = (): void => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon, currentUse } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n use: currentUse,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter,\n enterActive: styles.enterActive,\n exit: styles.exit,\n exitActive: styles.exitActive,\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef(this.rootRef)} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (ref: React.RefObject<HTMLElement | null>) => (element: Nullable<Element>) => {\n if (ref === this.rootRef) {\n this.setRootNode(element);\n }\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n ref.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const root: string;
|
|
2
|
+
export declare const root6_1: string;
|
|
3
|
+
export declare const rootMobile: string;
|
|
4
|
+
export declare const error: string;
|
|
5
|
+
export declare const wrapper: string;
|
|
6
|
+
export declare const wrapper6_1: string;
|
|
7
|
+
export declare const content: string;
|
|
8
|
+
export declare const ellipsisContent: string;
|
|
9
|
+
export declare const closeWrapper: string;
|
|
10
|
+
export declare const closeWrapper6_1: string;
|
|
11
|
+
export declare const link: string;
|
|
12
|
+
export declare const link6_1: string;
|
|
13
|
+
export declare const toastActionErrorColor: string;
|
|
14
|
+
export declare const toastActionDefaultColor: string;
|
|
15
|
+
export declare const styles: {
|
|
16
|
+
root: string;
|
|
17
|
+
root6_1: string;
|
|
18
|
+
rootMobile: string;
|
|
19
|
+
default: string;
|
|
20
|
+
error: string;
|
|
21
|
+
wrapper: string;
|
|
22
|
+
wrapper6_1: string;
|
|
23
|
+
content: string;
|
|
24
|
+
ellipsisContent: string;
|
|
25
|
+
closeWrapper: string;
|
|
26
|
+
closeWrapper6_1: string;
|
|
27
|
+
link: string;
|
|
28
|
+
link6_1: string;
|
|
29
|
+
toastActionErrorColor: string;
|
|
30
|
+
toastActionDefaultColor: string;
|
|
31
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
export var closeWrapper = 'react-ui-ToastView__closeWrapper';
|
|
3
|
+
export var closeWrapper6_1 = 'react-ui-ToastView__closeWrapper6_1';
|
|
4
|
+
export var content = 'react-ui-ToastView__content';
|
|
5
|
+
export var ellipsisContent = 'react-ui-ToastView__ellipsisContent';
|
|
6
|
+
export var error = 'react-ui-ToastView__error';
|
|
7
|
+
export var link = 'react-ui-ToastView__link';
|
|
8
|
+
export var link6_1 = 'react-ui-ToastView__link6_1';
|
|
9
|
+
export var root = 'react-ui-ToastView__root';
|
|
10
|
+
export var root6_1 = 'react-ui-ToastView__root6_1';
|
|
11
|
+
export var rootMobile = 'react-ui-ToastView__rootMobile';
|
|
12
|
+
export var styles = {root:'react-ui-ToastView__root',root6_1:'react-ui-ToastView__root6_1',rootMobile:'react-ui-ToastView__rootMobile','default':'react-ui-ToastView__default',error:'react-ui-ToastView__error',wrapper:'react-ui-ToastView__wrapper',wrapper6_1:'react-ui-ToastView__wrapper6_1',content:'react-ui-ToastView__content',ellipsisContent:'react-ui-ToastView__ellipsisContent',closeWrapper:'react-ui-ToastView__closeWrapper',closeWrapper6_1:'react-ui-ToastView__closeWrapper6_1',link:'react-ui-ToastView__link',link6_1:'react-ui-ToastView__link6_1',toastActionErrorColor:'react-ui-ToastView__toastActionErrorColor',toastActionDefaultColor:'react-ui-ToastView__toastActionDefaultColor'};
|
|
13
|
+
export var toastActionDefaultColor = 'react-ui-ToastView__toastActionDefaultColor';
|
|
14
|
+
export var toastActionErrorColor = 'react-ui-ToastView__toastActionErrorColor';
|
|
15
|
+
export var wrapper = 'react-ui-ToastView__wrapper';
|
|
16
|
+
export var wrapper6_1 = 'react-ui-ToastView__wrapper6_1';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastView.css.js","sourceRoot":"","sources":["ToastView.css.ts"],"names":[],"mappings":"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","sourcesContent":["import { globalStyle, style } from '@vanilla-extract/css';\n\nimport { t, whenThemeSets } from '../../lib/theming/vanilla.js';\n\nexport const root = style({\n borderRadius: t.toastBorderRadius,\n border: t.toastBorder,\n display: 'inline-flex',\n fontSize: t.toastFontSize,\n lineHeight: t.toastLineHeight,\n opacity: 1,\n padding: `${t.toastPaddingY} ${t.toastPaddingX} ${t.toastPaddingY}`,\n position: 'relative',\n top: t.toastTop,\n});\n\nexport const root6_1 = style({ padding: 0 });\n\nexport const rootMobile = style({\n top: t.mobileToastTop,\n fontSize: t.mobileToastFontSize,\n});\n\nconst defaultStyle = style({ background: t.toastBg, color: t.toastColor }, 'default');\n\nexport const error = style({ background: t.toastErrorBg, color: t.toastColorError });\n\nexport const wrapper = style({\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n height: 0,\n textAlign: 'center',\n borderRadius: t.toastBorderRadius,\n});\n\nexport const wrapper6_1 = style({ padding: `0 ${t.toastPaddingX}` });\n\nexport const content = style({ padding: `${t.toastPaddingY} ${t.toastPaddingX} ${t.toastPaddingY}` });\n\nexport const ellipsisContent = style({\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n textAlign: 'start',\n});\n\nexport const closeWrapper = style({\n display: 'flex',\n margin: `calc(-1 * ${t.toastPaddingY}) calc(-1 * ${t.toastPaddingX}) calc(-1 * ${t.toastPaddingY}) 0`,\n});\n\nexport const closeWrapper6_1 = style({ margin: 0 });\n\nexport const link = style({\n border: 'none',\n font: 'inherit',\n color: t.toastLinkColor,\n cursor: 'pointer',\n display: 'inline-block',\n fontWeight: 600,\n backgroundColor: 'transparent',\n margin: `calc(-1 * ${t.toastPaddingY}) 0 calc(-1 * ${t.toastPaddingY}) ${t.toastPaddingX}`,\n padding: `${t.toastPaddingY} ${t.toastLinkPadding}`,\n transition: `background ${t.transitionDuration} ${t.transitionTimingFunction}`,\n});\n\nexport const link6_1 = style({ margin: 0, padding: `0 ${t.toastLinkPadding}` });\n\nexport const toastActionErrorColor = style({ color: t.toastLinkColorError });\n\nexport const toastActionDefaultColor = style({ color: t.toastLinkColor });\n\n// вложенные правила — после баз всех классов файла, как было в склеенном CSS Emotion\nconst textDecorationHover = (value: string) => ({ textDecoration: value });\n\nglobalStyle(`${link}:hover`, { background: t.toastLinkBgHover });\nwhenThemeSets('toastLinkTextDecorationHover', link, textDecorationHover, ':hover');\n\nglobalStyle(`${toastActionErrorColor}:hover`, { background: t.toastLinkBgHoverError });\nwhenThemeSets('toastLinkTextDecorationHover', toastActionErrorColor, textDecorationHover, ':hover');\nglobalStyle(`${toastActionErrorColor}:active`, {\n background: t.toastLinkBgActiveError,\n color: t.toastLinkColorActiveError,\n});\n\nglobalStyle(`${toastActionDefaultColor}:hover`, { background: t.toastLinkBgHover });\nwhenThemeSets('toastLinkTextDecorationHover', toastActionDefaultColor, textDecorationHover, ':hover');\nglobalStyle(`${toastActionDefaultColor}:active`, { background: t.toastLinkBgActive });\n\nexport const styles = {\n root,\n root6_1,\n rootMobile,\n default: defaultStyle,\n error,\n wrapper,\n wrapper6_1,\n content,\n ellipsisContent,\n closeWrapper,\n closeWrapper6_1,\n link,\n link6_1,\n toastActionErrorColor,\n toastActionDefaultColor,\n};\n"]}
|
|
@@ -21,9 +21,6 @@ export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, Comm
|
|
|
21
21
|
use?: ToastUse;
|
|
22
22
|
}
|
|
23
23
|
export declare class ToastView extends React.Component<ToastViewProps> {
|
|
24
|
-
private styles;
|
|
25
|
-
private emotion;
|
|
26
|
-
private cx;
|
|
27
24
|
private theme;
|
|
28
25
|
getRootNode: TGetRootNode;
|
|
29
26
|
private setRootNode;
|
|
@@ -34,15 +34,15 @@ import React from 'react';
|
|
|
34
34
|
import { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';
|
|
35
35
|
import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
|
|
36
36
|
import { ZIndex } from '../../internal/ZIndex/index.js';
|
|
37
|
+
import { cx } from '../../lib/cx.js';
|
|
37
38
|
import { locale } from '../../lib/locale/decorators.js';
|
|
38
|
-
import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
|
|
39
39
|
import { rootNode } from '../../lib/rootNode/index.js';
|
|
40
40
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
41
41
|
import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
|
|
42
42
|
import { responsiveLayout } from '../ResponsiveLayout/decorator.js';
|
|
43
43
|
import { ToastLocaleHelper } from './locale/index.js';
|
|
44
44
|
import { ToastDataTids } from './Toast.js';
|
|
45
|
-
import {
|
|
45
|
+
import { styles } from './ToastView.css.js';
|
|
46
46
|
var ToastView = /** @class */ (function (_super) {
|
|
47
47
|
__extends(ToastView, _super);
|
|
48
48
|
function ToastView() {
|
|
@@ -59,8 +59,8 @@ var ToastView = /** @class */ (function (_super) {
|
|
|
59
59
|
hover: _this.theme.toastCloseHoverColor,
|
|
60
60
|
default: _this.theme.toastCloseColor,
|
|
61
61
|
};
|
|
62
|
-
var toastActionColorsClassName = use === 'error' ?
|
|
63
|
-
var toastActionClassNames =
|
|
62
|
+
var toastActionColorsClassName = use === 'error' ? styles.toastActionErrorColor : styles.toastActionDefaultColor;
|
|
63
|
+
var toastActionClassNames = cx(styles.link, isTheme6_1 && styles.link6_1, toastActionColorsClassName);
|
|
64
64
|
var link = action ? (React.createElement("button", { "aria-label": action['aria-label'], "data-tid": ToastDataTids.action, className: toastActionClassNames, onClick: action.handler }, action.label)) : null;
|
|
65
65
|
var themeDependantProps = isTheme6_1
|
|
66
66
|
? {
|
|
@@ -70,15 +70,15 @@ var ToastView = /** @class */ (function (_super) {
|
|
|
70
70
|
side: parseInt(_this.theme.toastCloseBtnSide),
|
|
71
71
|
}
|
|
72
72
|
: { side: 40, size: parseInt(_this.theme.toastCloseSize) };
|
|
73
|
-
var close = action || showCloseIcon ? (React.createElement("span", { className:
|
|
73
|
+
var close = action || showCloseIcon ? (React.createElement("span", { className: cx(styles.closeWrapper, isTheme6_1 && styles.closeWrapper6_1) },
|
|
74
74
|
React.createElement(CloseButtonIcon, __assign({ "aria-label": _this.locale.closeButtonAriaLabel, "data-tid": ToastDataTids.close, onClick: onClose }, themeDependantProps, { color: toastCloseColors.default, colorHover: toastCloseColors.hover, tabbable: false })))) : null;
|
|
75
|
-
var rootClassName =
|
|
76
|
-
var wrapperClassName =
|
|
75
|
+
var rootClassName = cx(styles.root, isTheme6_1 && styles.root6_1, isTheme6_1 && _this.isMobileLayout && styles.rootMobile, styles[use !== null && use !== void 0 ? use : 'default']);
|
|
76
|
+
var wrapperClassName = cx(styles.wrapper, isTheme6_1 && styles.wrapper6_1);
|
|
77
77
|
return (React.createElement(CommonWrapper, __assign({}, _this.props),
|
|
78
78
|
React.createElement(ZIndex, { priority: "Toast", className: wrapperClassName },
|
|
79
79
|
React.createElement("div", { "data-tid": ToastDataTids.toastView, className: rootClassName, ref: _this.setRootNode, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave },
|
|
80
|
-
isTheme6_1 ? (React.createElement("span", { className:
|
|
81
|
-
React.createElement("span", { className:
|
|
80
|
+
isTheme6_1 ? (React.createElement("span", { className: styles.content },
|
|
81
|
+
React.createElement("span", { className: cx(_this.isMobileLayout && styles.ellipsisContent) }, _this.props.children))) : (React.createElement("span", null, _this.props.children)),
|
|
82
82
|
link,
|
|
83
83
|
close))));
|
|
84
84
|
};
|
|
@@ -86,7 +86,6 @@ var ToastView = /** @class */ (function (_super) {
|
|
|
86
86
|
}
|
|
87
87
|
ToastView.prototype.render = function () {
|
|
88
88
|
var _this = this;
|
|
89
|
-
this.styles = getStyles(this.emotion);
|
|
90
89
|
return (React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
91
90
|
_this.theme = theme;
|
|
92
91
|
return _this.renderMain();
|
|
@@ -94,7 +93,6 @@ var ToastView = /** @class */ (function (_super) {
|
|
|
94
93
|
};
|
|
95
94
|
ToastView = __decorate([
|
|
96
95
|
responsiveLayout,
|
|
97
|
-
withRenderEnvironment,
|
|
98
96
|
rootNode,
|
|
99
97
|
locale('Toast', ToastLocaleHelper)
|
|
100
98
|
], ToastView);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastView.js","sourceRoot":"","sources":["ToastView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ToastView.js","sourceRoot":"","sources":["ToastView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { cx } from '../../lib/cx.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport type { ToastLocale } from './locale/index.js';\nimport { ToastLocaleHelper } from './locale/index.js';\nimport type { Action, ToastUse } from './Toast.js';\nimport { ToastDataTids } from './Toast.js';\nimport { styles } from './ToastView.css.js';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Отображает контент уведомления. */\n children?: React.ReactNode;\n /** Добавляет кнопку действия в тост. */\n action?: Nullable<Action>;\n /** Показывает кнопку закрытия рядом с текстом. */\n showCloseIcon?: boolean;\n /** Вызывается при закрытии тоста из разметки. */\n onClose?: () => void;\n /** Вызывается при наведении курсора на тост. */\n onMouseEnter?: () => void;\n /** Вызывается при уходе курсора с тоста. */\n onMouseLeave?: () => void;\n /** Выбирает стиль оформления: обычный или ошибка (`error`). */\n use?: ToastUse;\n}\n\n@responsiveLayout\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n private isMobileLayout!: boolean;\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave, use } = this.props;\n\n const isTheme6_1 = isThemeGTE(this.theme, '6.1');\n\n const toastCloseColors =\n use === 'error'\n ? {\n hover: this.theme.toastCloseHoverColorError,\n default: this.theme.toastCloseColorError,\n }\n : {\n hover: this.theme.toastCloseHoverColor,\n default: this.theme.toastCloseColor,\n };\n\n const toastActionColorsClassName = use === 'error' ? styles.toastActionErrorColor : styles.toastActionDefaultColor;\n const toastActionClassNames = cx(\n styles.link,\n isTheme6_1 && styles.link6_1,\n\n toastActionColorsClassName,\n );\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={toastActionClassNames}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const themeDependantProps = isTheme6_1\n ? {\n style: {\n height: '100%',\n },\n side: parseInt(this.theme.toastCloseBtnSide),\n }\n : { side: 40, size: parseInt(this.theme.toastCloseSize) };\n\n const close =\n action || showCloseIcon ? (\n <span className={cx(styles.closeWrapper, isTheme6_1 && styles.closeWrapper6_1)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n {...themeDependantProps}\n color={toastCloseColors.default}\n colorHover={toastCloseColors.hover}\n tabbable={false}\n />\n </span>\n ) : null;\n\n const rootClassName = cx(\n styles.root,\n isTheme6_1 && styles.root6_1,\n isTheme6_1 && this.isMobileLayout && styles.rootMobile,\n styles[use ?? 'default'],\n );\n\n const wrapperClassName = cx(styles.wrapper, isTheme6_1 && styles.wrapper6_1);\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={wrapperClassName}>\n <div\n data-tid={ToastDataTids.toastView}\n className={rootClassName}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {isTheme6_1 ? (\n <span className={styles.content}>\n <span className={cx(this.isMobileLayout && styles.ellipsisContent)}>{this.props.children}</span>\n </span>\n ) : (\n <span>{this.props.children}</span>\n )}\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.classes.js","sourceRoot":"","sources":["Toggle.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Toggle.classes.js","sourceRoot":"","sources":["Toggle.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,oBAAoB;IACvC,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC","sourcesContent":["import { prefix } from '../../lib/prefix.js';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n disabled: 'disabled',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n"]}
|