@dowel-ui/react 0.5.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1787) hide show
  1. package/README.md +3 -3
  2. package/dist/blocks/admin-dashboard/meta.js +31 -0
  3. package/dist/blocks/admin-dashboard/meta.js.map +1 -0
  4. package/dist/blocks/agent-console/meta.js +27 -0
  5. package/dist/blocks/agent-console/meta.js.map +1 -0
  6. package/dist/blocks/ai-dashboard/meta.js +25 -0
  7. package/dist/blocks/ai-dashboard/meta.js.map +1 -0
  8. package/dist/blocks/ai-workspace/meta.js +33 -0
  9. package/dist/blocks/ai-workspace/meta.js.map +1 -0
  10. package/dist/blocks/analytics/meta.js +24 -0
  11. package/dist/blocks/analytics/meta.js.map +1 -0
  12. package/dist/blocks/billing/meta.js +25 -0
  13. package/dist/blocks/billing/meta.js.map +1 -0
  14. package/dist/blocks/command-center/meta.js +28 -0
  15. package/dist/blocks/command-center/meta.js.map +1 -0
  16. package/dist/blocks/crm/meta.js +32 -0
  17. package/dist/blocks/crm/meta.js.map +1 -0
  18. package/dist/blocks/cta-banner/meta.js +18 -0
  19. package/dist/blocks/cta-banner/meta.js.map +1 -0
  20. package/dist/blocks/cta-centered/meta.js +18 -0
  21. package/dist/blocks/cta-centered/meta.js.map +1 -0
  22. package/dist/blocks/cta-split-image/meta.js +18 -0
  23. package/dist/blocks/cta-split-image/meta.js.map +1 -0
  24. package/dist/blocks/faq-accordion/meta.js +18 -0
  25. package/dist/blocks/faq-accordion/meta.js.map +1 -0
  26. package/dist/blocks/faq-categorized/meta.js +18 -0
  27. package/dist/blocks/faq-categorized/meta.js.map +1 -0
  28. package/dist/blocks/faq-searchable/meta.js +22 -0
  29. package/dist/blocks/faq-searchable/meta.js.map +1 -0
  30. package/dist/blocks/faq-tabbed-grid/meta.js +18 -0
  31. package/dist/blocks/faq-tabbed-grid/meta.js.map +1 -0
  32. package/dist/blocks/features-alternating/meta.js +18 -0
  33. package/dist/blocks/features-alternating/meta.js.map +1 -0
  34. package/dist/blocks/features-bento/meta.js +18 -0
  35. package/dist/blocks/features-bento/meta.js.map +1 -0
  36. package/dist/blocks/features-icon-grid/meta.js +18 -0
  37. package/dist/blocks/features-icon-grid/meta.js.map +1 -0
  38. package/dist/blocks/footer-mega/meta.js +22 -0
  39. package/dist/blocks/footer-mega/meta.js.map +1 -0
  40. package/dist/blocks/footer-minimal/meta.js +18 -0
  41. package/dist/blocks/footer-minimal/meta.js.map +1 -0
  42. package/dist/blocks/footer-newsletter/meta.js +22 -0
  43. package/dist/blocks/footer-newsletter/meta.js.map +1 -0
  44. package/dist/blocks/footer-simple/meta.js +18 -0
  45. package/dist/blocks/footer-simple/meta.js.map +1 -0
  46. package/dist/blocks/hero-grid/meta.js +18 -0
  47. package/dist/blocks/hero-grid/meta.js.map +1 -0
  48. package/dist/blocks/hero-minimal/meta.js +18 -0
  49. package/dist/blocks/hero-minimal/meta.js.map +1 -0
  50. package/dist/blocks/hero-perspective-grid/meta.js +18 -0
  51. package/dist/blocks/hero-perspective-grid/meta.js.map +1 -0
  52. package/dist/blocks/hero-product/meta.js +22 -0
  53. package/dist/blocks/hero-product/meta.js.map +1 -0
  54. package/dist/blocks/hero-split-image/meta.js +22 -0
  55. package/dist/blocks/hero-split-image/meta.js.map +1 -0
  56. package/dist/blocks/hero-spotlight/meta.js +18 -0
  57. package/dist/blocks/hero-spotlight/meta.js.map +1 -0
  58. package/dist/blocks/logo-cloud-simple/meta.js +18 -0
  59. package/dist/blocks/logo-cloud-simple/meta.js.map +1 -0
  60. package/dist/blocks/logo-grid-tooltips/meta.js +18 -0
  61. package/dist/blocks/logo-grid-tooltips/meta.js.map +1 -0
  62. package/dist/blocks/logo-links-marquee/meta.js +18 -0
  63. package/dist/blocks/logo-links-marquee/meta.js.map +1 -0
  64. package/dist/blocks/logo-marquee/meta.js +18 -0
  65. package/dist/blocks/logo-marquee/meta.js.map +1 -0
  66. package/dist/blocks/onboarding/meta.js +23 -0
  67. package/dist/blocks/onboarding/meta.js.map +1 -0
  68. package/dist/blocks/pricing-single-plan/meta.js +25 -0
  69. package/dist/blocks/pricing-single-plan/meta.js.map +1 -0
  70. package/dist/blocks/pricing-three-tier/meta.js +25 -0
  71. package/dist/blocks/pricing-three-tier/meta.js.map +1 -0
  72. package/dist/blocks/pricing-two-tier/meta.js +25 -0
  73. package/dist/blocks/pricing-two-tier/meta.js.map +1 -0
  74. package/dist/blocks/stats-grid/meta.js +18 -0
  75. package/dist/blocks/stats-grid/meta.js.map +1 -0
  76. package/dist/blocks/stats-trend-cards/meta.js +22 -0
  77. package/dist/blocks/stats-trend-cards/meta.js.map +1 -0
  78. package/dist/blocks/team-carousel/meta.js +22 -0
  79. package/dist/blocks/team-carousel/meta.js.map +1 -0
  80. package/dist/blocks/team-grid/meta.js +18 -0
  81. package/dist/blocks/team-grid/meta.js.map +1 -0
  82. package/dist/blocks/testimonial-rotator/meta.js +18 -0
  83. package/dist/blocks/testimonial-rotator/meta.js.map +1 -0
  84. package/dist/blocks/testimonial-spotlight/meta.js +22 -0
  85. package/dist/blocks/testimonial-spotlight/meta.js.map +1 -0
  86. package/dist/blocks/testimonial-star-grid/meta.js +18 -0
  87. package/dist/blocks/testimonial-star-grid/meta.js.map +1 -0
  88. package/dist/components/accordion/accordion.js +1 -1
  89. package/dist/components/accordion/accordion.js.map +1 -1
  90. package/dist/components/account-menu/account-menu.d.ts +56 -0
  91. package/dist/components/account-menu/account-menu.d.ts.map +1 -0
  92. package/dist/components/account-menu/account-menu.js +247 -0
  93. package/dist/components/account-menu/account-menu.js.map +1 -0
  94. package/dist/components/account-menu/index.d.ts +2 -0
  95. package/dist/components/account-menu/index.js +2 -0
  96. package/dist/components/account-menu/meta.js +24 -0
  97. package/dist/components/account-menu/meta.js.map +1 -0
  98. package/dist/components/action-node/action-node-spring.js +21 -0
  99. package/dist/components/action-node/action-node-spring.js.map +1 -0
  100. package/dist/components/action-node/action-node.d.ts +67 -0
  101. package/dist/components/action-node/action-node.d.ts.map +1 -0
  102. package/dist/components/action-node/action-node.js +374 -0
  103. package/dist/components/action-node/action-node.js.map +1 -0
  104. package/dist/components/action-node/index.d.ts +2 -0
  105. package/dist/components/action-node/index.js +2 -0
  106. package/dist/components/action-node/meta.js +17 -0
  107. package/dist/components/action-node/meta.js.map +1 -0
  108. package/dist/components/activity-feed/activity-feed.js +1 -1
  109. package/dist/components/activity-feed/activity-feed.js.map +1 -1
  110. package/dist/components/ai-agent-plan/ai-agent-plan.d.ts +13 -2
  111. package/dist/components/ai-agent-plan/ai-agent-plan.d.ts.map +1 -1
  112. package/dist/components/ai-agent-plan/ai-agent-plan.js +110 -43
  113. package/dist/components/ai-agent-plan/ai-agent-plan.js.map +1 -1
  114. package/dist/components/ai-agent-plan/index.d.ts +2 -2
  115. package/dist/components/ai-agent-plan/meta.js +1 -1
  116. package/dist/components/ai-agent-plan/meta.js.map +1 -1
  117. package/dist/components/ai-agent-status/ai-agent-status.d.ts +1 -1
  118. package/dist/components/ai-approval-request/ai-approval-request.d.ts +8 -1
  119. package/dist/components/ai-approval-request/ai-approval-request.d.ts.map +1 -1
  120. package/dist/components/ai-approval-request/ai-approval-request.js +67 -12
  121. package/dist/components/ai-approval-request/ai-approval-request.js.map +1 -1
  122. package/dist/components/ai-approval-request/meta.js +1 -1
  123. package/dist/components/ai-approval-request/meta.js.map +1 -1
  124. package/dist/components/ai-artifact/ai-artifact.d.ts +27 -0
  125. package/dist/components/ai-artifact/ai-artifact.d.ts.map +1 -0
  126. package/dist/components/ai-artifact/ai-artifact.js +142 -0
  127. package/dist/components/ai-artifact/ai-artifact.js.map +1 -0
  128. package/dist/components/ai-artifact/index.d.ts +2 -0
  129. package/dist/components/ai-artifact/index.js +2 -0
  130. package/dist/components/ai-artifact/meta.js +17 -0
  131. package/dist/components/ai-artifact/meta.js.map +1 -0
  132. package/dist/components/ai-branch/ai-branch.d.ts +32 -0
  133. package/dist/components/ai-branch/ai-branch.d.ts.map +1 -0
  134. package/dist/components/ai-branch/ai-branch.js +160 -0
  135. package/dist/components/ai-branch/ai-branch.js.map +1 -0
  136. package/dist/components/ai-branch/index.d.ts +2 -0
  137. package/dist/components/ai-branch/index.js +2 -0
  138. package/dist/components/ai-branch/meta.js +17 -0
  139. package/dist/components/ai-branch/meta.js.map +1 -0
  140. package/dist/components/ai-conversation/ai-conversation.d.ts +16 -4
  141. package/dist/components/ai-conversation/ai-conversation.d.ts.map +1 -1
  142. package/dist/components/ai-conversation/ai-conversation.js +78 -10
  143. package/dist/components/ai-conversation/ai-conversation.js.map +1 -1
  144. package/dist/components/ai-conversation/index.d.ts +2 -2
  145. package/dist/components/ai-extraction-review/ai-extraction-review.js +1 -1
  146. package/dist/components/ai-extraction-review/ai-extraction-review.js.map +1 -1
  147. package/dist/components/ai-loader/ai-loader.d.ts +22 -0
  148. package/dist/components/ai-loader/ai-loader.d.ts.map +1 -0
  149. package/dist/components/ai-loader/ai-loader.js +78 -0
  150. package/dist/components/ai-loader/ai-loader.js.map +1 -0
  151. package/dist/components/ai-loader/index.d.ts +2 -0
  152. package/dist/components/ai-loader/index.js +2 -0
  153. package/dist/components/ai-loader/meta.js +21 -0
  154. package/dist/components/ai-loader/meta.js.map +1 -0
  155. package/dist/components/ai-message/ai-message.d.ts +13 -2
  156. package/dist/components/ai-message/ai-message.d.ts.map +1 -1
  157. package/dist/components/ai-message/ai-message.js +29 -5
  158. package/dist/components/ai-message/ai-message.js.map +1 -1
  159. package/dist/components/ai-message/index.d.ts +2 -2
  160. package/dist/components/ai-message/index.js +2 -2
  161. package/dist/components/ai-message/meta.js +1 -1
  162. package/dist/components/ai-message/meta.js.map +1 -1
  163. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  164. package/dist/components/ai-prompt-input/ai-prompt-input.js +45 -26
  165. package/dist/components/ai-prompt-input/ai-prompt-input.js.map +1 -1
  166. package/dist/components/ai-reasoning/ai-reasoning.d.ts +39 -11
  167. package/dist/components/ai-reasoning/ai-reasoning.d.ts.map +1 -1
  168. package/dist/components/ai-reasoning/ai-reasoning.js +114 -10
  169. package/dist/components/ai-reasoning/ai-reasoning.js.map +1 -1
  170. package/dist/components/ai-reasoning/index.d.ts +2 -2
  171. package/dist/components/ai-reasoning/index.js +2 -2
  172. package/dist/components/ai-reasoning/meta.js +2 -2
  173. package/dist/components/ai-reasoning/meta.js.map +1 -1
  174. package/dist/components/ai-response/ai-response.d.ts +4 -0
  175. package/dist/components/ai-response/ai-response.d.ts.map +1 -1
  176. package/dist/components/ai-response/ai-response.js +7 -3
  177. package/dist/components/ai-response/ai-response.js.map +1 -1
  178. package/dist/components/ai-response/index.d.ts +2 -1
  179. package/dist/components/ai-response/index.js +2 -1
  180. package/dist/components/ai-response/meta.js +3 -3
  181. package/dist/components/ai-response/meta.js.map +1 -1
  182. package/dist/components/ai-response/response-text.d.ts +42 -0
  183. package/dist/components/ai-response/response-text.d.ts.map +1 -0
  184. package/dist/components/ai-response/response-text.js +63 -0
  185. package/dist/components/ai-response/response-text.js.map +1 -0
  186. package/dist/components/ai-sources/ai-sources.d.ts +31 -5
  187. package/dist/components/ai-sources/ai-sources.d.ts.map +1 -1
  188. package/dist/components/ai-sources/ai-sources.js +188 -47
  189. package/dist/components/ai-sources/ai-sources.js.map +1 -1
  190. package/dist/components/ai-sources/index.d.ts +2 -2
  191. package/dist/components/ai-sources/index.js +2 -2
  192. package/dist/components/ai-sources/meta.js +2 -2
  193. package/dist/components/ai-sources/meta.js.map +1 -1
  194. package/dist/components/ai-suggestions/ai-suggestions.d.ts +24 -0
  195. package/dist/components/ai-suggestions/ai-suggestions.d.ts.map +1 -0
  196. package/dist/components/ai-suggestions/ai-suggestions.js +68 -0
  197. package/dist/components/ai-suggestions/ai-suggestions.js.map +1 -0
  198. package/dist/components/ai-suggestions/index.d.ts +2 -0
  199. package/dist/components/ai-suggestions/index.js +2 -0
  200. package/dist/components/ai-suggestions/meta.js +17 -0
  201. package/dist/components/ai-suggestions/meta.js.map +1 -0
  202. package/dist/components/ai-token-usage/ai-token-usage.d.ts +40 -3
  203. package/dist/components/ai-token-usage/ai-token-usage.d.ts.map +1 -1
  204. package/dist/components/ai-token-usage/ai-token-usage.js +201 -24
  205. package/dist/components/ai-token-usage/ai-token-usage.js.map +1 -1
  206. package/dist/components/ai-token-usage/index.d.ts +2 -2
  207. package/dist/components/ai-token-usage/index.js +2 -2
  208. package/dist/components/ai-token-usage/meta.js +2 -2
  209. package/dist/components/ai-token-usage/meta.js.map +1 -1
  210. package/dist/components/ai-tool/ai-tool.d.ts +12 -1
  211. package/dist/components/ai-tool/ai-tool.d.ts.map +1 -1
  212. package/dist/components/ai-tool/ai-tool.js +83 -6
  213. package/dist/components/ai-tool/ai-tool.js.map +1 -1
  214. package/dist/components/ai-tool/meta.js +1 -1
  215. package/dist/components/ai-tool/meta.js.map +1 -1
  216. package/dist/components/alert/alert.d.ts +1 -1
  217. package/dist/components/animated-checklist/animated-checklist.d.ts +40 -0
  218. package/dist/components/animated-checklist/animated-checklist.d.ts.map +1 -0
  219. package/dist/components/animated-checklist/animated-checklist.js +198 -0
  220. package/dist/components/animated-checklist/animated-checklist.js.map +1 -0
  221. package/dist/components/animated-checklist/index.d.ts +2 -0
  222. package/dist/components/animated-checklist/index.js +2 -0
  223. package/dist/components/animated-checklist/meta.js +17 -0
  224. package/dist/components/animated-checklist/meta.js.map +1 -0
  225. package/dist/components/app-stack/app-stack.d.ts +40 -0
  226. package/dist/components/app-stack/app-stack.d.ts.map +1 -0
  227. package/dist/components/app-stack/app-stack.js +260 -0
  228. package/dist/components/app-stack/app-stack.js.map +1 -0
  229. package/dist/components/app-stack/index.d.ts +2 -0
  230. package/dist/components/app-stack/index.js +2 -0
  231. package/dist/components/app-stack/meta.js +17 -0
  232. package/dist/components/app-stack/meta.js.map +1 -0
  233. package/dist/components/aspect-morph/aspect-morph.d.ts +50 -0
  234. package/dist/components/aspect-morph/aspect-morph.d.ts.map +1 -0
  235. package/dist/components/aspect-morph/aspect-morph.js +171 -0
  236. package/dist/components/aspect-morph/aspect-morph.js.map +1 -0
  237. package/dist/components/aspect-morph/index.d.ts +2 -0
  238. package/dist/components/aspect-morph/index.js +2 -0
  239. package/dist/components/aspect-morph/meta.js +17 -0
  240. package/dist/components/aspect-morph/meta.js.map +1 -0
  241. package/dist/components/assignee-picker/assignee-picker-spring.js +21 -0
  242. package/dist/components/assignee-picker/assignee-picker-spring.js.map +1 -0
  243. package/dist/components/assignee-picker/assignee-picker.d.ts +47 -0
  244. package/dist/components/assignee-picker/assignee-picker.d.ts.map +1 -0
  245. package/dist/components/assignee-picker/assignee-picker.js +370 -0
  246. package/dist/components/assignee-picker/assignee-picker.js.map +1 -0
  247. package/dist/components/assignee-picker/index.d.ts +2 -0
  248. package/dist/components/assignee-picker/index.js +2 -0
  249. package/dist/components/assignee-picker/meta.js +17 -0
  250. package/dist/components/assignee-picker/meta.js.map +1 -0
  251. package/dist/components/avatar/avatar.d.ts +1 -1
  252. package/dist/components/avatar-group/avatar-group.d.ts +41 -0
  253. package/dist/components/avatar-group/avatar-group.d.ts.map +1 -0
  254. package/dist/components/avatar-group/avatar-group.js +103 -0
  255. package/dist/components/avatar-group/avatar-group.js.map +1 -0
  256. package/dist/components/avatar-group/index.d.ts +2 -0
  257. package/dist/components/avatar-group/index.js +2 -0
  258. package/dist/components/avatar-group/meta.js +17 -0
  259. package/dist/components/avatar-group/meta.js.map +1 -0
  260. package/dist/components/badge/badge.d.ts +1 -1
  261. package/dist/components/bar-loader/bar-loader.d.ts +170 -0
  262. package/dist/components/bar-loader/bar-loader.d.ts.map +1 -0
  263. package/dist/components/bar-loader/bar-loader.js +469 -0
  264. package/dist/components/bar-loader/bar-loader.js.map +1 -0
  265. package/dist/components/bar-loader/index.d.ts +2 -0
  266. package/dist/components/bar-loader/index.js +2 -0
  267. package/dist/components/bar-loader/meta.js +17 -0
  268. package/dist/components/bar-loader/meta.js.map +1 -0
  269. package/dist/components/book/book.d.ts +35 -0
  270. package/dist/components/book/book.d.ts.map +1 -0
  271. package/dist/components/book/book.js +183 -0
  272. package/dist/components/book/book.js.map +1 -0
  273. package/dist/components/book/index.d.ts +2 -0
  274. package/dist/components/book/index.js +2 -0
  275. package/dist/components/book/meta.js +17 -0
  276. package/dist/components/book/meta.js.map +1 -0
  277. package/dist/components/breadcrumb/breadcrumb.d.ts +60 -0
  278. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  279. package/dist/components/breadcrumb/breadcrumb.js +158 -0
  280. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  281. package/dist/components/breadcrumb/index.d.ts +2 -0
  282. package/dist/components/breadcrumb/index.js +2 -0
  283. package/dist/components/breadcrumb/meta.js +17 -0
  284. package/dist/components/breadcrumb/meta.js.map +1 -0
  285. package/dist/components/browser-tabs/browser-tabs-spring.js +21 -0
  286. package/dist/components/browser-tabs/browser-tabs-spring.js.map +1 -0
  287. package/dist/components/browser-tabs/browser-tabs.d.ts +62 -0
  288. package/dist/components/browser-tabs/browser-tabs.d.ts.map +1 -0
  289. package/dist/components/browser-tabs/browser-tabs.js +418 -0
  290. package/dist/components/browser-tabs/browser-tabs.js.map +1 -0
  291. package/dist/components/browser-tabs/index.d.ts +2 -0
  292. package/dist/components/browser-tabs/index.js +2 -0
  293. package/dist/components/browser-tabs/meta.js +17 -0
  294. package/dist/components/browser-tabs/meta.js.map +1 -0
  295. package/dist/components/button/button.d.ts +4 -2
  296. package/dist/components/button/button.d.ts.map +1 -1
  297. package/dist/components/button/button.js +48 -5
  298. package/dist/components/button/button.js.map +1 -1
  299. package/dist/components/calendar/calendar.js +2 -2
  300. package/dist/components/calendar/calendar.js.map +1 -1
  301. package/dist/components/canvas-toolbar/canvas-toolbar.d.ts +62 -0
  302. package/dist/components/canvas-toolbar/canvas-toolbar.d.ts.map +1 -0
  303. package/dist/components/canvas-toolbar/canvas-toolbar.js +256 -0
  304. package/dist/components/canvas-toolbar/canvas-toolbar.js.map +1 -0
  305. package/dist/components/canvas-toolbar/index.d.ts +2 -0
  306. package/dist/components/canvas-toolbar/index.js +2 -0
  307. package/dist/components/canvas-toolbar/meta.js +17 -0
  308. package/dist/components/canvas-toolbar/meta.js.map +1 -0
  309. package/dist/components/card-spread/card-spread-layouts.d.ts +46 -0
  310. package/dist/components/card-spread/card-spread-layouts.d.ts.map +1 -0
  311. package/dist/components/card-spread/card-spread-layouts.js +235 -0
  312. package/dist/components/card-spread/card-spread-layouts.js.map +1 -0
  313. package/dist/components/card-spread/card-spread.d.ts +52 -0
  314. package/dist/components/card-spread/card-spread.d.ts.map +1 -0
  315. package/dist/components/card-spread/card-spread.js +224 -0
  316. package/dist/components/card-spread/card-spread.js.map +1 -0
  317. package/dist/components/card-spread/index.d.ts +3 -0
  318. package/dist/components/card-spread/index.js +3 -0
  319. package/dist/components/card-spread/meta.js +17 -0
  320. package/dist/components/card-spread/meta.js.map +1 -0
  321. package/dist/components/card-stack/card-stack-layout.js +98 -0
  322. package/dist/components/card-stack/card-stack-layout.js.map +1 -0
  323. package/dist/components/card-stack/card-stack.d.ts +29 -0
  324. package/dist/components/card-stack/card-stack.d.ts.map +1 -0
  325. package/dist/components/card-stack/card-stack.js +229 -0
  326. package/dist/components/card-stack/card-stack.js.map +1 -0
  327. package/dist/components/card-stack/index.d.ts +2 -0
  328. package/dist/components/card-stack/index.js +2 -0
  329. package/dist/components/card-stack/meta.js +17 -0
  330. package/dist/components/card-stack/meta.js.map +1 -0
  331. package/dist/components/carousel-3d/carousel-3d.d.ts +43 -0
  332. package/dist/components/carousel-3d/carousel-3d.d.ts.map +1 -0
  333. package/dist/components/carousel-3d/carousel-3d.js +336 -0
  334. package/dist/components/carousel-3d/carousel-3d.js.map +1 -0
  335. package/dist/components/carousel-3d/index.d.ts +2 -0
  336. package/dist/components/carousel-3d/index.js +2 -0
  337. package/dist/components/carousel-3d/meta.js +17 -0
  338. package/dist/components/carousel-3d/meta.js.map +1 -0
  339. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  340. package/dist/components/checkbox/checkbox.js +18 -0
  341. package/dist/components/checkbox/checkbox.js.map +1 -1
  342. package/dist/components/code-block/code-block.d.ts +1 -17
  343. package/dist/components/code-block/code-block.d.ts.map +1 -1
  344. package/dist/components/code-block/code-block.js +9 -79
  345. package/dist/components/code-block/code-block.js.map +1 -1
  346. package/dist/components/code-block/index.d.ts +3 -1
  347. package/dist/components/code-block/index.js +2 -1
  348. package/dist/components/code-block/meta.js +1 -1
  349. package/dist/components/code-block/meta.js.map +1 -1
  350. package/dist/components/collapsible/collapsible.d.ts +30 -0
  351. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  352. package/dist/components/collapsible/collapsible.js +38 -0
  353. package/dist/components/collapsible/collapsible.js.map +1 -0
  354. package/dist/components/collapsible/index.d.ts +2 -0
  355. package/dist/components/collapsible/index.js +2 -0
  356. package/dist/components/collapsible/meta.js +17 -0
  357. package/dist/components/collapsible/meta.js.map +1 -0
  358. package/dist/components/combobox/combobox.d.ts +28 -4
  359. package/dist/components/combobox/combobox.d.ts.map +1 -1
  360. package/dist/components/combobox/combobox.js +161 -66
  361. package/dist/components/combobox/combobox.js.map +1 -1
  362. package/dist/components/combobox/index.d.ts +2 -2
  363. package/dist/components/combobox/index.js +2 -2
  364. package/dist/components/combobox/meta.js +1 -1
  365. package/dist/components/combobox/meta.js.map +1 -1
  366. package/dist/components/command/command.js +1 -1
  367. package/dist/components/command/command.js.map +1 -1
  368. package/dist/components/command-bar/command-bar.d.ts +37 -0
  369. package/dist/components/command-bar/command-bar.d.ts.map +1 -0
  370. package/dist/components/command-bar/command-bar.js +91 -0
  371. package/dist/components/command-bar/command-bar.js.map +1 -0
  372. package/dist/components/command-bar/index.d.ts +2 -0
  373. package/dist/components/command-bar/index.js +2 -0
  374. package/dist/components/command-bar/meta.js +17 -0
  375. package/dist/components/command-bar/meta.js.map +1 -0
  376. package/dist/components/comment-bubble/comment-bubble.d.ts +32 -0
  377. package/dist/components/comment-bubble/comment-bubble.d.ts.map +1 -0
  378. package/dist/components/comment-bubble/comment-bubble.js +174 -0
  379. package/dist/components/comment-bubble/comment-bubble.js.map +1 -0
  380. package/dist/components/comment-bubble/index.d.ts +2 -0
  381. package/dist/components/comment-bubble/index.js +2 -0
  382. package/dist/components/comment-bubble/meta.js +17 -0
  383. package/dist/components/comment-bubble/meta.js.map +1 -0
  384. package/dist/components/context-menu/context-menu.d.ts +49 -0
  385. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  386. package/dist/components/context-menu/context-menu.js +151 -0
  387. package/dist/components/context-menu/context-menu.js.map +1 -0
  388. package/dist/components/context-menu/index.d.ts +2 -0
  389. package/dist/components/context-menu/index.js +2 -0
  390. package/dist/components/context-menu/meta.js +17 -0
  391. package/dist/components/context-menu/meta.js.map +1 -0
  392. package/dist/components/contribution-graph/contribution-graph.d.ts +37 -0
  393. package/dist/components/contribution-graph/contribution-graph.d.ts.map +1 -0
  394. package/dist/components/contribution-graph/contribution-graph.js +298 -0
  395. package/dist/components/contribution-graph/contribution-graph.js.map +1 -0
  396. package/dist/components/contribution-graph/index.d.ts +2 -0
  397. package/dist/components/contribution-graph/index.js +2 -0
  398. package/dist/components/contribution-graph/meta.js +17 -0
  399. package/dist/components/contribution-graph/meta.js.map +1 -0
  400. package/dist/components/copy-button/copy-button.d.ts +81 -0
  401. package/dist/components/copy-button/copy-button.d.ts.map +1 -0
  402. package/dist/components/copy-button/copy-button.js +146 -0
  403. package/dist/components/copy-button/copy-button.js.map +1 -0
  404. package/dist/components/copy-button/index.d.ts +2 -0
  405. package/dist/components/copy-button/index.js +2 -0
  406. package/dist/components/copy-button/meta.js +17 -0
  407. package/dist/components/copy-button/meta.js.map +1 -0
  408. package/dist/components/create-menu/create-menu.d.ts +42 -0
  409. package/dist/components/create-menu/create-menu.d.ts.map +1 -0
  410. package/dist/components/create-menu/create-menu.js +197 -0
  411. package/dist/components/create-menu/create-menu.js.map +1 -0
  412. package/dist/components/create-menu/index.d.ts +2 -0
  413. package/dist/components/create-menu/index.js +2 -0
  414. package/dist/components/create-menu/meta.js +17 -0
  415. package/dist/components/create-menu/meta.js.map +1 -0
  416. package/dist/components/cursor-follow/cursor-follow.d.ts +17 -0
  417. package/dist/components/cursor-follow/cursor-follow.d.ts.map +1 -0
  418. package/dist/components/cursor-follow/cursor-follow.js +116 -0
  419. package/dist/components/cursor-follow/cursor-follow.js.map +1 -0
  420. package/dist/components/cursor-follow/index.d.ts +2 -0
  421. package/dist/components/cursor-follow/index.js +2 -0
  422. package/dist/components/cursor-follow/meta.js +17 -0
  423. package/dist/components/cursor-follow/meta.js.map +1 -0
  424. package/dist/components/data-table/data-table.d.ts.map +1 -1
  425. package/dist/components/data-table/data-table.js +4 -1
  426. package/dist/components/data-table/data-table.js.map +1 -1
  427. package/dist/components/dial/dial.d.ts +32 -0
  428. package/dist/components/dial/dial.d.ts.map +1 -0
  429. package/dist/components/dial/dial.js +195 -0
  430. package/dist/components/dial/dial.js.map +1 -0
  431. package/dist/components/dial/index.d.ts +2 -0
  432. package/dist/components/dial/index.js +2 -0
  433. package/dist/components/dial/meta.js +17 -0
  434. package/dist/components/dial/meta.js.map +1 -0
  435. package/dist/components/dialog/dialog.d.ts +8 -1
  436. package/dist/components/dialog/dialog.d.ts.map +1 -1
  437. package/dist/components/dialog/dialog.js +24 -7
  438. package/dist/components/dialog/dialog.js.map +1 -1
  439. package/dist/components/dialog/meta.js +1 -1
  440. package/dist/components/dialog/meta.js.map +1 -1
  441. package/dist/components/diff-viewer/diff-viewer.d.ts +12 -1
  442. package/dist/components/diff-viewer/diff-viewer.d.ts.map +1 -1
  443. package/dist/components/diff-viewer/diff-viewer.js +100 -28
  444. package/dist/components/diff-viewer/diff-viewer.js.map +1 -1
  445. package/dist/components/diff-viewer/meta.js +1 -1
  446. package/dist/components/diff-viewer/meta.js.map +1 -1
  447. package/dist/components/direction/direction.d.ts +35 -0
  448. package/dist/components/direction/direction.d.ts.map +1 -0
  449. package/dist/components/direction/direction.js +14 -0
  450. package/dist/components/direction/direction.js.map +1 -0
  451. package/dist/components/direction/index.d.ts +2 -0
  452. package/dist/components/direction/index.js +2 -0
  453. package/dist/components/direction/meta.js +17 -0
  454. package/dist/components/direction/meta.js.map +1 -0
  455. package/dist/components/dither-area/dither-area.d.ts +46 -0
  456. package/dist/components/dither-area/dither-area.d.ts.map +1 -0
  457. package/dist/components/dither-area/dither-area.js +186 -0
  458. package/dist/components/dither-area/dither-area.js.map +1 -0
  459. package/dist/components/dither-area/index.d.ts +2 -0
  460. package/dist/components/dither-area/index.js +2 -0
  461. package/dist/components/dither-area/meta.js +17 -0
  462. package/dist/components/dither-area/meta.js.map +1 -0
  463. package/dist/components/dither-bar/dither-bar.d.ts +47 -0
  464. package/dist/components/dither-bar/dither-bar.d.ts.map +1 -0
  465. package/dist/components/dither-bar/dither-bar.js +261 -0
  466. package/dist/components/dither-bar/dither-bar.js.map +1 -0
  467. package/dist/components/dither-bar/index.d.ts +2 -0
  468. package/dist/components/dither-bar/index.js +2 -0
  469. package/dist/components/dither-bar/meta.js +17 -0
  470. package/dist/components/dither-bar/meta.js.map +1 -0
  471. package/dist/components/dither-canvas/dither-canvas.d.ts +76 -0
  472. package/dist/components/dither-canvas/dither-canvas.d.ts.map +1 -0
  473. package/dist/components/dither-canvas/dither-canvas.js +236 -0
  474. package/dist/components/dither-canvas/dither-canvas.js.map +1 -0
  475. package/dist/components/dither-canvas/dither-engine.d.ts +132 -0
  476. package/dist/components/dither-canvas/dither-engine.d.ts.map +1 -0
  477. package/dist/components/dither-canvas/dither-engine.js +243 -0
  478. package/dist/components/dither-canvas/dither-engine.js.map +1 -0
  479. package/dist/components/dither-canvas/dither-geometry.d.ts +73 -0
  480. package/dist/components/dither-canvas/dither-geometry.d.ts.map +1 -0
  481. package/dist/components/dither-canvas/dither-geometry.js +205 -0
  482. package/dist/components/dither-canvas/dither-geometry.js.map +1 -0
  483. package/dist/components/dither-canvas/dither-scrubber.d.ts +64 -0
  484. package/dist/components/dither-canvas/dither-scrubber.d.ts.map +1 -0
  485. package/dist/components/dither-canvas/dither-scrubber.js +130 -0
  486. package/dist/components/dither-canvas/dither-scrubber.js.map +1 -0
  487. package/dist/components/dither-canvas/index.d.ts +5 -0
  488. package/dist/components/dither-canvas/index.js +5 -0
  489. package/dist/components/dither-canvas/meta.js +22 -0
  490. package/dist/components/dither-canvas/meta.js.map +1 -0
  491. package/dist/components/dither-donut/dither-donut.d.ts +46 -0
  492. package/dist/components/dither-donut/dither-donut.d.ts.map +1 -0
  493. package/dist/components/dither-donut/dither-donut.js +241 -0
  494. package/dist/components/dither-donut/dither-donut.js.map +1 -0
  495. package/dist/components/dither-donut/index.d.ts +2 -0
  496. package/dist/components/dither-donut/index.js +2 -0
  497. package/dist/components/dither-donut/meta.js +17 -0
  498. package/dist/components/dither-donut/meta.js.map +1 -0
  499. package/dist/components/dither-funnel/dither-funnel.d.ts +53 -0
  500. package/dist/components/dither-funnel/dither-funnel.d.ts.map +1 -0
  501. package/dist/components/dither-funnel/dither-funnel.js +176 -0
  502. package/dist/components/dither-funnel/dither-funnel.js.map +1 -0
  503. package/dist/components/dither-funnel/index.d.ts +2 -0
  504. package/dist/components/dither-funnel/index.js +2 -0
  505. package/dist/components/dither-funnel/meta.js +17 -0
  506. package/dist/components/dither-funnel/meta.js.map +1 -0
  507. package/dist/components/dither-gauge/dither-gauge.d.ts +48 -0
  508. package/dist/components/dither-gauge/dither-gauge.d.ts.map +1 -0
  509. package/dist/components/dither-gauge/dither-gauge.js +189 -0
  510. package/dist/components/dither-gauge/dither-gauge.js.map +1 -0
  511. package/dist/components/dither-gauge/index.d.ts +2 -0
  512. package/dist/components/dither-gauge/index.js +2 -0
  513. package/dist/components/dither-gauge/meta.js +17 -0
  514. package/dist/components/dither-gauge/meta.js.map +1 -0
  515. package/dist/components/dither-heatmap/dither-heatmap.d.ts +63 -0
  516. package/dist/components/dither-heatmap/dither-heatmap.d.ts.map +1 -0
  517. package/dist/components/dither-heatmap/dither-heatmap.js +298 -0
  518. package/dist/components/dither-heatmap/dither-heatmap.js.map +1 -0
  519. package/dist/components/dither-heatmap/index.d.ts +2 -0
  520. package/dist/components/dither-heatmap/index.js +2 -0
  521. package/dist/components/dither-heatmap/meta.js +17 -0
  522. package/dist/components/dither-heatmap/meta.js.map +1 -0
  523. package/dist/components/dither-line/dither-line.d.ts +41 -0
  524. package/dist/components/dither-line/dither-line.d.ts.map +1 -0
  525. package/dist/components/dither-line/dither-line.js +164 -0
  526. package/dist/components/dither-line/dither-line.js.map +1 -0
  527. package/dist/components/dither-line/index.d.ts +2 -0
  528. package/dist/components/dither-line/index.js +2 -0
  529. package/dist/components/dither-line/meta.js +17 -0
  530. package/dist/components/dither-line/meta.js.map +1 -0
  531. package/dist/components/dither-meter/dither-meter.d.ts +51 -0
  532. package/dist/components/dither-meter/dither-meter.d.ts.map +1 -0
  533. package/dist/components/dither-meter/dither-meter.js +211 -0
  534. package/dist/components/dither-meter/dither-meter.js.map +1 -0
  535. package/dist/components/dither-meter/index.d.ts +2 -0
  536. package/dist/components/dither-meter/index.js +2 -0
  537. package/dist/components/dither-meter/meta.js +17 -0
  538. package/dist/components/dither-meter/meta.js.map +1 -0
  539. package/dist/components/dither-scatter/dither-scatter.d.ts +53 -0
  540. package/dist/components/dither-scatter/dither-scatter.d.ts.map +1 -0
  541. package/dist/components/dither-scatter/dither-scatter.js +211 -0
  542. package/dist/components/dither-scatter/dither-scatter.js.map +1 -0
  543. package/dist/components/dither-scatter/index.d.ts +2 -0
  544. package/dist/components/dither-scatter/index.js +2 -0
  545. package/dist/components/dither-scatter/meta.js +17 -0
  546. package/dist/components/dither-scatter/meta.js.map +1 -0
  547. package/dist/components/dot-morph-button/dot-morph-button.d.ts +18 -0
  548. package/dist/components/dot-morph-button/dot-morph-button.d.ts.map +1 -0
  549. package/dist/components/dot-morph-button/dot-morph-button.js +43 -0
  550. package/dist/components/dot-morph-button/dot-morph-button.js.map +1 -0
  551. package/dist/components/dot-morph-button/index.d.ts +2 -0
  552. package/dist/components/dot-morph-button/index.js +2 -0
  553. package/dist/components/dot-morph-button/meta.js +17 -0
  554. package/dist/components/dot-morph-button/meta.js.map +1 -0
  555. package/dist/components/dots-loader/dots-loader.d.ts +186 -0
  556. package/dist/components/dots-loader/dots-loader.d.ts.map +1 -0
  557. package/dist/components/dots-loader/dots-loader.js +412 -0
  558. package/dist/components/dots-loader/dots-loader.js.map +1 -0
  559. package/dist/components/dots-loader/index.d.ts +2 -0
  560. package/dist/components/dots-loader/index.js +2 -0
  561. package/dist/components/dots-loader/meta.js +17 -0
  562. package/dist/components/dots-loader/meta.js.map +1 -0
  563. package/dist/components/drag-stepper/drag-stepper.d.ts +39 -0
  564. package/dist/components/drag-stepper/drag-stepper.d.ts.map +1 -0
  565. package/dist/components/drag-stepper/drag-stepper.js +232 -0
  566. package/dist/components/drag-stepper/drag-stepper.js.map +1 -0
  567. package/dist/components/drag-stepper/index.d.ts +2 -0
  568. package/dist/components/drag-stepper/index.js +2 -0
  569. package/dist/components/drag-stepper/meta.js +17 -0
  570. package/dist/components/drag-stepper/meta.js.map +1 -0
  571. package/dist/components/drawer/drawer.d.ts +9 -1
  572. package/dist/components/drawer/drawer.d.ts.map +1 -1
  573. package/dist/components/drawer/drawer.js +24 -5
  574. package/dist/components/drawer/drawer.js.map +1 -1
  575. package/dist/components/drawer/meta.js +1 -1
  576. package/dist/components/drawer/meta.js.map +1 -1
  577. package/dist/components/dropdown-menu/dropdown-menu.d.ts +5 -0
  578. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  579. package/dist/components/dropdown-menu/dropdown-menu.js +34 -13
  580. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  581. package/dist/components/dropdown-menu/meta.js +1 -1
  582. package/dist/components/dropdown-menu/meta.js.map +1 -1
  583. package/dist/components/effect-button/effect-button.d.ts +28 -0
  584. package/dist/components/effect-button/effect-button.d.ts.map +1 -0
  585. package/dist/components/effect-button/effect-button.js +176 -0
  586. package/dist/components/effect-button/effect-button.js.map +1 -0
  587. package/dist/components/effect-button/index.d.ts +2 -0
  588. package/dist/components/effect-button/index.js +2 -0
  589. package/dist/components/effect-button/meta.js +17 -0
  590. package/dist/components/effect-button/meta.js.map +1 -0
  591. package/dist/components/escape-button/escape-button.d.ts +25 -0
  592. package/dist/components/escape-button/escape-button.d.ts.map +1 -0
  593. package/dist/components/escape-button/escape-button.js +154 -0
  594. package/dist/components/escape-button/escape-button.js.map +1 -0
  595. package/dist/components/escape-button/index.d.ts +2 -0
  596. package/dist/components/escape-button/index.js +2 -0
  597. package/dist/components/escape-button/meta.js +17 -0
  598. package/dist/components/escape-button/meta.js.map +1 -0
  599. package/dist/components/expandable-cards/expandable-cards.d.ts +42 -0
  600. package/dist/components/expandable-cards/expandable-cards.d.ts.map +1 -0
  601. package/dist/components/expandable-cards/expandable-cards.js +312 -0
  602. package/dist/components/expandable-cards/expandable-cards.js.map +1 -0
  603. package/dist/components/expandable-cards/index.d.ts +2 -0
  604. package/dist/components/expandable-cards/index.js +2 -0
  605. package/dist/components/expandable-cards/meta.js +17 -0
  606. package/dist/components/expandable-cards/meta.js.map +1 -0
  607. package/dist/components/expandable-list/expandable-list.d.ts +35 -0
  608. package/dist/components/expandable-list/expandable-list.d.ts.map +1 -0
  609. package/dist/components/expandable-list/expandable-list.js +180 -0
  610. package/dist/components/expandable-list/expandable-list.js.map +1 -0
  611. package/dist/components/expandable-list/index.d.ts +2 -0
  612. package/dist/components/expandable-list/index.js +2 -0
  613. package/dist/components/expandable-list/meta.js +21 -0
  614. package/dist/components/expandable-list/meta.js.map +1 -0
  615. package/dist/components/expanding-search/expanding-search.d.ts +30 -0
  616. package/dist/components/expanding-search/expanding-search.d.ts.map +1 -0
  617. package/dist/components/expanding-search/expanding-search.js +141 -0
  618. package/dist/components/expanding-search/expanding-search.js.map +1 -0
  619. package/dist/components/expanding-search/index.d.ts +2 -0
  620. package/dist/components/expanding-search/index.js +2 -0
  621. package/dist/components/expanding-search/meta.js +17 -0
  622. package/dist/components/expanding-search/meta.js.map +1 -0
  623. package/dist/components/exposure-slider/exposure-slider.d.ts +33 -0
  624. package/dist/components/exposure-slider/exposure-slider.d.ts.map +1 -0
  625. package/dist/components/exposure-slider/exposure-slider.js +227 -0
  626. package/dist/components/exposure-slider/exposure-slider.js.map +1 -0
  627. package/dist/components/exposure-slider/index.d.ts +2 -0
  628. package/dist/components/exposure-slider/index.js +2 -0
  629. package/dist/components/exposure-slider/meta.js +17 -0
  630. package/dist/components/exposure-slider/meta.js.map +1 -0
  631. package/dist/components/file-upload/file-upload.d.ts +13 -2
  632. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  633. package/dist/components/file-upload/file-upload.js +166 -95
  634. package/dist/components/file-upload/file-upload.js.map +1 -1
  635. package/dist/components/file-upload/meta.js +1 -1
  636. package/dist/components/file-upload/meta.js.map +1 -1
  637. package/dist/components/focus-blur-links/focus-blur-links.d.ts +25 -0
  638. package/dist/components/focus-blur-links/focus-blur-links.d.ts.map +1 -0
  639. package/dist/components/focus-blur-links/focus-blur-links.js +92 -0
  640. package/dist/components/focus-blur-links/focus-blur-links.js.map +1 -0
  641. package/dist/components/focus-blur-links/index.d.ts +2 -0
  642. package/dist/components/focus-blur-links/index.js +2 -0
  643. package/dist/components/focus-blur-links/meta.js +17 -0
  644. package/dist/components/focus-blur-links/meta.js.map +1 -0
  645. package/dist/components/folding-frame/folding-frame.d.ts +38 -0
  646. package/dist/components/folding-frame/folding-frame.d.ts.map +1 -0
  647. package/dist/components/folding-frame/folding-frame.js +298 -0
  648. package/dist/components/folding-frame/folding-frame.js.map +1 -0
  649. package/dist/components/folding-frame/index.d.ts +2 -0
  650. package/dist/components/folding-frame/index.js +2 -0
  651. package/dist/components/folding-frame/meta.js +17 -0
  652. package/dist/components/folding-frame/meta.js.map +1 -0
  653. package/dist/components/form/form.d.ts +11 -2
  654. package/dist/components/form/form.d.ts.map +1 -1
  655. package/dist/components/form/form.js +55 -5
  656. package/dist/components/form/form.js.map +1 -1
  657. package/dist/components/form/meta.js +1 -1
  658. package/dist/components/form/meta.js.map +1 -1
  659. package/dist/components/glass-bubble/glass-bubble.d.ts +59 -0
  660. package/dist/components/glass-bubble/glass-bubble.d.ts.map +1 -0
  661. package/dist/components/glass-bubble/glass-bubble.js +308 -0
  662. package/dist/components/glass-bubble/glass-bubble.js.map +1 -0
  663. package/dist/components/glass-bubble/index.d.ts +2 -0
  664. package/dist/components/glass-bubble/index.js +2 -0
  665. package/dist/components/glass-bubble/meta.js +17 -0
  666. package/dist/components/glass-bubble/meta.js.map +1 -0
  667. package/dist/components/glow-card/glow-card.d.ts +34 -0
  668. package/dist/components/glow-card/glow-card.d.ts.map +1 -0
  669. package/dist/components/glow-card/glow-card.js +104 -0
  670. package/dist/components/glow-card/glow-card.js.map +1 -0
  671. package/dist/components/glow-card/index.d.ts +2 -0
  672. package/dist/components/glow-card/index.js +2 -0
  673. package/dist/components/glow-card/meta.js +17 -0
  674. package/dist/components/glow-card/meta.js.map +1 -0
  675. package/dist/components/goo-ball/goo-ball.d.ts +48 -0
  676. package/dist/components/goo-ball/goo-ball.d.ts.map +1 -0
  677. package/dist/components/goo-ball/goo-ball.js +295 -0
  678. package/dist/components/goo-ball/goo-ball.js.map +1 -0
  679. package/dist/components/goo-ball/index.d.ts +2 -0
  680. package/dist/components/goo-ball/index.js +2 -0
  681. package/dist/components/goo-ball/meta.js +21 -0
  682. package/dist/components/goo-ball/meta.js.map +1 -0
  683. package/dist/components/goo-tabs/goo-tabs.d.ts +37 -0
  684. package/dist/components/goo-tabs/goo-tabs.d.ts.map +1 -0
  685. package/dist/components/goo-tabs/goo-tabs.js +286 -0
  686. package/dist/components/goo-tabs/goo-tabs.js.map +1 -0
  687. package/dist/components/goo-tabs/index.d.ts +2 -0
  688. package/dist/components/goo-tabs/index.js +2 -0
  689. package/dist/components/goo-tabs/meta.js +17 -0
  690. package/dist/components/goo-tabs/meta.js.map +1 -0
  691. package/dist/components/gooey-popover/gooey-popover.d.ts +32 -0
  692. package/dist/components/gooey-popover/gooey-popover.d.ts.map +1 -0
  693. package/dist/components/gooey-popover/gooey-popover.js +257 -0
  694. package/dist/components/gooey-popover/gooey-popover.js.map +1 -0
  695. package/dist/components/gooey-popover/index.d.ts +2 -0
  696. package/dist/components/gooey-popover/index.js +2 -0
  697. package/dist/components/gooey-popover/meta.js +17 -0
  698. package/dist/components/gooey-popover/meta.js.map +1 -0
  699. package/dist/components/gradient-orb/gradient-orb.d.ts +39 -0
  700. package/dist/components/gradient-orb/gradient-orb.d.ts.map +1 -0
  701. package/dist/components/gradient-orb/gradient-orb.js +185 -0
  702. package/dist/components/gradient-orb/gradient-orb.js.map +1 -0
  703. package/dist/components/gradient-orb/index.d.ts +2 -0
  704. package/dist/components/gradient-orb/index.js +2 -0
  705. package/dist/components/gradient-orb/meta.js +17 -0
  706. package/dist/components/gradient-orb/meta.js.map +1 -0
  707. package/dist/components/grid-loader/grid-loader.d.ts +224 -0
  708. package/dist/components/grid-loader/grid-loader.d.ts.map +1 -0
  709. package/dist/components/grid-loader/grid-loader.js +271 -0
  710. package/dist/components/grid-loader/grid-loader.js.map +1 -0
  711. package/dist/components/grid-loader/index.d.ts +2 -0
  712. package/dist/components/grid-loader/index.js +2 -0
  713. package/dist/components/grid-loader/meta.js +17 -0
  714. package/dist/components/grid-loader/meta.js.map +1 -0
  715. package/dist/components/image-accordion/image-accordion.d.ts +40 -0
  716. package/dist/components/image-accordion/image-accordion.d.ts.map +1 -0
  717. package/dist/components/image-accordion/image-accordion.js +118 -0
  718. package/dist/components/image-accordion/image-accordion.js.map +1 -0
  719. package/dist/components/image-accordion/index.d.ts +2 -0
  720. package/dist/components/image-accordion/index.js +2 -0
  721. package/dist/components/image-accordion/meta.js +17 -0
  722. package/dist/components/image-accordion/meta.js.map +1 -0
  723. package/dist/components/image-metadata/image-metadata.d.ts +34 -0
  724. package/dist/components/image-metadata/image-metadata.d.ts.map +1 -0
  725. package/dist/components/image-metadata/image-metadata.js +178 -0
  726. package/dist/components/image-metadata/image-metadata.js.map +1 -0
  727. package/dist/components/image-metadata/index.d.ts +2 -0
  728. package/dist/components/image-metadata/index.js +2 -0
  729. package/dist/components/image-metadata/meta.js +17 -0
  730. package/dist/components/image-metadata/meta.js.map +1 -0
  731. package/dist/components/image-selector/image-selector.d.ts +37 -0
  732. package/dist/components/image-selector/image-selector.d.ts.map +1 -0
  733. package/dist/components/image-selector/image-selector.js +253 -0
  734. package/dist/components/image-selector/image-selector.js.map +1 -0
  735. package/dist/components/image-selector/index.d.ts +2 -0
  736. package/dist/components/image-selector/index.js +2 -0
  737. package/dist/components/image-selector/meta.js +17 -0
  738. package/dist/components/image-selector/meta.js.map +1 -0
  739. package/dist/components/inline-confirm/index.d.ts +2 -0
  740. package/dist/components/inline-confirm/index.js +2 -0
  741. package/dist/components/inline-confirm/inline-confirm.d.ts +38 -0
  742. package/dist/components/inline-confirm/inline-confirm.d.ts.map +1 -0
  743. package/dist/components/inline-confirm/inline-confirm.js +246 -0
  744. package/dist/components/inline-confirm/inline-confirm.js.map +1 -0
  745. package/dist/components/inline-confirm/meta.js +17 -0
  746. package/dist/components/inline-confirm/meta.js.map +1 -0
  747. package/dist/components/input/floating-label-input.d.ts +26 -0
  748. package/dist/components/input/floating-label-input.d.ts.map +1 -0
  749. package/dist/components/input/floating-label-input.js +47 -0
  750. package/dist/components/input/floating-label-input.js.map +1 -0
  751. package/dist/components/input/index.d.ts +2 -1
  752. package/dist/components/input/index.js +2 -1
  753. package/dist/components/input/input.js +1 -1
  754. package/dist/components/input/input.js.map +1 -1
  755. package/dist/components/input/meta.js +2 -2
  756. package/dist/components/input/meta.js.map +1 -1
  757. package/dist/components/invite-carousel/carousel-controls.js +189 -0
  758. package/dist/components/invite-carousel/carousel-controls.js.map +1 -0
  759. package/dist/components/invite-carousel/index.d.ts +2 -0
  760. package/dist/components/invite-carousel/index.js +2 -0
  761. package/dist/components/invite-carousel/invite-carousel.d.ts +56 -0
  762. package/dist/components/invite-carousel/invite-carousel.d.ts.map +1 -0
  763. package/dist/components/invite-carousel/invite-carousel.js +207 -0
  764. package/dist/components/invite-carousel/invite-carousel.js.map +1 -0
  765. package/dist/components/invite-carousel/meta.js +17 -0
  766. package/dist/components/invite-carousel/meta.js.map +1 -0
  767. package/dist/components/island/index.d.ts +2 -0
  768. package/dist/components/island/index.js +2 -0
  769. package/dist/components/island/island.d.ts +30 -0
  770. package/dist/components/island/island.d.ts.map +1 -0
  771. package/dist/components/island/island.js +94 -0
  772. package/dist/components/island/island.js.map +1 -0
  773. package/dist/components/island/meta.js +17 -0
  774. package/dist/components/island/meta.js.map +1 -0
  775. package/dist/components/liquid-toggle/index.d.ts +2 -0
  776. package/dist/components/liquid-toggle/index.js +2 -0
  777. package/dist/components/liquid-toggle/liquid-toggle.d.ts +19 -0
  778. package/dist/components/liquid-toggle/liquid-toggle.d.ts.map +1 -0
  779. package/dist/components/liquid-toggle/liquid-toggle.js +175 -0
  780. package/dist/components/liquid-toggle/liquid-toggle.js.map +1 -0
  781. package/dist/components/liquid-toggle/meta.js +21 -0
  782. package/dist/components/liquid-toggle/meta.js.map +1 -0
  783. package/dist/components/log-viewer/log-viewer.js +2 -2
  784. package/dist/components/log-viewer/log-viewer.js.map +1 -1
  785. package/dist/components/magnetic-button/index.d.ts +2 -0
  786. package/dist/components/magnetic-button/index.js +2 -0
  787. package/dist/components/magnetic-button/magnetic-button.d.ts +32 -0
  788. package/dist/components/magnetic-button/magnetic-button.d.ts.map +1 -0
  789. package/dist/components/magnetic-button/magnetic-button.js +138 -0
  790. package/dist/components/magnetic-button/magnetic-button.js.map +1 -0
  791. package/dist/components/magnetic-button/meta.js +17 -0
  792. package/dist/components/magnetic-button/meta.js.map +1 -0
  793. package/dist/components/magnetic-select/index.d.ts +2 -0
  794. package/dist/components/magnetic-select/index.js +2 -0
  795. package/dist/components/magnetic-select/magnetic-select-spring.js +21 -0
  796. package/dist/components/magnetic-select/magnetic-select-spring.js.map +1 -0
  797. package/dist/components/magnetic-select/magnetic-select.d.ts +44 -0
  798. package/dist/components/magnetic-select/magnetic-select.d.ts.map +1 -0
  799. package/dist/components/magnetic-select/magnetic-select.js +330 -0
  800. package/dist/components/magnetic-select/magnetic-select.js.map +1 -0
  801. package/dist/components/magnetic-select/meta.js +17 -0
  802. package/dist/components/magnetic-select/meta.js.map +1 -0
  803. package/dist/components/magnify-dock/index.d.ts +2 -0
  804. package/dist/components/magnify-dock/index.js +2 -0
  805. package/dist/components/magnify-dock/magnify-dock.d.ts +40 -0
  806. package/dist/components/magnify-dock/magnify-dock.d.ts.map +1 -0
  807. package/dist/components/magnify-dock/magnify-dock.js +183 -0
  808. package/dist/components/magnify-dock/magnify-dock.js.map +1 -0
  809. package/dist/components/magnify-dock/meta.js +17 -0
  810. package/dist/components/magnify-dock/meta.js.map +1 -0
  811. package/dist/components/marquee/index.d.ts +2 -0
  812. package/dist/components/marquee/index.js +2 -0
  813. package/dist/components/marquee/marquee.d.ts +30 -0
  814. package/dist/components/marquee/marquee.d.ts.map +1 -0
  815. package/dist/components/marquee/marquee.js +117 -0
  816. package/dist/components/marquee/marquee.js.map +1 -0
  817. package/dist/components/marquee/meta.js +17 -0
  818. package/dist/components/marquee/meta.js.map +1 -0
  819. package/dist/components/meter/meter.js +1 -1
  820. package/dist/components/meter/meter.js.map +1 -1
  821. package/dist/components/morph-button/index.d.ts +2 -0
  822. package/dist/components/morph-button/index.js +2 -0
  823. package/dist/components/morph-button/meta.js +17 -0
  824. package/dist/components/morph-button/meta.js.map +1 -0
  825. package/dist/components/morph-button/morph-button.d.ts +57 -0
  826. package/dist/components/morph-button/morph-button.d.ts.map +1 -0
  827. package/dist/components/morph-button/morph-button.js +220 -0
  828. package/dist/components/morph-button/morph-button.js.map +1 -0
  829. package/dist/components/morph-surface/index.d.ts +2 -0
  830. package/dist/components/morph-surface/index.js +2 -0
  831. package/dist/components/morph-surface/meta.js +17 -0
  832. package/dist/components/morph-surface/meta.js.map +1 -0
  833. package/dist/components/morph-surface/morph-surface.d.ts +51 -0
  834. package/dist/components/morph-surface/morph-surface.d.ts.map +1 -0
  835. package/dist/components/morph-surface/morph-surface.js +228 -0
  836. package/dist/components/morph-surface/morph-surface.js.map +1 -0
  837. package/dist/components/notification-badge/index.d.ts +2 -0
  838. package/dist/components/notification-badge/index.js +2 -0
  839. package/dist/components/notification-badge/meta.js +17 -0
  840. package/dist/components/notification-badge/meta.js.map +1 -0
  841. package/dist/components/notification-badge/notification-badge.d.ts +40 -0
  842. package/dist/components/notification-badge/notification-badge.d.ts.map +1 -0
  843. package/dist/components/notification-badge/notification-badge.js +107 -0
  844. package/dist/components/notification-badge/notification-badge.js.map +1 -0
  845. package/dist/components/notify-button/index.d.ts +2 -0
  846. package/dist/components/notify-button/index.js +2 -0
  847. package/dist/components/notify-button/meta.js +17 -0
  848. package/dist/components/notify-button/meta.js.map +1 -0
  849. package/dist/components/notify-button/notify-button.d.ts +28 -0
  850. package/dist/components/notify-button/notify-button.d.ts.map +1 -0
  851. package/dist/components/notify-button/notify-button.js +114 -0
  852. package/dist/components/notify-button/notify-button.js.map +1 -0
  853. package/dist/components/now-playing/index.d.ts +2 -0
  854. package/dist/components/now-playing/index.js +2 -0
  855. package/dist/components/now-playing/meta.js +17 -0
  856. package/dist/components/now-playing/meta.js.map +1 -0
  857. package/dist/components/now-playing/now-playing.d.ts +39 -0
  858. package/dist/components/now-playing/now-playing.d.ts.map +1 -0
  859. package/dist/components/now-playing/now-playing.js +354 -0
  860. package/dist/components/now-playing/now-playing.js.map +1 -0
  861. package/dist/components/number-flow/index.d.ts +2 -0
  862. package/dist/components/number-flow/index.js +2 -0
  863. package/dist/components/number-flow/meta.js +17 -0
  864. package/dist/components/number-flow/meta.js.map +1 -0
  865. package/dist/components/number-flow/number-flow.d.ts +45 -0
  866. package/dist/components/number-flow/number-flow.d.ts.map +1 -0
  867. package/dist/components/number-flow/number-flow.js +226 -0
  868. package/dist/components/number-flow/number-flow.js.map +1 -0
  869. package/dist/components/orb-face/index.d.ts +2 -0
  870. package/dist/components/orb-face/index.js +2 -0
  871. package/dist/components/orb-face/meta.js +17 -0
  872. package/dist/components/orb-face/meta.js.map +1 -0
  873. package/dist/components/orb-face/orb-face.d.ts +29 -0
  874. package/dist/components/orb-face/orb-face.d.ts.map +1 -0
  875. package/dist/components/orb-face/orb-face.js +353 -0
  876. package/dist/components/orb-face/orb-face.js.map +1 -0
  877. package/dist/components/otp-input/index.d.ts +2 -0
  878. package/dist/components/otp-input/index.js +2 -0
  879. package/dist/components/otp-input/meta.js +17 -0
  880. package/dist/components/otp-input/meta.js.map +1 -0
  881. package/dist/components/otp-input/otp-input.d.ts +36 -0
  882. package/dist/components/otp-input/otp-input.d.ts.map +1 -0
  883. package/dist/components/otp-input/otp-input.js +249 -0
  884. package/dist/components/otp-input/otp-input.js.map +1 -0
  885. package/dist/components/pagination/index.d.ts +2 -2
  886. package/dist/components/pagination/meta.js +2 -2
  887. package/dist/components/pagination/meta.js.map +1 -1
  888. package/dist/components/pagination/pagination-indicator.js +76 -0
  889. package/dist/components/pagination/pagination-indicator.js.map +1 -0
  890. package/dist/components/pagination/pagination.d.ts +10 -2
  891. package/dist/components/pagination/pagination.d.ts.map +1 -1
  892. package/dist/components/pagination/pagination.js +16 -6
  893. package/dist/components/pagination/pagination.js.map +1 -1
  894. package/dist/components/palette-generator/index.d.ts +2 -0
  895. package/dist/components/palette-generator/index.js +2 -0
  896. package/dist/components/palette-generator/meta.js +17 -0
  897. package/dist/components/palette-generator/meta.js.map +1 -0
  898. package/dist/components/palette-generator/palette-generator.d.ts +43 -0
  899. package/dist/components/palette-generator/palette-generator.d.ts.map +1 -0
  900. package/dist/components/palette-generator/palette-generator.js +199 -0
  901. package/dist/components/palette-generator/palette-generator.js.map +1 -0
  902. package/dist/components/permission-matrix/permission-matrix.js +3 -3
  903. package/dist/components/permission-matrix/permission-matrix.js.map +1 -1
  904. package/dist/components/photo-stack/index.d.ts +2 -0
  905. package/dist/components/photo-stack/index.js +2 -0
  906. package/dist/components/photo-stack/meta.js +17 -0
  907. package/dist/components/photo-stack/meta.js.map +1 -0
  908. package/dist/components/photo-stack/photo-stack.d.ts +30 -0
  909. package/dist/components/photo-stack/photo-stack.d.ts.map +1 -0
  910. package/dist/components/photo-stack/photo-stack.js +236 -0
  911. package/dist/components/photo-stack/photo-stack.js.map +1 -0
  912. package/dist/components/photo-tabs/index.d.ts +2 -0
  913. package/dist/components/photo-tabs/index.js +2 -0
  914. package/dist/components/photo-tabs/meta.js +17 -0
  915. package/dist/components/photo-tabs/meta.js.map +1 -0
  916. package/dist/components/photo-tabs/photo-tabs.d.ts +35 -0
  917. package/dist/components/photo-tabs/photo-tabs.d.ts.map +1 -0
  918. package/dist/components/photo-tabs/photo-tabs.js +82 -0
  919. package/dist/components/photo-tabs/photo-tabs.js.map +1 -0
  920. package/dist/components/pixel-avatar/index.d.ts +2 -0
  921. package/dist/components/pixel-avatar/index.js +2 -0
  922. package/dist/components/pixel-avatar/meta.js +17 -0
  923. package/dist/components/pixel-avatar/meta.js.map +1 -0
  924. package/dist/components/pixel-avatar/pixel-avatar.d.ts +23 -0
  925. package/dist/components/pixel-avatar/pixel-avatar.d.ts.map +1 -0
  926. package/dist/components/pixel-avatar/pixel-avatar.js +181 -0
  927. package/dist/components/pixel-avatar/pixel-avatar.js.map +1 -0
  928. package/dist/components/product-card/index.d.ts +2 -0
  929. package/dist/components/product-card/index.js +2 -0
  930. package/dist/components/product-card/meta.js +17 -0
  931. package/dist/components/product-card/meta.js.map +1 -0
  932. package/dist/components/product-card/product-card.d.ts +43 -0
  933. package/dist/components/product-card/product-card.d.ts.map +1 -0
  934. package/dist/components/product-card/product-card.js +249 -0
  935. package/dist/components/product-card/product-card.js.map +1 -0
  936. package/dist/components/progress/meta.js +1 -1
  937. package/dist/components/progress/meta.js.map +1 -1
  938. package/dist/components/progress/progress.d.ts +21 -2
  939. package/dist/components/progress/progress.d.ts.map +1 -1
  940. package/dist/components/progress/progress.js +56 -6
  941. package/dist/components/progress/progress.js.map +1 -1
  942. package/dist/components/pull-to-refresh/index.d.ts +2 -0
  943. package/dist/components/pull-to-refresh/index.js +2 -0
  944. package/dist/components/pull-to-refresh/meta.js +17 -0
  945. package/dist/components/pull-to-refresh/meta.js.map +1 -0
  946. package/dist/components/pull-to-refresh/pull-to-refresh.d.ts +47 -0
  947. package/dist/components/pull-to-refresh/pull-to-refresh.d.ts.map +1 -0
  948. package/dist/components/pull-to-refresh/pull-to-refresh.js +302 -0
  949. package/dist/components/pull-to-refresh/pull-to-refresh.js.map +1 -0
  950. package/dist/components/radial-menu/index.d.ts +2 -0
  951. package/dist/components/radial-menu/index.js +2 -0
  952. package/dist/components/radial-menu/meta.js +17 -0
  953. package/dist/components/radial-menu/meta.js.map +1 -0
  954. package/dist/components/radial-menu/radial-menu.d.ts +44 -0
  955. package/dist/components/radial-menu/radial-menu.d.ts.map +1 -0
  956. package/dist/components/radial-menu/radial-menu.js +313 -0
  957. package/dist/components/radial-menu/radial-menu.js.map +1 -0
  958. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  959. package/dist/components/radio-group/radio-group.js +4 -1
  960. package/dist/components/radio-group/radio-group.js.map +1 -1
  961. package/dist/components/range-dial/index.d.ts +2 -0
  962. package/dist/components/range-dial/index.js +2 -0
  963. package/dist/components/range-dial/meta.js +17 -0
  964. package/dist/components/range-dial/meta.js.map +1 -0
  965. package/dist/components/range-dial/range-dial.d.ts +33 -0
  966. package/dist/components/range-dial/range-dial.d.ts.map +1 -0
  967. package/dist/components/range-dial/range-dial.js +308 -0
  968. package/dist/components/range-dial/range-dial.js.map +1 -0
  969. package/dist/components/record-diff/record-diff.js +4 -4
  970. package/dist/components/record-diff/record-diff.js.map +1 -1
  971. package/dist/components/reorder-list/index.d.ts +2 -0
  972. package/dist/components/reorder-list/index.js +2 -0
  973. package/dist/components/reorder-list/meta.js +17 -0
  974. package/dist/components/reorder-list/meta.js.map +1 -0
  975. package/dist/components/reorder-list/reorder-list.d.ts +79 -0
  976. package/dist/components/reorder-list/reorder-list.d.ts.map +1 -0
  977. package/dist/components/reorder-list/reorder-list.js +471 -0
  978. package/dist/components/reorder-list/reorder-list.js.map +1 -0
  979. package/dist/components/reviews-carousel/carousel-controls.js +189 -0
  980. package/dist/components/reviews-carousel/carousel-controls.js.map +1 -0
  981. package/dist/components/reviews-carousel/index.d.ts +2 -0
  982. package/dist/components/reviews-carousel/index.js +2 -0
  983. package/dist/components/reviews-carousel/meta.js +17 -0
  984. package/dist/components/reviews-carousel/meta.js.map +1 -0
  985. package/dist/components/reviews-carousel/reviews-carousel.d.ts +46 -0
  986. package/dist/components/reviews-carousel/reviews-carousel.d.ts.map +1 -0
  987. package/dist/components/reviews-carousel/reviews-carousel.js +177 -0
  988. package/dist/components/reviews-carousel/reviews-carousel.js.map +1 -0
  989. package/dist/components/rich-popover/index.d.ts +2 -0
  990. package/dist/components/rich-popover/index.js +2 -0
  991. package/dist/components/rich-popover/meta.js +17 -0
  992. package/dist/components/rich-popover/meta.js.map +1 -0
  993. package/dist/components/rich-popover/rich-popover.d.ts +36 -0
  994. package/dist/components/rich-popover/rich-popover.d.ts.map +1 -0
  995. package/dist/components/rich-popover/rich-popover.js +157 -0
  996. package/dist/components/rich-popover/rich-popover.js.map +1 -0
  997. package/dist/components/ring-loader/index.d.ts +2 -0
  998. package/dist/components/ring-loader/index.js +2 -0
  999. package/dist/components/ring-loader/meta.js +17 -0
  1000. package/dist/components/ring-loader/meta.js.map +1 -0
  1001. package/dist/components/ring-loader/ring-loader.d.ts +31 -0
  1002. package/dist/components/ring-loader/ring-loader.d.ts.map +1 -0
  1003. package/dist/components/ring-loader/ring-loader.js +597 -0
  1004. package/dist/components/ring-loader/ring-loader.js.map +1 -0
  1005. package/dist/components/scramble-text/index.d.ts +2 -0
  1006. package/dist/components/scramble-text/index.js +2 -0
  1007. package/dist/components/scramble-text/meta.js +17 -0
  1008. package/dist/components/scramble-text/meta.js.map +1 -0
  1009. package/dist/components/scramble-text/scramble-text.d.ts +35 -0
  1010. package/dist/components/scramble-text/scramble-text.d.ts.map +1 -0
  1011. package/dist/components/scramble-text/scramble-text.js +151 -0
  1012. package/dist/components/scramble-text/scramble-text.js.map +1 -0
  1013. package/dist/components/scroll-reveal-text/index.d.ts +2 -0
  1014. package/dist/components/scroll-reveal-text/index.js +2 -0
  1015. package/dist/components/scroll-reveal-text/meta.js +17 -0
  1016. package/dist/components/scroll-reveal-text/meta.js.map +1 -0
  1017. package/dist/components/scroll-reveal-text/scroll-reveal-text.d.ts +22 -0
  1018. package/dist/components/scroll-reveal-text/scroll-reveal-text.d.ts.map +1 -0
  1019. package/dist/components/scroll-reveal-text/scroll-reveal-text.js +113 -0
  1020. package/dist/components/scroll-reveal-text/scroll-reveal-text.js.map +1 -0
  1021. package/dist/components/scrubber/index.d.ts +2 -0
  1022. package/dist/components/scrubber/index.js +2 -0
  1023. package/dist/components/scrubber/meta.js +17 -0
  1024. package/dist/components/scrubber/meta.js.map +1 -0
  1025. package/dist/components/scrubber/scrubber.d.ts +37 -0
  1026. package/dist/components/scrubber/scrubber.d.ts.map +1 -0
  1027. package/dist/components/scrubber/scrubber.js +217 -0
  1028. package/dist/components/scrubber/scrubber.js.map +1 -0
  1029. package/dist/components/select/meta.js +1 -1
  1030. package/dist/components/select/meta.js.map +1 -1
  1031. package/dist/components/select/select.d.ts +5 -0
  1032. package/dist/components/select/select.d.ts.map +1 -1
  1033. package/dist/components/select/select.js +29 -7
  1034. package/dist/components/select/select.js.map +1 -1
  1035. package/dist/components/selection-list/index.d.ts +2 -0
  1036. package/dist/components/selection-list/index.js +2 -0
  1037. package/dist/components/selection-list/meta.js +17 -0
  1038. package/dist/components/selection-list/meta.js.map +1 -0
  1039. package/dist/components/selection-list/selection-list-spring.js +21 -0
  1040. package/dist/components/selection-list/selection-list-spring.js.map +1 -0
  1041. package/dist/components/selection-list/selection-list.d.ts +42 -0
  1042. package/dist/components/selection-list/selection-list.d.ts.map +1 -0
  1043. package/dist/components/selection-list/selection-list.js +355 -0
  1044. package/dist/components/selection-list/selection-list.js.map +1 -0
  1045. package/dist/components/shader-transition/index.d.ts +4 -0
  1046. package/dist/components/shader-transition/index.js +4 -0
  1047. package/dist/components/shader-transition/meta.js +21 -0
  1048. package/dist/components/shader-transition/meta.js.map +1 -0
  1049. package/dist/components/shader-transition/shader-transition-engine.d.ts +39 -0
  1050. package/dist/components/shader-transition/shader-transition-engine.d.ts.map +1 -0
  1051. package/dist/components/shader-transition/shader-transition-engine.js +294 -0
  1052. package/dist/components/shader-transition/shader-transition-engine.js.map +1 -0
  1053. package/dist/components/shader-transition/shader-transition-presets.d.ts +222 -0
  1054. package/dist/components/shader-transition/shader-transition-presets.d.ts.map +1 -0
  1055. package/dist/components/shader-transition/shader-transition-presets.js +346 -0
  1056. package/dist/components/shader-transition/shader-transition-presets.js.map +1 -0
  1057. package/dist/components/shader-transition/shader-transition.d.ts +35 -0
  1058. package/dist/components/shader-transition/shader-transition.d.ts.map +1 -0
  1059. package/dist/components/shader-transition/shader-transition.js +314 -0
  1060. package/dist/components/shader-transition/shader-transition.js.map +1 -0
  1061. package/dist/components/shape-loader/index.d.ts +2 -0
  1062. package/dist/components/shape-loader/index.js +2 -0
  1063. package/dist/components/shape-loader/meta.js +17 -0
  1064. package/dist/components/shape-loader/meta.js.map +1 -0
  1065. package/dist/components/shape-loader/shape-loader-variants.d.ts +8 -0
  1066. package/dist/components/shape-loader/shape-loader-variants.d.ts.map +1 -0
  1067. package/dist/components/shape-loader/shape-loader-variants.js +635 -0
  1068. package/dist/components/shape-loader/shape-loader-variants.js.map +1 -0
  1069. package/dist/components/shape-loader/shape-loader.d.ts +26 -0
  1070. package/dist/components/shape-loader/shape-loader.d.ts.map +1 -0
  1071. package/dist/components/shape-loader/shape-loader.js +99 -0
  1072. package/dist/components/shape-loader/shape-loader.js.map +1 -0
  1073. package/dist/components/sheet/meta.js +1 -1
  1074. package/dist/components/sheet/meta.js.map +1 -1
  1075. package/dist/components/sheet/sheet.d.ts +10 -2
  1076. package/dist/components/sheet/sheet.d.ts.map +1 -1
  1077. package/dist/components/sheet/sheet.js +25 -6
  1078. package/dist/components/sheet/sheet.js.map +1 -1
  1079. package/dist/components/shimmer-text/index.d.ts +2 -0
  1080. package/dist/components/shimmer-text/index.js +2 -0
  1081. package/dist/components/shimmer-text/meta.js +17 -0
  1082. package/dist/components/shimmer-text/meta.js.map +1 -0
  1083. package/dist/components/shimmer-text/shimmer-text.d.ts +33 -0
  1084. package/dist/components/shimmer-text/shimmer-text.d.ts.map +1 -0
  1085. package/dist/components/shimmer-text/shimmer-text.js +120 -0
  1086. package/dist/components/shimmer-text/shimmer-text.js.map +1 -0
  1087. package/dist/components/sidebar/index.d.ts +2 -0
  1088. package/dist/components/sidebar/index.js +2 -0
  1089. package/dist/components/sidebar/meta.js +17 -0
  1090. package/dist/components/sidebar/meta.js.map +1 -0
  1091. package/dist/components/sidebar/sidebar.d.ts +69 -0
  1092. package/dist/components/sidebar/sidebar.d.ts.map +1 -0
  1093. package/dist/components/sidebar/sidebar.js +256 -0
  1094. package/dist/components/sidebar/sidebar.js.map +1 -0
  1095. package/dist/components/skeleton/index.d.ts +2 -2
  1096. package/dist/components/skeleton/meta.js +1 -1
  1097. package/dist/components/skeleton/meta.js.map +1 -1
  1098. package/dist/components/skeleton/skeleton.d.ts +14 -2
  1099. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  1100. package/dist/components/skeleton/skeleton.js +24 -5
  1101. package/dist/components/skeleton/skeleton.js.map +1 -1
  1102. package/dist/components/slide-to-confirm/index.d.ts +2 -0
  1103. package/dist/components/slide-to-confirm/index.js +2 -0
  1104. package/dist/components/slide-to-confirm/meta.js +21 -0
  1105. package/dist/components/slide-to-confirm/meta.js.map +1 -0
  1106. package/dist/components/slide-to-confirm/slide-to-confirm.d.ts +38 -0
  1107. package/dist/components/slide-to-confirm/slide-to-confirm.d.ts.map +1 -0
  1108. package/dist/components/slide-to-confirm/slide-to-confirm.js +389 -0
  1109. package/dist/components/slide-to-confirm/slide-to-confirm.js.map +1 -0
  1110. package/dist/components/slosh-slider/index.d.ts +2 -0
  1111. package/dist/components/slosh-slider/index.js +2 -0
  1112. package/dist/components/slosh-slider/meta.js +21 -0
  1113. package/dist/components/slosh-slider/meta.js.map +1 -0
  1114. package/dist/components/slosh-slider/slosh-slider.d.ts +43 -0
  1115. package/dist/components/slosh-slider/slosh-slider.d.ts.map +1 -0
  1116. package/dist/components/slosh-slider/slosh-slider.js +140 -0
  1117. package/dist/components/slosh-slider/slosh-slider.js.map +1 -0
  1118. package/dist/components/social-selector/index.d.ts +2 -0
  1119. package/dist/components/social-selector/index.js +2 -0
  1120. package/dist/components/social-selector/meta.js +17 -0
  1121. package/dist/components/social-selector/meta.js.map +1 -0
  1122. package/dist/components/social-selector/social-selector.d.ts +45 -0
  1123. package/dist/components/social-selector/social-selector.d.ts.map +1 -0
  1124. package/dist/components/social-selector/social-selector.js +128 -0
  1125. package/dist/components/social-selector/social-selector.js.map +1 -0
  1126. package/dist/components/spinner/spinner.d.ts +1 -1
  1127. package/dist/components/star-count/index.d.ts +2 -0
  1128. package/dist/components/star-count/index.js +2 -0
  1129. package/dist/components/star-count/meta.js +17 -0
  1130. package/dist/components/star-count/meta.js.map +1 -0
  1131. package/dist/components/star-count/star-count.d.ts +35 -0
  1132. package/dist/components/star-count/star-count.d.ts.map +1 -0
  1133. package/dist/components/star-count/star-count.js +94 -0
  1134. package/dist/components/star-count/star-count.js.map +1 -0
  1135. package/dist/components/stepper/index.d.ts +2 -0
  1136. package/dist/components/stepper/index.js +2 -0
  1137. package/dist/components/stepper/meta.js +17 -0
  1138. package/dist/components/stepper/meta.js.map +1 -0
  1139. package/dist/components/stepper/stepper.d.ts +45 -0
  1140. package/dist/components/stepper/stepper.d.ts.map +1 -0
  1141. package/dist/components/stepper/stepper.js +207 -0
  1142. package/dist/components/stepper/stepper.js.map +1 -0
  1143. package/dist/components/swipe-carousel/carousel-controls.js +98 -0
  1144. package/dist/components/swipe-carousel/carousel-controls.js.map +1 -0
  1145. package/dist/components/swipe-carousel/index.d.ts +2 -0
  1146. package/dist/components/swipe-carousel/index.js +2 -0
  1147. package/dist/components/swipe-carousel/meta.js +17 -0
  1148. package/dist/components/swipe-carousel/meta.js.map +1 -0
  1149. package/dist/components/swipe-carousel/swipe-carousel.d.ts +27 -0
  1150. package/dist/components/swipe-carousel/swipe-carousel.d.ts.map +1 -0
  1151. package/dist/components/swipe-carousel/swipe-carousel.js +288 -0
  1152. package/dist/components/swipe-carousel/swipe-carousel.js.map +1 -0
  1153. package/dist/components/switch/meta.js +1 -1
  1154. package/dist/components/switch/meta.js.map +1 -1
  1155. package/dist/components/switch/switch.d.ts +25 -3
  1156. package/dist/components/switch/switch.d.ts.map +1 -1
  1157. package/dist/components/switch/switch.js +20 -4
  1158. package/dist/components/switch/switch.js.map +1 -1
  1159. package/dist/components/switchboard-card/index.d.ts +2 -0
  1160. package/dist/components/switchboard-card/index.js +2 -0
  1161. package/dist/components/switchboard-card/meta.js +17 -0
  1162. package/dist/components/switchboard-card/meta.js.map +1 -0
  1163. package/dist/components/switchboard-card/switchboard-card.d.ts +44 -0
  1164. package/dist/components/switchboard-card/switchboard-card.d.ts.map +1 -0
  1165. package/dist/components/switchboard-card/switchboard-card.js +169 -0
  1166. package/dist/components/switchboard-card/switchboard-card.js.map +1 -0
  1167. package/dist/components/table/table.js +2 -2
  1168. package/dist/components/table/table.js.map +1 -1
  1169. package/dist/components/tabs/index.d.ts +2 -2
  1170. package/dist/components/tabs/index.js +2 -2
  1171. package/dist/components/tabs/meta.js +1 -1
  1172. package/dist/components/tabs/meta.js.map +1 -1
  1173. package/dist/components/tabs/tabs.d.ts +6 -2
  1174. package/dist/components/tabs/tabs.d.ts.map +1 -1
  1175. package/dist/components/tabs/tabs.js +112 -10
  1176. package/dist/components/tabs/tabs.js.map +1 -1
  1177. package/dist/components/tags-input/meta.js +1 -1
  1178. package/dist/components/tags-input/meta.js.map +1 -1
  1179. package/dist/components/tags-input/tags-input.d.ts +7 -1
  1180. package/dist/components/tags-input/tags-input.d.ts.map +1 -1
  1181. package/dist/components/tags-input/tags-input.js +82 -6
  1182. package/dist/components/tags-input/tags-input.js.map +1 -1
  1183. package/dist/components/text-effect/index.d.ts +3 -0
  1184. package/dist/components/text-effect/index.js +3 -0
  1185. package/dist/components/text-effect/meta.js +17 -0
  1186. package/dist/components/text-effect/meta.js.map +1 -0
  1187. package/dist/components/text-effect/text-effect-presets.d.ts +256 -0
  1188. package/dist/components/text-effect/text-effect-presets.d.ts.map +1 -0
  1189. package/dist/components/text-effect/text-effect-presets.js +292 -0
  1190. package/dist/components/text-effect/text-effect-presets.js.map +1 -0
  1191. package/dist/components/text-effect/text-effect.d.ts +58 -0
  1192. package/dist/components/text-effect/text-effect.d.ts.map +1 -0
  1193. package/dist/components/text-effect/text-effect.js +243 -0
  1194. package/dist/components/text-effect/text-effect.js.map +1 -0
  1195. package/dist/components/text-loader/index.d.ts +2 -0
  1196. package/dist/components/text-loader/index.js +2 -0
  1197. package/dist/components/text-loader/meta.js +17 -0
  1198. package/dist/components/text-loader/meta.js.map +1 -0
  1199. package/dist/components/text-loader/text-loader.d.ts +30 -0
  1200. package/dist/components/text-loader/text-loader.d.ts.map +1 -0
  1201. package/dist/components/text-loader/text-loader.js +514 -0
  1202. package/dist/components/text-loader/text-loader.js.map +1 -0
  1203. package/dist/components/text-swap/index.d.ts +3 -0
  1204. package/dist/components/text-swap/index.js +3 -0
  1205. package/dist/components/text-swap/meta.js +17 -0
  1206. package/dist/components/text-swap/meta.js.map +1 -0
  1207. package/dist/components/text-swap/text-rotate.d.ts +17 -0
  1208. package/dist/components/text-swap/text-rotate.d.ts.map +1 -0
  1209. package/dist/components/text-swap/text-rotate.js +51 -0
  1210. package/dist/components/text-swap/text-rotate.js.map +1 -0
  1211. package/dist/components/text-swap/text-swap.d.ts +41 -0
  1212. package/dist/components/text-swap/text-swap.d.ts.map +1 -0
  1213. package/dist/components/text-swap/text-swap.js +303 -0
  1214. package/dist/components/text-swap/text-swap.js.map +1 -0
  1215. package/dist/components/textarea/index.d.ts +2 -0
  1216. package/dist/components/textarea/index.js +2 -0
  1217. package/dist/components/textarea/meta.js +17 -0
  1218. package/dist/components/textarea/meta.js.map +1 -0
  1219. package/dist/components/textarea/textarea.d.ts +43 -0
  1220. package/dist/components/textarea/textarea.d.ts.map +1 -0
  1221. package/dist/components/textarea/textarea.js +119 -0
  1222. package/dist/components/textarea/textarea.js.map +1 -0
  1223. package/dist/components/tick-progress/index.d.ts +2 -0
  1224. package/dist/components/tick-progress/index.js +2 -0
  1225. package/dist/components/tick-progress/meta.js +17 -0
  1226. package/dist/components/tick-progress/meta.js.map +1 -0
  1227. package/dist/components/tick-progress/tick-progress.d.ts +28 -0
  1228. package/dist/components/tick-progress/tick-progress.d.ts.map +1 -0
  1229. package/dist/components/tick-progress/tick-progress.js +151 -0
  1230. package/dist/components/tick-progress/tick-progress.js.map +1 -0
  1231. package/dist/components/tilt-card/index.d.ts +2 -0
  1232. package/dist/components/tilt-card/index.js +2 -0
  1233. package/dist/components/tilt-card/meta.js +17 -0
  1234. package/dist/components/tilt-card/meta.js.map +1 -0
  1235. package/dist/components/tilt-card/tilt-card.d.ts +36 -0
  1236. package/dist/components/tilt-card/tilt-card.d.ts.map +1 -0
  1237. package/dist/components/tilt-card/tilt-card.js +135 -0
  1238. package/dist/components/tilt-card/tilt-card.js.map +1 -0
  1239. package/dist/components/time-range-picker/time-range-picker.js +3 -3
  1240. package/dist/components/time-range-picker/time-range-picker.js.map +1 -1
  1241. package/dist/components/time-stack/index.d.ts +2 -0
  1242. package/dist/components/time-stack/index.js +2 -0
  1243. package/dist/components/time-stack/meta.js +17 -0
  1244. package/dist/components/time-stack/meta.js.map +1 -0
  1245. package/dist/components/time-stack/time-stack.d.ts +37 -0
  1246. package/dist/components/time-stack/time-stack.d.ts.map +1 -0
  1247. package/dist/components/time-stack/time-stack.js +253 -0
  1248. package/dist/components/time-stack/time-stack.js.map +1 -0
  1249. package/dist/components/toast/meta.js +1 -1
  1250. package/dist/components/toast/meta.js.map +1 -1
  1251. package/dist/components/toast/toast.d.ts +13 -4
  1252. package/dist/components/toast/toast.d.ts.map +1 -1
  1253. package/dist/components/toast/toast.js +34 -11
  1254. package/dist/components/toast/toast.js.map +1 -1
  1255. package/dist/components/todo-tower/index.d.ts +2 -0
  1256. package/dist/components/todo-tower/index.js +2 -0
  1257. package/dist/components/todo-tower/meta.js +17 -0
  1258. package/dist/components/todo-tower/meta.js.map +1 -0
  1259. package/dist/components/todo-tower/todo-tower.d.ts +38 -0
  1260. package/dist/components/todo-tower/todo-tower.d.ts.map +1 -0
  1261. package/dist/components/todo-tower/todo-tower.js +284 -0
  1262. package/dist/components/todo-tower/todo-tower.js.map +1 -0
  1263. package/dist/components/tooltip/meta.js +1 -1
  1264. package/dist/components/tooltip/meta.js.map +1 -1
  1265. package/dist/components/tooltip/tooltip.d.ts +4 -0
  1266. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  1267. package/dist/components/tooltip/tooltip.js +20 -4
  1268. package/dist/components/tooltip/tooltip.js.map +1 -1
  1269. package/dist/components/tweet-card/index.d.ts +2 -0
  1270. package/dist/components/tweet-card/index.js +2 -0
  1271. package/dist/components/tweet-card/meta.js +17 -0
  1272. package/dist/components/tweet-card/meta.js.map +1 -0
  1273. package/dist/components/tweet-card/tweet-card.d.ts +57 -0
  1274. package/dist/components/tweet-card/tweet-card.d.ts.map +1 -0
  1275. package/dist/components/tweet-card/tweet-card.js +243 -0
  1276. package/dist/components/tweet-card/tweet-card.js.map +1 -0
  1277. package/dist/components/typewriter-text/index.d.ts +2 -0
  1278. package/dist/components/typewriter-text/index.js +2 -0
  1279. package/dist/components/typewriter-text/meta.js +17 -0
  1280. package/dist/components/typewriter-text/meta.js.map +1 -0
  1281. package/dist/components/typewriter-text/typewriter-text.d.ts +33 -0
  1282. package/dist/components/typewriter-text/typewriter-text.d.ts.map +1 -0
  1283. package/dist/components/typewriter-text/typewriter-text.js +135 -0
  1284. package/dist/components/typewriter-text/typewriter-text.js.map +1 -0
  1285. package/dist/components/uptime-matrix/index.d.ts +2 -0
  1286. package/dist/components/uptime-matrix/index.js +2 -0
  1287. package/dist/components/uptime-matrix/meta.js +17 -0
  1288. package/dist/components/uptime-matrix/meta.js.map +1 -0
  1289. package/dist/components/uptime-matrix/uptime-matrix.d.ts +60 -0
  1290. package/dist/components/uptime-matrix/uptime-matrix.d.ts.map +1 -0
  1291. package/dist/components/uptime-matrix/uptime-matrix.js +303 -0
  1292. package/dist/components/uptime-matrix/uptime-matrix.js.map +1 -0
  1293. package/dist/index.d.ts +256 -18
  1294. package/dist/index.js +134 -10
  1295. package/dist/lib/styles.d.ts +16 -1
  1296. package/dist/lib/styles.d.ts.map +1 -1
  1297. package/dist/lib/styles.js +16 -1
  1298. package/dist/lib/styles.js.map +1 -1
  1299. package/dist/registry/blocks.d.ts.map +1 -1
  1300. package/dist/registry/blocks.js +95 -9
  1301. package/dist/registry/blocks.js.map +1 -1
  1302. package/dist/registry/components.d.ts.map +1 -1
  1303. package/dist/registry/components.js +278 -50
  1304. package/dist/registry/components.js.map +1 -1
  1305. package/dist/registry/schema.d.ts +9 -1
  1306. package/dist/registry/schema.d.ts.map +1 -1
  1307. package/dist/registry/schema.js +2 -1
  1308. package/dist/registry/schema.js.map +1 -1
  1309. package/package.json +6 -4
  1310. package/src/components/accordion/accordion.tsx +1 -1
  1311. package/src/components/account-menu/account-menu.tsx +338 -0
  1312. package/src/components/account-menu/index.ts +12 -0
  1313. package/src/components/account-menu/meta.ts +19 -0
  1314. package/src/components/action-node/action-node-spring.ts +34 -0
  1315. package/src/components/action-node/action-node.tsx +516 -0
  1316. package/src/components/action-node/index.ts +8 -0
  1317. package/src/components/action-node/meta.ts +21 -0
  1318. package/src/components/activity-feed/activity-feed.tsx +1 -1
  1319. package/src/components/ai-agent-plan/ai-agent-plan.tsx +0 -0
  1320. package/src/components/ai-agent-plan/index.ts +1 -0
  1321. package/src/components/ai-agent-plan/meta.ts +3 -1
  1322. package/src/components/ai-approval-request/ai-approval-request.tsx +103 -4
  1323. package/src/components/ai-approval-request/meta.ts +4 -1
  1324. package/src/components/ai-artifact/ai-artifact.tsx +203 -0
  1325. package/src/components/ai-artifact/index.ts +1 -0
  1326. package/src/components/ai-artifact/meta.ts +18 -0
  1327. package/src/components/ai-branch/ai-branch.tsx +222 -0
  1328. package/src/components/ai-branch/index.ts +11 -0
  1329. package/src/components/ai-branch/meta.ts +18 -0
  1330. package/src/components/ai-conversation/ai-conversation.tsx +142 -31
  1331. package/src/components/ai-conversation/index.ts +1 -0
  1332. package/src/components/ai-extraction-review/ai-extraction-review.tsx +1 -1
  1333. package/src/components/ai-loader/ai-loader.tsx +112 -0
  1334. package/src/components/ai-loader/index.ts +6 -0
  1335. package/src/components/ai-loader/meta.ts +18 -0
  1336. package/src/components/ai-message/ai-message.tsx +54 -9
  1337. package/src/components/ai-message/index.ts +2 -0
  1338. package/src/components/ai-message/meta.ts +2 -1
  1339. package/src/components/ai-prompt-input/ai-prompt-input.tsx +57 -19
  1340. package/src/components/ai-reasoning/ai-reasoning.tsx +192 -13
  1341. package/src/components/ai-reasoning/index.ts +1 -0
  1342. package/src/components/ai-reasoning/meta.ts +4 -2
  1343. package/src/components/ai-response/ai-response.tsx +12 -3
  1344. package/src/components/ai-response/index.ts +1 -0
  1345. package/src/components/ai-response/meta.ts +6 -3
  1346. package/src/components/ai-response/response-text.tsx +119 -0
  1347. package/src/components/ai-sources/ai-sources.tsx +191 -8
  1348. package/src/components/ai-sources/index.ts +1 -0
  1349. package/src/components/ai-sources/meta.ts +4 -2
  1350. package/src/components/ai-suggestions/ai-suggestions.tsx +130 -0
  1351. package/src/components/ai-suggestions/index.ts +6 -0
  1352. package/src/components/ai-suggestions/meta.ts +17 -0
  1353. package/src/components/ai-token-usage/ai-token-usage.tsx +288 -14
  1354. package/src/components/ai-token-usage/index.ts +5 -0
  1355. package/src/components/ai-token-usage/meta.ts +6 -2
  1356. package/src/components/ai-tool/ai-tool.tsx +125 -4
  1357. package/src/components/ai-tool/meta.ts +3 -1
  1358. package/src/components/animated-checklist/animated-checklist.tsx +324 -0
  1359. package/src/components/animated-checklist/index.ts +6 -0
  1360. package/src/components/animated-checklist/meta.ts +18 -0
  1361. package/src/components/app-stack/app-stack.tsx +414 -0
  1362. package/src/components/app-stack/index.ts +7 -0
  1363. package/src/components/app-stack/meta.ts +20 -0
  1364. package/src/components/aspect-morph/aspect-morph.tsx +272 -0
  1365. package/src/components/aspect-morph/index.ts +8 -0
  1366. package/src/components/aspect-morph/meta.ts +19 -0
  1367. package/src/components/assignee-picker/assignee-picker-spring.ts +33 -0
  1368. package/src/components/assignee-picker/assignee-picker.tsx +535 -0
  1369. package/src/components/assignee-picker/index.ts +6 -0
  1370. package/src/components/assignee-picker/meta.ts +21 -0
  1371. package/src/components/avatar-group/avatar-group.tsx +176 -0
  1372. package/src/components/avatar-group/index.ts +6 -0
  1373. package/src/components/avatar-group/meta.ts +18 -0
  1374. package/src/components/bar-loader/bar-loader.tsx +549 -0
  1375. package/src/components/bar-loader/index.ts +7 -0
  1376. package/src/components/bar-loader/meta.ts +18 -0
  1377. package/src/components/book/book.tsx +300 -0
  1378. package/src/components/book/index.ts +1 -0
  1379. package/src/components/book/meta.ts +18 -0
  1380. package/src/components/breadcrumb/breadcrumb.tsx +198 -0
  1381. package/src/components/breadcrumb/index.ts +11 -0
  1382. package/src/components/breadcrumb/meta.ts +20 -0
  1383. package/src/components/browser-tabs/browser-tabs-spring.ts +34 -0
  1384. package/src/components/browser-tabs/browser-tabs.tsx +608 -0
  1385. package/src/components/browser-tabs/index.ts +7 -0
  1386. package/src/components/browser-tabs/meta.ts +22 -0
  1387. package/src/components/button/button.tsx +57 -2
  1388. package/src/components/calendar/calendar.tsx +2 -2
  1389. package/src/components/canvas-toolbar/canvas-toolbar.tsx +457 -0
  1390. package/src/components/canvas-toolbar/index.ts +9 -0
  1391. package/src/components/canvas-toolbar/meta.ts +22 -0
  1392. package/src/components/card-spread/card-spread-layouts.ts +251 -0
  1393. package/src/components/card-spread/card-spread.tsx +415 -0
  1394. package/src/components/card-spread/index.ts +19 -0
  1395. package/src/components/card-spread/meta.ts +21 -0
  1396. package/src/components/card-stack/card-stack-layout.ts +100 -0
  1397. package/src/components/card-stack/card-stack.tsx +359 -0
  1398. package/src/components/card-stack/index.ts +1 -0
  1399. package/src/components/card-stack/meta.ts +20 -0
  1400. package/src/components/carousel-3d/carousel-3d.tsx +501 -0
  1401. package/src/components/carousel-3d/index.ts +7 -0
  1402. package/src/components/carousel-3d/meta.ts +20 -0
  1403. package/src/components/checkbox/checkbox.tsx +29 -1
  1404. package/src/components/code-block/code-block.tsx +11 -110
  1405. package/src/components/code-block/index.ts +4 -1
  1406. package/src/components/code-block/meta.ts +1 -1
  1407. package/src/components/collapsible/collapsible.tsx +63 -0
  1408. package/src/components/collapsible/index.ts +6 -0
  1409. package/src/components/collapsible/meta.ts +16 -0
  1410. package/src/components/combobox/combobox.tsx +167 -14
  1411. package/src/components/combobox/index.ts +1 -0
  1412. package/src/components/combobox/meta.ts +2 -1
  1413. package/src/components/command/command.tsx +1 -1
  1414. package/src/components/command-bar/command-bar.tsx +177 -0
  1415. package/src/components/command-bar/index.ts +1 -0
  1416. package/src/components/command-bar/meta.ts +17 -0
  1417. package/src/components/comment-bubble/comment-bubble.tsx +269 -0
  1418. package/src/components/comment-bubble/index.ts +6 -0
  1419. package/src/components/comment-bubble/meta.ts +18 -0
  1420. package/src/components/context-menu/context-menu.tsx +280 -0
  1421. package/src/components/context-menu/index.ts +21 -0
  1422. package/src/components/context-menu/meta.ts +19 -0
  1423. package/src/components/contribution-graph/contribution-graph.tsx +372 -0
  1424. package/src/components/contribution-graph/index.ts +6 -0
  1425. package/src/components/contribution-graph/meta.ts +19 -0
  1426. package/src/components/copy-button/copy-button.tsx +278 -0
  1427. package/src/components/copy-button/index.ts +6 -0
  1428. package/src/components/copy-button/meta.ts +19 -0
  1429. package/src/components/create-menu/create-menu.tsx +319 -0
  1430. package/src/components/create-menu/index.ts +7 -0
  1431. package/src/components/create-menu/meta.ts +21 -0
  1432. package/src/components/cursor-follow/cursor-follow.tsx +186 -0
  1433. package/src/components/cursor-follow/index.ts +1 -0
  1434. package/src/components/cursor-follow/meta.ts +19 -0
  1435. package/src/components/data-table/data-table.tsx +14 -3
  1436. package/src/components/dial/dial.tsx +308 -0
  1437. package/src/components/dial/index.ts +1 -0
  1438. package/src/components/dial/meta.ts +19 -0
  1439. package/src/components/dialog/dialog.tsx +80 -37
  1440. package/src/components/dialog/meta.ts +2 -1
  1441. package/src/components/diff-viewer/diff-viewer.tsx +160 -21
  1442. package/src/components/diff-viewer/meta.ts +4 -1
  1443. package/src/components/direction/direction.tsx +38 -0
  1444. package/src/components/direction/index.ts +1 -0
  1445. package/src/components/direction/meta.ts +19 -0
  1446. package/src/components/dither-area/dither-area.tsx +280 -0
  1447. package/src/components/dither-area/index.ts +9 -0
  1448. package/src/components/dither-area/meta.ts +18 -0
  1449. package/src/components/dither-bar/dither-bar.tsx +389 -0
  1450. package/src/components/dither-bar/index.ts +8 -0
  1451. package/src/components/dither-bar/meta.ts +19 -0
  1452. package/src/components/dither-canvas/canvas-mock.ts +143 -0
  1453. package/src/components/dither-canvas/dither-canvas.tsx +382 -0
  1454. package/src/components/dither-canvas/dither-engine.ts +354 -0
  1455. package/src/components/dither-canvas/dither-geometry.ts +295 -0
  1456. package/src/components/dither-canvas/dither-scrubber.tsx +244 -0
  1457. package/src/components/dither-canvas/index.ts +68 -0
  1458. package/src/components/dither-canvas/meta.ts +19 -0
  1459. package/src/components/dither-donut/dither-donut.tsx +377 -0
  1460. package/src/components/dither-donut/index.ts +7 -0
  1461. package/src/components/dither-donut/meta.ts +19 -0
  1462. package/src/components/dither-funnel/dither-funnel.tsx +273 -0
  1463. package/src/components/dither-funnel/index.ts +9 -0
  1464. package/src/components/dither-funnel/meta.ts +19 -0
  1465. package/src/components/dither-gauge/dither-gauge.tsx +279 -0
  1466. package/src/components/dither-gauge/index.ts +8 -0
  1467. package/src/components/dither-gauge/meta.ts +19 -0
  1468. package/src/components/dither-heatmap/dither-heatmap.tsx +453 -0
  1469. package/src/components/dither-heatmap/index.ts +10 -0
  1470. package/src/components/dither-heatmap/meta.ts +19 -0
  1471. package/src/components/dither-line/dither-line.tsx +244 -0
  1472. package/src/components/dither-line/index.ts +8 -0
  1473. package/src/components/dither-line/meta.ts +18 -0
  1474. package/src/components/dither-meter/dither-meter.tsx +299 -0
  1475. package/src/components/dither-meter/index.ts +8 -0
  1476. package/src/components/dither-meter/meta.ts +19 -0
  1477. package/src/components/dither-scatter/dither-scatter.tsx +317 -0
  1478. package/src/components/dither-scatter/index.ts +8 -0
  1479. package/src/components/dither-scatter/meta.ts +19 -0
  1480. package/src/components/dot-morph-button/dot-morph-button.tsx +86 -0
  1481. package/src/components/dot-morph-button/index.ts +5 -0
  1482. package/src/components/dot-morph-button/meta.ts +17 -0
  1483. package/src/components/dots-loader/dots-loader.tsx +451 -0
  1484. package/src/components/dots-loader/index.ts +7 -0
  1485. package/src/components/dots-loader/meta.ts +17 -0
  1486. package/src/components/drag-stepper/drag-stepper.tsx +367 -0
  1487. package/src/components/drag-stepper/index.ts +1 -0
  1488. package/src/components/drag-stepper/meta.ts +23 -0
  1489. package/src/components/drawer/drawer.tsx +78 -35
  1490. package/src/components/drawer/meta.ts +1 -1
  1491. package/src/components/dropdown-menu/dropdown-menu.tsx +61 -18
  1492. package/src/components/dropdown-menu/meta.ts +2 -1
  1493. package/src/components/effect-button/effect-button.tsx +310 -0
  1494. package/src/components/effect-button/index.ts +8 -0
  1495. package/src/components/effect-button/meta.ts +18 -0
  1496. package/src/components/escape-button/escape-button.tsx +232 -0
  1497. package/src/components/escape-button/index.ts +1 -0
  1498. package/src/components/escape-button/meta.ts +18 -0
  1499. package/src/components/expandable-cards/expandable-cards.tsx +435 -0
  1500. package/src/components/expandable-cards/index.ts +6 -0
  1501. package/src/components/expandable-cards/meta.ts +20 -0
  1502. package/src/components/expandable-list/expandable-list.tsx +260 -0
  1503. package/src/components/expandable-list/index.ts +6 -0
  1504. package/src/components/expandable-list/meta.ts +19 -0
  1505. package/src/components/expanding-search/expanding-search.tsx +244 -0
  1506. package/src/components/expanding-search/index.ts +5 -0
  1507. package/src/components/expanding-search/meta.ts +19 -0
  1508. package/src/components/exposure-slider/exposure-slider.tsx +351 -0
  1509. package/src/components/exposure-slider/index.ts +5 -0
  1510. package/src/components/exposure-slider/meta.ts +20 -0
  1511. package/src/components/file-upload/file-upload.tsx +134 -12
  1512. package/src/components/file-upload/meta.ts +2 -1
  1513. package/src/components/focus-blur-links/focus-blur-links.tsx +189 -0
  1514. package/src/components/focus-blur-links/index.ts +7 -0
  1515. package/src/components/focus-blur-links/meta.ts +18 -0
  1516. package/src/components/folding-frame/folding-frame.tsx +435 -0
  1517. package/src/components/folding-frame/index.ts +1 -0
  1518. package/src/components/folding-frame/meta.ts +21 -0
  1519. package/src/components/form/form.tsx +105 -13
  1520. package/src/components/form/meta.ts +2 -1
  1521. package/src/components/glass-bubble/glass-bubble.tsx +418 -0
  1522. package/src/components/glass-bubble/index.ts +9 -0
  1523. package/src/components/glass-bubble/meta.ts +20 -0
  1524. package/src/components/glow-card/glow-card.tsx +195 -0
  1525. package/src/components/glow-card/index.ts +7 -0
  1526. package/src/components/glow-card/meta.ts +18 -0
  1527. package/src/components/goo-ball/goo-ball.tsx +379 -0
  1528. package/src/components/goo-ball/index.ts +7 -0
  1529. package/src/components/goo-ball/meta.ts +19 -0
  1530. package/src/components/goo-tabs/goo-tabs.tsx +389 -0
  1531. package/src/components/goo-tabs/index.ts +11 -0
  1532. package/src/components/goo-tabs/meta.ts +20 -0
  1533. package/src/components/gooey-popover/gooey-popover.tsx +332 -0
  1534. package/src/components/gooey-popover/index.ts +1 -0
  1535. package/src/components/gooey-popover/meta.ts +20 -0
  1536. package/src/components/gradient-orb/gradient-orb.tsx +230 -0
  1537. package/src/components/gradient-orb/index.ts +6 -0
  1538. package/src/components/gradient-orb/meta.ts +17 -0
  1539. package/src/components/grid-loader/grid-loader.tsx +364 -0
  1540. package/src/components/grid-loader/index.ts +10 -0
  1541. package/src/components/grid-loader/meta.ts +17 -0
  1542. package/src/components/image-accordion/image-accordion.tsx +230 -0
  1543. package/src/components/image-accordion/index.ts +6 -0
  1544. package/src/components/image-accordion/meta.ts +20 -0
  1545. package/src/components/image-metadata/image-metadata.tsx +265 -0
  1546. package/src/components/image-metadata/index.ts +6 -0
  1547. package/src/components/image-metadata/meta.ts +19 -0
  1548. package/src/components/image-selector/image-selector.tsx +338 -0
  1549. package/src/components/image-selector/index.ts +6 -0
  1550. package/src/components/image-selector/meta.ts +20 -0
  1551. package/src/components/inline-confirm/index.ts +6 -0
  1552. package/src/components/inline-confirm/inline-confirm.tsx +363 -0
  1553. package/src/components/inline-confirm/meta.ts +18 -0
  1554. package/src/components/input/floating-label-input.tsx +110 -0
  1555. package/src/components/input/index.ts +5 -0
  1556. package/src/components/input/input.tsx +1 -1
  1557. package/src/components/input/meta.ts +3 -2
  1558. package/src/components/invite-carousel/carousel-controls.tsx +291 -0
  1559. package/src/components/invite-carousel/index.ts +8 -0
  1560. package/src/components/invite-carousel/invite-carousel.tsx +359 -0
  1561. package/src/components/invite-carousel/meta.ts +21 -0
  1562. package/src/components/island/index.ts +7 -0
  1563. package/src/components/island/island.tsx +162 -0
  1564. package/src/components/island/meta.ts +18 -0
  1565. package/src/components/liquid-toggle/index.ts +1 -0
  1566. package/src/components/liquid-toggle/liquid-toggle.tsx +254 -0
  1567. package/src/components/liquid-toggle/meta.ts +18 -0
  1568. package/src/components/log-viewer/log-viewer.tsx +2 -2
  1569. package/src/components/magnetic-button/index.ts +1 -0
  1570. package/src/components/magnetic-button/magnetic-button.tsx +218 -0
  1571. package/src/components/magnetic-button/meta.ts +18 -0
  1572. package/src/components/magnetic-select/index.ts +6 -0
  1573. package/src/components/magnetic-select/magnetic-select-spring.ts +33 -0
  1574. package/src/components/magnetic-select/magnetic-select.tsx +426 -0
  1575. package/src/components/magnetic-select/meta.ts +19 -0
  1576. package/src/components/magnify-dock/index.ts +7 -0
  1577. package/src/components/magnify-dock/magnify-dock.tsx +308 -0
  1578. package/src/components/magnify-dock/meta.ts +21 -0
  1579. package/src/components/marquee/index.ts +1 -0
  1580. package/src/components/marquee/marquee.tsx +215 -0
  1581. package/src/components/marquee/meta.ts +19 -0
  1582. package/src/components/meter/meter.tsx +1 -1
  1583. package/src/components/morph-button/index.ts +7 -0
  1584. package/src/components/morph-button/meta.ts +18 -0
  1585. package/src/components/morph-button/morph-button.tsx +390 -0
  1586. package/src/components/morph-surface/index.ts +7 -0
  1587. package/src/components/morph-surface/meta.ts +21 -0
  1588. package/src/components/morph-surface/morph-surface.tsx +367 -0
  1589. package/src/components/notification-badge/index.ts +6 -0
  1590. package/src/components/notification-badge/meta.ts +19 -0
  1591. package/src/components/notification-badge/notification-badge.tsx +183 -0
  1592. package/src/components/notify-button/index.ts +1 -0
  1593. package/src/components/notify-button/meta.ts +17 -0
  1594. package/src/components/notify-button/notify-button.tsx +194 -0
  1595. package/src/components/now-playing/index.ts +1 -0
  1596. package/src/components/now-playing/meta.ts +19 -0
  1597. package/src/components/now-playing/now-playing.tsx +474 -0
  1598. package/src/components/number-flow/index.ts +10 -0
  1599. package/src/components/number-flow/meta.ts +18 -0
  1600. package/src/components/number-flow/number-flow.tsx +330 -0
  1601. package/src/components/orb-face/index.ts +1 -0
  1602. package/src/components/orb-face/meta.ts +18 -0
  1603. package/src/components/orb-face/orb-face.tsx +431 -0
  1604. package/src/components/otp-input/index.ts +6 -0
  1605. package/src/components/otp-input/meta.ts +21 -0
  1606. package/src/components/otp-input/otp-input.tsx +407 -0
  1607. package/src/components/pagination/index.ts +1 -0
  1608. package/src/components/pagination/meta.ts +4 -2
  1609. package/src/components/pagination/pagination-indicator.tsx +95 -0
  1610. package/src/components/pagination/pagination.tsx +50 -5
  1611. package/src/components/palette-generator/index.ts +8 -0
  1612. package/src/components/palette-generator/meta.ts +17 -0
  1613. package/src/components/palette-generator/palette-generator.tsx +300 -0
  1614. package/src/components/permission-matrix/permission-matrix.tsx +4 -4
  1615. package/src/components/photo-stack/index.ts +1 -0
  1616. package/src/components/photo-stack/meta.ts +19 -0
  1617. package/src/components/photo-stack/photo-stack.tsx +310 -0
  1618. package/src/components/photo-tabs/index.ts +1 -0
  1619. package/src/components/photo-tabs/meta.ts +18 -0
  1620. package/src/components/photo-tabs/photo-tabs.tsx +180 -0
  1621. package/src/components/pixel-avatar/index.ts +1 -0
  1622. package/src/components/pixel-avatar/meta.ts +17 -0
  1623. package/src/components/pixel-avatar/pixel-avatar.tsx +249 -0
  1624. package/src/components/product-card/index.ts +1 -0
  1625. package/src/components/product-card/meta.ts +20 -0
  1626. package/src/components/product-card/product-card.tsx +313 -0
  1627. package/src/components/progress/meta.ts +2 -1
  1628. package/src/components/progress/progress.tsx +123 -27
  1629. package/src/components/pull-to-refresh/index.ts +7 -0
  1630. package/src/components/pull-to-refresh/meta.ts +20 -0
  1631. package/src/components/pull-to-refresh/pull-to-refresh.tsx +421 -0
  1632. package/src/components/radial-menu/index.ts +7 -0
  1633. package/src/components/radial-menu/meta.ts +22 -0
  1634. package/src/components/radial-menu/radial-menu.tsx +441 -0
  1635. package/src/components/radio-group/radio-group.tsx +12 -1
  1636. package/src/components/range-dial/index.ts +1 -0
  1637. package/src/components/range-dial/meta.ts +21 -0
  1638. package/src/components/range-dial/range-dial.tsx +428 -0
  1639. package/src/components/record-diff/record-diff.tsx +4 -4
  1640. package/src/components/reorder-list/index.ts +10 -0
  1641. package/src/components/reorder-list/meta.ts +21 -0
  1642. package/src/components/reorder-list/reorder-list.tsx +627 -0
  1643. package/src/components/reviews-carousel/carousel-controls.tsx +291 -0
  1644. package/src/components/reviews-carousel/index.ts +7 -0
  1645. package/src/components/reviews-carousel/meta.ts +21 -0
  1646. package/src/components/reviews-carousel/reviews-carousel.tsx +301 -0
  1647. package/src/components/rich-popover/index.ts +1 -0
  1648. package/src/components/rich-popover/meta.ts +18 -0
  1649. package/src/components/rich-popover/rich-popover.tsx +228 -0
  1650. package/src/components/ring-loader/index.ts +7 -0
  1651. package/src/components/ring-loader/meta.ts +17 -0
  1652. package/src/components/ring-loader/ring-loader.tsx +795 -0
  1653. package/src/components/scramble-text/index.ts +8 -0
  1654. package/src/components/scramble-text/meta.ts +17 -0
  1655. package/src/components/scramble-text/scramble-text.tsx +250 -0
  1656. package/src/components/scroll-reveal-text/index.ts +6 -0
  1657. package/src/components/scroll-reveal-text/meta.ts +18 -0
  1658. package/src/components/scroll-reveal-text/scroll-reveal-text.tsx +193 -0
  1659. package/src/components/scrubber/index.ts +1 -0
  1660. package/src/components/scrubber/meta.ts +20 -0
  1661. package/src/components/scrubber/scrubber.tsx +348 -0
  1662. package/src/components/select/meta.ts +2 -1
  1663. package/src/components/select/select.tsx +71 -24
  1664. package/src/components/selection-list/index.ts +6 -0
  1665. package/src/components/selection-list/meta.ts +21 -0
  1666. package/src/components/selection-list/selection-list-spring.ts +33 -0
  1667. package/src/components/selection-list/selection-list.tsx +497 -0
  1668. package/src/components/shader-transition/index.ts +21 -0
  1669. package/src/components/shader-transition/meta.ts +23 -0
  1670. package/src/components/shader-transition/shader-transition-engine.ts +396 -0
  1671. package/src/components/shader-transition/shader-transition-presets.ts +424 -0
  1672. package/src/components/shader-transition/shader-transition.tsx +470 -0
  1673. package/src/components/shader-transition/webgl-mock.ts +176 -0
  1674. package/src/components/shape-loader/index.ts +7 -0
  1675. package/src/components/shape-loader/meta.ts +17 -0
  1676. package/src/components/shape-loader/shape-loader-variants.tsx +717 -0
  1677. package/src/components/shape-loader/shape-loader.tsx +149 -0
  1678. package/src/components/sheet/meta.ts +1 -1
  1679. package/src/components/sheet/sheet.tsx +80 -34
  1680. package/src/components/shimmer-text/index.ts +7 -0
  1681. package/src/components/shimmer-text/meta.ts +18 -0
  1682. package/src/components/shimmer-text/shimmer-text.tsx +218 -0
  1683. package/src/components/sidebar/index.ts +19 -0
  1684. package/src/components/sidebar/meta.ts +25 -0
  1685. package/src/components/sidebar/sidebar.tsx +374 -0
  1686. package/src/components/skeleton/index.ts +1 -1
  1687. package/src/components/skeleton/meta.ts +2 -1
  1688. package/src/components/skeleton/skeleton.tsx +49 -7
  1689. package/src/components/slide-to-confirm/index.ts +6 -0
  1690. package/src/components/slide-to-confirm/meta.ts +20 -0
  1691. package/src/components/slide-to-confirm/slide-to-confirm.tsx +519 -0
  1692. package/src/components/slosh-slider/index.ts +6 -0
  1693. package/src/components/slosh-slider/meta.ts +20 -0
  1694. package/src/components/slosh-slider/slosh-slider.tsx +266 -0
  1695. package/src/components/social-selector/index.ts +6 -0
  1696. package/src/components/social-selector/meta.ts +18 -0
  1697. package/src/components/social-selector/social-selector.tsx +247 -0
  1698. package/src/components/star-count/index.ts +1 -0
  1699. package/src/components/star-count/meta.ts +18 -0
  1700. package/src/components/star-count/star-count.tsx +161 -0
  1701. package/src/components/stepper/index.ts +8 -0
  1702. package/src/components/stepper/meta.ts +20 -0
  1703. package/src/components/stepper/stepper.tsx +364 -0
  1704. package/src/components/swipe-carousel/carousel-controls.tsx +148 -0
  1705. package/src/components/swipe-carousel/index.ts +6 -0
  1706. package/src/components/swipe-carousel/meta.ts +21 -0
  1707. package/src/components/swipe-carousel/swipe-carousel.tsx +407 -0
  1708. package/src/components/switch/meta.ts +3 -1
  1709. package/src/components/switch/switch.tsx +69 -4
  1710. package/src/components/switchboard-card/index.ts +6 -0
  1711. package/src/components/switchboard-card/meta.ts +18 -0
  1712. package/src/components/switchboard-card/switchboard-card.tsx +312 -0
  1713. package/src/components/table/table.tsx +3 -3
  1714. package/src/components/tabs/index.ts +1 -0
  1715. package/src/components/tabs/meta.ts +3 -1
  1716. package/src/components/tabs/tabs.tsx +144 -4
  1717. package/src/components/tags-input/meta.ts +2 -1
  1718. package/src/components/tags-input/tags-input.tsx +123 -5
  1719. package/src/components/text-effect/index.ts +10 -0
  1720. package/src/components/text-effect/meta.ts +18 -0
  1721. package/src/components/text-effect/text-effect-presets.ts +305 -0
  1722. package/src/components/text-effect/text-effect.tsx +454 -0
  1723. package/src/components/text-loader/index.ts +7 -0
  1724. package/src/components/text-loader/meta.ts +17 -0
  1725. package/src/components/text-loader/text-loader.tsx +585 -0
  1726. package/src/components/text-swap/index.ts +9 -0
  1727. package/src/components/text-swap/meta.ts +20 -0
  1728. package/src/components/text-swap/text-rotate.tsx +76 -0
  1729. package/src/components/text-swap/text-swap.tsx +414 -0
  1730. package/src/components/textarea/index.ts +1 -0
  1731. package/src/components/textarea/meta.ts +21 -0
  1732. package/src/components/textarea/textarea.tsx +210 -0
  1733. package/src/components/tick-progress/index.ts +1 -0
  1734. package/src/components/tick-progress/meta.ts +19 -0
  1735. package/src/components/tick-progress/tick-progress.tsx +253 -0
  1736. package/src/components/tilt-card/index.ts +6 -0
  1737. package/src/components/tilt-card/meta.ts +18 -0
  1738. package/src/components/tilt-card/tilt-card.tsx +256 -0
  1739. package/src/components/time-range-picker/time-range-picker.tsx +3 -3
  1740. package/src/components/time-stack/index.ts +6 -0
  1741. package/src/components/time-stack/meta.ts +19 -0
  1742. package/src/components/time-stack/time-stack.tsx +385 -0
  1743. package/src/components/toast/meta.ts +2 -1
  1744. package/src/components/toast/toast.tsx +81 -15
  1745. package/src/components/todo-tower/index.ts +1 -0
  1746. package/src/components/todo-tower/meta.ts +18 -0
  1747. package/src/components/todo-tower/todo-tower.tsx +429 -0
  1748. package/src/components/tooltip/meta.ts +1 -1
  1749. package/src/components/tooltip/tooltip.tsx +39 -15
  1750. package/src/components/tweet-card/index.ts +11 -0
  1751. package/src/components/tweet-card/meta.ts +19 -0
  1752. package/src/components/tweet-card/tweet-card.tsx +372 -0
  1753. package/src/components/typewriter-text/index.ts +6 -0
  1754. package/src/components/typewriter-text/meta.ts +17 -0
  1755. package/src/components/typewriter-text/typewriter-text.tsx +214 -0
  1756. package/src/components/uptime-matrix/index.ts +11 -0
  1757. package/src/components/uptime-matrix/meta.ts +20 -0
  1758. package/src/components/uptime-matrix/uptime-matrix.tsx +443 -0
  1759. package/src/index.ts +114 -0
  1760. package/src/lib/styles.ts +16 -0
  1761. package/src/registry/blocks.ts +86 -0
  1762. package/src/registry/components.ts +228 -0
  1763. package/src/registry/schema.ts +9 -0
  1764. package/src/blocks/admin-users/admin-users.tsx +0 -251
  1765. package/src/blocks/admin-users/index.ts +0 -1
  1766. package/src/blocks/admin-users/meta.ts +0 -27
  1767. package/src/blocks/ai-chat/ai-chat.tsx +0 -280
  1768. package/src/blocks/ai-chat/index.ts +0 -7
  1769. package/src/blocks/ai-chat/meta.ts +0 -32
  1770. package/src/blocks/dashboard/dashboard.tsx +0 -192
  1771. package/src/blocks/dashboard/index.ts +0 -6
  1772. package/src/blocks/dashboard/meta.ts +0 -18
  1773. package/src/blocks/forgot-password/forgot-password.tsx +0 -158
  1774. package/src/blocks/forgot-password/index.ts +0 -1
  1775. package/src/blocks/forgot-password/meta.ts +0 -18
  1776. package/src/blocks/login/index.ts +0 -1
  1777. package/src/blocks/login/login.tsx +0 -178
  1778. package/src/blocks/login/meta.ts +0 -18
  1779. package/src/blocks/pricing/index.ts +0 -1
  1780. package/src/blocks/pricing/meta.ts +0 -18
  1781. package/src/blocks/pricing/pricing.tsx +0 -176
  1782. package/src/blocks/settings/index.ts +0 -6
  1783. package/src/blocks/settings/meta.ts +0 -29
  1784. package/src/blocks/settings/settings.tsx +0 -317
  1785. package/src/blocks/signup/index.ts +0 -1
  1786. package/src/blocks/signup/meta.ts +0 -18
  1787. package/src/blocks/signup/signup.tsx +0 -240
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tilt-card.js","names":[],"sources":["../../../src/components/tilt-card/tilt-card.tsx"],"sourcesContent":["\"use client\";\n\n// Original design (pattern inspired by bencho Tilt card; no code referenced).\nimport {\n useCallback,\n useEffect,\n useRef,\n type ComponentPropsWithRef,\n type CSSProperties,\n type PointerEvent,\n type Ref,\n} from \"react\";\n\nimport { Card } from \"@/components/card\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * How it moves\n *\n * Pointer position is written straight to the element — its transform, and a\n * handful of custom properties the glare and the layers read — so a pointer\n * move costs no React render. CSS transitions do all the easing: a short\n * ease-out while following smooths the steps between pointer events, and an\n * overshooting ease on leave is the spring back to flat.\n *\n * Parallax layers are shifted with the `translate` property rather than\n * translateZ. A true 3D layer needs `preserve-3d`, which `overflow: hidden`\n * anywhere in the card silently flattens, and it changes size the moment the\n * perspective appears. A 2D shift proportional to the tilt reads the same and\n * cannot be broken by a consumer's class.\n *\n * Keyboard focus never tilts — a focused card has no pointer to lean toward —\n * it lifts, statically, using `translate` so it composes with any tilt a mouse\n * is applying at the same moment.\n */\n\nconst surface = cn(\n \"group/tilt relative isolate\",\n \"transition-[transform,translate,box-shadow]\",\n \"duration-[var(--duration-slow),var(--duration-normal),var(--duration-normal)]\",\n \"ease-[var(--ease-overshoot),var(--ease-out-quint),var(--ease-out-quint)]\",\n \"data-[tilt=follow]:duration-[var(--duration-fast),var(--duration-normal),var(--duration-normal)]\",\n \"data-[tilt=follow]:ease-[var(--ease-out-quint)]\",\n \"data-[tilt=follow]:shadow-lg\",\n focusRing,\n \"focus-visible:-translate-y-1 focus-visible:shadow-md\",\n \"has-focus-visible:-translate-y-1 has-focus-visible:shadow-md\",\n);\n\nconst glareLayer = cn(\n \"pointer-events-none absolute inset-0 z-10 rounded-[inherit] opacity-0\",\n \"transition-opacity duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]\",\n \"group-data-[tilt=follow]/tilt:opacity-100\",\n);\n\nconst glareStyle: CSSProperties = {\n backgroundImage:\n \"radial-gradient(circle at var(--tilt-glare-x, 50%) var(--tilt-glare-y, 50%), \" +\n \"color-mix(in oklab, var(--color-background) 55%, transparent), transparent 65%)\",\n};\n\nconst layerDrift = cn(\n \"relative transition-[translate] duration-[var(--duration-slow)] ease-[var(--ease-overshoot)]\",\n \"group-data-[tilt=follow]/tilt:duration-[var(--duration-fast)] group-data-[tilt=follow]/tilt:ease-[var(--ease-out-quint)]\",\n);\n\n/** Whether the tilt may run: never for touch, coarse pointers or reduced motion. */\nfunction motionAllowed(pointerType: string): boolean {\n if (pointerType === \"touch\") return false;\n if (typeof window.matchMedia !== \"function\") return true;\n return !(\n window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ||\n window.matchMedia(\"(pointer: coarse)\").matches\n );\n}\n\nfunction assignRef<T>(ref: Ref<T> | undefined, node: T | null) {\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n}\n\n/** Rounds away float noise so the written transform stays short and stable. */\nfunction round(value: number): number {\n return Math.round(value * 100) / 100 || 0;\n}\n\nexport interface TiltCardProps extends ComponentPropsWithRef<\"div\"> {\n /** The largest tilt, in degrees, reached with the pointer at an edge. 0 keeps the card flat. */\n maxTilt?: number;\n /** Distance, in pixels, of the viewer from the card. Smaller is more dramatic. */\n perspective?: number;\n /** How much the card grows while tilting. 1 keeps its size. */\n scale?: number;\n /** A soft highlight that follows the pointer across the surface. */\n glare?: boolean;\n /** Keeps the card flat, as if the pointer were elsewhere. */\n disabled?: boolean;\n}\n\n/**\n * A card that tilts in 3D toward the pointer and springs back flat when it\n * leaves.\n *\n * Decoration on an ordinary Card: it never moves for touch, coarse pointers or\n * users who prefer reduced motion. Mark children with `TiltCardLayer` to have\n * them drift further than the surface, for depth.\n */\nexport function TiltCard({\n className,\n maxTilt = 10,\n perspective = 800,\n scale = 1.02,\n glare = true,\n disabled = false,\n children,\n ref,\n onPointerMove,\n onPointerLeave,\n ...props\n}: TiltCardProps) {\n const cardRef = useRef<HTMLDivElement | null>(null);\n // The card's box, measured on the first move of a hover, while it is still\n // flat. A tilted card's bounding box is its projection, so measuring on\n // every move would have the card chase its own lean.\n const box = useRef<DOMRect | null>(null);\n const tilted = useRef(false);\n const inert = disabled || maxTilt === 0;\n\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n cardRef.current = node;\n assignRef(ref, node);\n },\n [ref],\n );\n\n const flatten = useCallback(() => {\n box.current = null;\n const element = cardRef.current;\n if (!element || !tilted.current) return;\n tilted.current = false;\n element.dataset.tilt = \"rest\";\n element.style.transform = \"\";\n element.style.setProperty(\"--tilt-px\", \"0\");\n element.style.setProperty(\"--tilt-py\", \"0\");\n }, []);\n\n const lean = useCallback(\n (clientX: number, clientY: number, pointerType: string) => {\n const element = cardRef.current;\n if (!element || inert || !motionAllowed(pointerType)) {\n flatten();\n return;\n }\n box.current ??= element.getBoundingClientRect();\n const { left, top, width, height } = box.current;\n if (width === 0 || height === 0) return;\n\n // -1 at the start edge, 1 at the end edge, clamped for pointers that\n // slip past a rounded corner before `pointerleave` arrives.\n const x = Math.min(1, Math.max(-1, ((clientX - left) / width) * 2 - 1));\n const y = Math.min(1, Math.max(-1, ((clientY - top) / height) * 2 - 1));\n\n // The side under the pointer presses away from the viewer: rotateY\n // positive sends the right edge back, rotateX negative the bottom edge.\n tilted.current = true;\n element.dataset.tilt = \"follow\";\n element.style.transform =\n `perspective(${String(perspective)}px) ` +\n `rotateX(${String(round(-y * maxTilt))}deg) ` +\n `rotateY(${String(round(x * maxTilt))}deg) ` +\n `scale3d(${String(scale)}, ${String(scale)}, 1)`;\n element.style.setProperty(\"--tilt-px\", String(round(x)));\n element.style.setProperty(\"--tilt-py\", String(round(y)));\n element.style.setProperty(\"--tilt-glare-x\", `${String(round(((x + 1) / 2) * 100))}%`);\n element.style.setProperty(\"--tilt-glare-y\", `${String(round(((y + 1) / 2) * 100))}%`);\n },\n [flatten, inert, maxTilt, perspective, scale],\n );\n\n // Scrolling moves the card under a still pointer; the cached box is stale.\n useEffect(() => {\n const forget = () => {\n box.current = null;\n };\n window.addEventListener(\"scroll\", forget, { passive: true, capture: true });\n window.addEventListener(\"resize\", forget, { passive: true });\n return () => {\n window.removeEventListener(\"scroll\", forget, { capture: true });\n window.removeEventListener(\"resize\", forget);\n };\n }, []);\n\n // Becoming disabled mid-tilt should not leave the card stranded at an angle.\n useEffect(() => {\n if (inert) flatten();\n }, [inert, flatten]);\n\n function handlePointerMove(event: PointerEvent<HTMLDivElement>) {\n onPointerMove?.(event);\n lean(event.clientX, event.clientY, event.pointerType);\n }\n\n function handlePointerLeave(event: PointerEvent<HTMLDivElement>) {\n onPointerLeave?.(event);\n flatten();\n }\n\n return (\n <Card\n ref={setRef}\n data-slot=\"tilt-card\"\n data-tilt=\"rest\"\n className={cn(surface, className)}\n onPointerMove={handlePointerMove}\n onPointerLeave={handlePointerLeave}\n {...props}\n >\n {children}\n {glare ? (\n <span\n aria-hidden=\"true\"\n data-slot=\"tilt-card-glare\"\n className={glareLayer}\n style={glareStyle}\n />\n ) : null}\n </Card>\n );\n}\n\nexport interface TiltCardLayerProps extends ComponentPropsWithRef<\"div\"> {\n /**\n * How far, in pixels, the layer drifts toward the pointer at full tilt —\n * on top of the card's own lean. Larger reads as nearer the viewer; a\n * negative depth sinks the layer behind the surface.\n */\n depth?: number;\n}\n\n/** Content inside a TiltCard that floats at its own depth. */\nexport function TiltCardLayer({ className, depth = 12, style, ...props }: TiltCardLayerProps) {\n const d = String(depth);\n return (\n <div\n data-slot=\"tilt-card-layer\"\n className={cn(layerDrift, className)}\n style={{\n translate: `calc(var(--tilt-px, 0) * ${d}px) calc(var(--tilt-py, 0) * ${d}px)`,\n ...style,\n }}\n {...props}\n />\n );\n}\n"],"mappings":"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"}
@@ -208,7 +208,7 @@ function TimeRangePresets({ className, ...props }) {
208
208
  }, [presets]);
