@uipath/apollo-wind 2.36.1 → 2.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/components/custom/flow-properties-simple.cjs +1 -0
  2. package/dist/components/custom/flow-properties-simple.js +1 -0
  3. package/dist/components/custom/panel-delegate.cjs +1 -1
  4. package/dist/components/custom/panel-delegate.js +1 -1
  5. package/dist/components/custom/panel-flow.cjs +2 -1
  6. package/dist/components/custom/panel-flow.js +2 -1
  7. package/dist/components/forms/field-renderer.cjs +1 -0
  8. package/dist/components/forms/field-renderer.js +1 -0
  9. package/dist/components/forms/form-designer.cjs +25 -9
  10. package/dist/components/forms/form-designer.js +25 -9
  11. package/dist/components/forms/form-examples.cjs +1 -1
  12. package/dist/components/forms/form-examples.js +1 -1
  13. package/dist/components/forms/form-state-viewer.cjs +4 -7
  14. package/dist/components/forms/form-state-viewer.js +4 -7
  15. package/dist/components/ui/accordion.cjs +9 -1
  16. package/dist/components/ui/accordion.d.ts +1 -1
  17. package/dist/components/ui/accordion.js +9 -1
  18. package/dist/components/ui/alert-dialog.cjs +25 -4
  19. package/dist/components/ui/alert-dialog.d.ts +9 -3
  20. package/dist/components/ui/alert-dialog.js +25 -4
  21. package/dist/components/ui/alert.cjs +3 -0
  22. package/dist/components/ui/alert.js +3 -0
  23. package/dist/components/ui/aspect-ratio.cjs +8 -1
  24. package/dist/components/ui/aspect-ratio.d.ts +2 -1
  25. package/dist/components/ui/aspect-ratio.js +8 -1
  26. package/dist/components/ui/avatar.cjs +25 -4
  27. package/dist/components/ui/avatar.d.ts +8 -2
  28. package/dist/components/ui/avatar.js +21 -3
  29. package/dist/components/ui/badge.cjs +1 -0
  30. package/dist/components/ui/badge.js +1 -0
  31. package/dist/components/ui/breadcrumb.cjs +7 -0
  32. package/dist/components/ui/breadcrumb.js +7 -0
  33. package/dist/components/ui/button-group.cjs +3 -0
  34. package/dist/components/ui/button-group.js +3 -0
  35. package/dist/components/ui/button.cjs +1 -0
  36. package/dist/components/ui/button.js +1 -0
  37. package/dist/components/ui/card.cjs +6 -0
  38. package/dist/components/ui/card.js +6 -0
  39. package/dist/components/ui/checkbox.cjs +1 -0
  40. package/dist/components/ui/checkbox.js +1 -0
  41. package/dist/components/ui/collapsible.cjs +20 -3
  42. package/dist/components/ui/collapsible.d.ts +4 -3
  43. package/dist/components/ui/collapsible.js +20 -3
  44. package/dist/components/ui/combobox.cjs +5 -3
  45. package/dist/components/ui/combobox.d.ts +2 -1
  46. package/dist/components/ui/combobox.js +6 -4
  47. package/dist/components/ui/command.cjs +9 -0
  48. package/dist/components/ui/command.js +9 -0
  49. package/dist/components/ui/context-menu.cjs +42 -6
  50. package/dist/components/ui/context-menu.d.ts +15 -6
  51. package/dist/components/ui/context-menu.js +42 -6
  52. package/dist/components/ui/data-table.cjs +2 -0
  53. package/dist/components/ui/data-table.js +2 -0
  54. package/dist/components/ui/date-picker.cjs +11 -6
  55. package/dist/components/ui/date-picker.d.ts +3 -3
  56. package/dist/components/ui/date-picker.js +10 -5
  57. package/dist/components/ui/datetime-picker.cjs +5 -3
  58. package/dist/components/ui/datetime-picker.d.ts +2 -1
  59. package/dist/components/ui/datetime-picker.js +6 -4
  60. package/dist/components/ui/dialog.cjs +1 -1
  61. package/dist/components/ui/dialog.js +1 -1
  62. package/dist/components/ui/drawer.cjs +29 -5
  63. package/dist/components/ui/drawer.d.ts +11 -4
  64. package/dist/components/ui/drawer.js +29 -5
  65. package/dist/components/ui/dropdown-menu.cjs +42 -6
  66. package/dist/components/ui/dropdown-menu.d.ts +15 -6
  67. package/dist/components/ui/dropdown-menu.js +42 -6
  68. package/dist/components/ui/editable-cell.cjs +2 -0
  69. package/dist/components/ui/editable-cell.js +2 -0
  70. package/dist/components/ui/empty-state.cjs +1 -0
  71. package/dist/components/ui/empty-state.js +1 -0
  72. package/dist/components/ui/file-upload.cjs +12 -4
  73. package/dist/components/ui/file-upload.d.ts +4 -1
  74. package/dist/components/ui/file-upload.js +13 -5
  75. package/dist/components/ui/hover-card.cjs +12 -2
  76. package/dist/components/ui/hover-card.d.ts +5 -2
  77. package/dist/components/ui/hover-card.js +12 -2
  78. package/dist/components/ui/index.cjs +193 -143
  79. package/dist/components/ui/index.d.ts +5 -0
  80. package/dist/components/ui/index.js +5 -0
  81. package/dist/components/ui/input-group.cjs +59 -15
  82. package/dist/components/ui/input-group.d.ts +5 -1
  83. package/dist/components/ui/input-group.js +61 -17
  84. package/dist/components/ui/input.cjs +31 -6
  85. package/dist/components/ui/input.d.ts +7 -0
  86. package/dist/components/ui/input.js +33 -8
  87. package/dist/components/ui/label.cjs +1 -0
  88. package/dist/components/ui/label.js +1 -0
  89. package/dist/components/ui/layout/column.cjs +1 -0
  90. package/dist/components/ui/layout/column.js +1 -0
  91. package/dist/components/ui/layout/grid.cjs +1 -0
  92. package/dist/components/ui/layout/grid.js +1 -0
  93. package/dist/components/ui/layout/row.cjs +1 -0
  94. package/dist/components/ui/layout/row.js +1 -0
  95. package/dist/components/ui/lockable-value-field/lockable-value-field.cjs +38 -5
  96. package/dist/components/ui/lockable-value-field/lockable-value-field.d.ts +1 -1
  97. package/dist/components/ui/lockable-value-field/lockable-value-field.js +38 -5
  98. package/dist/components/ui/lockable-value-field/types.d.ts +9 -1
  99. package/dist/components/ui/multi-select.cjs +5 -1
  100. package/dist/components/ui/multi-select.d.ts +3 -0
  101. package/dist/components/ui/multi-select.js +5 -1
  102. package/dist/components/ui/pagination.cjs +7 -0
  103. package/dist/components/ui/pagination.js +7 -0
  104. package/dist/components/ui/popover.cjs +18 -3
  105. package/dist/components/ui/popover.d.ts +6 -3
  106. package/dist/components/ui/popover.js +18 -3
  107. package/dist/components/ui/progress.cjs +1 -0
  108. package/dist/components/ui/progress.js +1 -0
  109. package/dist/components/ui/prompt-editor/components/EditorToolbar.cjs +5 -2
  110. package/dist/components/ui/prompt-editor/components/EditorToolbar.js +5 -2
  111. package/dist/components/ui/radio-group.cjs +2 -0
  112. package/dist/components/ui/radio-group.js +2 -0
  113. package/dist/components/ui/resizable.cjs +2 -0
  114. package/dist/components/ui/resizable.js +2 -0
  115. package/dist/components/ui/scroll-area.cjs +2 -0
  116. package/dist/components/ui/scroll-area.js +2 -0
  117. package/dist/components/ui/search.cjs +2 -0
  118. package/dist/components/ui/search.js +2 -0
  119. package/dist/components/ui/select.cjs +24 -3
  120. package/dist/components/ui/select.d.ts +6 -3
  121. package/dist/components/ui/select.js +24 -3
  122. package/dist/components/ui/separator.cjs +1 -0
  123. package/dist/components/ui/separator.js +1 -0
  124. package/dist/components/ui/sheet.cjs +29 -5
  125. package/dist/components/ui/sheet.d.ts +10 -4
  126. package/dist/components/ui/sheet.js +29 -5
  127. package/dist/components/ui/skeleton.cjs +1 -0
  128. package/dist/components/ui/skeleton.js +1 -0
  129. package/dist/components/ui/slider.cjs +1 -0
  130. package/dist/components/ui/slider.js +1 -0
  131. package/dist/components/ui/sonner.cjs +1 -0
  132. package/dist/components/ui/sonner.js +1 -0
  133. package/dist/components/ui/spinner.cjs +1 -0
  134. package/dist/components/ui/spinner.js +1 -0
  135. package/dist/components/ui/stats-card.cjs +26 -12
  136. package/dist/components/ui/stats-card.d.ts +6 -3
  137. package/dist/components/ui/stats-card.js +22 -11
  138. package/dist/components/ui/stepper.cjs +1 -0
  139. package/dist/components/ui/stepper.js +1 -0
  140. package/dist/components/ui/switch.cjs +1 -0
  141. package/dist/components/ui/switch.js +1 -0
  142. package/dist/components/ui/table.cjs +9 -0
  143. package/dist/components/ui/table.js +9 -0
  144. package/dist/components/ui/tabs.cjs +10 -1
  145. package/dist/components/ui/tabs.d.ts +1 -1
  146. package/dist/components/ui/tabs.js +10 -1
  147. package/dist/components/ui/textarea.cjs +1 -0
  148. package/dist/components/ui/textarea.js +1 -0
  149. package/dist/components/ui/toggle-group.cjs +2 -0
  150. package/dist/components/ui/toggle-group.js +2 -0
  151. package/dist/components/ui/toggle.cjs +1 -0
  152. package/dist/components/ui/toggle.js +1 -0
  153. package/dist/components/ui/tooltip.cjs +22 -4
  154. package/dist/components/ui/tooltip.d.ts +13 -4
  155. package/dist/components/ui/tooltip.js +22 -4
  156. package/dist/components/ui/tree-view.cjs +17 -9
  157. package/dist/components/ui/tree-view.d.ts +2 -1
  158. package/dist/components/ui/tree-view.js +18 -10
  159. package/dist/foundation/Future/index.cjs +107 -0
  160. package/dist/foundation/Future/index.d.ts +8 -0
  161. package/dist/foundation/Future/index.js +8 -0
  162. package/dist/foundation/index.cjs +58 -0
  163. package/dist/foundation/index.d.ts +1 -0
  164. package/dist/foundation/index.js +1 -0
  165. package/dist/index.cjs +52 -2
  166. package/dist/index.d.ts +3 -0
  167. package/dist/index.js +3 -1
  168. package/dist/styles.css +208 -128
  169. package/package.json +2 -5
  170. package/dist/components/UiPath/index.cjs +0 -5
  171. package/dist/components/UiPath/index.d.ts +0 -1
  172. package/dist/components/UiPath/index.js +0 -0
