@unofficialbox/box-open-elements 0.18.0 → 0.20.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 (217) hide show
  1. package/dist/components/actions/button-group.js +6 -0
  2. package/dist/components/actions/button.js +6 -0
  3. package/dist/components/actions/icon-button.js +6 -0
  4. package/dist/components/actions/link-button.js +6 -0
  5. package/dist/components/actions/menu-item.js +6 -0
  6. package/dist/components/actions/menu.js +6 -0
  7. package/dist/components/actions/segmented-control.js +6 -0
  8. package/dist/components/actions/toolbar.js +6 -0
  9. package/dist/components/collections/card.js +6 -0
  10. package/dist/components/collections/carousel.js +6 -0
  11. package/dist/components/collections/check-list.d.ts +10 -0
  12. package/dist/components/collections/check-list.js +8 -0
  13. package/dist/components/collections/datalist-item.js +6 -0
  14. package/dist/components/collections/document-list.d.ts +10 -0
  15. package/dist/components/collections/document-list.js +8 -0
  16. package/dist/components/collections/draggable-list.js +6 -0
  17. package/dist/components/collections/fact-list.d.ts +10 -0
  18. package/dist/components/collections/fact-list.js +8 -0
  19. package/dist/components/collections/grid-view.js +6 -0
  20. package/dist/components/collections/pagination.js +6 -0
  21. package/dist/components/collections/result-blocks.d.ts +54 -0
  22. package/dist/components/collections/result-blocks.js +71 -0
  23. package/dist/components/collections/table.js +6 -0
  24. package/dist/components/collections/thumbnail-card.js +6 -0
  25. package/dist/components/collections/tree-grid.js +6 -0
  26. package/dist/components/collections/tree.js +6 -0
  27. package/dist/components/feedback/alert.js +1 -1
  28. package/dist/components/feedback/badge.js +1 -1
  29. package/dist/components/feedback/badgeable.js +6 -0
  30. package/dist/components/feedback/chip.js +6 -0
  31. package/dist/components/feedback/due-badge.js +6 -0
  32. package/dist/components/feedback/empty-state.js +6 -0
  33. package/dist/components/feedback/error-mask.js +6 -0
  34. package/dist/components/feedback/help-text.js +6 -0
  35. package/dist/components/feedback/indicator.js +1 -1
  36. package/dist/components/feedback/nudge.js +6 -0
  37. package/dist/components/feedback/path.js +6 -0
  38. package/dist/components/feedback/progress-bar.d.ts +9 -0
  39. package/dist/components/feedback/progress-bar.js +35 -3
  40. package/dist/components/feedback/progress-ring.js +6 -0
  41. package/dist/components/feedback/progress-steps.js +6 -0
  42. package/dist/components/feedback/skeleton.js +6 -0
  43. package/dist/components/feedback/spinner.js +6 -0
  44. package/dist/components/feedback/status-icon.d.ts +10 -0
  45. package/dist/components/feedback/status-icon.js +26 -0
  46. package/dist/components/feedback/toast.js +1 -1
  47. package/dist/components/files/drop-zone.js +1 -1
  48. package/dist/components/forms/calendar.js +6 -0
  49. package/dist/components/forms/category-selector.js +6 -0
  50. package/dist/components/forms/checkbox-group.js +6 -0
  51. package/dist/components/forms/checkbox.js +6 -0
  52. package/dist/components/forms/color-picker.js +6 -0
  53. package/dist/components/forms/combobox.js +6 -0
  54. package/dist/components/forms/date-field.js +6 -0
  55. package/dist/components/forms/dropdown.js +6 -0
  56. package/dist/components/forms/dual-listbox.js +6 -0
  57. package/dist/components/forms/fieldset.js +6 -0
  58. package/dist/components/forms/multi-select.js +6 -0
  59. package/dist/components/forms/number-input.js +6 -0
  60. package/dist/components/forms/pill-cloud.js +6 -0
  61. package/dist/components/forms/pill-selector-dropdown.js +6 -0
  62. package/dist/components/forms/radio-group.js +6 -0
  63. package/dist/components/forms/range-slider.js +6 -0
  64. package/dist/components/forms/rating.js +6 -0
  65. package/dist/components/forms/rich-text-input.js +6 -0
  66. package/dist/components/forms/search-field.js +6 -0
  67. package/dist/components/forms/select.js +6 -0
  68. package/dist/components/forms/slider.js +6 -0
  69. package/dist/components/forms/spin-button.js +6 -0
  70. package/dist/components/forms/switch.js +6 -0
  71. package/dist/components/forms/tag-input.js +6 -0
  72. package/dist/components/forms/text-area.js +6 -0
  73. package/dist/components/forms/text-field.js +6 -0
  74. package/dist/components/forms/tile-group.js +1 -1
  75. package/dist/components/forms/time-field.js +6 -0
  76. package/dist/components/identity/avatar.js +6 -0
  77. package/dist/components/identity/contact-datalist-item.js +6 -0
  78. package/dist/components/identity/persona.js +6 -0
  79. package/dist/components/layout/app-shell.js +6 -0
  80. package/dist/components/layout/divider.js +6 -0
  81. package/dist/components/layout/grid.js +1 -1
  82. package/dist/components/layout/nav-sidebar.js +6 -0
  83. package/dist/components/layout/section.js +6 -0
  84. package/dist/components/layout/sidebar-toggle-button.js +6 -0
  85. package/dist/components/layout/split-view.js +6 -0
  86. package/dist/components/navigation/accordion.js +6 -0
  87. package/dist/components/navigation/breadcrumb.js +6 -0
  88. package/dist/components/navigation/tabs.js +6 -0
  89. package/dist/components/output/code-block.js +1 -1
  90. package/dist/components/output/formatted-value.js +1 -1
  91. package/dist/components/overlays/command-palette.js +6 -0
  92. package/dist/components/overlays/context-menu.js +6 -0
  93. package/dist/components/overlays/guide-tooltip.js +6 -0
  94. package/dist/components/overlays/popover.js +6 -0
  95. package/dist/components/overlays/shortcuts-overlay.js +6 -0
  96. package/dist/components/overlays/tooltip.js +6 -0
  97. package/dist/components/visuals/illustration.js +6 -0
  98. package/dist/element-maps.d.ts +39 -19
  99. package/dist/entries/agent-workspace.d.ts +1 -0
  100. package/dist/entries/agent-workspace.js +1 -0
  101. package/dist/entries/call-console.d.ts +1 -0
  102. package/dist/entries/call-console.js +1 -0
  103. package/dist/entries/check-list.d.ts +1 -0
  104. package/dist/entries/check-list.js +1 -0
  105. package/dist/entries/document-list.d.ts +1 -0
  106. package/dist/entries/document-list.js +1 -0
  107. package/dist/entries/fact-list.d.ts +1 -0
  108. package/dist/entries/fact-list.js +1 -0
  109. package/dist/entries/result-blocks.d.ts +1 -0
  110. package/dist/entries/result-blocks.js +1 -0
  111. package/dist/entries/run-summary.d.ts +1 -0
  112. package/dist/entries/run-summary.js +1 -0
  113. package/dist/entries/status-icon.d.ts +1 -0
  114. package/dist/entries/status-icon.js +1 -0
  115. package/dist/foundations/motion/behaviors.d.ts +8 -0
  116. package/dist/foundations/motion/behaviors.js +24 -0
  117. package/dist/foundations/motion/index.d.ts +2 -0
  118. package/dist/foundations/motion/index.js +2 -0
  119. package/dist/foundations/motion/scroll-pin.d.ts +19 -0
  120. package/dist/foundations/motion/scroll-pin.js +60 -0
  121. package/dist/foundations/motion/tokens.d.ts +2 -0
  122. package/dist/foundations/motion/tokens.js +2 -0
  123. package/dist/foundations/profiles/registry.d.ts +3 -0
  124. package/dist/foundations/profiles/registry.js +3 -0
  125. package/dist/foundations/profiles/types.d.ts +3 -0
  126. package/dist/foundations/status/index.d.ts +6 -0
  127. package/dist/foundations/status/index.js +33 -0
  128. package/dist/index.d.ts +10 -0
  129. package/dist/index.js +10 -0
  130. package/dist/patterns/agent-chat/agent-chat.d.ts +9 -0
  131. package/dist/patterns/agent-chat/agent-chat.js +141 -21
  132. package/dist/patterns/agent-chat/controller.d.ts +3 -1
  133. package/dist/patterns/agent-chat/controller.js +92 -16
  134. package/dist/patterns/agent-chat/index.d.ts +1 -0
  135. package/dist/patterns/agent-chat/index.js +1 -0
  136. package/dist/patterns/agent-chat/ndjson.d.ts +5 -0
  137. package/dist/patterns/agent-chat/ndjson.js +41 -0
  138. package/dist/patterns/agent-chat/types.d.ts +44 -1
  139. package/dist/patterns/agent-workspace/agent-workspace.d.ts +28 -0
  140. package/dist/patterns/agent-workspace/agent-workspace.js +215 -0
  141. package/dist/patterns/agent-workspace/controller.d.ts +38 -0
  142. package/dist/patterns/agent-workspace/controller.js +65 -0
  143. package/dist/patterns/agent-workspace/index.d.ts +2 -0
  144. package/dist/patterns/agent-workspace/index.js +2 -0
  145. package/dist/patterns/audit/activity-density.js +6 -0
  146. package/dist/patterns/audit/audit-log.js +6 -0
  147. package/dist/patterns/call-console/call-console.d.ts +17 -0
  148. package/dist/patterns/call-console/call-console.js +107 -0
  149. package/dist/patterns/call-console/controller.d.ts +23 -0
  150. package/dist/patterns/call-console/controller.js +50 -0
  151. package/dist/patterns/call-console/http-transport.d.ts +3 -0
  152. package/dist/patterns/call-console/http-transport.js +26 -0
  153. package/dist/patterns/call-console/index.d.ts +4 -0
  154. package/dist/patterns/call-console/index.js +4 -0
  155. package/dist/patterns/call-console/types.d.ts +32 -0
  156. package/dist/patterns/call-console/types.js +8 -0
  157. package/dist/patterns/comments/comment-thread.js +6 -0
  158. package/dist/patterns/content-explorer/adapters/action-menu.js +6 -0
  159. package/dist/patterns/content-explorer/adapters/breadcrumbs.js +6 -0
  160. package/dist/patterns/content-explorer/adapters/list.js +6 -0
  161. package/dist/patterns/content-explorer/adapters/table.js +6 -0
  162. package/dist/patterns/content-explorer/adapters/toolbar.js +6 -0
  163. package/dist/patterns/content-explorer/content-explorer.js +6 -0
  164. package/dist/patterns/content-picker/content-picker.js +6 -0
  165. package/dist/patterns/content-sidebar/content-sidebar.js +6 -0
  166. package/dist/patterns/content-uploader/content-uploader.js +8 -1
  167. package/dist/patterns/diff/compare-view.js +6 -0
  168. package/dist/patterns/diff/diff-viewer.js +6 -0
  169. package/dist/patterns/file-request/file-request-builder.js +6 -0
  170. package/dist/patterns/form-wizard/form-wizard.js +6 -0
  171. package/dist/patterns/form-wizard/wizard-summary.js +6 -0
  172. package/dist/patterns/governance/governance-panel.js +6 -0
  173. package/dist/patterns/insights/bar-chart.js +6 -0
  174. package/dist/patterns/insights/chart-panel.js +6 -0
  175. package/dist/patterns/insights/donut-chart.js +6 -0
  176. package/dist/patterns/insights/line-chart.js +6 -0
  177. package/dist/patterns/insights/metric-card.js +6 -0
  178. package/dist/patterns/item/bulk-action-bar.js +6 -0
  179. package/dist/patterns/item/item-details-panel.js +6 -0
  180. package/dist/patterns/item/item-form.js +6 -0
  181. package/dist/patterns/item/preview-header.js +6 -0
  182. package/dist/patterns/lineage/lineage-graph.js +6 -0
  183. package/dist/patterns/lineage/provenance-strip.js +6 -0
  184. package/dist/patterns/metadata/metadata-filter-builder.js +6 -0
  185. package/dist/patterns/metadata/metadata-inspector.js +6 -0
  186. package/dist/patterns/notifications/notification-bell.js +6 -0
  187. package/dist/patterns/notifications/notification-inbox.js +6 -0
  188. package/dist/patterns/preview/annotation-inspector.js +6 -0
  189. package/dist/patterns/preview/annotation-toolbar.js +6 -0
  190. package/dist/patterns/preview/preview-element.js +6 -0
  191. package/dist/patterns/run/index.d.ts +2 -0
  192. package/dist/patterns/run/index.js +2 -0
  193. package/dist/patterns/run/progress.d.ts +24 -0
  194. package/dist/patterns/run/progress.js +32 -0
  195. package/dist/patterns/run/run-summary.d.ts +21 -0
  196. package/dist/patterns/run/run-summary.js +82 -0
  197. package/dist/patterns/run/run-trace.d.ts +1 -0
  198. package/dist/patterns/run/run-trace.js +20 -3
  199. package/dist/patterns/search/filter-bar.js +6 -0
  200. package/dist/patterns/search/saved-view-picker.js +6 -0
  201. package/dist/patterns/search/search-results-header.js +6 -0
  202. package/dist/patterns/share/access-stats.js +6 -0
  203. package/dist/patterns/share/collaborator-avatars.js +6 -0
  204. package/dist/patterns/share/invite-collaborators-modal.js +6 -0
  205. package/dist/patterns/share/permission-matrix.js +6 -0
  206. package/dist/patterns/share/presence.js +6 -0
  207. package/dist/patterns/share/share-panel.js +6 -0
  208. package/dist/patterns/share/unified-share-modal.js +6 -0
  209. package/dist/patterns/signature/signature-ceremony.js +6 -0
  210. package/dist/patterns/task/review-queue-item.js +6 -0
  211. package/dist/patterns/task/task-assignment-panel.js +6 -0
  212. package/dist/patterns/timeline/timeline.js +6 -0
  213. package/dist/patterns/versions/version-graph.js +6 -0
  214. package/dist/patterns/versions/version-list.js +6 -0
  215. package/dist/patterns/work-queue/work-queue.js +6 -0
  216. package/dist/patterns/work-queue/workload-board.js +6 -0
  217. package/package.json +13 -1
