@vonage/vivid 5.23.1 → 5.24.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 (406) hide show
  1. package/accordion/index.cjs +1 -1
  2. package/accordion/index.js +1 -1
  3. package/accordion-item/index.cjs +1 -1
  4. package/accordion-item/index.js +1 -1
  5. package/audio-player/index.cjs +2 -2
  6. package/audio-player/index.js +3 -3
  7. package/badge/index.cjs +1 -1
  8. package/badge/index.js +1 -1
  9. package/bundled/definition15.cjs +8 -7
  10. package/bundled/definition15.js +26 -24
  11. package/bundled/definition17.cjs +2 -2
  12. package/bundled/definition17.js +2 -2
  13. package/bundled/definition18.cjs +12 -83
  14. package/bundled/definition18.js +35 -419
  15. package/bundled/definition19.cjs +87 -7
  16. package/bundled/definition19.js +432 -16
  17. package/bundled/definition20.cjs +7 -37
  18. package/bundled/definition20.js +17 -172
  19. package/bundled/definition21.cjs +35 -27
  20. package/bundled/definition21.js +154 -154
  21. package/bundled/definition22.cjs +29 -6
  22. package/bundled/definition22.js +172 -20
  23. package/bundled/definition23.cjs +6 -12
  24. package/bundled/definition23.js +17 -32
  25. package/bundled/definition24.cjs +12 -39
  26. package/bundled/definition24.js +32 -67
  27. package/bundled/definition25.cjs +44 -0
  28. package/bundled/definition25.js +77 -0
  29. package/bundled/extractOptions.cjs +1 -0
  30. package/bundled/extractOptions.js +11 -0
  31. package/bundled/listbox.cjs +1 -1
  32. package/bundled/listbox.js +24 -11
  33. package/bundled/render-in-light-dom.cjs +1 -1
  34. package/bundled/render-in-light-dom.js +16 -19
  35. package/bundled/vivid-element.cjs +1 -1
  36. package/bundled/vivid-element.js +9 -1
  37. package/combobox/definition.cjs +1 -1
  38. package/combobox/definition.js +1 -1
  39. package/combobox/index.cjs +7 -7
  40. package/combobox/index.js +29 -21
  41. package/country/definition.cjs +1 -1
  42. package/country/definition.js +1 -1
  43. package/country/index.cjs +1 -1
  44. package/country/index.js +1 -1
  45. package/country-group/definition.cjs +1 -1
  46. package/country-group/definition.js +1 -1
  47. package/country-group/index.cjs +1 -1
  48. package/country-group/index.js +2 -2
  49. package/custom-elements.json +3102 -2842
  50. package/data-grid/definition.cjs +1 -1
  51. package/data-grid/definition.js +1 -1
  52. package/data-grid/index.cjs +4 -4
  53. package/data-grid/index.js +5 -5
  54. package/date-picker/definition.cjs +1 -1
  55. package/date-picker/definition.js +1 -1
  56. package/date-picker/index.cjs +1 -1
  57. package/date-picker/index.js +1 -1
  58. package/date-range-picker/definition.cjs +1 -1
  59. package/date-range-picker/definition.js +1 -1
  60. package/date-range-picker/index.cjs +1 -1
  61. package/date-range-picker/index.js +1 -1
  62. package/date-time-picker/definition.cjs +1 -1
  63. package/date-time-picker/definition.js +1 -1
  64. package/date-time-picker/index.cjs +1 -1
  65. package/date-time-picker/index.js +1 -1
  66. package/dial-pad/definition.cjs +1 -1
  67. package/dial-pad/definition.js +1 -1
  68. package/dial-pad/index.cjs +24 -24
  69. package/dial-pad/index.js +120 -51
  70. package/dialog/definition.cjs +1 -1
  71. package/dialog/definition.js +1 -1
  72. package/divider/definition.cjs +1 -1
  73. package/divider/definition.js +1 -1
  74. package/divider/index.cjs +1 -1
  75. package/divider/index.js +1 -1
  76. package/empty-state/definition.cjs +1 -1
  77. package/empty-state/definition.js +1 -1
  78. package/fab/definition.cjs +1 -1
  79. package/fab/definition.js +1 -1
  80. package/file-picker/definition.cjs +1 -1
  81. package/file-picker/definition.js +1 -1
  82. package/flag/definition.cjs +1 -1
  83. package/flag/definition.js +1 -1
  84. package/header/definition.cjs +1 -1
  85. package/header/definition.js +1 -1
  86. package/header/index.cjs +3 -3
  87. package/header/index.js +3 -3
  88. package/index.cjs +200 -196
  89. package/index.js +53 -52
  90. package/kbd-key/definition.cjs +1 -1
  91. package/kbd-key/definition.js +1 -1
  92. package/kbd-shortcut/definition.cjs +1 -1
  93. package/kbd-shortcut/definition.js +1 -1
  94. package/layout/definition.cjs +1 -1
  95. package/layout/definition.js +1 -1
  96. package/lib/accordion-item/accordion-item.d.ts +2 -1
  97. package/lib/action-group/action-group.d.ts +1 -1
  98. package/lib/alert/alert.d.ts +2 -2
  99. package/lib/audio-player/audio-player.d.ts +1 -1
  100. package/lib/avatar/avatar.d.ts +1 -1
  101. package/lib/badge/badge.d.ts +1 -1
  102. package/lib/banner/banner.d.ts +3 -3
  103. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  104. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  105. package/lib/button/button.d.ts +3 -3
  106. package/lib/calendar-event/calendar-event.d.ts +1 -1
  107. package/lib/card/card.d.ts +1 -1
  108. package/lib/checkbox/checkbox.d.ts +6 -6
  109. package/lib/color-picker/color-picker.d.ts +7 -7
  110. package/lib/combobox/combobox.d.ts +7 -7
  111. package/lib/components.d.ts +1 -0
  112. package/lib/country-group/country-group.d.ts +2 -2
  113. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  114. package/lib/data-grid/data-grid-row.d.ts +3 -2
  115. package/lib/data-grid/data-grid.options.d.ts +5 -0
  116. package/lib/date-picker/date-picker.d.ts +8 -8
  117. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  118. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  119. package/lib/dial-pad/dial-pad.d.ts +2 -1
  120. package/lib/dialog/dialog.d.ts +2 -2
  121. package/lib/divider/divider.d.ts +1 -1
  122. package/lib/fab/fab.d.ts +1 -1
  123. package/lib/file-picker/file-picker.d.ts +7 -7
  124. package/lib/header/header.d.ts +1 -1
  125. package/lib/menu/menu.d.ts +2 -2
  126. package/lib/menu-item/menu-item.d.ts +3 -3
  127. package/lib/nav/nav.d.ts +1 -1
  128. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  129. package/lib/nav-item/nav-item.d.ts +2 -2
  130. package/lib/note/note.d.ts +1 -1
  131. package/lib/number-field/number-field.d.ts +9 -9
  132. package/lib/optgroup/definition.d.ts +3 -0
  133. package/lib/optgroup/index.d.ts +1 -0
  134. package/lib/optgroup/optgroup.d.ts +430 -0
  135. package/lib/optgroup/optgroup.template.d.ts +2 -0
  136. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  137. package/lib/option/option.d.ts +2 -2
  138. package/lib/pagination/pagination.d.ts +1 -1
  139. package/lib/popover/popover.d.ts +2 -2
  140. package/lib/progress/progress.d.ts +1 -1
  141. package/lib/progress-ring/progress-ring.d.ts +1 -1
  142. package/lib/radio/radio.d.ts +3 -3
  143. package/lib/radio-group/radio-group.d.ts +1 -1
  144. package/lib/range-slider/range-slider.d.ts +3 -3
  145. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  146. package/lib/searchable-select/option-tag.d.ts +1 -1
  147. package/lib/searchable-select/searchable-select.d.ts +47 -47
  148. package/lib/select/select.d.ts +9 -9
  149. package/lib/selectable-box/selectable-box.d.ts +1 -1
  150. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  151. package/lib/slider/slider.d.ts +3 -3
  152. package/lib/split-button/split-button.d.ts +3 -3
  153. package/lib/status/status.d.ts +1 -1
  154. package/lib/switch/switch.d.ts +2 -2
  155. package/lib/tab/tab.d.ts +3 -3
  156. package/lib/tab-panel/tab-panel.d.ts +1 -1
  157. package/lib/table/table-cell.d.ts +1 -1
  158. package/lib/table/table-header-cell.d.ts +1 -1
  159. package/lib/table/table-row.d.ts +1 -1
  160. package/lib/table/table-sorting-button.d.ts +1 -1
  161. package/lib/tag/tag.d.ts +3 -3
  162. package/lib/tag-group/tag-group.d.ts +1 -1
  163. package/lib/tag-name-map.d.ts +2 -1
  164. package/lib/text-area/text-area.d.ts +8 -8
  165. package/lib/text-field/text-field.d.ts +9 -9
  166. package/lib/time-picker/time-picker.d.ts +4 -4
  167. package/lib/toggletip/toggletip.d.ts +2 -2
  168. package/lib/tooltip/tooltip.d.ts +2 -2
  169. package/lib/tree-item/tree-item.d.ts +2 -2
  170. package/lib/tree-view/tree-view.d.ts +1 -1
  171. package/lib/video-player/video-player.d.ts +1 -1
  172. package/menu/index.cjs +1 -1
  173. package/menu/index.js +1 -1
  174. package/menu-item/index.cjs +1 -1
  175. package/menu-item/index.js +1 -1
  176. package/nav/definition.cjs +1 -1
  177. package/nav/definition.js +1 -1
  178. package/nav-disclosure/definition.cjs +1 -1
  179. package/nav-disclosure/definition.js +1 -1
  180. package/nav-item/definition.cjs +1 -1
  181. package/nav-item/definition.js +1 -1
  182. package/note/definition.cjs +1 -1
  183. package/note/definition.js +1 -1
  184. package/number-field/definition.cjs +1 -1
  185. package/number-field/definition.js +1 -1
  186. package/number-field/index.cjs +1 -1
  187. package/number-field/index.js +1 -1
  188. package/optgroup/definition.cjs +5 -0
  189. package/optgroup/definition.js +2 -0
  190. package/optgroup/index.cjs +1 -0
  191. package/optgroup/index.js +4 -0
  192. package/package.json +6 -6
  193. package/pagination/definition.cjs +1 -1
  194. package/pagination/definition.js +1 -1
  195. package/platform-switch/definition.cjs +1 -1
  196. package/platform-switch/definition.js +1 -1
  197. package/popover/definition.cjs +1 -1
  198. package/popover/definition.js +1 -1
  199. package/progress/definition.cjs +1 -1
  200. package/progress/definition.js +1 -1
  201. package/radio/definition.cjs +1 -1
  202. package/radio/definition.js +1 -1
  203. package/radio-group/definition.cjs +1 -1
  204. package/radio-group/definition.js +1 -1
  205. package/range-slider/definition.cjs +1 -1
  206. package/range-slider/definition.js +1 -1
  207. package/rich-text-editor/definition.cjs +1 -1
  208. package/rich-text-editor/definition.js +1 -1
  209. package/rich-text-editor/index.cjs +1 -1
  210. package/rich-text-editor/index.js +4 -4
  211. package/rich-text-view/definition.cjs +1 -1
  212. package/rich-text-view/definition.js +1 -1
  213. package/searchable-select/definition.cjs +1 -1
  214. package/searchable-select/definition.js +1 -1
  215. package/searchable-select/index.cjs +19 -19
  216. package/searchable-select/index.js +60 -45
  217. package/select/definition.cjs +1 -1
  218. package/select/definition.js +1 -1
  219. package/select/index.cjs +1 -1
  220. package/select/index.js +1 -1
  221. package/selectable-box/definition.cjs +1 -1
  222. package/selectable-box/definition.js +1 -1
  223. package/shared/aria/delegates-aria.d.ts +1 -1
  224. package/shared/aria/host-semantics.d.ts +1 -1
  225. package/shared/color-picker/base-color-picker.d.ts +1 -1
  226. package/shared/feedback/feedback-message.d.ts +1 -1
  227. package/shared/feedback/mixins.d.ts +2 -2
  228. package/shared/foundation/button/button.d.ts +2 -2
  229. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  230. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  231. package/shared/foundation/listbox/listbox.d.ts +2 -0
  232. package/shared/patterns/affix.d.ts +2 -2
  233. package/shared/patterns/anchored.d.ts +2 -2
  234. package/shared/patterns/char-count/char-count.d.ts +1 -1
  235. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  236. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  237. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  238. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  239. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  240. package/shared/patterns/linkable.d.ts +1 -1
  241. package/shared/patterns/localized.d.ts +2 -2
  242. package/shared/patterns/trapped-focus.d.ts +1 -1
  243. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  244. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  245. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  246. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  247. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  248. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  249. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  250. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  251. package/shared/picker-field/picker-field.d.ts +7 -7
  252. package/side-drawer/definition.cjs +1 -1
  253. package/side-drawer/definition.js +1 -1
  254. package/simple-color-picker/definition.cjs +1 -1
  255. package/simple-color-picker/definition.js +1 -1
  256. package/split-button/definition.cjs +1 -1
  257. package/split-button/definition.js +1 -1
  258. package/split-button/index.cjs +1 -0
  259. package/split-button/index.js +1 -0
  260. package/status/definition.cjs +1 -1
  261. package/status/definition.js +1 -1
  262. package/switch/definition.cjs +1 -1
  263. package/switch/definition.js +1 -1
  264. package/switch/index.cjs +6 -5
  265. package/switch/index.js +16 -14
  266. package/tab/definition.cjs +1 -1
  267. package/tab/definition.js +1 -1
  268. package/tab-panel/definition.cjs +1 -1
  269. package/tab-panel/definition.js +1 -1
  270. package/table/definition.cjs +1 -1
  271. package/table/definition.js +1 -1
  272. package/tabs/definition.cjs +1 -1
  273. package/tabs/definition.js +1 -1
  274. package/tag/definition.cjs +1 -1
  275. package/tag/definition.js +1 -1
  276. package/tag-group/definition.cjs +1 -1
  277. package/tag-group/definition.js +1 -1
  278. package/text-area/definition.cjs +1 -1
  279. package/text-area/definition.js +1 -1
  280. package/time-picker/definition.cjs +1 -1
  281. package/time-picker/definition.js +1 -1
  282. package/tree-item/definition.cjs +1 -1
  283. package/tree-item/definition.js +1 -1
  284. package/tree-view/definition.cjs +1 -1
  285. package/tree-view/definition.js +1 -1
  286. package/unbundled/definition13.cjs +1 -1
  287. package/unbundled/definition13.js +1 -1
  288. package/unbundled/definition2.cjs +9 -3
  289. package/unbundled/definition2.js +9 -3
  290. package/unbundled/definition23.cjs +1 -0
  291. package/unbundled/definition23.js +2 -1
  292. package/unbundled/definition29.cjs +2 -2
  293. package/unbundled/definition29.js +2 -2
  294. package/unbundled/definition30.cjs +65 -484
  295. package/unbundled/definition30.js +57 -482
  296. package/unbundled/definition31.cjs +501 -39
  297. package/unbundled/definition31.js +499 -37
  298. package/unbundled/definition32.cjs +38 -239
  299. package/unbundled/definition32.js +35 -236
  300. package/unbundled/definition33.cjs +236 -74
  301. package/unbundled/definition33.js +233 -71
  302. package/unbundled/definition34.cjs +74 -1968
  303. package/unbundled/definition34.js +70 -1940
  304. package/unbundled/definition35.cjs +1992 -26
  305. package/unbundled/definition35.js +1964 -27
  306. package/unbundled/definition36.cjs +26 -111
  307. package/unbundled/definition36.js +23 -103
  308. package/unbundled/definition37.cjs +53 -294
  309. package/unbundled/definition37.js +50 -291
  310. package/unbundled/definition38.cjs +282 -132
  311. package/unbundled/definition38.js +279 -129
  312. package/unbundled/definition39.cjs +165 -339
  313. package/unbundled/definition39.js +163 -337
  314. package/unbundled/definition40.cjs +394 -228
  315. package/unbundled/definition40.js +391 -225
  316. package/unbundled/definition41.cjs +263 -46
  317. package/unbundled/definition41.js +258 -41
  318. package/unbundled/definition42.cjs +47 -67
  319. package/unbundled/definition42.js +45 -65
  320. package/unbundled/definition43.cjs +56 -383
  321. package/unbundled/definition43.js +55 -382
  322. package/unbundled/definition44.cjs +386 -44
  323. package/unbundled/definition44.js +382 -40
  324. package/unbundled/definition45.cjs +53 -45
  325. package/unbundled/definition45.js +49 -41
  326. package/unbundled/definition46.cjs +40 -164
  327. package/unbundled/definition46.js +36 -160
  328. package/unbundled/definition47.cjs +171 -31
  329. package/unbundled/definition47.js +168 -22
  330. package/unbundled/definition48.cjs +30 -89
  331. package/unbundled/definition48.js +22 -87
  332. package/unbundled/definition49.cjs +70 -33
  333. package/unbundled/definition49.js +67 -30
  334. package/unbundled/definition50.cjs +54 -23
  335. package/unbundled/definition50.js +52 -18
  336. package/unbundled/definition51.cjs +23 -39
  337. package/unbundled/definition51.js +17 -36
  338. package/unbundled/definition52.cjs +29 -314
  339. package/unbundled/definition52.js +27 -312
  340. package/unbundled/definition53.cjs +301 -195
  341. package/unbundled/definition53.js +297 -191
  342. package/unbundled/definition54.cjs +210 -40
  343. package/unbundled/definition54.js +206 -36
  344. package/unbundled/definition55.cjs +42 -266
  345. package/unbundled/definition55.js +38 -262
  346. package/unbundled/definition56.cjs +266 -50
  347. package/unbundled/definition56.js +263 -46
  348. package/unbundled/definition57.cjs +48 -146
  349. package/unbundled/definition57.js +47 -143
  350. package/unbundled/definition58.cjs +127 -225
  351. package/unbundled/definition58.js +122 -223
  352. package/unbundled/definition59.cjs +199 -418
  353. package/unbundled/definition59.js +196 -415
  354. package/unbundled/definition60.cjs +441 -3738
  355. package/unbundled/definition60.js +431 -3565
  356. package/unbundled/definition61.cjs +3712 -728
  357. package/unbundled/definition61.js +3538 -717
  358. package/unbundled/definition62.cjs +769 -97
  359. package/unbundled/definition62.js +766 -94
  360. package/unbundled/definition63.cjs +100 -981
  361. package/unbundled/definition63.js +98 -976
  362. package/unbundled/definition64.cjs +988 -93
  363. package/unbundled/definition64.js +982 -90
  364. package/unbundled/definition65.cjs +109 -73
  365. package/unbundled/definition65.js +105 -63
  366. package/unbundled/definition66.cjs +69 -155
  367. package/unbundled/definition66.js +60 -152
  368. package/unbundled/definition67.cjs +154 -118
  369. package/unbundled/definition67.js +151 -115
  370. package/unbundled/definition68.cjs +124 -49
  371. package/unbundled/definition68.js +120 -45
  372. package/unbundled/definition69.cjs +51 -84
  373. package/unbundled/definition69.js +50 -80
  374. package/unbundled/definition70.cjs +91 -19
  375. package/unbundled/definition70.js +86 -14
  376. package/unbundled/definition71.cjs +20 -87
  377. package/unbundled/definition71.js +14 -84
  378. package/unbundled/definition72.cjs +76 -294
  379. package/unbundled/definition72.js +71 -217
  380. package/unbundled/definition73.cjs +288 -311
  381. package/unbundled/definition73.js +218 -306
  382. package/unbundled/definition74.cjs +326 -26
  383. package/unbundled/definition74.js +317 -23
  384. package/unbundled/definition75.cjs +27 -122
  385. package/unbundled/definition75.js +22 -118
  386. package/unbundled/definition76.cjs +103 -232
  387. package/unbundled/definition76.js +99 -228
  388. package/unbundled/definition77.cjs +259 -26
  389. package/unbundled/definition77.js +249 -23
  390. package/unbundled/definition78.cjs +29 -148
  391. package/unbundled/definition78.js +27 -133
  392. package/unbundled/definition79.cjs +117 -173
  393. package/unbundled/definition79.js +108 -169
  394. package/unbundled/definition80.cjs +181 -477
  395. package/unbundled/definition80.js +176 -471
  396. package/unbundled/definition81.cjs +517 -0
  397. package/unbundled/definition81.js +497 -0
  398. package/unbundled/extractOptions.cjs +21 -0
  399. package/unbundled/extractOptions.js +16 -0
  400. package/unbundled/listbox.cjs +23 -6
  401. package/unbundled/listbox.js +23 -6
  402. package/unbundled/vivid-element.cjs +10 -1
  403. package/unbundled/vivid-element.js +10 -1
  404. package/video-player/definition.cjs +1 -1
  405. package/video-player/definition.js +1 -1
  406. package/vivid.api.json +194 -0
