@koobiq/react-components 0.0.1-beta.8 → 0.0.1
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 +32 -18
- 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 +51 -0
- package/dist/components/Checkbox/Checkbox.d.ts +20 -11
- 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 +95 -10
- 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/components/DateInputSegment/DateInputSegment.d.ts +7 -0
- package/dist/components/DateInput/components/DateInputSegment/DateInputSegment.js +27 -0
- package/dist/components/DateInput/components/DateInputSegment/DateInputSegment.module.css.js +17 -0
- package/dist/components/DateInput/components/DateInputSegment/index.d.ts +1 -0
- package/dist/components/DateInput/components/index.d.ts +1 -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/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 +22 -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 +27 -0
- package/dist/components/Divider/types.js +6 -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 +8 -2
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +29 -5
- 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 +32 -16
- package/dist/components/Input/Input.d.ts +32 -12
- package/dist/components/Input/Input.js +62 -15
- package/dist/components/Input/types.d.ts +69 -17
- package/dist/components/InputNumber/InputNumber.d.ts +27 -11
- 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 +57 -17
- package/dist/components/Link/Link.js +42 -22
- package/dist/components/Link/Link.module.css.js +4 -4
- package/dist/components/Link/types.d.ts +43 -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 +2 -0
- 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 +72 -0
- package/dist/components/Menu/types.js +4 -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 +37 -11
- package/dist/components/Popover/types.js +9 -1
- package/dist/components/ProgressBar/types.d.ts +2 -2
- package/dist/components/ProgressSpinner/types.d.ts +4 -4
- 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 +36 -10
- package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +9 -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 +125 -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/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 +71 -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 +37 -0
- package/dist/components/TagGroup/types.js +9 -0
- package/dist/components/Textarea/Textarea.d.ts +16 -8
- 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 +61 -16
- package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +1 -1
- package/dist/components/Textarea/utils/useTextareaAutosize.js +2 -2
- package/dist/components/Toggle/Toggle.d.ts +14 -7
- 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 +65 -8
- package/dist/components/Tooltip/Tooltip.d.ts +5 -2
- package/dist/components/Tooltip/Tooltip.js +40 -20
- package/dist/components/Tooltip/types.d.ts +28 -12
- package/dist/components/Typography/types.d.ts +10 -5
- package/dist/components/index.d.ts +11 -0
- package/dist/index.js +65 -24
- package/dist/style.css +1113 -253
- 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
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
+
import { deprecate } from "@koobiq/logger";
|
|
3
4
|
import { mergeProps, isNotNil, clsx } from "@koobiq/react-core";
|
|
5
|
+
import { IconCircleXs16 } from "@koobiq/react-icons";
|
|
4
6
|
import { Radio as Radio$1 } from "@koobiq/react-primitives";
|
|
5
7
|
import s from "./Radio.module.css.js";
|
|
6
8
|
import { useRadioGroupState } from "../../RadioContext.js";
|
|
@@ -9,33 +11,57 @@ const Radio = forwardRef(
|
|
|
9
11
|
const {
|
|
10
12
|
labelPlacement = "end",
|
|
11
13
|
size: sizeProp,
|
|
14
|
+
isDisabled: isDisabledProp,
|
|
15
|
+
disabled,
|
|
12
16
|
children,
|
|
13
17
|
slotProps,
|
|
14
18
|
className,
|
|
15
19
|
...other
|
|
16
20
|
} = props;
|
|
21
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
22
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
23
|
+
deprecate(
|
|
24
|
+
'Radio: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
25
|
+
);
|
|
26
|
+
}
|
|
17
27
|
const { size: sizeState } = useRadioGroupState();
|
|
18
28
|
const size = sizeProp || sizeState || "normal";
|
|
19
29
|
const commonProps = {
|
|
20
|
-
|
|
30
|
+
isDisabled,
|
|
31
|
+
className: ({
|
|
32
|
+
isInvalid,
|
|
33
|
+
isSelected,
|
|
34
|
+
isHovered,
|
|
35
|
+
isDisabled: isDisabled2,
|
|
36
|
+
isFocusVisible
|
|
37
|
+
}) => clsx(
|
|
21
38
|
s.base,
|
|
22
39
|
s[size],
|
|
23
|
-
error && s.error,
|
|
24
|
-
checked && s.checked,
|
|
25
|
-
hovered && s.hovered,
|
|
26
|
-
disabled && s.disabled,
|
|
27
40
|
s[labelPlacement],
|
|
28
|
-
|
|
41
|
+
isInvalid && s.invalid,
|
|
42
|
+
isHovered && s.hovered,
|
|
43
|
+
isDisabled2 && s.disabled,
|
|
44
|
+
isSelected && s.selected,
|
|
45
|
+
isFocusVisible && s.focusVisible,
|
|
29
46
|
className
|
|
30
47
|
),
|
|
31
48
|
...other
|
|
32
49
|
};
|
|
33
50
|
const circleProps = mergeProps({ className: s.circle }, slotProps?.circle);
|
|
34
51
|
const labelProps = slotProps?.label;
|
|
35
|
-
return /* @__PURE__ */ jsxs(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
52
|
+
return /* @__PURE__ */ jsxs(
|
|
53
|
+
Radio$1,
|
|
54
|
+
{
|
|
55
|
+
...commonProps,
|
|
56
|
+
"data-size": size,
|
|
57
|
+
"data-label-placement": labelPlacement,
|
|
58
|
+
ref,
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsx("span", { ...circleProps, children: /* @__PURE__ */ jsx(IconCircleXs16, { className: s.icon }) }),
|
|
61
|
+
isNotNil(children) && /* @__PURE__ */ jsx("span", { ...labelProps, children })
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
39
65
|
}
|
|
40
66
|
);
|
|
41
67
|
Radio.displayName = "Radio";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
const base = "kbq-radio-c3ed31";
|
|
2
2
|
const circle = "kbq-radio-circle-a0903b";
|
|
3
|
+
const icon = "kbq-radio-icon-148a68";
|
|
3
4
|
const normal = "kbq-radio-normal-81ed3e";
|
|
4
5
|
const big = "kbq-radio-big-06db10";
|
|
5
6
|
const hovered = "kbq-radio-hovered-3999f1";
|
|
6
|
-
const
|
|
7
|
-
const
|
|
7
|
+
const selected = "kbq-radio-selected-15ea41";
|
|
8
|
+
const invalid = "kbq-radio-invalid-e69d52";
|
|
8
9
|
const focusVisible = "kbq-radio-focusVisible-6613a5";
|
|
9
10
|
const disabled = "kbq-radio-disabled-d60f1e";
|
|
10
11
|
const start = "kbq-radio-start-e3dab7";
|
|
@@ -12,11 +13,12 @@ const end = "kbq-radio-end-8689f9";
|
|
|
12
13
|
const s = {
|
|
13
14
|
base,
|
|
14
15
|
circle,
|
|
16
|
+
icon,
|
|
15
17
|
normal,
|
|
16
18
|
big,
|
|
17
19
|
hovered,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
selected,
|
|
21
|
+
invalid,
|
|
20
22
|
focusVisible,
|
|
21
23
|
disabled,
|
|
22
24
|
start,
|
|
@@ -25,14 +27,15 @@ const s = {
|
|
|
25
27
|
export {
|
|
26
28
|
base,
|
|
27
29
|
big,
|
|
28
|
-
checked,
|
|
29
30
|
circle,
|
|
30
31
|
s as default,
|
|
31
32
|
disabled,
|
|
32
33
|
end,
|
|
33
|
-
error,
|
|
34
34
|
focusVisible,
|
|
35
35
|
hovered,
|
|
36
|
+
icon,
|
|
37
|
+
invalid,
|
|
36
38
|
normal,
|
|
39
|
+
selected,
|
|
37
40
|
start
|
|
38
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,125 @@
|
|
|
1
|
+
import type { ComponentRef, CSSProperties, ReactElement, ReactNode, Ref } from 'react';
|
|
2
|
+
import type { 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 { ListPropItems, ListPropChildren, ListPropDisabledKeys } from '../List';
|
|
6
|
+
import type { PopoverProps } from '../Popover';
|
|
7
|
+
export type SelectKey = string | number;
|
|
8
|
+
export type SelectPropOnSelectionChange<T> = AriaSelectProps<T>['onSelectionChange'];
|
|
9
|
+
type SelectDeprecatedProps = {
|
|
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 input 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
|
+
* If `true`, the label is displayed as required and the input element is required.
|
|
26
|
+
* @default false
|
|
27
|
+
* @deprecated
|
|
28
|
+
* The "required" prop is deprecated. Use "isRequired" prop to replace it.
|
|
29
|
+
*/
|
|
30
|
+
required?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Sets the open state of the menu.
|
|
33
|
+
* @deprecated
|
|
34
|
+
* The "open" prop is deprecated. Use "isOpen" prop to replace it.
|
|
35
|
+
*/
|
|
36
|
+
open?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
39
|
+
* @default false
|
|
40
|
+
* @deprecated
|
|
41
|
+
* The "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.
|
|
42
|
+
*/
|
|
43
|
+
hiddenLabel?: boolean;
|
|
44
|
+
};
|
|
45
|
+
export type SelectProps<T extends object> = {
|
|
46
|
+
/** Additional CSS-classes. */
|
|
47
|
+
className?: string;
|
|
48
|
+
/** The content to display as the label. */
|
|
49
|
+
label?: ReactNode;
|
|
50
|
+
/** The contents of the collection. */
|
|
51
|
+
children?: ListPropChildren<T>;
|
|
52
|
+
/** Item objects in the collection. */
|
|
53
|
+
items?: ListPropItems<T>;
|
|
54
|
+
/** Addon placed before the children. */
|
|
55
|
+
startAddon?: ReactNode;
|
|
56
|
+
/** Addon placed after the children. */
|
|
57
|
+
endAddon?: ReactNode;
|
|
58
|
+
/** Inline styles. */
|
|
59
|
+
style?: CSSProperties;
|
|
60
|
+
/** The text appears in a control until the user puts focus on the field. */
|
|
61
|
+
placeholder?: string;
|
|
62
|
+
/**
|
|
63
|
+
* If `true`, the input will indicate an error.
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
isInvalid?: boolean;
|
|
67
|
+
/** Message for the error state */
|
|
68
|
+
errorMessage?: ReactNode;
|
|
69
|
+
/**
|
|
70
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
isLabelHidden?: boolean;
|
|
74
|
+
/** The helper text content. */
|
|
75
|
+
caption?: ReactNode;
|
|
76
|
+
/**
|
|
77
|
+
* If true, the input will take up the full width of its container.
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
fullWidth?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* If `true`, the component is disabled.
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
isDisabled?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* If `true`, the label is displayed as required and the input element is required.
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
isRequired?: boolean;
|
|
91
|
+
/** Unique identifier for testing purposes. */
|
|
92
|
+
'data-testid'?: string | number;
|
|
93
|
+
/** Ref to the control */
|
|
94
|
+
ref?: Ref<HTMLButtonElement>;
|
|
95
|
+
/** The item keys that are disabled. These items cannot be selected, focused, or otherwise interacted with. */
|
|
96
|
+
disabledKeys?: ListPropDisabledKeys<T>;
|
|
97
|
+
/** The initial selected key in the collection (uncontrolled). */
|
|
98
|
+
defaultSelectedKey?: SelectKey;
|
|
99
|
+
/** The currently selected key in the collection (controlled). */
|
|
100
|
+
selectedKey?: SelectKey | null;
|
|
101
|
+
/** Handler that is called when the selection changes. */
|
|
102
|
+
onSelectionChange?: SelectPropOnSelectionChange<T>;
|
|
103
|
+
/** Sets the open state of the menu. */
|
|
104
|
+
isOpen?: boolean;
|
|
105
|
+
/** Sets the default open state of the menu. */
|
|
106
|
+
defaultOpen?: boolean;
|
|
107
|
+
/** Method that is called when the open state of the menu changes. */
|
|
108
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
109
|
+
/** A render function for displaying the selected value. */
|
|
110
|
+
renderValue?: (props: Node<T> | null) => ReactElement;
|
|
111
|
+
name?: string;
|
|
112
|
+
/** The props used for each slot inside. */
|
|
113
|
+
slotProps?: {
|
|
114
|
+
popover?: PopoverProps;
|
|
115
|
+
label?: FieldLabelProps;
|
|
116
|
+
list?: ListPropChildren<T>;
|
|
117
|
+
control?: FieldSelectProps;
|
|
118
|
+
caption?: FieldCaptionProps;
|
|
119
|
+
group?: FieldInputGroupProps;
|
|
120
|
+
errorMessage?: FieldErrorProps;
|
|
121
|
+
};
|
|
122
|
+
} & SelectDeprecatedProps;
|
|
123
|
+
export type SelectComponent = <T extends object>(props: SelectProps<T>) => ReactElement | null;
|
|
124
|
+
export type SelectRef = ComponentRef<'button'>;
|
|
125
|
+
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 {};
|