@skbkontur/react-ui 4.1.0 → 4.1.1
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 +15 -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.styles.js +4 -7
- 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/helpers/InternalDateMediator.js +8 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.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 +3 -1
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +2 -2
- 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/Group/Group.js +74 -31
- package/cjs/components/Group/Group.js.map +1 -1
- 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/Modal/Modal.js +2 -1
- package/cjs/components/Modal/Modal.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 +1 -1
- package/cjs/components/Paging/Paging.js +3 -3
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +2 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- 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 +1 -1
- 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 +30 -12
- 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/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
- package/cjs/components/Textarea/TextareaCounter.js +5 -4
- package/cjs/components/Textarea/TextareaCounter.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/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.js +13 -10
- package/cjs/components/TokenInput/TokenInput.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/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/InternalMenu/InternalMenu.js +4 -7
- package/cjs/internal/InternalMenu/InternalMenu.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 +7 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +12 -13
- package/cjs/internal/Menu/Menu.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/RenderInnerContainer.d.ts +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -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/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/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 +37 -38
- package/cjs/internal/icons/16px/index.js.map +1 -1
- 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.js +23 -6
- 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 +31 -6
- package/cjs/lib/date/InternalDateValidator.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/rootNode/getRootNode.d.ts +9 -0
- package/cjs/lib/rootNode/getRootNode.js +34 -6
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +9 -1
- 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/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.styles/Checkbox.styles.js +2 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- 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/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +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 +4 -1
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/Gapped/Gapped/Gapped.js +2 -2
- 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/Group/Group/Group.js +62 -30
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Input/Input/Input.js.map +1 -1
- 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/Modal/Modal/Modal.js +2 -1
- package/components/Modal/Modal/Modal.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 +6 -5
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- 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 +1 -1
- 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 +26 -12
- 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/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +1 -2
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +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 +19 -14
- package/components/TokenInput/TokenInput/TokenInput.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/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/InternalMenu/InternalMenu/InternalMenu.js +13 -16
- package/internal/InternalMenu/InternalMenu/InternalMenu.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 +8 -3
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +9 -14
- package/internal/Menu/Menu/Menu.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/RenderInnerContainer/RenderInnerContainer.js +5 -2
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- 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/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 +21 -20
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- 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 +20 -6
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +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 +31 -4
- package/lib/date/InternalDateValidator/InternalDateValidator.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/rootNode/getRootNode/getRootNode.js +35 -8
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/getRootNode.d.ts +9 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -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/utils/utils.js +42 -6
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +15 -0
- package/package.json +4 -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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ColorFactory.ts"],"names":["warning","clamp","extractColorParts","hue2rgb","parseHSLParts","parseRGBParts","ColorKeywords","ColorObject","RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,SAApB;;AAEA,SAASC,KAAT,EAAgBC,iBAAhB,EAAmCC,OAAnC,EAA4CC,aAA5C,EAA2DC,aAA3D,QAAgF,gBAAhF;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAA4BC,WAA5B,QAAoE,eAApE;;;;;;AAMA,IAAMC,SAAS;AACb,wGADF;AAEA,IAAMC,UAAU;AACd,yJADF;AAEA,IAAMC,SAAS;AACb,wHADF;AAEA,IAAMC,UAAU;AACd,yKADF;AAEA,IAAMC,SAAS,GAAG,8BAAlB;;AAEA,WAAaC,YAAb;AACgBC,EAAAA,MADhB,GACE,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,GAPH;;;;AAWiBI,EAAAA,WAXjB,GAWE,qBAA2BJ,KAA3B,EAA0C;AACxC,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7Bf,MAAAA,OAAO,CAAC,KAAD,8BAAkC,OAAOe,KAAzC,uDAAP;AACA,aAAO,IAAIR,WAAJ,CAAgB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAhB,EAA2B,GAA3B,EAAgC,aAAhC,CAAP;AACD;
|
|
1
|
+
{"version":3,"sources":["ColorFactory.ts"],"names":["warning","clamp","extractColorParts","hue2rgb","parseHSLParts","parseRGBParts","ColorKeywords","ColorObject","RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","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"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { startsWithOneOf } from "../../utils";
|
|
1
2
|
export function clamp(val, max) {
|
|
2
3
|
if (max === void 0) {
|
|
3
4
|
max = 1;
|
|
@@ -89,26 +90,42 @@ export function parseToInteger(part, size) {
|
|
|
89
90
|
export function parseToFloat(part) {
|
|
90
91
|
return part.endsWith('%') ? floatFromPercent(part) : parseFloat(part);
|
|
91
92
|
}
|
|
92
|
-
|
|
93
|
+
|
|
94
|
+
var calculateHue = function calculateHue(hue) {
|
|
93
95
|
if (hue < 0) {
|
|
94
|
-
hue
|
|
96
|
+
return hue + 1;
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
if (hue > 1) {
|
|
98
|
-
hue
|
|
100
|
+
return hue - 1;
|
|
99
101
|
}
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
return hue;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export function hue2rgb(hue, t1, t2) {
|
|
107
|
+
var calculatedHue = calculateHue(hue);
|
|
108
|
+
|
|
109
|
+
if (calculatedHue < 1 / 6) {
|
|
110
|
+
return t2 + (t1 - t2) * 6 * calculatedHue;
|
|
103
111
|
}
|
|
104
112
|
|
|
105
|
-
if (
|
|
113
|
+
if (calculatedHue < 1 / 2) {
|
|
106
114
|
return t1;
|
|
107
115
|
}
|
|
108
116
|
|
|
109
|
-
if (
|
|
110
|
-
return t2 + (t1 - t2) * (2 / 3 -
|
|
117
|
+
if (calculatedHue < 2 / 3) {
|
|
118
|
+
return t2 + (t1 - t2) * (2 / 3 - calculatedHue) * 6;
|
|
111
119
|
}
|
|
112
120
|
|
|
113
121
|
return t2;
|
|
114
|
-
}
|
|
122
|
+
}
|
|
123
|
+
export var isColor = function isColor(input) {
|
|
124
|
+
var colorStarters = ['#', 'rgb', 'hsl'];
|
|
125
|
+
|
|
126
|
+
if (input) {
|
|
127
|
+
return startsWithOneOf(colorStarters, input);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return false;
|
|
131
|
+
};
|
|
@@ -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":["startsWithOneOf","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"]}
|
|
@@ -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;
|
|
@@ -22,8 +22,8 @@ export var ColorObject = /*#__PURE__*/function () {
|
|
|
22
22
|
_proto.toHEXString = function toHEXString() {
|
|
23
23
|
warning(this.alpha === 1, "There is an alpha channel=" + this.alpha + ", converting to HEX will discard opacity");
|
|
24
24
|
return '#' + this.rgb.map(function (c) {
|
|
25
|
-
|
|
26
|
-
return (
|
|
25
|
+
var clamped = clamp(Math.round(c), 255);
|
|
26
|
+
return (clamped < 16 ? '0' : '') + clamped.toString(16);
|
|
27
27
|
}).join('');
|
|
28
28
|
};
|
|
29
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ColorObject.ts"],"names":["warning","clamp","roundToPrecision","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":"AAAA,OAAOA,OAAP,MAAoB,SAApB;;AAEA,SAASC,KAAT,EAAgBC,gBAAhB,QAAwC,gBAAxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,WAAaC,WAAb;;;;;AAKE,uBAAYC,GAAZ,EAA2BC,KAA3B,EAA0CC,IAA1C,EAA2D;AACzD,SAAKF,GAAL,GAAWA,GAAX;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACD,GATH;;AAWSC,EAAAA,IAXT,GAWE,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,GArBH;;AAuBSG,EAAAA,WAvBT,GAuBE,uBAAqB;AACnBb,IAAAA,OAAO,CAAC,KAAKK,KAAL,KAAe,CAAhB,iCAAgD,KAAKA,KAArD,8CAAP;;AAEA;AACE;AACA,WAAKD,GAAL;AACGU,MAAAA,GADH,CACO,UAACC,CAAD,EAAO;
|
|
1
|
+
{"version":3,"sources":["ColorObject.ts"],"names":["warning","clamp","roundToPrecision","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,9 @@
|
|
|
1
|
+
export 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
|
+
};
|
package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getLabGrotesqueBaselineCompensation.ts"],"names":["getLabGrotesqueBaselineCompensation","fontSize","compensation","isChrome"],"mappings":"AAAA,OAAO,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","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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getLabGrotesqueBaselineCompensation: (fontSize: number, compensation: number, isChrome: boolean) => number;
|
|
@@ -51,7 +51,10 @@ export var TaskWithDelayAndMinimalDuration = function TaskWithDelayAndMinimalDur
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
this.stop = function () {
|
|
54
|
-
if (!_this.isTaskActive)
|
|
54
|
+
if (!_this.isTaskActive) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
55
58
|
_this.isTaskActive = false;
|
|
56
59
|
|
|
57
60
|
if (!_this.timeoutBeforeTaskStart && !_this.timeoutBeforeTaskStop) {
|
|
@@ -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":";;;;;;;;;AASA,WAAaA,+BAAb;;;;;;AAME,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,gBAAuB,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":";;;;;;;;;AASA,WAAaA,+BAAb;;;;;;AAME,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,gBAAuB,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,CARH","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"]}
|
|
@@ -24,7 +24,7 @@ var _createEmotion = createEmotion({
|
|
|
24
24
|
export { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache };
|
|
25
25
|
|
|
26
26
|
function isZeroArgs(fn) {
|
|
27
|
-
return fn.length
|
|
27
|
+
return fn.length === 0;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
var memoize = function memoize(fn) {
|
|
@@ -43,7 +43,10 @@ var memoize = function memoize(fn) {
|
|
|
43
43
|
|
|
44
44
|
var cache = new WeakMap();
|
|
45
45
|
return function (arg) {
|
|
46
|
-
if (!cache.has(arg))
|
|
46
|
+
if (!cache.has(arg)) {
|
|
47
|
+
cache.set(arg, fn(arg));
|
|
48
|
+
}
|
|
49
|
+
|
|
47
50
|
return cache.get(arg);
|
|
48
51
|
};
|
|
49
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Emotion.ts"],"names":["createEmotion","extraScopePlugin","Upgrade","REACT_UI_PREFIX","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":"0DAAA,OAAOA,aAAP,MAA0B,8BAA1B;AACA,OAAOC,gBAAP,MAA6B,2BAA7B;;AAEA,SAASC,OAAT,QAAwB,aAAxB;;;;AAIA,IAAMC,eAAe,GAAGD,OAAO,CAACE,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUJ,OAAO,CAACK,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDL,eAAlD,EAAqEM,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACLT,aAAa,CAAC;AACZU,EAAAA,GAAG,EAAEP,eADO;AAEZQ,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAACJ,gBAAgB,CAACI,KAAD,CAAjB,CAAH,GAA+BQ,SAHvC,EAAD,CADR,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":["createEmotion","extraScopePlugin","Upgrade","REACT_UI_PREFIX","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":"0DAAA,OAAOA,aAAP,MAA0B,8BAA1B;AACA,OAAOC,gBAAP,MAA6B,2BAA7B;;AAEA,SAASC,OAAT,QAAwB,aAAxB;;;;AAIA,IAAMC,eAAe,GAAGD,OAAO,CAACE,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUJ,OAAO,CAACK,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDL,eAAlD,EAAqEM,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACLT,aAAa,CAAC;AACZU,EAAAA,GAAG,EAAEP,eADO;AAEZQ,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAACJ,gBAAgB,CAACI,KAAD,CAAjB,CAAH,GAA+BQ,SAHvC,EAAD,CADR,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;;AAuBA,OAAO,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;;AAOP,OAAO,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BxC,eAA1B;AACA,cAAmCyC,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMpC,GAAN,EAAc;AACxC,8BAAYoC,GAAZ,6BAAkBpC,GAAlB,IAA2BiC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAAClC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK","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
|
import { DefaultThemeInternal } from "../../../internal/themes/DefaultTheme";
|
|
2
|
+
import { isNonNullable } from "../../utils";
|
|
2
3
|
import { findPropertyDescriptor } from "../ThemeHelpers";
|
|
3
4
|
export var ThemeFactory = /*#__PURE__*/function () {
|
|
4
5
|
function ThemeFactory() {}
|
|
@@ -18,12 +19,14 @@ export var ThemeFactory = /*#__PURE__*/function () {
|
|
|
18
19
|
ThemeFactory.getKeys = function getKeys(theme) {
|
|
19
20
|
var keys = [];
|
|
20
21
|
|
|
21
|
-
while (theme
|
|
22
|
+
while (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
|
+
}); // TODO: Enable `no-param-reassign` rule.
|
|
28
|
+
// eslint-disable-next-line no-param-reassign
|
|
29
|
+
|
|
27
30
|
theme = Object.getPrototypeOf(theme);
|
|
28
31
|
}
|
|
29
32
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeFactory.ts"],"names":["DefaultThemeInternal","findPropertyDescriptor","ThemeFactory","create","theme","baseTheme","base","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"AAAA,SAASA,oBAAT,QAAqC,oCAArC;;;AAGA,SAASC,sBAAT,QAAuC,gBAAvC;;AAEA,WAAaC,YAAb;AACgBC,EAAAA,MADhB,GACE,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,
|
|
1
|
+
{"version":3,"sources":["ThemeFactory.ts"],"names":["DefaultThemeInternal","isNonNullable","findPropertyDescriptor","ThemeFactory","create","theme","baseTheme","base","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"AAAA,SAASA,oBAAT,QAAqC,oCAArC;AACA,SAASC,aAAT,QAA8B,UAA9B;;;AAGA,SAASC,sBAAT,QAAuC,gBAAvC;;AAEA,WAAaC,YAAb;AACgBC,EAAAA,MADhB,GACE,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIN,oBAA1B;AACA,WAAO,KAAKQ,cAAL,CAAoBD,IAApB,EAA0BF,KAA1B,CAAP;AACD,GAJH;;AAMgBI,EAAAA,oBANhB,GAME,8BAAmCJ,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACO,OAAb,CAAqBV,oBAArB,EAA2CW,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAGX,sBAAsB,CAACG,KAAD,EAAQO,YAAR,CAAzC;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBf,oBAAtB,EAA4CY,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,GAXH;;AAagBH,EAAAA,OAbhB,GAaE,iBAAuCL,KAAvC,EAAiD;AAC/C,QAAMW,IAAoB,GAAG,EAA7B;AACA,WAAOf,aAAa,CAACI,KAAD,CAApB,EAA6B;AAC1BS,MAAAA,MAAM,CAACE,IAAP,CAAYX,KAAZ,CAAD,CAAoCM,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;AACAZ,MAAAA,KAAK,GAAGS,MAAM,CAACM,cAAP,CAAsBf,KAAtB,CAAR;AACD;;AAED,WAAOW,IAAI,CAACK,IAAL,EAAP;AACD,GA3BH;;AA6BiBb,EAAAA,cA7BjB,GA6BE,wBAA8BD,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMiB,QAAQ,GAAGR,MAAM,CAACV,MAAP,CAAcG,IAAd,CAAjB;AACAO,IAAAA,MAAM,CAACE,IAAP,CAAYX,KAAZ,EAAmBM,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCnB,KAAhC,EAAuCkB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,GArCH","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"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNonNullable } from "../../utils";
|
|
1
2
|
export var exposeGetters = function exposeGetters(theme) {
|
|
2
3
|
var descriptors = Object.getOwnPropertyDescriptors(theme);
|
|
3
4
|
Object.keys(descriptors).forEach(function (key) {
|
|
@@ -26,7 +27,10 @@ export var markAsDarkTheme = function markAsDarkTheme(theme) {
|
|
|
26
27
|
}, _Object$create));
|
|
27
28
|
};
|
|
28
29
|
export function findPropertyDescriptor(theme, propName) {
|
|
29
|
-
|
|
30
|
+
// TODO: Rewrite for loop.
|
|
31
|
+
// TODO: Enable `no-param-reassign` rule.
|
|
32
|
+
// eslint-disable-next-line no-param-reassign
|
|
33
|
+
for (; isNonNullable(theme); theme = Object.getPrototypeOf(theme)) {
|
|
30
34
|
if (Object.prototype.hasOwnProperty.call(theme, propName)) {
|
|
31
35
|
return Object.getOwnPropertyDescriptor(theme, propName) || {};
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeHelpers.ts"],"names":["exposeGetters","theme","descriptors","Object","getOwnPropertyDescriptors","keys","forEach","key","descriptor","get","configurable","enumerable","defineProperty","REACT_UI_DARK_THEME_KEY","isDarkTheme","markAsDarkTheme","create","value","writable","findPropertyDescriptor","propName","getPrototypeOf","prototype","hasOwnProperty","call","getOwnPropertyDescriptor"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["ThemeHelpers.ts"],"names":["isNonNullable","exposeGetters","theme","descriptors","Object","getOwnPropertyDescriptors","keys","forEach","key","descriptor","get","configurable","enumerable","defineProperty","REACT_UI_DARK_THEME_KEY","isDarkTheme","markAsDarkTheme","create","value","writable","findPropertyDescriptor","propName","getPrototypeOf","prototype","hasOwnProperty","call","getOwnPropertyDescriptor"],"mappings":"AAAA,SAASA,aAAT,QAA8B,UAA9B;;;;AAIA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAmBC,KAAnB,EAAmC;AAC9D,MAAMC,WAAW,GAAGC,MAAM,CAACC,yBAAP,CAAiCH,KAAjC,CAApB;AACAE,EAAAA,MAAM,CAACE,IAAP,CAAYH,WAAZ,EAAyBI,OAAzB,CAAiC,UAACC,GAAD,EAAS;AACxC,QAAMC,UAAU,GAAGN,WAAW,CAACK,GAAD,CAA9B;AACA,QAAI,OAAOC,UAAU,CAACC,GAAlB,KAA0B,UAA1B,IAAwCD,UAAU,CAACE,YAAvD,EAAqE;AACnEF,MAAAA,UAAU,CAACG,UAAX,GAAwB,IAAxB;AACAR,MAAAA,MAAM,CAACS,cAAP,CAAsBX,KAAtB,EAA6BM,GAA7B,EAAkCC,UAAlC;AACD;AACF,GAND;AAOA,SAAOP,KAAP;AACD,CAVM;;AAYP,OAAO,IAAMY,uBAAuB,GAAG,4BAAhC;;AAEP,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACb,KAAD,EAAqC;AAC9D;AACA,SAAOA,KAAK,CAACY,uBAAD,CAAL,KAAmC,IAA1C;AACD,CAHM;;AAKP,OAAO,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAmBd,KAAnB,EAAmC;AAChE,SAAOE,MAAM,CAACa,MAAP,CAAcf,KAAd;AACJY,EAAAA,uBADI,IACsB;AACzBI,IAAAA,KAAK,EAAE,IADkB;AAEzBC,IAAAA,QAAQ,EAAE,KAFe;AAGzBP,IAAAA,UAAU,EAAE,KAHa;AAIzBD,IAAAA,YAAY,EAAE,KAJW,EADtB,kBAAP;;;AAQD,CATM;;AAWP,OAAO,SAASS,sBAAT,CAAgClB,KAAhC,EAA8CmB,QAA9C,EAAqE;AAC1E;AACA;AACA;AACA,SAAOrB,aAAa,CAACE,KAAD,CAApB,EAA6BA,KAAK,GAAGE,MAAM,CAACkB,cAAP,CAAsBpB,KAAtB,CAArC,EAAmE;AACjE,QAAIE,MAAM,CAACmB,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCvB,KAArC,EAA4CmB,QAA5C,CAAJ,EAA2D;AACzD,aAAOjB,MAAM,CAACsB,wBAAP,CAAgCxB,KAAhC,EAAuCmB,QAAvC,KAAoD,EAA3D;AACD;AACF;AACD,SAAO,EAAP;AACD","sourcesContent":["import { isNonNullable } from '../utils';\n\nimport { Theme, ThemeIn } from './Theme';\n\nexport const exposeGetters = <T extends object>(theme: T): T => {\n const descriptors = Object.getOwnPropertyDescriptors(theme);\n Object.keys(descriptors).forEach((key) => {\n const descriptor = descriptors[key];\n if (typeof descriptor.get === 'function' && descriptor.configurable) {\n descriptor.enumerable = true;\n Object.defineProperty(theme, key, descriptor);\n }\n });\n return theme;\n};\n\nexport const REACT_UI_DARK_THEME_KEY = '__IS_REACT_UI_DARK_THEME__';\n\nexport const isDarkTheme = (theme: Theme | ThemeIn): boolean => {\n //@ts-ignore\n return theme[REACT_UI_DARK_THEME_KEY] === true;\n};\n\nexport const markAsDarkTheme = <T extends object>(theme: T): T => {\n return Object.create(theme, {\n [REACT_UI_DARK_THEME_KEY]: {\n value: true,\n writable: false,\n enumerable: false,\n configurable: false,\n },\n });\n};\n\nexport function findPropertyDescriptor(theme: Theme, propName: keyof Theme) {\n // TODO: Rewrite for loop.\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n for (; isNonNullable(theme); theme = Object.getPrototypeOf(theme)) {\n if (Object.prototype.hasOwnProperty.call(theme, propName)) {\n return Object.getOwnPropertyDescriptor(theme, propName) || {};\n }\n }\n return {};\n}\n"]}
|
package/lib/utils/utils.js
CHANGED
|
@@ -80,20 +80,31 @@ export var isReactUINode = function isReactUINode(componentName, node) {
|
|
|
80
80
|
};
|
|
81
81
|
var KB = 1024;
|
|
82
82
|
var UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
83
|
+
|
|
84
|
+
var calculateDecimals = function calculateDecimals(decimals) {
|
|
85
|
+
if (decimals < 0) {
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return 0;
|
|
90
|
+
};
|
|
91
|
+
|
|
83
92
|
export var formatBytes = function formatBytes(bytes, decimals) {
|
|
84
93
|
if (decimals === void 0) {
|
|
85
94
|
decimals = 2;
|
|
86
95
|
}
|
|
87
96
|
|
|
88
|
-
if (bytes === 0)
|
|
97
|
+
if (bytes === 0) {
|
|
98
|
+
return '0 Bytes';
|
|
99
|
+
}
|
|
89
100
|
|
|
90
101
|
if (!bytes) {
|
|
91
102
|
return null;
|
|
92
103
|
}
|
|
93
104
|
|
|
94
|
-
|
|
105
|
+
var calculatedDecimals = calculateDecimals(decimals);
|
|
95
106
|
var i = Math.floor(Math.log2(bytes) / Math.log2(KB));
|
|
96
|
-
var formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(
|
|
107
|
+
var formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));
|
|
97
108
|
return formattedBytes + " " + UNITS[i];
|
|
98
109
|
};
|
|
99
110
|
/**
|
|
@@ -106,6 +117,17 @@ export var formatBytes = function formatBytes(bytes, decimals) {
|
|
|
106
117
|
export var isNonNullable = function isNonNullable(value) {
|
|
107
118
|
return value !== null && value !== undefined;
|
|
108
119
|
};
|
|
120
|
+
/**
|
|
121
|
+
* Checks if the value `null` or `undefined`.
|
|
122
|
+
*
|
|
123
|
+
* @param value Value to check for `null` and `undefined`.
|
|
124
|
+
* @returns Returns `true` if `value` is `null` or `undefined`, else `false`.
|
|
125
|
+
*/
|
|
126
|
+
// @ts-expect-error: TypeScript doesn't consider the check inside of the function.
|
|
127
|
+
|
|
128
|
+
export var isNullable = function isNullable(value) {
|
|
129
|
+
return value === null || value === undefined;
|
|
130
|
+
};
|
|
109
131
|
/**
|
|
110
132
|
* Creates a function that checks if the given `child`
|
|
111
133
|
* is an instance of some component specified by `name`.
|
|
@@ -162,13 +184,27 @@ export var extractDataProps = function extractDataProps(props) {
|
|
|
162
184
|
value = _ref[1];
|
|
163
185
|
|
|
164
186
|
if (name.startsWith('data-')) {
|
|
165
|
-
dataProps[name] = value;
|
|
166
|
-
} else {
|
|
167
|
-
restWithoutDataProps[name] = value;
|
|
187
|
+
return dataProps[name] = value;
|
|
168
188
|
}
|
|
189
|
+
|
|
190
|
+
return restWithoutDataProps[name] = value;
|
|
169
191
|
});
|
|
170
192
|
return {
|
|
171
193
|
dataProps: dataProps,
|
|
172
194
|
restWithoutDataProps: restWithoutDataProps
|
|
173
195
|
};
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Basically `.startsWith` for arrays.
|
|
199
|
+
*
|
|
200
|
+
* @param searchKeys Array of strings to test against `inputString`.
|
|
201
|
+
* @param inputString String on which search will be performed.
|
|
202
|
+
* @returns `true` if `inputString` starts with one of keys, else `false`.
|
|
203
|
+
*/
|
|
204
|
+
|
|
205
|
+
export var startsWithOneOf = function startsWithOneOf(searchKeys, inputString) {
|
|
206
|
+
var keyIndex = searchKeys.findIndex(function (key) {
|
|
207
|
+
return inputString.startsWith(key);
|
|
208
|
+
});
|
|
209
|
+
return keyIndex >= 0;
|
|
174
210
|
};
|
package/lib/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["utils.ts"],"names":["React","isForwardRef","isBrowser","delay","ms","Promise","resolve","setTimeout","emptyHandler","CancelationError","code","Error","taskWithDelay","task","cancelationToken","reject","then","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","window","location","host","test","isReactUINode","componentName","node","isValidElement","Object","hasOwnProperty","call","__KONTUR_REACT_UI__","KB","UNITS","formatBytes","bytes","decimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isReactUIComponent","name","child","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","startsWith"],"mappings":"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","sourcesContent":["import { ReactComponentLike } from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport { isBrowser } from './client';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport function isFunction<T>(x: T | Function): x is Function {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return new RegExp(`^(https?:)?//${isBrowser ? `(?!${window.location.host})` : ``}\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (React.isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-ignore\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) return '0 Bytes';\n\n if (!bytes) {\n return null;\n }\n\n decimals = decimals < 0 ? 0 : decimals;\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(decimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-ignore\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Merges two or more refs into one.\n *\n * @param refs Array of refs.\n * @returns A single ref composing all the refs passed.\n *\n * @example\n * const SomeComponent = forwardRef((props, ref) => {\n * const localRef = useRef();\n *\n * return <div ref={mergeRefs([localRef, ref])} />;\n * });\n */\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n dataProps[name] = value;\n } else {\n restWithoutDataProps[name] = value;\n }\n });\n\n return { dataProps, restWithoutDataProps };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["utils.ts"],"names":["React","isForwardRef","isBrowser","delay","ms","Promise","resolve","setTimeout","emptyHandler","CancelationError","code","Error","taskWithDelay","task","cancelationToken","reject","then","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","window","location","host","test","isReactUINode","componentName","node","isValidElement","Object","hasOwnProperty","call","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key"],"mappings":"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","sourcesContent":["import { ReactComponentLike } from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport { isBrowser } from './client';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport function isFunction<T>(x: T | Function): x is Function {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return new RegExp(`^(https?:)?//${isBrowser ? `(?!${window.location.host})` : ``}\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (React.isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-ignore\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\n// @ts-expect-error: TypeScript doesn't consider the check inside of the function.\nexport const isNullable = <T>(value: T): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-ignore\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Merges two or more refs into one.\n *\n * @param refs Array of refs.\n * @returns A single ref composing all the refs passed.\n *\n * @example\n * const SomeComponent = forwardRef((props, ref) => {\n * const localRef = useRef();\n *\n * return <div ref={mergeRefs([localRef, ref])} />;\n * });\n */\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n"]}
|
package/lib/utils.d.ts
CHANGED
|
@@ -30,6 +30,13 @@ export declare const formatBytes: (bytes: number, decimals?: number) => string |
|
|
|
30
30
|
* @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
|
|
31
31
|
*/
|
|
32
32
|
export declare const isNonNullable: <T>(value: T) => value is NonNullable<T>;
|
|
33
|
+
/**
|
|
34
|
+
* Checks if the value `null` or `undefined`.
|
|
35
|
+
*
|
|
36
|
+
* @param value Value to check for `null` and `undefined`.
|
|
37
|
+
* @returns Returns `true` if `value` is `null` or `undefined`, else `false`.
|
|
38
|
+
*/
|
|
39
|
+
export declare const isNullable: <T>(value: T) => value is null | undefined;
|
|
33
40
|
/**
|
|
34
41
|
* Creates a function that checks if the given `child`
|
|
35
42
|
* is an instance of some component specified by `name`.
|
|
@@ -62,3 +69,11 @@ export declare const extractDataProps: <T>(props: T) => {
|
|
|
62
69
|
dataProps: Record<string, any>;
|
|
63
70
|
restWithoutDataProps: Record<string, any>;
|
|
64
71
|
};
|
|
72
|
+
/**
|
|
73
|
+
* Basically `.startsWith` for arrays.
|
|
74
|
+
*
|
|
75
|
+
* @param searchKeys Array of strings to test against `inputString`.
|
|
76
|
+
* @param inputString String on which search will be performed.
|
|
77
|
+
* @returns `true` if `inputString` starts with one of keys, else `false`.
|
|
78
|
+
*/
|
|
79
|
+
export declare const startsWithOneOf: (searchKeys: string[], inputString: string) => boolean;
|