@vonage/vivid 4.13.0 → 4.14.1

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 (512) hide show
  1. package/custom-elements.json +3088 -1610
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +70 -136
  5. package/index.d.ts +0 -1
  6. package/index.js +60 -62
  7. package/lib/accordion/accordion.d.ts +2 -2
  8. package/lib/accordion/accordion.template.d.ts +1 -2
  9. package/lib/accordion/definition.d.ts +1 -1
  10. package/lib/accordion-item/accordion-item.d.ts +2 -2
  11. package/lib/accordion-item/accordion-item.template.d.ts +2 -3
  12. package/lib/accordion-item/definition.d.ts +1 -1
  13. package/lib/action-group/action-group.d.ts +2 -2
  14. package/lib/action-group/action-group.template.d.ts +1 -3
  15. package/lib/action-group/definition.d.ts +1 -1
  16. package/lib/alert/alert.d.ts +2 -2
  17. package/lib/alert/alert.template.d.ts +2 -3
  18. package/lib/alert/definition.d.ts +1 -1
  19. package/lib/audio-player/audio-player.d.ts +2 -2
  20. package/lib/audio-player/audio-player.template.d.ts +2 -3
  21. package/lib/audio-player/definition.d.ts +1 -3
  22. package/lib/avatar/avatar.d.ts +2 -2
  23. package/lib/avatar/avatar.template.d.ts +2 -3
  24. package/lib/avatar/definition.d.ts +1 -1
  25. package/lib/badge/badge.d.ts +2 -2
  26. package/lib/badge/badge.template.d.ts +2 -3
  27. package/lib/badge/definition.d.ts +1 -3
  28. package/lib/banner/banner.d.ts +2 -2
  29. package/lib/banner/banner.template.d.ts +2 -3
  30. package/lib/banner/definition.d.ts +1 -1
  31. package/lib/breadcrumb/breadcrumb.d.ts +2 -2
  32. package/lib/breadcrumb/breadcrumb.template.d.ts +3 -4
  33. package/lib/breadcrumb/definition.d.ts +1 -1
  34. package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  35. package/lib/breadcrumb-item/breadcrumb-item.template.d.ts +2 -3
  36. package/lib/breadcrumb-item/definition.d.ts +1 -1
  37. package/lib/button/button.d.ts +2 -2
  38. package/lib/button/button.template.d.ts +2 -4
  39. package/lib/button/definition.d.ts +1 -1
  40. package/lib/calendar/calendar.d.ts +2 -2
  41. package/lib/calendar/calendar.template.d.ts +1 -3
  42. package/lib/calendar/definition.d.ts +1 -1
  43. package/lib/calendar-event/calendar-event.d.ts +2 -2
  44. package/lib/calendar-event/calendar-event.template.d.ts +1 -3
  45. package/lib/calendar-event/definition.d.ts +1 -1
  46. package/lib/card/card.d.ts +2 -2
  47. package/lib/card/card.template.d.ts +2 -3
  48. package/lib/card/definition.d.ts +1 -1
  49. package/lib/checkbox/checkbox.form-associated.d.ts +3 -2
  50. package/lib/checkbox/checkbox.template.d.ts +2 -3
  51. package/lib/checkbox/definition.d.ts +1 -1
  52. package/lib/combobox/combobox.d.ts +17 -2
  53. package/lib/combobox/combobox.options.d.ts +7 -0
  54. package/lib/combobox/combobox.template.d.ts +2 -3
  55. package/lib/combobox/definition.d.ts +1 -2
  56. package/lib/data-grid/data-grid-cell.d.ts +16 -13
  57. package/lib/data-grid/data-grid-cell.template.d.ts +2 -3
  58. package/lib/data-grid/data-grid-row.d.ts +19 -2
  59. package/lib/data-grid/data-grid-row.template.d.ts +2 -2
  60. package/lib/data-grid/data-grid.d.ts +45 -4
  61. package/lib/data-grid/data-grid.template.d.ts +2 -2
  62. package/lib/data-grid/definition.d.ts +1 -6
  63. package/lib/date-picker/definition.d.ts +1 -3
  64. package/lib/date-range-picker/definition.d.ts +1 -3
  65. package/lib/dial-pad/definition.d.ts +1 -3
  66. package/lib/dial-pad/dial-pad.d.ts +2 -2
  67. package/lib/dial-pad/dial-pad.template.d.ts +2 -3
  68. package/lib/dialog/definition.d.ts +1 -1
  69. package/lib/dialog/dialog.d.ts +2 -2
  70. package/lib/dialog/dialog.template.d.ts +2 -3
  71. package/lib/divider/definition.d.ts +1 -1
  72. package/lib/divider/divider.d.ts +2 -2
  73. package/lib/divider/divider.template.d.ts +1 -3
  74. package/lib/elevation/definition.d.ts +1 -1
  75. package/lib/elevation/elevation.d.ts +3 -2
  76. package/lib/elevation/elevation.template.d.ts +1 -3
  77. package/lib/empty-state/definition.d.ts +1 -3
  78. package/lib/empty-state/empty-state.d.ts +2 -2
  79. package/lib/empty-state/empty-state.template.d.ts +2 -3
  80. package/lib/fab/definition.d.ts +1 -3
  81. package/lib/fab/fab.template.d.ts +2 -3
  82. package/lib/file-picker/definition.d.ts +1 -3
  83. package/lib/file-picker/file-picker.form-associated.d.ts +3 -2
  84. package/lib/file-picker/file-picker.template.d.ts +2 -3
  85. package/lib/header/definition.d.ts +1 -3
  86. package/lib/header/header.d.ts +2 -2
  87. package/lib/header/header.template.d.ts +2 -3
  88. package/lib/icon/definition.d.ts +1 -3
  89. package/lib/icon/icon.d.ts +2 -2
  90. package/lib/icon/icon.template.d.ts +1 -3
  91. package/lib/layout/definition.d.ts +1 -3
  92. package/lib/layout/layout.d.ts +2 -2
  93. package/lib/layout/layout.template.d.ts +1 -3
  94. package/lib/listbox/definition.d.ts +1 -3
  95. package/lib/listbox/listbox.template.d.ts +1 -3
  96. package/lib/menu/definition.d.ts +1 -11
  97. package/lib/menu/menu.d.ts +2 -2
  98. package/lib/menu/menu.template.d.ts +3 -3
  99. package/lib/menu-item/definition.d.ts +1 -3
  100. package/lib/menu-item/menu-item.d.ts +2 -2
  101. package/lib/menu-item/menu-item.template.d.ts +2 -3
  102. package/lib/nav/definition.d.ts +1 -3
  103. package/lib/nav/nav.d.ts +2 -2
  104. package/lib/nav/nav.template.d.ts +1 -3
  105. package/lib/nav-disclosure/definition.d.ts +1 -3
  106. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  107. package/lib/nav-disclosure/nav-disclosure.template.d.ts +2 -3
  108. package/lib/nav-item/definition.d.ts +1 -3
  109. package/lib/nav-item/nav-item.template.d.ts +2 -3
  110. package/lib/note/definition.d.ts +1 -3
  111. package/lib/note/note.d.ts +2 -2
  112. package/lib/note/note.template.d.ts +2 -3
  113. package/lib/number-field/definition.d.ts +1 -4
  114. package/lib/number-field/number-field.form-associated.d.ts +3 -2
  115. package/lib/number-field/number-field.template.d.ts +2 -3
  116. package/lib/option/definition.d.ts +1 -3
  117. package/lib/option/option.d.ts +3 -2
  118. package/lib/option/option.template.d.ts +2 -3
  119. package/lib/pagination/definition.d.ts +1 -3
  120. package/lib/pagination/pagination.d.ts +2 -2
  121. package/lib/pagination/pagination.template.d.ts +2 -3
  122. package/lib/popup/definition.d.ts +1 -3
  123. package/lib/popup/popup.template.d.ts +2 -3
  124. package/lib/progress/definition.d.ts +1 -3
  125. package/lib/progress/progress.d.ts +1 -1
  126. package/lib/progress/progress.template.d.ts +1 -4
  127. package/lib/progress-ring/definition.d.ts +1 -3
  128. package/lib/progress-ring/progress-ring.d.ts +1 -1
  129. package/lib/progress-ring/progress-ring.template.d.ts +1 -3
  130. package/lib/radio/definition.d.ts +1 -3
  131. package/lib/radio/radio.form-associated.d.ts +5 -2
  132. package/lib/radio/radio.template.d.ts +1 -3
  133. package/lib/radio-group/definition.d.ts +1 -11
  134. package/lib/radio-group/radio-group.d.ts +2 -2
  135. package/lib/radio-group/radio-group.template.d.ts +2 -3
  136. package/lib/range-slider/definition.d.ts +1 -3
  137. package/lib/range-slider/range-slider.form-associated.d.ts +3 -2
  138. package/lib/range-slider/range-slider.template.d.ts +2 -3
  139. package/lib/searchable-select/definition.d.ts +1 -4
  140. package/lib/searchable-select/option-tag.template.d.ts +2 -3
  141. package/lib/searchable-select/searchable-select.form-associated.d.ts +3 -2
  142. package/lib/searchable-select/searchable-select.template.d.ts +2 -3
  143. package/lib/select/definition.d.ts +1 -3
  144. package/lib/select/select.d.ts +14 -4
  145. package/lib/select/select.form-associated.d.ts +11 -0
  146. package/lib/select/select.template.d.ts +2 -3
  147. package/lib/selectable-box/definition.d.ts +1 -3
  148. package/lib/selectable-box/selectable-box.d.ts +2 -2
  149. package/lib/selectable-box/selectable-box.template.d.ts +2 -3
  150. package/lib/side-drawer/definition.d.ts +1 -3
  151. package/lib/side-drawer/side-drawer.d.ts +2 -2
  152. package/lib/side-drawer/side-drawer.template.d.ts +1 -3
  153. package/lib/slider/definition.d.ts +1 -3
  154. package/lib/slider/slider.form-associated.d.ts +3 -2
  155. package/lib/slider/slider.template.d.ts +3 -4
  156. package/lib/split-button/definition.d.ts +1 -1
  157. package/lib/split-button/split-button.d.ts +2 -2
  158. package/lib/split-button/split-button.template.d.ts +2 -3
  159. package/lib/switch/definition.d.ts +1 -3
  160. package/lib/switch/switch.form-associated.d.ts +3 -2
  161. package/lib/switch/switch.template.d.ts +1 -3
  162. package/lib/tab/definition.d.ts +1 -3
  163. package/lib/tab/tab.d.ts +2 -2
  164. package/lib/tab/tab.template.d.ts +2 -2
  165. package/lib/tab-panel/definition.d.ts +1 -3
  166. package/lib/tab-panel/tab-panel.d.ts +2 -2
  167. package/lib/tab-panel/tab-panel.template.d.ts +1 -1
  168. package/lib/tabs/definition.d.ts +1 -3
  169. package/lib/tabs/tabs.d.ts +3 -7
  170. package/lib/tabs/tabs.template.d.ts +1 -1
  171. package/lib/tag/definition.d.ts +1 -4
  172. package/lib/tag/tag.d.ts +2 -2
  173. package/lib/tag/tag.template.d.ts +2 -3
  174. package/lib/tag-group/definition.d.ts +1 -3
  175. package/lib/tag-group/tag-group.d.ts +2 -2
  176. package/lib/tag-group/tag-group.template.d.ts +1 -3
  177. package/lib/text-anchor/definition.d.ts +1 -3
  178. package/lib/text-anchor/text-anchor.d.ts +4 -3
  179. package/lib/text-anchor/text-anchor.template.d.ts +2 -3
  180. package/lib/text-area/definition.d.ts +1 -3
  181. package/lib/text-area/text-area.d.ts +1 -1
  182. package/lib/text-area/{text-field.form-associated.d.ts → text-area.form-associated.d.ts} +3 -2
  183. package/lib/text-area/text-area.template.d.ts +2 -3
  184. package/lib/text-field/definition.d.ts +1 -3
  185. package/lib/text-field/text-field.form-associated.d.ts +3 -2
  186. package/lib/text-field/text-field.template.d.ts +2 -3
  187. package/lib/time-picker/definition.d.ts +1 -3
  188. package/lib/time-picker/time-picker.form-associated.d.ts +3 -2
  189. package/lib/time-picker/time-picker.template.d.ts +2 -2
  190. package/lib/toggletip/definition.d.ts +1 -3
  191. package/lib/toggletip/toggletip.d.ts +2 -2
  192. package/lib/toggletip/toggletip.template.d.ts +2 -3
  193. package/lib/tooltip/definition.d.ts +1 -3
  194. package/lib/tooltip/tooltip.d.ts +2 -2
  195. package/lib/tooltip/tooltip.template.d.ts +2 -3
  196. package/lib/tree-item/definition.d.ts +1 -3
  197. package/lib/tree-item/tree-item.d.ts +11 -2
  198. package/lib/tree-item/tree-item.template.d.ts +3 -3
  199. package/lib/tree-view/definition.d.ts +1 -3
  200. package/lib/tree-view/tree-view.d.ts +16 -2
  201. package/lib/tree-view/tree-view.template.d.ts +1 -1
  202. package/lib/video-player/definition.d.ts +1 -3
  203. package/lib/video-player/video-player.d.ts +2 -2
  204. package/lib/video-player/video-player.template.d.ts +1 -3
  205. package/listbox/index.cjs +37 -39
  206. package/listbox/index.js +37 -39
  207. package/menu/index.cjs +1 -1
  208. package/menu/index.js +1 -1
  209. package/nav/index.cjs +1 -1
  210. package/nav/index.js +1 -1
  211. package/nav-disclosure/index.cjs +1 -1
  212. package/nav-disclosure/index.js +1 -1
  213. package/nav-item/index.cjs +1 -1
  214. package/nav-item/index.js +1 -1
  215. package/note/index.cjs +1 -1
  216. package/note/index.js +1 -1
  217. package/number-field/index.cjs +1 -1
  218. package/number-field/index.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +1 -1
  222. package/pagination/index.cjs +1 -1
  223. package/pagination/index.js +1 -1
  224. package/popup/index.cjs +1 -1
  225. package/popup/index.js +1 -1
  226. package/progress/index.cjs +1 -1
  227. package/progress/index.js +1 -1
  228. package/progress-ring/index.cjs +1 -1
  229. package/progress-ring/index.js +1 -1
  230. package/radio/index.cjs +1 -1
  231. package/radio/index.js +1 -1
  232. package/radio-group/index.cjs +1 -1
  233. package/radio-group/index.js +1 -1
  234. package/range-slider/index.cjs +1 -1
  235. package/range-slider/index.js +1 -1
  236. package/searchable-select/index.cjs +1 -1
  237. package/searchable-select/index.js +1 -1
  238. package/select/index.cjs +1 -1
  239. package/select/index.js +1 -1
  240. package/selectable-box/index.cjs +1 -1
  241. package/selectable-box/index.js +1 -1
  242. package/shared/affix.cjs +10 -10
  243. package/shared/affix.js +2 -2
  244. package/shared/anchor.cjs +59 -0
  245. package/shared/anchor.js +57 -0
  246. package/shared/anchored.cjs +6 -6
  247. package/shared/anchored.js +2 -2
  248. package/shared/apply-mixins.cjs +15 -17
  249. package/shared/apply-mixins.js +15 -17
  250. package/shared/apply-mixins2.cjs +25 -0
  251. package/shared/apply-mixins2.js +23 -0
  252. package/shared/applyMixinsWithObservables.cjs +4 -4
  253. package/shared/applyMixinsWithObservables.js +2 -2
  254. package/shared/aria-global.cjs +86 -67
  255. package/shared/aria-global.js +86 -67
  256. package/shared/aria-global2.cjs +68 -86
  257. package/shared/aria-global2.js +68 -86
  258. package/shared/base-progress.cjs +69 -63
  259. package/shared/base-progress.js +69 -63
  260. package/shared/breadcrumb-item.cjs +6 -58
  261. package/shared/breadcrumb-item.js +3 -55
  262. package/shared/button.cjs +177 -0
  263. package/shared/button.js +175 -0
  264. package/shared/calendar-event.cjs +9 -9
  265. package/shared/calendar-event.js +2 -2
  266. package/shared/children.cjs +2 -2
  267. package/shared/children.js +1 -1
  268. package/shared/date-picker/date-picker-base.form-associated.d.ts +3 -2
  269. package/shared/date-picker/date-picker-base.template.d.ts +2 -3
  270. package/shared/definition.cjs +25 -24
  271. package/shared/definition.js +16 -14
  272. package/shared/definition10.cjs +14 -12
  273. package/shared/definition10.js +14 -11
  274. package/shared/definition11.cjs +52 -248
  275. package/shared/definition11.js +24 -218
  276. package/shared/definition12.cjs +18 -14
  277. package/shared/definition12.js +17 -12
  278. package/shared/definition13.cjs +19 -19
  279. package/shared/definition13.js +10 -9
  280. package/shared/definition14.cjs +35 -38
  281. package/shared/definition14.js +15 -17
  282. package/shared/definition15.cjs +27 -26
  283. package/shared/definition15.js +16 -14
  284. package/shared/definition16.cjs +480 -612
  285. package/shared/definition16.js +473 -604
  286. package/shared/definition17.cjs +933 -1113
  287. package/shared/definition17.js +911 -1090
  288. package/shared/definition18.cjs +16 -20
  289. package/shared/definition18.js +19 -22
  290. package/shared/definition19.cjs +26 -30
  291. package/shared/definition19.js +21 -24
  292. package/shared/definition2.cjs +19 -22
  293. package/shared/definition2.js +20 -22
  294. package/shared/definition20.cjs +50 -52
  295. package/shared/definition20.js +34 -35
  296. package/shared/definition21.cjs +43 -47
  297. package/shared/definition21.js +19 -22
  298. package/shared/definition22.cjs +15 -13
  299. package/shared/definition22.js +14 -11
  300. package/shared/definition23.cjs +21 -20
  301. package/shared/definition23.js +14 -12
  302. package/shared/definition24.cjs +21 -173
  303. package/shared/definition24.js +18 -169
  304. package/shared/definition25.cjs +26 -28
  305. package/shared/definition25.js +18 -19
  306. package/shared/definition26.cjs +16 -14
  307. package/shared/definition26.js +14 -11
  308. package/shared/definition27.cjs +264 -12
  309. package/shared/definition27.js +261 -10
  310. package/shared/definition28.cjs +19 -17
  311. package/shared/definition28.js +15 -12
  312. package/shared/definition29.cjs +142 -68
  313. package/shared/definition29.js +101 -29
  314. package/shared/definition3.cjs +20 -16
  315. package/shared/definition3.js +16 -11
  316. package/shared/definition30.cjs +98 -76
  317. package/shared/definition30.js +97 -74
  318. package/shared/definition31.cjs +24 -97
  319. package/shared/definition31.js +25 -97
  320. package/shared/definition32.cjs +9 -25
  321. package/shared/definition32.js +8 -23
  322. package/shared/definition33.cjs +52 -14
  323. package/shared/definition33.js +51 -12
  324. package/shared/definition34.cjs +639 -34
  325. package/shared/definition34.js +636 -30
  326. package/shared/definition35.cjs +203 -596
  327. package/shared/definition35.js +197 -591
  328. package/shared/definition36.cjs +197 -233
  329. package/shared/definition36.js +192 -226
  330. package/shared/definition37.cjs +79 -206
  331. package/shared/definition37.js +75 -202
  332. package/shared/definition38.cjs +50 -56
  333. package/shared/definition38.js +48 -52
  334. package/shared/definition39.cjs +259 -56
  335. package/shared/definition39.js +258 -54
  336. package/shared/definition4.cjs +32 -35
  337. package/shared/definition4.js +19 -21
  338. package/shared/definition40.cjs +156 -225
  339. package/shared/definition40.js +152 -221
  340. package/shared/definition41.cjs +626 -36
  341. package/shared/definition41.js +625 -34
  342. package/shared/definition42.cjs +974 -487
  343. package/shared/definition42.js +971 -482
  344. package/shared/definition43.cjs +725 -932
  345. package/shared/definition43.js +713 -918
  346. package/shared/definition44.cjs +115 -734
  347. package/shared/definition44.js +113 -731
  348. package/shared/definition45.cjs +92 -116
  349. package/shared/definition45.js +92 -115
  350. package/shared/definition46.cjs +468 -89
  351. package/shared/definition46.js +465 -86
  352. package/shared/definition47.cjs +118 -470
  353. package/shared/definition47.js +115 -465
  354. package/shared/definition48.cjs +113 -120
  355. package/shared/definition48.js +111 -117
  356. package/shared/definition49.cjs +16 -134
  357. package/shared/definition49.js +15 -132
  358. package/shared/definition5.cjs +47 -49
  359. package/shared/definition5.js +18 -19
  360. package/shared/definition50.cjs +111 -15
  361. package/shared/definition50.js +109 -12
  362. package/shared/definition51.cjs +862 -84
  363. package/shared/definition51.js +858 -79
  364. package/shared/definition52.cjs +30 -873
  365. package/shared/definition52.js +28 -870
  366. package/shared/definition53.cjs +125 -28
  367. package/shared/definition53.js +123 -25
  368. package/shared/definition54.cjs +267 -107
  369. package/shared/definition54.js +261 -100
  370. package/shared/definition55.cjs +63 -278
  371. package/shared/definition55.js +61 -275
  372. package/shared/definition56.cjs +867 -76
  373. package/shared/definition56.js +866 -74
  374. package/shared/definition57.cjs +107 -826
  375. package/shared/definition57.js +105 -823
  376. package/shared/definition58.cjs +73 -100
  377. package/shared/definition58.js +69 -95
  378. package/shared/definition59.cjs +180 -106
  379. package/shared/definition59.js +174 -101
  380. package/shared/definition6.cjs +22 -21
  381. package/shared/definition6.js +14 -12
  382. package/shared/definition60.cjs +272 -70
  383. package/shared/definition60.js +272 -69
  384. package/shared/definition61.cjs +66154 -271
  385. package/shared/definition61.js +66153 -269
  386. package/shared/definition62.cjs +38 -66173
  387. package/shared/definition62.js +35 -66170
  388. package/shared/definition63.cjs +2153 -27
  389. package/shared/definition63.js +2150 -25
  390. package/shared/definition7.cjs +18 -15
  391. package/shared/definition7.js +13 -10
  392. package/shared/definition8.cjs +25 -27
  393. package/shared/definition8.js +16 -17
  394. package/shared/definition9.cjs +21 -21
  395. package/shared/definition9.js +18 -17
  396. package/shared/design-system/createRegisterFunction.d.ts +2 -0
  397. package/shared/design-system/defineVividComponent.d.ts +15 -0
  398. package/shared/{localization.js → direction.js} +11 -11
  399. package/shared/dom.cjs +0 -13
  400. package/shared/dom.js +1 -13
  401. package/shared/form-associated.cjs +422 -457
  402. package/shared/form-associated.js +422 -457
  403. package/shared/form-associated2.cjs +383 -0
  404. package/shared/form-associated2.js +381 -0
  405. package/shared/form-elements.cjs +15 -42
  406. package/shared/form-elements.js +2 -29
  407. package/shared/foundation/anchor/anchor.d.ts +1 -0
  408. package/shared/foundation/button/button.d.ts +3 -2
  409. package/shared/foundation/button/button.template.d.ts +2 -4
  410. package/shared/foundation/form-associated/form-associated.d.ts +51 -0
  411. package/shared/foundation/listbox/listbox.d.ts +22 -0
  412. package/shared/foundation/progress/base-progress.d.ts +9 -0
  413. package/shared/foundation/utilities/apply-mixins.d.ts +1 -0
  414. package/shared/foundation/vivid-element/vivid-element.d.ts +3 -0
  415. package/shared/index.cjs +7 -5097
  416. package/shared/index.js +7 -5079
  417. package/shared/key-codes.cjs +10 -0
  418. package/shared/key-codes.js +6 -1
  419. package/shared/key-codes2.cjs +1463 -6
  420. package/shared/key-codes2.js +1461 -4
  421. package/shared/listbox.cjs +427 -1195
  422. package/shared/listbox.js +411 -1176
  423. package/shared/listbox2.cjs +1267 -0
  424. package/shared/listbox2.js +1264 -0
  425. package/shared/localized.cjs +2 -2
  426. package/shared/localized.js +1 -1
  427. package/shared/numbers.cjs +12 -0
  428. package/shared/numbers.js +12 -1
  429. package/shared/patterns/affix.d.ts +2 -2
  430. package/shared/patterns/chevron.d.ts +2 -2
  431. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  432. package/shared/presentationDate.cjs +49 -49
  433. package/shared/presentationDate.js +6 -6
  434. package/shared/ref.cjs +2 -2
  435. package/shared/ref.js +1 -1
  436. package/shared/repeat.cjs +22 -22
  437. package/shared/repeat.js +1 -1
  438. package/shared/slider.template.cjs +5 -5
  439. package/shared/slider.template.js +2 -2
  440. package/shared/slotted.cjs +4 -4
  441. package/shared/slotted.js +1 -1
  442. package/shared/strings.cjs +0 -26
  443. package/shared/strings.js +1 -25
  444. package/shared/strings2.cjs +37 -0
  445. package/shared/strings2.js +33 -0
  446. package/shared/text-anchor.cjs +7 -89
  447. package/shared/text-anchor.js +4 -86
  448. package/shared/text-anchor.template.cjs +2 -2
  449. package/shared/text-anchor.template.js +1 -1
  450. package/shared/text-field2.cjs +28 -28
  451. package/shared/text-field2.js +5 -5
  452. package/shared/vivid-element.cjs +2616 -0
  453. package/shared/vivid-element.js +2595 -0
  454. package/side-drawer/index.cjs +1 -1
  455. package/side-drawer/index.js +1 -1
  456. package/slider/index.cjs +1 -1
  457. package/slider/index.js +1 -1
  458. package/split-button/index.cjs +1 -1
  459. package/split-button/index.js +1 -1
  460. package/styles/core/all.css +40 -1
  461. package/styles/core/theme.css +40 -1
  462. package/styles/core/typography.css +1 -1
  463. package/styles/tokens/theme-dark.css +25 -4
  464. package/styles/tokens/theme-light.css +25 -4
  465. package/styles/tokens/vivid-2-compat.css +1 -1
  466. package/switch/index.cjs +1 -1
  467. package/switch/index.js +1 -1
  468. package/tab/index.cjs +1 -1
  469. package/tab/index.js +1 -1
  470. package/tab-panel/index.cjs +1 -1
  471. package/tab-panel/index.js +1 -1
  472. package/tabs/index.cjs +1 -1
  473. package/tabs/index.js +1 -1
  474. package/tag/index.cjs +1 -1
  475. package/tag/index.js +1 -1
  476. package/tag-group/index.cjs +1 -1
  477. package/tag-group/index.js +1 -1
  478. package/text-anchor/index.cjs +10 -7
  479. package/text-anchor/index.js +10 -7
  480. package/text-area/index.cjs +1 -1
  481. package/text-area/index.js +1 -1
  482. package/text-field/index.cjs +1 -1
  483. package/text-field/index.js +1 -1
  484. package/time-picker/index.cjs +1 -1
  485. package/time-picker/index.js +1 -1
  486. package/toggletip/index.cjs +1 -1
  487. package/toggletip/index.js +1 -1
  488. package/tooltip/index.cjs +1 -1
  489. package/tooltip/index.js +1 -1
  490. package/tree-item/index.cjs +1 -1
  491. package/tree-item/index.js +1 -1
  492. package/tree-view/index.cjs +1 -1
  493. package/tree-view/index.js +1 -1
  494. package/video-player/index.cjs +1 -1
  495. package/video-player/index.js +1 -1
  496. package/vivid.api.json +2846 -7860
  497. package/shared/definition64.cjs +0 -2175
  498. package/shared/definition64.js +0 -2170
  499. package/shared/design-system/index.d.ts +0 -3
  500. package/shared/icon.cjs +0 -261
  501. package/shared/icon.js +0 -258
  502. package/shared/index2.cjs +0 -11
  503. package/shared/index2.js +0 -9
  504. package/shared/radio.cjs +0 -126
  505. package/shared/radio.js +0 -124
  506. package/shared/select.options.cjs +0 -12
  507. package/shared/select.options.js +0 -10
  508. package/shared/start-end.cjs +0 -52
  509. package/shared/start-end.js +0 -50
  510. package/shared/tree-item.cjs +0 -154
  511. package/shared/tree-item.js +0 -151
  512. package/shared/{localization.cjs → direction.cjs} +9 -9
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
3
+ const vividElement = require('./vivid-element.cjs');
4
4
  const definition = require('./definition27.cjs');
