@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
@@ -71,7 +71,8 @@ const popoverStyles = `
71
71
  display: none;
72
72
  }
73
73
  `;
74
- export class BoxPopoverElement extends BaseElement {
74
+ export class Popover extends BaseElement {
75
+ static tagName = DEFAULT_TAG_NAME;
75
76
  static get observedAttributes() {
76
77
  return ["disabled", "label", "open", "placement"];
77
78
  }
@@ -322,11 +323,4 @@ export class BoxPopoverElement extends BaseElement {
322
323
  this.surfaceEl.style.margin = "";
323
324
  }
324
325
  }
325
- export const defineBoxPopoverElement = (tagName = DEFAULT_TAG_NAME) => {
326
- const existingElement = customElements.get(tagName);
327
- if (existingElement) {
328
- return existingElement;
329
- }
330
- customElements.define(tagName, BoxPopoverElement);
331
- return BoxPopoverElement;
332
- };
326
+ Popover.register();
@@ -0,0 +1,48 @@
1
+ import type { CommandDescriptor } from "./command-types.js";
2
+ import { BaseElement } from "../../core/index.js";
3
+ /**
4
+ * The keyboard shortcuts sheet that makes keyboard-first real — the pair to
5
+ * `box-command-palette`.
6
+ *
7
+ * It reads the *same* `CommandDescriptor[]` the palette does and lists only
8
+ * the commands that declare a `shortcut`. One catalogue driving both surfaces
9
+ * is the point: a shortcut cannot end up documented but unreachable, or
10
+ * reachable but undocumented, because there is only one place to add it.
11
+ *
12
+ * Keys render as `<kbd>` elements rather than a run of text, so the markup
13
+ * says what it means.
14
+ */
15
+ export declare class ShortcutsOverlay extends BaseElement {
16
+ static readonly tagName: string;
17
+ static get observedAttributes(): string[];
18
+ private hostEl;
19
+ private readonly focusRestore;
20
+ private wasOpen;
21
+ private commandsRaw;
22
+ private commandsCache;
23
+ private readonly onDocumentKeydown;
24
+ get open(): boolean;
25
+ set open(value: boolean);
26
+ get heading(): string;
27
+ set heading(value: string);
28
+ /**
29
+ * Character that opens the sheet. Defaults to `?`, the convention. Matched
30
+ * against the produced character, so the Shift needed to type it is already
31
+ * accounted for. Set empty to let the host own the trigger.
32
+ */
33
+ get hotkey(): string;
34
+ set hotkey(value: string);
35
+ /** The same catalogue `box-command-palette` takes; validated per record. */
36
+ get commands(): CommandDescriptor[];
37
+ set commands(value: CommandDescriptor[]);
38
+ /** Only the commands that declare a shortcut, in catalogue order. */
39
+ get documentedCommands(): CommandDescriptor[];
40
+ show(): void;
41
+ hide(): void;
42
+ connectedCallback(): void;
43
+ disconnectedCallback(): void;
44
+ private dismiss;
45
+ protected renderTemplate(): void;
46
+ protected setupListeners(): void;
47
+ protected update(): void;
48
+ }
@@ -0,0 +1,385 @@
1
+ import { groupShortcutCommands, isCommandDescriptorRecord, splitShortcutKeys, } from "./command-types.js";
2
+ import { BaseElement } from "../../core/index.js";
3
+ import { FocusRestore, trapTabKey } from "../../foundations/a11y/index.js";
4
+ import { boeOverlay, boePanel, boeRadius } from "../../foundations/geometry/index.js";
5
+ const DEFAULT_TAG_NAME = "box-shortcuts-overlay";
6
+ const escapeHtml = (value) => value
7
+ .replaceAll("&", "&amp;")
8
+ .replaceAll("<", "&lt;")
9
+ .replaceAll(">", "&gt;")
10
+ .replaceAll('"', "&quot;")
11
+ .replaceAll("'", "&#39;");
12
+ /** Editable targets where a bare-character hotkey must never fire. */
13
+ const isTypingTarget = (target) => {
14
+ const element = target;
15
+ if (!element || typeof element.tagName !== "string") {
16
+ return false;
17
+ }
18
+ if (element.isContentEditable) {
19
+ return true;
20
+ }
21
+ const tag = element.tagName;
22
+ return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT";
23
+ };
24
+ /**
25
+ * The element the key was actually typed into. `event.target` is retargeted to
26
+ * the shadow host once an event crosses a shadow boundary, and this library
27
+ * wraps native controls in shadow DOM — so reading `target` on a document
28
+ * listener sees `box-text-field`, not the `input` inside it.
29
+ */
30
+ const keyOrigin = (event) => event.composedPath()[0] ?? event.target;
31
+ const elementStyles = `
32
+ [hidden] {
33
+ display: none !important;
34
+ }
35
+
36
+ :host {
37
+ display: contents;
38
+ }
39
+
40
+ [part="backdrop"] {
41
+ position: fixed;
42
+ inset: 0;
43
+ display: flex;
44
+ justify-content: center;
45
+ align-items: center;
46
+ padding: 1rem;
47
+ background: ${boeOverlay.modalBackdrop};
48
+ z-index: 1000;
49
+ }
50
+
51
+ [part="sheet"] {
52
+ inline-size: min(34rem, 100%);
53
+ max-block-size: 80vh;
54
+ display: grid;
55
+ grid-template-rows: auto 1fr;
56
+ border-radius: ${boeOverlay.modalRadius};
57
+ border: ${boePanel.border};
58
+ background: ${boePanel.background};
59
+ box-shadow: ${boeOverlay.shadow};
60
+ overflow: hidden;
61
+ }
62
+
63
+ [part="header"] {
64
+ display: flex;
65
+ align-items: center;
66
+ gap: 0.5rem;
67
+ padding: 0.85rem 1rem;
68
+ border-block-end: 1px solid color-mix(in srgb, var(--boe-token-stroke-stroke, #e8e8e8) 70%, transparent);
69
+ }
70
+
71
+ [part="title"] {
72
+ margin: 0;
73
+ font: inherit;
74
+ font-size: 1rem;
75
+ font-weight: 700;
76
+ color: var(--boe-token-text-text, #1f1e1b);
77
+ }
78
+
79
+ [part="close"] {
80
+ margin-inline-start: auto;
81
+ appearance: none;
82
+ font: inherit;
83
+ font-size: 0.8rem;
84
+ padding: 0.25rem 0.55rem;
85
+ border: 1px solid var(--boe-token-stroke-stroke, #e8e8e8);
86
+ border-radius: ${boeRadius.control};
87
+ background: var(--boe-token-surface-surface, #ffffff);
88
+ color: var(--boe-token-text-text, #222222);
89
+ cursor: pointer;
90
+ }
91
+
92
+ [part="close"]:hover {
93
+ background: var(--boe-token-surface-surface-hover, #f4f4f4);
94
+ }
95
+
96
+ [part="groups"] {
97
+ margin: 0;
98
+ padding: 0.6rem 1rem 1rem;
99
+ list-style: none;
100
+ overflow-y: auto;
101
+ }
102
+
103
+ [part="group-label"] {
104
+ display: block;
105
+ padding-block: 0.7rem 0.3rem;
106
+ font-size: 0.7rem;
107
+ font-weight: 700;
108
+ letter-spacing: 0.08em;
109
+ text-transform: uppercase;
110
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
111
+ }
112
+
113
+ [part="rows"] {
114
+ margin: 0;
115
+ padding: 0;
116
+ list-style: none;
117
+ display: grid;
118
+ }
119
+
120
+ [part="row"] {
121
+ display: flex;
122
+ align-items: baseline;
123
+ gap: 0.75rem;
124
+ padding: 0.35rem 0;
125
+ }
126
+
127
+ [part="row-label"] {
128
+ color: var(--boe-token-text-text, #1f1e1b);
129
+ }
130
+
131
+ [part="keys"] {
132
+ margin-inline-start: auto;
133
+ display: inline-flex;
134
+ align-items: center;
135
+ gap: 0.2rem;
136
+ white-space: nowrap;
137
+ }
138
+
139
+ [part="key"] {
140
+ min-inline-size: 1.4rem;
141
+ padding: 0.1rem 0.35rem;
142
+ border: 1px solid var(--boe-token-stroke-stroke, #e8e8e8);
143
+ border-block-end-width: 2px;
144
+ border-radius: ${boeRadius.size};
145
+ background: var(--boe-token-surface-surface-hover, #f4f4f4);
146
+ font-family: ui-monospace, monospace;
147
+ font-size: 0.72rem;
148
+ text-align: center;
149
+ color: var(--boe-token-text-text, #1f1e1b);
150
+ }
151
+
152
+ [part="key-separator"] {
153
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
154
+ font-size: 0.7rem;
155
+ }
156
+
157
+ [part="empty"] {
158
+ padding: 1.4rem 1rem;
159
+ text-align: center;
160
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
161
+ }
162
+
163
+ [part="close"]:focus-visible {
164
+ outline: none;
165
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 18%, transparent);
166
+ }
167
+ `;
168
+ /**
169
+ * The keyboard shortcuts sheet that makes keyboard-first real — the pair to
170
+ * `box-command-palette`.
171
+ *
172
+ * It reads the *same* `CommandDescriptor[]` the palette does and lists only
173
+ * the commands that declare a `shortcut`. One catalogue driving both surfaces
174
+ * is the point: a shortcut cannot end up documented but unreachable, or
175
+ * reachable but undocumented, because there is only one place to add it.
176
+ *
177
+ * Keys render as `<kbd>` elements rather than a run of text, so the markup
178
+ * says what it means.
179
+ */
180
+ export class ShortcutsOverlay extends BaseElement {
181
+ static tagName = DEFAULT_TAG_NAME;
182
+ static get observedAttributes() {
183
+ return ["commands", "heading", "hotkey", "open"];
184
+ }
185
+ hostEl;
186
+ focusRestore = new FocusRestore();
187
+ wasOpen = false;
188
+ commandsRaw = null;
189
+ commandsCache = [];
190
+ onDocumentKeydown = (event) => {
191
+ if (this.open) {
192
+ // Escape closes from anywhere. Focus can end up outside the sheet — the
193
+ // browser chrome, a host that moves it — and a modal that only closes
194
+ // while it still holds focus is a trap. The sheet's own handler runs
195
+ // first and clears `open`, so this never dismisses twice.
196
+ if (event.key === "Escape") {
197
+ event.preventDefault();
198
+ this.dismiss();
199
+ }
200
+ return;
201
+ }
202
+ const hotkey = this.hotkey;
203
+ if (!hotkey) {
204
+ return;
205
+ }
206
+ // A bare-character hotkey must never fire while someone is typing —
207
+ // "?" is a legitimate character in every text field on the page.
208
+ if (isTypingTarget(keyOrigin(event))) {
209
+ return;
210
+ }
211
+ if (event.metaKey || event.ctrlKey || event.altKey) {
212
+ return;
213
+ }
214
+ if (event.key === hotkey) {
215
+ event.preventDefault();
216
+ this.open = true;
217
+ }
218
+ };
219
+ get open() {
220
+ return this.hasAttribute("open");
221
+ }
222
+ set open(value) {
223
+ this.toggleAttribute("open", value);
224
+ }
225
+ get heading() {
226
+ return this.getAttribute("heading") ?? "Keyboard shortcuts";
227
+ }
228
+ set heading(value) {
229
+ this.setAttribute("heading", value);
230
+ }
231
+ /**
232
+ * Character that opens the sheet. Defaults to `?`, the convention. Matched
233
+ * against the produced character, so the Shift needed to type it is already
234
+ * accounted for. Set empty to let the host own the trigger.
235
+ */
236
+ get hotkey() {
237
+ const raw = this.getAttribute("hotkey");
238
+ return raw === null ? "?" : raw;
239
+ }
240
+ set hotkey(value) {
241
+ this.setAttribute("hotkey", value);
242
+ }
243
+ /** The same catalogue `box-command-palette` takes; validated per record. */
244
+ get commands() {
245
+ const raw = this.getAttribute("commands");
246
+ if (!raw) {
247
+ return [];
248
+ }
249
+ if (raw !== this.commandsRaw) {
250
+ this.commandsRaw = raw;
251
+ try {
252
+ const parsed = JSON.parse(raw);
253
+ this.commandsCache =
254
+ Array.isArray(parsed) && parsed.every(isCommandDescriptorRecord)
255
+ ? parsed
256
+ : [];
257
+ }
258
+ catch {
259
+ this.commandsCache = [];
260
+ }
261
+ }
262
+ return [...this.commandsCache];
263
+ }
264
+ set commands(value) {
265
+ if (value.length) {
266
+ this.setAttribute("commands", JSON.stringify(value));
267
+ return;
268
+ }
269
+ this.removeAttribute("commands");
270
+ }
271
+ /** Only the commands that declare a shortcut, in catalogue order. */
272
+ get documentedCommands() {
273
+ return groupShortcutCommands(this.commands).flatMap(group => group.commands);
274
+ }
275
+ show() {
276
+ this.open = true;
277
+ }
278
+ hide() {
279
+ this.open = false;
280
+ }
281
+ connectedCallback() {
282
+ super.connectedCallback();
283
+ document.addEventListener("keydown", this.onDocumentKeydown);
284
+ }
285
+ disconnectedCallback() {
286
+ document.removeEventListener("keydown", this.onDocumentKeydown);
287
+ }
288
+ dismiss() {
289
+ this.dispatchEvent(new CustomEvent("dismissed", { bubbles: true, composed: true }));
290
+ this.open = false;
291
+ }
292
+ renderTemplate() {
293
+ if (!this.shadowRoot) {
294
+ return;
295
+ }
296
+ this.shadowRoot.innerHTML = `<style>${elementStyles}</style><div part="host"></div>`;
297
+ this.hostEl = this.shadowRoot.querySelector('[part="host"]');
298
+ }
299
+ setupListeners() {
300
+ this.hostEl.addEventListener("pointerdown", event => {
301
+ const target = event.target;
302
+ if (target.closest('[part="sheet"]')) {
303
+ return;
304
+ }
305
+ if (target.closest('[part="backdrop"]')) {
306
+ this.dismiss();
307
+ }
308
+ });
309
+ this.hostEl.addEventListener("click", event => {
310
+ if (event.target.closest('[part="close"]')) {
311
+ this.dismiss();
312
+ }
313
+ });
314
+ this.hostEl.addEventListener("keydown", event => {
315
+ const keyboardEvent = event;
316
+ const sheet = this.hostEl.querySelector('[part="sheet"]');
317
+ if (!sheet) {
318
+ return;
319
+ }
320
+ if (keyboardEvent.key === "Escape") {
321
+ keyboardEvent.preventDefault();
322
+ this.dismiss();
323
+ return;
324
+ }
325
+ if (keyboardEvent.key === "Tab") {
326
+ trapTabKey(keyboardEvent, sheet);
327
+ }
328
+ });
329
+ }
330
+ update() {
331
+ if (!this.hostEl) {
332
+ return;
333
+ }
334
+ if (!this.open) {
335
+ const wasOpen = this.wasOpen;
336
+ this.hostEl.innerHTML = "";
337
+ this.wasOpen = false;
338
+ if (wasOpen) {
339
+ this.focusRestore.restore();
340
+ }
341
+ return;
342
+ }
343
+ const justOpened = !this.wasOpen;
344
+ this.wasOpen = true;
345
+ if (justOpened) {
346
+ this.focusRestore.capture();
347
+ }
348
+ const groups = groupShortcutCommands(this.commands);
349
+ const sections = groups
350
+ .map(group => {
351
+ const rows = group.commands
352
+ .map(command => {
353
+ const keys = splitShortcutKeys(command.shortcut ?? "")
354
+ .map(key => `<kbd part="key">${escapeHtml(key)}</kbd>`)
355
+ .join(`<span part="key-separator" aria-hidden="true">+</span>`);
356
+ return `
357
+ <li part="row" data-command-id="${escapeHtml(command.id)}">
358
+ <span part="row-label">${escapeHtml(command.label)}</span>
359
+ <span part="keys" aria-label="${escapeHtml(command.shortcut ?? "")}">${keys}</span>
360
+ </li>
361
+ `;
362
+ })
363
+ .join("");
364
+ return `<li part="group" data-group-key="${escapeHtml(group.key)}"><span part="group-label">${escapeHtml(group.label)}</span><ul part="rows" role="list">${rows}</ul></li>`;
365
+ })
366
+ .join("");
367
+ this.hostEl.innerHTML = `
368
+ <div part="backdrop">
369
+ <div part="sheet" role="dialog" aria-modal="true" aria-label="${escapeHtml(this.heading)}">
370
+ <div part="header">
371
+ <h2 part="title">${escapeHtml(this.heading)}</h2>
372
+ <button type="button" part="close">Close</button>
373
+ </div>
374
+ ${groups.length
375
+ ? `<ul part="groups" role="list">${sections}</ul>`
376
+ : `<div part="empty">No keyboard shortcuts are defined.</div>`}
377
+ </div>
378
+ </div>
379
+ `;
380
+ if (justOpened) {
381
+ this.hostEl.querySelector('[part="close"]')?.focus();
382
+ }
383
+ }
384
+ }
385
+ ShortcutsOverlay.register();
@@ -1,6 +1,7 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
2
  export type TooltipTheme = "default" | "error" | "callout";
3
- export declare class BoxTooltipElement extends BaseElement {
3
+ export declare class Tooltip extends BaseElement {
4
+ static readonly tagName: string;
4
5
  static get observedAttributes(): string[];
5
6
  private positionCleanup;
6
7
  private openValue;
@@ -33,4 +34,3 @@ export declare class BoxTooltipElement extends BaseElement {
33
34
  private stopTracking;
34
35
  disconnectedCallback(): void;
35
36
  }
36
- export declare const defineBoxTooltipElement: (tagName?: string) => typeof BoxTooltipElement;
@@ -51,7 +51,7 @@ const tooltipStyles = `
51
51
  border-radius: ${boeRadius.xlarge};
52
52
  border: 1px solid color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 18%, rgba(255, 255, 255, 0.08));
53
53
  background: var(--boe-token-surface-tooltip-surface, #4e4e4e);
54
- color: rgba(255, 255, 255, 0.94);
54
+ color: #ffffff;
55
55
  box-shadow: 0 16px 28px rgba(16, 24, 32, 0.18);
56
56
  line-height: 1.45;
57
57
  }
@@ -80,7 +80,8 @@ const tooltipStyles = `
80
80
  display: none;
81
81
  }
82
82
  `;
83
- export class BoxTooltipElement extends BaseElement {
83
+ export class Tooltip extends BaseElement {
84
+ static tagName = DEFAULT_TAG_NAME;
84
85
  static get observedAttributes() {
85
86
  return ["label", "open", "trigger-label", "placement", "theme"];
86
87
  }
@@ -257,11 +258,4 @@ export class BoxTooltipElement extends BaseElement {
257
258
  super.disconnectedCallback?.();
258
259
  }
259
260
  }
260
- export const defineBoxTooltipElement = (tagName = DEFAULT_TAG_NAME) => {
261
- const existingElement = customElements.get(tagName);
262
- if (existingElement) {
263
- return existingElement;
264
- }
265
- customElements.define(tagName, BoxTooltipElement);
266
- return BoxTooltipElement;
267
- };
261
+ Tooltip.register();
@@ -1,5 +1,6 @@
1
1
  import { BaseElement } from "../../core/index.js";
2
- export declare class BoxIllustrationElement extends BaseElement {
2
+ export declare class Illustration extends BaseElement {
3
+ static readonly tagName: string;
3
4
  private readonly handleDesignSystemChange;
4
5
  static get observedAttributes(): string[];
5
6
  private figureEl;
@@ -23,4 +24,3 @@ export declare class BoxIllustrationElement extends BaseElement {
23
24
  protected renderTemplate(): void;
24
25
  protected update(): void;
25
26
  }
26
- export declare const defineBoxIllustrationElement: (tagName?: string) => typeof BoxIllustrationElement;
@@ -188,7 +188,8 @@ const illustrationStyles = `
188
188
  display: none;
189
189
  }
190
190
  `;
191
- export class BoxIllustrationElement extends BaseElement {
191
+ export class Illustration extends BaseElement {
192
+ static tagName = DEFAULT_TAG_NAME;
192
193
  handleDesignSystemChange = () => {
193
194
  this.update();
194
195
  };
@@ -309,11 +310,4 @@ export class BoxIllustrationElement extends BaseElement {
309
310
  }
310
311
  }
311
312
  }
312
- export const defineBoxIllustrationElement = (tagName = DEFAULT_TAG_NAME) => {
313
- const existingElement = customElements.get(tagName);
314
- if (existingElement) {
315
- return existingElement;
316
- }
317
- customElements.define(tagName, BoxIllustrationElement);
318
- return BoxIllustrationElement;
319
- };
313
+ Illustration.register();
@@ -1,4 +1,7 @@
1
- export declare abstract class BaseElement extends HTMLElement {
1
+ declare const HTMLElementBase: typeof HTMLElement;
2
+ export declare abstract class BaseElement extends HTMLElementBase {
3
+ static readonly tagName: string;
4
+ static register<T extends typeof BaseElement>(this: T, tagName?: string): T;
2
5
  protected isRendered: boolean;
3
6
  constructor();
4
7
  connectedCallback(): void;
@@ -20,3 +23,4 @@ export declare abstract class BaseElement extends HTMLElement {
20
23
  */
21
24
  protected abstract update(): void;
22
25
  }
26
+ export {};
@@ -1,4 +1,32 @@
1
- export class BaseElement extends HTMLElement {
1
+ const HTMLElementBase = (typeof globalThis.HTMLElement === "undefined" ? class {
2
+ } : globalThis.HTMLElement);
3
+ /**
4
+ * Registers a custom element when a browser registry is available.
5
+ *
6
+ * Component modules call this at import time. The browser guard keeps those
7
+ * modules safe to evaluate during SSR, while the existing-definition check
8
+ * makes repeated root and per-component imports idempotent.
9
+ */
10
+ const registerCustomElement = (tagName, constructor) => {
11
+ const registry = globalThis.customElements;
12
+ if (!registry) {
13
+ return constructor;
14
+ }
15
+ const existing = registry.get(tagName);
16
+ if (existing) {
17
+ return existing;
18
+ }
19
+ registry.define(tagName, constructor);
20
+ return constructor;
21
+ };
22
+ export class BaseElement extends HTMLElementBase {
23
+ static tagName = "";
24
+ static register(tagName = this.tagName) {
25
+ if (!tagName) {
26
+ throw new TypeError("Custom element classes must declare a tagName.");
27
+ }
28
+ return registerCustomElement(tagName, this);
29
+ }
2
30
  isRendered = false;
3
31
  constructor() {
4
32
  super();