@wire-ui/solid 0.1.0

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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +341 -0
  3. package/dist/components/accordion/Accordion.d.ts +13 -0
  4. package/dist/components/accordion/Accordion.types.d.ts +48 -0
  5. package/dist/components/accordion/index.d.ts +2 -0
  6. package/dist/components/alert/Alert.d.ts +30 -0
  7. package/dist/components/alert/Alert.types.d.ts +25 -0
  8. package/dist/components/alert/index.d.ts +2 -0
  9. package/dist/components/avatar/Avatar.d.ts +35 -0
  10. package/dist/components/avatar/Avatar.types.d.ts +29 -0
  11. package/dist/components/avatar/index.d.ts +2 -0
  12. package/dist/components/badge/Badge.d.ts +3 -0
  13. package/dist/components/badge/Badge.types.d.ts +14 -0
  14. package/dist/components/badge/index.d.ts +2 -0
  15. package/dist/components/button/Button.d.ts +4 -0
  16. package/dist/components/button/Button.types.d.ts +26 -0
  17. package/dist/components/button/index.d.ts +2 -0
  18. package/dist/components/card/Card.d.ts +3 -0
  19. package/dist/components/card/Card.types.d.ts +18 -0
  20. package/dist/components/card/index.d.ts +2 -0
  21. package/dist/components/checkbox/Checkbox.d.ts +13 -0
  22. package/dist/components/checkbox/Checkbox.types.d.ts +33 -0
  23. package/dist/components/checkbox/index.d.ts +2 -0
  24. package/dist/components/divider/Divider.d.ts +24 -0
  25. package/dist/components/divider/Divider.types.d.ts +27 -0
  26. package/dist/components/divider/index.d.ts +2 -0
  27. package/dist/components/drawer/Drawer.d.ts +17 -0
  28. package/dist/components/drawer/Drawer.types.d.ts +30 -0
  29. package/dist/components/drawer/index.d.ts +2 -0
  30. package/dist/components/dropdown/Dropdown.d.ts +11 -0
  31. package/dist/components/dropdown/Dropdown.types.d.ts +22 -0
  32. package/dist/components/dropdown/index.d.ts +2 -0
  33. package/dist/components/icon/Icon.d.ts +3 -0
  34. package/dist/components/icon/Icon.types.d.ts +15 -0
  35. package/dist/components/icon/index.d.ts +3 -0
  36. package/dist/components/image/Image.d.ts +3 -0
  37. package/dist/components/image/Image.types.d.ts +20 -0
  38. package/dist/components/image/index.d.ts +2 -0
  39. package/dist/components/index.d.ts +26 -0
  40. package/dist/components/input/Input.d.ts +12 -0
  41. package/dist/components/input/Input.types.d.ts +37 -0
  42. package/dist/components/input/index.d.ts +2 -0
  43. package/dist/components/list/List.d.ts +3 -0
  44. package/dist/components/list/List.types.d.ts +9 -0
  45. package/dist/components/list/index.d.ts +2 -0
  46. package/dist/components/modal/Modal.d.ts +15 -0
  47. package/dist/components/modal/Modal.types.d.ts +26 -0
  48. package/dist/components/modal/index.d.ts +2 -0
  49. package/dist/components/otp/OTP.d.ts +10 -0
  50. package/dist/components/otp/OTP.types.d.ts +32 -0
  51. package/dist/components/otp/index.d.ts +2 -0
  52. package/dist/components/password/Password.d.ts +15 -0
  53. package/dist/components/password/Password.types.d.ts +37 -0
  54. package/dist/components/password/index.d.ts +2 -0
  55. package/dist/components/progress-bar/ProgressBar.d.ts +3 -0
  56. package/dist/components/progress-bar/ProgressBar.types.d.ts +16 -0
  57. package/dist/components/progress-bar/index.d.ts +2 -0
  58. package/dist/components/radio/Radio.d.ts +13 -0
  59. package/dist/components/radio/Radio.types.d.ts +33 -0
  60. package/dist/components/radio/index.d.ts +2 -0
  61. package/dist/components/rating/Rating.d.ts +20 -0
  62. package/dist/components/rating/Rating.types.d.ts +20 -0
  63. package/dist/components/rating/index.d.ts +2 -0
  64. package/dist/components/search/Search.d.ts +15 -0
  65. package/dist/components/search/Search.types.d.ts +51 -0
  66. package/dist/components/search/index.d.ts +2 -0
  67. package/dist/components/select/Select.d.ts +21 -0
  68. package/dist/components/select/Select.types.d.ts +38 -0
  69. package/dist/components/select/index.d.ts +2 -0
  70. package/dist/components/switch/Switch.d.ts +9 -0
  71. package/dist/components/switch/Switch.types.d.ts +16 -0
  72. package/dist/components/switch/index.d.ts +2 -0
  73. package/dist/components/textarea/Textarea.d.ts +12 -0
  74. package/dist/components/textarea/Textarea.types.d.ts +39 -0
  75. package/dist/components/textarea/index.d.ts +2 -0
  76. package/dist/components/timeago/Timeago.d.ts +3 -0
  77. package/dist/components/timeago/Timeago.types.d.ts +45 -0
  78. package/dist/components/timeago/index.d.ts +2 -0
  79. package/dist/components/tooltip/Tooltip.d.ts +11 -0
  80. package/dist/components/tooltip/Tooltip.types.d.ts +21 -0
  81. package/dist/components/tooltip/index.d.ts +2 -0
  82. package/dist/index.d.ts +31 -0
  83. package/dist/primitives/create-click-outside.d.ts +12 -0
  84. package/dist/primitives/create-interactive-state.d.ts +50 -0
  85. package/dist/primitives/index.d.ts +3 -0
  86. package/dist/types/common.d.ts +19 -0
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/utils/helper.d.ts +3 -0
  89. package/dist/utils/index.d.ts +2 -0
  90. package/dist/utils/merge-props.d.ts +26 -0
  91. package/dist/wire-ui-solid.cjs.js +1 -0
  92. package/dist/wire-ui-solid.es.js +2627 -0
  93. package/package.json +92 -0
