@vonage/vivid 5.24.0 → 5.25.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 (331) hide show
  1. package/README.md +1 -1
  2. package/avatar/index.cjs +10 -10
  3. package/avatar/index.js +4 -3
  4. package/breadcrumb-item/index.cjs +9 -5
  5. package/breadcrumb-item/index.js +11 -6
  6. package/bundled/affix.cjs +1 -1
  7. package/bundled/affix.js +1 -1
  8. package/bundled/definition10.cjs +2 -1
  9. package/bundled/definition10.js +3 -2
  10. package/bundled/definition11.cjs +4 -4
  11. package/bundled/definition11.js +4 -3
  12. package/bundled/definition12.cjs +1 -1
  13. package/bundled/definition12.js +1 -0
  14. package/bundled/definition15.cjs +5 -5
  15. package/bundled/definition15.js +4 -3
  16. package/bundled/definition17.cjs +7 -7
  17. package/bundled/definition17.js +22 -109
  18. package/bundled/definition18.cjs +3 -3
  19. package/bundled/definition18.js +9 -31
  20. package/bundled/definition19.cjs +19 -19
  21. package/bundled/definition19.js +3 -2
  22. package/bundled/definition21.cjs +8 -8
  23. package/bundled/definition21.js +5 -4
  24. package/bundled/definition22.cjs +2 -2
  25. package/bundled/definition22.js +2 -2
  26. package/bundled/definition24.cjs +4 -4
  27. package/bundled/definition24.js +4 -3
  28. package/bundled/definition25.cjs +3 -3
  29. package/bundled/definition25.js +32 -28
  30. package/bundled/definition3.cjs +5 -5
  31. package/bundled/definition3.js +10 -40
  32. package/bundled/definition4.cjs +6 -6
  33. package/bundled/definition4.js +4 -3
  34. package/bundled/definition6.cjs +11 -11
  35. package/bundled/definition6.js +4 -3
  36. package/bundled/definition9.cjs +12 -6
  37. package/bundled/definition9.js +66 -43
  38. package/bundled/extractOptions.cjs +1 -1
  39. package/bundled/extractOptions.js +2 -2
  40. package/bundled/icon.cjs +1 -0
  41. package/bundled/icon.js +34 -0
  42. package/bundled/listbox.cjs +1 -1
  43. package/bundled/listbox.js +5 -2
  44. package/bundled/mixins.cjs +8 -8
  45. package/bundled/mixins.js +4 -3
  46. package/bundled/optgroup.cjs +1 -0
  47. package/bundled/optgroup.js +27 -0
  48. package/bundled/option.cjs +1 -0
  49. package/bundled/option.js +93 -0
  50. package/bundled/vivid-element.cjs +1 -1
  51. package/bundled/vivid-element.js +1 -1
  52. package/card/index.cjs +22 -22
  53. package/card/index.js +4 -3
  54. package/color-picker/index.cjs +18 -18
  55. package/color-picker/index.js +4 -3
  56. package/combobox/index.cjs +7 -7
  57. package/combobox/index.js +4 -2
  58. package/custom-elements.json +4159 -3847
  59. package/data-grid/index.cjs +24 -24
  60. package/data-grid/index.js +4 -3
  61. package/dial-pad/index.cjs +21 -21
  62. package/dial-pad/index.js +4 -3
  63. package/dialog/index.cjs +14 -14
  64. package/dialog/index.js +4 -3
  65. package/empty-state/index.cjs +3 -3
  66. package/empty-state/index.js +4 -3
  67. package/file-picker/index.cjs +7 -7
  68. package/file-picker/index.js +4 -3
  69. package/icon/definition.cjs +2 -1
  70. package/icon/definition.js +2 -1
  71. package/index.cjs +148 -141
  72. package/index.js +41 -37
  73. package/lib/accordion-item/accordion-item.d.ts +1 -0
  74. package/lib/combobox/combobox.d.ts +1 -1
  75. package/lib/components.d.ts +1 -0
  76. package/lib/dial-pad/dial-pad.d.ts +0 -1
  77. package/lib/listbox/definition.d.ts +3 -0
  78. package/lib/listbox/index.d.ts +1 -0
  79. package/lib/listbox/listbox.d.ts +1302 -0
  80. package/lib/listbox/listbox.template.d.ts +3 -0
  81. package/lib/listbox/variations.browser-spec.d.ts +1 -0
  82. package/lib/menu/menu.d.ts +0 -1
  83. package/lib/number-field/number-field.d.ts +0 -1
  84. package/lib/rich-text-editor/rte/features/base.d.ts +1 -0
  85. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -2
  86. package/lib/tag-name-map.d.ts +2 -1
  87. package/lib/text-field/text-field.d.ts +1 -0
  88. package/lib/toggletip/toggletip.d.ts +1 -0
  89. package/lib/tooltip/tooltip.d.ts +1 -0
  90. package/listbox/definition.cjs +5 -0
  91. package/listbox/definition.js +2 -0
  92. package/listbox/index.cjs +11 -0
  93. package/listbox/index.js +540 -0
  94. package/nav/definition.cjs +1 -1
  95. package/nav/definition.js +1 -1
  96. package/nav-disclosure/definition.cjs +1 -1
  97. package/nav-disclosure/definition.js +1 -1
  98. package/nav-disclosure/index.cjs +4 -4
  99. package/nav-disclosure/index.js +4 -3
  100. package/nav-item/definition.cjs +1 -1
  101. package/nav-item/definition.js +1 -1
  102. package/note/definition.cjs +1 -1
  103. package/note/definition.js +1 -1
  104. package/number-field/definition.cjs +1 -1
  105. package/number-field/definition.js +1 -1
  106. package/optgroup/definition.cjs +2 -1
  107. package/optgroup/definition.js +2 -1
  108. package/option/definition.cjs +2 -1
  109. package/option/definition.js +2 -1
  110. package/package.json +8 -7
  111. package/pagination/definition.cjs +1 -1
  112. package/pagination/definition.js +1 -1
  113. package/platform-switch/definition.cjs +1 -1
  114. package/platform-switch/definition.js +1 -1
  115. package/popover/definition.cjs +1 -1
  116. package/popover/definition.js +1 -1
  117. package/popover/index.cjs +5 -5
  118. package/popover/index.js +4 -3
  119. package/progress/definition.cjs +1 -1
  120. package/progress/definition.js +1 -1
  121. package/radio/definition.cjs +1 -1
  122. package/radio/definition.js +1 -1
  123. package/radio-group/definition.cjs +1 -1
  124. package/radio-group/definition.js +1 -1
  125. package/range-slider/definition.cjs +1 -1
  126. package/range-slider/definition.js +1 -1
  127. package/rich-text-editor/definition.cjs +1 -1
  128. package/rich-text-editor/definition.js +1 -1
  129. package/rich-text-editor/index.cjs +13 -13
  130. package/rich-text-editor/index.js +22 -19
  131. package/rich-text-view/definition.cjs +1 -1
  132. package/rich-text-view/definition.js +1 -1
  133. package/searchable-select/definition.cjs +1 -1
  134. package/searchable-select/definition.js +1 -1
  135. package/searchable-select/index.cjs +23 -23
  136. package/searchable-select/index.js +10 -7
  137. package/select/definition.cjs +1 -1
  138. package/select/definition.js +1 -1
  139. package/selectable-box/definition.cjs +1 -1
  140. package/selectable-box/definition.js +1 -1
  141. package/shared/listbox/commands.d.ts +17 -0
  142. package/shared/listbox/move.d.ts +6 -0
  143. package/shared/listbox/options.d.ts +12 -0
  144. package/shared/listbox/selection.d.ts +28 -0
  145. package/shared/listbox/state.d.ts +26 -0
  146. package/shared/listbox/typeahead.d.ts +8 -0
  147. package/shared/listbox/with-options-filter.d.ts +440 -0
  148. package/shared/listbox/with-options.d.ts +862 -0
  149. package/side-drawer/definition.cjs +1 -1
  150. package/side-drawer/definition.js +1 -1
  151. package/simple-color-picker/definition.cjs +1 -1
  152. package/simple-color-picker/definition.js +1 -1
  153. package/simple-color-picker/index.cjs +6 -6
  154. package/simple-color-picker/index.js +4 -3
  155. package/split-button/definition.cjs +1 -1
  156. package/split-button/definition.js +1 -1
  157. package/status/definition.cjs +1 -1
  158. package/status/definition.js +1 -1
  159. package/switch/definition.cjs +1 -1
  160. package/switch/definition.js +1 -1
  161. package/tab/definition.cjs +1 -1
  162. package/tab/definition.js +1 -1
  163. package/tab-panel/definition.cjs +1 -1
  164. package/tab-panel/definition.js +1 -1
  165. package/table/definition.cjs +1 -1
  166. package/table/definition.js +1 -1
  167. package/table/index.cjs +13 -13
  168. package/table/index.js +4 -3
  169. package/tabs/definition.cjs +1 -1
  170. package/tabs/definition.js +1 -1
  171. package/tag/definition.cjs +1 -1
  172. package/tag/definition.js +1 -1
  173. package/tag/index.cjs +11 -11
  174. package/tag/index.js +4 -3
  175. package/tag-group/definition.cjs +1 -1
  176. package/tag-group/definition.js +1 -1
  177. package/text-area/definition.cjs +1 -1
  178. package/text-area/definition.js +1 -1
  179. package/time-picker/definition.cjs +1 -1
  180. package/time-picker/definition.js +1 -1
  181. package/tree-item/definition.cjs +1 -1
  182. package/tree-item/definition.js +1 -1
  183. package/tree-view/definition.cjs +1 -1
  184. package/tree-view/definition.js +1 -1
  185. package/unbundled/affix.cjs +2 -2
  186. package/unbundled/affix.js +1 -1
  187. package/unbundled/base-progress.cjs +1 -1
  188. package/unbundled/base-progress.js +1 -1
  189. package/unbundled/button.cjs +2 -2
  190. package/unbundled/button.js +2 -2
  191. package/unbundled/definition.cjs +2 -65
  192. package/unbundled/definition.js +4 -61
  193. package/unbundled/definition11.cjs +4 -3
  194. package/unbundled/definition11.js +3 -2
  195. package/unbundled/definition12.cjs +3 -2
  196. package/unbundled/definition12.js +3 -2
  197. package/unbundled/definition14.cjs +2 -1
  198. package/unbundled/definition14.js +2 -1
  199. package/unbundled/definition17.cjs +9 -4
  200. package/unbundled/definition17.js +9 -4
  201. package/unbundled/definition2.cjs +7 -2
  202. package/unbundled/definition2.js +8 -3
  203. package/unbundled/definition21.cjs +2 -1
  204. package/unbundled/definition21.js +2 -1
  205. package/unbundled/definition23.cjs +2 -1
  206. package/unbundled/definition23.js +2 -1
  207. package/unbundled/definition24.cjs +6 -4
  208. package/unbundled/definition24.js +6 -4
  209. package/unbundled/definition25.cjs +2 -1
  210. package/unbundled/definition25.js +2 -1
  211. package/unbundled/definition26.cjs +7 -4
  212. package/unbundled/definition26.js +7 -4
  213. package/unbundled/definition27.cjs +39 -5
  214. package/unbundled/definition27.js +40 -6
  215. package/unbundled/definition28.cjs +4 -3
  216. package/unbundled/definition28.js +4 -3
  217. package/unbundled/definition29.cjs +5 -168
  218. package/unbundled/definition29.js +11 -162
  219. package/unbundled/definition30.cjs +2 -63
  220. package/unbundled/definition30.js +5 -54
  221. package/unbundled/definition31.cjs +5 -3
  222. package/unbundled/definition31.js +5 -3
  223. package/unbundled/definition32.cjs +2 -1
  224. package/unbundled/definition32.js +2 -1
  225. package/unbundled/definition35.cjs +2 -1
  226. package/unbundled/definition35.js +2 -1
  227. package/unbundled/definition37.cjs +1 -1
  228. package/unbundled/definition37.js +1 -1
  229. package/unbundled/definition39.cjs +1 -1
  230. package/unbundled/definition39.js +1 -1
  231. package/unbundled/definition40.cjs +4 -2
  232. package/unbundled/definition40.js +4 -2
  233. package/unbundled/definition41.cjs +11 -6
  234. package/unbundled/definition41.js +11 -6
  235. package/unbundled/definition42.cjs +5 -4
  236. package/unbundled/definition42.js +5 -4
  237. package/unbundled/definition44.cjs +3 -2
  238. package/unbundled/definition44.js +3 -2
  239. package/unbundled/definition45.cjs +2 -2
  240. package/unbundled/definition45.js +2 -2
  241. package/unbundled/definition49.cjs +583 -79
  242. package/unbundled/definition49.js +579 -76
  243. package/unbundled/definition50.cjs +71 -33
  244. package/unbundled/definition50.js +67 -29
  245. package/unbundled/definition51.cjs +54 -23
  246. package/unbundled/definition51.js +52 -18
  247. package/unbundled/definition52.cjs +23 -39
  248. package/unbundled/definition52.js +17 -36
  249. package/unbundled/definition53.cjs +29 -314
  250. package/unbundled/definition53.js +27 -312
  251. package/unbundled/definition54.cjs +302 -195
  252. package/unbundled/definition54.js +298 -191
  253. package/unbundled/definition55.cjs +210 -40
  254. package/unbundled/definition55.js +206 -36
  255. package/unbundled/definition56.cjs +42 -266
  256. package/unbundled/definition56.js +38 -262
  257. package/unbundled/definition57.cjs +270 -50
  258. package/unbundled/definition57.js +267 -46
  259. package/unbundled/definition58.cjs +48 -146
  260. package/unbundled/definition58.js +47 -143
  261. package/unbundled/definition59.cjs +127 -225
  262. package/unbundled/definition59.js +122 -223
  263. package/unbundled/definition6.cjs +2 -1
  264. package/unbundled/definition6.js +2 -1
  265. package/unbundled/definition60.cjs +199 -418
  266. package/unbundled/definition60.js +196 -415
  267. package/unbundled/definition61.cjs +442 -3738
  268. package/unbundled/definition61.js +432 -3565
  269. package/unbundled/definition62.cjs +3717 -730
  270. package/unbundled/definition62.js +3544 -720
  271. package/unbundled/definition63.cjs +770 -97
  272. package/unbundled/definition63.js +767 -94
  273. package/unbundled/definition64.cjs +100 -999
  274. package/unbundled/definition64.js +98 -994
  275. package/unbundled/definition65.cjs +991 -93
  276. package/unbundled/definition65.js +985 -90
  277. package/unbundled/definition66.cjs +109 -73
  278. package/unbundled/definition66.js +105 -63
  279. package/unbundled/definition67.cjs +69 -155
  280. package/unbundled/definition67.js +60 -152
  281. package/unbundled/definition68.cjs +155 -119
  282. package/unbundled/definition68.js +151 -115
  283. package/unbundled/definition69.cjs +124 -49
  284. package/unbundled/definition69.js +120 -45
  285. package/unbundled/definition70.cjs +51 -85
  286. package/unbundled/definition70.js +50 -81
  287. package/unbundled/definition71.cjs +91 -19
  288. package/unbundled/definition71.js +86 -14
  289. package/unbundled/definition72.cjs +20 -87
  290. package/unbundled/definition72.js +14 -84
  291. package/unbundled/definition73.cjs +77 -294
  292. package/unbundled/definition73.js +72 -217
  293. package/unbundled/definition74.cjs +289 -311
  294. package/unbundled/definition74.js +219 -306
  295. package/unbundled/definition75.cjs +326 -26
  296. package/unbundled/definition75.js +317 -23
  297. package/unbundled/definition76.cjs +27 -122
  298. package/unbundled/definition76.js +22 -118
  299. package/unbundled/definition77.cjs +105 -232
  300. package/unbundled/definition77.js +101 -228
  301. package/unbundled/definition78.cjs +259 -26
  302. package/unbundled/definition78.js +249 -23
  303. package/unbundled/definition79.cjs +29 -148
  304. package/unbundled/definition79.js +27 -133
  305. package/unbundled/definition80.cjs +118 -173
  306. package/unbundled/definition80.js +109 -169
  307. package/unbundled/definition81.cjs +181 -477
  308. package/unbundled/definition81.js +176 -471
  309. package/unbundled/definition82.cjs +517 -0
  310. package/unbundled/definition82.js +497 -0
  311. package/unbundled/extractOptions.cjs +5 -5
  312. package/unbundled/extractOptions.js +2 -2
  313. package/unbundled/icon.cjs +67 -0
  314. package/unbundled/icon.js +61 -0
  315. package/unbundled/linkable.cjs +1 -1
  316. package/unbundled/linkable.js +1 -1
  317. package/unbundled/listbox.cjs +8 -3
  318. package/unbundled/listbox.js +7 -2
  319. package/unbundled/mixins.cjs +2 -1
  320. package/unbundled/mixins.js +2 -1
  321. package/unbundled/optgroup.cjs +66 -0
  322. package/unbundled/optgroup.js +54 -0
  323. package/unbundled/option.cjs +176 -0
  324. package/unbundled/option.js +164 -0
  325. package/unbundled/time-selection-picker.template.cjs +1 -1
  326. package/unbundled/time-selection-picker.template.js +1 -1
  327. package/unbundled/vivid-element.cjs +1 -1
  328. package/unbundled/vivid-element.js +1 -1
  329. package/video-player/definition.cjs +1 -1
  330. package/video-player/definition.js +1 -1
  331. package/vivid.api.json +336 -193
