@jakubmazanec/ui 0.1.0-next.86bf251 → 0.1.0-next.c443585

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.
Files changed (61) hide show
  1. package/build/components/Button.d.ts +2 -2
  2. package/build/components/Card.d.ts +3 -3
  3. package/build/components/Checkbox.d.ts +3 -3
  4. package/build/components/Combobox.d.ts +3 -3
  5. package/build/components/ComboboxOption.d.ts +4 -4
  6. package/build/components/Container.d.ts +3 -3
  7. package/build/components/Description.d.ts +2 -2
  8. package/build/components/Dialog.d.ts +4 -4
  9. package/build/components/DialogPanel.d.ts +3 -3
  10. package/build/components/DialogTitle.d.ts +3 -3
  11. package/build/components/Error.d.ts +3 -3
  12. package/build/components/Field.d.ts +1 -1
  13. package/build/components/Fieldset.d.ts +2 -2
  14. package/build/components/Form.d.ts +3 -3
  15. package/build/components/Icon.d.ts +2 -2
  16. package/build/components/Input.d.ts +1 -1
  17. package/build/components/Label.d.ts +3 -3
  18. package/build/components/Legend.d.ts +2 -2
  19. package/build/components/Listbox.d.ts +3 -3
  20. package/build/components/Listbox.js.map +2 -2
  21. package/build/components/ListboxOption.d.ts +4 -4
  22. package/build/components/Menu.d.ts +4 -4
  23. package/build/components/MenuButton.d.ts +3 -3
  24. package/build/components/MenuHeading.d.ts +3 -3
  25. package/build/components/MenuItem.d.ts +3 -3
  26. package/build/components/MenuItems.d.ts +4 -4
  27. package/build/components/MenuSection.d.ts +3 -3
  28. package/build/components/MenuSeparator.d.ts +3 -3
  29. package/build/components/Popover.d.ts +3 -3
  30. package/build/components/PopoverBackdrop.d.ts +3 -3
  31. package/build/components/PopoverButton.d.ts +3 -3
  32. package/build/components/PopoverGroup.d.ts +3 -3
  33. package/build/components/PopoverPanel.d.ts +4 -4
  34. package/build/components/Radio.d.ts +3 -3
  35. package/build/components/RadioGroup.d.ts +2 -2
  36. package/build/components/Spinner.d.ts +0 -1
  37. package/build/components/Table.d.ts +2 -2
  38. package/build/components/TableBody.d.ts +3 -3
  39. package/build/components/TableCaption.d.ts +3 -3
  40. package/build/components/TableCell.d.ts +3 -3
  41. package/build/components/TableFoot.d.ts +3 -3
  42. package/build/components/TableHead.d.ts +3 -3
  43. package/build/components/TableHeader.d.ts +3 -3
  44. package/build/components/TableRow.d.ts +3 -3
  45. package/build/components/Text.d.ts +3 -3
  46. package/build/components/Textarea.d.ts +1 -1
  47. package/build/components/data-table/DataTable.js.map +2 -2
  48. package/build/components/data-table/internals/DataTableHeaderFilter.js.map +2 -2
  49. package/build/components/data-table/internals/DataTablePagination.d.ts +0 -1
  50. package/build/components/data-table/internals/DataTableSearch.js.map +2 -2
  51. package/build/components/internals/fieldContext.d.ts +0 -1
  52. package/build/components/internals/fieldNameContext.d.ts +0 -1
  53. package/build/components/internals/formIdContext.d.ts +0 -1
  54. package/build/development/createTailwindMerge.js.map +2 -2
  55. package/build/theme/internals/themeContext.d.ts +0 -1
  56. package/package.json +19 -19
  57. package/source/components/Listbox.tsx +2 -2
  58. package/source/components/data-table/DataTable.tsx +5 -3
  59. package/source/components/data-table/internals/DataTableHeaderFilter.tsx +4 -4
  60. package/source/components/data-table/internals/DataTableSearch.tsx +2 -2
  61. package/source/development/createTailwindMerge.ts +2 -2
@@ -33,8 +33,8 @@ export declare const Button: <T extends ElementType = "button">(props: Partial<i
33
33
  idle?: boolean | undefined;
34
34
  autoFocus?: boolean | undefined;
35
35
  className?: string | undefined;
36
- children?: HeadlessButtonProps['children'] | undefined;
36
+ children?: HeadlessButtonProps["children"] | undefined;
37
37
  } & {
38
38
  ref?: Ref<HTMLElement> | undefined;
39
- }) => import("react").ReactNode;
39
+ }) => React.ReactNode;
40
40
  export declare const buttonTheme: ComponentTheme<typeof useButtonTheme>;
@@ -10,10 +10,10 @@ export type CardProps<T extends ElementType> = ComponentProps<typeof useCardThem
10
10
  }>;
11
11
  export declare const Card: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const cardTheme: ComponentTheme<typeof useCardTheme>;
