@sbb-esta/lyne-elements 1.10.0 → 1.11.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 (283) hide show
  1. package/autocomplete/autocomplete.d.ts.map +1 -1
  2. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  3. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +0 -3
  4. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid-button.js +32 -28
  6. package/autocomplete-grid/autocomplete-grid.js +16 -17
  7. package/autocomplete.js +23 -24
  8. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
  9. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  10. package/breadcrumb/breadcrumb-group.js +25 -24
  11. package/button/button/button.d.ts +1 -1
  12. package/button/button-link/button-link.d.ts +1 -1
  13. package/button/button-link.js +14 -14
  14. package/button/button.js +9 -9
  15. package/button/mini-button/mini-button.d.ts +1 -1
  16. package/button/mini-button/mini-button.d.ts.map +1 -1
  17. package/button/mini-button.js +15 -17
  18. package/button/secondary-button/secondary-button.d.ts +1 -1
  19. package/button/secondary-button-link/secondary-button-link.d.ts +1 -1
  20. package/button/secondary-button-link.js +15 -15
  21. package/button/secondary-button.js +6 -6
  22. package/button/tertiary-button/tertiary-button.d.ts +1 -1
  23. package/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
  24. package/button/tertiary-button-link.js +12 -12
  25. package/button/tertiary-button.js +13 -13
  26. package/button/transparent-button/transparent-button.d.ts +1 -1
  27. package/button/transparent-button-link/transparent-button-link.d.ts +1 -1
  28. package/button/transparent-button-link.js +15 -15
  29. package/button/transparent-button.js +8 -8
  30. package/card/card-badge/card-badge.d.ts.map +1 -1
  31. package/card/card-badge.js +7 -9
  32. package/card/common/card-action-common.d.ts.map +1 -1
  33. package/card/common.js +24 -25
  34. package/container/sticky-bar/sticky-bar.d.ts +0 -1
  35. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  36. package/container/sticky-bar.js +20 -20
  37. package/core/a11y/arrow-navigation.d.ts.map +1 -1
  38. package/core/a11y.js +46 -47
  39. package/core/base-elements/action-base-element.d.ts +1 -0
  40. package/core/base-elements/action-base-element.d.ts.map +1 -1
  41. package/core/base-elements/link-base-element.d.ts.map +1 -1
  42. package/core/base-elements.js +52 -49
  43. package/core/controllers/language-controller.d.ts.map +1 -1
  44. package/core/controllers.js +22 -23
  45. package/core/dom/get-document-writing-mode.d.ts +3 -0
  46. package/core/dom/get-document-writing-mode.d.ts.map +1 -1
  47. package/core/mixins/disabled-mixin.d.ts +9 -4
  48. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  49. package/core/mixins.js +68 -58
  50. package/core/observers/intersection-observer.d.ts +6 -0
  51. package/core/observers/intersection-observer.d.ts.map +1 -1
  52. package/core/observers/mutation-observer.d.ts +6 -0
  53. package/core/observers/mutation-observer.d.ts.map +1 -1
  54. package/core/observers/resize-observer.d.ts +6 -0
  55. package/core/observers/resize-observer.d.ts.map +1 -1
  56. package/core/styles/core.scss +23 -0
  57. package/core/styles/mixins/overlay.scss +2 -2
  58. package/core.css +23 -0
  59. package/custom-elements.json +1268 -159
  60. package/datepicker/datepicker/datepicker.d.ts +1 -1
  61. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  62. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -2
  63. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  64. package/datepicker/datepicker-toggle.js +36 -45
  65. package/datepicker/datepicker.js +34 -35
  66. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  67. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  68. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +0 -3
  69. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  70. package/development/autocomplete-grid/autocomplete-grid-button.js +17 -15
  71. package/development/autocomplete-grid/autocomplete-grid.js +2 -3
  72. package/development/autocomplete.js +4 -5
  73. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
  74. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  75. package/development/breadcrumb/breadcrumb-group.js +9 -8
  76. package/development/button/button/button.d.ts +1 -1
  77. package/development/button/button-link/button-link.d.ts +1 -1
  78. package/development/button/button-link.js +3 -3
  79. package/development/button/button.js +3 -3
  80. package/development/button/mini-button/mini-button.d.ts +1 -1
  81. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  82. package/development/button/mini-button.js +3 -5
  83. package/development/button/secondary-button/secondary-button.d.ts +1 -1
  84. package/development/button/secondary-button-link/secondary-button-link.d.ts +1 -1
  85. package/development/button/secondary-button-link.js +3 -3
  86. package/development/button/secondary-button.js +3 -3
  87. package/development/button/tertiary-button/tertiary-button.d.ts +1 -1
  88. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
  89. package/development/button/tertiary-button-link.js +3 -3
  90. package/development/button/tertiary-button.js +3 -3
  91. package/development/button/transparent-button/transparent-button.d.ts +1 -1
  92. package/development/button/transparent-button-link/transparent-button-link.d.ts +1 -1
  93. package/development/button/transparent-button-link.js +3 -3
  94. package/development/button/transparent-button.js +3 -3
  95. package/development/card/card-badge/card-badge.d.ts.map +1 -1
  96. package/development/card/card-badge.js +3 -5
  97. package/development/card/common/card-action-common.d.ts.map +1 -1
  98. package/development/card/common.js +8 -10
  99. package/development/container/sticky-bar/sticky-bar.d.ts +0 -1
  100. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  101. package/development/container/sticky-bar.js +8 -9
  102. package/development/core/a11y/arrow-navigation.d.ts.map +1 -1
  103. package/development/core/a11y.js +2 -3
  104. package/development/core/base-elements/action-base-element.d.ts +1 -0
  105. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  106. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  107. package/development/core/base-elements.js +7 -4
  108. package/development/core/controllers/language-controller.d.ts.map +1 -1
  109. package/development/core/controllers.js +9 -4
  110. package/development/core/dom/get-document-writing-mode.d.ts +3 -0
  111. package/development/core/dom/get-document-writing-mode.d.ts.map +1 -1
  112. package/development/core/dom.js +1 -1
  113. package/development/core/mixins/disabled-mixin.d.ts +9 -4
  114. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  115. package/development/core/mixins.js +25 -9
  116. package/development/core/observers/intersection-observer.d.ts +6 -0
  117. package/development/core/observers/intersection-observer.d.ts.map +1 -1
  118. package/development/core/observers/mutation-observer.d.ts +6 -0
  119. package/development/core/observers/mutation-observer.d.ts.map +1 -1
  120. package/development/core/observers/resize-observer.d.ts +6 -0
  121. package/development/core/observers/resize-observer.d.ts.map +1 -1
  122. package/development/core/observers.js +1 -1
  123. package/development/datepicker/datepicker/datepicker.d.ts +1 -1
  124. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  125. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -2
  126. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  127. package/development/datepicker/datepicker-toggle.js +2 -12
  128. package/development/datepicker/datepicker.js +6 -7
  129. package/development/dialog/dialog/dialog.d.ts +0 -1
  130. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  131. package/development/dialog/dialog.js +10 -10
  132. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
  133. package/development/expansion-panel/expansion-panel-header.js +3 -3
  134. package/development/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
  135. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  136. package/development/flip-card/flip-card-details.js +10 -22
  137. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  138. package/development/form-field/form-field.js +11 -12
  139. package/development/header/common.js +42 -21
  140. package/development/header/header/header.d.ts +2 -0
  141. package/development/header/header/header.d.ts.map +1 -1
  142. package/development/header/header.js +12 -1
  143. package/development/journey-header/journey-header.d.ts.map +1 -1
  144. package/development/journey-header.js +3 -4
  145. package/development/link/block-link-button/block-link-button.d.ts +1 -1
  146. package/development/link/block-link-button.js +3 -3
  147. package/development/link/link-button/link-button.d.ts +1 -1
  148. package/development/link/link-button.js +3 -3
  149. package/development/logo.js +2 -4
  150. package/development/map-container/map-container.d.ts +8 -5
  151. package/development/map-container/map-container.d.ts.map +1 -1
  152. package/development/map-container.js +31 -34
  153. package/development/menu/common/menu-action-common.d.ts +1 -2
  154. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  155. package/development/menu/common.js +1 -1
  156. package/development/menu/menu/menu.d.ts.map +1 -1
  157. package/development/menu/menu-button/menu-button.d.ts +1 -1
  158. package/development/menu/menu-button.js +3 -3
  159. package/development/menu/menu-link/menu-link.d.ts +1 -1
  160. package/development/menu/menu-link/menu-link.d.ts.map +1 -1
  161. package/development/menu/menu-link.js +5 -2
  162. package/development/menu/menu.js +4 -2
  163. package/development/navigation/navigation/navigation.d.ts +1 -1
  164. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  165. package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -2
  166. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  167. package/development/navigation/navigation-marker.js +8 -15
  168. package/development/navigation/navigation.js +13 -10
  169. package/development/notification/notification.d.ts +0 -1
  170. package/development/notification/notification.d.ts.map +1 -1
  171. package/development/notification.js +11 -13
  172. package/development/option/optgroup/optgroup-base-element.d.ts +0 -2
  173. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  174. package/development/option/optgroup.js +9 -14
  175. package/development/option/option/option-base-element.d.ts +0 -3
  176. package/development/option/option/option-base-element.d.ts.map +1 -1
  177. package/development/option/option.js +6 -10
  178. package/development/popover/popover-trigger/popover-trigger.d.ts +1 -1
  179. package/development/popover/popover-trigger.js +3 -3
  180. package/development/select/select.d.ts.map +1 -1
  181. package/development/select.js +4 -5
  182. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  183. package/development/selection-expansion-panel.js +9 -8
  184. package/development/signet/signet.d.ts +4 -1
  185. package/development/signet/signet.d.ts.map +1 -1
  186. package/development/signet.js +37 -8
  187. package/development/slider/slider.d.ts.map +1 -1
  188. package/development/slider.js +12 -10
  189. package/development/stepper/step/step.d.ts +1 -2
  190. package/development/stepper/step/step.d.ts.map +1 -1
  191. package/development/stepper/step.js +9 -14
  192. package/development/table/table-wrapper/table-wrapper.d.ts +0 -1
  193. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  194. package/development/table/table-wrapper.js +7 -7
  195. package/development/tabs/tab-group/tab-group.d.ts +0 -1
  196. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  197. package/development/tabs/tab-group.js +19 -18
  198. package/development/tag/tag/tag.d.ts +1 -1
  199. package/development/tag/tag.js +3 -3
  200. package/development/toggle/toggle/toggle.d.ts +0 -1
  201. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  202. package/development/toggle/toggle.js +7 -7
  203. package/development/train/train-formation/train-formation.d.ts +1 -2
  204. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  205. package/development/train/train-formation.js +10 -8
  206. package/dialog/dialog/dialog.d.ts +0 -1
  207. package/dialog/dialog/dialog.d.ts.map +1 -1
  208. package/dialog/dialog.js +16 -17
  209. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
  210. package/expansion-panel/expansion-panel-header.js +1 -1
  211. package/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
  212. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  213. package/flip-card/flip-card-details.js +20 -28
  214. package/form-field/form-field/form-field.d.ts.map +1 -1
  215. package/form-field/form-field.js +26 -27
  216. package/header/common.js +3 -3
  217. package/header/header/header.d.ts +2 -0
  218. package/header/header/header.d.ts.map +1 -1
  219. package/header/header.js +21 -18
  220. package/journey-header/journey-header.d.ts.map +1 -1
  221. package/journey-header.js +14 -15
  222. package/link/block-link-button/block-link-button.d.ts +1 -1
  223. package/link/block-link-button.js +10 -10
  224. package/link/link-button/link-button.d.ts +1 -1
  225. package/link/link-button.js +4 -4
  226. package/logo.js +1 -1
  227. package/map-container/map-container.d.ts +8 -5
  228. package/map-container/map-container.d.ts.map +1 -1
  229. package/map-container.js +35 -37
  230. package/menu/common/menu-action-common.d.ts +1 -2
  231. package/menu/common/menu-action-common.d.ts.map +1 -1
  232. package/menu/menu/menu.d.ts.map +1 -1
  233. package/menu/menu-button/menu-button.d.ts +1 -1
  234. package/menu/menu-button.js +13 -13
  235. package/menu/menu-link/menu-link.d.ts +1 -1
  236. package/menu/menu-link/menu-link.d.ts.map +1 -1
  237. package/menu/menu-link.js +15 -12
  238. package/menu/menu.js +9 -7
  239. package/navigation/navigation/navigation.d.ts +1 -1
  240. package/navigation/navigation/navigation.d.ts.map +1 -1
  241. package/navigation/navigation-marker/navigation-marker.d.ts +1 -2
  242. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  243. package/navigation/navigation-marker.js +17 -22
  244. package/navigation/navigation.js +40 -34
  245. package/notification/notification.d.ts +0 -1
  246. package/notification/notification.d.ts.map +1 -1
  247. package/notification.js +17 -18
  248. package/option/optgroup/optgroup-base-element.d.ts +0 -2
  249. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  250. package/option/optgroup.js +31 -33
  251. package/option/option/option-base-element.d.ts +0 -3
  252. package/option/option/option-base-element.d.ts.map +1 -1
  253. package/option/option.js +16 -18
  254. package/package.json +2 -1
  255. package/popover/popover-trigger/popover-trigger.d.ts +1 -1
  256. package/popover/popover-trigger.js +1 -1
  257. package/select/select.d.ts.map +1 -1
  258. package/select.js +14 -15
  259. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  260. package/selection-expansion-panel.js +24 -23
  261. package/signet/signet.d.ts +4 -1
  262. package/signet/signet.d.ts.map +1 -1
  263. package/signet.js +34 -23
  264. package/slider/slider.d.ts.map +1 -1
  265. package/slider.js +5 -5
  266. package/standard-theme.css +23 -0
  267. package/stepper/step/step.d.ts +1 -2
  268. package/stepper/step/step.d.ts.map +1 -1
  269. package/stepper/step.js +19 -24
  270. package/table/table-wrapper/table-wrapper.d.ts +0 -1
  271. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  272. package/table/table-wrapper.js +19 -18
  273. package/tabs/tab-group/tab-group.d.ts +0 -1
  274. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  275. package/tabs/tab-group.js +37 -33
  276. package/tag/tag/tag.d.ts +1 -1
  277. package/tag/tag.js +19 -19
  278. package/toggle/toggle/toggle.d.ts +0 -1
  279. package/toggle/toggle/toggle.d.ts.map +1 -1
  280. package/toggle/toggle.js +32 -31
  281. package/train/train-formation/train-formation.d.ts +1 -2
  282. package/train/train-formation/train-formation.d.ts.map +1 -1
  283. package/train/train-formation.js +23 -22
