@strapi/ui-primitives 2.2.0 → 2.2.2

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.
@@ -1,3 +1,4 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
1
2
  import { Slot } from '@radix-ui/react-slot';
2
3
  /**
3
4
  * An internal fork of Radix UI's `Collection` component.
@@ -5,8 +6,7 @@ import { Slot } from '@radix-ui/react-slot';
5
6
  * We've added a subscription API to allow us to subscribe to changes in the collection via the useCollection hook.
6
7
  */
7
8
  import * as React from 'react';
8
- import type * as Radix from '@radix-ui/react-primitive';
9
- type SlotProps = Radix.ComponentPropsWithoutRef<typeof Slot>;
9
+ type SlotProps = ComponentPropsWithoutRef<typeof Slot>;
10
10
  interface CollectionProps extends SlotProps {
11
11
  scope: any;
12
12
  }
@@ -1,3 +1,4 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
1
2
  import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
2
3
  import { FocusScope } from '@radix-ui/react-focus-scope';
3
4
  import { Portal as PortalPrimitive } from '@radix-ui/react-portal';
@@ -18,7 +19,6 @@ import { Scope } from '@radix-ui/react-context';
18
19
  */
19
20
  import * as React from 'react';
20
21
  import * as PopperPrimitive from '@radix-ui/react-popper';
21
- import type * as Radix from '@radix-ui/react-primitive';
22
22
  type Direction = 'ltr' | 'rtl';
23
23
  type ScopedProps<P> = P & {
24
24
  __scopeSelect?: Scope;
@@ -52,14 +52,14 @@ declare const Select: {
52
52
  (props: ScopedProps<SelectProps>): import("react/jsx-runtime").JSX.Element;
53
53
  displayName: string;
54
54
  };
55
- type PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
55
+ type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.div>;
56
56
  type SelectTriggerProps = PrimitiveButtonProps;
57
- declare const SelectTrigger: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
57
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
58
58
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
59
59
  } & {
60
60
  asChild?: boolean | undefined;
61
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
62
- type PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;
61
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
62
+ type PrimitiveSpanProps = ComponentPropsWithoutRef<typeof Primitive.span>;
63
63
  type SelectValueRenderFn = {
64
64
  ({ value, textValue }: {
65
65
  value?: string;
@@ -73,11 +73,11 @@ interface SelectValueProps extends Omit<PrimitiveSpanProps, 'placeholder' | 'chi
73
73
  }
74
74
  declare const SelectValue: React.ForwardRefExoticComponent<SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
75
75
  type SelectIconProps = PrimitiveSpanProps;
76
- declare const SelectIcon: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
76
+ declare const SelectIcon: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
77
77
  ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
78
78
  } & {
79
79
  asChild?: boolean | undefined;
80
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
80
+ }, "ref"> & React.RefAttributes<HTMLSpanElement>>;
81
81
  type PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;
82
82
  interface SelectPortalProps extends Omit<PortalProps, 'asChild'> {
83
83
  children?: React.ReactNode;
@@ -89,7 +89,7 @@ declare const SelectPortal: {
89
89
  type SelectContentProps = SelectContentImplProps;
90
90
  declare const SelectContent: React.ForwardRefExoticComponent<SelectContentImplProps & React.RefAttributes<HTMLDivElement>>;
91
91
  type DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;
92
- type FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;
92
+ type FocusScopeProps = ComponentPropsWithoutRef<typeof FocusScope>;
93
93
  type SelectPopperPrivateProps = {
94
94
  onPlaced?: PopperContentProps['onPlaced'];
95
95
  };
@@ -116,25 +116,25 @@ interface SelectItemAlignedPositionProps extends PrimitiveDivProps, SelectPopper
116
116
  type PopperContentProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;
117
117
  interface SelectPopperPositionProps extends PopperContentProps, SelectPopperPrivateProps {
118
118
  }
119
- type PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
119
+ type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
120
120
  type SelectViewportProps = PrimitiveDivProps;
121
- declare const SelectViewport: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
121
+ declare const SelectViewport: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
122
122
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
123
123
  } & {
124
124
  asChild?: boolean | undefined;
125
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
125
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
126
126
  type SelectGroupProps = PrimitiveDivProps;
127
- declare const SelectGroup: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
127
+ declare const SelectGroup: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
128
128
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
129
129
  } & {
130
130
  asChild?: boolean | undefined;
131
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
131
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
132
132
  type SelectLabelProps = PrimitiveDivProps;
133
- declare const SelectLabel: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
133
+ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
134
134
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
135
135
  } & {
136
136
  asChild?: boolean | undefined;
137
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
137
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
138
138
  interface SelectItemProps extends PrimitiveDivProps {
139
139
  value: string | string[];
140
140
  disabled?: boolean;
@@ -142,11 +142,11 @@ interface SelectItemProps extends PrimitiveDivProps {
142
142
  }
143
143
  declare const SelectItem: React.ForwardRefExoticComponent<SelectItemProps & React.RefAttributes<HTMLDivElement>>;
144
144
  type SelectItemTextProps = PrimitiveSpanProps;
145
- declare const SelectItemText: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
145
+ declare const SelectItemText: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
146
146
  ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
147
147
  } & {
148
148
  asChild?: boolean | undefined;
149
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
149
+ }, "ref"> & React.RefAttributes<HTMLSpanElement>>;
150
150
  interface SelectItemIndicatorProps extends Omit<PrimitiveSpanProps, 'children'> {
151
151
  children?: React.ReactNode | ((state: {
152
152
  isSelected: boolean;
@@ -162,63 +162,63 @@ interface SelectScrollButtonImplProps extends PrimitiveDivProps {
162
162
  onAutoScroll(): void;
163
163
  }
164
164
  type SelectSeparatorProps = PrimitiveDivProps;
165
- declare const SelectSeparator: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
165
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
166
166
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
167
167
  } & {
168
168
  asChild?: boolean | undefined;
169
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
170
- type PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
169
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
170
+ type PopperArrowProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
171
171
  type SelectArrowProps = PopperArrowProps;
172
- declare const SelectArrow: React.ForwardRefExoticComponent<Pick<PopperPrimitive.PopperArrowProps & React.RefAttributes<SVGSVGElement>, "string" | "children" | "suppressHydrationWarning" | "className" | "id" | "lang" | "style" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "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-rowindextext" | "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" | "onPointerLeave" | "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" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "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" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "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" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & React.RefAttributes<SVGSVGElement>>;
172
+ declare const SelectArrow: React.ForwardRefExoticComponent<Omit<PopperPrimitive.PopperArrowProps & React.RefAttributes<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
173
173
  declare const Root: {
174
174
  (props: ScopedProps<SelectProps>): import("react/jsx-runtime").JSX.Element;
175
175
  displayName: string;
176
176
  };
177
- declare const Trigger: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
177
+ declare const Trigger: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
178
178
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
179
179
  } & {
180
180
  asChild?: boolean | undefined;
181
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
181
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
182
182
  declare const Value: React.ForwardRefExoticComponent<SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
183
- declare const Icon: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
183
+ declare const Icon: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
184
184
  ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
185
185
  } & {
186
186
  asChild?: boolean | undefined;
187
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
187
+ }, "ref"> & React.RefAttributes<HTMLSpanElement>>;
188
188
  declare const Portal: {
189
189
  (props: ScopedProps<SelectPortalProps>): import("react/jsx-runtime").JSX.Element;
190
190
  displayName: string;
191
191
  };
192
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"> & {
193
+ declare const Viewport: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
194
194
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
195
195
  } & {
196
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"> & {
197
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
198
+ declare const Group: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
199
199
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
200
200
  } & {
201
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"> & {
202
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
203
+ declare const Label: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
204
204
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
205
205
  } & {
206
206
  asChild?: boolean | undefined;
207
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>;
207
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
208
208
  declare const Item: React.ForwardRefExoticComponent<SelectItemProps & React.RefAttributes<HTMLDivElement>>;
209
- declare const ItemText: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
209
+ declare const ItemText: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
210
210
  ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
211
211
  } & {
212
212
  asChild?: boolean | undefined;
213
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<HTMLSpanElement>>;
213
+ }, "ref"> & React.RefAttributes<HTMLSpanElement>>;
214
214
  declare const ItemIndicator: React.ForwardRefExoticComponent<SelectItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
215
215
  declare const ScrollUpButton: React.ForwardRefExoticComponent<SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>>;
216
216
  declare const ScrollDownButton: React.ForwardRefExoticComponent<SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>>;
217
- declare const Separator: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
217
+ declare const Separator: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
218
218
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
219
219
  } & {
220
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" | "suppressHydrationWarning" | "className" | "id" | "lang" | "style" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "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-rowindextext" | "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" | "onPointerLeave" | "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" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "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" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "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" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & React.RefAttributes<SVGSVGElement>>;
221
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
222
+ declare const Arrow: React.ForwardRefExoticComponent<Omit<PopperPrimitive.PopperArrowProps & React.RefAttributes<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
223
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, };
224
224
  export type { SingleSelectProps, MultiSelectProps, SelectProps, SelectTriggerProps, SelectValueProps, SelectValueRenderFn, SelectIconProps, SelectPortalProps, SelectContentProps, SelectContentImplProps, SelectViewportProps, SelectGroupProps, SelectLabelProps, SelectItemProps, SelectItemTextProps, SelectItemIndicatorProps, SelectScrollUpButtonProps, SelectScrollDownButtonProps, SelectSeparatorProps, SelectArrowProps, };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),Yt=require("react"),_=require("@radix-ui/react-compose-refs"),ye=require("@radix-ui/react-context"),Ee=require("@radix-ui/react-slot"),E=require("@radix-ui/primitive"),it=require("@radix-ui/react-dismissable-layer"),ct=require("@radix-ui/react-focus-guards"),at=require("@radix-ui/react-focus-scope"),le=require("@radix-ui/react-id"),je=require("@radix-ui/react-popper"),ut=require("@radix-ui/react-portal"),R=require("@radix-ui/react-primitive"),de=require("@radix-ui/react-use-controllable-state"),H=require("@radix-ui/react-use-layout-effect"),dt=require("aria-hidden"),Xt=require("react-dom"),pt=require("react-remove-scroll"),Zt=require("@tanstack/react-virtual"),st=require("@radix-ui/number"),Jt=require("@radix-ui/react-collection"),Qt=require("@radix-ui/react-direction"),eo=require("@radix-ui/react-use-previous"),to=require("@radix-ui/react-visually-hidden");function De(o){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:()=>o[e]})}}return i.default=o,Object.freeze(i)}const l=De(Yt),ie=De(je),Se=De(Xt);function ft(o){const i=`${o}CollectionProvider`,[e,t]=ye.createContextScope(i),[n,r]=e(i,{collectionRef:{current:null},itemMap:new Map,listeners:new Set}),c=d=>{const{scope:f,children:m}=d,b=l.useRef(null),x=l.useRef(new Map).current,p=l.useRef(new Set).current;return u.jsx(n,{scope:f,itemMap:x,collectionRef:b,listeners:p,children:m})};c.displayName=i;const s=`${o}CollectionSlot`,a=l.forwardRef((d,f)=>{const{scope:m,children:b}=d,x=r(s,m),p=_.useComposedRefs(f,x.collectionRef);return u.jsx(Ee.Slot,{ref:p,children:b})});a.displayName=s;const h=`${o}CollectionItemSlot`,v="data-radix-collection-item",C=l.forwardRef((d,f)=>{const{scope:m,children:b,...x}=d,p=l.useRef(null),y=_.useComposedRefs(f,p),P=r(h,m);return l.useEffect(()=>{const O=Array.from(P.itemMap.values());return P.itemMap.set(p,{ref:p,...x}),P.listeners.forEach(L=>L(Array.from(P.itemMap.values()),O)),()=>{const L=Array.from(P.itemMap.values());P.itemMap.delete(p),P.listeners.forEach(A=>A(Array.from(P.itemMap.values()),L))}}),u.jsx(Ee.Slot,{[v]:"",ref:y,children:b})});C.displayName=h;function g(d){const f=r(`${o}CollectionConsumer`,d),m=l.useCallback(()=>{const x=f.collectionRef.current;if(!x)return[];const p=Array.from(x.querySelectorAll(`[${v}]`));return Array.from(f.itemMap.values()).sort((O,L)=>p.indexOf(O.ref.current)-p.indexOf(L.ref.current))},[f.collectionRef,f.itemMap]),b=l.useCallback(x=>(f.listeners.add(x),()=>f.listeners.delete(x)),[f.listeners]);return{getItems:m,subscribe:b}}return[{Provider:c,Slot:a,ItemSlot:C},g,t]}const Ve=new Map;function mt(o,i){const e=o+(i?Object.entries(i).sort((n,r)=>n[0]<r[0]?-1:1).join():"");if(Ve.has(e))return Ve.get(e);const t=new Intl.Collator(o,i);return Ve.set(e,t),t}function we(o,i){const e=mt(o,{usage:"search",...i});return{startsWith(t,n){return n.length===0?!0:(t=t.normalize("NFC"),n=n.normalize("NFC"),e.compare(t.slice(0,n.length),n)===0)},endsWith(t,n){return n.length===0?!0:(t=t.normalize("NFC"),n=n.normalize("NFC"),e.compare(t.slice(-n.length),n)===0)},contains(t,n){if(n.length===0)return!0;t=t.normalize("NFC"),n=n.normalize("NFC");let r=0;const c=n.length;for(;r+c<=t.length;r++){const s=t.slice(r,r+c);if(e.compare(n,s)===0)return!0}return!1}}}const ht=o=>{const i=l.useRef();return l.useEffect(()=>{i.current=o}),i.current},xt=l.forwardRef(({children:o,estimatedItemSize:i=40,overscan:e=5,getItemCount:t,onViewportChange:n,...r},c)=>{const s=l.useRef(null),a=_.useComposedRefs(c,s,n),h=l.useMemo(()=>l.Children.toArray(o),[o]),v=Zt.useVirtualizer({count:t(),getScrollElement:()=>s.current,estimateSize:()=>i,overscan:e}),C=v.getVirtualItems();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(R.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...r,ref:a,style:{position:"relative",flex:1,overflow:"auto",...r.style},children:u.jsx("div",{style:{height:`${v.getTotalSize()}px`,width:"100%",position:"relative"},children:C.map(g=>{const d=h[g.index];return u.jsx("div",{"data-index":g.index,ref:v.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${g.start}px)`},children:d},g.key)})})})]})});xt.displayName="VirtualizedViewport";const oo=[" ","Enter","ArrowUp","ArrowDown"],no=["Enter"],ro=o=>!!(o.length===1&&o.match(/\S| /)),gt="Combobox",[re,ge]=ft(gt),[so,G]=ye.createContext(gt),lo=({children:o})=>u.jsx(ie.Root,{children:u.jsx(re.Provider,{scope:void 0,children:o})}),io=o=>typeof o=="string"?o==="none"?{type:o,filter:void 0}:{type:o,filter:"startsWith"}:o,co=o=>{const{allowCustomValue:i=!1,autocomplete:e="none",children:t,open:n,defaultOpen:r,onOpenChange:c,value:s,defaultValue:a,onValueChange:h,disabled:v,required:C=!1,locale:g="en-EN",onTextValueChange:d,textValue:f,defaultTextValue:m,filterValue:b,defaultFilterValue:x,onFilterValueChange:p,isPrintableCharacter:y=ro,visible:P=!1,virtualized:O="auto",estimatedItemSize:L=40,overscan:A=5}=o,[D,Z]=l.useState(null),[B,z]=l.useState(null),[N,$]=l.useState(null),[F,U]=l.useState(null),[J=!1,Q]=de.useControllableState({prop:n,defaultProp:r,onChange:c}),[W,q]=de.useControllableState({prop:s,defaultProp:a,onChange:h}),[ce,ee]=de.useControllableState({prop:f,defaultProp:i&&!m?s:m,onChange:d}),[fe,me]=de.useControllableState({prop:b,defaultProp:x,onChange:p}),te=le.useId(),ae=l.useCallback((S,I)=>{var K;const M=I.map(j=>j.ref.current),[V,...T]=M,[w]=T.slice(-1),k=F??((K=I.find(j=>j.value===W))==null?void 0:K.ref.current);for(const j of S){if(j===k)return;if(j==null||j.scrollIntoView({block:"nearest"}),j===V&&B&&(B.scrollTop=0),j===w&&B&&(B.scrollTop=B.scrollHeight),U(j),e==="both"){const ue=I.find(he=>he.ref.current===j);ue&&ee(ue.textValue)}if(j!==k)return}},[e,ee,B,F,W]),ne=io(e);return l.useEffect(()=>{e!=="both"&&U(null)},[ce,e]),l.useEffect(()=>{if(N&&D)return dt.hideOthers([N,D])},[N,D]),u.jsx(lo,{children:u.jsx(so,{allowCustomValue:i,autocomplete:ne,required:C,trigger:D,onTriggerChange:Z,contentId:te,value:W,onValueChange:q,open:J,onOpenChange:Q,disabled:v,locale:g,focusFirst:ae,textValue:ce,onTextValueChange:ee,onViewportChange:z,onContentChange:$,visuallyFocussedItem:F,filterValue:fe,onFilterValueChange:me,onVisuallyFocussedItemChange:U,isPrintableCharacter:y,visible:P,virtualized:O,estimatedItemSize:L,overscan:A,children:t})})},vt="ComboboxTrigger",Ct=l.forwardRef((o,i)=>{const{...e}=o,t=G(vt),n=()=>{t.disabled||t.onOpenChange(!0)};return u.jsx(ie.Anchor,{asChild:!0,children:u.jsx(at.FocusScope,{asChild:!0,trapped:t.open,onMountAutoFocus:r=>{r.preventDefault()},onUnmountAutoFocus:r=>{var c,s;(c=t.trigger)==null||c.focus({preventScroll:!0}),(s=document.getSelection())==null||s.empty(),r.preventDefault()},children:u.jsx("div",{ref:i,"data-disabled":t.disabled?"":void 0,...e,onClick:E.composeEventHandlers(e.onClick,r=>{var c;if(t.disabled){r.preventDefault();return}(c=t.trigger)==null||c.focus()}),onPointerDown:E.composeEventHandlers(e.onPointerDown,r=>{var a;if(t.disabled){r.preventDefault();return}const c=r.target;c.hasPointerCapture(r.pointerId)&&c.releasePointerCapture(r.pointerId),(c.closest("button")??c.closest("div"))===r.currentTarget&&r.button===0&&r.ctrlKey===!1&&(n(),(a=t.trigger)==null||a.focus())})})})})});Ct.displayName=vt;const bt="ComboboxInput",yt=l.forwardRef((o,i)=>{var v;const e=G(bt),t=l.useRef(null),{getItems:n}=ge(void 0),{startsWith:r}=we(e.locale,{sensitivity:"base"}),c=e.disabled,s=_.useComposedRefs(t,i,e.onTriggerChange),a=()=>{c||e.onOpenChange(!0)},h=ht(e.filterValue);return H.useLayoutEffect(()=>{const C=setTimeout(()=>{var f;if(e.textValue===""||e.textValue===void 0||e.filterValue===""||e.filterValue===void 0)return;const g=n().find(m=>m.type==="option"&&r(m.textValue,e.textValue)),d=Io(h??"",e.filterValue);g&&!e.visuallyFocussedItem&&d===e.filterValue.length&&((f=t.current)==null||f.setSelectionRange(e.filterValue.length,e.textValue.length))});return()=>clearTimeout(C)},[e.textValue,e.filterValue,r,e.visuallyFocussedItem,n,h]),u.jsx("input",{type:"text",role:"combobox","aria-controls":e.contentId,"aria-expanded":e.open,"aria-required":e.required,"aria-autocomplete":e.autocomplete.type,"data-state":e.open?"open":"closed","aria-disabled":c,"aria-activedescendant":(v=e.visuallyFocussedItem)==null?void 0:v.id,disabled:c,"data-disabled":c?"":void 0,"data-placeholder":e.textValue===void 0?"":void 0,value:e.textValue??"",...o,ref:s,onKeyDown:E.composeEventHandlers(o.onKeyDown,C=>{var g,d;if(["ArrowUp","ArrowDown","Home","End"].includes(C.key))e.open||a(),setTimeout(()=>{var b;let m=n().filter(x=>!x.disabled&&x.isVisible).map(x=>x.ref.current);if(["ArrowUp","End"].includes(C.key)&&(m=m.slice().reverse()),["ArrowUp","ArrowDown"].includes(C.key)){const x=e.visuallyFocussedItem??((b=n().find(p=>p.value===e.value))==null?void 0:b.ref.current);if(x){let p=m.indexOf(x);p===m.length-1&&(p=-1),m=m.slice(p+1)}}if(["ArrowDown"].includes(C.key)&&e.autocomplete.type==="both"&&m.length>1){const[x,...p]=m,y=n().find(P=>P.ref.current===x).textValue;e.textValue===y&&(m=p)}e.focusFirst(m,n())}),C.preventDefault();else if(["Tab"].includes(C.key)&&e.open)C.preventDefault();else if(["Escape"].includes(C.key))e.open?e.onOpenChange(!1):(e.onValueChange(void 0),e.onTextValueChange("")),C.preventDefault();else if(no.includes(C.key)){if(e.visuallyFocussedItem){const f=n().find(m=>m.ref.current===e.visuallyFocussedItem);f&&(e.onValueChange(f.value),e.onTextValueChange(f.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(f.textValue),(g=f.ref.current)==null||g.click())}else{const f=n().find(m=>m.type==="option"&&!m.disabled&&m.textValue===e.textValue);f&&(e.onValueChange(f.value),e.onTextValueChange(f.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(f.textValue),(d=f.ref.current)==null||d.click())}e.onOpenChange(!1),C.preventDefault()}else e.onVisuallyFocussedItemChange(null)}),onChange:E.composeEventHandlers(o.onChange,C=>{e.onTextValueChange(C.currentTarget.value),e.autocomplete.type==="both"&&e.onFilterValueChange(C.currentTarget.value)}),onKeyUp:E.composeEventHandlers(o.onKeyUp,C=>{var g;if(!e.open&&(e.isPrintableCharacter(C.key)||["Backspace"].includes(C.key))&&a(),setTimeout(()=>{if(e.autocomplete.type==="both"&&e.isPrintableCharacter(C.key)&&e.filterValue!==void 0){const d=e.filterValue,f=n().find(m=>r(m.textValue,d));f&&e.onTextValueChange(f.textValue)}}),e.autocomplete.type==="none"&&e.isPrintableCharacter(C.key)){const d=e.textValue??"",f=n().find(m=>r(m.textValue,d));f&&(e.onVisuallyFocussedItemChange(f.ref.current),(g=f.ref.current)==null||g.scrollIntoView())}}),onBlur:E.composeEventHandlers(o.onBlur,()=>{if(e.open)return;e.onVisuallyFocussedItemChange(null);const[C]=n().filter(d=>d.textValue===e.textValue&&d.type==="option");if(C){e.onValueChange(C.value),e.autocomplete.type==="both"&&e.onFilterValueChange(C.textValue);return}if(e.allowCustomValue){e.onValueChange(e.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(e.textValue);return}const[g]=n().filter(d=>d.value===e.value&&d.type==="option");g&&e.textValue!==""?(e.onTextValueChange(g.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(g.textValue)):(e.onValueChange(void 0),e.onTextValueChange(""))})})});yt.displayName="ComboboxTextInput";const St=l.forwardRef((o,i)=>{const{children:e,...t}=o,n=G(bt),r=n.disabled,c=()=>{var s;r||(n.onOpenChange(!0),(s=n.trigger)==null||s.focus())};return u.jsx(R.Primitive.button,{"aria-hidden":!0,type:"button","aria-disabled":r,"aria-controls":n.contentId,"aria-expanded":n.open,disabled:r,"data-disabled":r?"":void 0,...t,tabIndex:-1,ref:i,onClick:E.composeEventHandlers(t.onClick,()=>{var s;(s=n.trigger)==null||s.focus()}),onPointerDown:E.composeEventHandlers(t.onPointerDown,s=>{s.button===0&&s.ctrlKey===!1&&(c(),s.preventDefault())}),onKeyDown:E.composeEventHandlers(t.onKeyDown,s=>{oo.includes(s.key)&&(c(),s.preventDefault())}),children:e||"▼"})});St.displayName="ComboboxIcon";const ao="ComboboxPortal",wt=o=>u.jsx(ut.Portal,{asChild:!0,...o});wt.displayName=ao;const Le="ComboboxContent",It=l.forwardRef((o,i)=>{const e=G(Le),{getItems:t}=ge(void 0),[n,r]=l.useState();if(H.useLayoutEffect(()=>{r(new DocumentFragment)},[]),H.useLayoutEffect(()=>{e.open&&e.autocomplete.type==="none"&&setTimeout(()=>{var s;const c=t().find(a=>a.value===e.value);(s=c==null?void 0:c.ref.current)==null||s.scrollIntoView({block:"nearest"})})},[t,e.autocomplete,e.value,e.open]),!e.open){const c=n;return c?Se.createPortal(u.jsx(re.Slot,{scope:void 0,children:u.jsx("div",{children:o.children})}),c):null}return u.jsx(Tt,{...o,ref:i})});It.displayName=Le;const uo=10,Tt=l.forwardRef((o,i)=>{const{onEscapeKeyDown:e,onPointerDownOutside:t,...n}=o,r=G(Le),c=_.useComposedRefs(i,a=>r.onContentChange(a)),{onOpenChange:s}=r;return ct.useFocusGuards(),l.useEffect(()=>{const a=()=>{s(!1)};return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[s]),u.jsx(pt.RemoveScroll,{allowPinchZoom:!0,children:u.jsx(it.DismissableLayer,{asChild:!0,onEscapeKeyDown:e,onPointerDownOutside:t,onFocusOutside:a=>{a.preventDefault()},onDismiss:()=>{var a;r.onOpenChange(!1),(a=r.trigger)==null||a.focus({preventScroll:!0})},children:u.jsx(Pt,{role:"listbox",id:r.contentId,"data-state":r.open?"open":"closed",onContextMenu:a=>a.preventDefault(),...n,ref:c,style:{display:"flex",flexDirection:"column",outline:"none",...n.style}})})})});Tt.displayName="ComboboxContentImpl";const Pt=l.forwardRef((o,i)=>{const{align:e="start",collisionPadding:t=uo,...n}=o;return u.jsx(ie.Content,{...n,ref:i,align:e,collisionPadding:t,style:{boxSizing:"border-box",...n.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)"}})});Pt.displayName="ComboboxPopperPosition";const Vt="ComboboxViewport",Et=l.forwardRef((o,i)=>{const e=G(Vt),t=_.useComposedRefs(i,e.onViewportChange),r=l.useMemo(()=>l.Children.toArray(o.children),[o.children]).length;return e.virtualized===!0||e.virtualized==="auto"&&r>100?u.jsx(re.Slot,{scope:void 0,children:u.jsx(xt,{...o,ref:t,getItemCount:()=>r,estimatedItemSize:e.estimatedItemSize,overscan:e.overscan,onViewportChange:e.onViewportChange})}):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(re.Slot,{scope:void 0,children:u.jsx(R.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...o,ref:t,style:{position:"relative",flex:1,overflow:"auto",...o.style}})})]})});Et.displayName=Vt;const Ie="ComboboxItem",[lt,Fe]=ye.createContext(Ie),ke=l.forwardRef((o,i)=>{const{value:e,disabled:t=!1,textValue:n,...r}=o,[c,s]=l.useState();H.useLayoutEffect(()=>{s(new DocumentFragment)},[]);const{onTextValueChange:a,textValue:h,...v}=G(Ie),C=le.useId(),[g,d]=l.useState(n??""),f=v.value===e,{startsWith:m,contains:b}=we(v.locale,{sensitivity:"base"}),x=l.useCallback(p=>{d(y=>y||((p==null?void 0:p.textContent)??"").trim())},[]);return l.useEffect(()=>{f&&h===void 0&&g!==""&&a(g)},[g,f,h,a]),v.autocomplete.type==="both"&&g&&v.filterValue&&!m(g,v.filterValue)||v.autocomplete.type==="list"&&v.autocomplete.filter==="startsWith"&&g&&h&&!m(g,h)||v.autocomplete.type==="list"&&v.autocomplete.filter==="contains"&&g&&h&&!b(g,h)?c?Se.createPortal(u.jsx(lt,{textId:C,onTextValueChange:x,isSelected:f,textValue:g,children:u.jsx(re.ItemSlot,{scope:void 0,value:e,textValue:g,disabled:t,type:"option",isVisible:!1,children:u.jsx(Re,{ref:i,value:e,disabled:t,...r})})}),c):null:u.jsx(lt,{textId:C,onTextValueChange:x,isSelected:f,textValue:g,children:u.jsx(re.ItemSlot,{scope:void 0,value:e,textValue:g,disabled:t,type:"option",isVisible:!0,children:u.jsx(Re,{ref:i,value:e,disabled:t,...r})})})});ke.displayName=Ie;const Rt="ComboboxItemImpl",Re=l.forwardRef((o,i)=>{const{value:e,disabled:t=!1,...n}=o,r=l.useRef(null),c=_.useComposedRefs(i,r),{getItems:s}=ge(void 0),{onTextValueChange:a,visuallyFocussedItem:h,...v}=G(Ie),{isSelected:C,textValue:g,textId:d}=Fe(Rt),f=()=>{var x;t||(v.onValueChange(e),a(g),v.onOpenChange(!1),v.autocomplete.type==="both"&&v.onFilterValueChange(g),(x=v.trigger)==null||x.focus({preventScroll:!0}))},m=l.useMemo(()=>{var x;return h===((x=s().find(p=>p.ref.current===r.current))==null?void 0:x.ref.current)},[s,h]),b=le.useId();return u.jsx(R.Primitive.div,{role:"option","aria-labelledby":d,"data-highlighted":m?"":void 0,"aria-selected":C&&m,"data-state":C?"checked":"unchecked","aria-disabled":t||void 0,"data-disabled":t?"":void 0,tabIndex:t?void 0:-1,...n,id:b,ref:c,onPointerUp:E.composeEventHandlers(n.onPointerUp,f)})});Re.displayName=Rt;const Nt="ComboboxItemText",_t=l.forwardRef((o,i)=>{const{className:e,style:t,...n}=o,r=Fe(Nt),c=_.useComposedRefs(i,r.onTextValueChange);return u.jsx(R.Primitive.span,{id:r.textId,...n,ref:c})});_t.displayName=Nt;const At="ComboboxItemIndicator",Mt=l.forwardRef((o,i)=>{const{isSelected:e}=Fe(At);return e?u.jsx(R.Primitive.span,{"aria-hidden":!0,...o,ref:i}):null});Mt.displayName=At;const He="ComboboxNoValueFound",Ot=l.forwardRef((o,i)=>{const{textValue:e="",filterValue:t="",visible:n=!1,locale:r,autocomplete:c}=G(He),[s,a]=l.useState([]),{subscribe:h}=ge(void 0),{startsWith:v,contains:C}=we(r,{sensitivity:"base"});return l.useEffect(()=>{const g=h(d=>{if(n){const f=d.filter(m=>m.type!=="create");a(f)}else a(d)});return()=>{g()}},[n,h]),c.type==="none"&&s.length>0||c.type==="list"&&c.filter==="startsWith"&&s.some(g=>v(g.textValue,e))||c.type==="both"&&s.some(g=>v(g.textValue,t))||c.type==="list"&&c.filter==="contains"&&s.some(g=>C(g.textValue,e))?null:u.jsx(R.Primitive.div,{...o,ref:i})});Ot.displayName=He;const jt=l.forwardRef((o,i)=>{const{disabled:e=!1,...t}=o,n=G(He),{textValue:r,visuallyFocussedItem:c}=n,{getItems:s,subscribe:a}=ge(void 0),h=l.useRef(null),[v,C]=l.useState(!1),g=_.useComposedRefs(i,h),d=l.useMemo(()=>{var b;return c===((b=s().find(x=>x.ref.current===h.current))==null?void 0:b.ref.current)},[s,c]),f=le.useId(),m=()=>{var b;!e&&r&&(n.onValueChange(r),n.onTextValueChange(r),n.onOpenChange(!1),n.autocomplete.type==="both"&&n.onFilterValueChange(r),(b=n.trigger)==null||b.focus({preventScroll:!0}))};return H.useLayoutEffect(()=>{const b=a(x=>{C(!x.some(p=>p.textValue===r&&p.type!=="create"))});return s().length===0&&C(!0),()=>{b()}},[r,a,s]),(!r||!v)&&!n.visible?null:u.jsx(re.ItemSlot,{scope:void 0,value:r??"",textValue:r??"",disabled:e,isVisible:!0,type:"create",children:u.jsx(R.Primitive.div,{role:"option",tabIndex:e?void 0:-1,"aria-disabled":e||void 0,"data-disabled":e?"":void 0,"data-highlighted":d?"":void 0,...t,id:f,ref:g,onPointerUp:E.composeEventHandlers(t.onPointerUp,m)})})});jt.displayName="ComboboxCreateItem";const po=co,fo=Ct,mo=yt,ho=St,xo=wt,go=It,vo=Et,Co=ke,bo=_t,yo=Mt,So=Ot,wo=jt;function Io(o,i){const e=Math.min(o.length,i.length);for(let t=0;t<e;t++)if(o[t]!==i[t])return t;return e}const To=Object.freeze(Object.defineProperty({__proto__:null,ComboboxItem:ke,Content:go,CreateItem:wo,Icon:ho,Item:Co,ItemIndicator:yo,ItemText:bo,NoValueFound:So,Portal:xo,Root:po,TextInput:mo,Trigger:fo,Viewport:vo},Symbol.toStringTag,{value:"Module"}));function Dt(o){const i=l.useRef(o);return l.useEffect(()=>{i.current=o}),l.useMemo(()=>(...e)=>{var t;return(t=i.current)==null?void 0:t.call(i,...e)},[])}const Po=[" ","Enter","ArrowUp","ArrowDown"],Vo=[" ","Enter"],ve="Select",[Te,Ce,Eo]=Jt.createCollection(ve),[pe,Ro]=ye.createContextScope(ve,[Eo,je.createPopperScope]),Pe=je.createPopperScope(),[No,X]=pe(ve),[_o,Ao]=pe(ve),Be=o=>{const{__scopeSelect:i,children:e,open:t,defaultOpen:n,onOpenChange:r,value:c,defaultValue:s,onValueChange:a,dir:h,disabled:v,required:C,multi:g=!1}=o,d=Pe(i),[f,m]=l.useState(null),[b,x]=l.useState(null),[p,y]=l.useState(!1),P=Qt.useDirection(h),[O=!1,L]=de.useControllableState({prop:t,defaultProp:n,onChange:r}),[A,D]=de.useControllableState({prop:c,defaultProp:s,onChange(N){a&&(Array.isArray(N),a(N))}}),Z=l.useRef(null),[B,z]=l.useState(new Set);return u.jsx(ie.Root,{...d,children:u.jsx(No,{required:C,scope:i,trigger:f,onTriggerChange:m,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:p,onValueNodeHasChildrenChange:y,contentId:le.useId(),value:A,onValueChange:D,open:O,onOpenChange:L,dir:P,triggerPointerDownPosRef:Z,disabled:v,multi:g,children:u.jsx(Te.Provider,{scope:i,children:u.jsx(_o,{scope:o.__scopeSelect,onNativeOptionAdd:l.useCallback(N=>{z($=>new Set($).add(N))},[]),onNativeOptionRemove:l.useCallback(N=>{z($=>{const F=new Set($);return F.delete(N),F})},[]),children:e})})})})};Be.displayName=ve;const Lt="SelectTrigger",$e=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=Pe(e),r=X(Lt,e),c=r.disabled,s=_.useComposedRefs(i,r.onTriggerChange),a=Ce(e),[h,v,C]=qt(d=>{const f=a().filter(x=>!x.disabled),m=f.find(x=>x.value===r.value),b=Kt(f,d,m);if(b!==void 0&&!Array.isArray(b.value)){const x=r.multi?[b.value]:b.value;r.onValueChange(x)}}),g=()=>{c||(r.onOpenChange(!0),C())};return u.jsx(ie.Anchor,{asChild:!0,...n,children:u.jsx(R.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":c?"":void 0,"data-placeholder":r.value===void 0?"":void 0,tabIndex:c?void 0:0,...t,ref:s,onClick:E.composeEventHandlers(t.onClick,d=>{d.currentTarget.focus()}),onPointerDown:E.composeEventHandlers(t.onPointerDown,d=>{const f=d.target;f.hasPointerCapture(d.pointerId)&&f.releasePointerCapture(d.pointerId),(f.closest("button")??f.closest("div"))===d.currentTarget&&d.button===0&&d.ctrlKey===!1&&(g(),r.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)},d.preventDefault())}),onKeyDown:E.composeEventHandlers(t.onKeyDown,d=>{const f=h.current!=="",m=d.ctrlKey||d.altKey||d.metaKey,b=d.target;(b.closest("button")??b.closest("div"))===d.currentTarget&&(!m&&d.key.length===1&&v(d.key),!(f&&d.key===" ")&&Po.includes(d.key)&&(g(),d.preventDefault()))})})})});$e.displayName=Lt;const Ft="SelectValue",Ue=l.forwardRef((o,i)=>{const{__scopeSelect:e,children:t,placeholder:n,...r}=o,c=X(Ft,e),{onValueNodeHasChildrenChange:s}=c,a=t!==void 0,h=_.useComposedRefs(i,c.onValueNodeChange),[v,C]=l.useState([]),g=Ce(e);H.useLayoutEffect(()=>{s(a)},[s,a]),l.useLayoutEffect(()=>{if(Array.isArray(c.value)){const f=new Set(v.map(x=>x.value)),m=new Set(c.value);if(!(f.size===m.size&&Array.from(m).every(x=>f.has(x)))){const x=setTimeout(()=>{const p=g().filter(y=>{var P;return Array.isArray(y.value)?!1:(P=c.value)==null?void 0:P.includes(y.value)});C(p)});return()=>{clearTimeout(x)}}}},[c.value,g,v]);let d;if((c.value===void 0||c.value.length===0)&&n!==void 0)d=u.jsx("span",{children:n});else if(typeof t=="function")if(Array.isArray(c.value)){const f=c.value.map(m=>{const b=v.find(x=>x.value===m);return b?t({value:m,textValue:b==null?void 0:b.textValue}):null});d=f.every(m=>m===null)?n:f}else d=t(c.value);else d=t;return u.jsx(R.Primitive.span,{...r,ref:h,children:d||null})});Ue.displayName=Ft;const Mo="SelectIcon",ze=l.forwardRef((o,i)=>{const{__scopeSelect:e,children:t,...n}=o;return u.jsx(R.Primitive.span,{"aria-hidden":!0,...n,ref:i,children:t||"▼"})});ze.displayName=Mo;const Oo="SelectPortal",We=o=>u.jsx(ut.Portal,{asChild:!0,...o});We.displayName=Oo;const se="SelectContent",qe=l.forwardRef((o,i)=>{const e=X(se,o.__scopeSelect),[t,n]=l.useState();if(H.useLayoutEffect(()=>{n(new DocumentFragment)},[]),!e.open){const r=t;return r?Se.createPortal(u.jsx(kt,{scope:o.__scopeSelect,children:u.jsx(Te.Slot,{scope:o.__scopeSelect,children:u.jsx("div",{children:o.children})})}),r):null}return u.jsx(Ht,{...o,ref:i})});qe.displayName=se;const Y=10,[kt,oe]=pe(se),jo="SelectContentImpl",Ht=l.forwardRef((o,i)=>{const{__scopeSelect:e,position:t="item-aligned",onCloseAutoFocus:n,onEscapeKeyDown:r,onPointerDownOutside:c,side:s,sideOffset:a,align:h,alignOffset:v,arrowPadding:C,collisionBoundary:g,collisionPadding:d,sticky:f,hideWhenDetached:m,avoidCollisions:b,...x}=o,p=X(se,e),[y,P]=l.useState(null),[O,L]=l.useState(null),A=_.useComposedRefs(i,S=>P(S)),[D,Z]=l.useState(null),[B,z]=l.useState(null),N=Ce(e),[$,F]=l.useState(!1),U=l.useRef(!1);l.useEffect(()=>{if(y)return dt.hideOthers(y)},[y]),ct.useFocusGuards();const J=l.useCallback(S=>{const[I,...M]=N().map(w=>w.ref.current),[V]=M.slice(-1),T=document.activeElement;for(const w of S)if(w===T||(w==null||w.scrollIntoView({block:"nearest"}),w===I&&O&&(O.scrollTop=0),w===V&&O&&(O.scrollTop=O.scrollHeight),w==null||w.focus(),document.activeElement!==T))return},[N,O]),Q=l.useCallback(()=>J([D,y]),[J,D,y]);l.useEffect(()=>{$&&Q()},[$,Q]);const{onOpenChange:W,triggerPointerDownPosRef:q}=p;l.useEffect(()=>{if(y){let S={x:0,y:0};const I=V=>{var T,w;S={x:Math.abs(Math.round(V.pageX)-(((T=q.current)==null?void 0:T.x)??0)),y:Math.abs(Math.round(V.pageY)-(((w=q.current)==null?void 0:w.y)??0))}},M=V=>{S.x<=10&&S.y<=10?V.preventDefault():y.contains(V.target)||W(!1),document.removeEventListener("pointermove",I),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",M,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",M,{capture:!0})}}},[y,W,q]),l.useEffect(()=>{const S=()=>W(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[W]);const[ce,ee]=qt(S=>{const I=N().filter(T=>!T.disabled),M=I.find(T=>T.ref.current===document.activeElement),V=Kt(I,S,M);V&&setTimeout(()=>V.ref.current.focus())}),fe=l.useCallback((S,I,M)=>{const V=!U.current&&!M;(p.value!==void 0&&p.value===I||V)&&(Z(S),V&&(U.current=!0))},[p.value]),me=l.useCallback(()=>y==null?void 0:y.focus(),[y]),te=l.useCallback((S,I,M)=>{const V=!U.current&&!M;(p.value!==void 0&&(Array.isArray(I)?I.every(w=>{var k;return(k=p.value)==null?void 0:k.includes(w)}):p.value===I)||V)&&z(S)},[p.value]),ae=t==="popper"?Ne:Bt,ne=ae===Ne?{side:s,sideOffset:a,align:h,alignOffset:v,arrowPadding:C,collisionBoundary:g,collisionPadding:d,sticky:f,hideWhenDetached:m,avoidCollisions:b}:{};return u.jsx(kt,{scope:e,content:y,viewport:O,onViewportChange:L,itemRefCallback:fe,selectedItem:D,onItemLeave:me,itemTextRefCallback:te,focusSelectedItem:Q,selectedItemText:B,position:t,isPositioned:$,searchRef:ce,children:u.jsx(pt.RemoveScroll,{as:Ee.Slot,allowPinchZoom:!0,children:u.jsx(at.FocusScope,{asChild:!0,trapped:p.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:E.composeEventHandlers(n,S=>{var I,M;(I=p.trigger)==null||I.focus({preventScroll:!0}),(M=document.getSelection())==null||M.empty(),S.preventDefault()}),children:u.jsx(it.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:r,onPointerDownOutside:c,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>p.onOpenChange(!1),children:u.jsx(ae,{role:"listbox",id:p.contentId,"data-state":p.open?"open":"closed","aria-multiselectable":p.multi?"true":void 0,dir:p.dir,onContextMenu:S=>S.preventDefault(),...x,...ne,onPlaced:()=>F(!0),ref:A,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:E.composeEventHandlers(x.onKeyDown,S=>{const I=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!I&&S.key.length===1&&ee(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let V=N().filter(T=>!T.disabled).map(T=>T.ref.current);if(["ArrowUp","End"].includes(S.key)&&(V=V.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const T=S.target,w=V.indexOf(T);V=V.slice(w+1)}setTimeout(()=>J(V)),S.preventDefault()}})})})})})})});Ht.displayName=jo;const Do="SelectItemAlignedPosition",Bt=l.forwardRef((o,i)=>{const{__scopeSelect:e,onPlaced:t,...n}=o,r=X(se,e),c=oe(se,e),[s,a]=l.useState(null),[h,v]=l.useState(null),C=_.useComposedRefs(i,A=>v(A)),g=Ce(e),d=l.useRef(!1),f=l.useRef(!0),{viewport:m,selectedItem:b,selectedItemText:x,focusSelectedItem:p}=c,y=l.useCallback(()=>{if(r.trigger&&r.valueNode&&s&&h&&m&&b&&x){const A=r.trigger.getBoundingClientRect(),D=h.getBoundingClientRect(),Z=r.valueNode.getBoundingClientRect(),B=x.getBoundingClientRect();if(r.dir!=="rtl"){const T=B.left-D.left,w=Z.left-T,k=A.left-w,K=A.width+k,j=Math.max(K,D.width),ue=window.innerWidth-Y,he=st.clamp(w,[Y,ue-j]);s.style.minWidth=`${K}px`,s.style.left=`${he}px`}else{const T=D.right-B.right,w=window.innerWidth-Z.right-T,k=window.innerWidth-A.right-w,K=A.width+k,j=Math.max(K,D.width),ue=window.innerWidth-Y,he=st.clamp(w,[Y,ue-j]);s.style.minWidth=`${K}px`,s.style.right=`${he}px`}const z=g(),N=window.innerHeight-Y*2,$=m.scrollHeight,F=window.getComputedStyle(h),U=parseInt(F.borderTopWidth,10),J=parseInt(F.paddingTop,10),Q=parseInt(F.borderBottomWidth,10),W=parseInt(F.paddingBottom,10),q=U+J+$+W+Q,ce=Math.min(b.offsetHeight*5,q),ee=window.getComputedStyle(m),fe=parseInt(ee.paddingTop,10),me=parseInt(ee.paddingBottom,10),te=A.top+A.height/2-Y,ae=N-te,ne=b.offsetHeight/2,S=b.offsetTop+ne,I=U+J+S,M=q-I;if(I<=te){const T=b===z[z.length-1].ref.current;s.style.bottom="0px";const w=h.clientHeight-m.offsetTop-m.offsetHeight,k=Math.max(ae,ne+(T?me:0)+w+Q),K=I+k;s.style.height=`${K}px`}else{const T=b===z[0].ref.current;s.style.top="0px";const k=Math.max(te,U+m.offsetTop+(T?fe:0)+ne)+M;s.style.height=`${k}px`,m.scrollTop=I-te+m.offsetTop}s.style.margin=`${Y}px 0`,s.style.minHeight=`${ce}px`,s.style.maxHeight=`${N}px`,t==null||t(),requestAnimationFrame(()=>d.current=!0)}},[g,r.trigger,r.valueNode,s,h,m,b,x,r.dir,t]);H.useLayoutEffect(()=>y(),[y]);const[P,O]=l.useState();H.useLayoutEffect(()=>{h&&O(window.getComputedStyle(h).zIndex)},[h]);const L=l.useCallback(A=>{A&&f.current===!0&&(y(),p==null||p(),f.current=!1)},[y,p]);return u.jsx(Fo,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:d,onScrollButtonChange:L,children:u.jsx("div",{ref:a,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:P},children:u.jsx(R.Primitive.div,{...n,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...n.style}})})})});Bt.displayName=Do;const Lo="SelectPopperPosition",Ne=l.forwardRef((o,i)=>{const{__scopeSelect:e,align:t="start",collisionPadding:n=Y,...r}=o,c=Pe(e);return u.jsx(ie.Content,{...c,...r,ref:i,align:t,collisionPadding:n,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)"}})});Ne.displayName=Lo;const[Fo,Ke]=pe(se,{}),_e="SelectViewport",Ge=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=oe(_e,e),r=Ke(_e,e),c=_.useComposedRefs(i,n.onViewportChange),s=l.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(Te.Slot,{scope:e,children:u.jsx(R.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...t,ref:c,style:{position:"relative",flex:1,overflow:"auto",...t.style},onScroll:E.composeEventHandlers(t.onScroll,a=>{const h=a.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:C}=r;if(C!=null&&C.current&&v){const g=Math.abs(s.current-h.scrollTop);if(g>0){const d=window.innerHeight-Y*2,f=parseFloat(v.style.minHeight),m=parseFloat(v.style.height),b=Math.max(f,m);if(b<d){const x=b+g,p=Math.min(d,x),y=x-p;v.style.height=`${p}px`,v.style.bottom==="0px"&&(h.scrollTop=y>0?y:0,v.style.justifyContent="flex-end")}}}s.current=h.scrollTop})})})]})});Ge.displayName=_e;const $t="SelectGroup",[ko,Ho]=pe($t),Ye=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=le.useId();return u.jsx(ko,{scope:e,id:n,children:u.jsx(R.Primitive.div,{role:"group","aria-labelledby":n,...t,ref:i})})});Ye.displayName=$t;const Ut="SelectLabel",Xe=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=Ho(Ut,e);return u.jsx(R.Primitive.div,{id:n.id,...t,ref:i})});Xe.displayName=Ut;const be="SelectItem",[Bo,zt]=pe(be),Ze=l.forwardRef((o,i)=>{const{__scopeSelect:e,value:t,disabled:n=!1,textValue:r,...c}=o,s=X(be,e),a=oe(be,e),h=typeof t=="string"?Array.isArray(s.value)?s.value.includes(t):s.value===t:t.every(p=>{var y;return(y=s.value)==null?void 0:y.includes(p)}),v=Array.isArray(s.value)&&Array.isArray(t)&&t.some(p=>{var y;return(y=s.value)==null?void 0:y.includes(p)}),[C,g]=l.useState(r??""),[d,f]=l.useState(!1),m=_.useComposedRefs(i,p=>{var y;return(y=a.itemRefCallback)==null?void 0:y.call(a,p,t,n)}),b=le.useId(),x=()=>{if(!n){let p=s.multi&&typeof t=="string"?[t]:t;v&&!h?s.onValueChange(p):Array.isArray(s.value)&&(p=Gt(t,s.value)),s.onValueChange(p),s.multi||s.onOpenChange(!1)}};if(!s.multi&&Array.isArray(t))throw new Error("You can only pass an array of values in multi selects");return u.jsx(Bo,{scope:e,value:t,disabled:n,textId:b,isSelected:h,isIntermediate:v,onItemTextChange:l.useCallback(p=>{g(y=>y||((p==null?void 0:p.textContent)??"").trim())},[]),children:u.jsx(Te.ItemSlot,{scope:e,value:t,disabled:n,textValue:C,children:u.jsx(R.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":d?"":void 0,"aria-selected":s.multi?void 0:h&&d,"aria-checked":s.multi?h:void 0,"data-state":h?"checked":"unchecked","aria-disabled":n||void 0,"data-disabled":n?"":void 0,tabIndex:n?void 0:-1,...c,ref:m,onFocus:E.composeEventHandlers(c.onFocus,()=>f(!0)),onBlur:E.composeEventHandlers(c.onBlur,()=>f(!1)),onPointerUp:E.composeEventHandlers(c.onPointerUp,x),onPointerMove:E.composeEventHandlers(c.onPointerMove,p=>{var y;n?(y=a.onItemLeave)==null||y.call(a):p.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E.composeEventHandlers(c.onPointerLeave,p=>{var y;p.currentTarget===document.activeElement&&((y=a.onItemLeave)==null||y.call(a))}),onKeyDown:E.composeEventHandlers(c.onKeyDown,p=>{var P;((P=a.searchRef)==null?void 0:P.current)!==""&&p.key===" "||(Vo.includes(p.key)&&x(),p.key===" "&&p.preventDefault())})})})})});Ze.displayName=be;const xe="SelectItemText",Je=l.forwardRef((o,i)=>{const{__scopeSelect:e,className:t,style:n,...r}=o,c=X(xe,e),s=oe(xe,e),a=zt(xe,e),h=Ao(xe,e),[v,C]=l.useState(null),g=_.useComposedRefs(i,x=>C(x),a.onItemTextChange,x=>{var p;return(p=s.itemTextRefCallback)==null?void 0:p.call(s,x,a.value,a.disabled)}),d=v==null?void 0:v.textContent,f=l.useMemo(()=>u.jsx("option",{value:a.value,disabled:a.disabled,children:d},Array.isArray(a.value)?a.value.join(";"):a.value),[a.disabled,a.value,d]),{onNativeOptionAdd:m,onNativeOptionRemove:b}=h;return H.useLayoutEffect(()=>(m(f),()=>b(f)),[m,b,f]),u.jsxs(u.Fragment,{children:[u.jsx(R.Primitive.span,{id:a.textId,...r,ref:g}),a.isSelected&&c.valueNode&&!c.valueNodeHasChildren?Se.createPortal(r.children,c.valueNode):null]})});Je.displayName=xe;const Wt="SelectItemIndicator",Qe=l.forwardRef((o,i)=>{const{__scopeSelect:e,children:t,...n}=o,r=zt(Wt,e);return typeof t=="function"?u.jsx(R.Primitive.span,{"aria-hidden":!0,...n,ref:i,children:t({isSelected:r.isSelected,isIntermediate:r.isIntermediate})}):r.isSelected?u.jsx(R.Primitive.span,{"aria-hidden":!0,...n,ref:i,children:t}):null});Qe.displayName=Wt;const Ae="SelectScrollUpButton",et=l.forwardRef((o,i)=>{const e=oe(Ae,o.__scopeSelect),t=Ke(Ae,o.__scopeSelect),[n,r]=l.useState(!1),c=_.useComposedRefs(i,t.onScrollButtonChange);return H.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const s=e.viewport,a=()=>{const h=s.scrollTop>0;r(h)};return a(),s.addEventListener("scroll",a),()=>s.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),n?u.jsx(ot,{...o,ref:c,onAutoScroll:()=>{const{viewport:s,selectedItem:a}=e;s&&a&&(s.scrollTop-=a.offsetHeight)}}):null});et.displayName=Ae;const Me="SelectScrollDownButton",tt=l.forwardRef((o,i)=>{const e=oe(Me,o.__scopeSelect),t=Ke(Me,o.__scopeSelect),[n,r]=l.useState(!1),c=_.useComposedRefs(i,t.onScrollButtonChange);return H.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const s=e.viewport,a=()=>{const h=s.scrollHeight-s.clientHeight,v=Math.ceil(s.scrollTop)<h;r(v)};return a(),s.addEventListener("scroll",a),()=>s.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),n?u.jsx(ot,{...o,ref:c,onAutoScroll:()=>{const{viewport:s,selectedItem:a}=e;s&&a&&(s.scrollTop+=a.offsetHeight)}}):null});tt.displayName=Me;const ot=l.forwardRef((o,i)=>{const{__scopeSelect:e,onAutoScroll:t,...n}=o,r=oe("SelectScrollButton",e),c=l.useRef(null),s=Ce(e),a=l.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return l.useEffect(()=>()=>a(),[a]),H.useLayoutEffect(()=>{var v;const h=s().find(C=>C.ref.current===document.activeElement);(v=h==null?void 0:h.ref.current)==null||v.scrollIntoView({block:"nearest"})},[s]),u.jsx(R.Primitive.div,{"aria-hidden":!0,...n,ref:i,style:{flexShrink:0,...n.style},onPointerMove:E.composeEventHandlers(n.onPointerMove,()=>{var h;(h=r.onItemLeave)==null||h.call(r),c.current===null&&(c.current=window.setInterval(t,50))}),onPointerLeave:E.composeEventHandlers(n.onPointerLeave,()=>{a()})})});ot.displayName="SelectScrollButtonImpl";const $o="SelectSeparator",nt=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o;return u.jsx(R.Primitive.div,{"aria-hidden":!0,...t,ref:i})});nt.displayName=$o;const Oe="SelectArrow",rt=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=Pe(e),r=X(Oe,e),c=oe(Oe,e);return r.open&&c.position==="popper"?u.jsx(ie.Arrow,{...n,...t,ref:i}):null});rt.displayName=Oe;const Uo="BubbleSelect",zo=l.forwardRef((o,i)=>{const{value:e,...t}=o,n=l.useRef(null),r=_.useComposedRefs(i,n),c=eo.usePrevious(e),s=X(Uo,void 0);l.useEffect(()=>{const h=n.current,v=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(v,"value").set;if(c!==e&&g){const d=new Event("change",{bubbles:!0});g.call(h,e),h.dispatchEvent(d)}},[c,e]);let a=e;return s.multi&&!Array.isArray(e)&&(a=[]),u.jsx(to.VisuallyHidden,{asChild:!0,children:u.jsx("select",{...t,multiple:s.multi?!0:void 0,ref:r,defaultValue:a})})});zo.displayName="BubbleSelect";function qt(o){const i=Dt(o),e=l.useRef(""),t=l.useRef(0),n=l.useCallback(c=>{const s=e.current+c;i(s),function a(h){e.current=h,window.clearTimeout(t.current),h!==""&&(t.current=window.setTimeout(()=>a(""),1e3))}(s)},[i]),r=l.useCallback(()=>{e.current="",window.clearTimeout(t.current)},[]);return l.useEffect(()=>()=>window.clearTimeout(t.current),[]),[e,n,r]}function Kt(o,i,e){const n=i.length>1&&Array.from(i).every(h=>h===i[0])?i[0]:i,r=e?o.indexOf(e):-1;let c=Wo(o,Math.max(r,0));n.length===1&&(c=c.filter(h=>h!==e));const a=c.find(h=>h.textValue.toLowerCase().startsWith(n.toLowerCase()));return a!==e?a:void 0}function Wo(o,i){return o.map((e,t)=>o[(i+t)%o.length])}const Gt=(o,i=[])=>{if(Array.isArray(o))return o.reduce((t,n)=>Gt(n,t),i);const e=i.indexOf(o);return e===-1?[...i,o]:[...i.slice(0,e),...i.slice(e+1)]},qo=Be,Ko=$e,Go=Ue,Yo=ze,Xo=We,Zo=qe,Jo=Ge,Qo=Ye,en=Xe,tn=Ze,on=Je,nn=Qe,rn=et,sn=tt,ln=nt,cn=rt,an=Object.freeze(Object.defineProperty({__proto__:null,Arrow:cn,Content:Zo,Group:Qo,Icon:Yo,Item:tn,ItemIndicator:nn,ItemText:on,Label:en,Portal:Xo,Root:qo,ScrollDownButton:sn,ScrollUpButton:rn,Select:Be,SelectArrow:rt,SelectContent:qe,SelectGroup:Ye,SelectIcon:ze,SelectItem:Ze,SelectItemIndicator:Qe,SelectItemText:Je,SelectLabel:Xe,SelectPortal:We,SelectScrollDownButton:tt,SelectScrollUpButton:et,SelectSeparator:nt,SelectTrigger:$e,SelectValue:Ue,SelectViewport:Ge,Separator:ln,Trigger:Ko,Value:Go,Viewport:Jo,createSelectScope:Ro},Symbol.toStringTag,{value:"Module"}));function un(o,i,{checkForDefaultPrevented:e=!0}={}){return function(n){if(o==null||o(n),e===!1||!n.defaultPrevented)return i==null?void 0:i(n)}}exports.Combobox=To;exports.Select=an;exports.composeEventHandlers=un;exports.createCollection=ft;exports.useCallbackRef=Dt;exports.useCollator=mt;exports.useFilter=we;exports.usePrev=ht;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),oe=require("react"),_=require("@radix-ui/react-compose-refs"),ye=require("@radix-ui/react-context"),Ee=require("@radix-ui/react-slot"),E=require("@radix-ui/primitive"),it=require("@radix-ui/react-dismissable-layer"),ct=require("@radix-ui/react-focus-guards"),at=require("@radix-ui/react-focus-scope"),je=require("@radix-ui/react-popper"),ut=require("@radix-ui/react-portal"),R=require("@radix-ui/react-primitive"),de=require("@radix-ui/react-use-controllable-state"),H=require("@radix-ui/react-use-layout-effect"),dt=require("aria-hidden"),Yt=require("react-dom"),pt=require("react-remove-scroll"),Xt=require("@tanstack/react-virtual"),st=require("@radix-ui/number"),Zt=require("@radix-ui/react-collection"),Jt=require("@radix-ui/react-direction"),Qt=require("@radix-ui/react-use-previous"),eo=require("@radix-ui/react-visually-hidden");function De(o){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:()=>o[e]})}}return i.default=o,Object.freeze(i)}const l=De(oe),ie=De(je),Se=De(Yt);function ft(o){const i=`${o}CollectionProvider`,[e,t]=ye.createContextScope(i),[n,r]=e(i,{collectionRef:{current:null},itemMap:new Map,listeners:new Set}),c=d=>{const{scope:f,children:m}=d,b=l.useRef(null),x=l.useRef(new Map).current,p=l.useRef(new Set).current;return u.jsx(n,{scope:f,itemMap:x,collectionRef:b,listeners:p,children:m})};c.displayName=i;const s=`${o}CollectionSlot`,a=l.forwardRef((d,f)=>{const{scope:m,children:b}=d,x=r(s,m),p=_.useComposedRefs(f,x.collectionRef);return u.jsx(Ee.Slot,{ref:p,children:b})});a.displayName=s;const h=`${o}CollectionItemSlot`,v="data-radix-collection-item",C=l.forwardRef((d,f)=>{const{scope:m,children:b,...x}=d,p=l.useRef(null),y=_.useComposedRefs(f,p),P=r(h,m);return l.useEffect(()=>{const O=Array.from(P.itemMap.values());return P.itemMap.set(p,{ref:p,...x}),P.listeners.forEach(L=>L(Array.from(P.itemMap.values()),O)),()=>{const L=Array.from(P.itemMap.values());P.itemMap.delete(p),P.listeners.forEach(A=>A(Array.from(P.itemMap.values()),L))}}),u.jsx(Ee.Slot,{[v]:"",ref:y,children:b})});C.displayName=h;function g(d){const f=r(`${o}CollectionConsumer`,d),m=l.useCallback(()=>{const x=f.collectionRef.current;if(!x)return[];const p=Array.from(x.querySelectorAll(`[${v}]`));return Array.from(f.itemMap.values()).sort((O,L)=>p.indexOf(O.ref.current)-p.indexOf(L.ref.current))},[f.collectionRef,f.itemMap]),b=l.useCallback(x=>(f.listeners.add(x),()=>f.listeners.delete(x)),[f.listeners]);return{getItems:m,subscribe:b}}return[{Provider:c,Slot:a,ItemSlot:C},g,t]}const Ve=new Map;function mt(o,i){const e=o+(i?Object.entries(i).sort((n,r)=>n[0]<r[0]?-1:1).join():"");if(Ve.has(e))return Ve.get(e);const t=new Intl.Collator(o,i);return Ve.set(e,t),t}function we(o,i){const e=mt(o,{usage:"search",...i});return{startsWith(t,n){return n.length===0?!0:(t=t.normalize("NFC"),n=n.normalize("NFC"),e.compare(t.slice(0,n.length),n)===0)},endsWith(t,n){return n.length===0?!0:(t=t.normalize("NFC"),n=n.normalize("NFC"),e.compare(t.slice(-n.length),n)===0)},contains(t,n){if(n.length===0)return!0;t=t.normalize("NFC"),n=n.normalize("NFC");let r=0;const c=n.length;for(;r+c<=t.length;r++){const s=t.slice(r,r+c);if(e.compare(n,s)===0)return!0}return!1}}}const ht=o=>{const i=l.useRef();return l.useEffect(()=>{i.current=o}),i.current},xt=l.forwardRef(({children:o,estimatedItemSize:i=40,overscan:e=5,getItemCount:t,onViewportChange:n,...r},c)=>{const s=l.useRef(null),a=_.useComposedRefs(c,s,n),h=l.useMemo(()=>l.Children.toArray(o),[o]),v=Xt.useVirtualizer({count:t(),getScrollElement:()=>s.current,estimateSize:()=>i,overscan:e}),C=v.getVirtualItems();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(R.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...r,ref:a,style:{position:"relative",flex:1,overflow:"auto",...r.style},children:u.jsx("div",{style:{height:`${v.getTotalSize()}px`,width:"100%",position:"relative"},children:C.map(g=>{const d=h[g.index];return u.jsx("div",{"data-index":g.index,ref:v.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${g.start}px)`},children:d},g.key)})})})]})});xt.displayName="VirtualizedViewport";const to=[" ","Enter","ArrowUp","ArrowDown"],oo=["Enter"],no=o=>!!(o.length===1&&o.match(/\S| /)),gt="Combobox",[se,ge]=ft(gt),[ro,G]=ye.createContext(gt),so=({children:o})=>u.jsx(ie.Root,{children:u.jsx(se.Provider,{scope:void 0,children:o})}),lo=o=>typeof o=="string"?o==="none"?{type:o,filter:void 0}:{type:o,filter:"startsWith"}:o,io=o=>{const{allowCustomValue:i=!1,autocomplete:e="none",children:t,open:n,defaultOpen:r,onOpenChange:c,value:s,defaultValue:a,onValueChange:h,disabled:v,required:C=!1,locale:g="en-EN",onTextValueChange:d,textValue:f,defaultTextValue:m,filterValue:b,defaultFilterValue:x,onFilterValueChange:p,isPrintableCharacter:y=no,visible:P=!1,virtualized:O="auto",estimatedItemSize:L=40,overscan:A=5}=o,[D,Z]=l.useState(null),[B,z]=l.useState(null),[N,$]=l.useState(null),[F,U]=l.useState(null),[J=!1,Q]=de.useControllableState({prop:n,defaultProp:r,onChange:c}),[W,q]=de.useControllableState({prop:s,defaultProp:a,onChange:h}),[ce,ee]=de.useControllableState({prop:f,defaultProp:i&&!m?s:m,onChange:d}),[fe,me]=de.useControllableState({prop:b,defaultProp:x,onChange:p}),te=oe.useId(),ae=l.useCallback((S,I)=>{var K;const M=I.map(j=>j.ref.current),[V,...T]=M,[w]=T.slice(-1),k=F??((K=I.find(j=>j.value===W))==null?void 0:K.ref.current);for(const j of S){if(j===k)return;if(j==null||j.scrollIntoView({block:"nearest"}),j===V&&B&&(B.scrollTop=0),j===w&&B&&(B.scrollTop=B.scrollHeight),U(j),e==="both"){const ue=I.find(he=>he.ref.current===j);ue&&ee(ue.textValue)}if(j!==k)return}},[e,ee,B,F,W]),re=lo(e);return l.useEffect(()=>{e!=="both"&&U(null)},[ce,e]),l.useEffect(()=>{if(N&&D)return dt.hideOthers([N,D])},[N,D]),u.jsx(so,{children:u.jsx(ro,{allowCustomValue:i,autocomplete:re,required:C,trigger:D,onTriggerChange:Z,contentId:te,value:W,onValueChange:q,open:J,onOpenChange:Q,disabled:v,locale:g,focusFirst:ae,textValue:ce,onTextValueChange:ee,onViewportChange:z,onContentChange:$,visuallyFocussedItem:F,filterValue:fe,onFilterValueChange:me,onVisuallyFocussedItemChange:U,isPrintableCharacter:y,visible:P,virtualized:O,estimatedItemSize:L,overscan:A,children:t})})},vt="ComboboxTrigger",Ct=l.forwardRef((o,i)=>{const{...e}=o,t=G(vt),n=()=>{t.disabled||t.onOpenChange(!0)};return u.jsx(ie.Anchor,{asChild:!0,children:u.jsx(at.FocusScope,{asChild:!0,trapped:t.open,onMountAutoFocus:r=>{r.preventDefault()},onUnmountAutoFocus:r=>{var c,s;(c=t.trigger)==null||c.focus({preventScroll:!0}),(s=document.getSelection())==null||s.empty(),r.preventDefault()},children:u.jsx("div",{ref:i,"data-disabled":t.disabled?"":void 0,...e,onClick:E.composeEventHandlers(e.onClick,r=>{var c;if(t.disabled){r.preventDefault();return}(c=t.trigger)==null||c.focus()}),onPointerDown:E.composeEventHandlers(e.onPointerDown,r=>{var a;if(t.disabled){r.preventDefault();return}const c=r.target;c.hasPointerCapture(r.pointerId)&&c.releasePointerCapture(r.pointerId),(c.closest("button")??c.closest("div"))===r.currentTarget&&r.button===0&&r.ctrlKey===!1&&(n(),(a=t.trigger)==null||a.focus())})})})})});Ct.displayName=vt;const bt="ComboboxInput",yt=l.forwardRef((o,i)=>{var v;const e=G(bt),t=l.useRef(null),{getItems:n}=ge(void 0),{startsWith:r}=we(e.locale,{sensitivity:"base"}),c=e.disabled,s=_.useComposedRefs(t,i,e.onTriggerChange),a=()=>{c||e.onOpenChange(!0)},h=ht(e.filterValue);return H.useLayoutEffect(()=>{const C=setTimeout(()=>{var f;if(e.textValue===""||e.textValue===void 0||e.filterValue===""||e.filterValue===void 0)return;const g=n().find(m=>m.type==="option"&&r(m.textValue,e.textValue)),d=wo(h??"",e.filterValue);g&&!e.visuallyFocussedItem&&d===e.filterValue.length&&((f=t.current)==null||f.setSelectionRange(e.filterValue.length,e.textValue.length))});return()=>clearTimeout(C)},[e.textValue,e.filterValue,r,e.visuallyFocussedItem,n,h]),u.jsx("input",{type:"text",role:"combobox","aria-controls":e.contentId,"aria-expanded":e.open,"aria-required":e.required,"aria-autocomplete":e.autocomplete.type,"data-state":e.open?"open":"closed","aria-disabled":c,"aria-activedescendant":(v=e.visuallyFocussedItem)==null?void 0:v.id,disabled:c,"data-disabled":c?"":void 0,"data-placeholder":e.textValue===void 0?"":void 0,value:e.textValue??"",...o,ref:s,onKeyDown:E.composeEventHandlers(o.onKeyDown,C=>{var g,d;if(["ArrowUp","ArrowDown","Home","End"].includes(C.key))e.open||a(),setTimeout(()=>{var b;let m=n().filter(x=>!x.disabled&&x.isVisible).map(x=>x.ref.current);if(["ArrowUp","End"].includes(C.key)&&(m=m.slice().reverse()),["ArrowUp","ArrowDown"].includes(C.key)){const x=e.visuallyFocussedItem??((b=n().find(p=>p.value===e.value))==null?void 0:b.ref.current);if(x){let p=m.indexOf(x);p===m.length-1&&(p=-1),m=m.slice(p+1)}}if(["ArrowDown"].includes(C.key)&&e.autocomplete.type==="both"&&m.length>1){const[x,...p]=m,y=n().find(P=>P.ref.current===x).textValue;e.textValue===y&&(m=p)}e.focusFirst(m,n())}),C.preventDefault();else if(["Tab"].includes(C.key)&&e.open)C.preventDefault();else if(["Escape"].includes(C.key))e.open?e.onOpenChange(!1):(e.onValueChange(void 0),e.onTextValueChange("")),C.preventDefault();else if(oo.includes(C.key)){if(e.visuallyFocussedItem){const f=n().find(m=>m.ref.current===e.visuallyFocussedItem);f&&(e.onValueChange(f.value),e.onTextValueChange(f.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(f.textValue),(g=f.ref.current)==null||g.click())}else{const f=n().find(m=>m.type==="option"&&!m.disabled&&m.textValue===e.textValue);f&&(e.onValueChange(f.value),e.onTextValueChange(f.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(f.textValue),(d=f.ref.current)==null||d.click())}e.onOpenChange(!1),C.preventDefault()}else e.onVisuallyFocussedItemChange(null)}),onChange:E.composeEventHandlers(o.onChange,C=>{e.onTextValueChange(C.currentTarget.value),e.autocomplete.type==="both"&&e.onFilterValueChange(C.currentTarget.value)}),onKeyUp:E.composeEventHandlers(o.onKeyUp,C=>{var g;if(!e.open&&(e.isPrintableCharacter(C.key)||["Backspace"].includes(C.key))&&a(),setTimeout(()=>{if(e.autocomplete.type==="both"&&e.isPrintableCharacter(C.key)&&e.filterValue!==void 0){const d=e.filterValue,f=n().find(m=>r(m.textValue,d));f&&e.onTextValueChange(f.textValue)}}),e.autocomplete.type==="none"&&e.isPrintableCharacter(C.key)){const d=e.textValue??"",f=n().find(m=>r(m.textValue,d));f&&(e.onVisuallyFocussedItemChange(f.ref.current),(g=f.ref.current)==null||g.scrollIntoView())}}),onBlur:E.composeEventHandlers(o.onBlur,()=>{if(e.open)return;e.onVisuallyFocussedItemChange(null);const[C]=n().filter(d=>d.textValue===e.textValue&&d.type==="option");if(C){e.onValueChange(C.value),e.autocomplete.type==="both"&&e.onFilterValueChange(C.textValue);return}if(e.allowCustomValue){e.onValueChange(e.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(e.textValue);return}const[g]=n().filter(d=>d.value===e.value&&d.type==="option");g&&e.textValue!==""?(e.onTextValueChange(g.textValue),e.autocomplete.type==="both"&&e.onFilterValueChange(g.textValue)):(e.onValueChange(void 0),e.onTextValueChange(""))})})});yt.displayName="ComboboxTextInput";const St=l.forwardRef((o,i)=>{const{children:e,...t}=o,n=G(bt),r=n.disabled,c=()=>{var s;r||(n.onOpenChange(!0),(s=n.trigger)==null||s.focus())};return u.jsx(R.Primitive.button,{"aria-hidden":!0,type:"button","aria-disabled":r,"aria-controls":n.contentId,"aria-expanded":n.open,disabled:r,"data-disabled":r?"":void 0,...t,tabIndex:-1,ref:i,onClick:E.composeEventHandlers(t.onClick,()=>{var s;(s=n.trigger)==null||s.focus()}),onPointerDown:E.composeEventHandlers(t.onPointerDown,s=>{s.button===0&&s.ctrlKey===!1&&(c(),s.preventDefault())}),onKeyDown:E.composeEventHandlers(t.onKeyDown,s=>{to.includes(s.key)&&(c(),s.preventDefault())}),children:e||"▼"})});St.displayName="ComboboxIcon";const co="ComboboxPortal",wt=o=>u.jsx(ut.Portal,{asChild:!0,...o});wt.displayName=co;const Le="ComboboxContent",It=l.forwardRef((o,i)=>{const e=G(Le),{getItems:t}=ge(void 0),[n,r]=l.useState();if(H.useLayoutEffect(()=>{r(new DocumentFragment)},[]),H.useLayoutEffect(()=>{e.open&&e.autocomplete.type==="none"&&setTimeout(()=>{var s;const c=t().find(a=>a.value===e.value);(s=c==null?void 0:c.ref.current)==null||s.scrollIntoView({block:"nearest"})})},[t,e.autocomplete,e.value,e.open]),!e.open){const c=n;return c?Se.createPortal(u.jsx(se.Slot,{scope:void 0,children:u.jsx("div",{children:o.children})}),c):null}return u.jsx(Tt,{...o,ref:i})});It.displayName=Le;const ao=10,Tt=l.forwardRef((o,i)=>{const{onEscapeKeyDown:e,onPointerDownOutside:t,...n}=o,r=G(Le),c=_.useComposedRefs(i,a=>r.onContentChange(a)),{onOpenChange:s}=r;return ct.useFocusGuards(),l.useEffect(()=>{const a=()=>{s(!1)};return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[s]),u.jsx(pt.RemoveScroll,{allowPinchZoom:!0,children:u.jsx(it.DismissableLayer,{asChild:!0,onEscapeKeyDown:e,onPointerDownOutside:t,onFocusOutside:a=>{a.preventDefault()},onDismiss:()=>{var a;r.onOpenChange(!1),(a=r.trigger)==null||a.focus({preventScroll:!0})},children:u.jsx(Pt,{role:"listbox",id:r.contentId,"data-state":r.open?"open":"closed",onContextMenu:a=>a.preventDefault(),...n,ref:c,style:{display:"flex",flexDirection:"column",outline:"none",...n.style}})})})});Tt.displayName="ComboboxContentImpl";const Pt=l.forwardRef((o,i)=>{const{align:e="start",collisionPadding:t=ao,...n}=o;return u.jsx(ie.Content,{...n,ref:i,align:e,collisionPadding:t,style:{boxSizing:"border-box",...n.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)"}})});Pt.displayName="ComboboxPopperPosition";const Vt="ComboboxViewport",Et=l.forwardRef((o,i)=>{const e=G(Vt),t=_.useComposedRefs(i,e.onViewportChange),r=l.useMemo(()=>l.Children.toArray(o.children),[o.children]).length;return e.virtualized===!0||e.virtualized==="auto"&&r>100?u.jsx(se.Slot,{scope:void 0,children:u.jsx(xt,{...o,ref:t,getItemCount:()=>r,estimatedItemSize:e.estimatedItemSize,overscan:e.overscan,onViewportChange:e.onViewportChange})}):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(se.Slot,{scope:void 0,children:u.jsx(R.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...o,ref:t,style:{position:"relative",flex:1,overflow:"auto",...o.style}})})]})});Et.displayName=Vt;const Ie="ComboboxItem",[lt,Fe]=ye.createContext(Ie),ke=l.forwardRef((o,i)=>{const{value:e,disabled:t=!1,textValue:n,...r}=o,[c,s]=l.useState();H.useLayoutEffect(()=>{s(new DocumentFragment)},[]);const{onTextValueChange:a,textValue:h,...v}=G(Ie),C=oe.useId(),[g,d]=l.useState(n??""),f=v.value===e,{startsWith:m,contains:b}=we(v.locale,{sensitivity:"base"}),x=l.useCallback(p=>{d(y=>y||((p==null?void 0:p.textContent)??"").trim())},[]);return l.useEffect(()=>{f&&h===void 0&&g!==""&&a(g)},[g,f,h,a]),v.autocomplete.type==="both"&&g&&v.filterValue&&!m(g,v.filterValue)||v.autocomplete.type==="list"&&v.autocomplete.filter==="startsWith"&&g&&h&&!m(g,h)||v.autocomplete.type==="list"&&v.autocomplete.filter==="contains"&&g&&h&&!b(g,h)?c?Se.createPortal(u.jsx(lt,{textId:C,onTextValueChange:x,isSelected:f,textValue:g,children:u.jsx(se.ItemSlot,{scope:void 0,value:e,textValue:g,disabled:t,type:"option",isVisible:!1,children:u.jsx(Re,{ref:i,value:e,disabled:t,...r})})}),c):null:u.jsx(lt,{textId:C,onTextValueChange:x,isSelected:f,textValue:g,children:u.jsx(se.ItemSlot,{scope:void 0,value:e,textValue:g,disabled:t,type:"option",isVisible:!0,children:u.jsx(Re,{ref:i,value:e,disabled:t,...r})})})});ke.displayName=Ie;const Rt="ComboboxItemImpl",Re=l.forwardRef((o,i)=>{const{value:e,disabled:t=!1,...n}=o,r=l.useRef(null),c=_.useComposedRefs(i,r),{getItems:s}=ge(void 0),{onTextValueChange:a,visuallyFocussedItem:h,...v}=G(Ie),{isSelected:C,textValue:g,textId:d}=Fe(Rt),f=()=>{var x;t||(v.onValueChange(e),a(g),v.onOpenChange(!1),v.autocomplete.type==="both"&&v.onFilterValueChange(g),(x=v.trigger)==null||x.focus({preventScroll:!0}))},m=l.useMemo(()=>{var x;return h===((x=s().find(p=>p.ref.current===r.current))==null?void 0:x.ref.current)},[s,h]),b=oe.useId();return u.jsx(R.Primitive.div,{role:"option","aria-labelledby":d,"data-highlighted":m?"":void 0,"aria-selected":C&&m,"data-state":C?"checked":"unchecked","aria-disabled":t||void 0,"data-disabled":t?"":void 0,tabIndex:t?void 0:-1,...n,id:b,ref:c,onPointerUp:E.composeEventHandlers(n.onPointerUp,f)})});Re.displayName=Rt;const Nt="ComboboxItemText",_t=l.forwardRef((o,i)=>{const{className:e,style:t,...n}=o,r=Fe(Nt),c=_.useComposedRefs(i,r.onTextValueChange);return u.jsx(R.Primitive.span,{id:r.textId,...n,ref:c})});_t.displayName=Nt;const At="ComboboxItemIndicator",Mt=l.forwardRef((o,i)=>{const{isSelected:e}=Fe(At);return e?u.jsx(R.Primitive.span,{"aria-hidden":!0,...o,ref:i}):null});Mt.displayName=At;const He="ComboboxNoValueFound",Ot=l.forwardRef((o,i)=>{const{textValue:e="",filterValue:t="",visible:n=!1,locale:r,autocomplete:c}=G(He),[s,a]=l.useState([]),{subscribe:h}=ge(void 0),{startsWith:v,contains:C}=we(r,{sensitivity:"base"});return l.useEffect(()=>{const g=h(d=>{if(n){const f=d.filter(m=>m.type!=="create");a(f)}else a(d)});return()=>{g()}},[n,h]),c.type==="none"&&s.length>0||c.type==="list"&&c.filter==="startsWith"&&s.some(g=>v(g.textValue,e))||c.type==="both"&&s.some(g=>v(g.textValue,t))||c.type==="list"&&c.filter==="contains"&&s.some(g=>C(g.textValue,e))?null:u.jsx(R.Primitive.div,{...o,ref:i})});Ot.displayName=He;const jt=l.forwardRef((o,i)=>{const{disabled:e=!1,...t}=o,n=G(He),{textValue:r,visuallyFocussedItem:c}=n,{getItems:s,subscribe:a}=ge(void 0),h=l.useRef(null),[v,C]=l.useState(!1),g=_.useComposedRefs(i,h),d=l.useMemo(()=>{var b;return c===((b=s().find(x=>x.ref.current===h.current))==null?void 0:b.ref.current)},[s,c]),f=oe.useId(),m=()=>{var b;!e&&r&&(n.onValueChange(r),n.onTextValueChange(r),n.onOpenChange(!1),n.autocomplete.type==="both"&&n.onFilterValueChange(r),(b=n.trigger)==null||b.focus({preventScroll:!0}))};return H.useLayoutEffect(()=>{const b=a(x=>{C(!x.some(p=>p.textValue===r&&p.type!=="create"))});return s().length===0&&C(!0),()=>{b()}},[r,a,s]),(!r||!v)&&!n.visible?null:u.jsx(se.ItemSlot,{scope:void 0,value:r??"",textValue:r??"",disabled:e,isVisible:!0,type:"create",children:u.jsx(R.Primitive.div,{role:"option",tabIndex:e?void 0:-1,"aria-disabled":e||void 0,"data-disabled":e?"":void 0,"data-highlighted":d?"":void 0,...t,id:f,ref:g,onPointerUp:E.composeEventHandlers(t.onPointerUp,m)})})});jt.displayName="ComboboxCreateItem";const uo=io,po=Ct,fo=yt,mo=St,ho=wt,xo=It,go=Et,vo=ke,Co=_t,bo=Mt,yo=Ot,So=jt;function wo(o,i){const e=Math.min(o.length,i.length);for(let t=0;t<e;t++)if(o[t]!==i[t])return t;return e}const Io=Object.freeze(Object.defineProperty({__proto__:null,ComboboxItem:ke,Content:xo,CreateItem:So,Icon:mo,Item:vo,ItemIndicator:bo,ItemText:Co,NoValueFound:yo,Portal:ho,Root:uo,TextInput:fo,Trigger:po,Viewport:go},Symbol.toStringTag,{value:"Module"}));function Dt(o){const i=l.useRef(o);return l.useEffect(()=>{i.current=o}),l.useMemo(()=>(...e)=>{var t;return(t=i.current)==null?void 0:t.call(i,...e)},[])}const To=[" ","Enter","ArrowUp","ArrowDown"],Po=[" ","Enter"],ve="Select",[Te,Ce,Vo]=Zt.createCollection(ve),[pe,Eo]=ye.createContextScope(ve,[Vo,je.createPopperScope]),Pe=je.createPopperScope(),[Ro,X]=pe(ve),[No,_o]=pe(ve),Be=o=>{const{__scopeSelect:i,children:e,open:t,defaultOpen:n,onOpenChange:r,value:c,defaultValue:s,onValueChange:a,dir:h,disabled:v,required:C,multi:g=!1}=o,d=Pe(i),[f,m]=l.useState(null),[b,x]=l.useState(null),[p,y]=l.useState(!1),P=Jt.useDirection(h),[O=!1,L]=de.useControllableState({prop:t,defaultProp:n,onChange:r}),[A,D]=de.useControllableState({prop:c,defaultProp:s,onChange(N){a&&(Array.isArray(N),a(N))}}),Z=l.useRef(null),[B,z]=l.useState(new Set);return u.jsx(ie.Root,{...d,children:u.jsx(Ro,{required:C,scope:i,trigger:f,onTriggerChange:m,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:p,onValueNodeHasChildrenChange:y,contentId:oe.useId(),value:A,onValueChange:D,open:O,onOpenChange:L,dir:P,triggerPointerDownPosRef:Z,disabled:v,multi:g,children:u.jsx(Te.Provider,{scope:i,children:u.jsx(No,{scope:o.__scopeSelect,onNativeOptionAdd:l.useCallback(N=>{z($=>new Set($).add(N))},[]),onNativeOptionRemove:l.useCallback(N=>{z($=>{const F=new Set($);return F.delete(N),F})},[]),children:e})})})})};Be.displayName=ve;const Lt="SelectTrigger",$e=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=Pe(e),r=X(Lt,e),c=r.disabled,s=_.useComposedRefs(i,r.onTriggerChange),a=Ce(e),[h,v,C]=qt(d=>{const f=a().filter(x=>!x.disabled),m=f.find(x=>x.value===r.value),b=Kt(f,d,m);if(b!==void 0&&!Array.isArray(b.value)){const x=r.multi?[b.value]:b.value;r.onValueChange(x)}}),g=()=>{c||(r.onOpenChange(!0),C())};return u.jsx(ie.Anchor,{asChild:!0,...n,children:u.jsx(R.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":c?"":void 0,"data-placeholder":r.value===void 0?"":void 0,tabIndex:c?void 0:0,...t,ref:s,onClick:E.composeEventHandlers(t.onClick,d=>{d.currentTarget.focus()}),onPointerDown:E.composeEventHandlers(t.onPointerDown,d=>{const f=d.target;f.hasPointerCapture(d.pointerId)&&f.releasePointerCapture(d.pointerId),(f.closest("button")??f.closest("div"))===d.currentTarget&&d.button===0&&d.ctrlKey===!1&&(g(),r.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)},d.preventDefault())}),onKeyDown:E.composeEventHandlers(t.onKeyDown,d=>{const f=h.current!=="",m=d.ctrlKey||d.altKey||d.metaKey,b=d.target;(b.closest("button")??b.closest("div"))===d.currentTarget&&(!m&&d.key.length===1&&v(d.key),!(f&&d.key===" ")&&To.includes(d.key)&&(g(),d.preventDefault()))})})})});$e.displayName=Lt;const Ft="SelectValue",Ue=l.forwardRef((o,i)=>{const{__scopeSelect:e,children:t,placeholder:n,...r}=o,c=X(Ft,e),{onValueNodeHasChildrenChange:s}=c,a=t!==void 0,h=_.useComposedRefs(i,c.onValueNodeChange),[v,C]=l.useState([]),g=Ce(e);H.useLayoutEffect(()=>{s(a)},[s,a]),l.useLayoutEffect(()=>{if(Array.isArray(c.value)){const f=new Set(v.map(x=>x.value)),m=new Set(c.value);if(!(f.size===m.size&&Array.from(m).every(x=>f.has(x)))){const x=setTimeout(()=>{const p=g().filter(y=>{var P;return Array.isArray(y.value)?!1:(P=c.value)==null?void 0:P.includes(y.value)});C(p)});return()=>{clearTimeout(x)}}}},[c.value,g,v]);let d;if((c.value===void 0||c.value.length===0)&&n!==void 0)d=u.jsx("span",{children:n});else if(typeof t=="function")if(Array.isArray(c.value)){const f=c.value.map(m=>{const b=v.find(x=>x.value===m);return b?t({value:m,textValue:b==null?void 0:b.textValue}):null});d=f.every(m=>m===null)?n:f}else d=t(c.value);else d=t;return u.jsx(R.Primitive.span,{...r,ref:h,children:d||null})});Ue.displayName=Ft;const Ao="SelectIcon",ze=l.forwardRef((o,i)=>{const{__scopeSelect:e,children:t,...n}=o;return u.jsx(R.Primitive.span,{"aria-hidden":!0,...n,ref:i,children:t||"▼"})});ze.displayName=Ao;const Mo="SelectPortal",We=o=>u.jsx(ut.Portal,{asChild:!0,...o});We.displayName=Mo;const le="SelectContent",qe=l.forwardRef((o,i)=>{const e=X(le,o.__scopeSelect),[t,n]=l.useState();if(H.useLayoutEffect(()=>{n(new DocumentFragment)},[]),!e.open){const r=t;return r?Se.createPortal(u.jsx(kt,{scope:o.__scopeSelect,children:u.jsx(Te.Slot,{scope:o.__scopeSelect,children:u.jsx("div",{children:o.children})})}),r):null}return u.jsx(Ht,{...o,ref:i})});qe.displayName=le;const Y=10,[kt,ne]=pe(le),Oo="SelectContentImpl",Ht=l.forwardRef((o,i)=>{const{__scopeSelect:e,position:t="item-aligned",onCloseAutoFocus:n,onEscapeKeyDown:r,onPointerDownOutside:c,side:s,sideOffset:a,align:h,alignOffset:v,arrowPadding:C,collisionBoundary:g,collisionPadding:d,sticky:f,hideWhenDetached:m,avoidCollisions:b,...x}=o,p=X(le,e),[y,P]=l.useState(null),[O,L]=l.useState(null),A=_.useComposedRefs(i,S=>P(S)),[D,Z]=l.useState(null),[B,z]=l.useState(null),N=Ce(e),[$,F]=l.useState(!1),U=l.useRef(!1);l.useEffect(()=>{if(y)return dt.hideOthers(y)},[y]),ct.useFocusGuards();const J=l.useCallback(S=>{const[I,...M]=N().map(w=>w.ref.current),[V]=M.slice(-1),T=document.activeElement;for(const w of S)if(w===T||(w==null||w.scrollIntoView({block:"nearest"}),w===I&&O&&(O.scrollTop=0),w===V&&O&&(O.scrollTop=O.scrollHeight),w==null||w.focus(),document.activeElement!==T))return},[N,O]),Q=l.useCallback(()=>J([D,y]),[J,D,y]);l.useEffect(()=>{$&&Q()},[$,Q]);const{onOpenChange:W,triggerPointerDownPosRef:q}=p;l.useEffect(()=>{if(y){let S={x:0,y:0};const I=V=>{var T,w;S={x:Math.abs(Math.round(V.pageX)-(((T=q.current)==null?void 0:T.x)??0)),y:Math.abs(Math.round(V.pageY)-(((w=q.current)==null?void 0:w.y)??0))}},M=V=>{S.x<=10&&S.y<=10?V.preventDefault():y.contains(V.target)||W(!1),document.removeEventListener("pointermove",I),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",M,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",M,{capture:!0})}}},[y,W,q]),l.useEffect(()=>{const S=()=>W(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[W]);const[ce,ee]=qt(S=>{const I=N().filter(T=>!T.disabled),M=I.find(T=>T.ref.current===document.activeElement),V=Kt(I,S,M);V&&setTimeout(()=>V.ref.current.focus())}),fe=l.useCallback((S,I,M)=>{const V=!U.current&&!M;(p.value!==void 0&&p.value===I||V)&&(Z(S),V&&(U.current=!0))},[p.value]),me=l.useCallback(()=>y==null?void 0:y.focus(),[y]),te=l.useCallback((S,I,M)=>{const V=!U.current&&!M;(p.value!==void 0&&(Array.isArray(I)?I.every(w=>{var k;return(k=p.value)==null?void 0:k.includes(w)}):p.value===I)||V)&&z(S)},[p.value]),ae=t==="popper"?Ne:Bt,re=ae===Ne?{side:s,sideOffset:a,align:h,alignOffset:v,arrowPadding:C,collisionBoundary:g,collisionPadding:d,sticky:f,hideWhenDetached:m,avoidCollisions:b}:{};return u.jsx(kt,{scope:e,content:y,viewport:O,onViewportChange:L,itemRefCallback:fe,selectedItem:D,onItemLeave:me,itemTextRefCallback:te,focusSelectedItem:Q,selectedItemText:B,position:t,isPositioned:$,searchRef:ce,children:u.jsx(pt.RemoveScroll,{as:Ee.Slot,allowPinchZoom:!0,children:u.jsx(at.FocusScope,{asChild:!0,trapped:p.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:E.composeEventHandlers(n,S=>{var I,M;(I=p.trigger)==null||I.focus({preventScroll:!0}),(M=document.getSelection())==null||M.empty(),S.preventDefault()}),children:u.jsx(it.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:r,onPointerDownOutside:c,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>p.onOpenChange(!1),children:u.jsx(ae,{role:"listbox",id:p.contentId,"data-state":p.open?"open":"closed","aria-multiselectable":p.multi?"true":void 0,dir:p.dir,onContextMenu:S=>S.preventDefault(),...x,...re,onPlaced:()=>F(!0),ref:A,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:E.composeEventHandlers(x.onKeyDown,S=>{const I=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!I&&S.key.length===1&&ee(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let V=N().filter(T=>!T.disabled).map(T=>T.ref.current);if(["ArrowUp","End"].includes(S.key)&&(V=V.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const T=S.target,w=V.indexOf(T);V=V.slice(w+1)}setTimeout(()=>J(V)),S.preventDefault()}})})})})})})});Ht.displayName=Oo;const jo="SelectItemAlignedPosition",Bt=l.forwardRef((o,i)=>{const{__scopeSelect:e,onPlaced:t,...n}=o,r=X(le,e),c=ne(le,e),[s,a]=l.useState(null),[h,v]=l.useState(null),C=_.useComposedRefs(i,A=>v(A)),g=Ce(e),d=l.useRef(!1),f=l.useRef(!0),{viewport:m,selectedItem:b,selectedItemText:x,focusSelectedItem:p}=c,y=l.useCallback(()=>{if(r.trigger&&r.valueNode&&s&&h&&m&&b&&x){const A=r.trigger.getBoundingClientRect(),D=h.getBoundingClientRect(),Z=r.valueNode.getBoundingClientRect(),B=x.getBoundingClientRect();if(r.dir!=="rtl"){const T=B.left-D.left,w=Z.left-T,k=A.left-w,K=A.width+k,j=Math.max(K,D.width),ue=window.innerWidth-Y,he=st.clamp(w,[Y,ue-j]);s.style.minWidth=`${K}px`,s.style.left=`${he}px`}else{const T=D.right-B.right,w=window.innerWidth-Z.right-T,k=window.innerWidth-A.right-w,K=A.width+k,j=Math.max(K,D.width),ue=window.innerWidth-Y,he=st.clamp(w,[Y,ue-j]);s.style.minWidth=`${K}px`,s.style.right=`${he}px`}const z=g(),N=window.innerHeight-Y*2,$=m.scrollHeight,F=window.getComputedStyle(h),U=parseInt(F.borderTopWidth,10),J=parseInt(F.paddingTop,10),Q=parseInt(F.borderBottomWidth,10),W=parseInt(F.paddingBottom,10),q=U+J+$+W+Q,ce=Math.min(b.offsetHeight*5,q),ee=window.getComputedStyle(m),fe=parseInt(ee.paddingTop,10),me=parseInt(ee.paddingBottom,10),te=A.top+A.height/2-Y,ae=N-te,re=b.offsetHeight/2,S=b.offsetTop+re,I=U+J+S,M=q-I;if(I<=te){const T=b===z[z.length-1].ref.current;s.style.bottom="0px";const w=h.clientHeight-m.offsetTop-m.offsetHeight,k=Math.max(ae,re+(T?me:0)+w+Q),K=I+k;s.style.height=`${K}px`}else{const T=b===z[0].ref.current;s.style.top="0px";const k=Math.max(te,U+m.offsetTop+(T?fe:0)+re)+M;s.style.height=`${k}px`,m.scrollTop=I-te+m.offsetTop}s.style.margin=`${Y}px 0`,s.style.minHeight=`${ce}px`,s.style.maxHeight=`${N}px`,t==null||t(),requestAnimationFrame(()=>d.current=!0)}},[g,r.trigger,r.valueNode,s,h,m,b,x,r.dir,t]);H.useLayoutEffect(()=>y(),[y]);const[P,O]=l.useState();H.useLayoutEffect(()=>{h&&O(window.getComputedStyle(h).zIndex)},[h]);const L=l.useCallback(A=>{A&&f.current===!0&&(y(),p==null||p(),f.current=!1)},[y,p]);return u.jsx(Lo,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:d,onScrollButtonChange:L,children:u.jsx("div",{ref:a,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:P},children:u.jsx(R.Primitive.div,{...n,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...n.style}})})})});Bt.displayName=jo;const Do="SelectPopperPosition",Ne=l.forwardRef((o,i)=>{const{__scopeSelect:e,align:t="start",collisionPadding:n=Y,...r}=o,c=Pe(e);return u.jsx(ie.Content,{...c,...r,ref:i,align:t,collisionPadding:n,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)"}})});Ne.displayName=Do;const[Lo,Ke]=pe(le,{}),_e="SelectViewport",Ge=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=ne(_e,e),r=Ke(_e,e),c=_.useComposedRefs(i,n.onViewportChange),s=l.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(Te.Slot,{scope:e,children:u.jsx(R.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...t,ref:c,style:{position:"relative",flex:1,overflow:"auto",...t.style},onScroll:E.composeEventHandlers(t.onScroll,a=>{const h=a.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:C}=r;if(C!=null&&C.current&&v){const g=Math.abs(s.current-h.scrollTop);if(g>0){const d=window.innerHeight-Y*2,f=parseFloat(v.style.minHeight),m=parseFloat(v.style.height),b=Math.max(f,m);if(b<d){const x=b+g,p=Math.min(d,x),y=x-p;v.style.height=`${p}px`,v.style.bottom==="0px"&&(h.scrollTop=y>0?y:0,v.style.justifyContent="flex-end")}}}s.current=h.scrollTop})})})]})});Ge.displayName=_e;const $t="SelectGroup",[Fo,ko]=pe($t),Ye=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=oe.useId();return u.jsx(Fo,{scope:e,id:n,children:u.jsx(R.Primitive.div,{role:"group","aria-labelledby":n,...t,ref:i})})});Ye.displayName=$t;const Ut="SelectLabel",Xe=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=ko(Ut,e);return u.jsx(R.Primitive.div,{id:n.id,...t,ref:i})});Xe.displayName=Ut;const be="SelectItem",[Ho,zt]=pe(be),Ze=l.forwardRef((o,i)=>{const{__scopeSelect:e,value:t,disabled:n=!1,textValue:r,...c}=o,s=X(be,e),a=ne(be,e),h=typeof t=="string"?Array.isArray(s.value)?s.value.includes(t):s.value===t:t.every(p=>{var y;return(y=s.value)==null?void 0:y.includes(p)}),v=Array.isArray(s.value)&&Array.isArray(t)&&t.some(p=>{var y;return(y=s.value)==null?void 0:y.includes(p)}),[C,g]=l.useState(r??""),[d,f]=l.useState(!1),m=_.useComposedRefs(i,p=>{var y;return(y=a.itemRefCallback)==null?void 0:y.call(a,p,t,n)}),b=oe.useId(),x=()=>{if(!n){let p=s.multi&&typeof t=="string"?[t]:t;v&&!h?s.onValueChange(p):Array.isArray(s.value)&&(p=Gt(t,s.value)),s.onValueChange(p),s.multi||s.onOpenChange(!1)}};if(!s.multi&&Array.isArray(t))throw new Error("You can only pass an array of values in multi selects");return u.jsx(Ho,{scope:e,value:t,disabled:n,textId:b,isSelected:h,isIntermediate:v,onItemTextChange:l.useCallback(p=>{g(y=>y||((p==null?void 0:p.textContent)??"").trim())},[]),children:u.jsx(Te.ItemSlot,{scope:e,value:t,disabled:n,textValue:C,children:u.jsx(R.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":d?"":void 0,"aria-selected":s.multi?void 0:h&&d,"aria-checked":s.multi?h:void 0,"data-state":h?"checked":"unchecked","aria-disabled":n||void 0,"data-disabled":n?"":void 0,tabIndex:n?void 0:-1,...c,ref:m,onFocus:E.composeEventHandlers(c.onFocus,()=>f(!0)),onBlur:E.composeEventHandlers(c.onBlur,()=>f(!1)),onPointerUp:E.composeEventHandlers(c.onPointerUp,x),onPointerMove:E.composeEventHandlers(c.onPointerMove,p=>{var y;n?(y=a.onItemLeave)==null||y.call(a):p.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E.composeEventHandlers(c.onPointerLeave,p=>{var y;p.currentTarget===document.activeElement&&((y=a.onItemLeave)==null||y.call(a))}),onKeyDown:E.composeEventHandlers(c.onKeyDown,p=>{var P;((P=a.searchRef)==null?void 0:P.current)!==""&&p.key===" "||(Po.includes(p.key)&&x(),p.key===" "&&p.preventDefault())})})})})});Ze.displayName=be;const xe="SelectItemText",Je=l.forwardRef((o,i)=>{const{__scopeSelect:e,className:t,style:n,...r}=o,c=X(xe,e),s=ne(xe,e),a=zt(xe,e),h=_o(xe,e),[v,C]=l.useState(null),g=_.useComposedRefs(i,x=>C(x),a.onItemTextChange,x=>{var p;return(p=s.itemTextRefCallback)==null?void 0:p.call(s,x,a.value,a.disabled)}),d=v==null?void 0:v.textContent,f=l.useMemo(()=>u.jsx("option",{value:a.value,disabled:a.disabled,children:d},Array.isArray(a.value)?a.value.join(";"):a.value),[a.disabled,a.value,d]),{onNativeOptionAdd:m,onNativeOptionRemove:b}=h;return H.useLayoutEffect(()=>(m(f),()=>b(f)),[m,b,f]),u.jsxs(u.Fragment,{children:[u.jsx(R.Primitive.span,{id:a.textId,...r,ref:g}),a.isSelected&&c.valueNode&&!c.valueNodeHasChildren?Se.createPortal(r.children,c.valueNode):null]})});Je.displayName=xe;const Wt="SelectItemIndicator",Qe=l.forwardRef((o,i)=>{const{__scopeSelect:e,children:t,...n}=o,r=zt(Wt,e);return typeof t=="function"?u.jsx(R.Primitive.span,{"aria-hidden":!0,...n,ref:i,children:t({isSelected:r.isSelected,isIntermediate:r.isIntermediate})}):r.isSelected?u.jsx(R.Primitive.span,{"aria-hidden":!0,...n,ref:i,children:t}):null});Qe.displayName=Wt;const Ae="SelectScrollUpButton",et=l.forwardRef((o,i)=>{const e=ne(Ae,o.__scopeSelect),t=Ke(Ae,o.__scopeSelect),[n,r]=l.useState(!1),c=_.useComposedRefs(i,t.onScrollButtonChange);return H.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const s=e.viewport,a=()=>{const h=s.scrollTop>0;r(h)};return a(),s.addEventListener("scroll",a),()=>s.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),n?u.jsx(ot,{...o,ref:c,onAutoScroll:()=>{const{viewport:s,selectedItem:a}=e;s&&a&&(s.scrollTop-=a.offsetHeight)}}):null});et.displayName=Ae;const Me="SelectScrollDownButton",tt=l.forwardRef((o,i)=>{const e=ne(Me,o.__scopeSelect),t=Ke(Me,o.__scopeSelect),[n,r]=l.useState(!1),c=_.useComposedRefs(i,t.onScrollButtonChange);return H.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const s=e.viewport,a=()=>{const h=s.scrollHeight-s.clientHeight,v=Math.ceil(s.scrollTop)<h;r(v)};return a(),s.addEventListener("scroll",a),()=>s.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),n?u.jsx(ot,{...o,ref:c,onAutoScroll:()=>{const{viewport:s,selectedItem:a}=e;s&&a&&(s.scrollTop+=a.offsetHeight)}}):null});tt.displayName=Me;const ot=l.forwardRef((o,i)=>{const{__scopeSelect:e,onAutoScroll:t,...n}=o,r=ne("SelectScrollButton",e),c=l.useRef(null),s=Ce(e),a=l.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return l.useEffect(()=>()=>a(),[a]),H.useLayoutEffect(()=>{var v;const h=s().find(C=>C.ref.current===document.activeElement);(v=h==null?void 0:h.ref.current)==null||v.scrollIntoView({block:"nearest"})},[s]),u.jsx(R.Primitive.div,{"aria-hidden":!0,...n,ref:i,style:{flexShrink:0,...n.style},onPointerMove:E.composeEventHandlers(n.onPointerMove,()=>{var h;(h=r.onItemLeave)==null||h.call(r),c.current===null&&(c.current=window.setInterval(t,50))}),onPointerLeave:E.composeEventHandlers(n.onPointerLeave,()=>{a()})})});ot.displayName="SelectScrollButtonImpl";const Bo="SelectSeparator",nt=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o;return u.jsx(R.Primitive.div,{"aria-hidden":!0,...t,ref:i})});nt.displayName=Bo;const Oe="SelectArrow",rt=l.forwardRef((o,i)=>{const{__scopeSelect:e,...t}=o,n=Pe(e),r=X(Oe,e),c=ne(Oe,e);return r.open&&c.position==="popper"?u.jsx(ie.Arrow,{...n,...t,ref:i}):null});rt.displayName=Oe;const $o="BubbleSelect",Uo=l.forwardRef((o,i)=>{const{value:e,...t}=o,n=l.useRef(null),r=_.useComposedRefs(i,n),c=Qt.usePrevious(e),s=X($o,void 0);l.useEffect(()=>{const h=n.current,v=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(v,"value").set;if(c!==e&&g){const d=new Event("change",{bubbles:!0});g.call(h,e),h.dispatchEvent(d)}},[c,e]);let a=e;return s.multi&&!Array.isArray(e)&&(a=[]),u.jsx(eo.VisuallyHidden,{asChild:!0,children:u.jsx("select",{...t,multiple:s.multi?!0:void 0,ref:r,defaultValue:a})})});Uo.displayName="BubbleSelect";function qt(o){const i=Dt(o),e=l.useRef(""),t=l.useRef(0),n=l.useCallback(c=>{const s=e.current+c;i(s),function a(h){e.current=h,window.clearTimeout(t.current),h!==""&&(t.current=window.setTimeout(()=>a(""),1e3))}(s)},[i]),r=l.useCallback(()=>{e.current="",window.clearTimeout(t.current)},[]);return l.useEffect(()=>()=>window.clearTimeout(t.current),[]),[e,n,r]}function Kt(o,i,e){const n=i.length>1&&Array.from(i).every(h=>h===i[0])?i[0]:i,r=e?o.indexOf(e):-1;let c=zo(o,Math.max(r,0));n.length===1&&(c=c.filter(h=>h!==e));const a=c.find(h=>h.textValue.toLowerCase().startsWith(n.toLowerCase()));return a!==e?a:void 0}function zo(o,i){return o.map((e,t)=>o[(i+t)%o.length])}const Gt=(o,i=[])=>{if(Array.isArray(o))return o.reduce((t,n)=>Gt(n,t),i);const e=i.indexOf(o);return e===-1?[...i,o]:[...i.slice(0,e),...i.slice(e+1)]},Wo=Be,qo=$e,Ko=Ue,Go=ze,Yo=We,Xo=qe,Zo=Ge,Jo=Ye,Qo=Xe,en=Ze,tn=Je,on=Qe,nn=et,rn=tt,sn=nt,ln=rt,cn=Object.freeze(Object.defineProperty({__proto__:null,Arrow:ln,Content:Xo,Group:Jo,Icon:Go,Item:en,ItemIndicator:on,ItemText:tn,Label:Qo,Portal:Yo,Root:Wo,ScrollDownButton:rn,ScrollUpButton:nn,Select:Be,SelectArrow:rt,SelectContent:qe,SelectGroup:Ye,SelectIcon:ze,SelectItem:Ze,SelectItemIndicator:Qe,SelectItemText:Je,SelectLabel:Xe,SelectPortal:We,SelectScrollDownButton:tt,SelectScrollUpButton:et,SelectSeparator:nt,SelectTrigger:$e,SelectValue:Ue,SelectViewport:Ge,Separator:sn,Trigger:qo,Value:Ko,Viewport:Zo,createSelectScope:Eo},Symbol.toStringTag,{value:"Module"}));function an(o,i,{checkForDefaultPrevented:e=!0}={}){return function(n){if(o==null||o(n),e===!1||!n.defaultPrevented)return i==null?void 0:i(n)}}exports.Combobox=Io;exports.Select=cn;exports.composeEventHandlers=an;exports.createCollection=ft;exports.useCallbackRef=Dt;exports.useCollator=mt;exports.useFilter=we;exports.usePrev=ht;