@@ -1,355 +1,332 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
+ const require_definition = require("./definition.cjs");
3
4
  const require_decorate = require("./decorate.cjs");
4
- const require_key_codes = require("./key-codes.cjs");
5
- const require_definition = require("./definition70.cjs");
6
- const require_definition$1 = require("./definition71.cjs");
5
+ const require_delegates_aria = require("./delegates-aria.cjs");
6
+ const require_host_semantics = require("./host-semantics.cjs");
7
+ const require_data_grid_options = require("./data-grid.options.cjs");
7
8
  let _microsoft_fast_element = require("@microsoft/fast-element");
8
- let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
9
- //#region src/lib/tabs/tabs.scss?inline
10
- var tabs_default = ":host{display:block}.base{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.connotation-cta{--_connotation-color-firm:var(--vvd-tabs-cta-firm,var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-firm:var(--vvd-tabs-accent-firm,var(--vvd-color-canvas-text))}.base{--_tabs-tablist-gutter:8px;--_tabs-active-indicator-stroke-width:2px;box-sizing:border-box;display:grid}.base.orientation-vertical{block-size:inherit;grid-template-rows:1fr;grid-template-columns:auto 1fr;overflow:hidden}.base:not(.orientation-vertical){block-size:var(--tabs-block-size,auto);grid-template-rows:auto 1fr;grid-template-columns:1fr;max-block-size:100%}.base.layout-stretch .scroll-shadow{flex:1}.base:not(.orientation-vertical) .scroll-shadow{isolation:isolate;position:relative;overflow:hidden}.base:not(.orientation-vertical) .scroll-shadow.start-scroll:before,.base:not(.orientation-vertical) .scroll-shadow.start-scroll:after,.base:not(.orientation-vertical) .scroll-shadow.end-scroll:before,.base:not(.orientation-vertical) .scroll-shadow.end-scroll:after{content:\"\";opacity:0;inline-size:10px;transition:opacity .1s;position:absolute;inset-block:0}.base:not(.orientation-vertical) .scroll-shadow.start-scroll:before{z-index:1;box-shadow:inset 7px 1px 5px -3px var(--vvd-color-neutral-950);opacity:.2;inset-inline-start:0}.base:not(.orientation-vertical) .scroll-shadow.end-scroll:after{box-shadow:inset -7px 1px 5px -3px var(--vvd-color-neutral-950);opacity:.2;inset-inline-end:0}.tabs{display:flex;overflow:hidden}.base.orientation-vertical .tabs{box-shadow:1px 0 0 0 var(--vvd-color-neutral-300);flex-direction:column}.base.orientation-horizontal .tabs{border-bottom:1px solid var(--vvd-color-neutral-300);flex-direction:row}.tablist{box-sizing:border-box;color:var(--_appearance-color-text);display:grid;position:relative;overflow:hidden}.base.layout-stretch .tablist{--_tab-justify-content:center;--_tabs-tablist-column:1fr}.tablist .base:not(.layout-stretch){--_tabs-tablist-column:auto}.base.orientation-vertical .tablist{padding:var(--_tabs-tablist-gutter);place-self:flex-start end;row-gap:var(--_tabs-tablist-gutter);grid-row:1/2;grid-template-rows:auto;grid-template-columns:auto 1fr;block-size:fit-content;min-block-size:100%;inline-size:100%}.base:not(.orientation-vertical) .tablist{justify-content:flex-start;column-gap:var(--_tabs-tablist-gutter);grid-auto-columns:var(--_tabs-tablist-column);inline-size:fit-content;min-inline-size:100%;padding-inline:var(--_tabs-tablist-gutter);grid-template-rows:auto auto;grid-auto-flow:column}.base.has-action-items.orientation-vertical .tablist{padding-block-end:0}.base.has-action-items:not(.orientation-vertical) .tablist{padding-inline-end:0}.tablist-wrapper{--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in sRGB, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.tablist-wrapper ::-webkit-scrollbar{width:4px}.tablist-wrapper ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.tablist-wrapper ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.base:not(.orientation-vertical) .tablist-wrapper{align-self:end;inline-size:100%;overflow:auto hidden}.base.orientation-vertical .tablist-wrapper{block-size:100%;overflow:hidden auto}.tablist-wrapper::-webkit-scrollbar{display:none}slot[name=action-items]{display:flex}.base.has-action-items.orientation-horizontal slot[name=action-items]{margin-inline:var(--_tabs-tablist-gutter);align-items:center}.base.has-action-items.orientation-vertical slot[name=action-items]{margin-block:var(--_tabs-tablist-gutter)}.tabpanel{box-sizing:border-box;block-size:100%;min-block-size:0;min-inline-size:0}.base.scroll .tabpanel{--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in sRGB, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin;overflow-y:auto}.base.scroll .tabpanel ::-webkit-scrollbar{width:4px}.base.scroll .tabpanel ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.base.scroll .tabpanel ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.base.gutters-small .tabpanel{padding:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) - calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)))}.active-indicator{background:currentColor;margin-inline-start:calc(var(--_tabs-tablist-gutter) * -1)}.base.orientation-vertical .active-indicator{block-size:80%;inline-size:var(--_tabs-active-indicator-stroke-width);border-radius:2px;grid-area:1/1;align-self:center}.base:not(.orientation-vertical) .active-indicator{z-index:1;block-size:var(--_tabs-active-indicator-stroke-width);inline-size:calc(var(--_tabs-active-tab-inline-size));border-radius:2px;grid-area:2/1;position:absolute;inset-block-end:0;inset-inline-start:8px}.activeIndicatorTransition{transition:transform .2s ease-out,inline-size .2s ease-out}@media (prefers-reduced-motion:reduce){.activeIndicatorTransition{transition-duration:.01ms}}";
9
+ //#region src/lib/table/table.scss?inline
10
+ var table_default = ":host{border-collapse:collapse;border-spacing:0;inline-size:100%}.table-inner-container{--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in sRGB, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.table-inner-container ::-webkit-scrollbar{width:4px}.table-inner-container ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.table-inner-container ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.table-inner-container{inline-size:100%;display:block;overflow-x:auto}.table-content{inline-size:100%;display:table;overflow-x:auto}";
11
11
  //#endregion
