@nanisoft/prism-ui 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/THIRD-PARTY-NOTICES.md +22 -7
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/blocks/about-01/about.d.ts +296 -0
  4. package/dist/blocks/about-01/about.d.ts.map +1 -0
  5. package/dist/blocks/about-01/about.js +103 -0
  6. package/dist/blocks/about-01/index.d.ts +3 -0
  7. package/dist/blocks/about-01/index.d.ts.map +1 -0
  8. package/dist/blocks/about-01/index.js +1 -0
  9. package/dist/blocks/accept-invite-01/accept-invite.d.ts +324 -0
  10. package/dist/blocks/accept-invite-01/accept-invite.d.ts.map +1 -0
  11. package/dist/blocks/accept-invite-01/accept-invite.js +230 -0
  12. package/dist/blocks/accept-invite-01/index.d.ts +3 -0
  13. package/dist/blocks/accept-invite-01/index.d.ts.map +1 -0
  14. package/dist/blocks/accept-invite-01/index.js +1 -0
  15. package/dist/blocks/account-01/account-01.d.ts +393 -0
  16. package/dist/blocks/account-01/account-01.d.ts.map +1 -0
  17. package/dist/blocks/account-01/account-01.js +215 -0
  18. package/dist/blocks/account-01/index.d.ts +3 -0
  19. package/dist/blocks/account-01/index.d.ts.map +1 -0
  20. package/dist/blocks/account-01/index.js +1 -0
  21. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +271 -0
  22. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -0
  23. package/dist/blocks/activity-feed-01/activity-feed-01.js +185 -0
  24. package/dist/blocks/activity-feed-01/index.d.ts +3 -0
  25. package/dist/blocks/activity-feed-01/index.d.ts.map +1 -0
  26. package/dist/blocks/activity-feed-01/index.js +1 -0
  27. package/dist/blocks/address-book-01/address-book-01.d.ts +312 -0
  28. package/dist/blocks/address-book-01/address-book-01.d.ts.map +1 -0
  29. package/dist/blocks/address-book-01/address-book-01.js +233 -0
  30. package/dist/blocks/address-book-01/index.d.ts +3 -0
  31. package/dist/blocks/address-book-01/index.d.ts.map +1 -0
  32. package/dist/blocks/address-book-01/index.js +1 -0
  33. package/dist/blocks/audit-log-01/audit-log-01.d.ts +333 -0
  34. package/dist/blocks/audit-log-01/audit-log-01.d.ts.map +1 -0
  35. package/dist/blocks/audit-log-01/audit-log-01.js +211 -0
  36. package/dist/blocks/audit-log-01/index.d.ts +3 -0
  37. package/dist/blocks/audit-log-01/index.d.ts.map +1 -0
  38. package/dist/blocks/audit-log-01/index.js +1 -0
  39. package/dist/blocks/auth-form-01/auth-form.d.ts +40 -1
  40. package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
  41. package/dist/blocks/auth-form-01/auth-form.js +26 -3
  42. package/dist/blocks/awards-01/awards.d.ts +156 -0
  43. package/dist/blocks/awards-01/awards.d.ts.map +1 -0
  44. package/dist/blocks/awards-01/awards.js +102 -0
  45. package/dist/blocks/awards-01/index.d.ts +3 -0
  46. package/dist/blocks/awards-01/index.d.ts.map +1 -0
  47. package/dist/blocks/awards-01/index.js +1 -0
  48. package/dist/blocks/backdrop-01/backdrop.d.ts +268 -0
  49. package/dist/blocks/backdrop-01/backdrop.d.ts.map +1 -0
  50. package/dist/blocks/backdrop-01/backdrop.js +170 -0
  51. package/dist/blocks/backdrop-01/index.d.ts +3 -0
  52. package/dist/blocks/backdrop-01/index.d.ts.map +1 -0
  53. package/dist/blocks/backdrop-01/index.js +1 -0
  54. package/dist/blocks/bento-01/bento-01.d.ts +136 -0
  55. package/dist/blocks/bento-01/bento-01.d.ts.map +1 -0
  56. package/dist/blocks/bento-01/bento-01.js +97 -0
  57. package/dist/blocks/bento-01/index.d.ts +3 -0
  58. package/dist/blocks/bento-01/index.d.ts.map +1 -0
  59. package/dist/blocks/bento-01/index.js +1 -0
  60. package/dist/blocks/billing-source-01/billing-source-01.d.ts +379 -0
  61. package/dist/blocks/billing-source-01/billing-source-01.d.ts.map +1 -0
  62. package/dist/blocks/billing-source-01/billing-source-01.js +222 -0
  63. package/dist/blocks/billing-source-01/index.d.ts +3 -0
  64. package/dist/blocks/billing-source-01/index.d.ts.map +1 -0
  65. package/dist/blocks/billing-source-01/index.js +1 -0
  66. package/dist/blocks/bundle-01/bundle.d.ts +387 -0
  67. package/dist/blocks/bundle-01/bundle.d.ts.map +1 -0
  68. package/dist/blocks/bundle-01/bundle.js +153 -0
  69. package/dist/blocks/bundle-01/index.d.ts +3 -0
  70. package/dist/blocks/bundle-01/index.d.ts.map +1 -0
  71. package/dist/blocks/bundle-01/index.js +1 -0
  72. package/dist/blocks/calendar-01/calendar.d.ts +251 -0
  73. package/dist/blocks/calendar-01/calendar.d.ts.map +1 -0
  74. package/dist/blocks/calendar-01/calendar.js +191 -0
  75. package/dist/blocks/calendar-01/index.d.ts +3 -0
  76. package/dist/blocks/calendar-01/index.d.ts.map +1 -0
  77. package/dist/blocks/calendar-01/index.js +1 -0
  78. package/dist/blocks/capacity-01/capacity.d.ts +363 -0
  79. package/dist/blocks/capacity-01/capacity.d.ts.map +1 -0
  80. package/dist/blocks/capacity-01/capacity.js +208 -0
  81. package/dist/blocks/capacity-01/index.d.ts +3 -0
  82. package/dist/blocks/capacity-01/index.d.ts.map +1 -0
  83. package/dist/blocks/capacity-01/index.js +1 -0
  84. package/dist/blocks/careers-01/careers.d.ts +186 -0
  85. package/dist/blocks/careers-01/careers.d.ts.map +1 -0
  86. package/dist/blocks/careers-01/careers.js +83 -0
  87. package/dist/blocks/careers-01/index.d.ts +3 -0
  88. package/dist/blocks/careers-01/index.d.ts.map +1 -0
  89. package/dist/blocks/careers-01/index.js +1 -0
  90. package/dist/blocks/case-studies-01/case-studies.d.ts +192 -0
  91. package/dist/blocks/case-studies-01/case-studies.d.ts.map +1 -0
  92. package/dist/blocks/case-studies-01/case-studies.js +97 -0
  93. package/dist/blocks/case-studies-01/index.d.ts +3 -0
  94. package/dist/blocks/case-studies-01/index.d.ts.map +1 -0
  95. package/dist/blocks/case-studies-01/index.js +1 -0
  96. package/dist/blocks/case-study-01/case-study.d.ts +214 -0
  97. package/dist/blocks/case-study-01/case-study.d.ts.map +1 -0
  98. package/dist/blocks/case-study-01/case-study.js +79 -0
  99. package/dist/blocks/case-study-01/index.d.ts +3 -0
  100. package/dist/blocks/case-study-01/index.d.ts.map +1 -0
  101. package/dist/blocks/case-study-01/index.js +1 -0
  102. package/dist/blocks/changelog-01/changelog.d.ts +200 -0
  103. package/dist/blocks/changelog-01/changelog.d.ts.map +1 -0
  104. package/dist/blocks/changelog-01/changelog.js +155 -0
  105. package/dist/blocks/changelog-01/index.d.ts +3 -0
  106. package/dist/blocks/changelog-01/index.d.ts.map +1 -0
  107. package/dist/blocks/changelog-01/index.js +1 -0
  108. package/dist/blocks/chart-card-01/chart-card-01.d.ts +149 -0
  109. package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -0
  110. package/dist/blocks/chart-card-01/chart-card-01.js +81 -0
  111. package/dist/blocks/chart-card-01/index.d.ts +3 -0
  112. package/dist/blocks/chart-card-01/index.d.ts.map +1 -0
  113. package/dist/blocks/chart-card-01/index.js +1 -0
  114. package/dist/blocks/chart-group-01/chart-group-01.d.ts +138 -0
  115. package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -0
  116. package/dist/blocks/chart-group-01/chart-group-01.js +74 -0
  117. package/dist/blocks/chart-group-01/index.d.ts +3 -0
  118. package/dist/blocks/chart-group-01/index.d.ts.map +1 -0
  119. package/dist/blocks/chart-group-01/index.js +1 -0
  120. package/dist/blocks/code-sample-01/code-sample.d.ts +193 -0
  121. package/dist/blocks/code-sample-01/code-sample.d.ts.map +1 -0
  122. package/dist/blocks/code-sample-01/code-sample.js +104 -0
  123. package/dist/blocks/code-sample-01/index.d.ts +3 -0
  124. package/dist/blocks/code-sample-01/index.d.ts.map +1 -0
  125. package/dist/blocks/code-sample-01/index.js +1 -0
  126. package/dist/blocks/community-01/community.d.ts +183 -0
  127. package/dist/blocks/community-01/community.d.ts.map +1 -0
  128. package/dist/blocks/community-01/community.js +102 -0
  129. package/dist/blocks/community-01/index.d.ts +3 -0
  130. package/dist/blocks/community-01/index.d.ts.map +1 -0
  131. package/dist/blocks/community-01/index.js +1 -0
  132. package/dist/blocks/compare-01/compare.d.ts +184 -0
  133. package/dist/blocks/compare-01/compare.d.ts.map +1 -0
  134. package/dist/blocks/compare-01/compare.js +106 -0
  135. package/dist/blocks/compare-01/index.d.ts +3 -0
  136. package/dist/blocks/compare-01/index.d.ts.map +1 -0
  137. package/dist/blocks/compare-01/index.js +1 -0
  138. package/dist/blocks/compliance-01/compliance.d.ts +249 -0
  139. package/dist/blocks/compliance-01/compliance.d.ts.map +1 -0
  140. package/dist/blocks/compliance-01/compliance.js +130 -0
  141. package/dist/blocks/compliance-01/index.d.ts +3 -0
  142. package/dist/blocks/compliance-01/index.d.ts.map +1 -0
  143. package/dist/blocks/compliance-01/index.js +1 -0
  144. package/dist/blocks/consent-01/consent.d.ts +211 -0
  145. package/dist/blocks/consent-01/consent.d.ts.map +1 -0
  146. package/dist/blocks/consent-01/consent.js +101 -0
  147. package/dist/blocks/consent-01/index.d.ts +3 -0
  148. package/dist/blocks/consent-01/index.d.ts.map +1 -0
  149. package/dist/blocks/consent-01/index.js +1 -0
  150. package/dist/blocks/contact-01/contact.d.ts +319 -0
  151. package/dist/blocks/contact-01/contact.d.ts.map +1 -0
  152. package/dist/blocks/contact-01/contact.js +211 -0
  153. package/dist/blocks/contact-01/index.d.ts +3 -0
  154. package/dist/blocks/contact-01/index.d.ts.map +1 -0
  155. package/dist/blocks/contact-01/index.js +1 -0
  156. package/dist/blocks/content-grid-01/content-grid.d.ts +262 -0
  157. package/dist/blocks/content-grid-01/content-grid.d.ts.map +1 -0
  158. package/dist/blocks/content-grid-01/content-grid.js +155 -0
  159. package/dist/blocks/content-grid-01/index.d.ts +3 -0
  160. package/dist/blocks/content-grid-01/index.d.ts.map +1 -0
  161. package/dist/blocks/content-grid-01/index.js +1 -0
  162. package/dist/blocks/cta-01/cta.d.ts +7 -1
  163. package/dist/blocks/cta-01/cta.d.ts.map +1 -1
  164. package/dist/blocks/cta-01/cta.js +11 -2
  165. package/dist/blocks/dashboard-01/dashboard-01.d.ts +247 -0
  166. package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -0
  167. package/dist/blocks/dashboard-01/dashboard-01.js +141 -0
  168. package/dist/blocks/dashboard-01/index.d.ts +3 -0
  169. package/dist/blocks/dashboard-01/index.d.ts.map +1 -0
  170. package/dist/blocks/dashboard-01/index.js +1 -0
  171. package/dist/blocks/data-table-01/data-table.d.ts +12 -1
  172. package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
  173. package/dist/blocks/data-table-01/data-table.js +8 -5
  174. package/dist/blocks/delivery-01/delivery.d.ts +343 -0
  175. package/dist/blocks/delivery-01/delivery.d.ts.map +1 -0
  176. package/dist/blocks/delivery-01/delivery.js +212 -0
  177. package/dist/blocks/delivery-01/index.d.ts +3 -0
  178. package/dist/blocks/delivery-01/index.d.ts.map +1 -0
  179. package/dist/blocks/delivery-01/index.js +1 -0
  180. package/dist/blocks/directory-01/directory-01.d.ts +316 -0
  181. package/dist/blocks/directory-01/directory-01.d.ts.map +1 -0
  182. package/dist/blocks/directory-01/directory-01.js +252 -0
  183. package/dist/blocks/directory-01/index.d.ts +3 -0
  184. package/dist/blocks/directory-01/index.d.ts.map +1 -0
  185. package/dist/blocks/directory-01/index.js +1 -0
  186. package/dist/blocks/download-01/download.d.ts +261 -0
  187. package/dist/blocks/download-01/download.d.ts.map +1 -0
  188. package/dist/blocks/download-01/download.js +115 -0
  189. package/dist/blocks/download-01/index.d.ts +3 -0
  190. package/dist/blocks/download-01/index.d.ts.map +1 -0
  191. package/dist/blocks/download-01/index.js +1 -0
  192. package/dist/blocks/faq-01/faq.d.ts +128 -0
  193. package/dist/blocks/faq-01/faq.d.ts.map +1 -0
  194. package/dist/blocks/faq-01/faq.js +53 -0
  195. package/dist/blocks/faq-01/index.d.ts +3 -0
  196. package/dist/blocks/faq-01/index.d.ts.map +1 -0
  197. package/dist/blocks/faq-01/index.js +1 -0
  198. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts +158 -0
  199. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts.map +1 -0
  200. package/dist/blocks/feature-rows-01/feature-rows-01.js +81 -0
  201. package/dist/blocks/feature-rows-01/index.d.ts +3 -0
  202. package/dist/blocks/feature-rows-01/index.d.ts.map +1 -0
  203. package/dist/blocks/feature-rows-01/index.js +1 -0
  204. package/dist/blocks/feedback-01/feedback.d.ts +235 -0
  205. package/dist/blocks/feedback-01/feedback.d.ts.map +1 -0
  206. package/dist/blocks/feedback-01/feedback.js +113 -0
  207. package/dist/blocks/feedback-01/index.d.ts +3 -0
  208. package/dist/blocks/feedback-01/index.d.ts.map +1 -0
  209. package/dist/blocks/feedback-01/index.js +1 -0
  210. package/dist/blocks/field-map-01/field-map.d.ts +247 -0
  211. package/dist/blocks/field-map-01/field-map.d.ts.map +1 -0
  212. package/dist/blocks/field-map-01/field-map.js +183 -0
  213. package/dist/blocks/field-map-01/index.d.ts +3 -0
  214. package/dist/blocks/field-map-01/index.d.ts.map +1 -0
  215. package/dist/blocks/field-map-01/index.js +1 -0
  216. package/dist/blocks/forgot-password-01/forgot-password.d.ts +288 -0
  217. package/dist/blocks/forgot-password-01/forgot-password.d.ts.map +1 -0
  218. package/dist/blocks/forgot-password-01/forgot-password.js +190 -0
  219. package/dist/blocks/forgot-password-01/index.d.ts +3 -0
  220. package/dist/blocks/forgot-password-01/index.d.ts.map +1 -0
  221. package/dist/blocks/forgot-password-01/index.js +1 -0
  222. package/dist/blocks/gallery-01/gallery.d.ts +208 -0
  223. package/dist/blocks/gallery-01/gallery.d.ts.map +1 -0
  224. package/dist/blocks/gallery-01/gallery.js +174 -0
  225. package/dist/blocks/gallery-01/index.d.ts +3 -0
  226. package/dist/blocks/gallery-01/index.d.ts.map +1 -0
  227. package/dist/blocks/gallery-01/index.js +1 -0
  228. package/dist/blocks/gantt-01/gantt.d.ts +290 -0
  229. package/dist/blocks/gantt-01/gantt.d.ts.map +1 -0
  230. package/dist/blocks/gantt-01/gantt.js +224 -0
  231. package/dist/blocks/gantt-01/index.d.ts +3 -0
  232. package/dist/blocks/gantt-01/index.d.ts.map +1 -0
  233. package/dist/blocks/gantt-01/index.js +1 -0
  234. package/dist/blocks/handoff-01/handoff-01.d.ts +326 -0
  235. package/dist/blocks/handoff-01/handoff-01.d.ts.map +1 -0
  236. package/dist/blocks/handoff-01/handoff-01.js +180 -0
  237. package/dist/blocks/handoff-01/index.d.ts +3 -0
  238. package/dist/blocks/handoff-01/index.d.ts.map +1 -0
  239. package/dist/blocks/handoff-01/index.js +1 -0
  240. package/dist/blocks/help-01/help.d.ts +254 -0
  241. package/dist/blocks/help-01/help.d.ts.map +1 -0
  242. package/dist/blocks/help-01/help.js +188 -0
  243. package/dist/blocks/help-01/index.d.ts +3 -0
  244. package/dist/blocks/help-01/index.d.ts.map +1 -0
  245. package/dist/blocks/help-01/index.js +1 -0
  246. package/dist/blocks/hero-01/hero.d.ts +105 -34
  247. package/dist/blocks/hero-01/hero.d.ts.map +1 -1
  248. package/dist/blocks/hero-01/hero.js +23 -15
  249. package/dist/blocks/hero-01/index.d.ts +1 -1
  250. package/dist/blocks/hero-01/index.d.ts.map +1 -1
  251. package/dist/blocks/hero-02/hero-02.d.ts +244 -0
  252. package/dist/blocks/hero-02/hero-02.d.ts.map +1 -0
  253. package/dist/blocks/hero-02/hero-02.js +87 -0
  254. package/dist/blocks/hero-02/index.d.ts +3 -0
  255. package/dist/blocks/hero-02/index.d.ts.map +1 -0
  256. package/dist/blocks/hero-02/index.js +1 -0
  257. package/dist/blocks/hero-03/hero-03.d.ts +247 -0
  258. package/dist/blocks/hero-03/hero-03.d.ts.map +1 -0
  259. package/dist/blocks/hero-03/hero-03.js +93 -0
  260. package/dist/blocks/hero-03/index.d.ts +3 -0
  261. package/dist/blocks/hero-03/index.d.ts.map +1 -0
  262. package/dist/blocks/hero-03/index.js +1 -0
  263. package/dist/blocks/history-01/history-01.d.ts +414 -0
  264. package/dist/blocks/history-01/history-01.d.ts.map +1 -0
  265. package/dist/blocks/history-01/history-01.js +285 -0
  266. package/dist/blocks/history-01/index.d.ts +3 -0
  267. package/dist/blocks/history-01/index.d.ts.map +1 -0
  268. package/dist/blocks/history-01/index.js +1 -0
  269. package/dist/blocks/inbox-01/inbox.d.ts +349 -0
  270. package/dist/blocks/inbox-01/inbox.d.ts.map +1 -0
  271. package/dist/blocks/inbox-01/inbox.js +244 -0
  272. package/dist/blocks/inbox-01/index.d.ts +3 -0
  273. package/dist/blocks/inbox-01/index.d.ts.map +1 -0
  274. package/dist/blocks/inbox-01/index.js +1 -0
  275. package/dist/blocks/index.d.ts +203 -0
  276. package/dist/blocks/index.d.ts.map +1 -1
  277. package/dist/blocks/index.js +118 -0
  278. package/dist/blocks/industries-01/index.d.ts +3 -0
  279. package/dist/blocks/industries-01/index.d.ts.map +1 -0
  280. package/dist/blocks/industries-01/index.js +1 -0
  281. package/dist/blocks/industries-01/industries.d.ts +164 -0
  282. package/dist/blocks/industries-01/industries.d.ts.map +1 -0
  283. package/dist/blocks/industries-01/industries.js +96 -0
  284. package/dist/blocks/intake-01/index.d.ts +3 -0
  285. package/dist/blocks/intake-01/index.d.ts.map +1 -0
  286. package/dist/blocks/intake-01/index.js +1 -0
  287. package/dist/blocks/intake-01/intake-01.d.ts +305 -0
  288. package/dist/blocks/intake-01/intake-01.d.ts.map +1 -0
  289. package/dist/blocks/intake-01/intake-01.js +178 -0
  290. package/dist/blocks/integration-01/index.d.ts +3 -0
  291. package/dist/blocks/integration-01/index.d.ts.map +1 -0
  292. package/dist/blocks/integration-01/index.js +1 -0
  293. package/dist/blocks/integration-01/integration.d.ts +226 -0
  294. package/dist/blocks/integration-01/integration.d.ts.map +1 -0
  295. package/dist/blocks/integration-01/integration.js +170 -0
  296. package/dist/blocks/invite-user-01/index.d.ts +3 -0
  297. package/dist/blocks/invite-user-01/index.d.ts.map +1 -0
  298. package/dist/blocks/invite-user-01/index.js +1 -0
  299. package/dist/blocks/invite-user-01/invite-user.d.ts +317 -0
  300. package/dist/blocks/invite-user-01/invite-user.d.ts.map +1 -0
  301. package/dist/blocks/invite-user-01/invite-user.js +228 -0
  302. package/dist/blocks/issue-detail-01/index.d.ts +3 -0
  303. package/dist/blocks/issue-detail-01/index.d.ts.map +1 -0
  304. package/dist/blocks/issue-detail-01/index.js +1 -0
  305. package/dist/blocks/issue-detail-01/issue-detail.d.ts +355 -0
  306. package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -0
  307. package/dist/blocks/issue-detail-01/issue-detail.js +187 -0
  308. package/dist/blocks/issue-list-01/index.d.ts +3 -0
  309. package/dist/blocks/issue-list-01/index.d.ts.map +1 -0
  310. package/dist/blocks/issue-list-01/index.js +1 -0
  311. package/dist/blocks/issue-list-01/issue-list.d.ts +298 -0
  312. package/dist/blocks/issue-list-01/issue-list.d.ts.map +1 -0
  313. package/dist/blocks/issue-list-01/issue-list.js +284 -0
  314. package/dist/blocks/kanban-01/index.d.ts +3 -0
  315. package/dist/blocks/kanban-01/index.d.ts.map +1 -0
  316. package/dist/blocks/kanban-01/index.js +1 -0
  317. package/dist/blocks/kanban-01/kanban.d.ts +278 -0
  318. package/dist/blocks/kanban-01/kanban.d.ts.map +1 -0
  319. package/dist/blocks/kanban-01/kanban.js +144 -0
  320. package/dist/blocks/leaderboard-01/index.d.ts +3 -0
  321. package/dist/blocks/leaderboard-01/index.d.ts.map +1 -0
  322. package/dist/blocks/leaderboard-01/index.js +1 -0
  323. package/dist/blocks/leaderboard-01/leaderboard.d.ts +250 -0
  324. package/dist/blocks/leaderboard-01/leaderboard.d.ts.map +1 -0
  325. package/dist/blocks/leaderboard-01/leaderboard.js +121 -0
  326. package/dist/blocks/login-01/index.d.ts +3 -0
  327. package/dist/blocks/login-01/index.d.ts.map +1 -0
  328. package/dist/blocks/login-01/index.js +1 -0
  329. package/dist/blocks/login-01/login-01.d.ts +356 -0
  330. package/dist/blocks/login-01/login-01.d.ts.map +1 -0
  331. package/dist/blocks/login-01/login-01.js +249 -0
  332. package/dist/blocks/logo-cloud-01/index.d.ts +3 -0
  333. package/dist/blocks/logo-cloud-01/index.d.ts.map +1 -0
  334. package/dist/blocks/logo-cloud-01/index.js +1 -0
  335. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts +181 -0
  336. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts.map +1 -0
  337. package/dist/blocks/logo-cloud-01/logo-cloud.js +118 -0
  338. package/dist/blocks/magic-link-01/index.d.ts +3 -0
  339. package/dist/blocks/magic-link-01/index.d.ts.map +1 -0
  340. package/dist/blocks/magic-link-01/index.js +1 -0
  341. package/dist/blocks/magic-link-01/magic-link-01.d.ts +367 -0
  342. package/dist/blocks/magic-link-01/magic-link-01.d.ts.map +1 -0
  343. package/dist/blocks/magic-link-01/magic-link-01.js +233 -0
  344. package/dist/blocks/member-list-01/index.d.ts +3 -0
  345. package/dist/blocks/member-list-01/index.d.ts.map +1 -0
  346. package/dist/blocks/member-list-01/index.js +1 -0
  347. package/dist/blocks/member-list-01/member-list.d.ts +192 -0
  348. package/dist/blocks/member-list-01/member-list.d.ts.map +1 -0
  349. package/dist/blocks/member-list-01/member-list.js +142 -0
  350. package/dist/blocks/milestone-timeline-01/index.d.ts +3 -0
  351. package/dist/blocks/milestone-timeline-01/index.d.ts.map +1 -0
  352. package/dist/blocks/milestone-timeline-01/index.js +1 -0
  353. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts +217 -0
  354. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts.map +1 -0
  355. package/dist/blocks/milestone-timeline-01/milestone-timeline.js +173 -0
  356. package/dist/blocks/newsletter-01/index.d.ts +3 -0
  357. package/dist/blocks/newsletter-01/index.d.ts.map +1 -0
  358. package/dist/blocks/newsletter-01/index.js +1 -0
  359. package/dist/blocks/newsletter-01/newsletter.d.ts +216 -0
  360. package/dist/blocks/newsletter-01/newsletter.d.ts.map +1 -0
  361. package/dist/blocks/newsletter-01/newsletter.js +102 -0
  362. package/dist/blocks/notification-center-01/index.d.ts +3 -0
  363. package/dist/blocks/notification-center-01/index.d.ts.map +1 -0
  364. package/dist/blocks/notification-center-01/index.js +1 -0
  365. package/dist/blocks/notification-center-01/notification-center-01.d.ts +341 -0
  366. package/dist/blocks/notification-center-01/notification-center-01.d.ts.map +1 -0
  367. package/dist/blocks/notification-center-01/notification-center-01.js +203 -0
  368. package/dist/blocks/offer-01/index.d.ts +3 -0
  369. package/dist/blocks/offer-01/index.d.ts.map +1 -0
  370. package/dist/blocks/offer-01/index.js +1 -0
  371. package/dist/blocks/offer-01/offer.d.ts +139 -0
  372. package/dist/blocks/offer-01/offer.d.ts.map +1 -0
  373. package/dist/blocks/offer-01/offer.js +81 -0
  374. package/dist/blocks/offering-01/index.d.ts +3 -0
  375. package/dist/blocks/offering-01/index.d.ts.map +1 -0
  376. package/dist/blocks/offering-01/index.js +1 -0
  377. package/dist/blocks/offering-01/offering.d.ts +245 -0
  378. package/dist/blocks/offering-01/offering.d.ts.map +1 -0
  379. package/dist/blocks/offering-01/offering.js +144 -0
  380. package/dist/blocks/offering-categories-01/index.d.ts +3 -0
  381. package/dist/blocks/offering-categories-01/index.d.ts.map +1 -0
  382. package/dist/blocks/offering-categories-01/index.js +1 -0
  383. package/dist/blocks/offering-categories-01/offering-categories.d.ts +248 -0
  384. package/dist/blocks/offering-categories-01/offering-categories.d.ts.map +1 -0
  385. package/dist/blocks/offering-categories-01/offering-categories.js +153 -0
  386. package/dist/blocks/offering-list-01/index.d.ts +3 -0
  387. package/dist/blocks/offering-list-01/index.d.ts.map +1 -0
  388. package/dist/blocks/offering-list-01/index.js +1 -0
  389. package/dist/blocks/offering-list-01/offering-list.d.ts +362 -0
  390. package/dist/blocks/offering-list-01/offering-list.d.ts.map +1 -0
  391. package/dist/blocks/offering-list-01/offering-list.js +366 -0
  392. package/dist/blocks/onboarding-01/index.d.ts +3 -0
  393. package/dist/blocks/onboarding-01/index.d.ts.map +1 -0
  394. package/dist/blocks/onboarding-01/index.js +1 -0
  395. package/dist/blocks/onboarding-01/onboarding.d.ts +199 -0
  396. package/dist/blocks/onboarding-01/onboarding.d.ts.map +1 -0
  397. package/dist/blocks/onboarding-01/onboarding.js +182 -0
  398. package/dist/blocks/ops-checklist-01/index.d.ts +3 -0
  399. package/dist/blocks/ops-checklist-01/index.d.ts.map +1 -0
  400. package/dist/blocks/ops-checklist-01/index.js +1 -0
  401. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts +308 -0
  402. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts.map +1 -0
  403. package/dist/blocks/ops-checklist-01/ops-checklist-01.js +165 -0
  404. package/dist/blocks/page-header-01/index.d.ts +1 -1
  405. package/dist/blocks/page-header-01/index.d.ts.map +1 -1
  406. package/dist/blocks/page-header-01/page-header.d.ts +124 -11
  407. package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
  408. package/dist/blocks/page-header-01/page-header.js +25 -9
  409. package/dist/blocks/passkey-01/index.d.ts +3 -0
  410. package/dist/blocks/passkey-01/index.d.ts.map +1 -0
  411. package/dist/blocks/passkey-01/index.js +1 -0
  412. package/dist/blocks/passkey-01/passkey-01.d.ts +334 -0
  413. package/dist/blocks/passkey-01/passkey-01.d.ts.map +1 -0
  414. package/dist/blocks/passkey-01/passkey-01.js +192 -0
  415. package/dist/blocks/permission-matrix-01/index.d.ts +3 -0
  416. package/dist/blocks/permission-matrix-01/index.d.ts.map +1 -0
  417. package/dist/blocks/permission-matrix-01/index.js +1 -0
  418. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts +282 -0
  419. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts.map +1 -0
  420. package/dist/blocks/permission-matrix-01/permission-matrix.js +173 -0
  421. package/dist/blocks/pricing-01/index.d.ts +1 -0
  422. package/dist/blocks/pricing-01/index.d.ts.map +1 -1
  423. package/dist/blocks/pricing-01/pricing.d.ts +118 -1
  424. package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
  425. package/dist/blocks/pricing-01/pricing.js +9 -2
  426. package/dist/blocks/pricing-compare-01/index.d.ts +3 -0
  427. package/dist/blocks/pricing-compare-01/index.d.ts.map +1 -0
  428. package/dist/blocks/pricing-compare-01/index.js +1 -0
  429. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts +277 -0
  430. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts.map +1 -0
  431. package/dist/blocks/pricing-compare-01/pricing-compare.js +126 -0
  432. package/dist/blocks/project-01/index.d.ts +3 -0
  433. package/dist/blocks/project-01/index.d.ts.map +1 -0
  434. package/dist/blocks/project-01/index.js +1 -0
  435. package/dist/blocks/project-01/project.d.ts +323 -0
  436. package/dist/blocks/project-01/project.d.ts.map +1 -0
  437. package/dist/blocks/project-01/project.js +247 -0
  438. package/dist/blocks/project-dashboard-01/index.d.ts +3 -0
  439. package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -0
  440. package/dist/blocks/project-dashboard-01/index.js +1 -0
  441. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +200 -0
  442. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -0
  443. package/dist/blocks/project-dashboard-01/project-dashboard.js +124 -0
  444. package/dist/blocks/project-list-01/index.d.ts +3 -0
  445. package/dist/blocks/project-list-01/index.d.ts.map +1 -0
  446. package/dist/blocks/project-list-01/index.js +1 -0
  447. package/dist/blocks/project-list-01/project-list.d.ts +301 -0
  448. package/dist/blocks/project-list-01/project-list.d.ts.map +1 -0
  449. package/dist/blocks/project-list-01/project-list.js +305 -0
  450. package/dist/blocks/provisioning-01/index.d.ts +3 -0
  451. package/dist/blocks/provisioning-01/index.d.ts.map +1 -0
  452. package/dist/blocks/provisioning-01/index.js +1 -0
  453. package/dist/blocks/provisioning-01/provisioning.d.ts +357 -0
  454. package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -0
  455. package/dist/blocks/provisioning-01/provisioning.js +230 -0
  456. package/dist/blocks/quick-view-01/index.d.ts +3 -0
  457. package/dist/blocks/quick-view-01/index.d.ts.map +1 -0
  458. package/dist/blocks/quick-view-01/index.js +1 -0
  459. package/dist/blocks/quick-view-01/quick-view.d.ts +215 -0
  460. package/dist/blocks/quick-view-01/quick-view.d.ts.map +1 -0
  461. package/dist/blocks/quick-view-01/quick-view.js +136 -0
  462. package/dist/blocks/rate-card-01/index.d.ts +3 -0
  463. package/dist/blocks/rate-card-01/index.d.ts.map +1 -0
  464. package/dist/blocks/rate-card-01/index.js +1 -0
  465. package/dist/blocks/rate-card-01/rate-card.d.ts +184 -0
  466. package/dist/blocks/rate-card-01/rate-card.d.ts.map +1 -0
  467. package/dist/blocks/rate-card-01/rate-card.js +79 -0
  468. package/dist/blocks/reset-password-01/index.d.ts +3 -0
  469. package/dist/blocks/reset-password-01/index.d.ts.map +1 -0
  470. package/dist/blocks/reset-password-01/index.js +1 -0
  471. package/dist/blocks/reset-password-01/reset-password.d.ts +276 -0
  472. package/dist/blocks/reset-password-01/reset-password.d.ts.map +1 -0
  473. package/dist/blocks/reset-password-01/reset-password.js +175 -0
  474. package/dist/blocks/resource-list-01/index.d.ts +3 -0
  475. package/dist/blocks/resource-list-01/index.d.ts.map +1 -0
  476. package/dist/blocks/resource-list-01/index.js +1 -0
  477. package/dist/blocks/resource-list-01/resource-list.d.ts +237 -0
  478. package/dist/blocks/resource-list-01/resource-list.d.ts.map +1 -0
  479. package/dist/blocks/resource-list-01/resource-list.js +154 -0
  480. package/dist/blocks/retention-01/index.d.ts +3 -0
  481. package/dist/blocks/retention-01/index.d.ts.map +1 -0
  482. package/dist/blocks/retention-01/index.js +1 -0
  483. package/dist/blocks/retention-01/retention.d.ts +255 -0
  484. package/dist/blocks/retention-01/retention.d.ts.map +1 -0
  485. package/dist/blocks/retention-01/retention.js +145 -0
  486. package/dist/blocks/run-console-01/run-console.d.ts +14 -1
  487. package/dist/blocks/run-console-01/run-console.d.ts.map +1 -1
  488. package/dist/blocks/run-console-01/run-console.js +3 -2
  489. package/dist/blocks/services-01/index.d.ts +3 -0
  490. package/dist/blocks/services-01/index.d.ts.map +1 -0
  491. package/dist/blocks/services-01/index.js +1 -0
  492. package/dist/blocks/services-01/services.d.ts +159 -0
  493. package/dist/blocks/services-01/services.d.ts.map +1 -0
  494. package/dist/blocks/services-01/services.js +81 -0
  495. package/dist/blocks/settings-integrations-01/index.d.ts +3 -0
  496. package/dist/blocks/settings-integrations-01/index.d.ts.map +1 -0
  497. package/dist/blocks/settings-integrations-01/index.js +1 -0
  498. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts +246 -0
  499. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts.map +1 -0
  500. package/dist/blocks/settings-integrations-01/settings-integrations.js +213 -0
  501. package/dist/blocks/settings-members-01/index.d.ts +3 -0
  502. package/dist/blocks/settings-members-01/index.d.ts.map +1 -0
  503. package/dist/blocks/settings-members-01/index.js +1 -0
  504. package/dist/blocks/settings-members-01/settings-members.d.ts +396 -0
  505. package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -0
  506. package/dist/blocks/settings-members-01/settings-members.js +255 -0
  507. package/dist/blocks/settings-notifications-01/index.d.ts +3 -0
  508. package/dist/blocks/settings-notifications-01/index.d.ts.map +1 -0
  509. package/dist/blocks/settings-notifications-01/index.js +1 -0
  510. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts +270 -0
  511. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts.map +1 -0
  512. package/dist/blocks/settings-notifications-01/settings-notifications.js +202 -0
  513. package/dist/blocks/settings-security-01/index.d.ts +3 -0
  514. package/dist/blocks/settings-security-01/index.d.ts.map +1 -0
  515. package/dist/blocks/settings-security-01/index.js +1 -0
  516. package/dist/blocks/settings-security-01/settings-security.d.ts +439 -0
  517. package/dist/blocks/settings-security-01/settings-security.d.ts.map +1 -0
  518. package/dist/blocks/settings-security-01/settings-security.js +244 -0
  519. package/dist/blocks/shortlist-01/index.d.ts +3 -0
  520. package/dist/blocks/shortlist-01/index.d.ts.map +1 -0
  521. package/dist/blocks/shortlist-01/index.js +1 -0
  522. package/dist/blocks/shortlist-01/shortlist-01.d.ts +337 -0
  523. package/dist/blocks/shortlist-01/shortlist-01.d.ts.map +1 -0
  524. package/dist/blocks/shortlist-01/shortlist-01.js +191 -0
  525. package/dist/blocks/showcase-01/index.d.ts +3 -0
  526. package/dist/blocks/showcase-01/index.d.ts.map +1 -0
  527. package/dist/blocks/showcase-01/index.js +1 -0
  528. package/dist/blocks/showcase-01/showcase-01.d.ts +238 -0
  529. package/dist/blocks/showcase-01/showcase-01.d.ts.map +1 -0
  530. package/dist/blocks/showcase-01/showcase-01.js +84 -0
  531. package/dist/blocks/signup-01/index.d.ts +3 -0
  532. package/dist/blocks/signup-01/index.d.ts.map +1 -0
  533. package/dist/blocks/signup-01/index.js +1 -0
  534. package/dist/blocks/signup-01/signup-01.d.ts +405 -0
  535. package/dist/blocks/signup-01/signup-01.d.ts.map +1 -0
  536. package/dist/blocks/signup-01/signup-01.js +209 -0
  537. package/dist/blocks/site-footer/site-footer.d.ts +18 -1
  538. package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
  539. package/dist/blocks/site-footer/site-footer.js +8 -2
  540. package/dist/blocks/site-header/site-header.js +1 -1
  541. package/dist/blocks/site-navbar/site-navbar.d.ts +37 -3
  542. package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -1
  543. package/dist/blocks/site-navbar/site-navbar.js +33 -4
  544. package/dist/blocks/spec-table-01/index.d.ts +3 -0
  545. package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
  546. package/dist/blocks/spec-table-01/index.js +1 -0
  547. package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
  548. package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
  549. package/dist/blocks/spec-table-01/spec-table.js +217 -0
  550. package/dist/blocks/story-01/index.d.ts +3 -0
  551. package/dist/blocks/story-01/index.d.ts.map +1 -0
  552. package/dist/blocks/story-01/index.js +1 -0
  553. package/dist/blocks/story-01/story.d.ts +153 -0
  554. package/dist/blocks/story-01/story.d.ts.map +1 -0
  555. package/dist/blocks/story-01/story.js +103 -0
  556. package/dist/blocks/summary-01/index.d.ts +3 -0
  557. package/dist/blocks/summary-01/index.d.ts.map +1 -0
  558. package/dist/blocks/summary-01/index.js +1 -0
  559. package/dist/blocks/summary-01/summary.d.ts +300 -0
  560. package/dist/blocks/summary-01/summary.d.ts.map +1 -0
  561. package/dist/blocks/summary-01/summary.js +174 -0
  562. package/dist/blocks/team-01/index.d.ts +3 -0
  563. package/dist/blocks/team-01/index.d.ts.map +1 -0
  564. package/dist/blocks/team-01/index.js +1 -0
  565. package/dist/blocks/team-01/team.d.ts +176 -0
  566. package/dist/blocks/team-01/team.d.ts.map +1 -0
  567. package/dist/blocks/team-01/team.js +117 -0
  568. package/dist/blocks/testimonial-01/index.d.ts +3 -0
  569. package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
  570. package/dist/blocks/testimonial-01/index.js +1 -0
  571. package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
  572. package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
  573. package/dist/blocks/testimonial-01/testimonial.js +87 -0
  574. package/dist/blocks/todo-01/index.d.ts +3 -0
  575. package/dist/blocks/todo-01/index.d.ts.map +1 -0
  576. package/dist/blocks/todo-01/index.js +1 -0
  577. package/dist/blocks/todo-01/todo.d.ts +286 -0
  578. package/dist/blocks/todo-01/todo.d.ts.map +1 -0
  579. package/dist/blocks/todo-01/todo.js +149 -0
  580. package/dist/blocks/trend-01/index.d.ts +3 -0
  581. package/dist/blocks/trend-01/index.d.ts.map +1 -0
  582. package/dist/blocks/trend-01/index.js +1 -0
  583. package/dist/blocks/trend-01/trend.d.ts +184 -0
  584. package/dist/blocks/trend-01/trend.d.ts.map +1 -0
  585. package/dist/blocks/trend-01/trend.js +99 -0
  586. package/dist/blocks/trust-strip-01/index.d.ts +3 -0
  587. package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
  588. package/dist/blocks/trust-strip-01/index.js +1 -0
  589. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
  590. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
  591. package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
  592. package/dist/blocks/two-factor-01/index.d.ts +3 -0
  593. package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
  594. package/dist/blocks/two-factor-01/index.js +1 -0
  595. package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
  596. package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
  597. package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
  598. package/dist/blocks/user-profile-01/index.d.ts +3 -0
  599. package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
  600. package/dist/blocks/user-profile-01/index.js +1 -0
  601. package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
  602. package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
  603. package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
  604. package/dist/blocks/verify-email-01/index.d.ts +3 -0
  605. package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
  606. package/dist/blocks/verify-email-01/index.js +1 -0
  607. package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
  608. package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
  609. package/dist/blocks/verify-email-01/verify-email.js +190 -0
  610. package/dist/blocks/waitlist-01/index.d.ts +3 -0
  611. package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
  612. package/dist/blocks/waitlist-01/index.js +1 -0
  613. package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
  614. package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
  615. package/dist/blocks/waitlist-01/waitlist.js +75 -0
  616. package/dist/catalog.d.ts.map +1 -1
  617. package/dist/catalog.js +1641 -1
  618. package/dist/components/index.d.ts +114 -0
  619. package/dist/components/index.d.ts.map +1 -1
  620. package/dist/components/index.js +134 -0
  621. package/dist/components/ui/accordion.d.ts.map +1 -1
  622. package/dist/components/ui/accordion.js +9 -2
  623. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  624. package/dist/components/ui/alert-dialog.js +22 -4
  625. package/dist/components/ui/announcement.d.ts +169 -0
  626. package/dist/components/ui/announcement.d.ts.map +1 -0
  627. package/dist/components/ui/announcement.js +123 -0
  628. package/dist/components/ui/avatar-group.d.ts +176 -0
  629. package/dist/components/ui/avatar-group.d.ts.map +1 -0
  630. package/dist/components/ui/avatar-group.js +135 -0
  631. package/dist/components/ui/billing-source.d.ts +293 -0
  632. package/dist/components/ui/billing-source.d.ts.map +1 -0
  633. package/dist/components/ui/billing-source.js +136 -0
  634. package/dist/components/ui/button.d.ts +16 -1
  635. package/dist/components/ui/button.d.ts.map +1 -1
  636. package/dist/components/ui/button.js +17 -2
  637. package/dist/components/ui/calendar.d.ts +9 -0
  638. package/dist/components/ui/calendar.d.ts.map +1 -1
  639. package/dist/components/ui/calendar.js +30 -2
  640. package/dist/components/ui/carousel.d.ts +7 -0
  641. package/dist/components/ui/carousel.d.ts.map +1 -1
  642. package/dist/components/ui/carousel.js +58 -1
  643. package/dist/components/ui/chart.d.ts +334 -0
  644. package/dist/components/ui/chart.d.ts.map +1 -0
  645. package/dist/components/ui/chart.js +369 -0
  646. package/dist/components/ui/checkbox.d.ts +10 -0
  647. package/dist/components/ui/checkbox.d.ts.map +1 -1
  648. package/dist/components/ui/checkbox.js +19 -1
  649. package/dist/components/ui/checklist.d.ts +262 -0
  650. package/dist/components/ui/checklist.d.ts.map +1 -0
  651. package/dist/components/ui/checklist.js +135 -0
  652. package/dist/components/ui/choice-card.d.ts +273 -0
  653. package/dist/components/ui/choice-card.d.ts.map +1 -0
  654. package/dist/components/ui/choice-card.js +138 -0
  655. package/dist/components/ui/code-block.d.ts +182 -0
  656. package/dist/components/ui/code-block.d.ts.map +1 -0
  657. package/dist/components/ui/code-block.js +108 -0
  658. package/dist/components/ui/cohort-grid.d.ts +210 -0
  659. package/dist/components/ui/cohort-grid.d.ts.map +1 -0
  660. package/dist/components/ui/cohort-grid.js +202 -0
  661. package/dist/components/ui/collapsible.d.ts +11 -0
  662. package/dist/components/ui/collapsible.d.ts.map +1 -1
  663. package/dist/components/ui/collapsible.js +13 -2
  664. package/dist/components/ui/combobox.d.ts +4 -1
  665. package/dist/components/ui/combobox.d.ts.map +1 -1
  666. package/dist/components/ui/combobox.js +20 -4
  667. package/dist/components/ui/command-palette.d.ts +11 -0
  668. package/dist/components/ui/command-palette.d.ts.map +1 -1
  669. package/dist/components/ui/command-palette.js +49 -3
  670. package/dist/components/ui/contribution-graph.d.ts +156 -0
  671. package/dist/components/ui/contribution-graph.d.ts.map +1 -0
  672. package/dist/components/ui/contribution-graph.js +170 -0
  673. package/dist/components/ui/creatable-combobox.d.ts +153 -0
  674. package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
  675. package/dist/components/ui/creatable-combobox.js +285 -0
  676. package/dist/components/ui/data-toolbar.d.ts +133 -0
  677. package/dist/components/ui/data-toolbar.d.ts.map +1 -0
  678. package/dist/components/ui/data-toolbar.js +67 -0
  679. package/dist/components/ui/date-picker.d.ts.map +1 -1
  680. package/dist/components/ui/date-picker.js +9 -1
  681. package/dist/components/ui/dialog.d.ts +31 -2
  682. package/dist/components/ui/dialog.d.ts.map +1 -1
  683. package/dist/components/ui/dialog.js +40 -6
  684. package/dist/components/ui/drawer.d.ts +270 -0
  685. package/dist/components/ui/drawer.d.ts.map +1 -0
  686. package/dist/components/ui/drawer.js +241 -0
  687. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  688. package/dist/components/ui/dropdown-menu.js +6 -1
  689. package/dist/components/ui/dropzone.d.ts +147 -0
  690. package/dist/components/ui/dropzone.d.ts.map +1 -0
  691. package/dist/components/ui/dropzone.js +141 -0
  692. package/dist/components/ui/emoji-picker.d.ts +328 -0
  693. package/dist/components/ui/emoji-picker.d.ts.map +1 -0
  694. package/dist/components/ui/emoji-picker.js +278 -0
  695. package/dist/components/ui/file-upload.d.ts +152 -0
  696. package/dist/components/ui/file-upload.d.ts.map +1 -0
  697. package/dist/components/ui/file-upload.js +101 -0
  698. package/dist/components/ui/filter-panel.d.ts +164 -0
  699. package/dist/components/ui/filter-panel.d.ts.map +1 -0
  700. package/dist/components/ui/filter-panel.js +91 -0
  701. package/dist/components/ui/form-dialog.d.ts +257 -0
  702. package/dist/components/ui/form-dialog.d.ts.map +1 -0
  703. package/dist/components/ui/form-dialog.js +176 -0
  704. package/dist/components/ui/form-wizard.d.ts +251 -0
  705. package/dist/components/ui/form-wizard.d.ts.map +1 -0
  706. package/dist/components/ui/form-wizard.js +151 -0
  707. package/dist/components/ui/image-list-field.d.ts +232 -0
  708. package/dist/components/ui/image-list-field.d.ts.map +1 -0
  709. package/dist/components/ui/image-list-field.js +168 -0
  710. package/dist/components/ui/image-zoom.d.ts +164 -0
  711. package/dist/components/ui/image-zoom.d.ts.map +1 -0
  712. package/dist/components/ui/image-zoom.js +169 -0
  713. package/dist/components/ui/intensity-grid.d.ts +270 -0
  714. package/dist/components/ui/intensity-grid.d.ts.map +1 -0
  715. package/dist/components/ui/intensity-grid.js +211 -0
  716. package/dist/components/ui/lifecycle-button.d.ts +276 -0
  717. package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
  718. package/dist/components/ui/lifecycle-button.js +144 -0
  719. package/dist/components/ui/lightbox.d.ts +165 -0
  720. package/dist/components/ui/lightbox.d.ts.map +1 -0
  721. package/dist/components/ui/lightbox.js +130 -0
  722. package/dist/components/ui/list-panel.d.ts +288 -0
  723. package/dist/components/ui/list-panel.d.ts.map +1 -0
  724. package/dist/components/ui/list-panel.js +139 -0
  725. package/dist/components/ui/mega-menu.d.ts +244 -0
  726. package/dist/components/ui/mega-menu.d.ts.map +1 -0
  727. package/dist/components/ui/mega-menu.js +97 -0
  728. package/dist/components/ui/menubar.d.ts +9 -0
  729. package/dist/components/ui/menubar.d.ts.map +1 -1
  730. package/dist/components/ui/menubar.js +10 -1
  731. package/dist/components/ui/metric.d.ts +123 -0
  732. package/dist/components/ui/metric.d.ts.map +1 -0
  733. package/dist/components/ui/metric.js +68 -0
  734. package/dist/components/ui/mini-calendar.d.ts +143 -0
  735. package/dist/components/ui/mini-calendar.d.ts.map +1 -0
  736. package/dist/components/ui/mini-calendar.js +261 -0
  737. package/dist/components/ui/mode-toggle.d.ts +102 -0
  738. package/dist/components/ui/mode-toggle.d.ts.map +1 -0
  739. package/dist/components/ui/mode-toggle.js +83 -0
  740. package/dist/components/ui/money-field.d.ts +200 -0
  741. package/dist/components/ui/money-field.d.ts.map +1 -0
  742. package/dist/components/ui/money-field.js +215 -0
  743. package/dist/components/ui/multi-combobox.d.ts +181 -0
  744. package/dist/components/ui/multi-combobox.d.ts.map +1 -0
  745. package/dist/components/ui/multi-combobox.js +297 -0
  746. package/dist/components/ui/native-select.d.ts.map +1 -1
  747. package/dist/components/ui/native-select.js +8 -1
  748. package/dist/components/ui/navigation-menu.d.ts +7 -0
  749. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  750. package/dist/components/ui/navigation-menu.js +8 -1
  751. package/dist/components/ui/nested-tabs.d.ts +188 -0
  752. package/dist/components/ui/nested-tabs.d.ts.map +1 -0
  753. package/dist/components/ui/nested-tabs.js +75 -0
  754. package/dist/components/ui/number-field.d.ts +40 -7
  755. package/dist/components/ui/number-field.d.ts.map +1 -1
  756. package/dist/components/ui/number-field.js +37 -7
  757. package/dist/components/ui/overflow-actions.d.ts +169 -0
  758. package/dist/components/ui/overflow-actions.d.ts.map +1 -0
  759. package/dist/components/ui/overflow-actions.js +266 -0
  760. package/dist/components/ui/pack-swatch.d.ts +177 -0
  761. package/dist/components/ui/pack-swatch.d.ts.map +1 -0
  762. package/dist/components/ui/pack-swatch.js +117 -0
  763. package/dist/components/ui/pack-switcher.d.ts +221 -0
  764. package/dist/components/ui/pack-switcher.d.ts.map +1 -0
  765. package/dist/components/ui/pack-switcher.js +94 -0
  766. package/dist/components/ui/pagination.d.ts +22 -0
  767. package/dist/components/ui/pagination.d.ts.map +1 -1
  768. package/dist/components/ui/pagination.js +23 -1
  769. package/dist/components/ui/password-field.d.ts +122 -0
  770. package/dist/components/ui/password-field.d.ts.map +1 -0
  771. package/dist/components/ui/password-field.js +69 -0
  772. package/dist/components/ui/pill.d.ts +172 -0
  773. package/dist/components/ui/pill.d.ts.map +1 -0
  774. package/dist/components/ui/pill.js +102 -0
  775. package/dist/components/ui/platform-modifier-key.d.ts +129 -0
  776. package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
  777. package/dist/components/ui/platform-modifier-key.js +125 -0
  778. package/dist/components/ui/popover.d.ts.map +1 -1
  779. package/dist/components/ui/popover.js +8 -1
  780. package/dist/components/ui/price.d.ts +144 -0
  781. package/dist/components/ui/price.d.ts.map +1 -0
  782. package/dist/components/ui/price.js +107 -0
  783. package/dist/components/ui/progress.d.ts +55 -1
  784. package/dist/components/ui/progress.d.ts.map +1 -1
  785. package/dist/components/ui/progress.js +110 -2
  786. package/dist/components/ui/prompt-composer.d.ts +302 -0
  787. package/dist/components/ui/prompt-composer.d.ts.map +1 -0
  788. package/dist/components/ui/prompt-composer.js +145 -0
  789. package/dist/components/ui/proportion-list.d.ts +188 -0
  790. package/dist/components/ui/proportion-list.d.ts.map +1 -0
  791. package/dist/components/ui/proportion-list.js +134 -0
  792. package/dist/components/ui/prose.d.ts +23 -0
  793. package/dist/components/ui/prose.d.ts.map +1 -1
  794. package/dist/components/ui/prose.js +30 -1
  795. package/dist/components/ui/radio-group.d.ts +7 -0
  796. package/dist/components/ui/radio-group.d.ts.map +1 -1
  797. package/dist/components/ui/radio-group.js +8 -1
  798. package/dist/components/ui/range-field.d.ts +158 -0
  799. package/dist/components/ui/range-field.d.ts.map +1 -0
  800. package/dist/components/ui/range-field.js +208 -0
  801. package/dist/components/ui/relative-time.d.ts +116 -0
  802. package/dist/components/ui/relative-time.d.ts.map +1 -0
  803. package/dist/components/ui/relative-time.js +67 -0
  804. package/dist/components/ui/reorderable-list.d.ts +262 -0
  805. package/dist/components/ui/reorderable-list.d.ts.map +1 -0
  806. package/dist/components/ui/reorderable-list.js +325 -0
  807. package/dist/components/ui/repeatable-rows.d.ts +241 -0
  808. package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
  809. package/dist/components/ui/repeatable-rows.js +221 -0
  810. package/dist/components/ui/repo-stars.d.ts +165 -0
  811. package/dist/components/ui/repo-stars.d.ts.map +1 -0
  812. package/dist/components/ui/repo-stars.js +92 -0
  813. package/dist/components/ui/resizable.d.ts +24 -0
  814. package/dist/components/ui/resizable.d.ts.map +1 -1
  815. package/dist/components/ui/resizable.js +96 -4
  816. package/dist/components/ui/search-dialog.d.ts +40 -5
  817. package/dist/components/ui/search-dialog.d.ts.map +1 -1
  818. package/dist/components/ui/search-dialog.js +94 -16
  819. package/dist/components/ui/search-field.d.ts +159 -0
  820. package/dist/components/ui/search-field.d.ts.map +1 -0
  821. package/dist/components/ui/search-field.js +98 -0
  822. package/dist/components/ui/section.d.ts +108 -1
  823. package/dist/components/ui/section.d.ts.map +1 -1
  824. package/dist/components/ui/section.js +109 -3
  825. package/dist/components/ui/select.d.ts.map +1 -1
  826. package/dist/components/ui/select.js +9 -1
  827. package/dist/components/ui/selection-toolbar.d.ts +166 -0
  828. package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
  829. package/dist/components/ui/selection-toolbar.js +139 -0
  830. package/dist/components/ui/sidebar.d.ts +29 -0
  831. package/dist/components/ui/sidebar.d.ts.map +1 -1
  832. package/dist/components/ui/sidebar.js +35 -2
  833. package/dist/components/ui/signal-field.d.ts.map +1 -1
  834. package/dist/components/ui/signal-field.js +1 -1
  835. package/dist/components/ui/slider.d.ts +7 -0
  836. package/dist/components/ui/slider.d.ts.map +1 -1
  837. package/dist/components/ui/slider.js +32 -1
  838. package/dist/components/ui/sparkline.d.ts +117 -0
  839. package/dist/components/ui/sparkline.d.ts.map +1 -0
  840. package/dist/components/ui/sparkline.js +113 -0
  841. package/dist/components/ui/spinner.d.ts.map +1 -1
  842. package/dist/components/ui/spinner.js +13 -0
  843. package/dist/components/ui/split-button.d.ts +207 -0
  844. package/dist/components/ui/split-button.d.ts.map +1 -0
  845. package/dist/components/ui/split-button.js +75 -0
  846. package/dist/components/ui/stateful-table.d.ts +345 -0
  847. package/dist/components/ui/stateful-table.d.ts.map +1 -0
  848. package/dist/components/ui/stateful-table.js +169 -0
  849. package/dist/components/ui/status.d.ts +99 -0
  850. package/dist/components/ui/status.d.ts.map +1 -0
  851. package/dist/components/ui/status.js +63 -0
  852. package/dist/components/ui/stepper.d.ts +155 -0
  853. package/dist/components/ui/stepper.d.ts.map +1 -0
  854. package/dist/components/ui/stepper.js +83 -0
  855. package/dist/components/ui/steps.d.ts +141 -0
  856. package/dist/components/ui/steps.d.ts.map +1 -0
  857. package/dist/components/ui/steps.js +128 -0
  858. package/dist/components/ui/switch.d.ts +8 -0
  859. package/dist/components/ui/switch.d.ts.map +1 -1
  860. package/dist/components/ui/switch.js +12 -1
  861. package/dist/components/ui/tabs.d.ts +21 -2
  862. package/dist/components/ui/tabs.d.ts.map +1 -1
  863. package/dist/components/ui/tabs.js +23 -4
  864. package/dist/components/ui/tag-group.d.ts +154 -0
  865. package/dist/components/ui/tag-group.d.ts.map +1 -0
  866. package/dist/components/ui/tag-group.js +111 -0
  867. package/dist/components/ui/task-progress.d.ts +149 -0
  868. package/dist/components/ui/task-progress.d.ts.map +1 -0
  869. package/dist/components/ui/task-progress.js +110 -0
  870. package/dist/components/ui/text-format-toolbar.d.ts +211 -0
  871. package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
  872. package/dist/components/ui/text-format-toolbar.js +186 -0
  873. package/dist/components/ui/timeline.d.ts.map +1 -1
  874. package/dist/components/ui/timeline.js +10 -1
  875. package/dist/components/ui/toast.d.ts +32 -10
  876. package/dist/components/ui/toast.d.ts.map +1 -1
  877. package/dist/components/ui/toast.js +150 -47
  878. package/dist/components/ui/toggle-group.d.ts +14 -5
  879. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  880. package/dist/components/ui/toggle-group.js +15 -1
  881. package/dist/components/ui/toggle.d.ts.map +1 -1
  882. package/dist/components/ui/toggle.js +9 -1
  883. package/dist/components/ui/tree.d.ts +8 -0
  884. package/dist/components/ui/tree.d.ts.map +1 -1
  885. package/dist/components/ui/tree.js +92 -13
  886. package/dist/components/ui/video-player.d.ts +236 -0
  887. package/dist/components/ui/video-player.d.ts.map +1 -0
  888. package/dist/components/ui/video-player.js +72 -0
  889. package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
  890. package/dist/index.d.ts +112 -0
  891. package/dist/index.d.ts.map +1 -1
  892. package/dist/index.js +72 -0
  893. package/dist/lib/utils.d.ts +29 -0
  894. package/dist/lib/utils.d.ts.map +1 -1
  895. package/dist/lib/utils.js +35 -0
  896. package/dist/live/index.d.ts +10 -3
  897. package/dist/live/index.d.ts.map +1 -1
  898. package/dist/live/index.js +12 -3
  899. package/dist/live/run-stream-01/run-stream.js +4 -4
  900. package/dist/live/tool-ledger-01/index.d.ts +3 -0
  901. package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
  902. package/dist/live/tool-ledger-01/index.js +1 -0
  903. package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
  904. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
  905. package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
  906. package/dist/pages/about-page/index.d.ts +306 -0
  907. package/dist/pages/about-page/index.d.ts.map +1 -0
  908. package/dist/pages/about-page/index.js +161 -0
  909. package/dist/pages/careers-page/index.d.ts +288 -0
  910. package/dist/pages/careers-page/index.d.ts.map +1 -0
  911. package/dist/pages/careers-page/index.js +182 -0
  912. package/dist/pages/changelog-page/index.d.ts +255 -0
  913. package/dist/pages/changelog-page/index.d.ts.map +1 -0
  914. package/dist/pages/changelog-page/index.js +86 -0
  915. package/dist/pages/contact-page/index.d.ts +261 -0
  916. package/dist/pages/contact-page/index.d.ts.map +1 -0
  917. package/dist/pages/contact-page/index.js +136 -0
  918. package/dist/pages/docs-shell/docs-shell.d.ts +8 -0
  919. package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
  920. package/dist/pages/docs-shell/docs-shell.js +24 -7
  921. package/dist/pages/error-page/index.d.ts +188 -0
  922. package/dist/pages/error-page/index.d.ts.map +1 -0
  923. package/dist/pages/error-page/index.js +98 -0
  924. package/dist/pages/index.d.ts +10 -0
  925. package/dist/pages/index.d.ts.map +1 -1
  926. package/dist/pages/index.js +14 -0
  927. package/dist/pages/legal-page/index.d.ts +194 -0
  928. package/dist/pages/legal-page/index.d.ts.map +1 -0
  929. package/dist/pages/legal-page/index.js +99 -0
  930. package/dist/pages/onboarding-page/index.d.ts +199 -0
  931. package/dist/pages/onboarding-page/index.d.ts.map +1 -0
  932. package/dist/pages/onboarding-page/index.js +71 -0
  933. package/dist/pages/pricing-page/index.d.ts +286 -0
  934. package/dist/pages/pricing-page/index.d.ts.map +1 -0
  935. package/dist/pages/pricing-page/index.js +139 -0
  936. package/dist/pages/search-page/index.d.ts +305 -0
  937. package/dist/pages/search-page/index.d.ts.map +1 -0
  938. package/dist/pages/search-page/index.js +142 -0
  939. package/dist/pages/status-page/index.d.ts +366 -0
  940. package/dist/pages/status-page/index.d.ts.map +1 -0
  941. package/dist/pages/status-page/index.js +136 -0
  942. package/dist/styles.css +1003 -55
  943. package/package.json +9 -3