@@ -30,10 +30,10 @@ export declare const Checkbox: <T extends ElementType = "span">(props: Partial<i
30
30
  checked?: boolean | undefined;
31
31
  indeterminate?: boolean | undefined;
32
32
  autoFocus?: boolean | undefined;
33
- name?: string | undefined;
34
- className?: string | undefined;
33
+ name?: string;
34
+ className?: string;
35
35
  onChange?: ((checked: boolean) => void) | undefined;
36
36
  } & {
37
37
  ref?: Ref<HTMLElement> | undefined;
38
- }) => import("react").ReactNode;
38
+ }) => React.ReactNode;
39
39
  export declare const checkboxTheme: ComponentTheme<typeof useCheckboxTheme>;
@@ -50,8 +50,8 @@ export type ComboboxProps<T extends ElementType, V extends boolean | number | st
50
50
  onChange?: (selectedValue: V[] | undefined) => void;
51
51
  })>;
52
52
  export declare const Combobox: <T extends ElementType = import("react").ExoticComponent<{
53
- children?: import("react").ReactNode;
54
- }>, V extends string | number | boolean = string>(props: ComboboxProps<T, V> & {
53
+ children?: import("react").ReactNode | undefined;
54
+ }>, V extends boolean | number | string = string>(props: ComboboxProps<T, V> & {
55
55
  ref?: Ref<HTMLElement> | undefined;
56
- }) => import("react").ReactNode;
56
+ }) => React.ReactNode;
57
57
  export declare const comboboxTheme: ComponentTheme<typeof useComboboxTheme>;
@@ -19,15 +19,15 @@ export type ComboboxOptionProps<T extends ElementType, V extends boolean | numbe
19
19
  value: V;
20
20
  className?: string;
21
21
  }>;
22
- export declare const ComboboxOption: <T extends ElementType = "div", V extends string | number | boolean = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
22
+ export declare const ComboboxOption: <T extends ElementType = "div", V extends boolean | number | string = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
23
23
  readonly disabled: boolean;
24
24
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
25
25
  as?: T | undefined;
26
26
  value: V;
27
- className?: string | undefined;
27
+ className?: string;
28
28
  } & {
29
- children?: import("react").ReactNode;
29
+ children?: import("react").ReactNode | undefined;
30
30
  } & {
31
31
  ref?: Ref<HTMLElement> | undefined;
32
- }) => import("react").ReactNode;
32
+ }) => React.ReactNode;
33
33
  export declare const comboboxOptionTheme: ComponentTheme<typeof useComboboxOptionTheme>;
@@ -27,10 +27,10 @@ export declare const Container: <T extends ElementType = "div">(props: Partial<i
27
27
  readonly align: "center" | "normal";
28
28
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
29
29
  as?: T | undefined;
30
- className?: string | undefined;
30
+ className?: string;
31
31
  } & {
32
- children?: import("react").ReactNode;
32
+ children?: import("react").ReactNode | undefined;
33
33
  } & {
34
34
  ref?: Ref<HTMLElement> | undefined;
35
- }) => import("react").ReactNode;
35
+ }) => React.ReactNode;
36
36
  export declare const containerTheme: ComponentTheme<typeof useContainerTheme>;
@@ -12,8 +12,8 @@ export declare const Description: <T extends ElementType = "p">(props: import("r
12
12
  as?: T | undefined;
13
13
  className?: string | undefined;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const descriptionTheme: ComponentTheme<typeof useDescriptionTheme>;
@@ -22,11 +22,11 @@ export declare const Dialog: <T extends ElementType = "div">(props: import("reac
22
22
  open: boolean;
23
23
  static?: boolean | undefined;
24
24
  autoFocus?: boolean | undefined;
25
- className?: string | undefined;
26
- onClose?: (() => void) | undefined;
25
+ className?: string;
26
+ onClose?: () => void;
27
27
  } & {
28
- children?: import("react").ReactNode;
28
+ children?: import("react").ReactNode | undefined;
29
29
  } & {
30
30
  ref?: Ref<HTMLElement> | undefined;
31
- }) => import("react").ReactNode;
31
+ }) => React.ReactNode;
32
32
  export declare const dialogTheme: ComponentTheme<typeof useDialogTheme>;
@@ -10,10 +10,10 @@ export type DialogPanelProps<T extends ElementType> = PropsWithChildren<Componen
10
10
  }>;
11
11
  export declare const DialogPanel: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const dialogPanelTheme: ComponentTheme<typeof useDialogPanelTheme>;
@@ -10,10 +10,10 @@ export type DialogTitleProps<T extends ElementType> = PropsWithChildren<Componen
10
10
  }>;
11
11
  export declare const DialogTitle: <T extends ElementType = "h2">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const dialogTitleTheme: ComponentTheme<typeof useDialogTitleTheme>;
@@ -10,10 +10,10 @@ export type ErrorProps<T extends ElementType> = PropsWithChildren<ComponentProps
10
10
  }>;
11
11
  export declare const Error: <T extends ElementType = "p">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const errorTheme: ComponentTheme<typeof useErrorTheme>;