12
- //#region src/lib/tabs/tabs.ts
13
- var ACTIVE_TAB_WIDTH = "--_tabs-active-tab-inline-size";
14
- var TabsGutters = {
15
- None: "none",
16
- Small: "small"
12
+ //#region src/lib/table/table-sorting-button.scss?inline
13
+ var table_sorting_button_default = "button{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:8px}button:focus-visible{--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))}";
14
+ //#endregion
15
+ //#region src/lib/table/table-head.scss?inline
16
+ var table_head_default = ":host{display:table-header-group}";
17
+ //#endregion
18
+ //#region src/lib/table/table-body.scss?inline
19
+ var table_body_default = ":host{display:table-row-group}";
20
+ //#endregion
21
+ //#region src/lib/table/table-row.scss?inline
22
+ var table_row_default = ":host{display:table-row}@media (hover:hover){:host:hover{background-color:var(--vvd-color-neutral-200)}}:host[selected]{background-color:var(--_appearance-color-fill)}.base.connotation-cta{--_connotation-color-primary:var(--vvd-data-grid-row-cta-primary,var(--vvd-color-cta-500));--_connotation-color-primary-text:var(--vvd-data-grid-row-cta-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-data-grid-row-cta-primary-increment,var(--vvd-color-cta-600));--_connotation-color-firm:var(--vvd-data-grid-row-cta-firm,var(--vvd-color-cta-600));--_connotation-color-faint:var(--vvd-data-grid-row-cta-faint,var(--vvd-color-cta-50));--_connotation-color-soft:var(--vvd-data-grid-row-cta-soft,var(--vvd-color-cta-100));--_connotation-color-pale:var(--vvd-data-grid-row-cta-pale,var(--vvd-color-cta-300));--_connotation-color-dim:var(--vvd-data-grid-row-cta-dim,var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary:var(--vvd-data-grid-row-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-data-grid-row-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-data-grid-row-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-firm:var(--vvd-data-grid-row-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-faint:var(--vvd-data-grid-row-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-data-grid-row-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-pale:var(--vvd-data-grid-row-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-dim:var(--vvd-data-grid-row-accent-dim,var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}@media (hover:hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}.base{box-sizing:border-box;width:100%;color:var(--vvd-color-canvas-text);display:contents}";
23
+ //#endregion
24
+ //#region src/lib/table/table-header-cell.scss?inline
25
+ var table_header_cell_default = ":host{border-bottom:1px solid var(--vvd-color-neutral-300);vertical-align:middle;display:table-cell}:host.connotation-cta{--_connotation-color-primary:var(--vvd-data-grid-cell-cta-primary,var(--vvd-color-cta-500));--_connotation-color-primary-text:var(--vvd-data-grid-cell-cta-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-data-grid-cell-cta-primary-increment,var(--vvd-color-cta-600));--_connotation-color-firm:var(--vvd-data-grid-cell-cta-firm,var(--vvd-color-cta-600));--_connotation-color-soft:var(--vvd-data-grid-cell-cta-soft,var(--vvd-color-cta-100));--_connotation-color-faint:var(--vvd-data-grid-cell-cta-faint,var(--vvd-color-cta-50));--_connotation-color-pale:var(--vvd-data-grid-cell-cta-pale,var(--vvd-color-cta-300));--_connotation-color-dim:var(--vvd-data-grid-cell-cta-dim,var(--vvd-color-cta-200))}:host:not(.connotation-cta){--_connotation-color-primary:var(--vvd-data-grid-cell-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-data-grid-cell-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-data-grid-cell-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-firm:var(--vvd-data-grid-cell-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-soft:var(--vvd-data-grid-cell-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-faint:var(--vvd-data-grid-cell-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-pale:var(--vvd-data-grid-cell-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-dim:var(--vvd-data-grid-cell-accent-dim,var(--vvd-color-neutral-200))}:host{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}:host.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}@media (hover:hover){:host.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}}:host.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}:host{--_table-cell-default-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) + 8));--_table-cell-default-white-space:nowrap}:host([role=columnheader]){border-bottom-color:var(--vvd-color-canvas-text)}:host(:focus-visible){outline:none}.base{box-sizing:border-box;block-size:100%;color:var(--_appearance-color-text);font:var(--vvd-typography-base-bold);min-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) + 8));padding:0;flex-direction:column;justify-content:center;padding-block:4px;padding-inline:12px;display:flex;overflow:hidden}:host(:focus-visible) .base{--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))}slot{text-overflow:ellipsis;inline-size:100%;white-space:var(--table-cell-white-space,var(--_table-cell-default-white-space));flex:none;display:block;overflow:hidden}";
26
+ //#endregion
27
+ //#region src/lib/table/table-cell.scss?inline
28
+ var table_cell_default = ":host{border-bottom:1px solid var(--vvd-color-neutral-300);vertical-align:middle;display:table-cell}:host.connotation-cta{--_connotation-color-primary:var(--vvd-data-grid-cell-cta-primary,var(--vvd-color-cta-500));--_connotation-color-primary-text:var(--vvd-data-grid-cell-cta-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-data-grid-cell-cta-primary-increment,var(--vvd-color-cta-600));--_connotation-color-firm:var(--vvd-data-grid-cell-cta-firm,var(--vvd-color-cta-600));--_connotation-color-soft:var(--vvd-data-grid-cell-cta-soft,var(--vvd-color-cta-100));--_connotation-color-faint:var(--vvd-data-grid-cell-cta-faint,var(--vvd-color-cta-50));--_connotation-color-pale:var(--vvd-data-grid-cell-cta-pale,var(--vvd-color-cta-300));--_connotation-color-dim:var(--vvd-data-grid-cell-cta-dim,var(--vvd-color-cta-200))}:host:not(.connotation-cta){--_connotation-color-primary:var(--vvd-data-grid-cell-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-data-grid-cell-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-data-grid-cell-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-firm:var(--vvd-data-grid-cell-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-soft:var(--vvd-data-grid-cell-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-faint:var(--vvd-data-grid-cell-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-pale:var(--vvd-data-grid-cell-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-dim:var(--vvd-data-grid-cell-accent-dim,var(--vvd-color-neutral-200))}:host{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}:host.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}@media (hover:hover){:host.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}}:host.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}:host:not([cell-type=columnheader]){--_table-cell-default-block-size:100%;--_table-cell-default-white-space:normal}:host[selected]{background-color:var(--_appearance-color-fill)}:host(:focus-visible){outline:none}.base{box-sizing:border-box;block-size:100%;color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) + 8));flex-direction:column;justify-content:center;padding-block:4px;padding-inline:12px;display:flex;overflow:hidden}:host(:focus-visible) .base{--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))}slot{flex:none;inline-size:100%;display:block}";
29
+ //#endregion
30
+ //#region src/lib/table/table.ts
31
+ /**
32
+ * @public
33
+ * @component table
34
+ * @slot - Default slot.
35
+ */
36
+ var Table = class extends require_vivid_element.VividElement {};
37
+ //#endregion
38
+ //#region src/lib/table/table.template.ts
39
+ var TableTemplate = () => {
40
+ return _microsoft_fast_element.html`
41
+ <template role="table">
42
+ <div part="inner-container" class="table-inner-container">
43
+ <div part="content" class="table-content">
44
+ <slot></slot>
45
+ </div>
46
+ </div>
47
+ </template>
48
+ `;
17
49
  };
18
- var TabsOrientation = {
19
- vertical: "vertical",
20
- horizontal: "horizontal"
50
+ //#endregion
51
+ //#region src/lib/table/table-head.ts
52
+ var tableHeadName = "table-head";
53
+ /**
54
+ * @public
55
+ * @component table-head
56
+ * @slot - Default slot.
57
+ */
58
+ var TableHead = class extends require_vivid_element.VividElement {};
59
+ //#endregion
60
+ //#region src/lib/table/table-head.template.ts
61
+ var TableHeadTemplate = () => {
62
+ return _microsoft_fast_element.html`
63
+ <template>
64
+ <slot></slot>
65
+ </template>
66
+ `;
21
67
  };
22
- var oppositeOrientation = (orientation) => orientation === TabsOrientation.horizontal ? TabsOrientation.vertical : TabsOrientation.horizontal;
23
- var gridProperty = (orientation) => orientation === TabsOrientation.horizontal ? "gridColumn" : "gridRow";
24
- var translateProperty = (orientation) => orientation === TabsOrientation.horizontal ? "translateX" : "translateY";
25
- var offsetProperty = (orientation) => orientation === TabsOrientation.horizontal ? "offsetLeft" : "offsetTop";
26
- var isFocusableElement = (el) => el.getAttribute("aria-disabled") !== "true" && !el.disabled && !el.hasAttribute("hidden");
27
- var arrayShallowEquals = (a, b) => a.length === b.length && a.every((v, i) => v === b[i]);
68
+ //#endregion
69
+ //#region src/lib/table/table-body.ts
28
70
  /**
29
71
  * @public
30
- * @component tabs
31
- * @slot - Default slot for tab and tab-panel elements.
32
- * @slot action-items - Slot for action items such as buttons or controls.
33
- * @event {CustomEvent<HTMLElement>} change - Fires a custom 'change' event when a tab is clicked or during keyboard navigation
72
+ * @component table-body
73
+ * @slot - Default slot.
34
74
  */
35
- var Tabs = class extends require_vivid_element.VividElement {
36
- constructor(..._args) {
37
- super(..._args);
38
- this.orientation = TabsOrientation.horizontal;
39
- this.tabs = [];
40
- this.tabpanels = [];
41
- this.#isTabsChangeQueued = false;
42
- this.#lastActiveId = void 0;
43
- this.#onTabClick = (event) => {
44
- const selectedTab = event.currentTarget;
45
- if (this._validTabs.includes(selectedTab)) this.#setActiveTabDueToUserInteraction(selectedTab);
46
- };
47
- this.#onTabKeyDown = (event) => {
48
- const tabs = this._validTabs;
49
- const activeTab = this.activetab;
50
- if (!activeTab) return;
51
- const [arrowKeyPrev, arrowKeyNext] = this.orientation === TabsOrientation.horizontal ? [require_key_codes.keyArrowLeft, require_key_codes.keyArrowRight] : [_microsoft_fast_web_utilities.keyArrowUp, _microsoft_fast_web_utilities.keyArrowDown];
52
- const keyToNextTab = {
53
- [arrowKeyPrev]: () => tabs[(tabs.indexOf(activeTab) - 1 + tabs.length) % tabs.length],
54
- [arrowKeyNext]: () => tabs[(tabs.indexOf(activeTab) + 1) % tabs.length],
55
- [_microsoft_fast_web_utilities.keyHome]: () => tabs[0],
56
- [_microsoft_fast_web_utilities.keyEnd]: () => tabs[tabs.length - 1]
57
- };
58
- if (keyToNextTab[event.key]) {
59
- event.preventDefault();
60
- this.#setActiveTabDueToUserInteraction(keyToNextTab[event.key]());
61
- }
62
- };
63
- this.#isTransitioningTransform = false;
64
- this.scrollablePanel = false;
65
- this._actionItemsSlottedContent = [];
66
- this.activeindicator = true;
67
- }
68
- /** @internal */
69
- orientationChanged() {
70
- this._registerTabsChange();
71
- if (this.$fastController.isConnected) _microsoft_fast_element.Updates.enqueue(() => this.#moveActiveIndicator(false));
72
- }
73
- /** @internal */
74
- tabsChanged() {
75
- for (const tab of this.tabs) {
76
- if (!tab.id) tab.id = `tab-${(0, _microsoft_fast_web_utilities.uniqueId)()}`;
77
- tab.addEventListener("click", this.#onTabClick);
78
- tab.addEventListener("keydown", this.#onTabKeyDown);
79
- }
80
- this._registerTabsChange();
81
- }
82
- /** @internal */
83
- tabpanelsChanged() {
84
- for (const panel of this.tabpanels) if (!panel.id) panel.id = `panel-${(0, _microsoft_fast_web_utilities.uniqueId)()}`;
85
- this._registerTabsChange();
86
- }
87
- #areSlotsSynced() {
88
- return arrayShallowEquals(this.tabs, this._tabsSlot.assignedNodes()) && arrayShallowEquals(this.tabpanels, this._tabPanelsSlot.assignedNodes());
89
- }
90
- /** Tabs that are paired with a tabpanel. Ignore any excess tabs or panels. */
91
- get _pairedTabs() {
92
- return this.tabs.slice(0, Math.min(this.tabs.length, this.tabpanels.length));
93
- }
94
- /** Tabs that are eligible to become active. */
95
- get _validTabs() {
96
- return this._pairedTabs.filter(isFocusableElement);
97
- }
98
- /** @internal */
99
- activeidChanged() {
100
- this._registerTabsChange();
101
- }
102
- /** A reference to the active tab */
103
- get activetab() {
104
- return this._validTabs.find((tab) => tab.id === this.activeid) ?? null;
105
- }
106
- #setActiveTabDueToUserInteraction(tab) {
107
- this.activeid = tab.id;
108
- tab.focus();
109
- this.$emit("change", tab);
110
- }
111
- #isTabsChangeQueued;
112
- /**
113
- * Defer actual processing of changes into a microtask to wait for all DOM changes to complete. E.g. when tabs and
114
- * active id are updated at the same time.
115
- */
116
- _registerTabsChange() {
117
- if (this.#isTabsChangeQueued) return;
118
- this.#isTabsChangeQueued = true;
119
- window.queueMicrotask(() => {
120
- if (this.$fastController.isConnected && this.#areSlotsSynced()) this.#handleTabsChange();
121
- this.#isTabsChangeQueued = false;
122
- });
123
- }
124
- #lastActiveId;
125
- #handleTabsChange() {
126
- const validTabs = this._validTabs;
127
- let newActiveId = this.activeid;
128
- if (!validTabs.length || newActiveId && !validTabs.find((t) => t.id === newActiveId)) newActiveId = void 0;
129
- if (!newActiveId && validTabs.length) newActiveId = validTabs[0].id;
130
- if (this.activeid !== newActiveId) {
131
- this.activeid = newActiveId;
132
- this.$emit("change", this.activetab);
133
- }
134
- this.#updateSlottedChildren();
135
- if (this.activeid !== this.#lastActiveId) {
136
- if (this.activetab) {
137
- const shouldAnimate = this.#lastActiveId !== void 0;
138
- this.#scrollToTab(this.activetab, shouldAnimate);
139
- this.#moveActiveIndicator(shouldAnimate);
140
- }
141
- this.#lastActiveId = this.activeid;
142
- } else this.#moveActiveIndicator(this.#isTransitioningTransform);
143
- }
144
- /** Updates the tabs and their panels according to the current state of the component. */
145
- #updateSlottedChildren() {
146
- for (const [index, tab] of this._pairedTabs.entries()) {
147
- const panel = this.tabpanels[index];
148
- const isActiveTab = tab.id === this.activeid;
149
- /* v8 ignore else -- @preserve */
150
- if (tab instanceof require_definition$1.Tab) tab.active = isActiveTab;
151
- tab.setAttribute("aria-controls", panel.id);
152
- tab.setAttribute("tabindex", isActiveTab ? "0" : "-1");
153
- if (isActiveTab && this.connotation) tab.setAttribute("connotation", this.connotation);
154
- else tab.removeAttribute("connotation");
155
- tab.classList.toggle("vertical", this.orientation === TabsOrientation.vertical);
156
- tab.style[gridProperty(oppositeOrientation(this.orientation))] = "";
157
- tab.style[gridProperty(this.orientation)] = `${index + 1}`;
158
- panel.setAttribute("aria-labelledby", tab.id);
159
- panel.hidden = !isActiveTab;
160
- }
161
- }
162
- #onTabClick;
163
- #onTabKeyDown;
164
- /**
165
- * Adjusts the active index by numerical increments.
166
- * Only enabled tabs are considered.
167
- */
168
- adjust(adjustment) {
169
- const focusableTabs = this._validTabs;
170
- const currentActiveTabIndex = focusableTabs.findIndex((t) => t.id === this.activeid);
171
- if (currentActiveTabIndex === -1) return;
172
- const nextTabIndex = (0, _microsoft_fast_web_utilities.limit)(0, focusableTabs.length - 1, currentActiveTabIndex + adjustment);
173
- this.#setActiveTabDueToUserInteraction(focusableTabs[nextTabIndex]);
174
- }
175
- #isTransitioningTransform;
176
- /** @internal */
177
- _onActiveIndicatorTransitionend(event) {
178
- /* v8 ignore else -- @preserve */
179
- if (event.propertyName === "transform") this.#isTransitioningTransform = false;
180
- }
181
- #cancelAnimationIfNeeded() {
182
- this.#isTransitioningTransform = false;
183
- this.activeIndicatorRef.classList.remove("activeIndicatorTransition");
184
- }
185
- #moveActiveIndicator(shouldAnimate) {
186
- const activeTabIndex = this._pairedTabs.findIndex((tab) => tab.id === this.activeid);
187
- if (activeTabIndex === -1) return;
188
- const indicatorEl = this.activeIndicatorRef;
189
- const currentOffset = indicatorEl[offsetProperty(this.orientation)];
190
- indicatorEl.style[gridProperty(this.orientation)] = `${activeTabIndex + 1}`;
191
- const targetOffset = indicatorEl[offsetProperty(this.orientation)];
192
- indicatorEl.style[gridProperty(this.orientation)] = "";
193
- const relativeOffset = targetOffset - currentOffset;
194
- const currentTransform = indicatorEl.style.transform;
195
- const targetTransform = `${translateProperty(this.orientation)}(${relativeOffset}px)`;
196
- if (shouldAnimate) {
197
- indicatorEl.classList.add("activeIndicatorTransition");
198
- if (currentTransform !== targetTransform) this.#isTransitioningTransform = true;
199
- } else this.#cancelAnimationIfNeeded();
200
- indicatorEl.style.transform = targetTransform;
201
- indicatorEl.style.setProperty(ACTIVE_TAB_WIDTH, `${this.tabs[activeTabIndex].getBoundingClientRect().width}px`);
202
- }
203
- /** @internal */
204
- connotationChanged() {
205
- this._registerTabsChange();
206
- }
207
- #updateScrollStatus() {
208
- this.#tabListScrollWrapper.dispatchEvent(new Event("scroll"));
209
- }
210
- #resizeObserver;
75
+ var TableBody = class extends require_vivid_element.VividElement {};
76
+ //#endregion
77
+ //#region src/lib/table/table-body.template.ts
78
+ var TableBodyTemplate = () => {
79
+ return _microsoft_fast_element.html`
80
+ <template>
81
+ <slot></slot>
82
+ </template>
83
+ `;
84
+ };
85
+ //#endregion
86
+ //#region src/lib/table/table-row.ts
87
+ /**
88
+ * @public
89
+ * @component table-row
90
+ * @slot - Default slot.
91
+ */
92
+ var TableRow = class extends require_host_semantics.HostSemantics(require_vivid_element.VividElement) {};
93
+ //#endregion
94
+ //#region src/lib/table/table-row.template.ts
95
+ var TableRowTemplate = () => {
96
+ return _microsoft_fast_element.html`
97
+ <template
98
+ ${require_host_semantics.applyHostSemantics({ role: "row" })}
99
+ >
100
+ <div class="base">
101
+ <slot></slot>
102
+ </div>
103
+ </template>
104
+ `;
105
+ };
106
+ //#endregion
107
+ //#region src/lib/table/table-header-cell.ts
108
+ /**
109
+ * @public
110
+ * @component table-header-cell
111
+ * @slot - Default slot.
112
+ * @event {CustomEvent<HTMLElement>} cell-focused - Fires when the cell or its contents receive focus
113
+ */
114
+ var TableHeaderCell = class extends require_host_semantics.HostSemantics(require_vivid_element.VividElement) {
211
115
  connectedCallback() {
212
116
  super.connectedCallback();
213
- this._registerTabsChange();
214
- requestAnimationFrame(() => this.#updateScrollStatus());
215
- this.#resizeObserver = new ResizeObserver(() => {
216
- this.#moveActiveIndicator(this.#isTransitioningTransform);
217
- this.#updateScrollStatus();
218
- });
219
- this.#resizeObserver.observe(this.#tabListScrollWrapper);
220
- this.#resizeObserver.observe(this.tablist);
117
+ this.addEventListener("sort", this.#sortHandler);
118
+ }
119
+ #sortHandler(event) {
120
+ const direction = event.detail;
121
+ if (direction === "asc") this.setAttribute("aria-sort", "ascending");
122
+ else if (direction === "desc") this.setAttribute("aria-sort", "descending");
123
+ else if (direction === "none") this.setAttribute("aria-sort", "none");
124
+ else this.removeAttribute("aria-sort");
221
125
  }
