@vonage/vivid 3.35.0 → 3.36.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 (66) hide show
  1. package/custom-elements.json +29 -0
  2. package/lib/menu-item/menu-item.d.ts +2 -0
  3. package/lib/menu-item/menu-item.template.d.ts +1 -1
  4. package/listbox/index.js +1 -1
  5. package/menu/index.js +2 -2
  6. package/menu-item/index.js +2 -1
  7. package/package.json +1 -1
  8. package/shared/affix.js +12 -5
  9. package/shared/definition.js +1 -1
  10. package/shared/definition10.js +1 -1
  11. package/shared/definition11.js +1 -1
  12. package/shared/definition12.js +1 -1
  13. package/shared/definition13.js +1 -1
  14. package/shared/definition14.js +1 -1
  15. package/shared/definition15.js +1 -1
  16. package/shared/definition16.js +2 -2
  17. package/shared/definition17.js +1 -1
  18. package/shared/definition18.js +1 -1
  19. package/shared/definition19.js +1 -1
  20. package/shared/definition2.js +1 -1
  21. package/shared/definition20.js +1 -1
  22. package/shared/definition21.js +1 -1
  23. package/shared/definition22.js +1 -1
  24. package/shared/definition23.js +1 -1
  25. package/shared/definition26.js +476 -54
  26. package/shared/definition27.js +7 -400
  27. package/shared/definition28.js +3 -3
  28. package/shared/definition29.js +1 -1
  29. package/shared/definition3.js +1 -1
  30. package/shared/definition31.js +1 -1
  31. package/shared/definition32.js +1 -1
  32. package/shared/definition33.js +4 -6
  33. package/shared/definition34.js +1 -1
  34. package/shared/definition35.js +1 -1
  35. package/shared/definition36.js +1 -1
  36. package/shared/definition37.js +1 -1
  37. package/shared/definition38.js +1 -1
  38. package/shared/definition39.js +5 -7
  39. package/shared/definition4.js +1 -1
  40. package/shared/definition40.js +1 -1
  41. package/shared/definition42.js +1 -1
  42. package/shared/definition43.js +1 -1
  43. package/shared/definition45.js +3 -3
  44. package/shared/definition46.js +1 -1
  45. package/shared/definition48.js +3 -3
  46. package/shared/definition49.js +1 -1
  47. package/shared/definition5.js +1 -1
  48. package/shared/definition51.js +1 -1
  49. package/shared/definition52.js +1 -1
  50. package/shared/definition53.js +1 -1
  51. package/shared/definition55.js +1 -1
  52. package/shared/definition6.js +1 -1
  53. package/shared/definition7.js +1 -1
  54. package/shared/definition8.js +1 -1
  55. package/shared/icon.js +1 -1
  56. package/shared/index2.js +66 -73
  57. package/shared/patterns/affix.d.ts +5 -1
  58. package/shared/patterns/form-elements/form-elements.d.ts +9 -7
  59. package/shared/text-field.js +1 -1
  60. package/style.css +276 -267
  61. package/styles/core/all.css +1 -1
  62. package/styles/core/theme.css +1 -1
  63. package/styles/core/typography.css +1 -1
  64. package/styles/tokens/theme-dark.css +4 -4
  65. package/styles/tokens/theme-light.css +4 -4
  66. package/styles/tokens/vivid-2-compat.css +1 -1
@@ -13,7 +13,7 @@ import { s as slotted } from './slotted.js';
13
13
  import { c as classNames } from './class-names.js';
14
14
  import { r as ref } from './ref.js';
15
15
 