@@ -0,0 +1,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 };
@@ -0,0 +1,102 @@
1
+ import type { ComponentProps } from 'react';
2
+ /** The props a `ModeToggle` takes. */
3
+ export interface ModeToggleProps extends Omit<ComponentProps<'button'>, 'children'> {
4
+ /**
5
+ * The control's accessible name.
6
+ *
7
+ * Required, and a `string` rather than a node because it is written into
8
+ * `aria-label` and an accessible name is a string. It names the mode the button
9
+ * moves to rather than the mode the page is in, so the words and the icon
10
+ * beside them always say the same thing. Three of the four products in this
11
+ * family phrase it the other way round, which is a caller's sentence and not a
12
+ * Component's, and the prop is where that difference goes.
13
+ */
14
+ label: string;
15
+ /**
16
+ * The control's height, forwarded to `Button`.
17
+ *
18
+ * `sm` and `md` and nothing else, because those are the two heights a site
19
+ * header and a settings row actually need. The underlying `Button` also has an
20
+ * icon size, which is refused here: an icon-only control with a label's
21
+ * proportions is what this is, and the icon size draws a square, which shows in
22
+ * the corner radius a reader sees.
23
+ */
24
+ size?: 'sm' | 'md';
25
+ /** Layout only, exactly as on every Component. */
26
+ className?: string;
27
+ }
28
+ /**
29
+ * The control that moves the reader between the light and the dark mode.
30
+ *
31
+ * **This is the one Component in the library that needs `PrismProvider` above it,
32
+ * and the reason is that it is the only one that writes the theme rather than
33
+ * reading it.** Every other Component reaches its colours through the cascade: the
34
+ * pack is an attribute on an ancestor and the mode is a class, and a Component
35
+ * that draws a `bg-primary` has drawn the right thing in every pack without
36
+ * knowing which pack it is in. This one cannot work that way, because moving
37
+ * between the modes means writing `.dark` on the document element, and the
38
+ * document element is not a thing a Component may reach for on its own. The
39
+ * provider is that permission, and it is optional everywhere else in Prism, which
40
+ * is why this is the only Component with a hard dependency on it. Mounted without
41
+ * one, `usePrismTheme` throws, and that is the intended behaviour rather than a
42
+ * silent no-op: a control that looks like it switches the mode and does nothing
43
+ * is worse than a page that says the provider is missing.
44
+ *
45
+ * **It renders one button and not a group, and a two-button group here is a
46
+ * segmented control doing a switch's job.** The obvious alternative is a pair of
47
+ * buttons, one per mode, with the current one marked selected. It is worse three
48
+ * separate ways. It takes two tab stops where the action needs one, so a reader
49
+ * tabbing along a header pays for a second stop to learn a thing the first stop
50
+ * already said. It announces a radio group, which changes what the arrow keys do
51
+ * inside it, so a reader who has learned the row they are in has to learn another
52
+ * model in the row above it. And it is the wrong role: two options where one is
53
+ * always selected and choosing either one leaves the page in the same state as
54
+ * choosing the other is a switch, and `toggle-group.tsx` is where a switch with
55
+ * two labelled members belongs, with the roving tab stop and the pressed set it
56
+ * already implements. A `Switch` is the other candidate and is refused for a
57
+ * different reason: a switch says "this setting is on" and a mode is not a
58
+ * setting, it is which of two renderings the page is using right now.
59
+ *
60
+ * **The icon is the destination and the name is the destination, so the two can
61
+ * never contradict each other.** A page in light mode shows a moon, because
62
+ * pressing it makes the page dark. The alternative, showing the current mode, puts
63
+ * a sun on a light page, which reads as a control that is already on, and a reader
64
+ * has to reconcile the picture with the state before they can use it. The icon is
65
+ * swapped, not animated between: the Motion law refuses a transition whose only
66
+ * purpose is decoration, and a sun morphing into a moon is decoration on a
67
+ * control that is about to be re-rendered with the other one anyway. So there is
68
+ * no transition here at all, and the swap is a repaint.
69
+ *
70
+ * **There is no `aria-pressed`, and that is a decision with a cost.** A pressed
71
+ * state describes the current mode, and the name describes the mode the press
72
+ * produces, so a pressed control named for its destination announces the opposite
73
+ * of what it is about: a screen reader reads "Switch to dark mode, pressed" on a
74
+ * page that is already dark. Since this Component takes one name rather than one
75
+ * per mode, the name cannot describe the current mode, and the honest reading of
76
+ * what is left is a button that performs an action. The cost is that a reader
77
+ * using a screen reader cannot ask the control what the page is in; they read the
78
+ * mode from the page, and a caller who would rather the control carried the state
79
+ * passes a name for the mode itself and mounts their own control, which is a real
80
+ * answer this Component is declining to give.
81
+ *
82
+ * **A reader who never mounts this is not left without the mode.** The mode on the
83
+ * page comes from the two document attributes, `data-pack` and `.dark`, and the
84
+ * blocking script in the head resolves them before first paint from a stored value
85
+ * or from what the server rendered. That is the declarative path, it is
86
+ * SSR-safe, and it is the one that works with no JavaScript at all. So this
87
+ * Component is a convenience layered on top of a mechanism that already works, not
88
+ * the mechanism, and a consumer who does not want a client Component in their
89
+ * layout can leave this one out: they put the attributes on their root element
90
+ * and write a plain button in their own code that calls `setMode` from the
91
+ * provider's hook. That is the reason the honest dependency is stated rather than
92
+ * hidden. A site that wants the mode switch with no JavaScript at all renders the
93
+ * attributes on the root and offers the choice inside a form, which is a real
94
+ * answer and a slightly worse one than a button.
95
+ *
96
+ * It is a client Component, and the provider it reads is a client module, so
97
+ * there is no way to make this one without `'use client'`. That is the cost of
98
+ * writing the theme rather than reading it, paid once, here.
99
+ */
100
+ declare function ModeToggle({ label, size, className, ...props }: ModeToggleProps): import("react").JSX.Element;
101
+ export { ModeToggle };
102
+ //# sourceMappingURL=mode-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/ui/mode-toggle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAM3C,sCAAsC;AACtC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACjF;;;;;;;;;OASG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,IAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BA+B/E;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1,83 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Moon, Sun } from 'lucide-react';
4
+ import { usePrismTheme } from '../../provider/index.js';
5
+ import { Button } from './button.js';
6
+ import { cn } from '../../lib/utils.js';
7
+ /**
8
+ * The control that moves the reader between the light and the dark mode.
9
+ *
10
+ * **This is the one Component in the library that needs `PrismProvider` above it,
11
+ * and the reason is that it is the only one that writes the theme rather than
12
+ * reading it.** Every other Component reaches its colours through the cascade: the
13
+ * pack is an attribute on an ancestor and the mode is a class, and a Component
14
+ * that draws a `bg-primary` has drawn the right thing in every pack without
15
+ * knowing which pack it is in. This one cannot work that way, because moving
16
+ * between the modes means writing `.dark` on the document element, and the
17
+ * document element is not a thing a Component may reach for on its own. The
18
+ * provider is that permission, and it is optional everywhere else in Prism, which
19
+ * is why this is the only Component with a hard dependency on it. Mounted without
20
+ * one, `usePrismTheme` throws, and that is the intended behaviour rather than a
21
+ * silent no-op: a control that looks like it switches the mode and does nothing
22
+ * is worse than a page that says the provider is missing.
23
+ *
24
+ * **It renders one button and not a group, and a two-button group here is a
25
+ * segmented control doing a switch's job.** The obvious alternative is a pair of
26
+ * buttons, one per mode, with the current one marked selected. It is worse three
27
+ * separate ways. It takes two tab stops where the action needs one, so a reader
28
+ * tabbing along a header pays for a second stop to learn a thing the first stop
29
+ * already said. It announces a radio group, which changes what the arrow keys do
30
+ * inside it, so a reader who has learned the row they are in has to learn another
31
+ * model in the row above it. And it is the wrong role: two options where one is
32
+ * always selected and choosing either one leaves the page in the same state as
33
+ * choosing the other is a switch, and `toggle-group.tsx` is where a switch with
34
+ * two labelled members belongs, with the roving tab stop and the pressed set it
35
+ * already implements. A `Switch` is the other candidate and is refused for a
36
+ * different reason: a switch says "this setting is on" and a mode is not a
37
+ * setting, it is which of two renderings the page is using right now.
38
+ *
39
+ * **The icon is the destination and the name is the destination, so the two can
40
+ * never contradict each other.** A page in light mode shows a moon, because
41
+ * pressing it makes the page dark. The alternative, showing the current mode, puts
42
+ * a sun on a light page, which reads as a control that is already on, and a reader
43
+ * has to reconcile the picture with the state before they can use it. The icon is
44
+ * swapped, not animated between: the Motion law refuses a transition whose only
45
+ * purpose is decoration, and a sun morphing into a moon is decoration on a
46
+ * control that is about to be re-rendered with the other one anyway. So there is
47
+ * no transition here at all, and the swap is a repaint.
48
+ *
49
+ * **There is no `aria-pressed`, and that is a decision with a cost.** A pressed
50
+ * state describes the current mode, and the name describes the mode the press
51
+ * produces, so a pressed control named for its destination announces the opposite
52
+ * of what it is about: a screen reader reads "Switch to dark mode, pressed" on a
53
+ * page that is already dark. Since this Component takes one name rather than one
54
+ * per mode, the name cannot describe the current mode, and the honest reading of
55
+ * what is left is a button that performs an action. The cost is that a reader
56
+ * using a screen reader cannot ask the control what the page is in; they read the
57
+ * mode from the page, and a caller who would rather the control carried the state
58
+ * passes a name for the mode itself and mounts their own control, which is a real
59
+ * answer this Component is declining to give.
60
+ *
61
+ * **A reader who never mounts this is not left without the mode.** The mode on the
62
+ * page comes from the two document attributes, `data-pack` and `.dark`, and the
63
+ * blocking script in the head resolves them before first paint from a stored value
64
+ * or from what the server rendered. That is the declarative path, it is
65
+ * SSR-safe, and it is the one that works with no JavaScript at all. So this
66
+ * Component is a convenience layered on top of a mechanism that already works, not
67
+ * the mechanism, and a consumer who does not want a client Component in their
68
+ * layout can leave this one out: they put the attributes on their root element
69
+ * and write a plain button in their own code that calls `setMode` from the
70
+ * provider's hook. That is the reason the honest dependency is stated rather than
71
+ * hidden. A site that wants the mode switch with no JavaScript at all renders the
72
+ * attributes on the root and offers the choice inside a form, which is a real
73
+ * answer and a slightly worse one than a button.
74
+ *
75
+ * It is a client Component, and the provider it reads is a client module, so
76
+ * there is no way to make this one without `'use client'`. That is the cost of
77
+ * writing the theme rather than reading it, paid once, here.
78
+ */
79
+ function ModeToggle({ label, size = 'md', className, ...props }) {
80
+ const { mode, toggleMode } = usePrismTheme();
81
+ return (_jsx(Button, { type: "button", "data-slot": "mode-toggle", variant: "ghost", size: size === 'sm' ? 'sm' : 'default', "aria-label": label, onClick: toggleMode, className: cn('shrink-0', className), ...props, children: mode === 'dark' ? (_jsx(Sun, { "aria-hidden": "true", className: "size-4" })) : (_jsx(Moon, { "aria-hidden": "true", className: "size-4" })) }));
82
+ }
83
+ export { ModeToggle };