@sbb-esta/lyne-elements 2.5.1 → 2.7.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 (1941) hide show
  1. package/a11y.css +2 -2
  2. package/accordion/accordion.js +101 -0
  3. package/accordion.d.ts +3 -0
  4. package/accordion.d.ts.map +1 -1
  5. package/accordion.js +2 -99
  6. package/action-group/action-group.js +110 -0
  7. package/action-group.d.ts +3 -0
  8. package/action-group.d.ts.map +1 -1
  9. package/action-group.js +2 -108
  10. package/alert/alert/alert.js +176 -0
  11. package/alert/alert-group/alert-group.js +104 -0
  12. package/alert/alert-group.d.ts +3 -0
  13. package/alert/alert-group.d.ts.map +1 -1
  14. package/alert/alert-group.js +2 -102
  15. package/alert/alert.d.ts +3 -0
  16. package/alert/alert.d.ts.map +1 -1
  17. package/alert/alert.js +2 -174
  18. package/alert.d.ts +3 -0
  19. package/alert.d.ts.map +1 -1
  20. package/alert.js +6 -2
  21. package/autocomplete/autocomplete-base-element.d.ts +19 -20
  22. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  23. package/autocomplete/autocomplete-base-element.js +262 -0
  24. package/autocomplete/autocomplete.js +70 -0
  25. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +109 -0
  26. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  27. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +63 -0
  28. package/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
  29. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
  30. package/autocomplete-grid/autocomplete-grid-button.js +2 -61
  31. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +26 -0
  32. package/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
  33. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
  34. package/autocomplete-grid/autocomplete-grid-cell.js +2 -24
  35. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
  36. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  37. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +33 -0
  38. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
  39. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
  40. package/autocomplete-grid/autocomplete-grid-optgroup.js +2 -31
  41. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +49 -0
  42. package/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
  43. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
  44. package/autocomplete-grid/autocomplete-grid-option.js +3 -47
  45. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +29 -0
  46. package/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
  47. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
  48. package/autocomplete-grid/autocomplete-grid-row.js +2 -27
  49. package/autocomplete-grid/autocomplete-grid.d.ts +3 -0
  50. package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  51. package/autocomplete-grid/autocomplete-grid.js +2 -107
  52. package/autocomplete-grid.d.ts +3 -0
  53. package/autocomplete-grid.d.ts.map +1 -1
  54. package/autocomplete-grid.js +15 -6
  55. package/autocomplete.d.ts +3 -0
  56. package/autocomplete.d.ts.map +1 -1
  57. package/autocomplete.js +5 -312
  58. package/breadcrumb/breadcrumb/breadcrumb.js +52 -0
  59. package/breadcrumb/breadcrumb-group/breadcrumb-group.js +141 -0
  60. package/breadcrumb/breadcrumb-group.d.ts +3 -0
  61. package/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  62. package/breadcrumb/breadcrumb-group.js +2 -139
  63. package/breadcrumb/breadcrumb.d.ts +3 -0
  64. package/breadcrumb/breadcrumb.d.ts.map +1 -1
  65. package/breadcrumb/breadcrumb.js +2 -50
  66. package/breadcrumb.d.ts +3 -0
  67. package/breadcrumb.d.ts.map +1 -1
  68. package/breadcrumb.js +6 -2
  69. package/button/accent-button/accent-button.js +17 -0
  70. package/button/accent-button-link/accent-button-link.js +17 -0
  71. package/button/accent-button-link.d.ts +3 -0
  72. package/button/accent-button-link.d.ts.map +1 -1
  73. package/button/accent-button-link.js +2 -15
  74. package/button/accent-button-static/accent-button-static.js +17 -0
  75. package/button/accent-button-static.d.ts +3 -0
  76. package/button/accent-button-static.d.ts.map +1 -1
  77. package/button/accent-button-static.js +2 -15
  78. package/button/accent-button.d.ts +3 -0
  79. package/button/accent-button.d.ts.map +1 -1
  80. package/button/accent-button.js +2 -15
  81. package/button/button/button.js +17 -0
  82. package/button/button-link/button-link.js +17 -0
  83. package/button/button-link.d.ts +3 -0
  84. package/button/button-link.d.ts.map +1 -1
  85. package/button/button-link.js +2 -15
  86. package/button/button-static/button-static.js +17 -0
  87. package/button/button-static.d.ts +3 -0
  88. package/button/button-static.d.ts.map +1 -1
  89. package/button/button-static.js +2 -15
  90. package/button/button.d.ts +3 -0
  91. package/button/button.d.ts.map +1 -1
  92. package/button/button.js +2 -15
  93. package/button/common/button-common.js +51 -0
  94. package/button/common.d.ts +3 -0
  95. package/button/common.d.ts.map +1 -1
  96. package/button/common.js +8 -55
  97. package/button/mini-button/mini-button.js +23 -0
  98. package/button/mini-button-group/mini-button-group.js +63 -0
  99. package/button/mini-button-group.d.ts +3 -0
  100. package/button/mini-button-group.d.ts.map +1 -1
  101. package/button/mini-button-group.js +2 -61
  102. package/button/mini-button.d.ts +3 -0
  103. package/button/mini-button.d.ts.map +1 -1
  104. package/button/mini-button.js +2 -21
  105. package/button/secondary-button/secondary-button.js +17 -0
  106. package/button/secondary-button-link/secondary-button-link.js +17 -0
  107. package/button/secondary-button-link.d.ts +3 -0
  108. package/button/secondary-button-link.d.ts.map +1 -1
  109. package/button/secondary-button-link.js +2 -15
  110. package/button/secondary-button-static/secondary-button-static.js +17 -0
  111. package/button/secondary-button-static.d.ts +3 -0
  112. package/button/secondary-button-static.d.ts.map +1 -1
  113. package/button/secondary-button-static.js +2 -15
  114. package/button/secondary-button.d.ts +3 -0
  115. package/button/secondary-button.d.ts.map +1 -1
  116. package/button/secondary-button.js +2 -15
  117. package/button/transparent-button/transparent-button.js +17 -0
  118. package/button/transparent-button-link/transparent-button-link.js +17 -0
  119. package/button/transparent-button-link.d.ts +3 -0
  120. package/button/transparent-button-link.d.ts.map +1 -1
  121. package/button/transparent-button-link.js +2 -15
  122. package/button/transparent-button-static/transparent-button-static.js +17 -0
  123. package/button/transparent-button-static.d.ts +3 -0
  124. package/button/transparent-button-static.d.ts.map +1 -1
  125. package/button/transparent-button-static.js +2 -15
  126. package/button/transparent-button.d.ts +3 -0
  127. package/button/transparent-button.d.ts.map +1 -1
  128. package/button/transparent-button.js +2 -15
  129. package/button.d.ts +3 -0
  130. package/button.d.ts.map +1 -1
  131. package/button.js +38 -15
  132. package/calendar/calendar.js +939 -0
  133. package/calendar.d.ts +3 -0
  134. package/calendar.d.ts.map +1 -1
  135. package/calendar.js +2 -937
  136. package/card/card/card.js +70 -0
  137. package/card/card-badge/card-badge.js +57 -0
  138. package/card/card-badge.d.ts +3 -0
  139. package/card/card-badge.d.ts.map +1 -1
  140. package/card/card-badge.js +2 -55
  141. package/card/card-button/card-button.js +19 -0
  142. package/card/card-button.d.ts +3 -0
  143. package/card/card-button.d.ts.map +1 -1
  144. package/card/card-button.js +2 -17
  145. package/card/card-link/card-link.js +19 -0
  146. package/card/card-link.d.ts +3 -0
  147. package/card/card-link.d.ts.map +1 -1
  148. package/card/card-link.js +2 -17
  149. package/card/card.d.ts +3 -0
  150. package/card/card.d.ts.map +1 -1
  151. package/card/card.js +2 -68
  152. package/card/common/card-action-common.js +60 -0
  153. package/card/common.d.ts +3 -0
  154. package/card/common.d.ts.map +1 -1
  155. package/card/common.js +2 -58
  156. package/card.d.ts +3 -0
  157. package/card.d.ts.map +1 -1
  158. package/card.js +12 -5
  159. package/checkbox/checkbox/checkbox.js +80 -0
  160. package/checkbox/checkbox-group/checkbox-group.js +113 -0
  161. package/checkbox/checkbox-group.d.ts +3 -0
  162. package/checkbox/checkbox-group.d.ts.map +1 -1
  163. package/checkbox/checkbox-group.js +2 -111
  164. package/checkbox/checkbox-panel/checkbox-panel.js +82 -0
  165. package/checkbox/checkbox-panel.d.ts +3 -0
  166. package/checkbox/checkbox-panel.d.ts.map +1 -1
  167. package/checkbox/checkbox-panel.js +2 -80
  168. package/checkbox/checkbox.d.ts +3 -0
  169. package/checkbox/checkbox.d.ts.map +1 -1
  170. package/checkbox/checkbox.js +2 -78
  171. package/checkbox/common/checkbox-common.js +56 -0
  172. package/checkbox/common.d.ts +3 -0
  173. package/checkbox/common.d.ts.map +1 -1
  174. package/checkbox/common.js +4 -56
  175. package/checkbox-common-CDzcyq8p.js +5 -0
  176. package/checkbox.d.ts +3 -0
  177. package/checkbox.d.ts.map +1 -1
  178. package/checkbox.js +12 -4
  179. package/chip/chip/chip.d.ts +32 -0
  180. package/chip/chip/chip.d.ts.map +1 -0
  181. package/chip/chip/chip.js +85 -0
  182. package/chip/chip-group/chip-group.d.ts +100 -0
  183. package/chip/chip-group/chip-group.d.ts.map +1 -0
  184. package/chip/chip-group/chip-group.js +226 -0
  185. package/chip/chip-group.d.ts +5 -0
  186. package/chip/chip-group.d.ts.map +1 -0
  187. package/chip/chip-group.js +4 -0
  188. package/chip/chip.d.ts +5 -0
  189. package/chip/chip.d.ts.map +1 -0
  190. package/chip/chip.js +4 -0
  191. package/chip-label/chip-label.js +54 -0
  192. package/chip-label.d.ts +3 -0
  193. package/chip-label.d.ts.map +1 -1
  194. package/chip-label.js +2 -52
  195. package/chip.d.ts +6 -0
  196. package/chip.d.ts.map +1 -0
  197. package/chip.js +6 -0
  198. package/clock/clock.d.ts.map +1 -1
  199. package/clock/clock.js +163 -0
  200. package/clock.d.ts +3 -0
  201. package/clock.d.ts.map +1 -1
  202. package/clock.js +2 -161
  203. package/container/container/container.js +71 -0
  204. package/container/container.d.ts +3 -0
  205. package/container/container.d.ts.map +1 -1
  206. package/container/container.js +2 -69
  207. package/container/sticky-bar/sticky-bar.js +111 -0
  208. package/container/sticky-bar.d.ts +3 -0
  209. package/container/sticky-bar.d.ts.map +1 -1
  210. package/container/sticky-bar.js +2 -109
  211. package/container.d.ts +3 -0
  212. package/container.d.ts.map +1 -1
  213. package/container.js +6 -2
  214. package/core/a11y/arrow-navigation.js +33 -0
  215. package/core/a11y/fake-event-detection.js +11 -0
  216. package/core/a11y/focus-trap-controller.d.ts +35 -0
  217. package/core/a11y/focus-trap-controller.d.ts.map +1 -0
  218. package/core/a11y/focus-trap-controller.js +95 -0
  219. package/core/a11y/focus-visible-within-controller.js +19 -0
  220. package/core/a11y/focus.d.ts +12 -0
  221. package/core/a11y/focus.d.ts.map +1 -1
  222. package/core/a11y/focus.js +75 -0
  223. package/core/a11y/input-modality-detector.d.ts +5 -0
  224. package/core/a11y/input-modality-detector.d.ts.map +1 -1
  225. package/core/a11y/input-modality-detector.js +59 -0
  226. package/core/a11y/interactivity-checker.d.ts +49 -3
  227. package/core/a11y/interactivity-checker.d.ts.map +1 -1
  228. package/core/a11y/interactivity-checker.js +104 -0
  229. package/core/a11y.d.ts +4 -0
  230. package/core/a11y.d.ts.map +1 -1
  231. package/core/a11y.js +26 -201
  232. package/core/base-elements/action-base-element.js +46 -0
  233. package/core/base-elements/button-base-element.d.ts.map +1 -1
  234. package/core/base-elements/button-base-element.js +120 -0
  235. package/core/base-elements/link-base-element.js +130 -0
  236. package/core/base-elements/open-close-base-element.js +33 -0
  237. package/core/base-elements.d.ts +3 -0
  238. package/core/base-elements.d.ts.map +1 -1
  239. package/core/base-elements.js +8 -308
  240. package/core/config/config.js +11 -0
  241. package/core/config.d.ts +3 -0
  242. package/core/config.d.ts.map +1 -1
  243. package/core/config.js +3 -9
  244. package/core/controllers/connected-abort-controller.js +19 -0
  245. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  246. package/core/controllers/escapable-overlay-controller.js +29 -0
  247. package/core/controllers/id-observer-controller.d.ts +21 -0
  248. package/core/controllers/id-observer-controller.d.ts.map +1 -0
  249. package/core/controllers/id-observer-controller.js +61 -0
  250. package/core/controllers/inert-controller.d.ts +3 -1
  251. package/core/controllers/inert-controller.d.ts.map +1 -1
  252. package/core/controllers/inert-controller.js +48 -0
  253. package/core/controllers/language-controller.js +39 -0
  254. package/core/controllers/media-matchers-controller.d.ts +1 -0
  255. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  256. package/core/controllers/media-matchers-controller.js +43 -0
  257. package/core/controllers/slot-state-controller.js +30 -0
  258. package/core/controllers.d.ts +5 -1
  259. package/core/controllers.d.ts.map +1 -1
  260. package/core/controllers.js +20 -193
  261. package/core/datetime/date-adapter.js +102 -0
  262. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  263. package/core/datetime/native-date-adapter.js +169 -0
  264. package/core/datetime.d.ts +3 -0
  265. package/core/datetime.d.ts.map +1 -1
  266. package/core/datetime.js +12 -261
  267. package/core/decorators/base.js +1 -0
  268. package/core/decorators/date-converter.js +17 -0
  269. package/core/decorators/date-only-type.js +10 -0
  270. package/core/decorators/force-type.js +18 -0
  271. package/core/decorators/get-override.js +14 -0
  272. package/core/decorators/handle-distinct-change.js +16 -0
  273. package/core/decorators/host-attributes.js +18 -0
  274. package/core/decorators/omit-empty-converter.js +9 -0
  275. package/core/decorators/slot-state.js +8 -0
  276. package/core/decorators.d.ts +3 -0
  277. package/core/decorators.d.ts.map +1 -1
  278. package/core/decorators.js +16 -86
  279. package/core/dom/animation.js +10 -0
  280. package/core/dom/breakpoint.d.ts +1 -1
  281. package/core/dom/breakpoint.js +12 -0
  282. package/core/dom/find-referenced-element.d.ts +1 -0
  283. package/core/dom/find-referenced-element.d.ts.map +1 -1
  284. package/core/dom/find-referenced-element.js +7 -0
  285. package/core/dom/host-context.js +17 -0
  286. package/core/dom/input-element.d.ts +3 -1
  287. package/core/dom/input-element.d.ts.map +1 -1
  288. package/core/dom/input-element.js +12 -0
  289. package/core/dom/lean-context.js +7 -0
  290. package/core/dom/platform.js +21 -0
  291. package/core/dom/scroll.js +19 -0
  292. package/core/dom/set-or-remove-attribute.js +6 -0
  293. package/core/dom.d.ts +3 -0
  294. package/core/dom.d.ts.map +1 -1
  295. package/core/dom.js +31 -87
  296. package/core/eventing/composed-path-has-attribute.js +8 -0
  297. package/core/eventing/event-emitter.js +23 -0
  298. package/core/eventing/event-target.js +6 -0
  299. package/core/eventing/form-element-handlers.js +6 -0
  300. package/core/eventing/forward-event.js +9 -0
  301. package/core/eventing/is-event-prevented.js +6 -0
  302. package/core/eventing/throttle.js +11 -0
  303. package/core/eventing.d.ts +3 -0
  304. package/core/eventing.d.ts.map +1 -1
  305. package/core/eventing.js +15 -55
  306. package/core/i18n/i18n.d.ts +3 -0
  307. package/core/i18n/i18n.d.ts.map +1 -1
  308. package/core/i18n/i18n.js +700 -0
  309. package/core/i18n.d.ts +3 -0
  310. package/core/i18n.d.ts.map +1 -1
  311. package/core/i18n.js +89 -680
  312. package/core/images.js +15 -0
  313. package/core/interfaces.d.ts +3 -0
  314. package/core/interfaces.d.ts.map +1 -1
  315. package/core/mixins/animation-complete-mixin.js +43 -0
  316. package/core/mixins/constructor.js +1 -0
  317. package/core/mixins/disabled-mixin.js +72 -0
  318. package/core/mixins/form-associated-checkbox-mixin.js +92 -0
  319. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  320. package/core/mixins/form-associated-input-mixin.js +182 -0
  321. package/core/mixins/form-associated-mixin.js +219 -0
  322. package/core/mixins/form-associated-radio-button-mixin.js +159 -0
  323. package/core/mixins/hydration-mixin.js +39 -0
  324. package/core/mixins/named-slot-list-mixin.js +107 -0
  325. package/core/mixins/negative-mixin.js +34 -0
  326. package/core/mixins/panel-mixin.js +61 -0
  327. package/core/mixins/required-mixin.js +36 -0
  328. package/core/mixins/update-scheduler-mixin.js +22 -0
  329. package/core/mixins.d.ts +3 -0
  330. package/core/mixins.d.ts.map +1 -1
  331. package/core/mixins.js +29 -968
  332. package/core/overlay/overlay-option-panel.js +11 -0
  333. package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  334. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  335. package/core/overlay/overlay-trigger-attributes.js +18 -0
  336. package/core/overlay/overlay.js +14 -0
  337. package/core/overlay/position.d.ts +1 -1
  338. package/core/overlay/position.d.ts.map +1 -1
  339. package/core/overlay/position.js +40 -0
  340. package/core/overlay.d.ts +3 -0
  341. package/core/overlay.d.ts.map +1 -1
  342. package/core/overlay.js +12 -73
  343. package/core/styles/core.scss +97 -24
  344. package/core/styles/image.scss +1 -1
  345. package/core/styles/mixins/a11y.scss +2 -1
  346. package/core/styles/mixins/buttons.scss +7 -6
  347. package/core/styles/mixins/link.scss +1 -2
  348. package/core/styles/mixins/table.scss +66 -26
  349. package/core/styles/table.scss +61 -0
  350. package/core/testing/event-spy.js +53 -0
  351. package/core/testing/mocha-extensions.js +11 -0
  352. package/core/testing/scroll.d.ts +1 -0
  353. package/core/testing/scroll.d.ts.map +1 -1
  354. package/core/testing/scroll.js +6 -0
  355. package/core/testing/wait-for-condition.js +13 -0
  356. package/core/testing/wait-for-image-ready.d.ts.map +1 -1
  357. package/core/testing/wait-for-image-ready.js +18 -0
  358. package/core/testing/wait-for-render.js +15 -0
  359. package/core/testing.d.ts +3 -0
  360. package/core/testing.d.ts.map +1 -1
  361. package/core/testing.js +14 -106
  362. package/core.css +93 -34
  363. package/custom-elements.json +55418 -50282
  364. package/date-input/date-input.d.ts.map +1 -1
  365. package/date-input/date-input.js +155 -0
  366. package/date-input.d.ts +3 -0
  367. package/date-input.d.ts.map +1 -1
  368. package/date-input.js +2 -153
  369. package/datepicker/common/datepicker-association-controllers.js +58 -0
  370. package/datepicker/common/datepicker-button.js +105 -0
  371. package/datepicker/common.d.ts +3 -0
  372. package/datepicker/common.d.ts.map +1 -1
  373. package/datepicker/common.js +5 -158
  374. package/datepicker/datepicker/datepicker.d.ts +4 -4
  375. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  376. package/datepicker/datepicker/datepicker.js +266 -0
  377. package/datepicker/datepicker-next-day/datepicker-next-day.js +27 -0
  378. package/datepicker/datepicker-next-day.d.ts +3 -0
  379. package/datepicker/datepicker-next-day.d.ts.map +1 -1
  380. package/datepicker/datepicker-next-day.js +2 -25
  381. package/datepicker/datepicker-previous-day/datepicker-previous-day.js +27 -0
  382. package/datepicker/datepicker-previous-day.d.ts +3 -0
  383. package/datepicker/datepicker-previous-day.d.ts.map +1 -1
  384. package/datepicker/datepicker-previous-day.js +2 -25
  385. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
  386. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  387. package/datepicker/datepicker-toggle/datepicker-toggle.js +171 -0
  388. package/datepicker/datepicker-toggle.d.ts +3 -0
  389. package/datepicker/datepicker-toggle.d.ts.map +1 -1
  390. package/datepicker/datepicker-toggle.js +2 -173
  391. package/datepicker/datepicker.d.ts +3 -0
  392. package/datepicker/datepicker.d.ts.map +1 -1
  393. package/datepicker/datepicker.js +4 -263
  394. package/datepicker.d.ts +3 -0
  395. package/datepicker.d.ts.map +1 -1
  396. package/datepicker.js +17 -5
  397. package/development/accordion/accordion.js +149 -0
  398. package/development/accordion.d.ts +3 -0
  399. package/development/accordion.d.ts.map +1 -1
  400. package/development/accordion.js +2 -146
  401. package/development/action-group/action-group.js +405 -0
  402. package/development/action-group.d.ts +3 -0
  403. package/development/action-group.d.ts.map +1 -1
  404. package/development/action-group.js +2 -402
  405. package/development/alert/alert/alert.js +434 -0
  406. package/development/alert/alert-group/alert-group.js +183 -0
  407. package/development/alert/alert-group.d.ts +3 -0
  408. package/development/alert/alert-group.d.ts.map +1 -1
  409. package/development/alert/alert-group.js +2 -180
  410. package/development/alert/alert.d.ts +3 -0
  411. package/development/alert/alert.d.ts.map +1 -1
  412. package/development/alert/alert.js +2 -431
  413. package/development/alert.d.ts +3 -0
  414. package/development/alert.d.ts.map +1 -1
  415. package/development/alert.js +6 -2
  416. package/development/autocomplete/autocomplete-base-element.d.ts +19 -20
  417. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  418. package/development/autocomplete/autocomplete-base-element.js +700 -0
  419. package/development/autocomplete/autocomplete.js +99 -0
  420. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +157 -0
  421. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  422. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +208 -0
  423. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
  424. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
  425. package/development/autocomplete-grid/autocomplete-grid-button.js +2 -202
  426. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +47 -0
  427. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
  428. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
  429. package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -44
  430. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
  431. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  432. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +44 -0
  433. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
  434. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
  435. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +2 -41
  436. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +139 -0
  437. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
  438. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
  439. package/development/autocomplete-grid/autocomplete-grid-option.js +2 -134
  440. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +123 -0
  441. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
  442. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
  443. package/development/autocomplete-grid/autocomplete-grid-row.js +2 -120
  444. package/development/autocomplete-grid/autocomplete-grid.d.ts +3 -0
  445. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  446. package/development/autocomplete-grid/autocomplete-grid.js +2 -154
  447. package/development/autocomplete-grid.d.ts +3 -0
  448. package/development/autocomplete-grid.d.ts.map +1 -1
  449. package/development/autocomplete-grid.js +15 -6
  450. package/development/autocomplete.d.ts +3 -0
  451. package/development/autocomplete.d.ts.map +1 -1
  452. package/development/autocomplete.js +5 -763
  453. package/development/breadcrumb/breadcrumb/breadcrumb.js +136 -0
  454. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.js +281 -0
  455. package/development/breadcrumb/breadcrumb-group.d.ts +3 -0
  456. package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  457. package/development/breadcrumb/breadcrumb-group.js +2 -278
  458. package/development/breadcrumb/breadcrumb.d.ts +3 -0
  459. package/development/breadcrumb/breadcrumb.d.ts.map +1 -1
  460. package/development/breadcrumb/breadcrumb.js +2 -133
  461. package/development/breadcrumb.d.ts +3 -0
  462. package/development/breadcrumb.d.ts.map +1 -1
  463. package/development/breadcrumb.js +6 -2
  464. package/development/button/accent-button/accent-button.js +25 -0
  465. package/development/button/accent-button-link/accent-button-link.js +25 -0
  466. package/development/button/accent-button-link.d.ts +3 -0
  467. package/development/button/accent-button-link.d.ts.map +1 -1
  468. package/development/button/accent-button-link.js +2 -22
  469. package/development/button/accent-button-static/accent-button-static.js +25 -0
  470. package/development/button/accent-button-static.d.ts +3 -0
  471. package/development/button/accent-button-static.d.ts.map +1 -1
  472. package/development/button/accent-button-static.js +2 -22
  473. package/development/button/accent-button.d.ts +3 -0
  474. package/development/button/accent-button.d.ts.map +1 -1
  475. package/development/button/accent-button.js +2 -22
  476. package/development/button/button/button.js +25 -0
  477. package/development/button/button-link/button-link.js +25 -0
  478. package/development/button/button-link.d.ts +3 -0
  479. package/development/button/button-link.d.ts.map +1 -1
  480. package/development/button/button-link.js +2 -22
  481. package/development/button/button-static/button-static.js +25 -0
  482. package/development/button/button-static.d.ts +3 -0
  483. package/development/button/button-static.d.ts.map +1 -1
  484. package/development/button/button-static.js +2 -22
  485. package/development/button/button.d.ts +3 -0
  486. package/development/button/button.d.ts.map +1 -1
  487. package/development/button/button.js +2 -22
  488. package/development/button/common/button-common.js +70 -0
  489. package/development/button/common.d.ts +3 -0
  490. package/development/button/common.d.ts.map +1 -1
  491. package/development/button/common.js +8 -407
  492. package/development/button/mini-button/mini-button.js +143 -0
  493. package/development/button/mini-button-group/mini-button-group.js +153 -0
  494. package/development/button/mini-button-group.d.ts +3 -0
  495. package/development/button/mini-button-group.d.ts.map +1 -1
  496. package/development/button/mini-button-group.js +2 -150
  497. package/development/button/mini-button.d.ts +3 -0
  498. package/development/button/mini-button.d.ts.map +1 -1
  499. package/development/button/mini-button.js +2 -137
  500. package/development/button/secondary-button/secondary-button.js +25 -0
  501. package/development/button/secondary-button-link/secondary-button-link.js +25 -0
  502. package/development/button/secondary-button-link.d.ts +3 -0
  503. package/development/button/secondary-button-link.d.ts.map +1 -1
  504. package/development/button/secondary-button-link.js +2 -22
  505. package/development/button/secondary-button-static/secondary-button-static.js +25 -0
  506. package/development/button/secondary-button-static.d.ts +3 -0
  507. package/development/button/secondary-button-static.d.ts.map +1 -1
  508. package/development/button/secondary-button-static.js +2 -22
  509. package/development/button/secondary-button.d.ts +3 -0
  510. package/development/button/secondary-button.d.ts.map +1 -1
  511. package/development/button/secondary-button.js +2 -22
  512. package/development/button/transparent-button/transparent-button.js +25 -0
  513. package/development/button/transparent-button-link/transparent-button-link.js +25 -0
  514. package/development/button/transparent-button-link.d.ts +3 -0
  515. package/development/button/transparent-button-link.d.ts.map +1 -1
  516. package/development/button/transparent-button-link.js +2 -22
  517. package/development/button/transparent-button-static/transparent-button-static.js +25 -0
  518. package/development/button/transparent-button-static.d.ts +3 -0
  519. package/development/button/transparent-button-static.d.ts.map +1 -1
  520. package/development/button/transparent-button-static.js +2 -22
  521. package/development/button/transparent-button.d.ts +3 -0
  522. package/development/button/transparent-button.d.ts.map +1 -1
  523. package/development/button/transparent-button.js +2 -22
  524. package/development/button.d.ts +3 -0
  525. package/development/button.d.ts.map +1 -1
  526. package/development/button.js +39 -16
  527. package/development/calendar/calendar.js +1547 -0
  528. package/development/calendar.d.ts +3 -0
  529. package/development/calendar.d.ts.map +1 -1
  530. package/development/calendar.js +2 -1542
  531. package/development/card/card/card.js +287 -0
  532. package/development/card/card-badge/card-badge.js +169 -0
  533. package/development/card/card-badge.d.ts +3 -0
  534. package/development/card/card-badge.d.ts.map +1 -1
  535. package/development/card/card-badge.js +2 -166
  536. package/development/card/card-button/card-button.js +29 -0
  537. package/development/card/card-button.d.ts +3 -0
  538. package/development/card/card-button.d.ts.map +1 -1
  539. package/development/card/card-button.js +2 -26
  540. package/development/card/card-link/card-link.js +29 -0
  541. package/development/card/card-link.d.ts +3 -0
  542. package/development/card/card-link.d.ts.map +1 -1
  543. package/development/card/card-link.js +2 -26
  544. package/development/card/card.d.ts +3 -0
  545. package/development/card/card.d.ts.map +1 -1
  546. package/development/card/card.js +2 -284
  547. package/development/card/common/card-action-common.js +119 -0
  548. package/development/card/common.d.ts +3 -0
  549. package/development/card/common.d.ts.map +1 -1
  550. package/development/card/common.js +2 -116
  551. package/development/card.d.ts +3 -0
  552. package/development/card.d.ts.map +1 -1
  553. package/development/card.js +12 -5
  554. package/development/checkbox/checkbox/checkbox.js +134 -0
  555. package/development/checkbox/checkbox-group/checkbox-group.js +294 -0
  556. package/development/checkbox/checkbox-group.d.ts +3 -0
  557. package/development/checkbox/checkbox-group.d.ts.map +1 -1
  558. package/development/checkbox/checkbox-group.js +2 -291
  559. package/development/checkbox/checkbox-panel/checkbox-panel.js +108 -0
  560. package/development/checkbox/checkbox-panel.d.ts +3 -0
  561. package/development/checkbox/checkbox-panel.d.ts.map +1 -1
  562. package/development/checkbox/checkbox-panel.js +2 -105
  563. package/development/checkbox/checkbox.d.ts +3 -0
  564. package/development/checkbox/checkbox.d.ts.map +1 -1
  565. package/development/checkbox/checkbox.js +2 -131
  566. package/development/checkbox/common/checkbox-common.js +75 -0
  567. package/development/checkbox/common.d.ts +3 -0
  568. package/development/checkbox/common.d.ts.map +1 -1
  569. package/development/checkbox/common.js +4 -152
  570. package/development/checkbox-common-aMPOsPVA.js +83 -0
  571. package/development/checkbox.d.ts +3 -0
  572. package/development/checkbox.d.ts.map +1 -1
  573. package/development/checkbox.js +13 -5
  574. package/development/chip/chip/chip.d.ts +32 -0
  575. package/development/chip/chip/chip.d.ts.map +1 -0
  576. package/development/chip/chip/chip.js +213 -0
  577. package/development/chip/chip-group/chip-group.d.ts +100 -0
  578. package/development/chip/chip-group/chip-group.d.ts.map +1 -0
  579. package/development/chip/chip-group/chip-group.js +350 -0
  580. package/development/chip/chip-group.d.ts +5 -0
  581. package/development/chip/chip-group.d.ts.map +1 -0
  582. package/development/chip/chip-group.js +5 -0
  583. package/development/chip/chip.d.ts +5 -0
  584. package/development/chip/chip.d.ts.map +1 -0
  585. package/development/chip/chip.js +5 -0
  586. package/development/chip-label/chip-label.js +154 -0
  587. package/development/chip-label.d.ts +3 -0
  588. package/development/chip-label.d.ts.map +1 -1
  589. package/development/chip-label.js +2 -151
  590. package/development/chip.d.ts +6 -0
  591. package/development/chip.d.ts.map +1 -0
  592. package/development/chip.js +7 -0
  593. package/development/clock/clock.d.ts.map +1 -1
  594. package/development/clock/clock.js +390 -0
  595. package/development/clock.d.ts +3 -0
  596. package/development/clock.d.ts.map +1 -1
  597. package/development/clock.js +2 -384
  598. package/development/container/container/container.js +194 -0
  599. package/development/container/container.d.ts +3 -0
  600. package/development/container/container.d.ts.map +1 -1
  601. package/development/container/container.js +2 -191
  602. package/development/container/sticky-bar/sticky-bar.js +349 -0
  603. package/development/container/sticky-bar.d.ts +3 -0
  604. package/development/container/sticky-bar.d.ts.map +1 -1
  605. package/development/container/sticky-bar.js +2 -346
  606. package/development/container.d.ts +3 -0
  607. package/development/container.d.ts.map +1 -1
  608. package/development/container.js +6 -2
  609. package/development/core/a11y/arrow-navigation.js +43 -0
  610. package/development/core/a11y/fake-event-detection.js +12 -0
  611. package/development/core/a11y/focus-trap-controller.d.ts +35 -0
  612. package/development/core/a11y/focus-trap-controller.d.ts.map +1 -0
  613. package/development/core/a11y/focus-trap-controller.js +127 -0
  614. package/development/core/a11y/focus-visible-within-controller.js +25 -0
  615. package/development/core/a11y/focus.d.ts +12 -0
  616. package/development/core/a11y/focus.d.ts.map +1 -1
  617. package/development/core/a11y/focus.js +94 -0
  618. package/development/core/a11y/input-modality-detector.d.ts +5 -0
  619. package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
  620. package/development/core/a11y/input-modality-detector.js +96 -0
  621. package/development/core/a11y/interactivity-checker.d.ts +49 -3
  622. package/development/core/a11y/interactivity-checker.d.ts.map +1 -1
  623. package/development/core/a11y/interactivity-checker.js +137 -0
  624. package/development/core/a11y.d.ts +4 -0
  625. package/development/core/a11y.d.ts.map +1 -1
  626. package/development/core/a11y.js +10 -253
  627. package/development/core/base-elements/action-base-element.js +62 -0
  628. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  629. package/development/core/base-elements/button-base-element.js +179 -0
  630. package/development/core/base-elements/link-base-element.js +183 -0
  631. package/development/core/base-elements/open-close-base-element.js +39 -0
  632. package/development/core/base-elements.d.ts +3 -0
  633. package/development/core/base-elements.d.ts.map +1 -1
  634. package/development/core/base-elements.js +5 -437
  635. package/development/core/config/config.js +15 -0
  636. package/development/core/config.d.ts +3 -0
  637. package/development/core/config.d.ts.map +1 -1
  638. package/development/core/config.js +2 -11
  639. package/development/core/controllers/connected-abort-controller.js +25 -0
  640. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  641. package/development/core/controllers/escapable-overlay-controller.js +40 -0
  642. package/development/core/controllers/id-observer-controller.d.ts +21 -0
  643. package/development/core/controllers/id-observer-controller.d.ts.map +1 -0
  644. package/development/core/controllers/id-observer-controller.js +84 -0
  645. package/development/core/controllers/inert-controller.d.ts +3 -1
  646. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  647. package/development/core/controllers/inert-controller.js +91 -0
  648. package/development/core/controllers/language-controller.js +69 -0
  649. package/development/core/controllers/media-matchers-controller.d.ts +1 -0
  650. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  651. package/development/core/controllers/media-matchers-controller.js +62 -0
  652. package/development/core/controllers/slot-state-controller.js +48 -0
  653. package/development/core/controllers.d.ts +5 -1
  654. package/development/core/controllers.d.ts.map +1 -1
  655. package/development/core/controllers.js +10 -305
  656. package/development/core/datetime/date-adapter.js +129 -0
  657. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  658. package/development/core/datetime/native-date-adapter.js +185 -0
  659. package/development/core/datetime.d.ts +3 -0
  660. package/development/core/datetime.d.ts.map +1 -1
  661. package/development/core/datetime.js +3 -294
  662. package/development/core/decorators/base.js +2 -0
  663. package/development/core/decorators/date-converter.js +18 -0
  664. package/development/core/decorators/date-only-type.js +11 -0
  665. package/development/core/decorators/force-type.js +29 -0
  666. package/development/core/decorators/get-override.js +18 -0
  667. package/development/core/decorators/handle-distinct-change.js +22 -0
  668. package/development/core/decorators/host-attributes.js +30 -0
  669. package/development/core/decorators/omit-empty-converter.js +10 -0
  670. package/development/core/decorators/slot-state.js +11 -0
  671. package/development/core/decorators.d.ts +3 -0
  672. package/development/core/decorators.d.ts.map +1 -1
  673. package/development/core/decorators.js +9 -114
  674. package/development/core/dom/animation.js +12 -0
  675. package/development/core/dom/breakpoint.d.ts +1 -1
  676. package/development/core/dom/breakpoint.js +19 -0
  677. package/development/core/dom/find-referenced-element.d.ts +1 -0
  678. package/development/core/dom/find-referenced-element.d.ts.map +1 -1
  679. package/development/core/dom/find-referenced-element.js +15 -0
  680. package/development/core/dom/host-context.js +21 -0
  681. package/development/core/dom/input-element.d.ts +3 -1
  682. package/development/core/dom/input-element.d.ts.map +1 -1
  683. package/development/core/dom/input-element.js +13 -0
  684. package/development/core/dom/lean-context.js +8 -0
  685. package/development/core/dom/platform.js +32 -0
  686. package/development/core/dom/scroll.js +37 -0
  687. package/development/core/dom/set-or-remove-attribute.js +11 -0
  688. package/development/core/dom.d.ts +3 -0
  689. package/development/core/dom.d.ts.map +1 -1
  690. package/development/core/dom.js +10 -114
  691. package/development/core/eventing/composed-path-has-attribute.js +12 -0
  692. package/development/core/eventing/event-emitter.js +26 -0
  693. package/development/core/eventing/event-target.js +7 -0
  694. package/development/core/eventing/form-element-handlers.js +9 -0
  695. package/development/core/eventing/forward-event.js +11 -0
  696. package/development/core/eventing/is-event-prevented.js +8 -0
  697. package/development/core/eventing/throttle.js +18 -0
  698. package/development/core/eventing.d.ts +3 -0
  699. package/development/core/eventing.d.ts.map +1 -1
  700. package/development/core/eventing.js +8 -63
  701. package/development/core/i18n/i18n.d.ts +3 -0
  702. package/development/core/i18n/i18n.d.ts.map +1 -1
  703. package/development/core/i18n/i18n.js +793 -0
  704. package/development/core/i18n.d.ts +3 -0
  705. package/development/core/i18n.d.ts.map +1 -1
  706. package/development/core/i18n.js +5 -685
  707. package/development/core/images.js +16 -0
  708. package/development/core/interfaces.d.ts +3 -0
  709. package/development/core/interfaces.d.ts.map +1 -1
  710. package/development/core/mixins/animation-complete-mixin.js +52 -0
  711. package/development/core/mixins/constructor.js +2 -0
  712. package/development/core/mixins/disabled-mixin.js +104 -0
  713. package/development/core/mixins/form-associated-checkbox-mixin.js +148 -0
  714. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  715. package/development/core/mixins/form-associated-input-mixin.js +294 -0
  716. package/development/core/mixins/form-associated-mixin.js +268 -0
  717. package/development/core/mixins/form-associated-radio-button-mixin.js +242 -0
  718. package/development/core/mixins/hydration-mixin.js +57 -0
  719. package/development/core/mixins/named-slot-list-mixin.js +136 -0
  720. package/development/core/mixins/negative-mixin.js +45 -0
  721. package/development/core/mixins/panel-mixin.js +87 -0
  722. package/development/core/mixins/required-mixin.js +48 -0
  723. package/development/core/mixins/update-scheduler-mixin.js +26 -0
  724. package/development/core/mixins.d.ts +3 -0
  725. package/development/core/mixins.d.ts.map +1 -1
  726. package/development/core/mixins.js +15 -1383
  727. package/development/core/overlay/overlay-option-panel.js +18 -0
  728. package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  729. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  730. package/development/core/overlay/overlay-trigger-attributes.js +47 -0
  731. package/development/core/overlay/overlay.js +15 -0
  732. package/development/core/overlay/position.d.ts +1 -1
  733. package/development/core/overlay/position.d.ts.map +1 -1
  734. package/development/core/overlay/position.js +84 -0
  735. package/development/core/overlay.d.ts +3 -0
  736. package/development/core/overlay.d.ts.map +1 -1
  737. package/development/core/overlay.js +5 -143
  738. package/development/core/testing/event-spy.js +70 -0
  739. package/development/core/testing/mocha-extensions.js +15 -0
  740. package/development/core/testing/scroll.d.ts +1 -0
  741. package/development/core/testing/scroll.d.ts.map +1 -1
  742. package/development/core/testing/scroll.js +8 -0
  743. package/development/core/testing/wait-for-condition.js +19 -0
  744. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
  745. package/development/core/testing/wait-for-image-ready.js +31 -0
  746. package/development/core/testing/wait-for-render.js +21 -0
  747. package/development/core/testing.d.ts +3 -0
  748. package/development/core/testing.d.ts.map +1 -1
  749. package/development/core/testing.js +7 -141
  750. package/development/date-input/date-input.d.ts.map +1 -1
  751. package/development/date-input/date-input.js +270 -0
  752. package/development/date-input.d.ts +3 -0
  753. package/development/date-input.d.ts.map +1 -1
  754. package/development/date-input.js +2 -264
  755. package/development/datepicker/common/datepicker-association-controllers.js +82 -0
  756. package/development/datepicker/common/datepicker-button.js +155 -0
  757. package/development/datepicker/common.d.ts +3 -0
  758. package/development/datepicker/common.d.ts.map +1 -1
  759. package/development/datepicker/common.js +3 -228
  760. package/development/datepicker/datepicker/datepicker.d.ts +4 -4
  761. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  762. package/development/datepicker/datepicker/datepicker.js +427 -0
  763. package/development/datepicker/datepicker-next-day/datepicker-next-day.js +150 -0
  764. package/development/datepicker/datepicker-next-day.d.ts +3 -0
  765. package/development/datepicker/datepicker-next-day.d.ts.map +1 -1
  766. package/development/datepicker/datepicker-next-day.js +2 -144
  767. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.js +150 -0
  768. package/development/datepicker/datepicker-previous-day.d.ts +3 -0
  769. package/development/datepicker/datepicker-previous-day.d.ts.map +1 -1
  770. package/development/datepicker/datepicker-previous-day.js +2 -144
  771. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
  772. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  773. package/development/datepicker/datepicker-toggle/datepicker-toggle.js +299 -0
  774. package/development/datepicker/datepicker-toggle.d.ts +3 -0
  775. package/development/datepicker/datepicker-toggle.d.ts.map +1 -1
  776. package/development/datepicker/datepicker-toggle.js +2 -304
  777. package/development/datepicker/datepicker.d.ts +3 -0
  778. package/development/datepicker/datepicker.d.ts.map +1 -1
  779. package/development/datepicker/datepicker.js +2 -415
  780. package/development/datepicker.d.ts +3 -0
  781. package/development/datepicker.d.ts.map +1 -1
  782. package/development/datepicker.js +18 -6
  783. package/development/dialog/dialog/dialog.d.ts +0 -1
  784. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  785. package/development/dialog/dialog/dialog.js +460 -0
  786. package/development/dialog/dialog-actions/dialog-actions.js +52 -0
  787. package/development/dialog/dialog-actions.d.ts +3 -0
  788. package/development/dialog/dialog-actions.d.ts.map +1 -1
  789. package/development/dialog/dialog-actions.js +2 -49
  790. package/development/dialog/dialog-content/dialog-content.js +78 -0
  791. package/development/dialog/dialog-content.d.ts +3 -0
  792. package/development/dialog/dialog-content.d.ts.map +1 -1
  793. package/development/dialog/dialog-content.js +2 -75
  794. package/development/dialog/dialog-title/dialog-title.d.ts +0 -1
  795. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  796. package/development/dialog/dialog-title/dialog-title.js +211 -0
  797. package/development/dialog/dialog-title.d.ts +3 -0
  798. package/development/dialog/dialog-title.d.ts.map +1 -1
  799. package/development/dialog/dialog-title.js +2 -211
  800. package/development/dialog/dialog.d.ts +3 -0
  801. package/development/dialog/dialog.d.ts.map +1 -1
  802. package/development/dialog/dialog.js +2 -465
  803. package/development/dialog.d.ts +3 -0
  804. package/development/dialog.d.ts.map +1 -1
  805. package/development/dialog.js +10 -4
  806. package/development/divider/divider.js +89 -0
  807. package/development/divider.d.ts +3 -0
  808. package/development/divider.d.ts.map +1 -1
  809. package/development/divider.js +2 -86
  810. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
  811. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  812. package/development/expansion-panel/expansion-panel/expansion-panel.js +434 -0
  813. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.js +69 -0
  814. package/development/expansion-panel/expansion-panel-content.d.ts +3 -0
  815. package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  816. package/development/expansion-panel/expansion-panel-content.js +2 -66
  817. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.js +173 -0
  818. package/development/expansion-panel/expansion-panel-header.d.ts +3 -0
  819. package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  820. package/development/expansion-panel/expansion-panel-header.js +2 -170
  821. package/development/expansion-panel/expansion-panel.d.ts +3 -0
  822. package/development/expansion-panel/expansion-panel.d.ts.map +1 -1
  823. package/development/expansion-panel/expansion-panel.js +2 -436
  824. package/development/expansion-panel.d.ts +3 -0
  825. package/development/expansion-panel.d.ts.map +1 -1
  826. package/development/expansion-panel.js +8 -3
  827. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  828. package/development/file-selector/common/file-selector-common.js +279 -0
  829. package/development/file-selector/common.d.ts +3 -0
  830. package/development/file-selector/common.d.ts.map +1 -1
  831. package/development/file-selector/common.js +4 -379
  832. package/development/file-selector/file-selector/file-selector.js +52 -0
  833. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.js +181 -0
  834. package/development/file-selector/file-selector-dropzone.d.ts +3 -0
  835. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -1
  836. package/development/file-selector/file-selector-dropzone.js +2 -178
  837. package/development/file-selector/file-selector.d.ts +3 -0
  838. package/development/file-selector/file-selector.d.ts.map +1 -1
  839. package/development/file-selector/file-selector.js +2 -49
  840. package/development/file-selector-common-csww18o8.js +105 -0
  841. package/development/file-selector.d.ts +3 -0
  842. package/development/file-selector.d.ts.map +1 -1
  843. package/development/file-selector.js +11 -4
  844. package/development/flip-card/flip-card/flip-card.js +320 -0
  845. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  846. package/development/flip-card/flip-card-details/flip-card-details.js +92 -0
  847. package/development/flip-card/flip-card-details.d.ts +3 -0
  848. package/development/flip-card/flip-card-details.d.ts.map +1 -1
  849. package/development/flip-card/flip-card-details.js +2 -89
  850. package/development/flip-card/flip-card-summary/flip-card-summary.js +148 -0
  851. package/development/flip-card/flip-card-summary.d.ts +3 -0
  852. package/development/flip-card/flip-card-summary.d.ts.map +1 -1
  853. package/development/flip-card/flip-card-summary.js +2 -145
  854. package/development/flip-card/flip-card.d.ts +3 -0
  855. package/development/flip-card/flip-card.d.ts.map +1 -1
  856. package/development/flip-card/flip-card.js +2 -317
  857. package/development/flip-card.d.ts +3 -0
  858. package/development/flip-card.d.ts.map +1 -1
  859. package/development/flip-card.js +8 -3
  860. package/development/footer/footer.js +276 -0
  861. package/development/footer.d.ts +3 -0
  862. package/development/footer.d.ts.map +1 -1
  863. package/development/footer.js +2 -273
  864. package/development/form-error/form-error.js +107 -0
  865. package/development/form-error.d.ts +3 -0
  866. package/development/form-error.d.ts.map +1 -1
  867. package/development/form-error.js +2 -104
  868. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  869. package/development/form-field/form-field/form-field.js +936 -0
  870. package/development/form-field/form-field-clear/form-field-clear.js +175 -0
  871. package/development/form-field/form-field-clear.d.ts +3 -0
  872. package/development/form-field/form-field-clear.d.ts.map +1 -1
  873. package/development/form-field/form-field-clear.js +2 -169
  874. package/development/form-field/form-field.d.ts +3 -0
  875. package/development/form-field/form-field.d.ts.map +1 -1
  876. package/development/form-field/form-field.js +2 -1062
  877. package/development/form-field.d.ts +3 -0
  878. package/development/form-field.d.ts.map +1 -1
  879. package/development/form-field.js +6 -2
  880. package/development/header/common/header-action-common.js +413 -0
  881. package/development/header/common.d.ts +3 -0
  882. package/development/header/common.d.ts.map +1 -1
  883. package/development/header/common.js +2 -410
  884. package/development/header/header/header.d.ts +6 -7
  885. package/development/header/header/header.d.ts.map +1 -1
  886. package/development/header/header/header.js +393 -0
  887. package/development/header/header-button/header-button.js +25 -0
  888. package/development/header/header-button.d.ts +3 -0
  889. package/development/header/header-button.d.ts.map +1 -1
  890. package/development/header/header-button.js +2 -22
  891. package/development/header/header-link/header-link.js +25 -0
  892. package/development/header/header-link.d.ts +3 -0
  893. package/development/header/header-link.d.ts.map +1 -1
  894. package/development/header/header-link.js +2 -22
  895. package/development/header/header.d.ts +3 -0
  896. package/development/header/header.d.ts.map +1 -1
  897. package/development/header/header.js +2 -379
  898. package/development/header.d.ts +3 -0
  899. package/development/header.d.ts.map +1 -1
  900. package/development/header.js +10 -4
  901. package/development/icon/icon-base.js +182 -0
  902. package/development/icon/icon-name-mixin.js +58 -0
  903. package/development/icon/icon-request.js +42 -0
  904. package/development/icon/icon-validate.js +47 -0
  905. package/development/icon/icon.js +118 -0
  906. package/development/icon-sidebar-button-common-CA_8TnFu.js +110 -0
  907. package/development/icon.d.ts +3 -0
  908. package/development/icon.d.ts.map +1 -1
  909. package/development/icon.js +6 -400
  910. package/development/image/image.js +682 -0
  911. package/development/image.d.ts +3 -0
  912. package/development/image.d.ts.map +1 -1
  913. package/development/image.js +2 -679
  914. package/development/journey-header/journey-header.js +192 -0
  915. package/development/journey-header.d.ts +3 -0
  916. package/development/journey-header.d.ts.map +1 -1
  917. package/development/journey-header.js +2 -189
  918. package/development/lead-container/lead-container.js +150 -0
  919. package/development/lead-container.d.ts +3 -0
  920. package/development/lead-container.d.ts.map +1 -1
  921. package/development/lead-container.js +2 -147
  922. package/development/link/block-link/block-link.js +26 -0
  923. package/development/link/block-link-button/block-link-button.js +26 -0
  924. package/development/link/block-link-button.d.ts +3 -0
  925. package/development/link/block-link-button.d.ts.map +1 -1
  926. package/development/link/block-link-button.js +2 -23
  927. package/development/link/block-link-static/block-link-static.js +26 -0
  928. package/development/link/block-link-static.d.ts +3 -0
  929. package/development/link/block-link-static.d.ts.map +1 -1
  930. package/development/link/block-link-static.js +2 -23
  931. package/development/link/block-link.d.ts +3 -0
  932. package/development/link/block-link.d.ts.map +1 -1
  933. package/development/link/block-link.js +2 -23
  934. package/development/link/common/block-link-common.js +132 -0
  935. package/development/link/common/inline-link-common.js +45 -0
  936. package/development/link/common/link-common.js +11 -0
  937. package/development/link/common.d.ts +3 -0
  938. package/development/link/common.d.ts.map +1 -1
  939. package/development/link/common.js +5 -279
  940. package/development/link/link/link.js +26 -0
  941. package/development/link/link-button/link-button.js +26 -0
  942. package/development/link/link-button.d.ts +3 -0
  943. package/development/link/link-button.d.ts.map +1 -1
  944. package/development/link/link-button.js +2 -23
  945. package/development/link/link-static/link-static.js +26 -0
  946. package/development/link/link-static.d.ts +3 -0
  947. package/development/link/link-static.d.ts.map +1 -1
  948. package/development/link/link-static.js +2 -23
  949. package/development/link/link.d.ts +3 -0
  950. package/development/link/link.d.ts.map +1 -1
  951. package/development/link/link.js +2 -23
  952. package/development/link-common-CJEWffDZ.js +127 -0
  953. package/development/link-list/common/link-list-base.js +121 -0
  954. package/development/link-list/common.d.ts +3 -0
  955. package/development/link-list/common.d.ts.map +1 -1
  956. package/development/link-list/common.js +4 -141
  957. package/development/link-list/link-list/link-list.js +206 -0
  958. package/development/link-list/link-list-anchor/link-list-anchor.js +72 -0
  959. package/development/link-list/link-list-anchor.d.ts +3 -0
  960. package/development/link-list/link-list-anchor.d.ts.map +1 -1
  961. package/development/link-list/link-list-anchor.js +2 -69
  962. package/development/link-list/link-list.d.ts +3 -0
  963. package/development/link-list/link-list.d.ts.map +1 -1
  964. package/development/link-list/link-list.js +2 -203
  965. package/development/link-list-base-DC9sc7q5.js +27 -0
  966. package/development/link-list.d.ts +3 -0
  967. package/development/link-list.d.ts.map +1 -1
  968. package/development/link-list.js +11 -4
  969. package/development/link.d.ts +3 -0
  970. package/development/link.d.ts.map +1 -1
  971. package/development/link.js +21 -8
  972. package/development/loading-indicator/loading-indicator.js +260 -0
  973. package/development/loading-indicator-circle/loading-indicator-circle.js +146 -0
  974. package/development/loading-indicator-circle.d.ts +3 -0
  975. package/development/loading-indicator-circle.d.ts.map +1 -1
  976. package/development/loading-indicator-circle.js +2 -143
  977. package/development/loading-indicator.d.ts +3 -0
  978. package/development/loading-indicator.d.ts.map +1 -1
  979. package/development/loading-indicator.js +2 -257
  980. package/development/logo/logo.js +157 -0
  981. package/development/logo.d.ts +3 -0
  982. package/development/logo.d.ts.map +1 -1
  983. package/development/logo.js +2 -154
  984. package/development/map-container/map-container.js +285 -0
  985. package/development/map-container.d.ts +3 -0
  986. package/development/map-container.d.ts.map +1 -1
  987. package/development/map-container.js +2 -282
  988. package/development/menu/common/menu-action-common.js +203 -0
  989. package/development/menu/common.d.ts +3 -0
  990. package/development/menu/common.d.ts.map +1 -1
  991. package/development/menu/common.js +2 -200
  992. package/development/menu/menu/menu.d.ts +8 -10
  993. package/development/menu/menu/menu.d.ts.map +1 -1
  994. package/development/menu/menu/menu.js +573 -0
  995. package/development/menu/menu-button/menu-button.js +26 -0
  996. package/development/menu/menu-button.d.ts +3 -0
  997. package/development/menu/menu-button.d.ts.map +1 -1
  998. package/development/menu/menu-button.js +2 -23
  999. package/development/menu/menu-link/menu-link.js +26 -0
  1000. package/development/menu/menu-link.d.ts +3 -0
  1001. package/development/menu/menu-link.d.ts.map +1 -1
  1002. package/development/menu/menu-link.js +2 -23
  1003. package/development/menu/menu.d.ts +3 -0
  1004. package/development/menu/menu.d.ts.map +1 -1
  1005. package/development/menu/menu.js +2 -580
  1006. package/development/menu.d.ts +3 -0
  1007. package/development/menu.d.ts.map +1 -1
  1008. package/development/menu.js +10 -4
  1009. package/development/message/message.js +139 -0
  1010. package/development/message.d.ts +3 -0
  1011. package/development/message.d.ts.map +1 -1
  1012. package/development/message.js +2 -136
  1013. package/development/navigation/common/navigation-action-common.js +175 -0
  1014. package/development/navigation/common.d.ts +3 -0
  1015. package/development/navigation/common.d.ts.map +1 -1
  1016. package/development/navigation/common.js +2 -172
  1017. package/development/navigation/navigation/navigation.d.ts +19 -25
  1018. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  1019. package/development/navigation/navigation/navigation.js +597 -0
  1020. package/development/navigation/navigation-button/navigation-button.js +25 -0
  1021. package/development/navigation/navigation-button.d.ts +3 -0
  1022. package/development/navigation/navigation-button.d.ts.map +1 -1
  1023. package/development/navigation/navigation-button.js +2 -22
  1024. package/development/navigation/navigation-link/navigation-link.js +25 -0
  1025. package/development/navigation/navigation-link.d.ts +3 -0
  1026. package/development/navigation/navigation-link.d.ts.map +1 -1
  1027. package/development/navigation/navigation-link.js +2 -22
  1028. package/development/navigation/navigation-list/navigation-list.js +113 -0
  1029. package/development/navigation/navigation-list.d.ts +3 -0
  1030. package/development/navigation/navigation-list.d.ts.map +1 -1
  1031. package/development/navigation/navigation-list.js +2 -110
  1032. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  1033. package/development/navigation/navigation-marker/navigation-marker.js +215 -0
  1034. package/development/navigation/navigation-marker.d.ts +3 -0
  1035. package/development/navigation/navigation-marker.d.ts.map +1 -1
  1036. package/development/navigation/navigation-marker.js +2 -212
  1037. package/development/navigation/navigation-section/navigation-section.d.ts +11 -14
  1038. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  1039. package/development/navigation/navigation-section/navigation-section.js +622 -0
  1040. package/development/navigation/navigation-section.d.ts +3 -0
  1041. package/development/navigation/navigation-section.d.ts.map +1 -1
  1042. package/development/navigation/navigation-section.js +2 -629
  1043. package/development/navigation/navigation.d.ts +3 -0
  1044. package/development/navigation/navigation.d.ts.map +1 -1
  1045. package/development/navigation/navigation.js +2 -606
  1046. package/development/navigation.d.ts +3 -0
  1047. package/development/navigation.d.ts.map +1 -1
  1048. package/development/navigation.js +16 -7
  1049. package/development/notification/notification.js +527 -0
  1050. package/development/notification.d.ts +3 -0
  1051. package/development/notification.d.ts.map +1 -1
  1052. package/development/notification.js +2 -524
  1053. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  1054. package/development/option/optgroup/optgroup-base-element.js +247 -0
  1055. package/development/option/optgroup/optgroup.d.ts +2 -2
  1056. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  1057. package/development/option/optgroup/optgroup.js +50 -0
  1058. package/development/option/optgroup.d.ts +3 -0
  1059. package/development/option/optgroup.d.ts.map +1 -1
  1060. package/development/option/optgroup.js +3 -287
  1061. package/development/option/option/option-base-element.d.ts.map +1 -1
  1062. package/development/option/option/option-base-element.js +320 -0
  1063. package/development/option/option/option.js +264 -0
  1064. package/development/option/option.d.ts +3 -0
  1065. package/development/option/option.d.ts.map +1 -1
  1066. package/development/option/option.js +3 -571
  1067. package/development/option.d.ts +3 -0
  1068. package/development/option.d.ts.map +1 -1
  1069. package/development/option.js +11 -3
  1070. package/development/overlay/overlay-base-element.d.ts +7 -3
  1071. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  1072. package/development/overlay/overlay-base-element.js +144 -0
  1073. package/development/overlay/overlay.d.ts +0 -1
  1074. package/development/overlay/overlay.d.ts.map +1 -1
  1075. package/development/overlay/overlay.js +424 -0
  1076. package/development/overlay.d.ts +3 -0
  1077. package/development/overlay.d.ts.map +1 -1
  1078. package/development/overlay.js +3 -549
  1079. package/development/paginator/common/paginator-common.js +193 -0
  1080. package/development/paginator/common.d.ts +3 -0
  1081. package/development/paginator/common.d.ts.map +1 -1
  1082. package/development/paginator/common.js +2 -190
  1083. package/development/paginator/compact-paginator/compact-paginator.js +96 -0
  1084. package/development/paginator/compact-paginator.d.ts +3 -0
  1085. package/development/paginator/compact-paginator.d.ts.map +1 -1
  1086. package/development/paginator/compact-paginator.js +2 -93
  1087. package/development/paginator/paginator/paginator.js +452 -0
  1088. package/development/paginator/paginator.d.ts +3 -0
  1089. package/development/paginator/paginator.d.ts.map +1 -1
  1090. package/development/paginator/paginator.js +2 -438
  1091. package/development/paginator.d.ts +3 -0
  1092. package/development/paginator.d.ts.map +1 -1
  1093. package/development/paginator.js +8 -3
  1094. package/development/popover/popover/popover.d.ts +9 -8
  1095. package/development/popover/popover/popover.d.ts.map +1 -1
  1096. package/development/popover/popover/popover.js +592 -0
  1097. package/development/popover/popover-trigger/popover-trigger.js +213 -0
  1098. package/development/popover/popover-trigger.d.ts +3 -0
  1099. package/development/popover/popover-trigger.d.ts.map +1 -1
  1100. package/development/popover/popover-trigger.js +2 -212
  1101. package/development/popover/popover.d.ts +3 -0
  1102. package/development/popover/popover.d.ts.map +1 -1
  1103. package/development/popover/popover.js +2 -604
  1104. package/development/popover.d.ts +3 -0
  1105. package/development/popover.d.ts.map +1 -1
  1106. package/development/popover.js +6 -2
  1107. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  1108. package/development/radio-button/common/radio-button-common.js +93 -0
  1109. package/development/radio-button/common.d.ts +3 -0
  1110. package/development/radio-button/common.d.ts.map +1 -1
  1111. package/development/radio-button/common.js +4 -228
  1112. package/development/radio-button/radio-button/radio-button.js +90 -0
  1113. package/development/radio-button/radio-button-group/radio-button-group.js +387 -0
  1114. package/development/radio-button/radio-button-group.d.ts +3 -0
  1115. package/development/radio-button/radio-button-group.d.ts.map +1 -1
  1116. package/development/radio-button/radio-button-group.js +2 -384
  1117. package/development/radio-button/radio-button-panel/radio-button-panel.js +122 -0
  1118. package/development/radio-button/radio-button-panel.d.ts +3 -0
  1119. package/development/radio-button/radio-button-panel.d.ts.map +1 -1
  1120. package/development/radio-button/radio-button-panel.js +2 -119
  1121. package/development/radio-button/radio-button.d.ts +3 -0
  1122. package/development/radio-button/radio-button.d.ts.map +1 -1
  1123. package/development/radio-button/radio-button.js +2 -87
  1124. package/development/radio-button-common-hZiiLJDY.js +139 -0
  1125. package/development/radio-button.d.ts +3 -0
  1126. package/development/radio-button.d.ts.map +1 -1
  1127. package/development/radio-button.js +13 -5
  1128. package/development/{sbb-tokens-CSAKTXUi.js → sbb-tokens-CVLcOi-S.js} +10 -10
  1129. package/development/screen-reader-only/screen-reader-only.js +37 -0
  1130. package/development/screen-reader-only.d.ts +3 -0
  1131. package/development/screen-reader-only.d.ts.map +1 -1
  1132. package/development/screen-reader-only.js +2 -34
  1133. package/development/select/select.d.ts +1 -1
  1134. package/development/select/select.d.ts.map +1 -1
  1135. package/development/select/select.js +1048 -0
  1136. package/development/select.d.ts +3 -0
  1137. package/development/select.d.ts.map +1 -1
  1138. package/development/select.js +2 -1045
  1139. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
  1140. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  1141. package/development/selection-expansion-panel/selection-expansion-panel.js +400 -0
  1142. package/development/selection-expansion-panel.d.ts +3 -0
  1143. package/development/selection-expansion-panel.d.ts.map +1 -1
  1144. package/development/selection-expansion-panel.js +2 -402
  1145. package/development/sidebar/common.d.ts +3 -0
  1146. package/development/sidebar/common.d.ts.map +1 -1
  1147. package/development/sidebar/common.js +5 -112
  1148. package/development/sidebar/icon-sidebar/icon-sidebar.js +85 -0
  1149. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.js +28 -0
  1150. package/development/sidebar/icon-sidebar-button.d.ts +3 -0
  1151. package/development/sidebar/icon-sidebar-button.d.ts.map +1 -1
  1152. package/development/sidebar/icon-sidebar-button.js +2 -25
  1153. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.js +45 -0
  1154. package/development/sidebar/icon-sidebar-container.d.ts +3 -0
  1155. package/development/sidebar/icon-sidebar-container.d.ts.map +1 -1
  1156. package/development/sidebar/icon-sidebar-container.js +2 -42
  1157. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.js +34 -0
  1158. package/development/sidebar/icon-sidebar-content.d.ts +3 -0
  1159. package/development/sidebar/icon-sidebar-content.d.ts.map +1 -1
  1160. package/development/sidebar/icon-sidebar-content.js +2 -31
  1161. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.js +28 -0
  1162. package/development/sidebar/icon-sidebar-link.d.ts +3 -0
  1163. package/development/sidebar/icon-sidebar-link.d.ts.map +1 -1
  1164. package/development/sidebar/icon-sidebar-link.js +2 -25
  1165. package/development/sidebar/icon-sidebar.d.ts +3 -0
  1166. package/development/sidebar/icon-sidebar.d.ts.map +1 -1
  1167. package/development/sidebar/icon-sidebar.js +2 -82
  1168. package/development/sidebar/sidebar/sidebar.d.ts +1 -7
  1169. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
  1170. package/development/sidebar/sidebar/sidebar.js +485 -0
  1171. package/development/sidebar/sidebar-close-button/sidebar-close-button.js +55 -0
  1172. package/development/sidebar/sidebar-close-button.d.ts +3 -0
  1173. package/development/sidebar/sidebar-close-button.d.ts.map +1 -1
  1174. package/development/sidebar/sidebar-close-button.js +2 -52
  1175. package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
  1176. package/development/sidebar/sidebar-container/sidebar-container.js +156 -0
  1177. package/development/sidebar/sidebar-container.d.ts +3 -0
  1178. package/development/sidebar/sidebar-container.d.ts.map +1 -1
  1179. package/development/sidebar/sidebar-container.js +2 -150
  1180. package/development/sidebar/sidebar-content/sidebar-content.js +37 -0
  1181. package/development/sidebar/sidebar-content.d.ts +3 -0
  1182. package/development/sidebar/sidebar-content.d.ts.map +1 -1
  1183. package/development/sidebar/sidebar-content.js +2 -34
  1184. package/development/sidebar/sidebar-title/sidebar-title.js +63 -0
  1185. package/development/sidebar/sidebar-title.d.ts +3 -0
  1186. package/development/sidebar/sidebar-title.d.ts.map +1 -1
  1187. package/development/sidebar/sidebar-title.js +2 -60
  1188. package/development/sidebar/sidebar.d.ts +3 -0
  1189. package/development/sidebar/sidebar.d.ts.map +1 -1
  1190. package/development/sidebar/sidebar.js +2 -520
  1191. package/development/sidebar.d.ts +3 -0
  1192. package/development/sidebar.d.ts.map +1 -1
  1193. package/development/sidebar.js +26 -11
  1194. package/development/signet/signet.js +162 -0
  1195. package/development/signet.d.ts +3 -0
  1196. package/development/signet.d.ts.map +1 -1
  1197. package/development/signet.js +2 -159
  1198. package/development/skiplink-list/skiplink-list.js +144 -0
  1199. package/development/skiplink-list.d.ts +3 -0
  1200. package/development/skiplink-list.d.ts.map +1 -1
  1201. package/development/skiplink-list.js +2 -141
  1202. package/development/slider/slider.js +451 -0
  1203. package/development/slider.d.ts +3 -0
  1204. package/development/slider.d.ts.map +1 -1
  1205. package/development/slider.js +2 -448
  1206. package/development/status/status.d.ts +4 -0
  1207. package/development/status/status.d.ts.map +1 -1
  1208. package/development/status/status.js +198 -0
  1209. package/development/status.d.ts +3 -0
  1210. package/development/status.d.ts.map +1 -1
  1211. package/development/status.js +2 -220
  1212. package/development/stepper/step/step.d.ts +15 -1
  1213. package/development/stepper/step/step.d.ts.map +1 -1
  1214. package/development/stepper/step/step.js +218 -0
  1215. package/development/stepper/step-label/step-label.js +276 -0
  1216. package/development/stepper/step-label.d.ts +3 -0
  1217. package/development/stepper/step-label.d.ts.map +1 -1
  1218. package/development/stepper/step-label.js +2 -273
  1219. package/development/stepper/step.d.ts +3 -0
  1220. package/development/stepper/step.d.ts.map +1 -1
  1221. package/development/stepper/step.js +2 -195
  1222. package/development/stepper/stepper/stepper.d.ts +1 -0
  1223. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  1224. package/development/stepper/stepper/stepper.js +449 -0
  1225. package/development/stepper/stepper.d.ts +3 -0
  1226. package/development/stepper/stepper.d.ts.map +1 -1
  1227. package/development/stepper/stepper.js +2 -442
  1228. package/development/stepper.d.ts +3 -0
  1229. package/development/stepper.d.ts.map +1 -1
  1230. package/development/stepper.js +8 -3
  1231. package/development/table/table-wrapper/table-wrapper.d.ts +6 -1
  1232. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  1233. package/development/table/table-wrapper/table-wrapper.js +128 -0
  1234. package/development/table/table-wrapper.d.ts +3 -0
  1235. package/development/table/table-wrapper.d.ts.map +1 -1
  1236. package/development/table/table-wrapper.js +2 -103
  1237. package/development/table.d.ts +3 -0
  1238. package/development/table.d.ts.map +1 -1
  1239. package/development/table.js +4 -1
  1240. package/development/tabs/tab/tab.js +66 -0
  1241. package/development/tabs/tab-group/tab-group.js +391 -0
  1242. package/development/tabs/tab-group.d.ts +3 -0
  1243. package/development/tabs/tab-group.d.ts.map +1 -1
  1244. package/development/tabs/tab-group.js +2 -388
  1245. package/development/tabs/tab-label/tab-label.js +316 -0
  1246. package/development/tabs/tab-label.d.ts +3 -0
  1247. package/development/tabs/tab-label.d.ts.map +1 -1
  1248. package/development/tabs/tab-label.js +2 -312
  1249. package/development/tabs/tab.d.ts +3 -0
  1250. package/development/tabs/tab.d.ts.map +1 -1
  1251. package/development/tabs/tab.js +2 -63
  1252. package/development/tabs.d.ts +3 -0
  1253. package/development/tabs.d.ts.map +1 -1
  1254. package/development/tabs.js +8 -3
  1255. package/development/tag/tag/tag.js +351 -0
  1256. package/development/tag/tag-group/tag-group.js +192 -0
  1257. package/development/tag/tag-group.d.ts +3 -0
  1258. package/development/tag/tag-group.d.ts.map +1 -1
  1259. package/development/tag/tag-group.js +2 -189
  1260. package/development/tag/tag.d.ts +3 -0
  1261. package/development/tag/tag.d.ts.map +1 -1
  1262. package/development/tag/tag.js +2 -348
  1263. package/development/tag.d.ts +3 -0
  1264. package/development/tag.d.ts.map +1 -1
  1265. package/development/tag.js +6 -2
  1266. package/development/teaser/teaser.js +260 -0
  1267. package/development/teaser-hero/teaser-hero.js +180 -0
  1268. package/development/teaser-hero.d.ts +3 -0
  1269. package/development/teaser-hero.d.ts.map +1 -1
  1270. package/development/teaser-hero.js +2 -177
  1271. package/development/teaser-product/common/teaser-product-common.js +73 -0
  1272. package/development/teaser-product/common.d.ts +3 -0
  1273. package/development/teaser-product/common.d.ts.map +1 -1
  1274. package/development/teaser-product/common.js +4 -214
  1275. package/development/teaser-product/teaser-product/teaser-product.js +71 -0
  1276. package/development/teaser-product/teaser-product-static/teaser-product-static.js +24 -0
  1277. package/development/teaser-product/teaser-product-static.d.ts +3 -0
  1278. package/development/teaser-product/teaser-product-static.d.ts.map +1 -1
  1279. package/development/teaser-product/teaser-product-static.js +2 -21
  1280. package/development/teaser-product/teaser-product.d.ts +3 -0
  1281. package/development/teaser-product/teaser-product.d.ts.map +1 -1
  1282. package/development/teaser-product/teaser-product.js +2 -68
  1283. package/development/teaser-product-common-D6fa6x3w.js +148 -0
  1284. package/development/teaser-product.d.ts +3 -0
  1285. package/development/teaser-product.d.ts.map +1 -1
  1286. package/development/teaser-product.js +11 -4
  1287. package/development/teaser.d.ts +3 -0
  1288. package/development/teaser.d.ts.map +1 -1
  1289. package/development/teaser.js +2 -257
  1290. package/development/time-input/time-input.d.ts +6 -8
  1291. package/development/time-input/time-input.d.ts.map +1 -1
  1292. package/development/time-input/time-input.js +276 -0
  1293. package/development/time-input.d.ts +3 -0
  1294. package/development/time-input.d.ts.map +1 -1
  1295. package/development/time-input.js +2 -275
  1296. package/development/timetable-occupancy/timetable-occupancy.js +151 -0
  1297. package/development/timetable-occupancy-icon/timetable-occupancy-icon.js +98 -0
  1298. package/development/timetable-occupancy-icon.d.ts +3 -0
  1299. package/development/timetable-occupancy-icon.d.ts.map +1 -1
  1300. package/development/timetable-occupancy-icon.js +2 -95
  1301. package/development/timetable-occupancy.d.ts +3 -0
  1302. package/development/timetable-occupancy.d.ts.map +1 -1
  1303. package/development/timetable-occupancy.js +2 -148
  1304. package/development/title/title-base.js +212 -0
  1305. package/development/title/title.js +60 -0
  1306. package/development/title.d.ts +3 -0
  1307. package/development/title.d.ts.map +1 -1
  1308. package/development/title.js +3 -261
  1309. package/development/toast/toast.js +443 -0
  1310. package/development/toast.d.ts +3 -0
  1311. package/development/toast.d.ts.map +1 -1
  1312. package/development/toast.js +2 -440
  1313. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  1314. package/development/toggle/toggle/toggle.js +342 -0
  1315. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  1316. package/development/toggle/toggle-option/toggle-option.js +208 -0
  1317. package/development/toggle/toggle-option.d.ts +3 -0
  1318. package/development/toggle/toggle-option.d.ts.map +1 -1
  1319. package/development/toggle/toggle-option.js +2 -217
  1320. package/development/toggle/toggle.d.ts +3 -0
  1321. package/development/toggle/toggle.d.ts.map +1 -1
  1322. package/development/toggle/toggle.js +2 -340
  1323. package/development/toggle-check/toggle-check.js +284 -0
  1324. package/development/toggle-check.d.ts +3 -0
  1325. package/development/toggle-check.d.ts.map +1 -1
  1326. package/development/toggle-check.js +2 -281
  1327. package/development/toggle.d.ts +3 -0
  1328. package/development/toggle.d.ts.map +1 -1
  1329. package/development/toggle.js +6 -2
  1330. package/development/train/train/train.js +245 -0
  1331. package/development/train/train-blocked-passage/train-blocked-passage.js +87 -0
  1332. package/development/train/train-blocked-passage.d.ts +3 -0
  1333. package/development/train/train-blocked-passage.d.ts.map +1 -1
  1334. package/development/train/train-blocked-passage.js +2 -84
  1335. package/development/train/train-formation/train-formation.js +269 -0
  1336. package/development/train/train-formation.d.ts +3 -0
  1337. package/development/train/train-formation.d.ts.map +1 -1
  1338. package/development/train/train-formation.js +2 -266
  1339. package/development/train/train-wagon/train-wagon.js +415 -0
  1340. package/development/train/train-wagon.d.ts +3 -0
  1341. package/development/train/train-wagon.d.ts.map +1 -1
  1342. package/development/train/train-wagon.js +2 -412
  1343. package/development/train/train.d.ts +3 -0
  1344. package/development/train/train.d.ts.map +1 -1
  1345. package/development/train/train.js +2 -242
  1346. package/development/train.d.ts +3 -0
  1347. package/development/train.d.ts.map +1 -1
  1348. package/development/train.js +10 -4
  1349. package/development/transparent-button-Ddb_s0a0.js +338 -0
  1350. package/development/visual-checkbox/visual-checkbox.js +221 -0
  1351. package/development/visual-checkbox.d.ts +3 -0
  1352. package/development/visual-checkbox.d.ts.map +1 -1
  1353. package/development/visual-checkbox.js +2 -218
  1354. package/dialog/dialog/dialog.d.ts +0 -1
  1355. package/dialog/dialog/dialog.d.ts.map +1 -1
  1356. package/dialog/dialog/dialog.js +142 -0
  1357. package/dialog/dialog-actions/dialog-actions.js +20 -0
  1358. package/dialog/dialog-actions.d.ts +3 -0
  1359. package/dialog/dialog-actions.d.ts.map +1 -1
  1360. package/dialog/dialog-actions.js +2 -18
  1361. package/dialog/dialog-content/dialog-content.js +24 -0
  1362. package/dialog/dialog-content.d.ts +3 -0
  1363. package/dialog/dialog-content.d.ts.map +1 -1
  1364. package/dialog/dialog-content.js +2 -22
  1365. package/dialog/dialog-title/dialog-title.d.ts +0 -1
  1366. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  1367. package/dialog/dialog-title/dialog-title.js +116 -0
  1368. package/dialog/dialog-title.d.ts +3 -0
  1369. package/dialog/dialog-title.d.ts.map +1 -1
  1370. package/dialog/dialog-title.js +2 -117
  1371. package/dialog/dialog.d.ts +3 -0
  1372. package/dialog/dialog.d.ts.map +1 -1
  1373. package/dialog/dialog.js +2 -146
  1374. package/dialog.d.ts +3 -0
  1375. package/dialog.d.ts.map +1 -1
  1376. package/dialog.js +10 -4
  1377. package/divider/divider.js +45 -0
  1378. package/divider.d.ts +3 -0
  1379. package/divider.d.ts.map +1 -1
  1380. package/divider.js +2 -43
  1381. package/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
  1382. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  1383. package/expansion-panel/expansion-panel/expansion-panel.js +165 -0
  1384. package/expansion-panel/expansion-panel-content/expansion-panel-content.js +27 -0
  1385. package/expansion-panel/expansion-panel-content.d.ts +3 -0
  1386. package/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  1387. package/expansion-panel/expansion-panel-content.js +2 -25
  1388. package/expansion-panel/expansion-panel-header/expansion-panel-header.js +65 -0
  1389. package/expansion-panel/expansion-panel-header.d.ts +3 -0
  1390. package/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  1391. package/expansion-panel/expansion-panel-header.js +2 -63
  1392. package/expansion-panel/expansion-panel.d.ts +3 -0
  1393. package/expansion-panel/expansion-panel.d.ts.map +1 -1
  1394. package/expansion-panel/expansion-panel.js +2 -166
  1395. package/expansion-panel.d.ts +3 -0
  1396. package/expansion-panel.d.ts.map +1 -1
  1397. package/expansion-panel.js +8 -3
  1398. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  1399. package/file-selector/common/file-selector-common.js +209 -0
  1400. package/file-selector/common.d.ts +3 -0
  1401. package/file-selector/common.d.ts.map +1 -1
  1402. package/file-selector/common.js +4 -208
  1403. package/file-selector/file-selector/file-selector.js +44 -0
  1404. package/file-selector/file-selector-dropzone/file-selector-dropzone.js +97 -0
  1405. package/file-selector/file-selector-dropzone.d.ts +3 -0
  1406. package/file-selector/file-selector-dropzone.d.ts.map +1 -1
  1407. package/file-selector/file-selector-dropzone.js +2 -95
  1408. package/file-selector/file-selector.d.ts +3 -0
  1409. package/file-selector/file-selector.d.ts.map +1 -1
  1410. package/file-selector/file-selector.js +2 -42
  1411. package/file-selector-common-Dw5d8vA4.js +5 -0
  1412. package/file-selector.d.ts +3 -0
  1413. package/file-selector.d.ts.map +1 -1
  1414. package/file-selector.js +10 -3
  1415. package/flip-card/flip-card/flip-card.js +122 -0
  1416. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  1417. package/flip-card/flip-card-details/flip-card-details.js +45 -0
  1418. package/flip-card/flip-card-details.d.ts +3 -0
  1419. package/flip-card/flip-card-details.d.ts.map +1 -1
  1420. package/flip-card/flip-card-details.js +2 -43
  1421. package/flip-card/flip-card-summary/flip-card-summary.js +52 -0
  1422. package/flip-card/flip-card-summary.d.ts +3 -0
  1423. package/flip-card/flip-card-summary.d.ts.map +1 -1
  1424. package/flip-card/flip-card-summary.js +2 -50
  1425. package/flip-card/flip-card.d.ts +3 -0
  1426. package/flip-card/flip-card.d.ts.map +1 -1
  1427. package/flip-card/flip-card.js +2 -120
  1428. package/flip-card.d.ts +3 -0
  1429. package/flip-card.d.ts.map +1 -1
  1430. package/flip-card.js +8 -3
  1431. package/footer/footer.js +87 -0
  1432. package/footer.d.ts +3 -0
  1433. package/footer.d.ts.map +1 -1
  1434. package/footer.js +2 -85
  1435. package/form-error/form-error.js +47 -0
  1436. package/form-error.d.ts +3 -0
  1437. package/form-error.d.ts.map +1 -1
  1438. package/form-error.js +2 -45
  1439. package/form-field/form-field/form-field.d.ts.map +1 -1
  1440. package/form-field/form-field/form-field.js +363 -0
  1441. package/form-field/form-field-clear/form-field-clear.js +42 -0
  1442. package/form-field/form-field-clear.d.ts +3 -0
  1443. package/form-field/form-field-clear.d.ts.map +1 -1
  1444. package/form-field/form-field-clear.js +2 -40
  1445. package/form-field/form-field.d.ts +3 -0
  1446. package/form-field/form-field.d.ts.map +1 -1
  1447. package/form-field/form-field.js +2 -356
  1448. package/form-field.d.ts +3 -0
  1449. package/form-field.d.ts.map +1 -1
  1450. package/form-field.js +6 -2
  1451. package/header/common/header-action-common.js +50 -0
  1452. package/header/common.d.ts +3 -0
  1453. package/header/common.d.ts.map +1 -1
  1454. package/header/common.js +2 -48
  1455. package/header/header/header.d.ts +6 -7
  1456. package/header/header/header.d.ts.map +1 -1
  1457. package/header/header/header.js +151 -0
  1458. package/header/header-button/header-button.js +16 -0
  1459. package/header/header-button.d.ts +3 -0
  1460. package/header/header-button.d.ts.map +1 -1
  1461. package/header/header-button.js +2 -14
  1462. package/header/header-link/header-link.js +16 -0
  1463. package/header/header-link.d.ts +3 -0
  1464. package/header/header-link.d.ts.map +1 -1
  1465. package/header/header-link.js +2 -14
  1466. package/header/header.d.ts +3 -0
  1467. package/header/header.d.ts.map +1 -1
  1468. package/header/header.js +2 -147
  1469. package/header.d.ts +3 -0
  1470. package/header.d.ts.map +1 -1
  1471. package/header.js +10 -4
  1472. package/icon/icon-base.js +109 -0
  1473. package/icon/icon-name-mixin.js +47 -0
  1474. package/icon/icon-request.js +31 -0
  1475. package/icon/icon-validate.js +26 -0
  1476. package/icon/icon.js +77 -0
  1477. package/icon-sidebar-button-common-DG8bnrBu.js +7 -0
  1478. package/icon.d.ts +3 -0
  1479. package/icon.d.ts.map +1 -1
  1480. package/icon.js +11 -254
  1481. package/image/image.js +469 -0
  1482. package/image.d.ts +3 -0
  1483. package/image.d.ts.map +1 -1
  1484. package/image.js +2 -467
  1485. package/index.d.ts +188 -182
  1486. package/index.js +188 -182
  1487. package/journey-header/journey-header.js +119 -0
  1488. package/journey-header.d.ts +3 -0
  1489. package/journey-header.d.ts.map +1 -1
  1490. package/journey-header.js +2 -117
  1491. package/lead-container/lead-container.js +31 -0
  1492. package/lead-container.d.ts +3 -0
  1493. package/lead-container.d.ts.map +1 -1
  1494. package/lead-container.js +2 -29
  1495. package/link/block-link/block-link.js +17 -0
  1496. package/link/block-link-button/block-link-button.js +17 -0
  1497. package/link/block-link-button.d.ts +3 -0
  1498. package/link/block-link-button.d.ts.map +1 -1
  1499. package/link/block-link-button.js +2 -15
  1500. package/link/block-link-static/block-link-static.js +17 -0
  1501. package/link/block-link-static.d.ts +3 -0
  1502. package/link/block-link-static.d.ts.map +1 -1
  1503. package/link/block-link-static.js +2 -15
  1504. package/link/block-link.d.ts +3 -0
  1505. package/link/block-link.d.ts.map +1 -1
  1506. package/link/block-link.js +2 -15
  1507. package/link/common/block-link-common.js +43 -0
  1508. package/link/common/inline-link-common.js +12 -0
  1509. package/link/common/link-common.js +10 -0
  1510. package/link/common.d.ts +3 -0
  1511. package/link/common.d.ts.map +1 -1
  1512. package/link/common.js +6 -80
  1513. package/link/link/link.js +17 -0
  1514. package/link/link-button/link-button.js +17 -0
  1515. package/link/link-button.d.ts +3 -0
  1516. package/link/link-button.d.ts.map +1 -1
  1517. package/link/link-button.js +2 -15
  1518. package/link/link-static/link-static.js +17 -0
  1519. package/link/link-static.d.ts +3 -0
  1520. package/link/link-static.d.ts.map +1 -1
  1521. package/link/link-static.js +2 -15
  1522. package/link/link.d.ts +3 -0
  1523. package/link/link.d.ts.map +1 -1
  1524. package/link/link.js +2 -15
  1525. package/link-common-DZrQ-32d.js +46 -0
  1526. package/link-list/common/link-list-base.js +87 -0
  1527. package/link-list/common.d.ts +3 -0
  1528. package/link-list/common.d.ts.map +1 -1
  1529. package/link-list/common.js +4 -87
  1530. package/link-list/link-list/link-list.js +46 -0
  1531. package/link-list/link-list-anchor/link-list-anchor.js +17 -0
  1532. package/link-list/link-list-anchor.d.ts +3 -0
  1533. package/link-list/link-list-anchor.d.ts.map +1 -1
  1534. package/link-list/link-list-anchor.js +2 -15
  1535. package/link-list/link-list.d.ts +3 -0
  1536. package/link-list/link-list.d.ts.map +1 -1
  1537. package/link-list/link-list.js +2 -44
  1538. package/link-list-base-BdOBGhxe.js +5 -0
  1539. package/link-list.d.ts +3 -0
  1540. package/link-list.d.ts.map +1 -1
  1541. package/link-list.js +10 -3
  1542. package/link.d.ts +3 -0
  1543. package/link.d.ts.map +1 -1
  1544. package/link.js +20 -7
  1545. package/loading-indicator/loading-indicator.js +66 -0
  1546. package/loading-indicator-circle/loading-indicator-circle.js +46 -0
  1547. package/loading-indicator-circle.d.ts +3 -0
  1548. package/loading-indicator-circle.d.ts.map +1 -1
  1549. package/loading-indicator-circle.js +2 -44
  1550. package/loading-indicator.d.ts +3 -0
  1551. package/loading-indicator.d.ts.map +1 -1
  1552. package/loading-indicator.js +2 -64
  1553. package/logo/logo.js +67 -0
  1554. package/logo.d.ts +3 -0
  1555. package/logo.d.ts.map +1 -1
  1556. package/logo.js +2 -65
  1557. package/map-container/map-container.js +109 -0
  1558. package/map-container.d.ts +3 -0
  1559. package/map-container.d.ts.map +1 -1
  1560. package/map-container.js +2 -107
  1561. package/menu/common/menu-action-common.js +53 -0
  1562. package/menu/common.d.ts +3 -0
  1563. package/menu/common.d.ts.map +1 -1
  1564. package/menu/common.js +2 -51
  1565. package/menu/menu/menu.d.ts +8 -10
  1566. package/menu/menu/menu.d.ts.map +1 -1
  1567. package/menu/menu/menu.js +227 -0
  1568. package/menu/menu-button/menu-button.js +17 -0
  1569. package/menu/menu-button.d.ts +3 -0
  1570. package/menu/menu-button.d.ts.map +1 -1
  1571. package/menu/menu-button.js +2 -15
  1572. package/menu/menu-link/menu-link.js +17 -0
  1573. package/menu/menu-link.d.ts +3 -0
  1574. package/menu/menu-link.d.ts.map +1 -1
  1575. package/menu/menu-link.js +2 -15
  1576. package/menu/menu.d.ts +3 -0
  1577. package/menu/menu.d.ts.map +1 -1
  1578. package/menu/menu.js +2 -230
  1579. package/menu.d.ts +3 -0
  1580. package/menu.d.ts.map +1 -1
  1581. package/menu.js +10 -4
  1582. package/message/message.js +60 -0
  1583. package/message.d.ts +3 -0
  1584. package/message.d.ts.map +1 -1
  1585. package/message.js +2 -58
  1586. package/navigation/common/navigation-action-common.js +58 -0
  1587. package/navigation/common.d.ts +3 -0
  1588. package/navigation/common.d.ts.map +1 -1
  1589. package/navigation/common.js +2 -56
  1590. package/navigation/navigation/navigation.d.ts +19 -25
  1591. package/navigation/navigation/navigation.d.ts.map +1 -1
  1592. package/navigation/navigation/navigation.js +215 -0
  1593. package/navigation/navigation-button/navigation-button.js +16 -0
  1594. package/navigation/navigation-button.d.ts +3 -0
  1595. package/navigation/navigation-button.d.ts.map +1 -1
  1596. package/navigation/navigation-button.js +2 -14
  1597. package/navigation/navigation-link/navigation-link.js +16 -0
  1598. package/navigation/navigation-link.d.ts +3 -0
  1599. package/navigation/navigation-link.d.ts.map +1 -1
  1600. package/navigation/navigation-link.js +2 -14
  1601. package/navigation/navigation-list/navigation-list.js +57 -0
  1602. package/navigation/navigation-list.d.ts +3 -0
  1603. package/navigation/navigation-list.d.ts.map +1 -1
  1604. package/navigation/navigation-list.js +2 -55
  1605. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  1606. package/navigation/navigation-marker/navigation-marker.js +82 -0
  1607. package/navigation/navigation-marker.d.ts +3 -0
  1608. package/navigation/navigation-marker.d.ts.map +1 -1
  1609. package/navigation/navigation-marker.js +2 -80
  1610. package/navigation/navigation-section/navigation-section.d.ts +11 -14
  1611. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  1612. package/navigation/navigation-section/navigation-section.js +233 -0
  1613. package/navigation/navigation-section.d.ts +3 -0
  1614. package/navigation/navigation-section.d.ts.map +1 -1
  1615. package/navigation/navigation-section.js +2 -233
  1616. package/navigation/navigation.d.ts +3 -0
  1617. package/navigation/navigation.d.ts.map +1 -1
  1618. package/navigation/navigation.js +2 -218
  1619. package/navigation.d.ts +3 -0
  1620. package/navigation.d.ts.map +1 -1
  1621. package/navigation.js +16 -7
  1622. package/notification/notification.js +192 -0
  1623. package/notification.d.ts +3 -0
  1624. package/notification.d.ts.map +1 -1
  1625. package/notification.js +2 -190
  1626. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  1627. package/option/optgroup/optgroup-base-element.js +115 -0
  1628. package/option/optgroup/optgroup.d.ts +2 -2
  1629. package/option/optgroup/optgroup.d.ts.map +1 -1
  1630. package/option/optgroup/optgroup.js +34 -0
  1631. package/option/optgroup.d.ts +3 -0
  1632. package/option/optgroup.d.ts.map +1 -1
  1633. package/option/optgroup.js +4 -141
  1634. package/option/option/option-base-element.d.ts.map +1 -1
  1635. package/option/option/option-base-element.js +232 -0
  1636. package/option/option/option.js +95 -0
  1637. package/option/option.d.ts +3 -0
  1638. package/option/option.d.ts.map +1 -1
  1639. package/option/option.js +4 -318
  1640. package/option.d.ts +3 -0
  1641. package/option.d.ts.map +1 -1
  1642. package/option.js +10 -2
  1643. package/overlay/overlay-base-element.d.ts +7 -3
  1644. package/overlay/overlay-base-element.d.ts.map +1 -1
  1645. package/overlay/overlay-base-element.js +102 -0
  1646. package/overlay/overlay.d.ts +0 -1
  1647. package/overlay/overlay.d.ts.map +1 -1
  1648. package/overlay/overlay.js +156 -0
  1649. package/overlay.d.ts +3 -0
  1650. package/overlay.d.ts.map +1 -1
  1651. package/overlay.js +5 -239
  1652. package/package.json +17 -2
  1653. package/paginator/common/paginator-common.js +149 -0
  1654. package/paginator/common.d.ts +3 -0
  1655. package/paginator/common.d.ts.map +1 -1
  1656. package/paginator/common.js +2 -147
  1657. package/paginator/compact-paginator/compact-paginator.js +40 -0
  1658. package/paginator/compact-paginator.d.ts +3 -0
  1659. package/paginator/compact-paginator.d.ts.map +1 -1
  1660. package/paginator/compact-paginator.js +2 -38
  1661. package/paginator/paginator/paginator.js +169 -0
  1662. package/paginator/paginator.d.ts +3 -0
  1663. package/paginator/paginator.d.ts.map +1 -1
  1664. package/paginator/paginator.js +2 -167
  1665. package/paginator.d.ts +3 -0
  1666. package/paginator.d.ts.map +1 -1
  1667. package/paginator.js +8 -3
  1668. package/popover/popover/popover.d.ts +9 -8
  1669. package/popover/popover/popover.d.ts.map +1 -1
  1670. package/popover/popover/popover.js +261 -0
  1671. package/popover/popover-trigger/popover-trigger.js +32 -0
  1672. package/popover/popover-trigger.d.ts +3 -0
  1673. package/popover/popover-trigger.d.ts.map +1 -1
  1674. package/popover/popover-trigger.js +2 -30
  1675. package/popover/popover.d.ts +3 -0
  1676. package/popover/popover.d.ts.map +1 -1
  1677. package/popover/popover.js +2 -263
  1678. package/popover.d.ts +3 -0
  1679. package/popover.d.ts.map +1 -1
  1680. package/popover.js +6 -2
  1681. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  1682. package/radio-button/common/radio-button-common.js +64 -0
  1683. package/radio-button/common.d.ts +3 -0
  1684. package/radio-button/common.d.ts.map +1 -1
  1685. package/radio-button/common.js +4 -65
  1686. package/radio-button/radio-button/radio-button.js +57 -0
  1687. package/radio-button/radio-button-group/radio-button-group.js +186 -0
  1688. package/radio-button/radio-button-group.d.ts +3 -0
  1689. package/radio-button/radio-button-group.d.ts.map +1 -1
  1690. package/radio-button/radio-button-group.js +2 -184
  1691. package/radio-button/radio-button-panel/radio-button-panel.js +88 -0
  1692. package/radio-button/radio-button-panel.d.ts +3 -0
  1693. package/radio-button/radio-button-panel.d.ts.map +1 -1
  1694. package/radio-button/radio-button-panel.js +2 -86
  1695. package/radio-button/radio-button.d.ts +3 -0
  1696. package/radio-button/radio-button.d.ts.map +1 -1
  1697. package/radio-button/radio-button.js +2 -55
  1698. package/radio-button-common-DJKWrKor.js +5 -0
  1699. package/radio-button.d.ts +3 -0
  1700. package/radio-button.d.ts.map +1 -1
  1701. package/radio-button.js +12 -4
  1702. package/{sbb-tokens-BgDF8jIh.js → sbb-tokens-B3Eka-Tz.js} +9 -9
  1703. package/screen-reader-only/screen-reader-only.js +19 -0
  1704. package/screen-reader-only.d.ts +3 -0
  1705. package/screen-reader-only.d.ts.map +1 -1
  1706. package/screen-reader-only.js +2 -17
  1707. package/select/select.d.ts +1 -1
  1708. package/select/select.d.ts.map +1 -1
  1709. package/select/select.js +482 -0
  1710. package/select.d.ts +3 -0
  1711. package/select.d.ts.map +1 -1
  1712. package/select.js +2 -479
  1713. package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
  1714. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  1715. package/selection-expansion-panel/selection-expansion-panel.js +185 -0
  1716. package/selection-expansion-panel.d.ts +3 -0
  1717. package/selection-expansion-panel.d.ts.map +1 -1
  1718. package/selection-expansion-panel.js +2 -186
  1719. package/sidebar/common.d.ts +3 -0
  1720. package/sidebar/common.d.ts.map +1 -1
  1721. package/sidebar/common.js +3 -4
  1722. package/sidebar/icon-sidebar/icon-sidebar.js +47 -0
  1723. package/sidebar/icon-sidebar-button/icon-sidebar-button.js +20 -0
  1724. package/sidebar/icon-sidebar-button.d.ts +3 -0
  1725. package/sidebar/icon-sidebar-button.d.ts.map +1 -1
  1726. package/sidebar/icon-sidebar-button.js +2 -18
  1727. package/sidebar/icon-sidebar-container/icon-sidebar-container.js +35 -0
  1728. package/sidebar/icon-sidebar-container.d.ts +3 -0
  1729. package/sidebar/icon-sidebar-container.d.ts.map +1 -1
  1730. package/sidebar/icon-sidebar-container.js +2 -33
  1731. package/sidebar/icon-sidebar-content/icon-sidebar-content.js +23 -0
  1732. package/sidebar/icon-sidebar-content.d.ts +3 -0
  1733. package/sidebar/icon-sidebar-content.d.ts.map +1 -1
  1734. package/sidebar/icon-sidebar-content.js +2 -21
  1735. package/sidebar/icon-sidebar-link/icon-sidebar-link.js +20 -0
  1736. package/sidebar/icon-sidebar-link.d.ts +3 -0
  1737. package/sidebar/icon-sidebar-link.d.ts.map +1 -1
  1738. package/sidebar/icon-sidebar-link.js +2 -18
  1739. package/sidebar/icon-sidebar.d.ts +3 -0
  1740. package/sidebar/icon-sidebar.d.ts.map +1 -1
  1741. package/sidebar/icon-sidebar.js +2 -45
  1742. package/sidebar/sidebar/sidebar.d.ts +1 -7
  1743. package/sidebar/sidebar/sidebar.d.ts.map +1 -1
  1744. package/sidebar/sidebar/sidebar.js +194 -0
  1745. package/sidebar/sidebar-close-button/sidebar-close-button.js +29 -0
  1746. package/sidebar/sidebar-close-button.d.ts +3 -0
  1747. package/sidebar/sidebar-close-button.d.ts.map +1 -1
  1748. package/sidebar/sidebar-close-button.js +2 -27
  1749. package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
  1750. package/sidebar/sidebar-container/sidebar-container.js +81 -0
  1751. package/sidebar/sidebar-container.d.ts +3 -0
  1752. package/sidebar/sidebar-container.d.ts.map +1 -1
  1753. package/sidebar/sidebar-container.js +2 -76
  1754. package/sidebar/sidebar-content/sidebar-content.js +23 -0
  1755. package/sidebar/sidebar-content.d.ts +3 -0
  1756. package/sidebar/sidebar-content.d.ts.map +1 -1
  1757. package/sidebar/sidebar-content.js +2 -21
  1758. package/sidebar/sidebar-title/sidebar-title.js +37 -0
  1759. package/sidebar/sidebar-title.d.ts +3 -0
  1760. package/sidebar/sidebar-title.d.ts.map +1 -1
  1761. package/sidebar/sidebar-title.js +2 -35
  1762. package/sidebar/sidebar.d.ts +3 -0
  1763. package/sidebar/sidebar.d.ts.map +1 -1
  1764. package/sidebar/sidebar.js +2 -212
  1765. package/sidebar.d.ts +3 -0
  1766. package/sidebar.d.ts.map +1 -1
  1767. package/sidebar.js +26 -11
  1768. package/signet/signet.js +72 -0
  1769. package/signet.d.ts +3 -0
  1770. package/signet.d.ts.map +1 -1
  1771. package/signet.js +2 -70
  1772. package/skiplink-list/skiplink-list.js +71 -0
  1773. package/skiplink-list.d.ts +3 -0
  1774. package/skiplink-list.d.ts.map +1 -1
  1775. package/skiplink-list.js +2 -69
  1776. package/slider/slider.js +232 -0
  1777. package/slider.d.ts +3 -0
  1778. package/slider.d.ts.map +1 -1
  1779. package/slider.js +2 -230
  1780. package/standard-theme.css +208 -81
  1781. package/status/status.d.ts +4 -0
  1782. package/status/status.d.ts.map +1 -1
  1783. package/status/status.js +89 -0
  1784. package/status.d.ts +3 -0
  1785. package/status.d.ts.map +1 -1
  1786. package/status.js +2 -87
  1787. package/stepper/step/step.d.ts +15 -1
  1788. package/stepper/step/step.d.ts.map +1 -1
  1789. package/stepper/step/step.js +104 -0
  1790. package/stepper/step-label/step-label.js +75 -0
  1791. package/stepper/step-label.d.ts +3 -0
  1792. package/stepper/step-label.d.ts.map +1 -1
  1793. package/stepper/step-label.js +2 -73
  1794. package/stepper/step.d.ts +3 -0
  1795. package/stepper/step.d.ts.map +1 -1
  1796. package/stepper/step.js +2 -88
  1797. package/stepper/stepper/stepper.d.ts +1 -0
  1798. package/stepper/stepper/stepper.d.ts.map +1 -1
  1799. package/stepper/stepper/stepper.js +244 -0
  1800. package/stepper/stepper.d.ts +3 -0
  1801. package/stepper/stepper.d.ts.map +1 -1
  1802. package/stepper/stepper.js +2 -239
  1803. package/stepper.d.ts +3 -0
  1804. package/stepper.d.ts.map +1 -1
  1805. package/stepper.js +8 -3
  1806. package/table/table-wrapper/table-wrapper.d.ts +6 -1
  1807. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  1808. package/table/table-wrapper/table-wrapper.js +50 -0
  1809. package/table/table-wrapper.d.ts +3 -0
  1810. package/table/table-wrapper.d.ts.map +1 -1
  1811. package/table/table-wrapper.js +2 -34
  1812. package/table.css +112 -44
  1813. package/table.d.ts +3 -0
  1814. package/table.d.ts.map +1 -1
  1815. package/table.js +4 -1
  1816. package/tabs/tab/tab.js +40 -0
  1817. package/tabs/tab-group/tab-group.js +218 -0
  1818. package/tabs/tab-group.d.ts +3 -0
  1819. package/tabs/tab-group.d.ts.map +1 -1
  1820. package/tabs/tab-group.js +2 -216
  1821. package/tabs/tab-label/tab-label.js +80 -0
  1822. package/tabs/tab-label.d.ts +3 -0
  1823. package/tabs/tab-label.d.ts.map +1 -1
  1824. package/tabs/tab-label.js +2 -78
  1825. package/tabs/tab.d.ts +3 -0
  1826. package/tabs/tab.d.ts.map +1 -1
  1827. package/tabs/tab.js +2 -38
  1828. package/tabs.d.ts +3 -0
  1829. package/tabs.d.ts.map +1 -1
  1830. package/tabs.js +8 -3
  1831. package/tag/tag/tag.js +126 -0
  1832. package/tag/tag-group/tag-group.js +120 -0
  1833. package/tag/tag-group.d.ts +3 -0
  1834. package/tag/tag-group.d.ts.map +1 -1
  1835. package/tag/tag-group.js +2 -118
  1836. package/tag/tag.d.ts +3 -0
  1837. package/tag/tag.d.ts.map +1 -1
  1838. package/tag/tag.js +2 -124
  1839. package/tag.d.ts +3 -0
  1840. package/tag.d.ts.map +1 -1
  1841. package/tag.js +6 -2
  1842. package/teaser/teaser.js +102 -0
  1843. package/teaser-hero/teaser-hero.js +61 -0
  1844. package/teaser-hero.d.ts +3 -0
  1845. package/teaser-hero.d.ts.map +1 -1
  1846. package/teaser-hero.js +2 -59
  1847. package/teaser-product/common/teaser-product-common.js +54 -0
  1848. package/teaser-product/common.d.ts +3 -0
  1849. package/teaser-product/common.d.ts.map +1 -1
  1850. package/teaser-product/common.js +4 -53
  1851. package/teaser-product/teaser-product/teaser-product.js +31 -0
  1852. package/teaser-product/teaser-product-static/teaser-product-static.js +16 -0
  1853. package/teaser-product/teaser-product-static.d.ts +3 -0
  1854. package/teaser-product/teaser-product-static.d.ts.map +1 -1
  1855. package/teaser-product/teaser-product-static.js +2 -14
  1856. package/teaser-product/teaser-product.d.ts +3 -0
  1857. package/teaser-product/teaser-product.d.ts.map +1 -1
  1858. package/teaser-product/teaser-product.js +2 -29
  1859. package/teaser-product-common-CpMAlYEp.js +5 -0
  1860. package/teaser-product.d.ts +3 -0
  1861. package/teaser-product.d.ts.map +1 -1
  1862. package/teaser-product.js +10 -3
  1863. package/teaser.d.ts +3 -0
  1864. package/teaser.d.ts.map +1 -1
  1865. package/teaser.js +2 -100
  1866. package/time-input/time-input.d.ts +6 -8
  1867. package/time-input/time-input.d.ts.map +1 -1
  1868. package/time-input/time-input.js +174 -0
  1869. package/time-input.d.ts +3 -0
  1870. package/time-input.d.ts.map +1 -1
  1871. package/time-input.js +2 -179
  1872. package/timetable-occupancy/timetable-occupancy.js +75 -0
  1873. package/timetable-occupancy-icon/timetable-occupancy-icon.js +64 -0
  1874. package/timetable-occupancy-icon.d.ts +3 -0
  1875. package/timetable-occupancy-icon.d.ts.map +1 -1
  1876. package/timetable-occupancy-icon.js +2 -62
  1877. package/timetable-occupancy.d.ts +3 -0
  1878. package/timetable-occupancy.d.ts.map +1 -1
  1879. package/timetable-occupancy.js +2 -73
  1880. package/title/title-base.js +73 -0
  1881. package/title/title.js +18 -0
  1882. package/title.d.ts +3 -0
  1883. package/title.d.ts.map +1 -1
  1884. package/title.js +4 -83
  1885. package/toast/toast.js +195 -0
  1886. package/toast.d.ts +3 -0
  1887. package/toast.d.ts.map +1 -1
  1888. package/toast.js +2 -193
  1889. package/toggle/toggle/toggle.d.ts.map +1 -1
  1890. package/toggle/toggle/toggle.js +162 -0
  1891. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  1892. package/toggle/toggle-option/toggle-option.js +84 -0
  1893. package/toggle/toggle-option.d.ts +3 -0
  1894. package/toggle/toggle-option.d.ts.map +1 -1
  1895. package/toggle/toggle-option.js +2 -94
  1896. package/toggle/toggle.d.ts +3 -0
  1897. package/toggle/toggle.d.ts.map +1 -1
  1898. package/toggle/toggle.js +2 -162
  1899. package/toggle-check/toggle-check.js +81 -0
  1900. package/toggle-check.d.ts +3 -0
  1901. package/toggle-check.d.ts.map +1 -1
  1902. package/toggle-check.js +2 -79
  1903. package/toggle.d.ts +3 -0
  1904. package/toggle.d.ts.map +1 -1
  1905. package/toggle.js +6 -2
  1906. package/train/train/train.js +126 -0
  1907. package/train/train-blocked-passage/train-blocked-passage.js +25 -0
  1908. package/train/train-blocked-passage.d.ts +3 -0
  1909. package/train/train-blocked-passage.d.ts.map +1 -1
  1910. package/train/train-blocked-passage.js +2 -23
  1911. package/train/train-formation/train-formation.js +91 -0
  1912. package/train/train-formation.d.ts +3 -0
  1913. package/train/train-formation.d.ts.map +1 -1
  1914. package/train/train-formation.js +2 -89
  1915. package/train/train-wagon/train-wagon.js +177 -0
  1916. package/train/train-wagon.d.ts +3 -0
  1917. package/train/train-wagon.d.ts.map +1 -1
  1918. package/train/train-wagon.js +2 -175
  1919. package/train/train.d.ts +3 -0
  1920. package/train/train.d.ts.map +1 -1
  1921. package/train/train.js +2 -124
  1922. package/train.d.ts +3 -0
  1923. package/train.d.ts.map +1 -1
  1924. package/train.js +10 -4
  1925. package/transparent-button-BlbvexCb.js +9 -0
  1926. package/visual-checkbox/visual-checkbox.js +83 -0
  1927. package/visual-checkbox.d.ts +3 -0
  1928. package/visual-checkbox.d.ts.map +1 -1
  1929. package/visual-checkbox.js +2 -81
  1930. package/core/testing/private.d.ts +0 -11
  1931. package/core/testing/private.d.ts.map +0 -1
  1932. package/core/testing/test-setup-ssr.d.ts +0 -2
  1933. package/core/testing/test-setup-ssr.d.ts.map +0 -1
  1934. package/core/testing/test-setup.d.ts +0 -2
  1935. package/core/testing/test-setup.d.ts.map +0 -1
  1936. package/development/core/testing/private.d.ts +0 -11
  1937. package/development/core/testing/private.d.ts.map +0 -1
  1938. package/development/core/testing/test-setup-ssr.d.ts +0 -2
  1939. package/development/core/testing/test-setup-ssr.d.ts.map +0 -1
  1940. package/development/core/testing/test-setup.d.ts +0 -2
  1941. package/development/core/testing/test-setup.d.ts.map +0 -1
