@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
package/README.md CHANGED
@@ -1,8 +1,16 @@
1
+ <p align="center">
2
+ <a href="https://unofficialbox.github.io/box-open-elements">
3
+ <img src="https://raw.githubusercontent.com/unofficialbox/box-open-elements/main/assets/banner.svg" alt="Box Open Elements — framework-agnostic Web Components that track Box's design language" width="100%">
4
+ </a>
5
+ </p>
6
+
1
7
  # box-open-elements
2
8
 
3
9
  `box-open-elements` is an open, framework-agnostic design system and web component library for Box-style experiences.
4
10
 
5
- It is a ground-up rebuild of [`box-open-web-components`](https://github.com/unofficialbox/box-open-web-components), carrying forward that repo's validated architecture, docs, and research — without its accumulated baggage — under a new industry-standard taxonomy:
11
+ > **Community project — not affiliated with, authorized, or endorsed by Box, Inc.** “Box” is a trademark of Box, Inc. This library tracks Box’s public design language for interoperability; it ships no Box code.
12
+
13
+ The library is organized around three layers:
6
14
 
7
15
  - **Foundations** — design decisions as data: tokens, color, typography, iconography, accessibility, theming
8
16
  - **Components** — accessible Web Components for single controls, organized by category
@@ -10,7 +18,7 @@ It is a ground-up rebuild of [`box-open-web-components`](https://github.com/unof
10
18
 
11
19
  See [docs/taxonomy.md](./docs/taxonomy.md) for the canonical model.
12
20
 
13
- The guiding idea is unchanged: predictable, extensible building blocks that are easy for both human developers and AI coding assistants to compose.
21
+ Core implementation principles:
14
22
 
15
23
  - plain TypeScript modules, no React requirement in the core package
16
24
  - state and business logic separate from rendering: controllers and stores, not framework components
@@ -18,6 +26,16 @@ The guiding idea is unchanged: predictable, extensible building blocks that are
18
26
  - accessibility semantics and keyboard support as part of the component contract
19
27
  - injected transport contracts instead of SDK coupling
20
28
 
29
+ ## Preview
30
+
31
+ [![The box-open-elements documentation site](https://raw.githubusercontent.com/unofficialbox/box-open-elements/main/docs/screenshots/docs-site/home.png)](https://unofficialbox.github.io/box-open-elements)
32
+
33
+ The **[live docs site](https://unofficialbox.github.io/box-open-elements)** browses the full catalog with live previews, an events/properties inspector, per-framework code snippets (React / Angular / Vue / Svelte / HTML), and the foundations pages.
34
+
35
+ Components track Box’s design language out of the box — tokens-driven, light and dark, keyboard-accessible:
36
+
37
+ ![A selection of form components — text field, search, select, checkboxes, radios, and a pill-selector dropdown](https://raw.githubusercontent.com/unofficialbox/box-open-elements/main/docs/screenshots/gallery/forms.png)
38
+
21
39
  ## Setup
22
40
 
23
41
  This package uses Bun as its package manager and task runner.
@@ -48,13 +66,14 @@ Full catalog parity with the reference repo, plus every scoped gap the research
48
66
  - `src/core` — typed event emitter, controller base class, `BaseElement` (in-place shadow DOM render contract), and `FormAssociatedElement` (native form participation + invalid state)
49
67
  - `src/foundations/tokens` — the design-system registry (tokens, icons, illustrations), the Box default bundle, and the Box dark bundle, retoned to Box's modernized Blueprint palette with an Inter typography baseline; shared interaction helpers (`interaction.ts`) for focus/hover/active/disabled
50
68
  - `src/foundations/motion` — shared duration/easing vocabulary and reduced-motion CSS helper
69
+ - `src/foundations/profiles` — typed runtime profiles for density, geometry, typography, elevation, and motion
51
70
  - `src/foundations/icons` — the generated Box iconography manifest and alias layer
52
71
  - `tools/style-bridge` — CSS/SCSS → BOE token/selector bridge (`bun run style-bridge`; BUE explorer: `bun run style-bridge:bue-explorer`)
53
- - `src/components` — 72 components across all ten categories, including the Phase 5 gap fills (`box-chip`, `box-divider`, `box-calendar`, `box-tag-input`, `box-nav-sidebar`, `box-sidebar-toggle-button`, `box-grid-view`, `box-fieldset`, `box-section`, `box-error-mask`, `box-draggable-list`, `box-nudge`, `box-pill-cloud`, `box-pill-selector-dropdown`, `box-datalist-item`, `box-contact-datalist-item`, `box-category-selector`)
72
+ - `src/components` — 78 components across all ten categories, including the Phase 5 gap fills (`box-chip`, `box-divider`, `box-calendar`, `box-tag-input`, `box-nav-sidebar`, `box-sidebar-toggle-button`, `box-grid-view`, `box-fieldset`, `box-section`, `box-error-mask`, `box-draggable-list`, `box-nudge`, `box-pill-cloud`, `box-pill-selector-dropdown`, `box-datalist-item`, `box-contact-datalist-item`, `box-category-selector`)
54
73
  - `src/patterns/content-explorer` — the full headless explorer stack (collection, navigation, selection, actions, facade controller, data-source contracts, Box transport, wire schemas) plus the `box-explorer-*` presentation adapters and the composed `box-content-explorer` surface
55
74
  - `src/patterns/{search,item,metadata,share,preview,file-request,task,governance,insights}` — all nine composition/workflow areas, including contracts and wire schemas for metadata and share, the provider-neutral preview adapter stack, the pluggable `box-preview-element`, and the share workflows (`box-presence`, `box-invite-collaborators-modal`, `box-unified-share-modal`, `box-access-stats`, `box-collaborator-avatars`)
56
75
  - `packages/box-server` — a dependency-free server-side adapter: CCG auth + REST client, Box-backed explorer/share/metadata data sources, DTO mappers, and framework-neutral route handlers (see [docs/integration/box-server.md](./docs/integration/box-server.md))
57
- - `packages/react` — optional React wrappers (`@box-open-elements/react`); the validated surface ships `BoxButton`, `BoxTextField`, and `BoxSelect`. React, Angular, Vue, and Svelte progress is tracked in [docs/integration/framework-adapters.md](./docs/integration/framework-adapters.md).
76
+ - `packages/{react,angular,vue,svelte}` — lockstep `0.1.0` framework adapters for `Button`, `TextField`, `Select`, `Dialog`, and explorer selection composition. Progress is tracked in [docs/integration/framework-adapters.md](./docs/integration/framework-adapters.md).
58
77
  - `storybook/` — a Bun-native workshop: typed stories → identity-guarded extracted JSON → a self-contained, separately-deployable static site, with no Storybook/Vite runtime or consumer dependency (see [storybook/README.md](./storybook/README.md))
59
78
  - Docs site + CI — live GitHub Pages deploy, Storybook-backed variant dropdown, and a strict pixel-diff visual-regression gate in CI
60
79
 
@@ -66,14 +85,12 @@ Everything in the [components catalog](./docs/components/catalog.md) and [patter
66
85
 
67
86
  ```ts
68
87
  import {
69
- applyDesignTokens,
70
- registerBoxDefaultDesignSystem,
71
- } from "@unofficialbox/box-open-elements/foundations/tokens";
72
- import { defineBoxButtonElement } from "@unofficialbox/box-open-elements/components/actions/button";
73
-
74
- registerBoxDefaultDesignSystem({ setActive: true });
75
- applyDesignTokens(document.documentElement, "box-default");
76
- defineBoxButtonElement();
88
+ createThemeController,
89
+ } from "@unofficialbox/box-open-elements/foundations/theming";
90
+ import { Button } from "@unofficialbox/box-open-elements";
91
+
92
+ const theme = createThemeController();
93
+ theme.start();
77
94
  ```
78
95
 
79
96
  ```html
@@ -104,10 +121,18 @@ Workflow patterns begin as headless behavior and gain presentation adapters, so
104
121
  - root exports: `@unofficialbox/box-open-elements`
105
122
  - shared runtime: `@unofficialbox/box-open-elements/core`
106
123
  - foundations: `@unofficialbox/box-open-elements/foundations/<module>`
107
- - components: `@unofficialbox/box-open-elements/components/<category>/<name>`
124
+ - optimized component entrypoints: `@unofficialbox/box-open-elements/<name>`
108
125
  - patterns: `@unofficialbox/box-open-elements/patterns/<area>` and `@unofficialbox/box-open-elements/patterns/<area>/<module>`
109
126
 
110
- New exports follow the wildcard contract by default instead of adding explicit `package.json` entries. See [docs/api-guidelines.md](./docs/api-guidelines.md).
127
+ The root entrypoint is the concise convenience API and registers the full
128
+ catalog. Flat component entrypoints register only the imported component:
129
+
130
+ ```ts
131
+ import { Accordion, Avatar, Button, Switch } from "@unofficialbox/box-open-elements";
132
+ import { TextField } from "@unofficialbox/box-open-elements/text-field";
133
+ ```
134
+
135
+ See [docs/api-guidelines.md](./docs/api-guidelines.md).
111
136
 
112
137
  ## Documentation
113
138
 
@@ -3,7 +3,8 @@ export interface ButtonGroupOption {
3
3
  label: string;
4
4
  value: string;
5
5
  }
6
- export declare class BoxButtonGroupElement extends BaseElement {
6
+ export declare class ButtonGroup extends BaseElement {
7
+ static readonly tagName: string;
7
8
  static get observedAttributes(): string[];
8
9
  private valueInternal;
9
10
  private groupEl;
@@ -19,4 +20,3 @@ export declare class BoxButtonGroupElement extends BaseElement {
19
20
  protected renderTemplate(): void;
20
21
  protected update(): void;
21
22
  }
22
- export declare const defineBoxButtonGroupElement: (tagName?: string) => typeof BoxButtonGroupElement;
@@ -91,7 +91,8 @@ const buttonGroupStyles = `
91
91
  opacity: 0.55;
92
92
  }
93
93
  `;
94
- export class BoxButtonGroupElement extends BaseElement {
94
+ export class ButtonGroup extends BaseElement {
95
+ static tagName = DEFAULT_TAG_NAME;
95
96
  static get observedAttributes() {
96
97
  return ["label", "layout", "options", "value"];
97
98
  }
@@ -245,11 +246,4 @@ export class BoxButtonGroupElement extends BaseElement {
245
246
  });
246
247
  }
247
248
  }
248
- export const defineBoxButtonGroupElement = (tagName = DEFAULT_TAG_NAME) => {
249
- const existingElement = customElements.get(tagName);
250
- if (existingElement) {
251
- return existingElement;
252
- }
253
- customElements.define(tagName, BoxButtonGroupElement);
254
- return BoxButtonGroupElement;
255
- };
249
+ ButtonGroup.register();
@@ -1,6 +1,7 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
2
  export type ButtonType = "button" | "submit" | "reset";
3
- export declare class BoxButtonElement extends BaseElement {
3
+ export declare class Button extends BaseElement {
4
+ static readonly tagName: string;
4
5
  static formAssociated: boolean;
5
6
  static get observedAttributes(): string[];
6
7
  private buttonEl;
@@ -28,4 +29,3 @@ export declare class BoxButtonElement extends BaseElement {
28
29
  private syncIconVisibility;
29
30
  protected update(): void;
30
31
  }
31
- export declare const defineBoxButtonElement: (tagName?: string) => typeof BoxButtonElement;
@@ -163,7 +163,8 @@ const buttonStyles = `
163
163
  [part="spinner"] { animation-duration: 1.6s; }
164
164
  }
165
165
  `;
166
- export class BoxButtonElement extends BaseElement {
166
+ export class Button extends BaseElement {
167
+ static tagName = DEFAULT_TAG_NAME;
167
168
  static formAssociated = true;
168
169
  static get observedAttributes() {
169
170
  return ["disabled", "label", "size", "tone", "is-loading", "type"];
@@ -284,11 +285,4 @@ export class BoxButtonElement extends BaseElement {
284
285
  this.syncIconVisibility();
285
286
  }
286
287
  }
287
- export const defineBoxButtonElement = (tagName = DEFAULT_TAG_NAME) => {
288
- const existingElement = customElements.get(tagName);
289
- if (existingElement) {
290
- return existingElement;
291
- }
292
- customElements.define(tagName, BoxButtonElement);
293
- return BoxButtonElement;
294
- };
288
+ Button.register();
@@ -1,5 +1,6 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
- export declare class BoxIconButtonElement extends BaseElement {
2
+ export declare class IconButton extends BaseElement {
3
+ static readonly tagName: string;
3
4
  private readonly handleDesignSystemChange;
4
5
  static get observedAttributes(): string[];
5
6
  private buttonEl;
@@ -17,4 +18,3 @@ export declare class BoxIconButtonElement extends BaseElement {
17
18
  protected renderTemplate(): void;
18
19
  protected update(): void;
19
20
  }
20
- export declare const defineBoxIconButtonElement: (tagName?: string) => typeof BoxIconButtonElement;
@@ -98,7 +98,8 @@ const iconButtonStyles = `
98
98
  fill: currentColor;
99
99
  }
100
100
  `;
101
- export class BoxIconButtonElement extends BaseElement {
101
+ export class IconButton extends BaseElement {
102
+ static tagName = DEFAULT_TAG_NAME;
102
103
  handleDesignSystemChange = () => {
103
104
  if (this.isRendered) {
104
105
  this.update();
@@ -177,11 +178,4 @@ export class BoxIconButtonElement extends BaseElement {
177
178
  this.iconEl.innerHTML = iconMarkup;
178
179
  }
179
180
  }
180
- export const defineBoxIconButtonElement = (tagName = DEFAULT_TAG_NAME) => {
181
- const existingElement = customElements.get(tagName);
182
- if (existingElement) {
183
- return existingElement;
184
- }
185
- customElements.define(tagName, BoxIconButtonElement);
186
- return BoxIconButtonElement;
187
- };
181
+ IconButton.register();
@@ -1,5 +1,6 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
- export declare class BoxLinkButtonElement extends BaseElement {
2
+ export declare class LinkButton extends BaseElement {
3
+ static readonly tagName: string;
3
4
  static get observedAttributes(): string[];
4
5
  private linkEl;
5
6
  private labelEl;
@@ -20,4 +21,3 @@ export declare class BoxLinkButtonElement extends BaseElement {
20
21
  protected setupListeners(): void;
21
22
  protected update(): void;
22
23
  }
23
- export declare const defineBoxLinkButtonElement: (tagName?: string) => typeof BoxLinkButtonElement;
@@ -84,7 +84,8 @@ const linkButtonStyles = `
84
84
  color: var(--boe-token-surface-status-surface-error, #ed3757);
85
85
  }
86
86
  `;
87
- export class BoxLinkButtonElement extends BaseElement {
87
+ export class LinkButton extends BaseElement {
88
+ static tagName = DEFAULT_TAG_NAME;
88
89
  static get observedAttributes() {
89
90
  return ["href", "label", "tone", "target", "rel"];
90
91
  }
@@ -178,11 +179,4 @@ export class BoxLinkButtonElement extends BaseElement {
178
179
  }
179
180
  }
180
181
  }
181
- export const defineBoxLinkButtonElement = (tagName = DEFAULT_TAG_NAME) => {
182
- const existingElement = customElements.get(tagName);
183
- if (existingElement) {
184
- return existingElement;
185
- }
186
- customElements.define(tagName, BoxLinkButtonElement);
187
- return BoxLinkButtonElement;
188
- };
182
+ LinkButton.register();
@@ -1,5 +1,6 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
- export declare class BoxMenuItemElement extends BaseElement {
2
+ export declare class MenuItem extends BaseElement {
3
+ static readonly tagName: string;
3
4
  static get observedAttributes(): string[];
4
5
  private itemEl;
5
6
  get disabled(): boolean;
@@ -14,4 +15,3 @@ export declare class BoxMenuItemElement extends BaseElement {
14
15
  protected setupListeners(): void;
15
16
  protected update(): void;
16
17
  }
17
- export declare const defineBoxMenuItemElement: (tagName?: string) => typeof BoxMenuItemElement;
@@ -55,7 +55,8 @@ const menuItemStyles = `
55
55
  opacity: ${boeControl.disabledOpacity};
56
56
  }
57
57
  `;
58
- export class BoxMenuItemElement extends BaseElement {
58
+ export class MenuItem extends BaseElement {
59
+ static tagName = DEFAULT_TAG_NAME;
59
60
  static get observedAttributes() {
60
61
  return ["disabled", "label", "selected", "value"];
61
62
  }
@@ -127,11 +128,4 @@ export class BoxMenuItemElement extends BaseElement {
127
128
  this.itemEl.textContent = this.label;
128
129
  }
129
130
  }
130
- export const defineBoxMenuItemElement = (tagName = DEFAULT_TAG_NAME) => {
131
- const existingElement = customElements.get(tagName);
132
- if (existingElement) {
133
- return existingElement;
134
- }
135
- customElements.define(tagName, BoxMenuItemElement);
136
- return BoxMenuItemElement;
137
- };
131
+ MenuItem.register();
@@ -12,7 +12,8 @@ type BoxMenuItem = {
12
12
  /** Checkable item — renders menuitemcheckbox with aria-checked. */
13
13
  checked?: boolean;
14
14
  };
15
- export declare class BoxMenuElement extends BaseElement {
15
+ export declare class Menu extends BaseElement {
16
+ static readonly tagName: string;
16
17
  static get observedAttributes(): string[];
17
18
  private menuEl;
18
19
  get disabled(): boolean;
@@ -28,5 +29,4 @@ export declare class BoxMenuElement extends BaseElement {
28
29
  private enabledMenuItems;
29
30
  protected update(): void;
30
31
  }
31
- export declare const defineBoxMenuElement: (tagName?: string) => typeof BoxMenuElement;
32
32
  export {};
@@ -98,7 +98,8 @@ const menuStyles = `
98
98
  content: "✓";
99
99
  }
100
100
  `;
101
- export class BoxMenuElement extends BaseElement {
101
+ export class Menu extends BaseElement {
102
+ static tagName = DEFAULT_TAG_NAME;
102
103
  static get observedAttributes() {
103
104
  return ["disabled", "items", "label"];
104
105
  }
@@ -225,11 +226,4 @@ export class BoxMenuElement extends BaseElement {
225
226
  applyRovingTabindex(buttons, 0);
226
227
  }
227
228
  }
228
- export const defineBoxMenuElement = (tagName = DEFAULT_TAG_NAME) => {
229
- const existingElement = customElements.get(tagName);
230
- if (existingElement) {
231
- return existingElement;
232
- }
233
- customElements.define(tagName, BoxMenuElement);
234
- return BoxMenuElement;
235
- };
229
+ Menu.register();
@@ -4,7 +4,8 @@ export interface SegmentedControlOption {
4
4
  value: string;
5
5
  disabled?: boolean;
6
6
  }
7
- export declare class BoxSegmentedControlElement extends BaseElement {
7
+ export declare class SegmentedControl extends BaseElement {
8
+ static readonly tagName: string;
8
9
  static get observedAttributes(): string[];
9
10
  private valueInternal;
10
11
  private controlEl;
@@ -24,4 +25,3 @@ export declare class BoxSegmentedControlElement extends BaseElement {
24
25
  protected renderTemplate(): void;
25
26
  protected update(): void;
26
27
  }
27
- export declare const defineBoxSegmentedControlElement: (tagName?: string) => typeof BoxSegmentedControlElement;
@@ -71,7 +71,8 @@ const segmentedControlStyles = `
71
71
  opacity: 0.55;
72
72
  }
73
73
  `;
74
- export class BoxSegmentedControlElement extends BaseElement {
74
+ export class SegmentedControl extends BaseElement {
75
+ static tagName = DEFAULT_TAG_NAME;
75
76
  static get observedAttributes() {
76
77
  return ["disabled", "label", "layout", "options", "value"];
77
78
  }
@@ -263,11 +264,4 @@ export class BoxSegmentedControlElement extends BaseElement {
263
264
  });
264
265
  }
265
266
  }
266
- export const defineBoxSegmentedControlElement = (tagName = DEFAULT_TAG_NAME) => {
267
- const existingElement = customElements.get(tagName);
268
- if (existingElement) {
269
- return existingElement;
270
- }
271
- customElements.define(tagName, BoxSegmentedControlElement);
272
- return BoxSegmentedControlElement;
273
- };
267
+ SegmentedControl.register();
@@ -1,5 +1,6 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
- export declare class BoxCardElement extends BaseElement {
2
+ export declare class Card extends BaseElement {
3
+ static readonly tagName: string;
3
4
  static get observedAttributes(): string[];
4
5
  private eyebrowEl;
5
6
  private titleEl;
@@ -10,4 +11,3 @@ export declare class BoxCardElement extends BaseElement {
10
11
  protected renderTemplate(): void;
11
12
  protected update(): void;
12
13
  }
13
- export declare const defineBoxCardElement: (tagName?: string) => typeof BoxCardElement;
@@ -51,7 +51,8 @@ const cardStyles = `
51
51
  display: none;
52
52
  }
