@wow-two-beta/ui 0.0.71 → 0.0.73

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 (716) hide show
  1. package/dist/{chunk-VYFPLQPV.js → chunk-2L7KB7ZG.js} +4 -4
  2. package/dist/chunk-2L7KB7ZG.js.map +1 -0
  3. package/dist/{chunk-RNHY33US.js → chunk-2YBWJHVV.js} +5 -5
  4. package/dist/chunk-2YBWJHVV.js.map +1 -0
  5. package/dist/{chunk-ORYO55KN.js → chunk-5CZUTB7Q.js} +15 -15
  6. package/dist/chunk-5CZUTB7Q.js.map +1 -0
  7. package/dist/{chunk-QTHKG7MQ.js → chunk-5DRWPYQ2.js} +8 -8
  8. package/dist/chunk-5DRWPYQ2.js.map +1 -0
  9. package/dist/{chunk-D7ZFCHX5.js → chunk-6WPRGGCJ.js} +4 -4
  10. package/dist/chunk-6WPRGGCJ.js.map +1 -0
  11. package/dist/{chunk-XOUAFZ2E.js → chunk-AXSWZXPJ.js} +11 -11
  12. package/dist/chunk-AXSWZXPJ.js.map +1 -0
  13. package/dist/{chunk-VTRPW2QQ.js → chunk-BFQX2J5L.js} +14 -14
  14. package/dist/chunk-BFQX2J5L.js.map +1 -0
  15. package/dist/{chunk-UFTKE5U7.js → chunk-DRUWR4VC.js} +15 -15
  16. package/dist/chunk-DRUWR4VC.js.map +1 -0
  17. package/dist/{chunk-KD6MJOL5.js → chunk-DVN7XGVN.js} +16 -16
  18. package/dist/chunk-DVN7XGVN.js.map +1 -0
  19. package/dist/{chunk-LS4EGKUK.js → chunk-EI7EKA2V.js} +12 -12
  20. package/dist/chunk-EI7EKA2V.js.map +1 -0
  21. package/dist/{chunk-XFUD3RZK.js → chunk-FSKL2DAK.js} +10 -10
  22. package/dist/chunk-FSKL2DAK.js.map +1 -0
  23. package/dist/{chunk-OZBLEOLZ.js → chunk-GCBZ6FF7.js} +4 -4
  24. package/dist/chunk-GCBZ6FF7.js.map +1 -0
  25. package/dist/{chunk-GPMNI5MG.js → chunk-JU5KT24H.js} +6 -6
  26. package/dist/chunk-JU5KT24H.js.map +1 -0
  27. package/dist/{chunk-B4X7XXSM.js → chunk-NY7OZGNY.js} +5 -5
  28. package/dist/chunk-NY7OZGNY.js.map +1 -0
  29. package/dist/{chunk-D4ZT36AZ.js → chunk-PCRID2JL.js} +2 -2
  30. package/dist/chunk-PCRID2JL.js.map +1 -0
  31. package/dist/{chunk-KZLEHWAJ.js → chunk-PNHIAN3U.js} +5 -5
  32. package/dist/chunk-PNHIAN3U.js.map +1 -0
  33. package/dist/{chunk-3FJ7WWRB.js → chunk-Q3HSAOWW.js} +15 -14
  34. package/dist/chunk-Q3HSAOWW.js.map +1 -0
  35. package/dist/{chunk-X5JSX4PU.js → chunk-QVY7SIMR.js} +8 -8
  36. package/dist/chunk-QVY7SIMR.js.map +1 -0
  37. package/dist/{chunk-F4HGQMUI.js → chunk-SVSFK6TB.js} +2 -2
  38. package/dist/chunk-SVSFK6TB.js.map +1 -0
  39. package/dist/{chunk-XSW3NZDD.js → chunk-TOB23IBK.js} +18 -18
  40. package/dist/chunk-TOB23IBK.js.map +1 -0
  41. package/dist/{chunk-UMRRFZ4R.js → chunk-XU4ZOEMV.js} +4 -4
  42. package/dist/chunk-XU4ZOEMV.js.map +1 -0
  43. package/dist/{chunk-WKVWOAQV.js → chunk-Y423OHFD.js} +3 -3
  44. package/dist/chunk-Y423OHFD.js.map +1 -0
  45. package/dist/chunk-Y572FCSC.js +43 -0
  46. package/dist/chunk-Y572FCSC.js.map +1 -0
  47. package/dist/{chunk-SIAFOCT4.js → chunk-ZOK62HJB.js} +6 -6
  48. package/dist/chunk-ZOK62HJB.js.map +1 -0
  49. package/dist/domain/color/Gradient.d.ts +45 -0
  50. package/dist/domain/color/GradientType.d.ts +8 -0
  51. package/dist/domain/color/index.d.ts +3 -0
  52. package/dist/domain/color/index.js +4 -0
  53. package/dist/{hooks → foundation/hooks}/index.js +3 -3
  54. package/dist/{http → foundation/http}/index.js +2 -2
  55. package/dist/foundation/http/index.js.map +1 -0
  56. package/dist/foundation/icons/index.js +6 -0
  57. package/dist/{primitives → foundation/primitives}/index.js +4 -4
  58. package/dist/{themes → foundation/themes}/index.js +2 -2
  59. package/dist/{utils → foundation/utils}/index.js +3 -3
  60. package/dist/index.d.ts +13 -12
  61. package/dist/index.js +24 -23
  62. package/dist/{actions → presentation/actions}/button/Button.d.ts +1 -1
  63. package/dist/{actions → presentation/actions}/button/Button.variants.d.ts +1 -1
  64. package/dist/{actions → presentation/actions}/fab/FAB.variants.d.ts +1 -1
  65. package/dist/presentation/actions/index.js +11 -0
  66. package/dist/{actions → presentation/actions}/link/Link.variants.d.ts +1 -1
  67. package/dist/{actions → presentation/actions}/toggleButton/ToggleButton.d.ts +1 -1
  68. package/dist/{actions → presentation/actions}/toggleButton/ToggleButton.variants.d.ts +1 -1
  69. package/dist/presentation/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +51 -0
  70. package/dist/{display → presentation/display}/avatar/Avatar.d.ts +1 -1
  71. package/dist/{display → presentation/display}/avatar/Avatar.variants.d.ts +1 -1
  72. package/dist/{display → presentation/display}/badge/Badge.variants.d.ts +1 -1
  73. package/dist/{display → presentation/display}/card/Card.d.ts +1 -1
  74. package/dist/{display → presentation/display}/code/Code.variants.d.ts +1 -1
  75. package/dist/{display → presentation/display}/heading/Heading.variants.d.ts +1 -1
  76. package/dist/{display → presentation/display}/index.js +11 -11
  77. package/dist/{display → presentation/display}/list/List.variants.d.ts +1 -1
  78. package/dist/{display → presentation/display}/tag/Tag.variants.d.ts +1 -1
  79. package/dist/{display → presentation/display}/text/Text.variants.d.ts +1 -1
  80. package/dist/{display → presentation/display}/tooltip/Tooltip.d.ts +1 -1
  81. package/dist/{feedback → presentation/feedback}/alertSimple/AlertSimple.variants.d.ts +1 -1
  82. package/dist/{feedback → presentation/feedback}/bannerSimple/BannerSimple.variants.d.ts +1 -1
  83. package/dist/{feedback → presentation/feedback}/index.js +10 -10
  84. package/dist/{feedback → presentation/feedback}/progressBar/ProgressBar.variants.d.ts +1 -1
  85. package/dist/{feedback → presentation/feedback}/skeleton/Skeleton.variants.d.ts +1 -1
  86. package/dist/{feedback → presentation/feedback}/spinner/Spinner.variants.d.ts +1 -1
  87. package/dist/{feedback → presentation/feedback}/toastSimple/ToastSimple.variants.d.ts +1 -1
  88. package/dist/{forms → presentation/forms}/InputStyles.d.ts +1 -1
  89. package/dist/{forms → presentation/forms}/checkbox/Checkbox.d.ts +1 -1
  90. package/dist/{forms → presentation/forms}/checkbox/Checkbox.variants.d.ts +1 -1
  91. package/dist/{forms → presentation/forms}/colorSwatch/ColorSwatch.variants.d.ts +1 -1
  92. package/dist/{forms → presentation/forms}/combobox/Combobox.d.ts +2 -2
  93. package/dist/{forms → presentation/forms}/index.js +15 -15
  94. package/dist/{forms → presentation/forms}/listbox/Listbox.d.ts +1 -1
  95. package/dist/{forms → presentation/forms}/listbox/Listbox.variants.d.ts +1 -1
  96. package/dist/{forms → presentation/forms}/multiSelect/MultiSelect.d.ts +1 -1
  97. package/dist/{forms → presentation/forms}/select/Select.d.ts +1 -1
  98. package/dist/{forms → presentation/forms}/select/Select.variants.d.ts +1 -1
  99. package/dist/{layout → presentation/layout}/container/Container.variants.d.ts +1 -1
  100. package/dist/{layout → presentation/layout}/divider/Divider.variants.d.ts +1 -1
  101. package/dist/{layout → presentation/layout}/grid/Grid.variants.d.ts +1 -1
  102. package/dist/presentation/layout/index.js +14 -0
  103. package/dist/{layout → presentation/layout}/navbar/Navbar.d.ts +1 -1
  104. package/dist/{layout → presentation/layout}/navbar/Navbar.variants.d.ts +1 -1
  105. package/dist/{layout → presentation/layout}/overlay/Overlay.d.ts +1 -1
  106. package/dist/{layout → presentation/layout}/overlay/Overlay.variants.d.ts +1 -1
  107. package/dist/{layout → presentation/layout}/section/Section.d.ts +1 -1
  108. package/dist/{layout → presentation/layout}/section/Section.variants.d.ts +1 -1
  109. package/dist/{layout → presentation/layout}/stack/Stack.variants.d.ts +1 -1
  110. package/dist/{layout → presentation/layout}/surface/Surface.d.ts +1 -1
  111. package/dist/{nav → presentation/nav}/index.js +12 -12
  112. package/dist/{nav → presentation/nav}/menu/Menu.d.ts +2 -2
  113. package/dist/{nav → presentation/nav}/menu/Menu.variants.d.ts +1 -1
  114. package/dist/{nav → presentation/nav}/menubar/Menubar.variants.d.ts +1 -1
  115. package/dist/{overlays → presentation/overlays}/bottomSheet/BottomSheet.d.ts +1 -1
  116. package/dist/{overlays → presentation/overlays}/drawer/Drawer.d.ts +1 -1
  117. package/dist/{overlays → presentation/overlays}/hoverCard/HoverCard.d.ts +1 -1
  118. package/dist/{overlays → presentation/overlays}/index.js +11 -11
  119. package/dist/presentation/overlays/index.js.map +1 -0
  120. package/dist/{overlays → presentation/overlays}/modal/Modal.d.ts +1 -1
  121. package/dist/{overlays → presentation/overlays}/popover/Popover.d.ts +2 -2
  122. package/package.json +58 -53
  123. package/dist/actions/index.js +0 -11
  124. package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +0 -27
  125. package/dist/chunk-3FJ7WWRB.js.map +0 -1
  126. package/dist/chunk-B4X7XXSM.js.map +0 -1
  127. package/dist/chunk-D4ZT36AZ.js.map +0 -1
  128. package/dist/chunk-D7ZFCHX5.js.map +0 -1
  129. package/dist/chunk-F4HGQMUI.js.map +0 -1
  130. package/dist/chunk-GPMNI5MG.js.map +0 -1
  131. package/dist/chunk-KD6MJOL5.js.map +0 -1
  132. package/dist/chunk-KZLEHWAJ.js.map +0 -1
  133. package/dist/chunk-LS4EGKUK.js.map +0 -1
  134. package/dist/chunk-ORYO55KN.js.map +0 -1
  135. package/dist/chunk-OZBLEOLZ.js.map +0 -1
  136. package/dist/chunk-QTHKG7MQ.js.map +0 -1
  137. package/dist/chunk-RNHY33US.js.map +0 -1
  138. package/dist/chunk-SIAFOCT4.js.map +0 -1
  139. package/dist/chunk-UFTKE5U7.js.map +0 -1
  140. package/dist/chunk-UMRRFZ4R.js.map +0 -1
  141. package/dist/chunk-VTRPW2QQ.js.map +0 -1
  142. package/dist/chunk-VYFPLQPV.js.map +0 -1
  143. package/dist/chunk-WKVWOAQV.js.map +0 -1
  144. package/dist/chunk-X5JSX4PU.js.map +0 -1
  145. package/dist/chunk-XFUD3RZK.js.map +0 -1
  146. package/dist/chunk-XOUAFZ2E.js.map +0 -1
  147. package/dist/chunk-XSW3NZDD.js.map +0 -1
  148. package/dist/http/index.js.map +0 -1
  149. package/dist/icons/index.js +0 -6
  150. package/dist/layout/index.js +0 -14
  151. /package/dist/{actions → domain/color}/index.js.map +0 -0
  152. /package/dist/{hooks → foundation/hooks}/index.d.ts +0 -0
  153. /package/dist/{display → foundation/hooks}/index.js.map +0 -0
  154. /package/dist/{hooks → foundation/hooks}/useClipboard/index.d.ts +0 -0
  155. /package/dist/{hooks → foundation/hooks}/useClipboard/useClipboard.d.ts +0 -0
  156. /package/dist/{hooks → foundation/hooks}/useControlled/index.d.ts +0 -0
  157. /package/dist/{hooks → foundation/hooks}/useControlled/useControlled.d.ts +0 -0
  158. /package/dist/{hooks → foundation/hooks}/useDebounceHandler/index.d.ts +0 -0
  159. /package/dist/{hooks → foundation/hooks}/useDebounceHandler/useDebounceHandler.d.ts +0 -0
  160. /package/dist/{hooks → foundation/hooks}/useDisclosure/index.d.ts +0 -0
  161. /package/dist/{hooks → foundation/hooks}/useDisclosure/useDisclosure.d.ts +0 -0
  162. /package/dist/{hooks → foundation/hooks}/useEscape/index.d.ts +0 -0
  163. /package/dist/{hooks → foundation/hooks}/useEscape/useEscape.d.ts +0 -0
  164. /package/dist/{hooks → foundation/hooks}/useEventListener/index.d.ts +0 -0
  165. /package/dist/{hooks → foundation/hooks}/useEventListener/useEventListener.d.ts +0 -0
  166. /package/dist/{hooks → foundation/hooks}/useFocusTrap/index.d.ts +0 -0
  167. /package/dist/{hooks → foundation/hooks}/useFocusTrap/useFocusTrap.d.ts +0 -0
  168. /package/dist/{hooks → foundation/hooks}/useId/index.d.ts +0 -0
  169. /package/dist/{hooks → foundation/hooks}/useId/useId.d.ts +0 -0
  170. /package/dist/{hooks → foundation/hooks}/useMediaQuery/index.d.ts +0 -0
  171. /package/dist/{hooks → foundation/hooks}/useMediaQuery/useMediaQuery.d.ts +0 -0
  172. /package/dist/{hooks → foundation/hooks}/useOutsideClick/index.d.ts +0 -0
  173. /package/dist/{hooks → foundation/hooks}/useOutsideClick/useOutsideClick.d.ts +0 -0
  174. /package/dist/{hooks → foundation/hooks}/useReducedMotion/index.d.ts +0 -0
  175. /package/dist/{hooks → foundation/hooks}/useReducedMotion/useReducedMotion.d.ts +0 -0
  176. /package/dist/{hooks → foundation/hooks}/useResizeObserver/index.d.ts +0 -0
  177. /package/dist/{hooks → foundation/hooks}/useResizeObserver/useResizeObserver.d.ts +0 -0
  178. /package/dist/{hooks → foundation/hooks}/useScrollLock/index.d.ts +0 -0
  179. /package/dist/{hooks → foundation/hooks}/useScrollLock/useScrollLock.d.ts +0 -0
  180. /package/dist/{hooks → foundation/hooks}/useTypeahead/index.d.ts +0 -0
  181. /package/dist/{hooks → foundation/hooks}/useTypeahead/useTypeahead.d.ts +0 -0
  182. /package/dist/{http → foundation/http}/ApiError.d.ts +0 -0
  183. /package/dist/{http → foundation/http}/ApiResponse.d.ts +0 -0
  184. /package/dist/{http → foundation/http}/DateBrands.d.ts +0 -0
  185. /package/dist/{http → foundation/http}/ProblemDetails.d.ts +0 -0
  186. /package/dist/{http → foundation/http}/index.d.ts +0 -0
  187. /package/dist/{http → foundation/http}/temporalReviver.d.ts +0 -0
  188. /package/dist/{icons → foundation/icons}/Icon.d.ts +0 -0
  189. /package/dist/{icons → foundation/icons}/Spinner.d.ts +0 -0
  190. /package/dist/{icons → foundation/icons}/index.d.ts +0 -0
  191. /package/dist/{feedback → foundation/icons}/index.js.map +0 -0
  192. /package/dist/{primitives → foundation/primitives}/accessibleIcon/AccessibleIcon.d.ts +0 -0
  193. /package/dist/{primitives → foundation/primitives}/accessibleIcon/index.d.ts +0 -0
  194. /package/dist/{primitives → foundation/primitives}/anchoredPositioner/AnchoredPositioner.d.ts +0 -0
  195. /package/dist/{primitives → foundation/primitives}/anchoredPositioner/index.d.ts +0 -0
  196. /package/dist/{primitives → foundation/primitives}/announce/Announce.d.ts +0 -0
  197. /package/dist/{primitives → foundation/primitives}/announce/index.d.ts +0 -0
  198. /package/dist/{primitives → foundation/primitives}/collection/Collection.d.ts +0 -0
  199. /package/dist/{primitives → foundation/primitives}/collection/index.d.ts +0 -0
  200. /package/dist/{primitives → foundation/primitives}/colorModeProvider/ColorModeProvider.d.ts +0 -0
  201. /package/dist/{primitives → foundation/primitives}/colorModeProvider/index.d.ts +0 -0
  202. /package/dist/{primitives → foundation/primitives}/directionProvider/DirectionProvider.d.ts +0 -0
  203. /package/dist/{primitives → foundation/primitives}/directionProvider/index.d.ts +0 -0
  204. /package/dist/{primitives → foundation/primitives}/dismissableLayer/DismissableLayer.d.ts +0 -0
  205. /package/dist/{primitives → foundation/primitives}/dismissableLayer/index.d.ts +0 -0
  206. /package/dist/{primitives → foundation/primitives}/focusScope/FocusScope.d.ts +0 -0
  207. /package/dist/{primitives → foundation/primitives}/focusScope/index.d.ts +0 -0
  208. /package/dist/{primitives → foundation/primitives}/formControlContext/FormControlContext.d.ts +0 -0
  209. /package/dist/{primitives → foundation/primitives}/formControlContext/index.d.ts +0 -0
  210. /package/dist/{primitives → foundation/primitives}/index.d.ts +0 -0
  211. /package/dist/{forms → foundation/primitives}/index.js.map +0 -0
  212. /package/dist/{primitives → foundation/primitives}/overlayArrow/OverlayArrow.d.ts +0 -0
  213. /package/dist/{primitives → foundation/primitives}/overlayArrow/index.d.ts +0 -0
  214. /package/dist/{primitives → foundation/primitives}/portal/Portal.d.ts +0 -0
  215. /package/dist/{primitives → foundation/primitives}/portal/index.d.ts +0 -0
  216. /package/dist/{primitives → foundation/primitives}/presence/Presence.d.ts +0 -0
  217. /package/dist/{primitives → foundation/primitives}/presence/index.d.ts +0 -0
  218. /package/dist/{primitives → foundation/primitives}/rovingFocusGroup/RovingFocusGroup.d.ts +0 -0
  219. /package/dist/{primitives → foundation/primitives}/rovingFocusGroup/index.d.ts +0 -0
  220. /package/dist/{primitives → foundation/primitives}/scrollLockProvider/ScrollLockProvider.d.ts +0 -0
  221. /package/dist/{primitives → foundation/primitives}/scrollLockProvider/index.d.ts +0 -0
  222. /package/dist/{primitives → foundation/primitives}/slot/Slot.d.ts +0 -0
  223. /package/dist/{primitives → foundation/primitives}/slot/index.d.ts +0 -0
  224. /package/dist/{primitives → foundation/primitives}/visuallyHidden/VisuallyHidden.d.ts +0 -0
  225. /package/dist/{primitives → foundation/primitives}/visuallyHidden/index.d.ts +0 -0
  226. /package/dist/{themes → foundation/themes}/Oklch.d.ts +0 -0
  227. /package/dist/{themes → foundation/themes}/Theme.d.ts +0 -0
  228. /package/dist/{themes → foundation/themes}/Tokens.d.ts +0 -0
  229. /package/dist/{themes → foundation/themes}/css.d.ts +0 -0
  230. /package/dist/{themes → foundation/themes}/generate.d.ts +0 -0
  231. /package/dist/{themes → foundation/themes}/index.d.ts +0 -0
  232. /package/dist/{hooks → foundation/themes}/index.js.map +0 -0
  233. /package/dist/{themes → foundation/themes}/pool.d.ts +0 -0
  234. /package/dist/{themes → foundation/themes}/registry.d.ts +0 -0
  235. /package/dist/{themes → foundation/themes}/validate.d.ts +0 -0
  236. /package/dist/{themes → foundation/themes}/validated.d.ts +0 -0
  237. /package/dist/{utils → foundation/utils}/ColorExtensions/ColorExtensions.d.ts +0 -0
  238. /package/dist/{utils → foundation/utils}/ColorExtensions/index.d.ts +0 -0
  239. /package/dist/{utils → foundation/utils}/CssExtensions/CssExtensions.d.ts +0 -0
  240. /package/dist/{utils → foundation/utils}/CssExtensions/index.d.ts +0 -0
  241. /package/dist/{utils → foundation/utils}/Environment/Environment.d.ts +0 -0
  242. /package/dist/{utils → foundation/utils}/Environment/index.d.ts +0 -0
  243. /package/dist/{utils → foundation/utils}/Equality/Equality.d.ts +0 -0
  244. /package/dist/{utils → foundation/utils}/Equality/index.d.ts +0 -0
  245. /package/dist/{utils → foundation/utils}/HtmlExtensions/HtmlExtensions.d.ts +0 -0
  246. /package/dist/{utils → foundation/utils}/HtmlExtensions/index.d.ts +0 -0
  247. /package/dist/{utils → foundation/utils}/KeyboardExtensions/KeyboardExtensions.d.ts +0 -0
  248. /package/dist/{utils → foundation/utils}/KeyboardExtensions/index.d.ts +0 -0
  249. /package/dist/{utils → foundation/utils}/Layers/Layers.d.ts +0 -0
  250. /package/dist/{utils → foundation/utils}/Layers/index.d.ts +0 -0
  251. /package/dist/{utils → foundation/utils}/OptionalExtensions/OptionalExtensions.d.ts +0 -0
  252. /package/dist/{utils → foundation/utils}/OptionalExtensions/index.d.ts +0 -0
  253. /package/dist/{utils → foundation/utils}/PressExtensions/PressExtensions.d.ts +0 -0
  254. /package/dist/{utils → foundation/utils}/PressExtensions/index.d.ts +0 -0
  255. /package/dist/{utils → foundation/utils}/StyleTokens/StyleTokens.d.ts +0 -0
  256. /package/dist/{utils → foundation/utils}/StyleTokens/index.d.ts +0 -0
  257. /package/dist/{utils → foundation/utils}/SurfaceStyles/SurfaceStyles.d.ts +0 -0
  258. /package/dist/{utils → foundation/utils}/SurfaceStyles/index.d.ts +0 -0
  259. /package/dist/{utils → foundation/utils}/Tones/Tones.d.ts +0 -0
  260. /package/dist/{utils → foundation/utils}/Tones/index.d.ts +0 -0
  261. /package/dist/{utils → foundation/utils}/TransitionExtensions/TransitionExtensions.d.ts +0 -0
  262. /package/dist/{utils → foundation/utils}/TransitionExtensions/index.d.ts +0 -0
  263. /package/dist/{utils → foundation/utils}/cn/cn.d.ts +0 -0
  264. /package/dist/{utils → foundation/utils}/cn/index.d.ts +0 -0
  265. /package/dist/{utils → foundation/utils}/composeEventHandlers/composeEventHandlers.d.ts +0 -0
  266. /package/dist/{utils → foundation/utils}/composeEventHandlers/index.d.ts +0 -0
  267. /package/dist/{utils → foundation/utils}/composeRefs/composeRefs.d.ts +0 -0
  268. /package/dist/{utils → foundation/utils}/composeRefs/index.d.ts +0 -0
  269. /package/dist/{utils → foundation/utils}/dataAttr/dataAttr.d.ts +0 -0
  270. /package/dist/{utils → foundation/utils}/dataAttr/index.d.ts +0 -0
  271. /package/dist/{utils → foundation/utils}/index.d.ts +0 -0
  272. /package/dist/{icons → foundation/utils}/index.js.map +0 -0
  273. /package/dist/{utils → foundation/utils}/polymorphic/index.d.ts +0 -0
  274. /package/dist/{utils → foundation/utils}/polymorphic/polymorphic.d.ts +0 -0
  275. /package/dist/{utils → foundation/utils}/tv/index.d.ts +0 -0
  276. /package/dist/{utils → foundation/utils}/tv/tv.d.ts +0 -0
  277. /package/dist/{actions → presentation/actions}/backToTopButton/BackToTopButton.d.ts +0 -0
  278. /package/dist/{actions → presentation/actions}/backToTopButton/index.d.ts +0 -0
  279. /package/dist/{actions → presentation/actions}/button/index.d.ts +0 -0
  280. /package/dist/{actions → presentation/actions}/buttonGroup/ButtonGroup.d.ts +0 -0
  281. /package/dist/{actions → presentation/actions}/buttonGroup/index.d.ts +0 -0
  282. /package/dist/{actions → presentation/actions}/copyButton/CopyButton.d.ts +0 -0
  283. /package/dist/{actions → presentation/actions}/copyButton/index.d.ts +0 -0
  284. /package/dist/{actions → presentation/actions}/disclosureButton/DisclosureButton.d.ts +0 -0
  285. /package/dist/{actions → presentation/actions}/disclosureButton/index.d.ts +0 -0
  286. /package/dist/{actions → presentation/actions}/fab/FAB.d.ts +0 -0
  287. /package/dist/{actions → presentation/actions}/fab/index.d.ts +0 -0
  288. /package/dist/{actions → presentation/actions}/index.d.ts +0 -0
  289. /package/dist/{layout → presentation/actions}/index.js.map +0 -0
  290. /package/dist/{actions → presentation/actions}/link/Link.d.ts +0 -0
  291. /package/dist/{actions → presentation/actions}/link/index.d.ts +0 -0
  292. /package/dist/{actions → presentation/actions}/segmentedControl/SegmentedControl.d.ts +0 -0
  293. /package/dist/{actions → presentation/actions}/segmentedControl/index.d.ts +0 -0
  294. /package/dist/{actions → presentation/actions}/speedDial/SpeedDial.d.ts +0 -0
  295. /package/dist/{actions → presentation/actions}/speedDial/index.d.ts +0 -0
  296. /package/dist/{actions → presentation/actions}/toggleButton/index.d.ts +0 -0
  297. /package/dist/{actions → presentation/actions}/toggleButtonGroup/index.d.ts +0 -0
  298. /package/dist/{actions → presentation/actions}/toolbar/Toolbar.d.ts +0 -0
  299. /package/dist/{actions → presentation/actions}/toolbar/index.d.ts +0 -0
  300. /package/dist/{display → presentation/display}/accordion/Accordion.d.ts +0 -0
  301. /package/dist/{display → presentation/display}/accordion/index.d.ts +0 -0
  302. /package/dist/{display → presentation/display}/activityFeed/ActivityFeed.d.ts +0 -0
  303. /package/dist/{display → presentation/display}/activityFeed/index.d.ts +0 -0
  304. /package/dist/{display → presentation/display}/animatedNumber/AnimatedNumber.d.ts +0 -0
  305. /package/dist/{display → presentation/display}/animatedNumber/index.d.ts +0 -0
  306. /package/dist/{display → presentation/display}/annotationMarker/AnnotationMarker.d.ts +0 -0
  307. /package/dist/{display → presentation/display}/annotationMarker/index.d.ts +0 -0
  308. /package/dist/{display → presentation/display}/audioPlayer/AudioPlayer.d.ts +0 -0
  309. /package/dist/{display → presentation/display}/audioPlayer/index.d.ts +0 -0
  310. /package/dist/{display → presentation/display}/audioWaveform/AudioWaveform.d.ts +0 -0
  311. /package/dist/{display → presentation/display}/audioWaveform/index.d.ts +0 -0
  312. /package/dist/{display → presentation/display}/avatar/index.d.ts +0 -0
  313. /package/dist/{display → presentation/display}/avatarGroup/AvatarGroup.d.ts +0 -0
  314. /package/dist/{display → presentation/display}/avatarGroup/index.d.ts +0 -0
  315. /package/dist/{display → presentation/display}/badge/Badge.d.ts +0 -0
  316. /package/dist/{display → presentation/display}/badge/index.d.ts +0 -0
  317. /package/dist/{display → presentation/display}/badgeOverlay/BadgeOverlay.d.ts +0 -0
  318. /package/dist/{display → presentation/display}/badgeOverlay/index.d.ts +0 -0
  319. /package/dist/{display → presentation/display}/card/index.d.ts +0 -0
  320. /package/dist/{display → presentation/display}/carousel/Carousel.d.ts +0 -0
  321. /package/dist/{display → presentation/display}/carousel/index.d.ts +0 -0
  322. /package/dist/{display → presentation/display}/chatBubble/ChatBubble.d.ts +0 -0
  323. /package/dist/{display → presentation/display}/chatBubble/index.d.ts +0 -0
  324. /package/dist/{display → presentation/display}/code/Code.d.ts +0 -0
  325. /package/dist/{display → presentation/display}/code/index.d.ts +0 -0
  326. /package/dist/{display → presentation/display}/collapsible/Collapsible.d.ts +0 -0
  327. /package/dist/{display → presentation/display}/collapsible/index.d.ts +0 -0
  328. /package/dist/{display → presentation/display}/commentThread/CommentThread.d.ts +0 -0
  329. /package/dist/{display → presentation/display}/commentThread/index.d.ts +0 -0
  330. /package/dist/{display → presentation/display}/confetti/Confetti.d.ts +0 -0
  331. /package/dist/{display → presentation/display}/confetti/index.d.ts +0 -0
  332. /package/dist/{display → presentation/display}/countBadge/CountBadge.d.ts +0 -0
  333. /package/dist/{display → presentation/display}/countBadge/index.d.ts +0 -0
  334. /package/dist/{display → presentation/display}/countUp/CountUp.d.ts +0 -0
  335. /package/dist/{display → presentation/display}/countUp/index.d.ts +0 -0
  336. /package/dist/{display → presentation/display}/dataGrid/DataGrid.d.ts +0 -0
  337. /package/dist/{display → presentation/display}/dataGrid/index.d.ts +0 -0
  338. /package/dist/{display → presentation/display}/dataTable/DataTable.d.ts +0 -0
  339. /package/dist/{display → presentation/display}/dataTable/index.d.ts +0 -0
  340. /package/dist/{display → presentation/display}/descriptionList/DescriptionList.d.ts +0 -0
  341. /package/dist/{display → presentation/display}/descriptionList/index.d.ts +0 -0
  342. /package/dist/{display → presentation/display}/diffViewer/DiffViewer.d.ts +0 -0
  343. /package/dist/{display → presentation/display}/diffViewer/index.d.ts +0 -0
  344. /package/dist/{display → presentation/display}/emptyState/EmptyState.d.ts +0 -0
  345. /package/dist/{display → presentation/display}/emptyState/index.d.ts +0 -0
  346. /package/dist/{display → presentation/display}/eventCalendar/EventCalendar.d.ts +0 -0
  347. /package/dist/{display → presentation/display}/eventCalendar/index.d.ts +0 -0
  348. /package/dist/{display → presentation/display}/eyebrow/Eyebrow.d.ts +0 -0
  349. /package/dist/{display → presentation/display}/eyebrow/index.d.ts +0 -0
  350. /package/dist/{display → presentation/display}/featureCard/FeatureCard.d.ts +0 -0
  351. /package/dist/{display → presentation/display}/featureCard/index.d.ts +0 -0
  352. /package/dist/{display → presentation/display}/gantt/Gantt.d.ts +0 -0
  353. /package/dist/{display → presentation/display}/gantt/index.d.ts +0 -0
  354. /package/dist/{display → presentation/display}/gradientText/GradientText.d.ts +0 -0
  355. /package/dist/{display → presentation/display}/gradientText/index.d.ts +0 -0
  356. /package/dist/{display → presentation/display}/heading/Heading.d.ts +0 -0
  357. /package/dist/{display → presentation/display}/heading/index.d.ts +0 -0
  358. /package/dist/{display → presentation/display}/heatmapCalendar/HeatmapCalendar.d.ts +0 -0
  359. /package/dist/{display → presentation/display}/heatmapCalendar/index.d.ts +0 -0
  360. /package/dist/{display → presentation/display}/highlight/Highlight.d.ts +0 -0
  361. /package/dist/{display → presentation/display}/highlight/index.d.ts +0 -0
  362. /package/dist/{display → presentation/display}/image/Image.d.ts +0 -0
  363. /package/dist/{display → presentation/display}/image/index.d.ts +0 -0
  364. /package/dist/{display → presentation/display}/index.d.ts +0 -0
  365. /package/dist/{nav → presentation/display}/index.js.map +0 -0
  366. /package/dist/{display → presentation/display}/infoRow/InfoRow.d.ts +0 -0
  367. /package/dist/{display → presentation/display}/infoRow/index.d.ts +0 -0
  368. /package/dist/{display → presentation/display}/kbd/Kbd.d.ts +0 -0
  369. /package/dist/{display → presentation/display}/kbd/index.d.ts +0 -0
  370. /package/dist/{display → presentation/display}/keyboardShortcut/KeyboardShortcut.d.ts +0 -0
  371. /package/dist/{display → presentation/display}/keyboardShortcut/index.d.ts +0 -0
  372. /package/dist/{display → presentation/display}/list/List.d.ts +0 -0
  373. /package/dist/{display → presentation/display}/list/index.d.ts +0 -0
  374. /package/dist/{display → presentation/display}/mark/Mark.d.ts +0 -0
  375. /package/dist/{display → presentation/display}/mark/index.d.ts +0 -0
  376. /package/dist/{display → presentation/display}/marquee/Marquee.d.ts +0 -0
  377. /package/dist/{display → presentation/display}/marquee/index.d.ts +0 -0
  378. /package/dist/{display → presentation/display}/messageList/MessageList.d.ts +0 -0
  379. /package/dist/{display → presentation/display}/messageList/index.d.ts +0 -0
  380. /package/dist/{display → presentation/display}/metaInline/MetaInline.d.ts +0 -0
  381. /package/dist/{display → presentation/display}/metaInline/index.d.ts +0 -0
  382. /package/dist/{display → presentation/display}/metricChip/MetricChip.d.ts +0 -0
  383. /package/dist/{display → presentation/display}/metricChip/index.d.ts +0 -0
  384. /package/dist/{display → presentation/display}/nodeEditor/NodeEditor.d.ts +0 -0
  385. /package/dist/{display → presentation/display}/nodeEditor/index.d.ts +0 -0
  386. /package/dist/{display → presentation/display}/notificationDot/NotificationDot.d.ts +0 -0
  387. /package/dist/{display → presentation/display}/notificationDot/index.d.ts +0 -0
  388. /package/dist/{display → presentation/display}/pdfViewer/PDFViewer.d.ts +0 -0
  389. /package/dist/{display → presentation/display}/pdfViewer/index.d.ts +0 -0
  390. /package/dist/{display → presentation/display}/pricingCard/PricingCard.d.ts +0 -0
  391. /package/dist/{display → presentation/display}/pricingCard/index.d.ts +0 -0
  392. /package/dist/{display → presentation/display}/quote/Quote.d.ts +0 -0
  393. /package/dist/{display → presentation/display}/quote/index.d.ts +0 -0
  394. /package/dist/{display → presentation/display}/reactionBar/ReactionBar.d.ts +0 -0
  395. /package/dist/{display → presentation/display}/reactionBar/index.d.ts +0 -0
  396. /package/dist/{display → presentation/display}/scheduleView/ScheduleView.d.ts +0 -0
  397. /package/dist/{display → presentation/display}/scheduleView/index.d.ts +0 -0
  398. /package/dist/{display → presentation/display}/scrollReveal/ScrollReveal.d.ts +0 -0
  399. /package/dist/{display → presentation/display}/scrollReveal/index.d.ts +0 -0
  400. /package/dist/{display → presentation/display}/sectionHeader/SectionHeader.d.ts +0 -0
  401. /package/dist/{display → presentation/display}/sectionHeader/index.d.ts +0 -0
  402. /package/dist/{display → presentation/display}/separator/Separator.d.ts +0 -0
  403. /package/dist/{display → presentation/display}/separator/index.d.ts +0 -0
  404. /package/dist/{display → presentation/display}/snippet/Snippet.d.ts +0 -0
  405. /package/dist/{display → presentation/display}/snippet/index.d.ts +0 -0
  406. /package/dist/{display → presentation/display}/sortable/Sortable.d.ts +0 -0
  407. /package/dist/{display → presentation/display}/sortable/index.d.ts +0 -0
  408. /package/dist/{display → presentation/display}/sparkline/Sparkline.d.ts +0 -0
  409. /package/dist/{display → presentation/display}/sparkline/index.d.ts +0 -0
  410. /package/dist/{display → presentation/display}/stat/Stat.d.ts +0 -0
  411. /package/dist/{display → presentation/display}/stat/index.d.ts +0 -0
  412. /package/dist/{display → presentation/display}/status/Status.d.ts +0 -0
  413. /package/dist/{display → presentation/display}/status/index.d.ts +0 -0
  414. /package/dist/{display → presentation/display}/stepCard/StepCard.d.ts +0 -0
  415. /package/dist/{display → presentation/display}/stepCard/index.d.ts +0 -0
  416. /package/dist/{display → presentation/display}/swipeActions/SwipeActions.d.ts +0 -0
  417. /package/dist/{display → presentation/display}/swipeActions/index.d.ts +0 -0
  418. /package/dist/{display → presentation/display}/table/Table.d.ts +0 -0
  419. /package/dist/{display → presentation/display}/table/index.d.ts +0 -0
  420. /package/dist/{display → presentation/display}/tabs/Tabs.d.ts +0 -0
  421. /package/dist/{display → presentation/display}/tabs/index.d.ts +0 -0
  422. /package/dist/{display → presentation/display}/tag/Tag.d.ts +0 -0
  423. /package/dist/{display → presentation/display}/tag/index.d.ts +0 -0
  424. /package/dist/{display → presentation/display}/text/Text.d.ts +0 -0
  425. /package/dist/{display → presentation/display}/text/index.d.ts +0 -0
  426. /package/dist/{display → presentation/display}/threadView/ThreadView.d.ts +0 -0
  427. /package/dist/{display → presentation/display}/threadView/index.d.ts +0 -0
  428. /package/dist/{display → presentation/display}/tilt/Tilt.d.ts +0 -0
  429. /package/dist/{display → presentation/display}/tilt/index.d.ts +0 -0
  430. /package/dist/{display → presentation/display}/timeline/Timeline.d.ts +0 -0
  431. /package/dist/{display → presentation/display}/timeline/index.d.ts +0 -0
  432. /package/dist/{display → presentation/display}/tooltip/index.d.ts +0 -0
  433. /package/dist/{display → presentation/display}/tree/Tree.d.ts +0 -0
  434. /package/dist/{display → presentation/display}/tree/index.d.ts +0 -0
  435. /package/dist/{display → presentation/display}/typewriter/Typewriter.d.ts +0 -0
  436. /package/dist/{display → presentation/display}/typewriter/index.d.ts +0 -0
  437. /package/dist/{display → presentation/display}/videoPlayer/VideoPlayer.d.ts +0 -0
  438. /package/dist/{display → presentation/display}/videoPlayer/index.d.ts +0 -0
  439. /package/dist/{feedback → presentation/feedback}/alert/Alert.d.ts +0 -0
  440. /package/dist/{feedback → presentation/feedback}/alert/index.d.ts +0 -0
  441. /package/dist/{feedback → presentation/feedback}/alertSimple/AlertSimple.d.ts +0 -0
  442. /package/dist/{feedback → presentation/feedback}/alertSimple/index.d.ts +0 -0
  443. /package/dist/{feedback → presentation/feedback}/banner/Banner.d.ts +0 -0
  444. /package/dist/{feedback → presentation/feedback}/banner/index.d.ts +0 -0
  445. /package/dist/{feedback → presentation/feedback}/bannerSimple/BannerSimple.d.ts +0 -0
  446. /package/dist/{feedback → presentation/feedback}/bannerSimple/index.d.ts +0 -0
  447. /package/dist/{feedback → presentation/feedback}/callout/Callout.d.ts +0 -0
  448. /package/dist/{feedback → presentation/feedback}/callout/index.d.ts +0 -0
  449. /package/dist/{feedback → presentation/feedback}/index.d.ts +0 -0
  450. /package/dist/{overlays → presentation/feedback}/index.js.map +0 -0
  451. /package/dist/{feedback → presentation/feedback}/inlineSpinner/InlineSpinner.d.ts +0 -0
  452. /package/dist/{feedback → presentation/feedback}/inlineSpinner/index.d.ts +0 -0
  453. /package/dist/{feedback → presentation/feedback}/liveCursor/LiveCursor.d.ts +0 -0
  454. /package/dist/{feedback → presentation/feedback}/liveCursor/index.d.ts +0 -0
  455. /package/dist/{feedback → presentation/feedback}/loadingOverlay/LoadingOverlay.d.ts +0 -0
  456. /package/dist/{feedback → presentation/feedback}/loadingOverlay/index.d.ts +0 -0
  457. /package/dist/{feedback → presentation/feedback}/loadingState/LoadingState.d.ts +0 -0
  458. /package/dist/{feedback → presentation/feedback}/loadingState/index.d.ts +0 -0
  459. /package/dist/{feedback → presentation/feedback}/meterBar/MeterBar.d.ts +0 -0
  460. /package/dist/{feedback → presentation/feedback}/meterBar/index.d.ts +0 -0
  461. /package/dist/{feedback → presentation/feedback}/notificationCenter/NotificationCenter.d.ts +0 -0
  462. /package/dist/{feedback → presentation/feedback}/notificationCenter/index.d.ts +0 -0
  463. /package/dist/{feedback → presentation/feedback}/onboardingChecklist/OnboardingChecklist.d.ts +0 -0
  464. /package/dist/{feedback → presentation/feedback}/onboardingChecklist/index.d.ts +0 -0
  465. /package/dist/{feedback → presentation/feedback}/presenceIndicator/PresenceIndicator.d.ts +0 -0
  466. /package/dist/{feedback → presentation/feedback}/presenceIndicator/index.d.ts +0 -0
  467. /package/dist/{feedback → presentation/feedback}/progressBar/ProgressBar.d.ts +0 -0
  468. /package/dist/{feedback → presentation/feedback}/progressBar/index.d.ts +0 -0
  469. /package/dist/{feedback → presentation/feedback}/progressCircle/ProgressCircle.d.ts +0 -0
  470. /package/dist/{feedback → presentation/feedback}/progressCircle/index.d.ts +0 -0
  471. /package/dist/{feedback → presentation/feedback}/progressSteps/ProgressSteps.d.ts +0 -0
  472. /package/dist/{feedback → presentation/feedback}/progressSteps/index.d.ts +0 -0
  473. /package/dist/{feedback → presentation/feedback}/skeleton/Skeleton.d.ts +0 -0
  474. /package/dist/{feedback → presentation/feedback}/skeleton/index.d.ts +0 -0
  475. /package/dist/{feedback → presentation/feedback}/spinner/Spinner.d.ts +0 -0
  476. /package/dist/{feedback → presentation/feedback}/spinner/index.d.ts +0 -0
  477. /package/dist/{feedback → presentation/feedback}/statusIndicator/StatusIndicator.d.ts +0 -0
  478. /package/dist/{feedback → presentation/feedback}/statusIndicator/index.d.ts +0 -0
  479. /package/dist/{feedback → presentation/feedback}/toast/Toast.d.ts +0 -0
  480. /package/dist/{feedback → presentation/feedback}/toast/index.d.ts +0 -0
  481. /package/dist/{feedback → presentation/feedback}/toastSimple/ToastSimple.d.ts +0 -0
  482. /package/dist/{feedback → presentation/feedback}/toastSimple/index.d.ts +0 -0
  483. /package/dist/{feedback → presentation/feedback}/toaster/Toaster.d.ts +0 -0
  484. /package/dist/{feedback → presentation/feedback}/toaster/index.d.ts +0 -0
  485. /package/dist/{feedback → presentation/feedback}/tour/Tour.d.ts +0 -0
  486. /package/dist/{feedback → presentation/feedback}/tour/index.d.ts +0 -0
  487. /package/dist/{feedback → presentation/feedback}/trendIndicator/TrendIndicator.d.ts +0 -0
  488. /package/dist/{feedback → presentation/feedback}/trendIndicator/index.d.ts +0 -0
  489. /package/dist/{feedback → presentation/feedback}/typingIndicator/TypingIndicator.d.ts +0 -0
  490. /package/dist/{feedback → presentation/feedback}/typingIndicator/index.d.ts +0 -0
  491. /package/dist/{feedback → presentation/feedback}/undoBar/UndoBar.d.ts +0 -0
  492. /package/dist/{feedback → presentation/feedback}/undoBar/index.d.ts +0 -0
  493. /package/dist/{forms → presentation/forms}/ColorExtensions.d.ts +0 -0
  494. /package/dist/{forms → presentation/forms}/DateExtensions.d.ts +0 -0
  495. /package/dist/{forms → presentation/forms}/MonthGrid.d.ts +0 -0
  496. /package/dist/{forms → presentation/forms}/addressForm/AddressForm.d.ts +0 -0
  497. /package/dist/{forms → presentation/forms}/addressForm/index.d.ts +0 -0
  498. /package/dist/{forms → presentation/forms}/calendar/Calendar.d.ts +0 -0
  499. /package/dist/{forms → presentation/forms}/calendar/index.d.ts +0 -0
  500. /package/dist/{forms → presentation/forms}/characterCount/CharacterCount.d.ts +0 -0
  501. /package/dist/{forms → presentation/forms}/characterCount/index.d.ts +0 -0
  502. /package/dist/{forms → presentation/forms}/chatComposer/ChatComposer.d.ts +0 -0
  503. /package/dist/{forms → presentation/forms}/chatComposer/index.d.ts +0 -0
  504. /package/dist/{forms → presentation/forms}/checkbox/index.d.ts +0 -0
  505. /package/dist/{forms → presentation/forms}/checkboxField/CheckboxField.d.ts +0 -0
  506. /package/dist/{forms → presentation/forms}/checkboxField/index.d.ts +0 -0
  507. /package/dist/{forms → presentation/forms}/checkboxGroup/CheckboxGroup.d.ts +0 -0
  508. /package/dist/{forms → presentation/forms}/checkboxGroup/index.d.ts +0 -0
  509. /package/dist/{forms → presentation/forms}/choiceCard/ChoiceCard.d.ts +0 -0
  510. /package/dist/{forms → presentation/forms}/choiceCard/index.d.ts +0 -0
  511. /package/dist/{forms → presentation/forms}/codeEditor/CodeEditor.d.ts +0 -0
  512. /package/dist/{forms → presentation/forms}/codeEditor/index.d.ts +0 -0
  513. /package/dist/{forms → presentation/forms}/colorArea/ColorArea.d.ts +0 -0
  514. /package/dist/{forms → presentation/forms}/colorArea/index.d.ts +0 -0
  515. /package/dist/{forms → presentation/forms}/colorField/ColorField.d.ts +0 -0
  516. /package/dist/{forms → presentation/forms}/colorField/index.d.ts +0 -0
  517. /package/dist/{forms → presentation/forms}/colorPicker/ColorPicker.d.ts +0 -0
  518. /package/dist/{forms → presentation/forms}/colorPicker/index.d.ts +0 -0
  519. /package/dist/{forms → presentation/forms}/colorSlider/ColorSlider.d.ts +0 -0
  520. /package/dist/{forms → presentation/forms}/colorSlider/index.d.ts +0 -0
  521. /package/dist/{forms → presentation/forms}/colorSwatch/ColorSwatch.d.ts +0 -0
  522. /package/dist/{forms → presentation/forms}/colorSwatch/index.d.ts +0 -0
  523. /package/dist/{forms → presentation/forms}/colorSwatchPicker/ColorSwatchPicker.d.ts +0 -0
  524. /package/dist/{forms → presentation/forms}/colorSwatchPicker/index.d.ts +0 -0
  525. /package/dist/{forms → presentation/forms}/colorWheel/ColorWheel.d.ts +0 -0
  526. /package/dist/{forms → presentation/forms}/colorWheel/index.d.ts +0 -0
  527. /package/dist/{forms → presentation/forms}/combobox/index.d.ts +0 -0
  528. /package/dist/{forms → presentation/forms}/cronInput/CronInput.d.ts +0 -0
  529. /package/dist/{forms → presentation/forms}/cronInput/index.d.ts +0 -0
  530. /package/dist/{forms → presentation/forms}/currencyInput/CurrencyInput.d.ts +0 -0
  531. /package/dist/{forms → presentation/forms}/currencyInput/index.d.ts +0 -0
  532. /package/dist/{forms → presentation/forms}/dateField/DateField.d.ts +0 -0
  533. /package/dist/{forms → presentation/forms}/dateField/index.d.ts +0 -0
  534. /package/dist/{forms → presentation/forms}/datePicker/DatePicker.d.ts +0 -0
  535. /package/dist/{forms → presentation/forms}/datePicker/index.d.ts +0 -0
  536. /package/dist/{forms → presentation/forms}/dateRangePicker/DateRangePicker.d.ts +0 -0
  537. /package/dist/{forms → presentation/forms}/dateRangePicker/index.d.ts +0 -0
  538. /package/dist/{forms → presentation/forms}/editable/Editable.d.ts +0 -0
  539. /package/dist/{forms → presentation/forms}/editable/index.d.ts +0 -0
  540. /package/dist/{forms → presentation/forms}/emailInput/EmailInput.d.ts +0 -0
  541. /package/dist/{forms → presentation/forms}/emailInput/index.d.ts +0 -0
  542. /package/dist/{forms → presentation/forms}/emojiPicker/EmojiPicker.d.ts +0 -0
  543. /package/dist/{forms → presentation/forms}/emojiPicker/index.d.ts +0 -0
  544. /package/dist/{forms → presentation/forms}/field/Field.d.ts +0 -0
  545. /package/dist/{forms → presentation/forms}/field/index.d.ts +0 -0
  546. /package/dist/{forms → presentation/forms}/fieldset/Fieldset.d.ts +0 -0
  547. /package/dist/{forms → presentation/forms}/fieldset/index.d.ts +0 -0
  548. /package/dist/{forms → presentation/forms}/filePicker/FilePicker.d.ts +0 -0
  549. /package/dist/{forms → presentation/forms}/filePicker/index.d.ts +0 -0
  550. /package/dist/{forms → presentation/forms}/fileUpload/FileUpload.d.ts +0 -0
  551. /package/dist/{forms → presentation/forms}/fileUpload/index.d.ts +0 -0
  552. /package/dist/{forms → presentation/forms}/fontPicker/FontPicker.d.ts +0 -0
  553. /package/dist/{forms → presentation/forms}/fontPicker/index.d.ts +0 -0
  554. /package/dist/{forms → presentation/forms}/formErrorMessage/FormErrorMessage.d.ts +0 -0
  555. /package/dist/{forms → presentation/forms}/formErrorMessage/index.d.ts +0 -0
  556. /package/dist/{forms → presentation/forms}/formHelperText/FormHelperText.d.ts +0 -0
  557. /package/dist/{forms → presentation/forms}/formHelperText/index.d.ts +0 -0
  558. /package/dist/{forms → presentation/forms}/gradientPicker/GradientPicker.d.ts +0 -0
  559. /package/dist/{forms → presentation/forms}/gradientPicker/index.d.ts +0 -0
  560. /package/dist/{forms → presentation/forms}/iconPicker/IconPicker.d.ts +0 -0
  561. /package/dist/{forms → presentation/forms}/iconPicker/index.d.ts +0 -0
  562. /package/dist/{forms → presentation/forms}/index.d.ts +0 -0
  563. /package/dist/{primitives → presentation/forms}/index.js.map +0 -0
  564. /package/dist/{forms → presentation/forms}/inputAddon/InputAddon.d.ts +0 -0
  565. /package/dist/{forms → presentation/forms}/inputAddon/index.d.ts +0 -0
  566. /package/dist/{forms → presentation/forms}/inputGroup/InputGroup.d.ts +0 -0
  567. /package/dist/{forms → presentation/forms}/inputGroup/index.d.ts +0 -0
  568. /package/dist/{forms → presentation/forms}/jsonEditor/JSONEditor.d.ts +0 -0
  569. /package/dist/{forms → presentation/forms}/jsonEditor/index.d.ts +0 -0
  570. /package/dist/{forms → presentation/forms}/keyboardShortcutPicker/KeyboardShortcutPicker.d.ts +0 -0
  571. /package/dist/{forms → presentation/forms}/keyboardShortcutPicker/index.d.ts +0 -0
  572. /package/dist/{forms → presentation/forms}/knob/Knob.d.ts +0 -0
  573. /package/dist/{forms → presentation/forms}/knob/index.d.ts +0 -0
  574. /package/dist/{forms → presentation/forms}/label/Label.d.ts +0 -0
  575. /package/dist/{forms → presentation/forms}/label/index.d.ts +0 -0
  576. /package/dist/{forms → presentation/forms}/labeledInput/LabeledInput.d.ts +0 -0
  577. /package/dist/{forms → presentation/forms}/labeledInput/index.d.ts +0 -0
  578. /package/dist/{forms → presentation/forms}/legend/Legend.d.ts +0 -0
  579. /package/dist/{forms → presentation/forms}/legend/index.d.ts +0 -0
  580. /package/dist/{forms → presentation/forms}/listbox/index.d.ts +0 -0
  581. /package/dist/{forms → presentation/forms}/markdownEditor/MarkdownEditor.d.ts +0 -0
  582. /package/dist/{forms → presentation/forms}/markdownEditor/index.d.ts +0 -0
  583. /package/dist/{forms → presentation/forms}/maskedInput/MaskedInput.d.ts +0 -0
  584. /package/dist/{forms → presentation/forms}/maskedInput/index.d.ts +0 -0
  585. /package/dist/{forms → presentation/forms}/multiSelect/index.d.ts +0 -0
  586. /package/dist/{forms → presentation/forms}/numberInput/NumberInput.d.ts +0 -0
  587. /package/dist/{forms → presentation/forms}/numberInput/index.d.ts +0 -0
  588. /package/dist/{forms → presentation/forms}/passwordInput/PasswordInput.d.ts +0 -0
  589. /package/dist/{forms → presentation/forms}/passwordInput/index.d.ts +0 -0
  590. /package/dist/{forms → presentation/forms}/passwordStrength/PasswordStrength.d.ts +0 -0
  591. /package/dist/{forms → presentation/forms}/passwordStrength/index.d.ts +0 -0
  592. /package/dist/{forms → presentation/forms}/percentInput/PercentInput.d.ts +0 -0
  593. /package/dist/{forms → presentation/forms}/percentInput/index.d.ts +0 -0
  594. /package/dist/{forms → presentation/forms}/phoneInput/PhoneInput.d.ts +0 -0
  595. /package/dist/{forms → presentation/forms}/phoneInput/index.d.ts +0 -0
  596. /package/dist/{forms → presentation/forms}/pinInput/PinInput.d.ts +0 -0
  597. /package/dist/{forms → presentation/forms}/pinInput/index.d.ts +0 -0
  598. /package/dist/{forms → presentation/forms}/radio/Radio.d.ts +0 -0
  599. /package/dist/{forms → presentation/forms}/radio/index.d.ts +0 -0
  600. /package/dist/{forms → presentation/forms}/radioField/RadioField.d.ts +0 -0
  601. /package/dist/{forms → presentation/forms}/radioField/index.d.ts +0 -0
  602. /package/dist/{forms → presentation/forms}/radioGroup/RadioGroup.d.ts +0 -0
  603. /package/dist/{forms → presentation/forms}/radioGroup/index.d.ts +0 -0
  604. /package/dist/{forms → presentation/forms}/rangeCalendar/RangeCalendar.d.ts +0 -0
  605. /package/dist/{forms → presentation/forms}/rangeCalendar/index.d.ts +0 -0
  606. /package/dist/{forms → presentation/forms}/reactionPicker/ReactionPicker.d.ts +0 -0
  607. /package/dist/{forms → presentation/forms}/reactionPicker/index.d.ts +0 -0
  608. /package/dist/{forms → presentation/forms}/recurrenceEditor/RecurrenceEditor.d.ts +0 -0
  609. /package/dist/{forms → presentation/forms}/recurrenceEditor/index.d.ts +0 -0
  610. /package/dist/{forms → presentation/forms}/searchInput/SearchInput.d.ts +0 -0
  611. /package/dist/{forms → presentation/forms}/searchInput/index.d.ts +0 -0
  612. /package/dist/{forms → presentation/forms}/select/index.d.ts +0 -0
  613. /package/dist/{forms → presentation/forms}/slider/Slider.d.ts +0 -0
  614. /package/dist/{forms → presentation/forms}/slider/index.d.ts +0 -0
  615. /package/dist/{forms → presentation/forms}/stepper/Stepper.d.ts +0 -0
  616. /package/dist/{forms → presentation/forms}/stepper/index.d.ts +0 -0
  617. /package/dist/{forms → presentation/forms}/switch/Switch.d.ts +0 -0
  618. /package/dist/{forms → presentation/forms}/switch/index.d.ts +0 -0
  619. /package/dist/{forms → presentation/forms}/switchField/SwitchField.d.ts +0 -0
  620. /package/dist/{forms → presentation/forms}/switchField/index.d.ts +0 -0
  621. /package/dist/{forms → presentation/forms}/tagsInput/TagsInput.d.ts +0 -0
  622. /package/dist/{forms → presentation/forms}/tagsInput/index.d.ts +0 -0
  623. /package/dist/{forms → presentation/forms}/telInput/TelInput.d.ts +0 -0
  624. /package/dist/{forms → presentation/forms}/telInput/index.d.ts +0 -0
  625. /package/dist/{forms → presentation/forms}/textInput/TextInput.d.ts +0 -0
  626. /package/dist/{forms → presentation/forms}/textInput/index.d.ts +0 -0
  627. /package/dist/{forms → presentation/forms}/textareaInput/TextareaInput.d.ts +0 -0
  628. /package/dist/{forms → presentation/forms}/textareaInput/index.d.ts +0 -0
  629. /package/dist/{forms → presentation/forms}/timeField/TimeField.d.ts +0 -0
  630. /package/dist/{forms → presentation/forms}/timeField/index.d.ts +0 -0
  631. /package/dist/{forms → presentation/forms}/timePicker/TimePicker.d.ts +0 -0
  632. /package/dist/{forms → presentation/forms}/timePicker/index.d.ts +0 -0
  633. /package/dist/{forms → presentation/forms}/urlInput/UrlInput.d.ts +0 -0
  634. /package/dist/{forms → presentation/forms}/urlInput/index.d.ts +0 -0
  635. /package/dist/{forms → presentation/forms}/wizard/Wizard.d.ts +0 -0
  636. /package/dist/{forms → presentation/forms}/wizard/index.d.ts +0 -0
  637. /package/dist/{layout → presentation/layout}/appShell/AppShell.d.ts +0 -0
  638. /package/dist/{layout → presentation/layout}/appShell/index.d.ts +0 -0
  639. /package/dist/{layout → presentation/layout}/aspectRatio/AspectRatio.d.ts +0 -0
  640. /package/dist/{layout → presentation/layout}/aspectRatio/index.d.ts +0 -0
  641. /package/dist/{layout → presentation/layout}/box/Box.d.ts +0 -0
  642. /package/dist/{layout → presentation/layout}/box/index.d.ts +0 -0
  643. /package/dist/{layout → presentation/layout}/center/Center.d.ts +0 -0
  644. /package/dist/{layout → presentation/layout}/center/index.d.ts +0 -0
  645. /package/dist/{layout → presentation/layout}/cluster/Cluster.d.ts +0 -0
  646. /package/dist/{layout → presentation/layout}/cluster/index.d.ts +0 -0
  647. /package/dist/{layout → presentation/layout}/container/Container.d.ts +0 -0
  648. /package/dist/{layout → presentation/layout}/container/index.d.ts +0 -0
  649. /package/dist/{layout → presentation/layout}/divider/Divider.d.ts +0 -0
  650. /package/dist/{layout → presentation/layout}/divider/index.d.ts +0 -0
  651. /package/dist/{layout → presentation/layout}/flex/Flex.d.ts +0 -0
  652. /package/dist/{layout → presentation/layout}/flex/index.d.ts +0 -0
  653. /package/dist/{layout → presentation/layout}/frame/Frame.d.ts +0 -0
  654. /package/dist/{layout → presentation/layout}/frame/index.d.ts +0 -0
  655. /package/dist/{layout → presentation/layout}/grid/Grid.d.ts +0 -0
  656. /package/dist/{layout → presentation/layout}/grid/index.d.ts +0 -0
  657. /package/dist/{layout → presentation/layout}/hStack/HStack.d.ts +0 -0
  658. /package/dist/{layout → presentation/layout}/hStack/index.d.ts +0 -0
  659. /package/dist/{layout → presentation/layout}/index.d.ts +0 -0
  660. /package/dist/{themes → presentation/layout}/index.js.map +0 -0
  661. /package/dist/{layout → presentation/layout}/inline/Inline.d.ts +0 -0
  662. /package/dist/{layout → presentation/layout}/inline/index.d.ts +0 -0
  663. /package/dist/{layout → presentation/layout}/navbar/index.d.ts +0 -0
  664. /package/dist/{layout → presentation/layout}/overlay/index.d.ts +0 -0
  665. /package/dist/{layout → presentation/layout}/pullToRefresh/PullToRefresh.d.ts +0 -0
  666. /package/dist/{layout → presentation/layout}/pullToRefresh/index.d.ts +0 -0
  667. /package/dist/{layout → presentation/layout}/resizablePanels/ResizablePanels.d.ts +0 -0
  668. /package/dist/{layout → presentation/layout}/resizablePanels/index.d.ts +0 -0
  669. /package/dist/{layout → presentation/layout}/scrollArea/ScrollArea.d.ts +0 -0
  670. /package/dist/{layout → presentation/layout}/scrollArea/index.d.ts +0 -0
  671. /package/dist/{layout → presentation/layout}/section/index.d.ts +0 -0
  672. /package/dist/{layout → presentation/layout}/spacer/Spacer.d.ts +0 -0
  673. /package/dist/{layout → presentation/layout}/spacer/index.d.ts +0 -0
  674. /package/dist/{layout → presentation/layout}/stack/Stack.d.ts +0 -0
  675. /package/dist/{layout → presentation/layout}/stack/index.d.ts +0 -0
  676. /package/dist/{layout → presentation/layout}/surface/index.d.ts +0 -0
  677. /package/dist/{layout → presentation/layout}/twoColumn/TwoColumn.d.ts +0 -0
  678. /package/dist/{layout → presentation/layout}/twoColumn/index.d.ts +0 -0
  679. /package/dist/{layout → presentation/layout}/vStack/VStack.d.ts +0 -0
  680. /package/dist/{layout → presentation/layout}/vStack/index.d.ts +0 -0
  681. /package/dist/{nav → presentation/nav}/breadcrumb/Breadcrumb.d.ts +0 -0
  682. /package/dist/{nav → presentation/nav}/breadcrumb/index.d.ts +0 -0
  683. /package/dist/{nav → presentation/nav}/commandPalette/CommandPalette.d.ts +0 -0
  684. /package/dist/{nav → presentation/nav}/commandPalette/index.d.ts +0 -0
  685. /package/dist/{nav → presentation/nav}/contextMenu/ContextMenu.d.ts +0 -0
  686. /package/dist/{nav → presentation/nav}/contextMenu/index.d.ts +0 -0
  687. /package/dist/{nav → presentation/nav}/dropdownMenu/DropdownMenu.d.ts +0 -0
  688. /package/dist/{nav → presentation/nav}/dropdownMenu/index.d.ts +0 -0
  689. /package/dist/{nav → presentation/nav}/index.d.ts +0 -0
  690. /package/dist/{utils → presentation/nav}/index.js.map +0 -0
  691. /package/dist/{nav → presentation/nav}/menu/index.d.ts +0 -0
  692. /package/dist/{nav → presentation/nav}/menubar/Menubar.d.ts +0 -0
  693. /package/dist/{nav → presentation/nav}/menubar/index.d.ts +0 -0
  694. /package/dist/{nav → presentation/nav}/navItem/NavItem.d.ts +0 -0
  695. /package/dist/{nav → presentation/nav}/navItem/index.d.ts +0 -0
  696. /package/dist/{nav → presentation/nav}/navigationMenu/NavigationMenu.d.ts +0 -0
  697. /package/dist/{nav → presentation/nav}/navigationMenu/index.d.ts +0 -0
  698. /package/dist/{nav → presentation/nav}/pagination/Pagination.d.ts +0 -0
  699. /package/dist/{nav → presentation/nav}/pagination/index.d.ts +0 -0
  700. /package/dist/{nav → presentation/nav}/scrollSpy/ScrollSpy.d.ts +0 -0
  701. /package/dist/{nav → presentation/nav}/scrollSpy/index.d.ts +0 -0
  702. /package/dist/{nav → presentation/nav}/tableOfContents/TableOfContents.d.ts +0 -0
  703. /package/dist/{nav → presentation/nav}/tableOfContents/index.d.ts +0 -0
  704. /package/dist/{overlays → presentation/overlays}/OverlayChrome.d.ts +0 -0
  705. /package/dist/{overlays → presentation/overlays}/actionSheet/ActionSheet.d.ts +0 -0
  706. /package/dist/{overlays → presentation/overlays}/actionSheet/index.d.ts +0 -0
  707. /package/dist/{overlays → presentation/overlays}/alertModal/AlertModal.d.ts +0 -0
  708. /package/dist/{overlays → presentation/overlays}/alertModal/index.d.ts +0 -0
  709. /package/dist/{overlays → presentation/overlays}/backdrop/Backdrop.d.ts +0 -0
  710. /package/dist/{overlays → presentation/overlays}/backdrop/index.d.ts +0 -0
  711. /package/dist/{overlays → presentation/overlays}/bottomSheet/index.d.ts +0 -0
  712. /package/dist/{overlays → presentation/overlays}/drawer/index.d.ts +0 -0
  713. /package/dist/{overlays → presentation/overlays}/hoverCard/index.d.ts +0 -0
  714. /package/dist/{overlays → presentation/overlays}/index.d.ts +0 -0
  715. /package/dist/{overlays → presentation/overlays}/modal/index.d.ts +0 -0
  716. /package/dist/{overlays → presentation/overlays}/popover/index.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/nav/breadcrumb/Breadcrumb.tsx","../src/nav/pagination/Pagination.tsx","../src/nav/navItem/NavItem.tsx","../src/nav/menu/Menu.variants.ts","../src/nav/menu/Menu.tsx","../src/nav/dropdownMenu/DropdownMenu.tsx","../src/nav/contextMenu/ContextMenu.tsx","../src/nav/menubar/Menubar.variants.ts","../src/nav/menubar/Menubar.tsx","../src/nav/navigationMenu/NavigationMenu.tsx","../src/nav/commandPalette/CommandPalette.tsx","../src/nav/scrollSpy/ScrollSpy.tsx","../src/nav/tableOfContents/TableOfContents.tsx"],"names":["forwardRef","jsxs","jsx","ChevronRight","MenuItem","createContext","useContext","useRef","useMemo","DropdownMenuTrigger","useCallback","DropdownMenuPanel","useEffect","useState","ContextMenuTrigger","MenubarTrigger","Menubar","NavigationMenuList","NavigationMenuItem","useId","NavigationMenuTrigger","NavigationMenuLink","NavigationMenuPanel","NavigationMenuContent","NavigationMenu","CommandPaletteContent","CommandPaletteInput","CommandPaletteList","CommandPaletteItem","CommandPaletteEmpty","Fragment","TableOfContents"],"mappings":"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","file":"chunk-XOUAFZ2E.js","sourcesContent":["import { Fragment, forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\n\nexport interface BreadcrumbItem {\n label: ReactNode;\n /** Make this item a link. Last item is typically rendered as plain text. */\n href?: string;\n}\n\nexport interface BreadcrumbProps extends ComponentPropsWithoutRef<'nav'> {\n items: BreadcrumbItem[];\n /** Custom separator element. Default chevron-right icon. */\n separator?: ReactNode;\n}\n\n/**\n * Linear position trail — list of links + separators. The last item is\n * always rendered as `aria-current=\"page\"` and not a link. Use the L5\n * collapsing version when the chain gets long.\n */\nexport const Breadcrumb = forwardRef<HTMLElement, BreadcrumbProps>(\n ({ items, separator, className, ...props }, ref) => {\n const sep = separator ?? <Icon icon={ChevronRight} size={14} />;\n return (\n <nav ref={ref} aria-label=\"Breadcrumb\" className={cn('text-sm', className)} {...props}>\n <ol className=\"flex flex-wrap items-center gap-1.5\">\n {items.map((item, i) => {\n const isLast = i === items.length - 1;\n return (\n <Fragment key={i}>\n <li>\n {item.href && !isLast ? (\n <a\n href={item.href}\n className=\"text-muted-foreground hover:text-foreground hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm\"\n >\n {item.label}\n </a>\n ) : (\n <span aria-current={isLast ? 'page' : undefined} className=\"text-foreground\">\n {item.label}\n </span>\n )}\n </li>\n {!isLast && (\n <li aria-hidden=\"true\" className=\"text-subtle-foreground\">\n {sep}\n </li>\n )}\n </Fragment>\n );\n })}\n </ol>\n </nav>\n );\n },\n);\nBreadcrumb.displayName = 'Breadcrumb';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\n\nexport interface PaginationProps extends Omit<ComponentPropsWithoutRef<'nav'>, 'onChange'> {\n /** Total page count (1-based). */\n total: number;\n /** Current page (1-based). */\n page: number;\n /** Fires with the new page on click. */\n onPageChange: (page: number) => void;\n /** Number of page buttons surrounding the current. Default `1` (so 1 + current + 1 = 3). */\n siblings?: number;\n /** Hide first/last buttons (just show prev/next + numbers). */\n hideFirstLast?: boolean;\n}\n\nfunction range(start: number, end: number): number[] {\n return Array.from({ length: end - start + 1 }, (_, i) => start + i);\n}\n\nfunction buildPages(total: number, page: number, siblings: number): (number | 'ellipsis')[] {\n if (total <= 1) return [1];\n const left = Math.max(2, page - siblings);\n const right = Math.min(total - 1, page + siblings);\n const pages: (number | 'ellipsis')[] = [1];\n if (left > 2) pages.push('ellipsis');\n pages.push(...range(left, right));\n if (right < total - 1) pages.push('ellipsis');\n if (total > 1) pages.push(total);\n return pages;\n}\n\n/**\n * Compact page-number row with prev/next + ellipses for skipped ranges.\n * Stateless — consumer drives `page` and reacts to `onPageChange`.\n */\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n (\n { total, page, onPageChange, siblings = 1, hideFirstLast = false, className, ...props },\n ref,\n ) => {\n const pages = buildPages(total, page, siblings);\n const go = (p: number) => onPageChange(Math.min(total, Math.max(1, p)));\n\n const baseBtn =\n 'inline-flex h-8 min-w-8 items-center justify-center rounded-md border border-transparent px-2 text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50';\n\n return (\n <nav ref={ref} aria-label=\"Pagination\" className={cn('inline-flex items-center gap-1', className)} {...props}>\n {!hideFirstLast && (\n <button\n type=\"button\"\n aria-label=\"First page\"\n disabled={page <= 1}\n onClick={() => go(1)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronsLeft} size={16} />\n </button>\n )}\n <button\n type=\"button\"\n aria-label=\"Previous page\"\n disabled={page <= 1}\n onClick={() => go(page - 1)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronLeft} size={16} />\n </button>\n {pages.map((p, i) =>\n p === 'ellipsis' ? (\n <span key={`e-${i}`} className=\"px-1 text-muted-foreground\">…</span>\n ) : (\n <button\n key={p}\n type=\"button\"\n aria-current={p === page ? 'page' : undefined}\n onClick={() => go(p)}\n className={cn(\n baseBtn,\n p === page ? 'border-primary bg-primary text-primary-foreground' : 'hover:bg-muted',\n )}\n >\n {p}\n </button>\n ),\n )}\n <button\n type=\"button\"\n aria-label=\"Next page\"\n disabled={page >= total}\n onClick={() => go(page + 1)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronRight} size={16} />\n </button>\n {!hideFirstLast && (\n <button\n type=\"button\"\n aria-label=\"Last page\"\n disabled={page >= total}\n onClick={() => go(total)}\n className={cn(baseBtn, 'hover:bg-muted')}\n >\n <Icon icon={ChevronsRight} size={16} />\n </button>\n )}\n </nav>\n );\n },\n);\nPagination.displayName = 'Pagination';\n","import { forwardRef, type AnchorHTMLAttributes, type ReactNode } from 'react';\nimport { cn, dataAttr } from '../../utils';\nimport { Slot } from '../../primitives';\n\nexport interface NavItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** When true, render the child element instead of an `<a>` (router Link). */\n asChild?: boolean;\n /** Optional leading icon. */\n icon?: ReactNode;\n /** Visual label. */\n children: ReactNode;\n /** Trailing slot — typically a count badge or status dot. */\n trailing?: ReactNode;\n /** Mark active (visual + `aria-current=\"page\"`). */\n isActive?: boolean;\n /** Visual size. Default `md`. */\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst SIZE: Record<NonNullable<NavItemProps['size']>, string> = {\n sm: 'h-8 px-2 text-sm gap-2',\n md: 'h-9 px-2.5 text-sm gap-2.5',\n lg: 'h-11 px-3 text-base gap-3',\n};\n\n/**\n * Sidebar / nav row — icon + label + trailing slot + active state. Default `<a>`;\n * pass `asChild` to forward to a router Link. Sets `aria-current=\"page\"` when `isActive`.\n */\nexport const NavItem = forwardRef<HTMLAnchorElement, NavItemProps>(\n ({ asChild, icon, children, trailing, isActive, size = 'md', className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n return (\n <Comp\n ref={ref}\n aria-current={isActive ? 'page' : undefined}\n data-active={dataAttr(isActive)}\n className={cn(\n 'group inline-flex w-full items-center rounded-md font-medium text-foreground transition-colors',\n 'hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n 'data-[active]:bg-primary-soft data-[active]:text-primary-soft-foreground',\n SIZE[size],\n className,\n )}\n {...(props as AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {icon && <span className=\"text-muted-foreground group-data-[active]:text-current\">{icon}</span>}\n <span className=\"flex-1 truncate text-left\">{children}</span>\n {trailing && <span className=\"shrink-0\">{trailing}</span>}\n </Comp>\n );\n },\n);\nNavItem.displayName = 'NavItem';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const menuVariants = tv({\n base: 'flex min-w-[8rem] flex-col gap-0.5 rounded-md border border-border bg-popover p-1 text-sm text-popover-foreground shadow-md outline-none',\n});\n\nexport const menuItemVariants = tv({\n base: 'relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors focus:bg-muted focus:text-foreground hover:bg-muted hover:text-foreground',\n variants: {\n state: {\n default: 'text-popover-foreground',\n destructive: 'text-destructive focus:bg-destructive-soft hover:bg-destructive-soft',\n disabled: 'pointer-events-none opacity-50',\n },\n },\n defaultVariants: { state: 'default' },\n});\n\nexport const menuLabelVariants = tv({\n base: 'px-2 py-1.5 text-xs font-semibold text-muted-foreground',\n});\n\nexport const menuSeparatorVariants = tv({\n base: '-mx-1 my-1 h-px bg-border',\n});\n\nexport type MenuVariants = VariantProps<typeof menuVariants>;\nexport type MenuItemVariants = VariantProps<typeof menuItemVariants>;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { cn, composeRefs, surfaceVariants, type SurfaceVariants } from '../../utils';\nimport { AnchoredPositioner, DismissableLayer, Portal, Presence } from '../../primitives';\nimport {\n menuItemVariants,\n menuLabelVariants,\n menuSeparatorVariants,\n menuVariants,\n type MenuItemVariants,\n} from './Menu.variants';\n\ninterface MenuItemEntry {\n id: string;\n ref: HTMLButtonElement | null;\n disabled: boolean;\n}\n\ninterface MenuContextValue {\n registerItem: (entry: MenuItemEntry) => void;\n unregisterItem: (id: string) => void;\n itemsRef: React.MutableRefObject<MenuItemEntry[]>;\n onClose: () => void;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nfunction useMenuContext() {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu.Item / Group / Label / Separator must be used inside <Menu>');\n return ctx;\n}\n\n/** Represents the prop surface of `Menu`. */\nexport interface MenuProps extends SurfaceVariants {\n open: boolean;\n anchor: HTMLElement | null;\n onClose: () => void;\n placement?: React.ComponentProps<typeof AnchoredPositioner>['placement'];\n offset?: number;\n /** Keydown observed on the menu container — lets wrappers (e.g. Menubar) add navigation. */\n onKeyDown?: (e: KeyboardEvent<HTMLDivElement>) => void;\n /** Labels the menu for screen readers. */\n 'aria-label'?: string;\n className?: string;\n children: ReactNode;\n}\n\nfunction MenuRoot({\n open,\n anchor,\n onClose,\n placement = 'bottom-start',\n offset = 6,\n onKeyDown,\n 'aria-label': ariaLabel,\n variant,\n tone,\n radius,\n padding,\n elevation,\n className,\n children,\n}: MenuProps) {\n const itemsRef = useRef<MenuItemEntry[]>([]);\n\n const registerItem = useCallback((entry: MenuItemEntry) => {\n const idx = itemsRef.current.findIndex((i) => i.id === entry.id);\n if (idx >= 0) itemsRef.current[idx] = entry;\n else itemsRef.current.push(entry);\n }, []);\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current = itemsRef.current.filter((i) => i.id !== id);\n }, []);\n\n const ctx = useMemo<MenuContextValue>(\n () => ({ registerItem, unregisterItem, itemsRef, onClose }),\n [registerItem, unregisterItem, onClose],\n );\n\n // No hard `if (!open) return null` — Presence (below) keeps the surface\n // mounted through its pop-out exit, flipping data-state to \"closed\" and\n // deferring unmount until the animation ends.\n return (\n <MenuContext.Provider value={ctx}>\n <Portal>\n <AnchoredPositioner\n anchor={anchor}\n placement={placement}\n offset={offset}\n className=\"z-dropdown\"\n >\n {/* Presence drives data-state on the menu surface and defers unmount until the\n pop-out finishes. FocusScope `asChild` + DismissableLayer (forwardRef, spreads\n props) relay Presence's ref + data-state down onto the surface div. */}\n <Presence isPresent={open}>\n <FocusScope asChild trapped loop>\n <DismissableLayer\n role=\"menu\"\n aria-label={ariaLabel}\n onEscape={onClose}\n onOutsidePointerDown={(e) => {\n if (anchor?.contains(e.target as Node)) return;\n onClose();\n }}\n className={cn(\n surfaceVariants({\n variant: variant ?? 'surface',\n tone,\n radius: radius ?? 'md',\n padding: padding ?? 'xs',\n elevation,\n }),\n menuVariants(),\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n 'motion-reduce:animate-none',\n className,\n )}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n if (e.key === 'Tab') {\n e.preventDefault();\n onClose();\n }\n }}\n >\n {children}\n </DismissableLayer>\n </FocusScope>\n </Presence>\n </AnchoredPositioner>\n </Portal>\n </MenuContext.Provider>\n );\n}\nMenuRoot.displayName = 'Menu';\n\nexport interface MenuItemProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onSelect'>,\n MenuItemVariants {\n /** Fired when the item is activated (Enter / Space / click). Menu closes after. */\n onSelect?: () => void;\n /** Disable activation. */\n isDisabled?: boolean;\n}\n\nexport const MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(function MenuItem(\n { onSelect, isDisabled = false, state, className, onClick, onKeyDown, children, ...rest },\n forwardedRef,\n) {\n const ctx = useMenuContext();\n const id = useId();\n const ref = useRef<HTMLButtonElement | null>(null);\n\n useEffect(() => {\n ctx.registerItem({ id, ref: ref.current, disabled: isDisabled });\n return () => ctx.unregisterItem(id);\n }, [ctx, id, isDisabled]);\n\n const moveFocus = useCallback(\n (target: 1 | -1 | 'first' | 'last') => {\n const list = ctx.itemsRef.current.filter((i) => !i.disabled);\n if (list.length === 0) return;\n if (target === 'first' || target === 'last') {\n list[target === 'first' ? 0 : list.length - 1]?.ref?.focus();\n return;\n }\n const idx = list.findIndex((i) => i.id === id);\n let nextIdx = idx + target;\n if (idx === -1) nextIdx = target === 1 ? 0 : list.length - 1;\n if (nextIdx < 0) nextIdx = list.length - 1;\n if (nextIdx >= list.length) nextIdx = 0;\n list[nextIdx]?.ref?.focus();\n },\n [ctx, id],\n );\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented || isDisabled) return;\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n moveFocus(1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n moveFocus(-1);\n break;\n case 'Home':\n e.preventDefault();\n moveFocus('first');\n break;\n case 'End':\n e.preventDefault();\n moveFocus('last');\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n onSelect?.();\n ctx.onClose();\n break;\n }\n };\n\n const itemState = state ?? (isDisabled ? 'disabled' : 'default');\n return (\n <button\n ref={composeRefs(forwardedRef, ref)}\n type=\"button\"\n role=\"menuitem\"\n disabled={isDisabled}\n aria-disabled={isDisabled || undefined}\n data-disabled={isDisabled ? '' : undefined}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented || isDisabled) return;\n onSelect?.();\n ctx.onClose();\n }}\n onKeyDown={handleKeyDown}\n className={cn(menuItemVariants({ state: itemState }), className)}\n {...rest}\n >\n {children}\n </button>\n );\n});\n\nexport interface MenuGroupProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode;\n children: ReactNode;\n}\n\nexport function MenuGroup({ label, children, className, ...rest }: MenuGroupProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n className={className}\n {...rest}\n >\n {label && (\n <div id={labelId} className={menuLabelVariants()}>\n {label}\n </div>\n )}\n {children}\n </div>\n );\n}\n\nexport function MenuLabel({\n children,\n className,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) {\n return (\n <div className={cn(menuLabelVariants(), className)} {...rest}>\n {children}\n </div>\n );\n}\n\nexport function MenuSeparator(props: HTMLAttributes<HTMLDivElement>) {\n return <div role=\"separator\" className={menuSeparatorVariants()} {...props} />;\n}\n\nexport const Menu = Object.assign(MenuRoot, {\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default Menu;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn, composeRefs } from '../../utils';\nimport { Presence, Slot } from '../../primitives';\nimport { useControlled, useReducedMotion } from '../../hooks';\nimport {\n Menu,\n MenuItem,\n MenuGroup,\n MenuLabel,\n MenuSeparator,\n type MenuProps,\n} from '../menu';\n\ninterface DropdownMenuContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLButtonElement | null>;\n /** Trigger node kept in state so anchored content re-renders once the ref attaches. */\n triggerNode: HTMLButtonElement | null;\n setTriggerNode: (node: HTMLButtonElement | null) => void;\n placement: MenuProps['placement'];\n offset: number;\n}\n\nconst DropdownMenuContext = createContext<DropdownMenuContextValue | null>(null);\n\nfunction useDropdownMenuContext() {\n const ctx = useContext(DropdownMenuContext);\n if (!ctx) throw new Error('DropdownMenu.* must be used inside <DropdownMenu>');\n return ctx;\n}\n\nexport interface DropdownMenuProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placement?: MenuProps['placement'];\n offset?: number;\n children: ReactNode;\n}\n\nfunction DropdownMenuRoot({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placement = 'bottom-start',\n offset = 6,\n children,\n}: DropdownMenuProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const [triggerNode, setTriggerNode] = useState<HTMLButtonElement | null>(null);\n\n const ctx = useMemo<DropdownMenuContextValue>(\n () => ({ open, setOpen, triggerRef, triggerNode, setTriggerNode, placement, offset }),\n [open, setOpen, triggerNode, placement, offset],\n );\n\n return <DropdownMenuContext.Provider value={ctx}>{children}</DropdownMenuContext.Provider>;\n}\nDropdownMenuRoot.displayName = 'DropdownMenu';\n\nexport interface DropdownMenuTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Render the trigger as the single child (e.g., `<Button>`). */\n asChild?: boolean;\n children: ReactNode;\n}\n\nexport const DropdownMenuTrigger = forwardRef<HTMLButtonElement, DropdownMenuTriggerProps>(\n function DropdownMenuTrigger(\n { asChild, onClick, onKeyDown, children, ...rest },\n forwardedRef,\n ) {\n const ctx = useDropdownMenuContext();\n const Component = asChild ? Slot : 'button';\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.setOpen(!ctx.open);\n },\n [ctx, onClick],\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ctx.setOpen(true);\n }\n },\n [ctx, onKeyDown],\n );\n\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef, ctx.setTriggerNode) as never}\n type=\"button\"\n aria-haspopup=\"menu\"\n aria-expanded={ctx.open}\n data-state={ctx.open ? 'open' : 'closed'}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nexport interface DropdownMenuContentProps {\n className?: string;\n 'aria-label'?: string;\n children: ReactNode;\n}\n\n/**\n * Animated panel handed to `Menu` as its child. `Presence` clones `data-state`\n * (\"open\" | \"closed\") + a `ref` onto this element, so the pop tokens below run\n * gated on that state. forwardRef + `{...props}` spread are required so the ref\n * and `data-state` actually land here.\n */\nconst DropdownMenuPanel = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n function DropdownMenuPanel({ className, children, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\n /* pop (fade + slight scale) gated on data-state; motion-safe so\n reduced-motion users get no movement. */\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n 'motion-reduce:animate-none',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nexport function DropdownMenuContent({\n className,\n 'aria-label': ariaLabel,\n children,\n}: DropdownMenuContentProps) {\n const ctx = useDropdownMenuContext();\n const reducedMotion = useReducedMotion();\n /* Keep `Menu` (positioner / focus scope / dismiss layer) mounted while the\n pop-out plays — `Menu` hard-unmounts on `!open`, which would kill the exit.\n Opening flips this true synchronously; closing defers the unmount until the\n panel's exit animation ends (`onAnimationEnd` below). Under reduced motion\n no animation fires, so drop it on the next frame instead. */\n const [mounted, setMounted] = useState(ctx.open);\n useEffect(() => {\n if (ctx.open) {\n setMounted(true);\n return;\n }\n if (!reducedMotion) return;\n const raf = requestAnimationFrame(() => setMounted(false));\n return () => cancelAnimationFrame(raf);\n }, [ctx.open, reducedMotion]);\n\n if (!mounted) return null;\n\n return (\n <Menu\n open={mounted}\n anchor={ctx.triggerNode}\n onClose={() => {\n ctx.setOpen(false);\n requestAnimationFrame(() => ctx.triggerRef.current?.focus());\n }}\n placement={ctx.placement}\n offset={ctx.offset}\n aria-label={ariaLabel}\n >\n <Presence isPresent={ctx.open}>\n <DropdownMenuPanel\n className={className}\n onAnimationEnd={() => {\n /* Drop `Menu` once the exit animation completes. */\n if (!ctx.open) setMounted(false);\n }}\n >\n {children}\n </DropdownMenuPanel>\n </Presence>\n </Menu>\n );\n}\n\nexport const DropdownMenu = Object.assign(DropdownMenuRoot, {\n Trigger: DropdownMenuTrigger,\n Content: DropdownMenuContent,\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default DropdownMenu;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn, composeRefs } from '../../utils';\nimport { Slot } from '../../primitives';\nimport {\n Menu,\n MenuItem,\n MenuGroup,\n MenuLabel,\n MenuSeparator,\n type MenuProps,\n} from '../menu';\n\ninterface ContextMenuContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n anchor: HTMLElement | null;\n setAnchor: (el: HTMLElement | null) => void;\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n}\n\nconst ContextMenuContext = createContext<ContextMenuContextValue | null>(null);\n\nfunction useContextMenuContext() {\n const ctx = useContext(ContextMenuContext);\n if (!ctx) throw new Error('ContextMenu.* must be used inside <ContextMenu>');\n return ctx;\n}\n\nexport interface ContextMenuProps {\n children: ReactNode;\n}\n\n/** Build a zero-size virtual element at coordinates to anchor Floating UI. */\nfunction makeVirtualAnchor(x: number, y: number): HTMLElement {\n const el = document.createElement('div');\n el.style.position = 'fixed';\n el.style.left = `${x}px`;\n el.style.top = `${y}px`;\n el.style.width = '0px';\n el.style.height = '0px';\n el.style.pointerEvents = 'none';\n document.body.appendChild(el);\n return el;\n}\n\nfunction ContextMenuRoot({ children }: ContextMenuProps) {\n const [open, setOpen] = useState(false);\n const [anchor, setAnchorState] = useState<HTMLElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n const setAnchor = useCallback((el: HTMLElement | null) => {\n setAnchorState((prev) => {\n if (prev && prev.parentNode === document.body) prev.remove();\n return el;\n });\n }, []);\n\n const handleSetOpen = useCallback(\n (next: boolean) => {\n setOpen(next);\n if (!next) setAnchor(null);\n },\n [setAnchor],\n );\n\n // Remove the body-appended virtual anchor when it is replaced or on unmount.\n useEffect(() => {\n if (!anchor) return;\n return () => {\n if (anchor.parentNode === document.body) anchor.remove();\n };\n }, [anchor]);\n\n const ctx = useMemo<ContextMenuContextValue>(\n () => ({ open, setOpen: handleSetOpen, anchor, setAnchor, triggerRef }),\n [open, handleSetOpen, anchor, setAnchor],\n );\n\n return <ContextMenuContext.Provider value={ctx}>{children}</ContextMenuContext.Provider>;\n}\nContextMenuRoot.displayName = 'ContextMenu';\n\nexport interface ContextMenuTriggerProps extends HTMLAttributes<HTMLDivElement> {\n asChild?: boolean;\n isDisabled?: boolean;\n children: ReactNode;\n}\n\nexport const ContextMenuTrigger = forwardRef<HTMLDivElement, ContextMenuTriggerProps>(\n function ContextMenuTrigger(\n { asChild, isDisabled, onContextMenu, onPointerDown, onPointerCancel, onPointerUp, children, ...rest },\n forwardedRef,\n ) {\n const ctx = useContextMenuContext();\n const longPressTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const Component = asChild ? Slot : 'div';\n\n const handleContextMenu = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n onContextMenu?.(e);\n if (e.defaultPrevented || isDisabled) return;\n e.preventDefault();\n ctx.setAnchor(makeVirtualAnchor(e.clientX, e.clientY));\n ctx.setOpen(true);\n },\n [ctx, isDisabled, onContextMenu],\n );\n\n const clearLongPress = useCallback(() => {\n if (longPressTimer.current) clearTimeout(longPressTimer.current);\n longPressTimer.current = null;\n }, []);\n\n // Clear a pending long-press timer if the trigger unmounts mid-press.\n useEffect(() => () => clearLongPress(), [clearLongPress]);\n\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef) as never}\n onContextMenu={handleContextMenu}\n onPointerDown={(e: React.PointerEvent<HTMLDivElement>) => {\n onPointerDown?.(e);\n if (e.defaultPrevented || isDisabled || e.pointerType !== 'touch') return;\n const x = e.clientX;\n const y = e.clientY;\n longPressTimer.current = setTimeout(() => {\n ctx.setAnchor(makeVirtualAnchor(x, y));\n ctx.setOpen(true);\n }, 600);\n }}\n onPointerUp={(e: React.PointerEvent<HTMLDivElement>) => {\n onPointerUp?.(e);\n clearLongPress();\n }}\n onPointerCancel={(e: React.PointerEvent<HTMLDivElement>) => {\n onPointerCancel?.(e);\n clearLongPress();\n }}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nexport interface ContextMenuContentProps {\n className?: string;\n placement?: MenuProps['placement'];\n offset?: number;\n 'aria-label'?: string;\n children: ReactNode;\n}\n\nexport function ContextMenuContent({\n className,\n placement = 'bottom-start',\n offset = 2,\n 'aria-label': ariaLabel,\n children,\n}: ContextMenuContentProps) {\n const ctx = useContextMenuContext();\n return (\n <Menu\n open={ctx.open}\n anchor={ctx.anchor}\n onClose={() => ctx.setOpen(false)}\n placement={placement}\n offset={offset}\n aria-label={ariaLabel}\n // Enter-only pop: the surface mounts when `open` flips true, so the\n // anim fires once on mount. motion-safe gates it for reduced-motion.\n // (Exit anim is owned by the shared Menu's unmount gate — see note below.)\n className={cn('motion-safe:animate-(--animate-pop-in)', className)}\n >\n {children}\n </Menu>\n );\n}\n\nexport const ContextMenu = Object.assign(ContextMenuRoot, {\n Trigger: ContextMenuTrigger,\n Content: ContextMenuContent,\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default ContextMenu;\n","import { tv, type VariantProps } from '../../utils';\n\nexport const menubarVariants = tv({\n base: 'flex items-center gap-1 rounded-md border border-border bg-background p-1',\n});\n\nexport const menubarTriggerVariants = tv({\n base: 'inline-flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted data-[state=open]:bg-muted',\n});\n\nexport type MenubarVariants = VariantProps<typeof menubarVariants>;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn, composeRefs } from '../../utils';\nimport { useControlled } from '../../hooks';\nimport {\n Menu,\n MenuItem,\n MenuGroup,\n MenuLabel,\n MenuSeparator,\n type MenuProps,\n} from '../menu';\nimport { menubarTriggerVariants, menubarVariants } from './Menubar.variants';\n\ninterface MenubarContextValue {\n activeId: string | null;\n setActiveId: (id: string | null) => void;\n registerTrigger: (id: string, ref: HTMLButtonElement | null) => void;\n unregisterTrigger: (id: string) => void;\n triggersRef: React.MutableRefObject<{ id: string; ref: HTMLButtonElement | null }[]>;\n /** Focuses the trigger adjacent to `fromId`; switches the open menu when one is open. */\n moveAcross: (fromId: string, direction: 1 | -1) => void;\n}\n\nconst MenubarContext = createContext<MenubarContextValue | null>(null);\n\nfunction useMenubarContext() {\n const ctx = useContext(MenubarContext);\n if (!ctx) throw new Error('Menubar.* must be used inside <Menubar>');\n return ctx;\n}\n\ninterface MenubarMenuContextValue {\n id: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLButtonElement | null>;\n /** Trigger node kept in state so anchored content re-renders once the ref attaches. */\n triggerNode: HTMLButtonElement | null;\n setTriggerNode: (node: HTMLButtonElement | null) => void;\n}\n\nconst MenubarMenuContext = createContext<MenubarMenuContextValue | null>(null);\n\nfunction useMenubarMenuContext() {\n const ctx = useContext(MenubarMenuContext);\n if (!ctx) throw new Error('Menubar.Trigger / Content must be used inside <Menubar.Menu>');\n return ctx;\n}\n\nexport interface MenubarProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {\n /** Id of the currently-open menu, or `null` if none. */\n value?: string | null;\n defaultValue?: string | null;\n onValueChange?: (value: string | null) => void;\n children: ReactNode;\n}\n\nconst MenubarRoot = forwardRef<HTMLDivElement, MenubarProps>(function Menubar(\n { value, defaultValue = null, onValueChange, className, children, ...rest },\n ref,\n) {\n const [activeId, setActiveId] = useControlled<string | null>({\n controlled: value,\n default: defaultValue,\n onChange: onValueChange,\n });\n\n const triggersRef = useRef<{ id: string; ref: HTMLButtonElement | null }[]>([]);\n\n const registerTrigger = useCallback((id: string, triggerRef: HTMLButtonElement | null) => {\n const idx = triggersRef.current.findIndex((t) => t.id === id);\n if (idx >= 0) triggersRef.current[idx] = { id, ref: triggerRef };\n else triggersRef.current.push({ id, ref: triggerRef });\n }, []);\n const unregisterTrigger = useCallback((id: string) => {\n triggersRef.current = triggersRef.current.filter((t) => t.id !== id);\n }, []);\n\n const moveAcross = useCallback(\n (fromId: string, direction: 1 | -1) => {\n const list = triggersRef.current;\n const idx = list.findIndex((t) => t.id === fromId);\n if (idx === -1) return;\n let nextIdx = idx + direction;\n if (nextIdx < 0) nextIdx = list.length - 1;\n if (nextIdx >= list.length) nextIdx = 0;\n const next = list[nextIdx];\n if (!next) return;\n next.ref?.focus();\n // If a menu is already open, switch the open menu to follow focus.\n if (activeId !== null) setActiveId(next.id);\n },\n [activeId, setActiveId],\n );\n\n const ctx = useMemo<MenubarContextValue>(\n () => ({ activeId, setActiveId, registerTrigger, unregisterTrigger, triggersRef, moveAcross }),\n [activeId, setActiveId, registerTrigger, unregisterTrigger, moveAcross],\n );\n\n return (\n <MenubarContext.Provider value={ctx}>\n <div\n ref={ref}\n role=\"menubar\"\n className={cn(menubarVariants(), className)}\n {...rest}\n >\n {children}\n </div>\n </MenubarContext.Provider>\n );\n});\n\nexport interface MenubarMenuProps {\n /** Stable id for this menu — used for active-menu tracking. */\n value: string;\n children: ReactNode;\n}\n\nexport function MenubarMenu({ value, children }: MenubarMenuProps) {\n const ctx = useMenubarContext();\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const [triggerNode, setTriggerNode] = useState<HTMLButtonElement | null>(null);\n\n const open = ctx.activeId === value;\n const setOpen = useCallback(\n (next: boolean) => {\n ctx.setActiveId(next ? value : null);\n },\n [ctx, value],\n );\n\n const menuCtx = useMemo<MenubarMenuContextValue>(\n () => ({ id: value, open, setOpen, triggerRef, triggerNode, setTriggerNode }),\n [value, open, setOpen, triggerNode],\n );\n\n return <MenubarMenuContext.Provider value={menuCtx}>{children}</MenubarMenuContext.Provider>;\n}\n\nexport interface MenubarTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const MenubarTrigger = forwardRef<HTMLButtonElement, MenubarTriggerProps>(\n function MenubarTrigger(\n { className, onClick, onKeyDown, onPointerEnter, children, ...rest },\n forwardedRef,\n ) {\n const bar = useMenubarContext();\n const menu = useMenubarMenuContext();\n\n useEffect(() => {\n bar.registerTrigger(menu.id, menu.triggerRef.current);\n return () => bar.unregisterTrigger(menu.id);\n }, [bar, menu.id, menu.triggerRef]);\n\n return (\n <button\n ref={composeRefs(forwardedRef, menu.triggerRef, menu.setTriggerNode)}\n type=\"button\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n aria-expanded={menu.open}\n data-state={menu.open ? 'open' : 'closed'}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n menu.setOpen(!menu.open);\n }}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n // If any menu is open, switching the trigger pointer-over switches the active menu.\n if (bar.activeId !== null && bar.activeId !== menu.id) {\n bar.setActiveId(menu.id);\n }\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n bar.moveAcross(menu.id, 1);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n bar.moveAcross(menu.id, -1);\n break;\n case 'ArrowDown':\n case 'Enter':\n case ' ':\n e.preventDefault();\n menu.setOpen(true);\n break;\n case 'Home':\n e.preventDefault();\n bar.triggersRef.current[0]?.ref?.focus();\n break;\n case 'End': {\n e.preventDefault();\n const list = bar.triggersRef.current;\n list[list.length - 1]?.ref?.focus();\n break;\n }\n }\n }}\n className={cn(menubarTriggerVariants(), className)}\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\n\nexport interface MenubarContentProps {\n className?: string;\n placement?: MenuProps['placement'];\n offset?: number;\n 'aria-label'?: string;\n children: ReactNode;\n}\n\nexport function MenubarContent({\n className,\n placement = 'bottom-start',\n offset = 4,\n 'aria-label': ariaLabel,\n children,\n}: MenubarContentProps) {\n const bar = useMenubarContext();\n const menu = useMenubarMenuContext();\n return (\n <Menu\n open={menu.open}\n anchor={menu.triggerNode}\n onClose={() => {\n menu.setOpen(false);\n requestAnimationFrame(() => menu.triggerRef.current?.focus());\n }}\n onKeyDown={(e) => {\n // Arrow across menus while a popup is open — close current, open adjacent.\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n bar.moveAcross(menu.id, 1);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n bar.moveAcross(menu.id, -1);\n break;\n }\n }}\n placement={placement}\n offset={offset}\n aria-label={ariaLabel}\n className={className}\n >\n {children}\n </Menu>\n );\n}\n\nexport const Menubar = Object.assign(MenubarRoot, {\n Menu: MenubarMenu,\n Trigger: MenubarTrigger,\n Content: MenubarContent,\n Item: MenuItem,\n Group: MenuGroup,\n Label: MenuLabel,\n Separator: MenuSeparator,\n});\n\nexport default Menubar;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { ChevronDown } from 'lucide-react';\nimport { cn, surfaceVariants } from '../../utils';\nimport { useControlled, useReducedMotion } from '../../hooks';\nimport {\n AnchoredPositioner,\n DismissableLayer,\n Portal,\n Presence,\n RovingFocusGroup,\n useRovingFocusItem,\n} from '../../primitives';\n\ninterface NavigationMenuContextValue {\n activeId: string | null;\n setActiveId: (id: string | null) => void;\n}\n\nconst NavigationMenuContext = createContext<NavigationMenuContextValue | null>(null);\n\nfunction useNavContext() {\n const ctx = useContext(NavigationMenuContext);\n if (!ctx) throw new Error('NavigationMenu.* must be used inside <NavigationMenu>');\n return ctx;\n}\n\ninterface NavigationMenuItemContextValue {\n value: string;\n open: boolean;\n triggerRef: React.MutableRefObject<HTMLButtonElement | null>;\n contentId: string;\n triggerId: string;\n}\n\nconst NavigationMenuItemContext = createContext<NavigationMenuItemContextValue | null>(null);\n\nfunction useNavItemContext() {\n const ctx = useContext(NavigationMenuItemContext);\n if (!ctx)\n throw new Error('NavigationMenu.Trigger / Content must be used inside <NavigationMenu.Item>');\n return ctx;\n}\n\nexport interface NavigationMenuProps extends Omit<HTMLAttributes<HTMLElement>, 'defaultValue'> {\n value?: string | null;\n defaultValue?: string | null;\n onValueChange?: (value: string | null) => void;\n}\n\nconst NavigationMenuRoot = forwardRef<HTMLElement, NavigationMenuProps>(\n function NavigationMenu(\n {\n value,\n defaultValue = null,\n onValueChange,\n 'aria-label': ariaLabel = 'Main navigation',\n className,\n children,\n ...rest\n },\n ref,\n ) {\n const [activeId, setActiveId] = useControlled<string | null>({\n controlled: value,\n default: defaultValue,\n onChange: onValueChange,\n });\n\n const ctx = useMemo<NavigationMenuContextValue>(\n () => ({ activeId, setActiveId }),\n [activeId, setActiveId],\n );\n\n return (\n <NavigationMenuContext.Provider value={ctx}>\n <nav\n ref={ref}\n aria-label={ariaLabel}\n className={cn('relative', className)}\n {...rest}\n >\n {children}\n </nav>\n </NavigationMenuContext.Provider>\n );\n },\n);\n\nexport interface NavigationMenuListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const NavigationMenuList = forwardRef<HTMLDivElement, NavigationMenuListProps>(\n function NavigationMenuList({ className, children, ...rest }, ref) {\n return (\n <RovingFocusGroup\n ref={ref}\n orientation=\"horizontal\"\n canLoop\n role=\"list\"\n className={cn('flex items-center gap-1', className)}\n {...rest}\n >\n {children}\n </RovingFocusGroup>\n );\n },\n);\n\nexport interface NavigationMenuItemProps extends HTMLAttributes<HTMLLIElement> {\n /** Stable id for active-state tracking. Required when item has a Trigger + Content. */\n value: string;\n children: ReactNode;\n}\n\nexport const NavigationMenuItem = forwardRef<HTMLLIElement, NavigationMenuItemProps>(\n function NavigationMenuItem({ value, className, children, ...rest }, ref) {\n const nav = useNavContext();\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const contentId = useId();\n const triggerId = useId();\n const open = nav.activeId === value;\n\n const itemCtx = useMemo<NavigationMenuItemContextValue>(\n () => ({ value, open, triggerRef, contentId, triggerId }),\n [value, open, contentId, triggerId],\n );\n\n return (\n <NavigationMenuItemContext.Provider value={itemCtx}>\n <li ref={ref} className={cn('relative', className)} {...rest}>\n {children}\n </li>\n </NavigationMenuItemContext.Provider>\n );\n },\n);\n\nexport interface NavigationMenuTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const NavigationMenuTrigger = forwardRef<HTMLButtonElement, NavigationMenuTriggerProps>(\n function NavigationMenuTrigger(\n { className, onClick, onPointerEnter, onKeyDown, onFocus, children, ...rest },\n ref,\n ) {\n const nav = useNavContext();\n const item = useNavItemContext();\n const roving = useRovingFocusItem();\n return (\n <button\n ref={(node) => {\n item.triggerRef.current = node;\n roving.ref(node);\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n }}\n id={item.triggerId}\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded={item.open}\n aria-controls={item.contentId}\n data-state={item.open ? 'open' : 'closed'}\n tabIndex={roving.tabIndex}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n nav.setActiveId(item.open ? null : item.value);\n }}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (nav.activeId !== null && nav.activeId !== item.value) {\n nav.setActiveId(item.value);\n }\n }}\n onFocus={(e) => {\n onFocus?.(e);\n roving.onFocus();\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n roving.onKeyDown(e);\n }}\n className={cn(\n 'inline-flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-muted',\n className,\n )}\n {...rest}\n >\n {children}\n <ChevronDown\n className={cn('h-4 w-4 transition-transform', item.open && 'rotate-180')}\n />\n </button>\n );\n },\n);\n\nexport interface NavigationMenuLinkProps\n extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const NavigationMenuLink = forwardRef<HTMLAnchorElement, NavigationMenuLinkProps>(\n function NavigationMenuLink({ className, onKeyDown, onFocus, children, ...rest }, ref) {\n const roving = useRovingFocusItem();\n return (\n <a\n ref={(node) => {\n roving.ref(node);\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n }}\n tabIndex={roving.tabIndex}\n onFocus={(e) => {\n onFocus?.(e);\n roving.onFocus();\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n roving.onKeyDown(e);\n }}\n className={cn(\n 'inline-flex items-center rounded-md px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-muted hover:underline-offset-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className,\n )}\n {...rest}\n >\n {children}\n </a>\n );\n },\n);\n\nexport interface NavigationMenuContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\n/**\n * Animated panel cloned by `Presence`, which injects `data-state`\n * (\"open\" | \"closed\") + a `ref` onto this element so the pop tokens below run\n * gated on that state. forwardRef + `{...props}` spread are required so the ref\n * and `data-state` actually land here.\n */\nconst NavigationMenuPanel = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n function NavigationMenuPanel({ className, children, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\n /* pop (fade + slight scale) gated on data-state; motion-safe so\n reduced-motion users get no movement. */\n 'min-w-[12rem] outline-none',\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n 'motion-reduce:animate-none',\n surfaceVariants({ variant: 'surface', radius: 'md', padding: 'md' }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nexport const NavigationMenuContent = forwardRef<HTMLDivElement, NavigationMenuContentProps>(\n function NavigationMenuContent({ className, children, ...rest }, ref) {\n const nav = useNavContext();\n const item = useNavItemContext();\n const reducedMotion = useReducedMotion();\n\n const handleClose = useCallback(() => {\n nav.setActiveId(null);\n requestAnimationFrame(() => item.triggerRef.current?.focus());\n }, [nav, item.triggerRef]);\n\n /* Keep the positioner / dismiss layer mounted while the pop-out plays — the\n stack hard-unmounts on `!open`, which would kill the exit. Opening flips\n this true synchronously; closing defers the unmount until the panel's exit\n animation ends (`onAnimationEnd` below). Under reduced motion no animation\n fires, so drop it on the next frame instead. */\n const [mounted, setMounted] = useState(item.open);\n useEffect(() => {\n if (item.open) {\n setMounted(true);\n return;\n }\n if (!reducedMotion) return;\n const raf = requestAnimationFrame(() => setMounted(false));\n return () => cancelAnimationFrame(raf);\n }, [item.open, reducedMotion]);\n\n if (!mounted) return null;\n return (\n <Portal>\n <AnchoredPositioner\n anchor={item.triggerRef.current}\n placement=\"bottom-start\"\n offset={6}\n className=\"z-dropdown\"\n >\n <DismissableLayer\n onEscape={handleClose}\n onOutsidePointerDown={(e) => {\n if (item.triggerRef.current?.contains(e.target as Node)) return;\n nav.setActiveId(null);\n }}\n >\n <Presence isPresent={item.open}>\n <NavigationMenuPanel\n ref={ref}\n id={item.contentId}\n aria-labelledby={item.triggerId}\n className={className}\n onAnimationEnd={() => {\n /* Drop the positioner stack once the exit animation completes. */\n if (!item.open) setMounted(false);\n }}\n {...rest}\n >\n {children}\n </NavigationMenuPanel>\n </Presence>\n </DismissableLayer>\n </AnchoredPositioner>\n </Portal>\n );\n },\n);\n\nexport const NavigationMenu = Object.assign(NavigationMenuRoot, {\n List: NavigationMenuList,\n Item: NavigationMenuItem,\n Trigger: NavigationMenuTrigger,\n Content: NavigationMenuContent,\n Link: NavigationMenuLink,\n});\n\nexport default NavigationMenu;\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { Search } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { useControlled } from '../../hooks';\nimport { Icon } from '../../icons';\nimport { Modal, ModalContent } from '../../overlays/modal';\nimport {\n listboxEmptyVariants,\n listboxGroupLabelVariants,\n listboxItemVariants,\n listboxSeparatorVariants,\n} from '../../forms/listbox/Listbox.variants';\n\ninterface CommandItemEntry {\n id: string;\n value: string;\n searchText: string;\n disabled: boolean;\n onSelect: () => void;\n closeOnSelect: boolean;\n}\n\ninterface CommandPaletteContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n inputValue: string;\n setInputValue: (input: string) => void;\n activeId: string | null;\n setActiveId: (id: string | null) => void;\n itemsRef: React.MutableRefObject<CommandItemEntry[]>;\n registerItem: (entry: CommandItemEntry) => void;\n unregisterItem: (id: string) => void;\n /** Bumped on every register/unregister — lets consumers observe the mutable registry. */\n registryVersion: number;\n filter: (searchText: string, search: string) => boolean;\n inputId: string;\n listboxId: string;\n inputRef: React.MutableRefObject<HTMLInputElement | null>;\n}\n\nconst CommandPaletteContext = createContext<CommandPaletteContextValue | null>(null);\n\nfunction useCommandPaletteContext() {\n const ctx = useContext(CommandPaletteContext);\n if (!ctx) throw new Error('CommandPalette.* must be used inside <CommandPalette>');\n return ctx;\n}\n\nconst defaultFilter = (searchText: string, search: string) =>\n searchText.toLowerCase().includes(search.toLowerCase());\n\nexport interface CommandPaletteProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n inputValue?: string;\n defaultInputValue?: string;\n onInputChange?: (input: string) => void;\n triggerKey?: string;\n filter?: (searchText: string, search: string) => boolean;\n children: ReactNode;\n}\n\nfunction CommandPaletteRoot({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n inputValue: inputProp,\n defaultInputValue,\n onInputChange,\n triggerKey,\n filter = defaultFilter,\n children,\n}: CommandPaletteProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const [inputValue, setInputValue] = useControlled({\n controlled: inputProp,\n default: defaultInputValue ?? '',\n onChange: onInputChange,\n });\n\n const itemsRef = useRef<CommandItemEntry[]>([]);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const [activeId, setActiveId] = useState<string | null>(null);\n // Items register via effects post-render; bump a version so registry readers recompute once items exist (fresh-open flow).\n const [registryVersion, setRegistryVersion] = useState(0);\n const inputId = useId();\n const listboxId = useId();\n\n const registerItem = useCallback((entry: CommandItemEntry) => {\n const idx = itemsRef.current.findIndex((i) => i.id === entry.id);\n if (idx >= 0) itemsRef.current[idx] = entry;\n else itemsRef.current.push(entry);\n setRegistryVersion((v) => v + 1);\n }, []);\n\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current = itemsRef.current.filter((i) => i.id !== id);\n setRegistryVersion((v) => v + 1);\n }, []);\n\n // Global keybinding (cmd-/ctrl-K).\n useEffect(() => {\n if (!triggerKey) return;\n const onKey = (e: KeyboardEvent | globalThis.KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === triggerKey.toLowerCase()) {\n e.preventDefault();\n setOpen(true);\n }\n };\n document.addEventListener('keydown', onKey as (e: globalThis.KeyboardEvent) => void);\n return () =>\n document.removeEventListener(\n 'keydown',\n onKey as (e: globalThis.KeyboardEvent) => void,\n );\n }, [triggerKey, setOpen]);\n\n // Reset search + active id on open/close transitions.\n useEffect(() => {\n if (!open) {\n setActiveId(null);\n }\n }, [open]);\n\n const ctx = useMemo<CommandPaletteContextValue>(\n () => ({\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeId,\n setActiveId,\n itemsRef,\n registerItem,\n unregisterItem,\n registryVersion,\n filter,\n inputId,\n listboxId,\n inputRef,\n }),\n [\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeId,\n registerItem,\n unregisterItem,\n registryVersion,\n filter,\n inputId,\n listboxId,\n ],\n );\n\n return (\n <CommandPaletteContext.Provider value={ctx}>\n <Modal open={open} onOpenChange={setOpen}>\n {children}\n </Modal>\n </CommandPaletteContext.Provider>\n );\n}\nCommandPaletteRoot.displayName = 'CommandPalette';\n\nexport type CommandPaletteContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const CommandPaletteContent = forwardRef<HTMLDivElement, CommandPaletteContentProps>(\n function CommandPaletteContent({ className, children, ...rest }, forwardedRef) {\n return (\n <ModalContent\n ref={forwardedRef}\n className={cn('w-full max-w-xl gap-0 overflow-hidden p-0', className)}\n {...rest}\n >\n {children}\n </ModalContent>\n );\n },\n);\n\nexport type CommandPaletteInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'onChange'\n>;\n\nexport const CommandPaletteInput = forwardRef<HTMLInputElement, CommandPaletteInputProps>(\n function CommandPaletteInput(\n { className, placeholder = 'Type a command…', onKeyDown, ...rest },\n forwardedRef,\n ) {\n const ctx = useCommandPaletteContext();\n\n // Keep DOM focus on the input whenever palette is open.\n useEffect(() => {\n if (ctx.open && ctx.inputRef.current) ctx.inputRef.current.focus();\n }, [ctx.open, ctx.inputRef]);\n\n const visibleItems = useCallback(() => {\n return ctx.itemsRef.current.filter(\n (i) => !i.disabled && (ctx.inputValue === '' || ctx.filter(i.searchText, ctx.inputValue)),\n );\n }, [ctx]);\n\n // Auto-set first match when the filter or the item registry changes.\n useEffect(() => {\n const list = visibleItems();\n if (list.length > 0 && !list.some((i) => i.id === ctx.activeId)) {\n ctx.setActiveId(list[0]!.id);\n } else if (list.length === 0) {\n ctx.setActiveId(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ctx.inputValue, ctx.registryVersion]);\n\n const moveActive = (direction: 1 | -1) => {\n const list = visibleItems();\n if (list.length === 0) return;\n const idx = list.findIndex((i) => i.id === ctx.activeId);\n let nextIdx = idx + direction;\n if (idx === -1) nextIdx = direction === 1 ? 0 : list.length - 1;\n if (nextIdx < 0) nextIdx = list.length - 1;\n if (nextIdx >= list.length) nextIdx = 0;\n ctx.setActiveId(list[nextIdx]!.id);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n moveActive(1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n moveActive(-1);\n break;\n case 'Home':\n if (e.target === ctx.inputRef.current) {\n const list = visibleItems();\n if (list.length > 0) ctx.setActiveId(list[0]!.id);\n }\n break;\n case 'End':\n if (e.target === ctx.inputRef.current) {\n const list = visibleItems();\n if (list.length > 0) ctx.setActiveId(list[list.length - 1]!.id);\n }\n break;\n case 'Enter': {\n if (!ctx.activeId) return;\n const entry = ctx.itemsRef.current.find((i) => i.id === ctx.activeId);\n if (!entry || entry.disabled) return;\n e.preventDefault();\n entry.onSelect();\n if (entry.closeOnSelect) ctx.setOpen(false);\n break;\n }\n }\n };\n\n return (\n <div className=\"flex items-center gap-2 border-b border-border px-3\">\n <Icon icon={Search} size={16} className=\"text-muted-foreground\" />\n <input\n {...rest}\n ref={(el) => {\n ctx.inputRef.current = el;\n if (typeof forwardedRef === 'function') forwardedRef(el);\n else if (forwardedRef)\n (forwardedRef as React.MutableRefObject<HTMLInputElement | null>).current = el;\n }}\n id={ctx.inputId}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={ctx.listboxId}\n aria-activedescendant={ctx.activeId ?? undefined}\n aria-autocomplete=\"list\"\n placeholder={placeholder}\n value={ctx.inputValue}\n onChange={(e) => ctx.setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n className={cn(\n 'flex h-12 w-full bg-transparent text-sm text-foreground placeholder:text-subtle-foreground outline-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n />\n </div>\n );\n },\n);\n\nexport type CommandPaletteListProps = HTMLAttributes<HTMLDivElement>;\n\nexport const CommandPaletteList = forwardRef<HTMLDivElement, CommandPaletteListProps>(\n function CommandPaletteList({ className, children, ...rest }, forwardedRef) {\n const ctx = useCommandPaletteContext();\n return (\n <div\n ref={forwardedRef}\n id={ctx.listboxId}\n role=\"listbox\"\n aria-labelledby={ctx.inputId}\n className={cn('max-h-80 overflow-y-auto p-1', className)}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nexport interface CommandPaletteGroupProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode;\n}\n\nexport function CommandPaletteGroup({\n label,\n children,\n className,\n ...rest\n}: CommandPaletteGroupProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n className={className}\n {...rest}\n >\n {label && (\n <div id={labelId} className={listboxGroupLabelVariants()}>\n {label}\n </div>\n )}\n {children}\n </div>\n );\n}\n\nexport function CommandPaletteSeparator(props: HTMLAttributes<HTMLDivElement>) {\n return <div role=\"separator\" className={listboxSeparatorVariants()} {...props} />;\n}\n\nexport interface CommandPaletteItemProps extends HTMLAttributes<HTMLDivElement> {\n value: string;\n /** Text used by the filter; defaults to `value`. Pass when children include icons. */\n searchText?: string;\n isDisabled?: boolean;\n onSelect?: () => void;\n closeOnSelect?: boolean;\n children: ReactNode;\n}\n\nexport const CommandPaletteItem = forwardRef<HTMLDivElement, CommandPaletteItemProps>(\n function CommandPaletteItem(\n {\n value,\n searchText,\n isDisabled = false,\n onSelect,\n closeOnSelect = true,\n className,\n children,\n onClick,\n onPointerEnter,\n ...rest\n },\n forwardedRef,\n ) {\n const ctx = useCommandPaletteContext();\n const id = useId();\n\n // Resolve text for filter — fall back to children if string.\n const resolvedSearch =\n searchText ??\n (typeof children === 'string' ? children : Array.isArray(children) ? children.filter((c) => typeof c === 'string').join(' ') : value);\n\n // Depend on stable callbacks, not `ctx`: registering bumps registryVersion (new ctx identity), which would re-run this effect forever.\n const { registerItem, unregisterItem } = ctx;\n useEffect(() => {\n registerItem({\n id,\n value,\n searchText: resolvedSearch,\n disabled: isDisabled,\n onSelect: () => onSelect?.(),\n closeOnSelect,\n });\n return () => unregisterItem(id);\n }, [registerItem, unregisterItem, id, value, resolvedSearch, isDisabled, onSelect, closeOnSelect]);\n\n // Hide if filtered out.\n const matches = ctx.inputValue === '' || ctx.filter(resolvedSearch, ctx.inputValue);\n if (!matches) return null;\n\n const isActive = ctx.activeId === id;\n const state = isDisabled ? 'disabled' : isActive ? 'active' : 'default';\n\n return (\n <div\n ref={forwardedRef}\n id={id}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={isDisabled || undefined}\n data-active={isActive ? '' : undefined}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented || isDisabled) return;\n onSelect?.();\n if (closeOnSelect) ctx.setOpen(false);\n }}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (!isDisabled) ctx.setActiveId(id);\n }}\n className={cn(listboxItemVariants({ state }), className)}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nexport type CommandPaletteEmptyProps = HTMLAttributes<HTMLDivElement>;\n\nexport const CommandPaletteEmpty = forwardRef<HTMLDivElement, CommandPaletteEmptyProps>(\n function CommandPaletteEmpty({ className, children, ...rest }, forwardedRef) {\n const ctx = useCommandPaletteContext();\n // Show only when zero items match.\n const matchCount = ctx.itemsRef.current.filter(\n (i) => ctx.inputValue === '' || ctx.filter(i.searchText, ctx.inputValue),\n ).length;\n if (matchCount > 0) return null;\n return (\n <div\n ref={forwardedRef}\n role=\"presentation\"\n className={cn(listboxEmptyVariants(), className)}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nexport const CommandPalette = Object.assign(CommandPaletteRoot, {\n Content: CommandPaletteContent,\n Input: CommandPaletteInput,\n List: CommandPaletteList,\n Group: CommandPaletteGroup,\n Item: CommandPaletteItem,\n Empty: CommandPaletteEmpty,\n Separator: CommandPaletteSeparator,\n});\n\nexport default CommandPalette;\n","import { useEffect, useState, type ReactNode } from 'react';\n\nexport interface UseScrollSpyOptions {\n rootMargin?: string;\n threshold?: number | number[];\n /** Element to observe within. Defaults to viewport. */\n root?: Element | Document | null;\n}\n\n/**\n * Track which of `ids` is currently the topmost in-view section.\n * Uses `IntersectionObserver` — returns `null` until the first intersection.\n */\nexport function useScrollSpy(\n ids: string[],\n { rootMargin = '0px 0px -60% 0px', threshold = 0, root = null }: UseScrollSpyOptions = {},\n): string | null {\n const [activeId, setActiveId] = useState<string | null>(null);\n\n useEffect(() => {\n if (typeof IntersectionObserver === 'undefined' || ids.length === 0) return;\n\n const seen = new Map<string, number>(); // id → top offset\n const elements = ids\n .map((id) => document.getElementById(id))\n .filter((el): el is HTMLElement => el != null);\n\n const observer = new IntersectionObserver(\n (entries) => {\n for (const e of entries) {\n if (e.isIntersecting) {\n seen.set(e.target.id, e.boundingClientRect.top);\n } else {\n seen.delete(e.target.id);\n }\n }\n if (seen.size === 0) return;\n // Pick the section whose top is closest to (but above) the rootMargin band.\n let bestId: string | null = null;\n let bestTop = Number.POSITIVE_INFINITY;\n for (const [id, top] of seen) {\n if (top < bestTop) {\n bestTop = top;\n bestId = id;\n }\n }\n setActiveId(bestId);\n },\n { rootMargin, threshold, root: root as Element | Document | null },\n );\n\n for (const el of elements) observer.observe(el);\n return () => observer.disconnect();\n }, [ids, rootMargin, threshold, root]);\n\n return activeId;\n}\n\nexport interface ScrollSpyProps extends UseScrollSpyOptions {\n ids: string[];\n onActiveChange?: (id: string | null) => void;\n children?: (ctx: { activeId: string | null }) => ReactNode;\n}\n\n/**\n * Render-prop variant of `useScrollSpy`. Emits `activeId` via callback or\n * render prop. Renders nothing by default.\n */\nexport function ScrollSpy({\n ids,\n rootMargin,\n threshold,\n root,\n onActiveChange,\n children,\n}: ScrollSpyProps) {\n const activeId = useScrollSpy(ids, { rootMargin, threshold, root });\n\n useEffect(() => {\n onActiveChange?.(activeId);\n }, [activeId, onActiveChange]);\n\n return children ? <>{children({ activeId })}</> : null;\n}\n","import {\n forwardRef,\n useEffect,\n useMemo,\n useState,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n} from 'react';\nimport { cn } from '../../utils';\nimport { useScrollSpy } from '../scrollSpy/ScrollSpy';\n\nexport interface TableOfContentsItem {\n id: string;\n label: ReactNode;\n /** Indent level. 0 = top, 1 = nested, … */\n depth?: number;\n}\n\nexport interface TableOfContentsProps extends HTMLAttributes<HTMLElement> {\n items?: TableOfContentsItem[];\n /** Auto-extract from this element's headings. */\n source?: RefObject<HTMLElement>;\n /** CSS selector used with `source`. Default `h2, h3`. */\n headingSelector?: string;\n /** Override the auto-derived active id. */\n activeId?: string | null;\n /** Apply `sticky top-4 self-start` helper classes. */\n isSticky?: boolean;\n}\n\nfunction depthFromTagName(tag: string): number {\n const match = /^H([1-6])$/i.exec(tag);\n return match ? Number(match[1]) - 2 : 0; // h2 → 0, h3 → 1, h4 → 2\n}\n\n/**\n * Outline of headings — `items` (explicit) or `source` (auto-extract).\n * Active entry derived from `useScrollSpy` over the headings' IDs.\n */\nexport const TableOfContents = forwardRef<HTMLElement, TableOfContentsProps>(\n function TableOfContents(\n {\n items: itemsProp,\n source,\n headingSelector = 'h2, h3',\n activeId: activeIdProp,\n isSticky,\n className,\n ...rest\n },\n ref,\n ) {\n const [extracted, setExtracted] = useState<TableOfContentsItem[]>([]);\n\n useEffect(() => {\n if (itemsProp || !source?.current) return;\n const root = source.current;\n const headings = Array.from(root.querySelectorAll<HTMLElement>(headingSelector));\n const list = headings\n .filter((h) => h.id)\n .map((h) => ({\n id: h.id,\n label: h.textContent ?? '',\n depth: Math.max(0, depthFromTagName(h.tagName)),\n }));\n setExtracted(list);\n }, [itemsProp, source, headingSelector]);\n\n const items = itemsProp ?? extracted;\n const ids = useMemo(() => items.map((i) => i.id), [items]);\n const spyId = useScrollSpy(ids);\n const activeId = activeIdProp !== undefined ? activeIdProp : spyId;\n\n if (items.length === 0) return null;\n\n return (\n <nav\n ref={ref}\n aria-label=\"Table of contents\"\n className={cn(isSticky && 'sticky top-4 self-start', className)}\n {...rest}\n >\n <ul className=\"space-y-1 text-sm\">\n {items.map((item) => {\n const isActive = item.id === activeId;\n const depth = item.depth ?? 0;\n return (\n <li\n key={item.id}\n style={{ paddingLeft: depth * 12 }}\n >\n <a\n href={`#${item.id}`}\n aria-current={isActive ? 'location' : undefined}\n className={cn(\n 'block rounded-sm px-2 py-1 transition-colors',\n isActive\n ? 'bg-muted font-medium text-foreground'\n : 'text-muted-foreground hover:bg-muted/40 hover:text-foreground',\n )}\n >\n {item.label}\n </a>\n </li>\n );\n })}\n </ul>\n </nav>\n );\n },\n);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/index.ts","../src/utils/composeEventHandlers/composeEventHandlers.ts","../src/utils/dataAttr/dataAttr.ts","../src/utils/CssExtensions/CssExtensions.ts","../src/utils/ColorExtensions/ColorExtensions.ts","../src/utils/OptionalExtensions/OptionalExtensions.ts","../src/utils/PressExtensions/PressExtensions.ts","../src/utils/HtmlExtensions/HtmlExtensions.ts","../src/utils/KeyboardExtensions/KeyboardExtensions.ts","../src/utils/Environment/Environment.ts","../src/utils/TransitionExtensions/TransitionExtensions.ts","../src/utils/Tones/Tones.ts","../src/utils/SurfaceStyles/SurfaceStyles.ts","../src/utils/Layers/Layers.ts","../src/utils/Equality/Equality.ts"],"names":[],"mappings":"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","file":"chunk-XSW3NZDD.js","sourcesContent":["export { cn } from './cn';\nexport { composeRefs } from './composeRefs';\nexport { composeEventHandlers } from './composeEventHandlers';\nexport { dataAttr } from './dataAttr';\nexport { tv, type VariantProps } from './tv';\nexport type {\n PolymorphicProps,\n PolymorphicPropsWithoutRef,\n PolymorphicRef,\n} from './polymorphic';\nexport { CssExtensions } from './CssExtensions';\nexport type {\n PaddingToken,\n RadiusToken,\n SizeValue,\n PaddingProp,\n RadiusProp,\n BoxSizeOverrides,\n SizeUnion,\n SizePreset,\n AbsolutePositionPreset,\n AbsoluteInsetOverrides,\n AbsolutePosition,\n} from './CssExtensions';\nexport { ColorExtensions } from './ColorExtensions';\nexport type { ColorTone, ColorOverride, ColorProp } from './ColorExtensions';\nexport { OptionalExtensions } from './OptionalExtensions';\nexport { PressExtensions, type PressEvent } from './PressExtensions';\nexport { HtmlElement, ButtonType } from './HtmlExtensions';\nexport { Key } from './KeyboardExtensions';\nexport { Environment, IS_DEV, IS_PRODUCTION } from './Environment';\nexport { TransitionExtensions } from './TransitionExtensions';\nexport type {\n PresenceAnimationDurationProp,\n PresenceAnimationDuration,\n} from './TransitionExtensions';\nexport { surfaceVariants } from './SurfaceStyles';\nexport type {\n SurfaceVariants,\n SurfaceVariant,\n SurfaceTone,\n SurfaceRadius,\n SurfacePadding,\n SurfaceElevation,\n} from './SurfaceStyles';\nexport { Layer, layerStyle, type LayerName } from './Layers';\nexport { Equality, type EqualityComparer } from './Equality';\nexport type { Tone, Size, Radius, Padding, Elevation } from './StyleTokens';\nexport { Tones, type ToneFamily } from './Tones';\n","import type { SyntheticEvent } from 'react';\n\n/**\n * Chain two event handlers. The first handler runs, then the second — unless\n * the first called `event.preventDefault()`, in which case the second is skipped.\n * Use when overriding a default handler from a parent while still allowing\n * the consumer to provide their own.\n */\nexport function composeEventHandlers<E extends SyntheticEvent>(\n theirHandler: ((event: E) => void) | undefined,\n ourHandler: (event: E) => void,\n { checkForDefaultPrevented = true }: { checkForDefaultPrevented?: boolean } = {},\n): (event: E) => void {\n return (event) => {\n theirHandler?.(event);\n if (!checkForDefaultPrevented || !event.defaultPrevented) {\n ourHandler(event);\n }\n };\n}\n","/**\n * Returns `\"\"` when the condition is true, `undefined` otherwise.\n * Use for boolean `data-*` attributes — React strips the attr when value is undefined,\n * so the DOM cleanly toggles `data-state` rather than `data-state=\"false\"`.\n */\nexport function dataAttr(condition: boolean | undefined): '' | undefined {\n return condition ? '' : undefined;\n}\n","import type { CSSProperties } from 'react';\n\n/** CSS-value extensions — types, token maps, resolvers. Call as `CssExtensions.x(...)`. */\n\n// =============================================================================\n// Tokens (types — individually exported; types are erased, no shaking concern)\n// =============================================================================\n\nexport type PaddingToken = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type RadiusToken = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\nexport type SizeValue = string | number;\nexport type PaddingProp = PaddingToken | { x?: SizeValue; y?: SizeValue };\nexport type RadiusProp = RadiusToken | SizeValue;\nexport interface BoxSizeOverrides {\n width?: SizeValue;\n height?: SizeValue;\n minWidth?: SizeValue;\n minHeight?: SizeValue;\n maxWidth?: SizeValue;\n maxHeight?: SizeValue;\n /** Shorthand for square boxes — applied as fallback for both `width` and `height`. Explicit `width`/`height` win when both are set. */\n boxSize?: SizeValue;\n /** CSS `aspect-ratio`. String like `'16/9'` or number like `1.5`. Pairs naturally with a single width/height. */\n aspectRatio?: string | number;\n}\n\n/** Canonical size preset vocabulary — shared across components. Each component picks the subset it supports via `Extract<SizePreset, ...>` and owns its internal dimension mapping. */\nexport type SizePreset = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\n/* Absolute-positioning tokens — preset 9-anchor enum + raw inset overrides. */\n\nexport type AbsolutePositionPreset =\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'center';\n\nexport interface AbsoluteInsetOverrides {\n top?: SizeValue;\n right?: SizeValue;\n bottom?: SizeValue;\n left?: SizeValue;\n}\n\nexport type AbsolutePosition = AbsolutePositionPreset | AbsoluteInsetOverrides;\n\n// =============================================================================\n// Token → CSS maps\n// =============================================================================\n\nconst PADDING_TOKEN_TO_CSS: Record<Exclude<PaddingToken, 'none'>, string> = {\n xs: '0.5rem',\n sm: '0.75rem',\n md: '1rem',\n lg: '1.5rem',\n xl: '2rem',\n};\n\nconst RADIUS_TOKEN_TO_CSS: Record<Exclude<RadiusToken, 'none' | 'full'>, string> = {\n xs: '0.125rem',\n sm: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n};\n\n// =============================================================================\n// Internal resolvers\n// =============================================================================\n\nfunction toCss(v: SizeValue): string {\n return typeof v === 'number' ? `${v}px` : v;\n}\n\nfunction resolvePadding(padding: PaddingProp | undefined): CSSProperties | undefined {\n if (!padding) return undefined;\n if (typeof padding === 'string') {\n if (padding === 'none') {\n return { paddingLeft: 0, paddingRight: 0, paddingTop: 0, paddingBottom: 0 };\n }\n const v = PADDING_TOKEN_TO_CSS[padding];\n return { paddingLeft: v, paddingRight: v, paddingTop: v, paddingBottom: v };\n }\n const style: CSSProperties = {};\n if (padding.x !== undefined) {\n const v = toCss(padding.x);\n style.paddingLeft = v;\n style.paddingRight = v;\n }\n if (padding.y !== undefined) {\n const v = toCss(padding.y);\n style.paddingTop = v;\n style.paddingBottom = v;\n }\n return style;\n}\n\nfunction resolveRadius(radius: RadiusProp | undefined): CSSProperties | undefined {\n if (radius === undefined || radius === null) return undefined;\n if (typeof radius === 'number') return { borderRadius: `${radius}px` };\n if (radius === 'none') return { borderRadius: 0 };\n if (radius === 'full') return { borderRadius: '9999px' };\n if (radius in RADIUS_TOKEN_TO_CSS) {\n return {\n borderRadius:\n RADIUS_TOKEN_TO_CSS[radius as Exclude<RadiusToken, 'none' | 'full'>],\n };\n }\n return { borderRadius: radius };\n}\n\nfunction resolveBoxSize(overrides: BoxSizeOverrides): CSSProperties | undefined {\n const style: CSSProperties = {};\n let hasAny = false;\n // boxSize is the fallback for width AND height — explicit dims win.\n const effectiveWidth = overrides.width ?? overrides.boxSize;\n const effectiveHeight = overrides.height ?? overrides.boxSize;\n if (effectiveWidth !== undefined) {\n style.width = toCss(effectiveWidth);\n hasAny = true;\n }\n if (effectiveHeight !== undefined) {\n style.height = toCss(effectiveHeight);\n hasAny = true;\n }\n if (overrides.minWidth !== undefined) {\n style.minWidth = toCss(overrides.minWidth);\n hasAny = true;\n }\n if (overrides.minHeight !== undefined) {\n style.minHeight = toCss(overrides.minHeight);\n hasAny = true;\n }\n if (overrides.maxWidth !== undefined) {\n style.maxWidth = toCss(overrides.maxWidth);\n hasAny = true;\n }\n if (overrides.maxHeight !== undefined) {\n style.maxHeight = toCss(overrides.maxHeight);\n hasAny = true;\n }\n if (overrides.aspectRatio !== undefined) {\n style.aspectRatio = String(overrides.aspectRatio);\n hasAny = true;\n }\n return hasAny ? style : undefined;\n}\n\n/** Union type for size props that accept either a named preset, a raw value (applied as `boxSize`), or an explicit dim object. */\nexport type SizeUnion<P extends string> =\n | P\n | (string & {}) // keeps preset literals in autocomplete while accepting any CSS unit string\n | number\n | BoxSizeOverrides;\n\n/**\n * Parse a union-style size prop into (a) a preset name (if matched), or (b) a `BoxSizeOverrides` payload.\n *\n * Resolution order:\n * - `undefined` → `{}`\n * - object → `{ box: input }`\n * - preset string → `{ preset: input }`\n * - any other string → `{ box: { boxSize: input } }`\n * - number → `{ box: { boxSize: input } }`\n */\nfunction parseSizeUnion<P extends string>(\n input: SizeUnion<P> | undefined,\n presets: ReadonlySet<string>,\n): { preset?: P; box?: BoxSizeOverrides } {\n if (input === undefined) return {};\n if (typeof input === 'object' && input !== null) return { box: input };\n if (typeof input === 'string' && presets.has(input)) return { preset: input as P };\n if (typeof input === 'number' || typeof input === 'string') {\n return { box: { boxSize: input } };\n }\n return {};\n}\n\n// =============================================================================\n// Grouped namespace export\n// =============================================================================\n\nexport const CssExtensions = {\n toCss,\n resolvePadding,\n resolveRadius,\n resolveBoxSize,\n parseSizeUnion,\n PADDING_TOKEN_TO_CSS,\n RADIUS_TOKEN_TO_CSS,\n} as const;\n","import type { CSSProperties } from 'react';\n\n/* Tone vocabulary shared by tone-aware components (Button, Checkbox, ToggleButton, Tag, Alert, etc.). */\nexport type ColorTone = 'primary' | 'neutral' | 'danger' | 'success' | 'warning';\n\n/* Explicit color overrides for the active tone's slot set. Pair with a base `tone` prop on the component. */\nexport interface ColorOverride {\n /* Main background / fill color. Drives `bg-{tone}`, `hover:bg-{tone}/X`, `active:bg-{tone}/X`, `border-{tone}`, `ring-{tone}`. */\n bg?: string;\n\n /* Text/icon color on top of `bg`. Drives `text-{tone}-foreground`. */\n text?: string;\n\n /* Light tinted background for soft variants. Drives `bg-{tone}-soft`. */\n soft?: string;\n\n /* Text on top of `soft` background. Drives `text-{tone}-soft-foreground`. */\n softText?: string;\n\n /* Focus ring color override (else inherits the component's tone). */\n ring?: string;\n}\n\n/* Accepted shapes for the `color` prop: a single seed string (lib derives rest) OR an explicit slot override object. */\nexport type ColorProp = string | ColorOverride;\n\n/* Per-tone CSS variable name suffixes (after `--color-`). */\nconst TONE_TOKEN_MAP: Record<\n ColorTone,\n { main: string; fg: string; soft: string; softFg: string }\n> = {\n primary: { main: 'primary', fg: 'primary-foreground', soft: 'primary-soft', softFg: 'primary-soft-foreground' },\n neutral: { main: 'foreground', fg: 'background', soft: 'muted', softFg: 'foreground' },\n danger: { main: 'destructive', fg: 'destructive-foreground', soft: 'destructive-soft', softFg: 'destructive-soft-foreground' },\n success: { main: 'success', fg: 'success-foreground', soft: 'success-soft', softFg: 'success-soft-foreground' },\n warning: { main: 'warning', fg: 'warning-foreground', soft: 'warning-soft', softFg: 'warning-soft-foreground' },\n};\n\n/**\n * Convert a `color` / `colors` prop into a CSS-variable override style for\n * the active tone's slot set. Returned style overrides the component's theme\n * tokens locally — every Tailwind utility (`bg-{tone}`, `hover:bg-{tone}/X`,\n * `text-{tone}-foreground`, etc.) that references the var picks it up\n * automatically. No variant config refactor required.\n *\n * Single-seed mode (`input` is a string):\n * - `bg` ← seed\n * - `text` ← white (default contrast; override via `colors.text`)\n * - `soft` ← seed mixed 12% over white via `color-mix(in oklch, ...)`\n * - `softText` ← seed\n * - `ring` ← seed\n *\n * Object mode (`input` is a `ColorOverride`):\n * - Each slot independently overridable; unset slots retain the theme default.\n */\nfunction toneColorOverride(\n input: ColorProp | undefined,\n tone: ColorTone | undefined,\n): CSSProperties | undefined {\n if (input === undefined || input === null) return undefined;\n const activeTone = tone ?? 'primary';\n const tokens = TONE_TOKEN_MAP[activeTone];\n const out: Record<string, string> = {};\n\n if (typeof input === 'string') {\n out[`--color-${tokens.main}`] = input;\n out[`--color-${tokens.fg}`] = '#ffffff';\n out[`--color-${tokens.soft}`] = `color-mix(in oklch, ${input} 12%, white)`;\n out[`--color-${tokens.softFg}`] = input;\n out['--color-ring'] = input;\n } else {\n if (input.bg !== undefined) out[`--color-${tokens.main}`] = input.bg;\n if (input.text !== undefined) out[`--color-${tokens.fg}`] = input.text;\n if (input.soft !== undefined) out[`--color-${tokens.soft}`] = input.soft;\n if (input.softText !== undefined) out[`--color-${tokens.softFg}`] = input.softText;\n if (input.ring !== undefined) out['--color-ring'] = input.ring;\n }\n\n return Object.keys(out).length > 0 ? (out as CSSProperties) : undefined;\n}\n\n// =============================================================================\n// Grouped namespace export\n// =============================================================================\n\nexport const ColorExtensions = {\n toneColorOverride,\n TONE_TOKEN_MAP,\n} as const;\n","/** Optional value extensions — call as `OptionalExtensions.x(...)`. */\n\n/**\n * Construct an optional from a `(condition, value)` pair: returns `value` when\n * `condition` is truthy, otherwise `undefined`. Use to keep DOM attributes\n * absent when their default/false meaning is what we want (e.g. `aria-busy`,\n * `tabIndex`, `disabled`).\n */\nfunction from<T>(condition: unknown, value: T): T | undefined {\n return condition ? value : undefined;\n}\n\nexport const OptionalExtensions = {\n from,\n} as const;\n","import type { KeyboardEvent, PointerEvent } from 'react';\n\n/** Press-interaction extensions — types + constants shared by interactive components. */\n\n/** Unified press event — pointer OR keyboard activation on any HTML element. */\nexport type PressEvent<T extends HTMLElement = HTMLElement> =\n | PointerEvent<T>\n | KeyboardEvent<T>;\n\nexport const PressExtensions = {\n /**\n * Bounds for `longPressDelay` props. Below `min`: overlaps with normal\n * click latency, too easy to trigger accidentally. Above `max`: clearly a\n * developer error (5-min hold). `default` is the conventional 500ms.\n */\n longPressDelay: {\n min: 200,\n max: 300_000,\n default: 500,\n },\n} as const;\n","/* HTML attribute & element value enums (const + type pairs). */\n\n/* HTML element tag names — for JSX intrinsics and polymorphic `Comp` variables. */\nexport const HtmlElement = {\n Button: 'button',\n Anchor: 'a',\n Span: 'span',\n Div: 'div',\n} as const;\nexport type HtmlElement = (typeof HtmlElement)[keyof typeof HtmlElement];\n\n/* HTML `<button type=\"\">` attribute. */\nexport const ButtonType = {\n Button: 'button',\n Submit: 'submit',\n Reset: 'reset',\n} as const;\nexport type ButtonType = (typeof ButtonType)[keyof typeof ButtonType];\n","/* Keyboard key values from `KeyboardEvent.key`. Add new entries as components need them. */\nexport const Key = {\n Space: ' ',\n Enter: 'Enter',\n Escape: 'Escape',\n Tab: 'Tab',\n Backspace: 'Backspace',\n Delete: 'Delete',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n} as const;\nexport type Key = (typeof Key)[keyof typeof Key];\n","/* Build-environment value set + derived flags. Follows the library's const-object\n enum pattern (cf. HtmlElement, ButtonType, Key) — not a domain enum. */\n\nexport const Environment = {\n Development: 'development',\n Production: 'production',\n Test: 'test',\n} as const;\nexport type Environment = (typeof Environment)[keyof typeof Environment];\n\n/* Gate dev-only warnings/affordances on these. The literal `'production'` is kept\n inline so the consumer's bundler folds it and dev branches dead-code-eliminate. */\nexport const IS_DEV = process.env.NODE_ENV !== 'production';\nexport const IS_PRODUCTION = !IS_DEV;\n","/* Transition / animation utility extensions — duration normalization, defaults. Call as `TransitionExtensions.x(...)`. */\n\n// =============================================================================\n// Types — presence-style asymmetric durations (enter/exit). Not every animation\n// has an enter/exit phase (loops, one-shots, springs); this shape applies\n// specifically to mount/unmount or appear/disappear transitions.\n// =============================================================================\n\n/** Input prop — symmetric number OR asymmetric `{ enter, exit }`. */\nexport type PresenceAnimationDurationProp =\n | number\n | { enter?: number; exit?: number };\n\n/** Resolved (canonical) — both sides always present. */\nexport interface PresenceAnimationDuration {\n enter: number;\n exit: number;\n}\n\n// =============================================================================\n// Defaults\n// =============================================================================\n\nconst DEFAULT_DURATION_MS = 200;\n\n// =============================================================================\n// Internal resolvers\n// =============================================================================\n\nfunction resolveDuration(\n d: PresenceAnimationDurationProp | undefined,\n): PresenceAnimationDuration {\n if (typeof d === 'number') return { enter: d, exit: d };\n if (d && typeof d === 'object') {\n return {\n enter: d.enter ?? DEFAULT_DURATION_MS,\n exit: d.exit ?? DEFAULT_DURATION_MS,\n };\n }\n return { enter: DEFAULT_DURATION_MS, exit: DEFAULT_DURATION_MS };\n}\n\n// =============================================================================\n// Grouped namespace export\n// =============================================================================\n\nexport const TransitionExtensions = {\n resolveDuration,\n duration: { default: DEFAULT_DURATION_MS },\n} as const;\n","import type { Tone } from '../StyleTokens';\n\n/* Contains the (variant-family × tone) → Tailwind class lookup shared between\n `surfaceVariants` and `buttonVariants` (and any future variant config). */\n\n/** Represents a tone-family — the variant group that picks the same bg/border/text palette. */\nexport type ToneFamily =\n | 'solid'\n | 'soft'\n | 'surface'\n | 'outline'\n | 'glass'\n | 'glassOutline'\n | 'subtle';\n\n/** Contains the cross-engine palette: bg / text (+ border where applicable) per tone-family × tone. */\nexport const Tones: Record<ToneFamily, Record<Tone, string>> = {\n /** Opaque tone bg + foreground. Used by `solid`, `elevated`, `flat`, button defaults. */\n solid: {\n neutral: 'bg-popover text-popover-foreground',\n primary: 'bg-primary text-primary-foreground',\n danger: 'bg-destructive text-destructive-foreground',\n success: 'bg-success text-success-foreground',\n warning: 'bg-warning text-warning-foreground',\n info: 'bg-info text-info-foreground',\n },\n /** Muted/tinted bg + tone-readable foreground. */\n soft: {\n neutral: 'bg-muted text-foreground',\n primary: 'bg-primary-soft text-primary',\n danger: 'bg-destructive-soft text-destructive',\n success: 'bg-success-soft text-success',\n warning: 'bg-warning-soft text-warning',\n info: 'bg-info-soft text-info',\n },\n /** Popover bg + tone-accent border. The \"default\" subtle look. */\n surface: {\n neutral: 'border-border bg-popover text-popover-foreground',\n primary: 'border-primary/40 bg-popover text-popover-foreground',\n danger: 'border-destructive/40 bg-popover text-popover-foreground',\n success: 'border-success/40 bg-popover text-popover-foreground',\n warning: 'border-warning/40 bg-popover text-popover-foreground',\n info: 'border-info/40 bg-popover text-popover-foreground',\n },\n /** Transparent bg, tone border + tone text. */\n outline: {\n neutral: 'border-border text-foreground',\n primary: 'border-primary text-primary',\n danger: 'border-destructive text-destructive',\n success: 'border-success text-success',\n warning: 'border-warning text-warning',\n info: 'border-info text-info',\n },\n /** Translucent tone bg + blur — used by `glass`. */\n glass: {\n neutral: 'bg-popover/70 text-popover-foreground',\n primary: 'bg-primary/30 text-primary-foreground',\n danger: 'bg-destructive/30 text-destructive-foreground',\n success: 'bg-success/30 text-success-foreground',\n warning: 'bg-warning/30 text-warning-foreground',\n info: 'bg-info/30 text-info-foreground',\n },\n /** Glass + tone-accent border at 50% alpha. */\n glassOutline: {\n neutral: 'border-border/50 bg-popover/70 text-popover-foreground',\n primary: 'border-primary/50 bg-primary/30 text-primary-foreground',\n danger: 'border-destructive/50 bg-destructive/30 text-destructive-foreground',\n success: 'border-success/50 bg-success/30 text-success-foreground',\n warning: 'border-warning/50 bg-warning/30 text-warning-foreground',\n info: 'border-info/50 bg-info/30 text-info-foreground',\n },\n /**\n * Low-alpha tinted fill + neutral `border-border`, no shadow. The understated\n * \"tinted panel / section band\" look — quieter than `soft`, flatter than `surface`.\n * Neutral fills from the muted token; coloured tones tint their `-soft` token at low alpha.\n */\n subtle: {\n neutral: 'border-border bg-muted/30 text-foreground',\n primary: 'border-primary/20 bg-primary-soft/60 text-foreground',\n danger: 'border-destructive/20 bg-destructive-soft/60 text-foreground',\n success: 'border-success/20 bg-success-soft/60 text-foreground',\n warning: 'border-warning/20 bg-warning-soft/60 text-foreground',\n info: 'border-info/20 bg-info-soft/60 text-foreground',\n },\n};\n","/* Provides the cross-domain surface style engine — variant × tone × radius × padding × elevation. */\n\nimport { tv, type VariantProps } from '../tv';\nimport { Tones } from '../Tones';\n\n/** Provides the tailwind-variants config for every \"block with a visual treatment\" surface. */\nexport const surfaceVariants = tv({\n base: 'outline-none transition-colors',\n variants: {\n variant: {\n /* Opaque fill, no border, light shadow — tooltips, chips, inline pills. */\n solid: 'shadow-sm',\n /* Muted/tinted fill, no border, light shadow — chat bubbles, inline groups. */\n soft: 'shadow-sm',\n /* Opaque fill + visible border + medium shadow — default for popovers/menus. */\n surface: 'border shadow-md',\n /* Transparent fill + visible border — static cards, embedded info blocks. */\n outline: 'border bg-transparent',\n /* Translucent + blur, no border, medium shadow — image overlays. */\n glass: 'backdrop-blur-md shadow-md',\n /* Translucent + blur + subtle border — premium / hero overlays. */\n 'glass-outline': 'border backdrop-blur-md shadow-md',\n /* Opaque fill, no border, heavy shadow — modals, drawers, command palette. */\n elevated: 'shadow-xl',\n /* Opaque fill, no border, no shadow — embedded sub-panels inside another surface. */\n flat: '',\n /* Low-alpha tinted fill + neutral border, no shadow — section bands, tinted panels. */\n subtle: 'border',\n },\n\n tone: { neutral: '', primary: '', danger: '', success: '', warning: '', info: '' },\n\n radius: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n full: 'rounded-full',\n },\n\n padding: {\n none: 'p-0',\n xs: 'p-1',\n sm: 'p-2',\n md: 'p-3',\n lg: 'p-4',\n xl: 'p-6',\n '2xl': 'p-8',\n },\n\n /* Optional shadow override — beats variant's default shadow via tailwind-merge precedence. */\n elevation: {\n 0: 'shadow-none',\n 1: 'shadow-sm',\n 2: 'shadow-md',\n 3: 'shadow-lg',\n 4: 'shadow-xl',\n 5: 'shadow-2xl',\n },\n\n /* Optional ambient gradient overlay — layers over the variant's bg-color. Dark-leaning: `sheen` lifts the top edge (≈ invisible on light), `glow` adds a primary-tinted corner wash. */\n ambient: {\n none: '',\n sheen: 'surface-sheen',\n glow: 'surface-glow',\n },\n },\n\n compoundVariants: [\n /* solid / elevated / flat share the same palette — opaque tone bg + tone foreground. */\n { variant: ['solid', 'elevated', 'flat'], tone: 'neutral', class: Tones.solid.neutral },\n { variant: ['solid', 'elevated', 'flat'], tone: 'primary', class: Tones.solid.primary },\n { variant: ['solid', 'elevated', 'flat'], tone: 'danger', class: Tones.solid.danger },\n { variant: ['solid', 'elevated', 'flat'], tone: 'success', class: Tones.solid.success },\n { variant: ['solid', 'elevated', 'flat'], tone: 'warning', class: Tones.solid.warning },\n { variant: ['solid', 'elevated', 'flat'], tone: 'info', class: Tones.solid.info },\n\n /* soft — muted/tinted bg, tone-readable text. */\n { variant: 'soft', tone: 'neutral', class: Tones.soft.neutral },\n { variant: 'soft', tone: 'primary', class: Tones.soft.primary },\n { variant: 'soft', tone: 'danger', class: Tones.soft.danger },\n { variant: 'soft', tone: 'success', class: Tones.soft.success },\n { variant: 'soft', tone: 'warning', class: Tones.soft.warning },\n { variant: 'soft', tone: 'info', class: Tones.soft.info },\n\n /* surface — popover bg + tone-accent border. */\n { variant: 'surface', tone: 'neutral', class: Tones.surface.neutral },\n { variant: 'surface', tone: 'primary', class: Tones.surface.primary },\n { variant: 'surface', tone: 'danger', class: Tones.surface.danger },\n { variant: 'surface', tone: 'success', class: Tones.surface.success },\n { variant: 'surface', tone: 'warning', class: Tones.surface.warning },\n { variant: 'surface', tone: 'info', class: Tones.surface.info },\n\n /* outline — transparent fill, tone border + tone text. */\n { variant: 'outline', tone: 'neutral', class: Tones.outline.neutral },\n { variant: 'outline', tone: 'primary', class: Tones.outline.primary },\n { variant: 'outline', tone: 'danger', class: Tones.outline.danger },\n { variant: 'outline', tone: 'success', class: Tones.outline.success },\n { variant: 'outline', tone: 'warning', class: Tones.outline.warning },\n { variant: 'outline', tone: 'info', class: Tones.outline.info },\n\n /* glass — translucent tinted fill + blur. */\n { variant: 'glass', tone: 'neutral', class: Tones.glass.neutral },\n { variant: 'glass', tone: 'primary', class: Tones.glass.primary },\n { variant: 'glass', tone: 'danger', class: Tones.glass.danger },\n { variant: 'glass', tone: 'success', class: Tones.glass.success },\n { variant: 'glass', tone: 'warning', class: Tones.glass.warning },\n { variant: 'glass', tone: 'info', class: Tones.glass.info },\n\n /* glass-outline — glass + tone border at 50% alpha. */\n { variant: 'glass-outline', tone: 'neutral', class: Tones.glassOutline.neutral },\n { variant: 'glass-outline', tone: 'primary', class: Tones.glassOutline.primary },\n { variant: 'glass-outline', tone: 'danger', class: Tones.glassOutline.danger },\n { variant: 'glass-outline', tone: 'success', class: Tones.glassOutline.success },\n { variant: 'glass-outline', tone: 'warning', class: Tones.glassOutline.warning },\n { variant: 'glass-outline', tone: 'info', class: Tones.glassOutline.info },\n\n /* subtle — low-alpha tinted fill + neutral border, no shadow. */\n { variant: 'subtle', tone: 'neutral', class: Tones.subtle.neutral },\n { variant: 'subtle', tone: 'primary', class: Tones.subtle.primary },\n { variant: 'subtle', tone: 'danger', class: Tones.subtle.danger },\n { variant: 'subtle', tone: 'success', class: Tones.subtle.success },\n { variant: 'subtle', tone: 'warning', class: Tones.subtle.warning },\n { variant: 'subtle', tone: 'info', class: Tones.subtle.info },\n ],\n\n defaultVariants: {\n variant: 'surface',\n tone: 'neutral',\n radius: 'md',\n padding: 'none',\n },\n});\n\n/** Represents the union of every surface variant prop. */\nexport type SurfaceVariants = VariantProps<typeof surfaceVariants>;\n\n/** Represents the visual-recipe axis (solid · soft · surface · outline · glass · etc.). */\nexport type SurfaceVariant = NonNullable<SurfaceVariants['variant']>;\n\n/** Represents the semantic colour axis (neutral · primary · danger · success · warning · info). */\nexport type SurfaceTone = NonNullable<SurfaceVariants['tone']>;\n\n/** Represents the corner-roundness axis (none · sm · md · lg · xl · 2xl · full). */\nexport type SurfaceRadius = NonNullable<SurfaceVariants['radius']>;\n\n/** Represents the interior-padding axis (none · xs · sm · md · lg · xl · 2xl). */\nexport type SurfacePadding = NonNullable<SurfaceVariants['padding']>;\n\n/** Represents the shadow-depth override (0–5); omitted means the variant decides. */\nexport type SurfaceElevation = NonNullable<SurfaceVariants['elevation']>;\n\n/** Represents the optional ambient gradient overlay (none · sheen · glow); omitted = none. */\nexport type SurfaceAmbient = NonNullable<SurfaceVariants['ambient']>;\n","/* Provides semantic z-index tiers — the single source of truth for stacking order. */\n\n/** Contains the semantic z-index tiers; matching `z-{name}` utilities ship via @theme. */\nexport const Layer = {\n /** Slips under the base layer; visually hidden. */\n Hide: -1,\n /** Sits in the default DOM flow with no z-index applied. */\n Base: 0,\n /** Slightly elevates over siblings — badges, sticky list items, in-grid overlays. */\n Raised: 10,\n /** Pins widgets inside a section — panels, inline overlays. */\n Docked: 20,\n /** Anchors a page-level sticky header or footer. */\n Sticky: 30,\n /** Hosts system banners — cookie notice, status banner, persistent FAB. */\n Banner: 40,\n /** Hosts dropdowns, popovers, comboboxes, menus, hover-cards anchored to a trigger. */\n Dropdown: 50,\n /** Dims the page behind a modal — backdrop / scrim layer. */\n Overlay: 60,\n /** Hosts modal / dialog / drawer / sheet content above its backdrop. */\n Modal: 70,\n /** Hosts popovers / menus opened FROM inside a modal — must beat Modal. */\n Popover: 80,\n /** Hosts toasts, snackbars, undo bars — survives above modals. */\n Toast: 90,\n /** Hosts tooltips and live-cursors — highest functional layer. */\n Tooltip: 100,\n /** Hosts DevTools / design-system inspector overlays — always wins. */\n Debug: 9999,\n} as const;\n\n/** Represents the name of a semantic z-index tier. */\nexport type LayerName = keyof typeof Layer;\n\n/** Provides an inline `style` object for programmatic z-index assignment. */\nexport function layerStyle(layer: LayerName): { zIndex: number } {\n return { zIndex: Layer[layer] };\n}\n","/* Provides reusable equality comparers for selection components and diff checks. */\n\n/** Represents a function that decides whether two values are equal. */\nexport type EqualityComparer<T> = (a: T, b: T) => boolean;\n\n/** Contains the standard equality comparers. */\nexport const Equality = {\n /** Checks NaN-safe strict equality (Object.is) — fits primitives + reference equality for objects. */\n strictEquals: <T>(a: T, b: T): boolean => Object.is(a, b),\n\n /** Checks plain `===` equality (NaN !== NaN). */\n referenceEquals: <T>(a: T, b: T): boolean => a === b,\n\n /** Provides a comparer that compares two objects by an extracted scalar key. */\n byKey:\n <T, K = unknown>(extract: (item: T) => K): EqualityComparer<T> =>\n (a, b) =>\n Object.is(extract(a), extract(b)),\n\n /** Checks shallow object equality — equal iff every key has identical (Object.is) value. */\n shallowEquals: <T extends Record<string, unknown>>(a: T, b: T): boolean => {\n if (Object.is(a, b)) return true;\n if (a == null || b == null) return false;\n const ak = Object.keys(a);\n const bk = Object.keys(b);\n if (ak.length !== bk.length) return false;\n return ak.every((k) => Object.prototype.hasOwnProperty.call(b, k) && Object.is(a[k], b[k]));\n },\n} as const;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/http/ApiError.ts","../../src/http/temporalReviver.ts"],"names":[],"mappings":";;;;AAGO,IAAM,QAAA,GAAN,MAAM,SAAA,SAAiB,KAAA,CAAM;AAAA,EACzB,MAAA;AAAA,EACA,OAAA;AAAA,EAET,WAAA,CAAY,MAAA,EAAgB,OAAA,EAAgC,OAAA,EAAkB;AAC5E,IAAA,KAAA,CAAM,WAAW,OAAA,EAAS,KAAA,IAAS,SAAS,MAAA,IAAU,CAAA,2BAAA,EAA8B,MAAM,CAAA,CAAE,CAAA;AAC5F,IAAA,IAAA,CAAK,IAAA,GAAO,UAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAEf,IAAA,MAAA,CAAO,cAAA,CAAe,IAAA,EAAM,SAAA,CAAS,SAAS,CAAA;AAAA,EAChD;AACF;ACXA,IAAM,OAAA,GAAU,qEAAA;AAChB,IAAM,UAAA,GAAa,qBAAA;AACnB,IAAM,UAAA,GAAa,gCAAA;AAEnB,IAAM,QAAA,GAAW,6EAAA;AAQV,SAAS,eAAA,CAAgB,MAAc,KAAA,EAAyB;AACrE,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,KAAA;AAEtC,EAAA,IAAI,OAAA,CAAQ,IAAA,CAAK,KAAK,CAAA,EAAG;AACvB,IAAA,IAAI;AACF,MAAA,OAAO,QAAA,CAAS,OAAA,CAAQ,IAAA,CAAK,KAAK,CAAA;AAAA,IACpC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,IAAI,UAAA,CAAW,IAAA,CAAK,KAAK,CAAA,EAAG;AAC1B,IAAA,IAAI;AACF,MAAA,OAAO,QAAA,CAAS,SAAA,CAAU,IAAA,CAAK,KAAK,CAAA;AAAA,IACtC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,IAAI,UAAA,CAAW,IAAA,CAAK,KAAK,CAAA,EAAG;AAC1B,IAAA,IAAI;AACF,MAAA,OAAO,QAAA,CAAS,SAAA,CAAU,IAAA,CAAK,KAAK,CAAA;AAAA,IACtC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA,EAAG;AACxB,IAAA,IAAI;AACF,MAAA,OAAO,QAAA,CAAS,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA;AAAA,IACrC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,KAAA;AACT;AAGO,SAAS,UAAa,IAAA,EAAiB;AAC5C,EAAA,OAAO,IAAA,CAAK,KAAA,CAAM,IAAA,EAAM,eAAe,CAAA;AACzC","file":"index.js","sourcesContent":["import type { ProblemDetails } from './ProblemDetails';\n\n/** Defines a typed transport error thrown on a non-2xx response (or network status `0`), carrying the HTTP status and parsed problem body. */\nexport class ApiError extends Error {\n readonly status: number;\n readonly problem: ProblemDetails | null;\n\n constructor(status: number, problem: ProblemDetails | null, message?: string) {\n super(message ?? problem?.title ?? problem?.detail ?? `Request failed with status ${status}`);\n this.name = 'ApiError';\n this.status = status;\n this.problem = problem;\n // Restore prototype chain — required when subclassing built-ins under transpiled targets.\n Object.setPrototypeOf(this, ApiError.prototype);\n }\n}\n","import { Temporal } from '@js-temporal/polyfill';\n\n// Strict ISO-8601 shapes. Anchored (^…$) so partial / lenient strings never match — only a\n// wire value that is unambiguously one Temporal kind is upgraded; everything else stays a string.\nconst INSTANT = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$/;\nconst PLAIN_DATE = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst PLAIN_TIME = /^\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?$/;\n// ISO-8601 duration: sign, `P`, then at least one designator (lookahead rejects a bare `P`).\nconst DURATION = /^-?P(?=[\\dT])(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$/;\n\n/**\n * Upgrades a matching ISO-8601 string to its `Temporal.*` value; returns everything else unchanged.\n * Intended as the reviver argument to `JSON.parse` so inbound date fields arrive as Temporal objects\n * (outbound is automatic via each `Temporal.*.toJSON()`). Each parse is guarded — an ISO-shaped but\n * invalid value (e.g. `2026-13-40`) falls back to the raw string rather than throwing.\n */\nexport function temporalReviver(_key: string, value: unknown): unknown {\n if (typeof value !== 'string') return value;\n\n if (INSTANT.test(value)) {\n try {\n return Temporal.Instant.from(value);\n } catch {\n return value;\n }\n }\n if (PLAIN_DATE.test(value)) {\n try {\n return Temporal.PlainDate.from(value);\n } catch {\n return value;\n }\n }\n if (PLAIN_TIME.test(value)) {\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return value;\n }\n }\n if (DURATION.test(value)) {\n try {\n return Temporal.Duration.from(value);\n } catch {\n return value;\n }\n }\n return value;\n}\n\n/** Parses a JSON string with {@link temporalReviver} applied, upgrading ISO date fields to `Temporal.*`. */\nexport function parseJson<T>(text: string): T {\n return JSON.parse(text, temporalReviver) as T;\n}\n"]}
@@ -1,6 +0,0 @@
1
- export { Icon, Spinner } from '../chunk-D7ZFCHX5.js';
2
- import '../chunk-XSW3NZDD.js';
3
- import '../chunk-D4ZT36AZ.js';
4
- import '../chunk-DCHYNTHI.js';
5
- //# sourceMappingURL=index.js.map
6
- //# sourceMappingURL=index.js.map
@@ -1,14 +0,0 @@
1
- export { AppShell, AppShellAside, AppShellContent, AppShellFooter, AppShellHeader, AppShellMain, AppShellSidebar, AspectRatio, Box, Center, Cluster, Container, Divider, Flex, Frame, Grid, HStack, Navbar, Overlay, PullToRefresh, ResizablePanel, ResizablePanels, ResizableSeparator, ScrollArea, Section, Spacer, Stack, Surface, TwoColumn, VStack, containerVariants, dividerVariants, gridVariants, navbarVariants, resolveGridColumns, resolveGridGap, sectionVariants, stackVariants, useAppShell } from '../chunk-ORYO55KN.js';
2
- export { Inline } from '../chunk-WKVWOAQV.js';
3
- import '../chunk-KZLEHWAJ.js';
4
- import '../chunk-X5JSX4PU.js';
5
- import '../chunk-OZBLEOLZ.js';
6
- import '../chunk-VYFPLQPV.js';
7
- import '../chunk-RNHY33US.js';
8
- import '../chunk-XSW3NZDD.js';
9
- import '../chunk-B4X7XXSM.js';
10
- import '../chunk-F4HGQMUI.js';
11
- import '../chunk-D4ZT36AZ.js';
12
- import '../chunk-DCHYNTHI.js';
13
- //# sourceMappingURL=index.js.map
14
- //# sourceMappingURL=index.js.map
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes