@unofficialbox/box-open-elements 0.4.0 → 0.6.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 (677) hide show
  1. package/README.md +39 -14
  2. package/dist/components/actions/button-group.d.ts +2 -2
  3. package/dist/components/actions/button-group.js +3 -9
  4. package/dist/components/actions/button.d.ts +2 -2
  5. package/dist/components/actions/button.js +3 -9
  6. package/dist/components/actions/icon-button.d.ts +2 -2
  7. package/dist/components/actions/icon-button.js +3 -9
  8. package/dist/components/actions/link-button.d.ts +2 -2
  9. package/dist/components/actions/link-button.js +3 -9
  10. package/dist/components/actions/menu-item.d.ts +2 -2
  11. package/dist/components/actions/menu-item.js +3 -9
  12. package/dist/components/actions/menu.d.ts +2 -2
  13. package/dist/components/actions/menu.js +3 -9
  14. package/dist/components/actions/segmented-control.d.ts +2 -2
  15. package/dist/components/actions/segmented-control.js +3 -9
  16. package/dist/components/collections/card.d.ts +2 -2
  17. package/dist/components/collections/card.js +3 -9
  18. package/dist/components/collections/carousel.d.ts +2 -2
  19. package/dist/components/collections/carousel.js +3 -9
  20. package/dist/components/collections/datalist-item.d.ts +2 -2
  21. package/dist/components/collections/datalist-item.js +3 -9
  22. package/dist/components/collections/draggable-list.d.ts +2 -2
  23. package/dist/components/collections/draggable-list.js +3 -9
  24. package/dist/components/collections/grid-view.d.ts +2 -2
  25. package/dist/components/collections/grid-view.js +3 -9
  26. package/dist/components/collections/pagination.d.ts +2 -2
  27. package/dist/components/collections/pagination.js +3 -9
  28. package/dist/components/collections/table.d.ts +59 -5
  29. package/dist/components/collections/table.js +342 -29
  30. package/dist/components/collections/thumbnail-card.d.ts +2 -2
  31. package/dist/components/collections/thumbnail-card.js +3 -9
  32. package/dist/components/collections/tree-grid.d.ts +2 -2
  33. package/dist/components/collections/tree-grid.js +3 -9
  34. package/dist/components/collections/tree.d.ts +2 -2
  35. package/dist/components/collections/tree.js +3 -9
  36. package/dist/components/feedback/alert.d.ts +2 -2
  37. package/dist/components/feedback/alert.js +3 -9
  38. package/dist/components/feedback/badge.d.ts +2 -2
  39. package/dist/components/feedback/badge.js +3 -9
  40. package/dist/components/feedback/badgeable.d.ts +2 -2
  41. package/dist/components/feedback/badgeable.js +3 -9
  42. package/dist/components/feedback/chip.d.ts +2 -2
  43. package/dist/components/feedback/chip.js +3 -9
  44. package/dist/components/feedback/due-badge.d.ts +38 -0
  45. package/dist/components/feedback/due-badge.js +168 -0
  46. package/dist/components/feedback/due-types.d.ts +32 -0
  47. package/dist/components/feedback/due-types.js +91 -0
  48. package/dist/components/feedback/empty-state.d.ts +2 -2
  49. package/dist/components/feedback/empty-state.js +3 -9
  50. package/dist/components/feedback/error-mask.d.ts +2 -2
  51. package/dist/components/feedback/error-mask.js +3 -9
  52. package/dist/components/feedback/help-text.d.ts +2 -2
  53. package/dist/components/feedback/help-text.js +3 -9
  54. package/dist/components/feedback/nudge.d.ts +2 -2
  55. package/dist/components/feedback/nudge.js +3 -9
  56. package/dist/components/feedback/progress-bar.d.ts +2 -2
  57. package/dist/components/feedback/progress-bar.js +3 -9
  58. package/dist/components/feedback/progress-ring.d.ts +2 -2
  59. package/dist/components/feedback/progress-ring.js +3 -9
  60. package/dist/components/feedback/progress-steps.d.ts +53 -7
  61. package/dist/components/feedback/progress-steps.js +203 -31
  62. package/dist/components/feedback/skeleton.d.ts +2 -2
  63. package/dist/components/feedback/skeleton.js +3 -9
  64. package/dist/components/feedback/spinner.d.ts +2 -2
  65. package/dist/components/feedback/spinner.js +3 -9
  66. package/dist/components/feedback/stage-path.d.ts +44 -0
  67. package/dist/components/feedback/stage-path.js +235 -0
  68. package/dist/components/feedback/toast.d.ts +2 -2
  69. package/dist/components/feedback/toast.js +3 -9
  70. package/dist/components/files/drop-zone.d.ts +2 -2
  71. package/dist/components/files/drop-zone.js +3 -9
  72. package/dist/components/forms/calendar.d.ts +2 -2
  73. package/dist/components/forms/calendar.js +3 -9
  74. package/dist/components/forms/category-selector.d.ts +2 -2
  75. package/dist/components/forms/category-selector.js +3 -9
  76. package/dist/components/forms/checkbox-group.d.ts +2 -2
  77. package/dist/components/forms/checkbox-group.js +3 -9
  78. package/dist/components/forms/checkbox.d.ts +2 -2
  79. package/dist/components/forms/checkbox.js +3 -9
  80. package/dist/components/forms/color-picker.d.ts +2 -2
  81. package/dist/components/forms/color-picker.js +3 -9
  82. package/dist/components/forms/combobox.d.ts +2 -2
  83. package/dist/components/forms/combobox.js +3 -9
  84. package/dist/components/forms/date-field.d.ts +2 -2
  85. package/dist/components/forms/date-field.js +3 -9
  86. package/dist/components/forms/dropdown.d.ts +2 -2
  87. package/dist/components/forms/dropdown.js +3 -9
  88. package/dist/components/forms/dual-listbox.d.ts +2 -2
  89. package/dist/components/forms/dual-listbox.js +3 -9
  90. package/dist/components/forms/fieldset.d.ts +2 -2
  91. package/dist/components/forms/fieldset.js +3 -9
  92. package/dist/components/forms/multi-select.d.ts +2 -2
  93. package/dist/components/forms/multi-select.js +3 -9
  94. package/dist/components/forms/number-input.d.ts +2 -2
  95. package/dist/components/forms/number-input.js +3 -9
  96. package/dist/components/forms/pill-cloud.d.ts +2 -2
  97. package/dist/components/forms/pill-cloud.js +3 -9
  98. package/dist/components/forms/pill-selector-dropdown.d.ts +2 -2
  99. package/dist/components/forms/pill-selector-dropdown.js +3 -9
  100. package/dist/components/forms/radio-group.d.ts +2 -2
  101. package/dist/components/forms/radio-group.js +3 -9
  102. package/dist/components/forms/range-slider.d.ts +2 -2
  103. package/dist/components/forms/range-slider.js +3 -9
  104. package/dist/components/forms/rating.d.ts +2 -2
  105. package/dist/components/forms/rating.js +3 -9
  106. package/dist/components/forms/rich-text-input.d.ts +2 -2
  107. package/dist/components/forms/rich-text-input.js +3 -9
  108. package/dist/components/forms/search-field.d.ts +2 -2
  109. package/dist/components/forms/search-field.js +3 -9
  110. package/dist/components/forms/select.d.ts +23 -2
  111. package/dist/components/forms/select.js +103 -12
  112. package/dist/components/forms/slider.d.ts +2 -2
  113. package/dist/components/forms/slider.js +3 -9
  114. package/dist/components/forms/spin-button.d.ts +2 -2
  115. package/dist/components/forms/spin-button.js +3 -9
  116. package/dist/components/forms/switch.d.ts +2 -2
  117. package/dist/components/forms/switch.js +3 -9
  118. package/dist/components/forms/tag-input.d.ts +2 -2
  119. package/dist/components/forms/tag-input.js +3 -9
  120. package/dist/components/forms/text-area.d.ts +2 -2
  121. package/dist/components/forms/text-area.js +3 -9
  122. package/dist/components/forms/text-field.d.ts +23 -2
  123. package/dist/components/forms/text-field.js +103 -10
  124. package/dist/components/forms/time-field.d.ts +2 -2
  125. package/dist/components/forms/time-field.js +4 -10
  126. package/dist/components/identity/avatar.d.ts +2 -2
  127. package/dist/components/identity/avatar.js +3 -9
  128. package/dist/components/identity/contact-datalist-item.d.ts +2 -2
  129. package/dist/components/identity/contact-datalist-item.js +3 -9
  130. package/dist/components/identity/persona.d.ts +2 -2
  131. package/dist/components/identity/persona.js +3 -9
  132. package/dist/components/layout/app-shell.d.ts +2 -2
  133. package/dist/components/layout/app-shell.js +3 -9
  134. package/dist/components/layout/divider.d.ts +2 -2
  135. package/dist/components/layout/divider.js +3 -9
  136. package/dist/components/layout/nav-sidebar.d.ts +16 -2
  137. package/dist/components/layout/nav-sidebar.js +52 -9
  138. package/dist/components/layout/section.d.ts +2 -2
  139. package/dist/components/layout/section.js +3 -9
  140. package/dist/components/layout/sidebar-toggle-button.d.ts +2 -2
  141. package/dist/components/layout/sidebar-toggle-button.js +3 -9
  142. package/dist/components/layout/split-view.d.ts +16 -2
  143. package/dist/components/layout/split-view.js +83 -10
  144. package/dist/components/navigation/accordion.d.ts +2 -2
  145. package/dist/components/navigation/accordion.js +3 -9
  146. package/dist/components/navigation/breadcrumb.d.ts +2 -2
  147. package/dist/components/navigation/breadcrumb.js +3 -9
  148. package/dist/components/navigation/tabs.d.ts +2 -2
  149. package/dist/components/navigation/tabs.js +3 -9
  150. package/dist/components/overlays/command-palette.d.ts +62 -0
  151. package/dist/components/overlays/command-palette.js +537 -0
  152. package/dist/components/overlays/command-types.d.ts +90 -0
  153. package/dist/components/overlays/command-types.js +259 -0
  154. package/dist/components/overlays/context-menu.d.ts +2 -2
  155. package/dist/components/overlays/context-menu.js +3 -9
  156. package/dist/components/overlays/dialog.d.ts +2 -2
  157. package/dist/components/overlays/dialog.js +3 -9
  158. package/dist/components/overlays/drawer.d.ts +20 -2
  159. package/dist/components/overlays/drawer.js +138 -18
  160. package/dist/components/overlays/guide-tooltip.d.ts +2 -2
  161. package/dist/components/overlays/guide-tooltip.js +3 -9
  162. package/dist/components/overlays/popover.d.ts +2 -2
  163. package/dist/components/overlays/popover.js +3 -9
  164. package/dist/components/overlays/shortcuts-overlay.d.ts +48 -0
  165. package/dist/components/overlays/shortcuts-overlay.js +385 -0
  166. package/dist/components/overlays/tooltip.d.ts +2 -2
  167. package/dist/components/overlays/tooltip.js +4 -10
  168. package/dist/components/visuals/illustration.d.ts +2 -2
  169. package/dist/components/visuals/illustration.js +3 -9
  170. package/dist/core/element.d.ts +5 -1
  171. package/dist/core/element.js +29 -1
  172. package/dist/element-maps.d.ts +292 -0
  173. package/dist/element-maps.js +1 -0
  174. package/dist/entries/access-stats.d.ts +1 -0
  175. package/dist/entries/access-stats.js +1 -0
  176. package/dist/entries/accordion.d.ts +1 -0
  177. package/dist/entries/accordion.js +1 -0
  178. package/dist/entries/activity-density.d.ts +1 -0
  179. package/dist/entries/activity-density.js +1 -0
  180. package/dist/entries/agent-chat.d.ts +1 -0
  181. package/dist/entries/agent-chat.js +1 -0
  182. package/dist/entries/alert.d.ts +1 -0
  183. package/dist/entries/alert.js +1 -0
  184. package/dist/entries/annotation-inspector.d.ts +1 -0
  185. package/dist/entries/annotation-inspector.js +1 -0
  186. package/dist/entries/annotation-thread.d.ts +1 -0
  187. package/dist/entries/annotation-thread.js +1 -0
  188. package/dist/entries/annotation-toolbar.d.ts +1 -0
  189. package/dist/entries/annotation-toolbar.js +1 -0
  190. package/dist/entries/app-shell.d.ts +1 -0
  191. package/dist/entries/app-shell.js +1 -0
  192. package/dist/entries/audit-log.d.ts +1 -0
  193. package/dist/entries/audit-log.js +1 -0
  194. package/dist/entries/avatar.d.ts +1 -0
  195. package/dist/entries/avatar.js +1 -0
  196. package/dist/entries/badge.d.ts +1 -0
  197. package/dist/entries/badge.js +1 -0
  198. package/dist/entries/badgeable.d.ts +1 -0
  199. package/dist/entries/badgeable.js +1 -0
  200. package/dist/entries/bar-chart.d.ts +1 -0
  201. package/dist/entries/bar-chart.js +1 -0
  202. package/dist/entries/breadcrumb.d.ts +1 -0
  203. package/dist/entries/breadcrumb.js +1 -0
  204. package/dist/entries/bulk-action-bar.d.ts +1 -0
  205. package/dist/entries/bulk-action-bar.js +1 -0
  206. package/dist/entries/button-group.d.ts +1 -0
  207. package/dist/entries/button-group.js +1 -0
  208. package/dist/entries/button.d.ts +1 -0
  209. package/dist/entries/button.js +1 -0
  210. package/dist/entries/calendar.d.ts +1 -0
  211. package/dist/entries/calendar.js +1 -0
  212. package/dist/entries/card.d.ts +1 -0
  213. package/dist/entries/card.js +1 -0
  214. package/dist/entries/carousel.d.ts +1 -0
  215. package/dist/entries/carousel.js +1 -0
  216. package/dist/entries/category-selector.d.ts +1 -0
  217. package/dist/entries/category-selector.js +1 -0
  218. package/dist/entries/chart-panel.d.ts +1 -0
  219. package/dist/entries/chart-panel.js +1 -0
  220. package/dist/entries/checkbox-group.d.ts +1 -0
  221. package/dist/entries/checkbox-group.js +1 -0
  222. package/dist/entries/checkbox.d.ts +1 -0
  223. package/dist/entries/checkbox.js +1 -0
  224. package/dist/entries/chip.d.ts +1 -0
  225. package/dist/entries/chip.js +1 -0
  226. package/dist/entries/collaborator-avatars.d.ts +1 -0
  227. package/dist/entries/collaborator-avatars.js +1 -0
  228. package/dist/entries/color-picker.d.ts +1 -0
  229. package/dist/entries/color-picker.js +1 -0
  230. package/dist/entries/combobox.d.ts +1 -0
  231. package/dist/entries/combobox.js +1 -0
  232. package/dist/entries/command-palette.d.ts +1 -0
  233. package/dist/entries/command-palette.js +1 -0
  234. package/dist/entries/compare-view.d.ts +1 -0
  235. package/dist/entries/compare-view.js +1 -0
  236. package/dist/entries/contact-datalist-item.d.ts +1 -0
  237. package/dist/entries/contact-datalist-item.js +1 -0
  238. package/dist/entries/content-explorer.d.ts +1 -0
  239. package/dist/entries/content-explorer.js +1 -0
  240. package/dist/entries/context-menu.d.ts +1 -0
  241. package/dist/entries/context-menu.js +1 -0
  242. package/dist/entries/datalist-item.d.ts +1 -0
  243. package/dist/entries/datalist-item.js +1 -0
  244. package/dist/entries/date-field.d.ts +1 -0
  245. package/dist/entries/date-field.js +1 -0
  246. package/dist/entries/dialog.d.ts +1 -0
  247. package/dist/entries/dialog.js +1 -0
  248. package/dist/entries/diff-viewer.d.ts +1 -0
  249. package/dist/entries/diff-viewer.js +1 -0
  250. package/dist/entries/divider.d.ts +1 -0
  251. package/dist/entries/divider.js +1 -0
  252. package/dist/entries/donut-chart.d.ts +1 -0
  253. package/dist/entries/donut-chart.js +1 -0
  254. package/dist/entries/draggable-list.d.ts +1 -0
  255. package/dist/entries/draggable-list.js +1 -0
  256. package/dist/entries/drawer.d.ts +1 -0
  257. package/dist/entries/drawer.js +1 -0
  258. package/dist/entries/drop-zone.d.ts +1 -0
  259. package/dist/entries/drop-zone.js +1 -0
  260. package/dist/entries/dropdown.d.ts +1 -0
  261. package/dist/entries/dropdown.js +1 -0
  262. package/dist/entries/dual-listbox.d.ts +1 -0
  263. package/dist/entries/dual-listbox.js +1 -0
  264. package/dist/entries/due-badge.d.ts +1 -0
  265. package/dist/entries/due-badge.js +1 -0
  266. package/dist/entries/empty-state.d.ts +1 -0
  267. package/dist/entries/empty-state.js +1 -0
  268. package/dist/entries/error-mask.d.ts +1 -0
  269. package/dist/entries/error-mask.js +1 -0
  270. package/dist/entries/explorer-action-menu.d.ts +1 -0
  271. package/dist/entries/explorer-action-menu.js +1 -0
  272. package/dist/entries/explorer-breadcrumbs.d.ts +1 -0
  273. package/dist/entries/explorer-breadcrumbs.js +1 -0
  274. package/dist/entries/explorer-items.d.ts +1 -0
  275. package/dist/entries/explorer-items.js +1 -0
  276. package/dist/entries/explorer-list.d.ts +1 -0
  277. package/dist/entries/explorer-list.js +1 -0
  278. package/dist/entries/explorer-table.d.ts +1 -0
  279. package/dist/entries/explorer-table.js +1 -0
  280. package/dist/entries/explorer-toolbar.d.ts +1 -0
  281. package/dist/entries/explorer-toolbar.js +1 -0
  282. package/dist/entries/fieldset.d.ts +1 -0
  283. package/dist/entries/fieldset.js +1 -0
  284. package/dist/entries/file-request-builder.d.ts +1 -0
  285. package/dist/entries/file-request-builder.js +1 -0
  286. package/dist/entries/filter-bar.d.ts +1 -0
  287. package/dist/entries/filter-bar.js +1 -0
  288. package/dist/entries/form-wizard.d.ts +1 -0
  289. package/dist/entries/form-wizard.js +1 -0
  290. package/dist/entries/governance-panel.d.ts +1 -0
  291. package/dist/entries/governance-panel.js +1 -0
  292. package/dist/entries/grid-view.d.ts +1 -0
  293. package/dist/entries/grid-view.js +1 -0
  294. package/dist/entries/guide-tooltip.d.ts +1 -0
  295. package/dist/entries/guide-tooltip.js +1 -0
  296. package/dist/entries/help-text.d.ts +1 -0
  297. package/dist/entries/help-text.js +1 -0
  298. package/dist/entries/icon-button.d.ts +1 -0
  299. package/dist/entries/icon-button.js +1 -0
  300. package/dist/entries/illustration.d.ts +1 -0
  301. package/dist/entries/illustration.js +1 -0
  302. package/dist/entries/invite-collaborators-modal.d.ts +1 -0
  303. package/dist/entries/invite-collaborators-modal.js +1 -0
  304. package/dist/entries/item-details-panel.d.ts +1 -0
  305. package/dist/entries/item-details-panel.js +1 -0
  306. package/dist/entries/item-form.d.ts +1 -0
  307. package/dist/entries/item-form.js +1 -0
  308. package/dist/entries/line-chart.d.ts +1 -0
  309. package/dist/entries/line-chart.js +1 -0
  310. package/dist/entries/lineage-graph.d.ts +1 -0
  311. package/dist/entries/lineage-graph.js +1 -0
  312. package/dist/entries/link-button.d.ts +1 -0
  313. package/dist/entries/link-button.js +1 -0
  314. package/dist/entries/menu-item.d.ts +1 -0
  315. package/dist/entries/menu-item.js +1 -0
  316. package/dist/entries/menu.d.ts +1 -0
  317. package/dist/entries/menu.js +1 -0
  318. package/dist/entries/metadata-filter-builder.d.ts +1 -0
  319. package/dist/entries/metadata-filter-builder.js +1 -0
  320. package/dist/entries/metadata-inspector.d.ts +1 -0
  321. package/dist/entries/metadata-inspector.js +1 -0
  322. package/dist/entries/metric-card.d.ts +1 -0
  323. package/dist/entries/metric-card.js +1 -0
  324. package/dist/entries/multi-select.d.ts +1 -0
  325. package/dist/entries/multi-select.js +1 -0
  326. package/dist/entries/nav-sidebar.d.ts +1 -0
  327. package/dist/entries/nav-sidebar.js +1 -0
  328. package/dist/entries/notification-bell.d.ts +1 -0
  329. package/dist/entries/notification-bell.js +1 -0
  330. package/dist/entries/notification-inbox.d.ts +1 -0
  331. package/dist/entries/notification-inbox.js +1 -0
  332. package/dist/entries/nudge.d.ts +1 -0
  333. package/dist/entries/nudge.js +1 -0
  334. package/dist/entries/number-input.d.ts +1 -0
  335. package/dist/entries/number-input.js +1 -0
  336. package/dist/entries/pagination.d.ts +1 -0
  337. package/dist/entries/pagination.js +1 -0
  338. package/dist/entries/permission-matrix.d.ts +1 -0
  339. package/dist/entries/permission-matrix.js +1 -0
  340. package/dist/entries/persona.d.ts +1 -0
  341. package/dist/entries/persona.js +1 -0
  342. package/dist/entries/pill-cloud.d.ts +1 -0
  343. package/dist/entries/pill-cloud.js +1 -0
  344. package/dist/entries/pill-selector-dropdown.d.ts +1 -0
  345. package/dist/entries/pill-selector-dropdown.js +1 -0
  346. package/dist/entries/popover.d.ts +1 -0
  347. package/dist/entries/popover.js +1 -0
  348. package/dist/entries/presence.d.ts +1 -0
  349. package/dist/entries/presence.js +1 -0
  350. package/dist/entries/preview-header.d.ts +1 -0
  351. package/dist/entries/preview-header.js +1 -0
  352. package/dist/entries/preview.d.ts +1 -0
  353. package/dist/entries/preview.js +1 -0
  354. package/dist/entries/progress-bar.d.ts +1 -0
  355. package/dist/entries/progress-bar.js +1 -0
  356. package/dist/entries/progress-ring.d.ts +1 -0
  357. package/dist/entries/progress-ring.js +1 -0
  358. package/dist/entries/progress-steps.d.ts +1 -0
  359. package/dist/entries/progress-steps.js +1 -0
  360. package/dist/entries/provenance-strip.d.ts +1 -0
  361. package/dist/entries/provenance-strip.js +1 -0
  362. package/dist/entries/radio-group.d.ts +1 -0
  363. package/dist/entries/radio-group.js +1 -0
  364. package/dist/entries/range-slider.d.ts +1 -0
  365. package/dist/entries/range-slider.js +1 -0
  366. package/dist/entries/rating.d.ts +1 -0
  367. package/dist/entries/rating.js +1 -0
  368. package/dist/entries/review-queue-item.d.ts +1 -0
  369. package/dist/entries/review-queue-item.js +1 -0
  370. package/dist/entries/rich-text-input.d.ts +1 -0
  371. package/dist/entries/rich-text-input.js +1 -0
  372. package/dist/entries/run-trace.d.ts +1 -0
  373. package/dist/entries/run-trace.js +1 -0
  374. package/dist/entries/saved-view-picker.d.ts +1 -0
  375. package/dist/entries/saved-view-picker.js +1 -0
  376. package/dist/entries/search-field.d.ts +1 -0
  377. package/dist/entries/search-field.js +1 -0
  378. package/dist/entries/search-results-header.d.ts +1 -0
  379. package/dist/entries/search-results-header.js +1 -0
  380. package/dist/entries/section.d.ts +1 -0
  381. package/dist/entries/section.js +1 -0
  382. package/dist/entries/segmented-control.d.ts +1 -0
  383. package/dist/entries/segmented-control.js +1 -0
  384. package/dist/entries/select.d.ts +1 -0
  385. package/dist/entries/select.js +1 -0
  386. package/dist/entries/share-panel.d.ts +1 -0
  387. package/dist/entries/share-panel.js +1 -0
  388. package/dist/entries/shortcuts-overlay.d.ts +1 -0
  389. package/dist/entries/shortcuts-overlay.js +1 -0
  390. package/dist/entries/sidebar-toggle-button.d.ts +1 -0
  391. package/dist/entries/sidebar-toggle-button.js +1 -0
  392. package/dist/entries/signature-ceremony.d.ts +1 -0
  393. package/dist/entries/signature-ceremony.js +1 -0
  394. package/dist/entries/skeleton.d.ts +1 -0
  395. package/dist/entries/skeleton.js +1 -0
  396. package/dist/entries/slider.d.ts +1 -0
  397. package/dist/entries/slider.js +1 -0
  398. package/dist/entries/spin-button.d.ts +1 -0
  399. package/dist/entries/spin-button.js +1 -0
  400. package/dist/entries/spinner.d.ts +1 -0
  401. package/dist/entries/spinner.js +1 -0
  402. package/dist/entries/split-view.d.ts +1 -0
  403. package/dist/entries/split-view.js +1 -0
  404. package/dist/entries/stage-path.d.ts +1 -0
  405. package/dist/entries/stage-path.js +1 -0
  406. package/dist/entries/switch.d.ts +1 -0
  407. package/dist/entries/switch.js +1 -0
  408. package/dist/entries/table.d.ts +1 -0
  409. package/dist/entries/table.js +1 -0
  410. package/dist/entries/tabs.d.ts +1 -0
  411. package/dist/entries/tabs.js +1 -0
  412. package/dist/entries/tag-input.d.ts +1 -0
  413. package/dist/entries/tag-input.js +1 -0
  414. package/dist/entries/task-assignment-panel.d.ts +1 -0
  415. package/dist/entries/task-assignment-panel.js +1 -0
  416. package/dist/entries/text-area.d.ts +1 -0
  417. package/dist/entries/text-area.js +1 -0
  418. package/dist/entries/text-field.d.ts +1 -0
  419. package/dist/entries/text-field.js +1 -0
  420. package/dist/entries/thumbnail-card.d.ts +1 -0
  421. package/dist/entries/thumbnail-card.js +1 -0
  422. package/dist/entries/time-field.d.ts +1 -0
  423. package/dist/entries/time-field.js +1 -0
  424. package/dist/entries/timeline.d.ts +1 -0
  425. package/dist/entries/timeline.js +1 -0
  426. package/dist/entries/toast.d.ts +1 -0
  427. package/dist/entries/toast.js +1 -0
  428. package/dist/entries/tooltip.d.ts +1 -0
  429. package/dist/entries/tooltip.js +1 -0
  430. package/dist/entries/tree-grid.d.ts +1 -0
  431. package/dist/entries/tree-grid.js +1 -0
  432. package/dist/entries/tree.d.ts +1 -0
  433. package/dist/entries/tree.js +1 -0
  434. package/dist/entries/unified-share-modal.d.ts +1 -0
  435. package/dist/entries/unified-share-modal.js +1 -0
  436. package/dist/entries/version-graph.d.ts +1 -0
  437. package/dist/entries/version-graph.js +1 -0
  438. package/dist/entries/version-list.d.ts +1 -0
  439. package/dist/entries/version-list.js +1 -0
  440. package/dist/entries/wizard-summary.d.ts +1 -0
  441. package/dist/entries/wizard-summary.js +1 -0
  442. package/dist/entries/work-queue.d.ts +1 -0
  443. package/dist/entries/work-queue.js +1 -0
  444. package/dist/entries/workload-board.d.ts +1 -0
  445. package/dist/entries/workload-board.js +1 -0
  446. package/dist/foundations/geometry/tokens.d.ts +46 -45
  447. package/dist/foundations/geometry/tokens.js +46 -45
  448. package/dist/foundations/motion/tokens.d.ts +10 -10
  449. package/dist/foundations/motion/tokens.js +10 -10
  450. package/dist/foundations/profiles/built-ins.d.ts +4 -0
  451. package/dist/foundations/profiles/built-ins.js +131 -0
  452. package/dist/foundations/profiles/controller.d.ts +4 -0
  453. package/dist/foundations/profiles/controller.js +107 -0
  454. package/dist/foundations/profiles/index.d.ts +4 -0
  455. package/dist/foundations/profiles/index.js +3 -0
  456. package/dist/foundations/profiles/registry.d.ts +72 -0
  457. package/dist/foundations/profiles/registry.js +119 -0
  458. package/dist/foundations/profiles/types.d.ts +94 -0
  459. package/dist/foundations/profiles/types.js +1 -0
  460. package/dist/foundations/theming/controller.d.ts +37 -0
  461. package/dist/foundations/theming/controller.js +176 -0
  462. package/dist/foundations/theming/index.d.ts +2 -0
  463. package/dist/foundations/theming/index.js +1 -0
  464. package/dist/foundations/tokens/box-dark.d.ts +3 -3
  465. package/dist/foundations/tokens/box-defaults.d.ts +3 -3
  466. package/dist/foundations/tokens/index.d.ts +2 -2
  467. package/dist/foundations/tokens/index.js +1 -1
  468. package/dist/foundations/tokens/registry.d.ts +37 -7
  469. package/dist/foundations/tokens/registry.js +55 -5
  470. package/dist/foundations/tokens/types.d.ts +38 -1
  471. package/dist/index.d.ts +27 -2
  472. package/dist/index.js +24 -1
  473. package/dist/patterns/agent-chat/agent-chat.d.ts +75 -0
  474. package/dist/patterns/agent-chat/agent-chat.js +820 -0
  475. package/dist/patterns/agent-chat/controller.d.ts +27 -0
  476. package/dist/patterns/agent-chat/controller.js +182 -0
  477. package/dist/patterns/agent-chat/index.d.ts +3 -0
  478. package/dist/patterns/agent-chat/index.js +6 -0
  479. package/dist/patterns/agent-chat/types.d.ts +109 -0
  480. package/dist/patterns/agent-chat/types.js +1 -0
  481. package/dist/patterns/audit/activity-density.d.ts +68 -0
  482. package/dist/patterns/audit/activity-density.js +428 -0
  483. package/dist/patterns/audit/audit-log.d.ts +81 -0
  484. package/dist/patterns/audit/audit-log.js +794 -0
  485. package/dist/patterns/audit/index.d.ts +3 -0
  486. package/dist/patterns/audit/index.js +7 -0
  487. package/dist/patterns/audit/shared.d.ts +10 -0
  488. package/dist/patterns/audit/shared.js +50 -0
  489. package/dist/patterns/audit/types.d.ts +143 -0
  490. package/dist/patterns/audit/types.js +327 -0
  491. package/dist/patterns/content-explorer/actions/controller.js +12 -2
  492. package/dist/patterns/content-explorer/adapters/action-menu.d.ts +2 -2
  493. package/dist/patterns/content-explorer/adapters/action-menu.js +3 -9
  494. package/dist/patterns/content-explorer/adapters/breadcrumbs.d.ts +2 -2
  495. package/dist/patterns/content-explorer/adapters/breadcrumbs.js +3 -9
  496. package/dist/patterns/content-explorer/adapters/items.d.ts +3 -3
  497. package/dist/patterns/content-explorer/adapters/items.js +4 -10
  498. package/dist/patterns/content-explorer/adapters/list.d.ts +2 -2
  499. package/dist/patterns/content-explorer/adapters/list.js +3 -9
  500. package/dist/patterns/content-explorer/adapters/table.d.ts +2 -2
  501. package/dist/patterns/content-explorer/adapters/table.js +3 -9
  502. package/dist/patterns/content-explorer/adapters/toolbar.d.ts +2 -2
  503. package/dist/patterns/content-explorer/adapters/toolbar.js +7 -13
  504. package/dist/patterns/content-explorer/box-transport.js +117 -25
  505. package/dist/patterns/content-explorer/content-explorer.d.ts +28 -16
  506. package/dist/patterns/content-explorer/content-explorer.js +41 -14
  507. package/dist/patterns/content-explorer/contracts.d.ts +24 -1
  508. package/dist/patterns/content-explorer/contracts.js +68 -11
  509. package/dist/patterns/content-explorer/controller.d.ts +16 -1
  510. package/dist/patterns/content-explorer/controller.js +130 -4
  511. package/dist/patterns/content-explorer/navigation/controller.js +11 -9
  512. package/dist/patterns/content-explorer/types.d.ts +58 -1
  513. package/dist/patterns/content-picker/content-picker.d.ts +71 -0
  514. package/dist/patterns/content-picker/content-picker.js +747 -0
  515. package/dist/patterns/content-picker/controller.d.ts +38 -0
  516. package/dist/patterns/content-picker/controller.js +141 -0
  517. package/dist/patterns/content-picker/index.d.ts +3 -0
  518. package/dist/patterns/content-picker/index.js +6 -0
  519. package/dist/patterns/content-picker/types.d.ts +52 -0
  520. package/dist/patterns/content-picker/types.js +26 -0
  521. package/dist/patterns/content-sidebar/content-sidebar.d.ts +43 -0
  522. package/dist/patterns/content-sidebar/content-sidebar.js +293 -0
  523. package/dist/patterns/content-sidebar/index.d.ts +2 -0
  524. package/dist/patterns/content-sidebar/index.js +4 -0
  525. package/dist/patterns/content-sidebar/types.d.ts +18 -0
  526. package/dist/patterns/content-sidebar/types.js +20 -0
  527. package/dist/patterns/content-uploader/box-transport.d.ts +14 -0
  528. package/dist/patterns/content-uploader/box-transport.js +54 -0
  529. package/dist/patterns/content-uploader/content-uploader.d.ts +62 -0
  530. package/dist/patterns/content-uploader/content-uploader.js +559 -0
  531. package/dist/patterns/content-uploader/controller.d.ts +39 -0
  532. package/dist/patterns/content-uploader/controller.js +227 -0
  533. package/dist/patterns/content-uploader/index.d.ts +4 -0
  534. package/dist/patterns/content-uploader/index.js +8 -0
  535. package/dist/patterns/content-uploader/types.d.ts +120 -0
  536. package/dist/patterns/content-uploader/types.js +38 -0
  537. package/dist/patterns/diff/compare-view.d.ts +47 -0
  538. package/dist/patterns/diff/compare-view.js +276 -0
  539. package/dist/patterns/diff/diff-viewer.d.ts +42 -0
  540. package/dist/patterns/diff/diff-viewer.js +434 -0
  541. package/dist/patterns/diff/engine.d.ts +22 -0
  542. package/dist/patterns/diff/engine.js +276 -0
  543. package/dist/patterns/diff/index.d.ts +4 -0
  544. package/dist/patterns/diff/index.js +8 -0
  545. package/dist/patterns/diff/types.d.ts +69 -0
  546. package/dist/patterns/diff/types.js +24 -0
  547. package/dist/patterns/file-request/file-request-builder.d.ts +2 -2
  548. package/dist/patterns/file-request/file-request-builder.js +3 -9
  549. package/dist/patterns/form-wizard/controller.d.ts +39 -0
  550. package/dist/patterns/form-wizard/controller.js +157 -0
  551. package/dist/patterns/form-wizard/form-wizard.d.ts +63 -0
  552. package/dist/patterns/form-wizard/form-wizard.js +468 -0
  553. package/dist/patterns/form-wizard/index.d.ts +4 -0
  554. package/dist/patterns/form-wizard/index.js +8 -0
  555. package/dist/patterns/form-wizard/types.d.ts +109 -0
  556. package/dist/patterns/form-wizard/types.js +83 -0
  557. package/dist/patterns/form-wizard/wizard-summary.d.ts +62 -0
  558. package/dist/patterns/form-wizard/wizard-summary.js +324 -0
  559. package/dist/patterns/governance/governance-panel.d.ts +2 -2
  560. package/dist/patterns/governance/governance-panel.js +3 -6
  561. package/dist/patterns/insights/bar-chart.d.ts +2 -2
  562. package/dist/patterns/insights/bar-chart.js +3 -6
  563. package/dist/patterns/insights/chart-panel.d.ts +2 -2
  564. package/dist/patterns/insights/chart-panel.js +3 -6
  565. package/dist/patterns/insights/donut-chart.d.ts +2 -2
  566. package/dist/patterns/insights/donut-chart.js +3 -6
  567. package/dist/patterns/insights/line-chart.d.ts +2 -2
  568. package/dist/patterns/insights/line-chart.js +3 -6
  569. package/dist/patterns/insights/metric-card.d.ts +2 -2
  570. package/dist/patterns/insights/metric-card.js +3 -6
  571. package/dist/patterns/internal/safe-href.d.ts +17 -0
  572. package/dist/patterns/internal/safe-href.js +17 -0
  573. package/dist/patterns/item/bulk-action-bar.d.ts +2 -2
  574. package/dist/patterns/item/bulk-action-bar.js +3 -6
  575. package/dist/patterns/item/item-details-panel.d.ts +2 -2
  576. package/dist/patterns/item/item-details-panel.js +3 -9
  577. package/dist/patterns/item/item-form.d.ts +2 -2
  578. package/dist/patterns/item/item-form.js +3 -9
  579. package/dist/patterns/item/preview-header.d.ts +2 -2
  580. package/dist/patterns/item/preview-header.js +3 -9
  581. package/dist/patterns/lineage/index.d.ts +3 -0
  582. package/dist/patterns/lineage/index.js +6 -0
  583. package/dist/patterns/lineage/lineage-graph.d.ts +30 -0
  584. package/dist/patterns/lineage/lineage-graph.js +434 -0
  585. package/dist/patterns/lineage/provenance-strip.d.ts +22 -0
  586. package/dist/patterns/lineage/provenance-strip.js +194 -0
  587. package/dist/patterns/lineage/types.d.ts +53 -0
  588. package/dist/patterns/lineage/types.js +49 -0
  589. package/dist/patterns/metadata/metadata-filter-builder.d.ts +2 -2
  590. package/dist/patterns/metadata/metadata-filter-builder.js +3 -9
  591. package/dist/patterns/metadata/metadata-inspector.d.ts +2 -2
  592. package/dist/patterns/metadata/metadata-inspector.js +3 -9
  593. package/dist/patterns/notifications/index.d.ts +3 -0
  594. package/dist/patterns/notifications/index.js +6 -0
  595. package/dist/patterns/notifications/notification-bell.d.ts +38 -0
  596. package/dist/patterns/notifications/notification-bell.js +198 -0
  597. package/dist/patterns/notifications/notification-inbox.d.ts +46 -0
  598. package/dist/patterns/notifications/notification-inbox.js +537 -0
  599. package/dist/patterns/notifications/types.d.ts +61 -0
  600. package/dist/patterns/notifications/types.js +108 -0
  601. package/dist/patterns/preview/annotation-inspector.d.ts +27 -8
  602. package/dist/patterns/preview/annotation-inspector.js +242 -103
  603. package/dist/patterns/preview/annotation-thread.d.ts +27 -7
  604. package/dist/patterns/preview/annotation-thread.js +236 -91
  605. package/dist/patterns/preview/annotation-toolbar.d.ts +22 -8
  606. package/dist/patterns/preview/annotation-toolbar.js +165 -105
  607. package/dist/patterns/preview/content-preview-adapter.d.ts +10 -1
  608. package/dist/patterns/preview/content-preview-adapter.js +26 -1
  609. package/dist/patterns/preview/preview-element.d.ts +17 -4
  610. package/dist/patterns/preview/preview-element.js +226 -61
  611. package/dist/patterns/preview/provider-adapter.d.ts +47 -0
  612. package/dist/patterns/preview/provider-adapter.js +17 -0
  613. package/dist/patterns/run/index.d.ts +2 -0
  614. package/dist/patterns/run/index.js +4 -0
  615. package/dist/patterns/run/run-trace.d.ts +40 -0
  616. package/dist/patterns/run/run-trace.js +441 -0
  617. package/dist/patterns/run/types.d.ts +66 -0
  618. package/dist/patterns/run/types.js +152 -0
  619. package/dist/patterns/search/filter-bar.d.ts +2 -2
  620. package/dist/patterns/search/filter-bar.js +3 -9
  621. package/dist/patterns/search/saved-view-picker.d.ts +2 -2
  622. package/dist/patterns/search/saved-view-picker.js +3 -9
  623. package/dist/patterns/search/search-results-header.d.ts +2 -2
  624. package/dist/patterns/search/search-results-header.js +3 -9
  625. package/dist/patterns/share/access-stats.d.ts +2 -2
  626. package/dist/patterns/share/access-stats.js +3 -9
  627. package/dist/patterns/share/collaborator-avatars.d.ts +2 -2
  628. package/dist/patterns/share/collaborator-avatars.js +3 -9
  629. package/dist/patterns/share/invite-collaborators-modal.d.ts +2 -2
  630. package/dist/patterns/share/invite-collaborators-modal.js +3 -9
  631. package/dist/patterns/share/permission-matrix.d.ts +2 -2
  632. package/dist/patterns/share/permission-matrix.js +3 -9
  633. package/dist/patterns/share/presence.d.ts +2 -2
  634. package/dist/patterns/share/presence.js +3 -9
  635. package/dist/patterns/share/share-panel.d.ts +2 -2
  636. package/dist/patterns/share/share-panel.js +3 -9
  637. package/dist/patterns/share/unified-share-modal.d.ts +2 -2
  638. package/dist/patterns/share/unified-share-modal.js +3 -9
  639. package/dist/patterns/signature/index.d.ts +2 -0
  640. package/dist/patterns/signature/index.js +4 -0
  641. package/dist/patterns/signature/signature-ceremony.d.ts +33 -0
  642. package/dist/patterns/signature/signature-ceremony.js +317 -0
  643. package/dist/patterns/signature/types.d.ts +68 -0
  644. package/dist/patterns/signature/types.js +89 -0
  645. package/dist/patterns/task/review-queue-item.d.ts +2 -2
  646. package/dist/patterns/task/review-queue-item.js +3 -6
  647. package/dist/patterns/task/task-assignment-panel.d.ts +2 -2
  648. package/dist/patterns/task/task-assignment-panel.js +3 -6
  649. package/dist/patterns/timeline/index.d.ts +2 -0
  650. package/dist/patterns/timeline/index.js +4 -0
  651. package/dist/patterns/timeline/timeline.d.ts +27 -0
  652. package/dist/patterns/timeline/timeline.js +430 -0
  653. package/dist/patterns/timeline/types.d.ts +36 -0
  654. package/dist/patterns/timeline/types.js +27 -0
  655. package/dist/patterns/versions/graph-layout.d.ts +43 -0
  656. package/dist/patterns/versions/graph-layout.js +159 -0
  657. package/dist/patterns/versions/index.d.ts +4 -0
  658. package/dist/patterns/versions/index.js +8 -0
  659. package/dist/patterns/versions/shared.d.ts +4 -0
  660. package/dist/patterns/versions/shared.js +13 -0
  661. package/dist/patterns/versions/types.d.ts +37 -0
  662. package/dist/patterns/versions/types.js +39 -0
  663. package/dist/patterns/versions/version-graph.d.ts +36 -0
  664. package/dist/patterns/versions/version-graph.js +438 -0
  665. package/dist/patterns/versions/version-list.d.ts +39 -0
  666. package/dist/patterns/versions/version-list.js +407 -0
  667. package/dist/patterns/work-queue/controller.d.ts +26 -0
  668. package/dist/patterns/work-queue/controller.js +150 -0
  669. package/dist/patterns/work-queue/index.d.ts +4 -0
  670. package/dist/patterns/work-queue/index.js +7 -0
  671. package/dist/patterns/work-queue/types.d.ts +128 -0
  672. package/dist/patterns/work-queue/types.js +45 -0
  673. package/dist/patterns/work-queue/work-queue.d.ts +48 -0
  674. package/dist/patterns/work-queue/work-queue.js +534 -0
  675. package/dist/patterns/work-queue/workload-board.d.ts +53 -0
  676. package/dist/patterns/work-queue/workload-board.js +608 -0
  677. package/package.json +93 -5