@@ -1,333 +1,48 @@
1
1
  import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
2
  import { t as iconDefinition } from "./definition.js";
3
3
  import { t as __decorate } from "./decorate.js";
4
- import { t as AffixIcon } from "./affix.js";
5
- import { n as delegateAria, t as DelegatesAria } from "./delegates-aria.js";
6
- import { n as FormAssociated } from "./form-associated.js";
7
- import { t as Localized } from "./localized.js";
8
- import { i as Button, t as buttonDefinition } from "./definition6.js";
9
- import { u as Shape } from "./enums.js";
10
- import { t as Divider } from "./divider.js";
11
- import { n as visuallyHiddenDefinition, r as VisuallyHidden } from "./definition22.js";
12
- import { r as feedbackMessageDefinition, t as WithFeedback } from "./mixins.js";
13
- import { t as FormElement } from "./form-element.js";
14
- import { t as WithErrorText } from "./with-error-text.js";
15
- import { t as WithSuccessText } from "./with-success-text.js";
16
- import { t as contextualHelpDefinition } from "./definition25.js";
17
- import { t as WithContextualHelp } from "./with-contextual-help.js";
18
- import { t as dividerDefinition } from "./definition36.js";
19
- import { Updates, attr, html, nullableNumberConverter, observable, ref, slotted, when } from "@microsoft/fast-element";
20
- import { classNames, keyArrowDown, keyArrowUp } from "@microsoft/fast-web-utilities";
21
- //#region src/lib/number-field/number-field.scss?inline
22
- var number_field_default = ".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{--_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}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base{--_connotation-color-primary:var(--vvd-text-field-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-text-field-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-text-field-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-intermediate:var(--vvd-text-field-accent-intermediate,var(--vvd-color-neutral-500));--_connotation-color-firm:var(--vvd-text-field-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-fierce:var(--vvd-text-field-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-text-field-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-text-field-accent-soft,var(--vvd-color-neutral-100));--_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):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){-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.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}.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{appearance:none}.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}";
4
+ import { a as affixIconTemplateFactory, i as IconWrapper, t as AffixIcon } from "./affix.js";
5
+ import { attr, html, when } from "@microsoft/fast-element";
6
+ import { classNames } from "@microsoft/fast-web-utilities";
7
+ //#region src/lib/note/note.scss?inline
8
+ var note_default = ".base.connotation-success{--_connotation-color-intermediate:var(--vvd-note-success-intermediate,var(--vvd-color-success-500));--_connotation-color-faint:var(--vvd-note-success-faint,var(--vvd-color-success-50));--_connotation-color-fierce:var(--vvd-note-success-fierce,var(--vvd-color-success-700))}.base.connotation-information{--_connotation-color-intermediate:var(--vvd-note-information-intermediate,var(--vvd-color-information-500));--_connotation-color-faint:var(--vvd-note-information-faint,var(--vvd-color-information-50));--_connotation-color-fierce:var(--vvd-note-information-fierce,var(--vvd-color-information-700))}.base.connotation-alert{--_connotation-color-intermediate:var(--vvd-note-alert-intermediate,var(--vvd-color-alert-500));--_connotation-color-faint:var(--vvd-note-alert-faint,var(--vvd-color-alert-50));--_connotation-color-fierce:var(--vvd-note-alert-fierce,var(--vvd-color-alert-700))}.base.connotation-warning{--_connotation-color-intermediate:var(--vvd-note-warning-intermediate,var(--vvd-color-warning-300));--_connotation-color-faint:var(--vvd-note-warning-faint,var(--vvd-color-warning-50));--_connotation-color-fierce:var(--vvd-note-warning-fierce,var(--vvd-color-warning-700))}.base.connotation-announcement{--_connotation-color-intermediate:var(--vvd-note-announcement-intermediate,var(--vvd-color-announcement-500));--_connotation-color-faint:var(--vvd-note-announcement-faint,var(--vvd-color-announcement-50));--_connotation-color-fierce:var(--vvd-note-announcement-fierce,var(--vvd-color-announcement-700))}.base:not(.connotation-success,.connotation-information,.connotation-alert,.connotation-warning,.connotation-announcement){--_connotation-color-intermediate:var(--vvd-note-accent-intermediate,var(--vvd-color-neutral-500));--_connotation-color-faint:var(--vvd-note-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-fierce:var(--vvd-note-accent-fierce,var(--vvd-color-neutral-700))}.base{--_appearance-color-text:var(--_connotation-color-fierce);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-intermediate);padding:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 20));background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--vvd-color-canvas-text);border-radius:8px;align-items:flex-start;column-gap:16px;display:flex}@supports (contain:content){.base{contain:content}}@supports not (contain:content){.base{overflow:hidden}}slot[name=icon]{color:var(--_appearance-color-outline);font-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16))}.text{text-align:start;flex-direction:column;flex-grow:1;justify-content:center;align-items:flex-start;gap:4px;min-height:24px;display:flex}.text .headline{font:var(--vvd-typography-base-bold)}.text .message{font:var(--vvd-typography-base)}";
23
9
  //#endregion
