@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
package/lib/date/types.d.ts
CHANGED
|
@@ -137,7 +137,11 @@ function MouseDrag(elem) {
|
|
|
137
137
|
};
|
|
138
138
|
|
|
139
139
|
this.getLength = function (x2, y2) {
|
|
140
|
-
|
|
140
|
+
if (_this.x1 !== undefined && _this.y1 !== undefined) {
|
|
141
|
+
return Math.sqrt(Math.pow(x2 - _this.x1, 2) + Math.pow(y2 - _this.y1, 2));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return 0;
|
|
141
145
|
};
|
|
142
146
|
|
|
143
147
|
this.createEvent = function (type, e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MouseDrag.ts"],"names":["canUseDOM","MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n return this.x1 !== undefined && this.y1 !== undefined ? Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2) : 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["MouseDrag.ts"],"names":["canUseDOM","MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n if (this.x1 !== undefined && this.y1 !== undefined) {\n return Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2);\n }\n\n return 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { KeyboardEventCodes as Codes } from "../KeyboardEventCodes";
|
|
2
2
|
import { KeyboardMapKeys } from "../KeyboardMapKeys";
|
|
3
3
|
export function extractCode(e) {
|
|
4
|
-
|
|
4
|
+
var event = e.nativeEvent || e;
|
|
5
5
|
|
|
6
|
-
if (
|
|
7
|
-
return
|
|
6
|
+
if (event.code) {
|
|
7
|
+
return event.code;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
var keyCode =
|
|
11
|
-
var location =
|
|
10
|
+
var keyCode = event.keyCode || event.which;
|
|
11
|
+
var location = event.location;
|
|
12
12
|
var mapped = Object.entries(KeyboardMapKeys).find(function (_ref) {
|
|
13
13
|
var set = _ref[1];
|
|
14
14
|
return set.some(function (_ref2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["extractCode.ts"],"names":["KeyboardEventCodes","Codes","KeyboardMapKeys","extractCode","e","nativeEvent","code","keyCode","which","location","mapped","Object","entries","find","set","some","_keyCode","_location","Unidentified"],"mappings":";;AAEA,SAASA,kBAAkB,IAAIC,KAA/B,QAA4C,sBAA5C;AACA,SAAsBC,eAAtB,QAA6C,mBAA7C;;AAEA,OAAO,SAASC,WAAT,CAAqBC,CAArB,EAAiF;
|
|
1
|
+
{"version":3,"sources":["extractCode.ts"],"names":["KeyboardEventCodes","Codes","KeyboardMapKeys","extractCode","e","event","nativeEvent","code","keyCode","which","location","mapped","Object","entries","find","set","some","_keyCode","_location","Unidentified"],"mappings":";;AAEA,SAASA,kBAAkB,IAAIC,KAA/B,QAA4C,sBAA5C;AACA,SAAsBC,eAAtB,QAA6C,mBAA7C;;AAEA,OAAO,SAASC,WAAT,CAAqBC,CAArB,EAAiF;AACtF,MAAMC,KAAK,GAAID,CAAD,CAAwCE,WAAxC,IAAuDF,CAArE;AACA,MAAIC,KAAK,CAACE,IAAV,EAAgB;AACd,WAAOF,KAAK,CAACE,IAAb;AACD;;AAED,MAAMC,OAAO,GAAGH,KAAK,CAACG,OAAN,IAAiBH,KAAK,CAACI,KAAvC;AACA,MAAMC,QAAQ,GAAGL,KAAK,CAACK,QAAvB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAAkDX,eAAlD,EAAmEY,IAAnE,CAAwE,qBAAIC,GAAJ;AACrFA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKT,OAAb,IAAwBU,SAAS,KAAKR,QAAjE,EAAT,CADqF,GAAxE,CAAf;;;AAIA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeV,KAAK,CAACkB,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardKey, KeyboardMapKeys } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n const event = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (event.code) {\n return event.code as Codes;\n }\n\n const keyCode = event.keyCode || event.which;\n const location = event.location;\n const mapped = (Object.entries as Entries<Codes, KeyboardKey[]>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { canUseDOM, isIE11 } from "../client";
|
|
2
|
+
|
|
3
|
+
var needsPolyfillPlaceholderInternal = function needsPolyfillPlaceholderInternal() {
|
|
4
|
+
if (canUseDOM) {
|
|
5
|
+
var supportsPlaceholder = ('placeholder' in document.createElement('input'));
|
|
6
|
+
|
|
7
|
+
if (!supportsPlaceholder || isIE11) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return false;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`
|
|
16
|
+
*
|
|
17
|
+
* Равен true, если браузеру нужен полифил для placeholder. Иначе - false
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
export var needsPolyfillPlaceholder = needsPolyfillPlaceholderInternal();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["needsPolyfillPlaceholder.ts"],"names":["canUseDOM","isIE11","needsPolyfillPlaceholderInternal","supportsPlaceholder","document","createElement","needsPolyfillPlaceholder"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,UAAlC;;AAEA,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAM;AAC7C,MAAIF,SAAJ,EAAe;AACb,QAAMG,mBAAmB,IAAG,iBAAiBC,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAApB,CAAzB;AACA,QAAI,CAACF,mBAAD,IAAwBF,MAA5B,EAAoC;AAClC,aAAO,IAAP;AACD;AACF;;AAED,SAAO,KAAP;AACD,CATD;;AAWA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMK,wBAAwB,GAAGJ,gCAAgC,EAAjE","sourcesContent":["import { canUseDOM, isIE11 } from './client';\n\nconst needsPolyfillPlaceholderInternal = () => {\n if (canUseDOM) {\n const supportsPlaceholder = 'placeholder' in document.createElement('input');\n if (!supportsPlaceholder || isIE11) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`\n *\n * Равен true, если браузеру нужен полифил для placeholder. Иначе - false\n */\nexport const needsPolyfillPlaceholder = needsPolyfillPlaceholderInternal();\n"]}
|
|
@@ -1,25 +1,53 @@
|
|
|
1
|
+
/* eslint-disable react/no-find-dom-node */
|
|
1
2
|
import { findDOMNode } from 'react-dom';
|
|
2
3
|
import { isHTMLElement, isNode } from "../../SSRSafe";
|
|
3
4
|
import { canUseDOM } from "../../client";
|
|
4
5
|
import { isInstanceWithRootNode } from "../rootNodeDecorator";
|
|
6
|
+
/**
|
|
7
|
+
* Extracts component's root HTMLElement out of it's instance
|
|
8
|
+
* following the "StrictMode support convention" (@see README.md#strictmode, #2518).
|
|
9
|
+
*
|
|
10
|
+
* Replaces findDOMNode but falls back to it if "convention" is not respected.
|
|
11
|
+
*
|
|
12
|
+
* @param instance Component's instance provided by React.Ref or `this` inside class-components.
|
|
13
|
+
* @returns Component's root HTMLElement or null
|
|
14
|
+
*/
|
|
15
|
+
|
|
5
16
|
export var getRootNode = function getRootNode(instance) {
|
|
6
|
-
if (!canUseDOM)
|
|
17
|
+
if (!canUseDOM || !instance) {
|
|
18
|
+
// instance can be `null` if component was unmounted
|
|
19
|
+
// also checking undefined for convinient usage
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
7
22
|
|
|
8
|
-
if (isHTMLElement(instance)
|
|
23
|
+
if (isHTMLElement(instance)) {
|
|
24
|
+
// instance can be a HTMLElement already if comming
|
|
25
|
+
// from Refs of intrinsic elements (<div />, <button />, etc.)
|
|
9
26
|
return instance;
|
|
10
27
|
}
|
|
11
28
|
|
|
12
|
-
var rootNode;
|
|
13
|
-
// the "getRootNode" method, but we dont expect it here
|
|
29
|
+
var rootNode;
|
|
14
30
|
|
|
15
|
-
if (isInstanceWithRootNode(instance)
|
|
16
|
-
|
|
31
|
+
if (isInstanceWithRootNode(instance)) {
|
|
32
|
+
// it happened to be that native Node interface also has
|
|
33
|
+
// the "getRootNode" method, but we can ignore it here
|
|
34
|
+
// because we'd already checked the instance on being an HTMLElement
|
|
35
|
+
// which is a subclass of Node, so, just fixing types here
|
|
36
|
+
if (!isNode(instance)) {
|
|
37
|
+
rootNode = instance.getRootNode();
|
|
38
|
+
}
|
|
17
39
|
}
|
|
18
40
|
|
|
19
41
|
if (rootNode !== undefined) {
|
|
42
|
+
// at this point, it is rather HTMLElement (what we are looking for)
|
|
43
|
+
// or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it
|
|
20
44
|
return rootNode;
|
|
21
|
-
}
|
|
45
|
+
} // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined
|
|
46
|
+
// anyway, it tell us that the convention is not respected (by the component itself or its children),
|
|
47
|
+
// so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
rootNode = findDOMNode(instance); // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it
|
|
22
51
|
|
|
23
|
-
rootNode = findDOMNode(instance);
|
|
24
52
|
return isHTMLElement(rootNode) ? rootNode : null;
|
|
25
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getRootNode.ts"],"names":["findDOMNode","isHTMLElement","isNode","canUseDOM","isInstanceWithRootNode","getRootNode","instance","rootNode","undefined"],"mappings":"AAAA,SAASA,WAAT,QAA4B,WAA5B;;;;AAIA,SAASC,aAAT,EAAwBC,MAAxB,QAAsC,YAAtC;AACA,SAASC,SAAT,QAA0B,WAA1B;;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACH,
|
|
1
|
+
{"version":3,"sources":["getRootNode.ts"],"names":["findDOMNode","isHTMLElement","isNode","canUseDOM","isInstanceWithRootNode","getRootNode","instance","rootNode","undefined"],"mappings":"AAAA;AACA,SAASA,WAAT,QAA4B,WAA5B;;;;AAIA,SAASC,aAAT,EAAwBC,MAAxB,QAAsC,YAAtC;AACA,SAASC,SAAT,QAA0B,WAA1B;;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACH,SAAD,IAAc,CAACG,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAIL,aAAa,CAACK,QAAD,CAAjB,EAA6B;AAC3B;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIC,QAAJ;;AAEA,MAAIH,sBAAsB,CAACE,QAAD,CAA1B,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAACJ,MAAM,CAACI,QAAD,CAAX,EAAuB;AACrBC,MAAAA,QAAQ,GAAGD,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIE,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED;AACA;AACA;AACAA,EAAAA,QAAQ,GAAGP,WAAW,CAACM,QAAD,CAAtB;;AAEA;AACA,SAAOL,aAAa,CAACM,QAAD,CAAb,GAA0BA,QAA1B,GAAqC,IAA5C;AACD,CAtCM","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"]}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Nullable } from '../../typings/utility-types';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts component's root HTMLElement out of it's instance
|
|
5
|
+
* following the "StrictMode support convention" (@see README.md#strictmode, #2518).
|
|
6
|
+
*
|
|
7
|
+
* Replaces findDOMNode but falls back to it if "convention" is not respected.
|
|
8
|
+
*
|
|
9
|
+
* @param instance Component's instance provided by React.Ref or `this` inside class-components.
|
|
10
|
+
* @returns Component's root HTMLElement or null
|
|
11
|
+
*/
|
|
3
12
|
export declare const getRootNode: (instance: Nullable<React.ReactInstance>) => Nullable<HTMLElement>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
2
|
+
/* eslint-disable react/display-name */
|
|
3
|
+
|
|
2
4
|
import EventEmitter from 'eventemitter3';
|
|
3
5
|
import { getRootNode } from "../getRootNode";
|
|
4
6
|
export function rootNode(Component) {
|
|
@@ -9,7 +11,7 @@ export function rootNode(Component) {
|
|
|
9
11
|
var _this;
|
|
10
12
|
|
|
11
13
|
_this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;
|
|
12
|
-
_this.rootNode =
|
|
14
|
+
_this.rootNode = Component.defaultRootNode;
|
|
13
15
|
_this.rootNodeEmitter = new EventEmitter();
|
|
14
16
|
|
|
15
17
|
_this.setRootNode = function (instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["rootNodeDecorator.tsx"],"names":["EventEmitter","getRootNode","rootNode","Component","rootNodeEmitter","setRootNode","instance","emit","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":["EventEmitter","getRootNode","rootNode","Component","defaultRootNode","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,SAASC,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFMC,SAAS,CAACC,eAEhB,OAD5BC,eAC4B,GADV,IAAIL,YAAJ,EACU;;;AAI5BM,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAGD,WAAW,CAACM,QAAD,CAA5B;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BO,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBP,SAAjB,CAAd;;;AA6BA,MAAMW,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCd,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACY,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBhB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEiB,KAAK,EAAEhB,SAAS,CAACiB,IAAnB,EAAxC;AACD;;AAED,SAAOlB,QAAP;AACD;;AAED,OAAO,IAAMmB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","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"]}
|
|
@@ -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 {};
|
|
@@ -3,7 +3,10 @@ export var truncate = function truncate(truncateString, maxLength, separator) {
|
|
|
3
3
|
separator = '...';
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
if (truncateString.length <= maxLength)
|
|
6
|
+
if (truncateString.length <= maxLength) {
|
|
7
|
+
return truncateString;
|
|
8
|
+
}
|
|
9
|
+
|
|
7
10
|
var separatorLength = separator.length;
|
|
8
11
|
var charsCountToShow = maxLength - separatorLength;
|
|
9
12
|
var frontCharsCount = Math.ceil(charsCountToShow / 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["stringUtils.ts"],"names":["truncate","truncateString","maxLength","separator","length","separatorLength","charsCountToShow","frontCharsCount","Math","ceil","backCharsCount","floor","substr"],"mappings":"AAAA,OAAO,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":"AAAA,OAAO,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","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"]}
|
|
@@ -24,14 +24,14 @@ export var ColorFactory = /*#__PURE__*/function () {
|
|
|
24
24
|
return new ColorObject([0, 0, 0], 1.0, 'transparent');
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
var lowercasedTrimmedInput = input.toLowerCase().trim();
|
|
28
28
|
|
|
29
|
-
if (
|
|
29
|
+
if (lowercasedTrimmedInput === 'transparent') {
|
|
30
30
|
return new ColorObject([0, 0, 0], 0, 'transparent');
|
|
31
|
-
} else if (this.isKeyword(
|
|
32
|
-
return this.fromKeyword(
|
|
33
|
-
} else if (
|
|
34
|
-
var parts = extractColorParts(
|
|
31
|
+
} else if (this.isKeyword(lowercasedTrimmedInput)) {
|
|
32
|
+
return this.fromKeyword(lowercasedTrimmedInput);
|
|
33
|
+
} else if (lowercasedTrimmedInput.startsWith('rgb')) {
|
|
34
|
+
var parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);
|
|
35
35
|
|
|
36
36
|
var _parseRGBParts = parseRGBParts(parts),
|
|
37
37
|
r = _parseRGBParts.r,
|
|
@@ -44,8 +44,8 @@ export var ColorFactory = /*#__PURE__*/function () {
|
|
|
44
44
|
b = clamp(b, 255);
|
|
45
45
|
a = clamp(a, 1);
|
|
46
46
|
return this.fromRGB(r, g, b, a);
|
|
47
|
-
} else if (
|
|
48
|
-
var _parts = extractColorParts(
|
|
47
|
+
} else if (lowercasedTrimmedInput.startsWith('hsl')) {
|
|
48
|
+
var _parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);
|
|
49
49
|
|
|
50
50
|
var _parseHSLParts = parseHSLParts(_parts),
|
|
51
51
|
h = _parseHSLParts.h,
|
|
@@ -60,7 +60,7 @@ export var ColorFactory = /*#__PURE__*/function () {
|
|
|
60
60
|
return this.fromHSL(h, s, l, _a);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
return this.fromHex(
|
|
63
|
+
return this.fromHex(lowercasedTrimmedInput);
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
ColorFactory.isKeyword = function isKeyword(input) {
|
|
@@ -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
|
+
};
|