@unofficialbox/box-open-elements 0.23.0 → 0.25.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 (54) hide show
  1. package/README.md +15 -13
  2. package/dist/components/actions/button.d.ts +1 -0
  3. package/dist/components/actions/button.js +16 -3
  4. package/dist/components/actions/segmented-control.d.ts +1 -0
  5. package/dist/components/actions/segmented-control.js +20 -6
  6. package/dist/components/feedback/alert.js +1 -1
  7. package/dist/components/feedback/progress-bar.js +2 -2
  8. package/dist/components/forms/checkbox.d.ts +1 -0
  9. package/dist/components/forms/checkbox.js +6 -2
  10. package/dist/components/forms/code-editor.d.ts +86 -0
  11. package/dist/components/forms/code-editor.js +447 -0
  12. package/dist/components/forms/combobox.js +7 -8
  13. package/dist/components/forms/number-input.d.ts +1 -0
  14. package/dist/components/forms/number-input.js +8 -2
  15. package/dist/components/forms/select.d.ts +1 -0
  16. package/dist/components/forms/select.js +3 -1
  17. package/dist/components/forms/text-area.js +5 -7
  18. package/dist/components/forms/text-field.d.ts +1 -0
  19. package/dist/components/forms/text-field.js +2 -0
  20. package/dist/components/navigation/accordion.d.ts +7 -0
  21. package/dist/components/navigation/accordion.js +31 -8
  22. package/dist/components/output/code-block.js +3 -1
  23. package/dist/components/overlays/drawer.js +2 -2
  24. package/dist/core/form-associated.d.ts +1 -0
  25. package/dist/core/form-associated.js +3 -0
  26. package/dist/entries/code-editor.d.ts +1 -0
  27. package/dist/entries/code-editor.js +1 -0
  28. package/dist/foundations/geometry/tokens.d.ts +2 -2
  29. package/dist/foundations/geometry/tokens.js +3 -3
  30. package/dist/foundations/icons/box-iconography.generated.js +1 -0
  31. package/dist/foundations/icons/glyphs/constants.d.ts +472 -0
  32. package/dist/foundations/icons/glyphs/constants.js +473 -0
  33. package/dist/foundations/icons/glyphs/index.d.ts +1 -1
  34. package/dist/foundations/icons/glyphs/index.js +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.js +1 -0
  37. package/dist/patterns/flow-builder/flow-builder.d.ts +7 -1
  38. package/dist/patterns/flow-builder/flow-builder.js +32 -15
  39. package/dist/patterns/flow-builder/model.d.ts +2 -0
  40. package/dist/patterns/flow-builder/model.js +3 -3
  41. package/dist/patterns/flow-builder/primitives.d.ts +1 -0
  42. package/dist/patterns/flow-builder/primitives.js +5 -4
  43. package/dist/patterns/insights/metric-card.js +2 -2
  44. package/dist/patterns/process-modeler/bridge.d.ts +10 -0
  45. package/dist/patterns/process-modeler/bridge.js +173 -0
  46. package/dist/patterns/process-modeler/geometry.d.ts +18 -0
  47. package/dist/patterns/process-modeler/geometry.js +307 -0
  48. package/dist/patterns/process-modeler/index.d.ts +4 -0
  49. package/dist/patterns/process-modeler/index.js +4 -0
  50. package/dist/patterns/process-modeler/model.d.ts +135 -0
  51. package/dist/patterns/process-modeler/model.js +113 -0
  52. package/dist/patterns/process-modeler/process-modeler.d.ts +130 -0
  53. package/dist/patterns/process-modeler/process-modeler.js +1507 -0
  54. package/package.json +21 -3
