@vonage/vivid 4.14.2 → 4.14.4

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 (81) hide show
  1. package/custom-elements.json +1361 -1017
  2. package/index.cjs +1 -0
  3. package/index.js +1 -1
  4. package/lib/accordion/definition.d.ts +5 -1
  5. package/lib/combobox/combobox.d.ts +5 -1
  6. package/lib/file-picker/file-picker.d.ts +1 -0
  7. package/lib/menu-item/definition.d.ts +1 -1
  8. package/lib/menu-item/menu-item-role.d.ts +7 -0
  9. package/lib/menu-item/menu-item.d.ts +1 -7
  10. package/lib/number-field/number-field.d.ts +1 -1
  11. package/lib/option/option.d.ts +6 -0
  12. package/lib/radio/radio.d.ts +2 -2
  13. package/lib/searchable-select/option-tag.d.ts +2 -2
  14. package/lib/select/select.form-associated.d.ts +1 -1
  15. package/lib/switch/switch.d.ts +1 -0
  16. package/lib/tabs/tabs.d.ts +5 -1
  17. package/lib/text-anchor/text-anchor.d.ts +1 -1
  18. package/lib/tree-item/tree-item.d.ts +1 -1
  19. package/lib/tree-view/tree-view.d.ts +1 -1
  20. package/package.json +1 -1
  21. package/shared/applyMixinsWithObservables.cjs +1 -1
  22. package/shared/applyMixinsWithObservables.js +1 -1
  23. package/shared/definition11.cjs +1 -1
  24. package/shared/definition11.js +1 -1
  25. package/shared/definition16.cjs +63 -30
  26. package/shared/definition16.js +61 -28
  27. package/shared/definition17.cjs +2 -2
  28. package/shared/definition17.js +2 -2
  29. package/shared/definition2.cjs +11 -6
  30. package/shared/definition2.js +11 -7
  31. package/shared/definition25.cjs +25 -18
  32. package/shared/definition25.js +26 -19
  33. package/shared/definition29.cjs +12 -33
  34. package/shared/definition29.js +12 -33
  35. package/shared/definition33.cjs +1 -1
  36. package/shared/definition33.js +1 -1
  37. package/shared/definition34.cjs +4 -294
  38. package/shared/definition34.js +4 -294
  39. package/shared/definition41.cjs +1 -1
  40. package/shared/definition41.js +1 -1
  41. package/shared/definition42.cjs +1 -2
  42. package/shared/definition42.js +1 -2
  43. package/shared/definition43.cjs +1 -2
  44. package/shared/definition43.js +1 -2
  45. package/shared/definition46.cjs +2 -2
  46. package/shared/definition46.js +3 -3
  47. package/shared/definition48.cjs +22 -15
  48. package/shared/definition48.js +22 -15
  49. package/shared/definition5.cjs +4 -3
  50. package/shared/definition5.js +4 -3
  51. package/shared/definition51.cjs +11 -402
  52. package/shared/definition51.js +17 -408
  53. package/shared/definition54.js +1 -1
  54. package/shared/definition56.js +1 -1
  55. package/shared/direction.cjs +2 -16
  56. package/shared/direction.js +3 -17
  57. package/shared/foundation/utilities/direction.d.ts +2 -0
  58. package/shared/listbox.cjs +1 -1
  59. package/shared/listbox.js +1 -1
  60. package/shared/text-anchor.cjs +1 -1
  61. package/shared/text-anchor.js +1 -1
  62. package/shared/text-field2.js +1 -1
  63. package/shared/vivid-element.cjs +0 -2
  64. package/shared/vivid-element.js +1 -1
  65. package/styles/core/all.css +1 -1
  66. package/styles/core/theme.css +1 -1
  67. package/styles/core/typography.css +1 -1
  68. package/styles/tokens/theme-dark.css +4 -4
  69. package/styles/tokens/theme-light.css +4 -4
  70. package/styles/tokens/vivid-2-compat.css +1 -1
  71. package/vivid.api.json +70 -3
  72. package/shared/apply-mixins2.cjs +0 -25
  73. package/shared/apply-mixins2.js +0 -23
  74. package/shared/form-associated2.cjs +0 -383
  75. package/shared/form-associated2.js +0 -381
  76. package/shared/foundation-element.cjs +0 -1417
  77. package/shared/foundation-element.js +0 -1414
  78. package/shared/key-codes2.cjs +0 -96
  79. package/shared/key-codes2.js +0 -88
  80. package/shared/start-end.cjs +0 -52
  81. package/shared/start-end.js +0 -50
