@sbb-esta/lyne-elements-dev 4.11.0-dev.1776924022 → 4.11.0-dev.1776928413

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 (356) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-BryH362a.js → autocomplete-base-element-DNoAdA1R.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/{block-link-common-BwXob5QE.js → block-link-common-1kRa_czx.js} +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/breadcrumb/breadcrumb-group.js +1 -1
  9. package/{breadcrumb-group.component-F3-JZkfO.js → breadcrumb-group.component-CKNsaUqs.js} +1 -1
  10. package/breadcrumb.js +1 -1
  11. package/breadcrumb.pure.js +1 -1
  12. package/button/common/button-common.js +1 -1
  13. package/button/common.js +1 -1
  14. package/button-common-BMEhm-dn.js +87 -0
  15. package/button.js +1 -1
  16. package/button.pure.js +1 -1
  17. package/calendar/calendar/calendar.component.js +1 -1
  18. package/calendar/calendar.js +1 -1
  19. package/{calendar.component-Cq0m3E48.js → calendar.component-C1jk_uE0.js} +1 -1
  20. package/calendar.js +1 -1
  21. package/calendar.pure.js +1 -1
  22. package/card/card-badge/card-badge.component.js +1 -1
  23. package/card/card-badge.js +1 -1
  24. package/{card-badge.component-BSOEYrN4.js → card-badge.component-D0r2iixU.js} +1 -1
  25. package/card.js +1 -1
  26. package/card.pure.js +1 -1
  27. package/checkbox/checkbox.component.js +1 -1
  28. package/checkbox/checkbox.js +1 -1
  29. package/checkbox/common/checkbox-common.js +1 -1
  30. package/checkbox/common.js +1 -1
  31. package/{checkbox-common-DdieysTG.js → checkbox-common-BpW4_bbi.js} +1 -1
  32. package/{checkbox.component-ROzxEnPh.js → checkbox.component-DS48CA_v.js} +1 -1
  33. package/checkbox.js +2 -2
  34. package/checkbox.pure.js +2 -2
  35. package/chip/chip-group/chip-group.component.js +1 -1
  36. package/chip/chip-group.js +1 -1
  37. package/{chip-group.component-DJzUToem.js → chip-group.component-BqBYzfXA.js} +1 -1
  38. package/chip.js +1 -1
  39. package/chip.pure.js +1 -1
  40. package/{compact-paginator.component-Cyi-t_YD.js → compact-paginator.component-BIAPutro.js} +1 -1
  41. package/core/styles/core.scss +17 -73
  42. package/core/styles/mixins/typo.scss +2 -2
  43. package/core.css +67 -65
  44. package/development/autocomplete/autocomplete-base-element.js +1 -1
  45. package/development/autocomplete/autocomplete.component.js +1 -1
  46. package/development/autocomplete-base-element-BR5zqYyY.js +692 -0
  47. package/development/autocomplete.js +1 -1
  48. package/development/autocomplete.pure.js +1 -1
  49. package/development/{block-link-common-Dh1NOKxB.js → block-link-common-COY1RI1I.js} +2 -2
  50. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  51. package/development/breadcrumb/breadcrumb-group.js +1 -1
  52. package/development/breadcrumb-group.component-DZslNBlB.js +195 -0
  53. package/development/breadcrumb.js +1 -1
  54. package/development/breadcrumb.pure.js +1 -1
  55. package/development/button/common/button-common.js +1 -1
  56. package/development/button/common.js +1 -1
  57. package/development/{button-common-CAu09Yim.js → button-common-7dmrUx4A.js} +3 -3
  58. package/development/button.js +1 -1
  59. package/development/button.pure.js +1 -1
  60. package/development/calendar/calendar/calendar.component.js +1 -1
  61. package/development/calendar/calendar.js +1 -1
  62. package/development/calendar.component-Dg3D2A7k.js +1453 -0
  63. package/development/calendar.js +1 -1
  64. package/development/calendar.pure.js +1 -1
  65. package/development/card/card-badge/card-badge.component.js +1 -1
  66. package/development/card/card-badge.js +1 -1
  67. package/development/card-badge.component-CUZIoVbL.js +84 -0
  68. package/development/card.js +1 -1
  69. package/development/card.pure.js +1 -1
  70. package/development/checkbox/checkbox.component.js +1 -1
  71. package/development/checkbox/checkbox.js +1 -1
  72. package/development/checkbox/common/checkbox-common.js +1 -1
  73. package/development/checkbox/common.js +1 -1
  74. package/development/checkbox-common-Dd5uup8K.js +86 -0
  75. package/development/{checkbox.component-D3_FFSys.js → checkbox.component-CFZrwUTA.js} +2 -2
  76. package/development/checkbox.js +2 -2
  77. package/development/checkbox.pure.js +2 -2
  78. package/development/chip/chip-group/chip-group.component.js +1 -1
  79. package/development/chip/chip-group.js +1 -1
  80. package/development/chip-group.component-BVfHWX2-.js +409 -0
  81. package/development/chip.js +1 -1
  82. package/development/chip.pure.js +1 -1
  83. package/development/compact-paginator.component-5_Q2Reul.js +51 -0
  84. package/development/error.component-OBpWoVRL.js +55 -0
  85. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  86. package/development/expansion-panel/expansion-panel-header.js +1 -1
  87. package/development/expansion-panel-header.component-BEAabEE0.js +85 -0
  88. package/development/expansion-panel.js +1 -1
  89. package/development/expansion-panel.pure.js +1 -1
  90. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  91. package/development/file-selector/file-selector-dropzone.js +1 -1
  92. package/development/{file-selector-dropzone.component-B-cBO4bf.js → file-selector-dropzone.component-xfkQt0VX.js} +2 -2
  93. package/development/file-selector.js +1 -1
  94. package/development/file-selector.pure.js +1 -1
  95. package/development/footer/footer.component.js +1 -1
  96. package/development/footer.component-BmDkxYW9.js +172 -0
  97. package/development/footer.js +1 -1
  98. package/development/footer.pure.js +1 -1
  99. package/development/form-field/error/error.component.js +1 -1
  100. package/development/form-field/error.js +1 -1
  101. package/development/form-field/form-field/form-field.component.js +1 -1
  102. package/development/form-field/form-field.js +1 -1
  103. package/development/form-field/hint/hint.component.js +1 -1
  104. package/development/form-field.component-BU3Sv2mD.js +707 -0
  105. package/development/form-field.js +3 -3
  106. package/development/form-field.pure.js +3 -3
  107. package/development/header/header/header.component.js +1 -1
  108. package/development/header/header.js +1 -1
  109. package/development/header.component-CWJ36jF0.js +340 -0
  110. package/development/header.js +1 -1
  111. package/development/header.pure.js +1 -1
  112. package/development/hint.component-DUtL0RS3.js +38 -0
  113. package/development/link/common/block-link-common.js +1 -1
  114. package/development/link/common.js +1 -1
  115. package/development/link.js +1 -1
  116. package/development/link.pure.js +1 -1
  117. package/development/message/message.component.js +1 -1
  118. package/development/message.component-Dlf5V5ba.js +44 -0
  119. package/development/message.js +1 -1
  120. package/development/message.pure.js +1 -1
  121. package/development/navigation/common/navigation-action-common.js +1 -1
  122. package/development/navigation/common.js +1 -1
  123. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  124. package/development/navigation/navigation-marker.js +1 -1
  125. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  126. package/development/navigation/navigation-section.js +1 -1
  127. package/development/{navigation-action-common-DpBp7-eZ.js → navigation-action-common-Hjr4dI9J.js} +2 -2
  128. package/development/{navigation-marker.component-BpZdT4xz.js → navigation-marker.component-GOv42emC.js} +2 -2
  129. package/development/{navigation-section.component-CtZtuacK.js → navigation-section.component-CnVrRETN.js} +2 -2
  130. package/development/navigation.js +3 -3
  131. package/development/navigation.pure.js +3 -3
  132. package/development/notification/notification.component.js +1 -1
  133. package/development/notification.component-Cvq_uViC.js +274 -0
  134. package/development/notification.js +1 -1
  135. package/development/notification.pure.js +1 -1
  136. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  137. package/development/paginator/compact-paginator.js +1 -1
  138. package/development/paginator/paginator/paginator.component.js +1 -1
  139. package/development/paginator/paginator.js +1 -1
  140. package/development/paginator.component-Bn5tK0FK.js +259 -0
  141. package/development/paginator.js +2 -2
  142. package/development/paginator.pure.js +2 -2
  143. package/development/radio-button/common/radio-button-common.js +1 -1
  144. package/development/radio-button/common.js +1 -1
  145. package/development/radio-button/radio-button.component.js +1 -1
  146. package/development/radio-button/radio-button.js +1 -1
  147. package/development/radio-button-common--d3WX-ZM.js +126 -0
  148. package/development/{radio-button.component-BrQF2FfA.js → radio-button.component-BauLEeCV.js} +2 -2
  149. package/development/radio-button.js +2 -2
  150. package/development/radio-button.pure.js +2 -2
  151. package/development/select/select.component.js +1 -1
  152. package/development/select.component-CkwuT_xi.js +812 -0
  153. package/development/select.js +1 -1
  154. package/development/select.pure.js +1 -1
  155. package/development/status/status.component.js +1 -1
  156. package/development/status.component-CPi1cPN0.js +111 -0
  157. package/development/status.js +1 -1
  158. package/development/status.pure.js +1 -1
  159. package/development/step-label.component-BJ9eainz.js +131 -0
  160. package/development/stepper/step-label/step-label.component.js +1 -1
  161. package/development/stepper/step-label.js +1 -1
  162. package/development/stepper.js +1 -1
  163. package/development/stepper.pure.js +1 -1
  164. package/development/styles-Jlhoev1S.js +14 -0
  165. package/development/{tab-label.component-14j2eh4Z.js → tab-label.component-B9e9kgVf.js} +2 -2
  166. package/development/tabs/common/styles.js +1 -1
  167. package/development/tabs/common.js +1 -1
  168. package/development/tabs/tab-label/tab-label.component.js +1 -1
  169. package/development/tabs/tab-label.js +1 -1
  170. package/development/tabs.js +2 -2
  171. package/development/tabs.pure.js +2 -2
  172. package/development/tag/tag/tag.component.js +1 -1
  173. package/development/tag/tag.js +1 -1
  174. package/development/tag.component-Bl1nlIXQ.js +245 -0
  175. package/development/tag.js +1 -1
  176. package/development/tag.pure.js +1 -1
  177. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  178. package/development/{timetable-occupancy.component-dhpPJEaI.js → timetable-occupancy.component-BBcznUh0.js} +2 -2
  179. package/development/timetable-occupancy.js +1 -1
  180. package/development/timetable-occupancy.pure.js +1 -1
  181. package/development/title/title-base.js +1 -1
  182. package/development/title/title.component.js +1 -1
  183. package/development/{title-base-CBE_2Hkb.js → title-base-BdYKwj3-.js} +2 -2
  184. package/development/{title.component-Dk23JVct.js → title.component-DSXVkddh.js} +2 -2
  185. package/development/title.js +2 -2
  186. package/development/title.pure.js +2 -2
  187. package/development/toast/toast.component.js +1 -1
  188. package/development/{toast.component-Cuvs3VnH.js → toast.component-Cgr5ZGOr.js} +2 -2
  189. package/development/toast.js +1 -1
  190. package/development/toast.pure.js +1 -1
  191. package/development/toggle/toggle/toggle.component.js +1 -1
  192. package/development/toggle/toggle.js +1 -1
  193. package/development/toggle.component-BJpD1b9H.js +249 -0
  194. package/development/toggle.js +1 -1
  195. package/development/toggle.pure.js +1 -1
  196. package/development/tooltip/tooltip.component.js +1 -1
  197. package/development/tooltip.component-YaUQA-Id.js +378 -0
  198. package/development/tooltip.js +1 -1
  199. package/development/tooltip.pure.js +1 -1
  200. package/development/train/train-wagon/train-wagon.component.js +1 -1
  201. package/development/train/train-wagon.js +1 -1
  202. package/development/{train-wagon.component-BzA8-S_6.js → train-wagon.component-CNxkffOO.js} +2 -2
  203. package/development/train.js +1 -1
  204. package/development/train.pure.js +1 -1
  205. package/{error.component-B_D8WUP5.js → error.component-DH9Obd7a.js} +1 -1
  206. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  207. package/expansion-panel/expansion-panel-header.js +1 -1
  208. package/{expansion-panel-header.component-B_dQ3ZWT.js → expansion-panel-header.component-FPoEEoZR.js} +1 -1
  209. package/expansion-panel.js +1 -1
  210. package/expansion-panel.pure.js +1 -1
  211. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  212. package/file-selector/file-selector-dropzone.js +1 -1
  213. package/{file-selector-dropzone.component-CBKsZsC2.js → file-selector-dropzone.component-DSmBp7xN.js} +1 -1
  214. package/file-selector.js +1 -1
  215. package/file-selector.pure.js +1 -1
  216. package/footer/footer.component.js +1 -1
  217. package/{footer.component-BM91Utiz.js → footer.component-b2docCY_.js} +1 -1
  218. package/footer.js +1 -1
  219. package/footer.pure.js +1 -1
  220. package/form-field/error/error.component.js +1 -1
  221. package/form-field/error.js +1 -1
  222. package/form-field/form-field/form-field.component.js +1 -1
  223. package/form-field/form-field.js +1 -1
  224. package/form-field/hint/hint.component.js +1 -1
  225. package/{form-field.component-Cc_siKrq.js → form-field.component-BwZDRKbQ.js} +1 -1
  226. package/form-field.js +3 -3
  227. package/form-field.pure.js +3 -3
  228. package/header/header/header.component.js +1 -1
  229. package/header/header.js +1 -1
  230. package/{header.component-hZqs06Yh.js → header.component-UQUFcMOD.js} +1 -1
  231. package/header.js +1 -1
  232. package/header.pure.js +1 -1
  233. package/{hint.component-BVUUrSSu.js → hint.component-CE2D2TLU.js} +1 -1
  234. package/link/common/block-link-common.js +1 -1
  235. package/link/common.js +1 -1
  236. package/link.js +1 -1
  237. package/link.pure.js +1 -1
  238. package/message/message.component.js +1 -1
  239. package/message.component-DhN-aFms.js +27 -0
  240. package/message.js +1 -1
  241. package/message.pure.js +1 -1
  242. package/navigation/common/navigation-action-common.js +1 -1
  243. package/navigation/common.js +1 -1
  244. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  245. package/navigation/navigation-marker.js +1 -1
  246. package/navigation/navigation-section/navigation-section.component.js +1 -1
  247. package/navigation/navigation-section.js +1 -1
  248. package/{navigation-action-common-2ix0xrBs.js → navigation-action-common-AzRltwrb.js} +1 -1
  249. package/{navigation-marker.component-DKxK16IU.js → navigation-marker.component-BzbbKlfT.js} +1 -1
  250. package/{navigation-section.component-CvjXVn5r.js → navigation-section.component-DQxCi3O_.js} +1 -1
  251. package/navigation.js +3 -3
  252. package/navigation.pure.js +3 -3
  253. package/notification/notification.component.js +1 -1
  254. package/{notification.component-DjXJFh1G.js → notification.component-D80Wl5xM.js} +1 -1
  255. package/notification.js +1 -1
  256. package/notification.pure.js +1 -1
  257. package/off-brand-theme.css +67 -65
  258. package/package.json +2 -2
  259. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  260. package/paginator/compact-paginator.js +1 -1
  261. package/paginator/paginator/paginator.component.js +1 -1
  262. package/paginator/paginator.js +1 -1
  263. package/{paginator.component-CZt7Epaf.js → paginator.component-BEr0qU0m.js} +1 -1
  264. package/paginator.js +2 -2
  265. package/paginator.pure.js +2 -2
  266. package/radio-button/common/radio-button-common.js +1 -1
  267. package/radio-button/common.js +1 -1
  268. package/radio-button/radio-button.component.js +1 -1
  269. package/radio-button/radio-button.js +1 -1
  270. package/{radio-button-common-DP4Izwwf.js → radio-button-common-C1mIf9KY.js} +1 -1
  271. package/{radio-button.component-BiGeOI5L.js → radio-button.component-Bae-yK_U.js} +1 -1
  272. package/radio-button.js +2 -2
  273. package/radio-button.pure.js +2 -2
  274. package/safety-theme.css +67 -65
  275. package/select/select.component.js +1 -1
  276. package/{select.component-DWLdApt_.js → select.component-ByO4itj5.js} +1 -1
  277. package/select.js +1 -1
  278. package/select.pure.js +1 -1
  279. package/standard-theme.css +67 -65
  280. package/status/status.component.js +1 -1
  281. package/{status.component-BFyXTFXH.js → status.component-lw_WDs7W.js} +1 -1
  282. package/status.js +1 -1
  283. package/status.pure.js +1 -1
  284. package/{step-label.component-dzcNc12A.js → step-label.component-Dqis4FAN.js} +1 -1
  285. package/stepper/step-label/step-label.component.js +1 -1
  286. package/stepper/step-label.js +1 -1
  287. package/stepper.js +1 -1
  288. package/stepper.pure.js +1 -1
  289. package/styles-BNu0Fjw5.js +5 -0
  290. package/{tab-label.component-CD56RH1Z.js → tab-label.component-CpdUyfiq.js} +1 -1
  291. package/tabs/common/styles.js +1 -1
  292. package/tabs/common.js +1 -1
  293. package/tabs/tab-label/tab-label.component.js +1 -1
  294. package/tabs/tab-label.js +1 -1
  295. package/tabs.js +2 -2
  296. package/tabs.pure.js +2 -2
  297. package/tag/tag/tag.component.js +1 -1
  298. package/tag/tag.js +1 -1
  299. package/{tag.component-CzYJZuFT.js → tag.component-CsNszQvB.js} +1 -1
  300. package/tag.js +1 -1
  301. package/tag.pure.js +1 -1
  302. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  303. package/{timetable-occupancy.component-BDmxFVKK.js → timetable-occupancy.component-BCXPxz68.js} +1 -1
  304. package/timetable-occupancy.js +1 -1
  305. package/timetable-occupancy.pure.js +1 -1
  306. package/title/title-base.js +1 -1
  307. package/title/title.component.js +1 -1
  308. package/{title-base-D72Xo2SW.js → title-base-DV0qhfG9.js} +1 -1
  309. package/{title.component-CoMa84Sz.js → title.component-DAGyXwDm.js} +1 -1
  310. package/title.js +2 -2
  311. package/title.pure.js +2 -2
  312. package/toast/toast.component.js +1 -1
  313. package/{toast.component-CkNywQOZ.js → toast.component-CGVqkd0_.js} +1 -1
  314. package/toast.js +1 -1
  315. package/toast.pure.js +1 -1
  316. package/toggle/toggle/toggle.component.js +1 -1
  317. package/toggle/toggle.js +1 -1
  318. package/{toggle.component-Cwc-TJ-a.js → toggle.component-B20xAw1V.js} +1 -1
  319. package/toggle.js +1 -1
  320. package/toggle.pure.js +1 -1
  321. package/tooltip/tooltip.component.js +1 -1
  322. package/{tooltip.component-B3XLLpLg.js → tooltip.component-ocVpJogs.js} +1 -1
  323. package/tooltip.js +1 -1
  324. package/tooltip.pure.js +1 -1
  325. package/train/train-wagon/train-wagon.component.js +1 -1
  326. package/train/train-wagon.js +1 -1
  327. package/{train-wagon.component-BwCcF4GD.js → train-wagon.component-BT4Xnzxr.js} +1 -1
  328. package/train.js +1 -1
  329. package/train.pure.js +1 -1
  330. package/button-common-yFVzAoGy.js +0 -87
  331. package/development/autocomplete-base-element-BNfirRyP.js +0 -692
  332. package/development/breadcrumb-group.component-HBWRdDpS.js +0 -195
  333. package/development/calendar.component-Dto81mQ8.js +0 -1453
  334. package/development/card-badge.component-D4Mes-Gw.js +0 -84
  335. package/development/checkbox-common-DiTlHvFJ.js +0 -86
  336. package/development/chip-group.component-CvpUdzu1.js +0 -409
  337. package/development/compact-paginator.component-TfDVt_ST.js +0 -51
  338. package/development/error.component-xD_c9IBA.js +0 -55
  339. package/development/expansion-panel-header.component-Bw4uROTe.js +0 -85
  340. package/development/footer.component-BblB5218.js +0 -172
  341. package/development/form-field.component-CWVzymTX.js +0 -707
  342. package/development/header.component-Cg0ZcA1s.js +0 -340
  343. package/development/hint.component-BsIzdUOV.js +0 -38
  344. package/development/message.component-CeJhYXSC.js +0 -44
  345. package/development/notification.component-Co9QChXc.js +0 -274
  346. package/development/paginator.component-DAdS2mMm.js +0 -259
  347. package/development/radio-button-common-C3-xuY78.js +0 -126
  348. package/development/select.component-CGNEhqzl.js +0 -812
  349. package/development/status.component-CHC2pBa-.js +0 -111
  350. package/development/step-label.component-DjA-3IGs.js +0 -131
  351. package/development/styles-DCQBzC2C.js +0 -14
  352. package/development/tag.component-CnNPL6aI.js +0 -245
  353. package/development/toggle.component-CKug5pF7.js +0 -249
  354. package/development/tooltip.component-epXOY5vO.js +0 -378
  355. package/message.component-BQjnZ5Z3.js +0 -27
  356. package/styles-BUpK1iP2.js +0 -5
