@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,123 @@
1
+ import type { ComponentProps, ReactNode } from 'react';
2
+ /**
3
+ * A change against the previous reading, as a number whose sign is the direction.
4
+ *
5
+ * The sign is the direction, and that is the whole of the type. The shape this
6
+ * refuses is `{ value: number, direction: 'up' | 'down' }`, which is the shape a
7
+ * caller reaches for first and which is wrong twice over: it lets a caller put a
8
+ * rising mark on a falling number, and it gives one fact two spellings, so a
9
+ * call site holding one of them wrong reads the wrong way with nothing to catch
10
+ * it. A number has exactly one sign and there is nothing left to declare.
11
+ *
12
+ * **There is no flat member, and a zero draws no direction mark.** A zero is a
13
+ * real reading and the number is still shown, but nothing is drawn beside it,
14
+ * because a mark on a figure that did not move is a claim the data does not
15
+ * make. An arrow says the reading changed, and a reader who believes it is
16
+ * looking at movement that is not there.
17
+ *
18
+ * The number is the caller's own figure in the caller's own units. A delta of
19
+ * `0.12` is not a mistake here, and Prism does not attach a percent sign to it
20
+ * on the chance that it is one; see `MetricProps.deltaFormat` for what it prints
21
+ * instead.
22
+ */
23
+ export type MetricDelta = number;
24
+ /** The props the Metric accepts. */
25
+ export interface MetricProps extends Omit<ComponentProps<'div'>, 'children'> {
26
+ /**
27
+ * The figure itself, the number the whole Item exists to show.
28
+ *
29
+ * A `ReactNode` rather than a `number`, for the reason a Component cannot
30
+ * print a figure it cannot see the unit of: a caller's figure is often a value
31
+ * it formatted itself, and a `number` prop would make it either ship that as a
32
+ * string outside this Component or lose the unit it belongs to. Prism takes the
33
+ * node and formats nothing.
34
+ */
35
+ value: ReactNode;
36
+ /**
37
+ * What the figure measures, read under it rather than above it.
38
+ *
39
+ * Required, because a figure with nothing saying what it is is a number a
40
+ * reader has to guess the meaning of, which is the one thing a headline figure
41
+ * cannot afford.
42
+ */
43
+ label: ReactNode;
44
+ /**
45
+ * The unit, set beside the figure at the Label step.
46
+ *
47
+ * A prop rather than part of `value` so a consumer that wants the unit to scale
48
+ * with the figure puts it in `value` and a consumer that wants it quiet puts
49
+ * it here. Omit it for a figure that is self-describing.
50
+ */
51
+ unit?: ReactNode;
52
+ /** The change against the previous reading. See `MetricDelta`. */
53
+ delta?: MetricDelta;
54
+ /**
55
+ * The words for the delta, given the number.
56
+ *
57
+ * There is no default that knows the unit, and that is the point: a delta of
58
+ * `0.12` is twelve percent, twelve cents or twelve milliseconds, and a
59
+ * Component that guessed would be claiming a caller's units. The fallback is
60
+ * the number itself, so a caller who passes a fraction and no formatter gets
61
+ * `0.12` printed, which is honest and usually not what was wanted. Pass the
62
+ * formatter.
63
+ */
64
+ deltaFormat?: (value: number) => string;
65
+ /**
66
+ * The line under the label, for whatever the caller wants said about the
67
+ * figure: the period it covers, the source it came from, the caveat that
68
+ * matters this week.
69
+ */
70
+ hint?: ReactNode;
71
+ }
72
+ /**
73
+ * One figure, read first, with the words that say what it is underneath it.
74
+ *
75
+ * **A metric is read as a number, so the label goes under the value.** The
76
+ * label-first arrangement is the one most stat tiles use, and it asks a reader
77
+ * to read a heading before they know what the heading is about. A Metric
78
+ * inverts it: the figure lands first, at the Title step of the type scale, and
79
+ * the name is the second thing read. The cost is real and worth naming, because
80
+ * a column of metrics read top to bottom puts the names at different heights. A
81
+ * dashboard row is scanned by the figures and settled by the names, and a caller
82
+ * who wants a column of named figures is looking for a table rather than for
83
+ * this.
84
+ *
85
+ * **The direction is derived, never declared.** See `MetricDelta`. A Metric that
86
+ * took a `direction` beside the number would be able to draw a rising mark on a
87
+ * falling reading, which is a defect a reader sees and a type checker does not,
88
+ * so the direction has nowhere to be written but the sign it already came from.
89
+ *
90
+ * **The mark is a glyph rather than a drawing, and that is what makes the
91
+ * direction localisable.** The mark is a character, not an icon set and not a
92
+ * CSS triangle, so assistive technology announces it with the platform's own
93
+ * name for the character, in the reader's own language. The rejected
94
+ * alternative is a `title` attribute, or an `aria-label`, holding the word up or
95
+ * down, which would put a sentence in English into every consumer's product and
96
+ * leave the consumer no way to translate it. The cost of the glyph is that not
97
+ * every screen reader names every arrow, so the number beside it is the reading
98
+ * and the mark is the quicker one.
99
+ *
100
+ * **A string value is set in the mono face and a composed value is not.** The
101
+ * mono stack in this system annotates machine-readable readings, and a figure a
102
+ * consumer formatted itself is one of them: a caller's grouped thousands, its
103
+ * percentage, its currency. The rejected alternative is a `monospace` prop,
104
+ * which pushes the same decision onto every caller, and the decision is the same
105
+ * for all of them. A value that arrives as a node rather than a string is a
106
+ * figure the consumer composed out of several parts, and setting that in mono
107
+ * would put a machine face on a sentence.
108
+ *
109
+ * **Prism formats only the delta, and the fallback is the bare number.** The
110
+ * figure is a node and the unit is a node, so the only number this Component
111
+ * prints is the delta, and it prints it with the caller's formatter when there is
112
+ * one and with the number itself when there is not. A Component cannot print a
113
+ * delta it has no unit for, and a default that guessed a percent sign would be a
114
+ * claim about the caller's domain. The cost of that refusal is visible: a caller
115
+ * who passes a fraction and no formatter gets `0.12` printed, which is honest and
116
+ * usually not what was wanted. See `deltaFormat`.
117
+ *
118
+ * It is a server Component: no hook, no state, no effect, and nothing here is
119
+ * decided at hydration time. The whole figure is markup.
120
+ */
121
+ declare function Metric({ className, value, label, unit, delta, deltaFormat, hint, ...props }: MetricProps): import("react").JSX.Element;
122
+ export { Metric };
123
+ //# sourceMappingURL=metric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/components/ui/metric.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAQhC,oCAAoC;AACpC,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC1E;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kEAAkE;IAClE,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,WAAW,EACX,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,WAAW,+BAoDb;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils.js';
3
+ /** The mark a rising reading takes. A glyph, not a drawing, and the reason is in the JSDoc. */
4
+ const RISING = '↑';
5
+ /** The mark a falling reading takes. */
6
+ const FALLING = '↓';
7
+ /**
8
+ * One figure, read first, with the words that say what it is underneath it.
9
+ *
10
+ * **A metric is read as a number, so the label goes under the value.** The
11
+ * label-first arrangement is the one most stat tiles use, and it asks a reader
12
+ * to read a heading before they know what the heading is about. A Metric
13
+ * inverts it: the figure lands first, at the Title step of the type scale, and
14
+ * the name is the second thing read. The cost is real and worth naming, because
15
+ * a column of metrics read top to bottom puts the names at different heights. A
16
+ * dashboard row is scanned by the figures and settled by the names, and a caller
17
+ * who wants a column of named figures is looking for a table rather than for
18
+ * this.
19
+ *
20
+ * **The direction is derived, never declared.** See `MetricDelta`. A Metric that
21
+ * took a `direction` beside the number would be able to draw a rising mark on a
22
+ * falling reading, which is a defect a reader sees and a type checker does not,
23
+ * so the direction has nowhere to be written but the sign it already came from.
24
+ *
25
+ * **The mark is a glyph rather than a drawing, and that is what makes the
26
+ * direction localisable.** The mark is a character, not an icon set and not a
27
+ * CSS triangle, so assistive technology announces it with the platform's own
28
+ * name for the character, in the reader's own language. The rejected
29
+ * alternative is a `title` attribute, or an `aria-label`, holding the word up or
30
+ * down, which would put a sentence in English into every consumer's product and
31
+ * leave the consumer no way to translate it. The cost of the glyph is that not
32
+ * every screen reader names every arrow, so the number beside it is the reading
33
+ * and the mark is the quicker one.
34
+ *
35
+ * **A string value is set in the mono face and a composed value is not.** The
36
+ * mono stack in this system annotates machine-readable readings, and a figure a
37
+ * consumer formatted itself is one of them: a caller's grouped thousands, its
38
+ * percentage, its currency. The rejected alternative is a `monospace` prop,
39
+ * which pushes the same decision onto every caller, and the decision is the same
40
+ * for all of them. A value that arrives as a node rather than a string is a
41
+ * figure the consumer composed out of several parts, and setting that in mono
42
+ * would put a machine face on a sentence.
43
+ *
44
+ * **Prism formats only the delta, and the fallback is the bare number.** The
45
+ * figure is a node and the unit is a node, so the only number this Component
46
+ * prints is the delta, and it prints it with the caller's formatter when there is
47
+ * one and with the number itself when there is not. A Component cannot print a
48
+ * delta it has no unit for, and a default that guessed a percent sign would be a
49
+ * claim about the caller's domain. The cost of that refusal is visible: a caller
50
+ * who passes a fraction and no formatter gets `0.12` printed, which is honest and
51
+ * usually not what was wanted. See `deltaFormat`.
52
+ *
53
+ * It is a server Component: no hook, no state, no effect, and nothing here is
54
+ * decided at hydration time. The whole figure is markup.
55
+ */
56
+ function Metric({ className, value, label, unit, delta, deltaFormat, hint, ...props }) {
57
+ // A delta that is not a finite number is dropped rather than printed, because
58
+ // "NaN" under a figure is a second claim about the figure and "Infinity" is a
59
+ // third, and neither is a reading.
60
+ const shown = typeof delta === 'number' && Number.isFinite(delta) ? delta : undefined;
61
+ const read = deltaFormat ?? ((change) => String(change));
62
+ return (_jsxs("div", { "data-slot": "metric", className: cn('flex w-full flex-col', className), ...props, children: [_jsxs("div", { "data-slot": "metric-figure", className: "flex flex-wrap items-baseline gap-x-2", children: [_jsx("span", { "data-slot": "metric-value", className: cn('text-2xl font-semibold tracking-tight tabular-nums',
63
+ // A string is a machine-readable reading, and the mono stack is what
64
+ // this system annotates one with. A node is a composed figure and
65
+ // stays in the interface face.
66
+ typeof value === 'string' && 'font-mono'), children: value }), unit === undefined ? null : (_jsx("span", { "data-slot": "metric-unit", className: "text-muted-foreground text-sm font-medium", children: unit }))] }), shown === undefined ? null : (_jsxs("span", { "data-slot": "metric-delta", className: "text-muted-foreground mt-1 flex items-baseline gap-1 text-sm tabular-nums", children: [shown === 0 ? null : (_jsx("span", { "data-slot": "metric-delta-mark", children: shown > 0 ? RISING : FALLING })), read(shown)] })), _jsx("span", { "data-slot": "metric-label", className: "text-muted-foreground text-sm font-medium", children: label }), hint === undefined ? null : (_jsx("span", { "data-slot": "metric-hint", className: "text-muted-foreground text-xs", children: hint }))] }));
67
+ }
68
+ export { Metric };
@@ -0,0 +1,143 @@
1
+ /** The props the Mini calendar accepts. */
2
+ export interface MiniCalendarProps {
3
+ /**
4
+ * The chosen date, or nothing when the reader has not chosen one.
5
+ *
6
+ * Pass it and the grid is controlled, which is what a filter panel wants: the
7
+ * panel already holds the date the page is filtered by, and a second copy of it
8
+ * inside the grid is a second thing to keep in step.
9
+ */
10
+ selected?: Date;
11
+ /** Called with the date the reader chooses. Never called for a date outside `min` and `max`. */
12
+ onSelect?: (date: Date) => void;
13
+ /**
14
+ * The month on show.
15
+ *
16
+ * Pass it with `onMonthChange` to control the month, or pass `defaultMonth` to
17
+ * let the grid keep it. A controlled month with no `onMonthChange` would draw
18
+ * two paging controls that cannot page, so the two halves are documented
19
+ * together rather than separately.
20
+ */
21
+ month?: Date;
22
+ /** The month the grid opens on, for a grid that keeps its own. */
23
+ defaultMonth?: Date;
24
+ /** Called with the first day of the month when the reader pages. */
25
+ onMonthChange?: (month: Date) => void;
26
+ /**
27
+ * The locale the month name, the weekday headings and the day numbers are
28
+ * written in.
29
+ *
30
+ * Omit it and the runtime's own locale is used. It is one tag, not a table of
31
+ * words, which is the point: this Component never holds a month name, a
32
+ * weekday name or a digit set, so there is nothing here to translate.
33
+ */
34
+ locale?: string;
35
+ /**
36
+ * Which day the reader's week starts on, as `Date.prototype.getDay()` numbers
37
+ * it, so `0` is Sunday and `1` is Monday.
38
+ *
39
+ * Defaults to Sunday because that is what `getDay` returns. Prism asks rather
40
+ * than infers: the platform can answer it for a locale through
41
+ * `new Intl.Locale(locale).getWeekInfo().firstDay`, and where that is not
42
+ * available a grid that guesses Sunday is wrong in a Monday-first country with
43
+ * nothing on screen to say so. The caller usually already knows, because their
44
+ * own date handling had to.
45
+ */
46
+ weekStartsOn?: 0 | 1;
47
+ /** The accessible name of the control that steps back one month. */
48
+ previousLabel: string;
49
+ /** The accessible name of the control that steps forward one month. */
50
+ nextLabel: string;
51
+ /**
52
+ * The accessible name of the grid, saying which question it answers.
53
+ *
54
+ * Required. A grid named "Calendar" is a grid that answers no question, and a
55
+ * filter panel with two of them gives a reader two identical names to choose
56
+ * between. Name the filter: "Booked from", "Delivery date".
57
+ */
58
+ label: string;
59
+ /**
60
+ * The earliest date that may be chosen.
61
+ *
62
+ * Days before it are still drawn, still reachable and still announced, and
63
+ * refuse to be chosen. A day that is simply missing is indistinguishable from a
64
+ * grid that failed to render that week, so the shape of the month never
65
+ * changes. Say why in text beside the grid.
66
+ */
67
+ min?: Date;
68
+ /** The latest date that may be chosen. Held to the same rule as `min`. */
69
+ max?: Date;
70
+ /** Layout only. */
71
+ className?: string;
72
+ }
73
+ /**
74
+ * A compact month grid for placing in a panel, a filter list or a sidebar.
75
+ *
76
+ * **It is the small sibling of `Calendar`, and the difference is where it
77
+ * lives.** `Calendar` is a full control: it is drawn inside a popover, it owns
78
+ * the roving tab stop for a form, and it is what a `DatePicker` opens. This one
79
+ * is a grid you place. It owns no popover and no trigger, because the two things
80
+ * a trigger needs, a field to sit in and a place to open, are the caller's in a
81
+ * filter panel and a sidebar, and a Component that drew its own would be a
82
+ * control inside a control. Everything else is deliberately the same: six rows, a
83
+ * roving tab stop, arrows that cross a month boundary, and a rule about what a
84
+ * date outside the range means. Two date grids in one product that behave
85
+ * differently is the failure this Component exists to prevent, so the keyboard
86
+ * model is `Calendar`'s rather than a second answer written for a smaller box.
87
+ *
88
+ * **Every name and every number comes from `Intl` and from `locale`, and there
89
+ * is no array of weekday names anywhere in this file.** A calendar whose weekday
90
+ * row is a literal array of English abbreviations is wrong in every locale the
91
+ * caller has, in a way no screenshot of the control shows, and it is the most
92
+ * common single defect in a date control: it is the shape every tutorial and
93
+ * every hand-rolled grid arrives at, because the seven names are the first thing
94
+ * a grid needs and the seventh thing anybody looks up. So the headings are
95
+ * formatted from the first week's own cells, which means the heading over a
96
+ * column is the weekday that column actually holds, and the month name and the
97
+ * day numbers come from the same locale. The caller's only job is a locale tag.
98
+ *
99
+ * **The visible heading is short and the full weekday rides on `abbr`.** A
100
+ * seven-column grid has no room for "Wednesday", and a truncated weekday name is
101
+ * a weekday a reader has to guess at. The short form is what is drawn and the
102
+ * long form is what the header cell names itself with, so the abbreviation a
103
+ * reader sees and the word a screen reader says are both right.
104
+ *
105
+ * **The table is the structure and the buttons are the controls.** A grid whose
106
+ * cells are the focusable elements is a grid of divs that a reader has to be told
107
+ * is operable, and the gate on focus indicators is the gate that says so. Here the
108
+ * table carries the rows, the columns, the weekday associations and the caption,
109
+ * so the screen reader's structure is the table, and each day is a `<button>`
110
+ * inside its cell, which is a control the platform already knows how to press
111
+ * with Enter and Space and how to focus with a ring. The cell carries
112
+ * `aria-selected` because that is the only place the attribute is valid, and a
113
+ * chosen day announced as an ordinary cell has told the reader nothing about
114
+ * whether it is the one they picked.
115
+ *
116
+ * **The month name is a `<caption>` and the paging controls live inside it.** A
117
+ * caption is the one place in a table that is allowed to hold flow content, and
118
+ * putting the month name and its two controls there means the month is named by
119
+ * the table's own structure rather than by a heading that happens to sit above
120
+ * it. The alternative was a header row outside the table, which reads fine and
121
+ * leaves the table unnamed.
122
+ *
123
+ * **The grid is always six weeks tall and a day outside the range is still
124
+ * there.** Both are the same decision. A month that needs five rows and one that
125
+ * needs six would otherwise resize as the reader pages, which moves the dates
126
+ * under the pointer: a reader who aims at the 24th after reading its position in
127
+ * a five-row month clicks the 31st in a six-row one. So the edge cells are padded
128
+ * and the out-of-range days are drawn, dimmed, reachable and refusing, because a
129
+ * day that is simply missing is indistinguishable from a grid that failed to
130
+ * render that week, and a reader who cannot land on it cannot tell a sold-out
131
+ * day from a bug. The costs are paid visibly: a short month carries one empty row
132
+ * and an in-range filter still shows a month of greyed days.
133
+ *
134
+ * **The month is marked today from the renderer's clock.** That is the same
135
+ * choice `DatePicker` makes and it has the same cost: a server render and a
136
+ * hydration that straddle midnight disagree about which day is today, and React
137
+ * reports the attribute. It is one attribute on one cell, and the alternative
138
+ * was a prop every caller of a small grid would have to pass to avoid a warning
139
+ * they would never see.
140
+ */
141
+ declare function MiniCalendar({ selected, onSelect, month, defaultMonth, onMonthChange, locale, weekStartsOn, previousLabel, nextLabel, label, min, max, className, }: MiniCalendarProps): import("react").JSX.Element;
142
+ export { MiniCalendar };
143
+ //# sourceMappingURL=mini-calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mini-calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/mini-calendar.tsx"],"names":[],"mappings":"AAOA,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,gGAAgG;IAChG,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,kEAAkE;IAClE,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,oEAAoE;IACpE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IACrC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACpB,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,0EAA0E;IAC1E,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAuDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,YAAgB,EAChB,aAAa,EACb,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,EACH,SAAS,GACV,EAAE,iBAAiB,+BA6QnB;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,261 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';
4
+ import { useEffect, useMemo, useRef, useState } from 'react';
5
+ import { cn } from '../../lib/utils.js';
6
+ /** `YYYY-MM-DD` in local time, which is the only key a date grid needs. */
7
+ const iso = (date) => `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
8
+ const addDays = (date, days) => new Date(date.getFullYear(), date.getMonth(), date.getDate() + days);
9
+ const startOfMonth = (date) => new Date(date.getFullYear(), date.getMonth(), 1);
10
+ const sameMonth = (a, b) => a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth();
11
+ const sameDay = (a, b) => iso(a) === iso(b);
12
+ /** Midnight local, so a range compares days rather than clock times. */
13
+ const startOfDay = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
14
+ /**
15
+ * The same day of the month, `months` along, clamped to the month it lands in.
16
+ *
17
+ * Stepping back from the 31st lands on the 30th, the 28th or the 29th rather than
18
+ * rolling into the month before, because a roll would move the focus to a month
19
+ * the reader did not ask for and the date would be wrong by a month with nothing
20
+ * on screen to say so.
21
+ */
22
+ const shiftMonth = (date, months) => {
23
+ const target = new Date(date.getFullYear(), date.getMonth() + months, 1);
24
+ const lastDay = new Date(target.getFullYear(), target.getMonth() + 1, 0).getDate();
25
+ return new Date(target.getFullYear(), target.getMonth(), Math.min(date.getDate(), lastDay));
26
+ };
27
+ /** A day cell, and nothing about which day is in it. */
28
+ const DAY_CELL = 'text-foreground hover:bg-accent hover:text-accent-foreground flex h-8 w-full cursor-pointer items-center justify-center rounded-md text-sm tabular-nums outline-none transition-colors duration-fast ease-out pointer-coarse:h-11 focus-visible:ring-ring focus-visible:ring-[3px]';
29
+ /**
30
+ * How a day cell looks, and why `today` sets no ink.
31
+ *
32
+ * `selected` states a fill and therefore states its own ink. `today` sets none,
33
+ * so it states none: it is a ring inside the cell and a weight, and a ring has no
34
+ * foreground to keep in step with the two states above it.
35
+ */
36
+ const DAY_STATE = {
37
+ selected: 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground font-semibold',
38
+ today: 'ring-ring ring-1 ring-inset font-semibold',
39
+ unavailable: 'text-muted-foreground aria-disabled:hover:bg-transparent',
40
+ };
41
+ /** The two paging controls, which are controls and get a ring of their own. */
42
+ const NAV_CONTROL = 'text-muted-foreground hover:bg-accent hover:text-accent-foreground inline-flex size-8 shrink-0 items-center justify-center rounded-md outline-none transition-colors duration-fast ease-out pointer-coarse:size-11 focus-visible:ring-ring focus-visible:ring-[3px]';
43
+ /**
44
+ * A compact month grid for placing in a panel, a filter list or a sidebar.
45
+ *
46
+ * **It is the small sibling of `Calendar`, and the difference is where it
47
+ * lives.** `Calendar` is a full control: it is drawn inside a popover, it owns
48
+ * the roving tab stop for a form, and it is what a `DatePicker` opens. This one
49
+ * is a grid you place. It owns no popover and no trigger, because the two things
50
+ * a trigger needs, a field to sit in and a place to open, are the caller's in a
51
+ * filter panel and a sidebar, and a Component that drew its own would be a
52
+ * control inside a control. Everything else is deliberately the same: six rows, a
53
+ * roving tab stop, arrows that cross a month boundary, and a rule about what a
54
+ * date outside the range means. Two date grids in one product that behave
55
+ * differently is the failure this Component exists to prevent, so the keyboard
56
+ * model is `Calendar`'s rather than a second answer written for a smaller box.
57
+ *
58
+ * **Every name and every number comes from `Intl` and from `locale`, and there
59
+ * is no array of weekday names anywhere in this file.** A calendar whose weekday
60
+ * row is a literal array of English abbreviations is wrong in every locale the
61
+ * caller has, in a way no screenshot of the control shows, and it is the most
62
+ * common single defect in a date control: it is the shape every tutorial and
63
+ * every hand-rolled grid arrives at, because the seven names are the first thing
64
+ * a grid needs and the seventh thing anybody looks up. So the headings are
65
+ * formatted from the first week's own cells, which means the heading over a
66
+ * column is the weekday that column actually holds, and the month name and the
67
+ * day numbers come from the same locale. The caller's only job is a locale tag.
68
+ *
69
+ * **The visible heading is short and the full weekday rides on `abbr`.** A
70
+ * seven-column grid has no room for "Wednesday", and a truncated weekday name is
71
+ * a weekday a reader has to guess at. The short form is what is drawn and the
72
+ * long form is what the header cell names itself with, so the abbreviation a
73
+ * reader sees and the word a screen reader says are both right.
74
+ *
75
+ * **The table is the structure and the buttons are the controls.** A grid whose
76
+ * cells are the focusable elements is a grid of divs that a reader has to be told
77
+ * is operable, and the gate on focus indicators is the gate that says so. Here the
78
+ * table carries the rows, the columns, the weekday associations and the caption,
79
+ * so the screen reader's structure is the table, and each day is a `<button>`
80
+ * inside its cell, which is a control the platform already knows how to press
81
+ * with Enter and Space and how to focus with a ring. The cell carries
82
+ * `aria-selected` because that is the only place the attribute is valid, and a
83
+ * chosen day announced as an ordinary cell has told the reader nothing about
84
+ * whether it is the one they picked.
85
+ *
86
+ * **The month name is a `<caption>` and the paging controls live inside it.** A
87
+ * caption is the one place in a table that is allowed to hold flow content, and
88
+ * putting the month name and its two controls there means the month is named by
89
+ * the table's own structure rather than by a heading that happens to sit above
90
+ * it. The alternative was a header row outside the table, which reads fine and
91
+ * leaves the table unnamed.
92
+ *
93
+ * **The grid is always six weeks tall and a day outside the range is still
94
+ * there.** Both are the same decision. A month that needs five rows and one that
95
+ * needs six would otherwise resize as the reader pages, which moves the dates
96
+ * under the pointer: a reader who aims at the 24th after reading its position in
97
+ * a five-row month clicks the 31st in a six-row one. So the edge cells are padded
98
+ * and the out-of-range days are drawn, dimmed, reachable and refusing, because a
99
+ * day that is simply missing is indistinguishable from a grid that failed to
100
+ * render that week, and a reader who cannot land on it cannot tell a sold-out
101
+ * day from a bug. The costs are paid visibly: a short month carries one empty row
102
+ * and an in-range filter still shows a month of greyed days.
103
+ *
104
+ * **The month is marked today from the renderer's clock.** That is the same
105
+ * choice `DatePicker` makes and it has the same cost: a server render and a
106
+ * hydration that straddle midnight disagree about which day is today, and React
107
+ * reports the attribute. It is one attribute on one cell, and the alternative
108
+ * was a prop every caller of a small grid would have to pass to avoid a warning
109
+ * they would never see.
110
+ */
111
+ function MiniCalendar({ selected, onSelect, month, defaultMonth, onMonthChange, locale, weekStartsOn = 0, previousLabel, nextLabel, label, min, max, className, }) {
112
+ const today = new Date();
113
+ const [ownSelected, setOwnSelected] = useState(undefined);
114
+ const [ownMonth, setOwnMonth] = useState(() => startOfMonth(defaultMonth ?? selected ?? today));
115
+ // `null` means "wherever the reader would expect to land", derived rather than
116
+ // stored, so a change to `selected` or `month` moves the tab stop without this
117
+ // Component having to watch for it.
118
+ const [movedTo, setMovedTo] = useState(null);
119
+ const gridRef = useRef(null);
120
+ const shown = month === undefined ? ownMonth : startOfMonth(month);
121
+ const chosen = selected === undefined ? ownSelected : selected;
122
+ const monthText = useMemo(() => new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(shown), [locale, shown]);
123
+ const dayText = useMemo(() => new Intl.DateTimeFormat(locale, { day: 'numeric' }), [locale]);
124
+ /** Six weeks from the reader's first day, on or before the first of the month. */
125
+ const cells = useMemo(() => {
126
+ const first = startOfMonth(shown);
127
+ const offset = (first.getDay() - weekStartsOn + 7) % 7;
128
+ return Array.from({ length: 42 }, (_, index) => addDays(addDays(first, -offset), index));
129
+ }, [shown, weekStartsOn]);
130
+ /**
131
+ * The seven headings, formatted from the first week's own cells.
132
+ *
133
+ * From the cells and not from a reference date, because a cell in column `n` of
134
+ * the first row is by construction the weekday that column holds, so a heading
135
+ * cannot drift from the column it sits over the way a computed weekday index
136
+ * can. There is no table of weekday names in this file to drift in the first
137
+ * place.
138
+ */
139
+ const headings = useMemo(() => {
140
+ const short = new Intl.DateTimeFormat(locale, { weekday: 'short' });
141
+ const long = new Intl.DateTimeFormat(locale, { weekday: 'long' });
142
+ return cells.slice(0, 7).map((cell) => ({ short: short.format(cell), long: long.format(cell) }));
143
+ }, [cells, locale]);
144
+ /** Where a reader who tabs into the grid lands: the choice, else today, else the first. */
145
+ const landing = chosen !== undefined && sameMonth(chosen, shown)
146
+ ? chosen
147
+ : sameMonth(today, shown)
148
+ ? today
149
+ : startOfMonth(shown);
150
+ const focused = movedTo !== null && sameMonth(movedTo, shown) ? movedTo : landing;
151
+ const focusedIso = iso(focused);
152
+ const chosenIso = chosen === undefined ? null : iso(chosen);
153
+ const todayIso = iso(today);
154
+ const isUnavailable = (date) => {
155
+ const at = startOfDay(date);
156
+ if (min !== undefined && at < startOfDay(min))
157
+ return true;
158
+ if (max !== undefined && at > startOfDay(max))
159
+ return true;
160
+ return false;
161
+ };
162
+ /** Focus follows a move, because a move that changed month draws a new cell. */
163
+ useEffect(() => {
164
+ if (movedTo === null)
165
+ return;
166
+ gridRef.current?.querySelector(`[data-date="${iso(movedTo)}"]`)?.focus();
167
+ }, [movedTo, shown]);
168
+ const move = (next) => {
169
+ if (month === undefined)
170
+ setOwnMonth(next);
171
+ onMonthChange?.(next);
172
+ };
173
+ const choose = (date) => {
174
+ setMovedTo(date);
175
+ if (isUnavailable(date))
176
+ return;
177
+ if (selected === undefined)
178
+ setOwnSelected(date);
179
+ onSelect?.(date);
180
+ };
181
+ /** Moves the tab stop, and the month on show when the move crosses a month. */
182
+ const goTo = (date) => {
183
+ setMovedTo(date);
184
+ if (!sameMonth(date, shown))
185
+ move(startOfMonth(date));
186
+ };
187
+ /**
188
+ * The keys on one day.
189
+ *
190
+ * The date comes from the cell the event fired on rather than from state,
191
+ * because a reader may have arrived at a cell by Tab or by a click and the tab
192
+ * stop is this Component's own decision. Deriving the move from state would
193
+ * step from wherever the tab stop happened to be, which is a cell the reader is
194
+ * not on.
195
+ */
196
+ const onDayKeyDown = (event, date) => {
197
+ const row = Math.floor(cells.findIndex((entry) => sameDay(entry, date)) / 7);
198
+ const first = cells[row * 7];
199
+ const last = first === undefined ? null : addDays(first, 6);
200
+ // Enter by `key`, Space by `code`. The space bar's `key` has been reported as
201
+ // a space, as "Spacebar" and as "Space" by different engines over the years,
202
+ // and its `code` has been the same in all of them.
203
+ if (event.key === 'Enter' || event.code === 'Space') {
204
+ event.preventDefault();
205
+ choose(date);
206
+ return;
207
+ }
208
+ switch (event.key) {
209
+ case 'ArrowLeft':
210
+ event.preventDefault();
211
+ goTo(addDays(date, -1));
212
+ return;
213
+ case 'ArrowRight':
214
+ event.preventDefault();
215
+ goTo(addDays(date, 1));
216
+ return;
217
+ case 'ArrowUp':
218
+ event.preventDefault();
219
+ goTo(addDays(date, -7));
220
+ return;
221
+ case 'ArrowDown':
222
+ event.preventDefault();
223
+ goTo(addDays(date, 7));
224
+ return;
225
+ case 'Home':
226
+ event.preventDefault();
227
+ if (first !== undefined)
228
+ goTo(first);
229
+ return;
230
+ case 'End':
231
+ event.preventDefault();
232
+ if (last !== null)
233
+ goTo(last);
234
+ return;
235
+ case 'PageUp':
236
+ event.preventDefault();
237
+ goTo(shiftMonth(date, event.shiftKey ? -12 : -1));
238
+ return;
239
+ case 'PageDown':
240
+ event.preventDefault();
241
+ goTo(shiftMonth(date, event.shiftKey ? 12 : 1));
242
+ return;
243
+ default:
244
+ }
245
+ };
246
+ return (_jsx("div", { ref: gridRef, "data-slot": "mini-calendar", className: cn('bg-card text-card-foreground w-64 rounded-md border p-3 shadow-sm', className), children: _jsxs("table", { "data-slot": "mini-calendar-grid", role: "grid", "aria-label": label, className: "w-full border-collapse tabular-nums", children: [_jsx("caption", { "data-slot": "mini-calendar-caption", className: "mb-2", children: _jsxs("span", { className: "flex items-center justify-between gap-1", children: [_jsx("button", { type: "button", "data-slot": "mini-calendar-previous", "aria-label": previousLabel, onClick: () => move(shiftMonth(shown, -1)), className: NAV_CONTROL, children: _jsx(ChevronLeftIcon, { className: "size-4", "aria-hidden": "true" }) }), _jsx("span", { "data-slot": "mini-calendar-month", "aria-live": "polite", className: "text-foreground text-sm font-medium", children: monthText }), _jsx("button", { type: "button", "data-slot": "mini-calendar-next", "aria-label": nextLabel, onClick: () => move(shiftMonth(shown, 1)), className: NAV_CONTROL, children: _jsx(ChevronRightIcon, { className: "size-4", "aria-hidden": "true" }) })] }) }), _jsx("thead", { children: _jsx("tr", { children: headings.map((heading) => (_jsx("th", { scope: "col", abbr: heading.long, "data-slot": "mini-calendar-weekday", className: "text-muted-foreground flex h-8 items-center justify-center text-xs font-medium", children: heading.short }, heading.long))) }) }), _jsx("tbody", { children: Array.from({ length: 6 }, (_, row) => (_jsx("tr", { children: cells.slice(row * 7, row * 7 + 7).map((date) => {
247
+ const key = iso(date);
248
+ if (!sameMonth(date, shown)) {
249
+ // The cells that pad the month out. Hidden from the accessibility
250
+ // tree rather than filled with the neighbouring month's dates,
251
+ // because a date from another month drawn in this grid is a date
252
+ // the reader did not come for.
253
+ return _jsx("td", { role: "gridcell", "aria-hidden": "true", className: "p-0" }, key);
254
+ }
255
+ const unavailable = isUnavailable(date);
256
+ const isSelected = key === chosenIso;
257
+ const isToday = key === todayIso;
258
+ return (_jsx("td", { role: "gridcell", "data-slot": "mini-calendar-cell", "aria-selected": isSelected, className: "p-0", children: _jsx("button", { type: "button", "data-slot": "mini-calendar-day", "data-date": key, tabIndex: key === focusedIso ? 0 : -1, "aria-current": isToday ? 'date' : undefined, "aria-disabled": unavailable || undefined, onClick: () => choose(date), onKeyDown: (event) => onDayKeyDown(event, date), className: cn(DAY_CELL, unavailable && DAY_STATE.unavailable, isToday && !isSelected && DAY_STATE.today, isSelected && DAY_STATE.selected), children: dayText.format(date) }) }, key));
259
+ }) }, row))) })] }) }));
260
+ }
261
+ export { MiniCalendar };