16
- const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n@supports selector(:focus-visible) {\n :host(:focus-visible) {\n outline: none;\n }\n}\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n gap: 12px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n padding-inline: 16px;\n text-decoration: none;\n vertical-align: middle;\n word-break: break-word;\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:hover, .hover) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n.control {\n /* @cssprop [--vvd-tree-item-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-tree-item-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-tree-item-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-tree-item-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-tree-item-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));\n}\n@supports selector(:focus-visible) {\n .control:focus-visible {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control:not(.disabled) {\n cursor: pointer;\n}\n.control.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n.control .text {\n font: var(--vvd-typography-base);\n}\n\n.expandCollapseButton {\n display: flex;\n align-items: center;\n border-radius: 6px;\n font-size: 20px;\n}\n.expandCollapseButton .expandCollapseIcon {\n margin: 4px;\n}\n.expandCollapseButton:hover {\n background-color: var(--vvd-color-neutral-100);\n}\n\n.items {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin-block: 4px;\n padding-inline-start: 48px;\n}\n\n:host(:not(:focus-visible)) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: 20px;\n line-height: 1;\n}\n.control:not(.disabled, .selected) .icon {\n color: var(--vvd-color-neutral-600);\n}";
16
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n@supports selector(:focus-visible) {\n :host(:focus-visible) {\n outline: none;\n }\n}\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n gap: 12px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n padding-inline: 16px;\n text-decoration: none;\n vertical-align: middle;\n word-break: break-word;\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:hover, .hover) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n.control {\n /* @cssprop [--vvd-tree-item-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-tree-item-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-tree-item-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-tree-item-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-tree-item-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));\n}\n@supports selector(:focus-visible) {\n .control:focus-visible {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control:not(.disabled) {\n cursor: pointer;\n}\n.control.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n.control .text {\n font: var(--vvd-typography-base);\n}\n\n.expandCollapseButton {\n display: flex;\n align-items: center;\n border-radius: 6px;\n font-size: 20px;\n}\n.expandCollapseButton .expandCollapseIcon {\n margin: 4px;\n}\n.expandCollapseButton:hover {\n background-color: var(--vvd-color-neutral-100);\n}\n.selected .expandCollapseButton:hover {\n background-color: var(--vvd-color-neutral-700);\n}\n\n.items {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin-block: 4px;\n padding-inline-start: 48px;\n}\n\n:host(:not(:focus-visible)) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: 20px;\n line-height: 1;\n}\n.control:not(.disabled, .selected) .icon {\n color: var(--vvd-color-neutral-600);\n}";
17
17
 
18
18
  var __defProp = Object.defineProperty;
19
19
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,7 +1,7 @@
1
1
  import { h as html, r as registerFactory } from './index.js';
2
2
  import { F as Focus } from './focus.js';
3
3
 
4
- const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n:host {\n display: contents;\n border-radius: inherit;\n}\n\n.control {\n position: absolute;\n z-index: 1;\n box-sizing: border-box;\n border-radius: inherit;\n box-shadow: inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);\n inset: var(--focus-inset, 0);\n outline: 2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));\n outline-offset: -2px;\n}";
4
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n:host {\n display: contents;\n border-radius: inherit;\n}\n\n.control {\n position: absolute;\n z-index: 1;\n box-sizing: border-box;\n border-radius: inherit;\n box-shadow: inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);\n inset: var(--focus-inset, 0);\n outline: 2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));\n outline-offset: -2px;\n}";
5
5
 
6
6
  const focusTemplate = () => html`
7
7
  <span class="control"></span>`;
@@ -32,7 +32,7 @@ __decorateClass([
32
32
  ], Badge.prototype, "text", 2);
33
33
  applyMixins(Badge, AffixIconWithTrailing);
34
34
 
35
- const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n.base {\n --_badge-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_badge-block-size);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n column-gap: 8px;\n font: var(--vvd-typography-base-condensed-bold);\n padding-inline: 8px;\n vertical-align: middle;\n}\n.base.connotation-cta {\n /* @cssprop [--vvd-badge-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-badge-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-badge-cta-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-cta-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-cta-intermediate=var(--vvd-color-cta-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-cta-intermediate, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-badge-cta-soft=var(--vvd-color-cta-100)] */\n --_connotation-color-soft: var(--vvd-badge-cta-soft, var(--vvd-color-cta-100));\n /* @cssprop [--vvd-badge-cta-contrast=var(--vvd-color-cta-800)] */\n --_connotation-color-contrast: var(--vvd-badge-cta-contrast, var(--vvd-color-cta-800));\n /* @cssprop [--vvd-badge-cta-pale=var(--vvd-color-cta-300)] */\n --_connotation-color-pale: var(--vvd-badge-cta-pale, var(--vvd-color-cta-300));\n /* @cssprop [--vvd-badge-cta-fierce=var(--vvd-color-cta-700)] */\n --_connotation-color-fierce: var(--vvd-badge-cta-fierce, var(--vvd-color-cta-700));\n}\n.base.connotation-success {\n /* @cssprop [--vvd-badge-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-badge-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-badge-success-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-success-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-success-intermediate=var(--vvd-color-success-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-success-intermediate, var(--vvd-color-success-500));\n /* @cssprop [--vvd-badge-success-soft=var(--vvd-color-success-100)] */\n --_connotation-color-soft: var(--vvd-badge-success-soft, var(--vvd-color-success-100));\n /* @cssprop [--vvd-badge-success-contrast=var(--vvd-color-success-800)] */\n --_connotation-color-contrast: var(--vvd-badge-success-contrast, var(--vvd-color-success-800));\n /* @cssprop [--vvd-badge-success-pale=var(--vvd-color-success-300)] */\n --_connotation-color-pale: var(--vvd-badge-success-pale, var(--vvd-color-success-300));\n /* @cssprop [--vvd-badge-success-fierce=var(--vvd-color-success-700)] */\n --_connotation-color-fierce: var(--vvd-badge-success-fierce, var(--vvd-color-success-700));\n}\n.base.connotation-alert {\n /* @cssprop [--vvd-badge-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-badge-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-badge-alert-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-alert-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-alert-intermediate=var(--vvd-color-alert-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-alert-intermediate, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-badge-alert-soft=var(--vvd-color-alert-100)] */\n --_connotation-color-soft: var(--vvd-badge-alert-soft, var(--vvd-color-alert-100));\n /* @cssprop [--vvd-badge-alert-contrast=var(--vvd-color-alert-800)] */\n --_connotation-color-contrast: var(--vvd-badge-alert-contrast, var(--vvd-color-alert-800));\n /* @cssprop [--vvd-badge-alert-pale=var(--vvd-color-alert-300)] */\n --_connotation-color-pale: var(--vvd-badge-alert-pale, var(--vvd-color-alert-300));\n /* @cssprop [--vvd-badge-alert-fierce=var(--vvd-color-alert-700)] */\n --_connotation-color-fierce: var(--vvd-badge-alert-fierce, var(--vvd-color-alert-700));\n}\n.base.connotation-warning {\n /* @cssprop [--vvd-badge-warning-primary=var(--vvd-color-warning-300)] */\n --_connotation-color-primary: var(--vvd-badge-warning-primary, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-badge-warning-primary-text=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary-text: var(--vvd-badge-warning-primary-text, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-badge-warning-intermediate=var(--vvd-color-warning-300)] */\n --_connotation-color-intermediate: var(--vvd-badge-warning-intermediate, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-badge-warning-soft=var(--vvd-color-warning-100)] */\n --_connotation-color-soft: var(--vvd-badge-warning-soft, var(--vvd-color-warning-100));\n /* @cssprop [--vvd-badge-warning-contrast=var(--vvd-color-warning-800)] */\n --_connotation-color-contrast: var(--vvd-badge-warning-contrast, var(--vvd-color-warning-800));\n /* @cssprop [--vvd-badge-warning-pale=var(--vvd-color-warning-300)] */\n --_connotation-color-pale: var(--vvd-badge-warning-pale, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-badge-warning-fierce=var(--vvd-color-warning-700)] */\n --_connotation-color-fierce: var(--vvd-badge-warning-fierce, var(--vvd-color-warning-700));\n}\n.base.connotation-information {\n /* @cssprop [--vvd-badge-information-primary=var(--vvd-color-information-500)] */\n --_connotation-color-primary: var(--vvd-badge-information-primary, var(--vvd-color-information-500));\n /* @cssprop [--vvd-badge-information-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-information-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-information-intermediate=var(--vvd-color-information-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-information-intermediate, var(--vvd-color-information-500));\n /* @cssprop [--vvd-badge-information-soft=var(--vvd-color-information-100)] */\n --_connotation-color-soft: var(--vvd-badge-information-soft, var(--vvd-color-information-100));\n /* @cssprop [--vvd-badge-information-contrast=var(--vvd-color-information-800)] */\n --_connotation-color-contrast: var(--vvd-badge-information-contrast, var(--vvd-color-information-800));\n /* @cssprop [--vvd-badge-information-pale=var(--vvd-color-information-300)] */\n --_connotation-color-pale: var(--vvd-badge-information-pale, var(--vvd-color-information-300));\n /* @cssprop [--vvd-badge-information-fierce=var(--vvd-color-information-700)] */\n --_connotation-color-fierce: var(--vvd-badge-information-fierce, var(--vvd-color-information-700));\n}\n.base:not(.connotation-cta, .connotation-success, .connotation-alert, .connotation-warning, .connotation-information) {\n /* @cssprop [--vvd-badge-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-badge-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-badge-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-accent-intermediate=var(--vvd-color-neutral-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-accent-intermediate, var(--vvd-color-neutral-500));\n /* @cssprop [--vvd-badge-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-badge-accent-soft, var(--vvd-color-neutral-100));\n /* @cssprop [--vvd-badge-accent-contrast=var(--vvd-color-neutral-800)] */\n --_connotation-color-contrast: var(--vvd-badge-accent-contrast, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-badge-accent-pale=var(--vvd-color-neutral-300)] */\n --_connotation-color-pale: var(--vvd-badge-accent-pale, var(--vvd-color-neutral-300));\n /* @cssprop [--vvd-badge-accent-fierce=var(--vvd-color-neutral-700)] */\n --_connotation-color-fierce: var(--vvd-badge-accent-fierce, var(--vvd-color-neutral-700));\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.base.appearance-duotone {\n --_appearance-color-text: var(--_connotation-color-fierce);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-pale);\n}\n.base.appearance-subtle {\n --_appearance-color-text: var(--_connotation-color-contrast);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base:not(.icon-only) {\n max-inline-size: 100%;\n}\n.base.icon-only {\n contain: size;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .base.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .base.icon-only {\n inline-size: var(--_badge-block-size);\n }\n}\n\n.text {\n overflow: hidden;\n max-inline-size: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Shape */\n.base:not(.shape-pill) {\n border-radius: 4px;\n}\n\n.base.shape-pill {\n border-radius: 14px;\n}\n\n/* Icon */\n.icon {\n display: flex;\n flex-shrink: 0;\n font-size: calc(var(--_badge-block-size) / 1.6667);\n line-height: 1;\n}\n.icon-trailing .icon {\n order: 1;\n}";
35
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n.base {\n --_badge-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_badge-block-size);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n column-gap: 8px;\n font: var(--vvd-typography-base-condensed-bold);\n padding-inline: 8px;\n vertical-align: middle;\n}\n.base.connotation-cta {\n /* @cssprop [--vvd-badge-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-badge-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-badge-cta-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-cta-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-cta-intermediate=var(--vvd-color-cta-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-cta-intermediate, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-badge-cta-soft=var(--vvd-color-cta-100)] */\n --_connotation-color-soft: var(--vvd-badge-cta-soft, var(--vvd-color-cta-100));\n /* @cssprop [--vvd-badge-cta-contrast=var(--vvd-color-cta-800)] */\n --_connotation-color-contrast: var(--vvd-badge-cta-contrast, var(--vvd-color-cta-800));\n /* @cssprop [--vvd-badge-cta-pale=var(--vvd-color-cta-300)] */\n --_connotation-color-pale: var(--vvd-badge-cta-pale, var(--vvd-color-cta-300));\n /* @cssprop [--vvd-badge-cta-fierce=var(--vvd-color-cta-700)] */\n --_connotation-color-fierce: var(--vvd-badge-cta-fierce, var(--vvd-color-cta-700));\n}\n.base.connotation-success {\n /* @cssprop [--vvd-badge-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-badge-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-badge-success-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-success-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-success-intermediate=var(--vvd-color-success-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-success-intermediate, var(--vvd-color-success-500));\n /* @cssprop [--vvd-badge-success-soft=var(--vvd-color-success-100)] */\n --_connotation-color-soft: var(--vvd-badge-success-soft, var(--vvd-color-success-100));\n /* @cssprop [--vvd-badge-success-contrast=var(--vvd-color-success-800)] */\n --_connotation-color-contrast: var(--vvd-badge-success-contrast, var(--vvd-color-success-800));\n /* @cssprop [--vvd-badge-success-pale=var(--vvd-color-success-300)] */\n --_connotation-color-pale: var(--vvd-badge-success-pale, var(--vvd-color-success-300));\n /* @cssprop [--vvd-badge-success-fierce=var(--vvd-color-success-700)] */\n --_connotation-color-fierce: var(--vvd-badge-success-fierce, var(--vvd-color-success-700));\n}\n.base.connotation-alert {\n /* @cssprop [--vvd-badge-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-badge-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-badge-alert-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-alert-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-alert-intermediate=var(--vvd-color-alert-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-alert-intermediate, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-badge-alert-soft=var(--vvd-color-alert-100)] */\n --_connotation-color-soft: var(--vvd-badge-alert-soft, var(--vvd-color-alert-100));\n /* @cssprop [--vvd-badge-alert-contrast=var(--vvd-color-alert-800)] */\n --_connotation-color-contrast: var(--vvd-badge-alert-contrast, var(--vvd-color-alert-800));\n /* @cssprop [--vvd-badge-alert-pale=var(--vvd-color-alert-300)] */\n --_connotation-color-pale: var(--vvd-badge-alert-pale, var(--vvd-color-alert-300));\n /* @cssprop [--vvd-badge-alert-fierce=var(--vvd-color-alert-700)] */\n --_connotation-color-fierce: var(--vvd-badge-alert-fierce, var(--vvd-color-alert-700));\n}\n.base.connotation-warning {\n /* @cssprop [--vvd-badge-warning-primary=var(--vvd-color-warning-300)] */\n --_connotation-color-primary: var(--vvd-badge-warning-primary, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-badge-warning-primary-text=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary-text: var(--vvd-badge-warning-primary-text, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-badge-warning-intermediate=var(--vvd-color-warning-300)] */\n --_connotation-color-intermediate: var(--vvd-badge-warning-intermediate, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-badge-warning-soft=var(--vvd-color-warning-100)] */\n --_connotation-color-soft: var(--vvd-badge-warning-soft, var(--vvd-color-warning-100));\n /* @cssprop [--vvd-badge-warning-contrast=var(--vvd-color-warning-800)] */\n --_connotation-color-contrast: var(--vvd-badge-warning-contrast, var(--vvd-color-warning-800));\n /* @cssprop [--vvd-badge-warning-pale=var(--vvd-color-warning-300)] */\n --_connotation-color-pale: var(--vvd-badge-warning-pale, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-badge-warning-fierce=var(--vvd-color-warning-700)] */\n --_connotation-color-fierce: var(--vvd-badge-warning-fierce, var(--vvd-color-warning-700));\n}\n.base.connotation-information {\n /* @cssprop [--vvd-badge-information-primary=var(--vvd-color-information-500)] */\n --_connotation-color-primary: var(--vvd-badge-information-primary, var(--vvd-color-information-500));\n /* @cssprop [--vvd-badge-information-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-information-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-information-intermediate=var(--vvd-color-information-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-information-intermediate, var(--vvd-color-information-500));\n /* @cssprop [--vvd-badge-information-soft=var(--vvd-color-information-100)] */\n --_connotation-color-soft: var(--vvd-badge-information-soft, var(--vvd-color-information-100));\n /* @cssprop [--vvd-badge-information-contrast=var(--vvd-color-information-800)] */\n --_connotation-color-contrast: var(--vvd-badge-information-contrast, var(--vvd-color-information-800));\n /* @cssprop [--vvd-badge-information-pale=var(--vvd-color-information-300)] */\n --_connotation-color-pale: var(--vvd-badge-information-pale, var(--vvd-color-information-300));\n /* @cssprop [--vvd-badge-information-fierce=var(--vvd-color-information-700)] */\n --_connotation-color-fierce: var(--vvd-badge-information-fierce, var(--vvd-color-information-700));\n}\n.base:not(.connotation-cta, .connotation-success, .connotation-alert, .connotation-warning, .connotation-information) {\n /* @cssprop [--vvd-badge-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-badge-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-badge-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-badge-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-badge-accent-intermediate=var(--vvd-color-neutral-500)] */\n --_connotation-color-intermediate: var(--vvd-badge-accent-intermediate, var(--vvd-color-neutral-500));\n /* @cssprop [--vvd-badge-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-badge-accent-soft, var(--vvd-color-neutral-100));\n /* @cssprop [--vvd-badge-accent-contrast=var(--vvd-color-neutral-800)] */\n --_connotation-color-contrast: var(--vvd-badge-accent-contrast, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-badge-accent-pale=var(--vvd-color-neutral-300)] */\n --_connotation-color-pale: var(--vvd-badge-accent-pale, var(--vvd-color-neutral-300));\n /* @cssprop [--vvd-badge-accent-fierce=var(--vvd-color-neutral-700)] */\n --_connotation-color-fierce: var(--vvd-badge-accent-fierce, var(--vvd-color-neutral-700));\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.base.appearance-duotone {\n --_appearance-color-text: var(--_connotation-color-fierce);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-pale);\n}\n.base.appearance-subtle {\n --_appearance-color-text: var(--_connotation-color-contrast);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base:not(.icon-only) {\n max-inline-size: 100%;\n}\n.base.icon-only {\n contain: size;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .base.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .base.icon-only {\n inline-size: var(--_badge-block-size);\n }\n}\n\n.text {\n overflow: hidden;\n max-inline-size: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Shape */\n.base:not(.shape-pill) {\n border-radius: 4px;\n}\n\n.base.shape-pill {\n border-radius: 14px;\n}\n\n/* Icon */\n.icon {\n display: flex;\n flex-shrink: 0;\n font-size: calc(var(--_badge-block-size) / 1.6667);\n line-height: 1;\n}\n.icon-trailing .icon {\n order: 1;\n}";
36
36
 
37
37
  const getClasses = ({
38
38
  connotation,
@@ -6,7 +6,7 @@ import { a as applyMixins } from './apply-mixins.js';
6
6
  import { w as when } from './when.js';
7
7
  import { c as classNames } from './class-names.js';
8
8
 
9
- const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n.control {\n overflow: hidden;\n max-height: 160px;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n transition: max-height var(--transition-delay, 200ms);\n}\n.control.connotation-success {\n /* @cssprop [--vvd-banner-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-banner-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-banner-success-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-success-primary-text, var(--vvd-color-canvas));\n}\n.control.connotation-alert {\n /* @cssprop [--vvd-banner-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-banner-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-banner-alert-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-alert-primary-text, var(--vvd-color-canvas));\n}\n.control.connotation-announcement {\n /* @cssprop [--vvd-banner-announcement-primary=var(--vvd-color-announcement-500)] */\n --_connotation-color-primary: var(--vvd-banner-announcement-primary, var(--vvd-color-announcement-500));\n /* @cssprop [--vvd-banner-announcement-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-announcement-primary-text, var(--vvd-color-canvas));\n}\n.control.connotation-warning {\n /* @cssprop [--vvd-banner-warning-primary=var(--vvd-color-warning-300)] */\n --_connotation-color-primary: var(--vvd-banner-warning-primary, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-banner-warning-primary-text=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary-text: var(--vvd-banner-warning-primary-text, var(--vvd-color-canvas-text));\n}\n.control:not(.connotation-success, .connotation-alert, .connotation-announcement, .connotation-warning) {\n /* @cssprop [--vvd-banner-information-primary=var(--vvd-color-information-500)] */\n --_connotation-color-primary: var(--vvd-banner-information-primary, var(--vvd-color-information-500));\n /* @cssprop [--vvd-banner-information-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-information-primary-text, var(--vvd-color-canvas));\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control.removing {\n max-height: 0;\n}\n\n.header {\n display: flex;\n min-height: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 20));\n align-items: center;\n font: var(--vvd-typography-base-bold);\n inline-size: 100%;\n}\n.header .content {\n display: flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n column-gap: 16px;\n inline-size: 100%;\n padding-inline: 16px;\n}\n.header .content .icon {\n flex-shrink: 0;\n font-size: 20px;\n line-height: 1;\n}\n.header .content .action-items {\n flex-shrink: 0;\n}\n.header .dismiss-button {\n flex-shrink: 0;\n margin-inline-end: 8px;\n}";
9
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n.control {\n overflow: hidden;\n max-height: 160px;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n transition: max-height var(--transition-delay, 200ms);\n}\n.control.connotation-success {\n /* @cssprop [--vvd-banner-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-banner-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-banner-success-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-success-primary-text, var(--vvd-color-canvas));\n}\n.control.connotation-alert {\n /* @cssprop [--vvd-banner-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-banner-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-banner-alert-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-alert-primary-text, var(--vvd-color-canvas));\n}\n.control.connotation-announcement {\n /* @cssprop [--vvd-banner-announcement-primary=var(--vvd-color-announcement-500)] */\n --_connotation-color-primary: var(--vvd-banner-announcement-primary, var(--vvd-color-announcement-500));\n /* @cssprop [--vvd-banner-announcement-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-announcement-primary-text, var(--vvd-color-canvas));\n}\n.control.connotation-warning {\n /* @cssprop [--vvd-banner-warning-primary=var(--vvd-color-warning-300)] */\n --_connotation-color-primary: var(--vvd-banner-warning-primary, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-banner-warning-primary-text=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary-text: var(--vvd-banner-warning-primary-text, var(--vvd-color-canvas-text));\n}\n.control:not(.connotation-success, .connotation-alert, .connotation-announcement, .connotation-warning) {\n /* @cssprop [--vvd-banner-information-primary=var(--vvd-color-information-500)] */\n --_connotation-color-primary: var(--vvd-banner-information-primary, var(--vvd-color-information-500));\n /* @cssprop [--vvd-banner-information-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-banner-information-primary-text, var(--vvd-color-canvas));\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control.removing {\n max-height: 0;\n}\n\n.header {\n display: flex;\n min-height: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 20));\n align-items: center;\n font: var(--vvd-typography-base-bold);\n inline-size: 100%;\n}\n.header .content {\n display: flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n column-gap: 16px;\n inline-size: 100%;\n padding-inline: 16px;\n}\n.header .content .icon {\n flex-shrink: 0;\n font-size: 20px;\n line-height: 1;\n}\n.header .content .action-items {\n flex-shrink: 0;\n}\n.header .dismiss-button {\n flex-shrink: 0;\n margin-inline-end: 8px;\n}";
10
10
 
11
11
  var __defProp = Object.defineProperty;
12
12
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -7,7 +7,7 @@ import { I as Icon } from './icon.js';
7
7
  import { w as when } from './when.js';
8
8
  import { c as classNames } from './class-names.js';
9
9
 
10
- const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n.base {\n display: flex;\n align-items: center;\n color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base);\n}\n.base .separator {\n margin: 0 16px;\n color: var(--vvd-color-neutral-600);\n font-size: 12px;\n}\n\n.control {\n position: relative;\n font: inherit;\n}\n@supports selector(:focus-visible) {\n .control:focus-visible {\n outline: none;\n }\n}\n.control:any-link {\n color: var(--vvd-color-cta-600);\n text-decoration: none;\n}\n.control:any-link:hover {\n text-decoration: underline;\n}\n\n.focus-indicator {\n --focus-inset: -4px -8px;\n --focus-stroke-gap-color: transparent;\n border-radius: 6px;\n}\n.control:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
10
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n.base {\n display: flex;\n align-items: center;\n color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base);\n}\n.base .separator {\n margin: 0 16px;\n color: var(--vvd-color-neutral-600);\n font-size: 12px;\n}\n\n.control {\n position: relative;\n font: inherit;\n}\n@supports selector(:focus-visible) {\n .control:focus-visible {\n outline: none;\n }\n}\n.control:any-link {\n color: var(--vvd-color-cta-600);\n text-decoration: none;\n}\n.control:any-link:hover {\n text-decoration: underline;\n}\n\n.focus-indicator {\n --focus-inset: -4px -8px;\n --focus-stroke-gap-color: transparent;\n border-radius: 6px;\n}\n.control:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
11
11
 
12
12
  var __defProp = Object.defineProperty;
13
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
package/shared/icon.js CHANGED
@@ -143,7 +143,7 @@ _curry2(function memoizeWith(mFn, fn) {
143
143
  const memoizeWith$1 = memoizeWith;
144
144
 
145
145
  const ICONS_BASE_URL = "https://icon.resources.vonage.com";
146
- const ICONS_VERSION = "4.3.0";
146
+ const ICONS_VERSION = "4.4.0";
147
147
 
148
148
  const PLACEHOLDER_ICON = `<svg width="80%" height="80%" viewBox="0 0 64 64">
149
149
  <g>
package/shared/index2.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { I as Icon } from './icon.js';
2
- import { a as attr, o as observable, v as volatile, h as html } from './index.js';
2
+ import { a as attr, o as observable, h as html } from './index.js';
3
3
  import { w as when } from './when.js';
4
4
  import enUS from '../locales/en-US.js';
5
5
 
6
- const messageStyles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n.message {\n display: flex;\n contain: inline-size;\n font: var(--vvd-typography-base-condensed);\n gap: 4px;\n grid-column: 1/-1;\n}\n.message-text {\n color: var(--vvd-color-canvas-text);\n}\n.helper-message .message-text {\n color: var(--_low-ink-color);\n}\n.message-icon {\n font-size: 16px;\n}\n.success-message .message-icon {\n color: var(--vvd-color-success-500);\n}\n.error-message .message-icon {\n color: var(--vvd-color-alert-500);\n}";
6
+ const messageStyles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n.message {\n display: flex;\n contain: inline-size;\n font: var(--vvd-typography-base-condensed);\n gap: 4px;\n grid-column: 1/-1;\n}\n.message-text {\n color: var(--vvd-color-canvas-text);\n}\n.helper-message .message-text {\n color: var(--_low-ink-color);\n}\n.message-icon {\n font-size: 16px;\n}\n.success-message .message-icon {\n color: var(--vvd-color-success-500);\n}\n.error-message .message-icon {\n color: var(--vvd-color-alert-500);\n}";
7
7
 
8
8
  var __defProp$1 = Object.defineProperty;
9
9
  var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
@@ -16,8 +16,6 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
16
16
  __defProp$1(target, key, result);
17
17
  return result;
18
18
  };
19
- const ElementInternalsKey = "ElementInternals";
20
- const supportsElementInternals = () => ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
21
19
  class FormElementHelperText {
22
20
  }
23
21
  __decorateClass$1([
@@ -43,131 +41,126 @@ function formElements(constructor) {
43
41
  class Decorated extends constructor {
44
42
  constructor(...args) {
45
43
  super(...args);
46
- this.userValid = true;
47
- this.#blurred = false;
44
+ this.errorValidationMessage = "";
45
+ this.#forceErrorDisplay = false;
46
+ this.#hasBeenTouched = false;
48
47
  this.#handleInvalidEvent = () => {
49
- if (this.#blurred && this.dirtyValue)
50
- return;
51
- this.#blurred = true;
52
- this.dirtyValue = true;
48
+ this.#forceErrorDisplay = true;
53
49
  this.validate();
54
50
  };
55
51
  this.validate = () => {
56
- if (supportsElementInternals() && this.proxy instanceof HTMLElement) {
57
- this.setValidity(this.proxy.validity, this.proxy.validationMessage, this.control);
58
- } else {
59
- super.validate();
60
- }
61
- this.userValid = !this.userValid;
62
- if (this.proxy instanceof HTMLElement) {
63
- this.userValid = this.#blurred && this.dirtyValue ? !this.validationMessage : true;
64
- }
52
+ super.validate();
53
+ const shouldShowValidationError = this.#forceErrorDisplay || this.#hasBeenTouched && this.dirtyValue;
54
+ this.errorValidationMessage = shouldShowValidationError ? this.validationMessage : "";
65
55
  };
66
56
  this.addEventListener("blur", () => {
67
- this.#blurred = true;
57
+ this.#hasBeenTouched = true;
58
+ this.#forceErrorDisplay = false;
68
59
  this.validate();
69
60
  });
70
61
  this.addEventListener("focus", () => {
71
- this.#blurred = false;
62
+ this.#hasBeenTouched = false;
72
63
  });
73
64
  this.addEventListener("invalid", () => {
74
65
  this.proxy.dispatchEvent(new Event("invalid"));
75
66
  });
76
67
  }
77
- #blurred;
78
- get errorValidationMessage() {
79
- return this.userValid ? "" : this.validationMessage;
80
- }
68
+ #forceErrorDisplay;
69
+ #hasBeenTouched;
81
70
  connectedCallback() {
82
- super.connectedCallback?.();
71
+ super.connectedCallback();
83
72
  this.proxy.addEventListener("invalid", this.#handleInvalidEvent);
84
73
  }
85
74
  #handleInvalidEvent;
86
75
  disconnectedCallback() {
87
- super.disconnectedCallback?.();
76
+ super.disconnectedCallback();
88
77
  this.proxy.removeEventListener("invalid", this.#handleInvalidEvent);
89
78
  }
79
+ formResetCallback() {
80
+ this.#forceErrorDisplay = false;
81
+ super.formResetCallback();
82
+ this.validate();
83
+ }
90
84
  }
91
85
  __decorateClass$1([
92
86
  attr
93
87
  ], Decorated.prototype, "label", 2);
94
88
  __decorateClass$1([
95
89
  observable
96
- ], Decorated.prototype, "userValid", 2);
97
- __decorateClass$1([
98
- volatile
99
- ], Decorated.prototype, "errorValidationMessage", 1);
90
+ ], Decorated.prototype, "errorValidationMessage", 2);
100
91
  return Decorated;
101
92
  }
102
93
  function getFeedbackTemplate(messageType, context) {
103
94
  const MessageTypeMap = {
104
- "helper": {
105
- "messageProperty": "helperText",
106
- "className": "helper",
107
- "iconType": ""
95
+ helper: {
96
+ messageProperty: "helperText",
97
+ className: "helper",
98
+ iconType: ""
108
99
  },
109
- "error": {
110
- "messageProperty": "errorValidationMessage",
111
- "className": "error",
112
- "iconType": "info-line"
100
+ error: {
101
+ messageProperty: "errorValidationMessage",
102
+ className: "error",
103
+ iconType: "info-line"
113
104
  },
114
- "success": {
115
- "messageProperty": "successText",
116
- "className": "success",
117
- "iconType": "check-circle-line"
105
+ success: {
106
+ messageProperty: "successText",
107
+ className: "success",
108
+ iconType: "check-circle-line"
118
109
  }
119
110
  };
120
111
  const iconTag = context.tagFor(Icon);
121
112
  const messageTypeConfig = MessageTypeMap[messageType];
122
113
  const iconType = messageTypeConfig.iconType;
123
- return html`
124
- <style>
125
- ${messageStyles}
126
-
127
- </style>
128
- <div class="message ${MessageTypeMap[messageType].className}-message">
129
- ${when(() => iconType, html`
130
- <${iconTag} class="message-icon" name="${iconType}"></${iconTag}>`)}
131
- ${feedbackMessage({
114
+ return html` <style>
115
+ ${messageStyles}
116
+ </style>
117
+ <div class="message ${MessageTypeMap[messageType].className}-message">
118
+ ${when(
119
+ () => iconType,
120
+ html`
121
+ <${iconTag} class="message-icon" name="${iconType}"></${iconTag}>`
122
+ )}
123
+ ${feedbackMessage({
132
124
  messageProperty: MessageTypeMap[messageType].messageProperty
133
125
  })}
134
- </div>`;
126
+ </div>`;
135
127
  }
136
- function feedbackMessage({ messageProperty }) {
128
+ function feedbackMessage({
129
+ messageProperty
130
+ }) {
137
131
  return html`
138
- <span class="message-text">${(x) => x[messageProperty]}</span>
132
+ <span class="message-text">${(x) => x[messageProperty]}</span>
139
133
  `;
140
134
  }
141
135
  function errorText(constructor) {
142
136
  class Decorated extends constructor {
143
137
  constructor(...args) {
144
138
  super(...args);
145
- this.#shouldValidate = true;
146
- this.#prevSuccessText = "";
139
+ this.#blockValidateCalls = false;
147
140
  this._validate = this.validate;
148
141
  this.validate = () => {
149
- if (this.#shouldValidate)
142
+ if (!this.#blockValidateCalls)
150
143
  this._validate();
151
144
  };
152
145
  }
153
- #shouldValidate;
154
- #prevSuccessText;
155
- errorTextChanged(_, newmsg) {
156
- if (newmsg) {
157
- this.setValidity({ customError: true }, newmsg, this.control);
158
- this.#prevSuccessText = this.successText;
159
- this.successText = "";
160
- this.userValid = !this.userValid;
161
- this.userValid = false;
162
- this.#shouldValidate = false;
146
+ #blockValidateCalls;
147
+ errorTextChanged(_, newErrorText) {
148
+ if (newErrorText) {
149
+ this.#forceCustomError(newErrorText);
163
150
  } else {
164
- this.setValidity({ customError: false }, "", this.control);
165
- this.successText = this.#prevSuccessText;
166
- this.userValid = true;
167
- this.#shouldValidate = true;
168
- this._validate();
151
+ this.#clearCustomErrorAndRevalidate();
169
152
  }
170
153
  }
154
+ #forceCustomError(errorMessage) {
155
+ this.setValidity({ customError: true }, errorMessage, this.control);
156
+ this.errorValidationMessage = errorMessage;
157
+ this.#blockValidateCalls = true;
158
+ }
159
+ #clearCustomErrorAndRevalidate() {
160
+ this.setValidity({ customError: false }, "", this.control);
161
+ this.#blockValidateCalls = false;
162
+ this.validate();
163
+ }
171
164
  }
172
165
  __decorateClass$1([
173
166
  attr({ attribute: "error-text" })
@@ -6,4 +6,8 @@ export declare class AffixIcon {
6
6
  export declare class AffixIconWithTrailing extends AffixIcon {
7
7
  iconTrailing: boolean;
8
8
  }
9
- export declare const affixIconTemplateFactory: (context: ElementDefinitionContext, withWrapper?: boolean) => (icon?: string) => ViewTemplate<AffixIcon> | null;
9
+ export declare const IconWrapper: {
10
+ Slot: boolean;
11
+ Span: boolean;
12
+ };
13
+ export declare const affixIconTemplateFactory: (context: ElementDefinitionContext) => (icon?: string, slottedState?: boolean) => ViewTemplate<AffixIcon> | null;
@@ -1,6 +1,6 @@
1
1
  import type { ElementDefinitionContext } from '@microsoft/fast-foundation';
2
2
  export interface FormElement {
3
- errorValidationMessage: boolean;
3
+ errorValidationMessage: string;
4
4
  label: string;
5
5
  userValid: boolean;
6
6
  dirtyValue: boolean;
@@ -32,12 +32,13 @@ export declare function formElements<T extends {
32
32
  new (...args: any[]): {
33
33
  [x: string]: any;
34
34
  label?: string | undefined;
35
- userValid: boolean;
36
- "__#2@#blurred": boolean;
37
- readonly errorValidationMessage: any;
35
+ errorValidationMessage: string;
36
+ "__#2@#forceErrorDisplay": boolean;
37
+ "__#2@#hasBeenTouched": boolean;
38
38
  connectedCallback(): void;
39
39
  "__#2@#handleInvalidEvent": () => void;
40
40
  disconnectedCallback(): void;
41
+ formResetCallback(): void;
41
42
  validate: () => void;
42
43
  };
43
44
  } & T;
@@ -49,9 +50,10 @@ export declare function errorText<T extends {
49
50
  new (...args: any[]): {
50
51
  [x: string]: any;
51
52
  errorText?: string | undefined;
52
- "__#3@#shouldValidate": boolean;
53
- "__#3@#prevSuccessText": string;
54
- errorTextChanged(_: string, newmsg: string | undefined): void;
53
+ "__#3@#blockValidateCalls": boolean;
54
+ errorTextChanged(_: string, newErrorText: string | undefined): void;
55
+ "__#3@#forceCustomError"(errorMessage: string): void;
56
+ "__#3@#clearCustomErrorAndRevalidate"(): void;
55
57
  };
56
58
  } & T;
57
59
  export {};
@@ -1,3 +1,3 @@
1
- const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n --_text-field-gutter: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2.5);\n --_text-field-icon-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2);\n display: inline-grid;\n width: 100%;\n gap: 4px;\n grid-template-columns: min-content 1fr max-content;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)).appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-300);\n}\n.base:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-600);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base.connotation-success {\n /* @cssprop [--vvd-text-field-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-text-field-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-text-field-success-backdrop=var(--vvd-color-success-50)] */\n --_connotation-color-backdrop: var(--vvd-text-field-success-backdrop, var(--vvd-color-success-50));\n /* @cssprop [--vvd-text-field-success-intermediate=var(--vvd-color-success-500)] */\n --_connotation-color-intermediate: var(--vvd-text-field-success-intermediate, var(--vvd-color-success-500));\n /* @cssprop [--vvd-text-field-success-firm=var(--vvd-color-success-600)] */\n --_connotation-color-firm: var(--vvd-text-field-success-firm, var(--vvd-color-success-600));\n /* @cssprop [--vvd-text-field-success-faint=var(--vvd-color-success-50)] */\n --_connotation-color-faint: var(--vvd-text-field-success-faint, var(--vvd-color-success-50));\n /* @cssprop [--vvd-text-field-success-soft=var(--vvd-color-success-100)] */\n --_connotation-color-soft: var(--vvd-text-field-success-soft, var(--vvd-color-success-100));\n}\n.base.connotation-alert {\n /* @cssprop [--vvd-text-field-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-text-field-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-text-field-alert-backdrop=var(--vvd-color-alert-50)] */\n --_connotation-color-backdrop: var(--vvd-text-field-alert-backdrop, var(--vvd-color-alert-50));\n /* @cssprop [--vvd-text-field-alert-intermediate=var(--vvd-color-alert-500)] */\n --_connotation-color-intermediate: var(--vvd-text-field-alert-intermediate, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-text-field-alert-firm=var(--vvd-color-alert-600)] */\n --_connotation-color-firm: var(--vvd-text-field-alert-firm, var(--vvd-color-alert-600));\n /* @cssprop [--vvd-text-field-alert-faint=var(--vvd-color-alert-50)] */\n --_connotation-color-faint: var(--vvd-text-field-alert-faint, var(--vvd-color-alert-50));\n /* @cssprop [--vvd-text-field-alert-soft=var(--vvd-color-alert-100)] */\n --_connotation-color-soft: var(--vvd-text-field-alert-soft, var(--vvd-color-alert-100));\n}\n.base:not(.connotation-success, .connotation-alert) {\n /* @cssprop [--vvd-text-field-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-text-field-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-text-field-accent-backdrop=var(--vvd-color-canvas)] */\n --_connotation-color-backdrop: var(--vvd-text-field-accent-backdrop, var(--vvd-color-canvas));\n /* @cssprop [--vvd-text-field-accent-intermediate=var(--vvd-color-neutral-500)] */\n --_connotation-color-intermediate: var(--vvd-text-field-accent-intermediate, var(--vvd-color-neutral-500));\n /* @cssprop [--vvd-text-field-accent-firm=var(--vvd-color-canvas-text)] */\n --_connotation-color-firm: var(--vvd-text-field-accent-firm, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-text-field-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-text-field-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-text-field-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-text-field-accent-soft, var(--vvd-color-neutral-100));\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n.base.disabled {\n --_low-ink-color: var(--_appearance-color-text);\n}\n\n.label {\n color: var(--vvd-color-canvas-text);\n contain: inline-size;\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n grid-row: 1;\n}\n.char-count + .label {\n grid-column: 1/3;\n}\n\n.char-count {\n color: var(--_low-ink-color);\n font: var(--vvd-typography-base);\n grid-column: 3/4;\n}\n\n.fieldset {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n padding-block: 0;\n transition: color 0.2s, background-color 0.2s;\n /* Shape */\n}\n.fieldset::after {\n position: absolute;\n display: block;\n block-size: 100%;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n content: \"\";\n inline-size: 100%;\n pointer-events: none;\n transition: box-shadow 0.2s;\n}\n.fieldset:focus-visible {\n outline: none;\n}\n.base > .fieldset {\n block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.base:not(.shape-pill) .fieldset {\n border-radius: 6px;\n}\n.base.shape-pill .fieldset {\n border-radius: 24px;\n}\n\n.wrapper {\n block-size: 100%;\n border-radius: inherit;\n inline-size: 100%;\n}\n.wrapper:focus-visible {\n outline: none;\n}\n\n.control {\n width: 100%;\n box-sizing: border-box;\n border: 0 none;\n appearance: none; /* for box-shadow visibility on IOS */\n background-color: transparent;\n block-size: 100%;\n border-radius: inherit;\n color: inherit;\n font: inherit;\n padding-block: 0;\n padding-inline-end: var(--_text-field-gutter);\n padding-inline-start: var(--_text-field-gutter);\n}\n.control:disabled {\n cursor: not-allowed;\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_appearance-color-text); /* 1. sets text fill to current `color` for safari */\n}\n.control::placeholder, .control:disabled::placeholder {\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_low-ink-color); /* 1. sets text fill to current `color` for safari */\n}\n.control:focus-visible {\n outline: none;\n}\n.has-icon .control {\n padding-inline-start: calc(var(--_text-field-icon-size) + var(--_text-field-gutter) * 2);\n}\n\n.icon {\n position: absolute;\n z-index: 1;\n color: var(--_low-ink-color);\n font-size: var(--_text-field-icon-size);\n inset-block-start: 50%;\n inset-inline-start: calc(100% + var(--_text-field-gutter));\n line-height: 1;\n transform: translateY(-50%);\n}\n\n.leading-items-wrapper {\n position: relative;\n}\n.base.no-leading .leading-items-wrapper {\n display: none;\n}\n\n.action-items-wrapper {\n margin-inline-end: 4px;\n}\n.base:not(.action-items) .action-items-wrapper {\n display: none;\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.wrapper:not(:focus-visible, :focus-within) > .focus-indicator, .fieldset:not(:focus-visible, :focus-within) > .focus-indicator {\n display: none;\n}";
1
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 13 Sep 2023 10:58:27 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n --_text-field-gutter: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2.5);\n --_text-field-icon-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2);\n display: inline-grid;\n width: 100%;\n gap: 4px;\n grid-template-columns: min-content 1fr max-content;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)).appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-300);\n}\n.base:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-600);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base.connotation-success {\n /* @cssprop [--vvd-text-field-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-text-field-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-text-field-success-backdrop=var(--vvd-color-success-50)] */\n --_connotation-color-backdrop: var(--vvd-text-field-success-backdrop, var(--vvd-color-success-50));\n /* @cssprop [--vvd-text-field-success-intermediate=var(--vvd-color-success-500)] */\n --_connotation-color-intermediate: var(--vvd-text-field-success-intermediate, var(--vvd-color-success-500));\n /* @cssprop [--vvd-text-field-success-firm=var(--vvd-color-success-600)] */\n --_connotation-color-firm: var(--vvd-text-field-success-firm, var(--vvd-color-success-600));\n /* @cssprop [--vvd-text-field-success-faint=var(--vvd-color-success-50)] */\n --_connotation-color-faint: var(--vvd-text-field-success-faint, var(--vvd-color-success-50));\n /* @cssprop [--vvd-text-field-success-soft=var(--vvd-color-success-100)] */\n --_connotation-color-soft: var(--vvd-text-field-success-soft, var(--vvd-color-success-100));\n}\n.base.connotation-alert {\n /* @cssprop [--vvd-text-field-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-text-field-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-text-field-alert-backdrop=var(--vvd-color-alert-50)] */\n --_connotation-color-backdrop: var(--vvd-text-field-alert-backdrop, var(--vvd-color-alert-50));\n /* @cssprop [--vvd-text-field-alert-intermediate=var(--vvd-color-alert-500)] */\n --_connotation-color-intermediate: var(--vvd-text-field-alert-intermediate, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-text-field-alert-firm=var(--vvd-color-alert-600)] */\n --_connotation-color-firm: var(--vvd-text-field-alert-firm, var(--vvd-color-alert-600));\n /* @cssprop [--vvd-text-field-alert-faint=var(--vvd-color-alert-50)] */\n --_connotation-color-faint: var(--vvd-text-field-alert-faint, var(--vvd-color-alert-50));\n /* @cssprop [--vvd-text-field-alert-soft=var(--vvd-color-alert-100)] */\n --_connotation-color-soft: var(--vvd-text-field-alert-soft, var(--vvd-color-alert-100));\n}\n.base:not(.connotation-success, .connotation-alert) {\n /* @cssprop [--vvd-text-field-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-text-field-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-text-field-accent-backdrop=var(--vvd-color-canvas)] */\n --_connotation-color-backdrop: var(--vvd-text-field-accent-backdrop, var(--vvd-color-canvas));\n /* @cssprop [--vvd-text-field-accent-intermediate=var(--vvd-color-neutral-500)] */\n --_connotation-color-intermediate: var(--vvd-text-field-accent-intermediate, var(--vvd-color-neutral-500));\n /* @cssprop [--vvd-text-field-accent-firm=var(--vvd-color-canvas-text)] */\n --_connotation-color-firm: var(--vvd-text-field-accent-firm, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-text-field-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-text-field-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-text-field-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-text-field-accent-soft, var(--vvd-color-neutral-100));\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n.base.disabled {\n --_low-ink-color: var(--_appearance-color-text);\n}\n\n.label {\n color: var(--vvd-color-canvas-text);\n contain: inline-size;\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n grid-row: 1;\n}\n.char-count + .label {\n grid-column: 1/3;\n}\n\n.char-count {\n color: var(--_low-ink-color);\n font: var(--vvd-typography-base);\n grid-column: 3/4;\n}\n\n.fieldset {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n padding-block: 0;\n transition: color 0.2s, background-color 0.2s;\n /* Shape */\n}\n.fieldset::after {\n position: absolute;\n display: block;\n block-size: 100%;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n content: \"\";\n inline-size: 100%;\n pointer-events: none;\n transition: box-shadow 0.2s;\n}\n.fieldset:focus-visible {\n outline: none;\n}\n.base > .fieldset {\n block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.base:not(.shape-pill) .fieldset {\n border-radius: 6px;\n}\n.base.shape-pill .fieldset {\n border-radius: 24px;\n}\n\n.wrapper {\n block-size: 100%;\n border-radius: inherit;\n inline-size: 100%;\n}\n.wrapper:focus-visible {\n outline: none;\n}\n\n.control {\n width: 100%;\n box-sizing: border-box;\n border: 0 none;\n appearance: none; /* for box-shadow visibility on IOS */\n background-color: transparent;\n block-size: 100%;\n border-radius: inherit;\n color: inherit;\n font: inherit;\n padding-block: 0;\n padding-inline-end: var(--_text-field-gutter);\n padding-inline-start: var(--_text-field-gutter);\n}\n.control:disabled {\n cursor: not-allowed;\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_appearance-color-text); /* 1. sets text fill to current `color` for safari */\n}\n.control::placeholder, .control:disabled::placeholder {\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_low-ink-color); /* 1. sets text fill to current `color` for safari */\n}\n.control:focus-visible {\n outline: none;\n}\n.has-icon .control {\n padding-inline-start: calc(var(--_text-field-icon-size) + var(--_text-field-gutter) * 2);\n}\n\n.icon {\n position: absolute;\n z-index: 1;\n color: var(--_low-ink-color);\n font-size: var(--_text-field-icon-size);\n inset-block-start: 50%;\n inset-inline-start: calc(100% + var(--_text-field-gutter));\n line-height: 1;\n transform: translateY(-50%);\n}\n\n.leading-items-wrapper {\n position: relative;\n}\n.base.no-leading .leading-items-wrapper {\n display: none;\n}\n\n.action-items-wrapper {\n margin-inline-end: 4px;\n}\n.base:not(.action-items) .action-items-wrapper {\n display: none;\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.wrapper:not(:focus-visible, :focus-within) > .focus-indicator, .fieldset:not(:focus-visible, :focus-within) > .focus-indicator {\n display: none;\n}";
2
2
 
3
3
  export { styles as s };