@@ -1,4 +1,4 @@
1
- import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
1
+ import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
2
  import { DateAdapter } from '../../core/datetime.js';
3
3
  import { SbbDateLike } from '../../core/interfaces.js';
4
4
  import { SbbDatepickerButton } from '../common.js';
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/elements/datepicker/datepicker/datepicker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/elements/datepicker/datepicker/datepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AAI9E,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAI1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAKD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,IAAI,EACpC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAC7B,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAQ5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,IAAI,EACvC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,IAAI,EACzC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAC1B,CAAC,CAUH;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,GAAG,IAAI,EAChD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,IAAI,EACzC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1B,CAAC,CAWH;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,IAAI,EAC5C,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,IAAI,EACzC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1B,CAAC,CAWH;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,IAAI,EACtC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,IAAI,EACzC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,OAAO,CAcT;AAED,eAAO,MAAM,uCAAuC,QAAO,WAIvD,CAAC;AAEL;;;;;;;;GAQG;AACH,qBACa,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,UAAU;IAK5D,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;;MAMlB;IAEX,gDAAgD;IACZ,IAAI,UAAS;IAEjD,2CAA2C;IACJ,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAAc;IAE5F;;;OAGG;IACoC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;IAErF;;;OAGG;IACoC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAEpE,iEAAiE;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAGhD,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,EAE/C;IACD,IAAW,GAAG,IAAI,CAAC,CAElB;IACD,OAAO,CAAC,IAAI,CAAC,CAAW;IAExB,8EAA8E;IAC9E,IACW,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,EAOlD;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAEjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAEZ;IAEH,0FAA0F;IAC1F,OAAO,CAAC,aAAa,CAInB;IAEF,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,CAOxB;IAEF,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB,CAGvB;IAGF,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,+BAA+B,CAAS;IAEhD,OAAO,CAAC,qBAAqB,CAAmB;IAEhD,OAAO,CAAC,cAAc,CASb;IAET,OAAO,CAAC,YAAY,CAA4E;IAEhG,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CASd;IAEa,iBAAiB,IAAI,IAAI;IAWzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkBzD,oBAAoB,IAAI,IAAI;cAMzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK9E;;;OAGG;IACI,cAAc,IAAI,CAAC,GAAG,SAAS;IAItC;;;OAGG;IACI,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAIjD;;;OAGG;IACI,YAAY,IAAI,OAAO;IAI9B,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,mBAAmB;cAcR,MAAM,IAAI,cAAc;CAI5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;IAED,UAAU,2BAA2B;QACnC,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;KAChD;CACF"}
@@ -30,14 +30,12 @@ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerT
30
30
  connectedCallback(): void;
31
31
  willUpdate(changedProperties: PropertyValues<this>): void;
32
32
  disconnectedCallback(): void;
33
- firstUpdated(changedProperties: PropertyValues<this>): void;
34
33
  private _init;
35
34
  private _configureCalendar;
36
35
  private _datePickerChanged;
37
36
  private _assignCalendar;
38
37
  protected updated(changedProperties: PropertyValues<this>): void;
39
38
  private _nowOrUndefined;
40
- private _isDisabled;
41
39
  protected render(): TemplateResult;
42
40
  }
43
41
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,kBAAkB,CAAC;AAKlF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAIa,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAEzD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4BAA4B;IACmB,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE1F,yEAAyE;IACtD,IAAI,EAAE,YAAY,CAAS;IAErC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAyC;;IASvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;IAsBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQzD,oBAAoB,IAAI,IAAI;IAK5B,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ3E,OAAO,CAAC,KAAK;IAyCb,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;cAgBJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;cAIA,MAAM,IAAI,cAAc;CA4C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,kBAAkB,CAAC;AAKlF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAIa,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAEzD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4BAA4B;IACmB,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE1F,yEAAyE;IACtD,IAAI,EAAE,YAAY,CAAS;IAErC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAyC;;IASvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;IAsBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQzD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,KAAK;IAyCb,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;cAgBJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CA2C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -1,6 +1,6 @@
1
- import { css as b, LitElement as p, isServer as c, html as _, nothing as g } from "lit";
2
- import { property as m, state as o, customElement as E } from "lit/decorators.js";
3
- import { ref as h } from "lit/directives/ref.js";
1
+ import { css as b, LitElement as p, isServer as h, html as m, nothing as g } from "lit";
2
+ import { property as _, state as d, customElement as E } from "lit/decorators.js";
3
+ import { ref as c } from "lit/directives/ref.js";
4
4
  import { sbbInputModalityDetector as u } from "../core/a11y.js";
5
5
  import { SbbLanguageController as f, SbbConnectedAbortController as k } from "../core/controllers.js";
6
6
  import { hostAttributes as P } from "../core/decorators.js";
@@ -11,16 +11,16 @@ import "../calendar.js";
11
11
  import "../popover/popover.js";
12
12
  import "../button/mini-button.js";
13
13
  const x = b`*,:before,:after{box-sizing:border-box}:host{--sbb-datepicker-control-radius: var(--sbb-border-radius-4x);--sbb-datepicker-control-color: var(--sbb-color-black);display:inline-flex}.sbb-datepicker-toggle__trigger{color:var(--sbb-datepicker-control-color);height:unset}sbb-icon{color:var(--sbb-color-graphite)}`;
