@skbkontur/react-ui 0.0.0-95a1dbe516 → 0.0.0-9ab4f802f3
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 +120 -0
- package/README.md +41 -13
- package/cjs/components/Autocomplete/Autocomplete.js +12 -6
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +76 -3
- package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
- package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
- package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
- package/cjs/components/Button/Button.js +2 -2
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +38 -11
- package/cjs/components/Calendar/Calendar.d.ts +28 -5
- package/cjs/components/Calendar/Calendar.js +80 -36
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +82 -1
- package/cjs/components/Calendar/Calendar.styles.js +1 -1
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
- package/cjs/components/Calendar/CalendarContext.js +16 -0
- package/cjs/components/Calendar/CalendarContext.js.map +1 -0
- package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/cjs/components/Calendar/CalendarDateShape.js +13 -3
- package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
- package/cjs/components/Calendar/CalendarDay.js +79 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -0
- package/cjs/components/Calendar/CalendarDay.md +70 -0
- package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
- package/cjs/components/Calendar/CalendarUtils.js +4 -6
- package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.d.ts +4 -12
- package/cjs/components/Calendar/DayCellView.js +20 -42
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/cjs/components/Calendar/DayCellView.styles.js +37 -43
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Calendar/Month.d.ts +0 -10
- package/cjs/components/Calendar/Month.js +36 -88
- package/cjs/components/Calendar/Month.js.map +1 -1
- package/cjs/components/Calendar/MonthView.d.ts +3 -2
- package/cjs/components/Calendar/MonthView.js +47 -37
- package/cjs/components/Calendar/MonthView.js.map +1 -1
- package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
- package/cjs/components/Calendar/MonthView.styles.js +45 -7
- package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
- package/cjs/components/Calendar/MonthViewModel.js +24 -6
- package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/components/Calendar/config.js +12 -6
- package/cjs/components/Calendar/config.js.map +1 -1
- package/cjs/components/Calendar/index.d.ts +1 -0
- package/cjs/components/Calendar/index.js +2 -1
- package/cjs/components/Calendar/index.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +1 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
- package/cjs/components/DatePicker/DatePicker.js +72 -45
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +29 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
- package/cjs/components/DatePicker/MobilePicker.js +118 -0
- package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
- package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
- package/cjs/components/DatePicker/Picker.js +1 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
- package/cjs/components/Dropdown/Dropdown.js +1 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
- package/cjs/components/FileUploader/FileUploader.js +32 -9
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +29 -0
- package/cjs/components/FxInput/FxInput.js +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Group/Group.js +1 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +4 -3
- package/cjs/components/Hint/Hint.js +9 -8
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.js +1 -1
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +1 -1
- package/cjs/components/Input/Input.styles.js +3 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +6 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +3 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.js +1 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +2 -2
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.js +1 -1
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/Modal/Modal.js +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +1 -1
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.js +8 -3
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +1 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +10 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.js +6 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.js +1 -1
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.js +1 -1
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.js +1 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +1 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +1 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Switcher/Switcher.js +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +1 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.js +2 -2
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +1 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/Toast.js +1 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +1 -1
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +1 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.js +2 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +1 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
- package/cjs/components/Tooltip/Tooltip.js +59 -20
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useDrop.d.ts +1 -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/CommonWrapper/CommonWrapper.js +2 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
- package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
- package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
- package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
- package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
- package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
- package/cjs/internal/DateSelect/DateSelect.js +51 -4
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
- package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -2
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/NativeDateInput/utils.js +3 -2
- package/cjs/internal/NativeDateInput/utils.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +15 -4
- package/cjs/internal/Popup/Popup.js +67 -4
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
- package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +2 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
- package/cjs/internal/ZIndex/ZIndex.js +41 -3
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/DarkTheme.d.ts +2 -0
- package/cjs/internal/themes/DarkTheme.js +6 -1
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
- package/cjs/internal/themes/DefaultTheme.js +32 -4
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/date/InternalDate.d.ts +2 -0
- package/cjs/lib/date/InternalDate.js +8 -1
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
- package/cjs/lib/date/InternalDateTransformer.js +23 -0
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +2 -1
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/comparison.d.ts +6 -0
- package/cjs/lib/date/comparison.js +44 -0
- package/cjs/lib/date/comparison.js.map +1 -0
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +4 -2
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/constants.d.ts +3 -0
- package/cjs/lib/locale/constants.js +6 -2
- package/cjs/lib/locale/constants.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.d.ts +7 -1
- package/cjs/lib/theming/Emotion.js +6 -3
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +0 -2
- package/cjs/lib/theming/ThemeContext.js +1 -3
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +3 -1
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
- package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
- package/cjs/lib/widgets/StylesContainer.js +70 -0
- package/cjs/lib/widgets/StylesContainer.js.map +1 -0
- package/cjs/lib/widgets/index.d.ts +1 -0
- package/cjs/lib/widgets/index.js +1 -0
- package/cjs/lib/widgets/index.js.map +1 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.md +76 -3
- package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
- package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
- package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
- package/components/Button/Button/Button.js +3 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.md +38 -11
- package/components/Calendar/Calendar/Calendar.js +83 -66
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +28 -5
- package/components/Calendar/Calendar.md +82 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
- package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
- package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
- package/components/Calendar/CalendarContext/package.json +6 -0
- package/components/Calendar/CalendarContext.d.ts +12 -0
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
- package/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
- package/components/Calendar/CalendarDay/package.json +6 -0
- package/components/Calendar/CalendarDay.d.ts +12 -0
- package/components/Calendar/CalendarDay.md +70 -0
- package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
- package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
- package/components/Calendar/CalendarUtils.d.ts +2 -1
- package/components/Calendar/DayCellView/DayCellView.js +33 -46
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.d.ts +4 -12
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/components/Calendar/Month/Month.js +50 -84
- package/components/Calendar/Month/Month.js.map +1 -1
- package/components/Calendar/Month.d.ts +0 -10
- package/components/Calendar/MonthView/MonthView.js +50 -45
- package/components/Calendar/MonthView/MonthView.js.map +1 -1
- package/components/Calendar/MonthView.d.ts +3 -2
- package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
- package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
- package/components/Calendar/MonthView.styles.d.ts +3 -0
- package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
- package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/components/Calendar/config/config.js +6 -4
- package/components/Calendar/config/config.js.map +1 -1
- package/components/Calendar/index/index.js +2 -1
- package/components/Calendar/index/index.js.map +1 -1
- package/components/Calendar/index.d.ts +1 -0
- package/components/Checkbox/Checkbox/Checkbox.js +2 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +2 -2
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +62 -41
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -1
- package/components/DatePicker/DatePicker.md +29 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
- package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
- package/components/DatePicker/MobilePicker/package.json +6 -0
- package/components/DatePicker/MobilePicker.d.ts +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
- package/components/DatePicker/MobilePicker.styles/package.json +6 -0
- package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/components/DatePicker/Picker/Picker.js +3 -3
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
- package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
- package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/components/Dropdown/Dropdown/Dropdown.js +3 -3
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.md +39 -0
- package/components/FileUploader/FileUploader/FileUploader.js +30 -8
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -0
- package/components/FileUploader/FileUploader.md +29 -0
- package/components/FxInput/FxInput/FxInput.js +2 -2
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/Group/Group/Group.js +2 -2
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Hint/Hint/Hint.js +53 -48
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +4 -3
- package/components/Input/Input/Input.js +3 -3
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +2 -2
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +7 -4
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +6 -3
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Loader/Loader/Loader.js +2 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +3 -3
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MiniModal/MiniModal/MiniModal.js +2 -2
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/Modal/Modal/Modal.js +3 -3
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody/ModalBody.js +3 -3
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Paging/Paging/Paging.js +10 -6
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +2 -2
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/Select/Select/Select.js +6 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +2 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +2 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js +3 -3
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Tabs/Indicator/Indicator.js +2 -2
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +3 -3
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +2 -2
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +2 -2
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Toast/Toast/Toast.js +3 -3
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/ToastView/ToastView.js +2 -2
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +2 -2
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Token/Token/Token.js +6 -3
- package/components/Token/Token/Token.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +2 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +67 -46
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +10 -5
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/hooks/useDrop.d.ts +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
- package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
- package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
- package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
- package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
- package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
- package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
- package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
- package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
- package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
- package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
- package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +2 -0
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/internal/DateSelect/locale/locales/en/en.js +2 -1
- package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
- package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
- package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
- package/internal/DateSelect/locale/types.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +3 -3
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/NativeDateInput/utils/utils.js +2 -1
- package/internal/NativeDateInput/utils/utils.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +53 -10
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +15 -4
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +3 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +2 -2
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +7 -3
- package/internal/themes/DarkTheme/DarkTheme.js +2 -0
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +2 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +18 -0
- package/lib/date/InternalDate/InternalDate.js +7 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDate.d.ts +2 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateTransformer.d.ts +3 -0
- package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/comparison/comparison.js +45 -0
- package/lib/date/comparison/comparison.js.map +1 -0
- package/lib/date/comparison/package.json +6 -0
- package/lib/date/comparison.d.ts +6 -0
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/locale/constants/constants.js +4 -1
- package/lib/locale/constants/constants.js.map +1 -1
- package/lib/locale/constants.d.ts +3 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +12 -3
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/Emotion.d.ts +7 -1
- package/lib/theming/ThemeContext/ThemeContext.js +0 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +0 -2
- package/lib/theming/ThemeContext.md +3 -1
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
- package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
- package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
- package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
- package/lib/widgets/StylesContainer/package.json +6 -0
- package/lib/widgets/StylesContainer.d.ts +13 -0
- package/lib/widgets/index/index.js +1 -0
- package/lib/widgets/index/index.js.map +1 -0
- package/lib/widgets/index/package.json +6 -0
- package/lib/widgets/index.d.ts +1 -0
- package/lib/widgets/package.json +6 -0
- package/package.json +3 -2
- package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
- package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
- package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
- package/cjs/lib/theming/StyleContainer.d.ts +0 -4
- package/cjs/lib/theming/StyleContainer.js +0 -21
- package/cjs/lib/theming/StyleContainer.js.map +0 -1
- package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
- package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
- package/lib/theming/StyleContainer/StyleContainer.js +0 -21
- package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
- package/lib/theming/StyleContainer/package.json +0 -6
- package/lib/theming/StyleContainer.d.ts +0 -4
- /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
- /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
- /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
- /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
|
@@ -3,7 +3,9 @@ import React from 'react';
|
|
|
3
3
|
import ReactDOM from 'react-dom';
|
|
4
4
|
import propTypes from 'prop-types';
|
|
5
5
|
import { globalObject } from '@skbkontur/global-object';
|
|
6
|
-
import { safePropTypesInstanceOf } from "../../../lib/SSRSafe";
|
|
6
|
+
import { safePropTypesInstanceOf } from "../../../lib/SSRSafe";
|
|
7
|
+
import { WithStyles } from "../../../lib/widgets";
|
|
8
|
+
import { PORTAL_INLET_ATTR } from "../RenderContainer"; // Заглушка нужна для корректной гидрации порталов после SSR,
|
|
7
9
|
// которую реакт сам пока не поддерживает.
|
|
8
10
|
// @see https://github.com/facebook/react/issues/13097
|
|
9
11
|
// А также для вставки актуального render-container-id на клиенте.
|
|
@@ -28,13 +30,13 @@ var SSRPlaceholder = function SSRPlaceholder() {
|
|
|
28
30
|
};
|
|
29
31
|
|
|
30
32
|
export var Portal = function Portal(_ref) {
|
|
33
|
+
var _ref2;
|
|
34
|
+
|
|
31
35
|
var container = _ref.container,
|
|
32
36
|
rt_rootID = _ref.rt_rootID,
|
|
33
37
|
children = _ref.children; // container exists only in browser
|
|
34
38
|
|
|
35
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, container ? /*#__PURE__*/ReactDOM.createPortal(children, container) : /*#__PURE__*/React.createElement(SSRPlaceholder, null), container ? /*#__PURE__*/React.createElement("noscript", {
|
|
36
|
-
"data-render-container-id": rt_rootID
|
|
37
|
-
}) : /*#__PURE__*/React.createElement(SSRPlaceholder, null));
|
|
39
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, container ? /*#__PURE__*/ReactDOM.createPortal(children, container) : /*#__PURE__*/React.createElement(SSRPlaceholder, null), container ? /*#__PURE__*/React.createElement("noscript", (_ref2 = {}, _ref2[PORTAL_INLET_ATTR] = rt_rootID, _ref2)) : /*#__PURE__*/React.createElement(SSRPlaceholder, null));
|
|
38
40
|
};
|
|
39
41
|
export var RenderInnerContainer = /*#__PURE__*/function (_React$Component) {
|
|
40
42
|
_inheritsLoose(RenderInnerContainer, _React$Component);
|
|
@@ -58,7 +60,11 @@ export var RenderInnerContainer = /*#__PURE__*/function (_React$Component) {
|
|
|
58
60
|
key: "portal-ref",
|
|
59
61
|
rt_rootID: rootId,
|
|
60
62
|
container: domContainer
|
|
61
|
-
},
|
|
63
|
+
}, /*#__PURE__*/React.createElement(WithStyles, {
|
|
64
|
+
rootId: rootId,
|
|
65
|
+
domContainer: domContainer,
|
|
66
|
+
anchor: anchor
|
|
67
|
+
}, children)));
|
|
62
68
|
}
|
|
63
69
|
|
|
64
70
|
return inner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","propTypes","globalObject","safePropTypesInstanceOf","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__","displayName","HTMLElement","string","isRequired","node"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;;AAGA,SAASC,uBAAT,QAAwC,mBAAxC
|
|
1
|
+
{"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","propTypes","globalObject","safePropTypesInstanceOf","WithStyles","PORTAL_INLET_ATTR","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__","displayName","HTMLElement","string","isRequired","node"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;;AAGA,SAASC,uBAAT,QAAwC,mBAAxC;AACA,SAASC,UAAT,QAA2B,mBAA3B;;;AAGA,SAASC,iBAAT,QAAkC,mBAAlC;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAqD,eAAlDC,SAAkD,QAAlDA,SAAkD,CAAvCC,SAAuC,QAAvCA,SAAuC,CAA5BC,QAA4B,QAA5BA,QAA4B;AACzE;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGR,QAAQ,CAACW,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,mDAAiBH,iBAAjB,IAAqCI,SAArC,SAAH,gBAA0D,oBAAC,cAAD,OAFtE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;;AAISC,EAAAA,MAJT,GAIE,kBAAgB;AACd,sBAAmD,KAAKC,KAAxD,CAAQC,MAAR,eAAQA,MAAR,CAAgBL,QAAhB,eAAgBA,QAAhB,CAA0BM,YAA1B,eAA0BA,YAA1B,CAAwCC,MAAxC,eAAwCA,MAAxC;AACA,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACE,0BAAC,UAAD,IAAY,MAAM,EAAEC,MAApB,EAA4B,YAAY,EAAED,YAA1C,EAAwD,MAAM,EAAED,MAAhE;AACGL,MAAAA,QADH,CADF,CAFF,CADF;;;;;AAUD;;AAED,WAAOQ,KAAP;AACD,GAtBH,+BAA0CnB,KAAK,CAACoB,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB,CADzBR,oB,CAEGS,W,GAAc,sB;;;AAuB9Bd,MAAM,CAACN,SAAP,GAAmB;AACjBO,EAAAA,SAAS,EAAEL,uBAAuB,CAACD,YAAY,CAACoB,WAAd,CADjB;AAEjBb,EAAAA,SAAS,EAAER,SAAS,CAACsB,MAAV,CAAiBC,UAFX;AAGjBd,EAAAA,QAAQ,EAAET,SAAS,CAACwB,IAAV,CAAeD,UAHR,EAAnB;;;AAMAjB,MAAM,CAACa,mBAAP,GAA6B,QAA7B;AACAb,MAAM,CAACc,WAAP,GAAqB,QAArB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport propTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { WithStyles } from '../../lib/widgets';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\nimport { PORTAL_INLET_ATTR } from './RenderContainer';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal = ({ container, rt_rootID, children }: PortalProps) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript {...{ [PORTAL_INLET_ATTR]: rt_rootID }} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n public static displayName = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n <WithStyles rootId={rootId} domContainer={domContainer} anchor={anchor}>\n {children}\n </WithStyles>\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n\nPortal.propTypes = {\n container: safePropTypesInstanceOf(globalObject.HTMLElement),\n rt_rootID: propTypes.string.isRequired,\n children: propTypes.node.isRequired,\n};\n\nPortal.__KONTUR_REACT_UI__ = 'Portal';\nPortal.displayName = 'Portal';\n"]}
|
|
@@ -5,7 +5,7 @@ var _class, _class2, _temp;
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { globalObject } from '@skbkontur/global-object';
|
|
8
|
-
import { listen as listenFocusOutside
|
|
8
|
+
import { containsTargetOrRenderContainer, listen as listenFocusOutside } from "../../../lib/listenFocusOutside";
|
|
9
9
|
import { CommonWrapper } from "../../CommonWrapper";
|
|
10
10
|
import { getRootNode, rootNode } from "../../../lib/rootNode";
|
|
11
11
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
@@ -35,7 +35,7 @@ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/funct
|
|
|
35
35
|
|
|
36
36
|
var node = _this.getAnchorNode();
|
|
37
37
|
|
|
38
|
-
if (!node || isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {
|
|
38
|
+
if (!node || event.composed && event.composedPath().indexOf(node) > -1 || isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RenderLayer.tsx"],"names":["React","globalObject","
|
|
1
|
+
{"version":3,"sources":["RenderLayer.tsx"],"names":["React","globalObject","containsTargetOrRenderContainer","listen","listenFocusOutside","CommonWrapper","getRootNode","rootNode","createPropsGetter","isInstanceOf","RenderLayer","getProps","defaultProps","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","composed","composedPath","indexOf","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","Children","only","children","getAnchorElement","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","displayName","propTypes","propName","componentName","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { containsTargetOrRenderContainer, listen as listenFocusOutside } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<Element>;\n}\n\ntype DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n public static displayName = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n active: true,\n };\n\n private getProps = createPropsGetter(RenderLayer.defaultProps);\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.getProps().active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n const active = this.getProps().active;\n if (!prevProps.active && active) {\n this.attachListeners();\n }\n if (prevProps.active && !active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.getProps().active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<Element> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n globalObject.addEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n globalObject.removeEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (\n !node ||\n (event.composed && event.composedPath().indexOf(node) > -1) ||\n (isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node))\n ) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
|
|
@@ -16,7 +16,7 @@ import { Sticky } from "../../../components/Sticky";
|
|
|
16
16
|
import { isTestEnv } from "../../../lib/currentEnvironment";
|
|
17
17
|
import { EmotionConsumer } from "../../../lib/theming/Emotion";
|
|
18
18
|
import { FileUploader } from "../../../components/FileUploader";
|
|
19
|
-
import {
|
|
19
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
20
20
|
import { ThemeType } from "../constants";
|
|
21
21
|
import { TokenInputPlayground } from "../TokenInputPlayground";
|
|
22
22
|
import { DatePickerPlayground } from "../AnotherInputsPlayground";
|
|
@@ -289,7 +289,7 @@ export var Playground = /*#__PURE__*/function (_React$Component) {
|
|
|
289
289
|
|
|
290
290
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
291
291
|
_this2.emotion = emotion;
|
|
292
|
-
return /*#__PURE__*/React.createElement(
|
|
292
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
293
293
|
_this2.theme = theme;
|
|
294
294
|
return _this2.renderMain();
|
|
295
295
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Playground.tsx"],"names":["React","SearchIcon","LinkIcon","OkIcon","ErrorIcon","TrashIcon","HelpDotIcon","Button","Tabs","Gapped","Link","Input","Tooltip","Sticky","isTestEnv","EmotionConsumer","FileUploader","ThemeConsumer","ThemeType","TokenInputPlayground","DatePickerPlayground","TogglePlayground","SwitcherPlayground","FxInputPlayground","CurrencyInputPlayground","getComponentsFromPropsList","CheckboxPlayground","RadioPlayground","PagingPlayground","HintPlayground","ComponentsGroup","SizesGroup","getStyles","useSticky","Playground","stopEl","createRef","renderTabsGroup","getStickyStop","renderTabs","getCurrentTab","props","currentThemeType","Dark","FlatOld","DefaultOld","Theme2022","Theme2022Dark","Default","renderSizesGroup","theme","renderLinksGroup","propsList","icon","children","use","disabled","renderButtonsGroup","arrow","size","width","loading","renderInputsGroup","placeholder","error","warning","fromProps","renderTokenInputsGroup","renderOtherInputsGroup","renderSwitchersGroup","renderControlsGroup","renderHintsGroup","renderTooltip","styles","emotion","tooltipContent","renderPaging","renderFileUploader","renderStickyStopElement","height","current","render","renderMain","wrapperClassName","cx","playground","playgroundWrapper","onThemeChange","onEditLinkClick","tabsOuterWrapperStyle","background","bgDefault","tabsOuterWrapperClass","tabsWrapper","stickyTabsWrapper","tabsInnerWrapper","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport SearchIcon from '@skbkontur/react-icons/Search';\nimport LinkIcon from '@skbkontur/react-icons/Link';\nimport OkIcon from '@skbkontur/react-icons/Ok';\nimport ErrorIcon from '@skbkontur/react-icons/Error';\nimport TrashIcon from '@skbkontur/react-icons/Trash';\nimport HelpDotIcon from '@skbkontur/react-icons/HelpDot';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Button, ButtonProps } from '../../components/Button';\nimport { Tabs } from '../../components/Tabs';\nimport { Gapped } from '../../components/Gapped';\nimport { Link, LinkProps } from '../../components/Link';\nimport { Input, InputProps } from '../../components/Input';\nimport { Tooltip } from '../../components/Tooltip';\nimport { Sticky } from '../../components/Sticky';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { FileUploader } from '../../components/FileUploader';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { ThemeType } from './constants';\nimport { TokenInputPlayground } from './TokenInputPlayground';\nimport { DatePickerPlayground } from './AnotherInputsPlayground';\nimport { TogglePlayground } from './TogglePlayground';\nimport { SwitcherPlayground } from './SwitcherPlayground';\nimport { FxInputPlayground } from './FxInputPlayground';\nimport { CurrencyInputPlayground } from './CurrencyInputPlayground';\nimport { getComponentsFromPropsList } from './helpers';\nimport { CheckboxPlayground } from './CheckboxPlayground';\nimport { RadioPlayground } from './RadioPlayground';\nimport { PagingPlayground } from './PagingPlayground';\nimport { HintPlayground } from './HintPlayground';\nimport { ComponentsGroup } from './ComponentsGroup';\nimport { SizesGroup } from './SizesGroup';\nimport { getStyles } from './Playground.styles';\n\nconst useSticky = !isTestEnv;\n\nexport interface PlaygroundProps {\n currentThemeType: ThemeType;\n onThemeChange: (value: string) => void;\n onEditLinkClick: () => void;\n}\n\nexport class Playground extends React.Component<PlaygroundProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private stopEl = React.createRef<HTMLDivElement>();\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n private renderMain() {\n const styles = getStyles(this.emotion);\n const wrapperClassName = this.emotion.cx(styles.playground(), styles.playgroundWrapper(this.theme));\n return (\n <div className={wrapperClassName}>\n <Gapped vertical gap={50}>\n {this.renderTabsGroup()}\n {this.renderSizesGroup()}\n {this.renderLinksGroup()}\n {this.renderButtonsGroup()}\n {this.renderInputsGroup()}\n {this.renderOtherInputsGroup()}\n {this.renderTokenInputsGroup()}\n {this.renderSwitchersGroup()}\n {this.renderControlsGroup()}\n </Gapped>\n {this.renderStickyStopElement()}\n <Gapped vertical gap={50}>\n {this.renderHintsGroup()}\n {this.renderTooltip()}\n {this.renderPaging()}\n {this.renderFileUploader()}\n </Gapped>\n </div>\n );\n }\n\n private renderTabsGroup = () => {\n return useSticky ? (\n <Sticky side={'top'} getStop={this.getStickyStop}>\n {this.renderTabs()}\n </Sticky>\n ) : (\n this.renderTabs()\n );\n };\n\n private renderTabs() {\n const styles = getStyles(this.emotion);\n const { onThemeChange, onEditLinkClick } = this.props;\n const tabsOuterWrapperStyle = { background: this.theme.bgDefault };\n const tabsOuterWrapperClass = this.emotion.cx({\n [styles.tabsWrapper(this.theme)]: true,\n [styles.stickyTabsWrapper(this.theme)]: useSticky,\n });\n\n return (\n <div style={tabsOuterWrapperStyle} className={tabsOuterWrapperClass}>\n <Gapped gap={40}>\n <Tabs value={this.getCurrentTab()} onValueChange={onThemeChange} vertical={false}>\n <div className={styles.tabsInnerWrapper(this.theme)}>\n <Tabs.Tab id={ThemeType.Default}>Дефолтная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Dark}>Темная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.DefaultOld}>Дефолтная 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.FlatOld}>Плоская 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022}>Новая 2022</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022Dark}>Новая 2022 Тёмная</Tabs.Tab>\n </div>\n </Tabs>\n <Link onClick={onEditLinkClick}>Настроить тему</Link>\n </Gapped>\n </div>\n );\n }\n\n private getCurrentTab = () => {\n switch (this.props.currentThemeType) {\n case ThemeType.Dark:\n return ThemeType.Dark;\n case ThemeType.FlatOld:\n return ThemeType.FlatOld;\n case ThemeType.DefaultOld:\n return ThemeType.DefaultOld;\n case ThemeType.Theme2022:\n return ThemeType.Theme2022;\n case ThemeType.Theme2022Dark:\n return ThemeType.Theme2022Dark;\n default:\n return ThemeType.Default;\n }\n };\n\n private renderSizesGroup = () => {\n return (\n <ComponentsGroup title={'Размеры'} theme={this.theme}>\n <SizesGroup size={'small'} />\n <SizesGroup size={'medium'} />\n <SizesGroup size={'large'} />\n </ComponentsGroup>\n );\n };\n\n private renderLinksGroup = () => {\n const propsList: LinkProps[] = [\n { icon: <LinkIcon />, children: 'Enabled' },\n { icon: <OkIcon />, use: 'success', children: 'Success' },\n { icon: <ErrorIcon />, use: 'danger', children: 'Danger' },\n { icon: <TrashIcon />, use: 'grayed', children: 'Grayed' },\n { icon: <TrashIcon />, children: 'Disabled', disabled: true },\n ];\n return (\n <ComponentsGroup title={'Ссылки'} theme={this.theme}>\n <Gapped wrap verticalAlign=\"middle\" gap={10}>\n {getComponentsFromPropsList(<Link />, propsList)}\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderButtonsGroup = () => {\n const propsList: ButtonProps[] = [\n { children: 'Default' },\n { children: 'Primary', use: 'primary' },\n { children: 'Danger', use: 'danger' },\n { children: 'Pay', use: 'pay' },\n { children: 'Success', use: 'success' },\n { children: 'Disabled', disabled: true },\n { children: 'Back', arrow: 'left', size: 'medium', width: 110 },\n { children: 'Forward', arrow: true, size: 'medium', use: 'primary', width: 110 },\n { children: 'Loading', size: 'medium', loading: true },\n ];\n\n return (\n <ComponentsGroup title={'Кнопки'} theme={this.theme}>\n {getComponentsFromPropsList(<Button width={120} size={'small'} />, propsList)}\n </ComponentsGroup>\n );\n };\n\n private renderInputsGroup = () => {\n const propsList: InputProps[] = [\n { placeholder: 'Enabled' },\n { placeholder: 'Error', error: true },\n { placeholder: 'Warning', warning: true },\n { placeholder: 'Disabled', disabled: true },\n ];\n const fromProps = getComponentsFromPropsList(<Input width={120} />, propsList);\n return (\n <ComponentsGroup title={'Поле ввода'} theme={this.theme}>\n <Input width={380} prefix=\"https://kontur.ru/search?query=\" rightIcon={<SearchIcon />} />\n <div>\n <Gapped gap={10}>{fromProps}</Gapped>\n </div>\n </ComponentsGroup>\n );\n };\n\n private renderTokenInputsGroup = () => {\n return (\n <ComponentsGroup title={'Поле с токеном'} theme={this.theme}>\n <TokenInputPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderOtherInputsGroup = () => {\n return (\n <ComponentsGroup title={'Прочие поля'} theme={this.theme}>\n <CurrencyInputPlayground />\n <FxInputPlayground />\n <DatePickerPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderSwitchersGroup = () => {\n return (\n <ComponentsGroup title={'Переключатели'} theme={this.theme}>\n <SwitcherPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderControlsGroup = () => {\n return (\n <ComponentsGroup title={'Радио, чекбоксы'} theme={this.theme}>\n <Gapped verticalAlign={'top'} gap={60}>\n <CheckboxPlayground />\n <RadioPlayground />\n <TogglePlayground />\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderHintsGroup = () => {\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <HintPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderTooltip = () => {\n const styles = getStyles(this.emotion);\n const tooltipContent = () => (\n <div className={styles.tooltipContent()}>\n {'Информация об ошибке. Короткий объясняющий текст и ссылка, если нужно'}\n </div>\n );\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <Tooltip render={tooltipContent} pos=\"right middle\" trigger={'opened'} disableAnimations>\n <Link icon={<HelpDotIcon />} />\n </Tooltip>\n </ComponentsGroup>\n );\n };\n\n private renderPaging = () => {\n return (\n <ComponentsGroup title={'Пейджинг'} theme={this.theme}>\n <PagingPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderFileUploader = () => {\n return (\n <ComponentsGroup title={'FileUploader'} theme={this.theme}>\n <FileUploader multiple />\n </ComponentsGroup>\n );\n };\n\n private renderStickyStopElement = () => {\n return <div ref={this.stopEl} style={{ height: 50 }} />;\n };\n\n private getStickyStop = () => this.stopEl.current;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Playground.tsx"],"names":["React","SearchIcon","LinkIcon","OkIcon","ErrorIcon","TrashIcon","HelpDotIcon","Button","Tabs","Gapped","Link","Input","Tooltip","Sticky","isTestEnv","EmotionConsumer","FileUploader","ThemeContext","ThemeType","TokenInputPlayground","DatePickerPlayground","TogglePlayground","SwitcherPlayground","FxInputPlayground","CurrencyInputPlayground","getComponentsFromPropsList","CheckboxPlayground","RadioPlayground","PagingPlayground","HintPlayground","ComponentsGroup","SizesGroup","getStyles","useSticky","Playground","stopEl","createRef","renderTabsGroup","getStickyStop","renderTabs","getCurrentTab","props","currentThemeType","Dark","FlatOld","DefaultOld","Theme2022","Theme2022Dark","Default","renderSizesGroup","theme","renderLinksGroup","propsList","icon","children","use","disabled","renderButtonsGroup","arrow","size","width","loading","renderInputsGroup","placeholder","error","warning","fromProps","renderTokenInputsGroup","renderOtherInputsGroup","renderSwitchersGroup","renderControlsGroup","renderHintsGroup","renderTooltip","styles","emotion","tooltipContent","renderPaging","renderFileUploader","renderStickyStopElement","height","current","render","renderMain","wrapperClassName","cx","playground","playgroundWrapper","onThemeChange","onEditLinkClick","tabsOuterWrapperStyle","background","bgDefault","tabsOuterWrapperClass","tabsWrapper","stickyTabsWrapper","tabsInnerWrapper","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport SearchIcon from '@skbkontur/react-icons/Search';\nimport LinkIcon from '@skbkontur/react-icons/Link';\nimport OkIcon from '@skbkontur/react-icons/Ok';\nimport ErrorIcon from '@skbkontur/react-icons/Error';\nimport TrashIcon from '@skbkontur/react-icons/Trash';\nimport HelpDotIcon from '@skbkontur/react-icons/HelpDot';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Button, ButtonProps } from '../../components/Button';\nimport { Tabs } from '../../components/Tabs';\nimport { Gapped } from '../../components/Gapped';\nimport { Link, LinkProps } from '../../components/Link';\nimport { Input, InputProps } from '../../components/Input';\nimport { Tooltip } from '../../components/Tooltip';\nimport { Sticky } from '../../components/Sticky';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { FileUploader } from '../../components/FileUploader';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { ThemeType } from './constants';\nimport { TokenInputPlayground } from './TokenInputPlayground';\nimport { DatePickerPlayground } from './AnotherInputsPlayground';\nimport { TogglePlayground } from './TogglePlayground';\nimport { SwitcherPlayground } from './SwitcherPlayground';\nimport { FxInputPlayground } from './FxInputPlayground';\nimport { CurrencyInputPlayground } from './CurrencyInputPlayground';\nimport { getComponentsFromPropsList } from './helpers';\nimport { CheckboxPlayground } from './CheckboxPlayground';\nimport { RadioPlayground } from './RadioPlayground';\nimport { PagingPlayground } from './PagingPlayground';\nimport { HintPlayground } from './HintPlayground';\nimport { ComponentsGroup } from './ComponentsGroup';\nimport { SizesGroup } from './SizesGroup';\nimport { getStyles } from './Playground.styles';\n\nconst useSticky = !isTestEnv;\n\nexport interface PlaygroundProps {\n currentThemeType: ThemeType;\n onThemeChange: (value: string) => void;\n onEditLinkClick: () => void;\n}\n\nexport class Playground extends React.Component<PlaygroundProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private stopEl = React.createRef<HTMLDivElement>();\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n private renderMain() {\n const styles = getStyles(this.emotion);\n const wrapperClassName = this.emotion.cx(styles.playground(), styles.playgroundWrapper(this.theme));\n return (\n <div className={wrapperClassName}>\n <Gapped vertical gap={50}>\n {this.renderTabsGroup()}\n {this.renderSizesGroup()}\n {this.renderLinksGroup()}\n {this.renderButtonsGroup()}\n {this.renderInputsGroup()}\n {this.renderOtherInputsGroup()}\n {this.renderTokenInputsGroup()}\n {this.renderSwitchersGroup()}\n {this.renderControlsGroup()}\n </Gapped>\n {this.renderStickyStopElement()}\n <Gapped vertical gap={50}>\n {this.renderHintsGroup()}\n {this.renderTooltip()}\n {this.renderPaging()}\n {this.renderFileUploader()}\n </Gapped>\n </div>\n );\n }\n\n private renderTabsGroup = () => {\n return useSticky ? (\n <Sticky side={'top'} getStop={this.getStickyStop}>\n {this.renderTabs()}\n </Sticky>\n ) : (\n this.renderTabs()\n );\n };\n\n private renderTabs() {\n const styles = getStyles(this.emotion);\n const { onThemeChange, onEditLinkClick } = this.props;\n const tabsOuterWrapperStyle = { background: this.theme.bgDefault };\n const tabsOuterWrapperClass = this.emotion.cx({\n [styles.tabsWrapper(this.theme)]: true,\n [styles.stickyTabsWrapper(this.theme)]: useSticky,\n });\n\n return (\n <div style={tabsOuterWrapperStyle} className={tabsOuterWrapperClass}>\n <Gapped gap={40}>\n <Tabs value={this.getCurrentTab()} onValueChange={onThemeChange} vertical={false}>\n <div className={styles.tabsInnerWrapper(this.theme)}>\n <Tabs.Tab id={ThemeType.Default}>Дефолтная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Dark}>Темная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.DefaultOld}>Дефолтная 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.FlatOld}>Плоская 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022}>Новая 2022</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022Dark}>Новая 2022 Тёмная</Tabs.Tab>\n </div>\n </Tabs>\n <Link onClick={onEditLinkClick}>Настроить тему</Link>\n </Gapped>\n </div>\n );\n }\n\n private getCurrentTab = () => {\n switch (this.props.currentThemeType) {\n case ThemeType.Dark:\n return ThemeType.Dark;\n case ThemeType.FlatOld:\n return ThemeType.FlatOld;\n case ThemeType.DefaultOld:\n return ThemeType.DefaultOld;\n case ThemeType.Theme2022:\n return ThemeType.Theme2022;\n case ThemeType.Theme2022Dark:\n return ThemeType.Theme2022Dark;\n default:\n return ThemeType.Default;\n }\n };\n\n private renderSizesGroup = () => {\n return (\n <ComponentsGroup title={'Размеры'} theme={this.theme}>\n <SizesGroup size={'small'} />\n <SizesGroup size={'medium'} />\n <SizesGroup size={'large'} />\n </ComponentsGroup>\n );\n };\n\n private renderLinksGroup = () => {\n const propsList: LinkProps[] = [\n { icon: <LinkIcon />, children: 'Enabled' },\n { icon: <OkIcon />, use: 'success', children: 'Success' },\n { icon: <ErrorIcon />, use: 'danger', children: 'Danger' },\n { icon: <TrashIcon />, use: 'grayed', children: 'Grayed' },\n { icon: <TrashIcon />, children: 'Disabled', disabled: true },\n ];\n return (\n <ComponentsGroup title={'Ссылки'} theme={this.theme}>\n <Gapped wrap verticalAlign=\"middle\" gap={10}>\n {getComponentsFromPropsList(<Link />, propsList)}\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderButtonsGroup = () => {\n const propsList: ButtonProps[] = [\n { children: 'Default' },\n { children: 'Primary', use: 'primary' },\n { children: 'Danger', use: 'danger' },\n { children: 'Pay', use: 'pay' },\n { children: 'Success', use: 'success' },\n { children: 'Disabled', disabled: true },\n { children: 'Back', arrow: 'left', size: 'medium', width: 110 },\n { children: 'Forward', arrow: true, size: 'medium', use: 'primary', width: 110 },\n { children: 'Loading', size: 'medium', loading: true },\n ];\n\n return (\n <ComponentsGroup title={'Кнопки'} theme={this.theme}>\n {getComponentsFromPropsList(<Button width={120} size={'small'} />, propsList)}\n </ComponentsGroup>\n );\n };\n\n private renderInputsGroup = () => {\n const propsList: InputProps[] = [\n { placeholder: 'Enabled' },\n { placeholder: 'Error', error: true },\n { placeholder: 'Warning', warning: true },\n { placeholder: 'Disabled', disabled: true },\n ];\n const fromProps = getComponentsFromPropsList(<Input width={120} />, propsList);\n return (\n <ComponentsGroup title={'Поле ввода'} theme={this.theme}>\n <Input width={380} prefix=\"https://kontur.ru/search?query=\" rightIcon={<SearchIcon />} />\n <div>\n <Gapped gap={10}>{fromProps}</Gapped>\n </div>\n </ComponentsGroup>\n );\n };\n\n private renderTokenInputsGroup = () => {\n return (\n <ComponentsGroup title={'Поле с токеном'} theme={this.theme}>\n <TokenInputPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderOtherInputsGroup = () => {\n return (\n <ComponentsGroup title={'Прочие поля'} theme={this.theme}>\n <CurrencyInputPlayground />\n <FxInputPlayground />\n <DatePickerPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderSwitchersGroup = () => {\n return (\n <ComponentsGroup title={'Переключатели'} theme={this.theme}>\n <SwitcherPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderControlsGroup = () => {\n return (\n <ComponentsGroup title={'Радио, чекбоксы'} theme={this.theme}>\n <Gapped verticalAlign={'top'} gap={60}>\n <CheckboxPlayground />\n <RadioPlayground />\n <TogglePlayground />\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderHintsGroup = () => {\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <HintPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderTooltip = () => {\n const styles = getStyles(this.emotion);\n const tooltipContent = () => (\n <div className={styles.tooltipContent()}>\n {'Информация об ошибке. Короткий объясняющий текст и ссылка, если нужно'}\n </div>\n );\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <Tooltip render={tooltipContent} pos=\"right middle\" trigger={'opened'} disableAnimations>\n <Link icon={<HelpDotIcon />} />\n </Tooltip>\n </ComponentsGroup>\n );\n };\n\n private renderPaging = () => {\n return (\n <ComponentsGroup title={'Пейджинг'} theme={this.theme}>\n <PagingPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderFileUploader = () => {\n return (\n <ComponentsGroup title={'FileUploader'} theme={this.theme}>\n <FileUploader multiple />\n </ComponentsGroup>\n );\n };\n\n private renderStickyStopElement = () => {\n return <div ref={this.stopEl} style={{ height: 50 }} />;\n };\n\n private getStickyStop = () => this.stopEl.current;\n}\n"]}
|
|
@@ -11,11 +11,14 @@ import { Gapped } from "../../../components/Gapped";
|
|
|
11
11
|
import { ComboBox } from "../../../components/ComboBox";
|
|
12
12
|
import { Link } from "../../../components/Link";
|
|
13
13
|
import * as ColorFunctions from "../../../lib/styles/ColorFunctions";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { THEME_2022_DARK } from
|
|
17
|
-
|
|
14
|
+
import { findPropertyDescriptor } from "../../../lib/theming/ThemeHelpers"; // TODO: revert in 5.0
|
|
15
|
+
// import { THEME_2022 } from '../../lib/theming/themes/Theme2022';
|
|
16
|
+
// import { THEME_2022_DARK } from '../../lib/theming/themes/Theme2022Dark';
|
|
17
|
+
|
|
18
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
18
19
|
import { EmotionConsumer } from "../../../lib/theming/Emotion";
|
|
20
|
+
import { THEME_2022_DARK_UPDATE_2024 } from "../../../lib/theming/themes/Theme2022DarkUpdate2024";
|
|
21
|
+
import { THEME_2022_UPDATE_2024 } from "../../../lib/theming/themes/Theme2022Update2024";
|
|
19
22
|
import { ThemeEditor } from "../ThemeEditor";
|
|
20
23
|
import { getStyles } from "../Playground.styles";
|
|
21
24
|
import { Playground } from "../Playground";
|
|
@@ -213,8 +216,8 @@ export var ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {
|
|
|
213
216
|
defaultOld: DEFAULT_THEME_8PX_OLD,
|
|
214
217
|
dark: DARK_THEME,
|
|
215
218
|
flatOld: FLAT_THEME_8PX_OLD,
|
|
216
|
-
theme2022:
|
|
217
|
-
theme2022Dark:
|
|
219
|
+
theme2022: THEME_2022_UPDATE_2024,
|
|
220
|
+
theme2022Dark: THEME_2022_DARK_UPDATE_2024
|
|
218
221
|
},
|
|
219
222
|
themesErrors: {
|
|
220
223
|
"default": {},
|
|
@@ -239,7 +242,7 @@ export var ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {
|
|
|
239
242
|
currentThemeType = _this$state3.currentThemeType;
|
|
240
243
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
241
244
|
_this2.emotion = emotion;
|
|
242
|
-
return /*#__PURE__*/React.createElement(
|
|
245
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
243
246
|
value: currentTheme
|
|
244
247
|
}, editorOpened && _this2.renderSidePage(), /*#__PURE__*/React.createElement(Playground, {
|
|
245
248
|
onThemeChange: _this2.handleThemeChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeContextPlayground.tsx"],"names":["React","ThemeFactory","FLAT_THEME_8PX_OLD","DEFAULT_THEME_8PX_OLD","DEFAULT_THEME","DARK_THEME","SidePage","Gapped","ComboBox","Link","ColorFunctions","THEME_2022","findPropertyDescriptor","THEME_2022_DARK","ThemeProvider","EmotionConsumer","ThemeEditor","getStyles","Playground","ThemeType","getEditingThemeType","editingThemeItem","value","ThemeContextPlayground","props","editableThemesItems","Default","label","Dark","DefaultOld","FlatOld","Theme2022","Theme2022Dark","renderSidePage","state","currentTheme","themesErrors","themes","editingThemeType","themeErrors","styles","emotion","handleClose","editorHeaderWrapper","getEditableThemesItems","handleEditingThemeSwitch","fontSize","marginTop","handelGetTheme","sidePageBody","handleThemeVariableChange","themeObject","getKeys","forEach","key","descriptor","Object","getOwnPropertyDescriptor","get","console","log","JSON","stringify","handleOpen","setState","editorOpened","find","i","currentThemeType","handleThemeChange","themeType","variable","theme","currentValue","canSetVariable","isValid","nextThemeErrors","stateUpdate","result","changeThemeVariable","query","Promise","resolve","filter","toLowerCase","includes","item","variableName","variableValue","enumerable","configurable","set","defineProperty","create","defaultOld","dark","flatOld","theme2022","theme2022Dark","render","Component"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { FLAT_THEME_8PX_OLD } from '../../lib/theming/themes/FlatTheme8pxOld';\nimport { DEFAULT_THEME_8PX_OLD } from '../../lib/theming/themes/DefaultTheme8pxOld';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { SidePage } from '../../components/SidePage';\nimport { Gapped } from '../../components/Gapped';\nimport { ComboBox } from '../../components/ComboBox';\nimport { Link } from '../../components/Link';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Writeable } from '../../typings/utility-types';\nimport { THEME_2022 } from '../../lib/theming/themes/Theme2022';\nimport { findPropertyDescriptor } from '../../lib/theming/ThemeHelpers';\nimport { THEME_2022_DARK } from '../../lib/theming/themes/Theme2022Dark';\nimport { ThemeProvider } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\n\nimport { ThemeEditor } from './ThemeEditor';\nimport { getStyles } from './Playground.styles';\nimport { Playground } from './Playground';\nimport { ThemeType } from './constants';\n\ninterface PlaygroundState {\n editorOpened: boolean;\n editingThemeItem?: EditingThemeItem;\n themes: Themes;\n themesErrors: ThemesErrors;\n currentTheme: Theme;\n currentThemeType: ThemeType;\n}\ninterface Themes {\n default: Theme;\n dark: Theme;\n defaultOld: Theme;\n flatOld: Theme;\n theme2022: Theme;\n theme2022Dark: Theme;\n}\ninterface ThemesErrors {\n default: ThemeErrorsType;\n dark: ThemeErrorsType;\n defaultOld: ThemeErrorsType;\n flatOld: ThemeErrorsType;\n theme2022: ThemeErrorsType;\n theme2022Dark: ThemeErrorsType;\n}\ninterface EditingThemeItem {\n value: ThemeType;\n label: string;\n}\ninterface PlaygroundProps {\n children?: ReactNode;\n}\nexport type ThemeErrorsType = Writeable<{ [key in keyof Theme]?: boolean }>;\n\nconst getEditingThemeType = (editingThemeItem: PlaygroundState['editingThemeItem']) => {\n if (editingThemeItem) {\n return editingThemeItem.value;\n }\n\n return 'default';\n};\nexport class ThemeContextPlayground extends React.Component<PlaygroundProps, PlaygroundState> {\n private emotion!: Emotion;\n\n private readonly editableThemesItems = [\n { value: ThemeType.Default, label: 'Дефолтная' },\n { value: ThemeType.Dark, label: 'Темная' },\n { value: ThemeType.DefaultOld, label: 'Старая дефолтная' },\n { value: ThemeType.FlatOld, label: 'Старая плоская' },\n { value: ThemeType.Theme2022, label: 'Новая 2022' },\n { value: ThemeType.Theme2022Dark, label: 'Новая 2022 Тёмная' },\n ];\n\n constructor(props: PlaygroundProps) {\n super(props);\n this.state = {\n currentTheme: DEFAULT_THEME,\n currentThemeType: ThemeType.Default,\n editorOpened: false,\n themes: {\n default: DEFAULT_THEME,\n defaultOld: DEFAULT_THEME_8PX_OLD,\n dark: DARK_THEME,\n flatOld: FLAT_THEME_8PX_OLD,\n theme2022: THEME_2022,\n theme2022Dark: THEME_2022_DARK,\n },\n themesErrors: {\n default: {},\n defaultOld: {},\n dark: {},\n flatOld: {},\n theme2022: {},\n theme2022Dark: {},\n },\n };\n }\n\n public render() {\n const { currentTheme, editorOpened, currentThemeType } = this.state;\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeProvider value={currentTheme}>\n {editorOpened && this.renderSidePage()}\n {\n <Playground\n onThemeChange={this.handleThemeChange}\n currentThemeType={currentThemeType}\n onEditLinkClick={this.handleOpen}\n />\n }\n </ThemeProvider>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderSidePage = () => {\n const { currentTheme, themesErrors, editingThemeItem, themes } = this.state;\n\n const editingThemeType = getEditingThemeType(editingThemeItem);\n const themeErrors = themesErrors[editingThemeType];\n const styles = getStyles(this.emotion);\n return (\n <SidePage disableAnimations ignoreBackgroundClick blockBackground width={600} onClose={this.handleClose}>\n <SidePage.Header>\n <div className={styles.editorHeaderWrapper(currentTheme)}>\n <Gapped wrap verticalAlign=\"middle\">\n <span>Тема для редактирования:</span>\n <ComboBox\n getItems={this.getEditableThemesItems}\n value={editingThemeItem}\n onValueChange={this.handleEditingThemeSwitch}\n />\n </Gapped>\n </div>\n <div style={{ fontSize: 14, marginTop: 8 }}>\n <Link onClick={this.handelGetTheme}>Вывести тему в консоль</Link>\n </div>\n </SidePage.Header>\n <SidePage.Body>\n <div className={styles.sidePageBody()}>\n <ThemeEditor\n editingTheme={themes[editingThemeType]}\n currentTheme={currentTheme}\n currentErrors={themeErrors}\n onValueChange={this.handleThemeVariableChange}\n />\n </div>\n </SidePage.Body>\n </SidePage>\n );\n };\n\n private handelGetTheme = () => {\n const currentTheme = this.state.currentTheme;\n const themeObject: Writeable<ThemeIn> = {};\n ThemeFactory.getKeys(currentTheme).forEach((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(currentTheme, key);\n if (descriptor && !descriptor.get && DEFAULT_THEME[key] && currentTheme[key] !== DEFAULT_THEME[key]) {\n themeObject[key] = currentTheme[key] as keyof Theme;\n }\n });\n\n console.log(JSON.stringify(themeObject));\n };\n\n private handleOpen = () => {\n this.setState((state) => ({\n editorOpened: true,\n editingThemeItem: this.editableThemesItems.find((i) => i.value === state.currentThemeType),\n }));\n };\n\n private handleClose = () => {\n this.setState({\n editorOpened: false,\n });\n };\n\n private handleThemeChange = (value: string) => {\n const themeType = value as ThemeType;\n this.setState({\n currentThemeType: themeType,\n currentTheme: this.state.themes[themeType],\n });\n };\n\n private handleThemeVariableChange = (variable: keyof Theme, value: string) => {\n const { editingThemeItem, currentTheme, themes, themesErrors } = this.state;\n const editingThemeType = getEditingThemeType(editingThemeItem);\n\n const theme = themes[editingThemeType];\n const currentValue = theme[variable] as string;\n\n let canSetVariable = true;\n if (ColorFunctions.isValid(currentValue)) {\n canSetVariable = ColorFunctions.isValid(value);\n themesErrors[editingThemeType][variable] = !canSetVariable;\n }\n\n const nextThemeErrors: ThemesErrors = { ...themesErrors };\n nextThemeErrors[editingThemeType][variable] = !canSetVariable;\n const stateUpdate = { themes, currentTheme, themesErrors: nextThemeErrors };\n\n if (canSetVariable) {\n const result = this.changeThemeVariable(theme, variable, value);\n stateUpdate.themes[editingThemeType] = result;\n if (this.state.currentThemeType === editingThemeType) {\n stateUpdate.currentTheme = result;\n }\n }\n\n this.setState(stateUpdate);\n };\n\n private getEditableThemesItems = (query: string) => {\n return Promise.resolve(this.editableThemesItems.filter((i) => i.label.toLowerCase().includes(query.toLowerCase())));\n };\n\n private handleEditingThemeSwitch = (item: EditingThemeItem) => {\n this.setState({ editingThemeItem: item });\n };\n\n private changeThemeVariable = (theme: Theme, variableName: keyof Theme, variableValue: string): Theme => {\n const result: ThemeIn = {};\n ThemeFactory.getKeys(theme).forEach((key) => {\n const descriptor = findPropertyDescriptor(theme, key);\n descriptor.enumerable = true;\n descriptor.configurable = true;\n if (key === variableName) {\n delete descriptor.get;\n delete descriptor.set;\n descriptor.value = variableValue;\n }\n Object.defineProperty(result, key, descriptor);\n });\n\n return ThemeFactory.create<ThemeIn>(result);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ThemeContextPlayground.tsx"],"names":["React","ThemeFactory","FLAT_THEME_8PX_OLD","DEFAULT_THEME_8PX_OLD","DEFAULT_THEME","DARK_THEME","SidePage","Gapped","ComboBox","Link","ColorFunctions","findPropertyDescriptor","ThemeContext","EmotionConsumer","THEME_2022_DARK_UPDATE_2024","THEME_2022_UPDATE_2024","ThemeEditor","getStyles","Playground","ThemeType","getEditingThemeType","editingThemeItem","value","ThemeContextPlayground","props","editableThemesItems","Default","label","Dark","DefaultOld","FlatOld","Theme2022","Theme2022Dark","renderSidePage","state","currentTheme","themesErrors","themes","editingThemeType","themeErrors","styles","emotion","handleClose","editorHeaderWrapper","getEditableThemesItems","handleEditingThemeSwitch","fontSize","marginTop","handelGetTheme","sidePageBody","handleThemeVariableChange","themeObject","getKeys","forEach","key","descriptor","Object","getOwnPropertyDescriptor","get","console","log","JSON","stringify","handleOpen","setState","editorOpened","find","i","currentThemeType","handleThemeChange","themeType","variable","theme","currentValue","canSetVariable","isValid","nextThemeErrors","stateUpdate","result","changeThemeVariable","query","Promise","resolve","filter","toLowerCase","includes","item","variableName","variableValue","enumerable","configurable","set","defineProperty","create","defaultOld","dark","flatOld","theme2022","theme2022Dark","render","Component"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { FLAT_THEME_8PX_OLD } from '../../lib/theming/themes/FlatTheme8pxOld';\nimport { DEFAULT_THEME_8PX_OLD } from '../../lib/theming/themes/DefaultTheme8pxOld';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { SidePage } from '../../components/SidePage';\nimport { Gapped } from '../../components/Gapped';\nimport { ComboBox } from '../../components/ComboBox';\nimport { Link } from '../../components/Link';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Writeable } from '../../typings/utility-types';\nimport { findPropertyDescriptor } from '../../lib/theming/ThemeHelpers';\n// TODO: revert in 5.0\n// import { THEME_2022 } from '../../lib/theming/themes/Theme2022';\n// import { THEME_2022_DARK } from '../../lib/theming/themes/Theme2022Dark';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { THEME_2022_DARK_UPDATE_2024 } from '../../lib/theming/themes/Theme2022DarkUpdate2024';\nimport { THEME_2022_UPDATE_2024 } from '../../lib/theming/themes/Theme2022Update2024';\n\nimport { ThemeEditor } from './ThemeEditor';\nimport { getStyles } from './Playground.styles';\nimport { Playground } from './Playground';\nimport { ThemeType } from './constants';\n\ninterface PlaygroundState {\n editorOpened: boolean;\n editingThemeItem?: EditingThemeItem;\n themes: Themes;\n themesErrors: ThemesErrors;\n currentTheme: Theme;\n currentThemeType: ThemeType;\n}\ninterface Themes {\n default: Theme;\n dark: Theme;\n defaultOld: Theme;\n flatOld: Theme;\n theme2022: Theme;\n theme2022Dark: Theme;\n}\ninterface ThemesErrors {\n default: ThemeErrorsType;\n dark: ThemeErrorsType;\n defaultOld: ThemeErrorsType;\n flatOld: ThemeErrorsType;\n theme2022: ThemeErrorsType;\n theme2022Dark: ThemeErrorsType;\n}\ninterface EditingThemeItem {\n value: ThemeType;\n label: string;\n}\ninterface PlaygroundProps {\n children?: ReactNode;\n}\nexport type ThemeErrorsType = Writeable<{ [key in keyof Theme]?: boolean }>;\n\nconst getEditingThemeType = (editingThemeItem: PlaygroundState['editingThemeItem']) => {\n if (editingThemeItem) {\n return editingThemeItem.value;\n }\n\n return 'default';\n};\nexport class ThemeContextPlayground extends React.Component<PlaygroundProps, PlaygroundState> {\n private emotion!: Emotion;\n\n private readonly editableThemesItems = [\n { value: ThemeType.Default, label: 'Дефолтная' },\n { value: ThemeType.Dark, label: 'Темная' },\n { value: ThemeType.DefaultOld, label: 'Старая дефолтная' },\n { value: ThemeType.FlatOld, label: 'Старая плоская' },\n { value: ThemeType.Theme2022, label: 'Новая 2022' },\n { value: ThemeType.Theme2022Dark, label: 'Новая 2022 Тёмная' },\n ];\n\n constructor(props: PlaygroundProps) {\n super(props);\n this.state = {\n currentTheme: DEFAULT_THEME,\n currentThemeType: ThemeType.Default,\n editorOpened: false,\n themes: {\n default: DEFAULT_THEME,\n defaultOld: DEFAULT_THEME_8PX_OLD,\n dark: DARK_THEME,\n flatOld: FLAT_THEME_8PX_OLD,\n theme2022: THEME_2022_UPDATE_2024,\n theme2022Dark: THEME_2022_DARK_UPDATE_2024,\n },\n themesErrors: {\n default: {},\n defaultOld: {},\n dark: {},\n flatOld: {},\n theme2022: {},\n theme2022Dark: {},\n },\n };\n }\n\n public render() {\n const { currentTheme, editorOpened, currentThemeType } = this.state;\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Provider value={currentTheme}>\n {editorOpened && this.renderSidePage()}\n {\n <Playground\n onThemeChange={this.handleThemeChange}\n currentThemeType={currentThemeType}\n onEditLinkClick={this.handleOpen}\n />\n }\n </ThemeContext.Provider>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderSidePage = () => {\n const { currentTheme, themesErrors, editingThemeItem, themes } = this.state;\n\n const editingThemeType = getEditingThemeType(editingThemeItem);\n const themeErrors = themesErrors[editingThemeType];\n const styles = getStyles(this.emotion);\n return (\n <SidePage disableAnimations ignoreBackgroundClick blockBackground width={600} onClose={this.handleClose}>\n <SidePage.Header>\n <div className={styles.editorHeaderWrapper(currentTheme)}>\n <Gapped wrap verticalAlign=\"middle\">\n <span>Тема для редактирования:</span>\n <ComboBox\n getItems={this.getEditableThemesItems}\n value={editingThemeItem}\n onValueChange={this.handleEditingThemeSwitch}\n />\n </Gapped>\n </div>\n <div style={{ fontSize: 14, marginTop: 8 }}>\n <Link onClick={this.handelGetTheme}>Вывести тему в консоль</Link>\n </div>\n </SidePage.Header>\n <SidePage.Body>\n <div className={styles.sidePageBody()}>\n <ThemeEditor\n editingTheme={themes[editingThemeType]}\n currentTheme={currentTheme}\n currentErrors={themeErrors}\n onValueChange={this.handleThemeVariableChange}\n />\n </div>\n </SidePage.Body>\n </SidePage>\n );\n };\n\n private handelGetTheme = () => {\n const currentTheme = this.state.currentTheme;\n const themeObject: Writeable<ThemeIn> = {};\n ThemeFactory.getKeys(currentTheme).forEach((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(currentTheme, key);\n if (descriptor && !descriptor.get && DEFAULT_THEME[key] && currentTheme[key] !== DEFAULT_THEME[key]) {\n themeObject[key] = currentTheme[key] as keyof Theme;\n }\n });\n\n console.log(JSON.stringify(themeObject));\n };\n\n private handleOpen = () => {\n this.setState((state) => ({\n editorOpened: true,\n editingThemeItem: this.editableThemesItems.find((i) => i.value === state.currentThemeType),\n }));\n };\n\n private handleClose = () => {\n this.setState({\n editorOpened: false,\n });\n };\n\n private handleThemeChange = (value: string) => {\n const themeType = value as ThemeType;\n this.setState({\n currentThemeType: themeType,\n currentTheme: this.state.themes[themeType],\n });\n };\n\n private handleThemeVariableChange = (variable: keyof Theme, value: string) => {\n const { editingThemeItem, currentTheme, themes, themesErrors } = this.state;\n const editingThemeType = getEditingThemeType(editingThemeItem);\n\n const theme = themes[editingThemeType];\n const currentValue = theme[variable] as string;\n\n let canSetVariable = true;\n if (ColorFunctions.isValid(currentValue)) {\n canSetVariable = ColorFunctions.isValid(value);\n themesErrors[editingThemeType][variable] = !canSetVariable;\n }\n\n const nextThemeErrors: ThemesErrors = { ...themesErrors };\n nextThemeErrors[editingThemeType][variable] = !canSetVariable;\n const stateUpdate = { themes, currentTheme, themesErrors: nextThemeErrors };\n\n if (canSetVariable) {\n const result = this.changeThemeVariable(theme, variable, value);\n stateUpdate.themes[editingThemeType] = result;\n if (this.state.currentThemeType === editingThemeType) {\n stateUpdate.currentTheme = result;\n }\n }\n\n this.setState(stateUpdate);\n };\n\n private getEditableThemesItems = (query: string) => {\n return Promise.resolve(this.editableThemesItems.filter((i) => i.label.toLowerCase().includes(query.toLowerCase())));\n };\n\n private handleEditingThemeSwitch = (item: EditingThemeItem) => {\n this.setState({ editingThemeItem: item });\n };\n\n private changeThemeVariable = (theme: Theme, variableName: keyof Theme, variableValue: string): Theme => {\n const result: ThemeIn = {};\n ThemeFactory.getKeys(theme).forEach((key) => {\n const descriptor = findPropertyDescriptor(theme, key);\n descriptor.enumerable = true;\n descriptor.configurable = true;\n if (key === variableName) {\n delete descriptor.get;\n delete descriptor.set;\n descriptor.value = variableValue;\n }\n Object.defineProperty(result, key, descriptor);\n });\n\n return ThemeFactory.create<ThemeIn>(result);\n };\n}\n"]}
|
|
@@ -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,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,WAAT,EAAsBC,MAAM,EAAE,WAA9B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA3B8B;AA4B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA5B8B;AA6B9B,EAAED,KAAK,EAAE,iBAAT,EAA4BC,MAAM,EAAE,cAApC,EA7B8B,CAAzB;;;
|
|
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,WAAT,EAAsBC,MAAM,EAAE,WAA9B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA3B8B;AA4B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA5B8B;AA6B9B,EAAED,KAAK,EAAE,iBAAT,EAA4BC,MAAM,EAAE,cAApC,EA7B8B;AA8B9B,EAAED,KAAK,EAAE,sBAAT,EAAiCC,MAAM,EAAE,aAAzC,EA9B8B,CAAzB;;;AAiCP,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: 'MiniModal', prefix: 'miniModal' },\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 { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' },\n { title: 'react-ui-validations', prefix: 'validations' },\n];\n\nexport const DEPRECATED_VARIABLES: Array<keyof Theme> = [];\n"]}
|
|
@@ -11,7 +11,7 @@ import * as ColorFunctions from "../../../lib/styles/ColorFunctions";
|
|
|
11
11
|
import { Tooltip } from "../../../components/Tooltip";
|
|
12
12
|
import { IS_PROXY_SUPPORTED } from "../../../lib/Supports";
|
|
13
13
|
import { EmotionConsumer, useEmotion } from "../../../lib/theming/Emotion";
|
|
14
|
-
import {
|
|
14
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
15
15
|
import { useTheme } from "../../../lib/theming/useTheme";
|
|
16
16
|
import { ALL_USED_VARIABLES, CALLS_COUNT, COMPONENT_DESCRIPTIONS, COMPONENT_DESCRIPTIONS_BY_VARIABLE, EXECUTION_TIME } from "../VariablesCollector";
|
|
17
17
|
import { getStyles } from "../ThemeShowcase.styles";
|
|
@@ -90,7 +90,7 @@ export var ThemeShowcase = /*#__PURE__*/function (_React$Component) {
|
|
|
90
90
|
var executionTime = isDebugMode ? "\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0437\u0430 " + EXECUTION_TIME.toFixed(3) + "ms" : '';
|
|
91
91
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
92
92
|
_this2.emotion = emotion;
|
|
93
|
-
return /*#__PURE__*/React.createElement(
|
|
93
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
94
94
|
var styles = getStyles(_this2.emotion);
|
|
95
95
|
return /*#__PURE__*/React.createElement(Gapped, {
|
|
96
96
|
wrap: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeShowcase.tsx"],"names":["React","isColor","DEFAULT_THEME","defaultVariables","DARK_THEME","darkVariables","ComboBox","Gapped","Link","Sticky","ColorFunctions","Tooltip","IS_PROXY_SUPPORTED","EmotionConsumer","useEmotion","ThemeConsumer","useTheme","ALL_USED_VARIABLES","CALLS_COUNT","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","EXECUTION_TIME","getStyles","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","emotion","theme","styles","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","cx","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","variableName","handleVariableSelect","renderDependencies","dependency","DependencyName","dependencyName","onDependencySelect","handleDependencySelect","dependencyDefault","dependencyDark","VariableValue","valueIsColor","valueIsGradient","isGradient","hasExample","borderColor","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\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 { EmotionConsumer, useEmotion } from '../../lib/theming/Emotion';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\nimport { useTheme } from '../../lib/theming/useTheme';\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 { getStyles } 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 private emotion!: Emotion;\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 <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n const styles = getStyles(this.emotion);\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 </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\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}\n\nfunction ComponentShowcase(props: ComponentShowcaseProps) {\n const theme = useTheme();\n const emotion = useEmotion();\n\n const { name, description, onVariableSelect, isDebugMode } = props;\n const elements = Object.keys(description);\n const styles = getStyles(emotion);\n return elements.length ? (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={emotion.cx({\n [styles.heading(theme)]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {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 ) : null;\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nfunction ComponentShowcaseRow(props: ComponentShowcaseRowProps) {\n const theme = useTheme();\n const emotion = useEmotion();\n\n const { element: el, row, isDebugMode } = props;\n const rowSpan = row.variables.length + 1;\n const styles = getStyles(emotion);\n return (\n <React.Fragment>\n <tr className={emotion.cx(styles.invisibleRow(), { [styles.invisibleDarkRow()]: theme === darkVariables })}>\n <td className={emotion.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={emotion.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={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\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nfunction VariableName({ variableName, dependencies, onVariableSelect }: VariableNameProps) {\n const emotion = useEmotion();\n const styles = getStyles(emotion);\n\n return (\n <span>\n <span className={styles.variableName()} onClick={handleVariableSelect}>\n {variableName}\n </span>\n {dependencies.length > 0 && renderDependencies()}\n </span>\n );\n\n function renderDependencies() {\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 function handleVariableSelect() {\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}\n\nfunction DependencyName({ dependencyName, onDependencySelect }: DependencyNameProps) {\n const emotion = useEmotion();\n const styles = getStyles(emotion);\n\n return (\n <React.Fragment>\n <br />\n –{' '}\n <Tooltip trigger={'hover'} render={getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={handleDependencySelect}>\n {dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n\n function getValues() {\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 function handleDependencySelect() {\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n }\n}\n\nconst VariableValue = (props: { value: string }) => {\n const emotion = useEmotion();\n\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 const styles = getStyles(emotion);\n return (\n <span className={emotion.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 const emotion = useEmotion();\n if (props.diff.length === 0) {\n return null;\n }\n const styles = getStyles(emotion);\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"]}
|
|
1
|
+
{"version":3,"sources":["ThemeShowcase.tsx"],"names":["React","isColor","DEFAULT_THEME","defaultVariables","DARK_THEME","darkVariables","ComboBox","Gapped","Link","Sticky","ColorFunctions","Tooltip","IS_PROXY_SUPPORTED","EmotionConsumer","useEmotion","ThemeContext","useTheme","ALL_USED_VARIABLES","CALLS_COUNT","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","EXECUTION_TIME","getStyles","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","emotion","theme","styles","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","cx","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","variableName","handleVariableSelect","renderDependencies","dependency","DependencyName","dependencyName","onDependencySelect","handleDependencySelect","dependencyDefault","dependencyDark","VariableValue","valueIsColor","valueIsGradient","isGradient","hasExample","borderColor","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\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 { EmotionConsumer, useEmotion } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { useTheme } from '../../lib/theming/useTheme';\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 { getStyles } 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 private emotion!: Emotion;\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 <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n const styles = getStyles(this.emotion);\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 </EmotionConsumer>\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}\n\nfunction ComponentShowcase(props: ComponentShowcaseProps) {\n const theme = useTheme();\n const emotion = useEmotion();\n\n const { name, description, onVariableSelect, isDebugMode } = props;\n const elements = Object.keys(description);\n const styles = getStyles(emotion);\n return elements.length ? (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={emotion.cx({\n [styles.heading(theme)]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {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 ) : null;\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nfunction ComponentShowcaseRow(props: ComponentShowcaseRowProps) {\n const theme = useTheme();\n const emotion = useEmotion();\n\n const { element: el, row, isDebugMode } = props;\n const rowSpan = row.variables.length + 1;\n const styles = getStyles(emotion);\n return (\n <React.Fragment>\n <tr className={emotion.cx(styles.invisibleRow(), { [styles.invisibleDarkRow()]: theme === darkVariables })}>\n <td className={emotion.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={emotion.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={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\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nfunction VariableName({ variableName, dependencies, onVariableSelect }: VariableNameProps) {\n const emotion = useEmotion();\n const styles = getStyles(emotion);\n\n return (\n <span>\n <span className={styles.variableName()} onClick={handleVariableSelect}>\n {variableName}\n </span>\n {dependencies.length > 0 && renderDependencies()}\n </span>\n );\n\n function renderDependencies() {\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 function handleVariableSelect() {\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}\n\nfunction DependencyName({ dependencyName, onDependencySelect }: DependencyNameProps) {\n const emotion = useEmotion();\n const styles = getStyles(emotion);\n\n return (\n <React.Fragment>\n <br />\n –{' '}\n <Tooltip trigger={'hover'} render={getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={handleDependencySelect}>\n {dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n\n function getValues() {\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 function handleDependencySelect() {\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n }\n}\n\nconst VariableValue = (props: { value: string }) => {\n const emotion = useEmotion();\n\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 const styles = getStyles(emotion);\n return (\n <span className={emotion.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 const emotion = useEmotion();\n if (props.diff.length === 0) {\n return null;\n }\n const styles = getStyles(emotion);\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"]}
|