@skbkontur/react-ui 4.0.6 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +53 -0
- package/README.md +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +8 -4
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +1 -5
- package/cjs/components/Button/Button.js +4 -12
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
- package/cjs/components/Checkbox/Checkbox.js +29 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/cjs/components/Checkbox/Checkbox.styles.js +27 -24
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +15 -7
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
- package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +5 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +12 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
- package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +8 -5
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
- package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +4 -3
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.js +3 -5
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
- package/cjs/components/Group/Group.js +74 -31
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +1 -5
- package/cjs/components/Input/Input.js +14 -21
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +2 -13
- package/cjs/components/Kebab/Kebab.js +5 -29
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/Modal/Modal.js +2 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.js +10 -6
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +1 -1
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +13 -3
- package/cjs/components/Paging/Paging.js +15 -4
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
- package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
- package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
- package/cjs/components/PasswordInput/PasswordInput.js +23 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
- package/cjs/components/PasswordInput/PasswordInputIcon.js +15 -0
- package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
- package/cjs/components/Radio/Radio.styles.js +4 -7
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/Select/Select.js +33 -15
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +2 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +0 -1
- package/cjs/components/Spinner/Spinner.js +1 -5
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.js +2 -2
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +2 -2
- package/cjs/components/Textarea/Textarea.js +6 -6
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
- package/cjs/components/Textarea/TextareaCounter.js +15 -6
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +1 -1
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
- package/cjs/components/Toast/ToastView.styles.js +3 -2
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +1 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.styles.js +12 -10
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/Token/Token.js +14 -2
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.styles.js +13 -6
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
- package/cjs/components/TokenInput/TokenInput.js +30 -12
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +5 -2
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +2 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useDrop.js +3 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/Calendar/Calendar.js +3 -3
- package/cjs/internal/Calendar/Calendar.js.map +1 -1
- package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
- package/cjs/internal/Calendar/MonthViewModel.js +36 -17
- package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -3
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +22 -11
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +5 -12
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
- package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
- package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
- package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
- package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
- package/cjs/internal/MaskedInput/MaskedInput.js +9 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +14 -18
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.js +5 -3
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -0
- package/cjs/internal/Popup/Popup.js +8 -9
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +13 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/validatePositions.js +6 -6
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +11 -19
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.js +6 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
- package/cjs/internal/ThemePlayground/constants.js +3 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +19 -19
- package/cjs/internal/icons/16px/index.js +45 -38
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/icons/20px/svg.js +6 -0
- package/cjs/internal/icons/20px/svg.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +20 -1
- package/cjs/internal/themes/DefaultTheme.js +40 -5
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/NotFlat.d.ts +6 -0
- package/cjs/internal/themes/NotFlat.js +12 -2
- package/cjs/internal/themes/NotFlat.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +66 -0
- package/cjs/internal/themes/Theme2022.js +100 -0
- package/cjs/internal/themes/Theme2022.js.map +1 -0
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
- package/cjs/internal/themes/Theme2022Dark.js +9 -0
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
- package/cjs/lib/animation/index.d.ts +1 -1
- package/cjs/lib/animation/index.js +3 -3
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/date/InternalDate.js +23 -9
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateCalculator.js +16 -2
- package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +27 -7
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.js +11 -2
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +52 -17
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/types.d.ts +4 -0
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +5 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/extractCode.js +7 -5
- package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
- package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
- package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
- package/cjs/lib/rootNode/getRootNode.js +37 -8
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +11 -2
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/stringUtils.js +3 -1
- package/cjs/lib/stringUtils.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +9 -9
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
- package/cjs/lib/styles/ColorHelpers.js +33 -10
- package/cjs/lib/styles/ColorHelpers.js.map +1 -1
- package/cjs/lib/styles/ColorObject.js +3 -2
- package/cjs/lib/styles/ColorObject.js.map +1 -1
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +5 -2
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.js +5 -1
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.js +7 -2
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
- package/cjs/lib/theming/themes/Theme2022.js +6 -0
- package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
- package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
- package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
- package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
- package/cjs/lib/utils.d.ts +15 -0
- package/cjs/lib/utils.js +45 -9
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +6 -5
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Button/Button/Button.js +4 -10
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -5
- package/components/Checkbox/Checkbox/Checkbox.js +29 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +5 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +22 -18
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -7
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
- package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +9 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +16 -10
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
- package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
- package/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
- package/components/FileUploader/FileUploader/FileUploader.js +9 -7
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +3 -2
- package/components/Gapped/Gapped/Gapped.js +4 -3
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -7
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
- package/components/Group/Group/Group.js +62 -30
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Input/Input/Input.js +7 -25
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +1 -5
- package/components/Kebab/Kebab/Kebab.js +3 -13
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +2 -13
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/Modal/Modal/Modal.js +2 -1
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +4 -4
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Paging/Paging/Paging.js +13 -14
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +13 -3
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
- package/components/Paging/PagingDefaultComponent/package.json +6 -0
- package/components/Paging/PagingDefaultComponent.d.ts +9 -0
- package/components/PasswordInput/PasswordInput/PasswordInput.js +27 -8
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +2 -0
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +15 -0
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
- package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
- package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
- package/components/Radio/Radio.styles/Radio.styles.js +2 -1
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +2 -2
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/Select/Select/Select.js +31 -15
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +2 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +6 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +0 -1
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +6 -6
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +2 -2
- package/components/Textarea/TextareaCounter/TextareaCounter.js +11 -2
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +1 -2
- package/components/Toast/ToastView/ToastView.js +1 -1
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/ToastView.styles.d.ts +1 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +1 -1
- package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Token/Token/Token.js +12 -1
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.styles/Token.styles.js +11 -4
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +25 -16
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +10 -0
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +5 -2
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +2 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/hooks/useDrop/useDrop.js +5 -1
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/Calendar/Calendar/Calendar.js +6 -4
- package/internal/Calendar/Calendar/Calendar.js.map +1 -1
- package/internal/Calendar/CalendarDateShape.d.ts +1 -1
- package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
- package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -3
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +23 -15
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -17
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
- package/internal/DateSelect/DateSelect/DateSelect.js +21 -15
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +14 -21
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +10 -3
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +11 -19
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +8 -7
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +8 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +4 -0
- package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -2
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +15 -29
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
- package/internal/ThemePlayground/SizesGroup/package.json +6 -0
- package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +2 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemePlayground/constants.d.ts +3 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
- package/internal/icons/16px/index/index.js +28 -20
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- package/internal/icons/20px/svg/svg.js +5 -0
- package/internal/icons/20px/svg/svg.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +48 -4
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +20 -1
- package/internal/themes/NotFlat/NotFlat.js +15 -0
- package/internal/themes/NotFlat/NotFlat.js.map +1 -1
- package/internal/themes/NotFlat.d.ts +6 -0
- package/internal/themes/Theme2022/Theme2022.js +78 -0
- package/internal/themes/Theme2022/Theme2022.js.map +1 -0
- package/internal/themes/Theme2022/package.json +6 -0
- package/internal/themes/Theme2022.d.ts +66 -0
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
- package/internal/themes/Theme2022Dark/package.json +6 -0
- package/internal/themes/Theme2022Dark.d.ts +5 -0
- package/lib/animation/index/index.js +1 -1
- package/lib/animation/index/index.js.map +1 -1
- package/lib/animation/index.d.ts +1 -1
- package/lib/date/InternalDate/InternalDate.js +16 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +23 -7
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +75 -34
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/types/types.js.map +1 -1
- package/lib/date/types.d.ts +4 -0
- package/lib/events/MouseDrag/MouseDrag.js +5 -1
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/extractCode/extractCode.js +5 -5
- package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
- package/lib/needsPolyfillPlaceholder/package.json +6 -0
- package/lib/needsPolyfillPlaceholder.d.ts +6 -0
- package/lib/rootNode/getRootNode/getRootNode.js +36 -8
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/getRootNode.d.ts +9 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +3 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +9 -1
- package/lib/stringUtils/stringUtils.js +4 -1
- package/lib/stringUtils/stringUtils.js.map +1 -1
- package/lib/styles/ColorFactory/ColorFactory.js +9 -9
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
- package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorHelpers.d.ts +1 -0
- package/lib/styles/ColorObject/ColorObject.js +2 -2
- package/lib/styles/ColorObject/ColorObject.js.map +1 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +5 -2
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
- package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
- package/lib/theming/themes/Theme2022/package.json +6 -0
- package/lib/theming/themes/Theme2022.d.ts +1 -0
- package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
- package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
- package/lib/theming/themes/Theme2022Dark/package.json +6 -0
- package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
- package/lib/utils/utils.js +42 -6
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +15 -0
- package/package.json +5 -3
- package/cjs/components/Button/Corners.d.ts +0 -6
- package/cjs/components/Button/Corners.js +0 -5
- package/cjs/components/Button/Corners.js.map +0 -1
- package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
- package/cjs/lib/polyfillPlaceholder.js +0 -17
- package/cjs/lib/polyfillPlaceholder.js.map +0 -1
- package/components/Button/Corners/Corners.js +0 -6
- package/components/Button/Corners/Corners.js.map +0 -1
- package/components/Button/Corners/package.json +0 -6
- package/components/Button/Corners.d.ts +0 -6
- package/lib/polyfillPlaceholder/package.json +0 -6
- package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
- package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
- package/lib/polyfillPlaceholder.d.ts +0 -1
|
@@ -1,30 +1,59 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.getRootNode = void 0;
|
|
1
|
+
"use strict";exports.__esModule = true;exports.getRootNode = void 0;
|
|
2
|
+
var _reactDom = require("react-dom");
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
var _SSRSafe = require("../SSRSafe");
|
|
6
7
|
var _client = require("../client");
|
|
7
8
|
|
|
8
|
-
var _rootNodeDecorator = require("./rootNodeDecorator");
|
|
9
|
+
var _rootNodeDecorator = require("./rootNodeDecorator"); /* eslint-disable react/no-find-dom-node */
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Extracts component's root HTMLElement out of it's instance
|
|
13
|
+
* following the "StrictMode support convention" (@see README.md#strictmode, #2518).
|
|
14
|
+
*
|
|
15
|
+
* Replaces findDOMNode but falls back to it if "convention" is not respected.
|
|
16
|
+
*
|
|
17
|
+
* @param instance Component's instance provided by React.Ref or `this` inside class-components.
|
|
18
|
+
* @returns Component's root HTMLElement or null
|
|
19
|
+
*/
|
|
9
20
|
|
|
10
21
|
var getRootNode = function getRootNode(instance) {
|
|
11
|
-
if (!_client.canUseDOM)
|
|
12
|
-
|
|
22
|
+
if (!_client.canUseDOM || !instance) {
|
|
23
|
+
// instance can be `null` if component was unmounted
|
|
24
|
+
// also checking undefined for convinient usage
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if ((0, _SSRSafe.isHTMLElement)(instance)) {
|
|
29
|
+
// instance can be a HTMLElement already if comming
|
|
30
|
+
// from Refs of intrinsic elements (<div />, <button />, etc.)
|
|
13
31
|
return instance;
|
|
14
32
|
}
|
|
15
33
|
|
|
16
34
|
var rootNode;
|
|
17
35
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
36
|
+
if ((0, _rootNodeDecorator.isInstanceWithRootNode)(instance)) {
|
|
37
|
+
// it happened to be that native Node interface also has
|
|
38
|
+
// the "getRootNode" method, but we can ignore it here
|
|
39
|
+
// because we'd already checked the instance on being an HTMLElement
|
|
40
|
+
// which is a subclass of Node, so, just fixing types here
|
|
41
|
+
if (!(0, _SSRSafe.isNode)(instance)) {
|
|
42
|
+
rootNode = instance.getRootNode();
|
|
43
|
+
}
|
|
22
44
|
}
|
|
23
45
|
|
|
24
46
|
if (rootNode !== undefined) {
|
|
47
|
+
// at this point, it is rather HTMLElement (what we are looking for)
|
|
48
|
+
// or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it
|
|
25
49
|
return rootNode;
|
|
26
50
|
}
|
|
27
51
|
|
|
52
|
+
// node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined
|
|
53
|
+
// anyway, it tell us that the convention is not respected (by the component itself or its children),
|
|
54
|
+
// so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode
|
|
28
55
|
rootNode = (0, _reactDom.findDOMNode)(instance);
|
|
56
|
+
|
|
57
|
+
// the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it
|
|
29
58
|
return (0, _SSRSafe.isHTMLElement)(rootNode) ? rootNode : null;
|
|
30
59
|
};exports.getRootNode = getRootNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":";AACA;;;;AAIA;AACA;;AAEA,wD,CARA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACC,iBAAD,IAAc,CAACD,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAI,4BAAcA,QAAd,CAAJ,EAA6B;AAC3B;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIE,QAAJ;;AAEA,MAAI,+CAAuBF,QAAvB,CAAJ,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAAC,qBAAOA,QAAP,CAAL,EAAuB;AACrBE,MAAAA,QAAQ,GAAGF,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIG,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED;AACA;AACA;AACAA,EAAAA,QAAQ,GAAG,2BAAYF,QAAZ,CAAX;;AAEA;AACA,SAAO,4BAAcE,QAAd,IAA0BA,QAA1B,GAAqC,IAA5C;AACD,CAtCM,C","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\n/**\n * Extracts component's root HTMLElement out of it's instance\n * following the \"StrictMode support convention\" (@see README.md#strictmode, #2518).\n *\n * Replaces findDOMNode but falls back to it if \"convention\" is not respected.\n *\n * @param instance Component's instance provided by React.Ref or `this` inside class-components.\n * @returns Component's root HTMLElement or null\n */\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM || !instance) {\n // instance can be `null` if component was unmounted\n // also checking undefined for convinient usage\n return null;\n }\n\n if (isHTMLElement(instance)) {\n // instance can be a HTMLElement already if comming\n // from Refs of intrinsic elements (<div />, <button />, etc.)\n return instance;\n }\n\n let rootNode;\n\n if (isInstanceWithRootNode(instance)) {\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we can ignore it here\n // because we'd already checked the instance on being an HTMLElement\n // which is a subclass of Node, so, just fixing types here\n if (!isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n }\n\n if (rootNode !== undefined) {\n // at this point, it is rather HTMLElement (what we are looking for)\n // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it\n return rootNode;\n }\n\n // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined\n // anyway, it tell us that the convention is not respected (by the component itself or its children),\n // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode\n rootNode = findDOMNode(instance);\n\n // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it\n return isHTMLElement(rootNode) ? rootNode : null;\n};\n"]}
|
|
@@ -9,7 +9,13 @@ export interface InstanceWithRootNode {
|
|
|
9
9
|
getRootNode: () => Nullable<HTMLElement>;
|
|
10
10
|
addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
interface ComponentWithDefaultRootNode {
|
|
13
|
+
defaultRootNode?: HTMLElement | null;
|
|
14
|
+
}
|
|
15
|
+
interface DecoratableClassComponent extends ComponentWithDefaultRootNode {
|
|
16
|
+
new (...args: any[]): React.Component;
|
|
17
|
+
}
|
|
18
|
+
export declare function rootNode<T extends DecoratableClassComponent>(Component: T): {
|
|
13
19
|
new (...args: any[]): {
|
|
14
20
|
rootNode: Nullable<HTMLElement>;
|
|
15
21
|
rootNodeEmitter: EventEmitter<string | symbol, any>;
|
|
@@ -40,5 +46,7 @@ export declare function rootNode<T extends new (...args: any[]) => React.Compone
|
|
|
40
46
|
componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
|
|
41
47
|
UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
|
|
42
48
|
};
|
|
49
|
+
defaultRootNode?: HTMLElement | null | undefined;
|
|
43
50
|
} & T;
|
|
44
51
|
export declare const isInstanceWithRootNode: (instance: unknown) => instance is InstanceWithRootNode;
|
|
52
|
+
export {};
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.isInstanceWithRootNode = void 0;exports.rootNode = rootNode;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
2
|
+
|
|
2
3
|
var _eventemitter = _interopRequireDefault(require("eventemitter3"));
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
|
|
6
|
-
var _getRootNode = require("./getRootNode");
|
|
7
|
+
var _getRootNode = require("./getRootNode"); /* eslint-disable react/display-name */
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
7
16
|
|
|
8
17
|
|
|
9
18
|
|
|
@@ -21,7 +30,7 @@ function rootNode(Component) {
|
|
|
21
30
|
|
|
22
31
|
|
|
23
32
|
function rootNode() {var _this;
|
|
24
|
-
_this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.rootNode =
|
|
33
|
+
_this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.rootNode = Component.defaultRootNode;_this.rootNodeEmitter = new _eventemitter.default();_this.
|
|
25
34
|
|
|
26
35
|
|
|
27
36
|
setRootNode = function (instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","defaultRootNode","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":";;AAEA;;;;AAIA,4C,CANA;;;;;;;;;;;;;;;;;;;;;AA2BO,SAASA,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFMC,SAAS,CAACC,eAEhB,OAD5BC,eAC4B,GADV,IAAIC,qBAAJ,EACU;;;AAI5BC,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAMN,SAAQ,GAAG,8BAAYM,QAAZ,CAAjB;AACA,YAAIN,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBI,IAArB,CAA0B,QAA1B,EAAoCP,SAApC;AACD;AACF,OAVkC;;AAY5BQ,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKR,QAAZ;AACD,OAdkC;;AAgB5BS,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKP,eAAL,CAAqBQ,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKT,eAAL,CAAqBU,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBT,SAAjB,CAAd;;;AA6BA,MAAMa,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgChB,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACc,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBlB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEmB,KAAK,EAAElB,SAAS,CAACmB,IAAnB,EAAxC;AACD;;AAED,SAAOpB,QAAP;AACD;;AAEM,IAAMqB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACf,QAAD,EAAyD;AAC7F,SAAOgB,OAAO,CAAChB,QAAD,CAAP,IAAqBS,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCnB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<HTMLElement>;\n addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;\n}\n\ninterface ComponentWithDefaultRootNode {\n defaultRootNode?: HTMLElement | null;\n}\n\ninterface DecoratableClassComponent extends ComponentWithDefaultRootNode {\n new (...args: any[]): React.Component;\n}\n\nexport function rootNode<T extends DecoratableClassComponent>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<HTMLElement> = Component.defaultRootNode;\n public rootNodeEmitter = new EventEmitter();\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n const rootNode = getRootNode(instance);\n if (rootNode !== this.rootNode) {\n this.rootNode = rootNode;\n this.rootNodeEmitter.emit('change', rootNode);\n }\n };\n\n public getRootNode = (): Nullable<HTMLElement> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<HTMLElement>) => void): TRootNodeSubscription => {\n this.rootNodeEmitter.addListener('change', callback);\n return {\n remove: () => {\n this.rootNodeEmitter.removeListener('change', callback);\n },\n };\n };\n };\n\n const nameDescriptor = Object.getOwnPropertyDescriptor(rootNode, 'name');\n if (!nameDescriptor || nameDescriptor.configurable) {\n Object.defineProperty(rootNode, 'name', { value: Component.name });\n }\n\n return rootNode;\n}\n\nexport const isInstanceWithRootNode = (instance: unknown): instance is InstanceWithRootNode => {\n return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');\n};\n"]}
|
package/cjs/lib/stringUtils.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";exports.__esModule = true;exports.truncate = void 0;var truncate = function truncate(truncateString, maxLength, separator) {if (separator === void 0) {separator = '...';}
|
|
2
|
-
if (truncateString.length <= maxLength)
|
|
2
|
+
if (truncateString.length <= maxLength) {
|
|
3
|
+
return truncateString;
|
|
4
|
+
}
|
|
3
5
|
|
|
4
6
|
var separatorLength = separator.length;
|
|
5
7
|
var charsCountToShow = maxLength - separatorLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["stringUtils.ts"],"names":["truncate","truncateString","maxLength","separator","length","separatorLength","charsCountToShow","frontCharsCount","Math","ceil","backCharsCount","floor","substr"],"mappings":"iEAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,cAAD,EAAyBC,SAAzB,EAA4CC,SAA5C,EAAkE,KAAtBA,SAAsB,cAAtBA,SAAsB,GAAV,KAAU;AACxF,MAAIF,cAAc,CAACG,MAAf,IAAyBF,SAA7B,EAAwC,
|
|
1
|
+
{"version":3,"sources":["stringUtils.ts"],"names":["truncate","truncateString","maxLength","separator","length","separatorLength","charsCountToShow","frontCharsCount","Math","ceil","backCharsCount","floor","substr"],"mappings":"iEAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,cAAD,EAAyBC,SAAzB,EAA4CC,SAA5C,EAAkE,KAAtBA,SAAsB,cAAtBA,SAAsB,GAAV,KAAU;AACxF,MAAIF,cAAc,CAACG,MAAf,IAAyBF,SAA7B,EAAwC;AACtC,WAAOD,cAAP;AACD;;AAED,MAAMI,eAAe,GAAGF,SAAS,CAACC,MAAlC;AACA,MAAME,gBAAgB,GAAGJ,SAAS,GAAGG,eAArC;;AAEA,MAAME,eAAe,GAAGC,IAAI,CAACC,IAAL,CAAUH,gBAAgB,GAAG,CAA7B,CAAxB;AACA,MAAMI,cAAc,GAAGF,IAAI,CAACG,KAAL,CAAWL,gBAAgB,GAAG,CAA9B,CAAvB;;AAEA,cAAUL,cAAc,CAACW,MAAf,CAAsB,CAAtB,EAAyBL,eAAzB,CAAV,GAAsDJ,SAAtD,GAAkEF,cAAc,CAACW,MAAf;AAChEX,EAAAA,cAAc,CAACG,MAAf,GAAwBM,cADwC,CAAlE;;AAGD,CAdM,C","sourcesContent":["export const truncate = (truncateString: string, maxLength: number, separator = '...') => {\n if (truncateString.length <= maxLength) {\n return truncateString;\n }\n\n const separatorLength = separator.length;\n const charsCountToShow = maxLength - separatorLength;\n\n const frontCharsCount = Math.ceil(charsCountToShow / 2);\n const backCharsCount = Math.floor(charsCountToShow / 2);\n\n return `${truncateString.substr(0, frontCharsCount)}${separator}${truncateString.substr(\n truncateString.length - backCharsCount,\n )}`;\n};\n"]}
|
|
@@ -34,14 +34,14 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
|
|
|
34
34
|
(0, _warning.default)(false, "Invalid type of input (" + typeof input + "), expected a string. Returning transparent color");
|
|
35
35
|
return new _ColorObject.ColorObject([0, 0, 0], 1.0, 'transparent');
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
var lowercasedTrimmedInput = input.toLowerCase().trim();
|
|
38
38
|
|
|
39
|
-
if (
|
|
39
|
+
if (lowercasedTrimmedInput === 'transparent') {
|
|
40
40
|
return new _ColorObject.ColorObject([0, 0, 0], 0, 'transparent');
|
|
41
|
-
} else if (this.isKeyword(
|
|
42
|
-
return this.fromKeyword(
|
|
43
|
-
} else if (
|
|
44
|
-
var parts = (0, _ColorHelpers.extractColorParts)(
|
|
41
|
+
} else if (this.isKeyword(lowercasedTrimmedInput)) {
|
|
42
|
+
return this.fromKeyword(lowercasedTrimmedInput);
|
|
43
|
+
} else if (lowercasedTrimmedInput.startsWith('rgb')) {
|
|
44
|
+
var parts = (0, _ColorHelpers.extractColorParts)(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);
|
|
45
45
|
var _parseRGBParts = (0, _ColorHelpers.parseRGBParts)(parts),r = _parseRGBParts.r,g = _parseRGBParts.g,b = _parseRGBParts.b,a = _parseRGBParts.a;
|
|
46
46
|
|
|
47
47
|
r = (0, _ColorHelpers.clamp)(r, 255);
|
|
@@ -50,8 +50,8 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
|
|
|
50
50
|
a = (0, _ColorHelpers.clamp)(a, 1);
|
|
51
51
|
|
|
52
52
|
return this.fromRGB(r, g, b, a);
|
|
53
|
-
} else if (
|
|
54
|
-
var _parts = (0, _ColorHelpers.extractColorParts)(
|
|
53
|
+
} else if (lowercasedTrimmedInput.startsWith('hsl')) {
|
|
54
|
+
var _parts = (0, _ColorHelpers.extractColorParts)(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);
|
|
55
55
|
var _parseHSLParts = (0, _ColorHelpers.parseHSLParts)(_parts),h = _parseHSLParts.h,s = _parseHSLParts.s,l = _parseHSLParts.l,_a = _parseHSLParts.a;
|
|
56
56
|
|
|
57
57
|
h = (0, _ColorHelpers.clamp)(h, 360);
|
|
@@ -62,7 +62,7 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
|
|
|
62
62
|
return this.fromHSL(h, s, l, _a);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
return this.fromHex(
|
|
65
|
+
return this.fromHex(lowercasedTrimmedInput);
|
|
66
66
|
};ColorFactory.
|
|
67
67
|
|
|
68
68
|
isKeyword = function isKeyword(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ColorFactory.ts"],"names":["RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","ColorObject","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","ColorKeywords","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"0JAAA;;AAEA;AACA;AACA;;;;;;AAMA,IAAMA,SAAS;AACb,wGADF;AAEA,IAAMC,UAAU;AACd,yJADF;AAEA,IAAMC,SAAS;AACb,wHADF;AAEA,IAAMC,UAAU;AACd,yKADF;AAEA,IAAMC,SAAS,GAAG,8BAAlB,C;;AAEaC,Y;AACGC,EAAAA,M,GAAd,gBAAqBC,KAArB,EAAoC;AAClC,QAAI,CAAC,KAAKC,KAAL,CAAWD,KAAX,CAAL,EAAwB;AACtB,WAAKC,KAAL,CAAWD,KAAX,IAAoBE,MAAM,CAACC,MAAP,CAAc,KAAKC,WAAL,CAAiBJ,KAAjB,CAAd,CAApB;AACD;;AAED,WAAO,KAAKC,KAAL,CAAWD,KAAX,CAAP;AACD,G;;;;AAIcI,EAAAA,W,GAAf,qBAA2BJ,KAA3B,EAA0C;AACxC,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,4BAAQ,KAAR,8BAAyC,OAAOA,KAAhD;AACA,aAAO,IAAIK,wBAAJ,CAAgB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAhB,EAA2B,GAA3B,EAAgC,aAAhC,CAAP;AACD;
|
|
1
|
+
{"version":3,"sources":["ColorFactory.ts"],"names":["RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","ColorObject","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","ColorKeywords","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n const lowercasedTrimmedInput = input.toLowerCase().trim();\n\n if (lowercasedTrimmedInput === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(lowercasedTrimmedInput)) {\n return this.fromKeyword(lowercasedTrimmedInput);\n } else if (lowercasedTrimmedInput.startsWith('rgb')) {\n const parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);\n let { r, g, b, a } = parseRGBParts(parts);\n\n r = clamp(r, 255);\n g = clamp(g, 255);\n b = clamp(b, 255);\n a = clamp(a, 1);\n\n return this.fromRGB(r, g, b, a);\n } else if (lowercasedTrimmedInput.startsWith('hsl')) {\n const parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);\n let { h, s, l, a } = parseHSLParts(parts);\n\n h = clamp(h, 360);\n s = clamp(s, 1);\n l = clamp(l, 1);\n a = clamp(a, 1);\n\n return this.fromHSL(h, s, l, a);\n }\n\n return this.fromHex(lowercasedTrimmedInput);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)!.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}
|
|
@@ -18,3 +18,4 @@ export declare function parseHSLParts(parts: string[]): {
|
|
|
18
18
|
export declare function parseToInteger(part: string, size: number): number;
|
|
19
19
|
export declare function parseToFloat(part: string): number;
|
|
20
20
|
export declare function hue2rgb(hue: number, t1: number, t2: number): number;
|
|
21
|
+
export declare const isColor: (input: string) => boolean;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.clamp = clamp;exports.extractColorParts = extractColorParts;exports.floatFromPercent = floatFromPercent;exports.hue2rgb = hue2rgb;exports.integerFromPercent = integerFromPercent;exports.parseHSLParts = parseHSLParts;exports.parseRGBParts = parseRGBParts;exports.parseToFloat = parseToFloat;exports.parseToInteger = parseToInteger;exports.roundToPrecision = roundToPrecision;
|
|
1
|
+
"use strict";exports.__esModule = true;exports.clamp = clamp;exports.extractColorParts = extractColorParts;exports.floatFromPercent = floatFromPercent;exports.hue2rgb = hue2rgb;exports.integerFromPercent = integerFromPercent;exports.isColor = void 0;exports.parseHSLParts = parseHSLParts;exports.parseRGBParts = parseRGBParts;exports.parseToFloat = parseToFloat;exports.parseToInteger = parseToInteger;exports.roundToPrecision = roundToPrecision;var _utils = require("../utils");
|
|
2
|
+
|
|
3
|
+
function clamp(val, max) {if (max === void 0) {max = 1;}
|
|
2
4
|
return Math.min(max, Math.max(0, val));
|
|
3
5
|
}
|
|
4
6
|
|
|
@@ -78,21 +80,42 @@ function parseToFloat(part) {
|
|
|
78
80
|
return part.endsWith('%') ? floatFromPercent(part) : parseFloat(part);
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
function
|
|
83
|
+
var calculateHue = function calculateHue(hue) {
|
|
82
84
|
if (hue < 0) {
|
|
83
|
-
hue
|
|
85
|
+
return hue + 1;
|
|
84
86
|
}
|
|
87
|
+
|
|
85
88
|
if (hue > 1) {
|
|
86
|
-
hue
|
|
89
|
+
return hue - 1;
|
|
87
90
|
}
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
|
|
92
|
+
return hue;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
function hue2rgb(hue, t1, t2) {
|
|
96
|
+
var calculatedHue = calculateHue(hue);
|
|
97
|
+
|
|
98
|
+
if (calculatedHue < 1 / 6) {
|
|
99
|
+
return t2 + (t1 - t2) * 6 * calculatedHue;
|
|
90
100
|
}
|
|
91
|
-
|
|
101
|
+
|
|
102
|
+
if (calculatedHue < 1 / 2) {
|
|
92
103
|
return t1;
|
|
93
104
|
}
|
|
94
|
-
|
|
95
|
-
|
|
105
|
+
|
|
106
|
+
if (calculatedHue < 2 / 3) {
|
|
107
|
+
return t2 + (t1 - t2) * (2 / 3 - calculatedHue) * 6;
|
|
96
108
|
}
|
|
109
|
+
|
|
97
110
|
return t2;
|
|
98
|
-
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
var isColor = function isColor(input) {
|
|
114
|
+
var colorStarters = ['#', 'rgb', 'hsl'];
|
|
115
|
+
|
|
116
|
+
if (input) {
|
|
117
|
+
return (0, _utils.startsWithOneOf)(colorStarters, input);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return false;
|
|
121
|
+
};exports.isColor = isColor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ColorHelpers.ts"],"names":["clamp","val","max","Math","min","integerFromPercent","n","size","round","parseFloat","floatFromPercent","toFixed","roundToPrecision","precision","extractColorParts","input","solidRegex","alphaRegex","parts","exec","Error","parseRGBParts","r","parseToInteger","g","b","a","parseToFloat","isNaN","parseHSLParts","h","parseInt","s","l","part","endsWith","
|
|
1
|
+
{"version":3,"sources":["ColorHelpers.ts"],"names":["clamp","val","max","Math","min","integerFromPercent","n","size","round","parseFloat","floatFromPercent","toFixed","roundToPrecision","precision","extractColorParts","input","solidRegex","alphaRegex","parts","exec","Error","parseRGBParts","r","parseToInteger","g","b","a","parseToFloat","isNaN","parseHSLParts","h","parseInt","s","l","part","endsWith","calculateHue","hue","hue2rgb","t1","t2","calculatedHue","isColor","colorStarters"],"mappings":"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","sourcesContent":["import { startsWithOneOf } from '../utils';\n\nexport function clamp(val: number, max = 1) {\n return Math.min(max, Math.max(0, val));\n}\n\nexport function integerFromPercent(n: string, size: number) {\n return Math.round((parseFloat(n) * size) / 100);\n}\n\nexport function floatFromPercent(n: string) {\n return parseFloat((parseFloat(n) / 100).toFixed(5));\n}\n\nexport function roundToPrecision(n: number, precision = 2) {\n return parseFloat(n.toFixed(precision));\n}\n\nexport function extractColorParts(input: string, solidRegex: RegExp, alphaRegex?: RegExp) {\n let parts = solidRegex.exec(input);\n if (!parts && alphaRegex) {\n parts = alphaRegex.exec(input);\n }\n\n if (!parts) {\n throw new Error(`${input} does not match color patterns: [\n ${solidRegex}\n ${alphaRegex}\n ]`);\n }\n\n return parts;\n}\n\nexport function parseRGBParts(parts: string[]) {\n const r = parseToInteger(parts[1], 255);\n const g = parseToInteger(parts[2], 255);\n const b = parseToInteger(parts[3], 255);\n const a = parts[4] ? parseToFloat(parts[4]) : 1.0;\n\n if (isNaN(r)) {\n throw new Error(`Could not parse red=${parts[1]} to number`);\n }\n if (isNaN(g)) {\n throw new Error(`Could not parse green=${parts[2]} to number`);\n }\n if (isNaN(b)) {\n throw new Error(`Could not parse blue=${parts[3]} to number`);\n }\n if (isNaN(a)) {\n throw new Error(`Could not parse alpha=${parts[4]} to number`);\n }\n return { r, g, b, a };\n}\n\nexport function parseHSLParts(parts: string[]) {\n const h = parseInt(parts[1], 10);\n const s = parseToFloat(parts[2]);\n const l = parseToFloat(parts[3]);\n const a = parts[4] ? parseToFloat(parts[4]) : 1.0;\n\n if (isNaN(h)) {\n throw new Error(`Could not parse hue=${parts[1]} to number`);\n } else if (isNaN(s)) {\n throw new Error(`Could not parse saturation=${parts[2]} to number`);\n } else if (isNaN(l)) {\n throw new Error(`Could not parse lightness=${parts[3]} to number`);\n } else if (isNaN(a)) {\n throw new Error(`Could not parse alpha=${parts[4]} to number`);\n }\n\n return { h, s, l, a };\n}\n\nexport function parseToInteger(part: string, size: number) {\n return part.endsWith('%') ? integerFromPercent(part, size) : parseInt(part, 10);\n}\n\nexport function parseToFloat(part: string) {\n return part.endsWith('%') ? floatFromPercent(part) : parseFloat(part);\n}\n\nconst calculateHue = (hue: number) => {\n if (hue < 0) {\n return hue + 1;\n }\n\n if (hue > 1) {\n return hue - 1;\n }\n\n return hue;\n};\n\nexport function hue2rgb(hue: number, t1: number, t2: number) {\n const calculatedHue = calculateHue(hue);\n\n if (calculatedHue < 1 / 6) {\n return t2 + (t1 - t2) * 6 * calculatedHue;\n }\n\n if (calculatedHue < 1 / 2) {\n return t1;\n }\n\n if (calculatedHue < 2 / 3) {\n return t2 + (t1 - t2) * (2 / 3 - calculatedHue) * 6;\n }\n\n return t2;\n}\n\nexport const isColor = (input: string) => {\n const colorStarters = ['#', 'rgb', 'hsl'];\n\n if (input) {\n return startsWithOneOf(colorStarters, input);\n }\n\n return false;\n};\n"]}
|
|
@@ -63,8 +63,9 @@ ColorObject = /*#__PURE__*/function () {
|
|
|
63
63
|
'#' +
|
|
64
64
|
this.rgb.
|
|
65
65
|
map(function (c) {
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
var clamped = (0, _ColorHelpers.clamp)(Math.round(c), 255);
|
|
67
|
+
|
|
68
|
+
return (clamped < 16 ? '0' : '') + clamped.toString(16);
|
|
68
69
|
}).
|
|
69
70
|
join(''));
|
|
70
71
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ColorObject.ts"],"names":["ColorObject","rgb","alpha","type","luma","r","g","b","Math","pow","toHEXString","map","c","round","toString","join","toRGB","a","toRGBString","toHSL","max","min","hDeg","s","l","d","h","toHSLString","hsl","toColorString","clone"],"mappings":"yJAAA;;AAEA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCaA,W;;;;;AAKX,uBAAYC,GAAZ,EAA2BC,KAA3B,EAA0CC,IAA1C,EAA2D;AACzD,SAAKF,GAAL,GAAWA,GAAX;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACD,G;;AAEMC,EAAAA,I,GAAP,gBAAc;AACZ,QAAIC,CAAC,GAAG,KAAKJ,GAAL,CAAS,CAAT,IAAc,GAAtB;AACA,QAAIK,CAAC,GAAG,KAAKL,GAAL,CAAS,CAAT,IAAc,GAAtB;AACA,QAAIM,CAAC,GAAG,KAAKN,GAAL,CAAS,CAAT,IAAc,GAAtB;;AAEAI,IAAAA,CAAC,GAAGA,CAAC,IAAI,OAAL,GAAeA,CAAC,GAAG,KAAnB,GAA2BG,IAAI,CAACC,GAAL,CAAS,CAACJ,CAAC,GAAG,KAAL,IAAc,KAAvB,EAA8B,GAA9B,CAA/B;AACAC,IAAAA,CAAC,GAAGA,CAAC,IAAI,OAAL,GAAeA,CAAC,GAAG,KAAnB,GAA2BE,IAAI,CAACC,GAAL,CAAS,CAACH,CAAC,GAAG,KAAL,IAAc,KAAvB,EAA8B,GAA9B,CAA/B;AACAC,IAAAA,CAAC,GAAGA,CAAC,IAAI,OAAL,GAAeA,CAAC,GAAG,KAAnB,GAA2BC,IAAI,CAACC,GAAL,CAAS,CAACF,CAAC,GAAG,KAAL,IAAc,KAAvB,EAA8B,GAA9B,CAA/B;;AAEA,WAAO,SAASF,CAAT,GAAa,SAASC,CAAtB,GAA0B,SAASC,CAA1C;AACD,G;;AAEMG,EAAAA,W,GAAP,uBAAqB;AACnB,0BAAQ,KAAKR,KAAL,KAAe,CAAvB,iCAAuD,KAAKA,KAA5D;;AAEA;AACE;AACA,WAAKD,GAAL;AACGU,MAAAA,GADH,CACO,UAACC,CAAD,EAAO;
|
|
1
|
+
{"version":3,"sources":["ColorObject.ts"],"names":["ColorObject","rgb","alpha","type","luma","r","g","b","Math","pow","toHEXString","map","c","clamped","round","toString","join","toRGB","a","toRGBString","toHSL","max","min","hDeg","s","l","d","h","toHSLString","hsl","toColorString","clone"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, roundToPrecision } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\n\nexport type RGBTuple = [number, number, number];\nexport type ColorKeywordsType = keyof typeof ColorKeywords;\nexport type ColorType = 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hex' | 'transparent' | ColorKeywordsType;\n\ninterface ColorHSLA {\n h: number;\n s: number;\n l: number;\n a: number;\n}\n\ninterface ColorRGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface ColorObjectType {\n rgb: RGBTuple;\n alpha: number;\n type: ColorType;\n luma(): number;\n toRGB(): ColorRGBA;\n toHSL(): ColorHSLA;\n toHEXString(): string;\n toRGBString(): string;\n toHSLString(): string;\n}\n\nexport class ColorObject implements ColorObjectType {\n public rgb: RGBTuple;\n public alpha: number;\n public type: ColorType;\n\n constructor(rgb: RGBTuple, alpha: number, type: ColorType) {\n this.rgb = rgb;\n this.alpha = alpha;\n this.type = type;\n }\n\n public luma() {\n let r = this.rgb[0] / 255;\n let g = this.rgb[1] / 255;\n let b = this.rgb[2] / 255;\n\n r = r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);\n g = g <= 0.03928 ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4);\n b = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4);\n\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n }\n\n public toHEXString() {\n warning(this.alpha === 1, `There is an alpha channel=${this.alpha}, converting to HEX will discard opacity`);\n\n return (\n '#' +\n this.rgb\n .map((c) => {\n const clamped = clamp(Math.round(c), 255);\n\n return (clamped < 16 ? '0' : '') + clamped.toString(16);\n })\n .join('')\n );\n }\n\n public toRGB() {\n return { r: this.rgb[0], g: this.rgb[1], b: this.rgb[2], a: this.alpha };\n }\n\n public toRGBString() {\n return this.alpha < 1\n ? `rgba(${this.rgb[0]}, ${this.rgb[1]}, ${this.rgb[2]}, ${this.alpha})`\n : `rgb(${this.rgb[0]}, ${this.rgb[1]}, ${this.rgb[2]})`;\n }\n\n public toHSL() {\n const r = this.rgb[0] / 255;\n const g = this.rgb[1] / 255;\n const b = this.rgb[2] / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let hDeg = 0;\n let s = 0;\n const l = (max + min) / 2;\n\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n hDeg = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n hDeg = (b - r) / d + 2;\n break;\n case b:\n hDeg = (r - g) / d + 4;\n break;\n }\n hDeg = Math.round(hDeg * 60);\n }\n\n return {\n h: hDeg,\n s: roundToPrecision(s, 2),\n l: roundToPrecision(l, 2),\n a: this.alpha,\n };\n }\n\n public toHSLString() {\n const hsl = this.toHSL();\n return hsl.a < 1\n ? `hsla(${hsl.h}, ${hsl.s * 100}%, ${hsl.l * 100}%, ${hsl.a})`\n : `hsl(${hsl.h}, ${hsl.s * 100}%, ${hsl.l * 100}%)`;\n }\n\n public toColorString(type: ColorType = this.type) {\n switch (type) {\n case 'rgb':\n case 'rgba': {\n return this.toRGBString();\n }\n case 'hsl':\n case 'hsla': {\n return this.toHSLString();\n }\n case 'transparent': {\n return `transparent`;\n }\n default:\n return this.toHEXString();\n }\n }\n\n public clone() {\n const { rgb, alpha, type } = this;\n return new ColorObject(rgb, alpha, type);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getLabGrotesqueBaselineCompensation: (fontSize: number, compensation: number, isChrome: boolean) => number;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.getLabGrotesqueBaselineCompensation = void 0;var getLabGrotesqueBaselineCompensation = function getLabGrotesqueBaselineCompensation(fontSize, compensation, isChrome) {
|
|
2
|
+
if (fontSize < 16 && !isChrome) {
|
|
3
|
+
return compensation;
|
|
4
|
+
} else if (fontSize === 16 && isChrome) {
|
|
5
|
+
return -compensation;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
return 0;
|
|
9
|
+
};exports.getLabGrotesqueBaselineCompensation = getLabGrotesqueBaselineCompensation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getLabGrotesqueBaselineCompensation.ts"],"names":["getLabGrotesqueBaselineCompensation","fontSize","compensation","isChrome"],"mappings":"4FAAO,IAAMA,mCAAmC,GAAG,SAAtCA,mCAAsC,CAACC,QAAD,EAAmBC,YAAnB,EAAyCC,QAAzC,EAA+D;AAChH,MAAIF,QAAQ,GAAG,EAAX,IAAiB,CAACE,QAAtB,EAAgC;AAC9B,WAAOD,YAAP;AACD,GAFD,MAEO,IAAID,QAAQ,KAAK,EAAb,IAAmBE,QAAvB,EAAiC;AACtC,WAAO,CAACD,YAAR;AACD;;AAED,SAAO,CAAP;AACD,CARM,C","sourcesContent":["export const getLabGrotesqueBaselineCompensation = (fontSize: number, compensation: number, isChrome: boolean) => {\n if (fontSize < 16 && !isChrome) {\n return compensation;\n } else if (fontSize === 16 && isChrome) {\n return -compensation;\n }\n\n return 0;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["taskWithDelayAndMinimalDuration.ts"],"names":["TaskWithDelayAndMinimalDuration","initialValues","isTaskActive","setTimeoutBeforeTaskStart","timeoutBeforeTaskStart","setTimeout","taskParams","taskStartCallback","clearTimeoutBeforeTaskStart","setTimeoutBeforeTaskStop","delayBeforeTaskStart","timeoutBeforeTaskStop","taskStopCallback","clearTimeoutBeforeTaskStop","durationOfTask","clearTimeout","start","update","updateData","stop","clearTask"],"mappings":";;;;;;;;;AASaA,+B;;;;;;AAMX,yCAAYC,aAAZ,EAAiE,uBAFzDC,YAEyD,GAF1C,KAE0C;;;;AAIzDC,EAAAA,yBAJyD,GAI7B,YAAM;AACxC,IAAA,KAAI,CAACC,sBAAL,GAA8BC,UAAU,CAAC,YAAM;AAC7C,MAAA,KAAI,CAACH,YAAL,IAAqB,KAAI,CAACI,UAAL,CAAgBC,iBAAhB,EAArB;AACA,MAAA,KAAI,CAACC,2BAAL;AACA,MAAA,KAAI,CAACC,wBAAL;AACD,KAJuC,EAIrC,KAAI,CAACH,UAAL,CAAgBI,oBAJqB,CAAxC;AAKD,GAVgE;;AAYzDD,EAAAA,wBAZyD,GAY9B,YAAM;AACvC,IAAA,KAAI,CAACE,qBAAL,GAA6BN,UAAU,CAAC,YAAM;AAC5C,OAAC,KAAI,CAACH,YAAN,IAAsB,KAAI,CAACI,UAAL,CAAgBM,gBAAhB,EAAtB;AACA,MAAA,KAAI,CAACC,0BAAL;AACD,KAHsC,EAGpC,KAAI,CAACP,UAAL,CAAgBQ,cAHoB,CAAvC;AAID,GAjBgE;;AAmBzDN,EAAAA,2BAnByD,GAmB3B,YAAM;AAC1C,IAAA,KAAI,CAACJ,sBAAL,IAA+BW,YAAY,CAAC,KAAI,CAACX,sBAAN,CAA3C;AACA,IAAA,KAAI,CAACA,sBAAL,GAA8B,IAA9B;AACD,GAtBgE;;AAwBzDS,EAAAA,0BAxByD,GAwB5B,YAAM;AACzC,IAAA,KAAI,CAACF,qBAAL,IAA8BI,YAAY,CAAC,KAAI,CAACJ,qBAAN,CAA1C;AACA,IAAA,KAAI,CAACA,qBAAL,GAA6B,IAA7B;AACD,GA3BgE;;AA6B1DK,EAAAA,KA7B0D,GA6BlD,YAAM;AACnB,QAAI,KAAI,CAACd,YAAT,EAAuB;AACrB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,IAApB;;AAEA,QAAI,KAAI,CAACE,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;;AAED,IAAA,KAAI,CAACL,yBAAL;AACD,GAzCgE;;AA2C1Dc,EAAAA,MA3C0D,GA2CjD,UAACC,UAAD,EAA+D;AAC7E,IAAA,KAAI,CAACZ,UAAL,8BAAuB,KAAI,CAACA,UAA5B,EAA2CY,UAA3C;AACD,GA7CgE;;AA+C1DC,EAAAA,IA/C0D,GA+CnD,YAAM;AAClB,QAAI,CAAC,KAAI,CAACjB,YAAV,EAAwB;;
|
|
1
|
+
{"version":3,"sources":["taskWithDelayAndMinimalDuration.ts"],"names":["TaskWithDelayAndMinimalDuration","initialValues","isTaskActive","setTimeoutBeforeTaskStart","timeoutBeforeTaskStart","setTimeout","taskParams","taskStartCallback","clearTimeoutBeforeTaskStart","setTimeoutBeforeTaskStop","delayBeforeTaskStart","timeoutBeforeTaskStop","taskStopCallback","clearTimeoutBeforeTaskStop","durationOfTask","clearTimeout","start","update","updateData","stop","clearTask"],"mappings":";;;;;;;;;AASaA,+B;;;;;;AAMX,yCAAYC,aAAZ,EAAiE,uBAFzDC,YAEyD,GAF1C,KAE0C;;;;AAIzDC,EAAAA,yBAJyD,GAI7B,YAAM;AACxC,IAAA,KAAI,CAACC,sBAAL,GAA8BC,UAAU,CAAC,YAAM;AAC7C,MAAA,KAAI,CAACH,YAAL,IAAqB,KAAI,CAACI,UAAL,CAAgBC,iBAAhB,EAArB;AACA,MAAA,KAAI,CAACC,2BAAL;AACA,MAAA,KAAI,CAACC,wBAAL;AACD,KAJuC,EAIrC,KAAI,CAACH,UAAL,CAAgBI,oBAJqB,CAAxC;AAKD,GAVgE;;AAYzDD,EAAAA,wBAZyD,GAY9B,YAAM;AACvC,IAAA,KAAI,CAACE,qBAAL,GAA6BN,UAAU,CAAC,YAAM;AAC5C,OAAC,KAAI,CAACH,YAAN,IAAsB,KAAI,CAACI,UAAL,CAAgBM,gBAAhB,EAAtB;AACA,MAAA,KAAI,CAACC,0BAAL;AACD,KAHsC,EAGpC,KAAI,CAACP,UAAL,CAAgBQ,cAHoB,CAAvC;AAID,GAjBgE;;AAmBzDN,EAAAA,2BAnByD,GAmB3B,YAAM;AAC1C,IAAA,KAAI,CAACJ,sBAAL,IAA+BW,YAAY,CAAC,KAAI,CAACX,sBAAN,CAA3C;AACA,IAAA,KAAI,CAACA,sBAAL,GAA8B,IAA9B;AACD,GAtBgE;;AAwBzDS,EAAAA,0BAxByD,GAwB5B,YAAM;AACzC,IAAA,KAAI,CAACF,qBAAL,IAA8BI,YAAY,CAAC,KAAI,CAACJ,qBAAN,CAA1C;AACA,IAAA,KAAI,CAACA,qBAAL,GAA6B,IAA7B;AACD,GA3BgE;;AA6B1DK,EAAAA,KA7B0D,GA6BlD,YAAM;AACnB,QAAI,KAAI,CAACd,YAAT,EAAuB;AACrB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,IAApB;;AAEA,QAAI,KAAI,CAACE,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;;AAED,IAAA,KAAI,CAACL,yBAAL;AACD,GAzCgE;;AA2C1Dc,EAAAA,MA3C0D,GA2CjD,UAACC,UAAD,EAA+D;AAC7E,IAAA,KAAI,CAACZ,UAAL,8BAAuB,KAAI,CAACA,UAA5B,EAA2CY,UAA3C;AACD,GA7CgE;;AA+C1DC,EAAAA,IA/C0D,GA+CnD,YAAM;AAClB,QAAI,CAAC,KAAI,CAACjB,YAAV,EAAwB;AACtB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,KAApB;;AAEA,QAAI,CAAC,KAAI,CAACE,sBAAN,IAAgC,CAAC,KAAI,CAACO,qBAA1C,EAAiE;AAC/D,MAAA,KAAI,CAACL,UAAL,CAAgBM,gBAAhB;AACD;;AAED,QAAI,KAAI,CAACR,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;AACF,GA7DgE;;AA+D1DY,EAAAA,SA/D0D,GA+D9C,YAAM;AACvB,IAAA,KAAI,CAACZ,2BAAL;AACA,IAAA,KAAI,CAACK,0BAAL;AACD,GAlEgE,CAC/D,KAAKP,UAAL,GAAkBL,aAAlB,CACD,C","sourcesContent":["import { Nullable } from '../typings/utility-types';\n\nexport interface TaskWithDelayAndMinimalDurationProps {\n delayBeforeTaskStart: number;\n durationOfTask: number;\n taskStartCallback: () => void;\n taskStopCallback: () => void;\n}\n\nexport class TaskWithDelayAndMinimalDuration {\n private timeoutBeforeTaskStart: Nullable<NodeJS.Timeout>;\n private timeoutBeforeTaskStop: Nullable<NodeJS.Timeout>;\n private taskParams: TaskWithDelayAndMinimalDurationProps;\n private isTaskActive = false;\n\n constructor(initialValues: TaskWithDelayAndMinimalDurationProps) {\n this.taskParams = initialValues;\n }\n\n private setTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart = setTimeout(() => {\n this.isTaskActive && this.taskParams.taskStartCallback();\n this.clearTimeoutBeforeTaskStart();\n this.setTimeoutBeforeTaskStop();\n }, this.taskParams.delayBeforeTaskStart);\n };\n\n private setTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop = setTimeout(() => {\n !this.isTaskActive && this.taskParams.taskStopCallback();\n this.clearTimeoutBeforeTaskStop();\n }, this.taskParams.durationOfTask);\n };\n\n private clearTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart && clearTimeout(this.timeoutBeforeTaskStart);\n this.timeoutBeforeTaskStart = null;\n };\n\n private clearTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop && clearTimeout(this.timeoutBeforeTaskStop);\n this.timeoutBeforeTaskStop = null;\n };\n\n public start = () => {\n if (this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = true;\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n\n this.setTimeoutBeforeTaskStart();\n };\n\n public update = (updateData: Partial<TaskWithDelayAndMinimalDurationProps>) => {\n this.taskParams = { ...this.taskParams, ...updateData };\n };\n\n public stop = () => {\n if (!this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = false;\n\n if (!this.timeoutBeforeTaskStart && !this.timeoutBeforeTaskStop) {\n this.taskParams.taskStopCallback();\n }\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n };\n\n public clearTask = () => {\n this.clearTimeoutBeforeTaskStart();\n this.clearTimeoutBeforeTaskStop();\n };\n}\n"]}
|
|
@@ -17,7 +17,7 @@ var _createEmotion =
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
function isZeroArgs(fn) {
|
|
20
|
-
return fn.length
|
|
20
|
+
return fn.length === 0;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
var memoize = function memoize(fn) {
|
|
@@ -35,7 +35,10 @@ var memoize = function memoize(fn) {
|
|
|
35
35
|
|
|
36
36
|
var cache = new WeakMap();
|
|
37
37
|
return function (arg) {
|
|
38
|
-
if (!cache.has(arg))
|
|
38
|
+
if (!cache.has(arg)) {
|
|
39
|
+
cache.set(arg, fn(arg));
|
|
40
|
+
}
|
|
41
|
+
|
|
39
42
|
return cache.get(arg);
|
|
40
43
|
};
|
|
41
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","prepend","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACL,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAHvC,EAAd,CADK,CAAQC,KAAR,kBAAQA,KAAR,CAAeC,OAAf,kBAAeA,OAAf,CAAwBC,EAAxB,kBAAwBA,EAAxB,CAA4BC,KAA5B,kBAA4BA,KAA5B,CAAmCC,mBAAnC,kBAAmCA,mBAAnC,CAAwDC,YAAxD,kBAAwDA,YAAxD,CAAsEC,SAAtE,kBAAsEA,SAAtE,CAAiFC,GAAjF,kBAAiFA,GAAjF,CAAsFC,KAAtF,kBAAsFA,KAAtF,CAA6FC,KAA7F,kBAA6FA,KAA7F,C;;;AAOP,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,
|
|
1
|
+
{"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","prepend","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACL,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAHvC,EAAd,CADK,CAAQC,KAAR,kBAAQA,KAAR,CAAeC,OAAf,kBAAeA,OAAf,CAAwBC,EAAxB,kBAAwBA,EAAxB,CAA4BC,KAA5B,kBAA4BA,KAA5B,CAAmCC,mBAAnC,kBAAmCA,mBAAnC,CAAwDC,YAAxD,kBAAwDA,YAAxD,CAAsEC,SAAtE,kBAAsEA,SAAtE,CAAiFC,GAAjF,kBAAiFA,GAAjF,CAAsFC,KAAtF,kBAAsFA,KAAtF,CAA6FC,KAA7F,kBAA6FA,KAA7F,C;;;AAOP,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,KAAc,CAArB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqB;AACnBR,MAAAA,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACD;;AAED,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAND;AAOD,CArBD;;AAuBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BzC,eAA1B;AACA,cAAmC0C,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMpC,GAAN,EAAc;AACxC,4CAAYoC,GAAZ,6BAAkBpC,GAAlB,IAA2BiC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAAClC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = Upgrade.getSpecificityClassName();\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n prepend: true,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length === 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) {\n cache.set(arg, fn(arg));\n }\n\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";exports.__esModule = true;exports.ThemeFactory = void 0;var _DefaultTheme = require("../../internal/themes/DefaultTheme");
|
|
2
|
+
var _utils = require("../utils");
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
var _ThemeHelpers = require("./ThemeHelpers");var
|
|
@@ -18,14 +19,17 @@ ThemeFactory = /*#__PURE__*/function () {function ThemeFactory() {}ThemeFactory.
|
|
|
18
19
|
|
|
19
20
|
getKeys = function getKeys(theme) {
|
|
20
21
|
var keys = [];
|
|
21
|
-
while (
|
|
22
|
+
while ((0, _utils.isNonNullable)(theme)) {
|
|
22
23
|
Object.keys(theme).forEach(function (key) {
|
|
23
24
|
if (!keys.includes(key)) {
|
|
24
25
|
keys.push(key);
|
|
25
26
|
}
|
|
26
27
|
});
|
|
28
|
+
// TODO: Enable `no-param-reassign` rule.
|
|
29
|
+
// eslint-disable-next-line no-param-reassign
|
|
27
30
|
theme = Object.getPrototypeOf(theme);
|
|
28
31
|
}
|
|
32
|
+
|
|
29
33
|
return keys.sort();
|
|
30
34
|
};ThemeFactory.
|
|
31
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,
|
|
1
|
+
{"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;AACA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAO,0BAAcZ,KAAd,CAAP,EAA6B;AAC1BU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,CAAoCO,OAApC,CAA4C,UAACM,GAAD,EAAS;AACnD,YAAI,CAACD,IAAI,CAACE,QAAL,CAAcD,GAAd,CAAL,EAAyB;AACvBD,UAAAA,IAAI,CAACG,IAAL,CAAUF,GAAV;AACD;AACF,OAJD;AAKA;AACA;AACAb,MAAAA,KAAK,GAAGU,MAAM,CAACM,cAAP,CAAsBhB,KAAtB,CAAR;AACD;;AAED,WAAOY,IAAI,CAACK,IAAL,EAAP;AACD,G;;AAEcb,EAAAA,c,GAAf,wBAA8BF,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMkB,QAAQ,GAAGR,MAAM,CAACX,MAAP,CAAcG,IAAd,CAAjB;AACAQ,IAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,EAAmBO,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCpB,KAAhC,EAAuCmB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,G","sourcesContent":["import { DefaultThemeInternal } from '../../internal/themes/DefaultTheme';\nimport { isNonNullable } from '../utils';\n\nimport { Theme, ThemeIn } from './Theme';\nimport { findPropertyDescriptor } from './ThemeHelpers';\n\nexport class ThemeFactory {\n public static create<T extends {}>(theme: ThemeIn & T, baseTheme?: Theme): Readonly<Theme & T> {\n const base = baseTheme || DefaultThemeInternal;\n return this.constructTheme(base, theme);\n }\n\n public static overrideDefaultTheme(theme: Theme) {\n ThemeFactory.getKeys(DefaultThemeInternal).forEach((variableName) => {\n const descriptor = findPropertyDescriptor(theme, variableName);\n Object.defineProperty(DefaultThemeInternal, variableName, descriptor);\n });\n }\n\n public static getKeys<T extends Theme>(theme: T) {\n const keys: Array<keyof T> = [];\n while (isNonNullable(theme)) {\n (Object.keys(theme) as typeof keys).forEach((key) => {\n if (!keys.includes(key)) {\n keys.push(key);\n }\n });\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n theme = Object.getPrototypeOf(theme);\n }\n\n return keys.sort();\n }\n\n private static constructTheme(base: Theme, theme: ThemeIn) {\n const newTheme = Object.create(base);\n Object.keys(theme).forEach((propName) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, propName)!;\n Object.defineProperty(newTheme, propName, descriptor);\n });\n\n return Object.freeze(newTheme);\n }\n}\n"]}
|