@@ -18,5 +18,5 @@ export type FieldProps<T extends ElementType> = PropsWithChildren<ComponentProps
18
18
  })>;
19
19
  export declare const Field: <T extends ElementType = "div">(props: FieldProps<T> & {
20
20
  ref?: Ref<HTMLElement> | undefined;
21
- }) => import("react").ReactNode;
21
+ }) => React.ReactNode;
22
22
  export declare const fieldTheme: ComponentTheme<typeof useFieldTheme>;
@@ -20,8 +20,8 @@ export declare const Fieldset: <T extends ElementType = "fieldset">(props: Parti
20
20
  as?: T | undefined;
21
21
  className?: string | undefined;
22
22
  } & {
23
- children?: import("react").ReactNode;
23
+ children?: import("react").ReactNode | undefined;
24
24
  } & {
25
25
  ref?: Ref<HTMLElement> | undefined;
26
- }) => import("react").ReactNode;
26
+ }) => React.ReactNode;
27
27
  export declare const fieldsetnTheme: ComponentTheme<typeof useFieldsetTheme>;
@@ -12,11 +12,11 @@ export type FormProps<T extends ElementType> = PropsWithChildren<ComponentProps<
12
12
  }>;
13
13
  export declare const Form: <T extends ElementType = "form">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
14
14
  as?: T | undefined;
15
- className?: string | undefined;
15
+ className?: string;
16
16
  form?: FormMetadata<any, any> | undefined;
17
17
  } & {
18
- children?: import("react").ReactNode;
18
+ children?: import("react").ReactNode | undefined;
19
19
  } & {
20
20
  ref?: Ref<HTMLElement> | undefined;
21
- }) => import("react").ReactNode;
21
+ }) => React.ReactNode;
22
22
  export declare const formTheme: ComponentTheme<typeof useFormTheme>;
@@ -25,8 +25,8 @@ export declare const Icon: <T extends ElementType = "span">(props: Partial<impor
25
25
  name?: string | undefined;
26
26
  className?: string | undefined;
27
27
  } & {
28
- children?: ReactNode;
28
+ children?: ReactNode | undefined;
29
29
  } & {
30
30
  ref?: Ref<HTMLElement> | undefined;
31
- }) => ReactNode;
31
+ }) => React.ReactNode;
32
32
  export declare const iconTheme: ComponentTheme<typeof useIconTheme>;
@@ -33,5 +33,5 @@ export declare const Input: <T extends ElementType = "input">(props: Partial<imp
33
33
  showClearButton?: boolean | undefined;
34
34
  } & {
35
35
  ref?: Ref<HTMLElement> | undefined;
36
- }) => import("react").ReactNode;
36
+ }) => React.ReactNode;
37
37
  export declare const inputTheme: ComponentTheme<typeof useInputTheme>;
@@ -10,10 +10,10 @@ export type LabelProps<T extends ElementType> = PropsWithChildren<ComponentProps
10
10
  }>;
11
11
  export declare const Label: <T extends ElementType = "label">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const labelTheme: ComponentTheme<typeof useLabelTheme>;
@@ -12,8 +12,8 @@ export declare const Legend: <T extends ElementType = "div">(props: import("reac
12
12
  as?: T | undefined;
13
13
  className?: string | undefined;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const legendTheme: ComponentTheme<typeof useLegendTheme>;
@@ -52,8 +52,8 @@ export type ListboxProps<T extends ElementType, V extends boolean | number | str
52
52
  onChange?: (selectedValue: V[]) => void;
53
53
  })>;
54
54
  export declare const Listbox: <T extends ElementType = import("react").ExoticComponent<{
55
- children?: ReactNode;
56
- }>, V extends string | number | boolean = string>(props: ListboxProps<T, V> & {
55
+ children?: ReactNode | undefined;
56
+ }>, V extends boolean | number | string = string>(props: ListboxProps<T, V> & {
57
57
  ref?: Ref<HTMLElement> | undefined;
58
- }) => ReactNode;
58
+ }) => React.ReactNode;
59
59
  export declare const listboxTheme: ComponentTheme<typeof useListboxTheme>;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Listbox.tsx"],
