@koobiq/react-components 0.0.1-beta.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Alert/Alert.js +36 -21
- package/dist/components/Alert/components/AlertIcon/AlertIcon.js +3 -3
- package/dist/components/Alert/components/AlertIcon/types.d.ts +1 -1
- package/dist/components/Alert/types.d.ts +22 -6
- package/dist/components/AnimatedIcon/types.d.ts +1 -1
- package/dist/components/Backdrop/Backdrop.js +10 -2
- package/dist/components/Backdrop/types.d.ts +12 -2
- package/dist/components/Badge/Badge.js +34 -23
- package/dist/components/Badge/types.d.ts +12 -4
- package/dist/components/Button/Button.js +42 -26
- package/dist/components/Button/Button.module.css.js +5 -2
- package/dist/components/Button/types.d.ts +25 -21
- package/dist/components/ButtonToggleGroup/ButtonToggleGroup.d.ts +2 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroup.js +130 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroup.module.css.js +17 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.d.ts +7 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.js +12 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.d.ts +2 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.js +90 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.module.css.js +32 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/index.d.ts +2 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/types.d.ts +27 -0
- package/dist/components/ButtonToggleGroup/components/index.d.ts +1 -0
- package/dist/components/ButtonToggleGroup/index.d.ts +3 -0
- package/dist/components/ButtonToggleGroup/reducer.d.ts +23 -0
- package/dist/components/ButtonToggleGroup/reducer.js +25 -0
- package/dist/components/ButtonToggleGroup/types.d.ts +38 -0
- package/dist/components/ButtonToggleGroup/utils.d.ts +3 -0
- package/dist/components/ButtonToggleGroup/utils.js +19 -0
- package/dist/components/Calendar/Calendar.d.ts +2 -0
- package/dist/components/Calendar/Calendar.js +42 -0
- package/dist/components/Calendar/Calendar.module.css.js +14 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.d.ts +7 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.js +51 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.module.css.js +32 -0
- package/dist/components/Calendar/components/CalendarCell/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +6 -0
- package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.js +28 -0
- package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.module.css.js +14 -0
- package/dist/components/Calendar/components/CalendarGrid/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.d.ts +8 -0
- package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.js +54 -0
- package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.module.css.js +11 -0
- package/dist/components/Calendar/components/CalendarHeader/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.d.ts +6 -0
- package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.js +101 -0
- package/dist/components/Calendar/components/CalendarMonthDropdown/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.d.ts +6 -0
- package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.js +76 -0
- package/dist/components/Calendar/components/CalendarYearDropdown/index.d.ts +1 -0
- package/dist/components/Calendar/components/index.d.ts +2 -0
- package/dist/components/Calendar/index.d.ts +2 -0
- package/dist/components/Calendar/intl.json.js +7 -0
- package/dist/components/Calendar/types.d.ts +13 -0
- package/dist/components/Checkbox/Checkbox.d.ts +15 -5
- package/dist/components/Checkbox/Checkbox.js +81 -17
- package/dist/components/Checkbox/Checkbox.module.css.js +6 -6
- package/dist/components/Checkbox/types.d.ts +66 -10
- package/dist/components/Checkbox/types.js +1 -0
- package/dist/components/Collections/Cell.d.ts +28 -0
- package/dist/components/Collections/Cell.js +10 -0
- package/dist/components/Collections/Column.d.ts +28 -0
- package/dist/components/Collections/Column.js +10 -0
- package/dist/components/Collections/Divider.d.ts +19 -0
- package/dist/components/Collections/Divider.js +14 -0
- package/dist/components/Collections/Header.d.ts +20 -0
- package/dist/components/Collections/Header.js +16 -0
- package/dist/components/Collections/Item.d.ts +14 -0
- package/dist/components/Collections/Item.js +10 -0
- package/dist/components/Collections/Row.d.ts +14 -0
- package/dist/components/Collections/Row.js +10 -0
- package/dist/components/{List/ListSection.d.ts → Collections/Section.d.ts} +6 -6
- package/dist/components/Collections/Section.js +10 -0
- package/dist/components/Collections/TableBody.d.ts +6 -0
- package/dist/components/Collections/TableBody.js +10 -0
- package/dist/components/Collections/TableHeader.d.ts +6 -0
- package/dist/components/Collections/TableHeader.js +10 -0
- package/dist/components/Collections/index.d.ts +9 -0
- package/dist/components/Container/Container.js +13 -2
- package/dist/components/Container/types.d.ts +16 -6
- package/dist/components/DateInput/DateInput.d.ts +5 -0
- package/dist/components/DateInput/DateInput.js +105 -0
- package/dist/components/DateInput/DateInput.module.css.js +8 -0
- package/dist/components/DateInput/index.d.ts +2 -0
- package/dist/components/DateInput/types.d.ts +47 -0
- package/dist/components/DateInput/types.js +4 -0
- package/dist/components/DatePicker/DatePicker.d.ts +5 -0
- package/dist/components/DatePicker/DatePicker.js +101 -0
- package/dist/components/DatePicker/DatePicker.module.css.js +8 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/types.d.ts +34 -0
- package/dist/components/DateSegment/DateSegment.d.ts +7 -0
- package/dist/components/DateSegment/DateSegment.js +34 -0
- package/dist/components/DateSegment/DateSegment.module.css.js +17 -0
- package/dist/components/DateSegment/index.d.ts +1 -0
- package/dist/components/DateSegment/intl.json.js +7 -0
- package/dist/components/DateSegment/utils.d.ts +3 -0
- package/dist/components/DateSegment/utils.js +6 -0
- package/dist/components/Dialog/Dialog.d.ts +9 -1
- package/dist/components/Dialog/Dialog.js +31 -17
- package/dist/components/Dialog/components/DialogBody.d.ts +13 -0
- package/dist/components/Dialog/components/{DialogContent.js → DialogBody.js} +9 -8
- package/dist/components/Dialog/components/DialogCloseButton.d.ts +20 -1
- package/dist/components/Dialog/components/DialogCloseButton.js +4 -7
- package/dist/components/Dialog/components/index.d.ts +1 -1
- package/dist/components/Dialog/index.d.ts +0 -1
- package/dist/components/Dialog/types.d.ts +1 -1
- package/dist/components/Divider/Divider.d.ts +4 -0
- package/dist/components/Divider/Divider.js +47 -0
- package/dist/components/Divider/Divider.module.css.js +29 -0
- package/dist/components/Divider/index.d.ts +2 -0
- package/dist/components/Divider/types.d.ts +22 -0
- package/dist/components/Divider/types.js +4 -0
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +2 -1
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +19 -2
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +6 -3
- package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +6 -8
- package/dist/components/FieldComponents/FieldControl/FieldControl.js +5 -8
- package/dist/components/FieldComponents/FieldError/FieldError.d.ts +1 -1
- package/dist/components/FieldComponents/FieldError/FieldError.js +1 -1
- package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +3 -3
- package/dist/components/FieldComponents/FieldInput/FieldInput.js +4 -4
- package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +3 -3
- package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.d.ts +12 -0
- package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.js +32 -0
- package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.module.css.js +20 -0
- package/dist/components/FieldComponents/FieldInputDate/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +2 -2
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +54 -32
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +4 -3
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +2 -2
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +3 -3
- package/dist/components/FieldComponents/FieldSelect/FieldSelect.d.ts +13 -0
- package/dist/components/FieldComponents/FieldSelect/FieldSelect.js +37 -0
- package/dist/components/FieldComponents/FieldSelect/FieldSelect.module.css.js +20 -0
- package/dist/components/FieldComponents/FieldSelect/index.d.ts +1 -0
- package/dist/components/FieldComponents/index.d.ts +2 -1
- package/dist/components/FormControlLabel/types.d.ts +5 -5
- package/dist/components/Grid/Grid.d.ts +8 -2
- package/dist/components/Grid/Grid.js +5 -2
- package/dist/components/Grid/types.d.ts +2 -2
- package/dist/components/IconButton/IconButton.js +38 -22
- package/dist/components/IconButton/index.d.ts +2 -2
- package/dist/components/IconButton/types.d.ts +30 -19
- package/dist/components/Input/Input.d.ts +24 -13
- package/dist/components/Input/Input.js +60 -13
- package/dist/components/Input/types.d.ts +51 -29
- package/dist/components/InputNumber/InputNumber.d.ts +24 -12
- package/dist/components/InputNumber/InputNumber.js +77 -26
- package/dist/components/InputNumber/components/InputNumberCounterControls.js +12 -12
- package/dist/components/InputNumber/components/InputNumberCounterControls.module.css.js +7 -4
- package/dist/components/InputNumber/types.d.ts +51 -28
- package/dist/components/Link/Link.js +32 -10
- package/dist/components/Link/Link.module.css.js +4 -4
- package/dist/components/Link/types.d.ts +38 -10
- package/dist/components/List/List.d.ts +17 -3
- package/dist/components/List/List.js +20 -8
- package/dist/components/List/List.module.css.js +0 -3
- package/dist/components/List/components/ListItemText/ListItemText.js +26 -0
- package/dist/components/List/components/ListItemText/ListItemText.module.css.js +11 -0
- package/dist/components/List/components/ListOption/ListOption.d.ts +5 -3
- package/dist/components/List/components/ListOption/ListOption.js +10 -15
- package/dist/components/List/components/ListSection/ListSection.d.ts +5 -3
- package/dist/components/List/components/ListSection/ListSection.js +1 -4
- package/dist/components/List/index.d.ts +2 -2
- package/dist/components/List/types.d.ts +5 -39
- package/dist/components/Menu/Menu.d.ts +15 -0
- package/dist/components/Menu/Menu.js +75 -0
- package/dist/components/Menu/Menu.module.css.js +8 -0
- package/dist/components/Menu/components/MenuHeader/MenuHeader.d.ts +5 -0
- package/dist/components/Menu/components/MenuHeader/MenuHeader.js +9 -0
- package/dist/components/Menu/components/MenuHeader/index.d.ts +1 -0
- package/dist/components/Menu/components/MenuInner/MenuInner.d.ts +6 -0
- package/dist/components/Menu/components/MenuInner/MenuInner.js +46 -0
- package/dist/components/Menu/components/MenuInner/MenuInner.module.css.js +11 -0
- package/dist/components/Menu/components/MenuInner/index.d.ts +1 -0
- package/dist/components/Menu/components/MenuItem/MenuItem.d.ts +7 -0
- package/dist/components/Menu/components/MenuItem/MenuItem.js +36 -0
- package/dist/components/Menu/components/MenuItem/index.d.ts +1 -0
- package/dist/components/Menu/components/MenuSection/MenuSection.d.ts +7 -0
- package/dist/components/Menu/components/MenuSection/MenuSection.js +30 -0
- package/dist/components/Menu/components/MenuSection/MenuSection.module.css.js +11 -0
- package/dist/components/Menu/components/MenuSection/index.d.ts +1 -0
- package/dist/components/Menu/components/index.d.ts +1 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Menu/types.d.ts +49 -0
- package/dist/components/Modal/Modal.d.ts +33 -2
- package/dist/components/Modal/Modal.js +23 -16
- package/dist/components/Modal/index.d.ts +15 -2
- package/dist/components/Modal/index.js +9 -0
- package/dist/components/Modal/types.d.ts +14 -5
- package/dist/components/Popover/Popover.d.ts +42 -2
- package/dist/components/Popover/Popover.js +23 -141
- package/dist/components/Popover/Popover.module.css.js +3 -0
- package/dist/components/Popover/PopoverInner.d.ts +3 -0
- package/dist/components/Popover/PopoverInner.js +143 -0
- package/dist/components/Popover/index.d.ts +15 -2
- package/dist/components/Popover/index.js +9 -0
- package/dist/components/Popover/types.d.ts +35 -10
- package/dist/components/Popover/types.js +9 -1
- package/dist/components/ProgressBar/ProgressBar.js +5 -5
- package/dist/components/ProgressBar/types.d.ts +10 -22
- package/dist/components/ProgressSpinner/ProgressSpinner.js +5 -5
- package/dist/components/ProgressSpinner/types.d.ts +12 -24
- package/dist/components/Provider/Provider.d.ts +1 -1
- package/dist/components/Provider/Provider.js +8 -4
- package/dist/components/Provider/types.d.ts +3 -1
- package/dist/components/RadioGroup/RadioGroup.js +42 -2
- package/dist/components/RadioGroup/components/Radio/Radio.d.ts +7 -4
- package/dist/components/RadioGroup/components/Radio/Radio.js +35 -10
- package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +6 -6
- package/dist/components/RadioGroup/components/Radio/types.d.ts +25 -10
- package/dist/components/RadioGroup/components/Radio/types.js +1 -0
- package/dist/components/RadioGroup/types.d.ts +44 -17
- package/dist/components/Select/Select.d.ts +11 -0
- package/dist/components/Select/Select.js +204 -0
- package/dist/components/Select/Select.module.css.js +20 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/types.d.ts +86 -0
- package/dist/components/SidePanel/SidePanel.d.ts +35 -2
- package/dist/components/SidePanel/SidePanel.js +31 -18
- package/dist/components/SidePanel/SidePanel.module.css.js +7 -1
- package/dist/components/SidePanel/index.d.ts +15 -2
- package/dist/components/SidePanel/index.js +9 -0
- package/dist/components/SidePanel/types.d.ts +26 -8
- package/dist/components/SidePanel/types.js +2 -0
- package/dist/components/SkeletonBlock/SkeletonBlock.d.ts +3 -1
- package/dist/components/SkeletonTypography/SkeletonTypography.d.ts +3 -1
- package/dist/components/SkeletonTypography/types.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +12 -0
- package/dist/components/Table/Table.js +97 -0
- package/dist/components/Table/Table.module.css.js +11 -0
- package/dist/components/Table/components/TableCell/TableCell.d.ts +7 -0
- package/dist/components/Table/components/TableCell/TableCell.js +39 -0
- package/dist/components/Table/components/TableCell/TableCell.module.css.js +27 -0
- package/dist/components/Table/components/TableCell/index.d.ts +1 -0
- package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.d.ts +7 -0
- package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.js +21 -0
- package/dist/components/Table/components/TableCheckboxCell/index.d.ts +1 -0
- package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.d.ts +7 -0
- package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.js +46 -0
- package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.module.css.js +27 -0
- package/dist/components/Table/components/TableColumnHeader/index.d.ts +1 -0
- package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.d.ts +9 -0
- package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.js +16 -0
- package/dist/components/Table/components/TableHeaderRow/index.d.ts +1 -0
- package/dist/components/Table/components/TableRow/TableRow.d.ts +9 -0
- package/dist/components/Table/components/TableRow/TableRow.js +46 -0
- package/dist/components/Table/components/TableRow/TableRow.module.css.js +23 -0
- package/dist/components/Table/components/TableRow/index.d.ts +1 -0
- package/dist/components/Table/components/TableRowGroup/TableRowGroup.d.ts +6 -0
- package/dist/components/Table/components/TableRowGroup/TableRowGroup.js +15 -0
- package/dist/components/Table/components/TableRowGroup/index.d.ts +1 -0
- package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.d.ts +7 -0
- package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.js +22 -0
- package/dist/components/Table/components/TableSelectAllCell/index.d.ts +1 -0
- package/dist/components/Table/components/index.d.ts +7 -0
- package/dist/components/Table/index.d.ts +1 -0
- package/dist/components/Table/types.d.ts +49 -0
- package/dist/components/Table/utils.d.ts +2 -0
- package/dist/components/Table/utils.js +8 -0
- package/dist/components/TagGroup/Tag.d.ts +24 -0
- package/dist/components/TagGroup/Tag.js +10 -0
- package/dist/components/TagGroup/TagGroup.d.ts +2 -0
- package/dist/components/TagGroup/TagGroup.js +23 -0
- package/dist/components/TagGroup/TagGroup.module.css.js +8 -0
- package/dist/components/TagGroup/components/TagInner/TagInner.d.ts +11 -0
- package/dist/components/TagGroup/components/TagInner/TagInner.js +86 -0
- package/dist/components/TagGroup/components/TagInner/TagInner.module.css.js +30 -0
- package/dist/components/TagGroup/components/TagInner/index.d.ts +1 -0
- package/dist/components/TagGroup/components/TagInner/utils.d.ts +3 -0
- package/dist/components/TagGroup/components/TagInner/utils.js +9 -0
- package/dist/components/TagGroup/components/index.d.ts +1 -0
- package/dist/components/TagGroup/index.d.ts +3 -0
- package/dist/components/TagGroup/intl.json.js +7 -0
- package/dist/components/TagGroup/types.d.ts +26 -0
- package/dist/components/TagGroup/types.js +9 -0
- package/dist/components/Textarea/Textarea.d.ts +12 -9
- package/dist/components/Textarea/Textarea.js +48 -3
- package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +4 -4
- package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +15 -12
- package/dist/components/Textarea/types.d.ts +51 -28
- package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +1 -1
- package/dist/components/Textarea/utils/useTextareaAutosize.js +2 -2
- package/dist/components/TimePicker/TimePicker.d.ts +5 -0
- package/dist/components/TimePicker/TimePicker.js +112 -0
- package/dist/components/TimePicker/TimePicker.module.css.js +11 -0
- package/dist/components/TimePicker/index.d.ts +2 -0
- package/dist/components/TimePicker/types.d.ts +46 -0
- package/dist/components/Toggle/Toggle.d.ts +13 -5
- package/dist/components/Toggle/Toggle.js +72 -11
- package/dist/components/Toggle/Toggle.module.css.js +6 -6
- package/dist/components/Toggle/types.d.ts +49 -8
- package/dist/components/Tooltip/Tooltip.d.ts +6 -5
- package/dist/components/Tooltip/Tooltip.js +40 -20
- package/dist/components/Tooltip/types.d.ts +26 -24
- package/dist/components/Typography/types.d.ts +10 -5
- package/dist/components/index.d.ts +12 -0
- package/dist/index.js +65 -26
- package/dist/style.css +1094 -229
- package/dist/styles/utility.d.ts +2 -0
- package/dist/styles/utility.js +3 -1
- package/dist/styles/utility.module.css.js +5 -1
- package/dist/types.d.ts +1 -0
- package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.d.ts +2 -0
- package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.js +6 -0
- package/dist/utils/capitalizeFirstLetter/index.d.ts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +13 -7
- package/dist/components/Dialog/DialogContext.d.ts +0 -9
- package/dist/components/Dialog/DialogContext.js +0 -12
- package/dist/components/Dialog/components/DialogContent.d.ts +0 -12
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +0 -10
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +0 -18
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +0 -11
- package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +0 -1
- package/dist/components/List/ListItem.d.ts +0 -11
- package/dist/components/List/ListItem.js +0 -11
- package/dist/components/List/ListSection.js +0 -11
- package/dist/components/List/components/ListOption/ListOption.module.css.js +0 -23
- package/dist/components/List/types.js +0 -4
|
@@ -4,8 +4,8 @@ const icon = "kbq-radio-icon-148a68";
|
|
|
4
4
|
const normal = "kbq-radio-normal-81ed3e";
|
|
5
5
|
const big = "kbq-radio-big-06db10";
|
|
6
6
|
const hovered = "kbq-radio-hovered-3999f1";
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const selected = "kbq-radio-selected-15ea41";
|
|
8
|
+
const invalid = "kbq-radio-invalid-e69d52";
|
|
9
9
|
const focusVisible = "kbq-radio-focusVisible-6613a5";
|
|
10
10
|
const disabled = "kbq-radio-disabled-d60f1e";
|
|
11
11
|
const start = "kbq-radio-start-e3dab7";
|
|
@@ -17,8 +17,8 @@ const s = {
|
|
|
17
17
|
normal,
|
|
18
18
|
big,
|
|
19
19
|
hovered,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
selected,
|
|
21
|
+
invalid,
|
|
22
22
|
focusVisible,
|
|
23
23
|
disabled,
|
|
24
24
|
start,
|
|
@@ -27,15 +27,15 @@ const s = {
|
|
|
27
27
|
export {
|
|
28
28
|
base,
|
|
29
29
|
big,
|
|
30
|
-
checked,
|
|
31
30
|
circle,
|
|
32
31
|
s as default,
|
|
33
32
|
disabled,
|
|
34
33
|
end,
|
|
35
|
-
error,
|
|
36
34
|
focusVisible,
|
|
37
35
|
hovered,
|
|
38
36
|
icon,
|
|
37
|
+
invalid,
|
|
39
38
|
normal,
|
|
39
|
+
selected,
|
|
40
40
|
start
|
|
41
41
|
};
|
|
@@ -1,27 +1,42 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef } from 'react';
|
|
2
|
-
import type {
|
|
1
|
+
import type { ComponentPropsWithRef, CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import type { ExtendableProps } from '@koobiq/react-core';
|
|
3
|
+
import { type RadioProps as RadioPropsPrimitive } from '@koobiq/react-primitives';
|
|
3
4
|
export declare const radioPropSize: readonly ["normal", "big"];
|
|
4
5
|
export type RadioPropSize = (typeof radioPropSize)[number];
|
|
5
6
|
export declare const radioPropLabelPlacement: readonly ["start", "end"];
|
|
6
7
|
export type RadioPropLabelPlacement = (typeof radioPropLabelPlacement)[number];
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
type RadioDeprecatedProps = {
|
|
9
|
+
/**
|
|
10
|
+
* If `true`, the component is disabled.
|
|
11
|
+
* @default false
|
|
12
|
+
* @deprecated
|
|
13
|
+
* The "disabled" prop is deprecated. Use "isDisabled" prop to replace it.
|
|
14
|
+
*/
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type RadioProps = ExtendableProps<{
|
|
18
|
+
/** The content of the component. */
|
|
19
|
+
children?: ReactNode;
|
|
10
20
|
/**
|
|
11
21
|
* Size.
|
|
12
|
-
* @default normal
|
|
13
|
-
|
|
22
|
+
* @default 'normal'
|
|
23
|
+
*/
|
|
14
24
|
size?: RadioPropSize;
|
|
15
25
|
/**
|
|
16
26
|
* The position of the label.
|
|
17
|
-
* @default end
|
|
18
|
-
|
|
27
|
+
* @default 'end'
|
|
28
|
+
*/
|
|
19
29
|
labelPlacement?: RadioPropLabelPlacement;
|
|
20
30
|
/** Additional CSS-classes. */
|
|
21
31
|
className?: string;
|
|
32
|
+
/** Inline styles. */
|
|
33
|
+
style?: CSSProperties;
|
|
34
|
+
/** Unique identifier for testing purposes. */
|
|
35
|
+
'data-testid'?: string | number;
|
|
22
36
|
/** The props used for each slot inside. */
|
|
23
37
|
slotProps?: {
|
|
24
38
|
circle?: ComponentPropsWithRef<'span'>;
|
|
25
39
|
label?: ComponentPropsWithRef<'span'>;
|
|
26
40
|
};
|
|
27
|
-
}
|
|
41
|
+
} & RadioDeprecatedProps, RadioPropsPrimitive>;
|
|
42
|
+
export {};
|
|
@@ -1,37 +1,64 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentPropsWithRef, CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import type { ExtendableComponentPropsWithRef, ExtendableProps } from '@koobiq/react-core';
|
|
3
|
-
import type {
|
|
3
|
+
import type { RadioGroupProps as RadioGroupPrimitiveProps } from '@koobiq/react-primitives';
|
|
4
4
|
import type { RadioGroupDescriptionProps, RadioGroupLabelProps } from './components';
|
|
5
5
|
export declare const radioGroupPropSize: readonly ["normal", "big"];
|
|
6
6
|
export type RadioGroupPropSize = (typeof radioGroupPropSize)[number];
|
|
7
7
|
export declare const radioGroupPropOrientation: readonly ["horizontal", "vertical"];
|
|
8
8
|
export type RadioGroupPropOrientation = (typeof radioGroupPropOrientation)[number];
|
|
9
|
+
type RadioGroupDeprecatedProps = {
|
|
10
|
+
/**
|
|
11
|
+
* If `true`, the component is disabled.
|
|
12
|
+
* @default false
|
|
13
|
+
* @deprecated
|
|
14
|
+
* The "disabled" prop is deprecated. Use "isDisabled" prop to replace it.
|
|
15
|
+
*/
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* If `true`, the component will indicate an error.
|
|
19
|
+
* @default false
|
|
20
|
+
* @deprecated
|
|
21
|
+
* The "error" prop is deprecated. Use "isInvalid" prop to replace it.
|
|
22
|
+
*/
|
|
23
|
+
error?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* It prevents the user from changing the value of the checkbox.
|
|
26
|
+
* @default false
|
|
27
|
+
* @deprecated
|
|
28
|
+
* The "readonly" prop is deprecated. Use "isReadonly" prop to replace it.
|
|
29
|
+
*/
|
|
30
|
+
readonly?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* If `true`, the input element is required.
|
|
33
|
+
* @default false
|
|
34
|
+
* @deprecated
|
|
35
|
+
* The "required" prop is deprecated. Use "isRequired" prop to replace it.
|
|
36
|
+
*/
|
|
37
|
+
required?: boolean;
|
|
38
|
+
};
|
|
9
39
|
export type RadioGroupBaseProps = ExtendableProps<{
|
|
10
40
|
/** Additional CSS-classes. */
|
|
11
41
|
className?: string;
|
|
42
|
+
/** Inline styles. */
|
|
43
|
+
style?: CSSProperties;
|
|
12
44
|
/** The content of the component. */
|
|
13
45
|
children?: ReactNode;
|
|
14
46
|
/**
|
|
15
47
|
* Size.
|
|
16
|
-
* @default normal
|
|
17
|
-
|
|
48
|
+
* @default 'normal'
|
|
49
|
+
*/
|
|
18
50
|
size?: RadioGroupPropSize;
|
|
19
|
-
/** Slots */
|
|
20
|
-
slotProps?: {
|
|
21
|
-
root?: ComponentPropsWithRef<'div'>;
|
|
22
|
-
description?: RadioGroupDescriptionProps;
|
|
23
|
-
label?: RadioGroupLabelProps;
|
|
24
|
-
};
|
|
25
51
|
/**
|
|
26
52
|
* The axis the Radio Button(s) should align with.
|
|
27
53
|
* @default 'vertical'
|
|
28
54
|
*/
|
|
29
55
|
orientation?: RadioGroupPropOrientation;
|
|
30
|
-
/** The
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
},
|
|
56
|
+
/** The props used for each slot inside. */
|
|
57
|
+
slotProps?: {
|
|
58
|
+
root?: ComponentPropsWithRef<'div'>;
|
|
59
|
+
description?: RadioGroupDescriptionProps;
|
|
60
|
+
label?: RadioGroupLabelProps;
|
|
61
|
+
};
|
|
62
|
+
} & RadioGroupDeprecatedProps, Omit<RadioGroupPrimitiveProps, 'validate' | 'validationBehavior' | 'validationState' | 'errorMessage'>>;
|
|
37
63
|
export type RadioGroupProps = ExtendableComponentPropsWithRef<RadioGroupBaseProps, 'div'>;
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Item, Section } from '../Collections';
|
|
2
|
+
import { ListItemText } from '../List';
|
|
3
|
+
import type { SelectComponent } from './index';
|
|
4
|
+
declare const SelectComponent: SelectComponent;
|
|
5
|
+
type CompoundedComponent = typeof SelectComponent & {
|
|
6
|
+
Item: typeof Item;
|
|
7
|
+
Section: typeof Section;
|
|
8
|
+
ItemText: typeof ListItemText;
|
|
9
|
+
};
|
|
10
|
+
export declare const Select: CompoundedComponent;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { deprecate } from "@koobiq/logger";
|
|
4
|
+
import { useDOMRef, useBoolean, useElementSize, mergeProps, clsx } from "@koobiq/react-core";
|
|
5
|
+
import { IconChevronDownS16 } from "@koobiq/react-icons";
|
|
6
|
+
import { useSelectState, removeDataAttributes, useSelect, HiddenSelect } from "@koobiq/react-primitives";
|
|
7
|
+
import { PopoverInner } from "../Popover/PopoverInner.js";
|
|
8
|
+
import s from "./Select.module.css.js";
|
|
9
|
+
import { FieldSelect } from "../FieldComponents/FieldSelect/FieldSelect.js";
|
|
10
|
+
import { ListInner } from "../List/List.js";
|
|
11
|
+
import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
|
|
12
|
+
import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
|
|
13
|
+
import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
|
|
14
|
+
import { FieldCaption } from "../FieldComponents/FieldCaption/FieldCaption.js";
|
|
15
|
+
import { FieldError } from "../FieldComponents/FieldError/FieldError.js";
|
|
16
|
+
import { Item } from "../Collections/Item.js";
|
|
17
|
+
import { Section } from "../Collections/Section.js";
|
|
18
|
+
import { ListItemText } from "../List/components/ListItemText/ListItemText.js";
|
|
19
|
+
function SelectRender(props, ref) {
|
|
20
|
+
const {
|
|
21
|
+
fullWidth = false,
|
|
22
|
+
"data-testid": testId,
|
|
23
|
+
className,
|
|
24
|
+
style,
|
|
25
|
+
open,
|
|
26
|
+
isOpen: isOpenProp,
|
|
27
|
+
hiddenLabel,
|
|
28
|
+
isLabelHidden: isLabelHiddenProp,
|
|
29
|
+
disabled,
|
|
30
|
+
isDisabled: isDisabledProp,
|
|
31
|
+
error,
|
|
32
|
+
isInvalid: isInvalidProp,
|
|
33
|
+
required,
|
|
34
|
+
isRequired: isRequiredProp,
|
|
35
|
+
caption,
|
|
36
|
+
placeholder,
|
|
37
|
+
endAddon,
|
|
38
|
+
slotProps,
|
|
39
|
+
startAddon,
|
|
40
|
+
label,
|
|
41
|
+
name,
|
|
42
|
+
errorMessage,
|
|
43
|
+
renderValue: renderValueProp
|
|
44
|
+
} = props;
|
|
45
|
+
const isOpen = isOpenProp ?? open;
|
|
46
|
+
const isInvalid = isInvalidProp ?? error ?? false;
|
|
47
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
48
|
+
const isRequired = isRequiredProp ?? required ?? false;
|
|
49
|
+
const isLabelHidden = isLabelHiddenProp ?? hiddenLabel ?? false;
|
|
50
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
51
|
+
deprecate(
|
|
52
|
+
'Select: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
if (process.env.NODE_ENV !== "production" && "required" in props) {
|
|
56
|
+
deprecate(
|
|
57
|
+
'Select: the "required" prop is deprecated. Use "isRequired" prop to replace it.'
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
if (process.env.NODE_ENV !== "production" && "error" in props) {
|
|
61
|
+
deprecate(
|
|
62
|
+
'Select: the "error" prop is deprecated. Use "isInvalid" prop to replace it.'
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
if (process.env.NODE_ENV !== "production" && "open" in props) {
|
|
66
|
+
deprecate(
|
|
67
|
+
'Select: the "open" prop is deprecated. Use "isOpen" prop to replace it.'
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
if (process.env.NODE_ENV !== "production" && "hiddenLabel" in props) {
|
|
71
|
+
deprecate(
|
|
72
|
+
'Select: the "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.'
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
const domRef = useDOMRef(ref);
|
|
76
|
+
const state = useSelectState({
|
|
77
|
+
...removeDataAttributes(props),
|
|
78
|
+
isOpen,
|
|
79
|
+
isInvalid,
|
|
80
|
+
isDisabled,
|
|
81
|
+
isRequired
|
|
82
|
+
});
|
|
83
|
+
const [opened, { on, off }] = useBoolean(state.isOpen);
|
|
84
|
+
const {
|
|
85
|
+
menuProps,
|
|
86
|
+
valueProps,
|
|
87
|
+
triggerProps,
|
|
88
|
+
labelProps: labelPropsAria,
|
|
89
|
+
descriptionProps,
|
|
90
|
+
errorMessageProps
|
|
91
|
+
} = useSelect(
|
|
92
|
+
{
|
|
93
|
+
...removeDataAttributes(props),
|
|
94
|
+
isOpen,
|
|
95
|
+
isInvalid,
|
|
96
|
+
isDisabled,
|
|
97
|
+
isRequired
|
|
98
|
+
},
|
|
99
|
+
{ ...state, isOpen: state.isOpen || opened },
|
|
100
|
+
domRef
|
|
101
|
+
);
|
|
102
|
+
const { ref: containerRef, width } = useElementSize();
|
|
103
|
+
const rootProps = mergeProps({
|
|
104
|
+
"data-testid": testId,
|
|
105
|
+
"data-invalid": isInvalid,
|
|
106
|
+
"data-fullwidth": fullWidth,
|
|
107
|
+
"data-disabled": isDisabled,
|
|
108
|
+
"data-required": isRequired,
|
|
109
|
+
className: clsx(s.base, fullWidth && s.fullWidth, className),
|
|
110
|
+
style
|
|
111
|
+
});
|
|
112
|
+
const listProps = mergeProps(
|
|
113
|
+
{ className: s.list, state },
|
|
114
|
+
slotProps?.list,
|
|
115
|
+
menuProps
|
|
116
|
+
);
|
|
117
|
+
const labelProps = mergeProps(
|
|
118
|
+
{ isHidden: isLabelHidden, children: label, isRequired },
|
|
119
|
+
slotProps?.label,
|
|
120
|
+
labelPropsAria
|
|
121
|
+
);
|
|
122
|
+
const groupProps = mergeProps(
|
|
123
|
+
{
|
|
124
|
+
slotProps: {
|
|
125
|
+
end: { className: s.addon },
|
|
126
|
+
start: { className: s.addon }
|
|
127
|
+
},
|
|
128
|
+
startAddon,
|
|
129
|
+
endAddon: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
130
|
+
endAddon,
|
|
131
|
+
/* @__PURE__ */ jsx(IconChevronDownS16, {})
|
|
132
|
+
] }),
|
|
133
|
+
isInvalid,
|
|
134
|
+
isDisabled,
|
|
135
|
+
ref: containerRef
|
|
136
|
+
},
|
|
137
|
+
slotProps?.group
|
|
138
|
+
);
|
|
139
|
+
const controlProps = mergeProps(
|
|
140
|
+
{
|
|
141
|
+
isInvalid,
|
|
142
|
+
isDisabled,
|
|
143
|
+
ref: domRef,
|
|
144
|
+
placeholder
|
|
145
|
+
},
|
|
146
|
+
slotProps?.control,
|
|
147
|
+
valueProps,
|
|
148
|
+
triggerProps
|
|
149
|
+
);
|
|
150
|
+
const captionProps = mergeProps({ children: caption }, slotProps?.caption, descriptionProps);
|
|
151
|
+
const errorProps = mergeProps(
|
|
152
|
+
{ isInvalid, children: errorMessage },
|
|
153
|
+
slotProps?.errorMessage,
|
|
154
|
+
errorMessageProps
|
|
155
|
+
);
|
|
156
|
+
const popoverProps = mergeProps(
|
|
157
|
+
{
|
|
158
|
+
state,
|
|
159
|
+
offset: 4,
|
|
160
|
+
size: width,
|
|
161
|
+
hideArrow: true,
|
|
162
|
+
anchorRef: domRef,
|
|
163
|
+
className: s.popover,
|
|
164
|
+
placement: "bottom start",
|
|
165
|
+
type: "listbox",
|
|
166
|
+
slotProps: {
|
|
167
|
+
transition: {
|
|
168
|
+
onEnter: on,
|
|
169
|
+
onExited: off
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
slotProps?.popover
|
|
174
|
+
);
|
|
175
|
+
const renderDefaultValue = (selectedItem) => selectedItem?.rendered;
|
|
176
|
+
const renderValue = renderValueProp || renderDefaultValue;
|
|
177
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
178
|
+
/* @__PURE__ */ jsxs(FieldControl, { ...rootProps, children: [
|
|
179
|
+
/* @__PURE__ */ jsx(FieldLabel, { ...labelProps }),
|
|
180
|
+
/* @__PURE__ */ jsx(
|
|
181
|
+
HiddenSelect,
|
|
182
|
+
{
|
|
183
|
+
name,
|
|
184
|
+
label,
|
|
185
|
+
state,
|
|
186
|
+
triggerRef: domRef,
|
|
187
|
+
isDisabled
|
|
188
|
+
}
|
|
189
|
+
),
|
|
190
|
+
/* @__PURE__ */ jsx(FieldInputGroup, { ...groupProps, children: /* @__PURE__ */ jsx(FieldSelect, { ...controlProps, children: renderValue(state?.selectedItem) }) }),
|
|
191
|
+
/* @__PURE__ */ jsx(FieldCaption, { ...captionProps }),
|
|
192
|
+
/* @__PURE__ */ jsx(FieldError, { ...errorProps })
|
|
193
|
+
] }),
|
|
194
|
+
/* @__PURE__ */ jsx(PopoverInner, { ...popoverProps, children: /* @__PURE__ */ jsx(ListInner, { ...listProps }) })
|
|
195
|
+
] });
|
|
196
|
+
}
|
|
197
|
+
const SelectComponent = forwardRef(SelectRender);
|
|
198
|
+
const Select = SelectComponent;
|
|
199
|
+
Select.Item = Item;
|
|
200
|
+
Select.Section = Section;
|
|
201
|
+
Select.ItemText = ListItemText;
|
|
202
|
+
export {
|
|
203
|
+
Select
|
|
204
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const base = "kbq-select-6d31ad";
|
|
2
|
+
const fullWidth = "kbq-select-fullWidth-1dfc13";
|
|
3
|
+
const addon = "kbq-select-addon-cbc524";
|
|
4
|
+
const popover = "kbq-select-popover-79fc05";
|
|
5
|
+
const list = "kbq-select-list-8ffac0";
|
|
6
|
+
const s = {
|
|
7
|
+
base,
|
|
8
|
+
fullWidth,
|
|
9
|
+
addon,
|
|
10
|
+
popover,
|
|
11
|
+
list
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
addon,
|
|
15
|
+
base,
|
|
16
|
+
s as default,
|
|
17
|
+
fullWidth,
|
|
18
|
+
list,
|
|
19
|
+
popover
|
|
20
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { ComponentRef, CSSProperties, ReactElement, ReactNode, Ref } from 'react';
|
|
2
|
+
import type { ExtendableProps, Node } from '@koobiq/react-core';
|
|
3
|
+
import type { AriaSelectProps } from '@koobiq/react-primitives';
|
|
4
|
+
import type { FieldErrorProps, FieldLabelProps, FieldSelectProps, FieldCaptionProps, FieldInputGroupProps } from '../FieldComponents';
|
|
5
|
+
import type { ListProps } from '../List';
|
|
6
|
+
import type { PopoverProps } from '../Popover';
|
|
7
|
+
export type SelectKey = string | number;
|
|
8
|
+
type SelectDeprecatedProps = {
|
|
9
|
+
/**
|
|
10
|
+
* If `true`, the component is disabled.
|
|
11
|
+
* @default false
|
|
12
|
+
* @deprecated
|
|
13
|
+
* The "disabled" prop is deprecated. Use "isDisabled" prop to replace it.
|
|
14
|
+
*/
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* If `true`, the input will indicate an error.
|
|
18
|
+
* @default false
|
|
19
|
+
* @deprecated
|
|
20
|
+
* The "error" prop is deprecated. Use "isInvalid" prop to replace it.
|
|
21
|
+
*/
|
|
22
|
+
error?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* If `true`, the label is displayed as required and the input element is required.
|
|
25
|
+
* @default false
|
|
26
|
+
* @deprecated
|
|
27
|
+
* The "required" prop is deprecated. Use "isRequired" prop to replace it.
|
|
28
|
+
*/
|
|
29
|
+
required?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the open state of the menu.
|
|
32
|
+
* @deprecated
|
|
33
|
+
* The "open" prop is deprecated. Use "isOpen" prop to replace it.
|
|
34
|
+
*/
|
|
35
|
+
open?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
38
|
+
* @default false
|
|
39
|
+
* @deprecated
|
|
40
|
+
* The "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.
|
|
41
|
+
*/
|
|
42
|
+
hiddenLabel?: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type SelectProps<T> = ExtendableProps<{
|
|
45
|
+
/** Additional CSS-classes. */
|
|
46
|
+
className?: string;
|
|
47
|
+
/** Addon placed before the children. */
|
|
48
|
+
startAddon?: ReactNode;
|
|
49
|
+
/** Addon placed after the children. */
|
|
50
|
+
endAddon?: ReactNode;
|
|
51
|
+
/** Inline styles. */
|
|
52
|
+
style?: CSSProperties;
|
|
53
|
+
/** An error message for the field. */
|
|
54
|
+
errorMessage?: ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
isLabelHidden?: boolean;
|
|
60
|
+
/** The helper text content. */
|
|
61
|
+
caption?: ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* If true, the input will take up the full width of its container.
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
fullWidth?: boolean;
|
|
67
|
+
/** Unique identifier for testing purposes. */
|
|
68
|
+
'data-testid'?: string | number;
|
|
69
|
+
/** Ref to the control */
|
|
70
|
+
ref?: Ref<HTMLButtonElement>;
|
|
71
|
+
/** A render function for displaying the selected value. */
|
|
72
|
+
renderValue?: (props: Node<T> | null) => ReactElement;
|
|
73
|
+
/** The props used for each slot inside. */
|
|
74
|
+
slotProps?: {
|
|
75
|
+
popover?: PopoverProps;
|
|
76
|
+
label?: FieldLabelProps;
|
|
77
|
+
list?: ListProps<T>;
|
|
78
|
+
control?: FieldSelectProps;
|
|
79
|
+
caption?: FieldCaptionProps;
|
|
80
|
+
group?: FieldInputGroupProps;
|
|
81
|
+
errorMessage?: FieldErrorProps;
|
|
82
|
+
};
|
|
83
|
+
} & SelectDeprecatedProps, Omit<AriaSelectProps<T>, 'description' | 'validationState'>>;
|
|
84
|
+
export type SelectComponent = <T>(props: SelectProps<T>) => ReactElement | null;
|
|
85
|
+
export type SelectRef = ComponentRef<'button'>;
|
|
86
|
+
export {};
|
|
@@ -1,2 +1,35 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
1
|
+
import { type BackdropProps } from '../Backdrop';
|
|
2
|
+
import { Dialog, type DialogProps } from '../Dialog';
|
|
3
|
+
declare const SidePanelComponent: import("react").ForwardRefExoticComponent<{
|
|
4
|
+
size?: import("./types").SidePanelPropSize;
|
|
5
|
+
placement?: import("./types").SidePanelPropPlacement;
|
|
6
|
+
isOpen?: boolean;
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
children?: import("./types").SidePanelPropContent;
|
|
9
|
+
control?: import("./types").SidePanelPropControl;
|
|
10
|
+
hideCloseButton?: boolean;
|
|
11
|
+
onOpenChange?: (open: boolean) => void;
|
|
12
|
+
portalContainer?: Element;
|
|
13
|
+
disableExitOnClickOutside?: boolean;
|
|
14
|
+
disableExitOnEscapeKeyDown?: boolean;
|
|
15
|
+
hideBackdrop?: boolean;
|
|
16
|
+
className?: string;
|
|
17
|
+
'data-testid'?: string | number;
|
|
18
|
+
disableFocusManagement?: boolean;
|
|
19
|
+
shouldCloseOnInteractOutside?: (element: Element) => boolean;
|
|
20
|
+
slotProps?: {
|
|
21
|
+
dialog?: DialogProps;
|
|
22
|
+
backdrop?: BackdropProps;
|
|
23
|
+
panel?: import("react").ComponentPropsWithRef<"div">;
|
|
24
|
+
};
|
|
25
|
+
} & {
|
|
26
|
+
open?: boolean;
|
|
27
|
+
position?: import("./types").SidePanelPropPosition;
|
|
28
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
29
|
+
type CompoundedComponent = typeof SidePanelComponent & {
|
|
30
|
+
Header: typeof Dialog.Header;
|
|
31
|
+
Body: typeof Dialog.Body;
|
|
32
|
+
Footer: typeof Dialog.Footer;
|
|
33
|
+
};
|
|
34
|
+
export declare const SidePanel: CompoundedComponent;
|
|
35
|
+
export {};
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef, cloneElement, isValidElement } from "react";
|
|
4
|
+
import { deprecate } from "@koobiq/logger";
|
|
4
5
|
import { useBoolean, useDOMRef, mergeProps, clsx } from "@koobiq/react-core";
|
|
5
6
|
import { useOverlayTriggerState, useOverlayTrigger, useModalOverlay, Overlay } from "@koobiq/react-primitives";
|
|
6
7
|
import { Transition } from "react-transition-group";
|
|
7
8
|
import s from "./SidePanel.module.css.js";
|
|
8
9
|
import { Backdrop } from "../Backdrop/Backdrop.js";
|
|
9
10
|
import { Dialog } from "../Dialog/Dialog.js";
|
|
10
|
-
const
|
|
11
|
+
const SidePanelComponent = forwardRef(
|
|
11
12
|
(props, ref) => {
|
|
12
13
|
const {
|
|
13
14
|
size = "medium",
|
|
14
15
|
position = "left",
|
|
16
|
+
placement = "start",
|
|
15
17
|
hideCloseButton = false,
|
|
16
18
|
control,
|
|
17
19
|
children,
|
|
@@ -19,7 +21,8 @@ const SidePanel = forwardRef(
|
|
|
19
21
|
defaultOpen,
|
|
20
22
|
onOpenChange,
|
|
21
23
|
hideBackdrop,
|
|
22
|
-
open
|
|
24
|
+
open,
|
|
25
|
+
isOpen: isOpenProp,
|
|
23
26
|
portalContainer,
|
|
24
27
|
disableFocusManagement,
|
|
25
28
|
disableExitOnClickOutside,
|
|
@@ -27,19 +30,30 @@ const SidePanel = forwardRef(
|
|
|
27
30
|
shouldCloseOnInteractOutside,
|
|
28
31
|
...other
|
|
29
32
|
} = props;
|
|
33
|
+
const isOpen = isOpenProp ?? open;
|
|
34
|
+
if (process.env.NODE_ENV !== "production" && "open" in props) {
|
|
35
|
+
deprecate(
|
|
36
|
+
'SidePanel: the "open" prop is deprecated. Use "isOpen" prop to replace it.'
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
if (process.env.NODE_ENV !== "production" && "position" in props) {
|
|
40
|
+
deprecate(
|
|
41
|
+
'SidePanel: the "position" prop is deprecated. Use "placement" prop to replace it.'
|
|
42
|
+
);
|
|
43
|
+
}
|
|
30
44
|
const state = useOverlayTriggerState({
|
|
31
|
-
isOpen
|
|
45
|
+
isOpen,
|
|
32
46
|
onOpenChange,
|
|
33
47
|
defaultOpen,
|
|
34
48
|
...other
|
|
35
49
|
});
|
|
36
|
-
const { isOpen:
|
|
37
|
-
const [
|
|
50
|
+
const { isOpen: isOpenState, close } = state;
|
|
51
|
+
const [isOpened, { on, off }] = useBoolean(isOpenState);
|
|
38
52
|
const modalRef = useDOMRef(null);
|
|
39
53
|
const containerRef = useDOMRef(ref);
|
|
40
54
|
const { triggerProps, overlayProps } = useOverlayTrigger(
|
|
41
55
|
{ type: "dialog" },
|
|
42
|
-
{ ...state, isOpen:
|
|
56
|
+
{ ...state, isOpen: isOpenState }
|
|
43
57
|
);
|
|
44
58
|
const { modalProps: modalCommonProps, underlayProps } = useModalOverlay(
|
|
45
59
|
{
|
|
@@ -48,7 +62,7 @@ const SidePanel = forwardRef(
|
|
|
48
62
|
isDismissable: !disableExitOnClickOutside,
|
|
49
63
|
isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
|
|
50
64
|
},
|
|
51
|
-
{ ...state, isOpen:
|
|
65
|
+
{ ...state, isOpen: isOpened },
|
|
52
66
|
modalRef
|
|
53
67
|
);
|
|
54
68
|
const resolvedChildren = () => {
|
|
@@ -61,13 +75,13 @@ const SidePanel = forwardRef(
|
|
|
61
75
|
{
|
|
62
76
|
ref: containerRef,
|
|
63
77
|
"data-size": size,
|
|
64
|
-
"data-
|
|
65
|
-
className: clsx(s.base, s[size], s[position])
|
|
78
|
+
"data-placement": placement,
|
|
79
|
+
className: clsx(s.base, s[size], s[position], s[placement])
|
|
66
80
|
},
|
|
67
81
|
other
|
|
68
82
|
);
|
|
69
83
|
const backdropProps = mergeProps(
|
|
70
|
-
{
|
|
84
|
+
{ isOpen: isOpenState && !hideBackdrop },
|
|
71
85
|
underlayProps,
|
|
72
86
|
slotProps?.backdrop
|
|
73
87
|
);
|
|
@@ -88,20 +102,15 @@ const SidePanel = forwardRef(
|
|
|
88
102
|
},
|
|
89
103
|
slotProps?.panel
|
|
90
104
|
);
|
|
91
|
-
const { isDisabled, onPress, ...otherTriggerProps } = triggerProps;
|
|
92
105
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
93
|
-
control?.(
|
|
94
|
-
onClick: onPress,
|
|
95
|
-
disabled: isDisabled,
|
|
96
|
-
...otherTriggerProps
|
|
97
|
-
}),
|
|
106
|
+
control?.(triggerProps),
|
|
98
107
|
/* @__PURE__ */ jsx(
|
|
99
108
|
Transition,
|
|
100
109
|
{
|
|
101
110
|
onEnter: on,
|
|
102
111
|
timeout: 300,
|
|
103
112
|
onExited: off,
|
|
104
|
-
in:
|
|
113
|
+
in: isOpenState,
|
|
105
114
|
nodeRef: containerRef,
|
|
106
115
|
unmountOnExit: true,
|
|
107
116
|
appear: true,
|
|
@@ -121,7 +130,11 @@ const SidePanel = forwardRef(
|
|
|
121
130
|
] });
|
|
122
131
|
}
|
|
123
132
|
);
|
|
124
|
-
|
|
133
|
+
SidePanelComponent.displayName = "SidePanel";
|
|
134
|
+
const SidePanel = SidePanelComponent;
|
|
135
|
+
SidePanel.Header = Dialog.Header;
|
|
136
|
+
SidePanel.Body = Dialog.Body;
|
|
137
|
+
SidePanel.Footer = Dialog.Footer;
|
|
125
138
|
export {
|
|
126
139
|
SidePanel
|
|
127
140
|
};
|