53
53
  `;
54
- export class BoxCardElement extends BaseElement {
54
+ export class Card extends BaseElement {
55
+ static tagName = DEFAULT_TAG_NAME;
55
56
  static get observedAttributes() {
56
57
  return ["eyebrow", "heading"];
57
58
  }
@@ -100,11 +101,4 @@ export class BoxCardElement extends BaseElement {
100
101
  this.titleEl.hidden = !heading;
101
102
  }
102
103
  }
103
- export const defineBoxCardElement = (tagName = DEFAULT_TAG_NAME) => {
104
- const existingElement = customElements.get(tagName);
105
- if (existingElement) {
106
- return existingElement;
107
- }
108
- customElements.define(tagName, BoxCardElement);
109
- return BoxCardElement;
110
- };
104
+ Card.register();
@@ -5,7 +5,8 @@ type CarouselItem = {
5
5
  description?: string;
6
6
  imageSrc?: string;
7
7
  };
8
- export declare class BoxCarouselElement extends BaseElement {
8
+ export declare class Carousel extends BaseElement {
9
+ static readonly tagName: string;
9
10
  static get observedAttributes(): string[];
10
11
  private valueInternal;
11
12
  private lastItemsJson;
@@ -43,5 +44,4 @@ export declare class BoxCarouselElement extends BaseElement {
43
44
  protected setupListeners(): void;
44
45
  protected update(): void;
45
46
  }
46
- export declare const defineBoxCarouselElement: (tagName?: string) => typeof BoxCarouselElement;
47
47
  export {};
@@ -197,7 +197,8 @@ const carouselStyles = `
197
197
  }
