@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
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":[],"sources":["../../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { Slot } from \"radix-ui\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { buttonVariants } from \"@/components/button\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Navigation between pages of a list.\n *\n * Rendered as links by default, not buttons: a page of results is a place, so\n * it should be shareable, openable in a new tab and part of history. Use\n * `asChild` to hand off to your router's link. For pagination that only changes\n * client state, render buttons instead — `PaginationLink` accepts either.\n */\nexport function Pagination({ className, ...props }: ComponentPropsWithRef<\"nav\">) {\n return (\n <nav\n // A named landmark, so it can be jumped to and is distinguishable from\n // the page's main navigation.\n aria-label=\"Pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\nexport function PaginationContent({ className, ...props }: ComponentPropsWithRef<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nexport function PaginationItem({ className, ...props }: ComponentPropsWithRef<\"li\">) {\n return <li data-slot=\"pagination-item\" className={cn(className)} {...props} />;\n}\n\nexport interface PaginationLinkProps extends ComponentPropsWithRef<\"a\"> {\n /** Marks the page the user is on. Sets aria-current=\"page\". */\n isActive?: boolean;\n size?: \"sm\" | \"md\" | \"icon\" | \"icon-sm\";\n asChild?: boolean;\n}\n\nexport function PaginationLink({\n className,\n isActive,\n size = \"icon\",\n asChild,\n ...props\n}: PaginationLinkProps) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"pagination-link\"\n // aria-current is what tells a screen reader user where they are; styling\n // the active page differently does nothing on its own.\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive || undefined}\n className={cn(\n buttonVariants({ variant: isActive ? \"outline\" : \"ghost\", size }),\n isActive && \"border-border-strong font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function PaginationPrevious({ className, ...props }: PaginationLinkProps) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"sm\"\n className={cn(\"gap-1 px-2.5\", className)}\n {...props}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\" className=\"size-4\">\n <path\n d=\"m15 18-6-6 6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <span className=\"hidden sm:inline\">Previous</span>\n </PaginationLink>\n );\n}\n\nexport function PaginationNext({ className, ...props }: PaginationLinkProps) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"sm\"\n className={cn(\"gap-1 px-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:inline\">Next</span>\n <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\" className=\"size-4\">\n <path\n d=\"m9 18 6-6-6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </PaginationLink>\n );\n}\n\n/**\n * Stands in for a run of skipped pages.\n *\n * Hidden from assistive technology and given screen-reader text, because \"…\"\n * is announced as nothing useful and the gap is already implied by the page\n * numbers either side.\n */\nexport function PaginationEllipsis({ className, ...props }: ComponentPropsWithRef<\"span\">) {\n return (\n <span\n data-slot=\"pagination-ellipsis\"\n aria-hidden=\"true\"\n className={cn(\"grid size-9 place-items-center text-muted-foreground\", className)}\n {...props}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" className=\"size-4\">\n <circle cx=\"5\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n <circle cx=\"19\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n </svg>\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,WAAW,EAAE,WAAW,GAAG,SAAuC;CAChF,OACE,oBAAC,OAAD;EAGE,cAAW;EACX,aAAU;EACV,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;AAEA,SAAgB,kBAAkB,EAAE,WAAW,GAAG,SAAsC;CACtF,OACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,oCAAoC,SAAS;EAC3D,GAAI;CACL,CAAA;AAEL;AAEA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAAsC;CACnF,OAAO,oBAAC,MAAD;EAAI,aAAU;EAAkB,WAAW,GAAG,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC/E;AASA,SAAgB,eAAe,EAC7B,WACA,UACA,OAAO,QACP,SACA,GAAG,SACmB;CACtB,MAAM,OAAO,UAAU,KAAK,OAAO;CAEnC,OACE,oBAAC,MAAD;EACE,aAAU;EAGV,gBAAc,WAAW,SAAS,KAAA;EAClC,eAAa,YAAY,KAAA;EACzB,WAAW,GACT,eAAe;GAAE,SAAS,WAAW,YAAY;GAAS;EAAK,CAAC,GAChE,YAAY,oCACZ,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAgB,mBAAmB,EAAE,WAAW,GAAG,SAA8B;CAC/E,OACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,gBAAgB,SAAS;EACvC,GAAI;EAJN,UAAA,CAME,oBAAC,OAAD;GAAK,SAAQ;GAAY,MAAK;GAAO,eAAY;GAAO,WAAU;GAChE,UAAA,oBAAC,QAAD;IACE,GAAE;IACF,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;GAChB,CAAA;EACE,CAAA,GACL,oBAAC,QAAD;GAAM,WAAU;GAAmB,UAAA;EAAc,CAAA,CACnC;;AAEpB;AAEA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAA8B;CAC3E,OACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,gBAAgB,SAAS;EACvC,GAAI;EAJN,UAAA,CAME,oBAAC,QAAD;GAAM,WAAU;GAAmB,UAAA;EAAU,CAAA,GAC7C,oBAAC,OAAD;GAAK,SAAQ;GAAY,MAAK;GAAO,eAAY;GAAO,WAAU;GAChE,UAAA,oBAAC,QAAD;IACE,GAAE;IACF,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;GAChB,CAAA;EACE,CAAA,CACS;;AAEpB;;;;;;;;AASA,SAAgB,mBAAmB,EAAE,WAAW,GAAG,SAAwC;CACzF,OACE,qBAAC,QAAD;EACE,aAAU;EACV,eAAY;EACZ,WAAW,GAAG,wDAAwD,SAAS;EAC/E,GAAI;EAJN,UAAA,CAME,qBAAC,OAAD;GAAK,SAAQ;GAAY,MAAK;GAAO,WAAU;GAA/C,UAAA;IACE,oBAAC,UAAD;KAAQ,IAAG;KAAI,IAAG;KAAK,GAAE;KAAM,MAAK;IAAgB,CAAA;IACpD,oBAAC,UAAD;KAAQ,IAAG;KAAK,IAAG;KAAK,GAAE;KAAM,MAAK;IAAgB,CAAA;IACrD,oBAAC,UAAD;KAAQ,IAAG;KAAK,IAAG;KAAK,GAAE;KAAM,MAAK;IAAgB,CAAA;GAClD;EACL,CAAA,GAAA,oBAAC,QAAD;GAAM,WAAU;GAAU,UAAA;EAAgB,CAAA,CACtC;;AAEV"}
1
+ {"version":3,"file":"pagination.js","names":[],"sources":["../../../src/components/pagination/pagination.tsx"],"sourcesContent":["// Motion from SmoothUI Pagination (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { Slot } from \"radix-ui\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { buttonVariants } from \"@/components/button\";\nimport { mirrorForDirection } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nimport { PaginationIndicator } from \"./pagination-indicator\";\n\n/**\n * Navigation between pages of a list.\n *\n * Rendered as links by default, not buttons: a page of results is a place, so\n * it should be shareable, openable in a new tab and part of history. Use\n * `asChild` to hand off to your router's link. For pagination that only changes\n * client state, render buttons instead — `PaginationLink` accepts either.\n */\nexport function Pagination({ className, ...props }: ComponentPropsWithRef<\"nav\">) {\n return (\n <nav\n // A named landmark, so it can be jumped to and is distinguishable from\n // the page's main navigation.\n aria-label=\"Pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\nexport interface PaginationContentProps extends ComponentPropsWithRef<\"ul\"> {\n /**\n * `slide` moves one active-page pill between pages instead of restyling\n * each link. Worth it when paging changes client state; a link that loads\n * a new document never sees the slide. Default `none`.\n */\n indicator?: \"none\" | \"slide\";\n}\n\nexport function PaginationContent({\n className,\n indicator = \"none\",\n children,\n ...props\n}: PaginationContentProps) {\n const slide = indicator === \"slide\";\n return (\n <ul\n data-slot=\"pagination-content\"\n data-indicator={slide ? \"slide\" : undefined}\n className={cn(\n \"flex flex-row items-center gap-1\",\n slide && [\n \"relative\",\n // Once the pill has measured, the active link hands its border and\n // background to it. Before that it keeps its own, so first paint and\n // a server render look exactly as they always have.\n \"has-[>[data-slot=pagination-indicator][data-ready]]:[&_[data-slot=pagination-link]]:relative\",\n \"has-[>[data-slot=pagination-indicator][data-ready]]:[&_[data-slot=pagination-link][aria-current=page]]:border-transparent\",\n \"has-[>[data-slot=pagination-indicator][data-ready]]:[&_[data-slot=pagination-link][aria-current=page]]:bg-transparent\",\n ],\n className,\n )}\n {...props}\n >\n {slide ? <PaginationIndicator /> : null}\n {children}\n </ul>\n );\n}\n\nexport function PaginationItem({ className, ...props }: ComponentPropsWithRef<\"li\">) {\n return <li data-slot=\"pagination-item\" className={cn(className)} {...props} />;\n}\n\nexport interface PaginationLinkProps extends ComponentPropsWithRef<\"a\"> {\n /** Marks the page the user is on. Sets aria-current=\"page\". */\n isActive?: boolean;\n size?: \"sm\" | \"md\" | \"icon\" | \"icon-sm\";\n asChild?: boolean;\n}\n\nexport function PaginationLink({\n className,\n isActive,\n size = \"icon\",\n asChild,\n ...props\n}: PaginationLinkProps) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"pagination-link\"\n // aria-current is what tells a screen reader user where they are; styling\n // the active page differently does nothing on its own.\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive || undefined}\n className={cn(\n buttonVariants({ variant: isActive ? \"outline\" : \"ghost\", size }),\n isActive && \"border-border-strong font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function PaginationPrevious({ className, ...props }: PaginationLinkProps) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"sm\"\n className={cn(\"gap-1 px-2.5\", className)}\n {...props}\n >\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n className={cn(\"size-4\", mirrorForDirection)}\n >\n <path\n d=\"m15 18-6-6 6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <span className=\"hidden sm:inline\">Previous</span>\n </PaginationLink>\n );\n}\n\nexport function PaginationNext({ className, ...props }: PaginationLinkProps) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"sm\"\n className={cn(\"gap-1 px-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:inline\">Next</span>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n className={cn(\"size-4\", mirrorForDirection)}\n >\n <path\n d=\"m9 18 6-6-6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </PaginationLink>\n );\n}\n\n/**\n * Stands in for a run of skipped pages.\n *\n * Hidden from assistive technology and given screen-reader text, because \"…\"\n * is announced as nothing useful and the gap is already implied by the page\n * numbers either side.\n */\nexport function PaginationEllipsis({ className, ...props }: ComponentPropsWithRef<\"span\">) {\n return (\n <span\n data-slot=\"pagination-ellipsis\"\n aria-hidden=\"true\"\n className={cn(\"grid size-9 place-items-center text-muted-foreground\", className)}\n {...props}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" className=\"size-4\">\n <circle cx=\"5\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n <circle cx=\"19\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n </svg>\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,SAAgB,WAAW,EAAE,WAAW,GAAG,SAAuC;CAChF,OACE,oBAAC,OAAD;EAGE,cAAW;EACX,aAAU;EACV,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;AAWA,SAAgB,kBAAkB,EAChC,WACA,YAAY,QACZ,UACA,GAAG,SACsB;CACzB,MAAM,QAAQ,cAAc;CAC5B,OACE,qBAAC,MAAD;EACE,aAAU;EACV,kBAAgB,QAAQ,UAAU,KAAA;EAClC,WAAW,GACT,oCACA,SAAS;GACP;GAIA;GACA;GACA;EACF,GACA,SACF;EACA,GAAI;EAhBN,UAAA,CAkBG,QAAQ,oBAAC,qBAAD,CAAsB,CAAA,IAAI,MAClC,QACC;;AAER;AAEA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAAsC;CACnF,OAAO,oBAAC,MAAD;EAAI,aAAU;EAAkB,WAAW,GAAG,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC/E;AASA,SAAgB,eAAe,EAC7B,WACA,UACA,OAAO,QACP,SACA,GAAG,SACmB;CACtB,MAAM,OAAO,UAAU,KAAK,OAAO;CAEnC,OACE,oBAAC,MAAD;EACE,aAAU;EAGV,gBAAc,WAAW,SAAS,KAAA;EAClC,eAAa,YAAY,KAAA;EACzB,WAAW,GACT,eAAe;GAAE,SAAS,WAAW,YAAY;GAAS;EAAK,CAAC,GAChE,YAAY,oCACZ,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAgB,mBAAmB,EAAE,WAAW,GAAG,SAA8B;CAC/E,OACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,gBAAgB,SAAS;EACvC,GAAI;EAJN,UAAA,CAME,oBAAC,OAAD;GACE,SAAQ;GACR,MAAK;GACL,eAAY;GACZ,WAAW,GAAG,UAAU,kBAAkB;GAE1C,UAAA,oBAAC,QAAD;IACE,GAAE;IACF,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;GAChB,CAAA;EACE,CAAA,GACL,oBAAC,QAAD;GAAM,WAAU;GAAmB,UAAA;EAAc,CAAA,CACnC;;AAEpB;AAEA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAA8B;CAC3E,OACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,gBAAgB,SAAS;EACvC,GAAI;EAJN,UAAA,CAME,oBAAC,QAAD;GAAM,WAAU;GAAmB,UAAA;EAAU,CAAA,GAC7C,oBAAC,OAAD;GACE,SAAQ;GACR,MAAK;GACL,eAAY;GACZ,WAAW,GAAG,UAAU,kBAAkB;GAE1C,UAAA,oBAAC,QAAD;IACE,GAAE;IACF,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;GAChB,CAAA;EACE,CAAA,CACS;;AAEpB;;;;;;;;AASA,SAAgB,mBAAmB,EAAE,WAAW,GAAG,SAAwC;CACzF,OACE,qBAAC,QAAD;EACE,aAAU;EACV,eAAY;EACZ,WAAW,GAAG,wDAAwD,SAAS;EAC/E,GAAI;EAJN,UAAA,CAME,qBAAC,OAAD;GAAK,SAAQ;GAAY,MAAK;GAAO,WAAU;GAA/C,UAAA;IACE,oBAAC,UAAD;KAAQ,IAAG;KAAI,IAAG;KAAK,GAAE;KAAM,MAAK;IAAgB,CAAA;IACpD,oBAAC,UAAD;KAAQ,IAAG;KAAK,IAAG;KAAK,GAAE;KAAM,MAAK;IAAgB,CAAA;IACrD,oBAAC,UAAD;KAAQ,IAAG;KAAK,IAAG;KAAK,GAAE;KAAM,MAAK;IAAgB,CAAA;GAClD;EACL,CAAA,GAAA,oBAAC,QAAD;GAAM,WAAU;GAAU,UAAA;EAAgB,CAAA,CACtC;;AAEV"}
@@ -0,0 +1,2 @@
1
+ import { PaletteColor, PaletteGenerate, PaletteGenerator, PaletteGeneratorProps, generateTokenPalette, paletteGeneratorVariants } from "./palette-generator.js";
2
+ export { type PaletteColor, type PaletteGenerate, PaletteGenerator, type PaletteGeneratorProps, generateTokenPalette, paletteGeneratorVariants };
@@ -0,0 +1,2 @@
1
+ import { PaletteGenerator, generateTokenPalette, paletteGeneratorVariants } from "./palette-generator.js";
2
+ export { PaletteGenerator, generateTokenPalette, paletteGeneratorVariants };
@@ -0,0 +1,17 @@
1
+ import { defineMeta } from "../../registry/schema.js";
2
+ //#region src/components/palette-generator/meta.ts
3
+ const meta = defineMeta({
4
+ name: "palette-generator",
5
+ title: "Palette Generator",
6
+ description: "A row of swatches that melt together through a goo filter and pop back out in a new palette.",
7
+ category: "effects",
8
+ status: "beta",
9
+ dependencies: ["class-variance-authority"],
10
+ registryDependencies: ["button"],
11
+ files: ["palette-generator.tsx"],
12
+ a11y: "The refresh control is a named button (\"Generate a new palette\") with a focus ring. The swatches are a labelled list of images named by colour, and each new palette is announced through a polite live region (missing in the source). The melt is decoration: under reduced motion the colours swap at once."
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/palette-generator/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"palette-generator\",\n title: \"Palette Generator\",\n description:\n \"A row of swatches that melt together through a goo filter and pop back out in a new palette.\",\n category: \"effects\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [\"button\"],\n files: [\"palette-generator.tsx\"],\n a11y:\n 'The refresh control is a named button (\"Generate a new palette\") with a focus ring. The swatches are a ' +\n \"labelled list of images named by colour, and each new palette is announced through a polite live region \" +\n \"(missing in the source). The melt is decoration: under reduced motion the colours swap at once.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,0BAA0B;CACzC,sBAAsB,CAAC,QAAQ;CAC/B,OAAO,CAAC,uBAAuB;CAC/B,MACE;AAGJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { ComponentPropsWithRef } from "react";
3
+ //#region src/components/palette-generator/palette-generator.d.ts
4
+ interface PaletteColor {
5
+ /** Any CSS colour: shown as the swatch's background. */
6
+ value: string;
7
+ /** Announced and used as the swatch's accessible name. */
8
+ name: string;
9
+ }
10
+ type PaletteGenerate = (count: number, random: () => number) => PaletteColor[];
11
+ /**
12
+ * The default generator: a light-to-dark ramp between two neighbouring hue
13
+ * tokens. Every colour is a color-mix of semantic tokens.
14
+ */
15
+ declare const generateTokenPalette: PaletteGenerate;
16
+ declare const paletteGeneratorVariants: (props?: ({
17
+ stroke?: boolean | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ interface PaletteGeneratorProps extends Omit<ComponentPropsWithRef<"div">, "defaultValue" | "onChange">, VariantProps<typeof paletteGeneratorVariants> {
20
+ /** Controlled palette. */
21
+ colors?: PaletteColor[];
22
+ /** Initial palette when uncontrolled. Defaults to a generated one. */
23
+ defaultColors?: PaletteColor[];
24
+ /** Called with each new palette. */
25
+ onColorsChange?: (colors: PaletteColor[]) => void;
26
+ /** Swatches per palette. */
27
+ count?: number;
28
+ /** Makes a palette. Defaults to `generateTokenPalette`. */
29
+ generate?: PaletteGenerate;
30
+ /** How deep the shrink and melt go, 0–100. */
31
+ morph?: number;
32
+ /** Swatch corner radius in pixels; the slabs are 10px rounder. */
33
+ radius?: number;
34
+ /** The refresh button's accessible name. */
35
+ generateLabel?: string;
36
+ /** Names the swatch list. */
37
+ paletteLabel?: string;
38
+ }
39
+ /** Swatches that melt together and pop back out in a new palette. */
40
+ declare function PaletteGenerator({ className, stroke, colors: colorsProp, defaultColors, onColorsChange, count, generate, morph, radius, generateLabel, paletteLabel, style, ...props }: PaletteGeneratorProps): import("react").JSX.Element;
41
+ //#endregion
42
+ export { PaletteColor, PaletteGenerate, PaletteGenerator, PaletteGeneratorProps, generateTokenPalette, paletteGeneratorVariants };
43
+ //# sourceMappingURL=palette-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-generator.d.ts","names":[],"sources":["../../../src/components/palette-generator/palette-generator.tsx"],"mappings":";;;UAmCiB;;EAEf;;EAEA;;KAGU,mBAAmB,eAAe,yBAAyB;;;;;cAS1D,sBAAsB;cAwC7B,2BAAwB;;6CAS5B;UAOe,8BAEb,KAAK,4DACL,oBAAoB;;EAEtB,SAAS;;EAET,gBAAgB;;EAEhB,kBAAkB,QAAQ;;EAE1B;;EAEA,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;;iBAIc,mBACd,WACA,QACA,QAAQ,YACR,eACA,gBACA,OACA,UACA,OACA,QACA,eACA,cACA,UACG,SACF,wCAAqB,IAAA"}
@@ -0,0 +1,199 @@
1
+ "use client";
2
+ import { cn } from "../../lib/utils.js";
3
+ import { Button } from "../button/button.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+ import { useEffect, useId, useRef, useState } from "react";
7
+ //#region src/components/palette-generator/palette-generator.tsx
8
+ /** Hue tokens in wheel order, so neighbours make a family. */
9
+ const HUES = [
10
+ "destructive",
11
+ "warning",
12
+ "success",
13
+ "info",
14
+ "primary"
15
+ ];
16
+ /**
17
+ * The default generator: a light-to-dark ramp between two neighbouring hue
18
+ * tokens. Every colour is a color-mix of semantic tokens.
19
+ */
20
+ const generateTokenPalette = (count, random) => {
21
+ const start = Math.floor(random() * HUES.length);
22
+ const from = HUES[start] ?? "info";
23
+ const to = HUES[(start + 1) % HUES.length] ?? "success";
24
+ const depth = 30 + Math.round(random() * 25);
25
+ return Array.from({ length: count }, (_, index) => {
26
+ const t = count === 1 ? .5 : index / (count - 1);
27
+ const hue = `color-mix(in oklch, var(--color-${to}) ${String(Math.round(t * 100))}%, var(--color-${from}))`;
28
+ const toward = t < .5 ? "background" : "foreground";
29
+ const amount = Math.round(Math.abs(.5 - t) * 2 * depth);
30
+ return {
31
+ value: `color-mix(in oklab, ${hue} ${String(100 - amount)}%, var(--color-${toward}))`,
32
+ name: `${t < .25 ? "pale " : t > .75 ? "deep " : ""}${t < .2 ? from : t > .8 ? to : `${from}–${to}`}`
33
+ };
34
+ });
35
+ };
36
+ /** A tiny seeded PRNG, so the first palette is the same on server and client. */
37
+ function seeded(seed) {
38
+ let state = seed;
39
+ return () => {
40
+ state = state + 1831565813 | 0;
41
+ let t = Math.imul(state ^ state >>> 15, 1 | state);
42
+ t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
43
+ return ((t ^ t >>> 14) >>> 0) / 4294967296;
44
+ };
45
+ }
46
+ function reducedMotion() {
47
+ return typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
48
+ }
49
+ /** Timeline of one press, in milliseconds. */
50
+ const MELT = 300;
51
+ const SETTLE = 1e3;
52
+ const paletteGeneratorVariants = cva("flex w-[18.75rem] max-w-full gap-1.5", {
53
+ variants: {
54
+ /** A hairline ring on both slabs — the source's Stroke switch. */
55
+ stroke: {
56
+ true: "[&>[data-slab]]:shadow-[inset_0_0_0_1px_var(--color-border)]",
57
+ false: ""
58
+ } },
59
+ defaultVariants: { stroke: false }
60
+ });
61
+ const slab = cn("rounded-[calc(var(--palette-generator-radius)+10px)] bg-card p-2.5 text-card-foreground", "transition-[scale] duration-[var(--duration-normal)] ease-[var(--ease-overshoot)]");
62
+ /** Swatches that melt together and pop back out in a new palette. */
63
+ function PaletteGenerator({ className, stroke, colors: colorsProp, defaultColors, onColorsChange, count = 4, generate = generateTokenPalette, morph = 50, radius = 14, generateLabel = "Generate a new palette", paletteLabel = "Palette", style, ...props }) {
64
+ const filterId = `dowel-palette-goo-${useId().replace(/[^a-zA-Z0-9-]/g, "")}`;
65
+ const [uncontrolled, setUncontrolled] = useState(() => defaultColors ?? generate(count, seeded(count)));
66
+ const colors = colorsProp ?? uncontrolled;
67
+ const [phase, setPhase] = useState("idle");
68
+ const [presses, setPresses] = useState(0);
69
+ const [announced, setAnnounced] = useState("");
70
+ const blurRef = useRef(null);
71
+ const timers = useRef([]);
72
+ const frame = useRef(0);
73
+ const depth = Math.min(100, Math.max(0, morph)) / 100;
74
+ useEffect(() => () => {
75
+ for (const timer of timers.current) clearTimeout(timer);
76
+ cancelAnimationFrame(frame.current);
77
+ }, []);
78
+ /** Tweens the goo blur, since an SVG filter attribute cannot transition. */
79
+ function tweenBlur(from, to, duration) {
80
+ cancelAnimationFrame(frame.current);
81
+ const started = performance.now();
82
+ const step = (now) => {
83
+ const t = Math.min(1, (now - started) / duration);
84
+ blurRef.current?.setAttribute("stdDeviation", String(from + (to - from) * t));
85
+ if (t < 1) frame.current = requestAnimationFrame(step);
86
+ };
87
+ frame.current = requestAnimationFrame(step);
88
+ }
89
+ function swap() {
90
+ const next = generate(count, Math.random);
91
+ if (colorsProp === void 0) setUncontrolled(next);
92
+ onColorsChange?.(next);
93
+ setAnnounced(`New palette: ${next.map((color) => color.name).join(", ")}`);
94
+ }
95
+ function press() {
96
+ setPresses((current) => current + 1);
97
+ for (const timer of timers.current) clearTimeout(timer);
98
+ timers.current = [];
99
+ if (reducedMotion()) {
100
+ swap();
101
+ return;
102
+ }
103
+ const blur = 1 + 4 * depth;
104
+ setPhase("melt");
105
+ tweenBlur(0, blur, 250);
106
+ timers.current.push(setTimeout(() => {
107
+ swap();
108
+ setPhase("pop");
109
+ tweenBlur(blur, 0, 700);
110
+ }, MELT), setTimeout(() => {
111
+ setPhase("idle");
112
+ }, SETTLE));
113
+ }
114
+ return /* @__PURE__ */ jsxs("div", {
115
+ "data-slot": "palette-generator",
116
+ "data-phase": phase,
117
+ className: cn(paletteGeneratorVariants({ stroke }), className),
118
+ style: {
119
+ "--palette-generator-radius": `${String(radius)}px`,
120
+ "--palette-generator-morph": String(depth),
121
+ ...style
122
+ },
123
+ ...props,
124
+ children: [
125
+ /* @__PURE__ */ jsx("svg", {
126
+ width: "0",
127
+ height: "0",
128
+ "aria-hidden": "true",
129
+ className: "absolute",
130
+ children: /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("filter", {
131
+ id: filterId,
132
+ children: [/* @__PURE__ */ jsx("feGaussianBlur", {
133
+ ref: blurRef,
134
+ in: "SourceGraphic",
135
+ stdDeviation: "0",
136
+ result: "blur"
137
+ }), /* @__PURE__ */ jsx("feColorMatrix", {
138
+ in: "blur",
139
+ mode: "matrix",
140
+ values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 26 -13"
141
+ })]
142
+ }) })
143
+ }),
144
+ /* @__PURE__ */ jsx("div", {
145
+ "data-slab": "",
146
+ "data-slot": "palette-generator-swatches",
147
+ className: cn(slab, "min-w-0 flex-1 in-data-[phase=melt]:scale-[0.965]"),
148
+ children: /* @__PURE__ */ jsx("ul", {
149
+ "aria-label": paletteLabel,
150
+ className: "flex h-[3.625rem] gap-1",
151
+ style: phase === "idle" ? void 0 : { filter: `url(#${filterId})` },
152
+ children: colors.map((color, index) => /* @__PURE__ */ jsx("li", {
153
+ className: "grid min-w-0 flex-1 place-items-center",
154
+ children: /* @__PURE__ */ jsx("span", {
155
+ role: "img",
156
+ "aria-label": color.name,
157
+ "data-slot": "palette-generator-swatch",
158
+ className: cn("block size-full rounded-[var(--palette-generator-radius)]", "transition-[width,height,border-radius] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]", "in-data-[phase=pop]:ease-[var(--ease-overshoot)]", "in-data-[phase=melt]:h-[calc(100%-(100%-2.375rem)*var(--palette-generator-morph))]", "in-data-[phase=melt]:w-[calc(100%-(100%-2.375rem)*var(--palette-generator-morph))]", "in-data-[phase=melt]:rounded-[50%]"),
159
+ style: { backgroundColor: color.value }
160
+ })
161
+ }, index))
162
+ })
163
+ }),
164
+ /* @__PURE__ */ jsx("div", {
165
+ "data-slab": "",
166
+ className: cn(slab, "shrink-0 motion-safe:active:scale-[0.94]"),
167
+ children: /* @__PURE__ */ jsx(Button, {
168
+ variant: "ghost",
169
+ "aria-label": generateLabel,
170
+ "data-slot": "palette-generator-refresh",
171
+ className: cn("h-[3.625rem] w-[1.875rem] rounded-[var(--palette-generator-radius)] p-0 text-muted-foreground", "hover:bg-transparent hover:text-[color-mix(in_oklab,var(--color-muted-foreground)_45%,var(--color-card))]"),
172
+ onClick: press,
173
+ children: /* @__PURE__ */ jsx("svg", {
174
+ viewBox: "0 0 24 24",
175
+ fill: "none",
176
+ stroke: "currentColor",
177
+ strokeWidth: "2.2",
178
+ strokeLinecap: "round",
179
+ strokeLinejoin: "round",
180
+ "aria-hidden": "true",
181
+ className: "size-[1.125rem] transition-[rotate] duration-[var(--duration-slower)] ease-[var(--ease-out-quint)]",
182
+ style: { rotate: `${String(presses * 180)}deg` },
183
+ children: /* @__PURE__ */ jsx("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16M8 16H3v5" })
184
+ })
185
+ })
186
+ }),
187
+ /* @__PURE__ */ jsx("span", {
188
+ role: "status",
189
+ "aria-live": "polite",
190
+ className: "sr-only",
191
+ children: announced
192
+ })
193
+ ]
194
+ });
195
+ }
196
+ //#endregion
197
+ export { PaletteGenerator, generateTokenPalette, paletteGeneratorVariants };
198
+
199
+ //# sourceMappingURL=palette-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-generator.js","names":[],"sources":["../../../src/components/palette-generator/palette-generator.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from bencho Palette (MIT, © 2026 Lorenzo Cabra). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n useEffect,\n useId,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n} from \"react\";\n\nimport { Button } from \"@/components/button\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A row of swatches and a refresh button. Pressing it shrinks the swatches to\n * round blobs that melt together through a goo filter, swaps the colours at\n * the smallest point, and pops them back out as rectangles.\n *\n * Colours are data, shown through inline style. The source generated OKLCH\n * ramps from numbers; this library's token audit forbids colour functions in\n * component source (literal or templated), so the default generator composes\n * semantic tokens instead: a light-to-dark ramp walking between two\n * neighbouring hue tokens, mixed toward the background at the light end and\n * the foreground at the dark end — exactly the \"one hue family\" ramp the\n * source produces, and it follows the theme. A consumer who wants free OKLCH\n * palettes passes `generate` (the story shows one).\n *\n * The morph is phase-driven CSS (melt → pop → idle) on data-phase; only the\n * blur of the goo filter is tweened in JS, because an SVG filter attribute\n * cannot be transitioned. Reduced motion swaps the colours at once.\n */\n\nexport interface PaletteColor {\n /** Any CSS colour: shown as the swatch's background. */\n value: string;\n /** Announced and used as the swatch's accessible name. */\n name: string;\n}\n\nexport type PaletteGenerate = (count: number, random: () => number) => PaletteColor[];\n\n/** Hue tokens in wheel order, so neighbours make a family. */\nconst HUES = [\"destructive\", \"warning\", \"success\", \"info\", \"primary\"] as const;\n\n/**\n * The default generator: a light-to-dark ramp between two neighbouring hue\n * tokens. Every colour is a color-mix of semantic tokens.\n */\nexport const generateTokenPalette: PaletteGenerate = (count, random) => {\n const start = Math.floor(random() * HUES.length);\n const from = HUES[start] ?? \"info\";\n const to = HUES[(start + 1) % HUES.length] ?? \"success\";\n const depth = 30 + Math.round(random() * 25);\n return Array.from({ length: count }, (_, index) => {\n const t = count === 1 ? 0.5 : index / (count - 1);\n const hue = `color-mix(in oklch, var(--color-${to}) ${String(Math.round(t * 100))}%, var(--color-${from}))`;\n // Lighter than the hue toward the start, darker toward the end.\n const toward = t < 0.5 ? \"background\" : \"foreground\";\n const amount = Math.round(Math.abs(0.5 - t) * 2 * depth);\n const value = `color-mix(in oklab, ${hue} ${String(100 - amount)}%, var(--color-${toward}))`;\n const tone = t < 0.25 ? \"pale \" : t > 0.75 ? \"deep \" : \"\";\n const family = t < 0.2 ? from : t > 0.8 ? to : `${from}–${to}`;\n return { value, name: `${tone}${family}` };\n });\n};\n\n/** A tiny seeded PRNG, so the first palette is the same on server and client. */\nfunction seeded(seed: number): () => number {\n let state = seed;\n return () => {\n state = (state + 0x6d2b79f5) | 0;\n let t = Math.imul(state ^ (state >>> 15), 1 | state);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n\nfunction reducedMotion(): boolean {\n return (\n typeof window.matchMedia === \"function\" &&\n window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches\n );\n}\n\n/** Timeline of one press, in milliseconds. */\nconst MELT = 300;\nconst SETTLE = 1000;\n\nconst paletteGeneratorVariants = cva(\"flex w-[18.75rem] max-w-full gap-1.5\", {\n variants: {\n /** A hairline ring on both slabs — the source's Stroke switch. */\n stroke: {\n true: \"[&>[data-slab]]:shadow-[inset_0_0_0_1px_var(--color-border)]\",\n false: \"\",\n },\n },\n defaultVariants: { stroke: false },\n});\n\nconst slab = cn(\n \"rounded-[calc(var(--palette-generator-radius)+10px)] bg-card p-2.5 text-card-foreground\",\n \"transition-[scale] duration-[var(--duration-normal)] ease-[var(--ease-overshoot)]\",\n);\n\nexport interface PaletteGeneratorProps\n extends\n Omit<ComponentPropsWithRef<\"div\">, \"defaultValue\" | \"onChange\">,\n VariantProps<typeof paletteGeneratorVariants> {\n /** Controlled palette. */\n colors?: PaletteColor[];\n /** Initial palette when uncontrolled. Defaults to a generated one. */\n defaultColors?: PaletteColor[];\n /** Called with each new palette. */\n onColorsChange?: (colors: PaletteColor[]) => void;\n /** Swatches per palette. */\n count?: number;\n /** Makes a palette. Defaults to `generateTokenPalette`. */\n generate?: PaletteGenerate;\n /** How deep the shrink and melt go, 0–100. */\n morph?: number;\n /** Swatch corner radius in pixels; the slabs are 10px rounder. */\n radius?: number;\n /** The refresh button's accessible name. */\n generateLabel?: string;\n /** Names the swatch list. */\n paletteLabel?: string;\n}\n\n/** Swatches that melt together and pop back out in a new palette. */\nexport function PaletteGenerator({\n className,\n stroke,\n colors: colorsProp,\n defaultColors,\n onColorsChange,\n count = 4,\n generate = generateTokenPalette,\n morph = 50,\n radius = 14,\n generateLabel = \"Generate a new palette\",\n paletteLabel = \"Palette\",\n style,\n ...props\n}: PaletteGeneratorProps) {\n const filterId = `dowel-palette-goo-${useId().replace(/[^a-zA-Z0-9-]/g, \"\")}`;\n const [uncontrolled, setUncontrolled] = useState(\n () => defaultColors ?? generate(count, seeded(count)),\n );\n const colors = colorsProp ?? uncontrolled;\n const [phase, setPhase] = useState<\"idle\" | \"melt\" | \"pop\">(\"idle\");\n const [presses, setPresses] = useState(0);\n const [announced, setAnnounced] = useState(\"\");\n const blurRef = useRef<SVGFEGaussianBlurElement | null>(null);\n const timers = useRef<ReturnType<typeof setTimeout>[]>([]);\n const frame = useRef(0);\n const depth = Math.min(100, Math.max(0, morph)) / 100;\n\n useEffect(\n () => () => {\n for (const timer of timers.current) clearTimeout(timer);\n cancelAnimationFrame(frame.current);\n },\n [],\n );\n\n /** Tweens the goo blur, since an SVG filter attribute cannot transition. */\n function tweenBlur(from: number, to: number, duration: number) {\n cancelAnimationFrame(frame.current);\n const started = performance.now();\n const step = (now: number) => {\n const t = Math.min(1, (now - started) / duration);\n blurRef.current?.setAttribute(\"stdDeviation\", String(from + (to - from) * t));\n if (t < 1) frame.current = requestAnimationFrame(step);\n };\n frame.current = requestAnimationFrame(step);\n }\n\n function swap() {\n const next = generate(count, Math.random);\n if (colorsProp === undefined) setUncontrolled(next);\n onColorsChange?.(next);\n setAnnounced(`New palette: ${next.map((color) => color.name).join(\", \")}`);\n }\n\n function press() {\n setPresses((current) => current + 1);\n for (const timer of timers.current) clearTimeout(timer);\n timers.current = [];\n if (reducedMotion()) {\n swap();\n return;\n }\n const blur = 1 + 4 * depth;\n setPhase(\"melt\");\n tweenBlur(0, blur, MELT - 50);\n timers.current.push(\n setTimeout(() => {\n swap();\n setPhase(\"pop\");\n tweenBlur(blur, 0, SETTLE - MELT);\n }, MELT),\n setTimeout(() => {\n setPhase(\"idle\");\n }, SETTLE),\n );\n }\n\n return (\n <div\n data-slot=\"palette-generator\"\n data-phase={phase}\n className={cn(paletteGeneratorVariants({ stroke }), className)}\n style={\n {\n \"--palette-generator-radius\": `${String(radius)}px`,\n \"--palette-generator-morph\": String(depth),\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n <svg width=\"0\" height=\"0\" aria-hidden=\"true\" className=\"absolute\">\n <defs>\n <filter id={filterId}>\n <feGaussianBlur ref={blurRef} in=\"SourceGraphic\" stdDeviation=\"0\" result=\"blur\" />\n <feColorMatrix\n in=\"blur\"\n mode=\"matrix\"\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 26 -13\"\n />\n </filter>\n </defs>\n </svg>\n <div\n data-slab=\"\"\n data-slot=\"palette-generator-swatches\"\n className={cn(slab, \"min-w-0 flex-1 in-data-[phase=melt]:scale-[0.965]\")}\n >\n <ul\n aria-label={paletteLabel}\n className=\"flex h-[3.625rem] gap-1\"\n style={phase === \"idle\" ? undefined : { filter: `url(#${filterId})` }}\n >\n {colors.map((color, index) => (\n <li key={index} className=\"grid min-w-0 flex-1 place-items-center\">\n <span\n role=\"img\"\n aria-label={color.name}\n data-slot=\"palette-generator-swatch\"\n className={cn(\n \"block size-full rounded-[var(--palette-generator-radius)]\",\n \"transition-[width,height,border-radius] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]\",\n \"in-data-[phase=pop]:ease-[var(--ease-overshoot)]\",\n \"in-data-[phase=melt]:h-[calc(100%-(100%-2.375rem)*var(--palette-generator-morph))]\",\n \"in-data-[phase=melt]:w-[calc(100%-(100%-2.375rem)*var(--palette-generator-morph))]\",\n \"in-data-[phase=melt]:rounded-[50%]\",\n )}\n style={{ backgroundColor: color.value }}\n />\n </li>\n ))}\n </ul>\n </div>\n <div data-slab=\"\" className={cn(slab, \"shrink-0 motion-safe:active:scale-[0.94]\")}>\n <Button\n variant=\"ghost\"\n aria-label={generateLabel}\n data-slot=\"palette-generator-refresh\"\n className={cn(\n \"h-[3.625rem] w-[1.875rem] rounded-[var(--palette-generator-radius)] p-0 text-muted-foreground\",\n \"hover:bg-transparent hover:text-[color-mix(in_oklab,var(--color-muted-foreground)_45%,var(--color-card))]\",\n )}\n onClick={press}\n >\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"size-[1.125rem] transition-[rotate] duration-[var(--duration-slower)] ease-[var(--ease-out-quint)]\"\n style={{ rotate: `${String(presses * 180)}deg` }}\n >\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16M8 16H3v5\" />\n </svg>\n </Button>\n </div>\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n {announced}\n </span>\n </div>\n );\n}\n\nexport { paletteGeneratorVariants };\n"],"mappings":"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"}
@@ -57,7 +57,7 @@ function PermissionMatrix({ className, label, roles, permissions, grants, onChan
57
57
  children: [/* @__PURE__ */ jsx("th", {
58
58
  role: "columnheader",
59
59
  scope: "col",
60
- className: "px-3 py-2 text-left text-xs font-medium",
60
+ className: "px-3 py-2 text-start text-xs font-medium",
61
61
  children: "Permission"
62
62
  }), roles.map((role) => {
63
63
  const granted = countGranted(roles, grants, role, permissions);
@@ -85,7 +85,7 @@ function PermissionMatrix({ className, label, roles, permissions, grants, onChan
85
85
  children: [/* @__PURE__ */ jsxs("th", {
86
86
  role: "rowheader",
87
87
  scope: "row",
88
- className: "px-3 py-1.5 text-left text-xs font-medium",
88
+ className: "px-3 py-1.5 text-start text-xs font-medium",
89
89
  children: [row.label, /* @__PURE__ */ jsx("span", {
90
90
  className: "sr-only",
91
91
  children: ", all"
@@ -107,7 +107,7 @@ function PermissionMatrix({ className, label, roles, permissions, grants, onChan
107
107
  children: [/* @__PURE__ */ jsxs("th", {
108
108
  role: "rowheader",
109
109
  scope: "row",
110
- className: cn("px-3 py-2 text-left font-normal", row.permission.group !== void 0 && "pl-6"),
110
+ className: cn("px-3 py-2 text-start font-normal", row.permission.group !== void 0 && "ps-6"),
111
111
  children: [row.permission.label, row.permission.description ? /* @__PURE__ */ jsx("span", {
112
112
  className: "block text-xs text-muted-foreground",
113
113
  children: row.permission.description
@@ -1 +1 @@
1
- {"version":3,"file":"permission-matrix.js","names":[],"sources":["../../../src/components/permission-matrix/permission-matrix.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useId,\n useMemo,\n useState,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n} from \"react\";\n\nimport { Checkbox } from \"@/components/checkbox\";\nimport { cn } from \"@/lib/utils\";\n\nimport {\n cellState,\n countGranted,\n groupPermissions,\n groupState,\n type Grants,\n type Permission,\n type Role,\n} from \"./permission-model\";\n\n/**\n * Roles across, permissions down, a checkbox at every crossing.\n *\n * Every admin panel has one and every admin panel builds it, because the\n * hard part is not the checkboxes. It is that a role can inherit from\n * another, so a box can be ticked without anyone having ticked it; that an\n * Owner has everything and none of it can be unticked; that a section of\n * eight permissions wants one control for all of them; and that sixty\n * checkboxes are sixty tab stops unless something is done about it.\n *\n * Something is done about it. This is a grid in the WAI-ARIA sense — one tab\n * stop, arrow keys between cells, Home and End along a row — which is the\n * right call here and was the wrong one for the diff viewer: a diff is read,\n * a matrix is operated. Every checkbox is named by both coordinates, \"Delete\n * projects for Editor\", so a reader arriving by arrow key knows where they\n * are without re-reading the headers.\n *\n * A grant that arrived by inheritance is shown as a checked box that cannot\n * be unchecked here, with the role it came from said beside it and in the\n * box's description. A disabled control would be the obvious rendering, and\n * it would take the box out of the tab order and the arrow-key path, so a\n * keyboard user would step over the one cell whose state needs explaining.\n *\n * Changes are reported, never applied. A group toggle reports every\n * permission it touched in one call, so an application can save it as one\n * change rather than eight.\n */\n\nexport interface PermissionMatrixProps extends Omit<\n ComponentPropsWithRef<\"table\">,\n \"onChange\"\n> {\n /** Names the matrix: \"Permissions for Acme\". */\n label: string;\n roles: Role[];\n permissions: Permission[];\n grants: Grants;\n /**\n * A change to make. Several ids arrive together when a group toggle was\n * used. Omit to render the matrix as a record.\n */\n onChange?: (roleId: string, permissionIds: string[], granted: boolean) => void;\n}\n\ntype MatrixRow =\n | { kind: \"group\"; label: string; permissions: Permission[] }\n | { kind: \"permission\"; permission: Permission };\n\nconst ARROWS: Record<string, [number, number]> = {\n ArrowUp: [-1, 0],\n ArrowDown: [1, 0],\n ArrowLeft: [0, -1],\n ArrowRight: [0, 1],\n};\n\nexport function PermissionMatrix({\n className,\n label,\n roles,\n permissions,\n grants,\n onChange,\n ...props\n}: PermissionMatrixProps) {\n const uid = useId();\n\n const rows = useMemo<MatrixRow[]>(\n () =>\n groupPermissions(permissions).flatMap((group): MatrixRow[] => [\n ...(group.group !== undefined\n ? [{ kind: \"group\" as const, label: group.group, permissions: group.permissions }]\n : []),\n ...group.permissions.map((permission) => ({ kind: \"permission\" as const, permission })),\n ]),\n [permissions],\n );\n\n // One tab stop. The cell that last had focus is the one Tab returns to.\n const [active, setActive] = useState<[number, number]>([0, 0]);\n\n const onKeyDown = (event: KeyboardEvent<HTMLTableElement>) => {\n const target = event.target as HTMLElement;\n const row = Number(target.dataset.row);\n const col = Number(target.dataset.col);\n if (Number.isNaN(row) || Number.isNaN(col)) return;\n\n let next: [number, number] | null = null;\n const arrow = ARROWS[event.key];\n if (arrow) {\n next = [row + arrow[0], col + arrow[1]];\n } else if (event.key === \"Home\") {\n next = event.ctrlKey ? [0, 0] : [row, 0];\n } else if (event.key === \"End\") {\n next = event.ctrlKey ? [rows.length - 1, roles.length - 1] : [row, roles.length - 1];\n }\n if (!next) return;\n\n const [nextRow, nextCol] = next;\n if (nextRow < 0 || nextRow >= rows.length || nextCol < 0 || nextCol >= roles.length) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n const cell = event.currentTarget.querySelector<HTMLElement>(\n `[data-row=\"${String(nextRow)}\"][data-col=\"${String(nextCol)}\"]`,\n );\n cell?.focus();\n };\n\n return (\n <div className=\"relative w-full overflow-x-auto\">\n <table\n data-slot=\"permission-matrix\"\n role=\"grid\"\n aria-label={label}\n aria-readonly={onChange ? undefined : true}\n onKeyDown={onKeyDown}\n className={cn(\"w-full border-collapse text-sm\", className)}\n {...props}\n >\n <thead>\n <tr role=\"row\" className=\"border-b border-border\">\n <th\n role=\"columnheader\"\n scope=\"col\"\n className=\"px-3 py-2 text-left text-xs font-medium\"\n >\n Permission\n </th>\n {roles.map((role) => {\n const granted = countGranted(roles, grants, role, permissions);\n return (\n <th\n key={role.id}\n role=\"columnheader\"\n scope=\"col\"\n className=\"px-3 py-2 text-center text-xs font-medium\"\n >\n {role.label}\n <span className=\"block font-normal text-muted-foreground\">\n {role.locked ? (\n \"all, locked\"\n ) : (\n <>\n {String(granted)}/{String(permissions.length)}\n <span className=\"sr-only\"> granted</span>\n </>\n )}\n </span>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {rows.map((row, rowIndex) =>\n row.kind === \"group\" ? (\n <tr\n key={`group-${row.label}`}\n role=\"row\"\n className=\"border-b border-border bg-muted/40\"\n >\n <th\n role=\"rowheader\"\n scope=\"row\"\n className=\"px-3 py-1.5 text-left text-xs font-medium\"\n >\n {row.label}\n <span className=\"sr-only\">, all</span>\n </th>\n {roles.map((role, colIndex) => (\n <GroupCell\n key={role.id}\n role={role}\n roles={roles}\n grants={grants}\n group={row.label}\n permissions={row.permissions}\n position={[rowIndex, colIndex]}\n active={active[0] === rowIndex && active[1] === colIndex}\n onActivate={setActive}\n onChange={onChange}\n />\n ))}\n </tr>\n ) : (\n <tr\n key={row.permission.id}\n role=\"row\"\n className=\"border-b border-border last:border-0 hover:bg-muted/30\"\n >\n <th\n role=\"rowheader\"\n scope=\"row\"\n className={cn(\n \"px-3 py-2 text-left font-normal\",\n row.permission.group !== undefined && \"pl-6\",\n )}\n >\n {row.permission.label}\n {row.permission.description ? (\n <span className=\"block text-xs text-muted-foreground\">\n {row.permission.description}\n </span>\n ) : null}\n </th>\n {roles.map((role, colIndex) => (\n <PermissionCell\n key={role.id}\n id={`${uid}-${role.id}-${row.permission.id}`}\n role={role}\n roles={roles}\n grants={grants}\n permission={row.permission}\n position={[rowIndex, colIndex]}\n active={active[0] === rowIndex && active[1] === colIndex}\n onActivate={setActive}\n onChange={onChange}\n />\n ))}\n </tr>\n ),\n )}\n </tbody>\n </table>\n </div>\n );\n}\n\ninterface CellProps {\n role: Role;\n roles: Role[];\n grants: Grants;\n position: [number, number];\n active: boolean;\n onActivate: (position: [number, number]) => void;\n onChange?: (roleId: string, permissionIds: string[], granted: boolean) => void;\n}\n\nfunction PermissionCell({\n id,\n role,\n roles,\n grants,\n permission,\n position,\n active,\n onActivate,\n onChange,\n}: CellProps & { id: string; permission: Permission }) {\n const state = cellState(roles, grants, role, permission.id);\n const fixed = state.fixed || !onChange;\n const noteId = `${id}-note`;\n\n const note = role.locked\n ? `${role.label} has every permission; this cannot be changed.`\n : state.inheritedFrom\n ? `Inherited from ${state.inheritedFrom.label}.`\n : null;\n\n return (\n <td\n role=\"gridcell\"\n data-slot=\"permission-cell\"\n data-granted={state.granted || undefined}\n data-inherited={state.inheritedFrom ? \"\" : undefined}\n className=\"px-3 py-2 text-center align-middle\"\n >\n <Checkbox\n id={id}\n checked={state.granted}\n aria-label={`${permission.label} for ${role.label}`}\n aria-describedby={note ? noteId : undefined}\n // Fixed cells stay focusable, so the arrow-key path and the tab order\n // do not step over the one cell whose state needs explaining.\n aria-disabled={fixed || undefined}\n tabIndex={active ? 0 : -1}\n data-row={position[0]}\n data-col={position[1]}\n className={cn(fixed && \"opacity-55\")}\n onFocus={() => {\n onActivate(position);\n }}\n onCheckedChange={(next) => {\n if (fixed) return;\n onChange?.(role.id, [permission.id], next === true);\n }}\n />\n {state.inheritedFrom ? (\n <span id={noteId} className=\"mt-0.5 block text-2xs text-muted-foreground\">\n via {state.inheritedFrom.label}\n </span>\n ) : note ? (\n <span id={noteId} className=\"sr-only\">\n {note}\n </span>\n ) : null}\n </td>\n );\n}\n\nfunction GroupCell({\n role,\n roles,\n grants,\n group,\n permissions,\n position,\n active,\n onActivate,\n onChange,\n}: CellProps & { group: string; permissions: Permission[] }) {\n const ids = permissions.map((permission) => permission.id);\n const state = groupState(roles, grants, role, ids);\n // Only what can actually change here: inherited grants stay either way.\n const changeable = permissions\n .filter((permission) => !cellState(roles, grants, role, permission.id).fixed)\n .map((permission) => permission.id);\n const fixed = role.locked || !onChange || changeable.length === 0;\n\n return (\n <td\n role=\"gridcell\"\n data-slot=\"permission-group-cell\"\n className=\"px-3 py-1.5 text-center align-middle\"\n >\n <Checkbox\n checked={state === \"all\" ? true : state === \"some\" ? \"indeterminate\" : false}\n aria-label={`All ${group} for ${role.label}`}\n aria-disabled={fixed || undefined}\n tabIndex={active ? 0 : -1}\n data-row={position[0]}\n data-col={position[1]}\n className={cn(fixed && \"opacity-55\")}\n onFocus={() => {\n onActivate(position);\n }}\n onCheckedChange={(next) => {\n if (fixed) return;\n onChange?.(role.id, changeable, next === true);\n }}\n />\n </td>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"permission-matrix.js","names":[],"sources":["../../../src/components/permission-matrix/permission-matrix.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useId,\n useMemo,\n useState,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n} from \"react\";\n\nimport { Checkbox } from \"@/components/checkbox\";\nimport { cn } from \"@/lib/utils\";\n\nimport {\n cellState,\n countGranted,\n groupPermissions,\n groupState,\n type Grants,\n type Permission,\n type Role,\n} from \"./permission-model\";\n\n/**\n * Roles across, permissions down, a checkbox at every crossing.\n *\n * Every admin panel has one and every admin panel builds it, because the\n * hard part is not the checkboxes. It is that a role can inherit from\n * another, so a box can be ticked without anyone having ticked it; that an\n * Owner has everything and none of it can be unticked; that a section of\n * eight permissions wants one control for all of them; and that sixty\n * checkboxes are sixty tab stops unless something is done about it.\n *\n * Something is done about it. This is a grid in the WAI-ARIA sense — one tab\n * stop, arrow keys between cells, Home and End along a row — which is the\n * right call here and was the wrong one for the diff viewer: a diff is read,\n * a matrix is operated. Every checkbox is named by both coordinates, \"Delete\n * projects for Editor\", so a reader arriving by arrow key knows where they\n * are without re-reading the headers.\n *\n * A grant that arrived by inheritance is shown as a checked box that cannot\n * be unchecked here, with the role it came from said beside it and in the\n * box's description. A disabled control would be the obvious rendering, and\n * it would take the box out of the tab order and the arrow-key path, so a\n * keyboard user would step over the one cell whose state needs explaining.\n *\n * Changes are reported, never applied. A group toggle reports every\n * permission it touched in one call, so an application can save it as one\n * change rather than eight.\n */\n\nexport interface PermissionMatrixProps extends Omit<\n ComponentPropsWithRef<\"table\">,\n \"onChange\"\n> {\n /** Names the matrix: \"Permissions for Acme\". */\n label: string;\n roles: Role[];\n permissions: Permission[];\n grants: Grants;\n /**\n * A change to make. Several ids arrive together when a group toggle was\n * used. Omit to render the matrix as a record.\n */\n onChange?: (roleId: string, permissionIds: string[], granted: boolean) => void;\n}\n\ntype MatrixRow =\n | { kind: \"group\"; label: string; permissions: Permission[] }\n | { kind: \"permission\"; permission: Permission };\n\nconst ARROWS: Record<string, [number, number]> = {\n ArrowUp: [-1, 0],\n ArrowDown: [1, 0],\n ArrowLeft: [0, -1],\n ArrowRight: [0, 1],\n};\n\nexport function PermissionMatrix({\n className,\n label,\n roles,\n permissions,\n grants,\n onChange,\n ...props\n}: PermissionMatrixProps) {\n const uid = useId();\n\n const rows = useMemo<MatrixRow[]>(\n () =>\n groupPermissions(permissions).flatMap((group): MatrixRow[] => [\n ...(group.group !== undefined\n ? [{ kind: \"group\" as const, label: group.group, permissions: group.permissions }]\n : []),\n ...group.permissions.map((permission) => ({ kind: \"permission\" as const, permission })),\n ]),\n [permissions],\n );\n\n // One tab stop. The cell that last had focus is the one Tab returns to.\n const [active, setActive] = useState<[number, number]>([0, 0]);\n\n const onKeyDown = (event: KeyboardEvent<HTMLTableElement>) => {\n const target = event.target as HTMLElement;\n const row = Number(target.dataset.row);\n const col = Number(target.dataset.col);\n if (Number.isNaN(row) || Number.isNaN(col)) return;\n\n let next: [number, number] | null = null;\n const arrow = ARROWS[event.key];\n if (arrow) {\n next = [row + arrow[0], col + arrow[1]];\n } else if (event.key === \"Home\") {\n next = event.ctrlKey ? [0, 0] : [row, 0];\n } else if (event.key === \"End\") {\n next = event.ctrlKey ? [rows.length - 1, roles.length - 1] : [row, roles.length - 1];\n }\n if (!next) return;\n\n const [nextRow, nextCol] = next;\n if (nextRow < 0 || nextRow >= rows.length || nextCol < 0 || nextCol >= roles.length) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n const cell = event.currentTarget.querySelector<HTMLElement>(\n `[data-row=\"${String(nextRow)}\"][data-col=\"${String(nextCol)}\"]`,\n );\n cell?.focus();\n };\n\n return (\n <div className=\"relative w-full overflow-x-auto\">\n <table\n data-slot=\"permission-matrix\"\n role=\"grid\"\n aria-label={label}\n aria-readonly={onChange ? undefined : true}\n onKeyDown={onKeyDown}\n className={cn(\"w-full border-collapse text-sm\", className)}\n {...props}\n >\n <thead>\n <tr role=\"row\" className=\"border-b border-border\">\n <th\n role=\"columnheader\"\n scope=\"col\"\n className=\"px-3 py-2 text-start text-xs font-medium\"\n >\n Permission\n </th>\n {roles.map((role) => {\n const granted = countGranted(roles, grants, role, permissions);\n return (\n <th\n key={role.id}\n role=\"columnheader\"\n scope=\"col\"\n className=\"px-3 py-2 text-center text-xs font-medium\"\n >\n {role.label}\n <span className=\"block font-normal text-muted-foreground\">\n {role.locked ? (\n \"all, locked\"\n ) : (\n <>\n {String(granted)}/{String(permissions.length)}\n <span className=\"sr-only\"> granted</span>\n </>\n )}\n </span>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {rows.map((row, rowIndex) =>\n row.kind === \"group\" ? (\n <tr\n key={`group-${row.label}`}\n role=\"row\"\n className=\"border-b border-border bg-muted/40\"\n >\n <th\n role=\"rowheader\"\n scope=\"row\"\n className=\"px-3 py-1.5 text-start text-xs font-medium\"\n >\n {row.label}\n <span className=\"sr-only\">, all</span>\n </th>\n {roles.map((role, colIndex) => (\n <GroupCell\n key={role.id}\n role={role}\n roles={roles}\n grants={grants}\n group={row.label}\n permissions={row.permissions}\n position={[rowIndex, colIndex]}\n active={active[0] === rowIndex && active[1] === colIndex}\n onActivate={setActive}\n onChange={onChange}\n />\n ))}\n </tr>\n ) : (\n <tr\n key={row.permission.id}\n role=\"row\"\n className=\"border-b border-border last:border-0 hover:bg-muted/30\"\n >\n <th\n role=\"rowheader\"\n scope=\"row\"\n className={cn(\n \"px-3 py-2 text-start font-normal\",\n row.permission.group !== undefined && \"ps-6\",\n )}\n >\n {row.permission.label}\n {row.permission.description ? (\n <span className=\"block text-xs text-muted-foreground\">\n {row.permission.description}\n </span>\n ) : null}\n </th>\n {roles.map((role, colIndex) => (\n <PermissionCell\n key={role.id}\n id={`${uid}-${role.id}-${row.permission.id}`}\n role={role}\n roles={roles}\n grants={grants}\n permission={row.permission}\n position={[rowIndex, colIndex]}\n active={active[0] === rowIndex && active[1] === colIndex}\n onActivate={setActive}\n onChange={onChange}\n />\n ))}\n </tr>\n ),\n )}\n </tbody>\n </table>\n </div>\n );\n}\n\ninterface CellProps {\n role: Role;\n roles: Role[];\n grants: Grants;\n position: [number, number];\n active: boolean;\n onActivate: (position: [number, number]) => void;\n onChange?: (roleId: string, permissionIds: string[], granted: boolean) => void;\n}\n\nfunction PermissionCell({\n id,\n role,\n roles,\n grants,\n permission,\n position,\n active,\n onActivate,\n onChange,\n}: CellProps & { id: string; permission: Permission }) {\n const state = cellState(roles, grants, role, permission.id);\n const fixed = state.fixed || !onChange;\n const noteId = `${id}-note`;\n\n const note = role.locked\n ? `${role.label} has every permission; this cannot be changed.`\n : state.inheritedFrom\n ? `Inherited from ${state.inheritedFrom.label}.`\n : null;\n\n return (\n <td\n role=\"gridcell\"\n data-slot=\"permission-cell\"\n data-granted={state.granted || undefined}\n data-inherited={state.inheritedFrom ? \"\" : undefined}\n className=\"px-3 py-2 text-center align-middle\"\n >\n <Checkbox\n id={id}\n checked={state.granted}\n aria-label={`${permission.label} for ${role.label}`}\n aria-describedby={note ? noteId : undefined}\n // Fixed cells stay focusable, so the arrow-key path and the tab order\n // do not step over the one cell whose state needs explaining.\n aria-disabled={fixed || undefined}\n tabIndex={active ? 0 : -1}\n data-row={position[0]}\n data-col={position[1]}\n className={cn(fixed && \"opacity-55\")}\n onFocus={() => {\n onActivate(position);\n }}\n onCheckedChange={(next) => {\n if (fixed) return;\n onChange?.(role.id, [permission.id], next === true);\n }}\n />\n {state.inheritedFrom ? (\n <span id={noteId} className=\"mt-0.5 block text-2xs text-muted-foreground\">\n via {state.inheritedFrom.label}\n </span>\n ) : note ? (\n <span id={noteId} className=\"sr-only\">\n {note}\n </span>\n ) : null}\n </td>\n );\n}\n\nfunction GroupCell({\n role,\n roles,\n grants,\n group,\n permissions,\n position,\n active,\n onActivate,\n onChange,\n}: CellProps & { group: string; permissions: Permission[] }) {\n const ids = permissions.map((permission) => permission.id);\n const state = groupState(roles, grants, role, ids);\n // Only what can actually change here: inherited grants stay either way.\n const changeable = permissions\n .filter((permission) => !cellState(roles, grants, role, permission.id).fixed)\n .map((permission) => permission.id);\n const fixed = role.locked || !onChange || changeable.length === 0;\n\n return (\n <td\n role=\"gridcell\"\n data-slot=\"permission-group-cell\"\n className=\"px-3 py-1.5 text-center align-middle\"\n >\n <Checkbox\n checked={state === \"all\" ? true : state === \"some\" ? \"indeterminate\" : false}\n aria-label={`All ${group} for ${role.label}`}\n aria-disabled={fixed || undefined}\n tabIndex={active ? 0 : -1}\n data-row={position[0]}\n data-col={position[1]}\n className={cn(fixed && \"opacity-55\")}\n onFocus={() => {\n onActivate(position);\n }}\n onCheckedChange={(next) => {\n if (fixed) return;\n onChange?.(role.id, changeable, next === true);\n }}\n />\n </td>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PhotoStack, PhotoStackPhoto, PhotoStackProps } from "./photo-stack.js";
2
+ export { PhotoStack, type PhotoStackPhoto, type PhotoStackProps };
@@ -0,0 +1,2 @@
1
+ import { PhotoStack } from "./photo-stack.js";
2
+ export { PhotoStack };
@@ -0,0 +1,17 @@
1
+ import { defineMeta } from "../../registry/schema.js";
2
+ //#region src/components/photo-stack/meta.ts
3
+ const meta = defineMeta({
4
+ name: "photo-stack",
5
+ title: "Photo Stack",
6
+ description: "A pile of photos: flick the top one away and it springs to the back, or tap, key or button through them.",
7
+ category: "display",
8
+ status: "beta",
9
+ dependencies: ["motion", "radix-ui"],
10
+ registryDependencies: ["button"],
11
+ files: ["photo-stack.tsx"],
12
+ a11y: "A carousel region (aria-roledescription=\"carousel\") of labelled slides; only the top photo is exposed, the rest are aria-hidden and inert. The top photo carries a real button (\"Show next photo\") so Enter and Space cycle it; arrow keys move either way (mirrored in right-to-left layouts); optional previous/next buttons give a visible pointer-free path; a polite status region announces the new photo. Dragging is a convenience on top of these and is switched off under reduced motion, where cards also move without animating."
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/photo-stack/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"photo-stack\",\n title: \"Photo Stack\",\n description:\n \"A pile of photos: flick the top one away and it springs to the back, or tap, key or button through them.\",\n category: \"display\",\n status: \"beta\",\n dependencies: [\"motion\", \"radix-ui\"],\n registryDependencies: [\"button\"],\n files: [\"photo-stack.tsx\"],\n a11y:\n 'A carousel region (aria-roledescription=\"carousel\") of labelled slides; only the top photo is exposed, the ' +\n 'rest are aria-hidden and inert. The top photo carries a real button (\"Show next photo\") so Enter and Space ' +\n \"cycle it; arrow keys move either way (mirrored in right-to-left layouts); optional previous/next buttons \" +\n \"give a visible pointer-free path; a polite status region announces the new photo. Dragging is a convenience \" +\n \"on top of these and is switched off under reduced motion, where cards also move without animating.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,UAAU,UAAU;CACnC,sBAAsB,CAAC,QAAQ;CAC/B,OAAO,CAAC,iBAAiB;CACzB,MACE;AAKJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { ComponentPropsWithRef } from "react";
2
+ import "motion/react";
3
+ //#region src/components/photo-stack/photo-stack.d.ts
4
+ interface PhotoStackPhoto {
5
+ id: string;
6
+ src: string;
7
+ /** Describes the photo. Also names the slide when there is no `name`. */
8
+ alt: string;
9
+ /** Caption title over the top photo. */
10
+ name?: string;
11
+ /** Caption line under the name. */
12
+ subtitle?: string;
13
+ }
14
+ interface PhotoStackProps extends ComponentPropsWithRef<"div"> {
15
+ /** The photos. The first starts on top. */
16
+ photos: PhotoStackPhoto[];
17
+ /** The photo on top (controlled). */
18
+ index?: number;
19
+ /** The photo on top at first (uncontrolled). */
20
+ defaultIndex?: number;
21
+ /** Called when another photo comes to the top. */
22
+ onIndexChange?: (index: number) => void;
23
+ /** Shows previous and next buttons under the stack. */
24
+ controls?: boolean;
25
+ }
26
+ /** A draggable pile of photos you flick, tap or key through. */
27
+ declare function PhotoStack({ className, photos, index, defaultIndex, onIndexChange, controls, ...props }: PhotoStackProps): import("react").JSX.Element;
28
+ //#endregion
29
+ export { PhotoStack, PhotoStackPhoto, PhotoStackProps };
30
+ //# sourceMappingURL=photo-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photo-stack.d.ts","names":[],"sources":["../../../src/components/photo-stack/photo-stack.tsx"],"mappings":";;;UA+BiB;EACf;EACA;;EAEA;;EAEA;;EAEA;;UAuCe,wBAAwB;;EAEvC,QAAQ;;EAER;;EAEA;;EAEA,iBAAiB;;EAEjB;;;iBAIc,aACd,WACA,QACA,OACA,cACA,eACA,aACG,SACF,kCAAe,IAAA"}