222
126
  disconnectedCallback() {
223
127
  super.disconnectedCallback();
224
- this.#resizeObserver.disconnect();
225
- }
226
- get #tabListWrapper() {
227
- return this.shadowRoot.querySelector(".tablist-wrapper");
228
- }
229
- get #tabListScrollWrapper() {
230
- return this.tablist.parentElement;
231
- }
232
- #scrollToTab(tab, shouldAnimate = true) {
233
- const index = this.tabs.findIndex((t) => t === tab);
234
- let left = 0;
235
- let top = 0;
236
- if (this.orientation === TabsOrientation.vertical) {
237
- if (index === this.tabs.length - 1) top = this.#tabListWrapper.scrollHeight;
238
- if (index > 0 && index < this.tabs.length - 1) top = tab.offsetTop - this.#tabListWrapper.offsetHeight / 2 + tab.offsetHeight / 2;
239
- } else {
240
- if (index === this.tabs.length - 1) left = this.#tabListWrapper.scrollWidth;
241
- if (index > 0 && index < this.tabs.length - 1) left = tab.offsetLeft - this.#tabListWrapper.offsetWidth / 2 + tab.offsetWidth / 2;
242
- }
243
- this.#tabListWrapper.scrollTo({
244
- top,
245
- left,
246
- behavior: shouldAnimate ? "smooth" : "instant"
247
- });
128
+ this.removeEventListener("sort", this.#sortHandler);
248
129
  }
