@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,317 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type HeadingLevel } from '../../components/ui/section.js';
3
+ /**
4
+ * The address field, and the caller's own sentence about what is wrong with it.
5
+ *
6
+ * **There is no `type` here and that is the decision.** An invitation goes to an
7
+ * address and an address is an address, but a product that invites by handle or by
8
+ * staff number needs the same labelled control with a different platform hint, and a
9
+ * `type` prop on an invitation field would be a Block claiming to know which. The
10
+ * caller composes a different control beside this one if that is what their product
11
+ * does.
12
+ */
13
+ export type InviteUser01Identifier = {
14
+ /** The field's visible name, and the accessible name its control announces. */
15
+ label: string;
16
+ /** The address as the caller holds it. Refused without `onValueChange`. */
17
+ value?: string;
18
+ /** Called with the address as the reader changes it. */
19
+ onValueChange?: (value: string) => void;
20
+ /** A line under the control, announced with it rather than printed under the row. */
21
+ description?: ReactNode;
22
+ /** What is wrong with the entry, in the destructive token and announced as it appears. */
23
+ error?: ReactNode;
24
+ };
25
+ /**
26
+ * One role an invitation can grant, as the caller names it.
27
+ *
28
+ * Two fields and no state, which is the whole of the argument a design system can
29
+ * make about somebody else's permission model: the set of roles a workspace has is
30
+ * that workspace's own fact, it changes with its plan and with its commercial
31
+ * agreements, and a Block that shipped a list would install a permission model into
32
+ * every consumer's settings page.
33
+ */
34
+ export type InviteUser01Option = {
35
+ /** The value handed to `onSubmit` and to `role.onValueChange`. */
36
+ id: string;
37
+ /** The role's own name, in the product's own language. */
38
+ label: string;
39
+ };
40
+ /**
41
+ * The role the invitation will grant.
42
+ *
43
+ * **`options` is a `readonly` array and that is not decoration.** A caller writes
44
+ * `const ROLES = [{ id: 'reader', label: 'Reader' }] as const` because it keeps the
45
+ * role list beside its own type definitions, and a mutable prop type rejects that
46
+ * fixture with an error about `readonly`, which is a compile error whose message
47
+ * names nothing about the caller. Two Blocks in this package shipped that class of
48
+ * error before the list was written as `readonly`, so the type here is the fix rather
49
+ * than a preference.
50
+ */
51
+ export type InviteUser01Role = {
52
+ /** The field's visible name, and the accessible name its control announces. */
53
+ label: string;
54
+ /**
55
+ * The roles, in the order a reader should meet them.
56
+ *
57
+ * The Block draws a `NativeSelect` rather than the Base UI one because a role is a
58
+ * plain string with a plain name, and a native select is one element with the
59
+ * platform's own picker behind it. A role that needs a description beside it or a
60
+ * count in it is a control the platform cannot render, and the honest answer to
61
+ * that is a caller who composes their own.
62
+ */
63
+ options: readonly InviteUser01Option[];
64
+ /** The role as the caller holds it. Falls back to the first option. */
65
+ value?: string;
66
+ /** Called with the role as the reader changes it. */
67
+ onValueChange?: (value: string) => void;
68
+ /** A line under the control, announced with it. */
69
+ description?: ReactNode;
70
+ };
71
+ /** What the caller writes to the person they are inviting, and the two numbers around it. */
72
+ type InviteUser01MessageBase = {
73
+ /** The field's visible name, and the accessible name its control announces. */
74
+ label: string;
75
+ /** The message as the caller holds it. Refused without `onValueChange`. */
76
+ value?: string;
77
+ /** Called with the message as the reader changes it. */
78
+ onValueChange?: (value: string) => void;
79
+ /** A line under the control, announced with it. */
80
+ description?: ReactNode;
81
+ };
82
+ /**
83
+ * The note that travels with the invitation.
84
+ *
85
+ * **The counter is a union rather than an optional boolean because a count with no
86
+ * limit beside it is not a counter.** A reader who is told there are 400 characters
87
+ * written and not what the limit is has been given a number to act on with nothing to
88
+ * act against, so `maxLength` is required in the arm that draws the count and the two
89
+ * are drawn together. The cost is stated rather than hidden: a caller that wants a
90
+ * live count and an enforced limit has to set both, which is the arrangement it
91
+ * wanted.
92
+ */
93
+ export type InviteUser01Message = InviteUser01MessageBase & ({
94
+ /** Draws the count beside the control. */
95
+ counter: true;
96
+ /** The limit, enforced by the control and printed beside the count. */
97
+ maxLength: number;
98
+ } | {
99
+ /** No count is drawn. */
100
+ counter?: false;
101
+ /** The limit, enforced by the control and printed by the platform. */
102
+ maxLength?: number;
103
+ });
104
+ /**
105
+ * The three things the caller's own invitation request can be doing, named after what
106
+ * they select rather than after the field they fill.
107
+ */
108
+ export type InviteUser01Outcome = 'idle' | 'sent' | 'error';
109
+ /**
110
+ * The outcome of the caller's request, as this Block draws it.
111
+ *
112
+ * A prop and never a state this Block writes, for the reason every Block in this
113
+ * family states: an invitation has more outcomes than any other form here, from a
114
+ * delivered message to a spam folder to a domain that cannot receive mail to a
115
+ * workspace with no room for another person, and one sentence cannot be true of all
116
+ * of them.
117
+ */
118
+ export type InviteUser01Status = {
119
+ /** Which of the three the request is in. Read by the Block for two things only. */
120
+ state: InviteUser01Outcome;
121
+ /** The words for that state, in the product's own voice. */
122
+ message: ReactNode;
123
+ };
124
+ /**
125
+ * One invitation that has been sent and not yet taken up.
126
+ *
127
+ * Four words and no state, which is the decision this Block's JSDoc defends: the only
128
+ * signal that an invitation has gone stale is that the caller passed `expiresLabel`,
129
+ * because the Block holds no clock and a design system that guessed would be guessing
130
+ * about somebody else's deadline.
131
+ */
132
+ export type InviteUser01Invitation = {
133
+ /** A stable key for the row, carried on the markup as `data-invitation`. */
134
+ id: string;
135
+ /** The address the invitation went to, and the row's identity. */
136
+ identifier: string;
137
+ /** The words for when it went, given in the caller's own reading. */
138
+ sentLabel?: ReactNode;
139
+ /**
140
+ * The words for an invitation that has gone stale.
141
+ *
142
+ * Its presence is the mark: the row is dimmed, the words are read beside the
143
+ * address, and the invitation is not removed from the list. See the Block's JSDoc
144
+ * for why a list that shrinks is worse than a list with a faded row.
145
+ */
146
+ expiresLabel?: ReactNode;
147
+ } & ({
148
+ /** The words on the control that calls the invitation back. */
149
+ revokeLabel: string;
150
+ /** Called when the reader calls this invitation back. */
151
+ onRevoke: () => void;
152
+ } | {
153
+ /** A revoke control with no words is a button nobody can find. */
154
+ revokeLabel?: never;
155
+ /** A handler with no control is a call the caller cannot make. */
156
+ onRevoke?: never;
157
+ });
158
+ /**
159
+ * The invitations already sent, under a name of the caller's.
160
+ *
161
+ * `empty` is required in practice and its absence is a thrown diagnostic rather than
162
+ * a quiet panel, for the reason `SettingsMembers01` gives for the same prop: a group
163
+ * with no rows and no sentence reads as a fault, and the reader who is trying to work
164
+ * out whether an invitation they sent is still pending is exactly the reader who
165
+ * needs to be able to see that the list is not broken.
166
+ */
167
+ export type InviteUser01Pending = {
168
+ /** The name of the group, drawn as a heading one level below the section's own. */
169
+ title: ReactNode;
170
+ /**
171
+ * The invitations, in the order a reader should meet them.
172
+ *
173
+ * The Block does not sort them: which invitations a reader should see first is a
174
+ * fact about the caller's product, and a designer sorting a list on their behalf is
175
+ * an opinion about somebody else's workspace.
176
+ */
177
+ items: readonly InviteUser01Invitation[];
178
+ /** What the group shows when there are no invitations. */
179
+ empty?: ReactNode;
180
+ };
181
+ /**
182
+ * The props an InviteUser01 takes. Every string in this Block is one of them.
183
+ *
184
+ * Two groups and one control between them, and the second group is the reason this
185
+ * is a Block rather than a row in somebody's settings form.
186
+ */
187
+ export type InviteUser01Props = {
188
+ /** The short line above the title, usually which workspace this is. */
189
+ eyebrow?: ReactNode;
190
+ /** The heading. Required, because an invitation surface with no heading is a form in a page. */
191
+ title: ReactNode;
192
+ /** One supporting line under the heading, for the part the title cannot carry. */
193
+ description?: ReactNode;
194
+ /**
195
+ * Called with the three values, and the only thing this Block does with them.
196
+ *
197
+ * **Required, and the requirement is the whole of the Block's neutrality.** There is
198
+ * no transport, no route, no membership store and no role resolver here, because
199
+ * each of those is a decision about the caller's product and its data.
200
+ */
201
+ onSubmit: (value: {
202
+ identifier: string;
203
+ role: string;
204
+ message?: string;
205
+ }) => void;
206
+ /** The address field. */
207
+ identifier: InviteUser01Identifier;
208
+ /** The role the invitation will grant, from the caller's own list. */
209
+ role: InviteUser01Role;
210
+ /**
211
+ * The note that travels with the invitation.
212
+ *
213
+ * Omit it and the note is not asked for, which is a real answer for a product that
214
+ * sends its own boilerplate and a poor one for a product whose invitations are read
215
+ * by the people who receive them.
216
+ */
217
+ message?: InviteUser01Message;
218
+ /** The words on the one control that sends. */
219
+ submitLabel: string;
220
+ /**
221
+ * Whether the caller's request is in flight.
222
+ *
223
+ * A prop and not read from `status`, because the two answer different questions:
224
+ * `submitting` is the control and `status.state` is the outcome.
225
+ */
226
+ submitting?: boolean;
227
+ /** The outcome of the caller's request, drawn in a live region and announced. */
228
+ status?: InviteUser01Status;
229
+ /**
230
+ * The invitations already sent, in a second group beside the form.
231
+ *
232
+ * See the Block's JSDoc for why this is a group and not a second form.
233
+ */
234
+ pending?: InviteUser01Pending;
235
+ /** Heading level for the section heading. @defaultValue 'h2' */
236
+ headingLevel?: HeadingLevel;
237
+ /**
238
+ * Layout only, exactly as on every Block. Changing a Prism-owned visual property
239
+ * from here is prohibited.
240
+ */
241
+ className?: string;
242
+ };
243
+ /**
244
+ * An address, a role and a note, sent as an invitation, beside the invitations already
245
+ * sent.
246
+ *
247
+ * **The translation, because the pattern is not ours and the framing is.** A
248
+ * storefront publishes an invite-a-friend panel: an address field, a dropdown, a
249
+ * message box and a button, and its purpose is to put a shopper's own contact into a
250
+ * marketing list. Prism's products observe a pipeline, capture a market, watch an
251
+ * estate and run agents, and a machine acting on behalf of a person is the whole
252
+ * subject, so this is the screen where a person authorises a machine on somebody
253
+ * else's behalf: the machine is the workspace, the estate or the agent, and the person
254
+ * answering the invitation is about to decide what it is allowed to do. The
255
+ * composition is the storefront's and is unchanged: the field, the dropdown, the note,
256
+ * the control. What is different is the second group, and that is the next paragraph.
257
+ *
258
+ * **What it assumes about the reader in front of it.** It assumes they are already
259
+ * authorised themselves, that they know what the thing they are admitting to is, and
260
+ * that they may not know what the roles in the dropdown are called. It refuses to
261
+ * assume they will remember what they sent, and it refuses to assume they have sent
262
+ * it at all, which is the assumption the pending group exists to remove.
263
+ *
264
+ * **The pending list is a second group and not a second form, and the reason is a
265
+ * support ticket.** A reader who has just sent an invitation and cannot see it will
266
+ * send another, and a second invitation is not a harmless duplicate: it is a second
267
+ * message, a second row in the caller's own audit trail, and a second thing for the
268
+ * person receiving it to work out. So the invitations already sent are drawn, named,
269
+ * and given their own heading rather than being summarised in a sentence under the
270
+ * submit control, and a list that shrank silently is a list a reader stops trusting.
271
+ *
272
+ * **A stale invitation is dimmed and not removed, and the only signal is the caller's
273
+ * own `expiresLabel`.** The Block holds no clock and a design system that guessed
274
+ * would be guessing about somebody else's deadline. The reason for keeping the row is
275
+ * the reason `SettingsMembers01` gives for a closed role: a reader who sent an
276
+ * invitation and finds it gone learns nothing at all, because the absence is
277
+ * indistinguishable from a fault and from a product that quietly discards invitations.
278
+ *
279
+ * **The role list is the caller's, and the `readonly` on it is the fix for a compile
280
+ * error rather than a preference.** A caller writes its roles as `as const` beside its
281
+ * own types, and a mutable prop type rejects that fixture with a message about
282
+ * `readonly` that names nothing about the caller. What the Block refuses to do is
283
+ * ship the list, because the set of roles a workspace has is that workspace's own fact
284
+ * and it changes with its plan and with its commercial agreements.
285
+ *
286
+ * **The select starts on the caller's first option when no value is passed, and the
287
+ * Block does not reorder the list to pick a safer one.** Reordering somebody's roles
288
+ * would be a claim about their permission model, and the alternative, requiring
289
+ * `value`, would put a prop on the type that most callers do not have and would want
290
+ * anyway. A product whose least privileged role is not first passes it first. The cost
291
+ * is that a caller who forgets `value` grants whatever is at the top of their own
292
+ * list, and the honest place to catch that is their own handler, which already has to
293
+ * validate the address.
294
+ *
295
+ * **The counter is not a live region, and that is a decision about a reader typing.**
296
+ * A count that announces itself on every keystroke interrupts a screen reader
297
+ * mid-sentence four hundred times, and the limit is already enforced by the control's
298
+ * own `maxLength` and described by the platform. So the count is drawn and hidden from
299
+ * assistive technology, and a reader who wants it announced as they type reads it.
300
+ *
301
+ * **Nothing here validates anything.** There is no address format check, no rule about
302
+ * whether the address is already a member, no check that the role exists any more and
303
+ * no decision about whether the workspace has room. Each of those is a fact about the
304
+ * caller's product, and a Block that guessed one would refuse a reader on the
305
+ * caller's behalf. What the Block does with the request is the one thing that is
306
+ * rendering rather than policy: it refuses a second press while `submitting` is true,
307
+ * because a second press is a second invitation queued into somebody's inbox.
308
+ *
309
+ * It is a client Component, and the directive is unconditional. `onSubmit` is a
310
+ * function, a function is a piece of state, and state is a client module: a server
311
+ * Component cannot hand an event handler to a `<form>`, so a caller rendering this
312
+ * from a server Component gets a form that submits and calls nothing and a list whose
313
+ * revoke controls press and do nothing.
314
+ */
315
+ export declare function InviteUser01({ eyebrow, title, description, onSubmit, identifier, role, message, submitLabel, submitting, status, pending, headingLevel, className, }: InviteUser01Props): import("react").JSX.Element;
316
+ export default InviteUser01;
317
+ //# sourceMappingURL=invite-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite-user.d.ts","sourceRoot":"","sources":["../../../src/blocks/invite-user-01/invite-user.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAcvE,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAIpG;;;;;;;;;GASG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,qFAAqF;IACrF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAA;IACV,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACtC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,mDAAmD;IACnD,WAAW,CAAC,EAAE,SAAS,CAAA;CACxB,CAAA;AAED,6FAA6F;AAC7F,KAAK,uBAAuB,GAAG;IAC7B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,mDAAmD;IACnD,WAAW,CAAC,EAAE,SAAS,CAAA;CACxB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GACvD,CACI;IACE,0CAA0C;IAC1C,OAAO,EAAE,IAAI,CAAA;IACb,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;CAClB,GACD;IACE,yBAAyB;IACzB,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CACJ,CAAA;AAEH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mFAAmF;IACnF,KAAK,EAAE,mBAAmB,CAAA;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,SAAS,CAAA;CACnB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAA;IACV,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB,GAAG,CACA;IACE,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,GACD;IACE,kEAAkE;IAClE,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CACJ,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,mFAAmF;IACnF,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAA;IACxC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uEAAuE;IACvE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gGAAgG;IAChG,KAAK,EAAE,SAAS,CAAA;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACjF,yBAAyB;IACzB,UAAU,EAAE,sBAAsB,CAAA;IAClC,sEAAsE;IACtE,IAAI,EAAE,gBAAgB,CAAA;IACtB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iFAAiF;IACjF,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,gEAAgE;IAChE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAyGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,OAAO,EACP,WAAW,EACX,UAAkB,EAClB,MAAM,EACN,OAAO,EACP,YAAmB,EACnB,SAAS,GACV,EAAE,iBAAiB,+BAgTnB;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,228 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useId, useState } from 'react';
4
+ import { Button } from '../../components/ui/button.js';
5
+ import { Card } from '../../components/ui/card.js';
6
+ import { Field, FieldDescription, FieldError, FieldLabel, } from '../../components/ui/field.js';
7
+ import { Input } from '../../components/ui/input.js';
8
+ import { ListPanel } from '../../components/ui/list-panel.js';
9
+ import { LiveRegion } from '../../components/ui/live-region.js';
10
+ import { NativeSelect } from '../../components/ui/native-select.js';
11
+ import { Section, SectionHeading, childLevel } from '../../components/ui/section.js';
12
+ import { Textarea } from '../../components/ui/textarea.js';
13
+ import { cn } from '../../lib/utils.js';
14
+ /** Whether a caller passed a word that is not there. Read about the value, not the type. */
15
+ function blank(value) {
16
+ return value === undefined || value.trim() === '';
17
+ }
18
+ /**
19
+ * The six refusals, checked before anything is drawn so a caller's mistake is one
20
+ * diagnostic in a console rather than a nameless control on a screen where a reader
21
+ * is about to give a colleague access to an instrument.
22
+ */
23
+ function assertInvite(input) {
24
+ const { identifier, role, message, pending } = input;
25
+ if (blank(identifier.label)) {
26
+ throw new Error('InviteUser01: the identifier field declares no label, so its control would be announced as a text field, ' +
27
+ 'which is the same name every other field on this screen is announced by. Pass the words your product uses ' +
28
+ 'for the person being invited.');
29
+ }
30
+ if (identifier.value !== undefined && identifier.onValueChange === undefined) {
31
+ throw new Error('InviteUser01: identifier.value was passed with no onValueChange, so the field would show the value once ' +
32
+ 'and then stop telling the caller what is in it, which is an address the caller cannot clear when a ' +
33
+ 'reader changes their mind. Pass the pair, or neither.');
34
+ }
35
+ if (blank(role.label)) {
36
+ throw new Error('InviteUser01: the role field declares no label, so its control would be announced as a button, which is ' +
37
+ 'the one control on this screen that grants access. Pass the words your product uses for the set of ' +
38
+ 'roles.');
39
+ }
40
+ if (role.options.length === 0) {
41
+ throw new Error('InviteUser01: the role field passes no options, so it would render a control with nothing in it, which ' +
42
+ 'is a question no reader can answer and looks answered only because the control is there and focusable. ' +
43
+ 'Pass the roles, or drop the field and grant your own default in the handler.');
44
+ }
45
+ if (role.options.some((option) => blank(option.label))) {
46
+ throw new Error('InviteUser01: one of the role options declares no label, so the select would show a bare machine value ' +
47
+ 'where a reader is choosing what access they are about to grant. Pass the words your product uses.');
48
+ }
49
+ if (message !== undefined) {
50
+ if (blank(message.label)) {
51
+ throw new Error('InviteUser01: a message field was passed with no label, so its control would be announced as a text ' +
52
+ 'area with no name. Pass the words your product uses for the note.');
53
+ }
54
+ if (message.value !== undefined && message.onValueChange === undefined) {
55
+ throw new Error('InviteUser01: message.value was passed with no onValueChange, so the Block would hold a note the ' +
56
+ 'caller has lost track of and cannot clear. Pass the pair, or neither.');
57
+ }
58
+ }
59
+ if (pending === undefined)
60
+ return;
61
+ if (pending.items.length === 0 && pending.empty === undefined) {
62
+ throw new Error('InviteUser01: the pending group was passed with no items and no sentence for the empty case, so the ' +
63
+ 'screen would show a named panel with nothing in it, which reads as a fault rather than as an answer. ' +
64
+ 'Pass the sentence your product uses when nobody is invited.');
65
+ }
66
+ for (const item of pending.items) {
67
+ if (blank(item.identifier)) {
68
+ throw new Error(`InviteUser01: the pending invitation ${JSON.stringify(item.id)} declares no address, so the row would ` +
69
+ 'be an empty line in a list a reader is scanning to find their own invitation. Pass the address it ' +
70
+ 'went to.');
71
+ }
72
+ if ((item.revokeLabel === undefined) !== (item.onRevoke === undefined) ||
73
+ (item.onRevoke !== undefined && blank(item.revokeLabel))) {
74
+ throw new Error(`InviteUser01: the pending invitation ${JSON.stringify(item.id)} was passed one half of its revoke ` +
75
+ 'control, so the row would either offer a button that does nothing or call a handler no control can ' +
76
+ 'reach. Pass revokeLabel and onRevoke together, or neither.');
77
+ }
78
+ }
79
+ }
80
+ /**
81
+ * An address, a role and a note, sent as an invitation, beside the invitations already
82
+ * sent.
83
+ *
84
+ * **The translation, because the pattern is not ours and the framing is.** A
85
+ * storefront publishes an invite-a-friend panel: an address field, a dropdown, a
86
+ * message box and a button, and its purpose is to put a shopper's own contact into a
87
+ * marketing list. Prism's products observe a pipeline, capture a market, watch an
88
+ * estate and run agents, and a machine acting on behalf of a person is the whole
89
+ * subject, so this is the screen where a person authorises a machine on somebody
90
+ * else's behalf: the machine is the workspace, the estate or the agent, and the person
91
+ * answering the invitation is about to decide what it is allowed to do. The
92
+ * composition is the storefront's and is unchanged: the field, the dropdown, the note,
93
+ * the control. What is different is the second group, and that is the next paragraph.
94
+ *
95
+ * **What it assumes about the reader in front of it.** It assumes they are already
96
+ * authorised themselves, that they know what the thing they are admitting to is, and
97
+ * that they may not know what the roles in the dropdown are called. It refuses to
98
+ * assume they will remember what they sent, and it refuses to assume they have sent
99
+ * it at all, which is the assumption the pending group exists to remove.
100
+ *
101
+ * **The pending list is a second group and not a second form, and the reason is a
102
+ * support ticket.** A reader who has just sent an invitation and cannot see it will
103
+ * send another, and a second invitation is not a harmless duplicate: it is a second
104
+ * message, a second row in the caller's own audit trail, and a second thing for the
105
+ * person receiving it to work out. So the invitations already sent are drawn, named,
106
+ * and given their own heading rather than being summarised in a sentence under the
107
+ * submit control, and a list that shrank silently is a list a reader stops trusting.
108
+ *
109
+ * **A stale invitation is dimmed and not removed, and the only signal is the caller's
110
+ * own `expiresLabel`.** The Block holds no clock and a design system that guessed
111
+ * would be guessing about somebody else's deadline. The reason for keeping the row is
112
+ * the reason `SettingsMembers01` gives for a closed role: a reader who sent an
113
+ * invitation and finds it gone learns nothing at all, because the absence is
114
+ * indistinguishable from a fault and from a product that quietly discards invitations.
115
+ *
116
+ * **The role list is the caller's, and the `readonly` on it is the fix for a compile
117
+ * error rather than a preference.** A caller writes its roles as `as const` beside its
118
+ * own types, and a mutable prop type rejects that fixture with a message about
119
+ * `readonly` that names nothing about the caller. What the Block refuses to do is
120
+ * ship the list, because the set of roles a workspace has is that workspace's own fact
121
+ * and it changes with its plan and with its commercial agreements.
122
+ *
123
+ * **The select starts on the caller's first option when no value is passed, and the
124
+ * Block does not reorder the list to pick a safer one.** Reordering somebody's roles
125
+ * would be a claim about their permission model, and the alternative, requiring
126
+ * `value`, would put a prop on the type that most callers do not have and would want
127
+ * anyway. A product whose least privileged role is not first passes it first. The cost
128
+ * is that a caller who forgets `value` grants whatever is at the top of their own
129
+ * list, and the honest place to catch that is their own handler, which already has to
130
+ * validate the address.
131
+ *
132
+ * **The counter is not a live region, and that is a decision about a reader typing.**
133
+ * A count that announces itself on every keystroke interrupts a screen reader
134
+ * mid-sentence four hundred times, and the limit is already enforced by the control's
135
+ * own `maxLength` and described by the platform. So the count is drawn and hidden from
136
+ * assistive technology, and a reader who wants it announced as they type reads it.
137
+ *
138
+ * **Nothing here validates anything.** There is no address format check, no rule about
139
+ * whether the address is already a member, no check that the role exists any more and
140
+ * no decision about whether the workspace has room. Each of those is a fact about the
141
+ * caller's product, and a Block that guessed one would refuse a reader on the
142
+ * caller's behalf. What the Block does with the request is the one thing that is
143
+ * rendering rather than policy: it refuses a second press while `submitting` is true,
144
+ * because a second press is a second invitation queued into somebody's inbox.
145
+ *
146
+ * It is a client Component, and the directive is unconditional. `onSubmit` is a
147
+ * function, a function is a piece of state, and state is a client module: a server
148
+ * Component cannot hand an event handler to a `<form>`, so a caller rendering this
149
+ * from a server Component gets a form that submits and calls nothing and a list whose
150
+ * revoke controls press and do nothing.
151
+ */
152
+ export function InviteUser01({ eyebrow, title, description, onSubmit, identifier, role, message, submitLabel, submitting = false, status, pending, headingLevel = 'h2', className, }) {
153
+ assertInvite({ identifier, role, message, pending });
154
+ const generated = useId();
155
+ const identifierId = `${generated}-identifier`;
156
+ const identifierErrorId = `${generated}-identifier-error`;
157
+ const identifierDescriptionId = `${generated}-identifier-description`;
158
+ const roleId = `${generated}-role`;
159
+ const roleDescriptionId = `${generated}-role-description`;
160
+ const messageId = `${generated}-message`;
161
+ const messageDescriptionId = `${generated}-message-description`;
162
+ // The group holding the invitations already sent is a group inside the section, so
163
+ // its title is one level below the section's own and travels with it.
164
+ const GroupTitle = childLevel(headingLevel);
165
+ /*
166
+ * The three entries live here rather than only in the caller, for the same reason
167
+ * the rest of this family holds its values: a field the caller cannot reach is a
168
+ * field the caller cannot clear, and a reader who has just discovered they
169
+ * addressed the invitation to the wrong person should not have to reload the page to
170
+ * correct it. The Block reports every change to the caller when one was asked for
171
+ * and adopts a `value` prop the moment it changes, which is the arrangement React
172
+ * documents for a prop that can change under a stateful child.
173
+ */
174
+ const [entries, setEntries] = useState({
175
+ identifier: identifier.value ?? '',
176
+ role: role.value ?? role.options[0]?.id ?? '',
177
+ message: message?.value ?? '',
178
+ });
179
+ const [seen, setSeen] = useState({
180
+ identifier: identifier.value,
181
+ role: role.value,
182
+ message: message?.value,
183
+ });
184
+ if (seen.identifier !== identifier.value ||
185
+ seen.role !== role.value ||
186
+ seen.message !== message?.value) {
187
+ setSeen({ identifier: identifier.value, role: role.value, message: message?.value });
188
+ setEntries({
189
+ identifier: identifier.value ?? '',
190
+ role: role.value ?? role.options[0]?.id ?? '',
191
+ message: message?.value ?? '',
192
+ });
193
+ }
194
+ const setIdentifier = (value) => {
195
+ setEntries((was) => ({ ...was, identifier: value }));
196
+ identifier.onValueChange?.(value);
197
+ };
198
+ const setRole = (value) => {
199
+ setEntries((was) => ({ ...was, role: value }));
200
+ role.onValueChange?.(value);
201
+ };
202
+ const setMessage = (value) => {
203
+ setEntries((was) => ({ ...was, message: value }));
204
+ message?.onValueChange?.(value);
205
+ };
206
+ const handleSubmit = (event) => {
207
+ event.preventDefault();
208
+ onSubmit({
209
+ identifier: entries.identifier,
210
+ role: entries.role,
211
+ ...(message === undefined ? null : { message: entries.message }),
212
+ });
213
+ };
214
+ return (_jsx(Section, { "data-slot": "invite-user-01", className: cn(className), children: _jsxs("div", { "data-slot": "invite-user-01-body", className: "flex flex-col gap-10", children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description }), _jsxs("div", { "data-slot": "invite-user-01-columns", className: "grid items-start gap-10 lg:grid-cols-[minmax(0,3fr)_minmax(0,2fr)] lg:gap-14", children: [_jsx(Card, { "data-slot": "invite-user-01-card", className: "w-full max-w-measure-narrow gap-0 px-6", children: _jsxs("form", { "data-slot": "invite-user-01-form", onSubmit: handleSubmit, className: "flex w-full flex-col gap-5", children: [_jsxs(Field, { "data-slot": "invite-user-01-identifier", "data-field": "identifier", children: [_jsx(FieldLabel, { htmlFor: identifierId, children: identifier.label }), _jsx(Input, { id: identifierId, type: "email", autoComplete: "off", value: entries.identifier, onChange: (event) => setIdentifier(event.target.value), required: true, "aria-invalid": identifier.error === undefined ? undefined : true, "aria-describedby": identifier.error === undefined
215
+ ? identifier.description === undefined
216
+ ? undefined
217
+ : identifierDescriptionId
218
+ : identifierErrorId }), identifier.error === undefined ? null : (_jsx(FieldError, { id: identifierErrorId, children: identifier.error })), identifier.description === undefined ? null : (_jsx(FieldDescription, { id: identifierDescriptionId, children: identifier.description }))] }), _jsxs(Field, { "data-slot": "invite-user-01-role", "data-field": "role", children: [_jsx(FieldLabel, { htmlFor: roleId, children: role.label }), _jsx(NativeSelect, { id: roleId, value: entries.role, onChange: (event) => setRole(event.target.value), required: true, "aria-describedby": role.description === undefined ? undefined : roleDescriptionId, children: role.options.map((option) => (_jsx("option", { value: option.id, children: option.label }, option.id))) }), role.description === undefined ? null : (_jsx(FieldDescription, { id: roleDescriptionId, children: role.description }))] }), message === undefined ? null : (
219
+ /*
220
+ The note, and the count is drawn beside the control rather than under
221
+ it so a reader watching the limit sees it next to the thing they are
222
+ typing against.
223
+ */
224
+ _jsxs(Field, { "data-slot": "invite-user-01-message", "data-field": "message", children: [_jsx(FieldLabel, { htmlFor: messageId, children: message.label }), _jsx(Textarea, { id: messageId, rows: 4, value: entries.message, onChange: (event) => setMessage(event.target.value), maxLength: message.maxLength, "aria-describedby": message.description === undefined ? undefined : messageDescriptionId }), message.counter !== true ? null : (_jsxs("span", { "data-slot": "invite-user-01-counter", "aria-hidden": "true", className: "text-muted-foreground self-end text-xs tabular-nums", children: [entries.message.length, " / ", message.maxLength] })), message.description === undefined ? null : (_jsx(FieldDescription, { id: messageDescriptionId, children: message.description }))] })), _jsxs("div", { "data-slot": "invite-user-01-actions", className: "flex flex-col gap-3", children: [_jsx(Button, { "data-slot": "invite-user-01-submit", type: "submit", disabled: submitting, className: "w-full", children: submitLabel }), _jsx(LiveRegion, { "data-slot": "invite-user-01-status", politeness: status?.state === 'error' ? 'assertive' : 'polite', busy: submitting, className: cn('text-sm', status?.state === 'error'
225
+ ? 'text-destructive font-medium'
226
+ : 'text-muted-foreground'), children: status?.message })] })] }) }), pending === undefined ? null : (_jsx(ListPanel, { "data-slot": "invite-user-01-pending", scroll: false, title: _jsx(GroupTitle, { "data-slot": "invite-user-01-pending-title", className: "text-sm font-semibold", children: pending.title }), children: pending.items.length === 0 ? (_jsx("p", { "data-slot": "invite-user-01-pending-empty", className: "text-muted-foreground px-4 py-3 text-pretty text-sm", children: pending.empty })) : (_jsx("ul", { "data-slot": "invite-user-01-pending-list", className: "flex flex-col", children: pending.items.map((item) => (_jsxs("li", { "data-slot": "invite-user-01-invitation", "data-invitation": item.id, "data-expired": item.expiresLabel === undefined ? undefined : 'true', className: "border-border flex flex-wrap items-center gap-x-4 gap-y-1 border-b px-4 py-3 last:border-b-0", children: [_jsx("span", { className: "min-w-0 flex-1 truncate text-sm", children: item.identifier }), item.sentLabel === undefined ? null : (_jsx("span", { className: "text-muted-foreground shrink-0 text-xs", children: item.sentLabel })), item.expiresLabel === undefined ? null : (_jsx("span", { "data-slot": "invite-user-01-invitation-expired", className: "text-muted-foreground shrink-0 text-xs", children: item.expiresLabel })), item.revokeLabel === undefined ? null : (_jsx(Button, { "data-slot": "invite-user-01-revoke", type: "button", variant: "ghost", size: "sm", onClick: () => item.onRevoke?.(), className: "shrink-0", children: item.revokeLabel }))] }, item.id))) })) }))] })] }) }));
227
+ }
228
+ export default InviteUser01;
@@ -0,0 +1,3 @@
1
+ export { IssueDetail01, default } from './issue-detail.js';
2
+ export type { IssueDetail01Issue, IssueDetail01Person, IssueDetail01Field, IssueDetail01Comment, IssueDetail01Props, } from './issue-detail.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/issue-detail-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAKvD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1 @@
1
+ export { IssueDetail01, default } from './issue-detail.js';