@@ -16,11 +16,12 @@ import { LockToggleButton } from "./components/lock-toggle-button.js";
16
16
  import { ModeMenuItem } from "./components/mode-menu-item.js";
17
17
  import { FIELD_TYPE_META } from "./types.js";
18
18
  import { DEFAULT_SELECT_OPTIONS, formatDateValue, getLockedDisplayValue, parseDateValue, parseListValue, toDateOnlyString } from "./utils.js";
19
- function LockableValueField({ value = '', onValueChange, onValueBlur, locked = true, onLockedChange, mode = 'fixed', onModeChange, renderExpressionEditor, fieldType = 'string', onFieldTypeChange, required, onRequiredChange, label, fileUploadAriaLabel, headerActions, compact, controlsVisibility = 'visible', showFieldActions = true, options = DEFAULT_SELECT_OPTIONS, onGenerateWithAi, variables = [], id, className }) {
20
- const generatedId = useId();
19
+ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = true, onLockedChange, mode = 'fixed', onModeChange, renderExpressionEditor, fieldType = 'string', onFieldTypeChange, required, onRequiredChange, label, error, errorId, fileUploadAriaLabel, headerActions, compact, controlsVisibility = 'visible', showFieldActions = true, options = DEFAULT_SELECT_OPTIONS, onGenerateWithAi, variables = [], id, className }) {
20
+ const generatedId = useId().replace(/:/g, '');
21
21
  const [datePopoverOpen, setDatePopoverOpen] = useState(false);
22
22
  const [selectOpen, setSelectOpen] = useState(false);
23
23
  const fieldId = id ?? generatedId;
24
+ const validationId = errorId ?? `${fieldId}-error`;
24
25
  const typeMeta = FIELD_TYPE_META[fieldType];
25
26
  const effectiveMode = typeMeta.supportsExpression ? mode : 'fixed';
26
27
  const editableOnValueChange = locked ? void 0 : onValueChange;
@@ -49,6 +50,8 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
49
50
  headerActions: headerActions
50
51
  }),