249
130
  };
250
- require_decorate.__decorate([_microsoft_fast_element.attr], Tabs.prototype, "orientation", void 0);
251
- require_decorate.__decorate([_microsoft_fast_element.observable], Tabs.prototype, "tabs", void 0);
252
- require_decorate.__decorate([_microsoft_fast_element.observable], Tabs.prototype, "tabpanels", void 0);
253
- require_decorate.__decorate([_microsoft_fast_element.attr], Tabs.prototype, "activeid", void 0);
254
- require_decorate.__decorate([_microsoft_fast_element.observable], Tabs.prototype, "activeIndicatorRef", void 0);
255
- require_decorate.__decorate([_microsoft_fast_element.observable], Tabs.prototype, "tablist", void 0);
256
- require_decorate.__decorate([_microsoft_fast_element.attr], Tabs.prototype, "connotation", void 0);
257
- require_decorate.__decorate([_microsoft_fast_element.attr], Tabs.prototype, "gutters", void 0);
258
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
259
- mode: "boolean",
260
- attribute: "scrollable-panel"
261
- })], Tabs.prototype, "scrollablePanel", void 0);
262
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "tabs-layout" })], Tabs.prototype, "tabsLayout", void 0);
263
- require_decorate.__decorate([_microsoft_fast_element.observable], Tabs.prototype, "_actionItemsSlottedContent", void 0);
264
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], Tabs.prototype, "activeindicator", void 0);
265
131
  //#endregion