4
- "sourcesContent": ["// TODO: fix somehow\n/* eslint-disable complexity -- TODO */\nimport {\n Listbox as HeadlessListbox,\n ListboxButton as HeadlessListboxButton,\n ListboxOptions as HeadlessListboxOptions,\n type ListboxProps as HeadlessListboxProps,\n} from '@headlessui/react';\nimport {\n type ChangeEvent,\n Children,\n type ComponentPropsWithoutRef,\n type ElementType,\n Fragment,\n type KeyboardEvent,\n type PropsWithChildren,\n type ReactNode,\n type Ref,\n useCallback,\n useRef,\n useState,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {Icon} from './Icon.js';\nimport {Input} from './Input.js';\nimport {forwardRef, useFormId} from './internals.js';\nimport {ListboxOption} from './ListboxOption.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useListboxTheme = createComponentTheme('Listbox', {\n variants: {disabled: [true, false], invalid: [true, false]},\n elements: ['root', 'label', 'icon', 'options', 'filter'],\n});\n\nconst LISTBOX_ELEMENT = Fragment;\n\nexport type ListboxItem<V> = {\n value: V;\n label: string;\n};\n\nexport type ListboxProps<\n T extends ElementType,\n V extends boolean | number | string,\n> = PropsWithChildren<\n ComponentProps<typeof useListboxTheme> &\n ComponentPropsWithoutRef<T> &\n (\n | {\n as?: T | undefined;\n value?: V | undefined;\n defaultValue?: V | undefined;\n multiple?: false | undefined;\n hideSelected?: never; // must be here so the type of props is correct\n items?: Array<ListboxItem<V>> | undefined;\n placeholder?: string;\n name?: string | undefined;\n className?: string | undefined;\n showFilter?: boolean | undefined;\n onChange?: (selectedValue: V) => void;\n }\n | {\n as?: T | undefined;\n value?: V[] | undefined;\n defaultValue?: V[] | undefined;\n multiple: true;\n hideSelected?:\n | {\n limit: number;\n message?: string | undefined;\n }\n | undefined;\n items?: Array<ListboxItem<V>> | undefined;\n placeholder?: string;\n name?: string | undefined;\n className?: string | undefined;\n showFilter?: boolean | undefined;\n onChange?: (selectedValue: V[]) => void;\n }\n )\n>;\n\nexport const Listbox = forwardRef(\n <T extends ElementType = typeof LISTBOX_ELEMENT, V extends boolean | number | string = string>(\n {\n disabled = false,\n invalid = false,\n as = LISTBOX_ELEMENT as unknown as T,\n value,\n defaultValue,\n multiple,\n hideSelected,\n items,\n placeholder,\n name,\n className,\n showFilter,\n onChange,\n children,\n ...rest\n }: ListboxProps<T, V>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useListboxTheme({disabled, invalid});\n let formId = useFormId();\n let field = useField();\n let fieldName = useFieldName();\n let [query, setQuery] = useState('');\n let inputRef = useRef<HTMLElement>(null);\n\n let handleChange = useCallback(\n (selectedValue: V) => {\n onChange?.(selectedValue as V & V[]);\n },\n [onChange],\n );\n\n // hacky solution so the user is able to focus inout used for filtering\n let handleTab = useCallback(\n (event: KeyboardEvent) => {\n if (!showFilter) {\n return;\n }\n\n if (event.key === 'Tab' && document.activeElement !== inputRef.current) {\n event.preventDefault();\n inputRef.current?.focus();\n }\n },\n [showFilter],\n );\n\n let handleQueryChange = useCallback((event: ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value);\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\n .toLowerCase()\n .replace(/\\s+/g, '')\n .includes(query.toLowerCase().replace(/\\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 .replace(/\\s+/g, '')\n .includes(query.toLowerCase().replace(/\\s+/g, ''))\n ) {\n return true;\n }\n\n return false;\n })\n : children;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessListboxProps<any, any> = {\n as,\n ref,\n name: field?.name ?? fieldName ?? name,\n value: value ?? null,\n defaultValue,\n multiple,\n disabled,\n invalid,\n form: formId,\n onChange: handleChange,\n ...rest,\n };\n\n return (\n <HeadlessListbox {...props}>\n <HeadlessListboxButton\n className={theme.root('relative', className)}\n data-multiple={multiple ? true : null}\n data-component=\"listbox\"\n >\n {({value: selectedValue}) => {\n if (!items && !multiple) {\n let selectedItem: ReactNode;\n\n Children.forEach(filteredChildren, (child) => {\n if (!child) {\n return;\n }\n\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n (child.props as Record<string, unknown>).value === selectedValue\n ) {\n selectedItem = (child.props as Record<string, unknown>).children as ReactNode;\n }\n });\n\n return (\n <>\n <span className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}>\n {selectedItem ?? placeholder ?? null}\n </span>\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n } else if (!items && multiple) {\n let itemsHidden = false;\n let selectedItems: ReactNode[] = [];\n\n Children.forEach(filteredChildren, (child) => {\n if (!child) {\n return;\n }\n\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n (selectedValue as unknown[]).includes(\n (child.props as Record<string, unknown>).value,\n )\n ) {\n selectedItems.push(\n (child.props as Record<string, unknown>).children as ReactNode,\n );\n }\n });\n\n if (hideSelected && selectedItems.length > hideSelected.limit) {\n selectedItems = selectedItems.slice(0, hideSelected.limit);\n itemsHidden = true;\n }\n\n return (\n <>\n {selectedItems.length ?\n selectedItems.map((selectedItem, index) => (\n <span\n // eslint-disable-next-line react/no-array-index-key -- needed\n key={index}\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {selectedItem}\n </span>\n ))\n : placeholder ?? null}\n {itemsHidden ?\n <span\n data-ellipsis\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {hideSelected?.message ?? '\u2026'}\n </span>\n : null}\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n } else if (items && multiple) {\n let itemsHidden = false;\n let selectedItems =\n filteredItems?.filter((item) =>\n (selectedValue as unknown[] | undefined)?.includes(item.value),\n ) ?? [];\n\n if (hideSelected && selectedItems.length > hideSelected.limit) {\n selectedItems = selectedItems.slice(0, hideSelected.limit);\n itemsHidden = true;\n }\n\n return (\n <>\n {selectedItems.length ?\n selectedItems.map((selectedItem, index) => (\n <span\n // eslint-disable-next-line react/no-array-index-key -- needed\n key={index}\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {selectedItem.label}\n </span>\n ))\n : placeholder ?? null}\n {itemsHidden ?\n <span\n data-ellipsis\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {hideSelected?.message ?? '\u2026'}\n </span>\n : null}\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n }\n\n let selectedItem = filteredItems?.find((item) => item.value === selectedValue);\n\n return (\n <>\n <span className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}>\n {selectedItem?.label ?? placeholder ?? null}\n </span>\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n }}\n </HeadlessListboxButton>\n <HeadlessListboxOptions\n className={theme.options()}\n anchor=\"bottom start\"\n onKeyDown={handleTab}\n >\n {showFilter ?\n <div className={theme.filter()}>\n <Input ref={inputRef} showClearButton value={query} onInput={handleQueryChange} />\n </div>\n : null}\n {items ?\n filteredItems?.map((item) => (\n <ListboxOption key={item.label} value={item.value}>\n {item.label}\n </ListboxOption>\n ))\n : filteredChildren}\n </HeadlessListboxOptions>\n </HeadlessListbox>\n );\n },\n);\n\nexport const listboxTheme: ComponentTheme<typeof useListboxTheme> = {\n classNames: {\n root: 'flex w-full min-w-32 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 label: 'flex gap-x-2',\n icon: 'text-neutral-500 size-5 top-1.5 right-1.5 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(--button-width)] [--anchor-gap:theme(spacing.1)] [--anchor-padding:theme(spacing.2)] [scrollbar-width:thin] empty:invisible transition-colors',\n filter: '[&>[data-component=input]]:rounded',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-neutral-100 text-neutral-200 cursor-not-allowed',\n label: '',\n icon: 'text-neutral-200',\n options: 'border-neutral-100',\n filter: '',\n },\n false: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n },\n invalid: {\n true: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n false: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n },\n },\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// TODO: fix somehow\n/* eslint-disable complexity -- TODO */\nimport {\n Listbox as HeadlessListbox,\n ListboxButton as HeadlessListboxButton,\n ListboxOptions as HeadlessListboxOptions,\n type ListboxProps as HeadlessListboxProps,\n} from '@headlessui/react';\nimport {\n type ChangeEvent,\n Children,\n type ComponentPropsWithoutRef,\n type ElementType,\n Fragment,\n type KeyboardEvent,\n type PropsWithChildren,\n type ReactNode,\n type Ref,\n useCallback,\n useRef,\n useState,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {Icon} from './Icon.js';\nimport {Input} from './Input.js';\nimport {forwardRef, useFormId} from './internals.js';\nimport {ListboxOption} from './ListboxOption.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useListboxTheme = createComponentTheme('Listbox', {\n variants: {disabled: [true, false], invalid: [true, false]},\n elements: ['root', 'label', 'icon', 'options', 'filter'],\n});\n\nconst LISTBOX_ELEMENT = Fragment;\n\nexport type ListboxItem<V> = {\n value: V;\n label: string;\n};\n\nexport type ListboxProps<\n T extends ElementType,\n V extends boolean | number | string,\n> = PropsWithChildren<\n ComponentProps<typeof useListboxTheme> &\n ComponentPropsWithoutRef<T> &\n (\n | {\n as?: T | undefined;\n value?: V | undefined;\n defaultValue?: V | undefined;\n multiple?: false | undefined;\n hideSelected?: never; // must be here so the type of props is correct\n items?: Array<ListboxItem<V>> | undefined;\n placeholder?: string;\n name?: string | undefined;\n className?: string | undefined;\n showFilter?: boolean | undefined;\n onChange?: (selectedValue: V) => void;\n }\n | {\n as?: T | undefined;\n value?: V[] | undefined;\n defaultValue?: V[] | undefined;\n multiple: true;\n hideSelected?:\n | {\n limit: number;\n message?: string | undefined;\n }\n | undefined;\n items?: Array<ListboxItem<V>> | undefined;\n placeholder?: string;\n name?: string | undefined;\n className?: string | undefined;\n showFilter?: boolean | undefined;\n onChange?: (selectedValue: V[]) => void;\n }\n )\n>;\n\nexport const Listbox = forwardRef(\n <T extends ElementType = typeof LISTBOX_ELEMENT, V extends boolean | number | string = string>(\n {\n disabled = false,\n invalid = false,\n as = LISTBOX_ELEMENT as unknown as T,\n value,\n defaultValue,\n multiple,\n hideSelected,\n items,\n placeholder,\n name,\n className,\n showFilter,\n onChange,\n children,\n ...rest\n }: ListboxProps<T, V>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useListboxTheme({disabled, invalid});\n let formId = useFormId();\n let field = useField();\n let fieldName = useFieldName();\n let [query, setQuery] = useState('');\n let inputRef = useRef<HTMLElement>(null);\n\n let handleChange = useCallback(\n (selectedValue: V) => {\n onChange?.(selectedValue as V & V[]);\n },\n [onChange],\n );\n\n // hacky solution so the user is able to focus inout used for filtering\n let handleTab = useCallback(\n (event: KeyboardEvent) => {\n if (!showFilter) {\n return;\n }\n\n if (event.key === 'Tab' && document.activeElement !== inputRef.current) {\n event.preventDefault();\n inputRef.current?.focus();\n }\n },\n [showFilter],\n );\n\n let handleQueryChange = useCallback((event: ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value);\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\n .toLowerCase()\n .replace(/\\s+/g, '')\n .includes(query.toLowerCase().replace(/\\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 .replace(/\\s+/g, '')\n .includes(query.toLowerCase().replace(/\\s+/g, ''))\n ) {\n return true;\n }\n\n return false;\n })\n : children;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessListboxProps<any, any> = {\n as,\n ref,\n name: field?.name ?? fieldName ?? name,\n value: value ?? null,\n defaultValue,\n multiple,\n disabled,\n invalid,\n form: formId,\n onChange: handleChange,\n ...rest,\n };\n\n return (\n <HeadlessListbox {...props}>\n <HeadlessListboxButton\n className={theme.root('relative', className)}\n data-multiple={multiple ? true : null}\n data-component=\"listbox\"\n >\n {({value: selectedValue}) => {\n if (!items && !multiple) {\n let selectedItem: ReactNode;\n\n Children.forEach(filteredChildren, (child) => {\n if (!child) {\n return;\n }\n\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n (child.props as Record<string, unknown>).value === selectedValue\n ) {\n selectedItem = (child.props as Record<string, unknown>).children as ReactNode;\n }\n });\n\n return (\n <>\n <span className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}>\n {selectedItem ?? placeholder ?? null}\n </span>\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n } else if (!items && multiple) {\n let itemsHidden = false;\n let selectedItems: ReactNode[] = [];\n\n Children.forEach(filteredChildren, (child) => {\n if (!child) {\n return;\n }\n\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n (selectedValue as unknown[]).includes(\n (child.props as Record<string, unknown>).value,\n )\n ) {\n selectedItems.push(\n (child.props as Record<string, unknown>).children as ReactNode,\n );\n }\n });\n\n if (hideSelected && selectedItems.length > hideSelected.limit) {\n selectedItems = selectedItems.slice(0, hideSelected.limit);\n itemsHidden = true;\n }\n\n return (\n <>\n {selectedItems.length ?\n selectedItems.map((selectedItem, index) => (\n <span\n // eslint-disable-next-line react/no-array-index-key -- needed\n key={index}\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {selectedItem}\n </span>\n ))\n : (placeholder ?? null)}\n {itemsHidden ?\n <span\n data-ellipsis\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {hideSelected?.message ?? '\u2026'}\n </span>\n : null}\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n } else if (items && multiple) {\n let itemsHidden = false;\n let selectedItems =\n filteredItems?.filter((item) =>\n (selectedValue as unknown[] | undefined)?.includes(item.value),\n ) ?? [];\n\n if (hideSelected && selectedItems.length > hideSelected.limit) {\n selectedItems = selectedItems.slice(0, hideSelected.limit);\n itemsHidden = true;\n }\n\n return (\n <>\n {selectedItems.length ?\n selectedItems.map((selectedItem, index) => (\n <span\n // eslint-disable-next-line react/no-array-index-key -- needed\n key={index}\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {selectedItem.label}\n </span>\n ))\n : (placeholder ?? null)}\n {itemsHidden ?\n <span\n data-ellipsis\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {hideSelected?.message ?? '\u2026'}\n </span>\n : null}\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n }\n\n let selectedItem = filteredItems?.find((item) => item.value === selectedValue);\n\n return (\n <>\n <span className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}>\n {selectedItem?.label ?? placeholder ?? null}\n </span>\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n }}\n </HeadlessListboxButton>\n <HeadlessListboxOptions\n className={theme.options()}\n anchor=\"bottom start\"\n onKeyDown={handleTab}\n >\n {showFilter ?\n <div className={theme.filter()}>\n <Input ref={inputRef} showClearButton value={query} onInput={handleQueryChange} />\n </div>\n : null}\n {items ?\n filteredItems?.map((item) => (\n <ListboxOption key={item.label} value={item.value}>\n {item.label}\n </ListboxOption>\n ))\n : filteredChildren}\n </HeadlessListboxOptions>\n </HeadlessListbox>\n );\n },\n);\n\nexport const listboxTheme: ComponentTheme<typeof useListboxTheme> = {\n classNames: {\n root: 'flex w-full min-w-32 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 label: 'flex gap-x-2',\n icon: 'text-neutral-500 size-5 top-1.5 right-1.5 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(--button-width)] [--anchor-gap:theme(spacing.1)] [--anchor-padding:theme(spacing.2)] [scrollbar-width:thin] empty:invisible transition-colors',\n filter: '[&>[data-component=input]]:rounded',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-neutral-100 text-neutral-200 cursor-not-allowed',\n label: '',\n icon: 'text-neutral-200',\n options: 'border-neutral-100',\n filter: '',\n },\n false: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n },\n invalid: {\n true: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n false: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n },\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["Fragment", "selectedItem"]
7
7
  }
