@true-engineering/true-react-common-ui-kit 4.0.0-alpha6 → 4.0.0-alpha62
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/README.md +12 -660
- package/dist/components/AccountInfo/AccountInfo.styles.d.ts +1 -1
- package/dist/components/AddButton/AddButton.d.ts +1 -0
- package/dist/components/AddButton/AddButton.styles.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.styles.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +3 -1
- package/dist/components/Checkbox/Checkbox.styles.d.ts +3 -2
- package/dist/components/Checkbox/index.d.ts +1 -0
- package/dist/components/Checkbox/types.d.ts +3 -0
- package/dist/components/CloseButton/CloseButton.styles.d.ts +1 -1
- package/dist/components/ControlWrapper/ControlWrapper.d.ts +10 -3
- package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +3 -2
- package/dist/components/ControlWrapper/constants.d.ts +1 -0
- package/dist/components/ControlWrapper/helpers.d.ts +4 -0
- package/dist/components/ControlWrapper/index.d.ts +3 -0
- package/dist/components/ControlWrapper/types.d.ts +14 -0
- package/dist/components/CssBaseline/CssBaseline.styles.d.ts +1 -1
- package/dist/components/DateInput/DateInput.d.ts +1 -3
- package/dist/components/DateInput/DateInput.styles.d.ts +1 -1
- package/dist/components/DateInput/constants.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +4 -4
- package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
- package/dist/components/DatePicker/components/DatePickerBase/DatePickerBase.d.ts +5 -0
- package/dist/components/DatePicker/components/DatePickerBase/index.d.ts +1 -0
- package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +1 -1
- package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +2 -4
- package/dist/components/DatePicker/components/index.d.ts +1 -0
- package/dist/components/DatePicker/constants.d.ts +7 -2
- package/dist/components/DatePicker/index.d.ts +1 -0
- package/dist/components/DatePicker/types.d.ts +2 -2
- package/dist/components/Description/Description.styles.d.ts +1 -1
- package/dist/components/FileInput/FileInput.d.ts +1 -1
- package/dist/components/FileInput/FileInput.styles.d.ts +1 -1
- package/dist/components/FileItem/FileItem.styles.d.ts +1 -1
- package/dist/components/FileItem/constants.d.ts +3 -4
- package/dist/components/FileItem/helpers.d.ts +3 -2
- package/dist/components/FileItem/types.d.ts +1 -2
- package/dist/components/FiltersPane/FiltersPane.d.ts +7 -3
- package/dist/components/FiltersPane/FiltersPane.styles.d.ts +2 -2
- package/dist/components/FiltersPane/components/Filter/Filter.d.ts +3 -4
- package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
- package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.d.ts +3 -11
- package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +3 -6
- package/dist/components/FiltersPane/components/FilterMultiSelect/FilterMultiSelect.d.ts +0 -1
- package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +3 -6
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +4 -3
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +5 -11
- package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -3
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +2 -2
- package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.d.ts +2 -1
- package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +1 -1
- package/dist/components/FiltersPane/constants.d.ts +1 -1
- package/dist/components/FiltersPane/helpers.d.ts +1 -1
- package/dist/components/FiltersPane/index.d.ts +1 -0
- package/dist/components/FiltersPane/types.d.ts +8 -3
- package/dist/components/Flag/Flag.styles.d.ts +1 -1
- package/dist/components/FlexibleTable/FlexibleTable.d.ts +4 -2
- package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +2 -2
- package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -3
- package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +1 -1
- package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +2 -5
- package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +1 -1
- package/dist/components/FlexibleTable/helpers.d.ts +2 -2
- package/dist/components/FlexibleTable/types.d.ts +19 -11
- package/dist/components/FloatDocActions/FloatDocActions.d.ts +6 -0
- package/dist/components/FloatDocActions/FloatDocActions.styles.d.ts +8 -0
- package/dist/components/FloatDocActions/components/DocActions/DocActions.d.ts +12 -0
- package/dist/components/FloatDocActions/components/DocActions/DocActions.styles.d.ts +6 -0
- package/dist/components/FloatDocActions/components/DocActions/constants.d.ts +1 -0
- package/dist/components/FloatDocActions/components/DocActions/index.d.ts +4 -0
- package/dist/components/FloatDocActions/components/DocActions/types.d.ts +2 -0
- package/dist/components/FloatDocActions/components/index.d.ts +1 -0
- package/dist/components/FloatDocActions/constants.d.ts +1 -0
- package/dist/components/FloatDocActions/index.d.ts +3 -0
- package/dist/components/Icon/Icon.styles.d.ts +1 -1
- package/dist/components/Icon/icons/index.d.ts +31 -0
- package/dist/components/Icon/index.d.ts +1 -1
- package/dist/components/Icon/types.d.ts +7 -11
- package/dist/components/IconButton/IconButton.d.ts +1 -2
- package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
- package/dist/components/IconButton/constants.d.ts +1 -1
- package/dist/components/IncrementInput/IncrementInput.styles.d.ts +1 -3
- package/dist/components/Input/Input.d.ts +3 -3
- package/dist/components/Input/Input.styles.d.ts +1 -1
- package/dist/components/Input/InputBase.d.ts +3 -3
- package/dist/components/List/List.d.ts +2 -1
- package/dist/components/List/List.styles.d.ts +3 -2
- package/dist/components/List/components/ListItem/ListItem.d.ts +2 -0
- package/dist/components/List/components/ListItem/ListItem.styles.d.ts +3 -2
- package/dist/components/List/index.d.ts +2 -1
- package/dist/components/List/types.d.ts +8 -0
- package/dist/components/Modal/Modal.d.ts +1 -1
- package/dist/components/Modal/Modal.styles.d.ts +1 -1
- package/dist/components/MoreMenu/MoreMenu.styles.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts +0 -1
- package/dist/components/MultiSelect/MultiSelect.styles.d.ts +1 -1
- package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +1 -1
- package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +1 -1
- package/dist/components/MultiSelectList/constants.d.ts +1 -1
- package/dist/components/MultiSelectList/helpers.d.ts +1 -1
- package/dist/components/NewMoreMenu/NewMoreMenu.d.ts +5 -2
- package/dist/components/NewMoreMenu/NewMoreMenu.styles.d.ts +1 -1
- package/dist/components/Notification/Notification.styles.d.ts +1 -1
- package/dist/components/NumberInput/NumberInput.d.ts +1 -2
- package/dist/components/NumberInput/helpers.d.ts +2 -2
- package/dist/components/PhoneInput/PhoneInput.styles.d.ts +1 -1
- package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +3 -1
- package/dist/components/RadioButton/RadioButton.styles.d.ts +3 -2
- package/dist/components/RadioButton/index.d.ts +1 -0
- package/dist/components/RadioButton/types.d.ts +3 -0
- package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +3 -373
- package/dist/components/ScrollIntoViewIfNeeded/constants.d.ts +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +2 -3
- package/dist/components/Select/Select.d.ts +3 -3
- package/dist/components/Select/Select.styles.d.ts +12 -22
- package/dist/components/Select/components/SelectList/SelectList.d.ts +8 -6
- package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +3 -2
- package/dist/components/Select/components/SelectListItem/SelectListItem.d.ts +4 -3
- package/dist/components/Select/helpers.d.ts +1 -1
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/components/Select/types.d.ts +4 -0
- package/dist/components/Selector/Selector.d.ts +0 -1
- package/dist/components/Selector/Selector.styles.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.styles.d.ts +1 -1
- package/dist/components/SmartInput/SmartInput.d.ts +1 -1
- package/dist/components/Status/Status.styles.d.ts +3 -2
- package/dist/components/Status/constants.d.ts +0 -1
- package/dist/components/Status/index.d.ts +1 -0
- package/dist/components/Status/types.d.ts +5 -2
- package/dist/components/Switch/Switch.d.ts +3 -2
- package/dist/components/Switch/Switch.styles.d.ts +3 -2
- package/dist/components/Switch/types.d.ts +3 -0
- package/dist/components/TextArea/TextArea.d.ts +5 -6
- package/dist/components/TextArea/TextArea.styles.d.ts +5 -4
- package/dist/components/TextArea/index.d.ts +1 -1
- package/dist/components/TextArea/types.d.ts +4 -2
- package/dist/components/TextButton/TextButton.d.ts +1 -1
- package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
- package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +1 -1
- package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +2 -0
- package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +1 -1
- package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +1 -1
- package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +1 -1
- package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +1 -1
- package/dist/components/Toaster/Toaster.styles.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +3 -0
- package/dist/components/Tooltip/Tooltip.styles.d.ts +3 -2
- package/dist/components/Tooltip/types.d.ts +3 -0
- package/dist/components/WithMessages/WithMessages.d.ts +1 -1
- package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
- package/dist/components/WithPopup/WithPopup.d.ts +11 -3
- package/dist/components/WithPopup/WithPopup.styles.d.ts +1 -1
- package/dist/components/WithPopup/types.d.ts +4 -4
- package/dist/components/WithTooltip/WithTooltip.d.ts +2 -0
- package/dist/components/index.d.ts +1 -1
- package/dist/constants/phone-info.d.ts +1 -1
- package/dist/helpers/misc.d.ts +5 -3
- package/dist/helpers/phone.d.ts +1 -1
- package/dist/hooks/index.d.ts +8 -4
- package/dist/hooks/use-dropdown.d.ts +3 -3
- package/dist/hooks/use-intersection-ref.d.ts +9 -0
- package/dist/hooks/use-latest-ref.d.ts +2 -0
- package/dist/hooks/use-merge.d.ts +1 -0
- package/dist/hooks/use-mixed-styles.d.ts +3 -1
- package/dist/hooks/use-on-click-outside.d.ts +2 -2
- package/dist/hooks/use-resize-ref.d.ts +7 -0
- package/dist/hooks/use-tweak-styles.d.ts +8 -7
- package/dist/theme/Provider.d.ts +3 -10
- package/dist/theme/common.d.ts +34 -4
- package/dist/theme/helpers.d.ts +2 -9
- package/dist/theme/types.d.ts +13 -10
- package/dist/true-react-common-ui-kit.js +7874 -27363
- package/dist/true-react-common-ui-kit.js.map +1 -1
- package/dist/true-react-common-ui-kit.umd.cjs +1 -31620
- package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
- package/dist/types.d.ts +9 -2
- package/package.json +36 -39
- package/src/components/AccountInfo/AccountInfo.stories.tsx +19 -27
- package/src/components/AccountInfo/AccountInfo.tsx +2 -3
- package/src/components/AddButton/AddButton.stories.tsx +14 -17
- package/src/components/AddButton/AddButton.tsx +3 -5
- package/src/components/Button/Button.stories.tsx +8 -26
- package/src/components/Button/Button.tsx +76 -77
- package/src/components/Checkbox/Checkbox.stories.tsx +27 -16
- package/src/components/Checkbox/Checkbox.styles.ts +3 -1
- package/src/components/Checkbox/Checkbox.tsx +7 -5
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/Checkbox/types.ts +4 -0
- package/src/components/CloseButton/CloseButton.stories.tsx +5 -6
- package/src/components/CloseButton/CloseButton.tsx +2 -4
- package/src/components/Colors/Colors.stories.tsx +64 -3
- package/src/components/ControlWrapper/ControlWrapper.stories.tsx +46 -35
- package/src/components/ControlWrapper/ControlWrapper.styles.ts +15 -6
- package/src/components/ControlWrapper/ControlWrapper.tsx +73 -44
- package/src/components/ControlWrapper/constants.ts +11 -0
- package/src/components/ControlWrapper/helpers.ts +11 -0
- package/src/components/ControlWrapper/index.ts +3 -0
- package/src/components/ControlWrapper/types.ts +19 -0
- package/src/components/CssBaseline/CssBaseline.styles.ts +2 -0
- package/src/components/CssBaseline/CssBaseline.tsx +2 -3
- package/src/components/DateInput/DateInput.stories.tsx +13 -31
- package/src/components/DateInput/DateInput.tsx +61 -64
- package/src/components/DatePicker/DatePicker.stories.tsx +18 -42
- package/src/components/DatePicker/DatePicker.styles.ts +3 -1
- package/src/components/DatePicker/DatePicker.tsx +284 -256
- package/src/components/DatePicker/components/DatePickerBase/DatePickerBase.tsx +14 -0
- package/src/components/DatePicker/components/DatePickerBase/index.ts +1 -0
- package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +4 -4
- package/src/components/DatePicker/components/index.ts +1 -0
- package/src/components/DatePicker/constants.ts +9 -3
- package/src/components/DatePicker/helpers.ts +1 -1
- package/src/components/DatePicker/index.ts +1 -0
- package/src/components/DatePicker/types.ts +6 -4
- package/src/components/Description/Description.stories.tsx +11 -16
- package/src/components/Description/Description.tsx +2 -3
- package/src/components/FileInput/FileInput.stories.tsx +59 -63
- package/src/components/FileInput/FileInput.tsx +87 -95
- package/src/components/FileItem/FileItem.stories.tsx +48 -48
- package/src/components/FileItem/FileItem.tsx +2 -4
- package/src/components/FileItem/constants.ts +3 -14
- package/src/components/FileItem/helpers.ts +3 -2
- package/src/components/FileItem/types.ts +1 -3
- package/src/components/FiltersPane/FiltersPane.stories.tsx +34 -28
- package/src/components/FiltersPane/FiltersPane.tsx +28 -19
- package/src/components/FiltersPane/components/Filter/Filter.tsx +36 -30
- package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
- package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +1 -2
- package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +7 -20
- package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +1 -2
- package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +22 -23
- package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +8 -5
- package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +3 -3
- package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +9 -7
- package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +4 -3
- package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +17 -12
- package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +5 -0
- package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +19 -19
- package/src/components/FiltersPane/helpers.ts +3 -3
- package/src/components/FiltersPane/index.ts +1 -0
- package/src/components/FiltersPane/types.ts +12 -4
- package/src/components/Flag/Flag.stories.tsx +15 -20
- package/src/components/Flag/Flag.tsx +2 -2
- package/src/components/FlexibleTable/FlexibleTable.stories.tsx +47 -50
- package/src/components/FlexibleTable/FlexibleTable.styles.ts +5 -2
- package/src/components/FlexibleTable/FlexibleTable.tsx +43 -64
- package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +1 -0
- package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +13 -7
- package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +15 -15
- package/src/components/FlexibleTable/types.ts +19 -11
- package/src/components/FloatDocActions/FloatDocActions.stories.tsx +111 -0
- package/src/components/FloatDocActions/FloatDocActions.styles.ts +12 -0
- package/src/components/FloatDocActions/FloatDocActions.tsx +34 -0
- package/src/components/FloatDocActions/components/DocActions/DocActions.styles.ts +29 -0
- package/src/components/FloatDocActions/components/DocActions/DocActions.tsx +43 -0
- package/src/components/FloatDocActions/components/DocActions/constants.ts +1 -0
- package/src/components/FloatDocActions/components/DocActions/index.ts +4 -0
- package/src/components/FloatDocActions/components/DocActions/types.ts +3 -0
- package/src/components/FloatDocActions/components/index.ts +1 -0
- package/src/components/FloatDocActions/constants.ts +1 -0
- package/src/components/FloatDocActions/index.ts +3 -0
- package/src/components/Icon/Icon.stories.tsx +80 -67
- package/src/components/Icon/Icon.styles.ts +1 -1
- package/src/components/Icon/Icon.tsx +17 -12
- package/src/components/Icon/icons/calendar.svg +1 -0
- package/src/components/Icon/icons/check.svg +1 -0
- package/src/components/Icon/icons/chevron-down-small.svg +1 -0
- package/src/components/Icon/icons/chevron-down.svg +1 -0
- package/src/components/Icon/icons/chevron-left.svg +1 -0
- package/src/components/Icon/icons/chevron-right.svg +1 -0
- package/src/components/Icon/icons/close-large.svg +1 -0
- package/src/components/Icon/icons/close-window.svg +1 -0
- package/src/components/Icon/icons/close.svg +1 -0
- package/src/components/Icon/icons/filter.svg +1 -0
- package/src/components/Icon/icons/index.ts +62 -0
- package/src/components/Icon/icons/information.svg +1 -0
- package/src/components/Icon/icons/menu.svg +1 -0
- package/src/components/Icon/icons/minus.svg +1 -0
- package/src/components/Icon/icons/plus.svg +1 -0
- package/src/components/Icon/icons/search.svg +1 -0
- package/src/components/Icon/icons/status-error.svg +1 -0
- package/src/components/Icon/icons/status-info.svg +1 -0
- package/src/components/Icon/icons/status-not-ok.svg +1 -0
- package/src/components/Icon/icons/status-ok.svg +1 -0
- package/src/components/Icon/icons/status-warning.svg +1 -0
- package/src/components/Icon/icons/trash-can.svg +1 -0
- package/src/components/Icon/index.ts +1 -1
- package/src/components/Icon/types.ts +7 -13
- package/src/components/IconButton/IconButton.stories.tsx +7 -12
- package/src/components/IconButton/IconButton.styles.ts +15 -13
- package/src/components/IconButton/IconButton.tsx +44 -48
- package/src/components/IconButton/constants.ts +1 -1
- package/src/components/IncrementInput/IncrementInput.stories.tsx +25 -23
- package/src/components/IncrementInput/IncrementInput.styles.ts +31 -39
- package/src/components/IncrementInput/IncrementInput.tsx +28 -25
- package/src/components/Input/Input.stories.tsx +38 -68
- package/src/components/Input/Input.styles.ts +5 -2
- package/src/components/Input/Input.tsx +29 -26
- package/src/components/Input/InputBase.tsx +172 -172
- package/src/components/List/List.stories.tsx +34 -17
- package/src/components/List/List.styles.ts +4 -2
- package/src/components/List/List.tsx +15 -7
- package/src/components/List/components/ListItem/ListItem.styles.ts +2 -1
- package/src/components/List/components/ListItem/ListItem.tsx +7 -5
- package/src/components/List/index.ts +2 -1
- package/src/components/List/types.ts +11 -0
- package/src/components/Modal/Modal.stories.tsx +50 -59
- package/src/components/Modal/Modal.tsx +3 -5
- package/src/components/MoreMenu/MoreMenu.stories.tsx +24 -15
- package/src/components/MoreMenu/MoreMenu.tsx +2 -4
- package/src/components/MultiSelect/MultiSelect.stories.tsx +23 -20
- package/src/components/MultiSelect/MultiSelect.tsx +2 -4
- package/src/components/MultiSelectList/MultiSelectList.tsx +15 -11
- package/src/components/MultiSelectList/helpers.ts +2 -2
- package/src/components/NewMoreMenu/NewMoreMenu.stories.tsx +51 -39
- package/src/components/NewMoreMenu/NewMoreMenu.tsx +29 -22
- package/src/components/Notification/Notification.stories.tsx +35 -34
- package/src/components/Notification/Notification.tsx +2 -3
- package/src/components/NumberInput/NumberInput.stories.tsx +32 -28
- package/src/components/NumberInput/NumberInput.tsx +91 -93
- package/src/components/PhoneInput/PhoneInput.stories.tsx +29 -55
- package/src/components/PhoneInput/PhoneInput.tsx +3 -4
- package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +5 -11
- package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +1 -4
- package/src/components/RadioButton/RadioButton.stories.tsx +31 -21
- package/src/components/RadioButton/RadioButton.styles.ts +2 -1
- package/src/components/RadioButton/RadioButton.tsx +12 -5
- package/src/components/RadioButton/index.ts +1 -0
- package/src/components/RadioButton/types.ts +4 -0
- package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +15 -9
- package/src/components/SearchInput/SearchInput.stories.tsx +19 -14
- package/src/components/SearchInput/SearchInput.styles.ts +6 -12
- package/src/components/SearchInput/SearchInput.tsx +21 -24
- package/src/components/Select/CustomSelect.stories.tsx +29 -32
- package/src/components/Select/MultiSelect.stories.tsx +45 -45
- package/src/components/Select/Select.stories.tsx +45 -44
- package/src/components/Select/Select.styles.ts +5 -40
- package/src/components/Select/Select.tsx +62 -52
- package/src/components/Select/components/SelectList/SelectList.styles.ts +2 -1
- package/src/components/Select/components/SelectList/SelectList.tsx +13 -7
- package/src/components/Select/components/SelectListItem/SelectListItem.tsx +5 -2
- package/src/components/Select/index.ts +1 -1
- package/src/components/Select/types.ts +3 -0
- package/src/components/Selector/Selector.stories.tsx +25 -27
- package/src/components/Selector/Selector.tsx +5 -8
- package/src/components/Skeleton/Skeleton.stories.tsx +13 -12
- package/src/components/SmartInput/SmartInput.stories.tsx +23 -23
- package/src/components/SmartInput/SmartInput.tsx +85 -87
- package/src/components/Status/Status.stories.tsx +79 -28
- package/src/components/Status/Status.styles.ts +2 -37
- package/src/components/Status/Status.tsx +5 -4
- package/src/components/Status/constants.ts +0 -10
- package/src/components/Status/index.ts +1 -1
- package/src/components/Status/types.ts +7 -3
- package/src/components/Switch/Switch.stories.tsx +19 -26
- package/src/components/Switch/Switch.styles.ts +21 -13
- package/src/components/Switch/Switch.tsx +11 -6
- package/src/components/Switch/types.ts +5 -0
- package/src/components/TextArea/TextArea.stories.tsx +37 -26
- package/src/components/TextArea/TextArea.styles.ts +15 -8
- package/src/components/TextArea/TextArea.tsx +114 -83
- package/src/components/TextArea/index.ts +1 -1
- package/src/components/TextArea/types.ts +5 -5
- package/src/components/TextButton/TextButton.stories.tsx +8 -19
- package/src/components/TextButton/TextButton.styles.ts +1 -0
- package/src/components/TextButton/TextButton.tsx +68 -69
- package/src/components/TextWithInfo/TextWithInfo.stories.tsx +13 -21
- package/src/components/TextWithInfo/TextWithInfo.tsx +2 -4
- package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +26 -25
- package/src/components/TextWithTooltip/TextWithTooltip.tsx +7 -6
- package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +12 -23
- package/src/components/ThemedPreloader/ThemedPreloader.tsx +2 -4
- package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +4 -4
- package/src/components/Toaster/Toaster.stories.tsx +16 -14
- package/src/components/Toaster/Toaster.tsx +2 -4
- package/src/components/Tooltip/Tooltip.stories.tsx +15 -4
- package/src/components/Tooltip/Tooltip.styles.ts +2 -1
- package/src/components/Tooltip/Tooltip.tsx +12 -5
- package/src/components/Tooltip/types.ts +5 -0
- package/src/components/WithMessages/WithMessages.stories.tsx +16 -20
- package/src/components/WithMessages/WithMessages.tsx +41 -40
- package/src/components/WithPopup/WithPopup.stories.tsx +27 -26
- package/src/components/WithPopup/WithPopup.tsx +36 -15
- package/src/components/WithTooltip/WithTooltip.stories.tsx +28 -28
- package/src/components/WithTooltip/WithTooltip.tsx +4 -0
- package/src/components/index.ts +1 -1
- package/src/helpers/misc.ts +15 -7
- package/src/helpers/popper-helpers.ts +0 -1
- package/src/hooks/index.ts +8 -4
- package/src/hooks/use-intersection-ref.ts +48 -0
- package/src/hooks/use-latest-ref.ts +11 -0
- package/src/hooks/use-merge.ts +8 -0
- package/src/hooks/use-mixed-styles.ts +9 -11
- package/src/hooks/use-on-click-outside.ts +22 -14
- package/src/hooks/use-resize-ref.ts +35 -0
- package/src/hooks/use-tweak-styles.ts +18 -33
- package/src/theme/Provider.tsx +5 -17
- package/src/theme/common.ts +33 -36
- package/src/theme/helpers.ts +60 -50
- package/src/theme/types.ts +19 -15
- package/src/types.ts +17 -6
- package/dist/components/AccountInfo/AccountInfo.stories.d.ts +0 -6
- package/dist/components/AddButton/AddButton.stories.d.ts +0 -6
- package/dist/components/Button/Button.stories.d.ts +0 -6
- package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -8
- package/dist/components/CloseButton/CloseButton.stories.d.ts +0 -5
- package/dist/components/Colors/Colors.d.ts +0 -2
- package/dist/components/Colors/Colors.stories.d.ts +0 -5
- package/dist/components/Colors/Colors.styles.d.ts +0 -1
- package/dist/components/Colors/index.d.ts +0 -1
- package/dist/components/ControlWrapper/ControlWrapper.stories.d.ts +0 -6
- package/dist/components/DateInput/DateInput.stories.d.ts +0 -7
- package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -7
- package/dist/components/Description/Description.stories.d.ts +0 -16
- package/dist/components/FileInput/FileInput.stories.d.ts +0 -7
- package/dist/components/FileItem/FileItem.stories.d.ts +0 -8
- package/dist/components/FiltersPane/FiltersPane.stories.d.ts +0 -31
- package/dist/components/Flag/Flag.stories.d.ts +0 -12
- package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +0 -19
- package/dist/components/Icon/Icon.stories.d.ts +0 -6
- package/dist/components/Icon/complexIcons/icons.d.ts +0 -10
- package/dist/components/Icon/complexIcons/index.d.ts +0 -1
- package/dist/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.d.ts +0 -6
- package/dist/components/Icon/components/ComplexIconBoilerplate/index.d.ts +0 -1
- package/dist/components/Icon/components/IconBolerplate/IconBoilerplate.d.ts +0 -6
- package/dist/components/Icon/components/IconBolerplate/index.d.ts +0 -1
- package/dist/components/Icon/components/index.d.ts +0 -2
- package/dist/components/Icon/helpers.d.ts +0 -6
- package/dist/components/Icon/icons-list.d.ts +0 -1
- package/dist/components/IconButton/IconButton.stories.d.ts +0 -6
- package/dist/components/IncrementInput/IncrementInput.stories.d.ts +0 -6
- package/dist/components/Input/Input.stories.d.ts +0 -25
- package/dist/components/List/List.stories.d.ts +0 -5
- package/dist/components/Modal/Modal.stories.d.ts +0 -29
- package/dist/components/MoreMenu/MoreMenu.stories.d.ts +0 -6
- package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -13
- package/dist/components/NewMoreMenu/NewMoreMenu.stories.d.ts +0 -12
- package/dist/components/Notification/Notification.stories.d.ts +0 -8
- package/dist/components/NumberInput/NumberInput.stories.d.ts +0 -7
- package/dist/components/PhoneInput/PhoneInput.stories.d.ts +0 -28
- package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.d.ts +0 -5
- package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -7
- package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -7
- package/dist/components/Select/CustomSelect.stories.d.ts +0 -11
- package/dist/components/Select/MultiSelect.stories.d.ts +0 -15
- package/dist/components/Select/Select.stories.d.ts +0 -15
- package/dist/components/Selector/Selector.stories.d.ts +0 -7
- package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -6
- package/dist/components/SmartInput/SmartInput.stories.d.ts +0 -18
- package/dist/components/Status/Status.stories.d.ts +0 -6
- package/dist/components/Switch/Switch.stories.d.ts +0 -16
- package/dist/components/TextArea/TextArea.stories.d.ts +0 -17
- package/dist/components/TextButton/TextButton.stories.d.ts +0 -6
- package/dist/components/TextWithInfo/TextWithInfo.stories.d.ts +0 -12
- package/dist/components/TextWithTooltip/TextWithTooltip.stories.d.ts +0 -24
- package/dist/components/ThemedPreloader/ThemedPreloader.stories.d.ts +0 -17
- package/dist/components/Toaster/Toaster.stories.d.ts +0 -5
- package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -5
- package/dist/components/WithMessages/WithMessages.stories.d.ts +0 -7
- package/dist/components/WithPopup/WithPopup.stories.d.ts +0 -16
- package/dist/components/WithTooltip/WithTooltip.stories.d.ts +0 -6
- package/dist/style.css +0 -820
- package/src/components/Colors/Colors.styles.ts +0 -36
- package/src/components/Colors/Colors.tsx +0 -26
- package/src/components/Colors/index.ts +0 -1
- package/src/components/Flag/augment.d.ts +0 -1
- package/src/components/Flag/customFlags/augment.d.ts +0 -1
- package/src/components/Icon/complexIcons/augment.d.ts +0 -1
- package/src/components/Icon/complexIcons/icons.ts +0 -19
- package/src/components/Icon/complexIcons/index.ts +0 -1
- package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +0 -16
- package/src/components/Icon/components/ComplexIconBoilerplate/index.ts +0 -1
- package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +0 -43
- package/src/components/Icon/components/IconBolerplate/index.ts +0 -1
- package/src/components/Icon/components/index.ts +0 -2
- package/src/components/Icon/helpers.tsx +0 -9
- package/src/components/Icon/icons-list.ts +0 -855
- package/src/vite-env.d.ts +0 -1
- /package/src/components/Icon/{complexIcons/avatarGreen.svg → icons/avatar.svg} +0 -0
- /package/src/components/Icon/{complexIcons/fileExcel.svg → icons/file-excel.svg} +0 -0
- /package/src/components/Icon/{complexIcons/fileImage.svg → icons/file-image.svg} +0 -0
- /package/src/components/Icon/{complexIcons/fileOther.svg → icons/file-other.svg} +0 -0
- /package/src/components/Icon/{complexIcons/filePdf.svg → icons/file-pdf.svg} +0 -0
- /package/src/components/Icon/{complexIcons/fileWord.svg → icons/file-word.svg} +0 -0
- /package/src/components/Icon/{complexIcons/fileXml.svg → icons/file-xml.svg} +0 -0
- /package/src/components/Icon/{complexIcons/fileZip.svg → icons/file-zip.svg} +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Meta } from '@storybook/react';
|
|
2
2
|
import { CloseButton } from './CloseButton';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const meta: Meta<typeof CloseButton> = {
|
|
5
5
|
title: 'Buttons/CloseButton',
|
|
6
6
|
component: CloseButton,
|
|
7
|
-
|
|
8
|
-
argTypes: {},
|
|
9
|
-
} as ComponentMeta<typeof CloseButton>;
|
|
7
|
+
};
|
|
10
8
|
|
|
11
|
-
export
|
|
9
|
+
export default meta;
|
|
10
|
+
export const Default = {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { addDataAttributes } from '../../helpers';
|
|
2
|
+
import { addDataAttributes } from '@true-engineering/true-react-platform-helpers';
|
|
4
3
|
import { ICommonProps } from '../../types';
|
|
5
4
|
import { Icon } from '../Icon';
|
|
6
5
|
import { ICloseButtonStyles, useStyles } from './CloseButton.styles';
|
|
@@ -26,8 +25,7 @@ export const CloseButton: FC<ICloseButtonProps> = ({
|
|
|
26
25
|
type="button"
|
|
27
26
|
className={classes.root}
|
|
28
27
|
onClick={onClose}
|
|
29
|
-
{...
|
|
30
|
-
{...addDataAttributes(data)}
|
|
28
|
+
{...addDataAttributes(data, testId)}
|
|
31
29
|
>
|
|
32
30
|
<Icon type={icon} />
|
|
33
31
|
</button>
|
|
@@ -1,7 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { createUseStyles } from 'react-jss';
|
|
3
|
+
import { type Meta } from '@storybook/react';
|
|
4
|
+
import { useTheme } from '../../theme';
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
const useStyles = createUseStyles({
|
|
7
|
+
root: {
|
|
8
|
+
display: 'flex',
|
|
9
|
+
flexWrap: 'wrap',
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
colorCard: {
|
|
13
|
+
width: 120,
|
|
14
|
+
border: 'solid 1px #dde3ed',
|
|
15
|
+
borderRadius: 8,
|
|
16
|
+
color: '#222a37',
|
|
17
|
+
fontSize: 14,
|
|
18
|
+
margin: 6,
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
color: {
|
|
22
|
+
height: 120,
|
|
23
|
+
borderTopLeftRadius: 8,
|
|
24
|
+
borderTopRightRadius: 8,
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
colorName: {
|
|
28
|
+
marginBottom: 6,
|
|
29
|
+
padding: 6,
|
|
30
|
+
overflow: 'hidden',
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
hex: {
|
|
34
|
+
marginTop: 6,
|
|
35
|
+
textTransform: 'uppercase',
|
|
36
|
+
fontWeight: 'bold',
|
|
37
|
+
padding: [0, 6, 6],
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
const Story: FC = () => {
|
|
42
|
+
const classes = useStyles();
|
|
43
|
+
const theme = useTheme();
|
|
44
|
+
const { colors = {} } = theme;
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<div className={classes.root}>
|
|
48
|
+
{Object.entries(colors as Record<string, string>).map(([colorName, color]) => {
|
|
49
|
+
const name = colorName.split('_').join(' ').toLowerCase();
|
|
50
|
+
return (
|
|
51
|
+
<div key={colorName} className={classes.colorCard}>
|
|
52
|
+
<div className={classes.color} style={{ backgroundColor: color }} />
|
|
53
|
+
<div className={classes.colorName}>{`${name[0].toUpperCase()}${name.slice(1)}`}</div>
|
|
54
|
+
<div className={classes.hex}>{color}</div>
|
|
55
|
+
</div>
|
|
56
|
+
);
|
|
57
|
+
})}
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const meta: Meta = {
|
|
4
63
|
title: 'Data Display/Colors',
|
|
64
|
+
component: Story,
|
|
5
65
|
};
|
|
6
66
|
|
|
7
|
-
export
|
|
67
|
+
export default meta;
|
|
68
|
+
export const Default = {};
|
|
@@ -1,45 +1,56 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
1
2
|
import { doNothing } from '@true-engineering/true-react-platform-helpers';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { type Meta } from '@storybook/react';
|
|
4
|
+
import { excludeStorybookParams } from '../../helpers';
|
|
5
|
+
import { IExtendableProps } from '../../types';
|
|
6
|
+
import { Icon, iconsMap } from '../Icon';
|
|
7
|
+
import { ControlWrapper, IControlWrapperProps } from './ControlWrapper';
|
|
8
|
+
import { GROUP_PLACEMENTS } from './constants';
|
|
5
9
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
const SIZES = ['micro'] as const;
|
|
11
|
+
|
|
12
|
+
declare module './types' {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
14
|
+
export interface IControlWrapperSizes extends IExtendableProps<typeof SIZES> {}
|
|
15
|
+
}
|
|
10
16
|
|
|
11
|
-
const
|
|
12
|
-
<ControlWrapper {...args} onClear={doNothing}
|
|
17
|
+
const Story: FC<IControlWrapperProps> = (args) => (
|
|
18
|
+
<ControlWrapper {...args} onClear={doNothing}>
|
|
13
19
|
<div style={{ minWidth: 200, height: 48 }} />
|
|
14
20
|
</ControlWrapper>
|
|
15
21
|
);
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
'
|
|
35
|
-
'bottom',
|
|
36
|
-
'top-left',
|
|
37
|
-
'top-right',
|
|
38
|
-
'bottom-left',
|
|
39
|
-
'bottom-right',
|
|
40
|
-
'left',
|
|
41
|
-
'right',
|
|
42
|
-
'middle',
|
|
23
|
+
const meta: Meta<typeof Story> = {
|
|
24
|
+
title: 'Controls/ControlWrapper',
|
|
25
|
+
component: Story,
|
|
26
|
+
args: {
|
|
27
|
+
label: 'Label',
|
|
28
|
+
isInvalid: false,
|
|
29
|
+
isFocused: false,
|
|
30
|
+
isRequired: false,
|
|
31
|
+
isLoading: false,
|
|
32
|
+
isDisabled: false,
|
|
33
|
+
hasValue: false,
|
|
34
|
+
isActive: false,
|
|
35
|
+
isFullWidth: false,
|
|
36
|
+
startIcon: [{ iconComponent: 'search' }, { iconComponent: <Icon type="plus" /> }],
|
|
37
|
+
endIcon: [
|
|
38
|
+
{ iconComponent: <div>Бу</div>, onClick: () => console.log('close'), shouldResetSize: true },
|
|
39
|
+
{ iconComponent: <Icon type="plus" /> },
|
|
40
|
+
{ iconComponent: 'search', onClick: () => console.log('search') },
|
|
43
41
|
],
|
|
44
42
|
},
|
|
43
|
+
argTypes: {
|
|
44
|
+
size: { options: [undefined, ...SIZES], control: 'inline-radio' },
|
|
45
|
+
endIcon: { options: [undefined, ...Object.keys(iconsMap)], control: 'select' },
|
|
46
|
+
groupPlacement: { options: [undefined, ...GROUP_PLACEMENTS], control: 'select' },
|
|
47
|
+
},
|
|
48
|
+
parameters: {
|
|
49
|
+
controls: {
|
|
50
|
+
exclude: excludeStorybookParams(['children']),
|
|
51
|
+
},
|
|
52
|
+
},
|
|
45
53
|
};
|
|
54
|
+
|
|
55
|
+
export default meta;
|
|
56
|
+
export const Default = {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { animations, createThemedStyles, dimensions, ITweakStyles } from '../../theme';
|
|
2
2
|
import { IThemedPreloaderStyles } from '../ThemedPreloader';
|
|
3
|
+
import { IControlWrapperSizes } from './types';
|
|
3
4
|
|
|
4
5
|
const { CONTROL, Z_INDEX } = dimensions;
|
|
5
6
|
|
|
@@ -20,10 +21,6 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
20
21
|
zIndex: 0,
|
|
21
22
|
},
|
|
22
23
|
|
|
23
|
-
invalid: {
|
|
24
|
-
zIndex: Z_INDEX.CONTROL_INVALID,
|
|
25
|
-
},
|
|
26
|
-
|
|
27
24
|
disabled: {},
|
|
28
25
|
|
|
29
26
|
focused: {
|
|
@@ -31,6 +28,10 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
31
28
|
zIndex: Z_INDEX.CONTROL_FOCUS,
|
|
32
29
|
},
|
|
33
30
|
|
|
31
|
+
invalid: {
|
|
32
|
+
zIndex: Z_INDEX.CONTROL_INVALID,
|
|
33
|
+
},
|
|
34
|
+
|
|
34
35
|
withValue: {},
|
|
35
36
|
|
|
36
37
|
loading: {},
|
|
@@ -43,7 +44,7 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
43
44
|
position: 'absolute',
|
|
44
45
|
pointerEvents: 'none',
|
|
45
46
|
left: 'var(--control-padding)',
|
|
46
|
-
top: '
|
|
47
|
+
top: 'calc(var(--control-height) / 2)',
|
|
47
48
|
transformOrigin: 'top left',
|
|
48
49
|
transform: 'translateY(-50%)',
|
|
49
50
|
transition: animations.defaultTransition,
|
|
@@ -83,6 +84,10 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
83
84
|
flexShrink: 0,
|
|
84
85
|
},
|
|
85
86
|
|
|
87
|
+
startControls: {
|
|
88
|
+
paddingLeft: 'var(--control-padding)',
|
|
89
|
+
},
|
|
90
|
+
|
|
86
91
|
icon: {
|
|
87
92
|
display: 'flex',
|
|
88
93
|
alignItems: 'center',
|
|
@@ -110,6 +115,8 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
110
115
|
},
|
|
111
116
|
},
|
|
112
117
|
|
|
118
|
+
startIcon: {},
|
|
119
|
+
|
|
113
120
|
endIcon: {},
|
|
114
121
|
|
|
115
122
|
activeIcon: {
|
|
@@ -129,6 +136,8 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
129
136
|
},
|
|
130
137
|
},
|
|
131
138
|
|
|
139
|
+
withStartControls: {},
|
|
140
|
+
|
|
132
141
|
/* groupPositions */
|
|
133
142
|
'placement-top': {
|
|
134
143
|
borderBottomLeftRadius: 0,
|
|
@@ -181,5 +190,5 @@ export const useStyles = createThemedStyles('ControlWrapper', {
|
|
|
181
190
|
|
|
182
191
|
export type IControlWrapperStyles = ITweakStyles<
|
|
183
192
|
typeof useStyles,
|
|
184
|
-
{ tweakPreloader: IThemedPreloaderStyles }
|
|
193
|
+
{ tweakPreloader: IThemedPreloaderStyles } & IControlWrapperSizes
|
|
185
194
|
>;
|
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
import { FC, ReactNode } from 'react';
|
|
1
|
+
import { CSSProperties, FC, ReactNode, useCallback, useState } from 'react';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import {
|
|
4
4
|
addClickHandler,
|
|
5
5
|
addDataAttributes,
|
|
6
6
|
addDataTestId,
|
|
7
|
+
getArray,
|
|
8
|
+
IMaybeArray,
|
|
9
|
+
isArrayNotEmpty,
|
|
7
10
|
isNotEmpty,
|
|
8
11
|
isReactNodeNotEmpty,
|
|
9
|
-
isString,
|
|
10
12
|
} from '@true-engineering/true-react-platform-helpers';
|
|
11
13
|
import { useTweakStyles } from '../../hooks';
|
|
12
14
|
import { IClickHandlerEvent, ICommonProps } from '../../types';
|
|
13
|
-
import {
|
|
15
|
+
import { IIcon, renderIcon } from '../Icon';
|
|
14
16
|
import { ThemedPreloader } from '../ThemedPreloader';
|
|
17
|
+
import { convertToControlWrapperIcon } from './helpers';
|
|
18
|
+
import { IControlWrapperIcon, IControlWrapperSize, IGroupPlacement } from './types';
|
|
15
19
|
import { IControlWrapperStyles, useStyles } from './ControlWrapper.styles';
|
|
16
20
|
|
|
17
21
|
export interface IControlWrapperProps extends ICommonProps<IControlWrapperStyles> {
|
|
18
22
|
children: ReactNode;
|
|
19
23
|
label?: ReactNode;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
| 'bottom'
|
|
27
|
-
| 'top-left'
|
|
28
|
-
| 'top-right'
|
|
29
|
-
| 'bottom-left'
|
|
30
|
-
| 'bottom-right';
|
|
24
|
+
/** @deprecated */
|
|
25
|
+
icon?: IMaybeArray<IIcon | IControlWrapperIcon>;
|
|
26
|
+
startIcon?: IMaybeArray<IIcon | IControlWrapperIcon>;
|
|
27
|
+
endIcon?: IMaybeArray<IIcon | IControlWrapperIcon>;
|
|
28
|
+
size?: IControlWrapperSize;
|
|
29
|
+
groupPlacement?: IGroupPlacement;
|
|
31
30
|
/** @default false */
|
|
32
31
|
isInvalid?: boolean;
|
|
33
32
|
/** @default false */
|
|
@@ -42,33 +41,43 @@ export interface IControlWrapperProps extends ICommonProps<IControlWrapperStyles
|
|
|
42
41
|
isLoading?: boolean;
|
|
43
42
|
/** @default false */
|
|
44
43
|
isDisabled?: boolean;
|
|
45
|
-
|
|
44
|
+
/** @default false */
|
|
45
|
+
isActive?: boolean;
|
|
46
46
|
onClear?: (event: IClickHandlerEvent) => void;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export const ControlWrapper: FC<IControlWrapperProps> = ({
|
|
50
50
|
label,
|
|
51
51
|
icon,
|
|
52
|
+
startIcon,
|
|
53
|
+
endIcon = icon,
|
|
52
54
|
groupPlacement,
|
|
53
55
|
isInvalid,
|
|
54
56
|
isFocused,
|
|
55
57
|
isRequired,
|
|
56
58
|
isLoading,
|
|
57
59
|
isFullWidth,
|
|
60
|
+
isActive,
|
|
58
61
|
isDisabled,
|
|
59
62
|
hasValue,
|
|
63
|
+
size,
|
|
60
64
|
testId,
|
|
61
65
|
children,
|
|
62
66
|
tweakStyles,
|
|
63
67
|
data,
|
|
64
|
-
onIconClick,
|
|
65
68
|
onClear,
|
|
66
69
|
}) => {
|
|
67
70
|
const classes = useStyles({ theme: tweakStyles });
|
|
68
71
|
|
|
69
|
-
const
|
|
72
|
+
const [startControlsWidth, setStartControlsWidth] = useState<number>();
|
|
73
|
+
|
|
74
|
+
const startIcons = getArray(startIcon).map(convertToControlWrapperIcon);
|
|
75
|
+
const endIcons = getArray(endIcon).map(convertToControlWrapperIcon);
|
|
76
|
+
|
|
77
|
+
const hasStartIcons = isArrayNotEmpty(startIcons);
|
|
78
|
+
const hasEndIcons = !isLoading && isArrayNotEmpty(endIcons);
|
|
70
79
|
const hasClearButton = !isDisabled && !isLoading && hasValue && isNotEmpty(onClear);
|
|
71
|
-
const
|
|
80
|
+
const hasEndControls = hasEndIcons || hasClearButton || isLoading;
|
|
72
81
|
|
|
73
82
|
const tweakPreloaderStyles = useTweakStyles({
|
|
74
83
|
tweakStyles,
|
|
@@ -76,11 +85,38 @@ export const ControlWrapper: FC<IControlWrapperProps> = ({
|
|
|
76
85
|
currentComponentName: 'ControlWrapper',
|
|
77
86
|
});
|
|
78
87
|
|
|
88
|
+
const startControlsRef = useCallback(
|
|
89
|
+
(node: HTMLDivElement | null) => {
|
|
90
|
+
setStartControlsWidth(node?.clientWidth);
|
|
91
|
+
},
|
|
92
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
93
|
+
[startIcon, size],
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
const renderIconControl = (
|
|
97
|
+
{ key, iconComponent, onClick, shouldResetSize = false }: IControlWrapperIcon,
|
|
98
|
+
iconType: 'start' | 'end' | 'clear',
|
|
99
|
+
index?: number,
|
|
100
|
+
) => (
|
|
101
|
+
<div
|
|
102
|
+
key={key ?? index}
|
|
103
|
+
className={clsx(classes.icon, classes[`${iconType}Icon`], {
|
|
104
|
+
[classes.activeIcon]: !isDisabled && isNotEmpty(onClick),
|
|
105
|
+
[classes.customIcon]: shouldResetSize,
|
|
106
|
+
})}
|
|
107
|
+
{...addClickHandler(onClick, !isDisabled)}
|
|
108
|
+
{...addDataTestId(testId, `${iconType}-icon`)}
|
|
109
|
+
>
|
|
110
|
+
<div className={classes.iconInner}>{renderIcon(iconComponent)}</div>
|
|
111
|
+
</div>
|
|
112
|
+
);
|
|
113
|
+
|
|
79
114
|
return (
|
|
80
115
|
<div
|
|
81
116
|
className={clsx(
|
|
82
117
|
classes.controlWrapper,
|
|
83
|
-
isNotEmpty(groupPlacement) &&
|
|
118
|
+
isNotEmpty(groupPlacement) && classes[`placement-${groupPlacement}`],
|
|
119
|
+
isNotEmpty(size) && classes[size],
|
|
84
120
|
{
|
|
85
121
|
[classes.invalid]: isInvalid,
|
|
86
122
|
[classes.focused]: isFocused,
|
|
@@ -88,8 +124,14 @@ export const ControlWrapper: FC<IControlWrapperProps> = ({
|
|
|
88
124
|
[classes.disabled]: isDisabled,
|
|
89
125
|
[classes.loading]: isLoading,
|
|
90
126
|
[classes.minContent]: !isFullWidth,
|
|
127
|
+
[classes.withStartControls]: hasStartIcons,
|
|
91
128
|
},
|
|
92
129
|
)}
|
|
130
|
+
style={
|
|
131
|
+
hasStartIcons
|
|
132
|
+
? ({ '--start-controls-width': `${startControlsWidth}px` } as CSSProperties)
|
|
133
|
+
: undefined
|
|
134
|
+
}
|
|
93
135
|
{...addDataAttributes(data, testId)}
|
|
94
136
|
>
|
|
95
137
|
{isReactNodeNotEmpty(label) && (
|
|
@@ -97,41 +139,28 @@ export const ControlWrapper: FC<IControlWrapperProps> = ({
|
|
|
97
139
|
className={clsx(classes.label, {
|
|
98
140
|
[classes.requiredLabel]: isRequired,
|
|
99
141
|
[classes.disabledLabel]: isDisabled,
|
|
100
|
-
[classes.activeLabel]: isFocused || hasValue,
|
|
142
|
+
[classes.activeLabel]: isFocused || hasValue || isActive,
|
|
101
143
|
})}
|
|
102
144
|
>
|
|
103
145
|
{label}
|
|
104
146
|
</div>
|
|
105
147
|
)}
|
|
106
148
|
<div className={classes.wrapper}>
|
|
149
|
+
{hasStartIcons && (
|
|
150
|
+
<div className={clsx(classes.controls, classes.startControls)} ref={startControlsRef}>
|
|
151
|
+
{startIcons.map((iconProps, index) => renderIconControl(iconProps, 'start', index))}
|
|
152
|
+
</div>
|
|
153
|
+
)}
|
|
154
|
+
|
|
107
155
|
{children}
|
|
108
156
|
|
|
109
|
-
{
|
|
157
|
+
{hasEndControls && (
|
|
110
158
|
<div className={classes.controls}>
|
|
111
|
-
{hasClearButton &&
|
|
112
|
-
|
|
113
|
-
className={clsx(classes.icon, classes.clearIcon, classes.activeIcon)}
|
|
114
|
-
{...addClickHandler(onClear)}
|
|
115
|
-
{...addDataTestId(testId, 'clear')}
|
|
116
|
-
>
|
|
117
|
-
<div className={classes.iconInner}>
|
|
118
|
-
<Icon type="close" />
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
)}
|
|
159
|
+
{hasClearButton &&
|
|
160
|
+
renderIconControl({ iconComponent: 'close', onClick: onClear }, 'clear')}
|
|
122
161
|
|
|
123
|
-
{
|
|
124
|
-
|
|
125
|
-
className={clsx(classes.icon, classes.endIcon, {
|
|
126
|
-
[classes.activeIcon]: !isDisabled && isNotEmpty(onIconClick),
|
|
127
|
-
[classes.customIcon]: !isString(icon),
|
|
128
|
-
})}
|
|
129
|
-
{...addClickHandler(onIconClick, !isDisabled)}
|
|
130
|
-
{...addDataTestId(testId, 'icon')}
|
|
131
|
-
>
|
|
132
|
-
<div className={classes.iconInner}>{renderIcon(icon)}</div>
|
|
133
|
-
</div>
|
|
134
|
-
)}
|
|
162
|
+
{hasEndIcons &&
|
|
163
|
+
endIcons.map((iconProps, index) => renderIconControl(iconProps, 'end', index))}
|
|
135
164
|
|
|
136
165
|
{isLoading && (
|
|
137
166
|
<div
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isObject } from '@true-engineering/true-react-platform-helpers';
|
|
2
|
+
import { IIcon } from '../Icon';
|
|
3
|
+
import { IControlWrapperIcon } from './types';
|
|
4
|
+
|
|
5
|
+
export const isControlWrapperIcon = (
|
|
6
|
+
iconItem: IIcon | IControlWrapperIcon,
|
|
7
|
+
): iconItem is IControlWrapperIcon => isObject(iconItem) && 'iconComponent' in iconItem;
|
|
8
|
+
|
|
9
|
+
export const convertToControlWrapperIcon = (
|
|
10
|
+
iconItem: IIcon | IControlWrapperIcon,
|
|
11
|
+
): IControlWrapperIcon => (isControlWrapperIcon(iconItem) ? iconItem : { iconComponent: iconItem });
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Key } from 'react';
|
|
2
|
+
import { IClickHandlerEvent } from '../../types';
|
|
3
|
+
import { IIcon } from '../Icon';
|
|
4
|
+
import { GROUP_PLACEMENTS } from './constants';
|
|
5
|
+
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
7
|
+
export interface IControlWrapperSizes {}
|
|
8
|
+
|
|
9
|
+
export type IControlWrapperSize = keyof IControlWrapperSizes;
|
|
10
|
+
|
|
11
|
+
export type IGroupPlacement = (typeof GROUP_PLACEMENTS)[number];
|
|
12
|
+
|
|
13
|
+
// подумать над extend HTMLAttributes<HTMLDivElement>
|
|
14
|
+
export interface IControlWrapperIcon {
|
|
15
|
+
key?: Key;
|
|
16
|
+
iconComponent: IIcon;
|
|
17
|
+
onClick?: (event: IClickHandlerEvent) => void;
|
|
18
|
+
shouldResetSize?: boolean;
|
|
19
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { addDataAttributes } from '../../helpers';
|
|
2
|
+
import { addDataAttributes } from '@true-engineering/true-react-platform-helpers';
|
|
4
3
|
import { ICommonProps } from '../../types';
|
|
5
4
|
import { useStyles, ICssBaselineStyles } from './CssBaseline.styles';
|
|
6
5
|
|
|
@@ -9,5 +8,5 @@ export type ICssBaselineProps = ICommonProps<ICssBaselineStyles>;
|
|
|
9
8
|
export const CssBaseline: FC<ICssBaselineProps> = ({ data, testId, tweakStyles }) => {
|
|
10
9
|
const classes = useStyles({ theme: tweakStyles });
|
|
11
10
|
|
|
12
|
-
return <div className={classes.root} {...
|
|
11
|
+
return <div className={classes.root} {...addDataAttributes(data, testId)} />;
|
|
13
12
|
};
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
1
|
+
import { FC, useEffect, useState } from 'react';
|
|
2
2
|
import { format, isValid } from 'date-fns';
|
|
3
|
-
import {
|
|
4
|
-
import { DateInput } from './DateInput';
|
|
3
|
+
import { type Meta } from '@storybook/react';
|
|
4
|
+
import { DateInput, IDateInputProps } from './DateInput';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
title: 'Inputs/DateInput',
|
|
8
|
-
component: DateInput,
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const Template: ComponentStory<typeof DateInput> = ({ date, startDate, endDate, ...args }) => {
|
|
6
|
+
const Story: FC<IDateInputProps> = ({ date, startDate, endDate, ...args }) => {
|
|
12
7
|
const [value, setValue] = useState(date);
|
|
13
8
|
|
|
14
9
|
const startDateValue = isValid(startDate)
|
|
@@ -35,27 +30,14 @@ const Template: ComponentStory<typeof DateInput> = ({ date, startDate, endDate,
|
|
|
35
30
|
);
|
|
36
31
|
};
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
isRange: false,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
Default.parameters = {
|
|
48
|
-
controls: {
|
|
49
|
-
exclude: [
|
|
50
|
-
'data',
|
|
51
|
-
'testId',
|
|
52
|
-
'tabIndex',
|
|
53
|
-
'onChange',
|
|
54
|
-
'onFocus',
|
|
55
|
-
'onBlur',
|
|
56
|
-
'onPaste',
|
|
57
|
-
'onIconClick',
|
|
58
|
-
'onKeyDown',
|
|
59
|
-
],
|
|
33
|
+
const meta: Meta<typeof Story> = {
|
|
34
|
+
title: 'Inputs/DateInput',
|
|
35
|
+
component: Story,
|
|
36
|
+
args: {
|
|
37
|
+
date: '23.01.2023',
|
|
38
|
+
isRange: false,
|
|
60
39
|
},
|
|
61
40
|
};
|
|
41
|
+
|
|
42
|
+
export default meta;
|
|
43
|
+
export const Default = {};
|