266
- //#region src/lib/tabs/tabs.template.ts
267
- function setNoScrollState(scrollShadow, scrollWrapper) {
268
- if (scrollWrapper.scrollWidth <= scrollWrapper.clientWidth) {
269
- scrollShadow.classList.toggle("start-scroll", false);
270
- scrollShadow.classList.toggle("end-scroll", false);
271
- return true;
272
- }
273
- return false;
274
- }
275
- function addStartShadow(scrollShadow, scrollWrapper) {
276
- scrollShadow.classList.toggle("start-scroll", scrollWrapper.scrollLeft > 0);
277
- }
278
- function addEndShadow(scrollShadow, scrollWrapper) {
279
- scrollShadow.classList.toggle("end-scroll", scrollWrapper.scrollLeft + 1 < scrollWrapper.scrollWidth - scrollWrapper.clientWidth);
280
- }
281
- function setShadowWhenScrollTabs(_, { event }) {
282
- const scrollWrapper = event.currentTarget;
283
- const scrollShadow = scrollWrapper.parentElement;
284
- if (setNoScrollState(scrollShadow, scrollWrapper)) return;
285
- addStartShadow(scrollShadow, scrollWrapper);
286
- addEndShadow(scrollShadow, scrollWrapper);
287
- }
288
- var TabsTemplate = _microsoft_fast_element.html`
289
- <template>
290
- <div
291
- class="${(x) => (0, _microsoft_fast_web_utilities.classNames)("base", `layout-${x.tabsLayout ?? "align-start"}`, [`connotation-${x.connotation}`, Boolean(x.connotation)], [`orientation-${x.orientation}`, Boolean(x.orientation)], `gutters-${x.gutters ?? "small"}`, ["scroll", x.scrollablePanel], ["has-action-items", Boolean(x._actionItemsSlottedContent.length)])}"
132
+ //#region src/lib/table/table-header-cell.template.ts
133
+ var TableHeaderCellTemplate = (context) => {
134
+ const tableHeadTag = context.tagForNonDependency(tableHeadName);
135
+ return _microsoft_fast_element.html`
136
+ <template
137
+ ${require_host_semantics.applyHostSemantics({ role: (x) => x.closest(tableHeadTag) !== null ? require_data_grid_options.DataGridCellRole.columnheader : require_data_grid_options.DataGridCellRole.rowheader })}
292
138
  >