@@ -19,15 +19,15 @@ export type ListboxOptionProps<T extends ElementType, V extends boolean | number
19
19
  value: V;
20
20
  className?: string;
21
21
  }>;
22
- export declare const ListboxOption: <T extends ElementType = "div", V extends string | number | boolean = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
22
+ export declare const ListboxOption: <T extends ElementType = "div", V extends boolean | number | string = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
23
23
  readonly disabled: boolean;
24
24
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
25
25
  as?: T | undefined;
26
26
  value: V;
27
- className?: string | undefined;
27
+ className?: string;
28
28
  } & {
29
- children?: import("react").ReactNode;
29
+ children?: import("react").ReactNode | undefined;
30
30
  } & {
31
31
  ref?: Ref<HTMLElement> | undefined;
32
- }) => import("react").ReactNode;
32
+ }) => React.ReactNode;
33
33
  export declare const listboxOptionTheme: ComponentTheme<typeof useListboxOptionTheme>;
@@ -9,13 +9,13 @@ export type MenuProps<T extends ElementType> = PropsWithChildren<ComponentProps<
9
9
  className?: string;
10
10
  }>;
11
11
  export declare const Menu: <T extends ElementType = import("react").ExoticComponent<{
12
- children?: import("react").ReactNode;
12
+ children?: import("react").ReactNode | undefined;
13
13
  }>>(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
14
14
  as?: T | undefined;
15
- className?: string | undefined;
15
+ className?: string;
16
16
  } & {
17
- children?: import("react").ReactNode;
17
+ children?: import("react").ReactNode | undefined;
18
18
  } & {
19
19
  ref?: Ref<HTMLElement> | undefined;
20
- }) => import("react").ReactNode;
20
+ }) => React.ReactNode;
21
21
  export declare const menuTheme: ComponentTheme<typeof useMenuTheme>;
