@wow-two-beta/ui 0.0.57 → 0.0.58

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 (202) hide show
  1. package/dist/actions/button/Button.d.ts +0 -9
  2. package/dist/actions/buttonGroup/ButtonGroup.d.ts +2 -2
  3. package/dist/actions/disclosureButton/DisclosureButton.d.ts +1 -1
  4. package/dist/actions/index.js +4 -4
  5. package/dist/actions/speedDial/SpeedDial.d.ts +2 -2
  6. package/dist/actions/toggleButton/ToggleButton.d.ts +1 -1
  7. package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
  8. package/dist/{chunk-VR5HH4SX.js → chunk-4XWLEKH2.js} +10 -4
  9. package/dist/chunk-4XWLEKH2.js.map +1 -0
  10. package/dist/{chunk-3GZOE7JF.js → chunk-577JZ2A2.js} +3 -3
  11. package/dist/{chunk-3GZOE7JF.js.map → chunk-577JZ2A2.js.map} +1 -1
  12. package/dist/{chunk-BI6JZY2O.js → chunk-DJJOQWOG.js} +6 -6
  13. package/dist/chunk-DJJOQWOG.js.map +1 -0
  14. package/dist/{chunk-FEXH7YWU.js → chunk-EEHJHPAP.js} +30 -30
  15. package/dist/chunk-EEHJHPAP.js.map +1 -0
  16. package/dist/{chunk-5Y43MUOK.js → chunk-EJCO7AWR.js} +11 -11
  17. package/dist/chunk-EJCO7AWR.js.map +1 -0
  18. package/dist/{chunk-ZFNGOAHR.js → chunk-EX4AOJCN.js} +58 -58
  19. package/dist/chunk-EX4AOJCN.js.map +1 -0
  20. package/dist/{chunk-4WYHY6KV.js → chunk-FNSC4LAL.js} +3 -3
  21. package/dist/{chunk-4WYHY6KV.js.map → chunk-FNSC4LAL.js.map} +1 -1
  22. package/dist/{chunk-WOKIYORV.js → chunk-FYG23O4O.js} +262 -28
  23. package/dist/chunk-FYG23O4O.js.map +1 -0
  24. package/dist/{chunk-WPTF6ZRR.js → chunk-GSAOM2ZR.js} +67 -38
  25. package/dist/chunk-GSAOM2ZR.js.map +1 -0
  26. package/dist/{chunk-JOOE4KS5.js → chunk-HG7NX6GP.js} +509 -380
  27. package/dist/chunk-HG7NX6GP.js.map +1 -0
  28. package/dist/{chunk-XDP6GEBA.js → chunk-JYGC5SRP.js} +39 -5
  29. package/dist/chunk-JYGC5SRP.js.map +1 -0
  30. package/dist/{chunk-4QOCAFCA.js → chunk-MTD4RTGO.js} +19 -19
  31. package/dist/chunk-MTD4RTGO.js.map +1 -0
  32. package/dist/{chunk-USGZGMLY.js → chunk-NR5DYKSJ.js} +3 -3
  33. package/dist/{chunk-USGZGMLY.js.map → chunk-NR5DYKSJ.js.map} +1 -1
  34. package/dist/{chunk-VYOQYXK6.js → chunk-OBW7JUNL.js} +12 -12
  35. package/dist/chunk-OBW7JUNL.js.map +1 -0
  36. package/dist/{chunk-UI4RT5JF.js → chunk-TTSJZEL7.js} +25 -25
  37. package/dist/chunk-TTSJZEL7.js.map +1 -0
  38. package/dist/{chunk-5PMOT5MD.js → chunk-V267IMBH.js} +86 -4
  39. package/dist/chunk-V267IMBH.js.map +1 -0
  40. package/dist/{chunk-ZH6BB54G.js → chunk-XDATW7NF.js} +3 -3
  41. package/dist/{chunk-ZH6BB54G.js.map → chunk-XDATW7NF.js.map} +1 -1
  42. package/dist/{chunk-4OKJVYBV.js → chunk-Y5GS4CLT.js} +221 -186
  43. package/dist/chunk-Y5GS4CLT.js.map +1 -0
  44. package/dist/display/accordion/Accordion.d.ts +15 -11
  45. package/dist/display/activityFeed/ActivityFeed.d.ts +2 -2
  46. package/dist/display/annotationMarker/AnnotationMarker.d.ts +6 -7
  47. package/dist/display/audioPlayer/AudioPlayer.d.ts +1 -1
  48. package/dist/display/audioWaveform/AudioWaveform.d.ts +1 -1
  49. package/dist/display/avatar/Avatar.d.ts +1 -1
  50. package/dist/display/badgeOverlay/BadgeOverlay.d.ts +1 -1
  51. package/dist/display/carousel/Carousel.d.ts +1 -1
  52. package/dist/display/chatBubble/ChatBubble.d.ts +2 -2
  53. package/dist/display/collapsible/Collapsible.d.ts +2 -2
  54. package/dist/display/commentThread/CommentThread.d.ts +1 -1
  55. package/dist/display/confetti/Confetti.d.ts +2 -2
  56. package/dist/display/countBadge/CountBadge.d.ts +3 -4
  57. package/dist/display/countUp/CountUp.d.ts +2 -2
  58. package/dist/display/dataGrid/DataGrid.d.ts +2 -2
  59. package/dist/display/dataTable/DataTable.d.ts +5 -5
  60. package/dist/display/diffViewer/DiffViewer.d.ts +1 -1
  61. package/dist/display/eventCalendar/EventCalendar.d.ts +1 -1
  62. package/dist/display/gantt/Gantt.d.ts +1 -1
  63. package/dist/display/gradientText/GradientText.d.ts +2 -2
  64. package/dist/display/heatmapCalendar/HeatmapCalendar.d.ts +1 -1
  65. package/dist/display/highlight/Highlight.d.ts +2 -2
  66. package/dist/display/index.js +6 -6
  67. package/dist/display/list/List.d.ts +2 -2
  68. package/dist/display/marquee/Marquee.d.ts +1 -1
  69. package/dist/display/messageList/MessageList.d.ts +3 -3
  70. package/dist/display/notificationDot/NotificationDot.d.ts +1 -1
  71. package/dist/display/pdfViewer/PDFViewer.d.ts +1 -1
  72. package/dist/display/reactionBar/ReactionBar.d.ts +6 -6
  73. package/dist/display/scrollReveal/ScrollReveal.d.ts +1 -1
  74. package/dist/display/sectionHeader/SectionHeader.d.ts +1 -1
  75. package/dist/display/separator/Separator.d.ts +2 -3
  76. package/dist/display/sparkline/Sparkline.d.ts +1 -1
  77. package/dist/display/status/Status.d.ts +1 -1
  78. package/dist/display/swipeActions/SwipeActions.d.ts +1 -1
  79. package/dist/display/table/Table.d.ts +17 -5
  80. package/dist/display/table/index.d.ts +1 -1
  81. package/dist/display/tabs/Tabs.d.ts +1 -1
  82. package/dist/display/text/Text.variants.d.ts +14 -14
  83. package/dist/display/threadView/ThreadView.d.ts +2 -2
  84. package/dist/display/tilt/Tilt.d.ts +2 -3
  85. package/dist/display/tooltip/Tooltip.d.ts +2 -2
  86. package/dist/display/tree/Tree.d.ts +2 -2
  87. package/dist/display/typewriter/Typewriter.d.ts +2 -2
  88. package/dist/feedback/index.js +6 -6
  89. package/dist/feedback/liveCursor/LiveCursor.d.ts +4 -6
  90. package/dist/feedback/loadingOverlay/LoadingOverlay.d.ts +5 -6
  91. package/dist/feedback/notificationCenter/NotificationCenter.d.ts +1 -1
  92. package/dist/feedback/onboardingChecklist/OnboardingChecklist.d.ts +3 -3
  93. package/dist/feedback/presenceIndicator/PresenceIndicator.d.ts +1 -1
  94. package/dist/feedback/statusIndicator/StatusIndicator.d.ts +1 -1
  95. package/dist/feedback/toaster/Toaster.d.ts +2 -2
  96. package/dist/feedback/tour/Tour.d.ts +2 -2
  97. package/dist/feedback/trendIndicator/TrendIndicator.d.ts +2 -2
  98. package/dist/feedback/typingIndicator/TypingIndicator.d.ts +1 -1
  99. package/dist/feedback/undoBar/UndoBar.d.ts +4 -4
  100. package/dist/forms/addressForm/AddressForm.d.ts +3 -3
  101. package/dist/forms/characterCount/CharacterCount.d.ts +1 -1
  102. package/dist/forms/chatComposer/ChatComposer.d.ts +2 -2
  103. package/dist/forms/checkbox/Checkbox.d.ts +1 -1
  104. package/dist/forms/checkboxGroup/CheckboxGroup.d.ts +1 -1
  105. package/dist/forms/codeEditor/CodeEditor.d.ts +2 -2
  106. package/dist/forms/colorArea/ColorArea.d.ts +1 -1
  107. package/dist/forms/colorField/ColorField.d.ts +1 -1
  108. package/dist/forms/colorPicker/ColorPicker.d.ts +2 -2
  109. package/dist/forms/colorSlider/ColorSlider.d.ts +1 -1
  110. package/dist/forms/colorSwatch/ColorSwatch.variants.d.ts +14 -14
  111. package/dist/forms/colorSwatchPicker/ColorSwatchPicker.d.ts +2 -2
  112. package/dist/forms/colorWheel/ColorWheel.d.ts +1 -1
  113. package/dist/forms/combobox/Combobox.d.ts +4 -4
  114. package/dist/forms/cronInput/CronInput.d.ts +2 -2
  115. package/dist/forms/datePicker/DatePicker.d.ts +1 -1
  116. package/dist/forms/dateRangePicker/DateRangePicker.d.ts +1 -1
  117. package/dist/forms/editable/Editable.d.ts +7 -7
  118. package/dist/forms/emojiPicker/EmojiPicker.d.ts +1 -1
  119. package/dist/forms/fileUpload/FileUpload.d.ts +1 -1
  120. package/dist/forms/fontPicker/FontPicker.d.ts +1 -1
  121. package/dist/forms/gradientPicker/GradientPicker.d.ts +1 -1
  122. package/dist/forms/iconPicker/IconPicker.d.ts +1 -1
  123. package/dist/forms/index.js +11 -11
  124. package/dist/forms/jsonEditor/JSONEditor.d.ts +3 -3
  125. package/dist/forms/knob/Knob.d.ts +2 -2
  126. package/dist/forms/label/Label.d.ts +1 -1
  127. package/dist/forms/listbox/Listbox.d.ts +8 -4
  128. package/dist/forms/markdownEditor/MarkdownEditor.d.ts +1 -1
  129. package/dist/forms/multiSelect/MultiSelect.d.ts +4 -4
  130. package/dist/forms/passwordInput/PasswordInput.d.ts +1 -1
  131. package/dist/forms/passwordStrength/PasswordStrength.d.ts +1 -1
  132. package/dist/forms/phoneInput/PhoneInput.d.ts +3 -3
  133. package/dist/forms/pinInput/PinInput.d.ts +2 -2
  134. package/dist/forms/radioGroup/RadioGroup.d.ts +1 -1
  135. package/dist/forms/reactionPicker/ReactionPicker.d.ts +1 -1
  136. package/dist/forms/recurrenceEditor/RecurrenceEditor.d.ts +2 -2
  137. package/dist/forms/searchInput/SearchInput.d.ts +1 -1
  138. package/dist/forms/select/Select.d.ts +14 -7
  139. package/dist/forms/select/Select.variants.d.ts +46 -3
  140. package/dist/forms/stepper/Stepper.d.ts +1 -1
  141. package/dist/forms/tagsInput/TagsInput.d.ts +2 -2
  142. package/dist/forms/timePicker/TimePicker.d.ts +1 -1
  143. package/dist/forms/wizard/Wizard.d.ts +5 -5
  144. package/dist/hooks/index.d.ts +1 -0
  145. package/dist/hooks/index.js +1 -1
  146. package/dist/hooks/useTypeahead.d.ts +37 -0
  147. package/dist/icons/index.js +1 -1
  148. package/dist/index.js +18 -18
  149. package/dist/layout/appShell/AppShell.d.ts +2 -2
  150. package/dist/layout/frame/Frame.d.ts +1 -1
  151. package/dist/layout/grid/Grid.d.ts +17 -5
  152. package/dist/layout/grid/Grid.variants.d.ts +15 -0
  153. package/dist/layout/grid/index.d.ts +1 -1
  154. package/dist/layout/index.d.ts +2 -0
  155. package/dist/layout/index.js +9 -9
  156. package/dist/layout/inline/Inline.d.ts +5 -0
  157. package/dist/layout/navbar/Navbar.d.ts +37 -0
  158. package/dist/layout/navbar/Navbar.variants.d.ts +76 -0
  159. package/dist/layout/navbar/index.d.ts +2 -0
  160. package/dist/layout/pullToRefresh/PullToRefresh.d.ts +1 -1
  161. package/dist/layout/resizablePanels/ResizablePanels.d.ts +1 -1
  162. package/dist/layout/section/Section.d.ts +26 -0
  163. package/dist/layout/section/Section.variants.d.ts +62 -0
  164. package/dist/layout/section/index.d.ts +2 -0
  165. package/dist/nav/commandPalette/CommandPalette.d.ts +1 -1
  166. package/dist/nav/contextMenu/ContextMenu.d.ts +1 -1
  167. package/dist/nav/index.js +8 -8
  168. package/dist/nav/menu/Menu.d.ts +1 -1
  169. package/dist/nav/navItem/NavItem.d.ts +2 -3
  170. package/dist/nav/tableOfContents/TableOfContents.d.ts +1 -1
  171. package/dist/overlays/actionSheet/ActionSheet.d.ts +1 -1
  172. package/dist/overlays/backdrop/Backdrop.d.ts +3 -6
  173. package/dist/overlays/dialog/Dialog.d.ts +1 -1
  174. package/dist/overlays/drawer/Drawer.d.ts +1 -1
  175. package/dist/overlays/index.js +8 -8
  176. package/dist/overlays/popover/Popover.d.ts +1 -1
  177. package/dist/primitives/anchoredPositioner/AnchoredPositioner.d.ts +1 -1
  178. package/dist/primitives/dismissableLayer/DismissableLayer.d.ts +2 -2
  179. package/dist/primitives/index.js +1 -1
  180. package/dist/primitives/presence/Presence.d.ts +3 -3
  181. package/dist/primitives/rovingFocusGroup/RovingFocusGroup.d.ts +3 -6
  182. package/dist/primitives/scrollLockProvider/ScrollLockProvider.d.ts +2 -2
  183. package/dist/utils/Environment.d.ts +8 -0
  184. package/dist/utils/SurfaceStyles.d.ts +7 -0
  185. package/dist/utils/Tones.d.ts +1 -1
  186. package/dist/utils/index.d.ts +1 -0
  187. package/dist/utils/index.js +1 -1
  188. package/package.json +1 -1
  189. package/dist/chunk-4OKJVYBV.js.map +0 -1
  190. package/dist/chunk-4QOCAFCA.js.map +0 -1
  191. package/dist/chunk-5PMOT5MD.js.map +0 -1
  192. package/dist/chunk-5Y43MUOK.js.map +0 -1
  193. package/dist/chunk-BI6JZY2O.js.map +0 -1
  194. package/dist/chunk-FEXH7YWU.js.map +0 -1
  195. package/dist/chunk-JOOE4KS5.js.map +0 -1
  196. package/dist/chunk-UI4RT5JF.js.map +0 -1
  197. package/dist/chunk-VR5HH4SX.js.map +0 -1
  198. package/dist/chunk-VYOQYXK6.js.map +0 -1
  199. package/dist/chunk-WOKIYORV.js.map +0 -1
  200. package/dist/chunk-WPTF6ZRR.js.map +0 -1
  201. package/dist/chunk-XDP6GEBA.js.map +0 -1
  202. package/dist/chunk-ZFNGOAHR.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { Kbd, addDays, MONTHS_LONG, startOfDay, WEEKDAYS_SHORT, isToday, addMonths, isSameDay } from './chunk-ZH6BB54G.js';