293
- <div class="tabs">
294
- <div class="scroll-shadow">
295
- <div class="tablist-wrapper" @scroll="${setShadowWhenScrollTabs}">
296
- <div class="tablist" role="tablist" ${(0, _microsoft_fast_element.ref)("tablist")}>
297
- <slot name="tab" ${(0, _microsoft_fast_element.ref)("_tabsSlot")} ${(0, _microsoft_fast_element.slotted)("tabs")}></slot>
298
- <div
299
- ${(0, _microsoft_fast_element.ref)("activeIndicatorRef")}
300
- class="active-indicator"
301
- @transitionend="${(x, c) => x._onActiveIndicatorTransitionend(c.event)}"
302
- ></div>
303
- </div>
304
- </div>
305
- </div>
306
- <slot
307
- name="action-items"
308
- ${(0, _microsoft_fast_element.slotted)("_actionItemsSlottedContent")}
309
- ></slot>
139
+ <div class="base">
140
+ <slot></slot>
310
141
  </div>
311
- <div class="tabpanel" part="tab-panel">
312
- <slot
313
- name="tabpanel"
314
- ${(0, _microsoft_fast_element.ref)("_tabPanelsSlot")}
315
- ${(0, _microsoft_fast_element.slotted)("tabpanels")}
316
- ></slot>
142
+ </template>
143
+ `;
144
+ };
145
+ //#endregion
146
+ //#region src/lib/table/table-cell.ts
147
+ /**
148
+ * @public
149
+ * @component table-cell
150
+ * @slot - Default slot.
151
+ * @event {CustomEvent<HTMLElement>} cell-focused - Fires when the cell or its contents receive focus
152
+ */
153
+ var TableCell = class extends require_host_semantics.HostSemantics(require_vivid_element.VividElement) {};
154
+ //#endregion
155
+ //#region src/lib/table/table-cell.template.ts
156
+ var TableCellTemplate = () => {
157
+ return _microsoft_fast_element.html`
158
+ <template
159
+ ${require_host_semantics.applyHostSemantics({ role: () => "cell" })}
160
+ >
161
+ <div class="base">
162
+ <slot></slot>
317
163
  </div>