@@ -0,0 +1,62 @@
1
+ import { summarizeWizardValues } from "./types.js";
2
+ import type { WizardStepConfig, WizardSummaryField } from "./types.js";
3
+ import { BaseElement } from "../../core/index.js";
4
+ /**
5
+ * The review step of a `box-form-wizard`: everything collected so far, grouped
6
+ * by the step that collected it, with an Edit link per group.
7
+ *
8
+ * The card is read-only and emits `edit-requested` rather than navigating
9
+ * itself, so the host stays in charge of the wizard — the same intent contract
10
+ * the rest of the patterns use.
11
+ *
12
+ * Two details carry the weight:
13
+ *
14
+ * - Sections follow **step order**, so the summary reads back in the sequence
15
+ * the user filled it in rather than in whatever order the fields were
16
+ * declared.
17
+ * - A field naming a step that does not exist lands in a trailing section
18
+ * instead of vanishing. A review card exists so someone can confirm what
19
+ * they are submitting; silently dropping a row would let them confirm a
20
+ * value they were never shown.
21
+ */
22
+ export declare class WizardSummary extends BaseElement {
23
+ static readonly tagName: string;
24
+ static get observedAttributes(): string[];
25
+ private hostEl;
26
+ private fieldsRaw;
27
+ private fieldsCache;
28
+ private stepsRaw;
29
+ private stepsCache;
30
+ private valuesRaw;
31
+ private valuesCache;
32
+ get heading(): string;
33
+ set heading(value: string);
34
+ /** Verb on the per-section control. The step label is appended for its accessible name. */
35
+ get editLabel(): string;
36
+ set editLabel(value: string);
37
+ /** Placeholder for a field with nothing collected. */
38
+ get emptyText(): string;
39
+ set emptyText(value: string);
40
+ /**
41
+ * Fields to summarise. Note that `format` cannot survive the attribute
42
+ * round-trip — set the property directly when a field needs one.
43
+ */
44
+ get fields(): WizardSummaryField[];
45
+ /**
46
+ * Setting any of `fields`, `steps`, or `values` as a **property** stores the
47
+ * value as-is and re-renders. It is not mirrored to the attribute, because
48
+ * these carry things a JSON round-trip destroys — a field's `format`
49
+ * function, a `Date` in the collected values. The attributes remain the
50
+ * declarative path for plain records; whichever is set last wins.
51
+ */
52
+ set fields(value: WizardSummaryField[]);
53
+ get steps(): WizardStepConfig[];
54
+ set steps(value: WizardStepConfig[]);
55
+ get values(): Record<string, unknown>;
56
+ set values(value: Record<string, unknown>);
57
+ /** The sections as rendered — same order, so a host can mirror the card. */
58
+ get sections(): ReturnType<typeof summarizeWizardValues>;
59
+ protected renderTemplate(): void;
60
+ protected setupListeners(): void;
61
+ protected update(): void;
62
+ }
@@ -0,0 +1,324 @@
1
+ import { isWizardSummaryFieldRecord, summarizeWizardValues, } from "./types.js";
2
+ import { BaseElement } from "../../core/index.js";
3
+ import { boePanel, boeRadius } from "../../foundations/geometry/index.js";
4
+ const DEFAULT_TAG_NAME = "box-wizard-summary";
5
+ const escapeHtml = (value) => value
6
+ .replaceAll("&", "&amp;")
7
+ .replaceAll("<", "&lt;")
8
+ .replaceAll(">", "&gt;")
9
+ .replaceAll('"', "&quot;")
10
+ .replaceAll("'", "&#39;");
11
+ const elementStyles = `
12
+ :host {
13
+ display: block;
14
+ }
15
+
16
+ [part="card"] {
17
+ border: ${boePanel.border};
18
+ border-radius: ${boePanel.radius};
19
+ background: ${boePanel.background};
20
+ overflow: hidden;
21
+ }
22
+
23
+ [part="heading"] {
24
+ margin: 0;
25
+ padding: 0.85rem 1rem;
26
+ font: inherit;
27
+ font-size: 0.95rem;
28
+ font-weight: 700;
29
+ color: var(--boe-token-text-text, #1f1e1b);
30
+ border-block-end: 1px solid color-mix(in srgb, var(--boe-token-stroke-stroke, #e8e8e8) 70%, transparent);
31
+ }
32
+
33
+ [part="sections"] {
34
+ margin: 0;
35
+ padding: 0;
36
+ list-style: none;
37
+ }
38
+
39
+ [part="section"] + [part="section"] {
40
+ border-block-start: 1px solid color-mix(in srgb, var(--boe-token-stroke-stroke, #e8e8e8) 55%, transparent);
41
+ }
42
+
43
+ [part="section-header"] {
44
+ display: flex;
45
+ align-items: baseline;
46
+ gap: 0.75rem;
47
+ padding: 0.7rem 1rem 0.3rem;
48
+ }
49
+
50
+ [part="section-label"] {
51
+ font-size: 0.72rem;
52
+ font-weight: 700;
53
+ letter-spacing: 0.08em;
54
+ text-transform: uppercase;
55
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
56
+ }
57
+
58
+ [part="edit"] {
59
+ margin-inline-start: auto;
60
+ appearance: none;
61
+ font: inherit;
62
+ font-size: 0.78rem;
63
+ padding: 0.15rem 0.5rem;
64
+ border: 1px solid var(--boe-token-stroke-stroke, #e8e8e8);
65
+ border-radius: ${boeRadius.control};
66
+ background: var(--boe-token-surface-surface, #ffffff);
67
+ color: var(--boe-token-surface-surface-brand, #0061d5);
68
+ cursor: pointer;
69
+ }
70
+
71
+ [part="edit"]:hover {
72
+ background: var(--boe-token-surface-surface-hover, #f4f4f4);
73
+ }
74
+
75
+ [part="edit"]:focus-visible {
76
+ outline: none;
77
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 18%, transparent);
78
+ }
79
+
80
+ [part="rows"] {
81
+ margin: 0;
82
+ padding: 0 1rem 0.8rem;
83
+ display: grid;
84
+ grid-template-columns: minmax(8rem, 14rem) 1fr;
85
+ gap: 0.3rem 1rem;
86
+ }
87
+
88
+ [part="row-label"] {
89
+ margin: 0;
90
+ font-size: 0.85rem;
91
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
92
+ }
93
+
94
+ [part="row-value"] {
95
+ margin: 0;
96
+ font-size: 0.85rem;
97
+ color: var(--boe-token-text-text, #1f1e1b);
98
+ overflow-wrap: anywhere;
99
+ }
100
+
101
+ [part="row-value"][data-empty="true"] {
102
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
103
+ font-style: italic;
104
+ }
105
+
106
+ [part="empty"] {
107
+ padding: 1.2rem 1rem;
108
+ text-align: center;
109
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
110
+ }
111
+ `;
112
+ /**
113
+ * The review step of a `box-form-wizard`: everything collected so far, grouped
114
+ * by the step that collected it, with an Edit link per group.
115
+ *
116
+ * The card is read-only and emits `edit-requested` rather than navigating
117
+ * itself, so the host stays in charge of the wizard — the same intent contract
118
+ * the rest of the patterns use.
119
+ *
120
+ * Two details carry the weight:
121
+ *
122
+ * - Sections follow **step order**, so the summary reads back in the sequence
123
+ * the user filled it in rather than in whatever order the fields were
124
+ * declared.
125
+ * - A field naming a step that does not exist lands in a trailing section
126
+ * instead of vanishing. A review card exists so someone can confirm what
127
+ * they are submitting; silently dropping a row would let them confirm a
128
+ * value they were never shown.
129
+ */
130
+ export class WizardSummary extends BaseElement {
131
+ static tagName = DEFAULT_TAG_NAME;
132
+ static get observedAttributes() {
133
+ return ["edit-label", "empty-text", "fields", "heading", "steps", "values"];
134
+ }
135
+ hostEl;
136
+ fieldsRaw = null;
137
+ fieldsCache = [];
138
+ stepsRaw = null;
139
+ stepsCache = [];
140
+ valuesRaw = null;
141
+ valuesCache = {};
142
+ get heading() {
143
+ return this.getAttribute("heading") ?? "Review your answers";
144
+ }
145
+ set heading(value) {
146
+ this.setAttribute("heading", value);
147
+ }
148
+ /** Verb on the per-section control. The step label is appended for its accessible name. */
149
+ get editLabel() {
150
+ return this.getAttribute("edit-label") ?? "Edit";
151
+ }
152
+ set editLabel(value) {
153
+ this.setAttribute("edit-label", value);
154
+ }
155
+ /** Placeholder for a field with nothing collected. */
156
+ get emptyText() {
157
+ return this.getAttribute("empty-text") ?? "Not provided";
158
+ }
159
+ set emptyText(value) {
160
+ this.setAttribute("empty-text", value);
161
+ }
162
+ /**
163
+ * Fields to summarise. Note that `format` cannot survive the attribute
164
+ * round-trip — set the property directly when a field needs one.
165
+ */
166
+ get fields() {
167
+ const raw = this.getAttribute("fields");
168
+ if (!raw) {
169
+ return [...this.fieldsCache];
170
+ }
171
+ if (raw !== this.fieldsRaw) {
172
+ this.fieldsRaw = raw;
173
+ try {
174
+ const parsed = JSON.parse(raw);
175
+ this.fieldsCache =
176
+ Array.isArray(parsed) && parsed.every(isWizardSummaryFieldRecord)
177
+ ? parsed
178
+ : [];
179
+ }
180
+ catch {
181
+ this.fieldsCache = [];
182
+ }
183
+ }
184
+ return [...this.fieldsCache];
185
+ }
186
+ /**
187
+ * Setting any of `fields`, `steps`, or `values` as a **property** stores the
188
+ * value as-is and re-renders. It is not mirrored to the attribute, because
189
+ * these carry things a JSON round-trip destroys — a field's `format`
190
+ * function, a `Date` in the collected values. The attributes remain the
191
+ * declarative path for plain records; whichever is set last wins.
192
+ */
193
+ set fields(value) {
194
+ this.fieldsCache = [...value];
195
+ this.fieldsRaw = null;
196
+ this.removeAttribute("fields");
197
+ this.update();
198
+ }
199
+ get steps() {
200
+ const raw = this.getAttribute("steps");
201
+ if (!raw) {
202
+ return [...this.stepsCache];
203
+ }
204
+ if (raw !== this.stepsRaw) {
205
+ this.stepsRaw = raw;
206
+ try {
207
+ const parsed = JSON.parse(raw);
208
+ this.stepsCache = Array.isArray(parsed)
209
+ ? parsed.filter(step => typeof step === "object" &&
210
+ step !== null &&
211
+ typeof step.id === "string" &&
212
+ typeof step.label === "string")
213
+ : [];
214
+ }
215
+ catch {
216
+ this.stepsCache = [];
217
+ }
218
+ }
219
+ return [...this.stepsCache];
220
+ }
221
+ set steps(value) {
222
+ this.stepsCache = [...value];
223
+ this.stepsRaw = null;
224
+ this.removeAttribute("steps");
225
+ this.update();
226
+ }
227
+ get values() {
228
+ const raw = this.getAttribute("values");
229
+ if (!raw) {
230
+ return { ...this.valuesCache };
231
+ }
232
+ if (raw !== this.valuesRaw) {
233
+ this.valuesRaw = raw;
234
+ try {
235
+ const parsed = JSON.parse(raw);
236
+ this.valuesCache =
237
+ typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)
238
+ ? parsed
239
+ : {};
240
+ }
241
+ catch {
242
+ this.valuesCache = {};
243
+ }
244
+ }
245
+ return { ...this.valuesCache };
246
+ }
247
+ set values(value) {
248
+ this.valuesCache = { ...value };
249
+ this.valuesRaw = null;
250
+ this.removeAttribute("values");
251
+ this.update();
252
+ }
253
+ /** The sections as rendered — same order, so a host can mirror the card. */
254
+ get sections() {
255
+ return summarizeWizardValues(this.fields, this.values, this.steps);
256
+ }
257
+ renderTemplate() {
258
+ if (!this.shadowRoot) {
259
+ return;
260
+ }
261
+ this.shadowRoot.innerHTML = `<style>${elementStyles}</style><div part="host"></div>`;
262
+ this.hostEl = this.shadowRoot.querySelector('[part="host"]');
263
+ }
264
+ setupListeners() {
265
+ this.hostEl.addEventListener("click", event => {
266
+ const trigger = event.target.closest('[part="edit"]');
267
+ if (!trigger) {
268
+ return;
269
+ }
270
+ const stepId = trigger.getAttribute("data-step-id");
271
+ if (stepId === null) {
272
+ return;
273
+ }
274
+ this.dispatchEvent(new CustomEvent("edit-requested", {
275
+ detail: { stepId },
276
+ bubbles: true,
277
+ composed: true,
278
+ }));
279
+ });
280
+ }
281
+ update() {
282
+ if (!this.hostEl) {
283
+ return;
284
+ }
285
+ const sections = this.sections;
286
+ const body = sections.length
287
+ ? `<ul part="sections" role="list">${sections
288
+ .map(section => {
289
+ const rows = section.rows
290
+ .map(row => {
291
+ const shown = row.empty ? this.emptyText : row.value;
292
+ return `
293
+ <dt part="row-label">${escapeHtml(row.label)}</dt>
294
+ <dd part="row-value" data-empty="${String(row.empty)}" data-key="${escapeHtml(row.key)}">${escapeHtml(shown)}</dd>
295
+ `;
296
+ })
297
+ .join("");
298
+ // The accessible name carries the step, because a screen-reader
299
+ // user hearing five buttons all called "Edit" learns nothing about
300
+ // which one goes where.
301
+ const edit = section.unknownStep
302
+ ? ""
303
+ : `<button type="button" part="edit" data-step-id="${escapeHtml(section.stepId)}" aria-label="${escapeHtml(`${this.editLabel} ${section.label}`)}">${escapeHtml(this.editLabel)}</button>`;
304
+ return `
305
+ <li part="section" data-step-id="${escapeHtml(section.stepId)}" data-unknown-step="${String(section.unknownStep)}">
306
+ <div part="section-header">
307
+ <span part="section-label">${escapeHtml(section.label)}</span>
308
+ ${edit}
309
+ </div>
310
+ <dl part="rows">${rows}</dl>
311
+ </li>
312
+ `;
313
+ })
314
+ .join("")}</ul>`
315
+ : `<div part="empty">Nothing to review yet.</div>`;
316
+ this.hostEl.innerHTML = `
317
+ <section part="card" aria-label="${escapeHtml(this.heading)}">
318
+ <h3 part="heading">${escapeHtml(this.heading)}</h3>
319
+ ${body}
320
+ </section>
321
+ `;
322
+ }
323
+ }
324
+ WizardSummary.register();
@@ -14,7 +14,8 @@ type GovernancePanelSignal = {
14
14
  label: string;
15
15
  tone?: string;
16
16
  };