24
- //#region src/lib/number-field/number-field.ts
25
- var STEP_DIRECTION = {
26
- up: 1,
27
- down: -1
28
- };
29
- function makeStep(element, direction) {
30
- const value = parseFloat(element.value);
31
- const stepUpValue = !isNaN(value) ? value + direction * element.step : element.min > 0 ? element.min : element.max < 0 ? element.max : !element.min ? direction * element.step : 0;
32
- element.value = Number(stepUpValue.toFixed(12)).toString();
33
- element._updatedValueAnnouncement = element.locale.numberField.updatedValueAnnouncement(element._presentationValue);
34
- }
35
- var buildNumberPatterns = (decimalSeparator) => {
36
- const ds = decimalSeparator.source;
37
- return {
38
- invalidCharacters: new RegExp(`[^0-9\\-+e${ds}]`, "g"),
39
- additionalDecimalSeparators: new RegExp(`(?<=${ds}.*)${ds}`, "g"),
40
- trailingDecimalSeparator: new RegExp(`${ds}$`),
41
- decimalSeparator
42
- };
43
- };
44
- var numberPatternsWithPeriod = buildNumberPatterns(/\./);
45
- var numberPatternsWithComma = buildNumberPatterns(/,/);
46
- var validNumber = /^-?((\d*\.\d+)|(\d+))$/;
10
+ //#region src/lib/note/note.ts
47
11
  /**
48
12
  * @public
49
- * @component number-field
50
- * @slot helper-text - Describes how to use the number-field. Alternative to the `helper-text` attribute.
51
- * @event {CustomEvent<undefined>} input - Fires a custom 'input' event when the value has changed
52
- * @event {CustomEvent<undefined>} change - Fires a custom 'change' event when the value has changed
53
- * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
54
- * @vueModel valueAsNumber valueAsNumber input,@lazy:change `event.currentTarget.valueAsNumber`
55
- * @testAction fill fill #control
56
- * @testAction clear clear #control
57
- * @testAction clickIncrement clickButton #incrementButton
58
- * @testAction clickDecrement clickButton #decrementButton
59
- * @testQuery valueAsNumber valueAsNumber
60
- * @testRef control shadow input.control
61
- * @testRef incrementButton shadowButton #add
62
- * @testRef decrementButton shadowButton #subtract
13
+ * @component note
14
+ * @slot - Any slotted content will appear below the headline.
15
+ * @slot icon - The preferred way to add an icon to the component.
63
16
  */
