@vonage/vivid 5.28.0 → 5.29.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 (90) hide show
  1. package/bundled/definition17.cjs +1 -1
  2. package/bundled/definition17.js +1 -1
  3. package/bundled/definition18.cjs +1 -1
  4. package/bundled/definition18.js +1 -1
  5. package/bundled/definition25.cjs +4 -4
  6. package/bundled/definition25.js +4 -4
  7. package/bundled/definition5.cjs +1 -1
  8. package/bundled/definition5.js +1 -1
  9. package/bundled/numberConverter.cjs +1 -1
  10. package/bundled/numberConverter.js +1 -1
  11. package/bundled/picker-field.template.cjs +5 -3
  12. package/bundled/picker-field.template.js +20 -17
  13. package/bundled/vivid-element.cjs +1 -1
  14. package/bundled/vivid-element.js +1 -1
  15. package/color-picker/index.cjs +1 -1
  16. package/color-picker/index.js +1 -1
  17. package/custom-elements.json +2369 -2195
  18. package/data-grid/index.cjs +1 -1
  19. package/data-grid/index.js +1 -1
  20. package/empty-state/index.cjs +2 -2
  21. package/empty-state/index.js +3 -3
  22. package/lib/date-picker/date-picker.d.ts +4 -0
  23. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  24. package/lib/date-time-picker/date-time-picker.d.ts +4 -0
  25. package/lib/empty-state/definition.d.ts +1 -1
  26. package/lib/empty-state/empty-state.d.ts +3 -1
  27. package/lib/number-field/definition.d.ts +1 -1
  28. package/lib/number-field/number-field.d.ts +3 -1
  29. package/lib/rich-text-editor/rte/features/suggest.d.ts +7 -1
  30. package/lib/time-picker/time-picker.d.ts +2 -0
  31. package/listbox/index.cjs +1 -1
  32. package/listbox/index.js +1 -1
  33. package/locales/de-DE.cjs +1 -1
  34. package/locales/de-DE.js +1 -1
  35. package/locales/en-GB.cjs +1 -1
  36. package/locales/en-GB.js +1 -1
  37. package/locales/ja-JP.cjs +1 -1
  38. package/locales/ja-JP.js +1 -1
  39. package/locales/zh-CN.cjs +1 -1
  40. package/locales/zh-CN.js +1 -1
  41. package/number-field/index.cjs +16 -14
  42. package/number-field/index.js +49 -31
  43. package/package.json +22 -22
  44. package/rich-text-editor/index.cjs +14 -14
  45. package/rich-text-editor/index.js +1820 -1791
  46. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  47. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  48. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  49. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  50. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  51. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  52. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  53. package/shared/picker-field/picker-field.d.ts +38 -31
  54. package/tabs/index.cjs +1 -1
  55. package/tabs/index.js +1 -1
  56. package/unbundled/definition16.cjs +1 -1
  57. package/unbundled/definition16.js +1 -1
  58. package/unbundled/definition2.cjs +4 -4
  59. package/unbundled/definition2.js +4 -4
  60. package/unbundled/definition28.cjs +5 -1
  61. package/unbundled/definition28.js +5 -1
  62. package/unbundled/definition29.cjs +1 -1
  63. package/unbundled/definition29.js +1 -1
  64. package/unbundled/definition30.cjs +1 -1
  65. package/unbundled/definition30.js +1 -1
  66. package/unbundled/definition35.cjs +1 -1
  67. package/unbundled/definition35.js +1 -1
  68. package/unbundled/definition42.cjs +3 -2
  69. package/unbundled/definition42.js +3 -2
  70. package/unbundled/definition50.cjs +1 -1
  71. package/unbundled/definition50.js +1 -1
  72. package/unbundled/definition55.cjs +41 -8
  73. package/unbundled/definition55.js +41 -8
  74. package/unbundled/definition6.cjs +1 -1
  75. package/unbundled/definition6.js +1 -1
  76. package/unbundled/definition63.cjs +45 -20
  77. package/unbundled/definition63.js +40 -15
  78. package/unbundled/definition76.cjs +1 -1
  79. package/unbundled/definition76.js +1 -1
  80. package/unbundled/en-US.cjs +1 -1
  81. package/unbundled/en-US.js +1 -1
  82. package/unbundled/numberConverter.cjs +1 -1
  83. package/unbundled/numberConverter.js +1 -1
  84. package/unbundled/picker-field.template.cjs +6 -1
  85. package/unbundled/picker-field.template.js +6 -1
  86. package/unbundled/vivid-element.cjs +1 -1
  87. package/unbundled/vivid-element.js +1 -1
  88. package/video-player/index.cjs +25 -25
  89. package/video-player/index.js +2437 -2412
  90. package/vivid.api.json +158 -3
