@nanisoft/prism-ui 0.13.0 → 0.15.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 (943) hide show
  1. package/THIRD-PARTY-NOTICES.md +22 -7
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/blocks/about-01/about.d.ts +296 -0
  4. package/dist/blocks/about-01/about.d.ts.map +1 -0
  5. package/dist/blocks/about-01/about.js +103 -0
  6. package/dist/blocks/about-01/index.d.ts +3 -0
  7. package/dist/blocks/about-01/index.d.ts.map +1 -0
  8. package/dist/blocks/about-01/index.js +1 -0
  9. package/dist/blocks/accept-invite-01/accept-invite.d.ts +324 -0
  10. package/dist/blocks/accept-invite-01/accept-invite.d.ts.map +1 -0
  11. package/dist/blocks/accept-invite-01/accept-invite.js +230 -0
  12. package/dist/blocks/accept-invite-01/index.d.ts +3 -0
  13. package/dist/blocks/accept-invite-01/index.d.ts.map +1 -0
  14. package/dist/blocks/accept-invite-01/index.js +1 -0
  15. package/dist/blocks/account-01/account-01.d.ts +393 -0
  16. package/dist/blocks/account-01/account-01.d.ts.map +1 -0
  17. package/dist/blocks/account-01/account-01.js +215 -0
  18. package/dist/blocks/account-01/index.d.ts +3 -0
  19. package/dist/blocks/account-01/index.d.ts.map +1 -0
  20. package/dist/blocks/account-01/index.js +1 -0
  21. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +271 -0
  22. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -0
  23. package/dist/blocks/activity-feed-01/activity-feed-01.js +185 -0
  24. package/dist/blocks/activity-feed-01/index.d.ts +3 -0
  25. package/dist/blocks/activity-feed-01/index.d.ts.map +1 -0
  26. package/dist/blocks/activity-feed-01/index.js +1 -0
  27. package/dist/blocks/address-book-01/address-book-01.d.ts +312 -0
  28. package/dist/blocks/address-book-01/address-book-01.d.ts.map +1 -0
  29. package/dist/blocks/address-book-01/address-book-01.js +233 -0
  30. package/dist/blocks/address-book-01/index.d.ts +3 -0
  31. package/dist/blocks/address-book-01/index.d.ts.map +1 -0
  32. package/dist/blocks/address-book-01/index.js +1 -0
  33. package/dist/blocks/audit-log-01/audit-log-01.d.ts +333 -0
  34. package/dist/blocks/audit-log-01/audit-log-01.d.ts.map +1 -0
  35. package/dist/blocks/audit-log-01/audit-log-01.js +211 -0
  36. package/dist/blocks/audit-log-01/index.d.ts +3 -0
  37. package/dist/blocks/audit-log-01/index.d.ts.map +1 -0
  38. package/dist/blocks/audit-log-01/index.js +1 -0
  39. package/dist/blocks/auth-form-01/auth-form.d.ts +40 -1
  40. package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
  41. package/dist/blocks/auth-form-01/auth-form.js +26 -3
  42. package/dist/blocks/awards-01/awards.d.ts +156 -0
  43. package/dist/blocks/awards-01/awards.d.ts.map +1 -0
  44. package/dist/blocks/awards-01/awards.js +102 -0
  45. package/dist/blocks/awards-01/index.d.ts +3 -0
  46. package/dist/blocks/awards-01/index.d.ts.map +1 -0
  47. package/dist/blocks/awards-01/index.js +1 -0
  48. package/dist/blocks/backdrop-01/backdrop.d.ts +268 -0
  49. package/dist/blocks/backdrop-01/backdrop.d.ts.map +1 -0
  50. package/dist/blocks/backdrop-01/backdrop.js +170 -0
  51. package/dist/blocks/backdrop-01/index.d.ts +3 -0
  52. package/dist/blocks/backdrop-01/index.d.ts.map +1 -0
  53. package/dist/blocks/backdrop-01/index.js +1 -0
  54. package/dist/blocks/bento-01/bento-01.d.ts +136 -0
  55. package/dist/blocks/bento-01/bento-01.d.ts.map +1 -0
  56. package/dist/blocks/bento-01/bento-01.js +97 -0
  57. package/dist/blocks/bento-01/index.d.ts +3 -0
  58. package/dist/blocks/bento-01/index.d.ts.map +1 -0
  59. package/dist/blocks/bento-01/index.js +1 -0
  60. package/dist/blocks/billing-source-01/billing-source-01.d.ts +379 -0
  61. package/dist/blocks/billing-source-01/billing-source-01.d.ts.map +1 -0
  62. package/dist/blocks/billing-source-01/billing-source-01.js +222 -0
  63. package/dist/blocks/billing-source-01/index.d.ts +3 -0
  64. package/dist/blocks/billing-source-01/index.d.ts.map +1 -0
  65. package/dist/blocks/billing-source-01/index.js +1 -0
  66. package/dist/blocks/bundle-01/bundle.d.ts +387 -0
  67. package/dist/blocks/bundle-01/bundle.d.ts.map +1 -0
  68. package/dist/blocks/bundle-01/bundle.js +153 -0
  69. package/dist/blocks/bundle-01/index.d.ts +3 -0
  70. package/dist/blocks/bundle-01/index.d.ts.map +1 -0
  71. package/dist/blocks/bundle-01/index.js +1 -0
  72. package/dist/blocks/calendar-01/calendar.d.ts +251 -0
  73. package/dist/blocks/calendar-01/calendar.d.ts.map +1 -0
  74. package/dist/blocks/calendar-01/calendar.js +191 -0
  75. package/dist/blocks/calendar-01/index.d.ts +3 -0
  76. package/dist/blocks/calendar-01/index.d.ts.map +1 -0
  77. package/dist/blocks/calendar-01/index.js +1 -0
  78. package/dist/blocks/capacity-01/capacity.d.ts +363 -0
  79. package/dist/blocks/capacity-01/capacity.d.ts.map +1 -0
  80. package/dist/blocks/capacity-01/capacity.js +208 -0
  81. package/dist/blocks/capacity-01/index.d.ts +3 -0
  82. package/dist/blocks/capacity-01/index.d.ts.map +1 -0
  83. package/dist/blocks/capacity-01/index.js +1 -0
  84. package/dist/blocks/careers-01/careers.d.ts +186 -0
  85. package/dist/blocks/careers-01/careers.d.ts.map +1 -0
  86. package/dist/blocks/careers-01/careers.js +83 -0
  87. package/dist/blocks/careers-01/index.d.ts +3 -0
  88. package/dist/blocks/careers-01/index.d.ts.map +1 -0
  89. package/dist/blocks/careers-01/index.js +1 -0
  90. package/dist/blocks/case-studies-01/case-studies.d.ts +192 -0
  91. package/dist/blocks/case-studies-01/case-studies.d.ts.map +1 -0
  92. package/dist/blocks/case-studies-01/case-studies.js +97 -0
  93. package/dist/blocks/case-studies-01/index.d.ts +3 -0
  94. package/dist/blocks/case-studies-01/index.d.ts.map +1 -0
  95. package/dist/blocks/case-studies-01/index.js +1 -0
  96. package/dist/blocks/case-study-01/case-study.d.ts +214 -0
  97. package/dist/blocks/case-study-01/case-study.d.ts.map +1 -0
  98. package/dist/blocks/case-study-01/case-study.js +79 -0
  99. package/dist/blocks/case-study-01/index.d.ts +3 -0
  100. package/dist/blocks/case-study-01/index.d.ts.map +1 -0
  101. package/dist/blocks/case-study-01/index.js +1 -0
  102. package/dist/blocks/changelog-01/changelog.d.ts +200 -0
  103. package/dist/blocks/changelog-01/changelog.d.ts.map +1 -0
  104. package/dist/blocks/changelog-01/changelog.js +155 -0
  105. package/dist/blocks/changelog-01/index.d.ts +3 -0
  106. package/dist/blocks/changelog-01/index.d.ts.map +1 -0
  107. package/dist/blocks/changelog-01/index.js +1 -0
  108. package/dist/blocks/chart-card-01/chart-card-01.d.ts +149 -0
  109. package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -0
  110. package/dist/blocks/chart-card-01/chart-card-01.js +81 -0
  111. package/dist/blocks/chart-card-01/index.d.ts +3 -0
  112. package/dist/blocks/chart-card-01/index.d.ts.map +1 -0
  113. package/dist/blocks/chart-card-01/index.js +1 -0
  114. package/dist/blocks/chart-group-01/chart-group-01.d.ts +138 -0
  115. package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -0
  116. package/dist/blocks/chart-group-01/chart-group-01.js +74 -0
  117. package/dist/blocks/chart-group-01/index.d.ts +3 -0
  118. package/dist/blocks/chart-group-01/index.d.ts.map +1 -0
  119. package/dist/blocks/chart-group-01/index.js +1 -0
  120. package/dist/blocks/code-sample-01/code-sample.d.ts +193 -0
  121. package/dist/blocks/code-sample-01/code-sample.d.ts.map +1 -0
  122. package/dist/blocks/code-sample-01/code-sample.js +104 -0
  123. package/dist/blocks/code-sample-01/index.d.ts +3 -0
  124. package/dist/blocks/code-sample-01/index.d.ts.map +1 -0
  125. package/dist/blocks/code-sample-01/index.js +1 -0
  126. package/dist/blocks/community-01/community.d.ts +183 -0
  127. package/dist/blocks/community-01/community.d.ts.map +1 -0
  128. package/dist/blocks/community-01/community.js +102 -0
  129. package/dist/blocks/community-01/index.d.ts +3 -0
  130. package/dist/blocks/community-01/index.d.ts.map +1 -0
  131. package/dist/blocks/community-01/index.js +1 -0
  132. package/dist/blocks/compare-01/compare.d.ts +184 -0
  133. package/dist/blocks/compare-01/compare.d.ts.map +1 -0
  134. package/dist/blocks/compare-01/compare.js +106 -0
  135. package/dist/blocks/compare-01/index.d.ts +3 -0
  136. package/dist/blocks/compare-01/index.d.ts.map +1 -0
  137. package/dist/blocks/compare-01/index.js +1 -0
  138. package/dist/blocks/compliance-01/compliance.d.ts +249 -0
  139. package/dist/blocks/compliance-01/compliance.d.ts.map +1 -0
  140. package/dist/blocks/compliance-01/compliance.js +130 -0
  141. package/dist/blocks/compliance-01/index.d.ts +3 -0
  142. package/dist/blocks/compliance-01/index.d.ts.map +1 -0
  143. package/dist/blocks/compliance-01/index.js +1 -0
  144. package/dist/blocks/consent-01/consent.d.ts +211 -0
  145. package/dist/blocks/consent-01/consent.d.ts.map +1 -0
  146. package/dist/blocks/consent-01/consent.js +101 -0
  147. package/dist/blocks/consent-01/index.d.ts +3 -0
  148. package/dist/blocks/consent-01/index.d.ts.map +1 -0
  149. package/dist/blocks/consent-01/index.js +1 -0
  150. package/dist/blocks/contact-01/contact.d.ts +319 -0
  151. package/dist/blocks/contact-01/contact.d.ts.map +1 -0
  152. package/dist/blocks/contact-01/contact.js +211 -0
  153. package/dist/blocks/contact-01/index.d.ts +3 -0
  154. package/dist/blocks/contact-01/index.d.ts.map +1 -0
  155. package/dist/blocks/contact-01/index.js +1 -0
  156. package/dist/blocks/content-grid-01/content-grid.d.ts +262 -0
  157. package/dist/blocks/content-grid-01/content-grid.d.ts.map +1 -0
  158. package/dist/blocks/content-grid-01/content-grid.js +155 -0
  159. package/dist/blocks/content-grid-01/index.d.ts +3 -0
  160. package/dist/blocks/content-grid-01/index.d.ts.map +1 -0
  161. package/dist/blocks/content-grid-01/index.js +1 -0
  162. package/dist/blocks/cta-01/cta.d.ts +7 -1
  163. package/dist/blocks/cta-01/cta.d.ts.map +1 -1
  164. package/dist/blocks/cta-01/cta.js +11 -2
  165. package/dist/blocks/dashboard-01/dashboard-01.d.ts +247 -0
  166. package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -0
  167. package/dist/blocks/dashboard-01/dashboard-01.js +141 -0
  168. package/dist/blocks/dashboard-01/index.d.ts +3 -0
  169. package/dist/blocks/dashboard-01/index.d.ts.map +1 -0
  170. package/dist/blocks/dashboard-01/index.js +1 -0
  171. package/dist/blocks/data-table-01/data-table.d.ts +12 -1
  172. package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
  173. package/dist/blocks/data-table-01/data-table.js +8 -5
  174. package/dist/blocks/delivery-01/delivery.d.ts +343 -0
  175. package/dist/blocks/delivery-01/delivery.d.ts.map +1 -0
  176. package/dist/blocks/delivery-01/delivery.js +212 -0
  177. package/dist/blocks/delivery-01/index.d.ts +3 -0
  178. package/dist/blocks/delivery-01/index.d.ts.map +1 -0
  179. package/dist/blocks/delivery-01/index.js +1 -0
  180. package/dist/blocks/directory-01/directory-01.d.ts +316 -0
  181. package/dist/blocks/directory-01/directory-01.d.ts.map +1 -0
  182. package/dist/blocks/directory-01/directory-01.js +252 -0
  183. package/dist/blocks/directory-01/index.d.ts +3 -0
  184. package/dist/blocks/directory-01/index.d.ts.map +1 -0
  185. package/dist/blocks/directory-01/index.js +1 -0
  186. package/dist/blocks/download-01/download.d.ts +261 -0
  187. package/dist/blocks/download-01/download.d.ts.map +1 -0
  188. package/dist/blocks/download-01/download.js +115 -0
  189. package/dist/blocks/download-01/index.d.ts +3 -0
  190. package/dist/blocks/download-01/index.d.ts.map +1 -0
  191. package/dist/blocks/download-01/index.js +1 -0
  192. package/dist/blocks/faq-01/faq.d.ts +128 -0
  193. package/dist/blocks/faq-01/faq.d.ts.map +1 -0
  194. package/dist/blocks/faq-01/faq.js +53 -0
  195. package/dist/blocks/faq-01/index.d.ts +3 -0
  196. package/dist/blocks/faq-01/index.d.ts.map +1 -0
  197. package/dist/blocks/faq-01/index.js +1 -0
  198. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts +158 -0
  199. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts.map +1 -0
  200. package/dist/blocks/feature-rows-01/feature-rows-01.js +81 -0
  201. package/dist/blocks/feature-rows-01/index.d.ts +3 -0
  202. package/dist/blocks/feature-rows-01/index.d.ts.map +1 -0
  203. package/dist/blocks/feature-rows-01/index.js +1 -0
  204. package/dist/blocks/feedback-01/feedback.d.ts +235 -0
  205. package/dist/blocks/feedback-01/feedback.d.ts.map +1 -0
  206. package/dist/blocks/feedback-01/feedback.js +113 -0
  207. package/dist/blocks/feedback-01/index.d.ts +3 -0
  208. package/dist/blocks/feedback-01/index.d.ts.map +1 -0
  209. package/dist/blocks/feedback-01/index.js +1 -0
  210. package/dist/blocks/field-map-01/field-map.d.ts +247 -0
  211. package/dist/blocks/field-map-01/field-map.d.ts.map +1 -0
  212. package/dist/blocks/field-map-01/field-map.js +183 -0
  213. package/dist/blocks/field-map-01/index.d.ts +3 -0
  214. package/dist/blocks/field-map-01/index.d.ts.map +1 -0
  215. package/dist/blocks/field-map-01/index.js +1 -0
  216. package/dist/blocks/forgot-password-01/forgot-password.d.ts +288 -0
  217. package/dist/blocks/forgot-password-01/forgot-password.d.ts.map +1 -0
  218. package/dist/blocks/forgot-password-01/forgot-password.js +190 -0
  219. package/dist/blocks/forgot-password-01/index.d.ts +3 -0
  220. package/dist/blocks/forgot-password-01/index.d.ts.map +1 -0
  221. package/dist/blocks/forgot-password-01/index.js +1 -0
  222. package/dist/blocks/gallery-01/gallery.d.ts +208 -0
  223. package/dist/blocks/gallery-01/gallery.d.ts.map +1 -0
  224. package/dist/blocks/gallery-01/gallery.js +174 -0
  225. package/dist/blocks/gallery-01/index.d.ts +3 -0
  226. package/dist/blocks/gallery-01/index.d.ts.map +1 -0
  227. package/dist/blocks/gallery-01/index.js +1 -0
  228. package/dist/blocks/gantt-01/gantt.d.ts +290 -0
  229. package/dist/blocks/gantt-01/gantt.d.ts.map +1 -0
  230. package/dist/blocks/gantt-01/gantt.js +224 -0
  231. package/dist/blocks/gantt-01/index.d.ts +3 -0
  232. package/dist/blocks/gantt-01/index.d.ts.map +1 -0
  233. package/dist/blocks/gantt-01/index.js +1 -0
  234. package/dist/blocks/handoff-01/handoff-01.d.ts +326 -0
  235. package/dist/blocks/handoff-01/handoff-01.d.ts.map +1 -0
  236. package/dist/blocks/handoff-01/handoff-01.js +180 -0
  237. package/dist/blocks/handoff-01/index.d.ts +3 -0
  238. package/dist/blocks/handoff-01/index.d.ts.map +1 -0
  239. package/dist/blocks/handoff-01/index.js +1 -0
  240. package/dist/blocks/help-01/help.d.ts +254 -0
  241. package/dist/blocks/help-01/help.d.ts.map +1 -0
  242. package/dist/blocks/help-01/help.js +188 -0
  243. package/dist/blocks/help-01/index.d.ts +3 -0
  244. package/dist/blocks/help-01/index.d.ts.map +1 -0
  245. package/dist/blocks/help-01/index.js +1 -0
  246. package/dist/blocks/hero-01/hero.d.ts +105 -34
  247. package/dist/blocks/hero-01/hero.d.ts.map +1 -1
  248. package/dist/blocks/hero-01/hero.js +23 -15
  249. package/dist/blocks/hero-01/index.d.ts +1 -1
  250. package/dist/blocks/hero-01/index.d.ts.map +1 -1
  251. package/dist/blocks/hero-02/hero-02.d.ts +244 -0
  252. package/dist/blocks/hero-02/hero-02.d.ts.map +1 -0
  253. package/dist/blocks/hero-02/hero-02.js +87 -0
  254. package/dist/blocks/hero-02/index.d.ts +3 -0
  255. package/dist/blocks/hero-02/index.d.ts.map +1 -0
  256. package/dist/blocks/hero-02/index.js +1 -0
  257. package/dist/blocks/hero-03/hero-03.d.ts +247 -0
  258. package/dist/blocks/hero-03/hero-03.d.ts.map +1 -0
  259. package/dist/blocks/hero-03/hero-03.js +93 -0
  260. package/dist/blocks/hero-03/index.d.ts +3 -0
  261. package/dist/blocks/hero-03/index.d.ts.map +1 -0
  262. package/dist/blocks/hero-03/index.js +1 -0
  263. package/dist/blocks/history-01/history-01.d.ts +414 -0
  264. package/dist/blocks/history-01/history-01.d.ts.map +1 -0
  265. package/dist/blocks/history-01/history-01.js +285 -0
  266. package/dist/blocks/history-01/index.d.ts +3 -0
  267. package/dist/blocks/history-01/index.d.ts.map +1 -0
  268. package/dist/blocks/history-01/index.js +1 -0
  269. package/dist/blocks/inbox-01/inbox.d.ts +349 -0
  270. package/dist/blocks/inbox-01/inbox.d.ts.map +1 -0
  271. package/dist/blocks/inbox-01/inbox.js +244 -0
  272. package/dist/blocks/inbox-01/index.d.ts +3 -0
  273. package/dist/blocks/inbox-01/index.d.ts.map +1 -0
  274. package/dist/blocks/inbox-01/index.js +1 -0
  275. package/dist/blocks/index.d.ts +203 -0
  276. package/dist/blocks/index.d.ts.map +1 -1
  277. package/dist/blocks/index.js +118 -0
  278. package/dist/blocks/industries-01/index.d.ts +3 -0
  279. package/dist/blocks/industries-01/index.d.ts.map +1 -0
  280. package/dist/blocks/industries-01/index.js +1 -0
  281. package/dist/blocks/industries-01/industries.d.ts +164 -0
  282. package/dist/blocks/industries-01/industries.d.ts.map +1 -0
  283. package/dist/blocks/industries-01/industries.js +96 -0
  284. package/dist/blocks/intake-01/index.d.ts +3 -0
  285. package/dist/blocks/intake-01/index.d.ts.map +1 -0
  286. package/dist/blocks/intake-01/index.js +1 -0
  287. package/dist/blocks/intake-01/intake-01.d.ts +305 -0
  288. package/dist/blocks/intake-01/intake-01.d.ts.map +1 -0
  289. package/dist/blocks/intake-01/intake-01.js +178 -0
  290. package/dist/blocks/integration-01/index.d.ts +3 -0
  291. package/dist/blocks/integration-01/index.d.ts.map +1 -0
  292. package/dist/blocks/integration-01/index.js +1 -0
  293. package/dist/blocks/integration-01/integration.d.ts +226 -0
  294. package/dist/blocks/integration-01/integration.d.ts.map +1 -0
  295. package/dist/blocks/integration-01/integration.js +170 -0
  296. package/dist/blocks/invite-user-01/index.d.ts +3 -0
  297. package/dist/blocks/invite-user-01/index.d.ts.map +1 -0
  298. package/dist/blocks/invite-user-01/index.js +1 -0
  299. package/dist/blocks/invite-user-01/invite-user.d.ts +317 -0
  300. package/dist/blocks/invite-user-01/invite-user.d.ts.map +1 -0
  301. package/dist/blocks/invite-user-01/invite-user.js +228 -0
  302. package/dist/blocks/issue-detail-01/index.d.ts +3 -0
  303. package/dist/blocks/issue-detail-01/index.d.ts.map +1 -0
  304. package/dist/blocks/issue-detail-01/index.js +1 -0
  305. package/dist/blocks/issue-detail-01/issue-detail.d.ts +355 -0
  306. package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -0
  307. package/dist/blocks/issue-detail-01/issue-detail.js +187 -0
  308. package/dist/blocks/issue-list-01/index.d.ts +3 -0
  309. package/dist/blocks/issue-list-01/index.d.ts.map +1 -0
  310. package/dist/blocks/issue-list-01/index.js +1 -0
  311. package/dist/blocks/issue-list-01/issue-list.d.ts +298 -0
  312. package/dist/blocks/issue-list-01/issue-list.d.ts.map +1 -0
  313. package/dist/blocks/issue-list-01/issue-list.js +284 -0
  314. package/dist/blocks/kanban-01/index.d.ts +3 -0
  315. package/dist/blocks/kanban-01/index.d.ts.map +1 -0
  316. package/dist/blocks/kanban-01/index.js +1 -0
  317. package/dist/blocks/kanban-01/kanban.d.ts +278 -0
  318. package/dist/blocks/kanban-01/kanban.d.ts.map +1 -0
  319. package/dist/blocks/kanban-01/kanban.js +144 -0
  320. package/dist/blocks/leaderboard-01/index.d.ts +3 -0
  321. package/dist/blocks/leaderboard-01/index.d.ts.map +1 -0
  322. package/dist/blocks/leaderboard-01/index.js +1 -0
  323. package/dist/blocks/leaderboard-01/leaderboard.d.ts +250 -0
  324. package/dist/blocks/leaderboard-01/leaderboard.d.ts.map +1 -0
  325. package/dist/blocks/leaderboard-01/leaderboard.js +121 -0
  326. package/dist/blocks/login-01/index.d.ts +3 -0
  327. package/dist/blocks/login-01/index.d.ts.map +1 -0
  328. package/dist/blocks/login-01/index.js +1 -0
  329. package/dist/blocks/login-01/login-01.d.ts +356 -0
  330. package/dist/blocks/login-01/login-01.d.ts.map +1 -0
  331. package/dist/blocks/login-01/login-01.js +249 -0
  332. package/dist/blocks/logo-cloud-01/index.d.ts +3 -0
  333. package/dist/blocks/logo-cloud-01/index.d.ts.map +1 -0
  334. package/dist/blocks/logo-cloud-01/index.js +1 -0
  335. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts +181 -0
  336. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts.map +1 -0
  337. package/dist/blocks/logo-cloud-01/logo-cloud.js +118 -0
  338. package/dist/blocks/magic-link-01/index.d.ts +3 -0
  339. package/dist/blocks/magic-link-01/index.d.ts.map +1 -0
  340. package/dist/blocks/magic-link-01/index.js +1 -0
  341. package/dist/blocks/magic-link-01/magic-link-01.d.ts +367 -0
  342. package/dist/blocks/magic-link-01/magic-link-01.d.ts.map +1 -0
  343. package/dist/blocks/magic-link-01/magic-link-01.js +233 -0
  344. package/dist/blocks/member-list-01/index.d.ts +3 -0
  345. package/dist/blocks/member-list-01/index.d.ts.map +1 -0
  346. package/dist/blocks/member-list-01/index.js +1 -0
  347. package/dist/blocks/member-list-01/member-list.d.ts +192 -0
  348. package/dist/blocks/member-list-01/member-list.d.ts.map +1 -0
  349. package/dist/blocks/member-list-01/member-list.js +142 -0
  350. package/dist/blocks/milestone-timeline-01/index.d.ts +3 -0
  351. package/dist/blocks/milestone-timeline-01/index.d.ts.map +1 -0
  352. package/dist/blocks/milestone-timeline-01/index.js +1 -0
  353. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts +217 -0
  354. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts.map +1 -0
  355. package/dist/blocks/milestone-timeline-01/milestone-timeline.js +173 -0
  356. package/dist/blocks/newsletter-01/index.d.ts +3 -0
  357. package/dist/blocks/newsletter-01/index.d.ts.map +1 -0
  358. package/dist/blocks/newsletter-01/index.js +1 -0
  359. package/dist/blocks/newsletter-01/newsletter.d.ts +216 -0
  360. package/dist/blocks/newsletter-01/newsletter.d.ts.map +1 -0
  361. package/dist/blocks/newsletter-01/newsletter.js +102 -0
  362. package/dist/blocks/notification-center-01/index.d.ts +3 -0
  363. package/dist/blocks/notification-center-01/index.d.ts.map +1 -0
  364. package/dist/blocks/notification-center-01/index.js +1 -0
  365. package/dist/blocks/notification-center-01/notification-center-01.d.ts +341 -0
  366. package/dist/blocks/notification-center-01/notification-center-01.d.ts.map +1 -0
  367. package/dist/blocks/notification-center-01/notification-center-01.js +203 -0
  368. package/dist/blocks/offer-01/index.d.ts +3 -0
  369. package/dist/blocks/offer-01/index.d.ts.map +1 -0
  370. package/dist/blocks/offer-01/index.js +1 -0
  371. package/dist/blocks/offer-01/offer.d.ts +139 -0
  372. package/dist/blocks/offer-01/offer.d.ts.map +1 -0
  373. package/dist/blocks/offer-01/offer.js +81 -0
  374. package/dist/blocks/offering-01/index.d.ts +3 -0
  375. package/dist/blocks/offering-01/index.d.ts.map +1 -0
  376. package/dist/blocks/offering-01/index.js +1 -0
  377. package/dist/blocks/offering-01/offering.d.ts +245 -0
  378. package/dist/blocks/offering-01/offering.d.ts.map +1 -0
  379. package/dist/blocks/offering-01/offering.js +144 -0
  380. package/dist/blocks/offering-categories-01/index.d.ts +3 -0
  381. package/dist/blocks/offering-categories-01/index.d.ts.map +1 -0
  382. package/dist/blocks/offering-categories-01/index.js +1 -0
  383. package/dist/blocks/offering-categories-01/offering-categories.d.ts +248 -0
  384. package/dist/blocks/offering-categories-01/offering-categories.d.ts.map +1 -0
  385. package/dist/blocks/offering-categories-01/offering-categories.js +153 -0
  386. package/dist/blocks/offering-list-01/index.d.ts +3 -0
  387. package/dist/blocks/offering-list-01/index.d.ts.map +1 -0
  388. package/dist/blocks/offering-list-01/index.js +1 -0
  389. package/dist/blocks/offering-list-01/offering-list.d.ts +362 -0
  390. package/dist/blocks/offering-list-01/offering-list.d.ts.map +1 -0
  391. package/dist/blocks/offering-list-01/offering-list.js +366 -0
  392. package/dist/blocks/onboarding-01/index.d.ts +3 -0
  393. package/dist/blocks/onboarding-01/index.d.ts.map +1 -0
  394. package/dist/blocks/onboarding-01/index.js +1 -0
  395. package/dist/blocks/onboarding-01/onboarding.d.ts +199 -0
  396. package/dist/blocks/onboarding-01/onboarding.d.ts.map +1 -0
  397. package/dist/blocks/onboarding-01/onboarding.js +182 -0
  398. package/dist/blocks/ops-checklist-01/index.d.ts +3 -0
  399. package/dist/blocks/ops-checklist-01/index.d.ts.map +1 -0
  400. package/dist/blocks/ops-checklist-01/index.js +1 -0
  401. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts +308 -0
  402. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts.map +1 -0
  403. package/dist/blocks/ops-checklist-01/ops-checklist-01.js +165 -0
  404. package/dist/blocks/page-header-01/index.d.ts +1 -1
  405. package/dist/blocks/page-header-01/index.d.ts.map +1 -1
  406. package/dist/blocks/page-header-01/page-header.d.ts +124 -11
  407. package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
  408. package/dist/blocks/page-header-01/page-header.js +25 -9
  409. package/dist/blocks/passkey-01/index.d.ts +3 -0
  410. package/dist/blocks/passkey-01/index.d.ts.map +1 -0
  411. package/dist/blocks/passkey-01/index.js +1 -0
  412. package/dist/blocks/passkey-01/passkey-01.d.ts +334 -0
  413. package/dist/blocks/passkey-01/passkey-01.d.ts.map +1 -0
  414. package/dist/blocks/passkey-01/passkey-01.js +192 -0
  415. package/dist/blocks/permission-matrix-01/index.d.ts +3 -0
  416. package/dist/blocks/permission-matrix-01/index.d.ts.map +1 -0
  417. package/dist/blocks/permission-matrix-01/index.js +1 -0
  418. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts +282 -0
  419. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts.map +1 -0
  420. package/dist/blocks/permission-matrix-01/permission-matrix.js +173 -0
  421. package/dist/blocks/pricing-01/index.d.ts +1 -0
  422. package/dist/blocks/pricing-01/index.d.ts.map +1 -1
  423. package/dist/blocks/pricing-01/pricing.d.ts +118 -1
  424. package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
  425. package/dist/blocks/pricing-01/pricing.js +9 -2
  426. package/dist/blocks/pricing-compare-01/index.d.ts +3 -0
  427. package/dist/blocks/pricing-compare-01/index.d.ts.map +1 -0
  428. package/dist/blocks/pricing-compare-01/index.js +1 -0
  429. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts +277 -0
  430. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts.map +1 -0
  431. package/dist/blocks/pricing-compare-01/pricing-compare.js +126 -0
  432. package/dist/blocks/project-01/index.d.ts +3 -0
  433. package/dist/blocks/project-01/index.d.ts.map +1 -0
  434. package/dist/blocks/project-01/index.js +1 -0
  435. package/dist/blocks/project-01/project.d.ts +323 -0
  436. package/dist/blocks/project-01/project.d.ts.map +1 -0
  437. package/dist/blocks/project-01/project.js +247 -0
  438. package/dist/blocks/project-dashboard-01/index.d.ts +3 -0
  439. package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -0
  440. package/dist/blocks/project-dashboard-01/index.js +1 -0
  441. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +200 -0
  442. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -0
  443. package/dist/blocks/project-dashboard-01/project-dashboard.js +124 -0
  444. package/dist/blocks/project-list-01/index.d.ts +3 -0
  445. package/dist/blocks/project-list-01/index.d.ts.map +1 -0
  446. package/dist/blocks/project-list-01/index.js +1 -0
  447. package/dist/blocks/project-list-01/project-list.d.ts +301 -0
  448. package/dist/blocks/project-list-01/project-list.d.ts.map +1 -0
  449. package/dist/blocks/project-list-01/project-list.js +305 -0
  450. package/dist/blocks/provisioning-01/index.d.ts +3 -0
  451. package/dist/blocks/provisioning-01/index.d.ts.map +1 -0
  452. package/dist/blocks/provisioning-01/index.js +1 -0
  453. package/dist/blocks/provisioning-01/provisioning.d.ts +357 -0
  454. package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -0
  455. package/dist/blocks/provisioning-01/provisioning.js +230 -0
  456. package/dist/blocks/quick-view-01/index.d.ts +3 -0
  457. package/dist/blocks/quick-view-01/index.d.ts.map +1 -0
  458. package/dist/blocks/quick-view-01/index.js +1 -0
  459. package/dist/blocks/quick-view-01/quick-view.d.ts +215 -0
  460. package/dist/blocks/quick-view-01/quick-view.d.ts.map +1 -0
  461. package/dist/blocks/quick-view-01/quick-view.js +136 -0
  462. package/dist/blocks/rate-card-01/index.d.ts +3 -0
  463. package/dist/blocks/rate-card-01/index.d.ts.map +1 -0
  464. package/dist/blocks/rate-card-01/index.js +1 -0
  465. package/dist/blocks/rate-card-01/rate-card.d.ts +184 -0
  466. package/dist/blocks/rate-card-01/rate-card.d.ts.map +1 -0
  467. package/dist/blocks/rate-card-01/rate-card.js +79 -0
  468. package/dist/blocks/reset-password-01/index.d.ts +3 -0
  469. package/dist/blocks/reset-password-01/index.d.ts.map +1 -0
  470. package/dist/blocks/reset-password-01/index.js +1 -0
  471. package/dist/blocks/reset-password-01/reset-password.d.ts +276 -0
  472. package/dist/blocks/reset-password-01/reset-password.d.ts.map +1 -0
  473. package/dist/blocks/reset-password-01/reset-password.js +175 -0
  474. package/dist/blocks/resource-list-01/index.d.ts +3 -0
  475. package/dist/blocks/resource-list-01/index.d.ts.map +1 -0
  476. package/dist/blocks/resource-list-01/index.js +1 -0
  477. package/dist/blocks/resource-list-01/resource-list.d.ts +237 -0
  478. package/dist/blocks/resource-list-01/resource-list.d.ts.map +1 -0
  479. package/dist/blocks/resource-list-01/resource-list.js +154 -0
  480. package/dist/blocks/retention-01/index.d.ts +3 -0
  481. package/dist/blocks/retention-01/index.d.ts.map +1 -0
  482. package/dist/blocks/retention-01/index.js +1 -0
  483. package/dist/blocks/retention-01/retention.d.ts +255 -0
  484. package/dist/blocks/retention-01/retention.d.ts.map +1 -0
  485. package/dist/blocks/retention-01/retention.js +145 -0
  486. package/dist/blocks/run-console-01/run-console.d.ts +14 -1
  487. package/dist/blocks/run-console-01/run-console.d.ts.map +1 -1
  488. package/dist/blocks/run-console-01/run-console.js +3 -2
  489. package/dist/blocks/services-01/index.d.ts +3 -0
  490. package/dist/blocks/services-01/index.d.ts.map +1 -0
  491. package/dist/blocks/services-01/index.js +1 -0
  492. package/dist/blocks/services-01/services.d.ts +159 -0
  493. package/dist/blocks/services-01/services.d.ts.map +1 -0
  494. package/dist/blocks/services-01/services.js +81 -0
  495. package/dist/blocks/settings-integrations-01/index.d.ts +3 -0
  496. package/dist/blocks/settings-integrations-01/index.d.ts.map +1 -0
  497. package/dist/blocks/settings-integrations-01/index.js +1 -0
  498. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts +246 -0
  499. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts.map +1 -0
  500. package/dist/blocks/settings-integrations-01/settings-integrations.js +213 -0
  501. package/dist/blocks/settings-members-01/index.d.ts +3 -0
  502. package/dist/blocks/settings-members-01/index.d.ts.map +1 -0
  503. package/dist/blocks/settings-members-01/index.js +1 -0
  504. package/dist/blocks/settings-members-01/settings-members.d.ts +396 -0
  505. package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -0
  506. package/dist/blocks/settings-members-01/settings-members.js +255 -0
  507. package/dist/blocks/settings-notifications-01/index.d.ts +3 -0
  508. package/dist/blocks/settings-notifications-01/index.d.ts.map +1 -0
  509. package/dist/blocks/settings-notifications-01/index.js +1 -0
  510. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts +270 -0
  511. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts.map +1 -0
  512. package/dist/blocks/settings-notifications-01/settings-notifications.js +202 -0
  513. package/dist/blocks/settings-security-01/index.d.ts +3 -0
  514. package/dist/blocks/settings-security-01/index.d.ts.map +1 -0
  515. package/dist/blocks/settings-security-01/index.js +1 -0
  516. package/dist/blocks/settings-security-01/settings-security.d.ts +439 -0
  517. package/dist/blocks/settings-security-01/settings-security.d.ts.map +1 -0
  518. package/dist/blocks/settings-security-01/settings-security.js +244 -0
  519. package/dist/blocks/shortlist-01/index.d.ts +3 -0
  520. package/dist/blocks/shortlist-01/index.d.ts.map +1 -0
  521. package/dist/blocks/shortlist-01/index.js +1 -0
  522. package/dist/blocks/shortlist-01/shortlist-01.d.ts +337 -0
  523. package/dist/blocks/shortlist-01/shortlist-01.d.ts.map +1 -0
  524. package/dist/blocks/shortlist-01/shortlist-01.js +191 -0
  525. package/dist/blocks/showcase-01/index.d.ts +3 -0
  526. package/dist/blocks/showcase-01/index.d.ts.map +1 -0
  527. package/dist/blocks/showcase-01/index.js +1 -0
  528. package/dist/blocks/showcase-01/showcase-01.d.ts +238 -0
  529. package/dist/blocks/showcase-01/showcase-01.d.ts.map +1 -0
  530. package/dist/blocks/showcase-01/showcase-01.js +84 -0
  531. package/dist/blocks/signup-01/index.d.ts +3 -0
  532. package/dist/blocks/signup-01/index.d.ts.map +1 -0
  533. package/dist/blocks/signup-01/index.js +1 -0
  534. package/dist/blocks/signup-01/signup-01.d.ts +405 -0
  535. package/dist/blocks/signup-01/signup-01.d.ts.map +1 -0
  536. package/dist/blocks/signup-01/signup-01.js +209 -0
  537. package/dist/blocks/site-footer/site-footer.d.ts +18 -1
  538. package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
  539. package/dist/blocks/site-footer/site-footer.js +8 -2
  540. package/dist/blocks/site-header/site-header.js +1 -1
  541. package/dist/blocks/site-navbar/site-navbar.d.ts +37 -3
  542. package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -1
  543. package/dist/blocks/site-navbar/site-navbar.js +33 -4
  544. package/dist/blocks/spec-table-01/index.d.ts +3 -0
  545. package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
  546. package/dist/blocks/spec-table-01/index.js +1 -0
  547. package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
  548. package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
  549. package/dist/blocks/spec-table-01/spec-table.js +217 -0
  550. package/dist/blocks/story-01/index.d.ts +3 -0
  551. package/dist/blocks/story-01/index.d.ts.map +1 -0
  552. package/dist/blocks/story-01/index.js +1 -0
  553. package/dist/blocks/story-01/story.d.ts +153 -0
  554. package/dist/blocks/story-01/story.d.ts.map +1 -0
  555. package/dist/blocks/story-01/story.js +103 -0
  556. package/dist/blocks/summary-01/index.d.ts +3 -0
  557. package/dist/blocks/summary-01/index.d.ts.map +1 -0
  558. package/dist/blocks/summary-01/index.js +1 -0
  559. package/dist/blocks/summary-01/summary.d.ts +300 -0
  560. package/dist/blocks/summary-01/summary.d.ts.map +1 -0
  561. package/dist/blocks/summary-01/summary.js +174 -0
  562. package/dist/blocks/team-01/index.d.ts +3 -0
  563. package/dist/blocks/team-01/index.d.ts.map +1 -0
  564. package/dist/blocks/team-01/index.js +1 -0
  565. package/dist/blocks/team-01/team.d.ts +176 -0
  566. package/dist/blocks/team-01/team.d.ts.map +1 -0
  567. package/dist/blocks/team-01/team.js +117 -0
  568. package/dist/blocks/testimonial-01/index.d.ts +3 -0
  569. package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
  570. package/dist/blocks/testimonial-01/index.js +1 -0
  571. package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
  572. package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
  573. package/dist/blocks/testimonial-01/testimonial.js +87 -0
  574. package/dist/blocks/todo-01/index.d.ts +3 -0
  575. package/dist/blocks/todo-01/index.d.ts.map +1 -0
  576. package/dist/blocks/todo-01/index.js +1 -0
  577. package/dist/blocks/todo-01/todo.d.ts +286 -0
  578. package/dist/blocks/todo-01/todo.d.ts.map +1 -0
  579. package/dist/blocks/todo-01/todo.js +149 -0
  580. package/dist/blocks/trend-01/index.d.ts +3 -0
  581. package/dist/blocks/trend-01/index.d.ts.map +1 -0
  582. package/dist/blocks/trend-01/index.js +1 -0
  583. package/dist/blocks/trend-01/trend.d.ts +184 -0
  584. package/dist/blocks/trend-01/trend.d.ts.map +1 -0
  585. package/dist/blocks/trend-01/trend.js +99 -0
  586. package/dist/blocks/trust-strip-01/index.d.ts +3 -0
  587. package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
  588. package/dist/blocks/trust-strip-01/index.js +1 -0
  589. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
  590. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
  591. package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
  592. package/dist/blocks/two-factor-01/index.d.ts +3 -0
  593. package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
  594. package/dist/blocks/two-factor-01/index.js +1 -0
  595. package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
  596. package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
  597. package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
  598. package/dist/blocks/user-profile-01/index.d.ts +3 -0
  599. package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
  600. package/dist/blocks/user-profile-01/index.js +1 -0
  601. package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
  602. package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
  603. package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
  604. package/dist/blocks/verify-email-01/index.d.ts +3 -0
  605. package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
  606. package/dist/blocks/verify-email-01/index.js +1 -0
  607. package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
  608. package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
  609. package/dist/blocks/verify-email-01/verify-email.js +190 -0
  610. package/dist/blocks/waitlist-01/index.d.ts +3 -0
  611. package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
  612. package/dist/blocks/waitlist-01/index.js +1 -0
  613. package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
  614. package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
  615. package/dist/blocks/waitlist-01/waitlist.js +75 -0
  616. package/dist/catalog.d.ts.map +1 -1
  617. package/dist/catalog.js +1641 -1
  618. package/dist/components/index.d.ts +114 -0
  619. package/dist/components/index.d.ts.map +1 -1
  620. package/dist/components/index.js +134 -0
  621. package/dist/components/ui/accordion.d.ts.map +1 -1
  622. package/dist/components/ui/accordion.js +9 -2
  623. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  624. package/dist/components/ui/alert-dialog.js +22 -4
  625. package/dist/components/ui/announcement.d.ts +169 -0
  626. package/dist/components/ui/announcement.d.ts.map +1 -0
  627. package/dist/components/ui/announcement.js +123 -0
  628. package/dist/components/ui/avatar-group.d.ts +176 -0
  629. package/dist/components/ui/avatar-group.d.ts.map +1 -0
  630. package/dist/components/ui/avatar-group.js +135 -0
  631. package/dist/components/ui/billing-source.d.ts +293 -0
  632. package/dist/components/ui/billing-source.d.ts.map +1 -0
  633. package/dist/components/ui/billing-source.js +136 -0
  634. package/dist/components/ui/button.d.ts +16 -1
  635. package/dist/components/ui/button.d.ts.map +1 -1
  636. package/dist/components/ui/button.js +17 -2
  637. package/dist/components/ui/calendar.d.ts +9 -0
  638. package/dist/components/ui/calendar.d.ts.map +1 -1
  639. package/dist/components/ui/calendar.js +30 -2
  640. package/dist/components/ui/carousel.d.ts +7 -0
  641. package/dist/components/ui/carousel.d.ts.map +1 -1
  642. package/dist/components/ui/carousel.js +58 -1
  643. package/dist/components/ui/chart.d.ts +334 -0
  644. package/dist/components/ui/chart.d.ts.map +1 -0
  645. package/dist/components/ui/chart.js +369 -0
  646. package/dist/components/ui/checkbox.d.ts +10 -0
  647. package/dist/components/ui/checkbox.d.ts.map +1 -1
  648. package/dist/components/ui/checkbox.js +19 -1
  649. package/dist/components/ui/checklist.d.ts +262 -0
  650. package/dist/components/ui/checklist.d.ts.map +1 -0
  651. package/dist/components/ui/checklist.js +135 -0
  652. package/dist/components/ui/choice-card.d.ts +273 -0
  653. package/dist/components/ui/choice-card.d.ts.map +1 -0
  654. package/dist/components/ui/choice-card.js +138 -0
  655. package/dist/components/ui/code-block.d.ts +182 -0
  656. package/dist/components/ui/code-block.d.ts.map +1 -0
  657. package/dist/components/ui/code-block.js +108 -0
  658. package/dist/components/ui/cohort-grid.d.ts +210 -0
  659. package/dist/components/ui/cohort-grid.d.ts.map +1 -0
  660. package/dist/components/ui/cohort-grid.js +202 -0
  661. package/dist/components/ui/collapsible.d.ts +11 -0
  662. package/dist/components/ui/collapsible.d.ts.map +1 -1
  663. package/dist/components/ui/collapsible.js +13 -2
  664. package/dist/components/ui/combobox.d.ts +4 -1
  665. package/dist/components/ui/combobox.d.ts.map +1 -1
  666. package/dist/components/ui/combobox.js +20 -4
  667. package/dist/components/ui/command-palette.d.ts +11 -0
  668. package/dist/components/ui/command-palette.d.ts.map +1 -1
  669. package/dist/components/ui/command-palette.js +49 -3
  670. package/dist/components/ui/contribution-graph.d.ts +156 -0
  671. package/dist/components/ui/contribution-graph.d.ts.map +1 -0
  672. package/dist/components/ui/contribution-graph.js +170 -0
  673. package/dist/components/ui/creatable-combobox.d.ts +153 -0
  674. package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
  675. package/dist/components/ui/creatable-combobox.js +285 -0
  676. package/dist/components/ui/data-toolbar.d.ts +133 -0
  677. package/dist/components/ui/data-toolbar.d.ts.map +1 -0
  678. package/dist/components/ui/data-toolbar.js +67 -0
  679. package/dist/components/ui/date-picker.d.ts.map +1 -1
  680. package/dist/components/ui/date-picker.js +9 -1
  681. package/dist/components/ui/dialog.d.ts +31 -2
  682. package/dist/components/ui/dialog.d.ts.map +1 -1
  683. package/dist/components/ui/dialog.js +40 -6
  684. package/dist/components/ui/drawer.d.ts +270 -0
  685. package/dist/components/ui/drawer.d.ts.map +1 -0
  686. package/dist/components/ui/drawer.js +241 -0
  687. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  688. package/dist/components/ui/dropdown-menu.js +6 -1
  689. package/dist/components/ui/dropzone.d.ts +147 -0
  690. package/dist/components/ui/dropzone.d.ts.map +1 -0
  691. package/dist/components/ui/dropzone.js +141 -0
  692. package/dist/components/ui/emoji-picker.d.ts +328 -0
  693. package/dist/components/ui/emoji-picker.d.ts.map +1 -0
  694. package/dist/components/ui/emoji-picker.js +278 -0
  695. package/dist/components/ui/file-upload.d.ts +152 -0
  696. package/dist/components/ui/file-upload.d.ts.map +1 -0
  697. package/dist/components/ui/file-upload.js +101 -0
  698. package/dist/components/ui/filter-panel.d.ts +164 -0
  699. package/dist/components/ui/filter-panel.d.ts.map +1 -0
  700. package/dist/components/ui/filter-panel.js +91 -0
  701. package/dist/components/ui/form-dialog.d.ts +257 -0
  702. package/dist/components/ui/form-dialog.d.ts.map +1 -0
  703. package/dist/components/ui/form-dialog.js +176 -0
  704. package/dist/components/ui/form-wizard.d.ts +251 -0
  705. package/dist/components/ui/form-wizard.d.ts.map +1 -0
  706. package/dist/components/ui/form-wizard.js +151 -0
  707. package/dist/components/ui/image-list-field.d.ts +232 -0
  708. package/dist/components/ui/image-list-field.d.ts.map +1 -0
  709. package/dist/components/ui/image-list-field.js +168 -0
  710. package/dist/components/ui/image-zoom.d.ts +164 -0
  711. package/dist/components/ui/image-zoom.d.ts.map +1 -0
  712. package/dist/components/ui/image-zoom.js +169 -0
  713. package/dist/components/ui/intensity-grid.d.ts +270 -0
  714. package/dist/components/ui/intensity-grid.d.ts.map +1 -0
  715. package/dist/components/ui/intensity-grid.js +211 -0
  716. package/dist/components/ui/lifecycle-button.d.ts +276 -0
  717. package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
  718. package/dist/components/ui/lifecycle-button.js +144 -0
  719. package/dist/components/ui/lightbox.d.ts +165 -0
  720. package/dist/components/ui/lightbox.d.ts.map +1 -0
  721. package/dist/components/ui/lightbox.js +130 -0
  722. package/dist/components/ui/list-panel.d.ts +288 -0
  723. package/dist/components/ui/list-panel.d.ts.map +1 -0
  724. package/dist/components/ui/list-panel.js +139 -0
  725. package/dist/components/ui/mega-menu.d.ts +244 -0
  726. package/dist/components/ui/mega-menu.d.ts.map +1 -0
  727. package/dist/components/ui/mega-menu.js +97 -0
  728. package/dist/components/ui/menubar.d.ts +9 -0
  729. package/dist/components/ui/menubar.d.ts.map +1 -1
  730. package/dist/components/ui/menubar.js +10 -1
  731. package/dist/components/ui/metric.d.ts +123 -0
  732. package/dist/components/ui/metric.d.ts.map +1 -0
  733. package/dist/components/ui/metric.js +68 -0
  734. package/dist/components/ui/mini-calendar.d.ts +143 -0
  735. package/dist/components/ui/mini-calendar.d.ts.map +1 -0
  736. package/dist/components/ui/mini-calendar.js +261 -0
  737. package/dist/components/ui/mode-toggle.d.ts +102 -0
  738. package/dist/components/ui/mode-toggle.d.ts.map +1 -0
  739. package/dist/components/ui/mode-toggle.js +83 -0
  740. package/dist/components/ui/money-field.d.ts +200 -0
  741. package/dist/components/ui/money-field.d.ts.map +1 -0
  742. package/dist/components/ui/money-field.js +215 -0
  743. package/dist/components/ui/multi-combobox.d.ts +181 -0
  744. package/dist/components/ui/multi-combobox.d.ts.map +1 -0
  745. package/dist/components/ui/multi-combobox.js +297 -0
  746. package/dist/components/ui/native-select.d.ts.map +1 -1
  747. package/dist/components/ui/native-select.js +8 -1
  748. package/dist/components/ui/navigation-menu.d.ts +7 -0
  749. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  750. package/dist/components/ui/navigation-menu.js +8 -1
  751. package/dist/components/ui/nested-tabs.d.ts +188 -0
  752. package/dist/components/ui/nested-tabs.d.ts.map +1 -0
  753. package/dist/components/ui/nested-tabs.js +75 -0
  754. package/dist/components/ui/number-field.d.ts +40 -7
  755. package/dist/components/ui/number-field.d.ts.map +1 -1
  756. package/dist/components/ui/number-field.js +37 -7
  757. package/dist/components/ui/overflow-actions.d.ts +169 -0
  758. package/dist/components/ui/overflow-actions.d.ts.map +1 -0
  759. package/dist/components/ui/overflow-actions.js +266 -0
  760. package/dist/components/ui/pack-swatch.d.ts +177 -0
  761. package/dist/components/ui/pack-swatch.d.ts.map +1 -0
  762. package/dist/components/ui/pack-swatch.js +117 -0
  763. package/dist/components/ui/pack-switcher.d.ts +221 -0
  764. package/dist/components/ui/pack-switcher.d.ts.map +1 -0
  765. package/dist/components/ui/pack-switcher.js +94 -0
  766. package/dist/components/ui/pagination.d.ts +22 -0
  767. package/dist/components/ui/pagination.d.ts.map +1 -1
  768. package/dist/components/ui/pagination.js +23 -1
  769. package/dist/components/ui/password-field.d.ts +122 -0
  770. package/dist/components/ui/password-field.d.ts.map +1 -0
  771. package/dist/components/ui/password-field.js +69 -0
  772. package/dist/components/ui/pill.d.ts +172 -0
  773. package/dist/components/ui/pill.d.ts.map +1 -0
  774. package/dist/components/ui/pill.js +102 -0
  775. package/dist/components/ui/platform-modifier-key.d.ts +129 -0
  776. package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
  777. package/dist/components/ui/platform-modifier-key.js +125 -0
  778. package/dist/components/ui/popover.d.ts.map +1 -1
  779. package/dist/components/ui/popover.js +8 -1
  780. package/dist/components/ui/price.d.ts +144 -0
  781. package/dist/components/ui/price.d.ts.map +1 -0
  782. package/dist/components/ui/price.js +107 -0
  783. package/dist/components/ui/progress.d.ts +55 -1
  784. package/dist/components/ui/progress.d.ts.map +1 -1
  785. package/dist/components/ui/progress.js +110 -2
  786. package/dist/components/ui/prompt-composer.d.ts +302 -0
  787. package/dist/components/ui/prompt-composer.d.ts.map +1 -0
  788. package/dist/components/ui/prompt-composer.js +145 -0
  789. package/dist/components/ui/proportion-list.d.ts +188 -0
  790. package/dist/components/ui/proportion-list.d.ts.map +1 -0
  791. package/dist/components/ui/proportion-list.js +134 -0
  792. package/dist/components/ui/prose.d.ts +23 -0
  793. package/dist/components/ui/prose.d.ts.map +1 -1
  794. package/dist/components/ui/prose.js +30 -1
  795. package/dist/components/ui/radio-group.d.ts +7 -0
  796. package/dist/components/ui/radio-group.d.ts.map +1 -1
  797. package/dist/components/ui/radio-group.js +8 -1
  798. package/dist/components/ui/range-field.d.ts +158 -0
  799. package/dist/components/ui/range-field.d.ts.map +1 -0
  800. package/dist/components/ui/range-field.js +208 -0
  801. package/dist/components/ui/relative-time.d.ts +116 -0
  802. package/dist/components/ui/relative-time.d.ts.map +1 -0
  803. package/dist/components/ui/relative-time.js +67 -0
  804. package/dist/components/ui/reorderable-list.d.ts +262 -0
  805. package/dist/components/ui/reorderable-list.d.ts.map +1 -0
  806. package/dist/components/ui/reorderable-list.js +325 -0
  807. package/dist/components/ui/repeatable-rows.d.ts +241 -0
  808. package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
  809. package/dist/components/ui/repeatable-rows.js +221 -0
  810. package/dist/components/ui/repo-stars.d.ts +165 -0
  811. package/dist/components/ui/repo-stars.d.ts.map +1 -0
  812. package/dist/components/ui/repo-stars.js +92 -0
  813. package/dist/components/ui/resizable.d.ts +24 -0
  814. package/dist/components/ui/resizable.d.ts.map +1 -1
  815. package/dist/components/ui/resizable.js +96 -4
  816. package/dist/components/ui/search-dialog.d.ts +40 -5
  817. package/dist/components/ui/search-dialog.d.ts.map +1 -1
  818. package/dist/components/ui/search-dialog.js +94 -16
  819. package/dist/components/ui/search-field.d.ts +159 -0
  820. package/dist/components/ui/search-field.d.ts.map +1 -0
  821. package/dist/components/ui/search-field.js +98 -0
  822. package/dist/components/ui/section.d.ts +108 -1
  823. package/dist/components/ui/section.d.ts.map +1 -1
  824. package/dist/components/ui/section.js +109 -3
  825. package/dist/components/ui/select.d.ts.map +1 -1
  826. package/dist/components/ui/select.js +9 -1
  827. package/dist/components/ui/selection-toolbar.d.ts +166 -0
  828. package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
  829. package/dist/components/ui/selection-toolbar.js +139 -0
  830. package/dist/components/ui/sidebar.d.ts +29 -0
  831. package/dist/components/ui/sidebar.d.ts.map +1 -1
  832. package/dist/components/ui/sidebar.js +35 -2
  833. package/dist/components/ui/signal-field.d.ts.map +1 -1
  834. package/dist/components/ui/signal-field.js +1 -1
  835. package/dist/components/ui/slider.d.ts +7 -0
  836. package/dist/components/ui/slider.d.ts.map +1 -1
  837. package/dist/components/ui/slider.js +32 -1
  838. package/dist/components/ui/sparkline.d.ts +117 -0
  839. package/dist/components/ui/sparkline.d.ts.map +1 -0
  840. package/dist/components/ui/sparkline.js +113 -0
  841. package/dist/components/ui/spinner.d.ts.map +1 -1
  842. package/dist/components/ui/spinner.js +13 -0
  843. package/dist/components/ui/split-button.d.ts +207 -0
  844. package/dist/components/ui/split-button.d.ts.map +1 -0
  845. package/dist/components/ui/split-button.js +75 -0
  846. package/dist/components/ui/stateful-table.d.ts +345 -0
  847. package/dist/components/ui/stateful-table.d.ts.map +1 -0
  848. package/dist/components/ui/stateful-table.js +169 -0
  849. package/dist/components/ui/status.d.ts +99 -0
  850. package/dist/components/ui/status.d.ts.map +1 -0
  851. package/dist/components/ui/status.js +63 -0
  852. package/dist/components/ui/stepper.d.ts +155 -0
  853. package/dist/components/ui/stepper.d.ts.map +1 -0
  854. package/dist/components/ui/stepper.js +83 -0
  855. package/dist/components/ui/steps.d.ts +141 -0
  856. package/dist/components/ui/steps.d.ts.map +1 -0
  857. package/dist/components/ui/steps.js +128 -0
  858. package/dist/components/ui/switch.d.ts +8 -0
  859. package/dist/components/ui/switch.d.ts.map +1 -1
  860. package/dist/components/ui/switch.js +12 -1
  861. package/dist/components/ui/tabs.d.ts +21 -2
  862. package/dist/components/ui/tabs.d.ts.map +1 -1
  863. package/dist/components/ui/tabs.js +23 -4
  864. package/dist/components/ui/tag-group.d.ts +154 -0
  865. package/dist/components/ui/tag-group.d.ts.map +1 -0
  866. package/dist/components/ui/tag-group.js +111 -0
  867. package/dist/components/ui/task-progress.d.ts +149 -0
  868. package/dist/components/ui/task-progress.d.ts.map +1 -0
  869. package/dist/components/ui/task-progress.js +110 -0
  870. package/dist/components/ui/text-format-toolbar.d.ts +211 -0
  871. package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
  872. package/dist/components/ui/text-format-toolbar.js +186 -0
  873. package/dist/components/ui/timeline.d.ts.map +1 -1
  874. package/dist/components/ui/timeline.js +10 -1
  875. package/dist/components/ui/toast.d.ts +32 -10
  876. package/dist/components/ui/toast.d.ts.map +1 -1
  877. package/dist/components/ui/toast.js +150 -47
  878. package/dist/components/ui/toggle-group.d.ts +14 -5
  879. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  880. package/dist/components/ui/toggle-group.js +15 -1
  881. package/dist/components/ui/toggle.d.ts.map +1 -1
  882. package/dist/components/ui/toggle.js +9 -1
  883. package/dist/components/ui/tree.d.ts +8 -0
  884. package/dist/components/ui/tree.d.ts.map +1 -1
  885. package/dist/components/ui/tree.js +92 -13
  886. package/dist/components/ui/video-player.d.ts +236 -0
  887. package/dist/components/ui/video-player.d.ts.map +1 -0
  888. package/dist/components/ui/video-player.js +72 -0
  889. package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
  890. package/dist/index.d.ts +112 -0
  891. package/dist/index.d.ts.map +1 -1
  892. package/dist/index.js +72 -0
  893. package/dist/lib/utils.d.ts +29 -0
  894. package/dist/lib/utils.d.ts.map +1 -1
  895. package/dist/lib/utils.js +35 -0
  896. package/dist/live/index.d.ts +10 -3
  897. package/dist/live/index.d.ts.map +1 -1
  898. package/dist/live/index.js +12 -3
  899. package/dist/live/run-stream-01/run-stream.js +4 -4
  900. package/dist/live/tool-ledger-01/index.d.ts +3 -0
  901. package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
  902. package/dist/live/tool-ledger-01/index.js +1 -0
  903. package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
  904. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
  905. package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
  906. package/dist/pages/about-page/index.d.ts +306 -0
  907. package/dist/pages/about-page/index.d.ts.map +1 -0
  908. package/dist/pages/about-page/index.js +161 -0
  909. package/dist/pages/careers-page/index.d.ts +288 -0
  910. package/dist/pages/careers-page/index.d.ts.map +1 -0
  911. package/dist/pages/careers-page/index.js +182 -0
  912. package/dist/pages/changelog-page/index.d.ts +255 -0
  913. package/dist/pages/changelog-page/index.d.ts.map +1 -0
  914. package/dist/pages/changelog-page/index.js +86 -0
  915. package/dist/pages/contact-page/index.d.ts +261 -0
  916. package/dist/pages/contact-page/index.d.ts.map +1 -0
  917. package/dist/pages/contact-page/index.js +136 -0
  918. package/dist/pages/docs-shell/docs-shell.d.ts +8 -0
  919. package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
  920. package/dist/pages/docs-shell/docs-shell.js +24 -7
  921. package/dist/pages/error-page/index.d.ts +188 -0
  922. package/dist/pages/error-page/index.d.ts.map +1 -0
  923. package/dist/pages/error-page/index.js +98 -0
  924. package/dist/pages/index.d.ts +10 -0
  925. package/dist/pages/index.d.ts.map +1 -1
  926. package/dist/pages/index.js +14 -0
  927. package/dist/pages/legal-page/index.d.ts +194 -0
  928. package/dist/pages/legal-page/index.d.ts.map +1 -0
  929. package/dist/pages/legal-page/index.js +99 -0
  930. package/dist/pages/onboarding-page/index.d.ts +199 -0
  931. package/dist/pages/onboarding-page/index.d.ts.map +1 -0
  932. package/dist/pages/onboarding-page/index.js +71 -0
  933. package/dist/pages/pricing-page/index.d.ts +286 -0
  934. package/dist/pages/pricing-page/index.d.ts.map +1 -0
  935. package/dist/pages/pricing-page/index.js +139 -0
  936. package/dist/pages/search-page/index.d.ts +305 -0
  937. package/dist/pages/search-page/index.d.ts.map +1 -0
  938. package/dist/pages/search-page/index.js +142 -0
  939. package/dist/pages/status-page/index.d.ts +366 -0
  940. package/dist/pages/status-page/index.d.ts.map +1 -0
  941. package/dist/pages/status-page/index.js +136 -0
  942. package/dist/styles.css +1003 -55
  943. package/package.json +9 -3
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils.js';
3
+ /** The dot each tone is drawn in, from the semantic roles and no other. */
4
+ const TONE_DOT = {
5
+ neutral: 'bg-muted-foreground',
6
+ info: 'bg-brand-ink',
7
+ success: 'bg-success',
8
+ warning: 'bg-warning',
9
+ destructive: 'bg-destructive',
10
+ };
11
+ /** The dot's diameter, per size, as an authored `size-*` step. */
12
+ const SIZE_DOT = {
13
+ sm: 'size-1.5',
14
+ md: 'size-2',
15
+ };
16
+ /** The label's type-scale step, per size, because the pair is sized together. */
17
+ const SIZE_LABEL = {
18
+ sm: 'text-xs',
19
+ md: 'text-sm',
20
+ };
21
+ /**
22
+ * A dot in one of five tones, and the caller's words beside it.
23
+ *
24
+ * **The dot is the tone and the label is the caller's.** The split is the whole
25
+ * design. A Component that knew what the words were would be a Component making
26
+ * a claim about a product it knows nothing about, so it takes the tone and the
27
+ * caller takes the sentence, and neither one can be derived from the other
28
+ * without a lie.
29
+ *
30
+ * **The label is required, and the reason is the colour.** A status with no words
31
+ * is a coloured dot, and a coloured dot is invisible to a reader who cannot
32
+ * separate the tones and unreadable to a screen reader whatever the tones are.
33
+ * There is a Component for the other half of that idea, an indicator that is
34
+ * decorative beside a state the surrounding sentence already names, and it is a
35
+ * different Item because a name it did not receive is a name the consumer has to
36
+ * supply. This one refuses to render unlabelled rather than rendering something
37
+ * every consumer inherits.
38
+ *
39
+ * **The tone is required rather than defaulted.** There is no `neutral` default
40
+ * for the same reason `MeterTone` states, and this Component inherits that
41
+ * argument in full: a tone is a judgement about urgency that only the caller can
42
+ * make, and a Component that picked one would be picking it for four products at
43
+ * once. A default here is the quietest way to ship a claim, because it looks
44
+ * like a convenience and behaves like an opinion.
45
+ *
46
+ * **The tone is never the only signal.** Every dot here is `aria-hidden` and the
47
+ * label carries the meaning, so a reader who cannot separate `warning` from
48
+ * `destructive` still reads which is which. That is also why the tone list can
49
+ * stay as small as it is: a wider list would be a wider set of colours a reader
50
+ * has to learn and a maintainer has to keep true, and the words are what make
51
+ * each one legible. The cost is stated rather than hidden: `warning` is amber and
52
+ * measures about 2.1:1 against the default pack's light background, so on a light
53
+ * surface that one dot is a tint rather than a mark. The label beside it is what
54
+ * carries the state, which is the trade this design makes everywhere.
55
+ *
56
+ * It is a server Component: no hook, no state, and a status that changes is
57
+ * something the surrounding surface re-renders, not something this Component
58
+ * animates.
59
+ */
60
+ function Status({ className, tone, label, size = 'md', ...props }) {
61
+ return (_jsxs("span", { "data-slot": "status", className: cn('inline-flex max-w-full items-center gap-1.5', className), ...props, children: [_jsx("span", { "data-slot": "status-dot", "aria-hidden": "true", className: cn('shrink-0 rounded-full', SIZE_DOT[size], TONE_DOT[tone]) }), _jsx("span", { "data-slot": "status-label", className: SIZE_LABEL[size], children: label })] }));
62
+ }
63
+ export { Status };
@@ -0,0 +1,155 @@
1
+ /**
2
+ * The props the Stepper accepts.
3
+ *
4
+ * A declared interface rather than a forwarded native one. There is no element
5
+ * here to forward to, because the Component draws a group of two controls and
6
+ * owns the bounds both of them read, and a forwarded `onChange` would be a second
7
+ * way to say what a press does.
8
+ */
9
+ export interface StepperProps {
10
+ /**
11
+ * The value both controls move.
12
+ *
13
+ * Required, and a number rather than `number | null`. An empty value is a value
14
+ * `NumberField` reports, because a typed scalar has to be able to say "nothing
15
+ * yet". A pair of controls has nothing to step from: pressing a control on an
16
+ * empty field would have to invent the first value, and a Component that
17
+ * invents one is a Component that has guessed the caller's unit. A caller whose
18
+ * quantity starts empty holds nothing, and reaches for `NumberField`.
19
+ */
20
+ value: number;
21
+ /**
22
+ * Called with the value a press produced.
23
+ *
24
+ * Required, and controlled: the Component holds no value of its own, because a
25
+ * value held inside a control and a value held by the caller are two numbers
26
+ * that disagree the moment a second control reads the same one. The pair here
27
+ * and the `NumberField` beside it are the ordinary case of exactly that.
28
+ */
29
+ onValueChange: (value: number) => void;
30
+ /**
31
+ * The accessible name of the joined pair.
32
+ *
33
+ * Required, and it names the pair rather than either half: a screen reader
34
+ * announces the group first, so "Quantity" is what tells the reader which of the
35
+ * two controls they are in before either of them speaks.
36
+ */
37
+ label: string;
38
+ /**
39
+ * The accessible names of the two controls.
40
+ *
41
+ * Required as a pair, and the words are the caller's because a stepper's
42
+ * controls are icons and an icon has no name. "Increase the number of seats",
43
+ * "Decrease the monthly budget". Prism would get "increase" right for a
44
+ * quantity and wrong for at least one of every four products that install it.
45
+ */
46
+ labels: {
47
+ increment: string;
48
+ decrement: string;
49
+ };
50
+ /**
51
+ * The smallest value the pair will hold.
52
+ *
53
+ * A press below it is refused and the decrement draws itself unavailable, which
54
+ * are two answers to one question: the value never leaves the range, and the
55
+ * reader is told where the range is rather than discovering it by pressing.
56
+ * Without a minimum there is no boundary for the pair to report, so this and
57
+ * `max` are what turn two buttons into a control over a range.
58
+ */
59
+ min?: number;
60
+ /** The largest value the pair will hold. The same contract as `min`. */
61
+ max?: number;
62
+ /**
63
+ * The amount one press changes the value by. @defaultValue 1
64
+ *
65
+ * A step of zero is refused by being a no-op rather than by a diagnostic,
66
+ * because a zero step is a caller's arithmetic mistake rather than a claim this
67
+ * Component would be making on the caller's behalf, and a control that does
68
+ * nothing is already the answer to it.
69
+ */
70
+ step?: number;
71
+ /**
72
+ * Whether the pair ignores interaction.
73
+ *
74
+ * Set natively on both controls, and the reason is the frame rather than a
75
+ * preference. `ButtonGroup` draws the joined shape by suppressing each child's
76
+ * own ring and squaring each child's corners, which leaves no place between the
77
+ * group and the control to put a wrapper that could draw an unavailable state
78
+ * without breaking the join. So the state is the native one, and the cost of
79
+ * that choice is stated on the Component.
80
+ */
81
+ disabled?: boolean;
82
+ /**
83
+ * Whether the value may be read but not moved.
84
+ *
85
+ * Refuses both controls rather than one, because a half-stepper over a value
86
+ * nobody may change is a control with a live half and a dead half, and the
87
+ * reader has no way to tell which half is the wrong one.
88
+ */
89
+ readOnly?: boolean;
90
+ /** Layout only. Changing a Prism-owned visual property from here is prohibited. */
91
+ className?: string;
92
+ }
93
+ /**
94
+ * An increment and a decrement joined as one control, both of them holding the
95
+ * same range.
96
+ *
97
+ * **Two controls that must agree, and the agreement is the Component.** A caller
98
+ * who composes two `Button`s gets two controls that know nothing about each other:
99
+ * one clamps and one does not, or both clamp against different bounds, or the
100
+ * increment is drawn as available one render after the value reaches the maximum.
101
+ * The bounds here are two props read once by both controls and by the handler
102
+ * that computes the next value, so the two halves cannot drift: there is no
103
+ * second place for a bound to be written.
104
+ *
105
+ * **At a boundary the control draws itself unavailable rather than doing nothing
106
+ * silently, and that is the difference between a stepper and two buttons.** A
107
+ * press that quietly fails is the worst outcome available to a control: the
108
+ * reader has pressed something, the page has not changed, and nothing has said
109
+ * why. So the half that has reached its bound is visibly dimmed and is no longer
110
+ * in the tab order, and the reader learns the range from the shape of the control
111
+ * rather than from an error. **The cost is stated rather than smoothed over: a
112
+ * natively disabled control leaves the tab order**, so a stepper sitting at its
113
+ * maximum is one tab stop rather than two. Here that is the right trade and not a
114
+ * compromise, because the only way the value moves is the other half or the
115
+ * caller's own field, so a tab stop on the spent half could tell a reader
116
+ * something and could not let them do anything with it.
117
+ *
118
+ * **The wrapper that would let the pair draw an unavailable state does not exist,
119
+ * and the reason is the composition.** `TextFormatToolbar` dims a command by
120
+ * putting the surface on a wrapper span it owns, because that Component draws its
121
+ * own frame and has room for one. `ButtonGroup` draws this frame instead, and it
122
+ * draws it by suppressing each child's own ring and squaring each child's corners,
123
+ * so anything placed between the group and a control would either lose the join or
124
+ * clip the corners Prism just squared. That is why `disabled` goes to the native
125
+ * attribute here and the JSDoc on `disabled` says so: the state had to be the
126
+ * native one or the shape would have gone.
127
+ *
128
+ * **The pair clamps and does not snap to the step grid, and that is a decision
129
+ * about whose number it is.** A value that is already off the grid, `7` against a
130
+ * `min` of `0` and a `step` of `5`, moves to `10` and not to `5`. Snapping would
131
+ * mean the first press rewrites a number the reader did not touch, which is the
132
+ * same defect `NumberField` avoids by moving from wherever the value is. The cost
133
+ * is that a value can sit off the grid indefinitely, and a caller who needs the
134
+ * grid enforced validates it in their own submit handler.
135
+ *
136
+ * **It is `number-field`'s pair and not `number-field`, and the difference is
137
+ * where the value is typed.** `NumberField` is a typed scalar: it holds the
138
+ * value in an input, the reader can write it, and its two steppers are a
139
+ * secondary route to a number they are not the only way to reach. This is the
140
+ * paired affordance on its own, for a value the caller displays in its own terms:
141
+ * a quantity in a cart line, a count in a table cell, an amount whose unit only
142
+ * the caller knows. The honest cost of that split is that this Component cannot
143
+ * show the value it is changing, because a number without a unit is a guess, so a
144
+ * caller who wants the figure beside the pair draws it themselves. A caller who
145
+ * wants one control to hold the figure and the pair composes `NumberField`, whose
146
+ * steppers are already inside its own frame.
147
+ *
148
+ * **It is a client Component** because both controls call back and the clamps run
149
+ * in the press. What that costs is the price of every interactive control: a
150
+ * static page cannot render a stepper at all, which is correct, because a stepper
151
+ * is a control and a control that cannot be pressed is a picture of one.
152
+ */
153
+ declare function Stepper({ value, onValueChange, label, labels, min, max, step, disabled, readOnly, className, }: StepperProps): import("react").JSX.Element;
154
+ export { Stepper };
155
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../src/components/ui/stepper.tsx"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,iBAAS,OAAO,CAAC,EACf,KAAK,EACL,aAAa,EACb,KAAK,EACL,MAAM,EACN,GAAG,EACH,GAAG,EACH,IAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,SAAS,GACV,EAAE,YAAY,+BA2Cd;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,83 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { MinusIcon, PlusIcon } from 'lucide-react';
4
+ import { Button } from './button.js';
5
+ import { ButtonGroup } from './button-group.js';
6
+ /**
7
+ * An increment and a decrement joined as one control, both of them holding the
8
+ * same range.
9
+ *
10
+ * **Two controls that must agree, and the agreement is the Component.** A caller
11
+ * who composes two `Button`s gets two controls that know nothing about each other:
12
+ * one clamps and one does not, or both clamp against different bounds, or the
13
+ * increment is drawn as available one render after the value reaches the maximum.
14
+ * The bounds here are two props read once by both controls and by the handler
15
+ * that computes the next value, so the two halves cannot drift: there is no
16
+ * second place for a bound to be written.
17
+ *
18
+ * **At a boundary the control draws itself unavailable rather than doing nothing
19
+ * silently, and that is the difference between a stepper and two buttons.** A
20
+ * press that quietly fails is the worst outcome available to a control: the
21
+ * reader has pressed something, the page has not changed, and nothing has said
22
+ * why. So the half that has reached its bound is visibly dimmed and is no longer
23
+ * in the tab order, and the reader learns the range from the shape of the control
24
+ * rather than from an error. **The cost is stated rather than smoothed over: a
25
+ * natively disabled control leaves the tab order**, so a stepper sitting at its
26
+ * maximum is one tab stop rather than two. Here that is the right trade and not a
27
+ * compromise, because the only way the value moves is the other half or the
28
+ * caller's own field, so a tab stop on the spent half could tell a reader
29
+ * something and could not let them do anything with it.
30
+ *
31
+ * **The wrapper that would let the pair draw an unavailable state does not exist,
32
+ * and the reason is the composition.** `TextFormatToolbar` dims a command by
33
+ * putting the surface on a wrapper span it owns, because that Component draws its
34
+ * own frame and has room for one. `ButtonGroup` draws this frame instead, and it
35
+ * draws it by suppressing each child's own ring and squaring each child's corners,
36
+ * so anything placed between the group and a control would either lose the join or
37
+ * clip the corners Prism just squared. That is why `disabled` goes to the native
38
+ * attribute here and the JSDoc on `disabled` says so: the state had to be the
39
+ * native one or the shape would have gone.
40
+ *
41
+ * **The pair clamps and does not snap to the step grid, and that is a decision
42
+ * about whose number it is.** A value that is already off the grid, `7` against a
43
+ * `min` of `0` and a `step` of `5`, moves to `10` and not to `5`. Snapping would
44
+ * mean the first press rewrites a number the reader did not touch, which is the
45
+ * same defect `NumberField` avoids by moving from wherever the value is. The cost
46
+ * is that a value can sit off the grid indefinitely, and a caller who needs the
47
+ * grid enforced validates it in their own submit handler.
48
+ *
49
+ * **It is `number-field`'s pair and not `number-field`, and the difference is
50
+ * where the value is typed.** `NumberField` is a typed scalar: it holds the
51
+ * value in an input, the reader can write it, and its two steppers are a
52
+ * secondary route to a number they are not the only way to reach. This is the
53
+ * paired affordance on its own, for a value the caller displays in its own terms:
54
+ * a quantity in a cart line, a count in a table cell, an amount whose unit only
55
+ * the caller knows. The honest cost of that split is that this Component cannot
56
+ * show the value it is changing, because a number without a unit is a guess, so a
57
+ * caller who wants the figure beside the pair draws it themselves. A caller who
58
+ * wants one control to hold the figure and the pair composes `NumberField`, whose
59
+ * steppers are already inside its own frame.
60
+ *
61
+ * **It is a client Component** because both controls call back and the clamps run
62
+ * in the press. What that costs is the price of every interactive control: a
63
+ * static page cannot render a stepper at all, which is correct, because a stepper
64
+ * is a control and a control that cannot be pressed is a picture of one.
65
+ */
66
+ function Stepper({ value, onValueChange, label, labels, min, max, step = 1, disabled = false, readOnly = false, className, }) {
67
+ const atMin = typeof min === 'number' && value <= min;
68
+ const atMax = typeof max === 'number' && value >= max;
69
+ // One clamp, read by both halves. A pair with two clamps is a pair with two
70
+ // answers, and which of them ran is invisible to the reader and to the caller.
71
+ const move = (direction) => {
72
+ const next = value + step * direction;
73
+ let out = next;
74
+ if (typeof min === 'number' && out < min)
75
+ out = min;
76
+ if (typeof max === 'number' && out > max)
77
+ out = max;
78
+ onValueChange(out);
79
+ };
80
+ const unavailable = disabled || readOnly;
81
+ return (_jsxs(ButtonGroup, { className: className, label: label, children: [_jsx(Button, { "data-slot": "stepper-decrement", type: "button", variant: "outline", size: "icon", disabled: unavailable || atMin, onClick: () => move(-1), "aria-label": labels.decrement, children: _jsx(MinusIcon, { "aria-hidden": "true" }) }), _jsx(Button, { "data-slot": "stepper-increment", type: "button", variant: "outline", size: "icon", disabled: unavailable || atMax, onClick: () => move(1), "aria-label": labels.increment, children: _jsx(PlusIcon, { "aria-hidden": "true" }) })] }));
82
+ }
83
+ export { Stepper };
@@ -0,0 +1,141 @@
1
+ /** Where a step stands relative to the one the reader is on. */
2
+ type StepState = 'complete' | 'current' | 'upcoming';
3
+ /**
4
+ * One step in a sequence.
5
+ *
6
+ * `label` is the step, in the caller's words: a short noun or verb phrase, the
7
+ * thing that is either done or not. `description` is the qualifier, and it is a
8
+ * separate field because the two answer different questions and have different
9
+ * readers. A label is what a reader scanning the rail is looking for, and it has
10
+ * to survive at the width a step gets in a six step row. A description is what a
11
+ * reader who has arrived at this step wants, and it can be a sentence. Putting
12
+ * both in one field means one of the two is truncated, and the one that is
13
+ * truncated is chosen by the width of the container rather than by the reader.
14
+ */
15
+ export type Step = {
16
+ /** The step, in the caller's words. */
17
+ label: string;
18
+ /** The qualifier under the label, for a reader who has arrived here. */
19
+ description?: string;
20
+ /**
21
+ * This step's state, overriding the one derived from its index and `current`.
22
+ *
23
+ * Derived is the default and the override is the exception, in that order,
24
+ * because the derived answer is the one that cannot disagree with `current`.
25
+ * Read the reasoning on `Steps` before passing one; the short version is that
26
+ * an override is a second source of truth about a position, and a second
27
+ * source of truth is what the rest of this package is organised to avoid.
28
+ */
29
+ state?: StepState;
30
+ };
31
+ /** The props the Steps accepts. */
32
+ export interface StepsProps {
33
+ /**
34
+ * The sequence, in order. The order is the claim: a reader who is told these
35
+ * are steps is told there is a route through them, so a list passed in an
36
+ * order the process does not have is a wrong diagram rather than a layout
37
+ * problem.
38
+ */
39
+ steps: readonly Step[];
40
+ /**
41
+ * The index of the step the reader is on, zero based.
42
+ *
43
+ * Required and clamped rather than optional, because a sequence with no
44
+ * position is a list and a list is a different Component. The clamp is what
45
+ * makes a caller's off-by-one harmless: a `current` past the end or below zero
46
+ * lands on the nearest real step rather than on nothing, and the alternative
47
+ * was a throw on a value that is only wrong by one.
48
+ */
49
+ current: number;
50
+ /**
51
+ * The name of the sequence, read over the rail.
52
+ *
53
+ * Optional, and the reason it is optional rather than required is that this
54
+ * Component's whole job is the position: `steps` and `current` are the two
55
+ * facts it cannot do without, and a rail that is one list among many on a
56
+ * page takes its name from the heading the caller has already put above it.
57
+ * A page with two rails that look alike is a page where a reader cannot tell
58
+ * which process they are in, and a checkout and an import both have four
59
+ * steps, so a caller with more than one on a page should pass it. A prop the
60
+ * rail cannot function without would have been the wrong shape here; a prop
61
+ * that removes a genuine ambiguity is the right one, so it is there and
62
+ * nothing on it depends.
63
+ */
64
+ label?: string;
65
+ /** Layout only, exactly as on every Component. */
66
+ className?: string;
67
+ }
68
+ /**
69
+ * An ordered indicator of where a reader is in a sequence.
70
+ *
71
+ * **The state is derived from the index and `current`, and the derivation is the
72
+ * answer that cannot disagree.** A caller's `current` is one number and the
73
+ * states before and after it are consequences of it, so the three can never
74
+ * drift: move `current` and every mark moves with it, and there is no
75
+ * combination of `current` and `state` a caller can pass that says step one is
76
+ * behind them and step two is also behind them. That is not a convenience. The
77
+ * failure is invisible in review and visible only in use, on the screen where
78
+ * the reader is looking at a rail that says they have finished the thing they
79
+ * are doing, and there is no way for a reader to tell which of the two marks is
80
+ * the one to believe.
81
+ *
82
+ * **The override exists for a sequence that is not the process.** A checkout
83
+ * where a reviewer approved a line out of band, a migration where one stage was
84
+ * completed by hand last night, a form where the reader has already answered
85
+ * the question that step two would have asked. In those cases the position and
86
+ * the state are two different facts, and a derived mark would draw a claim the
87
+ * data contradicts. So `state` is a prop, and the cost of it is named: it is a
88
+ * second source of truth about a position, which is the thing this package is
89
+ * organised to avoid, so it is an override per step rather than a mode, and the
90
+ * derivation still decides every step the caller said nothing about. A caller
91
+ * that overrides everything has replaced the rule with their own and gained
92
+ * nothing but the type.
93
+ *
94
+ * **Exactly one step is current, and it is enforced rather than described.** Two
95
+ * steps marked current is a rail with two answers to "where am I", and no step
96
+ * marked current is a rail with none, which is the state a reader cannot act on
97
+ * at all. Both are checked against the resolved list rather than against the
98
+ * declaration, because the interesting case is neither of them directly: a
99
+ * caller who marks the step `current` points at as something else has removed
100
+ * the only mark that said where they were, and no declaration in the data
101
+ * mentions a current step at all. So the resolved states are counted and a count
102
+ * that is not one is a thrown diagnostic rather than a drawing. A derivation
103
+ * alone can never produce that count, so the diagnostic only ever fires on a
104
+ * caller's own declarations, which is the arrangement that keeps it a real
105
+ * signal rather than a nuisance.
106
+ *
107
+ * **The rule between the steps is the honest indicator, and the reason is that
108
+ * the alternatives restate the same fact.** A filled bar under every completed
109
+ * step says "this one is done" once per step, so a reader looking at a
110
+ * six step rail is given the same sentence six times and has to combine them
111
+ * themselves to learn the one thing they came for, which is how much is behind
112
+ * them. The connector carries that fact once and carries something the bars
113
+ * cannot: it measures the space between two stages, so it is the only element
114
+ * that shows the sequence has a length at all. It is filled up to the step the
115
+ * reader is on and empty after it, which is also why it is the element that
116
+ * makes a long sequence readable at a glance. A bar per step was rejected on
117
+ * that ground, and a number per step was rejected earlier, because a number is
118
+ * a count of where the reader is and not a measure of how far they have come.
119
+ *
120
+ * **`aria-current` goes on the current step and nowhere else, because a colour
121
+ * is not a position in a sequence.** It is the only attribute on the rail that
122
+ * states the position to a reader who cannot see the rail, and putting it
123
+ * anywhere else is a claim about a step that is not the one the reader is on.
124
+ * The three states are not announced, and that is deliberate rather than an
125
+ * omission: they are consequences of the position, so a reader moving by list
126
+ * item is already told "item two of six" and then "current", and from those two
127
+ * the states of the other five follow. Announcing them would mean this
128
+ * Component shipping the words "complete" and "upcoming" into every consumer's
129
+ * product, which is the same defect the copy gate holds the close button of a
130
+ * dialog for. The ordinal on each disc is the one thing that is hidden, and for
131
+ * the mirror of that reason: the list semantics already say which item this is,
132
+ * and a spoken number in front of every label is noise to a reader who is
133
+ * reading the steps rather than counting them.
134
+ *
135
+ * **It is a server Component.** No hook, no state, no effect, and the rail is
136
+ * arithmetic over props, so it costs a consumer nothing in client JavaScript and
137
+ * renders identically with scripting off, in a print stylesheet and to a crawler.
138
+ */
139
+ declare function Steps({ steps, current, label, className }: StepsProps): import("react").JSX.Element;
140
+ export { Steps };
141
+ //# sourceMappingURL=steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../../src/components/ui/steps.tsx"],"names":[],"mappings":"AAEA,gEAAgE;AAChE,KAAK,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAEpD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,mCAAmC;AACnC,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IACtB;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,iBAAS,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,UAAU,+BA4G9D;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,128 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils.js';
3
+ /**
4
+ * The disc a step's mark is drawn in, one per state.
5
+ *
6
+ * The three states differ by shape before they differ by colour: a filled disc
7
+ * for a step that is done, an outlined one for the step the reader is on, and a
8
+ * filled muted one for a step ahead. That is the whole discipline behind a
9
+ * component that is read as feedback, and it is why the state is not a colour
10
+ * here either: a filled mint disc and a mint outline are the same picture
11
+ * narrowed to one channel, and a reader who cannot separate them is being told
12
+ * the same thing about two different steps.
13
+ */
14
+ const MARKER = {
15
+ complete: 'bg-primary text-primary-foreground border-primary',
16
+ current: 'bg-background text-foreground border-primary',
17
+ upcoming: 'bg-muted text-muted-foreground border-border',
18
+ };
19
+ /** An index held inside the sequence, so a `current` past either end lands on a real step. */
20
+ function clamp(value, total) {
21
+ if (total <= 0)
22
+ return 0;
23
+ return Math.min(Math.max(Math.trunc(value), 0), total - 1);
24
+ }
25
+ /**
26
+ * An ordered indicator of where a reader is in a sequence.
27
+ *
28
+ * **The state is derived from the index and `current`, and the derivation is the
29
+ * answer that cannot disagree.** A caller's `current` is one number and the
30
+ * states before and after it are consequences of it, so the three can never
31
+ * drift: move `current` and every mark moves with it, and there is no
32
+ * combination of `current` and `state` a caller can pass that says step one is
33
+ * behind them and step two is also behind them. That is not a convenience. The
34
+ * failure is invisible in review and visible only in use, on the screen where
35
+ * the reader is looking at a rail that says they have finished the thing they
36
+ * are doing, and there is no way for a reader to tell which of the two marks is
37
+ * the one to believe.
38
+ *
39
+ * **The override exists for a sequence that is not the process.** A checkout
40
+ * where a reviewer approved a line out of band, a migration where one stage was
41
+ * completed by hand last night, a form where the reader has already answered
42
+ * the question that step two would have asked. In those cases the position and
43
+ * the state are two different facts, and a derived mark would draw a claim the
44
+ * data contradicts. So `state` is a prop, and the cost of it is named: it is a
45
+ * second source of truth about a position, which is the thing this package is
46
+ * organised to avoid, so it is an override per step rather than a mode, and the
47
+ * derivation still decides every step the caller said nothing about. A caller
48
+ * that overrides everything has replaced the rule with their own and gained
49
+ * nothing but the type.
50
+ *
51
+ * **Exactly one step is current, and it is enforced rather than described.** Two
52
+ * steps marked current is a rail with two answers to "where am I", and no step
53
+ * marked current is a rail with none, which is the state a reader cannot act on
54
+ * at all. Both are checked against the resolved list rather than against the
55
+ * declaration, because the interesting case is neither of them directly: a
56
+ * caller who marks the step `current` points at as something else has removed
57
+ * the only mark that said where they were, and no declaration in the data
58
+ * mentions a current step at all. So the resolved states are counted and a count
59
+ * that is not one is a thrown diagnostic rather than a drawing. A derivation
60
+ * alone can never produce that count, so the diagnostic only ever fires on a
61
+ * caller's own declarations, which is the arrangement that keeps it a real
62
+ * signal rather than a nuisance.
63
+ *
64
+ * **The rule between the steps is the honest indicator, and the reason is that
65
+ * the alternatives restate the same fact.** A filled bar under every completed
66
+ * step says "this one is done" once per step, so a reader looking at a
67
+ * six step rail is given the same sentence six times and has to combine them
68
+ * themselves to learn the one thing they came for, which is how much is behind
69
+ * them. The connector carries that fact once and carries something the bars
70
+ * cannot: it measures the space between two stages, so it is the only element
71
+ * that shows the sequence has a length at all. It is filled up to the step the
72
+ * reader is on and empty after it, which is also why it is the element that
73
+ * makes a long sequence readable at a glance. A bar per step was rejected on
74
+ * that ground, and a number per step was rejected earlier, because a number is
75
+ * a count of where the reader is and not a measure of how far they have come.
76
+ *
77
+ * **`aria-current` goes on the current step and nowhere else, because a colour
78
+ * is not a position in a sequence.** It is the only attribute on the rail that
79
+ * states the position to a reader who cannot see the rail, and putting it
80
+ * anywhere else is a claim about a step that is not the one the reader is on.
81
+ * The three states are not announced, and that is deliberate rather than an
82
+ * omission: they are consequences of the position, so a reader moving by list
83
+ * item is already told "item two of six" and then "current", and from those two
84
+ * the states of the other five follow. Announcing them would mean this
85
+ * Component shipping the words "complete" and "upcoming" into every consumer's
86
+ * product, which is the same defect the copy gate holds the close button of a
87
+ * dialog for. The ordinal on each disc is the one thing that is hidden, and for
88
+ * the mirror of that reason: the list semantics already say which item this is,
89
+ * and a spoken number in front of every label is noise to a reader who is
90
+ * reading the steps rather than counting them.
91
+ *
92
+ * **It is a server Component.** No hook, no state, no effect, and the rail is
93
+ * arithmetic over props, so it costs a consumer nothing in client JavaScript and
94
+ * renders identically with scripting off, in a print stylesheet and to a crawler.
95
+ */
96
+ function Steps({ steps, current, label, className }) {
97
+ // An empty sequence is an empty list rather than a throw. The invariant below
98
+ // is about a rail with a position, and a caller with no steps has no position
99
+ // to disagree about; the cost is an empty rail, which is what was asked for.
100
+ if (steps.length === 0) {
101
+ return _jsx("ol", { "data-slot": "steps", "aria-label": label, className: cn('flex w-full', className) });
102
+ }
103
+ const at = clamp(current, steps.length);
104
+ const resolved = steps.map((step, index) => step.state ?? (index < at ? 'complete' : index === at ? 'current' : 'upcoming'));
105
+ const placed = resolved.filter((state) => state === 'current').length;
106
+ if (placed !== 1) {
107
+ // The message reaches a developer in a console and is never rendered, which
108
+ // is why it is a sentence and why the copy gate exempts it. It names both
109
+ // halves of the failure because they have different fixes: two currents is a
110
+ // caller who marked two steps, and none is a caller who marked the step
111
+ // `current` points at as something else.
112
+ throw new Error(`Steps: ${placed} step(s) resolved to the current state, and exactly one must. ` +
113
+ 'Set `current` to the index of the step the reader is on, and pass `state` only ' +
114
+ 'on a step that was reached out of band.');
115
+ }
116
+ const last = steps.length - 1;
117
+ return (_jsx("ol", { "data-slot": "steps", "data-current": at, "aria-label": label, className: cn('flex w-full flex-col gap-4 sm:flex-row sm:gap-0', className), children: steps.map((step, index) => {
118
+ const state = resolved[index];
119
+ const here = index === at;
120
+ return (_jsxs("li", { "data-slot": "step", "data-state": state, "aria-current": here ? 'step' : undefined, className: cn('flex items-start', index === last ? 'flex-none' : 'flex-1'), children: [_jsxs("div", { "data-slot": "step-marker-row", className: "flex w-full items-center gap-2", children: [_jsx("span", { "data-slot": "step-marker", className: cn('inline-flex size-8 shrink-0 items-center justify-center rounded-full border-2 text-sm font-medium tabular-nums', MARKER[state]), children: _jsx("span", { "aria-hidden": "true", children: index + 1 }) }), index === last ? null : (_jsx("span", { "data-slot": "step-rule", "data-filled": state === 'upcoming' ? undefined : 'true', "aria-hidden": "true", className: cn('h-0.5 flex-1 rounded-full',
121
+ // Filled up to the step the reader is on and empty after it,
122
+ // which is the whole indicator: one element saying how far
123
+ // through they are, where a filled bar per step says "done"
124
+ // once per step and leaves the arithmetic to the reader.
125
+ state === 'upcoming' ? 'bg-border' : 'bg-primary') }))] }), _jsxs("div", { "data-slot": "step-text", className: "mt-2 min-w-0 sm:pr-4", children: [_jsx("p", { "data-slot": "step-label", className: cn('text-sm font-medium', state === 'upcoming' ? 'text-muted-foreground' : 'text-foreground'), children: step.label }), step.description === undefined ? null : (_jsx("p", { "data-slot": "step-description", className: "text-muted-foreground mt-0.5 text-sm", children: step.description }))] })] }, index));
126
+ }) }));
127
+ }
128
+ export { Steps };
@@ -36,6 +36,14 @@ export interface SwitchProps extends Omit<ComponentProps<'span'>, 'onChange'> {
36
36
  * step: enabling notifications, turning a feature on. The control renders a
37
37
  * hidden native input, so it submits with a form, and Space toggles it while
38
38
  * focused. When the change needs an explicit save, use a Checkbox instead.
39
+ *
40
+ * **A coarse pointer gets the 44px floor as a band, and the pill is untouched.** The
41
+ * pill is 20 by 36 and the only control in this package whose shape does not suit a
42
+ * step: `h-11 w-11` would be a 44px switch, which is a switch nobody draws, and
43
+ * growing only the width would move the thumb's `translate-x-4` travel with the box.
44
+ * A band reaches the same 44px around the pill as drawn, and a switch sits alone in a
45
+ * settings row with empty space above and below it, so the fourteen pixels the band
46
+ * adds in each direction land on nothing a reader was aiming at.
39
47
  */
40
48
  declare function Switch({ className, ...props }: SwitchProps): import("react").JSX.Element;
41
49
  export { Switch };
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/ui/switch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3C;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC3E,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C;AAED;;;;;;;GAOG;AACH,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,+BAyBnD;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/ui/switch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3C;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC3E,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,+BA4BnD;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -9,8 +9,19 @@ import { cn } from '../../lib/utils.js';
9
9
  * step: enabling notifications, turning a feature on. The control renders a
10
10
  * hidden native input, so it submits with a form, and Space toggles it while
11
11
  * focused. When the change needs an explicit save, use a Checkbox instead.
12
+ *
13
+ * **A coarse pointer gets the 44px floor as a band, and the pill is untouched.** The
14
+ * pill is 20 by 36 and the only control in this package whose shape does not suit a
15
+ * step: `h-11 w-11` would be a 44px switch, which is a switch nobody draws, and
16
+ * growing only the width would move the thumb's `translate-x-4` travel with the box.
17
+ * A band reaches the same 44px around the pill as drawn, and a switch sits alone in a
18
+ * settings row with empty space above and below it, so the fourteen pixels the band
19
+ * adds in each direction land on nothing a reader was aiming at.
12
20
  */
13
21
  function Switch({ className, ...props }) {
14
- return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", className: cn('border-transparent bg-input shadow-xs inline-flex h-5 w-9 shrink-0 items-center rounded-full border p-0.5 outline-none', 'transition-[color,box-shadow,background-color] duration-fast ease-out', 'data-[checked]:bg-primary data-[unchecked]:bg-input', 'focus-visible:border-ring focus-visible:ring-ring focus-visible:ring-[3px]', 'aria-invalid:border-destructive aria-invalid:ring-destructive/20', 'disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: _jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: cn('bg-background pointer-events-none block size-4 rounded-full shadow-xs', 'transition-transform duration-base ease-out', 'data-[checked]:translate-x-4 data-[unchecked]:translate-x-0') }) }));
22
+ return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", className: cn('border-transparent bg-input shadow-xs relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border p-0.5 outline-none', 'transition-[color,box-shadow,background-color] duration-fast ease-out', 'data-[checked]:bg-primary data-[unchecked]:bg-input', 'focus-visible:border-ring focus-visible:ring-ring focus-visible:ring-[3px]', 'aria-invalid:border-destructive aria-invalid:ring-destructive/20', 'disabled:cursor-not-allowed disabled:opacity-50',
23
+ // `relative` is here only to give the band a containing block. The pill has no
24
+ // positioned ancestor and none of its own offsets, so this moves nothing.
25
+ 'pointer-coarse:before:absolute pointer-coarse:before:left-1/2 pointer-coarse:before:top-1/2 pointer-coarse:before:h-11 pointer-coarse:before:w-11 pointer-coarse:before:-translate-x-1/2 pointer-coarse:before:-translate-y-1/2 pointer-coarse:before:content-[""]', className), ...props, children: _jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: cn('bg-background pointer-events-none block size-4 rounded-full shadow-xs', 'transition-transform duration-base ease-out', 'data-[checked]:translate-x-4 data-[unchecked]:translate-x-0') }) }));
15
26
  }
16
27
  export { Switch };