64
- var NumberField = class extends WithContextualHelp(WithFeedback(WithErrorText(WithSuccessText(FormElement(AffixIcon(Localized(DelegatesAria(FormAssociated(VividElement))))))))) {
65
- constructor(..._args) {
66
- super(..._args);
67
- this.proxy = document.createElement("input");
68
- this.readOnly = false;
69
- this.autofocus = false;
70
- this.step = 1;
71
- this.isUserInput = false;
72
- this._presentationValue = "";
73
- this._updatedValueAnnouncement = "";
74
- this.incrementButtonAriaLabel = null;
75
- this.decrementButtonAriaLabel = null;
76
- }
77
- stepChanged(_, next) {
78
- this.proxy.setAttribute("step", Number.isFinite(next) ? next.toString() : "");
79
- }
80
- /**
81
- * Ensures that the max is greater than the min and that the value
82
- * is less than the max
83
- *
84
- * @internal
85
- */
86
- maxChanged(_, next) {
87
- this.max = Math.max(next, this.min ?? next);
88
- this.proxy.max = this.max.toString();
89
- this.validate();
90
- }
91
- /**
92
- * Ensures that the min is less than the max and that the value
93
- * is greater than the min
94
- *
95
- * @internal
96
- */
97
- minChanged(_, next) {
98
- this.min = Math.min(next, this.max ?? next);
99
- this.proxy.min = this.min.toString();
100
- this.validate();
101
- }
102
- /** The value property, typed as a number. */
103
- get valueAsNumber() {
104
- return parseFloat(this.value);
105
- }
106
- set valueAsNumber(next) {
107
- this.value = next.toString();
108
- }
109
- /** @internal */
110
- valueChanged(previous, next) {
111
- this.value = validNumber.test(next) ? next : "";
112
- if (next !== this.value) return;
113
- if (this.control && !this.isUserInput) this._presentationValue = this.#valueToPresentationValue(this.value);
114
- super.valueChanged(previous, this.value);
115
- if (previous !== void 0 && !this.isUserInput) {
116
- this.$emit("input");
117
- this.$emit("change");
118
- }
119
- }
120
- /** @internal */
121
- get _numberPatterns() {
122
- return this.locale.common.useCommaAsDecimalSeparator ? numberPatternsWithComma : numberPatternsWithPeriod;
123
- }
124
- #valueToPresentationValue(value) {
125
- return value.replace(".", this.locale.common.useCommaAsDecimalSeparator ? "," : ".");
126
- }
127
- #inputToPresentationValue(input) {
128
- return input.replace(this._numberPatterns.invalidCharacters, "").replace(this._numberPatterns.additionalDecimalSeparators, "");
129
- }
130
- #presentationValueToValue(presentationValue) {
131
- const candidate = presentationValue.replace(this._numberPatterns.trailingDecimalSeparator, "").replace(this._numberPatterns.decimalSeparator, ".");
132
- return validNumber.test(candidate) ? candidate : "";
133
- }
134
- /** {@inheritDoc (FormAssociated:interface).validate} */
135
- validate() {
136
- super.validate(this.control);
137
- }
138
- /** Increments the value using the step value */
139
- stepUp() {
140
- makeStep(this, STEP_DIRECTION.up);
141
- }
142
- /** Decrements the value using the step value */
143
- stepDown() {
144
- makeStep(this, STEP_DIRECTION.down);
145
- }
146
- /**
147
- * Sets up the initial state of the number field
148
- * @internal
149
- */
150
- connectedCallback() {
151
- super.connectedCallback();
152
- this.proxy.setAttribute("type", "number");
153
- this.validate();
154
- this._presentationValue = this.#valueToPresentationValue(this.value);
155
- if (this.autofocus) Updates.enqueue(() => {
156
- this.focus();
157
- });
158
- }
159
- /** Selects all the text in the number field */
160
- select() {
161
- this.control.select();
162
- /**
163
- * The select event does not permeate the shadow DOM boundary.
164
- * This fn effectively proxies the select event,
165
- * emitting a `select` event whenever the internal
166
- * control emits a `select` event
167
- */
168
- this.$emit("select");
169
- }
170
- /**
171
- * Handles the internal control's `input` event
172
- * @internal
173
- */
174
- handleTextInput() {
175
- this._presentationValue = this.#inputToPresentationValue(this.control.value);
176
- if (this.control.value !== this._presentationValue) this.control.value = this._presentationValue;
177
- this.isUserInput = true;
178
- this.value = this.#presentationValueToValue(this._presentationValue);
179
- this.isUserInput = false;
180
- }
181
- /**
182
- * Change event handler for inner control.
183
- * @remarks
184
- * "Change" events are not `composable` so they will not
185
- * permeate the shadow DOM boundary. This fn effectively proxies
186
- * the change event, emitting a `change` event whenever the internal
187
- * control emits a `change` event
188
- * @internal
189
- */
190
- handleChange() {
191
- this.$emit("change");
192
- }
193
- /**
194
- * Handles the internal control's `keydown` event
195
- * @internal
196
- */
197
- handleKeyDown(e) {
198
- switch (e.key) {
199
- case keyArrowUp:
200
- this.stepUp();
201
- return false;
202
- case keyArrowDown:
203
- this.stepDown();
204
- return false;
205
- }
206
- return true;
207
- }
208
- };
209
- __decorate([attr({
210
- attribute: "readonly",
211
- mode: "boolean"
212
- })], NumberField.prototype, "readOnly", void 0);
213
- __decorate([attr({ mode: "boolean" })], NumberField.prototype, "autofocus", void 0);
214
- __decorate([attr], NumberField.prototype, "placeholder", void 0);
215
- __decorate([attr], NumberField.prototype, "list", void 0);
216
- __decorate([attr({ converter: nullableNumberConverter })], NumberField.prototype, "maxlength", void 0);
217
- __decorate([attr({ converter: nullableNumberConverter })], NumberField.prototype, "minlength", void 0);
218
- __decorate([attr({ converter: nullableNumberConverter })], NumberField.prototype, "size", void 0);
219
- __decorate([attr()], NumberField.prototype, "scale", void 0);
220
- __decorate([attr({ converter: nullableNumberConverter })], NumberField.prototype, "step", void 0);
221
- __decorate([attr({ converter: nullableNumberConverter })], NumberField.prototype, "max", void 0);
222
- __decorate([attr({ converter: nullableNumberConverter })], NumberField.prototype, "min", void 0);
223
- __decorate([observable], NumberField.prototype, "defaultSlottedNodes", void 0);
224
- __decorate([observable], NumberField.prototype, "_presentationValue", void 0);
225
- __decorate([observable], NumberField.prototype, "_updatedValueAnnouncement", void 0);
226
- __decorate([attr({ attribute: "increment-button-aria-label" })], NumberField.prototype, "incrementButtonAriaLabel", void 0);
227
- __decorate([attr({ attribute: "decrement-button-aria-label" })], NumberField.prototype, "decrementButtonAriaLabel", void 0);
228
- __decorate([attr], NumberField.prototype, "appearance", void 0);
229
- __decorate([attr], NumberField.prototype, "shape", void 0);
230
- __decorate([attr], NumberField.prototype, "autoComplete", void 0);
17
+ var Note = class extends AffixIcon(VividElement) {};
18
+ __decorate([attr], Note.prototype, "headline", void 0);
19
+ __decorate([attr], Note.prototype, "connotation", void 0);
231
20
  //#endregion