@@ -18,10 +18,10 @@ export declare const MenuButton: <T extends ElementType = "button">(props: Parti
18
18
  readonly disabled: boolean;
19
19
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
20
20
  as?: T | undefined;
21
- className?: string | undefined;
21
+ className?: string;
22
22
  } & {
23
- children?: import("react").ReactNode;
23
+ children?: import("react").ReactNode | undefined;
24
24
  } & {
25
25
  ref?: Ref<HTMLElement> | undefined;
26
- }) => import("react").ReactNode;
26
+ }) => React.ReactNode;
27
27
  export declare const menuButtonTheme: ComponentTheme<typeof useMenuButtonTheme>;
@@ -10,10 +10,10 @@ export type MenuHeadingProps<T extends ElementType> = PropsWithChildren<Componen
10
10
  }>;
11
11
  export declare const MenuHeading: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const menuHeadingTheme: ComponentTheme<typeof useMenuHeadingTheme>;
@@ -18,10 +18,10 @@ export declare const MenuItem: <T extends ElementType = "div">(props: Partial<im
18
18
  readonly disabled: boolean;
19
19
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
20
20
  as?: T | undefined;
21
- className?: string | undefined;
21
+ className?: string;
22
22
  } & {
23
- children?: import("react").ReactNode;
23
+ children?: import("react").ReactNode | undefined;
24
24
  } & {
25
25
  ref?: Ref<HTMLElement> | undefined;
26
- }) => import("react").ReactNode;
26
+ }) => React.ReactNode;
27
27
  export declare const menuItemTheme: ComponentTheme<typeof useMenuItemTheme>;
