@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
@@ -1,7 +1,8 @@
1
1
  import { ContentExplorerController } from "../controller.js";
2
2
  import { resolveExplorerItemGesture } from "../types.js";
3
3
  import { BaseElement } from "../../../core/index.js";
4
- export declare class BoxExplorerListElement extends BaseElement {
4
+ export declare class ExplorerList extends BaseElement {
5
+ static readonly tagName: string;
5
6
  static get observedAttributes(): string[];
6
7
  private controllerValue;
7
8
  private focusItemId;
@@ -25,4 +26,3 @@ export declare class BoxExplorerListElement extends BaseElement {
25
26
  private patchFocusAndSelection;
26
27
  protected update(): void;
27
28
  }
28
- export declare const defineBoxExplorerListElement: (tagName?: string) => typeof BoxExplorerListElement;
@@ -191,7 +191,8 @@ const elementStyles = `
191
191
 
192
192
  ${boeNeutralInteractiveStyles('[part="load-more"]')}
193
193
  `;
194
- export class BoxExplorerListElement extends BaseElement {
194
+ export class ExplorerList extends BaseElement {
195
+ static tagName = DEFAULT_TAG_NAME;
195
196
  static get observedAttributes() {
196
197
  return ["item-gesture"];
197
198
  }
@@ -517,11 +518,4 @@ export class BoxExplorerListElement extends BaseElement {
517
518
  this.patchFocusAndSelection();
518
519
  }
519
520
  }
520
- export const defineBoxExplorerListElement = (tagName = DEFAULT_TAG_NAME) => {
521
- const existingElement = customElements.get(tagName);
522
- if (existingElement) {
523
- return existingElement;
524
- }
525
- customElements.define(tagName, BoxExplorerListElement);
526
- return BoxExplorerListElement;
527
- };
521
+ ExplorerList.register();
@@ -1,7 +1,8 @@
1
1
  import { ContentExplorerController } from "../controller.js";
2
2
  import { resolveExplorerItemGesture } from "../types.js";
3
3
  import { BaseElement } from "../../../core/index.js";
4
- export declare class BoxExplorerTableElement extends BaseElement {
4
+ export declare class ExplorerTable extends BaseElement {
5
+ static readonly tagName: string;
5
6
  static get observedAttributes(): string[];
6
7
  private controllerValue;
7
8
  private unsubscribeFns;
@@ -20,4 +21,3 @@ export declare class BoxExplorerTableElement extends BaseElement {
20
21
  private patchSelection;
21
22
  protected update(): void;
22
23
  }
23
- export declare const defineBoxExplorerTableElement: (tagName?: string) => typeof BoxExplorerTableElement;
@@ -194,7 +194,8 @@ const elementStyles = `
194
194
 
195
195
  ${boeNeutralInteractiveStyles('[part="load-more"]')}
196
196
  `;
197
- export class BoxExplorerTableElement extends BaseElement {
197
+ export class ExplorerTable extends BaseElement {
198
+ static tagName = DEFAULT_TAG_NAME;
198
199
  static get observedAttributes() {
199
200
  return ["item-gesture"];
200
201
  }
@@ -464,11 +465,4 @@ export class BoxExplorerTableElement extends BaseElement {
464
465
  this.patchSelection();
465
466
  }
466
467
  }
467
- export const defineBoxExplorerTableElement = (tagName = DEFAULT_TAG_NAME) => {
468
- const existingElement = customElements.get(tagName);
469
- if (existingElement) {
470
- return existingElement;
471
- }
472
- customElements.define(tagName, BoxExplorerTableElement);
473
- return BoxExplorerTableElement;
474
- };
468
+ ExplorerTable.register();
@@ -1,6 +1,7 @@
1
1
  import { ContentExplorerController } from "../controller.js";
2
2
  import { BaseElement } from "../../../core/index.js";
3
- export declare class BoxExplorerToolbarElement extends BaseElement {
3
+ export declare class ExplorerToolbar extends BaseElement {
4
+ static readonly tagName: string;
4
5
  private controllerValue;
5
6
  private unsubscribeFns;
6
7
  private listenersBound;
@@ -16,4 +17,3 @@ export declare class BoxExplorerToolbarElement extends BaseElement {
16
17
  protected setupListeners(): void;
17
18
  protected update(): void;
18
19
  }
19
- export declare const defineBoxExplorerToolbarElement: (tagName?: string) => typeof BoxExplorerToolbarElement;
@@ -1,5 +1,5 @@
1
1
  import { BaseElement } from "../../../core/index.js";
2
- import { defineBoxSearchFieldElement, } from "../../../components/forms/search-field.js";
2
+ import { SearchField, } from "../../../components/forms/search-field.js";
3
3
  import { applyRovingTabindex, handleRovingKeydown } from "../../../foundations/a11y/index.js";
4
4
  import { boeNeutralInteractiveStyles } from "../../../foundations/tokens/index.js";
5
5
  import { boeMotionDuration, boeMotionEasing } from "../../../foundations/motion/index.js";
@@ -68,7 +68,8 @@ const elementStyles = `
68
68
  ${boeNeutralInteractiveStyles('[part="refresh"]')}
69
69
  ${boeNeutralInteractiveStyles('[part="clear-selection"]')}
70
70
  `;
71
- export class BoxExplorerToolbarElement extends BaseElement {
71
+ export class ExplorerToolbar extends BaseElement {
72
+ static tagName = DEFAULT_TAG_NAME;
72
73
  controllerValue = null;
73
74
  unsubscribeFns = [];
74
75
  listenersBound = false;
@@ -83,7 +84,7 @@ export class BoxExplorerToolbarElement extends BaseElement {
83
84
  }
84
85
  }
85
86
  connectedCallback() {
86
- defineBoxSearchFieldElement();
87
+ SearchField.register();
87
88
  this.bindController();
88
89
  super.connectedCallback();
89
90
  }
@@ -140,7 +141,7 @@ export class BoxExplorerToolbarElement extends BaseElement {
140
141
  if (!this.shadowRoot) {
141
142
  return;
142
143
  }
143
- defineBoxSearchFieldElement();
144
+ SearchField.register();
144
145
  this.shadowRoot.innerHTML = `
145
146
  <style>${elementStyles}</style>
146
147
  <div part="toolbar" role="toolbar" aria-label="Explorer toolbar">
@@ -223,12 +224,5 @@ export class BoxExplorerToolbarElement extends BaseElement {
223
224
  applyRovingTabindex(buttons, restoreIndex >= 0 ? restoreIndex : 0);
224
225
  }
225
226
  }
226
- export const defineBoxExplorerToolbarElement = (tagName = DEFAULT_TAG_NAME) => {
227
- defineBoxSearchFieldElement();
228
- const existingElement = customElements.get(tagName);
229
- if (existingElement) {
230
- return existingElement;
231
- }
232
- customElements.define(tagName, BoxExplorerToolbarElement);
233
- return BoxExplorerToolbarElement;
234
- };
227
+ SearchField.register();
228
+ ExplorerToolbar.register();
@@ -123,29 +123,48 @@ const resolveFetch = (providedFetch) => {
123
123
  }
124
124
  return globalThis.fetch.bind(globalThis);
125
125
  };
126
- const createFolderItemsUrl = (apiBaseUrl, folderId, fields, limit, offset) => {
126
+ /** Box folder-items sort param values match our vocabulary directly. */
127
+ const applySortParams = (url, sortBy, sortDirection) => {
128
+ if (sortBy) {
129
+ url.searchParams.set("sort", sortBy);
130
+ url.searchParams.set("direction", sortDirection ?? "ASC");
131
+ }
132
+ };
133
+ const createFolderItemsUrl = (apiBaseUrl, folderId, fields, request) => {
127
134
  const url = new URL(`${apiBaseUrl.replace(/\/$/, "")}/folders/${folderId}/items`);
128
135
  url.searchParams.set("fields", fields.join(","));
129
- if (typeof limit === "number") {
130
- url.searchParams.set("limit", String(limit));
136
+ if (typeof request.limit === "number") {
137
+ url.searchParams.set("limit", String(request.limit));
131
138
  }
132
- if (typeof offset === "number") {
133
- url.searchParams.set("offset", String(offset));
139
+ if (typeof request.offset === "number") {
140
+ url.searchParams.set("offset", String(request.offset));
134
141
  }
142
+ applySortParams(url, request.sortBy, request.sortDirection);
143
+ return url.toString();
144
+ };
145
+ const createFolderInfoUrl = (apiBaseUrl, folderId) => {
146
+ const url = new URL(`${apiBaseUrl.replace(/\/$/, "")}/folders/${folderId}`);
147
+ url.searchParams.set("fields", "id,name,path_collection");
135
148
  return url.toString();
136
149
  };
137
- const createSearchUrl = (apiBaseUrl, query, fields, ancestorFolderId, limit, offset) => {
150
+ const createSearchUrl = (apiBaseUrl, fields, request) => {
138
151
  const url = new URL(`${apiBaseUrl.replace(/\/$/, "")}/search`);
139
- url.searchParams.set("query", query);
152
+ url.searchParams.set("query", request.query);
140
153
  url.searchParams.set("fields", fields.join(","));
141
- if (ancestorFolderId) {
142
- url.searchParams.set("ancestor_folder_ids", ancestorFolderId);
154
+ if (request.ancestorFolderId) {
155
+ url.searchParams.set("ancestor_folder_ids", request.ancestorFolderId);
143
156
  }
144
- if (typeof limit === "number") {
145
- url.searchParams.set("limit", String(limit));
157
+ if (typeof request.limit === "number") {
158
+ url.searchParams.set("limit", String(request.limit));
146
159
  }
147
- if (typeof offset === "number") {
148
- url.searchParams.set("offset", String(offset));
160
+ if (typeof request.offset === "number") {
161
+ url.searchParams.set("offset", String(request.offset));
162
+ }
163
+ // Box search only sorts by modified date (or relevance, its default); name
164
+ // and size sorts stay client concerns there, so only "date" maps through.
165
+ if (request.sortBy === "date") {
166
+ url.searchParams.set("sort", "modified_at");
167
+ url.searchParams.set("direction", (request.sortDirection ?? "DESC") === "ASC" ? "ASC" : "DESC");
149
168
  }
150
169
  return url.toString();
151
170
  };
@@ -178,13 +197,14 @@ export const createBoxExplorerTransport = (options = {}) => {
178
197
  const apiBaseUrl = options.apiBaseUrl ?? DEFAULT_API_BASE_URL;
179
198
  const fields = options.fields ?? DEFAULT_FIELDS;
180
199
  const fetchImpl = resolveFetch(options.fetch);
200
+ const requestHeaders = (request) => ({
201
+ Authorization: `Bearer ${request.token}`,
202
+ "Accept-Language": request.language ?? "en-US",
203
+ });
181
204
  return {
182
205
  async loadFolderItems(request) {
183
- const response = await fetchImpl(createFolderItemsUrl(apiBaseUrl, request.folderId, fields, request.limit, request.offset), {
184
- headers: {
185
- Authorization: `Bearer ${request.token}`,
186
- "Accept-Language": request.language ?? "en-US",
187
- },
206
+ const response = await fetchImpl(createFolderItemsUrl(apiBaseUrl, request.folderId, fields, request), {
207
+ headers: requestHeaders(request),
188
208
  method: "GET",
189
209
  signal: request.signal,
190
210
  });
@@ -194,9 +214,34 @@ export const createBoxExplorerTransport = (options = {}) => {
194
214
  const payload = (await response.json());
195
215
  const rawEntries = payload.entries ?? [];
196
216
  const { entries } = normalizeItems(rawEntries);
197
- const folder = normalizeFolder(payload, request.folderId);
217
+ // The real `GET /folders/:id/items` payload carries no folder metadata
218
+ // (no id/name/path_collection), which would degrade the folder header
219
+ // and breadcrumbs to raw ids. When the first page lacks it, fetch
220
+ // `GET /folders/:id` for the metadata — best-effort: a failed info
221
+ // request keeps the listing usable rather than failing it.
222
+ let folderSource = payload;
223
+ const missingMetadata = payload.name === undefined || payload.id === undefined || payload.path_collection === undefined;
224
+ if (!request.offset && missingMetadata) {
225
+ const info = await Promise.resolve()
226
+ .then(() => fetchImpl(createFolderInfoUrl(apiBaseUrl, request.folderId), {
227
+ headers: requestHeaders(request),
228
+ method: "GET",
229
+ signal: request.signal,
230
+ }))
231
+ .then(infoResponse => infoResponse?.ok ? infoResponse.json() : null)
232
+ .catch(() => null);
233
+ if (info) {
234
+ folderSource = {
235
+ ...payload,
236
+ id: payload.id ?? info.id,
237
+ name: payload.name ?? info.name,
238
+ path_collection: payload.path_collection ?? info.path_collection,
239
+ };
240
+ }
241
+ }
242
+ const folder = normalizeFolder(folderSource, request.folderId);
198
243
  return {
199
- breadcrumbs: normalizeBreadcrumbs(payload, folder),
244
+ breadcrumbs: normalizeBreadcrumbs(folderSource, folder),
200
245
  folder,
201
246
  folderId: request.folderId,
202
247
  items: entries,
@@ -204,11 +249,8 @@ export const createBoxExplorerTransport = (options = {}) => {
204
249
  };
205
250
  },
206
251
  async searchItems(request) {
207
- const response = await fetchImpl(createSearchUrl(apiBaseUrl, request.query, fields, request.ancestorFolderId, request.limit, request.offset), {
208
- headers: {
209
- Authorization: `Bearer ${request.token}`,
210
- "Accept-Language": request.language ?? "en-US",
211
- },
252
+ const response = await fetchImpl(createSearchUrl(apiBaseUrl, fields, request), {
253
+ headers: requestHeaders(request),
212
254
  method: "GET",
213
255
  signal: request.signal,
214
256
  });
@@ -225,5 +267,55 @@ export const createBoxExplorerTransport = (options = {}) => {
225
267
  pagination: toPagination(payload, rawEntries.length, request),
226
268
  };
227
269
  },
270
+ async createFolder(request) {
271
+ const response = await fetchImpl(`${apiBaseUrl.replace(/\/$/, "")}/folders`, {
272
+ headers: { ...requestHeaders(request), "Content-Type": "application/json" },
273
+ method: "POST",
274
+ body: JSON.stringify({ name: request.name, parent: { id: request.parentFolderId } }),
275
+ signal: request.signal,
276
+ });
277
+ if (!response.ok) {
278
+ throw new Error(await getErrorMessage(response));
279
+ }
280
+ const payload = (await response.json());
281
+ const item = normalizeBoxExplorerItem(payload);
282
+ if (!item) {
283
+ throw new Error("Box API returned an unsupported item for the created folder");
284
+ }
285
+ return item;
286
+ },
287
+ async renameItem(request) {
288
+ const segment = request.itemType === "folder" ? "folders" : request.itemType === "web_link" ? "web_links" : "files";
289
+ const response = await fetchImpl(`${apiBaseUrl.replace(/\/$/, "")}/${segment}/${request.itemId}`, {
290
+ headers: { ...requestHeaders(request), "Content-Type": "application/json" },
291
+ method: "PUT",
292
+ body: JSON.stringify({ name: request.name }),
293
+ signal: request.signal,
294
+ });
295
+ if (!response.ok) {
296
+ throw new Error(await getErrorMessage(response));
297
+ }
298
+ const payload = (await response.json());
299
+ const item = normalizeBoxExplorerItem(payload);
300
+ if (!item) {
301
+ throw new Error("Box API returned an unsupported item for the rename");
302
+ }
303
+ return item;
304
+ },
305
+ async deleteItem(request) {
306
+ const segment = request.itemType === "folder" ? "folders" : request.itemType === "web_link" ? "web_links" : "files";
307
+ const url = new URL(`${apiBaseUrl.replace(/\/$/, "")}/${segment}/${request.itemId}`);
308
+ if (request.itemType === "folder") {
309
+ url.searchParams.set("recursive", "true");
310
+ }
311
+ const response = await fetchImpl(url.toString(), {
312
+ headers: requestHeaders(request),
313
+ method: "DELETE",
314
+ signal: request.signal,
315
+ });
316
+ if (!response.ok && response.status !== 204) {
317
+ throw new Error(await getErrorMessage(response));
318
+ }
319
+ },
228
320
  };
229
321
  };
@@ -1,35 +1,37 @@
1
- import { type ExplorerItemAction, type ExplorerItem, type ExplorerItemGesture, type ExplorerSelectionMode, type ExplorerState, type ExplorerTransport } from "./types.js";
1
+ import { ContentExplorerController } from "./controller.js";
2
+ import { type ExplorerItemAction, type ExplorerItem, type ExplorerItemGesture, type ExplorerSelectionMode, type ExplorerSortState, type ExplorerState, type ExplorerTransport } from "./types.js";
2
3
  import { BaseElement } from "../../core/index.js";
3
- export interface BoxContentExplorerTemplateContext {
4
- element: BoxContentExplorerElement;
4
+ export interface ContentExplorerTemplateContext {
5
+ element: ContentExplorer;
5
6
  state: Readonly<ExplorerState> | null;
6
7
  }
7
- export interface BoxContentExplorerFolderTemplateArgs extends BoxContentExplorerTemplateContext {
8
+ export interface ContentExplorerFolderTemplateArgs extends ContentExplorerTemplateContext {
8
9
  breadcrumbsMarkup: string;
9
10
  }
10
- export interface BoxContentExplorerBreadcrumbTemplateArgs extends BoxContentExplorerTemplateContext {
11
+ export interface ContentExplorerBreadcrumbTemplateArgs extends ContentExplorerTemplateContext {
11
12
  buttonAttributes: string;
12
13
  id: string;
13
14
  name: string;
14
15
  }
15
- export interface BoxContentExplorerItemActionTemplateArgs extends BoxContentExplorerTemplateContext {
16
+ export interface ContentExplorerItemActionTemplateArgs extends ContentExplorerTemplateContext {
16
17
  action: ExplorerItemAction;
17
18
  buttonAttributes: string;
18
19
  item: ExplorerItem;
19
20
  }
20
- export interface BoxContentExplorerItemTemplateArgs extends BoxContentExplorerTemplateContext {
21
+ export interface ContentExplorerItemTemplateArgs extends ContentExplorerTemplateContext {
21
22
  isSelected: boolean;
22
23
  item: ExplorerItem;
23
24
  itemActionsMarkup: string;
24
25
  itemButtonAttributes: string;
25
26
  }
26
- export interface BoxContentExplorerTemplates {
27
- renderBreadcrumb?: (args: BoxContentExplorerBreadcrumbTemplateArgs) => string;
28
- renderFolder?: (args: BoxContentExplorerFolderTemplateArgs) => string;
29
- renderItem?: (args: BoxContentExplorerItemTemplateArgs) => string;
30
- renderItemAction?: (args: BoxContentExplorerItemActionTemplateArgs) => string;
27
+ export interface ContentExplorerTemplates {
28
+ renderBreadcrumb?: (args: ContentExplorerBreadcrumbTemplateArgs) => string;
29
+ renderFolder?: (args: ContentExplorerFolderTemplateArgs) => string;
30
+ renderItem?: (args: ContentExplorerItemTemplateArgs) => string;
31
+ renderItemAction?: (args: ContentExplorerItemActionTemplateArgs) => string;
31
32
  }
32
- export declare class BoxContentExplorerElement extends BaseElement {
33
+ export declare class ContentExplorer extends BaseElement {
34
+ static readonly tagName: string;
33
35
  static get observedAttributes(): string[];
34
36
  private controller;
35
37
  private pendingStart;
@@ -54,8 +56,8 @@ export declare class BoxContentExplorerElement extends BaseElement {
54
56
  set transport(value: ExplorerTransport | null);
55
57
  get itemActions(): ExplorerItemAction[];
56
58
  set itemActions(value: ExplorerItemAction[]);
57
- get templates(): BoxContentExplorerTemplates;
58
- set templates(value: BoxContentExplorerTemplates);
59
+ get templates(): ContentExplorerTemplates;
60
+ set templates(value: ContentExplorerTemplates);
59
61
  get state(): Readonly<ExplorerState> | null;
60
62
  get searchQuery(): string | null;
61
63
  set searchQuery(value: string | null);
@@ -72,6 +74,16 @@ export declare class BoxContentExplorerElement extends BaseElement {
72
74
  toggleSelection(itemId: string): void;
73
75
  clearSelection(): void;
74
76
  invokeItemAction(itemId: string, actionId: string): void;
77
+ setSort(sort: ExplorerSortState | null): Promise<void>;
78
+ createFolder(name: string): Promise<ExplorerItem | null>;
79
+ renameItem(itemId: string, name: string): Promise<ExplorerItem | null>;
80
+ deleteItem(itemId: string): Promise<boolean>;
81
+ /**
82
+ * The live session controller, for pairing the shell with the standalone
83
+ * adapter elements (`box-explorer-toolbar`, `box-explorer-breadcrumbs`, …)
84
+ * or host-chrome bindings. Null until connected.
85
+ */
86
+ get explorerController(): ContentExplorerController | null;
75
87
  private updateStringAttribute;
76
88
  private scheduleStart;
77
89
  private startController;
@@ -81,5 +93,5 @@ export declare class BoxContentExplorerElement extends BaseElement {
81
93
  private getFocusableItemIds;
82
94
  protected renderTemplate(): void;
83
95
  protected update(): void;
96
+ private isFocusInsideHost;
84
97
  }
85
- export declare const defineBoxContentExplorerElement: (tagName?: string) => typeof BoxContentExplorerElement;
@@ -1,7 +1,7 @@
1
1
  import { ContentExplorerController } from "./controller.js";
2
2
  import { resolveExplorerItemGesture, shouldActivateOnClick, shouldToggleOnEnter, } from "./types.js";
3
3
  import { formatItemMetaLine } from "./adapters/item-summary.js";
4
- import { defineBoxSearchResultsHeaderElement, } from "../search/search-results-header.js";
4
+ import { SearchResultsHeader, } from "../search/search-results-header.js";
5
5
  import { BaseElement } from "../../core/index.js";
6
6
  import { boeMotionDuration, boeMotionEasing } from "../../foundations/motion/index.js";
7
7
  import { boePanel, boeRadius } from "../../foundations/geometry/index.js";
@@ -249,7 +249,8 @@ const elementStyles = `
249
249
  justify-content: center;
250
250
  }
251
251
  `;
252
- export class BoxContentExplorerElement extends BaseElement {
252
+ export class ContentExplorer extends BaseElement {
253
+ static tagName = DEFAULT_TAG_NAME;
253
254
  static get observedAttributes() {
254
255
  return ["item-gesture", "language", "page-size", "root-folder-id", "search-query", "selection-mode", "token"];
255
256
  }
@@ -385,6 +386,26 @@ export class BoxContentExplorerElement extends BaseElement {
385
386
  invokeItemAction(itemId, actionId) {
386
387
  this.controller?.invokeItemAction(itemId, actionId);
387
388
  }
389
+ async setSort(sort) {
390
+ await this.controller?.setSort(sort);
391
+ }
392
+ async createFolder(name) {
393
+ return (await this.controller?.createFolder(name)) ?? null;
394
+ }
395
+ async renameItem(itemId, name) {
396
+ return (await this.controller?.renameItem(itemId, name)) ?? null;
397
+ }
398
+ async deleteItem(itemId) {
399
+ return (await this.controller?.deleteItem(itemId)) ?? false;
400
+ }
401
+ /**
402
+ * The live session controller, for pairing the shell with the standalone
403
+ * adapter elements (`box-explorer-toolbar`, `box-explorer-breadcrumbs`, …)
404
+ * or host-chrome bindings. Null until connected.
405
+ */
406
+ get explorerController() {
407
+ return this.controller;
408
+ }
388
409
  updateStringAttribute(name, value) {
389
410
  if (value === null || value === "") {
390
411
  this.removeAttribute(name);
@@ -563,6 +584,7 @@ export class BoxContentExplorerElement extends BaseElement {
563
584
  "data-item-id": item.id,
564
585
  part: "item-action",
565
586
  type: "button",
587
+ ...(action.disabled ? { disabled: "", "aria-disabled": "true" } : {}),
566
588
  });
567
589
  return this.templatesValue.renderItemAction
568
590
  ? this.templatesValue.renderItemAction({
@@ -593,7 +615,7 @@ export class BoxContentExplorerElement extends BaseElement {
593
615
  itemButtonAttributes,
594
616
  state,
595
617
  })
596
- : `<li data-item-id="${item.id}" role="presentation">
618
+ : `<li data-item-id="${escapeHtml(item.id)}" role="presentation">
597
619
  <button ${itemButtonAttributes}><span part="item-name">${escapeHtml(item.name)}</span>${meta ? `<span part="item-meta">${escapeHtml(meta)}</span>` : ""}</button>
598
620
  ${actions ? `<div part="item-actions">${actions}</div>` : ""}
599
621
  </li>`;
@@ -614,13 +636,15 @@ export class BoxContentExplorerElement extends BaseElement {
614
636
  if (!host) {
615
637
  return;
616
638
  }
639
+ // Sample focus BEFORE the rebuild wipes the focused node.
640
+ const hadFocusInside = this.isFocusInsideHost();
617
641
  host.innerHTML = `
618
642
  <section aria-busy="${state?.loading ? "true" : "false"}">
619
643
  ${folderMarkup}
620
644
  <p part="status" data-status="${statusText}" role="status" aria-live="polite">${statusText}</p>
621
645
  ${errorMarkup}
622
646
  <button type="button" part="refresh" aria-label="Refresh items" ${refreshDisabled}>Refresh</button>
623
- <ul part="items" role="listbox" aria-label="Explorer items">${itemsMarkup}</ul>
647
+ <ul part="items" role="listbox" aria-label="Explorer items" aria-multiselectable="${(this.selectionMode ?? "multiple") === "multiple" ? "true" : "false"}">${itemsMarkup}</ul>
624
648
  ${loadMoreMarkup ? `<div part="load-more-region">${loadMoreMarkup}</div>` : ""}
625
649
  </section>
626
650
  `;
@@ -726,20 +750,23 @@ export class BoxContentExplorerElement extends BaseElement {
726
750
  }
727
751
  });
728
752
  });
729
- if (this.focusItemId) {
753
+ // Restore focus only when it already lived inside this element before the
754
+ // rebuild — an unrelated state update (loading tick, selection change from
755
+ // the API) must never steal focus from elsewhere on the page.
756
+ if (this.focusItemId && hadFocusInside) {
730
757
  queueMicrotask(() => {
731
758
  const target = Array.from(this.shadowRoot?.querySelectorAll('[part="item"]') ?? []).find(node => node.dataset.itemId === this.focusItemId);
732
759
  target?.focus();
733
760
  });
734
761
  }
735
762
  }
763
+ isFocusInsideHost() {
764
+ const active = document.activeElement;
765
+ if (!active) {
766
+ return false;
767
+ }
768
+ return active === this || (this.shadowRoot?.contains(active) ?? false);
769
+ }
736
770
  }
737
- export const defineBoxContentExplorerElement = (tagName = DEFAULT_TAG_NAME) => {
738
- defineBoxSearchResultsHeaderElement();
739
- const existingElement = customElements.get(tagName);
740
- if (existingElement) {
741
- return existingElement;
742
- }
743
- customElements.define(tagName, BoxContentExplorerElement);
744
- return BoxContentExplorerElement;
745
- };
771
+ SearchResultsHeader.register();
772
+ ContentExplorer.register();
@@ -1,4 +1,4 @@
1
- import type { ExplorerFetchLike, ExplorerSearchResult, ExplorerTransport, ExplorerTransportResult } from "./types.js";
1
+ import type { ExplorerFetchLike, ExplorerItem, ExplorerSearchResult, ExplorerSortBy, ExplorerSortDirection, ExplorerTransport, ExplorerTransportResult } from "./types.js";
2
2
  export interface ContentExplorerRequestContext {
3
3
  locale?: string;
4
4
  requestId?: string;
@@ -8,6 +8,8 @@ export interface ContentExplorerListFolderInput {
8
8
  folderId: string;
9
9
  limit?: number;
10
10
  offset?: number;
11
+ sortBy?: ExplorerSortBy;
12
+ sortDirection?: ExplorerSortDirection;
11
13
  context?: ContentExplorerRequestContext;
12
14
  }
13
15
  export interface ContentExplorerSearchInput {
@@ -15,11 +17,32 @@ export interface ContentExplorerSearchInput {
15
17
  ancestorFolderId?: string;
16
18
  limit?: number;
17
19
  offset?: number;
20
+ sortBy?: ExplorerSortBy;
21
+ sortDirection?: ExplorerSortDirection;
22
+ context?: ContentExplorerRequestContext;
23
+ }
24
+ export interface ContentExplorerCreateFolderInput {
25
+ parentFolderId: string;
26
+ name: string;
27
+ context?: ContentExplorerRequestContext;
28
+ }
29
+ export interface ContentExplorerRenameItemInput {
30
+ itemId: string;
31
+ itemType: ExplorerItem["type"];
32
+ name: string;
33
+ context?: ContentExplorerRequestContext;
34
+ }
35
+ export interface ContentExplorerDeleteItemInput {
36
+ itemId: string;
37
+ itemType: ExplorerItem["type"];
18
38
  context?: ContentExplorerRequestContext;
19
39
  }
20
40
  export interface ContentExplorerDataSource {
21
41
  listFolderItems(input: ContentExplorerListFolderInput): Promise<ExplorerTransportResult>;
22
42
  search?(input: ContentExplorerSearchInput): Promise<ExplorerSearchResult>;
43
+ createFolder?(input: ContentExplorerCreateFolderInput): Promise<ExplorerItem>;
44
+ renameItem?(input: ContentExplorerRenameItemInput): Promise<ExplorerItem>;
45
+ deleteItem?(input: ContentExplorerDeleteItemInput): Promise<void>;
23
46
  }
24
47
  export interface ContentExplorerHttpDataSourceOptions {
25
48
  baseUrl?: string;