@skbkontur/react-ui 6.4.2-static-css.0 → 6.4.3-6344a.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/README.md +0 -97
- package/components/Autocomplete/Autocomplete.css.d.ts +5 -0
- package/components/Autocomplete/Autocomplete.css.js +3 -0
- package/components/Autocomplete/Autocomplete.css.js.map +1 -0
- package/components/Autocomplete/Autocomplete.d.ts +1 -0
- package/components/Autocomplete/Autocomplete.js +5 -14
- package/components/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Button/Button.css.d.ts +95 -0
- package/components/Button/Button.css.js +5 -0
- package/components/Button/Button.css.js.map +1 -0
- package/components/Button/Button.d.ts +1 -15
- package/components/Button/Button.js +77 -162
- package/components/Button/Button.js.map +1 -1
- package/components/Button/Button.mixins.d.ts +4 -0
- package/components/Button/Button.mixins.js +26 -0
- package/components/Button/Button.mixins.js.map +1 -0
- package/components/Button/ButtonArrow.d.ts +4 -3
- package/components/Button/ButtonArrow.js +11 -9
- package/components/Button/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon.css.d.ts +16 -0
- package/components/Button/ButtonIcon.css.js +3 -0
- package/components/Button/ButtonIcon.css.js.map +1 -0
- package/components/Button/ButtonIcon.js +18 -8
- package/components/Button/ButtonIcon.js.map +1 -1
- package/components/Button/LoadingButtonIcon.js +1 -1
- package/components/Button/LoadingButtonIcon.js.map +1 -1
- package/components/Calendar/Calendar.css.d.ts +6 -0
- package/components/Calendar/Calendar.css.js +3 -0
- package/components/Calendar/Calendar.css.js.map +1 -0
- package/components/Calendar/Calendar.d.ts +1 -0
- package/components/Calendar/Calendar.js +4 -4
- package/components/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/CalendarDay.js +8 -12
- package/components/Calendar/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView.css.d.ts +9 -0
- package/components/Calendar/DayCellView.css.js +3 -0
- package/components/Calendar/DayCellView.css.js.map +1 -0
- package/components/Calendar/DayCellView.js +4 -2
- package/components/Calendar/DayCellView.js.map +1 -1
- package/components/Calendar/Month.js +12 -8
- package/components/Calendar/Month.js.map +1 -1
- package/components/Calendar/MonthView.css.d.ts +13 -0
- package/components/Calendar/MonthView.css.js +3 -0
- package/components/Calendar/MonthView.css.js.map +1 -0
- package/components/Calendar/MonthView.js +8 -8
- package/components/Calendar/MonthView.js.map +1 -1
- package/components/Center/Center.css.d.ts +7 -0
- package/components/Center/Center.css.js +3 -0
- package/components/Center/Center.css.js.map +1 -0
- package/components/Center/Center.d.ts +1 -0
- package/components/Center/Center.js +2 -2
- package/components/Center/Center.js.map +1 -1
- package/components/Checkbox/Checkbox.css.d.ts +35 -0
- package/components/Checkbox/Checkbox.css.js +5 -0
- package/components/Checkbox/Checkbox.css.js.map +1 -0
- package/components/Checkbox/Checkbox.d.ts +1 -8
- package/components/Checkbox/Checkbox.js +27 -58
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.d.ts +4 -0
- package/components/Checkbox/Checkbox.mixins.js +15 -0
- package/components/Checkbox/Checkbox.mixins.js.map +1 -0
- package/components/DateInput/DateFragmentsView.css.d.ts +7 -0
- package/components/DateInput/DateFragmentsView.css.js +3 -0
- package/components/DateInput/DateFragmentsView.css.js.map +1 -0
- package/components/DateInput/DateFragmentsView.d.ts +2 -0
- package/components/DateInput/DateFragmentsView.js +8 -11
- package/components/DateInput/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput.css.d.ts +10 -0
- package/components/DateInput/DateInput.css.js +3 -0
- package/components/DateInput/DateInput.css.js.map +1 -0
- package/components/DateInput/DateInput.d.ts +2 -0
- package/components/DateInput/DateInput.js +9 -7
- package/components/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker.css.d.ts +5 -0
- package/components/DatePicker/DatePicker.css.js +3 -0
- package/components/DatePicker/DatePicker.css.js.map +1 -0
- package/components/DatePicker/DatePicker.d.ts +1 -0
- package/components/DatePicker/DatePicker.js +3 -3
- package/components/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/MobilePicker.css.d.ts +3 -0
- package/components/DatePicker/MobilePicker.css.js +3 -0
- package/components/DatePicker/MobilePicker.css.js.map +1 -0
- package/components/DatePicker/MobilePicker.js +1 -1
- package/components/DatePicker/MobilePicker.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme.js +9 -27
- package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.css.d.ts +20 -0
- package/components/DateRangePicker/DateRangePicker.css.js +3 -0
- package/components/DateRangePicker/DateRangePicker.css.js.map +1 -0
- package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
- package/components/DateRangePicker/DateRangePicker.js +28 -21
- package/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerTheme.js +10 -30
- package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
- package/components/Dropdown/getDropdownTheme.d.ts +0 -11
- package/components/Dropdown/getDropdownTheme.js +4 -23
- package/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/components/DropdownMenu/getDropdownMenuTheme.js +2 -9
- package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
- package/components/FileUploader/FileUploader.css.d.ts +74 -0
- package/components/FileUploader/FileUploader.css.js +6 -0
- package/components/FileUploader/FileUploader.css.js.map +1 -0
- package/components/FileUploader/FileUploader.d.ts +1 -2
- package/components/FileUploader/FileUploader.js +46 -51
- package/components/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.mixins.d.ts +1 -0
- package/components/FileUploader/FileUploader.mixins.js +4 -0
- package/components/FileUploader/FileUploader.mixins.js.map +1 -0
- package/components/FileUploader/FileUploaderFile.css.d.ts +60 -0
- package/components/FileUploader/FileUploaderFile.css.js +5 -0
- package/components/FileUploader/FileUploaderFile.css.js.map +1 -0
- package/components/FileUploader/FileUploaderFile.js +31 -29
- package/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.d.ts +34 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +5 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +1 -0
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +20 -18
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/components/FileUploader/FileUploaderFileStatusIcon.js +5 -3
- package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
- package/components/FileUploader/FileUploaderFileTypeIcon.js +52 -47
- package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -1
- package/components/FxInput/FxInput.js +3 -7
- package/components/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInputRestoreBtn.js +15 -23
- package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.css.d.ts +21 -0
- package/components/GlobalLoader/GlobalLoaderView.css.js +4 -0
- package/components/GlobalLoader/GlobalLoaderView.css.js.map +1 -0
- package/components/GlobalLoader/GlobalLoaderView.js +20 -30
- package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/components/Group/Group.css.d.ts +8 -0
- package/components/Group/Group.css.js +3 -0
- package/components/Group/Group.css.js.map +1 -0
- package/components/Group/Group.d.ts +1 -0
- package/components/Group/Group.js +4 -3
- package/components/Group/Group.js.map +1 -1
- package/components/Hint/Hint.css.d.ts +5 -0
- package/components/Hint/Hint.css.js +3 -0
- package/components/Hint/Hint.css.js.map +1 -0
- package/components/Hint/Hint.d.ts +1 -0
- package/components/Hint/Hint.js +4 -4
- package/components/Hint/Hint.js.map +1 -1
- package/components/Input/Input.css.d.ts +21 -0
- package/components/Input/Input.css.js +3 -0
- package/components/Input/Input.css.js.map +1 -0
- package/components/Input/Input.d.ts +1 -0
- package/components/Input/Input.js +14 -14
- package/components/Input/Input.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.css.d.ts +18 -0
- package/components/Input/InputLayout/InputLayout.css.js +4 -0
- package/components/Input/InputLayout/InputLayout.css.js.map +1 -0
- package/components/Input/InputLayout/InputLayout.js +1 -1
- package/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside.js +1 -1
- package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideCounter.js +9 -9
- package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon.js +26 -20
- package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideText.js +5 -5
- package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
- package/components/Kebab/Kebab.css.d.ts +11 -0
- package/components/Kebab/Kebab.css.js +3 -0
- package/components/Kebab/Kebab.css.js.map +1 -0
- package/components/Kebab/Kebab.d.ts +1 -0
- package/components/Kebab/Kebab.js +3 -3
- package/components/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link.css.d.ts +24 -0
- package/components/Link/Link.css.js +3 -0
- package/components/Link/Link.css.js.map +1 -0
- package/components/Link/Link.d.ts +1 -0
- package/components/Link/Link.js +19 -23
- package/components/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins.d.ts +2 -0
- package/components/Link/Link.mixins.js +7 -0
- package/components/Link/Link.mixins.js.map +1 -0
- package/components/Link/LinkIcon.js +7 -5
- package/components/Link/LinkIcon.js.map +1 -1
- package/components/Loader/Loader.css.d.ts +8 -0
- package/components/Loader/Loader.css.js +3 -0
- package/components/Loader/Loader.css.js.map +1 -0
- package/components/Loader/Loader.d.ts +2 -0
- package/components/Loader/Loader.js +4 -3
- package/components/Loader/Loader.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +6 -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 +22 -16
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/MaskedInput.css.d.ts +7 -0
- package/components/MaskedInput/MaskedInput.css.js +4 -0
- package/components/MaskedInput/MaskedInput.css.js.map +1 -0
- package/components/MaskedInput/MaskedInputLegacy.js +7 -5
- package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
- package/components/MaskedInputV2/MaskedInputV2.css.d.ts +7 -0
- package/components/MaskedInputV2/MaskedInputV2.css.js +4 -0
- package/components/MaskedInputV2/MaskedInputV2.css.js.map +1 -0
- package/components/MaskedInputV2/MaskedInputV2.js +7 -5
- package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskOverlay.js +9 -9
- package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedCore.js +6 -8
- package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedInternal.css.d.ts +15 -0
- package/components/MaskedInputV2/internal/MaskedInternal.css.js +4 -0
- package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +1 -0
- package/components/MenuFooter/MenuFooter.css.d.ts +10 -0
- package/components/MenuFooter/MenuFooter.css.js +3 -0
- package/components/MenuFooter/MenuFooter.css.js.map +1 -0
- package/components/MenuFooter/MenuFooter.js +13 -11
- package/components/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
- package/components/MenuFooter/MenuFooter.mixins.js +8 -0
- package/components/MenuFooter/MenuFooter.mixins.js.map +1 -0
- package/components/MenuHeader/MenuHeader.css.d.ts +10 -0
- package/components/MenuHeader/MenuHeader.css.js +3 -0
- package/components/MenuHeader/MenuHeader.css.js.map +1 -0
- package/components/MenuHeader/MenuHeader.js +12 -10
- package/components/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
- package/components/MenuHeader/MenuHeader.mixins.js +8 -0
- package/components/MenuHeader/MenuHeader.mixins.js.map +1 -0
- package/components/MenuItem/MenuItem.css.d.ts +27 -0
- package/components/MenuItem/MenuItem.css.js +3 -0
- package/components/MenuItem/MenuItem.css.js.map +1 -0
- package/components/MenuItem/MenuItem.d.ts +1 -0
- package/components/MenuItem/MenuItem.js +22 -22
- package/components/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.mixins.d.ts +0 -6
- package/components/MenuItem/MenuItem.mixins.js +0 -6
- package/components/MenuItem/MenuItem.mixins.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.css.d.ts +5 -0
- package/components/MenuSeparator/MenuSeparator.css.js +3 -0
- package/components/MenuSeparator/MenuSeparator.css.js.map +1 -0
- package/components/MenuSeparator/MenuSeparator.js +7 -5
- package/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MiniModal/MiniModal.css.d.ts +11 -0
- package/components/MiniModal/MiniModal.css.js +4 -0
- package/components/MiniModal/MiniModal.css.js.map +1 -0
- package/components/MiniModal/MiniModalBody.js +4 -4
- package/components/MiniModal/MiniModalBody.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.js +7 -5
- package/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.js +7 -5
- package/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalIndent.js +5 -3
- package/components/MiniModal/MiniModalIndent.js.map +1 -1
- package/components/MiniModal/getMiniModalTheme.js +13 -39
- package/components/MiniModal/getMiniModalTheme.js.map +1 -1
- package/components/Modal/Modal.css.d.ts +55 -0
- package/components/Modal/Modal.css.js +4 -0
- package/components/Modal/Modal.css.js.map +1 -0
- package/components/Modal/Modal.d.ts +1 -0
- package/components/Modal/Modal.js +9 -9
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +1 -0
- package/components/Modal/ModalBody.js +8 -8
- package/components/Modal/ModalBody.js.map +1 -1
- package/components/Modal/ModalClose.js +10 -8
- package/components/Modal/ModalClose.js.map +1 -1
- package/components/Modal/ModalFooter.js +4 -4
- package/components/Modal/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader.js +4 -4
- package/components/Modal/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator.js +7 -5
- package/components/Modal/ModalSeparator.js.map +1 -1
- package/components/Paging/Paging.css.d.ts +32 -0
- package/components/Paging/Paging.css.js +3 -0
- package/components/Paging/Paging.css.js.map +1 -0
- package/components/Paging/Paging.d.ts +2 -0
- package/components/Paging/Paging.js +38 -33
- package/components/Paging/Paging.js.map +1 -1
- package/components/PasswordInput/PasswordInput.css.d.ts +11 -0
- package/components/PasswordInput/PasswordInput.css.js +3 -0
- package/components/PasswordInput/PasswordInput.css.js.map +1 -0
- package/components/PasswordInput/PasswordInput.d.ts +2 -0
- package/components/PasswordInput/PasswordInput.js +12 -7
- package/components/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio.css.d.ts +35 -0
- package/components/Radio/Radio.css.js +5 -0
- package/components/Radio/Radio.css.js.map +1 -0
- package/components/Radio/Radio.d.ts +1 -8
- package/components/Radio/Radio.js +29 -60
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mixins.d.ts +7 -0
- package/components/Radio/Radio.mixins.js +27 -0
- package/components/Radio/Radio.mixins.js.map +1 -0
- package/components/RadioGroup/RadioGroup.css.d.ts +6 -0
- package/components/RadioGroup/RadioGroup.css.js +3 -0
- package/components/RadioGroup/RadioGroup.css.js.map +1 -0
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/RadioGroup/RadioGroup.js +3 -2
- package/components/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +3 -1
- package/components/ScrollContainer/ScrollBar.js +15 -10
- package/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.css.d.ts +21 -0
- package/components/ScrollContainer/ScrollContainer.css.js +4 -0
- package/components/ScrollContainer/ScrollContainer.css.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer.js +2 -2
- package/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/Select/Select.css.d.ts +18 -0
- package/components/Select/Select.css.js +3 -0
- package/components/Select/Select.css.js.map +1 -0
- package/components/Select/Select.d.ts +1 -0
- package/components/Select/Select.js +14 -14
- package/components/Select/Select.js.map +1 -1
- package/components/Select/selectTheme.js +7 -31
- package/components/Select/selectTheme.js.map +1 -1
- package/components/SidePage/SidePage.css.d.ts +50 -0
- package/components/SidePage/SidePage.css.js +3 -0
- package/components/SidePage/SidePage.css.js.map +1 -0
- package/components/SidePage/SidePage.d.ts +6 -0
- package/components/SidePage/SidePage.js +28 -10
- package/components/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +1 -0
- package/components/SidePage/SidePageBody.js +9 -8
- package/components/SidePage/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.js +9 -7
- package/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +2 -0
- package/components/SidePage/SidePageContainer.js +14 -12
- package/components/SidePage/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContext.d.ts +2 -0
- package/components/SidePage/SidePageContext.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +2 -0
- package/components/SidePage/SidePageFooter.js +18 -13
- package/components/SidePage/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +2 -0
- package/components/SidePage/SidePageHeader.js +21 -12
- package/components/SidePage/SidePageHeader.js.map +1 -1
- package/components/Spinner/Spinner.css.d.ts +13 -0
- package/components/Spinner/Spinner.css.js +3 -0
- package/components/Spinner/Spinner.css.js.map +1 -0
- package/components/Spinner/Spinner.d.ts +2 -0
- package/components/Spinner/Spinner.js +11 -8
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Sticky/Sticky.css.d.ts +7 -0
- package/components/Sticky/Sticky.css.js +3 -0
- package/components/Sticky/Sticky.css.js.map +1 -0
- package/components/Sticky/Sticky.d.ts +1 -0
- package/components/Sticky/Sticky.js +2 -2
- package/components/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher.css.d.ts +12 -0
- package/components/Switcher/Switcher.css.js +3 -0
- package/components/Switcher/Switcher.css.js.map +1 -0
- package/components/Switcher/Switcher.d.ts +1 -0
- package/components/Switcher/Switcher.js +7 -7
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/switcherTheme.js +4 -12
- package/components/Switcher/switcherTheme.js.map +1 -1
- package/components/Tabs/Indicator.css.d.ts +8 -0
- package/components/Tabs/Indicator.css.js +3 -0
- package/components/Tabs/Indicator.css.js.map +1 -0
- package/components/Tabs/Indicator.d.ts +1 -0
- package/components/Tabs/Indicator.js +3 -3
- package/components/Tabs/Indicator.js.map +1 -1
- package/components/Tabs/Tab.css.d.ts +33 -0
- package/components/Tabs/Tab.css.js +6 -0
- package/components/Tabs/Tab.css.js.map +1 -0
- package/components/Tabs/Tab.d.ts +2 -0
- package/components/Tabs/Tab.js +25 -20
- package/components/Tabs/Tab.js.map +1 -1
- package/components/Tabs/Tabs.css.d.ts +7 -0
- package/components/Tabs/Tabs.css.js +3 -0
- package/components/Tabs/Tabs.css.js.map +1 -0
- package/components/Tabs/Tabs.d.ts +2 -0
- package/components/Tabs/Tabs.js +30 -25
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/helpers.d.ts +6 -0
- package/components/Tabs/helpers.js +25 -0
- package/components/Tabs/helpers.js.map +1 -0
- package/components/Textarea/Textarea.css.d.ts +23 -0
- package/components/Textarea/Textarea.css.js +3 -0
- package/components/Textarea/Textarea.css.js.map +1 -0
- package/components/Textarea/Textarea.d.ts +2 -0
- package/components/Textarea/Textarea.js +25 -18
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.mixins.d.ts +2 -0
- package/components/Textarea/Textarea.mixins.js +7 -0
- package/components/Textarea/Textarea.mixins.js.map +1 -0
- package/components/Textarea/TextareaCounter.js +15 -23
- package/components/Textarea/TextareaCounter.js.map +1 -1
- package/components/TimePicker/TimePicker.css.d.ts +12 -0
- package/components/TimePicker/TimePicker.css.js +3 -0
- package/components/TimePicker/TimePicker.css.js.map +1 -0
- package/components/TimePicker/TimePicker.js +1 -1
- package/components/TimePicker/TimePicker.js.map +1 -1
- package/components/TimePicker/TimePickerItems.js +7 -7
- package/components/TimePicker/TimePickerItems.js.map +1 -1
- package/components/TimePicker/TimePickerPopup.js +2 -2
- package/components/TimePicker/TimePickerPopup.js.map +1 -1
- package/components/Toast/Toast.css.d.ts +6 -0
- package/components/Toast/Toast.css.js +3 -0
- package/components/Toast/Toast.css.js.map +1 -0
- package/components/Toast/Toast.d.ts +1 -0
- package/components/Toast/Toast.js +2 -2
- package/components/Toast/Toast.js.map +1 -1
- package/components/Toast/ToastView.css.d.ts +18 -0
- package/components/Toast/ToastView.css.js +3 -0
- package/components/Toast/ToastView.css.js.map +1 -0
- package/components/Toast/ToastView.d.ts +1 -0
- package/components/Toast/ToastView.js +18 -10
- package/components/Toast/ToastView.js.map +1 -1
- package/components/Toggle/Toggle.css.d.ts +50 -0
- package/components/Toggle/Toggle.css.js +5 -0
- package/components/Toggle/Toggle.css.js.map +1 -0
- package/components/Toggle/Toggle.d.ts +1 -1
- package/components/Toggle/Toggle.js +40 -56
- package/components/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.mixins.d.ts +8 -0
- package/components/Toggle/Toggle.mixins.js +29 -0
- package/components/Toggle/Toggle.mixins.js.map +1 -0
- package/components/Token/Token.css.d.ts +23 -0
- package/components/Token/Token.css.js +4 -0
- package/components/Token/Token.css.js.map +1 -0
- package/components/Token/Token.d.ts +2 -0
- package/components/Token/Token.js +11 -6
- package/components/Token/Token.js.map +1 -1
- package/components/Token/Token.mixins.d.ts +1 -0
- package/components/Token/Token.mixins.js +4 -0
- package/components/Token/Token.mixins.js.map +1 -0
- package/components/Token/TokenView.js +11 -9
- package/components/Token/TokenView.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +1 -0
- package/components/TokenInput/TextWidthHelper.js +5 -5
- package/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput.css.d.ts +21 -0
- package/components/TokenInput/TokenInput.css.js +4 -0
- package/components/TokenInput/TokenInput.css.js.map +1 -0
- package/components/TokenInput/TokenInput.d.ts +2 -1
- package/components/TokenInput/TokenInput.js +23 -21
- package/components/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.mixins.d.ts +2 -0
- package/components/TokenInput/TokenInput.mixins.js +7 -0
- package/components/TokenInput/TokenInput.mixins.js.map +1 -0
- package/components/Tooltip/Tooltip.css.d.ts +11 -0
- package/components/Tooltip/Tooltip.css.js +3 -0
- package/components/Tooltip/Tooltip.css.js.map +1 -0
- package/components/Tooltip/Tooltip.d.ts +1 -0
- package/components/Tooltip/Tooltip.js +13 -13
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/index.d.ts +0 -4
- package/index.js +0 -12
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.css.d.ts +11 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.css.js +3 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.js +10 -8
- package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.css.d.ts +9 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.css.js +3 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +1 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +11 -21
- package/internal/CloseButtonIcon/CloseButtonIcon.js +19 -29
- package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +4 -3
- package/internal/CommonWrapper/CommonWrapper.js +17 -104
- package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +2 -1
- package/internal/CustomComboBox/ComboBoxView.js +9 -10
- package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.css.d.ts +4 -0
- package/internal/CustomComboBox/CustomComboBox.css.js +3 -0
- package/internal/CustomComboBox/CustomComboBox.css.js.map +1 -0
- package/internal/DateSelect/DateSelect.css.d.ts +9 -0
- package/internal/DateSelect/DateSelect.css.js +4 -0
- package/internal/DateSelect/DateSelect.css.js.map +1 -0
- package/internal/DateSelect/DateSelect.d.ts +1 -0
- package/internal/DateSelect/DateSelect.js +3 -3
- package/internal/DateSelect/DateSelect.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +3 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +3 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +1 -0
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +2 -16
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +12 -37
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.css.d.ts +8 -0
- package/internal/InputLikeText/InputLikeText.css.js +3 -0
- package/internal/InputLikeText/InputLikeText.css.js.map +1 -0
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InputLikeText/InputLikeText.js +19 -23
- package/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +5 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +4 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +17 -17
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +3 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.css.js +3 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +1 -0
- package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
- package/internal/Menu/Menu.css.d.ts +16 -0
- package/internal/Menu/Menu.css.js +3 -0
- package/internal/Menu/Menu.css.js.map +1 -0
- package/internal/Menu/Menu.d.ts +1 -0
- package/internal/Menu/Menu.js +10 -10
- package/internal/Menu/Menu.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.css.d.ts +11 -0
- package/internal/MenuMessage/MenuMessage.css.js +3 -0
- package/internal/MenuMessage/MenuMessage.css.js.map +1 -0
- package/internal/MenuMessage/MenuMessage.js +11 -11
- package/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.css.d.ts +17 -0
- package/internal/MobilePopup/MobilePopup.css.js +3 -0
- package/internal/MobilePopup/MobilePopup.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopup.d.ts +1 -0
- package/internal/MobilePopup/MobilePopup.js +12 -24
- package/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.d.ts +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +3 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +6 -6
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.d.ts +14 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +3 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +1 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +11 -11
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.css.d.ts +3 -0
- package/internal/NativeDateInput/NativeDateInput.css.js +3 -0
- package/internal/NativeDateInput/NativeDateInput.css.js.map +1 -0
- package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
- package/internal/NativeDateInput/NativeDateInput.js +2 -2
- package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
- package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +3 -0
- package/internal/NativeTimeInput/NativeTimeInput.css.js +3 -0
- package/internal/NativeTimeInput/NativeTimeInput.css.js.map +1 -0
- package/internal/NativeTimeInput/NativeTimeInput.js +3 -2
- package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
- package/internal/Popup/Popup.css.d.ts +22 -0
- package/internal/Popup/Popup.css.js +3 -0
- package/internal/Popup/Popup.css.js.map +1 -0
- package/internal/Popup/Popup.d.ts +1 -0
- package/internal/Popup/Popup.js +6 -6
- package/internal/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupPin.css.d.ts +9 -0
- package/internal/Popup/PopupPin.css.js +3 -0
- package/internal/Popup/PopupPin.css.js.map +1 -0
- package/internal/Popup/PopupPin.d.ts +1 -0
- package/internal/Popup/PopupPin.js +2 -2
- package/internal/Popup/PopupPin.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.css.d.ts +4 -0
- package/internal/PopupMenu/PopupMenu.css.js +3 -0
- package/internal/PopupMenu/PopupMenu.css.js.map +1 -0
- package/internal/PopupMenu/PopupMenu.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu.js +2 -2
- package/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +1 -0
- package/internal/RenderContainer/RenderContainer.js +26 -1
- package/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.js +2 -4
- package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.css.d.ts +7 -0
- package/internal/ResizeDetector/ResizeDetector.css.js +3 -0
- package/internal/ResizeDetector/ResizeDetector.css.js.map +1 -0
- package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
- package/internal/ResizeDetector/ResizeDetector.js +2 -2
- package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.css.d.ts +6 -0
- package/internal/SpinnerIcon/SpinnerIcon.css.js +3 -0
- package/internal/SpinnerIcon/SpinnerIcon.css.js.map +1 -0
- package/internal/SpinnerIcon/SpinnerIcon.js +3 -3
- package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +4 -0
- package/internal/TextWidthHelper/TextWidthHelper.css.js +3 -0
- package/internal/TextWidthHelper/TextWidthHelper.css.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.d.ts +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.js +2 -2
- package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/internal/TimeInput/TimeFragments.css.d.ts +32 -0
- package/internal/TimeInput/TimeFragments.css.js +3 -0
- package/internal/TimeInput/TimeFragments.css.js.map +1 -0
- package/internal/TimeInput/TimeFragments.js +16 -20
- package/internal/TimeInput/TimeFragments.js.map +1 -1
- package/internal/TimeInput/TimeInput.css.d.ts +7 -0
- package/internal/TimeInput/TimeInput.css.js +3 -0
- package/internal/TimeInput/TimeInput.css.js.map +1 -0
- package/internal/TimeInput/TimeInput.js +5 -5
- package/internal/TimeInput/TimeInput.js.map +1 -1
- package/internal/icons2022/BaseIcon.css.d.ts +3 -0
- package/internal/icons2022/BaseIcon.css.js +3 -0
- package/internal/icons2022/BaseIcon.css.js.map +1 -0
- package/internal/icons2022/BaseIcon.js +2 -9
- package/internal/icons2022/BaseIcon.js.map +1 -1
- package/internal/icons2022/LoadingIcon.js +6 -4
- package/internal/icons2022/LoadingIcon.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +0 -10
- package/internal/themes/BasicTheme.js +6 -17
- package/internal/themes/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme6_0.js +342 -62
- package/internal/themes/DarkTheme6_0.js.map +1 -1
- package/internal/themes/DarkTheme6_1.js +3 -11
- package/internal/themes/DarkTheme6_1.js.map +1 -1
- package/internal/themes/DarkTheme6_4.js +1 -11
- package/internal/themes/DarkTheme6_4.js.map +1 -1
- package/lib/Upgrades.d.ts +2 -12
- package/lib/Upgrades.js +16 -12
- package/lib/Upgrades.js.map +1 -1
- package/lib/chars.d.ts +8 -0
- package/lib/chars.js +9 -0
- package/lib/chars.js.map +1 -0
- package/lib/globalObject.js +1 -4
- package/lib/globalObject.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +6 -38
- package/lib/renderEnvironment/RenderEnvironmentContext.js +19 -21
- package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentDecorator.js +3 -6
- 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 +2 -0
- package/lib/styles/Mixins.js +7 -0
- package/lib/styles/Mixins.js.map +1 -0
- package/lib/styles/UiFont.d.ts +3 -0
- package/lib/styles/UiFont.js +18 -0
- package/lib/styles/UiFont.js.map +1 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +7 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.js +36 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
- package/lib/theming/AnimationKeyframes.d.ts +7 -0
- package/lib/theming/AnimationKeyframes.js +24 -0
- package/lib/theming/AnimationKeyframes.js.map +1 -0
- package/lib/theming/Emotion.d.ts +11 -41
- package/lib/theming/Emotion.js +49 -61
- package/lib/theming/Emotion.js.map +1 -1
- package/lib/theming/StaticStyles.d.ts +30 -0
- package/lib/theming/StaticStyles.js +410 -0
- package/lib/theming/StaticStyles.js.map +1 -0
- package/lib/theming/bindStaticStyles.d.ts +4 -0
- package/lib/theming/bindStaticStyles.js +18 -0
- package/lib/theming/bindStaticStyles.js.map +1 -0
- package/lib/theming/themeVars.d.ts +26 -0
- package/lib/theming/themeVars.js +72 -0
- package/lib/theming/themeVars.js.map +1 -0
- package/lib/theming/useTheme.d.ts +2 -0
- package/lib/theming/useTheme.js +6 -0
- package/lib/theming/useTheme.js.map +1 -0
- package/package.json +17 -48
- package/react-ui.css +5678 -6528
- package/typings/stylis-plugin-extra-scope.d.ts +3 -0
- package/components/Autocomplete/Autocomplete.styles.d.ts +0 -5
- package/components/Autocomplete/Autocomplete.styles.js +0 -7
- package/components/Autocomplete/Autocomplete.styles.js.map +0 -1
- package/components/Button/Button.styles.d.ts +0 -111
- package/components/Button/Button.styles.js +0 -113
- 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 -18
- 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 -8
- package/components/Calendar/Calendar.styles.js.map +0 -1
- package/components/Calendar/DayCellView.styles.d.ts +0 -11
- package/components/Calendar/DayCellView.styles.js +0 -13
- 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 -15
- package/components/Calendar/MonthView.styles.js.map +0 -1
- package/components/Center/Center.styles.d.ts +0 -8
- package/components/Center/Center.styles.js +0 -10
- package/components/Center/Center.styles.js.map +0 -1
- package/components/Checkbox/Checkbox.styles.d.ts +0 -37
- package/components/Checkbox/Checkbox.styles.js +0 -40
- package/components/Checkbox/Checkbox.styles.js.map +0 -1
- package/components/DateInput/DateFragmentsView.styles.d.ts +0 -9
- package/components/DateInput/DateFragmentsView.styles.js +0 -11
- package/components/DateInput/DateFragmentsView.styles.js.map +0 -1
- package/components/DateInput/DateInput.styles.d.ts +0 -10
- package/components/DateInput/DateInput.styles.js +0 -12
- 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 -7
- package/components/DatePicker/DatePicker.styles.js.map +0 -1
- package/components/DatePicker/MobilePicker.styles.d.ts +0 -4
- package/components/DatePicker/MobilePicker.styles.js +0 -6
- package/components/DatePicker/MobilePicker.styles.js.map +0 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -22
- package/components/DateRangePicker/DateRangePicker.styles.js +0 -33
- package/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
- package/components/FileUploader/FileUploader.styles.d.ts +0 -75
- package/components/FileUploader/FileUploader.styles.js +0 -78
- 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 -62
- 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 -36
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
- package/components/FileUploader/FileUploaderFileTypeIcon.styles.d.ts +0 -14
- package/components/FileUploader/FileUploaderFileTypeIcon.styles.js +0 -16
- package/components/FileUploader/FileUploaderFileTypeIcon.styles.js.map +0 -1
- package/components/FxInput/FxInput.styles.d.ts +0 -4
- package/components/FxInput/FxInput.styles.js +0 -6
- package/components/FxInput/FxInput.styles.js.map +0 -1
- package/components/FxInput/FxInputRestoreBtn.styles.d.ts +0 -6
- package/components/FxInput/FxInputRestoreBtn.styles.js +0 -8
- package/components/FxInput/FxInputRestoreBtn.styles.js.map +0 -1
- package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +0 -23
- package/components/GlobalLoader/GlobalLoaderView.styles.js +0 -25
- 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 -10
- 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 -7
- 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 -23
- package/components/Input/Input.styles.js.map +0 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +0 -27
- package/components/Input/InputLayout/InputLayout.styles.js +0 -29
- 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 -13
- package/components/Kebab/Kebab.styles.js.map +0 -1
- package/components/Link/Link.styles.d.ts +0 -24
- package/components/Link/Link.styles.js +0 -26
- 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 -10
- package/components/Loader/Loader.styles.js.map +0 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +0 -7
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +0 -10
- 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 -10
- 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 -10
- 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 -18
- 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 -12
- 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 -12
- 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 -31
- 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 -7
- 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 -13
- 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 -58
- 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 -34
- 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 -13
- package/components/PasswordInput/PasswordInput.styles.js.map +0 -1
- package/components/Radio/Radio.styles.d.ts +0 -37
- package/components/Radio/Radio.styles.js +0 -40
- 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 -8
- 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 -24
- 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 -20
- 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 -52
- 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 -15
- package/components/Spinner/Spinner.styles.js.map +0 -1
- package/components/Sticky/Sticky.styles.d.ts +0 -8
- package/components/Sticky/Sticky.styles.js +0 -10
- 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 -14
- 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 -10
- 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 -36
- 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 -9
- package/components/Tabs/Tabs.styles.js.map +0 -1
- package/components/Textarea/Textarea.styles.d.ts +0 -27
- package/components/Textarea/Textarea.styles.js +0 -29
- 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 -14
- package/components/TimePicker/TimePicker.styles.js.map +0 -1
- package/components/Toast/Toast.styles.d.ts +0 -7
- package/components/Toast/Toast.styles.js +0 -9
- package/components/Toast/Toast.styles.js.map +0 -1
- package/components/Toast/ToastView.styles.d.ts +0 -20
- package/components/Toast/ToastView.styles.js +0 -22
- package/components/Toast/ToastView.styles.js.map +0 -1
- package/components/Toggle/Toggle.styles.d.ts +0 -50
- package/components/Toggle/Toggle.styles.js +0 -52
- package/components/Toggle/Toggle.styles.js.map +0 -1
- package/components/Token/Token.styles.d.ts +0 -24
- package/components/Token/Token.styles.js +0 -27
- 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 -24
- package/components/TokenInput/TokenInput.styles.js.map +0 -1
- package/components/Tooltip/Tooltip.styles.d.ts +0 -12
- package/components/Tooltip/Tooltip.styles.js +0 -14
- package/components/Tooltip/Tooltip.styles.js.map +0 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +0 -11
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +0 -13
- 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 -10
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
- package/internal/CustomComboBox/CustomComboBox.styles.d.ts +0 -6
- package/internal/CustomComboBox/CustomComboBox.styles.js +0 -8
- 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 -12
- package/internal/DateSelect/DateSelect.styles.js.map +0 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.d.ts +0 -5
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js +0 -7
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js.map +0 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +0 -8
- package/internal/InputLikeText/InputLikeText.styles.js +0 -10
- package/internal/InputLikeText/InputLikeText.styles.js.map +0 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +0 -4
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +0 -6
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +0 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +0 -4
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +0 -6
- 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 -18
- 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 -13
- 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 -19
- 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 -9
- 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 -16
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +0 -1
- package/internal/NativeDateInput/NativeDateInput.styles.d.ts +0 -4
- package/internal/NativeDateInput/NativeDateInput.styles.js +0 -6
- package/internal/NativeDateInput/NativeDateInput.styles.js.map +0 -1
- package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -4
- package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -6
- 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 -24
- package/internal/Popup/Popup.styles.js.map +0 -1
- package/internal/Popup/PopupPin.styles.d.ts +0 -10
- package/internal/Popup/PopupPin.styles.js +0 -12
- package/internal/Popup/PopupPin.styles.js.map +0 -1
- package/internal/PopupMenu/PopupMenu.styles.d.ts +0 -5
- package/internal/PopupMenu/PopupMenu.styles.js +0 -7
- package/internal/PopupMenu/PopupMenu.styles.js.map +0 -1
- package/internal/ResizeDetector/ResizeDetector.styles.d.ts +0 -8
- package/internal/ResizeDetector/ResizeDetector.styles.js +0 -10
- package/internal/ResizeDetector/ResizeDetector.styles.js.map +0 -1
- package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +0 -7
- package/internal/SpinnerIcon/SpinnerIcon.styles.js +0 -9
- package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +0 -1
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -5
- package/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -7
- package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
- package/internal/TimeInput/TimeFragments.styles.d.ts +0 -20
- package/internal/TimeInput/TimeFragments.styles.js +0 -22
- 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 -9
- package/internal/TimeInput/TimeInput.styles.js.map +0 -1
- package/internal/icons2022/BaseIcon.styles.d.ts +0 -6
- package/internal/icons2022/BaseIcon.styles.js +0 -8
- package/internal/icons2022/BaseIcon.styles.js.map +0 -1
- package/lib/classNames.generated.d.ts +0 -1235
- package/lib/classNames.generated.js +0 -1233
- package/lib/classNames.generated.js.map +0 -1
- package/lib/styles/baselineCompensation.d.ts +0 -63
- package/lib/styles/baselineCompensation.js +0 -122
- package/lib/styles/baselineCompensation.js.map +0 -1
- package/lib/theming/declaredTheme.d.ts +0 -43
- package/lib/theming/declaredTheme.js +0 -56
- package/lib/theming/declaredTheme.js.map +0 -1
- package/lib/theming/hashString.d.ts +0 -19
- package/lib/theming/hashString.js +0 -52
- package/lib/theming/hashString.js.map +0 -1
- package/lib/theming/staticStyles.d.ts +0 -17
- package/lib/theming/staticStyles.js +0 -8
- package/lib/theming/staticStyles.js.map +0 -1
- package/lib/theming/staticThemeDelta.d.ts +0 -17
- package/lib/theming/staticThemeDelta.js +0 -37
- package/lib/theming/staticThemeDelta.js.map +0 -1
- package/lib/theming/staticThemeVars.d.ts +0 -21
- package/lib/theming/staticThemeVars.js +0 -35
- package/lib/theming/staticThemeVars.js.map +0 -1
- package/lib/theming/themeCssVarsClass.d.ts +0 -89
- package/lib/theming/themeCssVarsClass.js +0 -253
- package/lib/theming/themeCssVarsClass.js.map +0 -1
- package/lib/theming/themeCssVarsDelta.d.ts +0 -13
- package/lib/theming/themeCssVarsDelta.js +0 -67
- package/lib/theming/themeCssVarsDelta.js.map +0 -1
- package/lib/theming/themeToCssVars.d.ts +0 -47
- package/lib/theming/themeToCssVars.js +0 -861
- package/lib/theming/themeToCssVars.js.map +0 -1
- package/react-ui-tailwind.css +0 -544
- package/react-ui-themes.css +0 -8628
- package/react-ui-token-map.json +0 -9029
- package/react-ui.layer.css +0 -7778
- package/themes/dark-6-0.css +0 -1439
- package/themes/dark-6-0.scoped.css +0 -1439
- package/themes/dark-6-1.css +0 -1439
- package/themes/dark-6-1.scoped.css +0 -1439
- package/themes/dark.css +0 -1439
- package/themes/dark.scoped.css +0 -1439
- package/themes/light-6-0.css +0 -1437
- package/themes/light-6-0.scoped.css +0 -1437
- package/themes/light-6-1.css +0 -1437
- package/themes/light-6-1.scoped.css +0 -1437
- package/themes/light.css +0 -1437
- package/themes/light.scoped.css +0 -1437
package/README.md
CHANGED
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
[](https://tc.skbkontur.ru/project.html?projectId=FrontendInfrastructure_Packages_ReactUI&tab=projectOverview)
|
|
4
4
|
|
|
5
5
|
- [Как использовать](#как-использовать)
|
|
6
|
-
- [Стили отдельным файлом](#стили-отдельным-файлом)
|
|
7
|
-
- [Tailwind](#tailwind)
|
|
8
6
|
- [FAQ](#faq)
|
|
9
7
|
|
|
10
8
|
### Как использовать
|
|
@@ -23,101 +21,6 @@ const MyApp = () => (
|
|
|
23
21
|
);
|
|
24
22
|
```
|
|
25
23
|
|
|
26
|
-
### Стили отдельным файлом
|
|
27
|
-
|
|
28
|
-
**Подключать эти два файла обязательно.** Правила компонентов лежат в пакете обычным
|
|
29
|
-
CSS и в рантайме не вставляются — приложение, которое файл не подключит, получит
|
|
30
|
-
компоненты без единого правила:
|
|
31
|
-
|
|
32
|
-
```jsx harmony static
|
|
33
|
-
import '@skbkontur/react-ui/react-ui.css';
|
|
34
|
-
import '@skbkontur/react-ui/themes/light.css';
|
|
35
|
-
|
|
36
|
-
const MyApp = () => <App />;
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Настраивать ничего не надо: пропа `externalStyles` больше нет, как и `nonce`, `layer`
|
|
40
|
-
и `speedy`. Первый стал единственным поведением, остальные обслуживали вставку правил
|
|
41
|
-
в рантайме — её не осталось.
|
|
42
|
-
|
|
43
|
-
Если приложение подключило файл темы, стоит сказать об этом библиотеке: тогда она не
|
|
44
|
-
станет печатать блок переменных на корне каждого компонента, и переопределение с
|
|
45
|
-
`:root` начнёт доходить до правил.
|
|
46
|
-
|
|
47
|
-
```jsx harmony static
|
|
48
|
-
import { LIGHT_THEME, RenderEnvironmentProvider } from '@skbkontur/react-ui';
|
|
49
|
-
|
|
50
|
-
const MyApp = () => (
|
|
51
|
-
<RenderEnvironmentProvider rootTheme={LIGHT_THEME}>
|
|
52
|
-
<App />
|
|
53
|
-
</RenderEnvironmentProvider>
|
|
54
|
-
);
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
С ним в рантайме не создаётся ни одного правила и ни одного тега `<style>`.
|
|
58
|
-
|
|
59
|
-
Файлов два, потому что правила компонентов от темы не зависят, а объявления
|
|
60
|
-
переменных — это и есть тема:
|
|
61
|
-
|
|
62
|
-
| Что подключаете | Когда |
|
|
63
|
-
| ------------------------------------------- | -------------------------------------------------- |
|
|
64
|
-
| `@skbkontur/react-ui/react-ui.css` | обязательно: правила компонентов и шрифт |
|
|
65
|
-
| `@skbkontur/react-ui/react-ui.layer.css` | вместо предыдущего: тот же CSS в `@layer react-ui` |
|
|
66
|
-
| `@skbkontur/react-ui/themes/light.css` | `LIGHT_THEME`, то же для версий 6.1—6.3 |
|
|
67
|
-
| `@skbkontur/react-ui/themes/dark.css` | `DARK_THEME`, то же для версий 6.1—6.3 |
|
|
68
|
-
| `@skbkontur/react-ui/themes/light-6-0.css` | `LIGHT_THEME_6_0` |
|
|
69
|
-
| `@skbkontur/react-ui/themes/dark-6-0.css` | `DARK_THEME_6_0` |
|
|
70
|
-
| `@skbkontur/react-ui/react-ui-themes.css` | все темы сразу, если приложение их переключает |
|
|
71
|
-
| `@skbkontur/react-ui/react-ui-tailwind.css` | приложению на Tailwind: порядок слоёв и мост темы |
|
|
72
|
-
|
|
73
|
-
Слойный вариант нужен приложению, которому надо перебивать **состояния** библиотеки
|
|
74
|
-
(`:hover`, `:active` и подобные): правило вне слоёв побеждает любое правило внутри слоя
|
|
75
|
-
независимо от специфичности. Подключается вместо обычного файла, а не вместе с ним;
|
|
76
|
-
оговорки — на странице «Каскад» в документации.
|
|
77
|
-
|
|
78
|
-
### Tailwind
|
|
79
|
-
|
|
80
|
-
Приложению на Tailwind нужен слойный файл и одно объявление порядка слоёв — библиотека
|
|
81
|
-
обязана стоять между сбросом Tailwind и его утилитами. И то, и другое привозит
|
|
82
|
-
`react-ui-tailwind.css`, он же отдаёт цвета, радиусы и тени библиотеки как токены
|
|
83
|
-
Tailwind (`bg-kontur-bg-default`, `rounded-kontur-menu`):
|
|
84
|
-
|
|
85
|
-
```css static
|
|
86
|
-
@import '@skbkontur/react-ui/react-ui-tailwind.css';
|
|
87
|
-
@import '@skbkontur/react-ui/react-ui.layer.css';
|
|
88
|
-
@import '@skbkontur/react-ui/themes/light.css';
|
|
89
|
-
@import 'tailwindcss';
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Порядок импортов переставлять нельзя, и почему — на странице «Tailwind» в документации.
|
|
93
|
-
|
|
94
|
-
Рядом с файлами стилей лежит `@skbkontur/react-ui/react-ui-token-map.json` — карта «какой
|
|
95
|
-
класс какие переменные темы читает», собранная из самого `react-ui.css`. Нужна, чтобы
|
|
96
|
-
узнать, какую переменную крутить ради конкретного куска компонента; её же показывает
|
|
97
|
-
страница «Token Map» в документации.
|
|
98
|
-
|
|
99
|
-
Своя тема поверх поставляемой (`ThemeFactory.create({…}, LIGHT_THEME)`) файла не
|
|
100
|
-
требует: её отличия от базовой библиотека дописывает атрибутом `style` на корне
|
|
101
|
-
компонента. Тема, собранная с нуля, приедет правилом в рантайме, как и раньше.
|
|
102
|
-
|
|
103
|
-
Что это даёт:
|
|
104
|
-
|
|
105
|
-
- **CSP без послаблений.** Странице хватает `style-src 'self'`: ни
|
|
106
|
-
`'unsafe-inline'`, ни nonce не нужны.
|
|
107
|
-
- **Стриминг и серверные компоненты.** Нечего собирать из кеша Emotion и нечего
|
|
108
|
-
вставлять при `renderToPipeableStream`.
|
|
109
|
-
- **Свой контроль над CSS.** Файл проходит минификацию и кеширование приложения
|
|
110
|
-
наравне с остальными стилями.
|
|
111
|
-
|
|
112
|
-
Требования «настройка сервера и клиента должна совпадать» больше нет: настраивать
|
|
113
|
-
нечего, а имена классов заданы строками в словарях компонентов и от окружения не
|
|
114
|
-
зависят.
|
|
115
|
-
|
|
116
|
-
Библиотека **не импортирует CSS сама** — файлы лежат в пакете рядом и подключаются
|
|
117
|
-
приложением. Это нужно виджетам: обычный файл можно завернуть в constructed
|
|
118
|
-
stylesheet и изолировать. По той же причине библиотека, построенная поверх
|
|
119
|
-
react-ui, CSS не подключает и не переупаковывает — это делает приложение.
|
|
120
|
-
|
|
121
24
|
### StrictMode
|
|
122
25
|
|
|
123
26
|
Начиная с версий `@skbkontur/react-ui@3.10.0` и `@skbkontur/react-ui-validations@1.7.0`, библиотека поддерживает работу
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Autocomplete.css.js","sourceRoot":"","sources":["Autocomplete.css.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,6HAAA,+CAEC,EAAY,SACtB,KADU,CAAC,CAAC,UAAU,EACrB;QACJ,CAAC;QACD,QAAQ;YACN,OAAO,GAAG,sGAAA,mCAET,KAAC;QACJ,CAAC;KACF,CAAC;AAZ8D,CAY9D,CAAC,CAAC;AAEJ,oBAAoB,EAAE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n display: inline-block;\n width: ${t.inputWidth};\n `;\n },\n noPortal() {\n return css`\n position: relative;\n `;\n },\n}));\n\nfinalizeStaticStyles();\n"]}
|
|
@@ -64,7 +64,7 @@ import { Input } from '../Input/index.js';
|
|
|
64
64
|
import { MaskedInput, getSafeMaskInputType } from '../MaskedInput/index.js';
|
|
65
65
|
import { MenuItem } from '../MenuItem/index.js';
|
|
66
66
|
import { responsiveLayout } from '../ResponsiveLayout/decorator.js';
|
|
67
|
-
import { getStyles } from './Autocomplete.
|
|
67
|
+
import { getStyles } from './Autocomplete.css.js';
|
|
68
68
|
import { getAutocompleteTheme } from './getAutocompleteTheme.js';
|
|
69
69
|
import { AutocompleteLocaleHelper } from './locale/index.js';
|
|
70
70
|
function match(pattern, items) {
|
|
@@ -108,17 +108,12 @@ var Autocomplete = /** @class */ (function (_super) {
|
|
|
108
108
|
var _a;
|
|
109
109
|
var focused = _this.state.focused;
|
|
110
110
|
var isMobile = _this.isMobileLayout;
|
|
111
|
-
var onValueChange = props.onValueChange, onKeyDown = props.onKeyDown, onFocus = props.onFocus, onBlur = props.onBlur, _renderItem = props.renderItem, disablePortal = props.disablePortal, hasShadow = props.hasShadow, menuAlign = props.menuAlign, menuMaxHeight = props.menuMaxHeight, preventWindowScroll = props.preventWindowScroll, source = props.source, menuPos = props.menuPos,
|
|
111
|
+
var onValueChange = props.onValueChange, onKeyDown = props.onKeyDown, onFocus = props.onFocus, onBlur = props.onBlur, _renderItem = props.renderItem, disablePortal = props.disablePortal, hasShadow = props.hasShadow, menuAlign = props.menuAlign, menuMaxHeight = props.menuMaxHeight, preventWindowScroll = props.preventWindowScroll, source = props.source, menuPos = props.menuPos, _b = props.width, width = _b === void 0 ? _this.theme.inputWidth : _b, mobileMenuHeaderText = props.mobileMenuHeaderText, type = props.type, rest = __rest(props, ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "type"]);
|
|
112
112
|
var inputProps = __assign(__assign({}, rest), { width: '100%', autoComplete: 'off', 'aria-controls': _this.menuId, onValueChange: _this.handleValueChange, onKeyDown: _this.handleKeyDown, onFocus: _this.handleFocus, ref: _this.refInput });
|
|
113
113
|
return (React.createElement(RenderLayer, { onFocusOutside: _this.handleBlur, onClickOutside: _this.handleClickOutside, active: focused },
|
|
114
|
-
React.createElement("span", { "data-tid": AutocompleteDataTids.root, className: _this.cx(_this.styles.root(), (_a = {},
|
|
114
|
+
React.createElement("span", { "data-tid": AutocompleteDataTids.root, className: _this.cx(_this.styles.root(_this.theme), (_a = {},
|
|
115
115
|
_a[_this.styles.noPortal()] = disablePortal,
|
|
116
|
-
_a)),
|
|
117
|
-
// Инлайн только за пропом: ширину по умолчанию задаёт класс `root`
|
|
118
|
-
// ссылкой на `--kontur-inputWidth`. Раньше значение темы читалось в
|
|
119
|
-
// JS и уезжало в атрибут `style` — то есть приезжало литералом в
|
|
120
|
-
// серверную разметку и терялось под `style-src-attr 'none'`.
|
|
121
|
-
style: width === undefined ? undefined : { width: width }, ref: _this.refRootSpan },
|
|
116
|
+
_a)), style: { width: width }, ref: _this.refRootSpan },
|
|
122
117
|
_this.getInput(inputProps),
|
|
123
118
|
isMobile ? _this.renderMobileMenu() : _this.renderMenu())));
|
|
124
119
|
};
|
|
@@ -282,7 +277,7 @@ var Autocomplete = /** @class */ (function (_super) {
|
|
|
282
277
|
};
|
|
283
278
|
Autocomplete.prototype.render = function () {
|
|
284
279
|
var _this = this;
|
|
285
|
-
this.styles = getStyles();
|
|
280
|
+
this.styles = getStyles(this.emotion);
|
|
286
281
|
return (React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
287
282
|
_this.theme = getAutocompleteTheme(theme);
|
|
288
283
|
return (React.createElement(ThemeContext.Provider, { value: _this.theme },
|
|
@@ -306,10 +301,6 @@ var Autocomplete = /** @class */ (function (_super) {
|
|
|
306
301
|
Autocomplete.prototype.renderMenu = function () {
|
|
307
302
|
var items = this.state.items;
|
|
308
303
|
var _a = this.getProps(), menuPos = _a.menuPos, menuAlign = _a.menuAlign, menuMaxHeight = _a.menuMaxHeight, hasShadow = _a.hasShadow, menuWidth = _a.menuWidth, width = _a.width, preventWindowScroll = _a.preventWindowScroll, disablePortal = _a.disablePortal;
|
|
309
|
-
// Меню равняется по ширине поля, только если ширину задали пропом. Иначе
|
|
310
|
-
// она остаётся авто, и меню растягивается по содержимому — так было и до
|
|
311
|
-
// перевода ширины по умолчанию в CSS: дефолт из темы подставлялся в
|
|
312
|
-
// локальной деструктуризации `renderMain`, а сюда приходил `undefined`.
|
|
313
304
|
var calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;
|
|
314
305
|
var menuProps = {
|
|
315
306
|
ref: this.refMenu,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sourceRoot":"","sources":["Autocomplete.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { Menu } from '../../internal/Menu/index.js';\nimport { MenuMessage } from '../../internal/MenuMessage/index.js';\nimport { MobilePopup } from '../../internal/MobilePopup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { getDOMRect } from '../../lib/dom/getDOMRect.js';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { ClassNames } from '../../lib/theming/Emotion.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 { SizeProp } from '../../lib/types/props.js';\nimport { getRandomID, isNullable } from '../../lib/utils.js';\nimport type { Nullable, Override } from '../../typings/utility-types.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/index.js';\nimport { MaskedInput, type MaskedProps, getSafeMaskInputType } from '../MaskedInput/index.js';\nimport { MenuItem } from '../MenuItem/index.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport { getStyles } from './Autocomplete.styles.js';\nimport { getAutocompleteTheme } from './getAutocompleteTheme.js';\nimport type { AutocompleteLocale } from './locale/index.js';\nimport { AutocompleteLocaleHelper } from './locale/index.js';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n Override<\n Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n {\n /** Отрисовывает элементы результата поиска. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** По умолчанию выпадающий список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего списка. */\n hasShadow?: boolean;\n\n /** Выравнивание выпадающего списка. */\n menuAlign?: 'left' | 'right';\n\n /** Максимальная высота выпадающего списка. */\n menuMaxHeight?: number | string;\n\n /** Ширина выпадающего списка. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда выпадающий список раскрыт. */\n preventWindowScroll?: boolean;\n\n /** Событие изменения `value`. */\n onValueChange: (value: string) => void;\n\n /** Событие потери автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Размер автокомплита. */\n size?: SizeProp;\n\n /** Значение автокомплита. */\n value: string;\n\n /** Текст заголовка выпадающего списка в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /** Расположение выпадающего списка — над или под полем. */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<AutocompleteProps, 'renderItem' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>\n>;\n\n/**\n * Автокомплит — поле ввода с выпадающим списком подсказок. Подсказки отображаются пользователю, когда он начинает вводить значение в поле. */\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\n@withSize\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private cx!: ClassNames;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /** Программно устанавливает фокус на автокомплит.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>\n */\n public focus(): void {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /** Программно снимает фокус с автокомплита.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>\n */\n public blur(): void {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles();\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>): React.JSX.Element => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width,\n mobileMenuHeaderText,\n type,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n 'aria-controls': this.menuId,\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={this.cx(this.styles.root(), {\n [this.styles.noPortal()]: disablePortal,\n })}\n // Инлайн только за пропом: ширину по умолчанию задаёт класс `root`\n // ссылкой на `--kontur-inputWidth`. Раньше значение темы читалось в\n // JS и уезжало в атрибут `style` — то есть приезжало литералом в\n // серверную разметку и терялось под `style-src-attr 'none'`.\n style={width === undefined ? undefined : { width }}\n ref={this.refRootSpan}\n >\n {this.getInput(inputProps)}\n\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n const themeDependantProps = isThemeGTE(this.theme, '6.1') ? { size: this.size } : {};\n\n if (!this.props.value) {\n return <MenuMessage {...themeDependantProps}>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage {...themeDependantProps}>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage {...themeDependantProps}>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n // Меню равняется по ширине поля, только если ширину задали пропом. Иначе\n // она остаётся авто, и меню растягивается по содержимому — так было и до\n // перевода ширины по умолчанию в CSS: дефолт из темы подставлялся в\n // локальной деструктуризации `renderMain`, а сюда приходил `undefined`.\n const calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: calculatedMenuWidth,\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private getInput = (inputProps: InputProps) => {\n return this.props.mask ? (\n <MaskedInput\n {...inputProps}\n type={getSafeMaskInputType(this.props.type)}\n mask={this.props.mask}\n maskChar={this.props.maskChar}\n />\n ) : (\n <Input {...inputProps} />\n );\n };\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n type: this.props.type,\n inputMode: this.props.inputMode,\n 'aria-label': this.props['aria-label'],\n 'aria-controls': this.menuId,\n size: isThemeGTE(this.theme, '6.1') ? this.size : undefined,\n };\n\n const items = this.state.items;\n\n const themeDependantProps = isThemeGTE(this.theme, '6.1')\n ? {\n footerChildComponent: this.getInput(inputProps),\n size: this.size,\n }\n : {\n headerChildComponent: this.getInput(inputProps),\n };\n\n return (\n <MobilePopup\n id={this.menuId}\n {...themeDependantProps}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = () => {\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n\n // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.\n // Можно будет убрать после полного перехода на MaskedInput\n setTimeout(() => {\n this.blur();\n }, 0);\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sourceRoot":"","sources":["Autocomplete.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { Menu } from '../../internal/Menu/index.js';\nimport { MenuMessage } from '../../internal/MenuMessage/index.js';\nimport { MobilePopup } from '../../internal/MobilePopup/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { getDOMRect } from '../../lib/dom/getDOMRect.js';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.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 { SizeProp } from '../../lib/types/props.js';\nimport { getRandomID, isNullable } from '../../lib/utils.js';\nimport type { Nullable, Override } from '../../typings/utility-types.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/index.js';\nimport { MaskedInput, type MaskedProps, getSafeMaskInputType } from '../MaskedInput/index.js';\nimport { MenuItem } from '../MenuItem/index.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport { getStyles } from './Autocomplete.css.js';\nimport { getAutocompleteTheme } from './getAutocompleteTheme.js';\nimport type { AutocompleteLocale } from './locale/index.js';\nimport { AutocompleteLocaleHelper } from './locale/index.js';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n Override<\n Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n {\n /** Отрисовывает элементы результата поиска. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** По умолчанию выпадающий список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего списка. */\n hasShadow?: boolean;\n\n /** Выравнивание выпадающего списка. */\n menuAlign?: 'left' | 'right';\n\n /** Максимальная высота выпадающего списка. */\n menuMaxHeight?: number | string;\n\n /** Ширина выпадающего списка. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда выпадающий список раскрыт. */\n preventWindowScroll?: boolean;\n\n /** Событие изменения `value`. */\n onValueChange: (value: string) => void;\n\n /** Событие потери автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Размер автокомплита. */\n size?: SizeProp;\n\n /** Значение автокомплита. */\n value: string;\n\n /** Текст заголовка выпадающего списка в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /** Расположение выпадающего списка — над или под полем. */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<AutocompleteProps, 'renderItem' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>\n>;\n\n/**\n * Автокомплит — поле ввода с выпадающим списком подсказок. Подсказки отображаются пользователю, когда он начинает вводить значение в поле. */\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\n@withSize\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private size!: SizeProp;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /** Программно устанавливает фокус на автокомплит.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>\n */\n public focus(): void {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /** Программно снимает фокус с автокомплита.\n * @public\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>\n */\n public blur(): void {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\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 = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>): React.JSX.Element => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n type,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n 'aria-controls': this.menuId,\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={this.cx(this.styles.root(this.theme), {\n [this.styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n {this.getInput(inputProps)}\n\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n const themeDependantProps = isThemeGTE(this.theme, '6.1') ? { size: this.size } : {};\n\n if (!this.props.value) {\n return <MenuMessage {...themeDependantProps}>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage {...themeDependantProps}>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage {...themeDependantProps}>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: calculatedMenuWidth,\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private getInput = (inputProps: InputProps) => {\n return this.props.mask ? (\n <MaskedInput\n {...inputProps}\n type={getSafeMaskInputType(this.props.type)}\n mask={this.props.mask}\n maskChar={this.props.maskChar}\n />\n ) : (\n <Input {...inputProps} />\n );\n };\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n type: this.props.type,\n inputMode: this.props.inputMode,\n 'aria-label': this.props['aria-label'],\n 'aria-controls': this.menuId,\n size: isThemeGTE(this.theme, '6.1') ? this.size : undefined,\n };\n\n const items = this.state.items;\n\n const themeDependantProps = isThemeGTE(this.theme, '6.1')\n ? {\n footerChildComponent: this.getInput(inputProps),\n size: this.size,\n }\n : {\n headerChildComponent: this.getInput(inputProps),\n };\n\n return (\n <MobilePopup\n id={this.menuId}\n {...themeDependantProps}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = () => {\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n\n // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.\n // Можно будет убрать после полного перехода на MaskedInput\n setTimeout(() => {\n this.blur();\n }, 0);\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { Theme } from '../../lib/theming/Theme.js';
|
|
2
|
+
import { globalClasses } from './Button.classes.js';
|
|
3
|
+
export { globalClasses };
|
|
4
|
+
export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
|
|
5
|
+
root(t: Theme): string;
|
|
6
|
+
withArrowIconRightSmall(t: Theme): string;
|
|
7
|
+
withArrowIconRightMedium(t: Theme): string;
|
|
8
|
+
withArrowIconRightLarge(t: Theme): string;
|
|
9
|
+
withArrowIconLeftSmall(t: Theme): string;
|
|
10
|
+
withArrowIconLeftMedium(t: Theme): string;
|
|
11
|
+
withArrowIconLeftLarge(t: Theme): string;
|
|
12
|
+
simulatedPress(): string;
|
|
13
|
+
/** @deprecated */
|
|
14
|
+
outlineDefault(): string;
|
|
15
|
+
/** @deprecated */
|
|
16
|
+
outlineWarning(t: Theme): string;
|
|
17
|
+
/** @deprecated */
|
|
18
|
+
outlineError(t: Theme): string;
|
|
19
|
+
/** @deprecated */
|
|
20
|
+
outlineLink(): string;
|
|
21
|
+
/** @deprecated */
|
|
22
|
+
outlineLinkWarning(t: Theme): string;
|
|
23
|
+
/** @deprecated */
|
|
24
|
+
outlineLinkError(t: Theme): string;
|
|
25
|
+
sizeSmall(t: Theme): string;
|
|
26
|
+
sizeMedium(t: Theme): string;
|
|
27
|
+
sizeLarge(t: Theme): string;
|
|
28
|
+
sizeSmallWithIcon(t: Theme): string;
|
|
29
|
+
sizeMediumWithIcon(t: Theme): string;
|
|
30
|
+
sizeLargeWithIcon(t: Theme): string;
|
|
31
|
+
sizeSmallWithRightIcon(t: Theme): string;
|
|
32
|
+
sizeMediumWithRightIcon(t: Theme): string;
|
|
33
|
+
sizeLargeWithRightIcon(t: Theme): string;
|
|
34
|
+
sizeSmallWithIconWithoutText(t: Theme): string;
|
|
35
|
+
sizeMediumWithIconWithoutText(t: Theme): string;
|
|
36
|
+
sizeLargeWithIconWithoutText(t: Theme): string;
|
|
37
|
+
/** @deprecated */
|
|
38
|
+
link(t: Theme): string;
|
|
39
|
+
/** @deprecated */
|
|
40
|
+
linkLineHeight(): string;
|
|
41
|
+
/** @deprecated */
|
|
42
|
+
linkLineHeightSafariFallback(): string;
|
|
43
|
+
/** @deprecated */
|
|
44
|
+
linkFocus(t: Theme): string;
|
|
45
|
+
/** @deprecated */
|
|
46
|
+
linkDisabled(t: Theme): string;
|
|
47
|
+
focus(t: Theme): string;
|
|
48
|
+
disabled(t: Theme): string;
|
|
49
|
+
disabledWithoutOutline(t: Theme): string;
|
|
50
|
+
arrowIconRoot(): string;
|
|
51
|
+
arrowIconRootSmall(t: Theme): string;
|
|
52
|
+
arrowIconRootMedium(t: Theme): string;
|
|
53
|
+
arrowIconRootLarge(t: Theme): string;
|
|
54
|
+
arrowIconLeft(): string;
|
|
55
|
+
default(t: Theme): string;
|
|
56
|
+
accent(t: Theme): string;
|
|
57
|
+
success(t: Theme): string;
|
|
58
|
+
danger(t: Theme): string;
|
|
59
|
+
pay(t: Theme): string;
|
|
60
|
+
text(t: Theme): string;
|
|
61
|
+
outline(t: Theme): string;
|
|
62
|
+
fill(t: Theme): string;
|
|
63
|
+
checked(t: Theme): string;
|
|
64
|
+
checkedFocused(t: Theme): string;
|
|
65
|
+
checkedDisabled(t: Theme): string;
|
|
66
|
+
caption(): string;
|
|
67
|
+
captionLink(): string;
|
|
68
|
+
captionDisabled(): string;
|
|
69
|
+
wrap(t: Theme): string;
|
|
70
|
+
wrapSmall(t: Theme): string;
|
|
71
|
+
wrapMedium(t: Theme): string;
|
|
72
|
+
wrapLarge(t: Theme): string;
|
|
73
|
+
/** @deprecated */
|
|
74
|
+
narrow(): string;
|
|
75
|
+
noPadding(): string;
|
|
76
|
+
noRightPadding(): string;
|
|
77
|
+
wrapLink(): string;
|
|
78
|
+
/** @deprecated */
|
|
79
|
+
borderless(): string;
|
|
80
|
+
backlessDisabled(t: Theme): string;
|
|
81
|
+
textDisabled(): string;
|
|
82
|
+
loading(): string;
|
|
83
|
+
visibilityHidden(): string;
|
|
84
|
+
}>;
|
|
85
|
+
export declare const getActiveStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
|
|
86
|
+
default(t: Theme): string;
|
|
87
|
+
accent(t: Theme): string;
|
|
88
|
+
success(t: Theme): string;
|
|
89
|
+
danger(t: Theme): string;
|
|
90
|
+
pay(t: Theme): string;
|
|
91
|
+
link(t: Theme): string;
|
|
92
|
+
text(t: Theme): string;
|
|
93
|
+
outline(t: Theme): string;
|
|
94
|
+
fill(t: Theme): string;
|
|
95
|
+
}>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
|
|
3
|
+
export var getActiveStyles = _b9cd9({'default':'react-ui-Button__default-2',accent:'react-ui-Button__accent-2',success:'react-ui-Button__success-2',danger:'react-ui-Button__danger-2',pay:'react-ui-Button__pay-2',link:'react-ui-Button__link-2',text:'react-ui-Button__text-2',outline:'react-ui-Button__outline-2',fill:'react-ui-Button__fill-2'});
|
|
4
|
+
export var getStyles = _b9cd9({root:'react-ui-Button__root',simulatedPress:'react-ui-Button__simulatedPress',outlineDefault:'react-ui-Button__outlineDefault',outlineWarning:'react-ui-Button__outlineWarning',outlineError:'react-ui-Button__outlineError',outlineLink:'react-ui-Button__outlineLink',outlineLinkWarning:'react-ui-Button__outlineLinkWarning',outlineLinkError:'react-ui-Button__outlineLinkError',sizeSmall:'react-ui-Button__sizeSmall',sizeMedium:'react-ui-Button__sizeMedium',sizeLarge:'react-ui-Button__sizeLarge',sizeSmallWithIcon:'react-ui-Button__sizeSmallWithIcon',sizeMediumWithIcon:'react-ui-Button__sizeMediumWithIcon',sizeLargeWithIcon:'react-ui-Button__sizeLargeWithIcon',sizeSmallWithRightIcon:'react-ui-Button__sizeSmallWithRightIcon',sizeMediumWithRightIcon:'react-ui-Button__sizeMediumWithRightIcon',sizeLargeWithRightIcon:'react-ui-Button__sizeLargeWithRightIcon',sizeSmallWithIconWithoutText:'react-ui-Button__sizeSmallWithIconWithoutText',sizeMediumWithIconWithoutText:'react-ui-Button__sizeMediumWithIconWithoutText',sizeLargeWithIconWithoutText:'react-ui-Button__sizeLargeWithIconWithoutText',link:'react-ui-Button__link',linkLineHeight:'react-ui-Button__linkLineHeight',linkLineHeightSafariFallback:'react-ui-Button__linkLineHeightSafariFallback',linkFocus:'react-ui-Button__linkFocus',linkDisabled:'react-ui-Button__linkDisabled',arrowIconRoot:'react-ui-Button__arrowIconRoot',arrowIconRootSmall:'react-ui-Button__arrowIconRootSmall',arrowIconRootMedium:'react-ui-Button__arrowIconRootMedium',arrowIconRootLarge:'react-ui-Button__arrowIconRootLarge',arrowIconLeft:'react-ui-Button__arrowIconLeft','default':'react-ui-Button__default',accent:'react-ui-Button__accent',success:'react-ui-Button__success',danger:'react-ui-Button__danger',pay:'react-ui-Button__pay',text:'react-ui-Button__text',outline:'react-ui-Button__outline',fill:'react-ui-Button__fill',caption:'react-ui-Button__caption',wrap:'react-ui-Button__wrap',wrapSmall:'react-ui-Button__wrapSmall',wrapMedium:'react-ui-Button__wrapMedium',wrapLarge:'react-ui-Button__wrapLarge',narrow:'react-ui-Button__narrow',noPadding:'react-ui-Button__noPadding',noRightPadding:'react-ui-Button__noRightPadding',wrapLink:'react-ui-Button__wrapLink',loading:'react-ui-Button__loading',visibilityHidden:'react-ui-Button__visibilityHidden',withArrowIconRightSmall:'react-ui-Button__withArrowIconRightSmall',withArrowIconRightMedium:'react-ui-Button__withArrowIconRightMedium',withArrowIconRightLarge:'react-ui-Button__withArrowIconRightLarge',withArrowIconLeftSmall:'react-ui-Button__withArrowIconLeftSmall',withArrowIconLeftMedium:'react-ui-Button__withArrowIconLeftMedium',withArrowIconLeftLarge:'react-ui-Button__withArrowIconLeftLarge',focus:'react-ui-Button__focus',checked:'react-ui-Button__checked',checkedFocused:'react-ui-Button__checkedFocused',disabled:'react-ui-Button__disabled',disabledWithoutOutline:'react-ui-Button__disabledWithoutOutline',checkedDisabled:'react-ui-Button__checkedDisabled',borderless:'react-ui-Button__borderless',backlessDisabled:'react-ui-Button__backlessDisabled',textDisabled:'react-ui-Button__textDisabled',captionLink:'react-ui-Button__captionLink',captionDisabled:'react-ui-Button__captionDisabled'});
|
|
5
|
+
export var globalClasses = {root:'react-ui-button-root',arrow:'react-ui-button-arrow',caption:'react-ui-button-caption',text:'react-ui-button-text',innerShadow:'react-ui-button-inner-shadow',disabled:'react-ui-button-disabled'};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.css.js","sourceRoot":"","sources":["Button.css.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton, resetText } from '../../lib/styles/Mixins.js';\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { globalClasses } from './Button.classes.js';\nimport { buttonActiveMixin, buttonHoverMixin, buttonSizeMixin, buttonUseMixin } from './Button.mixins.js';\n\nexport { globalClasses };\n\nexport const getStyles = memoizeGetStyles((emotion: Emotion) => {\n const activeStyles = getActiveStyles(emotion);\n return {\n root(t: Theme) {\n return emotion.css`\n ${resetButton()};\n ${resetText()};\n\n transition: background-color ${t.transitionDuration} ${t.transitionTimingFunction}\n ${t.btnBorderColorTransition ? `, ${t.btnBorderColorTransition}` : ''};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n height: 100%;\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:hover svg {\n color: ${t.btnIconHoverColor};\n }\n &.${globalClasses.disabled} svg {\n color: ${t.btnIconDisabledColor};\n }\n & svg {\n color: ${t.btnIconColor};\n }\n `;\n },\n\n withArrowIconRightSmall(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeSmall} + ${t.btnWithIconPaddingSmall} + ${t.btnWithIconPaddingSmall});\n `;\n },\n\n withArrowIconRightMedium(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeMedium} + ${t.btnWithIconPaddingMedium} + ${t.btnWithIconPaddingMedium});\n `;\n },\n\n withArrowIconRightLarge(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeLarge} + ${t.btnWithIconPaddingLarge} + ${t.btnWithIconPaddingLarge});\n `;\n },\n\n withArrowIconLeftSmall(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeSmall} + ${t.btnWithIconPaddingSmall} + ${t.btnWithIconPaddingSmall});\n `;\n },\n\n withArrowIconLeftMedium(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeMedium} + ${t.btnWithIconPaddingMedium} + ${t.btnWithIconPaddingMedium});\n `;\n },\n\n withArrowIconLeftLarge(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeLarge} + ${t.btnWithIconPaddingLarge} + ${t.btnWithIconPaddingLarge});\n `;\n },\n\n simulatedPress() {\n return emotion.css`\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n /** @deprecated */\n outlineDefault() {\n return emotion.css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n /** @deprecated */\n outlineWarning(t: Theme) {\n return emotion.css`\n box-shadow:\n 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n /** @deprecated */\n outlineError(t: Theme) {\n return emotion.css`\n box-shadow:\n 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n /** @deprecated */\n outlineLink() {\n return emotion.css`\n cursor: default;\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n top: -2px;\n `;\n },\n\n /** @deprecated */\n outlineLinkWarning(t: Theme) {\n return emotion.css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n /** @deprecated */\n outlineLinkError(t: Theme) {\n return emotion.css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(t.btnFontSizeSmall, t.btnLineHeightSmall, t.btnPaddingXSmall, t.btnPaddingYSmall)};\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(t.btnFontSizeMedium, t.btnLineHeightMedium, t.btnPaddingXMedium, t.btnPaddingYMedium)};\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(t.btnFontSizeLarge, t.btnLineHeightLarge, t.btnPaddingXLarge, t.btnPaddingYLarge)};\n `;\n },\n\n sizeSmallWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n sizeSmallWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n sizeSmallWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingSmall};\n padding-right: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingMedium};\n padding-right: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingLarge};\n padding-right: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n /** @deprecated */\n link(t: Theme) {\n return emotion.css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover:enabled,\n &:active:enabled {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n\n &:active:enabled {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n /** @deprecated */\n linkLineHeight() {\n return emotion.css`\n line-height: inherit !important; // override size mixin\n `;\n },\n\n /** @deprecated */\n linkLineHeightSafariFallback() {\n return emotion.css`\n /* Safari overrides 'underline' and 'border' if 'line-height' is used */\n margin: -1px 0 -2px;\n `;\n },\n\n /** @deprecated */\n linkFocus(t: Theme) {\n return emotion.css`\n & {\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n `;\n },\n\n /** @deprecated */\n linkDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n\n &,\n &:hover:enabled,\n &:active:enabled {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover:enabled,\n &:active:enabled,\n &:active:hover:enabled {\n box-shadow:\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus} !important; // override root:hover style\n }\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n `;\n },\n\n disabledWithoutOutline(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBg};\n `;\n },\n\n arrowIconRoot() {\n return emotion.css`\n position: absolute;\n height: 100%;\n top: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: content-box;\n `;\n },\n\n arrowIconRootSmall(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingSmall} 0 ${t.btnWithIconPaddingSmall};\n width: ${t.btnIconSizeSmall};\n `;\n },\n\n arrowIconRootMedium(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingMedium} 0 ${t.btnWithIconPaddingMedium};\n width: ${t.btnIconSizeMedium};\n `;\n },\n\n arrowIconRootLarge(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingLarge} 0 ${t.btnWithIconPaddingLarge};\n width: ${t.btnIconSizeLarge};\n `;\n },\n\n arrowIconLeft() {\n return emotion.css`\n left: 0;\n `;\n },\n\n default(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverTextColor,\n t.btnDefaultHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.default(t)};\n }\n `;\n },\n\n accent(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverTextColor,\n t.btnPrimaryHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.accent(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverTextColor,\n t.btnSuccessHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverTextColor,\n t.btnDangerHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverTextColor,\n t.btnPayHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n text(t: Theme) {\n return emotion.css`\n &,\n &:enabled,\n &:hover {\n box-shadow: none;\n }\n\n ${buttonUseMixin(t.btnTextBg, '', '', t.btnTextTextColor, t.btnTextBorderColor, t.btnBorderWidth)};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnTextHoverBg,\n '',\n '',\n t.btnTextHoverTextColor,\n t.btnTextHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.text(t)}\n }\n `;\n },\n\n outline(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(t.btnBacklessBg, '', '', t.btnBacklessTextColor, t.btnBacklessBorderColor, t.btnBorderWidth)};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnBacklessHoverBg,\n '',\n '',\n t.btnBacklessHoverTextColor,\n t.btnBacklessHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.outline(t)}\n }\n `;\n },\n\n fill(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(t.btnFillBg, '', '', t.btnDefaultTextColor, '', '')};\n\n &:hover {\n ${buttonHoverMixin(t.btnFillHoverBg, '', '', t.btnDefaultHoverTextColor, '', '')};\n }\n\n &:active {\n ${activeStyles.fill(t)};\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor} !important;\n background-color: ${t.btnCheckedBg} !important;\n color: ${t.btnCheckedTextColor} !important;\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\n\n :enabled svg {\n color: ${t.btnCheckedTextColor} !important;\n }\n :hover:enabled svg {\n color: ${t.btnCheckedTextColor} !important;\n }\n `;\n\n return emotion.css`\n ${checkedStyles}\n\n &:hover:enabled,\n &:active:enabled,\n &:hover:active:enabled {\n ${checkedStyles}\n }\n `;\n },\n\n checkedFocused(t: Theme) {\n return emotion.css`\n &:hover:enabled,\n &:hover:active:enabled {\n box-shadow:\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus} !important;\n border-color: ${t.btnBorderColorFocus} !important;\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\n\n svg {\n color: ${t.btnCheckedDisabledColor} !important;\n }\n `;\n },\n\n caption() {\n return emotion.css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return emotion.css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionDisabled() {\n return emotion.css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap(t: Theme) {\n return emotion.css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightLarge};\n `;\n },\n\n /** @deprecated */\n narrow() {\n return emotion.css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return emotion.css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return emotion.css`\n padding-right: 0;\n `;\n },\n\n wrapLink() {\n return emotion.css`\n padding: 0;\n `;\n },\n\n /** @deprecated */\n borderless() {\n return emotion.css`\n &,\n &:active:hover,\n &:hover {\n box-shadow: none !important; // override root:hover style\n }\n `;\n },\n\n backlessDisabled(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 1px ${t.btnBacklessDisabledBorderColor};\n background-color: transparent;\n `;\n },\n\n textDisabled() {\n return emotion.css`\n background-color: transparent;\n `;\n },\n\n loading() {\n return emotion.css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return emotion.css`\n visibility: hidden;\n `;\n },\n };\n});\n\nexport const getActiveStyles = memoizeGetStyles(({ css }: Emotion) => ({\n default(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n accent(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnBorderWidth)};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n & {\n color: ${t.btnLinkActiveColor};\n }\n `;\n },\n\n text(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnTextActiveBg, '', t.btnTextActiveBg, t.btnBorderWidth)};\n }\n `;\n },\n\n outline(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnBacklessActiveBg, '', t.btnBacklessActiveBorderColor, t.btnBorderWidth)};\n }\n `;\n },\n\n fill(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnFillActiveBg, '', '', '')};\n }\n `;\n },\n}));\n\nfinalizeStaticStyles([\n 'withArrowIconRightSmall',\n 'withArrowIconRightMedium',\n 'withArrowIconRightLarge',\n 'withArrowIconLeftSmall',\n 'withArrowIconLeftMedium',\n 'withArrowIconLeftLarge',\n 'focus',\n 'checked',\n 'checkedFocused',\n 'disabled',\n 'disabledWithoutOutline',\n 'checkedDisabled',\n 'borderless',\n 'backlessDisabled',\n 'textDisabled',\n 'captionLink',\n 'captionDisabled',\n]);\n"]}
|
|
@@ -119,6 +119,7 @@ export declare class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DE
|
|
|
119
119
|
focusedByTab: boolean;
|
|
120
120
|
};
|
|
121
121
|
private globalObject;
|
|
122
|
+
private emotion;
|
|
122
123
|
private cx;
|
|
123
124
|
private styles;
|
|
124
125
|
private activeStyles;
|
|
@@ -144,21 +145,6 @@ export declare class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DE
|
|
|
144
145
|
private getTabIndex;
|
|
145
146
|
private renderMain;
|
|
146
147
|
private renderIcon2022;
|
|
147
|
-
/**
|
|
148
|
-
* Классы use-стиля: базовый плюс варианты, выбранные по значениям темы.
|
|
149
|
-
*
|
|
150
|
-
* Все решения по теме собраны здесь — в стилях их нет вовсе. В стилевом файле
|
|
151
|
-
* значения приходят строками `var(--kontur-*)`, и сравнение сравнивало бы имена
|
|
152
|
-
* переменных, а не цвета; поэтому сравниваются значения объекта темы, а класс
|
|
153
|
-
* с готовым содержимым только выбирается — как для `checked` или `disabled`.
|
|
154
|
-
*
|
|
155
|
-
* Обе ветки рисовать всегда нельзя: `linear-gradient(none, none)` при равных
|
|
156
|
-
* `BgStart` и `BgEnd` — невалидное значение, а второй слой тени полупрозрачным
|
|
157
|
-
* цветом (у `use="text"` цвет границы и фона совпадают) удваивает альфу.
|
|
158
|
-
*
|
|
159
|
-
* Порядок в массиве — порядок объявлений в слитом классе: вариант идёт сразу
|
|
160
|
-
* за базовым классом и перебивает его при равном весе.
|
|
161
|
-
*/
|
|
162
148
|
private getUseStyle;
|
|
163
149
|
private getSizeClassName;
|
|
164
150
|
private getSizeWrapClassName;
|