@@ -12,11 +12,11 @@ export type MenuItemsProps<T extends ElementType> = PropsWithChildren<ComponentP
12
12
  }>;
13
13
  export declare const MenuItems: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
14
14
  as?: T | undefined;
15
- anchor?: HeadlessMenuItemsProps['anchor'] | undefined;
16
- className?: string | undefined;
15
+ anchor?: HeadlessMenuItemsProps["anchor"] | undefined;
16
+ className?: string;
17
17
  } & {
18
- children?: import("react").ReactNode;
18
+ children?: import("react").ReactNode | undefined;
19
19
  } & {
20
20
  ref?: Ref<HTMLElement> | undefined;
21
- }) => import("react").ReactNode;
21
+ }) => React.ReactNode;
22
22
  export declare const menuItemsTheme: ComponentTheme<typeof useMenuItemsTheme>;
@@ -10,10 +10,10 @@ export type MenuSectionProps<T extends ElementType> = PropsWithChildren<Componen
10
10
  }>;
11
11
  export declare const MenuSection: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const menuSectionTheme: ComponentTheme<typeof useMenuSectionTheme>;
@@ -10,10 +10,10 @@ export type MenuSeparatorProps<T extends ElementType> = PropsWithChildren<Compon
10
10
  }>;
11
11
  export declare const MenuSeparator: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const menuSeparatorTheme: ComponentTheme<typeof useMenuSeparatorTheme>;