2
- import { Inline } from './chunk-VR5HH4SX.js';
3
- import { useClipboard, useControlled, useReducedMotion, useEscape } from './chunk-5PMOT5MD.js';
1
+ import { Kbd, addDays, MONTHS_LONG, startOfDay, WEEKDAYS_SHORT, isToday, addMonths, isSameDay } from './chunk-XDATW7NF.js';
2
+ import { Inline } from './chunk-4XWLEKH2.js';
3
+ import { useClipboard, useControlled, useReducedMotion, useEscape } from './chunk-V267IMBH.js';
4
4
  import { Icon } from './chunk-MVMDDGW7.js';
5
- import { tv, CssExtensions, surfaceVariants, dataAttr, composeEventHandlers, Tones } from './chunk-XDP6GEBA.js';
6
- import { Slot, RovingFocusGroup, useRovingFocusItem, Portal, AnchoredPositioner } from './chunk-UI4RT5JF.js';
5
+ import { tv, CssExtensions, surfaceVariants, dataAttr, composeEventHandlers, Tones } from './chunk-JYGC5SRP.js';
6
+ import { Slot, RovingFocusGroup, useRovingFocusItem, Portal, AnchoredPositioner } from './chunk-TTSJZEL7.js';
7
7
  import { useId as useId$1 } from './chunk-LGTGZ3RW.js';
8
8
  import { cn, composeRefs } from './chunk-X2MYOHOB.js';
9
9
  import { forwardRef, useState, useEffect, Children, isValidElement, Fragment as Fragment$1, createContext, useId, useMemo, useCallback, useContext, useRef, useImperativeHandle, useLayoutEffect, cloneElement } from 'react';
