@strapi/ui-primitives 1.9.0 → 1.10.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.
@@ -4,13 +4,17 @@
4
4
  * We've added a subscription API to allow us to subscribe to changes in the collection via the useCollection hook.
5
5
  */
6
6
  import * as React from 'react';
7
- import type * as Radix from '@radix-ui/react-primitive';
8
7
  import { Slot } from '@radix-ui/react-slot';
8
+ import type * as Radix from '@radix-ui/react-primitive';
9
9
  type SlotProps = Radix.ComponentPropsWithoutRef<typeof Slot>;
10
10
  interface CollectionProps extends SlotProps {
11
11
  scope: any;
12
12
  }
13
- declare function createCollection<ItemElement extends HTMLElement, ItemData = {}>(name: string): readonly [{
13
+ interface CollectionProviderProps {
14
+ children?: React.ReactNode;
15
+ scope: any;
16
+ }
17
+ declare function createCollection<ItemElement extends HTMLElement, ItemData = object>(name: string): readonly [{
14
18
  readonly Provider: {
15
19
  (props: CollectionProviderProps): import("react/jsx-runtime").JSX.Element;
16
20
  displayName: string;
@@ -31,4 +35,4 @@ declare function createCollection<ItemElement extends HTMLElement, ItemData = {}
31
35
  } & ItemData)[]) => void) => () => boolean;
32
36
  }, import("@radix-ui/react-context").CreateScope];
33
37
  export { createCollection };
34
- export type { CollectionProps };
38
+ export type { CollectionProps, CollectionProviderProps };
@@ -26,11 +26,9 @@ interface RootProps {
26
26
  isPrintableCharacter?: (str: string) => boolean;
27
27
  }
28
28
  type TriggerProps = PrimitiveDivProps;
29
- interface TextInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
30
- }
29
+ type TextInputProps = React.InputHTMLAttributes<HTMLInputElement>;
31
30
  type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
32
- interface IconProps extends PrimitiveButtonProps {
33
- }
31
+ type IconProps = PrimitiveButtonProps;
34
32
  type IPortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;
35
33
  interface PortalProps extends Omit<IPortalProps, 'asChild'> {
36
34
  children?: React.ReactNode;
@@ -56,8 +54,7 @@ type PopperContentProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.
56
54
  interface ComboboxPopperPositionProps extends PopperContentProps, ComboboxPopperPrivateProps {
57
55
  }
58
56
  type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
59
- interface ViewportProps extends PrimitiveDivProps {
60
- }
57
+ type ViewportProps = PrimitiveDivProps;
61
58
  interface ItemProps extends ItemImplProps {
62
59
  textValue?: string;
63
60
  }
@@ -68,10 +65,8 @@ interface ItemImplProps extends PrimitiveDivProps {
68
65
  }
69
66
  type PrimitiveSpanProps = ComponentPropsWithoutRef<typeof Primitive.span>;
70
67
  type ItemTextProps = PrimitiveSpanProps;
71
- interface ItemIndicatorProps extends PrimitiveSpanProps {
72
- }
73
- interface NoValueFoundProps extends PrimitiveDivProps {
74
- }
68
+ type ItemIndicatorProps = PrimitiveSpanProps;
69
+ type NoValueFoundProps = PrimitiveDivProps;
75
70
  interface CreateItemProps extends PrimitiveDivProps {
76
71
  disabled?: boolean;
77
72
  }
@@ -82,21 +77,37 @@ declare const Trigger: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedH
82
77
  asChild?: boolean | undefined;
83
78
  }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
84
79
  declare const TextInput: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
85
- declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<HTMLButtonElement>>;
80
+ declare const Icon: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
81
+ ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
82
+ } & {
83
+ asChild?: boolean | undefined;
84
+ }, "key" | "asChild" | keyof React.ButtonHTMLAttributes<HTMLButtonElement>> & React.RefAttributes<HTMLButtonElement>>;
86
85
  declare const Portal: {
87
86
  (props: PortalProps): import("react/jsx-runtime").JSX.Element;
88
87
  displayName: string;
89
88
  };
90
89
  declare const Content: React.ForwardRefExoticComponent<ComboboxContentImplProps & React.RefAttributes<HTMLDivElement>>;
91
- declare const Viewport: React.ForwardRefExoticComponent<ViewportProps & React.RefAttributes<HTMLDivElement>>;
90
+ declare const Viewport: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
91
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
92
+ } & {
93
+ asChild?: boolean | undefined;
94
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
92
95
  declare const Item: React.ForwardRefExoticComponent<ItemProps & React.RefAttributes<HTMLDivElement>>;
93
96
  declare const ItemText: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
94
97
  ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
95
98
  } & {
96
99
  asChild?: boolean | undefined;
97
100
  }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