@@ -10,10 +10,10 @@ export type PopoverProps<T extends ElementType> = PropsWithChildren<ComponentPro
10
10
  }>;
11
11
  export declare const Popover: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const popoverTheme: ComponentTheme<typeof usePopoverTheme>;
@@ -10,10 +10,10 @@ export type PopoverBackdropProps<T extends ElementType> = PropsWithChildren<Comp
10
10
  }>;
11
11
  export declare const PopoverBackdrop: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const popoverBackdropTheme: ComponentTheme<typeof usePopoverBackdropTheme>;
@@ -20,10 +20,10 @@ export declare const PopoverButton: <T extends ElementType = "div">(props: Parti
20
20
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
21
21
  as?: T | undefined;
22
22
  autoFocus?: boolean | undefined;
23
- className?: string | undefined;
23
+ className?: string;
24
24
  } & {
25
- children?: import("react").ReactNode;
25
+ children?: import("react").ReactNode | undefined;
26
26
  } & {
27
27
  ref?: Ref<HTMLElement> | undefined;
28
- }) => import("react").ReactNode;
28
+ }) => React.ReactNode;
29
29
  export declare const popoverButtonTheme: ComponentTheme<typeof usePopoverButtonTheme>;
@@ -10,10 +10,10 @@ export type PopoverGroupProps<T extends ElementType> = PropsWithChildren<Compone
10
10
  }>;
11
11
  export declare const PopoverGroup: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
12
  as?: T | undefined;
13
- className?: string | undefined;
13
+ className?: string;
14
14
  } & {
15
- children?: import("react").ReactNode;
15
+ children?: import("react").ReactNode | undefined;
16
16
  } & {
17
17
  ref?: Ref<HTMLElement> | undefined;
18
- }) => import("react").ReactNode;
18
+ }) => React.ReactNode;
19
19
  export declare const popoverGroupTheme: ComponentTheme<typeof usePopoverGroupTheme>;
@@ -14,11 +14,11 @@ export type PopoverPanelProps<T extends ElementType> = PropsWithChildren<Compone
14
14
  export declare const PopoverPanel: <T extends ElementType = "div">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
15
15
  as?: T | undefined;
16
16
  static?: boolean | undefined;
17
- anchor?: HeadlessPopoverPanelProps['anchor'] | undefined;
18
- className?: string | undefined;
17
+ anchor?: HeadlessPopoverPanelProps["anchor"] | undefined;
18
+ className?: string;
19
19
  } & {
20
- children?: import("react").ReactNode;
20
+ children?: import("react").ReactNode | undefined;
21
21
  } & {
22
22
  ref?: Ref<HTMLElement> | undefined;
23
- }) => import("react").ReactNode;
23
+ }) => React.ReactNode;
24
24
  export declare const popoverPanelTheme: ComponentTheme<typeof usePopoverPanelTheme>;
@@ -20,14 +20,14 @@ export type RadioProps<T extends ElementType, V extends boolean | number | strin
20
20
  autoFocus?: boolean | undefined;
21
21
  className?: string;
22
22
  };
23
- export declare const Radio: <T extends ElementType = "span", V extends string | number | boolean = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
23
+ export declare const Radio: <T extends ElementType = "span", V extends boolean | number | string = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
24
24
  readonly disabled: boolean;
25
25
  }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
26
26
  as?: T | undefined;
27
27
  value: V;
28
28
  autoFocus?: boolean | undefined;
29
- className?: string | undefined;
29
+ className?: string;
30
30
  } & {
31
31
  ref?: Ref<HTMLElement> | undefined;
32
- }) => import("react").ReactNode;
32
+ }) => React.ReactNode;
33
33
  export declare const radioTheme: ComponentTheme<typeof useRadioTheme>;
@@ -28,7 +28,7 @@ export type RadioGroupProps<T extends ElementType, V extends boolean | number |
28
28
  className?: string;
29
29
  onChange?: ((value: V) => void) | undefined;
30
30
  })>;
31
- export declare const RadioGroup: <T extends ElementType = "div", V extends string | number | boolean = string>(props: RadioGroupProps<T, V> & {
31
+ export declare const RadioGroup: <T extends ElementType = "div", V extends boolean | number | string = string>(props: RadioGroupProps<T, V> & {
32
32
  ref?: Ref<HTMLElement> | undefined;
33
- }) => import("react").ReactNode;
33
+ }) => React.ReactNode;
34
34
  export declare const radioGroupTheme: ComponentTheme<typeof useRadioGroupTheme>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
1
  import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
3
2
  export declare const useSpinnerTheme: ((themeProps: {
4
3
  readonly size: "small" | "medium" | "large" | "surface";