venice-ui 2.4.13 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ActionPanel/ActionPanel.js +33 -0
- package/dist/cjs/components/ActionPanel/ActionPanel.styles.js +76 -0
- package/dist/cjs/components/ActionPanel/index.js +17 -0
- package/dist/cjs/components/Button/Button.js +17 -7
- package/dist/cjs/components/Button/Button.styles.js +46 -66
- package/dist/cjs/components/Button/index.js +15 -3
- package/dist/cjs/components/ButtonsFooter/ButtonsFooter.js +32 -21
- package/dist/cjs/components/ButtonsFooter/ButtonsFooter.styles.js +21 -0
- package/dist/cjs/components/ButtonsFooter/index.js +15 -3
- package/dist/cjs/components/Card/Card.js +15 -9
- package/dist/cjs/components/Card/Card.styles.js +9 -10
- package/dist/cjs/components/Card/index.js +15 -3
- package/dist/cjs/components/Checkbox/Checkbox.js +30 -13
- package/dist/cjs/components/Checkbox/Checkbox.styles.js +35 -20
- package/dist/cjs/components/ComponentRoot/ComponentRoot.js +27 -0
- package/dist/cjs/components/ComponentRoot/ComponentRoot.styles.js +72 -0
- package/dist/cjs/components/{ElementHeader → ComponentRoot}/index.js +2 -1
- package/dist/cjs/components/DatePicker/Calendar.js +73 -33
- package/dist/cjs/components/DatePicker/CalendarContent.js +58 -39
- package/dist/cjs/components/DatePicker/CalendarHeader.js +23 -20
- package/dist/cjs/components/DatePicker/DatePicker.js +61 -35
- package/dist/cjs/components/DatePicker/DatePicker.styles.js +166 -0
- package/dist/cjs/components/DatePicker/index.js +5 -15
- package/dist/cjs/components/Dropdown/Dropdown.js +76 -52
- package/dist/cjs/components/Dropdown/Dropdown.styles.js +48 -7
- package/dist/cjs/components/Dropdown/index.js +0 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js +79 -50
- package/dist/cjs/components/DropdownMenu/DropdownMenu.styles.js +10 -44
- package/dist/cjs/components/File/File.js +60 -24
- package/dist/cjs/components/File/File.styles.js +44 -3
- package/dist/cjs/components/Filters/Filters.js +253 -92
- package/dist/cjs/components/Filters/Filters.styles.js +83 -15
- package/dist/cjs/components/Form/Form.js +24 -30
- package/dist/cjs/components/Form/{FormElements.js → Form.styles.js} +8 -10
- package/dist/cjs/components/Header/Header.js +49 -0
- package/dist/cjs/components/Header/Header.styles.js +33 -0
- package/dist/cjs/components/{Toogle → Header}/index.js +1 -1
- package/dist/cjs/components/HelperText/HelperText.js +18 -0
- package/dist/cjs/components/HelperText/HelperText.styles.js +20 -0
- package/dist/cjs/components/{FillSelect → HelperText}/index.js +1 -1
- package/dist/cjs/components/Icon/Icon.js +74 -0
- package/dist/cjs/components/Icon/Icon.styles.js +63 -0
- package/dist/cjs/components/{Icons → Icon}/IconsPath.js +3 -0
- package/dist/cjs/{Theme → components/Icon}/index.js +1 -1
- package/dist/cjs/components/Input/Input.js +58 -74
- package/dist/cjs/components/Input/Input.styles.js +38 -89
- package/dist/cjs/components/Input/index.js +0 -1
- package/dist/cjs/components/Label/Label.js +24 -0
- package/dist/cjs/components/Label/Label.styles.js +38 -0
- package/dist/cjs/components/Label/index.js +5 -0
- package/dist/cjs/components/List/List.js +104 -101
- package/dist/cjs/components/List/iLst.styles.js +68 -0
- package/dist/cjs/components/Loader/Loader.js +12 -9
- package/dist/cjs/components/Loader/Loader.styles.js +15 -75
- package/dist/cjs/components/Modal/Modal.js +32 -34
- package/dist/cjs/components/Modal/Modal.styles.js +82 -24
- package/dist/cjs/components/Modal/index.js +15 -3
- package/dist/cjs/components/Numerical/Numerical.js +138 -0
- package/dist/cjs/components/Numerical/index.js +5 -0
- package/dist/cjs/components/OptionsPanel/OptionsPanel.js +79 -0
- package/dist/cjs/components/OptionsPanel/OptionsPanel.styles.js +75 -0
- package/dist/cjs/components/OptionsPanel/index.js +17 -0
- package/dist/cjs/components/Pagination/Pagination.js +39 -29
- package/dist/cjs/components/Pagination/Pagination.styles.js +45 -19
- package/dist/cjs/components/SearchInput/SearchInput.js +83 -0
- package/dist/cjs/components/SearchInput/SearchInput.styles.js +50 -0
- package/dist/cjs/components/SearchInput/index.js +17 -0
- package/dist/cjs/components/Section/Section.js +15 -8
- package/dist/cjs/components/Section/Section.styles.js +13 -12
- package/dist/cjs/components/Section/index.js +1 -0
- package/dist/cjs/components/Selector/Selector.js +38 -25
- package/dist/cjs/components/Selector/Selector.styles.js +28 -56
- package/dist/cjs/components/Sidepanel/Sidepanel.js +47 -23
- package/dist/cjs/components/Sidepanel/Sidepanel.styles.js +85 -14
- package/dist/cjs/components/Sort/Sort.js +19 -16
- package/dist/cjs/components/Sort/Sort.styles.js +5 -19
- package/dist/cjs/components/Table/Cell.js +23 -13
- package/dist/cjs/components/Table/HeaderCell.js +14 -7
- package/dist/cjs/components/Table/Table.js +62 -43
- package/dist/cjs/components/Table/Table.styles.js +143 -43
- package/dist/cjs/components/Table/index.js +2 -0
- package/dist/cjs/components/Tag/Tag.js +24 -0
- package/dist/cjs/components/Tag/Tag.styles.js +23 -0
- package/dist/cjs/components/{Chips → Tag}/index.js +1 -1
- package/dist/cjs/components/Tile/Tile.js +15 -6
- package/dist/cjs/components/Tile/Tile.styles.js +15 -18
- package/dist/cjs/components/Toggle/Toggle.js +29 -0
- package/dist/cjs/components/Toggle/Toggle.styles.js +49 -0
- package/dist/cjs/components/{Tooltip → Toggle}/index.js +1 -1
- package/dist/cjs/components/Typography/Typography.js +115 -0
- package/dist/cjs/components/Typography/index.js +1 -1
- package/dist/cjs/config/componentTheme.js +29 -0
- package/dist/cjs/config/config.js +1453 -0
- package/dist/cjs/config/index.js +20 -0
- package/dist/cjs/config/themes.js +64 -0
- package/dist/cjs/config/wordbook.js +74 -0
- package/dist/cjs/example/Colors.js +57 -8
- package/dist/cjs/example/ExampleComponent.js +5 -6
- package/dist/cjs/example/Icons.js +63 -0
- package/dist/cjs/example/TypographyExample.js +26 -13
- package/dist/cjs/index.js +13 -8
- package/dist/esm/components/ActionPanel/ActionPanel.js +26 -0
- package/dist/esm/components/ActionPanel/ActionPanel.styles.js +70 -0
- package/dist/esm/components/ActionPanel/index.js +1 -0
- package/dist/esm/components/Button/Button.js +17 -7
- package/dist/esm/components/Button/Button.styles.js +45 -65
- package/dist/esm/components/Button/index.js +1 -1
- package/dist/esm/components/ButtonsFooter/ButtonsFooter.js +32 -21
- package/dist/esm/components/ButtonsFooter/ButtonsFooter.styles.js +15 -0
- package/dist/esm/components/ButtonsFooter/index.js +1 -1
- package/dist/esm/components/Card/Card.js +16 -10
- package/dist/esm/components/Card/Card.styles.js +8 -9
- package/dist/esm/components/Card/index.js +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +31 -14
- package/dist/esm/components/Checkbox/Checkbox.styles.js +34 -19
- package/dist/esm/components/ComponentRoot/ComponentRoot.js +20 -0
- package/dist/esm/components/ComponentRoot/ComponentRoot.styles.js +66 -0
- package/dist/esm/components/ComponentRoot/index.js +2 -0
- package/dist/esm/components/DatePicker/Calendar.js +57 -27
- package/dist/esm/components/DatePicker/CalendarContent.js +42 -33
- package/dist/esm/components/DatePicker/CalendarHeader.js +23 -20
- package/dist/esm/components/DatePicker/DatePicker.js +44 -28
- package/dist/esm/components/DatePicker/DatePicker.styles.js +130 -0
- package/dist/esm/components/DatePicker/index.js +2 -1
- package/dist/esm/components/Dropdown/Dropdown.js +61 -47
- package/dist/esm/components/Dropdown/Dropdown.styles.js +48 -7
- package/dist/esm/components/Dropdown/index.js +0 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +64 -45
- package/dist/esm/components/DropdownMenu/DropdownMenu.styles.js +9 -43
- package/dist/esm/components/File/File.js +44 -18
- package/dist/esm/components/File/File.styles.js +44 -3
- package/dist/esm/components/Filters/Filters.js +237 -86
- package/dist/esm/components/Filters/Filters.styles.js +83 -15
- package/dist/esm/components/Form/Form.js +24 -30
- package/dist/esm/components/Form/Form.styles.js +20 -0
- package/dist/esm/components/Header/Header.js +42 -0
- package/dist/esm/components/Header/Header.styles.js +27 -0
- package/dist/esm/components/Header/index.js +1 -0
- package/dist/esm/components/HelperText/HelperText.js +11 -0
- package/dist/esm/components/HelperText/HelperText.styles.js +14 -0
- package/dist/esm/components/HelperText/index.js +1 -0
- package/dist/esm/components/Icon/Icon.js +37 -0
- package/dist/esm/components/Icon/Icon.styles.js +57 -0
- package/dist/esm/components/{Icons → Icon}/IconsPath.js +3 -0
- package/dist/esm/components/Icon/index.js +1 -0
- package/dist/esm/components/Input/Input.js +44 -70
- package/dist/esm/components/Input/Input.styles.js +37 -88
- package/dist/esm/components/Input/index.js +1 -2
- package/dist/esm/components/Label/Label.js +17 -0
- package/dist/esm/components/Label/Label.styles.js +32 -0
- package/dist/esm/components/Label/index.js +1 -0
- package/dist/esm/components/List/List.js +104 -101
- package/dist/esm/components/List/iLst.styles.js +62 -0
- package/dist/esm/components/Loader/Loader.js +13 -10
- package/dist/esm/components/Loader/Loader.styles.js +12 -51
- package/dist/esm/components/Modal/Modal.js +30 -12
- package/dist/esm/components/Modal/Modal.styles.js +48 -20
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/Numerical/Numerical.js +101 -0
- package/dist/esm/components/Numerical/index.js +1 -0
- package/dist/esm/components/OptionsPanel/OptionsPanel.js +42 -0
- package/dist/esm/components/OptionsPanel/OptionsPanel.styles.js +69 -0
- package/dist/esm/components/OptionsPanel/index.js +1 -0
- package/dist/esm/components/Pagination/Pagination.js +39 -29
- package/dist/esm/components/Pagination/Pagination.styles.js +44 -18
- package/dist/esm/components/SearchInput/SearchInput.js +46 -0
- package/dist/esm/components/SearchInput/SearchInput.styles.js +44 -0
- package/dist/esm/components/SearchInput/index.js +1 -0
- package/dist/esm/components/Section/Section.js +16 -9
- package/dist/esm/components/Section/Section.styles.js +12 -11
- package/dist/esm/components/Section/index.js +1 -0
- package/dist/esm/components/Selector/Selector.js +22 -19
- package/dist/esm/components/Selector/Selector.styles.js +27 -55
- package/dist/esm/components/Sidepanel/Sidepanel.js +31 -17
- package/dist/esm/components/Sidepanel/Sidepanel.styles.js +51 -10
- package/dist/esm/components/Sort/Sort.js +20 -17
- package/dist/esm/components/Sort/Sort.styles.js +4 -18
- package/dist/esm/components/Table/Cell.js +24 -14
- package/dist/esm/components/Table/HeaderCell.js +15 -8
- package/dist/esm/components/Table/Table.js +47 -38
- package/dist/esm/components/Table/Table.styles.js +142 -42
- package/dist/esm/components/Table/index.js +2 -0
- package/dist/esm/components/Tag/Tag.js +17 -0
- package/dist/esm/components/Tag/Tag.styles.js +17 -0
- package/dist/esm/components/Tag/index.js +1 -0
- package/dist/esm/components/Tile/Tile.js +16 -7
- package/dist/esm/components/Tile/Tile.styles.js +14 -17
- package/dist/esm/components/Toggle/Toggle.js +22 -0
- package/dist/esm/components/Toggle/Toggle.styles.js +43 -0
- package/dist/esm/components/Toggle/index.js +1 -0
- package/dist/esm/components/Typography/Typography.js +109 -0
- package/dist/esm/components/Typography/index.js +1 -1
- package/dist/esm/config/componentTheme.js +24 -0
- package/dist/esm/config/config.js +1446 -0
- package/dist/esm/config/index.js +4 -0
- package/dist/esm/config/themes.js +61 -0
- package/dist/esm/config/wordbook.js +71 -0
- package/dist/esm/example/Colors.js +57 -8
- package/dist/esm/example/ExampleComponent.js +5 -6
- package/dist/esm/example/Icons.js +56 -0
- package/dist/esm/example/TypographyExample.js +27 -14
- package/dist/esm/index.js +13 -8
- package/dist/types/components/ActionPanel/ActionPanel.d.ts +18 -0
- package/dist/types/components/ActionPanel/ActionPanel.styles.d.ts +37 -0
- package/dist/types/components/ActionPanel/index.d.ts +1 -0
- package/dist/types/components/Aligment/Aligment.styles.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts +11 -9
- package/dist/types/components/Button/Button.styles.d.ts +10 -13
- package/dist/types/components/Button/index.d.ts +1 -1
- package/dist/types/components/ButtonsFooter/ButtonsFooter.d.ts +13 -11
- package/dist/types/components/ButtonsFooter/ButtonsFooter.styles.d.ts +13 -0
- package/dist/types/components/ButtonsFooter/index.d.ts +1 -1
- package/dist/types/components/Card/Card.d.ts +8 -8
- package/dist/types/components/Card/Card.styles.d.ts +7 -4
- package/dist/types/components/Card/index.d.ts +1 -1
- package/dist/types/components/Checkbox/Checkbox.d.ts +17 -10
- package/dist/types/components/Checkbox/Checkbox.styles.d.ts +12 -8
- package/dist/types/components/ComponentRoot/ComponentRoot.d.ts +29 -0
- package/dist/types/components/ComponentRoot/ComponentRoot.styles.d.ts +15 -0
- package/dist/types/components/ComponentRoot/index.d.ts +2 -0
- package/dist/types/components/DatePicker/Calendar.d.ts +11 -15
- package/dist/types/components/DatePicker/CalendarContent.d.ts +7 -7
- package/dist/types/components/DatePicker/CalendarHeader.d.ts +7 -7
- package/dist/types/components/DatePicker/DatePicker.d.ts +25 -15
- package/dist/types/components/DatePicker/DatePicker.styles.d.ts +57 -0
- package/dist/types/components/DatePicker/index.d.ts +2 -1
- package/dist/types/components/Dropdown/Dropdown.d.ts +31 -12
- package/dist/types/components/Dropdown/Dropdown.styles.d.ts +21 -1
- package/dist/types/components/Dropdown/index.d.ts +0 -1
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +7 -11
- package/dist/types/components/DropdownMenu/DropdownMenu.styles.d.ts +5 -15
- package/dist/types/components/File/File.d.ts +20 -3
- package/dist/types/components/File/File.styles.d.ts +18 -1
- package/dist/types/components/Filters/Filters.d.ts +8 -6
- package/dist/types/components/Filters/Filters.styles.d.ts +46 -5
- package/dist/types/components/Form/Form.d.ts +7 -5
- package/dist/types/components/Form/Form.styles.d.ts +14 -0
- package/dist/types/components/{ElementHeader/ElementHeader.d.ts → Header/Header.d.ts} +10 -11
- package/dist/types/components/Header/Header.styles.d.ts +13 -0
- package/dist/types/components/Header/index.d.ts +1 -0
- package/dist/types/components/HelperText/HelperText.d.ts +12 -0
- package/dist/types/components/HelperText/HelperText.styles.d.ts +10 -0
- package/dist/types/components/HelperText/index.d.ts +1 -0
- package/dist/types/components/Icon/Icon.d.ts +20 -0
- package/dist/types/components/Icon/Icon.styles.d.ts +18 -0
- package/dist/types/components/{Icons → Icon}/IconsPath.d.ts +3 -0
- package/dist/types/components/Icon/index.d.ts +1 -0
- package/dist/types/components/Input/Input.d.ts +28 -9
- package/dist/types/components/Input/Input.styles.d.ts +11 -31
- package/dist/types/components/Input/index.d.ts +1 -2
- package/dist/types/components/Label/Label.d.ts +16 -0
- package/dist/types/components/Label/Label.styles.d.ts +18 -0
- package/dist/types/components/Label/index.d.ts +1 -0
- package/dist/types/components/List/List.d.ts +17 -14
- package/dist/types/components/List/iLst.styles.d.ts +29 -0
- package/dist/types/components/Loader/Loader.d.ts +5 -3
- package/dist/types/components/Loader/Loader.styles.d.ts +6 -11
- package/dist/types/components/Modal/Modal.d.ts +11 -6
- package/dist/types/components/Modal/Modal.styles.d.ts +15 -5
- package/dist/types/components/Modal/index.d.ts +1 -1
- package/dist/types/components/Numerical/Numerical.d.ts +39 -0
- package/dist/types/components/Numerical/index.d.ts +1 -0
- package/dist/types/components/OptionsPanel/OptionsPanel.d.ts +22 -0
- package/dist/types/components/OptionsPanel/OptionsPanel.styles.d.ts +37 -0
- package/dist/types/components/OptionsPanel/index.d.ts +1 -0
- package/dist/types/components/Pagination/Pagination.d.ts +6 -2
- package/dist/types/components/Pagination/Pagination.styles.d.ts +20 -2
- package/dist/types/components/SearchInput/SearchInput.d.ts +11 -0
- package/dist/types/components/SearchInput/SearchInput.styles.d.ts +13 -0
- package/dist/types/components/SearchInput/index.d.ts +1 -0
- package/dist/types/components/Section/Section.d.ts +7 -5
- package/dist/types/components/Section/Section.styles.d.ts +13 -8
- package/dist/types/components/Section/index.d.ts +1 -0
- package/dist/types/components/Selector/Selector.d.ts +18 -9
- package/dist/types/components/Selector/Selector.styles.d.ts +10 -13
- package/dist/types/components/Sidepanel/Sidepanel.d.ts +6 -3
- package/dist/types/components/Sidepanel/Sidepanel.styles.d.ts +14 -1
- package/dist/types/components/Sort/Sort.d.ts +3 -1
- package/dist/types/components/Sort/Sort.styles.d.ts +1 -2
- package/dist/types/components/Table/Cell.d.ts +7 -5
- package/dist/types/components/Table/HeaderCell.d.ts +5 -1
- package/dist/types/components/Table/Table.d.ts +21 -17
- package/dist/types/components/Table/Table.styles.d.ts +58 -12
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/components/Tag/Tag.d.ts +13 -0
- package/dist/types/components/Tag/Tag.styles.d.ts +10 -0
- package/dist/types/components/Tag/index.d.ts +1 -0
- package/dist/types/components/Tile/Tile.d.ts +11 -8
- package/dist/types/components/Tile/Tile.styles.d.ts +13 -7
- package/dist/types/components/Toggle/Toggle.d.ts +25 -0
- package/dist/types/components/Toggle/Toggle.styles.d.ts +24 -0
- package/dist/types/components/Toggle/index.d.ts +1 -0
- package/dist/types/components/Typography/Typography.d.ts +26 -0
- package/dist/types/components/Typography/index.d.ts +1 -1
- package/dist/types/config/componentTheme.d.ts +10 -0
- package/dist/types/config/config.d.ts +4268 -0
- package/dist/types/config/index.d.ts +4 -0
- package/dist/types/config/themes.d.ts +64 -0
- package/dist/types/config/wordbook.d.ts +55 -0
- package/dist/types/example/ExampleComponent.d.ts +17 -17
- package/dist/types/example/Icons.d.ts +2 -0
- package/dist/types/index.d.ts +13 -8
- package/dist/types/types/commonTypes.d.ts +68 -0
- package/dist/types/types/types.d.ts +8 -16
- package/package.json +11 -19
- package/dist/cjs/Theme/Theme.js +0 -130
- package/dist/cjs/components/ButtonsFooter/ButtonsFooter.style.js +0 -10
- package/dist/cjs/components/Chips/Chips.js +0 -20
- package/dist/cjs/components/Chips/Chips.styles.js +0 -24
- package/dist/cjs/components/DatePicker/DatePiocker.styles.js +0 -139
- package/dist/cjs/components/Dropdown/DropdownElements.js +0 -37
- package/dist/cjs/components/ElementHeader/ElementHeader.js +0 -42
- package/dist/cjs/components/ElementHeader/ElementHeader.styles.js +0 -23
- package/dist/cjs/components/FillSelect/FillSelect.js +0 -122
- package/dist/cjs/components/FillSelect/FillSelect.styles.js +0 -13
- package/dist/cjs/components/Form/formHelper.js +0 -7
- package/dist/cjs/components/Form/formTypes.js +0 -2
- package/dist/cjs/components/Icons/Icon.js +0 -64
- package/dist/cjs/components/Icons/Icon.styles.js +0 -36
- package/dist/cjs/components/Icons/IconsShows.js +0 -18
- package/dist/cjs/components/Icons/index.js +0 -7
- package/dist/cjs/components/List/list.styles.js +0 -53
- package/dist/cjs/components/Toogle/Toogle.js +0 -22
- package/dist/cjs/components/Toogle/Toogle.styles.js +0 -42
- package/dist/cjs/components/Tooltip/Tooltip.js +0 -15
- package/dist/cjs/components/Tooltip/Tooltip.styles.js +0 -63
- package/dist/cjs/components/Typography/Typography.styles.js +0 -67
- package/dist/cjs/components/common/commonComponents.js +0 -55
- package/dist/cjs/components/common/index.js +0 -18
- package/dist/cjs/components/common/inputStyles.js +0 -280
- package/dist/cjs/docs/Overview.js +0 -91
- package/dist/esm/Theme/Theme.js +0 -127
- package/dist/esm/Theme/index.js +0 -1
- package/dist/esm/components/ButtonsFooter/ButtonsFooter.style.js +0 -4
- package/dist/esm/components/Chips/Chips.js +0 -13
- package/dist/esm/components/Chips/Chips.styles.js +0 -18
- package/dist/esm/components/Chips/index.js +0 -1
- package/dist/esm/components/DatePicker/DatePiocker.styles.js +0 -133
- package/dist/esm/components/Dropdown/DropdownElements.js +0 -31
- package/dist/esm/components/ElementHeader/ElementHeader.js +0 -35
- package/dist/esm/components/ElementHeader/ElementHeader.styles.js +0 -17
- package/dist/esm/components/ElementHeader/index.js +0 -1
- package/dist/esm/components/FillSelect/FillSelect.js +0 -95
- package/dist/esm/components/FillSelect/FillSelect.styles.js +0 -7
- package/dist/esm/components/FillSelect/index.js +0 -1
- package/dist/esm/components/Form/FormElements.js +0 -22
- package/dist/esm/components/Form/formHelper.js +0 -3
- package/dist/esm/components/Form/formTypes.js +0 -1
- package/dist/esm/components/Icons/Icon.js +0 -37
- package/dist/esm/components/Icons/Icon.styles.js +0 -30
- package/dist/esm/components/Icons/IconsShows.js +0 -11
- package/dist/esm/components/Icons/index.js +0 -2
- package/dist/esm/components/List/list.styles.js +0 -47
- package/dist/esm/components/Toogle/Toogle.js +0 -15
- package/dist/esm/components/Toogle/Toogle.styles.js +0 -36
- package/dist/esm/components/Toogle/index.js +0 -1
- package/dist/esm/components/Tooltip/Tooltip.js +0 -8
- package/dist/esm/components/Tooltip/Tooltip.styles.js +0 -37
- package/dist/esm/components/Tooltip/index.js +0 -1
- package/dist/esm/components/Typography/Typography.styles.js +0 -61
- package/dist/esm/components/common/commonComponents.js +0 -49
- package/dist/esm/components/common/index.js +0 -2
- package/dist/esm/components/common/inputStyles.js +0 -261
- package/dist/esm/docs/Overview.js +0 -64
- package/dist/types/Theme/Theme.d.ts +0 -116
- package/dist/types/Theme/index.d.ts +0 -1
- package/dist/types/components/ButtonsFooter/ButtonsFooter.style.d.ts +0 -1
- package/dist/types/components/Chips/Chips.d.ts +0 -8
- package/dist/types/components/Chips/Chips.styles.d.ts +0 -6
- package/dist/types/components/Chips/index.d.ts +0 -1
- package/dist/types/components/DatePicker/DatePiocker.styles.d.ts +0 -32
- package/dist/types/components/Dropdown/DropdownElements.d.ts +0 -10
- package/dist/types/components/ElementHeader/ElementHeader.styles.d.ts +0 -7
- package/dist/types/components/ElementHeader/index.d.ts +0 -1
- package/dist/types/components/FillSelect/FillSelect.d.ts +0 -11
- package/dist/types/components/FillSelect/FillSelect.styles.d.ts +0 -1
- package/dist/types/components/FillSelect/index.d.ts +0 -1
- package/dist/types/components/Form/FormElements.d.ts +0 -8
- package/dist/types/components/Form/formHelper.d.ts +0 -1
- package/dist/types/components/Form/formTypes.d.ts +0 -36
- package/dist/types/components/Icons/Icon.d.ts +0 -17
- package/dist/types/components/Icons/Icon.styles.d.ts +0 -14
- package/dist/types/components/Icons/IconsShows.d.ts +0 -2
- package/dist/types/components/Icons/index.d.ts +0 -2
- package/dist/types/components/List/list.styles.d.ts +0 -19
- package/dist/types/components/Toogle/Toogle.d.ts +0 -15
- package/dist/types/components/Toogle/Toogle.styles.d.ts +0 -16
- package/dist/types/components/Toogle/index.d.ts +0 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +0 -11
- package/dist/types/components/Tooltip/Tooltip.styles.d.ts +0 -13
- package/dist/types/components/Tooltip/index.d.ts +0 -1
- package/dist/types/components/Typography/Typography.styles.d.ts +0 -19
- package/dist/types/components/common/commonComponents.d.ts +0 -19
- package/dist/types/components/common/index.d.ts +0 -2
- package/dist/types/components/common/inputStyles.d.ts +0 -146
- package/dist/types/docs/Overview.d.ts +0 -9
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { resolveThemeWithComponentsConfig } from '../../config';
|
|
2
|
+
import React, { useEffect } from 'react';
|
|
3
|
+
import { PanelEmptyState, PanelFooterWrapper, PanelHeaderWrapper, PanelItem, PanelOptionsWrapper, PanelRoot, PanelSearchWrapper, } from './OptionsPanel.styles';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { SearchInput } from '../SearchInput';
|
|
6
|
+
import { wordbook } from '../../config';
|
|
7
|
+
import { ThemeProvider } from 'styled-components';
|
|
8
|
+
export const OptionsPanel = ({ theme, themeVariant = 'default', options, size = 'md', handleSelect, value, header, footer, placeholder, searchable = false, handleAdd, emptyStateText = wordbook.searchInput.emptyState, maxRows = 6, }) => {
|
|
9
|
+
const { resolvedTheme, componentsConfig } = resolveThemeWithComponentsConfig({
|
|
10
|
+
theme,
|
|
11
|
+
themeVariant,
|
|
12
|
+
});
|
|
13
|
+
const panelConfig = componentsConfig.panel;
|
|
14
|
+
const [showedOpitions, setShowedOptions] = React.useState(options);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
setShowedOptions(options);
|
|
17
|
+
}, [options]);
|
|
18
|
+
const selectOption = (e, selectedValue, disabled) => {
|
|
19
|
+
e.stopPropagation();
|
|
20
|
+
if (disabled)
|
|
21
|
+
return;
|
|
22
|
+
handleSelect?.(selectedValue);
|
|
23
|
+
};
|
|
24
|
+
const handleSearch = (searchValue) => {
|
|
25
|
+
if (!searchValue.trim()) {
|
|
26
|
+
setShowedOptions(options);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const filtered = options.filter((option) => option.label.toString().toLowerCase().includes(searchValue.toLowerCase()));
|
|
30
|
+
setShowedOptions(filtered);
|
|
31
|
+
};
|
|
32
|
+
return (React.createElement(ThemeProvider, { theme: resolvedTheme },
|
|
33
|
+
React.createElement(PanelRoot, { theme: resolvedTheme, config: panelConfig },
|
|
34
|
+
header && (React.createElement(PanelHeaderWrapper, { size: size, config: panelConfig }, header)),
|
|
35
|
+
searchable && (React.createElement(PanelSearchWrapper, { size: size, config: panelConfig },
|
|
36
|
+
React.createElement(SearchInput, { theme: theme, themeVariant: themeVariant, placeholder: placeholder, handleSearch: handleSearch, handleAdd: handleAdd }))),
|
|
37
|
+
showedOpitions.length > 0 ? (React.createElement(PanelOptionsWrapper, { size: size, config: panelConfig, maxRows: maxRows }, showedOpitions.map((option, index) => (React.createElement(PanelItem, { key: index, theme: resolvedTheme, config: panelConfig, size: size, isDisabled: option.disabled || false, onClick: (e) => selectOption(e, option.value, option.disabled) },
|
|
38
|
+
option.label,
|
|
39
|
+
option.value === value && (React.createElement(Icon, { name: 'check', size: panelConfig.item.size[size]
|
|
40
|
+
.iconSize, color: panelConfig.item.color.selected.iconColor }))))))) : (React.createElement(PanelEmptyState, { theme: resolvedTheme, config: panelConfig, size: size }, emptyStateText)),
|
|
41
|
+
footer && (React.createElement(PanelFooterWrapper, { size: size, config: panelConfig }, footer)))));
|
|
42
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export const PanelRoot = styled.div `
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
background-color: ${({ theme, config }) => config.panel.color.default};
|
|
6
|
+
`;
|
|
7
|
+
export const PanelItem = styled.div `
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: row;
|
|
10
|
+
align-items: center;
|
|
11
|
+
flex:1;
|
|
12
|
+
justify-content: space-between;
|
|
13
|
+
height: ${({ config, size }) => config.item.size[size].height}px;
|
|
14
|
+
font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
|
|
15
|
+
line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
|
|
16
|
+
padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
|
|
17
|
+
border-radius: ${({ config, size }) => config.item.size[size].radius}px;
|
|
18
|
+
color: ${({ theme, config, isDisabled }) => isDisabled
|
|
19
|
+
? config.item.color.disabled.text
|
|
20
|
+
: config.item.color.default.text};
|
|
21
|
+
:hover {
|
|
22
|
+
background-color: ${({ theme, config, isDisabled }) => !isDisabled ? config.item.color.hover.background : 'transparent'};
|
|
23
|
+
color: ${({ theme, config, isDisabled }) => !isDisabled
|
|
24
|
+
? config.item.color.hover.text
|
|
25
|
+
: config.item.color.disabled.text};
|
|
26
|
+
cursor: ${({ isDisabled }) => (!isDisabled ? 'pointer' : 'not-allowed')};
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
export const PanelHeaderWrapper = styled.div `
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
|
|
33
|
+
border-bottom: 1px solid ${({ config }) => config.panel.color.divider};
|
|
34
|
+
font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
|
|
35
|
+
line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
|
|
36
|
+
height: ${({ config, size }) => config.item.size[size].height}px;
|
|
37
|
+
margin-bottom: 6px;
|
|
38
|
+
`;
|
|
39
|
+
export const PanelFooterWrapper = styled.div `
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
|
|
43
|
+
border-top: 1px solid ${({ config }) => config.panel.color.divider};
|
|
44
|
+
font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
|
|
45
|
+
line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
|
|
46
|
+
height: ${({ config, size }) => config.item.size[size].height}px;
|
|
47
|
+
margin-top: 6px;
|
|
48
|
+
`;
|
|
49
|
+
export const PanelSearchWrapper = styled.div `
|
|
50
|
+
padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
|
|
51
|
+
margin-bottom: 6px;
|
|
52
|
+
`;
|
|
53
|
+
export const PanelEmptyState = styled.div `
|
|
54
|
+
height: calc(${({ config, size }) => config.item.size[size].height}px * 2);
|
|
55
|
+
font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
|
|
56
|
+
line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
|
|
57
|
+
padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
|
|
58
|
+
color: ${({ theme, config }) => config.panel.color.placeholder};
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
justify-content: center;
|
|
62
|
+
`;
|
|
63
|
+
export const PanelOptionsWrapper = styled.div `
|
|
64
|
+
display: block;
|
|
65
|
+
max-height: calc(
|
|
66
|
+
${({ config, size }) => config.item.size[size].height}px * ${({ maxRows }) => maxRows}
|
|
67
|
+
);
|
|
68
|
+
overflow-y: auto;
|
|
69
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './OptionsPanel';
|
|
@@ -1,49 +1,59 @@
|
|
|
1
|
+
import { resolveThemeWithComponentsConfig } from '../../config';
|
|
2
|
+
import { PaginationItem, PaginationItemWrapper, PaginationRoot, } from './Pagination.styles';
|
|
3
|
+
import { Icon } from '../Icon';
|
|
1
4
|
import React from 'react';
|
|
2
|
-
import { Icon } from '../Icons';
|
|
3
|
-
import { Theme } from '../../Theme/Theme';
|
|
4
5
|
import { Dropdown } from '../Dropdown';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
import { wordbook } from '../../config';
|
|
7
|
+
import { ThemeProvider } from 'styled-components';
|
|
8
|
+
export const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50], dropdownLabel = wordbook.pagination.dropdownLabel, }) => {
|
|
9
|
+
const resolvedThemeData = resolveThemeWithComponentsConfig({
|
|
10
|
+
theme,
|
|
11
|
+
themeVariant,
|
|
12
|
+
});
|
|
13
|
+
const resolvedTheme = resolvedThemeData.resolvedTheme;
|
|
14
|
+
const { componentsConfig } = resolvedThemeData;
|
|
15
|
+
const paginationConfig = componentsConfig.pagination;
|
|
16
|
+
const getPageNumbers = (current, total) => {
|
|
17
|
+
const pages = [];
|
|
18
|
+
if (total <= 5) {
|
|
19
|
+
for (let i = 1; i <= total; i++)
|
|
20
|
+
pages.push(i);
|
|
18
21
|
}
|
|
19
22
|
else {
|
|
20
|
-
|
|
23
|
+
if (current <= 3) {
|
|
24
|
+
pages.push(1, 2, 3, '...', total);
|
|
25
|
+
}
|
|
26
|
+
else if (current >= total - 2) {
|
|
27
|
+
pages.push(1, '...', total - 2, total - 1, total);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
pages.push(1, '...', current - 1, current, current + 1, '...', total);
|
|
31
|
+
}
|
|
21
32
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
export const Pagination = ({ currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50], }) => {
|
|
33
|
+
return pages;
|
|
34
|
+
};
|
|
26
35
|
const pageNumbers = getPageNumbers(currentPage, totalPages);
|
|
27
36
|
const pageSizeStr = !isNaN(pageSize) ? String(pageSize) : '10';
|
|
28
|
-
let dropdownOptions = availableValues.map(size => ({
|
|
37
|
+
let dropdownOptions = availableValues.map((size) => ({
|
|
29
38
|
value: size.toString(),
|
|
30
39
|
label: size.toString(),
|
|
31
40
|
}));
|
|
32
|
-
if (!dropdownOptions.some(opt => opt.value === pageSizeStr)) {
|
|
41
|
+
if (!dropdownOptions.some((opt) => opt.value === pageSizeStr)) {
|
|
33
42
|
dropdownOptions = [
|
|
34
43
|
{ value: pageSizeStr, label: pageSizeStr },
|
|
35
44
|
...dropdownOptions,
|
|
36
45
|
];
|
|
37
46
|
}
|
|
38
|
-
return (React.createElement(
|
|
39
|
-
React.createElement(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
return (React.createElement(ThemeProvider, { theme: resolvedTheme },
|
|
48
|
+
React.createElement(PaginationRoot, { theme: resolvedTheme, config: paginationConfig },
|
|
49
|
+
React.createElement(PaginationItemWrapper, { theme: resolvedTheme, config: paginationConfig },
|
|
50
|
+
React.createElement(Icon, { name: 'back', size: "md", onClick: () => onPageChange(Math.max(1, currentPage - 1)), isDisabled: currentPage === 1 }),
|
|
51
|
+
pageNumbers.map((num, idx) => num === '...' ? (React.createElement("span", { key: `ellipsis-${idx}` }, "...")) : (React.createElement(PaginationItem, { key: num, onClick: () => onPageChange(Number(num)), isActive: num === currentPage, theme: resolvedTheme, config: paginationConfig }, num))),
|
|
52
|
+
React.createElement(Icon, { name: 'forward', size: "md", onClick: () => onPageChange(Math.min(totalPages, currentPage + 1)), isDisabled: currentPage === totalPages })),
|
|
53
|
+
React.createElement(Dropdown, { size: "sm", label: dropdownLabel, labelPosition: "left", handleChange: (name, value) => {
|
|
44
54
|
const num = Number(value);
|
|
45
55
|
if (!isNaN(num) && num > 0) {
|
|
46
56
|
onPageSizeChange(num);
|
|
47
57
|
}
|
|
48
|
-
}, name: "pageSize", value: String(pageSize), options: dropdownOptions }))));
|
|
58
|
+
}, name: "pageSize", value: String(pageSize), options: dropdownOptions, width: 'auto', componentWidth: '70px' }))));
|
|
49
59
|
};
|
|
@@ -1,24 +1,50 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
|
-
|
|
3
|
-
export const PaginationElement = styled.div `
|
|
4
|
-
margin-top: 16px;
|
|
2
|
+
export const PaginationRoot = styled.div `
|
|
5
3
|
display: flex;
|
|
6
|
-
|
|
4
|
+
justify-content: space-between;
|
|
7
5
|
align-items: center;
|
|
6
|
+
width: 100%;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
height: ${({ theme, config }) => config.size.paginationHeight}px;
|
|
9
|
+
gap: ${({ theme, config }) => config.size.elementGap}px;
|
|
8
10
|
`;
|
|
9
|
-
export const
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
export const PaginationItemWrapper = styled.div `
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
justify-content: flex-start;
|
|
15
|
+
width:100%;
|
|
16
|
+
gap: ${({ theme, config }) => config.size.itemGap}px;
|
|
17
|
+
`;
|
|
18
|
+
export const PaginationItem = styled.button `Ś
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
height: ${({ theme, config }) => config.size.height}px;
|
|
23
|
+
width: ${({ theme, config }) => config.size.width}px;
|
|
24
|
+
background-color: ${({ theme, config, disabled, isActive }) => disabled
|
|
25
|
+
? config.color.disabled.background
|
|
26
|
+
: isActive
|
|
27
|
+
? config.color.active.background
|
|
28
|
+
: config.color.default.background};
|
|
29
|
+
color: ${({ theme, config, disabled, isActive }) => disabled
|
|
30
|
+
? config.color.disabled.text
|
|
31
|
+
: isActive
|
|
32
|
+
? config.color.active.text
|
|
33
|
+
: config.color.default.text};
|
|
12
34
|
border: none;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
color: ${
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
35
|
+
border-radius: ${({ theme, config }) => config.size.borderRadius}px;
|
|
36
|
+
cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};
|
|
37
|
+
&:hover {
|
|
38
|
+
color: ${({ theme, config, disabled, isActive }) => disabled
|
|
39
|
+
? config.color.disabled.text
|
|
40
|
+
: isActive
|
|
41
|
+
? config.color.hover.activeTest
|
|
42
|
+
: config.color.hover.text};
|
|
43
|
+
|
|
44
|
+
`;
|
|
45
|
+
export const PaginationDropdownWrapper = styled.div `
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
justify-content: center;
|
|
49
|
+
gap: ${({ theme, config }) => config.size.elementGap}px;
|
|
24
50
|
`;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { SearchInputElement, SearchWrapperRoot } from './SearchInput.styles';
|
|
3
|
+
import { resolveThemeWithComponentsConfig } from '../../config';
|
|
4
|
+
import { wordbook } from '../../config';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
const SEARCH_DEBOUNCE_MS = 300;
|
|
7
|
+
export const SearchInput = ({ theme, themeVariant = 'default', placeholder = wordbook.searchInput.placeholder, handleSearch, handleAdd, }) => {
|
|
8
|
+
const resolvedThemeData = resolveThemeWithComponentsConfig({
|
|
9
|
+
theme,
|
|
10
|
+
themeVariant,
|
|
11
|
+
});
|
|
12
|
+
const resolvedTheme = resolvedThemeData.resolvedTheme;
|
|
13
|
+
const { componentsConfig } = resolvedThemeData;
|
|
14
|
+
const config = componentsConfig.searchInput;
|
|
15
|
+
const [inputValue, setInputValue] = useState('');
|
|
16
|
+
const handleInputChange = (e) => {
|
|
17
|
+
setInputValue(e.target.value);
|
|
18
|
+
};
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (!handleSearch) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const debounceTimeout = setTimeout(() => {
|
|
24
|
+
handleSearch(inputValue);
|
|
25
|
+
}, SEARCH_DEBOUNCE_MS);
|
|
26
|
+
return () => clearTimeout(debounceTimeout);
|
|
27
|
+
}, [inputValue, handleSearch]);
|
|
28
|
+
const clickAdd = () => {
|
|
29
|
+
const trimmedValue = inputValue.trim();
|
|
30
|
+
if (handleAdd && trimmedValue.length > 0) {
|
|
31
|
+
handleAdd(trimmedValue);
|
|
32
|
+
setInputValue('');
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const clear = () => {
|
|
36
|
+
setInputValue('');
|
|
37
|
+
if (handleSearch) {
|
|
38
|
+
handleSearch('');
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return (React.createElement(SearchWrapperRoot, { theme: resolvedTheme, config: config },
|
|
42
|
+
React.createElement(Icon, { name: "search", size: "md", background: "transparent", hoverBackground: "transparent" }),
|
|
43
|
+
React.createElement(SearchInputElement, { config: config, theme: resolvedTheme, placeholder: placeholder, value: inputValue, onChange: handleInputChange }),
|
|
44
|
+
inputValue.length > 0 && (React.createElement(Icon, { name: "close", size: "md", background: "transparent", hoverBackground: "transparent", onClick: clear })),
|
|
45
|
+
handleAdd && (React.createElement(Icon, { name: "add_circle", size: "md", background: "transparent", hoverBackground: "transparent", onClick: clickAdd }))));
|
|
46
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export const SearchWrapperRoot = styled.div `
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
gap: 4px;
|
|
6
|
+
align-items: center;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
width: 100%;
|
|
9
|
+
height: ${({ config }) => config.size.height}px;
|
|
10
|
+
border-bottom: 1px solid ${({ theme, config }) => config.color.default.border};
|
|
11
|
+
background: ${({ theme, config }) => config.color.default.background};
|
|
12
|
+
${({ config, isActive }) => `
|
|
13
|
+
&:hover {
|
|
14
|
+
border-color: ${isActive ? config.color.focus.border : config.color.hover.border};
|
|
15
|
+
background: ${config.color.hover.background};
|
|
16
|
+
}
|
|
17
|
+
`}
|
|
18
|
+
&:focus-within {
|
|
19
|
+
border-color: ${(p) => p.config.color.focus.border};
|
|
20
|
+
background: ${(p) => p.config.color.focus.background};
|
|
21
|
+
}
|
|
22
|
+
`;
|
|
23
|
+
export const SearchInputElement = styled.input `
|
|
24
|
+
width: 100%;
|
|
25
|
+
border: none;
|
|
26
|
+
&::placeholder {
|
|
27
|
+
color: ${({ theme, config }) => config.color.default.placeholder};
|
|
28
|
+
opacity: 1;
|
|
29
|
+
}
|
|
30
|
+
::-webkit-outer-spin-button,
|
|
31
|
+
::-webkit-inner-spin-button {
|
|
32
|
+
-webkit-appearance: none;
|
|
33
|
+
margin: 0;
|
|
34
|
+
}
|
|
35
|
+
-moz-appearance: textfield;
|
|
36
|
+
appearance: textfield;
|
|
37
|
+
outline: none;
|
|
38
|
+
height: ${({ config }) => config.size.height}px;
|
|
39
|
+
font-size: ${({ config }) => config.size.fontSize}px;
|
|
40
|
+
line-height: ${({ config }) => config.size.lineHeight}px;
|
|
41
|
+
padding: 0 ${({ config }) => config.size.paddingX}px};
|
|
42
|
+
color: ${({ theme, config }) => config.color.default.text};
|
|
43
|
+
|
|
44
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SearchInput';
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveThemeWithComponentsConfig } from '../../config';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { wordbook } from '../../config';
|
|
4
|
+
import { SectionContent, SectionRoot, SectionTitle } from './Section.styles';
|
|
5
5
|
import { Button } from '../Button';
|
|
6
|
-
export const Section = ({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
export const Section = ({ theme, themeVariant = 'default', title, titlePosition = 'left', withoutPadding = false, backgroundColor, children, action, actionLabel = wordbook.section.action, }) => {
|
|
7
|
+
const resolvedThemeData = resolveThemeWithComponentsConfig({
|
|
8
|
+
theme,
|
|
9
|
+
themeVariant,
|
|
10
|
+
});
|
|
11
|
+
const resolvedTheme = resolvedThemeData.resolvedTheme;
|
|
12
|
+
const { componentsConfig } = resolvedThemeData;
|
|
13
|
+
const sectionConfig = componentsConfig.section;
|
|
14
|
+
return (React.createElement(SectionRoot, { backgroundColor: backgroundColor, withoutPadding: withoutPadding, theme: resolvedTheme, config: sectionConfig },
|
|
15
|
+
title && (React.createElement(SectionTitle, { titlePosition: titlePosition, theme: resolvedTheme, config: sectionConfig, withAction: titlePosition === 'left' && !!action },
|
|
16
|
+
title,
|
|
17
|
+
titlePosition === 'left' && !!action && (React.createElement(Button, { text: actionLabel, onClick: action, size: "md", mode: "ghost" })))),
|
|
18
|
+
React.createElement(SectionContent, { theme: resolvedTheme, config: sectionConfig }, children)));
|
|
12
19
|
};
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
|
-
|
|
3
|
-
export const SectionElement = styled.div `
|
|
2
|
+
export const SectionRoot = styled.div `
|
|
4
3
|
width: 100%;
|
|
5
4
|
box-sizing: border-box;
|
|
6
5
|
overflow: auto;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
${(p) => p.noTopPadding && `padding-top: 0;`}
|
|
6
|
+
background-color: ${({ config, backgroundColor }) => backgroundColor || config.color.background};
|
|
7
|
+
padding: ${({ config, withoutPadding }) => withoutPadding ? 0 : `${config.size.paddingY}px ${config.size.paddingX}px`};
|
|
10
8
|
`;
|
|
11
9
|
export const SectionTitle = styled.div `
|
|
12
10
|
width: 100%;
|
|
13
|
-
|
|
14
|
-
${(p) => (p.noPadding ? 0 : Theme.padding.l)};
|
|
15
|
-
text-align: ${(p) => p.titlePosition};
|
|
11
|
+
text-align: ${({ titlePosition }) => titlePosition};
|
|
16
12
|
box-sizing: border-box;
|
|
17
|
-
${(
|
|
13
|
+
margin-bottom: ${({ titlePosition, config }) => config.size.header.bottomMargin}px;
|
|
14
|
+
color: ${({ config }) => config.color.header.color};
|
|
15
|
+
font-size: ${({ config }) => config.size.header.fontSize}px;
|
|
16
|
+
line-height: ${({ config }) => config.size.header.lineHeight}px;
|
|
17
|
+
|
|
18
|
+
${({ withAction, config }) => withAction &&
|
|
18
19
|
`display:flex;
|
|
19
20
|
align-items: center;
|
|
20
21
|
justify-content: space-between;
|
|
21
|
-
|
|
22
|
+
|
|
23
|
+
`};
|
|
22
24
|
`;
|
|
23
25
|
export const SectionContent = styled.div `
|
|
24
26
|
box-sizing: border-box;
|
|
25
27
|
width: 100%;
|
|
26
28
|
display: flex;
|
|
27
|
-
padding: 0 ${(p) => (p.noPadding ? 0 : Theme.padding.l)};
|
|
28
29
|
`;
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import { ComponentRoot } from '../ComponentRoot';
|
|
2
|
+
import { resolveThemeWithComponentsConfig } from '../../config';
|
|
1
3
|
import React, { useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { InputErrorMsg, InputLabelElement } from '../Input';
|
|
5
|
-
import { Icon } from '../Icons';
|
|
6
|
-
import { SelectorAction, SelectorElement, SelectorValue, SelectorValueWrapper, } from './Selector.styles';
|
|
4
|
+
import { wordbook } from '../../config';
|
|
5
|
+
import { SelectorPill, SelectorTriger } from './Selector.styles';
|
|
7
6
|
import { Modal } from '../Modal';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
export const Selector = ({ theme =
|
|
7
|
+
import { OptionsPanel } from '../OptionsPanel';
|
|
8
|
+
import { createPortal } from 'react-dom';
|
|
9
|
+
import { Icon } from '../Icon';
|
|
10
|
+
export const Selector = ({ theme, themeVariant = 'default', label, labelPosition = 'top', value, name, disabled = false, size = 'md', handleSelect, handleClear, width, error = false, helperText, readOnly = false, required = false, optional = false, optionalLabel, options, placeholder = wordbook.selector.placeholder, emptyStateText = wordbook.selector.emptyPanelMsg, searchable = false, }) => {
|
|
11
|
+
const resolvedThemeData = resolveThemeWithComponentsConfig({
|
|
12
|
+
theme,
|
|
13
|
+
themeVariant,
|
|
14
|
+
});
|
|
15
|
+
const resolvedTheme = resolvedThemeData.resolvedTheme;
|
|
16
|
+
const { componentsConfig } = resolvedThemeData;
|
|
17
|
+
const selectorConfig = componentsConfig.selector;
|
|
12
18
|
const [open, toogleOpen] = useState(false);
|
|
13
19
|
const selectOption = (selectedValue) => {
|
|
14
20
|
handleSelect(name, selectedValue);
|
|
@@ -22,14 +28,11 @@ export const Selector = ({ theme = mainTheme, label, labelPosition = 'top', size
|
|
|
22
28
|
toogleOpen(true);
|
|
23
29
|
}
|
|
24
30
|
};
|
|
25
|
-
return (React.createElement(
|
|
26
|
-
React.createElement(
|
|
27
|
-
|
|
28
|
-
React.createElement(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
React.createElement(SelectorAction, { size: size, isDisabled: disabled, onClick: handleOpen }, optionsPanelTitle))),
|
|
33
|
-
open && (React.createElement(Modal, { title: optionsPanelTitle, labelClose: "Close", handleClose: () => toogleOpen(false), isOpen: open, exitOnEsc: true }, options?.length > 0 ? (options.map((option) => (React.createElement(PanelOption, { key: option.value, active: option.value === value, onClick: () => selectOption(option.value) }, option.label)))) : (React.createElement(Text, null, optionsPanelEmptyMsg)))),
|
|
34
|
-
error && React.createElement(InputErrorMsg, null, error)))));
|
|
31
|
+
return (React.createElement(ComponentRoot, { labelPosition: labelPosition, size: size, width: width, disabled: disabled, error: error, readOnly: readOnly, required: required, optional: optional, optionalLabel: optionalLabel, helperText: helperText, themeVariant: themeVariant, theme: resolvedTheme, componentConfig: selectorConfig, label: label, noBorder: true },
|
|
32
|
+
value ? (React.createElement(SelectorPill, { theme: resolvedTheme, config: selectorConfig, size: size },
|
|
33
|
+
getLabelForValue(value),
|
|
34
|
+
React.createElement(Icon, { name: 'close', onClick: () => handleClear(), size: selectorConfig.size[size].iconSize, color: "currentColor", hoverBackground: "transparent" }))) : (React.createElement(SelectorTriger, { theme: resolvedTheme, config: selectorConfig, size: size, onClick: handleOpen, isDisabled: disabled }, placeholder)),
|
|
35
|
+
open &&
|
|
36
|
+
createPortal(React.createElement(Modal, { title: placeholder, labelClose: "Close", handleClose: () => toogleOpen(false), isOpen: open, exitOnEsc: true },
|
|
37
|
+
React.createElement(OptionsPanel, { options: options, emptyStateText: emptyStateText, handleSelect: selectOption, searchable: searchable })), document.body)));
|
|
35
38
|
};
|
|
@@ -1,58 +1,30 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
export const SelectorTriger = styled.div `
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
width: auto;
|
|
7
|
+
height: ${({ config, size }) => config.size[size].height}px;
|
|
8
|
+
color: ${({ theme, config, isDisabled }) => isDisabled ? config.color.disabled.text : config.color.default.text};
|
|
9
|
+
font-size: ${({ config, size }) => config.size[size].fontSize}px;
|
|
10
|
+
line-height: ${({ config, size }) => config.size[size].lineHeight}px;
|
|
11
|
+
text-decoration: underline;
|
|
12
|
+
cursor: ${({ isDisabled }) => (isDisabled ? 'not-allowed' : 'pointer')};
|
|
13
|
+
pointer-events: ${({ isDisabled }) => (isDisabled ? 'none' : 'auto')};
|
|
14
|
+
border-radius: ${({ config, size }) => config.size[size].radius}px;
|
|
15
|
+
:hover{
|
|
16
|
+
color: ${({ theme, config, isDisabled }) => isDisabled ? config.color.disabled.text : config.color.hover.text};
|
|
10
17
|
`;
|
|
11
|
-
export const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
${(p) => p.isDisabled &&
|
|
25
|
-
`
|
|
26
|
-
cursor:not-allowed;
|
|
27
|
-
background-color: ${p.theme.inputDisabledBackground};
|
|
28
|
-
color: ${p.theme.inputDisabledTextColor};
|
|
29
|
-
`}
|
|
30
|
-
`;
|
|
31
|
-
export const SelectorAction = styled.div `
|
|
32
|
-
${(p) => setSelectorSize(p.size)}
|
|
33
|
-
color:${(p) => p.theme.optionActiveColor};
|
|
34
|
-
cursor: pointer;
|
|
35
|
-
text-decoration: underline;
|
|
36
|
-
|
|
37
|
-
${(p) => p.isDisabled &&
|
|
38
|
-
`
|
|
39
|
-
cursor:not-allowed;
|
|
40
|
-
color: ${p.theme.inputDisabledTextColor};
|
|
41
|
-
|
|
42
|
-
`}
|
|
43
|
-
`;
|
|
44
|
-
export const SelectorValueWrapper = styled.div `
|
|
45
|
-
cursor: pointer;
|
|
46
|
-
display: flex;
|
|
47
|
-
align-items: center;
|
|
48
|
-
background-color: ${(p) => p.theme.selector};
|
|
49
|
-
border-radius: ${Theme.borderRadius.m};
|
|
50
|
-
gap: 4px;
|
|
51
|
-
${(p) => setSelecAreaSize(p.size)}
|
|
52
|
-
${(p) => p.isDisabled &&
|
|
53
|
-
`
|
|
54
|
-
cursor:not-allowed;
|
|
55
|
-
background-color: ${p.theme.inputDisabledBackground};
|
|
56
|
-
|
|
57
|
-
`}
|
|
18
|
+
export const SelectorPill = styled.div `
|
|
19
|
+
display: inline-flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
padding: 4px 8px;
|
|
23
|
+
background: ${({ theme, config }) => config.color.default.pillBackground};
|
|
24
|
+
color: ${({ theme, config }) => config.color.default.pillText};
|
|
25
|
+
font-size: ${({ config, size }) => config.size[size].fontSize}px;
|
|
26
|
+
line-height: ${({ config, size }) => config.size[size].lineHeight}px;
|
|
27
|
+
border-radius: ${({ config, size }) => config.size[size].radius}px;
|
|
28
|
+
padding: 0 ${({ config, size }) => config.size[size].paddingX}px;
|
|
29
|
+
height: ${({ config, size }) => config.size[size].height}px;
|
|
58
30
|
`;
|