@@ -0,0 +1,137 @@
1
+ import { isServer } from "lit";
2
+ import { isWebkit, isIOS, isFirefox } from "../dom/platform.js";
3
+ /**
4
+ * @license
5
+ * Copyright Google LLC All Rights Reserved.
6
+ *
7
+ * Use of this source code is governed by an MIT-style license that can be
8
+ * found in the LICENSE file at https://angular.io/license
9
+ */
10
+ class IsFocusableConfig {
11
+ constructor() {
12
+ this.ignoreVisibility = false;
13
+ }
14
+ }
15
+ class InteractivityChecker {
16
+ /**
17
+ * Gets whether an element is disabled.
18
+ *
19
+ * @param element Element to be checked.
20
+ * @returns Whether the element is disabled.
21
+ */
22
+ isDisabled(element) {
23
+ return element.hasAttribute("disabled") || element.matches(":disabled");
24
+ }
25
+ /**
26
+ * Gets whether an element is visible for the purposes of interactivity.
27
+ *
28
+ * This will capture states like `display: none` and `visibility: hidden`, but not things like
29
+ * being clipped by an `overflow: hidden` parent or being outside the viewport.
30
+ *
31
+ * @returns Whether the element is visible.
32
+ */
33
+ isVisible(element) {
34
+ return hasGeometry(element) && getComputedStyle(element).visibility === "visible";
35
+ }
36
+ /**
37
+ * Gets whether an element can be reached via Tab key.
38
+ * Assumes that the element has already been checked with isFocusable.
39
+ *
40
+ * @param element Element to be checked.
41
+ * @returns Whether the element is tabbable.
42
+ */
43
+ isTabbable(element) {
44
+ if (isServer) {
45
+ return false;
46
+ }
47
+ const nodeName = element.nodeName.toLowerCase();
48
+ const tabIndexValue = getTabIndexValue(element);
49
+ if (element.hasAttribute("contenteditable")) {
50
+ return tabIndexValue !== -1;
51
+ }
52
+ if (nodeName === "iframe" || nodeName === "object") {
53
+ return false;
54
+ }
55
+ if (isWebkit && isIOS && !isPotentiallyTabbableIOS(element)) {
56
+ return false;
57
+ }
58
+ if (nodeName === "audio") {
59
+ if (!element.hasAttribute("controls")) {
60
+ return false;
61
+ }
62
+ return tabIndexValue !== -1;
63
+ }
64
+ if (nodeName === "video") {
65
+ if (tabIndexValue === -1) {
66
+ return false;
67
+ }
68
+ if (tabIndexValue !== null) {
69
+ return true;
70
+ }
71
+ return isFirefox || element.hasAttribute("controls");
72
+ }
73
+ return element.tabIndex >= 0;
74
+ }
75
+ /**
76
+ * Gets whether an element can be focused by the user.
77
+ *
78
+ * @param element Element to be checked.
79
+ * @param config The config object with options to customize this method's behavior
80
+ * @returns Whether the element is focusable.
81
+ */
82
+ isFocusable(element, config) {
83
+ return isPotentiallyFocusable(element) && !element.inert && !this.isDisabled(element) && ((config == null ? void 0 : config.ignoreVisibility) || this.isVisible(element));
84
+ }
85
+ }
86
+ const interactivityChecker = new InteractivityChecker();
87
+ function hasGeometry(element) {
88
+ return !!(element.offsetWidth || element.offsetHeight || typeof element.getClientRects === "function" && element.getClientRects().length);
89
+ }
90
+ function isNativeFormElement(element) {
91
+ const nodeName = element.nodeName.toLowerCase();
92
+ return nodeName === "input" || nodeName === "select" || nodeName === "button" || nodeName === "textarea";
93
+ }
94
+ function isHiddenInput(element) {
95
+ return isInputElement(element) && element.type == "hidden";
96
+ }
97
+ function isAnchorWithHref(element) {
98
+ return isAnchorElement(element) && element.hasAttribute("href");
99
+ }
100
+ function isInputElement(element) {
101
+ return element.nodeName.toLowerCase() == "input";
102
+ }
103
+ function isAnchorElement(element) {
104
+ return element.nodeName.toLowerCase() == "a";
105
+ }
106
+ function hasValidTabIndex(element) {
107
+ if (!element.hasAttribute("tabindex") || element.tabIndex === void 0) {
108
+ return false;
109
+ }
110
+ const tabIndex = element.getAttribute("tabindex");
111
+ return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));
112
+ }
113
+ function getTabIndexValue(element) {
114
+ if (!hasValidTabIndex(element)) {
115
+ return null;
116
+ }
117
+ const tabIndex = parseInt(element.getAttribute("tabindex") || "", 10);
118
+ return isNaN(tabIndex) ? -1 : tabIndex;
119
+ }
120
+ function isPotentiallyTabbableIOS(element) {
121
+ const nodeName = element.nodeName.toLowerCase();
122
+ const inputType = nodeName === "input" && element.type;
123
+ return inputType === "text" || inputType === "password" || nodeName === "select" || nodeName === "textarea";
124
+ }
125
+ function isPotentiallyFocusable(element) {
126
+ if (isHiddenInput(element)) {
127
+ return false;
128
+ }
129
+ return isNativeFormElement(element) || isAnchorWithHref(element) || element.hasAttribute("contenteditable") || hasValidTabIndex(element);
130
+ }
131
+ export {
132
+ InteractivityChecker,
133
+ IsFocusableConfig,
134
+ hasGeometry,
135
+ interactivityChecker
136
+ };
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpdml0eS1jaGVja2VyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ludGVyYWN0aXZpdHktY2hlY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL2Nkay9hMTF5L2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC50c1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0lPUywgaXNXZWJraXQgfSBmcm9tICcuLi9kb20vcGxhdGZvcm0uanMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCB3aXRoIG5leHQgbWFqb3IgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciB7XG4gIGlzVmlzaWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGlzRm9jdXNhYmxlIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNsYXNzIElzRm9jdXNhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY291bnQgYW4gZWxlbWVudCBhcyBmb2N1c2FibGUgZXZlbiBpZiBpdCBpcyBub3QgY3VycmVudGx5IHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgaWdub3JlVmlzaWJpbGl0eTogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICAvKipcbiAgICogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IEVsZW1lbnQgdG8gYmUgY2hlY2tlZC5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgZWxlbWVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBpc0Rpc2FibGVkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpIHx8IGVsZW1lbnQubWF0Y2hlcygnOmRpc2FibGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgdmlzaWJsZSBmb3IgdGhlIHB1cnBvc2VzIG9mIGludGVyYWN0aXZpdHkuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBjYXB0dXJlIHN0YXRlcyBsaWtlIGBkaXNwbGF5OiBub25lYCBhbmQgYHZpc2liaWxpdHk6IGhpZGRlbmAsIGJ1dCBub3QgdGhpbmdzIGxpa2VcbiAgICogYmVpbmcgY2xpcHBlZCBieSBhbiBgb3ZlcmZsb3c6IGhpZGRlbmAgcGFyZW50IG9yIGJlaW5nIG91dHNpZGUgdGhlIHZpZXdwb3J0LlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgaXNWaXNpYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0dlb21ldHJ5KGVsZW1lbnQpICYmIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkudmlzaWJpbGl0eSA9PT0gJ3Zpc2libGUnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGNhbiBiZSByZWFjaGVkIHZpYSBUYWIga2V5LlxuICAgKiBBc3N1bWVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFscmVhZHkgYmVlbiBjaGVja2VkIHdpdGggaXNGb2N1c2FibGUuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IEVsZW1lbnQgdG8gYmUgY2hlY2tlZC5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgZWxlbWVudCBpcyB0YWJiYWJsZS5cbiAgICovXG4gIHB1YmxpYyBpc1RhYmJhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgLy8gTm90aGluZyBpcyB0YWJiYWJsZSBvbiB0aGUgc2VydmVyIPCfmI5cbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB0YWJJbmRleFZhbHVlID0gZ2V0VGFiSW5kZXhWYWx1ZShlbGVtZW50KTtcblxuICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJykpIHtcbiAgICAgIHJldHVybiB0YWJJbmRleFZhbHVlICE9PSAtMTtcbiAgICB9XG5cbiAgICBpZiAobm9kZU5hbWUgPT09ICdpZnJhbWUnIHx8IG5vZGVOYW1lID09PSAnb2JqZWN0Jykge1xuICAgICAgLy8gVGhlIGZyYW1lIG9yIG9iamVjdCdzIGNvbnRlbnQgbWF5IGJlIHRhYmJhYmxlIGRlcGVuZGluZyBvbiB0aGUgY29udGVudCwgYnV0IGl0J3NcbiAgICAgIC8vIG5vdCBwb3NzaWJseSB0byByZWxpYWJseSBkZXRlY3QgdGhlIGNvbnRlbnQgb2YgdGhlIGZyYW1lcy4gV2UgYWx3YXlzIGNvbnNpZGVyIHN1Y2hcbiAgICAgIC8vIGVsZW1lbnRzIGFzIG5vbi10YWJiYWJsZS5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBJbiBpT1MsIHRoZSBicm93c2VyIG9ubHkgY29uc2lkZXJzIHNvbWUgc3BlY2lmaWMgZWxlbWVudHMgYXMgdGFiYmFibGUuXG4gICAgaWYgKGlzV2Via2l0ICYmIGlzSU9TICYmICFpc1BvdGVudGlhbGx5VGFiYmFibGVJT1MoZWxlbWVudCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAobm9kZU5hbWUgPT09ICdhdWRpbycpIHtcbiAgICAgIC8vIEF1ZGlvIGVsZW1lbnRzIHdpdGhvdXQgY29udHJvbHMgZW5hYmxlZCBhcmUgbmV2ZXIgdGFiYmFibGUsIHJlZ2FyZGxlc3NcbiAgICAgIC8vIG9mIHRoZSB0YWJpbmRleCBhdHRyaWJ1dGUgZXhwbGljaXRseSBiZWluZyBzZXQuXG4gICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdjb250cm9scycpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIEF1ZGlvIGVsZW1lbnRzIHdpdGggY29udHJvbHMgYXJlIGJ5IGRlZmF1bHQgdGFiYmFibGUgdW5sZXNzIHRoZVxuICAgICAgLy8gdGFiaW5kZXggYXR0cmlidXRlIGlzIHNldCB0byBgLTFgIGV4cGxpY2l0bHkuXG4gICAgICByZXR1cm4gdGFiSW5kZXhWYWx1ZSAhPT0gLTE7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVOYW1lID09PSAndmlkZW8nKSB7XG4gICAgICAvLyBGb3IgYWxsIHZpZGVvIGVsZW1lbnRzLCBpZiB0aGUgdGFiaW5kZXggYXR0cmlidXRlIGlzIHNldCB0byBgLTFgLCB0aGUgdmlkZW9cbiAgICAgIC8vIGlzIG5vdCB0YWJiYWJsZS4gTm90ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlIGRlZmF1bHQgYEhUTUxFbGVtZW50LnRhYkluZGV4YFxuICAgICAgLy8gcHJvcGVydHkgYXMgdGhhdCBvbmUgaXMgc2V0IHRvIGAtMWAgaW4gQ2hyb21lLCBFZGdlIGFuZCBTYWZhcmkgdjEzLjEuIFRoZVxuICAgICAgLy8gdGFiaW5kZXggYXR0cmlidXRlIGlzIHRoZSBzb3VyY2Ugb2YgdHJ1dGggaGVyZS5cbiAgICAgIGlmICh0YWJJbmRleFZhbHVlID09PSAtMSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBJZiB0aGUgdGFiaW5kZXggaXMgZXhwbGljaXRseSBzZXQsIGFuZCBub3QgYC0xYCAoYXMgcGVyIGNoZWNrIGJlZm9yZSksIHRoZVxuICAgICAgLy8gdmlkZW8gZWxlbWVudCBpcyBhbHdheXMgdGFiYmFibGUgKHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBoYXMgY29udHJvbHMgb3Igbm90KS5cbiAgICAgIGlmICh0YWJJbmRleFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlICh3aGVuIG5vIGV4cGxpY2l0IHRhYmluZGV4IGlzIHNldCksIGEgdmlkZW8gaXMgb25seSB0YWJiYWJsZSBpZiBpdFxuICAgICAgLy8gaGFzIGNvbnRyb2xzIGVuYWJsZWQuIEZpcmVmb3ggaXMgc3BlY2lhbCBhcyB2aWRlb3MgYXJlIGFsd2F5cyB0YWJiYWJsZSByZWdhcmRsZXNzXG4gICAgICAvLyBvZiB3aGV0aGVyIHRoZXJlIGFyZSBjb250cm9scyBvciBub3QuXG4gICAgICByZXR1cm4gaXNGaXJlZm94IHx8IGVsZW1lbnQuaGFzQXR0cmlidXRlKCdjb250cm9scycpO1xuICAgIH1cblxuICAgIHJldHVybiBlbGVtZW50LnRhYkluZGV4ID49IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgY2FuIGJlIGZvY3VzZWQgYnkgdGhlIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IEVsZW1lbnQgdG8gYmUgY2hlY2tlZC5cbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlnIG9iamVjdCB3aXRoIG9wdGlvbnMgdG8gY3VzdG9taXplIHRoaXMgbWV0aG9kJ3MgYmVoYXZpb3JcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgZWxlbWVudCBpcyBmb2N1c2FibGUuXG4gICAqL1xuICBwdWJsaWMgaXNGb2N1c2FibGUoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbmZpZz86IElzRm9jdXNhYmxlQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgLy8gUGVyZm9ybSBjaGVja3MgaW4gb3JkZXIgb2YgbGVmdCB0byBtb3N0IGV4cGVuc2l2ZS5cbiAgICAvLyBBZ2FpbiwgbmFpdmUgYXBwcm9hY2ggdGhhdCBkb2VzIG5vdCBjYXB0dXJlIG1hbnkgZWRnZSBjYXNlcyBhbmQgYnJvd3NlciBxdWlya3MuXG4gICAgcmV0dXJuIChcbiAgICAgIGlzUG90ZW50aWFsbHlGb2N1c2FibGUoZWxlbWVudCkgJiZcbiAgICAgICFlbGVtZW50LmluZXJ0ICYmXG4gICAgICAhdGhpcy5pc0Rpc2FibGVkKGVsZW1lbnQpICYmXG4gICAgICAoY29uZmlnPy5pZ25vcmVWaXNpYmlsaXR5IHx8IHRoaXMuaXNWaXNpYmxlKGVsZW1lbnQpKVxuICAgICk7XG4gIH1cbn1cblxuLy8gRm9yIHVuaXQgdGVzdHMgd2UgbmVlZCB0byBwcmV0ZW5kIHRoYXQgYW4gZWxlbWVudCBpcyBhbHdheXMgdmlzaWJsZS5cbi8vIFRoaXMgY2FuIGJlIGRvbmUgYnkgY2hlY2tpbmcgaWYgdmlzaWJpbGl0eSBwcm9wZXJ0eSBpcyBzZXQgdG8gZW1wdHkuXG5leHBvcnQgY29uc3QgaW50ZXJhY3Rpdml0eUNoZWNrZXIgPSBuZXcgSW50ZXJhY3Rpdml0eUNoZWNrZXIoKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBXaWxsIG5vIGxvbmdlciBiZSBhdmFpbGFibGUgd2l0aCBuZXh0IG1ham9yIHZlcnNpb24uXG4gKiBUT0RPOiByZW1vdmUgZXhwb3J0IGtleXdvcmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0dlb21ldHJ5KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIFVzZSBsb2dpYyBmcm9tIGpRdWVyeSB0byBjaGVjayBmb3IgYW4gaW52aXNpYmxlIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9ibG9iL21hc3Rlci9zcmMvY3NzL2hpZGRlblZpc2libGVTZWxlY3RvcnMuanMjTDEyXG4gIHJldHVybiAhIShcbiAgICBlbGVtZW50Lm9mZnNldFdpZHRoIHx8XG4gICAgZWxlbWVudC5vZmZzZXRIZWlnaHQgfHxcbiAgICAodHlwZW9mIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMgPT09ICdmdW5jdGlvbicgJiYgZWxlbWVudC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aClcbiAgKTtcbn1cblxuLyoqIEdldHMgd2hldGhlciBhbiBlbGVtZW50J3MgICovXG5mdW5jdGlvbiBpc05hdGl2ZUZvcm1FbGVtZW50KGVsZW1lbnQ6IE5vZGUpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiAoXG4gICAgbm9kZU5hbWUgPT09ICdpbnB1dCcgfHxcbiAgICBub2RlTmFtZSA9PT0gJ3NlbGVjdCcgfHxcbiAgICBub2RlTmFtZSA9PT0gJ2J1dHRvbicgfHxcbiAgICBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJ1xuICApO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gYDxpbnB1dCB0eXBlPVwiaGlkZGVuXCI+YC4gKi9cbmZ1bmN0aW9uIGlzSGlkZGVuSW5wdXQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSW5wdXRFbGVtZW50KGVsZW1lbnQpICYmIGVsZW1lbnQudHlwZSA9PSAnaGlkZGVuJztcbn1cblxuLyoqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIGFuIGFuY2hvciB0aGF0IGhhcyBhbiBocmVmIGF0dHJpYnV0ZS4gKi9cbmZ1bmN0aW9uIGlzQW5jaG9yV2l0aEhyZWYoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQW5jaG9yRWxlbWVudChlbGVtZW50KSAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnaHJlZicpO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gaW5wdXQgZWxlbWVudC4gKi9cbmZ1bmN0aW9uIGlzSW5wdXRFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogZWxlbWVudCBpcyBIVE1MSW5wdXRFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnaW5wdXQnO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gYW5jaG9yIGVsZW1lbnQuICovXG5mdW5jdGlvbiBpc0FuY2hvckVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBlbGVtZW50IGlzIEhUTUxBbmNob3JFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnYSc7XG59XG5cbi8qKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBoYXMgYSB2YWxpZCB0YWJpbmRleC4gKi9cbmZ1bmN0aW9uIGhhc1ZhbGlkVGFiSW5kZXgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSB8fCBlbGVtZW50LnRhYkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB0YWJJbmRleCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICByZXR1cm4gISEodGFiSW5kZXggJiYgIWlzTmFOKHBhcnNlSW50KHRhYkluZGV4LCAxMCkpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXJzZWQgdGFiaW5kZXggZnJvbSB0aGUgZWxlbWVudCBhdHRyaWJ1dGVzIGluc3RlYWQgb2YgcmV0dXJuaW5nIHRoZVxuICogZXZhbHVhdGVkIHRhYmluZGV4IGZyb20gdGhlIGJyb3dzZXJzIGRlZmF1bHRzLlxuICovXG5mdW5jdGlvbiBnZXRUYWJJbmRleFZhbHVlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmICghaGFzVmFsaWRUYWJJbmRleChlbGVtZW50KSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gU2VlIGJyb3dzZXIgaXNzdWUgaW4gR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODA1NFxuICBjb25zdCB0YWJJbmRleCA9IHBhcnNlSW50KGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpIHx8ICcnLCAxMCk7XG5cbiAgcmV0dXJuIGlzTmFOKHRhYkluZGV4KSA/IC0xIDogdGFiSW5kZXg7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgaXMgcG90ZW50aWFsbHkgdGFiYmFibGUgb24gaU9TICovXG5mdW5jdGlvbiBpc1BvdGVudGlhbGx5VGFiYmFibGVJT1MoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGlucHV0VHlwZSA9IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnR5cGU7XG5cbiAgcmV0dXJuIChcbiAgICBpbnB1dFR5cGUgPT09ICd0ZXh0JyB8fFxuICAgIGlucHV0VHlwZSA9PT0gJ3Bhc3N3b3JkJyB8fFxuICAgIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fFxuICAgIG5vZGVOYW1lID09PSAndGV4dGFyZWEnXG4gICk7XG59XG5cbi8qKlxuICogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgcG90ZW50aWFsbHkgZm9jdXNhYmxlIHdpdGhvdXQgdGFraW5nIGN1cnJlbnQgdmlzaWJsZS9kaXNhYmxlZCBzdGF0ZVxuICogaW50byBhY2NvdW50LlxuICovXG5mdW5jdGlvbiBpc1BvdGVudGlhbGx5Rm9jdXNhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIElucHV0cyBhcmUgcG90ZW50aWFsbHkgZm9jdXNhYmxlICp1bmxlc3MqIHRoZXkncmUgdHlwZT1cImhpZGRlblwiLlxuICBpZiAoaXNIaWRkZW5JbnB1dChlbGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNOYXRpdmVGb3JtRWxlbWVudChlbGVtZW50KSB8fFxuICAgIGlzQW5jaG9yV2l0aEhyZWYoZWxlbWVudCkgfHxcbiAgICBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJykgfHxcbiAgICBoYXNWYWxpZFRhYkluZGV4KGVsZW1lbnQpXG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtNQXlCYSxrQkFBaUI7QUFBQSxFQUE5QixjQUFBO0FBSVMsU0FBZ0IsbUJBQVk7QUFBQSxFQUFBO0FBQ3BDO01BRVkscUJBQW9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPeEIsV0FBVyxTQUFvQjtBQUNwQyxXQUFPLFFBQVEsYUFBYSxVQUFVLEtBQUssUUFBUSxRQUFRLFdBQVc7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV2pFLFVBQVUsU0FBb0I7QUFDbkMsV0FBTyxZQUFZLE9BQU8sS0FBSyxpQkFBaUIsT0FBTyxFQUFFLGVBQWU7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVuRSxXQUFXLFNBQW9CO0FBRXBDLFFBQUksVUFBVTtBQUNMLGFBQUE7QUFBQSxJQUFBO0FB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
@@ -1,7 +1,11 @@
1
+ /**
2
+ * @entrypoint
3
+ */
1
4
  export * from './a11y/arrow-navigation.js';