98
- declare const ItemIndicator: React.ForwardRefExoticComponent<ItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
99
- declare const NoValueFound: React.ForwardRefExoticComponent<NoValueFoundProps & React.RefAttributes<HTMLDivElement>>;
101
+ declare const ItemIndicator: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
102
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
103
+ } & {
104
+ asChild?: boolean | undefined;
105
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
106
+ declare const NoValueFound: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
107
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
108
+ } & {
109
+ asChild?: boolean | undefined;
110
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
100
111
  declare const CreateItem: React.ForwardRefExoticComponent<CreateItemProps & React.RefAttributes<HTMLDivElement>>;
101
112
  export { Root, Trigger, TextInput, Icon, Portal, Content, Viewport, Item, ItemText, ItemIndicator, NoValueFound, CreateItem, };
102
113
  export type { RootProps, TriggerProps, TextInputProps, IconProps, PortalProps, ContentProps, ViewportProps, ItemProps, ItemTextProps, ItemIndicatorProps, NoValueFoundProps, CreateItemProps, };
@@ -12,12 +12,12 @@
12
12
  * Hopefully in the future we can remove this fork ✌🏼
13
13
  */
14
14
  import * as React from 'react';
15
- import type { Scope } from '@radix-ui/react-context';
16
15
  import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
17
16
  import { FocusScope } from '@radix-ui/react-focus-scope';
18
17
  import * as PopperPrimitive from '@radix-ui/react-popper';
19
18
  import { Portal as PortalPrimitive } from '@radix-ui/react-portal';
20
19
  import { Primitive } from '@radix-ui/react-primitive';
20
+ import type { Scope } from '@radix-ui/react-context';
21
21
  import type * as Radix from '@radix-ui/react-primitive';
22
22
  type Direction = 'ltr' | 'rtl';
23
23
  type ScopedProps<P> = P & {
@@ -53,9 +53,12 @@ declare const Select: {
53
53
  displayName: string;
54
54
  };
55
55
  type PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
56
- interface SelectTriggerProps extends PrimitiveButtonProps {
57
- }
58
- declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLDivElement>>;
56
+ type SelectTriggerProps = PrimitiveButtonProps;
57
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
58
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
59
+ } & {
60
+ asChild?: boolean | undefined;
61
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
59
62
  type PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;
60
63
  type SelectValueRenderFn = {
61
64
  ({ value, textValue }: {
@@ -69,9 +72,12 @@ interface SelectValueProps extends Omit<PrimitiveSpanProps, 'placeholder' | 'chi
69
72
  children?: React.ReactNode | SelectValueRenderFn;
70
73
  }
71
74
  declare const SelectValue: React.ForwardRefExoticComponent<SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
72
- interface SelectIconProps extends PrimitiveSpanProps {
73
- }
74
- declare const SelectIcon: React.ForwardRefExoticComponent<SelectIconProps & React.RefAttributes<HTMLSpanElement>>;
75
+ type SelectIconProps = PrimitiveSpanProps;
76
+ declare const SelectIcon: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
77
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
78
+ } & {
79
+ asChild?: boolean | undefined;
80
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
75
81
  type PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;
76
82
  interface SelectPortalProps extends Omit<PortalProps, 'asChild'> {
77
83
  children?: React.ReactNode;
@@ -80,9 +86,8 @@ declare const SelectPortal: {
80
86
  (props: ScopedProps<SelectPortalProps>): import("react/jsx-runtime").JSX.Element;
81
87
  displayName: string;
82
88
  };
83
- interface SelectContentProps extends SelectContentImplProps {
84
- }
85
- declare const SelectContent: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<HTMLDivElement>>;
89
+ type SelectContentProps = SelectContentImplProps;
90
+ declare const SelectContent: React.ForwardRefExoticComponent<SelectContentImplProps & React.RefAttributes<HTMLDivElement>>;
86
91
  type DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;
87
92
  type FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;
88
93
  type SelectPopperPrivateProps = {
@@ -112,24 +117,36 @@ type PopperContentProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.
112
117
  interface SelectPopperPositionProps extends PopperContentProps, SelectPopperPrivateProps {
113
118
  }
114
119
  type PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
115
- interface SelectViewportProps extends PrimitiveDivProps {
116
- }
117
- declare const SelectViewport: React.ForwardRefExoticComponent<SelectViewportProps & React.RefAttributes<HTMLDivElement>>;
118
- interface SelectGroupProps extends PrimitiveDivProps {
119
- }
120
- declare const SelectGroup: React.ForwardRefExoticComponent<SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
121
- interface SelectLabelProps extends PrimitiveDivProps {
122
- }
123
- declare const SelectLabel: React.ForwardRefExoticComponent<SelectLabelProps & React.RefAttributes<HTMLDivElement>>;
120
+ type SelectViewportProps = PrimitiveDivProps;
121
+ declare const SelectViewport: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
122
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
123
+ } & {
124
+ asChild?: boolean | undefined;
125
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
126
+ type SelectGroupProps = PrimitiveDivProps;
127
+ declare const SelectGroup: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
128
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
129
+ } & {
130
+ asChild?: boolean | undefined;
131
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
132
+ type SelectLabelProps = PrimitiveDivProps;
133
+ declare const SelectLabel: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
134
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
135
+ } & {
136
+ asChild?: boolean | undefined;
137
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
124
138
  interface SelectItemProps extends PrimitiveDivProps {
125
139
  value: string | string[];
126
140
  disabled?: boolean;
127
141
  textValue?: string;
128
142
  }
129
143
  declare const SelectItem: React.ForwardRefExoticComponent<SelectItemProps & React.RefAttributes<HTMLDivElement>>;
130
- interface SelectItemTextProps extends PrimitiveSpanProps {
131
- }
132
- declare const SelectItemText: React.ForwardRefExoticComponent<SelectItemTextProps & React.RefAttributes<HTMLSpanElement>>;
144
+ type SelectItemTextProps = PrimitiveSpanProps;
145
+ declare const SelectItemText: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
146
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
147
+ } & {
148
+ asChild?: boolean | undefined;
149
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
133
150
  interface SelectItemIndicatorProps extends Omit<PrimitiveSpanProps, 'children'> {
134
151
  children?: React.ReactNode | ((state: {
135
152
  isSelected: boolean;
@@ -137,43 +154,71 @@ interface SelectItemIndicatorProps extends Omit<PrimitiveSpanProps, 'children'>
137
154
  }) => React.ReactNode);
138
155
  }
139
156
  declare const SelectItemIndicator: React.ForwardRefExoticComponent<SelectItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
140
- interface SelectScrollUpButtonProps extends Omit<SelectScrollButtonImplProps, 'onAutoScroll'> {
141
- }
157
+ type SelectScrollUpButtonProps = Omit<SelectScrollButtonImplProps, 'onAutoScroll'>;
142
158
  declare const SelectScrollUpButton: React.ForwardRefExoticComponent<SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>>;
143
- interface SelectScrollDownButtonProps extends Omit<SelectScrollButtonImplProps, 'onAutoScroll'> {
144
- }
159
+ type SelectScrollDownButtonProps = Omit<SelectScrollButtonImplProps, 'onAutoScroll'>;
145
160
  declare const SelectScrollDownButton: React.ForwardRefExoticComponent<SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>>;
146
161
  interface SelectScrollButtonImplProps extends PrimitiveDivProps {
147
162
  onAutoScroll(): void;
148
163
  }
149
- interface SelectSeparatorProps extends PrimitiveDivProps {
150
- }
151
- declare const SelectSeparator: React.ForwardRefExoticComponent<SelectSeparatorProps & React.RefAttributes<HTMLDivElement>>;
164
+ type SelectSeparatorProps = PrimitiveDivProps;
165
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
166
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
167
+ } & {
168
+ asChild?: boolean | undefined;
169
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
152
170
  type PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
153
- interface SelectArrowProps extends PopperArrowProps {
154
- }
155
- declare const SelectArrow: React.ForwardRefExoticComponent<SelectArrowProps & React.RefAttributes<SVGSVGElement>>;
171
+ type SelectArrowProps = PopperArrowProps;
172
+ declare const SelectArrow: React.ForwardRefExoticComponent<Pick<PopperPrimitive.PopperArrowProps & React.RefAttributes<SVGSVGElement>, "string" | "children" | "className" | "id" | "lang" | "style" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "clipPath" | "filter" | "mask" | "path" | "fill" | "values" | "stroke" | "asChild" | "crossOrigin" | "height" | "max" | "min" | "name" | "type" | "width" | "end" | "accumulate" | "local" | "clip" | "unicode" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "overflow" | "display" | "media" | "method" | "target" | "accentHeight" | "additive" | "alignmentBaseline" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "href" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & React.RefAttributes<SVGSVGElement>>;
156
173
  declare const Root: {
157
174
  (props: ScopedProps<SelectProps>): import("react/jsx-runtime").JSX.Element;
158
175
  displayName: string;
159
176
  };
160
- declare const Trigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLDivElement>>;
177
+ declare const Trigger: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
178
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
179
+ } & {
180
+ asChild?: boolean | undefined;
181
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
161
182
  declare const Value: React.ForwardRefExoticComponent<SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
162
- declare const Icon: React.ForwardRefExoticComponent<SelectIconProps & React.RefAttributes<HTMLSpanElement>>;
183
+ declare const Icon: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
184
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
185
+ } & {
186
+ asChild?: boolean | undefined;
187
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
163
188
  declare const Portal: {
164
189
  (props: ScopedProps<SelectPortalProps>): import("react/jsx-runtime").JSX.Element;
165
190
  displayName: string;
166
191
  };
167
- declare const Content: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<HTMLDivElement>>;
168
- declare const Viewport: React.ForwardRefExoticComponent<SelectViewportProps & React.RefAttributes<HTMLDivElement>>;
169
- declare const Group: React.ForwardRefExoticComponent<SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
170
- declare const Label: React.ForwardRefExoticComponent<SelectLabelProps & React.RefAttributes<HTMLDivElement>>;
192
+ declare const Content: React.ForwardRefExoticComponent<SelectContentImplProps & React.RefAttributes<HTMLDivElement>>;
193
+ declare const Viewport: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
194
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
195
+ } & {
196
+ asChild?: boolean | undefined;
197
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
198
+ declare const Group: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
199
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
200
+ } & {
201
+ asChild?: boolean | undefined;
202
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
203
+ declare const Label: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
204
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
205
+ } & {
206
+ asChild?: boolean | undefined;
207
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
171
208
  declare const Item: React.ForwardRefExoticComponent<SelectItemProps & React.RefAttributes<HTMLDivElement>>;
172
- declare const ItemText: React.ForwardRefExoticComponent<SelectItemTextProps & React.RefAttributes<HTMLSpanElement>>;
209
+ declare const ItemText: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
210
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
211
+ } & {
212
+ asChild?: boolean | undefined;
213
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
173
214
  declare const ItemIndicator: React.ForwardRefExoticComponent<SelectItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
174
215
  declare const ScrollUpButton: React.ForwardRefExoticComponent<SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>>;
175
216
  declare const ScrollDownButton: React.ForwardRefExoticComponent<SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>>;
176
- declare const Separator: React.ForwardRefExoticComponent<SelectSeparatorProps & React.RefAttributes<HTMLDivElement>>;
177
- declare const Arrow: React.ForwardRefExoticComponent<SelectArrowProps & React.RefAttributes<SVGSVGElement>>;
217
+ declare const Separator: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
218
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
219
+ } & {
220
+ asChild?: boolean | undefined;
221
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
222
+ declare const Arrow: React.ForwardRefExoticComponent<Pick<PopperPrimitive.PopperArrowProps & React.RefAttributes<SVGSVGElement>, "string" | "children" | "className" | "id" | "lang" | "style" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "clipPath" | "filter" | "mask" | "path" | "fill" | "values" | "stroke" | "asChild" | "crossOrigin" | "height" | "max" | "min" | "name" | "type" | "width" | "end" | "accumulate" | "local" | "clip" | "unicode" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "overflow" | "display" | "media" | "method" | "target" | "accentHeight" | "additive" | "alignmentBaseline" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "href" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & React.RefAttributes<SVGSVGElement>>;
178
223
  export { createSelectScope, Select, SelectTrigger, SelectValue, SelectIcon, SelectPortal, SelectContent, SelectViewport, SelectGroup, SelectLabel, SelectItem, SelectItemText, SelectItemIndicator, SelectScrollUpButton, SelectScrollDownButton, SelectSeparator, SelectArrow, Root, Trigger, Value, Icon, Portal, Content, Viewport, Group, Label, Item, ItemText, ItemIndicator, ScrollUpButton, ScrollDownButton, Separator, Arrow, };
179
224
  export type { SingleSelectProps, MultiSelectProps, SelectProps, SelectTriggerProps, SelectValueProps, SelectValueRenderFn, SelectIconProps, SelectPortalProps, SelectContentProps, SelectViewportProps, SelectGroupProps, SelectLabelProps, SelectItemProps, SelectItemTextProps, SelectItemIndicatorProps, SelectScrollUpButtonProps, SelectScrollDownButtonProps, SelectSeparatorProps, SelectArrowProps, };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),Wt=require("react"),O=require("@radix-ui/react-compose-refs"),ve=require("@radix-ui/react-context"),Ee=require("@radix-ui/react-slot"),w=require("@radix-ui/primitive"),ct=require("@radix-ui/react-dismissable-layer"),at=require("@radix-ui/react-focus-guards"),it=require("@radix-ui/react-focus-scope"),re=require("@radix-ui/react-id"),Me=require("@radix-ui/react-popper"),ut=require("@radix-ui/react-portal"),N=require("@radix-ui/react-primitive"),ae=require("@radix-ui/react-use-controllable-state"),F=require("@radix-ui/react-use-layout-effect"),dt=require("aria-hidden"),zt=require("react-dom"),pt=require("react-remove-scroll"),st=require("@radix-ui/number"),Gt=require("@radix-ui/react-collection"),Yt=require("@radix-ui/react-direction"),Xt=require("@radix-ui/react-use-previous"),Zt=require("@radix-ui/react-visually-hidden"),ft=require("@radix-ui/react-use-callback-ref");function je(n){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(l,e,t.get?t:{enumerable:!0,get:()=>n[e]})}}return l.default=n,Object.freeze(l)}const s=je(Wt),se=je(Me),Ce=je(zt);function mt(n){const l=`${n}CollectionProvider`,[e,t]=ve.createContextScope(l),[o,r]=e(l,{collectionRef:{current:null},itemMap:new Map,listeners:new Set}),a=p=>{const{scope:h,children:C}=p,v=s.useRef(null),b=s.useRef(new Map).current,x=s.useRef(new Set).current;return u.jsx(o,{scope:h,itemMap:b,collectionRef:v,listeners:x,children:C})};a.displayName=l;const c=`${n}CollectionSlot`,i=s.forwardRef((p,h)=>{const{scope:C,children:v}=p,b=r(c,C),x=O.useComposedRefs(h,b.collectionRef);return u.jsx(Ee.Slot,{ref:x,children:v})});i.displayName=c;const m=`${n}CollectionItemSlot`,d="data-radix-collection-item",g=s.forwardRef((p,h)=>{const{scope:C,children:v,...b}=p,x=s.useRef(null),y=O.useComposedRefs(h,x),V=r(m,C);return s.useEffect(()=>{const M=Array.from(V.itemMap.values());return V.itemMap.set(x,{ref:x,...b}),V.listeners.forEach(_=>_(Array.from(V.itemMap.values()),M)),()=>{const _=Array.from(V.itemMap.values());V.itemMap.delete(x),V.listeners.forEach(A=>A(Array.from(V.itemMap.values()),_))}}),u.jsx(Ee.Slot,{[d]:"",ref:y,children:v})});g.displayName=m;function f(p){const h=r(`${n}CollectionConsumer`,p),C=s.useCallback(()=>{const b=h.collectionRef.current;if(!b)return[];const x=Array.from(b.querySelectorAll(`[${d}]`));return Array.from(h.itemMap.values()).sort((M,_)=>x.indexOf(M.ref.current)-x.indexOf(_.ref.current))},[h.collectionRef,h.itemMap]),v=s.useCallback(b=>(h.listeners.add(b),()=>h.listeners.delete(b)),[h.listeners]);return{getItems:C,subscribe:v}}return[{Provider:a,Slot:i,ItemSlot:g},f,t]}const Pe=new Map;function Jt(n,l){const e=n+(l?Object.entries(l).sort((o,r)=>o[0]<r[0]?-1:1).join():"");if(Pe.has(e))return Pe.get(e);const t=new Intl.Collator(n,l);return Pe.set(e,t),t}function De(n,l){const e=Jt(n,{usage:"search",...l});return{startsWith(t,o){return o.length===0?!0:(t=t.normalize("NFC"),o=o.normalize("NFC"),e.compare(t.slice(0,o.length),o)===0)},endsWith(t,o){return o.length===0?!0:(t=t.normalize("NFC"),o=o.normalize("NFC"),e.compare(t.slice(-o.length),o)===0)},contains(t,o){if(o.length===0)return!0;t=t.normalize("NFC"),o=o.normalize("NFC");let r=0;const a=o.length;for(;r+a<=t.length;r++){const c=t.slice(r,r+a);if(e.compare(o,c)===0)return!0}return!1}}}const Qt=n=>{const l=s.useRef();return s.useEffect(()=>{l.current=n}),l.current},eo=[" ","Enter","ArrowUp","ArrowDown"],to=["Enter"],oo=n=>!!(n.length===1&&n.match(/\S| /)),ht="Combobox",[ie,me]=mt(ht),[no,$]=ve.createContext(ht),ro=({children:n})=>u.jsx(se.Root,{children:u.jsx(ie.Provider,{scope:void 0,children:n})}),so=n=>{const{allowCustomValue:l=!1,autocomplete:e="none",children:t,open:o,defaultOpen:r,onOpenChange:a,value:c,defaultValue:i,onValueChange:m,disabled:d,required:g=!1,locale:f="en-EN",onTextValueChange:p,textValue:h,defaultTextValue:C,filterValue:v,defaultFilterValue:b,onFilterValueChange:x,isPrintableCharacter:y=oo}=n,[V,M]=s.useState(null),[_,A]=s.useState(null),[D,Y]=s.useState(null),[q,k]=s.useState(null),[j=!1,H]=ae.useControllableState({prop:o,defaultProp:r,onChange:a}),[L,K]=ae.useControllableState({prop:c,defaultProp:i,onChange:m}),[W,B]=ae.useControllableState({prop:h,defaultProp:l&&!C?c:C,onChange:p}),[X,U]=ae.useControllableState({prop:v,defaultProp:b,onChange:x}),de=re.useId(),le=s.useCallback((pe,Q)=>{const Z=Q.map(T=>T.ref.current),[ce,...ee]=Z,[S]=ee.slice(-1),P=q??Q.find(T=>T.value===L)?.ref.current;for(const T of pe){if(T===P)return;if(T?.scrollIntoView({block:"nearest"}),T===ce&&_&&(_.scrollTop=0),T===S&&_&&(_.scrollTop=_.scrollHeight),k(T),e==="both"){const I=Q.find(E=>E.ref.current===T);I&&B(I.textValue)}if(T!==P)return}},[e,B,_,q,L]);return s.useEffect(()=>{e!=="both"&&k(null)},[W,e]),s.useEffect(()=>{if(D&&V)return dt.hideOthers([D,V])},[D,V]),u.jsx(ro,{children:u.jsx(no,{allowCustomValue:l,autocomplete:e,required:g,trigger:V,onTriggerChange:M,contentId:de,value:L,onValueChange:K,open:j,onOpenChange:H,disabled:d,locale:f,focusFirst:le,textValue:W,onTextValueChange:B,onViewportChange:A,onContentChange:Y,visuallyFocussedItem:q,filterValue:X,onFilterValueChange:U,onVisuallyFocussedItemChange:k,isPrintableCharacter:y,children:t})})},xt="ComboboxTrigger",gt=s.forwardRef((n,l)=>{const{...e}=n,t=$(xt),o=()=>{t.disabled||t.onOpenChange(!0)};return u.jsx(se.Anchor,{asChild:!0,children:u.jsx(it.FocusScope,{asChild:!0,trapped:t.open,onMountAutoFocus:r=>{r.preventDefault()},onUnmountAutoFocus:r=>{t.trigger?.focus({preventScroll:!0}),document.getSelection()?.empty(),r.preventDefault()},children:u.jsx("div",{ref:l,"data-disabled":t.disabled?"":void 0,...e,onClick:w.composeEventHandlers(e.onClick,()=>{t.trigger?.focus()}),onPointerDown:w.composeEventHandlers(e.onPointerDown,r=>{const a=r.target;a.hasPointerCapture(r.pointerId)&&a.releasePointerCapture(r.pointerId),(a.closest("button")??a.closest("div"))===r.currentTarget&&r.button===0&&r.ctrlKey===!1&&(o(),t.trigger?.focus())})})})})});gt.displayName=xt;const vt="ComboboxInput",Ct=s.forwardRef((n,l)=>{const e=$(vt),t=s.useRef(null),{getItems:o}=me(void 0),{startsWith:r}=De(e.locale,{sensitivity:"base"}),a=e.disabled,c=O.useComposedRefs(t,l,e.onTriggerChange),i=()=>{a||e.onOpenChange(!0)},m=Qt(e.filterValue);return F.useLayoutEffect(()=>{const d=setTimeout(()=>{if(e.textValue===""||e.textValue===void 0||e.filterValue===""||e.filterValue===void 0)return;const g=o().find(p=>p.type==="option"&&r(p.textValue,e.textValue)),f=So(m??"",e.filterValue);g&&!e.visuallyFocussedItem&&f===e.filterValue.length&&t.current?.setSelectionRange(e.filterValue.length,e.textValue.length)});return()=>clearTimeout(d)},[e.textValue,e.filterValue,r,e.visuallyFocussedItem,o,m]),u.jsx("input",{type:"text",role:"combobox","aria-controls":e.contentId,"aria-expanded":e.open,"aria-required":e.required,"aria-autocomplete":e.autocomplete,"data-state":e.open?"open":"closed","aria-disabled":a,"aria-activedescendant":e.visuallyFocussedItem?.id,disabled:a,"data-disabled":a?"":void 0,"data-placeholder":e.textValue===void 0?"":void 0,value:e.textValue??"",...n,ref:c,onKeyDown:w.composeEventHandlers(n.onKeyDown,d=>{if(["ArrowUp","ArrowDown","Home","End"].includes(d.key))e.open||i(),setTimeout(()=>{let f=o().filter(p=>!p.disabled&&p.isVisible).map(p=>p.ref.current);if(["ArrowUp","End"].includes(d.key)&&(f=f.slice().reverse()),["ArrowUp","ArrowDown"].includes(d.key)){const p=e.visuallyFocussedItem??o().find(h=>h.value===e.value)?.ref.current;if(p){let h=f.indexOf(p);h===f.length-1&&(h=-1),f=f.slice(h+1)}}if(["ArrowDown"].includes(d.key)&&e.autocomplete==="both"&&f.length>1){const[p,...h]=f,C=o().find(v=>v.ref.current===p).textValue;e.textValue===C&&(f=h)}e.focusFirst(f,o())}),d.preventDefault();else if(["Tab"].includes(d.key)&&e.open)d.preventDefault();else if(["Escape"].includes(d.key))e.open?e.onOpenChange(!1):(e.onValueChange(void 0),e.onTextValueChange("")),d.preventDefault();else if(to.includes(d.key)){if(e.visuallyFocussedItem){const g=o().find(f=>f.ref.current===e.visuallyFocussedItem);g&&(e.onValueChange(g.value),e.onTextValueChange(g.textValue),e.autocomplete==="both"&&e.onFilterValueChange(g.textValue),g.ref.current?.click())}else{const g=o().find(f=>f.type==="option"&&!f.disabled&&f.textValue===e.textValue);g&&(e.onValueChange(g.value),e.onTextValueChange(g.textValue),e.autocomplete==="both"&&e.onFilterValueChange(g.textValue),g.ref.current?.click())}e.onOpenChange(!1),d.preventDefault()}else e.onVisuallyFocussedItemChange(null)}),onChange:w.composeEventHandlers(n.onChange,d=>{e.onTextValueChange(d.currentTarget.value),e.autocomplete==="both"&&e.onFilterValueChange(d.currentTarget.value)}),onKeyUp:w.composeEventHandlers(n.onKeyUp,d=>{if(!e.open&&(e.isPrintableCharacter(d.key)||["Backspace"].includes(d.key))&&i(),setTimeout(()=>{if(e.autocomplete==="both"&&e.isPrintableCharacter(d.key)&&e.filterValue!==void 0){const g=e.filterValue,f=o().find(p=>r(p.textValue,g));f&&e.onTextValueChange(f.textValue)}}),e.autocomplete==="none"&&e.isPrintableCharacter(d.key)){const g=e.textValue??"",f=o().find(p=>r(p.textValue,g));f&&(e.onVisuallyFocussedItemChange(f.ref.current),f.ref.current?.scrollIntoView())}}),onBlur:w.composeEventHandlers(n.onBlur,()=>{if(e.open)return;e.onVisuallyFocussedItemChange(null);const[d]=o().filter(f=>f.textValue===e.textValue&&f.type==="option");if(d){e.onValueChange(d.value),e.autocomplete==="both"&&e.onFilterValueChange(d.textValue);return}if(e.allowCustomValue){e.onValueChange(e.textValue),e.autocomplete==="both"&&e.onFilterValueChange(e.textValue);return}const[g]=o().filter(f=>f.value===e.value&&f.type==="option");g&&e.textValue!==""?(e.onTextValueChange(g.textValue),e.autocomplete==="both"&&e.onFilterValueChange(g.textValue)):(e.onValueChange(void 0),e.onTextValueChange(""))})})});Ct.displayName="ComboboxTextInput";const bt=s.forwardRef((n,l)=>{const{children:e,...t}=n,o=$(vt),r=o.disabled,a=()=>{r||(o.onOpenChange(!0),o.trigger?.focus())};return u.jsx(N.Primitive.button,{"aria-hidden":!0,type:"button","aria-disabled":r,"aria-controls":o.contentId,"aria-expanded":o.open,disabled:r,"data-disabled":r?"":void 0,...t,tabIndex:-1,ref:l,onClick:w.composeEventHandlers(t.onClick,()=>{o.trigger?.focus()}),onPointerDown:w.composeEventHandlers(t.onPointerDown,c=>{c.button===0&&c.ctrlKey===!1&&(a(),c.preventDefault())}),onKeyDown:w.composeEventHandlers(t.onKeyDown,c=>{eo.includes(c.key)&&(a(),c.preventDefault())}),children:e||"▼"})});bt.displayName="ComboboxIcon";const lo="ComboboxPortal",St=n=>u.jsx(ut.Portal,{asChild:!0,...n});St.displayName=lo;const Le="ComboboxContent",yt=s.forwardRef((n,l)=>{const e=$(Le),{getItems:t}=me(void 0),[o,r]=s.useState();if(F.useLayoutEffect(()=>{r(new DocumentFragment)},[]),F.useLayoutEffect(()=>{e.open&&e.autocomplete==="none"&&setTimeout(()=>{t().find(c=>c.value===e.value)?.ref.current?.scrollIntoView({block:"nearest"})})},[t,e.autocomplete,e.value,e.open]),!e.open){const a=o;return a?Ce.createPortal(u.jsx(ie.Slot,{scope:void 0,children:u.jsx("div",{children:n.children})}),a):null}return u.jsx(It,{...n,ref:l})});yt.displayName=Le;const co=10,It=s.forwardRef((n,l)=>{const{onEscapeKeyDown:e,onPointerDownOutside:t,...o}=n,r=$(Le),a=O.useComposedRefs(l,i=>r.onContentChange(i)),{onOpenChange:c}=r;return at.useFocusGuards(),s.useEffect(()=>{const i=()=>{c(!1)};return window.addEventListener("blur",i),window.addEventListener("resize",i),()=>{window.removeEventListener("blur",i),window.removeEventListener("resize",i)}},[c]),u.jsx(pt.RemoveScroll,{allowPinchZoom:!0,children:u.jsx(ct.DismissableLayer,{asChild:!0,onEscapeKeyDown:e,onPointerDownOutside:t,onFocusOutside:i=>{i.preventDefault()},onDismiss:()=>{r.onOpenChange(!1),r.trigger?.focus({preventScroll:!0})},children:u.jsx(wt,{role:"listbox",id:r.contentId,"data-state":r.open?"open":"closed",onContextMenu:i=>i.preventDefault(),...o,ref:a,style:{display:"flex",flexDirection:"column",outline:"none",...o.style}})})})});It.displayName="ComboboxContentImpl";const wt=s.forwardRef((n,l)=>{const{align:e="start",collisionPadding:t=co,...o}=n;return u.jsx(se.Content,{...o,ref:l,align:e,collisionPadding:t,style:{boxSizing:"border-box",...o.style,"--radix-combobox-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-combobox-content-available-width":"var(--radix-popper-available-width)","--radix-combobox-content-available-height":"var(--radix-popper-available-height)","--radix-combobox-trigger-width":"var(--radix-popper-anchor-width)","--radix-combobox-trigger-height":"var(--radix-popper-anchor-height)"}})});wt.displayName="ComboboxPopperPosition";const Tt="ComboboxViewport",Pt=s.forwardRef((n,l)=>{const e=$(Tt),t=O.useComposedRefs(l,e.onViewportChange);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-combobox-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-combobox-viewport]::-webkit-scrollbar{display:none}"}}),u.jsx(ie.Slot,{scope:void 0,children:u.jsx(N.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...n,ref:t,style:{position:"relative",flex:1,overflow:"auto",...n.style}})})]})});Pt.displayName=Tt;const be="ComboboxItem",[lt,Fe]=ve.createContext(be),ke=s.forwardRef((n,l)=>{const{value:e,disabled:t=!1,textValue:o,...r}=n,[a,c]=s.useState();F.useLayoutEffect(()=>{c(new DocumentFragment)},[]);const{onTextValueChange:i,textValue:m,...d}=$(be),g=re.useId(),[f,p]=s.useState(o??""),h=d.value===e,{startsWith:C}=De(d.locale,{sensitivity:"base"}),v=s.useCallback(b=>{p(x=>x||(b?.textContent??"").trim())},[]);return s.useEffect(()=>{h&&m===void 0&&f!==""&&i(f)},[f,h,m,i]),d.autocomplete==="both"&&f&&d.filterValue&&!C(f,d.filterValue)||d.autocomplete==="list"&&f&&m&&!C(f,m)?a?Ce.createPortal(u.jsx(lt,{textId:g,onTextValueChange:v,isSelected:h,textValue:f,children:u.jsx(ie.ItemSlot,{scope:void 0,value:e,textValue:f,disabled:t,type:"option",isVisible:!1,children:u.jsx(Ve,{ref:l,value:e,disabled:t,...r})})}),a):null:u.jsx(lt,{textId:g,onTextValueChange:v,isSelected:h,textValue:f,children:u.jsx(ie.ItemSlot,{scope:void 0,value:e,textValue:f,disabled:t,type:"option",isVisible:!0,children:u.jsx(Ve,{ref:l,value:e,disabled:t,...r})})})});ke.displayName=be;const Et="ComboboxItemImpl",Ve=s.forwardRef((n,l)=>{const{value:e,disabled:t=!1,...o}=n,r=s.useRef(null),a=O.useComposedRefs(l,r),{getItems:c}=me(void 0),{onTextValueChange:i,visuallyFocussedItem:m,...d}=$(be),{isSelected:g,textValue:f,textId:p}=Fe(Et),h=()=>{t||(d.onValueChange(e),i(f),d.onOpenChange(!1),d.autocomplete==="both"&&d.onFilterValueChange(f),d.trigger?.focus({preventScroll:!0}))},C=s.useMemo(()=>m===c().find(b=>b.ref.current===r.current)?.ref.current,[c,m]),v=re.useId();return u.jsx(N.Primitive.div,{role:"option","aria-labelledby":p,"data-highlighted":C?"":void 0,"aria-selected":g&&C,"data-state":g?"checked":"unchecked","aria-disabled":t||void 0,"data-disabled":t?"":void 0,tabIndex:t?void 0:-1,...o,id:v,ref:a,onPointerUp:w.composeEventHandlers(o.onPointerUp,h)})});Ve.displayName=Et;const Vt="ComboboxItemText",Rt=s.forwardRef((n,l)=>{const{className:e,style:t,...o}=n,r=Fe(Vt),a=O.useComposedRefs(l,r.onTextValueChange);return u.jsx(N.Primitive.span,{id:r.textId,...o,ref:a})});Rt.displayName=Vt;const Nt="ComboboxItemIndicator",_t=s.forwardRef((n,l)=>{const{isSelected:e}=Fe(Nt);return e?u.jsx(N.Primitive.span,{"aria-hidden":!0,...n,ref:l}):null});_t.displayName=Nt;const He="ComboboxNoValueFound",At=s.forwardRef((n,l)=>{const{textValue:e="",filterValue:t="",locale:o,autocomplete:r}=$(He),[a,c]=s.useState([]),{subscribe:i}=me(void 0),{startsWith:m}=De(o,{sensitivity:"base"});return s.useEffect(()=>{const d=i(g=>{c(g)});return()=>{d()}},[i]),a.length===0||r==="none"||r==="list"&&a.some(d=>m(d.textValue,e))||r==="both"&&a.some(d=>m(d.textValue,t))?null:u.jsx(N.Primitive.div,{...n,ref:l})});At.displayName=He;const Ot=s.forwardRef((n,l)=>{const{disabled:e=!1,...t}=n,o=$(He),{textValue:r,visuallyFocussedItem:a}=o,{getItems:c,subscribe:i}=me(void 0),m=s.useRef(null),[d,g]=s.useState(!1),f=O.useComposedRefs(l,m),p=s.useMemo(()=>a===c().find(v=>v.ref.current===m.current)?.ref.current,[c,a]),h=re.useId(),C=()=>{!e&&r&&(o.onValueChange(r),o.onTextValueChange(r),o.onOpenChange(!1),o.autocomplete==="both"&&o.onFilterValueChange(r),o.trigger?.focus({preventScroll:!0}))};return F.useLayoutEffect(()=>{const v=i(b=>{g(!b.some(x=>x.textValue===r&&x.type!=="create"))});return c().length===0&&g(!0),()=>{v()}},[r,i,c]),!r||!d?null:u.jsx(ie.ItemSlot,{scope:void 0,value:r??"",textValue:r??"",disabled:e,isVisible:!0,type:"create",children:u.jsx(N.Primitive.div,{role:"option",tabIndex:e?void 0:-1,"aria-disabled":e||void 0,"data-disabled":e?"":void 0,"data-highlighted":p?"":void 0,...t,id:h,ref:f,onPointerUp:w.composeEventHandlers(t.onPointerUp,C)})})});Ot.displayName="ComboboxCreateItem";const ao=so,io=gt,uo=Ct,po=bt,fo=St,mo=yt,ho=Pt,xo=ke,go=Rt,vo=_t,Co=At,bo=Ot;function So(n,l){const e=Math.min(n.length,l.length);for(let t=0;t<e;t++)if(n[t]!==l[t])return t;return e}const yo=Object.freeze(Object.defineProperty({__proto__:null,ComboboxItem:ke,Content:mo,CreateItem:bo,Icon:po,Item:xo,ItemIndicator:vo,ItemText:go,NoValueFound:Co,Portal:fo,Root:ao,TextInput:uo,Trigger:io,Viewport:ho},Symbol.toStringTag,{value:"Module"})),Io=[" ","Enter","ArrowUp","ArrowDown"],wo=[" ","Enter"],he="Select",[Se,xe,To]=Gt.createCollection(he),[ue,Po]=ve.createContextScope(he,[To,Me.createPopperScope]),ye=Me.createPopperScope(),[Eo,G]=ue(he),[Vo,Ro]=ue(he),Be=n=>{const{__scopeSelect:l,children:e,open:t,defaultOpen:o,onOpenChange:r,value:a,defaultValue:c,onValueChange:i,dir:m,disabled:d,required:g,multi:f=!1}=n,p=ye(l),[h,C]=s.useState(null),[v,b]=s.useState(null),[x,y]=s.useState(!1),V=Yt.useDirection(m),[M=!1,_]=ae.useControllableState({prop:t,defaultProp:o,onChange:r}),[A,D]=ae.useControllableState({prop:a,defaultProp:c,onChange(j){i&&(Array.isArray(j),i(j))}}),Y=s.useRef(null),[q,k]=s.useState(new Set);return u.jsx(se.Root,{...p,children:u.jsx(Eo,{required:g,scope:l,trigger:h,onTriggerChange:C,valueNode:v,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:y,contentId:re.useId(),value:A,onValueChange:D,open:M,onOpenChange:_,dir:V,triggerPointerDownPosRef:Y,disabled:d,multi:f,children:u.jsx(Se.Provider,{scope:l,children:u.jsx(Vo,{scope:n.__scopeSelect,onNativeOptionAdd:s.useCallback(j=>{k(H=>new Set(H).add(j))},[]),onNativeOptionRemove:s.useCallback(j=>{k(H=>{const L=new Set(H);return L.delete(j),L})},[]),children:e})})})})};Be.displayName=he;const Mt="SelectTrigger",Ue=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=ye(e),r=G(Mt,e),a=r.disabled,c=O.useComposedRefs(l,r.onTriggerChange),i=xe(e),[m,d,g]=$t(p=>{const h=i().filter(b=>!b.disabled),C=h.find(b=>b.value===r.value),v=qt(h,p,C);if(v!==void 0&&!Array.isArray(v.value)){const b=r.multi?[v.value]:v.value;r.onValueChange(b)}}),f=()=>{a||(r.onOpenChange(!0),g())};return u.jsx(se.Anchor,{asChild:!0,...o,children:u.jsx(N.Primitive.div,{role:"combobox","aria-controls":r.contentId,"aria-expanded":r.open,"aria-required":r.required,"aria-autocomplete":"none",dir:r.dir,"data-state":r.open?"open":"closed","data-disabled":a?"":void 0,"data-placeholder":r.value===void 0?"":void 0,tabIndex:a?void 0:0,...t,ref:c,onClick:w.composeEventHandlers(t.onClick,p=>{p.currentTarget.focus()}),onPointerDown:w.composeEventHandlers(t.onPointerDown,p=>{const h=p.target;h.hasPointerCapture(p.pointerId)&&h.releasePointerCapture(p.pointerId),(h.closest("button")??h.closest("div"))===p.currentTarget&&p.button===0&&p.ctrlKey===!1&&(f(),r.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)},p.preventDefault())}),onKeyDown:w.composeEventHandlers(t.onKeyDown,p=>{const h=m.current!=="",C=p.ctrlKey||p.altKey||p.metaKey,v=p.target;(v.closest("button")??v.closest("div"))===p.currentTarget&&(!C&&p.key.length===1&&d(p.key),!(h&&p.key===" ")&&Io.includes(p.key)&&(f(),p.preventDefault()))})})})});Ue.displayName=Mt;const jt="SelectValue",$e=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,placeholder:o,...r}=n,a=G(jt,e),{onValueNodeHasChildrenChange:c}=a,i=t!==void 0,m=O.useComposedRefs(l,a.onValueNodeChange),[d,g]=s.useState([]),f=xe(e);F.useLayoutEffect(()=>{c(i)},[c,i]),s.useLayoutEffect(()=>{if(Array.isArray(a.value)&&d.length!==a.value.length){const h=setTimeout(()=>{const C=f().filter(v=>Array.isArray(v.value)?!1:a.value?.includes(v.value));g(C)});return()=>{clearTimeout(h)}}},[a.value,f,d]);let p;if((a.value===void 0||a.value.length===0)&&o!==void 0)p=u.jsx("span",{children:o});else if(typeof t=="function")if(Array.isArray(a.value)){const h=a.value.map(C=>{const v=d.find(b=>b.value===C);return v?t({value:C,textValue:v?.textValue}):null});p=h.every(C=>C===null)?o:h}else p=t(a.value);else p=t;return u.jsx(N.Primitive.span,{...r,ref:m,children:p||null})});$e.displayName=jt;const No="SelectIcon",qe=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,...o}=n;return u.jsx(N.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t||"▼"})});qe.displayName=No;const _o="SelectPortal",Ke=n=>u.jsx(ut.Portal,{asChild:!0,...n});Ke.displayName=_o;const ne="SelectContent",We=s.forwardRef((n,l)=>{const e=G(ne,n.__scopeSelect),[t,o]=s.useState();if(F.useLayoutEffect(()=>{o(new DocumentFragment)},[]),!e.open){const r=t;return r?Ce.createPortal(u.jsx(Dt,{scope:n.__scopeSelect,children:u.jsx(Se.Slot,{scope:n.__scopeSelect,children:u.jsx("div",{children:n.children})})}),r):null}return u.jsx(Lt,{...n,ref:l})});We.displayName=ne;const z=10,[Dt,J]=ue(ne),Ao="SelectContentImpl",Lt=s.forwardRef((n,l)=>{const{__scopeSelect:e,position:t="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:r,onPointerDownOutside:a,side:c,sideOffset:i,align:m,alignOffset:d,arrowPadding:g,collisionBoundary:f,collisionPadding:p,sticky:h,hideWhenDetached:C,avoidCollisions:v,...b}=n,x=G(ne,e),[y,V]=s.useState(null),[M,_]=s.useState(null),A=O.useComposedRefs(l,S=>V(S)),[D,Y]=s.useState(null),[q,k]=s.useState(null),j=xe(e),[H,L]=s.useState(!1),K=s.useRef(!1);s.useEffect(()=>{if(y)return dt.hideOthers(y)},[y]),at.useFocusGuards();const W=s.useCallback(S=>{const[P,...T]=j().map(R=>R.ref.current),[I]=T.slice(-1),E=document.activeElement;for(const R of S)if(R===E||(R?.scrollIntoView({block:"nearest"}),R===P&&M&&(M.scrollTop=0),R===I&&M&&(M.scrollTop=M.scrollHeight),R?.focus(),document.activeElement!==E))return},[j,M]),B=s.useCallback(()=>W([D,y]),[W,D,y]);s.useEffect(()=>{H&&B()},[H,B]);const{onOpenChange:X,triggerPointerDownPosRef:U}=x;s.useEffect(()=>{if(y){let S={x:0,y:0};const P=I=>{S={x:Math.abs(Math.round(I.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(I.pageY)-(U.current?.y??0))}},T=I=>{S.x<=10&&S.y<=10?I.preventDefault():y.contains(I.target)||X(!1),document.removeEventListener("pointermove",P),U.current=null};return U.current!==null&&(document.addEventListener("pointermove",P),document.addEventListener("pointerup",T,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",P),document.removeEventListener("pointerup",T,{capture:!0})}}},[y,X,U]),s.useEffect(()=>{const S=()=>X(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[X]);const[de,le]=$t(S=>{const P=j().filter(E=>!E.disabled),T=P.find(E=>E.ref.current===document.activeElement),I=qt(P,S,T);I&&setTimeout(()=>I.ref.current.focus())}),pe=s.useCallback((S,P,T)=>{const I=!K.current&&!T;(x.value!==void 0&&x.value===P||I)&&(Y(S),I&&(K.current=!0))},[x.value]),Q=s.useCallback(()=>y?.focus(),[y]),Z=s.useCallback((S,P,T)=>{const I=!K.current&&!T;(x.value!==void 0&&(Array.isArray(P)?P.every(R=>x.value?.includes(R)):x.value===P)||I)&&k(S)},[x.value]),ce=t==="popper"?Re:Ft,ee=ce===Re?{side:c,sideOffset:i,align:m,alignOffset:d,arrowPadding:g,collisionBoundary:f,collisionPadding:p,sticky:h,hideWhenDetached:C,avoidCollisions:v}:{};return u.jsx(Dt,{scope:e,content:y,viewport:M,onViewportChange:_,itemRefCallback:pe,selectedItem:D,onItemLeave:Q,itemTextRefCallback:Z,focusSelectedItem:B,selectedItemText:q,position:t,isPositioned:H,searchRef:de,children:u.jsx(pt.RemoveScroll,{as:Ee.Slot,allowPinchZoom:!0,children:u.jsx(it.FocusScope,{asChild:!0,trapped:x.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:w.composeEventHandlers(o,S=>{x.trigger?.focus({preventScroll:!0}),document.getSelection()?.empty(),S.preventDefault()}),children:u.jsx(ct.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:u.jsx(ce,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed","aria-multiselectable":x.multi?"true":void 0,dir:x.dir,onContextMenu:S=>S.preventDefault(),...b,...ee,onPlaced:()=>L(!0),ref:A,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:w.composeEventHandlers(b.onKeyDown,S=>{const P=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!P&&S.key.length===1&&le(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let I=j().filter(E=>!E.disabled).map(E=>E.ref.current);if(["ArrowUp","End"].includes(S.key)&&(I=I.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const E=S.target,R=I.indexOf(E);I=I.slice(R+1)}setTimeout(()=>W(I)),S.preventDefault()}})})})})})})});Lt.displayName=Ao;const Oo="SelectItemAlignedPosition",Ft=s.forwardRef((n,l)=>{const{__scopeSelect:e,onPlaced:t,...o}=n,r=G(ne,e),a=J(ne,e),[c,i]=s.useState(null),[m,d]=s.useState(null),g=O.useComposedRefs(l,A=>d(A)),f=xe(e),p=s.useRef(!1),h=s.useRef(!0),{viewport:C,selectedItem:v,selectedItemText:b,focusSelectedItem:x}=a,y=s.useCallback(()=>{if(r.trigger&&r.valueNode&&c&&m&&C&&v&&b){const A=r.trigger.getBoundingClientRect(),D=m.getBoundingClientRect(),Y=r.valueNode.getBoundingClientRect(),q=b.getBoundingClientRect();if(r.dir!=="rtl"){const E=q.left-D.left,R=Y.left-E,te=A.left-R,oe=A.width+te,Ie=Math.max(oe,D.width),we=window.innerWidth-z,Te=st.clamp(R,[z,we-Ie]);c.style.minWidth=`${oe}px`,c.style.left=`${Te}px`}else{const E=D.right-q.right,R=window.innerWidth-Y.right-E,te=window.innerWidth-A.right-R,oe=A.width+te,Ie=Math.max(oe,D.width),we=window.innerWidth-z,Te=st.clamp(R,[z,we-Ie]);c.style.minWidth=`${oe}px`,c.style.right=`${Te}px`}const k=f(),j=window.innerHeight-z*2,H=C.scrollHeight,L=window.getComputedStyle(m),K=parseInt(L.borderTopWidth,10),W=parseInt(L.paddingTop,10),B=parseInt(L.borderBottomWidth,10),X=parseInt(L.paddingBottom,10),U=K+W+H+X+B,de=Math.min(v.offsetHeight*5,U),le=window.getComputedStyle(C),pe=parseInt(le.paddingTop,10),Q=parseInt(le.paddingBottom,10),Z=A.top+A.height/2-z,ce=j-Z,ee=v.offsetHeight/2,S=v.offsetTop+ee,P=K+W+S,T=U-P;if(P<=Z){const E=v===k[k.length-1].ref.current;c.style.bottom="0px";const R=m.clientHeight-C.offsetTop-C.offsetHeight,te=Math.max(ce,ee+(E?Q:0)+R+B),oe=P+te;c.style.height=`${oe}px`}else{const E=v===k[0].ref.current;c.style.top="0px";const te=Math.max(Z,K+C.offsetTop+(E?pe:0)+ee)+T;c.style.height=`${te}px`,C.scrollTop=P-Z+C.offsetTop}c.style.margin=`${z}px 0`,c.style.minHeight=`${de}px`,c.style.maxHeight=`${j}px`,t?.(),requestAnimationFrame(()=>p.current=!0)}},[f,r.trigger,r.valueNode,c,m,C,v,b,r.dir,t]);F.useLayoutEffect(()=>y(),[y]);const[V,M]=s.useState();F.useLayoutEffect(()=>{m&&M(window.getComputedStyle(m).zIndex)},[m]);const _=s.useCallback(A=>{A&&h.current===!0&&(y(),x?.(),h.current=!1)},[y,x]);return u.jsx(jo,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:p,onScrollButtonChange:_,children:u.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:V},children:u.jsx(N.Primitive.div,{...o,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Ft.displayName=Oo;const Mo="SelectPopperPosition",Re=s.forwardRef((n,l)=>{const{__scopeSelect:e,align:t="start",collisionPadding:o=z,...r}=n,a=ye(e);return u.jsx(se.Content,{...a,...r,ref:l,align:t,collisionPadding:o,style:{boxSizing:"border-box",...r.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Re.displayName=Mo;const[jo,ze]=ue(ne,{}),Ne="SelectViewport",Ge=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=J(Ne,e),r=ze(Ne,e),a=O.useComposedRefs(l,o.onViewportChange),c=s.useRef(0);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"}}),u.jsx(Se.Slot,{scope:e,children:u.jsx(N.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...t,ref:a,style:{position:"relative",flex:1,overflow:"auto",...t.style},onScroll:w.composeEventHandlers(t.onScroll,i=>{const m=i.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:g}=r;if(g?.current&&d){const f=Math.abs(c.current-m.scrollTop);if(f>0){const p=window.innerHeight-z*2,h=parseFloat(d.style.minHeight),C=parseFloat(d.style.height),v=Math.max(h,C);if(v<p){const b=v+f,x=Math.min(p,b),y=b-x;d.style.height=`${x}px`,d.style.bottom==="0px"&&(m.scrollTop=y>0?y:0,d.style.justifyContent="flex-end")}}}c.current=m.scrollTop})})})]})});Ge.displayName=Ne;const kt="SelectGroup",[Do,Lo]=ue(kt),Ye=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=re.useId();return u.jsx(Do,{scope:e,id:o,children:u.jsx(N.Primitive.div,{role:"group","aria-labelledby":o,...t,ref:l})})});Ye.displayName=kt;const Ht="SelectLabel",Xe=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=Lo(Ht,e);return u.jsx(N.Primitive.div,{id:o.id,...t,ref:l})});Xe.displayName=Ht;const ge="SelectItem",[Fo,Bt]=ue(ge),Ze=s.forwardRef((n,l)=>{const{__scopeSelect:e,value:t,disabled:o=!1,textValue:r,...a}=n,c=G(ge,e),i=J(ge,e),m=typeof t=="string"?Array.isArray(c.value)?c.value.includes(t):c.value===t:t.every(x=>c.value?.includes(x)),d=Array.isArray(c.value)&&Array.isArray(t)&&t.some(x=>c.value?.includes(x)),[g,f]=s.useState(r??""),[p,h]=s.useState(!1),C=O.useComposedRefs(l,x=>i.itemRefCallback?.(x,t,o)),v=re.useId(),b=()=>{if(!o){let x=c.multi&&typeof t=="string"?[t]:t;d&&!m?c.onValueChange(x):Array.isArray(c.value)&&(x=Kt(t,c.value)),c.onValueChange(x),c.multi||c.onOpenChange(!1)}};if(!c.multi&&Array.isArray(t))throw new Error("You can only pass an array of values in multi selects");return u.jsx(Fo,{scope:e,value:t,disabled:o,textId:v,isSelected:m,isIntermediate:d,onItemTextChange:s.useCallback(x=>{f(y=>y||(x?.textContent??"").trim())},[]),children:u.jsx(Se.ItemSlot,{scope:e,value:t,disabled:o,textValue:g,children:u.jsx(N.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":p?"":void 0,"aria-selected":c.multi?void 0:m&&p,"aria-checked":c.multi?m:void 0,"data-state":m?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:C,onFocus:w.composeEventHandlers(a.onFocus,()=>h(!0)),onBlur:w.composeEventHandlers(a.onBlur,()=>h(!1)),onPointerUp:w.composeEventHandlers(a.onPointerUp,b),onPointerMove:w.composeEventHandlers(a.onPointerMove,x=>{o?i.onItemLeave?.():x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:w.composeEventHandlers(a.onPointerLeave,x=>{x.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:w.composeEventHandlers(a.onKeyDown,x=>{i.searchRef?.current!==""&&x.key===" "||(wo.includes(x.key)&&b(),x.key===" "&&x.preventDefault())})})})})});Ze.displayName=ge;const fe="SelectItemText",Je=s.forwardRef((n,l)=>{const{__scopeSelect:e,className:t,style:o,...r}=n,a=G(fe,e),c=J(fe,e),i=Bt(fe,e),m=Ro(fe,e),[d,g]=s.useState(null),f=O.useComposedRefs(l,b=>g(b),i.onItemTextChange,b=>c.itemTextRefCallback?.(b,i.value,i.disabled)),p=d?.textContent,h=s.useMemo(()=>u.jsx("option",{value:i.value,disabled:i.disabled,children:p},Array.isArray(i.value)?i.value.join(";"):i.value),[i.disabled,i.value,p]),{onNativeOptionAdd:C,onNativeOptionRemove:v}=m;return F.useLayoutEffect(()=>(C(h),()=>v(h)),[C,v,h]),u.jsxs(u.Fragment,{children:[u.jsx(N.Primitive.span,{id:i.textId,...r,ref:f}),i.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Ce.createPortal(r.children,a.valueNode):null]})});Je.displayName=fe;const Ut="SelectItemIndicator",Qe=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,...o}=n,r=Bt(Ut,e);return typeof t=="function"?u.jsx(N.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t({isSelected:r.isSelected,isIntermediate:r.isIntermediate})}):r.isSelected?u.jsx(N.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t}):null});Qe.displayName=Ut;const _e="SelectScrollUpButton",et=s.forwardRef((n,l)=>{const e=J(_e,n.__scopeSelect),t=ze(_e,n.__scopeSelect),[o,r]=s.useState(!1),a=O.useComposedRefs(l,t.onScrollButtonChange);return F.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const c=e.viewport,i=()=>{const m=c.scrollTop>0;r(m)};return i(),c.addEventListener("scroll",i),()=>c.removeEventListener("scroll",i)}},[e.viewport,e.isPositioned]),o?u.jsx(ot,{...n,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop-=i.offsetHeight)}}):null});et.displayName=_e;const Ae="SelectScrollDownButton",tt=s.forwardRef((n,l)=>{const e=J(Ae,n.__scopeSelect),t=ze(Ae,n.__scopeSelect),[o,r]=s.useState(!1),a=O.useComposedRefs(l,t.onScrollButtonChange);return F.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const c=e.viewport,i=()=>{const m=c.scrollHeight-c.clientHeight,d=Math.ceil(c.scrollTop)<m;r(d)};return i(),c.addEventListener("scroll",i),()=>c.removeEventListener("scroll",i)}},[e.viewport,e.isPositioned]),o?u.jsx(ot,{...n,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop+=i.offsetHeight)}}):null});tt.displayName=Ae;const ot=s.forwardRef((n,l)=>{const{__scopeSelect:e,onAutoScroll:t,...o}=n,r=J("SelectScrollButton",e),a=s.useRef(null),c=xe(e),i=s.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return s.useEffect(()=>()=>i(),[i]),F.useLayoutEffect(()=>{c().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),u.jsx(N.Primitive.div,{"aria-hidden":!0,...o,ref:l,style:{flexShrink:0,...o.style},onPointerMove:w.composeEventHandlers(o.onPointerMove,()=>{r.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(t,50))}),onPointerLeave:w.composeEventHandlers(o.onPointerLeave,()=>{i()})})});ot.displayName="SelectScrollButtonImpl";const ko="SelectSeparator",nt=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n;return u.jsx(N.Primitive.div,{"aria-hidden":!0,...t,ref:l})});nt.displayName=ko;const Oe="SelectArrow",rt=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=ye(e),r=G(Oe,e),a=J(Oe,e);return r.open&&a.position==="popper"?u.jsx(se.Arrow,{...o,...t,ref:l}):null});rt.displayName=Oe;const Ho="BubbleSelect",Bo=s.forwardRef((n,l)=>{const{value:e,...t}=n,o=s.useRef(null),r=O.useComposedRefs(l,o),a=Xt.usePrevious(e),c=G(Ho,void 0);s.useEffect(()=>{const m=o.current,d=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(d,"value").set;if(a!==e&&f){const p=new Event("change",{bubbles:!0});f.call(m,e),m.dispatchEvent(p)}},[a,e]);let i=e;return c.multi&&!Array.isArray(e)&&(i=[]),u.jsx(Zt.VisuallyHidden,{asChild:!0,children:u.jsx("select",{...t,multiple:c.multi?!0:void 0,ref:r,defaultValue:i})})});Bo.displayName="BubbleSelect";function $t(n){const l=ft.useCallbackRef(n),e=s.useRef(""),t=s.useRef(0),o=s.useCallback(a=>{const c=e.current+a;l(c),function i(m){e.current=m,window.clearTimeout(t.current),m!==""&&(t.current=window.setTimeout(()=>i(""),1e3))}(c)},[l]),r=s.useCallback(()=>{e.current="",window.clearTimeout(t.current)},[]);return s.useEffect(()=>()=>window.clearTimeout(t.current),[]),[e,o,r]}function qt(n,l,e){const o=l.length>1&&Array.from(l).every(m=>m===l[0])?l[0]:l,r=e?n.indexOf(e):-1;let a=Uo(n,Math.max(r,0));o.length===1&&(a=a.filter(m=>m!==e));const i=a.find(m=>m.textValue.toLowerCase().startsWith(o.toLowerCase()));return i!==e?i:void 0}function Uo(n,l){return n.map((e,t)=>n[(l+t)%n.length])}const Kt=(n,l=[])=>{if(Array.isArray(n))return n.reduce((t,o)=>Kt(o,t),l);const e=l.indexOf(n);return e===-1?[...l,n]:[...l.slice(0,e),...l.slice(e+1)]},$o=Be,qo=Ue,Ko=$e,Wo=qe,zo=Ke,Go=We,Yo=Ge,Xo=Ye,Zo=Xe,Jo=Ze,Qo=Je,en=Qe,tn=et,on=tt,nn=nt,rn=rt,sn=Object.freeze(Object.defineProperty({__proto__:null,Arrow:rn,Content:Go,Group:Xo,Icon:Wo,Item:Jo,ItemIndicator:en,ItemText:Qo,Label:Zo,Portal:zo,Root:$o,ScrollDownButton:on,ScrollUpButton:tn,Select:Be,SelectArrow:rt,SelectContent:We,SelectGroup:Ye,SelectIcon:qe,SelectItem:Ze,SelectItemIndicator:Qe,SelectItemText:Je,SelectLabel:Xe,SelectPortal:Ke,SelectScrollDownButton:tt,SelectScrollUpButton:et,SelectSeparator:nt,SelectTrigger:Ue,SelectValue:$e,SelectViewport:Ge,Separator:nn,Trigger:qo,Value:Ko,Viewport:Yo,createSelectScope:Po},Symbol.toStringTag,{value:"Module"}));Object.defineProperty(exports,"composeEventHandlers",{enumerable:!0,get:()=>w.composeEventHandlers});Object.defineProperty(exports,"useCallbackRef",{enumerable:!0,get:()=>ft.useCallbackRef});exports.Combobox=yo;exports.Select=sn;exports.createCollection=mt;