@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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useRef } from "react";
|
|
4
|
+
import { useFocusRing, useHover, mergeProps, clsx } from "@koobiq/react-core";
|
|
5
|
+
import { useTableRow } from "@koobiq/react-primitives";
|
|
6
|
+
import s from "./TableRow.module.css.js";
|
|
7
|
+
function TableRow({ item, children, state }) {
|
|
8
|
+
const ref = useRef(null);
|
|
9
|
+
const isSelected = state.selectionManager.isSelected(item.key);
|
|
10
|
+
const { rowProps, isPressed, isDisabled } = useTableRow(
|
|
11
|
+
{
|
|
12
|
+
node: item
|
|
13
|
+
},
|
|
14
|
+
state,
|
|
15
|
+
ref
|
|
16
|
+
);
|
|
17
|
+
const { style, className } = item.props;
|
|
18
|
+
const { isFocusVisible, focusProps } = useFocusRing();
|
|
19
|
+
const { isHovered, hoverProps } = useHover({ isDisabled });
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
"tr",
|
|
22
|
+
{
|
|
23
|
+
className: clsx(
|
|
24
|
+
s.base,
|
|
25
|
+
isHovered && s.hovered,
|
|
26
|
+
isPressed && s.pressed,
|
|
27
|
+
isSelected && s.selected,
|
|
28
|
+
isDisabled && s.disabled,
|
|
29
|
+
isFocusVisible && s.focusVisible,
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
"data-hovered": isHovered,
|
|
33
|
+
"data-disabled": isDisabled,
|
|
34
|
+
"data-selected": isSelected,
|
|
35
|
+
"data-pressed": isPressed,
|
|
36
|
+
"data-focus-visible": isFocusVisible,
|
|
37
|
+
...mergeProps(rowProps, hoverProps, focusProps),
|
|
38
|
+
style,
|
|
39
|
+
ref,
|
|
40
|
+
children
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
TableRow
|
|
46
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const base = "kbq-tablerow-4a268c";
|
|
2
|
+
const hovered = "kbq-tablerow-hovered-f3a986";
|
|
3
|
+
const pressed = "kbq-tablerow-pressed-932599";
|
|
4
|
+
const selected = "kbq-tablerow-selected-ced903";
|
|
5
|
+
const disabled = "kbq-tablerow-disabled-27e4c6";
|
|
6
|
+
const focusVisible = "kbq-tablerow-focusVisible-3a3109";
|
|
7
|
+
const s = {
|
|
8
|
+
base,
|
|
9
|
+
hovered,
|
|
10
|
+
pressed,
|
|
11
|
+
selected,
|
|
12
|
+
disabled,
|
|
13
|
+
focusVisible
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
base,
|
|
17
|
+
s as default,
|
|
18
|
+
disabled,
|
|
19
|
+
focusVisible,
|
|
20
|
+
hovered,
|
|
21
|
+
pressed,
|
|
22
|
+
selected
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TableRow';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { useTableRowGroup } from "@koobiq/react-primitives";
|
|
5
|
+
const TableRowGroup = forwardRef(
|
|
6
|
+
({ type = "thead", children }, ref) => {
|
|
7
|
+
const Element = type;
|
|
8
|
+
const { rowGroupProps } = useTableRowGroup();
|
|
9
|
+
return /* @__PURE__ */ jsx(Element, { ...rowGroupProps, ref, children });
|
|
10
|
+
}
|
|
11
|
+
);
|
|
12
|
+
TableRowGroup.displayName = "TableRowGroup";
|
|
13
|
+
export {
|
|
14
|
+
TableRowGroup
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TableRowGroup';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AriaTableColumnHeaderProps, type TableState } from '@koobiq/react-primitives';
|
|
2
|
+
type TableSelectAllCellProps<T> = {
|
|
3
|
+
column: AriaTableColumnHeaderProps<T>['node'];
|
|
4
|
+
state: TableState<T>;
|
|
5
|
+
};
|
|
6
|
+
export declare function TableSelectAllCell<T>({ column, state, }: TableSelectAllCellProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useRef } from "react";
|
|
4
|
+
import { useTableColumnHeader, useTableSelectAllCheckbox, VisuallyHidden } from "@koobiq/react-primitives";
|
|
5
|
+
import s from "../TableColumnHeader/TableColumnHeader.module.css.js";
|
|
6
|
+
import { Checkbox } from "../../../Checkbox/Checkbox.js";
|
|
7
|
+
function TableSelectAllCell({
|
|
8
|
+
column,
|
|
9
|
+
state
|
|
10
|
+
}) {
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
const { columnHeaderProps } = useTableColumnHeader(
|
|
13
|
+
{ node: column },
|
|
14
|
+
state,
|
|
15
|
+
ref
|
|
16
|
+
);
|
|
17
|
+
const { checkboxProps } = useTableSelectAllCheckbox(state);
|
|
18
|
+
return /* @__PURE__ */ jsx("th", { className: s.base, ...columnHeaderProps, ref, children: state.selectionManager.selectionMode === "single" ? /* @__PURE__ */ jsx(VisuallyHidden, { children: checkboxProps["aria-label"] }) : /* @__PURE__ */ jsx(Checkbox, { ...checkboxProps }) });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
TableSelectAllCell
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TableSelectAllCell';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Table';
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ComponentRef, CSSProperties, ReactElement, Ref } from 'react';
|
|
2
|
+
import type { ExtendableComponentPropsWithRef } from '@koobiq/react-core';
|
|
3
|
+
import type { TableStateProps } from '@koobiq/react-primitives';
|
|
4
|
+
import type { Key } from '@react-types/shared';
|
|
5
|
+
export declare const tablePropDivider: readonly ["none", "row"];
|
|
6
|
+
export type TablePropDivider = (typeof tablePropDivider)[number];
|
|
7
|
+
export type TablePropChildren<T> = TableStateProps<T>['children'];
|
|
8
|
+
export type TablePropSelectionMode<T> = TableStateProps<T>['selectionMode'];
|
|
9
|
+
export type TablePropSelectionBehavior<T> = TableStateProps<T>['selectionBehavior'];
|
|
10
|
+
export type TablePropOnSelectionChange<T> = TableStateProps<T>['onSelectionChange'];
|
|
11
|
+
export type TablePropSelectedKeys<T> = TableStateProps<T>['selectedKeys'];
|
|
12
|
+
export type TablePropDefaultSelectedKeys<T> = TableStateProps<T>['defaultSelectedKeys'];
|
|
13
|
+
export type TablePropDisabledBehavior<T> = TableStateProps<T>['disabledBehavior'];
|
|
14
|
+
export type TablePropDisabledKeys<T> = TableStateProps<T>['disabledKeys'];
|
|
15
|
+
export type TablePropBlockSize = CSSProperties['blockSize'];
|
|
16
|
+
export type TablePropMinBlockSize = CSSProperties['minBlockSize'];
|
|
17
|
+
export type TablePropMaxBlockSize = CSSProperties['maxInlineSize'];
|
|
18
|
+
export type TableProps<T> = ExtendableComponentPropsWithRef<{
|
|
19
|
+
/** How multiple selection should behave in the collection. */
|
|
20
|
+
selectionBehavior?: TablePropSelectionBehavior<T>;
|
|
21
|
+
/** The type of selection that is allowed in the collection. */
|
|
22
|
+
selectionMode?: TablePropSelectionMode<T>;
|
|
23
|
+
/** The currently selected keys in the collection (controlled). */
|
|
24
|
+
selectedKeys?: TablePropSelectedKeys<T>;
|
|
25
|
+
/** The initial selected keys in the collection (uncontrolled). */
|
|
26
|
+
defaultSelectedKeys?: TablePropDefaultSelectedKeys<T>;
|
|
27
|
+
/** Handler that is called when the selection changes. */
|
|
28
|
+
onSelectionChange?: TablePropOnSelectionChange<T>;
|
|
29
|
+
/** A list of row keys to disable. */
|
|
30
|
+
disabledKeys?: TablePropDisabledKeys<T>;
|
|
31
|
+
/** Whether `disabledKeys` applies to all interactions, or only selection. */
|
|
32
|
+
disabledBehavior?: TablePropDisabledBehavior<T>;
|
|
33
|
+
/** Handler that is called when a user performs an action on the row. */
|
|
34
|
+
onRowAction?: (key: Key) => void;
|
|
35
|
+
/** Handler that is called when a user performs an action on the cell. */
|
|
36
|
+
onCellAction?: (key: Key) => void;
|
|
37
|
+
/** Inline styles. */
|
|
38
|
+
style?: CSSProperties;
|
|
39
|
+
/** Additional CSS-classes. */
|
|
40
|
+
className?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Type of separators in the table.
|
|
43
|
+
* @default 'none'
|
|
44
|
+
*/
|
|
45
|
+
divider?: TablePropDivider;
|
|
46
|
+
/**
|
|
47
|
+
* Flag indicating a fixed table header.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
stickyHeader?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The elements that make up the table.
|
|
53
|
+
* Includes the Table.Header, Table.Body, Table.Column, and Table.Row.
|
|
54
|
+
*/
|
|
55
|
+
children?: TablePropChildren<T>;
|
|
56
|
+
/** Ref to the control. */
|
|
57
|
+
ref?: Ref<HTMLDivElement>;
|
|
58
|
+
/** Height of the table container. */
|
|
59
|
+
blockSize?: TablePropBlockSize;
|
|
60
|
+
/** Minimum height of the table container. */
|
|
61
|
+
minBlockSize?: TablePropMinBlockSize;
|
|
62
|
+
/** Maximum height of the table container. */
|
|
63
|
+
maxBlockSize?: TablePropMaxBlockSize;
|
|
64
|
+
/** The props used for each slot inside. */
|
|
65
|
+
slotProps?: {
|
|
66
|
+
container?: ComponentPropsWithRef<'div'>;
|
|
67
|
+
table?: ComponentPropsWithRef<'table'>;
|
|
68
|
+
};
|
|
69
|
+
}, 'div'>;
|
|
70
|
+
export type TableComponent = <T extends object>(props: TableProps<T>) => ReactElement | null;
|
|
71
|
+
export type TableRef = ComponentRef<'table'>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import type { ItemProps as AriaItemProps } from '@koobiq/react-core';
|
|
3
|
+
import type { IconButtonProps } from '../IconButton';
|
|
4
|
+
export type TagProps<T> = AriaItemProps<T> & {
|
|
5
|
+
/** Additional CSS-classes. */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Inline styles. */
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
/** Unique identifier for testing purposes. */
|
|
10
|
+
'data-testid'?: string | number;
|
|
11
|
+
/** Icon placed before the children. */
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
/** The props used for each slot inside. */
|
|
14
|
+
slotProps?: {
|
|
15
|
+
root?: ComponentPropsWithRef<'div'>;
|
|
16
|
+
icon?: ComponentPropsWithRef<'span'>;
|
|
17
|
+
content?: ComponentPropsWithRef<'span'>;
|
|
18
|
+
removeIcon?: IconButtonProps;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare function Tag<T>(_props: TagProps<T>): null;
|
|
22
|
+
export declare namespace Tag {
|
|
23
|
+
var getCollectionNode: unknown;
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { useDOMRef, mergeProps, clsx } from "@koobiq/react-core";
|
|
5
|
+
import { useListState, useTagGroup } from "@koobiq/react-primitives";
|
|
6
|
+
import s from "./TagGroup.module.css.js";
|
|
7
|
+
import { TagInner } from "./components/TagInner/TagInner.js";
|
|
8
|
+
function TagGroupRender(props, ref) {
|
|
9
|
+
const { variant = "theme-fade", style, className, slotProps } = props;
|
|
10
|
+
const domRef = useDOMRef(ref);
|
|
11
|
+
const state = useListState(props);
|
|
12
|
+
const { gridProps } = useTagGroup(props, state, domRef);
|
|
13
|
+
const rootProps = mergeProps(
|
|
14
|
+
{ className: clsx(s.base, className), style, ref: domRef },
|
|
15
|
+
gridProps,
|
|
16
|
+
slotProps?.root
|
|
17
|
+
);
|
|
18
|
+
return /* @__PURE__ */ jsx("div", { ...rootProps, children: [...state.collection].map((item) => /* @__PURE__ */ jsx(TagInner, { item, variant, state }, item.key)) });
|
|
19
|
+
}
|
|
20
|
+
const TagGroup = forwardRef(TagGroupRender);
|
|
21
|
+
export {
|
|
22
|
+
TagGroup
|
|
23
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AriaTagProps, ListState } from '@koobiq/react-primitives';
|
|
2
|
+
import type { TagGroupPropVariant } from '../../index';
|
|
3
|
+
export type TagInnerProps<T> = AriaTagProps<T> & {
|
|
4
|
+
state: ListState<T>;
|
|
5
|
+
/**
|
|
6
|
+
* The variant to use.
|
|
7
|
+
* @default 'theme-fade'
|
|
8
|
+
*/
|
|
9
|
+
variant?: TagGroupPropVariant;
|
|
10
|
+
};
|
|
11
|
+
export declare function TagInner<T>(props: TagInnerProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { useLocalizedStringFormatter, useFocusRing, useHover, mergeProps, clsx, isNotNil } from "@koobiq/react-core";
|
|
4
|
+
import { IconXmarkS16 } from "@koobiq/react-icons";
|
|
5
|
+
import { useTag } from "@koobiq/react-primitives";
|
|
6
|
+
import { utilClasses } from "../../../../styles/utility.js";
|
|
7
|
+
import intlMessages from "../../intl.json.js";
|
|
8
|
+
import s from "./TagInner.module.css.js";
|
|
9
|
+
import { matchVariantToCloseButton } from "./utils.js";
|
|
10
|
+
import { IconButton } from "../../../IconButton/IconButton.js";
|
|
11
|
+
const textNormalMedium = utilClasses.typography["text-normal-medium"];
|
|
12
|
+
function TagInner(props) {
|
|
13
|
+
const { item, state, variant = "theme-fade" } = props;
|
|
14
|
+
const { slotProps, icon, className, style } = item.props;
|
|
15
|
+
const ref = useRef(null);
|
|
16
|
+
const stringFormatter = useLocalizedStringFormatter(intlMessages);
|
|
17
|
+
const { focusProps, isFocusVisible, isFocused } = useFocusRing({
|
|
18
|
+
within: false
|
|
19
|
+
});
|
|
20
|
+
const {
|
|
21
|
+
rowProps,
|
|
22
|
+
gridCellProps,
|
|
23
|
+
removeButtonProps: removeButtonPropsAria,
|
|
24
|
+
allowsRemoving,
|
|
25
|
+
isDisabled,
|
|
26
|
+
isPressed
|
|
27
|
+
} = useTag(props, state, ref);
|
|
28
|
+
const { hoverProps, isHovered } = useHover({ isDisabled });
|
|
29
|
+
const rootProps = mergeProps(
|
|
30
|
+
{
|
|
31
|
+
className: clsx(
|
|
32
|
+
s.base,
|
|
33
|
+
s[variant],
|
|
34
|
+
isFocused && s.focused,
|
|
35
|
+
isHovered && s.hovered,
|
|
36
|
+
isDisabled && s.disabled,
|
|
37
|
+
textNormalMedium,
|
|
38
|
+
className
|
|
39
|
+
),
|
|
40
|
+
style,
|
|
41
|
+
"data-variant": variant,
|
|
42
|
+
"data-focused": isFocused,
|
|
43
|
+
"data-pressed": isPressed,
|
|
44
|
+
"data-hovered": isHovered,
|
|
45
|
+
"aria-disabled": isDisabled,
|
|
46
|
+
"data-disabled": isDisabled,
|
|
47
|
+
"data-focus-visible": isFocusVisible
|
|
48
|
+
},
|
|
49
|
+
rowProps,
|
|
50
|
+
hoverProps,
|
|
51
|
+
focusProps,
|
|
52
|
+
slotProps?.root
|
|
53
|
+
);
|
|
54
|
+
const removeButtonProps = mergeProps(
|
|
55
|
+
{
|
|
56
|
+
tabIndex: -1,
|
|
57
|
+
isCompact: true,
|
|
58
|
+
isDisabled,
|
|
59
|
+
className: s.cancelIcon,
|
|
60
|
+
variant: matchVariantToCloseButton[variant],
|
|
61
|
+
"aria-label": stringFormatter.format("close")
|
|
62
|
+
},
|
|
63
|
+
removeButtonPropsAria,
|
|
64
|
+
slotProps?.removeIcon
|
|
65
|
+
);
|
|
66
|
+
const contentProps = mergeProps(
|
|
67
|
+
{
|
|
68
|
+
className: s.content
|
|
69
|
+
},
|
|
70
|
+
slotProps?.content
|
|
71
|
+
);
|
|
72
|
+
const iconProps = mergeProps(
|
|
73
|
+
{
|
|
74
|
+
className: s.icon
|
|
75
|
+
},
|
|
76
|
+
slotProps?.icon
|
|
77
|
+
);
|
|
78
|
+
return /* @__PURE__ */ jsx("div", { ref, ...rootProps, children: /* @__PURE__ */ jsxs("div", { ...gridCellProps, children: [
|
|
79
|
+
isNotNil(icon) && /* @__PURE__ */ jsx("span", { ...iconProps, children: icon }),
|
|
80
|
+
isNotNil(item.rendered) && /* @__PURE__ */ jsx("span", { ...contentProps, children: item.rendered }),
|
|
81
|
+
allowsRemoving && /* @__PURE__ */ jsx(IconButton, { size: "l", ...removeButtonProps, children: /* @__PURE__ */ jsx(IconXmarkS16, {}) })
|
|
82
|
+
] }) });
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
TagInner
|
|
86
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const base = "kbq-taginner-f9f19a";
|
|
2
|
+
const content = "kbq-taginner-content-72ca39";
|
|
3
|
+
const icon = "kbq-taginner-icon-df45be";
|
|
4
|
+
const cancelIcon = "kbq-taginner-cancelIcon-8a3dbe";
|
|
5
|
+
const hovered = "kbq-taginner-hovered-abf199";
|
|
6
|
+
const focused = "kbq-taginner-focused-16f44f";
|
|
7
|
+
const disabled = "kbq-taginner-disabled-0c6073";
|
|
8
|
+
const s = {
|
|
9
|
+
base,
|
|
10
|
+
content,
|
|
11
|
+
icon,
|
|
12
|
+
cancelIcon,
|
|
13
|
+
"theme-fade": "kbq-taginner-theme-fade-68b99c",
|
|
14
|
+
"contrast-fade": "kbq-taginner-contrast-fade-39d7a7",
|
|
15
|
+
"error-fade": "kbq-taginner-error-fade-6d7d03",
|
|
16
|
+
"warning-fade": "kbq-taginner-warning-fade-9403c7",
|
|
17
|
+
hovered,
|
|
18
|
+
focused,
|
|
19
|
+
disabled
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
base,
|
|
23
|
+
cancelIcon,
|
|
24
|
+
content,
|
|
25
|
+
s as default,
|
|
26
|
+
disabled,
|
|
27
|
+
focused,
|
|
28
|
+
hovered,
|
|
29
|
+
icon
|
|
30
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TagInner';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TagInner';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ComponentRef, CSSProperties, ReactElement, Ref } from 'react';
|
|
2
|
+
import type { AriaTagGroupProps } from '@koobiq/react-primitives';
|
|
3
|
+
export type TagGroupPropChildren<T extends object> = AriaTagGroupProps<T>['children'];
|
|
4
|
+
export type TagGroupPropItems<T extends object> = AriaTagGroupProps<T>['items'];
|
|
5
|
+
export type TagGroupPropOnRemove<T extends object> = AriaTagGroupProps<T>['onRemove'];
|
|
6
|
+
export type TagGroupPropDisabledKeys<T extends object> = AriaTagGroupProps<T>['disabledKeys'];
|
|
7
|
+
export declare const tagGroupPropVariant: readonly ["theme-fade", "contrast-fade", "error-fade", "warning-fade"];
|
|
8
|
+
export type TagGroupPropVariant = (typeof tagGroupPropVariant)[number];
|
|
9
|
+
export type TagGroupProps<T extends object> = {
|
|
10
|
+
/** The contents of the collection. */
|
|
11
|
+
children?: TagGroupPropChildren<T>;
|
|
12
|
+
/** Item objects in the collection. */
|
|
13
|
+
items?: TagGroupPropItems<T>;
|
|
14
|
+
/** Handler that is called when a user deletes a tag. */
|
|
15
|
+
onRemove?: TagGroupPropOnRemove<T>;
|
|
16
|
+
/**
|
|
17
|
+
* The variant to use.
|
|
18
|
+
* @default 'theme-fade'
|
|
19
|
+
*/
|
|
20
|
+
variant?: TagGroupPropVariant;
|
|
21
|
+
/** The item keys that are disabled. These items cannot be selected, focused, or otherwise interacted with. */
|
|
22
|
+
disabledKeys?: TagGroupPropDisabledKeys<T>;
|
|
23
|
+
/** Ref to the HTML ul-element. */
|
|
24
|
+
ref?: Ref<HTMLElement>;
|
|
25
|
+
/** Additional CSS-classes. */
|
|
26
|
+
className?: string;
|
|
27
|
+
/** Unique identifier for testing purposes. */
|
|
28
|
+
'data-testid'?: string | number;
|
|
29
|
+
/** Inline styles. */
|
|
30
|
+
style?: CSSProperties;
|
|
31
|
+
/** The props used for each slot inside. */
|
|
32
|
+
slotProps?: {
|
|
33
|
+
root?: ComponentPropsWithRef<'div'>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type TagGroupComponent = <T extends object>(props: TagGroupProps<T>) => ReactElement | null;
|
|
37
|
+
export type TagGroupRef = ComponentRef<'div'>;
|
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<
|
|
1
|
+
export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<{
|
|
2
|
+
disabled?: boolean;
|
|
3
|
+
error?: boolean;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
hiddenLabel?: boolean;
|
|
6
|
+
readonly?: boolean;
|
|
7
|
+
} & Omit<import("@koobiq/react-primitives").TextFieldProps<HTMLTextAreaElement>, "children" | "style" | "className" | "validationState" | "validationBehavior" | "validate" | "description" | "inputElementType">, "caption" | "label" | "className" | "cols" | "rows" | "isDisabled" | "variant" | "slotProps" | "fullWidth" | "data-testid" | "isInvalid" | "isReadOnly" | "isRequired" | "errorMessage" | "isLabelHidden" | "expand"> & {
|
|
2
8
|
label?: import("react").ReactNode;
|
|
3
9
|
className?: string;
|
|
4
10
|
variant?: import("./types").TextareaPropVariant;
|
|
5
|
-
|
|
6
|
-
|
|
11
|
+
isInvalid?: boolean;
|
|
12
|
+
isReadOnly?: boolean;
|
|
13
|
+
errorMessage?: import("react").ReactNode;
|
|
7
14
|
fullWidth?: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
caption?:
|
|
11
|
-
|
|
15
|
+
isDisabled?: boolean;
|
|
16
|
+
isLabelHidden?: boolean;
|
|
17
|
+
caption?: import("react").ReactNode;
|
|
18
|
+
isRequired?: boolean;
|
|
12
19
|
rows?: number;
|
|
13
20
|
cols?: number;
|
|
14
21
|
expand?: import("./types").TextareaPropExpand;
|
|
22
|
+
'data-testid'?: string | number;
|
|
15
23
|
slotProps?: {
|
|
16
24
|
label?: import("../FieldComponents").FieldLabelProps;
|
|
17
25
|
caption?: import("../FieldComponents").FieldCaptionProps;
|
|
18
|
-
textarea?: import("../FieldComponents").FieldInputProps
|
|
26
|
+
textarea?: import("../FieldComponents").FieldInputProps<"textarea">;
|
|
19
27
|
errorMessage?: import("../FieldComponents").FieldErrorProps;
|
|
20
28
|
};
|
|
21
29
|
} & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
|
+
import { deprecate } from "@koobiq/logger";
|
|
4
5
|
import { mergeProps } from "@koobiq/react-core";
|
|
6
|
+
import { TextField } from "@koobiq/react-primitives";
|
|
5
7
|
import { TextareaContextConsumer } from "./components/TextareaContextConsumer/TextareaContextConsumer.js";
|
|
6
8
|
import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
|
|
7
9
|
const Textarea = forwardRef((props, ref) => {
|
|
8
10
|
const {
|
|
9
11
|
variant = "filled",
|
|
10
12
|
fullWidth = false,
|
|
11
|
-
hiddenLabel
|
|
13
|
+
hiddenLabel,
|
|
14
|
+
isLabelHidden: isLabelHiddenProp,
|
|
15
|
+
disabled,
|
|
16
|
+
isDisabled: isDisabledProp,
|
|
17
|
+
error,
|
|
18
|
+
isInvalid: isInvalidProp,
|
|
19
|
+
required,
|
|
20
|
+
isRequired: isRequiredProp,
|
|
21
|
+
readonly,
|
|
22
|
+
isReadOnly: isReadOnlyProp,
|
|
12
23
|
rows,
|
|
13
24
|
cols,
|
|
14
25
|
expand,
|
|
@@ -18,17 +29,51 @@ const Textarea = forwardRef((props, ref) => {
|
|
|
18
29
|
label,
|
|
19
30
|
...other
|
|
20
31
|
} = props;
|
|
32
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
33
|
+
const isRequired = isRequiredProp ?? required ?? false;
|
|
34
|
+
const isReadOnly = isReadOnlyProp ?? readonly ?? false;
|
|
35
|
+
const isInvalid = isInvalidProp ?? error ?? false;
|
|
36
|
+
const isLabelHidden = isLabelHiddenProp ?? hiddenLabel ?? false;
|
|
37
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
38
|
+
deprecate(
|
|
39
|
+
'Textarea: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
if (process.env.NODE_ENV !== "production" && "required" in props) {
|
|
43
|
+
deprecate(
|
|
44
|
+
'Textarea: the "required" prop is deprecated. Use "isRequired" prop to replace it.'
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
if (process.env.NODE_ENV !== "production" && "error" in props) {
|
|
48
|
+
deprecate(
|
|
49
|
+
'Textarea: the "error" prop is deprecated. Use "isInvalid" prop to replace it.'
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
if (process.env.NODE_ENV !== "production" && "readonly" in props) {
|
|
53
|
+
deprecate(
|
|
54
|
+
'Textarea: the "readonly" prop is deprecated. Use "isReadOnly" prop to replace it.'
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
if (process.env.NODE_ENV !== "production" && "hiddenLabel" in props) {
|
|
58
|
+
deprecate(
|
|
59
|
+
'Textarea: the "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.'
|
|
60
|
+
);
|
|
61
|
+
}
|
|
21
62
|
const rootProps = mergeProps(
|
|
22
63
|
{
|
|
23
64
|
label,
|
|
24
65
|
fullWidth,
|
|
66
|
+
isDisabled,
|
|
67
|
+
isRequired,
|
|
68
|
+
isReadOnly,
|
|
69
|
+
isInvalid,
|
|
25
70
|
errorMessage,
|
|
26
71
|
"data-variant": variant,
|
|
27
72
|
"data-fullwidth": fullWidth
|
|
28
73
|
},
|
|
29
74
|
other
|
|
30
75
|
);
|
|
31
|
-
return /* @__PURE__ */ jsx(FieldControl, { inputElementType: "textarea", ...rootProps, children: (values) => /* @__PURE__ */ jsx(
|
|
76
|
+
return /* @__PURE__ */ jsx(FieldControl, { as: TextField, inputElementType: "textarea", ...rootProps, children: (values) => /* @__PURE__ */ jsx(
|
|
32
77
|
TextareaContextConsumer,
|
|
33
78
|
{
|
|
34
79
|
...values,
|
|
@@ -39,7 +84,7 @@ const Textarea = forwardRef((props, ref) => {
|
|
|
39
84
|
variant,
|
|
40
85
|
caption,
|
|
41
86
|
slotProps,
|
|
42
|
-
|
|
87
|
+
isLabelHidden,
|
|
43
88
|
errorMessage,
|
|
44
89
|
ref
|
|
45
90
|
}
|