@clickhouse/click-ui 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-ui.css +1543 -71
- package/dist/cjs/components/AutoComplete/AutoComplete.css +97 -0
- package/dist/cjs/components/AutoComplete/AutoComplete.module.css.cjs +18 -0
- package/dist/cjs/components/AutoComplete/AutoComplete.module.css.cjs.map +1 -0
- package/dist/cjs/components/AutoComplete/index.cjs +14 -74
- package/dist/cjs/components/AutoComplete/index.cjs.map +1 -1
- package/dist/cjs/components/Button/BaseButton.cjs +10 -31
- package/dist/cjs/components/Button/BaseButton.cjs.map +1 -1
- package/dist/cjs/components/Button/BaseButton.css +40 -0
- package/dist/cjs/components/Button/BaseButton.module.css.cjs +10 -0
- package/dist/cjs/components/Button/BaseButton.module.css.cjs.map +1 -0
- package/dist/cjs/components/CardPromotion/CardPromotion.css +52 -0
- package/dist/cjs/components/CardPromotion/CardPromotion.module.css.cjs +21 -0
- package/dist/cjs/components/CardPromotion/CardPromotion.module.css.cjs.map +1 -0
- package/dist/cjs/components/CardPromotion/index.cjs +8 -54
- package/dist/cjs/components/CardPromotion/index.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/CodeBlock.css +48 -0
- package/dist/cjs/components/CodeBlock/CodeBlock.module.css.cjs +22 -0
- package/dist/cjs/components/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.cjs +7 -14
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.css +10 -0
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.module.css.cjs +12 -0
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.module.css.cjs.map +1 -0
- package/dist/cjs/components/CodeBlock/index.cjs +18 -49
- package/dist/cjs/components/CodeBlock/index.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/useColorStyle.cjs +15 -0
- package/dist/cjs/components/CodeBlock/useColorStyle.cjs.map +1 -1
- package/dist/cjs/components/ContextMenu/ContextMenu.css +12 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs +8 -1
- package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -1
- package/dist/cjs/components/ContextMenu/index.cjs +8 -20
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
- package/dist/cjs/components/CrossButton/CrossButton.css +12 -0
- package/dist/cjs/components/CrossButton/CrossButton.module.css.cjs +10 -0
- package/dist/cjs/components/CrossButton/CrossButton.module.css.cjs.map +1 -0
- package/dist/cjs/components/CrossButton/index.cjs +11 -18
- package/dist/cjs/components/CrossButton/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs +1 -1
- package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.css +23 -0
- package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs +3 -1
- package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/index.cjs +12 -23
- package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
- package/dist/cjs/components/EllipsisContent/EllipsisContent.css +21 -0
- package/dist/cjs/components/EllipsisContent/EllipsisContent.module.css.cjs +10 -0
- package/dist/cjs/components/EllipsisContent/EllipsisContent.module.css.cjs.map +1 -0
- package/dist/cjs/components/EllipsisContent/index.cjs +7 -6
- package/dist/cjs/components/EllipsisContent/index.cjs.map +1 -1
- package/dist/cjs/components/EmptyButton/EmptyButton.css +21 -0
- package/dist/cjs/components/EmptyButton/EmptyButton.module.css.cjs +10 -0
- package/dist/cjs/components/EmptyButton/EmptyButton.module.css.cjs.map +1 -0
- package/dist/cjs/components/EmptyButton/index.cjs +10 -4
- package/dist/cjs/components/EmptyButton/index.cjs.map +1 -1
- package/dist/cjs/components/FileTabs/FileTabs.css +167 -0
- package/dist/cjs/components/FileTabs/FileTabs.module.css.cjs +38 -0
- package/dist/cjs/components/FileTabs/FileTabs.module.css.cjs.map +1 -0
- package/dist/cjs/components/FileTabs/index.cjs +51 -80
- package/dist/cjs/components/FileTabs/index.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileMultiUpload.cjs +3 -9
- package/dist/cjs/components/FileUpload/FileMultiUpload.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileMultiUpload.css +8 -0
- package/dist/cjs/components/FileUpload/FileMultiUpload.module.css.cjs +10 -0
- package/dist/cjs/components/FileUpload/FileMultiUpload.module.css.cjs.map +1 -0
- package/dist/cjs/components/FileUpload/FileUpload.stories-common.css +14 -0
- package/dist/cjs/components/FileUpload/FileUploadArea.cjs +87 -64
- package/dist/cjs/components/FileUpload/FileUploadArea.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileUploadArea.css +130 -0
- package/dist/cjs/components/FileUpload/FileUploadArea.module.css.cjs +38 -0
- package/dist/cjs/components/FileUpload/FileUploadArea.module.css.cjs.map +1 -0
- package/dist/cjs/components/FileUpload/FileUploadItem.cjs +56 -64
- package/dist/cjs/components/FileUpload/FileUploadItem.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileUploadItem.css +82 -0
- package/dist/cjs/components/FileUpload/FileUploadItem.module.css.cjs +27 -0
- package/dist/cjs/components/FileUpload/FileUploadItem.module.css.cjs.map +1 -0
- package/dist/cjs/components/FormContainer/Error.cjs +8 -9
- package/dist/cjs/components/FormContainer/Error.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/Error.css +4 -0
- package/dist/cjs/components/FormContainer/Error.module.css.cjs +12 -0
- package/dist/cjs/components/FormContainer/Error.module.css.cjs.map +1 -0
- package/dist/cjs/components/FormContainer/FormElementContainer.cjs +8 -6
- package/dist/cjs/components/FormContainer/FormElementContainer.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/FormElementContainer.css +14 -0
- package/dist/cjs/components/FormContainer/FormElementContainer.module.css.cjs +10 -0
- package/dist/cjs/components/FormContainer/FormElementContainer.module.css.cjs.map +1 -0
- package/dist/cjs/components/FormContainer/FormRoot.cjs +32 -18
- package/dist/cjs/components/FormContainer/FormRoot.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/FormRoot.css +33 -0
- package/dist/cjs/components/FormContainer/FormRoot.module.css.cjs +15 -0
- package/dist/cjs/components/FormContainer/FormRoot.module.css.cjs.map +1 -0
- package/dist/cjs/components/GridCenter/GridCenter.css +6 -0
- package/dist/cjs/components/GridContainer/GridContainer.css +71 -0
- package/dist/cjs/components/GridContainer/GridContainer.module.css.cjs +12 -0
- package/dist/cjs/components/GridContainer/GridContainer.module.css.cjs.map +1 -0
- package/dist/cjs/components/GridContainer/index.cjs +64 -64
- package/dist/cjs/components/GridContainer/index.cjs.map +1 -1
- package/dist/cjs/components/MiddleTruncator/MiddleTruncator.css +22 -0
- package/dist/cjs/components/MiddleTruncator/MiddleTruncator.module.css.cjs +18 -0
- package/dist/cjs/components/MiddleTruncator/MiddleTruncator.module.css.cjs.map +1 -0
- package/dist/cjs/components/MiddleTruncator/index.cjs +5 -17
- package/dist/cjs/components/MiddleTruncator/index.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.css +7 -0
- package/dist/cjs/components/Pagination/Pagination.module.css.cjs +10 -0
- package/dist/cjs/components/Pagination/Pagination.module.css.cjs.map +1 -0
- package/dist/cjs/components/Pagination/index.cjs +3 -5
- package/dist/cjs/components/Pagination/index.cjs.map +1 -1
- package/dist/cjs/components/Panel/Panel.css +116 -0
- package/dist/cjs/components/Panel/Panel.module.css.cjs +87 -0
- package/dist/cjs/components/Panel/Panel.module.css.cjs.map +1 -0
- package/dist/cjs/components/Panel/index.cjs +85 -35
- package/dist/cjs/components/Panel/index.cjs.map +1 -1
- package/dist/cjs/components/Popover/Popover.css +20 -0
- package/dist/cjs/components/Popover/Popover.module.css.cjs +5 -1
- package/dist/cjs/components/Popover/Popover.module.css.cjs.map +1 -1
- package/dist/cjs/components/Popover/index.cjs +2 -18
- package/dist/cjs/components/Popover/index.cjs.map +1 -1
- package/dist/cjs/components/Select/MultiSelectValue.cjs +4 -9
- package/dist/cjs/components/Select/MultiSelectValue.cjs.map +1 -1
- package/dist/cjs/components/Select/MultiSelectValue.css +19 -0
- package/dist/cjs/components/Select/MultiSelectValue.module.css.cjs +11 -0
- package/dist/cjs/components/Select/MultiSelectValue.module.css.cjs.map +1 -0
- package/dist/cjs/components/Select/SingleSelectValue.cjs +3 -5
- package/dist/cjs/components/Select/SingleSelectValue.cjs.map +1 -1
- package/dist/cjs/components/Select/SingleSelectValue.css +10 -0
- package/dist/cjs/components/Select/SingleSelectValue.module.css.cjs +10 -0
- package/dist/cjs/components/Select/SingleSelectValue.module.css.cjs.map +1 -0
- package/dist/cjs/components/Select/common/InternalSelect.cjs +18 -23
- package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
- package/dist/cjs/components/Select/common/SelectComponents.cjs +110 -0
- package/dist/cjs/components/Select/common/SelectComponents.cjs.map +1 -0
- package/dist/cjs/components/Select/common/SelectComponents.css +296 -0
- package/dist/cjs/components/Select/common/SelectComponents.module.css.cjs +31 -0
- package/dist/cjs/components/Select/common/SelectComponents.module.css.cjs.map +1 -0
- package/dist/cjs/components/SplitButton/SplitButton.css +138 -0
- package/dist/cjs/components/SplitButton/SplitButton.module.css.cjs +19 -0
- package/dist/cjs/components/SplitButton/SplitButton.module.css.cjs.map +1 -0
- package/dist/cjs/components/SplitButton/index.cjs +42 -88
- package/dist/cjs/components/SplitButton/index.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.css +0 -1
- package/dist/esm/click-ui.css +1543 -71
- package/dist/esm/components/AutoComplete/AutoComplete.css +97 -0
- package/dist/esm/components/AutoComplete/AutoComplete.module.css.js +14 -0
- package/dist/esm/components/AutoComplete/AutoComplete.module.css.js.map +1 -0
- package/dist/esm/components/AutoComplete/index.js +15 -75
- package/dist/esm/components/AutoComplete/index.js.map +1 -1
- package/dist/esm/components/Button/BaseButton.css +40 -0
- package/dist/esm/components/Button/BaseButton.js +11 -32
- package/dist/esm/components/Button/BaseButton.js.map +1 -1
- package/dist/esm/components/Button/BaseButton.module.css.js +6 -0
- package/dist/esm/components/Button/BaseButton.module.css.js.map +1 -0
- package/dist/esm/components/CardPromotion/CardPromotion.css +52 -0
- package/dist/esm/components/CardPromotion/CardPromotion.module.css.js +13 -0
- package/dist/esm/components/CardPromotion/CardPromotion.module.css.js.map +1 -0
- package/dist/esm/components/CardPromotion/index.js +8 -54
- package/dist/esm/components/CardPromotion/index.js.map +1 -1
- package/dist/esm/components/CodeBlock/CodeBlock.css +48 -0
- package/dist/esm/components/CodeBlock/CodeBlock.module.css.js +14 -0
- package/dist/esm/components/CodeBlock/CodeBlock.module.css.js.map +1 -0
- package/dist/esm/components/CodeBlock/InlineCodeBlock.css +10 -0
- package/dist/esm/components/CodeBlock/InlineCodeBlock.js +7 -14
- package/dist/esm/components/CodeBlock/InlineCodeBlock.js.map +1 -1
- package/dist/esm/components/CodeBlock/InlineCodeBlock.module.css.js +7 -0
- package/dist/esm/components/CodeBlock/InlineCodeBlock.module.css.js.map +1 -0
- package/dist/esm/components/CodeBlock/index.js +20 -51
- package/dist/esm/components/CodeBlock/index.js.map +1 -1
- package/dist/esm/components/CodeBlock/useColorStyle.js +14 -1
- package/dist/esm/components/CodeBlock/useColorStyle.js.map +1 -1
- package/dist/esm/components/ContextMenu/ContextMenu.css +12 -0
- package/dist/esm/components/ContextMenu/ContextMenu.module.css.js +7 -2
- package/dist/esm/components/ContextMenu/ContextMenu.module.css.js.map +1 -1
- package/dist/esm/components/ContextMenu/index.js +8 -20
- package/dist/esm/components/ContextMenu/index.js.map +1 -1
- package/dist/esm/components/CrossButton/CrossButton.css +12 -0
- package/dist/esm/components/CrossButton/CrossButton.module.css.js +6 -0
- package/dist/esm/components/CrossButton/CrossButton.module.css.js.map +1 -0
- package/dist/esm/components/CrossButton/index.js +11 -18
- package/dist/esm/components/CrossButton/index.js.map +1 -1
- package/dist/esm/components/DatePicker/DateTimeRangePicker.js +1 -1
- package/dist/esm/components/DatePicker/DateTimeRangePicker.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.css +23 -0
- package/dist/esm/components/Dropdown/Dropdown.module.css.js +3 -1
- package/dist/esm/components/Dropdown/Dropdown.module.css.js.map +1 -1
- package/dist/esm/components/Dropdown/index.js +12 -23
- package/dist/esm/components/Dropdown/index.js.map +1 -1
- package/dist/esm/components/EllipsisContent/EllipsisContent.css +21 -0
- package/dist/esm/components/EllipsisContent/EllipsisContent.module.css.js +6 -0
- package/dist/esm/components/EllipsisContent/EllipsisContent.module.css.js.map +1 -0
- package/dist/esm/components/EllipsisContent/index.js +7 -6
- package/dist/esm/components/EllipsisContent/index.js.map +1 -1
- package/dist/esm/components/EmptyButton/EmptyButton.css +21 -0
- package/dist/esm/components/EmptyButton/EmptyButton.module.css.js +6 -0
- package/dist/esm/components/EmptyButton/EmptyButton.module.css.js.map +1 -0
- package/dist/esm/components/EmptyButton/index.js +10 -4
- package/dist/esm/components/EmptyButton/index.js.map +1 -1
- package/dist/esm/components/FileTabs/FileTabs.css +167 -0
- package/dist/esm/components/FileTabs/FileTabs.module.css.js +26 -0
- package/dist/esm/components/FileTabs/FileTabs.module.css.js.map +1 -0
- package/dist/esm/components/FileTabs/index.js +51 -80
- package/dist/esm/components/FileTabs/index.js.map +1 -1
- package/dist/esm/components/FileUpload/FileMultiUpload.css +8 -0
- package/dist/esm/components/FileUpload/FileMultiUpload.js +3 -9
- package/dist/esm/components/FileUpload/FileMultiUpload.js.map +1 -1
- package/dist/esm/components/FileUpload/FileMultiUpload.module.css.js +6 -0
- package/dist/esm/components/FileUpload/FileMultiUpload.module.css.js.map +1 -0
- package/dist/esm/components/FileUpload/FileUpload.stories-common.css +14 -0
- package/dist/esm/components/FileUpload/FileUploadArea.css +130 -0
- package/dist/esm/components/FileUpload/FileUploadArea.js +87 -64
- package/dist/esm/components/FileUpload/FileUploadArea.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadArea.module.css.js +32 -0
- package/dist/esm/components/FileUpload/FileUploadArea.module.css.js.map +1 -0
- package/dist/esm/components/FileUpload/FileUploadItem.css +82 -0
- package/dist/esm/components/FileUpload/FileUploadItem.js +56 -64
- package/dist/esm/components/FileUpload/FileUploadItem.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadItem.module.css.js +21 -0
- package/dist/esm/components/FileUpload/FileUploadItem.module.css.js.map +1 -0
- package/dist/esm/components/FormContainer/Error.css +4 -0
- package/dist/esm/components/FormContainer/Error.js +8 -9
- package/dist/esm/components/FormContainer/Error.js.map +1 -1
- package/dist/esm/components/FormContainer/Error.module.css.js +7 -0
- package/dist/esm/components/FormContainer/Error.module.css.js.map +1 -0
- package/dist/esm/components/FormContainer/FormElementContainer.css +14 -0
- package/dist/esm/components/FormContainer/FormElementContainer.js +8 -6
- package/dist/esm/components/FormContainer/FormElementContainer.js.map +1 -1
- package/dist/esm/components/FormContainer/FormElementContainer.module.css.js +6 -0
- package/dist/esm/components/FormContainer/FormElementContainer.module.css.js.map +1 -0
- package/dist/esm/components/FormContainer/FormRoot.css +33 -0
- package/dist/esm/components/FormContainer/FormRoot.js +32 -18
- package/dist/esm/components/FormContainer/FormRoot.js.map +1 -1
- package/dist/esm/components/FormContainer/FormRoot.module.css.js +11 -0
- package/dist/esm/components/FormContainer/FormRoot.module.css.js.map +1 -0
- package/dist/esm/components/GridCenter/GridCenter.css +6 -0
- package/dist/esm/components/GridContainer/GridContainer.css +71 -0
- package/dist/esm/components/GridContainer/GridContainer.module.css.js +8 -0
- package/dist/esm/components/GridContainer/GridContainer.module.css.js.map +1 -0
- package/dist/esm/components/GridContainer/index.js +65 -65
- package/dist/esm/components/GridContainer/index.js.map +1 -1
- package/dist/esm/components/MiddleTruncator/MiddleTruncator.css +22 -0
- package/dist/esm/components/MiddleTruncator/MiddleTruncator.module.css.js +11 -0
- package/dist/esm/components/MiddleTruncator/MiddleTruncator.module.css.js.map +1 -0
- package/dist/esm/components/MiddleTruncator/index.js +5 -17
- package/dist/esm/components/MiddleTruncator/index.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.css +7 -0
- package/dist/esm/components/Pagination/Pagination.module.css.js +6 -0
- package/dist/esm/components/Pagination/Pagination.module.css.js.map +1 -0
- package/dist/esm/components/Pagination/index.js +3 -5
- package/dist/esm/components/Pagination/index.js.map +1 -1
- package/dist/esm/components/Panel/Panel.css +116 -0
- package/dist/esm/components/Panel/Panel.module.css.js +58 -0
- package/dist/esm/components/Panel/Panel.module.css.js.map +1 -0
- package/dist/esm/components/Panel/index.js +85 -35
- package/dist/esm/components/Panel/index.js.map +1 -1
- package/dist/esm/components/Popover/Popover.css +20 -0
- package/dist/esm/components/Popover/Popover.module.css.js +5 -2
- package/dist/esm/components/Popover/Popover.module.css.js.map +1 -1
- package/dist/esm/components/Popover/index.js +2 -18
- package/dist/esm/components/Popover/index.js.map +1 -1
- package/dist/esm/components/Select/MultiSelectValue.css +19 -0
- package/dist/esm/components/Select/MultiSelectValue.js +4 -9
- package/dist/esm/components/Select/MultiSelectValue.js.map +1 -1
- package/dist/esm/components/Select/MultiSelectValue.module.css.js +7 -0
- package/dist/esm/components/Select/MultiSelectValue.module.css.js.map +1 -0
- package/dist/esm/components/Select/SingleSelectValue.css +10 -0
- package/dist/esm/components/Select/SingleSelectValue.js +3 -5
- package/dist/esm/components/Select/SingleSelectValue.js.map +1 -1
- package/dist/esm/components/Select/SingleSelectValue.module.css.js +6 -0
- package/dist/esm/components/Select/SingleSelectValue.module.css.js.map +1 -0
- package/dist/esm/components/Select/common/InternalSelect.js +4 -9
- package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
- package/dist/esm/components/Select/common/SelectComponents.css +296 -0
- package/dist/esm/components/Select/common/SelectComponents.js +92 -0
- package/dist/esm/components/Select/common/SelectComponents.js.map +1 -0
- package/dist/esm/components/Select/common/SelectComponents.module.css.js +27 -0
- package/dist/esm/components/Select/common/SelectComponents.module.css.js.map +1 -0
- package/dist/esm/components/SplitButton/SplitButton.css +138 -0
- package/dist/esm/components/SplitButton/SplitButton.module.css.js +15 -0
- package/dist/esm/components/SplitButton/SplitButton.module.css.js.map +1 -0
- package/dist/esm/components/SplitButton/index.js +43 -89
- package/dist/esm/components/SplitButton/index.js.map +1 -1
- package/dist/esm/components/Table/Table.css +0 -1
- package/dist/types/components/AutoComplete/AutoComplete.d.ts +1 -1
- package/dist/types/components/Button/BaseButton.d.ts +2 -1
- package/dist/types/components/CardPromotion/CardPromotion.d.ts +1 -1
- package/dist/types/components/CodeBlock/CodeBlock.d.ts +1 -1
- package/dist/types/components/CodeBlock/InlineCodeBlock.d.ts +1 -1
- package/dist/types/components/CodeBlock/useColorStyle.d.ts +6 -112
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +1 -1
- package/dist/types/components/CrossButton/CrossButton.d.ts +2 -7
- package/dist/types/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/types/components/EmptyButton/EmptyButton.d.ts +2 -1
- package/dist/types/components/FileTabs/FileTabs.d.ts +3 -3
- package/dist/types/components/FileUpload/FileUpload.stories-common.d.ts +4 -1
- package/dist/types/components/FormContainer/Error.d.ts +2 -1
- package/dist/types/components/FormContainer/FormElementContainer.d.ts +2 -1
- package/dist/types/components/FormContainer/FormRoot.d.ts +6 -4
- package/dist/types/components/GridCenter/GridCenter.d.ts +9 -1
- package/dist/types/components/Panel/Panel.d.ts +2 -39
- package/dist/types/components/Select/common/SelectComponents.d.ts +33 -0
- package/dist/types/components/SplitButton/SplitButton.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/components/Select/common/SelectStyled.cjs +0 -194
- package/dist/cjs/components/Select/common/SelectStyled.cjs.map +0 -1
- package/dist/esm/components/Select/common/SelectStyled.js +0 -176
- package/dist/esm/components/Select/common/SelectStyled.js.map +0 -1
- package/dist/types/components/Select/common/SelectStyled.d.ts +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { styled } from 'styled-components';\nimport { Dropdown } from '@/components/Dropdown';\nimport { BaseButton } from '@/components/Button/BaseButton';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { Icon } from '@/components/Icon';\nimport { SplitButtonProps, Menu, ButtonType } from './SplitButton.types';\n\nexport const SplitButton = ({\n type = 'primary',\n htmlType,\n disabled,\n menu,\n dir,\n open,\n defaultOpen,\n onOpenChange,\n modal,\n side,\n fillWidth,\n children,\n icon,\n iconDir = 'start',\n ...props\n}: SplitButtonProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const targetDiv = ref.current;\n if (!targetDiv) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n setWidth(entry.target.clientWidth);\n }\n });\n\n resizeObserver.observe(targetDiv);\n\n return () => {\n resizeObserver.unobserve(targetDiv);\n };\n }, []);\n\n return (\n <Dropdown\n dir={dir}\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n modal={modal}\n >\n <SplitButtonTrigger\n $disabled={disabled}\n $fillWidth={fillWidth}\n ref={ref}\n $type={type}\n >\n <PrimaryButton\n disabled={disabled}\n $type={type}\n $fillWidth={fillWidth}\n {...props}\n type={htmlType}\n >\n <ButtonData\n as={IconWrapper}\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </ButtonData>\n </PrimaryButton>\n <SecondaryButton\n as={Dropdown.Trigger}\n disabled={disabled}\n $type={type}\n asChild\n data-testid=\"split-button-dropdown\"\n >\n <span>\n <Icon\n name=\"chevron-down\"\n size=\"sm\"\n />\n </span>\n </SecondaryButton>\n </SplitButtonTrigger>\n <DropdownContent\n as={Dropdown.Content}\n side={side}\n $width={width}\n sideOffset={4}\n align=\"end\"\n >\n {menu.map((item: Menu, index: number) => (\n <MenuContentItem\n key={`split-menu-option-${index}`}\n parentKey={`split-menu-option-${index}`}\n {...item}\n />\n ))}\n </DropdownContent>\n </Dropdown>\n );\n};\n\nconst DropdownContent = styled.div<{ $width: number }>`\n min-width: ${({ $width }) => $width}px;\n`;\n\nconst MenuContentItem = ({\n items = [],\n type = 'item',\n label,\n icon,\n iconDir = 'start',\n parentKey,\n ...props\n}: Menu & { parentKey: string }) => {\n if (type === 'item') {\n return (\n <Dropdown.Item {...props}>\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label}\n </IconWrapper>\n </Dropdown.Item>\n );\n }\n if (type === 'group') {\n return (\n <Dropdown.Group>\n {items.map((item, index) => (\n <MenuContentItem\n key={`${parentKey}-group-${index}`}\n parentKey={`${parentKey}-group-${index}`}\n {...item}\n />\n ))}\n </Dropdown.Group>\n );\n }\n if (type === 'sub-menu') {\n return (\n <Dropdown.Sub>\n <Dropdown.Trigger\n sub\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label}\n </IconWrapper>\n </Dropdown.Trigger>\n <Dropdown.Content sub>\n {items.map((item, index) => (\n <MenuContentItem\n key={`${parentKey}-sub-menu-${index}`}\n parentKey={`${parentKey}-sub-menu-${index}`}\n {...item}\n />\n ))}\n </Dropdown.Content>\n </Dropdown.Sub>\n );\n }\n};\n\nconst SplitButtonTrigger = styled.div<{\n $disabled?: boolean;\n $type: ButtonType;\n $fillWidth?: boolean;\n}>`\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n user-select: none;\n ${({ theme, $disabled = false, $type, $fillWidth }) => `\n width: ${$fillWidth ? '100%' : 'revert'};\n border-radius: ${theme.click.button.radii.all};\n border: 1px solid ${theme.click.button.split[$type].stroke.default};\n ${\n $disabled\n ? `\n cursor: not-allowed;\n border-color: ${theme.click.button.split[$type].stroke.disabled};\n `\n : `\n &:hover {\n border-color: ${theme.click.button.split[$type].stroke.hover};\n }\n &:focus-within {\n border-color: ${theme.click.button.split[$type].stroke.active};\n }\n `\n }\n `}\n`;\n\nconst PrimaryButton = styled(BaseButton)<{\n $type: ButtonType;\n $fillWidth?: boolean;\n}>`\n border: none;\n align-self: stretch;\n border-radius: 0;\n align-items: center;\n padding: ${({ theme }) =>\n `${theme.click.button.split.space.y} ${theme.click.button.split.space.x}`};\n ${({ theme, $type, $fillWidth }) => `\n width: ${$fillWidth ? '100%' : 'revert'};\n justify-content: center;\n background: ${theme.click.button.split[$type].background.main.default};\n color: ${theme.click.button.split[$type].text.default};\n font: ${theme.click.button.split.typography.label.default};\n &:hover {\n background: ${theme.click.button.split[$type].background.main.hover};\n color: ${theme.click.button.split[$type].text.hover};\n font: ${theme.click.button.split.typography.label.hover};\n }\n &:focus {\n background: ${theme.click.button.split[$type].background.main.active};\n color: ${theme.click.button.split[$type].text.active};\n font: ${theme.click.button.split.typography.label.active};\n }\n &:disabled {\n background: ${theme.click.button.split[$type].background.main.disabled};\n color: ${theme.click.button.split[$type].text.disabled};\n font: ${theme.click.button.split.typography.label.disabled};\n }\n `}\n`;\n\nconst SecondaryButton = styled(BaseButton)<{ $type: ButtonType }>`\n border: none;\n align-self: stretch;\n border-radius: 0;\n ${({ theme, $type }) => `\n padding: ${theme.click.button.split.icon.space.y} ${theme.click.button.split.icon.space.x};\n background: ${theme.click.button.split[$type].background.action.default};\n color: ${theme.click.button.split[$type].text.default};\n &:hover {\n background: ${theme.click.button.split[$type].background.action.hover};\n color: ${theme.click.button.split[$type].text.hover};\n }\n &:focus {\n background: ${theme.click.button.split[$type].background.action.active};\n color: ${theme.click.button.split[$type].text.active};\n }\n &[data-disabled] {\n background: ${theme.click.button.split[$type].background.action.disabled};\n color: ${theme.click.button.split[$type].text.disabled};\n }\n `}\n`;\n\nconst ButtonData = styled.div`\n width: auto;\n`;\n"],"names":["SplitButton","type","htmlType","disabled","menu","dir","open","defaultOpen","onOpenChange","modal","side","fillWidth","children","icon","iconDir","props","ref","useRef","width","setWidth","useState","useEffect","targetDiv","current","resizeObserver","ResizeObserver","entries","entry","target","clientWidth","observe","unobserve","Dropdown","jsxs","jsx","IconWrapper","Trigger","Icon","Content","map","item","index","DropdownContent","styled","div","withConfig","componentId","$width","MenuContentItem","items","label","parentKey","SplitButtonTrigger","theme","$disabled","$type","$fillWidth","click","button","radii","all","split","stroke","default","hover","active","PrimaryButton","BaseButton","space","y","x","background","main","text","typography","SecondaryButton","action","ButtonData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import { CSSProperties, useEffect, useMemo, useRef, useState } from 'react';\nimport { Dropdown } from '@/components/Dropdown';\nimport { BaseButton } from '@/components/Button/BaseButton';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport { SplitButtonProps, Menu } from './SplitButton.types';\nimport styles from './SplitButton.module.css';\n\nconst triggerVariants = cva(styles['split-button'], {\n variants: {\n type: {\n primary: styles['split-button_type_primary'],\n secondary: styles['split-button_type_secondary'],\n },\n fillWidth: {\n true: styles['split-button_fill-width'],\n },\n disabled: {\n true: styles['split-button_disabled'],\n },\n },\n defaultVariants: {\n type: 'primary',\n },\n});\n\nconst primaryVariants = cva(styles['split-button__primary'], {\n variants: {\n fillWidth: {\n true: styles['split-button__primary_fill-width'],\n },\n },\n});\n\nexport const SplitButton = ({\n type = 'primary',\n htmlType,\n disabled,\n menu,\n dir,\n open,\n defaultOpen,\n onOpenChange,\n modal,\n side,\n fillWidth,\n children,\n icon,\n iconDir = 'start',\n className,\n ...props\n}: SplitButtonProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const targetDiv = ref.current;\n if (!targetDiv) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n setWidth(entry.target.clientWidth);\n }\n });\n\n resizeObserver.observe(targetDiv);\n\n return () => {\n resizeObserver.unobserve(targetDiv);\n };\n }, []);\n\n const contentStyle = useMemo(\n () =>\n ({\n '--split-button-dropdown-min-width': `${width}px`,\n }) as CSSProperties,\n [width]\n );\n\n return (\n <Dropdown\n dir={dir}\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n modal={modal}\n >\n <div\n ref={ref}\n className={cn(triggerVariants({ type, fillWidth, disabled }))}\n >\n <BaseButton\n disabled={disabled}\n {...props}\n type={htmlType}\n className={cn(primaryVariants({ fillWidth }), className)}\n >\n <IconWrapper\n className={styles['split-button__button-data']}\n icon={icon}\n iconDir={iconDir}\n >\n {children}\n </IconWrapper>\n </BaseButton>\n <Dropdown.Trigger\n disabled={disabled}\n asChild\n data-testid=\"split-button-dropdown\"\n className={styles['split-button__secondary']}\n >\n <span>\n <Icon\n name=\"chevron-down\"\n size=\"sm\"\n />\n </span>\n </Dropdown.Trigger>\n </div>\n <Dropdown.Content\n side={side}\n sideOffset={4}\n align=\"end\"\n className={styles['split-button__dropdown-content']}\n style={contentStyle}\n >\n {menu.map((item: Menu, index: number) => (\n <MenuContentItem\n key={`split-menu-option-${index}`}\n parentKey={`split-menu-option-${index}`}\n {...item}\n />\n ))}\n </Dropdown.Content>\n </Dropdown>\n );\n};\n\nconst MenuContentItem = ({\n items = [],\n type = 'item',\n label,\n icon,\n iconDir = 'start',\n parentKey,\n ...props\n}: Menu & { parentKey: string }) => {\n if (type === 'item') {\n return (\n <Dropdown.Item {...props}>\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label}\n </IconWrapper>\n </Dropdown.Item>\n );\n }\n if (type === 'group') {\n return (\n <Dropdown.Group>\n {items.map((item, index) => (\n <MenuContentItem\n key={`${parentKey}-group-${index}`}\n parentKey={`${parentKey}-group-${index}`}\n {...item}\n />\n ))}\n </Dropdown.Group>\n );\n }\n if (type === 'sub-menu') {\n return (\n <Dropdown.Sub>\n <Dropdown.Trigger\n sub\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label}\n </IconWrapper>\n </Dropdown.Trigger>\n <Dropdown.Content sub>\n {items.map((item, index) => (\n <MenuContentItem\n key={`${parentKey}-sub-menu-${index}`}\n parentKey={`${parentKey}-sub-menu-${index}`}\n {...item}\n />\n ))}\n </Dropdown.Content>\n </Dropdown.Sub>\n );\n }\n};\n"],"names":["triggerVariants","cva","styles","variants","type","primary","secondary","fillWidth","true","disabled","defaultVariants","primaryVariants","SplitButton","htmlType","menu","dir","open","defaultOpen","onOpenChange","modal","side","children","icon","iconDir","className","props","ref","useRef","width","setWidth","useState","useEffect","targetDiv","current","resizeObserver","ResizeObserver","entries","entry","target","clientWidth","observe","unobserve","contentStyle","useMemo","Dropdown","jsxs","cn","jsx","BaseButton","IconWrapper","Icon","map","item","index","MenuContentItem","items","label","parentKey"],"mappings":"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"}
|