@sbb-esta/lyne-elements 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +3 -2
  3. package/{autocomplete-base-element-DarHnnYC.js → autocomplete-base-element-De2O5Wx-.js} +14 -9
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/{block-link-common-DzGY49Xc.js → block-link-common-1kRa_czx.js} +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/breadcrumb/breadcrumb-group.js +1 -1
  9. package/{breadcrumb-group.component-Cc6CHbVy.js → breadcrumb-group.component-CKNsaUqs.js} +1 -1
  10. package/breadcrumb.js +1 -1
  11. package/breadcrumb.pure.js +1 -1
  12. package/button/common/button-common.js +1 -1
  13. package/button/common.js +1 -1
  14. package/button-common-BMEhm-dn.js +87 -0
  15. package/button.js +1 -1
  16. package/button.pure.js +1 -1
  17. package/calendar/calendar/calendar.component.js +1 -1
  18. package/calendar/calendar.js +1 -1
  19. package/{calendar.component-DhmaJt2k.js → calendar.component-C1jk_uE0.js} +5 -5
  20. package/calendar.js +1 -1
  21. package/calendar.pure.js +1 -1
  22. package/card/card-badge/card-badge.component.js +1 -1
  23. package/card/card-badge.js +1 -1
  24. package/{card-badge.component-BSOEYrN4.js → card-badge.component-D0r2iixU.js} +1 -1
  25. package/card.js +1 -1
  26. package/card.pure.js +1 -1
  27. package/checkbox/checkbox.component.js +1 -1
  28. package/checkbox/checkbox.js +1 -1
  29. package/checkbox/common/checkbox-common.js +1 -1
  30. package/checkbox/common.js +1 -1
  31. package/{checkbox-common-DdieysTG.js → checkbox-common-BpW4_bbi.js} +1 -1
  32. package/{checkbox.component-ROzxEnPh.js → checkbox.component-DS48CA_v.js} +1 -1
  33. package/checkbox.js +2 -2
  34. package/checkbox.pure.js +2 -2
  35. package/chip/chip-group/chip-group.component.js +1 -1
  36. package/chip/chip-group.js +1 -1
  37. package/{chip-group.component-DJzUToem.js → chip-group.component-BqBYzfXA.js} +1 -1
  38. package/chip.js +1 -1
  39. package/chip.pure.js +1 -1
  40. package/{compact-paginator.component-Cyi-t_YD.js → compact-paginator.component-BIAPutro.js} +1 -1
  41. package/core/base-elements/element.js +1 -1
  42. package/core/controllers/overlay-position-controller.js +4 -1
  43. package/core/mixins/named-slot-list-mixin.js +4 -1
  44. package/core/styles/core.scss +62 -77
  45. package/core/styles/mixins/helpers.scss +3 -3
  46. package/core/styles/mixins/overlay.scss +2 -2
  47. package/core/styles/mixins/table.scss +18 -19
  48. package/core/styles/mixins/typo.scss +2 -2
  49. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
  50. package/core/styles/theme.scss +3 -1
  51. package/core.css +177 -73
  52. package/custom-elements.json +1387 -1092
  53. package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
  54. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  55. package/development/autocomplete/autocomplete-base-element.js +1 -1
  56. package/development/autocomplete/autocomplete.component.js +4 -3
  57. package/development/autocomplete-base-element-BpCpYcX9.js +692 -0
  58. package/development/autocomplete.js +1 -1
  59. package/development/autocomplete.pure.js +1 -1
  60. package/development/{block-link-common-GckvjULA.js → block-link-common-COY1RI1I.js} +2 -2
  61. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  62. package/development/breadcrumb/breadcrumb-group.js +1 -1
  63. package/development/breadcrumb-group.component-DZslNBlB.js +195 -0
  64. package/development/breadcrumb.js +1 -1
  65. package/development/breadcrumb.pure.js +1 -1
  66. package/development/button/common/button-common.js +1 -1
  67. package/development/button/common.js +1 -1
  68. package/development/{button-common-CAu09Yim.js → button-common-7dmrUx4A.js} +3 -3
  69. package/development/button.js +1 -1
  70. package/development/button.pure.js +1 -1
  71. package/development/calendar/calendar/calendar.component.js +1 -1
  72. package/development/calendar/calendar.js +1 -1
  73. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  74. package/development/calendar.component-Dg3D2A7k.js +1453 -0
  75. package/development/calendar.js +1 -1
  76. package/development/calendar.pure.js +1 -1
  77. package/development/card/card-badge/card-badge.component.js +1 -1
  78. package/development/card/card-badge.js +1 -1
  79. package/development/card-action-common-1FDHbfeR.js +1 -1
  80. package/development/card-badge.component-CUZIoVbL.js +84 -0
  81. package/development/card.js +1 -1
  82. package/development/card.pure.js +1 -1
  83. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  84. package/development/carousel.component-Dl48ROSf.js +1 -1
  85. package/development/checkbox/checkbox.component.js +1 -1
  86. package/development/checkbox/checkbox.js +1 -1
  87. package/development/checkbox/common/checkbox-common.js +1 -1
  88. package/development/checkbox/common.js +1 -1
  89. package/development/checkbox-common-Dd5uup8K.js +86 -0
  90. package/development/checkbox-group/checkbox-group.component.js +1 -1
  91. package/development/{checkbox.component-D3_FFSys.js → checkbox.component-CFZrwUTA.js} +2 -2
  92. package/development/checkbox.js +2 -2
  93. package/development/checkbox.pure.js +2 -2
  94. package/development/chip/chip-group/chip-group.component.js +1 -1
  95. package/development/chip/chip-group.js +1 -1
  96. package/development/chip-group.component-BVfHWX2-.js +409 -0
  97. package/development/chip.js +1 -1
  98. package/development/chip.pure.js +1 -1
  99. package/development/clock.component-CVPv4mCp.js +1 -1
  100. package/development/compact-paginator.component-5_Q2Reul.js +51 -0
  101. package/development/core/a11y/input-modality-detector.js +1 -1
  102. package/development/core/base-elements/element.d.ts.map +1 -1
  103. package/development/core/base-elements/element.js +2 -5
  104. package/development/core/controllers/media-matchers-controller.js +1 -1
  105. package/development/core/controllers/overlay-position-controller.js +3 -2
  106. package/development/core/datetime/date-adapter.js +1 -1
  107. package/development/core/datetime/native-date-adapter.js +1 -1
  108. package/development/core/datetime/temporal-date-adapter.js +1 -1
  109. package/development/core/eventing/throttle.d.ts +1 -0
  110. package/development/core/eventing/throttle.d.ts.map +1 -1
  111. package/development/core/eventing/throttle.js +2 -1
  112. package/development/core/mixins/disabled-mixin.js +1 -1
  113. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  114. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  115. package/development/core/mixins/form-associated-mixin.js +1 -1
  116. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  117. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  118. package/development/core/mixins/named-slot-list-mixin.js +5 -2
  119. package/development/core/mixins/negative-mixin.js +1 -1
  120. package/development/core/mixins/readonly-mixin.js +1 -1
  121. package/development/core/mixins/required-mixin.js +1 -1
  122. package/development/core/testing/event-spy.js +1 -1
  123. package/development/datepicker/common/datepicker-button.d.ts +6 -0
  124. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  125. package/development/datepicker/common/datepicker-button.js +1 -1
  126. package/development/datepicker/common.js +1 -1
  127. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
  128. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  129. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  130. package/development/datepicker/datepicker.js +1 -1
  131. package/development/datepicker-button-CUPeoQgH.js +169 -0
  132. package/development/datepicker.component-D2DxFng_.js +216 -0
  133. package/development/datepicker.js +2 -2
  134. package/development/datepicker.pure.js +2 -2
  135. package/development/dialog/dialog/dialog.component.js +1 -1
  136. package/development/dialog/dialog.js +1 -1
  137. package/development/{dialog.component-TBiL0Sdq.js → dialog.component-DKuR4u-y.js} +2 -2
  138. package/development/dialog.js +1 -1
  139. package/development/dialog.pure.js +1 -1
  140. package/development/error.component-OBpWoVRL.js +55 -0
  141. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  142. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  143. package/development/expansion-panel/expansion-panel-header.js +1 -1
  144. package/development/expansion-panel/expansion-panel.js +1 -1
  145. package/development/expansion-panel-header.component-BEAabEE0.js +85 -0
  146. package/development/{expansion-panel.component-PDUmZe7w.js → expansion-panel.component-CV_IuWZA.js} +2 -2
  147. package/development/expansion-panel.js +2 -2
  148. package/development/expansion-panel.pure.js +2 -2
  149. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  150. package/development/file-selector/common/file-selector-common.js +1 -1
  151. package/development/file-selector/common.js +1 -1
  152. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  153. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  154. package/development/file-selector/file-selector-dropzone.js +1 -1
  155. package/development/file-selector-common-C7xIEiV4.js +416 -0
  156. package/development/file-selector-dropzone.component-BAWMZW4F.js +111 -0
  157. package/development/file-selector.js +2 -2
  158. package/development/file-selector.pure.js +2 -2
  159. package/development/footer/footer.component.js +1 -1
  160. package/development/footer.component-BmDkxYW9.js +172 -0
  161. package/development/footer.js +1 -1
  162. package/development/footer.pure.js +1 -1
  163. package/development/form-field/error/error.component.js +1 -1
  164. package/development/form-field/error.js +1 -1
  165. package/development/form-field/form-field/form-field.component.d.ts +6 -0
  166. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  167. package/development/form-field/form-field/form-field.component.js +1 -1
  168. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
  169. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  170. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
  171. package/development/form-field/form-field.js +1 -1
  172. package/development/form-field/hint/hint.component.js +1 -1
  173. package/development/form-field.component-BU3Sv2mD.js +707 -0
  174. package/development/form-field.js +3 -3
  175. package/development/form-field.pure.js +3 -3
  176. package/development/header/header/header.component.js +1 -1
  177. package/development/header/header.js +1 -1
  178. package/development/header-action-common-MTYV0dqA.js +1 -1
  179. package/development/header.component-CWJ36jF0.js +340 -0
  180. package/development/header.js +1 -1
  181. package/development/header.pure.js +1 -1
  182. package/development/hint.component-DUtL0RS3.js +38 -0
  183. package/development/icon/icon-name-mixin.js +1 -1
  184. package/development/image.component-BD0jc-u-.js +1 -1
  185. package/development/link/common/block-link-common.js +1 -1
  186. package/development/link/common.js +1 -1
  187. package/development/link-common-DJ2FfG_Q.js +1 -1
  188. package/development/link-list-base-CKMNz30d.js +1 -1
  189. package/development/link.js +1 -1
  190. package/development/link.pure.js +1 -1
  191. package/development/message/message.component.js +1 -1
  192. package/development/message.component-Dlf5V5ba.js +44 -0
  193. package/development/message.js +1 -1
  194. package/development/message.pure.js +1 -1
  195. package/development/mini-calendar.component-BufzKw74.js +1 -1
  196. package/development/navigation/common/navigation-action-common.js +1 -1
  197. package/development/navigation/common.js +1 -1
  198. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  199. package/development/navigation/navigation-marker.js +1 -1
  200. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  201. package/development/navigation/navigation-section.js +1 -1
  202. package/development/{navigation-action-common-DpBp7-eZ.js → navigation-action-common-Hjr4dI9J.js} +2 -2
  203. package/development/{navigation-marker.component-BpZdT4xz.js → navigation-marker.component-GOv42emC.js} +2 -2
  204. package/development/{navigation-section.component-CtZtuacK.js → navigation-section.component-CnVrRETN.js} +2 -2
  205. package/development/navigation.component-CTNQ1dix.js +1 -1
  206. package/development/navigation.js +3 -3
  207. package/development/navigation.pure.js +3 -3
  208. package/development/notification/notification.component.js +1 -1
  209. package/development/notification.component-Cvq_uViC.js +274 -0
  210. package/development/notification.js +1 -1
  211. package/development/notification.pure.js +1 -1
  212. package/development/option/option/option-base-element.d.ts.map +1 -1
  213. package/development/option/option/option-base-element.js +3 -1
  214. package/development/option/option/option.component.js +1 -1
  215. package/development/option/option.js +1 -1
  216. package/development/option.component-CRVr0PfV.js +130 -0
  217. package/development/option.js +1 -1
  218. package/development/option.pure.js +1 -1
  219. package/development/paginator/common/paginator-common.js +1 -1
  220. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  221. package/development/paginator/compact-paginator.js +1 -1
  222. package/development/paginator/paginator/paginator.component.js +1 -1
  223. package/development/paginator/paginator.js +1 -1
  224. package/development/paginator.component-Bn5tK0FK.js +259 -0
  225. package/development/paginator.js +2 -2
  226. package/development/paginator.pure.js +2 -2
  227. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  228. package/development/popover/popover.component.d.ts +1 -0
  229. package/development/popover/popover.component.d.ts.map +1 -1
  230. package/development/popover/popover.component.js +1 -1
  231. package/development/popover.component-rZb6B9uW.js +546 -0
  232. package/development/popover.js +1 -1
  233. package/development/popover.pure.js +1 -1
  234. package/development/radio-button/common/radio-button-common.js +1 -1
  235. package/development/radio-button/common.js +1 -1
  236. package/development/radio-button/radio-button.component.js +1 -1
  237. package/development/radio-button/radio-button.js +1 -1
  238. package/development/radio-button-common--d3WX-ZM.js +126 -0
  239. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  240. package/development/{radio-button.component-BrQF2FfA.js → radio-button.component-BauLEeCV.js} +2 -2
  241. package/development/radio-button.js +2 -2
  242. package/development/radio-button.pure.js +2 -2
  243. package/development/select/select.component.d.ts.map +1 -1
  244. package/development/select/select.component.js +1 -1
  245. package/development/select.component-D9SFG7Lk.js +814 -0
  246. package/development/select.js +1 -1
  247. package/development/select.pure.js +1 -1
  248. package/development/sidebar/sidebar/sidebar.component.d.ts +1 -0
  249. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  250. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  251. package/development/sidebar/sidebar.js +1 -1
  252. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  253. package/development/{sidebar.component-DvRTyNry.js → sidebar.component-BLqO52nH.js} +8 -1
  254. package/development/sidebar.js +1 -1
  255. package/development/sidebar.pure.js +1 -1
  256. package/development/slider/slider.component.js +1 -1
  257. package/development/{slider.component-BjfLnUvP.js → slider.component-C3qZB6ar.js} +2 -2
  258. package/development/slider.js +1 -1
  259. package/development/slider.pure.js +1 -1
  260. package/development/status/status.component.js +1 -1
  261. package/development/status.component-CPi1cPN0.js +111 -0
  262. package/development/status.js +1 -1
  263. package/development/status.pure.js +1 -1
  264. package/development/step-label.component-BJ9eainz.js +131 -0
  265. package/development/stepper/step-label/step-label.component.js +1 -1
  266. package/development/stepper/step-label.js +1 -1
  267. package/development/stepper.component-CxOBayI1.js +1 -1
  268. package/development/stepper.js +1 -1
  269. package/development/stepper.pure.js +1 -1
  270. package/development/sticky-bar.component-Dzrdsnxu.js +1 -1
  271. package/development/styles-D8-q-irv.js +1 -1
  272. package/development/styles-Jlhoev1S.js +14 -0
  273. package/development/tab-group.component-DldBA45K.js +275 -0
  274. package/development/{tab-label.component-14j2eh4Z.js → tab-label.component-B9e9kgVf.js} +2 -2
  275. package/development/tabs/common/styles.js +1 -1
  276. package/development/tabs/common.js +1 -1
  277. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  278. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  279. package/development/tabs/tab-group/tab-group.component.js +1 -1
  280. package/development/tabs/tab-group.js +1 -1
  281. package/development/tabs/tab-label/tab-label.component.js +1 -1
  282. package/development/tabs/tab-label.js +1 -1
  283. package/development/tabs.js +3 -3
  284. package/development/tabs.pure.js +3 -3
  285. package/development/tag/tag/tag.component.js +1 -1
  286. package/development/tag/tag.js +1 -1
  287. package/development/tag.component-Bl1nlIXQ.js +245 -0
  288. package/development/tag.js +1 -1
  289. package/development/tag.pure.js +1 -1
  290. package/development/teaser-hero/teaser-hero.component.js +1 -1
  291. package/development/{teaser-hero.component-DNlc8Tbl.js → teaser-hero.component-BIOpoGME.js} +2 -2
  292. package/development/teaser-hero.js +1 -1
  293. package/development/teaser-hero.pure.js +1 -1
  294. package/development/teaser-product-common-DYX370pm.js +1 -1
  295. package/development/time-input.component-BtdSR8kB.js +1 -1
  296. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  297. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  298. package/development/timetable-form/timetable-form-details.js +1 -1
  299. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  300. package/development/timetable-form/timetable-form-field.js +1 -1
  301. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
  302. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  303. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  304. package/development/timetable-form/timetable-form-swap-button.js +1 -1
  305. package/development/timetable-form/timetable-form.js +1 -1
  306. package/development/timetable-form-details.component-DJl5Qt9y.js +26 -0
  307. package/development/timetable-form-field.component-DQ_TzcF4.js +44 -0
  308. package/development/{timetable-form-swap-button.component-BUKUjrpl.js → timetable-form-swap-button.component-Bh9aPmdn.js} +4 -1
  309. package/development/timetable-form.component-N8h4JBlH.js +27 -0
  310. package/development/timetable-form.js +4 -4
  311. package/development/timetable-form.pure.js +4 -4
  312. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  313. package/development/timetable-occupancy.component-BBcznUh0.js +124 -0
  314. package/development/timetable-occupancy.js +1 -1
  315. package/development/timetable-occupancy.pure.js +1 -1
  316. package/development/title/title-base.js +1 -1
  317. package/development/title/title.component.js +1 -1
  318. package/development/{title-base-CBE_2Hkb.js → title-base-BdYKwj3-.js} +2 -2
  319. package/development/{title.component-Dk23JVct.js → title.component-DSXVkddh.js} +2 -2
  320. package/development/title.js +2 -2
  321. package/development/title.pure.js +2 -2
  322. package/development/toast/toast.component.js +1 -1
  323. package/development/toast.component-IhHx0Qt3.js +275 -0
  324. package/development/toast.js +1 -1
  325. package/development/toast.pure.js +1 -1
  326. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  327. package/development/toggle/toggle/toggle.component.js +1 -1
  328. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
  329. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  330. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  331. package/development/toggle/toggle-option.js +1 -1
  332. package/development/toggle/toggle.js +1 -1
  333. package/development/toggle-check/toggle-check.component.js +1 -1
  334. package/development/toggle-check.component-_fDAuLob.js +159 -0
  335. package/development/toggle-check.js +1 -1
  336. package/development/toggle-check.pure.js +1 -1
  337. package/development/toggle-option.component-DTS3a603.js +167 -0
  338. package/development/toggle.component-BJpD1b9H.js +249 -0
  339. package/development/toggle.js +2 -2
  340. package/development/toggle.pure.js +2 -2
  341. package/development/tooltip/tooltip.component.js +1 -1
  342. package/development/tooltip.component-YaUQA-Id.js +378 -0
  343. package/development/tooltip.js +1 -1
  344. package/development/tooltip.pure.js +1 -1
  345. package/development/train/train-wagon/train-wagon.component.js +1 -1
  346. package/development/train/train-wagon.js +1 -1
  347. package/development/{train-wagon.component-BzA8-S_6.js → train-wagon.component-CNxkffOO.js} +2 -2
  348. package/development/train.js +1 -1
  349. package/development/train.pure.js +1 -1
  350. package/dialog/dialog/dialog.component.js +1 -1
  351. package/dialog/dialog.js +1 -1
  352. package/{dialog.component-B3oQbMki.js → dialog.component-Dv5ch5mh.js} +1 -1
  353. package/dialog.js +1 -1
  354. package/dialog.pure.js +1 -1
  355. package/{error.component-B_D8WUP5.js → error.component-DH9Obd7a.js} +1 -1
  356. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  357. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  358. package/expansion-panel/expansion-panel-header.js +1 -1
  359. package/expansion-panel/expansion-panel.js +1 -1
  360. package/{expansion-panel-header.component-B_dQ3ZWT.js → expansion-panel-header.component-FPoEEoZR.js} +1 -1
  361. package/{expansion-panel.component-BJCjwcoj.js → expansion-panel.component-DBnZ6IgB.js} +1 -1
  362. package/expansion-panel.js +2 -2
  363. package/expansion-panel.pure.js +2 -2
  364. package/file-selector/common/file-selector-common.js +1 -1
  365. package/file-selector/common.js +1 -1
  366. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  367. package/file-selector/file-selector-dropzone.js +1 -1
  368. package/{file-selector-common-DN4vHMpP.js → file-selector-common-BL9mM4SZ.js} +38 -40
  369. package/{file-selector-dropzone.component-CBKsZsC2.js → file-selector-dropzone.component-Ctar2kEw.js} +3 -4
  370. package/file-selector.js +2 -2
  371. package/file-selector.pure.js +2 -2
  372. package/footer/footer.component.js +1 -1
  373. package/{footer.component-BM91Utiz.js → footer.component-b2docCY_.js} +1 -1
  374. package/footer.js +1 -1
  375. package/footer.pure.js +1 -1
  376. package/form-field/error/error.component.js +1 -1
  377. package/form-field/error.js +1 -1
  378. package/form-field/form-field/form-field.component.js +1 -1
  379. package/form-field/form-field.js +1 -1
  380. package/form-field/hint/hint.component.js +1 -1
  381. package/{form-field.component-D50q1wC0.js → form-field.component-BwZDRKbQ.js} +17 -16
  382. package/form-field.js +3 -3
  383. package/form-field.pure.js +3 -3
  384. package/header/header/header.component.js +1 -1
  385. package/header/header.js +1 -1
  386. package/{header.component-hZqs06Yh.js → header.component-UQUFcMOD.js} +1 -1
  387. package/header.js +1 -1
  388. package/header.pure.js +1 -1
  389. package/{hint.component-BVUUrSSu.js → hint.component-CE2D2TLU.js} +1 -1
  390. package/link/common/block-link-common.js +1 -1
  391. package/link/common.js +1 -1
  392. package/link.js +1 -1
  393. package/link.pure.js +1 -1
  394. package/message/message.component.js +1 -1
  395. package/message.component-DhN-aFms.js +27 -0
  396. package/message.js +1 -1
  397. package/message.pure.js +1 -1
  398. package/navigation/common/navigation-action-common.js +1 -1
  399. package/navigation/common.js +1 -1
  400. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  401. package/navigation/navigation-marker.js +1 -1
  402. package/navigation/navigation-section/navigation-section.component.js +1 -1
  403. package/navigation/navigation-section.js +1 -1
  404. package/{navigation-action-common-2ix0xrBs.js → navigation-action-common-AzRltwrb.js} +1 -1
  405. package/{navigation-marker.component-DKxK16IU.js → navigation-marker.component-BzbbKlfT.js} +1 -1
  406. package/{navigation-section.component-CvjXVn5r.js → navigation-section.component-DQxCi3O_.js} +1 -1
  407. package/navigation.js +3 -3
  408. package/navigation.pure.js +3 -3
  409. package/notification/notification.component.js +1 -1
  410. package/{notification.component-DjXJFh1G.js → notification.component-D80Wl5xM.js} +1 -1
  411. package/notification.js +1 -1
  412. package/notification.pure.js +1 -1
  413. package/off-brand-theme.css +209 -110
  414. package/option/option/option-base-element.js +1 -1
  415. package/option/option/option.component.js +1 -1
  416. package/option/option.js +1 -1
  417. package/{option.component-M-V_tdSC.js → option.component-2Xf1hz7y.js} +1 -1
  418. package/option.js +1 -1
  419. package/option.pure.js +1 -1
  420. package/package.json +1 -1
  421. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  422. package/paginator/compact-paginator.js +1 -1
  423. package/paginator/paginator/paginator.component.js +1 -1
  424. package/paginator/paginator.js +1 -1
  425. package/{paginator.component-CZt7Epaf.js → paginator.component-BEr0qU0m.js} +1 -1
  426. package/paginator.js +2 -2
  427. package/paginator.pure.js +2 -2
  428. package/popover/popover.component.js +1 -1
  429. package/{popover.component-DWNuW4wM.js → popover.component-DAgwBcBW.js} +32 -28
  430. package/popover.js +1 -1
  431. package/popover.pure.js +1 -1
  432. package/radio-button/common/radio-button-common.js +1 -1
  433. package/radio-button/common.js +1 -1
  434. package/radio-button/radio-button.component.js +1 -1
  435. package/radio-button/radio-button.js +1 -1
  436. package/{radio-button-common-DP4Izwwf.js → radio-button-common-C1mIf9KY.js} +1 -1
  437. package/{radio-button.component-BiGeOI5L.js → radio-button.component-Bae-yK_U.js} +1 -1
  438. package/radio-button.js +2 -2
  439. package/radio-button.pure.js +2 -2
  440. package/safety-theme.css +209 -110
  441. package/select/select.component.js +1 -1
  442. package/{select.component-DWLdApt_.js → select.component-BT6RbERH.js} +3 -3
  443. package/select.js +1 -1
  444. package/select.pure.js +1 -1
  445. package/sidebar/sidebar/sidebar.component.js +1 -1
  446. package/sidebar/sidebar.js +1 -1
  447. package/{sidebar.component-DxOx02l6.js → sidebar.component-Dsx1FAg0.js} +5 -3
  448. package/sidebar.js +1 -1
  449. package/sidebar.pure.js +1 -1
  450. package/slider/slider.component.js +1 -1
  451. package/{slider.component-CoqCppCq.js → slider.component-BlRVR6iU.js} +1 -1
  452. package/slider.js +1 -1
  453. package/slider.pure.js +1 -1
  454. package/standard-theme.css +209 -110
  455. package/status/status.component.js +1 -1
  456. package/{status.component-BFyXTFXH.js → status.component-lw_WDs7W.js} +1 -1
  457. package/status.js +1 -1
  458. package/status.pure.js +1 -1
  459. package/step-label.component-Dqis4FAN.js +80 -0
  460. package/stepper/step-label/step-label.component.js +1 -1
  461. package/stepper/step-label.js +1 -1
  462. package/stepper.js +1 -1
  463. package/stepper.pure.js +1 -1
  464. package/styles-BNu0Fjw5.js +5 -0
  465. package/{tab-group.component-Doy39cEh.js → tab-group.component-CHQlrhUy.js} +36 -33
  466. package/{tab-label.component-CD56RH1Z.js → tab-label.component-CpdUyfiq.js} +1 -1
  467. package/table.css +32 -37
  468. package/tabs/common/styles.js +1 -1
  469. package/tabs/common.js +1 -1
  470. package/tabs/tab-group/tab-group.component.js +1 -1
  471. package/tabs/tab-group.js +1 -1
  472. package/tabs/tab-label/tab-label.component.js +1 -1
  473. package/tabs/tab-label.js +1 -1
  474. package/tabs.js +3 -3
  475. package/tabs.pure.js +3 -3
  476. package/tag/tag/tag.component.js +1 -1
  477. package/tag/tag.js +1 -1
  478. package/{tag.component-CzYJZuFT.js → tag.component-CsNszQvB.js} +1 -1
  479. package/tag.js +1 -1
  480. package/tag.pure.js +1 -1
  481. package/teaser-hero/teaser-hero.component.js +1 -1
  482. package/{teaser-hero.component-CHy82SKQ.js → teaser-hero.component-D8yj-N5n.js} +1 -1
  483. package/teaser-hero.js +1 -1
  484. package/teaser-hero.pure.js +1 -1
  485. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  486. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  487. package/timetable-form/timetable-form-details.js +1 -1
  488. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  489. package/timetable-form/timetable-form-field.js +1 -1
  490. package/timetable-form/timetable-form.js +1 -1
  491. package/timetable-form-details.component-mWKaBW_9.js +16 -0
  492. package/timetable-form-field.component-Cv_lv8vf.js +32 -0
  493. package/{timetable-form.component-CU1FXAZH.js → timetable-form.component-YcvKAlfz.js} +1 -1
  494. package/timetable-form.js +3 -3
  495. package/timetable-form.pure.js +3 -3
  496. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  497. package/{timetable-occupancy.component-Db9SfiyD.js → timetable-occupancy.component-BCXPxz68.js} +1 -1
  498. package/timetable-occupancy.js +1 -1
  499. package/timetable-occupancy.pure.js +1 -1
  500. package/title/title-base.js +1 -1
  501. package/title/title.component.js +1 -1
  502. package/{title-base-D72Xo2SW.js → title-base-DV0qhfG9.js} +1 -1
  503. package/{title.component-CoMa84Sz.js → title.component-DAGyXwDm.js} +1 -1
  504. package/title.js +2 -2
  505. package/title.pure.js +2 -2
  506. package/toast/toast.component.js +1 -1
  507. package/{toast.component-BDE1vYLS.js → toast.component-CORnf2Tl.js} +3 -3
  508. package/toast.js +1 -1
  509. package/toast.pure.js +1 -1
  510. package/toggle/toggle/toggle.component.js +1 -1
  511. package/toggle/toggle-option/toggle-option.component.js +1 -1
  512. package/toggle/toggle-option.js +1 -1
  513. package/toggle/toggle.js +1 -1
  514. package/toggle-check/toggle-check.component.js +1 -1
  515. package/toggle-check.component-DvoslSRr.js +119 -0
  516. package/toggle-check.js +1 -1
  517. package/toggle-check.pure.js +1 -1
  518. package/{toggle-option.component-Bw-GXUQK.js → toggle-option.component-pX3tNwjE.js} +5 -7
  519. package/{toggle.component-BPpsMMPG.js → toggle.component-B20xAw1V.js} +6 -10
  520. package/toggle.js +2 -2
  521. package/toggle.pure.js +2 -2
  522. package/tooltip/tooltip.component.js +1 -1
  523. package/{tooltip.component-BY9mV5Sw.js → tooltip.component-ocVpJogs.js} +1 -1
  524. package/tooltip.js +1 -1
  525. package/tooltip.pure.js +1 -1
  526. package/train/train-wagon/train-wagon.component.js +1 -1
  527. package/train/train-wagon.js +1 -1
  528. package/{train-wagon.component-BwCcF4GD.js → train-wagon.component-BT4Xnzxr.js} +1 -1
  529. package/train.js +1 -1
  530. package/train.pure.js +1 -1
  531. package/button-common-yFVzAoGy.js +0 -87
  532. package/core/styles/table.scss +0 -156
  533. package/development/autocomplete-base-element-YwfObJzm.js +0 -678
  534. package/development/breadcrumb-group.component-B3Shlng3.js +0 -195
  535. package/development/calendar.component-6p9vsp-V.js +0 -1452
  536. package/development/card-badge.component-D4Mes-Gw.js +0 -84
  537. package/development/checkbox-common-DiTlHvFJ.js +0 -86
  538. package/development/chip-group.component-CvpUdzu1.js +0 -409
  539. package/development/compact-paginator.component-TfDVt_ST.js +0 -51
  540. package/development/datepicker-button-CANzGO5m.js +0 -163
  541. package/development/datepicker.component-C8XQVo45.js +0 -213
  542. package/development/error.component-xD_c9IBA.js +0 -55
  543. package/development/expansion-panel-header.component-Bw4uROTe.js +0 -85
  544. package/development/file-selector-common-C82QR3zb.js +0 -418
  545. package/development/file-selector-dropzone.component-B-cBO4bf.js +0 -112
  546. package/development/footer.component-BblB5218.js +0 -172
  547. package/development/form-field.component-BEXX0OcL.js +0 -702
  548. package/development/header.component-Cg0ZcA1s.js +0 -340
  549. package/development/hint.component-BsIzdUOV.js +0 -38
  550. package/development/message.component-CeJhYXSC.js +0 -44
  551. package/development/notification.component-Co9QChXc.js +0 -274
  552. package/development/option.component-CdL7fdzZ.js +0 -130
  553. package/development/paginator.component-DAdS2mMm.js +0 -259
  554. package/development/popover.component-BCMdJBUR.js +0 -537
  555. package/development/radio-button-common-C3-xuY78.js +0 -126
  556. package/development/select.component-CGNEhqzl.js +0 -812
  557. package/development/status.component-CHC2pBa-.js +0 -111
  558. package/development/step-label.component-CJFPHIZa.js +0 -131
  559. package/development/styles-DCQBzC2C.js +0 -14
  560. package/development/tab-group.component-DRipdAyc.js +0 -272
  561. package/development/tag.component-CnNPL6aI.js +0 -245
  562. package/development/timetable-form-details.component-C8awcdP5.js +0 -26
  563. package/development/timetable-form-field.component-BI24VjkC.js +0 -44
  564. package/development/timetable-form.component-CUG86CSN.js +0 -27
  565. package/development/timetable-occupancy.component-D_PXXvI9.js +0 -124
  566. package/development/toast.component-BnbpuU9L.js +0 -274
  567. package/development/toggle-check.component-BG4w_sE8.js +0 -159
  568. package/development/toggle-option.component-D-F7Fh7i.js +0 -168
  569. package/development/toggle.component-BFYLRN8o.js +0 -254
  570. package/development/tooltip.component-DzSd9VjW.js +0 -378
  571. package/message.component-BQjnZ5Z3.js +0 -27
  572. package/step-label.component-DnQBwnL8.js +0 -80
  573. package/styles-BUpK1iP2.js +0 -5
  574. package/timetable-form-details.component-CBZ7QSAx.js +0 -16
  575. package/timetable-form-field.component-BKxQQqt7.js +0 -32
  576. package/toggle-check.component-B6Ww5pLD.js +0 -119
