@wow-two-beta/ui 0.0.6 → 0.0.8

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 (307) hide show
  1. package/dist/actions/button/Button.variants.d.ts +2 -2
  2. package/dist/actions/buttonGroup/ButtonGroup.d.ts +14 -0
  3. package/dist/actions/buttonGroup/ButtonGroup.d.ts.map +1 -0
  4. package/dist/actions/buttonGroup/index.d.ts +2 -0
  5. package/dist/actions/buttonGroup/index.d.ts.map +1 -0
  6. package/dist/actions/copyButton/CopyButton.d.ts +20 -0
  7. package/dist/actions/copyButton/CopyButton.d.ts.map +1 -0
  8. package/dist/actions/copyButton/index.d.ts +2 -0
  9. package/dist/actions/copyButton/index.d.ts.map +1 -0
  10. package/dist/actions/disclosureButton/DisclosureButton.d.ts +20 -0
  11. package/dist/actions/disclosureButton/DisclosureButton.d.ts.map +1 -0
  12. package/dist/actions/disclosureButton/index.d.ts +2 -0
  13. package/dist/actions/disclosureButton/index.d.ts.map +1 -0
  14. package/dist/actions/fab/FAB.d.ts +13 -0
  15. package/dist/actions/fab/FAB.d.ts.map +1 -0
  16. package/dist/actions/fab/FAB.variants.d.ts +130 -0
  17. package/dist/actions/fab/FAB.variants.d.ts.map +1 -0
  18. package/dist/actions/fab/index.d.ts +3 -0
  19. package/dist/actions/fab/index.d.ts.map +1 -0
  20. package/dist/actions/iconButton/IconButton.variants.d.ts +2 -2
  21. package/dist/actions/index.d.ts +8 -0
  22. package/dist/actions/index.d.ts.map +1 -1
  23. package/dist/actions/index.js +4 -1
  24. package/dist/actions/link/Link.variants.d.ts +2 -2
  25. package/dist/actions/overlayButton/OverlayButton.d.ts +16 -0
  26. package/dist/actions/overlayButton/OverlayButton.d.ts.map +1 -0
  27. package/dist/actions/overlayButton/OverlayButton.variants.d.ts +123 -0
  28. package/dist/actions/overlayButton/OverlayButton.variants.d.ts.map +1 -0
  29. package/dist/actions/overlayButton/index.d.ts +3 -0
  30. package/dist/actions/overlayButton/index.d.ts.map +1 -0
  31. package/dist/actions/segmentedControl/SegmentedControl.d.ts +9 -0
  32. package/dist/actions/segmentedControl/SegmentedControl.d.ts.map +1 -0
  33. package/dist/actions/segmentedControl/index.d.ts +2 -0
  34. package/dist/actions/segmentedControl/index.d.ts.map +1 -0
  35. package/dist/actions/toggleButton/ToggleButton.d.ts +16 -0
  36. package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -0
  37. package/dist/actions/toggleButton/ToggleButton.variants.d.ts +81 -0
  38. package/dist/actions/toggleButton/ToggleButton.variants.d.ts.map +1 -0
  39. package/dist/actions/toggleButton/index.d.ts +3 -0
  40. package/dist/actions/toggleButton/index.d.ts.map +1 -0
  41. package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +25 -0
  42. package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -0
  43. package/dist/actions/toggleButtonGroup/index.d.ts +2 -0
  44. package/dist/actions/toggleButtonGroup/index.d.ts.map +1 -0
  45. package/dist/{chunk-6NYTRHP7.js → chunk-4P2TFUVW.js} +39 -5
  46. package/dist/chunk-4P2TFUVW.js.map +1 -0
  47. package/dist/chunk-7SGLT2LM.js +774 -0
  48. package/dist/chunk-7SGLT2LM.js.map +1 -0
  49. package/dist/chunk-D5CHR6RX.js +423 -0
  50. package/dist/chunk-D5CHR6RX.js.map +1 -0
  51. package/dist/{chunk-77WSI427.js → chunk-KDXJQNB6.js} +9 -5
  52. package/dist/chunk-KDXJQNB6.js.map +1 -0
  53. package/dist/chunk-L32PXXQL.js +126 -0
  54. package/dist/chunk-L32PXXQL.js.map +1 -0
  55. package/dist/{chunk-SYG6ZE42.js → chunk-NKGNOOXJ.js} +116 -4
  56. package/dist/chunk-NKGNOOXJ.js.map +1 -0
  57. package/dist/chunk-RIW2V3N4.js +596 -0
  58. package/dist/chunk-RIW2V3N4.js.map +1 -0
  59. package/dist/{chunk-JCMV6IT4.js → chunk-SL5YJADS.js} +4 -4
  60. package/dist/{chunk-JCMV6IT4.js.map → chunk-SL5YJADS.js.map} +1 -1
  61. package/dist/{chunk-Q27NAHVB.js → chunk-WEM32VIJ.js} +3 -3
  62. package/dist/{chunk-Q27NAHVB.js.map → chunk-WEM32VIJ.js.map} +1 -1
  63. package/dist/chunk-X2LTOZ7F.js +1119 -0
  64. package/dist/chunk-X2LTOZ7F.js.map +1 -0
  65. package/dist/display/avatar/Avatar.variants.d.ts +2 -2
  66. package/dist/display/avatarGroup/AvatarGroup.d.ts +16 -0
  67. package/dist/display/avatarGroup/AvatarGroup.d.ts.map +1 -0
  68. package/dist/display/avatarGroup/index.d.ts +2 -0
  69. package/dist/display/avatarGroup/index.d.ts.map +1 -0
  70. package/dist/display/badgeOverlay/BadgeOverlay.d.ts +18 -0
  71. package/dist/display/badgeOverlay/BadgeOverlay.d.ts.map +1 -0
  72. package/dist/display/badgeOverlay/index.d.ts +2 -0
  73. package/dist/display/badgeOverlay/index.d.ts.map +1 -0
  74. package/dist/display/card/Card.d.ts +20 -0
  75. package/dist/display/card/Card.d.ts.map +1 -0
  76. package/dist/display/card/index.d.ts +2 -0
  77. package/dist/display/card/index.d.ts.map +1 -0
  78. package/dist/display/countBadge/CountBadge.d.ts +18 -0
  79. package/dist/display/countBadge/CountBadge.d.ts.map +1 -0
  80. package/dist/display/countBadge/index.d.ts +2 -0
  81. package/dist/display/countBadge/index.d.ts.map +1 -0
  82. package/dist/display/descriptionList/DescriptionList.d.ts +18 -0
  83. package/dist/display/descriptionList/DescriptionList.d.ts.map +1 -0
  84. package/dist/display/descriptionList/index.d.ts +2 -0
  85. package/dist/display/descriptionList/index.d.ts.map +1 -0
  86. package/dist/display/emptyState/EmptyState.d.ts +19 -0
  87. package/dist/display/emptyState/EmptyState.d.ts.map +1 -0
  88. package/dist/display/emptyState/index.d.ts +2 -0
  89. package/dist/display/emptyState/index.d.ts.map +1 -0
  90. package/dist/display/heading/Heading.variants.d.ts +2 -2
  91. package/dist/display/highlight/Highlight.d.ts +16 -0
  92. package/dist/display/highlight/Highlight.d.ts.map +1 -0
  93. package/dist/display/highlight/index.d.ts +2 -0
  94. package/dist/display/highlight/index.d.ts.map +1 -0
  95. package/dist/display/index.d.ts +15 -0
  96. package/dist/display/index.d.ts.map +1 -1
  97. package/dist/display/index.js +7 -2
  98. package/dist/display/infoRow/InfoRow.d.ts +16 -0
  99. package/dist/display/infoRow/InfoRow.d.ts.map +1 -0
  100. package/dist/display/infoRow/index.d.ts +2 -0
  101. package/dist/display/infoRow/index.d.ts.map +1 -0
  102. package/dist/display/keyboardShortcut/KeyboardShortcut.d.ts +13 -0
  103. package/dist/display/keyboardShortcut/KeyboardShortcut.d.ts.map +1 -0
  104. package/dist/display/keyboardShortcut/index.d.ts +2 -0
  105. package/dist/display/keyboardShortcut/index.d.ts.map +1 -0
  106. package/dist/display/notificationDot/NotificationDot.d.ts +15 -0
  107. package/dist/display/notificationDot/NotificationDot.d.ts.map +1 -0
  108. package/dist/display/notificationDot/index.d.ts +2 -0
  109. package/dist/display/notificationDot/index.d.ts.map +1 -0
  110. package/dist/display/sectionHeader/SectionHeader.d.ts +21 -0
  111. package/dist/display/sectionHeader/SectionHeader.d.ts.map +1 -0
  112. package/dist/display/sectionHeader/index.d.ts +2 -0
  113. package/dist/display/sectionHeader/index.d.ts.map +1 -0
  114. package/dist/display/snippet/Snippet.d.ts +15 -0
  115. package/dist/display/snippet/Snippet.d.ts.map +1 -0
  116. package/dist/display/snippet/index.d.ts +2 -0
  117. package/dist/display/snippet/index.d.ts.map +1 -0
  118. package/dist/display/stat/Stat.d.ts +22 -0
  119. package/dist/display/stat/Stat.d.ts.map +1 -0
  120. package/dist/display/stat/index.d.ts +2 -0
  121. package/dist/display/stat/index.d.ts.map +1 -0
  122. package/dist/display/status/Status.d.ts +14 -0
  123. package/dist/display/status/Status.d.ts.map +1 -0
  124. package/dist/display/status/index.d.ts +2 -0
  125. package/dist/display/status/index.d.ts.map +1 -0
  126. package/dist/display/tag/Tag.variants.d.ts +2 -2
  127. package/dist/display/tooltip/Tooltip.d.ts +25 -0
  128. package/dist/display/tooltip/Tooltip.d.ts.map +1 -0
  129. package/dist/display/tooltip/index.d.ts +2 -0
  130. package/dist/display/tooltip/index.d.ts.map +1 -0
  131. package/dist/feedback/alert/Alert.d.ts +22 -0
  132. package/dist/feedback/alert/Alert.d.ts.map +1 -0
  133. package/dist/feedback/alert/index.d.ts +2 -0
  134. package/dist/feedback/alert/index.d.ts.map +1 -0
  135. package/dist/feedback/banner/Banner.d.ts +16 -0
  136. package/dist/feedback/banner/Banner.d.ts.map +1 -0
  137. package/dist/feedback/banner/index.d.ts +2 -0
  138. package/dist/feedback/banner/index.d.ts.map +1 -0
  139. package/dist/feedback/callout/Callout.d.ts +13 -0
  140. package/dist/feedback/callout/Callout.d.ts.map +1 -0
  141. package/dist/feedback/callout/index.d.ts +2 -0
  142. package/dist/feedback/callout/index.d.ts.map +1 -0
  143. package/dist/feedback/index.d.ts +10 -0
  144. package/dist/feedback/index.d.ts.map +1 -1
  145. package/dist/feedback/index.js +2 -1
  146. package/dist/feedback/inlineSpinner/InlineSpinner.d.ts +14 -0
  147. package/dist/feedback/inlineSpinner/InlineSpinner.d.ts.map +1 -0
  148. package/dist/feedback/inlineSpinner/index.d.ts +2 -0
  149. package/dist/feedback/inlineSpinner/index.d.ts.map +1 -0
  150. package/dist/feedback/loadingState/LoadingState.d.ts +15 -0
  151. package/dist/feedback/loadingState/LoadingState.d.ts.map +1 -0
  152. package/dist/feedback/loadingState/index.d.ts +2 -0
  153. package/dist/feedback/loadingState/index.d.ts.map +1 -0
  154. package/dist/feedback/meterBar/MeterBar.d.ts +18 -0
  155. package/dist/feedback/meterBar/MeterBar.d.ts.map +1 -0
  156. package/dist/feedback/meterBar/index.d.ts +2 -0
  157. package/dist/feedback/meterBar/index.d.ts.map +1 -0
  158. package/dist/feedback/progressBar/ProgressBar.variants.d.ts +2 -2
  159. package/dist/feedback/progressSteps/ProgressSteps.d.ts +16 -0
  160. package/dist/feedback/progressSteps/ProgressSteps.d.ts.map +1 -0
  161. package/dist/feedback/progressSteps/index.d.ts +2 -0
  162. package/dist/feedback/progressSteps/index.d.ts.map +1 -0
  163. package/dist/feedback/skeleton/Skeleton.variants.d.ts +2 -2
  164. package/dist/feedback/statusIndicator/StatusIndicator.d.ts +17 -0
  165. package/dist/feedback/statusIndicator/StatusIndicator.d.ts.map +1 -0
  166. package/dist/feedback/statusIndicator/index.d.ts +2 -0
  167. package/dist/feedback/statusIndicator/index.d.ts.map +1 -0
  168. package/dist/feedback/toast/Toast.d.ts +16 -0
  169. package/dist/feedback/toast/Toast.d.ts.map +1 -0
  170. package/dist/feedback/toast/index.d.ts +2 -0
  171. package/dist/feedback/toast/index.d.ts.map +1 -0
  172. package/dist/feedback/toastSimple/ToastSimple.variants.d.ts +2 -2
  173. package/dist/feedback/trendIndicator/TrendIndicator.d.ts +18 -0
  174. package/dist/feedback/trendIndicator/TrendIndicator.d.ts.map +1 -0
  175. package/dist/feedback/trendIndicator/index.d.ts +2 -0
  176. package/dist/feedback/trendIndicator/index.d.ts.map +1 -0
  177. package/dist/forms/_styles.d.ts +2 -2
  178. package/dist/forms/characterCount/CharacterCount.d.ts +15 -0
  179. package/dist/forms/characterCount/CharacterCount.d.ts.map +1 -0
  180. package/dist/forms/characterCount/index.d.ts +2 -0
  181. package/dist/forms/characterCount/index.d.ts.map +1 -0
  182. package/dist/forms/checkboxField/CheckboxField.d.ts +16 -0
  183. package/dist/forms/checkboxField/CheckboxField.d.ts.map +1 -0
  184. package/dist/forms/checkboxField/index.d.ts +2 -0
  185. package/dist/forms/checkboxField/index.d.ts.map +1 -0
  186. package/dist/forms/checkboxGroup/CheckboxGroup.d.ts +24 -0
  187. package/dist/forms/checkboxGroup/CheckboxGroup.d.ts.map +1 -0
  188. package/dist/forms/checkboxGroup/index.d.ts +2 -0
  189. package/dist/forms/checkboxGroup/index.d.ts.map +1 -0
  190. package/dist/forms/choiceCard/ChoiceCard.d.ts +17 -0
  191. package/dist/forms/choiceCard/ChoiceCard.d.ts.map +1 -0
  192. package/dist/forms/choiceCard/index.d.ts +2 -0
  193. package/dist/forms/choiceCard/index.d.ts.map +1 -0
  194. package/dist/forms/currencyInput/CurrencyInput.d.ts +11 -0
  195. package/dist/forms/currencyInput/CurrencyInput.d.ts.map +1 -0
  196. package/dist/forms/currencyInput/index.d.ts +2 -0
  197. package/dist/forms/currencyInput/index.d.ts.map +1 -0
  198. package/dist/forms/filePicker/FilePicker.d.ts +18 -0
  199. package/dist/forms/filePicker/FilePicker.d.ts.map +1 -0
  200. package/dist/forms/filePicker/index.d.ts +2 -0
  201. package/dist/forms/filePicker/index.d.ts.map +1 -0
  202. package/dist/forms/formField/FormField.d.ts +24 -0
  203. package/dist/forms/formField/FormField.d.ts.map +1 -0
  204. package/dist/forms/formField/index.d.ts +2 -0
  205. package/dist/forms/formField/index.d.ts.map +1 -0
  206. package/dist/forms/index.d.ts +17 -0
  207. package/dist/forms/index.d.ts.map +1 -1
  208. package/dist/forms/index.js +5 -4
  209. package/dist/forms/inputAddon/InputAddon.d.ts +16 -0
  210. package/dist/forms/inputAddon/InputAddon.d.ts.map +1 -0
  211. package/dist/forms/inputAddon/index.d.ts +2 -0
  212. package/dist/forms/inputAddon/index.d.ts.map +1 -0
  213. package/dist/forms/inputGroup/InputGroup.d.ts +11 -0
  214. package/dist/forms/inputGroup/InputGroup.d.ts.map +1 -0
  215. package/dist/forms/inputGroup/index.d.ts +2 -0
  216. package/dist/forms/inputGroup/index.d.ts.map +1 -0
  217. package/dist/forms/labeledInput/LabeledInput.d.ts +17 -0
  218. package/dist/forms/labeledInput/LabeledInput.d.ts.map +1 -0
  219. package/dist/forms/labeledInput/index.d.ts +2 -0
  220. package/dist/forms/labeledInput/index.d.ts.map +1 -0
  221. package/dist/forms/maskedInput/MaskedInput.d.ts +17 -0
  222. package/dist/forms/maskedInput/MaskedInput.d.ts.map +1 -0
  223. package/dist/forms/maskedInput/index.d.ts +2 -0
  224. package/dist/forms/maskedInput/index.d.ts.map +1 -0
  225. package/dist/forms/passwordStrength/PasswordStrength.d.ts +15 -0
  226. package/dist/forms/passwordStrength/PasswordStrength.d.ts.map +1 -0
  227. package/dist/forms/passwordStrength/index.d.ts +2 -0
  228. package/dist/forms/passwordStrength/index.d.ts.map +1 -0
  229. package/dist/forms/percentInput/PercentInput.d.ts +8 -0
  230. package/dist/forms/percentInput/PercentInput.d.ts.map +1 -0
  231. package/dist/forms/percentInput/index.d.ts +2 -0
  232. package/dist/forms/percentInput/index.d.ts.map +1 -0
  233. package/dist/forms/pinInput/PinInput.d.ts +26 -0
  234. package/dist/forms/pinInput/PinInput.d.ts.map +1 -0
  235. package/dist/forms/pinInput/index.d.ts +2 -0
  236. package/dist/forms/pinInput/index.d.ts.map +1 -0
  237. package/dist/forms/radioField/RadioField.d.ts +12 -0
  238. package/dist/forms/radioField/RadioField.d.ts.map +1 -0
  239. package/dist/forms/radioField/index.d.ts +2 -0
  240. package/dist/forms/radioField/index.d.ts.map +1 -0
  241. package/dist/forms/radioGroup/RadioGroup.d.ts +19 -0
  242. package/dist/forms/radioGroup/RadioGroup.d.ts.map +1 -0
  243. package/dist/forms/radioGroup/index.d.ts +2 -0
  244. package/dist/forms/radioGroup/index.d.ts.map +1 -0
  245. package/dist/forms/switchField/SwitchField.d.ts +15 -0
  246. package/dist/forms/switchField/SwitchField.d.ts.map +1 -0
  247. package/dist/forms/switchField/index.d.ts +2 -0
  248. package/dist/forms/switchField/index.d.ts.map +1 -0
  249. package/dist/hooks/index.d.ts +1 -0
  250. package/dist/hooks/index.d.ts.map +1 -1
  251. package/dist/hooks/index.js +2 -3
  252. package/dist/hooks/useClipboard.d.ts +21 -0
  253. package/dist/hooks/useClipboard.d.ts.map +1 -0
  254. package/dist/index.css +112 -5
  255. package/dist/index.d.ts +1 -0
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +11 -11
  258. package/dist/layout/cluster/Cluster.d.ts +13 -0
  259. package/dist/layout/cluster/Cluster.d.ts.map +1 -0
  260. package/dist/layout/cluster/index.d.ts +2 -0
  261. package/dist/layout/cluster/index.d.ts.map +1 -0
  262. package/dist/layout/frame/Frame.d.ts +17 -0
  263. package/dist/layout/frame/Frame.d.ts.map +1 -0
  264. package/dist/layout/frame/index.d.ts +2 -0
  265. package/dist/layout/frame/index.d.ts.map +1 -0
  266. package/dist/layout/index.d.ts +4 -0
  267. package/dist/layout/index.d.ts.map +1 -1
  268. package/dist/layout/index.js +1 -1
  269. package/dist/layout/inline/Inline.d.ts +13 -0
  270. package/dist/layout/inline/Inline.d.ts.map +1 -0
  271. package/dist/layout/inline/index.d.ts +2 -0
  272. package/dist/layout/inline/index.d.ts.map +1 -0
  273. package/dist/layout/twoColumn/TwoColumn.d.ts +19 -0
  274. package/dist/layout/twoColumn/TwoColumn.d.ts.map +1 -0
  275. package/dist/layout/twoColumn/index.d.ts +2 -0
  276. package/dist/layout/twoColumn/index.d.ts.map +1 -0
  277. package/dist/nav/breadcrumb/Breadcrumb.d.ts +18 -0
  278. package/dist/nav/breadcrumb/Breadcrumb.d.ts.map +1 -0
  279. package/dist/nav/breadcrumb/index.d.ts +2 -0
  280. package/dist/nav/breadcrumb/index.d.ts.map +1 -0
  281. package/dist/nav/index.d.ts +4 -0
  282. package/dist/nav/index.d.ts.map +1 -0
  283. package/dist/nav/index.js +12 -0
  284. package/dist/nav/index.js.map +1 -0
  285. package/dist/nav/navItem/NavItem.d.ts +22 -0
  286. package/dist/nav/navItem/NavItem.d.ts.map +1 -0
  287. package/dist/nav/navItem/index.d.ts +2 -0
  288. package/dist/nav/navItem/index.d.ts.map +1 -0
  289. package/dist/nav/pagination/Pagination.d.ts +19 -0
  290. package/dist/nav/pagination/Pagination.d.ts.map +1 -0
  291. package/dist/nav/pagination/index.d.ts +2 -0
  292. package/dist/nav/pagination/index.d.ts.map +1 -0
  293. package/dist/primitives/index.js +3 -4
  294. package/package.json +5 -1
  295. package/dist/chunk-6NYTRHP7.js.map +0 -1
  296. package/dist/chunk-77WSI427.js.map +0 -1
  297. package/dist/chunk-JTJEI6MF.js +0 -11
  298. package/dist/chunk-JTJEI6MF.js.map +0 -1
  299. package/dist/chunk-L2RYQWZZ.js +0 -120
  300. package/dist/chunk-L2RYQWZZ.js.map +0 -1
  301. package/dist/chunk-MP4OTUFA.js +0 -318
  302. package/dist/chunk-MP4OTUFA.js.map +0 -1
  303. package/dist/chunk-NJZS7RIH.js +0 -604
  304. package/dist/chunk-NJZS7RIH.js.map +0 -1
  305. package/dist/chunk-SYG6ZE42.js.map +0 -1
  306. package/dist/chunk-YLN7VMYU.js +0 -275
  307. package/dist/chunk-YLN7VMYU.js.map +0 -1
