@vonage/vivid 5.28.1 → 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 (86) 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 +508 -334
  18. package/empty-state/index.cjs +2 -2
  19. package/empty-state/index.js +3 -3
  20. package/lib/date-picker/date-picker.d.ts +4 -0
  21. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  22. package/lib/date-time-picker/date-time-picker.d.ts +4 -0
  23. package/lib/empty-state/definition.d.ts +1 -1
  24. package/lib/empty-state/empty-state.d.ts +3 -1
  25. package/lib/number-field/definition.d.ts +1 -1
  26. package/lib/number-field/number-field.d.ts +3 -1
  27. package/lib/rich-text-editor/rte/features/suggest.d.ts +7 -1
  28. package/lib/time-picker/time-picker.d.ts +2 -0
  29. package/listbox/index.cjs +1 -1
  30. package/listbox/index.js +1 -1
  31. package/locales/de-DE.cjs +1 -1
  32. package/locales/de-DE.js +1 -1
  33. package/locales/en-GB.cjs +1 -1
  34. package/locales/en-GB.js +1 -1
  35. package/locales/ja-JP.cjs +1 -1
  36. package/locales/ja-JP.js +1 -1
  37. package/locales/zh-CN.cjs +1 -1
  38. package/locales/zh-CN.js +1 -1
  39. package/number-field/index.cjs +16 -14
  40. package/number-field/index.js +49 -31
  41. package/package.json +16 -16
  42. package/rich-text-editor/index.cjs +14 -14
  43. package/rich-text-editor/index.js +1818 -1789
  44. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  45. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  46. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  47. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  48. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  49. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  50. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  51. package/shared/picker-field/picker-field.d.ts +38 -31
  52. package/tabs/index.cjs +1 -1
  53. package/tabs/index.js +1 -1
  54. package/unbundled/definition16.cjs +1 -1
  55. package/unbundled/definition16.js +1 -1
  56. package/unbundled/definition2.cjs +4 -4
  57. package/unbundled/definition2.js +4 -4
  58. package/unbundled/definition28.cjs +5 -1
  59. package/unbundled/definition28.js +5 -1
  60. package/unbundled/definition29.cjs +1 -1
  61. package/unbundled/definition29.js +1 -1
  62. package/unbundled/definition30.cjs +1 -1
  63. package/unbundled/definition30.js +1 -1
  64. package/unbundled/definition42.cjs +3 -2
  65. package/unbundled/definition42.js +3 -2
  66. package/unbundled/definition50.cjs +1 -1
  67. package/unbundled/definition50.js +1 -1
  68. package/unbundled/definition55.cjs +41 -8
  69. package/unbundled/definition55.js +41 -8
  70. package/unbundled/definition6.cjs +1 -1
  71. package/unbundled/definition6.js +1 -1
  72. package/unbundled/definition63.cjs +43 -19
  73. package/unbundled/definition63.js +38 -14
  74. package/unbundled/definition76.cjs +1 -1
  75. package/unbundled/definition76.js +1 -1
  76. package/unbundled/en-US.cjs +1 -1
  77. package/unbundled/en-US.js +1 -1
  78. package/unbundled/numberConverter.cjs +1 -1
  79. package/unbundled/numberConverter.js +1 -1
  80. package/unbundled/picker-field.template.cjs +6 -1
  81. package/unbundled/picker-field.template.js +6 -1
  82. package/unbundled/vivid-element.cjs +1 -1
  83. package/unbundled/vivid-element.js +1 -1
  84. package/video-player/index.cjs +1 -1
  85. package/video-player/index.js +1 -1
  86. package/vivid.api.json +158 -3
@@ -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.1",
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,18 +53,18 @@
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.59.0",
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
69
  "@vitest/browser": "^4.1.11",
70
70
  "@vitest/browser-playwright": "^4.1.11",
@@ -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
89
  "vitest": "^4.1.11",
90
90
  "vitest-axe": "^0.1.0",
91
91
  "vitest-fetch-mock": "^0.4.5",
92
92
  "wait-on": "^9.1.0",
93
- "@repo/browser-tests": "1.0.0",
94
93
  "@repo/cem-analyzer-plugins": "1.0.0",
94
+ "@repo/browser-tests": "1.0.0",
95
95
  "@repo/eslint-config": "1.0.0",
96
96
  "@repo/eslint-plugin-repo": "1.0.0",
97
- "@repo/internal-test-utils": "1.0.0",
98
97
  "@repo/metadata-extractor": "1.0.0",
99
- "@repo/sass": "1.0.0",
100
98
  "@repo/stylelint-config": "1.0.0",
101
- "@repo/styles": "1.0.0",
99
+ "@repo/internal-test-utils": "1.0.0",
100
+ "@repo/sass": "1.0.0",
102
101
  "@repo/tokens": "1.0.0",
103
- "@repo/tools": "1.0.0",
102
+ "@repo/styles": "1.0.0",
104
103
  "@repo/typescript-config": "1.0.0",
105
104
  "@repo/vite-config": "1.0.0",
105
+ "@repo/tools": "1.0.0",
106
106
  "@repo/vitest-config": "1.0.0",
107
107
  "@repo/vvd-jsx": "1.0.0",
108
- "@vonage/vivid-icons": "4.12.0"
108
+ "@vonage/vivid-icons": "4.13.0"
109
109
  },
110
110
  "customElements": "custom-elements.json",
111
111
  "scripts": {