14
- var D = Object.defineProperty, U = Object.getOwnPropertyDescriptor, l = (e, t, i, s) => {
15
- for (var a = s > 1 ? void 0 : s ? U(t, i) : t, d = e.length - 1, r; d >= 0; d--)
16
- (r = e[d]) && (a = (s ? r(t, i, a) : r(a)) || a);
17
- return s && a && D(t, i, a), a;
14
+ var D = Object.defineProperty, O = Object.getOwnPropertyDescriptor, l = (e, t, i, n) => {
15
+ for (var a = n > 1 ? void 0 : n ? O(t, i) : t, o = e.length - 1, r; o >= 0; o--)
16
+ (r = e[o]) && (a = (n ? r(t, i, a) : r(a)) || a);
17
+ return n && a && D(t, i, a), a;
18
18
  };
19
- let n = class extends C(
19
+ let s = class extends C(
20
20
  w(p)
21
21
  ) {
22
22
  constructor() {
23
- super(), this.view = "day", this._disabled = !1, this._min = null, this._max = null, this._renderCalendar = !1, this._language = new f(this), this._abort = new k(this), c || this.hydrationComplete.then(() => this._renderCalendar = !0);
23
+ super(), this.view = "day", this._disabled = !1, this._min = null, this._max = null, this._renderCalendar = !1, this._language = new f(this), this._abort = new k(this), h || this.hydrationComplete.then(() => this._renderCalendar = !0);
24
24
  }
25
25
  /**
26
26
  * Opens the calendar.
@@ -34,8 +34,8 @@ let n = class extends C(
34
34
  const e = ((t = this.closest) == null ? void 0 : t.call(this, "sbb-form-field")) ?? ((i = this.closest) == null ? void 0 : i.call(this, "[data-form-field]"));
35
35
  e && (this.negative = e.hasAttribute("negative")), this.addEventListener(
36
36
  "click",
37
- (s) => {
38
- s.composedPath()[0] === this && this.open();
37
+ (n) => {
38
+ n.composedPath()[0] === this && this.open();
39
39
  },
40
40
  { signal: this._abort.signal }
41
41
  );
@@ -47,13 +47,8 @@ let n = class extends C(
47
47
  var e;
48
48
  super.disconnectedCallback(), (e = this._datePickerController) == null || e.abort();
49
49
  }
50
- firstUpdated(e) {
51
- super.firstUpdated(e), this._triggerElement.updateComplete.then(() => {
52
- this._triggerElement.tabIndex = this._isDisabled() ? -1 : 0;
53
- });
54
- }
55
50
  _init(e) {
56
- var t, i, s, a, d;
51
+ var t, i, n, a, o;
57
52
  if ((t = this._datePickerController) == null || t.abort(), this._datePickerController = new AbortController(), this._datePickerElement = y(this, e), !this._datePickerElement) {
58
53
  (i = this.parentElement) == null || i.addEventListener(
59
54
  "inputUpdated",
@@ -62,7 +57,7 @@ let n = class extends C(
62
57
  );
63
58
  return;
64
59
  }
65
- (s = this._datePickerElement) == null || s.addEventListener(
60
+ (n = this._datePickerElement) == null || n.addEventListener(
66
61
  "inputUpdated",
67
62
  (r) => {
68
63
  this._datePickerElement = r.target, this._disabled = !!(r.detail.disabled || r.detail.readonly), this._min = r.detail.min, this._max = r.detail.max;
@@ -74,7 +69,7 @@ let n = class extends C(
74
69
  {
75
70
  signal: this._datePickerController.signal
76
71
  }
77
- ), (d = this._datePickerElement) == null || d.addEventListener(
72
+ ), (o = this._datePickerElement) == null || o.addEventListener(
78
73
  "datePickerUpdated",
79
74
  (r) => this._configureCalendar(this._calendarElement, r.target),
80
75
  { signal: this._datePickerController.signal }
@@ -97,20 +92,16 @@ let n = class extends C(
97
92
  var e;
98
93
  return (e = this._datePickerElement) != null && e.hasCustomNow() ? this._datePickerElement.now : void 0;
99
94
  }
100
- _isDisabled() {
101
- return !c && (!this._datePickerElement || this._disabled);
102
- }
103
95
  render() {
104
96
  var e, t;
105
- return _`
97
+ return m`
106
98
  <sbb-mini-button
107
99
  class="sbb-datepicker-toggle__trigger"
108
100
  icon-name="calendar-small"
109
101
  aria-label=${v[this._language.current]}
110
- ?disabled=${this._isDisabled()}
111
- tabindex=${this._isDisabled() ? -1 : 0}
102
+ ?disabled=${!h && (!this._datePickerElement || this._disabled)}
112
103
  ?negative=${this.negative}
113
- ${h((i) => this._triggerElement = i)}
104
+ ${c((i) => this._triggerElement = i)}
114
105
  ></sbb-mini-button>
115
106
  <sbb-popover
116
107
  @willOpen=${() => this._calendarElement.resetPosition()}
@@ -119,9 +110,9 @@ let n = class extends C(
119
110
  }}
120
111
  .trigger=${this._triggerElement}
121
112
  hide-close-button
122
- ${h((i) => this._popoverElement = i)}
113
+ ${c((i) => this._popoverElement = i)}
123
114
  >
124
- ${this._renderCalendar ? _`<sbb-calendar
115
+ ${this._renderCalendar ? m`<sbb-calendar
125
116
  .view=${this.view}
126
117
  .min=${this._min}
127
118
  .max=${this._max}
@@ -131,7 +122,7 @@ let n = class extends C(
131
122
  @dateSelected=${(i) => {
132
123
  this._calendarElement.selected = i.detail, this._datePickerElement && (this._datePickerElement.valueAsDate = i.detail);
133
124
  }}
134
- ${h(
125
+ ${c(
135
126
  (i) => this._assignCalendar(i)
136
127
  )}
137
128
  ></sbb-calendar>` : g}
@@ -139,31 +130,31 @@ let n = class extends C(
139
130
  `;
140
131
  }
141
132
  };
142
- n.styles = x;
133
+ s.styles = x;
143
134
  l([
144
- m({ attribute: "date-picker" })
145
- ], n.prototype, "datePicker", 2);
135
+ _({ attribute: "date-picker" })
136
+ ], s.prototype, "datePicker", 2);
146
137
  l([
147
- m()
148
- ], n.prototype, "view", 2);
138
+ _()
139
+ ], s.prototype, "view", 2);
149
140
  l([
150
- o()
151
- ], n.prototype, "_disabled", 2);
141
+ d()
142
+ ], s.prototype, "_disabled", 2);
152
143
  l([
153
- o()
154
- ], n.prototype, "_min", 2);
144
+ d()
145
+ ], s.prototype, "_min", 2);
155
146
  l([
156
- o()
157
- ], n.prototype, "_max", 2);
147
+ d()
148
+ ], s.prototype, "_max", 2);
158
149
  l([
159
- o()
160
- ], n.prototype, "_renderCalendar", 2);
161
- n = l([
150
+ d()
151
+ ], s.prototype, "_renderCalendar", 2);
152
+ s = l([
162
153
  E("sbb-datepicker-toggle"),
163
154
  P({
164
155
  slot: "prefix"
165
156
  })
166
- ], n);
157
+ ], s);
167
158
  export {
168
- n as SbbDatepickerToggleElement
159
+ s as SbbDatepickerToggleElement
169
160
  };
@@ -1,21 +1,20 @@
1
- import { css as v, LitElement as b, html as f } from "lit";
2
- import { property as u, state as g, customElement as A } from "lit/decorators.js";
1
+ import { css as v, LitElement as b, isServer as f, html as g } from "lit";
2
+ import { property as u, state as D, customElement as A } from "lit/decorators.js";
3
3
  import { readConfig as c } from "../core/config.js";
4
- import { SbbConnectedAbortController as D, SbbLanguageController as E } from "../core/controllers.js";
4
+ import { SbbConnectedAbortController as E, SbbLanguageController as w } from "../core/controllers.js";
5
5
  import { defaultDateAdapter as _ } from "../core/datetime.js";
6
- import { findReferencedElement as w, findInput as C } from "../core/dom.js";
7
- import { EventEmitter as d } from "../core/eventing.js";
8
- import { i18nDatePickerPlaceholder as h, i18nDateChangedTo as y } from "../core/i18n.js";
9
- import { AgnosticMutationObserver as I } from "../core/observers.js";
6
+ import { findReferencedElement as C, findInput as y } from "../core/dom.js";
7
+ import { EventEmitter as o } from "../core/eventing.js";
8
+ import { i18nDatePickerPlaceholder as h, i18nDateChangedTo as I } from "../core/i18n.js";
10
9
  const P = v`:host{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`;
11
10
  var U = Object.defineProperty, k = Object.getOwnPropertyDescriptor, l = (t, e, i, a) => {
12
- for (var s = a > 1 ? void 0 : a ? k(e, i) : e, r = t.length - 1, o; r >= 0; r--)
13
- (o = t[r]) && (s = (a ? o(e, i, s) : o(s)) || s);
11
+ for (var s = a > 1 ? void 0 : a ? k(e, i) : e, r = t.length - 1, d; r >= 0; r--)
12
+ (d = t[r]) && (s = (a ? d(e, i, s) : d(s)) || s);
14
13
  return a && s && U(e, i, s), s;
15
14
  };
16
- function R(t, e) {
15
+ function L(t, e) {
17
16
  var i, a;
18
- return e ? w(e) : (a = (i = t.closest) == null ? void 0 : i.call(t, "sbb-form-field")) == null ? void 0 : a.querySelector("sbb-datepicker");
17
+ return e ? C(e) : (a = (i = t.closest) == null ? void 0 : i.call(t, "sbb-form-field")) == null ? void 0 : a.querySelector("sbb-datepicker");
19
18
  }
20
19
  function m(t, e, i, a) {
21
20
  let s = a.addCalendarDays(t, e);
@@ -24,51 +23,51 @@ function m(t, e, i, a) {
24
23
  s = a.addCalendarDays(s, e);
25
24
  return s;
26
25
  }
27
- function j(t, e, i, a) {
26
+ function R(t, e, i, a) {
28
27
  const s = m(t, -1, e, i), r = i.deserialize(a);
29
28
  return !r || i.isValid(r) && i.compareDate(s, r) >= 0 ? s : t;
30
29
  }
31
- function q(t, e, i, a) {
30
+ function j(t, e, i, a) {
32
31
  const s = m(t, 1, e, i), r = i.deserialize(a);
33
32
  return !r || i.isValid(r) && i.compareDate(s, r) <= 0 ? s : t;
34
33
  }
35
34
  function x(t, e, i, a) {
36
35
  var p;
37
- const s = ((p = c().datetime) == null ? void 0 : p.dateAdapter) ?? _, r = s.deserialize(i), o = s.deserialize(a);
38
- return s.isValid(r) && s.compareDate(t, r) < 0 || s.isValid(o) && s.compareDate(t, o) > 0 ? !1 : e ? e(t) : !0;
36
+ const s = ((p = c().datetime) == null ? void 0 : p.dateAdapter) ?? _, r = s.deserialize(i), d = s.deserialize(a);
37
+ return s.isValid(r) && s.compareDate(t, r) < 0 || s.isValid(d) && s.compareDate(t, d) > 0 ? !1 : e ? e(t) : !0;
39
38
  }
40
- const $ = () => new CustomEvent("datepickerControlRegistered", {
39
+ const q = () => new CustomEvent("datepickerControlRegistered", {
41
40
  bubbles: !1,
42
41
  composed: !0
43
42
  });
44
43
  let n = class extends b {
45
44
  constructor() {
46
45
  var t;
47
- super(...arguments), this.wide = !1, this.dateFilter = () => !0, this._didChange = new d(this, n.events.didChange, {
46
+ super(...arguments), this.wide = !1, this.dateFilter = () => !0, this._didChange = new o(this, n.events.didChange, {
48
47
  bubbles: !0,
49
48
  cancelable: !0
50
- }), this._change = new d(this, n.events.change, {
49
+ }), this._change = new o(this, n.events.change, {
51
50
  bubbles: !0
52
- }), this._inputUpdated = new d(
51
+ }), this._inputUpdated = new o(
53
52
  this,
54
53
  n.events.inputUpdated,
55
54
  { bubbles: !0, cancelable: !0 }
56
- ), this._datePickerUpdated = new d(
55
+ ), this._datePickerUpdated = new o(
57
56
  this,
58
57
  n.events.datePickerUpdated,
59
58
  {
60
59
  bubbles: !0,
61
60
  cancelable: !0
62
61
  }
63
- ), this._validationChange = new d(
62
+ ), this._validationChange = new o(
64
63
  this,
65
64
  n.events.validationChange
66
- ), this._inputElement = null, this._inputElementPlaceholderMutable = !1, this._inputObserver = new I((e) => {
65
+ ), this._inputElement = null, this._inputElementPlaceholderMutable = !1, this._inputObserver = f ? null : new MutationObserver((e) => {
67
66
  if (this._emitInputUpdated(), this._inputElement && (e != null && e.some((i) => i.attributeName === "value"))) {
68
67
  const i = this._inputElement.getAttribute("value");
69
68
  this.valueAsDate = this._dateAdapter.parse(i, this.now) ?? i;
70
69
  }
71
- }), this._dateAdapter = ((t = c().datetime) == null ? void 0 : t.dateAdapter) ?? _, this._abort = new D(this), this._language = new E(this).withHandler(() => {
70
+ }), this._dateAdapter = ((t = c().datetime) == null ? void 0 : t.dateAdapter) ?? _, this._abort = new E(this), this._language = new w(this).withHandler(() => {
72
71
  this._inputElement && (this._inputElementPlaceholderMutable && (this._inputElement.placeholder = h[this._language.current]), this.valueAsDate && (this._inputElement.value = this._format(this.valueAsDate)));
73
72
  });
74
73
  }
@@ -121,14 +120,14 @@ let n = class extends b {
121
120
  return !!this._now;
122
121
  }
123
122
  _attachInput() {
124
- var e, i;
125
- const t = C(this, this.input);
123
+ var e, i, a;
124
+ const t = y(this, this.input);
126
125
  if (this._inputElement !== t && (this._inputElement && ((e = this._datePickerController) == null || e.abort(), (i = this._inputObserver) == null || i.disconnect()), this._inputElement = t, t)) {
127
- this._datePickerController = new AbortController(), this._inputObserver.observe(t, {
126
+ this._datePickerController = new AbortController(), (a = this._inputObserver) == null || a.observe(t, {
128
127
  attributeFilter: ["disabled", "readonly", "min", "max", "value"]
129
128
  }), this._inputElementPlaceholderMutable = !t.placeholder, t.type = "text", this._inputElementPlaceholderMutable && (t.placeholder = h[this._language.current]);
130
- const a = { signal: this._datePickerController.signal };
131
- t.addEventListener("input", () => this._parseInput(), a), t.addEventListener("change", () => this._handleInputChange(), a), this._parseInput(!0), this._tryApplyFormatToInput(), this._validateDate();
129
+ const s = { signal: this._datePickerController.signal };
130
+ t.addEventListener("input", () => this._parseInput(), s), t.addEventListener("change", () => this._handleInputChange(), s), this._parseInput(!0), this._tryApplyFormatToInput(), this._validateDate();
132
131
  }
133
132
  }
134
133
  _emitInputUpdated() {
@@ -173,12 +172,12 @@ let n = class extends b {
173
172
  t.innerText = "";
174
173
  else {
175
174
  const a = this._dateAdapter.format(this.valueAsDate, { weekdayStyle: "long" });
176
- t.innerText = `${y[this._language.current]} ${a}`;
175
+ t.innerText = `${I[this._language.current]} ${a}`;
177
176
  }
178
177
  else return;
179
178
  }
180
179
  render() {
181
- return f`<p id="status-container" role="status"></p>`;
180
+ return g`<p id="status-container" role="status"></p>`;
182
181
  }
183
182
  /* eslint-enable @typescript-eslint/member-ordering */
184
183
  };
@@ -212,17 +211,17 @@ l([
212
211
  u({ attribute: !1 })
213
212
  ], n.prototype, "valueAsDate", 1);
214
213
  l([
215
- g()
214
+ D()
216
215
  ], n.prototype, "_inputElement", 2);
217
216
  n = l([
218
217
  A("sbb-datepicker")
219
218
  ], n);
220
219
  export {
221
220
  n as SbbDatepickerElement,
222
- $ as datepickerControlRegisteredEventFactory,
223
- q as findNextAvailableDate,
224
- j as findPreviousAvailableDate,
221
+ q as datepickerControlRegisteredEventFactory,
222
+ j as findNextAvailableDate,
223
+ R as findPreviousAvailableDate,
225
224
  m as getAvailableDate,
226
- R as getDatePicker,
225
+ L as getDatePicker,
227
226
  x as isDateAvailable
228
227
  };
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAU5E;;;;;;;;;;;GAWG;AACH,qBAKa,sBAAuB,SAAQ,0BAA0B;IACpE,SAAS,CAAC,SAAS,SAAkC;IACrD,SAAS,CAAC,SAAS,SAAa;IAChC,OAAO,CAAC,gBAAgB,CAAM;IAE9B,SAAS,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAE1C;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUhC,iBAAiB,IAAI,IAAI;IAUzC,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAsBpE,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAQlC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBzD,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAUpC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAU5E;;;;;;;;;;;GAWG;AACH,qBAIa,sBAAuB,SAAQ,0BAA0B;IACpE,SAAS,CAAC,SAAS,SAAkC;IACrD,SAAS,CAAC,SAAS,SAAa;IAChC,OAAO,CAAC,gBAAgB,CAAM;IAE9B,SAAS,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAE1C;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUhC,iBAAiB,IAAI,IAAI;IAUzC,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAsBpE,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAQlC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBzD,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAUpC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid/autocomplete-grid.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAWlF;;;;;;;;;;;GAWG;AACH,qBAKa,0BAA2B,SAAQ,0BAA0B;IACxE,SAAS,CAAC,SAAS,SAAuC;IAC1D,SAAS,CAAC,SAAS,SAAU;IAC7B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAE/B,SAAS,KAAK,OAAO,IAAI,gCAAgC,EAAE,CAE1D;IAED,OAAO,KAAK,IAAI,GAMf;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUhC,iBAAiB,IAAI,IAAI;IAUzC,SAAS,CAAC,YAAY,IAAI,IAAI;IAU9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA2BpE;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAYlC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA8BzD,OAAO,CAAC,+BAA+B;IAmCvC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAkBpC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid/autocomplete-grid.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAWlF;;;;;;;;;;;GAWG;AACH,qBAIa,0BAA2B,SAAQ,0BAA0B;IACxE,SAAS,CAAC,SAAS,SAAuC;IAC1D,SAAS,CAAC,SAAS,SAAU;IAC7B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAE/B,SAAS,KAAK,OAAO,IAAI,gCAAgC,EAAE,CAE1D;IAED,OAAO,KAAK,IAAI,GAMf;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUhC,iBAAiB,IAAI,IAAI;IAUzC,SAAS,CAAC,YAAY,IAAI,IAAI;IAU9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA2BpE;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAYlC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA8BzD,OAAO,CAAC,+BAA+B;IAmCvC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAkBpC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -13,14 +13,11 @@ export declare class SbbAutocompleteGridButtonElement extends SbbAutocompleteGri
13
13
  get option(): SbbAutocompleteGridOptionElement | null;
14
14
  /** Whether the component must be set disabled due disabled attribute on sbb-optgroup. */
15
15
  private _disabledFromGroup;
16
- /** MutationObserver on data attributes. */
17
- private _optionAttributeObserver;
18
16
  constructor();
19
17
  protected isDisabledExternally(): boolean;
20
18
  protected renderTemplate(): TemplateResult;
21
19
  connectedCallback(): void;
22
20
  willUpdate(changedProperties: PropertyValues<this>): void;
23
- disconnectedCallback(): void;
24
21
  private _handleButtonClick;
25
22
  }
26
23
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-grid-button.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;;AAWvF;;;;GAIG;AACH,qBAOa,gCAAiC,SAAQ,qCAErD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,+EAA+E;IAC/E,IAAW,MAAM,IAAI,gCAAgC,GAAG,IAAI,CAK3D;IAED,yFAAyF;IACzF,OAAO,CAAC,kBAAkB,CAAS;IAEnC,2CAA2C;IAC3C,OAAO,CAAC,wBAAwB,CAO7B;;cAUgB,oBAAoB,IAAI,OAAO;cAI/B,cAAc,IAAI,cAAc;IAInC,iBAAiB,IAAI,IAAI;IAWzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOzD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,kBAAkB,CAIxB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}
1
+ {"version":3,"file":"autocomplete-grid-button.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAY,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;;AAWvF;;;;GAIG;AACH,qBAOa,gCAAiC,SAAQ,qCAErD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,+EAA+E;IAC/E,IAAW,MAAM,IAAI,gCAAgC,GAAG,IAAI,CAK3D;IAED,yFAAyF;IACzF,OAAO,CAAC,kBAAkB,CAAS;;cA0BhB,oBAAoB,IAAI,OAAO;cAI/B,cAAc,IAAI,cAAc;IAInC,iBAAiB,IAAI,IAAI;IAUzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOzE,OAAO,CAAC,kBAAkB,CAIxB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}
@@ -1,3 +1,4 @@
1
+ import { MutationController } from "@lit-labs/observers/mutation-controller.js";
1
2
  import { css, isServer } from "lit";
2
3
  import { customElement } from "lit/decorators.js";
3
4
  import { SbbActionBaseElement } from "../core/base-elements.js";
@@ -5,7 +6,6 @@ import { hostAttributes, slotState } from "../core/decorators.js";
5
6
  import { setOrRemoveAttribute } from "../core/dom.js";
6
7
  import { isEventPrevented } from "../core/eventing.js";
7
8
  import { SbbDisabledMixin, SbbNegativeMixin } from "../core/mixins.js";
8
- import { AgnosticMutationObserver } from "../core/observers.js";
9
9
  import { SbbIconNameMixin } from "../icon.js";
10
10
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
11
11
  /*
@@ -145,14 +145,6 @@ let SbbAutocompleteGridButtonElement = class extends SbbDisabledMixin(
145
145
  constructor() {
146
146
  super();
147
147
  this._disabledFromGroup = false;
148
- this._optionAttributeObserver = new AgnosticMutationObserver((mutationsList) => {
149
- for (const mutation of mutationsList) {
150
- if (mutation.attributeName === "data-group-disabled") {
151
- this._disabledFromGroup = this.hasAttribute("data-group-disabled");
152
- setOrRemoveAttribute(this, "aria-disabled", `${this.disabled || this._disabledFromGroup}`);
153
- }
154
- }
155
- });
156
148
  this._handleButtonClick = async (event) => {
157
149
  if (await isEventPrevented(event) || !this.closest("form")) {
158
150
  return;
@@ -161,6 +153,21 @@ let SbbAutocompleteGridButtonElement = class extends SbbDisabledMixin(
161
153
  if (!isServer) {
162
154
  this.setupBaseEventHandlers();
163
155
  this.addEventListener("click", this._handleButtonClick);
156
+ new MutationController(this, {
157
+ config: buttonObserverConfig,
158
+ callback: (mutationsList) => {
159
+ for (const mutation of mutationsList) {
160
+ if (mutation.attributeName === "data-group-disabled") {
161
+ this._disabledFromGroup = this.hasAttribute("data-group-disabled");
162
+ setOrRemoveAttribute(
163
+ this,
164
+ "aria-disabled",
165
+ `${this.disabled || this._disabledFromGroup}`
166
+ );
167
+ }
168
+ }
169
+ }
170
+ });
164
171
  }
165
172
  }
166
173
  /** Gets the SbbAutocompleteGridOptionElement on the same row of the button. */
@@ -182,7 +189,6 @@ let SbbAutocompleteGridButtonElement = class extends SbbDisabledMixin(
182
189
  this._disabledFromGroup = parentGroup.disabled;
183
190
  setOrRemoveAttribute(this, "aria-disabled", `${this.disabled || this._disabledFromGroup}`);
184
191
  }
185
- this._optionAttributeObserver.observe(this, buttonObserverConfig);
186
192
  }