5
5
  const affix = require('./affix.cjs');
6
6
  const applyMixins = require('./apply-mixins.cjs');
@@ -16,19 +16,19 @@ var __decorateClass = (decorators, target, key, kind) => {
16
16
  if (result) __defProp(target, key, result);
17
17
  return result;
18
18
  };
19
- class Badge extends index.FoundationElement {
19
+ class Badge extends vividElement.VividElement {
20
20
  }
21
21
  __decorateClass([
22
- index.attr
22
+ vividElement.attr
23
23
  ], Badge.prototype, "connotation");
24
24
  __decorateClass([
25
- index.attr
25
+ vividElement.attr
26
26
  ], Badge.prototype, "shape");
27
27
  __decorateClass([
28
- index.attr
28
+ vividElement.attr
29
29
  ], Badge.prototype, "appearance");
30
30
  __decorateClass([
31
- index.attr
31
+ vividElement.attr
32
32
  ], Badge.prototype, "text");
33
33
  applyMixins.applyMixins(Badge, affix.AffixIconWithTrailing);
34
34
 
@@ -51,22 +51,25 @@ const getClasses = ({
51
51
  );
52
52
  const badgeTemplate = (context) => {
53
53
  const affixIconTemplate = affix.affixIconTemplateFactory(context);
54
- return index.html` <span class="${getClasses}">
54
+ return vividElement.html` <span class="${getClasses}">
55
55
  ${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)}
56
56
  ${when.when(
57
57
  (x) => x.text,
58
- (x) => index.html`<span class="text">${x.text}</span>`
58
+ (x) => vividElement.html`<span class="text">${x.text}</span>`
59
59
  )}
60
60
  </span>`;
61
61
  };
62
62
 
63
- const badgeDefinition = Badge.compose({
64
- baseName: "badge",
65
- template: badgeTemplate,
66
- styles
67
- });
68
- const badgeRegistries = [badgeDefinition(), ...definition.iconRegistries];
69
- const registerBadge = index.registerFactory(badgeRegistries);
63
+ const badgeDefinition = vividElement.defineVividComponent(
64
+ "badge",
65
+ Badge,
66
+ badgeTemplate,
67
+ [definition.iconDefinition],
68
+ {
69
+ styles
70
+ }
71
+ );
72
+ const registerBadge = vividElement.createRegisterFunction(badgeDefinition);
70
73
 
71
74
  exports.badgeDefinition = badgeDefinition;
72
75
  exports.registerBadge = registerBadge;
@@ -1,5 +1,5 @@
1
- import { F as FoundationElement, a as attr, h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition27.js';
1
+ import { V as VividElement, a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
2
+ import { i as iconDefinition } from './definition27.js';
3
3
  import { b as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
4
4
  import { a as applyMixins } from './apply-mixins.js';
5
5
  import { w as when } from './when.js';
@@ -14,7 +14,7 @@ var __decorateClass = (decorators, target, key, kind) => {
14
14
  if (result) __defProp(target, key, result);
15
15
  return result;
16
16
  };
17
- class Badge extends FoundationElement {
17
+ class Badge extends VividElement {
18
18
  }
19
19
  __decorateClass([
20
20
  attr
@@ -58,12 +58,15 @@ const badgeTemplate = (context) => {
58
58
  </span>`;
59
59
  };
60
60
 
61
- const badgeDefinition = Badge.compose({
62
- baseName: "badge",
63
- template: badgeTemplate,
64
- styles
65
- });
66
- const badgeRegistries = [badgeDefinition(), ...iconRegistries];
67
- const registerBadge = registerFactory(badgeRegistries);
61
+ const badgeDefinition = defineVividComponent(
62
+ "badge",
63
+ Badge,
64
+ badgeTemplate,
65
+ [iconDefinition],
66
+ {
67
+ styles
68
+ }
69
+ );
70
+ const registerBadge = createRegisterFunction(badgeDefinition);
68
71
 
69
72
  export { badgeDefinition as b, registerBadge as r };
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
3
  const definition = require('./definition11.cjs');
5
4
  const definition$1 = require('./definition27.cjs');
5
+ const vividElement = require('./vivid-element.cjs');
6
+ const applyMixins = require('./apply-mixins.cjs');
6
7
  const enums = require('./enums.cjs');
7
8
  const affix = require('./affix.cjs');
8
- const applyMixins = require('./apply-mixins.cjs');
9
9
  const localized = require('./localized.cjs');
10
10
  const slotted = require('./slotted.cjs');
11
11
  const when = require('./when.cjs');
@@ -30,7 +30,7 @@ const connotationIconMap = /* @__PURE__ */ new Map([
30
30
  [enums.Connotation.Alert, "error-solid"]
31
31
  ]);
32
32
  const defaultConnotation = (connotation = enums.Connotation.Information) => connotationIconMap.get(connotation);
33
- class Banner extends index.FoundationElement {
33
+ class Banner extends vividElement.VividElement {
34
34
  constructor() {
35
35
  super(...arguments);
36
36
  this.dismissButtonAriaLabel = null;
@@ -70,38 +70,38 @@ class Banner extends index.FoundationElement {
70
70
  #closeOnKeyDown;
71
71
  }
72
72
  __decorateClass([
73
- index.attr({ attribute: "dismiss-aria-label" })
73
+ vividElement.attr({ attribute: "dismiss-aria-label" })
74
74
  ], Banner.prototype, "dismissButtonAriaLabel");
75
75
  __decorateClass([
76
- index.attr
76
+ vividElement.attr
77
77
  ], Banner.prototype, "role");
78
78
  __decorateClass([
79
- index.attr({ attribute: "action-href" })
79
+ vividElement.attr({ attribute: "action-href" })
80
80
  ], Banner.prototype, "actionHref");
81
81
  __decorateClass([
82
- index.attr({ attribute: "action-text" })
82
+ vividElement.attr({ attribute: "action-text" })
83
83
  ], Banner.prototype, "actionText");
84
84
  __decorateClass([
85
- index.attr({ mode: "boolean" })
85
+ vividElement.attr({ mode: "boolean" })
86
86
  ], Banner.prototype, "removable");
87
87
  __decorateClass([
88
- index.attr({ attribute: "aria-live" })
88
+ vividElement.attr({ attribute: "aria-live" })
89
89
  ], Banner.prototype, "ariaLive");
90
90
  __decorateClass([
91
- index.attr()
91
+ vividElement.attr()
92
92
  ], Banner.prototype, "text");
93
93
  __decorateClass([
94
- index.attr()
94
+ vividElement.attr()
95
95
  ], Banner.prototype, "connotation");
96
96
  __decorateClass([
97
- index.observable
97
+ vividElement.observable
98
98
  ], Banner.prototype, "actionItemsSlottedContent");
99
99
  applyMixins.applyMixins(Banner, affix.AffixIcon);
100
100
  applyMixins.applyMixins(Banner, localized.Localized);
101
101
 
102
102
  const getClasses = (_) => classNames.classNames("control", [`connotation-${_.connotation}`, !!_.connotation]);
103
103
  function renderDismissButton(buttonTag) {
104
- return index.html`
104
+ return vividElement.html`
105
105
  <${buttonTag}
106
106
  aria-label="${(x) => x.dismissButtonAriaLabel || x.locale.banner.dismissButtonLabel}"
107
107
  part="${(x) => x.connotation === "warning" ? "" : "vvd-theme-alternate"}"
@@ -113,8 +113,8 @@ function renderDismissButton(buttonTag) {
113
113
  }
114
114
  const BannerTemplate = (context) => {
115
115
  const affixIconTemplate = affix.affixIconTemplateFactory(context);
116
- const buttonTag = context.tagFor(definition.Button$1);
117
- return index.html`
116
+ const buttonTag = context.tagFor(definition.Button);
117
+ return vividElement.html`
118
118
  <div class="${getClasses}">
119
119
  <header class="header">
120
120
  <div class="content">
@@ -139,18 +139,16 @@ const BannerTemplate = (context) => {
139
139
  `;
140
140
  };
141
141
 
142
- const bannerDefinition = Banner.compose({
143
- baseName: "banner",
144
- template: BannerTemplate,
145
- styles
146
- });
147
- const bannerRegistries = [
148
- bannerDefinition(),
149
- ...definition$1.iconRegistries,
150
- ...definition.buttonRegistries
151
- ];
152
- const registerBanner = index.registerFactory(bannerRegistries);
142
+ const bannerDefinition = vividElement.defineVividComponent(
143
+ "banner",
144
+ Banner,
145
+ BannerTemplate,
146
+ [definition$1.iconDefinition, definition.buttonDefinition],
147
+ {
148
+ styles
149
+ }
150
+ );
151
+ const registerBanner = vividElement.createRegisterFunction(bannerDefinition);
153
152
 
154
153
  exports.bannerDefinition = bannerDefinition;
155
- exports.bannerRegistries = bannerRegistries;
156
154
  exports.registerBanner = registerBanner;
@@ -1,9 +1,9 @@
1
- import { F as FoundationElement, a as attr, o as observable, h as html, r as registerFactory } from './index.js';
2
- import { c as Button, a as buttonRegistries } from './definition11.js';
3
- import { a as iconRegistries } from './definition27.js';
1
+ import { B as Button, b as buttonDefinition } from './definition11.js';
2
+ import { i as iconDefinition } from './definition27.js';
3
+ import { V as VividElement, a as attr, o as observable, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
4
+ import { a as applyMixins } from './apply-mixins.js';
4
5
  import { C as Connotation } from './enums.js';
5
6
  import { A as AffixIcon, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
6
- import { a as applyMixins } from './apply-mixins.js';
7
7
  import { L as Localized } from './localized.js';
8
8
  import { s as slotted } from './slotted.js';
9
9
  import { w as when } from './when.js';
@@ -28,7 +28,7 @@ const connotationIconMap = /* @__PURE__ */ new Map([
28
28
  [Connotation.Alert, "error-solid"]
29
29
  ]);
30
30
  const defaultConnotation = (connotation = Connotation.Information) => connotationIconMap.get(connotation);
31
- class Banner extends FoundationElement {
31
+ class Banner extends VividElement {
32
32
  constructor() {
33
33
  super(...arguments);
34
34
  this.dismissButtonAriaLabel = null;
@@ -137,16 +137,15 @@ const BannerTemplate = (context) => {
137
137
  `;
138
138
  };
139
139
 
140
- const bannerDefinition = Banner.compose({
141
- baseName: "banner",
142
- template: BannerTemplate,
143
- styles
144
- });
145
- const bannerRegistries = [
146
- bannerDefinition(),
147
- ...iconRegistries,
148
- ...buttonRegistries
149
- ];
150
- const registerBanner = registerFactory(bannerRegistries);
140
+ const bannerDefinition = defineVividComponent(
141
+ "banner",
142
+ Banner,
143
+ BannerTemplate,
144
+ [iconDefinition, buttonDefinition],
145
+ {
146
+ styles
147
+ }
148
+ );
149
+ const registerBanner = createRegisterFunction(bannerDefinition);
151
150
 
152
- export { bannerRegistries as a, bannerDefinition as b, registerBanner as r };
151
+ export { bannerDefinition as b, registerBanner as r };
@@ -1,45 +1,45 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
3
  const definition = require('./definition27.cjs');
4
+ const vividElement = require('./vivid-element.cjs');
5
5
  const breadcrumbItem = require('./breadcrumb-item.cjs');
6
6
  const textAnchor_template = require('./text-anchor.template.cjs');
7
- const icon = require('./icon.cjs');
8
7
  const when = require('./when.cjs');
9
8
  const classNames = require('./class-names.cjs');
10
9
 
11
10
  const styles = ".base{display:flex;align-items:center;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.base .separator{margin:0 16px;color:var(--vvd-color-neutral-600);font-size:12px}.control{border-radius:2px;font:inherit}.control:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;--focus-inset: -4px}.control:any-link{color:var(--vvd-color-cta-600);text-decoration:none}.control:any-link:hover{text-decoration:underline}";
12
11
 
13
12
  const getClasses = (_) => classNames.classNames("base");
14
- const BreadcrumbItemTemplate = (context, definition) => {
15
- const iconTag = context.tagFor(icon.Icon);
16
- return index.html` <div role="listitem" class="${getClasses}">
17
- ${when.when((x) => x.text && !x.href, index.html`${(x) => x.text}`)}
13
+ const BreadcrumbItemTemplate = (context) => {
14
+ const iconTag = context.tagFor(definition.Icon);
15
+ return vividElement.html` <div role="listitem" class="${getClasses}">
16
+ ${when.when((x) => x.text && !x.href, vividElement.html`${(x) => x.text}`)}
18
17
  ${when.when(
19
18
  (x) => x.text && x.href && x.href.length > 0,
20
- index.html`${textAnchor_template.textAnchorTemplate(context)}`
19
+ vividElement.html`${textAnchor_template.textAnchorTemplate(context)}`
21
20
  )}
22
21
  ${when.when(
23
22
  (x) => x.separator,
24
- index.html`<${iconTag} class="separator" name="chevron-right-solid"></${iconTag}>`
23
+ vividElement.html`<${iconTag} class="separator" name="chevron-right-solid"></${iconTag}>`
25
24
  )}
26
25
  </div>`;
27
26
  };
28
27
 
29
- const breadcrumbItemDefinition = breadcrumbItem.BreadcrumbItem.compose({
30
- baseName: "breadcrumb-item",
31
- template: BreadcrumbItemTemplate,
32
- styles,
33
- shadowOptions: {
34
- delegatesFocus: true
28
+ const breadcrumbItemDefinition = vividElement.defineVividComponent(
29
+ "breadcrumb-item",
30
+ breadcrumbItem.BreadcrumbItem,
31
+ BreadcrumbItemTemplate,
32
+ [definition.iconDefinition],
33
+ {
34
+ styles,
35
+ shadowOptions: {
36
+ delegatesFocus: true
37
+ }
35
38
  }
36
- });
37
- const breadcrumbItemRegistries = [
38
- breadcrumbItemDefinition(),
39
- ...definition.iconRegistries
40
- ];
41
- const registerBreadcrumbItem = index.registerFactory(breadcrumbItemRegistries);
39
+ );
40
+ const registerBreadcrumbItem = vividElement.createRegisterFunction(
41
+ breadcrumbItemDefinition
42
+ );
42
43
 
43
44
  exports.breadcrumbItemDefinition = breadcrumbItemDefinition;
44
- exports.breadcrumbItemRegistries = breadcrumbItemRegistries;
45
45
  exports.registerBreadcrumbItem = registerBreadcrumbItem;
@@ -1,15 +1,14 @@
1
- import { h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition27.js';
1
+ import { I as Icon, i as iconDefinition } from './definition27.js';
2
+ import { h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
3
3
  import { B as BreadcrumbItem } from './breadcrumb-item.js';
4
4
  import { t as textAnchorTemplate } from './text-anchor.template.js';
5
- import { I as Icon } from './icon.js';
6
5
  import { w as when } from './when.js';
7
6
  import { c as classNames } from './class-names.js';
8
7
 
9
8
  const styles = ".base{display:flex;align-items:center;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.base .separator{margin:0 16px;color:var(--vvd-color-neutral-600);font-size:12px}.control{border-radius:2px;font:inherit}.control:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;--focus-inset: -4px}.control:any-link{color:var(--vvd-color-cta-600);text-decoration:none}.control:any-link:hover{text-decoration:underline}";
10
9
 
11
10
  const getClasses = (_) => classNames("base");
12
- const BreadcrumbItemTemplate = (context, definition) => {
11
+ const BreadcrumbItemTemplate = (context) => {
13
12
  const iconTag = context.tagFor(Icon);
14
13
  return html` <div role="listitem" class="${getClasses}">
15
14
  ${when((x) => x.text && !x.href, html`${(x) => x.text}`)}
@@ -24,18 +23,20 @@ const BreadcrumbItemTemplate = (context, definition) => {
24
23
  </div>`;
25
24
  };
26
25
 
27
- const breadcrumbItemDefinition = BreadcrumbItem.compose({
28
- baseName: "breadcrumb-item",
29
- template: BreadcrumbItemTemplate,
30
- styles,
31
- shadowOptions: {
32
- delegatesFocus: true
26
+ const breadcrumbItemDefinition = defineVividComponent(
27
+ "breadcrumb-item",
28
+ BreadcrumbItem,
29
+ BreadcrumbItemTemplate,
30
+ [iconDefinition],
31
+ {
32
+ styles,
33
+ shadowOptions: {
34
+ delegatesFocus: true
35
+ }
33
36
  }
34
- });
35
- const breadcrumbItemRegistries = [
36
- breadcrumbItemDefinition(),
37
- ...iconRegistries
38
- ];
39
- const registerBreadcrumbItem = registerFactory(breadcrumbItemRegistries);
37
+ );
38
+ const registerBreadcrumbItem = createRegisterFunction(
39
+ breadcrumbItemDefinition
40
+ );
40
41
 
41
- export { breadcrumbItemRegistries as a, breadcrumbItemDefinition as b, registerBreadcrumbItem as r };
42
+ export { breadcrumbItemDefinition as b, registerBreadcrumbItem as r };
@@ -0,0 +1,2 @@
1
+ import type { VividComponentDefinition } from './defineVividComponent';
2
+ export declare const createRegisterFunction: (definition: VividComponentDefinition) => (prefix?: string) => void;
@@ -0,0 +1,15 @@
1
+ import type { Constructable, PartialFASTElementDefinition, ViewTemplate } from '@microsoft/fast-element';
2
+ export type TemplateOrResolveFn = ViewTemplate | ((context: VividElementDefinitionContext) => ViewTemplate);
3
+ export type VividElementDefinitionContext = {
4
+ tagFor(type: Constructable): string;
5
+ tagForNonDependency(name: string): string;
6
+ };
7
+ export type Options = Pick<PartialFASTElementDefinition, 'styles' | 'attributes' | 'shadowOptions' | 'elementOptions'>;
8
+ export type VividComponentDefinition = {
9
+ name: string;
10
+ type: Constructable;
11
+ template: TemplateOrResolveFn;
12
+ dependencies: VividComponentDefinition[];
13
+ options: Options;
14
+ };
15
+ export declare const defineVividComponent: (name: string, type: Constructable, template: TemplateOrResolveFn, dependencies: VividComponentDefinition[], options: Options) => VividComponentDefinition;
@@ -7,16 +7,6 @@ var Direction$1;
7
7
  Direction["rtl"] = "rtl";
8
8
  })(Direction$1 || (Direction$1 = {}));
9
9
 
10
- /**
11
- * a method to determine the current localization direction of the view
12
- * @param rootNode - the HTMLElement to begin the query from, usually "this" when used in a component controller
13
- * @public
14
- */
15
- const getDirection = (rootNode) => {
16
- const dirNode = rootNode.closest("[dir]");
17
- return dirNode !== null && dirNode.dir === "rtl" ? Direction$1.rtl : Direction$1.ltr;
18
- };
19
-
20
10
  /**
21
11
  * Expose ltr and rtl strings
22
12
  */
@@ -26,4 +16,14 @@ var Direction;
26
16
  Direction["rtl"] = "rtl";
27
17
  })(Direction || (Direction = {}));
28
18
 
29
- export { Direction as D, getDirection as g };
19
+ /**
20
+ * a method to determine the current localization direction of the view
21
+ * @param rootNode - the HTMLElement to begin the query from, usually "this" when used in a component controller
22
+ * @public
23
+ */
24
+ const getDirection = (rootNode) => {
25
+ const dirNode = rootNode.closest("[dir]");
26
+ return dirNode !== null && dirNode.dir === "rtl" ? Direction.rtl : Direction.ltr;
27
+ };
28
+
29
+ export { Direction$1 as D, getDirection as g };
package/shared/dom.cjs CHANGED
@@ -6,18 +6,5 @@
6
6
  function isHTMLElement(...args) {
7
7
  return args.every((arg) => arg instanceof HTMLElement);
8
8
  }
9
- /**
10
- * Returns all displayed elements inside of a root node that match a provided selector
11
- */
12
- function getDisplayedNodes(rootNode, selector) {
13
- if (!rootNode || !selector || !isHTMLElement(rootNode)) {
14
- return;
15
- }
16
- const nodes = Array.from(rootNode.querySelectorAll(selector));
17
- // offsetParent will be null if the element isn't currently displayed,
18
- // so this will allow us to operate only on visible nodes
19
- return nodes.filter((node) => node.offsetParent !== null);
20
- }
21
9
 
22
- exports.getDisplayedNodes = getDisplayedNodes;
23
10
  exports.isHTMLElement = isHTMLElement;
package/shared/dom.js CHANGED
@@ -4,17 +4,5 @@
4
4
  function isHTMLElement(...args) {
5
5
  return args.every((arg) => arg instanceof HTMLElement);
6
6
  }
7
- /**
8
- * Returns all displayed elements inside of a root node that match a provided selector
9
- */
10
- function getDisplayedNodes(rootNode, selector) {
11
- if (!rootNode || !selector || !isHTMLElement(rootNode)) {
12
- return;
13
- }
14
- const nodes = Array.from(rootNode.querySelectorAll(selector));
15
- // offsetParent will be null if the element isn't currently displayed,
16
- // so this will allow us to operate only on visible nodes
17
- return nodes.filter((node) => node.offsetParent !== null);
18
- }
19
7
 
20
- export { getDisplayedNodes as g, isHTMLElement as i };
8
+ export { isHTMLElement as i };