318
- </div>
319
- </template>
320
- `;
164
+ </template>
165
+ `;
166
+ };
321
167
  //#endregion
322
- //#region src/lib/tabs/definition.ts
168
+ //#region src/lib/table/table-sorting-button.ts
169
+ /**
170
+ * @public
171
+ * @component table-sorting-button
172
+ * @slot - Default slot.
173
+ * @event {CustomEvent<undefined>} sort - Emitted when sorting button is clicked.
174
+ */
175
+ var TableSortingButton = class extends require_delegates_aria.DelegatesAria(require_vivid_element.VividElement) {
176
+ get #nextDirection() {
177
+ if (!this.direction || this.direction === "none") return "asc";
178
+ else if (this.direction === "asc") return "desc";
179
+ else return "none";
180
+ }
181
+ toggleSort() {
182
+ if (!this.$emit("sort", this.#nextDirection)) return;
183
+ this.direction = this.#nextDirection;
184
+ this.dispatchEvent(new CustomEvent("sort", {
185
+ detail: this.direction,
186
+ bubbles: true,
187
+ composed: true
188
+ }));
189
+ }
190
+ };
191
+ require_decorate.__decorate([_microsoft_fast_element.attr], TableSortingButton.prototype, "direction", void 0);
192
+ //#endregion
193
+ //#region src/lib/table/table-sorting-button.template.ts
194
+ var TableSortingButtonTemplate = (context) => {
195
+ const iconTag = context.tagFor(require_definition.Icon);
196
+ return _microsoft_fast_element.html`
197
+ <template
198
+ @click="${(x) => x.toggleSort()}"
199
+ ${require_host_semantics.applyHostSemantics({ role: "button" })}
200
+ >
201
+ <button>
202
+ ${(x) => {
203
+ switch (x.direction) {
204
+ case "asc": return _microsoft_fast_element.html`<${iconTag} name="sort-asc-line"></${iconTag}>`;
205
+ case "desc": return _microsoft_fast_element.html`<${iconTag} name="sort-desc-line"></${iconTag}>`;
206
+ default: return _microsoft_fast_element.html`<${iconTag} name="sort-line"></${iconTag}>`;
207
+ }
208
+ }}
209
+ </button>
210
+ </template>
211
+ `;
212
+ };
213
+ //#endregion
214
+ //#region src/lib/table/definition.ts
215
+ /** @internal */
216
+ var tableCellDefinition = require_vivid_element.defineVividComponent("table-cell", TableCell, TableCellTemplate, [], { styles: table_cell_default });
217
+ /** @internal */
218
+ var tableHeaderCellDefinition = require_vivid_element.defineVividComponent("table-header-cell", TableHeaderCell, TableHeaderCellTemplate, [], { styles: table_header_cell_default });
323
219
  /** @internal */
324
- var tabsDefinition = require_vivid_element.defineVividComponent("tabs", Tabs, TabsTemplate, [require_definition$1.tabDefinition, require_definition.tabPanelDefinition], { styles: tabs_default });
220
+ var tableRowDefinition = require_vivid_element.defineVividComponent("table-row", TableRow, TableRowTemplate, [], { styles: table_row_default });
221
+ /** @internal */
222
+ var tableBodyDefinition = require_vivid_element.defineVividComponent("table-body", TableBody, TableBodyTemplate, [], { styles: table_body_default });
223
+ /** @internal */
224
+ var tableHeadDefinition = require_vivid_element.defineVividComponent("table-head", TableHead, TableHeadTemplate, [], { styles: table_head_default });
225
+ /** @internal */
226
+ var tableSortingButtonDefinition = require_vivid_element.defineVividComponent("table-sorting-button", TableSortingButton, TableSortingButtonTemplate, [require_definition.iconDefinition], { styles: table_sorting_button_default });
227
+ /** @internal */
228
+ var tableDefinition = require_vivid_element.defineVividComponent("table", Table, TableTemplate, [
229
+ tableCellDefinition,
230
+ tableHeaderCellDefinition,
231
+ tableRowDefinition,
232
+ tableHeadDefinition,
233
+ tableBodyDefinition,
234
+ tableSortingButtonDefinition
235
+ ], { styles: table_default });
325
236
  /**
326
- * Registers the tabs elements with the design system.
237
+ * Registers the table element with the design system.
327
238
  *
328
239
  * @param prefix - the prefix to use for the component name
329
240
  */
330
- var registerTabs = require_vivid_element.createRegisterFunction(tabsDefinition);
241
+ var registerTable = require_vivid_element.createRegisterFunction(tableDefinition);
331
242
  //#endregion
332
- Object.defineProperty(exports, "Tabs", {
243
+ Object.defineProperty(exports, "Table", {
244
+ enumerable: true,
245
+ get: function() {
246
+ return Table;
247
+ }
248
+ });
249
+ Object.defineProperty(exports, "TableBody", {
250
+ enumerable: true,
251
+ get: function() {
252
+ return TableBody;
253
+ }
254
+ });
255
+ Object.defineProperty(exports, "TableCell", {
256
+ enumerable: true,
257
+ get: function() {
258
+ return TableCell;
259
+ }
260
+ });
261
+ Object.defineProperty(exports, "TableHead", {
262
+ enumerable: true,
263
+ get: function() {
264
+ return TableHead;
265
+ }
266
+ });
267
+ Object.defineProperty(exports, "TableHeaderCell", {
268
+ enumerable: true,
269
+ get: function() {
270
+ return TableHeaderCell;
271
+ }
272
+ });
273
+ Object.defineProperty(exports, "TableRow", {
274
+ enumerable: true,
275
+ get: function() {
276
+ return TableRow;
277
+ }
278
+ });
279
+ Object.defineProperty(exports, "TableSortingButton", {
280
+ enumerable: true,
281
+ get: function() {
282
+ return TableSortingButton;
283
+ }
284
+ });
285
+ Object.defineProperty(exports, "registerTable", {
286
+ enumerable: true,
287
+ get: function() {
288
+ return registerTable;
289
+ }
290
+ });
291
+ Object.defineProperty(exports, "tableBodyDefinition", {
292
+ enumerable: true,
293
+ get: function() {
294
+ return tableBodyDefinition;
295
+ }
296
+ });
297
+ Object.defineProperty(exports, "tableCellDefinition", {
298
+ enumerable: true,
299
+ get: function() {
300
+ return tableCellDefinition;
301
+ }
302
+ });
303
+ Object.defineProperty(exports, "tableDefinition", {
304
+ enumerable: true,
305
+ get: function() {
306
+ return tableDefinition;
307
+ }
308
+ });
309
+ Object.defineProperty(exports, "tableHeadDefinition", {
333
310
  enumerable: true,
334
311
  get: function() {
335
- return Tabs;
312
+ return tableHeadDefinition;
336
313
  }
337
314
  });
338
- Object.defineProperty(exports, "TabsGutters", {
315
+ Object.defineProperty(exports, "tableHeaderCellDefinition", {
339
316
  enumerable: true,
340
317
  get: function() {
341
- return TabsGutters;
318
+ return tableHeaderCellDefinition;
342
319
  }
343
320
  });
344
- Object.defineProperty(exports, "registerTabs", {
321
+ Object.defineProperty(exports, "tableRowDefinition", {
345
322
  enumerable: true,
346
323
  get: function() {
347
- return registerTabs;
324
+ return tableRowDefinition;
348
325
  }
349
326
  });
350
- Object.defineProperty(exports, "tabsDefinition", {
327
+ Object.defineProperty(exports, "tableSortingButtonDefinition", {
351
328
  enumerable: true,
352
329
  get: function() {
353
- return tabsDefinition;
330
+ return tableSortingButtonDefinition;
354
331
  }
355
332
  });