@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
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import EditIcon from '@skbkontur/react-icons/Edit';
|
|
4
4
|
import DeleteIcon from '@skbkontur/react-icons/Delete';
|
|
5
5
|
import EventEmitter from 'eventemitter3';
|
|
6
|
+
import { isColor } from "../../../lib/styles/ColorHelpers";
|
|
6
7
|
import { Input } from "../../../components/Input";
|
|
7
8
|
import { Gapped } from "../../../components/Gapped";
|
|
8
9
|
import { Link } from "../../../components/Link";
|
|
@@ -178,7 +179,7 @@ export var VariableValue = /*#__PURE__*/function (_React$Component) {
|
|
|
178
179
|
|
|
179
180
|
_proto.renderInput = function renderInput() {
|
|
180
181
|
return /*#__PURE__*/React.createElement(Input, {
|
|
181
|
-
leftIcon:
|
|
182
|
+
leftIcon: isColorExtended(this.state.value) && this.colorIcon(),
|
|
182
183
|
value: this.state.value,
|
|
183
184
|
onValueChange: this.handleChange,
|
|
184
185
|
onBlur: this.handleBlur,
|
|
@@ -235,12 +236,22 @@ var BaseVariableLink = /*#__PURE__*/function (_React$Component2) {
|
|
|
235
236
|
return BaseVariableLink;
|
|
236
237
|
}(React.Component);
|
|
237
238
|
|
|
238
|
-
function
|
|
239
|
+
var getColorValue = function getColorValue(color) {
|
|
239
240
|
if (isFunction(color)) {
|
|
240
|
-
|
|
241
|
+
return color();
|
|
241
242
|
}
|
|
242
243
|
|
|
244
|
+
return color;
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
function isColorExtended(color) {
|
|
248
|
+
var colorValue = getColorValue(color);
|
|
243
249
|
var style = new Option().style;
|
|
244
|
-
style.color =
|
|
245
|
-
|
|
250
|
+
style.color = colorValue;
|
|
251
|
+
|
|
252
|
+
if (colorValue) {
|
|
253
|
+
return isColor(colorValue) || style.color === colorValue;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
return false;
|
|
246
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VariableValue.tsx"],"names":["React","EditIcon","DeleteIcon","EventEmitter","Input","Gapped","Link","Hint","isFunction","cx","styles","emitter","VariableValue","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColor","isError","linkRoot","Component","defaultProps","BaseVariableLink","baseVariable","color","style","Option","startsWith"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps = {\n deprecated: false,\n };\n public state = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables, deprecated } = this.props;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColor(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\nfunction isColor(color: string | (() => string)) {\n if (isFunction(color)) {\n color = color();\n }\n const style = new Option().style;\n style.color = color;\n\n return (\n !!color && (color.startsWith('#') || color.startsWith('rgb') || color.startsWith('hsl') || style.color === color)\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["VariableValue.tsx"],"names":["React","EditIcon","DeleteIcon","EventEmitter","isColor","Input","Gapped","Link","Hint","isFunction","cx","styles","emitter","VariableValue","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","Component","defaultProps","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps = {\n deprecated: false,\n };\n public state = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables, deprecated } = this.props;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
|
|
@@ -5,6 +5,8 @@ export var ThemeType;
|
|
|
5
5
|
ThemeType["Dark"] = "dark";
|
|
6
6
|
ThemeType["DefaultOld"] = "defaultOld";
|
|
7
7
|
ThemeType["FlatOld"] = "flatOld";
|
|
8
|
+
ThemeType["Theme2022"] = "theme2022";
|
|
9
|
+
ThemeType["Theme2022Dark"] = "theme2022Dark";
|
|
8
10
|
})(ThemeType || (ThemeType = {}));
|
|
9
11
|
|
|
10
12
|
export var VARIABLES_GROUPS = [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["constants.ts"],"names":["ThemeType","VARIABLES_GROUPS","title","prefix","isCommon","DEPRECATED_VARIABLES"],"mappings":";;AAEA,WAAYA,SAAZ,C,WAAYA,S,GAAAA,S,wBAAAA,S,kBAAAA,S,8BAAAA,S,
|
|
1
|
+
{"version":3,"sources":["constants.ts"],"names":["ThemeType","VARIABLES_GROUPS","title","prefix","isCommon","DEPRECATED_VARIABLES"],"mappings":";;AAEA,WAAYA,SAAZ,C,WAAYA,S,GAAAA,S,wBAAAA,S,kBAAAA,S,8BAAAA,S,wBAAAA,S,4BAAAA,S,uCAAAA,S,KAAAA,S;;;;;;;;;AASZ,OAAO,IAAMC,gBAAgB,GAAG;AAC9B,EAAEC,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,MAA3B,EAAmCC,QAAQ,EAAE,IAA7C,EAD8B;AAE9B,EAAEF,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,KAA3B,EAF8B;AAG9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAH8B;AAI9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAJ8B;AAK9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,sBAA/B,EAL8B;AAM9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAN8B;AAO9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAP8B;AAQ9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAR8B;AAS9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAT8B;AAU9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAV8B;AAW9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAX8B;AAY9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA3B8B,CAAzB;;;AA8BP,OAAO,IAAME,oBAAwC,GAAG,EAAjD","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\n\nexport enum ThemeType {\n Default = 'default',\n Dark = 'dark',\n DefaultOld = 'defaultOld',\n FlatOld = 'flatOld',\n Theme2022 = 'theme2022',\n Theme2022Dark = 'theme2022Dark',\n}\n\nexport const VARIABLES_GROUPS = [\n { title: 'Common', prefix: 'null', isCommon: true },\n { title: 'Button', prefix: 'btn' },\n { title: 'Border', prefix: 'border' },\n { title: 'Checkbox', prefix: 'checkbox' },\n { title: 'DatePicker', prefix: 'date calendar picker' },\n { title: 'Dropdown', prefix: 'dropdown' },\n { title: 'Input', prefix: 'input' },\n { title: 'Link', prefix: 'link' },\n { title: 'Loader', prefix: 'loader' },\n { title: 'Menu', prefix: 'menu' },\n { title: 'Modal', prefix: 'modal' },\n { title: 'Paging', prefix: 'paging' },\n { title: 'Popup', prefix: 'popup' },\n { title: 'Radio', prefix: 'radio' },\n { title: 'SidePage', prefix: 'sidePage' },\n { title: 'Tabs', prefix: 'tab' },\n { title: 'Textarea', prefix: 'textarea' },\n { title: 'Toast', prefix: 'toast' },\n { title: 'Toggle', prefix: 'toggle' },\n { title: 'Tooltip', prefix: 'tooltip' },\n { title: 'Token', prefix: 'token' },\n { title: 'TokenInput', prefix: 'tokenInput' },\n { title: 'Select', prefix: 'select' },\n { title: 'Spinner', prefix: 'spinner' },\n { title: 'Switcher', prefix: 'switcher' },\n { title: 'Legacy', prefix: 'chb slt' },\n { title: 'GlobalLoader', prefix: 'globalLoader' },\n];\n\nexport const DEPRECATED_VARIABLES: Array<keyof Theme> = [];\n"]}
|
|
@@ -3,7 +3,9 @@ export declare enum ThemeType {
|
|
|
3
3
|
Default = "default",
|
|
4
4
|
Dark = "dark",
|
|
5
5
|
DefaultOld = "defaultOld",
|
|
6
|
-
FlatOld = "flatOld"
|
|
6
|
+
FlatOld = "flatOld",
|
|
7
|
+
Theme2022 = "theme2022",
|
|
8
|
+
Theme2022Dark = "theme2022Dark"
|
|
7
9
|
}
|
|
8
10
|
export declare const VARIABLES_GROUPS: ({
|
|
9
11
|
title: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { isColor } from "../../../lib/styles/ColorHelpers";
|
|
3
4
|
import { DEFAULT_THEME as defaultVariables } from "../../../lib/theming/themes/DefaultTheme";
|
|
4
5
|
import { DARK_THEME as darkVariables } from "../../../lib/theming/themes/DarkTheme";
|
|
5
6
|
import { ComboBox } from "../../../components/ComboBox";
|
|
@@ -43,9 +44,9 @@ export var ThemeShowcase = /*#__PURE__*/function (_React$Component) {
|
|
|
43
44
|
|
|
44
45
|
if (values.length > 0) {
|
|
45
46
|
return values[0];
|
|
46
|
-
} else {
|
|
47
|
-
return _this.resetVariable();
|
|
48
47
|
}
|
|
48
|
+
|
|
49
|
+
return _this.resetVariable();
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
_this.resetVariable = function () {
|
|
@@ -421,10 +422,6 @@ var ShowUnusedVariables = function ShowUnusedVariables(props) {
|
|
|
421
422
|
})));
|
|
422
423
|
};
|
|
423
424
|
|
|
424
|
-
function isColor(input) {
|
|
425
|
-
return !!input && (input.startsWith('#') || input.startsWith('rgb') || input.startsWith('hsl'));
|
|
426
|
-
}
|
|
427
|
-
|
|
428
425
|
function isGradient(input) {
|
|
429
426
|
return !!input && input.startsWith('linear-gradient');
|
|
430
427
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeShowcase.tsx"],"names":["React","DEFAULT_THEME","defaultVariables","DARK_THEME","darkVariables","ComboBox","Gapped","Link","Sticky","ColorFunctions","Tooltip","IS_PROXY_SUPPORTED","cx","ThemeContext","ALL_USED_VARIABLES","CALLS_COUNT","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","EXECUTION_TIME","styles","EMPTY_ARRAY","ALL_VARIABLES","Object","keys","ThemeShowcase","props","state","isUnmounting","variablesDiff","getItems","query","Promise","resolve","getValues","handleVariableChange","item","setState","selectedVariable","handleUnexpectedVariableInput","values","length","resetVariable","undefined","isDebugMode","forEach","variable","found","includes","push","render","descriptionsToRender","value","callsCount","executionTime","toFixed","theme","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","heading","headingSticky","table","headerCell","width","el","ComponentShowcaseRow","element","row","rowSpan","variables","invisibleRow","invisibleDarkRow","cell","majorCell","elementName","invisibleCell","varName","dependencies","variableDefault","variableDark","hasNoVariables","suspiciousRow","darkRow","VariableName","handleVariableSelect","variableName","renderDependencies","dependency","DependencyName","dependencyName","dependencyDefault","dependencyDark","handleDependencySelect","onDependencySelect","VariableValue","valueIsColor","isColor","valueIsGradient","isGradient","hasExample","borderColor","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { DEFAULT_THEME as defaultVariables } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME as darkVariables } from '../../lib/theming/themes/DarkTheme';\nimport { ComboBox, ComboBoxItem } from '../../components/ComboBox';\nimport { Gapped } from '../../components/Gapped';\nimport { Link } from '../../components/Link';\nimport { Sticky } from '../../components/Sticky';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Tooltip } from '../../components/Tooltip';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport {\n ALL_USED_VARIABLES,\n CALLS_COUNT,\n COMPONENT_DESCRIPTIONS,\n COMPONENT_DESCRIPTIONS_BY_VARIABLE,\n ComponentDescriptionType,\n ComponentRowDescriptionType,\n EXECUTION_TIME,\n} from './VariablesCollector';\nimport { styles } from './ThemeShowcase.styles';\n\nconst EMPTY_ARRAY: string[] = [];\n\nconst ALL_VARIABLES = Object.keys(defaultVariables) as Array<keyof Theme>;\n\ninterface ShowcaseProps {\n isDebugMode?: boolean;\n}\ninterface ShowcaseState {\n selectedVariable?: ComboBoxItem;\n}\n\nexport class ThemeShowcase extends React.Component<ShowcaseProps, ShowcaseState> {\n public state: ShowcaseState = {};\n\n private isUnmounting = false;\n private variablesDiff: string[] = [];\n\n constructor(props: ShowcaseProps) {\n super(props);\n if (props.isDebugMode) {\n ALL_VARIABLES.forEach((variable) => {\n const found = ALL_USED_VARIABLES.includes(variable);\n if (!found) {\n this.variablesDiff.push(variable);\n }\n });\n }\n }\n\n public render() {\n if (!IS_PROXY_SUPPORTED) {\n return (\n <div>\n Таблица использования переменных доступна только в{' '}\n <Link href={'https://caniuse.com/#feat=proxy'} target={'_blank'}>\n браузерах с поддержкой Proxy\n </Link>\n .\n </div>\n );\n }\n\n const selectedVariable = this.state.selectedVariable;\n const descriptionsToRender = selectedVariable\n ? COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {}\n : COMPONENT_DESCRIPTIONS;\n\n const isDebugMode = this.props.isDebugMode;\n const callsCount = isDebugMode ? `(${CALLS_COUNT} вызовов)` : '';\n const executionTime = isDebugMode ? `Сгенерировано за ${EXECUTION_TIME.toFixed(3)}ms` : '';\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <Gapped wrap gap={30} verticalAlign={'top'}>\n <div>\n <Sticky side={'top'}>\n <div className={styles.searchBar(theme)} data-perf-info={`${executionTime} ${callsCount}`}>\n <Gapped gap={15}>\n <ComboBox\n getItems={this.getItems}\n value={selectedVariable}\n onValueChange={this.handleVariableChange}\n onUnexpectedInput={this.handleUnexpectedVariableInput}\n placeholder={'поиск по названию переменной'}\n />\n {!!selectedVariable && <Link onClick={this.resetVariable}>сбросить</Link>}\n </Gapped>\n </div>\n </Sticky>\n {Object.keys(descriptionsToRender)\n .sort()\n .map((componentName) => (\n <ComponentShowcase\n key={componentName}\n name={componentName}\n description={descriptionsToRender[componentName]}\n isDebugMode={isDebugMode}\n onVariableSelect={this.handleVariableChange}\n />\n ))}\n </div>\n <ShowUnusedVariables diff={this.variablesDiff} />\n </Gapped>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public componentWillUnmount(): void {\n this.isUnmounting = true;\n }\n\n private getValues(query: string) {\n const lowerCaseQuery = query && query.toLowerCase().trim();\n let allItems = ALL_USED_VARIABLES;\n if (lowerCaseQuery) {\n allItems = ALL_USED_VARIABLES.filter((usedVariable) => usedVariable.toLowerCase().startsWith(lowerCaseQuery));\n }\n return allItems.map((usedVariableName) => ({\n value: usedVariableName,\n label: usedVariableName,\n }));\n }\n private getItems = (query: string) => {\n return Promise.resolve(this.getValues(query));\n };\n private handleVariableChange = (item: ComboBoxItem) => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: item });\n }\n };\n private handleUnexpectedVariableInput = (query: string) => {\n const values = this.getValues(query);\n if (values.length > 0) {\n return values[0];\n } else {\n return this.resetVariable();\n }\n };\n private resetVariable = () => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: undefined });\n }\n };\n}\n\ninterface ComponentShowcaseProps {\n name: string;\n description: ComponentDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\nclass ComponentShowcase extends React.Component<ComponentShowcaseProps, {}> {\n public render() {\n const { name, description, onVariableSelect, isDebugMode } = this.props;\n const elements = Object.keys(description);\n\n return elements.length ? (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={cx({\n [styles.heading(theme)]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {this.props.name}\n </h2>\n )}\n </Sticky>\n <table className={styles.table()}>\n <thead>\n <tr>\n <th className={styles.headerCell()} style={{ width: 170 }}>\n ClassName\n </th>\n <th className={styles.headerCell()} style={{ width: 210 }}>\n Variable Name\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Default Value\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Dark Value\n </th>\n </tr>\n </thead>\n <tbody>\n {elements.map((el) => (\n <ComponentShowcaseRow\n key={`${name}_${el}`}\n element={el}\n row={description[el]}\n onVariableSelect={onVariableSelect}\n isDebugMode={isDebugMode}\n />\n ))}\n </tbody>\n </table>\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n ) : null;\n }\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass ComponentShowcaseRow extends React.Component<ComponentShowcaseRowProps> {\n public render() {\n const { element: el, row, isDebugMode } = this.props;\n const rowSpan = row.variables.length + 1;\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <tr className={cx(styles.invisibleRow(), { [styles.invisibleDarkRow()]: theme === darkVariables })}>\n <td className={cx(styles.cell(), styles.majorCell())} rowSpan={rowSpan}>\n <span className={styles.elementName()}>.{el}</span>\n </td>\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n </tr>\n {row.variables.map((varName) => {\n const dependencies = row.dependencies[varName] || EMPTY_ARRAY;\n const variableDefault = defaultVariables[varName] as string;\n const variableDark = darkVariables[varName] as string;\n const hasNoVariables = isDebugMode && !variableDefault;\n return (\n <tr\n key={`${el}_${varName}`}\n className={cx(styles.row(), {\n [styles.suspiciousRow()]: hasNoVariables,\n [styles.darkRow()]: theme === darkVariables,\n })}\n >\n <td className={styles.cell()}>\n <VariableName\n variableName={varName as string}\n dependencies={dependencies}\n onVariableSelect={this.props.onVariableSelect}\n />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDefault} />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDark} />\n </td>\n </tr>\n );\n })}\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n}\n\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass VariableName extends React.Component<VariableNameProps> {\n public render() {\n return (\n <span>\n <span className={styles.variableName()} onClick={this.handleVariableSelect}>\n {this.props.variableName}\n </span>\n {this.props.dependencies.length > 0 && this.renderDependencies()}\n </span>\n );\n }\n\n private renderDependencies() {\n const { dependencies, onVariableSelect } = this.props;\n return (\n <React.Fragment>\n <br />\n <br />\n зависит от:\n {dependencies.map((dependency) => (\n <DependencyName\n key={`dependency_${dependency}`}\n dependencyName={dependency}\n onDependencySelect={onVariableSelect}\n />\n ))}\n </React.Fragment>\n );\n }\n\n private handleVariableSelect = () => {\n const { variableName, onVariableSelect } = this.props;\n if (onVariableSelect) {\n onVariableSelect({ value: variableName, label: variableName });\n }\n };\n}\n\ninterface DependencyNameProps {\n dependencyName: keyof Theme;\n onDependencySelect: (item: ComboBoxItem) => void;\n}\nclass DependencyName extends React.Component<DependencyNameProps> {\n public render() {\n return (\n <React.Fragment>\n <br />\n –{' '}\n <Tooltip trigger={'hover'} render={this.getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={this.handleDependencySelect}>\n {this.props.dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n }\n\n private getValues = () => {\n const dependencyName = this.props.dependencyName;\n const dependencyDefault = defaultVariables[dependencyName] as string;\n const dependencyDark = darkVariables[dependencyName] as string;\n return (\n <React.Fragment>\n <span>Default value: {<VariableValue value={dependencyDefault} />}</span>\n <span>Dark value: {<VariableValue value={dependencyDark} />}</span>\n </React.Fragment>\n );\n };\n\n private handleDependencySelect = () => {\n const { dependencyName, onDependencySelect } = this.props;\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n };\n}\n\nconst VariableValue = (props: { value: string }) => {\n const value = props.value;\n const valueIsColor = isColor(value);\n const valueIsGradient = isGradient(value);\n const hasExample = valueIsColor || valueIsGradient;\n let borderColor = 'transparent';\n if (hasExample) {\n borderColor = valueIsColor ? ColorFunctions.contrast(value) : '#000';\n }\n\n return (\n <span className={cx({ [styles.undefined()]: !value })}>\n {hasExample && <span className={styles.colorExample()} style={{ background: value, borderColor }} />}\n {value || 'undefined'}\n </span>\n );\n};\n\nconst ShowUnusedVariables = (props: { diff: string[] }) => {\n if (props.diff.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.unusedVariablesWarning()}>\n Неиспользованные переменные ({props.diff.length}\n ):\n <ul>\n {props.diff.sort().map((v) => (\n <li key={v}>{v}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nfunction isColor(input: string) {\n return !!input && (input.startsWith('#') || input.startsWith('rgb') || input.startsWith('hsl'));\n}\n\nfunction isGradient(input: string) {\n return !!input && input.startsWith('linear-gradient');\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ThemeShowcase.tsx"],"names":["React","isColor","DEFAULT_THEME","defaultVariables","DARK_THEME","darkVariables","ComboBox","Gapped","Link","Sticky","ColorFunctions","Tooltip","IS_PROXY_SUPPORTED","cx","ThemeContext","ALL_USED_VARIABLES","CALLS_COUNT","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","EXECUTION_TIME","styles","EMPTY_ARRAY","ALL_VARIABLES","Object","keys","ThemeShowcase","props","state","isUnmounting","variablesDiff","getItems","query","Promise","resolve","getValues","handleVariableChange","item","setState","selectedVariable","handleUnexpectedVariableInput","values","length","resetVariable","undefined","isDebugMode","forEach","variable","found","includes","push","render","descriptionsToRender","value","callsCount","executionTime","toFixed","theme","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","heading","headingSticky","table","headerCell","width","el","ComponentShowcaseRow","element","row","rowSpan","variables","invisibleRow","invisibleDarkRow","cell","majorCell","elementName","invisibleCell","varName","dependencies","variableDefault","variableDark","hasNoVariables","suspiciousRow","darkRow","VariableName","handleVariableSelect","variableName","renderDependencies","dependency","DependencyName","dependencyName","dependencyDefault","dependencyDark","handleDependencySelect","onDependencySelect","VariableValue","valueIsColor","valueIsGradient","isGradient","hasExample","borderColor","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { DEFAULT_THEME as defaultVariables } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME as darkVariables } from '../../lib/theming/themes/DarkTheme';\nimport { ComboBox, ComboBoxItem } from '../../components/ComboBox';\nimport { Gapped } from '../../components/Gapped';\nimport { Link } from '../../components/Link';\nimport { Sticky } from '../../components/Sticky';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Tooltip } from '../../components/Tooltip';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport {\n ALL_USED_VARIABLES,\n CALLS_COUNT,\n COMPONENT_DESCRIPTIONS,\n COMPONENT_DESCRIPTIONS_BY_VARIABLE,\n ComponentDescriptionType,\n ComponentRowDescriptionType,\n EXECUTION_TIME,\n} from './VariablesCollector';\nimport { styles } from './ThemeShowcase.styles';\n\nconst EMPTY_ARRAY: string[] = [];\n\nconst ALL_VARIABLES = Object.keys(defaultVariables) as Array<keyof Theme>;\n\ninterface ShowcaseProps {\n isDebugMode?: boolean;\n}\ninterface ShowcaseState {\n selectedVariable?: ComboBoxItem;\n}\n\nexport class ThemeShowcase extends React.Component<ShowcaseProps, ShowcaseState> {\n public state: ShowcaseState = {};\n\n private isUnmounting = false;\n private variablesDiff: string[] = [];\n\n constructor(props: ShowcaseProps) {\n super(props);\n if (props.isDebugMode) {\n ALL_VARIABLES.forEach((variable) => {\n const found = ALL_USED_VARIABLES.includes(variable);\n if (!found) {\n this.variablesDiff.push(variable);\n }\n });\n }\n }\n\n public render() {\n if (!IS_PROXY_SUPPORTED) {\n return (\n <div>\n Таблица использования переменных доступна только в{' '}\n <Link href={'https://caniuse.com/#feat=proxy'} target={'_blank'}>\n браузерах с поддержкой Proxy\n </Link>\n .\n </div>\n );\n }\n\n const selectedVariable = this.state.selectedVariable;\n const descriptionsToRender = selectedVariable\n ? COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {}\n : COMPONENT_DESCRIPTIONS;\n\n const isDebugMode = this.props.isDebugMode;\n const callsCount = isDebugMode ? `(${CALLS_COUNT} вызовов)` : '';\n const executionTime = isDebugMode ? `Сгенерировано за ${EXECUTION_TIME.toFixed(3)}ms` : '';\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <Gapped wrap gap={30} verticalAlign={'top'}>\n <div>\n <Sticky side={'top'}>\n <div className={styles.searchBar(theme)} data-perf-info={`${executionTime} ${callsCount}`}>\n <Gapped gap={15}>\n <ComboBox\n getItems={this.getItems}\n value={selectedVariable}\n onValueChange={this.handleVariableChange}\n onUnexpectedInput={this.handleUnexpectedVariableInput}\n placeholder={'поиск по названию переменной'}\n />\n {!!selectedVariable && <Link onClick={this.resetVariable}>сбросить</Link>}\n </Gapped>\n </div>\n </Sticky>\n {Object.keys(descriptionsToRender)\n .sort()\n .map((componentName) => (\n <ComponentShowcase\n key={componentName}\n name={componentName}\n description={descriptionsToRender[componentName]}\n isDebugMode={isDebugMode}\n onVariableSelect={this.handleVariableChange}\n />\n ))}\n </div>\n <ShowUnusedVariables diff={this.variablesDiff} />\n </Gapped>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public componentWillUnmount(): void {\n this.isUnmounting = true;\n }\n\n private getValues(query: string) {\n const lowerCaseQuery = query && query.toLowerCase().trim();\n let allItems = ALL_USED_VARIABLES;\n if (lowerCaseQuery) {\n allItems = ALL_USED_VARIABLES.filter((usedVariable) => usedVariable.toLowerCase().startsWith(lowerCaseQuery));\n }\n return allItems.map((usedVariableName) => ({\n value: usedVariableName,\n label: usedVariableName,\n }));\n }\n private getItems = (query: string) => {\n return Promise.resolve(this.getValues(query));\n };\n private handleVariableChange = (item: ComboBoxItem) => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: item });\n }\n };\n private handleUnexpectedVariableInput = (query: string) => {\n const values = this.getValues(query);\n if (values.length > 0) {\n return values[0];\n }\n\n return this.resetVariable();\n };\n private resetVariable = () => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: undefined });\n }\n };\n}\n\ninterface ComponentShowcaseProps {\n name: string;\n description: ComponentDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\nclass ComponentShowcase extends React.Component<ComponentShowcaseProps, {}> {\n public render() {\n const { name, description, onVariableSelect, isDebugMode } = this.props;\n const elements = Object.keys(description);\n\n return elements.length ? (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={cx({\n [styles.heading(theme)]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {this.props.name}\n </h2>\n )}\n </Sticky>\n <table className={styles.table()}>\n <thead>\n <tr>\n <th className={styles.headerCell()} style={{ width: 170 }}>\n ClassName\n </th>\n <th className={styles.headerCell()} style={{ width: 210 }}>\n Variable Name\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Default Value\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Dark Value\n </th>\n </tr>\n </thead>\n <tbody>\n {elements.map((el) => (\n <ComponentShowcaseRow\n key={`${name}_${el}`}\n element={el}\n row={description[el]}\n onVariableSelect={onVariableSelect}\n isDebugMode={isDebugMode}\n />\n ))}\n </tbody>\n </table>\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n ) : null;\n }\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass ComponentShowcaseRow extends React.Component<ComponentShowcaseRowProps> {\n public render() {\n const { element: el, row, isDebugMode } = this.props;\n const rowSpan = row.variables.length + 1;\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <tr className={cx(styles.invisibleRow(), { [styles.invisibleDarkRow()]: theme === darkVariables })}>\n <td className={cx(styles.cell(), styles.majorCell())} rowSpan={rowSpan}>\n <span className={styles.elementName()}>.{el}</span>\n </td>\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n </tr>\n {row.variables.map((varName) => {\n const dependencies = row.dependencies[varName] || EMPTY_ARRAY;\n const variableDefault = defaultVariables[varName] as string;\n const variableDark = darkVariables[varName] as string;\n const hasNoVariables = isDebugMode && !variableDefault;\n return (\n <tr\n key={`${el}_${varName}`}\n className={cx(styles.row(), {\n [styles.suspiciousRow()]: hasNoVariables,\n [styles.darkRow()]: theme === darkVariables,\n })}\n >\n <td className={styles.cell()}>\n <VariableName\n variableName={varName as string}\n dependencies={dependencies}\n onVariableSelect={this.props.onVariableSelect}\n />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDefault} />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDark} />\n </td>\n </tr>\n );\n })}\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n}\n\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass VariableName extends React.Component<VariableNameProps> {\n public render() {\n return (\n <span>\n <span className={styles.variableName()} onClick={this.handleVariableSelect}>\n {this.props.variableName}\n </span>\n {this.props.dependencies.length > 0 && this.renderDependencies()}\n </span>\n );\n }\n\n private renderDependencies() {\n const { dependencies, onVariableSelect } = this.props;\n return (\n <React.Fragment>\n <br />\n <br />\n зависит от:\n {dependencies.map((dependency) => (\n <DependencyName\n key={`dependency_${dependency}`}\n dependencyName={dependency}\n onDependencySelect={onVariableSelect}\n />\n ))}\n </React.Fragment>\n );\n }\n\n private handleVariableSelect = () => {\n const { variableName, onVariableSelect } = this.props;\n if (onVariableSelect) {\n onVariableSelect({ value: variableName, label: variableName });\n }\n };\n}\n\ninterface DependencyNameProps {\n dependencyName: keyof Theme;\n onDependencySelect: (item: ComboBoxItem) => void;\n}\nclass DependencyName extends React.Component<DependencyNameProps> {\n public render() {\n return (\n <React.Fragment>\n <br />\n –{' '}\n <Tooltip trigger={'hover'} render={this.getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={this.handleDependencySelect}>\n {this.props.dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n }\n\n private getValues = () => {\n const dependencyName = this.props.dependencyName;\n const dependencyDefault = defaultVariables[dependencyName] as string;\n const dependencyDark = darkVariables[dependencyName] as string;\n return (\n <React.Fragment>\n <span>Default value: {<VariableValue value={dependencyDefault} />}</span>\n <span>Dark value: {<VariableValue value={dependencyDark} />}</span>\n </React.Fragment>\n );\n };\n\n private handleDependencySelect = () => {\n const { dependencyName, onDependencySelect } = this.props;\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n };\n}\n\nconst VariableValue = (props: { value: string }) => {\n const value = props.value;\n const valueIsColor = isColor(value);\n const valueIsGradient = isGradient(value);\n const hasExample = valueIsColor || valueIsGradient;\n let borderColor = 'transparent';\n if (hasExample) {\n borderColor = valueIsColor ? ColorFunctions.contrast(value) : '#000';\n }\n\n return (\n <span className={cx({ [styles.undefined()]: !value })}>\n {hasExample && <span className={styles.colorExample()} style={{ background: value, borderColor }} />}\n {value || 'undefined'}\n </span>\n );\n};\n\nconst ShowUnusedVariables = (props: { diff: string[] }) => {\n if (props.diff.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.unusedVariablesWarning()}>\n Неиспользованные переменные ({props.diff.length}\n ):\n <ul>\n {props.diff.sort().map((v) => (\n <li key={v}>{v}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nfunction isGradient(input: string) {\n return !!input && input.startsWith('linear-gradient');\n}\n"]}
|
|
@@ -107,12 +107,10 @@ function getProxyHandler(accumulator, dependencies) {
|
|
|
107
107
|
if (accessLevel === 0) {
|
|
108
108
|
rootProp = propName;
|
|
109
109
|
accumulator.add(propName);
|
|
110
|
-
} else {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
dependencies[rootProp].push(propName);
|
|
115
|
-
}
|
|
110
|
+
} else if (!dependencies[rootProp]) {
|
|
111
|
+
dependencies[rootProp] = [propName];
|
|
112
|
+
} else if (!dependencies[rootProp].includes(propName)) {
|
|
113
|
+
dependencies[rootProp].push(propName);
|
|
116
114
|
}
|
|
117
115
|
}
|
|
118
116
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VariablesCollector.ts"],"names":["DEFAULT_THEME","DARK_THEME","IS_PROXY_SUPPORTED","callsCount","executionTime","ALL_USED_VARIABLES_SET","Set","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","baseThemes","push","componentsContext","require","context","keys","forEach","fileName","fileNameStart","lastIndexOf","componentName","substring","replace","componentDescription","Object","exportName","styles","elementName","jsStyle","variablesAccumulator","dependencies","elementProxyHandler","getProxyHandler","themes","map","t","Proxy","variables","Array","from","length","variableName","variableNode","componentNode","includes","dependenciesList","dependencyName","dependencyNode","accumulator","accessLevel","rootProp","isThemeVariable","theme","name","get","target","prop","receiver","propName","add","start","performance","now","result","Reflect","ALL_USED_VARIABLES","CALLS_COUNT","EXECUTION_TIME"],"mappings":"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","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\n\nexport interface DescriptionsType {\n [componentName: string]: ComponentDescriptionType;\n}\n\nexport interface ComponentDescriptionType {\n [elementName: string]: ComponentRowDescriptionType;\n}\n\nexport interface ComponentRowDescriptionType {\n variables: Array<keyof Theme>;\n dependencies: VariableDependencies;\n}\n\nexport interface VariableNameToComponentsMap {\n [variableName: string]: DescriptionsType;\n}\n\nexport interface VariableDependencies {\n [variableName: string]: Array<keyof Theme>;\n}\n\nlet callsCount = 0;\nlet executionTime = 0;\nconst ALL_USED_VARIABLES_SET = new Set<keyof Theme>();\n\nexport const COMPONENT_DESCRIPTIONS: DescriptionsType = {};\nexport const COMPONENT_DESCRIPTIONS_BY_VARIABLE: VariableNameToComponentsMap = {};\n\nif (IS_PROXY_SUPPORTED) {\n const baseThemes: Theme[] = [];\n baseThemes.push(DEFAULT_THEME);\n baseThemes.push(DARK_THEME);\n\n const componentsContext = require.context('../../../', true, /\\.styles.ts$/);\n componentsContext.keys().forEach((fileName) => {\n const fileNameStart = fileName.lastIndexOf('/') + 1;\n const componentName = fileName.substring(fileNameStart).replace('.styles.ts', '');\n const componentDescription: ComponentDescriptionType = {};\n Object.keys(componentsContext(fileName)).forEach((exportName) => {\n const styles = componentsContext(fileName)[exportName];\n\n Object.keys(styles).forEach((elementName) => {\n const jsStyle = styles[elementName];\n if (typeof jsStyle !== 'function') {\n return;\n }\n const variablesAccumulator = new Set<keyof Theme>();\n const dependencies: VariableDependencies = {};\n const elementProxyHandler = getProxyHandler(variablesAccumulator, dependencies);\n const themes = baseThemes.map((t) => new Proxy(t, elementProxyHandler));\n themes.forEach((t) => jsStyle(t));\n\n const variables = Array.from(variablesAccumulator);\n\n if (variables.length > 0) {\n componentDescription[elementName] = { variables, dependencies };\n\n variables.forEach((variableName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName] = {};\n }\n\n const variableNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName];\n if (!variableNode[componentName]) {\n variableNode[componentName] = {};\n }\n\n const componentNode = variableNode[componentName];\n if (!componentNode[elementName]) {\n componentNode[elementName] = {\n dependencies,\n variables: [variableName],\n };\n } else if (!componentNode[elementName].variables.includes(variableName)) {\n componentNode[elementName].dependencies = dependencies;\n componentNode[elementName].variables.push(variableName);\n }\n\n const dependenciesList = dependencies[variableName];\n if (dependenciesList) {\n dependenciesList.forEach((dependencyName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName] = {};\n }\n\n const dependencyNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName];\n if (!dependencyNode[componentName]) {\n dependencyNode[componentName] = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName][componentName];\n }\n });\n }\n });\n }\n });\n });\n\n COMPONENT_DESCRIPTIONS[componentName] = componentDescription;\n });\n}\n\nfunction getProxyHandler(accumulator: Set<keyof Theme>, dependencies: VariableDependencies): ProxyHandler<Theme> {\n let accessLevel = 0;\n let rootProp = '';\n function isThemeVariable<T extends Theme>(theme: T, name: keyof T) {\n return typeof theme[name] === 'string';\n }\n return {\n get(target, prop, receiver) {\n const propName = prop as keyof Theme;\n if (isThemeVariable(target, propName)) {\n ALL_USED_VARIABLES_SET.add(propName);\n if (accessLevel === 0) {\n rootProp = propName;\n accumulator.add(propName);\n } else {\n if (!dependencies[rootProp]) {\n dependencies[rootProp] = [propName];\n } else if (!dependencies[rootProp].includes(propName)) {\n dependencies[rootProp].push(propName);\n }\n }\n }\n accessLevel++;\n const start = performance.now();\n const result = Reflect.get(target, prop, receiver);\n executionTime += performance.now() - start;\n callsCount++;\n accessLevel--;\n return result;\n },\n };\n}\n\nexport const ALL_USED_VARIABLES = Array.from(ALL_USED_VARIABLES_SET);\nexport const CALLS_COUNT = callsCount;\nexport const EXECUTION_TIME = executionTime;\n"]}
|
|
1
|
+
{"version":3,"sources":["VariablesCollector.ts"],"names":["DEFAULT_THEME","DARK_THEME","IS_PROXY_SUPPORTED","callsCount","executionTime","ALL_USED_VARIABLES_SET","Set","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","baseThemes","push","componentsContext","require","context","keys","forEach","fileName","fileNameStart","lastIndexOf","componentName","substring","replace","componentDescription","Object","exportName","styles","elementName","jsStyle","variablesAccumulator","dependencies","elementProxyHandler","getProxyHandler","themes","map","t","Proxy","variables","Array","from","length","variableName","variableNode","componentNode","includes","dependenciesList","dependencyName","dependencyNode","accumulator","accessLevel","rootProp","isThemeVariable","theme","name","get","target","prop","receiver","propName","add","start","performance","now","result","Reflect","ALL_USED_VARIABLES","CALLS_COUNT","EXECUTION_TIME"],"mappings":"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","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\n\nexport interface DescriptionsType {\n [componentName: string]: ComponentDescriptionType;\n}\n\nexport interface ComponentDescriptionType {\n [elementName: string]: ComponentRowDescriptionType;\n}\n\nexport interface ComponentRowDescriptionType {\n variables: Array<keyof Theme>;\n dependencies: VariableDependencies;\n}\n\nexport interface VariableNameToComponentsMap {\n [variableName: string]: DescriptionsType;\n}\n\nexport interface VariableDependencies {\n [variableName: string]: Array<keyof Theme>;\n}\n\nlet callsCount = 0;\nlet executionTime = 0;\nconst ALL_USED_VARIABLES_SET = new Set<keyof Theme>();\n\nexport const COMPONENT_DESCRIPTIONS: DescriptionsType = {};\nexport const COMPONENT_DESCRIPTIONS_BY_VARIABLE: VariableNameToComponentsMap = {};\n\nif (IS_PROXY_SUPPORTED) {\n const baseThemes: Theme[] = [];\n baseThemes.push(DEFAULT_THEME);\n baseThemes.push(DARK_THEME);\n\n const componentsContext = require.context('../../../', true, /\\.styles.ts$/);\n componentsContext.keys().forEach((fileName) => {\n const fileNameStart = fileName.lastIndexOf('/') + 1;\n const componentName = fileName.substring(fileNameStart).replace('.styles.ts', '');\n const componentDescription: ComponentDescriptionType = {};\n Object.keys(componentsContext(fileName)).forEach((exportName) => {\n const styles = componentsContext(fileName)[exportName];\n\n Object.keys(styles).forEach((elementName) => {\n const jsStyle = styles[elementName];\n if (typeof jsStyle !== 'function') {\n return;\n }\n const variablesAccumulator = new Set<keyof Theme>();\n const dependencies: VariableDependencies = {};\n const elementProxyHandler = getProxyHandler(variablesAccumulator, dependencies);\n const themes = baseThemes.map((t) => new Proxy(t, elementProxyHandler));\n themes.forEach((t) => jsStyle(t));\n\n const variables = Array.from(variablesAccumulator);\n\n if (variables.length > 0) {\n componentDescription[elementName] = { variables, dependencies };\n\n variables.forEach((variableName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName] = {};\n }\n\n const variableNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName];\n if (!variableNode[componentName]) {\n variableNode[componentName] = {};\n }\n\n const componentNode = variableNode[componentName];\n if (!componentNode[elementName]) {\n componentNode[elementName] = {\n dependencies,\n variables: [variableName],\n };\n } else if (!componentNode[elementName].variables.includes(variableName)) {\n componentNode[elementName].dependencies = dependencies;\n componentNode[elementName].variables.push(variableName);\n }\n\n const dependenciesList = dependencies[variableName];\n if (dependenciesList) {\n dependenciesList.forEach((dependencyName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName] = {};\n }\n\n const dependencyNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName];\n if (!dependencyNode[componentName]) {\n dependencyNode[componentName] = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName][componentName];\n }\n });\n }\n });\n }\n });\n });\n\n COMPONENT_DESCRIPTIONS[componentName] = componentDescription;\n });\n}\n\nfunction getProxyHandler(accumulator: Set<keyof Theme>, dependencies: VariableDependencies): ProxyHandler<Theme> {\n let accessLevel = 0;\n let rootProp = '';\n function isThemeVariable<T extends Theme>(theme: T, name: keyof T) {\n return typeof theme[name] === 'string';\n }\n return {\n get(target, prop, receiver) {\n const propName = prop as keyof Theme;\n if (isThemeVariable(target, propName)) {\n ALL_USED_VARIABLES_SET.add(propName);\n if (accessLevel === 0) {\n rootProp = propName;\n accumulator.add(propName);\n } else if (!dependencies[rootProp]) {\n dependencies[rootProp] = [propName];\n } else if (!dependencies[rootProp].includes(propName)) {\n dependencies[rootProp].push(propName);\n }\n }\n\n accessLevel++;\n const start = performance.now();\n const result = Reflect.get(target, prop, receiver);\n executionTime += performance.now() - start;\n callsCount++;\n accessLevel--;\n return result;\n },\n };\n}\n\nexport const ALL_USED_VARIABLES = Array.from(ALL_USED_VARIABLES_SET);\nexport const CALLS_COUNT = callsCount;\nexport const EXECUTION_TIME = executionTime;\n"]}
|
|
@@ -17,6 +17,6 @@ export interface VariableDependencies {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const COMPONENT_DESCRIPTIONS: DescriptionsType;
|
|
19
19
|
export declare const COMPONENT_DESCRIPTIONS_BY_VARIABLE: VariableNameToComponentsMap;
|
|
20
|
-
export declare const ALL_USED_VARIABLES: ("black" | "blue" | "gray" | "green" | "red" | "white" | "yellow" | "prototype" | "fontFamilyCompensationBaseline" | "labGrotesqueBaselineCompensation" | "brandXLight" | "brandLight" | "brand" | "brandDark" | "brandXDark" | "grayXxLight" | "grayXLight" | "grayLight" | "grayDark" | "blueXxLight" | "blueLight" | "blueDark" | "blueXDark" | "greenXxLight" | "greenDark" | "redXxLight" | "redDark" | "yellowXxLight" | "yellowDark" | "bgDefault" | "bgSecondary" | "bgDisabled" | "errorMain" | "errorSecondary" | "errorText" | "warningMain" | "warningSecondary" | "warningText" | "borderColorFocusLight" | "borderColorGrayDark" | "borderColorGrayLight" | "borderColorDisabled" | "placeholderColor" | "outlineColorFocus" | "placeholderColorLight" | "blinkColor" | "controlBorderWidth" | "controlOutlineWidth" | "controlLineHeightSmall" | "controlLineHeightMedium" | "controlLineHeightLarge" | "controlPaddingYSmall" | "controlPaddingYMedium" | "controlPaddingYLarge" | "textColorDefault" | "textColorInvert" | "textColorDisabled" | "textColorDisabledContrast" | "fontSizeSmall" | "fontSizeMedium" | "fontSizeLarge" | "fontSizeMobile" | "lineHeightMobile" | "specificityLevel" | "fixedPanelShadow" | "bgActive" | "borderColorFocus" | "borderColorError" | "borderColorWarning" | "controlHeightSmall" | "controlHeightMedium" | "controlHeightLarge" | "mobileMediaQuery" | "linkColor" | "linkActiveColor" | "linkHoverTextDecoration" | "linkSuccessColor" | "linkSuccessHoverColor" | "linkSuccessActiveColor" | "linkDangerColor" | "linkDangerHoverColor" | "linkDangerActiveColor" | "linkIconMarginRight" | "linkHoverColor" | "linkDisabledColor" | "linkButtonLineHeight" | "linkButtonPaddingX" | "tokenDisabledBg" | "tokenTextColorDisabled" | "tokenFontSize" | "tokenMarginY" | "tokenMarginX" | "tokenLineHeight" | "tokenPaddingY" | "tokenPaddingX" | "tokenMarginBeforeIcon" | "tokenRemoveIconSize" | "tokenRemoveIconPaddingY" | "tokenRemoveIconPaddingX" | "tokenRemoveIconGap" | "tokenRemoveIconBoxSizing" | "tokenBorderRadius" | "tokenBorderWidth" | "tokenBorderColorDisabled" | "tokenDefaultIdle" | "tokenDefaultActive" | "tokenGrayIdle" | "tokenGrayActive" | "tokenBlueIdle" | "tokenBlueActive" | "tokenGreenIdle" | "tokenGreenActive" | "tokenYellowIdle" | "tokenYellowActive" | "tokenRedIdle" | "tokenRedActive" | "tokenWhite" | "tokenBlack" | "tokenBorderColorWarning" | "tokenBorderColorError" | "tokenOutlineWidth" | "tokenLegacyTextShift" | "tokenPaddingYDisabled" | "tokenPaddingXDisabled" | "tokenMarginYDisabled" | "tokenMarginXDisabled" | "tokenShadowDisabled" | "tokenInputBorderColor" | "tokenInputBorderColorFocus" | "tokenInputBorderColorError" | "tokenInputBorderColorWarning" | "tokenInputBorderTopColor" | "tokenInputPlaceholderColor" | "tokenInputPlaceholderColorLight" | "tokenInputDisabledBg" | "tokenInputDisabledBorderColor" | "tokenInputBorderWidth" | "tokenInputOutlineWidth" | "tokenInputBg" | "tokenInputShadow" | "tokenInputTextColor" | "tokenInputTextColorDisabled" | "tokenInputPlaceholderColorDisabled" | "tokenInputPaddingY" | "tokenInputPaddingX" | "tokenInputFontSize" | "tokenInputLineHeight" | "tokenInputInputPaddingLeft" | "tokenInputInputPaddingRight" | "loaderBg" | "loaderOpacity" | "btnBackgroundClip" | "btnArrowBgImageActive" | "btnArrowBgImageChecked" | "btnLinkBorderRadius" | "btnFocusShadowWidth" | "btnDisabledBorderColor" | "btnCheckedBg" | "btnCheckedDisabledBg" | "btnCheckedDisabledColor" | "btnCheckedTextColor" | "btnCheckedDisabledBorderColor" | "btnCheckedShadow" | "btnCheckedDisabledShadow" | "btnBorderRadiusSmall" | "btnBorderRadiusMedium" | "btnBorderRadiusLarge" | "btnBorderWidth" | "btnInsetWidth" | "btnOutlineWidth" | "btnPaddingXSmall" | "btnPaddingXMedium" | "btnPaddingXLarge" | "btnIconGapSmall" | "btnIconGapMedium" | "btnIconGapLarge" | "btnIconSizeSmall" | "btnIconSizeMedium" | "btnIconSizeLarge" | "btnDefaultBg" | "btnDefaultBgStart" | "btnDefaultBgEnd" | "btnDefaultCheckedBorderColor" | "btnDefaultTextColor" | "btnDefaultHoverBg" | "btnDefaultHoverBgStart" | "btnDefaultHoverBgEnd" | "btnDefaultActiveBg" | "btnDefaultHoverBorderColor" | "btnDefaultHoverBorderBottomColor" | "btnDefaultActiveBorderColor" | "btnDefaultActiveBorderTopColor" | "btnDefaultBorderColor" | "btnDefaultBorderBottomColor" | "btnDefaultActiveShadow" | "btnSuccessBg" | "btnSuccessHoverBg" | "btnSuccessHoverBorderColor" | "btnSuccessHoverBorderBottomColor" | "btnSuccessBorderColor" | "btnSuccessBorderBottomColor" | "btnSuccessBgStart" | "btnSuccessBgEnd" | "btnSuccessTextColor" | "btnSuccessHoverBgStart" | "btnSuccessHoverBgEnd" | "btnSuccessActiveBg" | "btnSuccessActiveBorderColor" | "btnSuccessActiveBorderTopColor" | "btnSuccessActiveShadow" | "btnPrimaryBg" | "btnPrimaryHoverBg" | "btnPrimaryHoverBorderColor" | "btnPrimaryHoverBorderBottomColor" | "btnPrimaryBorderColor" | "btnPrimaryBorderBottomColor" | "btnPrimaryBgStart" | "btnPrimaryBgEnd" | "btnPrimaryTextColor" | "btnPrimaryHoverBgStart" | "btnPrimaryHoverBgEnd" | "btnPrimaryActiveBg" | "btnPrimaryActiveBorderColor" | "btnPrimaryActiveBorderTopColor" | "btnPrimaryActiveShadow" | "btnDangerBg" | "btnDangerHoverBg" | "btnDangerHoverBorderColor" | "btnDangerHoverBorderBottomColor" | "btnDangerBorderColor" | "btnDangerBorderBottomColor" | "btnDangerBgStart" | "btnDangerBgEnd" | "btnDangerTextColor" | "btnDangerHoverBgStart" | "btnDangerHoverBgEnd" | "btnDangerActiveBg" | "btnDangerActiveBorderColor" | "btnDangerActiveBorderTopColor" | "btnDangerActiveShadow" | "btnPayBg" | "btnPayHoverBg" | "btnPayHoverBorderColor" | "btnPayHoverBorderBottomColor" | "btnPayBorderColor" | "btnPayBorderBottomColor" | "btnPayBgStart" | "btnPayBgEnd" | "btnPayTextColor" | "btnPayHoverBgStart" | "btnPayHoverBgEnd" | "btnPayActiveBg" | "btnPayActiveBorderColor" | "btnPayActiveBorderTopColor" | "btnPayActiveShadow" | "btnMenuArrowColor" | "btnFontSizeSmall" | "btnFontSizeMedium" | "btnFontSizeLarge" | "btnLineHeightSmall" | "btnLineHeightMedium" | "btnLineHeightLarge" | "btnPaddingYSmall" | "btnPaddingYMedium" | "btnPaddingYLarge" | "btnDisabledBg" | "btnBorderColorWarning" | "btnBorderColorError" | "btnHeightSmall" | "btnHeightMedium" | "btnHeightLarge" | "btnLinkColor" | "btnLinkHoverColor" | "btnLinkActiveColor" | "btnLinkHoverTextDecoration" | "btnLinkIconMarginRight" | "btnErrorSecondary" | "btnWarningSecondary" | "btnOutlineColorFocus" | "btnInsetColor" | "btnBorderColorFocus" | "btnLinkDisabledColor" | "btnDisabledTextColor" | "selectPlaceholderColor" | "selectBorderWidth" | "selectPlaceholderColorDisabled" | "selectOutlineWidth" | "selectLineHeightSmall" | "selectFontSizeSmall" | "selectPaddingXSmall" | "selectPaddingYSmall" | "selectBorderRadiusSmall" | "selectIconGapSmall" | "selectLineHeightMedium" | "selectFontSizeMedium" | "selectPaddingXMedium" | "selectPaddingYMedium" | "selectBorderRadiusMedium" | "selectIconGapMedium" | "selectLineHeightLarge" | "selectFontSizeLarge" | "selectPaddingXLarge" | "selectPaddingYLarge" | "selectBorderRadiusLarge" | "selectIconGapLarge" | "selectMenuArrowColor" | "selectMenuArrowColorDisabled" | "selectIconSizeSmall" | "selectIconSizeMedium" | "selectIconSizeLarge" | "selectRootWidthMobile" | "selectTextColorDisabled" | "selectBgDisabled" | "selectBorderColorDisabled" | "tooltipPaddingY" | "tooltipPaddingX" | "tooltipCloseBtnPadding" | "tooltipCloseBtnColor" | "tooltipCloseBtnHoverColor" | "tooltipTextColor" | "tooltipBorder" | "tooltipBorderRadius" | "tooltipPinOffset" | "tooltipPinOffsetX" | "tooltipPinOffsetY" | "tooltipMargin" | "tooltipPinSize" | "tooltipFontSize" | "tooltipLineHeight" | "tooltipMenuPinOffset" | "tooltipMenuMargin" | "tooltipMenuPinSize" | "kebabPinOffset" | "kebabPinSize" | "kebabMargin" | "kebabBackground" | "kebabBackgroundHover" | "kebabBorderRadius" | "kebabBorder" | "modalBackBg" | "modalBg" | "modalBackOpacity" | "modalCloseButtonColor" | "modalCloseButtonDisabledColor" | "modalCloseButtonHoverColor" | "modalCloseButtonPadding" | "modalCloseButtonLegacyShift" | "modalCloseButtonBottomPadding" | "modalCloseButtonClickArea" | "modalCloseIconSize" | "modalCloseLegacyGap" | "modalCloseWrapperLegacyGap" | "modalFixedHeaderBg" | "modalFixedHeaderShadow" | "modalFixedFooterShadow" | "modalFixedPanelShadow" | "modalFooterBg" | "modalAdaptiveThreshold" | "modalPaddingTop" | "modalPaddingLeft" | "modalPaddingRight" | "modalHeaderFontSize" | "modalHeaderTextColor" | "modalHeaderLineHeight" | "modalHeaderPaddingBottom" | "modalHeaderPaddingTop" | "modalFixedHeaderPaddingBottom" | "modalBodyTextColor" | "modalFooterTextColor" | "modalBodyPaddingBottom" | "modalFooterPaddingTop" | "modalFooterPaddingBottom" | "modalPaddingBottom" | "modalFooterPanelPaddingTop" | "modalFooterPanelPaddingBottom" | "mobileModalCloseButtonRightPadding" | "mobileModalCloseButtonTopPadding" | "mobileModalCloseButtonClickArea" | "mobileModalCloseIconSize" | "mobileModalHeaderFontSize" | "mobileModalHeaderLineHeight" | "mobileModalHeaderPadding" | "mobileModalBodyPadding" | "mobileModalBodyFontSize" | "mobileModalFooterPadding" | "mobileModalPaddingBottom" | "sidePageFooterPanelBg" | "sidePageBackingBg" | "sidePageBackingBgOpacity" | "sidePageCloseButtonColor" | "sidePageCloseButtonHoverColor" | "sidePageContainerShadow" | "mobileSidePagePaddingLeft" | "mobileSidePagePaddingRight" | "mobileSidePagePaddingTop" | "mobileSidePagePaddingBottom" | "mobileSidePageFooterPadding" | "sidePagePaddingLeft" | "sidePagePaddingRight" | "sidePagePaddingTop" | "sidePagePaddingBottom" | "sidePageFooterPaddingTop" | "sidePageFooterPaddingBottom" | "sidePageBgDefault" | "sidePageHeaderTextColor" | "sidePageBodyTextColor" | "sidePageFooterTextColor" | "sidePageHeaderFontSize" | "sidePageHeaderLineHeight" | "sidePageHeaderPaddingBottom" | "sidePageHeaderPaddingTop" | "sidePageHeaderFixedFontSize" | "sidePageHeaderFixedLineHeight" | "sidePageHeaderFixedPaddingY" | "sidePageHeaderStickyOffset" | "sidePageCloseButtonPadding" | "mobileSidePageCloseButtonPadding" | "sidePageCloseButtonLegacyPaddingLeft" | "sidePageFooterPanelPaddingTop" | "sidePageFooterPanelPaddingBottom" | "sidePageCloseIconSize" | "sidePageCloseButtonClickArea" | "mobileSidePageCloseButtonClickArea" | "sidePageFixedHeaderShadow" | "sidePageFixedFooterShadow" | "sidePageFixedPanelShadow" | "mobileSidePageHeaderFontSize" | "mobileSidePageHeaderLineHeight" | "mobileSidePageHeaderPaddingBottom" | "mobileSidePageHeaderPaddingTop" | "dateInputIconColor" | "dateInputMaskColor" | "dateInputComponentSelectedBgColor" | "calendarCellBg" | "calendarCellHoverColor" | "calendarCellActiveHoverColor" | "calendarCellWeekendColor" | "calendarCellTodayBorder" | "calendarCellSelectedBgColor" | "calendarCellSelectedFontColor" | "calendarCellSize" | "calendarCellLineHeight" | "calendarMonthHeaderStickedBgColor" | "calendarMonthTitleBorderBottomColor" | "calendarCellHoverBgColor" | "calendarPaddingX" | "calendarMonthTitleLineHeight" | "calendarMonthTitlePaddingTop" | "calendarMonthTitlePaddingBottom" | "calendarMonthTitleMarginX" | "calendarMonthTitleMarginBottom" | "calendarWrapperHeight" | "calendarMonthMarginBottom" | "calendarMaxMonthsToAppendOnScroll" | "dateSelectLineHeight" | "dateSelectFontSize" | "dateSelectFontWeight" | "dateSelectMenuItemBgSelected" | "dateSelectTextColorDisabled" | "dateSelectTextColorDefault" | "dateSelectLinkColor" | "dateSelectPopupBoxShadow" | "dateSelectTextColorInvert" | "datePickerOpenBtnColor" | "pickerBg" | "pickerShadow" | "pickerTodayWrapperBgColor" | "pickerTodayWrapperBorderTop" | "pickerTodayWrapperHoverBgColor" | "pickerTodayWrapperFontSize" | "pickerTodayWrapperLineHeight" | "pickerTodayWrapperPaddingTop" | "pickerTodayWrapperPaddingBottom" | "dateSelectMenuBg" | "dateSelectMenuItemBgActive" | "dateSelectMenuItemBgDisabled" | "dateSelectMenuItemFontActive" | "dateSelectMenuItemFontSelected" | "dateSelectMenuItemFontDisabled" | "pagingFontSize" | "pagingForwardIconSize" | "pagingForwardIconMarginTop" | "pagingPageLinkPaddingX" | "pagingPageLinkPaddingY" | "pagingPageLinkLegacyPaddingY" | "pagingPageLinkMinWidth" | "pagingPageForwardLinkMarginTop" | "pagingPageForwardLinkMarginLeft" | "pagingPageForwardLinkPaddingRight" | "pagingLineHeight" | "pagingDotsColor" | "pagingDotsPadding" | "pagingPageLinkActiveBg" | "pagingPageLinkActiveColor" | "pagingPageLinkHoverBg" | "pagingPageLinkHintColor" | "pagingPageLinkHintFontSize" | "pagingPageLinkHintLineHeight" | "pagingPageLinkBorderRadius" | "pagingPageLinkMargin" | "pagingForwardLinkColor" | "pagingForwardLinkDisabledColor" | "hintColor" | "mobileHintColor" | "hintFontSize" | "hintLineHeight" | "hintMaxWidth" | "hintPaddingY" | "hintPaddingX" | "hintTextAlign" | "hintBgColor" | "hintBorder" | "hintBorderRadius" | "hintPinOffset" | "hintMargin" | "toastFontSize" | "toastLineHeight" | "toastPaddingY" | "toastPaddingX" | "toastBorderRadius" | "toastBorder" | "toastTop" | "toastBg" | "toastColor" | "toastLinkColor" | "toastClosePadding" | "toastCloseColor" | "toastCloseHoverColor" | "toastCloseSize" | "dropdownMenuSelectedBg" | "dropdownMenuHoverBg" | "menuBgDefault" | "menuBorder" | "menuShadow" | "menuPaddingY" | "menuItemTextColor" | "menuItemSelectedBg" | "menuItemHoverBg" | "menuItemIconWidth" | "menuItemIconGap" | "menuItemIconLegacyMargin" | "menuItemIconLegacyShift" | "menuItemPaddingForIcon" | "menuItemLineHeight" | "menuItemFontSize" | "menuItemPaddingX" | "menuItemPaddingY" | "menuItemLegacyPaddingX" | "menuItemLegacyPaddingY" | "menuItemHoverColor" | "menuItemDisabledColor" | "menuItemLinkColor" | "menuItemCommentColor" | "menuItemCommentColorHover" | "menuItemPaddingMobile" | "menuHeaderColor" | "menuHeaderLineHeight" | "menuHeaderFontSize" | "menuHeaderPaddingX" | "menuHeaderPaddingTop" | "menuHeaderPaddingBottom" | "menuHeaderLegacyPaddingRight" | "menuSeparatorBorderColor" | "menuSeparatorMarginY" | "menuSeparatorBorderWidth" | "toggleFontSize" | "toggleLineHeight" | "toggleTextColor" | "toggleHandleActiveWidthIncrement" | "toggleHandleBorderRadius" | "toggleHeight" | "toggleWidth" | "toggleBorderRadius" | "toggleBg" | "toggleDisabledHandleBg" | "toggleBaseBg" | "toggleBgDisabled" | "toggleBgDisabledChecked" | "toggleBgHover" | "toggleBgChecked" | "toggleBorderWidth" | "toggleOutlineWidth" | "toggleBorderColor" | "toggleBorderColorDisabled" | "toggleBorderColorDisabledChecked" | "toggleBgFocus" | "toggleBgActive" | "toggleShadowColorError" | "toggleShadowColorWarning" | "toggleFocusShadowColor" | "toggleCaptionGap" | "toggleButtonOffsetY" | "popupBorder" | "popupBorderRadius" | "popupBorderColor" | "popupDropShadow" | "popupBoxShadow" | "popupTextColor" | "popupBackground" | "popupPinOffset" | "popupPinOffsetX" | "popupPinOffsetY" | "popupMargin" | "popupPinSize" | "inputTextColor" | "inputShadow" | "inputBg" | "inputIconColor" | "inputColor" | "inputWidth" | "inputTextColorDisabled" | "inputFontSizeSmall" | "inputFontSizeMedium" | "inputFontSizeLarge" | "inputLineHeightSmall" | "inputLineHeightMedium" | "inputLineHeightLarge" | "inputHeightSmall" | "inputHeightMedium" | "inputHeightLarge" | "inputPaddingYSmall" | "inputPaddingYMedium" | "inputPaddingYLarge" | "inputPaddingXSmall" | "inputPaddingXMedium" | "inputPaddingXLarge" | "inputIconGapSmall" | "inputIconGapMedium" | "inputIconGapLarge" | "inputIconSizeSmall" | "inputIconSizeMedium" | "inputIconSizeLarge" | "inputFocusShadow" | "inputDisabledBg" | "inputDisabledBorderColor" | "inputFocusOutline" | "inputBorderWidth" | "inputOutlineWidth" | "inputBorderRadiusSmall" | "inputBorderRadiusMedium" | "inputBorderRadiusLarge" | "inputBorderColor" | "inputBorderColorFocus" | "inputBorderColorError" | "inputBorderColorWarning" | "inputBorderTopColor" | "inputPlaceholderColor" | "inputPlaceholderColorDisabled" | "inputPlaceholderColorLight" | "inputBlinkColor" | "checkboxFontSize" | "checkboxLineHeight" | "checkboxBoxSize" | "checkboxCaptionGap" | "checkboxPaddingY" | "checkboxBoxOffsetY" | "checkboxBgStart" | "checkboxBgEnd" | "checkboxTextColorDefault" | "checkboxTextColorDisabled" | "checkboxShadowDisabled" | "checkboxBorder" | "checkboxBorderWidth" | "checkboxShadow" | "checkboxShadowHover" | "checkboxCheckedColor" | "checkboxOutlineColorFocus" | "checkboxBorderColorWarning" | "checkboxBorderColorError" | "checkboxCheckedHoverShadow" | "checkboxBorderRadius" | "checkboxOutlineWidth" | "checkboxCheckedShadow" | "checkboxCheckedActiveShadow" | "checkboxBorderColorFocus" | "checkboxBg" | "checkboxHoverBg" | "checkboxActiveBg" | "checkboxCheckedBg" | "checkboxBgDisabled" | "checkboxCheckedHoverBg" | "checkboxCheckedActiveBg" | "checkboxShadowActive" | "textareaBg" | "textareaColor" | "textareaTextColorDisabled" | "textareaPlaceholderColorLight" | "textareaPlaceholderColor" | "textareaPlaceholderColorDisabled" | "textareaShadow" | "textareaFontSize" | "textareaLineHeight" | "textareaBorderRadius" | "textareaBorderWidth" | "textareaOutlineWidth" | "textareaMinHeight" | "textareaWidth" | "textareaPaddingX" | "textareaPaddingY" | "textareaBorderColor" | "textareaBorderTopColor" | "textareaBorderColorFocus" | "textareaBorderColorWarning" | "textareaBorderColorError" | "textareaDisabledBg" | "textareaDisabledBorderColor" | "textareaCounterColor" | "textareaCounterBg" | "textareaCounterErrorColor" | "textareaCounterHelpIconColor" | "radioBulletSize" | "radioOutlineWidth" | "radioTextColor" | "radioSize" | "radioSizeAfter" | "radioFontSize" | "radioLineHeight" | "radioCaptionGap" | "radioPaddingY" | "radioVerticalAlign" | "radioBgImage" | "radioBgColor" | "radioHoverBg" | "radioActiveBg" | "radioBorderWidth" | "radioBorderColor" | "radioBoxShadow" | "radioBorder" | "radioBorderColorFocus" | "radioBorderColorWarning" | "radioBorderColorError" | "radioHoverShadow" | "radioActiveShadow" | "radioFocusShadow" | "radioCheckedBgColor" | "radioCheckedBorderColor" | "radioCheckedBulletColor" | "radioCheckedHoverBgColor" | "radioDisabledBg" | "radioDisabledShadow" | "radioCaptionDisplay" | "radioBorderWidthCompensation" | "radioCircleOffsetY" | "radioGroupLegacyItemGap" | "tabFontSize" | "tabPaddingX" | "tabsMarginX" | "tabPaddingY" | "tabLineHeight" | "tabBorderWidth" | "tabOutlineWidth" | "tabTextColorDefault" | "tabColorFocus" | "tabColorError" | "tabColorWarning" | "tabColorSuccess" | "tabColorPrimary" | "tabColorHover" | "tabColorHoverError" | "tabColorHoverWarning" | "tabColorHoverSuccess" | "tabColorHoverPrimary" | "spinnerBgColor" | "spinnerColor" | "spinnerDimmedColor" | "spinnerCaptionColor" | "spinnerFontSizeSmall" | "spinnerFontSizeMedium" | "spinnerFontSizeLarge" | "spinnerLineHeightSmall" | "spinnerLineHeightMedium" | "spinnerLineHeightLarge" | "spinnerCaptionGapSmall" | "spinnerCaptionGapMedium" | "spinnerCaptionGapLarge" | "switcherTextColor" | "switcherOutlineWidth" | "switcherCaptionFontSizeSmall" | "switcherCaptionFontSizeMedium" | "switcherCaptionFontSizeLarge" | "switcherCaptionLineHeightSmall" | "switcherCaptionLineHeightMedium" | "switcherCaptionLineHeightLarge" | "switcherCaptionGapSmall" | "switcherCaptionGapMedium" | "switcherCaptionGapLarge" | "switcherButtonPaddingXSmall" | "switcherButtonPaddingXMedium" | "switcherButtonPaddingXLarge" | "switcherButtonPaddingYSmall" | "switcherButtonPaddingYMedium" | "switcherButtonPaddingYLarge" | "switcherButtonLineHeightSmall" | "switcherButtonLineHeightMedium" | "switcherButtonLineHeightLarge" | "switcherButtonFontSizeSmall" | "switcherButtonFontSizeMedium" | "switcherButtonFontSizeLarge" | "switcherButtonBorderRadiusSmall" | "switcherButtonBorderRadiusMedium" | "switcherButtonBorderRadiusLarge" | "switcherButtonBorderWidth" | "switcherButtonDisabledBorderColor" | "switcherButtonCheckedDisabledShadow" | "mobilePopupTopPadding" | "mobilePopupHeaderPadding" | "mobilePopupHeaderBorderRadius" | "mobilePopupHeaderShadow" | "mobilePopupHeaderFontSize" | "mobilePopupHeaderLineHeight" | "mobilePopupHeaderFontWeight" | "mobilePopupHeaderChildPadding" | "scrollContainerScrollBarSize" | "scrollContainerScrollBarHoverSize" | "scrollContainerScrollBarColor" | "scrollContainerScrollBarInvertColor" | "passwordInputVisibilityIconColor" | "passwordInputVisibilityIconOpacity" | "passwordInputVisibilityIconHoverColor" | "passwordInputVisibilityIconHoverOpacity" | "globalLoaderColor" | "globalLoaderHeight" | "globalLoaderWidth" | "globalLoaderPosition" | "globalLoaderTop" | "globalLoaderLeft" | "globalLoaderBottom" | "globalLoaderRight" | "globalLoaderBackgroundColor" | "globalLoaderTransitionToSpinnerDuration" | "globalLoaderSpinnerAnimationDuration" | "globalLoaderSlowAnimationDuration" | "globalLoaderTransitionFromSpinnerDuration" | "fileUploaderWidth" | "fileUploaderBg" | "fileUploaderFontSize" | "fileUploaderLineHeight" | "fileUploaderTextColorDefault" | "fileUploaderPaddingX" | "fileUploaderPaddingY" | "fileUploaderBorderRadius" | "fileUploaderBorderColor" | "fileUploaderBorderWidth" | "fileUploaderBorderStyle" | "fileUploaderBorderColorFocus" | "fileUploaderLinkColor" | "fileUploaderIconSize" | "fileUploaderIconColor" | "fileUploaderIconHoverColor" | "fileUploaderBorderColorError" | "fileUploaderBorderColorWarning" | "fileUploaderDisabledBg" | "fileUploaderDisabledBorderColor" | "fileUploaderDisabledTextColor" | "fileUploaderDisabledLinkColor" | "fileUploaderDisabledIconColor")[];
|
|
20
|
+
export declare const ALL_USED_VARIABLES: ("prototype" | "black" | "blue" | "gray" | "green" | "red" | "white" | "yellow" | "fontFamilyCompensationBaseline" | "labGrotesqueBaselineCompensation" | "brandXLight" | "brandLight" | "brand" | "brandDark" | "brandXDark" | "grayXxLight" | "grayXLight" | "grayLight" | "grayDark" | "blueXxLight" | "blueLight" | "blueDark" | "blueXDark" | "greenXxLight" | "greenDark" | "redXxLight" | "redDark" | "yellowXxLight" | "yellowDark" | "bgDefault" | "bgSecondary" | "bgDisabled" | "errorMain" | "errorSecondary" | "errorText" | "warningMain" | "warningSecondary" | "warningText" | "borderColorFocusLight" | "borderColorGrayDark" | "borderColorGrayLight" | "borderColorDisabled" | "placeholderColor" | "outlineColorFocus" | "placeholderColorLight" | "blinkColor" | "controlBorderWidth" | "controlOutlineWidth" | "controlLineHeightSmall" | "controlLineHeightMedium" | "controlLineHeightLarge" | "controlPaddingYSmall" | "controlPaddingYMedium" | "controlPaddingYLarge" | "textColorDefault" | "textColorInvert" | "textColorDisabled" | "textColorDisabledContrast" | "fontSizeSmall" | "fontSizeMedium" | "fontSizeLarge" | "fontSizeMobile" | "lineHeightMobile" | "specificityLevel" | "fixedPanelShadow" | "bgActive" | "borderColorFocus" | "borderColorError" | "borderColorWarning" | "controlHeightSmall" | "controlHeightMedium" | "controlHeightLarge" | "mobileMediaQuery" | "linkColor" | "linkActiveColor" | "linkHoverTextDecoration" | "linkSuccessColor" | "linkSuccessHoverColor" | "linkSuccessActiveColor" | "linkDangerColor" | "linkDangerHoverColor" | "linkDangerActiveColor" | "linkIconMarginRight" | "linkHoverColor" | "linkDisabledColor" | "linkButtonLineHeight" | "linkButtonPaddingX" | "tokenDisabledBg" | "tokenTextColorDisabled" | "tokenFontSize" | "tokenMarginY" | "tokenMarginX" | "tokenLineHeight" | "tokenPaddingY" | "tokenPaddingX" | "tokenMarginBeforeIcon" | "tokenRemoveIconSize" | "tokenRemoveIconPaddingY" | "tokenRemoveIconPaddingX" | "tokenRemoveIconGap" | "tokenRemoveIconBoxSizing" | "tokenBorderRadius" | "tokenBorderWidth" | "tokenBorderColorDisabled" | "tokenDefaultIdle" | "tokenDefaultActive" | "tokenGrayIdle" | "tokenGrayActive" | "tokenBlueIdle" | "tokenBlueActive" | "tokenGreenIdle" | "tokenGreenActive" | "tokenYellowIdle" | "tokenYellowActive" | "tokenRedIdle" | "tokenRedActive" | "tokenWhite" | "tokenBlack" | "tokenBorderColorWarning" | "tokenBorderColorError" | "tokenOutlineWidth" | "tokenLegacyTextShift" | "tokenPaddingYDisabled" | "tokenPaddingXDisabled" | "tokenMarginYDisabled" | "tokenMarginXDisabled" | "tokenShadowDisabled" | "tokenInputBorderColor" | "tokenInputBorderColorFocus" | "tokenInputBorderColorError" | "tokenInputBorderColorWarning" | "tokenInputBorderTopColor" | "tokenInputBorderRadius" | "tokenInputPlaceholderColor" | "tokenInputPlaceholderColorLight" | "tokenInputDisabledBg" | "tokenInputDisabledBorderColor" | "tokenInputBorderWidth" | "tokenInputOutlineWidth" | "tokenInputBg" | "tokenInputShadow" | "tokenInputTextColor" | "tokenInputTextColorDisabled" | "tokenInputPlaceholderColorDisabled" | "tokenInputPaddingY" | "tokenInputPaddingX" | "tokenInputFontSize" | "tokenInputLineHeight" | "tokenInputInputPaddingLeft" | "tokenInputInputPaddingRight" | "loaderBg" | "loaderOpacity" | "btnBackgroundClip" | "btnArrowBgImageActive" | "btnArrowBgImageChecked" | "btnLinkBorderRadius" | "btnFocusShadowWidth" | "btnDisabledBorderColor" | "btnCheckedBg" | "btnCheckedDisabledBg" | "btnCheckedDisabledColor" | "btnCheckedTextColor" | "btnCheckedDisabledBorderColor" | "btnCheckedShadow" | "btnCheckedDisabledShadow" | "btnBorderRadiusSmall" | "btnBorderRadiusMedium" | "btnBorderRadiusLarge" | "btnBorderWidth" | "btnInsetWidth" | "btnOutlineWidth" | "btnPaddingXSmall" | "btnPaddingXMedium" | "btnPaddingXLarge" | "btnIconGapSmall" | "btnIconGapMedium" | "btnIconGapLarge" | "btnIconSizeSmall" | "btnIconSizeMedium" | "btnIconSizeLarge" | "btnDefaultBg" | "btnDefaultBgStart" | "btnDefaultBgEnd" | "btnDefaultCheckedBorderColor" | "btnDefaultTextColor" | "btnDefaultHoverBg" | "btnDefaultHoverBgStart" | "btnDefaultHoverBgEnd" | "btnDefaultActiveBg" | "btnDefaultHoverBorderColor" | "btnDefaultHoverBorderBottomColor" | "btnDefaultActiveBorderColor" | "btnDefaultActiveBorderTopColor" | "btnDefaultBorderColor" | "btnDefaultBorderBottomColor" | "btnDefaultActiveShadow" | "btnSuccessBg" | "btnSuccessHoverBg" | "btnSuccessHoverBorderColor" | "btnSuccessHoverBorderBottomColor" | "btnSuccessBorderColor" | "btnSuccessBorderBottomColor" | "btnSuccessBgStart" | "btnSuccessBgEnd" | "btnSuccessTextColor" | "btnSuccessHoverBgStart" | "btnSuccessHoverBgEnd" | "btnSuccessActiveBg" | "btnSuccessActiveBorderColor" | "btnSuccessActiveBorderTopColor" | "btnSuccessActiveShadow" | "btnPrimaryBg" | "btnPrimaryHoverBg" | "btnPrimaryHoverBorderColor" | "btnPrimaryHoverBorderBottomColor" | "btnPrimaryBorderColor" | "btnPrimaryBorderBottomColor" | "btnPrimaryBgStart" | "btnPrimaryBgEnd" | "btnPrimaryTextColor" | "btnPrimaryHoverBgStart" | "btnPrimaryHoverBgEnd" | "btnPrimaryActiveBg" | "btnPrimaryActiveBorderColor" | "btnPrimaryActiveBorderTopColor" | "btnPrimaryActiveShadow" | "btnDangerBg" | "btnDangerHoverBg" | "btnDangerHoverBorderColor" | "btnDangerHoverBorderBottomColor" | "btnDangerBorderColor" | "btnDangerBorderBottomColor" | "btnDangerBgStart" | "btnDangerBgEnd" | "btnDangerTextColor" | "btnDangerHoverBgStart" | "btnDangerHoverBgEnd" | "btnDangerActiveBg" | "btnDangerActiveBorderColor" | "btnDangerActiveBorderTopColor" | "btnDangerActiveShadow" | "btnPayBg" | "btnPayHoverBg" | "btnPayHoverBorderColor" | "btnPayHoverBorderBottomColor" | "btnPayBorderColor" | "btnPayBorderBottomColor" | "btnPayBgStart" | "btnPayBgEnd" | "btnPayTextColor" | "btnPayHoverBgStart" | "btnPayHoverBgEnd" | "btnPayActiveBg" | "btnPayActiveBorderColor" | "btnPayActiveBorderTopColor" | "btnPayActiveShadow" | "btnMenuArrowColor" | "btnFontSizeSmall" | "btnFontSizeMedium" | "btnFontSizeLarge" | "btnLineHeightSmall" | "btnLineHeightMedium" | "btnLineHeightLarge" | "btnPaddingYSmall" | "btnPaddingYMedium" | "btnPaddingYLarge" | "btnDisabledBg" | "btnBorderColorWarning" | "btnBorderColorError" | "btnHeightSmall" | "btnHeightMedium" | "btnHeightLarge" | "btnLinkColor" | "btnLinkHoverColor" | "btnLinkActiveColor" | "btnLinkHoverTextDecoration" | "btnLinkIconMarginRight" | "btnErrorSecondary" | "btnWarningSecondary" | "btnOutlineColorFocus" | "btnInsetColor" | "btnBorderColorFocus" | "btnLinkDisabledColor" | "btnDisabledTextColor" | "selectPlaceholderColor" | "selectBorderWidth" | "selectPlaceholderColorDisabled" | "selectOutlineWidth" | "selectLineHeightSmall" | "selectFontSizeSmall" | "selectPaddingXSmall" | "selectPaddingYSmall" | "selectBorderRadiusSmall" | "selectIconGapSmall" | "selectLineHeightMedium" | "selectFontSizeMedium" | "selectPaddingXMedium" | "selectPaddingYMedium" | "selectBorderRadiusMedium" | "selectIconGapMedium" | "selectLineHeightLarge" | "selectFontSizeLarge" | "selectPaddingXLarge" | "selectPaddingYLarge" | "selectBorderRadiusLarge" | "selectIconGapLarge" | "selectMenuArrowColor" | "selectMenuArrowColorDisabled" | "selectIconSizeSmall" | "selectIconSizeMedium" | "selectIconSizeLarge" | "selectRootWidthMobile" | "selectTextColorDisabled" | "selectBgDisabled" | "selectBorderColorDisabled" | "tooltipPaddingY" | "tooltipPaddingX" | "tooltipCloseBtnPadding" | "tooltipCloseBtnColor" | "tooltipCloseBtnHoverColor" | "tooltipTextColor" | "tooltipBorder" | "tooltipBorderRadius" | "tooltipPinOffset" | "tooltipPinOffsetX" | "tooltipPinOffsetY" | "tooltipMargin" | "tooltipPinSize" | "tooltipFontSize" | "tooltipLineHeight" | "tooltipMenuPinOffset" | "tooltipMenuMargin" | "tooltipMenuPinSize" | "kebabPinOffset" | "kebabPinSize" | "kebabMargin" | "kebabBackground" | "kebabBackgroundHover" | "kebabBorderRadius" | "kebabBorder" | "modalBackBg" | "modalBg" | "modalBackOpacity" | "modalCloseButtonColor" | "modalCloseButtonDisabledColor" | "modalCloseButtonHoverColor" | "modalCloseButtonPadding" | "modalCloseButtonLegacyShift" | "modalCloseButtonBottomPadding" | "modalCloseButtonClickArea" | "modalCloseIconSize" | "modalCloseLegacyGap" | "modalCloseWrapperLegacyGap" | "modalBorderRadius" | "modalFixedHeaderBg" | "modalFixedHeaderShadow" | "modalFixedHeaderBorder" | "modalFixedFooterBorder" | "modalFixedFooterShadow" | "modalFixedPanelShadow" | "modalFooterBg" | "modalAdaptiveThreshold" | "modalPaddingTop" | "modalPaddingLeft" | "modalPaddingRight" | "modalHeaderFontSize" | "modalHeaderTextColor" | "modalHeaderLineHeight" | "modalHeaderPaddingBottom" | "modalHeaderPaddingTop" | "modalFixedHeaderPaddingBottom" | "modalBodyTextColor" | "modalFooterTextColor" | "modalBodyPaddingBottom" | "modalFooterPaddingTop" | "modalFooterPaddingBottom" | "modalPaddingBottom" | "modalFooterPanelPaddingTop" | "modalFooterPanelPaddingBottom" | "mobileModalCloseButtonRightPadding" | "mobileModalCloseButtonTopPadding" | "mobileModalCloseButtonClickArea" | "mobileModalCloseIconSize" | "mobileModalHeaderFontSize" | "mobileModalHeaderLineHeight" | "mobileModalHeaderPadding" | "mobileModalBodyPadding" | "mobileModalBodyFontSize" | "mobileModalFooterPadding" | "mobileModalPaddingBottom" | "sidePageFooterPanelBg" | "sidePageBackingBg" | "sidePageBackingBgOpacity" | "sidePageCloseButtonColor" | "sidePageCloseButtonHoverColor" | "sidePageContainerShadow" | "mobileSidePagePaddingLeft" | "mobileSidePagePaddingRight" | "mobileSidePagePaddingTop" | "mobileSidePagePaddingBottom" | "mobileSidePageFooterPadding" | "sidePagePaddingLeft" | "sidePagePaddingRight" | "sidePagePaddingTop" | "sidePagePaddingBottom" | "sidePageFooterPaddingTop" | "sidePageFooterPaddingBottom" | "sidePageBgDefault" | "sidePageHeaderTextColor" | "sidePageBodyTextColor" | "sidePageFooterTextColor" | "sidePageHeaderFontSize" | "sidePageHeaderLineHeight" | "sidePageHeaderPaddingBottom" | "sidePageHeaderPaddingTop" | "sidePageHeaderFixedFontSize" | "sidePageHeaderFixedLineHeight" | "sidePageHeaderFixedPaddingY" | "sidePageHeaderStickyOffset" | "sidePageCloseButtonPadding" | "mobileSidePageCloseButtonPadding" | "sidePageCloseButtonLegacyPaddingLeft" | "sidePageFooterPanelPaddingTop" | "sidePageFooterPanelPaddingBottom" | "sidePageCloseIconSize" | "sidePageCloseButtonClickArea" | "mobileSidePageCloseButtonClickArea" | "sidePageFixedHeaderShadow" | "sidePageFixedFooterShadow" | "sidePageFixedPanelShadow" | "mobileSidePageHeaderFontSize" | "mobileSidePageHeaderLineHeight" | "mobileSidePageHeaderPaddingBottom" | "mobileSidePageHeaderPaddingTop" | "dateInputIconColor" | "dateInputMaskColor" | "dateInputComponentSelectedBgColor" | "calendarCellBg" | "calendarCellHoverColor" | "calendarCellActiveHoverColor" | "calendarCellWeekendColor" | "calendarCellTodayBorder" | "calendarCellSelectedBgColor" | "calendarCellSelectedFontColor" | "calendarCellSize" | "calendarCellLineHeight" | "calendarMonthHeaderStickedBgColor" | "calendarMonthTitleBorderBottomColor" | "calendarCellHoverBgColor" | "calendarPaddingX" | "calendarMonthTitleLineHeight" | "calendarMonthTitlePaddingTop" | "calendarMonthTitlePaddingBottom" | "calendarMonthTitleMarginX" | "calendarMonthTitleMarginBottom" | "calendarWrapperHeight" | "calendarMonthMarginBottom" | "calendarMaxMonthsToAppendOnScroll" | "dateSelectLineHeight" | "dateSelectFontSize" | "dateSelectFontWeight" | "dateSelectMenuItemBgSelected" | "dateSelectTextColorDisabled" | "dateSelectTextColorDefault" | "dateSelectLinkColor" | "dateSelectPopupBoxShadow" | "dateSelectTextColorInvert" | "datePickerOpenBtnColor" | "pickerBg" | "pickerShadow" | "pickerTodayWrapperBgColor" | "pickerTodayWrapperBorderTop" | "pickerTodayWrapperHoverBgColor" | "pickerTodayWrapperFontSize" | "pickerTodayWrapperLineHeight" | "pickerTodayWrapperPaddingTop" | "pickerTodayWrapperPaddingBottom" | "dateSelectMenuBg" | "dateSelectMenuItemBgActive" | "dateSelectMenuItemBgDisabled" | "dateSelectMenuItemFontActive" | "dateSelectMenuItemFontSelected" | "dateSelectMenuItemFontDisabled" | "pagingFontSize" | "pagingForwardIconSize" | "pagingForwardIconMarginTop" | "pagingPageLinkPaddingX" | "pagingPageLinkPaddingY" | "pagingPageLinkLegacyPaddingY" | "pagingPageLinkMinWidth" | "pagingPageForwardLinkMarginTop" | "pagingPageForwardLinkMarginLeft" | "pagingPageForwardLinkPaddingRight" | "pagingLineHeight" | "pagingDotsColor" | "pagingDotsPadding" | "pagingPageLinkActiveBg" | "pagingPageLinkActiveColor" | "pagingPageLinkHoverBg" | "pagingPageLinkBorderRadius" | "pagingPageLinkHintColor" | "pagingPageLinkHintFontSize" | "pagingPageLinkHintLineHeight" | "pagingPageLinkMargin" | "pagingForwardLinkColor" | "pagingForwardLinkDisabledColor" | "hintColor" | "mobileHintColor" | "hintFontSize" | "hintLineHeight" | "hintMaxWidth" | "hintPaddingY" | "hintPaddingX" | "hintTextAlign" | "hintBgColor" | "hintBorder" | "hintBorderRadius" | "hintPinOffset" | "hintMargin" | "toastFontSize" | "toastLineHeight" | "toastPaddingY" | "toastPaddingX" | "toastBorderRadius" | "toastBorder" | "toastTop" | "toastBg" | "toastColor" | "toastLinkColor" | "toastClosePadding" | "toastCloseColor" | "toastCloseHoverColor" | "toastCloseSize" | "dropdownMenuSelectedBg" | "dropdownMenuHoverBg" | "menuBgDefault" | "menuBorderRadius" | "menuBorder" | "menuShadow" | "menuPaddingY" | "menuPaddingX" | "menuItemTextColor" | "menuItemSelectedBg" | "menuItemHoverBg" | "menuItemIconWidth" | "menuItemIconGap" | "menuItemIconLegacyMargin" | "menuItemIconLegacyShift" | "menuItemPaddingForIcon" | "menuItemLineHeight" | "menuItemFontSize" | "menuItemPaddingX" | "menuItemPaddingY" | "menuItemBorderRadius" | "menuItemLegacyPaddingX" | "menuItemLegacyPaddingY" | "menuItemHoverColor" | "menuItemDisabledColor" | "menuItemLinkColor" | "menuItemCommentColor" | "menuItemCommentColorHover" | "menuItemPaddingMobile" | "menuHeaderColor" | "menuHeaderLineHeight" | "menuHeaderFontSize" | "menuHeaderPaddingX" | "menuHeaderPaddingTop" | "menuHeaderPaddingBottom" | "menuHeaderLegacyPaddingRight" | "menuSeparatorBorderColor" | "menuSeparatorMarginY" | "menuSeparatorBorderWidth" | "toggleFontSize" | "toggleLineHeight" | "toggleTextColor" | "toggleHandleActiveWidthIncrement" | "toggleHandleBorderRadius" | "toggleHeight" | "toggleWidth" | "toggleBorderRadius" | "toggleBg" | "toggleHandleBg" | "toggleCheckedBg" | "toggleDisabledHandleBg" | "toggleBaseBg" | "toggleBgDisabled" | "toggleBgDisabledChecked" | "toggleBgHover" | "toggleCheckedBgHover" | "toggleBgChecked" | "toggleBorderWidth" | "toggleOutlineWidth" | "toggleBorderColor" | "toggleBorderColorDisabled" | "toggleBorderColorDisabledChecked" | "toggleHandleSize" | "toggleHandleLeft" | "toggleHandleTop" | "toggleBgFocus" | "toggleBgActive" | "toggleShadowColorError" | "toggleShadowColorWarning" | "toggleFocusShadowColor" | "toggleCaptionGap" | "toggleButtonOffsetY" | "popupBorder" | "popupBorderRadius" | "popupBorderColor" | "popupDropShadow" | "popupBoxShadow" | "popupTextColor" | "popupBackground" | "popupPinOffset" | "popupPinOffsetX" | "popupPinOffsetY" | "popupMargin" | "popupPinSize" | "inputTextColor" | "inputShadow" | "inputBg" | "inputIconColor" | "inputColor" | "inputWidth" | "inputTextColorDisabled" | "inputFontSizeSmall" | "inputFontSizeMedium" | "inputFontSizeLarge" | "inputLineHeightSmall" | "inputLineHeightMedium" | "inputLineHeightLarge" | "inputHeightSmall" | "inputHeightMedium" | "inputHeightLarge" | "inputPaddingYSmall" | "inputPaddingYMedium" | "inputPaddingYLarge" | "inputPaddingXSmall" | "inputPaddingXMedium" | "inputPaddingXLarge" | "inputIconGapSmall" | "inputIconGapMedium" | "inputIconGapLarge" | "inputIconSizeSmall" | "inputIconSizeMedium" | "inputIconSizeLarge" | "inputFocusShadow" | "inputDisabledBg" | "inputDisabledBorderColor" | "inputFocusOutline" | "inputBorderWidth" | "inputOutlineWidth" | "inputBorderRadiusSmall" | "inputBorderRadiusMedium" | "inputBorderRadiusLarge" | "inputBorderColor" | "inputBorderColorFocus" | "inputBorderColorError" | "inputBorderColorWarning" | "inputBorderTopColor" | "inputPlaceholderColor" | "inputPlaceholderColorDisabled" | "inputPlaceholderColorLight" | "inputBlinkColor" | "checkboxFontSize" | "checkboxLineHeight" | "checkboxBoxSize" | "checkboxCaptionGap" | "checkboxPaddingY" | "checkboxBoxOffsetY" | "checkboxBgStart" | "checkboxBgEnd" | "checkboxTextColorDefault" | "checkboxTextColorDisabled" | "checkboxShadowDisabled" | "checkboxBorder" | "checkboxBorderWidth" | "checkboxShadow" | "checkboxShadowHover" | "checkboxCheckedColor" | "checkboxOutlineColorFocus" | "checkboxBorderColorWarning" | "checkboxBorderColorError" | "checkboxCheckedHoverShadow" | "checkboxBorderRadius" | "checkboxOutlineWidth" | "checkboxCheckedShadow" | "checkboxCheckedActiveShadow" | "checkboxBorderColorFocus" | "checkboxBg" | "checkboxHoverBg" | "checkboxActiveBg" | "checkboxCheckedBg" | "checkboxBgDisabled" | "checkboxCheckedHoverBg" | "checkboxCheckedActiveBg" | "checkboxShadowActive" | "textareaBg" | "textareaColor" | "textareaTextColorDisabled" | "textareaPlaceholderColorLight" | "textareaPlaceholderColor" | "textareaPlaceholderColorDisabled" | "textareaShadow" | "textareaFontSize" | "textareaLineHeight" | "textareaBorderRadius" | "textareaBorderWidth" | "textareaOutlineWidth" | "textareaMinHeight" | "textareaWidth" | "textareaPaddingX" | "textareaPaddingY" | "textareaBorderColor" | "textareaBorderTopColor" | "textareaBorderColorFocus" | "textareaBorderColorWarning" | "textareaBorderColorError" | "textareaDisabledBg" | "textareaDisabledBorderColor" | "textareaCounterColor" | "textareaCounterBg" | "textareaCounterErrorColor" | "textareaCounterHelpIconColor" | "radioBulletSize" | "radioOutlineWidth" | "radioTextColor" | "radioSize" | "radioSizeAfter" | "radioFontSize" | "radioLineHeight" | "radioCaptionGap" | "radioPaddingY" | "radioVerticalAlign" | "radioBgImage" | "radioBgColor" | "radioHoverBg" | "radioActiveBg" | "radioBorderWidth" | "radioBorderColor" | "radioBoxShadow" | "radioBorder" | "radioBorderColorFocus" | "radioBorderColorWarning" | "radioBorderColorError" | "radioHoverShadow" | "radioActiveShadow" | "radioFocusShadow" | "radioCheckedBgColor" | "radioCheckedBorderColor" | "radioCheckedBulletColor" | "radioCheckedHoverBgColor" | "radioDisabledBg" | "radioDisabledShadow" | "radioCaptionDisplay" | "radioBorderWidthCompensation" | "radioCircleOffsetY" | "radioGroupLegacyItemGap" | "tabFontSize" | "tabPaddingX" | "tabsMarginX" | "tabPaddingY" | "tabLineHeight" | "tabBorderWidth" | "tabOutlineWidth" | "tabTextColorDefault" | "tabColorFocus" | "tabColorError" | "tabColorWarning" | "tabColorSuccess" | "tabColorPrimary" | "tabColorHover" | "tabColorHoverError" | "tabColorHoverWarning" | "tabColorHoverSuccess" | "tabColorHoverPrimary" | "spinnerBgColor" | "spinnerColor" | "spinnerDimmedColor" | "spinnerCaptionColor" | "spinnerFontSizeSmall" | "spinnerFontSizeMedium" | "spinnerFontSizeLarge" | "spinnerLineHeightSmall" | "spinnerLineHeightMedium" | "spinnerLineHeightLarge" | "spinnerCaptionGapSmall" | "spinnerCaptionGapMedium" | "spinnerCaptionGapLarge" | "switcherBorderRadius" | "switcherTextColor" | "switcherOutlineWidth" | "switcherCaptionFontSizeSmall" | "switcherCaptionFontSizeMedium" | "switcherCaptionFontSizeLarge" | "switcherCaptionLineHeightSmall" | "switcherCaptionLineHeightMedium" | "switcherCaptionLineHeightLarge" | "switcherCaptionGapSmall" | "switcherCaptionGapMedium" | "switcherCaptionGapLarge" | "switcherButtonPaddingXSmall" | "switcherButtonPaddingXMedium" | "switcherButtonPaddingXLarge" | "switcherButtonPaddingYSmall" | "switcherButtonPaddingYMedium" | "switcherButtonPaddingYLarge" | "switcherButtonLineHeightSmall" | "switcherButtonLineHeightMedium" | "switcherButtonLineHeightLarge" | "switcherButtonFontSizeSmall" | "switcherButtonFontSizeMedium" | "switcherButtonFontSizeLarge" | "switcherButtonBorderRadiusSmall" | "switcherButtonBorderRadiusMedium" | "switcherButtonBorderRadiusLarge" | "switcherButtonBorderWidth" | "switcherButtonDisabledBorderColor" | "switcherButtonCheckedDisabledShadow" | "mobilePopupTopPadding" | "mobilePopupHeaderPadding" | "mobilePopupHeaderBorderRadius" | "mobilePopupHeaderShadow" | "mobilePopupHeaderFontSize" | "mobilePopupHeaderLineHeight" | "mobilePopupHeaderFontWeight" | "mobilePopupHeaderChildPadding" | "scrollContainerScrollBarSize" | "scrollContainerScrollBarHoverSize" | "scrollContainerScrollBarColor" | "scrollContainerScrollBarInvertColor" | "passwordInputVisibilityIconColor" | "passwordInputVisibilityIconOpacity" | "passwordInputVisibilityIconHoverColor" | "passwordInputVisibilityIconHoverOpacity" | "globalLoaderColor" | "globalLoaderHeight" | "globalLoaderWidth" | "globalLoaderPosition" | "globalLoaderTop" | "globalLoaderLeft" | "globalLoaderBottom" | "globalLoaderRight" | "globalLoaderBackgroundColor" | "globalLoaderTransitionToSpinnerDuration" | "globalLoaderSpinnerAnimationDuration" | "globalLoaderSlowAnimationDuration" | "globalLoaderTransitionFromSpinnerDuration" | "fileUploaderWidth" | "fileUploaderBg" | "fileUploaderFontSize" | "fileUploaderLineHeight" | "fileUploaderTextColorDefault" | "fileUploaderPaddingX" | "fileUploaderPaddingY" | "fileUploaderBorderRadius" | "fileUploaderBorderColor" | "fileUploaderBorderWidth" | "fileUploaderBorderStyle" | "fileUploaderBorderColorFocus" | "fileUploaderLinkColor" | "fileUploaderIconSize" | "fileUploaderIconColor" | "fileUploaderIconHoverColor" | "fileUploaderBorderColorError" | "fileUploaderBorderColorWarning" | "fileUploaderDisabledBg" | "fileUploaderDisabledBorderColor" | "fileUploaderDisabledTextColor" | "fileUploaderDisabledLinkColor" | "fileUploaderDisabledIconColor" | "fileUploaderLinkHoverTextDecoration" | "fileUploaderHoveredBg")[];
|
|
21
21
|
export declare const CALLS_COUNT: number;
|
|
22
22
|
export declare const EXECUTION_TIME: number;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { globalThat } from "../../../lib/SSRSafe";
|
|
2
|
+
|
|
3
|
+
var calculatePriority = function calculatePriority(priority) {
|
|
4
|
+
if (typeof priority === 'string') {
|
|
5
|
+
return componentPriorities[priority];
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
return priority;
|
|
9
|
+
};
|
|
10
|
+
|
|
2
11
|
var componentPriorities = {
|
|
3
12
|
MobilePopup: 9000,
|
|
4
13
|
Toast: 10000,
|
|
@@ -30,11 +39,8 @@ var getMaxAllowedValue = function getMaxAllowedValue(priority) {
|
|
|
30
39
|
|
|
31
40
|
export var upperBorder = getMaxAllowedValue(Math.max.apply(Math, Object.values(componentPriorities)));
|
|
32
41
|
export function incrementZIndex(priority, delta) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var maxAllowedValue = getMaxAllowedValue(priority);
|
|
42
|
+
var calculatedPriority = calculatePriority(priority);
|
|
43
|
+
var maxAllowedValue = getMaxAllowedValue(calculatedPriority);
|
|
38
44
|
var zIndexes = getZIndexes();
|
|
39
45
|
var prevIndexId = zIndexes.length - 1;
|
|
40
46
|
|
|
@@ -42,7 +48,7 @@ export function incrementZIndex(priority, delta) {
|
|
|
42
48
|
prevIndexId--;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
|
-
var zIndex = getIndexPriority(zIndexes[prevIndexId]) ===
|
|
51
|
+
var zIndex = getIndexPriority(zIndexes[prevIndexId]) === calculatedPriority ? Math.min(zIndexes[prevIndexId] + delta, maxAllowedValue) : calculatedPriority * priorityStep;
|
|
46
52
|
zIndexes.push(zIndex);
|
|
47
53
|
zIndexes.sort(function (a, b) {
|
|
48
54
|
return a - b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ZIndexStorage.ts"],"names":["globalThat","componentPriorities","MobilePopup","Toast","GlobalLoader","Sidepage","Modal","Sticky","DropdownContainer","Popup","Loader","ModalHeader","ModalFooter","ModalCross","ModalBody","priorityStep","getZIndexes","__RetailUiZIndexes","getIndexPriority","zIndex","Math","trunc","getMaxAllowedValue","
|
|
1
|
+
{"version":3,"sources":["ZIndexStorage.ts"],"names":["globalThat","calculatePriority","priority","componentPriorities","MobilePopup","Toast","GlobalLoader","Sidepage","Modal","Sticky","DropdownContainer","Popup","Loader","ModalHeader","ModalFooter","ModalCross","ModalBody","priorityStep","getZIndexes","__RetailUiZIndexes","getIndexPriority","zIndex","Math","trunc","getMaxAllowedValue","upperBorder","max","Object","values","incrementZIndex","delta","calculatedPriority","maxAllowedValue","zIndexes","prevIndexId","length","min","push","sort","a","b","removeZIndex","i","indexOf","splice"],"mappings":"AAAA,SAASA,UAAT,QAA2B,mBAA3B;;;AAGA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD,EAAwB;AAChD,MAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AAChC,WAAOC,mBAAmB,CAACD,QAAD,CAA1B;AACD;;AAED,SAAOA,QAAP;AACD,CAND;;;;AAUA,IAAMC,mBAAmB,GAAG;AAC1BC,EAAAA,WAAW,EAAE,IADa;AAE1BC,EAAAA,KAAK,EAAE,KAFmB;AAG1BC,EAAAA,YAAY,EAAE,EAHY;AAI1BC,EAAAA,QAAQ,EAAE,CAJgB;AAK1BC,EAAAA,KAAK,EAAE,CALmB;AAM1BC,EAAAA,MAAM,EAAE,CANkB;AAO1BC,EAAAA,iBAAiB,EAAE,CAPO;AAQ1BC,EAAAA,KAAK,EAAE,CARmB;AAS1BC,EAAAA,MAAM,EAAE,CATkB;AAU1BC,EAAAA,WAAW,EAAE,CAVa;AAW1BC,EAAAA,WAAW,EAAE,CAXa;AAY1BC,EAAAA,UAAU,EAAE,CAZc;AAa1BC,EAAAA,SAAS,EAAE,CAbe,EAA5B;;AAeA,IAAMC,YAAY,GAAG,IAArB;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,WAAgBlB,UAAU,CAACmB,kBAAX,KAAkCnB,UAAU,CAACmB,kBAAX,GAAgC,CAAC,CAAD,CAAlE,CAAhB,EAApB;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD,UAAoBC,IAAI,CAACC,KAAL,CAAWF,MAAM,GAAGJ,YAApB,CAApB,EAAzB;AACA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAACtB,QAAD,UAA8B,CAACA,QAAQ,GAAG,CAAZ,IAAiBe,YAAjB,GAAgC,CAA9D,EAA3B;;AAEA,OAAO,IAAMQ,WAAW,GAAGD,kBAAkB,CAACF,IAAI,CAACI,GAAL,OAAAJ,IAAI,EAAQK,MAAM,CAACC,MAAP,CAAczB,mBAAd,CAAR,CAAL,CAAtC;;AAEP,OAAO,SAAS0B,eAAT,CAAyB3B,QAAzB,EAA6C4B,KAA7C,EAAoE;AACzE,MAAMC,kBAAkB,GAAG9B,iBAAiB,CAACC,QAAD,CAA5C;;AAEA,MAAM8B,eAAe,GAAGR,kBAAkB,CAACO,kBAAD,CAA1C;AACA,MAAME,QAAQ,GAAGf,WAAW,EAA5B;;AAEA,MAAIgB,WAAW,GAAGD,QAAQ,CAACE,MAAT,GAAkB,CAApC;AACA,SAAOF,QAAQ,CAACC,WAAD,CAAR,GAAwBF,eAAxB,IAA2CE,WAAW,GAAG,CAAhE,EAAmE;AACjEA,IAAAA,WAAW;AACZ;;AAED,MAAMb,MAAM;AACVD,EAAAA,gBAAgB,CAACa,QAAQ,CAACC,WAAD,CAAT,CAAhB,KAA4CH,kBAA5C;AACIT,EAAAA,IAAI,CAACc,GAAL,CAASH,QAAQ,CAACC,WAAD,CAAR,GAAwBJ,KAAjC,EAAwCE,eAAxC,CADJ;AAEID,EAAAA,kBAAkB,GAAGd,YAH3B;;AAKAgB,EAAAA,QAAQ,CAACI,IAAT,CAAchB,MAAd;AACAY,EAAAA,QAAQ,CAACK,IAAT,CAAc,UAACC,CAAD,EAAIC,CAAJ,UAAUD,CAAC,GAAGC,CAAd,EAAd;AACA,SAAOnB,MAAP;AACD;;AAED,OAAO,SAASoB,YAAT,CAAsBpB,MAAtB,EAA4C;AACjD,MAAMY,QAAQ,GAAGf,WAAW,EAA5B;AACA,MAAMwB,CAAC,GAAGT,QAAQ,CAACU,OAAT,CAAiBtB,MAAjB,CAAV;;AAEA,MAAIqB,CAAC,KAAK,CAAC,CAAX,EAAc;AACZT,IAAAA,QAAQ,CAACW,MAAT,CAAgBF,CAAhB,EAAmB,CAAnB;AACD;AACF","sourcesContent":["import { globalThat } from '../../lib/SSRSafe';\n\ntype Priority = number | LayerComponentName;\nconst calculatePriority = (priority: Priority) => {\n if (typeof priority === 'string') {\n return componentPriorities[priority];\n }\n\n return priority;\n};\n\nexport type LayerComponentName = keyof typeof componentPriorities;\n\nconst componentPriorities = {\n MobilePopup: 9000,\n Toast: 10000,\n GlobalLoader: 10,\n Sidepage: 9,\n Modal: 9,\n Sticky: 7,\n DropdownContainer: 5,\n Popup: 3,\n Loader: 1,\n ModalHeader: 1,\n ModalFooter: 1,\n ModalCross: 2,\n ModalBody: 0,\n};\nconst priorityStep = 1000;\n\nconst getZIndexes = (): number[] => globalThat.__RetailUiZIndexes || (globalThat.__RetailUiZIndexes = [0]);\nconst getIndexPriority = (zIndex: number) => Math.trunc(zIndex / priorityStep);\nconst getMaxAllowedValue = (priority: number): number => (priority + 1) * priorityStep - 1;\n\nexport const upperBorder = getMaxAllowedValue(Math.max(...Object.values(componentPriorities)));\n\nexport function incrementZIndex(priority: Priority, delta: number): number {\n const calculatedPriority = calculatePriority(priority);\n\n const maxAllowedValue = getMaxAllowedValue(calculatedPriority);\n const zIndexes = getZIndexes();\n\n let prevIndexId = zIndexes.length - 1;\n while (zIndexes[prevIndexId] > maxAllowedValue && prevIndexId > 0) {\n prevIndexId--;\n }\n\n const zIndex =\n getIndexPriority(zIndexes[prevIndexId]) === calculatedPriority\n ? Math.min(zIndexes[prevIndexId] + delta, maxAllowedValue)\n : calculatedPriority * priorityStep;\n\n zIndexes.push(zIndex);\n zIndexes.sort((a, b) => a - b);\n return zIndex;\n}\n\nexport function removeZIndex(zIndex: number): void {\n const zIndexes = getZIndexes();\n const i = zIndexes.indexOf(zIndex);\n\n if (i !== -1) {\n zIndexes.splice(i, 1);\n }\n}\n"]}
|