@vonage/vivid 4.25.0 → 4.27.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 (196) hide show
  1. package/custom-elements.json +3371 -1999
  2. package/lib/accordion-item/accordion-item.d.ts +2 -2
  3. package/lib/action-group/action-group.d.ts +1 -1
  4. package/lib/alert/alert.d.ts +5 -5
  5. package/lib/audio-player/audio-player.d.ts +3 -3
  6. package/lib/avatar/avatar.d.ts +393 -1
  7. package/lib/avatar/avatar.template.d.ts +2 -2
  8. package/lib/badge/badge.d.ts +2 -2
  9. package/lib/banner/banner.d.ts +6 -6
  10. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  11. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  12. package/lib/button/button.d.ts +6 -6
  13. package/lib/calendar/calendar.d.ts +2 -0
  14. package/lib/calendar-event/calendar-event.d.ts +1 -1
  15. package/lib/card/card.d.ts +1 -1
  16. package/lib/checkbox/checkbox.d.ts +10 -10
  17. package/lib/combobox/combobox.d.ts +11 -11
  18. package/lib/data-grid/data-grid-cell.d.ts +6 -4
  19. package/lib/data-grid/data-grid-row.d.ts +1 -0
  20. package/lib/data-grid/data-grid.d.ts +1 -1
  21. package/lib/date-picker/date-picker.d.ts +75 -75
  22. package/lib/date-picker/date-picker.template.d.ts +1 -1
  23. package/lib/date-range-picker/date-range-picker.d.ts +44 -44
  24. package/lib/date-range-picker/date-range-picker.template.d.ts +1 -1
  25. package/lib/date-time-picker/date-time-picker.d.ts +64 -64
  26. package/lib/date-time-picker/date-time-picker.template.d.ts +1 -1
  27. package/lib/dial-pad/dial-pad.d.ts +3 -3
  28. package/lib/dialog/dialog.d.ts +5 -4
  29. package/lib/divider/divider.d.ts +1 -1
  30. package/lib/fab/fab.d.ts +2 -2
  31. package/lib/file-picker/file-picker.d.ts +10 -10
  32. package/lib/header/header.d.ts +1 -1
  33. package/lib/menu/menu.d.ts +2 -2
  34. package/lib/menu-item/menu-item.d.ts +3 -3
  35. package/lib/nav/nav.d.ts +1 -1
  36. package/lib/nav-disclosure/nav-disclosure.d.ts +3 -3
  37. package/lib/nav-item/nav-item.d.ts +3 -3
  38. package/lib/note/note.d.ts +2 -2
  39. package/lib/number-field/locale.d.ts +3 -2
  40. package/lib/number-field/number-field.d.ts +15 -15
  41. package/lib/option/option.d.ts +3 -3
  42. package/lib/pagination/locale.d.ts +5 -0
  43. package/lib/pagination/pagination.d.ts +341 -2
  44. package/lib/popup/popup.d.ts +1 -0
  45. package/lib/progress/progress.d.ts +1 -1
  46. package/lib/progress-ring/progress-ring.d.ts +1 -1
  47. package/lib/radio/radio.d.ts +3 -3
  48. package/lib/radio-group/radio-group.d.ts +4 -4
  49. package/lib/range-slider/range-slider.d.ts +5 -5
  50. package/lib/rich-text-editor/menubar/menubar.d.ts +3 -3
  51. package/lib/rich-text-editor/rich-text-editor.d.ts +3 -3
  52. package/lib/searchable-select/locale.d.ts +1 -1
  53. package/lib/searchable-select/option-tag.d.ts +3 -3
  54. package/lib/searchable-select/searchable-select.d.ts +15 -15
  55. package/lib/select/select.d.ts +12 -12
  56. package/lib/selectable-box/selectable-box.d.ts +1 -1
  57. package/lib/slider/slider.d.ts +5 -5
  58. package/lib/split-button/split-button.d.ts +6 -6
  59. package/lib/switch/switch.d.ts +2 -2
  60. package/lib/tab/tab.d.ts +6 -6
  61. package/lib/tab-panel/tab-panel.d.ts +1 -1
  62. package/lib/tag/locale.d.ts +3 -0
  63. package/lib/tag/tag.d.ts +343 -6
  64. package/lib/tag-group/tag-group.d.ts +1 -1
  65. package/lib/text-area/text-area.d.ts +14 -14
  66. package/lib/text-field/text-field.d.ts +16 -16
  67. package/lib/time-picker/time-picker.d.ts +21 -21
  68. package/lib/toggletip/toggletip.d.ts +1 -1
  69. package/lib/tooltip/tooltip.d.ts +1 -1
  70. package/lib/tree-item/tree-item.d.ts +3 -3
  71. package/lib/tree-view/tree-view.d.ts +1 -1
  72. package/lib/video-player/video-player.d.ts +3 -3
  73. package/locales/de-DE.cjs +40 -5
  74. package/locales/de-DE.js +40 -5
  75. package/locales/en-GB.cjs +40 -5
  76. package/locales/en-GB.js +40 -5
  77. package/locales/en-US.cjs +40 -5
  78. package/locales/en-US.js +40 -5
  79. package/locales/ja-JP.cjs +40 -5
  80. package/locales/ja-JP.js +40 -5
  81. package/locales/zh-CN.cjs +40 -5
  82. package/locales/zh-CN.js +40 -5
  83. package/package.json +73 -45
  84. package/shared/aria/delegates-aria.d.ts +1 -1
  85. package/shared/aria/host-semantics.d.ts +1 -1
  86. package/shared/calendar-picker.template.cjs +40 -13
  87. package/shared/calendar-picker.template.js +40 -13
  88. package/shared/definition.cjs +19 -3
  89. package/shared/definition.js +20 -4
  90. package/shared/definition11.cjs +1 -1
  91. package/shared/definition11.js +1 -1
  92. package/shared/definition13.cjs +25 -0
  93. package/shared/definition13.js +26 -1
  94. package/shared/definition15.cjs +1 -1
  95. package/shared/definition15.js +1 -1
  96. package/shared/definition16.cjs +1 -1
  97. package/shared/definition16.js +1 -1
  98. package/shared/definition17.cjs +602 -522
  99. package/shared/definition17.js +600 -520
  100. package/shared/definition18.cjs +8 -1
  101. package/shared/definition18.js +8 -1
  102. package/shared/definition19.cjs +9 -2
  103. package/shared/definition19.js +9 -2
  104. package/shared/definition2.cjs +1 -1
  105. package/shared/definition2.js +1 -1
  106. package/shared/definition20.cjs +3 -1
  107. package/shared/definition20.js +3 -1
  108. package/shared/definition21.cjs +2 -2
  109. package/shared/definition21.js +2 -2
  110. package/shared/definition22.cjs +9 -3
  111. package/shared/definition22.js +9 -3
  112. package/shared/definition28.cjs +2 -2
  113. package/shared/definition28.js +2 -2
  114. package/shared/definition3.cjs +1 -1
  115. package/shared/definition3.js +1 -1
  116. package/shared/definition30.cjs +1 -1
  117. package/shared/definition30.js +1 -1
  118. package/shared/definition31.cjs +1 -1
  119. package/shared/definition31.js +1 -1
  120. package/shared/definition32.cjs +1 -1
  121. package/shared/definition32.js +1 -1
  122. package/shared/definition36.cjs +41 -30
  123. package/shared/definition36.js +34 -23
  124. package/shared/definition38.cjs +30 -23
  125. package/shared/definition38.js +30 -23
  126. package/shared/definition4.cjs +1 -1
  127. package/shared/definition4.js +1 -1
  128. package/shared/definition41.cjs +1 -1
  129. package/shared/definition41.js +1 -1
  130. package/shared/definition42.cjs +2 -2
  131. package/shared/definition42.js +2 -2
  132. package/shared/definition44.cjs +129 -117
  133. package/shared/definition44.js +130 -118
  134. package/shared/definition45.cjs +17 -7
  135. package/shared/definition45.js +17 -7
  136. package/shared/definition46.cjs +1 -1
  137. package/shared/definition46.js +1 -1
  138. package/shared/definition49.cjs +6 -6
  139. package/shared/definition49.js +6 -6
  140. package/shared/definition54.cjs +2 -2
  141. package/shared/definition54.js +2 -2
  142. package/shared/definition56.cjs +5 -4
  143. package/shared/definition56.js +5 -4
  144. package/shared/definition57.cjs +1 -1
  145. package/shared/definition57.js +1 -1
  146. package/shared/definition58.cjs +1 -1
  147. package/shared/definition58.js +1 -1
  148. package/shared/definition59.cjs +3 -1
  149. package/shared/definition59.js +3 -1
  150. package/shared/definition6.cjs +45 -12
  151. package/shared/definition6.js +45 -12
  152. package/shared/definition63.cjs +2 -2
  153. package/shared/definition63.js +2 -2
  154. package/shared/definition64.cjs +136 -38
  155. package/shared/definition64.js +136 -38
  156. package/shared/definition67.cjs +36 -15
  157. package/shared/definition67.js +37 -16
  158. package/shared/feedback/feedback-message.d.ts +1 -1
  159. package/shared/feedback/mixins.d.ts +2 -2
  160. package/shared/form-associated.cjs +4 -0
  161. package/shared/form-associated.js +4 -0
  162. package/shared/foundation/button/button.d.ts +1 -1
  163. package/shared/foundation/vivid-element/vivid-element.d.ts +2 -0
  164. package/shared/key-codes.js +1 -1
  165. package/shared/localization/Locale.d.ts +4 -0
  166. package/shared/mixins.cjs +4 -1
  167. package/shared/mixins.js +4 -1
  168. package/shared/patterns/affix.d.ts +2 -2
  169. package/shared/patterns/char-count/char-count.d.ts +1 -1
  170. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  171. package/shared/patterns/linkable.d.ts +1 -1
  172. package/shared/patterns/localized.d.ts +1 -1
  173. package/shared/patterns/trapped-focus.d.ts +1 -1
  174. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  175. package/shared/picker-field/mixins/calendar-picker.locale.d.ts +5 -0
  176. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  177. package/shared/picker-field/mixins/calendar-segments/segment.d.ts +1 -0
  178. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  179. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +4 -4
  180. package/shared/picker-field/mixins/single-date-picker.d.ts +4 -4
  181. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -1
  182. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  183. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -2
  184. package/shared/picker-field/picker-field.d.ts +3 -3
  185. package/shared/picker-field.template.cjs +13 -13
  186. package/shared/picker-field.template.js +13 -13
  187. package/shared/vivid-element.cjs +11 -1
  188. package/shared/vivid-element.js +11 -1
  189. package/styles/core/all.css +5 -5
  190. package/styles/core/theme.css +2 -2
  191. package/styles/core/typography.css +4 -4
  192. package/styles/fonts/spezia-variable.css +15 -15
  193. package/styles/tokens/theme-dark.css +4 -4
  194. package/styles/tokens/theme-light.css +4 -4
  195. package/styles/tokens/vivid-2-compat.css +1 -1
  196. package/vivid.api.json +395 -277