@@ -9,6 +9,12 @@ const progressBarStyles = `
9
9
  font: inherit;
10
10
  }
11
11
 
12
+ /* The host's own display would otherwise beat the UA rule for [hidden],
13
+ leaving the element on screen when a host hides it. */
14
+ :host([hidden]) {
15
+ display: none !important;
16
+ }
17
+
12
18
  [part="progress"] {
13
19
  display: grid;
14
20
  gap: 0.45rem;
@@ -29,6 +35,14 @@ const progressBarStyles = `
29
35
  color: var(--boe-token-text-text-secondary, #6f6f6f);
30
36
  }
31
37
 
38
+ /* Fully hidden rather than the sr-only clip the form fields use. There the
39
+ label element *is* the control's accessible name, so it has to stay
40
+ readable; here the name lives on [part="track"]'s aria-label, and leaving
41
+ a clipped copy behind would just make a screen reader read it twice. */
42
+ :host([hide-label]) [part="label"] {
43
+ display: none;
44
+ }
45
+
32
46
  [part="value"] {
33
47
  font-size: 0.86rem;
34
48
  font-weight: 700;
@@ -55,7 +69,7 @@ const progressBarStyles = `
55
69
  export class ProgressBar extends BaseElement {
56
70
  static tagName = DEFAULT_TAG_NAME;
57
71
  static get observedAttributes() {
58
- return ["label", "max", "value"];
72
+ return ["hide-label", "label", "max", "value"];
59
73
  }
60
74
  progressEl;
61
75
  labelEl;
@@ -68,6 +82,19 @@ export class ProgressBar extends BaseElement {
68
82
  set label(value) {
69
83
  this.setAttribute("label", value);
70
84
  }
85
+ /**
86
+ * Keep the label as the bar's accessible name but drop it from the layout.
87
+ *
88
+ * For a bar sitting under something that already names it — an upload row
89
+ * showing the filename above it — the visible label is a second copy of text
90
+ * the reader can already see.
91
+ */
92
+ get hideLabel() {
93
+ return this.hasAttribute("hide-label");
94
+ }
95
+ set hideLabel(value) {
96
+ this.toggleAttribute("hide-label", Boolean(value));
97
+ }
71
98
  get max() {
72
99
  return Number(this.getAttribute("max") ?? "100");
73
100
  }
@@ -86,7 +113,7 @@ export class ProgressBar extends BaseElement {
86
113
  }
87
114
  this.shadowRoot.innerHTML = `
88
115
  <style>${progressBarStyles}</style>
89
- <div part="progress" role="group">
116
+ <div part="progress">
90
117
  <div part="meta">
91
118
  <span part="label"></span>
92
119
  <span part="value"></span>
@@ -109,7 +136,12 @@ export class ProgressBar extends BaseElement {
109
136
  const max = Math.max(1, this.max);
110
137
  const value = clamp(this.value, 0, max);
111
138
  const percentage = Math.round((value / max) * 100);
112
- this.progressEl.setAttribute("aria-label", `${this.label} progress`);
139
+ // The name belongs to [part="track"] — the element carrying the
140
+ // progressbar role — and to nothing else. The wrapper used to be a
141
+ // role="group" named `${label} progress`, which both duplicated that name
142
+ // and stuttered: the default label is "Progress", so it announced
143
+ // "Progress progress", and the uploader's "<file> upload progress" became
144
+ // "<file> upload progress progress".
113
145
  this.labelEl.textContent = this.label;
114
146
  this.valueEl.textContent = `${percentage}%`;
115
147
  this.trackEl.setAttribute("aria-label", this.label);
@@ -9,6 +9,12 @@ const progressRingStyles = `
9
9
  font: inherit;
10
10
  }
11
11
 
12
+ /* The host's own display would otherwise beat the UA rule for [hidden],
13
+ leaving the element on screen when a host hides it. */
14
+ :host([hidden]) {
15
+ display: none !important;
16
+ }
17
+
12
18
  [part="ring"] {
13
19
  display: inline-grid;
14
20
  place-items: center;
@@ -59,6 +59,12 @@ const progressStepsStyles = `
59
59
  font: inherit;
60
60
  }
61
61
 
62
+ /* The host's own display would otherwise beat the UA rule for [hidden],
63
+ leaving the element on screen when a host hides it. */
64
+ :host([hidden]) {
65
+ display: none !important;
66
+ }
67
+
62
68
  [part="steps"] {
63
69
  display: grid;
64
70
  gap: 0.55rem;
@@ -36,6 +36,12 @@ const skeletonStyles = `
36
36
 
37
37
  }
38
38
 
39
+ /* The host's own display would otherwise beat the UA rule for [hidden],
40
+ leaving the element on screen when a host hides it. */
41
+ :host([hidden]) {
42
+ display: none !important;
43
+ }
44
+
39
45
  ${boeGridGutterStyles(":host")}
40
46
 
41
47
  /* The multi-part variants are layout, so they take the full width they are
@@ -8,6 +8,12 @@ const spinnerStyles = `
8
8
  font: inherit;
9
9
  }
10
10
 
11
+ /* The host's own display would otherwise beat the UA rule for [hidden],
12
+ leaving the element on screen when a host hides it. */
13
+ :host([hidden]) {
14
+ display: none !important;
15
+ }
16
+
11
17
  [part="spinner"] {
12
18
  display: inline-flex;
13
19
  align-items: center;
@@ -0,0 +1,10 @@
1
+ import { BaseElement } from "../../core/element.js";
2
+ import { type StatusKind } from "../../foundations/status/index.js";
3
+ export declare class StatusIcon extends BaseElement {
4
+ static readonly tagName = "box-status-icon";
5
+ static get observedAttributes(): string[];
6
+ get kind(): StatusKind;
7
+ set kind(value: StatusKind);
8
+ protected renderTemplate(): void;
9
+ protected update(): void;
10
+ }
@@ -0,0 +1,26 @@
1
+ import { BaseElement } from "../../core/element.js";
2
+ import { boeStatusGlyph, boeStatusStyles, statusLabel, toStatusKind } from "../../foundations/status/index.js";
3
+ import { boeEntranceKeyframes, boeReducedMotionPolicy } from "../../foundations/motion/index.js";
4
+ const DEFAULT_TAG_NAME = "box-status-icon";
5
+ export class StatusIcon extends BaseElement {
6
+ static tagName = DEFAULT_TAG_NAME;
7
+ static get observedAttributes() { return ["kind"]; }
8
+ get kind() { return toStatusKind(this.getAttribute("kind") ?? "pending"); }
9
+ set kind(value) { this.setAttribute("kind", value); }
10
+ renderTemplate() {
11
+ this.shadowRoot.innerHTML = `<style>:host{display:inline-flex} :host([hidden]){display:none !important}
12
+ .label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
13
+ ${boeEntranceKeyframes}${boeStatusStyles}${boeReducedMotionPolicy}</style><span part="glyph"></span><span class="label" part="label"></span>`;
14
+ }
15
+ update() {
16
+ if (!this.isRendered)
17
+ return;
18
+ const glyph = this.shadowRoot.querySelector('[part="glyph"]');
19
+ if (glyph.getAttribute("data-kind") !== this.kind) {
20
+ glyph.setAttribute("data-kind", this.kind);
21
+ glyph.innerHTML = boeStatusGlyph(this.kind);
22
+ }
23
+ this.shadowRoot.querySelector('[part="label"]').textContent = statusLabel(this.kind);
24
+ }
25
+ }
26
+ StatusIcon.register();
@@ -18,7 +18,7 @@ const toastStyles = `
18
18
  }
19
19
 
20
20
  :host([hidden]) {
21
- display: none;
21
+ display: none !important;
22
22
  }
23
23
 
24
24
  /* Fill, text colour and shadow track box-ui-elements' .notification and are
@@ -14,7 +14,7 @@ const dropZoneStyles = `
14
14
  /* Without this, the host's own display:block beats the UA rule for [hidden]
15
15
  and the element stays visible when a host hides it. */
16
16
  :host([hidden]) {
17
- display: none;
17
+ display: none !important;
18
18
  }
19
19
 
20
20
  [part="zone"] {
@@ -54,6 +54,12 @@ const calendarStyles = `
54
54
  font: inherit;
55
55
  }
56
56
 
57
+ /* The host's own display would otherwise beat the UA rule for [hidden],
58
+ leaving the element on screen when a host hides it. */
59
+ :host([hidden]) {
60
+ display: none !important;
61
+ }
62
+
57
63
  [part="calendar"] {
58
64
  display: grid;
59
65
  gap: 0.55rem;
@@ -17,6 +17,12 @@ const categorySelectorStyles = `
17
17
  font: inherit;
18
18
  }
19
19
 
20
+ /* The host's own display would otherwise beat the UA rule for [hidden],
21
+ leaving the element on screen when a host hides it. */
22
+ :host([hidden]) {
23
+ display: none !important;
24
+ }
25
+
20
26
  [part="group"] {
21
27
  display: flex;
22
28
  flex-wrap: wrap;
@@ -16,6 +16,12 @@ const checkboxGroupStyles = `
16
16
  font: inherit;
17
17
  }
18
18
 
19
+ /* The host's own display would otherwise beat the UA rule for [hidden],
20
+ leaving the element on screen when a host hides it. */
21
+ :host([hidden]) {
22
+ display: none !important;
23
+ }
24
+
19
25
  [part="group"] {
20
26
  margin: 0;
21
27
  padding: 0;
@@ -12,6 +12,12 @@ const checkboxStyles = `
12
12
  font: inherit;
13
13
  }
14
14
 
15
+ /* The host's own display would otherwise beat the UA rule for [hidden],
16
+ leaving the element on screen when a host hides it. */
17
+ :host([hidden]) {
18
+ display: none !important;
19
+ }
20
+
15
21
  [part="field"] {
16
22
  display: inline-flex;
17
23
  align-items: center;
@@ -22,6 +22,12 @@ const colorPickerStyles = `
22
22
  font: inherit;
23
23
  }
24
24
 
25
+ /* The host's own display would otherwise beat the UA rule for [hidden],
26
+ leaving the element on screen when a host hides it. */
27
+ :host([hidden]) {
28
+ display: none !important;
29
+ }
30
+
25
31
  [part="field"] {
26
32
  display: grid;
27
33
  gap: 0.5rem;
@@ -17,6 +17,12 @@ const comboboxStyles = `
17
17
  font: inherit;
18
18
  }
19
19
 
20
+ /* The host's own display would otherwise beat the UA rule for [hidden],
21
+ leaving the element on screen when a host hides it. */
22
+ :host([hidden]) {
23
+ display: none !important;
24
+ }
25
+
20
26
  [part="field"] {
21
27
  display: grid;
22
28
  gap: 0.45rem;
@@ -10,6 +10,12 @@ const dateFieldStyles = `
10
10
  font: inherit;
11
11
  }
12
12
 
13
+ /* The host's own display would otherwise beat the UA rule for [hidden],
14
+ leaving the element on screen when a host hides it. */
15
+ :host([hidden]) {
16
+ display: none !important;
17
+ }
18
+
13
19
  [part="field"] {
14
20
  display: grid;
15
21
  gap: 0.45rem;
@@ -18,6 +18,12 @@ const dropdownStyles = `
18
18
  font: inherit;
19
19
  }
20
20
 
21
+ /* The host's own display would otherwise beat the UA rule for [hidden],
22
+ leaving the element on screen when a host hides it. */
23
+ :host([hidden]) {
24
+ display: none !important;
25
+ }
26
+
21
27
  [part="dropdown"] {
22
28
  position: relative;
23
29
  display: inline-block;
@@ -20,6 +20,12 @@ const dualListboxStyles = `
20
20
  font: inherit;
21
21
  }
22
22
 
23
+ /* The host's own display would otherwise beat the UA rule for [hidden],
24
+ leaving the element on screen when a host hides it. */
25
+ :host([hidden]) {
26
+ display: none !important;
27
+ }
28
+
23
29
  [part="field"] {
24
30
  margin: 0;
25
31
  padding: 0;
@@ -8,6 +8,12 @@ const fieldsetStyles = `
8
8
  font: inherit;
9
9
  }
10
10
 
11
+ /* The host's own display would otherwise beat the UA rule for [hidden],
12
+ leaving the element on screen when a host hides it. */
13
+ :host([hidden]) {
14
+ display: none !important;
15
+ }
16
+
11
17
  [part="fieldset"] {
12
18
  margin: 0;
13
19
  padding: 0;
@@ -16,6 +16,12 @@ const multiSelectStyles = `
16
16
  font: inherit;
17
17
  }
18
18
 
19
+ /* The host's own display would otherwise beat the UA rule for [hidden],
20
+ leaving the element on screen when a host hides it. */
21
+ :host([hidden]) {
22
+ display: none !important;
23
+ }
24
+
19
25
  [part="field"] {
20
26
  margin: 0;
21
27
  padding: 0;
@@ -17,6 +17,12 @@ const numberInputStyles = `
17
17
  font: inherit;
18
18
  }
19
19
 
20
+ /* The host's own display would otherwise beat the UA rule for [hidden],
21
+ leaving the element on screen when a host hides it. */
22
+ :host([hidden]) {
23
+ display: none !important;
24
+ }
25
+
20
26
  [part="field"] {
21
27
  display: grid;
22
28
  gap: 0.45rem;
@@ -14,6 +14,12 @@ const pillCloudStyles = `
14
14
  font: inherit;
15
15
  }
16
16
 
17
+ /* The host's own display would otherwise beat the UA rule for [hidden],
18
+ leaving the element on screen when a host hides it. */
19
+ :host([hidden]) {
20
+ display: none !important;
21
+ }
22
+
17
23
  [part="cloud"] {
18
24
  display: flex;
19
25
  flex-wrap: wrap;
@@ -14,6 +14,12 @@ const pillSelectorStyles = `
14
14
  font: inherit;
15
15
  }
16
16
 
17
+ /* The host's own display would otherwise beat the UA rule for [hidden],
18
+ leaving the element on screen when a host hides it. */
19
+ :host([hidden]) {
20
+ display: none !important;
21
+ }
22
+
17
23
  [part="field"] {
18
24
  display: flex;
19
25
  flex-wrap: wrap;
@@ -16,6 +16,12 @@ const radioGroupStyles = `
16
16
  font: inherit;
17
17
  }
18
18
 
19
+ /* The host's own display would otherwise beat the UA rule for [hidden],
20
+ leaving the element on screen when a host hides it. */
21
+ :host([hidden]) {
22
+ display: none !important;
23
+ }
24
+
19
25
  [part="group"] {
20
26
  margin: 0;
21
27
  padding: 0;
@@ -15,6 +15,12 @@ const rangeSliderStyles = `
15
15
  font: inherit;
16
16
  }
17
17
 
18
+ /* The host's own display would otherwise beat the UA rule for [hidden],
19
+ leaving the element on screen when a host hides it. */
20
+ :host([hidden]) {
21
+ display: none !important;
22
+ }
23
+
18
24
  [part="field"] {
19
25
  display: grid;
20
26
  gap: 0.45rem;
@@ -9,6 +9,12 @@ const ratingStyles = `
9
9
  font: inherit;
10
10
  }
11
11
 
12
+ /* The host's own display would otherwise beat the UA rule for [hidden],
13
+ leaving the element on screen when a host hides it. */
14
+ :host([hidden]) {
15
+ display: none !important;
16
+ }
17
+
12
18
  [part="field"] {
13
19
  display: grid;
14
20
  gap: 0.5rem;
@@ -92,6 +92,12 @@ const richTextStyles = `
92
92
  font: inherit;
93
93
  }
94
94
 
95
+ /* The host's own display would otherwise beat the UA rule for [hidden],
96
+ leaving the element on screen when a host hides it. */
97
+ :host([hidden]) {
98
+ display: none !important;
99
+ }
100
+
95
101
  [part="field"] {
96
102
  margin: 0;
97
103
  padding: 0;
@@ -10,6 +10,12 @@ const searchFieldStyles = `
10
10
  font: inherit;
11
11
  }
12
12
 
13
+ /* The host's own display would otherwise beat the UA rule for [hidden],
14
+ leaving the element on screen when a host hides it. */
15
+ :host([hidden]) {
16
+ display: none !important;
17
+ }
18
+
13
19
  [part="field"] {
14
20
  display: grid;
15
21
  gap: 0.45rem;
@@ -24,6 +24,12 @@ const selectStyles = `
24
24
  font: inherit;
25
25
  }
26
26
 
27
+ /* The host's own display would otherwise beat the UA rule for [hidden],
28
+ leaving the element on screen when a host hides it. */
29
+ :host([hidden]) {
30
+ display: none !important;
31
+ }
32
+
27
33
  [part="field"] {
28
34
  display: grid;
29
35
  gap: ${boeSpace[2]};
@@ -15,6 +15,12 @@ const sliderStyles = `
15
15
  font: inherit;
16
16
  }
17
17
 
18
+ /* The host's own display would otherwise beat the UA rule for [hidden],
19
+ leaving the element on screen when a host hides it. */
20
+ :host([hidden]) {
21
+ display: none !important;
22
+ }
23
+
18
24
  [part="field"] {
19
25
  display: grid;
20
26
  gap: 0.45rem;
@@ -16,6 +16,12 @@ const spinButtonStyles = `
16
16
  font: inherit;
17
17
  }
18
18
 
19
+ /* The host's own display would otherwise beat the UA rule for [hidden],
20
+ leaving the element on screen when a host hides it. */
21
+ :host([hidden]) {
22
+ display: none !important;
23
+ }
24
+
19
25
  [part="field"] {
20
26
  display: grid;
21
27
  gap: 0.45rem;
@@ -17,6 +17,12 @@ const switchStyles = `
17
17
  font: inherit;
18
18
  }
19
19
 
20
+ /* The host's own display would otherwise beat the UA rule for [hidden],
21
+ leaving the element on screen when a host hides it. */
22
+ :host([hidden]) {
23
+ display: none !important;
24
+ }
25
+
20
26
  [part="switch"] {
21
27
  appearance: none;
22
28
  border: none;
@@ -19,6 +19,12 @@ const tagInputStyles = `
19
19
  font: inherit;
20
20
  }
21
21
 
22
+ /* The host's own display would otherwise beat the UA rule for [hidden],
23
+ leaving the element on screen when a host hides it. */
24
+ :host([hidden]) {
25
+ display: none !important;
26
+ }
27
+
22
28
  [part="field"] {
23
29
  display: grid;
24
30
  gap: 0.45rem;
@@ -9,6 +9,12 @@ const textAreaStyles = `
9
9
  font: inherit;
10
10
  }
11
11
 
12
+ /* The host's own display would otherwise beat the UA rule for [hidden],
13
+ leaving the element on screen when a host hides it. */
14
+ :host([hidden]) {
15
+ display: none !important;
16
+ }
17
+
12
18
  [part="field"] {
13
19
  display: grid;
14
20
  gap: 0.45rem;
@@ -13,6 +13,12 @@ const textFieldStyles = `
13
13
  font: inherit;
14
14
  }
15
15
 
16
+ /* The host's own display would otherwise beat the UA rule for [hidden],
17
+ leaving the element on screen when a host hides it. */
18
+ :host([hidden]) {
19
+ display: none !important;
20
+ }
21
+
16
22
  [part="field"] {
17
23
  display: grid;
18
24
  gap: ${boeSpace[2]};
@@ -24,7 +24,7 @@ const tileStyles = `
24
24
  }
25
25
 
26
26
  :host([hidden]) {
27
- display: none;
27
+ display: none !important;
28
28
  }
29
29
 
30
30
  [part="group"] {
@@ -9,6 +9,12 @@ const timeFieldStyles = `
9
9
  font: inherit;
10
10
  }
11
11
 
12
+ /* The host's own display would otherwise beat the UA rule for [hidden],
13
+ leaving the element on screen when a host hides it. */
14
+ :host([hidden]) {
15
+ display: none !important;
16
+ }
17
+
12
18
  [part="field"] {
13
19
  display: grid;
14
20
  gap: 0.45rem;
@@ -39,6 +39,12 @@ const avatarStyles = `
39
39
  font: inherit;
40
40
  }
41
41
 
42
+ /* The host's own display would otherwise beat the UA rule for [hidden],
43
+ leaving the element on screen when a host hides it. */
44
+ :host([hidden]) {
45
+ display: none !important;
46
+ }
47
+
42
48
  [part="avatar"] {
43
49
  position: relative;
44
50
  display: inline-grid;
@@ -16,6 +16,12 @@ const contactStyles = `
16
16
  font: inherit;
17
17
  }
18
18
 
19
+ /* The host's own display would otherwise beat the UA rule for [hidden],
20
+ leaving the element on screen when a host hides it. */
21
+ :host([hidden]) {
22
+ display: none !important;
23
+ }
24
+
19
25
  [part="item"] {
20
26
  display: flex;
21
27
  align-items: center;
@@ -20,6 +20,12 @@ const personaStyles = `
20
20
  font: inherit;
21
21
  }
22
22
 
23
+ /* The host's own display would otherwise beat the UA rule for [hidden],
24
+ leaving the element on screen when a host hides it. */
25
+ :host([hidden]) {
26
+ display: none !important;
27
+ }
28
+
23
29
  [part="persona"] {
24
30
  display: grid;
25
31
  grid-template-columns: auto minmax(0, 1fr) auto;
@@ -8,6 +8,12 @@ const appShellStyles = `
8
8
  font: inherit;
9
9
  }
10
10
 
11
+ /* The host's own display would otherwise beat the UA rule for [hidden],
12
+ leaving the element on screen when a host hides it. */
13
+ :host([hidden]) {
14
+ display: none !important;
15
+ }
16
+
11
17
  [part="shell"] {
12
18
  display: grid;
13
19
  grid-template-rows: auto 1fr auto;
@@ -15,6 +15,12 @@ const dividerStyles = `
15
15
  font: inherit;
16
16
  }
17
17
 
18
+ /* The host's own display would otherwise beat the UA rule for [hidden],
19
+ leaving the element on screen when a host hides it. */
20
+ :host([hidden]) {
21
+ display: none !important;
22
+ }
23
+
18
24
  :host([orientation="vertical"]) {
19
25
  display: inline-block;
20
26
  inline-size: auto;
@@ -41,7 +41,7 @@ const elementStyles = `
41
41
  }
42
42
 
43
43
  :host([hidden]) {
44
- display: none;
44
+ display: none !important;
45
45
  }
46
46
 
47
47
  ${boeGridGutterStyles(":host")}