2
5
  export * from './a11y/fake-event-detection.js';
3
6
  export * from './a11y/focus-visible-within-controller.js';
4
7
  export * from './a11y/focus.js';
8
+ export * from './a11y/focus-trap-controller.js';
5
9
  export * from './a11y/interactivity-checker.js';
6
10
  export * from './a11y/input-modality-detector.js';
7
11
  //# sourceMappingURL=a11y.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/a11y.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/a11y.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC"}
@@ -1,259 +1,16 @@
1
- import { isServer } from "lit";
2
- import { getEventTarget } from "./eventing.js";
3
- function getPrevAndNextKeys() {
4
- if (document.documentElement.matches(":dir(rtl)")) {
5
- return { prevKey: "ArrowRight", nextKey: "ArrowLeft" };
6
- } else {
7
- return { prevKey: "ArrowLeft", nextKey: "ArrowRight" };
8
- }
9
- }
10
- function isArrowKeyPressed(event) {
11
- return ["ArrowRight", "ArrowLeft", "ArrowUp", "ArrowDown"].includes(event.key);
12
- }
13
- function isPreviousArrowKeyPressed(event) {
14
- return event.key === "ArrowUp" || event.key === getPrevAndNextKeys().prevKey;
15
- }
16
- function isNextArrowKeyPressed(event) {
17
- return event.key === "ArrowDown" || event.key === getPrevAndNextKeys().nextKey;
18
- }
19
- function isArrowKeyOrPageKeysPressed(event) {
20
- return isArrowKeyPressed(event) || ["PageUp", "PageDown", "Home", "End"].includes(event.key);
21
- }
22
- function calcNextIndexInRange(currentIndex, maxIndex, offset) {
23
- return (currentIndex + offset + maxIndex) % maxIndex;
24
- }
25
- function getLastIndex(size) {
26
- return size - 1;
27
- }
28
- const firstIndex = 0;
29
- function getNextElementIndex(event, current, size) {
30
- const { prevKey, nextKey } = getPrevAndNextKeys();
31
- if (event.key === prevKey || event.key === "ArrowUp") {
32
- return current < firstIndex ? getLastIndex(size) : calcNextIndexInRange(current, size, -1);
33
- } else if (event.key === nextKey || event.key === "ArrowDown") {
34
- return current >= size ? firstIndex : calcNextIndexInRange(current, size, 1);
35
- }
36
- return current;
37
- }
38
- function isFakeMousedownFromScreenReader(event) {
39
- return event.buttons === 0 || event.detail === 0;
40
- }
41
- function isFakeTouchstartFromScreenReader(event) {
42
- const touch = event.touches && event.touches[0] || event.changedTouches && event.changedTouches[0];
43
- return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) && (touch.radiusY == null || touch.radiusY === 1);
44
- }
45
- const SHIFT = 16;
46
- const CONTROL = 17;
47
- const ALT = 18;
48
- const META = 91;
49
- const MAC_META = 224;
50
- const inputModalityDetectorOptions = {
51
- ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT]
52
- };
53
- const touchBufferMs = 650;
54
- const modalityEventListenerOptions = {
55
- passive: true,
56
- capture: true
57
- };
58
- class SbbInputModalityDetector {
59
- /** The most recently detected input modality. */
60
- get mostRecentModality() {
61
- return this._mostRecentModality;
62
- }
63
- /**
64
- * The most recently detected input modality event target. Is null if no input modality has been
65
- * detected or if the associated event target is null for some unknown reason.
66
- */
67
- get mostRecentTarget() {
68
- return this._mostRecentTarget;
69
- }
70
- constructor() {
71
- this._mostRecentModality = "mouse";
72
- this._mostRecentTarget = null;
73
- this._options = {
74
- ...inputModalityDetectorOptions
75
- };
76
- this._lastTouchMs = 0;
77
- this._onKeydown = (event) => {
78
- var _a, _b;
79
- if ((_b = (_a = this._options) == null ? void 0 : _a.ignoreKeys) == null ? void 0 : _b.some((keyCode) => keyCode === event.keyCode)) {
80
- return;
81
- }
82
- this._mostRecentModality = "keyboard";
83
- this._mostRecentTarget = getEventTarget(event);
84
- };
85
- this._onMousedown = (event) => {
86
- if (Date.now() - this._lastTouchMs < touchBufferMs) {
87
- return;
88
- }
89
- this._mostRecentModality = isFakeMousedownFromScreenReader(event) ? "keyboard" : "mouse";
90
- this._mostRecentTarget = getEventTarget(event);
91
- };
92
- this._onTouchstart = (event) => {
93
- if (isFakeTouchstartFromScreenReader(event)) {
94
- this._mostRecentModality = "keyboard";
95
- this._mostRecentTarget = getEventTarget(event);
96
- return;
97
- }
98
- this._lastTouchMs = Date.now();
99
- this._mostRecentModality = "touch";
100
- this._mostRecentTarget = getEventTarget(event);
101
- };
102
- if (!isServer) {
103
- document.addEventListener("keydown", this._onKeydown, modalityEventListenerOptions);
104
- document.addEventListener("mousedown", this._onMousedown, modalityEventListenerOptions);
105
- document.addEventListener("touchstart", this._onTouchstart, modalityEventListenerOptions);
106
- }
107
- }
108
- reset() {
109
- this._mostRecentModality = "mouse";
110
- this._mostRecentTarget = null;
111
- this._lastTouchMs = 0;
112
- }
113
- }
114
- const sbbInputModalityDetector = new SbbInputModalityDetector();
115
- function setModalityOnNextFocus(elementToFocus) {
116
- if (!elementToFocus) {
117
- return;
118
- }
119
- const mostRecentModality = sbbInputModalityDetector.mostRecentModality;
120
- if (!(elementToFocus && mostRecentModality !== null)) {
121
- return;
122
- }
123
- elementToFocus.addEventListener("focus", () => {
124
- elementToFocus.setAttribute("data-focus-origin", mostRecentModality);
125
- elementToFocus.addEventListener("blur", () => elementToFocus.removeAttribute("data-focus-origin"), {
126
- once: true
127
- });
128
- }, { once: true });
129
- }
130
- class SbbFocusVisibleWithinController {
131
- constructor(_host) {
132
- this._host = _host;
133
- this._focusinHandler = () => {
134
- this._host.toggleAttribute("data-has-visible-focus-within", sbbInputModalityDetector.mostRecentModality === "keyboard");
135
- };
136
- this._focusoutHandler = () => {
137
- this._host.removeAttribute("data-has-visible-focus-within");
138
- };
139
- this._host.addController(this);
140
- }
141
- hostConnected() {
142
- this._host.addEventListener("focusin", this._focusinHandler);
143
- this._host.addEventListener("focusout", this._focusoutHandler);
144
- }
145
- hostDisconnected() {
146
- this._host.removeEventListener("focusin", this._focusinHandler);
147
- this._host.removeEventListener("focusout", this._focusoutHandler);
148
- }
149
- }
150
- function hasGeometry(element) {
151
- return !!(element.offsetWidth || element.offsetHeight || typeof element.getClientRects === "function" && element.getClientRects().length);
152
- }
153
- class InteractivityChecker {
154
- /**
155
- * Gets whether an element is visible for the purposes of interactivity.
156
- *
157
- * This will capture states like `display: none` and `visibility: hidden`, but not things like
158
- * being clipped by an `overflow: hidden` parent or being outside the viewport.
159
- *
160
- * @returns Whether the element is visible.
161
- */
162
- isVisible(element) {
163
- return hasGeometry(element) && getComputedStyle(element).visibility === "visible";
164
- }
165
- }
166
- class InteractivityCheckerMock {
167
- isVisible() {
168
- return true;
169
- }
170
- }
171
- const interactivityChecker = typeof getComputedStyle === "undefined" || getComputedStyle(document.documentElement).visibility === "" ? new InteractivityCheckerMock() : new InteractivityChecker();
172
- const IS_FOCUSABLE_QUERY = [
173
- "button",
174
- "[href]",
175
- "input",
176
- "select",
177
- "textarea",
178
- "details",
179
- "summary",
180
- "[tabindex]"
181
- ].map((selector) => `${selector}:not([disabled],:disabled,[tabindex="-1"],[inert])`).join(",");
182
- function getFocusableElements(elements, properties) {
183
- const focusableEls = /* @__PURE__ */ new Set();
184
- function getFocusables(elements2, filter) {
185
- var _a;
186
- for (const el of elements2) {
187
- if (filter && !filter(el)) {
188
- continue;
189
- }
190
- if (el.nodeName === "SLOT") {
191
- getFocusables(Array.from(el.assignedElements()), filter);
192
- continue;
193
- }
194
- if (el.matches(IS_FOCUSABLE_QUERY) && ((properties == null ? void 0 : properties.includeInvisibleElements) ?? interactivityChecker.isVisible(el))) {
195
- focusableEls.add(el);
196
- }
197
- if ((properties == null ? void 0 : properties.findFirstFocusable) && focusableEls.size > 0) {
198
- break;
199
- }
200
- if (el.children.length || ((_a = el.shadowRoot) == null ? void 0 : _a.children.length)) {
201
- const children = Array.from(el.children).length ? Array.from(el.children) : Array.from(el.shadowRoot.children);
202
- getFocusables(children, filter);
203
- }
204
- }
205
- }
206
- getFocusables(elements, properties == null ? void 0 : properties.filter);
207
- return [...focusableEls];
208
- }
209
- function getFirstFocusableElement(elements, filter) {
210
- const focusableElements = getFocusableElements(elements, {
211
- filter,
212
- findFirstFocusable: true
213
- });
214
- return focusableElements.length ? focusableElements[0] : null;
215
- }
216
- class SbbFocusHandler {
217
- constructor() {
218
- this._controller = new AbortController();
219
- }
220
- /**
221
- * @param element in which the focus should be trapped.
222
- * @param options options object.
223
- * @param options.filter filter function which is applied during searching for focusable element. If an element is filtered, also child elements are filtered.
224
- * @param options.postFilter filter function which is applied after collecting focusable elements.
225
- */
226
- trap(element, options) {
227
- element.addEventListener("keydown", (event) => {
228
- if (event.key !== "Tab") {
229
- return;
230
- }
231
- const elementChildren = Array.from(element.shadowRoot.children || []);
232
- const focusableElements = getFocusableElements(elementChildren, {
233
- filter: options == null ? void 0 : options.filter
234
- });
235
- const filteredFocusableElements = focusableElements.filter((options == null ? void 0 : options.postFilter) ?? (() => true));
236
- if (!filteredFocusableElements.length) {
237
- return;
238
- }
239
- const firstFocusable = filteredFocusableElements[0];
240
- const lastFocusable = filteredFocusableElements[filteredFocusableElements.length - 1];
241
- const [pivot, next] = event.shiftKey ? [firstFocusable, lastFocusable] : [lastFocusable, firstFocusable];
242
- if (firstFocusable.getRootNode().activeElement === pivot || lastFocusable.getRootNode().activeElement === pivot) {
243
- next.focus();
244
- event.preventDefault();
245
- }
246
- }, { signal: this._controller.signal });
247
- }
248
- disconnect() {
249
- this._controller.abort();
250
- this._controller = new AbortController();
251
- }
252
- }
1
+ import { getNextElementIndex, isArrowKeyOrPageKeysPressed, isArrowKeyPressed, isNextArrowKeyPressed, isPreviousArrowKeyPressed } from "./a11y/arrow-navigation.js";
2
+ import { isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from "./a11y/fake-event-detection.js";
3
+ import { SbbFocusVisibleWithinController } from "./a11y/focus-visible-within-controller.js";
4
+ import { IS_FOCUSABLE_QUERY, SbbFocusHandler, getFirstFocusableElement, getFocusableElements } from "./a11y/focus.js";
5
+ import { SbbFocusTrapController } from "./a11y/focus-trap-controller.js";
6
+ import { InteractivityChecker, IsFocusableConfig, hasGeometry, interactivityChecker } from "./a11y/interactivity-checker.js";
7
+ import { sbbInputModalityDetector, setModalityOnNextFocus } from "./a11y/input-modality-detector.js";
253
8
  export {
254
9
  IS_FOCUSABLE_QUERY,
255
10
  InteractivityChecker,
11
+ IsFocusableConfig,
256
12
  SbbFocusHandler,
13
+ SbbFocusTrapController,
257
14
  SbbFocusVisibleWithinController,
258
15
  getFirstFocusableElement,
259
16
  getFocusableElements,
@@ -269,4 +26,4 @@ export {
269
26
  sbbInputModalityDetector,
270
27
  setModalityOnNextFocus
271
28
  };
272
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYTExeS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9hcnJvdy1uYXZpZ2F0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9mYWtlLWV2ZW50LWRldGVjdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ZvY3VzLXZpc2libGUtd2l0aGluLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ludGVyYWN0aXZpdHktY2hlY2tlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvZm9jdXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIFByZXZBbmROZXh0S2V5cyB7XG4gIHByZXZLZXk6IHN0cmluZztcbiAgbmV4dEtleTogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRQcmV2QW5kTmV4dEtleXMoKTogUHJldkFuZE5leHRLZXlzIHtcbiAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tYXRjaGVzKCc6ZGlyKHJ0bCknKSkge1xuICAgIHJldHVybiB7IHByZXZLZXk6ICdBcnJvd1JpZ2h0JywgbmV4dEtleTogJ0Fycm93TGVmdCcgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyBwcmV2S2V5OiAnQXJyb3dMZWZ0JywgbmV4dEtleTogJ0Fycm93UmlnaHQnIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUga2V5IHByZXNzZWQgaXMgYW1vbmcgdGhvc2UgYWxsb3dlZCBmb3IgbmF2aWdhdGlvbi5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Fycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gWydBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50LmtleSk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIHNob3VsZCBtb3ZlIHRoZSBuYXZpZ2F0aW9uIHRvIHRoZSBuZXh0IGVsZW1lbnQuXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcmV2aW91c0Fycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSBnZXRQcmV2QW5kTmV4dEtleXMoKS5wcmV2S2V5O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBzaG91bGQgbW92ZSB0aGUgbmF2aWdhdGlvbiB0byB0aGUgbmV4dCBlbGVtZW50LlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmV4dEFycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyB8fCBldmVudC5rZXkgPT09IGdldFByZXZBbmROZXh0S2V5cygpLm5leHRLZXk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIGlzIGFtb25nIHRob3NlIGFsbG93ZWQgZm9yIG5hdmlnYXRpb24uXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJvd0tleU9yUGFnZUtleXNQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0Fycm93S2V5UHJlc3NlZChldmVudCkgfHwgWydQYWdlVXAnLCAnUGFnZURvd24nLCAnSG9tZScsICdFbmQnXS5pbmNsdWRlcyhldmVudC5rZXkpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgaW5kZXggb2YgdGhlIG5leHQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2l2ZW4gb2Zmc2V0LlxuICogQHBhcmFtIGN1cnJlbnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cbiAqIEBwYXJhbSBtYXhJbmRleCBUaGUgbWF4aW11bSBwZXJtaXR0ZWQgdmFsdWUgKGUuZy4gYXJyYXkgc2l6ZSkuXG4gKiBAcGFyYW0gb2Zmc2V0IFRoZSBhbW91bnQgdG8gbW92ZSBieS5cbiAqL1xuZnVuY3Rpb24gY2FsY05leHRJbmRleEluUmFuZ2UoY3VycmVudEluZGV4OiBudW1iZXIsIG1heEluZGV4OiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIChjdXJyZW50SW5kZXggKyBvZmZzZXQgKyBtYXhJbmRleCkgJSBtYXhJbmRleDtcbn1cblxuZnVuY3Rpb24gZ2V0TGFzdEluZGV4KHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplIC0gMTtcbn1cblxuY29uc3QgZmlyc3RJbmRleCA9IDA7XG5cbi8qKlxuICogR2V0cyB0aGUgaW5kZXggb2YgdGhlIGVsZW1lbnQgdG8gbW92ZSB0bywgYmFzZWQgb24gdGhlIGtleWJvYXJkIGlucHV0LCB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0IGFuZCB0aGUgbGlzdCBzaXplLlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqIEBwYXJhbSBjdXJyZW50IFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0LlxuICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIGxpc3QuXG4gKiBAcmV0dXJucyBpZiBpdCBpcyBhICdwcmV2aW91cycgZXZlbnQsIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBwcmV2aW91cyBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBsYXN0IG9uZSBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIHRoZSBmaXJzdCBpbiB0aGUgbGlzdDtcbiAqIGlmIGl0IGlzIGEgJ25leHQnIGV2ZW50LCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvbmUsIGlmIHRoZSBjdXJyZW50IGlzIHRoZSBsYXN0IGluIHRoZSBsaXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudDogS2V5Ym9hcmRFdmVudCwgY3VycmVudDogbnVtYmVyLCBzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCB7IHByZXZLZXksIG5leHRLZXkgfSA9IGdldFByZXZBbmROZXh0S2V5cygpO1xuXG4gIGlmIChldmVudC5rZXkgPT09IHByZXZLZXkgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICByZXR1cm4gY3VycmVudCA8IGZpcnN0SW5kZXggPyBnZXRMYXN0SW5kZXgoc2l6ZSkgOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAtMSk7XG4gIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSBuZXh0S2V5IHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICByZXR1cm4gY3VycmVudCA+PSBzaXplID8gZmlyc3RJbmRleCA6IGNhbGNOZXh0SW5kZXhJblJhbmdlKGN1cnJlbnQsIHNpemUsIDEpO1xuICB9XG4gIHJldHVybiBjdXJyZW50O1xufVxuIiwiLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvYTExeS9mYWtlLWV2ZW50LWRldGVjdGlvbi50c1xuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGV2ZW50IGNvdWxkIGJlIGEgZmFrZWQgYG1vdXNlZG93bmAgZXZlbnQgZGlzcGF0Y2hlZCBieSBhIHNjcmVlbiByZWFkZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAvLyBTb21lIHNjcmVlbiByZWFkZXJzIHdpbGwgZGlzcGF0Y2ggYSBmYWtlIGBtb3VzZWRvd25gIGV2ZW50IHdoZW4gcHJlc3NpbmcgZW50ZXIgb3Igc3BhY2Ugb25cbiAgLy8gYSBjbGlja2FibGUgZWxlbWVudC4gV2UgY2FuIGRpc3Rpbmd1aXNoIHRoZXNlIGV2ZW50cyB3aGVuIGBldmVudC5idXR0b25zYCBpcyB6ZXJvLCBvclxuICAvLyBgZXZlbnQuZGV0YWlsYCBpcyB6ZXJvIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcjpcbiAgLy8gLSBgZXZlbnQuYnV0dG9uc2Agd29ya3Mgb24gRmlyZWZveCwgYnV0IGZhaWxzIG9uIENocm9tZS5cbiAgLy8gLSBgZGV0YWlsYCB3b3JrcyBvbiBDaHJvbWUsIGJ1dCBmYWlscyBvbiBGaXJlZm94LlxuICByZXR1cm4gZXZlbnQuYnV0dG9ucyA9PT0gMCB8fCBldmVudC5kZXRhaWwgPT09IDA7XG59XG5cbi8qKiBHZXRzIHdoZXRoZXIgYW4gZXZlbnQgY291bGQgYmUgYSBmYWtlZCBgdG91Y2hzdGFydGAgZXZlbnQgZGlzcGF0Y2hlZCBieSBhIHNjcmVlbiByZWFkZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIoZXZlbnQ6IFRvdWNoRXZlbnQpOiBib29sZWFuIHtcbiAgY29uc3QgdG91Y2g6IFRvdWNoIHwgdW5kZWZpbmVkID1cbiAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWzBdKSB8fCAoZXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0pO1xuXG4gIC8vIEEgZmFrZSBgdG91Y2hzdGFydGAgY2FuIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbSBhIHJlYWwgb25lIGJ5IGxvb2tpbmcgYXQgdGhlIGBpZGVudGlmaWVyYFxuICAvLyB3aGljaCBpcyB0eXBpY2FsbHkgPj0gMCBvbiBhIHJlYWwgZGV2aWNlIHZlcnN1cyAtMSBmcm9tIGEgc2NyZWVuIHJlYWRlci4gSnVzdCB0byBiZSBzYWZlLFxuICAvLyB3ZSBjYW4gYWxzbyBsb29rIGF0IGByYWRpdXNYYCBhbmQgYHJhZGl1c1lgLiBUaGlzIGJlaGF2aW9yIHdhcyBvYnNlcnZlZCBhZ2FpbnN0IGEgV2luZG93cyAxMFxuICAvLyBkZXZpY2Ugd2l0aCBhIHRvdWNoIHNjcmVlbiBydW5uaW5nIE5WREEgdjIwMjAuNCBhbmQgRmlyZWZveCA4NSBvciBDaHJvbWUgODguXG4gIHJldHVybiAoXG4gICAgISF0b3VjaCAmJlxuICAgIHRvdWNoLmlkZW50aWZpZXIgPT09IC0xICYmXG4gICAgKHRvdWNoLnJhZGl1c1ggPT0gbnVsbCB8fCB0b3VjaC5yYWRpdXNYID09PSAxKSAmJlxuICAgICh0b3VjaC5yYWRpdXNZID09IG51bGwgfHwgdG91Y2gucmFkaXVzWSA9PT0gMSlcbiAgKTtcbn1cbiIsIi8vIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL2Nkay9hMTF5L2lucHV0LW1vZGFsaXR5L2lucHV0LW1vZGFsaXR5LWRldGVjdG9yLnRzXG5cbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgZ2V0RXZlbnRUYXJnZXQgfSBmcm9tICcuLi9ldmVudGluZy5qcyc7XG5cbmltcG9ydCB7XG4gIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIsXG4gIGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyLFxufSBmcm9tICcuL2Zha2UtZXZlbnQtZGV0ZWN0aW9uLmpzJztcblxuZXhwb3J0IHR5cGUgU2JiSW5wdXRNb2RhbGl0eSA9ICd0b3VjaCcgfCAnbW91c2UnIHwgJ2tleWJvYXJkJyB8ICdwcm9ncmFtJyB8IG51bGw7XG5cbi8qKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3Igb2YgdGhlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci4gKi9cbmludGVyZmFjZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zIHtcbiAgLyoqIEtleXMgdG8gaWdub3JlIHdoZW4gZGV0ZWN0aW5nIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LiAqL1xuICBpZ25vcmVLZXlzPzogbnVtYmVyW107XG59XG5cbmNvbnN0IFNISUZUID0gMTY7XG5jb25zdCBDT05UUk9MID0gMTc7XG5jb25zdCBBTFQgPSAxODtcbmNvbnN0IE1FVEEgPSA5MTsgLy8gV0lOX0tFWV9MRUZUXG5jb25zdCBNQUNfTUVUQSA9IDIyNDtcblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuXG4gKlxuICogTW9kaWZpZXIga2V5cyBhcmUgaWdub3JlZCBieSBkZWZhdWx0IChpLmUuIHdoZW4gcHJlc3NlZCB3b24ndCBjYXVzZSB0aGUgc2VydmljZSB0byBkZXRlY3RcbiAqIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5KSBmb3IgdHdvIHJlYXNvbnM6XG4gKlxuICogMS4gTW9kaWZpZXIga2V5cyBhcmUgY29tbW9ubHkgdXNlZCB3aXRoIG1vdXNlIHRvIHBlcmZvcm0gYWN0aW9ucyBzdWNoIGFzICdyaWdodCBjbGljaycgb3IgJ29wZW5cbiAqICAgIGluIG5ldyB0YWInLCBhbmQgYXJlIHRodXMgbGVzcyByZXByZXNlbnRhdGl2ZSBvZiBhY3R1YWwga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gKiAyLiBWb2ljZU92ZXIgdHJpZ2dlcnMgc29tZSBrZXlib2FyZCBldmVudHMgd2hlbiBsaW5lYXJseSBuYXZpZ2F0aW5nIHdpdGggQ29udHJvbCArIE9wdGlvbiAoYnV0XG4gKiAgICBjb25mdXNpbmdseSBub3Qgd2l0aCBDYXBzIExvY2spLiBUaHVzLCB0byBoYXZlIHBhcml0eSB3aXRoIG90aGVyIHNjcmVlbiByZWFkZXJzLCB3ZSBpZ25vcmVcbiAqICAgIHRoZXNlIGtleXMgc28sIGFzIHRvIG5vdCB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5LlxuICpcbiAqIE5vdGUgdGhhdCB3ZSBkbyBub3QgYnkgZGVmYXVsdCBpZ25vcmUgdGhlIHJpZ2h0IE1ldGEga2V5IG9uIFNhZmFyaSBiZWNhdXNlIGl0IGhhcyB0aGUgc2FtZSBrZXlcbiAqIGNvZGUgYXMgdGhlIENvbnRleHRNZW51IGtleSBvbiBvdGhlciBicm93c2Vycy4gV2hlbiB3ZSBzd2l0Y2ggdG8gdXNpbmcgZXZlbnQua2V5LCB3ZSBjYW5cbiAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3by5cbiAqL1xuY29uc3QgaW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9uczogU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyA9IHtcbiAgaWdub3JlS2V5czogW0FMVCwgQ09OVFJPTCwgTUFDX01FVEEsIE1FVEEsIFNISUZUXSxcbn07XG5cbi8qKlxuICogVGhlIGFtb3VudCBvZiB0aW1lIG5lZWRlZCB0byBwYXNzIGFmdGVyIGEgdG91Y2hzdGFydCBldmVudCBpbiBvcmRlciBmb3IgYSBzdWJzZXF1ZW50IG1vdXNlZG93blxuICogZXZlbnQgdG8gYmUgYXR0cmlidXRlZCBhcyBtb3VzZSBhbmQgbm90IHRvdWNoLlxuICpcbiAqIFRocm91Z2ggdHJpYWwgYW5kIGVycm9yIGl0IHdhcyBmb3VuZCB0aGF0IGEgdmFsdWUgb2YgYXJvdW5kIDY1MG1zIHNlZW1zIGFwcHJvcHJpYXRlLlxuICovXG5jb25zdCB0b3VjaEJ1ZmZlck1zID0gNjUwO1xuXG4vKipcbiAqIEV2ZW50IGxpc3RlbmVyIG9wdGlvbnMgdGhhdCBlbmFibGUgY2FwdHVyaW5nIGFuZCBhbHNvIG1hcmsgdGhlIGxpc3RlbmVyIGFzIHBhc3NpdmUgaWYgdGhlIGJyb3dzZXJcbiAqIHN1cHBvcnRzIGl0LlxuICovXG5jb25zdCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICBwYXNzaXZlOiB0cnVlLFxuICBjYXB0dXJlOiB0cnVlLFxufTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgZGV0ZWN0cyB0aGUgdXNlcidzIGlucHV0IG1vZGFsaXR5LlxuICpcbiAqIFRoaXMgc2VydmljZSBkb2VzIG5vdCB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5IHdoZW4gYSB1c2VyIG5hdmlnYXRlcyB3aXRoIGEgc2NyZWVuIHJlYWRlclxuICogKGUuZy4gbGluZWFyIG5hdmlnYXRpb24gd2l0aCBWb2ljZU92ZXIsIG9iamVjdCBuYXZpZ2F0aW9uIC8gYnJvd3NlIG1vZGUgd2l0aCBOVkRBLCB2aXJ0dWFsIFBDXG4gKiBjdXJzb3IgbW9kZSB3aXRoIEpBV1MpLiBUaGlzIGlzIGluIHBhcnQgZHVlIHRvIHRlY2huaWNhbCBsaW1pdGF0aW9ucyAoaS5lLiBrZXlib2FyZCBldmVudHMgZG8gbm90XG4gKiBmaXJlIGFzIGV4cGVjdGVkIGluIHRoZXNlIG1vZGVzKSBidXQgaXMgYWxzbyBhcmd1YWJseSB0aGUgY29ycmVjdCBiZWhhdmlvci4gTmF2aWdhdGluZyB3aXRoIGFcbiAqIHNjcmVlbiByZWFkZXIgaXMgYWtpbiB0byB2aXN1YWxseSBzY2FubmluZyBhIHBhZ2UsIGFuZCBzaG91bGQgbm90IGJlIGludGVycHJldGVkIGFzIGFjdHVhbCB1c2VyXG4gKiBpbnB1dCBpbnRlcmFjdGlvbi5cbiAqXG4gKiBXaGVuIGEgdXNlciBpcyBub3QgbmF2aWdhdGluZyBidXQgKmludGVyYWN0aW5nKiB3aXRoIGEgc2NyZWVuIHJlYWRlciwgdGhpcyBzZXJ2aWNlIGF0dGVtcHRzIHRvXG4gKiB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5IHRvIGtleWJvYXJkLCBidXQgaW4gZ2VuZXJhbCB0aGlzIHNlcnZpY2UncyBiZWhhdmlvciBpcyBsYXJnZWx5XG4gKiB1bmRlZmluZWQuXG4gKi9cbmNsYXNzIFNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB7XG4gIC8qKiBUaGUgbW9zdCByZWNlbnRseSBkZXRlY3RlZCBpbnB1dCBtb2RhbGl0eS4gKi9cbiAgcHVibGljIGdldCBtb3N0UmVjZW50TW9kYWxpdHkoKTogU2JiSW5wdXRNb2RhbGl0eSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vc3QgcmVjZW50IG1vZGFsaXR5IG11c3QgYmUgaW5pdGlhbGlzZWQgd2l0aCB0aGUgdmFsdWUgJ21vdXNlJyB0byBjb3ZlciB0aGUgY2FzZSB3aGVyZSBhbiBhY3Rpb24gaXNcbiAgICogcGVyZm9ybWVkIGJ1dCBubyBtb3VzZSBvciBrZXlib2FyZCBldmVudCBoYXMgeWV0IG9jY3VycmVkIG9uIHRoZSBwYWdlIChlLmcuIGBzYmItcG9wb3ZlcmAgd2l0aCBob3ZlciB0cmlnZ2VyKS5cbiAgICovXG4gIHByaXZhdGUgX21vc3RSZWNlbnRNb2RhbGl0eTogU2JiSW5wdXRNb2RhbGl0eSB8IG51bGwgPSAnbW91c2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCByZWNlbnRseSBkZXRlY3RlZCBpbnB1dCBtb2RhbGl0eSBldmVudCB0YXJnZXQuIElzIG51bGwgaWYgbm8gaW5wdXQgbW9kYWxpdHkgaGFzIGJlZW5cbiAgICogZGV0ZWN0ZWQgb3IgaWYgdGhlIGFzc29jaWF0ZWQgZXZlbnQgdGFyZ2V0IGlzIG51bGwgZm9yIHNvbWUgdW5rbm93biByZWFzb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1vc3RSZWNlbnRUYXJnZXQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbW9zdFJlY2VudFRhcmdldDtcbiAgfVxuICBwcml2YXRlIF9tb3N0UmVjZW50VGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPcHRpb25zIGZvciB0aGlzIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyA9IHtcbiAgICAuLi5pbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zLFxuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRvdWNoIGlucHV0IG1vZGFsaXR5LiBVc2VkIHRvIGRldGVybWluZSB3aGV0aGVyIG1vdXNlZG93biBldmVudHNcbiAgICogc2hvdWxkIGJlIGF0dHJpYnV0ZWQgdG8gbW91c2Ugb3IgdG91Y2guXG4gICAqL1xuICBwcml2YXRlIF9sYXN0VG91Y2hNcyA9IDA7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleWRvd24sIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5fb25Nb3VzZWRvd24sIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMuX29uVG91Y2hzdGFydCwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSA9ICdtb3VzZSc7XG4gICAgdGhpcy5fbW9zdFJlY2VudFRhcmdldCA9IG51bGw7XG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMga2V5ZG93biBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdCBnZXRzXG4gICAqIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gSWYgdGhpcyBpcyBvbmUgb2YgdGhlIGtleXMgd2Ugc2hvdWxkIGlnbm9yZSwgdGhlbiBpZ25vcmUgaXQgYW5kIGRvbid0IHVwZGF0ZSB0aGUgaW5wdXRcbiAgICAvLyBtb2RhbGl0eSB0byBrZXlib2FyZC5cbiAgICBpZiAodGhpcy5fb3B0aW9ucz8uaWdub3JlS2V5cz8uc29tZSgoa2V5Q29kZSkgPT4ga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSAna2V5Ym9hcmQnO1xuICAgIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2Vkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0XG4gICAqIGdldHMgYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbk1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFRvdWNoZXMgdHJpZ2dlciBib3RoIHRvdWNoIGFuZCBtb3VzZSBldmVudHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBtb3VzZSBldmVudHNcbiAgICAvLyB0aGF0IHdlcmUgdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC4gVG8gZG8gc28sIGNoZWNrIGlmIHRoZSBtb3VzZSBldmVudCBvY2N1cnMgY2xvc2VseVxuICAgIC8vIGFmdGVyIHRoZSBwcmV2aW91cyB0b3VjaCBldmVudC5cbiAgICBpZiAoRGF0ZS5ub3coKSAtIHRoaXMuX2xhc3RUb3VjaE1zIDwgdG91Y2hCdWZmZXJNcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEZha2UgbW91c2Vkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnkgc29tZSBzY3JlZW4gcmVhZGVycyB3aGVuIGNvbnRyb2xzIGFyZSBhY3RpdmF0ZWQgYnkgdGhlXG4gICAgLy8gc2NyZWVuIHJlYWRlci4gQXR0cmlidXRlIHRoZW0gdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5ID0gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkgPyAna2V5Ym9hcmQnIDogJ21vdXNlJztcbiAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRvdWNoc3RhcnQgZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uVG91Y2hzdGFydCA9IChldmVudDogVG91Y2hFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFNhbWUgc2NlbmFyaW8gYXMgbWVudGlvbmVkIGluIF9vbk1vdXNlZG93biwgYnV0IG9uIHRvdWNoIHNjcmVlbiBkZXZpY2VzLCBmYWtlIHRvdWNoc3RhcnRcbiAgICAvLyBldmVudHMgYXJlIGZpcmVkLiBBZ2FpbiwgYXR0cmlidXRlIHRvIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LlxuICAgIGlmIChpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcbiAgICAgIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0b3JlIHRoZSB0aW1lc3RhbXAgb2YgdGhpcyB0b3VjaCBldmVudCwgYXMgaXQncyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gbW91c2UgZXZlbnRzXG4gICAgLy8gdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC5cbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IERhdGUubm93KCk7XG5cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSAndG91Y2gnO1xuICAgIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgPSBuZXcgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yKCk7XG5cbi8vIFNldCB0aGUgaW5wdXQgbW9kYWxpdHkgaW4gb3JkZXIgdG8gYXZvaWQgc2hvd2luZyB0aGUgb3V0bGluZSBpbiBTYWZhcmkuXG5leHBvcnQgZnVuY3Rpb24gc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhlbGVtZW50VG9Gb2N1czogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gIGlmICghZWxlbWVudFRvRm9jdXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtb3N0UmVjZW50TW9kYWxpdHkgPSBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5O1xuXG4gIC8vIFNldCBmb2N1cyBvcmlnaW4gdG8gZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1c1xuICBpZiAoIShlbGVtZW50VG9Gb2N1cyAmJiBtb3N0UmVjZW50TW9kYWxpdHkgIT09IG51bGwpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGVsZW1lbnRUb0ZvY3VzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgJ2ZvY3VzJyxcbiAgICAoKSA9PiB7XG4gICAgICBlbGVtZW50VG9Gb2N1cy5zZXRBdHRyaWJ1dGUoJ2RhdGEtZm9jdXMtb3JpZ2luJywgbW9zdFJlY2VudE1vZGFsaXR5KTtcbiAgICAgIGVsZW1lbnRUb0ZvY3VzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCkgPT4gZWxlbWVudFRvRm9jdXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWZvY3VzLW9yaWdpbicpLFxuICAgICAgICB7XG4gICAgICAgICAgb25jZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSxcbiAgICB7IG9uY2U6IHRydWUgfSxcbiAgKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5cbi8vIERldGVybWluZSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIHZpc2libGUgZm9jdXMgd2l0aGluLlxuZXhwb3J0IGNsYXNzIFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNpbkhhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nLFxuICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2ZvY3Vzb3V0SGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKTtcbiAgfTtcblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBoYXNHZW9tZXRyeShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAvLyBVc2UgbG9naWMgZnJvbSBqUXVlcnkgdG8gY2hlY2sgZm9yIGFuIGludmlzaWJsZSBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9qcXVlcnkvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9oaWRkZW5WaXNpYmxlU2VsZWN0b3JzLmpzI0wxMlxuICByZXR1cm4gISEoXG4gICAgZWxlbWVudC5vZmZzZXRXaWR0aCB8fFxuICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8XG4gICAgKHR5cGVvZiBlbGVtZW50LmdldENsaWVudFJlY3RzID09PSAnZnVuY3Rpb24nICYmIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICBpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXIgaW1wbGVtZW50cyBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciB7XG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBpcyB2aXNpYmxlIGZvciB0aGUgcHVycG9zZXMgb2YgaW50ZXJhY3Rpdml0eS5cbiAgICpcbiAgICogVGhpcyB3aWxsIGNhcHR1cmUgc3RhdGVzIGxpa2UgYGRpc3BsYXk6IG5vbmVgIGFuZCBgdmlzaWJpbGl0eTogaGlkZGVuYCwgYnV0IG5vdCB0aGluZ3MgbGlrZVxuICAgKiBiZWluZyBjbGlwcGVkIGJ5IGFuIGBvdmVyZmxvdzogaGlkZGVuYCBwYXJlbnQgb3IgYmVpbmcgb3V0c2lkZSB0aGUgdmlld3BvcnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZS5cbiAgICovXG4gIHB1YmxpYyBpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzR2VvbWV0cnkoZWxlbWVudCkgJiYgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS52aXNpYmlsaXR5ID09PSAndmlzaWJsZSc7XG4gIH1cbn1cblxuY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXJNb2NrIGltcGxlbWVudHMgSW50ZXJmYWNlSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICBwdWJsaWMgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8vIEZvciB1bml0IHRlc3RzIHdlIG5lZWQgdG8gcHJldGVuZCB0aGF0IGFuIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUuXG4vLyBUaGlzIGNhbiBiZSBkb25lIGJ5IGNoZWNraW5nIGlmIHZpc2liaWxpdHkgcHJvcGVydHkgaXMgc2V0IHRvIGVtcHR5LlxuZXhwb3J0IGNvbnN0IGludGVyYWN0aXZpdHlDaGVja2VyOiBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciA9XG4gIHR5cGVvZiBnZXRDb21wdXRlZFN0eWxlID09PSAndW5kZWZpbmVkJyB8fFxuICBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkudmlzaWJpbGl0eSA9PT0gJydcbiAgICA/IG5ldyBJbnRlcmFjdGl2aXR5Q2hlY2tlck1vY2soKVxuICAgIDogbmV3IEludGVyYWN0aXZpdHlDaGVja2VyKCk7XG4iLCJpbXBvcnQgeyBpbnRlcmFjdGl2aXR5Q2hlY2tlciB9IGZyb20gJy4vaW50ZXJhY3Rpdml0eS1jaGVja2VyLmpzJztcblxuZXhwb3J0IGNvbnN0IElTX0ZPQ1VTQUJMRV9RVUVSWSA9IFtcbiAgJ2J1dHRvbicsXG4gICdbaHJlZl0nLFxuICAnaW5wdXQnLFxuICAnc2VsZWN0JyxcbiAgJ3RleHRhcmVhJyxcbiAgJ2RldGFpbHMnLFxuICAnc3VtbWFyeScsXG4gICdbdGFiaW5kZXhdJyxcbl1cbiAgLm1hcCgoc2VsZWN0b3IpID0+IGAke3NlbGVjdG9yfTpub3QoW2Rpc2FibGVkXSw6ZGlzYWJsZWQsW3RhYmluZGV4PVwiLTFcIl0sW2luZXJ0XSlgKVxuICAuam9pbignLCcpO1xuXG4vLyBOb3RlOiB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24gZm9yIG1vcmUgY29tcGxleCBzY2VuYXJpb3MgKHdpdGggbWFueSBuZXN0ZWQgZWxlbWVudHMpIG1heSBiZSBleHBlbnNpdmUuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoXG4gIGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdLFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIGZpbHRlcj86IChlbDogSFRNTEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgZmluZEZpcnN0Rm9jdXNhYmxlPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlSW52aXNpYmxlRWxlbWVudHM/OiBib29sZWFuO1xuICB9LFxuKTogSFRNTEVsZW1lbnRbXSB7XG4gIGNvbnN0IGZvY3VzYWJsZUVscyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XG5cbiAgZnVuY3Rpb24gZ2V0Rm9jdXNhYmxlcyhlbGVtZW50czogSFRNTEVsZW1lbnRbXSwgZmlsdGVyPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gYm9vbGVhbik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmIChmaWx0ZXIgJiYgIWZpbHRlcihlbCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbC5ub2RlTmFtZSA9PT0gJ1NMT1QnKSB7XG4gICAgICAgIGdldEZvY3VzYWJsZXMoXG4gICAgICAgICAgQXJyYXkuZnJvbSgoZWwgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZEVsZW1lbnRzKCkpIGFzIEhUTUxFbGVtZW50W10sXG4gICAgICAgICAgZmlsdGVyLFxuICAgICAgICApO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBlbC5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkgJiZcbiAgICAgICAgKHByb3BlcnRpZXM/LmluY2x1ZGVJbnZpc2libGVFbGVtZW50cyA/PyBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1Zpc2libGUoZWwpKVxuICAgICAgKSB7XG4gICAgICAgIGZvY3VzYWJsZUVscy5hZGQoZWwpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydGllcz8uZmluZEZpcnN0Rm9jdXNhYmxlICYmIGZvY3VzYWJsZUVscy5zaXplID4gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKGVsLmNoaWxkcmVuLmxlbmd0aCB8fCBlbC5zaGFkb3dSb290Py5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKGVsLmNoaWxkcmVuKS5sZW5ndGhcbiAgICAgICAgICA/IChBcnJheS5mcm9tKGVsLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdKVxuICAgICAgICAgIDogKEFycmF5LmZyb20oZWwuc2hhZG93Um9vdCEuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W10pO1xuICAgICAgICBnZXRGb2N1c2FibGVzKGNoaWxkcmVuLCBmaWx0ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXRGb2N1c2FibGVzKGVsZW1lbnRzLCBwcm9wZXJ0aWVzPy5maWx0ZXIpO1xuXG4gIHJldHVybiBbLi4uZm9jdXNhYmxlRWxzXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChcbiAgZWxlbWVudHM6IEhUTUxFbGVtZW50W10sXG4gIGZpbHRlcj86IChlbDogSFRNTEVsZW1lbnQpID0+IGJvb2xlYW4sXG4pOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnRzLCB7XG4gICAgZmlsdGVyLFxuICAgIGZpbmRGaXJzdEZvY3VzYWJsZTogdHJ1ZSxcbiAgfSk7XG4gIHJldHVybiBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggPyBmb2N1c2FibGVFbGVtZW50c1swXSA6IG51bGw7XG59XG5cbi8vIFRPRE86IENvbnZlcnQgdG8gQ29udHJvbGxlciBhbmQgaGFuZGxlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIGhlcmUgd2l0aCBob3N0RGlzY29ubmVjdGVkKCkuXG5leHBvcnQgY2xhc3MgU2JiRm9jdXNIYW5kbGVyIHtcbiAgcHJpdmF0ZSBfY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQHBhcmFtIGVsZW1lbnQgaW4gd2hpY2ggdGhlIGZvY3VzIHNob3VsZCBiZSB0cmFwcGVkLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIG9wdGlvbnMuZmlsdGVyIGZpbHRlciBmdW5jdGlvbiB3aGljaCBpcyBhcHBsaWVkIGR1cmluZyBzZWFyY2hpbmcgZm9yIGZvY3VzYWJsZSBlbGVtZW50LiBJZiBhbiBlbGVtZW50IGlzIGZpbHRlcmVkLCBhbHNvIGNoaWxkIGVsZW1lbnRzIGFyZSBmaWx0ZXJlZC5cbiAgICogQHBhcmFtIG9wdGlvbnMucG9zdEZpbHRlciBmaWx0ZXIgZnVuY3Rpb24gd2hpY2ggaXMgYXBwbGllZCBhZnRlciBjb2xsZWN0aW5nIGZvY3VzYWJsZSBlbGVtZW50cy5cbiAgICovXG4gIHB1YmxpYyB0cmFwKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBmaWx0ZXI/OiAoZWw6IEhUTUxFbGVtZW50KSA9PiBib29sZWFuO1xuICAgICAgcG9zdEZpbHRlcj86IChlbDogSFRNTEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgfSxcbiAgKTogdm9pZCB7XG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgIT09ICdUYWInKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRHluYW1pY2FsbHkgZ2V0IGZpcnN0IGFuZCBsYXN0IGZvY3VzYWJsZSBlbGVtZW50LCBhcyB0aGlzIG1pZ2h0IGhhdmUgY2hhbmdlZCBzaW5jZSBvcGVuaW5nIG92ZXJsYXlcbiAgICAgICAgY29uc3QgZWxlbWVudENoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gQXJyYXkuZnJvbShcbiAgICAgICAgICBlbGVtZW50LnNoYWRvd1Jvb3QhLmNoaWxkcmVuIHx8IFtdLFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50W107XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoZWxlbWVudENoaWxkcmVuLCB7XG4gICAgICAgICAgZmlsdGVyOiBvcHRpb25zPy5maWx0ZXIsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZEZvY3VzYWJsZUVsZW1lbnRzID0gZm9jdXNhYmxlRWxlbWVudHMuZmlsdGVyKFxuICAgICAgICAgIG9wdGlvbnM/LnBvc3RGaWx0ZXIgPz8gKCgpID0+IHRydWUpLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZmlsdGVyZWRGb2N1c2FibGVFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IGZpbHRlcmVkRm9jdXNhYmxlRWxlbWVudHNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGUgPSBmaWx0ZXJlZEZvY3VzYWJsZUVsZW1lbnRzW1xuICAgICAgICAgIGZpbHRlcmVkRm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMVxuICAgICAgICBdIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGNvbnN0IFtwaXZvdCwgbmV4dF0gPSBldmVudC5zaGlmdEtleVxuICAgICAgICAgID8gW2ZpcnN0Rm9jdXNhYmxlLCBsYXN0Rm9jdXNhYmxlXVxuICAgICAgICAgIDogW2xhc3RGb2N1c2FibGUsIGZpcnN0Rm9jdXNhYmxlXTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgKGZpcnN0Rm9jdXNhYmxlLmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5hY3RpdmVFbGVtZW50ID09PSBwaXZvdCB8fFxuICAgICAgICAgIChsYXN0Rm9jdXNhYmxlLmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5hY3RpdmVFbGVtZW50ID09PSBwaXZvdFxuICAgICAgICApIHtcbiAgICAgICAgICBuZXh0LmZvY3VzKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl9jb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sbGVyLmFib3J0KCk7XG4gICAgdGhpcy5fY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImVsZW1lbnRzIl0sIm1hcHBpbmdzIjoiOztBQUtBLFNBQVMscUJBQWtCO0FBQ3pCLE1BQUksU0FBUyxnQkFBZ0IsUUFBUSxXQUFXLEdBQUc7QUFDakQsV0FBTyxFQUFFLFNBQVMsY0FBYyxTQUFTLFlBQVc7QUFBQSxFQUFBLE9BQy9DO0FBQ0wsV0FBTyxFQUFFLFNBQVMsYUFBYSxTQUFTLGFBQVk7QUFBQSxFQUFBO0FBRXhEO0FBTU0sU0FBVSxrQkFBa0IsT0FBb0I7QUFDN0MsU0FBQSxDQUFDLGNBQWMsYUFBYSxXQUFXLFdBQVcsRUFBRSxTQUFTLE1BQU0sR0FBRztBQUMvRTtBQU1NLFNBQVUsMEJBQTBCLE9BQW9CO0FBQzVELFNBQU8sTUFBTSxRQUFRLGFBQWEsTUFBTSxRQUFRLHFCQUFxQjtBQUN2RTtBQU1NLFNBQVUsc0JBQXNCLE9BQW9CO0FBQ3hELFNBQU8sTUFBTSxRQUFRLGVBQWUsTUFBTSxRQUFRLHFCQUFxQjtBQUN6RTtBQU1NLFNBQVUsNEJBQTRCLE9BQW9CO0FBQ3ZELFNBQUEsa0JBQWtCLEtBQUssS0FBSyxDQUFDLFVBQVUsWUFBWSxRQUFRLEtBQUssRUFBRSxTQUFTLE1BQU0sR0FBRztBQUM3RjtBQVFBLFNBQVMscUJBQXFCLGNBQXNCLFVBQWtCLFFBQWM7QUFDMUUsVUFBQSxlQUFlLFNBQVMsWUFBWTtBQUM5QztBQUVBLFNBQVMsYUFBYSxNQUFZO0FBQ2hDLFNBQU8sT0FBTztBQUNoQjtBQUVBLE1BQU0sYUFBYTtBQVlILFNBQUEsb0JBQW9CLE9BQXNCLFNBQWlCLE1BQVk7QUFDckYsUUFBTSxFQUFFLFNBQVMsWUFBWTtBQUU3QixNQUFJLE1BQU0sUUFB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
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYTExeS5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7In0=
@@ -0,0 +1,62 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { LitElement, html } from "lit";
3
+ import { hostAttributes } from "../decorators.js";
4
+ let SbbActionBaseElement = (() => {
5
+ var _a;
6
+ let _classDecorators = [hostAttributes({
7
+ "data-action": ""
8
+ })];
9
+ let _classDescriptor;
10
+ let _classExtraInitializers = [];
11
+ let _classThis;
12
+ let _classSuper = LitElement;
13
+ _a = class extends _classSuper {
14
+ get maybeDisabled() {
15
+ const maybeDisabled = this;
16
+ return maybeDisabled.disabled || maybeDisabled.formDisabled;
17
+ }
18
+ get maybeDisabledInteractive() {
19
+ return this.disabledInteractive;
20
+ }
21
+ connectedCallback() {
22
+ var _a2;
23
+ super.connectedCallback();
24
+ if ((this.hasAttribute("data-link") || this.hasAttribute("data-button")) && ((_a2 = this.parentElement) == null ? void 0 : _a2.closest("[data-link], [data-button], a, button"))) {
25
+ console.warn(`Nested action element detected (${this.localName} inside ${this.parentElement.closest("[data-link], [data-button], a, button").localName}). Maybe use a static variant for the inner action element?`, this);
26
+ }
27
+ }
28
+ setupBaseEventHandlers() {
29
+ this.addEventListener(
30
+ "click",
31
+ (event) => {
32
+ if (this.maybeDisabled && !this.maybeDisabledInteractive) {
33
+ event.preventDefault();
34
+ event.stopImmediatePropagation();
35
+ }
36
+ },
37
+ // capture is necessary here, as this event handler needs to be executed before any other
38
+ // in order to stop immediate propagation in the disabled case.
39
+ { capture: true }
40
+ );
41
+ }
42
+ /** Override this method to render the component template. */
43
+ renderTemplate() {
44
+ throw new Error("Implementation needed!");
45
+ }
46
+ /** Default render method for button-like components. */
47
+ render() {
48
+ return html`<span class="sbb-action-base ${this.localName}">${this.renderTemplate()}</span>`;
49
+ }
50
+ }, _classThis = _a, (() => {
51
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
52
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
53
+ _classThis = _classDescriptor.value;
54
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
+ __runInitializers(_classThis, _classExtraInitializers);
56
+ })(), _a;
57
+ return _classThis;
58
+ })();
59
+ export {
60
+ SbbActionBaseElement
61
+ };
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy9hY3Rpb24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuXG4vKipcbiAqIFdoZW5ldmVyIGFuIGVsZW1lbnQgY2FuIGJlIGRpc2FibGVkIGl0IGhhcyBkaXNhYmxlZCBwcm9wZXJ0eVxuICogb3IgZm9ybURpc2FibGVkIGlmIGl0J3MgYSBmb3JtIGVsZW1lbnQuXG4gKiBCZWNhdXNlIHdlIGNhbid0IHVzZSB0eXBlcyBoZXJlIGRpcmVjdGx5IHdlIGNyZWF0ZWQgdGhpcyBoZWxwZXIgdHlwZS5cbiAqL1xudHlwZSBNYXliZURpc2FibGVkID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGZvcm1EaXNhYmxlZD86IGJvb2xlYW47XG4gIGRpc2FibGVkSW50ZXJhY3RpdmU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0XG5AaG9zdEF0dHJpYnV0ZXMoe1xuICAnZGF0YS1hY3Rpb24nOiAnJyxcbn0pXG5hYnN0cmFjdCBjbGFzcyBTYmJBY3Rpb25CYXNlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwcm90ZWN0ZWQgZ2V0IG1heWJlRGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWF5YmVEaXNhYmxlZCA9IHRoaXMgYXMgTWF5YmVEaXNhYmxlZDtcbiAgICByZXR1cm4gbWF5YmVEaXNhYmxlZC5kaXNhYmxlZCB8fCBtYXliZURpc2FibGVkLmZvcm1EaXNhYmxlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbWF5YmVEaXNhYmxlZEludGVyYWN0aXZlKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcyBhcyBNYXliZURpc2FibGVkKS5kaXNhYmxlZEludGVyYWN0aXZlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBpZiAoXG4gICAgICBpbXBvcnQubWV0YS5lbnYuREVWICYmXG4gICAgICAodGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbGluaycpIHx8IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWJ1dHRvbicpKSAmJlxuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdbZGF0YS1saW5rXSwgW2RhdGEtYnV0dG9uXSwgYSwgYnV0dG9uJylcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE5lc3RlZCBhY3Rpb24gZWxlbWVudCBkZXRlY3RlZCAoJHt0aGlzLmxvY2FsTmFtZX0gaW5zaWRlICR7dGhpcy5wYXJlbnRFbGVtZW50IS5jbG9zZXN0KCdbZGF0YS1saW5rXSwgW2RhdGEtYnV0dG9uXSwgYSwgYnV0dG9uJykhLmxvY2FsTmFtZX0pLiBNYXliZSB1c2UgYSBzdGF0aWMgdmFyaWFudCBmb3IgdGhlIGlubmVyIGFjdGlvbiBlbGVtZW50P2AsXG4gICAgICAgIHRoaXMsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjbGljaycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWF5YmVEaXNhYmxlZCAmJiAhdGhpcy5tYXliZURpc2FibGVkSW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gY2FwdHVyZSBpcyBuZWNlc3NhcnkgaGVyZSwgYXMgdGhpcyBldmVudCBoYW5kbGVyIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSBhbnkgb3RoZXJcbiAgICAgIC8vIGluIG9yZGVyIHRvIHN0b3AgaW1tZWRpYXRlIHByb3BhZ2F0aW9uIGluIHRoZSBkaXNhYmxlZCBjYXNlLlxuICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byByZW5kZXIgdGhlIGNvbXBvbmVudCB0ZW1wbGF0ZS4gKi9cbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltcGxlbWVudGF0aW9uIG5lZWRlZCEnKTtcbiAgfVxuXG4gIC8qKiBEZWZhdWx0IHJlbmRlciBtZXRob2QgZm9yIGJ1dHRvbi1saWtlIGNvbXBvbmVudHMuICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLWFjdGlvbi1iYXNlICR7dGhpcy5sb2NhbE5hbWV9XCI+JHt0aGlzLnJlbmRlclRlbXBsYXRlKCl9PC9zcGFuPmA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7O0lBbUJlLHdCQUFvQixNQUFBOztBQUhsQyxNQUFBLG1CQUFBLENBQUEsZUFBZTtBQUFBLElBQ2QsZUFBZTtBQUFBLEVBQUEsQ0FDaEIsQ0FBQzs7OztvQkFDMEM7QUFBUixFQUFBLG1CQUFRLFlBQVU7QUFBQSxJQUNwRCxJQUFjLGdCQUFhO0FBQ3pCLFlBQU0sZ0JBQWdCO0FBQ2YsYUFBQSxjQUFjLFlBQVksY0FBYztBQUFBLElBQUE7QUFBQSxJQUdqRCxJQUFjLDJCQUF3QjtBQUNwQyxhQUFRLEtBQXVCO0FBQUEsSUFBQTtBQUFBLElBR2pCLG9CQUFpQjs7QUFDL0IsWUFBTSxrQkFBaUI7QUFFdkIsV0FFRyxLQUFLLGFBQWEsV0FBVyxLQUFLLEtBQUssYUFBYSxhQUFhLFFBQ2xFQSxNQUFBLEtBQUssa0JBQUwsZ0JBQUFBLElBQW9CLFFBQVEsMkNBQzVCO0FBQ0EsZ0JBQVEsS0FDTixtQ0FBbUMsS0FBSyxTQUFTLFdBQVcsS0FBSyxjQUFlLFFBQVEsdUNBQXVDLEVBQUcsU0FBUywrREFDM0ksSUFBSTtBQUFBLE1BQUE7QUFBQSxJQUVSO0FBQUEsSUFHUSx5QkFBc0I7QUFDekIsV0FBQTtBQUFBLFFBQ0g7QUFBQSxRQUNBLENBQUMsVUFBUztBQUNSLGNBQUksS0FBSyxpQkFBaUIsQ0FBQyxLQUFLLDBCQUEwQjtBQUN4RCxrQkFBTSxlQUFjO0FBQ3BCLGtCQUFNLHlCQUF3QjtBQUFBLFVBQUE7QUFBQSxRQUVsQztBQUFBO0FBQUE7QUFBQSxRQUdBLEVBQUUsU0FBUyxLQUFJO0FBQUEsTUFBRTtBQUFBLElBQUE7QUFBQTtBQUFBLElBS1gsaUJBQWM7QUFDaEIsWUFBQSxJQUFJLE1BQU0sd0JBQXdCO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJdkIsU0FBTTtBQUN2QixhQUFPLG9DQUFvQyxLQUFLLFNBQVMsS0FBSyxLQUFLLGVBQWdCLENBQUE7QUFBQSxJQUFBO0FBQUEsRUFDckY7O0FBaERGLGlCQWlEQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBakRjLHNCQUFvQixZQUFBLHVCQUFBO0FBQUEsRUFBQSxNQUFDOzs7In0=
@@ -1 +1 @@
1
- {"version":3,"file":"button-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/base-elements/button-base-element.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;;AAE1D,yBAAyB;AACzB,8BAKe,oBAAqB,SAAQ,yBAA4C;IACtF,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAA+B;IAExF;;;OAGG;IACH,IACoB,IAAI,CAAC,IAAI,EAAE,aAAa,EAE3C;IACD,IAAoB,IAAI,IAAI,aAAa,CAExC;IAED,yDAAyD;IACzD,IACoB,IAAI,CAAC,KAAK,EAAE,MAAM,EAGrC;IACD,IAAoB,IAAI,IAAI,eAAe,GAAG,IAAI,CAMjD;IACD,OAAO,CAAC,OAAO,CAAc;;IA4Bb,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAM5C,OAAO,CAAC,kBAAkB,CAaxB;IAEF,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,4BAA4B,CAKlC;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B,CAKrC;IAEF,OAAO,CAAC,YAAY,CA6BlB;IAEF,OAAO,CAAC,mBAAmB,CAezB;IAEc,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;IAMP;;;OAGG;IACa,iBAAiB,IAAI,IAAI;IAEzC;;;OAGG;IACa,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAEP;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAClC"}
1
+ {"version":3,"file":"button-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/base-elements/button-base-element.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;;AAE1D,yBAAyB;AACzB,8BAKe,oBAAqB,SAAQ,yBAA4C;IACtF,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAA+B;IAExF;;;OAGG;IACH,IACoB,IAAI,CAAC,IAAI,EAAE,aAAa,EAE3C;IACD,IAAoB,IAAI,IAAI,aAAa,CAExC;IAED,yDAAyD;IACzD,IACoB,IAAI,CAAC,KAAK,EAAE,MAAM,EAGrC;IACD,IAAoB,IAAI,IAAI,eAAe,GAAG,IAAI,CAQjD;IACD,OAAO,CAAC,OAAO,CAAc;;IA4Bb,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAM5C,OAAO,CAAC,kBAAkB,CAaxB;IAEF,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,4BAA4B,CAKlC;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B,CAKrC;IAEF,OAAO,CAAC,YAAY,CA6BlB;IAEF,OAAO,CAAC,mBAAmB,CAezB;IAEc,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;IAMP;;;OAGG;IACa,iBAAiB,IAAI,IAAI;IAEzC;;;OAGG;IACa,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAEP;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAClC"}