17
- export declare class BoxGovernancePanelElement extends BaseElement {
17
+ export declare class GovernancePanel extends BaseElement {
18
+ static readonly tagName: string;
18
19
  static get observedAttributes(): string[];
19
20
  get actions(): GovernancePanelAction[];
20
21
  set actions(value: GovernancePanelAction[]);
@@ -36,5 +37,4 @@ export declare class BoxGovernancePanelElement extends BaseElement {
36
37
  protected renderTemplate(): void;
37
38
  protected update(): void;
38
39
  }
39
- export declare const defineBoxGovernancePanelElement: (tagName?: string) => void;
40
40
  export {};
@@ -164,7 +164,8 @@ const elementStyles = `
164
164
  color: var(--boe-token-text-text-on-brand, #ffffff);
165
165
  }
166
166
  `;
167
- export class BoxGovernancePanelElement extends BaseElement {
167
+ export class GovernancePanel extends BaseElement {
168
+ static tagName = DEFAULT_TAG_NAME;
168
169
  static get observedAttributes() {
169
170
  return ["actions", "heading", "message", "policies", "signals", "status"];
170
171
  }
@@ -344,8 +345,4 @@ export class BoxGovernancePanelElement extends BaseElement {
344
345
  });
345
346
  }
346
347
  }
347
- export const defineBoxGovernancePanelElement = (tagName = DEFAULT_TAG_NAME) => {
348
- if (!customElements.get(tagName)) {
349
- customElements.define(tagName, BoxGovernancePanelElement);
350
- }
351
- };
348
+ GovernancePanel.register();
@@ -15,7 +15,8 @@ type BarChartPoint = {
15
15
  tone?: string;
16
16
  value: number;
17
17
  };
18
- export declare class BoxBarChartElement extends BaseElement {
18
+ export declare class BarChart extends BaseElement {
19
+ static readonly tagName: string;
19
20
  static get observedAttributes(): string[];
20
21
  get actions(): BarChartAction[];
21
22
  set actions(value: BarChartAction[]);
@@ -39,5 +40,4 @@ export declare class BoxBarChartElement extends BaseElement {
39
40
  protected renderTemplate(): void;
40
41
  protected update(): void;
41
42
  }
42
- export declare const defineBoxBarChartElement: (tagName?: string) => void;
43
43
  export {};
@@ -249,7 +249,8 @@ const elementStyles = `
249
249
  color: var(--boe-token-text-text-secondary, #6f6f6f);
250
250
  }
251
251
  `;
252
- export class BoxBarChartElement extends BaseElement {
252
+ export class BarChart extends BaseElement {
253
+ static tagName = DEFAULT_TAG_NAME;
253
254
  static get observedAttributes() {
254
255
  return ["actions", "heading", "legend", "message", "points", "summary", "timeframe"];
255
256
  }
@@ -455,8 +456,4 @@ export class BoxBarChartElement extends BaseElement {
455
456
  });
456
457
  }
457
458
  }
458
- export const defineBoxBarChartElement = (tagName = DEFAULT_TAG_NAME) => {
459
- if (!customElements.get(tagName)) {
460
- customElements.define(tagName, BoxBarChartElement);
461
- }
462
- };
459
+ BarChart.register();
@@ -15,7 +15,8 @@ type ChartPanelPoint = {
15
15
  tone?: string;
16
16
  value: number;
17
17
  };
18
- export declare class BoxChartPanelElement extends BaseElement {
18
+ export declare class ChartPanel extends BaseElement {
19
+ static readonly tagName: string;
19
20
  static get observedAttributes(): string[];
20
21
  get actions(): ChartPanelAction[];
21
22
  set actions(value: ChartPanelAction[]);
@@ -39,5 +40,4 @@ export declare class BoxChartPanelElement extends BaseElement {
39
40
  protected renderTemplate(): void;
40
41
  protected update(): void;
41
42
  }
42
- export declare const defineBoxChartPanelElement: (tagName?: string) => void;
43
43
  export {};
@@ -229,7 +229,8 @@ const elementStyles = `
229
229
  color: var(--boe-token-text-text-on-brand, #ffffff);
230
230
  }
231
231
  `;
232
- export class BoxChartPanelElement extends BaseElement {
232
+ export class ChartPanel extends BaseElement {
233
+ static tagName = DEFAULT_TAG_NAME;
233
234
  static get observedAttributes() {
234
235
  return ["actions", "heading", "legend", "message", "points", "summary", "timeframe"];
235
236
  }
@@ -429,8 +430,4 @@ export class BoxChartPanelElement extends BaseElement {
429
430
  });
430
431
  }
431
432
  }
432
- export const defineBoxChartPanelElement = (tagName = DEFAULT_TAG_NAME) => {
433
- if (!customElements.get(tagName)) {
434
- customElements.define(tagName, BoxChartPanelElement);
435
- }
436
- };
433
+ ChartPanel.register();
@@ -10,7 +10,8 @@ type DonutChartSegment = {
10
10
  tone?: string;
11
11
  value: number;
12
12
  };
13
- export declare class BoxDonutChartElement extends BaseElement {
13
+ export declare class DonutChart extends BaseElement {
14
+ static readonly tagName: string;
14
15
  static get observedAttributes(): string[];
15
16
  private selectedSegmentId;
16
17
  get actions(): DonutChartAction[];
@@ -39,5 +40,4 @@ export declare class BoxDonutChartElement extends BaseElement {
39
40
  protected renderTemplate(): void;
40
41
  protected update(): void;
41
42
  }
42
- export declare const defineBoxDonutChartElement: (tagName?: string) => void;
43
43
  export {};
@@ -228,7 +228,8 @@ const elementStyles = `
228
228
  }
229
229
  }
230
230
  `;
231
- export class BoxDonutChartElement extends BaseElement {
231
+ export class DonutChart extends BaseElement {
232
+ static tagName = DEFAULT_TAG_NAME;
232
233
  static get observedAttributes() {
233
234
  return ["actions", "heading", "message", "segments", "summary", "timeframe"];
234
235
  }
@@ -528,8 +529,4 @@ export class BoxDonutChartElement extends BaseElement {
528
529
  });
529
530
  }
530
531
  }
531
- export const defineBoxDonutChartElement = (tagName = DEFAULT_TAG_NAME) => {
532
- if (!customElements.get(tagName)) {
533
- customElements.define(tagName, BoxDonutChartElement);
534
- }
535
- };
532
+ DonutChart.register();
@@ -15,7 +15,8 @@ type LineChartPoint = {
15
15
  tone?: string;
16
16
  value: number;
17
17
  };
18
- export declare class BoxLineChartElement extends BaseElement {
18
+ export declare class LineChart extends BaseElement {
19
+ static readonly tagName: string;
19
20
  static get observedAttributes(): string[];
20
21
  get actions(): LineChartAction[];
21
22
  set actions(value: LineChartAction[]);
@@ -42,5 +43,4 @@ export declare class BoxLineChartElement extends BaseElement {
42
43
  protected renderTemplate(): void;
43
44
  protected update(): void;
44
45
  }
45
- export declare const defineBoxLineChartElement: (tagName?: string) => void;
46
46
  export {};
@@ -238,7 +238,8 @@ const elementStyles = `
238
238
  color: var(--boe-token-text-text-secondary, #6f6f6f);
239
239
  }
240
240
  `;
241
- export class BoxLineChartElement extends BaseElement {
241
+ export class LineChart extends BaseElement {
242
+ static tagName = DEFAULT_TAG_NAME;
242
243
  static get observedAttributes() {
243
244
  return ["actions", "legend", "message", "points", "summary", "timeframe", "heading"];
244
245
  }
@@ -504,8 +505,4 @@ export class BoxLineChartElement extends BaseElement {
504
505
  });
505
506
  }
506
507
  }
507
- export const defineBoxLineChartElement = (tagName = DEFAULT_TAG_NAME) => {
508
- if (!customElements.get(tagName)) {
509
- customElements.define(tagName, BoxLineChartElement);
510
- }
511
- };
508
+ LineChart.register();
@@ -9,7 +9,8 @@ type MetricCardTrend = {
9
9
  label: string;
10
10
  tone?: string;
11
11
  };
12
- export declare class BoxMetricCardElement extends BaseElement {
12
+ export declare class MetricCard extends BaseElement {
13
+ static readonly tagName: string;
13
14
  static get observedAttributes(): string[];
14
15
  get action(): MetricCardAction | null;
15
16
  set action(value: MetricCardAction | null);
@@ -32,5 +33,4 @@ export declare class BoxMetricCardElement extends BaseElement {
32
33
  protected renderTemplate(): void;
33
34
  protected update(): void;
34
35
  }
35
- export declare const defineBoxMetricCardElement: (tagName?: string) => void;
36
36
  export {};
@@ -128,7 +128,8 @@ const elementStyles = `
128
128
  color: var(--boe-token-text-text-on-brand, #ffffff);
129
129
  }
130
130
  `;
131
- export class BoxMetricCardElement extends BaseElement {
131
+ export class MetricCard extends BaseElement {
132
+ static tagName = DEFAULT_TAG_NAME;
132
133
  static get observedAttributes() {
133
134
  return ["action", "eyebrow", "message", "status", "heading", "trend", "value"];
134
135
  }
@@ -271,8 +272,4 @@ export class BoxMetricCardElement extends BaseElement {
271
272
  }
272
273
  }
273
274
  }
274
- export const defineBoxMetricCardElement = (tagName = DEFAULT_TAG_NAME) => {
275
- if (!customElements.get(tagName)) {
276
- customElements.define(tagName, BoxMetricCardElement);
277
- }
278
- };
275
+ MetricCard.register();
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One definition of "may this author-supplied href become a real link?",
3
+ * shared by every surface that renders evidence or citation chips
4
+ * (`box-timeline`, `box-agent-chat`, `box-audit-log`). Internal: it is not
5
+ * re-exported from any pattern barrel.
6
+ *
7
+ * Three copies of this check previously drifted apart, which is exactly how
8
+ * the protocol-relative hole below survived in all of them.
9
+ *
10
+ * Allowed: absolute `http(s)`, a same-document fragment, and a rooted path.
11
+ * The path branch requires a *single* leading slash — `//evil.example/x` is
12
+ * protocol-relative and a browser resolves it to an external origin, and
13
+ * `/\evil.example` is normalized to that same form by some parsers. Anything
14
+ * else (including `javascript:`, `data:`, and leading-whitespace tricks)
15
+ * fails the test, and the caller renders a button instead of an anchor.
16
+ */
17
+ export declare const isSafeHref: (value: string) => boolean;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One definition of "may this author-supplied href become a real link?",
3
+ * shared by every surface that renders evidence or citation chips
4
+ * (`box-timeline`, `box-agent-chat`, `box-audit-log`). Internal: it is not
5
+ * re-exported from any pattern barrel.
6
+ *
7
+ * Three copies of this check previously drifted apart, which is exactly how
8
+ * the protocol-relative hole below survived in all of them.
9
+ *
10
+ * Allowed: absolute `http(s)`, a same-document fragment, and a rooted path.
11
+ * The path branch requires a *single* leading slash — `//evil.example/x` is
12
+ * protocol-relative and a browser resolves it to an external origin, and
13
+ * `/\evil.example` is normalized to that same form by some parsers. Anything
14
+ * else (including `javascript:`, `data:`, and leading-whitespace tricks)
15
+ * fails the test, and the caller renders a button instead of an anchor.
16
+ */
17
+ export const isSafeHref = (value) => /^https?:\/\//i.test(value) || /^\/(?![/\\])/.test(value) || value.startsWith("#");
@@ -9,7 +9,8 @@ type BulkActionItem = {
9
9
  id?: string;
10
10
  label: string;
11
11
  };
12
- export declare class BoxBulkActionBarElement extends BaseElement {
12
+ export declare class BulkActionBar extends BaseElement {
13
+ static readonly tagName: string;
13
14
  static get observedAttributes(): string[];
14
15
  get actions(): BulkAction[];
15
16
  set actions(value: BulkAction[]);
@@ -31,5 +32,4 @@ export declare class BoxBulkActionBarElement extends BaseElement {
31
32
  protected renderTemplate(): void;
32
33
  protected update(): void;
33
34
  }
34
- export declare const defineBoxBulkActionBarElement: (tagName?: string) => void;
35
35
  export {};