232
- //#region src/lib/number-field/number-field.template.ts
233
- function renderLabel() {
234
- return html` <label for="control" class="label">
235
- ${(x) => x.label}
236
- </label>`;
237
- }
238
- function setControlButtonShape(numberField) {
239
- return numberField.shape === Shape.Pill ? Shape.Pill : null;
240
- }
241
- function getTabIndex(numberField) {
242
- return numberField.disabled || numberField.readOnly ? "-1" : null;
21
+ //#region src/lib/note/note.template.ts
22
+ function getHeaderTemplate() {
23
+ return html`<div class="headline">${(x) => x.headline}</div>`;
243
24
  }
244
- /** @param context - element definition context */
245
- function numberControlButtons(context) {
246
- const buttonTag = context.tagFor(Button);
247
- const dividerTag = context.tagFor(Divider);
25
+ var NoteTemplate = (context) => {
26
+ const affixIconTemplate = affixIconTemplateFactory(context);
248
27
  return html`
249
- <div class="control-buttons" ?inert="${(x) => x.disabled || x.readOnly}">
250
- <${buttonTag} id="subtract" icon="minus-line"
251
- ?disabled="${(x) => x.disabled || x.readOnly}"
252
- aria-label=${(x) => x.decrementButtonAriaLabel || x.locale.numberField.decrementButtonLabel(x.step)}
253
- shape="${setControlButtonShape}"
254
- type="button"
255
- size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
256
- tabindex="${getTabIndex}"
257
- @click="${(x) => x.stepDown()}"></${buttonTag}>
258
- <${dividerTag} class="divider" orientation="vertical"></${dividerTag}>
259
- <${buttonTag} id="add" icon="plus-line"
260
- ?disabled="${(x) => x.disabled || x.readOnly}"
261
- aria-label=${(x) => x.incrementButtonAriaLabel || x.locale.numberField.incrementButtonLabel(x.step)}
262
- shape="${setControlButtonShape}"
263
- type="button"
264
- size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
265
- tabindex="${getTabIndex}"
266
- @click="${(x) => x.stepUp()}"></${buttonTag}>
267
- </div>
268
- `;
269
- }
270
- var NumberFieldTemplate = (context) => {
271
- const visuallyHiddenTag = context.tagFor(VisuallyHidden);
272
- return html`
273
- <div class="base ${(x) => classNames(["error", Boolean(x.errorValidationMessage)], ["disabled", x.disabled], ["has-value", Boolean(x.value)], ["readonly", x.readOnly], ["placeholder", Boolean(x.placeholder)], [`appearance-${x.appearance}`, Boolean(x.appearance)], [`shape-${x.shape}`, Boolean(x.shape)], ["no-label", !x.label], ["success", !!x.successText], [`size-${x.scale}`, Boolean(x.scale)])}">
274
- <div class="label-wrapper" ?hidden=${(x) => !x.label && !x._hasContextualHelp}>
275
- ${when((x) => x.label, renderLabel())}
276
- <slot name="contextual-help" ${slotted("_contextualHelpSlottedContent")}></slot>
277
- </div>
278
- <div class="fieldset">
279
- <div class="wrapper">
280
- <input
281
- class="control"
282
- id="control"
283
- @input="${(x) => x.handleTextInput()}"
284
- @change="${(x) => x.handleChange()}"
285
- @keydown="${(x, c) => x.handleKeyDown(c.event)}"
286
- ?autofocus="${(x) => x.autofocus}"
287
- ?disabled="${(x) => x.disabled}"
288
- list="${(x) => x.list}"
289
- maxlength="${(x) => x.maxlength}"
290
- minlength="${(x) => x.minlength}"
291
- placeholder="${(x) => x.placeholder}"
292
- ?readonly="${(x) => x.readOnly}"
293
- ?required="${(x) => x.required}"
294
- size="${(x) => x.size}"
295
- autocomplete="${(x) => x.autoComplete}"
296
- name="${(x) => x.name}"
297
- ?spellcheck="${(x) => x.spellcheck}"
298
- :value="${(x) => x._presentationValue}"
299
- type="text"
300
- ${delegateAria({ ariaDescribedBy: (x) => x._feedbackDescribedBy })}
301
- ${ref("control")}
302
- />
303
- </div>
304
- ${() => numberControlButtons(context)}
28
+ <div class="${(x) => classNames("base", `connotation-${x.connotation}`)}">
29
+ ${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)}
30
+ <div class="text">
31
+ ${when((x) => x.headline, getHeaderTemplate())}
32
+ <slot class="message"></slot>
305
33
  </div>
306
- ${(x) => x._getFeedbackTemplate(context)}
307
- <${visuallyHiddenTag} id="value-announcement" role="status" aria-atomic="true">
308
- ${(x) => x._updatedValueAnnouncement}</${visuallyHiddenTag}>
309
34
  </div>
310
35
  `;
311
36
  };
312
37
  //#endregion
313
- //#region src/lib/number-field/definition.ts
38
+ //#region src/lib/note/definition.ts
314
39
  /** @internal */
315
- var numberFieldDefinition = defineVividComponent("number-field", NumberField, NumberFieldTemplate, [
316
- buttonDefinition,
317
- dividerDefinition,
318
- iconDefinition,
319
- feedbackMessageDefinition,
320
- visuallyHiddenDefinition,
321
- contextualHelpDefinition
322
- ], {
323
- styles: number_field_default,
324
- shadowOptions: { delegatesFocus: true }
325
- });
40
+ var noteDefinition = defineVividComponent("note", Note, NoteTemplate, [iconDefinition], { styles: note_default });
326
41
  /**
327
- * Registers the number-field elements with the design system.
42
+ * Registers the note elements with the design system.
328
43
  *
329
44
  * @param prefix - the prefix to use for the component name
330
45
  */
331
- var registerNumberField = createRegisterFunction(numberFieldDefinition);
46
+ var registerNote = createRegisterFunction(noteDefinition);
332
47
  //#endregion
333
- export { registerNumberField as n, NumberField as r, numberFieldDefinition as t };
48
+ export { registerNote as n, Note as r, noteDefinition as t };