209
209
  return /* @__PURE__ */ jsx("div", {
210
210
  "data-slot": "time-range-presets",
211
- className: cn("max-h-80 min-w-52 overflow-y-auto border-border p-1.5 sm:border-r", className),
211
+ className: cn("max-h-80 min-w-52 overflow-y-auto border-border p-1.5 sm:border-e", className),
212
212
  ...props,
213
213
  children: groups.map(([group, items]) => /* @__PURE__ */ jsxs("div", {
214
214
  role: "group",
@@ -224,7 +224,7 @@ function TimeRangePresets({ className, ...props }) {
224
224
  setValue(preset.expression);
225
225
  close();
226
226
  },
227
- className: cn("flex w-full items-center rounded-md px-2 py-1.5 text-left text-sm transition-colors", preset.expression === value ? "bg-accent font-medium text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground", focusRing),
227
+ className: cn("flex w-full items-center rounded-md px-2 py-1.5 text-start text-sm transition-colors", preset.expression === value ? "bg-accent font-medium text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground", focusRing),
228
228
  children: preset.label
229
229
  }, preset.expression))]
230
230
  }, group))
@@ -339,7 +339,7 @@ function TimeRangeCalendar({ className, numberOfMonths = 1, ...props }) {
339
339
  } : void 0);