51
52
  typeMeta.supportsExpression ? /*#__PURE__*/ jsxs(InputGroup, {
53
+ error: error,
54
+ errorId: validationId,
52
55
  children: [
53
56
  /*#__PURE__*/ jsx(InputGroupAddon, {
54
57
  align: "inline-start",
@@ -64,7 +67,11 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
64
67
  onBlur: onValueBlur,
65
68
  readOnly: !editableOnValueChange,
66
69
  placeholder: fieldLabel,
67
- fieldType
70
+ fieldType,
71
+ 'aria-invalid': error ? true : void 0,
72
+ 'aria-describedby': error ? validationId : void 0,
73
+ 'aria-errormessage': error ? validationId : void 0,
74
+ 'data-slot': 'input-group-control'
68
75
  }) : /*#__PURE__*/ jsx(InputGroupInput, {
69
76
  id: fieldId,
70
77
  readOnly: !editableOnValueChange,
@@ -83,6 +90,9 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
83
90
  className: "flex h-full flex-1 items-center px-3",
84
91
  children: /*#__PURE__*/ jsx(Switch, {
85
92
  id: fieldId,
93
+ "aria-invalid": error ? true : void 0,
94
+ "aria-describedby": error ? validationId : void 0,
95
+ "aria-errormessage": error ? validationId : void 0,
86
96
  checked: 'true' === value,
87
97
  onCheckedChange: (checked)=>onValueChange?.(String(checked)),
88
98
  onBlur: onValueBlur,
@@ -101,6 +111,9 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
101
111
  type: "button",
102
112
  id: fieldId,
103
113
  "data-slot": "input-group-control",
114
+ "aria-invalid": error ? true : void 0,
115
+ "aria-describedby": error ? validationId : void 0,
116
+ "aria-errormessage": error ? validationId : void 0,
104
117
  disabled: !onValueChange,
105
118
  className: "flex h-full flex-1 items-center text-left text-sm text-foreground outline-none disabled:cursor-not-allowed disabled:opacity-50",
106
119
  children: value ? formatDateValue(value) : /*#__PURE__*/ jsx("span", {
@@ -176,6 +189,9 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
176
189
  }),
177
190
  locked ? /*#__PURE__*/ jsx(Input, {
178
191
  id: fieldId,
192
+ "aria-invalid": error ? true : void 0,
193
+ "aria-describedby": error ? validationId : void 0,
194
+ "aria-errormessage": error ? validationId : void 0,
179
195
  readOnly: true,
180
196
  value: lockedDisplayValue,
181
197
  placeholder: fieldLabel,
@@ -194,6 +210,9 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
194
210
  /*#__PURE__*/ jsx(SelectTrigger, {
195
211
  id: fieldId,
196
212
  className: "flex-1",
213
+ "aria-invalid": error ? true : void 0,
214
+ "aria-describedby": error ? validationId : void 0,
215
+ "aria-errormessage": error ? validationId : void 0,
197
216
  children: /*#__PURE__*/ jsx(SelectValue, {
198
217
  placeholder: "Select an option"
199
218
  })
@@ -213,16 +232,30 @@ function LockableValueField({ value = '', onValueChange, onValueBlur, locked = t
213
232
  onChange: (selected)=>onValueChange?.(JSON.stringify(selected)),
214
233
  placeholder: "Select options...",
215
234
  disabled: !onValueChange,
216
- onBlur: onValueBlur
235
+ onBlur: onValueBlur,
236
+ "aria-invalid": error ? true : void 0,
237
+ "aria-describedby": error ? validationId : void 0,
238
+ "aria-errormessage": error ? validationId : void 0
217
239
  }) : 'file' === fieldType && /*#__PURE__*/ jsx(FileUpload, {
218
240
  id: fieldId,
219
241
  ariaLabel: fileUploadAriaLabel ?? ('string' == typeof label ? label : fieldLabel),
220
242
  className: "flex-1",
221
243
  onFilesChange: (files)=>onValueChange?.(files.map((f)=>f.name).join(', ')),
222
244
  disabled: !onValueChange,
223
- onBlur: onValueBlur
245
+ onBlur: onValueBlur,
246
+ "aria-invalid": error ? true : void 0,
247
+ "aria-describedby": error ? validationId : void 0,
248
+ "aria-errormessage": error ? validationId : void 0
224
249
  })
225
250
  ]
251
+ }),
252
+ error && !typeMeta.supportsExpression && /*#__PURE__*/ jsx("p", {
253
+ id: validationId,
254
+ "data-slot": "lockable-value-field-error",
255
+ "aria-live": "polite",
256
+ "aria-atomic": "true",
257
+ className: "mt-1 text-xs leading-4 text-error",
258
+ children: error
226
259
  })
227
260
  ]
228
261
  });
@@ -1,5 +1,5 @@
1
1
  import { type LucideIcon } from 'lucide-react';
2
- import type { ReactNode } from 'react';
2
+ import type { AriaAttributes, ReactNode } from 'react';
3
3
  export type LockableValueFieldMode = 'fixed' | 'expression';
4
4
  export type LockableFieldType = 'string' | 'integer' | 'date' | 'boolean' | 'single-select' | 'multi-select' | 'file';
5
5
  interface FieldTypeMeta {
@@ -42,6 +42,10 @@ export interface LockableValueFieldProps {
42
42
  readOnly: boolean;
43
43
  placeholder: string;
44
44
  fieldType: LockableFieldType;
45
+ 'aria-invalid'?: AriaAttributes['aria-invalid'];
46
+ 'aria-describedby'?: string;
47
+ 'aria-errormessage'?: string;
48
+ 'data-slot'?: string;
45
49
  }) => ReactNode;
46
50
  /** The field's data type. Defaults to 'string'. Determines which control renders the value. */
47
51
  fieldType?: LockableFieldType;
@@ -53,6 +57,10 @@ export interface LockableValueFieldProps {
53
57
  onRequiredChange?: (required: boolean) => void;
54
58
  /** Overrides the default mode-based label (e.g. a field name instead of "String value"). */
55
59
  label?: ReactNode;
60
+ /** Field-specific validation feedback rendered immediately below the active control. */
61
+ error?: ReactNode;
62
+ /** Optional id for the inline validation message. */
63
+ errorId?: string;
56
64
  /** Accessible name for the file-upload dropzone. Defaults to a string `label`, then the computed field label. */
57
65
  fileUploadAriaLabel?: string;
58
66
  /** Extra content rendered after the built-in AI assist / Insert variable buttons (e.g. a delete button). */
@@ -35,7 +35,7 @@ const external_checkbox_cjs_namespaceObject = require("./checkbox.cjs");
35
35
  const external_command_cjs_namespaceObject = require("./command.cjs");
36
36
  const external_popover_cjs_namespaceObject = require("./popover.cjs");
37
37
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
38
- const MultiSelect = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ id, options, selected, onChange, placeholder = 'Select items...', emptyMessage = 'No items found.', className, maxSelected, disabled = false, searchPlaceholder = 'Search...', clearAllText, onBlur }, ref)=>{
38
+ const MultiSelect = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ id, options, selected, onChange, placeholder = 'Select items...', emptyMessage = 'No items found.', className, maxSelected, disabled = false, searchPlaceholder = 'Search...', clearAllText, onBlur, 'aria-invalid': ariaInvalid, 'aria-describedby': ariaDescribedBy, 'aria-errormessage': ariaErrorMessage }, ref)=>{
39
39
  const [open, setOpen] = external_react_namespaceObject.useState(false);
40
40
  const handleUnselect = (value)=>{
41
41
  onChange(selected.filter((s)=>s !== value));
@@ -55,6 +55,7 @@ const MultiSelect = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ i
55
55
  };
56
56
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
57
57
  ref: ref,
58
+ "data-slot": "multi-select",
58
59
  className: (0, index_cjs_namespaceObject.cn)('relative', className),
59
60
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover, {
60
61
  open: open,
@@ -70,6 +71,9 @@ const MultiSelect = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ i
70
71
  variant: "outline",
71
72
  role: "combobox",
72
73
  "aria-expanded": open,
74
+ "aria-invalid": ariaInvalid,
75
+ "aria-describedby": ariaDescribedBy,
76
+ "aria-errormessage": ariaErrorMessage,
73
77
  "aria-label": id ? void 0 : selected.length > 0 ? `${selected.length} ${1 === selected.length ? 'item' : 'items'} selected` : placeholder,
74
78
  className: (0, index_cjs_namespaceObject.cn)('w-full justify-between future:rounded-xl future:border-0 future:bg-surface-overlay future:hover:bg-surface-hover future:font-normal future:text-muted-foreground', selected.length > 0 ? 'h-auto min-h-10' : 'h-10'),
75
79
  disabled: disabled,
@@ -17,6 +17,9 @@ export interface MultiSelectProps {
17
17
  clearAllText?: string | ((count: number) => string);
18
18
  /** Called when the multi-select popover closes after being opened. */
19
19
  onBlur?: () => void;
20
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
21
+ 'aria-describedby'?: string;
22
+ 'aria-errormessage'?: string;
20
23
  }
21
24
  declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLDivElement>>;
22
25
  export { MultiSelect };
@@ -7,7 +7,7 @@ import { Checkbox } from "./checkbox.js";
7
7
  import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from "./command.js";
8
8
  import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
9
9
  import { cn } from "../../lib/index.js";
10
- const MultiSelect = /*#__PURE__*/ forwardRef(({ id, options, selected, onChange, placeholder = 'Select items...', emptyMessage = 'No items found.', className, maxSelected, disabled = false, searchPlaceholder = 'Search...', clearAllText, onBlur }, ref)=>{
10
+ const MultiSelect = /*#__PURE__*/ forwardRef(({ id, options, selected, onChange, placeholder = 'Select items...', emptyMessage = 'No items found.', className, maxSelected, disabled = false, searchPlaceholder = 'Search...', clearAllText, onBlur, 'aria-invalid': ariaInvalid, 'aria-describedby': ariaDescribedBy, 'aria-errormessage': ariaErrorMessage }, ref)=>{
11
11
  const [open, setOpen] = useState(false);
12
12
  const handleUnselect = (value)=>{
13
13
  onChange(selected.filter((s)=>s !== value));
@@ -27,6 +27,7 @@ const MultiSelect = /*#__PURE__*/ forwardRef(({ id, options, selected, onChange,
27
27
  };
28
28
  return /*#__PURE__*/ jsx("div", {
29
29
  ref: ref,
30
+ "data-slot": "multi-select",
30
31
  className: cn('relative', className),
31
32
  children: /*#__PURE__*/ jsxs(Popover, {
32
33
  open: open,
@@ -42,6 +43,9 @@ const MultiSelect = /*#__PURE__*/ forwardRef(({ id, options, selected, onChange,
42
43
  variant: "outline",
43
44
  role: "combobox",
44
45
  "aria-expanded": open,
46
+ "aria-invalid": ariaInvalid,
47
+ "aria-describedby": ariaDescribedBy,
48
+ "aria-errormessage": ariaErrorMessage,
45
49
  "aria-label": id ? void 0 : selected.length > 0 ? `${selected.length} ${1 === selected.length ? 'item' : 'items'} selected` : placeholder,
46
50
  className: cn('w-full justify-between future:rounded-xl future:border-0 future:bg-surface-overlay future:hover:bg-surface-hover future:font-normal future:text-muted-foreground', selected.length > 0 ? 'h-auto min-h-10' : 'h-10'),
47
51
  disabled: disabled,
@@ -38,6 +38,7 @@ const external_react_namespaceObject = require("react");
38
38
  const external_button_cjs_namespaceObject = require("./button.cjs");
39
39
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
40
40
  const Pagination = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("nav", {
41
+ "data-slot": "pagination",
41
42
  "aria-label": "pagination",
42
43
  className: (0, index_cjs_namespaceObject.cn)('mx-auto flex w-full justify-center', className),
43
44
  ...props
@@ -45,17 +46,20 @@ const Pagination = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_name
45
46
  Pagination.displayName = 'Pagination';
46
47
  const PaginationContent = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("ul", {
47
48
  ref: ref,
49
+ "data-slot": "pagination-content",
48
50
  className: (0, index_cjs_namespaceObject.cn)('flex flex-row items-center gap-1', className),
49
51
  ...props
50
52
  }));
51
53
  PaginationContent.displayName = 'PaginationContent';
52
54
  const PaginationItem = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("li", {
53
55
  ref: ref,
56
+ "data-slot": "pagination-item",
54
57
  className: (0, index_cjs_namespaceObject.cn)('', className),
55
58
  ...props
56
59
  }));
57
60
  PaginationItem.displayName = 'PaginationItem';
58
61
  const PaginationLink = ({ className, isActive, size = 'default', ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("a", {
62
+ "data-slot": "pagination-link",
59
63
  "aria-current": isActive ? 'page' : void 0,
60
64
  className: (0, index_cjs_namespaceObject.cn)((0, external_button_cjs_namespaceObject.buttonVariants)({
61
65
  variant: isActive ? 'outline' : 'ghost',
@@ -65,6 +69,7 @@ const PaginationLink = ({ className, isActive, size = 'default', ...props })=>/*
65
69
  });
66
70
  PaginationLink.displayName = 'PaginationLink';
67
71
  const PaginationPrevious = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(PaginationLink, {
72
+ "data-slot": "pagination-previous",
68
73
  "aria-label": "Go to previous page",
69
74
  size: "default",
70
75
  className: (0, index_cjs_namespaceObject.cn)('gap-1 pl-2.5', className),
@@ -80,6 +85,7 @@ const PaginationPrevious = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runt
80
85
  });
81
86
  PaginationPrevious.displayName = 'PaginationPrevious';
82
87
  const PaginationNext = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(PaginationLink, {
88
+ "data-slot": "pagination-next",
83
89
  "aria-label": "Go to next page",
84
90
  size: "default",
85
91
  className: (0, index_cjs_namespaceObject.cn)('gap-1 pr-2.5', className),
@@ -95,6 +101,7 @@ const PaginationNext = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_
95
101
  });
96
102
  PaginationNext.displayName = 'PaginationNext';
97
103
  const PaginationEllipsis = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
104
+ "data-slot": "pagination-ellipsis",
98
105
  "aria-hidden": true,
99
106
  className: (0, index_cjs_namespaceObject.cn)('flex h-9 w-9 items-center justify-center future:h-10 future:w-10', className),
100
107
  ...props,
@@ -4,6 +4,7 @@ import { forwardRef } from "react";
4
4
  import { buttonVariants } from "./button.js";
5
5
  import { cn } from "../../lib/index.js";
6
6
  const Pagination = ({ className, ...props })=>/*#__PURE__*/ jsx("nav", {
7
+ "data-slot": "pagination",
7
8
  "aria-label": "pagination",
8
9
  className: cn('mx-auto flex w-full justify-center', className),
9
10
  ...props
@@ -11,17 +12,20 @@ const Pagination = ({ className, ...props })=>/*#__PURE__*/ jsx("nav", {
11
12
  Pagination.displayName = 'Pagination';
12
13
  const PaginationContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("ul", {
13
14
  ref: ref,
15
+ "data-slot": "pagination-content",
14
16
  className: cn('flex flex-row items-center gap-1', className),
15
17
  ...props
16
18
  }));
17
19
  PaginationContent.displayName = 'PaginationContent';
18
20
  const PaginationItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("li", {
19
21
  ref: ref,
22
+ "data-slot": "pagination-item",
20
23
  className: cn('', className),
21
24
  ...props
22
25
  }));
23
26
  PaginationItem.displayName = 'PaginationItem';
24
27
  const PaginationLink = ({ className, isActive, size = 'default', ...props })=>/*#__PURE__*/ jsx("a", {
28
+ "data-slot": "pagination-link",
25
29
  "aria-current": isActive ? 'page' : void 0,
26
30
  className: cn(buttonVariants({
27
31
  variant: isActive ? 'outline' : 'ghost',
@@ -31,6 +35,7 @@ const PaginationLink = ({ className, isActive, size = 'default', ...props })=>/*
31
35
  });
32
36
  PaginationLink.displayName = 'PaginationLink';
33
37
  const PaginationPrevious = ({ className, ...props })=>/*#__PURE__*/ jsxs(PaginationLink, {
38
+ "data-slot": "pagination-previous",
34
39
  "aria-label": "Go to previous page",
35
40
  size: "default",
36
41
  className: cn('gap-1 pl-2.5', className),
@@ -46,6 +51,7 @@ const PaginationPrevious = ({ className, ...props })=>/*#__PURE__*/ jsxs(Paginat
46
51
  });
47
52
  PaginationPrevious.displayName = 'PaginationPrevious';
48
53
  const PaginationNext = ({ className, ...props })=>/*#__PURE__*/ jsxs(PaginationLink, {
54
+ "data-slot": "pagination-next",
49
55
  "aria-label": "Go to next page",
50
56
  size: "default",
51
57
  className: cn('gap-1 pr-2.5', className),
@@ -61,6 +67,7 @@ const PaginationNext = ({ className, ...props })=>/*#__PURE__*/ jsxs(PaginationL
61
67
  });
62
68
  PaginationNext.displayName = 'PaginationNext';
63
69
  const PaginationEllipsis = ({ className, ...props })=>/*#__PURE__*/ jsxs("span", {
70
+ "data-slot": "pagination-ellipsis",
64
71
  "aria-hidden": true,
65
72
  className: cn('flex h-9 w-9 items-center justify-center future:h-10 future:w-10', className),
66
73
  ...props,
@@ -35,15 +35,30 @@ const react_popover_namespaceObject = require("@radix-ui/react-popover");
35
35
  const external_react_namespaceObject = require("react");
36
36
  const external_portal_container_cjs_namespaceObject = require("./portal-container.cjs");
37
37
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
38
- const Popover = react_popover_namespaceObject.Root;
39
- const PopoverTrigger = react_popover_namespaceObject.Trigger;
40
- const PopoverAnchor = react_popover_namespaceObject.Anchor;
38
+ const Popover = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_popover_namespaceObject.Root, {
39
+ "data-slot": "popover",
40
+ ...props
41
+ });
42
+ Popover.displayName = 'Popover';
43
+ const PopoverTrigger = /*#__PURE__*/ external_react_namespaceObject.forwardRef((props, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_popover_namespaceObject.Trigger, {
44
+ ref: ref,
45
+ "data-slot": "popover-trigger",
46
+ ...props
47
+ }));
48
+ PopoverTrigger.displayName = react_popover_namespaceObject.Trigger.displayName;
49
+ const PopoverAnchor = /*#__PURE__*/ external_react_namespaceObject.forwardRef((props, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_popover_namespaceObject.Anchor, {
50
+ ref: ref,
51
+ "data-slot": "popover-anchor",
52
+ ...props
53
+ }));
54
+ PopoverAnchor.displayName = react_popover_namespaceObject.Anchor.displayName;
41
55
  const PopoverContent = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, align = 'center', sideOffset = 4, container, ...props }, ref)=>{
42
56
  const resolvedContainer = (0, external_portal_container_cjs_namespaceObject.useResolvedPortalContainer)(container);
43
57
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_popover_namespaceObject.Portal, {
44
58
  container: resolvedContainer,
45
59
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_popover_namespaceObject.Content, {
46
60
  ref: ref,
61
+ "data-slot": "popover-content",
47
62
  align: align,
48
63
  sideOffset: sideOffset,
49
64
  className: (0, index_cjs_namespaceObject.cn)('z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none future:rounded-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]', className),
@@ -1,9 +1,12 @@
1
1
  import * as PopoverPrimitive from '@radix-ui/react-popover';
2
2
  import * as React from 'react';
3
3
  import { type PortalContainerOverride } from './portal-container';
4
- declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
5
- declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
- declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const Popover: {
5
+ (props: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
8
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const PopoverAnchor: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
10
  declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
8
11
  container?: PortalContainerOverride;
9
12
  } & React.RefAttributes<HTMLDivElement>>;
@@ -4,15 +4,30 @@ import { Anchor, Content, Portal, Root, Trigger } from "@radix-ui/react-popover"
4
4
  import { forwardRef } from "react";
5
5
  import { useResolvedPortalContainer } from "./portal-container.js";
6
6
  import { cn } from "../../lib/index.js";
7
- const Popover = Root;
8
- const PopoverTrigger = Trigger;
9
- const PopoverAnchor = Anchor;
7
+ const Popover = (props)=>/*#__PURE__*/ jsx(Root, {
8
+ "data-slot": "popover",
9
+ ...props
10
+ });
11
+ Popover.displayName = 'Popover';
12
+ const PopoverTrigger = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(Trigger, {
13
+ ref: ref,
14
+ "data-slot": "popover-trigger",
15
+ ...props
16
+ }));
17
+ PopoverTrigger.displayName = Trigger.displayName;
18
+ const PopoverAnchor = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(Anchor, {
19
+ ref: ref,
20
+ "data-slot": "popover-anchor",
21
+ ...props
22
+ }));
23
+ PopoverAnchor.displayName = Anchor.displayName;
10
24
  const PopoverContent = /*#__PURE__*/ forwardRef(({ className, align = 'center', sideOffset = 4, container, ...props }, ref)=>{
11
25
  const resolvedContainer = useResolvedPortalContainer(container);
12
26
  return /*#__PURE__*/ jsx(Portal, {
13
27
  container: resolvedContainer,
14
28
  children: /*#__PURE__*/ jsx(Content, {
15
29
  ref: ref,
30
+ "data-slot": "popover-content",
16
31
  align: align,
17
32
  sideOffset: sideOffset,
18
33
  className: cn('z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none future:rounded-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]', className),
@@ -32,6 +32,7 @@ const external_react_namespaceObject = require("react");
32
32
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
33
33
  const Progress = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, value, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_progress_namespaceObject.Root, {
34
34
  ref: ref,
35
+ "data-slot": "progress",
35
36
  className: (0, index_cjs_namespaceObject.cn)('relative h-4 w-full overflow-hidden rounded-full bg-secondary', className),
36
37
  ...props,
37
38
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_progress_namespaceObject.Indicator, {
@@ -4,6 +4,7 @@ import { forwardRef } from "react";
4
4
  import { cn } from "../../lib/index.js";
5
5
  const Progress = /*#__PURE__*/ forwardRef(({ className, value, ...props }, ref)=>/*#__PURE__*/ jsx(Root, {
6
6
  ref: ref,
7
+ "data-slot": "progress",
7
8
  className: cn('relative h-4 w-full overflow-hidden rounded-full bg-secondary', className),
8
9
  ...props,
9
10
  children: /*#__PURE__*/ jsx(Indicator, {
@@ -77,11 +77,13 @@ const EditorToolbar = ({ mode, onModeChange, disabled, actionsRef, onFullscreen
77
77
  }),
78
78
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
79
79
  className: "flex items-center gap-1 shrink-0",
80
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
81
- className: "flex items-center rounded-md bg-muted p-0.5",
80
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("fieldset", {
81
+ "aria-label": "Editor mode",
82
+ className: "m-0 flex items-center rounded-md border-0 bg-muted p-0.5",
82
83
  children: [
83
84
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
84
85
  type: "button",
86
+ "aria-pressed": 'edit' === mode,
85
87
  className: (0, index_cjs_namespaceObject.cn)('rounded px-2 py-0.5 text-[11px] font-semibold transition-colors', 'edit' === mode ? 'bg-primary/20 text-primary' : 'text-foreground hover:bg-accent'),
86
88
  disabled: disabled,
87
89
  onClick: ()=>onModeChange('edit'),
@@ -89,6 +91,7 @@ const EditorToolbar = ({ mode, onModeChange, disabled, actionsRef, onFullscreen
89
91
  }),
90
92
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
91
93
  type: "button",
94
+ "aria-pressed": 'preview' === mode,
92
95
  className: (0, index_cjs_namespaceObject.cn)('rounded px-2 py-0.5 text-[11px] font-semibold transition-colors', 'preview' === mode ? 'bg-primary/20 text-primary' : 'text-foreground hover:bg-accent'),
93
96
  disabled: disabled,
94
97
  onClick: ()=>onModeChange('preview'),
@@ -49,11 +49,13 @@ const EditorToolbar = ({ mode, onModeChange, disabled, actionsRef, onFullscreen
49
49
  }),
50
50
  /*#__PURE__*/ jsx("div", {
51
51
  className: "flex items-center gap-1 shrink-0",
52
- children: /*#__PURE__*/ jsxs("div", {
53
- className: "flex items-center rounded-md bg-muted p-0.5",
52
+ children: /*#__PURE__*/ jsxs("fieldset", {
53
+ "aria-label": "Editor mode",
54
+ className: "m-0 flex items-center rounded-md border-0 bg-muted p-0.5",
54
55
  children: [
55
56
  /*#__PURE__*/ jsx("button", {
56
57
  type: "button",
58
+ "aria-pressed": 'edit' === mode,
57
59
  className: cn('rounded px-2 py-0.5 text-[11px] font-semibold transition-colors', 'edit' === mode ? 'bg-primary/20 text-primary' : 'text-foreground hover:bg-accent'),
58
60
  disabled: disabled,
59
61
  onClick: ()=>onModeChange('edit'),
@@ -61,6 +63,7 @@ const EditorToolbar = ({ mode, onModeChange, disabled, actionsRef, onFullscreen
61
63
  }),
62
64
  /*#__PURE__*/ jsx("button", {
63
65
  type: "button",
66
+ "aria-pressed": 'preview' === mode,
64
67
  className: cn('rounded px-2 py-0.5 text-[11px] font-semibold transition-colors', 'preview' === mode ? 'bg-primary/20 text-primary' : 'text-foreground hover:bg-accent'),
65
68
  disabled: disabled,
66
69
  onClick: ()=>onModeChange('preview'),
@@ -33,6 +33,7 @@ const external_lucide_react_namespaceObject = require("lucide-react");
33
33
  const external_react_namespaceObject = require("react");
34
34
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
35
35
  const RadioGroup = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_radio_group_namespaceObject.Root, {
36
+ "data-slot": "radio-group",
36
37
  className: (0, index_cjs_namespaceObject.cn)('grid gap-2', className),
37
38
  ...props,
38
39
  ref: ref
@@ -40,6 +41,7 @@ const RadioGroup = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ cl
40
41
  RadioGroup.displayName = react_radio_group_namespaceObject.Root.displayName;
41
42
  const RadioGroupItem = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_radio_group_namespaceObject.Item, {
42
43
  ref: ref,
44
+ "data-slot": "radio-group-item",
43
45
  className: (0, index_cjs_namespaceObject.cn)('aspect-square h-4 w-4 cursor-pointer rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', 'future:border-border future:text-foreground future:hover:border-border-hover future:data-[state=checked]:border-foreground-muted', className),
44
46
  ...props,
45
47
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_radio_group_namespaceObject.Indicator, {
@@ -4,6 +4,7 @@ import { Circle } from "lucide-react";
4
4
  import { forwardRef } from "react";
5
5
  import { cn } from "../../lib/index.js";
6
6
  const RadioGroup = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Root, {
7
+ "data-slot": "radio-group",
7
8
  className: cn('grid gap-2', className),
8
9
  ...props,
9
10
  ref: ref
@@ -11,6 +12,7 @@ const RadioGroup = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#_
11
12
  RadioGroup.displayName = Root.displayName;
12
13
  const RadioGroupItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Item, {
13
14
  ref: ref,
15
+ "data-slot": "radio-group-item",
14
16
  className: cn('aspect-square h-4 w-4 cursor-pointer rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', 'future:border-border future:text-foreground future:hover:border-border-hover future:data-[state=checked]:border-foreground-muted', className),
15
17
  ...props,
16
18
  children: /*#__PURE__*/ jsx(Indicator, {
@@ -33,11 +33,13 @@ const external_lucide_react_namespaceObject = require("lucide-react");
33
33
  const external_react_resizable_panels_namespaceObject = require("react-resizable-panels");
34
34
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
35
35
  const ResizablePanelGroup = ({ className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_resizable_panels_namespaceObject.Group, {
36
+ "data-slot": "resizable-panel-group",
36
37
  className: (0, index_cjs_namespaceObject.cn)('flex h-full w-full', className),
37
38
  ...props
38
39
  });
39
40
  const ResizablePanel = external_react_resizable_panels_namespaceObject.Panel;
40
41
  const ResizableHandle = ({ withHandle, className, ...props })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_resizable_panels_namespaceObject.Separator, {
42
+ "data-slot": "resizable-handle",
41
43
  className: (0, index_cjs_namespaceObject.cn)('group relative flex w-px items-center justify-center bg-border transition-colors data-[separator=hover]:bg-primary data-[separator=active]:bg-primary after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=horizontal]:after:translate-x-0 [&[aria-orientation=horizontal]>div]:rotate-90', className),
42
44
  ...props,
43
45
  children: withHandle && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
@@ -3,11 +3,13 @@ import { GripVertical } from "lucide-react";
3
3
  import { Group, Panel, Separator } from "react-resizable-panels";
4
4
  import { cn } from "../../lib/index.js";
5
5
  const ResizablePanelGroup = ({ className, ...props })=>/*#__PURE__*/ jsx(Group, {
6
+ "data-slot": "resizable-panel-group",
6
7
  className: cn('flex h-full w-full', className),
7
8
  ...props
8
9
  });
9
10
  const ResizablePanel = Panel;
10
11
  const ResizableHandle = ({ withHandle, className, ...props })=>/*#__PURE__*/ jsx(Separator, {
12
+ "data-slot": "resizable-handle",
11
13
  className: cn('group relative flex w-px items-center justify-center bg-border transition-colors data-[separator=hover]:bg-primary data-[separator=active]:bg-primary after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=horizontal]:after:translate-x-0 [&[aria-orientation=horizontal]>div]:rotate-90', className),
12
14
  ...props,
13
15
  children: withHandle && /*#__PURE__*/ jsx("div", {
@@ -34,6 +34,7 @@ const external_react_namespaceObject = require("react");
34
34
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
35
35
  const ScrollArea = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(react_scroll_area_namespaceObject.Root, {
36
36
  ref: ref,
37
+ "data-slot": "scroll-area",
37
38
  className: (0, index_cjs_namespaceObject.cn)('relative overflow-hidden overscroll-x-contain', className),
38
39
  ...props,
39
40
  children: [
@@ -53,6 +54,7 @@ const ScrollArea = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ cl
53
54
  ScrollArea.displayName = react_scroll_area_namespaceObject.Root.displayName;
54
55
  const ScrollBar = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, orientation = 'vertical', ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_scroll_area_namespaceObject.ScrollAreaScrollbar, {
55
56
  ref: ref,
57
+ "data-slot": "scroll-bar",
56
58
  orientation: orientation,
57
59
  className: (0, index_cjs_namespaceObject.cn)('flex touch-none select-none transition-colors', 'vertical' === orientation && 'h-full w-2.5 border-l border-l-transparent p-px', 'horizontal' === orientation && 'h-2.5 flex-col border-t border-t-transparent p-px', className),
58
60
  ...props,
@@ -5,6 +5,7 @@ import { forwardRef } from "react";
5
5
  import { cn } from "../../lib/index.js";
6
6
  const ScrollArea = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ jsxs(Root, {
7
7
  ref: ref,
8
+ "data-slot": "scroll-area",
8
9
  className: cn('relative overflow-hidden overscroll-x-contain', className),
9
10
  ...props,
10
11
  children: [
@@ -24,6 +25,7 @@ const ScrollArea = /*#__PURE__*/ forwardRef(({ className, children, ...props },
24
25
  ScrollArea.displayName = Root.displayName;
25
26
  const ScrollBar = /*#__PURE__*/ forwardRef(({ className, orientation = 'vertical', ...props }, ref)=>/*#__PURE__*/ jsx(ScrollAreaScrollbar, {
26
27
  ref: ref,
28
+ "data-slot": "scroll-bar",
27
29
  orientation: orientation,
28
30
  className: cn('flex touch-none select-none transition-colors', 'vertical' === orientation && 'h-full w-2.5 border-l border-l-transparent p-px', 'horizontal' === orientation && 'h-2.5 flex-col border-t border-t-transparent p-px', className),
29
31
  ...props,
@@ -40,6 +40,7 @@ const Search = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ classN
40
40
  onClear?.();
41
41
  };
42
42
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_input_group_cjs_namespaceObject.InputGroup, {
43
+ "data-slot": "search",
43
44
  variant: variant,
44
45
  size: size,
45
46
  children: [
@@ -93,6 +94,7 @@ const SearchWithSuggestions = /*#__PURE__*/ external_react_namespaceObject.forwa
93
94
  };
94
95
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
95
96
  ref: ref,
97
+ "data-slot": "search-with-suggestions",
96
98
  className: (0, index_cjs_namespaceObject.cn)('relative', className),
97
99
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover, {
98
100
  open: open && filteredSuggestions.length > 0,
@@ -11,6 +11,7 @@ const search_Search = /*#__PURE__*/ forwardRef(({ className, value, onChange, on
11
11
  onClear?.();
12
12
  };
13
13
  return /*#__PURE__*/ jsxs(InputGroup, {
14
+ "data-slot": "search",
14
15
  variant: variant,
15
16
  size: size,
16
17
  children: [
@@ -64,6 +65,7 @@ const SearchWithSuggestions = /*#__PURE__*/ forwardRef(({ value, onChange, place
64
65
  };
65
66
  return /*#__PURE__*/ jsx("div", {
66
67
  ref: ref,
68
+ "data-slot": "search-with-suggestions",
67
69
  className: cn('relative', className),
68
70
  children: /*#__PURE__*/ jsxs(Popover, {
69
71
  open: open && filteredSuggestions.length > 0,