@sbb-esta/lyne-elements 2.6.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1856) 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.js +262 -0
  22. package/autocomplete/autocomplete.js +70 -0
  23. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +109 -0
  24. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +63 -0
  25. package/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
  26. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
  27. package/autocomplete-grid/autocomplete-grid-button.js +2 -61
  28. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +26 -0
  29. package/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
  30. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
  31. package/autocomplete-grid/autocomplete-grid-cell.js +2 -24
  32. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +33 -0
  33. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
  34. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
  35. package/autocomplete-grid/autocomplete-grid-optgroup.js +2 -31
  36. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +49 -0
  37. package/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
  38. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
  39. package/autocomplete-grid/autocomplete-grid-option.js +3 -47
  40. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +29 -0
  41. package/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
  42. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
  43. package/autocomplete-grid/autocomplete-grid-row.js +2 -27
  44. package/autocomplete-grid/autocomplete-grid.d.ts +3 -0
  45. package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  46. package/autocomplete-grid/autocomplete-grid.js +2 -107
  47. package/autocomplete-grid.d.ts +3 -0
  48. package/autocomplete-grid.d.ts.map +1 -1
  49. package/autocomplete-grid.js +15 -6
  50. package/autocomplete.d.ts +3 -0
  51. package/autocomplete.d.ts.map +1 -1
  52. package/autocomplete.js +5 -321
  53. package/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  54. package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  55. package/breadcrumb/breadcrumb/breadcrumb.js +29 -0
  56. package/breadcrumb/breadcrumb-group/breadcrumb-group.js +141 -0
  57. package/breadcrumb/breadcrumb-group.d.ts +3 -0
  58. package/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  59. package/breadcrumb/breadcrumb-group.js +2 -139
  60. package/breadcrumb/breadcrumb.d.ts +3 -0
  61. package/breadcrumb/breadcrumb.d.ts.map +1 -1
  62. package/breadcrumb/breadcrumb.js +2 -50
  63. package/breadcrumb.d.ts +3 -0
  64. package/breadcrumb.d.ts.map +1 -1
  65. package/breadcrumb.js +6 -2
  66. package/button/accent-button/accent-button.js +17 -0
  67. package/button/accent-button-link/accent-button-link.js +17 -0
  68. package/button/accent-button-link.d.ts +3 -0
  69. package/button/accent-button-link.d.ts.map +1 -1
  70. package/button/accent-button-link.js +2 -15
  71. package/button/accent-button-static/accent-button-static.js +17 -0
  72. package/button/accent-button-static.d.ts +3 -0
  73. package/button/accent-button-static.d.ts.map +1 -1
  74. package/button/accent-button-static.js +2 -15
  75. package/button/accent-button.d.ts +3 -0
  76. package/button/accent-button.d.ts.map +1 -1
  77. package/button/accent-button.js +2 -15
  78. package/button/button/button.js +17 -0
  79. package/button/button-link/button-link.js +17 -0
  80. package/button/button-link.d.ts +3 -0
  81. package/button/button-link.d.ts.map +1 -1
  82. package/button/button-link.js +2 -15
  83. package/button/button-static/button-static.js +17 -0
  84. package/button/button-static.d.ts +3 -0
  85. package/button/button-static.d.ts.map +1 -1
  86. package/button/button-static.js +2 -15
  87. package/button/button.d.ts +3 -0
  88. package/button/button.d.ts.map +1 -1
  89. package/button/button.js +2 -15
  90. package/button/common/button-common.js +51 -0
  91. package/button/common.d.ts +3 -0
  92. package/button/common.d.ts.map +1 -1
  93. package/button/common.js +8 -55
  94. package/button/mini-button/mini-button.js +23 -0
  95. package/button/mini-button-group/mini-button-group.js +63 -0
  96. package/button/mini-button-group.d.ts +3 -0
  97. package/button/mini-button-group.d.ts.map +1 -1
  98. package/button/mini-button-group.js +2 -61
  99. package/button/mini-button.d.ts +3 -0
  100. package/button/mini-button.d.ts.map +1 -1
  101. package/button/mini-button.js +2 -21
  102. package/button/secondary-button/secondary-button.js +17 -0
  103. package/button/secondary-button-link/secondary-button-link.js +17 -0
  104. package/button/secondary-button-link.d.ts +3 -0
  105. package/button/secondary-button-link.d.ts.map +1 -1
  106. package/button/secondary-button-link.js +2 -15
  107. package/button/secondary-button-static/secondary-button-static.js +17 -0
  108. package/button/secondary-button-static.d.ts +3 -0
  109. package/button/secondary-button-static.d.ts.map +1 -1
  110. package/button/secondary-button-static.js +2 -15
  111. package/button/secondary-button.d.ts +3 -0
  112. package/button/secondary-button.d.ts.map +1 -1
  113. package/button/secondary-button.js +2 -15
  114. package/button/transparent-button/transparent-button.js +17 -0
  115. package/button/transparent-button-link/transparent-button-link.js +17 -0
  116. package/button/transparent-button-link.d.ts +3 -0
  117. package/button/transparent-button-link.d.ts.map +1 -1
  118. package/button/transparent-button-link.js +2 -15
  119. package/button/transparent-button-static/transparent-button-static.js +17 -0
  120. package/button/transparent-button-static.d.ts +3 -0
  121. package/button/transparent-button-static.d.ts.map +1 -1
  122. package/button/transparent-button-static.js +2 -15
  123. package/button/transparent-button.d.ts +3 -0
  124. package/button/transparent-button.d.ts.map +1 -1
  125. package/button/transparent-button.js +2 -15
  126. package/button.d.ts +3 -0
  127. package/button.d.ts.map +1 -1
  128. package/button.js +38 -15
  129. package/calendar/calendar.js +939 -0
  130. package/calendar.d.ts +3 -0
  131. package/calendar.d.ts.map +1 -1
  132. package/calendar.js +2 -937
  133. package/card/card/card.js +70 -0
  134. package/card/card-badge/card-badge.js +57 -0
  135. package/card/card-badge.d.ts +3 -0
  136. package/card/card-badge.d.ts.map +1 -1
  137. package/card/card-badge.js +2 -55
  138. package/card/card-button/card-button.js +19 -0
  139. package/card/card-button.d.ts +3 -0
  140. package/card/card-button.d.ts.map +1 -1
  141. package/card/card-button.js +2 -17
  142. package/card/card-link/card-link.js +19 -0
  143. package/card/card-link.d.ts +3 -0
  144. package/card/card-link.d.ts.map +1 -1
  145. package/card/card-link.js +2 -17
  146. package/card/card.d.ts +3 -0
  147. package/card/card.d.ts.map +1 -1
  148. package/card/card.js +2 -68
  149. package/card/common/card-action-common.js +60 -0
  150. package/card/common.d.ts +3 -0
  151. package/card/common.d.ts.map +1 -1
  152. package/card/common.js +2 -58
  153. package/card.d.ts +3 -0
  154. package/card.d.ts.map +1 -1
  155. package/card.js +12 -5
  156. package/checkbox/checkbox/checkbox.js +80 -0
  157. package/checkbox/checkbox-group/checkbox-group.js +113 -0
  158. package/checkbox/checkbox-group.d.ts +3 -0
  159. package/checkbox/checkbox-group.d.ts.map +1 -1
  160. package/checkbox/checkbox-group.js +2 -111
  161. package/checkbox/checkbox-panel/checkbox-panel.js +82 -0
  162. package/checkbox/checkbox-panel.d.ts +3 -0
  163. package/checkbox/checkbox-panel.d.ts.map +1 -1
  164. package/checkbox/checkbox-panel.js +2 -80
  165. package/checkbox/checkbox.d.ts +3 -0
  166. package/checkbox/checkbox.d.ts.map +1 -1
  167. package/checkbox/checkbox.js +2 -78
  168. package/checkbox/common/checkbox-common.js +56 -0
  169. package/checkbox/common.d.ts +3 -0
  170. package/checkbox/common.d.ts.map +1 -1
  171. package/checkbox/common.js +4 -56
  172. package/checkbox-common-CDzcyq8p.js +5 -0
  173. package/checkbox.d.ts +3 -0
  174. package/checkbox.d.ts.map +1 -1
  175. package/checkbox.js +12 -4
  176. package/chip/chip/chip.js +85 -0
  177. package/chip/chip-group/chip-group.js +226 -0
  178. package/chip/chip-group.d.ts +3 -0
  179. package/chip/chip-group.d.ts.map +1 -1
  180. package/chip/chip-group.js +2 -223
  181. package/chip/chip.d.ts +3 -0
  182. package/chip/chip.d.ts.map +1 -1
  183. package/chip/chip.js +2 -83
  184. package/chip-label/chip-label.js +54 -0
  185. package/chip-label.d.ts +3 -0
  186. package/chip-label.d.ts.map +1 -1
  187. package/chip-label.js +2 -52
  188. package/chip.d.ts +3 -0
  189. package/chip.d.ts.map +1 -1
  190. package/chip.js +6 -2
  191. package/clock/clock.js +163 -0
  192. package/clock.d.ts +3 -0
  193. package/clock.d.ts.map +1 -1
  194. package/clock.js +2 -161
  195. package/container/container/container.js +71 -0
  196. package/container/container.d.ts +3 -0
  197. package/container/container.d.ts.map +1 -1
  198. package/container/container.js +2 -69
  199. package/container/sticky-bar/sticky-bar.js +111 -0
  200. package/container/sticky-bar.d.ts +3 -0
  201. package/container/sticky-bar.d.ts.map +1 -1
  202. package/container/sticky-bar.js +2 -109
  203. package/container.d.ts +3 -0
  204. package/container.d.ts.map +1 -1
  205. package/container.js +6 -2
  206. package/core/a11y/arrow-navigation.js +33 -0
  207. package/core/a11y/fake-event-detection.js +11 -0
  208. package/core/a11y/focus-trap-controller.d.ts +35 -0
  209. package/core/a11y/focus-trap-controller.d.ts.map +1 -0
  210. package/core/a11y/focus-trap-controller.js +95 -0
  211. package/core/a11y/focus-visible-within-controller.js +19 -0
  212. package/core/a11y/focus.d.ts +12 -0
  213. package/core/a11y/focus.d.ts.map +1 -1
  214. package/core/a11y/focus.js +75 -0
  215. package/core/a11y/input-modality-detector.d.ts +5 -0
  216. package/core/a11y/input-modality-detector.d.ts.map +1 -1
  217. package/core/a11y/input-modality-detector.js +59 -0
  218. package/core/a11y/interactivity-checker.d.ts +49 -3
  219. package/core/a11y/interactivity-checker.d.ts.map +1 -1
  220. package/core/a11y/interactivity-checker.js +104 -0
  221. package/core/a11y.d.ts +4 -0
  222. package/core/a11y.d.ts.map +1 -1
  223. package/core/a11y.js +26 -201
  224. package/core/base-elements/action-base-element.js +46 -0
  225. package/core/base-elements/button-base-element.d.ts.map +1 -1
  226. package/core/base-elements/button-base-element.js +120 -0
  227. package/core/base-elements/link-base-element.js +130 -0
  228. package/core/base-elements/open-close-base-element.js +33 -0
  229. package/core/base-elements.d.ts +3 -0
  230. package/core/base-elements.d.ts.map +1 -1
  231. package/core/base-elements.js +8 -308
  232. package/core/config/config.js +11 -0
  233. package/core/config.d.ts +3 -0
  234. package/core/config.d.ts.map +1 -1
  235. package/core/config.js +3 -9
  236. package/core/controllers/connected-abort-controller.js +19 -0
  237. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  238. package/core/controllers/escapable-overlay-controller.js +29 -0
  239. package/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  240. package/core/controllers/id-reference-controller.d.ts.map +1 -0
  241. package/core/controllers/id-reference-controller.js +61 -0
  242. package/core/controllers/inert-controller.d.ts +3 -1
  243. package/core/controllers/inert-controller.d.ts.map +1 -1
  244. package/core/controllers/inert-controller.js +48 -0
  245. package/core/controllers/language-controller.js +39 -0
  246. package/core/controllers/media-matchers-controller.d.ts +1 -0
  247. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  248. package/core/controllers/media-matchers-controller.js +43 -0
  249. package/core/controllers/slot-state-controller.d.ts +2 -0
  250. package/core/controllers/slot-state-controller.d.ts.map +1 -1
  251. package/core/controllers/slot-state-controller.js +41 -0
  252. package/core/controllers.d.ts +4 -1
  253. package/core/controllers.d.ts.map +1 -1
  254. package/core/controllers.js +20 -248
  255. package/core/datetime/date-adapter.js +102 -0
  256. package/core/datetime/native-date-adapter.js +169 -0
  257. package/core/datetime.d.ts +3 -0
  258. package/core/datetime.d.ts.map +1 -1
  259. package/core/datetime.js +12 -266
  260. package/core/decorators/base.js +1 -0
  261. package/core/decorators/date-converter.js +17 -0
  262. package/core/decorators/date-only-type.js +10 -0
  263. package/core/decorators/force-type.js +18 -0
  264. package/core/decorators/get-override.js +14 -0
  265. package/core/decorators/handle-distinct-change.js +16 -0
  266. package/core/decorators/host-attributes.js +18 -0
  267. package/core/decorators/omit-empty-converter.js +9 -0
  268. package/core/decorators/slot-state.js +8 -0
  269. package/core/decorators.d.ts +3 -0
  270. package/core/decorators.d.ts.map +1 -1
  271. package/core/decorators.js +16 -86
  272. package/core/dom/animation.js +10 -0
  273. package/core/dom/breakpoint.d.ts +1 -1
  274. package/core/dom/breakpoint.js +12 -0
  275. package/core/dom/find-referenced-element.js +7 -0
  276. package/core/dom/host-context.js +17 -0
  277. package/core/dom/input-element.js +12 -0
  278. package/core/dom/lean-context.js +7 -0
  279. package/core/dom/platform.js +21 -0
  280. package/core/dom/scroll.js +19 -0
  281. package/core/dom/set-or-remove-attribute.js +6 -0
  282. package/core/dom.d.ts +3 -0
  283. package/core/dom.d.ts.map +1 -1
  284. package/core/dom.js +31 -87
  285. package/core/eventing/composed-path-has-attribute.js +8 -0
  286. package/core/eventing/event-emitter.js +23 -0
  287. package/core/eventing/event-target.js +6 -0
  288. package/core/eventing/form-element-handlers.js +6 -0
  289. package/core/eventing/forward-event.js +9 -0
  290. package/core/eventing/is-event-prevented.js +6 -0
  291. package/core/eventing/throttle.js +11 -0
  292. package/core/eventing.d.ts +3 -0
  293. package/core/eventing.d.ts.map +1 -1
  294. package/core/eventing.js +15 -55
  295. package/core/i18n/i18n.js +700 -0
  296. package/core/i18n.d.ts +3 -0
  297. package/core/i18n.d.ts.map +1 -1
  298. package/core/i18n.js +89 -698
  299. package/core/images.js +15 -0
  300. package/core/interfaces.d.ts +3 -0
  301. package/core/interfaces.d.ts.map +1 -1
  302. package/core/mixins/animation-complete-mixin.js +43 -0
  303. package/core/mixins/constructor.js +1 -0
  304. package/core/mixins/disabled-mixin.js +72 -0
  305. package/core/mixins/form-associated-checkbox-mixin.js +92 -0
  306. package/core/mixins/form-associated-input-mixin.js +182 -0
  307. package/core/mixins/form-associated-mixin.js +219 -0
  308. package/core/mixins/form-associated-radio-button-mixin.js +159 -0
  309. package/core/mixins/hydration-mixin.js +39 -0
  310. package/core/mixins/named-slot-list-mixin.js +107 -0
  311. package/core/mixins/negative-mixin.js +34 -0
  312. package/core/mixins/panel-mixin.js +61 -0
  313. package/core/mixins/required-mixin.js +36 -0
  314. package/core/mixins/update-scheduler-mixin.js +22 -0
  315. package/core/mixins.d.ts +3 -0
  316. package/core/mixins.d.ts.map +1 -1
  317. package/core/mixins.js +29 -973
  318. package/core/overlay/overlay-option-panel.js +11 -0
  319. package/core/overlay/overlay-trigger-attributes.js +18 -0
  320. package/core/overlay/overlay.js +14 -0
  321. package/core/overlay/position.js +40 -0
  322. package/core/overlay.d.ts +3 -0
  323. package/core/overlay.d.ts.map +1 -1
  324. package/core/overlay.js +12 -73
  325. package/core/styles/core.scss +22 -0
  326. package/core/styles/mixins/a11y.scss +2 -1
  327. package/core/styles/mixins/buttons.scss +7 -6
  328. package/core/styles/mixins/link.scss +1 -2
  329. package/core/styles/mixins/table.scss +3 -0
  330. package/core/styles/table.scss +45 -0
  331. package/core/testing/event-spy.js +53 -0
  332. package/core/testing/mocha-extensions.js +11 -0
  333. package/core/testing/scroll.js +6 -0
  334. package/core/testing/wait-for-condition.js +13 -0
  335. package/core/testing/wait-for-image-ready.d.ts.map +1 -1
  336. package/core/testing/wait-for-image-ready.js +18 -0
  337. package/core/testing/wait-for-render.js +15 -0
  338. package/core/testing.d.ts +3 -0
  339. package/core/testing.d.ts.map +1 -1
  340. package/core/testing.js +14 -109
  341. package/core.css +8 -0
  342. package/custom-elements.json +54963 -50769
  343. package/date-input/date-input.d.ts.map +1 -1
  344. package/date-input/date-input.js +155 -0
  345. package/date-input.d.ts +3 -0
  346. package/date-input.d.ts.map +1 -1
  347. package/date-input.js +2 -153
  348. package/datepicker/common/datepicker-association-controllers.js +58 -0
  349. package/datepicker/common/datepicker-button.js +105 -0
  350. package/datepicker/common.d.ts +3 -0
  351. package/datepicker/common.d.ts.map +1 -1
  352. package/datepicker/common.js +5 -158
  353. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  354. package/datepicker/datepicker/datepicker.js +266 -0
  355. package/datepicker/datepicker-next-day/datepicker-next-day.js +27 -0
  356. package/datepicker/datepicker-next-day.d.ts +3 -0
  357. package/datepicker/datepicker-next-day.d.ts.map +1 -1
  358. package/datepicker/datepicker-next-day.js +2 -25
  359. package/datepicker/datepicker-previous-day/datepicker-previous-day.js +27 -0
  360. package/datepicker/datepicker-previous-day.d.ts +3 -0
  361. package/datepicker/datepicker-previous-day.d.ts.map +1 -1
  362. package/datepicker/datepicker-previous-day.js +2 -25
  363. package/datepicker/datepicker-toggle/datepicker-toggle.js +171 -0
  364. package/datepicker/datepicker-toggle.d.ts +3 -0
  365. package/datepicker/datepicker-toggle.d.ts.map +1 -1
  366. package/datepicker/datepicker-toggle.js +2 -169
  367. package/datepicker/datepicker.d.ts +3 -0
  368. package/datepicker/datepicker.d.ts.map +1 -1
  369. package/datepicker/datepicker.js +4 -261
  370. package/datepicker.d.ts +3 -0
  371. package/datepicker.d.ts.map +1 -1
  372. package/datepicker.js +17 -5
  373. package/development/accordion/accordion.js +149 -0
  374. package/development/accordion.d.ts +3 -0
  375. package/development/accordion.d.ts.map +1 -1
  376. package/development/accordion.js +2 -146
  377. package/development/action-group/action-group.js +405 -0
  378. package/development/action-group.d.ts +3 -0
  379. package/development/action-group.d.ts.map +1 -1
  380. package/development/action-group.js +2 -402
  381. package/development/alert/alert/alert.js +434 -0
  382. package/development/alert/alert-group/alert-group.js +183 -0
  383. package/development/alert/alert-group.d.ts +3 -0
  384. package/development/alert/alert-group.d.ts.map +1 -1
  385. package/development/alert/alert-group.js +2 -180
  386. package/development/alert/alert.d.ts +3 -0
  387. package/development/alert/alert.d.ts.map +1 -1
  388. package/development/alert/alert.js +2 -431
  389. package/development/alert.d.ts +3 -0
  390. package/development/alert.d.ts.map +1 -1
  391. package/development/alert.js +6 -2
  392. package/development/autocomplete/autocomplete-base-element.js +700 -0
  393. package/development/autocomplete/autocomplete.js +99 -0
  394. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +157 -0
  395. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +208 -0
  396. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
  397. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
  398. package/development/autocomplete-grid/autocomplete-grid-button.js +2 -202
  399. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +47 -0
  400. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
  401. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
  402. package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -44
  403. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +44 -0
  404. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
  405. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
  406. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +2 -41
  407. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +139 -0
  408. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
  409. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
  410. package/development/autocomplete-grid/autocomplete-grid-option.js +2 -134
  411. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +123 -0
  412. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
  413. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
  414. package/development/autocomplete-grid/autocomplete-grid-row.js +2 -120
  415. package/development/autocomplete-grid/autocomplete-grid.d.ts +3 -0
  416. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  417. package/development/autocomplete-grid/autocomplete-grid.js +2 -154
  418. package/development/autocomplete-grid.d.ts +3 -0
  419. package/development/autocomplete-grid.d.ts.map +1 -1
  420. package/development/autocomplete-grid.js +15 -6
  421. package/development/autocomplete.d.ts +3 -0
  422. package/development/autocomplete.d.ts.map +1 -1
  423. package/development/autocomplete.js +3 -785
  424. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  425. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  426. package/development/breadcrumb/breadcrumb/breadcrumb.js +109 -0
  427. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.js +281 -0
  428. package/development/breadcrumb/breadcrumb-group.d.ts +3 -0
  429. package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  430. package/development/breadcrumb/breadcrumb-group.js +2 -278
  431. package/development/breadcrumb/breadcrumb.d.ts +3 -0
  432. package/development/breadcrumb/breadcrumb.d.ts.map +1 -1
  433. package/development/breadcrumb/breadcrumb.js +2 -133
  434. package/development/breadcrumb.d.ts +3 -0
  435. package/development/breadcrumb.d.ts.map +1 -1
  436. package/development/breadcrumb.js +6 -2
  437. package/development/button/accent-button/accent-button.js +25 -0
  438. package/development/button/accent-button-link/accent-button-link.js +25 -0
  439. package/development/button/accent-button-link.d.ts +3 -0
  440. package/development/button/accent-button-link.d.ts.map +1 -1
  441. package/development/button/accent-button-link.js +2 -22
  442. package/development/button/accent-button-static/accent-button-static.js +25 -0
  443. package/development/button/accent-button-static.d.ts +3 -0
  444. package/development/button/accent-button-static.d.ts.map +1 -1
  445. package/development/button/accent-button-static.js +2 -22
  446. package/development/button/accent-button.d.ts +3 -0
  447. package/development/button/accent-button.d.ts.map +1 -1
  448. package/development/button/accent-button.js +2 -22
  449. package/development/button/button/button.js +25 -0
  450. package/development/button/button-link/button-link.js +25 -0
  451. package/development/button/button-link.d.ts +3 -0
  452. package/development/button/button-link.d.ts.map +1 -1
  453. package/development/button/button-link.js +2 -22
  454. package/development/button/button-static/button-static.js +25 -0
  455. package/development/button/button-static.d.ts +3 -0
  456. package/development/button/button-static.d.ts.map +1 -1
  457. package/development/button/button-static.js +2 -22
  458. package/development/button/button.d.ts +3 -0
  459. package/development/button/button.d.ts.map +1 -1
  460. package/development/button/button.js +2 -22
  461. package/development/button/common/button-common.js +70 -0
  462. package/development/button/common.d.ts +3 -0
  463. package/development/button/common.d.ts.map +1 -1
  464. package/development/button/common.js +8 -407
  465. package/development/button/mini-button/mini-button.js +143 -0
  466. package/development/button/mini-button-group/mini-button-group.js +153 -0
  467. package/development/button/mini-button-group.d.ts +3 -0
  468. package/development/button/mini-button-group.d.ts.map +1 -1
  469. package/development/button/mini-button-group.js +2 -150
  470. package/development/button/mini-button.d.ts +3 -0
  471. package/development/button/mini-button.d.ts.map +1 -1
  472. package/development/button/mini-button.js +2 -137
  473. package/development/button/secondary-button/secondary-button.js +25 -0
  474. package/development/button/secondary-button-link/secondary-button-link.js +25 -0
  475. package/development/button/secondary-button-link.d.ts +3 -0
  476. package/development/button/secondary-button-link.d.ts.map +1 -1
  477. package/development/button/secondary-button-link.js +2 -22
  478. package/development/button/secondary-button-static/secondary-button-static.js +25 -0
  479. package/development/button/secondary-button-static.d.ts +3 -0
  480. package/development/button/secondary-button-static.d.ts.map +1 -1
  481. package/development/button/secondary-button-static.js +2 -22
  482. package/development/button/secondary-button.d.ts +3 -0
  483. package/development/button/secondary-button.d.ts.map +1 -1
  484. package/development/button/secondary-button.js +2 -22
  485. package/development/button/transparent-button/transparent-button.js +25 -0
  486. package/development/button/transparent-button-link/transparent-button-link.js +25 -0
  487. package/development/button/transparent-button-link.d.ts +3 -0
  488. package/development/button/transparent-button-link.d.ts.map +1 -1
  489. package/development/button/transparent-button-link.js +2 -22
  490. package/development/button/transparent-button-static/transparent-button-static.js +25 -0
  491. package/development/button/transparent-button-static.d.ts +3 -0
  492. package/development/button/transparent-button-static.d.ts.map +1 -1
  493. package/development/button/transparent-button-static.js +2 -22
  494. package/development/button/transparent-button.d.ts +3 -0
  495. package/development/button/transparent-button.d.ts.map +1 -1
  496. package/development/button/transparent-button.js +2 -22
  497. package/development/button.d.ts +3 -0
  498. package/development/button.d.ts.map +1 -1
  499. package/development/button.js +39 -16
  500. package/development/calendar/calendar.js +1547 -0
  501. package/development/calendar.d.ts +3 -0
  502. package/development/calendar.d.ts.map +1 -1
  503. package/development/calendar.js +2 -1542
  504. package/development/card/card/card.js +287 -0
  505. package/development/card/card-badge/card-badge.js +169 -0
  506. package/development/card/card-badge.d.ts +3 -0
  507. package/development/card/card-badge.d.ts.map +1 -1
  508. package/development/card/card-badge.js +2 -166
  509. package/development/card/card-button/card-button.js +29 -0
  510. package/development/card/card-button.d.ts +3 -0
  511. package/development/card/card-button.d.ts.map +1 -1
  512. package/development/card/card-button.js +2 -26
  513. package/development/card/card-link/card-link.js +29 -0
  514. package/development/card/card-link.d.ts +3 -0
  515. package/development/card/card-link.d.ts.map +1 -1
  516. package/development/card/card-link.js +2 -26
  517. package/development/card/card.d.ts +3 -0
  518. package/development/card/card.d.ts.map +1 -1
  519. package/development/card/card.js +2 -284
  520. package/development/card/common/card-action-common.js +119 -0
  521. package/development/card/common.d.ts +3 -0
  522. package/development/card/common.d.ts.map +1 -1
  523. package/development/card/common.js +2 -116
  524. package/development/card.d.ts +3 -0
  525. package/development/card.d.ts.map +1 -1
  526. package/development/card.js +12 -5
  527. package/development/checkbox/checkbox/checkbox.js +134 -0
  528. package/development/checkbox/checkbox-group/checkbox-group.js +294 -0
  529. package/development/checkbox/checkbox-group.d.ts +3 -0
  530. package/development/checkbox/checkbox-group.d.ts.map +1 -1
  531. package/development/checkbox/checkbox-group.js +2 -291
  532. package/development/checkbox/checkbox-panel/checkbox-panel.js +108 -0
  533. package/development/checkbox/checkbox-panel.d.ts +3 -0
  534. package/development/checkbox/checkbox-panel.d.ts.map +1 -1
  535. package/development/checkbox/checkbox-panel.js +2 -105
  536. package/development/checkbox/checkbox.d.ts +3 -0
  537. package/development/checkbox/checkbox.d.ts.map +1 -1
  538. package/development/checkbox/checkbox.js +2 -131
  539. package/development/checkbox/common/checkbox-common.js +75 -0
  540. package/development/checkbox/common.d.ts +3 -0
  541. package/development/checkbox/common.d.ts.map +1 -1
  542. package/development/checkbox/common.js +4 -152
  543. package/development/checkbox-common-aMPOsPVA.js +83 -0
  544. package/development/checkbox.d.ts +3 -0
  545. package/development/checkbox.d.ts.map +1 -1
  546. package/development/checkbox.js +13 -5
  547. package/development/chip/chip/chip.js +213 -0
  548. package/development/chip/chip-group/chip-group.js +350 -0
  549. package/development/chip/chip-group.d.ts +3 -0
  550. package/development/chip/chip-group.d.ts.map +1 -1
  551. package/development/chip/chip-group.js +2 -346
  552. package/development/chip/chip.d.ts +3 -0
  553. package/development/chip/chip.d.ts.map +1 -1
  554. package/development/chip/chip.js +2 -209
  555. package/development/chip-label/chip-label.js +154 -0
  556. package/development/chip-label.d.ts +3 -0
  557. package/development/chip-label.d.ts.map +1 -1
  558. package/development/chip-label.js +2 -151
  559. package/development/chip.d.ts +3 -0
  560. package/development/chip.d.ts.map +1 -1
  561. package/development/chip.js +6 -2
  562. package/development/clock/clock.js +390 -0
  563. package/development/clock.d.ts +3 -0
  564. package/development/clock.d.ts.map +1 -1
  565. package/development/clock.js +2 -387
  566. package/development/container/container/container.js +194 -0
  567. package/development/container/container.d.ts +3 -0
  568. package/development/container/container.d.ts.map +1 -1
  569. package/development/container/container.js +2 -191
  570. package/development/container/sticky-bar/sticky-bar.js +349 -0
  571. package/development/container/sticky-bar.d.ts +3 -0
  572. package/development/container/sticky-bar.d.ts.map +1 -1
  573. package/development/container/sticky-bar.js +2 -346
  574. package/development/container.d.ts +3 -0
  575. package/development/container.d.ts.map +1 -1
  576. package/development/container.js +6 -2
  577. package/development/core/a11y/arrow-navigation.js +43 -0
  578. package/development/core/a11y/fake-event-detection.js +12 -0
  579. package/development/core/a11y/focus-trap-controller.d.ts +35 -0
  580. package/development/core/a11y/focus-trap-controller.d.ts.map +1 -0
  581. package/development/core/a11y/focus-trap-controller.js +127 -0
  582. package/development/core/a11y/focus-visible-within-controller.js +25 -0
  583. package/development/core/a11y/focus.d.ts +12 -0
  584. package/development/core/a11y/focus.d.ts.map +1 -1
  585. package/development/core/a11y/focus.js +94 -0
  586. package/development/core/a11y/input-modality-detector.d.ts +5 -0
  587. package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
  588. package/development/core/a11y/input-modality-detector.js +96 -0
  589. package/development/core/a11y/interactivity-checker.d.ts +49 -3
  590. package/development/core/a11y/interactivity-checker.d.ts.map +1 -1
  591. package/development/core/a11y/interactivity-checker.js +137 -0
  592. package/development/core/a11y.d.ts +4 -0
  593. package/development/core/a11y.d.ts.map +1 -1
  594. package/development/core/a11y.js +10 -253
  595. package/development/core/base-elements/action-base-element.js +62 -0
  596. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  597. package/development/core/base-elements/button-base-element.js +179 -0
  598. package/development/core/base-elements/link-base-element.js +183 -0
  599. package/development/core/base-elements/open-close-base-element.js +39 -0
  600. package/development/core/base-elements.d.ts +3 -0
  601. package/development/core/base-elements.d.ts.map +1 -1
  602. package/development/core/base-elements.js +5 -437
  603. package/development/core/config/config.js +15 -0
  604. package/development/core/config.d.ts +3 -0
  605. package/development/core/config.d.ts.map +1 -1
  606. package/development/core/config.js +2 -11
  607. package/development/core/controllers/connected-abort-controller.js +25 -0
  608. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  609. package/development/core/controllers/escapable-overlay-controller.js +40 -0
  610. package/development/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  611. package/development/core/controllers/id-reference-controller.d.ts.map +1 -0
  612. package/development/core/controllers/id-reference-controller.js +84 -0
  613. package/development/core/controllers/inert-controller.d.ts +3 -1
  614. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  615. package/development/core/controllers/inert-controller.js +91 -0
  616. package/development/core/controllers/language-controller.js +69 -0
  617. package/development/core/controllers/media-matchers-controller.d.ts +1 -0
  618. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  619. package/development/core/controllers/media-matchers-controller.js +62 -0
  620. package/development/core/controllers/slot-state-controller.d.ts +2 -0
  621. package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
  622. package/development/core/controllers/slot-state-controller.js +68 -0
  623. package/development/core/controllers.d.ts +4 -1
  624. package/development/core/controllers.d.ts.map +1 -1
  625. package/development/core/controllers.js +9 -376
  626. package/development/core/datetime/date-adapter.js +129 -0
  627. package/development/core/datetime/native-date-adapter.js +185 -0
  628. package/development/core/datetime.d.ts +3 -0
  629. package/development/core/datetime.d.ts.map +1 -1
  630. package/development/core/datetime.js +3 -298
  631. package/development/core/decorators/base.js +2 -0
  632. package/development/core/decorators/date-converter.js +18 -0
  633. package/development/core/decorators/date-only-type.js +11 -0
  634. package/development/core/decorators/force-type.js +29 -0
  635. package/development/core/decorators/get-override.js +18 -0
  636. package/development/core/decorators/handle-distinct-change.js +22 -0
  637. package/development/core/decorators/host-attributes.js +30 -0
  638. package/development/core/decorators/omit-empty-converter.js +10 -0
  639. package/development/core/decorators/slot-state.js +11 -0
  640. package/development/core/decorators.d.ts +3 -0
  641. package/development/core/decorators.d.ts.map +1 -1
  642. package/development/core/decorators.js +9 -114
  643. package/development/core/dom/animation.js +12 -0
  644. package/development/core/dom/breakpoint.d.ts +1 -1
  645. package/development/core/dom/breakpoint.js +19 -0
  646. package/development/core/dom/find-referenced-element.js +15 -0
  647. package/development/core/dom/host-context.js +21 -0
  648. package/development/core/dom/input-element.js +13 -0
  649. package/development/core/dom/lean-context.js +8 -0
  650. package/development/core/dom/platform.js +32 -0
  651. package/development/core/dom/scroll.js +37 -0
  652. package/development/core/dom/set-or-remove-attribute.js +11 -0
  653. package/development/core/dom.d.ts +3 -0
  654. package/development/core/dom.d.ts.map +1 -1
  655. package/development/core/dom.js +10 -114
  656. package/development/core/eventing/composed-path-has-attribute.js +12 -0
  657. package/development/core/eventing/event-emitter.js +26 -0
  658. package/development/core/eventing/event-target.js +7 -0
  659. package/development/core/eventing/form-element-handlers.js +9 -0
  660. package/development/core/eventing/forward-event.js +11 -0
  661. package/development/core/eventing/is-event-prevented.js +8 -0
  662. package/development/core/eventing/throttle.js +18 -0
  663. package/development/core/eventing.d.ts +3 -0
  664. package/development/core/eventing.d.ts.map +1 -1
  665. package/development/core/eventing.js +8 -63
  666. package/development/core/i18n/i18n.js +793 -0
  667. package/development/core/i18n.d.ts +3 -0
  668. package/development/core/i18n.d.ts.map +1 -1
  669. package/development/core/i18n.js +2 -703
  670. package/development/core/images.js +16 -0
  671. package/development/core/interfaces.d.ts +3 -0
  672. package/development/core/interfaces.d.ts.map +1 -1
  673. package/development/core/mixins/animation-complete-mixin.js +52 -0
  674. package/development/core/mixins/constructor.js +2 -0
  675. package/development/core/mixins/disabled-mixin.js +104 -0
  676. package/development/core/mixins/form-associated-checkbox-mixin.js +148 -0
  677. package/development/core/mixins/form-associated-input-mixin.js +294 -0
  678. package/development/core/mixins/form-associated-mixin.js +268 -0
  679. package/development/core/mixins/form-associated-radio-button-mixin.js +242 -0
  680. package/development/core/mixins/hydration-mixin.js +57 -0
  681. package/development/core/mixins/named-slot-list-mixin.js +136 -0
  682. package/development/core/mixins/negative-mixin.js +45 -0
  683. package/development/core/mixins/panel-mixin.js +87 -0
  684. package/development/core/mixins/required-mixin.js +48 -0
  685. package/development/core/mixins/update-scheduler-mixin.js +26 -0
  686. package/development/core/mixins.d.ts +3 -0
  687. package/development/core/mixins.d.ts.map +1 -1
  688. package/development/core/mixins.js +15 -1392
  689. package/development/core/overlay/overlay-option-panel.js +18 -0
  690. package/development/core/overlay/overlay-trigger-attributes.js +47 -0
  691. package/development/core/overlay/overlay.js +15 -0
  692. package/development/core/overlay/position.js +84 -0
  693. package/development/core/overlay.d.ts +3 -0
  694. package/development/core/overlay.d.ts.map +1 -1
  695. package/development/core/overlay.js +5 -143
  696. package/development/core/testing/event-spy.js +70 -0
  697. package/development/core/testing/mocha-extensions.js +15 -0
  698. package/development/core/testing/scroll.js +8 -0
  699. package/development/core/testing/wait-for-condition.js +19 -0
  700. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
  701. package/development/core/testing/wait-for-image-ready.js +31 -0
  702. package/development/core/testing/wait-for-render.js +21 -0
  703. package/development/core/testing.d.ts +3 -0
  704. package/development/core/testing.d.ts.map +1 -1
  705. package/development/core/testing.js +7 -145
  706. package/development/date-input/date-input.d.ts.map +1 -1
  707. package/development/date-input/date-input.js +271 -0
  708. package/development/date-input.d.ts +3 -0
  709. package/development/date-input.d.ts.map +1 -1
  710. package/development/date-input.js +2 -264
  711. package/development/datepicker/common/datepicker-association-controllers.js +82 -0
  712. package/development/datepicker/common/datepicker-button.js +155 -0
  713. package/development/datepicker/common.d.ts +3 -0
  714. package/development/datepicker/common.d.ts.map +1 -1
  715. package/development/datepicker/common.js +3 -228
  716. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  717. package/development/datepicker/datepicker/datepicker.js +427 -0
  718. package/development/datepicker/datepicker-next-day/datepicker-next-day.js +150 -0
  719. package/development/datepicker/datepicker-next-day.d.ts +3 -0
  720. package/development/datepicker/datepicker-next-day.d.ts.map +1 -1
  721. package/development/datepicker/datepicker-next-day.js +2 -144
  722. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.js +150 -0
  723. package/development/datepicker/datepicker-previous-day.d.ts +3 -0
  724. package/development/datepicker/datepicker-previous-day.d.ts.map +1 -1
  725. package/development/datepicker/datepicker-previous-day.js +2 -144
  726. package/development/datepicker/datepicker-toggle/datepicker-toggle.js +299 -0
  727. package/development/datepicker/datepicker-toggle.d.ts +3 -0
  728. package/development/datepicker/datepicker-toggle.d.ts.map +1 -1
  729. package/development/datepicker/datepicker-toggle.js +2 -296
  730. package/development/datepicker/datepicker.d.ts +3 -0
  731. package/development/datepicker/datepicker.d.ts.map +1 -1
  732. package/development/datepicker/datepicker.js +2 -418
  733. package/development/datepicker.d.ts +3 -0
  734. package/development/datepicker.d.ts.map +1 -1
  735. package/development/datepicker.js +18 -6
  736. package/development/dialog/dialog/dialog.d.ts +0 -1
  737. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  738. package/development/dialog/dialog/dialog.js +460 -0
  739. package/development/dialog/dialog-actions/dialog-actions.js +52 -0
  740. package/development/dialog/dialog-actions.d.ts +3 -0
  741. package/development/dialog/dialog-actions.d.ts.map +1 -1
  742. package/development/dialog/dialog-actions.js +2 -49
  743. package/development/dialog/dialog-content/dialog-content.js +78 -0
  744. package/development/dialog/dialog-content.d.ts +3 -0
  745. package/development/dialog/dialog-content.d.ts.map +1 -1
  746. package/development/dialog/dialog-content.js +2 -75
  747. package/development/dialog/dialog-title/dialog-title.js +211 -0
  748. package/development/dialog/dialog-title.d.ts +3 -0
  749. package/development/dialog/dialog-title.d.ts.map +1 -1
  750. package/development/dialog/dialog-title.js +2 -208
  751. package/development/dialog/dialog.d.ts +3 -0
  752. package/development/dialog/dialog.d.ts.map +1 -1
  753. package/development/dialog/dialog.js +2 -465
  754. package/development/dialog.d.ts +3 -0
  755. package/development/dialog.d.ts.map +1 -1
  756. package/development/dialog.js +10 -4
  757. package/development/divider/divider.js +89 -0
  758. package/development/divider.d.ts +3 -0
  759. package/development/divider.d.ts.map +1 -1
  760. package/development/divider.js +2 -86
  761. package/development/expansion-panel/expansion-panel/expansion-panel.js +434 -0
  762. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.js +69 -0
  763. package/development/expansion-panel/expansion-panel-content.d.ts +3 -0
  764. package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  765. package/development/expansion-panel/expansion-panel-content.js +2 -66
  766. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.js +173 -0
  767. package/development/expansion-panel/expansion-panel-header.d.ts +3 -0
  768. package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  769. package/development/expansion-panel/expansion-panel-header.js +2 -170
  770. package/development/expansion-panel/expansion-panel.d.ts +3 -0
  771. package/development/expansion-panel/expansion-panel.d.ts.map +1 -1
  772. package/development/expansion-panel/expansion-panel.js +2 -431
  773. package/development/expansion-panel.d.ts +3 -0
  774. package/development/expansion-panel.d.ts.map +1 -1
  775. package/development/expansion-panel.js +8 -3
  776. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  777. package/development/file-selector/common/file-selector-common.js +279 -0
  778. package/development/file-selector/common.d.ts +3 -0
  779. package/development/file-selector/common.d.ts.map +1 -1
  780. package/development/file-selector/common.js +4 -379
  781. package/development/file-selector/file-selector/file-selector.js +52 -0
  782. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.js +181 -0
  783. package/development/file-selector/file-selector-dropzone.d.ts +3 -0
  784. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -1
  785. package/development/file-selector/file-selector-dropzone.js +2 -178
  786. package/development/file-selector/file-selector.d.ts +3 -0
  787. package/development/file-selector/file-selector.d.ts.map +1 -1
  788. package/development/file-selector/file-selector.js +2 -49
  789. package/development/file-selector-common-csww18o8.js +105 -0
  790. package/development/file-selector.d.ts +3 -0
  791. package/development/file-selector.d.ts.map +1 -1
  792. package/development/file-selector.js +11 -4
  793. package/development/flip-card/flip-card/flip-card.js +320 -0
  794. package/development/flip-card/flip-card-details/flip-card-details.js +92 -0
  795. package/development/flip-card/flip-card-details.d.ts +3 -0
  796. package/development/flip-card/flip-card-details.d.ts.map +1 -1
  797. package/development/flip-card/flip-card-details.js +2 -89
  798. package/development/flip-card/flip-card-summary/flip-card-summary.js +148 -0
  799. package/development/flip-card/flip-card-summary.d.ts +3 -0
  800. package/development/flip-card/flip-card-summary.d.ts.map +1 -1
  801. package/development/flip-card/flip-card-summary.js +2 -145
  802. package/development/flip-card/flip-card.d.ts +3 -0
  803. package/development/flip-card/flip-card.d.ts.map +1 -1
  804. package/development/flip-card/flip-card.js +2 -317
  805. package/development/flip-card.d.ts +3 -0
  806. package/development/flip-card.d.ts.map +1 -1
  807. package/development/flip-card.js +8 -3
  808. package/development/footer/footer.js +276 -0
  809. package/development/footer.d.ts +3 -0
  810. package/development/footer.d.ts.map +1 -1
  811. package/development/footer.js +2 -273
  812. package/development/form-error/form-error.js +107 -0
  813. package/development/form-error.d.ts +3 -0
  814. package/development/form-error.d.ts.map +1 -1
  815. package/development/form-error.js +2 -104
  816. package/development/form-field/form-field/form-field.js +937 -0
  817. package/development/form-field/form-field-clear/form-field-clear.js +175 -0
  818. package/development/form-field/form-field-clear.d.ts +3 -0
  819. package/development/form-field/form-field-clear.d.ts.map +1 -1
  820. package/development/form-field/form-field-clear.js +2 -169
  821. package/development/form-field/form-field.d.ts +3 -0
  822. package/development/form-field/form-field.d.ts.map +1 -1
  823. package/development/form-field/form-field.js +2 -929
  824. package/development/form-field.d.ts +3 -0
  825. package/development/form-field.d.ts.map +1 -1
  826. package/development/form-field.js +6 -2
  827. package/development/header/common/header-action-common.js +413 -0
  828. package/development/header/common.d.ts +3 -0
  829. package/development/header/common.d.ts.map +1 -1
  830. package/development/header/common.js +2 -410
  831. package/development/header/header/header.js +393 -0
  832. package/development/header/header-button/header-button.js +25 -0
  833. package/development/header/header-button.d.ts +3 -0
  834. package/development/header/header-button.d.ts.map +1 -1
  835. package/development/header/header-button.js +2 -22
  836. package/development/header/header-link/header-link.js +25 -0
  837. package/development/header/header-link.d.ts +3 -0
  838. package/development/header/header-link.d.ts.map +1 -1
  839. package/development/header/header-link.js +2 -22
  840. package/development/header/header.d.ts +3 -0
  841. package/development/header/header.d.ts.map +1 -1
  842. package/development/header/header.js +2 -390
  843. package/development/header.d.ts +3 -0
  844. package/development/header.d.ts.map +1 -1
  845. package/development/header.js +10 -4
  846. package/development/icon/icon-base.js +182 -0
  847. package/development/icon/icon-name-mixin.js +58 -0
  848. package/development/icon/icon-request.js +42 -0
  849. package/development/icon/icon-validate.js +47 -0
  850. package/development/icon/icon.js +118 -0
  851. package/development/icon-sidebar-button-common-CA_8TnFu.js +110 -0
  852. package/development/icon.d.ts +3 -0
  853. package/development/icon.d.ts.map +1 -1
  854. package/development/icon.js +6 -400
  855. package/development/image/image.js +682 -0
  856. package/development/image.d.ts +3 -0
  857. package/development/image.d.ts.map +1 -1
  858. package/development/image.js +2 -679
  859. package/development/journey-header/journey-header.js +192 -0
  860. package/development/journey-header.d.ts +3 -0
  861. package/development/journey-header.d.ts.map +1 -1
  862. package/development/journey-header.js +2 -189
  863. package/development/lead-container/lead-container.js +150 -0
  864. package/development/lead-container.d.ts +3 -0
  865. package/development/lead-container.d.ts.map +1 -1
  866. package/development/lead-container.js +2 -147
  867. package/development/link/block-link/block-link.js +26 -0
  868. package/development/link/block-link-button/block-link-button.js +26 -0
  869. package/development/link/block-link-button.d.ts +3 -0
  870. package/development/link/block-link-button.d.ts.map +1 -1
  871. package/development/link/block-link-button.js +2 -23
  872. package/development/link/block-link-static/block-link-static.js +26 -0
  873. package/development/link/block-link-static.d.ts +3 -0
  874. package/development/link/block-link-static.d.ts.map +1 -1
  875. package/development/link/block-link-static.js +2 -23
  876. package/development/link/block-link.d.ts +3 -0
  877. package/development/link/block-link.d.ts.map +1 -1
  878. package/development/link/block-link.js +2 -23
  879. package/development/link/common/block-link-common.js +132 -0
  880. package/development/link/common/inline-link-common.js +45 -0
  881. package/development/link/common/link-common.js +11 -0
  882. package/development/link/common.d.ts +3 -0
  883. package/development/link/common.d.ts.map +1 -1
  884. package/development/link/common.js +5 -279
  885. package/development/link/link/link.js +26 -0
  886. package/development/link/link-button/link-button.js +26 -0
  887. package/development/link/link-button.d.ts +3 -0
  888. package/development/link/link-button.d.ts.map +1 -1
  889. package/development/link/link-button.js +2 -23
  890. package/development/link/link-static/link-static.js +26 -0
  891. package/development/link/link-static.d.ts +3 -0
  892. package/development/link/link-static.d.ts.map +1 -1
  893. package/development/link/link-static.js +2 -23
  894. package/development/link/link.d.ts +3 -0
  895. package/development/link/link.d.ts.map +1 -1
  896. package/development/link/link.js +2 -23
  897. package/development/link-common-CJEWffDZ.js +127 -0
  898. package/development/link-list/common/link-list-base.js +121 -0
  899. package/development/link-list/common.d.ts +3 -0
  900. package/development/link-list/common.d.ts.map +1 -1
  901. package/development/link-list/common.js +4 -141
  902. package/development/link-list/link-list/link-list.js +206 -0
  903. package/development/link-list/link-list-anchor/link-list-anchor.js +72 -0
  904. package/development/link-list/link-list-anchor.d.ts +3 -0
  905. package/development/link-list/link-list-anchor.d.ts.map +1 -1
  906. package/development/link-list/link-list-anchor.js +2 -69
  907. package/development/link-list/link-list.d.ts +3 -0
  908. package/development/link-list/link-list.d.ts.map +1 -1
  909. package/development/link-list/link-list.js +2 -203
  910. package/development/link-list-base-DC9sc7q5.js +27 -0
  911. package/development/link-list.d.ts +3 -0
  912. package/development/link-list.d.ts.map +1 -1
  913. package/development/link-list.js +11 -4
  914. package/development/link.d.ts +3 -0
  915. package/development/link.d.ts.map +1 -1
  916. package/development/link.js +21 -8
  917. package/development/loading-indicator/loading-indicator.js +260 -0
  918. package/development/loading-indicator-circle/loading-indicator-circle.js +146 -0
  919. package/development/loading-indicator-circle.d.ts +3 -0
  920. package/development/loading-indicator-circle.d.ts.map +1 -1
  921. package/development/loading-indicator-circle.js +2 -143
  922. package/development/loading-indicator.d.ts +3 -0
  923. package/development/loading-indicator.d.ts.map +1 -1
  924. package/development/loading-indicator.js +2 -257
  925. package/development/logo/logo.js +157 -0
  926. package/development/logo.d.ts +3 -0
  927. package/development/logo.d.ts.map +1 -1
  928. package/development/logo.js +2 -154
  929. package/development/map-container/map-container.js +285 -0
  930. package/development/map-container.d.ts +3 -0
  931. package/development/map-container.d.ts.map +1 -1
  932. package/development/map-container.js +2 -282
  933. package/development/menu/common/menu-action-common.js +203 -0
  934. package/development/menu/common.d.ts +3 -0
  935. package/development/menu/common.d.ts.map +1 -1
  936. package/development/menu/common.js +2 -200
  937. package/development/menu/menu/menu.d.ts +1 -2
  938. package/development/menu/menu/menu.d.ts.map +1 -1
  939. package/development/menu/menu/menu.js +573 -0
  940. package/development/menu/menu-button/menu-button.js +26 -0
  941. package/development/menu/menu-button.d.ts +3 -0
  942. package/development/menu/menu-button.d.ts.map +1 -1
  943. package/development/menu/menu-button.js +2 -23
  944. package/development/menu/menu-link/menu-link.js +26 -0
  945. package/development/menu/menu-link.d.ts +3 -0
  946. package/development/menu/menu-link.d.ts.map +1 -1
  947. package/development/menu/menu-link.js +2 -23
  948. package/development/menu/menu.d.ts +3 -0
  949. package/development/menu/menu.d.ts.map +1 -1
  950. package/development/menu/menu.js +2 -581
  951. package/development/menu.d.ts +3 -0
  952. package/development/menu.d.ts.map +1 -1
  953. package/development/menu.js +10 -4
  954. package/development/message/message.js +139 -0
  955. package/development/message.d.ts +3 -0
  956. package/development/message.d.ts.map +1 -1
  957. package/development/message.js +2 -136
  958. package/development/navigation/common/navigation-action-common.js +175 -0
  959. package/development/navigation/common.d.ts +3 -0
  960. package/development/navigation/common.d.ts.map +1 -1
  961. package/development/navigation/common.js +2 -172
  962. package/development/navigation/navigation/navigation.d.ts +12 -17
  963. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  964. package/development/navigation/navigation/navigation.js +597 -0
  965. package/development/navigation/navigation-button/navigation-button.js +25 -0
  966. package/development/navigation/navigation-button.d.ts +3 -0
  967. package/development/navigation/navigation-button.d.ts.map +1 -1
  968. package/development/navigation/navigation-button.js +2 -22
  969. package/development/navigation/navigation-link/navigation-link.js +25 -0
  970. package/development/navigation/navigation-link.d.ts +3 -0
  971. package/development/navigation/navigation-link.d.ts.map +1 -1
  972. package/development/navigation/navigation-link.js +2 -22
  973. package/development/navigation/navigation-list/navigation-list.js +113 -0
  974. package/development/navigation/navigation-list.d.ts +3 -0
  975. package/development/navigation/navigation-list.d.ts.map +1 -1
  976. package/development/navigation/navigation-list.js +2 -110
  977. package/development/navigation/navigation-marker/navigation-marker.js +215 -0
  978. package/development/navigation/navigation-marker.d.ts +3 -0
  979. package/development/navigation/navigation-marker.d.ts.map +1 -1
  980. package/development/navigation/navigation-marker.js +2 -212
  981. package/development/navigation/navigation-section/navigation-section.d.ts +3 -5
  982. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  983. package/development/navigation/navigation-section/navigation-section.js +622 -0
  984. package/development/navigation/navigation-section.d.ts +3 -0
  985. package/development/navigation/navigation-section.d.ts.map +1 -1
  986. package/development/navigation/navigation-section.js +2 -632
  987. package/development/navigation/navigation.d.ts +3 -0
  988. package/development/navigation/navigation.d.ts.map +1 -1
  989. package/development/navigation/navigation.js +2 -608
  990. package/development/navigation.d.ts +3 -0
  991. package/development/navigation.d.ts.map +1 -1
  992. package/development/navigation.js +16 -7
  993. package/development/notification/notification.js +527 -0
  994. package/development/notification.d.ts +3 -0
  995. package/development/notification.d.ts.map +1 -1
  996. package/development/notification.js +2 -524
  997. package/development/option/optgroup/optgroup-base-element.js +247 -0
  998. package/development/option/optgroup/optgroup.js +50 -0
  999. package/development/option/optgroup.d.ts +3 -0
  1000. package/development/option/optgroup.d.ts.map +1 -1
  1001. package/development/option/optgroup.js +3 -287
  1002. package/development/option/option/option-base-element.d.ts.map +1 -1
  1003. package/development/option/option/option-base-element.js +324 -0
  1004. package/development/option/option/option.js +264 -0
  1005. package/development/option/option.d.ts +3 -0
  1006. package/development/option/option.d.ts.map +1 -1
  1007. package/development/option/option.js +3 -571
  1008. package/development/option.d.ts +3 -0
  1009. package/development/option.d.ts.map +1 -1
  1010. package/development/option.js +11 -3
  1011. package/development/overlay/overlay-base-element.d.ts +7 -3
  1012. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  1013. package/development/overlay/overlay-base-element.js +144 -0
  1014. package/development/overlay/overlay.d.ts +0 -1
  1015. package/development/overlay/overlay.d.ts.map +1 -1
  1016. package/development/overlay/overlay.js +424 -0
  1017. package/development/overlay.d.ts +3 -0
  1018. package/development/overlay.d.ts.map +1 -1
  1019. package/development/overlay.js +3 -549
  1020. package/development/paginator/common/paginator-common.js +193 -0
  1021. package/development/paginator/common.d.ts +3 -0
  1022. package/development/paginator/common.d.ts.map +1 -1
  1023. package/development/paginator/common.js +2 -190
  1024. package/development/paginator/compact-paginator/compact-paginator.js +96 -0
  1025. package/development/paginator/compact-paginator.d.ts +3 -0
  1026. package/development/paginator/compact-paginator.d.ts.map +1 -1
  1027. package/development/paginator/compact-paginator.js +2 -93
  1028. package/development/paginator/paginator/paginator.js +452 -0
  1029. package/development/paginator/paginator.d.ts +3 -0
  1030. package/development/paginator/paginator.d.ts.map +1 -1
  1031. package/development/paginator/paginator.js +2 -449
  1032. package/development/paginator.d.ts +3 -0
  1033. package/development/paginator.d.ts.map +1 -1
  1034. package/development/paginator.js +8 -3
  1035. package/development/popover/popover/popover.d.ts +1 -1
  1036. package/development/popover/popover/popover.d.ts.map +1 -1
  1037. package/development/popover/popover/popover.js +592 -0
  1038. package/development/popover/popover-trigger/popover-trigger.js +213 -0
  1039. package/development/popover/popover-trigger.d.ts +3 -0
  1040. package/development/popover/popover-trigger.d.ts.map +1 -1
  1041. package/development/popover/popover-trigger.js +2 -212
  1042. package/development/popover/popover.d.ts +3 -0
  1043. package/development/popover/popover.d.ts.map +1 -1
  1044. package/development/popover/popover.js +2 -597
  1045. package/development/popover.d.ts +3 -0
  1046. package/development/popover.d.ts.map +1 -1
  1047. package/development/popover.js +6 -2
  1048. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  1049. package/development/radio-button/common/radio-button-common.js +93 -0
  1050. package/development/radio-button/common.d.ts +3 -0
  1051. package/development/radio-button/common.d.ts.map +1 -1
  1052. package/development/radio-button/common.js +4 -228
  1053. package/development/radio-button/radio-button/radio-button.js +90 -0
  1054. package/development/radio-button/radio-button-group/radio-button-group.js +387 -0
  1055. package/development/radio-button/radio-button-group.d.ts +3 -0
  1056. package/development/radio-button/radio-button-group.d.ts.map +1 -1
  1057. package/development/radio-button/radio-button-group.js +2 -384
  1058. package/development/radio-button/radio-button-panel/radio-button-panel.js +122 -0
  1059. package/development/radio-button/radio-button-panel.d.ts +3 -0
  1060. package/development/radio-button/radio-button-panel.d.ts.map +1 -1
  1061. package/development/radio-button/radio-button-panel.js +2 -119
  1062. package/development/radio-button/radio-button.d.ts +3 -0
  1063. package/development/radio-button/radio-button.d.ts.map +1 -1
  1064. package/development/radio-button/radio-button.js +2 -87
  1065. package/development/radio-button-common-hZiiLJDY.js +139 -0
  1066. package/development/radio-button.d.ts +3 -0
  1067. package/development/radio-button.d.ts.map +1 -1
  1068. package/development/radio-button.js +13 -5
  1069. package/development/{sbb-tokens-CSAKTXUi.js → sbb-tokens-CVLcOi-S.js} +10 -10
  1070. package/development/screen-reader-only/screen-reader-only.js +37 -0
  1071. package/development/screen-reader-only.d.ts +3 -0
  1072. package/development/screen-reader-only.d.ts.map +1 -1
  1073. package/development/screen-reader-only.js +2 -34
  1074. package/development/select/select.js +1048 -0
  1075. package/development/select.d.ts +3 -0
  1076. package/development/select.d.ts.map +1 -1
  1077. package/development/select.js +2 -1045
  1078. package/development/selection-expansion-panel/selection-expansion-panel.js +400 -0
  1079. package/development/selection-expansion-panel.d.ts +3 -0
  1080. package/development/selection-expansion-panel.d.ts.map +1 -1
  1081. package/development/selection-expansion-panel.js +2 -397
  1082. package/development/sidebar/common.d.ts +3 -0
  1083. package/development/sidebar/common.d.ts.map +1 -1
  1084. package/development/sidebar/common.js +5 -112
  1085. package/development/sidebar/icon-sidebar/icon-sidebar.js +85 -0
  1086. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.js +28 -0
  1087. package/development/sidebar/icon-sidebar-button.d.ts +3 -0
  1088. package/development/sidebar/icon-sidebar-button.d.ts.map +1 -1
  1089. package/development/sidebar/icon-sidebar-button.js +2 -25
  1090. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.js +45 -0
  1091. package/development/sidebar/icon-sidebar-container.d.ts +3 -0
  1092. package/development/sidebar/icon-sidebar-container.d.ts.map +1 -1
  1093. package/development/sidebar/icon-sidebar-container.js +2 -42
  1094. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.js +34 -0
  1095. package/development/sidebar/icon-sidebar-content.d.ts +3 -0
  1096. package/development/sidebar/icon-sidebar-content.d.ts.map +1 -1
  1097. package/development/sidebar/icon-sidebar-content.js +2 -31
  1098. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.js +28 -0
  1099. package/development/sidebar/icon-sidebar-link.d.ts +3 -0
  1100. package/development/sidebar/icon-sidebar-link.d.ts.map +1 -1
  1101. package/development/sidebar/icon-sidebar-link.js +2 -25
  1102. package/development/sidebar/icon-sidebar.d.ts +3 -0
  1103. package/development/sidebar/icon-sidebar.d.ts.map +1 -1
  1104. package/development/sidebar/icon-sidebar.js +2 -82
  1105. package/development/sidebar/sidebar/sidebar.d.ts +1 -7
  1106. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
  1107. package/development/sidebar/sidebar/sidebar.js +485 -0
  1108. package/development/sidebar/sidebar-close-button/sidebar-close-button.js +55 -0
  1109. package/development/sidebar/sidebar-close-button.d.ts +3 -0
  1110. package/development/sidebar/sidebar-close-button.d.ts.map +1 -1
  1111. package/development/sidebar/sidebar-close-button.js +2 -52
  1112. package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
  1113. package/development/sidebar/sidebar-container/sidebar-container.js +156 -0
  1114. package/development/sidebar/sidebar-container.d.ts +3 -0
  1115. package/development/sidebar/sidebar-container.d.ts.map +1 -1
  1116. package/development/sidebar/sidebar-container.js +2 -150
  1117. package/development/sidebar/sidebar-content/sidebar-content.js +37 -0
  1118. package/development/sidebar/sidebar-content.d.ts +3 -0
  1119. package/development/sidebar/sidebar-content.d.ts.map +1 -1
  1120. package/development/sidebar/sidebar-content.js +2 -34
  1121. package/development/sidebar/sidebar-title/sidebar-title.js +63 -0
  1122. package/development/sidebar/sidebar-title.d.ts +3 -0
  1123. package/development/sidebar/sidebar-title.d.ts.map +1 -1
  1124. package/development/sidebar/sidebar-title.js +2 -60
  1125. package/development/sidebar/sidebar.d.ts +3 -0
  1126. package/development/sidebar/sidebar.d.ts.map +1 -1
  1127. package/development/sidebar/sidebar.js +2 -520
  1128. package/development/sidebar.d.ts +3 -0
  1129. package/development/sidebar.d.ts.map +1 -1
  1130. package/development/sidebar.js +26 -11
  1131. package/development/signet/signet.js +162 -0
  1132. package/development/signet.d.ts +3 -0
  1133. package/development/signet.d.ts.map +1 -1
  1134. package/development/signet.js +2 -159
  1135. package/development/skiplink-list/skiplink-list.js +144 -0
  1136. package/development/skiplink-list.d.ts +3 -0
  1137. package/development/skiplink-list.d.ts.map +1 -1
  1138. package/development/skiplink-list.js +2 -141
  1139. package/development/slider/slider.js +451 -0
  1140. package/development/slider.d.ts +3 -0
  1141. package/development/slider.d.ts.map +1 -1
  1142. package/development/slider.js +2 -448
  1143. package/development/status/status.d.ts +4 -0
  1144. package/development/status/status.d.ts.map +1 -1
  1145. package/development/status/status.js +198 -0
  1146. package/development/status.d.ts +3 -0
  1147. package/development/status.d.ts.map +1 -1
  1148. package/development/status.js +2 -220
  1149. package/development/stepper/step/step.js +218 -0
  1150. package/development/stepper/step-label/step-label.js +276 -0
  1151. package/development/stepper/step-label.d.ts +3 -0
  1152. package/development/stepper/step-label.d.ts.map +1 -1
  1153. package/development/stepper/step-label.js +2 -273
  1154. package/development/stepper/step.d.ts +3 -0
  1155. package/development/stepper/step.d.ts.map +1 -1
  1156. package/development/stepper/step.js +2 -215
  1157. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  1158. package/development/stepper/stepper/stepper.js +449 -0
  1159. package/development/stepper/stepper.d.ts +3 -0
  1160. package/development/stepper/stepper.d.ts.map +1 -1
  1161. package/development/stepper/stepper.js +2 -446
  1162. package/development/stepper.d.ts +3 -0
  1163. package/development/stepper.d.ts.map +1 -1
  1164. package/development/stepper.js +8 -3
  1165. package/development/table/table-wrapper/table-wrapper.d.ts +6 -1
  1166. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  1167. package/development/table/table-wrapper/table-wrapper.js +128 -0
  1168. package/development/table/table-wrapper.d.ts +3 -0
  1169. package/development/table/table-wrapper.d.ts.map +1 -1
  1170. package/development/table/table-wrapper.js +2 -104
  1171. package/development/table.d.ts +3 -0
  1172. package/development/table.d.ts.map +1 -1
  1173. package/development/table.js +4 -1
  1174. package/development/tabs/tab/tab.js +66 -0
  1175. package/development/tabs/tab-group/tab-group.js +391 -0
  1176. package/development/tabs/tab-group.d.ts +3 -0
  1177. package/development/tabs/tab-group.d.ts.map +1 -1
  1178. package/development/tabs/tab-group.js +2 -388
  1179. package/development/tabs/tab-label/tab-label.js +316 -0
  1180. package/development/tabs/tab-label.d.ts +3 -0
  1181. package/development/tabs/tab-label.d.ts.map +1 -1
  1182. package/development/tabs/tab-label.js +2 -312
  1183. package/development/tabs/tab.d.ts +3 -0
  1184. package/development/tabs/tab.d.ts.map +1 -1
  1185. package/development/tabs/tab.js +2 -63
  1186. package/development/tabs.d.ts +3 -0
  1187. package/development/tabs.d.ts.map +1 -1
  1188. package/development/tabs.js +8 -3
  1189. package/development/tag/tag/tag.js +351 -0
  1190. package/development/tag/tag-group/tag-group.js +192 -0
  1191. package/development/tag/tag-group.d.ts +3 -0
  1192. package/development/tag/tag-group.d.ts.map +1 -1
  1193. package/development/tag/tag-group.js +2 -189
  1194. package/development/tag/tag.d.ts +3 -0
  1195. package/development/tag/tag.d.ts.map +1 -1
  1196. package/development/tag/tag.js +2 -348
  1197. package/development/tag.d.ts +3 -0
  1198. package/development/tag.d.ts.map +1 -1
  1199. package/development/tag.js +6 -2
  1200. package/development/teaser/teaser.js +260 -0
  1201. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  1202. package/development/teaser-hero/teaser-hero.js +184 -0
  1203. package/development/teaser-hero.d.ts +3 -0
  1204. package/development/teaser-hero.d.ts.map +1 -1
  1205. package/development/teaser-hero.js +2 -177
  1206. package/development/teaser-product/common/teaser-product-common.js +73 -0
  1207. package/development/teaser-product/common.d.ts +3 -0
  1208. package/development/teaser-product/common.d.ts.map +1 -1
  1209. package/development/teaser-product/common.js +4 -214
  1210. package/development/teaser-product/teaser-product/teaser-product.js +71 -0
  1211. package/development/teaser-product/teaser-product-static/teaser-product-static.js +24 -0
  1212. package/development/teaser-product/teaser-product-static.d.ts +3 -0
  1213. package/development/teaser-product/teaser-product-static.d.ts.map +1 -1
  1214. package/development/teaser-product/teaser-product-static.js +2 -21
  1215. package/development/teaser-product/teaser-product.d.ts +3 -0
  1216. package/development/teaser-product/teaser-product.d.ts.map +1 -1
  1217. package/development/teaser-product/teaser-product.js +2 -68
  1218. package/development/teaser-product-common-D6fa6x3w.js +148 -0
  1219. package/development/teaser-product.d.ts +3 -0
  1220. package/development/teaser-product.d.ts.map +1 -1
  1221. package/development/teaser-product.js +11 -4
  1222. package/development/teaser.d.ts +3 -0
  1223. package/development/teaser.d.ts.map +1 -1
  1224. package/development/teaser.js +2 -257
  1225. package/development/time-input/time-input.js +276 -0
  1226. package/development/time-input.d.ts +3 -0
  1227. package/development/time-input.d.ts.map +1 -1
  1228. package/development/time-input.js +2 -273
  1229. package/development/timetable-occupancy/timetable-occupancy.js +151 -0
  1230. package/development/timetable-occupancy-icon/timetable-occupancy-icon.js +98 -0
  1231. package/development/timetable-occupancy-icon.d.ts +3 -0
  1232. package/development/timetable-occupancy-icon.d.ts.map +1 -1
  1233. package/development/timetable-occupancy-icon.js +2 -95
  1234. package/development/timetable-occupancy.d.ts +3 -0
  1235. package/development/timetable-occupancy.d.ts.map +1 -1
  1236. package/development/timetable-occupancy.js +2 -148
  1237. package/development/title/title-base.js +212 -0
  1238. package/development/title/title.js +60 -0
  1239. package/development/title.d.ts +3 -0
  1240. package/development/title.d.ts.map +1 -1
  1241. package/development/title.js +3 -261
  1242. package/development/toast/toast.js +443 -0
  1243. package/development/toast.d.ts +3 -0
  1244. package/development/toast.d.ts.map +1 -1
  1245. package/development/toast.js +2 -440
  1246. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  1247. package/development/toggle/toggle/toggle.js +342 -0
  1248. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  1249. package/development/toggle/toggle-option/toggle-option.js +208 -0
  1250. package/development/toggle/toggle-option.d.ts +3 -0
  1251. package/development/toggle/toggle-option.d.ts.map +1 -1
  1252. package/development/toggle/toggle-option.js +2 -217
  1253. package/development/toggle/toggle.d.ts +3 -0
  1254. package/development/toggle/toggle.d.ts.map +1 -1
  1255. package/development/toggle/toggle.js +2 -340
  1256. package/development/toggle-check/toggle-check.js +284 -0
  1257. package/development/toggle-check.d.ts +3 -0
  1258. package/development/toggle-check.d.ts.map +1 -1
  1259. package/development/toggle-check.js +2 -281
  1260. package/development/toggle.d.ts +3 -0
  1261. package/development/toggle.d.ts.map +1 -1
  1262. package/development/toggle.js +6 -2
  1263. package/development/train/train/train.js +245 -0
  1264. package/development/train/train-blocked-passage/train-blocked-passage.js +87 -0
  1265. package/development/train/train-blocked-passage.d.ts +3 -0
  1266. package/development/train/train-blocked-passage.d.ts.map +1 -1
  1267. package/development/train/train-blocked-passage.js +2 -84
  1268. package/development/train/train-formation/train-formation.js +269 -0
  1269. package/development/train/train-formation.d.ts +3 -0
  1270. package/development/train/train-formation.d.ts.map +1 -1
  1271. package/development/train/train-formation.js +2 -266
  1272. package/development/train/train-wagon/train-wagon.js +415 -0
  1273. package/development/train/train-wagon.d.ts +3 -0
  1274. package/development/train/train-wagon.d.ts.map +1 -1
  1275. package/development/train/train-wagon.js +2 -412
  1276. package/development/train/train.d.ts +3 -0
  1277. package/development/train/train.d.ts.map +1 -1
  1278. package/development/train/train.js +2 -242
  1279. package/development/train.d.ts +3 -0
  1280. package/development/train.d.ts.map +1 -1
  1281. package/development/train.js +10 -4
  1282. package/development/transparent-button-Ddb_s0a0.js +338 -0
  1283. package/development/visual-checkbox/visual-checkbox.js +221 -0
  1284. package/development/visual-checkbox.d.ts +3 -0
  1285. package/development/visual-checkbox.d.ts.map +1 -1
  1286. package/development/visual-checkbox.js +2 -218
  1287. package/dialog/dialog/dialog.d.ts +0 -1
  1288. package/dialog/dialog/dialog.d.ts.map +1 -1
  1289. package/dialog/dialog/dialog.js +142 -0
  1290. package/dialog/dialog-actions/dialog-actions.js +20 -0
  1291. package/dialog/dialog-actions.d.ts +3 -0
  1292. package/dialog/dialog-actions.d.ts.map +1 -1
  1293. package/dialog/dialog-actions.js +2 -18
  1294. package/dialog/dialog-content/dialog-content.js +24 -0
  1295. package/dialog/dialog-content.d.ts +3 -0
  1296. package/dialog/dialog-content.d.ts.map +1 -1
  1297. package/dialog/dialog-content.js +2 -22
  1298. package/dialog/dialog-title/dialog-title.js +116 -0
  1299. package/dialog/dialog-title.d.ts +3 -0
  1300. package/dialog/dialog-title.d.ts.map +1 -1
  1301. package/dialog/dialog-title.js +2 -114
  1302. package/dialog/dialog.d.ts +3 -0
  1303. package/dialog/dialog.d.ts.map +1 -1
  1304. package/dialog/dialog.js +2 -146
  1305. package/dialog.d.ts +3 -0
  1306. package/dialog.d.ts.map +1 -1
  1307. package/dialog.js +10 -4
  1308. package/divider/divider.js +45 -0
  1309. package/divider.d.ts +3 -0
  1310. package/divider.d.ts.map +1 -1
  1311. package/divider.js +2 -43
  1312. package/expansion-panel/expansion-panel/expansion-panel.js +165 -0
  1313. package/expansion-panel/expansion-panel-content/expansion-panel-content.js +27 -0
  1314. package/expansion-panel/expansion-panel-content.d.ts +3 -0
  1315. package/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  1316. package/expansion-panel/expansion-panel-content.js +2 -25
  1317. package/expansion-panel/expansion-panel-header/expansion-panel-header.js +65 -0
  1318. package/expansion-panel/expansion-panel-header.d.ts +3 -0
  1319. package/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  1320. package/expansion-panel/expansion-panel-header.js +2 -63
  1321. package/expansion-panel/expansion-panel.d.ts +3 -0
  1322. package/expansion-panel/expansion-panel.d.ts.map +1 -1
  1323. package/expansion-panel/expansion-panel.js +2 -163
  1324. package/expansion-panel.d.ts +3 -0
  1325. package/expansion-panel.d.ts.map +1 -1
  1326. package/expansion-panel.js +8 -3
  1327. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  1328. package/file-selector/common/file-selector-common.js +209 -0
  1329. package/file-selector/common.d.ts +3 -0
  1330. package/file-selector/common.d.ts.map +1 -1
  1331. package/file-selector/common.js +4 -208
  1332. package/file-selector/file-selector/file-selector.js +44 -0
  1333. package/file-selector/file-selector-dropzone/file-selector-dropzone.js +97 -0
  1334. package/file-selector/file-selector-dropzone.d.ts +3 -0
  1335. package/file-selector/file-selector-dropzone.d.ts.map +1 -1
  1336. package/file-selector/file-selector-dropzone.js +2 -95
  1337. package/file-selector/file-selector.d.ts +3 -0
  1338. package/file-selector/file-selector.d.ts.map +1 -1
  1339. package/file-selector/file-selector.js +2 -42
  1340. package/file-selector-common-Dw5d8vA4.js +5 -0
  1341. package/file-selector.d.ts +3 -0
  1342. package/file-selector.d.ts.map +1 -1
  1343. package/file-selector.js +10 -3
  1344. package/flip-card/flip-card/flip-card.js +122 -0
  1345. package/flip-card/flip-card-details/flip-card-details.js +45 -0
  1346. package/flip-card/flip-card-details.d.ts +3 -0
  1347. package/flip-card/flip-card-details.d.ts.map +1 -1
  1348. package/flip-card/flip-card-details.js +2 -43
  1349. package/flip-card/flip-card-summary/flip-card-summary.js +52 -0
  1350. package/flip-card/flip-card-summary.d.ts +3 -0
  1351. package/flip-card/flip-card-summary.d.ts.map +1 -1
  1352. package/flip-card/flip-card-summary.js +2 -50
  1353. package/flip-card/flip-card.d.ts +3 -0
  1354. package/flip-card/flip-card.d.ts.map +1 -1
  1355. package/flip-card/flip-card.js +2 -120
  1356. package/flip-card.d.ts +3 -0
  1357. package/flip-card.d.ts.map +1 -1
  1358. package/flip-card.js +8 -3
  1359. package/footer/footer.js +87 -0
  1360. package/footer.d.ts +3 -0
  1361. package/footer.d.ts.map +1 -1
  1362. package/footer.js +2 -85
  1363. package/form-error/form-error.js +47 -0
  1364. package/form-error.d.ts +3 -0
  1365. package/form-error.d.ts.map +1 -1
  1366. package/form-error.js +2 -45
  1367. package/form-field/form-field/form-field.js +363 -0
  1368. package/form-field/form-field-clear/form-field-clear.js +42 -0
  1369. package/form-field/form-field-clear.d.ts +3 -0
  1370. package/form-field/form-field-clear.d.ts.map +1 -1
  1371. package/form-field/form-field-clear.js +2 -40
  1372. package/form-field/form-field.d.ts +3 -0
  1373. package/form-field/form-field.d.ts.map +1 -1
  1374. package/form-field/form-field.js +2 -361
  1375. package/form-field.d.ts +3 -0
  1376. package/form-field.d.ts.map +1 -1
  1377. package/form-field.js +6 -2
  1378. package/header/common/header-action-common.js +50 -0
  1379. package/header/common.d.ts +3 -0
  1380. package/header/common.d.ts.map +1 -1
  1381. package/header/common.js +2 -48
  1382. package/header/header/header.js +151 -0
  1383. package/header/header-button/header-button.js +16 -0
  1384. package/header/header-button.d.ts +3 -0
  1385. package/header/header-button.d.ts.map +1 -1
  1386. package/header/header-button.js +2 -14
  1387. package/header/header-link/header-link.js +16 -0
  1388. package/header/header-link.d.ts +3 -0
  1389. package/header/header-link.d.ts.map +1 -1
  1390. package/header/header-link.js +2 -14
  1391. package/header/header.d.ts +3 -0
  1392. package/header/header.d.ts.map +1 -1
  1393. package/header/header.js +2 -149
  1394. package/header.d.ts +3 -0
  1395. package/header.d.ts.map +1 -1
  1396. package/header.js +10 -4
  1397. package/icon/icon-base.js +109 -0
  1398. package/icon/icon-name-mixin.js +47 -0
  1399. package/icon/icon-request.js +31 -0
  1400. package/icon/icon-validate.js +26 -0
  1401. package/icon/icon.js +77 -0
  1402. package/icon-sidebar-button-common-DG8bnrBu.js +7 -0
  1403. package/icon.d.ts +3 -0
  1404. package/icon.d.ts.map +1 -1
  1405. package/icon.js +11 -254
  1406. package/image/image.js +469 -0
  1407. package/image.d.ts +3 -0
  1408. package/image.d.ts.map +1 -1
  1409. package/image.js +2 -467
  1410. package/index.d.ts +187 -185
  1411. package/index.js +187 -185
  1412. package/journey-header/journey-header.js +119 -0
  1413. package/journey-header.d.ts +3 -0
  1414. package/journey-header.d.ts.map +1 -1
  1415. package/journey-header.js +2 -117
  1416. package/lead-container/lead-container.js +31 -0
  1417. package/lead-container.d.ts +3 -0
  1418. package/lead-container.d.ts.map +1 -1
  1419. package/lead-container.js +2 -29
  1420. package/link/block-link/block-link.js +17 -0
  1421. package/link/block-link-button/block-link-button.js +17 -0
  1422. package/link/block-link-button.d.ts +3 -0
  1423. package/link/block-link-button.d.ts.map +1 -1
  1424. package/link/block-link-button.js +2 -15
  1425. package/link/block-link-static/block-link-static.js +17 -0
  1426. package/link/block-link-static.d.ts +3 -0
  1427. package/link/block-link-static.d.ts.map +1 -1
  1428. package/link/block-link-static.js +2 -15
  1429. package/link/block-link.d.ts +3 -0
  1430. package/link/block-link.d.ts.map +1 -1
  1431. package/link/block-link.js +2 -15
  1432. package/link/common/block-link-common.js +43 -0
  1433. package/link/common/inline-link-common.js +12 -0
  1434. package/link/common/link-common.js +10 -0
  1435. package/link/common.d.ts +3 -0
  1436. package/link/common.d.ts.map +1 -1
  1437. package/link/common.js +6 -80
  1438. package/link/link/link.js +17 -0
  1439. package/link/link-button/link-button.js +17 -0
  1440. package/link/link-button.d.ts +3 -0
  1441. package/link/link-button.d.ts.map +1 -1
  1442. package/link/link-button.js +2 -15
  1443. package/link/link-static/link-static.js +17 -0
  1444. package/link/link-static.d.ts +3 -0
  1445. package/link/link-static.d.ts.map +1 -1
  1446. package/link/link-static.js +2 -15
  1447. package/link/link.d.ts +3 -0
  1448. package/link/link.d.ts.map +1 -1
  1449. package/link/link.js +2 -15
  1450. package/link-common-DZrQ-32d.js +46 -0
  1451. package/link-list/common/link-list-base.js +87 -0
  1452. package/link-list/common.d.ts +3 -0
  1453. package/link-list/common.d.ts.map +1 -1
  1454. package/link-list/common.js +4 -87
  1455. package/link-list/link-list/link-list.js +46 -0
  1456. package/link-list/link-list-anchor/link-list-anchor.js +17 -0
  1457. package/link-list/link-list-anchor.d.ts +3 -0
  1458. package/link-list/link-list-anchor.d.ts.map +1 -1
  1459. package/link-list/link-list-anchor.js +2 -15
  1460. package/link-list/link-list.d.ts +3 -0
  1461. package/link-list/link-list.d.ts.map +1 -1
  1462. package/link-list/link-list.js +2 -44
  1463. package/link-list-base-BdOBGhxe.js +5 -0
  1464. package/link-list.d.ts +3 -0
  1465. package/link-list.d.ts.map +1 -1
  1466. package/link-list.js +10 -3
  1467. package/link.d.ts +3 -0
  1468. package/link.d.ts.map +1 -1
  1469. package/link.js +20 -7
  1470. package/loading-indicator/loading-indicator.js +66 -0
  1471. package/loading-indicator-circle/loading-indicator-circle.js +46 -0
  1472. package/loading-indicator-circle.d.ts +3 -0
  1473. package/loading-indicator-circle.d.ts.map +1 -1
  1474. package/loading-indicator-circle.js +2 -44
  1475. package/loading-indicator.d.ts +3 -0
  1476. package/loading-indicator.d.ts.map +1 -1
  1477. package/loading-indicator.js +2 -64
  1478. package/logo/logo.js +67 -0
  1479. package/logo.d.ts +3 -0
  1480. package/logo.d.ts.map +1 -1
  1481. package/logo.js +2 -65
  1482. package/map-container/map-container.js +109 -0
  1483. package/map-container.d.ts +3 -0
  1484. package/map-container.d.ts.map +1 -1
  1485. package/map-container.js +2 -107
  1486. package/menu/common/menu-action-common.js +53 -0
  1487. package/menu/common.d.ts +3 -0
  1488. package/menu/common.d.ts.map +1 -1
  1489. package/menu/common.js +2 -51
  1490. package/menu/menu/menu.d.ts +1 -2
  1491. package/menu/menu/menu.d.ts.map +1 -1
  1492. package/menu/menu/menu.js +227 -0
  1493. package/menu/menu-button/menu-button.js +17 -0
  1494. package/menu/menu-button.d.ts +3 -0
  1495. package/menu/menu-button.d.ts.map +1 -1
  1496. package/menu/menu-button.js +2 -15
  1497. package/menu/menu-link/menu-link.js +17 -0
  1498. package/menu/menu-link.d.ts +3 -0
  1499. package/menu/menu-link.d.ts.map +1 -1
  1500. package/menu/menu-link.js +2 -15
  1501. package/menu/menu.d.ts +3 -0
  1502. package/menu/menu.d.ts.map +1 -1
  1503. package/menu/menu.js +2 -230
  1504. package/menu.d.ts +3 -0
  1505. package/menu.d.ts.map +1 -1
  1506. package/menu.js +10 -4
  1507. package/message/message.js +60 -0
  1508. package/message.d.ts +3 -0
  1509. package/message.d.ts.map +1 -1
  1510. package/message.js +2 -58
  1511. package/navigation/common/navigation-action-common.js +58 -0
  1512. package/navigation/common.d.ts +3 -0
  1513. package/navigation/common.d.ts.map +1 -1
  1514. package/navigation/common.js +2 -56
  1515. package/navigation/navigation/navigation.d.ts +12 -17
  1516. package/navigation/navigation/navigation.d.ts.map +1 -1
  1517. package/navigation/navigation/navigation.js +215 -0
  1518. package/navigation/navigation-button/navigation-button.js +16 -0
  1519. package/navigation/navigation-button.d.ts +3 -0
  1520. package/navigation/navigation-button.d.ts.map +1 -1
  1521. package/navigation/navigation-button.js +2 -14
  1522. package/navigation/navigation-link/navigation-link.js +16 -0
  1523. package/navigation/navigation-link.d.ts +3 -0
  1524. package/navigation/navigation-link.d.ts.map +1 -1
  1525. package/navigation/navigation-link.js +2 -14
  1526. package/navigation/navigation-list/navigation-list.js +57 -0
  1527. package/navigation/navigation-list.d.ts +3 -0
  1528. package/navigation/navigation-list.d.ts.map +1 -1
  1529. package/navigation/navigation-list.js +2 -55
  1530. package/navigation/navigation-marker/navigation-marker.js +82 -0
  1531. package/navigation/navigation-marker.d.ts +3 -0
  1532. package/navigation/navigation-marker.d.ts.map +1 -1
  1533. package/navigation/navigation-marker.js +2 -80
  1534. package/navigation/navigation-section/navigation-section.d.ts +3 -5
  1535. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  1536. package/navigation/navigation-section/navigation-section.js +233 -0
  1537. package/navigation/navigation-section.d.ts +3 -0
  1538. package/navigation/navigation-section.d.ts.map +1 -1
  1539. package/navigation/navigation-section.js +2 -231
  1540. package/navigation/navigation.d.ts +3 -0
  1541. package/navigation/navigation.d.ts.map +1 -1
  1542. package/navigation/navigation.js +2 -218
  1543. package/navigation.d.ts +3 -0
  1544. package/navigation.d.ts.map +1 -1
  1545. package/navigation.js +16 -7
  1546. package/notification/notification.js +192 -0
  1547. package/notification.d.ts +3 -0
  1548. package/notification.d.ts.map +1 -1
  1549. package/notification.js +2 -190
  1550. package/option/optgroup/optgroup-base-element.js +115 -0
  1551. package/option/optgroup/optgroup.js +34 -0
  1552. package/option/optgroup.d.ts +3 -0
  1553. package/option/optgroup.d.ts.map +1 -1
  1554. package/option/optgroup.js +4 -141
  1555. package/option/option/option-base-element.d.ts.map +1 -1
  1556. package/option/option/option-base-element.js +227 -0
  1557. package/option/option/option.js +95 -0
  1558. package/option/option.d.ts +3 -0
  1559. package/option/option.d.ts.map +1 -1
  1560. package/option/option.js +4 -318
  1561. package/option.d.ts +3 -0
  1562. package/option.d.ts.map +1 -1
  1563. package/option.js +10 -2
  1564. package/overlay/overlay-base-element.d.ts +7 -3
  1565. package/overlay/overlay-base-element.d.ts.map +1 -1
  1566. package/overlay/overlay-base-element.js +102 -0
  1567. package/overlay/overlay.d.ts +0 -1
  1568. package/overlay/overlay.d.ts.map +1 -1
  1569. package/overlay/overlay.js +156 -0
  1570. package/overlay.d.ts +3 -0
  1571. package/overlay.d.ts.map +1 -1
  1572. package/overlay.js +5 -239
  1573. package/package.json +2 -2
  1574. package/paginator/common/paginator-common.js +149 -0
  1575. package/paginator/common.d.ts +3 -0
  1576. package/paginator/common.d.ts.map +1 -1
  1577. package/paginator/common.js +2 -147
  1578. package/paginator/compact-paginator/compact-paginator.js +40 -0
  1579. package/paginator/compact-paginator.d.ts +3 -0
  1580. package/paginator/compact-paginator.d.ts.map +1 -1
  1581. package/paginator/compact-paginator.js +2 -38
  1582. package/paginator/paginator/paginator.js +169 -0
  1583. package/paginator/paginator.d.ts +3 -0
  1584. package/paginator/paginator.d.ts.map +1 -1
  1585. package/paginator/paginator.js +2 -167
  1586. package/paginator.d.ts +3 -0
  1587. package/paginator.d.ts.map +1 -1
  1588. package/paginator.js +8 -3
  1589. package/popover/popover/popover.d.ts +1 -1
  1590. package/popover/popover/popover.d.ts.map +1 -1
  1591. package/popover/popover/popover.js +261 -0
  1592. package/popover/popover-trigger/popover-trigger.js +32 -0
  1593. package/popover/popover-trigger.d.ts +3 -0
  1594. package/popover/popover-trigger.d.ts.map +1 -1
  1595. package/popover/popover-trigger.js +2 -30
  1596. package/popover/popover.d.ts +3 -0
  1597. package/popover/popover.d.ts.map +1 -1
  1598. package/popover/popover.js +2 -263
  1599. package/popover.d.ts +3 -0
  1600. package/popover.d.ts.map +1 -1
  1601. package/popover.js +6 -2
  1602. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  1603. package/radio-button/common/radio-button-common.js +64 -0
  1604. package/radio-button/common.d.ts +3 -0
  1605. package/radio-button/common.d.ts.map +1 -1
  1606. package/radio-button/common.js +4 -65
  1607. package/radio-button/radio-button/radio-button.js +57 -0
  1608. package/radio-button/radio-button-group/radio-button-group.js +186 -0
  1609. package/radio-button/radio-button-group.d.ts +3 -0
  1610. package/radio-button/radio-button-group.d.ts.map +1 -1
  1611. package/radio-button/radio-button-group.js +2 -184
  1612. package/radio-button/radio-button-panel/radio-button-panel.js +88 -0
  1613. package/radio-button/radio-button-panel.d.ts +3 -0
  1614. package/radio-button/radio-button-panel.d.ts.map +1 -1
  1615. package/radio-button/radio-button-panel.js +2 -86
  1616. package/radio-button/radio-button.d.ts +3 -0
  1617. package/radio-button/radio-button.d.ts.map +1 -1
  1618. package/radio-button/radio-button.js +2 -55
  1619. package/radio-button-common-DJKWrKor.js +5 -0
  1620. package/radio-button.d.ts +3 -0
  1621. package/radio-button.d.ts.map +1 -1
  1622. package/radio-button.js +12 -4
  1623. package/{sbb-tokens-BgDF8jIh.js → sbb-tokens-B3Eka-Tz.js} +9 -9
  1624. package/screen-reader-only/screen-reader-only.js +19 -0
  1625. package/screen-reader-only.d.ts +3 -0
  1626. package/screen-reader-only.d.ts.map +1 -1
  1627. package/screen-reader-only.js +2 -17
  1628. package/select/select.js +482 -0
  1629. package/select.d.ts +3 -0
  1630. package/select.d.ts.map +1 -1
  1631. package/select.js +2 -480
  1632. package/selection-expansion-panel/selection-expansion-panel.js +185 -0
  1633. package/selection-expansion-panel.d.ts +3 -0
  1634. package/selection-expansion-panel.d.ts.map +1 -1
  1635. package/selection-expansion-panel.js +2 -183
  1636. package/sidebar/common.d.ts +3 -0
  1637. package/sidebar/common.d.ts.map +1 -1
  1638. package/sidebar/common.js +3 -4
  1639. package/sidebar/icon-sidebar/icon-sidebar.js +47 -0
  1640. package/sidebar/icon-sidebar-button/icon-sidebar-button.js +20 -0
  1641. package/sidebar/icon-sidebar-button.d.ts +3 -0
  1642. package/sidebar/icon-sidebar-button.d.ts.map +1 -1
  1643. package/sidebar/icon-sidebar-button.js +2 -18
  1644. package/sidebar/icon-sidebar-container/icon-sidebar-container.js +35 -0
  1645. package/sidebar/icon-sidebar-container.d.ts +3 -0
  1646. package/sidebar/icon-sidebar-container.d.ts.map +1 -1
  1647. package/sidebar/icon-sidebar-container.js +2 -33
  1648. package/sidebar/icon-sidebar-content/icon-sidebar-content.js +23 -0
  1649. package/sidebar/icon-sidebar-content.d.ts +3 -0
  1650. package/sidebar/icon-sidebar-content.d.ts.map +1 -1
  1651. package/sidebar/icon-sidebar-content.js +2 -21
  1652. package/sidebar/icon-sidebar-link/icon-sidebar-link.js +20 -0
  1653. package/sidebar/icon-sidebar-link.d.ts +3 -0
  1654. package/sidebar/icon-sidebar-link.d.ts.map +1 -1
  1655. package/sidebar/icon-sidebar-link.js +2 -18
  1656. package/sidebar/icon-sidebar.d.ts +3 -0
  1657. package/sidebar/icon-sidebar.d.ts.map +1 -1
  1658. package/sidebar/icon-sidebar.js +2 -45
  1659. package/sidebar/sidebar/sidebar.d.ts +1 -7
  1660. package/sidebar/sidebar/sidebar.d.ts.map +1 -1
  1661. package/sidebar/sidebar/sidebar.js +194 -0
  1662. package/sidebar/sidebar-close-button/sidebar-close-button.js +29 -0
  1663. package/sidebar/sidebar-close-button.d.ts +3 -0
  1664. package/sidebar/sidebar-close-button.d.ts.map +1 -1
  1665. package/sidebar/sidebar-close-button.js +2 -27
  1666. package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
  1667. package/sidebar/sidebar-container/sidebar-container.js +81 -0
  1668. package/sidebar/sidebar-container.d.ts +3 -0
  1669. package/sidebar/sidebar-container.d.ts.map +1 -1
  1670. package/sidebar/sidebar-container.js +2 -76
  1671. package/sidebar/sidebar-content/sidebar-content.js +23 -0
  1672. package/sidebar/sidebar-content.d.ts +3 -0
  1673. package/sidebar/sidebar-content.d.ts.map +1 -1
  1674. package/sidebar/sidebar-content.js +2 -21
  1675. package/sidebar/sidebar-title/sidebar-title.js +37 -0
  1676. package/sidebar/sidebar-title.d.ts +3 -0
  1677. package/sidebar/sidebar-title.d.ts.map +1 -1
  1678. package/sidebar/sidebar-title.js +2 -35
  1679. package/sidebar/sidebar.d.ts +3 -0
  1680. package/sidebar/sidebar.d.ts.map +1 -1
  1681. package/sidebar/sidebar.js +2 -212
  1682. package/sidebar.d.ts +3 -0
  1683. package/sidebar.d.ts.map +1 -1
  1684. package/sidebar.js +26 -11
  1685. package/signet/signet.js +72 -0
  1686. package/signet.d.ts +3 -0
  1687. package/signet.d.ts.map +1 -1
  1688. package/signet.js +2 -70
  1689. package/skiplink-list/skiplink-list.js +71 -0
  1690. package/skiplink-list.d.ts +3 -0
  1691. package/skiplink-list.d.ts.map +1 -1
  1692. package/skiplink-list.js +2 -69
  1693. package/slider/slider.js +232 -0
  1694. package/slider.d.ts +3 -0
  1695. package/slider.d.ts.map +1 -1
  1696. package/slider.js +2 -230
  1697. package/standard-theme.css +47 -2
  1698. package/status/status.d.ts +4 -0
  1699. package/status/status.d.ts.map +1 -1
  1700. package/status/status.js +89 -0
  1701. package/status.d.ts +3 -0
  1702. package/status.d.ts.map +1 -1
  1703. package/status.js +2 -87
  1704. package/stepper/step/step.js +104 -0
  1705. package/stepper/step-label/step-label.js +75 -0
  1706. package/stepper/step-label.d.ts +3 -0
  1707. package/stepper/step-label.d.ts.map +1 -1
  1708. package/stepper/step-label.js +2 -73
  1709. package/stepper/step.d.ts +3 -0
  1710. package/stepper/step.d.ts.map +1 -1
  1711. package/stepper/step.js +2 -102
  1712. package/stepper/stepper/stepper.d.ts.map +1 -1
  1713. package/stepper/stepper/stepper.js +244 -0
  1714. package/stepper/stepper.d.ts +3 -0
  1715. package/stepper/stepper.d.ts.map +1 -1
  1716. package/stepper/stepper.js +2 -242
  1717. package/stepper.d.ts +3 -0
  1718. package/stepper.d.ts.map +1 -1
  1719. package/stepper.js +8 -3
  1720. package/table/table-wrapper/table-wrapper.d.ts +6 -1
  1721. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  1722. package/table/table-wrapper/table-wrapper.js +50 -0
  1723. package/table/table-wrapper.d.ts +3 -0
  1724. package/table/table-wrapper.d.ts.map +1 -1
  1725. package/table/table-wrapper.js +2 -34
  1726. package/table.css +37 -0
  1727. package/table.d.ts +3 -0
  1728. package/table.d.ts.map +1 -1
  1729. package/table.js +4 -1
  1730. package/tabs/tab/tab.js +40 -0
  1731. package/tabs/tab-group/tab-group.js +218 -0
  1732. package/tabs/tab-group.d.ts +3 -0
  1733. package/tabs/tab-group.d.ts.map +1 -1
  1734. package/tabs/tab-group.js +2 -216
  1735. package/tabs/tab-label/tab-label.js +80 -0
  1736. package/tabs/tab-label.d.ts +3 -0
  1737. package/tabs/tab-label.d.ts.map +1 -1
  1738. package/tabs/tab-label.js +2 -78
  1739. package/tabs/tab.d.ts +3 -0
  1740. package/tabs/tab.d.ts.map +1 -1
  1741. package/tabs/tab.js +2 -38
  1742. package/tabs.d.ts +3 -0
  1743. package/tabs.d.ts.map +1 -1
  1744. package/tabs.js +8 -3
  1745. package/tag/tag/tag.js +126 -0
  1746. package/tag/tag-group/tag-group.js +120 -0
  1747. package/tag/tag-group.d.ts +3 -0
  1748. package/tag/tag-group.d.ts.map +1 -1
  1749. package/tag/tag-group.js +2 -118
  1750. package/tag/tag.d.ts +3 -0
  1751. package/tag/tag.d.ts.map +1 -1
  1752. package/tag/tag.js +2 -124
  1753. package/tag.d.ts +3 -0
  1754. package/tag.d.ts.map +1 -1
  1755. package/tag.js +6 -2
  1756. package/teaser/teaser.js +102 -0
  1757. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  1758. package/teaser-hero/teaser-hero.js +61 -0
  1759. package/teaser-hero.d.ts +3 -0
  1760. package/teaser-hero.d.ts.map +1 -1
  1761. package/teaser-hero.js +2 -59
  1762. package/teaser-product/common/teaser-product-common.js +54 -0
  1763. package/teaser-product/common.d.ts +3 -0
  1764. package/teaser-product/common.d.ts.map +1 -1
  1765. package/teaser-product/common.js +4 -53
  1766. package/teaser-product/teaser-product/teaser-product.js +31 -0
  1767. package/teaser-product/teaser-product-static/teaser-product-static.js +16 -0
  1768. package/teaser-product/teaser-product-static.d.ts +3 -0
  1769. package/teaser-product/teaser-product-static.d.ts.map +1 -1
  1770. package/teaser-product/teaser-product-static.js +2 -14
  1771. package/teaser-product/teaser-product.d.ts +3 -0
  1772. package/teaser-product/teaser-product.d.ts.map +1 -1
  1773. package/teaser-product/teaser-product.js +2 -29
  1774. package/teaser-product-common-CpMAlYEp.js +5 -0
  1775. package/teaser-product.d.ts +3 -0
  1776. package/teaser-product.d.ts.map +1 -1
  1777. package/teaser-product.js +10 -3
  1778. package/teaser.d.ts +3 -0
  1779. package/teaser.d.ts.map +1 -1
  1780. package/teaser.js +2 -100
  1781. package/time-input/time-input.js +174 -0
  1782. package/time-input.d.ts +3 -0
  1783. package/time-input.d.ts.map +1 -1
  1784. package/time-input.js +2 -172
  1785. package/timetable-occupancy/timetable-occupancy.js +75 -0
  1786. package/timetable-occupancy-icon/timetable-occupancy-icon.js +64 -0
  1787. package/timetable-occupancy-icon.d.ts +3 -0
  1788. package/timetable-occupancy-icon.d.ts.map +1 -1
  1789. package/timetable-occupancy-icon.js +2 -62
  1790. package/timetable-occupancy.d.ts +3 -0
  1791. package/timetable-occupancy.d.ts.map +1 -1
  1792. package/timetable-occupancy.js +2 -73
  1793. package/title/title-base.js +73 -0
  1794. package/title/title.js +18 -0
  1795. package/title.d.ts +3 -0
  1796. package/title.d.ts.map +1 -1
  1797. package/title.js +4 -83
  1798. package/toast/toast.js +195 -0
  1799. package/toast.d.ts +3 -0
  1800. package/toast.d.ts.map +1 -1
  1801. package/toast.js +2 -193
  1802. package/toggle/toggle/toggle.d.ts.map +1 -1
  1803. package/toggle/toggle/toggle.js +162 -0
  1804. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  1805. package/toggle/toggle-option/toggle-option.js +84 -0
  1806. package/toggle/toggle-option.d.ts +3 -0
  1807. package/toggle/toggle-option.d.ts.map +1 -1
  1808. package/toggle/toggle-option.js +2 -94
  1809. package/toggle/toggle.d.ts +3 -0
  1810. package/toggle/toggle.d.ts.map +1 -1
  1811. package/toggle/toggle.js +2 -162
  1812. package/toggle-check/toggle-check.js +81 -0
  1813. package/toggle-check.d.ts +3 -0
  1814. package/toggle-check.d.ts.map +1 -1
  1815. package/toggle-check.js +2 -79
  1816. package/toggle.d.ts +3 -0
  1817. package/toggle.d.ts.map +1 -1
  1818. package/toggle.js +6 -2
  1819. package/train/train/train.js +126 -0
  1820. package/train/train-blocked-passage/train-blocked-passage.js +25 -0
  1821. package/train/train-blocked-passage.d.ts +3 -0
  1822. package/train/train-blocked-passage.d.ts.map +1 -1
  1823. package/train/train-blocked-passage.js +2 -23
  1824. package/train/train-formation/train-formation.js +91 -0
  1825. package/train/train-formation.d.ts +3 -0
  1826. package/train/train-formation.d.ts.map +1 -1
  1827. package/train/train-formation.js +2 -89
  1828. package/train/train-wagon/train-wagon.js +177 -0
  1829. package/train/train-wagon.d.ts +3 -0
  1830. package/train/train-wagon.d.ts.map +1 -1
  1831. package/train/train-wagon.js +2 -175
  1832. package/train/train.d.ts +3 -0
  1833. package/train/train.d.ts.map +1 -1
  1834. package/train/train.js +2 -124
  1835. package/train.d.ts +3 -0
  1836. package/train.d.ts.map +1 -1
  1837. package/train.js +10 -4
  1838. package/transparent-button-BlbvexCb.js +9 -0
  1839. package/visual-checkbox/visual-checkbox.js +83 -0
  1840. package/visual-checkbox.d.ts +3 -0
  1841. package/visual-checkbox.d.ts.map +1 -1
  1842. package/visual-checkbox.js +2 -81
  1843. package/core/controllers/id-observer-controller.d.ts.map +0 -1
  1844. package/core/testing/private.d.ts +0 -11
  1845. package/core/testing/private.d.ts.map +0 -1
  1846. package/core/testing/test-setup-ssr.d.ts +0 -2
  1847. package/core/testing/test-setup-ssr.d.ts.map +0 -1
  1848. package/core/testing/test-setup.d.ts +0 -2
  1849. package/core/testing/test-setup.d.ts.map +0 -1
  1850. package/development/core/controllers/id-observer-controller.d.ts.map +0 -1
  1851. package/development/core/testing/private.d.ts +0 -11
  1852. package/development/core/testing/private.d.ts.map +0 -1
  1853. package/development/core/testing/test-setup-ssr.d.ts +0 -2
  1854. package/development/core/testing/test-setup-ssr.d.ts.map +0 -1
  1855. package/development/core/testing/test-setup.d.ts +0 -2
  1856. package/development/core/testing/test-setup.d.ts.map +0 -1