340
340
  return /* @__PURE__ */ jsx("div", {
341
341
  "data-slot": "time-range-calendar",
342
- className: cn("border-t border-border p-1 sm:border-t-0 sm:border-l", className),
342
+ className: cn("border-t border-border p-1 sm:border-s sm:border-t-0", className),
343
343
  ...props,
344
344
  children: /* @__PURE__ */ jsx(Calendar, {
345
345
  mode: "range",
@@ -1 +1 @@
1
- {"version":3,"file":"time-range-picker.js","names":[],"sources":["../../../src/components/time-range-picker/time-range-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useState,\n useSyncExternalStore,\n type ComponentPropsWithRef,\n type ReactNode,\n} from \"react\";\nimport type { DateRange } from \"react-day-picker\";\n\nimport { Button } from \"@/components/button\";\nimport { Calendar } from \"@/components/calendar\";\nimport { Input } from \"@/components/input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nimport {\n DEFAULT_PRESETS,\n TimeExpressionError,\n absoluteExpression,\n describeTimeRange,\n formatResolvedRange,\n resolveTimeRange,\n type ResolvedRange,\n type TimeRangePreset,\n} from \"./time-expression\";\n\n/**\n * The control every observability product builds for itself.\n *\n * Grafana, Datadog, Sentry, PostHog, Vercel, Honeycomb, Cloudflare and\n * Amplitude each maintain a bespoke one, and no React package ships it, because\n * it looks like a date picker and is not one — see `time-expression.ts` for the\n * value model that makes the difference.\n *\n * Composed rather than reimplemented: Popover supplies the dialog semantics,\n * Calendar the absolute path, Input the expression entry.\n *\n * Two omissions are deliberate. No timezone picker — that is a 400-entry\n * combobox and a decision an app makes once, so `timeZone` is a prop. And no\n * comparison range; a second window belongs to whatever renders the chart.\n */\n\ninterface TimeRangeContextValue {\n value: string;\n setValue: (expression: string) => void;\n now: Date;\n timeZone?: string;\n locale?: string;\n presets: TimeRangePreset[];\n resolved: ResolvedRange | null;\n error: string | null;\n /** False until the clock is known, which on a server render is never. */\n clockReady: boolean;\n close: () => void;\n labelId: string;\n}\n\n/** Stands in until the clock is known. Never shown; see `clockReady`. */\nconst EPOCH = new Date(0);\n\n/**\n * The clock, for callers who did not supply one.\n *\n * `useSyncExternalStore` rather than an effect, because this is the case it\n * exists for: a value the server cannot know. The server snapshot is null, so a\n * server render and the hydration render both commit to nothing clock-dependent\n * and cannot disagree; the real instant arrives in the re-render after.\n *\n * `getSnapshot` has to be referentially stable, so the instant is created once\n * for the page. That means every picker without a `now` prop shares it and none\n * of them advance — which is the whole reason the prop is there.\n */\nconst subscribeToNothing = () => () => undefined;\nlet sharedClock: Date | null = null;\nconst readSharedClock = () => (sharedClock ??= new Date());\nconst readNoClock = () => null;\n\nconst TimeRangeContext = createContext<TimeRangeContextValue | null>(null);\n\nfunction useTimeRange(component: string): TimeRangeContextValue {\n const context = useContext(TimeRangeContext);\n if (!context) {\n throw new Error(`${component} must be used inside <TimeRange>.`);\n }\n return context;\n}\n\nexport interface TimeRangeProps {\n /** The expression, e.g. `now-6h..now`. Controlled. */\n value?: string;\n defaultValue?: string;\n onValueChange?: (expression: string) => void;\n /**\n * The instant relative expressions are measured from. Supplied by the\n * consumer so nothing here reads the clock during render. Pass a value that\n * changes when you refresh; a stable one holds the window still between them.\n */\n now?: Date;\n /** IANA zone the snapping happens in. Defaults to the runtime zone. */\n timeZone?: string;\n locale?: string;\n presets?: TimeRangePreset[];\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children: ReactNode;\n}\n\nexport function TimeRange({\n value: valueProp,\n defaultValue = \"now-6h..now\",\n onValueChange,\n now,\n timeZone,\n locale,\n presets = DEFAULT_PRESETS,\n open: openProp,\n onOpenChange,\n children,\n}: TimeRangeProps) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const value = valueProp ?? uncontrolledValue;\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n const open = openProp ?? uncontrolledOpen;\n\n const labelId = useId();\n\n // Reading the clock during render is what the `now` prop exists to avoid: the\n // server would render one instant and hydration another, and React would\n // throw out the tree. Until the fallback arrives, nothing clock-dependent is\n // rendered — the relative label, \"Last 6 hours\", does not need one, which is\n // why the trigger still says something useful in the meantime.\n const fallbackClock = useSyncExternalStore(subscribeToNothing, readSharedClock, readNoClock);\n\n const clock = now ?? fallbackClock;\n // A placeholder only for expressions that never mention `now`; anything that\n // does is gated on `clock` below rather than resolved against a fake instant.\n const effectiveNow = clock ?? EPOCH;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (openProp === undefined) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [openProp, onOpenChange],\n );\n\n const setValue = useCallback(\n (expression: string) => {\n if (valueProp === undefined) setUncontrolledValue(expression);\n onValueChange?.(expression);\n },\n [valueProp, onValueChange],\n );\n\n const { resolved, error } = useMemo(() => {\n // Claiming neither a window nor an error before the clock is known: an\n // expression cannot be judged against an instant nobody has read yet.\n if (!clock) return { resolved: null, error: null };\n try {\n return { resolved: resolveTimeRange(value, { now: clock, timeZone }), error: null };\n } catch (thrown) {\n return {\n resolved: null,\n error: thrown instanceof TimeExpressionError ? thrown.message : \"Invalid time range.\",\n };\n }\n }, [value, clock, timeZone]);\n\n const context = useMemo<TimeRangeContextValue>(\n () => ({\n value,\n setValue,\n now: effectiveNow,\n timeZone,\n locale,\n presets,\n resolved,\n error,\n clockReady: clock !== null,\n close: () => {\n setOpen(false);\n },\n labelId,\n }),\n [\n value,\n setValue,\n effectiveNow,\n clock,\n timeZone,\n locale,\n presets,\n resolved,\n error,\n setOpen,\n labelId,\n ],\n );\n\n return (\n <TimeRangeContext.Provider value={context}>\n <Popover open={open} onOpenChange={setOpen}>\n {children}\n </Popover>\n </TimeRangeContext.Provider>\n );\n}\n\nfunction ClockIcon() {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\" className=\"size-4 opacity-70\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path d=\"M12 7v5l3 2\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport interface TimeRangeTriggerProps extends ComponentPropsWithRef<\"button\"> {\n /** Shows the resolved window under the label. Off by default; it is long. */\n showResolved?: boolean;\n}\n\n/**\n * The button, named by the range it holds: \"Last 6 hours\", not two timestamps.\n * The resolved window stays reachable as the title, and as `showResolved`.\n */\nexport function TimeRangeTrigger({\n className,\n showResolved = false,\n ...props\n}: TimeRangeTriggerProps) {\n const { value, now, timeZone, locale, presets, resolved, error } =\n useTimeRange(\"TimeRangeTrigger\");\n\n const label = describeTimeRange(value, { now, timeZone, locale, presets });\n const resolvedText = resolved ? formatResolvedRange(resolved, { locale, timeZone }) : null;\n\n return (\n <PopoverTrigger asChild>\n <Button\n data-slot=\"time-range-trigger\"\n variant=\"outline\"\n aria-invalid={error ? true : undefined}\n title={resolvedText ?? undefined}\n className={cn(\"justify-start gap-2 font-normal\", className)}\n {...props}\n >\n <ClockIcon />\n <span className=\"flex flex-col items-start leading-tight\">\n <span>{label}</span>\n {showResolved && resolvedText ? (\n <span className=\"text-2xs font-normal text-muted-foreground\">{resolvedText}</span>\n ) : null}\n </span>\n {/* The window the label stands for, for anyone who cannot see the\n title attribute. Read after the label, not instead of it. */}\n {resolvedText && !showResolved ? (\n <span className=\"sr-only\">{`, ${resolvedText}`}</span>\n ) : null}\n </Button>\n </PopoverTrigger>\n );\n}\n\nexport interface TimeRangeContentProps extends ComponentPropsWithRef<typeof PopoverContent> {\n /** Names the dialog. */\n label?: string;\n}\n\nexport function TimeRangeContent({\n className,\n label = \"Choose a time range\",\n children,\n ...props\n}: TimeRangeContentProps) {\n const { labelId } = useTimeRange(\"TimeRangeContent\");\n\n return (\n <PopoverContent\n data-slot=\"time-range-content\"\n aria-labelledby={labelId}\n align=\"start\"\n className={cn(\"w-auto max-w-[min(38rem,calc(100vw-2rem))] p-0\", className)}\n {...props}\n >\n <h2 id={labelId} className=\"sr-only\">\n {label}\n </h2>\n <div className=\"flex flex-col gap-0 sm:flex-row sm:items-stretch\">{children}</div>\n </PopoverContent>\n );\n}\n\n/**\n * The named ranges, which is how most of these are actually used. Buttons\n * rather than a radiogroup: choosing one both selects and dismisses, which is a\n * command, and `aria-pressed` still carries which one matches.\n */\nexport function TimeRangePresets({\n className,\n ...props\n}: Omit<ComponentPropsWithRef<\"div\">, \"children\">) {\n const { presets, value, setValue, close } = useTimeRange(\"TimeRangePresets\");\n\n const groups = useMemo(() => {\n const collected = new Map<string, TimeRangePreset[]>();\n for (const preset of presets) {\n const existing = collected.get(preset.group);\n if (existing) existing.push(preset);\n else collected.set(preset.group, [preset]);\n }\n return [...collected];\n }, [presets]);\n\n return (\n <div\n data-slot=\"time-range-presets\"\n className={cn(\n \"max-h-80 min-w-52 overflow-y-auto border-border p-1.5 sm:border-r\",\n className,\n )}\n {...props}\n >\n {groups.map(([group, items]) => (\n <div key={group} role=\"group\" aria-label={group} className=\"pb-1 last:pb-0\">\n <p className=\"px-2 py-1 text-2xs font-medium tracking-wide text-muted-foreground uppercase\">\n {group}\n </p>\n {items.map((preset) => (\n <button\n key={preset.expression}\n type=\"button\"\n aria-pressed={preset.expression === value}\n onClick={() => {\n setValue(preset.expression);\n close();\n }}\n className={cn(\n \"flex w-full items-center rounded-md px-2 py-1.5 text-left text-sm transition-colors\",\n preset.expression === value\n ? \"bg-accent font-medium text-accent-foreground\"\n : \"hover:bg-accent hover:text-accent-foreground\",\n focusRing,\n )}\n >\n {preset.label}\n </button>\n ))}\n </div>\n ))}\n </div>\n );\n}\n\n/**\n * Raw expression entry, with the resolved window shown as you type — the escape\n * hatch that keeps the presets from being a ceiling.\n *\n * An expression that does not parse says why and is not applied: a chart\n * quietly re-scoping itself to a window nobody asked for is worse than one that\n * refuses.\n */\nexport function TimeRangeExpression({\n className,\n ...props\n}: Omit<ComponentPropsWithRef<\"div\">, \"children\">) {\n const { value, setValue, now, timeZone, locale, clockReady, close } =\n useTimeRange(\"TimeRangeExpression\");\n\n const [draft, setDraft] = useState(value);\n // The expression can change under the input — a preset click, or the\n // consumer setting it. Adjusting during render rather than in an effect keeps\n // the field from showing a stale value for a frame.\n const [lastValue, setLastValue] = useState(value);\n if (value !== lastValue) {\n setLastValue(value);\n setDraft(value);\n }\n\n const feedbackId = useId();\n const preview = useMemo(() => {\n // Before the clock is known there is nothing to preview and nothing to\n // reject — saying \"invalid\" here would be a verdict reached without a fact.\n if (!clockReady) return { text: null, error: null as string | null };\n try {\n return {\n text: formatResolvedRange(resolveTimeRange(draft, { now, timeZone }), {\n locale,\n timeZone,\n }),\n error: null as string | null,\n };\n } catch (thrown) {\n return {\n text: null,\n error: thrown instanceof TimeExpressionError ? thrown.message : \"Invalid time range.\",\n };\n }\n }, [draft, now, timeZone, locale, clockReady]);\n\n const apply = () => {\n if (preview.error || !clockReady) return;\n setValue(draft.trim());\n close();\n };\n\n return (\n <div\n data-slot=\"time-range-expression\"\n className={cn(\n \"flex flex-col gap-1.5 border-t border-border p-3 sm:border-t-0\",\n className,\n )}\n {...props}\n >\n <label htmlFor={feedbackId + \"-input\"} className=\"text-xs font-medium\">\n Expression\n </label>\n <div className=\"flex gap-2\">\n <Input\n id={feedbackId + \"-input\"}\n inputSize=\"sm\"\n value={draft}\n spellCheck={false}\n autoComplete=\"off\"\n aria-invalid={preview.error ? true : undefined}\n aria-describedby={feedbackId}\n onChange={(event) => {\n setDraft(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n apply();\n }\n }}\n className=\"font-mono\"\n />\n <Button size=\"sm\" onClick={apply} disabled={Boolean(preview.error) || !clockReady}>\n Apply\n </Button>\n </div>\n {/* One element for both outcomes, so a screen reader hears the error\n replace the preview rather than accumulating two descriptions. */}\n <p\n id={feedbackId}\n className={cn(\n \"min-h-4 text-2xs\",\n preview.error ? \"text-destructive\" : \"text-muted-foreground\",\n )}\n >\n {preview.error ?? preview.text}\n </p>\n </div>\n );\n}\n\n/**\n * The absolute path, for a window with no relative meaning. Picking dates\n * writes a concrete expression: \"1 to 7 March\" does not become relative just\n * because it was chosen here.\n */\nexport function TimeRangeCalendar({\n className,\n numberOfMonths = 1,\n ...props\n}: Omit<ComponentPropsWithRef<\"div\">, \"children\"> & { numberOfMonths?: number }) {\n const { setValue, resolved, close } = useTimeRange(\"TimeRangeCalendar\");\n\n const [selection, setSelection] = useState<DateRange | undefined>(() =>\n resolved ? { from: resolved.from, to: resolved.to } : undefined,\n );\n\n return (\n <div\n data-slot=\"time-range-calendar\"\n className={cn(\"border-t border-border p-1 sm:border-t-0 sm:border-l\", className)}\n {...props}\n >\n <Calendar\n mode=\"range\"\n selected={selection}\n defaultMonth={selection?.from}\n numberOfMonths={numberOfMonths}\n onSelect={(next) => {\n setSelection(next);\n // Only once both ends exist. One click is half an answer, and\n // applying it would show a zero-length range mid-gesture.\n if (next?.from && next.to) {\n setValue(absoluteExpression(startOfDay(next.from), endOfDay(next.to)));\n close();\n }\n }}\n />\n </div>\n );\n}\n\nfunction startOfDay(date: Date): Date {\n const start = new Date(date);\n start.setHours(0, 0, 0, 0);\n return start;\n}\n\n/**\n * A day picked as the end of a range means the whole of that day. Taking\n * midnight instead silently drops the last day's data, which is the same\n * off-by-one that `now/d..now/d` has to avoid.\n */\nfunction endOfDay(date: Date): Date {\n const end = new Date(date);\n end.setHours(23, 59, 59, 999);\n return end;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"time-range-picker.js","names":[],"sources":["../../../src/components/time-range-picker/time-range-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useState,\n useSyncExternalStore,\n type ComponentPropsWithRef,\n type ReactNode,\n} from \"react\";\nimport type { DateRange } from \"react-day-picker\";\n\nimport { Button } from \"@/components/button\";\nimport { Calendar } from \"@/components/calendar\";\nimport { Input } from \"@/components/input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nimport {\n DEFAULT_PRESETS,\n TimeExpressionError,\n absoluteExpression,\n describeTimeRange,\n formatResolvedRange,\n resolveTimeRange,\n type ResolvedRange,\n type TimeRangePreset,\n} from \"./time-expression\";\n\n/**\n * The control every observability product builds for itself.\n *\n * Grafana, Datadog, Sentry, PostHog, Vercel, Honeycomb, Cloudflare and\n * Amplitude each maintain a bespoke one, and no React package ships it, because\n * it looks like a date picker and is not one — see `time-expression.ts` for the\n * value model that makes the difference.\n *\n * Composed rather than reimplemented: Popover supplies the dialog semantics,\n * Calendar the absolute path, Input the expression entry.\n *\n * Two omissions are deliberate. No timezone picker — that is a 400-entry\n * combobox and a decision an app makes once, so `timeZone` is a prop. And no\n * comparison range; a second window belongs to whatever renders the chart.\n */\n\ninterface TimeRangeContextValue {\n value: string;\n setValue: (expression: string) => void;\n now: Date;\n timeZone?: string;\n locale?: string;\n presets: TimeRangePreset[];\n resolved: ResolvedRange | null;\n error: string | null;\n /** False until the clock is known, which on a server render is never. */\n clockReady: boolean;\n close: () => void;\n labelId: string;\n}\n\n/** Stands in until the clock is known. Never shown; see `clockReady`. */\nconst EPOCH = new Date(0);\n\n/**\n * The clock, for callers who did not supply one.\n *\n * `useSyncExternalStore` rather than an effect, because this is the case it\n * exists for: a value the server cannot know. The server snapshot is null, so a\n * server render and the hydration render both commit to nothing clock-dependent\n * and cannot disagree; the real instant arrives in the re-render after.\n *\n * `getSnapshot` has to be referentially stable, so the instant is created once\n * for the page. That means every picker without a `now` prop shares it and none\n * of them advance — which is the whole reason the prop is there.\n */\nconst subscribeToNothing = () => () => undefined;\nlet sharedClock: Date | null = null;\nconst readSharedClock = () => (sharedClock ??= new Date());\nconst readNoClock = () => null;\n\nconst TimeRangeContext = createContext<TimeRangeContextValue | null>(null);\n\nfunction useTimeRange(component: string): TimeRangeContextValue {\n const context = useContext(TimeRangeContext);\n if (!context) {\n throw new Error(`${component} must be used inside <TimeRange>.`);\n }\n return context;\n}\n\nexport interface TimeRangeProps {\n /** The expression, e.g. `now-6h..now`. Controlled. */\n value?: string;\n defaultValue?: string;\n onValueChange?: (expression: string) => void;\n /**\n * The instant relative expressions are measured from. Supplied by the\n * consumer so nothing here reads the clock during render. Pass a value that\n * changes when you refresh; a stable one holds the window still between them.\n */\n now?: Date;\n /** IANA zone the snapping happens in. Defaults to the runtime zone. */\n timeZone?: string;\n locale?: string;\n presets?: TimeRangePreset[];\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children: ReactNode;\n}\n\nexport function TimeRange({\n value: valueProp,\n defaultValue = \"now-6h..now\",\n onValueChange,\n now,\n timeZone,\n locale,\n presets = DEFAULT_PRESETS,\n open: openProp,\n onOpenChange,\n children,\n}: TimeRangeProps) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const value = valueProp ?? uncontrolledValue;\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n const open = openProp ?? uncontrolledOpen;\n\n const labelId = useId();\n\n // Reading the clock during render is what the `now` prop exists to avoid: the\n // server would render one instant and hydration another, and React would\n // throw out the tree. Until the fallback arrives, nothing clock-dependent is\n // rendered — the relative label, \"Last 6 hours\", does not need one, which is\n // why the trigger still says something useful in the meantime.\n const fallbackClock = useSyncExternalStore(subscribeToNothing, readSharedClock, readNoClock);\n\n const clock = now ?? fallbackClock;\n // A placeholder only for expressions that never mention `now`; anything that\n // does is gated on `clock` below rather than resolved against a fake instant.\n const effectiveNow = clock ?? EPOCH;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (openProp === undefined) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [openProp, onOpenChange],\n );\n\n const setValue = useCallback(\n (expression: string) => {\n if (valueProp === undefined) setUncontrolledValue(expression);\n onValueChange?.(expression);\n },\n [valueProp, onValueChange],\n );\n\n const { resolved, error } = useMemo(() => {\n // Claiming neither a window nor an error before the clock is known: an\n // expression cannot be judged against an instant nobody has read yet.\n if (!clock) return { resolved: null, error: null };\n try {\n return { resolved: resolveTimeRange(value, { now: clock, timeZone }), error: null };\n } catch (thrown) {\n return {\n resolved: null,\n error: thrown instanceof TimeExpressionError ? thrown.message : \"Invalid time range.\",\n };\n }\n }, [value, clock, timeZone]);\n\n const context = useMemo<TimeRangeContextValue>(\n () => ({\n value,\n setValue,\n now: effectiveNow,\n timeZone,\n locale,\n presets,\n resolved,\n error,\n clockReady: clock !== null,\n close: () => {\n setOpen(false);\n },\n labelId,\n }),\n [\n value,\n setValue,\n effectiveNow,\n clock,\n timeZone,\n locale,\n presets,\n resolved,\n error,\n setOpen,\n labelId,\n ],\n );\n\n return (\n <TimeRangeContext.Provider value={context}>\n <Popover open={open} onOpenChange={setOpen}>\n {children}\n </Popover>\n </TimeRangeContext.Provider>\n );\n}\n\nfunction ClockIcon() {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\" className=\"size-4 opacity-70\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path d=\"M12 7v5l3 2\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport interface TimeRangeTriggerProps extends ComponentPropsWithRef<\"button\"> {\n /** Shows the resolved window under the label. Off by default; it is long. */\n showResolved?: boolean;\n}\n\n/**\n * The button, named by the range it holds: \"Last 6 hours\", not two timestamps.\n * The resolved window stays reachable as the title, and as `showResolved`.\n */\nexport function TimeRangeTrigger({\n className,\n showResolved = false,\n ...props\n}: TimeRangeTriggerProps) {\n const { value, now, timeZone, locale, presets, resolved, error } =\n useTimeRange(\"TimeRangeTrigger\");\n\n const label = describeTimeRange(value, { now, timeZone, locale, presets });\n const resolvedText = resolved ? formatResolvedRange(resolved, { locale, timeZone }) : null;\n\n return (\n <PopoverTrigger asChild>\n <Button\n data-slot=\"time-range-trigger\"\n variant=\"outline\"\n aria-invalid={error ? true : undefined}\n title={resolvedText ?? undefined}\n className={cn(\"justify-start gap-2 font-normal\", className)}\n {...props}\n >\n <ClockIcon />\n <span className=\"flex flex-col items-start leading-tight\">\n <span>{label}</span>\n {showResolved && resolvedText ? (\n <span className=\"text-2xs font-normal text-muted-foreground\">{resolvedText}</span>\n ) : null}\n </span>\n {/* The window the label stands for, for anyone who cannot see the\n title attribute. Read after the label, not instead of it. */}\n {resolvedText && !showResolved ? (\n <span className=\"sr-only\">{`, ${resolvedText}`}</span>\n ) : null}\n </Button>\n </PopoverTrigger>\n );\n}\n\nexport interface TimeRangeContentProps extends ComponentPropsWithRef<typeof PopoverContent> {\n /** Names the dialog. */\n label?: string;\n}\n\nexport function TimeRangeContent({\n className,\n label = \"Choose a time range\",\n children,\n ...props\n}: TimeRangeContentProps) {\n const { labelId } = useTimeRange(\"TimeRangeContent\");\n\n return (\n <PopoverContent\n data-slot=\"time-range-content\"\n aria-labelledby={labelId}\n align=\"start\"\n className={cn(\"w-auto max-w-[min(38rem,calc(100vw-2rem))] p-0\", className)}\n {...props}\n >\n <h2 id={labelId} className=\"sr-only\">\n {label}\n </h2>\n <div className=\"flex flex-col gap-0 sm:flex-row sm:items-stretch\">{children}</div>\n </PopoverContent>\n );\n}\n\n/**\n * The named ranges, which is how most of these are actually used. Buttons\n * rather than a radiogroup: choosing one both selects and dismisses, which is a\n * command, and `aria-pressed` still carries which one matches.\n */\nexport function TimeRangePresets({\n className,\n ...props\n}: Omit<ComponentPropsWithRef<\"div\">, \"children\">) {\n const { presets, value, setValue, close } = useTimeRange(\"TimeRangePresets\");\n\n const groups = useMemo(() => {\n const collected = new Map<string, TimeRangePreset[]>();\n for (const preset of presets) {\n const existing = collected.get(preset.group);\n if (existing) existing.push(preset);\n else collected.set(preset.group, [preset]);\n }\n return [...collected];\n }, [presets]);\n\n return (\n <div\n data-slot=\"time-range-presets\"\n className={cn(\n \"max-h-80 min-w-52 overflow-y-auto border-border p-1.5 sm:border-e\",\n className,\n )}\n {...props}\n >\n {groups.map(([group, items]) => (\n <div key={group} role=\"group\" aria-label={group} className=\"pb-1 last:pb-0\">\n <p className=\"px-2 py-1 text-2xs font-medium tracking-wide text-muted-foreground uppercase\">\n {group}\n </p>\n {items.map((preset) => (\n <button\n key={preset.expression}\n type=\"button\"\n aria-pressed={preset.expression === value}\n onClick={() => {\n setValue(preset.expression);\n close();\n }}\n className={cn(\n \"flex w-full items-center rounded-md px-2 py-1.5 text-start text-sm transition-colors\",\n preset.expression === value\n ? \"bg-accent font-medium text-accent-foreground\"\n : \"hover:bg-accent hover:text-accent-foreground\",\n focusRing,\n )}\n >\n {preset.label}\n </button>\n ))}\n </div>\n ))}\n </div>\n );\n}\n\n/**\n * Raw expression entry, with the resolved window shown as you type — the escape\n * hatch that keeps the presets from being a ceiling.\n *\n * An expression that does not parse says why and is not applied: a chart\n * quietly re-scoping itself to a window nobody asked for is worse than one that\n * refuses.\n */\nexport function TimeRangeExpression({\n className,\n ...props\n}: Omit<ComponentPropsWithRef<\"div\">, \"children\">) {\n const { value, setValue, now, timeZone, locale, clockReady, close } =\n useTimeRange(\"TimeRangeExpression\");\n\n const [draft, setDraft] = useState(value);\n // The expression can change under the input — a preset click, or the\n // consumer setting it. Adjusting during render rather than in an effect keeps\n // the field from showing a stale value for a frame.\n const [lastValue, setLastValue] = useState(value);\n if (value !== lastValue) {\n setLastValue(value);\n setDraft(value);\n }\n\n const feedbackId = useId();\n const preview = useMemo(() => {\n // Before the clock is known there is nothing to preview and nothing to\n // reject — saying \"invalid\" here would be a verdict reached without a fact.\n if (!clockReady) return { text: null, error: null as string | null };\n try {\n return {\n text: formatResolvedRange(resolveTimeRange(draft, { now, timeZone }), {\n locale,\n timeZone,\n }),\n error: null as string | null,\n };\n } catch (thrown) {\n return {\n text: null,\n error: thrown instanceof TimeExpressionError ? thrown.message : \"Invalid time range.\",\n };\n }\n }, [draft, now, timeZone, locale, clockReady]);\n\n const apply = () => {\n if (preview.error || !clockReady) return;\n setValue(draft.trim());\n close();\n };\n\n return (\n <div\n data-slot=\"time-range-expression\"\n className={cn(\n \"flex flex-col gap-1.5 border-t border-border p-3 sm:border-t-0\",\n className,\n )}\n {...props}\n >\n <label htmlFor={feedbackId + \"-input\"} className=\"text-xs font-medium\">\n Expression\n </label>\n <div className=\"flex gap-2\">\n <Input\n id={feedbackId + \"-input\"}\n inputSize=\"sm\"\n value={draft}\n spellCheck={false}\n autoComplete=\"off\"\n aria-invalid={preview.error ? true : undefined}\n aria-describedby={feedbackId}\n onChange={(event) => {\n setDraft(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n apply();\n }\n }}\n className=\"font-mono\"\n />\n <Button size=\"sm\" onClick={apply} disabled={Boolean(preview.error) || !clockReady}>\n Apply\n </Button>\n </div>\n {/* One element for both outcomes, so a screen reader hears the error\n replace the preview rather than accumulating two descriptions. */}\n <p\n id={feedbackId}\n className={cn(\n \"min-h-4 text-2xs\",\n preview.error ? \"text-destructive\" : \"text-muted-foreground\",\n )}\n >\n {preview.error ?? preview.text}\n </p>\n </div>\n );\n}\n\n/**\n * The absolute path, for a window with no relative meaning. Picking dates\n * writes a concrete expression: \"1 to 7 March\" does not become relative just\n * because it was chosen here.\n */\nexport function TimeRangeCalendar({\n className,\n numberOfMonths = 1,\n ...props\n}: Omit<ComponentPropsWithRef<\"div\">, \"children\"> & { numberOfMonths?: number }) {\n const { setValue, resolved, close } = useTimeRange(\"TimeRangeCalendar\");\n\n const [selection, setSelection] = useState<DateRange | undefined>(() =>\n resolved ? { from: resolved.from, to: resolved.to } : undefined,\n );\n\n return (\n <div\n data-slot=\"time-range-calendar\"\n className={cn(\"border-t border-border p-1 sm:border-s sm:border-t-0\", className)}\n {...props}\n >\n <Calendar\n mode=\"range\"\n selected={selection}\n defaultMonth={selection?.from}\n numberOfMonths={numberOfMonths}\n onSelect={(next) => {\n setSelection(next);\n // Only once both ends exist. One click is half an answer, and\n // applying it would show a zero-length range mid-gesture.\n if (next?.from && next.to) {\n setValue(absoluteExpression(startOfDay(next.from), endOfDay(next.to)));\n close();\n }\n }}\n />\n </div>\n );\n}\n\nfunction startOfDay(date: Date): Date {\n const start = new Date(date);\n start.setHours(0, 0, 0, 0);\n return start;\n}\n\n/**\n * A day picked as the end of a range means the whole of that day. Taking\n * midnight instead silently drops the last day's data, which is the same\n * off-by-one that `now/d..now/d` has to avoid.\n */\nfunction endOfDay(date: Date): Date {\n const end = new Date(date);\n end.setHours(23, 59, 59, 999);\n return end;\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TimeStack, TimeStackItem, TimeStackProps, timeStackVariants } from "./time-stack.js";
2
+ export { TimeStack, type TimeStackItem, type TimeStackProps, timeStackVariants };
@@ -0,0 +1,2 @@
1
+ import { TimeStack, timeStackVariants } from "./time-stack.js";
2
+ export { TimeStack, timeStackVariants };
@@ -0,0 +1,17 @@
1
+ import { defineMeta } from "../../registry/schema.js";
2
+ //#region src/components/time-stack/meta.ts
3
+ const meta = defineMeta({
4
+ name: "time-stack",
5
+ title: "Time Stack",
6
+ description: "Cards receding in depth, stepped through with a timeline scrubber, the mouse wheel or the arrow keys.",
7
+ category: "display",
8
+ status: "beta",
9
+ dependencies: ["class-variance-authority"],
10
+ registryDependencies: [],
11
+ files: ["time-stack.tsx"],
12
+ a11y: "The scrubber is a vertical role=\"slider\" whose aria-valuetext names the moment (\"1w ago: Forest Trail\"). Newest is at the bottom, so ArrowUp/ArrowRight go back in time as a vertical slider requires; ArrowDown/Left, Page Up/Down, Home and End work too. Only the current card is exposed (a labelled group); the cards behind and before it are inert. Wheel steps are announced through a polite status, and the wheel only captures scrolling while there is a card to step to. Motion stops under reduced motion."
13
+ });
14
+ //#endregion
15
+ export { meta };
16
+
17
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/time-stack/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"time-stack\",\n title: \"Time Stack\",\n description:\n \"Cards receding in depth, stepped through with a timeline scrubber, the mouse wheel or the arrow keys.\",\n category: \"display\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"time-stack.tsx\"],\n a11y:\n 'The scrubber is a vertical role=\"slider\" whose aria-valuetext names the moment (\"1w ago: Forest Trail\"). ' +\n \"Newest is at the bottom, so ArrowUp/ArrowRight go back in time as a vertical slider requires; ArrowDown/Left, \" +\n \"Page Up/Down, Home and End work too. Only the current card is exposed (a labelled group); the cards behind \" +\n \"and before it are inert. Wheel steps are announced through a polite status, and the wheel only captures \" +\n \"scrolling while there is a card to step to. Motion stops under reduced motion.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,0BAA0B;CACzC,sBAAsB,CAAC;CACvB,OAAO,CAAC,gBAAgB;CACxB,MACE;AAKJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { ComponentPropsWithRef, ReactNode } from "react";
3
+ //#region src/components/time-stack/time-stack.d.ts
4
+ declare const timeStackVariants: (props?: ({
5
+ size?: "sm" | "md" | "lg" | null | undefined;
6
+ tone?: "media" | "mono" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ interface TimeStackItem {
9
+ /** Names the card. */
10
+ title: string;
11
+ /** The moment on the timeline: "Today", "1w ago", a date. */
12
+ label: string;
13
+ /** Image URL for the card when `tone="media"` and no `content` is given. */
14
+ image?: string;
15
+ /** Alternative text for `image`. Defaults to empty: the title names the card. */
16
+ alt?: string;
17
+ /** Custom card content. Replaces the image or the numbered tile. */
18
+ content?: ReactNode;
19
+ }
20
+ interface TimeStackProps extends Omit<ComponentPropsWithRef<"section">, "children">, VariantProps<typeof timeStackVariants> {
21
+ /** Newest first: index 0 is the front of the stack and the bottom of the timeline. */
22
+ items: TimeStackItem[];
23
+ index?: number;
24
+ defaultIndex?: number;
25
+ onIndexChange?: (index: number) => void;
26
+ /** Step through with the mouse wheel over the stack. */
27
+ wheel?: boolean;
28
+ /** Select as the pointer moves over the timeline, as in the source, rather than on press. */
29
+ hoverScrub?: boolean;
30
+ /** Accessible name of the scrubber. */
31
+ scrubberLabel?: string;
32
+ }
33
+ /** A depth stack of moments with a timeline scrubber — amicro's Time Machine. */
34
+ declare function TimeStack({ className, items, index: indexProp, defaultIndex, onIndexChange, wheel, hoverScrub, scrubberLabel, size, tone, ref, "aria-label": ariaLabel, ...props }: TimeStackProps): import("react").JSX.Element;
35
+ //#endregion
36
+ export { TimeStack, TimeStackItem, TimeStackProps, timeStackVariants };
37
+ //# sourceMappingURL=time-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-stack.d.ts","names":[],"sources":["../../../src/components/time-stack/time-stack.tsx"],"mappings":";;;cAkCM,oBAAiB;;;6CAoBtB;UAEgB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA,UAAU;;UAGK,uBAEb,KAAK,+CACL,oBAAoB;;EAEtB,OAAO;EACP;EACA;EACA,iBAAiB;;EAEjB;;EAEA;;EAEA;;;iBAsBc,YACd,WACA,OACA,OAAO,WACP,cACA,eACA,OACA,YACA,eACA,MACA,MACA,mBACc,cACX,SACF,iCAAc,IAAA"}
@@ -0,0 +1,253 @@
1
+ "use client";
2
+ import { focusRing } from "../../lib/styles.js";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+ import { Fragment as Fragment$1, useEffect, useId, useRef, useState } from "react";
7
+ //#region src/components/time-stack/time-stack.tsx
8
+ const timeStackVariants = cva("relative flex w-full items-center justify-center gap-6 overflow-hidden rounded-2xl p-4", {
9
+ variants: {
10
+ /** Card width. The stack's depth and height derive from it. */
11
+ size: {
12
+ sm: "[--ts-card:10rem]",
13
+ md: "[--ts-card:13.75rem]",
14
+ lg: "[--ts-card:18rem]"
15
+ },
16
+ tone: {
17
+ media: "",
18
+ mono: ""
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ size: "md",
23
+ tone: "media"
24
+ }
25
+ });
26
+ /** Placement of one card by its distance from the current one. */
27
+ function cardStyle(offset, count, i) {
28
+ const past = offset < 0;
29
+ return {
30
+ zIndex: count - i,
31
+ opacity: past ? 0 : Math.max(0, 1 - offset * .2),
32
+ transform: past ? "translate3d(0, calc(var(--ts-card) * 1.35), calc(var(--ts-card) * 0.9)) rotateX(-20deg) scale(1.3)" : [
33
+ `translate3d(0, calc(var(--ts-card) * ${String(-offset * .055)}),`,
34
+ `calc(var(--ts-card) * ${String(-offset * .27)}))`,
35
+ `rotateX(${String(offset * 2)}deg)`
36
+ ].join(" ")
37
+ };
38
+ }
39
+ const WHEEL_STEP = 60;
40
+ /** A depth stack of moments with a timeline scrubber — amicro's Time Machine. */
41
+ function TimeStack({ className, items, index: indexProp, defaultIndex = 0, onIndexChange, wheel = true, hoverScrub = false, scrubberLabel = "Timeline", size, tone, ref, "aria-label": ariaLabel, ...props }) {
42
+ const count = items.length;
43
+ const last = Math.max(0, count - 1);
44
+ const clamp = (value) => Math.min(last, Math.max(0, value));
45
+ const [uncontrolled, setUncontrolled] = useState(() => clamp(defaultIndex));
46
+ const index = clamp(indexProp ?? uncontrolled);
47
+ const [hovered, setHovered] = useState(null);
48
+ const [announcement, setAnnouncement] = useState("");
49
+ const id = useId();
50
+ const stackRef = useRef(null);
51
+ const tickRefs = useRef([]);
52
+ const pressing = useRef(null);
53
+ function goTo(next, announce = false) {
54
+ const target = clamp(next);
55
+ if (target === index) return;
56
+ if (indexProp === void 0) setUncontrolled(target);
57
+ onIndexChange?.(target);
58
+ const item = items[target];
59
+ if (announce && item) setAnnouncement(`${item.label}: ${item.title}`);
60
+ }
61
+ const goToRef = useRef(goTo);
62
+ const indexRef = useRef(index);
63
+ useEffect(() => {
64
+ goToRef.current = goTo;
65
+ indexRef.current = index;
66
+ });
67
+ useEffect(() => {
68
+ const stack = stackRef.current;
69
+ if (!stack || !wheel) return;
70
+ let accumulated = 0;
71
+ function onWheel(event) {
72
+ const direction = Math.sign(event.deltaY);
73
+ const next = indexRef.current + direction;
74
+ if (direction === 0 || next < 0 || next > last) return;
75
+ event.preventDefault();
76
+ accumulated += event.deltaY;
77
+ if (Math.abs(accumulated) < WHEEL_STEP) return;
78
+ accumulated = 0;
79
+ goToRef.current(next, true);
80
+ }
81
+ stack.addEventListener("wheel", onWheel, { passive: false });
82
+ return () => {
83
+ stack.removeEventListener("wheel", onWheel);
84
+ };
85
+ }, [wheel, last]);
86
+ function handleKeyDown(event) {
87
+ const next = {
88
+ ArrowUp: index + 1,
89
+ ArrowRight: index + 1,
90
+ ArrowDown: index - 1,
91
+ ArrowLeft: index - 1,
92
+ PageUp: index + 2,
93
+ PageDown: index - 2,
94
+ Home: 0,
95
+ End: last
96
+ }[event.key];
97
+ if (next === void 0) return;
98
+ event.preventDefault();
99
+ goTo(next);
100
+ }
101
+ /** The tick nearest the pointer, by measured geometry. */
102
+ function nearest(clientY) {
103
+ let best = null;
104
+ let distance = Infinity;
105
+ tickRefs.current.forEach((tick, i) => {
106
+ if (!tick) return;
107
+ const rect = tick.getBoundingClientRect();
108
+ const d = Math.abs(clientY - (rect.top + rect.height / 2));
109
+ if (d < distance) {
110
+ distance = d;
111
+ best = i;
112
+ }
113
+ });
114
+ return best;
115
+ }
116
+ function handlePointerDown(event) {
117
+ if (event.button !== 0) return;
118
+ pressing.current = event.pointerId;
119
+ event.currentTarget.setPointerCapture(event.pointerId);
120
+ const at = nearest(event.clientY);
121
+ if (at !== null) goTo(at);
122
+ }
123
+ function handlePointerMove(event) {
124
+ const at = nearest(event.clientY);
125
+ setHovered(at);
126
+ if (at !== null && (hoverScrub || pressing.current === event.pointerId)) goTo(at);
127
+ }
128
+ function release(event) {
129
+ if (pressing.current !== event.pointerId) return;
130
+ pressing.current = null;
131
+ event.currentTarget.releasePointerCapture(event.pointerId);
132
+ }
133
+ const current = items[index];
134
+ const card = cn("grid size-full place-items-center overflow-hidden rounded-2xl border border-border shadow-lg", tone === "mono" ? "bg-muted text-sm font-bold text-muted-foreground" : "bg-card text-card-foreground");
135
+ return /* @__PURE__ */ jsxs("section", {
136
+ ref,
137
+ "data-slot": "time-stack",
138
+ "aria-roledescription": "time stack",
139
+ "aria-label": ariaLabel ?? (props["aria-labelledby"] ? void 0 : "Time stack"),
140
+ className: cn(timeStackVariants({
141
+ size,
142
+ tone
143
+ }), className),
144
+ ...props,
145
+ children: [
146
+ /* @__PURE__ */ jsx("div", {
147
+ ref: stackRef,
148
+ id: `${id}-stack`,
149
+ "data-slot": "time-stack-stack",
150
+ className: "relative grid flex-1 place-items-center",
151
+ style: {
152
+ maxWidth: "calc(var(--ts-card) * 1.32)",
153
+ aspectRatio: "4 / 3",
154
+ perspective: "calc(var(--ts-card) * 3.6)",
155
+ transformStyle: "preserve-3d"
156
+ },
157
+ children: items.map((item, i) => {
158
+ const offset = i - index;
159
+ const isCurrent = offset === 0;
160
+ return /* @__PURE__ */ jsx("div", {
161
+ role: isCurrent ? "group" : void 0,
162
+ "aria-roledescription": isCurrent ? "slide" : void 0,
163
+ "aria-label": isCurrent ? `${item.label}: ${item.title}` : void 0,
164
+ "aria-hidden": isCurrent ? void 0 : true,
165
+ inert: !isCurrent,
166
+ "data-slot": "time-stack-card",
167
+ "data-state": offset < 0 ? "past" : isCurrent ? "current" : "future",
168
+ className: cn("col-start-1 row-start-1 origin-center will-change-transform", "transition-[transform,opacity] duration-[var(--duration-slower)] ease-[var(--ease-out-quint)]"),
169
+ style: {
170
+ width: "var(--ts-card)",
171
+ aspectRatio: "220 / 135",
172
+ ...cardStyle(offset, count, i)
173
+ },
174
+ children: /* @__PURE__ */ jsx("div", {
175
+ className: card,
176
+ children: item.content ?? (tone !== "mono" && item.image ? /* @__PURE__ */ jsx("img", {
177
+ src: item.image,
178
+ alt: item.alt ?? "",
179
+ draggable: false,
180
+ className: "size-full object-cover"
181
+ }) : /* @__PURE__ */ jsx("span", {
182
+ "aria-hidden": "true",
183
+ children: i + 1
184
+ }))
185
+ })
186
+ }, i);
187
+ })
188
+ }),
189
+ /* @__PURE__ */ jsx("div", {
190
+ role: "slider",
191
+ tabIndex: 0,
192
+ "aria-label": scrubberLabel,
193
+ "aria-orientation": "vertical",
194
+ "aria-valuemin": 0,
195
+ "aria-valuemax": last,
196
+ "aria-valuenow": index,
197
+ "aria-valuetext": current ? `${current.label}: ${current.title}` : void 0,
198
+ "aria-controls": `${id}-stack`,
199
+ "data-slot": "time-stack-scrubber",
200
+ className: cn("group/scrub relative z-10 flex cursor-pointer touch-none flex-col-reverse items-end rounded-md px-1 py-2 select-none", "[--ts-origin:right] rtl:[--ts-origin:left]", focusRing),
201
+ onKeyDown: handleKeyDown,
202
+ onPointerDown: handlePointerDown,
203
+ onPointerMove: handlePointerMove,
204
+ onPointerUp: release,
205
+ onPointerCancel: release,
206
+ onPointerLeave: () => {
207
+ setHovered(null);
208
+ },
209
+ children: items.map((item, i) => {
210
+ const selected = i === index;
211
+ const showLabel = hovered === i || selected && hovered === null;
212
+ const near = hovered !== null && Math.abs(i - hovered) < 1;
213
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [i > 0 ? [0, 1].map((sub) => /* @__PURE__ */ jsx("span", {
214
+ "aria-hidden": "true",
215
+ "data-slot": "time-stack-subtick",
216
+ className: "flex w-20 justify-end py-px",
217
+ children: /* @__PURE__ */ jsx("span", {
218
+ className: cn("h-[3px] w-6 rounded-full bg-foreground/20 transition-[scale,opacity] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]", near ? "scale-x-115 opacity-50" : "opacity-30"),
219
+ style: { transformOrigin: "var(--ts-origin)" }
220
+ })
221
+ }, sub)) : null, /* @__PURE__ */ jsxs("span", {
222
+ ref: (node) => {
223
+ tickRefs.current[i] = node;
224
+ },
225
+ "aria-hidden": "true",
226
+ "data-slot": "time-stack-tick",
227
+ "data-state": selected ? "active" : "inactive",
228
+ className: "relative flex w-20 items-center justify-end py-px",
229
+ children: [/* @__PURE__ */ jsx("span", {
230
+ "data-slot": "time-stack-tick-label",
231
+ className: cn("absolute end-10 text-[10px] font-semibold whitespace-nowrap", "transition-[opacity,scale,filter] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]", selected ? "text-primary" : "text-foreground/90", !showLabel && "scale-80 opacity-0 blur-[2px]"),
232
+ children: item.label
233
+ }), /* @__PURE__ */ jsx("span", {
234
+ className: cn("h-[3px] w-6 rounded-full transition-[scale,background-color] duration-[var(--duration-fast)] ease-[var(--ease-overshoot)]", selected ? "bg-primary" : "bg-foreground/50", hovered !== null && (selected ? "scale-x-140" : near ? "scale-x-125" : "")),
235
+ style: { transformOrigin: "var(--ts-origin)" }
236
+ })]
237
+ })] }, i);
238
+ })
239
+ }),
240
+ /* @__PURE__ */ jsx("p", {
241
+ role: "status",
242
+ "aria-live": "polite",
243
+ "aria-atomic": "true",
244
+ className: "sr-only",
245
+ children: announcement
246
+ })
247
+ ]
248
+ });
249
+ }
250
+ //#endregion
251
+ export { TimeStack, timeStackVariants };
252
+
253
+ //# sourceMappingURL=time-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-stack.js","names":["Fragment"],"sources":["../../../src/components/time-stack/time-stack.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from amicro Time Machine Stack (MIT, © 2026 Syed Subhan Uddin). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n Fragment,\n useEffect,\n useId,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type ReactNode,\n} from \"react\";\n\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * Cards recede in depth behind the current one; the ones already passed fall\n * forward and fade. A timeline scrubber at the inline end picks the moment.\n *\n * The scrubber is a vertical role=\"slider\" with the newest entry at the bottom\n * and history rising above it, as in macOS Time Machine — so ArrowUp, which a\n * vertical slider must use to increase, goes back in time and moves the thumb\n * up. amicro stacks the newest at the top; that order would make the keys\n * contradict the picture.\n *\n * Motion is CSS transitions on transform and opacity. The source's gooey SVG\n * filter is dropped: it softened every card edge and could not be themed.\n */\n\nconst timeStackVariants = cva(\n \"relative flex w-full items-center justify-center gap-6 overflow-hidden rounded-2xl p-4\",\n {\n variants: {\n /** Card width. The stack's depth and height derive from it. */\n size: {\n sm: \"[--ts-card:10rem]\",\n md: \"[--ts-card:13.75rem]\",\n lg: \"[--ts-card:18rem]\",\n },\n tone: {\n media: \"\",\n mono: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"media\",\n },\n },\n);\n\nexport interface TimeStackItem {\n /** Names the card. */\n title: string;\n /** The moment on the timeline: \"Today\", \"1w ago\", a date. */\n label: string;\n /** Image URL for the card when `tone=\"media\"` and no `content` is given. */\n image?: string;\n /** Alternative text for `image`. Defaults to empty: the title names the card. */\n alt?: string;\n /** Custom card content. Replaces the image or the numbered tile. */\n content?: ReactNode;\n}\n\nexport interface TimeStackProps\n extends\n Omit<ComponentPropsWithRef<\"section\">, \"children\">,\n VariantProps<typeof timeStackVariants> {\n /** Newest first: index 0 is the front of the stack and the bottom of the timeline. */\n items: TimeStackItem[];\n index?: number;\n defaultIndex?: number;\n onIndexChange?: (index: number) => void;\n /** Step through with the mouse wheel over the stack. */\n wheel?: boolean;\n /** Select as the pointer moves over the timeline, as in the source, rather than on press. */\n hoverScrub?: boolean;\n /** Accessible name of the scrubber. */\n scrubberLabel?: string;\n}\n\n/** Placement of one card by its distance from the current one. */\nfunction cardStyle(offset: number, count: number, i: number): CSSProperties {\n const past = offset < 0;\n return {\n zIndex: count - i,\n opacity: past ? 0 : Math.max(0, 1 - offset * 0.2),\n transform: past\n ? \"translate3d(0, calc(var(--ts-card) * 1.35), calc(var(--ts-card) * 0.9)) rotateX(-20deg) scale(1.3)\"\n : [\n `translate3d(0, calc(var(--ts-card) * ${String(-offset * 0.055)}),`,\n `calc(var(--ts-card) * ${String(-offset * 0.27)}))`,\n `rotateX(${String(offset * 2)}deg)`,\n ].join(\" \"),\n };\n}\n\nconst WHEEL_STEP = 60;\n\n/** A depth stack of moments with a timeline scrubber — amicro's Time Machine. */\nexport function TimeStack({\n className,\n items,\n index: indexProp,\n defaultIndex = 0,\n onIndexChange,\n wheel = true,\n hoverScrub = false,\n scrubberLabel = \"Timeline\",\n size,\n tone,\n ref,\n \"aria-label\": ariaLabel,\n ...props\n}: TimeStackProps) {\n const count = items.length;\n const last = Math.max(0, count - 1);\n const clamp = (value: number) => Math.min(last, Math.max(0, value));\n const [uncontrolled, setUncontrolled] = useState(() => clamp(defaultIndex));\n const index = clamp(indexProp ?? uncontrolled);\n const [hovered, setHovered] = useState<number | null>(null);\n const [announcement, setAnnouncement] = useState(\"\");\n const id = useId();\n const stackRef = useRef<HTMLDivElement>(null);\n const tickRefs = useRef<(HTMLSpanElement | null)[]>([]);\n const pressing = useRef<number | null>(null);\n\n function goTo(next: number, announce = false) {\n const target = clamp(next);\n if (target === index) return;\n if (indexProp === undefined) setUncontrolled(target);\n onIndexChange?.(target);\n const item = items[target];\n if (announce && item) setAnnouncement(`${item.label}: ${item.title}`);\n }\n\n // The latest goTo for the native wheel listener, which is bound once.\n const goToRef = useRef(goTo);\n const indexRef = useRef(index);\n useEffect(() => {\n goToRef.current = goTo;\n indexRef.current = index;\n });\n\n // React's wheel listener is passive and cannot stop the page scrolling, so\n // bind natively. The page still scrolls once the stack is at either end.\n useEffect(() => {\n const stack = stackRef.current;\n if (!stack || !wheel) return;\n let accumulated = 0;\n function onWheel(event: WheelEvent) {\n const direction = Math.sign(event.deltaY);\n const next = indexRef.current + direction;\n if (direction === 0 || next < 0 || next > last) return;\n event.preventDefault();\n accumulated += event.deltaY;\n if (Math.abs(accumulated) < WHEEL_STEP) return;\n accumulated = 0;\n goToRef.current(next, true);\n }\n stack.addEventListener(\"wheel\", onWheel, { passive: false });\n return () => {\n stack.removeEventListener(\"wheel\", onWheel);\n };\n }, [wheel, last]);\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const steps: Record<string, number> = {\n ArrowUp: index + 1,\n ArrowRight: index + 1,\n ArrowDown: index - 1,\n ArrowLeft: index - 1,\n PageUp: index + 2,\n PageDown: index - 2,\n Home: 0,\n End: last,\n };\n const next = steps[event.key];\n if (next === undefined) return;\n event.preventDefault();\n goTo(next);\n }\n\n /** The tick nearest the pointer, by measured geometry. */\n function nearest(clientY: number) {\n let best: number | null = null;\n let distance = Infinity;\n tickRefs.current.forEach((tick, i) => {\n if (!tick) return;\n const rect = tick.getBoundingClientRect();\n const d = Math.abs(clientY - (rect.top + rect.height / 2));\n if (d < distance) {\n distance = d;\n best = i;\n }\n });\n return best;\n }\n\n function handlePointerDown(event: PointerEvent<HTMLDivElement>) {\n if (event.button !== 0) return;\n pressing.current = event.pointerId;\n event.currentTarget.setPointerCapture(event.pointerId);\n const at = nearest(event.clientY);\n if (at !== null) goTo(at);\n }\n\n function handlePointerMove(event: PointerEvent<HTMLDivElement>) {\n const at = nearest(event.clientY);\n setHovered(at);\n if (at !== null && (hoverScrub || pressing.current === event.pointerId)) goTo(at);\n }\n\n function release(event: PointerEvent<HTMLDivElement>) {\n if (pressing.current !== event.pointerId) return;\n pressing.current = null;\n event.currentTarget.releasePointerCapture(event.pointerId);\n }\n\n const current = items[index];\n const card = cn(\n \"grid size-full place-items-center overflow-hidden rounded-2xl border border-border shadow-lg\",\n tone === \"mono\"\n ? \"bg-muted text-sm font-bold text-muted-foreground\"\n : \"bg-card text-card-foreground\",\n );\n\n return (\n <section\n ref={ref}\n data-slot=\"time-stack\"\n aria-roledescription=\"time stack\"\n aria-label={ariaLabel ?? (props[\"aria-labelledby\"] ? undefined : \"Time stack\")}\n className={cn(timeStackVariants({ size, tone }), className)}\n {...props}\n >\n <div\n ref={stackRef}\n id={`${id}-stack`}\n data-slot=\"time-stack-stack\"\n className=\"relative grid flex-1 place-items-center\"\n style={{\n maxWidth: \"calc(var(--ts-card) * 1.32)\",\n aspectRatio: \"4 / 3\",\n perspective: \"calc(var(--ts-card) * 3.6)\",\n transformStyle: \"preserve-3d\",\n }}\n >\n {items.map((item, i) => {\n const offset = i - index;\n const isCurrent = offset === 0;\n return (\n <div\n key={i}\n role={isCurrent ? \"group\" : undefined}\n aria-roledescription={isCurrent ? \"slide\" : undefined}\n aria-label={isCurrent ? `${item.label}: ${item.title}` : undefined}\n aria-hidden={isCurrent ? undefined : true}\n inert={!isCurrent}\n data-slot=\"time-stack-card\"\n data-state={offset < 0 ? \"past\" : isCurrent ? \"current\" : \"future\"}\n className={cn(\n \"col-start-1 row-start-1 origin-center will-change-transform\",\n \"transition-[transform,opacity] duration-[var(--duration-slower)] ease-[var(--ease-out-quint)]\",\n )}\n style={{\n width: \"var(--ts-card)\",\n aspectRatio: \"220 / 135\",\n ...cardStyle(offset, count, i),\n }}\n >\n <div className={card}>\n {item.content ??\n (tone !== \"mono\" && item.image ? (\n <img\n src={item.image}\n alt={item.alt ?? \"\"}\n draggable={false}\n className=\"size-full object-cover\"\n />\n ) : (\n <span aria-hidden=\"true\">{i + 1}</span>\n ))}\n </div>\n </div>\n );\n })}\n </div>\n\n <div\n role=\"slider\"\n tabIndex={0}\n aria-label={scrubberLabel}\n aria-orientation=\"vertical\"\n aria-valuemin={0}\n aria-valuemax={last}\n aria-valuenow={index}\n aria-valuetext={current ? `${current.label}: ${current.title}` : undefined}\n aria-controls={`${id}-stack`}\n data-slot=\"time-stack-scrubber\"\n className={cn(\n \"group/scrub relative z-10 flex cursor-pointer touch-none flex-col-reverse items-end rounded-md px-1 py-2 select-none\",\n \"[--ts-origin:right] rtl:[--ts-origin:left]\",\n focusRing,\n )}\n onKeyDown={handleKeyDown}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={release}\n onPointerCancel={release}\n onPointerLeave={() => {\n setHovered(null);\n }}\n >\n {items.map((item, i) => {\n const selected = i === index;\n const showLabel = hovered === i || (selected && hovered === null);\n const near = hovered !== null && Math.abs(i - hovered) < 1;\n return (\n <Fragment key={i}>\n {i > 0\n ? [0, 1].map((sub) => (\n <span\n key={sub}\n aria-hidden=\"true\"\n data-slot=\"time-stack-subtick\"\n className=\"flex w-20 justify-end py-px\"\n >\n <span\n className={cn(\n \"h-[3px] w-6 rounded-full bg-foreground/20 transition-[scale,opacity] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n near ? \"scale-x-115 opacity-50\" : \"opacity-30\",\n )}\n style={{ transformOrigin: \"var(--ts-origin)\" }}\n />\n </span>\n ))\n : null}\n <span\n ref={(node) => {\n tickRefs.current[i] = node;\n }}\n aria-hidden=\"true\"\n data-slot=\"time-stack-tick\"\n data-state={selected ? \"active\" : \"inactive\"}\n className=\"relative flex w-20 items-center justify-end py-px\"\n >\n <span\n data-slot=\"time-stack-tick-label\"\n className={cn(\n \"absolute end-10 text-[10px] font-semibold whitespace-nowrap\",\n \"transition-[opacity,scale,filter] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n selected ? \"text-primary\" : \"text-foreground/90\",\n !showLabel && \"scale-80 opacity-0 blur-[2px]\",\n )}\n >\n {item.label}\n </span>\n <span\n className={cn(\n \"h-[3px] w-6 rounded-full transition-[scale,background-color] duration-[var(--duration-fast)] ease-[var(--ease-overshoot)]\",\n selected ? \"bg-primary\" : \"bg-foreground/50\",\n hovered !== null && (selected ? \"scale-x-140\" : near ? \"scale-x-125\" : \"\"),\n )}\n style={{ transformOrigin: \"var(--ts-origin)\" }}\n />\n </span>\n </Fragment>\n );\n })}\n </div>\n\n <p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {announcement}\n </p>\n </section>\n );\n}\n\nexport { timeStackVariants };\n"],"mappings":"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"}
@@ -9,7 +9,7 @@ const meta = defineMeta({
9
9
  dependencies: ["class-variance-authority", "radix-ui"],
10
10
  registryDependencies: [],
11
11
  files: ["toast-store.ts", "toast.tsx"],
12
- a11y: "Toasts are announced through a live region: destructive and warning variants interrupt (foreground), the rest wait for a pause (background). Auto-dismiss timers pause on hover, focus and window blur, and F8 moves focus into the toast list from anywhere. An action must carry altText describing how to do the same thing without the toast, since it may be gone before a screen reader user reaches it."
12
+ a11y: "Toasts are announced through a live region: destructive and warning variants interrupt (foreground), the rest wait for a pause (background). Auto-dismiss timers pause on hover, focus and window blur, and F8 moves focus into the toast list from anywhere. An action must carry altText describing how to do the same thing without the toast, since it may be gone before a screen reader user reaches it. The optional spring entrance stops under reduced motion."
13
13
  });
14
14
  //#endregion
15
15
  export { meta };
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/toast/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"toast\",\n title: \"Toast\",\n description: \"Brief, non-blocking messages with an imperative API callable from anywhere.\",\n category: \"feedback\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [],\n files: [\"toast-store.ts\", \"toast.tsx\"],\n a11y:\n \"Toasts are announced through a live region: destructive and warning variants interrupt \" +\n \"(foreground), the rest wait for a pause (background). Auto-dismiss timers pause on hover, \" +\n \"focus and window blur, and F8 moves focus into the toast list from anywhere. An action \" +\n \"must carry altText describing how to do the same thing without the toast, since it may \" +\n \"be gone before a screen reader user reaches it.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,UAAU;CACrD,sBAAsB,CAAC;CACvB,OAAO,CAAC,kBAAkB,WAAW;CACrC,MACE;AAKJ,CAAC"}
1
+ {"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/toast/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"toast\",\n title: \"Toast\",\n description: \"Brief, non-blocking messages with an imperative API callable from anywhere.\",\n category: \"feedback\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [],\n files: [\"toast-store.ts\", \"toast.tsx\"],\n a11y:\n \"Toasts are announced through a live region: destructive and warning variants interrupt \" +\n \"(foreground), the rest wait for a pause (background). Auto-dismiss timers pause on hover, \" +\n \"focus and window blur, and F8 moves focus into the toast list from anywhere. An action \" +\n \"must carry altText describing how to do the same thing without the toast, since it may \" +\n \"be gone before a screen reader user reaches it. The optional spring entrance stops under \" +\n \"reduced motion.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,UAAU;CACrD,sBAAsB,CAAC;CACvB,OAAO,CAAC,kBAAkB,WAAW;CACrC,MACE;AAMJ,CAAC"}
@@ -12,11 +12,18 @@ import { ComponentPropsWithRef } from "react";
12
12
  * toast list from anywhere on the page.
13
13
  */
14
14
  declare const toastVariants: (props?: ({
15
- variant?: "success" | "warning" | "destructive" | "default" | "info" | null | undefined;
15
+ variant?: "default" | "success" | "warning" | "destructive" | "info" | null | undefined;
16
16
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
17
  declare const ToastProvider: import("react").FC<Toast.ToastProviderProps>;
18
- interface ToastProps extends ComponentPropsWithRef<typeof Toast.Root>, VariantProps<typeof toastVariants> {}
19
- declare function Toast$1({ className, variant, ...props }: ToastProps): import("react").JSX.Element;
18
+ interface ToastProps extends ComponentPropsWithRef<typeof Toast.Root>, VariantProps<typeof toastVariants> {
19
+ /**
20
+ * How the toast enters. `default` slides in from off-screen. `spring` hops a
21
+ * short way in from the docked edge with a scale pop and a slight overshoot.
22
+ * Both leave, and swipe away, the same way. Stops under reduced motion.
23
+ */
24
+ animation?: "default" | "spring";
25
+ }
26
+ declare function Toast$1({ className, variant, animation, ...props }: ToastProps): import("react").JSX.Element;
20
27
  declare function ToastTitle({ className, ...props }: ComponentPropsWithRef<typeof Toast.Title>): import("react").JSX.Element;
21
28
  declare function ToastDescription({ className, ...props }: ComponentPropsWithRef<typeof Toast.Description>): import("react").JSX.Element;
22
29
  declare function ToastAction({ className, ...props }: ComponentPropsWithRef<typeof Toast.Action>): import("react").JSX.Element;
@@ -29,11 +36,13 @@ interface ToasterProps {
29
36
  className?: string;
30
37
  /** Names the toast region for assistive technology. */
31
38
  label?: string;
39
+ /** How toasts enter. See `Toast`'s `animation`. */
40
+ animation?: "default" | "spring";
32
41
  }
33
42
  /**
34
43
  * Renders the toast queue. Mount once, near the root of the application.
35
44
  */
36
- declare function Toaster({ position, duration, className, label }: ToasterProps): import("react").JSX.Element;
45
+ declare function Toaster({ position, duration, className, label, animation }: ToasterProps): import("react").JSX.Element;
37
46
  //#endregion
38
47
  export { Toast$1 as Toast, ToastAction, ToastClose, ToastDescription, ToastPosition, ToastProps, ToastProvider, ToastTitle, Toaster, ToasterProps, toastVariants };
39
48
  //# sourceMappingURL=toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","names":[],"sources":["../../../src/components/toast/toast.tsx"],"mappings":";;;;;;;;;;;;;cA2BM,gBAAa;;6CAyBlB;cAEY,+BAAa,GAAA,MAAA;UAET,mBAEb,6BAA6B,MAAe,OAC5C,oBAAoB;iBAER,UAAQ,WAAW,YAAY,SAAS,6BAAU,IAAA;iBAUlD,aACd,cACG,SACF,6BAA6B,MAAe,yBAAM,IAAA;iBAUrC,mBACd,cACG,SACF,6BAA6B,MAAe,+BAAY,IAAA;iBAU3C,cACd,cACG,SACF,6BAA6B,MAAe,0BAAO,IAAA;iBAetC,aACd,cACG,SACF,6BAA6B,MAAe,yBAAM,IAAA;KAyBzC;UAYK;EACf,WAAW;;EAEX;EACA;;EAEA;;;;;iBAMc,UACd,UACA,UACA,WACA,SACC,+BAAY,IAAA"}
1
+ {"version":3,"file":"toast.d.ts","names":[],"sources":["../../../src/components/toast/toast.tsx"],"mappings":";;;;;;;;;;;;;cA4BM,gBAAa;;6CAyBlB;cAEY,+BAAa,GAAA,MAAA;UAYT,mBAEb,6BAA6B,MAAe,OAC5C,oBAAoB;;;;;;EAMtB;;iBAGc,UAAQ,WAAW,SAAS,cAA0B,SAAS,6BAAU,IAAA;iBA6BzE,aACd,cACG,SACF,6BAA6B,MAAe,yBAAM,IAAA;iBAUrC,mBACd,cACG,SACF,6BAA6B,MAAe,+BAAY,IAAA;iBAU3C,cACd,cACG,SACF,6BAA6B,MAAe,0BAAO,IAAA;iBAetC,aACd,cACG,SACF,6BAA6B,MAAe,yBAAM,IAAA;KAyBzC;UA8BK;EACf,WAAW;;EAEX;EACA;;EAEA;;EAEA;;;;;iBAMc,UACd,UACA,UACA,WACA,OACA,aACC,+BAAY,IAAA"}