@koobiq/react-components 0.0.1-beta.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/LICENSE +21 -0
- package/README.md +43 -0
- package/dist/components/Alert/Alert.d.ts +4 -0
- package/dist/components/Alert/Alert.js +78 -0
- package/dist/components/Alert/Alert.module.css.js +41 -0
- package/dist/components/Alert/components/AlertIcon/AlertIcon.d.ts +2 -0
- package/dist/components/Alert/components/AlertIcon/AlertIcon.js +19 -0
- package/dist/components/Alert/components/AlertIcon/AlertIcon.module.css.js +23 -0
- package/dist/components/Alert/components/AlertIcon/index.d.ts +1 -0
- package/dist/components/Alert/components/AlertIcon/types.d.ts +2 -0
- package/dist/components/Alert/components/AlertIcon/utils.d.ts +14 -0
- package/dist/components/Alert/components/AlertIcon/utils.js +23 -0
- package/dist/components/Alert/components/index.d.ts +1 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Alert/intl.json.js +11 -0
- package/dist/components/Alert/types.d.ts +43 -0
- package/dist/components/Alert/types.js +4 -0
- package/dist/components/Backdrop/Backdrop.d.ts +4 -0
- package/dist/components/Backdrop/Backdrop.js +52 -0
- package/dist/components/Backdrop/Backdrop.module.css.js +8 -0
- package/dist/components/Backdrop/index.d.ts +2 -0
- package/dist/components/Backdrop/types.d.ts +16 -0
- package/dist/components/Badge/Badge.d.ts +4 -0
- package/dist/components/Badge/Badge.js +32 -0
- package/dist/components/Badge/Badge.module.css.js +42 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Badge/types.d.ts +20 -0
- package/dist/components/Badge/types.js +22 -0
- package/dist/components/Button/Button.d.ts +4 -0
- package/dist/components/Button/Button.js +66 -0
- package/dist/components/Button/Button.module.css.js +44 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/types.d.ts +47 -0
- package/dist/components/Button/types.js +11 -0
- package/dist/components/Checkbox/Checkbox.d.ts +19 -0
- package/dist/components/Checkbox/Checkbox.js +64 -0
- package/dist/components/Checkbox/Checkbox.module.css.js +41 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/types.d.ts +27 -0
- package/dist/components/Checkbox/types.js +6 -0
- package/dist/components/Container/Container.d.ts +4 -0
- package/dist/components/Container/Container.js +45 -0
- package/dist/components/Container/Container.module.css.js +8 -0
- package/dist/components/Container/index.d.ts +2 -0
- package/dist/components/Container/types.d.ts +32 -0
- package/dist/components/Container/types.js +21 -0
- package/dist/components/Container/utils.d.ts +4 -0
- package/dist/components/Container/utils.js +19 -0
- package/dist/components/Dialog/Dialog.d.ts +2 -0
- package/dist/components/Dialog/Dialog.js +67 -0
- package/dist/components/Dialog/Dialog.module.css.js +23 -0
- package/dist/components/Dialog/DialogContext.d.ts +9 -0
- package/dist/components/Dialog/DialogContext.js +12 -0
- package/dist/components/Dialog/components/DialogCloseButton.d.ts +9 -0
- package/dist/components/Dialog/components/DialogCloseButton.js +30 -0
- package/dist/components/Dialog/components/DialogContent.d.ts +12 -0
- package/dist/components/Dialog/components/DialogContent.js +30 -0
- package/dist/components/Dialog/components/DialogFooter.d.ts +12 -0
- package/dist/components/Dialog/components/DialogFooter.js +12 -0
- package/dist/components/Dialog/components/DialoglHeader.d.ts +12 -0
- package/dist/components/Dialog/components/DialoglHeader.js +21 -0
- package/dist/components/Dialog/components/index.d.ts +4 -0
- package/dist/components/Dialog/index.d.ts +4 -0
- package/dist/components/Dialog/intl.json.js +11 -0
- package/dist/components/Dialog/types.d.ts +26 -0
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +10 -0
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +19 -0
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +17 -0
- package/dist/components/FieldComponents/FieldAddon/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldCaption/FieldCaption.d.ts +8 -0
- package/dist/components/FieldComponents/FieldCaption/FieldCaption.js +21 -0
- package/dist/components/FieldComponents/FieldCaption/FieldCaption.module.css.js +8 -0
- package/dist/components/FieldComponents/FieldCaption/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +10 -0
- package/dist/components/FieldComponents/FieldControl/FieldControl.js +20 -0
- package/dist/components/FieldComponents/FieldControl/FieldControl.module.css.js +11 -0
- package/dist/components/FieldComponents/FieldControl/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldError/FieldError.d.ts +6 -0
- package/dist/components/FieldComponents/FieldError/FieldError.js +21 -0
- package/dist/components/FieldComponents/FieldError/FieldError.module.css.js +8 -0
- package/dist/components/FieldComponents/FieldError/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +12 -0
- package/dist/components/FieldComponents/FieldInput/FieldInput.js +34 -0
- package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +20 -0
- package/dist/components/FieldComponents/FieldInput/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +11 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +41 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.module.css.js +14 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +8 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.js +7 -0
- package/dist/components/FieldComponents/FieldInputGroup/index.d.ts +2 -0
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +9 -0
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +24 -0
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.module.css.js +14 -0
- package/dist/components/FieldComponents/FieldLabel/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +10 -0
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +18 -0
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +11 -0
- package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +1 -0
- package/dist/components/FieldComponents/index.d.ts +8 -0
- package/dist/components/FormControlLabel/FormControlLabel.d.ts +2 -0
- package/dist/components/FormControlLabel/index.d.ts +2 -0
- package/dist/components/FormControlLabel/types.d.ts +32 -0
- package/dist/components/Grid/Grid.d.ts +4 -0
- package/dist/components/Grid/Grid.js +52 -0
- package/dist/components/Grid/Grid.module.css.js +8 -0
- package/dist/components/Grid/components/GridItem/GridItem.d.ts +4 -0
- package/dist/components/Grid/components/GridItem/GridItem.js +52 -0
- package/dist/components/Grid/components/GridItem/GridItem.module.css.js +8 -0
- package/dist/components/Grid/components/GridItem/index.d.ts +2 -0
- package/dist/components/Grid/components/GridItem/types.d.ts +22 -0
- package/dist/components/Grid/components/index.d.ts +1 -0
- package/dist/components/Grid/index.d.ts +3 -0
- package/dist/components/Grid/types.d.ts +30 -0
- package/dist/components/Grid/types.js +19 -0
- package/dist/components/Grid/utils.d.ts +2 -0
- package/dist/components/Grid/utils.js +8 -0
- package/dist/components/IconButton/IconButton.d.ts +4 -0
- package/dist/components/IconButton/IconButton.js +51 -0
- package/dist/components/IconButton/IconButton.module.css.js +43 -0
- package/dist/components/IconButton/index.d.ts +2 -0
- package/dist/components/IconButton/types.d.ts +36 -0
- package/dist/components/IconButton/types.js +13 -0
- package/dist/components/Input/Input.d.ts +22 -0
- package/dist/components/Input/Input.js +70 -0
- package/dist/components/Input/components/FieldAddon/FieldAddon.d.ts +10 -0
- package/dist/components/Input/components/FieldAddon/index.d.ts +1 -0
- package/dist/components/Input/components/FieldCaption/FieldCaption.d.ts +6 -0
- package/dist/components/Input/components/FieldCaption/index.d.ts +1 -0
- package/dist/components/Input/components/FieldControl/FieldControl.d.ts +9 -0
- package/dist/components/Input/components/FieldControl/index.d.ts +1 -0
- package/dist/components/Input/components/FieldError/FieldError.d.ts +7 -0
- package/dist/components/Input/components/FieldError/index.d.ts +1 -0
- package/dist/components/Input/components/FieldInput/FieldInput.d.ts +9 -0
- package/dist/components/Input/components/FieldInput/index.d.ts +1 -0
- package/dist/components/Input/components/FieldInputGroup/FieldInputGroup.d.ts +7 -0
- package/dist/components/Input/components/FieldInputGroup/index.d.ts +1 -0
- package/dist/components/Input/components/FieldLabel/FieldLabel.d.ts +9 -0
- package/dist/components/Input/components/FieldLabel/index.d.ts +1 -0
- package/dist/components/Input/components/index.d.ts +7 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/types.d.ts +62 -0
- package/dist/components/Input/types.js +4 -0
- package/dist/components/InputNumber/InputNumber.d.ts +22 -0
- package/dist/components/InputNumber/InputNumber.js +72 -0
- package/dist/components/InputNumber/components/InputNumberCounterControls.d.ts +1 -0
- package/dist/components/InputNumber/components/InputNumberCounterControls.js +37 -0
- package/dist/components/InputNumber/components/InputNumberCounterControls.module.css.js +14 -0
- package/dist/components/InputNumber/components/index.d.ts +1 -0
- package/dist/components/InputNumber/index.d.ts +2 -0
- package/dist/components/InputNumber/types.d.ts +62 -0
- package/dist/components/InputNumber/types.js +4 -0
- package/dist/components/Link/Link.d.ts +4 -0
- package/dist/components/Link/Link.js +54 -0
- package/dist/components/Link/Link.module.css.js +32 -0
- package/dist/components/Link/index.d.ts +2 -0
- package/dist/components/Link/types.d.ts +25 -0
- package/dist/components/Modal/Modal.d.ts +2 -0
- package/dist/components/Modal/Modal.js +121 -0
- package/dist/components/Modal/Modal.module.css.js +20 -0
- package/dist/components/Modal/index.d.ts +4 -0
- package/dist/components/Modal/types.d.ts +68 -0
- package/dist/components/Modal/types.js +4 -0
- package/dist/components/Popover/Popover.d.ts +2 -0
- package/dist/components/Popover/Popover.js +147 -0
- package/dist/components/Popover/Popover.module.css.js +17 -0
- package/dist/components/Popover/index.d.ts +4 -0
- package/dist/components/Popover/types.d.ts +97 -0
- package/dist/components/Popover/types.js +19 -0
- package/dist/components/Popover/utils.d.ts +2 -0
- package/dist/components/Popover/utils.js +11 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +2 -0
- package/dist/components/ProgressBar/ProgressBar.js +57 -0
- package/dist/components/ProgressBar/ProgressBar.module.css.js +15 -0
- package/dist/components/ProgressBar/index.d.ts +2 -0
- package/dist/components/ProgressBar/types.d.ts +34 -0
- package/dist/components/ProgressBar/types.js +4 -0
- package/dist/components/ProgressSpinner/ProgressSpinner.d.ts +2 -0
- package/dist/components/ProgressSpinner/ProgressSpinner.js +68 -0
- package/dist/components/ProgressSpinner/ProgressSpinner.module.css.js +18 -0
- package/dist/components/ProgressSpinner/index.d.ts +2 -0
- package/dist/components/ProgressSpinner/types.d.ts +41 -0
- package/dist/components/ProgressSpinner/types.js +9 -0
- package/dist/components/ProgressSpinner/utils.d.ts +2 -0
- package/dist/components/ProgressSpinner/utils.js +18 -0
- package/dist/components/Provider/BreakpointsContext.d.ts +5 -0
- package/dist/components/Provider/BreakpointsContext.js +17 -0
- package/dist/components/Provider/BreakpointsProvider.d.ts +10 -0
- package/dist/components/Provider/BreakpointsProvider.js +15 -0
- package/dist/components/Provider/Provider.d.ts +6 -0
- package/dist/components/Provider/Provider.js +29 -0
- package/dist/components/Provider/ProviderContext.d.ts +3 -0
- package/dist/components/Provider/ProviderContext.js +12 -0
- package/dist/components/Provider/index.d.ts +5 -0
- package/dist/components/Provider/types.d.ts +16 -0
- package/dist/components/Provider/utils/index.d.ts +1 -0
- package/dist/components/Provider/utils/useBreakpoints.d.ts +2 -0
- package/dist/components/Provider/utils/useBreakpoints.js +15 -0
- package/dist/components/Provider/utils/useMatchedBreakpoints.d.ts +2 -0
- package/dist/components/RadioGroup/RadioContext.d.ts +6 -0
- package/dist/components/RadioGroup/RadioContext.js +9 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/dist/components/RadioGroup/RadioGroup.js +35 -0
- package/dist/components/RadioGroup/components/Radio/Radio.d.ts +12 -0
- package/dist/components/RadioGroup/components/Radio/Radio.js +44 -0
- package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +38 -0
- package/dist/components/RadioGroup/components/Radio/index.d.ts +2 -0
- package/dist/components/RadioGroup/components/Radio/types.d.ts +27 -0
- package/dist/components/RadioGroup/components/Radio/types.js +6 -0
- package/dist/components/RadioGroup/components/RadioGroupDescription/RadioGroupDescription.d.ts +7 -0
- package/dist/components/RadioGroup/components/RadioGroupDescription/RadioGroupDescription.js +21 -0
- package/dist/components/RadioGroup/components/RadioGroupDescription/index.d.ts +1 -0
- package/dist/components/RadioGroup/components/RadioGroupLabel/RadioGroupLabel.d.ts +6 -0
- package/dist/components/RadioGroup/components/RadioGroupLabel/RadioGroupLabel.js +14 -0
- package/dist/components/RadioGroup/components/RadioGroupLabel/index.d.ts +1 -0
- package/dist/components/RadioGroup/components/index.d.ts +3 -0
- package/dist/components/RadioGroup/index.d.ts +4 -0
- package/dist/components/RadioGroup/types.d.ts +37 -0
- package/dist/components/RadioGroup/types.js +6 -0
- package/dist/components/SidePanel/SidePanel.d.ts +2 -0
- package/dist/components/SidePanel/SidePanel.js +125 -0
- package/dist/components/SidePanel/SidePanel.module.css.js +26 -0
- package/dist/components/SidePanel/index.d.ts +4 -0
- package/dist/components/SidePanel/types.d.ts +75 -0
- package/dist/components/SidePanel/types.js +6 -0
- package/dist/components/SkeletonBlock/SkeletonBlock.d.ts +2 -0
- package/dist/components/SkeletonBlock/SkeletonBlock.js +37 -0
- package/dist/components/SkeletonBlock/SkeletonBlock.module.css.js +12 -0
- package/dist/components/SkeletonBlock/index.d.ts +2 -0
- package/dist/components/SkeletonBlock/types.d.ts +18 -0
- package/dist/components/SkeletonBlock/utils.d.ts +2 -0
- package/dist/components/SkeletonBlock/utils.js +8 -0
- package/dist/components/SkeletonTypography/SkeletonTypography.d.ts +2 -0
- package/dist/components/SkeletonTypography/SkeletonTypography.js +44 -0
- package/dist/components/SkeletonTypography/SkeletonTypography.module.css.js +14 -0
- package/dist/components/SkeletonTypography/index.d.ts +2 -0
- package/dist/components/SkeletonTypography/types.d.ts +25 -0
- package/dist/components/SkeletonTypography/utils.d.ts +2 -0
- package/dist/components/SkeletonTypography/utils.js +18 -0
- package/dist/components/Textarea/Textarea.d.ts +21 -0
- package/dist/components/Textarea/Textarea.js +51 -0
- package/dist/components/Textarea/Textarea.module.css.js +7 -0
- package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +6 -0
- package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +58 -0
- package/dist/components/Textarea/components/TextareaContextConsumer/index.d.ts +1 -0
- package/dist/components/Textarea/components/index.d.ts +1 -0
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/types.d.ts +67 -0
- package/dist/components/Textarea/types.js +6 -0
- package/dist/components/Textarea/utils/index.d.ts +1 -0
- package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +2 -0
- package/dist/components/Textarea/utils/useTextareaAutosize.js +15 -0
- package/dist/components/Toggle/Toggle.d.ts +16 -0
- package/dist/components/Toggle/Toggle.js +42 -0
- package/dist/components/Toggle/Toggle.module.css.js +38 -0
- package/dist/components/Toggle/index.d.ts +2 -0
- package/dist/components/Toggle/types.d.ts +25 -0
- package/dist/components/Toggle/types.js +6 -0
- package/dist/components/Tooltip/Tooltip.d.ts +20 -0
- package/dist/components/Tooltip/Tooltip.js +119 -0
- package/dist/components/Tooltip/Tooltip.module.css.js +30 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/Tooltip/types.d.ts +81 -0
- package/dist/components/Tooltip/types.js +25 -0
- package/dist/components/Typography/Typography.d.ts +4 -0
- package/dist/components/Typography/Typography.js +46 -0
- package/dist/components/Typography/Typography.module.css.js +23 -0
- package/dist/components/Typography/index.d.ts +2 -0
- package/dist/components/Typography/types.d.ts +31 -0
- package/dist/components/Typography/types.js +84 -0
- package/dist/components/index.d.ts +24 -0
- package/dist/components/layout/flex/flex.d.ts +25 -0
- package/dist/components/layout/flex/flex.js +74 -0
- package/dist/components/layout/flex/flex.module.css.js +92 -0
- package/dist/components/layout/flex/index.d.ts +1 -0
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/components/layout/spacing/index.d.ts +1 -0
- package/dist/components/layout/spacing/spacing.d.ts +33 -0
- package/dist/components/layout/spacing/spacing.js +44 -0
- package/dist/components/layout/spacing/spacing.module.css.js +365 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +152 -0
- package/dist/style.css +3329 -0
- package/dist/styles/utility.d.ts +71 -0
- package/dist/styles/utility.js +77 -0
- package/dist/styles/utility.module.css.js +76 -0
- package/dist/utils/getResponsiveValue/getResponsiveValue.d.ts +3 -0
- package/dist/utils/getResponsiveValue/getResponsiveValue.js +18 -0
- package/dist/utils/getResponsiveValue/index.d.ts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const InputNumber: import("react").ForwardRefExoticComponent<Omit<Omit<import("@koobiq/react-primitives").UseNumberFieldProps, "inputElementType">, "caption" | "label" | "style" | "className" | "disabled" | "required" | "error" | "variant" | "slotProps" | "fullWidth" | "data-testid" | "errorMessage" | "startAddon" | "endAddon" | "hiddenLabel"> & {
|
|
2
|
+
label?: import("react").ReactNode;
|
|
3
|
+
className?: string;
|
|
4
|
+
startAddon?: import("react").ReactNode;
|
|
5
|
+
endAddon?: import("react").ReactNode;
|
|
6
|
+
variant?: import("./types").InputNumberPropVariant;
|
|
7
|
+
error?: boolean;
|
|
8
|
+
errorMessage?: string | number;
|
|
9
|
+
fullWidth?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
hiddenLabel?: boolean;
|
|
12
|
+
caption?: string | number;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
style?: import("react").CSSProperties;
|
|
15
|
+
'data-testid'?: string | number;
|
|
16
|
+
slotProps?: {
|
|
17
|
+
label?: import("../FieldComponents").FieldLabelProps;
|
|
18
|
+
input?: import("../FieldComponents").FieldInputProps;
|
|
19
|
+
caption?: import("../FieldComponents").FieldCaptionProps;
|
|
20
|
+
errorMessage?: import("../FieldComponents").FieldErrorProps;
|
|
21
|
+
};
|
|
22
|
+
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { useDOMRef, mergeProps } from "@koobiq/react-core";
|
|
5
|
+
import { FieldNumberControl } from "../FieldComponents/FieldNumberControl/FieldNumberControl.js";
|
|
6
|
+
import { InputNumberCounterControls } from "./components/InputNumberCounterControls.js";
|
|
7
|
+
import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
|
|
8
|
+
import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
|
|
9
|
+
import { FieldInput } from "../FieldComponents/FieldInput/FieldInput.js";
|
|
10
|
+
import { FieldCaption } from "../FieldComponents/FieldCaption/FieldCaption.js";
|
|
11
|
+
import { FieldError } from "../FieldComponents/FieldError/FieldError.js";
|
|
12
|
+
const InputNumber = forwardRef(
|
|
13
|
+
(props, ref) => {
|
|
14
|
+
const {
|
|
15
|
+
variant = "filled",
|
|
16
|
+
fullWidth = false,
|
|
17
|
+
hiddenLabel = false,
|
|
18
|
+
label,
|
|
19
|
+
startAddon,
|
|
20
|
+
endAddon,
|
|
21
|
+
errorMessage,
|
|
22
|
+
slotProps,
|
|
23
|
+
caption,
|
|
24
|
+
...other
|
|
25
|
+
} = props;
|
|
26
|
+
const domRef = useDOMRef(ref);
|
|
27
|
+
const rootProps = mergeProps(
|
|
28
|
+
{
|
|
29
|
+
label,
|
|
30
|
+
fullWidth,
|
|
31
|
+
errorMessage,
|
|
32
|
+
"data-variant": variant,
|
|
33
|
+
"data-fullwidth": fullWidth
|
|
34
|
+
},
|
|
35
|
+
other
|
|
36
|
+
);
|
|
37
|
+
return /* @__PURE__ */ jsx(FieldNumberControl, { ...rootProps, children: ({ error, required, disabled }) => {
|
|
38
|
+
const labelProps = mergeProps(
|
|
39
|
+
{ hidden: hiddenLabel, required },
|
|
40
|
+
slotProps?.label
|
|
41
|
+
);
|
|
42
|
+
const inputProps = mergeProps(
|
|
43
|
+
{ error, variant, disabled, ref: domRef },
|
|
44
|
+
slotProps?.input
|
|
45
|
+
);
|
|
46
|
+
const captionProps = slotProps?.caption;
|
|
47
|
+
const errorProps = mergeProps({ error }, slotProps?.errorMessage);
|
|
48
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
49
|
+
/* @__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
|
+
),
|
|
63
|
+
/* @__PURE__ */ jsx(FieldCaption, { ...captionProps, children: captionProps?.children || caption }),
|
|
64
|
+
/* @__PURE__ */ jsx(FieldError, { ...errorProps, children: errorProps.children || errorMessage })
|
|
65
|
+
] });
|
|
66
|
+
} });
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
InputNumber.displayName = "InputNumber";
|
|
70
|
+
export {
|
|
71
|
+
InputNumber
|
|
72
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const InputNumberCounterControls: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { clsx } from "@koobiq/react-core";
|
|
3
|
+
import { IconChevronUp16, IconChevronDown16 } from "@koobiq/react-icons";
|
|
4
|
+
import s from "./InputNumberCounterControls.module.css.js";
|
|
5
|
+
import { useFieldInputGroup } from "../../FieldComponents/FieldInputGroup/FieldInputGroupContext.js";
|
|
6
|
+
import { IconButton } from "../../IconButton/IconButton.js";
|
|
7
|
+
const InputNumberCounterControls = () => {
|
|
8
|
+
const { hovered, hasValue, focusWithin } = useFieldInputGroup();
|
|
9
|
+
const visible = (hovered || focusWithin) && hasValue;
|
|
10
|
+
return /* @__PURE__ */ jsxs("div", { className: clsx(s.base, visible && s.visible), children: [
|
|
11
|
+
/* @__PURE__ */ jsx(
|
|
12
|
+
IconButton,
|
|
13
|
+
{
|
|
14
|
+
className: s.counter,
|
|
15
|
+
slot: "increment",
|
|
16
|
+
variant: "fade-contrast",
|
|
17
|
+
size: "l",
|
|
18
|
+
compact: true,
|
|
19
|
+
children: /* @__PURE__ */ jsx(IconChevronUp16, {})
|
|
20
|
+
}
|
|
21
|
+
),
|
|
22
|
+
/* @__PURE__ */ jsx(
|
|
23
|
+
IconButton,
|
|
24
|
+
{
|
|
25
|
+
className: s.counter,
|
|
26
|
+
slot: "decrement",
|
|
27
|
+
variant: "fade-contrast",
|
|
28
|
+
size: "l",
|
|
29
|
+
compact: true,
|
|
30
|
+
children: /* @__PURE__ */ jsx(IconChevronDown16, {})
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
] });
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
InputNumberCounterControls
|
|
37
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const base = "kbq-inputnumbercountercontrols-77ed13";
|
|
2
|
+
const visible = "kbq-inputnumbercountercontrols-visible-5885f8";
|
|
3
|
+
const counter = "kbq-inputnumbercountercontrols-counter-1126db";
|
|
4
|
+
const s = {
|
|
5
|
+
base,
|
|
6
|
+
visible,
|
|
7
|
+
counter
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
base,
|
|
11
|
+
counter,
|
|
12
|
+
s as default,
|
|
13
|
+
visible
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './InputNumberCounterControls';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ComponentRef, CSSProperties, ReactNode } from 'react';
|
|
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';
|
|
5
|
+
export declare const inputNumberPropVariant: readonly ["filled", "transparent"];
|
|
6
|
+
export type InputNumberPropVariant = (typeof inputNumberPropVariant)[number];
|
|
7
|
+
export type InputNumberProps = ExtendableProps<{
|
|
8
|
+
/** The content to display as the label. */
|
|
9
|
+
label?: ReactNode;
|
|
10
|
+
/** Additional CSS-classes. */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Addon placed before the children. */
|
|
13
|
+
startAddon?: ReactNode;
|
|
14
|
+
/** Addon placed after the children. */
|
|
15
|
+
endAddon?: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* The variant to use.
|
|
18
|
+
* @default filled
|
|
19
|
+
* */
|
|
20
|
+
variant?: InputNumberPropVariant;
|
|
21
|
+
/**
|
|
22
|
+
* If `true`, the input will indicate an error.
|
|
23
|
+
* @default false
|
|
24
|
+
* */
|
|
25
|
+
error?: boolean;
|
|
26
|
+
/** Message for the error state */
|
|
27
|
+
errorMessage?: string | number;
|
|
28
|
+
/**
|
|
29
|
+
* If true, the input will take up the full width of its container.
|
|
30
|
+
* @default false
|
|
31
|
+
* */
|
|
32
|
+
fullWidth?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* If `true`, the component is disabled.
|
|
35
|
+
* @default false
|
|
36
|
+
* */
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* If `true`, the label is hidden. Be sure to add aria-label to the input element.
|
|
40
|
+
* @default false
|
|
41
|
+
* */
|
|
42
|
+
hiddenLabel?: boolean;
|
|
43
|
+
/** The helper text content. */
|
|
44
|
+
caption?: string | number;
|
|
45
|
+
/**
|
|
46
|
+
* If `true`, the label is displayed as required and the input element is required.
|
|
47
|
+
* @default false
|
|
48
|
+
* */
|
|
49
|
+
required?: boolean;
|
|
50
|
+
/** Inline styles. */
|
|
51
|
+
style?: CSSProperties;
|
|
52
|
+
/** Unique identifier for testing purposes. */
|
|
53
|
+
'data-testid'?: string | number;
|
|
54
|
+
/** The props used for each slot inside. */
|
|
55
|
+
slotProps?: {
|
|
56
|
+
label?: FieldLabelProps;
|
|
57
|
+
input?: FieldInputProps;
|
|
58
|
+
caption?: FieldCaptionProps;
|
|
59
|
+
errorMessage?: FieldErrorProps;
|
|
60
|
+
};
|
|
61
|
+
}, Omit<UseNumberFieldProps, 'inputElementType'>>;
|
|
62
|
+
export type InputNumberRef = ComponentRef<'input'>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ElementType } from 'react';
|
|
2
|
+
import type { LinkBaseProps } from './types';
|
|
3
|
+
export declare const Link: import("@koobiq/react-core").PolyForwardComponent<"a", LinkBaseProps, ElementType>;
|
|
4
|
+
export type LinkProps<As extends ElementType = 'a'> = ComponentPropsWithRef<typeof Link<As>>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { polymorphicForwardRef, useDOMRef, clsx } from "@koobiq/react-core";
|
|
4
|
+
import { useLink } from "@koobiq/react-primitives";
|
|
5
|
+
import s from "./Link.module.css.js";
|
|
6
|
+
const Link = polymorphicForwardRef((props, ref) => {
|
|
7
|
+
const {
|
|
8
|
+
variant = "text-normal",
|
|
9
|
+
visitable = false,
|
|
10
|
+
pseudo = false,
|
|
11
|
+
as = "a",
|
|
12
|
+
startIcon,
|
|
13
|
+
endIcon,
|
|
14
|
+
children,
|
|
15
|
+
className,
|
|
16
|
+
style
|
|
17
|
+
} = props;
|
|
18
|
+
const Tag = as;
|
|
19
|
+
const domRef = useDOMRef(ref);
|
|
20
|
+
const elementType = as !== "a" && as !== "button" ? `${as}` : void 0;
|
|
21
|
+
const { linkProps, hovered, pressed, focusVisible } = useLink(
|
|
22
|
+
{ ...props, elementType },
|
|
23
|
+
domRef
|
|
24
|
+
);
|
|
25
|
+
const hasIcon = Boolean(startIcon || endIcon);
|
|
26
|
+
return /* @__PURE__ */ jsxs(
|
|
27
|
+
Tag,
|
|
28
|
+
{
|
|
29
|
+
...linkProps,
|
|
30
|
+
className: clsx(
|
|
31
|
+
s.base,
|
|
32
|
+
s[variant],
|
|
33
|
+
pseudo && s.pseudo,
|
|
34
|
+
hovered && s.hovered,
|
|
35
|
+
pressed && s.pressed,
|
|
36
|
+
hasIcon && s.hasIcon,
|
|
37
|
+
visitable && s.visitable,
|
|
38
|
+
focusVisible && s.focusVisible,
|
|
39
|
+
className
|
|
40
|
+
),
|
|
41
|
+
style,
|
|
42
|
+
ref: domRef,
|
|
43
|
+
children: [
|
|
44
|
+
startIcon,
|
|
45
|
+
children,
|
|
46
|
+
endIcon
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
});
|
|
51
|
+
Link.displayName = "Link";
|
|
52
|
+
export {
|
|
53
|
+
Link
|
|
54
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const base = "kbq-link-093ccd";
|
|
2
|
+
const hovered = "kbq-link-hovered-1916bc";
|
|
3
|
+
const pressed = "kbq-link-pressed-0b493d";
|
|
4
|
+
const focusVisible = "kbq-link-focusVisible-a98307";
|
|
5
|
+
const visitable = "kbq-link-visitable-c8175e";
|
|
6
|
+
const pseudo = "kbq-link-pseudo-5f21eb";
|
|
7
|
+
const hasIcon = "kbq-link-hasIcon-ea84d7";
|
|
8
|
+
const inherit = "kbq-link-inherit-aa3736";
|
|
9
|
+
const s = {
|
|
10
|
+
base,
|
|
11
|
+
hovered,
|
|
12
|
+
pressed,
|
|
13
|
+
focusVisible,
|
|
14
|
+
visitable,
|
|
15
|
+
pseudo,
|
|
16
|
+
hasIcon,
|
|
17
|
+
"text-normal": "kbq-link-text-normal-814a6c",
|
|
18
|
+
"text-big": "kbq-link-text-big-a56241",
|
|
19
|
+
"text-compact": "kbq-link-text-compact-e205e9",
|
|
20
|
+
inherit
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
base,
|
|
24
|
+
s as default,
|
|
25
|
+
focusVisible,
|
|
26
|
+
hasIcon,
|
|
27
|
+
hovered,
|
|
28
|
+
inherit,
|
|
29
|
+
pressed,
|
|
30
|
+
pseudo,
|
|
31
|
+
visitable
|
|
32
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import type { ButtonOptions } from '@koobiq/react-primitives';
|
|
3
|
+
import type { TypographyPropVariant } from '../Typography';
|
|
4
|
+
export type LinkPropVariant = Extract<TypographyPropVariant, 'text-compact' | 'text-normal' | 'text-big' | 'inherit'>;
|
|
5
|
+
export type LinkBaseProps = {
|
|
6
|
+
/** The content of the component. */
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/** The variant of the component. */
|
|
9
|
+
variant?: LinkPropVariant;
|
|
10
|
+
/** Icon placed before the children. */
|
|
11
|
+
startIcon?: ReactNode;
|
|
12
|
+
/** Icon placed after the children. */
|
|
13
|
+
endIcon?: ReactNode;
|
|
14
|
+
/** If `true`, the component is disabled. */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** If `true`, displays :visited CSS-state. */
|
|
17
|
+
visitable?: boolean;
|
|
18
|
+
/** If `true`, displays the link as a pseudo-link. */
|
|
19
|
+
pseudo?: boolean;
|
|
20
|
+
/** Additional CSS-classes. */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Inline styles */
|
|
23
|
+
style?: CSSProperties;
|
|
24
|
+
onClick?: ButtonOptions['onPress'];
|
|
25
|
+
};
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, cloneElement, isValidElement } from "react";
|
|
4
|
+
import { useBoolean, useDOMRef, mergeProps, clsx } from "@koobiq/react-core";
|
|
5
|
+
import { useOverlayTriggerState, useOverlayTrigger, useModalOverlay, Overlay } from "@koobiq/react-primitives";
|
|
6
|
+
import { Transition } from "react-transition-group";
|
|
7
|
+
import s from "./Modal.module.css.js";
|
|
8
|
+
import { Backdrop } from "../Backdrop/Backdrop.js";
|
|
9
|
+
import { Dialog } from "../Dialog/Dialog.js";
|
|
10
|
+
const Modal = forwardRef((props, ref) => {
|
|
11
|
+
const {
|
|
12
|
+
hideCloseButton = false,
|
|
13
|
+
size = "medium",
|
|
14
|
+
disableExitOnEscapeKeyDown,
|
|
15
|
+
disableExitOnClickOutside,
|
|
16
|
+
disableFocusManagement,
|
|
17
|
+
portalContainer,
|
|
18
|
+
open: openProp,
|
|
19
|
+
hideBackdrop,
|
|
20
|
+
onOpenChange,
|
|
21
|
+
defaultOpen,
|
|
22
|
+
children,
|
|
23
|
+
control,
|
|
24
|
+
slotProps,
|
|
25
|
+
...other
|
|
26
|
+
} = props;
|
|
27
|
+
const state = useOverlayTriggerState({
|
|
28
|
+
isOpen: openProp,
|
|
29
|
+
onOpenChange,
|
|
30
|
+
defaultOpen,
|
|
31
|
+
...other
|
|
32
|
+
});
|
|
33
|
+
const { isOpen: openState, close } = state;
|
|
34
|
+
const [opened, { on, off }] = useBoolean(openState);
|
|
35
|
+
const modalRef = useDOMRef(null);
|
|
36
|
+
const containerRef = useDOMRef(ref);
|
|
37
|
+
const { triggerProps, overlayProps } = useOverlayTrigger(
|
|
38
|
+
{ type: "dialog" },
|
|
39
|
+
{ ...state, isOpen: openState }
|
|
40
|
+
);
|
|
41
|
+
const { modalProps: modalCommonProps, underlayProps } = useModalOverlay(
|
|
42
|
+
{
|
|
43
|
+
...props,
|
|
44
|
+
isDismissable: !disableExitOnClickOutside,
|
|
45
|
+
isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
|
|
46
|
+
},
|
|
47
|
+
{ ...state, isOpen: opened },
|
|
48
|
+
modalRef
|
|
49
|
+
);
|
|
50
|
+
const resolvedChildren = () => {
|
|
51
|
+
if (typeof children === "function")
|
|
52
|
+
return cloneElement(children({ close }), overlayProps);
|
|
53
|
+
if (isValidElement(children)) return cloneElement(children, overlayProps);
|
|
54
|
+
return children;
|
|
55
|
+
};
|
|
56
|
+
const containerProps = mergeProps(
|
|
57
|
+
{
|
|
58
|
+
className: clsx(s.base, s[size]),
|
|
59
|
+
ref: containerRef,
|
|
60
|
+
"data-size": size
|
|
61
|
+
},
|
|
62
|
+
other
|
|
63
|
+
);
|
|
64
|
+
const backdropProps = mergeProps(
|
|
65
|
+
{ open: openState && !hideBackdrop },
|
|
66
|
+
underlayProps,
|
|
67
|
+
slotProps?.backdrop
|
|
68
|
+
);
|
|
69
|
+
const dialogProps = mergeProps(
|
|
70
|
+
{
|
|
71
|
+
onClose: close,
|
|
72
|
+
role: "dialog",
|
|
73
|
+
hideCloseButton,
|
|
74
|
+
children: resolvedChildren()
|
|
75
|
+
},
|
|
76
|
+
slotProps?.dialog
|
|
77
|
+
);
|
|
78
|
+
const modalProps = mergeProps(
|
|
79
|
+
modalCommonProps,
|
|
80
|
+
{
|
|
81
|
+
ref: modalRef,
|
|
82
|
+
className: s.modal
|
|
83
|
+
},
|
|
84
|
+
slotProps?.modal
|
|
85
|
+
);
|
|
86
|
+
const { isDisabled, onPress, ...otherTriggerProps } = triggerProps;
|
|
87
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
88
|
+
control?.({
|
|
89
|
+
onClick: onPress,
|
|
90
|
+
disabled: isDisabled,
|
|
91
|
+
...otherTriggerProps
|
|
92
|
+
}),
|
|
93
|
+
/* @__PURE__ */ jsx(
|
|
94
|
+
Transition,
|
|
95
|
+
{
|
|
96
|
+
onEnter: on,
|
|
97
|
+
timeout: 300,
|
|
98
|
+
onExited: off,
|
|
99
|
+
in: openState,
|
|
100
|
+
nodeRef: containerRef,
|
|
101
|
+
unmountOnExit: true,
|
|
102
|
+
appear: true,
|
|
103
|
+
children: (transition) => /* @__PURE__ */ jsx(
|
|
104
|
+
Overlay,
|
|
105
|
+
{
|
|
106
|
+
portalContainer,
|
|
107
|
+
disableFocusManagement,
|
|
108
|
+
children: /* @__PURE__ */ jsxs("div", { ...containerProps, "data-transition": transition, children: [
|
|
109
|
+
/* @__PURE__ */ jsx(Backdrop, { ...backdropProps }),
|
|
110
|
+
/* @__PURE__ */ jsx("div", { ...modalProps, children: /* @__PURE__ */ jsx(Dialog, { ...dialogProps }) })
|
|
111
|
+
] })
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
] });
|
|
117
|
+
});
|
|
118
|
+
Modal.displayName = "Modal";
|
|
119
|
+
export {
|
|
120
|
+
Modal
|
|
121
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const base = "kbq-modal-4b03cd";
|
|
2
|
+
const small = "kbq-modal-small-7273e9";
|
|
3
|
+
const medium = "kbq-modal-medium-5db542";
|
|
4
|
+
const large = "kbq-modal-large-534723";
|
|
5
|
+
const modal = "kbq-modal-modal-3e5b95";
|
|
6
|
+
const s = {
|
|
7
|
+
base,
|
|
8
|
+
small,
|
|
9
|
+
medium,
|
|
10
|
+
large,
|
|
11
|
+
modal
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
base,
|
|
15
|
+
s as default,
|
|
16
|
+
large,
|
|
17
|
+
medium,
|
|
18
|
+
modal,
|
|
19
|
+
small
|
|
20
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ComponentRef, ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { ButtonOptions } from '@koobiq/react-primitives';
|
|
3
|
+
import type { BackdropProps } from '../Backdrop';
|
|
4
|
+
import type { DialogProps } from '../Dialog';
|
|
5
|
+
export declare const modalPropSize: readonly ["small", "medium", "large"];
|
|
6
|
+
export type ModalPropSize = (typeof modalPropSize)[number];
|
|
7
|
+
export type ModalPropContent = ReactNode | ((props: {
|
|
8
|
+
close(): void;
|
|
9
|
+
}) => ReactElement);
|
|
10
|
+
export type ModalPropControl = (props: ButtonOptions) => ReactElement;
|
|
11
|
+
export type ModalProps = {
|
|
12
|
+
/**
|
|
13
|
+
* Component width size.
|
|
14
|
+
* @default medium
|
|
15
|
+
* */
|
|
16
|
+
size?: ModalPropSize;
|
|
17
|
+
/** If `true`, the component is shown. */
|
|
18
|
+
open?: boolean;
|
|
19
|
+
/** The default open state. Use when the component is not controlled. */
|
|
20
|
+
defaultOpen?: boolean;
|
|
21
|
+
/** The content of the component. */
|
|
22
|
+
children?: ModalPropContent;
|
|
23
|
+
/** The render function of the control for displaying the modal window. */
|
|
24
|
+
control?: ModalPropControl;
|
|
25
|
+
/**
|
|
26
|
+
* If `true`, the close button isn't shown.
|
|
27
|
+
* @default false
|
|
28
|
+
* */
|
|
29
|
+
hideCloseButton?: boolean;
|
|
30
|
+
/** Handler that is called when the modal's open state changes. */
|
|
31
|
+
onOpenChange?: (open: boolean) => void;
|
|
32
|
+
/**
|
|
33
|
+
* The container element in which the component portal will be placed.
|
|
34
|
+
* @default document.body
|
|
35
|
+
*/
|
|
36
|
+
portalContainer?: Element;
|
|
37
|
+
/**
|
|
38
|
+
* If `true`, the modal window won't close when clicked outside of it.
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
disableExitOnClickOutside?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* If `true`, the modal window won't close when the ESC key is pressed.
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
disableExitOnEscapeKeyDown?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* If `true`, the underlay (backdrop) under the modal window isn't shown.
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
hideBackdrop?: boolean;
|
|
52
|
+
/** Additional CSS-classes. */
|
|
53
|
+
className?: string;
|
|
54
|
+
/** Unique identifier for testing purposes. */
|
|
55
|
+
'data-testid'?: string | number;
|
|
56
|
+
/**
|
|
57
|
+
* If `true`, the focus trap in modal window is disabled.
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
disableFocusManagement?: boolean;
|
|
61
|
+
/** The props used for each slot inside. */
|
|
62
|
+
slotProps?: {
|
|
63
|
+
dialog?: DialogProps;
|
|
64
|
+
backdrop?: BackdropProps;
|
|
65
|
+
modal?: ComponentPropsWithRef<'div'>;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export type ModalRef = ComponentRef<'div'>;
|