198
198
  }
199
199
  `;
200
- export class BoxCarouselElement extends BaseElement {
200
+ export class Carousel extends BaseElement {
201
+ static tagName = DEFAULT_TAG_NAME;
201
202
  static get observedAttributes() {
202
203
  return ["items", "label", "value"];
203
204
  }
@@ -463,11 +464,4 @@ export class BoxCarouselElement extends BaseElement {
463
464
  }
464
465
  }
465
466
  }
466
- export const defineBoxCarouselElement = (tagName = DEFAULT_TAG_NAME) => {
467
- const existingElement = customElements.get(tagName);
468
- if (existingElement) {
469
- return existingElement;
470
- }
471
- customElements.define(tagName, BoxCarouselElement);
472
- return BoxCarouselElement;
473
- };
467
+ Carousel.register();
@@ -6,7 +6,8 @@ import { BaseElement } from "../../core/index.js";
6
6
  * Enter/Space; `selected` reflects to `aria-selected`. The host owns the list
7
7
  * and its roving focus.
8
8
  */
9
- export declare class BoxDatalistItemElement extends BaseElement {
9
+ export declare class DatalistItem extends BaseElement {
10
+ static readonly tagName: string;
10
11
  static get observedAttributes(): string[];
11
12
  private itemEl;
12
13
  private thumbEl;
@@ -35,4 +36,3 @@ export declare class BoxDatalistItemElement extends BaseElement {
35
36
  private syncSlot;
36
37
  protected update(): void;
37
38
  }
38
- export declare const defineBoxDatalistItemElement: (tagName?: string) => typeof BoxDatalistItemElement;
@@ -96,7 +96,8 @@ const datalistItemStyles = `
96
96
  * Enter/Space; `selected` reflects to `aria-selected`. The host owns the list
