@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,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { I18nProvider } from "@koobiq/react-primitives";
|
|
4
|
+
import { BreakpointsProvider } from "./BreakpointsProvider.js";
|
|
5
|
+
import { ProviderContext } from "./ProviderContext.js";
|
|
6
|
+
const defaultBreakpoints = {
|
|
7
|
+
xs: 0,
|
|
8
|
+
// (min-width: 0px)
|
|
9
|
+
s: 480,
|
|
10
|
+
// (min-width: 480px)
|
|
11
|
+
m: 768,
|
|
12
|
+
// (min-width: 768px)
|
|
13
|
+
l: 1024,
|
|
14
|
+
// (min-width: 1024px)
|
|
15
|
+
xl: 1280,
|
|
16
|
+
// (min-width: 1280px)
|
|
17
|
+
xxl: 1536
|
|
18
|
+
// (min-width: 1536px)
|
|
19
|
+
};
|
|
20
|
+
const Provider = ({
|
|
21
|
+
breakpoints = defaultBreakpoints,
|
|
22
|
+
children,
|
|
23
|
+
locale
|
|
24
|
+
}) => /* @__PURE__ */ jsx(ProviderContext.Provider, { value: { breakpoints, locale }, children: /* @__PURE__ */ jsx(I18nProvider, { locale, children: /* @__PURE__ */ jsx(BreakpointsProvider, { breakpoints, children }) }) });
|
|
25
|
+
Provider.displayName = "Provider";
|
|
26
|
+
export {
|
|
27
|
+
Provider,
|
|
28
|
+
defaultBreakpoints
|
|
29
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { I18nProviderProps } from '@koobiq/react-primitives';
|
|
3
|
+
export type Breakpoints = {
|
|
4
|
+
xs?: number;
|
|
5
|
+
s?: number;
|
|
6
|
+
m?: number;
|
|
7
|
+
l?: number;
|
|
8
|
+
xl?: number;
|
|
9
|
+
xxl?: number;
|
|
10
|
+
[custom: string]: number | undefined;
|
|
11
|
+
};
|
|
12
|
+
export type ProviderProps = {
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
breakpoints?: Breakpoints;
|
|
15
|
+
locale?: I18nProviderProps['locale'];
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useBreakpoints';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMediaQuery } from "@koobiq/react-core";
|
|
3
|
+
function useBreakpoints(breakpoints) {
|
|
4
|
+
const queries = Object.values(breakpoints).map(
|
|
5
|
+
(width) => `(min-width: ${width}px)`
|
|
6
|
+
);
|
|
7
|
+
const matches = useMediaQuery(queries);
|
|
8
|
+
return Object.keys(breakpoints).reduce(
|
|
9
|
+
(acc, item, index) => ({ ...acc, [item]: matches[index] }),
|
|
10
|
+
{}
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
useBreakpoints
|
|
15
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RadioGroupPropSize } from './index';
|
|
2
|
+
export type RadioGroupContextProps = {
|
|
3
|
+
size?: RadioGroupPropSize;
|
|
4
|
+
};
|
|
5
|
+
export declare const RadioGroupContext: import("react").Context<RadioGroupContextProps>;
|
|
6
|
+
export declare const useRadioGroupState: () => RadioGroupContextProps;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { mergeProps, clsx } from "@koobiq/react-core";
|
|
4
|
+
import { RadioGroup as RadioGroup$1 } from "@koobiq/react-primitives";
|
|
5
|
+
import { flex } from "../layout/flex/flex.js";
|
|
6
|
+
import { RadioGroupLabel } from "./components/RadioGroupLabel/RadioGroupLabel.js";
|
|
7
|
+
import { RadioGroupContext } from "./RadioContext.js";
|
|
8
|
+
import { RadioGroupDescription } from "./components/RadioGroupDescription/RadioGroupDescription.js";
|
|
9
|
+
const RadioGroup = forwardRef(
|
|
10
|
+
(props, ref) => {
|
|
11
|
+
const { size, label, children, slotProps, description, orientation } = props;
|
|
12
|
+
const commonRootProps = mergeProps(
|
|
13
|
+
props,
|
|
14
|
+
{
|
|
15
|
+
className: clsx(
|
|
16
|
+
flex({
|
|
17
|
+
direction: orientation === "horizontal" ? "row" : "column",
|
|
18
|
+
alignItems: orientation === "horizontal" ? "center" : "flex-start",
|
|
19
|
+
gap: "m"
|
|
20
|
+
})
|
|
21
|
+
)
|
|
22
|
+
},
|
|
23
|
+
slotProps?.root
|
|
24
|
+
);
|
|
25
|
+
return /* @__PURE__ */ jsxs(RadioGroup$1, { ...commonRootProps, ref, children: [
|
|
26
|
+
/* @__PURE__ */ jsx(RadioGroupLabel, { ...slotProps?.label, children: label }),
|
|
27
|
+
/* @__PURE__ */ jsx(RadioGroupContext.Provider, { value: { size }, children }),
|
|
28
|
+
/* @__PURE__ */ jsx(RadioGroupDescription, { ...slotProps?.description, children: description })
|
|
29
|
+
] });
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
RadioGroup.displayName = "RadioGroup";
|
|
33
|
+
export {
|
|
34
|
+
RadioGroup
|
|
35
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const Radio: import("react").ForwardRefExoticComponent<Omit<Omit<import("@react-types/radio").AriaRadioProps, "isDisabled">, "disabled"> & {
|
|
2
|
+
disabled?: boolean;
|
|
3
|
+
} & {
|
|
4
|
+
caption?: string;
|
|
5
|
+
size?: import("./types").RadioPropSize;
|
|
6
|
+
labelPlacement?: import("./types").RadioPropLabelPlacement;
|
|
7
|
+
className?: string;
|
|
8
|
+
slotProps?: {
|
|
9
|
+
circle?: import("react").ComponentPropsWithRef<"span">;
|
|
10
|
+
label?: import("react").ComponentPropsWithRef<"span">;
|
|
11
|
+
};
|
|
12
|
+
} & import("react").RefAttributes<HTMLLabelElement>>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { clsx, mergeProps, isNotNil } from "@koobiq/react-core";
|
|
4
|
+
import { Radio as Radio$1 } from "@koobiq/react-primitives";
|
|
5
|
+
import s from "./Radio.module.css.js";
|
|
6
|
+
import { useRadioGroupState } from "../../RadioContext.js";
|
|
7
|
+
const Radio = forwardRef(
|
|
8
|
+
(props, ref) => {
|
|
9
|
+
const {
|
|
10
|
+
labelPlacement = "end",
|
|
11
|
+
size: sizeProp,
|
|
12
|
+
children,
|
|
13
|
+
slotProps,
|
|
14
|
+
className,
|
|
15
|
+
...other
|
|
16
|
+
} = props;
|
|
17
|
+
const { size: sizeState } = useRadioGroupState();
|
|
18
|
+
const size = sizeProp || sizeState || "normal";
|
|
19
|
+
const commonProps = {
|
|
20
|
+
className: ({ error, checked, hovered, disabled, focusVisible }) => clsx(
|
|
21
|
+
s.base,
|
|
22
|
+
s[size],
|
|
23
|
+
error && s.error,
|
|
24
|
+
checked && s.checked,
|
|
25
|
+
hovered && s.hovered,
|
|
26
|
+
disabled && s.disabled,
|
|
27
|
+
s[labelPlacement],
|
|
28
|
+
focusVisible && s.focusVisible,
|
|
29
|
+
className
|
|
30
|
+
),
|
|
31
|
+
...other
|
|
32
|
+
};
|
|
33
|
+
const circleProps = mergeProps({ className: s.circle }, slotProps?.circle);
|
|
34
|
+
const labelProps = slotProps?.label;
|
|
35
|
+
return /* @__PURE__ */ jsxs(Radio$1, { ...commonProps, ref, children: [
|
|
36
|
+
/* @__PURE__ */ jsx("span", { ...circleProps }),
|
|
37
|
+
isNotNil(children) && /* @__PURE__ */ jsx("span", { ...labelProps, children })
|
|
38
|
+
] });
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
Radio.displayName = "Radio";
|
|
42
|
+
export {
|
|
43
|
+
Radio
|
|
44
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const base = "kbq-radio-c3ed31";
|
|
2
|
+
const circle = "kbq-radio-circle-a0903b";
|
|
3
|
+
const normal = "kbq-radio-normal-81ed3e";
|
|
4
|
+
const big = "kbq-radio-big-06db10";
|
|
5
|
+
const hovered = "kbq-radio-hovered-3999f1";
|
|
6
|
+
const checked = "kbq-radio-checked-a71e68";
|
|
7
|
+
const error = "kbq-radio-error-52bb9e";
|
|
8
|
+
const focusVisible = "kbq-radio-focusVisible-6613a5";
|
|
9
|
+
const disabled = "kbq-radio-disabled-d60f1e";
|
|
10
|
+
const start = "kbq-radio-start-e3dab7";
|
|
11
|
+
const end = "kbq-radio-end-8689f9";
|
|
12
|
+
const s = {
|
|
13
|
+
base,
|
|
14
|
+
circle,
|
|
15
|
+
normal,
|
|
16
|
+
big,
|
|
17
|
+
hovered,
|
|
18
|
+
checked,
|
|
19
|
+
error,
|
|
20
|
+
focusVisible,
|
|
21
|
+
disabled,
|
|
22
|
+
start,
|
|
23
|
+
end
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
base,
|
|
27
|
+
big,
|
|
28
|
+
checked,
|
|
29
|
+
circle,
|
|
30
|
+
s as default,
|
|
31
|
+
disabled,
|
|
32
|
+
end,
|
|
33
|
+
error,
|
|
34
|
+
focusVisible,
|
|
35
|
+
hovered,
|
|
36
|
+
normal,
|
|
37
|
+
start
|
|
38
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef } from 'react';
|
|
2
|
+
import type { UseRadioProps } from '@koobiq/react-primitives';
|
|
3
|
+
export declare const radioPropSize: readonly ["normal", "big"];
|
|
4
|
+
export type RadioPropSize = (typeof radioPropSize)[number];
|
|
5
|
+
export declare const radioPropLabelPlacement: readonly ["start", "end"];
|
|
6
|
+
export type RadioPropLabelPlacement = (typeof radioPropLabelPlacement)[number];
|
|
7
|
+
export type RadioProps = UseRadioProps & {
|
|
8
|
+
/** The helper text content. */
|
|
9
|
+
caption?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Size.
|
|
12
|
+
* @default normal
|
|
13
|
+
* */
|
|
14
|
+
size?: RadioPropSize;
|
|
15
|
+
/**
|
|
16
|
+
* The position of the label.
|
|
17
|
+
* @default end
|
|
18
|
+
* */
|
|
19
|
+
labelPlacement?: RadioPropLabelPlacement;
|
|
20
|
+
/** Additional CSS-classes. */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** The props used for each slot inside. */
|
|
23
|
+
slotProps?: {
|
|
24
|
+
circle?: ComponentPropsWithRef<'span'>;
|
|
25
|
+
label?: ComponentPropsWithRef<'span'>;
|
|
26
|
+
};
|
|
27
|
+
};
|
package/dist/components/RadioGroup/components/RadioGroupDescription/RadioGroupDescription.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type TypographyProps } from '../../../Typography';
|
|
2
|
+
export type RadioGroupDescriptionProps = TypographyProps;
|
|
3
|
+
export declare const RadioGroupDescription: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & {
|
|
4
|
+
ref?: ((instance: HTMLParagraphElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLParagraphElement> | null | undefined;
|
|
5
|
+
}, "as" | keyof import("../../..").TypographyBaseProps> & import("../../..").TypographyBaseProps & {
|
|
6
|
+
as?: "p" | undefined;
|
|
7
|
+
}, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { isNotNil } from "@koobiq/react-core";
|
|
4
|
+
import { Typography } from "../../../Typography/Typography.js";
|
|
5
|
+
const RadioGroupDescription = forwardRef(
|
|
6
|
+
({ children, ...other }, ref) => isNotNil(children) ? /* @__PURE__ */ jsx(
|
|
7
|
+
Typography,
|
|
8
|
+
{
|
|
9
|
+
variant: "text-compact",
|
|
10
|
+
slot: "description",
|
|
11
|
+
color: "contrast-secondary",
|
|
12
|
+
...other,
|
|
13
|
+
ref,
|
|
14
|
+
children
|
|
15
|
+
}
|
|
16
|
+
) : null
|
|
17
|
+
);
|
|
18
|
+
RadioGroupDescription.displayName = "RadioGroupDescription";
|
|
19
|
+
export {
|
|
20
|
+
RadioGroupDescription
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './RadioGroupDescription';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type TypographyProps } from '../../../Typography';
|
|
3
|
+
export type RadioGroupLabelProps = TypographyProps<'span'> & {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export declare const RadioGroupLabel: import("react").ForwardRefExoticComponent<Omit<RadioGroupLabelProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { isNotNil } from "@koobiq/react-core";
|
|
4
|
+
import { Label } from "@koobiq/react-primitives";
|
|
5
|
+
import { Typography } from "../../../Typography/Typography.js";
|
|
6
|
+
const RadioGroupLabelTypography = forwardRef((props, ref) => /* @__PURE__ */ jsx(Typography, { as: "span", ...props, ref }));
|
|
7
|
+
RadioGroupLabelTypography.displayName = "RadioGroupLabelTypography";
|
|
8
|
+
const RadioGroupLabel = forwardRef(
|
|
9
|
+
({ children, ...other }, ref) => isNotNil(children) ? /* @__PURE__ */ jsx(Label, { as: RadioGroupLabelTypography, ...other, ref, children }) : null
|
|
10
|
+
);
|
|
11
|
+
RadioGroupLabel.displayName = "RadioGroupLabel";
|
|
12
|
+
export {
|
|
13
|
+
RadioGroupLabel
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './RadioGroupLabel';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
import type { ExtendableComponentPropsWithRef, ExtendableProps } from '@koobiq/react-core';
|
|
3
|
+
import type { UseRadioGroupProps } from '@koobiq/react-primitives';
|
|
4
|
+
import type { RadioGroupDescriptionProps, RadioGroupLabelProps } from './components';
|
|
5
|
+
export declare const radioGroupPropSize: readonly ["normal", "big"];
|
|
6
|
+
export type RadioGroupPropSize = (typeof radioGroupPropSize)[number];
|
|
7
|
+
export declare const radioGroupPropOrientation: readonly ["horizontal", "vertical"];
|
|
8
|
+
export type RadioGroupPropOrientation = (typeof radioGroupPropOrientation)[number];
|
|
9
|
+
export type RadioGroupBaseProps = ExtendableProps<{
|
|
10
|
+
/** Additional CSS-classes. */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** The content of the component. */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Size.
|
|
16
|
+
* @default normal
|
|
17
|
+
* */
|
|
18
|
+
size?: RadioGroupPropSize;
|
|
19
|
+
/** Slots */
|
|
20
|
+
slotProps?: {
|
|
21
|
+
root?: ComponentPropsWithRef<'div'>;
|
|
22
|
+
description?: RadioGroupDescriptionProps;
|
|
23
|
+
label?: RadioGroupLabelProps;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* The axis the Radio Button(s) should align with.
|
|
27
|
+
* @default 'vertical'
|
|
28
|
+
*/
|
|
29
|
+
orientation?: RadioGroupPropOrientation;
|
|
30
|
+
/** The current value (controlled). */
|
|
31
|
+
value?: UseRadioGroupProps['value'];
|
|
32
|
+
/** The default value (uncontrolled). */
|
|
33
|
+
defaultValue?: UseRadioGroupProps['defaultValue'];
|
|
34
|
+
/** Handler that is called when the value changes. */
|
|
35
|
+
onChange?: UseRadioGroupProps['onChange'];
|
|
36
|
+
}, UseRadioGroupProps>;
|
|
37
|
+
export type RadioGroupProps = ExtendableComponentPropsWithRef<RadioGroupBaseProps, 'div'>;
|
|
@@ -0,0 +1,125 @@
|
|
|
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 "./SidePanel.module.css.js";
|
|
8
|
+
import { Backdrop } from "../Backdrop/Backdrop.js";
|
|
9
|
+
import { Dialog } from "../Dialog/Dialog.js";
|
|
10
|
+
const SidePanel = forwardRef(
|
|
11
|
+
(props, ref) => {
|
|
12
|
+
const {
|
|
13
|
+
hideCloseButton = false,
|
|
14
|
+
position = "left",
|
|
15
|
+
size = "medium",
|
|
16
|
+
disableExitOnEscapeKeyDown,
|
|
17
|
+
disableExitOnClickOutside,
|
|
18
|
+
disableFocusManagement,
|
|
19
|
+
portalContainer,
|
|
20
|
+
open: openProp,
|
|
21
|
+
hideBackdrop,
|
|
22
|
+
onOpenChange,
|
|
23
|
+
defaultOpen,
|
|
24
|
+
children,
|
|
25
|
+
control,
|
|
26
|
+
slotProps,
|
|
27
|
+
...other
|
|
28
|
+
} = props;
|
|
29
|
+
const state = useOverlayTriggerState({
|
|
30
|
+
isOpen: openProp,
|
|
31
|
+
onOpenChange,
|
|
32
|
+
defaultOpen,
|
|
33
|
+
...other
|
|
34
|
+
});
|
|
35
|
+
const { isOpen: openState, close } = state;
|
|
36
|
+
const [opened, { on, off }] = useBoolean(openState);
|
|
37
|
+
const modalRef = useDOMRef(null);
|
|
38
|
+
const containerRef = useDOMRef(ref);
|
|
39
|
+
const { triggerProps, overlayProps } = useOverlayTrigger(
|
|
40
|
+
{ type: "dialog" },
|
|
41
|
+
{ ...state, isOpen: openState }
|
|
42
|
+
);
|
|
43
|
+
const { modalProps: modalCommonProps, underlayProps } = useModalOverlay(
|
|
44
|
+
{
|
|
45
|
+
...props,
|
|
46
|
+
isDismissable: !disableExitOnClickOutside,
|
|
47
|
+
isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
|
|
48
|
+
},
|
|
49
|
+
{ ...state, isOpen: opened },
|
|
50
|
+
modalRef
|
|
51
|
+
);
|
|
52
|
+
const resolvedChildren = () => {
|
|
53
|
+
if (typeof children === "function")
|
|
54
|
+
return cloneElement(children({ close }), overlayProps);
|
|
55
|
+
if (isValidElement(children)) return cloneElement(children, overlayProps);
|
|
56
|
+
return children;
|
|
57
|
+
};
|
|
58
|
+
const containerProps = mergeProps(
|
|
59
|
+
{
|
|
60
|
+
className: clsx(s.base, s[size], s[position]),
|
|
61
|
+
"data-size": size,
|
|
62
|
+
"data-position": position,
|
|
63
|
+
ref: containerRef
|
|
64
|
+
},
|
|
65
|
+
other
|
|
66
|
+
);
|
|
67
|
+
const backdropProps = mergeProps(
|
|
68
|
+
{ open: openState && !hideBackdrop },
|
|
69
|
+
underlayProps,
|
|
70
|
+
slotProps?.backdrop
|
|
71
|
+
);
|
|
72
|
+
const dialogProps = mergeProps(
|
|
73
|
+
{
|
|
74
|
+
onClose: close,
|
|
75
|
+
role: "dialog",
|
|
76
|
+
hideCloseButton,
|
|
77
|
+
children: resolvedChildren()
|
|
78
|
+
},
|
|
79
|
+
slotProps?.dialog
|
|
80
|
+
);
|
|
81
|
+
const panelProps = mergeProps(
|
|
82
|
+
modalCommonProps,
|
|
83
|
+
{
|
|
84
|
+
className: s.panel,
|
|
85
|
+
ref: modalRef
|
|
86
|
+
},
|
|
87
|
+
slotProps?.panel
|
|
88
|
+
);
|
|
89
|
+
const { isDisabled, onPress, ...otherTriggerProps } = triggerProps;
|
|
90
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
91
|
+
control?.({
|
|
92
|
+
onClick: onPress,
|
|
93
|
+
disabled: isDisabled,
|
|
94
|
+
...otherTriggerProps
|
|
95
|
+
}),
|
|
96
|
+
/* @__PURE__ */ jsx(
|
|
97
|
+
Transition,
|
|
98
|
+
{
|
|
99
|
+
onEnter: on,
|
|
100
|
+
timeout: 300,
|
|
101
|
+
onExited: off,
|
|
102
|
+
in: openState,
|
|
103
|
+
nodeRef: containerRef,
|
|
104
|
+
unmountOnExit: true,
|
|
105
|
+
appear: true,
|
|
106
|
+
children: (transition) => /* @__PURE__ */ jsx(
|
|
107
|
+
Overlay,
|
|
108
|
+
{
|
|
109
|
+
portalContainer,
|
|
110
|
+
disableFocusManagement,
|
|
111
|
+
children: /* @__PURE__ */ jsxs("div", { ...containerProps, "data-transition": transition, children: [
|
|
112
|
+
/* @__PURE__ */ jsx(Backdrop, { ...backdropProps }),
|
|
113
|
+
/* @__PURE__ */ jsx("div", { ...panelProps, children: /* @__PURE__ */ jsx(Dialog, { ...dialogProps }) })
|
|
114
|
+
] })
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
] });
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
SidePanel.displayName = "SidePanel";
|
|
123
|
+
export {
|
|
124
|
+
SidePanel
|
|
125
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const base = "kbq-sidepanel-2aae74";
|
|
2
|
+
const small = "kbq-sidepanel-small-c39c6a";
|
|
3
|
+
const medium = "kbq-sidepanel-medium-64ac8f";
|
|
4
|
+
const large = "kbq-sidepanel-large-e885ab";
|
|
5
|
+
const left = "kbq-sidepanel-left-e8e188";
|
|
6
|
+
const right = "kbq-sidepanel-right-4fdda0";
|
|
7
|
+
const panel = "kbq-sidepanel-panel-4a4aa4";
|
|
8
|
+
const s = {
|
|
9
|
+
base,
|
|
10
|
+
small,
|
|
11
|
+
medium,
|
|
12
|
+
large,
|
|
13
|
+
left,
|
|
14
|
+
right,
|
|
15
|
+
panel
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
base,
|
|
19
|
+
s as default,
|
|
20
|
+
large,
|
|
21
|
+
left,
|
|
22
|
+
medium,
|
|
23
|
+
panel,
|
|
24
|
+
right,
|
|
25
|
+
small
|
|
26
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
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 sidePanelPropSize: readonly ["small", "medium", "large"];
|
|
6
|
+
export type SidePanelPropSize = (typeof sidePanelPropSize)[number];
|
|
7
|
+
export declare const sidePanelPropPosition: readonly ["left", "right"];
|
|
8
|
+
export type SidePanelPropPosition = (typeof sidePanelPropPosition)[number];
|
|
9
|
+
export type SidePanelPropContent = ReactNode | ((props: {
|
|
10
|
+
close(): void;
|
|
11
|
+
}) => ReactElement);
|
|
12
|
+
export type SidePanelPropControl = (props: ButtonOptions) => ReactElement;
|
|
13
|
+
export type SidePanelProps = {
|
|
14
|
+
/**
|
|
15
|
+
* Component width size.
|
|
16
|
+
* @default medium
|
|
17
|
+
* */
|
|
18
|
+
size?: SidePanelPropSize;
|
|
19
|
+
/**
|
|
20
|
+
* Side from which the side panel will appear.
|
|
21
|
+
* @default left
|
|
22
|
+
* */
|
|
23
|
+
position?: SidePanelPropPosition;
|
|
24
|
+
/** If `true`, the component is shown. */
|
|
25
|
+
open?: boolean;
|
|
26
|
+
/** The default open state. Use when the component is not controlled. */
|
|
27
|
+
defaultOpen?: boolean;
|
|
28
|
+
/** The content of the component. */
|
|
29
|
+
children?: SidePanelPropContent;
|
|
30
|
+
/** The render function of the control for displaying the modal window. */
|
|
31
|
+
control?: SidePanelPropControl;
|
|
32
|
+
/**
|
|
33
|
+
* If `true`, the close button isn't shown.
|
|
34
|
+
* @default false
|
|
35
|
+
* */
|
|
36
|
+
hideCloseButton?: boolean;
|
|
37
|
+
/** Handler that is called when the modal's open state changes. */
|
|
38
|
+
onOpenChange?: (open: boolean) => void;
|
|
39
|
+
/**
|
|
40
|
+
* The container element in which the component portal will be placed.
|
|
41
|
+
* @default document.body
|
|
42
|
+
*/
|
|
43
|
+
portalContainer?: Element;
|
|
44
|
+
/**
|
|
45
|
+
* If `true`, the modal window won't close when clicked outside of it.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
disableExitOnClickOutside?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* If `true`, the modal window won't close when the ESC key is pressed.
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
disableExitOnEscapeKeyDown?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* If `true`, the underlay (backdrop) under the modal window isn't shown.
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
58
|
+
hideBackdrop?: boolean;
|
|
59
|
+
/** Additional CSS-classes. */
|
|
60
|
+
className?: string;
|
|
61
|
+
/** Unique identifier for testing purposes. */
|
|
62
|
+
'data-testid'?: string | number;
|
|
63
|
+
/**
|
|
64
|
+
* If `true`, the focus trap in modal window is disabled.
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
disableFocusManagement?: boolean;
|
|
68
|
+
/** The props used for each slot inside. */
|
|
69
|
+
slotProps?: {
|
|
70
|
+
dialog?: DialogProps;
|
|
71
|
+
backdrop?: BackdropProps;
|
|
72
|
+
panel?: ComponentPropsWithRef<'div'>;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
export type SidePanelRef = ComponentRef<'div'>;
|