187
193
  willUpdate(changedProperties) {
188
194
  super.willUpdate(changedProperties);
@@ -190,10 +196,6 @@ let SbbAutocompleteGridButtonElement = class extends SbbDisabledMixin(
190
196
  setOrRemoveAttribute(this, "aria-disabled", `${this.disabled || this._disabledFromGroup}`);
191
197
  }
192
198
  }
193
- disconnectedCallback() {
194
- super.disconnectedCallback();
195
- this._optionAttributeObserver.disconnect();
196
- }
197
199
  };
198
200
  SbbAutocompleteGridButtonElement.styles = style;
199
201
  SbbAutocompleteGridButtonElement = __decorateClass([
@@ -208,4 +210,4 @@ SbbAutocompleteGridButtonElement = __decorateClass([
208
210
  export {
209
211
  SbbAutocompleteGridButtonElement
210
212
  };
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uL2F1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBpc1NlcnZlciwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcywgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHNldE9yUmVtb3ZlQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaXNFdmVudFByZXZlbnRlZCB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlciB9IGZyb20gJy4uLy4uL2NvcmUvb2JzZXJ2ZXJzLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9hdXRvY29tcGxldGUtZ3JpZC1idXR0b24uc2Nzcz9saXQmaW5saW5lJztcblxubGV0IGF1dG9jb21wbGV0ZUJ1dHRvbk5leHRJZCA9IDA7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXR0cmlidXRlIHRvIGxvb2sgYXQgaWYgY29tcG9uZW50IGlzIG5lc3RlZCBpbiBhIHNiYi1vcHRncm91cCAqL1xuY29uc3QgYnV0dG9uT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGF0YS1ncm91cC1kaXNhYmxlZCddLFxufTtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpY29uLW9ubHkgYnV0dG9uIHRoYXQgY2FuIGJlIHVzZWQgaW4gYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAuXG4gKlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byBkaXNwbGF5IHRoZSBpY29uLCBpZiBvbmUgaXMgc2V0XG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICdidXR0b24nLFxuICB0YWJpbmRleDogbnVsbCxcbiAgJ2RhdGEtYnV0dG9uJzogJycsXG59KVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJOZWdhdGl2ZU1peGluKFNiYkljb25OYW1lTWl4aW4oU2JiQWN0aW9uQmFzZUVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogR2V0cyB0aGUgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgb24gdGhlIHNhbWUgcm93IG9mIHRoZSBidXR0b24uICovXG4gIHB1YmxpYyBnZXQgb3B0aW9uKCk6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpPy5xdWVyeVNlbGVjdG9yKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJykgfHxcbiAgICAgIG51bGxcbiAgICApO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBtdXN0IGJlIHNldCBkaXNhYmxlZCBkdWUgZGlzYWJsZWQgYXR0cmlidXRlIG9uIHNiYi1vcHRncm91cC4gKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWRGcm9tR3JvdXAgPSBmYWxzZTtcblxuICAvKiogTXV0YXRpb25PYnNlcnZlciBvbiBkYXRhIGF0dHJpYnV0ZXMuICovXG4gIHByaXZhdGUgX29wdGlvbkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zTGlzdCkgPT4ge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdkYXRhLWdyb3VwLWRpc2FibGVkJykge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZEZyb21Hcm91cCA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyk7XG4gICAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdhcmlhLWRpc2FibGVkJywgYCR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLl9kaXNhYmxlZEZyb21Hcm91cH1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuc2V0dXBCYXNlRXZlbnRIYW5kbGVycygpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX2hhbmRsZUJ1dHRvbkNsaWNrKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRnJvbUdyb3VwID8/IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gc3VwZXIucmVuZGVySWNvblNsb3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLSR7KythdXRvY29tcGxldGVCdXR0b25OZXh0SWR9YDtcbiAgICBjb25zdCBwYXJlbnRHcm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJyk7XG4gICAgaWYgKHBhcmVudEdyb3VwKSB7XG4gICAgICB0aGlzLl9kaXNhYmxlZEZyb21Hcm91cCA9IHBhcmVudEdyb3VwLmRpc2FibGVkO1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ2FyaWEtZGlzYWJsZWQnLCBgJHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuX2Rpc2FibGVkRnJvbUdyb3VwfWApO1xuICAgIH1cbiAgICB0aGlzLl9vcHRpb25BdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRoaXMsIGJ1dHRvbk9ic2VydmVyQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdhcmlhLWRpc2FibGVkJywgYCR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLl9kaXNhYmxlZEZyb21Hcm91cH1gKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9vcHRpb25BdHRyaWJ1dGVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVCdXR0b25DbGljayA9IGFzeW5jIChldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICgoYXdhaXQgaXNFdmVudFByZXZlbnRlZChldmVudCkpIHx8ICF0aGlzLmNsb3Nlc3QoJ2Zvcm0nKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nOiBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsSUFBSSwyQkFBMkI7QUFHL0IsTUFBTSx1QkFBNkM7QUFBQSxFQUNqRCxpQkFBaUIsQ0FBQyxxQkFBcUI7QUFDekM7QUFjTyxJQUFNLG1DQUFOLGNBQStDO0FBQUEsRUFDcEQsaUJBQWlCLGlCQUFpQixvQkFBb0IsQ0FBQztBQUN6RCxFQUFFO0FBQUEsRUF3Qk8sY0FBYztBQUNiO0FBYlIsU0FBUSxxQkFBcUI7QUFHN0IsU0FBUSwyQkFBMkIsSUFBSSx5QkFBeUIsQ0FBQyxrQkFBa0I7QUFDakYsaUJBQVcsWUFBWSxlQUFlO0FBQ2hDLFlBQUEsU0FBUyxrQkFBa0IsdUJBQXVCO0FBQy9DLGVBQUEscUJBQXFCLEtBQUssYUFBYSxxQkFBcUI7QUFDakUsK0JBQXFCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxZQUFZLEtBQUssa0JBQWtCLEVBQUU7QUFBQSxRQUMzRjtBQUFBLE1BQ0Y7QUFBQSxJQUFBLENBQ0Q7QUF5Q08sU0FBQSxxQkFBcUIsT0FBTyxVQUFxQztBQUNsRSxVQUFBLE1BQU0saUJBQWlCLEtBQUssS0FBTSxDQUFDLEtBQUssUUFBUSxNQUFNLEdBQUc7QUFDNUQ7QUFBQSxNQUNGO0FBQUEsSUFBQTtBQXhDQSxRQUFJLENBQUMsVUFBVTtBQUNiLFdBQUssdUJBQXVCO0FBQ3ZCLFdBQUEsaUJBQWlCLFNBQVMsS0FBSyxrQkFBa0I7QUFBQSxJQUN4RDtBQUFBLEVBQ0Y7QUFBQTtBQUFBLEVBMUJBLElBQVcsU0FBa0Q7O0FBQzNELGFBQ0UsVUFBSyxRQUFRLDJCQUEyQixNQUF4QyxtQkFBMkMsY0FBYyxvQ0FDekQ7QUFBQSxFQUVKO0FBQUEsRUF1Qm1CLHVCQUFnQztBQUNqRCxXQUFPLEtBQUssc0JBQXNCO0FBQUEsRUFDcEM7QUFBQSxFQUVtQixpQkFBaUM7QUFDbEQsV0FBTyxNQUFNO0VBQ2Y7QUFBQSxFQUVnQixvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbkIsU0FBQSxPQUFBLEtBQUEsS0FBTyxnQ0FBZ0MsRUFBRSx3QkFBd0I7QUFDaEUsVUFBQSxjQUFjLEtBQUssUUFBUSxnQ0FBZ0M7QUFDakUsUUFBSSxhQUFhO0FBQ2YsV0FBSyxxQkFBcUIsWUFBWTtBQUN0QywyQkFBcUIsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLFlBQVksS0FBSyxrQkFBa0IsRUFBRTtBQUFBLElBQzNGO0FBQ0ssU0FBQSx5QkFBeUIsUUFBUSxNQUFNLG9CQUFvQjtBQUFBLEVBQ2xFO0FBQUEsRUFFZ0IsV0FBVyxtQkFBK0M7QUFDeEUsVUFBTSxXQUFXLGlCQUFpQjtBQUM5QixRQUFBLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUNyQywyQkFBcUIsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLFlBQVksS0FBSyxrQkFBa0IsRUFBRTtBQUFBLElBQzNGO0FBQUEsRUFDRjtBQUFBLEVBRWdCLHVCQUE2QjtBQUMzQyxVQUFNLHFCQUFxQjtBQUMzQixTQUFLLHlCQUF5QjtFQUNoQztBQU9GO0FBdEVhLGlDQUdZLFNBQXlCO0FBSHJDLG1DQUFOLGdCQUFBO0FBQUEsRUFQTixjQUFjLDhCQUE4QjtBQUFBLEVBQzVDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxFQUFBLENBQ2hCO0FBQUEsRUFDQSxVQUFVO0FBQUEsR0FDRSxnQ0FBQTsifQ==
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uL2F1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaXNTZXJ2ZXIsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGlzRXZlbnRQcmV2ZW50ZWQgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBhdXRvY29tcGxldGVCdXR0b25OZXh0SWQgPSAwO1xuXG4vKiogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSB0byBsb29rIGF0IGlmIGNvbXBvbmVudCBpcyBuZXN0ZWQgaW4gYSBzYmItb3B0Z3JvdXAgKi9cbmNvbnN0IGJ1dHRvbk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgYXR0cmlidXRlRmlsdGVyOiBbJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnXSxcbn07XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaWNvbi1vbmx5IGJ1dHRvbiB0aGF0IGNhbiBiZSB1c2VkIGluIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgLlxuICpcbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAnYnV0dG9uJyxcbiAgdGFiaW5kZXg6IG51bGwsXG4gICdkYXRhLWJ1dHRvbic6ICcnLFxufSlcbkBzbG90U3RhdGUoKVxuZXhwb3J0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiTmVnYXRpdmVNaXhpbihTYmJJY29uTmFtZU1peGluKFNiYkFjdGlvbkJhc2VFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIEdldHMgdGhlIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IG9uIHRoZSBzYW1lIHJvdyBvZiB0aGUgYnV0dG9uLiAqL1xuICBwdWJsaWMgZ2V0IG9wdGlvbigpOiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cnKT8ucXVlcnlTZWxlY3Rvcignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbicpIHx8XG4gICAgICBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgbXVzdCBiZSBzZXQgZGlzYWJsZWQgZHVlIGRpc2FibGVkIGF0dHJpYnV0ZSBvbiBzYmItb3B0Z3JvdXAuICovXG4gIHByaXZhdGUgX2Rpc2FibGVkRnJvbUdyb3VwID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5zZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5faGFuZGxlQnV0dG9uQ2xpY2spO1xuXG4gICAgICBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgY29uZmlnOiBidXR0b25PYnNlcnZlckNvbmZpZyxcbiAgICAgICAgY2FsbGJhY2s6IChtdXRhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICAgICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkRnJvbUdyb3VwID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKTtcbiAgICAgICAgICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAnYXJpYS1kaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLl9kaXNhYmxlZEZyb21Hcm91cH1gLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWRGcm9tR3JvdXAgPz8gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uU2xvdCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24tJHsrK2F1dG9jb21wbGV0ZUJ1dHRvbk5leHRJZH1gO1xuICAgIGNvbnN0IHBhcmVudEdyb3VwID0gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAnKTtcbiAgICBpZiAocGFyZW50R3JvdXApIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkRnJvbUdyb3VwID0gcGFyZW50R3JvdXAuZGlzYWJsZWQ7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAnYXJpYS1kaXNhYmxlZCcsIGAke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5fZGlzYWJsZWRGcm9tR3JvdXB9YCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ2FyaWEtZGlzYWJsZWQnLCBgJHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuX2Rpc2FibGVkRnJvbUdyb3VwfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUJ1dHRvbkNsaWNrID0gYXN5bmMgKGV2ZW50OiBNb3VzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKChhd2FpdCBpc0V2ZW50UHJldmVudGVkKGV2ZW50KSkgfHwgIXRoaXMuY2xvc2VzdCgnZm9ybScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9O1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbic6IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSxJQUFJLDJCQUEyQjtBQUcvQixNQUFNLHVCQUE2QztBQUFBLEVBQ2pELGlCQUFpQixDQUFDLHFCQUFxQjtBQUN6QztBQWNPLElBQU0sbUNBQU4sY0FBK0M7QUFBQSxFQUNwRCxpQkFBaUIsaUJBQWlCLG9CQUFvQixDQUFDO0FBQ3pELEVBQUU7QUFBQSxFQWNPLGNBQWM7QUFDYjtBQUhSLFNBQVEscUJBQXFCO0FBbURyQixTQUFBLHFCQUFxQixPQUFPLFVBQXFDO0FBQ2xFLFVBQUEsTUFBTSxpQkFBaUIsS0FBSyxLQUFNLENBQUMsS0FBSyxRQUFRLE1BQU0sR0FBRztBQUM1RDtBQUFBLE1BQ0Y7QUFBQSxJQUFBO0FBbERBLFFBQUksQ0FBQyxVQUFVO0FBQ2IsV0FBSyx1QkFBdUI7QUFDdkIsV0FBQSxpQkFBaUIsU0FBUyxLQUFLLGtCQUFrQjtBQUV0RCxVQUFJLG1CQUFtQixNQUFNO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsVUFBVSxDQUFDLGtCQUFrQjtBQUMzQixxQkFBVyxZQUFZLGVBQWU7QUFDaEMsZ0JBQUEsU0FBUyxrQkFBa0IsdUJBQXVCO0FBQy9DLG1CQUFBLHFCQUFxQixLQUFLLGFBQWEscUJBQXFCO0FBQ2pFO0FBQUEsZ0JBQ0U7QUFBQSxnQkFDQTtBQUFBLGdCQUNBLEdBQUcsS0FBSyxZQUFZLEtBQUssa0JBQWtCO0FBQUEsY0FBQTtBQUFBLFlBRS9DO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxNQUFBLENBQ0Q7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUFBO0FBQUEsRUFoQ0EsSUFBVyxTQUFrRDs7QUFDM0QsYUFDRSxVQUFLLFFBQVEsMkJBQTJCLE1BQXhDLG1CQUEyQyxjQUFjLG9DQUN6RDtBQUFBLEVBRUo7QUFBQSxFQTZCbUIsdUJBQWdDO0FBQ2pELFdBQU8sS0FBSyxzQkFBc0I7QUFBQSxFQUNwQztBQUFBLEVBRW1CLGlCQUFpQztBQUNsRCxXQUFPLE1BQU07RUFDZjtBQUFBLEVBRWdCLG9CQUEwQjtBQUN4QyxVQUFNLGtCQUFrQjtBQUNuQixTQUFBLE9BQUEsS0FBQSxLQUFPLGdDQUFnQyxFQUFFLHdCQUF3QjtBQUNoRSxVQUFBLGNBQWMsS0FBSyxRQUFRLGdDQUFnQztBQUNqRSxRQUFJLGFBQWE7QUFDZixXQUFLLHFCQUFxQixZQUFZO0FBQ3RDLDJCQUFxQixNQUFNLGlCQUFpQixHQUFHLEtBQUssWUFBWSxLQUFLLGtCQUFrQixFQUFFO0FBQUEsSUFDM0Y7QUFBQSxFQUNGO0FBQUEsRUFFZ0IsV0FBVyxtQkFBK0M7QUFDeEUsVUFBTSxXQUFXLGlCQUFpQjtBQUM5QixRQUFBLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUNyQywyQkFBcUIsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLFlBQVksS0FBSyxrQkFBa0IsRUFBRTtBQUFBLElBQzNGO0FBQUEsRUFDRjtBQU9GO0FBdEVhLGlDQUdZLFNBQXlCO0FBSHJDLG1DQUFOLGdCQUFBO0FBQUEsRUFQTixjQUFjLDhCQUE4QjtBQUFBLEVBQzVDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxFQUFBLENBQ2hCO0FBQUEsRUFDQSxVQUFVO0FBQUEsR0FDRSxnQ0FBQTsifQ==
@@ -2,7 +2,7 @@ import { customElement } from "lit/decorators.js";
2
2
  import { SbbAutocompleteBaseElement } from "../autocomplete.js";
3
3
  import { getNextElementIndex } from "../core/a11y.js";
4
4
  import { hostAttributes } from "../core/decorators.js";
5
- import { getDocumentWritingMode, isSafari } from "../core/dom.js";
5
+ import { isSafari } from "../core/dom.js";
6
6
  import { setAriaComboBoxAttributes } from "../core/overlay.js";
7
7
  import { SbbAutocompleteGridOptionElement } from "./autocomplete-grid-option.js";
8
8
  var __defProp = Object.defineProperty;
@@ -175,11 +175,10 @@ let SbbAutocompleteGridElement = class extends SbbAutocompleteBaseElement {
175
175
  SbbAutocompleteGridElement = __decorateClass([
176
176
  customElement("sbb-autocomplete-grid"),
177
177
  hostAttributes({
178
- dir: getDocumentWritingMode(),
179
178
  role: ariaRoleOnHost ? "grid" : null
180
179
  })
181
180
  ], SbbAutocompleteGridElement);
182
181
  export {
183
182
  SbbAutocompleteGridElement
184
183
  };
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGdldERvY3VtZW50V3JpdGluZ01vZGUsIGlzU2FmYXJpIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vZGl2aWRlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uLy4uL29wdGlvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmpzJztcbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlR3JpZFJvd0VsZW1lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUtZ3JpZC1yb3cuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgYSBwYW5lbCB3aXRoIGEgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucyB3aXRoIGNvbm5lY3RlZCBidXR0b25zLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93YCBvciBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwYCBlbGVtZW50cyB0byB0aGUgYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1hdXRvY29tcGxldGUtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIGRpcjogZ2V0RG9jdW1lbnRXcml0aW5nTW9kZSgpLFxuICByb2xlOiBhcmlhUm9sZU9uSG9zdCA/ICdncmlkJyA6IG51bGwsXG59KVxuZXhwb3J0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRFbGVtZW50IGV4dGVuZHMgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQge1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC0keysrbmV4dElkfWA7XG4gIHByb3RlY3RlZCBwYW5lbFJvbGUgPSAnZ3JpZCc7XG4gIHByaXZhdGUgX2FjdGl2ZUl0ZW1JbmRleCA9IC0xO1xuICBwcml2YXRlIF9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG5cbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3JvdygpOiBTYmJBdXRvY29tcGxldGVHcmlkUm93RWxlbWVudFtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpKS5maWx0ZXIoXG4gICAgICAgIChyb3cpID0+ICFyb3cuaGFzQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJyksXG4gICAgICApID8/IFtdXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbk9wdGlvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJyB8fFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBTYmJPcHRpb25FbGVtZW50KS5kaXNhYmxlZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLmFib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0aW9uQ2hhbmdlJyxcbiAgICAgIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGUpLFxuICAgICAgeyBzaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJEaXZpZGVyRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50PihcbiAgICAgICdzYmItZGl2aWRlciwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicsXG4gICAgKS5mb3JFYWNoKChlKSA9PiAoZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpKTtcblxuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IHwgU2JiT3B0R3JvdXBFbGVtZW50PihcbiAgICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAnLFxuICAgICkuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIHRoaXMuc2VsZWN0QnlLZXlib2FyZCgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICB0aGlzLl9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFuIGVsZW1lbnQgb24gJ0VudGVyJyBrZXlwcmVzcy5cbiAgICpcbiAgICogRHVlIHRvIGtleWJvYXJkIG5hdmlnYXRpb24gY29kZSwgdGhlIGBfYWN0aXZlQ29sdW1uSW5kZXhgIGlzIHplcm8gd2hlbiBhbiBvcHRpb24gaXMgJ2ZvY3VzZWQnXG4gICAqIGFuZCBncmVhdGVyIHRoYW4gemVybyB3aGVuIGEgYnV0dG9uIGlzICdmb2N1c2VkJywgc28gYXNraW5nIGZvciBgcXVlcnlTZWxlY3RvckFsbCguLi4pW3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XWBcbiAgICogd291bGQgYWx3YXlzIHJldHVybiBhIGBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIChcbiAgICAgICAgdGhpcy5fcm93W3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF0ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicsXG4gICAgICAgIClbdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXhdIGFzIFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50XG4gICAgICApLmNsaWNrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9uc1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdPy5zZXRTZWxlY3RlZFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAob3B0KSA9PiAhb3B0LmRpc2FibGVkICYmICFvcHQuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyksXG4gICAgKTtcblxuICAgIC8vIEdldCBhbmQgYWN0aXZhdGUgdGhlIG5leHQgYWN0aXZlIG9wdGlvblxuICAgIGNvbnN0IG5leHQgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2ZW50LCB0aGlzLl9hY3RpdmVJdGVtSW5kZXgsIGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIGlmIChpc05hTihuZXh0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXh0QWN0aXZlT3B0aW9uID0gZmlsdGVyZWRPcHRpb25zW25leHRdO1xuICAgIG5leHRBY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgbmV4dEFjdGl2ZU9wdGlvbi5pZCk7XG4gICAgbmV4dEFjdGl2ZU9wdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG5cbiAgICAvLyBSZXNldCB0aGUgcHJldmlvdXMgYWN0aXZlIG9wdGlvbi9idXR0b25cbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIHRoaXMuX3Jvd1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdXG4gICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJylcbiAgICAgICAgLmZvckVhY2goKGUpID0+IGUudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnLCBmYWxzZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsYXN0QWN0aXZlT3B0aW9uID0gZmlsdGVyZWRPcHRpb25zW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF07XG4gICAgICBpZiAobGFzdEFjdGl2ZU9wdGlvbikge1xuICAgICAgICBsYXN0QWN0aXZlT3B0aW9uLnNldEFjdGl2ZShmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IG5leHQ7XG4gICAgdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggPSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmV4dEhvcml6b250YWxBY3RpdmVFbGVtZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50c0luUm93OiAoU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfCBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudClbXSA9XG4gICAgICBBcnJheS5mcm9tKFxuICAgICAgICB0aGlzLl9yb3dbdGhpcy5fYWN0aXZlSXRlbUluZGV4XS5xdWVyeVNlbGVjdG9yQWxsPFxuICAgICAgICAgIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnRcbiAgICAgICAgPignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpLFxuICAgICAgKS5maWx0ZXIoKGVsKSA9PiAhZWwuZGlzYWJsZWQgJiYgIWVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcpKTtcbiAgICBjb25zdCBuZXh0OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2ZW50LCB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCwgZWxlbWVudHNJblJvdy5sZW5ndGgpO1xuICAgIGlmIChpc05hTihuZXh0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXh0RWxlbWVudDogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfCBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudCA9XG4gICAgICBlbGVtZW50c0luUm93W25leHRdO1xuICAgIGlmIChuZXh0RWxlbWVudCBpbnN0YW5jZW9mIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50KSB7XG4gICAgICBuZXh0RWxlbWVudC5zZXRBY3RpdmUodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFjdGl2ZUVsZW1lbnQ6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgZWxlbWVudHNJblJvd1t0aGlzLl9hY3RpdmVDb2x1bW5JbmRleF07XG4gICAgaWYgKGxhc3RBY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQpIHtcbiAgICAgIGxhc3RBY3RpdmVFbGVtZW50LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhc3RBY3RpdmVFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIG5leHRFbGVtZW50LmlkKTtcbiAgICBuZXh0RWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gICAgdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggPSBuZXh0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0QWN0aXZlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIHRoaXMuX3Jvd1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdXG4gICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJylcbiAgICAgICAgLmZvckVhY2goKGUpID0+IGUudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnLCBmYWxzZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gdGhpcy5vcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdCkgPT4gIW9wdC5kaXNhYmxlZCAmJiAhb3B0Lmhhc0F0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcpLFxuICAgICAgKVt0aGlzLl9hY3RpdmVJdGVtSW5kZXhdO1xuICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgYWN0aXZlRWxlbWVudC5zZXRBY3RpdmUoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9hY3RpdmVJdGVtSW5kZXggPSAtMTtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUcmlnZ2VyQXR0cmlidXRlcyhlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50LCBhcmlhUm9sZU9uSG9zdCA/IHRoaXMuaWQgOiB0aGlzLm92ZXJsYXlJZCwgZmFsc2UsICdncmlkJyk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCc6IFNiYkF1dG9jb21wbGV0ZUdyaWRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSxJQUFJLFNBQVM7QUFNYixNQUFNLGlCQUFpQjtBQW1CVixJQUFBLDZCQUFOLGNBQXlDLDJCQUEyQjtBQUFBLEVBQXBFLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQUNLLFNBQUEsWUFBWSx5QkFBeUIsRUFBRSxNQUFNO0FBQ3ZELFNBQVUsWUFBWTtBQUN0QixTQUFRLG1CQUFtQjtBQUMzQixTQUFRLHFCQUFxQjtBQUFBLEVBQUE7QUFBQSxFQUU3QixJQUFjLFVBQThDOztBQUMxRCxXQUFPLE1BQU0sT0FBSyxVQUFLLHFCQUFMLDhCQUF3QixvQ0FBbUMsQ0FBQSxDQUFFO0FBQUEsRUFDakY7QUFBQSxFQUVBLElBQVksT0FBd0M7O0FBQ2xELFdBQ0UsTUFBTSxNQUFLLFVBQUsscUJBQUwsOEJBQXdCLDRCQUE0QixFQUFFO0FBQUEsTUFDL0QsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLGVBQWU7QUFBQSxTQUN2QztFQUVUO0FBQUEsRUFFVSxjQUFjLE9BQXlCO0FBQy9DLFFBQ0csTUFBTSxPQUFtQixjQUFjLGtDQUN2QyxNQUFNLE9BQTRCLFVBQ25DO0FBQ0E7QUFBQSxJQUNGO0FBQ0EsU0FBSyxNQUFNO0FBQUEsRUFDYjtBQUFBLEVBRWdCLG9CQUEwQjtBQUN4QyxVQUFNLGtCQUFrQjtBQUNsQixVQUFBLFNBQVMsS0FBSyxNQUFNO0FBQ3JCLFNBQUE7QUFBQSxNQUNIO0FBQUEsTUFDQSxDQUFDLE1BQXlCLEtBQUssaUJBQWlCLENBQUM7QUFBQSxNQUNqRCxFQUFFLE9BQU87QUFBQSxJQUFBO0FBQUEsRUFFYjtBQUFBLEVBRVUsZUFBcUI7O0FBQ3hCLGVBQUEscUJBQUE7QUFBQTtBQUFBLE1BQ0g7QUFBQSxNQUNBLFFBQVEsQ0FBQyxNQUFP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
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vZGl2aWRlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uLy4uL29wdGlvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmpzJztcbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlR3JpZFJvd0VsZW1lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUtZ3JpZC1yb3cuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgYSBwYW5lbCB3aXRoIGEgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucyB3aXRoIGNvbm5lY3RlZCBidXR0b25zLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93YCBvciBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwYCBlbGVtZW50cyB0byB0aGUgYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1hdXRvY29tcGxldGUtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6IGFyaWFSb2xlT25Ib3N0ID8gJ2dyaWQnIDogbnVsbCxcbn0pXG5leHBvcnQgY2xhc3MgU2JiQXV0b2NvbXBsZXRlR3JpZEVsZW1lbnQgZXh0ZW5kcyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB7XG4gIHByb3RlY3RlZCBvdmVybGF5SWQgPSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLSR7KytuZXh0SWR9YDtcbiAgcHJvdGVjdGVkIHBhbmVsUm9sZSA9ICdncmlkJztcbiAgcHJpdmF0ZSBfYWN0aXZlSXRlbUluZGV4ID0gLTE7XG4gIHByaXZhdGUgX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfcm93KCk6IFNiYkF1dG9jb21wbGV0ZUdyaWRSb3dFbGVtZW50W10ge1xuICAgIHJldHVybiAoXG4gICAgICBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JykpLmZpbHRlcihcbiAgICAgICAgKHJvdykgPT4gIXJvdy5oYXNBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnKSxcbiAgICAgICkgPz8gW11cbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uT3B0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nIHx8XG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIFNiYk9wdGlvbkVsZW1lbnQpLmRpc2FibGVkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdhdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2UnLFxuICAgICAgKGU6IEN1c3RvbUV2ZW50PHZvaWQ+KSA9PiB0aGlzLm9uT3B0aW9uU2VsZWN0ZWQoZSksXG4gICAgICB7IHNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkRpdmlkZXJFbGVtZW50IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQ+KFxuICAgICAgJ3NiYi1kaXZpZGVyLCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJyxcbiAgICApLmZvckVhY2goKGUpID0+IChlLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZSkpO1xuXG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfCBTYmJPcHRHcm91cEVsZW1lbnQ+KFxuICAgICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3csIHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24sIHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgdGhpcy5zZWxlY3RCeUtleWJvYXJkKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIHRoaXMuX3NldE5leHRIb3Jpem9udGFsQWN0aXZlRWxlbWVudChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYW4gZWxlbWVudCBvbiAnRW50ZXInIGtleXByZXNzLlxuICAgKlxuICAgKiBEdWUgdG8ga2V5Ym9hcmQgbmF2aWdhdGlvbiBjb2RlLCB0aGUgYF9hY3RpdmVDb2x1bW5JbmRleGAgaXMgemVybyB3aGVuIGFuIG9wdGlvbiBpcyAnZm9jdXNlZCdcbiAgICogYW5kIGdyZWF0ZXIgdGhhbiB6ZXJvIHdoZW4gYSBidXR0b24gaXMgJ2ZvY3VzZWQnLCBzbyBhc2tpbmcgZm9yIGBxdWVyeVNlbGVjdG9yQWxsKC4uLilbdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXhdYFxuICAgKiB3b3VsZCBhbHdheXMgcmV0dXJuIGEgYFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50YC5cbiAgICovXG4gIHByb3RlY3RlZCBzZWxlY3RCeUtleWJvYXJkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAhPT0gMCkge1xuICAgICAgKFxuICAgICAgICB0aGlzLl9yb3dbdGhpcy5fYWN0aXZlSXRlbUluZGV4XS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJyxcbiAgICAgICAgKVt0aGlzLl9hY3RpdmVDb2x1bW5JbmRleF0gYXMgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnRcbiAgICAgICkuY2xpY2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF0/LnNldFNlbGVjdGVkVmlhVXNlckludGVyYWN0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcihcbiAgICAgIChvcHQpID0+ICFvcHQuZGlzYWJsZWQgJiYgIW9wdC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSxcbiAgICApO1xuXG4gICAgLy8gR2V0IGFuZCBhY3RpdmF0ZSB0aGUgbmV4dCBhY3RpdmUgb3B0aW9uXG4gICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCwgZmlsdGVyZWRPcHRpb25zLmxlbmd0aCk7XG4gICAgaWYgKGlzTmFOKG5leHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5leHRBY3RpdmVPcHRpb24gPSBmaWx0ZXJlZE9wdGlvbnNbbmV4dF07XG4gICAgbmV4dEFjdGl2ZU9wdGlvbi5zZXRBY3RpdmUodHJ1ZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBuZXh0QWN0aXZlT3B0aW9uLmlkKTtcbiAgICBuZXh0QWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblxuICAgIC8vIFJlc2V0IHRoZSBwcmV2aW91cyBhY3RpdmUgb3B0aW9uL2J1dHRvblxuICAgIGlmICh0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAhPT0gMCkge1xuICAgICAgdGhpcy5fcm93W3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF1cbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nKVxuICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZS50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZm9jdXMtdmlzaWJsZScsIGZhbHNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxhc3RBY3RpdmVPcHRpb24gPSBmaWx0ZXJlZE9wdGlvbnNbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcbiAgICAgIGlmIChsYXN0QWN0aXZlT3B0aW9uKSB7XG4gICAgICAgIGxhc3RBY3RpdmVPcHRpb24uc2V0QWN0aXZlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYWN0aXZlSXRlbUluZGV4ID0gbmV4dDtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG4gIH1cblxuICBwcml2YXRlIF9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlSXRlbUluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzSW5Sb3c6IChTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50KVtdID1cbiAgICAgIEFycmF5LmZyb20oXG4gICAgICAgIHRoaXMuX3Jvd1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdLnF1ZXJ5U2VsZWN0b3JBbGw8XG4gICAgICAgICAgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfCBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudFxuICAgICAgICA+KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJyksXG4gICAgICApLmZpbHRlcigoZWwpID0+ICFlbC5kaXNhYmxlZCAmJiAhZWwuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJykpO1xuICAgIGNvbnN0IG5leHQ6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4LCBlbGVtZW50c0luUm93Lmxlbmd0aCk7XG4gICAgaWYgKGlzTmFOKG5leHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5leHRFbGVtZW50OiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50ID1cbiAgICAgIGVsZW1lbnRzSW5Sb3dbbmV4dF07XG4gICAgaWYgKG5leHRFbGVtZW50IGluc3RhbmNlb2YgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQpIHtcbiAgICAgIG5leHRFbGVtZW50LnNldEFjdGl2ZSh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV4dEVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnLCB0cnVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0QWN0aXZlRWxlbWVudDogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfCBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudCA9XG4gICAgICBlbGVtZW50c0luUm93W3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XTtcbiAgICBpZiAobGFzdEFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbGFzdEFjdGl2ZUVsZW1lbnQuc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdEFjdGl2ZUVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnLCBmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgbmV4dEVsZW1lbnQuaWQpO1xuICAgIG5leHRFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IG5leHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzZXRBY3RpdmVFbGVtZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAhPT0gMCkge1xuICAgICAgdGhpcy5fcm93W3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF1cbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nKVxuICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZS50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZm9jdXMtdmlzaWJsZScsIGZhbHNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAob3B0KSA9PiAhb3B0LmRpc2FibGVkICYmICFvcHQuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyksXG4gICAgICApW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF07XG4gICAgICBpZiAoYWN0aXZlRWxlbWVudCkge1xuICAgICAgICBhY3RpdmVFbGVtZW50LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IC0xO1xuICAgIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKGVsZW1lbnQsIGFyaWFSb2xlT25Ib3N0ID8gdGhpcy5pZCA6IHRoaXMub3ZlcmxheUlkLCBmYWxzZSwgJ2dyaWQnKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlk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