@@ -1,29 +1,31 @@
1
- const e=require("../bundled/localized.cjs"),t=require("../bundled/vivid-element.cjs"),n=require("../bundled/slotted.cjs"),r=require("../bundled/ref.cjs"),i=require("../bundled/when.cjs"),a=require("../bundled/definition.cjs"),o=require("../bundled/enums.cjs"),s=require("../bundled/decorate.cjs"),c=require("../bundled/class-names.cjs"),l=require("../bundled/key-codes.cjs"),u=require("../bundled/definition2.cjs"),d=require("../bundled/affix.cjs"),f=require("../bundled/delegates-aria.cjs"),p=require("../bundled/component-enum.cjs"),m=require("../bundled/form-associated.cjs"),h=require("../bundled/definition5.cjs"),g=require("../bundled/feedback-message.cjs"),_=require("../bundled/definition10.cjs"),v=require("../bundled/form-element.cjs"),y=require("../bundled/with-contextual-help.cjs"),b=require("../bundled/with-error-text.cjs"),x=require("../bundled/with-success-text.cjs"),S=require("../bundled/mixins.cjs"),C=require("../bundled/definition20.cjs"),w=require("../bundled/divider.cjs");var T=`.label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{display:inline-block}.base{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));--_text-field-border-radius:8px;--_text-field-pill-border-radius:24px;grid-template-columns:min-content 1fr max-content;align-items:center;gap:4px;width:100%;display:inline-grid}.base.size-condensed{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));--_text-field-border-radius:4px}.base{user-select:none}.base:not(.disabled){--_low-ink-color:var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color:var(--_appearance-color-text)}.label:not(slot),.label::slotted(label){font:var(--vvd-typography-base);grid-area:1/1/auto/4;box-sizing:initial!important;padding:initial!important;margin:initial!important;color:var(--vvd-color-canvas-text)!important}.char-count+.label:not(slot),.char-count+.label::slotted(label){grid-column:1/3}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.label-wrapper{grid-area:1/1/auto/4}.char-count+.label-wrapper{grid-column:1/3}.fieldset{background-color:var(--_appearance-color-fill);font:var(--vvd-typography-base);grid-column:1/4;align-items:center;padding-block:0;transition:color .2s,background-color .2s;display:flex;position:relative}.fieldset:after{border-radius:inherit;block-size:100%;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:"";pointer-events:none;inline-size:100%;transition:box-shadow .2s;display:block;position:absolute}.fieldset:focus-visible{outline:none}.base>.fieldset{block-size:var(--_text-field-block-size)}.base:not(.shape-pill) .fieldset{border-radius:var(--_text-field-border-radius)}.base.shape-pill .fieldset{border-radius:var(--_text-field-pill-border-radius)}.wrapper{border-radius:inherit;block-size:100%;inline-size:100%}.control{border-radius:inherit;text-align:start}.control:not(slot),.control::slotted(input){font:inherit;text-align:inherit;outline:#0000;box-sizing:border-box!important;border-radius:inherit!important;width:100%!important;margin:initial!important;appearance:none!important;block-size:100%!important;color:inherit!important;padding-block:0!important;padding-inline:var(--_text-field-gutter-start) var(--_text-field-gutter-end)!important;background-color:#0000!important;border:0!important}.control:not(slot,:focus),.control::slotted(input:not(:focus)){text-overflow:ellipsis!important}.control:not(slot):disabled,.control::slotted(input:disabled){cursor:not-allowed!important;opacity:1!important;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot)::placeholder{opacity:1!important;-webkit-text-fill-color:var(--_low-ink-color)!important}.control::slotted(input:-webkit-autofill),.control:not(slot):-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control::slotted(input:autofill),.control:not(slot):autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.has-icon .control:not(slot),.has-icon .control::slotted(input){padding-inline-start:calc(var(--_text-field-icon-size) + var(--_text-field-gutter-start) * 2)!important}.icon{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);line-height:1;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + var(--_text-field-gutter-start));transform:translateY(-50%)}.leading-items-wrapper{position:relative}.base.no-leading .leading-items-wrapper{display:none}.action-items-wrapper{margin-inline-end:4px}.base:not(.action-items) .action-items-wrapper{display:none}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.wrapper .control:focus-within):after{--focus-stroke-gap-color:transparent;box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .wrapper:focus-within:after{box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:"";pointer-events:none;display:block;position:absolute;inset:0}}:host([internal-part]) .fieldset{font:var(--vvd-typography-heading-4);background-color:#0000;line-height:1.1}:host([internal-part]) .fieldset:not(:focus-within):after{block-size:1px;inset-block-end:0}@supports selector(:has(*)){:host([internal-part]) .fieldset:has(.action-items-wrapper:focus-within):after{block-size:1px;inset-block-end:0}}:host([internal-part]) .control{text-align:center}slot[name=_mirrored-helper-text]{display:none}.base{--_text-field-gutter-end:70px}.control::-webkit-outer-spin-button,.control::-webkit-inner-spin-button{appearance:none}.control-buttons{z-index:1;display:flex;position:absolute;right:3px}.readonly .control-buttons,.disabled .control-buttons{pointer-events:none}.control-buttons .divider{margin-block:8px}.control-buttons>*{flex-shrink:0}`,E=p.t([`fieldset`,`ghost`],`fieldset`),D={up:1,down:-1};function O(e,t){let n=parseFloat(e.value),r=isNaN(n)?e.min>0?e.min:e.max<0?e.max:e.min?0:t*e.step:n+t*e.step;e.value=Number(r.toFixed(12)).toString(),e._updatedValueAnnouncement=e.locale.numberField.updatedValueAnnouncement(e._presentationValue)}var k=e=>{let t=e.source;return{invalidCharacters:RegExp(`[^0-9\\-+e${t}]`,`g`),additionalDecimalSeparators:RegExp(`(?<=${t}.*)${t}`,`g`),trailingDecimalSeparator:RegExp(`${t}$`),decimalSeparator:e}},A=k(/\./),j=k(/,/),M=/^-?((\d*\.\d+)|(\d+))$/,N=class extends y.t(S.t(b.t(x.t(v.t(d.t(e.t(f.t(m.n(t.t))))))))){constructor(...e){super(...e),this.proxy=document.createElement(`input`),this.readOnly=!1,this.autofocus=!1,this.step=1,this.isUserInput=!1,this._presentationValue=``,this._updatedValueAnnouncement=``,this.incrementButtonAriaLabel=null,this.decrementButtonAriaLabel=null}stepChanged(e,t){this.proxy.setAttribute(`step`,Number.isFinite(t)?t.toString():``)}maxChanged(e,t){this.max=Math.max(t,this.min??t),this.proxy.max=this.max.toString(),this.validate()}minChanged(e,t){this.min=Math.min(t,this.max??t),this.proxy.min=this.min.toString(),this.validate()}get valueAsNumber(){return parseFloat(this.value)}set valueAsNumber(e){this.value=e.toString()}valueChanged(e,t){this.value=M.test(t)?t:``,t===this.value&&(this.control&&!this.isUserInput&&(this._presentationValue=this.#e(this.value)),super.valueChanged(e,this.value),e!==void 0&&!this.isUserInput&&(this.$emit(`input`),this.$emit(`change`)))}get _numberPatterns(){return this.locale.common.useCommaAsDecimalSeparator?j:A}#e(e){return e.replace(`.`,this.locale.common.useCommaAsDecimalSeparator?`,`:`.`)}#t(e){return e.replace(this._numberPatterns.invalidCharacters,``).replace(this._numberPatterns.additionalDecimalSeparators,``)}#n(e){let t=e.replace(this._numberPatterns.trailingDecimalSeparator,``).replace(this._numberPatterns.decimalSeparator,`.`);return M.test(t)?t:``}validate(){super.validate(this.control)}stepUp(){O(this,D.up)}stepDown(){O(this,D.down)}connectedCallback(){super.connectedCallback(),this.proxy.setAttribute(`type`,`number`),this.validate(),this._presentationValue=this.#e(this.value),this.autofocus&&t.M.enqueue(()=>{this.focus()})}select(){this.control.select(),this.$emit(`select`)}handleTextInput(){this._presentationValue=this.#t(this.control.value),this.control.value!==this._presentationValue&&(this.control.value=this._presentationValue),this.isUserInput=!0,this.value=this.#n(this._presentationValue),this.isUserInput=!1}handleChange(){this.$emit(`change`)}handleKeyDown(e){switch(e.key){case l.i:return this.stepUp(),!1;case l.t:return this.stepDown(),!1}return!0}};s.t([t.m({attribute:`readonly`,mode:`boolean`})],N.prototype,`readOnly`,void 0),s.t([t.m({mode:`boolean`})],N.prototype,`autofocus`,void 0),s.t([t.m],N.prototype,`placeholder`,void 0),s.t([t.m],N.prototype,`list`,void 0),s.t([t.m({converter:t.h})],N.prototype,`maxlength`,void 0),s.t([t.m({converter:t.h})],N.prototype,`minlength`,void 0),s.t([t.m({converter:t.h})],N.prototype,`size`,void 0),s.t([t.m()],N.prototype,`scale`,void 0),s.t([t.m({converter:t.h})],N.prototype,`step`,void 0),s.t([t.m({converter:t.h})],N.prototype,`max`,void 0),s.t([t.m({converter:t.h})],N.prototype,`min`,void 0),s.t([t.A],N.prototype,`defaultSlottedNodes`,void 0),s.t([t.A],N.prototype,`_presentationValue`,void 0),s.t([t.A],N.prototype,`_updatedValueAnnouncement`,void 0),s.t([t.m({attribute:`increment-button-aria-label`})],N.prototype,`incrementButtonAriaLabel`,void 0),s.t([t.m({attribute:`decrement-button-aria-label`})],N.prototype,`decrementButtonAriaLabel`,void 0),s.t([t.m],N.prototype,`appearance`,void 0),s.t([t.m],N.prototype,`shape`,void 0),s.t([t.m],N.prototype,`autoComplete`,void 0);function P(){return t.p` <label for="control" class="label">
1
+ const e=require("../bundled/localized.cjs"),t=require("../bundled/vivid-element.cjs"),n=require("../bundled/slotted.cjs"),r=require("../bundled/ref.cjs"),i=require("../bundled/when.cjs"),a=require("../bundled/definition.cjs"),o=require("../bundled/enums.cjs"),s=require("../bundled/decorate.cjs"),c=require("../bundled/class-names.cjs"),l=require("../bundled/key-codes.cjs"),u=require("../bundled/definition2.cjs"),d=require("../bundled/affix.cjs"),f=require("../bundled/delegates-aria.cjs"),p=require("../bundled/component-enum.cjs"),m=require("../bundled/form-associated.cjs"),h=require("../bundled/definition5.cjs"),g=require("../bundled/feedback-message.cjs"),_=require("../bundled/definition10.cjs"),v=require("../bundled/form-element.cjs"),y=require("../bundled/with-contextual-help.cjs"),b=require("../bundled/with-error-text.cjs"),x=require("../bundled/with-success-text.cjs"),S=require("../bundled/mixins.cjs"),C=require("../bundled/definition20.cjs"),w=require("../bundled/divider.cjs");var T=`.label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{display:inline-block}.base{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));--_text-field-border-radius:8px;--_text-field-pill-border-radius:24px;grid-template-columns:min-content 1fr max-content;align-items:center;gap:4px;width:100%;display:inline-grid}.base.size-condensed{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));--_text-field-border-radius:4px}.base{user-select:none}.base:not(.disabled){--_low-ink-color:var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color:var(--_appearance-color-text)}.label:not(slot),.label::slotted(label){font:var(--vvd-typography-base);grid-area:1/1/auto/4;box-sizing:initial!important;padding:initial!important;margin:initial!important;color:var(--vvd-color-canvas-text)!important}.char-count+.label:not(slot),.char-count+.label::slotted(label){grid-column:1/3}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.label-wrapper{grid-area:1/1/auto/4}.char-count+.label-wrapper{grid-column:1/3}.fieldset{background-color:var(--_appearance-color-fill);font:var(--vvd-typography-base);grid-column:1/4;align-items:center;padding-block:0;transition:color .2s,background-color .2s;display:flex;position:relative}.fieldset:after{border-radius:inherit;block-size:100%;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:"";pointer-events:none;inline-size:100%;transition:box-shadow .2s;display:block;position:absolute}.fieldset:focus-visible{outline:none}.base>.fieldset{block-size:var(--_text-field-block-size)}.base:not(.shape-pill) .fieldset{border-radius:var(--_text-field-border-radius)}.base.shape-pill .fieldset{border-radius:var(--_text-field-pill-border-radius)}.wrapper{border-radius:inherit;block-size:100%;inline-size:100%}.control{border-radius:inherit;text-align:start}.control:not(slot),.control::slotted(input){font:inherit;text-align:inherit;outline:#0000;box-sizing:border-box!important;border-radius:inherit!important;width:100%!important;margin:initial!important;appearance:none!important;block-size:100%!important;color:inherit!important;padding-block:0!important;padding-inline:var(--_text-field-gutter-start) var(--_text-field-gutter-end)!important;background-color:#0000!important;border:0!important}.control:not(slot,:focus),.control::slotted(input:not(:focus)){text-overflow:ellipsis!important}.control:not(slot):disabled,.control::slotted(input:disabled){cursor:not-allowed!important;opacity:1!important;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot)::placeholder{opacity:1!important;-webkit-text-fill-color:var(--_low-ink-color)!important}.control::slotted(input:-webkit-autofill),.control:not(slot):-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control::slotted(input:autofill),.control:not(slot):autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.has-icon .control:not(slot),.has-icon .control::slotted(input){padding-inline-start:calc(var(--_text-field-icon-size) + var(--_text-field-gutter-start) * 2)!important}.icon{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);line-height:1;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + var(--_text-field-gutter-start));transform:translateY(-50%)}.leading-items-wrapper{position:relative}.base.no-leading .leading-items-wrapper{display:none}.action-items-wrapper{margin-inline-end:4px}.base:not(.action-items) .action-items-wrapper{display:none}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.wrapper .control:focus-within):after{--focus-stroke-gap-color:transparent;box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .wrapper:focus-within:after{box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:"";pointer-events:none;display:block;position:absolute;inset:0}}:host([internal-part]) .fieldset{font:var(--vvd-typography-heading-4);background-color:#0000;line-height:1.1}:host([internal-part]) .fieldset:not(:focus-within):after{block-size:1px;inset-block-end:0}@supports selector(:has(*)){:host([internal-part]) .fieldset:has(.action-items-wrapper:focus-within):after{block-size:1px;inset-block-end:0}}:host([internal-part]) .control{text-align:center}slot[name=_mirrored-helper-text]{display:none}.base{--_text-field-gutter-end:70px}.base.no-steppers{--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5)}.base.no-steppers.size-condensed{--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2)}.control::-webkit-outer-spin-button,.control::-webkit-inner-spin-button{appearance:none}.control-buttons{z-index:1;display:flex;position:absolute;right:3px}.control-buttons[hidden]{display:none}.readonly .control-buttons,.disabled .control-buttons{pointer-events:none}.control-buttons .divider{margin-block:8px}.control-buttons>*{flex-shrink:0}`,E=p.t([`fieldset`,`ghost`],`fieldset`),D={up:1,down:-1},O=1;function k(e,t){let n=e._numericStep,r=parseFloat(e.value),i=isNaN(r)?e.min>0?e.min:e.max<0?e.max:e.min?0:t*n:r+t*n;e.value=Number(i.toFixed(12)).toString(),e._updatedValueAnnouncement=e.locale.numberField.updatedValueAnnouncement(e._presentationValue)}var A={toView(e){return e===`any`?`any`:t.h.toView(e)},fromView(e){return typeof e==`string`&&e.trim().toLowerCase()===`any`?`any`:t.h.fromView(e)}},j=e=>{let t=e.source;return{invalidCharacters:RegExp(`[^0-9\\-+e${t}]`,`g`),additionalDecimalSeparators:RegExp(`(?<=${t}.*)${t}`,`g`),trailingDecimalSeparator:RegExp(`${t}$`),decimalSeparator:e}},M=j(/\./),N=j(/,/),P=/^-?((\d*\.\d+)|(\d+))$/,F=class extends y.t(S.t(b.t(x.t(v.t(d.t(e.t(f.t(m.n(t.t))))))))){constructor(...e){super(...e),this.proxy=document.createElement(`input`),this.readOnly=!1,this.autofocus=!1,this.step=1,this.noSteppers=!1,this.isUserInput=!1,this._presentationValue=``,this._updatedValueAnnouncement=``,this.incrementButtonAriaLabel=null,this.decrementButtonAriaLabel=null}stepChanged(e,t){this.proxy.setAttribute(`step`,t===`any`?`any`:Number.isFinite(t)?t.toString():``),this.validate()}get _hasSteppers(){return!this.noSteppers&&this.step!==`any`}get _numericStep(){return this.step===`any`?O:this.step}maxChanged(e,t){this.max=Math.max(t,this.min??t),this.proxy.max=this.max.toString(),this.validate()}minChanged(e,t){this.min=Math.min(t,this.max??t),this.proxy.min=this.min.toString(),this.validate()}get valueAsNumber(){return parseFloat(this.value)}set valueAsNumber(e){this.value=e.toString()}valueChanged(e,t){this.value=P.test(t)?t:``,t===this.value&&(this.control&&!this.isUserInput&&(this._presentationValue=this.#e(this.value)),super.valueChanged(e,this.value),e!==void 0&&!this.isUserInput&&(this.$emit(`input`),this.$emit(`change`)))}get _numberPatterns(){return this.locale.common.useCommaAsDecimalSeparator?N:M}#e(e){return e.replace(`.`,this.locale.common.useCommaAsDecimalSeparator?`,`:`.`)}#t(e){return e.replace(this._numberPatterns.invalidCharacters,``).replace(this._numberPatterns.additionalDecimalSeparators,``)}#n(e){let t=e.replace(this._numberPatterns.trailingDecimalSeparator,``).replace(this._numberPatterns.decimalSeparator,`.`);return P.test(t)?t:``}validate(){super.validate(this.control)}stepUp(){k(this,D.up)}stepDown(){k(this,D.down)}connectedCallback(){super.connectedCallback(),this.proxy.setAttribute(`type`,`number`),this.validate(),this._presentationValue=this.#e(this.value),this.autofocus&&t.M.enqueue(()=>{this.focus()})}select(){this.control.select(),this.$emit(`select`)}handleTextInput(){this._presentationValue=this.#t(this.control.value),this.control.value!==this._presentationValue&&(this.control.value=this._presentationValue),this.isUserInput=!0,this.value=this.#n(this._presentationValue),this.isUserInput=!1}handleChange(){this.$emit(`change`)}handleKeyDown(e){switch(e.key){case l.i:return this.stepUp(),!1;case l.t:return this.stepDown(),!1}return!0}};s.t([t.m({attribute:`readonly`,mode:`boolean`})],F.prototype,`readOnly`,void 0),s.t([t.m({mode:`boolean`})],F.prototype,`autofocus`,void 0),s.t([t.m],F.prototype,`placeholder`,void 0),s.t([t.m],F.prototype,`list`,void 0),s.t([t.m({converter:t.h})],F.prototype,`maxlength`,void 0),s.t([t.m({converter:t.h})],F.prototype,`minlength`,void 0),s.t([t.m({converter:t.h})],F.prototype,`size`,void 0),s.t([t.m()],F.prototype,`scale`,void 0),s.t([t.m({converter:A})],F.prototype,`step`,void 0),s.t([t.m({attribute:`no-steppers`,mode:`boolean`})],F.prototype,`noSteppers`,void 0),s.t([t.m({converter:t.h})],F.prototype,`max`,void 0),s.t([t.m({converter:t.h})],F.prototype,`min`,void 0),s.t([t.A],F.prototype,`defaultSlottedNodes`,void 0),s.t([t.A],F.prototype,`_presentationValue`,void 0),s.t([t.A],F.prototype,`_updatedValueAnnouncement`,void 0),s.t([t.m({attribute:`increment-button-aria-label`})],F.prototype,`incrementButtonAriaLabel`,void 0),s.t([t.m({attribute:`decrement-button-aria-label`})],F.prototype,`decrementButtonAriaLabel`,void 0),s.t([t.m],F.prototype,`appearance`,void 0),s.t([t.m],F.prototype,`shape`,void 0),s.t([t.m],F.prototype,`autoComplete`,void 0);function I(){return t.p` <label for="control" class="label">
2
2
  ${e=>e.label}
3
- </label>`}function F(e){return e.shape===o.i.Pill?o.i.Pill:null}function I(e){return e.disabled||e.readOnly?`-1`:null}function L(e){let n=e.tagFor(h.i),r=e.tagFor(w.t);return t.p`
4
- <div class="control-buttons" ?inert="${e=>e.disabled||e.readOnly}">
3
+ </label>`}function L(e){return e.shape===o.i.Pill?o.i.Pill:null}function R(e){return e.disabled||e.readOnly?`-1`:null}function z(e){let n=e.tagFor(h.i),r=e.tagFor(w.t);return t.p`
4
+ <div class="control-buttons"
5
+ ?hidden="${e=>!e._hasSteppers}"
6
+ ?inert="${e=>e.disabled||e.readOnly}">
5
7
  <${n} id="subtract" icon="minus-line"
6
8
  ?disabled="${e=>e.disabled||e.readOnly}"
7
- aria-label=${e=>e.decrementButtonAriaLabel||e.locale.numberField.decrementButtonLabel(e.step)}
8
- shape="${F}"
9
+ aria-label=${e=>e.decrementButtonAriaLabel||e.locale.numberField.decrementButtonLabel(e._numericStep)}
10
+ shape="${L}"
9
11
  type="button"
10
12
  size="${e=>e.scale===`condensed`?`super-condensed`:`condensed`}"
11
- tabindex="${I}"
13
+ tabindex="${R}"
12
14
  @click="${e=>e.stepDown()}"></${n}>
13
15
  <${r} class="divider" orientation="vertical"></${r}>
14
16
  <${n} id="add" icon="plus-line"
15
17
  ?disabled="${e=>e.disabled||e.readOnly}"
16
- aria-label=${e=>e.incrementButtonAriaLabel||e.locale.numberField.incrementButtonLabel(e.step)}
17
- shape="${F}"
18
+ aria-label=${e=>e.incrementButtonAriaLabel||e.locale.numberField.incrementButtonLabel(e._numericStep)}
19
+ shape="${L}"
18
20
  type="button"
19
21
  size="${e=>e.scale===`condensed`?`super-condensed`:`condensed`}"
20
- tabindex="${I}"
22
+ tabindex="${R}"
21
23
  @click="${e=>e.stepUp()}"></${n}>
22
24
  </div>
23
- `}var R=t.u(`number-field`,N,e=>{let o=e.tagFor(a.r);return t.p`
24
- <div class="base ${e=>c.t(`connotation-accent`,`appearance-${E.parse(e.appearance)}`,`with-idle`,`with-hover`,`with-disabled`,`with-readonly`,`with-error`,`with-success`,[`error`,!!e.errorValidationMessage],[`disabled`,e.disabled],[`has-value`,!!e.value],[`readonly`,e.readOnly],[`placeholder`,!!e.placeholder],[`shape-${e.shape}`,!!e.shape],[`no-label`,!e.label],[`success`,!!e.successText],[`size-${e.scale}`,!!e.scale])}">
25
+ `}var B=t.u(`number-field`,F,e=>{let o=e.tagFor(a.r);return t.p`
26
+ <div class="base ${e=>c.t(`connotation-accent`,`appearance-${E.parse(e.appearance)}`,`with-idle`,`with-hover`,`with-disabled`,`with-readonly`,`with-error`,`with-success`,[`error`,!!e.errorValidationMessage],[`disabled`,e.disabled],[`has-value`,!!e.value],[`readonly`,e.readOnly],[`placeholder`,!!e.placeholder],[`shape-${e.shape}`,!!e.shape],[`no-label`,!e.label],[`success`,!!e.successText],[`size-${e.scale}`,!!e.scale],[`no-steppers`,!e._hasSteppers])}">
25
27
  <div class="label-wrapper" ?hidden=${e=>!e.label&&!e._hasContextualHelp}>
26
- ${i.t(e=>e.label,P())}
28
+ ${i.t(e=>e.label,I())}
27
29
  <slot name="contextual-help" ${n.t(`_contextualHelpSlottedContent`)}></slot>
28
30
  </div>
29
31
  <div class="fieldset">
@@ -52,10 +54,10 @@ const e=require("../bundled/localized.cjs"),t=require("../bundled/vivid-element.
52
54
  ${r.t(`control`)}
53
55
  />
54
56
  </div>
55
- ${()=>L(e)}
57
+ ${()=>z(e)}
56
58
  </div>
57
59
  ${t=>t._getFeedbackTemplate(e)}
58
60
  <${o} id="value-announcement" role="status" aria-atomic="true">
59
61
  ${e=>e._updatedValueAnnouncement}</${o}>
60
62
  </div>
61
- `},[h.t,C.t,u.t,g.n,a.n,_.t],{styles:T,shadowOptions:{delegatesFocus:!0}});t.d(R)();
63
+ `},[h.t,C.t,u.t,g.n,a.n,_.t],{styles:T,shadowOptions:{delegatesFocus:!0}});t.d(B)();
@@ -24,15 +24,22 @@ import { t as N } from "../bundled/mixins.js";
24
24
  import { t as P } from "../bundled/definition20.js";
25
25
  import { t as F } from "../bundled/divider.js";
26
26
  //#region src/lib/number-field/number-field.scss?inline
27
- var I = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{display:inline-block}.base{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));--_text-field-border-radius:8px;--_text-field-pill-border-radius:24px;grid-template-columns:min-content 1fr max-content;align-items:center;gap:4px;width:100%;display:inline-grid}.base.size-condensed{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));--_text-field-border-radius:4px}.base{user-select:none}.base:not(.disabled){--_low-ink-color:var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color:var(--_appearance-color-text)}.label:not(slot),.label::slotted(label){font:var(--vvd-typography-base);grid-area:1/1/auto/4;box-sizing:initial!important;padding:initial!important;margin:initial!important;color:var(--vvd-color-canvas-text)!important}.char-count+.label:not(slot),.char-count+.label::slotted(label){grid-column:1/3}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.label-wrapper{grid-area:1/1/auto/4}.char-count+.label-wrapper{grid-column:1/3}.fieldset{background-color:var(--_appearance-color-fill);font:var(--vvd-typography-base);grid-column:1/4;align-items:center;padding-block:0;transition:color .2s,background-color .2s;display:flex;position:relative}.fieldset:after{border-radius:inherit;block-size:100%;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";pointer-events:none;inline-size:100%;transition:box-shadow .2s;display:block;position:absolute}.fieldset:focus-visible{outline:none}.base>.fieldset{block-size:var(--_text-field-block-size)}.base:not(.shape-pill) .fieldset{border-radius:var(--_text-field-border-radius)}.base.shape-pill .fieldset{border-radius:var(--_text-field-pill-border-radius)}.wrapper{border-radius:inherit;block-size:100%;inline-size:100%}.control{border-radius:inherit;text-align:start}.control:not(slot),.control::slotted(input){font:inherit;text-align:inherit;outline:#0000;box-sizing:border-box!important;border-radius:inherit!important;width:100%!important;margin:initial!important;appearance:none!important;block-size:100%!important;color:inherit!important;padding-block:0!important;padding-inline:var(--_text-field-gutter-start) var(--_text-field-gutter-end)!important;background-color:#0000!important;border:0!important}.control:not(slot,:focus),.control::slotted(input:not(:focus)){text-overflow:ellipsis!important}.control:not(slot):disabled,.control::slotted(input:disabled){cursor:not-allowed!important;opacity:1!important;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot)::placeholder{opacity:1!important;-webkit-text-fill-color:var(--_low-ink-color)!important}.control::slotted(input:-webkit-autofill),.control:not(slot):-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control::slotted(input:autofill),.control:not(slot):autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.has-icon .control:not(slot),.has-icon .control::slotted(input){padding-inline-start:calc(var(--_text-field-icon-size) + var(--_text-field-gutter-start) * 2)!important}.icon{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);line-height:1;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + var(--_text-field-gutter-start));transform:translateY(-50%)}.leading-items-wrapper{position:relative}.base.no-leading .leading-items-wrapper{display:none}.action-items-wrapper{margin-inline-end:4px}.base:not(.action-items) .action-items-wrapper{display:none}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.wrapper .control:focus-within):after{--focus-stroke-gap-color:transparent;box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .wrapper:focus-within:after{box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:\"\";pointer-events:none;display:block;position:absolute;inset:0}}:host([internal-part]) .fieldset{font:var(--vvd-typography-heading-4);background-color:#0000;line-height:1.1}:host([internal-part]) .fieldset:not(:focus-within):after{block-size:1px;inset-block-end:0}@supports selector(:has(*)){:host([internal-part]) .fieldset:has(.action-items-wrapper:focus-within):after{block-size:1px;inset-block-end:0}}:host([internal-part]) .control{text-align:center}slot[name=_mirrored-helper-text]{display:none}.base{--_text-field-gutter-end:70px}.control::-webkit-outer-spin-button,.control::-webkit-inner-spin-button{appearance:none}.control-buttons{z-index:1;display:flex;position:absolute;right:3px}.readonly .control-buttons,.disabled .control-buttons{pointer-events:none}.control-buttons .divider{margin-block:8px}.control-buttons>*{flex-shrink:0}", L = C(["fieldset", "ghost"], "fieldset"), R = {
27
+ var I = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{display:inline-block}.base{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));--_text-field-border-radius:8px;--_text-field-pill-border-radius:24px;grid-template-columns:min-content 1fr max-content;align-items:center;gap:4px;width:100%;display:inline-grid}.base.size-condensed{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));--_text-field-border-radius:4px}.base{user-select:none}.base:not(.disabled){--_low-ink-color:var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color:var(--_appearance-color-text)}.label:not(slot),.label::slotted(label){font:var(--vvd-typography-base);grid-area:1/1/auto/4;box-sizing:initial!important;padding:initial!important;margin:initial!important;color:var(--vvd-color-canvas-text)!important}.char-count+.label:not(slot),.char-count+.label::slotted(label){grid-column:1/3}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.label-wrapper{grid-area:1/1/auto/4}.char-count+.label-wrapper{grid-column:1/3}.fieldset{background-color:var(--_appearance-color-fill);font:var(--vvd-typography-base);grid-column:1/4;align-items:center;padding-block:0;transition:color .2s,background-color .2s;display:flex;position:relative}.fieldset:after{border-radius:inherit;block-size:100%;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";pointer-events:none;inline-size:100%;transition:box-shadow .2s;display:block;position:absolute}.fieldset:focus-visible{outline:none}.base>.fieldset{block-size:var(--_text-field-block-size)}.base:not(.shape-pill) .fieldset{border-radius:var(--_text-field-border-radius)}.base.shape-pill .fieldset{border-radius:var(--_text-field-pill-border-radius)}.wrapper{border-radius:inherit;block-size:100%;inline-size:100%}.control{border-radius:inherit;text-align:start}.control:not(slot),.control::slotted(input){font:inherit;text-align:inherit;outline:#0000;box-sizing:border-box!important;border-radius:inherit!important;width:100%!important;margin:initial!important;appearance:none!important;block-size:100%!important;color:inherit!important;padding-block:0!important;padding-inline:var(--_text-field-gutter-start) var(--_text-field-gutter-end)!important;background-color:#0000!important;border:0!important}.control:not(slot,:focus),.control::slotted(input:not(:focus)){text-overflow:ellipsis!important}.control:not(slot):disabled,.control::slotted(input:disabled){cursor:not-allowed!important;opacity:1!important;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot)::placeholder{opacity:1!important;-webkit-text-fill-color:var(--_low-ink-color)!important}.control::slotted(input:-webkit-autofill),.control:not(slot):-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control::slotted(input:autofill),.control:not(slot):autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.has-icon .control:not(slot),.has-icon .control::slotted(input){padding-inline-start:calc(var(--_text-field-icon-size) + var(--_text-field-gutter-start) * 2)!important}.icon{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);line-height:1;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + var(--_text-field-gutter-start));transform:translateY(-50%)}.leading-items-wrapper{position:relative}.base.no-leading .leading-items-wrapper{display:none}.action-items-wrapper{margin-inline-end:4px}.base:not(.action-items) .action-items-wrapper{display:none}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.wrapper .control:focus-within):after{--focus-stroke-gap-color:transparent;box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .wrapper:focus-within:after{box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:\"\";pointer-events:none;display:block;position:absolute;inset:0}}:host([internal-part]) .fieldset{font:var(--vvd-typography-heading-4);background-color:#0000;line-height:1.1}:host([internal-part]) .fieldset:not(:focus-within):after{block-size:1px;inset-block-end:0}@supports selector(:has(*)){:host([internal-part]) .fieldset:has(.action-items-wrapper:focus-within):after{block-size:1px;inset-block-end:0}}:host([internal-part]) .control{text-align:center}slot[name=_mirrored-helper-text]{display:none}.base{--_text-field-gutter-end:70px}.base.no-steppers{--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5)}.base.no-steppers.size-condensed{--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2)}.control::-webkit-outer-spin-button,.control::-webkit-inner-spin-button{appearance:none}.control-buttons{z-index:1;display:flex;position:absolute;right:3px}.control-buttons[hidden]{display:none}.readonly .control-buttons,.disabled .control-buttons{pointer-events:none}.control-buttons .divider{margin-block:8px}.control-buttons>*{flex-shrink:0}", L = C(["fieldset", "ghost"], "fieldset"), R = {
28
28
  up: 1,
29
29
  down: -1
30
- };
31
- function z(e, t) {
32
- let n = parseFloat(e.value), r = isNaN(n) ? e.min > 0 ? e.min : e.max < 0 ? e.max : e.min ? 0 : t * e.step : n + t * e.step;
33
- e.value = Number(r.toFixed(12)).toString(), e._updatedValueAnnouncement = e.locale.numberField.updatedValueAnnouncement(e._presentationValue);
30
+ }, z = 1;
31
+ function B(e, t) {
32
+ let n = e._numericStep, r = parseFloat(e.value), i = isNaN(r) ? e.min > 0 ? e.min : e.max < 0 ? e.max : e.min ? 0 : t * n : r + t * n;
33
+ e.value = Number(i.toFixed(12)).toString(), e._updatedValueAnnouncement = e.locale.numberField.updatedValueAnnouncement(e._presentationValue);
34
34
  }
35
- var B = (e) => {
35
+ var V = {
36
+ toView(e) {
37
+ return e === "any" ? "any" : i.toView(e);
38
+ },
39
+ fromView(e) {
40
+ return typeof e == "string" && e.trim().toLowerCase() === "any" ? "any" : i.fromView(e);
41
+ }
42
+ }, H = (e) => {
36
43
  let t = e.source;
37
44
  return {
38
45
  invalidCharacters: RegExp(`[^0-9\\-+e${t}]`, "g"),
@@ -40,12 +47,18 @@ var B = (e) => {
40
47
  trailingDecimalSeparator: RegExp(`${t}$`),
41
48
  decimalSeparator: e
42
49
  };
43
- }, V = B(/\./), H = B(/,/), U = /^-?((\d*\.\d+)|(\d+))$/, W = class extends A(N(j(M(k(b(e(S(w(s))))))))) {
50
+ }, U = H(/\./), W = H(/,/), G = /^-?((\d*\.\d+)|(\d+))$/, K = class extends A(N(j(M(k(b(e(S(w(s))))))))) {
44
51
  constructor(...e) {
45
- super(...e), this.proxy = document.createElement("input"), this.readOnly = !1, this.autofocus = !1, this.step = 1, this.isUserInput = !1, this._presentationValue = "", this._updatedValueAnnouncement = "", this.incrementButtonAriaLabel = null, this.decrementButtonAriaLabel = null;
52
+ super(...e), this.proxy = document.createElement("input"), this.readOnly = !1, this.autofocus = !1, this.step = 1, this.noSteppers = !1, this.isUserInput = !1, this._presentationValue = "", this._updatedValueAnnouncement = "", this.incrementButtonAriaLabel = null, this.decrementButtonAriaLabel = null;
46
53
  }
47
54
  stepChanged(e, t) {
48
- this.proxy.setAttribute("step", Number.isFinite(t) ? t.toString() : "");
55
+ this.proxy.setAttribute("step", t === "any" ? "any" : Number.isFinite(t) ? t.toString() : ""), this.validate();
56
+ }
57
+ get _hasSteppers() {
58
+ return !this.noSteppers && this.step !== "any";
59
+ }
60
+ get _numericStep() {
61
+ return this.step === "any" ? z : this.step;
49
62
  }
50
63
  maxChanged(e, t) {
51
64
  this.max = Math.max(t, this.min ?? t), this.proxy.max = this.max.toString(), this.validate();
@@ -60,10 +73,10 @@ var B = (e) => {
60
73
  this.value = e.toString();
61
74
  }
62
75
  valueChanged(e, t) {
63
- this.value = U.test(t) ? t : "", t === this.value && (this.control && !this.isUserInput && (this._presentationValue = this.#e(this.value)), super.valueChanged(e, this.value), e !== void 0 && !this.isUserInput && (this.$emit("input"), this.$emit("change")));
76
+ this.value = G.test(t) ? t : "", t === this.value && (this.control && !this.isUserInput && (this._presentationValue = this.#e(this.value)), super.valueChanged(e, this.value), e !== void 0 && !this.isUserInput && (this.$emit("input"), this.$emit("change")));
64
77
  }
65
78
  get _numberPatterns() {
66
- return this.locale.common.useCommaAsDecimalSeparator ? H : V;
79
+ return this.locale.common.useCommaAsDecimalSeparator ? W : U;
67
80
  }
68
81
  #e(e) {
69
82
  return e.replace(".", this.locale.common.useCommaAsDecimalSeparator ? "," : ".");
@@ -73,16 +86,16 @@ var B = (e) => {
73
86
  }
74
87
  #n(e) {
75
88
  let t = e.replace(this._numberPatterns.trailingDecimalSeparator, "").replace(this._numberPatterns.decimalSeparator, ".");
76
- return U.test(t) ? t : "";
89
+ return G.test(t) ? t : "";
77
90
  }
78
91
  validate() {
79
92
  super.validate(this.control);
80
93
  }
81
94
  stepUp() {
82
- z(this, R.up);
95
+ B(this, R.up);
83
96
  }
84
97
  stepDown() {
85
- z(this, R.down);
98
+ B(this, R.down);
86
99
  }
87
100
  connectedCallback() {
88
101
  super.connectedCallback(), this.proxy.setAttribute("type", "number"), this.validate(), this._presentationValue = this.#e(this.value), this.autofocus && n.enqueue(() => {
@@ -109,52 +122,57 @@ var B = (e) => {
109
122
  h([a({
110
123
  attribute: "readonly",
111
124
  mode: "boolean"
112
- })], W.prototype, "readOnly", void 0), h([a({ mode: "boolean" })], W.prototype, "autofocus", void 0), h([a], W.prototype, "placeholder", void 0), h([a], W.prototype, "list", void 0), h([a({ converter: i })], W.prototype, "maxlength", void 0), h([a({ converter: i })], W.prototype, "minlength", void 0), h([a({ converter: i })], W.prototype, "size", void 0), h([a()], W.prototype, "scale", void 0), h([a({ converter: i })], W.prototype, "step", void 0), h([a({ converter: i })], W.prototype, "max", void 0), h([a({ converter: i })], W.prototype, "min", void 0), h([t], W.prototype, "defaultSlottedNodes", void 0), h([t], W.prototype, "_presentationValue", void 0), h([t], W.prototype, "_updatedValueAnnouncement", void 0), h([a({ attribute: "increment-button-aria-label" })], W.prototype, "incrementButtonAriaLabel", void 0), h([a({ attribute: "decrement-button-aria-label" })], W.prototype, "decrementButtonAriaLabel", void 0), h([a], W.prototype, "appearance", void 0), h([a], W.prototype, "shape", void 0), h([a], W.prototype, "autoComplete", void 0);
125
+ })], K.prototype, "readOnly", void 0), h([a({ mode: "boolean" })], K.prototype, "autofocus", void 0), h([a], K.prototype, "placeholder", void 0), h([a], K.prototype, "list", void 0), h([a({ converter: i })], K.prototype, "maxlength", void 0), h([a({ converter: i })], K.prototype, "minlength", void 0), h([a({ converter: i })], K.prototype, "size", void 0), h([a()], K.prototype, "scale", void 0), h([a({ converter: V })], K.prototype, "step", void 0), h([a({
126
+ attribute: "no-steppers",
127
+ mode: "boolean"
128
+ })], K.prototype, "noSteppers", void 0), h([a({ converter: i })], K.prototype, "max", void 0), h([a({ converter: i })], K.prototype, "min", void 0), h([t], K.prototype, "defaultSlottedNodes", void 0), h([t], K.prototype, "_presentationValue", void 0), h([t], K.prototype, "_updatedValueAnnouncement", void 0), h([a({ attribute: "increment-button-aria-label" })], K.prototype, "incrementButtonAriaLabel", void 0), h([a({ attribute: "decrement-button-aria-label" })], K.prototype, "decrementButtonAriaLabel", void 0), h([a], K.prototype, "appearance", void 0), h([a], K.prototype, "shape", void 0), h([a], K.prototype, "autoComplete", void 0);
113
129
  //#endregion
114
130
  //#region src/lib/number-field/number-field.template.ts
115
- function G() {
131
+ function q() {
116
132
  return o` <label for="control" class="label">
117
133
  ${(e) => e.label}
118
134
  </label>`;
119
135
  }
120
- function K(e) {
136
+ function J(e) {
121
137
  return e.shape === m.Pill ? m.Pill : null;
122
138
  }
123
- function q(e) {
139
+ function Y(e) {
124
140
  return e.disabled || e.readOnly ? "-1" : null;
125
141
  }
126
- function J(e) {
142
+ function X(e) {
127
143
  let t = e.tagFor(T), n = e.tagFor(F);
128
144
  return o`
129
- <div class="control-buttons" ?inert="${(e) => e.disabled || e.readOnly}">
145
+ <div class="control-buttons"
146
+ ?hidden="${(e) => !e._hasSteppers}"
147
+ ?inert="${(e) => e.disabled || e.readOnly}">
130
148
  <${t} id="subtract" icon="minus-line"
131
149
  ?disabled="${(e) => e.disabled || e.readOnly}"
132
- aria-label=${(e) => e.decrementButtonAriaLabel || e.locale.numberField.decrementButtonLabel(e.step)}
133
- shape="${K}"
150
+ aria-label=${(e) => e.decrementButtonAriaLabel || e.locale.numberField.decrementButtonLabel(e._numericStep)}
151
+ shape="${J}"
134
152
  type="button"
135
153
  size="${(e) => e.scale === "condensed" ? "super-condensed" : "condensed"}"
136
- tabindex="${q}"
154
+ tabindex="${Y}"
137
155
  @click="${(e) => e.stepDown()}"></${t}>
138
156
  <${n} class="divider" orientation="vertical"></${n}>
139
157
  <${t} id="add" icon="plus-line"
140
158
  ?disabled="${(e) => e.disabled || e.readOnly}"
141
- aria-label=${(e) => e.incrementButtonAriaLabel || e.locale.numberField.incrementButtonLabel(e.step)}
142
- shape="${K}"
159
+ aria-label=${(e) => e.incrementButtonAriaLabel || e.locale.numberField.incrementButtonLabel(e._numericStep)}
160
+ shape="${J}"
143
161
  type="button"
144
162
  size="${(e) => e.scale === "condensed" ? "super-condensed" : "condensed"}"
145
- tabindex="${q}"
163
+ tabindex="${Y}"
146
164
  @click="${(e) => e.stepUp()}"></${t}>
147
165
  </div>
148
166
  `;
149
167
  }
150
168
  //#endregion
151
169
  //#region src/lib/number-field/definition.ts
152
- var Y = c("number-field", W, (e) => {
170
+ var Z = c("number-field", K, (e) => {
153
171
  let t = e.tagFor(p);
154
172
  return o`
155
- <div class="base ${(e) => g("connotation-accent", `appearance-${L.parse(e.appearance)}`, "with-idle", "with-hover", "with-disabled", "with-readonly", "with-error", "with-success", ["error", !!e.errorValidationMessage], ["disabled", e.disabled], ["has-value", !!e.value], ["readonly", e.readOnly], ["placeholder", !!e.placeholder], [`shape-${e.shape}`, !!e.shape], ["no-label", !e.label], ["success", !!e.successText], [`size-${e.scale}`, !!e.scale])}">
173
+ <div class="base ${(e) => g("connotation-accent", `appearance-${L.parse(e.appearance)}`, "with-idle", "with-hover", "with-disabled", "with-readonly", "with-error", "with-success", ["error", !!e.errorValidationMessage], ["disabled", e.disabled], ["has-value", !!e.value], ["readonly", e.readOnly], ["placeholder", !!e.placeholder], [`shape-${e.shape}`, !!e.shape], ["no-label", !e.label], ["success", !!e.successText], [`size-${e.scale}`, !!e.scale], ["no-steppers", !e._hasSteppers])}">
156
174
  <div class="label-wrapper" ?hidden=${(e) => !e.label && !e._hasContextualHelp}>
157
- ${d((e) => e.label, G())}
175
+ ${d((e) => e.label, q())}
158
176
  <slot name="contextual-help" ${l("_contextualHelpSlottedContent")}></slot>
159
177
  </div>
160
178
  <div class="fieldset">
@@ -183,7 +201,7 @@ var Y = c("number-field", W, (e) => {
183
201
  ${u("control")}
184
202
  />
185
203
  </div>
186
- ${() => J(e)}
204
+ ${() => X(e)}
187
205
  </div>
188
206
  ${(t) => t._getFeedbackTemplate(e)}
189
207
  <${t} id="value-announcement" role="status" aria-atomic="true">
@@ -203,5 +221,5 @@ var Y = c("number-field", W, (e) => {
203
221
  });
204
222
  //#endregion
205
223
  //#region src/lib/number-field/index.ts
206
- r(Y)();
224
+ r(Z)();
207
225
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vonage/vivid",
3
- "version": "5.28.0",
3
+ "version": "5.29.0",
4
4
  "homepage": "https://apps.vivid.vonage.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/Vonage/vivid-3/issues"
@@ -43,7 +43,7 @@
43
43
  "@microsoft/fast-element": "^2.10.5",
44
44
  "@microsoft/fast-web-utilities": "^6.0.0",
45
45
  "date-fns": "^4.4.0",
46
- "dompurify": "^3.4.14",
46
+ "dompurify": "^3.4.15",
47
47
  "prosemirror-commands": "^1.7.2",
48
48
  "prosemirror-dropcursor": "^1.8.3",
49
49
  "prosemirror-gapcursor": "^1.4.1",
@@ -53,21 +53,21 @@
53
53
  "prosemirror-model": "1.25.4",
54
54
  "prosemirror-schema-basic": "^1.2.4",
55
55
  "prosemirror-state": "^1.4.4",
56
- "prosemirror-transform": "^1.12.0",
56
+ "prosemirror-transform": "^1.12.1",
57
57
  "prosemirror-view": "1.41.8",
58
58
  "scroll-into-view-if-needed": "^3.1.0",
59
59
  "uuid": "^14.0.2",
60
60
  "vanilla-colorful": "^0.7.2",
61
- "video.js": "^8.24.0"
61
+ "video.js": "^8.24.1"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@custom-elements-manifest/analyzer": "^0.5.7",
65
- "@microsoft/api-extractor": "^7.58.12",
66
- "@testing-library/dom": "^10.4.1",
67
- "@testing-library/user-event": "^14.6.6",
65
+ "@microsoft/api-extractor": "^7.59.1",
66
+ "@testing-library/dom": "^10.4.2",
67
+ "@testing-library/user-event": "^14.6.7",
68
68
  "@types/node": "^20.19.43",
69
- "@vitest/browser": "^4.1.10",
70
- "@vitest/browser-playwright": "^4.1.10",
69
+ "@vitest/browser": "^4.1.11",
70
+ "@vitest/browser-playwright": "^4.1.11",
71
71
  "cem-plugin-async-function": "^0.0.5",
72
72
  "cem-plugin-jsdoc-example": "^0.0.9",
73
73
  "cem-plugin-jsdoc-function": "^0.0.5",
@@ -75,37 +75,37 @@
75
75
  "concurrently": "^9.2.4",
76
76
  "dialog-polyfill": "^0.5.6",
77
77
  "element-internals-polyfill": "^3.0.2",
78
- "eslint": "^10.8.1",
78
+ "eslint": "^10.11.0",
79
79
  "eslint-formatter-compact": "^9.0.1",
80
80
  "eslint-plugin-barrel-files": "^3.0.1",
81
81
  "glob": "^13.0.6",
82
- "sass": "^1.102.0",
82
+ "sass": "^1.104.1",
83
83
  "stylelint": "^16.26.1",
84
84
  "tsx": "^4.23.13",
85
85
  "typescript": "5.9.3",
86
- "vite": "^8.2.2",
86
+ "vite": "^8.3.0",
87
87
  "vite-plugin-dts": "^4.5.4",
88
88
  "vite-plugin-static-copy": "^3.4.0",
89
- "vitest": "^4.1.10",
89
+ "vitest": "^4.1.11",
90
90
  "vitest-axe": "^0.1.0",
91
91
  "vitest-fetch-mock": "^0.4.5",
92
- "wait-on": "^8.0.5",
92
+ "wait-on": "^9.1.0",
93
93
  "@repo/cem-analyzer-plugins": "1.0.0",
94
- "@repo/internal-test-utils": "1.0.0",
95
- "@repo/eslint-plugin-repo": "1.0.0",
96
94
  "@repo/browser-tests": "1.0.0",
97
- "@repo/metadata-extractor": "1.0.0",
98
95
  "@repo/eslint-config": "1.0.0",
99
- "@repo/sass": "1.0.0",
96
+ "@repo/eslint-plugin-repo": "1.0.0",
97
+ "@repo/metadata-extractor": "1.0.0",
100
98
  "@repo/stylelint-config": "1.0.0",
99
+ "@repo/internal-test-utils": "1.0.0",
100
+ "@repo/sass": "1.0.0",
101
101
  "@repo/tokens": "1.0.0",
102
- "@repo/tools": "1.0.0",
103
102
  "@repo/styles": "1.0.0",
104
- "@repo/vite-config": "1.0.0",
105
103
  "@repo/typescript-config": "1.0.0",
106
- "@repo/vvd-jsx": "1.0.0",
104
+ "@repo/vite-config": "1.0.0",
105
+ "@repo/tools": "1.0.0",
107
106
  "@repo/vitest-config": "1.0.0",
108
- "@vonage/vivid-icons": "4.12.0"
107
+ "@repo/vvd-jsx": "1.0.0",
108
+ "@vonage/vivid-icons": "4.13.0"
109
109
  },
110
110
  "customElements": "custom-elements.json",
111
111
  "scripts": {