package/dist/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
1
  import { jsx as p, jsxs as ye, Fragment as Se } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
+ import { useId as se } from "react";
3
4
  import { useComposedRefs as A } from "@radix-ui/react-compose-refs";
4
5
  import { createContextScope as st, createContext as it } from "@radix-ui/react-context";
5
6
  import { Slot as Ee } from "@radix-ui/react-slot";
@@ -7,7 +8,6 @@ import { composeEventHandlers as E } from "@radix-ui/primitive";
7
8
  import { DismissableLayer as ct } from "@radix-ui/react-dismissable-layer";
8
9
  import { useFocusGuards as at } from "@radix-ui/react-focus-guards";
9
10
  import { FocusScope as ut } from "@radix-ui/react-focus-scope";
10
- import { useId as se } from "@radix-ui/react-id";
11
11
  import * as ie from "@radix-ui/react-popper";
12
12
  import { createPopperScope as dt } from "@radix-ui/react-popper";
13
13
  import { Portal as pt } from "@radix-ui/react-portal";
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@strapi/ui-primitives",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/strapi/design-system.git",
9
+ "directory": "packages/primitives"
10
+ },
6
11
  "sideEffects": false,
7
12
  "source": "./src/index.ts",
8
13
  "main": "./dist/index.js",
@@ -31,7 +36,6 @@
31
36
  "@radix-ui/react-dismissable-layer": "1.0.5",
32
37
  "@radix-ui/react-focus-guards": "1.0.1",
33
38
  "@radix-ui/react-focus-scope": "1.0.4",
34
- "@radix-ui/react-id": "1.0.1",
35
39
  "@radix-ui/react-popper": "1.1.3",
36
40
  "@radix-ui/react-portal": "1.0.4",
37
41
  "@radix-ui/react-primitive": "1.0.3",
@@ -56,7 +60,7 @@
56
60
  "vite-plugin-externalize-deps": "^0.8.0"
57
61
  },
58
62
  "peerDependencies": {
59
- "react": "^17.0.0 || ^18.0.0",
60
- "react-dom": "^17.0.0 || ^18.0.0"
63
+ "react": "^18.0.0",
64
+ "react-dom": "^18.0.0"
61
65
  }
62
66
  }