97
97
  * and its roving focus.
98
98
  */
99
- export class BoxDatalistItemElement extends BaseElement {
99
+ export class DatalistItem extends BaseElement {
100
+ static tagName = DEFAULT_TAG_NAME;
100
101
  static get observedAttributes() {
101
102
  return ["active", "disabled", "icon", "label", "meta", "selected", "value"];
102
103
  }
@@ -224,11 +225,4 @@ export class BoxDatalistItemElement extends BaseElement {
224
225
  this.metaEl.hidden = !meta;
225
226
  }
226
227
  }
227
- export const defineBoxDatalistItemElement = (tagName = DEFAULT_TAG_NAME) => {
228
- const existingElement = customElements.get(tagName);
229
- if (existingElement) {
230
- return existingElement;
231
- }
232
- customElements.define(tagName, BoxDatalistItemElement);
233
- return BoxDatalistItemElement;
234
- };
228
+ DatalistItem.register();
@@ -10,7 +10,8 @@ type BoxDraggableListItem = {
10
10
  * `reorder` event carrying the moved value, its old/new index, and the new
11
11
  * order. It owns no persistence — the host stores the order.
12
12
  */
13
- export declare class BoxDraggableListElement extends BaseElement {
13
+ export declare class DraggableList extends BaseElement {
14
+ static readonly tagName: string;
14
15
  static get observedAttributes(): string[];
15
16
  private dragValue;
16
17
  private focusValue;
@@ -29,5 +30,4 @@ export declare class BoxDraggableListElement extends BaseElement {
29
30
  protected setupListeners(): void;
30
31
  protected update(): void;
31
32
  }
32
- export declare const defineBoxDraggableListElement: (tagName?: string) => typeof BoxDraggableListElement;
33
33
  export {};
@@ -93,7 +93,8 @@ const draggableListStyles = `
93
93
  * `reorder` event carrying the moved value, its old/new index, and the new
94
94
  * order. It owns no persistence — the host stores the order.
95
95
  */
96
- export class BoxDraggableListElement extends BaseElement {
96
+ export class DraggableList extends BaseElement {
97
+ static tagName = DEFAULT_TAG_NAME;
97
98
  static get observedAttributes() {
98
99
  return ["items", "label"];
99
100
  }
@@ -296,11 +297,4 @@ export class BoxDraggableListElement extends BaseElement {
296
297
  }
297
298
  }
298
299
  }
299
- export const defineBoxDraggableListElement = (tagName = DEFAULT_TAG_NAME) => {
300
- const existingElement = customElements.get(tagName);
301
- if (existingElement) {
302
- return existingElement;
303
- }
304
- customElements.define(tagName, BoxDraggableListElement);
305
- return BoxDraggableListElement;
306
- };
300
+ DraggableList.register();
@@ -12,7 +12,8 @@ type BoxGridViewItem = {
12
12
  * listbox: one tile is tabbable (roving `tabindex`), arrow keys move focus, and
13
13
  * Enter/Space or click selects. It owns no transport.
14
14
  */
15
- export declare class BoxGridViewElement extends BaseElement {
15
+ export declare class GridView extends BaseElement {
16
+ static readonly tagName: string;
16
17
  static get observedAttributes(): string[];
17
18
  private valueInternal;
18
19
  private focusValue;
@@ -34,5 +35,4 @@ export declare class BoxGridViewElement extends BaseElement {
34
35
  protected setupListeners(): void;
35
36
  protected update(): void;
36
37
  }
37
- export declare const defineBoxGridViewElement: (tagName?: string) => typeof BoxGridViewElement;
38
38
  export {};
@@ -106,7 +106,8 @@ const gridViewStyles = `
106
106
  * listbox: one tile is tabbable (roving `tabindex`), arrow keys move focus, and
107
107
  * Enter/Space or click selects. It owns no transport.
108
108
  */
109
- export class BoxGridViewElement extends BaseElement {
109
+ export class GridView extends BaseElement {
110
+ static tagName = DEFAULT_TAG_NAME;
110
111
  static get observedAttributes() {
111
112
  return ["items", "label", "value"];
112
113
  }
@@ -315,11 +316,4 @@ export class BoxGridViewElement extends BaseElement {
315
316
  }
316
317
  }
317
318
  }
318
- export const defineBoxGridViewElement = (tagName = DEFAULT_TAG_NAME) => {
319
- const existingElement = customElements.get(tagName);
320
- if (existingElement) {
321
- return existingElement;
322
- }
323
- customElements.define(tagName, BoxGridViewElement);
324
- return BoxGridViewElement;
325
- };
319
+ GridView.register();
@@ -1,5 +1,6 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
- export declare class BoxPaginationElement extends BaseElement {
2
+ export declare class Pagination extends BaseElement {
3
+ static readonly tagName: string;
3
4
  static get observedAttributes(): string[];
4
5
  private previousEl;
5
6
  private nextEl;
@@ -16,4 +17,3 @@ export declare class BoxPaginationElement extends BaseElement {
16
17
  protected setupListeners(): void;
17
18
  protected update(): void;
18
19
  }
19
- export declare const defineBoxPaginationElement: (tagName?: string) => typeof BoxPaginationElement;
@@ -52,7 +52,8 @@ const paginationStyles = `
52
52
  white-space: nowrap;
53
53
  }
54
54
  `;
55
- export class BoxPaginationElement extends BaseElement {
55
+ export class Pagination extends BaseElement {
56
+ static tagName = DEFAULT_TAG_NAME;
56
57
  static get observedAttributes() {
57
58
  return ["page", "page-size", "total-items"];
58
59
  }
@@ -137,11 +138,4 @@ export class BoxPaginationElement extends BaseElement {
137
138
  this.summaryEl.textContent = `Showing ${startItem}-${endItem} of ${this.totalItems}`;
138
139
  }
139
140
  }
140
- export const defineBoxPaginationElement = (tagName = DEFAULT_TAG_NAME) => {
141
- const existingElement = customElements.get(tagName);
142
- if (existingElement) {
143
- return existingElement;
144
- }
145
- customElements.define(tagName, BoxPaginationElement);
146
- return BoxPaginationElement;
147
- };
141
+ Pagination.register();