@koobiq/react-components 0.0.1-beta.3 → 0.0.1-beta.31
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 +35 -19
- 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 +23 -5
- package/dist/components/AnimatedIcon/AnimatedIcon.d.ts +4 -0
- package/dist/components/AnimatedIcon/AnimatedIcon.js +50 -0
- package/dist/components/AnimatedIcon/AnimatedIcon.module.css.js +11 -0
- package/dist/components/AnimatedIcon/index.d.ts +2 -0
- package/dist/components/AnimatedIcon/types.d.ts +19 -0
- package/dist/components/Backdrop/Backdrop.js +10 -2
- package/dist/components/Backdrop/types.d.ts +13 -2
- package/dist/components/Badge/Badge.js +34 -23
- package/dist/components/Badge/types.d.ts +13 -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 +30 -12
- 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 +41 -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 +49 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.module.css.js +29 -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 +49 -0
- package/dist/components/Checkbox/Checkbox.d.ts +20 -11
- package/dist/components/Checkbox/Checkbox.js +96 -22
- package/dist/components/Checkbox/Checkbox.module.css.js +6 -6
- package/dist/components/Checkbox/types.d.ts +99 -7
- 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 +14 -2
- package/dist/components/Container/types.d.ts +16 -5
- package/dist/components/Container/utils.d.ts +1 -1
- 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 +23 -1
- package/dist/components/Dialog/components/DialogCloseButton.js +3 -6
- 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 +26 -0
- package/dist/components/Divider/types.js +6 -0
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +1 -1
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +7 -2
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +3 -3
- package/dist/components/FieldComponents/FieldCaption/FieldCaption.d.ts +4 -6
- package/dist/components/FieldComponents/FieldCaption/FieldCaption.js +1 -1
- 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/FieldInputGroup/FieldInputGroup.d.ts +10 -4
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +56 -30
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +3 -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 +1 -1
- package/dist/components/FlexBox/FlexBox.d.ts +4 -0
- package/dist/components/FlexBox/FlexBox.js +47 -0
- package/dist/components/FlexBox/index.d.ts +2 -0
- package/dist/components/FlexBox/types.d.ts +27 -0
- 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 -10
- package/dist/components/Input/Input.d.ts +30 -9
- package/dist/components/Input/Input.js +69 -23
- package/dist/components/Input/types.d.ts +72 -14
- package/dist/components/InputNumber/InputNumber.d.ts +25 -9
- package/dist/components/InputNumber/InputNumber.js +77 -26
- package/dist/components/InputNumber/components/InputNumberCounterControls.js +4 -4
- package/dist/components/InputNumber/types.d.ts +59 -14
- 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 +46 -10
- package/dist/components/List/List.d.ts +17 -3
- package/dist/components/List/List.js +32 -18
- 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 +3 -2
- package/dist/components/List/components/ListOption/ListOption.js +10 -15
- package/dist/components/List/components/ListSection/ListSection.d.ts +3 -2
- 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 +13 -2
- package/dist/components/Menu/Menu.d.ts +15 -0
- package/dist/components/Menu/Menu.js +67 -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 +6 -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 +6 -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 +63 -0
- package/dist/components/Menu/types.js +4 -0
- package/dist/components/Modal/Modal.d.ts +9 -1
- package/dist/components/Modal/Modal.js +22 -25
- package/dist/components/Modal/index.d.ts +15 -2
- package/dist/components/Modal/index.js +9 -0
- package/dist/components/Modal/types.d.ts +9 -2
- package/dist/components/Popover/Popover.d.ts +12 -2
- package/dist/components/Popover/Popover.js +142 -128
- package/dist/components/Popover/Popover.module.css.js +3 -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 -8
- package/dist/components/Popover/types.js +9 -1
- package/dist/components/ProgressBar/types.d.ts +1 -1
- package/dist/components/ProgressSpinner/types.d.ts +2 -2
- package/dist/components/Provider/BreakpointsProvider.d.ts +2 -1
- package/dist/components/Provider/BreakpointsProvider.js +8 -1
- package/dist/components/Provider/Provider.d.ts +3 -1
- package/dist/components/Provider/Provider.js +18 -4
- package/dist/components/Provider/types.d.ts +8 -1
- package/dist/components/Provider/utils/useBreakpoints.d.ts +2 -1
- package/dist/components/Provider/utils/useBreakpoints.js +2 -2
- package/dist/components/RadioGroup/RadioContext.js +1 -0
- package/dist/components/RadioGroup/RadioGroup.js +2 -1
- package/dist/components/RadioGroup/components/Radio/Radio.js +2 -1
- package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +3 -0
- package/dist/components/RadioGroup/components/Radio/types.d.ts +1 -1
- package/dist/components/RadioGroup/types.d.ts +2 -2
- package/dist/components/Select/Select.d.ts +11 -0
- package/dist/components/Select/Select.js +195 -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 +129 -0
- package/dist/components/SidePanel/SidePanel.d.ts +9 -1
- package/dist/components/SidePanel/SidePanel.js +25 -24
- package/dist/components/SidePanel/index.d.ts +15 -2
- package/dist/components/SidePanel/index.js +9 -0
- package/dist/components/SidePanel/types.d.ts +10 -3
- package/dist/components/SkeletonTypography/types.d.ts +1 -1
- 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 +14 -6
- 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 -9
- package/dist/components/Textarea/types.d.ts +63 -13
- 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 +71 -10
- package/dist/components/Toggle/Toggle.module.css.js +6 -6
- package/dist/components/Toggle/types.d.ts +66 -4
- package/dist/components/Tooltip/Tooltip.d.ts +6 -3
- package/dist/components/Tooltip/Tooltip.js +43 -23
- package/dist/components/Tooltip/types.d.ts +28 -10
- package/dist/components/Typography/Typography.js +2 -2
- package/dist/components/Typography/Typography.module.css.js +2 -1
- package/dist/components/Typography/types.d.ts +9 -4
- package/dist/components/Typography/types.js +2 -1
- package/dist/components/index.d.ts +11 -0
- package/dist/components/layout/flex/flex.d.ts +15 -4
- package/dist/components/layout/flex/flex.js +6 -1
- package/dist/components/layout/flex/flex.module.css.js +78 -39
- package/dist/index.js +59 -24
- package/dist/{react-components.css → style.css} +1206 -387
- 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 +10 -5
- 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/Input/components/FieldAddon/FieldAddon.d.ts +0 -10
- package/dist/components/Input/components/FieldAddon/index.d.ts +0 -1
- package/dist/components/Input/components/FieldCaption/FieldCaption.d.ts +0 -6
- package/dist/components/Input/components/FieldCaption/index.d.ts +0 -1
- package/dist/components/Input/components/FieldControl/FieldControl.d.ts +0 -9
- package/dist/components/Input/components/FieldControl/index.d.ts +0 -1
- package/dist/components/Input/components/FieldError/FieldError.d.ts +0 -7
- package/dist/components/Input/components/FieldError/index.d.ts +0 -1
- package/dist/components/Input/components/FieldInput/FieldInput.d.ts +0 -9
- package/dist/components/Input/components/FieldInput/index.d.ts +0 -1
- package/dist/components/Input/components/FieldInputGroup/FieldInputGroup.d.ts +0 -7
- package/dist/components/Input/components/FieldInputGroup/index.d.ts +0 -1
- package/dist/components/Input/components/FieldLabel/FieldLabel.d.ts +0 -9
- package/dist/components/Input/components/FieldLabel/index.d.ts +0 -1
- package/dist/components/Input/components/index.d.ts +0 -7
- 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,14 +1,64 @@
|
|
|
1
1
|
import type { ComponentRef, CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import type { ExtendableProps } from '@koobiq/react-core';
|
|
3
|
-
import type {
|
|
4
|
-
import type { FieldCaptionProps, FieldErrorProps, FieldInputProps, FieldLabelProps } from '../FieldComponents';
|
|
3
|
+
import type { TextField, TextFieldProps } from '@koobiq/react-primitives';
|
|
4
|
+
import type { FieldCaptionProps, FieldErrorProps, FieldInputProps, FieldLabelProps, FieldInputGroupProps, FieldControlProps } from '../FieldComponents';
|
|
5
5
|
export declare const inputPropVariant: readonly ["filled", "transparent"];
|
|
6
6
|
export type InputPropVariant = (typeof inputPropVariant)[number];
|
|
7
|
+
type InputDeprecatedProps = {
|
|
8
|
+
/**
|
|
9
|
+
* If `true`, the component is disabled.
|
|
10
|
+
* @default false
|
|
11
|
+
*
|
|
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
|
+
*
|
|
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
|
+
*
|
|
28
|
+
* @deprecated
|
|
29
|
+
* The "required" prop is deprecated. Use "isRequired" prop to replace it.
|
|
30
|
+
*/
|
|
31
|
+
required?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* If `true`, the input can be selected but not changed by the user.
|
|
34
|
+
* @default false
|
|
35
|
+
*
|
|
36
|
+
* @deprecated
|
|
37
|
+
* The "readonly" prop is deprecated. Use "isReadOnly" prop to replace it.
|
|
38
|
+
*/
|
|
39
|
+
readonly?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
42
|
+
* @default false
|
|
43
|
+
*
|
|
44
|
+
* @deprecated
|
|
45
|
+
* The "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.
|
|
46
|
+
*/
|
|
47
|
+
hiddenLabel?: boolean;
|
|
48
|
+
};
|
|
7
49
|
export type InputProps = ExtendableProps<{
|
|
8
50
|
/** The content to display as the label. */
|
|
9
51
|
label?: ReactNode;
|
|
10
52
|
/** Additional CSS-classes. */
|
|
11
53
|
className?: string;
|
|
54
|
+
/** Temporary text that occupies the text input when it is empty. */
|
|
55
|
+
placeholder?: TextFieldProps['placeholder'];
|
|
56
|
+
/** The current value (controlled). */
|
|
57
|
+
value?: TextFieldProps['value'];
|
|
58
|
+
/** The default value (uncontrolled). */
|
|
59
|
+
defaultValue?: TextFieldProps['defaultValue'];
|
|
60
|
+
/** Handler that is called when the value changes. */
|
|
61
|
+
onChange?: TextFieldProps['onChange'];
|
|
12
62
|
/** Addon placed before the children. */
|
|
13
63
|
startAddon?: ReactNode;
|
|
14
64
|
/** Addon placed after the children. */
|
|
@@ -16,47 +66,55 @@ export type InputProps = ExtendableProps<{
|
|
|
16
66
|
/**
|
|
17
67
|
* The variant to use.
|
|
18
68
|
* @default filled
|
|
19
|
-
|
|
69
|
+
*/
|
|
20
70
|
variant?: InputPropVariant;
|
|
21
71
|
/**
|
|
22
72
|
* If `true`, the input will indicate an error.
|
|
23
73
|
* @default false
|
|
24
|
-
|
|
25
|
-
|
|
74
|
+
*/
|
|
75
|
+
isInvalid?: boolean;
|
|
26
76
|
/** Message for the error state */
|
|
27
77
|
errorMessage?: string | number;
|
|
28
78
|
/**
|
|
29
79
|
* If true, the input will take up the full width of its container.
|
|
30
80
|
* @default false
|
|
31
|
-
|
|
81
|
+
*/
|
|
32
82
|
fullWidth?: boolean;
|
|
33
83
|
/**
|
|
34
84
|
* If `true`, the component is disabled.
|
|
35
85
|
* @default false
|
|
36
|
-
|
|
37
|
-
|
|
86
|
+
*/
|
|
87
|
+
isDisabled?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* If `true`, the input can be selected but not changed by the user.
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
isReadOnly?: boolean;
|
|
38
93
|
/**
|
|
39
94
|
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
40
95
|
* @default false
|
|
41
|
-
|
|
42
|
-
|
|
96
|
+
*/
|
|
97
|
+
isLabelHidden?: boolean;
|
|
43
98
|
/** The helper text content. */
|
|
44
99
|
caption?: string | number;
|
|
45
100
|
/**
|
|
46
101
|
* If `true`, the label is displayed as required and the input element is required.
|
|
47
102
|
* @default false
|
|
48
|
-
|
|
49
|
-
|
|
103
|
+
*/
|
|
104
|
+
isRequired?: boolean;
|
|
50
105
|
/** Inline styles. */
|
|
51
106
|
style?: CSSProperties;
|
|
52
107
|
/** Unique identifier for testing purposes. */
|
|
53
108
|
'data-testid'?: string | number;
|
|
54
109
|
/** The props used for each slot inside. */
|
|
55
110
|
slotProps?: {
|
|
111
|
+
root?: FieldControlProps<typeof TextField<HTMLInputElement>>;
|
|
56
112
|
label?: FieldLabelProps;
|
|
57
|
-
input?: FieldInputProps;
|
|
58
113
|
caption?: FieldCaptionProps;
|
|
114
|
+
group?: FieldInputGroupProps;
|
|
59
115
|
errorMessage?: FieldErrorProps;
|
|
116
|
+
input?: FieldInputProps<'input'>;
|
|
60
117
|
};
|
|
61
|
-
}, Omit<
|
|
118
|
+
} & InputDeprecatedProps, Omit<TextFieldProps<HTMLInputElement>, 'description' | 'validationBehavior' | 'validate' | 'children' | 'style' | 'className' | 'inputElementType'>>;
|
|
62
119
|
export type InputRef = ComponentRef<'input'>;
|
|
120
|
+
export {};
|
|
@@ -1,22 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
import { NumberField } from '@koobiq/react-primitives';
|
|
2
|
+
import { type FieldControlProps, type FieldLabelProps, type FieldCaptionProps, type FieldErrorProps, type FieldInputGroupProps, type FieldInputProps } from '../FieldComponents';
|
|
3
|
+
export declare const InputNumber: import("react").ForwardRefExoticComponent<Omit<Omit<import("@react-types/numberfield").AriaNumberFieldProps, "inputElementType">, "caption" | "label" | "style" | "className" | "isDisabled" | "variant" | "slotProps" | "fullWidth" | "data-testid" | "isInvalid" | "isRequired" | "errorMessage" | "startAddon" | "endAddon" | "isLabelHidden" | keyof {
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
error?: boolean;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
readonly?: boolean;
|
|
8
|
+
hiddenLabel?: boolean;
|
|
9
|
+
}> & {
|
|
2
10
|
label?: import("react").ReactNode;
|
|
3
11
|
className?: string;
|
|
4
12
|
startAddon?: import("react").ReactNode;
|
|
5
13
|
endAddon?: import("react").ReactNode;
|
|
6
14
|
variant?: import("./types").InputNumberPropVariant;
|
|
7
|
-
|
|
15
|
+
isInvalid?: boolean;
|
|
8
16
|
errorMessage?: string | number;
|
|
9
17
|
fullWidth?: boolean;
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
isDisabled?: boolean;
|
|
19
|
+
isLabelHidden?: boolean;
|
|
12
20
|
caption?: string | number;
|
|
13
|
-
|
|
21
|
+
isRequired?: boolean;
|
|
14
22
|
style?: import("react").CSSProperties;
|
|
15
23
|
'data-testid'?: string | number;
|
|
16
24
|
slotProps?: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
root?: FieldControlProps<typeof NumberField>;
|
|
26
|
+
label?: FieldLabelProps;
|
|
27
|
+
input?: FieldInputProps;
|
|
28
|
+
caption?: FieldCaptionProps;
|
|
29
|
+
group?: FieldInputGroupProps;
|
|
30
|
+
errorMessage?: FieldErrorProps;
|
|
21
31
|
};
|
|
32
|
+
} & {
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
error?: boolean;
|
|
35
|
+
required?: boolean;
|
|
36
|
+
readonly?: boolean;
|
|
37
|
+
hiddenLabel?: boolean;
|
|
22
38
|
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
|
+
import { deprecate } from "@koobiq/logger";
|
|
4
5
|
import { useDOMRef, mergeProps } from "@koobiq/react-core";
|
|
5
|
-
import {
|
|
6
|
+
import { NumberField } from "@koobiq/react-primitives";
|
|
6
7
|
import { InputNumberCounterControls } from "./components/InputNumberCounterControls.js";
|
|
8
|
+
import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
|
|
7
9
|
import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
|
|
8
10
|
import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
|
|
9
11
|
import { FieldInput } from "../FieldComponents/FieldInput/FieldInput.js";
|
|
@@ -14,7 +16,16 @@ const InputNumber = forwardRef(
|
|
|
14
16
|
const {
|
|
15
17
|
variant = "filled",
|
|
16
18
|
fullWidth = false,
|
|
17
|
-
hiddenLabel
|
|
19
|
+
hiddenLabel,
|
|
20
|
+
isLabelHidden: isLabelHiddenProp,
|
|
21
|
+
disabled,
|
|
22
|
+
isDisabled: isDisabledProp,
|
|
23
|
+
error,
|
|
24
|
+
isInvalid: isInvalidProp,
|
|
25
|
+
required,
|
|
26
|
+
isRequired: isRequiredProp,
|
|
27
|
+
readonly,
|
|
28
|
+
isReadOnly: isReadOnlyProp,
|
|
18
29
|
label,
|
|
19
30
|
startAddon,
|
|
20
31
|
endAddon,
|
|
@@ -23,43 +34,83 @@ const InputNumber = forwardRef(
|
|
|
23
34
|
caption,
|
|
24
35
|
...other
|
|
25
36
|
} = props;
|
|
26
|
-
const
|
|
37
|
+
const inputRef = useDOMRef(ref);
|
|
38
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
39
|
+
const isRequired = isRequiredProp ?? required ?? false;
|
|
40
|
+
const isReadOnly = isReadOnlyProp ?? readonly ?? false;
|
|
41
|
+
const isInvalid = isInvalidProp ?? error ?? false;
|
|
42
|
+
const isLabelHidden = isLabelHiddenProp ?? hiddenLabel ?? false;
|
|
43
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
44
|
+
deprecate(
|
|
45
|
+
'InputNumber: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
if (process.env.NODE_ENV !== "production" && "required" in props) {
|
|
49
|
+
deprecate(
|
|
50
|
+
'InputNumber: the "required" prop is deprecated. Use "isRequired" prop to replace it.'
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
if (process.env.NODE_ENV !== "production" && "error" in props) {
|
|
54
|
+
deprecate(
|
|
55
|
+
'InputNumber: the "error" prop is deprecated. Use "isInvalid" prop to replace it.'
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
if (process.env.NODE_ENV !== "production" && "readonly" in props) {
|
|
59
|
+
deprecate(
|
|
60
|
+
'InputNumber: the "readonly" prop is deprecated. Use "isReadOnly" prop to replace it.'
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
if (process.env.NODE_ENV !== "production" && "hiddenLabel" in props) {
|
|
64
|
+
deprecate(
|
|
65
|
+
'InputNumber: the "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.'
|
|
66
|
+
);
|
|
67
|
+
}
|
|
27
68
|
const rootProps = mergeProps(
|
|
28
69
|
{
|
|
29
70
|
label,
|
|
30
71
|
fullWidth,
|
|
72
|
+
isDisabled,
|
|
73
|
+
isRequired,
|
|
74
|
+
isReadOnly,
|
|
75
|
+
isInvalid,
|
|
31
76
|
errorMessage,
|
|
32
77
|
"data-variant": variant,
|
|
33
|
-
"data-fullwidth": fullWidth
|
|
78
|
+
"data-fullwidth": fullWidth,
|
|
79
|
+
...other
|
|
34
80
|
},
|
|
35
|
-
|
|
81
|
+
slotProps?.root
|
|
36
82
|
);
|
|
37
|
-
return /* @__PURE__ */ jsx(
|
|
38
|
-
const labelProps = mergeProps(
|
|
39
|
-
{ hidden: hiddenLabel, required },
|
|
40
|
-
slotProps?.label
|
|
41
|
-
);
|
|
83
|
+
return /* @__PURE__ */ jsx(FieldControl, { as: NumberField, ...rootProps, children: ({ isInvalid: isInvalid2, isRequired: isRequired2, isDisabled: isDisabled2 }) => {
|
|
84
|
+
const labelProps = mergeProps({ isHidden: isLabelHidden, isRequired: isRequired2 }, slotProps?.label);
|
|
42
85
|
const inputProps = mergeProps(
|
|
43
|
-
{
|
|
86
|
+
{
|
|
87
|
+
variant,
|
|
88
|
+
isInvalid: isInvalid2,
|
|
89
|
+
isDisabled: isDisabled2,
|
|
90
|
+
ref: inputRef
|
|
91
|
+
},
|
|
44
92
|
slotProps?.input
|
|
45
93
|
);
|
|
46
|
-
const captionProps =
|
|
47
|
-
|
|
94
|
+
const captionProps = mergeProps(
|
|
95
|
+
{ isInvalid: isInvalid2 },
|
|
96
|
+
slotProps?.caption
|
|
97
|
+
);
|
|
98
|
+
const errorProps = mergeProps({ isInvalid: isInvalid2 }, slotProps?.errorMessage);
|
|
99
|
+
const groupProps = mergeProps(
|
|
100
|
+
{
|
|
101
|
+
endAddon: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
102
|
+
endAddon,
|
|
103
|
+
/* @__PURE__ */ jsx(InputNumberCounterControls, {})
|
|
104
|
+
] }),
|
|
105
|
+
isInvalid: isInvalid2,
|
|
106
|
+
startAddon,
|
|
107
|
+
isDisabled: isDisabled2
|
|
108
|
+
},
|
|
109
|
+
slotProps?.group
|
|
110
|
+
);
|
|
48
111
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
49
112
|
/* @__PURE__ */ jsx(FieldLabel, { ...labelProps, children: labelProps?.children || label }),
|
|
50
|
-
/* @__PURE__ */ jsx(
|
|
51
|
-
FieldInputGroup,
|
|
52
|
-
{
|
|
53
|
-
error,
|
|
54
|
-
disabled,
|
|
55
|
-
startAddon,
|
|
56
|
-
endAddon: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
57
|
-
endAddon,
|
|
58
|
-
/* @__PURE__ */ jsx(InputNumberCounterControls, {})
|
|
59
|
-
] }),
|
|
60
|
-
children: /* @__PURE__ */ jsx(FieldInput, { ...inputProps })
|
|
61
|
-
}
|
|
62
|
-
),
|
|
113
|
+
/* @__PURE__ */ jsx(FieldInputGroup, { ...groupProps, children: /* @__PURE__ */ jsx(FieldInput, { ...inputProps }) }),
|
|
63
114
|
/* @__PURE__ */ jsx(FieldCaption, { ...captionProps, children: captionProps?.children || caption }),
|
|
64
115
|
/* @__PURE__ */ jsx(FieldError, { ...errorProps, children: errorProps.children || errorMessage })
|
|
65
116
|
] });
|
|
@@ -5,8 +5,8 @@ import s from "./InputNumberCounterControls.module.css.js";
|
|
|
5
5
|
import { useFieldInputGroup } from "../../FieldComponents/FieldInputGroup/FieldInputGroupContext.js";
|
|
6
6
|
import { IconButton } from "../../IconButton/IconButton.js";
|
|
7
7
|
const InputNumberCounterControls = () => {
|
|
8
|
-
const {
|
|
9
|
-
const visible = (
|
|
8
|
+
const { isHovered, hasValue, isFocusWithin } = useFieldInputGroup();
|
|
9
|
+
const visible = (isHovered || isFocusWithin) && hasValue;
|
|
10
10
|
return /* @__PURE__ */ jsxs("div", { className: clsx(s.base, visible && s.visible), children: [
|
|
11
11
|
/* @__PURE__ */ jsx(
|
|
12
12
|
IconButton,
|
|
@@ -15,7 +15,7 @@ const InputNumberCounterControls = () => {
|
|
|
15
15
|
slot: "increment",
|
|
16
16
|
variant: "fade-contrast",
|
|
17
17
|
size: "l",
|
|
18
|
-
|
|
18
|
+
isCompact: true,
|
|
19
19
|
children: /* @__PURE__ */ jsx(IconChevronUp16, {})
|
|
20
20
|
}
|
|
21
21
|
),
|
|
@@ -26,7 +26,7 @@ const InputNumberCounterControls = () => {
|
|
|
26
26
|
slot: "decrement",
|
|
27
27
|
variant: "fade-contrast",
|
|
28
28
|
size: "l",
|
|
29
|
-
|
|
29
|
+
isCompact: true,
|
|
30
30
|
children: /* @__PURE__ */ jsx(IconChevronDown16, {})
|
|
31
31
|
}
|
|
32
32
|
)
|
|
@@ -1,9 +1,51 @@
|
|
|
1
1
|
import type { ComponentRef, CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import type { ExtendableProps } from '@koobiq/react-core';
|
|
3
|
-
import type { UseNumberFieldProps } from '@koobiq/react-primitives';
|
|
4
|
-
import type { FieldCaptionProps, FieldErrorProps, FieldInputProps, FieldLabelProps } from '../FieldComponents';
|
|
3
|
+
import type { NumberField, UseNumberFieldProps } from '@koobiq/react-primitives';
|
|
4
|
+
import type { FieldCaptionProps, FieldControlProps, FieldErrorProps, FieldInputGroupProps, FieldInputProps, FieldLabelProps } from '../FieldComponents';
|
|
5
5
|
export declare const inputNumberPropVariant: readonly ["filled", "transparent"];
|
|
6
6
|
export type InputNumberPropVariant = (typeof inputNumberPropVariant)[number];
|
|
7
|
+
type InputNumberDeprecatedProps = {
|
|
8
|
+
/**
|
|
9
|
+
* If `true`, the component is disabled.
|
|
10
|
+
* @default false
|
|
11
|
+
*
|
|
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
|
+
*
|
|
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
|
+
*
|
|
28
|
+
* @deprecated
|
|
29
|
+
* The "required" prop is deprecated. Use "isRequired" prop to replace it.
|
|
30
|
+
*/
|
|
31
|
+
required?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* If `true`, the input can be selected but not changed by the user.
|
|
34
|
+
* @default false
|
|
35
|
+
*
|
|
36
|
+
* @deprecated
|
|
37
|
+
* The "readonly" prop is deprecated. Use "isReadOnly" prop to replace it.
|
|
38
|
+
*/
|
|
39
|
+
readonly?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
42
|
+
* @default false
|
|
43
|
+
*
|
|
44
|
+
* @deprecated
|
|
45
|
+
* The "hiddenLabel" prop is deprecated. Use "isLabelHidden" prop to replace it.
|
|
46
|
+
*/
|
|
47
|
+
hiddenLabel?: boolean;
|
|
48
|
+
};
|
|
7
49
|
export type InputNumberProps = ExtendableProps<{
|
|
8
50
|
/** The content to display as the label. */
|
|
9
51
|
label?: ReactNode;
|
|
@@ -16,47 +58,50 @@ export type InputNumberProps = ExtendableProps<{
|
|
|
16
58
|
/**
|
|
17
59
|
* The variant to use.
|
|
18
60
|
* @default filled
|
|
19
|
-
|
|
61
|
+
*/
|
|
20
62
|
variant?: InputNumberPropVariant;
|
|
21
63
|
/**
|
|
22
64
|
* If `true`, the input will indicate an error.
|
|
23
65
|
* @default false
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/** Message for the error state */
|
|
66
|
+
*/
|
|
67
|
+
isInvalid?: boolean;
|
|
68
|
+
/** Message for the error state. */
|
|
27
69
|
errorMessage?: string | number;
|
|
28
70
|
/**
|
|
29
71
|
* If true, the input will take up the full width of its container.
|
|
30
72
|
* @default false
|
|
31
|
-
|
|
73
|
+
*/
|
|
32
74
|
fullWidth?: boolean;
|
|
33
75
|
/**
|
|
34
76
|
* If `true`, the component is disabled.
|
|
35
77
|
* @default false
|
|
36
|
-
|
|
37
|
-
|
|
78
|
+
*/
|
|
79
|
+
isDisabled?: boolean;
|
|
38
80
|
/**
|
|
39
81
|
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
40
82
|
* @default false
|
|
41
|
-
|
|
42
|
-
|
|
83
|
+
*/
|
|
84
|
+
isLabelHidden?: boolean;
|
|
43
85
|
/** The helper text content. */
|
|
44
86
|
caption?: string | number;
|
|
45
87
|
/**
|
|
46
88
|
* If `true`, the label is displayed as required and the input element is required.
|
|
47
89
|
* @default false
|
|
48
|
-
|
|
49
|
-
|
|
90
|
+
*/
|
|
91
|
+
isRequired?: boolean;
|
|
50
92
|
/** Inline styles. */
|
|
51
93
|
style?: CSSProperties;
|
|
52
94
|
/** Unique identifier for testing purposes. */
|
|
53
95
|
'data-testid'?: string | number;
|
|
54
96
|
/** The props used for each slot inside. */
|
|
55
97
|
slotProps?: {
|
|
98
|
+
root?: FieldControlProps<typeof NumberField>;
|
|
56
99
|
label?: FieldLabelProps;
|
|
57
100
|
input?: FieldInputProps;
|
|
58
101
|
caption?: FieldCaptionProps;
|
|
102
|
+
group?: FieldInputGroupProps;
|
|
59
103
|
errorMessage?: FieldErrorProps;
|
|
60
104
|
};
|
|
61
|
-
}, Omit<UseNumberFieldProps, 'inputElementType'>>;
|
|
105
|
+
} & InputNumberDeprecatedProps, Omit<UseNumberFieldProps, 'inputElementType'>>;
|
|
62
106
|
export type InputNumberRef = ComponentRef<'input'>;
|
|
107
|
+
export {};
|
|
@@ -1,45 +1,65 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { deprecate } from "@koobiq/logger";
|
|
4
|
+
import { polymorphicForwardRef, clsx } from "@koobiq/react-core";
|
|
5
|
+
import { Link as Link$1 } from "@koobiq/react-primitives";
|
|
5
6
|
import s from "./Link.module.css.js";
|
|
6
7
|
const Link = polymorphicForwardRef((props, ref) => {
|
|
7
8
|
const {
|
|
8
9
|
variant = "text-normal",
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
isPseudo: isPseudoProp,
|
|
11
|
+
isDisabled: isDisabledProp,
|
|
12
|
+
allowVisited: allowVisitedProp,
|
|
13
|
+
visitable,
|
|
14
|
+
pseudo,
|
|
15
|
+
disabled,
|
|
11
16
|
as = "a",
|
|
12
17
|
startIcon,
|
|
13
18
|
endIcon,
|
|
14
19
|
children,
|
|
15
20
|
className,
|
|
16
|
-
|
|
21
|
+
...other
|
|
17
22
|
} = props;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const { linkProps, hovered, pressed, focusVisible } = useLink(
|
|
22
|
-
{ ...props, elementType },
|
|
23
|
-
domRef
|
|
24
|
-
);
|
|
23
|
+
const allowVisited = allowVisitedProp ?? visitable ?? false;
|
|
24
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
25
|
+
const isPseudo = isPseudoProp ?? pseudo ?? false;
|
|
25
26
|
const hasIcon = Boolean(startIcon || endIcon);
|
|
27
|
+
if (process.env.NODE_ENV !== "production" && "visitable" in props) {
|
|
28
|
+
deprecate(
|
|
29
|
+
'Link: the "visitable" prop is deprecated. Use "allowVisited" prop to replace it.'
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
if (process.env.NODE_ENV !== "production" && "pseudo" in props) {
|
|
33
|
+
deprecate(
|
|
34
|
+
'Link: the "pseudo" prop is deprecated. Use "isPseudo" prop to replace it.'
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
38
|
+
deprecate(
|
|
39
|
+
'Link: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
const elementType = as !== "a" && as !== "button" ? `${as}` : void 0;
|
|
26
43
|
return /* @__PURE__ */ jsxs(
|
|
27
|
-
|
|
44
|
+
Link$1,
|
|
28
45
|
{
|
|
29
|
-
|
|
30
|
-
|
|
46
|
+
as,
|
|
47
|
+
isDisabled,
|
|
48
|
+
elementType,
|
|
49
|
+
...isDisabled && { tabIndex: -1 },
|
|
50
|
+
className: ({ isHovered, isPressed, isFocusVisible }) => clsx(
|
|
31
51
|
s.base,
|
|
32
52
|
s[variant],
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
53
|
+
isPseudo && s.pseudo,
|
|
54
|
+
isHovered && s.hovered,
|
|
55
|
+
isPressed && s.pressed,
|
|
36
56
|
hasIcon && s.hasIcon,
|
|
37
|
-
|
|
38
|
-
|
|
57
|
+
allowVisited && s.allowVisited,
|
|
58
|
+
isFocusVisible && s.focusVisible,
|
|
39
59
|
className
|
|
40
60
|
),
|
|
41
|
-
|
|
42
|
-
ref
|
|
61
|
+
...other,
|
|
62
|
+
ref,
|
|
43
63
|
children: [
|
|
44
64
|
startIcon,
|
|
45
65
|
children,
|
|
@@ -2,7 +2,7 @@ const base = "kbq-link-093ccd";
|
|
|
2
2
|
const hovered = "kbq-link-hovered-1916bc";
|
|
3
3
|
const pressed = "kbq-link-pressed-0b493d";
|
|
4
4
|
const focusVisible = "kbq-link-focusVisible-a98307";
|
|
5
|
-
const
|
|
5
|
+
const allowVisited = "kbq-link-allowVisited-cb5a56";
|
|
6
6
|
const pseudo = "kbq-link-pseudo-5f21eb";
|
|
7
7
|
const hasIcon = "kbq-link-hasIcon-ea84d7";
|
|
8
8
|
const inherit = "kbq-link-inherit-aa3736";
|
|
@@ -11,7 +11,7 @@ const s = {
|
|
|
11
11
|
hovered,
|
|
12
12
|
pressed,
|
|
13
13
|
focusVisible,
|
|
14
|
-
|
|
14
|
+
allowVisited,
|
|
15
15
|
pseudo,
|
|
16
16
|
hasIcon,
|
|
17
17
|
"text-normal": "kbq-link-text-normal-814a6c",
|
|
@@ -20,6 +20,7 @@ const s = {
|
|
|
20
20
|
inherit
|
|
21
21
|
};
|
|
22
22
|
export {
|
|
23
|
+
allowVisited,
|
|
23
24
|
base,
|
|
24
25
|
s as default,
|
|
25
26
|
focusVisible,
|
|
@@ -27,6 +28,5 @@ export {
|
|
|
27
28
|
hovered,
|
|
28
29
|
inherit,
|
|
29
30
|
pressed,
|
|
30
|
-
pseudo
|
|
31
|
-
visitable
|
|
31
|
+
pseudo
|
|
32
32
|
};
|
|
@@ -1,8 +1,35 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ExtendableProps } from '@koobiq/react-core';
|
|
3
|
+
import type { UseLinkProps } from '@koobiq/react-primitives';
|
|
3
4
|
import type { TypographyPropVariant } from '../Typography';
|
|
4
5
|
export type LinkPropVariant = Extract<TypographyPropVariant, 'text-compact' | 'text-normal' | 'text-big' | 'inherit'>;
|
|
5
|
-
|
|
6
|
+
type LinkDeprecatedProps = {
|
|
7
|
+
/**
|
|
8
|
+
* If `true`, the component is disabled.
|
|
9
|
+
* @default false
|
|
10
|
+
*
|
|
11
|
+
* @deprecated
|
|
12
|
+
* The "disabled" prop is deprecated. Use "isDisabled" prop to replace it.
|
|
13
|
+
*/
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* If `true`, displays :visited CSS-state.
|
|
17
|
+
* @default false
|
|
18
|
+
*
|
|
19
|
+
* @deprecated
|
|
20
|
+
* The "visitable" prop is deprecated. Use "isVisitable" prop to replace it.
|
|
21
|
+
*/
|
|
22
|
+
visitable?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* If `true`, displays the link as a pseudo-link.
|
|
25
|
+
* @default false
|
|
26
|
+
*
|
|
27
|
+
* @deprecated
|
|
28
|
+
* The "pseudo" prop is deprecated. Use "isPseudo" prop to replace it.
|
|
29
|
+
*/
|
|
30
|
+
pseudo?: boolean;
|
|
31
|
+
};
|
|
32
|
+
export type LinkBaseProps = ExtendableProps<{
|
|
6
33
|
/** The content of the component. */
|
|
7
34
|
children?: ReactNode;
|
|
8
35
|
/** The variant of the component. */
|
|
@@ -11,15 +38,24 @@ export type LinkBaseProps = {
|
|
|
11
38
|
startIcon?: ReactNode;
|
|
12
39
|
/** Icon placed after the children. */
|
|
13
40
|
endIcon?: ReactNode;
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, the component is disabled.
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
isDisabled?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* If `true`, displays :visited CSS-state.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
allowVisited?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* If `true`, displays the link as a pseudo-link.
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
isPseudo?: boolean;
|
|
20
56
|
/** Additional CSS-classes. */
|
|
21
57
|
className?: string;
|
|
22
58
|
/** Inline styles */
|
|
23
59
|
style?: CSSProperties;
|
|
24
|
-
|
|
25
|
-
};
|
|
60
|
+
} & LinkDeprecatedProps, UseLinkProps>;
|
|
61
|
+
export {};
|