@sbb-esta/lyne-elements 2.3.0 → 2.5.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 (428) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +1 -0
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  3. package/autocomplete/autocomplete.d.ts.map +1 -1
  4. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid.js +0 -1
  6. package/autocomplete.js +28 -28
  7. package/button/common/button-common.d.ts +1 -2
  8. package/button/common/button-common.d.ts.map +1 -1
  9. package/button/common.js +4 -4
  10. package/calendar/calendar.d.ts +55 -11
  11. package/calendar/calendar.d.ts.map +1 -1
  12. package/calendar.js +374 -224
  13. package/card/common/card-action-common.d.ts.map +1 -1
  14. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  15. package/checkbox/checkbox-group.js +1 -1
  16. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  17. package/clock/clock.d.ts +8 -0
  18. package/clock/clock.d.ts.map +1 -1
  19. package/clock.js +40 -31
  20. package/core/a11y/focus.d.ts.map +1 -1
  21. package/core/base-elements.js +36 -36
  22. package/core/controllers/escapable-overlay-controller.d.ts +11 -0
  23. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -0
  24. package/core/controllers/inert-controller.d.ts +3 -3
  25. package/core/controllers/inert-controller.d.ts.map +1 -1
  26. package/core/controllers.d.ts +1 -0
  27. package/core/controllers.d.ts.map +1 -1
  28. package/core/controllers.js +79 -52
  29. package/core/datetime/date-adapter.d.ts +4 -2
  30. package/core/datetime/date-adapter.d.ts.map +1 -1
  31. package/core/datetime/native-date-adapter.d.ts +1 -1
  32. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  33. package/core/datetime.js +51 -43
  34. package/core/decorators/date-converter.d.ts +8 -0
  35. package/core/decorators/date-converter.d.ts.map +1 -0
  36. package/core/decorators/date-only-type.d.ts +8 -0
  37. package/core/decorators/date-only-type.d.ts.map +1 -0
  38. package/core/decorators/force-type.d.ts +1 -1
  39. package/core/decorators/force-type.d.ts.map +1 -1
  40. package/core/decorators/get-override.d.ts.map +1 -1
  41. package/core/decorators/handle-distinct-change.d.ts.map +1 -1
  42. package/core/decorators/host-attributes.d.ts.map +1 -1
  43. package/core/decorators/slot-state.d.ts.map +1 -1
  44. package/core/decorators.d.ts +2 -0
  45. package/core/decorators.d.ts.map +1 -1
  46. package/core/decorators.js +61 -41
  47. package/core/dom/input-element.d.ts +1 -1
  48. package/core/dom/input-element.d.ts.map +1 -1
  49. package/core/dom.js +5 -5
  50. package/core/eventing/throttle.d.ts.map +1 -1
  51. package/core/i18n/i18n.d.ts +5 -0
  52. package/core/i18n/i18n.d.ts.map +1 -1
  53. package/core/i18n.js +138 -108
  54. package/core/mixins/animation-complete-mixin.d.ts +13 -0
  55. package/core/mixins/animation-complete-mixin.d.ts.map +1 -0
  56. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  57. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  58. package/core/mixins/form-associated-input-mixin.d.ts +25 -0
  59. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -0
  60. package/core/mixins/form-associated-mixin.d.ts +13 -0
  61. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  62. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  63. package/core/mixins/hydration-mixin.d.ts.map +1 -1
  64. package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  65. package/core/mixins/negative-mixin.d.ts.map +1 -1
  66. package/core/mixins/panel-mixin.d.ts.map +1 -1
  67. package/core/mixins/required-mixin.d.ts.map +1 -1
  68. package/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
  69. package/core/mixins.d.ts +2 -0
  70. package/core/mixins.d.ts.map +1 -1
  71. package/core/mixins.js +566 -341
  72. package/core/styles/core.scss +84 -1
  73. package/core/styles/mixins/link.scss +14 -0
  74. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +3 -0
  75. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +4 -1
  76. package/core/testing/mocha-extensions.d.ts.map +1 -1
  77. package/core/testing/wait-for-render.d.ts.map +1 -1
  78. package/core.css +53 -3
  79. package/custom-elements.json +37278 -30220
  80. package/date-input/date-input.d.ts +75 -0
  81. package/date-input/date-input.d.ts.map +1 -0
  82. package/date-input.d.ts +2 -0
  83. package/date-input.d.ts.map +1 -0
  84. package/date-input.js +155 -0
  85. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  86. package/datepicker/common.js +49 -45
  87. package/datepicker/datepicker/datepicker.d.ts +16 -6
  88. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  89. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  90. package/datepicker/datepicker-toggle.js +41 -38
  91. package/datepicker/datepicker.js +95 -77
  92. package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
  93. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  94. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  95. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  96. package/development/autocomplete-grid/autocomplete-grid.js +1 -2
  97. package/development/autocomplete.js +9 -4
  98. package/development/button/common/button-common.d.ts +1 -2
  99. package/development/button/common/button-common.d.ts.map +1 -1
  100. package/development/button/common.js +26 -24
  101. package/development/calendar/calendar.d.ts +55 -11
  102. package/development/calendar/calendar.d.ts.map +1 -1
  103. package/development/calendar.js +301 -87
  104. package/development/card/common/card-action-common.d.ts.map +1 -1
  105. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  106. package/development/checkbox/checkbox-group.js +2 -2
  107. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  108. package/development/clock/clock.d.ts +8 -0
  109. package/development/clock/clock.d.ts.map +1 -1
  110. package/development/clock.js +20 -2
  111. package/development/core/a11y/focus.d.ts.map +1 -1
  112. package/development/core/a11y.js +1 -1
  113. package/development/core/base-elements.js +6 -6
  114. package/development/core/controllers/escapable-overlay-controller.d.ts +11 -0
  115. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -0
  116. package/development/core/controllers/inert-controller.d.ts +3 -3
  117. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  118. package/development/core/controllers.d.ts +1 -0
  119. package/development/core/controllers.d.ts.map +1 -1
  120. package/development/core/controllers.js +41 -7
  121. package/development/core/datetime/date-adapter.d.ts +4 -2
  122. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  123. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  124. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  125. package/development/core/datetime.js +14 -2
  126. package/development/core/decorators/date-converter.d.ts +8 -0
  127. package/development/core/decorators/date-converter.d.ts.map +1 -0
  128. package/development/core/decorators/date-only-type.d.ts +8 -0
  129. package/development/core/decorators/date-only-type.d.ts.map +1 -0
  130. package/development/core/decorators/force-type.d.ts +1 -1
  131. package/development/core/decorators/force-type.d.ts.map +1 -1
  132. package/development/core/decorators/get-override.d.ts.map +1 -1
  133. package/development/core/decorators/handle-distinct-change.d.ts.map +1 -1
  134. package/development/core/decorators/host-attributes.d.ts.map +1 -1
  135. package/development/core/decorators/slot-state.d.ts.map +1 -1
  136. package/development/core/decorators.d.ts +2 -0
  137. package/development/core/decorators.d.ts.map +1 -1
  138. package/development/core/decorators.js +27 -6
  139. package/development/core/dom/input-element.d.ts +1 -1
  140. package/development/core/dom/input-element.d.ts.map +1 -1
  141. package/development/core/dom.js +3 -3
  142. package/development/core/eventing/throttle.d.ts.map +1 -1
  143. package/development/core/i18n/i18n.d.ts +5 -0
  144. package/development/core/i18n/i18n.d.ts.map +1 -1
  145. package/development/core/i18n.js +36 -1
  146. package/development/core/mixins/animation-complete-mixin.d.ts +13 -0
  147. package/development/core/mixins/animation-complete-mixin.d.ts.map +1 -0
  148. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  149. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  150. package/development/core/mixins/form-associated-input-mixin.d.ts +25 -0
  151. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -0
  152. package/development/core/mixins/form-associated-mixin.d.ts +13 -0
  153. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  154. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  155. package/development/core/mixins/hydration-mixin.d.ts.map +1 -1
  156. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  157. package/development/core/mixins/negative-mixin.d.ts.map +1 -1
  158. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  159. package/development/core/mixins/required-mixin.d.ts.map +1 -1
  160. package/development/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
  161. package/development/core/mixins.d.ts +2 -0
  162. package/development/core/mixins.d.ts.map +1 -1
  163. package/development/core/mixins.js +428 -88
  164. package/development/core/testing/mocha-extensions.d.ts.map +1 -1
  165. package/development/core/testing/wait-for-render.d.ts.map +1 -1
  166. package/development/date-input/date-input.d.ts +75 -0
  167. package/development/date-input/date-input.d.ts.map +1 -0
  168. package/development/date-input.d.ts +2 -0
  169. package/development/date-input.d.ts.map +1 -0
  170. package/development/date-input.js +267 -0
  171. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  172. package/development/datepicker/common.js +11 -2
  173. package/development/datepicker/datepicker/datepicker.d.ts +16 -6
  174. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  175. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  176. package/development/datepicker/datepicker-toggle.js +12 -3
  177. package/development/datepicker/datepicker.js +66 -39
  178. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  179. package/development/dialog/dialog-title/dialog-title.d.ts +3 -1
  180. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  181. package/development/dialog/dialog-title.js +7 -2
  182. package/development/dialog/dialog.js +3 -1
  183. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  184. package/development/expansion-panel/expansion-panel.js +2 -2
  185. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  186. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  187. package/development/flip-card/flip-card-details.js +5 -3
  188. package/development/form-field/form-field/form-field.d.ts +1 -1
  189. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  190. package/development/form-field/form-field.js +19 -13
  191. package/development/header/common/header-action-common.d.ts.map +1 -1
  192. package/development/header/common.js +2 -2
  193. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  194. package/development/icon/icon-request.d.ts.map +1 -1
  195. package/development/icon/icon-validate.d.ts.map +1 -1
  196. package/development/link/common/block-link-common.d.ts.map +1 -1
  197. package/development/link/common/inline-link-common.d.ts.map +1 -1
  198. package/development/link/common/link-common.d.ts.map +1 -1
  199. package/development/link/common.js +13 -1
  200. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  201. package/development/menu/menu/menu.d.ts +1 -1
  202. package/development/menu/menu/menu.d.ts.map +1 -1
  203. package/development/menu/menu.js +8 -15
  204. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  205. package/development/navigation/navigation/navigation.d.ts +1 -3
  206. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  207. package/development/navigation/navigation.js +11 -21
  208. package/development/overlay/overlay-base-element.d.ts +2 -2
  209. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  210. package/development/overlay/overlay.d.ts.map +1 -1
  211. package/development/overlay.js +9 -13
  212. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  213. package/development/popover/popover/popover.d.ts +1 -1
  214. package/development/popover/popover/popover.d.ts.map +1 -1
  215. package/development/popover/popover.js +5 -15
  216. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  217. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  218. package/development/radio-button/radio-button-group.js +2 -2
  219. package/development/sbb-tokens-CSAKTXUi.js +1 -1
  220. package/development/select/select.d.ts +3 -1
  221. package/development/select/select.d.ts.map +1 -1
  222. package/development/select.js +12 -8
  223. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  224. package/development/selection-expansion-panel.js +2 -2
  225. package/development/sidebar/common.d.ts +1 -0
  226. package/development/sidebar/common.d.ts.map +1 -0
  227. package/development/sidebar/common.js +114 -0
  228. package/development/sidebar/icon-sidebar/icon-sidebar.d.ts +23 -0
  229. package/development/sidebar/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  230. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts +19 -0
  231. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts.map +1 -0
  232. package/development/sidebar/icon-sidebar-button.d.ts +2 -0
  233. package/development/sidebar/icon-sidebar-button.d.ts.map +1 -0
  234. package/development/sidebar/icon-sidebar-button.js +28 -0
  235. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts +23 -0
  236. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts.map +1 -0
  237. package/development/sidebar/icon-sidebar-container.d.ts +2 -0
  238. package/development/sidebar/icon-sidebar-container.d.ts.map +1 -0
  239. package/development/sidebar/icon-sidebar-container.js +45 -0
  240. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts +17 -0
  241. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts.map +1 -0
  242. package/development/sidebar/icon-sidebar-content.d.ts +2 -0
  243. package/development/sidebar/icon-sidebar-content.d.ts.map +1 -0
  244. package/development/sidebar/icon-sidebar-content.js +34 -0
  245. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts +19 -0
  246. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts.map +1 -0
  247. package/development/sidebar/icon-sidebar-link.d.ts +2 -0
  248. package/development/sidebar/icon-sidebar-link.d.ts.map +1 -0
  249. package/development/sidebar/icon-sidebar-link.js +28 -0
  250. package/development/sidebar/icon-sidebar.d.ts +2 -0
  251. package/development/sidebar/icon-sidebar.d.ts.map +1 -0
  252. package/development/sidebar/icon-sidebar.js +85 -0
  253. package/development/sidebar/sidebar/sidebar.d.ts +76 -0
  254. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -0
  255. package/development/sidebar/sidebar-close-button/sidebar-close-button.d.ts +22 -0
  256. package/development/sidebar/sidebar-close-button/sidebar-close-button.d.ts.map +1 -0
  257. package/development/sidebar/sidebar-close-button.d.ts +2 -0
  258. package/development/sidebar/sidebar-close-button.d.ts.map +1 -0
  259. package/development/sidebar/sidebar-close-button.js +55 -0
  260. package/development/sidebar/sidebar-container/sidebar-container.d.ts +34 -0
  261. package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -0
  262. package/development/sidebar/sidebar-container.d.ts +2 -0
  263. package/development/sidebar/sidebar-container.d.ts.map +1 -0
  264. package/development/sidebar/sidebar-container.js +153 -0
  265. package/development/sidebar/sidebar-content/sidebar-content.d.ts +18 -0
  266. package/development/sidebar/sidebar-content/sidebar-content.d.ts.map +1 -0
  267. package/development/sidebar/sidebar-content.d.ts +2 -0
  268. package/development/sidebar/sidebar-content.d.ts.map +1 -0
  269. package/development/sidebar/sidebar-content.js +37 -0
  270. package/development/sidebar/sidebar-title/sidebar-title.d.ts +17 -0
  271. package/development/sidebar/sidebar-title/sidebar-title.d.ts.map +1 -0
  272. package/development/sidebar/sidebar-title.d.ts +2 -0
  273. package/development/sidebar/sidebar-title.d.ts.map +1 -0
  274. package/development/sidebar/sidebar-title.js +63 -0
  275. package/development/sidebar/sidebar.d.ts +2 -0
  276. package/development/sidebar/sidebar.d.ts.map +1 -0
  277. package/development/sidebar/sidebar.js +523 -0
  278. package/development/sidebar.d.ts +12 -0
  279. package/development/sidebar.d.ts.map +1 -0
  280. package/development/sidebar.js +12 -0
  281. package/development/stepper/step/step.d.ts +0 -2
  282. package/development/stepper/step/step.d.ts.map +1 -1
  283. package/development/stepper/step.js +19 -23
  284. package/development/stepper/stepper/stepper.d.ts +11 -0
  285. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  286. package/development/stepper/stepper.js +30 -3
  287. package/development/tag/tag/tag.d.ts +11 -0
  288. package/development/tag/tag/tag.d.ts.map +1 -1
  289. package/development/tag/tag-group/tag-group.d.ts +1 -1
  290. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  291. package/development/tag/tag-group.js +9 -3
  292. package/development/tag/tag.js +37 -10
  293. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  294. package/development/time-input/time-input.d.ts +3 -2
  295. package/development/time-input/time-input.d.ts.map +1 -1
  296. package/development/time-input.js +19 -10
  297. package/development/title/title-base.d.ts +2 -4
  298. package/development/title/title-base.d.ts.map +1 -1
  299. package/development/title/title.d.ts +3 -1
  300. package/development/title/title.d.ts.map +1 -1
  301. package/development/title.js +8 -8
  302. package/dialog/dialog/dialog.d.ts.map +1 -1
  303. package/dialog/dialog-title/dialog-title.d.ts +3 -1
  304. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  305. package/dialog/dialog-title.js +16 -15
  306. package/dialog/dialog.js +2 -2
  307. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  308. package/expansion-panel/expansion-panel.js +1 -1
  309. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  310. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  311. package/flip-card/flip-card-details.js +14 -13
  312. package/form-field/form-field/form-field.d.ts +1 -1
  313. package/form-field/form-field/form-field.d.ts.map +1 -1
  314. package/form-field/form-field.js +30 -24
  315. package/header/common/header-action-common.d.ts.map +1 -1
  316. package/header/common.js +6 -6
  317. package/icon/icon-name-mixin.d.ts.map +1 -1
  318. package/icon/icon-request.d.ts.map +1 -1
  319. package/icon/icon-validate.d.ts.map +1 -1
  320. package/index.d.ts +22 -0
  321. package/index.js +22 -0
  322. package/link/common/block-link-common.d.ts.map +1 -1
  323. package/link/common/inline-link-common.d.ts.map +1 -1
  324. package/link/common/link-common.d.ts.map +1 -1
  325. package/link/common.js +12 -12
  326. package/menu/common/menu-action-common.d.ts.map +1 -1
  327. package/menu/menu/menu.d.ts +1 -1
  328. package/menu/menu/menu.d.ts.map +1 -1
  329. package/menu/menu.js +26 -35
  330. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  331. package/navigation/navigation/navigation.d.ts +1 -3
  332. package/navigation/navigation/navigation.d.ts.map +1 -1
  333. package/navigation/navigation.js +47 -56
  334. package/overlay/overlay-base-element.d.ts +2 -2
  335. package/overlay/overlay-base-element.d.ts.map +1 -1
  336. package/overlay/overlay.d.ts.map +1 -1
  337. package/overlay.js +58 -64
  338. package/package.json +66 -1
  339. package/paginator/common/paginator-common.d.ts.map +1 -1
  340. package/popover/popover/popover.d.ts +1 -1
  341. package/popover/popover/popover.d.ts.map +1 -1
  342. package/popover/popover.js +101 -110
  343. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  344. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  345. package/radio-button/radio-button-group.js +1 -1
  346. package/select/select.d.ts +3 -1
  347. package/select/select.d.ts.map +1 -1
  348. package/select.js +39 -37
  349. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  350. package/selection-expansion-panel.js +1 -1
  351. package/sidebar/common.d.ts +1 -0
  352. package/sidebar/common.d.ts.map +1 -0
  353. package/sidebar/common.js +7 -0
  354. package/sidebar/icon-sidebar/icon-sidebar.d.ts +23 -0
  355. package/sidebar/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  356. package/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts +19 -0
  357. package/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts.map +1 -0
  358. package/sidebar/icon-sidebar-button.d.ts +2 -0
  359. package/sidebar/icon-sidebar-button.d.ts.map +1 -0
  360. package/sidebar/icon-sidebar-button.js +20 -0
  361. package/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts +23 -0
  362. package/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts.map +1 -0
  363. package/sidebar/icon-sidebar-container.d.ts +2 -0
  364. package/sidebar/icon-sidebar-container.d.ts.map +1 -0
  365. package/sidebar/icon-sidebar-container.js +35 -0
  366. package/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts +17 -0
  367. package/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts.map +1 -0
  368. package/sidebar/icon-sidebar-content.d.ts +2 -0
  369. package/sidebar/icon-sidebar-content.d.ts.map +1 -0
  370. package/sidebar/icon-sidebar-content.js +23 -0
  371. package/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts +19 -0
  372. package/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts.map +1 -0
  373. package/sidebar/icon-sidebar-link.d.ts +2 -0
  374. package/sidebar/icon-sidebar-link.d.ts.map +1 -0
  375. package/sidebar/icon-sidebar-link.js +20 -0
  376. package/sidebar/icon-sidebar.d.ts +2 -0
  377. package/sidebar/icon-sidebar.d.ts.map +1 -0
  378. package/sidebar/icon-sidebar.js +47 -0
  379. package/sidebar/sidebar/sidebar.d.ts +76 -0
  380. package/sidebar/sidebar/sidebar.d.ts.map +1 -0
  381. package/sidebar/sidebar-close-button/sidebar-close-button.d.ts +22 -0
  382. package/sidebar/sidebar-close-button/sidebar-close-button.d.ts.map +1 -0
  383. package/sidebar/sidebar-close-button.d.ts +2 -0
  384. package/sidebar/sidebar-close-button.d.ts.map +1 -0
  385. package/sidebar/sidebar-close-button.js +29 -0
  386. package/sidebar/sidebar-container/sidebar-container.d.ts +34 -0
  387. package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -0
  388. package/sidebar/sidebar-container.d.ts +2 -0
  389. package/sidebar/sidebar-container.d.ts.map +1 -0
  390. package/sidebar/sidebar-container.js +78 -0
  391. package/sidebar/sidebar-content/sidebar-content.d.ts +18 -0
  392. package/sidebar/sidebar-content/sidebar-content.d.ts.map +1 -0
  393. package/sidebar/sidebar-content.d.ts +2 -0
  394. package/sidebar/sidebar-content.d.ts.map +1 -0
  395. package/sidebar/sidebar-content.js +23 -0
  396. package/sidebar/sidebar-title/sidebar-title.d.ts +17 -0
  397. package/sidebar/sidebar-title/sidebar-title.d.ts.map +1 -0
  398. package/sidebar/sidebar-title.d.ts +2 -0
  399. package/sidebar/sidebar-title.d.ts.map +1 -0
  400. package/sidebar/sidebar-title.js +37 -0
  401. package/sidebar/sidebar.d.ts +2 -0
  402. package/sidebar/sidebar.d.ts.map +1 -0
  403. package/sidebar/sidebar.js +214 -0
  404. package/sidebar.d.ts +12 -0
  405. package/sidebar.d.ts.map +1 -0
  406. package/sidebar.js +11 -0
  407. package/standard-theme.css +53 -3
  408. package/stepper/step/step.d.ts +0 -2
  409. package/stepper/step/step.d.ts.map +1 -1
  410. package/stepper/step.js +23 -35
  411. package/stepper/stepper/stepper.d.ts +11 -0
  412. package/stepper/stepper/stepper.d.ts.map +1 -1
  413. package/stepper/stepper.js +59 -41
  414. package/tag/tag/tag.d.ts +11 -0
  415. package/tag/tag/tag.d.ts.map +1 -1
  416. package/tag/tag-group/tag-group.d.ts +1 -1
  417. package/tag/tag-group/tag-group.d.ts.map +1 -1
  418. package/tag/tag-group.js +32 -29
  419. package/tag/tag.js +60 -41
  420. package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  421. package/time-input/time-input.d.ts +3 -2
  422. package/time-input/time-input.d.ts.map +1 -1
  423. package/time-input.js +44 -36
  424. package/title/title-base.d.ts +2 -4
  425. package/title/title-base.d.ts.map +1 -1
  426. package/title/title.d.ts +3 -1
  427. package/title/title.d.ts.map +1 -1
  428. package/title.js +11 -11