@@ -0,0 +1,15 @@
1
+ import { JSX } from 'solid-js';
2
+ import { SearchContentProps, SearchEmptyProps, SearchInputProps, SearchItemProps, SearchRootProps } from './Search.types';
3
+ declare function Root(props: SearchRootProps): JSX.Element;
4
+ declare function Input(props: SearchInputProps): JSX.Element;
5
+ declare function Content(props: SearchContentProps): JSX.Element;
6
+ declare function Item(props: SearchItemProps): JSX.Element;
7
+ declare function Empty(props: SearchEmptyProps): JSX.Element;
8
+ export declare const Search: {
9
+ Root: typeof Root;
10
+ Input: typeof Input;
11
+ Content: typeof Content;
12
+ Item: typeof Item;
13
+ Empty: typeof Empty;
14
+ };
15
+ export {};
@@ -0,0 +1,51 @@
1
+ import { JSX } from 'solid-js';
2
+ export interface SearchOption {
3
+ id: number | string;
4
+ title: string;
5
+ subtitle?: string;
6
+ }
7
+ export interface SearchRootProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
8
+ open?: boolean;
9
+ defaultOpen?: boolean;
10
+ onOpenChange?: (open: boolean) => void;
11
+ value?: string;
12
+ defaultSearchValue?: string;
13
+ onSearchChange?: (value: string) => void;
14
+ onSelect?: (option: SearchOption) => void;
15
+ onSubmitSearch?: () => void;
16
+ loading?: boolean;
17
+ searchDelay?: number;
18
+ children?: JSX.Element;
19
+ class?: string;
20
+ }
21
+ export interface SearchInputProps extends Omit<JSX.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {
22
+ class?: string;
23
+ }
24
+ export interface SearchContentProps extends JSX.HTMLAttributes<HTMLDivElement> {
25
+ children?: JSX.Element;
26
+ class?: string;
27
+ }
28
+ export interface SearchItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'onClick'> {
29
+ option: SearchOption;
30
+ /** Optional click handler — item click already calls onSelect internally */
31
+ onClick?: JSX.EventHandler<HTMLDivElement, MouseEvent>;
32
+ }
33
+ export interface SearchEmptyProps extends JSX.HTMLAttributes<HTMLDivElement> {
34
+ children?: JSX.Element;
35
+ class?: string;
36
+ }
37
+ export interface SearchContextValue {
38
+ readonly open: boolean;
39
+ onOpenChange: (open: boolean) => void;
40
+ readonly searchValue: string;
41
+ onSearchChange: (value: string) => void;
42
+ onSelect: (option: SearchOption) => void;
43
+ readonly loading: boolean;
44
+ readonly highlightedIndex: number;
45
+ setHighlightedIndex: (index: number) => void;
46
+ readonly itemCount: number;
47
+ registerItem: () => number;
48
+ unregisterItem: () => void;
49
+ getInputNode: () => HTMLInputElement | null;
50
+ setInputNode: (node: HTMLInputElement | null) => void;
51
+ }
@@ -0,0 +1,2 @@
1
+ export { Search } from './Search';
2
+ export type { SearchRootProps, SearchInputProps, SearchContentProps, SearchItemProps, SearchEmptyProps, SearchOption, } from './Search.types';
@@ -0,0 +1,21 @@
1
+ import { JSX } from 'solid-js';
2
+ import { SelectContentProps, SelectGroupLabelProps, SelectGroupProps, SelectItemProps, SelectRootProps, SelectSeparatorProps, SelectTriggerProps, SelectValueProps } from './Select.types';
3
+ declare function Root(props: SelectRootProps): JSX.Element;
4
+ declare function Trigger(props: SelectTriggerProps): JSX.Element;
5
+ declare function Value(props: SelectValueProps): JSX.Element;
6
+ declare function Content(props: SelectContentProps): JSX.Element;
7
+ declare function Item(props: SelectItemProps): JSX.Element;
8
+ declare function Separator(props: SelectSeparatorProps): JSX.Element;
9
+ declare function Group(props: SelectGroupProps): JSX.Element;
10
+ declare function GroupLabel(props: SelectGroupLabelProps): JSX.Element;
11
+ export declare const Select: {
12
+ Root: typeof Root;
13
+ Trigger: typeof Trigger;
14
+ Value: typeof Value;
15
+ Content: typeof Content;
16
+ Item: typeof Item;
17
+ Separator: typeof Separator;
18
+ Group: typeof Group;
19
+ GroupLabel: typeof GroupLabel;
20
+ };
21
+ export {};
@@ -0,0 +1,38 @@
1
+ import { JSX } from 'solid-js';
2
+ export interface SelectContextValue {
3
+ readonly open: boolean;
4
+ readonly selectedValue: string;
5
+ readonly selectedLabel: string;
6
+ readonly disabled: boolean;
7
+ setOpen: (open: boolean) => void;
8
+ select: (value: string, label: string) => void;
9
+ registerItem: (value: string, label: string) => void;
10
+ unregisterItem: (value: string) => void;
11
+ }
12
+ export interface SelectRootProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'onChange'> {
13
+ /** Controlled selected value */
14
+ value?: string;
15
+ /** Initial selected value (uncontrolled) */
16
+ defaultValue?: string;
17
+ /** Called when the selection changes */
18
+ onChange?: (value: string) => void;
19
+ /** Disables the entire select */
20
+ disabled?: boolean;
21
+ }
22
+ export type SelectTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement>;
23
+ export interface SelectValueProps extends JSX.HTMLAttributes<HTMLSpanElement> {
24
+ /** Shown when nothing is selected */
25
+ placeholder?: string;
26
+ }
27
+ export type SelectContentProps = JSX.HTMLAttributes<HTMLDivElement>;
28
+ export interface SelectItemProps extends JSX.HTMLAttributes<HTMLDivElement> {
29
+ /** The value submitted on selection */
30
+ value: string;
31
+ /** Override the display label (defaults to string children) */
32
+ textValue?: string;
33
+ /** Disables this specific item */
34
+ disabled?: boolean;
35
+ }
36
+ export type SelectSeparatorProps = JSX.HTMLAttributes<HTMLHRElement>;
37
+ export type SelectGroupProps = JSX.HTMLAttributes<HTMLDivElement>;
38
+ export type SelectGroupLabelProps = JSX.HTMLAttributes<HTMLSpanElement>;
@@ -0,0 +1,2 @@
1
+ export { Select } from './Select';
2
+ export type { SelectRootProps, SelectTriggerProps, SelectValueProps, SelectContentProps, SelectItemProps, SelectSeparatorProps, SelectGroupProps, SelectGroupLabelProps, } from './Select.types';
@@ -0,0 +1,9 @@
1
+ import { JSX } from 'solid-js';
2
+ import { SwitchRootProps, SwitchThumbProps } from './Switch.types';
3
+ declare function Root(props: SwitchRootProps): JSX.Element;
4
+ declare function Thumb(props: SwitchThumbProps): JSX.Element;
5
+ export declare const Switch: {
6
+ Root: typeof Root;
7
+ Thumb: typeof Thumb;
8
+ };
9
+ export {};
@@ -0,0 +1,16 @@
1
+ import { JSX } from 'solid-js';
2
+ export interface SwitchContextValue {
3
+ readonly checked: boolean;
4
+ readonly disabled: boolean;
5
+ }
6
+ export interface SwitchRootProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
7
+ /** Controlled checked state */
8
+ checked?: boolean;
9
+ /** Initial unchecked state (uncontrolled) */
10
+ defaultChecked?: boolean;
11
+ /** Called when the switch is toggled */
12
+ onChange?: (checked: boolean) => void;
13
+ /** Disables the switch */
14
+ disabled?: boolean;
15
+ }
16
+ export type SwitchThumbProps = JSX.HTMLAttributes<HTMLSpanElement>;
@@ -0,0 +1,2 @@
1
+ export { Switch } from './Switch';
2
+ export type { SwitchRootProps, SwitchThumbProps } from './Switch.types';
@@ -0,0 +1,12 @@
1
+ import { TextareaErrorProps, TextareaFieldProps, TextareaLabelProps, TextareaRootProps } from './Textarea.types';
2
+ declare function Root(props: TextareaRootProps): import("solid-js").JSX.Element;
3
+ declare function Field(props: TextareaFieldProps): import("solid-js").JSX.Element;
4
+ declare function Label(props: TextareaLabelProps): import("solid-js").JSX.Element;
5
+ declare function ErrorMessage(props: TextareaErrorProps): import("solid-js").JSX.Element;
6
+ export declare const Textarea: {
7
+ Root: typeof Root;
8
+ Field: typeof Field;
9
+ Label: typeof Label;
10
+ Error: typeof ErrorMessage;
11
+ };
12
+ export {};
@@ -0,0 +1,39 @@
1
+ import { JSX } from 'solid-js';
2
+ export interface TextareaRootProps {
3
+ value?: string;
4
+ defaultValue?: string;
5
+ onChange?: (value: string) => void;
6
+ onFocus?: () => void;
7
+ onBlur?: () => void;
8
+ /** Set by the consumer to show an error state. Use the key in errorMessage to display the message. */
9
+ invalidType?: string;
10
+ errorMessage?: Record<string, string>;
11
+ isRequired?: boolean;
12
+ isSuccess?: boolean;
13
+ id?: string;
14
+ children?: JSX.Element;
15
+ class?: string;
16
+ }
17
+ export interface TextareaFieldProps extends Omit<JSX.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'onChange'> {
18
+ class?: string;
19
+ }
20
+ export interface TextareaLabelProps {
21
+ children?: JSX.Element;
22
+ class?: string;
23
+ }
24
+ export interface TextareaErrorProps {
25
+ children?: JSX.Element;
26
+ class?: string;
27
+ }
28
+ export interface TextareaContextValue {
29
+ readonly value: string;
30
+ readonly textareaId: string;
31
+ readonly isActive: boolean;
32
+ readonly invalidType: string;
33
+ readonly isSuccess: boolean;
34
+ readonly isRequired: boolean;
35
+ readonly errorMessage: Record<string, string>;
36
+ handleChange: (value: string) => void;
37
+ handleFocus: () => void;
38
+ handleBlur: () => void;
39
+ }
@@ -0,0 +1,2 @@
1
+ export { Textarea } from './Textarea';
2
+ export type { TextareaRootProps, TextareaFieldProps, TextareaLabelProps, TextareaErrorProps, } from './Textarea.types';
@@ -0,0 +1,3 @@
1
+ import { TimeagoProps } from './Timeago.types';
2
+ declare function Timeago(props: TimeagoProps): import("solid-js").JSX.Element;
3
+ export { Timeago };
@@ -0,0 +1,45 @@
1
+ import { JSX } from 'solid-js';
2
+ /** Format configuration for timeago display. */
3
+ export interface TimeagoFormatConfig {
4
+ /** Text to display for "just now". */
5
+ just: string;
6
+ /** Template for past time (use #time placeholder). */
7
+ past: string;
8
+ /** Template for today's time (use #time placeholder). */
9
+ today: string;
10
+ /** Second format templates. */
11
+ second: {
12
+ one: string;
13
+ other: string;
14
+ };
15
+ /** Minute format templates. */
16
+ minute: {
17
+ one: string;
18
+ other: string;
19
+ };
20
+ /** Hour format templates. */
21
+ hour: {
22
+ one: string;
23
+ other: string;
24
+ };
25
+ /** Array of day names (Sunday to Saturday). */
26
+ days: string[];
27
+ /** Array of month names (January to December). */
28
+ months: string[];
29
+ }
30
+ /** Plural form type. */
31
+ export type TimeagoPlural = 'one' | 'other';
32
+ export interface TimeagoProps extends JSX.HTMLAttributes<HTMLTimeElement> {
33
+ /** The date/time to display. */
34
+ datetime: string | Date | number;
35
+ /** Enable live updates. */
36
+ isLive?: boolean;
37
+ /** Display time as duration. */
38
+ isDuration?: boolean;
39
+ /** Display only the time portion (HH:MM format) without date information. */
40
+ timeOnly?: boolean;
41
+ /** Custom format configuration. */
42
+ format?: TimeagoFormatConfig;
43
+ /** Function to determine pluralization form. */
44
+ pluralize?: (n: number) => TimeagoPlural;
45
+ }
@@ -0,0 +1,2 @@
1
+ export { Timeago } from './Timeago';
2
+ export type { TimeagoProps, TimeagoFormatConfig, TimeagoPlural } from './Timeago.types';
@@ -0,0 +1,11 @@
1
+ import { JSX } from 'solid-js';
2
+ import { TooltipContentProps, TooltipRootProps, TooltipTriggerProps } from './Tooltip.types';
3
+ declare function Root(props: TooltipRootProps): JSX.Element;
4
+ declare function Trigger(props: TooltipTriggerProps): JSX.Element;
5
+ declare function Content(props: TooltipContentProps): JSX.Element;
6
+ export declare const Tooltip: {
7
+ Root: typeof Root;
8
+ Trigger: typeof Trigger;
9
+ Content: typeof Content;
10
+ };
11
+ export {};
@@ -0,0 +1,21 @@
1
+ import { JSX } from 'solid-js';
2
+ export interface TooltipContextValue {
3
+ readonly open: boolean;
4
+ setOpen: (open: boolean) => void;
5
+ }
6
+ export interface TooltipRootProps {
7
+ /** Controlled open state */
8
+ open?: boolean;
9
+ /** Initial open state (uncontrolled) */
10
+ defaultOpen?: boolean;
11
+ /** Called when open state changes */
12
+ onOpenChange?: (open: boolean) => void;
13
+ /** Delay in ms before showing tooltip on hover */
14
+ delayDuration?: number;
15
+ children?: JSX.Element;
16
+ }
17
+ export type TooltipTriggerProps = JSX.HTMLAttributes<HTMLSpanElement>;
18
+ export interface TooltipContentProps extends JSX.HTMLAttributes<HTMLSpanElement> {
19
+ /** Which side to render the tooltip relative to the trigger */
20
+ side?: 'top' | 'bottom' | 'left' | 'right';
21
+ }
@@ -0,0 +1,2 @@
1
+ export { Tooltip } from './Tooltip';
2
+ export type { TooltipRootProps, TooltipTriggerProps, TooltipContentProps } from './Tooltip.types';
@@ -0,0 +1,31 @@
1
+ export { Accordion, Alert, Avatar, Badge, Button, Card, Checkbox, Divider, Drawer, Dropdown, Icon, Image, Input, List, Modal, OTP, Password, ProgressBar, Radio, Rating, Search, Select, Switch, Textarea, Timeago, Tooltip, } from './components';
2
+ export { iconNames, iconSizes } from './components/icon';
3
+ export { createClickOutside, createInteractiveState } from './primitives';
4
+ export type { InteractiveStateOptions, InteractiveStateResult } from './primitives';
5
+ export type { Size, Status, HorizontalPosition, BaseFormFieldProps, BaseOption } from './types';
6
+ export type { AccordionRootProps, AccordionRootSingleProps, AccordionRootMultipleProps, AccordionItemProps, AccordionTriggerProps, AccordionContentProps, } from './components/accordion';
7
+ export type { AlertRootProps, AlertTitleProps, AlertDescriptionProps, AlertDismissProps } from './components/alert';
8
+ export type { AvatarRootProps, AvatarImageProps, AvatarFallbackProps, AvatarImageStatus, } from './components/avatar';
9
+ export type { BadgeProps } from './components/badge';
10
+ export type { ButtonProps } from './components/button';
11
+ export type { CardProps } from './components/card';
12
+ export type { CheckboxRootProps, CheckboxItemProps, CheckboxIndicatorProps, CheckboxLabelProps, } from './components/checkbox';
13
+ export type { DividerProps } from './components/divider';
14
+ export type { DrawerRootProps, DrawerPortalProps, DrawerOverlayProps, DrawerContentProps, DrawerHeaderProps, DrawerCloseProps, } from './components/drawer';
15
+ export type { DropdownRootProps, DropdownTriggerProps, DropdownMenuProps, DropdownPosition, } from './components/dropdown';
16
+ export type { IconName, IconSize, IconProps } from './components/icon';
17
+ export type { ImageProps } from './components/image';
18
+ export type { InputRootProps, InputFieldProps, InputLabelProps, InputErrorProps } from './components/input';
19
+ export type { ListProps } from './components/list';
20
+ export type { ModalRootProps, ModalPortalProps, ModalOverlayProps, ModalContentProps, ModalCloseProps, } from './components/modal';
21
+ export type { OTPRootProps, OTPSlotProps, OTPSeparatorProps } from './components/otp';
22
+ export type { PasswordRootProps, PasswordFieldProps, PasswordToggleProps, PasswordLabelProps, PasswordErrorProps, } from './components/password';
23
+ export type { ProgressBarProps } from './components/progress-bar';
24
+ export type { RadioRootProps, RadioItemProps, RadioIndicatorProps, RadioLabelProps } from './components/radio';
25
+ export type { RatingProps } from './components/rating';
26
+ export type { SearchRootProps, SearchInputProps, SearchContentProps, SearchItemProps, SearchEmptyProps, SearchOption, } from './components/search';
27
+ export type { SelectRootProps, SelectTriggerProps, SelectValueProps, SelectContentProps, SelectItemProps, SelectSeparatorProps, SelectGroupProps, SelectGroupLabelProps, } from './components/select';
28
+ export type { SwitchRootProps, SwitchThumbProps } from './components/switch';
29
+ export type { TextareaRootProps, TextareaFieldProps, TextareaLabelProps, TextareaErrorProps, } from './components/textarea';
30
+ export type { TimeagoProps, TimeagoFormatConfig, TimeagoPlural } from './components/timeago';
31
+ export type { TooltipRootProps, TooltipTriggerProps, TooltipContentProps } from './components/tooltip';
@@ -0,0 +1,12 @@
1
+ import { Accessor } from 'solid-js';
2
+ /**
3
+ * Fires `callback` when a click or touchstart occurs outside the referenced
4
+ * element. Pass an accessor that returns the element so the listener picks up
5
+ * ref changes.
6
+ *
7
+ * @example
8
+ * let rootEl: HTMLDivElement | undefined;
9
+ * createClickOutside(() => rootEl, () => setOpen(false));
10
+ * return <div ref={rootEl}>...</div>;
11
+ */
12
+ export declare function createClickOutside(elementRef: Accessor<HTMLElement | undefined | null>, callback: (event: MouseEvent | TouchEvent) => void): void;
@@ -0,0 +1,50 @@
1
+ import { Accessor, JSX } from 'solid-js';
2
+ export interface InteractiveStateOptions {
3
+ disabled?: boolean;
4
+ }
5
+ export interface InteractiveStateResult {
6
+ /** Spread onto the element to wire up interaction tracking */
7
+ handlers: {
8
+ onMouseEnter: () => void;
9
+ onMouseLeave: () => void;
10
+ onFocus: JSX.FocusEventHandler<Element, FocusEvent>;
11
+ onBlur: () => void;
12
+ onPointerDown: () => void;
13
+ onPointerUp: () => void;
14
+ onKeyDown: JSX.EventHandler<Element, KeyboardEvent>;
15
+ onKeyUp: JSX.EventHandler<Element, KeyboardEvent>;
16
+ };
17
+ /** Spread onto the element to apply state as data attributes (reactive). */
18
+ dataAttributes: {
19
+ readonly 'data-hover'?: '';
20
+ readonly 'data-focus-visible'?: '';
21
+ readonly 'data-active'?: '';
22
+ readonly 'data-disabled'?: '';
23
+ };
24
+ /** Reactive accessors for programmatic use */
25
+ isHovered: Accessor<boolean>;
26
+ isFocusVisible: Accessor<boolean>;
27
+ isActive: Accessor<boolean>;
28
+ }
29
+ /**
30
+ * Tracks interactive state (hover, focus-visible, active/pressed) for any element.
31
+ *
32
+ * Returns event handlers to wire onto the element and matching data attributes
33
+ * to apply to the DOM — so consumers can style states with CSS selectors like
34
+ * `[data-hover]`, `[data-focus-visible]`, `[data-active]`, `[data-disabled]`.
35
+ *
36
+ * Unlike libraries that expose `data-focus` (any focus), wire-ui uses
37
+ * `data-focus-visible` which only applies when focus originates from keyboard
38
+ * navigation — mirroring the CSS `:focus-visible` pseudo-class behaviour
39
+ * detected via `element.matches(':focus-visible')`.
40
+ *
41
+ * Pass `options` as a plain object or — to make `disabled` reactive — pass an
42
+ * object with a getter (e.g. `{ get disabled() { return props.disabled; } }`).
43
+ *
44
+ * @example
45
+ * function MyCard(props: { disabled?: boolean }) {
46
+ * const state = createInteractiveState({ get disabled() { return props.disabled; } });
47
+ * return <div {...state.handlers} {...state.dataAttributes} />;
48
+ * }
49
+ */
50
+ export declare function createInteractiveState(options?: InteractiveStateOptions): InteractiveStateResult;
@@ -0,0 +1,3 @@
1
+ export { createClickOutside } from './create-click-outside';
2
+ export { createInteractiveState } from './create-interactive-state';
3
+ export type { InteractiveStateOptions, InteractiveStateResult } from './create-interactive-state';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Common Types
3
+ *
4
+ * Shared, generic type definitions used across multiple components.
5
+ */
6
+ export type Size = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
7
+ export type Status = 'success' | 'warning' | 'danger';
8
+ export type HorizontalPosition = 'left' | 'right' | 'center';
9
+ export interface BaseFormFieldProps {
10
+ errorMessage?: Record<string, string>;
11
+ isRequired?: boolean;
12
+ label?: string | null;
13
+ }
14
+ export interface BaseOption {
15
+ id: string | number;
16
+ value: string | number;
17
+ label: string;
18
+ disabled?: boolean;
19
+ }
@@ -0,0 +1 @@
1
+ export type { Size, Status, HorizontalPosition, BaseFormFieldProps, BaseOption } from './common';
@@ -0,0 +1,3 @@
1
+ export declare const Helper: {
2
+ generateUUID(): string;
3
+ };
@@ -0,0 +1,2 @@
1
+ export { Helper } from './helper';
2
+ export { mergeProps } from './merge-props';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Merges two prop objects together while preserving Solid's reactivity.
3
+ *
4
+ * - For function values (event handlers), both functions are composed so that
5
+ * both are called when the merged handler fires. The consumer's handler (`a`)
6
+ * fires first, then the internal one (`b`).
7
+ * - For all other values, `b` takes precedence over `a` (when defined).
8
+ *
9
+ * Returns a Proxy so accesses always read the current value from each source —
10
+ * critical because Solid props are reactive Proxies (via `splitProps` /
11
+ * `props`). A plain spread would snapshot values at component setup time and
12
+ * lose reactivity.
13
+ *
14
+ * Note: this differs from `mergeProps` exported by `solid-js`, which simply
15
+ * lets later sources override earlier — it does *not* compose function
16
+ * handlers. We need composition so that a consumer-provided `onMouseEnter`
17
+ * does not silently replace the internal hover-tracking handler.
18
+ *
19
+ * @example
20
+ * const merged = mergeProps(
21
+ * { onMouseEnter: () => console.log('consumer') },
22
+ * { onMouseEnter: () => setIsHovered(true) }
23
+ * );
24
+ * // merged.onMouseEnter() → logs 'consumer', then sets hover state
25
+ */
26
+ export declare function mergeProps<A extends Record<string, unknown>, B extends Record<string, unknown>>(a: A, b: B): A & B;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`solid-js/web`),t=require(`solid-js`);function n(e={}){let n=(0,t.mergeProps)({disabled:!1},e),[r,i]=(0,t.createSignal)(!1),[a,o]=(0,t.createSignal)(!1),[s,c]=(0,t.createSignal)(!1);return{handlers:{onMouseEnter:()=>{n.disabled||i(!0)},onMouseLeave:()=>{i(!1),c(!1)},onFocus:e=>{e.currentTarget.matches(`:focus-visible`)&&o(!0)},onBlur:()=>{o(!1),c(!1)},onPointerDown:()=>{n.disabled||c(!0)},onPointerUp:()=>{c(!1)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&!n.disabled&&c(!0)},onKeyUp:e=>{(e.key===` `||e.key===`Enter`)&&c(!1)}},dataAttributes:{get"data-hover"(){return r()?``:void 0},get"data-focus-visible"(){return a()?``:void 0},get"data-active"(){return s()?``:void 0},get"data-disabled"(){return n.disabled?``:void 0}},isHovered:r,isFocusVisible:a,isActive:s}}function r(e,t){return new Proxy({},{get(n,r){if(typeof r==`symbol`)return;let i=e[r],a=t[r];return typeof i==`function`&&typeof a==`function`?(...e)=>{i(...e),a(...e)}:a===void 0?i:a},has(n,r){return typeof r==`symbol`?!1:r in e||r in t},ownKeys(){return[...new Set([...Object.keys(e),...Object.keys(t)])]},getOwnPropertyDescriptor(n,r){if(typeof r!=`symbol`&&(r in e||r in t))return{enumerable:!0,configurable:!0}}})}var i=(0,e.template)(`<div>`),a=(0,e.template)(`<button type=button>`),o=(0,e.template)(`<div role=region>`),s=(0,t.createContext)(null),c=(0,t.createContext)(null);function l(){let e=(0,t.useContext)(s);if(!e)throw Error(`Accordion sub-components must be used within Accordion.Root`);return e}function u(){let e=(0,t.useContext)(c);if(!e)throw Error(`Accordion.Trigger/Content must be used within Accordion.Item`);return e}function d(n){let[r,a]=(0,t.splitProps)(n,[`type`,`value`,`defaultValue`,`onChange`,`disabled`,`collapsible`,`class`,`children`]),[o,c]=(0,t.createSignal)((()=>{let e=r.defaultValue;return r.type===`single`?e?[e]:[]:(e??[]).slice()})()),l=()=>r.value!==void 0,u=()=>{if(!l())return o();let e=r.value;return r.type===`single`?e?[e]:[]:e??[]};return(0,e.createComponent)(s.Provider,{value:{isOpen:e=>u().includes(e),toggle:e=>{let t=u();if(r.type===`single`){let n=!!r.collapsible,i=t[0]===e,a;a=i?n?[]:t.length?[t[0]]:[]:[e],l()||c(a),r.onChange?.(a[0]??``)}else{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];l()||c(n),r.onChange?.(n)}},get disabled(){return r.disabled??!1}},get children(){var t=i();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},a),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function f(n){let[r,a]=(0,t.splitProps)(n,[`value`,`disabled`,`class`,`children`]),o=l(),s=()=>!!r.disabled||o.disabled,u=()=>o.isOpen(r.value);return(0,e.createComponent)(c.Provider,{value:{get value(){return r.value},get isOpen(){return u()},get disabled(){return s()}},get children(){var t=i();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-state"(){return u()?`open`:`closed`},get"data-disabled"(){return s()?``:void 0}},a),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function p(i){let[o,s]=(0,t.splitProps)(i,[`children`,`class`,`onClick`]),c=u(),d=l(),f=n({get disabled(){return c.disabled}}),p=r(s,f.handlers),m=e=>{d.toggle(c.value);let t=o.onClick;typeof t==`function`&&t(e)};return(()=>{var t=a();return(0,e.spread)(t,(0,e.mergeProps)({get disabled(){return c.disabled},get"aria-expanded"(){return c.isOpen},get"data-state"(){return c.isOpen?`open`:`closed`},get"data-disabled"(){return c.disabled?``:void 0},get class(){return o.class}},()=>f.dataAttributes,p,{onClick:m}),!1,!0),(0,e.insert)(t,()=>o.children),t})()}function m(n){let[r,i]=(0,t.splitProps)(n,[`forceMount`,`class`,`children`]),a=u();return(0,e.createComponent)(t.Show,{get when(){return a.isOpen||r.forceMount},get children(){var t=o();return(0,e.spread)(t,(0,e.mergeProps)({get hidden(){return r.forceMount&&!a.isOpen?!0:void 0},get class(){return r.class},get"data-state"(){return a.isOpen?`open`:`closed`}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}var h={Root:d,Item:f,Trigger:p,Content:m},g=(0,e.template)(`<div role=alert>`),_=(0,e.template)(`<p data-part=title>`),v=(0,e.template)(`<p data-part=description>`),y=(0,e.template)(`<button type=button aria-label=Dismiss>`),b=(0,t.createContext)(null);function x(){let e=(0,t.useContext)(b);if(!e)throw Error(`[wire-ui] Alert sub-components must be used inside <Alert.Root>`);return e}function S(n){let[r,i]=(0,t.splitProps)(n,[`status`,`isAutoDismissable`,`dismissCountdown`,`onDismiss`,`children`]),[a,o]=(0,t.createSignal)(!1),s=()=>{o(!0),r.onDismiss?.()};(0,t.createEffect)(()=>{if(!r.isAutoDismissable)return;let e=setTimeout(s,r.dismissCountdown??3e3);(0,t.onCleanup)(()=>clearTimeout(e))});let c={get status(){return r.status},dismiss:s};return(0,e.createComponent)(t.Show,{get when(){return!a()},get children(){return(0,e.createComponent)(b.Provider,{value:c,get children(){var t=g();return(0,e.spread)(t,(0,e.mergeProps)({get"data-status"(){return r.status}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}})}function C(n){let[r,i]=(0,t.splitProps)(n,[`children`]);return(()=>{var t=_();return(0,e.spread)(t,i,!1,!0),(0,e.insert)(t,()=>r.children),t})()}function ee(n){let[r,i]=(0,t.splitProps)(n,[`children`]);return(()=>{var t=v();return(0,e.spread)(t,i,!1,!0),(0,e.insert)(t,()=>r.children),t})()}function te(i){let[a,o]=(0,t.splitProps)(i,[`children`,`onClick`]),s=x(),c=n(),l=r(o,c.handlers),u=e=>{s.dismiss();let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=y();return(0,e.spread)(t,(0,e.mergeProps)(()=>c.dataAttributes,l,{onClick:u}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}var ne={Root:S,Title:C,Description:ee,Dismiss:te},re=(0,e.template)(`<div>`),ie=(0,e.template)(`<img>`),ae=(0,e.template)(`<span>`),w=(0,t.createContext)(null);function T(){let e=(0,t.useContext)(w);if(!e)throw Error(`[wire-ui] Avatar sub-components must be used inside <Avatar.Root>`);return e}function E(n){let[r,i]=(0,t.splitProps)(n,[`children`]),[a,o]=(0,t.createSignal)(`loading`),s={get imageStatus(){return a()},setImageStatus:o};return(0,e.createComponent)(w.Provider,{value:s,get children(){var t=re();return(0,e.spread)(t,(0,e.mergeProps)({get"data-status"(){return a()}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function oe(n){let[r,i]=(0,t.splitProps)(n,[`src`,`onLoad`,`onError`,`style`]),a=T();(0,t.createEffect)(()=>{r.src?a.setImageStatus(`loading`):a.setImageStatus(`error`)});let o=()=>{let e=a.imageStatus===`loaded`?{}:{display:`none`},t=r.style;return typeof t==`string`||!t?e:{...e,...t}},s=e=>{a.setImageStatus(`loaded`);let t=r.onLoad;typeof t==`function`&&t(e)},c=e=>{a.setImageStatus(`error`);let t=r.onError;typeof t==`function`&&t(e)};return(0,e.createComponent)(t.Show,{get when(){return r.src},get children(){var t=ie();return t.addEventListener(`error`,c),t.addEventListener(`load`,s),(0,e.spread)(t,(0,e.mergeProps)({get src(){return r.src},get"data-status"(){return a.imageStatus},get style(){return o()}},i),!1,!1),t}})}function se(n){let[r,i]=(0,t.splitProps)(n,[`delayMs`,`children`]),a=T(),o=()=>r.delayMs??0,[s,c]=(0,t.createSignal)(o()===0);return(0,t.createEffect)(()=>{let e=o();if(e>0){let n=setTimeout(()=>c(!0),e);(0,t.onCleanup)(()=>clearTimeout(n))}}),(0,e.createComponent)(t.Show,{get when(){return(0,e.memo)(()=>a.imageStatus!==`loaded`)()&&s()},get children(){var t=ae();return(0,e.spread)(t,i,!1,!0),(0,e.insert)(t,()=>r.children),t}})}var ce=Object.assign(E,{Root:E,Image:oe,Fallback:se}),le=(0,e.template)(`<span>`);function ue(n){let[r,i]=(0,t.splitProps)(n,[`count`,`class`]),a=()=>r.count??0,o=()=>{let e=a();return e>0?e>9?`9+`:e:0};return(()=>{var t=le();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-count"(){return a()}},i),!1,!0),(0,e.insert)(t,o),t})()}var de=(0,e.template)(`<button>`);function fe(i){let[a,o]=(0,t.splitProps)(i,[`asChild`,`disabled`,`autofocus`,`type`,`class`,`children`,`onClick`]),s=n({get disabled(){return!!a.disabled}}),c=r(o,s.handlers);if(a.asChild){let e=(0,t.children)(()=>a.children);return(0,t.createEffect)(()=>{let t=e();if(!(t instanceof HTMLElement))return;let n=(e,n)=>{n?t.setAttribute(e,``):t.removeAttribute(e)};n(`data-disabled`,!!a.disabled),n(`data-autofocus`,!!a.autofocus),n(`data-hover`,s.isHovered()),n(`data-focus-visible`,s.isFocusVisible()),n(`data-active`,s.isActive())}),(0,t.createEffect)(()=>{let n=e();if(!(n instanceof HTMLElement))return;let r=()=>s.handlers.onMouseEnter(),i=()=>s.handlers.onMouseLeave(),a=()=>s.handlers.onPointerDown(),o=()=>s.handlers.onPointerUp(),c=e=>s.handlers.onFocus(e),l=()=>s.handlers.onBlur(),u=e=>s.handlers.onKeyDown(e),d=e=>s.handlers.onKeyUp(e);n.addEventListener(`mouseenter`,r),n.addEventListener(`mouseleave`,i),n.addEventListener(`pointerdown`,a),n.addEventListener(`pointerup`,o),n.addEventListener(`focus`,c),n.addEventListener(`blur`,l),n.addEventListener(`keydown`,u),n.addEventListener(`keyup`,d),(0,t.onCleanup)(()=>{n.removeEventListener(`mouseenter`,r),n.removeEventListener(`mouseleave`,i),n.removeEventListener(`pointerdown`,a),n.removeEventListener(`pointerup`,o),n.removeEventListener(`focus`,c),n.removeEventListener(`blur`,l),n.removeEventListener(`keydown`,u),n.removeEventListener(`keyup`,d)})}),e()}let l=e=>{let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=de();return(0,e.spread)(t,(0,e.mergeProps)({get type(){return a.type??`button`},get disabled(){return a.disabled},get autofocus(){return a.autofocus},get"data-autofocus"(){return a.autofocus?``:void 0},get class(){return a.class}},()=>s.dataAttributes,c,{onClick:l}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}var pe=(0,e.template)(`<div>`);function me(n){let[r,i]=(0,t.splitProps)(n,[`color`,`size`,`class`,`children`]);return(()=>{var t=pe();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-color"(){return r.color},get"data-size"(){return r.size}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}var D={generateUUID(){let e=`abcdefghijklmnopqrstuvwxyz`[Math.floor(Math.random()*26)],t=new Date().getTime();return`${e}${Math.random().toString(32).substring(2)}${t}`}},he=(0,e.template)(`<div role=group>`),ge=(0,e.template)(`<div><input type=checkbox style=position:absolute;opacity:0;pointer-events:none;width:0;height:0>`),_e=(0,e.template)(`<span data-checked>`),ve=(0,e.template)(`<label>`),ye=(0,t.createContext)(null),be=(0,t.createContext)(null);function xe(){let e=(0,t.useContext)(ye);if(!e)throw Error(`Checkbox compound components must be used within Checkbox.Root`);return e}function Se(){let e=(0,t.useContext)(be);if(!e)throw Error(`Checkbox.Indicator/Label must be used within Checkbox.Item`);return e}function Ce(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`name`,`children`,`class`]),[a,o]=(0,t.createSignal)(r.defaultValue??[]),s=()=>r.value!==void 0,c=()=>s()?r.value??[]:a(),l=(0,t.createMemo)(()=>r.name||D.generateUUID());return(0,e.createComponent)(ye.Provider,{value:{get values(){return c()},get name(){return l()},toggle:e=>{let t=[...c()],n=t.findIndex(t=>String(t)===String(e));n===-1?t.push(e):t.splice(n,1),s()||o(t),r.onChange?.(t)},isChecked:e=>c().some(t=>String(t)===String(e))},get children(){var t=he();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function we(r){let[i,a]=(0,t.splitProps)(r,[`value`,`disabled`,`children`,`class`,`onClick`]),o=xe(),s=()=>o.isChecked(i.value),c=()=>!!i.disabled,l=n({get disabled(){return c()}}),u={get value(){return i.value},get disabled(){return c()},get checked(){return s()}},d=e=>{c()||o.toggle(i.value);let t=i.onClick;typeof t==`function`&&t(e)};return(0,e.createComponent)(be.Provider,{value:u,get children(){var t=ge(),n=t.firstChild;return(0,e.spread)(t,(0,e.mergeProps)({get class(){return i.class},get"data-checked"(){return s()?``:void 0}},()=>l.dataAttributes,{get onMouseEnter(){return l.handlers.onMouseEnter},get onMouseLeave(){return l.handlers.onMouseLeave},get onPointerDown(){return l.handlers.onPointerDown},get onPointerUp(){return l.handlers.onPointerUp},onClick:d},a),!1,!0),(0,e.addEventListener)(n,`keyup`,l.handlers.onKeyUp,!0),(0,e.addEventListener)(n,`keydown`,l.handlers.onKeyDown,!0),(0,e.addEventListener)(n,`blur`,l.handlers.onBlur),(0,e.addEventListener)(n,`focus`,l.handlers.onFocus),n.addEventListener(`change`,()=>o.toggle(i.value)),(0,e.insert)(t,()=>i.children,null),(0,e.effect)(t=>{var r=o.name,i=c();return r!==t.e&&(0,e.setAttribute)(n,`name`,t.e=r),i!==t.t&&(n.disabled=t.t=i),t},{e:void 0,t:void 0}),(0,e.effect)(()=>n.value=String(i.value)),(0,e.effect)(()=>n.checked=s()),t}})}function Te(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=Se();return(0,e.createComponent)(t.Show,{get when(){return a.checked},get children(){var t=_e();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Ee(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=Se();return(()=>{var t=ve();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-disabled"(){return a.disabled?``:void 0}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}var De={Root:Ce,Item:we,Indicator:Te,Label:Ee};(0,e.delegateEvents)([`keydown`,`keyup`]);var Oe=(0,e.template)(`<div>`);function ke(n){let[r,i]=(0,t.splitProps)(n,[`orientation`,`decorative`]),a=()=>r.orientation??`horizontal`,o=()=>r.decorative??!0;return(()=>{var t=Oe();return(0,e.spread)(t,(0,e.mergeProps)({get"data-orientation"(){return a()},get role(){return o()?`none`:`separator`},get"aria-hidden"(){return o()?!0:void 0},get"aria-orientation"(){return(0,e.memo)(()=>!o())()?a():void 0}},i),!1,!1),t})()}var Ae=(0,e.template)(`<div>`),je=(0,e.template)(`<div role=dialog aria-modal=true>`),Me=(0,e.template)(`<button type=button>`),Ne=(0,t.createContext)(null);function O(){let e=(0,t.useContext)(Ne);if(!e)throw Error(`Drawer compound components must be used within Drawer.Root`);return e}function Pe(n){let[r,i]=(0,t.createSignal)(n.defaultOpen??!1),a=()=>n.open!==void 0,o=()=>a()?!!n.open:r(),s=e=>{a()||i(e),n.onOpenChange?.(e)};(0,t.createEffect)(()=>{let e=e=>{e.key===`Escape`&&o()&&s(!1)};window.addEventListener(`keydown`,e),(0,t.onCleanup)(()=>window.removeEventListener(`keydown`,e))});let c={get open(){return o()},onOpenChange:s};return(0,e.createComponent)(Ne.Provider,{value:c,get children(){return n.children}})}function Fe(n){let r=O();return(0,e.createComponent)(t.Show,{get when(){return r.open},get children(){return(0,e.createComponent)(e.Portal,{get mount(){return n.container},get children(){return n.children}})}})}function Ie(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`,`onClick`]),a=O(),o=e=>{a.onOpenChange(!1);let t=r.onClick;typeof t==`function`&&t(e)};return(()=>{var t=Ae();return t.$$click=o,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-state"(){return a.open?`open`:`closed`}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}function Le(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`,`onClick`]),a=O(),o=e=>{e.stopPropagation();let t=r.onClick;typeof t==`function`&&t(e)};return(()=>{var t=je();return t.$$click=o,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-state"(){return a.open?`open`:`closed`}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}function Re(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]);return(()=>{var t=Ae();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}function ze(i){let[a,o]=(0,t.splitProps)(i,[`children`,`class`,`onClick`]),s=O(),c=n(),l=r(o,c.handlers),u=e=>{s.onOpenChange(!1);let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=Me();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return a.class}},()=>c.dataAttributes,l,{onClick:u}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}var Be={Root:Pe,Portal:Fe,Overlay:Ie,Content:Le,Header:Re,Close:ze};(0,e.delegateEvents)([`click`]);function k(e,n){(0,t.onMount)(()=>{let r=t=>{let r=e();r&&!r.contains(t.target)&&n(t)};document.addEventListener(`click`,r),document.addEventListener(`touchstart`,r),(0,t.onCleanup)(()=>{document.removeEventListener(`click`,r),document.removeEventListener(`touchstart`,r)})})}var Ve=(0,e.template)(`<div>`),He=(0,e.template)(`<button type=button>`),Ue=(0,e.template)(`<div role=menu>`),A=(0,t.createContext)(null);function j(){let e=(0,t.useContext)(A);if(!e)throw Error(`Dropdown compound components must be used within Dropdown.Root`);return e}function We(n){let[r,i]=(0,t.splitProps)(n,[`open`,`defaultOpen`,`onOpenChange`,`children`,`class`]),[a,o]=(0,t.createSignal)(r.defaultOpen??!1),s=()=>r.open!==void 0,c=()=>s()?!!r.open:a(),l=e=>{s()||o(e),r.onOpenChange?.(e)},u;k(()=>u,()=>{c()&&l(!1)}),(0,t.createEffect)(()=>{let e=e=>{e.key===`Escape`&&c()&&l(!1)};window.addEventListener(`keyup`,e),(0,t.onCleanup)(()=>window.removeEventListener(`keyup`,e))});let d={get open(){return c()},onOpenChange:l};return(0,e.createComponent)(A.Provider,{value:d,get children(){var t=Ve(),n=u;return typeof n==`function`?(0,e.use)(n,t):u=t,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Ge(i){let[a,o]=(0,t.splitProps)(i,[`children`,`class`,`onClick`]),s=j(),c=n(),l=r(o,c.handlers),u=e=>{s.onOpenChange(!s.open);let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=He();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return a.class},get"aria-expanded"(){return s.open},get"data-state"(){return s.open?`open`:`closed`}},()=>c.dataAttributes,l,{onClick:u}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}function Ke(n){let[r,i]=(0,t.splitProps)(n,[`position`,`children`,`class`]),a=j();return(0,e.createComponent)(t.Show,{get when(){return a.open},get children(){var t=Ue();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-state"(){return a.open?`open`:`closed`},get"data-position"(){return r.position}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}var qe={Root:We,Trigger:Ge,Menu:Ke},Je=(0,e.template)(`<svg role=img>`);function Ye(e){return{viewBox:e.match(/viewBox="([^"]+)"/i)?.[1]??`0 0 24 24`,content:e.replace(/^[\s\S]*?<svg[^>]*>/i,``).replace(/<\/svg>\s*$/i,``)}}function Xe(n){let[r,i]=(0,t.splitProps)(n,[`type`,`size`,`label`,`icons`,`class`]),a=()=>r.icons?.[r.type],o=()=>{let e=a();return e?Ye(e):null},s=()=>!r.label;return(0,e.createComponent)(t.Show,{get when(){return o()},children:t=>(()=>{var n=Je();return(0,e.spread)(n,(0,e.mergeProps)({get class(){return r.class},get viewBox(){return t().viewBox},get"aria-label"(){return r.label},get"aria-hidden"(){return s()?`true`:void 0}},{focusable:`false`},{get"data-name"(){return r.type},get"data-size"(){return r.size},get innerHTML(){return t().content}},i),!0,!1),n})()})}var Ze=`alert.arrow-down.arrow-left.arrow-right.attachment.audio-file.bullet-points.call-end.call-ingoing.call.caret-down.chat-bubble.chat-widget.close-circle.csv-file.doc-file.double-chevron-down.edit.emoji.envelope.export.filter-funnel.generic-file.home.menu.message.missed-chat.mute.pdf-file.plus.popout.search.searches.send.share-screen.text-file.thumbs-down.thumbs-up.user.video-call-off.video-call-on.video-file.volume-down.volume-up.warning-triangle.x`.split(`.`),Qe=[`xsmall`,`small`,`medium`,`large`,`xlarge`,`xxlarge`],$e=(0,e.template)(`<div data-part=loader>`),et=(0,e.template)(`<div><img data-part=image>`);function tt(n){let[r,i]=(0,t.splitProps)(n,[`src`,`alt`,`position`,`onImageLoaded`,`class`]),[a,o]=(0,t.createSignal)(!1),s=()=>{o(!0),r.onImageLoaded?.()},c=()=>{o(!0),r.onImageLoaded?.()};return(()=>{var n=et(),o=n.firstChild;return(0,e.spread)(n,(0,e.mergeProps)({get class(){return r.class},get"data-position"(){return r.position}},i),!1,!0),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return!a()},get children(){return $e()}}),o),o.addEventListener(`error`,c),o.addEventListener(`load`,s),(0,e.effect)(t=>{var n=r.src,i=r.alt,s=a()?``:void 0,c=a()?void 0:{display:`none`};return n!==t.e&&(0,e.setAttribute)(o,`src`,t.e=n),i!==t.t&&(0,e.setAttribute)(o,`alt`,t.t=i),s!==t.a&&(0,e.setAttribute)(o,`data-loaded`,t.a=s),t.o=(0,e.style)(o,c,t.o),t},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}var nt=(0,e.template)(`<div>`),rt=(0,e.template)(`<input>`),it=(0,e.template)(`<span>*`),at=(0,e.template)(`<label>`),ot=(0,e.template)(`<small role=alert>`),M=(0,t.createContext)(null);function N(){let e=(0,t.useContext)(M);if(!e)throw Error(`Input compound components must be used within Input.Root`);return e}function st(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`onFocus`,`onBlur`,`invalidType`,`errorMessage`,`isRequired`,`isSuccess`,`id`,`children`,`class`]),[a,o]=(0,t.createSignal)(r.defaultValue??``),[s,c]=(0,t.createSignal)(!1),l=()=>r.value!==void 0,u=()=>l()?r.value??``:a(),d=(0,t.createMemo)(()=>r.id||D.generateUUID());return(0,e.createComponent)(M.Provider,{value:{get value(){return u()},get inputId(){return d()},get isActive(){return s()},get invalidType(){return r.invalidType??``},get isSuccess(){return!!r.isSuccess},get isRequired(){return!!r.isRequired},get errorMessage(){return r.errorMessage??{}},handleChange:e=>{l()||o(e),r.onChange?.(e)},handleFocus:()=>{c(!0),r.onFocus?.()},handleBlur:()=>{c(!1),r.onBlur?.()}},get children(){var t=nt();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function ct(n){let[r,i]=(0,t.splitProps)(n,[`class`]),a=N();return(()=>{var t=rt();return t.$$input=e=>a.handleChange(e.currentTarget.value),t.addEventListener(`blur`,()=>a.handleBlur()),t.addEventListener(`focus`,()=>a.handleFocus()),(0,e.spread)(t,(0,e.mergeProps)({get id(){return a.inputId},get value(){return a.value},get required(){return a.isRequired},get class(){return r.class},get"aria-required"(){return a.isRequired||void 0},get"aria-invalid"(){return a.invalidType?!0:void 0},get"data-invalid"(){return a.invalidType?``:void 0},get"data-active"(){return a.isActive?``:void 0},get"data-success"(){return a.isSuccess?``:void 0}},i),!1,!1),t})()}function lt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=N();return(()=>{var n=at();return(0,e.spread)(n,(0,e.mergeProps)({get for(){return a.inputId},get class(){return r.class}},i),!1,!0),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return a.isRequired},get children(){return it()}}),null),(0,e.insert)(n,()=>r.children,null),n})()}function ut(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=N();return(0,e.createComponent)(t.Show,{get when(){return a.invalidType},get children(){var t=ot();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children??a.errorMessage[a.invalidType]),t}})}var dt={Root:st,Field:ct,Label:lt,Error:ut};(0,e.delegateEvents)([`input`]);function ft(n){let[r,i]=(0,t.splitProps)(n,[`isOrdered`,`type`,`size`,`class`,`children`]),a=()=>r.isOrdered?`ol`:`ul`;return(0,e.createComponent)(e.Dynamic,(0,e.mergeProps)({get component(){return a()},get class(){return r.class},get"data-type"(){return r.type},get"data-size"(){return r.size},get"data-striped"(){return r.type===`striped`?``:void 0},get"data-divider"(){return r.type===`divider`?``:void 0}},i,{get children(){return r.children}}))}var pt=(0,e.template)(`<div>`),mt=(0,e.template)(`<div role=dialog aria-modal=true>`),ht=(0,e.template)(`<button type=button>`),P=(0,t.createContext)(null);function F(){let e=(0,t.useContext)(P);if(!e)throw Error(`Modal compound components must be used within Modal.Root`);return e}function gt(n){let[r,i]=(0,t.createSignal)(n.defaultOpen??!1),a=()=>n.open!==void 0,o=()=>a()?!!n.open:r(),s=e=>{a()||i(e),n.onOpenChange?.(e)};(0,t.createEffect)(()=>{let e=e=>{e.key===`Escape`&&o()&&s(!1)};window.addEventListener(`keydown`,e),(0,t.onCleanup)(()=>window.removeEventListener(`keydown`,e))});let c={get open(){return o()},onOpenChange:s};return(0,e.createComponent)(P.Provider,{value:c,get children(){return n.children}})}function _t(n){let r=F();return(0,e.createComponent)(t.Show,{get when(){return r.open},get children(){return(0,e.createComponent)(e.Portal,{get mount(){return n.container},get children(){return n.children}})}})}function vt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`,`onClick`]),a=F(),o=e=>{a.onOpenChange(!1);let t=r.onClick;typeof t==`function`&&t(e)};return(()=>{var t=pt();return t.$$click=o,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-state"(){return a.open?`open`:`closed`}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}function yt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`,`onClick`]),a=F(),o=e=>{e.stopPropagation();let t=r.onClick;typeof t==`function`&&t(e)};return(()=>{var t=mt();return t.$$click=o,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-state"(){return a.open?`open`:`closed`}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}function bt(i){let[a,o]=(0,t.splitProps)(i,[`children`,`class`,`onClick`]),s=F(),c=n(),l=r(o,c.handlers),u=e=>{s.onOpenChange(!1);let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=ht();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return a.class}},()=>c.dataAttributes,l,{onClick:u}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}var xt={Root:gt,Portal:_t,Overlay:vt,Content:yt,Close:bt};(0,e.delegateEvents)([`click`]);var St=(0,e.template)(`<div>`),Ct=(0,e.template)(`<input type=text inputmode=numeric autocomplete=one-time-code maxlength=2>`),wt=(0,e.template)(`<span aria-hidden=true role=separator>`),I=(0,t.createContext)(null);function Tt(){let e=(0,t.useContext)(I);if(!e)throw Error(`OTP.Slot and OTP.Separator must be used within OTP.Root`);return e}function L(e,t){return e.split(``).slice(0,t).concat(Array(t).fill(``)).slice(0,t)}function Et(n){let[r,i]=(0,t.splitProps)(n,[`length`,`value`,`defaultValue`,`onChange`,`onComplete`,`pattern`,`disabled`,`class`,`children`]),a=()=>r.length??6,o=()=>r.pattern??`numeric`,s=()=>!!r.disabled,[c,l]=(0,t.createSignal)(L(r.defaultValue??``,a())),u=[],d=()=>r.value!==void 0,f=()=>d()?L(r.value??``,a()):c(),p=()=>f().every(e=>e!==``),m=e=>o()===`numeric`?/^[0-9]$/.test(e):/^[0-9a-zA-Z]$/.test(e),h=e=>{d()||l(e);let t=e.join(``);r.onChange?.(t),e.every(e=>e!==``)&&r.onComplete?.(t)};return(0,e.createComponent)(I.Provider,{value:{get chars(){return f()},get length(){return a()},get disabled(){return s()},get isComplete(){return p()},registerRef:(e,t)=>{u[e]=t},handleChange:(e,t)=>{let n=t.slice(-1);if(n&&!m(n)){let t=u[e];t&&(t.value=f()[e]??``);return}let r=[...f()];r[e]=n,h(r),n&&e<a()-1&&u[e+1]?.focus()},handleKeyDown:(e,t)=>{if(t.key===`Backspace`){t.preventDefault();let n=f();if(n[e]){let t=[...n];t[e]=``,h(t)}else if(e>0){let t=[...n];t[e-1]=``,h(t),u[e-1]?.focus()}}else t.key===`ArrowLeft`?(t.preventDefault(),e>0&&u[e-1]?.focus()):t.key===`ArrowRight`&&(t.preventDefault(),e<a()-1&&u[e+1]?.focus())},handlePaste:(e,t)=>{t.preventDefault();let n=(t.clipboardData?.getData(`text`)??``).split(``).filter(e=>m(e)).slice(0,a()-e);if(n.length===0)return;let r=[...f()];n.forEach((t,n)=>{e+n<a()&&(r[e+n]=t)}),h(r),u[Math.min(e+n.length,a()-1)]?.focus()}},get children(){var t=St();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-complete"(){return p()?``:void 0},get"data-disabled"(){return s()?``:void 0}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Dt(n){let[r,i]=(0,t.splitProps)(n,[`index`,`class`]),a=Tt(),[o,s]=(0,t.createSignal)(!1),c=()=>a.chars[r.index]??``;return(()=>{var t=Ct();return t.addEventListener(`paste`,e=>a.handlePaste(r.index,e)),t.addEventListener(`blur`,()=>s(!1)),t.addEventListener(`focus`,e=>{s(!0),e.currentTarget.select()}),t.$$keydown=e=>a.handleKeyDown(r.index,e),t.$$input=e=>a.handleChange(r.index,e.currentTarget.value),(0,e.use)(e=>a.registerRef(r.index,e),t),(0,e.spread)(t,(0,e.mergeProps)({get value(){return c()},get disabled(){return a.disabled},get class(){return r.class},get"data-active"(){return o()?``:void 0},get"data-filled"(){return c()?``:void 0},get"data-complete"(){return a.isComplete?``:void 0},get"data-disabled"(){return a.disabled?``:void 0},get"aria-label"(){return`Digit ${r.index+1}`}},i),!1,!1),t})()}function Ot(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]);return(()=>{var t=wt();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children??`–`),t})()}var kt={Root:Et,Slot:Dt,Separator:Ot};(0,e.delegateEvents)([`input`,`keydown`]);var At=(0,e.template)(`<div>`),jt=(0,e.template)(`<input>`),Mt=(0,e.template)(`<button type=button>`),Nt=(0,e.template)(`<span aria-hidden=true>*`),Pt=(0,e.template)(`<label>`),Ft=(0,e.template)(`<small role=alert>`),R=(0,t.createContext)(null);function z(){let e=(0,t.useContext)(R);if(!e)throw Error(`Password sub-components must be used within Password.Root`);return e}function It(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`onFocus`,`onBlur`,`isRequired`,`errorMessage`,`invalidType`,`id`,`class`,`children`]),[a,o]=(0,t.createSignal)(r.defaultValue??``),s=()=>r.value!==void 0,c=()=>s()?r.value??``:a(),[l,u]=(0,t.createSignal)(!1),d=(0,t.createMemo)(()=>r.id??D.generateUUID()),f={get inputId(){return d()},get value(){return c()},get visible(){return l()},get isRequired(){return!!r.isRequired},get invalidType(){return r.invalidType??``},get errorMessage(){return r.errorMessage??{}},setVisible:u,handleChange:e=>{s()||o(e),r.onChange?.(e)},handleFocus:()=>r.onFocus?.(),handleBlur:()=>r.onBlur?.()};return(0,e.createComponent)(R.Provider,{value:f,get children(){var t=At();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Lt(n){let[r,i]=(0,t.splitProps)(n,[`class`]),a=z();return(()=>{var t=jt();return t.$$input=e=>a.handleChange(e.currentTarget.value),t.addEventListener(`blur`,()=>a.handleBlur()),t.addEventListener(`focus`,()=>a.handleFocus()),(0,e.spread)(t,(0,e.mergeProps)({get id(){return a.inputId},get value(){return a.value},get type(){return a.visible?`text`:`password`},get required(){return a.isRequired},get class(){return r.class},get"aria-required"(){return a.isRequired||void 0},get"aria-invalid"(){return a.invalidType?!0:void 0},get"data-invalid"(){return a.invalidType?``:void 0},get"data-visible"(){return a.visible?``:void 0}},i),!1,!1),t})()}function Rt(i){let[a,o]=(0,t.splitProps)(i,[`class`,`children`,`onClick`]),s=z(),c=n(),l=r(o,c.handlers),u=e=>{s.setVisible(!s.visible);let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=Mt();return(0,e.spread)(t,(0,e.mergeProps)({get"aria-label"(){return s.visible?`Hide password`:`Show password`},get class(){return a.class},get"data-visible"(){return s.visible?``:void 0}},()=>c.dataAttributes,l,{onClick:u}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}function zt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=z();return(()=>{var n=Pt();return(0,e.spread)(n,(0,e.mergeProps)({get for(){return a.inputId},get class(){return r.class}},i),!1,!0),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return a.isRequired},get children(){return Nt()}}),null),(0,e.insert)(n,()=>r.children,null),n})()}function Bt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=z();return(0,e.createComponent)(t.Show,{get when(){return a.invalidType},get children(){var t=Ft();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children??a.errorMessage[a.invalidType]),t}})}var Vt={Root:It,Field:Lt,Toggle:Rt,Label:zt,Error:Bt};(0,e.delegateEvents)([`input`]);var Ht=(0,e.template)(`<div role=progressbar aria-valuemin=0 aria-valuemax=100><div data-part=fill>`);function Ut(n){let[r,i]=(0,t.splitProps)(n,[`percentage`,`size`,`class`]),a=()=>Math.min(100,Math.max(0,r.percentage??0)),o=()=>r.size??`medium`;return(()=>{var t=Ht(),n=t.firstChild;return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"aria-valuenow"(){return a()},get"data-size"(){return o()}},i),!1,!0),(0,e.effect)(t=>(0,e.setStyleProperty)(n,`width`,`${a()}%`)),t})()}var Wt=(0,e.template)(`<div role=radiogroup>`),Gt=(0,e.template)(`<div><input type=radio style=position:absolute;opacity:0;pointer-events:none;width:0;height:0>`),Kt=(0,e.template)(`<span data-checked>`),qt=(0,e.template)(`<label>`),B=(0,t.createContext)(null),V=(0,t.createContext)(null);function Jt(){let e=(0,t.useContext)(B);if(!e)throw Error(`Radio compound components must be used within Radio.Root`);return e}function H(){let e=(0,t.useContext)(V);if(!e)throw Error(`Radio.Indicator/Label must be used within Radio.Item`);return e}function Yt(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`name`,`children`,`class`]),[a,o]=(0,t.createSignal)(r.defaultValue),s=()=>r.value!==void 0,c=()=>s()?r.value:a(),l=(0,t.createMemo)(()=>r.name||D.generateUUID());return(0,e.createComponent)(B.Provider,{value:{get selectedValue(){return c()},get name(){return l()},select:e=>{s()||o(e),r.onChange?.(e)},isSelected:e=>{let t=c();return t==null?!1:String(t)===String(e)}},get children(){var t=Wt();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Xt(r){let[i,a]=(0,t.splitProps)(r,[`value`,`disabled`,`children`,`class`,`onClick`]),o=Jt(),s=()=>o.isSelected(i.value),c=()=>!!i.disabled,l=n({get disabled(){return c()}}),u={get value(){return i.value},get disabled(){return c()},get checked(){return s()}},d=e=>{c()||o.select(i.value);let t=i.onClick;typeof t==`function`&&t(e)};return(0,e.createComponent)(V.Provider,{value:u,get children(){var t=Gt(),n=t.firstChild;return(0,e.spread)(t,(0,e.mergeProps)({get class(){return i.class},get"data-checked"(){return s()?``:void 0}},()=>l.dataAttributes,{get onMouseEnter(){return l.handlers.onMouseEnter},get onMouseLeave(){return l.handlers.onMouseLeave},get onPointerDown(){return l.handlers.onPointerDown},get onPointerUp(){return l.handlers.onPointerUp},onClick:d},a),!1,!0),(0,e.addEventListener)(n,`keyup`,l.handlers.onKeyUp,!0),(0,e.addEventListener)(n,`keydown`,l.handlers.onKeyDown,!0),(0,e.addEventListener)(n,`blur`,l.handlers.onBlur),(0,e.addEventListener)(n,`focus`,l.handlers.onFocus),n.addEventListener(`change`,()=>o.select(i.value)),(0,e.insert)(t,()=>i.children,null),(0,e.effect)(t=>{var r=o.name,i=c();return r!==t.e&&(0,e.setAttribute)(n,`name`,t.e=r),i!==t.t&&(n.disabled=t.t=i),t},{e:void 0,t:void 0}),(0,e.effect)(()=>n.value=String(i.value)),(0,e.effect)(()=>n.checked=s()),t}})}function Zt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=H();return(0,e.createComponent)(t.Show,{get when(){return a.checked},get children(){var t=Kt();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Qt(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=H();return(()=>{var t=qt();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-disabled"(){return a.disabled?``:void 0}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}var $t={Root:Yt,Item:Xt,Indicator:Zt,Label:Qt};(0,e.delegateEvents)([`keydown`,`keyup`]);var en=(0,e.template)(`<svg viewBox="0 0 20 20"fill=currentColor aria-hidden=true class=size-full><path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z">`),tn=(0,e.template)(`<div>`),nn=(0,e.template)(`<button type=button>`),rn=()=>en();function an(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`max`,`disabled`,`readOnly`,`class`,`starClass`]),[a,o]=(0,t.createSignal)(r.defaultValue??0),[s,c]=(0,t.createSignal)(0),l=()=>r.value!==void 0,u=()=>l()?r.value??0:a(),d=()=>s()||u(),f=()=>r.max??5,p=()=>!!r.disabled,m=()=>!!r.readOnly,h=e=>{p()||m()||(l()||o(e),r.onChange?.(e))},g=()=>Array.from({length:f()},(e,t)=>t+1);return(()=>{var n=tn();return(0,e.spread)(n,(0,e.mergeProps)({get class(){return r.class},get role(){return m()?`img`:`group`},get"aria-label"(){return(0,e.memo)(()=>!!m())()?`Rating: ${u()} out of ${f()}`:`Rating`},get"data-disabled"(){return p()?``:void 0},get"data-readonly"(){return m()?``:void 0}},i),!1,!0),(0,e.insert)(n,(0,e.createComponent)(t.For,{get each(){return g()},children:t=>(()=>{var n=nn();return n.addEventListener(`mouseleave`,()=>c(0)),n.addEventListener(`mouseenter`,()=>{!p()&&!m()&&c(t)}),n.$$click=()=>h(t),(0,e.insert)(n,(0,e.createComponent)(rn,{})),(0,e.effect)(i=>{var a=p()||m(),o=m()?-1:void 0,s=r.starClass,c=t<=u()?``:void 0,l=t<=d()?``:void 0,h=p()?``:void 0,g=`${t} out of ${f()} stars`;return a!==i.e&&(n.disabled=i.e=a),o!==i.t&&(0,e.setAttribute)(n,`tabindex`,i.t=o),s!==i.a&&(0,e.className)(n,i.a=s),c!==i.o&&(0,e.setAttribute)(n,`data-filled`,i.o=c),l!==i.i&&(0,e.setAttribute)(n,`data-highlighted`,i.i=l),h!==i.n&&(0,e.setAttribute)(n,`data-disabled`,i.n=h),g!==i.s&&(0,e.setAttribute)(n,`aria-label`,i.s=g),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()})),n})()}(0,e.delegateEvents)([`click`]);var U=(0,e.template)(`<div>`),on=(0,e.template)(`<input type=text>`),sn=(0,e.template)(`<div role=listbox data-state=open>`),cn=(0,e.template)(`<div role=option>`),W=(0,t.createContext)(null);function G(){let e=(0,t.useContext)(W);if(!e)throw Error(`Search compound components must be used within Search.Root`);return e}function ln(n){let[r,i]=(0,t.splitProps)(n,[`open`,`defaultOpen`,`onOpenChange`,`value`,`defaultSearchValue`,`onSearchChange`,`onSelect`,`onSubmitSearch`,`loading`,`searchDelay`,`children`,`class`]),[a,o]=(0,t.createSignal)(r.defaultOpen??!1),s=()=>r.open!==void 0,c=()=>s()?!!r.open:a(),[l,u]=(0,t.createSignal)(r.defaultSearchValue??``),d=()=>r.value!==void 0,f=()=>d()?r.value??``:l(),[p,m]=(0,t.createSignal)(-1),[h,g]=(0,t.createSignal)(0),_=null,v=null,y,b=e=>{s()||o(e),r.onOpenChange?.(e),e||m(-1)},x=e=>{d()||u(e),r.onSearchChange?.(e),_&&clearTimeout(_),_=setTimeout(()=>{r.onSubmitSearch?.()},r.searchDelay??1e3)},S=e=>{_&&clearTimeout(_),r.onSelect?.(e),d()||u(``),r.onSearchChange?.(``),b(!1)},C=()=>{let e=h();return g(e=>e+1),e},ee=()=>{g(e=>Math.max(0,e-1))};k(()=>y,()=>{c()&&b(!1)}),(0,t.onCleanup)(()=>{_&&clearTimeout(_)});let te={get open(){return c()},onOpenChange:b,get searchValue(){return f()},onSearchChange:x,onSelect:S,get loading(){return!!r.loading},get highlightedIndex(){return p()},setHighlightedIndex:m,get itemCount(){return h()},registerItem:C,unregisterItem:ee,getInputNode:()=>v,setInputNode:e=>{v=e}};return(0,e.createComponent)(W.Provider,{value:te,get children(){var t=U(),n=y;return typeof n==`function`?(0,e.use)(n,t):y=t,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-loading"(){return r.loading?``:void 0}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function un(n){let[r,i]=(0,t.splitProps)(n,[`class`]),a=G(),o=e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),a.itemCount>0&&a.setHighlightedIndex(a.highlightedIndex<a.itemCount-1?a.highlightedIndex+1:0);break;case`ArrowUp`:e.preventDefault(),a.itemCount>0&&a.setHighlightedIndex(a.highlightedIndex>0?a.highlightedIndex-1:a.itemCount-1);break;case`Escape`:a.onOpenChange(!1),a.getInputNode()?.blur();break}};return(()=>{var t=on();return t.$$keydown=o,t.$$input=e=>a.onSearchChange(e.currentTarget.value),t.addEventListener(`focus`,()=>a.onOpenChange(!0)),(0,e.use)(e=>a.setInputNode(e),t),(0,e.spread)(t,(0,e.mergeProps)({get value(){return a.searchValue},get class(){return r.class}},i),!1,!1),t})()}function dn(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=G();return(0,e.createComponent)(t.Show,{get when(){return a.open},get children(){var t=sn();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function fn(i){let[a,o]=(0,t.splitProps)(i,[`option`,`children`,`class`,`onClick`]),s=G(),c=n(),l=-1;(0,t.onMount)(()=>{l=s.registerItem(),(0,t.onCleanup)(()=>s.unregisterItem())});let u=()=>s.highlightedIndex===l,d=e=>{c.handlers.onKeyDown(e),e.key===`Enter`&&s.onSelect(a.option)},f=r(o,{...c.handlers,onKeyDown:d}),p=e=>{s.onSelect(a.option);let t=a.onClick;typeof t==`function`&&t(e)};return(()=>{var t=cn();return(0,e.spread)(t,(0,e.mergeProps)({get"aria-selected"(){return u()},get class(){return a.class},get"data-highlighted"(){return u()?``:void 0}},()=>c.dataAttributes,f,{onClick:p,tabIndex:-1}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}function pn(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=G();return(0,e.createComponent)(t.Show,{get when(){return(0,e.memo)(()=>a.itemCount===0)()&&!a.loading},get children(){var t=U();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}var mn={Root:ln,Input:un,Content:dn,Item:fn,Empty:pn};(0,e.delegateEvents)([`input`,`keydown`]);var hn=(0,e.template)(`<div>`),gn=(0,e.template)(`<button type=button aria-haspopup=listbox>`),K=(0,e.template)(`<span>`),_n=(0,e.template)(`<div role=listbox data-state=open>`),vn=(0,e.template)(`<div role=option>`),yn=(0,e.template)(`<hr aria-hidden=true>`),bn=(0,e.template)(`<div role=group>`),q=(0,t.createContext)(null);function J(){let e=(0,t.useContext)(q);if(!e)throw Error(`Select sub-components must be used within Select.Root`);return e}function xn(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`disabled`,`class`,`children`]),[a,o]=(0,t.createSignal)(r.defaultValue??``),s=()=>r.value!==void 0,c=()=>s()?r.value??``:a(),[l,u]=(0,t.createSignal)(!1),[d,f]=(0,t.createSignal)({}),[p,m]=(0,t.createSignal)(``),h;k(()=>h,()=>u(!1));let g=(e,t)=>{s()||o(e),m(t),r.onChange?.(e),u(!1)},_=(e,t)=>{f(n=>({...n,[e]:t}))},v=e=>{},y=()=>p()||d()[c()]||``,b={get open(){return l()},get selectedValue(){return c()},get selectedLabel(){return y()},get disabled(){return!!r.disabled},setOpen:u,select:g,registerItem:_,unregisterItem:v};return(0,e.createComponent)(q.Provider,{value:b,get children(){var t=hn(),n=h;return typeof n==`function`?(0,e.use)(n,t):h=t,(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-open"(){return l()?``:void 0},get"data-disabled"(){return r.disabled?``:void 0}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Sn(i){let[a,o]=(0,t.splitProps)(i,[`class`,`children`,`onClick`]),s=J(),c=n({get disabled(){return s.disabled}}),l=r(o,c.handlers),u=e=>{s.disabled||s.setOpen(!s.open);let t=a.onClick;typeof t==`function`&&t(e)},d=e=>{e.key===`Escape`&&s.setOpen(!1),(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s.setOpen(!0)),c.handlers.onKeyDown(e)};return(()=>{var t=gn();return(0,e.spread)(t,(0,e.mergeProps)({get"aria-expanded"(){return s.open},get disabled(){return s.disabled},get class(){return a.class},get"data-state"(){return s.open?`open`:`closed`},get"data-disabled"(){return s.disabled?``:void 0}},()=>c.dataAttributes,l,{onClick:u,onKeyDown:d}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}function Cn(n){let[r,i]=(0,t.splitProps)(n,[`placeholder`,`class`]),a=J(),o=()=>r.placeholder??`Select an option`;return(()=>{var t=K();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-placeholder"(){return a.selectedLabel?void 0:``}},i),!1,!0),(0,e.insert)(t,()=>a.selectedLabel||o()),t})()}function wn(n){let[r,i]=(0,t.splitProps)(n,[`class`,`children`]),a=J();return(0,e.createComponent)(t.Show,{get when(){return a.open},get children(){var t=_n();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Tn(i){let[a,o]=(0,t.splitProps)(i,[`value`,`textValue`,`disabled`,`class`,`children`,`onClick`]),s=J(),c=n({get disabled(){return!!a.disabled}}),l=r(o,c.handlers),u=()=>s.selectedValue===a.value,d=(0,t.children)(()=>a.children),f=()=>{if(a.textValue!==void 0)return a.textValue;let e=d();return typeof e==`string`?e:a.value};(0,t.createEffect)(()=>{s.registerItem(a.value,f())});let p=e=>{a.disabled||s.select(a.value,f());let t=a.onClick;typeof t==`function`&&t(e)},m=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),a.disabled||s.select(a.value,f())),c.handlers.onKeyDown(e)};return(()=>{var t=vn();return(0,e.spread)(t,(0,e.mergeProps)({get"aria-selected"(){return u()},get class(){return a.class},get"data-selected"(){return u()?``:void 0},get"data-disabled"(){return a.disabled?``:void 0}},()=>c.dataAttributes,l,{onClick:p,onKeyDown:m}),!1,!0),(0,e.insert)(t,()=>a.children),t})()}function En(n){let[r,i]=(0,t.splitProps)(n,[`class`]);return(()=>{var t=yn();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!1),t})()}function Dn(n){let[r,i]=(0,t.splitProps)(n,[`class`,`children`]);return(()=>{var t=bn();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}function On(n){let[r,i]=(0,t.splitProps)(n,[`class`,`children`]);return(()=>{var t=K();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}var kn={Root:xn,Trigger:Sn,Value:Cn,Content:wn,Item:Tn,Separator:En,Group:Dn,GroupLabel:On},An=(0,e.template)(`<button type=button role=switch>`),jn=(0,e.template)(`<span>`),Mn=(0,t.createContext)({checked:!1,disabled:!1});function Nn(i){let[a,o]=(0,t.splitProps)(i,[`checked`,`defaultChecked`,`onChange`,`disabled`,`class`,`children`,`onClick`]),[s,c]=(0,t.createSignal)(a.defaultChecked??!1),l=()=>a.checked!==void 0,u=()=>l()?!!a.checked:s(),d=()=>!!a.disabled,f=n({get disabled(){return d()}}),p=r(o,f.handlers),m=()=>{if(d())return;let e=!u();l()||c(e),a.onChange?.(e)},h=e=>{m();let t=a.onClick;typeof t==`function`&&t(e)};return(0,e.createComponent)(Mn.Provider,{value:{get checked(){return u()},get disabled(){return d()}},get children(){var t=An();return(0,e.spread)(t,(0,e.mergeProps)({get"aria-checked"(){return u()},get disabled(){return d()},get class(){return a.class},get"data-checked"(){return u()?``:void 0}},()=>f.dataAttributes,p,{onClick:h}),!1,!0),(0,e.insert)(t,()=>a.children),t}})}function Pn(n){let[r,i]=(0,t.splitProps)(n,[`class`]),a=(0,t.useContext)(Mn);return(()=>{var t=jn();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class},get"data-checked"(){return a.checked?``:void 0},get"data-disabled"(){return a.disabled?``:void 0}},i),!1,!1),t})()}var Fn={Root:Nn,Thumb:Pn},In=(0,e.template)(`<div>`),Ln=(0,e.template)(`<textarea>`),Rn=(0,e.template)(`<span>*`),zn=(0,e.template)(`<label>`),Bn=(0,e.template)(`<small role=alert>`),Vn=(0,t.createContext)(null);function Y(){let e=(0,t.useContext)(Vn);if(!e)throw Error(`Textarea compound components must be used within Textarea.Root`);return e}function Hn(n){let[r,i]=(0,t.splitProps)(n,[`value`,`defaultValue`,`onChange`,`onFocus`,`onBlur`,`invalidType`,`errorMessage`,`isRequired`,`isSuccess`,`id`,`children`,`class`]),[a,o]=(0,t.createSignal)(r.defaultValue??``),[s,c]=(0,t.createSignal)(!1),l=()=>r.value!==void 0,u=()=>l()?r.value??``:a(),d=(0,t.createMemo)(()=>r.id||D.generateUUID());return(0,e.createComponent)(Vn.Provider,{value:{get value(){return u()},get textareaId(){return d()},get isActive(){return s()},get invalidType(){return r.invalidType??``},get isSuccess(){return!!r.isSuccess},get isRequired(){return!!r.isRequired},get errorMessage(){return r.errorMessage??{}},handleChange:e=>{l()||o(e),r.onChange?.(e)},handleFocus:()=>{c(!0),r.onFocus?.()},handleBlur:()=>{c(!1),r.onBlur?.()}},get children(){var t=In();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children),t}})}function Un(n){let[r,i]=(0,t.splitProps)(n,[`class`]),a=Y();return(()=>{var t=Ln();return t.$$input=e=>a.handleChange(e.currentTarget.value),t.addEventListener(`blur`,()=>a.handleBlur()),t.addEventListener(`focus`,()=>a.handleFocus()),(0,e.spread)(t,(0,e.mergeProps)({get id(){return a.textareaId},get value(){return a.value},get required(){return a.isRequired},get class(){return r.class},get"aria-required"(){return a.isRequired||void 0},get"aria-invalid"(){return a.invalidType?!0:void 0},get"data-invalid"(){return a.invalidType?``:void 0},get"data-active"(){return a.isActive?``:void 0},get"data-success"(){return a.isSuccess?``:void 0}},i),!1,!1),t})()}function Wn(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=Y();return(()=>{var n=zn();return(0,e.spread)(n,(0,e.mergeProps)({get for(){return a.textareaId},get class(){return r.class}},i),!1,!0),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return a.isRequired},get children(){return Rn()}}),null),(0,e.insert)(n,()=>r.children,null),n})()}function Gn(n){let[r,i]=(0,t.splitProps)(n,[`children`,`class`]),a=Y();return(0,e.createComponent)(t.Show,{get when(){return a.invalidType},get children(){var t=Bn();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,()=>r.children??a.errorMessage[a.invalidType]),t}})}var Kn={Root:Hn,Field:Un,Label:Wn,Error:Gn};(0,e.delegateEvents)([`input`]);var qn=(0,e.template)(`<time>`),X=1e3*60,Z=X*60,Jn=Z*24,Yn=6e4,Xn={just:`Just Now`,past:`#time ago`,today:`Today, #time`,second:{one:`#num second`,other:`#num seconds`},minute:{one:`#num minute`,other:`#num minutes`},hour:{one:`#num hour`,other:`#num hours`},days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},Zn=e=>e===1?`one`:`other`;function Q(e){return new Date(e)}function Qn(e){let t=e instanceof Date?e.getTime():e;return Math.floor(new Date().getTime()-t)}function $n(n){let[r,i]=(0,t.splitProps)(n,[`datetime`,`isLive`,`isDuration`,`timeOnly`,`format`,`pluralize`,`class`]),a=()=>r.format??Xn,o=()=>r.pluralize??Zn,[s,c]=(0,t.createSignal)(0),l=()=>{let e=Q(r.datetime),t=e.getHours(),n=e.getMinutes();return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}`},u=()=>{let e=a(),t=Qn(Q(r.datetime)),n=e.past;if(t<X)return e.just;let i;if(t<Z){let n=Math.round(t/X),r=o()(n);i=e.minute[r].replace(`#num`,n.toString())}else{let n=Math.round(t/Z),r=o()(n);i=e.hour[r].replace(`#num`,n.toString())}return n.replace(`#time`,i)},d=()=>{let e=a(),t=Q(r.datetime),n=new Date,i=l(),o=new Date(t),s=new Date(n);if(o.setHours(0,0,0,0),s.setHours(0,0,0,0),o.getTime()===s.getTime())return e.today.replace(`#time`,i);let c=Math.floor((n.getTime()-t.getTime())/Jn),u=e.days[t.getDay()];if(c<7)return`${u}, ${i}`;let d=t.getDate(),f=e.months[t.getMonth()],p=t.getFullYear();return p===n.getFullYear()?`${f} ${d}, ${i}`:`${f} ${d} ${p}, ${i}`},f=(0,t.createMemo)(()=>(s(),r.isDuration?u():r.timeOnly?l():d()));return(0,t.createEffect)(()=>{if(!r.isLive)return;let e=setInterval(()=>c(e=>e+1),Yn);(0,t.onCleanup)(()=>clearInterval(e))}),(()=>{var t=qn();return(0,e.spread)(t,(0,e.mergeProps)({get class(){return r.class}},i),!1,!0),(0,e.insert)(t,f),t})()}var er=(0,e.template)(`<span style=position:relative;display:inline-block>`),tr=(0,e.template)(`<span>`),nr=(0,e.template)(`<span role=tooltip>`),$=(0,t.createContext)({open:!1,setOpen:()=>{}});function rr(n){let[r,i]=(0,t.createSignal)(n.defaultOpen??!1),a=()=>n.open!==void 0,o=()=>a()?!!n.open:r(),s=null;return(0,e.createComponent)($.Provider,{value:{get open(){return o()},setOpen:e=>{s&&=(clearTimeout(s),null),e?s=setTimeout(()=>{a()||i(!0),n.onOpenChange?.(!0)},n.delayDuration??300):(a()||i(!1),n.onOpenChange?.(!1))}},get children(){var t=er();return(0,e.insert)(t,()=>n.children),t}})}function ir(n){let[r,i]=(0,t.splitProps)(n,[`children`,`onMouseEnter`,`onMouseLeave`,`onFocus`,`onBlur`]),a=(0,t.useContext)($),o=(e,t)=>{typeof e==`function`&&e(t)},s=e=>{a.setOpen(!0),o(r.onMouseEnter,e)},c=e=>{a.setOpen(!1),o(r.onMouseLeave,e)},l=e=>{a.setOpen(!0),o(r.onFocus,e)},u=e=>{a.setOpen(!1),o(r.onBlur,e)};return(()=>{var t=tr();return t.addEventListener(`blur`,u),t.addEventListener(`focus`,l),t.addEventListener(`mouseleave`,c),t.addEventListener(`mouseenter`,s),(0,e.spread)(t,i,!1,!0),(0,e.insert)(t,()=>r.children),t})()}function ar(n){let[r,i]=(0,t.splitProps)(n,[`side`,`class`,`children`,`style`]),a=(0,t.useContext)($),o=()=>r.side??`top`,s=()=>{let e=o(),t={position:`absolute`,"z-index":50,"pointer-events":`none`};return e===`top`?{...t,bottom:`100%`,left:`50%`,transform:`translateX(-50%)`,"margin-bottom":`8px`}:e===`bottom`?{...t,top:`100%`,left:`50%`,transform:`translateX(-50%)`,"margin-top":`8px`}:e===`left`?{...t,right:`100%`,top:`50%`,transform:`translateY(-50%)`,"margin-right":`8px`}:{...t,left:`100%`,top:`50%`,transform:`translateY(-50%)`,"margin-left":`8px`}},c=()=>{let e=r.style;return typeof e==`string`||!e?s():{...s(),...e}};return(()=>{var t=nr();return(0,e.spread)(t,(0,e.mergeProps)({get"data-state"(){return a.open?`open`:`closed`},get"data-side"(){return o()},get class(){return r.class},get style(){return c()}},i),!1,!0),(0,e.insert)(t,()=>r.children),t})()}var or={Root:rr,Trigger:ir,Content:ar};exports.Accordion=h,exports.Alert=ne,exports.Avatar=ce,exports.Badge=ue,exports.Button=fe,exports.Card=me,exports.Checkbox=De,exports.Divider=ke,exports.Drawer=Be,exports.Dropdown=qe,exports.Icon=Xe,exports.Image=tt,exports.Input=dt,exports.List=ft,exports.Modal=xt,exports.OTP=kt,exports.Password=Vt,exports.ProgressBar=Ut,exports.Radio=$t,exports.Rating=an,exports.Search=mn,exports.Select=kn,exports.Switch=Fn,exports.Textarea=Kn,exports.Timeago=$n,exports.Tooltip=or,exports.createClickOutside=k,exports.createInteractiveState=n,exports.iconNames=Ze,exports.iconSizes=Qe;