@@ -1,259 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbElement } from "./core/base-elements.js";
5
- import { forceType } from "./core/decorators.js";
6
- import { boxSizingStyles } from "./core/styles.js";
7
- import { i18nItemsPerPage, i18nPage } from "./core/i18n.js";
8
- import { sbbInputModalityDetector } from "./core/a11y.js";
9
- import "./screen-reader-only.js";
10
- import { SbbPaginatorCommonElementMixin } from "./paginator/common/paginator-common.js";
11
- import { repeat } from "lit/directives/repeat.js";
12
- import "./form-field.js";
13
- import "./select.js";
14
- import "./option.js";
15
- //#region src/elements/paginator/paginator/paginator.scss?inline
16
- var paginator_default = ":host {\n --sbb-paginator-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n display: block;\n}\n\n:host([size=s]) {\n --sbb-paginator-height: var(--sbb-size-element-xs);\n}\n\n:host([size=m]) {\n --sbb-paginator-height: var(--sbb-size-element-m);\n}\n\n:host([negative]) {\n --sbb-paginator-page-color: var(--sbb-color-5);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n}\n\n:host([pager-position=end]) {\n --sbb-paginator-justify-content: end;\n --sbb-paginator-wrapping-group-wrap: wrap;\n --sbb-paginator-wrap: wrap-reverse;\n}\n\n.sbb-paginator,\n.sbb-paginator__wrapping-group {\n display: flex;\n gap: var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-6x);\n justify-content: var(--sbb-paginator-justify-content, start);\n}\n\n.sbb-paginator {\n flex-wrap: var(--sbb-paginator-wrap, wrap);\n min-height: var(--sbb-paginator-height);\n}\n\n.sbb-paginator__wrapping-group {\n flex-wrap: var(--sbb-paginator-wrapping-group-wrap, wrap-reverse);\n}\n\n.sbb-paginator__page-size-options {\n display: flex;\n align-items: center;\n gap: var(--sbb-spacing-fixed-2x);\n white-space: nowrap;\n color: var(--sbb-paginator-page-color);\n font-size: var(--sbb-paginator-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n.sbb-paginator__page-size-options sbb-select {\n color: var(--sbb-form-field-text-color);\n font-size: var(--sbb-form-field-input-text-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n padding-inline-end: var(--sbb-form-field-select-inline-padding-end);\n}\n\n.sbb-paginator__pages {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--sbb-spacing-fixed-1x);\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.sbb-paginator__page--ellipsis,\n.sbb-paginator__page--number {\n position: relative;\n font-size: var(--sbb-paginator-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n color: var(--sbb-paginator-page-color);\n}\n\n.sbb-paginator__page--ellipsis-item,\n.sbb-paginator__page--number-item {\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--sbb-size-element-xxs);\n height: var(--sbb-size-element-xxs);\n}\n\n.sbb-paginator__page--number-item {\n appearance: none;\n box-sizing: border-box;\n margin: 0;\n outline: none;\n border: none;\n border-radius: 0;\n padding: 0;\n background: none;\n -webkit-tap-highlight-color: transparent;\n color: inherit;\n --sbb-text-font-size: var(--sbb-paginator-font-size);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n position: relative;\n cursor: var(--sbb-paginator-page-cursor);\n outline: none !important;\n color: var(--sbb-paginator-page-color);\n transition: color var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);\n}\n.sbb-paginator__page--number-item::before {\n content: \"\";\n position: absolute;\n background-color: var(--sbb-paginator-page-background-color, transparent);\n border: var(--sbb-paginator-page-border-width) var(--sbb-paginator-page-border-style, none) var(--sbb-paginator-page-border-color, none);\n border-radius: var(--sbb-border-radius-infinity);\n inset: var(--sbb-paginator-page-inset, 0);\n transition-property: background-color, border, inset;\n transition-duration: var(--sbb-paginator-animation-duration);\n transition-timing-function: var(--sbb-paginator-animation-easing);\n}\n.sbb-paginator__page--number-item:focus-visible::before {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n outline-offset: var(--sbb-border-width-2x);\n}\n.sbb-paginator__page--number-item[data-selected] {\n font-weight: bold;\n --sbb-paginator-page-color: var(--sbb-color-3);\n --sbb-paginator-page-border-width: var(--sbb-border-width-2x);\n --sbb-paginator-page-border-style: solid;\n --sbb-paginator-page-border-color: var(--sbb-border-color-2);\n}\n:host([negative]) .sbb-paginator__page--number-item[data-selected] {\n --sbb-paginator-page-color: var(--sbb-color-3-negative);\n --sbb-paginator-page-border-color: var(--sbb-border-color-2-negative);\n}\n@media (forced-colors: active) {\n .sbb-paginator__page--number-item[data-selected] {\n --sbb-paginator-page-border-color: Highlight !important;\n }\n}\n.sbb-paginator__page--number-item:disabled {\n --sbb-paginator-page-color: var(--sbb-color-5);\n --sbb-paginator-page-border-style: dashed;\n --sbb-paginator-page-border-color: var(--sbb-border-color-5);\n --sbb-paginator-page-background-color: var(--sbb-background-color-3);\n --sbb-paginator-page-cursor: var(--sbb-cursor-default);\n}\n.sbb-paginator__page--number-item:disabled:not([data-selected]) {\n --sbb-paginator-page-border-width: var(--sbb-border-width-1x);\n}\n:host([negative]) .sbb-paginator__page--number-item:disabled {\n --sbb-paginator-page-color: var(--sbb-color-5);\n --sbb-paginator-page-background-color: var(--sbb-background-color-3-negative);\n}\n@media (forced-colors: active) {\n .sbb-paginator__page--number-item:disabled {\n --sbb-paginator-page-border-color: GrayText;\n --sbb-paginator-page-color: GrayText;\n --sbb-paginator-page-background-color: Canvas;\n }\n}\n@media (any-hover: hover) {\n .sbb-paginator__page--number-item:not(:disabled):hover {\n --sbb-paginator-page-background-color: var(--sbb-background-color-3);\n --sbb-paginator-page-inset: calc(var(--sbb-border-width-2x) * -1);\n --sbb-paginator-translate-y-content-hover: -0.0625rem;\n }\n :host([negative]) .sbb-paginator__page--number-item:not(:disabled):hover {\n --sbb-paginator-page-background-color: var(--sbb-background-color-3-negative);\n }\n}\n@media (any-hover: hover) and (forced-colors: active) {\n .sbb-paginator__page--number-item:not(:disabled):hover {\n --sbb-paginator-page-background-color: Highlight !important;\n }\n}\n.sbb-paginator__page--number-item:not(:disabled):active {\n --sbb-paginator-page-color: var(--sbb-color-3);\n --sbb-paginator-page-background-color: var(--sbb-background-color-4);\n --sbb-paginator-page-inset: 0;\n --sbb-paginator-translate-y-content-hover: 0;\n}\n:host([negative]) .sbb-paginator__page--number-item:not(:disabled):active {\n --sbb-paginator-page-color: var(--sbb-color-3-negative);\n --sbb-paginator-page-background-color: var(--sbb-background-color-4-negative);\n}\n@media (forced-colors: active) {\n .sbb-paginator__page--number-item:not(:disabled):active {\n --sbb-paginator-page-background-color: Highlight !important;\n }\n}\n\n.sbb-paginator__page--number-item-label {\n transition: transform var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);\n transform: translateY(var(--sbb-paginator-translate-y-content-hover, 0rem));\n}\n\n.sbb-screen-reader-only {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}";
17
- //#endregion
18
- //#region src/elements/paginator/paginator/paginator.component.ts
19
- var MAX_PAGE_NUMBERS_DISPLAYED = 3;
20
- /**
21
- * It displays a paginator component.
22
- */
23
- var SbbPaginatorElement = (() => {
24
- let _classSuper = SbbPaginatorCommonElementMixin(SbbElement);
25
- let _pageSizeOptions_decorators;
26
- let _pageSizeOptions_initializers = [];
27
- let _pageSizeOptions_extraInitializers = [];
28
- let _pagerPosition_decorators;
29
- let _pagerPosition_initializers = [];
30
- let _pagerPosition_extraInitializers = [];
31
- let _accessibilityItemsPerPageLabel_decorators;
32
- let _accessibilityItemsPerPageLabel_initializers = [];
33
- let _accessibilityItemsPerPageLabel_extraInitializers = [];
34
- return class SbbPaginatorElement extends _classSuper {
35
- constructor() {
36
- super(...arguments);
37
- this.#pageSizeOptions_accessor_storage = __runInitializers(this, _pageSizeOptions_initializers, []);
38
- this.#pagerPosition_accessor_storage = (__runInitializers(this, _pageSizeOptions_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start"));
39
- this.#accessibilityItemsPerPageLabel_accessor_storage = (__runInitializers(this, _pagerPosition_extraInitializers), __runInitializers(this, _accessibilityItemsPerPageLabel_initializers, ""));
40
- this._markForFocus = (__runInitializers(this, _accessibilityItemsPerPageLabel_extraInitializers), false);
41
- }
42
- static {
43
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
44
- _pageSizeOptions_decorators = [property({
45
- attribute: "page-size-options",
46
- type: Array
47
- })];
48
- _pagerPosition_decorators = [property({
49
- attribute: "pager-position",
50
- reflect: true
51
- })];
52
- _accessibilityItemsPerPageLabel_decorators = [forceType(), property({ attribute: "accessibility-items-per-page-label" })];
53
- __esDecorate(this, null, _pageSizeOptions_decorators, {
54
- kind: "accessor",
55
- name: "pageSizeOptions",
56
- static: false,
57
- private: false,
58
- access: {
59
- has: (obj) => "pageSizeOptions" in obj,
60
- get: (obj) => obj.pageSizeOptions,
61
- set: (obj, value) => {
62
- obj.pageSizeOptions = value;
63
- }
64
- },
65
- metadata: _metadata
66
- }, _pageSizeOptions_initializers, _pageSizeOptions_extraInitializers);
67
- __esDecorate(this, null, _pagerPosition_decorators, {
68
- kind: "accessor",
69
- name: "pagerPosition",
70
- static: false,
71
- private: false,
72
- access: {
73
- has: (obj) => "pagerPosition" in obj,
74
- get: (obj) => obj.pagerPosition,
75
- set: (obj, value) => {
76
- obj.pagerPosition = value;
77
- }
78
- },
79
- metadata: _metadata
80
- }, _pagerPosition_initializers, _pagerPosition_extraInitializers);
81
- __esDecorate(this, null, _accessibilityItemsPerPageLabel_decorators, {
82
- kind: "accessor",
83
- name: "accessibilityItemsPerPageLabel",
84
- static: false,
85
- private: false,
86
- access: {
87
- has: (obj) => "accessibilityItemsPerPageLabel" in obj,
88
- get: (obj) => obj.accessibilityItemsPerPageLabel,
89
- set: (obj, value) => {
90
- obj.accessibilityItemsPerPageLabel = value;
91
- }
92
- },
93
- metadata: _metadata
94
- }, _accessibilityItemsPerPageLabel_initializers, _accessibilityItemsPerPageLabel_extraInitializers);
95
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
96
- enumerable: true,
97
- configurable: true,
98
- writable: true,
99
- value: _metadata
100
- });
101
- }
102
- static {
103
- this.elementName = "sbb-paginator";
104
- }
105
- static {
106
- this.styles = [boxSizingStyles, unsafeCSS(paginator_default)];
107
- }
108
- static {
109
- this.events = { page: "page" };
110
- }
111
- #pageSizeOptions_accessor_storage;
112
- /** The available `pageSize` choices. */
113
- get pageSizeOptions() {
114
- return this.#pageSizeOptions_accessor_storage;
115
- }
116
- set pageSizeOptions(value) {
117
- this.#pageSizeOptions_accessor_storage = value;
118
- }
119
- #pagerPosition_accessor_storage;
120
- /**
121
- * Position of the prev/next buttons: if `pageSizeOptions` is set,
122
- * the sbb-select for the pageSize change will be positioned oppositely, with the page numbers always in the center.
123
- */
124
- get pagerPosition() {
125
- return this.#pagerPosition_accessor_storage;
126
- }
127
- set pagerPosition(value) {
128
- this.#pagerPosition_accessor_storage = value;
129
- }
130
- #accessibilityItemsPerPageLabel_accessor_storage;
131
- /**
132
- * Accessibility label for the items per page. Defaults to `Items per page.`.
133
- * Can be set for cases like a carousel, where `slide` or `image` fits better.
134
- */
135
- get accessibilityItemsPerPageLabel() {
136
- return this.#accessibilityItemsPerPageLabel_accessor_storage;
137
- }
138
- set accessibilityItemsPerPageLabel(value) {
139
- this.#accessibilityItemsPerPageLabel_accessor_storage = value;
140
- }
141
- updated(changedProperties) {
142
- super.updated(changedProperties);
143
- /** Tab navigation can force a rerender when ellipsis elements need to be displayed; the focus must stay on the correct element. */
144
- if (this._markForFocus) {
145
- const focusElement = this._getVisiblePages().find((e) => this.pageIndex === +e.getAttribute("data-index"));
146
- if (focusElement) focusElement.focus();
147
- this._markForFocus = false;
148
- }
149
- }
150
- /** Returns the displayed page elements. */
151
- _getVisiblePages() {
152
- return Array.from(this.shadowRoot.querySelectorAll(".sbb-paginator__page--number-item"));
153
- }
154
- /**
155
- * Calculate the pages set based on the following rules:
156
- * - the first page must always be visible;
157
- * - the last page must always be visible;
158
- * - if there are more than `MAX_PAGE_NUMBERS_DISPLAYED` other pages, ellipsis button must be used.
159
- */
160
- _getVisiblePagesIndex() {
161
- const totalPages = this.numberOfPages();
162
- const currentPageIndex = this.pageIndex;
163
- if (totalPages <= MAX_PAGE_NUMBERS_DISPLAYED + 2) return this._range(totalPages);
164
- else if (currentPageIndex < MAX_PAGE_NUMBERS_DISPLAYED) return [
165
- ...this._range(MAX_PAGE_NUMBERS_DISPLAYED + 1),
166
- "ellipsis",
167
- totalPages - 1
168
- ];
169
- else if (currentPageIndex >= totalPages - MAX_PAGE_NUMBERS_DISPLAYED) return [
170
- 0,
171
- "ellipsis",
172
- ...this._range(MAX_PAGE_NUMBERS_DISPLAYED + 1, totalPages - 1 - MAX_PAGE_NUMBERS_DISPLAYED)
173
- ];
174
- else return [
175
- 0,
176
- "ellipsis",
177
- currentPageIndex - 1,
178
- currentPageIndex,
179
- currentPageIndex + 1,
180
- "ellipsis",
181
- totalPages - 1
182
- ];
183
- }
184
- /** Creates an array of consecutive numbers given the length and the starting value. */
185
- _range(length, offset = 0) {
186
- return Array.from({ length }, (_, k) => k + offset);
187
- }
188
- _onPageNumberClick(index) {
189
- this.selectPage(index);
190
- this._markForFocus = sbbInputModalityDetector.mostRecentModality === "keyboard";
191
- }
192
- _renderItemPerPageTemplate() {
193
- return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? html`
194
- <div class="sbb-paginator__page-size-options">
195
- <label for="select"
196
- >${this.accessibilityItemsPerPageLabel ? this.accessibilityItemsPerPageLabel : i18nItemsPerPage[this.language.current]}</label
197
- >
198
- <sbb-form-field
199
- borderless
200
- width="collapse"
201
- ?negative=${this.negative}
202
- size=${this.size || nothing}
203
- >
204
- <sbb-select
205
- id="select"
206
- ?disabled=${this.disabled}
207
- value=${this.pageSizeOptions?.find((e) => e === this.pageSize) ?? this.pageSizeOptions[0]}
208
- @change=${(e) => this.pageSize = +e.target.value}
209
- >
210
- ${repeat(this.pageSizeOptions, (element) => html`<sbb-option value=${element}>${element}</sbb-option>`)}
211
- </sbb-select>
212
- </sbb-form-field>
213
- </div>
214
- ` : nothing;
215
- }
216
- _renderPageNumbers() {
217
- return html`
218
- <ul class="sbb-paginator__pages">
219
- ${repeat(this._getVisiblePagesIndex(), (item) => item === "ellipsis" ? html`
220
- <li class="sbb-paginator__page--ellipsis">
221
- <span class="sbb-paginator__page--ellipsis-item">…</span>
222
- </li>
223
- ` : html`
224
- <li class="sbb-paginator__page--number">
225
- <button
226
- ?data-selected=${this.pageIndex === item}
227
- ?disabled=${this.disabled}
228
- class="sbb-paginator__page--number-item"
229
- data-index=${item}
230
- aria-label="${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${item + 1}"
231
- aria-current=${this.pageIndex === item ? "true" : nothing}
232
- @click=${() => this._onPageNumberClick(item)}
233
- >
234
- <span class="sbb-paginator__page--number-item-label">${item + 1}</span>
235
- </button>
236
- </li>
237
- `)}
238
- </ul>
239
- `;
240
- }
241
- renderPaginator() {
242
- return html`
243
- <div class="sbb-paginator">
244
- ${this.pagerPosition === "start" ? html`<span class="sbb-paginator__wrapping-group">
245
- ${this.renderPrevNextButtons()} ${this._renderPageNumbers()}
246
- </span>
247
- ${this._renderItemPerPageTemplate()}` : html`${this._renderItemPerPageTemplate()}
248
- <span class="sbb-paginator__wrapping-group">
249
- ${this._renderPageNumbers()} ${this.renderPrevNextButtons()}
250
- </span>`}</span>
251
- </div>
252
- `;
253
- }
254
- };
255
- })();
256
- //#endregion
257
- export { SbbPaginatorElement as t };
258
-
259
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC1EQWRTMm1NbS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3Iuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItcGFnaW5hdG9yLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14cyk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItcGFnaW5hdG9yLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC1tKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoW3BhZ2VyLXBvc2l0aW9uPSdlbmQnXSkge1xuICAtLXNiYi1wYWdpbmF0b3ItanVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIC0tc2JiLXBhZ2luYXRvci13cmFwcGluZy1ncm91cC13cmFwOiB3cmFwO1xuICAtLXNiYi1wYWdpbmF0b3Itd3JhcDogd3JhcC1yZXZlcnNlO1xufVxuXG4uc2JiLXBhZ2luYXRvcixcbi5zYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtM3gpIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KTtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItcGFnaW5hdG9yLWp1c3RpZnktY29udGVudCwgc3RhcnQpO1xufVxuXG4uc2JiLXBhZ2luYXRvciB7XG4gIGZsZXgtd3JhcDogdmFyKC0tc2JiLXBhZ2luYXRvci13cmFwLCB3cmFwKTtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLXBhZ2luYXRvci1oZWlnaHQpO1xufVxuXG4uc2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXAge1xuICBmbGV4LXdyYXA6IHZhcigtLXNiYi1wYWdpbmF0b3Itd3JhcHBpbmctZ3JvdXAtd3JhcCwgd3JhcC1yZXZlcnNlKTtcbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1wYWdpbmF0b3ItZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuXG4gIC8vIFJlYXBwbHkgcGFydCBvZiB0aGUgZ2xvYmFsIGZvcm0tZmllbGQgY3NzIHRoYXQgZG9lcyBub3QgcGllcmNlIHRoZSBzaGFkb3cgRE9NLlxuICBzYmItc2VsZWN0IHtcbiAgICBjb2xvcjogdmFyKC0tc2JiLWZvcm0tZmllbGQtdGV4dC1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zYmItZm9ybS1maWVsZC1pbnB1dC10ZXh0LXNpemUpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNiYi1mb3JtLWZpZWxkLXNlbGVjdC1pbmxpbmUtcGFkZGluZy1lbmQpO1xuICB9XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlcyB7XG4gIEBpbmNsdWRlIHNiYi5saXN0LXJlc2V0O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpcyxcbi5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXBhZ2luYXRvci1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtY29sb3IpO1xufVxuXG4uc2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbSxcbi5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14eHMpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHhzKTtcbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtIHtcbiAgQGluY2x1ZGUgc2JiLmJ1dHRvbi1yZXNldDtcblxuICAvLyBUaGUgdGV4dCBtaXhpbiBpcyBuZWVkZWQgdG8gb3ZlcnJpZGUgdGhlIGJ1dHRvbiBiYXNlIHN0eWxlXG4gIC0tc2JiLXRleHQtZm9udC1zaXplOiB2YXIoLS1zYmItcGFnaW5hdG9yLWZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHNiYi50ZXh0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtY3Vyc29yKTtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tc2JiLXBhZ2luYXRvci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItc3R5bGUsIG5vbmUpXG4gICAgICB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yLCBub25lKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gICAgaW5zZXQ6IHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1pbnNldCwgMCk7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlciwgaW5zZXQ7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXBhZ2luYXRvci1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXNlbGVjdGVkXSB7XG4gICAgQGluY2x1ZGUgc2JiLnRleHQtLWJvbGQ7XG5cbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMik7XG5cbiAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMi1uZWdhdGl2ZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG5cbiAgICAmOm5vdChbZGF0YS1zZWxlY3RlZF0pIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG4gICAgfVxuXG4gICAgOmhvc3QoW25lZ2F0aXZlXSkgJiB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3I6IENhbnZhcztcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWluc2V0OiBjYWxjKHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpICogLTEpO1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXI6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgtMSl9O1xuXG4gICAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUge1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtaW5zZXQ6IDA7XG4gICAgLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXI6IDA7XG5cbiAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00LW5lZ2F0aXZlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiBIaWdobGlnaHQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtLWxhYmVsIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWVhc2luZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pKTtcbn1cblxuLy8gTmVlZGVkIGZvciB0aGUgc2JiLXNlbGVjdFxuLnNiYi1zY3JlZW4tcmVhZGVyLW9ubHkge1xuICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaTE4bkl0ZW1zUGVyUGFnZSwgaTE4blBhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LnRzJztcbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi9wYWdpbmF0b3ItY29tbW9uLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vcGFnaW5hdG9yLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLnRzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LnRzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLnRzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LnRzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXBhZ2luYXRvcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwYWdlOiAncGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSBhdmFpbGFibGUgYHBhZ2VTaXplYCBjaG9pY2VzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLXNpemUtb3B0aW9ucycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gW107XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBwcmV2L25leHQgYnV0dG9uczogaWYgYHBhZ2VTaXplT3B0aW9uc2AgaXMgc2V0LFxuICAgKiB0aGUgc2JiLXNlbGVjdCBmb3IgdGhlIHBhZ2VTaXplIGNoYW5nZSB3aWxsIGJlIHBvc2l0aW9uZWQgb3Bwb3NpdGVseSwgd2l0aCB0aGUgcGFnZSBudW1iZXJzIGFsd2F5cyBpbiB0aGUgY2VudGVyLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgIHwgJ3N0YXJ0J1xuICAgIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgaXRlbXMgcGVyIHBhZ2UuIERlZmF1bHRzIHRvIGBJdGVtcyBwZXIgcGFnZS5gLlxuICAgKiBDYW4gYmUgc2V0IGZvciBjYXNlcyBsaWtlIGEgY2Fyb3VzZWwsIHdoZXJlIGBzbGlkZWAgb3IgYGltYWdlYCBmaXRzIGJldHRlci5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWl0ZW1zLXBlci1wYWdlLWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUl0ZW1zUGVyUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9tYXJrRm9yRm9jdXMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8qKiBUYWIgbmF2aWdhdGlvbiBjYW4gZm9yY2UgYSByZXJlbmRlciB3aGVuIGVsbGlwc2lzIGVsZW1lbnRzIG5lZWQgdG8gYmUgZGlzcGxheWVkOyB0aGUgZm9jdXMgbXVzdCBzdGF5IG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQuICovXG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cykge1xuICAgICAgY29uc3QgZm9jdXNFbGVtZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZChcbiAgICAgICAgKGUpID0+IHRoaXMucGFnZUluZGV4ID09PSArZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnKSEsXG4gICAgICApO1xuICAgICAgaWYgKGZvY3VzRWxlbWVudCkge1xuICAgICAgICAoZm9jdXNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGRpc3BsYXllZCBwYWdlIGVsZW1lbnRzLiAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXMoKTogRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbScpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIHBhZ2VzIHNldCBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHJ1bGVzOlxuICAgKiAgLSB0aGUgZmlyc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSB0aGUgbGFzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gYE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEYCBvdGhlciBwYWdlcywgZWxsaXBzaXMgYnV0dG9uIG11c3QgYmUgdXNlZC5cbiAgICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlc0luZGV4KCk6IChudW1iZXIgfCAnZWxsaXBzaXMnKVtdIHtcbiAgICBjb25zdCB0b3RhbFBhZ2VzOiBudW1iZXIgPSB0aGlzLm51bWJlck9mUGFnZXMoKTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgPSB0aGlzLnBhZ2VJbmRleDtcblxuICAgIGlmICh0b3RhbFBhZ2VzIDw9IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMikge1xuICAgICAgcmV0dXJuIHRoaXMuX3JhbmdlKHRvdGFsUGFnZXMpO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA8IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSksICdlbGxpcHNpcycsIHRvdGFsUGFnZXMgLSAxXTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdG90YWxQYWdlcyAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICAuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEsIHRvdGFsUGFnZXMgLSAxIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCAtIDEsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXgsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggKyAxLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICB0b3RhbFBhZ2VzIC0gMSxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqIENyZWF0ZXMgYW4gYXJyYXkgb2YgY29uc2VjdXRpdmUgbnVtYmVycyBnaXZlbiB0aGUgbGVuZ3RoIGFuZCB0aGUgc3RhcnRpbmcgdmFsdWUuICovXG4gIHByaXZhdGUgX3JhbmdlKGxlbmd0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciA9IDApOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgKF8sIGspID0+IGsgKyBvZmZzZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25QYWdlTnVtYmVyQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0UGFnZShpbmRleCk7XG5cbiAgICAvLyBXaGVuIHRoZSBwYWdlIGlzIGNoYW5nZWQsIHRoZSBuZXcgY3VycmVudCBwYWdlIG1pZ2h0IGNoYW5nZSBpdHMgcG9zaXRpb24uXG4gICAgLy8gQWZ0ZXIgdGhlIHJlbmRlciwgd2UgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgc3RheXMgb24gdGhlIHNlbGVjdGVkIHBhZ2UuXG4gICAgdGhpcy5fbWFya0ZvckZvY3VzID0gc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemVPcHRpb25zICYmIHRoaXMucGFnZVNpemVPcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgID8gaHRtbGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS1zaXplLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICA+JHt0aGlzLmFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA6IGkxOG5JdGVtc1BlclBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX08L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c2JiLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICAgICAgICB3aWR0aD1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZSB8fCBub3RoaW5nfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2JiLXNlbGVjdFxuICAgICAgICAgICAgICAgIGlkPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgIHZhbHVlPSR7dGhpcy5wYWdlU2l6ZU9wdGlvbnM/LmZpbmQoKGUpID0+IGUgPT09IHRoaXMucGFnZVNpemUpID8/XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhWzBdfVxuICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHsoZTogRXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICAodGhpcy5wYWdlU2l6ZSA9ICsoKGUudGFyZ2V0IGFzIFNiYlNlbGVjdEVsZW1lbnQpLnZhbHVlIGFzIHN0cmluZykpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyEsXG4gICAgICAgICAgICAgICAgICAoZWxlbWVudCkgPT4gaHRtbGA8c2JiLW9wdGlvbiB2YWx1ZT0ke2VsZW1lbnR9PiR7ZWxlbWVudH08L3NiYi1vcHRpb24+YCxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3NiYi1zZWxlY3Q+XG4gICAgICAgICAgICA8L3NiYi1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgXG4gICAgICA6IG5vdGhpbmc7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJQYWdlTnVtYmVycygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8dWwgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiPlxuICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICB0aGlzLl9nZXRWaXNpYmxlUGFnZXNJbmRleCgpLFxuICAgICAgICAgIChpdGVtOiBudW1iZXIgfCAnZWxsaXBzaXMnKTogVGVtcGxhdGVSZXN1bHQgPT5cbiAgICAgICAgICAgIGl0ZW0gPT09ICdlbGxpcHNpcydcbiAgICAgICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpcy1pdGVtXCI+4oCmPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgIDogaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgP2RhdGEtc2VsZWN0ZWQ9JHt0aGlzLnBhZ2VJbmRleCA9PT0gaXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaW5kZXg9JHtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIke3RoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHtpdGVtICsgMX1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtID8gJ3RydWUnIDogbm90aGluZ31cbiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9vblBhZ2VOdW1iZXJDbGljayhpdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0tbGFiZWxcIj4ke2l0ZW0gKyAxfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICl9XG4gICAgICA8L3VsPlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGFnaW5hdG9yXCI+XG4gICAgICAgICR7XG4gICAgICAgICAgdGhpcy5wYWdlclBvc2l0aW9uID09PSAnc3RhcnQnXG4gICAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfSAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfWBcbiAgICAgICAgICAgIDogaHRtbGAke3RoaXMuX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9ICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICB9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBhZ2luYXRvcic6IFNiYlBhZ2luYXRvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDMEJBLElBQU0sNkJBQTZCOzs7O0lBS3RCLDZCQUFtQjttQkFBUywrQkFBK0IsV0FBVzs7Ozs7Ozs7OztjQUF0RSw0QkFBNEIsWUFBMEM7OztBQVNqRSxTQUFBLG1DQUFBLGtCQUFBLE1BQUEsK0JBQTRCLEVBQUUsQ0FBQTtBQU1xQyxTQUFBLGtDQUFBLGtCQUFBLE1BQUEsbUNBQUEsRUFBQSxrQkFBQSxNQUFBLDZCQUV2RSxRQUFPO0FBUUgsU0FBQSxtREFBQSxrQkFBQSxNQUFBLGlDQUFBLEVBQUEsa0JBQUEsTUFBQSw4Q0FBeUMsR0FBRTtBQUVuRCxRQUFBLGlCQUFhLGtCQUFBLE1BQUEsa0RBQUEsRUFBRzs7OztrQ0FuQnZCLFNBQVM7SUFBRSxXQUFXO0lBQXFCLE1BQU07SUFBTyxDQUFDLENBQUE7Z0NBT3pELFNBQVM7SUFBRSxXQUFXO0lBQWtCLFNBQVM7SUFBTSxD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