@true-engineering/true-react-common-ui-kit 2.6.0 → 3.0.0-alpha.0
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/dist/components/AccountInfo/AccountInfo.d.ts +2 -3
- package/dist/components/AccountInfo/AccountInfo.styles.d.ts +6 -64
- package/dist/components/AccountInfo/index.d.ts +1 -1
- package/dist/components/AddButton/AddButton.d.ts +2 -3
- package/dist/components/AddButton/AddButton.styles.d.ts +3 -28
- package/dist/components/AddButton/index.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -4
- package/dist/components/Button/Button.styles.d.ts +8 -150
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +3 -17
- package/dist/components/Checkbox/Checkbox.styles.d.ts +3 -50
- package/dist/components/Checkbox/index.d.ts +1 -1
- package/dist/components/CloseButton/CloseButton.d.ts +3 -5
- package/dist/components/CloseButton/CloseButton.styles.d.ts +3 -27
- package/dist/components/CloseButton/index.d.ts +1 -1
- package/dist/components/Colors/Colors.styles.d.ts +1 -32
- package/dist/components/Colors/index.d.ts +0 -1
- package/dist/components/CssBaseline/CssBaseline.d.ts +2 -4
- package/dist/components/CssBaseline/CssBaseline.styles.d.ts +3 -11
- package/dist/components/CssBaseline/index.d.ts +1 -1
- package/dist/components/DateInput/DateInput.d.ts +3 -3
- package/dist/components/DateInput/DateInput.styles.d.ts +6 -11
- package/dist/components/DateInput/index.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +5 -7
- package/dist/components/DatePicker/DatePicker.styles.d.ts +6 -33
- package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.d.ts +3 -3
- package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +7 -69
- package/dist/components/DatePicker/components/DatePickerHeader/index.d.ts +1 -1
- package/dist/components/DatePicker/index.d.ts +2 -2
- package/dist/components/Description/Description.d.ts +2 -3
- package/dist/components/Description/Description.styles.d.ts +3 -24
- package/dist/components/Description/index.d.ts +1 -1
- package/dist/components/FiltersPane/FiltersPane.d.ts +6 -8
- package/dist/components/FiltersPane/FiltersPane.styles.d.ts +8 -56
- package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.d.ts +2 -4
- package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +15 -52
- package/dist/components/FiltersPane/components/FilterInterval/index.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.d.ts +2 -4
- package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +15 -124
- package/dist/components/FiltersPane/components/FilterSelect/index.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +3 -12
- package/dist/components/FiltersPane/components/FilterValueView/index.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.d.ts +5 -7
- package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +26 -47
- package/dist/components/FiltersPane/components/FilterWithDates/index.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.d.ts +4 -6
- package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +7 -12
- package/dist/components/FiltersPane/components/FilterWithPeriod/index.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +5 -6
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +6 -96
- package/dist/components/FiltersPane/components/FilterWrapper/index.d.ts +1 -1
- package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.d.ts +2 -4
- package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +10 -91
- package/dist/components/FiltersPane/components/FiltersPaneSearch/index.d.ts +1 -1
- package/dist/components/FiltersPane/helpers.d.ts +1 -1
- package/dist/components/FiltersPane/index.d.ts +1 -1
- package/dist/components/FiltersPane/types.d.ts +1 -1
- package/dist/components/Flag/Flag.d.ts +2 -3
- package/dist/components/Flag/Flag.styles.d.ts +3 -12
- package/dist/components/Flag/index.d.ts +1 -1
- package/dist/components/FlexibleTable/FlexibleTable.d.ts +2 -4
- package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +7 -101
- package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +17 -0
- package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +3 -0
- package/dist/components/FlexibleTable/components/FlexibleTableCell/index.d.ts +2 -0
- package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +19 -0
- package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +6 -0
- package/dist/components/FlexibleTable/components/FlexibleTableRow/index.d.ts +2 -0
- package/dist/components/FlexibleTable/components/index.d.ts +2 -2
- package/dist/components/FlexibleTable/index.d.ts +2 -1
- package/dist/components/Icon/Icon.d.ts +2 -3
- package/dist/components/Icon/Icon.styles.d.ts +3 -8
- package/dist/components/Icon/icons-list.d.ts +1 -1
- package/dist/components/Icon/index.d.ts +1 -1
- package/dist/components/IncrementInput/IncrementInput.d.ts +3 -3
- package/dist/components/IncrementInput/IncrementInput.styles.d.ts +7 -61
- package/dist/components/IncrementInput/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +2 -4
- package/dist/components/Input/Input.styles.d.ts +6 -247
- package/dist/components/Input/index.d.ts +1 -1
- package/dist/components/List/List.d.ts +2 -4
- package/dist/components/List/List.styles.d.ts +3 -39
- package/dist/components/List/index.d.ts +1 -1
- package/dist/components/Modal/Modal.d.ts +2 -4
- package/dist/components/Modal/Modal.styles.d.ts +6 -239
- package/dist/components/Modal/index.d.ts +1 -1
- package/dist/components/MoreMenu/MoreMenu.d.ts +2 -4
- package/dist/components/MoreMenu/MoreMenu.styles.d.ts +6 -54
- package/dist/components/MoreMenu/index.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts +8 -8
- package/dist/components/MultiSelect/MultiSelect.styles.d.ts +7 -44
- package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.d.ts +4 -4
- package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +3 -62
- package/dist/components/MultiSelect/components/MultiSelectInput/index.d.ts +1 -1
- package/dist/components/MultiSelect/index.d.ts +2 -2
- package/dist/components/MultiSelect/types.d.ts +1 -1
- package/dist/components/MultiSelectList/MultiSelectList.d.ts +2 -4
- package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +13 -105
- package/dist/components/MultiSelectList/index.d.ts +1 -1
- package/dist/components/Notification/Notification.d.ts +4 -6
- package/dist/components/Notification/Notification.styles.d.ts +3 -37
- package/dist/components/Notification/index.d.ts +1 -1
- package/dist/components/Notification/types.d.ts +1 -1
- package/dist/components/PhoneInput/PhoneInput.d.ts +3 -3
- package/dist/components/PhoneInput/PhoneInput.styles.d.ts +9 -66
- package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.d.ts +2 -3
- package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +7 -83
- package/dist/components/PhoneInput/components/PhoneInputCountryList/index.d.ts +1 -1
- package/dist/components/PhoneInput/index.d.ts +2 -2
- package/dist/components/RadioButton/RadioButton.d.ts +3 -4
- package/dist/components/RadioButton/RadioButton.styles.d.ts +3 -30
- package/dist/components/RadioButton/index.d.ts +1 -1
- package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +4 -4
- package/dist/components/SearchInput/SearchInput.d.ts +3 -4
- package/dist/components/SearchInput/SearchInput.styles.d.ts +7 -39
- package/dist/components/SearchInput/index.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +3 -4
- package/dist/components/Select/Select.styles.d.ts +33 -80
- package/dist/components/Select/components/SelectList/SelectList.d.ts +2 -4
- package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +3 -57
- package/dist/components/Select/components/SelectList/index.d.ts +1 -1
- package/dist/components/Select/components/SelectListItem/SelectListItem.styles.d.ts +2 -2
- package/dist/components/Select/index.d.ts +2 -2
- package/dist/components/SmartInput/SmartInput.d.ts +2 -2
- package/dist/components/SmartInput/helpers.d.ts +2 -2
- package/dist/components/SmartInput/types.d.ts +1 -1
- package/dist/components/Switch/Switch.d.ts +2 -4
- package/dist/components/Switch/Switch.styles.d.ts +3 -62
- package/dist/components/Switch/index.d.ts +1 -1
- package/dist/components/TextArea/TextArea.d.ts +2 -4
- package/dist/components/TextArea/TextArea.styles.d.ts +3 -128
- package/dist/components/TextArea/index.d.ts +1 -1
- package/dist/components/TextWithInfo/TextWithInfo.d.ts +2 -3
- package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +3 -48
- package/dist/components/TextWithInfo/index.d.ts +1 -1
- package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +2 -3
- package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +6 -14
- package/dist/components/TextWithTooltip/index.d.ts +1 -1
- package/dist/components/ThemedPreloader/ThemedPreloader.d.ts +2 -3
- package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +7 -14
- package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.d.ts +2 -4
- package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +3 -43
- package/dist/components/ThemedPreloader/components/DotsPreloader/index.d.ts +1 -1
- package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.d.ts +2 -3
- package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +3 -9
- package/dist/components/ThemedPreloader/components/SvgPreloader/index.d.ts +1 -1
- package/dist/components/ThemedPreloader/index.d.ts +2 -2
- package/dist/components/Toaster/Toaster.d.ts +4 -5
- package/dist/components/Toaster/Toaster.styles.d.ts +6 -45
- package/dist/components/Toaster/index.d.ts +1 -1
- package/dist/components/Toaster/types.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +2 -3
- package/dist/components/Tooltip/Tooltip.styles.d.ts +3 -35
- package/dist/components/Tooltip/index.d.ts +1 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/phone.d.ts +3 -0
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/use-tweak-styles.d.ts +21 -2
- package/dist/index.d.ts +1 -1
- package/dist/theme/Provider.d.ts +11 -0
- package/dist/{theme.d.ts → theme/common.d.ts} +6 -10
- package/dist/theme/helpers.d.ts +10 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/types.d.ts +72 -0
- package/dist/true-react-common-ui-kit.js +2980 -2471
- package/dist/true-react-common-ui-kit.js.map +1 -1
- package/dist/true-react-common-ui-kit.umd.cjs +2912 -2403
- package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
- package/dist/types.d.ts +4 -22
- package/package.json +2 -2
- package/src/components/AccountInfo/AccountInfo.styles.ts +5 -9
- package/src/components/AccountInfo/AccountInfo.tsx +13 -10
- package/src/components/AccountInfo/constants.ts +1 -1
- package/src/components/AccountInfo/index.ts +1 -1
- package/src/components/AddButton/AddButton.styles.ts +4 -4
- package/src/components/AddButton/AddButton.tsx +7 -6
- package/src/components/AddButton/index.ts +1 -1
- package/src/components/Button/Button.styles.ts +14 -9
- package/src/components/Button/Button.tsx +12 -19
- package/src/components/Button/index.ts +1 -1
- package/src/components/Checkbox/Checkbox.stories.tsx +5 -9
- package/src/components/Checkbox/Checkbox.styles.ts +8 -24
- package/src/components/Checkbox/Checkbox.tsx +3 -25
- package/src/components/Checkbox/index.ts +1 -1
- package/src/components/CloseButton/CloseButton.styles.ts +4 -5
- package/src/components/CloseButton/CloseButton.tsx +6 -8
- package/src/components/CloseButton/index.ts +1 -1
- package/src/components/Colors/Colors.styles.ts +3 -5
- package/src/components/Colors/Colors.tsx +3 -3
- package/src/components/Colors/index.ts +0 -1
- package/src/components/CssBaseline/CssBaseline.styles.ts +4 -5
- package/src/components/CssBaseline/CssBaseline.tsx +6 -8
- package/src/components/CssBaseline/index.ts +1 -1
- package/src/components/DateInput/DateInput.styles.ts +10 -6
- package/src/components/DateInput/DateInput.tsx +20 -7
- package/src/components/DateInput/index.ts +1 -1
- package/src/components/DatePicker/DatePicker.styles.ts +8 -14
- package/src/components/DatePicker/DatePicker.tsx +15 -16
- package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.ts +30 -26
- package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.tsx +17 -7
- package/src/components/DatePicker/components/DatePickerHeader/index.ts +1 -1
- package/src/components/DatePicker/index.ts +2 -2
- package/src/components/Description/Description.styles.ts +4 -5
- package/src/components/Description/Description.tsx +6 -6
- package/src/components/Description/index.ts +1 -1
- package/src/components/FiltersPane/FiltersPane.styles.ts +38 -22
- package/src/components/FiltersPane/FiltersPane.tsx +23 -18
- package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +23 -27
- package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +25 -12
- package/src/components/FiltersPane/components/FilterInterval/index.ts +1 -1
- package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +21 -26
- package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +27 -14
- package/src/components/FiltersPane/components/FilterSelect/index.ts +1 -1
- package/src/components/FiltersPane/components/FilterValueView/FilterValueView.styles.tsx +4 -4
- package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +6 -4
- package/src/components/FiltersPane/components/FilterValueView/index.tsx +1 -1
- package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +33 -26
- package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +54 -25
- package/src/components/FiltersPane/components/FilterWithDates/index.ts +1 -1
- package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.ts +11 -7
- package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +12 -9
- package/src/components/FiltersPane/components/FilterWithPeriod/index.ts +1 -1
- package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.ts +11 -6
- package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +28 -10
- package/src/components/FiltersPane/components/FilterWrapper/index.ts +1 -1
- package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +31 -24
- package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +23 -10
- package/src/components/FiltersPane/components/FiltersPaneSearch/index.ts +1 -1
- package/src/components/FiltersPane/helpers.ts +1 -1
- package/src/components/FiltersPane/index.ts +1 -1
- package/src/components/FiltersPane/types.ts +1 -1
- package/src/components/Flag/Flag.styles.ts +4 -5
- package/src/components/Flag/Flag.tsx +3 -5
- package/src/components/Flag/index.ts +1 -1
- package/src/components/FlexibleTable/FlexibleTable.stories.tsx +12 -0
- package/src/components/FlexibleTable/FlexibleTable.styles.ts +10 -37
- package/src/components/FlexibleTable/FlexibleTable.tsx +19 -28
- package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +28 -0
- package/src/components/FlexibleTable/components/{TableValue/TableValue.tsx → FlexibleTableCell/FlexibleTableCell.tsx} +11 -12
- package/src/components/FlexibleTable/components/FlexibleTableCell/index.ts +2 -0
- package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +19 -0
- package/src/components/FlexibleTable/components/{TableRow/TableRow.tsx → FlexibleTableRow/FlexibleTableRow.tsx} +24 -25
- package/src/components/FlexibleTable/components/FlexibleTableRow/index.ts +2 -0
- package/src/components/FlexibleTable/components/index.ts +2 -2
- package/src/components/FlexibleTable/index.ts +2 -1
- package/src/components/Icon/Icon.styles.ts +4 -4
- package/src/components/Icon/Icon.tsx +6 -7
- package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +1 -1
- package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +1 -1
- package/src/components/Icon/helpers.ts +1 -1
- package/src/components/Icon/index.ts +1 -1
- package/src/components/IncrementInput/IncrementInput.styles.ts +12 -12
- package/src/components/IncrementInput/IncrementInput.tsx +59 -35
- package/src/components/IncrementInput/index.ts +1 -1
- package/src/components/Input/Input.styles.ts +8 -8
- package/src/components/Input/Input.tsx +10 -8
- package/src/components/Input/index.ts +1 -1
- package/src/components/List/List.styles.ts +4 -5
- package/src/components/List/List.tsx +3 -6
- package/src/components/List/index.ts +1 -1
- package/src/components/Modal/Modal.styles.ts +5 -7
- package/src/components/Modal/Modal.tsx +10 -8
- package/src/components/Modal/index.ts +1 -1
- package/src/components/MoreMenu/MoreMenu.styles.ts +5 -7
- package/src/components/MoreMenu/MoreMenu.tsx +10 -7
- package/src/components/MoreMenu/index.ts +1 -1
- package/src/components/MultiSelect/MultiSelect.styles.ts +11 -7
- package/src/components/MultiSelect/MultiSelect.tsx +24 -15
- package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.ts +4 -4
- package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +7 -6
- package/src/components/MultiSelect/components/MultiSelectInput/index.ts +1 -1
- package/src/components/MultiSelect/index.ts +2 -2
- package/src/components/MultiSelect/types.ts +1 -1
- package/src/components/MultiSelectList/MultiSelectList.styles.ts +37 -29
- package/src/components/MultiSelectList/MultiSelectList.tsx +36 -17
- package/src/components/MultiSelectList/helpers.ts +1 -1
- package/src/components/MultiSelectList/index.ts +1 -1
- package/src/components/Notification/Notification.styles.ts +14 -9
- package/src/components/Notification/Notification.tsx +6 -9
- package/src/components/Notification/index.ts +1 -1
- package/src/components/Notification/types.ts +1 -1
- package/src/components/PhoneInput/PhoneInput.styles.ts +18 -13
- package/src/components/PhoneInput/PhoneInput.tsx +34 -17
- package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.ts +18 -15
- package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +16 -6
- package/src/components/PhoneInput/components/PhoneInputCountryList/index.ts +1 -1
- package/src/components/PhoneInput/index.ts +2 -2
- package/src/components/RadioButton/RadioButton.styles.ts +4 -4
- package/src/components/RadioButton/RadioButton.tsx +6 -6
- package/src/components/RadioButton/index.ts +1 -1
- package/src/components/SearchInput/SearchInput.styles.ts +28 -28
- package/src/components/SearchInput/SearchInput.tsx +12 -7
- package/src/components/SearchInput/index.ts +1 -1
- package/src/components/Select/Select.styles.ts +71 -23
- package/src/components/Select/Select.tsx +33 -34
- package/src/components/Select/components/SelectList/SelectList.styles.ts +4 -5
- package/src/components/Select/components/SelectList/SelectList.tsx +6 -7
- package/src/components/Select/components/SelectList/index.ts +1 -1
- package/src/components/Select/components/SelectListItem/SelectListItem.styles.ts +2 -2
- package/src/components/Select/components/SelectListItem/SelectListItem.tsx +1 -1
- package/src/components/Select/helpers.ts +3 -2
- package/src/components/Select/index.ts +2 -2
- package/src/components/SmartInput/SmartInput.stories.tsx +2 -2
- package/src/components/SmartInput/SmartInput.tsx +2 -2
- package/src/components/SmartInput/helpers.ts +2 -2
- package/src/components/SmartInput/types.ts +1 -1
- package/src/components/Switch/Switch.styles.ts +4 -4
- package/src/components/Switch/Switch.tsx +3 -6
- package/src/components/Switch/index.ts +1 -1
- package/src/components/TextArea/TextArea.styles.ts +4 -4
- package/src/components/TextArea/TextArea.tsx +3 -6
- package/src/components/TextArea/index.ts +1 -1
- package/src/components/TextWithInfo/TextWithInfo.styles.ts +4 -5
- package/src/components/TextWithInfo/TextWithInfo.tsx +6 -5
- package/src/components/TextWithInfo/index.ts +1 -1
- package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +8 -6
- package/src/components/TextWithTooltip/TextWithTooltip.tsx +15 -9
- package/src/components/TextWithTooltip/index.ts +1 -1
- package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +11 -6
- package/src/components/ThemedPreloader/ThemedPreloader.tsx +19 -11
- package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +4 -4
- package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +3 -6
- package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +1 -1
- package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +4 -4
- package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +5 -6
- package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +1 -1
- package/src/components/ThemedPreloader/index.ts +2 -2
- package/src/components/Toaster/Toaster.styles.ts +8 -7
- package/src/components/Toaster/Toaster.tsx +15 -9
- package/src/components/Toaster/index.ts +1 -1
- package/src/components/Toaster/types.ts +1 -1
- package/src/components/Tooltip/Tooltip.styles.ts +20 -16
- package/src/components/Tooltip/Tooltip.tsx +10 -6
- package/src/components/Tooltip/index.ts +1 -1
- package/src/helpers/index.ts +0 -1
- package/src/helpers/misc.ts +1 -1
- package/src/helpers/phone.ts +4 -1
- package/src/hooks/index.ts +0 -1
- package/src/hooks/use-tweak-styles.ts +56 -12
- package/src/index.ts +1 -1
- package/src/theme/Provider.tsx +21 -0
- package/src/{theme.ts → theme/common.ts} +6 -6
- package/src/theme/helpers.ts +74 -0
- package/src/theme/index.ts +4 -0
- package/src/theme/types.ts +137 -0
- package/src/types.ts +4 -82
- package/dist/components/FlexibleTable/components/TableRow/TableRow.d.ts +0 -28
- package/dist/components/FlexibleTable/components/TableRow/index.d.ts +0 -1
- package/dist/components/FlexibleTable/components/TableValue/TableValue.d.ts +0 -21
- package/dist/components/FlexibleTable/components/TableValue/index.d.ts +0 -1
- package/dist/components/IncrementInput/components/ChangeButton/ChangeButton.d.ts +0 -10
- package/dist/components/IncrementInput/components/ChangeButton/index.d.ts +0 -1
- package/dist/components/IncrementInput/components/index.d.ts +0 -1
- package/dist/helpers/deprecated.d.ts +0 -12
- package/dist/hooks/use-theme.d.ts +0 -9
- package/src/components/FlexibleTable/components/TableRow/index.ts +0 -1
- package/src/components/FlexibleTable/components/TableValue/index.ts +0 -1
- package/src/components/IncrementInput/components/ChangeButton/ChangeButton.tsx +0 -33
- package/src/components/IncrementInput/components/ChangeButton/index.ts +0 -1
- package/src/components/IncrementInput/components/index.ts +0 -1
- package/src/helpers/deprecated.ts +0 -23
- package/src/hooks/use-theme.ts +0 -32
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { FC, ReactNode, useEffect } from 'react';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import {
|
|
4
|
+
addDataTestId,
|
|
4
5
|
isNotEmpty,
|
|
5
6
|
isReactNodeNotEmpty,
|
|
6
7
|
isStringNotEmpty,
|
|
7
8
|
} from '@true-engineering/true-react-platform-helpers';
|
|
8
9
|
import { addDataAttributes } from '../../helpers';
|
|
9
|
-
import {
|
|
10
|
+
import { useTweakStyles } from '../../hooks';
|
|
10
11
|
import { ICommonProps } from '../../types';
|
|
11
12
|
import { CloseButton } from '../CloseButton';
|
|
12
13
|
import { Icon } from '../Icon';
|
|
13
14
|
import { DEFAULT_TIMEOUT } from './constants';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
15
|
+
import { IToasterType } from './types';
|
|
16
|
+
import { useStyles, IToasterStyles } from './Toaster.styles';
|
|
16
17
|
|
|
17
|
-
export interface IToasterProps extends ICommonProps {
|
|
18
|
-
tweakStyles?: ToasterStyles;
|
|
18
|
+
export interface IToasterProps extends ICommonProps<IToasterStyles> {
|
|
19
19
|
/**
|
|
20
20
|
* @default `error`
|
|
21
21
|
*/
|
|
22
|
-
type?:
|
|
22
|
+
type?: IToasterType;
|
|
23
23
|
title?: string;
|
|
24
24
|
text?: string;
|
|
25
25
|
children?: ReactNode;
|
|
@@ -46,6 +46,7 @@ export const Toaster: FC<IToasterProps> = ({
|
|
|
46
46
|
text,
|
|
47
47
|
timeout = DEFAULT_TIMEOUT,
|
|
48
48
|
data,
|
|
49
|
+
testId,
|
|
49
50
|
tweakStyles,
|
|
50
51
|
hasCloseButton = false,
|
|
51
52
|
shouldCloseOnClick = false,
|
|
@@ -53,7 +54,13 @@ export const Toaster: FC<IToasterProps> = ({
|
|
|
53
54
|
onClose,
|
|
54
55
|
onTimeEnd,
|
|
55
56
|
}) => {
|
|
56
|
-
const
|
|
57
|
+
const classes = useStyles({ theme: tweakStyles });
|
|
58
|
+
|
|
59
|
+
const tweakCloseButtonStyles = useTweakStyles({
|
|
60
|
+
tweakStyles,
|
|
61
|
+
className: 'tweakCloseButton',
|
|
62
|
+
currentComponentName: 'Toaster',
|
|
63
|
+
});
|
|
57
64
|
|
|
58
65
|
let timeoutFunction: ReturnType<typeof setTimeout>;
|
|
59
66
|
|
|
@@ -78,12 +85,11 @@ export const Toaster: FC<IToasterProps> = ({
|
|
|
78
85
|
return () => clearTimeout(timeoutFunction);
|
|
79
86
|
}, []);
|
|
80
87
|
|
|
81
|
-
const tweakCloseButtonStyles = useTweakStyles(componentStyles, tweakStyles, 'tweakCloseButton');
|
|
82
|
-
|
|
83
88
|
return (
|
|
84
89
|
<div
|
|
85
90
|
className={classes.root}
|
|
86
91
|
onClick={shouldCloseOnClick ? onClose : undefined}
|
|
92
|
+
{...addDataTestId(testId)}
|
|
87
93
|
{...addDataAttributes(data)}
|
|
88
94
|
>
|
|
89
95
|
<div className={clsx(classes.iconContainer, classes[type])}>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type IToasterType = 'error' | 'info' | 'warning' | 'ok' | 'not-ok';
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { rgba } from '../../helpers';
|
|
2
|
-
import { colors, dimensions } from '../../theme';
|
|
3
|
-
import { ComponentStyles } from '../../types';
|
|
4
|
-
import { ITooltipProps } from './Tooltip';
|
|
2
|
+
import { colors, createThemedStyles, dimensions, ITweakStyles } from '../../theme';
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
type: NonNullable<ITooltipProps['type']>;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const styles = {
|
|
4
|
+
export const useStyles = createThemedStyles('Tooltip', {
|
|
11
5
|
root: {
|
|
12
6
|
display: 'inline-block',
|
|
13
7
|
boxSizing: 'border-box',
|
|
@@ -17,10 +11,8 @@ export const styles = {
|
|
|
17
11
|
fontSize: 14,
|
|
18
12
|
padding: [18, 20],
|
|
19
13
|
letterSpacing: 0.15,
|
|
20
|
-
backgroundColor:
|
|
21
|
-
|
|
22
|
-
color: ({ type }: IStyleProps): string =>
|
|
23
|
-
type === 'error' ? colors.CLASSIC_WHITE : colors.FONT_MAIN,
|
|
14
|
+
backgroundColor: colors.CLASSIC_WHITE,
|
|
15
|
+
color: colors.FONT_MAIN,
|
|
24
16
|
boxShadow: `0 0 1px ${rgba(colors.FONT_MAIN, 0.4)}, 0 -2px 6px ${rgba(
|
|
25
17
|
colors.FONT_MAIN,
|
|
26
18
|
0.06,
|
|
@@ -35,11 +27,23 @@ export const styles = {
|
|
|
35
27
|
fontSize: 12,
|
|
36
28
|
padding: [8, 12],
|
|
37
29
|
borderRadius: dimensions.BORDER_RADIUS_SMALL,
|
|
38
|
-
backgroundColor:
|
|
39
|
-
type === 'error' ? colors.RED_WARNING : colors.FONT_MEDIUM,
|
|
30
|
+
backgroundColor: colors.FONT_MEDIUM,
|
|
40
31
|
color: colors.CLASSIC_WHITE,
|
|
41
32
|
letterSpacing: 0.2,
|
|
42
33
|
},
|
|
43
|
-
};
|
|
44
34
|
|
|
45
|
-
|
|
35
|
+
info: {},
|
|
36
|
+
|
|
37
|
+
error: {
|
|
38
|
+
'&$tooltip': {
|
|
39
|
+
backgroundColor: colors.RED_WARNING,
|
|
40
|
+
color: colors.CLASSIC_WHITE,
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
'&$hint': {
|
|
44
|
+
backgroundColor: colors.RED_WARNING,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export type ITooltipStyles = ITweakStyles<typeof useStyles>;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
+
import { addDataTestId } from '@true-engineering/true-react-platform-helpers';
|
|
3
4
|
import { addDataAttributes } from '../../helpers';
|
|
4
|
-
import { useTheme } from '../../hooks';
|
|
5
5
|
import { ICommonProps } from '../../types';
|
|
6
|
-
import {
|
|
6
|
+
import { useStyles, ITooltipStyles } from './Tooltip.styles';
|
|
7
7
|
|
|
8
|
-
export interface ITooltipProps extends ICommonProps {
|
|
9
|
-
tweakStyles?: TooltipStyles;
|
|
8
|
+
export interface ITooltipProps extends ICommonProps<ITooltipStyles> {
|
|
10
9
|
text: ReactNode;
|
|
11
10
|
/**
|
|
12
11
|
* @default `tooltip`
|
|
@@ -23,12 +22,17 @@ export const Tooltip: FC<ITooltipProps> = ({
|
|
|
23
22
|
view = 'tooltip',
|
|
24
23
|
type = 'info',
|
|
25
24
|
data,
|
|
25
|
+
testId,
|
|
26
26
|
tweakStyles,
|
|
27
27
|
}) => {
|
|
28
|
-
const
|
|
28
|
+
const classes = useStyles({ theme: tweakStyles });
|
|
29
29
|
|
|
30
30
|
return (
|
|
31
|
-
<div
|
|
31
|
+
<div
|
|
32
|
+
className={clsx(classes.root, classes[view], classes[type])}
|
|
33
|
+
{...addDataTestId(testId)}
|
|
34
|
+
{...addDataAttributes(data)}
|
|
35
|
+
>
|
|
32
36
|
{text}
|
|
33
37
|
</div>
|
|
34
38
|
);
|
package/src/helpers/index.ts
CHANGED
package/src/helpers/misc.ts
CHANGED
|
@@ -145,7 +145,7 @@ export const isSpaceChar = (char?: string): boolean =>
|
|
|
145
145
|
export const getNumberLength = (n?: number): number =>
|
|
146
146
|
n === undefined || isNaN(n) ? 0 : n.toString().length;
|
|
147
147
|
|
|
148
|
-
export const trimStringToMaxLength = (val: string, maxLength: number) =>
|
|
148
|
+
export const trimStringToMaxLength = (val: string, maxLength: number): string =>
|
|
149
149
|
val.length > maxLength ? val.slice(0, maxLength) : val;
|
|
150
150
|
|
|
151
151
|
export const addDataAttributes = (data: IDataAttributes = {}): IDataAttributes =>
|
package/src/helpers/phone.ts
CHANGED
|
@@ -17,7 +17,10 @@ export const findCountryIndexByCode = (countryCode?: string, countriesList = pho
|
|
|
17
17
|
export const getCountryTextByLocale = (country: IPhoneInfo, locale: string): string =>
|
|
18
18
|
locale.toLowerCase() === 'ru' ? country.countryRu : country.countryEn;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Мутирует!
|
|
22
|
+
*/
|
|
23
|
+
export const sortCountriesByLocale = (countriesList: IPhoneInfo[], locale: string): IPhoneInfo[] =>
|
|
21
24
|
countriesList.sort((countryA, countryB) =>
|
|
22
25
|
getCountryTextByLocale(countryA, locale).localeCompare(
|
|
23
26
|
getCountryTextByLocale(countryB, locale),
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,13 +1,57 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
import { isEmpty, isNotEmpty, mergeStyles } from '@true-engineering/true-react-platform-helpers';
|
|
3
|
+
import { areStylesThemed, getTheme, IComponentName, themedStyles } from '../theme';
|
|
4
|
+
|
|
5
|
+
// TODO: Можно усилить типы
|
|
6
|
+
export const useTweakStyles = <StyleSheet, ClassName extends keyof StyleSheet>({
|
|
7
|
+
innerStyles,
|
|
8
|
+
tweakStyles: currentComponentTweakStyles,
|
|
9
|
+
className,
|
|
10
|
+
currentComponentName,
|
|
11
|
+
}: {
|
|
12
|
+
/**
|
|
13
|
+
* Это tweakStyles, определенные в родительском компоненте
|
|
14
|
+
* (например, стили для Input, определенные в стилях компонента Select)
|
|
15
|
+
*/
|
|
16
|
+
innerStyles?: StyleSheet[ClassName];
|
|
17
|
+
/**
|
|
18
|
+
* Пропса tweakStyles из родительского компонента
|
|
19
|
+
* (это уже непосредственно ISelectProps.tweakStyles)
|
|
20
|
+
*/
|
|
21
|
+
tweakStyles?: StyleSheet;
|
|
22
|
+
/**
|
|
23
|
+
* Класс для переопределения tweakStyles из-вне. (Например, 'tweakInput')
|
|
24
|
+
*/
|
|
25
|
+
className: ClassName;
|
|
26
|
+
/**
|
|
27
|
+
* Название компонента который вызывает useTweakStyles. (В данном примере 'Select')
|
|
28
|
+
*/
|
|
29
|
+
currentComponentName?: IComponentName;
|
|
30
|
+
}): StyleSheet[ClassName] =>
|
|
31
|
+
useMemo(() => {
|
|
32
|
+
const theme = getTheme();
|
|
33
|
+
// tweakStyles, переопределенные в теме родительского компонента
|
|
34
|
+
const themeStyles = isNotEmpty(currentComponentName)
|
|
35
|
+
? (theme.components?.[currentComponentName]?.[className as never] as StyleSheet[ClassName])
|
|
36
|
+
: undefined;
|
|
37
|
+
const tweakStyles = currentComponentTweakStyles?.[className];
|
|
38
|
+
|
|
39
|
+
// Если нечего мержить
|
|
40
|
+
const styles = [innerStyles, tweakStyles, themeStyles].filter(isNotEmpty);
|
|
41
|
+
if (styles.length <= 1) {
|
|
42
|
+
return styles[0];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Мы можем подмержить тему в innerStyles, чтобы сохранить кэширование
|
|
46
|
+
if (isNotEmpty(innerStyles) && isNotEmpty(themeStyles) && isEmpty(tweakStyles)) {
|
|
47
|
+
return areStylesThemed(innerStyles) ? innerStyles : themedStyles(innerStyles, themeStyles);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Ну тут уже прощай кэш
|
|
51
|
+
return mergeStyles(innerStyles, themeStyles, tweakStyles);
|
|
52
|
+
}, [
|
|
53
|
+
innerStyles,
|
|
54
|
+
className,
|
|
55
|
+
currentComponentName,
|
|
56
|
+
currentComponentTweakStyles,
|
|
57
|
+
]) as StyleSheet[ClassName];
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createContext, FC, ReactNode } from 'react';
|
|
2
|
+
import { common } from './common';
|
|
3
|
+
import { IUiKitTheme } from './types';
|
|
4
|
+
|
|
5
|
+
export interface IThemedProviderProps {
|
|
6
|
+
theme: IUiKitTheme;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
let globalTheme: IUiKitTheme;
|
|
11
|
+
|
|
12
|
+
export const getTheme = (): IUiKitTheme => globalTheme;
|
|
13
|
+
|
|
14
|
+
export const ThemeContext = createContext<{
|
|
15
|
+
theme: IUiKitTheme;
|
|
16
|
+
}>({ theme: common });
|
|
17
|
+
|
|
18
|
+
export const ThemeProvider: FC<IThemedProviderProps> = ({ theme, children }) => {
|
|
19
|
+
globalTheme = theme;
|
|
20
|
+
return <ThemeContext.Provider value={{ theme }}>{children}</ThemeContext.Provider>;
|
|
21
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Styles } from 'react-jss';
|
|
2
|
-
import {
|
|
2
|
+
import { IUiKitHelpers, IUiKitTheme } from './types';
|
|
3
3
|
|
|
4
4
|
export const colors = {
|
|
5
5
|
FONT_MAIN: '#222a37',
|
|
@@ -36,7 +36,7 @@ export const dimensions = {
|
|
|
36
36
|
CONTROL_HEIGHT: 48,
|
|
37
37
|
} as const;
|
|
38
38
|
|
|
39
|
-
export const helpers:
|
|
39
|
+
export const helpers: IUiKitHelpers = {
|
|
40
40
|
withAngle: (angleSize = 6, position: 'left' | 'right' = 'left', distance = 100) =>
|
|
41
41
|
({
|
|
42
42
|
display: 'inline-block',
|
|
@@ -117,7 +117,7 @@ export const animations = {
|
|
|
117
117
|
'slide-up-enter-active': {
|
|
118
118
|
opacity: 1,
|
|
119
119
|
transform: `translateY(${SLIDE_UP_POSITION_END}px)`,
|
|
120
|
-
transition:
|
|
120
|
+
transition: '150ms ease-in-out',
|
|
121
121
|
transitionProperty: 'opacity, transform',
|
|
122
122
|
},
|
|
123
123
|
|
|
@@ -129,18 +129,18 @@ export const animations = {
|
|
|
129
129
|
'slide-up-exit': {
|
|
130
130
|
opacity: 0,
|
|
131
131
|
transform: `translateY(${SLIDE_UP_POSITION_START}px)`,
|
|
132
|
-
transition:
|
|
132
|
+
transition: '150ms ease-in-out',
|
|
133
133
|
transitionProperty: 'opacity, transform',
|
|
134
134
|
},
|
|
135
135
|
},
|
|
136
136
|
};
|
|
137
137
|
|
|
138
|
-
export interface
|
|
138
|
+
export interface ICommonUiKitTheme extends IUiKitTheme {
|
|
139
139
|
colors: typeof colors;
|
|
140
140
|
dimensions: typeof dimensions;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
export const
|
|
143
|
+
export const common: ICommonUiKitTheme = {
|
|
144
144
|
name: 'common',
|
|
145
145
|
animations,
|
|
146
146
|
colors,
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createUseStyles, Styles } from 'react-jss';
|
|
2
|
+
import merge from 'lodash-es/merge';
|
|
3
|
+
import {
|
|
4
|
+
isArrayNotEmpty,
|
|
5
|
+
isNotEmpty,
|
|
6
|
+
mergeStyles,
|
|
7
|
+
} from '@true-engineering/true-react-platform-helpers';
|
|
8
|
+
import { getTheme } from './Provider';
|
|
9
|
+
import { IComponentName, IStyles, IUseStyles } from './types';
|
|
10
|
+
|
|
11
|
+
const isTweakStyle = (key: string): boolean => key.startsWith('tweak');
|
|
12
|
+
|
|
13
|
+
const cleanStyles = <T>(tweakStyles?: T): T | undefined =>
|
|
14
|
+
isNotEmpty(tweakStyles) && Object.keys(tweakStyles).some((key) => !isTweakStyle(key))
|
|
15
|
+
? tweakStyles
|
|
16
|
+
: undefined;
|
|
17
|
+
|
|
18
|
+
const checkStyles = (componentName: string, styles: Record<string, unknown>): void => {
|
|
19
|
+
const invalidClasses = Object.keys(styles).reduce((acc, key) => {
|
|
20
|
+
if (isTweakStyle(key)) {
|
|
21
|
+
acc.push(key);
|
|
22
|
+
}
|
|
23
|
+
return acc;
|
|
24
|
+
}, [] as string[]);
|
|
25
|
+
|
|
26
|
+
if (isArrayNotEmpty(invalidClasses)) {
|
|
27
|
+
console.error(
|
|
28
|
+
`${componentName}: Названия классов не должны начинаться со слова "tweak": ${invalidClasses}`,
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const areStylesThemed = (styles: Record<string, unknown>): boolean =>
|
|
34
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
35
|
+
styles.__themed === true;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Подмешивает стили из темы. Мутирует, добавляя специально поле,
|
|
39
|
+
* по которому можно определить была ли уже произведена мутация ранее,
|
|
40
|
+
* тем самым сохраняя ссылку на объект и позволяя этим кэшировать JSS стили
|
|
41
|
+
*/
|
|
42
|
+
export const themedStyles = <T>(styles: T, themeComponentStyles: T): T => {
|
|
43
|
+
merge(styles, themeComponentStyles); // mutation !!!!
|
|
44
|
+
Object.defineProperty(styles, '__themed', { value: true });
|
|
45
|
+
return styles;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export function createThemedStyles<C extends string, P>(styles: IStyles<C, P>): IUseStyles<C, P>;
|
|
49
|
+
|
|
50
|
+
export function createThemedStyles<C extends string, P>(
|
|
51
|
+
componentName: IComponentName,
|
|
52
|
+
styles: IStyles<C, P>,
|
|
53
|
+
): IUseStyles<C, P>;
|
|
54
|
+
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
+
export function createThemedStyles<C extends string, P>(...args: any[]): IUseStyles<C, P> {
|
|
57
|
+
const shouldUseTheme = args.length > 1;
|
|
58
|
+
const styles: IStyles<C, P> = shouldUseTheme ? args[1] : args[0];
|
|
59
|
+
const componentName: IComponentName | undefined = shouldUseTheme ? args[0] : undefined;
|
|
60
|
+
|
|
61
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
62
|
+
checkStyles(componentName ?? 'LocalComponent', styles);
|
|
63
|
+
}
|
|
64
|
+
const useStyles = createUseStyles<C, P>((tweakStyles) => {
|
|
65
|
+
const theme = getTheme();
|
|
66
|
+
return mergeStyles(
|
|
67
|
+
styles as Styles<C, P>,
|
|
68
|
+
isNotEmpty(componentName) ? (theme?.components?.[componentName] as Styles<C, P>) : undefined,
|
|
69
|
+
tweakStyles,
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
return (data) => useStyles(isNotEmpty(data) ? { ...data, theme: cleanStyles(data.theme) } : data);
|
|
74
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Styles } from 'react-jss';
|
|
2
|
+
import { Classes } from 'jss';
|
|
3
|
+
import type {
|
|
4
|
+
IAccountInfoStyles,
|
|
5
|
+
IAddButtonStyles,
|
|
6
|
+
IButtonStyles,
|
|
7
|
+
ICheckboxStyles,
|
|
8
|
+
ICloseButtonStyles,
|
|
9
|
+
ICommonIcon,
|
|
10
|
+
IComplexIcon,
|
|
11
|
+
ICssBaselineStyles,
|
|
12
|
+
IDateInputStyles,
|
|
13
|
+
IDatePickerHeaderStyles,
|
|
14
|
+
IDatePickerStyles,
|
|
15
|
+
IDescriptionStyles,
|
|
16
|
+
IDotsPreloaderStyles,
|
|
17
|
+
IFilterIntervalStyles,
|
|
18
|
+
IFilterSelectStyles,
|
|
19
|
+
IFiltersPaneSearchStyles,
|
|
20
|
+
IFiltersPaneStyles,
|
|
21
|
+
IFilterWithDatesStyles,
|
|
22
|
+
IFilterWithPeriodStyles,
|
|
23
|
+
IFilterWrapperStyles,
|
|
24
|
+
IFlagStyles,
|
|
25
|
+
IFlexibleTableStyles,
|
|
26
|
+
IIconStyles,
|
|
27
|
+
IIncrementInputStyles,
|
|
28
|
+
IInputStyles,
|
|
29
|
+
IListStyles,
|
|
30
|
+
IModalStyles,
|
|
31
|
+
IMoreMenuStyles,
|
|
32
|
+
IMultiSelectInputStyles,
|
|
33
|
+
IMultiSelectListStyles,
|
|
34
|
+
IMultiSelectStyles,
|
|
35
|
+
INotificationStyles,
|
|
36
|
+
IPhoneInputCountryListStyles,
|
|
37
|
+
IPhoneInputStyles,
|
|
38
|
+
IPreloaderSvgType,
|
|
39
|
+
IRadioButtonStyles,
|
|
40
|
+
ISearchInputStyles,
|
|
41
|
+
ISelectListStyles,
|
|
42
|
+
ISelectStyles,
|
|
43
|
+
ISvgIcon,
|
|
44
|
+
ISvgPreloaderStyles,
|
|
45
|
+
ISwitchStyles,
|
|
46
|
+
ITextAreaStyles,
|
|
47
|
+
ITextWithInfoStyles,
|
|
48
|
+
ITextWithTooltipStyles,
|
|
49
|
+
IThemedPreloaderStyles,
|
|
50
|
+
IToasterStyles,
|
|
51
|
+
ITooltipStyles,
|
|
52
|
+
IFlexibleTableCellStyles,
|
|
53
|
+
IFlexibleTableRowStyles,
|
|
54
|
+
IFilterValueViewStyles,
|
|
55
|
+
} from '../components';
|
|
56
|
+
|
|
57
|
+
export type IStyles<C extends string, P> = Styles<C, P, Partial<Styles<C, P>>>;
|
|
58
|
+
|
|
59
|
+
export type IUseStyles<C extends string, P = unknown> = (
|
|
60
|
+
data?: P & { theme?: Partial<Styles<C, P>> },
|
|
61
|
+
) => Classes<C>;
|
|
62
|
+
|
|
63
|
+
export type ITweakStyles<
|
|
64
|
+
StyleCreator,
|
|
65
|
+
ChildTweakStyles = unknown,
|
|
66
|
+
> = StyleCreator extends IUseStyles<infer C, infer P>
|
|
67
|
+
? Partial<Styles<C, P>> & Partial<ChildTweakStyles>
|
|
68
|
+
: never;
|
|
69
|
+
|
|
70
|
+
export interface IComponentStyles {
|
|
71
|
+
AccountInfo: IAccountInfoStyles;
|
|
72
|
+
AddButton: IAddButtonStyles;
|
|
73
|
+
Button: IButtonStyles;
|
|
74
|
+
CloseButton: ICloseButtonStyles;
|
|
75
|
+
Checkbox: ICheckboxStyles;
|
|
76
|
+
CssBaseline: ICssBaselineStyles;
|
|
77
|
+
DateInput: IDateInputStyles;
|
|
78
|
+
DatePicker: IDatePickerStyles;
|
|
79
|
+
DatePickerHeader: IDatePickerHeaderStyles;
|
|
80
|
+
Description: IDescriptionStyles;
|
|
81
|
+
DotsPreloader: IDotsPreloaderStyles;
|
|
82
|
+
SvgPreloader: ISvgPreloaderStyles;
|
|
83
|
+
FilterValueView: IFilterValueViewStyles;
|
|
84
|
+
FiltersPane: IFiltersPaneStyles;
|
|
85
|
+
FilterInterval: IFilterIntervalStyles;
|
|
86
|
+
FilterSelect: IFilterSelectStyles;
|
|
87
|
+
FilterWithDates: IFilterWithDatesStyles;
|
|
88
|
+
FilterWithPeriod: IFilterWithPeriodStyles;
|
|
89
|
+
FilterWrapper: IFilterWrapperStyles;
|
|
90
|
+
FiltersPaneSearch: IFiltersPaneSearchStyles;
|
|
91
|
+
Flag: IFlagStyles;
|
|
92
|
+
FlexibleTable: IFlexibleTableStyles;
|
|
93
|
+
FlexibleTableRow: IFlexibleTableRowStyles;
|
|
94
|
+
FlexibleTableCell: IFlexibleTableCellStyles;
|
|
95
|
+
Icon: IIconStyles;
|
|
96
|
+
IncrementInput: IIncrementInputStyles;
|
|
97
|
+
Input: IInputStyles;
|
|
98
|
+
List: IListStyles;
|
|
99
|
+
Modal: IModalStyles;
|
|
100
|
+
MoreMenu: IMoreMenuStyles;
|
|
101
|
+
MultiSelect: IMultiSelectStyles;
|
|
102
|
+
MultiSelectInput: IMultiSelectInputStyles;
|
|
103
|
+
MultiSelectList: IMultiSelectListStyles;
|
|
104
|
+
Notification: INotificationStyles;
|
|
105
|
+
PhoneInput: IPhoneInputStyles;
|
|
106
|
+
PhoneInputCountryList: IPhoneInputCountryListStyles;
|
|
107
|
+
RadioButton: IRadioButtonStyles;
|
|
108
|
+
SearchInput: ISearchInputStyles;
|
|
109
|
+
Select: ISelectStyles;
|
|
110
|
+
SelectList: ISelectListStyles;
|
|
111
|
+
Switch: ISwitchStyles;
|
|
112
|
+
TextArea: ITextAreaStyles;
|
|
113
|
+
TextWithInfo: ITextWithInfoStyles;
|
|
114
|
+
TextWithTooltip: ITextWithTooltipStyles;
|
|
115
|
+
ThemedPreloader: IThemedPreloaderStyles;
|
|
116
|
+
Tooltip: ITooltipStyles;
|
|
117
|
+
Toaster: IToasterStyles;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export type IComponentName = keyof IComponentStyles;
|
|
121
|
+
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
123
|
+
export type IUiKitAnimations = Record<string, any>;
|
|
124
|
+
export type IUiKitHelpers = Record<string, Styles | (() => Styles)>;
|
|
125
|
+
|
|
126
|
+
export interface IUiKitTheme {
|
|
127
|
+
name: string;
|
|
128
|
+
components?: Partial<IComponentStyles>;
|
|
129
|
+
icons?: Partial<Record<ICommonIcon, ISvgIcon>>;
|
|
130
|
+
complexIcons?: Partial<Record<IComplexIcon, string>>;
|
|
131
|
+
preloaders?: Partial<Record<IPreloaderSvgType, string>>; // TODO: заменить string
|
|
132
|
+
animations?: IUiKitAnimations;
|
|
133
|
+
colors?: Record<string, string>;
|
|
134
|
+
dimensions?: Record<string, number>;
|
|
135
|
+
boxShadows?: Record<string, string>;
|
|
136
|
+
helpers?: IUiKitHelpers;
|
|
137
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
|
-
import { Styles } from 'react-jss';
|
|
3
2
|
import { Modifier, Placement } from 'react-overlays/usePopper';
|
|
4
|
-
import type {
|
|
5
|
-
ICommonIcon,
|
|
6
|
-
IComplexIcon,
|
|
7
|
-
IIconType,
|
|
8
|
-
IPreloaderSvgType,
|
|
9
|
-
ISvgIcon,
|
|
10
|
-
} from './components';
|
|
3
|
+
import type { IIconType } from './components';
|
|
11
4
|
|
|
12
5
|
export interface IDataAttributes {
|
|
13
6
|
[key: string]: unknown;
|
|
14
7
|
}
|
|
15
8
|
|
|
16
|
-
export interface ICommonProps {
|
|
9
|
+
export interface ICommonProps<TweakStyles> {
|
|
17
10
|
data?: IDataAttributes;
|
|
11
|
+
testId?: string;
|
|
12
|
+
tweakStyles?: TweakStyles;
|
|
18
13
|
}
|
|
19
14
|
|
|
20
15
|
export interface IDropdownWithPopperOptions {
|
|
@@ -33,76 +28,3 @@ export interface IDropdownWithPopperOptions {
|
|
|
33
28
|
}
|
|
34
29
|
|
|
35
30
|
export type IIcon = IIconType | ReactElement;
|
|
36
|
-
|
|
37
|
-
export type ComponentStyles<StyleSheet, Props = unknown> = Partial<Styles<keyof StyleSheet, Props>>;
|
|
38
|
-
|
|
39
|
-
// TODO: Скрипт
|
|
40
|
-
export type ComponentName =
|
|
41
|
-
| 'AccountInfo'
|
|
42
|
-
| 'AddButton'
|
|
43
|
-
| 'Button'
|
|
44
|
-
| 'CloseButton'
|
|
45
|
-
| 'Checkbox'
|
|
46
|
-
| 'CssBaseline'
|
|
47
|
-
| 'Colors'
|
|
48
|
-
| 'DateInput'
|
|
49
|
-
| 'DatePicker'
|
|
50
|
-
| 'DatePickerHeader'
|
|
51
|
-
| 'Description'
|
|
52
|
-
| 'DotsPreloader'
|
|
53
|
-
| 'SvgPreloader'
|
|
54
|
-
| 'FiltersPane'
|
|
55
|
-
| 'FilterInterval'
|
|
56
|
-
| 'FilterSelect'
|
|
57
|
-
| 'FilterWithDates'
|
|
58
|
-
| 'FilterWithPeriod'
|
|
59
|
-
| 'FilterWrapper'
|
|
60
|
-
| 'FilterValueView'
|
|
61
|
-
| 'FiltersPaneSearch'
|
|
62
|
-
| 'Flag'
|
|
63
|
-
| 'FlexibleTable'
|
|
64
|
-
| 'Icon'
|
|
65
|
-
| 'IncrementInput'
|
|
66
|
-
| 'Input'
|
|
67
|
-
| 'List'
|
|
68
|
-
| 'Modal'
|
|
69
|
-
| 'MoreMenu'
|
|
70
|
-
| 'MultiSelect'
|
|
71
|
-
| 'MultiSelectInput'
|
|
72
|
-
| 'MultiSelectList'
|
|
73
|
-
| 'Notification'
|
|
74
|
-
| 'PhoneInput'
|
|
75
|
-
| 'PhoneInputCountryList'
|
|
76
|
-
| 'RadioButton'
|
|
77
|
-
| 'SearchInput'
|
|
78
|
-
| 'Select'
|
|
79
|
-
| 'SelectList'
|
|
80
|
-
| 'ScrollIntoViewIfNeeded'
|
|
81
|
-
| 'Switch'
|
|
82
|
-
| 'TextArea'
|
|
83
|
-
| 'TextWithInfo'
|
|
84
|
-
| 'TextWithTooltip'
|
|
85
|
-
| 'ThemedPreloader'
|
|
86
|
-
| 'Tooltip'
|
|
87
|
-
| 'Toaster';
|
|
88
|
-
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
-
export type UiKitAnimations = Record<string, any>;
|
|
91
|
-
export type UiKitHelpers = Record<string, Styles | (() => Styles)>;
|
|
92
|
-
|
|
93
|
-
export interface UiKitTheme {
|
|
94
|
-
name: string;
|
|
95
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
-
components?: Partial<Record<ComponentName, ComponentStyles<any, any>>>;
|
|
97
|
-
/**
|
|
98
|
-
* Для переопределения иконок, которые есть в UiKit
|
|
99
|
-
*/
|
|
100
|
-
icons?: Partial<Record<ICommonIcon, ISvgIcon>>;
|
|
101
|
-
complexIcons?: Partial<Record<IComplexIcon, string>>;
|
|
102
|
-
preloaders?: Partial<Record<IPreloaderSvgType, string>>; // TODO: заменить string
|
|
103
|
-
animations?: UiKitAnimations;
|
|
104
|
-
colors?: Record<string, string>;
|
|
105
|
-
dimensions?: Record<string, number>;
|
|
106
|
-
boxShadows?: Record<string, string>;
|
|
107
|
-
helpers?: UiKitHelpers;
|
|
108
|
-
}
|