@@ -7,6 +7,7 @@ const definition$3 = require('./definition23.cjs');
7
7
  const pickerField_template = require('./picker-field.template.cjs');
8
8
  const calendarPicker_template = require('./calendar-picker.template.cjs');
9
9
  const vividElement = require('./vivid-element.cjs');
10
+ const definition$4 = require('./definition66.cjs');
10
11
  const singleValuePicker = require('./single-value-picker.cjs');
11
12
  const singleDatePicker = require('./single-date-picker.cjs');
12
13
 
@@ -127,7 +128,13 @@ const datePickerDefinition = vividElement.defineVividComponent(
127
128
  "date-picker",
128
129
  DatePicker,
129
130
  DatePickerTemplate,
130
- [definition.buttonDefinition, definition$1.popupDefinition, definition$2.textFieldDefinition, definition$3.dividerDefinition],
131
+ [
132
+ definition.buttonDefinition,
133
+ definition$1.popupDefinition,
134
+ definition$2.textFieldDefinition,
135
+ definition$3.dividerDefinition,
136
+ definition$4.visuallyHiddenDefinition
137
+ ],
131
138
  {
132
139
  styles: [pickerField_template.pickerFieldStyles, calendarPicker_template.calendarStyles],
133
140
  shadowOptions: {
@@ -5,6 +5,7 @@ import { d as dividerDefinition } from './definition23.js';
5
5
  import { a as PickerField, P as PickerFieldTemplate, p as pickerFieldStyles } from './picker-field.template.js';
6
6
  import { M as MinMaxCalendarPicker, C as CalendarPicker, i as isValidDateStr, f as formatPresentationDate, p as parsePresentationDate, a as CalendarPickerTemplate, c as calendarStyles } from './calendar-picker.template.js';
7
7
  import { v as volatile, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
8
+ import { v as visuallyHiddenDefinition } from './definition66.js';
8
9
  import { S as SingleValuePicker } from './single-value-picker.js';
9
10
  import { S as SingleDatePickerMixin } from './single-date-picker.js';
10
11
 
@@ -125,7 +126,13 @@ const datePickerDefinition = defineVividComponent(
125
126
  "date-picker",
126
127
  DatePicker,
127
128
  DatePickerTemplate,
128
- [buttonDefinition, popupDefinition, textFieldDefinition, dividerDefinition],
129
+ [
130
+ buttonDefinition,
131
+ popupDefinition,
132
+ textFieldDefinition,
133
+ dividerDefinition,
134
+ visuallyHiddenDefinition
135
+ ],
129
136
  {
130
137
  styles: [pickerFieldStyles, calendarStyles],
131
138
  shadowOptions: {
@@ -7,6 +7,7 @@ const definition$3 = require('./definition23.cjs');
7
7
  const vividElement = require('./vivid-element.cjs');
8
8
  const pickerField_template = require('./picker-field.template.cjs');
9
9
  const calendarPicker_template = require('./calendar-picker.template.cjs');
10
+ const definition$4 = require('./definition66.cjs');
10
11
 
11
12
  const formatRange = (from, to) => {
12
13
  return `${from} – ${to}`;
@@ -220,7 +221,7 @@ class DateRangePicker extends calendarPicker_template.MinMaxCalendarPicker(
220
221
  * @internal
221
222
  */
222
223
  _isDateAriaSelected(date) {
223
- return date === this.start || date === this.end;
224
+ return this._isDateInSelectedRange(date);
224
225
  }
225
226
  /**
226
227
  * @internal
@@ -440,7 +441,13 @@ const dateRangePickerDefinition = vividElement.defineVividComponent(
440
441
  "date-range-picker",
441
442
  DateRangePicker,
442
443
  DateRangePickerTemplate,
443
- [definition.buttonDefinition, definition$1.popupDefinition, definition$2.textFieldDefinition, definition$3.dividerDefinition],
444
+ [
445
+ definition.buttonDefinition,
446
+ definition$1.popupDefinition,
447
+ definition$2.textFieldDefinition,
448
+ definition$3.dividerDefinition,
449
+ definition$4.visuallyHiddenDefinition
450
+ ],
444
451
  {
445
452
  styles: [pickerField_template.pickerFieldStyles, calendarPicker_template.calendarStyles],
446
453
  shadowOptions: {
@@ -5,6 +5,7 @@ import { d as dividerDefinition } from './definition23.js';
5
5
  import { a as attr, o as observable, v as volatile, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
6
6
  import { a as PickerField, P as PickerFieldTemplate, p as pickerFieldStyles } from './picker-field.template.js';
7
7
  import { f as formatPresentationDate, p as parsePresentationDate, M as MinMaxCalendarPicker, C as CalendarPicker, i as isValidDateStr, b as compareDateStr, a as CalendarPickerTemplate, c as calendarStyles } from './calendar-picker.template.js';
8
+ import { v as visuallyHiddenDefinition } from './definition66.js';
8
9
 
9
10
  const formatRange = (from, to) => {
10
11
  return `${from} – ${to}`;
@@ -218,7 +219,7 @@ class DateRangePicker extends MinMaxCalendarPicker(
218
219
  * @internal
219
220
  */
220
221
  _isDateAriaSelected(date) {
221
- return date === this.start || date === this.end;
222
+ return this._isDateInSelectedRange(date);
222
223
  }
223
224
  /**
224
225
  * @internal
@@ -438,7 +439,13 @@ const dateRangePickerDefinition = defineVividComponent(
438
439
  "date-range-picker",
439
440
  DateRangePicker,
440
441
  DateRangePickerTemplate,
441
- [buttonDefinition, popupDefinition, textFieldDefinition, dividerDefinition],
442
+ [
443
+ buttonDefinition,
444
+ popupDefinition,
445
+ textFieldDefinition,
446
+ dividerDefinition,
447
+ visuallyHiddenDefinition
448
+ ],
442
449
  {
443
450
  styles: [pickerFieldStyles, calendarStyles],
444
451
  shadowOptions: {
@@ -31,7 +31,7 @@ const AccordionExpandMode$1 = {
31
31
  class Accordion extends vividElement.VividElement {
32
32
  constructor() {
33
33
  super(...arguments);
34
- /* eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value */
34
+ /* eslint-disable-next-line @repo/repo/no-attribute-default-value */
35
35
  this.expandmode = AccordionExpandMode$1.single;
36
36
  this.activeItemIndex = 0;
37
37
  this.change = () => {
@@ -29,7 +29,7 @@ const AccordionExpandMode$1 = {
29
29
  class Accordion extends VividElement {
30
30
  constructor() {
31
31
  super(...arguments);
32
- /* eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value */
32
+ /* eslint-disable-next-line @repo/repo/no-attribute-default-value */
33
33
  this.expandmode = AccordionExpandMode$1.single;
34
34
  this.activeItemIndex = 0;
35
35
  this.change = () => {
@@ -8,6 +8,7 @@ const pickerField_template = require('./picker-field.template.cjs');
8
8
  const calendarPicker_template = require('./calendar-picker.template.cjs');
9
9
  const vividElement = require('./vivid-element.cjs');
10
10
  const timeSelectionPicker_template = require('./time-selection-picker.template.cjs');
11
+ const definition$4 = require('./definition66.cjs');
11
12
  const singleValuePicker = require('./single-value-picker.cjs');
12
13
  const singleDatePicker = require('./single-date-picker.cjs');
13
14
 
@@ -262,7 +263,8 @@ const dateTimePickerDefinition = vividElement.defineVividComponent(
262
263
  definition$1.popupDefinition,
263
264
  definition$2.textFieldDefinition,
264
265
  definition$3.dividerDefinition,
265
- timeSelectionPicker_template.inlineTimePickerDefinition
266
+ timeSelectionPicker_template.inlineTimePickerDefinition,
267
+ definition$4.visuallyHiddenDefinition
266
268
  ],
267
269
  {
268
270
  styles: [pickerField_template.pickerFieldStyles, calendarPicker_template.calendarStyles, styles],
@@ -6,6 +6,7 @@ import { a as PickerField, P as PickerFieldTemplate, p as pickerFieldStyles } fr
6
6
  import { i as isValidDateStr, f as formatPresentationDate, p as parsePresentationDate, C as CalendarPicker, d as currentDateStr, b as compareDateStr, V as ValidDateFilter, a as CalendarPickerTemplate, c as calendarStyles } from './calendar-picker.template.js';
7
7
  import { a as attr, h as html, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
8
8
  import { b as isValidTimeStr, f as formatPresentationTime, p as parsePresentationTime, c as TimeSelectionPicker, d as compareTimeStr, V as ValidTimeFilter, a as TimeSelectionPickerTemplate, i as inlineTimePickerDefinition } from './time-selection-picker.template.js';
9
+ import { v as visuallyHiddenDefinition } from './definition66.js';
9
10
  import { S as SingleValuePicker } from './single-value-picker.js';
10
11
  import { S as SingleDatePickerMixin } from './single-date-picker.js';
11
12
 
@@ -260,7 +261,8 @@ const dateTimePickerDefinition = defineVividComponent(
260
261
  popupDefinition,
261
262
  textFieldDefinition,
262
263
  dividerDefinition,
263
- inlineTimePickerDefinition
264
+ inlineTimePickerDefinition,
265
+ visuallyHiddenDefinition
264
266
  ],
265
267
  {
266
268
  styles: [pickerFieldStyles, calendarStyles, styles],
@@ -183,10 +183,10 @@ function renderTextField(textFieldTag, buttonTag) {
183
183
  ${when.when(
184
184
  (x) => x.value && x.value.length && x.value.length > 0,
185
185
  vividElement.html`<${buttonTag}
186
- slot="action-items"
186
+ slot="action-items"
187
187
  size='super-condensed'
188
188
  icon="backspace-line"
189
- aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteLabel}"
189
+ aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteButtonLabel}"
190
190
  appearance='ghost'
191
191
  ?disabled="${(x) => x.disabled || x.callActive}"
192
192
  @click="${(x) => deleteLastCharacter(x)}">
@@ -181,10 +181,10 @@ function renderTextField(textFieldTag, buttonTag) {
181
181
  ${when(
182
182
  (x) => x.value && x.value.length && x.value.length > 0,
183
183
  html`<${buttonTag}
184
- slot="action-items"
184
+ slot="action-items"
185
185
  size='super-condensed'
186
186
  icon="backspace-line"
187
- aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteLabel}"
187
+ aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteButtonLabel}"
188
188
  appearance='ghost'
189
189
  ?disabled="${(x) => x.disabled || x.callActive}"
190
190
  @click="${(x) => deleteLastCharacter(x)}">
@@ -11,7 +11,7 @@ const classNames = require('./class-names.cjs');
11
11
  const when = require('./when.cjs');
12
12
  const slotted = require('./slotted.cjs');
13
13
 
14
- const styles = ".base{white-space:initial;box-sizing:border-box;padding:0;border:none;border-radius:8px;background-color:transparent;color:var(--vvd-color-canvas-text);max-block-size:var(--dialog-max-block-size, calc(100vh - 64px) );max-inline-size:var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));min-inline-size:var(--dialog-min-inline-size, 280px)}@media not all and (width >= 600px){.base{--_dialog-default-max-inline-size: 90vw}}@media (width >= 600px){.base{--_dialog-default-max-inline-size: 560px}}.base:not(.modal){z-index:var(--dialog-z-index, 1)}.base.modal{box-shadow:0 4px 20px #00000059}.base.modal::backdrop{background-color:var(--vvd-color-canvas-text, currentColor);opacity:.5}.base:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,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))}.main-wrapper{display:flex;box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px}.main-wrapper>*{box-sizing:border-box}.header{display:grid;align-items:flex-start;justify-content:space-between;inline-size:100%;padding-inline:24px}.base:not(.icon-placement-side) .header{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));grid-column:1/2;grid-row:1/2;line-height:1;margin-block-end:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.base.icon-placement-side .header .icon{font-size:calc(1px*(28 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-column:1/2;grid-row:1/-1;margin-inline-end:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.header.border{position:relative}.header.border:after{position:absolute;bottom:-24px;left:0;background-color:var(--vvd-color-neutral-200);block-size:1px;content:\"\";inline-size:100%}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:24px}.hide-footer .footer{display:none}.footer .actions{display:flex;align-self:flex-end;gap:8px}.dismiss-button{flex-shrink:0;grid-column:-2/-1;grid-row:1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{margin:0;font:var(--vvd-typography-heading-4)}.subtitle{margin:0;font:var(--vvd-typography-base)}slot[name=main]{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}slot[name=main]{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}slot[name=main] ::-webkit-scrollbar{width:4px}slot[name=main] ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}slot[name=main] ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}slot[name=main]{display:block;overflow:hidden auto;max-width:inherit;max-height:inherit;border-radius:inherit}";
14
+ const styles = ".base{white-space:initial;box-sizing:border-box;padding:0;border:none;border-radius:8px;background-color:transparent;color:var(--vvd-color-canvas-text);max-inline-size:var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));min-inline-size:var(--dialog-min-inline-size, 280px)}@media not all and (width >= 600px){.base{--_dialog-default-max-inline-size: 90vw}}@media (width >= 600px){.base{--_dialog-default-max-inline-size: 560px}}.base:not(.scrollable-body){max-block-size:var(--dialog-max-block-size, calc(100vh - 64px) )}.base:not(.modal){z-index:var(--dialog-z-index, 1);inset-block:var(--dialog-inset-block, auto);inset-inline:var(--dialog-inset-inline, 0)}.base.modal{box-shadow:0 4px 20px #00000059}.base.modal::backdrop{background-color:var(--vvd-color-canvas-text, currentColor);opacity:.5}.base:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,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))}.main-wrapper{display:flex;box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px}.main-wrapper>*{box-sizing:border-box}.header{display:grid;align-items:flex-start;justify-content:space-between;inline-size:100%;padding-inline:24px}.base:not(.icon-placement-side) .header{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));grid-column:1/2;grid-row:1/2;line-height:1;margin-block-end:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.base.icon-placement-side .header .icon{font-size:calc(1px*(28 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-column:1/2;grid-row:1/-1;margin-inline-end:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.header.border{position:relative}.header.border:after{position:absolute;bottom:-24px;left:0;background-color:var(--vvd-color-neutral-200);block-size:1px;content:\"\";inline-size:100%}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.scrollable-body .body{overflow:hidden auto;max-block-size:var(--dialog-body-max-block-size, 300px);--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.scrollable-body .body{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.scrollable-body .body ::-webkit-scrollbar{width:4px}.scrollable-body .body ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.scrollable-body .body ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:24px}.hide-footer .footer{display:none}.footer .actions{display:flex;align-self:flex-end;gap:8px}.dismiss-button{flex-shrink:0;grid-column:-2/-1;grid-row:1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{margin:0;font:var(--vvd-typography-heading-4)}.subtitle{margin:0;font:var(--vvd-typography-base)}slot[name=main]{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}slot[name=main]{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}slot[name=main] ::-webkit-scrollbar{width:4px}slot[name=main] ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}slot[name=main] ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}slot[name=main]{display:block;overflow:hidden auto;max-width:inherit;max-height:inherit;border-radius:inherit}";
15
15
 
16
16
  var __defProp = Object.defineProperty;
17
17
  var __decorateClass = (decorators, target, key, kind) => {
@@ -33,6 +33,7 @@ class Dialog extends localized.Localized(delegatesAria.DelegatesAria(vividElemen
33
33
  this.noDismissButton = false;
34
34
  this.nonDismissible = false;
35
35
  this.modal = false;
36
+ this.scrollableBody = false;
36
37
  this._openedAsModal = false;
37
38
  this.#handleScrimClick = (event) => {
38
39
  if (event.target !== this.#dialog || !this.#isDismissibleVia("light-dismiss")) {
@@ -227,6 +228,9 @@ __decorateClass([
227
228
  __decorateClass([
228
229
  vividElement.attr({ mode: "boolean" })
229
230
  ], Dialog.prototype, "modal");
231
+ __decorateClass([
232
+ vividElement.attr({ mode: "boolean", attribute: "scrollable-body" })
233
+ ], Dialog.prototype, "scrollableBody");
230
234
  __decorateClass([
231
235
  vividElement.observable
232
236
  ], Dialog.prototype, "_openedAsModal");
@@ -245,7 +249,8 @@ const getClasses = ({
245
249
  bodySlottedContent,
246
250
  footerSlottedContent,
247
251
  actionItemsSlottedContent,
248
- _openedAsModal
252
+ _openedAsModal,
253
+ scrollableBody
249
254
  }) => classNames.classNames(
250
255
  "base",
251
256
  [`icon-placement-${iconPlacement}`, Boolean(iconPlacement)],
@@ -254,7 +259,8 @@ const getClasses = ({
254
259
  "hide-footer",
255
260
  !(footerSlottedContent?.length || actionItemsSlottedContent?.length)
256
261
  ],
257
- ["modal", _openedAsModal]
262
+ ["modal", _openedAsModal],
263
+ ["scrollable-body", Boolean(scrollableBody)]
258
264
  );
259
265
  function icon(iconTag) {
260
266
  return vividElement.html`
@@ -9,7 +9,7 @@ import { c as classNames } from './class-names.js';
9
9
  import { w as when } from './when.js';
10
10
  import { s as slotted } from './slotted.js';
11
11
 
12
- const styles = ".base{white-space:initial;box-sizing:border-box;padding:0;border:none;border-radius:8px;background-color:transparent;color:var(--vvd-color-canvas-text);max-block-size:var(--dialog-max-block-size, calc(100vh - 64px) );max-inline-size:var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));min-inline-size:var(--dialog-min-inline-size, 280px)}@media not all and (width >= 600px){.base{--_dialog-default-max-inline-size: 90vw}}@media (width >= 600px){.base{--_dialog-default-max-inline-size: 560px}}.base:not(.modal){z-index:var(--dialog-z-index, 1)}.base.modal{box-shadow:0 4px 20px #00000059}.base.modal::backdrop{background-color:var(--vvd-color-canvas-text, currentColor);opacity:.5}.base:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,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))}.main-wrapper{display:flex;box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px}.main-wrapper>*{box-sizing:border-box}.header{display:grid;align-items:flex-start;justify-content:space-between;inline-size:100%;padding-inline:24px}.base:not(.icon-placement-side) .header{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));grid-column:1/2;grid-row:1/2;line-height:1;margin-block-end:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.base.icon-placement-side .header .icon{font-size:calc(1px*(28 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-column:1/2;grid-row:1/-1;margin-inline-end:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.header.border{position:relative}.header.border:after{position:absolute;bottom:-24px;left:0;background-color:var(--vvd-color-neutral-200);block-size:1px;content:\"\";inline-size:100%}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:24px}.hide-footer .footer{display:none}.footer .actions{display:flex;align-self:flex-end;gap:8px}.dismiss-button{flex-shrink:0;grid-column:-2/-1;grid-row:1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{margin:0;font:var(--vvd-typography-heading-4)}.subtitle{margin:0;font:var(--vvd-typography-base)}slot[name=main]{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}slot[name=main]{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}slot[name=main] ::-webkit-scrollbar{width:4px}slot[name=main] ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}slot[name=main] ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}slot[name=main]{display:block;overflow:hidden auto;max-width:inherit;max-height:inherit;border-radius:inherit}";
12
+ const styles = ".base{white-space:initial;box-sizing:border-box;padding:0;border:none;border-radius:8px;background-color:transparent;color:var(--vvd-color-canvas-text);max-inline-size:var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));min-inline-size:var(--dialog-min-inline-size, 280px)}@media not all and (width >= 600px){.base{--_dialog-default-max-inline-size: 90vw}}@media (width >= 600px){.base{--_dialog-default-max-inline-size: 560px}}.base:not(.scrollable-body){max-block-size:var(--dialog-max-block-size, calc(100vh - 64px) )}.base:not(.modal){z-index:var(--dialog-z-index, 1);inset-block:var(--dialog-inset-block, auto);inset-inline:var(--dialog-inset-inline, 0)}.base.modal{box-shadow:0 4px 20px #00000059}.base.modal::backdrop{background-color:var(--vvd-color-canvas-text, currentColor);opacity:.5}.base:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,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))}.main-wrapper{display:flex;box-sizing:border-box;flex-direction:column;gap:24px;padding-block:24px}.main-wrapper>*{box-sizing:border-box}.header{display:grid;align-items:flex-start;justify-content:space-between;inline-size:100%;padding-inline:24px}.base:not(.icon-placement-side) .header{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.base:not(.icon-placement-side) .header .icon{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));grid-column:1/2;grid-row:1/2;line-height:1;margin-block-end:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.base.icon-placement-side .header .icon{font-size:calc(1px*(28 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base.icon-placement-side .header ::slotted(*),.base.icon-placement-side .header .icon{grid-column:1/2;grid-row:1/-1;margin-inline-end:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}.header.border{position:relative}.header.border:after{position:absolute;bottom:-24px;left:0;background-color:var(--vvd-color-neutral-200);block-size:1px;content:\"\";inline-size:100%}.base.hide-body .header.border:after{content:none}.body:not(.full-width){padding-inline:24px}.hide-body .body{display:none}.scrollable-body .body{overflow:hidden auto;max-block-size:var(--dialog-body-max-block-size, 300px);--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.scrollable-body .body{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.scrollable-body .body ::-webkit-scrollbar{width:4px}.scrollable-body .body ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.scrollable-body .body ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:24px}.hide-footer .footer{display:none}.footer .actions{display:flex;align-self:flex-end;gap:8px}.dismiss-button{flex-shrink:0;grid-column:-2/-1;grid-row:1/-1;margin-block-start:-8px;margin-inline:4px -8px}.headline{margin:0;font:var(--vvd-typography-heading-4)}.subtitle{margin:0;font:var(--vvd-typography-base)}slot[name=main]{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}slot[name=main]{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}slot[name=main] ::-webkit-scrollbar{width:4px}slot[name=main] ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}slot[name=main] ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}slot[name=main]{display:block;overflow:hidden auto;max-width:inherit;max-height:inherit;border-radius:inherit}";
13
13
 
14
14
  var __defProp = Object.defineProperty;
15
15
  var __decorateClass = (decorators, target, key, kind) => {
@@ -31,6 +31,7 @@ class Dialog extends Localized(DelegatesAria(VividElement)) {
31
31
  this.noDismissButton = false;
32
32
  this.nonDismissible = false;
33
33
  this.modal = false;
34
+ this.scrollableBody = false;
34
35
  this._openedAsModal = false;
35
36
  this.#handleScrimClick = (event) => {
36
37
  if (event.target !== this.#dialog || !this.#isDismissibleVia("light-dismiss")) {
@@ -225,6 +226,9 @@ __decorateClass([
225
226
  __decorateClass([
226
227
  attr({ mode: "boolean" })
227
228
  ], Dialog.prototype, "modal");
229
+ __decorateClass([
230
+ attr({ mode: "boolean", attribute: "scrollable-body" })
231
+ ], Dialog.prototype, "scrollableBody");
228
232
  __decorateClass([
229
233
  observable
230
234
  ], Dialog.prototype, "_openedAsModal");
@@ -243,7 +247,8 @@ const getClasses = ({
243
247
  bodySlottedContent,
244
248
  footerSlottedContent,
245
249
  actionItemsSlottedContent,
246
- _openedAsModal
250
+ _openedAsModal,
251
+ scrollableBody
247
252
  }) => classNames(
248
253
  "base",
249
254
  [`icon-placement-${iconPlacement}`, Boolean(iconPlacement)],
@@ -252,7 +257,8 @@ const getClasses = ({
252
257
  "hide-footer",
253
258
  !(footerSlottedContent?.length || actionItemsSlottedContent?.length)
254
259
  ],
255
- ["modal", _openedAsModal]
260
+ ["modal", _openedAsModal],
261
+ ["scrollable-body", Boolean(scrollableBody)]
256
262
  );
257
263
  function icon(iconTag) {
258
264
  return html`
@@ -134,8 +134,8 @@ var memoizeWith = /*#__PURE__*/_has._curry2(function memoizeWith(keyGen, fn) {
134
134
  });
135
135
  });
136
136
 
137
- const ICONS_BASE_URL = "https://icon.resources.vonage.com";
138
- const ICONS_VERSION = "4.6.5";
137
+ const ICONS_BASE_URL = 'https://icon.resources.vonage.com';
138
+ const ICONS_VERSION = '4.6.8';
139
139
 
140
140
  const numberConverter = {
141
141
  toView(value) {
@@ -132,8 +132,8 @@ var memoizeWith = /*#__PURE__*/_curry2(function memoizeWith(keyGen, fn) {
132
132
  });
133
133
  });
134
134
 
135
- const ICONS_BASE_URL = "https://icon.resources.vonage.com";
136
- const ICONS_VERSION = "4.6.5";
135
+ const ICONS_BASE_URL = 'https://icon.resources.vonage.com';
136
+ const ICONS_VERSION = '4.6.8';
137
137
 
138
138
  const numberConverter = {
139
139
  toView(value) {
@@ -4,7 +4,7 @@ const vividElement = require('./vivid-element.cjs');
4
4
  const delegatesAria = require('./delegates-aria.cjs');
5
5
  const classNames = require('./class-names.cjs');
6
6
 
7
- const styles = ":host{display:inline-block}.base{--_connotation-color-primary: var(--vvd-action-group-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-intermediate: var(--vvd-action-group-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-action-group-accent-faint, var(--vvd-color-neutral-50))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base{position:relative;display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);inline-size:inherit;vertical-align:middle}.base:before{position:absolute;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";inset:0;pointer-events:none}.base:not(.tight){padding:4px;column-gap:4px}.base:not(.shape-pill){border-radius:8px}.base.shape-pill{border-radius:24px}::slotted([role=separator]){align-self:stretch;margin-block:4px}";
7
+ const styles = ":host{display:inline-block}.base{--_connotation-color-primary: var(--vvd-action-group-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-intermediate: var(--vvd-action-group-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-action-group-accent-faint, var(--vvd-color-neutral-50))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base{position:relative;display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);inline-size:inherit;vertical-align:middle}.base:before{position:absolute;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";inset:0;pointer-events:none}.base:not(.tight){padding:4px;column-gap:4px}.base:not(.shape-pill){border-radius:8px}.base.shape-pill{border-radius:24px}::slotted([data-vvd-component=divider]){align-self:stretch;margin-block:4px}";
8
8
 
9
9
  var __defProp = Object.defineProperty;
10
10
  var __decorateClass = (decorators, target, key, kind) => {
@@ -2,7 +2,7 @@ import { V as VividElement, a as attr, h as html, d as createRegisterFunction, f
2
2
  import { D as DelegatesAria, d as delegateAria } from './delegates-aria.js';
3
3
  import { c as classNames } from './class-names.js';
4
4
 
5
- const styles = ":host{display:inline-block}.base{--_connotation-color-primary: var(--vvd-action-group-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-intermediate: var(--vvd-action-group-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-action-group-accent-faint, var(--vvd-color-neutral-50))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base{position:relative;display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);inline-size:inherit;vertical-align:middle}.base:before{position:absolute;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";inset:0;pointer-events:none}.base:not(.tight){padding:4px;column-gap:4px}.base:not(.shape-pill){border-radius:8px}.base.shape-pill{border-radius:24px}::slotted([role=separator]){align-self:stretch;margin-block:4px}";
5
+ const styles = ":host{display:inline-block}.base{--_connotation-color-primary: var(--vvd-action-group-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-intermediate: var(--vvd-action-group-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-action-group-accent-faint, var(--vvd-color-neutral-50))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base{position:relative;display:flex;box-sizing:border-box;align-items:center;background-color:var(--_appearance-color-fill);inline-size:inherit;vertical-align:middle}.base:before{position:absolute;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";inset:0;pointer-events:none}.base:not(.tight){padding:4px;column-gap:4px}.base:not(.shape-pill){border-radius:8px}.base.shape-pill{border-radius:24px}::slotted([data-vvd-component=divider]){align-self:stretch;margin-block:4px}";
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __decorateClass = (decorators, target, key, kind) => {
@@ -30,7 +30,7 @@ var __decorateClass = (decorators, target, key, kind) => {
30
30
  class MenuItem extends hostSemantics.HostSemantics(affix.AffixIcon(vividElement.VividElement)) {
31
31
  constructor() {
32
32
  super();
33
- // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
33
+ // eslint-disable-next-line @repo/repo/no-attribute-default-value
34
34
  this.role = MenuItemRole.menuitem;
35
35
  this.checked = false;
36
36
  /**
@@ -28,7 +28,7 @@ var __decorateClass = (decorators, target, key, kind) => {
28
28
  class MenuItem extends HostSemantics(AffixIcon(VividElement)) {
29
29
  constructor() {
30
30
  super();
31
- // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
31
+ // eslint-disable-next-line @repo/repo/no-attribute-default-value
32
32
  this.role = MenuItemRole.menuitem;
33
33
  this.checked = false;
34
34
  /**
@@ -12,7 +12,7 @@ const ref = require('./ref.cjs');
12
12
  const classNames = require('./class-names.cjs');
13
13
  const slotted = require('./slotted.cjs');
14
14
 
15
- const styles = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);min-inline-size:var(--menu-min-inline-size);padding-block:8px}@media not all and (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size, 300px)}}@media (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size)}}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[role=menuitem]:focus-visible){box-shadow:0 0 0 4px color-mix(in srgb,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;display:block}.header{padding-block-start:4px;padding-inline:12px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
15
+ const styles = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);min-inline-size:var(--menu-min-inline-size);padding-block:8px}@media not all and (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size, 300px)}}@media (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size)}}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[data-vvd-component=menuitem]:focus-visible){box-shadow:0 0 0 4px color-mix(in srgb,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;display:block}.header{padding-block-start:4px;padding-inline:12px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
16
16
 
17
17
  var __defProp = Object.defineProperty;
18
18
  var __decorateClass = (decorators, target, key, kind) => {
@@ -10,7 +10,7 @@ import { r as ref } from './ref.js';
10
10
  import { c as classNames } from './class-names.js';
11
11
  import { s as slotted } from './slotted.js';
12
12
 
13
- const styles = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);min-inline-size:var(--menu-min-inline-size);padding-block:8px}@media not all and (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size, 300px)}}@media (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size)}}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[role=menuitem]:focus-visible){box-shadow:0 0 0 4px color-mix(in srgb,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;display:block}.header{padding-block-start:4px;padding-inline:12px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
13
+ const styles = ":host{display:var(--_popup-display, inline)}:host([slotted-anchor]){--_popup-display: contents}.base{display:flex;overflow:hidden auto;box-sizing:border-box;flex-direction:column;gap:8px;inline-size:max-content;max-block-size:var(--menu-block-size, 408px);min-inline-size:var(--menu-min-inline-size);padding-block:8px}@media not all and (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size, 300px)}}@media (width >= 600px){.base{max-inline-size:var(--menu-max-inline-size)}}::slotted(a){color:var(--vvd-color-canvas-text);text-decoration:none}::slotted(a[data-vvd-component=menuitem]:focus-visible){box-shadow:0 0 0 4px color-mix(in srgb,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;display:block}.header{padding-block-start:4px;padding-inline:12px}.hide-header .header{display:none}.body{display:flex;flex-direction:column;row-gap:1px}.hide-body .body{display:none}.action-items{display:flex;justify-content:flex-end;gap:8px;padding-block-end:4px;padding-inline:12px}.hide-actions .action-items{display:none}";
14
14
 
15
15
  var __defProp = Object.defineProperty;
16
16
  var __decorateClass = (decorators, target, key, kind) => {
@@ -92,7 +92,7 @@ const NavDisclosureTemplate = (context) => {
92
92
  ${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)}
93
93
  ${(x) => x.label}
94
94
  <slot name="meta"></slot>
95
- <${iconTag} class="toggleIcon" name=${(x) => x.open ? "chevron-up-solid" : "chevron-down-solid"}
95
+ <${iconTag} class="toggleIcon" name=${(x) => x.open ? "chevron-up-line" : "chevron-down-line"}
96
96
  aria-hidden="true"></${iconTag}>
97
97
  </summary>
98
98
  <div class="content" id="disclosure-content">
@@ -90,7 +90,7 @@ const NavDisclosureTemplate = (context) => {
90
90
  ${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)}
91
91
  ${(x) => x.label}
92
92
  <slot name="meta"></slot>
93
- <${iconTag} class="toggleIcon" name=${(x) => x.open ? "chevron-up-solid" : "chevron-down-solid"}
93
+ <${iconTag} class="toggleIcon" name=${(x) => x.open ? "chevron-up-line" : "chevron-down-line"}
94
94
  aria-hidden="true"></${iconTag}>
95
95
  </summary>
96
96
  <div class="content" id="disclosure-content">
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- const definition = require('./definition11.cjs');
4
- const definition$1 = require('./definition23.cjs');
5
- const vividElement = require('./vivid-element.cjs');
6
- const definition$2 = require('./definition28.cjs');
3
+ const definition$1 = require('./definition11.cjs');
4
+ const definition$2 = require('./definition23.cjs');
5
+ const definition = require('./definition66.cjs');
6
+ const definition$3 = require('./definition28.cjs');
7
7
  const mixins = require('./mixins.cjs');
8
+ const vividElement = require('./vivid-element.cjs');
8
9
  const delegatesAria = require('./delegates-aria.cjs');
9
10
  const formAssociated = require('./form-associated.cjs');
10
11
  const withErrorText = require('./with-error-text.cjs');
@@ -38,6 +39,9 @@ function makeStep(element, direction) {
38
39
  const value = parseFloat(element.value);
39
40
  const stepUpValue = !isNaN(value) ? value + direction * element.step : element.min > 0 ? element.min : element.max < 0 ? element.max : !element.min ? direction * element.step : 0;
40
41
  element.value = Number(stepUpValue.toFixed(12)).toString();
42
+ element._updatedValueAnnouncement = element.locale.numberField.updatedValueAnnouncement(
43
+ element._presentationValue
44
+ );
41
45
  }
42
46
  const buildNumberPatterns = (decimalSeparator) => {
43
47
  const ds = decimalSeparator.source;
@@ -68,7 +72,7 @@ class NumberField extends mixins.WithFeedback(
68
72
  this.proxy = document.createElement("input");
69
73
  this.readOnly = false;
70
74
  this.autofocus = false;
71
- // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
75
+ // eslint-disable-next-line @repo/repo/no-attribute-default-value
72
76
  this.step = 1;
73
77
  /**
74
78
  * Flag to indicate that the value change is from the user input
@@ -76,6 +80,7 @@ class NumberField extends mixins.WithFeedback(
76
80
  */
77
81
  this.isUserInput = false;
78
82
  this._presentationValue = "";
83
+ this._updatedValueAnnouncement = "";
79
84
  this.incrementButtonAriaLabel = null;
80
85
  this.decrementButtonAriaLabel = null;
81
86
  }
@@ -281,6 +286,9 @@ __decorateClass([
281
286
  __decorateClass([
282
287
  vividElement.observable
283
288
  ], NumberField.prototype, "_presentationValue");
289
+ __decorateClass([
290
+ vividElement.observable
291
+ ], NumberField.prototype, "_updatedValueAnnouncement");
284
292
  __decorateClass([
285
293
  vividElement.attr({ attribute: "increment-button-aria-label" })
286
294
  ], NumberField.prototype, "incrementButtonAriaLabel");
@@ -332,32 +340,32 @@ function getTabIndex(numberField) {
332
340
  return numberField.disabled || numberField.readOnly ? "-1" : null;
333
341
  }
334
342
  function numberControlButtons(context) {
335
- const buttonTag = context.tagFor(definition.Button);
343
+ const buttonTag = context.tagFor(definition$1.Button);
336
344
  const dividerTag = context.tagFor(divider.Divider);
337
345
  return vividElement.html`
338
- <div class="control-buttons"
339
- ?inert="${(x) => x.disabled || x.readOnly}">
340
- <${buttonTag} id="subtract" icon="minus-line"
341
- ?disabled="${(x) => x.disabled || x.readOnly}"
342
- aria-label=${(x) => x.decrementButtonAriaLabel || x.locale.numberField.decrementButtonLabel}
343
- shape="${setControlButtonShape}"
344
- type="button"
345
- size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
346
- tabindex="${getTabIndex}"
347
- @click="${(x) => x.stepDown()}"></${buttonTag}>
348
- <${dividerTag} class="divider" orientation="vertical"></${dividerTag}>
349
- <${buttonTag} id="add" icon="plus-line"
350
- ?disabled="${(x) => x.disabled || x.readOnly}"
351
- aria-label=${(x) => x.incrementButtonAriaLabel || x.locale.numberField.incrementButtonLabel}
352
- shape="${setControlButtonShape}"
353
- type="button"
354
- size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
355
- tabindex="${getTabIndex}"
356
- @click="${(x) => x.stepUp()}"></${buttonTag}>
357
- </div>
346
+ <div class="control-buttons" ?inert="${(x) => x.disabled || x.readOnly}">
347
+ <${buttonTag} id="subtract" icon="minus-line"
348
+ ?disabled="${(x) => x.disabled || x.readOnly}"
349
+ aria-label=${(x) => x.decrementButtonAriaLabel || x.locale.numberField.decrementButtonLabel(x.step)}
350
+ shape="${setControlButtonShape}"
351
+ type="button"
352
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
353
+ tabindex="${getTabIndex}"
354
+ @click="${(x) => x.stepDown()}"></${buttonTag}>
355
+ <${dividerTag} class="divider" orientation="vertical"></${dividerTag}>
356
+ <${buttonTag} id="add" icon="plus-line"
357
+ ?disabled="${(x) => x.disabled || x.readOnly}"
358
+ aria-label=${(x) => x.incrementButtonAriaLabel || x.locale.numberField.incrementButtonLabel(x.step)}
359
+ shape="${setControlButtonShape}"
360
+ type="button"
361
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
362
+ tabindex="${getTabIndex}"
363
+ @click="${(x) => x.stepUp()}"></${buttonTag}>
364
+ </div>
358
365
  `;
359
366
  }
360
367
  const NumberFieldTemplate = (context) => {
368
+ const visuallyHiddenTag = context.tagFor(definition.VisuallyHidden);
361
369
  return vividElement.html`
362
370
  <div class="base ${getStateClasses}">
363
371
  ${when.when((x) => x.label, renderLabel())}
@@ -391,6 +399,8 @@ const NumberFieldTemplate = (context) => {
391
399
  ${() => numberControlButtons(context)}
392
400
  </div>
393
401
  ${(x) => x._getFeedbackTemplate(context)}
402
+ <${visuallyHiddenTag} id="value-announcement" role="status" aria-atomic="true">
403
+ ${(x) => x._updatedValueAnnouncement}</${visuallyHiddenTag}>
394
404
  </div>
395
405
  `;
396
406
  };
@@ -400,10 +410,11 @@ const numberFieldDefinition = vividElement.defineVividComponent(
400
410
  NumberField,
401
411
  NumberFieldTemplate,
402
412
  [
403
- definition.buttonDefinition,
404
- definition$1.dividerDefinition,
405
- definition$2.iconDefinition,
406
- mixins.feedbackMessageDefinition
413
+ definition$1.buttonDefinition,
414
+ definition$2.dividerDefinition,
415
+ definition$3.iconDefinition,
416
+ mixins.feedbackMessageDefinition,
417
+ definition.visuallyHiddenDefinition
407
418
  ],
408
419
  {
409
420
  styles,