@@ -1,378 +1,10 @@
1
- import { isServer } from "lit";
2
- import { readConfig } from "./config.js";
3
- import { S as SbbTypoScaleDefault, i as SbbBreakpointSmallMax, h as SbbBreakpointMediumMin } from "../sbb-tokens-CSAKTXUi.js";
4
- class SbbConnectedAbortController {
5
- get signal() {
6
- var _a;
7
- return (_a = this._abortController) == null ? void 0 : _a.signal;
8
- }
9
- constructor(_host) {
10
- this._host = _host;
11
- this._abortController = new AbortController();
12
- this._host.addController(this);
13
- }
14
- hostConnected() {
15
- if (!this._abortController) {
16
- this._abortController = new AbortController();
17
- }
18
- }
19
- hostDisconnected() {
20
- var _a;
21
- (_a = this._abortController) == null ? void 0 : _a.abort();
22
- this._abortController = void 0;
23
- }
24
- }
25
- const overlayStack = new Array();
26
- if (!isServer) {
27
- window.addEventListener("keydown", (event) => {
28
- var _a;
29
- if (event.key === "Escape" && !event.defaultPrevented) {
30
- event.preventDefault();
31
- (_a = overlayStack.at(-1)) == null ? void 0 : _a.close();
32
- }
33
- });
34
- }
35
- class SbbEscapableOverlayController {
36
- constructor(_host, _overlayStack = overlayStack) {
37
- var _a, _b;
38
- this._host = _host;
39
- this._overlayStack = _overlayStack;
40
- (_b = (_a = this._host).addController) == null ? void 0 : _b.call(_a, this);
41
- }
42
- hostDisconnected() {
43
- this.disconnect();
44
- }
45
- // This must be called when the overlay is opened
46
- connect() {
47
- this._overlayStack.push(this._host);
48
- }
49
- // This must be called when the overlay is closed
50
- disconnect() {
51
- if (this._overlayStack.length) {
52
- const findElIndex = this._overlayStack.findIndex((e) => e === this._host);
53
- if (findElIndex !== -1) {
54
- this._overlayStack.splice(findElIndex, 1);
55
- }
56
- }
57
- }
58
- }
59
- const observers = /* @__PURE__ */ new WeakMap();
60
- class SbbIdReferenceController {
61
- constructor(_host, _idRef, _observers = observers) {
62
- this._host = _host;
63
- this._idRef = _idRef;
64
- this._observers = _observers;
65
- this._rootNode = null;
66
- this._host.addController(this);
67
- }
68
- hostConnected() {
69
- if (isServer) {
70
- return;
71
- }
72
- this._rootNode = this._host.getRootNode();
73
- const observerContext = this._observers.get(this._rootNode);
74
- if (observerContext) {
75
- observerContext.controllers.add(this);
76
- } else {
77
- const controllers = /* @__PURE__ */ new Set([this]);
78
- const observer = new MutationObserver((mutations) => {
79
- const mutatedIds = /* @__PURE__ */ new Set();
80
- for (const mutation of mutations) {
81
- if (mutation.type === "attributes") {
82
- mutatedIds.add(mutation.oldValue);
83
- mutatedIds.add(mutation.target.id);
84
- } else if (mutation.type === "childList") {
85
- for (const node of [...mutation.addedNodes, ...mutation.removedNodes]) {
86
- if (node instanceof HTMLElement) {
87
- mutatedIds.add(node.id);
88
- node.querySelectorAll("[id]").forEach((e) => mutatedIds.add(e.id));
89
- }
90
- }
91
- }
92
- }
93
- for (const controller of controllers) {
94
- const id = controller._host[controller._idRef];
95
- if (id && typeof id === "string" && mutatedIds.has(id)) {
96
- controller._host.requestUpdate();
97
- }
98
- }
99
- });
100
- observer.observe(this._rootNode, {
101
- attributeFilter: ["id"],
102
- childList: true,
103
- subtree: true,
104
- attributeOldValue: true
105
- });
106
- this._observers.set(this._rootNode, { observer, controllers });
107
- }
108
- }
109
- hostDisconnected() {
110
- if (isServer || !this._rootNode) {
111
- return;
112
- }
113
- const observerContext = this._observers.get(this._rootNode);
114
- if (!observerContext) {
115
- this._rootNode = null;
116
- return;
117
- }
118
- observerContext.controllers.delete(this);
119
- if (observerContext.controllers.size === 0) {
120
- observerContext.observer.disconnect();
121
- this._observers.delete(this._rootNode);
122
- }
123
- this._rootNode = null;
124
- }
125
- /**
126
- * Find the element by id in the current document fragment
127
- */
128
- find() {
129
- var _a;
130
- if (isServer || !this._rootNode) {
131
- return null;
132
- } else {
133
- const id = this._host[this._idRef];
134
- return typeof id == "string" ? (_a = this._rootNode) == null ? void 0 : _a.querySelector(`#${id}`) : null;
135
- }
136
- }
137
- }
138
- const IGNORED_ELEMENTS = ["script", "head", "template", "style"];
139
- const inertElements = /* @__PURE__ */ new Set();
140
- const inertOverlays = /* @__PURE__ */ new Set();
141
- class SbbInertController {
142
- constructor(_host, _inertElements = inertElements, _inertOverlays = inertOverlays) {
143
- var _a, _b;
144
- this._host = _host;
145
- this._inertElements = _inertElements;
146
- this._inertOverlays = _inertOverlays;
147
- (_b = (_a = this._host).addController) == null ? void 0 : _b.call(_a, this);
148
- }
149
- hostDisconnected() {
150
- if (this.isInert()) {
151
- this.deactivate();
152
- }
153
- }
154
- /** Applies inert state to every other element on the page except the overlay. */
155
- activate() {
156
- if (this._inertOverlays.size) {
157
- this._removeInertAttributes();
158
- }
159
- this._inertOverlays.add(this._host);
160
- this._addInertAttributes();
161
- }
162
- /** Removes inert state. */
163
- deactivate() {
164
- if (this._currentOverlay() !== this._host) {
165
- if (this._inertOverlays.has(this._host)) {
166
- this._inertOverlays.delete(this._host);
167
- } else {
168
- console.warn("Trying to remove inert state of an overlay which never had an applied inert state.", this._host);
169
- }
170
- return;
171
- }
172
- this._removeInertAttributes();
173
- this._inertOverlays.delete(this._host);
174
- if (this._inertOverlays.size) {
175
- this._addInertAttributes();
176
- }
177
- }
178
- /** Whether the assigned host is currently inert */
179
- isInert() {
180
- return this._inertOverlays.has(this._host);
181
- }
182
- _currentOverlay() {
183
- return [...this._inertOverlays].pop() ?? null;
184
- }
185
- _removeInertAttributes() {
186
- this._inertElements.forEach((element) => {
187
- if (!element) {
188
- return;
189
- }
190
- if (element.hasAttribute("data-sbb-inert")) {
191
- element.inert = false;
192
- element.removeAttribute("data-sbb-inert");
193
- }
194
- if (element.hasAttribute("data-sbb-aria-hidden")) {
195
- element.removeAttribute("aria-hidden");
196
- element.removeAttribute("data-sbb-aria-hidden");
197
- }
198
- });
199
- this._inertElements.clear();
200
- }
201
- _addInertAttributes() {
202
- var _a, _b;
203
- let element = this._currentOverlay();
204
- while (element !== document.documentElement && element !== null) {
205
- Array.from(((_a = (element == null ? void 0 : element.parentElement) ?? (element == null ? void 0 : element.getRootNode())) == null ? void 0 : _a.childNodes) ?? []).filter((child) => child !== element && child instanceof window.HTMLElement && !IGNORED_ELEMENTS.includes(child.localName)).forEach((element2) => {
206
- this._inertElements.add(element2);
207
- if (!element2.inert) {
208
- element2.inert = true;
209
- element2.toggleAttribute("data-sbb-inert", true);
210
- }
211
- if (!element2.hasAttribute("aria-hidden")) {
212
- element2.setAttribute("aria-hidden", "true");
213
- element2.toggleAttribute("data-sbb-aria-hidden", true);
214
- }
215
- });
216
- element = (element == null ? void 0 : element.parentElement) ?? ((_b = element == null ? void 0 : element.getRootNode()) == null ? void 0 : _b.host) ?? null;
217
- }
218
- }
219
- }
220
- const _SbbLanguageController = class _SbbLanguageController {
221
- /** Get the current language. */
222
- static get current() {
223
- const language = (readConfig().language ?? (isServer ? _SbbLanguageController._defaultLanguage : document.documentElement.getAttribute("lang"))) || _SbbLanguageController._defaultLanguage;
224
- const langAttributeNormalized = language.split("-")[0];
225
- return _SbbLanguageController._supportedLocales.includes(langAttributeNormalized) ? langAttributeNormalized : _SbbLanguageController._defaultLanguage;
226
- }
227
- /** Get the current language. */
228
- get current() {
229
- return _SbbLanguageController.current;
230
- }
231
- constructor(_host) {
232
- this._host = _host;
233
- this._handlers = [];
234
- this._host.addController(this);
235
- }
236
- /** Add a language change handler. */
237
- withHandler(handler) {
238
- this._handlers.unshift(handler);
239
- return this;
240
- }
241
- hostConnected() {
242
- if (isServer) {
243
- return;
244
- }
245
- if (!_SbbLanguageController._listeners.size) {
246
- _SbbLanguageController._observer.observe(document.documentElement, _SbbLanguageController._observerConfig);
247
- }
248
- _SbbLanguageController._listeners.add(this);
249
- if (this._previousLanguage !== this.current) {
250
- this._callHandlers(this._previousLanguage !== void 0);
251
- }
252
- }
253
- hostDisconnected() {
254
- if (isServer) {
255
- return;
256
- }
257
- this._previousLanguage = this.current;
258
- _SbbLanguageController._listeners.delete(this);
259
- if (!_SbbLanguageController._listeners.size) {
260
- _SbbLanguageController._observer.disconnect();
261
- }
262
- }
263
- _callHandlers(requestUpdate = true) {
264
- this._handlers.forEach((h) => h());
265
- if (requestUpdate) {
266
- this._host.requestUpdate();
267
- }
268
- }
269
- };
270
- _SbbLanguageController._defaultLanguage = "en";
271
- _SbbLanguageController._supportedLocales = ["en", "de", "fr", "it"];
272
- _SbbLanguageController._listeners = /* @__PURE__ */ new Set();
273
- _SbbLanguageController._observer = !isServer ? new MutationObserver((mutations) => {
274
- if (mutations[0].oldValue !== document.documentElement.getAttribute("lang")) {
275
- _SbbLanguageController._listeners.forEach((l) => l._callHandlers());
276
- }
277
- }) : null;
278
- _SbbLanguageController._observerConfig = {
279
- attributeFilter: ["lang"],
280
- attributeOldValue: true
281
- };
282
- let SbbLanguageController = _SbbLanguageController;
283
- const pxToRem = (px) => px / SbbTypoScaleDefault;
284
- const SbbMediaQueryForcedColors = "(forced-colors: active)";
285
- const SbbMediaQueryHover = "(any-hover: hover)";
286
- const SbbMediaQueryPointerCoarse = "(pointer: coarse)";
287
- const SbbMediaQueryBreakpointMediumAndAbove = `(min-width: ${pxToRem(SbbBreakpointMediumMin)}rem)`;
288
- const SbbMediaQueryBreakpointSmallAndBelow = `(max-width: ${pxToRem(SbbBreakpointSmallMax)}rem)`;
289
- const mediaQueryRegistry = /* @__PURE__ */ new Map();
290
- class SbbMediaMatcherController {
291
- constructor(host, _queries) {
292
- this._queries = _queries;
293
- host.addController(this);
294
- }
295
- /**
296
- * Returns whether the given query matches. Returns null with SSR.
297
- * @param query The query to check against.
298
- * @returns Whether the query matches or null with SSR.
299
- */
300
- matches(query) {
301
- return isServer ? null : matchMedia(query).matches;
302
- }
303
- hostConnected() {
304
- if (isServer) {
305
- return;
306
- }
307
- for (const [query, handler] of Object.entries(this._queries)) {
308
- const mediaQuery = mediaQueryRegistry.get(query);
309
- if (mediaQuery) {
310
- mediaQuery.handlers.add(handler);
311
- } else {
312
- const mediaQueryList = matchMedia(query);
313
- const handlers = /* @__PURE__ */ new Set([handler]);
314
- const eventHandler = (e) => handlers.forEach((h) => h(e.matches));
315
- mediaQueryList.addEventListener("change", eventHandler);
316
- mediaQueryRegistry.set(query, { mediaQueryList, handlers, eventHandler });
317
- }
318
- }
319
- }
320
- hostDisconnected() {
321
- for (const [query, handler] of Object.entries(this._queries)) {
322
- const mediaQuery = mediaQueryRegistry.get(query);
323
- if (mediaQuery) {
324
- mediaQuery.handlers.delete(handler);
325
- if (!mediaQuery.handlers.size) {
326
- mediaQueryRegistry.delete(query);
327
- }
328
- }
329
- }
330
- }
331
- }
332
- class SbbSlotStateController {
333
- constructor(_host, _onChangeCallback = null) {
334
- this._host = _host;
335
- this._onChangeCallback = _onChangeCallback;
336
- this.slots = /* @__PURE__ */ new Set();
337
- this._slotchangeHandler = (event) => {
338
- this._syncSlots(event.target);
339
- };
340
- this._host.addController(this);
341
- }
342
- hostConnected() {
343
- var _a;
344
- this._syncSlots(...this._host.querySelectorAll("slot"));
345
- (_a = this._host.shadowRoot) == null ? void 0 : _a.addEventListener("slotchange", this._slotchangeHandler);
346
- }
347
- hostDisconnected() {
348
- var _a;
349
- (_a = this._host.shadowRoot) == null ? void 0 : _a.removeEventListener("slotchange", this._slotchangeHandler);
350
- }
351
- _syncSlots(...slots) {
352
- var _a;
353
- for (const slot of slots) {
354
- const slotName = slot.name || "unnamed";
355
- if (slot.assignedNodes().some((n) => {
356
- var _a2;
357
- return "tagName" in n || ((_a2 = n.textContent) == null ? void 0 : _a2.trim());
358
- })) {
359
- this.slots.add(slotName);
360
- } else {
361
- this.slots.delete(slotName);
362
- }
363
- }
364
- const oldValue = this._host.getAttribute("data-slot-names");
365
- const joinedSlotNames = [...this.slots].sort().join(" ");
366
- if (!joinedSlotNames) {
367
- this._host.removeAttribute("data-slot-names");
368
- } else if (this._host.getAttribute("data-slot-names") !== joinedSlotNames) {
369
- this._host.setAttribute("data-slot-names", joinedSlotNames);
370
- }
371
- if (joinedSlotNames !== oldValue) {
372
- (_a = this._onChangeCallback) == null ? void 0 : _a.call(this);
373
- }
374
- }
375
- }
1
+ import { SbbConnectedAbortController } from "./controllers/connected-abort-controller.js";
2
+ import { SbbEscapableOverlayController } from "./controllers/escapable-overlay-controller.js";
3
+ import { SbbIdReferenceController } from "./controllers/id-reference-controller.js";
4
+ import { SbbInertController } from "./controllers/inert-controller.js";
5
+ import { SbbLanguageController } from "./controllers/language-controller.js";
6
+ import { SbbMediaMatcherController, SbbMediaQueryBreakpointMediumAndAbove, SbbMediaQueryBreakpointMediumAndBelow, SbbMediaQueryBreakpointSmallAndBelow, SbbMediaQueryForcedColors, SbbMediaQueryHover, SbbMediaQueryPointerCoarse } from "./controllers/media-matchers-controller.js";
7
+ import { SbbSlotStateController } from "./controllers/slot-state-controller.js";
376
8
  export {
377
9
  SbbConnectedAbortController,
378
10
  SbbEscapableOverlayController,
@@ -381,10 +13,11 @@ export {
381
13
  SbbLanguageController,
382
14
  SbbMediaMatcherController,
383
15
  SbbMediaQueryBreakpointMediumAndAbove,
16
+ SbbMediaQueryBreakpointMediumAndBelow,
384
17
  SbbMediaQueryBreakpointSmallAndBelow,
385
18
  SbbMediaQueryForcedColors,
386
19
  SbbMediaQueryHover,
387
20
  SbbMediaQueryPointerCoarse,
388
21
  SbbSlotStateController
389
22
  };
390
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2Nvbm5lY3RlZC1hYm9ydC1jb250cm9sbGVyLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvZXNjYXBhYmxlLW92ZXJsYXktY29udHJvbGxlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2lkLW9ic2VydmVyLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9pbmVydC1jb250cm9sbGVyLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvbGFuZ3VhZ2UtY29udHJvbGxlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL21lZGlhLW1hdGNoZXJzLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9zbG90LXN0YXRlLWNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUNvbnRyb2xsZXIsIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIE5vIHJlcGxhY2VtZW50IHNob3VsZCBiZSBuZWNlc3NhcnksIGFzIHRoaXMgd2FzIGludGVuZGVkXG4gKiAgIGZvciBldmVudCBsaXN0ZW5lcnMsIHdoaWNoIHNob3VsZCBiZSBhcHBsaWVkIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBwdWJsaWMgZ2V0IHNpZ25hbCgpOiBBYm9ydFNpZ25hbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uc2lnbmFsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QpIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Fib3J0Q29udHJvbGxlcikge1xuICAgICAgdGhpcy5fYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2Jhc2UtZWxlbWVudHMvb3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQuanMnO1xuXG5jb25zdCBvdmVybGF5U3RhY2sgPSBuZXcgQXJyYXk8U2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQ+KCk7XG5cbmlmICghaXNTZXJ2ZXIpIHtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIG92ZXJsYXlTdGFjay5hdCgtMSk/LmNsb3NlKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGNsYXNzIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbiAgICBwcml2YXRlIF9vdmVybGF5U3RhY2s6IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50W10gPSBvdmVybGF5U3RhY2ssXG4gICkge1xuICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcj8uKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICAvLyBUaGlzIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG92ZXJsYXkgaXMgb3BlbmVkXG4gIHB1YmxpYyBjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuX292ZXJsYXlTdGFjay5wdXNoKHRoaXMuX2hvc3QpO1xuICB9XG5cbiAgLy8gVGhpcyBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvdmVybGF5IGlzIGNsb3NlZFxuICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fb3ZlcmxheVN0YWNrLmxlbmd0aCkge1xuICAgICAgY29uc3QgZmluZEVsSW5kZXggPSB0aGlzLl9vdmVybGF5U3RhY2suZmluZEluZGV4KChlKSA9PiBlID09PSB0aGlzLl9ob3N0KTtcbiAgICAgIGlmIChmaW5kRWxJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVN0YWNrLnNwbGljZShmaW5kRWxJbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBMaXRFbGVtZW50LCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlciB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IG9ic2VydmVycyA9IG5ldyBXZWFrTWFwPFxuICBOb2RlLFxuICB7IG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyOyBjb250cm9sbGVyczogU2V0PFNiYklkUmVmZXJlbmNlQ29udHJvbGxlcjxhbnk+PiB9XG4+KCk7XG5cbi8qKlxuICogVHJhY2tzIGlkIGNoYW5nZXMgaW4gdGhlIERPTSBhbmQgY2FsbHMgY29tcG9uZW50IHdoZW4gbWF0Y2hpbmcgd2l0aCByZXF1ZXN0VXBkYXRlKCkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJJZFJlZmVyZW5jZUNvbnRyb2xsZXI8VCBleHRlbmRzIExpdEVsZW1lbnQ+IGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfcm9vdE5vZGU6IERvY3VtZW50IHwgU2hhZG93Um9vdCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3N0OiBULFxuICAgIHByaXZhdGUgX2lkUmVmOiBrZXlvZiBULFxuICAgIHByaXZhdGUgX29ic2VydmVycyA9IG9ic2VydmVycyxcbiAgKSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcm9vdE5vZGUgPSB0aGlzLl9ob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290O1xuICAgIGNvbnN0IG9ic2VydmVyQ29udGV4dCA9IHRoaXMuX29ic2VydmVycy5nZXQodGhpcy5fcm9vdE5vZGUpO1xuXG4gICAgaWYgKG9ic2VydmVyQ29udGV4dCkge1xuICAgICAgb2JzZXJ2ZXJDb250ZXh0LmNvbnRyb2xsZXJzLmFkZCh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbGxlcnMgPSBuZXcgU2V0KFt0aGlzXSk7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgbXV0YXRlZElkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgICAgbXV0YXRlZElkcy5hZGQobXV0YXRpb24ub2xkVmFsdWUhKTtcbiAgICAgICAgICAgIG11dGF0ZWRJZHMuYWRkKChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmlkKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgWy4uLm11dGF0aW9uLmFkZGVkTm9kZXMsIC4uLm11dGF0aW9uLnJlbW92ZWROb2Rlc10pIHtcbiAgICAgICAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIG11dGF0ZWRJZHMuYWRkKG5vZGUuaWQpO1xuICAgICAgICAgICAgICAgIG5vZGUucXVlcnlTZWxlY3RvckFsbCgnW2lkXScpLmZvckVhY2goKGUpID0+IG11dGF0ZWRJZHMuYWRkKGUuaWQpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgY29udHJvbGxlciBvZiBjb250cm9sbGVycykge1xuICAgICAgICAgIGNvbnN0IGlkID0gY29udHJvbGxlci5faG9zdFtjb250cm9sbGVyLl9pZFJlZl07XG4gICAgICAgICAgaWYgKGlkICYmIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycgJiYgbXV0YXRlZElkcy5oYXMoaWQpKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLl9ob3N0LnJlcXVlc3RVcGRhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMuX3Jvb3ROb2RlLCB7XG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydpZCddLFxuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX29ic2VydmVycy5zZXQodGhpcy5fcm9vdE5vZGUsIHsgb2JzZXJ2ZXIsIGNvbnRyb2xsZXJzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlciB8fCAhdGhpcy5fcm9vdE5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYnNlcnZlckNvbnRleHQgPSB0aGlzLl9vYnNlcnZlcnMuZ2V0KHRoaXMuX3Jvb3ROb2RlKTtcbiAgICBpZiAoIW9ic2VydmVyQ29udGV4dCkge1xuICAgICAgdGhpcy5fcm9vdE5vZGUgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9ic2VydmVyQ29udGV4dC5jb250cm9sbGVycy5kZWxldGUodGhpcyk7XG4gICAgaWYgKG9ic2VydmVyQ29udGV4dC5jb250cm9sbGVycy5zaXplID09PSAwKSB7XG4gICAgICBvYnNlcnZlckNvbnRleHQub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXJzLmRlbGV0ZSh0aGlzLl9yb290Tm9kZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fcm9vdE5vZGUgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIGVsZW1lbnQgYnkgaWQgaW4gdGhlIGN1cnJlbnQgZG9jdW1lbnQgZnJhZ21lbnRcbiAgICovXG4gIHB1YmxpYyBmaW5kKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKGlzU2VydmVyIHx8ICF0aGlzLl9yb290Tm9kZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5faG9zdFt0aGlzLl9pZFJlZl07XG4gICAgICByZXR1cm4gdHlwZW9mIGlkID09ICdzdHJpbmcnID8gdGhpcy5fcm9vdE5vZGU/LnF1ZXJ5U2VsZWN0b3IoYCMke2lkfWApIDogbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuY29uc3QgSUdOT1JFRF9FTEVNRU5UUyA9IFsnc2NyaXB0JywgJ2hlYWQnLCAndGVtcGxhdGUnLCAnc3R5bGUnXTtcbmNvbnN0IGluZXJ0RWxlbWVudHMgPSBuZXcgU2V0PEhUTUxFbGVtZW50PigpO1xuY29uc3QgaW5lcnRPdmVybGF5cyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XG5cbmV4cG9ydCBjbGFzcyBTYmJJbmVydENvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50LFxuICAgIHByaXZhdGUgX2luZXJ0RWxlbWVudHMgPSBpbmVydEVsZW1lbnRzLFxuICAgIHByaXZhdGUgX2luZXJ0T3ZlcmxheXMgPSBpbmVydE92ZXJsYXlzLFxuICApIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXI/Lih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW5lcnQoKSkge1xuICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEFwcGxpZXMgaW5lcnQgc3RhdGUgdG8gZXZlcnkgb3RoZXIgZWxlbWVudCBvbiB0aGUgcGFnZSBleGNlcHQgdGhlIG92ZXJsYXkuICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICAvLyBSZW1vdmUgaW5lcnQgc3RhdGUgZnJvbSBwcmV2aW91cyBvcGVuZWQgb3ZlcmxheVxuICAgIGlmICh0aGlzLl9pbmVydE92ZXJsYXlzLnNpemUpIHtcbiAgICAgIHRoaXMuX3JlbW92ZUluZXJ0QXR0cmlidXRlcygpO1xuICAgIH1cblxuICAgIHRoaXMuX2luZXJ0T3ZlcmxheXMuYWRkKHRoaXMuX2hvc3QpO1xuICAgIHRoaXMuX2FkZEluZXJ0QXR0cmlidXRlcygpO1xuICB9XG5cbiAgLyoqIFJlbW92ZXMgaW5lcnQgc3RhdGUuICovXG4gIHB1YmxpYyBkZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jdXJyZW50T3ZlcmxheSgpICE9PSB0aGlzLl9ob3N0KSB7XG4gICAgICAvLyBJZiBlLmcuIGEgY29tcG9uZW50IGdldHMgZGlzY29ubmVjdGVkLCBpdCBjb3VsZCBiZSB0aGF0IGl0IGlzIG5vdCB0aGUgdG9wIG1vc3QuXG4gICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIGNhbiBkaXJlY3RseSByZW1vdmUgaXQsIGFzIHRoZXJlIGlzIGN1cnJlbnRseSBubyBpbmVydCBzdGF0ZSBhcHBsaWVkLlxuICAgICAgaWYgKHRoaXMuX2luZXJ0T3ZlcmxheXMuaGFzKHRoaXMuX2hvc3QpKSB7XG4gICAgICAgIHRoaXMuX2luZXJ0T3ZlcmxheXMuZGVsZXRlKHRoaXMuX2hvc3QpO1xuICAgICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnVHJ5aW5nIHRvIHJlbW92ZSBpbmVydCBzdGF0ZSBvZiBhbiBvdmVybGF5IHdoaWNoIG5ldmVyIGhhZCBhbiBhcHBsaWVkIGluZXJ0IHN0YXRlLicsXG4gICAgICAgICAgdGhpcy5faG9zdCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3JlbW92ZUluZXJ0QXR0cmlidXRlcygpO1xuICAgIHRoaXMuX2luZXJ0T3ZlcmxheXMuZGVsZXRlKHRoaXMuX2hvc3QpO1xuXG4gICAgLy8gSWYgdGhlcmUgaXMgYXMgcHJldmlvdXMgb3BlbmVkIG92ZXJsYXksIHNldCBpdHMgaW5lcnQgc3RhdGUgYWdhaW4uXG4gICAgaWYgKHRoaXMuX2luZXJ0T3ZlcmxheXMuc2l6ZSkge1xuICAgICAgdGhpcy5fYWRkSW5lcnRBdHRyaWJ1dGVzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGFzc2lnbmVkIGhvc3QgaXMgY3VycmVudGx5IGluZXJ0ICovXG4gIHB1YmxpYyBpc0luZXJ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbmVydE92ZXJsYXlzLmhhcyh0aGlzLl9ob3N0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2N1cnJlbnRPdmVybGF5KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9pbmVydE92ZXJsYXlzXS5wb3AoKSA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlSW5lcnRBdHRyaWJ1dGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2luZXJ0RWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSkge1xuICAgICAgICBlbGVtZW50LmluZXJ0ID0gZmFsc2U7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJykpIHtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyk7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1hcmlhLWhpZGRlbicpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX2luZXJ0RWxlbWVudHMuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEluZXJ0QXR0cmlidXRlcygpOiB2b2lkIHtcbiAgICBsZXQgZWxlbWVudDogRWxlbWVudCB8IG51bGwgPSB0aGlzLl9jdXJyZW50T3ZlcmxheSgpO1xuXG4gICAgd2hpbGUgKGVsZW1lbnQgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBlbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBBcnJheS5mcm9tKChlbGVtZW50Py5wYXJlbnRFbGVtZW50ID8/IGVsZW1lbnQ/LmdldFJvb3ROb2RlKCkpPy5jaGlsZE5vZGVzID8/IFtdKVxuICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgIChjaGlsZCk6IGNoaWxkIGlzIEhUTUxFbGVtZW50ID0+XG4gICAgICAgICAgICBjaGlsZCAhPT0gZWxlbWVudCAmJlxuICAgICAgICAgICAgY2hpbGQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQgJiZcbiAgICAgICAgICAgICFJR05PUkVEX0VMRU1FTlRTLmluY2x1ZGVzKGNoaWxkLmxvY2FsTmFtZSksXG4gICAgICAgIClcbiAgICAgICAgLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbmVydEVsZW1lbnRzLmFkZChlbGVtZW50KTtcblxuICAgICAgICAgIGlmICghZWxlbWVudC5pbmVydCkge1xuICAgICAgICAgICAgZWxlbWVudC5pbmVydCA9IHRydWU7XG4gICAgICAgICAgICBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnLCB0cnVlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpKSB7XG4gICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJywgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLy8gV2UgbmVlZCB0byBwaWVyY2UgdGhyb3VnaCBTaGFkb3cgRE9NIGJvdW5kYXJ5XG4gICAgICBlbGVtZW50ID0gZWxlbWVudD8ucGFyZW50RWxlbWVudCA/PyAoZWxlbWVudD8uZ2V0Um9vdE5vZGUoKSBhcyBTaGFkb3dSb290KT8uaG9zdCA/PyBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuLyoqXG4gKiBUaGUgTGFuZ3VhZ2VDb250cm9sbGVyIGlzIGEgcmVhY3RpdmUgY29udHJvbGxlciB0aGF0IG9ic2VydmVzIHRoZSBcImxhbmdcIiBhdHRyaWJ1dGVcbiAqIG9mIHRoZSA8aHRtbD4gdGFnLlxuICogT24gY2hhbmdlIG9mIHRoZSBcImxhbmdcIiBhdHRyaWJ1dGUsIGl0IHdpbGwgcmVxdWVzdCBhbiB1cGRhdGUgb2YgY29ubmVjdGVkXG4gKiBjb21wb25lbnRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9HbG9iYWxfYXR0cmlidXRlcy9sYW5nXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfZGVmYXVsdExhbmd1YWdlID0gJ2VuJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX3N1cHBvcnRlZExvY2FsZXMgPSBbJ2VuJywgJ2RlJywgJ2ZyJywgJ2l0J107XG5cbiAgLyoqIEEgc2V0IG9mIGNvbm5lY3RlZCBjb21wb25lbnRzIHRoYXQgc2hvdWxkIGJlIG5vdGlmaWVkIG9uIGxhbmd1YWdlIGNoYW5nZS4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2xpc3RlbmVycyA9IG5ldyBTZXQ8U2JiTGFuZ3VhZ2VDb250cm9sbGVyPigpO1xuXG4gIC8qKiBNdXRhdGlvbk9ic2VydmVyIHRoYXQgb2JzZXJ2ZXMgdGhlIFwibGFuZ1wiIGF0dHJpYnV0ZSBvZiB0aGUgPGh0bWw+IGVsZW1lbnQuICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zWzBdLm9sZFZhbHVlICE9PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykpIHtcbiAgICAgICAgICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX2xpc3RlbmVycy5mb3JFYWNoKChsKSA9PiBsLl9jYWxsSGFuZGxlcnMoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBudWxsO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfb2JzZXJ2ZXJDb25maWcgPSB7XG4gICAgYXR0cmlidXRlRmlsdGVyOiBbJ2xhbmcnXSxcbiAgICBhdHRyaWJ1dGVPbGRWYWx1ZTogdHJ1ZSxcbiAgfTtcblxuICAvKiogR2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlLiAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBjdXJyZW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPVxuICAgICAgKHJlYWRDb25maWcoKS5sYW5ndWFnZSA/P1xuICAgICAgICAoaXNTZXJ2ZXJcbiAgICAgICAgICA/IFNiYkxhbmd1YWdlQ29udHJvbGxlci5fZGVmYXVsdExhbmd1YWdlXG4gICAgICAgICAgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykpKSB8fFxuICAgICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgICAvLyBTdXBwb3J0IGUuZy4gY2FzZXMgbGlrZSBgZGUtY2hgLlxuICAgIGNvbnN0IGxhbmdBdHRyaWJ1dGVOb3JtYWxpemVkID0gbGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcbiAgICByZXR1cm4gU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9zdXBwb3J0ZWRMb2NhbGVzLmluY2x1ZGVzKGxhbmdBdHRyaWJ1dGVOb3JtYWxpemVkKVxuICAgICAgPyBsYW5nQXR0cmlidXRlTm9ybWFsaXplZFxuICAgICAgOiBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX2RlZmF1bHRMYW5ndWFnZTtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuICovXG4gIHB1YmxpYyBnZXQgY3VycmVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXZpb3VzTGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2hhbmRsZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqIEFkZCBhIGxhbmd1YWdlIGNoYW5nZSBoYW5kbGVyLiAqL1xuICBwdWJsaWMgd2l0aEhhbmRsZXIoaGFuZGxlcjogKCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIC8vIFdlIHVzZSB1bnNoaWZ0IGhlcmUsIHRvIHByZXBlbmQgYWRkaXRpb25hbCBoYW5kbGVycy5cbiAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCByZXF1ZXN0VXBkYXRlIGlzIGNhbGxlZCBhZnRlciB0aGUgb3RoZXIgaGFuZGxlcnMuXG4gICAgdGhpcy5faGFuZGxlcnMudW5zaGlmdChoYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIVNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLnNpemUpIHtcbiAgICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fb2JzZXJ2ZXIhLm9ic2VydmUoXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbiAgICAgICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9vYnNlcnZlckNvbmZpZyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9saXN0ZW5lcnMuYWRkKHRoaXMpO1xuICAgIGlmICh0aGlzLl9wcmV2aW91c0xhbmd1YWdlICE9PSB0aGlzLmN1cnJlbnQpIHtcbiAgICAgIHRoaXMuX2NhbGxIYW5kbGVycyh0aGlzLl9wcmV2aW91c0xhbmd1YWdlICE9PSB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c0xhbmd1YWdlID0gdGhpcy5jdXJyZW50O1xuICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAoIVNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLnNpemUpIHtcbiAgICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fb2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jYWxsSGFuZGxlcnMocmVxdWVzdFVwZGF0ZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLl9oYW5kbGVycy5mb3JFYWNoKChoKSA9PiBoKCkpO1xuICAgIGlmIChyZXF1ZXN0VXBkYXRlKSB7XG4gICAgICB0aGlzLl9ob3N0LnJlcXVlc3RVcGRhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIFNiYkJyZWFrcG9pbnRNZWRpdW1NaW4sXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1heCxcbiAgU2JiVHlwb1NjYWxlRGVmYXVsdCxcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZGVzaWduLXRva2Vucyc7XG5pbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IHB4VG9SZW0gPSAocHg6IG51bWJlcik6IG51bWJlciA9PiBweCAvIFNiYlR5cG9TY2FsZURlZmF1bHQ7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlGb3JjZWRDb2xvcnMgPSAnKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlIb3ZlciA9ICcoYW55LWhvdmVyOiBob3ZlciknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlID0gJyhwb2ludGVyOiBjb2Fyc2UpJztcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludE1lZGl1bUFuZEFib3ZlID0gYChtaW4td2lkdGg6ICR7cHhUb1JlbShTYmJCcmVha3BvaW50TWVkaXVtTWluKX1yZW0pYDtcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3cgPSBgKG1heC13aWR0aDogJHtweFRvUmVtKFNiYkJyZWFrcG9pbnRTbWFsbE1heCl9cmVtKWA7XG4vKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG4vKipcbiAqIEEgY2FsbGJhY2ssIHdoaWNoIGlzIGludm9rZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBtZWRpYSBxdWVyeSBtYXRjaFxuICogc3RhdHVzIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFNiYk1lZGlhTWF0Y2hlckhhbmRsZXIgPSAobWF0Y2hlczogYm9vbGVhbikgPT4gdm9pZDtcblxuaW50ZXJmYWNlIE1lZGlhUXVlcnlFbnRyeSB7XG4gIG1lZGlhUXVlcnlMaXN0OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgZXZlbnRIYW5kbGVyOiAoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpID0+IHZvaWQ7XG4gIGhhbmRsZXJzOiBTZXQ8U2JiTWVkaWFNYXRjaGVySGFuZGxlcj47XG59XG5cbi8qKlxuICogV2Ugd2FudCB0byBjYWNoZSBNZWRpYVF1ZXJ5TGlzdCBpbnN0YW5jZXMgYW5kIGNvcnJlc3BvbmRpbmdcbiAqIGV2ZW50IGhhbmRsZXJzLCBhcyBhIG11bHRpdHVkZSBvZiBldmVudCBoYW5kbGVycyBvbiBnbG9iYWwgb2JqZWN0c1xuICogY2FuIGRlZ3JhZGUgcGVyZm9ybWFuY2Ugd2l0aCB0aW1lLlxuICovXG5jb25zdCBtZWRpYVF1ZXJ5UmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgTWVkaWFRdWVyeUVudHJ5PigpO1xuXG4vKipcbiAqIFRoaXMgY29udHJvbGxlciBhbGxvd3MgbGlzdGVuaW5nIHRvIG1lZGlhIHF1ZXJ5IGNoYW5nZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAqICAgW1NiYkZvcmNlZENvbG9yc1F1ZXJ5XTogKG1hdGNoZXMpID0+IGRvU29tZXRoaW5nKG1hdGNoZXMpLFxuICogfSlcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCxcbiAgICBwcml2YXRlIF9xdWVyaWVzOiBSZWNvcmQ8c3RyaW5nLCBTYmJNZWRpYU1hdGNoZXJIYW5kbGVyPixcbiAgKSB7XG4gICAgaG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gcXVlcnkgbWF0Y2hlcy4gUmV0dXJucyBudWxsIHdpdGggU1NSLlxuICAgKiBAcGFyYW0gcXVlcnkgVGhlIHF1ZXJ5IHRvIGNoZWNrIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHF1ZXJ5IG1hdGNoZXMgb3IgbnVsbCB3aXRoIFNTUi5cbiAgICovXG4gIHB1YmxpYyBtYXRjaGVzKHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgLy8gSWYgd2UgdXNlIHRoZSBjYWNoZWQgaW5zdGFuY2UsIFdlYmtpdCBzZWVtcyB0byB1cGRhdGUgdGhlIHN0YXRlIGEgdGljayB0b28gbGF0ZS5cbiAgICAvLyBEdWUgdG8gdGhpcyB3ZSBkaXJlY3RseSB1c2UgbWF0Y2hNZWRpYSBoZXJlLlxuICAgIHJldHVybiBpc1NlcnZlciA/IG51bGwgOiBtYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbcXVlcnksIGhhbmRsZXJdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuX3F1ZXJpZXMpKSB7XG4gICAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gbWVkaWFRdWVyeVJlZ2lzdHJ5LmdldChxdWVyeSk7XG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBtZWRpYVF1ZXJ5LmhhbmRsZXJzLmFkZChoYW5kbGVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1lZGlhUXVlcnlMaXN0ID0gbWF0Y2hNZWRpYShxdWVyeSk7XG4gICAgICAgIGNvbnN0IGhhbmRsZXJzID0gbmV3IFNldChbaGFuZGxlcl0pO1xuICAgICAgICBjb25zdCBldmVudEhhbmRsZXIgPSAoZTogTWVkaWFRdWVyeUxpc3RFdmVudCk6IHZvaWQgPT5cbiAgICAgICAgICBoYW5kbGVycy5mb3JFYWNoKChoKSA9PiBoKGUubWF0Y2hlcykpO1xuICAgICAgICBtZWRpYVF1ZXJ5TGlzdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBldmVudEhhbmRsZXIpO1xuICAgICAgICBtZWRpYVF1ZXJ5UmVnaXN0cnkuc2V0KHF1ZXJ5LCB7IG1lZGlhUXVlcnlMaXN0LCBoYW5kbGVycywgZXZlbnRIYW5kbGVyIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgW3F1ZXJ5LCBoYW5kbGVyXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLl9xdWVyaWVzKSkge1xuICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQocXVlcnkpO1xuICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgbWVkaWFRdWVyeS5oYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgIGlmICghbWVkaWFRdWVyeS5oYW5kbGVycy5zaXplKSB7XG4gICAgICAgICAgbWVkaWFRdWVyeVJlZ2lzdHJ5LmRlbGV0ZShxdWVyeSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuLyoqXG4gKiBUaGlzIGNvbnRyb2xsZXIgY2hlY2tzIGZvciBzbG90dGVkIGNoaWxkcmVuLiBGcm9tIHRoZXNlIGl0IGdlbmVyYXRlc1xuICogYSBsaXN0IG9mIHVzZWQgc2xvdCBuYW1lcyAoYHVubmFtZWRgIGZvciBjaGlsZHJlbiB3aXRob3V0IGEgc2xvdCBhdHRyaWJ1dGUpXG4gKiBhbmQgYWRkcyB0aGlzIHRvIHRoZSBgZGF0YS1zbG90LW5hbWVzYCBhdHRyaWJ1dGUsIGFzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3QuXG4gKlxuICogVGhpcyBhbGxvd3MgQ1NTIGF0dHJpYnV0ZSBzZWxlY3RvciB0byBkaXNwbGF5L2hpZGUvY29uZmlndXJlIGEgc2VjdGlvblxuICogb2YgdGhlIGNvbXBvbmVudCBhcyByZXF1aXJlZCAoc2VlIFthdHRyfj12YWx1ZV0gc2VsZWN0b3Igc3BlY2lmaWNhbGx5KS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLmV4YW1wbGUge1xuICogICBkaXNwbGF5OiBub25lO1xuICpcbiAqICAgOmhvc3QoW2RhdGEtc2xvdC1uYW1lc349XCJpY29uXCJdKSAmIHtcbiAqICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gKiAgIH1cbiAqIH1cbiAqXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQXR0cmlidXRlX3NlbGVjdG9yc1xuICovXG5leHBvcnQgY2xhc3MgU2JiU2xvdFN0YXRlQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHB1YmxpYyByZWFkb25seSBzbG90cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0ICYgSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgcmVhbGx5IG5lZWRlZCB3aXRoIFNTUi5cbiAgICB0aGlzLl9zeW5jU2xvdHMoLi4udGhpcy5faG9zdC5xdWVyeVNlbGVjdG9yQWxsISgnc2xvdCcpKTtcbiAgICB0aGlzLl9ob3N0LnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnNoYWRvd1Jvb3Q/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcik7XG4gIH1cblxuICAvLyBXZSBhdm9pZCB1c2luZyBBYm9ydENvbnRyb2xsZXIgaGVyZSwgYXMgaXQgd291bGQgbWVhbiBjcmVhdGluZ1xuICAvLyBhIG5ldyBpbnN0YW5jZSBmb3IgZXZlcnkgU2JiU2xvdFN0YXRlQ29udHJvbGxlciBpbnN0YW5jZS5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5fc3luY1Nsb3RzKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpO1xuICB9O1xuXG4gIHByaXZhdGUgX3N5bmNTbG90cyguLi5zbG90czogSFRNTFNsb3RFbGVtZW50W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHNsb3Qgb2Ygc2xvdHMpIHtcbiAgICAgIGNvbnN0IHNsb3ROYW1lID0gc2xvdC5uYW1lIHx8ICd1bm5hbWVkJztcbiAgICAgIC8vIFdlIHdhbnQgdG8gY2hlY2ssIHdoZXRoZXIgYW4gZWxlbWVudCBpcyBzbG90dGVkIG9yIGEgdGV4dCBub2RlIHdpdGggYWN0dWFsIGNvbnRlbnQuXG4gICAgICBpZiAoc2xvdC5hc3NpZ25lZE5vZGVzKCkuc29tZSgobikgPT4gJ3RhZ05hbWUnIGluIG4gfHwgbi50ZXh0Q29udGVudD8udHJpbSgpKSkge1xuICAgICAgICB0aGlzLnNsb3RzLmFkZChzbG90TmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNsb3RzLmRlbGV0ZShzbG90TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl9ob3N0LmdldEF0dHJpYnV0ZSgnZGF0YS1zbG90LW5hbWVzJyk7XG4gICAgY29uc3Qgam9pbmVkU2xvdE5hbWVzID0gWy4uLnRoaXMuc2xvdHNdLnNvcnQoKS5qb2luKCcgJyk7XG4gICAgaWYgKCFqb2luZWRTbG90TmFtZXMpIHtcbiAgICAgIHRoaXMuX2hvc3QucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNsb3QtbmFtZXMnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2hvc3QuZ2V0QXR0cmlidXRlKCdkYXRhLXNsb3QtbmFtZXMnKSAhPT0gam9pbmVkU2xvdE5hbWVzKSB7XG4gICAgICB0aGlzLl9ob3N0LnNldEF0dHJpYnV0ZSgnZGF0YS1zbG90LW5hbWVzJywgam9pbmVkU2xvdE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoam9pbmVkU2xvdE5hbWVzICE9PSBvbGRWYWx1ZSkge1xuICAgICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjaz8uKCk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiZWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7TUFNYSw0QkFBMkI7QUFBQSxFQUd0QyxJQUFXLFNBQU07O0FBQ2YsWUFBTyxVQUFLLHFCQUFMLG1CQUF1QjtBQUFBLEVBQUE7QUFBQSxFQUdoQyxZQUEyQixPQUE2QjtBQUE3QixTQUFLLFFBQUw7QUFObkIsU0FBQSxtQkFBcUMsSUFBSSxnQkFBZTtBQU96RCxTQUFBLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBR3hCLGdCQUFhO0FBQ2QsUUFBQSxDQUFDLEtBQUssa0JBQWtCO0FBQ3JCLFdBQUEsbUJBQW1CLElBQUk7O0VBQzlCO0FBQUEsRUFHSyxtQkFBZ0I7O0FBQ3JCLGVBQUsscUJBQUwsbUJBQXVCO0FBQ3ZCLFNBQUssbUJBQW1CO0FBQUEsRUFBQTtBQUUzQjtBQ3ZCRCxNQUFNLGVBQWUsSUFBSTtBQUV6QixJQUFJLENBQUMsVUFBVTtBQUNOLFNBQUEsaUJBQWlCLFdBQVcsQ0FBQyxVQUF3Qjs7QUFDMUQsUUFBSSxNQUFNLFFBQVEsWUFBWSxDQUFDLE1BQU0sa0JBQWtCO0FBQ3JELFlBQU0sZUFBYztBQUNQLHlCQUFBLEdBQUcsRUFBRSxNQUFMLG1CQUFRO0FBQUEsSUFBSztBQUFBLEVBQzVCLENBQ0Q7QUFDSDtNQUVhLDhCQUE2QjtBQUFBLEVBQ3hDLFlBQ1UsT0FDQSxnQkFBMkMsY0FBWTs7QUFEdkQsU0FBSyxRQUFMO0FBQ0EsU0FBYSxnQkFBYjtBQUVILHFCQUFBLE9BQU0sa0JBQU4sNEJBQXNCO0FBQUEsRUFBSTtBQUFBLEVBRzFCLG1CQUFnQjtBQUNyQixTQUFLLFdBQVU7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUlWLFVBQU87QUFDUCxTQUFBLGNBQWMsS0FBSyxLQUFLLEtBQUs7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUk3QixhQUFVO0FBQ1gsUUFBQSxLQUFLLGNBQWMsUUFBUTtBQUN2QixZQUFBLGNBQWMsS0FBSyxjQUFjLFVBQVUsQ0FBQyxNQUFNLE1BQU0sS0FBSyxLQUFLO0FBQ3hFLFVBQUksZ0JBQWdCLElBQUk7QUFDakIsYUFBQSxjQUFjLE9BQU8sYUFBYSxDQUFDO0FBQUEsTUFBQTtBQUFBLElBQzFDO0FBQUEsRUFDRjtBQUVIO0FDdkNELE1BQU0sZ0NBQWdCO01BUVQseUJBQXdCO0FBQUEsRUFHbkMsWUFDVSxPQUNBLFFBQ0EsYUFBYSxXQUFTO0FBRnRCLFNBQUssUUFBTDtBQUNBLFNBQU0sU0FBTjtBQUNBLFNBQVUsYUFBVjtBQUxGLFNBQVMsWUFBaUM7QUFPM0MsU0FBQSxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUd4QixnQkFBYTtBQUNsQixRQUFJLFVBQVU7QUFDWjtBQUFBLElBQUE7QUFHRyxTQUFBLFlBQVksS0FBSyxNQUFNLFlBQVc7QUFDdkMsVUFBTSxrQkFBa0IsS0FBSyxXQUFXLElBQUksS0FBSyxTQUFTO0FBRTFELFFBQUksaUJBQWlCO0FBQ0gsc0JBQUEsWUFBWSxJQUFJLElBQUk7QUFBQSxJQUFBLE9BQy9CO0FBQ0wsWUFBTSxjQUFjLG9CQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDbEMsWUFBTSxXQUFXLElBQUksaUJBQWlCLENBQUMsY0FBYTtBQUM1QyxjQUFBLGlDQUFpQjtBQUV2QixtQkFBVyxZQUFZLFdBQVc7QUFDNUIsY0FBQSxTQUFTLFNBQVMsY0FBYztBQUN2Qix1QkFBQSxJQUFJLFNBQVMsUUFBUztBQUN0Qix1QkFBQSxJQUFLLFNBQVMsT0FBdUIsRUFBRTtBQUFBLFVBQUEsV0FDekMsU0FBUyxTQUFTLGFBQWE7QUFDN0IsdUJBQUEsUUFBUSxDQUFDLEdBQUcsU0FBUyxZQUFZLEdBQUcsU0FBUyxZQUFZLEdBQUc7QUFDckUsa0JBQUksZ0JBQWdCLGFBQWE7QUFDcEIsMkJBQUEsSUFBSSxLQUFLLEVBQUU7QUFDakIscUJBQUEsaUJBQWlCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7QUFBQSxjQUFBO0FBQUEsWUFDbkU7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUdGLG1CQUFXLGNBQWMsYUFBYTtBQUNwQyxnQkFBTSxLQUFLLFdBQVcsTUFBTSxXQUFXLE1BQU07QUFDN0MsY0FBSSxNQUFNLE9BQU8sT0FBTyxZQUFZLFdBQVcsSUFBSSxFQUFFLEdBQUc7QUFDdEQsdUJBQVcsTUFBTTs7UUFDbkI7QUFBQSxNQUNGLENBQ0Q7QUFFUSxlQUFBLFFBQVEsS0FBSyxXQUFXO0FBQUEsUUFDL0IsaUJBQWlCLENBQUMsSUFBSTtBQUFBLFFBQ3RCLFdBQVc7QUFBQSxRQUNYLFNBQVM7QUFBQSxRQUNULG1CQUFtQjtBQUFBLE1BQUEsQ0FDcEI7QUFFRCxXQUFLLFdBQVcsSUFBSSxLQUFLLFdBQVcsRUFBRSxVQUFVLGFBQWE7QUFBQSxJQUFBO0FBQUEsRUFDL0Q7QUFBQSxFQUdLLG1CQUFnQjtBQUNqQixRQUFBLFlBQVksQ0FBQyxLQUFLLFdBQVc7QUFDL0I7QUFBQSxJQUFBO0FBR0YsVUFBTSxrQkFBa0IsS0FBSyxXQUFXLElBQUksS0FBSyxTQUFTO0FBQzFELFFBQUksQ0FBQyxpQkFBaUI7QUFDcEIsV0FBSyxZQUFZO0FBQ2pCO0FBQUEsSUFBQTtBQUdjLG9CQUFBLFlBQVksT0FBTyxJQUFJO0FBQ25DLFFBQUEsZ0JBQWdCLFlBQVksU0FBUyxHQUFHO0FBQzFDLHNCQUFnQixTQUFTO0FBQ3BCLFdBQUEsV0FBVyxPQUFPLEtBQUssU0FBUztBQUFBLElBQUE7QUFHdkMsU0FBSyxZQUFZO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTVosT0FBSTs7QUFDTCxRQUFBLFlBQVksQ0FBQyxLQUFLLFdBQVc7QUFDeEIsYUFBQTtBQUFBLElBQUEsT0FDRjtBQUNMLFlBQU0sS0FBSyxLQUFLLE1BQU0sS0FBSyxNQUFNO0FBQzFCLGFBQUEsT0FBTyxNQUFNLFlBQVcsVUFBSyxjQUFMLG1CQUFnQixjQUFjLElBQUksRUFBRSxNQUFNO0FBQUEsSUFBQTtBQUFBLEVBQzNFO0FBRUg7QUNsR0QsTUFBTSxtQkFBbUIsQ0FBQyxVQUFVLFFBQVEsWUFBWSxPQUFPO0FBQy9ELE1BQU0sb0NBQW9CO0FBQzFCLE1BQU0sb0NBQW9CO01BRWIsbUJBQWtCO0FBQUEsRUFDN0IsWUFDVSxPQUNBLGlCQUFpQixlQUNqQixpQkFBaUIsZUFBYTs7QUFGOUIsU0FBSyxRQUFMO0FBQ0EsU0FBYyxpQkFBZDtBQUNBLFNBQWMsaUJBQWQ7QUFFSCxxQkFBQSxPQUFNLGtCQUFOLDRCQUFzQjtBQUFBLEVBQUk7QUFBQSxFQUcxQixtQkFBZ0I7QUFDakIsUUFBQSxLQUFLLFdBQVc7QUFDbEIsV0FBSyxXQUFVO0FBQUEsSUFBQTtBQUFBLEVBQ2pCO0FBQUE7QUFBQSxFQUlLLFdBQVE7QUFFVCxRQUFBLEtBQUssZUFBZSxNQUFNO0FBQzVCLFdBQUssdUJBQXNCO0FBQUEsSUFBQTtBQUd4QixTQUFBLGVBQWUsSUFBSSxLQUFLLEtBQUs7QUFDbEMsU0FBSyxvQkFBbUI7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUluQixhQUFVO0FBQ2YsUUFBSSxLQUFLLHNCQUFzQixLQUFLLE9BQU87QUFHekMsVUFBSSxLQUFLLGVBQWUsSUFBSSxLQUFLLEtBQUssR0FBRztBQUNsQyxhQUFBLGVBQWUsT0FBTyxLQUFLLEtBQUs7QUFBQSxNQUFBLE9BQ1A7QUFDdEIsZ0JBQUEsS0FDTixzRkFDQSxLQUFLLEtBQUs7QUFBQSxNQUFBO0FBSWQ7QUFBQSxJQUFBO0FBR0YsU0FBSyx1QkFBc0I7QUFDdEIsU0FBQSxlQUFlLE9BQU8sS0FBSyxLQUFLO0FBR2pDLFFBQUEsS0FBSyxlQUFlLE1BQU07QUFDNUIsV0FBSyxvQkFBbUI7QUFBQSxJQUFBO0FBQUEsRUFDMUI7QUFBQTtBQUFBLEVBSUssVUFBTztBQUNaLFdBQU8sS0FBSyxlQUFlLElBQUksS0FBSyxLQUFLO0FBQUEsRUFBQTtBQUFBLEVBR25DLGtCQUFlO0FBQ3JCLFdBQU8sQ0FBQyxHQUFHLEtBQUssY0FBYyxFQUFFLElBQVMsS0FBQTtBQUFBLEVBQUE7QUFBQSxFQUduQyx5QkFBc0I7QUFDdkIsU0FBQSxlQUFlLFFBQVEsQ0FBQyxZQUE4QjtBQUN6RCxVQUFJLENBQUMsU0FBUztBQUNaO0FBQUEsTUFBQTtBQUdFLFVBQUEsUUFBUSxhQUFhLGdCQUFnQixHQUFHO0FBQzFDLGdCQUFRLFFBQVE7QUFDaEIsZ0JBQVEsZ0JBQWdCLGdCQUFnQjtBQUFBLE1BQUE7QUFHdEMsVUFBQSxRQUFRLGFBQWEsc0JBQXNCLEdBQUc7QUFDaEQsZ0JBQVEsZ0JBQWdCLGFBQWE7QUFDckMsZ0JBQVEsZ0JBQWdCLHNCQUFzQjtBQUFBLE1BQUE7QUFBQSxJQUNoRCxDQUNEO0FBQ0QsU0FBSyxlQUFlOztFQUdkLHNCQUFtQjs7QUFDckIsUUFBQSxVQUEwQixLQUFLO0FBRW5DLFdBQU8sWUFBWSxTQUFTLG1CQUFtQixZQUFZLE1BQU07QUFDekQsWUFBQSxPQUFNLHlDQUFTLG1CQUFpQixtQ0FBUyxtQkFBbkMsbUJBQW1ELGVBQWMsQ0FBQSxDQUFFLEVBQzVFLE9BQ0MsQ0FBQyxVQUNDLFVBQVUsV0FDVixpQkFBaUIsT0FBTyxlQUN4QixDQUFDLGlCQUFpQixTQUFTLE1BQU0sU0FBUyxDQUFDLEVBRTlDLFFBQVEsQ0FBQ0EsYUFBVztBQUNkLGFBQUEsZUFBZSxJQUFJQSxRQUFPO0FBRTNCLFlBQUEsQ0FBQ0EsU0FBUSxPQUFPO0FBQ2xCQSxtQkFBUSxRQUFRO0FBQ1IsbUJBQUEsZ0JBQWdCLGtCQUFrQixJQUFJO0FBQUEsUUFBQTtBQUdoRCxZQUFJLENBQUNBLFNBQVEsYUFBYSxhQUFhLEdBQUc7QUFDaEMsbUJBQUEsYUFBYSxlQUFlLE1BQU07QUFDbEMsbUJBQUEsZ0JBQWdCLHdCQUF3QixJQUFJO0FBQUEsUUFBQTtBQUFBLE1BQ3RELENBQ0Q7QUFHSCxpQkFBVSxtQ0FBUyxvQkFBa0Isd0NBQVMsa0JBQVQsbUJBQXVDLFNBQVE7QUFBQSxJQUFBO0FBQUEsRUFDdEY7QUFFSDtNQ3ZHWSwrQkFBQSx1QkFBcUI7QUFBQTtBQUFBLEVBcUJ6QixXQUFXLFVBQU87QUFDdkIsVUFBTSxZQUNILFdBQWEsRUFBQSxhQUNYLFdBQ0csdUJBQXNCLG1CQUN0QixTQUFTLGdCQUFnQixhQUFhLE1BQU0sT0FDbEQsdUJBQXNCO0FBR3hCLFVBQU0sMEJBQTBCLFNBQVMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNyRCxXQUFPLHVCQUFzQixrQkFBa0IsU0FBUyx1QkFBdUIsSUFDM0UsMEJBQ0EsdUJBQXNCO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJNUIsSUFBVyxVQUFPO0FBQ2hCLFdBQU8sdUJBQXNCO0FBQUEsRUFBQTtBQUFBLEVBTS9CLFlBQTJCLE9BQTZCO0FBQTdCLFNBQUssUUFBTDtBQUZuQixTQUFTLFlBQW1CO0FBRzdCLFNBQUEsTUFBTSxjQUFjLElBQUk7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUl4QixZQUFZLFNBQW1CO0FBRy9CLFNBQUEsVUFBVSxRQUFRLE9BQU87QUFDdkIsV0FBQTtBQUFBLEVBQUE7QUFBQSxFQUdGLGdCQUFhO0FBQ2xCLFFBQUksVUFBVTtBQUNaO0FBQUEsSUFBQTtBQUVFLFFBQUEsQ0FBQyx1QkFBc0IsV0FBVyxNQUFNO0FBQzFDLDZCQUFzQixVQUFXLFFBQy9CLFNBQVMsaUJBQ1QsdUJBQXNCLGVBQWU7QUFBQSxJQUFBO0FBSW5CLDJCQUFBLFdBQVcsSUFBSSxJQUFJO0FBQ3JDLFFBQUEsS0FBSyxzQkFBc0IsS0FBSyxTQUFTO0FBQ3RDLFdBQUEsY0FBYyxLQUFLLHNCQUFzQixNQUFTO0FBQUEsSUFBQTtBQUFBLEVBQ3pEO0FBQUEsRUFHSyxtQkFBZ0I7QUFDckIsUUFBSSxVQUFVO0FBQ1o7QUFBQSxJQUFBO0FBRUYsU0FBSyxvQkFBb0IsS0FBSztBQUNSLDJCQUFBLFdBQVcsT0FBTyxJQUFJO0FBQ3hDLFFBQUEsQ0FBQyx1QkFBc0IsV0FBVyxNQUFNO0FBQzFDLDZCQUFzQixVQUFXOztFQUNuQztBQUFBLEVBR00sY0FBYyxnQkFBZ0IsTUFBSTtBQUN4QyxTQUFLLFVBQVUsUUFBUSxDQUFDLE1BQU0sR0FBRztBQUNqQyxRQUFJLGVBQWU7QUFDakIsV0FBSyxNQUFNOztFQUNiOztBQXZGc0IsdUJBQWdCLG1CQUFHO0FBQ25CLHVCQUFpQixvQkFBRyxDQUFDLE1BQU0sTUFBTSxNQUFNLElBQUk7QUFHM0MsdUJBQUEsaUNBQWlCLElBQUc7QUFHcEIsdUJBQVMsWUFBRyxDQUFDLFdBQ2pDLElBQUksaUJBQWlCLENBQUMsY0FBYTtBQUM3QixNQUFBLFVBQVUsQ0FBQyxFQUFFLGFBQWEsU0FBUyxnQkFBZ0IsYUFBYSxNQUFNLEdBQUc7QUFDM0UsMkJBQXNCLFdBQVcsUUFBUSxDQUFDLE1BQU0sRUFBRSxlQUFlO0FBQUEsRUFBQTtBQUVwRSxDQUFBLElBQ0Q7QUFDb0IsdUJBQUEsa0JBQWtCO0FBQUEsRUFDeEMsaUJBQWlCLENBQUMsTUFBTTtBQUFBLEVBQ3hCLG1CQUFtQjtBQUNwQjtJQWxCVTtBQ0xiLE1BQU0sVUFBVSxDQUFDLE9BQXVCLEtBQUs7QUFHdEMsTUFBTSw0QkFBNEI7QUFDbEMsTUFBTSxxQkFBcUI7QUFDM0IsTUFBTSw2QkFBNkI7QUFDbkMsTUFBTSx3Q0FBd0MsZUFBZSxRQUFRLHNCQUFzQixDQUFDO0FBQzVGLE1BQU0sdUNBQXVDLGVBQWUsUUFBUSxxQkFBcUIsQ0FBQztBQW9CakcsTUFBTSx5Q0FBeUI7TUFVbEIsMEJBQXlCO0FBQUEsRUFDcEMsWUFDRSxNQUNRLFVBQWdEO0FBQWhELFNBQVEsV0FBUjtBQUVSLFNBQUssY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFsQixRQUFRLE9BQWE7QUFHMUIsV0FBTyxXQUFXLE9BQU8sV0FBVyxLQUFLLEVBQUU7QUFBQSxFQUFBO0FBQUEsRUFHdEMsZ0JBQWE7QUFDbEIsUUFBSSxVQUFVO0FBQ1o7QUFBQSxJQUFBO0FBR1MsZUFBQSxDQUFDLE9BQU8sT0FBTyxLQUFLLE9BQU8sUUFBUSxLQUFLLFFBQVEsR0FBRztBQUN0RCxZQUFBLGFBQWEsbUJBQW1CLElBQUksS0FBSztBQUMvQyxVQUFJLFlBQVk7QUFDSCxtQkFBQSxTQUFTLElBQUksT0FBTztBQUFBLE1BQUEsT0FDMUI7QUFDQyxjQUFBLGlCQUFpQixXQUFXLEtBQUs7QUFDdkMsY0FBTSxXQUFXLG9CQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDNUIsY0FBQSxlQUFlLENBQUMsTUFDcEIsU0FBUyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxDQUFDO0FBQ3ZCLHVCQUFBLGlCQUFpQixVQUFVLFlBQVk7QUFDdEQsMkJBQW1CLElBQUksT0FBTyxFQUFFLGdCQUFnQixVQUFVLGNBQWM7QUFBQSxNQUFBO0FBQUEsSUFDMUU7QUFBQSxFQUNGO0FBQUEsRUFHSyxtQkFBZ0I7QUFDVixlQUFBLENBQUMsT0FBTyxPQUFPLEtBQUssT0FBTyxRQUFRLEtBQUssUUFBUSxHQUFHO0FBQ3RELFlBQUEsYUFBYSxtQkFBbUIsSUFBSSxLQUFLO0FBQy9DLFVBQUksWUFBWTtBQUNILG1CQUFBLFNBQVMsT0FBTyxPQUFPO0FBQzlCLFlBQUEsQ0FBQyxXQUFXLFNBQVMsTUFBTTtBQUM3Qiw2QkFBbUIsT0FBTyxLQUFLO0FBQUEsUUFBQTtBQUFBLE1BQ2pDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFSDtNQ3pFWSx1QkFBc0I7QUFBQSxFQUdqQyxZQUNVLE9BQ0Esb0JBQXlDLE1BQUk7QUFEN0MsU0FBSyxRQUFMO0FBQ0EsU0FBaUIsb0JBQWpCO0FBSk0sU0FBQSw0QkFBWSxJQUFHO0FBcUJ2QixTQUFBLHFCQUFxQixDQUFDLFVBQXNCO0FBQzdDLFdBQUEsV0FBVyxNQUFNLE1BQXlCO0FBQUEsSUFDakQ7QUFqQk8sU0FBQSxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUd4QixnQkFBYTs7QUFFbEIsU0FBSyxXQUFXLEdBQUcsS0FBSyxNQUFNLGlCQUFrQixNQUFNLENBQUM7QUFDdkQsZUFBSyxNQUFNLGVBQVgsbUJBQXVCLGlCQUFpQixjQUFjLEtBQUs7QUFBQSxFQUFrQjtBQUFBLEVBR3hFLG1CQUFnQjs7QUFDckIsZUFBSyxNQUFNLGVBQVgsbUJBQXVCLG9CQUFvQixjQUFjLEtBQUs7QUFBQSxFQUFrQjtBQUFBLEVBUzFFLGNBQWMsT0FBd0I7O0FBQzVDLGVBQVcsUUFBUSxPQUFPO0FBQ2xCLFlBQUEsV0FBVyxLQUFLLFFBQVE7QUFFOUIsVUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBQTs7QUFBTSw0QkFBYSxPQUFLQyxNQUFBLEVBQUUsZ0JBQUYsZ0JBQUFBLElBQWU7QUFBQSxPQUFNLEdBQUc7QUFDeEUsYUFBQSxNQUFNLElBQUksUUFBUTtBQUFBLE1BQUEsT0FDbEI7QUFDQSxhQUFBLE1BQU0sT0FBTyxRQUFRO0FBQUEsTUFBQTtBQUFBLElBQzVCO0FBR0YsVUFBTSxXQUFXLEtBQUssTUFBTSxhQUFhLGlCQUFpQjtBQUNwRCxVQUFBLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsS0FBTyxFQUFBLEtBQUssR0FBRztBQUN2RCxRQUFJLENBQUMsaUJBQWlCO0FBQ2YsV0FBQSxNQUFNLGdCQUFnQixpQkFBaUI7QUFBQSxJQUFBLFdBQ25DLEtBQUssTUFBTSxhQUFhLGlCQUFpQixNQUFNLGlCQUFpQjtBQUNwRSxXQUFBLE1BQU0sYUFBYSxtQkFBbUIsZUFBZTtBQUFBLElBQUE7QUFHNUQsUUFBSSxvQkFBb0IsVUFBVTtBQUNoQyxpQkFBSyxzQkFBTDtBQUFBLElBQXdCO0FBQUEsRUFDMUI7QUFFSDsifQ==
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OyJ9
@@ -0,0 +1,129 @@
1
+ const DAYS_PER_ROW = 7;
2
+ const MONTHS_PER_ROW = 4;
3
+ const YEARS_PER_ROW = 4;
4
+ const MONTHS_PER_PAGE = 12;
5
+ const YEARS_PER_PAGE = 24;
6
+ const FORMAT_DATE = /(^0?[1-9]?|[12]?[0-9]?|3?[01]?)[.,\\/\-\s](0?[1-9]?|1?[0-2]?)?[.,\\/\-\s](\d{1,4}$)?/;
7
+ const ISO8601_FORMAT_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
8
+ class DateAdapter {
9
+ /**
10
+ * Attempts to deserialize a value to a valid date object. This is different from parsing in that
11
+ * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
12
+ * string). The default implementation does not allow any deserialization, it simply checks that
13
+ * the given value is already a valid date object or null.
14
+ * @param value Either Date, ISOString, Unix Timestamp (number of seconds since Jan 1, 1970).
15
+ * @returns The date if the input is valid, `null` otherwise.
16
+ */
17
+ deserialize(value) {
18
+ if (value == null || this.isDateInstance(value) && this.isValid(value)) {
19
+ return value;
20
+ }
21
+ return this.invalid();
22
+ }
23
+ /**
24
+ * Format the given date as string.
25
+ * @param date The date to format.
26
+ * @param options options object with weekdayStyle as property
27
+ */
28
+ format(date, options) {
29
+ if (!this.isValid(date)) {
30
+ return "";
31
+ }
32
+ const value = /* @__PURE__ */ new Date(this.toIso8601(date) + "T00:00:00");
33
+ const dateFormatter = new Intl.DateTimeFormat("de-CH", {
34
+ day: "2-digit",
35
+ month: "2-digit",
36
+ year: "numeric"
37
+ });
38
+ if ((options == null ? void 0 : options.weekdayStyle) === "none") {
39
+ return dateFormatter.format(value);
40
+ }
41
+ const weekdayStyle = (options == null ? void 0 : options.weekdayStyle) ?? "short";
42
+ let weekday = this.getDayOfWeekNames(weekdayStyle)[this.getDayOfWeek(date)];
43
+ weekday = weekday.charAt(0).toUpperCase() + weekday.substring(1);
44
+ if (weekdayStyle === "short") {
45
+ weekday = weekday.substring(0, 2);
46
+ }
47
+ return `${weekday}, ${dateFormatter.format(value)}`;
48
+ }
49
+ /**
50
+ * Get the given date as ISO String.
51
+ * @param date The date to convert to ISO String.
52
+ */
53
+ toIso8601(date) {
54
+ const pad = (value, length = 2) => `${value}`.padStart(length, "0");
55
+ return `${pad(this.getYear(date), 4)}-${pad(this.getMonth(date))}-${pad(this.getDate(date))}`;
56
+ }
57
+ /**
58
+ * Given a potential date object, returns that same date object if it is
59
+ * a valid date, or `null` if it's not a valid date.
60
+ * @param value The object to check.
61
+ * @returns A date or `null`.
62
+ */
63
+ getValidDateOrNull(value) {
64
+ return this.isDateInstance(value) && this.isValid(value) ? value : null;
65
+ }
66
+ /**
67
+ * Calculates the day of the week of the first day of the month, and then its offset from the first day of the week.
68
+ */
69
+ getFirstWeekOffset(date) {
70
+ const firstOfMonth = this.createDate(this.getYear(date), this.getMonth(date), 1);
71
+ return (DAYS_PER_ROW + this.getDayOfWeek(firstOfMonth) - this.getFirstDayOfWeek()) % DAYS_PER_ROW;
72
+ }
73
+ /**
74
+ * Compares two dates.
75
+ * @param first The first date to compare.
76
+ * @param second The second date to compare.
77
+ * @returns 0 if the dates are equal, a number less than 0 if the first date is earlier,
78
+ * a number greater than 0 if the first date is later.
79
+ */
80
+ compareDate(first, second) {
81
+ return this.getYear(first) - this.getYear(second) || this.getMonth(first) - this.getMonth(second) || this.getDate(first) - this.getDate(second);
82
+ }
83
+ /**
84
+ * Checks if two dates are equal.
85
+ * @param first The first date to check.
86
+ * @param second The second date to check.
87
+ * @returns Whether the two dates are equal.
88
+ * Null dates are considered equal to other null dates.
89
+ */
90
+ sameDate(first, second) {
91
+ if (first && second) {
92
+ const firstValid = this.isValid(first);
93
+ const secondValid = this.isValid(second);
94
+ if (firstValid && secondValid) {
95
+ return !this.compareDate(first, second);
96
+ }
97
+ return firstValid == secondValid;
98
+ }
99
+ return first == second;
100
+ }
101
+ /**
102
+ * Clamp the given date between min and max dates.
103
+ * @param date The date to clamp.
104
+ * @param min The minimum value to allow. If null or omitted no min is enforced.
105
+ * @param max The maximum value to allow. If null or omitted no max is enforced.
106
+ * @returns `min` if `date` is less than `min`, `max` if date is greater than `max`,
107
+ * otherwise `date`.
108
+ */
109
+ clampDate(date, min, max) {
110
+ if (min && this.compareDate(date, min) < 0) {
111
+ return min;
112
+ }
113
+ if (max && this.compareDate(date, max) > 0) {
114
+ return max;
115
+ }
116
+ return date;
117
+ }
118
+ }
119
+ export {
120
+ DAYS_PER_ROW,
121
+ DateAdapter,
122
+ FORMAT_DATE,
123
+ ISO8601_FORMAT_DATE,
124
+ MONTHS_PER_PAGE,
125
+ MONTHS_PER_ROW,
126
+ YEARS_PER_PAGE,
127
+ YEARS_PER_ROW
128
+ };
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kYXRldGltZS9kYXRlLWFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERBWVNfUEVSX1JPVzogbnVtYmVyID0gNztcbmV4cG9ydCBjb25zdCBNT05USFNfUEVSX1JPVzogbnVtYmVyID0gNDtcbmV4cG9ydCBjb25zdCBZRUFSU19QRVJfUk9XOiBudW1iZXIgPSA0O1xuZXhwb3J0IGNvbnN0IE1PTlRIU19QRVJfUEFHRTogbnVtYmVyID0gMTI7XG5leHBvcnQgY29uc3QgWUVBUlNfUEVSX1BBR0U6IG51bWJlciA9IDI0O1xuZXhwb3J0IGNvbnN0IEZPUk1BVF9EQVRFID1cbiAgLyheMD9bMS05XT98WzEyXT9bMC05XT98Mz9bMDFdPylbLixcXFxcL1xcLVxcc10oMD9bMS05XT98MT9bMC0yXT8pP1suLFxcXFwvXFwtXFxzXShcXGR7MSw0fSQpPy87XG5leHBvcnQgY29uc3QgSVNPODYwMV9GT1JNQVRfREFURSA9IC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkkLztcblxuLyoqXG4gKiBBYnN0cmFjdCBkYXRlIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZUFkYXB0ZXI8VCA9IGFueT4ge1xuICAvKipcbiAgICogR2V0IHRoZSB5ZWFyIGFzIGEgbnVtYmVyLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFllYXIoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aCBhcyBhIG51bWJlci5cbiAgICogQXR0ZW50aW9uOiBUaGlzIHJldHVybnMgMS0xMiBhbmQgbWl0aWdhdGVzIHRoZSBkZWZhdWx0IEphdmFTY3JpcHQgRGF0ZSBiZWhhdmlvci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgbW9udGggYXMgYSBudW1iZXIuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZShkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIERheSBvZiB0aGUgd2VlayBhcyBhIG51bWJlci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXREYXlPZldlZWsoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKiogR2V0IHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDA6IHN1bmRheTsgMTogbW9uZGF5OyBldGMuKS4gKi9cbiAgcHVibGljIGFic3RyYWN0IGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoLlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGhcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgbW9udGhzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdO1xuXG4gIC8qKiBHZXQgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgd2VlayBkYXlzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXTtcblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyBhYnN0cmFjdCB0b2RheSgpOiBUO1xuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciBhIGdpdmVuIGBkYXRlYCBpcyB2YWxpZC5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUgYnkgY2xvbmluZyB0aGUgZ2l2ZW4gb25lLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb25lKGRhdGU6IFQpOiBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUsIGdpdmVuIGRheSwgbW9udGggYW5kIHllYXI7IHdpdGhvdXQgZGF0ZSdzIG92ZXJmbG93LlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGggVGhlIG1vbnRoIG9mIHRoZSBkYXRlICgxLWluZGV4ZWQsIDEgPSBKYW51YXJ5KS4gTXVzdCBiZSBhbiBpbnRlZ2VyIDEgLSAxMi5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgKiBkZXNlcmlhbGl6ZSBzaG91bGQgb25seSBhY2NlcHQgbm9uLWFtYmlndW91cywgbG9jYWxlLWluZGVwZW5kZW50IGZvcm1hdHMgKGUuZy4gYSBJU08gODYwMVxuICAgKiBzdHJpbmcpLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhbGxvdyBhbnkgZGVzZXJpYWxpemF0aW9uLCBpdCBzaW1wbHkgY2hlY2tzIHRoYXRcbiAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBAcGFyYW0gdmFsdWUgRWl0aGVyIERhdGUsIElTT1N0cmluZywgVW5peCBUaW1lc3RhbXAgKG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIEphbiAxLCAxOTcwKS5cbiAgICogQHJldHVybnMgVGhlIGRhdGUgaWYgdGhlIGlucHV0IGlzIHZhbGlkLCBgbnVsbGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGRlc2VyaWFsaXplKHZhbHVlOiBUIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFQgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PSBudWxsIHx8XG4gICAgICAodGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQgfCBudWxsIHwgdW5kZWZpbmVkKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB2YWx1ZSBhcyBUIHwgbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBULCB5ZWFyczogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4gd2l0aCBgZGF0ZWAgPSBuZXcgRGF0ZSgyMDIyLCAwLCAzMSkgYW5kIGBtb250aHNgID0gMSwgaXQgcmV0dXJucyBuZXcgRGF0ZSgyMDIyLCAxLCAyOCkuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0gbW9udGhzIFRoZSBudW1iZXIgb2YgbW9udGhzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBULCBtb250aHM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC5cbiAgICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0aW5nIGRhdGUuXG4gICAqIEBwYXJhbSBkYXlzIFRoZSBudW1iZXIgb2YgZGF5cyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IFQsIGRheXM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGF0ZSBpbiB0aGUgbG9jYWwgZm9ybWF0LlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXRcbiAgICogQHJldHVybnMgVGhlIGBkYXRlYCBpbiB0aGUgbG9jYWwgZm9ybWF0IGFzIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBUIHwgc3RyaW5nKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGdpdmVuIHN0cmluZyBhcyBEYXRlLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBERC5NTS5ZWVlZLlxuICAgKiBAcGFyYW0gbm93IFRoZSBjdXJyZW50IGRhdGUgYXMgRGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgbm93PzogVCk6IFQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBGb3JtYXQgdGhlIGdpdmVuIGRhdGUgYXMgc3RyaW5nLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgb2JqZWN0IHdpdGggd2Vla2RheVN0eWxlIGFzIHByb3BlcnR5XG4gICAqL1xuICBwdWJsaWMgZm9ybWF0KFxuICAgIGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiB7IHdlZWtkYXlTdHlsZT86ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93JyB8ICdub25lJyB9LFxuICApOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnRvSXNvODYwMShkYXRlISkgKyAnVDAwOjAwOjAwJyk7XG4gICAgY29uc3QgZGF0ZUZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1DSCcsIHtcbiAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zPy53ZWVrZGF5U3R5bGUgPT09ICdub25lJykge1xuICAgICAgcmV0dXJuIGRhdGVGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCB3ZWVrZGF5U3R5bGUgPSBvcHRpb25zPy53ZWVrZGF5U3R5bGUgPz8gJ3Nob3J0JztcbiAgICBsZXQgd2Vla2RheSA9IHRoaXMuZ2V0RGF5T2ZXZWVrTmFtZXMod2Vla2RheVN0eWxlKVt0aGlzLmdldERheU9mV2VlayhkYXRlISldO1xuICAgIHdlZWtkYXkgPSB3ZWVrZGF5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd2Vla2RheS5zdWJzdHJpbmcoMSk7XG4gICAgLy8gV2UgaGF2ZSB0aGUgc3BlY2lhbCByZXF1aXJlbWVudCBmb3IgZGF0ZSBmb3JtYXRzIGF0IFNCQiwgd2hlcmUgdGhlIHNob3J0IGZvcm1cbiAgICAvLyBmb3Igd2Vla2RheXMgc2hvdWxkIGJlIHR3byBjaGFyYWN0ZXJzIGluIGxlbmd0aC5cbiAgICBpZiAod2Vla2RheVN0eWxlID09PSAnc2hvcnQnKSB7XG4gICAgICB3ZWVrZGF5ID0gd2Vla2RheS5zdWJzdHJpbmcoMCwgMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3dlZWtkYXl9LCAke2RhdGVGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBgb2JqYCBpcyBhIERhdGUuXG4gICAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBjaGVjay5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdldHMgZGF0ZSBpbnN0YW5jZSB0aGF0IGlzIG5vdCB2YWxpZC5cbiAgICogQHJldHVybnMgQW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGludmFsaWQoKTogVDtcblxuICAvKipcbiAgICogR2V0IHRoZSBnaXZlbiBkYXRlIGFzIElTTyBTdHJpbmcuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBkYXRlIHRvIGNvbnZlcnQgdG8gSVNPIFN0cmluZy5cbiAgICovXG4gIHB1YmxpYyB0b0lzbzg2MDEoZGF0ZTogVCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFkID0gKHZhbHVlOiBudW1iZXIsIGxlbmd0aCA9IDIpOiBzdHJpbmcgPT4gYCR7dmFsdWV9YC5wYWRTdGFydChsZW5ndGgsICcwJyk7XG4gICAgcmV0dXJuIGAke3BhZCh0aGlzLmdldFllYXIoZGF0ZSksIDQpfS0ke3BhZCh0aGlzLmdldE1vbnRoKGRhdGUpKX0tJHtwYWQodGhpcy5nZXREYXRlKGRhdGUpKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgcG90ZW50aWFsIGRhdGUgb2JqZWN0LCByZXR1cm5zIHRoYXQgc2FtZSBkYXRlIG9iamVjdCBpZiBpdCBpc1xuICAgKiBhIHZhbGlkIGRhdGUsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBhIHZhbGlkIGRhdGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGRhdGUgb3IgYG51bGxgLlxuICAgKi9cbiAgcHVibGljIGdldFZhbGlkRGF0ZU9yTnVsbCh2YWx1ZTogdW5rbm93bik6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQpID8gKHZhbHVlIGFzIFQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBkYXkgb2YgdGhlIHdlZWsgb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGgsIGFuZCB0aGVuIGl0cyBvZmZzZXQgZnJvbSB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgKi9cbiAgcHVibGljIGdldEZpcnN0V2Vla09mZnNldChkYXRlOiBUKTogbnVtYmVyIHtcbiAgICBjb25zdCBmaXJzdE9mTW9udGggPSB0aGlzLmNyZWF0ZURhdGUodGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAxKSE7XG4gICAgcmV0dXJuIChcbiAgICAgIChEQVlTX1BFUl9ST1cgKyB0aGlzLmdldERheU9mV2VlayhmaXJzdE9mTW9udGgpIC0gdGhpcy5nZXRGaXJzdERheU9mV2VlaygpKSAlIERBWVNfUEVSX1JPV1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZXMgdHdvIGRhdGVzLlxuICAgKiBAcGFyYW0gZmlyc3QgVGhlIGZpcnN0IGRhdGUgdG8gY29tcGFyZS5cbiAgICogQHBhcmFtIHNlY29uZCBUaGUgc2Vjb25kIGRhdGUgdG8gY29tcGFyZS5cbiAgICogQHJldHVybnMgMCBpZiB0aGUgZGF0ZXMgYXJlIGVxdWFsLCBhIG51bWJlciBsZXNzIHRoYW4gMCBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBlYXJsaWVyLFxuICAgKiAgICAgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgaWYgdGhlIGZpcnN0IGRhdGUgaXMgbGF0ZXIuXG4gICAqL1xuICBwdWJsaWMgY29tcGFyZURhdGUoZmlyc3Q6IFQsIHNlY29uZDogVCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZ2V0WWVhcihmaXJzdCkgLSB0aGlzLmdldFllYXIoc2Vjb25kKSB8fFxuICAgICAgdGhpcy5nZXRNb250aChmaXJzdCkgLSB0aGlzLmdldE1vbnRoKHNlY29uZCkgfHxcbiAgICAgIHRoaXMuZ2V0RGF0ZShmaXJzdCkgLSB0aGlzLmdldERhdGUoc2Vjb25kKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHR3byBkYXRlcyBhcmUgZXF1YWwuXG4gICAqIEBwYXJhbSBmaXJzdCBUaGUgZmlyc3QgZGF0ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHNlY29uZCBUaGUgc2Vjb25kIGRhdGUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHR3byBkYXRlcyBhcmUgZXF1YWwuXG4gICAqICAgICBOdWxsIGRhdGVzIGFyZSBjb25zaWRlcmVkIGVxdWFsIHRvIG90aGVyIG51bGwgZGF0ZXMuXG4gICAqL1xuICBwdWJsaWMgc2FtZURhdGUoZmlyc3Q6IFQgfCBudWxsLCBzZWNvbmQ6IFQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpcnN0ICYmIHNlY29uZCkge1xuICAgICAgY29uc3QgZmlyc3RWYWxpZCA9IHRoaXMuaXNWYWxpZChmaXJzdCk7XG4gICAgICBjb25zdCBzZWNvbmRWYWxpZCA9IHRoaXMuaXNWYWxpZChzZWNvbmQpO1xuICAgICAgaWYgKGZpcnN0VmFsaWQgJiYgc2Vjb25kVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT0gc2Vjb25kVmFsaWQ7XG4gICAgfVxuICAgIHJldHVybiBmaXJzdCA9PSBzZWNvbmQ7XG4gIH1cblxuICAvKipcbiAgICogQ2xhbXAgdGhlIGdpdmVuIGRhdGUgYmV0d2VlbiBtaW4gYW5kIG1heCBkYXRlcy5cbiAgICogQHBhcmFtIGRhdGUgVGhlIGRhdGUgdG8gY2xhbXAuXG4gICAqIEBwYXJhbSBtaW4gVGhlIG1pbmltdW0gdmFsdWUgdG8gYWxsb3cuIElmIG51bGwgb3Igb21pdHRlZCBubyBtaW4gaXMgZW5mb3JjZWQuXG4gICAqIEBwYXJhbSBtYXggVGhlIG1heGltdW0gdmFsdWUgdG8gYWxsb3cuIElmIG51bGwgb3Igb21pdHRlZCBubyBtYXggaXMgZW5mb3JjZWQuXG4gICAqIEByZXR1cm5zIGBtaW5gIGlmIGBkYXRlYCBpcyBsZXNzIHRoYW4gYG1pbmAsIGBtYXhgIGlmIGRhdGUgaXMgZ3JlYXRlciB0aGFuIGBtYXhgLFxuICAgKiAgICAgb3RoZXJ3aXNlIGBkYXRlYC5cbiAgICovXG4gIHB1YmxpYyBjbGFtcERhdGUoZGF0ZTogVCwgbWluPzogVCB8IG51bGwsIG1heD86IFQgfCBudWxsKTogVCB7XG4gICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmVEYXRlKGRhdGUsIG1pbikgPCAwKSB7XG4gICAgICByZXR1cm4gbWluO1xuICAgIH1cbiAgICBpZiAobWF4ICYmIHRoaXMuY29tcGFyZURhdGUoZGF0ZSwgbWF4KSA+IDApIHtcbiAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuICAgIHJldHVybiBkYXRlO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQU8sTUFBTSxlQUF1QjtBQUM3QixNQUFNLGlCQUF5QjtBQUMvQixNQUFNLGdCQUF3QjtBQUM5QixNQUFNLGtCQUEwQjtBQUNoQyxNQUFNLGlCQUF5QjtBQUMvQixNQUFNLGNBQ1g7QUFDSyxNQUFNLHNCQUFzQjtNQU9iLFlBQVc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFrRnhCLFlBQVksT0FBNkM7QUFFNUQsUUFBQSxTQUFTLFFBQ1IsS0FBSyxlQUFlLEtBQUssS0FBSyxLQUFLLFFBQVEsS0FBNkIsR0FDekU7QUFDTyxhQUFBO0FBQUEsSUFBQTtBQUVULFdBQU8sS0FBSyxRQUFPO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQTZDZCxPQUNMLE1BQ0EsU0FBaUU7QUFFakUsUUFBSSxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUc7QUFDaEIsYUFBQTtBQUFBLElBQUE7QUFHVCxVQUFNLFFBQVksb0JBQUEsS0FBSyxLQUFLLFVBQVUsSUFBSyxJQUFJLFdBQVc7QUFDMUQsVUFBTSxnQkFBZ0IsSUFBSSxLQUFLLGVBQWUsU0FBUztBQUFBLE1BQ3JELEtBQUs7QUFBQSxNQUNMLE9BQU87QUFBQSxNQUNQLE1BQU07QUFBQSxJQUFBLENBQ1A7QUFFRyxTQUFBLG1DQUFTLGtCQUFpQixRQUFR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