@nanisoft/prism-ui 0.13.0 → 0.16.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 (964) 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 +22 -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 +9 -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 +131 -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 +33 -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 +4 -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 +34 -1
  538. package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
  539. package/dist/blocks/site-footer/site-footer.js +24 -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/stack-grid-01/stack-grid.d.ts +13 -0
  551. package/dist/blocks/stack-grid-01/stack-grid.d.ts.map +1 -1
  552. package/dist/blocks/stack-grid-01/stack-grid.js +14 -1
  553. package/dist/blocks/story-01/index.d.ts +3 -0
  554. package/dist/blocks/story-01/index.d.ts.map +1 -0
  555. package/dist/blocks/story-01/index.js +1 -0
  556. package/dist/blocks/story-01/story.d.ts +153 -0
  557. package/dist/blocks/story-01/story.d.ts.map +1 -0
  558. package/dist/blocks/story-01/story.js +103 -0
  559. package/dist/blocks/summary-01/index.d.ts +3 -0
  560. package/dist/blocks/summary-01/index.d.ts.map +1 -0
  561. package/dist/blocks/summary-01/index.js +1 -0
  562. package/dist/blocks/summary-01/summary.d.ts +300 -0
  563. package/dist/blocks/summary-01/summary.d.ts.map +1 -0
  564. package/dist/blocks/summary-01/summary.js +174 -0
  565. package/dist/blocks/team-01/index.d.ts +3 -0
  566. package/dist/blocks/team-01/index.d.ts.map +1 -0
  567. package/dist/blocks/team-01/index.js +1 -0
  568. package/dist/blocks/team-01/team.d.ts +176 -0
  569. package/dist/blocks/team-01/team.d.ts.map +1 -0
  570. package/dist/blocks/team-01/team.js +117 -0
  571. package/dist/blocks/testimonial-01/index.d.ts +3 -0
  572. package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
  573. package/dist/blocks/testimonial-01/index.js +1 -0
  574. package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
  575. package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
  576. package/dist/blocks/testimonial-01/testimonial.js +87 -0
  577. package/dist/blocks/todo-01/index.d.ts +3 -0
  578. package/dist/blocks/todo-01/index.d.ts.map +1 -0
  579. package/dist/blocks/todo-01/index.js +1 -0
  580. package/dist/blocks/todo-01/todo.d.ts +286 -0
  581. package/dist/blocks/todo-01/todo.d.ts.map +1 -0
  582. package/dist/blocks/todo-01/todo.js +149 -0
  583. package/dist/blocks/trend-01/index.d.ts +3 -0
  584. package/dist/blocks/trend-01/index.d.ts.map +1 -0
  585. package/dist/blocks/trend-01/index.js +1 -0
  586. package/dist/blocks/trend-01/trend.d.ts +184 -0
  587. package/dist/blocks/trend-01/trend.d.ts.map +1 -0
  588. package/dist/blocks/trend-01/trend.js +99 -0
  589. package/dist/blocks/trust-strip-01/index.d.ts +3 -0
  590. package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
  591. package/dist/blocks/trust-strip-01/index.js +1 -0
  592. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
  593. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
  594. package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
  595. package/dist/blocks/two-factor-01/index.d.ts +3 -0
  596. package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
  597. package/dist/blocks/two-factor-01/index.js +1 -0
  598. package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
  599. package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
  600. package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
  601. package/dist/blocks/user-profile-01/index.d.ts +3 -0
  602. package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
  603. package/dist/blocks/user-profile-01/index.js +1 -0
  604. package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
  605. package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
  606. package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
  607. package/dist/blocks/verify-email-01/index.d.ts +3 -0
  608. package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
  609. package/dist/blocks/verify-email-01/index.js +1 -0
  610. package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
  611. package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
  612. package/dist/blocks/verify-email-01/verify-email.js +190 -0
  613. package/dist/blocks/waitlist-01/index.d.ts +3 -0
  614. package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
  615. package/dist/blocks/waitlist-01/index.js +1 -0
  616. package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
  617. package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
  618. package/dist/blocks/waitlist-01/waitlist.js +75 -0
  619. package/dist/catalog.d.ts.map +1 -1
  620. package/dist/catalog.js +1641 -1
  621. package/dist/components/index.d.ts +114 -0
  622. package/dist/components/index.d.ts.map +1 -1
  623. package/dist/components/index.js +134 -0
  624. package/dist/components/ui/accordion.d.ts.map +1 -1
  625. package/dist/components/ui/accordion.js +9 -2
  626. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  627. package/dist/components/ui/alert-dialog.js +22 -4
  628. package/dist/components/ui/announcement.d.ts +169 -0
  629. package/dist/components/ui/announcement.d.ts.map +1 -0
  630. package/dist/components/ui/announcement.js +123 -0
  631. package/dist/components/ui/avatar-group.d.ts +176 -0
  632. package/dist/components/ui/avatar-group.d.ts.map +1 -0
  633. package/dist/components/ui/avatar-group.js +135 -0
  634. package/dist/components/ui/billing-source.d.ts +293 -0
  635. package/dist/components/ui/billing-source.d.ts.map +1 -0
  636. package/dist/components/ui/billing-source.js +136 -0
  637. package/dist/components/ui/button.d.ts +16 -1
  638. package/dist/components/ui/button.d.ts.map +1 -1
  639. package/dist/components/ui/button.js +17 -2
  640. package/dist/components/ui/calendar.d.ts +9 -0
  641. package/dist/components/ui/calendar.d.ts.map +1 -1
  642. package/dist/components/ui/calendar.js +30 -2
  643. package/dist/components/ui/carousel.d.ts +7 -0
  644. package/dist/components/ui/carousel.d.ts.map +1 -1
  645. package/dist/components/ui/carousel.js +58 -1
  646. package/dist/components/ui/chart.d.ts +334 -0
  647. package/dist/components/ui/chart.d.ts.map +1 -0
  648. package/dist/components/ui/chart.js +369 -0
  649. package/dist/components/ui/checkbox.d.ts +10 -0
  650. package/dist/components/ui/checkbox.d.ts.map +1 -1
  651. package/dist/components/ui/checkbox.js +19 -1
  652. package/dist/components/ui/checklist.d.ts +262 -0
  653. package/dist/components/ui/checklist.d.ts.map +1 -0
  654. package/dist/components/ui/checklist.js +135 -0
  655. package/dist/components/ui/choice-card.d.ts +273 -0
  656. package/dist/components/ui/choice-card.d.ts.map +1 -0
  657. package/dist/components/ui/choice-card.js +138 -0
  658. package/dist/components/ui/code-block.d.ts +182 -0
  659. package/dist/components/ui/code-block.d.ts.map +1 -0
  660. package/dist/components/ui/code-block.js +108 -0
  661. package/dist/components/ui/cohort-grid.d.ts +210 -0
  662. package/dist/components/ui/cohort-grid.d.ts.map +1 -0
  663. package/dist/components/ui/cohort-grid.js +202 -0
  664. package/dist/components/ui/collapsible.d.ts +11 -0
  665. package/dist/components/ui/collapsible.d.ts.map +1 -1
  666. package/dist/components/ui/collapsible.js +13 -2
  667. package/dist/components/ui/combobox.d.ts +4 -1
  668. package/dist/components/ui/combobox.d.ts.map +1 -1
  669. package/dist/components/ui/combobox.js +20 -4
  670. package/dist/components/ui/command-palette.d.ts +11 -0
  671. package/dist/components/ui/command-palette.d.ts.map +1 -1
  672. package/dist/components/ui/command-palette.js +49 -3
  673. package/dist/components/ui/contribution-graph.d.ts +156 -0
  674. package/dist/components/ui/contribution-graph.d.ts.map +1 -0
  675. package/dist/components/ui/contribution-graph.js +170 -0
  676. package/dist/components/ui/creatable-combobox.d.ts +153 -0
  677. package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
  678. package/dist/components/ui/creatable-combobox.js +285 -0
  679. package/dist/components/ui/data-toolbar.d.ts +133 -0
  680. package/dist/components/ui/data-toolbar.d.ts.map +1 -0
  681. package/dist/components/ui/data-toolbar.js +67 -0
  682. package/dist/components/ui/date-picker.d.ts.map +1 -1
  683. package/dist/components/ui/date-picker.js +9 -1
  684. package/dist/components/ui/diagram.d.ts +38 -7
  685. package/dist/components/ui/diagram.d.ts.map +1 -1
  686. package/dist/components/ui/diagram.js +134 -52
  687. package/dist/components/ui/dialog.d.ts +31 -2
  688. package/dist/components/ui/dialog.d.ts.map +1 -1
  689. package/dist/components/ui/dialog.js +40 -6
  690. package/dist/components/ui/drawer.d.ts +270 -0
  691. package/dist/components/ui/drawer.d.ts.map +1 -0
  692. package/dist/components/ui/drawer.js +241 -0
  693. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  694. package/dist/components/ui/dropdown-menu.js +6 -1
  695. package/dist/components/ui/dropzone.d.ts +147 -0
  696. package/dist/components/ui/dropzone.d.ts.map +1 -0
  697. package/dist/components/ui/dropzone.js +141 -0
  698. package/dist/components/ui/emoji-picker.d.ts +328 -0
  699. package/dist/components/ui/emoji-picker.d.ts.map +1 -0
  700. package/dist/components/ui/emoji-picker.js +278 -0
  701. package/dist/components/ui/fact-list.d.ts +17 -0
  702. package/dist/components/ui/fact-list.d.ts.map +1 -1
  703. package/dist/components/ui/fact-list.js +18 -1
  704. package/dist/components/ui/file-upload.d.ts +152 -0
  705. package/dist/components/ui/file-upload.d.ts.map +1 -0
  706. package/dist/components/ui/file-upload.js +101 -0
  707. package/dist/components/ui/filter-panel.d.ts +164 -0
  708. package/dist/components/ui/filter-panel.d.ts.map +1 -0
  709. package/dist/components/ui/filter-panel.js +91 -0
  710. package/dist/components/ui/form-dialog.d.ts +257 -0
  711. package/dist/components/ui/form-dialog.d.ts.map +1 -0
  712. package/dist/components/ui/form-dialog.js +176 -0
  713. package/dist/components/ui/form-wizard.d.ts +251 -0
  714. package/dist/components/ui/form-wizard.d.ts.map +1 -0
  715. package/dist/components/ui/form-wizard.js +151 -0
  716. package/dist/components/ui/image-list-field.d.ts +232 -0
  717. package/dist/components/ui/image-list-field.d.ts.map +1 -0
  718. package/dist/components/ui/image-list-field.js +168 -0
  719. package/dist/components/ui/image-zoom.d.ts +164 -0
  720. package/dist/components/ui/image-zoom.d.ts.map +1 -0
  721. package/dist/components/ui/image-zoom.js +169 -0
  722. package/dist/components/ui/intensity-grid.d.ts +270 -0
  723. package/dist/components/ui/intensity-grid.d.ts.map +1 -0
  724. package/dist/components/ui/intensity-grid.js +211 -0
  725. package/dist/components/ui/lifecycle-button.d.ts +276 -0
  726. package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
  727. package/dist/components/ui/lifecycle-button.js +144 -0
  728. package/dist/components/ui/lightbox.d.ts +165 -0
  729. package/dist/components/ui/lightbox.d.ts.map +1 -0
  730. package/dist/components/ui/lightbox.js +130 -0
  731. package/dist/components/ui/list-panel.d.ts +288 -0
  732. package/dist/components/ui/list-panel.d.ts.map +1 -0
  733. package/dist/components/ui/list-panel.js +139 -0
  734. package/dist/components/ui/mega-menu.d.ts +244 -0
  735. package/dist/components/ui/mega-menu.d.ts.map +1 -0
  736. package/dist/components/ui/mega-menu.js +97 -0
  737. package/dist/components/ui/menubar.d.ts +9 -0
  738. package/dist/components/ui/menubar.d.ts.map +1 -1
  739. package/dist/components/ui/menubar.js +10 -1
  740. package/dist/components/ui/metric.d.ts +123 -0
  741. package/dist/components/ui/metric.d.ts.map +1 -0
  742. package/dist/components/ui/metric.js +68 -0
  743. package/dist/components/ui/mini-calendar.d.ts +143 -0
  744. package/dist/components/ui/mini-calendar.d.ts.map +1 -0
  745. package/dist/components/ui/mini-calendar.js +261 -0
  746. package/dist/components/ui/mode-toggle.d.ts +102 -0
  747. package/dist/components/ui/mode-toggle.d.ts.map +1 -0
  748. package/dist/components/ui/mode-toggle.js +83 -0
  749. package/dist/components/ui/money-field.d.ts +200 -0
  750. package/dist/components/ui/money-field.d.ts.map +1 -0
  751. package/dist/components/ui/money-field.js +215 -0
  752. package/dist/components/ui/multi-combobox.d.ts +181 -0
  753. package/dist/components/ui/multi-combobox.d.ts.map +1 -0
  754. package/dist/components/ui/multi-combobox.js +297 -0
  755. package/dist/components/ui/native-select.d.ts.map +1 -1
  756. package/dist/components/ui/native-select.js +8 -1
  757. package/dist/components/ui/navigation-menu.d.ts +7 -0
  758. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  759. package/dist/components/ui/navigation-menu.js +8 -1
  760. package/dist/components/ui/nested-tabs.d.ts +188 -0
  761. package/dist/components/ui/nested-tabs.d.ts.map +1 -0
  762. package/dist/components/ui/nested-tabs.js +75 -0
  763. package/dist/components/ui/number-field.d.ts +40 -7
  764. package/dist/components/ui/number-field.d.ts.map +1 -1
  765. package/dist/components/ui/number-field.js +37 -7
  766. package/dist/components/ui/overflow-actions.d.ts +169 -0
  767. package/dist/components/ui/overflow-actions.d.ts.map +1 -0
  768. package/dist/components/ui/overflow-actions.js +266 -0
  769. package/dist/components/ui/pack-swatch.d.ts +177 -0
  770. package/dist/components/ui/pack-swatch.d.ts.map +1 -0
  771. package/dist/components/ui/pack-swatch.js +117 -0
  772. package/dist/components/ui/pack-switcher.d.ts +221 -0
  773. package/dist/components/ui/pack-switcher.d.ts.map +1 -0
  774. package/dist/components/ui/pack-switcher.js +94 -0
  775. package/dist/components/ui/pagination.d.ts +22 -0
  776. package/dist/components/ui/pagination.d.ts.map +1 -1
  777. package/dist/components/ui/pagination.js +23 -1
  778. package/dist/components/ui/password-field.d.ts +122 -0
  779. package/dist/components/ui/password-field.d.ts.map +1 -0
  780. package/dist/components/ui/password-field.js +69 -0
  781. package/dist/components/ui/pill.d.ts +172 -0
  782. package/dist/components/ui/pill.d.ts.map +1 -0
  783. package/dist/components/ui/pill.js +102 -0
  784. package/dist/components/ui/platform-modifier-key.d.ts +129 -0
  785. package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
  786. package/dist/components/ui/platform-modifier-key.js +125 -0
  787. package/dist/components/ui/popover.d.ts.map +1 -1
  788. package/dist/components/ui/popover.js +8 -1
  789. package/dist/components/ui/price.d.ts +144 -0
  790. package/dist/components/ui/price.d.ts.map +1 -0
  791. package/dist/components/ui/price.js +107 -0
  792. package/dist/components/ui/progress.d.ts +55 -1
  793. package/dist/components/ui/progress.d.ts.map +1 -1
  794. package/dist/components/ui/progress.js +110 -2
  795. package/dist/components/ui/prompt-composer.d.ts +302 -0
  796. package/dist/components/ui/prompt-composer.d.ts.map +1 -0
  797. package/dist/components/ui/prompt-composer.js +145 -0
  798. package/dist/components/ui/proportion-list.d.ts +188 -0
  799. package/dist/components/ui/proportion-list.d.ts.map +1 -0
  800. package/dist/components/ui/proportion-list.js +134 -0
  801. package/dist/components/ui/prose.d.ts +34 -0
  802. package/dist/components/ui/prose.d.ts.map +1 -1
  803. package/dist/components/ui/prose.js +41 -1
  804. package/dist/components/ui/pulse-graph.d.ts +36 -4
  805. package/dist/components/ui/pulse-graph.d.ts.map +1 -1
  806. package/dist/components/ui/pulse-graph.js +174 -60
  807. package/dist/components/ui/radio-group.d.ts +7 -0
  808. package/dist/components/ui/radio-group.d.ts.map +1 -1
  809. package/dist/components/ui/radio-group.js +8 -1
  810. package/dist/components/ui/range-field.d.ts +158 -0
  811. package/dist/components/ui/range-field.d.ts.map +1 -0
  812. package/dist/components/ui/range-field.js +208 -0
  813. package/dist/components/ui/relative-time.d.ts +116 -0
  814. package/dist/components/ui/relative-time.d.ts.map +1 -0
  815. package/dist/components/ui/relative-time.js +67 -0
  816. package/dist/components/ui/reorderable-list.d.ts +262 -0
  817. package/dist/components/ui/reorderable-list.d.ts.map +1 -0
  818. package/dist/components/ui/reorderable-list.js +325 -0
  819. package/dist/components/ui/repeatable-rows.d.ts +241 -0
  820. package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
  821. package/dist/components/ui/repeatable-rows.js +221 -0
  822. package/dist/components/ui/repo-stars.d.ts +165 -0
  823. package/dist/components/ui/repo-stars.d.ts.map +1 -0
  824. package/dist/components/ui/repo-stars.js +92 -0
  825. package/dist/components/ui/resizable.d.ts +24 -0
  826. package/dist/components/ui/resizable.d.ts.map +1 -1
  827. package/dist/components/ui/resizable.js +96 -4
  828. package/dist/components/ui/search-dialog.d.ts +40 -5
  829. package/dist/components/ui/search-dialog.d.ts.map +1 -1
  830. package/dist/components/ui/search-dialog.js +94 -16
  831. package/dist/components/ui/search-field.d.ts +159 -0
  832. package/dist/components/ui/search-field.d.ts.map +1 -0
  833. package/dist/components/ui/search-field.js +98 -0
  834. package/dist/components/ui/section.d.ts +110 -1
  835. package/dist/components/ui/section.d.ts.map +1 -1
  836. package/dist/components/ui/section.js +111 -3
  837. package/dist/components/ui/select.d.ts.map +1 -1
  838. package/dist/components/ui/select.js +9 -1
  839. package/dist/components/ui/selection-toolbar.d.ts +166 -0
  840. package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
  841. package/dist/components/ui/selection-toolbar.js +139 -0
  842. package/dist/components/ui/sidebar.d.ts +29 -0
  843. package/dist/components/ui/sidebar.d.ts.map +1 -1
  844. package/dist/components/ui/sidebar.js +35 -2
  845. package/dist/components/ui/signal-field.d.ts.map +1 -1
  846. package/dist/components/ui/signal-field.js +1 -1
  847. package/dist/components/ui/slider.d.ts +7 -0
  848. package/dist/components/ui/slider.d.ts.map +1 -1
  849. package/dist/components/ui/slider.js +32 -1
  850. package/dist/components/ui/sparkline.d.ts +117 -0
  851. package/dist/components/ui/sparkline.d.ts.map +1 -0
  852. package/dist/components/ui/sparkline.js +113 -0
  853. package/dist/components/ui/spinner.d.ts.map +1 -1
  854. package/dist/components/ui/spinner.js +13 -0
  855. package/dist/components/ui/split-button.d.ts +207 -0
  856. package/dist/components/ui/split-button.d.ts.map +1 -0
  857. package/dist/components/ui/split-button.js +75 -0
  858. package/dist/components/ui/stateful-table.d.ts +345 -0
  859. package/dist/components/ui/stateful-table.d.ts.map +1 -0
  860. package/dist/components/ui/stateful-table.js +169 -0
  861. package/dist/components/ui/status.d.ts +99 -0
  862. package/dist/components/ui/status.d.ts.map +1 -0
  863. package/dist/components/ui/status.js +63 -0
  864. package/dist/components/ui/stepper.d.ts +155 -0
  865. package/dist/components/ui/stepper.d.ts.map +1 -0
  866. package/dist/components/ui/stepper.js +83 -0
  867. package/dist/components/ui/steps.d.ts +141 -0
  868. package/dist/components/ui/steps.d.ts.map +1 -0
  869. package/dist/components/ui/steps.js +128 -0
  870. package/dist/components/ui/switch.d.ts +8 -0
  871. package/dist/components/ui/switch.d.ts.map +1 -1
  872. package/dist/components/ui/switch.js +12 -1
  873. package/dist/components/ui/tabs.d.ts +21 -2
  874. package/dist/components/ui/tabs.d.ts.map +1 -1
  875. package/dist/components/ui/tabs.js +23 -4
  876. package/dist/components/ui/tag-group.d.ts +154 -0
  877. package/dist/components/ui/tag-group.d.ts.map +1 -0
  878. package/dist/components/ui/tag-group.js +111 -0
  879. package/dist/components/ui/task-progress.d.ts +149 -0
  880. package/dist/components/ui/task-progress.d.ts.map +1 -0
  881. package/dist/components/ui/task-progress.js +110 -0
  882. package/dist/components/ui/text-format-toolbar.d.ts +211 -0
  883. package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
  884. package/dist/components/ui/text-format-toolbar.js +186 -0
  885. package/dist/components/ui/timeline.d.ts.map +1 -1
  886. package/dist/components/ui/timeline.js +10 -1
  887. package/dist/components/ui/toast.d.ts +32 -10
  888. package/dist/components/ui/toast.d.ts.map +1 -1
  889. package/dist/components/ui/toast.js +150 -47
  890. package/dist/components/ui/toggle-group.d.ts +14 -5
  891. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  892. package/dist/components/ui/toggle-group.js +15 -1
  893. package/dist/components/ui/toggle.d.ts.map +1 -1
  894. package/dist/components/ui/toggle.js +9 -1
  895. package/dist/components/ui/tree.d.ts +8 -0
  896. package/dist/components/ui/tree.d.ts.map +1 -1
  897. package/dist/components/ui/tree.js +92 -13
  898. package/dist/components/ui/video-player.d.ts +236 -0
  899. package/dist/components/ui/video-player.d.ts.map +1 -0
  900. package/dist/components/ui/video-player.js +72 -0
  901. package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
  902. package/dist/index.d.ts +112 -0
  903. package/dist/index.d.ts.map +1 -1
  904. package/dist/index.js +72 -0
  905. package/dist/lib/figure.d.ts +149 -0
  906. package/dist/lib/figure.d.ts.map +1 -0
  907. package/dist/lib/figure.js +242 -0
  908. package/dist/lib/utils.d.ts +29 -0
  909. package/dist/lib/utils.d.ts.map +1 -1
  910. package/dist/lib/utils.js +35 -0
  911. package/dist/live/index.d.ts +10 -3
  912. package/dist/live/index.d.ts.map +1 -1
  913. package/dist/live/index.js +12 -3
  914. package/dist/live/run-stream-01/run-stream.d.ts.map +1 -1
  915. package/dist/live/run-stream-01/run-stream.js +6 -5
  916. package/dist/live/tool-ledger-01/index.d.ts +3 -0
  917. package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
  918. package/dist/live/tool-ledger-01/index.js +1 -0
  919. package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
  920. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
  921. package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
  922. package/dist/pages/about-page/index.d.ts +306 -0
  923. package/dist/pages/about-page/index.d.ts.map +1 -0
  924. package/dist/pages/about-page/index.js +161 -0
  925. package/dist/pages/blog-post-page/index.d.ts +36 -15
  926. package/dist/pages/blog-post-page/index.d.ts.map +1 -1
  927. package/dist/pages/blog-post-page/index.js +35 -10
  928. package/dist/pages/careers-page/index.d.ts +288 -0
  929. package/dist/pages/careers-page/index.d.ts.map +1 -0
  930. package/dist/pages/careers-page/index.js +182 -0
  931. package/dist/pages/changelog-page/index.d.ts +255 -0
  932. package/dist/pages/changelog-page/index.d.ts.map +1 -0
  933. package/dist/pages/changelog-page/index.js +86 -0
  934. package/dist/pages/contact-page/index.d.ts +261 -0
  935. package/dist/pages/contact-page/index.d.ts.map +1 -0
  936. package/dist/pages/contact-page/index.js +136 -0
  937. package/dist/pages/docs-shell/docs-shell.d.ts +126 -16
  938. package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
  939. package/dist/pages/docs-shell/docs-shell.js +229 -28
  940. package/dist/pages/error-page/index.d.ts +188 -0
  941. package/dist/pages/error-page/index.d.ts.map +1 -0
  942. package/dist/pages/error-page/index.js +102 -0
  943. package/dist/pages/index.d.ts +10 -0
  944. package/dist/pages/index.d.ts.map +1 -1
  945. package/dist/pages/index.js +14 -0
  946. package/dist/pages/legal-page/index.d.ts +194 -0
  947. package/dist/pages/legal-page/index.d.ts.map +1 -0
  948. package/dist/pages/legal-page/index.js +99 -0
  949. package/dist/pages/not-found-page/index.d.ts.map +1 -1
  950. package/dist/pages/not-found-page/index.js +4 -3
  951. package/dist/pages/onboarding-page/index.d.ts +199 -0
  952. package/dist/pages/onboarding-page/index.d.ts.map +1 -0
  953. package/dist/pages/onboarding-page/index.js +71 -0
  954. package/dist/pages/pricing-page/index.d.ts +286 -0
  955. package/dist/pages/pricing-page/index.d.ts.map +1 -0
  956. package/dist/pages/pricing-page/index.js +139 -0
  957. package/dist/pages/search-page/index.d.ts +305 -0
  958. package/dist/pages/search-page/index.d.ts.map +1 -0
  959. package/dist/pages/search-page/index.js +142 -0
  960. package/dist/pages/status-page/index.d.ts +366 -0
  961. package/dist/pages/status-page/index.d.ts.map +1 -0
  962. package/dist/pages/status-page/index.js +136 -0
  963. package/dist/styles.css +1105 -62
  964. package/package.json +9 -3