@@ -66,6 +66,10 @@ const accordionStyles = `
66
66
  [part="heading"] {
67
67
  font-weight: 600;
68
68
  }
69
+ [part="summary"] {
70
+ color: var(--boe-token-text-text-secondary, #6f6f6f);
71
+ font-weight: 400;
72
+ }
69
73
 
70
74
  [part="indicator"] {
71
75
  inline-size: 1.35rem;
@@ -103,7 +107,7 @@ const accordionStyles = `
103
107
  export class Accordion extends BaseElement {
104
108
  static tagName = DEFAULT_TAG_NAME;
105
109
  static get observedAttributes() {
106
- return ["items", "label", "value", "borderless"];
110
+ return ["items", "label", "value", "values", "multiple", "borderless"];
107
111
  }
108
112
  /** Flat variant with no outer card border/background. */
109
113
  get borderless() {
@@ -113,6 +117,12 @@ export class Accordion extends BaseElement {
113
117
  this.toggleAttribute("borderless", Boolean(value));
114
118
  }
115
119
  valueInternal = "";
120
+ valuesInternal = [];
121
+ get multiple() { return this.hasAttribute("multiple"); }
122
+ set multiple(value) { this.toggleAttribute("multiple", value); }
123
+ get values() { return [...this.valuesInternal]; }
124
+ set values(value) { this.setAttribute("values", JSON.stringify([...new Set(value)])); }
125
+ isOpen(value) { return this.multiple ? this.valuesInternal.includes(value) : value === this.valueInternal; }
116
126
  lastItemsJson = "";
117
127
  accordionEl;
118
128
  get label() {
@@ -151,12 +161,21 @@ export class Accordion extends BaseElement {
151
161
  if (name === "value") {
152
162
  this.valueInternal = this.getAttribute("value") ?? "";
153
163
  }
164
+ if (name === "values") {
165
+ try {
166
+ const values = JSON.parse(newValue ?? "[]");
167
+ this.valuesInternal = Array.isArray(values) ? [...new Set(values.filter((v) => typeof v === "string"))] : [];
168
+ }
169
+ catch {
170
+ this.valuesInternal = [];
171
+ }
172
+ }
154
173
  super.attributeChangedCallback(name, oldValue, newValue);
155
174
  }
156
- renderItemsMarkup(items, selectedValue) {
175
+ renderItemsMarkup(items) {
157
176
  return items
158
177
  .map(item => {
159
- const isOpen = item.value === selectedValue;
178
+ const isOpen = this.isOpen(item.value);
160
179
  const panelId = `panel-${escapeHtml(item.value)}`;
161
180
  const triggerId = `trigger-${escapeHtml(item.value)}`;
162
181
  return `
@@ -170,7 +189,7 @@ export class Accordion extends BaseElement {
170
189
  aria-expanded="${String(isOpen)}"
171
190
  aria-controls="${panelId}"
172
191
  >
173
- ${escapeHtml(item.label)}
192
+ <span part="label">${escapeHtml(item.label)}${item.summary ? ` <span part="summary">${escapeHtml(item.summary)}</span>` : ""}</span>
174
193
  <span part="indicator" aria-hidden="true">${isOpen ? "−" : "+"}</span>
175
194
  </button>
176
195
  </h3>
@@ -206,6 +225,11 @@ export class Accordion extends BaseElement {
206
225
  if (!nextValue) {
207
226
  return;
208
227
  }
228
+ if (this.multiple) {
229
+ this.values = this.isOpen(nextValue) ? this.valuesInternal.filter(value => value !== nextValue) : [...this.valuesInternal, nextValue];
230
+ this.dispatchEvent(new CustomEvent("values-changed", { detail: { values: this.values }, bubbles: true, composed: true }));
231
+ return;
232
+ }
209
233
  if (nextValue === this.valueInternal) {
210
234
  this.valueInternal = "";
211
235
  this.setAttribute("value", "");
@@ -233,22 +257,21 @@ export class Accordion extends BaseElement {
233
257
  }
234
258
  const items = this.items;
235
259
  const itemsJson = this.getAttribute("items") ?? "";
236
- if (!this.hasAttribute("value") && items.length > 0 && this.valueInternal === "") {
260
+ if (!this.multiple && !this.hasAttribute("value") && items.length > 0 && this.valueInternal === "") {
237
261
  this.valueInternal = items[0].value;
238
262
  this.setAttribute("value", this.valueInternal);
239
263
  }
240
- const selectedValue = this.valueInternal;
241
264
  this.accordionEl.setAttribute("role", "region");
242
265
  this.accordionEl.setAttribute("aria-label", this.label);
243
266
  if (itemsJson !== this.lastItemsJson) {
244
- this.accordionEl.innerHTML = this.renderItemsMarkup(items, selectedValue);
267
+ this.accordionEl.innerHTML = this.renderItemsMarkup(items);
245
268
  this.lastItemsJson = itemsJson;
246
269
  return;
247
270
  }
248
271
  this.accordionEl.querySelectorAll('[part="item"]').forEach(node => {
249
272
  const section = node;
250
273
  const value = section.dataset.value ?? "";
251
- const isOpen = value === selectedValue;
274
+ const isOpen = this.isOpen(value);
252
275
  section.dataset.open = String(isOpen);
253
276
  const trigger = section.querySelector('[part="trigger"]');
254
277
  const indicator = section.querySelector('[part="indicator"]');
@@ -90,6 +90,7 @@ const codeStyles = `
90
90
  }
91
91
 
92
92
  ${boeFocusVisibleStyles('[part="copy"]')}
93
+ ${boeFocusVisibleStyles('[part="pre"]')}
93
94
  `;
94
95
  /**
95
96
  * A block of code, rendered as written.
@@ -192,7 +193,7 @@ export class CodeBlock extends BaseElement {
192
193
  this.shadowRoot.innerHTML = `
193
194
  <style>${codeStyles}</style>
194
195
  <div part="block">
195
- <pre part="pre"><code part="code"><slot></slot></code></pre>
196
+ <pre part="pre" tabindex="0" role="region"><code part="code"><slot></slot></code></pre>
196
197
  <button type="button" part="copy" data-copied="false"></button>
197
198
  </div>
198
199
  `;
@@ -221,6 +222,7 @@ export class CodeBlock extends BaseElement {
221
222
  this.slotEl.textContent = "";
222
223
  }
223
224
  const language = this.language;
225
+ this.preEl.setAttribute("aria-label", language ? `${language} code` : "Source code");
224
226
  if (language) {
225
227
  this.codeEl.setAttribute("data-language", language);
226
228
  this.codeEl.setAttribute("class", `language-${language}`);
@@ -381,7 +381,7 @@ export class Drawer extends BaseElement {
381
381
  this.hostEl.innerHTML = `
382
382
  <style>${drawerStyles}</style>
383
383
  <dialog part="backdrop" aria-labelledby="drawer-title">
384
- <aside part="drawer">
384
+ <div part="drawer">
385
385
  <header part="header">
386
386
  <div part="meta">
387
387
  <h2 id="drawer-title"></h2>
@@ -397,7 +397,7 @@ export class Drawer extends BaseElement {
397
397
  <footer part="footer" hidden>
398
398
  <slot name="footer"></slot>
399
399
  </footer>
400
- </aside>
400
+ </div>
401
401
  </dialog>
402
402
  `;
403
403
  // The footer row only exists when the host slots one: an empty sticky
@@ -30,6 +30,7 @@ export declare const boeFormFieldErrorStyles = "\n :host([invalid]) [part=\"inp
30
30
  export declare const FORM_ERROR_MESSAGE_ID = "boe-field-error";
31
31
  export declare const formErrorMessageMarkup: () => string;
32
32
  export declare const FORM_DESCRIPTION_ID = "boe-field-description";
33
+ export declare const FORM_LABEL_ID = "boe-field-label";
33
34
  /** Optional help text rendered under the label (shown only when `description` is set). */
34
35
  export declare const formDescriptionMarkup: () => string;
35
36
  /**
@@ -125,6 +125,7 @@ export const boeFormFieldErrorStyles = `
125
125
  export const FORM_ERROR_MESSAGE_ID = "boe-field-error";
126
126
  export const formErrorMessageMarkup = () => `<p part="error-message" id="${FORM_ERROR_MESSAGE_ID}" role="alert" hidden></p>`;
127
127
  export const FORM_DESCRIPTION_ID = "boe-field-description";
128
+ export const FORM_LABEL_ID = "boe-field-label";
128
129
  /** Optional help text rendered under the label (shown only when `description` is set). */
129
130
  export const formDescriptionMarkup = () => `<p part="description" id="${FORM_DESCRIPTION_ID}" hidden></p>`;
130
131
  /**
@@ -302,6 +303,7 @@ export class FormAssociatedElement extends BaseElement {
302
303
  const required = this.required;
303
304
  const description = this.description;
304
305
  if (labelEl) {
306
+ labelEl.id = FORM_LABEL_ID;
305
307
  const existing = labelEl.querySelector(".boe-required-mark");
306
308
  if (required && !existing) {
307
309
  const mark = document.createElement("span");
@@ -315,6 +317,7 @@ export class FormAssociatedElement extends BaseElement {
315
317
  }
316
318
  }
317
319
  if (control) {
320
+ control.setAttribute("aria-labelledby", FORM_LABEL_ID);
318
321
  control.toggleAttribute("required", required);
319
322
  control.setAttribute("aria-required", String(required));
320
323
  if (description) {
@@ -0,0 +1 @@
1
+ export * from "../components/forms/code-editor.js";
@@ -0,0 +1 @@
1
+ export * from "../components/forms/code-editor.js";
@@ -109,8 +109,8 @@ export declare const boeControl: {
109
109
  readonly letterSpacing: "var(--boe-profile-control-letter-spacing, 0.035em)";
110
110
  /** BUE disabled control opacity */
111
111
  readonly disabledOpacity: "var(--boe-profile-disabled-opacity, 0.4)";
112
- /** Input border — `$bdl-gray-20` / SurfaceSurfaceQuaternary */
113
- readonly inputBorder: "var(--boe-token-surface-surface-quaternary, #d3d3d3)";
112
+ /** Accessible control edge, separate from low-contrast decorative dividers. */
113
+ readonly inputBorder: "var(--boe-control-edge, var(--boe-token-text-text-secondary, #6f6f6f))";
114
114
  /** Button secondary border — `$bdl-gray-30` / StrokeStrokeHover */
115
115
  readonly buttonBorder: "var(--boe-token-stroke-stroke-hover, #bcbcbc)";
116
116
  /** `@mixin box-inputs` inset shadow */
@@ -109,8 +109,8 @@ export const boeControl = {
109
109
  letterSpacing: "var(--boe-profile-control-letter-spacing, 0.035em)",
110
110
  /** BUE disabled control opacity */
111
111
  disabledOpacity: "var(--boe-profile-disabled-opacity, 0.4)",
112
- /** Input border — `$bdl-gray-20` / SurfaceSurfaceQuaternary */
113
- inputBorder: "var(--boe-token-surface-surface-quaternary, #d3d3d3)",
112
+ /** Accessible control edge, separate from low-contrast decorative dividers. */
113
+ inputBorder: "var(--boe-control-edge, var(--boe-token-text-text-secondary, #6f6f6f))",
114
114
  /** Button secondary border — `$bdl-gray-30` / StrokeStrokeHover */
115
115
  buttonBorder: "var(--boe-token-stroke-stroke-hover, #bcbcbc)",
116
116
  /** `@mixin box-inputs` inset shadow */
@@ -138,7 +138,7 @@ export const boeInputControlStyles = (selector) => `
138
138
 
139
139
  ${selector}:hover:not(:disabled) {
140
140
  box-shadow: ${boeControl.inputInsetShadow};
141
- border-color: var(--boe-token-stroke-stroke-hover, #bcbcbc);
141
+ border-color: ${boeControl.inputBorder};
142
142
  }
143
143
 
144
144
  ${selector}:focus-visible {
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable */
2
2
  /* auto-generated by tools/iconography/generate-box-iconography.ts */
3
+ /* auto-generated by tools/iconography/generate-box-iconography.ts */
3
4
  export const icon2Chat = "<svg viewBox=\"0 0 150 150\" width=\"1em\" height=\"1em\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M145.228 95.399C146.788 89.7541 147.07 83.8721 146.056 78.1217C145.041 72.3713 142.752 66.8766 139.333 61.9828C135.629 56.68 130.778 52.1441 125.085 48.6609C119.391 45.1777 112.979 42.823 106.253 41.7449C85.1544 38.1881 92.6553 61.4198 82.2312 79.8618C68.8609 95.399 50.0008 87.5133 50.6286 95.399C51.2563 103.285 50.755 103.597 55.8246 109.964C61.9829 117.828 70.6949 123.669 80.6924 126.637L115.311 137.947C115.828 138.114 116.37 138.201 116.917 138.205C117.604 138.207 118.282 138.063 118.899 137.784C119.516 137.504 120.055 137.098 120.475 136.596C121.071 135.923 121.396 135.082 121.396 134.213C121.396 133.344 121.071 132.502 120.475 131.83L117.812 128.664C117.533 128.339 117.338 127.959 117.24 127.554C117.143 127.149 117.146 126.728 117.25 126.324C117.354 125.92 117.555 125.544 117.839 125.222C118.123 124.9 118.481 124.642 118.889 124.467C123.955 122.259 128.584 119.281 132.582 115.655C136.81 111.835 140.216 107.31 142.622 102.317L145.228 95.399Z\" fill=\"currentColor\" fill-opacity=\"0.4\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.65536 53.0787C1.55573 59.468 1.86122 66.0035 3.55268 72.2757L6.37767 79.9625C8.98519 85.5097 12.6779 90.5383 17.2606 94.7825C21.5952 98.811 26.613 102.12 32.1046 104.573C32.5459 104.768 32.935 105.055 33.2426 105.412C33.5502 105.77 33.7684 106.188 33.8807 106.637C33.9931 107.086 33.9967 107.553 33.8913 108.003C33.7859 108.454 33.5742 108.875 33.2721 109.237L30.3846 112.754C29.7393 113.501 29.3867 114.437 29.3867 115.402C29.3867 116.368 29.7393 117.303 30.3846 118.05C30.84 118.608 31.4246 119.06 32.0933 119.37C32.7621 119.68 33.4971 119.84 34.2416 119.838C34.8345 119.833 35.4226 119.737 35.9824 119.551L73.5096 106.984C84.347 103.687 93.791 97.1971 100.467 88.4594C105.962 81.3843 109.239 72.9821 109.919 64.2202C110.6 55.4583 108.656 46.6922 104.313 38.9307C93.0133 18.4396 68.6728 8.70798 45.802 12.66C38.5105 13.8579 31.5598 16.4743 25.3881 20.3445C19.2164 24.2147 13.9574 29.2545 9.94274 35.1466C6.23599 40.5841 3.75498 46.6894 2.65536 53.0787ZM55.5024 66.8864C59.3966 66.8864 62.5534 63.7294 62.5534 59.835C62.5534 55.9405 59.3966 52.7835 55.5024 52.7835C51.6083 52.7835 48.4515 55.9405 48.4515 59.835C48.4515 63.7294 51.6083 66.8864 55.5024 66.8864ZM40.3523 59.835C40.3523 63.7294 37.1954 66.8864 33.3013 66.8864C29.4071 66.8864 26.2503 63.7294 26.2503 59.835C26.2503 55.9405 29.4071 52.7835 33.3013 52.7835C37.1954 52.7835 40.3523 55.9405 40.3523 59.835ZM77.7056 66.8864C81.5997 66.8864 84.7566 63.7294 84.7566 59.835C84.7566 55.9405 81.5997 52.7835 77.7056 52.7835C73.8114 52.7835 70.6546 55.9405 70.6546 59.835C70.6546 63.7294 73.8114 66.8864 77.7056 66.8864Z\" fill=\"currentColor\"/></svg>";
4
5
  export const icon2ChatQuestion = "<svg viewBox=\"0 0 150 150\" width=\"1em\" height=\"1em\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M145.228 95.3987C146.788 89.7538 147.07 83.8718 146.056 78.1214C145.041 72.3711 142.752 66.8764 139.333 61.9826C135.629 56.6797 130.778 52.1438 125.085 48.6607C119.391 45.1775 112.979 42.8228 106.253 41.7446C85.1544 38.1878 92.6553 61.4196 82.2312 79.8616C68.8609 95.3987 50.0008 87.513 50.6286 95.3987C51.2563 103.284 50.755 103.597 55.8246 109.964C61.9829 117.828 70.6949 123.669 80.6924 126.637L115.311 137.947C115.828 138.114 116.37 138.201 116.917 138.205C117.604 138.207 118.282 138.062 118.899 137.783C119.516 137.504 120.055 137.098 120.475 136.595C121.071 135.923 121.396 135.081 121.396 134.213C121.396 133.344 121.071 132.502 120.475 131.829L117.812 128.664C117.533 128.338 117.338 127.959 117.24 127.554C117.143 127.148 117.146 126.728 117.25 126.324C117.354 125.92 117.555 125.543 117.839 125.222C118.123 124.9 118.481 124.642 118.889 124.467C123.955 122.259 128.584 119.281 132.582 115.655C136.81 111.835 140.216 107.309 142.622 102.317L145.228 95.3987Z\" fill=\"currentColor\" fill-opacity=\"0.4\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.65536 53.0782C1.55573 59.4675 1.86122 66.003 3.55268 72.2752L6.37767 79.9621C8.98519 85.5092 12.6779 90.5378 17.2606 94.782C21.5952 98.8105 26.613 102.12 32.1046 104.573C32.5459 104.767 32.935 105.054 33.2426 105.412C33.5502 105.769 33.7684 106.188 33.8807 106.637C33.9931 107.085 33.9967 107.553 33.8913 108.003C33.7859 108.453 33.5742 108.875 33.2721 109.236L30.3846 112.754C29.7393 113.501 29.3867 114.436 29.3867 115.402C29.3867 116.367 29.7393 117.302 30.3846 118.049C30.84 118.607 31.4246 119.059 32.0933 119.369C32.7621 119.679 33.4971 119.84 34.2416 119.838C34.8345 119.833 35.4226 119.736 35.9824 119.551L73.5096 106.984C84.347 103.687 93.791 97.1966 100.467 88.4589C105.962 81.3838 109.239 72.9816 109.919 64.2197C110.6 55.4578 108.656 46.6918 104.313 38.9302C93.0133 18.4391 68.6728 8.70749 45.802 12.6595C38.5105 13.8574 31.5598 16.4738 25.3881 20.344C19.2164 24.2142 13.9574 29.254 9.94274 35.1461C6.23599 40.5836 3.75498 46.6889 2.65536 53.0782ZM42.9435 38.3175C41.9569 38.9835 41.0442 39.6865 40.2055 40.4265L42.6105 44.2375C43.0052 44.9775 43.6465 45.3475 44.5345 45.3475C44.9045 45.3475 45.3239 45.1995 45.7925 44.9035C46.2612 44.5829 46.8285 44.2375 47.4945 43.8675C48.1852 43.4729 49.0115 43.1275 49.9735 42.8315C50.9602 42.5109 52.1565 42.3505 53.5625 42.3505C54.5245 42.3505 55.4125 42.4862 56.2265 42.7575C57.0652 43.0289 57.7805 43.4235 58.3725 43.9415C58.9645 44.4349 59.4209 45.0392 59.7415 45.7545C60.0869 46.4452 60.2595 47.2345 60.2595 48.1225C60.2595 49.4545 59.9882 50.6139 59.4455 51.6005C58.9029 52.5872 58.2245 53.4752 57.4105 54.2645C56.5965 55.0292 55.7209 55.7445 54.7835 56.4105C53.8462 57.0765 52.9705 57.7672 52.1565 58.4825C51.3425 59.1732 50.6642 59.9255 50.1215 60.7395C49.5789 61.5289 49.3075 62.4662 49.3075 63.5515V63.8845C49.3075 63.9585 49.3199 64.0572 49.3445 64.1805L49.9735 70.2115H56.2265L57.0775 64.8095C57.2009 64.0202 57.5709 63.3172 58.1875 62.7005C58.8289 62.0592 59.5812 61.4179 60.4445 60.7765C61.3079 60.1105 62.2205 59.4075 63.1825 58.6675C64.1445 57.9275 65.0325 57.0519 65.8465 56.0405C66.6852 55.0292 67.3759 53.8452 67.9185 52.4885C68.4612 51.1072 68.7325 49.4792 68.7325 47.6045C68.7325 45.6805 68.3872 43.9415 67.6965 42.3875C67.0059 40.8335 66.0315 39.5139 64.7735 38.4285C63.5155 37.3185 61.9985 36.4675 60.2225 35.8755C58.4712 35.2835 56.5225 34.9875 54.3765 34.9875C52.7979 34.9875 51.3302 35.1355 49.9735 35.4315C48.6169 35.7029 47.3589 36.0852 46.1995 36.5785C45.0402 37.0719 43.9549 37.6515 42.9435 38.3175ZM47.6055 81.8665C47.3342 82.5572 47.1985 83.2849 47.1985 84.0495C47.1985 84.8389 47.3342 85.5789 47.6055 86.2695C47.9015 86.9355 48.2962 87.5152 48.7895 88.0085C49.3075 88.5019 49.9119 88.8842 50.6025 89.1555C51.2932 89.4515 52.0332 89.5995 52.8225 89.5995C53.5872 89.5995 54.3149 89.4515 55.0055 89.1555C55.6962 88.8842 56.2882 88.5019 56.7815 88.0085C57.2749 87.5152 57.6695 86.9355 57.9655 86.2695C58.2615 85.5789 58.4095 84.8389 58.4095 84.0495C58.4095 83.2849 58.2615 82.5572 57.9655 81.8665C57.6695 81.1759 57.2749 80.5839 56.7815 80.0905C56.2882 79.5972 55.6962 79.2025 55.0055 78.9065C54.3149 78.6105 53.5872 78.4625 52.8225 78.4625C52.0332 78.4625 51.2932 78.6105 50.6025 78.9065C49.9119 79.2025 49.3075 79.5972 48.7895 80.0905C48.2962 80.5839 47.9015 81.1759 47.6055 81.8665Z\" fill=\"currentColor\"/></svg>";
5
6
  export const icon2OverlaySquares = "<svg viewBox=\"0 0 150 150\" width=\"1em\" height=\"1em\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><g clip-path=\"url(#2-overlay-squares__clip0_1218_620)\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M59.7298 11.4651C68.7457 5.71015 80.2819 5.71014 89.2979 11.4651L142.26 45.2715C148.525 49.2702 148.625 58.3842 142.449 62.5191L89.8012 97.7695C80.5506 103.963 68.477 103.963 59.2265 97.7695L6.57849 62.5191C0.402877 58.3842 0.502615 49.2702 6.76723 45.2715L59.7298 11.4651Z\" fill=\"currentColor\"/>\n<path opacity=\"0.4\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M59.7298 51.4883C68.7457 45.7333 80.2819 45.7333 89.2979 51.4883L142.26 85.2947C148.525 89.2934 148.625 98.4074 142.449 102.542L89.8012 137.793C80.5506 143.986 68.477 143.986 59.2265 137.793L6.57849 102.542C0.402878 98.4074 0.502616 89.2934 6.76723 85.2947L59.7298 51.4883Z\" fill=\"currentColor\"/>\n</g>\n<defs>\n<clipPath id=\"2-overlay-squares__clip0_1218_620\">\n<rect width=\"150\" height=\"150\" fill=\"currentColor\"/>\n</clipPath>\n</defs></svg>";