@@ -0,0 +1,63 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __esDecorate, __runInitializers } from "tslib";
9
+ import { customElement, property } from "lit/decorators.js";
10
+ import { hostAttributes } from "../core/decorators.js";
11
+ import { SbbTitleBase } from "../title.js";
12
+ import { css } from "lit";
13
+ const style = css`:host {
14
+ display: block;
15
+ }
16
+
17
+ .sbb-title {
18
+ display: flex;
19
+ hyphens: auto;
20
+ padding-block-start: calc(0.5 * (var(--sbb-sidebar__close-button-size) - var(--sbb-title-font-size) * var(--sbb-title-line-height)));
21
+ min-height: var(--sbb-sidebar__close-button-size);
22
+ margin-block: 0 !important;
23
+ }`;
24
+ let SbbSidebarTitleElement = (() => {
25
+ var _level_accessor_storage, _a;
26
+ let _classDecorators = [customElement("sbb-sidebar-title"), hostAttributes({ slot: "title-section" })];
27
+ let _classDescriptor;
28
+ let _classExtraInitializers = [];
29
+ let _classThis;
30
+ let _classSuper = SbbTitleBase;
31
+ let _level_decorators;
32
+ let _level_initializers = [];
33
+ let _level_extraInitializers = [];
34
+ _a = class extends _classSuper {
35
+ constructor() {
36
+ super();
37
+ __privateAdd(this, _level_accessor_storage, __runInitializers(this, _level_initializers, "2"));
38
+ __runInitializers(this, _level_extraInitializers);
39
+ this.visualLevel ?? (this.visualLevel = "5");
40
+ }
41
+ /** Title level */
42
+ get level() {
43
+ return __privateGet(this, _level_accessor_storage);
44
+ }
45
+ set level(value) {
46
+ __privateSet(this, _level_accessor_storage, value);
47
+ }
48
+ }, _level_accessor_storage = new WeakMap(), _classThis = _a, (() => {
49
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
50
+ _level_decorators = [property({ reflect: true })];
51
+ __esDecorate(_a, null, _level_decorators, { kind: "accessor", name: "level", static: false, private: false, access: { has: (obj) => "level" in obj, get: (obj) => obj.level, set: (obj, value) => {
52
+ obj.level = value;
53
+ } }, metadata: _metadata }, _level_initializers, _level_extraInitializers);
54
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
55
+ _classThis = _classDescriptor.value;
56
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
57
+ })(), _a.styles = [SbbTitleBase.styles, style], __runInitializers(_classThis, _classExtraInitializers), _a;
58
+ return _classThis;
59
+ })();
60
+ export {
61
+ SbbSidebarTitleElement
62
+ };
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci10aXRsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci10aXRsZS9zaWRlYmFyLXRpdGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYlRpdGxlQmFzZSwgdHlwZSBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zaWRlYmFyLXRpdGxlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgdGhlIHRpdGxlIG9mIHRoZSBzaWRlYmFyLiBJdCBoYXMgdG8gYmUgcGxhY2VkIGluc2lkZSBhbiBgc2JiLXNpZGViYXJgIGVsZW1lbnQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zaWRlYmFyLXRpdGxlJylcbkBob3N0QXR0cmlidXRlcyh7IHNsb3Q6ICd0aXRsZS1zZWN0aW9uJyB9KVxuY2xhc3MgU2JiU2lkZWJhclRpdGxlRWxlbWVudCBleHRlbmRzIFNiYlRpdGxlQmFzZSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtTYmJUaXRsZUJhc2Uuc3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqIFRpdGxlIGxldmVsICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG92ZXJyaWRlIGFjY2Vzc29yIGxldmVsOiBTYmJUaXRsZUxldmVsID0gJzInO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudmlzdWFsTGV2ZWwgPz89ICc1JztcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXItdGl0bGUnOiBTYmJTaWRlYmFyVGl0bGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFjTSwwQkFBc0IsTUFBQTs7MEJBRjNCLGNBQWMsbUJBQW1CLEdBQ2pDLGVBQWUsRUFBRSxNQUFNLGdCQUFlLENBQUUsQ0FBQzs7OztvQkFDTDs7OztBQUFSLEVBQUEsbUJBQVEsWUFBWTtBQUFBLElBTS9DLGNBQUE7O0FBRjZCLGtEQUFBLGtCQUFBLE1BQUEscUJBQWdELEdBQUc7O0FBSTlFLFdBQUssZ0JBQUwsS0FBSyxjQUFnQjtBQUFBLElBQUE7QUFBQTtBQUFBLElBSk0sSUFBeUIsUUFBMkI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBELElBQXlCLE1BQTJCLE9BQUE7QUFBQSx5QkFBQSx5QkFBQTtBQUFBLElBQUE7QUFBQSxLQUFwRDs7QUFBNUIsd0JBQUEsQ0FBQSxTQUFTLEVBQUUsU0FBUyxLQUFNLENBQUEsQ0FBQztBQUEwQixpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLE9BQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsUUFBMkI7QUFBQSxTQUFBLFVBQUEsYUFBQSxxQkFBQSx3QkFBQTtBQUpuRixpQkFVQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBVHdCLEdBQU0sU0FBbUIsQ0FBQyxhQUFhLFFBQVEsS0FBSyxHQUR2RSxrQkFBc0IsWUFBQSx1QkFBQSxHQUFDOzs7In0=
@@ -0,0 +1,2 @@
1
+ export * from './sidebar/sidebar.js';
2
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../src/elements/sidebar/sidebar.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,523 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __esDecorate, __runInitializers } from "tslib";
9
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
10
+ import { css, isServer, html } from "lit";
11
+ import { customElement, property, eventOptions } from "lit/decorators.js";
12
+ import { SbbFocusHandler, setModalityOnNextFocus, getFirstFocusableElement } from "../core/a11y.js";
13
+ import { SbbOpenCloseBaseElement } from "../core/base-elements.js";
14
+ import { SbbInertController, SbbEscapableOverlayController } from "../core/controllers.js";
15
+ import { forceType, handleDistinctChange } from "../core/decorators.js";
16
+ import { isZeroAnimationDuration } from "../core/dom.js";
17
+ import { SbbAnimationCompleteMixin } from "../core/mixins.js";
18
+ import { isEventOnElement } from "../core/overlay.js";
19
+ const style = css`*,
20
+ ::before,
21
+ ::after {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ :host {
26
+ display: block;
27
+ width: 20rem;
28
+ --sbb-link-text-decoration: none;
29
+ --sbb-sidebar-background-color: var(--sbb-color-white);
30
+ --sbb-sidebar-title-padding-block: var(--sbb-spacing-fixed-3x);
31
+ --sbb-sidebar-padding: var(--sbb-spacing-responsive-xs);
32
+ --sbb-sidebar-scrollbar-placeholder-width: var(--sbb-spacing-fixed-3x);
33
+ --sbb-sidebar-border-radius: var(--sbb-border-radius-8x);
34
+ --sbb-sidebar-margin: var(--sbb-spacing-fixed-3x);
35
+ --sbb-sidebar-title-gap: var(--sbb-spacing-fixed-2x);
36
+ --sbb-sidebar__margin: 0;
37
+ --sbb-sidebar__margin-block-start: var(--sbb-sidebar-margin);
38
+ --sbb-sidebar__translate-x: -100%;
39
+ --sbb-sidebar__z-index: 2;
40
+ --sbb-sidebar__padding-inline-end: var(--sbb-sidebar-padding);
41
+ --sbb-sidebar__padding-block-start: var(--sbb-sidebar-padding);
42
+ --sbb-sidebar__border-radius-start: var(--sbb-sidebar-border-radius);
43
+ --sbb-sidebar__border-radius-end: 0;
44
+ --sbb-sidebar__close-button-size: var(--sbb-size-element-xs);
45
+ }
46
+ @supports (scrollbar-gutter: stable) {
47
+ :host {
48
+ --sbb-sidebar__padding-inline-end: calc(
49
+ var(--sbb-sidebar-padding) - var(--sbb-sidebar-scrollbar-placeholder-width)
50
+ );
51
+ }
52
+ }
53
+
54
+ :host([color=milk]) {
55
+ --sbb-sidebar-background-color: var(--sbb-color-milk);
56
+ }
57
+
58
+ :host(:is([mode=over], [data-mode-over-forced]:not([data-mode-over-forced-closing]))) {
59
+ --sbb-sidebar__margin: var(--sbb-sidebar-margin);
60
+ --sbb-sidebar__border-radius-end: var(--sbb-sidebar-border-radius);
61
+ --sbb-sidebar__z-index: 3;
62
+ }
63
+
64
+ :host(:is(:dir(rtl), [position=end])) {
65
+ --sbb-sidebar__translate-x: 100%;
66
+ }
67
+
68
+ :host(:dir(rtl)[position=end]) {
69
+ --sbb-sidebar__translate-x: -100%;
70
+ }
71
+
72
+ .sbb-sidebar {
73
+ width: inherit;
74
+ max-width: calc(100% - 2 * var(--sbb-sidebar__margin));
75
+ background-color: var(--sbb-sidebar-background-color);
76
+ display: flex;
77
+ flex-direction: column;
78
+ position: absolute;
79
+ overflow: hidden;
80
+ inset-block: 0;
81
+ z-index: var(--sbb-sidebar__z-index);
82
+ border-start-start-radius: var(--sbb-sidebar__border-radius-start);
83
+ border-start-end-radius: var(--sbb-sidebar__border-radius-start);
84
+ border-end-start-radius: var(--sbb-sidebar__border-radius-end);
85
+ border-end-end-radius: var(--sbb-sidebar__border-radius-end);
86
+ margin: var(--sbb-sidebar__margin);
87
+ margin-block-start: var(--sbb-sidebar__margin-block-start);
88
+ transition-duration: var(--sbb-sidebar-container-animation-duration);
89
+ transition-timing-function: var(--sbb-sidebar-container-animation-easing);
90
+ transition-property: width, translate;
91
+ translate: none;
92
+ }
93
+ :host([position=end]) .sbb-sidebar {
94
+ inset-inline-end: 0;
95
+ }
96
+ :host([data-state=closed]) .sbb-sidebar {
97
+ visibility: hidden;
98
+ }
99
+ :host(:is([data-state=closing], [data-state=closed])) .sbb-sidebar {
100
+ translate: var(--sbb-sidebar__translate-x) 0;
101
+ }
102
+
103
+ .sbb-sidebar-title-section {
104
+ display: flex;
105
+ width: 100%;
106
+ gap: var(--sbb-sidebar-title-gap);
107
+ background-color: var(--sbb-sidebar-background-color);
108
+ padding-inline: var(--sbb-sidebar-padding);
109
+ transition: box-shadow var(--sbb-animation-easing) var(--sbb-sidebar-container-animation-duration);
110
+ box-shadow: none;
111
+ }
112
+ :host([data-scrolled]) .sbb-sidebar-title-section {
113
+ box-shadow: var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-soft-2-color), var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-soft-1-color);
114
+ }
115
+
116
+ .sbb-sidebar-content-section {
117
+ --sbb-scrollbar-thumb-width: 0.125rem;
118
+ --sbb-scrollbar-thumb-width-hover: 0.25rem;
119
+ --sbb-scrollbar-width-firefox: thin;
120
+ --sbb-scrollbar-color: var(--sbb-color-black-alpha-30);
121
+ --sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);
122
+ --sbb-scrollbar-track-color: transparent;
123
+ --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
124
+ }
125
+ .sbb-sidebar-content-section::-webkit-scrollbar {
126
+ width: var(--sbb-scrollbar-width);
127
+ height: var(--sbb-scrollbar-width);
128
+ background-color: var(--sbb-scrollbar-track-color, transparent);
129
+ }
130
+ .sbb-sidebar-content-section::-webkit-scrollbar-corner {
131
+ background-color: var(--sbb-scrollbar-track-color, transparent);
132
+ }
133
+ .sbb-sidebar-content-section::-webkit-scrollbar-thumb {
134
+ background-color: var(--sbb-scrollbar-color, currentcolor);
135
+ border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;
136
+ border-radius: var(--sbb-border-radius-4x);
137
+ background-clip: padding-box;
138
+ }
139
+ .sbb-sidebar-content-section::-webkit-scrollbar-thumb:hover {
140
+ background-color: var(--sbb-scrollbar-color-hover, currentcolor);
141
+ border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));
142
+ }
143
+ .sbb-sidebar-content-section::-webkit-scrollbar-button, .sbb-sidebar-content-section::-webkit-scrollbar-corner {
144
+ display: none;
145
+ }
146
+ @supports not selector(::-webkit-scrollbar) {
147
+ .sbb-sidebar-content-section {
148
+ scrollbar-width: var(--sbb-scrollbar-width-firefox);
149
+ scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);
150
+ }
151
+ }
152
+ .sbb-sidebar-content-section {
153
+ padding-block-start: var(--sbb-sidebar__padding-block-start);
154
+ padding-inline: var(--sbb-sidebar-padding) var(--sbb-sidebar__padding-inline-end);
155
+ overflow-y: auto;
156
+ flex-grow: 1;
157
+ outline-color: var(--sbb-focus-outline-color);
158
+ }
159
+ @supports (scrollbar-gutter: stable) {
160
+ .sbb-sidebar-content-section {
161
+ scrollbar-gutter: stable;
162
+ }
163
+ }
164
+
165
+ ::slotted(sbb-sidebar-title) {
166
+ flex-grow: 1;
167
+ padding-block: var(--sbb-sidebar-title-padding-block);
168
+ }
169
+
170
+ ::slotted(sbb-sidebar-close-button) {
171
+ order: 1;
172
+ margin-inline-end: calc(-1 * (var(--sbb-sidebar-padding) - var(--sbb-sidebar-title-padding-block)));
173
+ margin-block: var(--sbb-sidebar-title-padding-block);
174
+ inset-inline-end: var(--sbb-sidebar-padding);
175
+ }`;
176
+ let SbbSidebarElement = (() => {
177
+ var _color_accessor_storage, _mode_accessor_storage, _position_accessor_storage, _opened_accessor_storage, _focusOnOpen_accessor_storage, _a;
178
+ let _classDecorators = [customElement("sbb-sidebar")];
179
+ let _classDescriptor;
180
+ let _classExtraInitializers = [];
181
+ let _classThis;
182
+ let _classSuper = SbbAnimationCompleteMixin(SbbOpenCloseBaseElement);
183
+ let _instanceExtraInitializers = [];
184
+ let _color_decorators;
185
+ let _color_initializers = [];
186
+ let _color_extraInitializers = [];
187
+ let _mode_decorators;
188
+ let _mode_initializers = [];
189
+ let _mode_extraInitializers = [];
190
+ let _position_decorators;
191
+ let _position_initializers = [];
192
+ let _position_extraInitializers = [];
193
+ let _opened_decorators;
194
+ let _opened_initializers = [];
195
+ let _opened_extraInitializers = [];
196
+ let _focusOnOpen_decorators;
197
+ let _focusOnOpen_initializers = [];
198
+ let _focusOnOpen_extraInitializers = [];
199
+ let __detectScrolledState_decorators;
200
+ _a = class extends _classSuper {
201
+ constructor() {
202
+ var _a2;
203
+ super();
204
+ __privateAdd(this, _color_accessor_storage);
205
+ __privateAdd(this, _mode_accessor_storage);
206
+ __privateAdd(this, _position_accessor_storage);
207
+ __privateAdd(this, _opened_accessor_storage);
208
+ __privateAdd(this, _focusOnOpen_accessor_storage);
209
+ __privateSet(this, _color_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _color_initializers, "white")));
210
+ __privateSet(this, _mode_accessor_storage, (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _mode_initializers, "side")));
211
+ __privateSet(this, _position_accessor_storage, (__runInitializers(this, _mode_extraInitializers), __runInitializers(this, _position_initializers, "start")));
212
+ __privateSet(this, _opened_accessor_storage, (__runInitializers(this, _position_extraInitializers), __runInitializers(this, _opened_initializers, false)));
213
+ __privateSet(this, _focusOnOpen_accessor_storage, (__runInitializers(this, _opened_extraInitializers), __runInitializers(this, _focusOnOpen_initializers, false)));
214
+ this._container = (__runInitializers(this, _focusOnOpen_extraInitializers), null);
215
+ this._lastFocusedElement = null;
216
+ this._focusHandler = new SbbFocusHandler();
217
+ this._inertController = new SbbInertController(this);
218
+ this._escapableOverlayController = new SbbEscapableOverlayController(this);
219
+ this._isPointerDownEventOnSidebar = false;
220
+ this._pointerDownListener = (event) => {
221
+ var _a3;
222
+ this._isPointerDownEventOnSidebar = isEventOnElement((_a3 = this.shadowRoot) == null ? void 0 : _a3.firstElementChild, event);
223
+ };
224
+ this._closeOnBackdropClick = (event) => {
225
+ var _a3;
226
+ if (!this._isPointerDownEventOnSidebar && !isEventOnElement((_a3 = this.shadowRoot) == null ? void 0 : _a3.firstElementChild, event)) {
227
+ this.close();
228
+ }
229
+ };
230
+ new ResizeController(this, {
231
+ skipInitial: true,
232
+ callback: () => this._updateSidebarWidth()
233
+ });
234
+ (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "click", (e) => {
235
+ var _a3;
236
+ if (((_a3 = e.target) == null ? void 0 : _a3.localName) === "sbb-sidebar-close-button") {
237
+ this.close();
238
+ }
239
+ });
240
+ }
241
+ /** Background color of the sidebar. Either `white` or `milk`. */
242
+ get color() {
243
+ return __privateGet(this, _color_accessor_storage);
244
+ }
245
+ set color(value) {
246
+ __privateSet(this, _color_accessor_storage, value);
247
+ }
248
+ /** Mode of the sidebar; one of 'side' or 'over'. */
249
+ get mode() {
250
+ return __privateGet(this, _mode_accessor_storage);
251
+ }
252
+ set mode(value) {
253
+ __privateSet(this, _mode_accessor_storage, value);
254
+ }
255
+ /** The side that the sidebar is attached to. */
256
+ get position() {
257
+ return __privateGet(this, _position_accessor_storage);
258
+ }
259
+ set position(value) {
260
+ __privateSet(this, _position_accessor_storage, value);
261
+ }
262
+ /**
263
+ * Whether the sidebar is opened or closed.
264
+ * Can be used to initially set the opened state, where
265
+ * the animation will be skipped.
266
+ */
267
+ get opened() {
268
+ return __privateGet(this, _opened_accessor_storage);
269
+ }
270
+ set opened(value) {
271
+ __privateSet(this, _opened_accessor_storage, value);
272
+ }
273
+ /**
274
+ * Whether the sidebar should focus the first focusable element automatically when opened.
275
+ * Defaults to false in when mode is set to `side`, otherwise defaults to true.
276
+ * If explicitly enabled, focus will be moved into the sidebar in `side` mode as well.
277
+ */
278
+ get focusOnOpen() {
279
+ return __privateGet(this, _focusOnOpen_accessor_storage);
280
+ }
281
+ set focusOnOpen(value) {
282
+ __privateSet(this, _focusOnOpen_accessor_storage, value);
283
+ }
284
+ /** Returns the SbbSidebarContainerElement where this sidebar is contained. */
285
+ get container() {
286
+ return this._container;
287
+ }
288
+ connectedCallback() {
289
+ var _a2;
290
+ super.connectedCallback();
291
+ this._container = (_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-sidebar-container");
292
+ this._updateSidebarWidth();
293
+ if (this.isOpen && this._isModeOver()) {
294
+ this._takeFocus();
295
+ }
296
+ }
297
+ disconnectedCallback() {
298
+ var _a2, _b;
299
+ super.disconnectedCallback();
300
+ (_a2 = this.container) == null ? void 0 : _a2.style.removeProperty(this._buildCssWidthVar());
301
+ this._container = null;
302
+ this._focusHandler.disconnect();
303
+ (_b = this._windowEventsController) == null ? void 0 : _b.abort();
304
+ }
305
+ willUpdate(changedProperties) {
306
+ super.willUpdate(changedProperties);
307
+ if (changedProperties.has("opened")) {
308
+ if (this.opened) {
309
+ this.open();
310
+ } else if (!this.opened) {
311
+ this.close();
312
+ }
313
+ }
314
+ if (changedProperties.has("mode")) {
315
+ if (this.mode === "over" && this.isOpen) {
316
+ this._takeFocus();
317
+ } else {
318
+ this.cedeFocus();
319
+ }
320
+ }
321
+ }
322
+ firstUpdated(changedProperties) {
323
+ super.firstUpdated(changedProperties);
324
+ this._updateSidebarWidth();
325
+ }
326
+ /** Toggles the sidebar visibility. */
327
+ toggle() {
328
+ if (this.state === "opening" || this.state === "opened") {
329
+ this.close();
330
+ } else {
331
+ this.open();
332
+ }
333
+ }
334
+ /** Opens the sidebar. */
335
+ open() {
336
+ var _a2;
337
+ if (this.state === "opening" || this.state === "opened" || !this.willOpen.emit()) {
338
+ return;
339
+ }
340
+ this.startAnimation();
341
+ if (!isServer && ((_a2 = document.activeElement) == null ? void 0 : _a2.localName) !== "body") {
342
+ this._lastFocusedElement = document.activeElement;
343
+ }
344
+ this.opened = true;
345
+ const isZeroAnimationDuration2 = this._isZeroAnimationDuration() || !this.isConnected;
346
+ const isDuringInitialization = !this.hasUpdated;
347
+ if (isDuringInitialization || isZeroAnimationDuration2) {
348
+ this.toggleAttribute("data-skip-animation", true);
349
+ } else {
350
+ this.state = "opening";
351
+ return;
352
+ }
353
+ if (isDuringInitialization) {
354
+ this.updateComplete.then(() => this._handleOpening());
355
+ } else {
356
+ this._handleOpening();
357
+ }
358
+ }
359
+ _isZeroAnimationDuration() {
360
+ return isZeroAnimationDuration(this, "--sbb-sidebar-container-animation-duration");
361
+ }
362
+ _handleOpening() {
363
+ this.state = "opened";
364
+ setTimeout(() => this.toggleAttribute("data-skip-animation", false));
365
+ this._takeFocus();
366
+ this.stopAnimation();
367
+ this.didOpen.emit();
368
+ }
369
+ /** Closes the sidebar. */
370
+ close() {
371
+ if (this.state === "closing" || this.state === "closed" || !this.willClose.emit()) {
372
+ return;
373
+ }
374
+ this.startAnimation();
375
+ const isZeroAnimationDuration2 = this._isZeroAnimationDuration();
376
+ if (!this.hasUpdated || isZeroAnimationDuration2) {
377
+ this.toggleAttribute("data-skip-animation", true);
378
+ } else {
379
+ this.state = "closing";
380
+ }
381
+ this.opened = false;
382
+ if (!this.hasUpdated || isZeroAnimationDuration2) {
383
+ this._handleClosing();
384
+ }
385
+ }
386
+ _handleClosing() {
387
+ var _a2;
388
+ this.state = "closed";
389
+ setTimeout(() => this.toggleAttribute("data-skip-animation", false));
390
+ this.cedeFocus();
391
+ if (!isServer && (this.contains(document.activeElement) || this._isModeOver())) {
392
+ if (this._lastFocusedElement) {
393
+ setModalityOnNextFocus(this._lastFocusedElement);
394
+ (_a2 = this._lastFocusedElement) == null ? void 0 : _a2.focus();
395
+ } else {
396
+ document.activeElement.blur();
397
+ }
398
+ }
399
+ this._lastFocusedElement = null;
400
+ this.stopAnimation();
401
+ this.didClose.emit();
402
+ }
403
+ _takeFocus() {
404
+ if (this._inertController.isInert() || !this.isConnected) {
405
+ return;
406
+ }
407
+ const isModeOver = this._isModeOver();
408
+ if (isModeOver) {
409
+ this._inertController.activate();
410
+ this._escapableOverlayController.connect();
411
+ }
412
+ if (isModeOver || this.focusOnOpen) {
413
+ const firstFocusable = getFirstFocusableElement(Array.from(this.children).filter((e) => e instanceof window.HTMLElement));
414
+ setModalityOnNextFocus(firstFocusable);
415
+ firstFocusable == null ? void 0 : firstFocusable.focus();
416
+ }
417
+ if (isModeOver) {
418
+ this._focusHandler.trap(this);
419
+ this._attachWindowEvents();
420
+ }
421
+ }
422
+ _attachWindowEvents() {
423
+ var _a2;
424
+ (_a2 = this._windowEventsController) == null ? void 0 : _a2.abort();
425
+ this._windowEventsController = new AbortController();
426
+ window.addEventListener("pointerdown", this._pointerDownListener, {
427
+ signal: this._windowEventsController.signal
428
+ });
429
+ window.addEventListener("pointerup", this._closeOnBackdropClick, {
430
+ signal: this._windowEventsController.signal
431
+ });
432
+ }
433
+ // Internal method that we use externally. `protected` preserves type information for type safe access.
434
+ cedeFocus() {
435
+ var _a2;
436
+ if (this._inertController.isInert()) {
437
+ this._inertController.deactivate();
438
+ }
439
+ this._focusHandler.disconnect();
440
+ this._escapableOverlayController.disconnect();
441
+ (_a2 = this._windowEventsController) == null ? void 0 : _a2.abort();
442
+ }
443
+ _updateSidebarWidth(oldPosition) {
444
+ const container = this.container;
445
+ if (!container) {
446
+ return;
447
+ }
448
+ if (oldPosition) {
449
+ container.style.removeProperty(this._buildCssWidthVar(oldPosition));
450
+ }
451
+ const width = this.offsetWidth;
452
+ if (!width) {
453
+ return;
454
+ }
455
+ const newValue = `${width}px`;
456
+ const actualValue = container.style.getPropertyValue(this._buildCssWidthVar());
457
+ if (actualValue === newValue) {
458
+ return;
459
+ }
460
+ container.style.setProperty(this._buildCssWidthVar(), newValue);
461
+ }
462
+ _buildCssWidthVar(position = this.position) {
463
+ return `--sbb-sidebar-container__${position}-width`;
464
+ }
465
+ _isModeOver() {
466
+ return this.mode === "over" || this.hasAttribute("data-mode-over-forced");
467
+ }
468
+ _onTransitionEnd(event) {
469
+ if (event.propertyName !== "translate" || event.target !== event.currentTarget) {
470
+ return;
471
+ }
472
+ if (this.state === "opening") {
473
+ this._handleOpening();
474
+ } else if (this.state === "closing") {
475
+ this._handleClosing();
476
+ }
477
+ }
478
+ _detectScrolledState() {
479
+ var _a2, _b;
480
+ this.toggleAttribute("data-scrolled", (((_b = (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(".sbb-sidebar-content-section")) == null ? void 0 : _b.scrollTop) ?? 0) > 0);
481
+ }
482
+ render() {
483
+ return html`<div class="sbb-sidebar" @transitionend=${this._onTransitionEnd}>
484
+ <div class="sbb-sidebar-title-section"><slot name="title-section"></slot></div>
485
+ <div class="sbb-sidebar-content-section" @scroll=${() => this._detectScrolledState()}>
486
+ <slot></slot>
487
+ </div>
488
+ </div>`;
489
+ }
490
+ }, _color_accessor_storage = new WeakMap(), _mode_accessor_storage = new WeakMap(), _position_accessor_storage = new WeakMap(), _opened_accessor_storage = new WeakMap(), _focusOnOpen_accessor_storage = new WeakMap(), _classThis = _a, (() => {
491
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
492
+ _color_decorators = [property({ reflect: true })];
493
+ _mode_decorators = [forceType((v) => v === "over" ? "over" : "side"), property({ reflect: true })];
494
+ _position_decorators = [forceType((v) => v === "end" ? "end" : "start"), handleDistinctChange((instance, _newValue, oldValue) => instance._updateSidebarWidth(oldValue)), property({ reflect: true })];
495
+ _opened_decorators = [forceType(), property({ type: Boolean, reflect: true })];
496
+ _focusOnOpen_decorators = [forceType(), property({ type: Boolean, attribute: "focus-on-open" })];
497
+ __detectScrolledState_decorators = [eventOptions({ passive: true })];
498
+ __esDecorate(_a, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: (obj) => "color" in obj, get: (obj) => obj.color, set: (obj, value) => {
499
+ obj.color = value;
500
+ } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
501
+ __esDecorate(_a, null, _mode_decorators, { kind: "accessor", name: "mode", static: false, private: false, access: { has: (obj) => "mode" in obj, get: (obj) => obj.mode, set: (obj, value) => {
502
+ obj.mode = value;
503
+ } }, metadata: _metadata }, _mode_initializers, _mode_extraInitializers);
504
+ __esDecorate(_a, null, _position_decorators, { kind: "accessor", name: "position", static: false, private: false, access: { has: (obj) => "position" in obj, get: (obj) => obj.position, set: (obj, value) => {
505
+ obj.position = value;
506
+ } }, metadata: _metadata }, _position_initializers, _position_extraInitializers);
507
+ __esDecorate(_a, null, _opened_decorators, { kind: "accessor", name: "opened", static: false, private: false, access: { has: (obj) => "opened" in obj, get: (obj) => obj.opened, set: (obj, value) => {
508
+ obj.opened = value;
509
+ } }, metadata: _metadata }, _opened_initializers, _opened_extraInitializers);
510
+ __esDecorate(_a, null, _focusOnOpen_decorators, { kind: "accessor", name: "focusOnOpen", static: false, private: false, access: { has: (obj) => "focusOnOpen" in obj, get: (obj) => obj.focusOnOpen, set: (obj, value) => {
511
+ obj.focusOnOpen = value;
512
+ } }, metadata: _metadata }, _focusOnOpen_initializers, _focusOnOpen_extraInitializers);
513
+ __esDecorate(_a, null, __detectScrolledState_decorators, { kind: "method", name: "_detectScrolledState", static: false, private: false, access: { has: (obj) => "_detectScrolledState" in obj, get: (obj) => obj._detectScrolledState }, metadata: _metadata }, null, _instanceExtraInitializers);
514
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
515
+ _classThis = _classDescriptor.value;
516
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
517
+ })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
518
+ return _classThis;
519
+ })();
520
+ export {
521
+ SbbSidebarElement
522
+ };
523
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIGlzU2VydmVyLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCxcbiAgU2JiRm9jdXNIYW5kbGVyLFxuICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzLFxufSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsIFNiYkluZXJ0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBpc0V2ZW50T25FbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQgfSBmcm9tICcuLi9zaWRlYmFyLWNvbnRhaW5lci5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NpZGViYXIuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBjb3JyZXNwb25kcyB0byBhIHNpZGViYXIgdGhhdCBjYW4gYmUgb3BlbmVkIG9uIHRoZSBzaWRlYmFyIGNvbnRhaW5lci5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHNsb3QgYW55IGNvbnRlbnQgaW50byB0aGUgc2lkZWJhci5cbiAqIEBzbG90IHRpdGxlIC0gVXNlIHRoZSB0aXRsZSBzbG90IHRvIGFkZCBhbiA8c2JiLXRpdGxlPi5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gZW5kcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIHN0YXJ0cy4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBlbmRzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc2lkZWJhcicpXG5jbGFzcyBTYmJTaWRlYmFyRWxlbWVudCBleHRlbmRzIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNpZGViYXIuIEVpdGhlciBgd2hpdGVgIG9yIGBtaWxrYC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBNb2RlIG9mIHRoZSBzaWRlYmFyOyBvbmUgb2YgJ3NpZGUnIG9yICdvdmVyJy4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdvdmVyJyA/ICdvdmVyJyA6ICdzaWRlJykpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1vZGU6ICdzaWRlJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKiogVGhlIHNpZGUgdGhhdCB0aGUgc2lkZWJhciBpcyBhdHRhY2hlZCB0by4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdlbmQnID8gJ2VuZCcgOiAnc3RhcnQnKSlcbiAgQGhhbmRsZURpc3RpbmN0Q2hhbmdlKChpbnN0YW5jZSwgX25ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gaW5zdGFuY2UuX3VwZGF0ZVNpZGViYXJXaWR0aChvbGRWYWx1ZSkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzaWRlYmFyIGlzIG9wZW5lZCBvciBjbG9zZWQuXG4gICAqIENhbiBiZSB1c2VkIHRvIGluaXRpYWxseSBzZXQgdGhlIG9wZW5lZCBzdGF0ZSwgd2hlcmVcbiAgICogdGhlIGFuaW1hdGlvbiB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNpZGViYXIgc2hvdWxkIGZvY3VzIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHdoZW4gb3BlbmVkLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZSBpbiB3aGVuIG1vZGUgaXMgc2V0IHRvIGBzaWRlYCwgb3RoZXJ3aXNlIGRlZmF1bHRzIHRvIHRydWUuXG4gICAqIElmIGV4cGxpY2l0bHkgZW5hYmxlZCwgZm9jdXMgd2lsbCBiZSBtb3ZlZCBpbnRvIHRoZSBzaWRlYmFyIGluIGBzaWRlYCBtb2RlIGFzIHdlbGwuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnZm9jdXMtb24tb3BlbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzT25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJldHVybnMgdGhlIFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHdoZXJlIHRoaXMgc2lkZWJhciBpcyBjb250YWluZWQuICovXG4gIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgfVxuICBwcml2YXRlIF9jb250YWluZXI6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9mb2N1c0hhbmRsZXIgPSBuZXcgU2JiRm9jdXNIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF93aW5kb3dFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPblNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB7XG4gICAgICBpZiAoKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKT8ubG9jYWxOYW1lID09PSAnc2JiLXNpZGViYXItY2xvc2UtYnV0dG9uJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuX2NvbnRhaW5lciA9IHRoaXMuY2xvc2VzdD8uKCdzYmItc2lkZWJhci1jb250YWluZXInKTtcbiAgICB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKTtcblxuICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLl9pc01vZGVPdmVyKCkpIHtcbiAgICAgIHRoaXMuX3Rha2VGb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuY29udGFpbmVyPy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKCkpO1xuICAgIHRoaXMuX2NvbnRhaW5lciA9IG51bGw7XG4gICAgdGhpcy5fZm9jdXNIYW5kbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcGVuZWQnKSkge1xuICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ21vZGUnKSkge1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ292ZXInICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMuX3Rha2VGb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jZWRlRm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGVzIHRoZSBzaWRlYmFyIHZpc2liaWxpdHkuICovXG4gIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmVkJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIHNpZGViYXIuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEFuaW1hdGlvbigpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5sb2NhbE5hbWUgIT09ICdib2R5Jykge1xuICAgICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG5cbiAgICBjb25zdCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiA9IHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkgfHwgIXRoaXMuaXNDb25uZWN0ZWQ7XG4gICAgY29uc3QgaXNEdXJpbmdJbml0aWFsaXphdGlvbiA9ICF0aGlzLmhhc1VwZGF0ZWQ7XG5cbiAgICBpZiAoaXNEdXJpbmdJbml0aWFsaXphdGlvbiB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2tpcC1hbmltYXRpb24nLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBXZSBoYXZlIHRvIHdhaXQgZm9yIHRoZSBmaXJzdCB1cGRhdGUgdG8gYmUgY29tcGxldGVkXG4gICAgLy8gaW4gb3JkZXIgdG8gaGF2ZSB0aGUgc2l6ZSBvZiB0aGUgc2lkZWJhciByZWFkeSBmb3IgdGhlIGFuaW1hdGlvbi5cbiAgICBpZiAoaXNEdXJpbmdJbml0aWFsaXphdGlvbikge1xuICAgICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX2hhbmRsZU9wZW5pbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1zaWRlYmFyLWNvbnRhaW5lci1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuXG4gICAgLy8gV2UgaGF2ZSB0byBlbnN1cmUgdGhhdCByZW1vdmluZyB0aGUgYW5pbWF0aW9uIHNraXAgaW5zdHJ1Y3Rpb24gaXMgZG9uZSBhIHRpY2sgbGF0ZXIuXG4gICAgLy8gT3RoZXJ3aXNlLCBpdCdzIHJlbW92ZWQgdG9vIGVhcmx5IGFuZCBpdCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNraXAtYW5pbWF0aW9uJywgZmFsc2UpKTtcblxuICAgIHRoaXMuX3Rha2VGb2N1cygpO1xuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGlkT3Blbi5lbWl0KCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCAhdGhpcy53aWxsQ2xvc2UuZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEFuaW1hdGlvbigpO1xuXG4gICAgY29uc3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gPSB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpO1xuXG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24pIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNraXAtYW5pbWF0aW9uJywgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLy8gV2UgaGF2ZSB0byBlbnN1cmUgdGhhdCByZW1vdmluZyB0aGUgYW5pbWF0aW9uIHNraXAgaW5zdHJ1Y3Rpb24gaXMgZG9uZSBhIHRpY2sgbGF0ZXIuXG4gICAgLy8gT3RoZXJ3aXNlLCBpdCdzIHJlbW92ZWQgdG9vIGVhcmx5IGFuZCBpdCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNraXAtYW5pbWF0aW9uJywgZmFsc2UpKTtcbiAgICB0aGlzLmNlZGVGb2N1cygpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAodGhpcy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB8fCB0aGlzLl9pc01vZGVPdmVyKCkpKSB7XG4gICAgICBpZiAodGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXModGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50KTtcbiAgICAgICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgZG9uJ3Qga25vdyB3aGVyZSB0byBzZXQgdGhlIGZvY3VzLCBidXQgaGF2ZSB0byByZW1vdmUgaXQsIHNvIHdlIGNhbGwgYmx1clxuICAgICAgICAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuYmx1cigpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5zdG9wQW5pbWF0aW9uKCk7XG4gICAgdGhpcy5kaWRDbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF90YWtlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2UgcHJldmVudCBjYWxsaW5nIHRoZSBmb2N1cyBzdHVmZiB3aGVuIG5vdCBuZWVkZWRcbiAgICBpZiAodGhpcy5faW5lcnRDb250cm9sbGVyLmlzSW5lcnQoKSB8fCAhdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpc01vZGVPdmVyID0gdGhpcy5faXNNb2RlT3ZlcigpO1xuXG4gICAgaWYgKGlzTW9kZU92ZXIpIHtcbiAgICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGlmIChpc01vZGVPdmVyIHx8IHRoaXMuZm9jdXNPbk9wZW4pIHtcbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZ2V0Rmlyc3RGb2N1c2FibGVFbGVtZW50KFxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCksXG4gICAgICApO1xuICAgICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhmaXJzdEZvY3VzYWJsZSk7XG4gICAgICBmaXJzdEZvY3VzYWJsZT8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoaXNNb2RlT3Zlcikge1xuICAgICAgdGhpcy5fZm9jdXNIYW5kbGVyLnRyYXAodGhpcyk7XG4gICAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hXaW5kb3dFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgLy8gQ2xvc2Ugc2lkZWJhciBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgd2hldGhlciB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgc2lkZWJhci5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25TaWRlYmFyID0gaXNFdmVudE9uRWxlbWVudChcbiAgICAgIHRoaXMuc2hhZG93Um9vdD8uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTERpdkVsZW1lbnQsXG4gICAgICBldmVudCxcbiAgICApO1xuICB9O1xuXG4gIC8vIENsb3NlIHNpZGViYXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25TaWRlYmFyICYmXG4gICAgICAhaXNFdmVudE9uRWxlbWVudCh0aGlzLnNoYWRvd1Jvb3Q/LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxEaXZFbGVtZW50LCBldmVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgbWV0aG9kIHRoYXQgd2UgdXNlIGV4dGVybmFsbHkuIGBwcm90ZWN0ZWRgIHByZXNlcnZlcyB0eXBlIGluZm9ybWF0aW9uIGZvciB0eXBlIHNhZmUgYWNjZXNzLlxuICBwcm90ZWN0ZWQgY2VkZUZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pbmVydENvbnRyb2xsZXIuaXNJbmVydCgpKSB7XG4gICAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLl9mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2lkZWJhcldpZHRoKG9sZFBvc2l0aW9uPzogdGhpc1sncG9zaXRpb24nXSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyO1xuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG9sZFBvc2l0aW9uKSB7XG4gICAgICBjb250YWluZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkodGhpcy5fYnVpbGRDc3NXaWR0aFZhcihvbGRQb3NpdGlvbikpO1xuICAgIH1cblxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5vZmZzZXRXaWR0aDtcbiAgICBpZiAoIXdpZHRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBgJHt3aWR0aH1weGA7XG4gICAgY29uc3QgYWN0dWFsVmFsdWUgPSBjb250YWluZXIuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKCkpO1xuXG4gICAgaWYgKGFjdHVhbFZhbHVlID09PSBuZXdWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKCksIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2J1aWxkQ3NzV2lkdGhWYXIocG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC0tc2JiLXNpZGViYXItY29udGFpbmVyX18ke3Bvc2l0aW9ufS13aWR0aGA7XG4gIH1cblxuICBwcml2YXRlIF9pc01vZGVPdmVyKCk6IGJvb2xlYW4ge1xuICAgIC8vIElmIHRoZSBtaW5pbXVtIHNwYWNlIGF0dHJpYnV0ZSBpcyBzZXQsIHRoZSBzaWRlYmFyIHNob3VsZCBiZWhhdmUgbGlrZSBpbiBtb2RlIG92ZXIuXG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ292ZXInIHx8IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLW1vZGUtb3Zlci1mb3JjZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgZW5zdXJlIHRoYXQgd2UgcmVhY3QgdG8gdGhlIGZhZGUgaW4gdHJhbnNpdGlvbiBvbiB0aGUgc2JiLXNpZGViYXIgZGl2XG4gICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3RyYW5zbGF0ZScgfHwgZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLXNjcm9sbGVkJyxcbiAgICAgICh0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24nKT8uc2Nyb2xsVG9wID8/IDApID4gMCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyXCIgQHRyYW5zaXRpb25lbmQ9JHt0aGlzLl9vblRyYW5zaXRpb25FbmR9PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb25cIj48c2xvdCBuYW1lPVwidGl0bGUtc2VjdGlvblwiPjwvc2xvdD48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb25cIiBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfT5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXInOiBTYmJTaWRlYmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIiwiaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUErQk0scUJBQWlCLE1BQUE7OzBCQUR0QixjQUFjLGFBQWEsQ0FBQzs7OztvQkFDRywwQkFBMEIsdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBekQsRUFBQSxtQkFBUSxZQUFrRDtBQUFBLElBaURoRixjQUFBOzs7QUE1Q0E7QUFLQTtBQU1BO0FBU0E7QUFTQTtBQWxDSSx5QkFBQSwwQkFBQSxrQkFBQSxN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
@@ -0,0 +1,12 @@
1
+ export * from './sidebar/common.js';
2
+ export * from './sidebar/icon-sidebar.js';
3
+ export * from './sidebar/icon-sidebar-button.js';
4
+ export * from './sidebar/icon-sidebar-container.js';
5
+ export * from './sidebar/icon-sidebar-content.js';
6
+ export * from './sidebar/icon-sidebar-link.js';
7
+ export * from './sidebar/sidebar.js';
8
+ export * from './sidebar/sidebar-close-button.js';
9
+ export * from './sidebar/sidebar-container.js';
10
+ export * from './sidebar/sidebar-content.js';
11
+ export * from './sidebar/sidebar-title.js';
12
+ //# sourceMappingURL=sidebar.d.ts.map