@@ -0,0 +1,345 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type TableSortDirection } from './table-sort.js';
3
+ /**
4
+ * Which way a column is ordered, and how to leave that order.
5
+ *
6
+ * `TableSort`'s own union, taken rather than restated, because two Components that
7
+ * each declared a direction would be two lists to keep in step and the sort
8
+ * header's whole reason for existing is that it agrees with whatever reorders the
9
+ * rows.
10
+ */
11
+ export type StatefulTableDirection = TableSortDirection;
12
+ /**
13
+ * One column of a StatefulTable that cannot be ordered.
14
+ *
15
+ * A separate arm rather than an optional `accessor` beside an optional `sortable`,
16
+ * and the split is the argument. A sortable column needs a value to sort *by*, and
17
+ * the value is not always the cell's text: a status column orders `critical,
18
+ * degraded, healthy` rather than alphabetically, and a column of charts orders on
19
+ * the number the chart reports. So the accessor is required in the sortable arm and
20
+ * the `sortable` boolean is absent from this one, and two optionals would be a
21
+ * combination that type-checks and then cannot sort anything.
22
+ */
23
+ export type StatefulTableColumn<TRow> = {
24
+ /** The column's stable key, and what a sort names. */
25
+ id: string;
26
+ /** The column's visible name. */
27
+ header: ReactNode;
28
+ /** The cell's content for one row. */
29
+ cell: (row: TRow) => ReactNode;
30
+ /** Whether this column can be ordered. */
31
+ sortable?: false;
32
+ };
33
+ /** One column of a StatefulTable that can be ordered, and by what. */
34
+ export type StatefulTableSortableColumn<TRow> = {
35
+ /** The column's stable key, and what a sort names. */
36
+ id: string;
37
+ /** The column's visible name. */
38
+ header: ReactNode;
39
+ /** The cell's content for one row. */
40
+ cell: (row: TRow) => ReactNode;
41
+ /** This column can be ordered, and the value it orders on. */
42
+ sortable: true;
43
+ /**
44
+ * The value this column orders on, for one row.
45
+ *
46
+ * Required, and it is the whole of this Component's authority over the caller's
47
+ * data: the value sorted on is the caller's and never the cell's text, because a
48
+ * Component that inferred an accessor from a rendered cell would be deciding the
49
+ * order of records it cannot read.
50
+ */
51
+ accessor: (row: TRow) => string | number;
52
+ };
53
+ /** One column, sortable or not. */
54
+ export type StatefulTableColumnUnion<TRow> = StatefulTableColumn<TRow> | StatefulTableSortableColumn<TRow>;
55
+ /**
56
+ * Which column is ordered, and which way.
57
+ *
58
+ * A single value rather than a per-column record, and the reason is the one
59
+ * `table-sort` gives for putting `aria-sort` on exactly one header: two columns
60
+ * both reporting an order is a table claiming to be sorted two ways at once, and a
61
+ * reader comparing the two hears a contradiction. One column, one direction.
62
+ */
63
+ export type StatefulTableSort = {
64
+ /** The id of the column that is ordered. */
65
+ column: string;
66
+ /** The way it is ordered. */
67
+ direction: StatefulTableDirection;
68
+ };
69
+ /**
70
+ * The state a StatefulTable owns and the caller reads.
71
+ *
72
+ * One value rather than four props, and the reason is that these four are not
73
+ * independent. Which page is showing is a function of the order and the set in every
74
+ * implementation anyone writes, and four props let a caller hold a page number that
75
+ * contradicts the sort they have just set, which is a table showing rows that are
76
+ * not in the order its own header claims. One value is also one place to put, so a
77
+ * caller can hold it in a reducer, in a store, or in an address query and this
78
+ * Component does not care which.
79
+ */
80
+ export type StatefulTableState = {
81
+ /**
82
+ * Which column is ordered and which way, or `null` for the caller's own order.
83
+ *
84
+ * `null` is the order of the array as it was handed over, and it is reachable from
85
+ * the control rather than only at mount, because a reader who sorted a column to
86
+ * find the extreme and no longer cares has to be able to get the original back
87
+ * from the header they already know. That is `table-sort`'s three-state cycle and
88
+ * this is where the third state is spent.
89
+ */
90
+ sort: StatefulTableSort | null;
91
+ /** The keys of the rows the reader has selected. */
92
+ selection: readonly string[];
93
+ /**
94
+ * The ids of the columns the reader has hidden.
95
+ *
96
+ * Kept beside `selection` rather than folded into the column list for the reason
97
+ * the sort is a value and not a column field: a column marked hidden in the list
98
+ * would be undone by every fetch that rebuilds the list, and a caller's columns
99
+ * say which columns exist rather than which are on screen right now.
100
+ */
101
+ hiddenColumns: readonly string[];
102
+ /**
103
+ * The page being shown, counting from zero.
104
+ *
105
+ * Clamped on the way out rather than refused on the way in, for the reason `Steps`
106
+ * clamps `current`: an out-of-range page after the caller narrows the set is an
107
+ * ordinary event, and the reader should land on the last page that has rows on it
108
+ * rather than on an empty table with an error beside it.
109
+ */
110
+ page: number;
111
+ };
112
+ /**
113
+ * One state change, and which of the four facts it moved.
114
+ *
115
+ * `changed` is there so a caller can persist one thing rather than four: a table in
116
+ * an address wants the sort and the page and not the selection, and a change report
117
+ * with no field for that makes every caller diff the object themselves. It is called
118
+ * `visibility` rather than `hiddenColumns` because it names the fact that changed
119
+ * rather than the field that holds it, and a caller reading a persisted event log is
120
+ * better served by the former.
121
+ */
122
+ export type StatefulTableChange = {
123
+ /** The state to move to. */
124
+ state: StatefulTableState;
125
+ /** Which of the four facts changed. */
126
+ changed: 'sort' | 'selection' | 'visibility' | 'page';
127
+ };
128
+ /**
129
+ * The props a StatefulTable accepts.
130
+ *
131
+ * A declared interface rather than one extended from `Table`'s, and the reason is
132
+ * this Component: `Table` is presentational and forwards every native table prop, so
133
+ * extending it would hand this Component a `children` that is a body, a `className`
134
+ * that is a table's, and no place at all for the four state props that are the
135
+ * reason it exists.
136
+ */
137
+ export interface StatefulTableProps<TRow> {
138
+ /**
139
+ * The rows, in the order the caller wants them before this Component has reordered
140
+ * anything.
141
+ *
142
+ * Required, and the caller's order is what `sort: null` means. A caller with a
143
+ * server-side order hands over rows already in that order and a reader who sorts
144
+ * and then unsorts gets the caller's order back rather than an arbitrary one.
145
+ */
146
+ rows: readonly TRow[];
147
+ /**
148
+ * The caller's key for a row.
149
+ *
150
+ * Required, because selection is a set of keys and reordering maps positions to
151
+ * rows, and a Component that read identity off a position would select the wrong
152
+ * row the instant the order changed.
153
+ */
154
+ getRowId: (row: TRow) => string;
155
+ /** The columns, in the order they are shown. */
156
+ columns: readonly StatefulTableColumnUnion<TRow>[];
157
+ /**
158
+ * The state, controlled.
159
+ *
160
+ * Required and never defaulted, because a table that kept its own sort and
161
+ * selection could not be read back by the caller, and a caller who cannot read the
162
+ * sort cannot put it in an address, cannot restore it, and cannot tell a server
163
+ * which page to send. Controlled is the decision; an uncontrolled sibling would be
164
+ * a second way to say the same four facts and the two would disagree within a
165
+ * release.
166
+ */
167
+ state: StatefulTableState;
168
+ /** Called when any of the four facts changes. */
169
+ onChange: (change: StatefulTableChange) => void;
170
+ /**
171
+ * The table's caption, drawn by `TableCaption` where a caption belongs.
172
+ *
173
+ * Optional rather than required because `label` already names the table, and a
174
+ * caption that repeats the accessible name is a sentence read twice. Pass one
175
+ * where it says something the name does not: what the set is a slice of, or what
176
+ * a row means.
177
+ */
178
+ caption?: ReactNode;
179
+ /**
180
+ * The table's accessible name.
181
+ *
182
+ * Required, and a `string` because it goes into `aria-label` and an accessible
183
+ * name is a string. A table with no name is announced as "table" and a page with
184
+ * two of them is a page where a reader cannot tell which is which.
185
+ */
186
+ label: string;
187
+ /**
188
+ * The words read for what pressing a sortable header will do.
189
+ *
190
+ * Required, and a function of the *next* direction for the reason `table-sort`
191
+ * gives at length: a header that announces "sorted ascending" when it is already
192
+ * ascending tells a reader nothing about the press they are about to make.
193
+ */
194
+ announceSort: (column: string, direction: StatefulTableDirection) => string;
195
+ /**
196
+ * The label of the control that selects every row on the page.
197
+ *
198
+ * Required, and a `string` because it is written into `aria-label` and an
199
+ * accessible name is a string. It is expected to carry the count, because a
200
+ * control labelled "Select all" beside twenty rows a reader has not seen is a
201
+ * claim about the whole set when it means the page.
202
+ */
203
+ selectAllLabel: string;
204
+ /** The accessible name of one row's selection control, given the row's key. */
205
+ selectRowLabel: (rowKey: string) => string;
206
+ /**
207
+ * The label of the control that shows and hides columns.
208
+ *
209
+ * Required, and it opens a disclosure rather than sitting as a row of checkboxes
210
+ * because which columns exist is a fact about the caller's data and the screen it
211
+ * is on, and a control that is a row of boxes beside the header on a phone has
212
+ * taken the table's whole width to describe itself.
213
+ */
214
+ columnsLabel: ReactNode;
215
+ /**
216
+ * The words shown when the set has no rows.
217
+ *
218
+ * Required, and required because an empty `<tbody>` is a table with a shape and
219
+ * nothing in it, which reads as a rendering failure. A sentence is the caller's,
220
+ * because a set that is empty because it is loading and a set that is empty
221
+ * because there is nothing are two different sentences and only the caller knows
222
+ * which one applies.
223
+ */
224
+ emptyLabel: ReactNode;
225
+ /**
226
+ * The words on the control that goes to the previous page.
227
+ *
228
+ * Required, and required as a pair with `nextPageLabel` because the two are the
229
+ * same control in two positions: a caller who localises one and not the other has
230
+ * a control that looks localised and is half of it, which is the state
231
+ * `PaginationPrevious` exists to prevent.
232
+ */
233
+ previousPageLabel: string;
234
+ /** The words on the control that goes to the next page. */
235
+ nextPageLabel: string;
236
+ /**
237
+ * The words for where the reader is in the set, given the page and how many there
238
+ * are.
239
+ *
240
+ * Required, and a function because "Page 2 of 9" is false in a language that puts
241
+ * the total first, and a pager that assembled the sentence would have assembled it
242
+ * in one of them. It is also the accessible name of the pager, so a reader who
243
+ * arrives at that row is told where they are before they touch either control.
244
+ */
245
+ pageLabel: (page: number, pages: number) => string;
246
+ /**
247
+ * How many rows a page holds.
248
+ *
249
+ * A number and not a class, because the bound is data: the same table is forty rows
250
+ * in a sidebar and eight on a full page, and a caller who could only say
251
+ * `max-h-80` would be picking one of those for the other. It has no effect on a
252
+ * set smaller than it.
253
+ *
254
+ * @defaultValue 10
255
+ */
256
+ pageSize?: number;
257
+ /** Layout only. Changing a Prism-owned visual property from here is prohibited. */
258
+ className?: string;
259
+ }
260
+ /**
261
+ * A row set that owns its sort, its selection, its column visibility and its page,
262
+ * and hands all four to the caller as one value.
263
+ *
264
+ * **Prism's `table` is presentational and `table-sort` is a header cell, and this
265
+ * is the thing neither of them is.** `Table` forwards every native table prop and
266
+ * holds nothing; `TableSort` reports a direction and leaves the reordering to the
267
+ * caller. Between them is the half every consumer writes again: the row order, which
268
+ * rows are selected, which columns are on screen and which page is showing, and the
269
+ * four have to agree with each other after every change. That agreement is the
270
+ * Component. A caller holding them as four independent props gets a page number that
271
+ * does not match the sort they have just set, which is a table whose rows are not in
272
+ * the order its own header claims.
273
+ *
274
+ * **One state value rather than four props, for the same reason.** The four are not
275
+ * independent: which page is showing is a function of the order and the set in every
276
+ * implementation anyone writes, and four props let a caller hold a contradiction. One
277
+ * value is also one place to hold it, so a caller can put it in a reducer, in their
278
+ * store, or in an address query and this Component does not care which. The cost is
279
+ * that a caller changing one fact spreads the rest, which is one line and is the
280
+ * price of the four being unable to disagree.
281
+ *
282
+ * **It owns the order, and the accessor is how.** This is the one place a Component
283
+ * in this package decides something about the caller's data, and the refusal to do
284
+ * it any other way is the design. A column is sortable only when it carries an
285
+ * `accessor`, so the value sorted on is the caller's and never the cell's text: a
286
+ * status column that orders `critical, degraded, healthy` and a column of charts that
287
+ * orders on the number the chart reports are both expressible here, and neither is
288
+ * guessable from a cell. That is why the column type is a union of a sortable arm and
289
+ * a plain one rather than two optionals: an optional accessor beside a `sortable`
290
+ * boolean is a combination that type-checks and then cannot sort anything.
291
+ *
292
+ * **Numbers compare as numbers and everything else goes through the platform's own
293
+ * collator.** The `Intl.Collator` half is not a nicety: a name column ordered with
294
+ * `<` puts every uppercase name before every lowercase one in half the languages a
295
+ * product is sold in, and the comparator that fixes that belongs to the platform
296
+ * rather than to this package. The locale is the runtime's own, which is right on a
297
+ * server and wrong on a multilingual page, so it is stated here rather than guessed.
298
+ * `numeric` is on so a column of identifiers orders 2 before 10, which is the one
299
+ * case a reader always notices.
300
+ *
301
+ * **A server-ordered set is the original order, and that is what `sort: null` means.**
302
+ * A caller with a server-side order hands over rows already in it, and a reader who
303
+ * sorts and then unsorts gets the caller's order back. The three-state cycle on the
304
+ * header is `table-sort`'s and it is spent here, in the third state: one route back
305
+ * to the original, and it is the header they already know.
306
+ *
307
+ * **Selection is a set of the caller's keys, and the header's control covers the
308
+ * page rather than the set.** The two differ whenever the caller pages, and
309
+ * conflating them is the defect this Component exists to prevent: a "select all"
310
+ * that selected every row on the server when twenty are on screen acted on four
311
+ * hundred rows a reader never saw. So the header's checkbox covers the rows on the
312
+ * current page, it is `indeterminate` when some of them are selected, and the words
313
+ * are the caller's.
314
+ *
315
+ * **Column visibility is the reader's preference and lives beside the columns rather
316
+ * than inside them.** A column marked hidden in the caller's array would be undone by
317
+ * every fetch that rebuilds the array, and a caller's columns say which columns exist
318
+ * rather than which are on screen right now. Nothing is hidden on width alone: a
319
+ * table with eleven columns on a phone is a hard problem, and pruning columns by
320
+ * guessing at a width takes away a column the reader needed without telling them,
321
+ * which is a worse failure than a scroll.
322
+ *
323
+ * **The header is a real `<tr>` of `<th scope="col">` cells and the sortable ones are
324
+ * `TableSort`, composed.** Neither is this Component's decision: a header row of
325
+ * `div`s is a grid with no column names in it, and a screen reader moving across a
326
+ * table announces a column rather than a button. `TableSort` carries the direction,
327
+ * the mark and the announcement, and the caller's `announceSort` is passed straight
328
+ * through to it, so the sentence a reader hears about a press is the caller's.
329
+ *
330
+ * **The pager is drawn only when there is more than one page**, because a pager on a
331
+ * set of four rows is a row of controls describing a choice the reader does not have.
332
+ * Its controls are `aria-disabled` rather than natively disabled on the end pages,
333
+ * for the reason `FormWizard` gives on its back control: a control that leaves the
334
+ * tab order answers a press with silence.
335
+ *
336
+ * **It is a client Component**, because every one of the four changes happens after
337
+ * the reader acts, and because `state`, `onChange` and the row and column accessors
338
+ * are functions the caller hands it, which is a client-to-client boundary wherever it
339
+ * is written. What that costs is the price of every client control: a server
340
+ * Component may render one page of rows once with the state already in place, and
341
+ * what it may not do is let the reader change any of the four facts.
342
+ */
343
+ declare function StatefulTable({ rows, getRowId, columns, state, onChange, caption, label, announceSort, selectAllLabel, selectRowLabel, columnsLabel, emptyLabel, previousPageLabel, nextPageLabel, pageLabel, pageSize, className, }: StatefulTableProps<any>): import("react").JSX.Element;
344
+ export { StatefulTable };
345
+ //# sourceMappingURL=stateful-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateful-table.d.ts","sourceRoot":"","sources":["../../../src/components/ui/stateful-table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAavD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGjE;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,CAAC,IAAI,IAAI;IACtC,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,iCAAiC;IACjC,MAAM,EAAE,SAAS,CAAA;IACjB,sCAAsC;IACtC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAA;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,sEAAsE;AACtE,MAAM,MAAM,2BAA2B,CAAC,IAAI,IAAI;IAC9C,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,iCAAiC;IACjC,MAAM,EAAE,SAAS,CAAA;IACjB,sCAAsC;IACtC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAA;IAC9B,8DAA8D;IAC9D,QAAQ,EAAE,IAAI,CAAA;IACd;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,GAAG,MAAM,CAAA;CACzC,CAAA;AAED,mCAAmC;AACnC,MAAM,MAAM,wBAAwB,CAAC,IAAI,IACrC,mBAAmB,CAAC,IAAI,CAAC,GACzB,2BAA2B,CAAC,IAAI,CAAC,CAAA;AAErC;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,SAAS,EAAE,sBAAsB,CAAA;CAClC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;;;OAQG;IACH,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC9B,oDAAoD;IACpD,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B;;;;;;;OAOG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,4BAA4B;IAC5B,KAAK,EAAE,kBAAkB,CAAA;IACzB,uCAAuC;IACvC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAA;CACtD,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB,CAAC,IAAI;IACtC;;;;;;;OAOG;IACH,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAA;IAC/B,gDAAgD;IAChD,OAAO,EAAE,SAAS,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAA;IAClD;;;;;;;;;OASG;IACH,KAAK,EAAE,kBAAkB,CAAA;IACzB,iDAAiD;IACjD,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC/C;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,KAAK,MAAM,CAAA;IAC3E;;;;;;;OAOG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,+EAA+E;IAC/E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS,CAAA;IACvB;;;;;;;;OAQG;IACH,UAAU,EAAE,SAAS,CAAA;IACrB;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAClD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,iBAAS,aAAa,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAa,EACb,SAAS,GACV,EAAE,kBAAkB,CAAC,GAAG,CAAC,+BAoPzB;AA8BD,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,169 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useId, useState } from 'react';
4
+ import { Button } from './button.js';
5
+ import { Checkbox } from './checkbox.js';
6
+ import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow, } from './table.js';
7
+ import { TableSort } from './table-sort.js';
8
+ import { cn } from '../../lib/utils.js';
9
+ /**
10
+ * A row set that owns its sort, its selection, its column visibility and its page,
11
+ * and hands all four to the caller as one value.
12
+ *
13
+ * **Prism's `table` is presentational and `table-sort` is a header cell, and this
14
+ * is the thing neither of them is.** `Table` forwards every native table prop and
15
+ * holds nothing; `TableSort` reports a direction and leaves the reordering to the
16
+ * caller. Between them is the half every consumer writes again: the row order, which
17
+ * rows are selected, which columns are on screen and which page is showing, and the
18
+ * four have to agree with each other after every change. That agreement is the
19
+ * Component. A caller holding them as four independent props gets a page number that
20
+ * does not match the sort they have just set, which is a table whose rows are not in
21
+ * the order its own header claims.
22
+ *
23
+ * **One state value rather than four props, for the same reason.** The four are not
24
+ * independent: which page is showing is a function of the order and the set in every
25
+ * implementation anyone writes, and four props let a caller hold a contradiction. One
26
+ * value is also one place to hold it, so a caller can put it in a reducer, in their
27
+ * store, or in an address query and this Component does not care which. The cost is
28
+ * that a caller changing one fact spreads the rest, which is one line and is the
29
+ * price of the four being unable to disagree.
30
+ *
31
+ * **It owns the order, and the accessor is how.** This is the one place a Component
32
+ * in this package decides something about the caller's data, and the refusal to do
33
+ * it any other way is the design. A column is sortable only when it carries an
34
+ * `accessor`, so the value sorted on is the caller's and never the cell's text: a
35
+ * status column that orders `critical, degraded, healthy` and a column of charts that
36
+ * orders on the number the chart reports are both expressible here, and neither is
37
+ * guessable from a cell. That is why the column type is a union of a sortable arm and
38
+ * a plain one rather than two optionals: an optional accessor beside a `sortable`
39
+ * boolean is a combination that type-checks and then cannot sort anything.
40
+ *
41
+ * **Numbers compare as numbers and everything else goes through the platform's own
42
+ * collator.** The `Intl.Collator` half is not a nicety: a name column ordered with
43
+ * `<` puts every uppercase name before every lowercase one in half the languages a
44
+ * product is sold in, and the comparator that fixes that belongs to the platform
45
+ * rather than to this package. The locale is the runtime's own, which is right on a
46
+ * server and wrong on a multilingual page, so it is stated here rather than guessed.
47
+ * `numeric` is on so a column of identifiers orders 2 before 10, which is the one
48
+ * case a reader always notices.
49
+ *
50
+ * **A server-ordered set is the original order, and that is what `sort: null` means.**
51
+ * A caller with a server-side order hands over rows already in it, and a reader who
52
+ * sorts and then unsorts gets the caller's order back. The three-state cycle on the
53
+ * header is `table-sort`'s and it is spent here, in the third state: one route back
54
+ * to the original, and it is the header they already know.
55
+ *
56
+ * **Selection is a set of the caller's keys, and the header's control covers the
57
+ * page rather than the set.** The two differ whenever the caller pages, and
58
+ * conflating them is the defect this Component exists to prevent: a "select all"
59
+ * that selected every row on the server when twenty are on screen acted on four
60
+ * hundred rows a reader never saw. So the header's checkbox covers the rows on the
61
+ * current page, it is `indeterminate` when some of them are selected, and the words
62
+ * are the caller's.
63
+ *
64
+ * **Column visibility is the reader's preference and lives beside the columns rather
65
+ * than inside them.** A column marked hidden in the caller's array would be undone by
66
+ * every fetch that rebuilds the array, and a caller's columns say which columns exist
67
+ * rather than which are on screen right now. Nothing is hidden on width alone: a
68
+ * table with eleven columns on a phone is a hard problem, and pruning columns by
69
+ * guessing at a width takes away a column the reader needed without telling them,
70
+ * which is a worse failure than a scroll.
71
+ *
72
+ * **The header is a real `<tr>` of `<th scope="col">` cells and the sortable ones are
73
+ * `TableSort`, composed.** Neither is this Component's decision: a header row of
74
+ * `div`s is a grid with no column names in it, and a screen reader moving across a
75
+ * table announces a column rather than a button. `TableSort` carries the direction,
76
+ * the mark and the announcement, and the caller's `announceSort` is passed straight
77
+ * through to it, so the sentence a reader hears about a press is the caller's.
78
+ *
79
+ * **The pager is drawn only when there is more than one page**, because a pager on a
80
+ * set of four rows is a row of controls describing a choice the reader does not have.
81
+ * Its controls are `aria-disabled` rather than natively disabled on the end pages,
82
+ * for the reason `FormWizard` gives on its back control: a control that leaves the
83
+ * tab order answers a press with silence.
84
+ *
85
+ * **It is a client Component**, because every one of the four changes happens after
86
+ * the reader acts, and because `state`, `onChange` and the row and column accessors
87
+ * are functions the caller hands it, which is a client-to-client boundary wherever it
88
+ * is written. What that costs is the price of every client control: a server
89
+ * Component may render one page of rows once with the state already in place, and
90
+ * what it may not do is let the reader change any of the four facts.
91
+ */
92
+ function StatefulTable({ rows, getRowId, columns, state, onChange, caption, label, announceSort, selectAllLabel, selectRowLabel, columnsLabel, emptyLabel, previousPageLabel, nextPageLabel, pageLabel, pageSize = 10, className, }) {
93
+ const generated = useId();
94
+ const [columnsOpen, setColumnsOpen] = useState(false);
95
+ const columnsId = `${generated}-columns`;
96
+ const shown = columns.filter((column) => !state.hiddenColumns.includes(column.id));
97
+ const ordered = state.sort === null ? [...rows] : [...rows].sort(comparator(state.sort, columns));
98
+ const pages = Math.max(1, Math.ceil(ordered.length / Math.max(1, pageSize)));
99
+ const page = Math.min(Math.max(Math.trunc(state.page), 0), pages - 1);
100
+ const visible = ordered.slice(page * pageSize, page * pageSize + pageSize);
101
+ const selected = new Set(state.selection);
102
+ const pageKeys = visible.map(getRowId);
103
+ const everyOnPage = pageKeys.length > 0 && pageKeys.every((key) => selected.has(key));
104
+ const someOnPage = pageKeys.some((key) => selected.has(key));
105
+ const move = (next, changed) => onChange({ state: { ...state, ...next }, changed });
106
+ return (_jsxs("div", { "data-slot": "stateful-table", className: cn('flex w-full flex-col gap-3', className), children: [_jsxs("div", { "data-slot": "stateful-table-toolbar", className: "flex items-center justify-end", children: [_jsx(Button, { "data-slot": "stateful-table-columns-toggle", type: "button", variant: "outline", size: "sm", "aria-expanded": columnsOpen, "aria-controls": columnsId, onClick: () => setColumnsOpen((open) => !open), children: columnsLabel }), _jsx("div", { id: columnsId, "data-slot": "stateful-table-columns", hidden: !columnsOpen, className: "border-border bg-popover text-popover-foreground absolute end-4 mt-9 flex flex-col gap-2 rounded-md border p-3 shadow-md", children: columns.map((column) => (_jsxs("label", { "data-slot": "stateful-table-column-toggle", className: "flex items-center gap-2 text-sm", children: [_jsx(Checkbox, { checked: !state.hiddenColumns.includes(column.id), onCheckedChange: (next) => move({
107
+ hiddenColumns: next
108
+ ? state.hiddenColumns.filter((id) => id !== column.id)
109
+ : [...state.hiddenColumns, column.id],
110
+ }, 'visibility') }), column.header] }, column.id))) })] }), _jsxs(Table, { "data-slot": "stateful-table-frame", "aria-label": label, className: "w-full", children: [caption === undefined ? null : _jsx(TableCaption, { children: caption }), _jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "w-10", children: _jsx(Checkbox, { "data-slot": "stateful-table-select-all", checked: everyOnPage, indeterminate: someOnPage && !everyOnPage, "aria-label": selectAllLabel, onCheckedChange: (next) => move({
111
+ // The page's rows and not the set's. A control that selected
112
+ // every row on the server when twenty are on screen acted on
113
+ // four hundred rows the reader never saw, and that is the defect
114
+ // this Component exists to prevent rather than to ship.
115
+ selection: next
116
+ ? [...new Set([...state.selection, ...pageKeys])]
117
+ : state.selection.filter((key) => !pageKeys.includes(key)),
118
+ }, 'selection') }) }), shown.map((column) => (_jsx(TableHead, { children: column.sortable === true ? (_jsx(TableSort, { column: column.id, direction: state.sort !== null && state.sort.column === column.id
119
+ ? state.sort.direction
120
+ : 'none', onDirectionChange: (direction) => move({
121
+ sort: direction === 'none' ? null : { column: column.id, direction },
122
+ // Back to the first page, because a page number chosen for
123
+ // one order means nothing in another and the reader who
124
+ // changed the order is on a page that may have nothing on
125
+ // it.
126
+ page: 0,
127
+ }, 'sort'), announce: (direction) => announceSort(column.id, direction), children: column.header })) : (column.header) }, column.id)))] }) }), _jsx(TableBody, { children: visible.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: shown.length + 1, "data-slot": "stateful-table-empty", children: emptyLabel }) })) : (visible.map((row) => {
128
+ const key = getRowId(row);
129
+ const isSelected = selected.has(key);
130
+ return (_jsxs(TableRow, { "data-slot": "stateful-table-row", "data-selected": isSelected ? 'true' : undefined, "data-state": isSelected ? 'selected' : undefined, className: isSelected ? 'bg-muted' : undefined, children: [_jsx(TableCell, { className: "w-10", children: _jsx(Checkbox, { "data-slot": "stateful-table-select-row", checked: isSelected, "aria-label": selectRowLabel(key), onCheckedChange: (next) => move({
131
+ selection: next
132
+ ? [...state.selection, key]
133
+ : state.selection.filter((held) => held !== key),
134
+ }, 'selection') }) }), shown.map((column) => (_jsx(TableCell, { "data-slot": "stateful-table-cell", children: column.cell(row) }, column.id)))] }, key));
135
+ })) })] }), pages <= 1 ? null : (_jsxs("nav", { "data-slot": "stateful-table-pager", "aria-label": pageLabel(page, pages), className: "flex items-center justify-end gap-2", children: [_jsx(Button, { "data-slot": "stateful-table-previous", type: "button", variant: "outline", size: "sm", "aria-disabled": page === 0 || undefined, onClick: () => {
136
+ if (page === 0)
137
+ return;
138
+ move({ page: page - 1 }, 'page');
139
+ }, children: previousPageLabel }), _jsx("span", { "data-slot": "stateful-table-page", "aria-hidden": "true", className: "text-muted-foreground text-sm tabular-nums", children: pageLabel(page, pages) }), _jsx(Button, { "data-slot": "stateful-table-next", type: "button", variant: "outline", size: "sm", "aria-disabled": page === pages - 1 || undefined, onClick: () => {
140
+ if (page === pages - 1)
141
+ return;
142
+ move({ page: page + 1 }, 'page');
143
+ }, children: nextPageLabel })] }))] }));
144
+ }
145
+ /**
146
+ * The comparator a sort uses, read off the caller's own accessor.
147
+ *
148
+ * A column with no accessor returns a comparator that preserves the order, and it is
149
+ * unreachable rather than defensive: `TableSort` is rendered only in the arm of the
150
+ * column union that carries one, so the type has already said the accessor is there.
151
+ * The guard is here because a caller can cast their columns into the union, and a
152
+ * silently unsorted column is the one failure this Component cannot afford.
153
+ */
154
+ function comparator({ column, direction }, columns) {
155
+ const found = columns.find((candidate) => candidate.id === column);
156
+ const accessor = found?.accessor;
157
+ if (accessor === undefined)
158
+ return () => 0;
159
+ const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });
160
+ const sign = direction === 'descending' ? -1 : 1;
161
+ return (a, b) => {
162
+ const left = accessor(a);
163
+ const right = accessor(b);
164
+ if (typeof left === 'number' && typeof right === 'number')
165
+ return (left - right) * sign;
166
+ return collator.compare(String(left), String(right)) * sign;
167
+ };
168
+ }
169
+ export { StatefulTable };
@@ -0,0 +1,99 @@
1
+ import type { ComponentProps, ReactNode } from 'react';
2
+ /**
3
+ * The five tones a Status's dot can take.
4
+ *
5
+ * A tone is a judgement the caller makes, and this Component has the same reason
6
+ * `MeterTone` gives for holding the same judgement at arm's length: it can see
7
+ * the state, and it cannot see whether the state is urgent. A Status is asked
8
+ * for far more often than a Meter is, and for smaller things, which is exactly
9
+ * the case where a Component that coloured itself would be making a claim about
10
+ * the caller's product with the least evidence. A deploy is `info` on a status
11
+ * page and `success` in a release note; a disk is `warning` at 80 percent and
12
+ * `destructive` at 95, and the number does not know which of the two the
13
+ * consumer is looking at.
14
+ *
15
+ * **The set is the semantic contract's, and the JSDoc has to say what that
16
+ * costs.** The contract publishes three state roles, `success`, `warning` and
17
+ * `destructive`, and it publishes no informational one, so `info` here borrows
18
+ * `brand-ink`, which is the only cool role in the contract that means "not an
19
+ * alarm". The cost is named rather than hidden: in a pack whose brand hue is also
20
+ * its emphasis hue, an `info` dot and an emphasised mark are the same colour. The
21
+ * alternative was a fourth state role in the token contract, which is a
22
+ * decision about the tokens rather than about a Component, and a Component that
23
+ * invented the role would have had a second source of truth for colour. The
24
+ * other alternative, dropping `info` from the set, would have made the ordinary
25
+ * states of a product, in progress, scheduled, degraded, unreachable, expressible
26
+ * only as `neutral` and `warning`, which are both wrong.
27
+ *
28
+ * `neutral` is the tone for a state with nothing to alarm about, and it is drawn
29
+ * in the muted foreground rather than the full ink. A dot in the foreground
30
+ * colour reads as an emphasis mark rather than as a state, and a row of neutral
31
+ * states is a row of things the reader should look at.
32
+ */
33
+ export type StatusTone = 'neutral' | 'info' | 'success' | 'warning' | 'destructive';
34
+ /**
35
+ * A dot in one of five tones, and the caller's words beside it.
36
+ *
37
+ * **The dot is the tone and the label is the caller's.** The split is the whole
38
+ * design. A Component that knew what the words were would be a Component making
39
+ * a claim about a product it knows nothing about, so it takes the tone and the
40
+ * caller takes the sentence, and neither one can be derived from the other
41
+ * without a lie.
42
+ *
43
+ * **The label is required, and the reason is the colour.** A status with no words
44
+ * is a coloured dot, and a coloured dot is invisible to a reader who cannot
45
+ * separate the tones and unreadable to a screen reader whatever the tones are.
46
+ * There is a Component for the other half of that idea, an indicator that is
47
+ * decorative beside a state the surrounding sentence already names, and it is a
48
+ * different Item because a name it did not receive is a name the consumer has to
49
+ * supply. This one refuses to render unlabelled rather than rendering something
50
+ * every consumer inherits.
51
+ *
52
+ * **The tone is required rather than defaulted.** There is no `neutral` default
53
+ * for the same reason `MeterTone` states, and this Component inherits that
54
+ * argument in full: a tone is a judgement about urgency that only the caller can
55
+ * make, and a Component that picked one would be picking it for four products at
56
+ * once. A default here is the quietest way to ship a claim, because it looks
57
+ * like a convenience and behaves like an opinion.
58
+ *
59
+ * **The tone is never the only signal.** Every dot here is `aria-hidden` and the
60
+ * label carries the meaning, so a reader who cannot separate `warning` from
61
+ * `destructive` still reads which is which. That is also why the tone list can
62
+ * stay as small as it is: a wider list would be a wider set of colours a reader
63
+ * has to learn and a maintainer has to keep true, and the words are what make
64
+ * each one legible. The cost is stated rather than hidden: `warning` is amber and
65
+ * measures about 2.1:1 against the default pack's light background, so on a light
66
+ * surface that one dot is a tint rather than a mark. The label beside it is what
67
+ * carries the state, which is the trade this design makes everywhere.
68
+ *
69
+ * It is a server Component: no hook, no state, and a status that changes is
70
+ * something the surrounding surface re-renders, not something this Component
71
+ * animates.
72
+ */
73
+ declare function Status({ className, tone, label, size, ...props }: {
74
+ /**
75
+ * Which of the five tones the dot takes. Required rather than defaulted, for
76
+ * the reason `StatusTone` states in full.
77
+ */
78
+ tone: StatusTone;
79
+ /**
80
+ * The words naming the state, in the product's own vocabulary.
81
+ *
82
+ * Required, and deliberately not derived from `tone`: a product that says
83
+ * "Degraded" and a product that says "Partially unavailable" are both
84
+ * describing the same tone, and neither word is Prism's to choose.
85
+ */
86
+ label: ReactNode;
87
+ /**
88
+ * The size of the dot and of the label together. @defaultValue 'md'
89
+ *
90
+ * Two steps and not one, because a status appears at two scales in practice: in
91
+ * a dense table row, where a `md` dot competes with the numbers beside it, and
92
+ * beside a heading, where `sm` is hard to find. Sizing the pair together is
93
+ * deliberate, because a small dot beside a large label is a status the reader
94
+ * is meant to read rather than one they are meant to spot.
95
+ */
96
+ size?: 'sm' | 'md';
97
+ } & Omit<ComponentProps<'span'>, 'children'>): import("react").JSX.Element;
98
+ export { Status };
99
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/components/ui/status.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAA;AAuBnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAW,EACX,GAAG,KAAK,EACT,EAAE;IACD;;;OAGG;IACH,IAAI,EAAE,UAAU,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CACnB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,+BAiB3C;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}