@@ -1,378 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, isServer, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbOpenCloseBaseElement } from "./core/base-elements.js";
5
- import { idReference } from "./core/decorators.js";
6
- import { isAndroid, isIOS, isZeroAnimationDuration, queueDomContentLoaded } from "./core/dom.js";
7
- import { SbbDisabledMixin, appendAriaElements, removeAriaElements } from "./core/mixins.js";
8
- import { boxSizingStyles } from "./core/styles.js";
9
- import { SbbEscapableOverlayController, SbbOverlayPositionController } from "./core/controllers.js";
10
- import { sbbOverlayOutsidePointerEventListener } from "./core/overlay.js";
11
- import { readConfig } from "./core/config.js";
12
- //#region src/elements/tooltip/tooltip.scss?inline
13
- var tooltip_default = ":host {\n --sbb-tooltip-max-width: min(\n 25rem,\n calc(100vw - var(--sbb-spacing-fixed-2x))\n );\n --sbb-tooltip-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n position-area: var(--sbb-overlay-position-area);\n position-try-fallbacks: var(--sbb-overlay-position-try-fallbacks);\n display: none;\n position: fixed;\n background-color: transparent;\n pointer-events: var(--sbb-tooltip-pointer-events, all);\n z-index: var(--sbb-tooltip-z-index, var(--sbb-overlay-default-z-index));\n animation-name: var(--sbb-tooltip-animation-name);\n animation-duration: var(--sbb-tooltip-animation-duration);\n animation-timing-function: var(--sbb-tooltip-animation-easing);\n font-size: var(--sbb-tooltip-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n border: none;\n inset: initial;\n padding: 0;\n margin: 0;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-tooltip-animation-name: open;\n display: block;\n}\n\n:host(:is(:state(state-closing),[state--state-closing])) {\n --sbb-tooltip-animation-name: close;\n --sbb-tooltip-pointer-events: none;\n}\n\n:host(:is([data-position~=block-end], [data-position~=bottom], [data-position^=end])) {\n padding-block-start: var(--sbb-tooltip-gap);\n}\n\n:host(:is([data-position~=block-start], [data-position~=top], [data-position^=start])) {\n padding-block-end: var(--sbb-tooltip-gap);\n}\n\n:host(:is([data-position~=inline-start],\n[data-position~=inline-end],\n[data-position~=left],\n[data-position~=right],\n[data-position$=\" start\"],\n[data-position$=\" end\"])) {\n padding-inline: var(--sbb-tooltip-gap);\n}\n\n.sbb-tooltip {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n border: var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);\n border-radius: var(--sbb-tooltip-border-radius);\n padding: var(--sbb-tooltip-padding);\n color: var(--sbb-tooltip-color);\n background-color: var(--sbb-tooltip-background-color);\n min-width: var(--sbb-tooltip-min-width);\n max-width: var(--sbb-tooltip-max-width);\n}\n\n@keyframes open {\n from {\n opacity: 0;\n translate: var(--sbb-tooltip-animation-translate);\n }\n to {\n opacity: 1;\n translate: 0;\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n translate: 0;\n }\n to {\n opacity: 0;\n translate: var(--sbb-tooltip-animation-translate);\n }\n}";
14
- //#endregion
15
- //#region src/elements/tooltip/tooltip.component.ts
16
- /**
17
- * Time between the user putting the pointer on a tooltip
18
- * trigger and the long press event being fired.
19
- */
20
- var LONGPRESS_DELAY = 500;
21
- var isMobile = isAndroid || isIOS;
22
- var tooltipTriggers = /* @__PURE__ */ new WeakMap();
23
- var nextId = 0;
24
- /**
25
- * It displays text content within a tooltip.
26
- *
27
- * @slot - Use the unnamed slot to add the text into the tooltip.
28
- * @cssprop [--sbb-overlay-position-area=block-end] - The primary position for the tooltip.
29
- * @cssprop [--sbb-overlay-position-try-fallbacks=block-end span-inline-end, block-end span-inline-start, block-start, block-start span-inline-end, block-start span-inline-start] -
30
- * The list of fallback positions, separated by ',', for the tooltip
31
- * @cssprop [--sbb-tooltip-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
32
- * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
33
- * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
34
- */
35
- var SbbTooltipElement = (() => {
36
- let _classSuper = SbbDisabledMixin(SbbOpenCloseBaseElement);
37
- let _instanceExtraInitializers = [];
38
- let _trigger_decorators;
39
- let _trigger_initializers = [];
40
- let _trigger_extraInitializers = [];
41
- let _set_openDelay_decorators;
42
- let _set_closeDelay_decorators;
43
- let _set_longPressCloseDelay_decorators;
44
- return class SbbTooltipElement extends _classSuper {
45
- static {
46
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
47
- _trigger_decorators = [idReference(), property()];
48
- _set_openDelay_decorators = [property({
49
- attribute: "open-delay",
50
- type: Number
51
- })];
52
- _set_closeDelay_decorators = [property({
53
- attribute: "close-delay",
54
- type: Number
55
- })];
56
- _set_longPressCloseDelay_decorators = [property({
57
- attribute: "long-press-close-delay",
58
- type: Number
59
- })];
60
- __esDecorate(this, null, _trigger_decorators, {
61
- kind: "accessor",
62
- name: "trigger",
63
- static: false,
64
- private: false,
65
- access: {
66
- has: (obj) => "trigger" in obj,
67
- get: (obj) => obj.trigger,
68
- set: (obj, value) => {
69
- obj.trigger = value;
70
- }
71
- },
72
- metadata: _metadata
73
- }, _trigger_initializers, _trigger_extraInitializers);
74
- __esDecorate(this, null, _set_openDelay_decorators, {
75
- kind: "setter",
76
- name: "openDelay",
77
- static: false,
78
- private: false,
79
- access: {
80
- has: (obj) => "openDelay" in obj,
81
- set: (obj, value) => {
82
- obj.openDelay = value;
83
- }
84
- },
85
- metadata: _metadata
86
- }, null, _instanceExtraInitializers);
87
- __esDecorate(this, null, _set_closeDelay_decorators, {
88
- kind: "setter",
89
- name: "closeDelay",
90
- static: false,
91
- private: false,
92
- access: {
93
- has: (obj) => "closeDelay" in obj,
94
- set: (obj, value) => {
95
- obj.closeDelay = value;
96
- }
97
- },
98
- metadata: _metadata
99
- }, null, _instanceExtraInitializers);
100
- __esDecorate(this, null, _set_longPressCloseDelay_decorators, {
101
- kind: "setter",
102
- name: "longPressCloseDelay",
103
- static: false,
104
- private: false,
105
- access: {
106
- has: (obj) => "longPressCloseDelay" in obj,
107
- set: (obj, value) => {
108
- obj.longPressCloseDelay = value;
109
- }
110
- },
111
- metadata: _metadata
112
- }, null, _instanceExtraInitializers);
113
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
114
- enumerable: true,
115
- configurable: true,
116
- writable: true,
117
- value: _metadata
118
- });
119
- }
120
- static {
121
- this.elementName = "sbb-tooltip";
122
- }
123
- static {
124
- this.role = "tooltip";
125
- }
126
- static {
127
- this.styles = [boxSizingStyles, unsafeCSS(tooltip_default)];
128
- }
129
- static {
130
- if (!isServer) queueDomContentLoaded(() => this._initializeTooltipOutlet());
131
- }
132
- #trigger_accessor_storage;
133
- /**
134
- * The element that will trigger the tooltip overlay.
135
- *
136
- * For attribute usage, provide an id reference.
137
- */
138
- get trigger() {
139
- return this.#trigger_accessor_storage;
140
- }
141
- set trigger(value) {
142
- this.#trigger_accessor_storage = value;
143
- }
144
- /**
145
- * Open the tooltip after a given delay in milliseconds.
146
- * Global configuration is used as default, if not set.
147
- *
148
- * @default null
149
- */
150
- set openDelay(value) {
151
- this._openDelay = value;
152
- }
153
- get openDelay() {
154
- return this._openDelay ?? readConfig().tooltip?.openDelay ?? 0;
155
- }
156
- /**
157
- * Close the tooltip after a given delay in milliseconds.
158
- * Global configuration is used as default, if not set.
159
- *
160
- * @default null
161
- */
162
- set closeDelay(value) {
163
- this._closeDelay = value;
164
- }
165
- get closeDelay() {
166
- return this._closeDelay ?? readConfig().tooltip?.closeDelay ?? 0;
167
- }
168
- /**
169
- * Automatically close the tooltip after it has been open by long press.
170
- * Global configuration is used as default, if not set.
171
- *
172
- * @default 1500
173
- */
174
- set longPressCloseDelay(value) {
175
- this._longPressCloseDelay = +value;
176
- }
177
- get longPressCloseDelay() {
178
- return this._longPressCloseDelay ?? readConfig().tooltip?.longPressCloseDelay ?? 1500;
179
- }
180
- constructor() {
181
- super();
182
- this.#trigger_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trigger_initializers, null));
183
- this._openDelay = (__runInitializers(this, _trigger_extraInitializers), null);
184
- this._closeDelay = null;
185
- this._triggerElement = null;
186
- this._escapableOverlayController = new SbbEscapableOverlayController(this);
187
- this._overlayController = new SbbOverlayPositionController(this);
188
- this.addEventListener("mouseleave", (event) => {
189
- if ((this.state === "opened" || this.state === "opening") && (!event.relatedTarget || !this._triggerElement?.contains(event.relatedTarget))) this._delayedClose();
190
- }, { passive: true });
191
- this.addEventListener("overlayOutsidePointer", () => this.close(), { passive: true });
192
- this.addEventListener("animationend", (e) => this._onTooltipAnimationEnd(e), { passive: true });
193
- }
194
- static _initializeTooltipOutlet() {
195
- this._tooltipOutlet = document.createElement("div");
196
- this._tooltipOutlet.classList.add("sbb-overlay-outlet");
197
- document.body.appendChild(this._tooltipOutlet);
198
- new MutationObserver((mutations) => {
199
- for (const mutation of mutations) if (mutation.type === "attributes") this._handleTooltipTrigger(mutation.target);
200
- else if (mutation.type === "childList") for (const node of [...mutation.addedNodes, ...mutation.removedNodes].filter((n) => n.nodeType === n.ELEMENT_NODE)) {
201
- this._handleTooltipTrigger(node);
202
- this._findAndHandleTooltipTriggers(node);
203
- }
204
- }).observe(document.documentElement, {
205
- attributeFilter: [
206
- "sbb-tooltip",
207
- "sbb-tooltip-open-delay",
208
- "sbb-tooltip-close-delay",
209
- "sbb-tooltip-position"
210
- ],
211
- childList: true,
212
- subtree: true
213
- });
214
- this._findAndHandleTooltipTriggers(document.body);
215
- }
216
- static _findAndHandleTooltipTriggers(root) {
217
- root.querySelectorAll("[sbb-tooltip]").forEach((e) => this._handleTooltipTrigger(e));
218
- }
219
- static _handleTooltipTrigger(triggerElement) {
220
- const tooltipMessage = triggerElement.getAttribute("sbb-tooltip");
221
- let tooltip = tooltipTriggers.get(triggerElement);
222
- if (tooltipMessage && triggerElement.isConnected) {
223
- if (!tooltip) {
224
- tooltip = document.createElement("sbb-tooltip");
225
- tooltipTriggers.set(triggerElement, tooltip);
226
- this._tooltipOutlet.appendChild(tooltip);
227
- tooltip.trigger = triggerElement;
228
- }
229
- tooltip.textContent = tooltipMessage;
230
- tooltip.openDelay = triggerElement.hasAttribute("sbb-tooltip-open-delay") ? +triggerElement.getAttribute("sbb-tooltip-open-delay") : null;
231
- tooltip.closeDelay = triggerElement.hasAttribute("sbb-tooltip-close-delay") ? +triggerElement.getAttribute("sbb-tooltip-close-delay") : null;
232
- const positions = triggerElement.hasAttribute("sbb-tooltip-position") ? triggerElement.getAttribute("sbb-tooltip-position").split(",").map((p) => p.trim()) : triggerElement.tooltipPositions;
233
- if (positions && positions.length > 0) {
234
- tooltip.style.setProperty("--sbb-overlay-position-area", positions[0]);
235
- tooltip.style.setProperty("--sbb-overlay-position-try-fallbacks", positions.slice(1).join(", "));
236
- } else {
237
- tooltip.style.removeProperty("--sbb-overlay-position-area");
238
- tooltip.style.removeProperty("--sbb-overlay-position-try-fallbacks");
239
- }
240
- } else if (tooltip) {
241
- tooltipTriggers.delete(triggerElement);
242
- tooltip._destroy?.();
243
- }
244
- }
245
- connectedCallback() {
246
- super.connectedCallback();
247
- this.popover = "manual";
248
- this.id ||= `sbb-tooltip-${++nextId}`;
249
- this.state = "closed";
250
- sbbOverlayOutsidePointerEventListener.connect(this);
251
- if (this.hasUpdated && this.trigger) this._attach(this.trigger);
252
- }
253
- disconnectedCallback() {
254
- super.disconnectedCallback();
255
- sbbOverlayOutsidePointerEventListener.disconnect(this);
256
- this._detach();
257
- }
258
- requestUpdate(name, oldValue, options) {
259
- super.requestUpdate(name, oldValue, options);
260
- if (isServer) return;
261
- if ((!name || name === "trigger") && this.hasUpdated) this._attach(this.trigger);
262
- }
263
- firstUpdated(changedProperties) {
264
- super.firstUpdated(changedProperties);
265
- this._attach(this.trigger);
266
- }
267
- open() {
268
- this._resetOpenCloseTimeout();
269
- if (this.state !== "closed" && this.state !== "closing" || this.disabled || !this.trigger || !this.dispatchBeforeOpenEvent()) return;
270
- this.showPopover?.();
271
- this.state = "opening";
272
- this._overlayController.connect(this.trigger);
273
- if (this._isZeroAnimationDuration()) this._handleOpening();
274
- }
275
- close() {
276
- this._resetOpenCloseTimeout();
277
- if (this.state !== "opened" && this.state !== "opening") return;
278
- this.dispatchBeforeCloseEvent();
279
- this.state = "closing";
280
- if (this._isZeroAnimationDuration()) this._handleClosing();
281
- }
282
- _delayedOpen() {
283
- this._resetOpenCloseTimeout();
284
- this._openTimeout = setTimeout(() => this.open(), this.openDelay);
285
- }
286
- _handleOpening() {
287
- this.state = "opened";
288
- this._escapableOverlayController.connect();
289
- this.dispatchOpenEvent();
290
- }
291
- _delayedClose() {
292
- this._resetOpenCloseTimeout();
293
- this._closeTimeout = setTimeout(() => this.close(), this.closeDelay);
294
- }
295
- _handleClosing() {
296
- this.state = "closed";
297
- this.hidePopover?.();
298
- this._overlayController.disconnect();
299
- this._escapableOverlayController.disconnect();
300
- this.dispatchCloseEvent();
301
- this._openStateController?.abort();
302
- }
303
- _onTooltipAnimationEnd(event) {
304
- if (event.animationName === "open" && this.state === "opening") this._handleOpening();
305
- else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
306
- }
307
- _attach(trigger) {
308
- if (this._triggerElement) this._detach();
309
- this._triggerElement = trigger;
310
- if (!this._triggerElement) return;
311
- this._triggerElement.ariaDescribedByElements = appendAriaElements(this._triggerElement.ariaDescribedByElements, this);
312
- this._addTriggerEventHandlers();
313
- }
314
- _detach() {
315
- this._triggerAbortController?.abort();
316
- this._openStateController?.abort();
317
- this._resetOpenCloseTimeout();
318
- clearTimeout(this._longPressOpenTimeout);
319
- clearTimeout(this._longPressCloseTimeout);
320
- if (!this._triggerElement) return;
321
- this._triggerElement.ariaDescribedByElements = removeAriaElements(this._triggerElement.ariaDescribedByElements, this);
322
- this._triggerElement = null;
323
- }
324
- _destroy() {
325
- this._detach();
326
- this.remove();
327
- }
328
- _addTriggerEventHandlers() {
329
- const trigger = this._triggerElement;
330
- if (!trigger) return;
331
- this._triggerAbortController?.abort();
332
- this._triggerAbortController = new AbortController();
333
- const options = {
334
- signal: this._triggerAbortController.signal,
335
- passive: true
336
- };
337
- if (!isMobile) {
338
- trigger.addEventListener("mouseenter", () => this._delayedOpen(), options);
339
- trigger.addEventListener("mouseleave", (event) => {
340
- const newTarget = event.relatedTarget;
341
- if (!newTarget || newTarget !== this) this._delayedClose();
342
- }, options);
343
- trigger.addEventListener("blur", () => this.close(), options);
344
- trigger.addEventListener("focus", () => this._delayedOpen(), options);
345
- }
346
- trigger.addEventListener("touchstart", () => {
347
- clearTimeout(this._longPressOpenTimeout);
348
- clearTimeout(this._longPressCloseTimeout);
349
- this._longPressOpenTimeout = setTimeout(() => this.open(), LONGPRESS_DELAY);
350
- }, options);
351
- trigger.addEventListener("touchend", () => {
352
- clearTimeout(this._longPressOpenTimeout);
353
- this._longPressCloseTimeout = setTimeout(() => this.close(), this.longPressCloseDelay);
354
- }, options);
355
- trigger.addEventListener("touchcancel", () => {
356
- clearTimeout(this._longPressOpenTimeout);
357
- }, options);
358
- }
359
- _isZeroAnimationDuration() {
360
- return isZeroAnimationDuration(this, "--sbb-tooltip-animation-duration");
361
- }
362
- _resetOpenCloseTimeout() {
363
- clearTimeout(this._openTimeout);
364
- clearTimeout(this._closeTimeout);
365
- }
366
- render() {
367
- return html`
368
- <div class="sbb-tooltip">
369
- <slot></slot>
370
- </div>
371
- `;
372
- }
373
- };
374
- })();
375
- //#endregion
376
- export { SbbTooltipElement as t };
377
-
378
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQtZXBYT1k1dk8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3Rvb2x0aXAvdG9vbHRpcC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItdG9vbHRpcC1tYXgtd2lkdGg6IG1pbihcbiAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNDAwKX0sXG4gICAgY2FsYygxMDB2dyAtIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSlcbiAgKTtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIHBvc2l0aW9uLWFyZWE6IHZhcigtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEpO1xuICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzLCBhbGwpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItdG9vbHRpcC16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZWFzaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdG9vbHRpcC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgLy8gUmVzZXQgW3BvcG92ZXJdIHN0eWxlc1xuICBib3JkZXI6IG5vbmU7XG4gIGluc2V0OiBpbml0aWFsO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLW5hbWU6IG9wZW47XG5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkge1xuICAtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgLS1zYmItdG9vbHRpcC1wb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuOmhvc3QoOmlzKFtkYXRhLXBvc2l0aW9ufj0nYmxvY2stZW5kJ10sIFtkYXRhLXBvc2l0aW9ufj0nYm90dG9tJ10sIFtkYXRhLXBvc2l0aW9uXj0nZW5kJ10pKSB7XG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi10b29sdGlwLWdhcCk7XG59XG5cbjpob3N0KDppcyhbZGF0YS1wb3NpdGlvbn49J2Jsb2NrLXN0YXJ0J10sIFtkYXRhLXBvc2l0aW9ufj0ndG9wJ10sIFtkYXRhLXBvc2l0aW9uXj0nc3RhcnQnXSkpIHtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi10b29sdGlwLWdhcCk7XG59XG5cbjpob3N0KFxuICA6aXMoXG4gICAgW2RhdGEtcG9zaXRpb25+PSdpbmxpbmUtc3RhcnQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbn49J2lubGluZS1lbmQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbn49J2xlZnQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbn49J3JpZ2h0J10sXG4gICAgW2RhdGEtcG9zaXRpb24kPScgc3RhcnQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbiQ9JyBlbmQnXVxuICApXG4pIHtcbiAgLy8gQWRkIGEgZ2FwIG9uIGJvdGggc2lkZXMgdG8gZGlzdGFuY2UgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdHJpZ2dlciBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHZpZXdwb3J0LlxuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuLnNiYi10b29sdGlwIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWJveC1zaGFkb3ctbGV2ZWwtNS1zb2Z0KTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItdG9vbHRpcC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc2JiLXRvb2x0aXAtcGFkZGluZyk7XG4gIGNvbG9yOiB2YXIoLS1zYmItdG9vbHRpcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO1xuICBtaW4td2lkdGg6IHZhcigtLXNiYi10b29sdGlwLW1pbi13aWR0aCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLXRvb2x0aXAtbWF4LXdpZHRoKTtcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi10cmFuc2xhdGUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zbGF0ZTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLXRyYW5zbGF0ZSk7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcudHMnO1xuaW1wb3J0IHtcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYk92ZXJsYXlQb3NpdGlvbkNvbnRyb2xsZXIsXG59IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNBbmRyb2lkLCBpc0lPUywgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIHF1ZXVlRG9tQ29udGVudExvYWRlZCB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGFwcGVuZEFyaWFFbGVtZW50cywgcmVtb3ZlQXJpYUVsZW1lbnRzLCBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3Rvb2x0aXAuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIGRlZmF1bHQgcG9zaXRpb24gZm9yIHRoZSB0b29sdGlwIGlmIHRoaXMgZWxlbWVudCBpcyB1c2VkIGFzIGEgdHJpZ2dlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9ucyB7XG4gIHJlYWRvbmx5IHRvb2x0aXBQb3NpdGlvbnM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFRpbWUgYmV0d2VlbiB0aGUgdXNlciBwdXR0aW5nIHRoZSBwb2ludGVyIG9uIGEgdG9vbHRpcFxuICogdHJpZ2dlciBhbmQgdGhlIGxvbmcgcHJlc3MgZXZlbnQgYmVpbmcgZmlyZWQuXG4gKi9cbmNvbnN0IExPTkdQUkVTU19ERUxBWSA9IDUwMDtcblxuY29uc3QgaXNNb2JpbGUgPSBpc0FuZHJvaWQgfHwgaXNJT1M7XG5jb25zdCB0b29sdGlwVHJpZ2dlcnMgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgU2JiVG9vbHRpcEVsZW1lbnQ+KCk7XG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyB0ZXh0IGNvbnRlbnQgd2l0aGluIGEgdG9vbHRpcC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgdGV4dCBpbnRvIHRoZSB0b29sdGlwLlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktcG9zaXRpb24tYXJlYT1ibG9jay1lbmRdIC0gVGhlIHByaW1hcnkgcG9zaXRpb24gZm9yIHRoZSB0b29sdGlwLlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcz1ibG9jay1lbmQgc3Bhbi1pbmxpbmUtZW5kLCBibG9jay1lbmQgc3Bhbi1pbmxpbmUtc3RhcnQsIGJsb2NrLXN0YXJ0LCBibG9jay1zdGFydCBzcGFuLWlubGluZS1lbmQsIGJsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0XSAtXG4gKiBUaGUgbGlzdCBvZiBmYWxsYmFjayBwb3NpdGlvbnMsIHNlcGFyYXRlZCBieSAnLCcsIGZvciB0aGUgdG9vbHRpcFxuICogQGNzc3Byb3AgWy0tc2JiLXRvb2x0aXAtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9vbHRpcEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdG9vbHRpcCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0b29sdGlwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3Rvb2x0aXBPdXRsZXQ6IEVsZW1lbnQ7XG5cbiAgc3RhdGljIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGJsb2NrIGV4ZWN1dGlvbiBmb3IgaW5pdGlhbGl6YXRpb24sXG4gICAgICAvLyBzbyB3ZSBkZWZlciBpdCB1bnRpbCB0aGUgRE9NIGNvbnRlbnQgaXMgbG9hZGVkLlxuICAgICAgcXVldWVEb21Db250ZW50TG9hZGVkKCgpID0+IHRoaXMuX2luaXRpYWxpemVUb29sdGlwT3V0bGV0KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgdG9vbHRpcCBvdmVybGF5LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b29sdGlwIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ29wZW4tZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBvcGVuRGVsYXkodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl9vcGVuRGVsYXkgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IG9wZW5EZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9vcGVuRGVsYXkgPz8gcmVhZENvbmZpZygpLnRvb2x0aXA/Lm9wZW5EZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX29wZW5EZWxheTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b29sdGlwIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Nsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgY2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX2Nsb3NlRGVsYXkgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8uY2xvc2VEZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX2Nsb3NlRGVsYXk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSB0b29sdGlwIGFmdGVyIGl0IGhhcyBiZWVuIG9wZW4gYnkgbG9uZyBwcmVzcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNTAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsb25nLXByZXNzLWNsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbG9uZ1ByZXNzQ2xvc2VEZWxheSA9ICt2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGxvbmdQcmVzc0Nsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbG9uZ1ByZXNzQ2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ubG9uZ1ByZXNzQ2xvc2VEZWxheSA/PyAxNTAwO1xuICB9XG4gIHByaXZhdGUgX2xvbmdQcmVzc0Nsb3NlRGVsYXk/OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX29wZW5TdGF0ZUNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJPdmVybGF5UG9zaXRpb25Db250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzT3BlblRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICAvLyBVbnRpbCB0aGUgbW91c2UgaG92ZXJzIHRoZSB0b29sdGlwLCBpdCBzdGF5cyBvcGVuLlxuICAgIC8vIE9uICdtb3VzZWxlYXZlJyAoaWYgdGhlIG1vdXNlIGlzIG5vdCBtb3ZlZCBvbnRvIHRoZSB0cmlnZ2VyIGFnYWluKSwgY2xvc2UgaXQuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ21vdXNlbGVhdmUnLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSAmJlxuICAgICAgICAgICghZXZlbnQucmVsYXRlZFRhcmdldCB8fCAhdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuX2RlbGF5ZWRDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBwYXNzaXZlOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIC8vIEFueSB1c2VyIGludGVyYWN0aW9uIG91dHNpZGUgdGhlIHRvb2x0aXAgY2xvc2VzIGl0IGltbWVkaWF0ZWx5XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdvdmVybGF5T3V0c2lkZVBvaW50ZXInLCAoKSA9PiB0aGlzLmNsb3NlKCksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgKGUpID0+IHRoaXMuX29uVG9vbHRpcEFuaW1hdGlvbkVuZChlKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luaXRpYWxpemVUb29sdGlwT3V0bGV0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl90b29sdGlwT3V0bGV0LmNsYXNzTGlzdC5hZGQoJ3NiYi1vdmVybGF5LW91dGxldCcpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fdG9vbHRpcE91dGxldCk7XG5cbiAgICAvLyBXZSBhcmUgdXNpbmcgTXV0YXRpb25PYnNlcnZlciBkaXJlY3RseSBoZXJlLCBhcyBpdCB3aWxsIG9ubHkgYmUgY2FsbGVkIG9uIGNsaWVudCBzaWRlLFxuICAgIC8vIGFuZCB3ZSBkbyBub3QgbmVlZCB0byBkaXNjb25uZWN0IGl0LCBhcyB3ZSB3YW50IGl0IHRvIHdvcmsgZHVyaW5nIHRoZSBmdWxsIGxpZmV0aW1lXG4gICAgLy8gb2YgdGhlIHBhZ2UuXG4gICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgWy4uLm11dGF0aW9uLmFkZGVkTm9kZXMsIC4uLm11dGF0aW9uLnJlbW92ZWROb2Rlc10uZmlsdGVyKFxuICAgICAgICAgICAgKG4pOiBuIGlzIEhUTUxFbGVtZW50ID0+IG4ubm9kZVR5cGUgPT09IG4uRUxFTUVOVF9OT0RFLFxuICAgICAgICAgICkpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKG5vZGUpO1xuICAgICAgICAgICAgdGhpcy5fZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbXG4gICAgICAgICdzYmItdG9vbHRpcCcsXG4gICAgICAgICdzYmItdG9vbHRpcC1vcGVuLWRlbGF5JyxcbiAgICAgICAgJ3NiYi10b29sdGlwLWNsb3NlLWRlbGF5JyxcbiAgICAgICAgJ3NiYi10b29sdGlwLXBvc2l0aW9uJyxcbiAgICAgIF0sXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMoZG9jdW1lbnQuYm9keSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhyb290OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHJvb3RcbiAgICAgIC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignW3NiYi10b29sdGlwXScpXG4gICAgICAuZm9yRWFjaCgoZSkgPT4gdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIoZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKHRyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2x0aXBNZXNzYWdlID0gdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcCcpO1xuICAgIGxldCB0b29sdGlwID0gdG9vbHRpcFRyaWdnZXJzLmdldCh0cmlnZ2VyRWxlbWVudCk7XG5cbiAgICBpZiAodG9vbHRpcE1lc3NhZ2UgJiYgdHJpZ2dlckVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcbiAgICAgIGlmICghdG9vbHRpcCkge1xuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgc2JiLXRvb2x0aXAgaW4gdGhlIG91dGxldCBhbmQgYXR0YWNoIGl0IHRvIHRoZSB0cmlnZ2VyXG4gICAgICAgIHRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzYmItdG9vbHRpcCcpO1xuICAgICAgICB0b29sdGlwVHJpZ2dlcnMuc2V0KHRyaWdnZXJFbGVtZW50LCB0b29sdGlwKTtcbiAgICAgICAgdGhpcy5fdG9vbHRpcE91dGxldC5hcHBlbmRDaGlsZCh0b29sdGlwKTtcbiAgICAgICAgdG9vbHRpcC50cmlnZ2VyID0gdHJpZ2dlckVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIHRvb2x0aXAudGV4dENvbnRlbnQgPSB0b29sdGlwTWVzc2FnZTtcbiAgICAgIHRvb2x0aXAub3BlbkRlbGF5ID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1vcGVuLWRlbGF5JylcbiAgICAgICAgPyArdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcC1vcGVuLWRlbGF5JykhXG4gICAgICAgIDogbnVsbDtcbiAgICAgIHRvb2x0aXAuY2xvc2VEZWxheSA9IHRyaWdnZXJFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknKVxuICAgICAgICA/ICt0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLWNsb3NlLWRlbGF5JykhXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgLy8gUmVhZCB0aGUgcG9zaXRpb25zIGZyb20gdGhlIHRyaWdnZXIgKGVpdGhlciBmcm9tIHRoZSBhdHRyaWJ1dGUgb3IgdGhlIHByb3BlcnR5KVxuICAgICAgY29uc3QgcG9zaXRpb25zID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1wb3NpdGlvbicpXG4gICAgICAgID8gdHJpZ2dlckVsZW1lbnRcbiAgICAgICAgICAgIC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLXBvc2l0aW9uJykhXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcCgocCkgPT4gcC50cmltKCkpXG4gICAgICAgIDogKHRyaWdnZXJFbGVtZW50IGFzIHVua25vd24gYXMgU2JiVG9vbHRpcERlZmF1bHRQb3NpdGlvbnMpLnRvb2x0aXBQb3NpdGlvbnM7XG5cbiAgICAgIGlmIChwb3NpdGlvbnMgJiYgcG9zaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhJywgcG9zaXRpb25zWzBdKTtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzJyxcbiAgICAgICAgICBwb3NpdGlvbnMuc2xpY2UoMSkuam9pbignLCAnKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tYXJlYScpO1xuICAgICAgICB0b29sdGlwLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3MnKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRvb2x0aXApIHtcbiAgICAgIC8vIFRoZSB0cmlnZ2VyIG9yIHRoZSBhdHRyaWJ1dGUgaGFzIGJlZW4gZGVsZXRlZCA9PiBkZWxldGUgdGhlIGNvbm5lY3RlZCB0b29sdGlwXG4gICAgICB0b29sdGlwVHJpZ2dlcnMuZGVsZXRlKHRyaWdnZXJFbGVtZW50KTtcbiAgICAgIC8vIElmIGEgY29uc3VtZXIgb3ZlcnJpZGVzIHRoZSBgc2JiLXRvb2x0aXBgLCB0aGUgZm9sbG93aW5nIGNvZGUgc2hvdWxkIG5vdCBiZVxuICAgICAgLy8gZXhlY3V0ZWQgYXMgd2UgY2FuJ3QgZXhwZWN0IHRoYXQgcHJpdmF0ZSBtZXRob2RzIGFyZSBtb2NrZWQuXG4gICAgICB0b29sdGlwLl9kZXN0cm95Py4oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXRvb2x0aXAtJHsrK25leHRJZH1gO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyLmNvbm5lY3QodGhpcyk7XG5cbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkICYmIHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy5fYXR0YWNoKHRoaXMudHJpZ2dlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lci5kaXNjb25uZWN0KHRoaXMpO1xuICAgIHRoaXMuX2RldGFjaCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fYXR0YWNoKHRoaXMudHJpZ2dlcik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnICYmIHRoaXMuc3RhdGUgIT09ICdjbG9zaW5nJykgfHxcbiAgICAgIHRoaXMuZGlzYWJsZWQgfHxcbiAgICAgICF0aGlzLnRyaWdnZXIgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX292ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QodGhpcy50cmlnZ2VyKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlbGF5ZWRPcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIHRoaXMuX29wZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLm9wZW4oKSwgdGhpcy5vcGVuRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlbGF5ZWRDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICB0aGlzLl9jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMuX292ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcblxuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcml2YXRlIF9vblRvb2x0aXBBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgLy8gRXZlbnR1YWxseSBkZXRhY2ggZnJvbSB0aGUgb2xkIHRyaWdnZXJcbiAgICAgIHRoaXMuX2RldGFjaCgpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlcjtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gYXBwZW5kQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLFxuICAgICk7XG4gICAgdGhpcy5fYWRkVHJpZ2dlckV2ZW50SGFuZGxlcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGFjaCgpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXI/LmFib3J0KCk7XG5cbiAgICAvLyBjbGVhciB0aW1lb3V0c1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc0Nsb3NlVGltZW91dCk7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLFxuICAgICk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXRhY2goKTtcbiAgICB0aGlzLnJlbW92ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkVHJpZ2dlckV2ZW50SGFuZGxlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgdHJpZ2dlciA9IHRoaXMuX3RyaWdnZXJFbGVtZW50O1xuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBvcHRpb25zOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgIH07XG5cbiAgICBpZiAoIWlzTW9iaWxlKSB7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9kZWxheWVkT3BlbigpLCBvcHRpb25zKTtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ21vdXNlbGVhdmUnLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdUYXJnZXQgPSBldmVudC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgICAgICAgIGlmICghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldCAhPT0gdGhpcykge1xuICAgICAgICAgICAgdGhpcy5fZGVsYXllZENsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKTtcblxuICAgICAgLy8gJ2JsdXJzJyBpbW1lZGlhdGVseSBjbG9zZSB0aGUgdG9vbHRpcCBiZWNhdXNlIGl0IGlzIGNvbnNpZGVyZWQgYW4gJ2ludGVyYWN0aW9uIHdpdGggb3RoZXIgZWxlbWVudHMnXG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLmNsb3NlKCksIG9wdGlvbnMpO1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHRoaXMuX2RlbGF5ZWRPcGVuKCksIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8vIExvbmctcHJlc3MgZXZlbnQgaGFuZGxpbmcgKG1haW5seSBmb3IgbW9iaWxlIHVzZXJzKVxuICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc0Nsb3NlVGltZW91dCk7XG4gICAgICAgIHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLm9wZW4oKSwgTE9OR1BSRVNTX0RFTEFZKTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoZW5kJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICAgICAgdGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMubG9uZ1ByZXNzQ2xvc2VEZWxheSk7XG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICd0b3VjaGNhbmNlbCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi10b29sdGlwLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9vcGVuVGltZW91dCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9vbHRpcFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9vbHRpcCc6IFNiYlRvb2x0aXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNvQ0EsSUFBTSxrQkFBa0I7QUFFeEIsSUFBTSxXQUFXLGFBQWE7QUFDOUIsSUFBTSxrQ0FBa0IsSUFBSSxT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
@@ -1,27 +0,0 @@
1
- import { html as e, unsafeCSS as t } from "lit";
2
- import { SbbElement as n } from "./core/base-elements.js";
3
- import { boxSizingStyles as r } from "./core/styles.js";
4
- //#region src/elements/message/message.scss?inline
5
- var i = ":host{display:block;text-align:center}::slotted(sbb-title[slot=title]){margin:0}::slotted([slot=image]){display:block;margin-inline:auto!important;margin-block:var(--sbb-message-image-margin-block)!important;width:100%}::slotted([slot=subtitle]){color:var(--sbb-message-subtitle-color);font-size:var(--sbb-text-font-size-s);letter-spacing:var(--sbb-typo-letter-spacing-text);margin:0}::slotted([slot=legend]){--sbb-text-font-size: var(--sbb-text-font-size-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);padding:0;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-cement));margin-block:var(--sbb-message-legend-margin-block)}::slotted([slot=action]){margin-block:var(--sbb-message-action-margin-block)}", a = class extends n {
6
- static {
7
- this.elementName = "sbb-message";
8
- }
9
- static {
10
- this.styles = [r, t(i)];
11
- }
12
- _configureTitle(e) {
13
- let t = e.target.assignedElements().find((e) => e.localName === "sbb-title");
14
- t && (customElements.upgrade(t), t.visualLevel = "5");
15
- }
16
- render() {
17
- return e`
18
- <slot name="image"></slot>
19
- <slot name="title" @slotchange=${this._configureTitle}></slot>
20
- <slot name="subtitle"></slot>
21
- <slot name="legend"></slot>
22
- <slot name="action"></slot>
23
- `;
24
- }
25
- };
26
- //#endregion
27
- export { a as t };
@@ -1,5 +0,0 @@
1
- import { unsafeCSS as e } from "lit";
2
- //#region src/elements/tabs/common/tab-group-common.scss?inline
3
- var t = ":host{display:flex;flex-direction:column}:host(:not([size])){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-default)}:host([size=s]){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-s)}:host([size=l]){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-l)}:host([size=xl]){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-xl)}.sbb-tab-group,.sbb-tab-nav-bar{display:flex;flex-wrap:wrap}", n = ":host{--sbb-tab-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-tab-label-outline-border-radius-internal: calc( var(--sbb-tab-label-outline-border-radius) - var(--sbb-focus-outline-offset) )}:host(:is(:is(:state(size-s),[state--size-s]),[size=s])){--sbb-tab-label-height: var(--sbb-size-element-xs);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs);--sbb-tab-label-font-size: var(--sbb-text-font-size-s)}:host(:is(:is(:state(size-l),[state--size-l]),[size=l])){--sbb-tab-label-height: var(--sbb-size-element-m);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);--sbb-tab-label-font-size: var(--sbb-text-font-size-m)}:host(:is(:is(:state(size-xl),[state--size-xl]),[size=xl])){--sbb-tab-label-height: var(--sbb-size-element-m);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);--sbb-tab-label-font-size: var(--sbb-text-font-size-xl)}:host(sbb-tab-label),:host(sbb-tab-nav-bar) ::slotted(a){pointer-events:var(--sbb-tab-label-pointer-events, unset)}@media(forced-colors:active){:host(sbb-tab-label),:host(sbb-tab-nav-bar) ::slotted(a){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}:host(sbb-tab-nav-bar) ::slotted(a),:host(sbb-tab-label) .sbb-tab-label{position:relative;display:flex;align-items:center;gap:var(--sbb-tab-label-gap);color:var(--sbb-tab-label-color);margin:0;padding-inline:var(--sbb-tab-label-inline-padding);min-height:var(--sbb-tab-label-height);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);font-size:var(--sbb-tab-label-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);font-weight:var(--sbb-tab-label-font-weight);text-decoration:var(--sbb-tab-label-text-decoration)}:host(sbb-tab-nav-bar) ::slotted(a):after,:host(sbb-tab-label) .sbb-tab-label:after{position:absolute;content:\"\";inset-inline:0;inset-block-end:0;height:var(--sbb-tab-label-marker-thickness);background-color:var(--sbb-tab-label-color);scale:var(--sbb-tab-label-marker-scale, 0);transition-duration:var(--sbb-tab-label-animation-duration);transition-timing-function:var(--sbb-tab-label-animation-easing);transition-property:scale,background-color}:host(sbb-tab-nav-bar) .sbb-tab-nav-bar>[data-has-divider],:host(sbb-tab-label:is(:state(has-divider),[state--has-divider])){position:relative}:host(sbb-tab-nav-bar) .sbb-tab-nav-bar>[data-has-divider]:before,:host(sbb-tab-label:is(:state(has-divider),[state--has-divider])):before{content:\"\";position:absolute;inset-inline-start:0;inset-block-end:0;width:var(--sbb-tab-group-width);height:var(--sbb-border-width-1x);background-color:var(--sbb-tab-label-line-color)}:host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),:host(sbb-tab-label[disabled]){--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-text-decoration: line-through}@media(forced-colors:active){:host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),:host(sbb-tab-label[disabled]){--sbb-tab-label-color: GrayText;--sbb-tab-label-amount-color: GrayText}}:host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),:host(sbb-tab-label[active]:not([disabled])){--sbb-tab-label-color: var(--sbb-color-3);--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-marker-scale: 1}@media(forced-colors:active){:host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),:host(sbb-tab-label[active]:not([disabled])){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}@media(any-hover:hover){:host(sbb-tab-nav-bar) ::slotted(a:hover:not(.sbb-disabled)),:host(sbb-tab-label:hover:not([disabled])){--sbb-tab-label-marker-scale: 1}}:host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),:host(sbb-tab-label:active){--sbb-tab-label-color: var(--sbb-color-3)}@media(forced-colors:active){:host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),:host(sbb-tab-label:active){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}:host(sbb-tab-nav-bar) ::slotted(a:focus-visible),:host(sbb-tab-label:focus-visible) .sbb-tab-label{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-tab-label-outline-border-radius-internal)}", r = e(t), i = e(n);
4
- //#endregion
5
- export { i as n, r as t };