@@ -89,10 +89,10 @@ var textVariants = tv({
89
89
  right: "text-right",
90
90
  justify: "text-justify"
91
91
  },
92
- truncate: {
92
+ isTruncated: {
93
93
  true: "truncate"
94
94
  },
95
- tabular: {
95
+ isTabular: {
96
96
  true: "tabular-nums"
97
97
  }
98
98
  },
@@ -103,11 +103,11 @@ var textVariants = tv({
103
103
  }
104
104
  });
105
105
  var Text = forwardRef(
106
- ({ as: Component = "p", className, size, weight, color, align, truncate, tabular, ...props }, ref) => /* @__PURE__ */ jsx(
106
+ ({ as: Component = "p", className, size, weight, color, align, isTruncated, isTabular, ...props }, ref) => /* @__PURE__ */ jsx(
107
107
  Component,
108
108
  {
109
109
  ref,
110
- className: cn(textVariants({ size, weight, color, align, truncate, tabular }), className),
110
+ className: cn(textVariants({ size, weight, color, align, isTruncated, isTabular }), className),
111
111
  ...props
112
112
  }
113
113
  )
@@ -266,7 +266,7 @@ var Avatar = forwardRef(
266
266
  name = "",
267
267
  fallback,
268
268
  alt,
269
- autoColor,
269
+ canAutoColor,
270
270
  tone,
271
271
  bgStyle,
272
272
  ring,
@@ -286,7 +286,7 @@ var Avatar = forwardRef(
286
286
  AVATAR_SIZE_PRESETS
287
287
  );
288
288
  const boxStyle = sizeBox ? CssExtensions.resolveBoxSize(sizeBox) : void 0;
289
- const autoColorClass = autoColor && name && bgStyle !== "gradient" && (tone === void 0 || tone === "neutral") ? pickAutoColor(name) : void 0;
289
+ const autoColorClass = canAutoColor && name && bgStyle !== "gradient" && (tone === void 0 || tone === "neutral") ? pickAutoColor(name) : void 0;
290
290
  const effectiveTone = autoColorClass ? "none" : tone;
291
291
  return /* @__PURE__ */ jsx(
292
292
  "span",
@@ -345,12 +345,12 @@ var Badge = forwardRef(
345
345
  );
346
346
  Badge.displayName = "Badge";
347
347
  var Separator = forwardRef(
348
- ({ orientation = "horizontal", decorative = true, className, ...props }, ref) => /* @__PURE__ */ jsx(
348
+ ({ orientation = "horizontal", isDecorative = true, className, ...props }, ref) => /* @__PURE__ */ jsx(
349
349
  "div",
350
350
  {
351
351
  ref,
352
- role: decorative ? "none" : "separator",
353
- "aria-orientation": decorative ? void 0 : orientation,
352
+ role: isDecorative ? "none" : "separator",
353
+ "aria-orientation": isDecorative ? void 0 : orientation,
354
354
  className: cn(
355
355
  "bg-border",
356
356
  orientation === "horizontal" ? "h-px w-full" : "w-px self-stretch",
@@ -468,7 +468,7 @@ function Tooltip({
468
468
  open: openProp,
469
469
  defaultOpen = false,
470
470
  onOpenChange,
471
- disabled
471
+ isDisabled
472
472
  }) {
473
473
  const [open, setOpen] = useControlled({
474
474
  controlled: openProp,
@@ -504,7 +504,7 @@ function Tooltip({
504
504
  clear();
505
505
  setOpen(false);
506
506
  }, open);
507
- const visible = !disabled && open && !!content;
507
+ const visible = !isDisabled && open && !!content;
508
508
  if (!isValidElement(children)) return children;
509
509
  const trigger = children;
510
510
  const cloned = cloneElement(trigger, {
@@ -676,7 +676,7 @@ var POS = {
676
676
  "bottom-left": "absolute -bottom-0.5 -left-0.5"
677
677
  };
678
678
  var NotificationDot = forwardRef(
679
- ({ tone = "destructive", size = "sm", pulse, position, className, ...props }, ref) => /* @__PURE__ */ jsx(
679
+ ({ tone = "destructive", size = "sm", hasPulse, position, className, ...props }, ref) => /* @__PURE__ */ jsx(
680
680
  "span",
681
681
  {
682
682
  ref,
@@ -686,7 +686,7 @@ var NotificationDot = forwardRef(
686
686
  TONE[tone],
687
687
  SIZE2[size],
688
688
  /* `relative` anchors the ::after ring; POS comes later so its `absolute` wins when positioned. */
689
- pulse && `relative after:absolute after:inset-0 after:animate-ping after:rounded-full after:opacity-75 after:content-[""] ${PULSE_TONE[tone]}`,
689
+ hasPulse && `relative after:absolute after:inset-0 after:animate-ping after:rounded-full after:opacity-75 after:content-[""] ${PULSE_TONE[tone]}`,
690
690
  position && POS[position],
691
691
  className
692
692
  ),
@@ -696,8 +696,8 @@ var NotificationDot = forwardRef(
696
696
  );
697
697
  NotificationDot.displayName = "NotificationDot";
698
698
  var CountBadge = forwardRef(
699
- ({ value, max = 99, hideZero = true, variant = "danger", className, ...props }, ref) => {
700
- if (value === 0 && hideZero) return null;
699
+ ({ value, max = 99, canHideZero = true, variant = "danger", className, ...props }, ref) => {
700
+ if (value === 0 && canHideZero) return null;
701
701
  const display = value > max ? `${max}+` : `${value}`;
702
702
  return /* @__PURE__ */ jsx(
703
703
  Badge,
@@ -726,7 +726,7 @@ var SIZE3 = {
726
726
  md: { wrapper: "gap-2 text-sm", dot: "h-2 w-2" }
727
727
  };
728
728
  var Status = forwardRef(
729
- ({ tone = "success", pulse, size = "md", className, children, ...props }, ref) => {
729
+ ({ tone = "success", hasPulse, size = "md", className, children, ...props }, ref) => {
730
730
  const sz = SIZE3[size];
731
731
  return /* @__PURE__ */ jsxs(
732
732
  "span",
@@ -737,7 +737,7 @@ var Status = forwardRef(
737
737
  children: [
738
738
  /* @__PURE__ */ jsxs("span", { className: "relative inline-flex", children: [
739
739
  /* @__PURE__ */ jsx("span", { className: cn("inline-block rounded-full", sz.dot, TONE2[tone]) }),
740
- pulse && /* @__PURE__ */ jsx(
740
+ hasPulse && /* @__PURE__ */ jsx(
741
741
  "span",
742
742
  {
743
743
  className: cn(
@@ -893,20 +893,20 @@ var POS2 = {
893
893
  "bottom-left": "bottom-0 left-0 translate-y-1/2 -translate-x-1/2"
894
894
  };
895
895
  var BadgeOverlay = forwardRef(
896
- ({ children, badge, position = "top-right", hidden, className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { ref, className: cn("relative inline-flex", className), ...props, children: [
896
+ ({ children, badge, position = "top-right", isHidden, className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { ref, className: cn("relative inline-flex", className), ...props, children: [
897
897
  children,
898
- !hidden && /* @__PURE__ */ jsx("span", { className: cn("absolute z-raised", POS2[position]), children: badge })
898
+ !isHidden && /* @__PURE__ */ jsx("span", { className: cn("absolute z-raised", POS2[position]), children: badge })
899
899
  ] })
900
900
  );
901
901
  BadgeOverlay.displayName = "BadgeOverlay";
902
902
  var SectionHeader = forwardRef(
903
- ({ title, description, actions, level = 2, size = "lg", bordered = true, className, ...props }, ref) => /* @__PURE__ */ jsxs(
903
+ ({ title, description, actions, level = 2, size = "lg", isBordered = true, className, ...props }, ref) => /* @__PURE__ */ jsxs(
904
904
  "header",
905
905
  {
906
906
  ref,
907
907
  className: cn(
908
908
  "flex items-start justify-between gap-4 pb-3",
909
- bordered && "border-b border-border",
909
+ isBordered && "border-b border-border",
910
910
  className
911
911
  ),
912
912
  ...props,
@@ -925,11 +925,11 @@ function escape(re) {
925
925
  return re.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
926
926
  }
927
927
  var Highlight = forwardRef(
928
- ({ children, query, wholeWord, className, ...props }, ref) => {
928
+ ({ children, query, isWholeWord, className, ...props }, ref) => {
929
929
  const queries = (Array.isArray(query) ? query : [query]).filter(Boolean);
930
930
  if (queries.length === 0) return /* @__PURE__ */ jsx("span", { ref, className: cn(className), ...props, children });
931
931
  const pattern = queries.map(escape).join("|");
932
- const regex = new RegExp(wholeWord ? `\\b(${pattern})\\b` : `(${pattern})`, "gi");
932
+ const regex = new RegExp(isWholeWord ? `\\b(${pattern})\\b` : `(${pattern})`, "gi");
933
933
  const parts = children.split(regex);
934
934
  const nodes = [];
935
935
  parts.forEach((part, i) => {
@@ -949,7 +949,7 @@ function useCollapsibleContext() {
949
949
  if (!ctx) throw new Error("Collapsible.* must be used inside <Collapsible>");
950
950
  return ctx;
951
951
  }
952
- var Collapsible = forwardRef(function Collapsible2({ open: openProp, defaultOpen = false, onOpenChange, disabled = false, className, children, ...rest }, ref) {
952
+ var Collapsible = forwardRef(function Collapsible2({ open: openProp, defaultOpen = false, onOpenChange, isDisabled = false, className, children, ...rest }, ref) {
953
953
  const [open, setOpen] = useControlled({
954
954
  controlled: openProp,
955
955
  default: defaultOpen,
@@ -958,15 +958,15 @@ var Collapsible = forwardRef(function Collapsible2({ open: openProp, defaultOpen
958
958
  const contentId = useId();
959
959
  const triggerId = useId();
960
960
  const ctx = useMemo(
961
- () => ({ open, setOpen, contentId, triggerId, disabled }),
962
- [open, setOpen, contentId, triggerId, disabled]
961
+ () => ({ open, setOpen, contentId, triggerId, disabled: isDisabled }),
962
+ [open, setOpen, contentId, triggerId, isDisabled]
963
963
  );
964
964
  return /* @__PURE__ */ jsx(CollapsibleContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
965
965
  "div",
966
966
  {
967
967
  ref,
968
968
  "data-state": open ? "open" : "closed",
969
- "data-disabled": dataAttr(disabled),
969
+ "data-disabled": dataAttr(isDisabled),
970
970
  className,
971
971
  ...rest,
972
972
  children
@@ -1000,9 +1000,9 @@ var CollapsibleTrigger = forwardRef(
1000
1000
  }
1001
1001
  );
1002
1002
  var CollapsibleContent = forwardRef(
1003
- function CollapsibleContent2({ forceMount, className, children, ...rest }, ref) {
1003
+ function CollapsibleContent2({ isForceMounted, className, children, ...rest }, ref) {
1004
1004
  const ctx = useCollapsibleContext();
1005
- if (!ctx.open && !forceMount) return null;
1005
+ if (!ctx.open && !isForceMounted) return null;
1006
1006
  return /* @__PURE__ */ jsx(
1007
1007
  "div",
1008
1008
  {
@@ -1036,14 +1036,14 @@ function useAccordionItemContext() {
1036
1036
  if (!ctx) throw new Error("Accordion.Trigger / Content must be used inside <Accordion.Item>");
1037
1037
  return ctx;
1038
1038
  }
1039
- var Accordion = forwardRef(function Accordion2(props, ref) {
1039
+ var AccordionRoot = forwardRef(function Accordion(props, ref) {
1040
1040
  const {
1041
1041
  type = "single",
1042
1042
  value,
1043
1043
  defaultValue,
1044
1044
  onValueChange,
1045
- collapsible = false,
1046
- disabled = false,
1045
+ isCollapsible = false,
1046
+ isDisabled = false,
1047
1047
  className,
1048
1048
  children,
1049
1049
  ...rest
@@ -1065,24 +1065,24 @@ var Accordion = forwardRef(function Accordion2(props, ref) {
1065
1065
  setCurrent(arr.includes(val) ? arr.filter((v) => v !== val) : [...arr, val]);
1066
1066
  } else {
1067
1067
  if (current === val) {
1068
- if (collapsible) setCurrent("");
1068
+ if (isCollapsible) setCurrent("");
1069
1069
  } else {
1070
1070
  setCurrent(val);
1071
1071
  }
1072
1072
  }
1073
1073
  },
1074
- [collapsible, current, setCurrent, type]
1074
+ [isCollapsible, current, setCurrent, type]
1075
1075
  );
1076
1076
  const ctx = useMemo(
1077
- () => ({ isOpen, toggle, disabled }),
1078
- [isOpen, toggle, disabled]
1077
+ () => ({ isOpen, toggle, disabled: isDisabled }),
1078
+ [isOpen, toggle, isDisabled]
1079
1079
  );
1080
1080
  return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
1081
1081
  RovingFocusGroup,
1082
1082
  {
1083
1083
  ref,
1084
1084
  orientation: "vertical",
1085
- loop: true,
1085
+ canLoop: true,
1086
1086
  className: cn("flex flex-col", className),
1087
1087
  ...rest,
1088
1088
  children
@@ -1090,12 +1090,12 @@ var Accordion = forwardRef(function Accordion2(props, ref) {
1090
1090
  ) });
1091
1091
  });
1092
1092
  var AccordionItem = forwardRef(
1093
- function AccordionItem2({ value, disabled = false, className, children, ...rest }, ref) {
1093
+ function AccordionItem2({ value, isDisabled = false, className, children, ...rest }, ref) {
1094
1094
  const accordion = useAccordionContext();
1095
1095
  const open = accordion.isOpen(value);
1096
1096
  const contentId = useId();
1097
1097
  const triggerId = useId();
1098
- const itemDisabled = disabled || accordion.disabled;
1098
+ const itemDisabled = isDisabled || accordion.disabled;
1099
1099
  const itemCtx = useMemo(
1100
1100
  () => ({ value, open, contentId, triggerId, disabled: itemDisabled }),
1101
1101
  [value, open, contentId, triggerId, itemDisabled]
@@ -1181,9 +1181,11 @@ var AccordionContent = forwardRef(
1181
1181
  );
1182
1182
  }
1183
1183
  );
1184
- Accordion.Item = AccordionItem;
1185
- Accordion.Trigger = AccordionTrigger;
1186
- Accordion.Content = AccordionContent;
1184
+ var Accordion2 = Object.assign(AccordionRoot, {
1185
+ Item: AccordionItem,
1186
+ Trigger: AccordionTrigger,
1187
+ Content: AccordionContent
1188
+ });
1187
1189
  var TabsContext = createContext(null);
1188
1190
  function useTabsContext() {
1189
1191
  const ctx = useContext(TabsContext);
@@ -1231,7 +1233,7 @@ var TabsList = forwardRef(function TabsList2({ className, children, ...rest }, r
1231
1233
  {
1232
1234
  ref,
1233
1235
  orientation: ctx.orientation,
1234
- loop: true,
1236
+ canLoop: true,
1235
1237
  role: "tablist",
1236
1238
  "aria-orientation": ctx.orientation,
1237
1239
  "data-orientation": ctx.orientation,
@@ -1245,10 +1247,10 @@ var TabsList = forwardRef(function TabsList2({ className, children, ...rest }, r
1245
1247
  }
1246
1248
  );
1247
1249
  });
1248
- var TabsTab = forwardRef(function TabsTab2({ value, disabled = false, className, onClick, onFocus, children, ...rest }, ref) {
1250
+ var TabsTab = forwardRef(function TabsTab2({ value, isDisabled = false, className, onClick, onFocus, children, ...rest }, ref) {
1249
1251
  const ctx = useTabsContext();
1250
1252
  const selected = ctx.value === value;
1251
- const roving = useRovingFocusItem({ active: selected });
1253
+ const roving = useRovingFocusItem({ isActive: selected });
1252
1254
  const tabId = `${ctx.baseId}-tab-${value}`;
1253
1255
  const panelId = `${ctx.baseId}-panel-${value}`;
1254
1256
  return /* @__PURE__ */ jsx(
@@ -1265,18 +1267,18 @@ var TabsTab = forwardRef(function TabsTab2({ value, disabled = false, className,
1265
1267
  "aria-selected": selected,
1266
1268
  "aria-controls": panelId,
1267
1269
  "data-state": selected ? "active" : "inactive",
1268
- "data-disabled": dataAttr(disabled),
1270
+ "data-disabled": dataAttr(isDisabled),
1269
1271
  tabIndex: roving.tabIndex,
1270
- disabled,
1272
+ disabled: isDisabled,
1271
1273
  onClick: (e) => {
1272
1274
  onClick?.(e);
1273
- if (e.defaultPrevented || disabled) return;
1275
+ if (e.defaultPrevented || isDisabled) return;
1274
1276
  ctx.setValue(value);
1275
1277
  },
1276
1278
  onFocus: (e) => {
1277
1279
  onFocus?.(e);
1278
1280
  roving.onFocus();
1279
- if (ctx.activationMode === "automatic" && !disabled) {
1281
+ if (ctx.activationMode === "automatic" && !isDisabled) {
1280
1282
  ctx.setValue(value);
1281
1283
  }
1282
1284
  },
@@ -1344,8 +1346,8 @@ var listVariants = tv({
1344
1346
  var listItemVariants = tv({
1345
1347
  base: "flex items-start gap-3 text-sm text-foreground"
1346
1348
  });
1347
- var List = forwardRef(function List2({ ordered, marker, spacing, className, children, ...rest }, ref) {
1348
- const Component = ordered ? "ol" : "ul";
1349
+ var List = forwardRef(function List2({ isOrdered, marker, spacing, className, children, ...rest }, ref) {
1350
+ const Component = isOrdered ? "ol" : "ul";
1349
1351
  return /* @__PURE__ */ jsx(
1350
1352
  Component,
1351
1353
  {
@@ -1356,9 +1358,9 @@ var List = forwardRef(function List2({ ordered, marker, spacing, className, chil
1356
1358
  }
1357
1359
  );
1358
1360
  });
1359
- var ListItem = forwardRef(function ListItem2({ leading, trailing, showCheckMarker, className, children, ...rest }, ref) {
1361
+ var ListItem = forwardRef(function ListItem2({ leading, trailing, hasCheckMarker, className, children, ...rest }, ref) {
1360
1362
  return /* @__PURE__ */ jsxs("li", { ref, className: cn(listItemVariants(), className), ...rest, children: [
1361
- showCheckMarker && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "mt-0.5 shrink-0 text-primary", children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }),
1363
+ hasCheckMarker && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "mt-0.5 shrink-0 text-primary", children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }),
1362
1364
  leading && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "mt-0.5 shrink-0 text-muted-foreground", children: leading }),
1363
1365
  /* @__PURE__ */ jsx("span", { className: "flex-1", children }),
1364
1366
  trailing && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-muted-foreground", children: trailing })
@@ -1502,7 +1504,7 @@ var Tree = forwardRef(function Tree2({
1502
1504
  {
1503
1505
  ref,
1504
1506
  orientation: "vertical",
1505
- loop: true,
1507
+ canLoop: true,
1506
1508
  role: "tree",
1507
1509
  className: cn("flex flex-col text-sm", className),
1508
1510
  ...rest,
@@ -1570,7 +1572,7 @@ function NodeRow({
1570
1572
  }
1571
1573
  );
1572
1574
  }
1573
- var TreeGroup = forwardRef(function TreeGroup2({ value, label, disabled = false, className, children, ...rest }, ref) {
1575
+ var TreeGroup = forwardRef(function TreeGroup2({ value, label, isDisabled = false, className, children, ...rest }, ref) {
1574
1576
  const ctx = useTreeContext();
1575
1577
  const level = useTreeLevel();
1576
1578
  const expanded = ctx.expanded.has(value);
@@ -1590,7 +1592,7 @@ var TreeGroup = forwardRef(function TreeGroup2({ value, label, disabled = false,
1590
1592
  selected: false,
1591
1593
  expanded,
1592
1594
  hasChildren: true,
1593
- disabled,
1595
+ disabled: isDisabled,
1594
1596
  onActivate: () => ctx.toggleExpanded(value),
1595
1597
  label
1596
1598
  }
@@ -1600,7 +1602,7 @@ var TreeGroup = forwardRef(function TreeGroup2({ value, label, disabled = false,
1600
1602
  }
1601
1603
  );
1602
1604
  });
1603
- var TreeItem = forwardRef(function TreeItem2({ value, disabled = false, className, children, ...rest }, ref) {
1605
+ var TreeItem = forwardRef(function TreeItem2({ value, isDisabled = false, className, children, ...rest }, ref) {
1604
1606
  const ctx = useTreeContext();
1605
1607
  const level = useTreeLevel();
1606
1608
  const selected = ctx.selectedValue === value;
@@ -1610,7 +1612,7 @@ var TreeItem = forwardRef(function TreeItem2({ value, disabled = false, classNam
1610
1612
  level,
1611
1613
  selected,
1612
1614
  hasChildren: false,
1613
- disabled,
1615
+ disabled: isDisabled,
1614
1616
  onActivate: () => ctx.setSelectedValue(value),
1615
1617
  label: children
1616
1618
  }
@@ -1619,17 +1621,36 @@ var TreeItem = forwardRef(function TreeItem2({ value, disabled = false, classNam
1619
1621
  Tree.Group = TreeGroup;
1620
1622
  Tree.Item = TreeItem;
1621
1623
  var TableContext = createContext({
1622
- striped: false,
1623
- hoverable: false,
1624
+ isStriped: false,
1625
+ isHoverable: false,
1624
1626
  density: "cozy"
1625
1627
  });
1626
1628
  var DENSITY_CELL = {
1627
1629
  compact: "px-2 py-1.5 text-sm",
1628
1630
  cozy: "px-3 py-2 text-sm",
1629
- comfortable: "px-4 py-3 text-sm"
1631
+ comfortable: "px-4 py-3 text-sm",
1632
+ roomy: "px-5 py-4 text-sm"
1633
+ };
1634
+ var WRAPPER_RADIUS = {
1635
+ none: "rounded-none",
1636
+ sm: "rounded-sm",
1637
+ md: "rounded-md",
1638
+ lg: "rounded-lg",
1639
+ xl: "rounded-xl",
1640
+ "2xl": "rounded-2xl"
1630
1641
  };
1631
- var Table = forwardRef(function Table2({ striped = false, hoverable = false, density = "cozy", bare = false, className, children, ...rest }, ref) {
1632
- const ctx = { striped, hoverable, density };
1642
+ var Table = forwardRef(function Table2({
1643
+ isStriped = false,
1644
+ isHoverable = false,
1645
+ density = "cozy",
1646
+ isBare = false,
1647
+ radius = "md",
1648
+ containerClassName,
1649
+ className,
1650
+ children,
1651
+ ...rest
1652
+ }, ref) {
1653
+ const ctx = { isStriped, isHoverable, density };
1633
1654
  const tableEl = /* @__PURE__ */ jsx(
1634
1655
  "table",
1635
1656
  {
@@ -1639,15 +1660,29 @@ var Table = forwardRef(function Table2({ striped = false, hoverable = false, den
1639
1660
  children
1640
1661
  }
1641
1662
  );
1642
- return /* @__PURE__ */ jsx(TableContext.Provider, { value: ctx, children: bare ? tableEl : /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-x-auto rounded-md border border-border", children: tableEl }) });
1663
+ return /* @__PURE__ */ jsx(TableContext.Provider, { value: ctx, children: isBare ? tableEl : /* @__PURE__ */ jsx(
1664
+ "div",
1665
+ {
1666
+ className: cn(
1667
+ "relative w-full overflow-x-auto border border-border",
1668
+ WRAPPER_RADIUS[radius],
1669
+ containerClassName
1670
+ ),
1671
+ children: tableEl
1672
+ }
1673
+ ) });
1643
1674
  });
1675
+ var HEAD_VARIANT = {
1676
+ uppercase: "text-xs font-semibold uppercase tracking-wide text-muted-foreground",
1677
+ plain: "text-sm font-semibold text-foreground"
1678
+ };
1644
1679
  var TableHead = forwardRef(
1645
- function TableHead2({ className, ...rest }, ref) {
1680
+ function TableHead2({ className, headVariant = "uppercase", ...rest }, ref) {
1646
1681
  return /* @__PURE__ */ jsx(
1647
1682
  "thead",
1648
1683
  {
1649
1684
  ref,
1650
- className: cn("border-b border-border bg-muted/50 text-xs font-semibold uppercase tracking-wide text-muted-foreground", className),
1685
+ className: cn("border-b border-border bg-muted/50", HEAD_VARIANT[headVariant], className),
1651
1686
  ...rest
1652
1687
  }
1653
1688
  );
@@ -1661,8 +1696,8 @@ var TableBody = forwardRef(
1661
1696
  {
1662
1697
  ref,
1663
1698
  className: cn(
1664
- ctx.striped && "[&>tr:nth-child(even)]:bg-muted/30",
1665
- ctx.hoverable && "[&>tr:hover]:bg-muted",
1699
+ ctx.isStriped && "[&>tr:nth-child(even)]:bg-muted/30",
1700
+ ctx.isHoverable && "[&>tr:hover]:bg-muted",
1666
1701
  className
1667
1702
  ),
1668
1703
  ...rest
@@ -1752,10 +1787,10 @@ function DataTable({
1752
1787
  sortBy,
1753
1788
  defaultSortBy,
1754
1789
  onSortChange,
1755
- striped,
1756
- hoverable = !!onRowClick,
1790
+ isStriped,
1791
+ isHoverable = !!onRowClick,
1757
1792
  density,
1758
- bare,
1793
+ isBare,
1759
1794
  emptyContent = "No results.",
1760
1795
  className,
1761
1796
  "aria-label": ariaLabel
@@ -1789,23 +1824,23 @@ function DataTable({
1789
1824
  return /* @__PURE__ */ jsxs(
1790
1825
  Table,
1791
1826
  {
1792
- striped,
1793
- hoverable,
1827
+ isStriped,
1828
+ isHoverable,
1794
1829
  density,
1795
- bare,
1830
+ isBare,
1796
1831
  className,
1797
1832
  "aria-label": ariaLabel,
1798
1833
  children: [
1799
1834
  /* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsx(TableRow, { children: columns.map((col) => {
1800
1835
  const isSorted = sort?.columnKey === col.key;
1801
- const ariaSort = isSorted ? sort?.direction === "asc" ? "ascending" : "descending" : col.sortable ? "none" : void 0;
1836
+ const ariaSort = isSorted ? sort?.direction === "asc" ? "ascending" : "descending" : col.isSortable ? "none" : void 0;
1802
1837
  return /* @__PURE__ */ jsx(
1803
1838
  TableHeaderCell,
1804
1839
  {
1805
1840
  "aria-sort": ariaSort,
1806
1841
  style: col.width ? { width: col.width } : void 0,
1807
1842
  className: alignClass(col.align),
1808
- children: col.sortable ? /* @__PURE__ */ jsxs(
1843
+ children: col.isSortable ? /* @__PURE__ */ jsxs(
1809
1844
  "button",
1810
1845
  {
1811
1846
  type: "button",
@@ -1849,7 +1884,7 @@ var Carousel = forwardRef(function Carousel2({
1849
1884
  index: indexProp,
1850
1885
  defaultIndex = 0,
1851
1886
  onIndexChange,
1852
- loop = false,
1887
+ canLoop = false,
1853
1888
  autoPlay,
1854
1889
  slidesCount,
1855
1890
  className,
@@ -1873,27 +1908,27 @@ var Carousel = forwardRef(function Carousel2({
1873
1908
  return;
1874
1909
  }
1875
1910
  let next2 = i;
1876
- if (loop) {
1911
+ if (canLoop) {
1877
1912
  next2 = (i % count + count) % count;
1878
1913
  } else {
1879
1914
  next2 = Math.max(0, Math.min(count - 1, i));
1880
1915
  }
1881
1916
  setIndexState(next2);
1882
1917
  },
1883
- [count, loop, setIndexState]
1918
+ [count, canLoop, setIndexState]
1884
1919
  );
1885
1920
  const prev = useCallback(() => setIndex(index - 1), [index, setIndex]);
1886
1921
  const next = useCallback(() => setIndex(index + 1), [index, setIndex]);
1887
1922
  useEffect(() => {
1888
1923
  if (!autoPlay || paused || count === 0) return;
1889
1924
  const handle = window.setInterval(() => {
1890
- setIndex(loop ? index + 1 : Math.min(count - 1, index + 1));
1925
+ setIndex(canLoop ? index + 1 : Math.min(count - 1, index + 1));
1891
1926
  }, autoPlay);
1892
1927
  return () => window.clearInterval(handle);
1893
- }, [autoPlay, paused, count, index, loop, setIndex]);
1928
+ }, [autoPlay, paused, count, index, canLoop, setIndex]);
1894
1929
  const ctx = useMemo(
1895
- () => ({ index, setIndex, count, setCount, loop, prev, next, paused, setPaused, autoPlay }),
1896
- [index, setIndex, count, loop, prev, next, paused, autoPlay]
1930
+ () => ({ index, setIndex, count, setCount, loop: canLoop, prev, next, paused, setPaused, autoPlay }),
1931
+ [index, setIndex, count, canLoop, prev, next, paused, autoPlay]
1897
1932
  );
1898
1933
  return /* @__PURE__ */ jsx(CarouselContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
1899
1934
  "div",
@@ -2084,7 +2119,7 @@ var SwipeActions = forwardRef(
2084
2119
  right,
2085
2120
  threshold = 60,
2086
2121
  actionWidth = 72,
2087
- disabled,
2122
+ isDisabled,
2088
2123
  className,
2089
2124
  children,
2090
2125
  ...rest
@@ -2099,14 +2134,14 @@ var SwipeActions = forwardRef(
2099
2134
  const leftMax = leftSlots * actionWidth;
2100
2135
  const rightMax = rightSlots * actionWidth;
2101
2136
  const onPointerDown = (e) => {
2102
- if (disabled) return;
2137
+ if (isDisabled) return;
2103
2138
  startXRef.current = e.clientX;
2104
2139
  startOffsetRef.current = offset;
2105
2140
  suppressClickRef.current = false;
2106
2141
  e.currentTarget.setPointerCapture(e.pointerId);
2107
2142
  };
2108
2143
  const onPointerMove = (e) => {
2109
- if (disabled || startXRef.current == null) return;
2144
+ if (isDisabled || startXRef.current == null) return;
2110
2145
  if (Math.abs(e.clientX - startXRef.current) > CLICK_SUPPRESS_SLOP) {
2111
2146
  suppressClickRef.current = true;
2112
2147
  }
@@ -2195,7 +2230,7 @@ function countNodes(node) {
2195
2230
  if (Array.isArray(node)) return node.length;
2196
2231
  return 1;
2197
2232
  }
2198
- var DiffViewer = forwardRef(function DiffViewer2({ left, right, view = "split", leftLabel = "Before", rightLabel = "After", showStats = true, className, ...rest }, ref) {
2233
+ var DiffViewer = forwardRef(function DiffViewer2({ left, right, view = "split", leftLabel = "Before", rightLabel = "After", hasStats = true, className, ...rest }, ref) {
2199
2234
  const rows = useMemo(() => computeDiff(left, right), [left, right]);
2200
2235
  const stats = useMemo(() => {
2201
2236
  let added = 0;
@@ -2216,7 +2251,7 @@ var DiffViewer = forwardRef(function DiffViewer2({ left, right, view = "split",
2216
2251
  ),
2217
2252
  ...rest,
2218
2253
  children: [
2219
- showStats && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b border-border bg-muted/40 px-3 py-1.5 text-xs", children: [
2254
+ hasStats && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b border-border bg-muted/40 px-3 py-1.5 text-xs", children: [
2220
2255
  /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground", children: [
2221
2256
  leftLabel,
2222
2257
  " \u2192 ",
@@ -2358,7 +2393,7 @@ var Sparkline = forwardRef(function Sparkline2({
2358
2393
  tone = "brand",
2359
2394
  min: minProp,
2360
2395
  max: maxProp,
2361
- showLast,
2396
+ hasLast,
2362
2397
  ariaLabel = "Trend",
2363
2398
  className,
2364
2399
  ...rest
@@ -2416,7 +2451,7 @@ var Sparkline = forwardRef(function Sparkline2({
2416
2451
  i
2417
2452
  )) }),
2418
2453
  variant === "dot" && /* @__PURE__ */ jsx("g", { children: points.map(([x, y], i) => /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: 1.5, fill: "currentColor" }, i)) }),
2419
- showLast && data.length > 0 && variant !== "dot" && /* @__PURE__ */ jsx("circle", { cx: lastX, cy: lastY, r: 2.5, fill: "currentColor" })
2454
+ hasLast && data.length > 0 && variant !== "dot" && /* @__PURE__ */ jsx("circle", { cx: lastX, cy: lastY, r: 2.5, fill: "currentColor" })
2420
2455
  ]
2421
2456
  }
2422
2457
  );
@@ -2448,7 +2483,7 @@ var HeatmapCalendar = forwardRef(
2448
2483
  onCellClick,
2449
2484
  monthLabels = DEFAULT_MONTHS,
2450
2485
  weekdayLabels = DEFAULT_WEEKDAYS,
2451
- showLegend = true,
2486
+ hasLegend = true,
2452
2487
  className,
2453
2488
  ...rest
2454
2489
  }, ref) {
@@ -2555,7 +2590,7 @@ var HeatmapCalendar = forwardRef(
2555
2590
  );
2556
2591
  }) }, colIdx)) })
2557
2592
  ] }),
2558
- showLegend && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center justify-end gap-1.5 text-[10px] text-muted-foreground", children: [
2593
+ hasLegend && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center justify-end gap-1.5 text-[10px] text-muted-foreground", children: [
2559
2594
  /* @__PURE__ */ jsx("span", { children: "Less" }),
2560
2595
  toneSteps.map((cls, i) => /* @__PURE__ */ jsx(
2561
2596
  "span",
@@ -2580,7 +2615,7 @@ function castValue(raw, type) {
2580
2615
  return raw;
2581
2616
  }
2582
2617
  var DataGrid = forwardRef(
2583
- function DataGrid2({ columns, rows, rowKey, onRowChange, dense, className, ...rest }, ref) {
2618
+ function DataGrid2({ columns, rows, rowKey, onRowChange, isDense, className, ...rest }, ref) {
2584
2619
  const [active, setActive] = useState({ row: 0, col: 0 });
2585
2620
  const [editing, setEditing] = useState(false);
2586
2621
  const [draft, setDraft] = useState("");
@@ -2606,7 +2641,7 @@ var DataGrid = forwardRef(
2606
2641
  const col = columns[active.col];
2607
2642
  const row = rows[active.row];
2608
2643
  if (!col || row === void 0) return;
2609
- if (col.editable === false) return;
2644
+ if (col.isEditable === false) return;
2610
2645
  const raw = col.accessor(row);
2611
2646
  setDraft(raw == null ? "" : String(raw));
2612
2647
  setEditing(true);
@@ -2676,7 +2711,7 @@ var DataGrid = forwardRef(
2676
2711
  break;
2677
2712
  }
2678
2713
  };
2679
- const cellPad = dense ? "px-2 py-1" : "px-3 py-2";
2714
+ const cellPad = isDense ? "px-2 py-1" : "px-3 py-2";
2680
2715
  return /* @__PURE__ */ jsx(
2681
2716
  "div",
2682
2717
  {
@@ -2715,7 +2750,7 @@ var DataGrid = forwardRef(
2715
2750
  /* @__PURE__ */ jsx("tbody", { role: "rowgroup", children: rows.map((row, ri) => /* @__PURE__ */ jsx("tr", { role: "row", "aria-rowindex": ri + 2, className: "border-b border-border last:border-b-0", children: columns.map((col, ci) => {
2716
2751
  const isActive = active.row === ri && active.col === ci;
2717
2752
  const value = col.accessor(row);
2718
- const isEditable = col.editable !== false;
2753
+ const isEditable = col.isEditable !== false;
2719
2754
  const isEditing = editing && isActive;
2720
2755
  return /* @__PURE__ */ jsx(
2721
2756
  "td",
@@ -3083,7 +3118,7 @@ var AudioWaveform = forwardRef(
3083
3118
  gap = 1,
3084
3119
  tone = "brand",
3085
3120
  onSeek,
3086
- interactive,
3121
+ isInteractive,
3087
3122
  className,
3088
3123
  ...rest
3089
3124
  }, ref) {
@@ -3091,7 +3126,7 @@ var AudioWaveform = forwardRef(
3091
3126
  const barCount = Math.max(1, Math.floor(width / stepX));
3092
3127
  const sampled = useMemo(() => sampleTo(peaks, barCount), [peaks, barCount]);
3093
3128
  const playedBars = Math.round(progress * barCount);
3094
- const isInteractive = interactive ?? onSeek != null;
3129
+ const resolvedInteractive = isInteractive ?? onSeek != null;
3095
3130
  const seekFromX = (clientX, rect) => {
3096
3131
  const x = Math.max(0, Math.min(rect.width, clientX - rect.left));
3097
3132
  onSeek?.(x / rect.width);
@@ -3121,24 +3156,24 @@ var AudioWaveform = forwardRef(
3121
3156
  if (typeof ref === "function") ref(el);
3122
3157
  else if (ref) ref.current = el;
3123
3158
  },
3124
- role: isInteractive ? "slider" : "img",
3159
+ role: resolvedInteractive ? "slider" : "img",
3125
3160
  "aria-label": "Audio waveform",
3126
3161
  "aria-valuenow": Math.round(progress * 100),
3127
3162
  "aria-valuemin": 0,
3128
3163
  "aria-valuemax": 100,
3129
- tabIndex: isInteractive ? 0 : -1,
3164
+ tabIndex: resolvedInteractive ? 0 : -1,
3130
3165
  width,
3131
3166
  height,
3132
3167
  viewBox: `0 0 ${width} ${height}`,
3133
3168
  preserveAspectRatio: "none",
3134
- onClick: isInteractive ? (e) => {
3169
+ onClick: resolvedInteractive ? (e) => {
3135
3170
  const rect = svgRef.current?.getBoundingClientRect();
3136
3171
  if (rect) seekFromX(e.clientX, rect);
3137
3172
  } : void 0,
3138
3173
  onKeyDown: handleKey,
3139
3174
  className: cn(
3140
3175
  "inline-block",
3141
- isInteractive && "cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm",
3176
+ resolvedInteractive && "cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm",
3142
3177
  TONE_CLASS2[tone],
3143
3178
  className
3144
3179
  ),
@@ -3200,7 +3235,7 @@ var AudioPlayer = forwardRef(
3200
3235
  loop,
3201
3236
  defaultVolume = 1,
3202
3237
  defaultPlaybackRate = 1,
3203
- compact,
3238
+ isCompact,
3204
3239
  onPlay,
3205
3240
  onPause,
3206
3241
  onTimeUpdate,
@@ -3286,7 +3321,7 @@ var AudioPlayer = forwardRef(
3286
3321
  "data-playing": playing || void 0,
3287
3322
  className: cn(
3288
3323
  "flex items-center gap-3 rounded-md border border-border bg-card p-2 text-card-foreground shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
3289
- compact && "gap-2 p-1.5",
3324
+ isCompact && "gap-2 p-1.5",
3290
3325
  className
3291
3326
  ),
3292
3327
  children: [
@@ -3330,9 +3365,9 @@ var AudioPlayer = forwardRef(
3330
3365
  onClick: togglePlay,
3331
3366
  className: cn(
3332
3367
  "inline-flex shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
3333
- compact ? "h-7 w-7" : "h-9 w-9"
3368
+ isCompact ? "h-7 w-7" : "h-9 w-9"
3334
3369
  ),
3335
- children: /* @__PURE__ */ jsx(Icon, { icon: playing ? Pause : Play, size: compact ? 12 : 14 })
3370
+ children: /* @__PURE__ */ jsx(Icon, { icon: playing ? Pause : Play, size: isCompact ? 12 : 14 })
3336
3371
  }
3337
3372
  ),
3338
3373
  /* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", style: { minWidth: "3.5rem" }, children: formatTime(currentTime) }),
@@ -3342,8 +3377,8 @@ var AudioPlayer = forwardRef(
3342
3377
  peaks,
3343
3378
  progress,
3344
3379
  onSeek: seekProgress,
3345
- width: compact ? 200 : 320,
3346
- height: compact ? 32 : 40
3380
+ width: isCompact ? 200 : 320,
3381
+ height: isCompact ? 32 : 40
3347
3382
  }
3348
3383
  ) : /* @__PURE__ */ jsx(
3349
3384
  "input",
@@ -3713,7 +3748,7 @@ var PDFViewer = forwardRef(function PDFViewer2({
3713
3748
  onZoomChange,
3714
3749
  pageCount,
3715
3750
  title = "PDF document",
3716
- download = true,
3751
+ canDownload = true,
3717
3752
  height = "70vh",
3718
3753
  className,
3719
3754
  ...rest
@@ -3808,7 +3843,7 @@ var PDFViewer = forwardRef(function PDFViewer2({
3808
3843
  children: /* @__PURE__ */ jsx(Icon, { icon: ZoomIn, size: 14 })
3809
3844
  }
3810
3845
  ),
3811
- /* @__PURE__ */ jsx("div", { className: "ml-auto flex items-center gap-1", children: download && /* @__PURE__ */ jsx(
3846
+ /* @__PURE__ */ jsx("div", { className: "ml-auto flex items-center gap-1", children: canDownload && /* @__PURE__ */ jsx(
3812
3847
  "a",
3813
3848
  {
3814
3849
  href: src,
@@ -3991,7 +4026,7 @@ var Gantt = forwardRef(function Gantt2({
3991
4026
  cellWidth = 40,
3992
4027
  rowHeight = 36,
3993
4028
  labelWidth = 200,
3994
- showWeekends = true,
4029
+ hasWeekends = true,
3995
4030
  onTaskClick,
3996
4031
  className,
3997
4032
  ...rest
@@ -4046,7 +4081,7 @@ var Gantt = forwardRef(function Gantt2({
4046
4081
  {
4047
4082
  className: cn(
4048
4083
  "border-r border-border text-[10px] tabular-nums",
4049
- isWeekend && showWeekends && "bg-muted/40",
4084
+ isWeekend && hasWeekends && "bg-muted/40",
4050
4085
  isFirstOfMonth && "border-l-2 border-l-border-strong"
4051
4086
  ),
4052
4087
  style: { width: cellWidth },
@@ -4078,7 +4113,7 @@ var Gantt = forwardRef(function Gantt2({
4078
4113
  style: { width: cellWidth },
4079
4114
  className: cn(
4080
4115
  "border-r border-border/60",
4081
- isWeekend && showWeekends && "bg-muted/30"
4116
+ isWeekend && hasWeekends && "bg-muted/30"
4082
4117
  )
4083
4118
  },
4084
4119
  i
@@ -4430,7 +4465,7 @@ function MonthView({ date, events, weekStart, onEventClick, onSlotClick }) {
4430
4465
  ),
4431
4466
  "aria-label": `${typeof e.title === "string" ? e.title : e.id} at ${e.start.toLocaleTimeString()}`,
4432
4467
  children: [
4433
- e.allDay ? "\u2022 " : "",
4468
+ e.isAllDay ? "\u2022 " : "",
4434
4469
  e.title ?? "(no title)"
4435
4470
  ]
4436
4471
  },
@@ -4454,8 +4489,8 @@ function TimeGridView({ events, days, firstDay, hourRange, onEventClick, onSlotC
4454
4489
  const visibleHours = endHour - startHour;
4455
4490
  const HOUR_PX = 48;
4456
4491
  const dayDates = Array.from({ length: days }, (_, i) => addDays(firstDay, i));
4457
- const eventsForDay = (d) => events.filter((e) => !e.allDay && isSameDay(d, e.start));
4458
- const allDayForDay = (d) => events.filter((e) => e.allDay && isInRange(d, e.start, e.end));
4492
+ const eventsForDay = (d) => events.filter((e) => !e.isAllDay && isSameDay(d, e.start));
4493
+ const allDayForDay = (d) => events.filter((e) => e.isAllDay && isInRange(d, e.start, e.end));
4459
4494
  return /* @__PURE__ */ jsxs("div", { className: "flex", children: [
4460
4495
  /* @__PURE__ */ jsxs("div", { className: "w-14 shrink-0 border-r border-border", children: [
4461
4496
  /* @__PURE__ */ jsx("div", { className: "h-6 border-b border-border bg-muted/40" }),
@@ -4636,7 +4671,7 @@ function AgendaView({ date, events, onEventClick }) {
4636
4671
  ),
4637
4672
  /* @__PURE__ */ jsxs("span", { className: "flex-1", children: [
4638
4673
  /* @__PURE__ */ jsx("span", { className: "block text-sm font-medium", children: e.title ?? "(no title)" }),
4639
- /* @__PURE__ */ jsx("span", { className: "block text-xs text-muted-foreground tabular-nums", children: e.allDay ? "All day" : `${e.start.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })} \u2013 ${e.end.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })}` })
4674
+ /* @__PURE__ */ jsx("span", { className: "block text-xs text-muted-foreground tabular-nums", children: e.isAllDay ? "All day" : `${e.start.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })} \u2013 ${e.end.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })}` })
4640
4675
  ] })
4641
4676
  ]
4642
4677
  }
@@ -4660,7 +4695,7 @@ var GradientText = forwardRef(
4660
4695
  via,
4661
4696
  to = "var(--color-accent, var(--color-primary))",
4662
4697
  direction = "r",
4663
- animated,
4698
+ isAnimated,
4664
4699
  as = "span",
4665
4700
  className,
4666
4701
  style,
@@ -4675,12 +4710,12 @@ var GradientText = forwardRef(
4675
4710
  ref,
4676
4711
  className: cn(
4677
4712
  "inline-block bg-clip-text text-transparent",
4678
- animated && "motion-safe:animate-[gradient-shift_4s_ease-in-out_infinite]",
4713
+ isAnimated && "motion-safe:animate-[gradient-shift_4s_ease-in-out_infinite]",
4679
4714
  className
4680
4715
  ),
4681
4716
  style: {
4682
4717
  backgroundImage: `linear-gradient(${DIR_TO_DEG[direction]}deg, ${stops})`,
4683
- backgroundSize: animated ? "200% 100%" : void 0,
4718
+ backgroundSize: isAnimated ? "200% 100%" : void 0,
4684
4719
  ...style
4685
4720
  },
4686
4721
  ...rest,
@@ -4701,12 +4736,12 @@ var CountUp = forwardRef(function CountUp2({
4701
4736
  duration = 1500,
4702
4737
  easing = easeOutCubic,
4703
4738
  format = defaultFormat,
4704
- triggerOnView = false,
4739
+ canTriggerOnView = false,
4705
4740
  as = "span",
4706
4741
  className,
4707
4742
  ...rest
4708
4743
  }, ref) {
4709
- const [value, setValue] = useState(triggerOnView ? from : to);
4744
+ const [value, setValue] = useState(canTriggerOnView ? from : to);
4710
4745
  const elRef = useRef(null);
4711
4746
  const startedRef = useRef(false);
4712
4747
  useEffect(() => {
@@ -4714,7 +4749,7 @@ var CountUp = forwardRef(function CountUp2({
4714
4749
  setValue(to);
4715
4750
  return;
4716
4751
  }
4717
- if (triggerOnView && typeof IntersectionObserver !== "undefined" && elRef.current) {
4752
+ if (canTriggerOnView && typeof IntersectionObserver !== "undefined" && elRef.current) {
4718
4753
  let cancel;
4719
4754
  const obs = new IntersectionObserver(
4720
4755
  (entries) => {
@@ -4746,7 +4781,7 @@ var CountUp = forwardRef(function CountUp2({
4746
4781
  raf = requestAnimationFrame(tick);
4747
4782
  return () => cancelAnimationFrame(raf);
4748
4783
  }
4749
- }, [to, from, duration, easing, triggerOnView]);
4784
+ }, [to, from, duration, easing, canTriggerOnView]);
4750
4785
  const Tag = as;
4751
4786
  return /* @__PURE__ */ jsx(
4752
4787
  Tag,
@@ -4828,7 +4863,7 @@ var ScrollReveal = forwardRef(
4828
4863
  duration = 600,
4829
4864
  delay = 0,
4830
4865
  threshold = 0.1,
4831
- once = true,
4866
+ isOnce = true,
4832
4867
  as = "div",
4833
4868
  className,
4834
4869
  style,
@@ -4853,8 +4888,8 @@ var ScrollReveal = forwardRef(
4853
4888
  for (const entry of entries) {
4854
4889
  if (entry.isIntersecting) {
4855
4890
  setRevealed(true);
4856
- if (once) obs.disconnect();
4857
- } else if (!once) {
4891
+ if (isOnce) obs.disconnect();
4892
+ } else if (!isOnce) {
4858
4893
  setRevealed(false);
4859
4894
  }
4860
4895
  }
@@ -4863,7 +4898,7 @@ var ScrollReveal = forwardRef(
4863
4898
  );
4864
4899
  obs.observe(el);
4865
4900
  return () => obs.disconnect();
4866
- }, [reduced, threshold, once]);
4901
+ }, [reduced, threshold, isOnce]);
4867
4902
  const Tag = as;
4868
4903
  return /* @__PURE__ */ jsx(
4869
4904
  Tag,
@@ -4890,7 +4925,7 @@ var ScrollReveal = forwardRef(
4890
4925
  var Tilt = forwardRef(function Tilt2({
4891
4926
  maxAngle = 12,
4892
4927
  perspective = 800,
4893
- glare,
4928
+ hasGlare,
4894
4929
  scale = 1,
4895
4930
  as = "div",
4896
4931
  className,
@@ -4947,7 +4982,7 @@ var Tilt = forwardRef(function Tilt2({
4947
4982
  ...rest,
4948
4983
  children: [
4949
4984
  children,
4950
- glare && !reduced && tilt.active && /* @__PURE__ */ jsx(
4985
+ hasGlare && !reduced && tilt.active && /* @__PURE__ */ jsx(
4951
4986
  "span",
4952
4987
  {
4953
4988
  "aria-hidden": "true",
@@ -4961,7 +4996,7 @@ var Tilt = forwardRef(function Tilt2({
4961
4996
  }
4962
4997
  );
4963
4998
  });
4964
- var Marquee = forwardRef(function Marquee2({ direction = "left", speed = 30, pauseOnHover = true, gap = 48, className, children, ...rest }, ref) {
4999
+ var Marquee = forwardRef(function Marquee2({ direction = "left", speed = 30, canPauseOnHover = true, gap = 48, className, children, ...rest }, ref) {
4965
5000
  const horizontal = direction === "left" || direction === "right";
4966
5001
  const reverse = direction === "right" || direction === "down";
4967
5002
  const animationName = horizontal ? "marquee-x" : "marquee-y";
@@ -4985,7 +5020,7 @@ var Marquee = forwardRef(function Marquee2({ direction = "left", speed = 30, pau
4985
5020
  className: cn(
4986
5021
  "flex shrink-0",
4987
5022
  horizontal ? "items-center" : "flex-col items-center",
4988
- pauseOnHover && "group-hover/marquee:[animation-play-state:paused]"
5023
+ canPauseOnHover && "group-hover/marquee:[animation-play-state:paused]"
4989
5024
  ),
4990
5025
  style: {
4991
5026
  animation: reducedMotion ? void 0 : `${animationName} ${speed}s linear infinite ${reverse ? "reverse" : "normal"}`
@@ -5017,15 +5052,15 @@ var Typewriter = forwardRef(function Typewriter2({
5017
5052
  typeSpeed = 60,
5018
5053
  deleteSpeed = 40,
5019
5054
  pauseBetween = 1500,
5020
- loop,
5021
- cursor = true,
5055
+ canLoop,
5056
+ hasCursor = true,
5022
5057
  cursorChar = "\u2502",
5023
5058
  as = "span",
5024
5059
  className,
5025
5060
  ...rest
5026
5061
  }, ref) {
5027
5062
  const phrases = useMemo(() => Array.isArray(text) ? text : [text], [text]);
5028
- const shouldLoop = loop ?? phrases.length > 1;
5063
+ const shouldLoop = canLoop ?? phrases.length > 1;
5029
5064
  const reduced = typeof window !== "undefined" && (window.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? false);
5030
5065
  const [phraseIndex, setPhraseIndex] = useState(0);
5031
5066
  const [charIndex, setCharIndex] = useState(0);
@@ -5057,7 +5092,7 @@ var Typewriter = forwardRef(function Typewriter2({
5057
5092
  const Tag = as;
5058
5093
  return /* @__PURE__ */ jsxs(Tag, { ref, className: cn("inline-block", className), ...rest, children: [
5059
5094
  fullText,
5060
- cursor && !reduced && /* @__PURE__ */ jsx(
5095
+ hasCursor && !reduced && /* @__PURE__ */ jsx(
5061
5096
  "span",
5062
5097
  {
5063
5098
  "aria-hidden": "true",
@@ -5077,7 +5112,7 @@ var Confetti = forwardRef(function Confetti2({
5077
5112
  velocity = 500,
5078
5113
  lifetime = 3e3,
5079
5114
  origin,
5080
- autoFire
5115
+ canAutoFire
5081
5116
  }, forwardedRef) {
5082
5117
  const [particles, setParticles] = useState([]);
5083
5118
  const rafRef = useRef(null);
@@ -5120,8 +5155,8 @@ var Confetti = forwardRef(function Confetti2({
5120
5155
  );
5121
5156
  useImperativeHandle(forwardedRef, () => ({ fire: spawn }), [spawn]);
5122
5157
  useEffect(() => {
5123
- if (autoFire) spawn();
5124
- }, [autoFire, spawn]);
5158
+ if (canAutoFire) spawn();
5159
+ }, [canAutoFire, spawn]);
5125
5160
  useEffect(() => {
5126
5161
  if (particles.length === 0) return;
5127
5162
  const tick = (now) => {
@@ -5185,8 +5220,8 @@ var TONE_PIN = {
5185
5220
  resolved: "bg-muted-foreground text-background"
5186
5221
  };
5187
5222
  var AnnotationMarker = forwardRef(
5188
- ({ children, index, tone = "comment", pinOnly, resolved, active, className, ...props }, ref) => {
5189
- const effectiveTone = resolved ? "resolved" : tone;
5223
+ ({ children, index, tone = "comment", isPinOnly, isResolved, isActive, className, ...props }, ref) => {
5224
+ const effectiveTone = isResolved ? "resolved" : tone;
5190
5225
  const pin = /* @__PURE__ */ jsx(
5191
5226
  "span",
5192
5227
  {
@@ -5198,17 +5233,17 @@ var AnnotationMarker = forwardRef(
5198
5233
  children: index ?? ""
5199
5234
  }
5200
5235
  );
5201
- if (pinOnly || children == null) {
5236
+ if (isPinOnly || children == null) {
5202
5237
  return /* @__PURE__ */ jsx(
5203
5238
  "button",
5204
5239
  {
5205
5240
  ref,
5206
5241
  type: "button",
5207
5242
  "data-tone": effectiveTone,
5208
- "data-active": active ? "" : void 0,
5243
+ "data-active": isActive ? "" : void 0,
5209
5244
  className: cn(
5210
5245
  "inline-flex items-center gap-1 align-middle rounded-full ring-1 ring-transparent transition-shadow",
5211
- active && "ring-ring",
5246
+ isActive && "ring-ring",
5212
5247
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5213
5248
  className
5214
5249
  ),
@@ -5223,14 +5258,14 @@ var AnnotationMarker = forwardRef(
5223
5258
  ref,
5224
5259
  type: "button",
5225
5260
  "data-tone": effectiveTone,
5226
- "data-active": active ? "" : void 0,
5261
+ "data-active": isActive ? "" : void 0,
5227
5262
  className: cn(
5228
5263
  "group inline-flex items-baseline gap-1 align-baseline rounded-sm px-0.5 transition-colors",
5229
5264
  "underline decoration-2 underline-offset-4",
5230
5265
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5231
5266
  TONE_HIGHLIGHT[effectiveTone],
5232
- resolved && "line-through opacity-70",
5233
- active && "ring-1 ring-ring",
5267
+ isResolved && "line-through opacity-70",
5268
+ isActive && "ring-1 ring-ring",
5234
5269
  className
5235
5270
  ),
5236
5271
  ...props,
@@ -5243,16 +5278,16 @@ var AnnotationMarker = forwardRef(
5243
5278
  }
5244
5279
  );
5245
5280
  AnnotationMarker.displayName = "AnnotationMarker";
5246
- function ReactionChip({ reactedByMe, className, ...rest }) {
5281
+ function ReactionChip({ isReactedByMe, className, ...rest }) {
5247
5282
  return /* @__PURE__ */ jsx(
5248
5283
  "button",
5249
5284
  {
5250
5285
  type: "button",
5251
- "data-active": reactedByMe ? "" : void 0,
5286
+ "data-active": isReactedByMe ? "" : void 0,
5252
5287
  className: cn(
5253
5288
  "inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs leading-none transition-colors",
5254
5289
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5255
- reactedByMe ? "border-primary bg-primary-soft text-primary-soft-foreground" : "border-border bg-background hover:bg-muted",
5290
+ isReactedByMe ? "border-primary bg-primary-soft text-primary-soft-foreground" : "border-border bg-background hover:bg-muted",
5256
5291
  className
5257
5292
  ),
5258
5293
  ...rest
@@ -5264,13 +5299,13 @@ var ReactionBar = forwardRef(
5264
5299
  reactions,
5265
5300
  onReact,
5266
5301
  onAdd,
5267
- hideAddButton,
5268
- compact,
5269
- hideEmpty = true,
5302
+ hasAddButton = true,
5303
+ isCompact,
5304
+ hasEmpty = false,
5270
5305
  className,
5271
5306
  ...props
5272
5307
  }, ref) => {
5273
- const visible = hideEmpty ? reactions.filter((r) => r.count > 0) : reactions;
5308
+ const visible = hasEmpty ? reactions : reactions.filter((r) => r.count > 0);
5274
5309
  return /* @__PURE__ */ jsxs(
5275
5310
  "div",
5276
5311
  {
@@ -5283,17 +5318,17 @@ var ReactionBar = forwardRef(
5283
5318
  visible.map((r) => /* @__PURE__ */ jsxs(
5284
5319
  ReactionChip,
5285
5320
  {
5286
- reactedByMe: r.reactedByMe,
5321
+ isReactedByMe: r.isReactedByMe,
5287
5322
  title: r.users?.length ? r.users.join(", ") : void 0,
5288
5323
  onClick: () => onReact?.(r.key),
5289
5324
  children: [
5290
5325
  /* @__PURE__ */ jsx("span", { className: "text-sm leading-none", children: r.emoji }),
5291
- !compact && /* @__PURE__ */ jsx("span", { className: "font-medium tabular-nums", children: r.count })
5326
+ !isCompact && /* @__PURE__ */ jsx("span", { className: "font-medium tabular-nums", children: r.count })
5292
5327
  ]
5293
5328
  },
5294
5329
  r.key
5295
5330
  )),
5296
- !hideAddButton && onAdd && /* @__PURE__ */ jsx(
5331
+ hasAddButton && onAdd && /* @__PURE__ */ jsx(
5297
5332
  "button",
5298
5333
  {
5299
5334
  type: "button",
@@ -5334,8 +5369,8 @@ var ChatBubble = forwardRef(
5334
5369
  author,
5335
5370
  timestamp,
5336
5371
  status,
5337
- showStatusOnStart,
5338
- tailless,
5372
+ canShowStatusOnStart,
5373
+ isTailless,
5339
5374
  footer,
5340
5375
  children,
5341
5376
  className,
@@ -5344,7 +5379,7 @@ var ChatBubble = forwardRef(
5344
5379
  const isEnd = side === "end";
5345
5380
  const effectiveTone = tone ?? (isEnd ? "primary" : "default");
5346
5381
  const isSystem = effectiveTone === "system";
5347
- const showStatus = !!status && (isEnd || showStatusOnStart);
5382
+ const showStatus = !!status && (isEnd || canShowStatusOnStart);
5348
5383
  if (isSystem) {
5349
5384
  return /* @__PURE__ */ jsx(
5350
5385
  "div",
@@ -5385,7 +5420,7 @@ var ChatBubble = forwardRef(
5385
5420
  className: cn(
5386
5421
  "relative inline-block px-3 py-2 text-sm break-words",
5387
5422
  TONE_BASE[effectiveTone],
5388
- tailless ? "rounded-2xl" : isEnd ? "rounded-2xl rounded-br-sm" : "rounded-2xl rounded-bl-sm"
5423
+ isTailless ? "rounded-2xl" : isEnd ? "rounded-2xl rounded-br-sm" : "rounded-2xl rounded-bl-sm"
5389
5424
  ),
5390
5425
  children
5391
5426
  }
@@ -5434,10 +5469,10 @@ var MessageListInner = forwardRef(
5434
5469
  ({
5435
5470
  header,
5436
5471
  footer,
5437
- stickToBottom = true,
5472
+ isSticky = true,
5438
5473
  bottomThreshold = 32,
5439
- showJumpToBottom = true,
5440
- reverse: _reverse,
5474
+ hasJumpToBottom = true,
5475
+ isReversed: _isReversed,
5441
5476
  children,
5442
5477
  className,
5443
5478
  ...props
@@ -5461,8 +5496,8 @@ var MessageListInner = forwardRef(
5461
5496
  [scrollToBottom, isNearBottom]
5462
5497
  );
5463
5498
  useLayoutEffect(() => {
5464
- if (stickToBottom && nearBottomRef.current) scrollToBottom("auto");
5465
- }, [children, stickToBottom, scrollToBottom]);
5499
+ if (isSticky && nearBottomRef.current) scrollToBottom("auto");
5500
+ }, [children, isSticky, scrollToBottom]);
5466
5501
  useEffect(() => {
5467
5502
  const el = scrollerRef.current;
5468
5503
  if (!el) return;
@@ -5488,7 +5523,7 @@ var MessageListInner = forwardRef(
5488
5523
  }
5489
5524
  ),
5490
5525
  footer && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-t border-border px-3 py-2", children: footer }),
5491
- showJumpToBottom && !atBottom && /* @__PURE__ */ jsx(
5526
+ hasJumpToBottom && !atBottom && /* @__PURE__ */ jsx(
5492
5527
  "button",
5493
5528
  {
5494
5529
  type: "button",
@@ -5517,7 +5552,7 @@ var ThreadView = forwardRef(
5517
5552
  children,
5518
5553
  composer,
5519
5554
  onClose,
5520
- hideCloseButton,
5555
+ hasCloseButton = true,
5521
5556
  className,
5522
5557
  ...props
5523
5558
  }, ref) => {
@@ -5540,7 +5575,7 @@ var ThreadView = forwardRef(
5540
5575
  /* @__PURE__ */ jsx("div", { className: "text-sm font-semibold text-foreground", children: title }),
5541
5576
  subtitle && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: subtitle })
5542
5577
  ] }),
5543
- !hideCloseButton && onClose && /* @__PURE__ */ jsx(
5578
+ hasCloseButton && onClose && /* @__PURE__ */ jsx(
5544
5579
  "button",
5545
5580
  {
5546
5581
  type: "button",
@@ -5590,7 +5625,7 @@ var Comment = forwardRef(
5590
5625
  actions,
5591
5626
  replies,
5592
5627
  defaultCollapsed = false,
5593
- highlighted,
5628
+ isHighlighted,
5594
5629
  className,
5595
5630
  ...props
5596
5631
  }, ref) => {
@@ -5603,10 +5638,10 @@ var Comment = forwardRef(
5603
5638
  ref,
5604
5639
  role: "treeitem",
5605
5640
  "aria-expanded": hasReplies ? !collapsed : void 0,
5606
- "data-highlighted": highlighted ? "" : void 0,
5641
+ "data-highlighted": isHighlighted ? "" : void 0,
5607
5642
  className: cn(
5608
5643
  "flex gap-2 rounded-md",
5609
- highlighted && "bg-primary-soft/30 ring-1 ring-primary/20 p-2",
5644
+ isHighlighted && "bg-primary-soft/30 ring-1 ring-primary/20 p-2",
5610
5645
  className
5611
5646
  ),
5612
5647
  ...props,
@@ -5688,12 +5723,12 @@ Comment.displayName = "CommentThread.Comment";
5688
5723
  var CommentThread = CommentThreadInner;
5689
5724
  CommentThread.Comment = Comment;
5690
5725
  var ActivityFeedInner = forwardRef(
5691
- ({ dense, children, className, ...props }, ref) => /* @__PURE__ */ jsx(
5726
+ ({ isDense, children, className, ...props }, ref) => /* @__PURE__ */ jsx(
5692
5727
  "ol",
5693
5728
  {
5694
5729
  ref,
5695
- className: cn("flex list-none flex-col", dense ? "gap-3" : "gap-5", className),
5696
- "data-dense": dense ? "" : void 0,
5730
+ className: cn("flex list-none flex-col", isDense ? "gap-3" : "gap-5", className),
5731
+ "data-dense": isDense ? "" : void 0,
5697
5732
  ...props,
5698
5733
  children
5699
5734
  }
@@ -5701,17 +5736,17 @@ var ActivityFeedInner = forwardRef(
5701
5736
  );
5702
5737
  ActivityFeedInner.displayName = "ActivityFeed";
5703
5738
  var ActivityItem = forwardRef(
5704
- ({ avatar, children, timestamp, preview, actions, last, className, ...props }, ref) => /* @__PURE__ */ jsxs(
5739
+ ({ avatar, children, timestamp, preview, actions, isLast, className, ...props }, ref) => /* @__PURE__ */ jsxs(
5705
5740
  "li",
5706
5741
  {
5707
5742
  ref,
5708
5743
  className: cn("relative flex gap-3", className),
5709
- "data-last": last ? "" : void 0,
5744
+ "data-last": isLast ? "" : void 0,
5710
5745
  ...props,
5711
5746
  children: [
5712
5747
  /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-center", children: [
5713
5748
  /* @__PURE__ */ jsx("div", { className: "z-raised shrink-0", children: avatar }),
5714
- !last && /* @__PURE__ */ jsx(
5749
+ !isLast && /* @__PURE__ */ jsx(
5715
5750
  "span",
5716
5751
  {
5717
5752
  "aria-hidden": "true",
@@ -5735,6 +5770,6 @@ ActivityItem.displayName = "ActivityFeed.Item";
5735
5770
  var ActivityFeed = ActivityFeedInner;
5736
5771
  ActivityFeed.Item = ActivityItem;
5737
5772
 
5738
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityFeed, ActivityItem, AnimatedNumber, AnnotationMarker, AudioPlayer, AudioWaveform, Avatar, AvatarGroup, Badge, BadgeOverlay, Card, Carousel, CarouselDot, CarouselDots, CarouselNext, CarouselPrev, CarouselSlide, CarouselSlides, CarouselViewport, ChatBubble, Code, Collapsible, CollapsibleContent, CollapsibleTrigger, Comment, CommentThread, Confetti, CountBadge, CountUp, DataGrid, DataTable, DaySeparator, DescriptionList, DiffViewer, EmptyState, EventCalendar, Eyebrow, Gantt, GradientText, Heading, HeatmapCalendar, Highlight, Image, InfoRow, KeyboardShortcut, List, ListItem, Mark, Marquee, MessageList, MetaInline, MetricChip, NodeEditor, NotificationDot, PDFViewer, Quote, ReactionBar, ScheduleView, ScrollReveal, SectionHeader, Separator, Snippet, Sparkline, Stat, Status, SwipeActions, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeaderCell, TableRow, Tabs, TabsList, TabsPanel, TabsTab, Text, ThreadView, Tilt, Timeline, TimelineDescription, TimelineItem, TimelineTitle, Tooltip, Tree, TreeGroup, TreeItem, Typewriter, VideoPlayer, avatarVariants, badgeVariants, codeVariants, headingVariants, textVariants };
5739
- //# sourceMappingURL=chunk-4OKJVYBV.js.map
5740
- //# sourceMappingURL=chunk-4OKJVYBV.js.map
5773
+ export { Accordion2 as Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityFeed, ActivityItem, AnimatedNumber, AnnotationMarker, AudioPlayer, AudioWaveform, Avatar, AvatarGroup, Badge, BadgeOverlay, Card, Carousel, CarouselDot, CarouselDots, CarouselNext, CarouselPrev, CarouselSlide, CarouselSlides, CarouselViewport, ChatBubble, Code, Collapsible, CollapsibleContent, CollapsibleTrigger, Comment, CommentThread, Confetti, CountBadge, CountUp, DataGrid, DataTable, DaySeparator, DescriptionList, DiffViewer, EmptyState, EventCalendar, Eyebrow, Gantt, GradientText, Heading, HeatmapCalendar, Highlight, Image, InfoRow, KeyboardShortcut, List, ListItem, Mark, Marquee, MessageList, MetaInline, MetricChip, NodeEditor, NotificationDot, PDFViewer, Quote, ReactionBar, ScheduleView, ScrollReveal, SectionHeader, Separator, Snippet, Sparkline, Stat, Status, SwipeActions, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeaderCell, TableRow, Tabs, TabsList, TabsPanel, TabsTab, Text, ThreadView, Tilt, Timeline, TimelineDescription, TimelineItem, TimelineTitle, Tooltip, Tree, TreeGroup, TreeItem, Typewriter, VideoPlayer, avatarVariants, badgeVariants, codeVariants, headingVariants, textVariants };
5774
+ //# sourceMappingURL=chunk-Y5GS4CLT.js.map
5775
+ //# sourceMappingURL=chunk-Y5GS4CLT.js.map