@@ -0,0 +1,596 @@
1
+ import { tv } from './chunk-BMBIZLO4.js';
2
+ import { Icon } from './chunk-TDX22OWF.js';
3
+ import { cn } from './chunk-KZ4VFY2T.js';
4
+ import { forwardRef } from 'react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+ import { X, Check, TrendingUp, TrendingDown, Minus } from 'lucide-react';
7
+
8
+ // src/feedback/spinner/Spinner.variants.ts
9
+ var spinnerVariants = tv({
10
+ base: "inline-block animate-spin rounded-full border-current border-b-transparent",
11
+ variants: {
12
+ size: {
13
+ xs: "h-3 w-3 border",
14
+ sm: "h-4 w-4 border-2",
15
+ md: "h-5 w-5 border-2",
16
+ lg: "h-8 w-8 border-2",
17
+ xl: "h-12 w-12 border-[3px]"
18
+ },
19
+ tone: {
20
+ default: "text-muted-foreground",
21
+ brand: "text-primary",
22
+ muted: "text-border",
23
+ current: ""
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ size: "md",
28
+ tone: "default"
29
+ }
30
+ });
31
+ var Spinner = forwardRef(
32
+ ({ className, size, tone, label = "Loading", role = "status", ...props }, ref) => /* @__PURE__ */ jsxs("span", { ref, role, ...props, children: [
33
+ /* @__PURE__ */ jsx("span", { className: cn(spinnerVariants({ size, tone }), className) }),
34
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: label })
35
+ ] })
36
+ );
37
+ Spinner.displayName = "Spinner";
38
+
39
+ // src/feedback/skeleton/Skeleton.variants.ts
40
+ var skeletonVariants = tv({
41
+ base: "animate-pulse bg-muted",
42
+ variants: {
43
+ shape: {
44
+ rect: "rounded-md",
45
+ text: "h-4 rounded-sm",
46
+ circle: "rounded-full"
47
+ }
48
+ },
49
+ defaultVariants: {
50
+ shape: "rect"
51
+ }
52
+ });
53
+ var Skeleton = forwardRef(
54
+ ({ className, shape, ...props }, ref) => /* @__PURE__ */ jsx(
55
+ "div",
56
+ {
57
+ ref,
58
+ "aria-hidden": "true",
59
+ className: cn(skeletonVariants({ shape }), className),
60
+ ...props
61
+ }
62
+ )
63
+ );
64
+ Skeleton.displayName = "Skeleton";
65
+
66
+ // src/feedback/progressBar/ProgressBar.variants.ts
67
+ var progressTrackVariants = tv({
68
+ base: "h-2 w-full overflow-hidden rounded-full bg-muted",
69
+ variants: {
70
+ size: {
71
+ sm: "h-1",
72
+ md: "h-2",
73
+ lg: "h-3"
74
+ }
75
+ },
76
+ defaultVariants: {
77
+ size: "md"
78
+ }
79
+ });
80
+ var progressFillVariants = tv({
81
+ base: "h-full rounded-full transition-[width] duration-300",
82
+ variants: {
83
+ tone: {
84
+ brand: "bg-primary",
85
+ success: "bg-success",
86
+ warning: "bg-warning",
87
+ danger: "bg-destructive",
88
+ neutral: "bg-muted-foreground"
89
+ }
90
+ },
91
+ defaultVariants: {
92
+ tone: "brand"
93
+ }
94
+ });
95
+ var ProgressBar = forwardRef(
96
+ ({ value, max = 100, size, tone, label, className, ...props }, ref) => {
97
+ const determinate = typeof value === "number";
98
+ const pct = determinate ? Math.min(100, Math.max(0, value / max * 100)) : void 0;
99
+ return /* @__PURE__ */ jsx(
100
+ "div",
101
+ {
102
+ ref,
103
+ role: "progressbar",
104
+ "aria-label": label,
105
+ "aria-valuemin": 0,
106
+ "aria-valuemax": max,
107
+ "aria-valuenow": determinate ? value : void 0,
108
+ className: cn(progressTrackVariants({ size }), className),
109
+ ...props,
110
+ children: /* @__PURE__ */ jsx(
111
+ "div",
112
+ {
113
+ className: cn(
114
+ progressFillVariants({ tone }),
115
+ !determinate && "w-1/3 animate-[indeterminate_1.4s_ease-in-out_infinite]"
116
+ ),
117
+ style: determinate ? { width: `${pct}%` } : void 0
118
+ }
119
+ )
120
+ }
121
+ );
122
+ }
123
+ );
124
+ ProgressBar.displayName = "ProgressBar";
125
+ var TONE_CLASS = {
126
+ brand: "text-primary",
127
+ success: "text-success",
128
+ warning: "text-warning",
129
+ danger: "text-destructive",
130
+ neutral: "text-muted-foreground"
131
+ };
132
+ var ProgressCircle = forwardRef(
133
+ ({ value, max = 100, size = 40, thickness = 4, tone = "brand", label, className, ...props }, ref) => {
134
+ const determinate = typeof value === "number";
135
+ const radius = (size - thickness) / 2;
136
+ const circumference = 2 * Math.PI * radius;
137
+ const pct = determinate ? Math.min(100, Math.max(0, value / max * 100)) : 25;
138
+ const offset = circumference - pct / 100 * circumference;
139
+ return /* @__PURE__ */ jsx(
140
+ "div",
141
+ {
142
+ ref,
143
+ role: "progressbar",
144
+ "aria-label": label,
145
+ "aria-valuemin": 0,
146
+ "aria-valuemax": max,
147
+ "aria-valuenow": determinate ? value : void 0,
148
+ className: cn("inline-block", !determinate && "animate-spin", TONE_CLASS[tone], className),
149
+ style: { width: size, height: size },
150
+ ...props,
151
+ children: /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, children: [
152
+ /* @__PURE__ */ jsx(
153
+ "circle",
154
+ {
155
+ cx: size / 2,
156
+ cy: size / 2,
157
+ r: radius,
158
+ stroke: "currentColor",
159
+ strokeWidth: thickness,
160
+ fill: "none",
161
+ opacity: 0.2
162
+ }
163
+ ),
164
+ /* @__PURE__ */ jsx(
165
+ "circle",
166
+ {
167
+ cx: size / 2,
168
+ cy: size / 2,
169
+ r: radius,
170
+ stroke: "currentColor",
171
+ strokeWidth: thickness,
172
+ strokeLinecap: "round",
173
+ fill: "none",
174
+ strokeDasharray: circumference,
175
+ strokeDashoffset: offset,
176
+ transform: `rotate(-90 ${size / 2} ${size / 2})`,
177
+ style: { transition: "stroke-dashoffset 300ms ease" }
178
+ }
179
+ )
180
+ ] })
181
+ }
182
+ );
183
+ }
184
+ );
185
+ ProgressCircle.displayName = "ProgressCircle";
186
+
187
+ // src/feedback/alertSimple/AlertSimple.variants.ts
188
+ var alertSimpleVariants = tv({
189
+ base: "rounded-md border px-4 py-3 text-sm",
190
+ variants: {
191
+ severity: {
192
+ info: "border-info-soft bg-info-soft text-info-soft-foreground",
193
+ success: "border-success-soft bg-success-soft text-success-soft-foreground",
194
+ warning: "border-warning-soft bg-warning-soft text-warning-soft-foreground",
195
+ danger: "border-destructive-soft bg-destructive-soft text-destructive-soft-foreground",
196
+ neutral: "border-border bg-muted text-foreground"
197
+ }
198
+ },
199
+ defaultVariants: {
200
+ severity: "info"
201
+ }
202
+ });
203
+ var AlertSimple = forwardRef(
204
+ ({ className, severity, role = "status", ...props }, ref) => /* @__PURE__ */ jsx(
205
+ "div",
206
+ {
207
+ ref,
208
+ role,
209
+ className: cn(alertSimpleVariants({ severity }), className),
210
+ ...props
211
+ }
212
+ )
213
+ );
214
+ AlertSimple.displayName = "AlertSimple";
215
+
216
+ // src/feedback/bannerSimple/BannerSimple.variants.ts
217
+ var bannerSimpleVariants = tv({
218
+ base: "w-full px-6 py-3 text-sm",
219
+ variants: {
220
+ severity: {
221
+ info: "bg-info text-info-foreground",
222
+ success: "bg-success text-success-foreground",
223
+ warning: "bg-warning text-warning-foreground",
224
+ danger: "bg-destructive text-destructive-foreground",
225
+ neutral: "bg-inverse text-inverse-foreground"
226
+ }
227
+ },
228
+ defaultVariants: {
229
+ severity: "info"
230
+ }
231
+ });
232
+ var BannerSimple = forwardRef(
233
+ ({ className, severity, role = "status", ...props }, ref) => /* @__PURE__ */ jsx(
234
+ "div",
235
+ {
236
+ ref,
237
+ role,
238
+ className: cn(bannerSimpleVariants({ severity }), className),
239
+ ...props
240
+ }
241
+ )
242
+ );
243
+ BannerSimple.displayName = "BannerSimple";
244
+
245
+ // src/feedback/toastSimple/ToastSimple.variants.ts
246
+ var toastSimpleVariants = tv({
247
+ base: "pointer-events-auto rounded-md border bg-popover text-popover-foreground shadow-lg px-4 py-3 text-sm",
248
+ variants: {
249
+ severity: {
250
+ info: "border-info-soft",
251
+ success: "border-success-soft",
252
+ warning: "border-warning-soft",
253
+ danger: "border-destructive-soft",
254
+ neutral: "border-border"
255
+ }
256
+ },
257
+ defaultVariants: {
258
+ severity: "neutral"
259
+ }
260
+ });
261
+ var ToastSimple = forwardRef(
262
+ ({ className, severity, role = "status", ...props }, ref) => /* @__PURE__ */ jsx(
263
+ "div",
264
+ {
265
+ ref,
266
+ role,
267
+ "aria-live": "polite",
268
+ className: cn(toastSimpleVariants({ severity }), className),
269
+ ...props
270
+ }
271
+ )
272
+ );
273
+ ToastSimple.displayName = "ToastSimple";
274
+ var Alert = forwardRef(
275
+ ({ icon, title, description, actions, onClose, closeLabel = "Dismiss", severity, className, ...props }, ref) => /* @__PURE__ */ jsxs(
276
+ AlertSimple,
277
+ {
278
+ ref,
279
+ severity,
280
+ className: cn("flex items-start gap-3", className),
281
+ ...props,
282
+ children: [
283
+ icon && /* @__PURE__ */ jsx("span", { className: "mt-0.5 shrink-0", children: icon }),
284
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
285
+ title && /* @__PURE__ */ jsx("div", { className: "font-medium", children: title }),
286
+ description && /* @__PURE__ */ jsx("div", { className: cn("text-sm", title && "mt-0.5 opacity-90"), children: description }),
287
+ actions && /* @__PURE__ */ jsx("div", { className: "mt-2 flex flex-wrap items-center gap-2", children: actions })
288
+ ] }),
289
+ onClose && /* @__PURE__ */ jsx(
290
+ "button",
291
+ {
292
+ type: "button",
293
+ "aria-label": closeLabel,
294
+ onClick: onClose,
295
+ className: "-mr-1 grid h-6 w-6 shrink-0 place-items-center rounded text-current opacity-60 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-current",
296
+ children: /* @__PURE__ */ jsx(Icon, { icon: X, size: 14 })
297
+ }
298
+ )
299
+ ]
300
+ }
301
+ )
302
+ );
303
+ Alert.displayName = "Alert";
304
+ var Banner = forwardRef(
305
+ ({ icon, title, description, actions, onClose, closeLabel = "Dismiss", severity, className, ...props }, ref) => /* @__PURE__ */ jsxs(
306
+ BannerSimple,
307
+ {
308
+ ref,
309
+ severity,
310
+ className: cn("flex items-center gap-4", className),
311
+ ...props,
312
+ children: [
313
+ icon && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: icon }),
314
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-baseline gap-3", children: [
315
+ title && /* @__PURE__ */ jsx("span", { className: "font-medium", children: title }),
316
+ description && /* @__PURE__ */ jsx("span", { className: "opacity-90", children: description })
317
+ ] }),
318
+ actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: actions }),
319
+ onClose && /* @__PURE__ */ jsx(
320
+ "button",
321
+ {
322
+ type: "button",
323
+ "aria-label": closeLabel,
324
+ onClick: onClose,
325
+ className: "-mr-2 grid h-7 w-7 shrink-0 place-items-center rounded text-current opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-current",
326
+ children: /* @__PURE__ */ jsx(Icon, { icon: X, size: 16 })
327
+ }
328
+ )
329
+ ]
330
+ }
331
+ )
332
+ );
333
+ Banner.displayName = "Banner";
334
+ var Toast = forwardRef(
335
+ ({ icon, title, description, actions, onClose, closeLabel = "Dismiss", severity, className, ...props }, ref) => /* @__PURE__ */ jsxs(
336
+ ToastSimple,
337
+ {
338
+ ref,
339
+ severity,
340
+ className: cn("flex items-start gap-3", className),
341
+ ...props,
342
+ children: [
343
+ icon && /* @__PURE__ */ jsx("span", { className: "mt-0.5 shrink-0", children: icon }),
344
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
345
+ title && /* @__PURE__ */ jsx("div", { className: "font-medium", children: title }),
346
+ description && /* @__PURE__ */ jsx("div", { className: cn("text-sm", title && "mt-0.5 text-muted-foreground"), children: description }),
347
+ actions && /* @__PURE__ */ jsx("div", { className: "mt-2 flex flex-wrap items-center gap-2", children: actions })
348
+ ] }),
349
+ onClose && /* @__PURE__ */ jsx(
350
+ "button",
351
+ {
352
+ type: "button",
353
+ "aria-label": closeLabel,
354
+ onClick: onClose,
355
+ className: "-mr-1 grid h-6 w-6 shrink-0 place-items-center rounded text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
356
+ children: /* @__PURE__ */ jsx(Icon, { icon: X, size: 14 })
357
+ }
358
+ )
359
+ ]
360
+ }
361
+ )
362
+ );
363
+ Toast.displayName = "Toast";
364
+ var SEVERITY = {
365
+ info: "border-l-info text-foreground",
366
+ success: "border-l-success text-foreground",
367
+ warning: "border-l-warning text-foreground",
368
+ danger: "border-l-destructive text-foreground",
369
+ neutral: "border-l-border text-foreground"
370
+ };
371
+ var Callout = forwardRef(
372
+ ({ severity = "info", icon, title, children, className, ...props }, ref) => /* @__PURE__ */ jsxs(
373
+ "div",
374
+ {
375
+ ref,
376
+ className: cn(
377
+ "flex items-start gap-3 rounded-md border-l-4 bg-card px-4 py-3 text-sm",
378
+ SEVERITY[severity],
379
+ className
380
+ ),
381
+ ...props,
382
+ children: [
383
+ icon && /* @__PURE__ */ jsx("span", { className: "mt-0.5 shrink-0", children: icon }),
384
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
385
+ title && /* @__PURE__ */ jsx("div", { className: "mb-0.5 font-medium", children: title }),
386
+ children
387
+ ] })
388
+ ]
389
+ }
390
+ )
391
+ );
392
+ Callout.displayName = "Callout";
393
+ var InlineSpinner = forwardRef(
394
+ ({ children = "Loading\u2026", size = "sm", tone = "default", className, ...props }, ref) => /* @__PURE__ */ jsxs(
395
+ "span",
396
+ {
397
+ ref,
398
+ className: cn("inline-flex items-center gap-2 text-sm text-muted-foreground", className),
399
+ ...props,
400
+ children: [
401
+ /* @__PURE__ */ jsx(Spinner, { size, tone }),
402
+ children
403
+ ]
404
+ }
405
+ )
406
+ );
407
+ InlineSpinner.displayName = "InlineSpinner";
408
+ var LoadingState = forwardRef(
409
+ ({ title = "Loading\u2026", description, size = "lg", className, ...props }, ref) => /* @__PURE__ */ jsxs(
410
+ "div",
411
+ {
412
+ ref,
413
+ role: "status",
414
+ className: cn("flex flex-col items-center justify-center gap-3 py-12 text-center", className),
415
+ ...props,
416
+ children: [
417
+ /* @__PURE__ */ jsx(Spinner, { size, tone: "brand" }),
418
+ title && /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-foreground", children: title }),
419
+ description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: description })
420
+ ]
421
+ }
422
+ )
423
+ );
424
+ LoadingState.displayName = "LoadingState";
425
+ var ProgressSteps = forwardRef(
426
+ ({ steps, current, orientation = "horizontal", className, ...props }, ref) => /* @__PURE__ */ jsx(
427
+ "ol",
428
+ {
429
+ ref,
430
+ className: cn(
431
+ "flex",
432
+ orientation === "horizontal" ? "flex-row items-center gap-2" : "flex-col gap-3",
433
+ className
434
+ ),
435
+ ...props,
436
+ children: steps.map((label, i) => {
437
+ const status = i < current ? "complete" : i === current ? "current" : "upcoming";
438
+ return /* @__PURE__ */ jsxs(
439
+ "li",
440
+ {
441
+ className: cn(
442
+ "flex items-center gap-2",
443
+ orientation === "horizontal" && i < steps.length - 1 && "flex-1"
444
+ ),
445
+ children: [
446
+ /* @__PURE__ */ jsx(
447
+ "span",
448
+ {
449
+ className: cn(
450
+ "grid h-7 w-7 place-items-center rounded-full text-xs font-medium",
451
+ status === "complete" && "bg-primary text-primary-foreground",
452
+ status === "current" && "border-2 border-primary text-primary",
453
+ status === "upcoming" && "border border-border text-muted-foreground"
454
+ ),
455
+ "aria-current": status === "current" ? "step" : void 0,
456
+ children: status === "complete" ? /* @__PURE__ */ jsx(Icon, { icon: Check, size: 14 }) : i + 1
457
+ }
458
+ ),
459
+ /* @__PURE__ */ jsx(
460
+ "span",
461
+ {
462
+ className: cn(
463
+ "text-sm",
464
+ status === "upcoming" ? "text-muted-foreground" : "text-foreground"
465
+ ),
466
+ children: label
467
+ }
468
+ ),
469
+ orientation === "horizontal" && i < steps.length - 1 && /* @__PURE__ */ jsx(
470
+ "span",
471
+ {
472
+ className: cn(
473
+ "h-px flex-1",
474
+ i < current ? "bg-primary" : "bg-border"
475
+ ),
476
+ "aria-hidden": "true"
477
+ }
478
+ )
479
+ ]
480
+ },
481
+ i
482
+ );
483
+ })
484
+ }
485
+ )
486
+ );
487
+ ProgressSteps.displayName = "ProgressSteps";
488
+ var TONE = {
489
+ success: "bg-success",
490
+ warning: "bg-warning",
491
+ destructive: "bg-destructive",
492
+ info: "bg-info",
493
+ neutral: "bg-muted-foreground"
494
+ };
495
+ var StatusIndicator = forwardRef(
496
+ ({ tone = "success", label, description, pulse, className, ...props }, ref) => /* @__PURE__ */ jsxs(
497
+ "div",
498
+ {
499
+ ref,
500
+ className: cn("flex items-start gap-3", className),
501
+ ...props,
502
+ children: [
503
+ /* @__PURE__ */ jsxs("span", { className: "relative mt-1 inline-flex", children: [
504
+ /* @__PURE__ */ jsx("span", { className: cn("inline-block h-2.5 w-2.5 rounded-full", TONE[tone]) }),
505
+ pulse && /* @__PURE__ */ jsx(
506
+ "span",
507
+ {
508
+ className: cn(
509
+ "absolute inset-0 inline-block rounded-full opacity-75 animate-ping",
510
+ TONE[tone]
511
+ )
512
+ }
513
+ )
514
+ ] }),
515
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
516
+ /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-foreground", children: label }),
517
+ description && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: description })
518
+ ] })
519
+ ]
520
+ }
521
+ )
522
+ );
523
+ StatusIndicator.displayName = "StatusIndicator";
524
+ var SIZE = {
525
+ sm: "h-1",
526
+ md: "h-2",
527
+ lg: "h-3"
528
+ };
529
+ var MeterBar = forwardRef(
530
+ ({ value, max = 100, thresholds, size = "md", label, className, ...props }, ref) => {
531
+ const [good, warn] = thresholds ?? [max * 0.7, max * 0.9];
532
+ const tone = value <= good ? "bg-success" : value <= warn ? "bg-warning" : "bg-destructive";
533
+ const pct = Math.min(100, Math.max(0, value / max * 100));
534
+ return /* @__PURE__ */ jsx(
535
+ "div",
536
+ {
537
+ ref,
538
+ role: "meter",
539
+ "aria-label": label,
540
+ "aria-valuemin": 0,
541
+ "aria-valuemax": max,
542
+ "aria-valuenow": value,
543
+ className: cn("w-full overflow-hidden rounded-full bg-muted", SIZE[size], className),
544
+ ...props,
545
+ children: /* @__PURE__ */ jsx(
546
+ "div",
547
+ {
548
+ className: cn("h-full rounded-full transition-[width] duration-300", tone),
549
+ style: { width: `${pct}%` }
550
+ }
551
+ )
552
+ }
553
+ );
554
+ }
555
+ );
556
+ MeterBar.displayName = "MeterBar";
557
+ var SIZE_TEXT = {
558
+ xs: "text-xs",
559
+ sm: "text-sm",
560
+ md: "text-base"
561
+ };
562
+ var SIZE_ICON = {
563
+ xs: 12,
564
+ sm: 14,
565
+ md: 16
566
+ };
567
+ var TrendIndicator = forwardRef(
568
+ ({ value, format, inverse, label, size = "sm", className, ...props }, ref) => {
569
+ const direction = value > 0 ? "up" : value < 0 ? "down" : "flat";
570
+ const positive = direction === "flat" ? false : direction === "up" !== Boolean(inverse);
571
+ const tone = direction === "flat" ? "text-muted-foreground" : positive ? "text-success" : "text-destructive";
572
+ const arrow = direction === "up" ? TrendingUp : direction === "down" ? TrendingDown : Minus;
573
+ const display = format ? format(value) : `${value > 0 ? "+" : ""}${value}%`;
574
+ return /* @__PURE__ */ jsxs(
575
+ "span",
576
+ {
577
+ ref,
578
+ className: cn("inline-flex items-center gap-1 font-medium", SIZE_TEXT[size], tone, className),
579
+ ...props,
580
+ children: [
581
+ /* @__PURE__ */ jsx(Icon, { icon: arrow, size: SIZE_ICON[size] }),
582
+ display,
583
+ label && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
584
+ " ",
585
+ label
586
+ ] })
587
+ ]
588
+ }
589
+ );
590
+ }
591
+ );
592
+ TrendIndicator.displayName = "TrendIndicator";
593
+
594
+ export { Alert, AlertSimple, Banner, BannerSimple, Callout, InlineSpinner, LoadingState, MeterBar, ProgressBar, ProgressCircle, ProgressSteps, Skeleton, Spinner, StatusIndicator, Toast, ToastSimple, TrendIndicator, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, spinnerVariants, toastSimpleVariants };
595
+ //# sourceMappingURL=chunk-RIW2V3N4.js.map
596
+ //# sourceMappingURL=chunk-RIW2V3N4.js.map