@@ -18,13 +18,13 @@ var __decorateClass = (decorators, target, key, kind) => {
18
18
  if (result) __defProp(target, key, result);
19
19
  return result;
20
20
  };
21
- const AccordionExpandMode = {
21
+ const AccordionExpandMode$1 = {
22
22
  /**
23
- * Designates only a single {@link @microsoft/fast-foundation#(AccordionItem:class) } can be open a time.
23
+ * Designates only a single AccordionItem can be open a time.
24
24
  */
25
25
  single: "single",
26
26
  /**
27
- * Designates multiple {@link @microsoft/fast-foundation#(AccordionItem:class) | AccordionItems} can be open simultaneously.
27
+ * Designates multiple AccordionItems can be open simultaneously.
28
28
  */
29
29
  multi: "multi"
30
30
  };
@@ -32,7 +32,7 @@ class Accordion extends vividElement.VividElement {
32
32
  constructor() {
33
33
  super(...arguments);
34
34
  /* eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value */
35
- this.expandmode = AccordionExpandMode.single;
35
+ this.expandmode = AccordionExpandMode$1.single;
36
36
  this.activeItemIndex = 0;
37
37
  this.change = () => {
38
38
  this.$emit("change", this.activeid);
@@ -146,7 +146,7 @@ class Accordion extends vividElement.VividElement {
146
146
  });
147
147
  }
148
148
  isSingleExpandMode() {
149
- return this.expandmode !== AccordionExpandMode.multi;
149
+ return this.expandmode !== AccordionExpandMode$1.multi;
150
150
  }
151
151
  adjust(item, adjustment) {
152
152
  this.focusItem(
@@ -164,7 +164,7 @@ class Accordion extends vividElement.VividElement {
164
164
  }
165
165
  }
166
166
  closeAll() {
167
- if (this.expandmode === AccordionExpandMode.multi) {
167
+ if (this.expandmode === AccordionExpandMode$1.multi) {
168
168
  this.accordionItems.forEach((item) => {
169
169
  item.expanded = false;
170
170
  });
@@ -186,6 +186,10 @@ const AccordionTemplate = vividElement.html`
186
186
  </div>
187
187
  `;
188
188
 
189
+ const AccordionExpandMode = {
190
+ single: "single",
191
+ multi: "multi"
192
+ };
189
193
  const accordionDefinition = vividElement.defineVividComponent(
190
194
  "accordion",
191
195
  Accordion,
@@ -197,5 +201,6 @@ const accordionDefinition = vividElement.defineVividComponent(
197
201
  );
198
202
  const registerAccordion = vividElement.createRegisterFunction(accordionDefinition);
199
203
 
204
+ exports.AccordionExpandMode = AccordionExpandMode;
200
205
  exports.accordionDefinition = accordionDefinition;
201
206
  exports.registerAccordion = registerAccordion;
@@ -16,13 +16,13 @@ var __decorateClass = (decorators, target, key, kind) => {
16
16
  if (result) __defProp(target, key, result);
17
17
  return result;
18
18
  };
19
- const AccordionExpandMode = {
19
+ const AccordionExpandMode$1 = {
20
20
  /**
21
- * Designates only a single {@link @microsoft/fast-foundation#(AccordionItem:class) } can be open a time.
21
+ * Designates only a single AccordionItem can be open a time.
22
22
  */
23
23
  single: "single",
24
24
  /**
25
- * Designates multiple {@link @microsoft/fast-foundation#(AccordionItem:class) | AccordionItems} can be open simultaneously.
25
+ * Designates multiple AccordionItems can be open simultaneously.
26
26
  */
27
27
  multi: "multi"
28
28
  };
@@ -30,7 +30,7 @@ class Accordion extends VividElement {
30
30
  constructor() {
31
31
  super(...arguments);
32
32
  /* eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value */
33
- this.expandmode = AccordionExpandMode.single;
33
+ this.expandmode = AccordionExpandMode$1.single;
34
34
  this.activeItemIndex = 0;
35
35
  this.change = () => {
36
36
  this.$emit("change", this.activeid);
@@ -144,7 +144,7 @@ class Accordion extends VividElement {
144
144
  });
145
145
  }
146
146
  isSingleExpandMode() {
147
- return this.expandmode !== AccordionExpandMode.multi;
147
+ return this.expandmode !== AccordionExpandMode$1.multi;
148
148
  }
149
149
  adjust(item, adjustment) {
150
150
  this.focusItem(
@@ -162,7 +162,7 @@ class Accordion extends VividElement {
162
162
  }
163
163
  }
164
164
  closeAll() {
165
- if (this.expandmode === AccordionExpandMode.multi) {
165
+ if (this.expandmode === AccordionExpandMode$1.multi) {
166
166
  this.accordionItems.forEach((item) => {
167
167
  item.expanded = false;
168
168
  });
@@ -184,6 +184,10 @@ const AccordionTemplate = html`
184
184
  </div>
185
185
  `;
186
186
 
187
+ const AccordionExpandMode = {
188
+ single: "single",
189
+ multi: "multi"
190
+ };
187
191
  const accordionDefinition = defineVividComponent(
188
192
  "accordion",
189
193
  Accordion,
@@ -195,4 +199,4 @@ const accordionDefinition = defineVividComponent(
195
199
  );
196
200
  const registerAccordion = createRegisterFunction(accordionDefinition);
197
201
 
198
- export { accordionDefinition as a, registerAccordion as r };
202
+ export { AccordionExpandMode as A, accordionDefinition as a, registerAccordion as r };
@@ -3,7 +3,6 @@
3
3
  const definition$1 = require('./definition27.cjs');
4
4
  const definition = require('./definition11.cjs');
5
5
  const vividElement = require('./vivid-element.cjs');
6
- const enums = require('./enums.cjs');
7
6
  const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
8
7
  const formAssociated = require('./form-associated.cjs');
9
8
  const formElements = require('./form-elements.cjs');
@@ -12,7 +11,7 @@ const when = require('./when.cjs');
12
11
  const ref = require('./ref.cjs');
13
12
  const classNames = require('./class-names.cjs');
14
13
 
15
- const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{color:var(--vvd-color-alert-500);font:var(--vvd-typography-base-condensed);margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
14
+ const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{display:flex;align-items:center;color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);gap:4px;margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500);background-color:var(--vvd-color-alert-50)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
16
15
 
17
16
  var objectExtend = extend;
18
17
 
@@ -2167,16 +2166,19 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
2167
2166
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2168
2167
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
2169
2168
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
2170
- var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn, setRemoveButtonConnotationOnError_fn, chooseFile_fn, updateHiddenFileInput_fn, keepOnlyNewestFile_fn, handleFilesChanged_fn, updateFormValue_fn, setValueToAFakePathLikeNativeInput_fn, formatNumbersInMessage_fn;
2169
+ var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn, chooseFile_fn, updateHiddenFileInput_fn, keepOnlyNewestFile_fn, handleFilesChanged_fn, updateFormValue_fn, setValueToAFakePathLikeNativeInput_fn, formatNumbersInMessage_fn;
2171
2170
  const isFormAssociatedTryingToSetFormValueToFakePath = (value) => typeof value === "string";
2172
- const generateFilePreviewTemplate = (buttonTag, locale) => {
2171
+ const generateFilePreviewTemplate = (buttonTag, iconTag, locale) => {
2173
2172
  return `<div class="dz-preview dz-file-preview">
2174
2173
  <div class="dz-details">
2175
2174
  <div class="dz-filename"><span data-dz-name></span></div>
2176
2175
  <div class="dz-size"><span data-dz-size></span></div>
2177
2176
  </div>
2178
- <div class="dz-error-message"><span data-dz-errormessage></span></div>
2179
- <${buttonTag} class="remove-btn" icon="delete-line" appearance="ghost" size="condensed" aria-label="${locale.filePicker.removeFileLabel}"></${buttonTag}>
2177
+ <div class="dz-error-message">
2178
+ <${iconTag} name="info-line" size="-6"></${iconTag}>
2179
+ <span data-dz-errormessage></span>
2180
+ </div>
2181
+ <${buttonTag} class="remove-btn" icon="delete-line" appearance="ghost-light" size="condensed" aria-label="${locale.filePicker.removeFileLabel}"></${buttonTag}>
2180
2182
  </div>`;
2181
2183
  };
2182
2184
  let FilePicker = class extends FormAssociatedFilePicker {
@@ -2199,6 +2201,10 @@ let FilePicker = class extends FormAssociatedFilePicker {
2199
2201
  * Used internally to hold the tag that button is registered at.
2200
2202
  */
2201
2203
  this.buttonTag = "vwc-button";
2204
+ /**
2205
+ * Used internally to hold the tag that icon is registered at.
2206
+ */
2207
+ this.iconTag = "vwc-icon";
2202
2208
  __privateAdd(this, _localizeErrorMessage, (file, message) => {
2203
2209
  if (file.previewElement) {
2204
2210
  file.previewElement.classList.add("dz-error");
@@ -2289,7 +2295,11 @@ let FilePicker = class extends FormAssociatedFilePicker {
2289
2295
  addRemoveLinks: false,
2290
2296
  previewsContainer: previewList,
2291
2297
  createImageThumbnails: false,
2292
- previewTemplate: generateFilePreviewTemplate(this.buttonTag, this.locale),
2298
+ previewTemplate: generateFilePreviewTemplate(
2299
+ this.buttonTag,
2300
+ this.iconTag,
2301
+ this.locale
2302
+ ),
2293
2303
  dictInvalidFileType: this.invalidFileTypeError || this.locale.filePicker.invalidFileTypeError,
2294
2304
  dictMaxFilesExceeded: this.maxFilesExceededError || this.locale.filePicker.maxFilesExceededError,
2295
2305
  dictFileTooBig: this.fileTooBigError || this.locale.filePicker.fileTooBigError,
@@ -2313,6 +2323,13 @@ let FilePicker = class extends FormAssociatedFilePicker {
2313
2323
  setButtonTag(tag) {
2314
2324
  this.buttonTag = tag;
2315
2325
  }
2326
+ /**
2327
+ * Used internally to set the icon tag.
2328
+ * @internal
2329
+ */
2330
+ setIconTag(tag) {
2331
+ this.iconTag = tag;
2332
+ }
2316
2333
  /**
2317
2334
  * @internal
2318
2335
  */
@@ -2363,17 +2380,6 @@ addRemoveButtonToFilesPreview_fn = function() {
2363
2380
  }
2364
2381
  __privateMethod(this, _FilePicker_instances, handleFilesChanged_fn).call(this);
2365
2382
  });
2366
- __privateMethod(this, _FilePicker_instances, setRemoveButtonConnotationOnError_fn).call(this);
2367
- };
2368
- setRemoveButtonConnotationOnError_fn = function() {
2369
- __privateGet(this, _dropzone).on("error", (file) => {
2370
- if (file.previewElement) {
2371
- const removeButton = file.previewElement.querySelector(
2372
- ".remove-btn"
2373
- );
2374
- removeButton.connotation = enums.Connotation.Alert;
2375
- }
2376
- });
2377
2383
  };
2378
2384
  chooseFile_fn = function() {
2379
2385
  if (__privateGet(this, _dropzone).hiddenFileInput) {
@@ -2458,6 +2464,7 @@ const FilePickerTemplate = (context) => {
2458
2464
  return vividElement.html`
2459
2465
  ${(x) => {
2460
2466
  x.setButtonTag(context.tagFor(definition.Button));
2467
+ x.setIconTag(context.tagFor(definition$1.Icon));
2461
2468
  }}
2462
2469
  <div class="base" aria-label="${(x) => x.label}">
2463
2470
  ${when.when(
@@ -1,7 +1,6 @@
1
- import { i as iconDefinition } from './definition27.js';
1
+ import { I as Icon, i as iconDefinition } from './definition27.js';
2
2
  import { B as Button, b as buttonDefinition } from './definition11.js';
3
3
  import { V as VividElement, a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
4
- import { C as Connotation } from './enums.js';
5
4
  import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
6
5
  import { F as FormAssociated } from './form-associated.js';
7
6
  import { e as errorText, f as formElements, a as FormElementHelperText, g as getFeedbackTemplate } from './form-elements.js';
@@ -10,7 +9,7 @@ import { w as when } from './when.js';
10
9
  import { r as ref } from './ref.js';
11
10
  import { c as classNames } from './class-names.js';
12
11
 
13
- const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{color:var(--vvd-color-alert-500);font:var(--vvd-typography-base-condensed);margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
12
+ const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{display:flex;align-items:center;color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);gap:4px;margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500);background-color:var(--vvd-color-alert-50)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
14
13
 
15
14
  var objectExtend = extend;
16
15
 
@@ -2165,16 +2164,19 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
2165
2164
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2166
2165
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
2167
2166
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
2168
- var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn, setRemoveButtonConnotationOnError_fn, chooseFile_fn, updateHiddenFileInput_fn, keepOnlyNewestFile_fn, handleFilesChanged_fn, updateFormValue_fn, setValueToAFakePathLikeNativeInput_fn, formatNumbersInMessage_fn;
2167
+ var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn, chooseFile_fn, updateHiddenFileInput_fn, keepOnlyNewestFile_fn, handleFilesChanged_fn, updateFormValue_fn, setValueToAFakePathLikeNativeInput_fn, formatNumbersInMessage_fn;
2169
2168
  const isFormAssociatedTryingToSetFormValueToFakePath = (value) => typeof value === "string";
2170
- const generateFilePreviewTemplate = (buttonTag, locale) => {
2169
+ const generateFilePreviewTemplate = (buttonTag, iconTag, locale) => {
2171
2170
  return `<div class="dz-preview dz-file-preview">
2172
2171
  <div class="dz-details">
2173
2172
  <div class="dz-filename"><span data-dz-name></span></div>
2174
2173
  <div class="dz-size"><span data-dz-size></span></div>
2175
2174
  </div>
2176
- <div class="dz-error-message"><span data-dz-errormessage></span></div>
2177
- <${buttonTag} class="remove-btn" icon="delete-line" appearance="ghost" size="condensed" aria-label="${locale.filePicker.removeFileLabel}"></${buttonTag}>
2175
+ <div class="dz-error-message">
2176
+ <${iconTag} name="info-line" size="-6"></${iconTag}>
2177
+ <span data-dz-errormessage></span>
2178
+ </div>
2179
+ <${buttonTag} class="remove-btn" icon="delete-line" appearance="ghost-light" size="condensed" aria-label="${locale.filePicker.removeFileLabel}"></${buttonTag}>
2178
2180
  </div>`;
2179
2181
  };
2180
2182
  let FilePicker = class extends FormAssociatedFilePicker {
@@ -2197,6 +2199,10 @@ let FilePicker = class extends FormAssociatedFilePicker {
2197
2199
  * Used internally to hold the tag that button is registered at.
2198
2200
  */
2199
2201
  this.buttonTag = "vwc-button";
2202
+ /**
2203
+ * Used internally to hold the tag that icon is registered at.
2204
+ */
2205
+ this.iconTag = "vwc-icon";
2200
2206
  __privateAdd(this, _localizeErrorMessage, (file, message) => {
2201
2207
  if (file.previewElement) {
2202
2208
  file.previewElement.classList.add("dz-error");
@@ -2287,7 +2293,11 @@ let FilePicker = class extends FormAssociatedFilePicker {
2287
2293
  addRemoveLinks: false,
2288
2294
  previewsContainer: previewList,
2289
2295
  createImageThumbnails: false,
2290
- previewTemplate: generateFilePreviewTemplate(this.buttonTag, this.locale),
2296
+ previewTemplate: generateFilePreviewTemplate(
2297
+ this.buttonTag,
2298
+ this.iconTag,
2299
+ this.locale
2300
+ ),
2291
2301
  dictInvalidFileType: this.invalidFileTypeError || this.locale.filePicker.invalidFileTypeError,
2292
2302
  dictMaxFilesExceeded: this.maxFilesExceededError || this.locale.filePicker.maxFilesExceededError,
2293
2303
  dictFileTooBig: this.fileTooBigError || this.locale.filePicker.fileTooBigError,
@@ -2311,6 +2321,13 @@ let FilePicker = class extends FormAssociatedFilePicker {
2311
2321
  setButtonTag(tag) {
2312
2322
  this.buttonTag = tag;
2313
2323
  }
2324
+ /**
2325
+ * Used internally to set the icon tag.
2326
+ * @internal
2327
+ */
2328
+ setIconTag(tag) {
2329
+ this.iconTag = tag;
2330
+ }
2314
2331
  /**
2315
2332
  * @internal
2316
2333
  */
@@ -2361,17 +2378,6 @@ addRemoveButtonToFilesPreview_fn = function() {
2361
2378
  }
2362
2379
  __privateMethod(this, _FilePicker_instances, handleFilesChanged_fn).call(this);
2363
2380
  });
2364
- __privateMethod(this, _FilePicker_instances, setRemoveButtonConnotationOnError_fn).call(this);
2365
- };
2366
- setRemoveButtonConnotationOnError_fn = function() {
2367
- __privateGet(this, _dropzone).on("error", (file) => {
2368
- if (file.previewElement) {
2369
- const removeButton = file.previewElement.querySelector(
2370
- ".remove-btn"
2371
- );
2372
- removeButton.connotation = Connotation.Alert;
2373
- }
2374
- });
2375
2381
  };
2376
2382
  chooseFile_fn = function() {
2377
2383
  if (__privateGet(this, _dropzone).hiddenFileInput) {
@@ -2456,6 +2462,7 @@ const FilePickerTemplate = (context) => {
2456
2462
  return html`
2457
2463
  ${(x) => {
2458
2464
  x.setButtonTag(context.tagFor(Button));
2465
+ x.setIconTag(context.tagFor(Icon));
2459
2466
  }}
2460
2467
  <div class="base" aria-label="${(x) => x.label}">
2461
2468
  ${when(
@@ -5,7 +5,7 @@ const definition = require('./definition27.cjs');
5
5
  const vividElement = require('./vivid-element.cjs');
6
6
  const keyCodes = require('./key-codes.cjs');
7
7
  const affix = require('./affix.cjs');
8
- const applyMixins = require('./apply-mixins2.cjs');
8
+ const applyMixins = require('./apply-mixins.cjs');
9
9
  const direction = require('./direction.cjs');
10
10
  const anchored = require('./anchored.cjs');
11
11
  const dom = require('./dom.cjs');
@@ -15,35 +15,21 @@ const slotted = require('./slotted.cjs');
15
15
  const classNames = require('./class-names.cjs');
16
16
  const when = require('./when.cjs');
17
17
 
18
- /**
19
- * Menu items roles.
20
- * @public
21
- */
22
- const MenuItemRole$1 = {
23
- /**
24
- * The menu item has a "menuitem" role
25
- */
26
- menuitem: "menuitem",
27
- /**
28
- * The menu item has a "menuitemcheckbox" role
29
- */
30
- menuitemcheckbox: "menuitemcheckbox",
31
- /**
32
- * The menu item has a "menuitemradio" role
33
- */
34
- menuitemradio: "menuitemradio",
18
+ const styles$1 = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:12px}.base.two-lines{padding:12px;gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[aria-checked=true],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}";
19
+
20
+ const MenuItemRole = {
21
+ menuitem: "menuitem",
22
+ menuitemcheckbox: "menuitemcheckbox",
23
+ menuitemradio: "menuitemradio",
24
+ presentation: "presentation"
35
25
  };
36
- /**
37
- * @internal
38
- */
39
26
  const roleForMenuItem = {
40
- [MenuItemRole$1.menuitem]: "menuitem",
41
- [MenuItemRole$1.menuitemcheckbox]: "menuitemcheckbox",
42
- [MenuItemRole$1.menuitemradio]: "menuitemradio",
27
+ [MenuItemRole.menuitem]: "menuitem",
28
+ [MenuItemRole.menuitemcheckbox]: "menuitemcheckbox",
29
+ [MenuItemRole.menuitemradio]: "menuitemradio",
30
+ [MenuItemRole.presentation]: "presentation"
43
31
  };
44
32
 
45
- const styles$1 = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:12px}.base.two-lines{padding:12px;gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[aria-checked=true],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}";
46
-
47
33
  var __defProp$1 = Object.defineProperty;
48
34
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
49
35
  var __typeError = (msg) => {
@@ -384,10 +370,6 @@ var __decorateClass = (decorators, target, key, kind) => {
384
370
  if (result) __defProp(target, key, result);
385
371
  return result;
386
372
  };
387
- const MenuItemRole = {
388
- ...MenuItemRole$1,
389
- presentation: "presentation"
390
- };
391
373
  var CheckAppearance = /* @__PURE__ */ ((CheckAppearance2) => {
392
374
  CheckAppearance2["Normal"] = "normal";
393
375
  CheckAppearance2["TickOnly"] = "tick-only";
@@ -588,9 +570,6 @@ __decorateClass([
588
570
  __decorateClass([
589
571
  vividElement.attr({ mode: "boolean" })
590
572
  ], MenuItem.prototype, "checked");
591
- __decorateClass([
592
- vividElement.observable
593
- ], MenuItem.prototype, "submenuRegion");
594
573
  __decorateClass([
595
574
  vividElement.observable
596
575
  ], MenuItem.prototype, "hasSubmenu");
@@ -3,7 +3,7 @@ import { I as Icon, i as iconDefinition } from './definition27.js';
3
3
  import { V as VividElement, D as DOM, o as observable, a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
4
4
  import { g as keyHome, d as keyEnd, e as keyArrowUp, f as keyArrowDown, h as keyArrowLeft, i as keyArrowRight, a as keySpace, k as keyEnter } from './key-codes.js';
5
5
  import { b as AffixIcon, a as affixIconTemplateFactory } from './affix.js';
6
- import { a as applyMixins } from './apply-mixins2.js';
6
+ import { a as applyMixins } from './apply-mixins.js';
7
7
  import { D as Direction, g as getDirection } from './direction.js';
8
8
  import { a as anchored, b as anchorSlotTemplateFactory } from './anchored.js';
9
9
  import { i as isHTMLElement } from './dom.js';
@@ -13,35 +13,21 @@ import { s as slotted, e as elements } from './slotted.js';
13
13
  import { c as classNames } from './class-names.js';
14
14
  import { w as when } from './when.js';
15
15
 
16
- /**
17
- * Menu items roles.
18
- * @public
19
- */
20
- const MenuItemRole$1 = {
21
- /**
22
- * The menu item has a "menuitem" role
23
- */
24
- menuitem: "menuitem",
25
- /**
26
- * The menu item has a "menuitemcheckbox" role
27
- */
28
- menuitemcheckbox: "menuitemcheckbox",
29
- /**
30
- * The menu item has a "menuitemradio" role
31
- */
32
- menuitemradio: "menuitemradio",
16
+ const styles$1 = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:12px}.base.two-lines{padding:12px;gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[aria-checked=true],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}";
17
+
18
+ const MenuItemRole = {
19
+ menuitem: "menuitem",
20
+ menuitemcheckbox: "menuitemcheckbox",
21
+ menuitemradio: "menuitemradio",
22
+ presentation: "presentation"
33
23
  };
34
- /**
35
- * @internal
36
- */
37
24
  const roleForMenuItem = {
38
- [MenuItemRole$1.menuitem]: "menuitem",
39
- [MenuItemRole$1.menuitemcheckbox]: "menuitemcheckbox",
40
- [MenuItemRole$1.menuitemradio]: "menuitemradio",
25
+ [MenuItemRole.menuitem]: "menuitem",
26
+ [MenuItemRole.menuitemcheckbox]: "menuitemcheckbox",
27
+ [MenuItemRole.menuitemradio]: "menuitemradio",
28
+ [MenuItemRole.presentation]: "presentation"
41
29
  };
42
30
 
43
- const styles$1 = ":host(:focus-visible){outline:none}:host([disabled]){pointer-events:none}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.base:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base.connotation-cta{--_connotation-color-primary: var(--vvd-menu-item-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-menu-item-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-menu-item-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-menu-item-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-menu-item-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-menu-item-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-menu-item-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-menu-item-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200))}.base{display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);inline-size:100%}.base:not(.two-lines){gap:12px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:8px;padding-inline:12px}.base.two-lines{padding:12px;gap:16px;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)) + 1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}:host(:not([role=presentation]):focus-visible) .base{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}.icon{flex-shrink:0;font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.action,.decorative{display:flex;place-content:center}.action{color:var(--_appearance-color-text)}.base.trailing .action,.base.has-meta .action{order:2}:host(:not([check-appearance],[aria-checked=true],[disabled])) .action{color:var(--vvd-color-neutral-500)}.base:not(.disabled) .decorative{color:var(--vvd-color-neutral-600)}.base.disabled .decorative{color:var(--vvd-color-neutral-200)}.base.has-meta .decorative{order:1}.chevron{order:3}.text{display:flex;overflow:hidden;flex-direction:column;gap:4px;margin-inline-end:auto}.text-primary,.text-secondary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font:var(--vvd-typography-base)}.text-primary{font:var(--vvd-typography-base);-webkit-line-clamp:var(--text-primary-line-clamp, 1)}.base:not(.disabled) .text-primary{color:var(--vvd-color-canvas-text)}.base.disabled .text-primary{color:var(--_appearance-color-text)}.base.two-lines .text-primary{font:var(--vvd-typography-base-bold)}.text-secondary{color:var(--vvd-color-neutral-800);font:var(--vvd-typography-base-condensed);-webkit-line-clamp:var(--text-secondary-line-clamp, 1)}.base.two-lines .text-secondary{color:var(--vvd-color-neutral-600)}.base.disabled .text-secondary{color:var(--_appearance-color-text)}.base.selected:not(.disabled) .text-secondary{color:var(--vvd-color-neutral-800)}";
44
-
45
31
  var __defProp$1 = Object.defineProperty;
46
32
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
47
33
  var __typeError = (msg) => {
@@ -382,10 +368,6 @@ var __decorateClass = (decorators, target, key, kind) => {
382
368
  if (result) __defProp(target, key, result);
383
369
  return result;
384
370
  };
385
- const MenuItemRole = {
386
- ...MenuItemRole$1,
387
- presentation: "presentation"
388
- };
389
371
  var CheckAppearance = /* @__PURE__ */ ((CheckAppearance2) => {
390
372
  CheckAppearance2["Normal"] = "normal";
391
373
  CheckAppearance2["TickOnly"] = "tick-only";
@@ -586,9 +568,6 @@ __decorateClass([
586
568
  __decorateClass([
587
569
  attr({ mode: "boolean" })
588
570
  ], MenuItem.prototype, "checked");
589
- __decorateClass([
590
- observable
591
- ], MenuItem.prototype, "submenuRegion");
592
571
  __decorateClass([
593
572
  observable
594
573
  ], MenuItem.prototype, "hasSubmenu");
@@ -2,7 +2,7 @@
2
2
 
3
3
  const definition = require('./definition27.cjs');
4
4
  const vividElement = require('./vivid-element.cjs');
5
- const applyMixins = require('./apply-mixins2.cjs');
5
+ const applyMixins = require('./apply-mixins.cjs');
6
6
  const affix = require('./affix.cjs');
7
7
  const when = require('./when.cjs');
8
8
  const classNames = require('./class-names.cjs');
@@ -1,6 +1,6 @@
1
1
  import { i as iconDefinition } from './definition27.js';
2
2
  import { V as VividElement, a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
3
- import { a as applyMixins } from './apply-mixins2.js';
3
+ import { a as applyMixins } from './apply-mixins.js';
4
4
  import { b as AffixIcon, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
5
5
  import { w as when } from './when.js';
6
6
  import { c as classNames } from './class-names.js';