@jakubmazanec/ui 0.1.0 → 0.1.1-unstable.528161f
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/build/components/Button.d.ts +6 -6
- package/build/components/Card.d.ts +2 -2
- package/build/components/Checkbox.d.ts +7 -7
- package/build/components/CheckboxField.d.ts +2 -2
- package/build/components/Combobox.d.ts +18 -18
- package/build/components/Combobox.js +6 -6
- package/build/components/Combobox.js.map +2 -2
- package/build/components/ComboboxOption.d.ts +7 -7
- package/build/components/Container.d.ts +7 -7
- package/build/components/Description.d.ts +2 -2
- package/build/components/Dialog.d.ts +5 -5
- package/build/components/DialogPanel.d.ts +2 -2
- package/build/components/DialogTitle.d.ts +2 -2
- package/build/components/Error.d.ts +2 -2
- package/build/components/Field.d.ts +2 -2
- package/build/components/Fieldset.d.ts +4 -4
- package/build/components/Form.d.ts +2 -2
- package/build/components/Icon.d.ts +5 -5
- package/build/components/Input.d.ts +9 -9
- package/build/components/Label.d.ts +2 -2
- package/build/components/Legend.d.ts +2 -2
- package/build/components/Listbox.d.ts +23 -23
- package/build/components/Listbox.js +4 -4
- package/build/components/Listbox.js.map +2 -2
- package/build/components/ListboxOption.d.ts +7 -7
- package/build/components/Menu.d.ts +2 -2
- package/build/components/MenuButton.d.ts +4 -4
- package/build/components/MenuHeading.d.ts +2 -2
- package/build/components/MenuItem.d.ts +4 -4
- package/build/components/MenuItems.d.ts +2 -2
- package/build/components/MenuSection.d.ts +2 -2
- package/build/components/MenuSeparator.d.ts +2 -2
- package/build/components/Popover.d.ts +2 -2
- package/build/components/PopoverBackdrop.d.ts +2 -2
- package/build/components/PopoverButton.d.ts +4 -4
- package/build/components/PopoverGroup.d.ts +2 -2
- package/build/components/PopoverPanel.d.ts +2 -2
- package/build/components/Radio.d.ts +7 -7
- package/build/components/Radio.js +1 -1
- package/build/components/Radio.js.map +2 -2
- package/build/components/RadioField.d.ts +2 -2
- package/build/components/RadioGroup.d.ts +4 -4
- package/build/components/Spinner.d.ts +7 -7
- package/build/components/Table.d.ts +2 -2
- package/build/components/TableBody.d.ts +2 -2
- package/build/components/TableCaption.d.ts +2 -2
- package/build/components/TableCell.d.ts +2 -2
- package/build/components/TableFoot.d.ts +2 -2
- package/build/components/TableHead.d.ts +2 -2
- package/build/components/TableHeader.d.ts +2 -2
- package/build/components/TableRow.d.ts +2 -2
- package/build/components/Text.d.ts +4 -4
- package/build/components/Textarea.d.ts +8 -8
- package/build/components/data-table/DataTable.js +13 -13
- package/build/components/data-table/DataTable.js.map +2 -2
- package/build/components/data-table/internals/DataTableHeader.js +23 -23
- package/build/components/data-table/internals/DataTableHeader.js.map +2 -2
- package/build/components/data-table/internals/DataTableHeaderFilter.js +14 -14
- package/build/components/data-table/internals/DataTableHeaderFilter.js.map +2 -2
- package/build/components/data-table/internals/DataTablePagination.js +10 -10
- package/build/components/data-table/internals/DataTablePagination.js.map +2 -2
- package/build/components/data-table/internals/DataTableSearch.js +2 -2
- package/build/components/data-table/internals/DataTableSearch.js.map +2 -2
- package/build/components/data-table/internals/addFilter.js.map +1 -1
- package/build/development/createTailwindConfig.d.ts +6 -6
- package/build/development/createTailwindConfig.js.map +1 -1
- package/build/development/internals/createDisplayColor.js +1 -1
- package/build/development/internals/createDisplayColor.js.map +2 -2
- package/build/development/internals/hexToHsl.js +3 -3
- package/build/development/internals/hexToHsl.js.map +2 -2
- package/build/development/internals/isHex.js +3 -3
- package/build/development/internals/isHex.js.map +2 -2
- package/build/development/internals/round.js +1 -1
- package/build/development/internals/round.js.map +2 -2
- package/build/development/internals.d.ts +2 -2
- package/build/development/internals.js +0 -2
- package/build/development/internals.js.map +2 -2
- package/build/theme/Theme.d.ts +8 -8
- package/build/theme/internals/ComponentThemeCompoundVariants.d.ts +4 -4
- package/build/theme/internals/UseComponentTheme.d.ts +6 -6
- package/build/theme/internals/createUseComponentThemeReturn.d.ts +1 -1
- package/build/theme/internals/createUseComponentThemeReturn.js.map +1 -1
- package/build/theme/internals/themeContext.d.ts +20 -20
- package/build/theme/internals/useTheme.d.ts +20 -20
- package/build/theme/internals.d.ts +12 -12
- package/build/theme/internals.js +0 -12
- package/build/theme/internals.js.map +2 -2
- package/build/theme.d.ts +1 -1
- package/build/theme.js +0 -1
- package/build/theme.js.map +2 -2
- package/build/utilities.d.ts +1 -1
- package/build/utilities.js +0 -1
- package/build/utilities.js.map +2 -2
- package/package.json +5 -5
- package/source/components/Combobox.tsx +16 -18
- package/source/components/Listbox.tsx +19 -21
- package/source/components/Radio.tsx +2 -2
- package/source/components/data-table/DataTable.tsx +12 -14
- package/source/components/data-table/internals/DataTableHeader.tsx +25 -25
- package/source/components/data-table/internals/DataTableHeaderFilter.tsx +20 -22
- package/source/components/data-table/internals/DataTablePagination.tsx +10 -10
- package/source/components/data-table/internals/DataTableSearch.tsx +4 -4
- package/source/components/data-table/internals/addFilter.ts +3 -3
- package/source/development/createTailwindConfig.ts +2 -2
- package/source/development/internals/createDisplayColor.ts +1 -1
- package/source/development/internals/hexToHsl.ts +3 -3
- package/source/development/internals/isHex.ts +3 -4
- package/source/development/internals/round.ts +1 -1
- package/source/development/internals.ts +2 -2
- package/source/theme/Theme.ts +5 -5
- package/source/theme/internals/ComponentThemeCompoundVariants.ts +4 -4
- package/source/theme/internals/UseComponentTheme.ts +7 -7
- package/source/theme/internals/createUseComponentThemeReturn.ts +1 -1
- package/source/theme/internals.ts +12 -12
- package/source/theme.ts +1 -1
- package/source/utilities.ts +1 -1
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { type ButtonProps as HeadlessButtonProps } from '@headlessui/react';
|
|
2
2
|
import { type ComponentPropsWithoutRef, type ElementType, type Ref } from 'react';
|
|
3
3
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
4
|
-
export declare const useButtonTheme:
|
|
5
|
-
readonly variant: "text" | "solid" | "outline" | "invisible";
|
|
6
|
-
readonly size: "small" | "medium" | "large";
|
|
7
|
-
readonly disabled: boolean;
|
|
8
|
-
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
|
|
4
|
+
export declare const useButtonTheme: {
|
|
9
5
|
componentThemeName: "Button";
|
|
10
6
|
themeDefinition: {
|
|
11
7
|
readonly variants: {
|
|
@@ -14,7 +10,11 @@ export declare const useButtonTheme: ((themeProps: {
|
|
|
14
10
|
readonly disabled: [true, false];
|
|
15
11
|
};
|
|
16
12
|
};
|
|
17
|
-
}
|
|
13
|
+
} & ((themeProps: {
|
|
14
|
+
readonly variant: "text" | "solid" | "outline" | "invisible";
|
|
15
|
+
readonly size: "small" | "medium" | "large";
|
|
16
|
+
readonly disabled: boolean;
|
|
17
|
+
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
18
18
|
export type ButtonProps<T extends ElementType> = ComponentProps<typeof useButtonTheme> & Omit<ComponentPropsWithoutRef<T>, 'type'> & {
|
|
19
19
|
as?: T | undefined;
|
|
20
20
|
submit?: boolean | undefined;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useCardTheme:
|
|
3
|
+
export declare const useCardTheme: {
|
|
4
4
|
componentThemeName: "Card";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type CardProps<T extends ElementType> = ComponentProps<typeof useCardTheme> & ComponentPropsWithoutRef<T> & PropsWithChildren<{
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string;
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useCheckboxTheme:
|
|
4
|
-
readonly disabled: boolean;
|
|
5
|
-
}) => {
|
|
6
|
-
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
7
|
-
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
8
|
-
}) & {
|
|
3
|
+
export declare const useCheckboxTheme: {
|
|
9
4
|
componentThemeName: "Checkbox";
|
|
10
5
|
themeDefinition: {
|
|
11
6
|
readonly variants: {
|
|
@@ -13,7 +8,12 @@ export declare const useCheckboxTheme: ((themeProps: {
|
|
|
13
8
|
};
|
|
14
9
|
readonly elements: ["root", "icon"];
|
|
15
10
|
};
|
|
16
|
-
}
|
|
11
|
+
} & ((themeProps: {
|
|
12
|
+
readonly disabled: boolean;
|
|
13
|
+
}) => {
|
|
14
|
+
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
15
|
+
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
16
|
+
});
|
|
17
17
|
export type CheckboxProps<T extends ElementType> = ComponentProps<typeof useCheckboxTheme> & Omit<ComponentPropsWithoutRef<T>, 'onChange'> & {
|
|
18
18
|
as?: T | undefined;
|
|
19
19
|
checked?: boolean | undefined;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type FieldMetadata, type FieldName } from '@conform-to/react';
|
|
2
2
|
import { type PropsWithChildren } from 'react';
|
|
3
3
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
4
|
-
export declare const useCheckboxFieldTheme:
|
|
4
|
+
export declare const useCheckboxFieldTheme: {
|
|
5
5
|
componentThemeName: "CheckboxField";
|
|
6
6
|
themeDefinition: undefined;
|
|
7
|
-
};
|
|
7
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
8
8
|
export type CheckboxFieldProps = PropsWithChildren<ComponentProps<typeof useCheckboxFieldTheme> & ({
|
|
9
9
|
className?: string | undefined;
|
|
10
10
|
field?: FieldMetadata<any, any> | undefined;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useComboboxTheme:
|
|
4
|
-
readonly disabled: boolean;
|
|
5
|
-
readonly invalid: boolean;
|
|
6
|
-
}) => {
|
|
7
|
-
input: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
8
|
-
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
9
|
-
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
10
|
-
options: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
11
|
-
}) & {
|
|
3
|
+
export declare const useComboboxTheme: {
|
|
12
4
|
componentThemeName: "Combobox";
|
|
13
5
|
themeDefinition: {
|
|
14
6
|
readonly variants: {
|
|
@@ -17,16 +9,24 @@ export declare const useComboboxTheme: ((themeProps: {
|
|
|
17
9
|
};
|
|
18
10
|
readonly elements: ["root", "input", "icon", "options"];
|
|
19
11
|
};
|
|
20
|
-
}
|
|
12
|
+
} & ((themeProps: {
|
|
13
|
+
readonly disabled: boolean;
|
|
14
|
+
readonly invalid: boolean;
|
|
15
|
+
}) => {
|
|
16
|
+
input: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
17
|
+
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
18
|
+
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
19
|
+
options: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
20
|
+
});
|
|
21
21
|
export type ComboboxItem<V> = {
|
|
22
22
|
value: V;
|
|
23
23
|
label: string;
|
|
24
24
|
};
|
|
25
25
|
export type ComboboxProps<T extends ElementType, V extends boolean | number | string> = PropsWithChildren<ComponentProps<typeof useComboboxTheme> & ComponentPropsWithoutRef<T> & ({
|
|
26
26
|
as?: T | undefined;
|
|
27
|
-
value?: V | undefined;
|
|
28
|
-
defaultValue?: V | undefined;
|
|
29
|
-
multiple
|
|
27
|
+
value?: V[] | undefined;
|
|
28
|
+
defaultValue?: V[] | undefined;
|
|
29
|
+
multiple: true;
|
|
30
30
|
items?: Array<ComboboxItem<V>> | undefined;
|
|
31
31
|
placeholder?: string;
|
|
32
32
|
immediate?: boolean | undefined;
|
|
@@ -34,12 +34,12 @@ export type ComboboxProps<T extends ElementType, V extends boolean | number | st
|
|
|
34
34
|
customValue?: boolean | undefined;
|
|
35
35
|
name?: string | undefined;
|
|
36
36
|
className?: string;
|
|
37
|
-
onChange?: (selectedValue: V | undefined) => void;
|
|
37
|
+
onChange?: (selectedValue: V[] | undefined) => void;
|
|
38
38
|
} | {
|
|
39
39
|
as?: T | undefined;
|
|
40
|
-
value?: V
|
|
41
|
-
defaultValue?: V
|
|
42
|
-
multiple
|
|
40
|
+
value?: V | undefined;
|
|
41
|
+
defaultValue?: V | undefined;
|
|
42
|
+
multiple?: false | undefined;
|
|
43
43
|
items?: Array<ComboboxItem<V>> | undefined;
|
|
44
44
|
placeholder?: string;
|
|
45
45
|
immediate?: boolean | undefined;
|
|
@@ -47,7 +47,7 @@ export type ComboboxProps<T extends ElementType, V extends boolean | number | st
|
|
|
47
47
|
customValue?: boolean | undefined;
|
|
48
48
|
name?: string | undefined;
|
|
49
49
|
className?: string;
|
|
50
|
-
onChange?: (selectedValue: V
|
|
50
|
+
onChange?: (selectedValue: V | undefined) => void;
|
|
51
51
|
})>;
|
|
52
52
|
export declare const Combobox: <T extends ElementType = import("react").ExoticComponent<{
|
|
53
53
|
children?: import("react").ReactNode | undefined;
|
|
@@ -86,10 +86,10 @@ export const Combobox = forwardRef(
|
|
|
86
86
|
throw new Error("Combobox accepts only either `items` prop, or children!");
|
|
87
87
|
}
|
|
88
88
|
let filteredItems = query ? items?.filter(
|
|
89
|
-
(item) => `${item.label}`.toLowerCase().
|
|
89
|
+
(item) => `${item.label}`.toLowerCase().replaceAll(/\s+/g, "").includes(query.toLowerCase().replaceAll(/\s+/g, ""))
|
|
90
90
|
) : items;
|
|
91
91
|
let filteredChildren = query ? Children.toArray(children).filter((child) => {
|
|
92
|
-
if (typeof child === "object" && "props" in child && typeof child.props === "object" && typeof child.props.children === "string" && child.props.children.toLowerCase().
|
|
92
|
+
if (typeof child === "object" && "props" in child && typeof child.props === "object" && typeof child.props.children === "string" && child.props.children.toLowerCase().replaceAll(/\s+/g, "").includes(query.toLowerCase().replaceAll(/\s+/g, ""))) {
|
|
93
93
|
return true;
|
|
94
94
|
}
|
|
95
95
|
return false;
|
|
@@ -118,19 +118,19 @@ export const Combobox = forwardRef(
|
|
|
118
118
|
HeadlessComboboxInput,
|
|
119
119
|
{
|
|
120
120
|
className: theme.input(null, className),
|
|
121
|
-
size: 1,
|
|
122
121
|
displayValue,
|
|
122
|
+
size: 1,
|
|
123
123
|
onChange: handleQueryChange
|
|
124
124
|
}
|
|
125
125
|
),
|
|
126
126
|
/* @__PURE__ */ jsx(HeadlessComboboxButton, { className: theme.icon("absolute"), children: /* @__PURE__ */ jsx(Icon, { children: /* @__PURE__ */ jsx(ChevronDownIcon, {}) }) })
|
|
127
127
|
] }),
|
|
128
|
-
virtual && filteredItems ? /* @__PURE__ */ jsx(HeadlessComboboxOptions, { className: theme.options(),
|
|
129
|
-
!virtual && filteredItems ? /* @__PURE__ */ jsxs(HeadlessComboboxOptions, { className: theme.options(),
|
|
128
|
+
virtual && filteredItems ? /* @__PURE__ */ jsx(HeadlessComboboxOptions, { anchor: "bottom start", className: theme.options(), children: ({ option }) => /* @__PURE__ */ jsx(ComboboxOption, { value: option, children: items?.find((item) => item.value === option)?.label }) }) : null,
|
|
129
|
+
!virtual && filteredItems ? /* @__PURE__ */ jsxs(HeadlessComboboxOptions, { anchor: "bottom start", className: theme.options(), children: [
|
|
130
130
|
customValue && query.length ? /* @__PURE__ */ jsx(ComboboxOption, { value: query, children: query }, query) : null,
|
|
131
131
|
filteredItems.map((item) => /* @__PURE__ */ jsx(ComboboxOption, { value: item.value, children: item.label }, String(item.value)))
|
|
132
132
|
] }) : null,
|
|
133
|
-
!filteredItems && Array.isArray(filteredChildren) ? /* @__PURE__ */ jsxs(HeadlessComboboxOptions, { className: theme.options(),
|
|
133
|
+
!filteredItems && Array.isArray(filteredChildren) ? /* @__PURE__ */ jsxs(HeadlessComboboxOptions, { anchor: "bottom start", className: theme.options(), children: [
|
|
134
134
|
customValue && query.length ? /* @__PURE__ */ jsx(ComboboxOption, { value: query, children: query }) : null,
|
|
135
135
|
filteredChildren
|
|
136
136
|
] }) : null
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../source/components/Combobox.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import {\n Combobox as HeadlessCombobox,\n ComboboxButton as HeadlessComboboxButton,\n ComboboxInput as HeadlessComboboxInput,\n ComboboxOptions as HeadlessComboboxOptions,\n type ComboboxProps as HeadlessComboboxProps,\n} from '@headlessui/react';\nimport {ChevronDownIcon} from '@heroicons/react/24/outline';\nimport {\n type ChangeEvent,\n Children,\n type ComponentPropsWithoutRef,\n type ElementType,\n Fragment,\n type PropsWithChildren,\n type Ref,\n useCallback,\n useState,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {ComboboxOption} from './ComboboxOption.js';\nimport {Icon} from './Icon.js';\nimport {forwardRef, useFormId} from './internals.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useComboboxTheme = createComponentTheme('Combobox', {\n variants: {disabled: [true, false], invalid: [true, false]},\n elements: ['root', 'input', 'icon', 'options'],\n});\n\nconst COMBOBOX_ELEMENT = Fragment;\n\nexport type ComboboxItem<V> = {\n value: V;\n label: string;\n};\n\nexport type ComboboxProps<\n T extends ElementType,\n V extends boolean | number | string,\n> = PropsWithChildren<\n ComponentProps<typeof useComboboxTheme> &\n ComponentPropsWithoutRef<T> &\n (\n | {\n as?: T | undefined;\n value?: V[] | undefined;\n defaultValue?: V[] | undefined;\n multiple: true;\n items?: Array<ComboboxItem<V>> | undefined;\n placeholder?: string;\n immediate?: boolean | undefined;\n virtual?: boolean | undefined;\n customValue?: boolean | undefined;\n name?: string | undefined;\n className?: string;\n onChange?: (selectedValue: V[] | undefined) => void;\n }\n | {\n as?: T | undefined;\n value?: V | undefined;\n defaultValue?: V | undefined;\n multiple?: false | undefined;\n items?: Array<ComboboxItem<V>> | undefined;\n placeholder?: string;\n immediate?: boolean | undefined;\n virtual?: boolean | undefined;\n customValue?: boolean | undefined;\n name?: string | undefined;\n className?: string;\n onChange?: (selectedValue: V | undefined) => void;\n }\n )\n>;\n\nexport const Combobox = forwardRef(\n <T extends ElementType = typeof COMBOBOX_ELEMENT, V extends boolean | number | string = string>(\n {\n disabled = false,\n invalid = false,\n as = COMBOBOX_ELEMENT as unknown as T,\n value,\n defaultValue,\n multiple,\n items,\n placeholder,\n immediate = true,\n virtual = false,\n customValue = false,\n name,\n className,\n onChange,\n children,\n ...rest\n }: ComboboxProps<T, V>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useComboboxTheme({disabled, invalid});\n let formId = useFormId();\n let field = useField();\n let fieldName = useFieldName();\n let [query, setQuery] = useState('');\n\n let handleChange = useCallback(\n (selectedValue: V | null) => {\n if (selectedValue) {\n onChange?.(selectedValue as V & V[]);\n }\n\n if (selectedValue === null) {\n onChange?.(undefined);\n }\n },\n [onChange],\n );\n\n let displayValue = useCallback(\n (option: string) => {\n if (items) {\n let selectedItem = items.find((item) => item.value === option);\n\n if (selectedItem) {\n return selectedItem.label;\n }\n }\n\n return option;\n },\n [items],\n );\n\n let handleQueryChange = useCallback((event: ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value);\n }, []);\n\n if (virtual && !items) {\n throw new Error('Combobox requires `items` prop in virtual scrolling mode!');\n }\n\n if (virtual && customValue) {\n throw new Error(\"Combobox doesn't support `customValue` prop in virtual scrolling mode!\");\n }\n\n if (items && children) {\n throw new Error('Combobox accepts only either `items` prop, or children!');\n }\n\n let filteredItems =\n query ?\n items?.filter((item) =>\n `${item.label as number | string}`\n .toLowerCase()\n .replaceAll(/\\s+/g, '')\n .includes(query.toLowerCase().replaceAll(/\\s+/g, '')),\n )\n : items;\n let filteredChildren =\n query ?\n Children.toArray(children).filter((child) => {\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n typeof (child.props as {children?: unknown[] | string}).children === 'string' &&\n (child.props as {children: string}).children\n .toLowerCase()\n .replaceAll(/\\s+/g, '')\n .includes(query.toLowerCase().replaceAll(/\\s+/g, ''))\n ) {\n return true;\n }\n\n return false;\n })\n : children;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessComboboxProps<any, any, any> = {\n as,\n ref,\n name: field?.name ?? fieldName ?? name,\n value: value ?? null,\n defaultValue,\n multiple,\n disabled,\n immediate,\n form: formId,\n onChange: handleChange,\n ...rest,\n };\n\n if (virtual) {\n props.virtual = {\n options: filteredItems?.map((item) => item.value) ?? [],\n };\n }\n\n return (\n <HeadlessCombobox {...props}>\n <div className={theme.root('relative', className)} data-component=\"combobox\">\n <HeadlessComboboxInput\n className={theme.input(null, className)}\n displayValue={displayValue}\n size={1} // so the input default width without styling is small\n onChange={handleQueryChange}\n />\n <HeadlessComboboxButton className={theme.icon('absolute')}>\n <Icon>\n <ChevronDownIcon />\n </Icon>\n </HeadlessComboboxButton>\n </div>\n\n {virtual && filteredItems ?\n <HeadlessComboboxOptions anchor=\"bottom start\" className={theme.options()}>\n {({option}: {option: V}) => (\n <ComboboxOption value={option}>\n {items?.find((item) => item.value === option)?.label}\n </ComboboxOption>\n )}\n </HeadlessComboboxOptions>\n : null}\n\n {!virtual && filteredItems ?\n <HeadlessComboboxOptions anchor=\"bottom start\" className={theme.options()}>\n {customValue && query.length ?\n <ComboboxOption key={query} value={query}>\n {query}\n </ComboboxOption>\n : null}\n {filteredItems.map((item) => (\n <ComboboxOption key={String(item.value)} value={item.value}>\n {item.label}\n </ComboboxOption>\n ))}\n </HeadlessComboboxOptions>\n : null}\n\n {!filteredItems && Array.isArray(filteredChildren) ?\n <HeadlessComboboxOptions anchor=\"bottom start\" className={theme.options()}>\n {customValue && query.length ?\n <ComboboxOption value={query}>{query}</ComboboxOption>\n : null}\n {filteredChildren}\n </HeadlessComboboxOptions>\n : null}\n </HeadlessCombobox>\n );\n },\n);\n\nexport const comboboxTheme: ComponentTheme<typeof useComboboxTheme> = {\n classNames: {\n root: 'w-full min-w-32',\n input:\n 'flex w-full items-center rounded-2 border-2 border-neutral-100 hover:border-neutral-200 bg-white px-2.5 h-9 pr-9 gap-x-2 transition-colors shadow-inner font-sans text-sm',\n icon: 'text-neutral-500 size-5 top-2 right-2 cursor-pointer',\n options:\n 'flex flex-col gap-y-1 shadow p-1 z-30 rounded-2 border-2 border-neutral-100 hover:border-neutral-200 bg-white text-left w-[var(--input-width)] [--anchor-gap:theme(spacing.1)] [--anchor-padding:theme(spacing.2)] [scrollbar-width:thin] empty:invisible transition-colors',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-neutral-100 text-neutral-200 cursor-not-allowed',\n input: '',\n icon: 'text-neutral-200',\n options: 'border-neutral-100',\n },\n false: {\n root: '',\n input: '',\n icon: '',\n options: '',\n },\n },\n invalid: {\n true: {\n root: '',\n input: '',\n icon: '',\n options: '',\n },\n false: {\n root: '',\n input: '',\n icon: '',\n options: '',\n },\n },\n },\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useComboboxOptionTheme:
|
|
4
|
-
readonly disabled: boolean;
|
|
5
|
-
}) => {
|
|
6
|
-
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
7
|
-
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
8
|
-
}) & {
|
|
3
|
+
export declare const useComboboxOptionTheme: {
|
|
9
4
|
componentThemeName: "ComboboxOption";
|
|
10
5
|
themeDefinition: {
|
|
11
6
|
readonly variants: {
|
|
@@ -13,7 +8,12 @@ export declare const useComboboxOptionTheme: ((themeProps: {
|
|
|
13
8
|
};
|
|
14
9
|
readonly elements: ["root", "icon"];
|
|
15
10
|
};
|
|
16
|
-
}
|
|
11
|
+
} & ((themeProps: {
|
|
12
|
+
readonly disabled: boolean;
|
|
13
|
+
}) => {
|
|
14
|
+
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
15
|
+
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
16
|
+
});
|
|
17
17
|
export type ComboboxOptionProps<T extends ElementType, V extends boolean | number | string> = PropsWithChildren<ComponentProps<typeof useComboboxOptionTheme> & ComponentPropsWithoutRef<T> & {
|
|
18
18
|
as?: T | undefined;
|
|
19
19
|
value: V;
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useContainerTheme:
|
|
4
|
-
readonly spacing: "small" | "medium" | "large" | "extra-small";
|
|
5
|
-
readonly direction: "row" | "column";
|
|
6
|
-
readonly justify: "center" | "normal" | "spaced";
|
|
7
|
-
readonly align: "center" | "normal";
|
|
8
|
-
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
|
|
3
|
+
export declare const useContainerTheme: {
|
|
9
4
|
componentThemeName: "Container";
|
|
10
5
|
themeDefinition: {
|
|
11
6
|
readonly variants: {
|
|
@@ -15,7 +10,12 @@ export declare const useContainerTheme: ((themeProps: {
|
|
|
15
10
|
readonly align: ["normal", "center"];
|
|
16
11
|
};
|
|
17
12
|
};
|
|
18
|
-
}
|
|
13
|
+
} & ((themeProps: {
|
|
14
|
+
readonly spacing: "small" | "medium" | "large" | "extra-small";
|
|
15
|
+
readonly direction: "row" | "column";
|
|
16
|
+
readonly justify: "center" | "normal" | "spaced";
|
|
17
|
+
readonly align: "center" | "normal";
|
|
18
|
+
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
19
19
|
export type ContainerProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useContainerTheme> & ComponentPropsWithoutRef<T> & {
|
|
20
20
|
as?: T | undefined;
|
|
21
21
|
className?: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useDescriptionTheme:
|
|
3
|
+
export declare const useDescriptionTheme: {
|
|
4
4
|
componentThemeName: "Description";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type DescriptionProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useDescriptionTheme> & ComponentPropsWithoutRef<T> & {
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string | undefined;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useDialogTheme:
|
|
4
|
-
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
5
|
-
backdrop: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
6
|
-
}) & {
|
|
3
|
+
export declare const useDialogTheme: {
|
|
7
4
|
componentThemeName: "Dialog";
|
|
8
5
|
themeDefinition: {
|
|
9
6
|
readonly elements: ["root", "backdrop"];
|
|
10
7
|
};
|
|
11
|
-
}
|
|
8
|
+
} & (() => {
|
|
9
|
+
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
10
|
+
backdrop: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
11
|
+
});
|
|
12
12
|
export type DialogProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useDialogTheme> & ComponentPropsWithoutRef<T> & {
|
|
13
13
|
as?: T | undefined;
|
|
14
14
|
open: boolean;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useDialogPanelTheme:
|
|
3
|
+
export declare const useDialogPanelTheme: {
|
|
4
4
|
componentThemeName: "DialogPanel";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type DialogPanelProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useDialogPanelTheme> & ComponentPropsWithoutRef<T> & {
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useDialogTitleTheme:
|
|
3
|
+
export declare const useDialogTitleTheme: {
|
|
4
4
|
componentThemeName: "DialogTitle";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type DialogTitleProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useDialogTitleTheme> & ComponentPropsWithoutRef<T> & {
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useErrorTheme:
|
|
3
|
+
export declare const useErrorTheme: {
|
|
4
4
|
componentThemeName: "Error";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type ErrorProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useErrorTheme> & ComponentPropsWithoutRef<T> & {
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type FieldMetadata, type FieldName } from '@conform-to/react';
|
|
2
2
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
3
3
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
4
|
-
export declare const useFieldTheme:
|
|
4
|
+
export declare const useFieldTheme: {
|
|
5
5
|
componentThemeName: "Field";
|
|
6
6
|
themeDefinition: undefined;
|
|
7
|
-
};
|
|
7
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
8
8
|
export type FieldProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useFieldTheme> & ComponentPropsWithoutRef<T> & ({
|
|
9
9
|
as?: T | undefined;
|
|
10
10
|
className?: string | undefined;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useFieldsetTheme:
|
|
4
|
-
readonly disabled: boolean;
|
|
5
|
-
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
|
|
3
|
+
export declare const useFieldsetTheme: {
|
|
6
4
|
componentThemeName: "Fieldset";
|
|
7
5
|
themeDefinition: {
|
|
8
6
|
readonly variants: {
|
|
9
7
|
readonly disabled: [true, false];
|
|
10
8
|
};
|
|
11
9
|
};
|
|
12
|
-
}
|
|
10
|
+
} & ((themeProps: {
|
|
11
|
+
readonly disabled: boolean;
|
|
12
|
+
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
13
13
|
export type FieldsetProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useFieldsetTheme> & ComponentPropsWithoutRef<T> & {
|
|
14
14
|
as?: T | undefined;
|
|
15
15
|
className?: string | undefined;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type FormMetadata } from '@conform-to/react';
|
|
2
2
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
3
3
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
4
|
-
export declare const useFormTheme:
|
|
4
|
+
export declare const useFormTheme: {
|
|
5
5
|
componentThemeName: "Form";
|
|
6
6
|
themeDefinition: undefined;
|
|
7
|
-
};
|
|
7
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
8
8
|
export type FormProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useFormTheme> & ComponentPropsWithoutRef<T> & {
|
|
9
9
|
as?: T | undefined;
|
|
10
10
|
className?: string;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type ReactNode, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useIconTheme:
|
|
4
|
-
readonly size: "small" | "medium" | "large";
|
|
5
|
-
readonly variant: "default" | "light";
|
|
6
|
-
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
|
|
3
|
+
export declare const useIconTheme: {
|
|
7
4
|
componentThemeName: "Icon";
|
|
8
5
|
themeDefinition: {
|
|
9
6
|
readonly variants: {
|
|
@@ -11,7 +8,10 @@ export declare const useIconTheme: ((themeProps: {
|
|
|
11
8
|
readonly variant: ["default", "light"];
|
|
12
9
|
};
|
|
13
10
|
};
|
|
14
|
-
}
|
|
11
|
+
} & ((themeProps: {
|
|
12
|
+
readonly size: "small" | "medium" | "large";
|
|
13
|
+
readonly variant: "default" | "light";
|
|
14
|
+
}) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
15
15
|
export type IconProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useIconTheme> & ComponentPropsWithoutRef<T> & {
|
|
16
16
|
as?: T | undefined;
|
|
17
17
|
name?: string | undefined;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ComponentType, type ElementType, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useInputTheme:
|
|
4
|
-
readonly disabled: boolean;
|
|
5
|
-
}) => {
|
|
6
|
-
input: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
7
|
-
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
8
|
-
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
9
|
-
clearButton: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
10
|
-
}) & {
|
|
3
|
+
export declare const useInputTheme: {
|
|
11
4
|
componentThemeName: "Input";
|
|
12
5
|
themeDefinition: {
|
|
13
6
|
readonly variants: {
|
|
@@ -15,7 +8,14 @@ export declare const useInputTheme: ((themeProps: {
|
|
|
15
8
|
};
|
|
16
9
|
readonly elements: ["root", "input", "icon", "clearButton"];
|
|
17
10
|
};
|
|
18
|
-
}
|
|
11
|
+
} & ((themeProps: {
|
|
12
|
+
readonly disabled: boolean;
|
|
13
|
+
}) => {
|
|
14
|
+
input: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
15
|
+
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
16
|
+
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
17
|
+
clearButton: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
18
|
+
});
|
|
19
19
|
export type InputProps<T extends ElementType> = ComponentProps<typeof useInputTheme> & ComponentPropsWithoutRef<T> & {
|
|
20
20
|
as?: T | undefined;
|
|
21
21
|
name?: string | undefined;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useLabelTheme:
|
|
3
|
+
export declare const useLabelTheme: {
|
|
4
4
|
componentThemeName: "Label";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type LabelProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useLabelTheme> & ComponentPropsWithoutRef<T> & {
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useLegendTheme:
|
|
3
|
+
export declare const useLegendTheme: {
|
|
4
4
|
componentThemeName: "Legend";
|
|
5
5
|
themeDefinition: undefined;
|
|
6
|
-
};
|
|
6
|
+
} & (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string);
|
|
7
7
|
export type LegendProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useLegendTheme> & ComponentPropsWithoutRef<T> & {
|
|
8
8
|
as?: T | undefined;
|
|
9
9
|
className?: string | undefined;
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type ReactNode, type Ref } from 'react';
|
|
2
2
|
import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
|
|
3
|
-
export declare const useListboxTheme:
|
|
4
|
-
readonly disabled: boolean;
|
|
5
|
-
readonly invalid: boolean;
|
|
6
|
-
}) => {
|
|
7
|
-
filter: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
8
|
-
label: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
9
|
-
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
10
|
-
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
11
|
-
options: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
12
|
-
}) & {
|
|
3
|
+
export declare const useListboxTheme: {
|
|
13
4
|
componentThemeName: "Listbox";
|
|
14
5
|
themeDefinition: {
|
|
15
6
|
readonly variants: {
|
|
@@ -18,24 +9,21 @@ export declare const useListboxTheme: ((themeProps: {
|
|
|
18
9
|
};
|
|
19
10
|
readonly elements: ["root", "label", "icon", "options", "filter"];
|
|
20
11
|
};
|
|
21
|
-
}
|
|
12
|
+
} & ((themeProps: {
|
|
13
|
+
readonly disabled: boolean;
|
|
14
|
+
readonly invalid: boolean;
|
|
15
|
+
}) => {
|
|
16
|
+
filter: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
17
|
+
label: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
18
|
+
icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
19
|
+
root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
20
|
+
options: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
|
|
21
|
+
});
|
|
22
22
|
export type ListboxItem<V> = {
|
|
23
23
|
value: V;
|
|
24
24
|
label: string;
|
|
25
25
|
};
|
|
26
26
|
export type ListboxProps<T extends ElementType, V extends boolean | number | string> = PropsWithChildren<ComponentProps<typeof useListboxTheme> & ComponentPropsWithoutRef<T> & ({
|
|
27
|
-
as?: T | undefined;
|
|
28
|
-
value?: V | undefined;
|
|
29
|
-
defaultValue?: V | undefined;
|
|
30
|
-
multiple?: false | undefined;
|
|
31
|
-
hideSelected?: never;
|
|
32
|
-
items?: Array<ListboxItem<V>> | undefined;
|
|
33
|
-
placeholder?: string;
|
|
34
|
-
name?: string | undefined;
|
|
35
|
-
className?: string | undefined;
|
|
36
|
-
showFilter?: boolean | undefined;
|
|
37
|
-
onChange?: (selectedValue: V) => void;
|
|
38
|
-
} | {
|
|
39
27
|
as?: T | undefined;
|
|
40
28
|
value?: V[] | undefined;
|
|
41
29
|
defaultValue?: V[] | undefined;
|
|
@@ -50,6 +38,18 @@ export type ListboxProps<T extends ElementType, V extends boolean | number | str
|
|
|
50
38
|
className?: string | undefined;
|
|
51
39
|
showFilter?: boolean | undefined;
|
|
52
40
|
onChange?: (selectedValue: V[]) => void;
|
|
41
|
+
} | {
|
|
42
|
+
as?: T | undefined;
|
|
43
|
+
value?: V | undefined;
|
|
44
|
+
defaultValue?: V | undefined;
|
|
45
|
+
multiple?: false | undefined;
|
|
46
|
+
hideSelected?: never;
|
|
47
|
+
items?: Array<ListboxItem<V>> | undefined;
|
|
48
|
+
placeholder?: string;
|
|
49
|
+
name?: string | undefined;
|
|
50
|
+
className?: string | undefined;
|
|
51
|
+
showFilter?: boolean | undefined;
|
|
52
|
+
onChange?: (selectedValue: V) => void;
|
|
53
53
|
})>;
|
|
54
54
|
export declare const Listbox: <T extends ElementType = import("react").ExoticComponent<{
|
|
55
55
|
children?: ReactNode | undefined;
|