@sbb-esta/lyne-elements 3.0.1 → 3.1.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 (272) hide show
  1. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  4. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
  5. package/button/accent-button/accent-button.component.d.ts +2 -1
  6. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  7. package/button/accent-button-link/accent-button-link.component.d.ts +2 -1
  8. package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  9. package/button/accent-button-static/accent-button-static.component.d.ts +2 -1
  10. package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  11. package/button/button/button.component.d.ts +2 -1
  12. package/button/button/button.component.d.ts.map +1 -1
  13. package/button/button-link/button-link.component.d.ts +2 -1
  14. package/button/button-link/button-link.component.d.ts.map +1 -1
  15. package/button/button-static/button-static.component.d.ts +2 -1
  16. package/button/button-static/button-static.component.d.ts.map +1 -1
  17. package/button/common/button-common.d.ts +1 -0
  18. package/button/common/button-common.d.ts.map +1 -1
  19. package/button/common/button-common.js +52 -28
  20. package/button/common.js +1 -1
  21. package/button/mini-button/mini-button.component.d.ts +1 -0
  22. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  23. package/button/mini-button/mini-button.component.js +20 -14
  24. package/button/secondary-button/secondary-button.component.d.ts +2 -1
  25. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  26. package/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
  27. package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  28. package/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
  29. package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  30. package/button/transparent-button/transparent-button.component.d.ts +2 -1
  31. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  32. package/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
  33. package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  34. package/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
  35. package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  36. package/button.js +1 -1
  37. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  38. package/checkbox/checkbox-group/checkbox-group.component.js +4 -4
  39. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
  40. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  41. package/core/a11y/live-announcer.d.ts.map +1 -1
  42. package/core/a11y/live-announcer.js +10 -8
  43. package/core/base-elements/link-base-element.d.ts +1 -0
  44. package/core/base-elements/link-base-element.d.ts.map +1 -1
  45. package/core/base-elements/link-base-element.js +18 -17
  46. package/core/config/config.d.ts +5 -0
  47. package/core/config/config.d.ts.map +1 -1
  48. package/core/mixins/selection-panel-mixin.d.ts +23 -0
  49. package/core/mixins/selection-panel-mixin.d.ts.map +1 -0
  50. package/core/mixins/selection-panel-mixin.js +87 -0
  51. package/core/mixins.d.ts +1 -0
  52. package/core/mixins.d.ts.map +1 -1
  53. package/core/mixins.js +12 -10
  54. package/core/styles/core.scss +42 -7
  55. package/core.css +22 -1
  56. package/custom-elements.json +3603 -913
  57. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  58. package/development/autocomplete/autocomplete.component.js +2 -2
  59. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  60. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
  61. package/development/button/accent-button/accent-button.component.d.ts +2 -1
  62. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  63. package/development/button/accent-button/accent-button.component.js +1 -1
  64. package/development/button/accent-button-link/accent-button-link.component.d.ts +2 -1
  65. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  66. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  67. package/development/button/accent-button-static/accent-button-static.component.d.ts +2 -1
  68. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  69. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  70. package/development/button/button/button.component.d.ts +2 -1
  71. package/development/button/button/button.component.d.ts.map +1 -1
  72. package/development/button/button/button.component.js +1 -1
  73. package/development/button/button-link/button-link.component.d.ts +2 -1
  74. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  75. package/development/button/button-link/button-link.component.js +1 -1
  76. package/development/button/button-static/button-static.component.d.ts +2 -1
  77. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  78. package/development/button/button-static/button-static.component.js +1 -1
  79. package/development/button/common/button-common.d.ts +1 -0
  80. package/development/button/common/button-common.d.ts.map +1 -1
  81. package/development/button/common/button-common.js +42 -5
  82. package/development/button/common.js +1 -1
  83. package/development/button/mini-button/mini-button.component.d.ts +1 -0
  84. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  85. package/development/button/mini-button/mini-button.component.js +41 -2
  86. package/development/button/secondary-button/secondary-button.component.d.ts +2 -1
  87. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  88. package/development/button/secondary-button/secondary-button.component.js +1 -1
  89. package/development/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
  90. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  91. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  92. package/development/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
  93. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  94. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  95. package/development/button/transparent-button/transparent-button.component.d.ts +2 -1
  96. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  97. package/development/button/transparent-button/transparent-button.component.js +1 -1
  98. package/development/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
  99. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  100. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  101. package/development/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
  102. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  103. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  104. package/development/button.js +1 -1
  105. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  106. package/development/checkbox/checkbox-group/checkbox-group.component.js +2 -2
  107. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
  108. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  109. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +1 -1
  110. package/development/core/a11y/live-announcer.d.ts.map +1 -1
  111. package/development/core/a11y/live-announcer.js +10 -6
  112. package/development/core/base-elements/link-base-element.d.ts +1 -0
  113. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  114. package/development/core/base-elements/link-base-element.js +3 -1
  115. package/development/core/config/config.d.ts +5 -0
  116. package/development/core/config/config.d.ts.map +1 -1
  117. package/development/core/config/config.js +1 -1
  118. package/development/core/mixins/selection-panel-mixin.d.ts +23 -0
  119. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -0
  120. package/development/core/mixins/selection-panel-mixin.js +120 -0
  121. package/development/core/mixins.d.ts +1 -0
  122. package/development/core/mixins.d.ts.map +1 -1
  123. package/development/core/mixins.js +7 -5
  124. package/development/dialog/dialog/dialog.component.d.ts +4 -2
  125. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  126. package/development/dialog/dialog/dialog.component.js +61 -11
  127. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  128. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  129. package/development/dialog/dialog-actions/dialog-actions.component.js +10 -1
  130. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
  131. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
  132. package/development/dialog/dialog-close-button/dialog-close-button.component.js +53 -0
  133. package/development/dialog/dialog-close-button.d.ts +5 -0
  134. package/development/dialog/dialog-close-button.d.ts.map +1 -0
  135. package/development/dialog/dialog-close-button.js +5 -0
  136. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  137. package/development/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  138. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  139. package/development/dialog/dialog-title/dialog-title.component.js +6 -2
  140. package/development/dialog.d.ts +1 -0
  141. package/development/dialog.d.ts.map +1 -1
  142. package/development/dialog.js +3 -1
  143. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -2
  144. package/development/form-field/form-field/form-field.component.d.ts +23 -1
  145. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  146. package/development/form-field/form-field/form-field.component.js +39 -12
  147. package/development/form-field/form-field.js +2 -1
  148. package/development/form-field.js +2 -1
  149. package/development/header/header-environment/header-environment.component.d.ts +23 -0
  150. package/development/header/header-environment/header-environment.component.d.ts.map +1 -0
  151. package/development/header/header-environment/header-environment.component.js +111 -0
  152. package/development/header/header-environment.d.ts +5 -0
  153. package/development/header/header-environment.d.ts.map +1 -0
  154. package/development/header/header-environment.js +5 -0
  155. package/development/menu/menu/menu.component.d.ts +1 -0
  156. package/development/menu/menu/menu.component.d.ts.map +1 -1
  157. package/development/menu/menu/menu.component.js +2 -2
  158. package/development/menu/menu-button/menu-button.component.d.ts +1 -0
  159. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  160. package/development/menu/menu-button/menu-button.component.js +2 -3
  161. package/development/menu/menu-link/menu-link.component.d.ts +1 -0
  162. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  163. package/development/menu/menu-link/menu-link.component.js +5 -1
  164. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  165. package/development/option/optgroup/optgroup-base-element.js +8 -6
  166. package/development/option/option-hint/option-hint.component.d.ts +18 -0
  167. package/development/option/option-hint/option-hint.component.d.ts.map +1 -0
  168. package/development/option/option-hint/option-hint.component.js +74 -0
  169. package/development/option/option-hint.d.ts +5 -0
  170. package/development/option/option-hint.d.ts.map +1 -0
  171. package/development/option/option-hint.js +5 -0
  172. package/development/option.d.ts +1 -0
  173. package/development/option.d.ts.map +1 -1
  174. package/development/option.js +4 -2
  175. package/development/overlay/overlay-base-element.d.ts +1 -0
  176. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  177. package/development/overlay/overlay-base-element.js +3 -3
  178. package/development/popover/popover/popover.component.d.ts +18 -4
  179. package/development/popover/popover/popover.component.d.ts.map +1 -1
  180. package/development/popover/popover/popover.component.js +35 -30
  181. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
  182. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  183. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +7 -7
  184. package/development/select/select.component.d.ts.map +1 -1
  185. package/development/select/select.component.js +2 -2
  186. package/development/selection-action-panel/selection-action-panel.component.d.ts +22 -0
  187. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
  188. package/development/selection-action-panel/selection-action-panel.component.js +105 -0
  189. package/development/selection-action-panel.d.ts +5 -0
  190. package/development/selection-action-panel.d.ts.map +1 -0
  191. package/development/selection-action-panel.js +5 -0
  192. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
  193. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  194. package/development/selection-expansion-panel/selection-expansion-panel.component.js +26 -106
  195. package/development/{transparent-button-Ddb_s0a0.js → transparent-button-Dun6bh2G.js} +89 -8
  196. package/dialog/dialog/dialog.component.d.ts +4 -2
  197. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  198. package/dialog/dialog/dialog.component.js +63 -56
  199. package/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  200. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  201. package/dialog/dialog-actions/dialog-actions.component.js +13 -9
  202. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
  203. package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
  204. package/dialog/dialog-close-button/dialog-close-button.component.js +31 -0
  205. package/dialog/dialog-close-button.d.ts +5 -0
  206. package/dialog/dialog-close-button.d.ts.map +1 -0
  207. package/dialog/dialog-close-button.js +4 -0
  208. package/dialog/dialog-content/dialog-content.component.js +6 -6
  209. package/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  210. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  211. package/dialog/dialog-title/dialog-title.component.js +11 -8
  212. package/dialog.d.ts +1 -0
  213. package/dialog.d.ts.map +1 -1
  214. package/dialog.js +6 -4
  215. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -7
  216. package/form-field/form-field/form-field.component.d.ts +23 -1
  217. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  218. package/form-field/form-field/form-field.component.js +52 -41
  219. package/form-field/form-field.js +3 -2
  220. package/form-field.js +5 -4
  221. package/header/header-environment/header-environment.component.d.ts +23 -0
  222. package/header/header-environment/header-environment.component.d.ts.map +1 -0
  223. package/header/header-environment/header-environment.component.js +37 -0
  224. package/header/header-environment.d.ts +5 -0
  225. package/header/header-environment.d.ts.map +1 -0
  226. package/header/header-environment.js +4 -0
  227. package/index.d.ts +8 -0
  228. package/index.js +8 -0
  229. package/menu/menu/menu.component.d.ts +1 -0
  230. package/menu/menu/menu.component.d.ts.map +1 -1
  231. package/menu/menu/menu.component.js +1 -1
  232. package/menu/menu-button/menu-button.component.d.ts +1 -0
  233. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  234. package/menu/menu-button/menu-button.component.js +8 -8
  235. package/menu/menu-link/menu-link.component.d.ts +1 -0
  236. package/menu/menu-link/menu-link.component.d.ts.map +1 -1
  237. package/menu/menu-link/menu-link.component.js +9 -6
  238. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  239. package/option/optgroup/optgroup-base-element.js +19 -17
  240. package/option/option-hint/option-hint.component.d.ts +18 -0
  241. package/option/option-hint/option-hint.component.d.ts.map +1 -0
  242. package/option/option-hint/option-hint.component.js +27 -0
  243. package/option/option-hint.d.ts +5 -0
  244. package/option/option-hint.d.ts.map +1 -0
  245. package/option/option-hint.js +4 -0
  246. package/option.d.ts +1 -0
  247. package/option.d.ts.map +1 -1
  248. package/option.js +5 -3
  249. package/overlay/overlay-base-element.d.ts +1 -0
  250. package/overlay/overlay-base-element.d.ts.map +1 -1
  251. package/overlay/overlay-base-element.js +21 -21
  252. package/package.json +23 -3
  253. package/popover/popover/popover.component.d.ts +18 -4
  254. package/popover/popover/popover.component.d.ts.map +1 -1
  255. package/popover/popover/popover.component.js +104 -95
  256. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
  257. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  258. package/radio-button/radio-button-panel/radio-button-panel.component.js +9 -9
  259. package/select/select.component.d.ts.map +1 -1
  260. package/select/select.component.js +1 -1
  261. package/selection-action-panel/selection-action-panel.component.d.ts +22 -0
  262. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
  263. package/selection-action-panel/selection-action-panel.component.js +34 -0
  264. package/selection-action-panel.d.ts +5 -0
  265. package/selection-action-panel.d.ts.map +1 -0
  266. package/selection-action-panel.js +4 -0
  267. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
  268. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  269. package/selection-expansion-panel/selection-expansion-panel.component.js +45 -102
  270. package/standard-theme.css +22 -1
  271. package/transparent-button-rf30m88X.js +9 -0
  272. package/transparent-button-BlbvexCb.js +0 -9
@@ -0,0 +1,23 @@
1
+ import { LitElement } from 'lit';
2
+ import { SbbCheckboxGroupElement } from '../../checkbox/checkbox-group.js';
3
+ import { SbbRadioButtonGroupElement } from '../../radio-button/radio-button-group.js';
4
+ import { SbbStateChange } from '../interfaces/types.js';
5
+ import { AbstractConstructor } from './constructor.js';
6
+ import { SbbElementInternalsMixinType } from './element-internals-mixin.js';
7
+ export declare class SbbSelectionPanelMixinType {
8
+ accessor color: 'white' | 'milk';
9
+ accessor borderless: boolean;
10
+ protected set checked(checked: boolean);
11
+ protected get checked(): boolean;
12
+ protected set disabled(disabled: boolean);
13
+ protected get disabled(): boolean;
14
+ protected group: SbbRadioButtonGroupElement | SbbCheckboxGroupElement | null;
15
+ protected sizeAttributeObserver: MutationObserver | null;
16
+ protected initFromInput(event: Event): void;
17
+ protected onInputStateChange(event: CustomEvent<SbbStateChange>): void;
18
+ }
19
+ /**
20
+ * Mixin for common selection panel behaviors
21
+ */
22
+ export declare const SbbSelectionPanelMixin: <T extends AbstractConstructor<LitElement>>(superClass: T) => AbstractConstructor<SbbSelectionPanelMixinType & SbbElementInternalsMixinType> & T;
23
+ //# sourceMappingURL=selection-panel-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-panel-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/selection-panel-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAGhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAG3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,SAAgB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxC,SAAgB,UAAU,EAAE,OAAO,CAAC;IAEpC,SAAS,KAAK,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;IACxC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC;IAEjC,SAAS,KAAK,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC1C,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC;IAElC,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,uBAAuB,GAAG,IAAI,CAAC;IAC7E,SAAS,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAEzD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAC3C,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI;CACvE;AAED;;GAEG;AAEH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EAC9E,YAAY,CAAC,KACZ,mBAAmB,CAAC,0BAA0B,GAAG,4BAA4B,CAAC,GAAG,CA8FnF,CAAC"}
@@ -0,0 +1,120 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __esDecorate, __runInitializers } from "tslib";
9
+ import { isServer } from "lit";
10
+ import { property } from "lit/decorators.js";
11
+ import { forceType } from "../decorators.js";
12
+ import { SbbElementInternalsMixin } from "./element-internals-mixin.js";
13
+ const SbbSelectionPanelMixin = (superClass) => {
14
+ let SbbSelectionPanelElement = (() => {
15
+ var _color_accessor_storage, _borderless_accessor_storage, _a;
16
+ let _classSuper = SbbElementInternalsMixin(superClass);
17
+ let _color_decorators;
18
+ let _color_initializers = [];
19
+ let _color_extraInitializers = [];
20
+ let _borderless_decorators;
21
+ let _borderless_initializers = [];
22
+ let _borderless_extraInitializers = [];
23
+ return _a = class extends _classSuper {
24
+ constructor(...args) {
25
+ super(args);
26
+ __privateAdd(this, _color_accessor_storage);
27
+ __privateAdd(this, _borderless_accessor_storage);
28
+ __privateSet(this, _color_accessor_storage, __runInitializers(this, _color_initializers, "white"));
29
+ __privateSet(this, _borderless_accessor_storage, (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _borderless_initializers, false)));
30
+ this.group = (__runInitializers(this, _borderless_extraInitializers), null);
31
+ this.sizeAttributeObserver = !isServer ? new MutationObserver((mutationsList) => this._onSizeAttributesChange(mutationsList)) : null;
32
+ this.addEventListener?.("panelconnected", (e) => this.initFromInput(e));
33
+ }
34
+ /** The background color of the panel. */
35
+ get color() {
36
+ return __privateGet(this, _color_accessor_storage);
37
+ }
38
+ set color(value) {
39
+ __privateSet(this, _color_accessor_storage, value);
40
+ }
41
+ /** Whether the unselected panel has a border. */
42
+ get borderless() {
43
+ return __privateGet(this, _borderless_accessor_storage);
44
+ }
45
+ set borderless(value) {
46
+ __privateSet(this, _borderless_accessor_storage, value);
47
+ }
48
+ /** Whether the selection panel is checked. */
49
+ set checked(checked) {
50
+ this.toggleState("checked", checked);
51
+ }
52
+ get checked() {
53
+ return this.internals.states.has("checked");
54
+ }
55
+ /** Whether the selection panel is disabled. */
56
+ set disabled(disabled) {
57
+ this.toggleState("disabled", disabled);
58
+ }
59
+ get disabled() {
60
+ return this.internals.states.has("disabled");
61
+ }
62
+ connectedCallback() {
63
+ super.connectedCallback();
64
+ this.group = this.closest("sbb-radio-button-group, sbb-checkbox-group");
65
+ }
66
+ disconnectedCallback() {
67
+ super.disconnectedCallback();
68
+ this.sizeAttributeObserver?.disconnect();
69
+ }
70
+ initFromInput(event) {
71
+ const input = event.target;
72
+ this.checked = input.checked;
73
+ this.disabled = input.disabled;
74
+ this.sizeAttributeObserver?.disconnect();
75
+ this.sizeAttributeObserver?.observe(input, { attributeFilter: ["size"] });
76
+ }
77
+ onInputStateChange(event) {
78
+ if (event.detail.type === "disabled") {
79
+ this.disabled = event.detail.disabled;
80
+ } else if (event.detail.type === "checked") {
81
+ this.checked = event.detail.checked;
82
+ }
83
+ }
84
+ /**
85
+ * Set the data-size in two cases:
86
+ * - if there's no group, so the size change comes directly from a change on the inner panel;
87
+ * - if there's a wrapper group and its size changes, syncing it with the panel size.
88
+ *
89
+ * On the other hand, if there's a wrapper group and the size changes on the inner panel, the data-size doesn't change.
90
+ */
91
+ _onSizeAttributesChange(mutationsList) {
92
+ for (const mutation of mutationsList) {
93
+ if (mutation.attributeName === "size") {
94
+ const group = this.group;
95
+ const size = mutation.target.getAttribute("size");
96
+ if (!group || group.size === size) {
97
+ this.setAttribute("data-size", size);
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }, _color_accessor_storage = new WeakMap(), _borderless_accessor_storage = new WeakMap(), (() => {
103
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
104
+ _color_decorators = [property({ reflect: true })];
105
+ _borderless_decorators = [forceType(), property({ reflect: true, type: Boolean })];
106
+ __esDecorate(_a, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: (obj) => "color" in obj, get: (obj) => obj.color, set: (obj, value) => {
107
+ obj.color = value;
108
+ } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
109
+ __esDecorate(_a, null, _borderless_decorators, { kind: "accessor", name: "borderless", static: false, private: false, access: { has: (obj) => "borderless" in obj, get: (obj) => obj.borderless, set: (obj, value) => {
110
+ obj.borderless = value;
111
+ } }, metadata: _metadata }, _borderless_initializers, _borderless_extraInitializers);
112
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
113
+ })(), _a;
114
+ })();
115
+ return SbbSelectionPanelElement;
116
+ };
117
+ export {
118
+ SbbSelectionPanelMixin
119
+ };
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvc2VsZWN0aW9uLXBhbmVsLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jaGVja2JveC9jaGVja2JveC1ncm91cC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50IH0gZnJvbSAnLi4vLi4vY2hlY2tib3gvY2hlY2tib3gtcGFuZWwuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvbkdyb3VwRWxlbWVudCB9IGZyb20gJy4uLy4uL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uLy4uL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tcGFuZWwuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0YXRlQ2hhbmdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHtcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxuICB0eXBlIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG59IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4uanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJTZWxlY3Rpb25QYW5lbE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJztcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHNldCBjaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4pO1xuICBwcm90ZWN0ZWQgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTtcbiAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZCgpOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBncm91cDogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGw7XG4gIHByb3RlY3RlZCBzaXplQXR0cmlidXRlT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsO1xuXG4gIHByb3RlY3RlZCBpbml0RnJvbUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBvbklucHV0U3RhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYlN0YXRlQ2hhbmdlPik6IHZvaWQ7XG59XG5cbi8qKlxuICogTWl4aW4gZm9yIGNvbW1vbiBzZWxlY3Rpb24gcGFuZWwgYmVoYXZpb3JzXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJTZWxlY3Rpb25QYW5lbE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiU2VsZWN0aW9uUGFuZWxNaXhpblR5cGUgJiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJTZWxlY3Rpb25QYW5lbEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJTZWxlY3Rpb25QYW5lbE1peGluVHlwZT5cbiAge1xuICAgIC8qKiBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgcGFuZWwuICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVuc2VsZWN0ZWQgcGFuZWwgaGFzIGEgYm9yZGVyLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYm9yZGVybGVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBwYW5lbCBpcyBjaGVja2VkLiAqL1xuICAgIHByb3RlY3RlZCBzZXQgY2hlY2tlZChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjaGVja2VkJywgY2hlY2tlZCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdjaGVja2VkJyk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBwYW5lbCBpcyBkaXNhYmxlZC4gKi9cbiAgICBwcm90ZWN0ZWQgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlZCcsIGRpc2FibGVkKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdkaXNhYmxlZCcpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBncm91cDogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHNpemVBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSkgPT5cbiAgICAgICAgICB0aGlzLl9vblNpemVBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3QpLFxuICAgICAgICApXG4gICAgICA6IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKGFyZ3MpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BhbmVsY29ubmVjdGVkJywgKGUpID0+IHRoaXMuaW5pdEZyb21JbnB1dChlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuZ3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1yYWRpby1idXR0b24tZ3JvdXAsIHNiYi1jaGVja2JveC1ncm91cCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLnNpemVBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0RnJvbUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQgfCBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudDtcblxuICAgICAgdGhpcy5jaGVja2VkID0gaW5wdXQuY2hlY2tlZDtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBpbnB1dC5kaXNhYmxlZDtcbiAgICAgIHRoaXMuc2l6ZUF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgaW5uZXIgcGFuZWwgY2FuIGNoYW5nZSBkdWUgZGlyZWN0IGNoYW5nZSBvbiB0aGUgcGFuZWwgb3IgZHVlIHRvIGNoYW5nZSBvZiB0aGUgaW5wdXQtZ3JvdXAgc2l6ZS5cbiAgICAgIHRoaXMuc2l6ZUF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKGlucHV0LCB7IGF0dHJpYnV0ZUZpbHRlcjogWydzaXplJ10gfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXRTdGF0ZUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQ8U2JiU3RhdGVDaGFuZ2U+KTogdm9pZCB7XG4gICAgICBpZiAoZXZlbnQuZGV0YWlsLnR5cGUgPT09ICdkaXNhYmxlZCcpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGV2ZW50LmRldGFpbC5kaXNhYmxlZDtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZGV0YWlsLnR5cGUgPT09ICdjaGVja2VkJykge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBldmVudC5kZXRhaWwuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGRhdGEtc2l6ZSBpbiB0d28gY2FzZXM6XG4gICAgICogLSBpZiB0aGVyZSdzIG5vIGdyb3VwLCBzbyB0aGUgc2l6ZSBjaGFuZ2UgY29tZXMgZGlyZWN0bHkgZnJvbSBhIGNoYW5nZSBvbiB0aGUgaW5uZXIgcGFuZWw7XG4gICAgICogLSBpZiB0aGVyZSdzIGEgd3JhcHBlciBncm91cCBhbmQgaXRzIHNpemUgY2hhbmdlcywgc3luY2luZyBpdCB3aXRoIHRoZSBwYW5lbCBzaXplLlxuICAgICAqXG4gICAgICogT24gdGhlIG90aGVyIGhhbmQsIGlmIHRoZXJlJ3MgYSB3cmFwcGVyIGdyb3VwIGFuZCB0aGUgc2l6ZSBjaGFuZ2VzIG9uIHRoZSBpbm5lciBwYW5lbCwgdGhlIGRhdGEtc2l6ZSBkb2Vzbid0IGNoYW5nZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vblNpemVBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ3NpemUnKSB7XG4gICAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICAgIGNvbnN0IHNpemUgPSAobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ3NpemUnKSE7XG4gICAgICAgICAgaWYgKCFncm91cCB8fCBncm91cC5zaXplID09PSBzaXplKSB7XG4gICAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYlNlbGVjdGlvblBhbmVsRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8XG4gICAgU2JiU2VsZWN0aW9uUGFuZWxNaXhpblR5cGUgJiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlXG4gID4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXFDTyxNQUFNLHlCQUF5QixDQUNwQyxlQUNzRjtNQUN2RSw0QkFBd0IsTUFBQTs7c0JBQzdCLHlCQUF5QixVQUFVOzs7Ozs7O0FBRDlCLFdBQUEsbUJBQ0wsWUFBb0M7QUFBQSxN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
@@ -15,5 +15,6 @@ export * from './mixins/negative-mixin.js';
15
15
  export * from './mixins/panel-mixin.js';
16
16
  export * from './mixins/required-mixin.js';
17
17
  export * from './mixins/readonly-mixin.js';
18
+ export * from './mixins/selection-panel-mixin.js';
18
19
  export * from './mixins/update-scheduler-mixin.js';
19
20
  //# sourceMappingURL=mixins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/mixins.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC"}
1
+ {"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/mixins.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -11,11 +11,12 @@ import { SbbNegativeMixin } from "./mixins/negative-mixin.js";
11
11
  import { SbbPanelMixin } from "./mixins/panel-mixin.js";
12
12
  import { SbbRequiredMixin } from "./mixins/required-mixin.js";
13
13
  import { SbbReadonlyMixin } from "./mixins/readonly-mixin.js";
14
+ import { SbbSelectionPanelMixin } from "./mixins/selection-panel-mixin.js";
14
15
  import { SbbUpdateSchedulerMixin } from "./mixins/update-scheduler-mixin.js";
15
16
  import { css } from "lit";
16
17
  const panelCommon = css`:host {
17
18
  --sbb-selection-panel-background: var(
18
- --sbb-selection-expansion-panel-inner-background,
19
+ --sbb-selection-panel-inner-background,
19
20
  var(--sbb-color-white)
20
21
  );
21
22
  --sbb-selection-panel-border-color: var(--sbb-color-cloud);
@@ -24,7 +25,7 @@ const panelCommon = css`:host {
24
25
  var(--sbb-border-radius-4x)
25
26
  );
26
27
  --sbb-selection-panel-border-width: var(
27
- --sbb-selection-expansion-panel-inner-border-width,
28
+ --sbb-selection-panel-inner-border-width,
28
29
  var(--sbb-border-width-1x)
29
30
  );
30
31
  --sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs)
@@ -47,7 +48,7 @@ const panelCommon = css`:host {
47
48
 
48
49
  :host([color=milk]) {
49
50
  --sbb-selection-panel-background: var(
50
- --sbb-selection-expansion-panel-inner-background,
51
+ --sbb-selection-panel-inner-background,
51
52
  var(--sbb-color-milk)
52
53
  );
53
54
  }
@@ -59,7 +60,7 @@ const panelCommon = css`:host {
59
60
  :host(:is([data-checked]):not(:disabled, [disabled])) {
60
61
  --sbb-selection-panel-border-color: var(--sbb-color-charcoal);
61
62
  --sbb-selection-panel-border-width: var(
62
- --sbb-selection-expansion-panel-inner-border-width,
63
+ --sbb-selection-panel-inner-border-width,
63
64
  var(--sbb-border-width-2x)
64
65
  );
65
66
  }
@@ -133,10 +134,11 @@ export {
133
134
  SbbPanelMixin,
134
135
  SbbReadonlyMixin,
135
136
  SbbRequiredMixin,
137
+ SbbSelectionPanelMixin,
136
138
  SbbUpdateSchedulerMixin,
137
139
  appendAriaElements,
138
140
  panelCommon as panelCommonStyle,
139
141
  radioButtonRegistry,
140
142
  removeAriaElements
141
143
  };
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4aW5zLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
144
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4aW5zLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
@@ -20,6 +20,7 @@ export declare class SbbDialogElement extends SbbOverlayBaseElement {
20
20
  private _dialogElement?;
21
21
  private _isPointerDownEventOnDialog;
22
22
  protected closeAttribute: string;
23
+ protected closeTag: string;
23
24
  constructor();
24
25
  connectedCallback(): void;
25
26
  protected isZeroAnimationDuration(): boolean;
@@ -27,12 +28,13 @@ export declare class SbbDialogElement extends SbbOverlayBaseElement {
27
28
  protected handleOpening(): void;
28
29
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
29
30
  protected willUpdate(changedProperties: PropertyValues<this>): void;
30
- private _syncNegative;
31
+ private _syncTitleNegative;
31
32
  /** Check if the pointerdown event target is triggered on the dialog. */
32
33
  private _pointerDownListener;
33
34
  /** Close dialog on backdrop click. */
34
35
  private _closeOnBackdropClick;
35
- private _onContentResize;
36
+ private _updateOverflowState;
37
+ private _detectScrolledState;
36
38
  protected render(): TemplateResult;
37
39
  }
38
40
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog/dialog.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1E,OAAO,EAAe,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,6BAA6B,CAAC;AAIrC;;;;;;;;GAQG;AACH,qBAEM,gBAAiB,SAAQ,qBAAqB;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,6BAA6B;IAC7B,SAA4D,cAAc,EAAE,OAAO,GAAG,MAAM,CAClF;IAEV,wBAAwB;IACxB,SAAoE,QAAQ,EACxE,QAAQ,GACR,aAAa,CAAY;IAM7B,OAAO,CAAC,4BAA4B,CAIjC;IAEH,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,2BAA2B,CAAkB;IACrD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAsB;;IAStC,iBAAiB,IAAI,IAAI;IAKzC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,aAAa,IAAI,IAAI;IA2B/B,SAAS,CAAC,aAAa,IAAI,IAAI;cAmBZ,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAM3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5E,OAAO,CAAC,aAAa;IAQrB,wEAAwE;IACxE,OAAO,CAAC,oBAAoB,CAO1B;IAEF,sCAAsC;IACtC,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,gBAAgB;cASL,MAAM,IAAI,cAAc;CAyB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog/dialog.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1E,OAAO,EAAe,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,6BAA6B,CAAC;AAIrC;;;;;;;;GAQG;AACH,qBAEM,gBAAiB,SAAQ,qBAAqB;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,6BAA6B;IAC7B,SAA4D,cAAc,EAAE,OAAO,GAAG,MAAM,CAClF;IAEV,wBAAwB;IACxB,SAAoE,QAAQ,EACxE,QAAQ,GACR,aAAa,CAAY;IAM7B,OAAO,CAAC,4BAA4B,CAIjC;IAEH,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,2BAA2B,CAAkB;IACrD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAsB;IACtD,UAAmB,QAAQ,EAAE,MAAM,CAA6B;;IAShD,iBAAiB,IAAI,IAAI;IAKzC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,aAAa,IAAI,IAAI;IA2B/B,SAAS,CAAC,aAAa,IAAI,IAAI;cAmBZ,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAM3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5E,OAAO,CAAC,kBAAkB;IAa1B,wEAAwE;IACxE,OAAO,CAAC,oBAAoB,CAO1B;IAEF,sCAAsC;IACtC,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;cAKT,MAAM,IAAI,cAAc;CA6B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
@@ -7,7 +7,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
8
  import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { ResizeController } from "@lit-labs/observers/resize-controller.js";
10
- import { customElement, property } from "lit/decorators.js";
10
+ import { customElement, property, eventOptions } from "lit/decorators.js";
11
11
  import { ref } from "lit/directives/ref.js";
12
12
  import { html } from "lit/static-html.js";
13
13
  import { isZeroAnimationDuration } from "../../core/dom.js";
@@ -37,16 +37,22 @@ const style = css`*,
37
37
  --sbb-dialog-max-height: 100%;
38
38
  --sbb-dialog-inset: 0 auto auto 0;
39
39
  --sbb-dialog-border-radius: var(--sbb-border-radius-8x);
40
- --sbb-dialog-padding-block: var(--sbb-spacing-responsive-s);
40
+ --sbb-dialog-padding-block: var(--sbb-spacing-responsive-xs);
41
41
  --sbb-dialog-animation-duration: var(
42
42
  --sbb-disable-animation-duration,
43
43
  var(--sbb-animation-duration-6x)
44
44
  );
45
+ --sbb-dialog-shadow-animation-duration: var(
46
+ --sbb-disable-animation-duration,
47
+ var(--sbb-animation-duration-4x)
48
+ );
45
49
  --sbb-dialog-animation-easing: ease;
46
50
  --sbb-dialog-pointer-events: none;
47
51
  --sbb-dialog-backdrop-visibility: hidden;
48
52
  --sbb-dialog-backdrop-pointer-events: none;
49
53
  --sbb-dialog-backdrop-color: transparent;
54
+ --sbb-dialog-title-gap: var(--sbb-spacing-fixed-2x);
55
+ --sbb-dialog-close-button-margin: var(--sbb-spacing-fixed-4x);
50
56
  display: none;
51
57
  position: fixed;
52
58
  inset: var(--sbb-dialog-inset);
@@ -170,6 +176,22 @@ const style = css`*,
170
176
  max-height: var(--sbb-dialog-max-height);
171
177
  }
172
178
 
179
+ .sbb-dialog-title-section {
180
+ display: flex;
181
+ width: 100%;
182
+ gap: var(--sbb-dialog-title-gap);
183
+ background-color: var(--sbb-dialog-background-color);
184
+ padding-inline: var(--sbb-dialog-padding);
185
+ transition: box-shadow var(--sbb-animation-easing) var(--sbb-dialog-shadow-animation-duration);
186
+ box-shadow: none;
187
+ }
188
+ :host(:not([negative]):is(:state(scrolled), [state--scrolled])) .sbb-dialog-title-section {
189
+ box-shadow: var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-soft-2-color), var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-soft-1-color);
190
+ }
191
+ :host([negative]:is(:state(scrolled), [state--scrolled])) .sbb-dialog-title-section {
192
+ box-shadow: var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-soft-negative-2-color), var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-soft-negative-1-color);
193
+ }
194
+
173
195
  .sbb-dialog-content-container {
174
196
  --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
175
197
  }
@@ -223,6 +245,17 @@ const style = css`*,
223
245
  opacity: 0;
224
246
  translate: 0 var(--sbb-spacing-fixed-4x);
225
247
  }
248
+ }
249
+ ::slotted(sbb-dialog-title) {
250
+ flex-grow: 1;
251
+ margin-block: var(--sbb-dialog-padding-block);
252
+ }
253
+
254
+ ::slotted(sbb-dialog-close-button) {
255
+ order: 1;
256
+ margin-inline-end: var(--sbb-dialog-close-button-margin);
257
+ margin-block-start: calc(var(--sbb-dialog-padding-block) + 0.5 * (var(--sbb-typo-line-height-titles) * var(--_sbb-dialog-title-size, var(--sbb-font-size-title-4)) - var(--sbb-size-element-xs)));
258
+ inset-inline-end: var(--sbb-dialog-close-button-margin);
226
259
  }`;
227
260
  let nextId = 0;
228
261
  let SbbDialogElement = (() => {
@@ -232,26 +265,29 @@ let SbbDialogElement = (() => {
232
265
  let _classExtraInitializers = [];
233
266
  let _classThis;
234
267
  let _classSuper = SbbOverlayBaseElement;
268
+ let _instanceExtraInitializers = [];
235
269
  let _backdropAction_decorators;
236
270
  let _backdropAction_initializers = [];
237
271
  let _backdropAction_extraInitializers = [];
238
272
  let _backdrop_decorators;
239
273
  let _backdrop_initializers = [];
240
274
  let _backdrop_extraInitializers = [];
275
+ let __detectScrolledState_decorators;
241
276
  _a = class extends _classSuper {
242
277
  constructor() {
243
278
  super();
244
279
  __privateAdd(this, _backdropAction_accessor_storage);
245
280
  __privateAdd(this, _backdrop_accessor_storage);
246
- __privateSet(this, _backdropAction_accessor_storage, __runInitializers(this, _backdropAction_initializers, "close"));
281
+ __privateSet(this, _backdropAction_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _backdropAction_initializers, "close")));
247
282
  __privateSet(this, _backdrop_accessor_storage, (__runInitializers(this, _backdropAction_extraInitializers), __runInitializers(this, _backdrop_initializers, "opaque")));
248
283
  this._dialogContentResizeObserver = (__runInitializers(this, _backdrop_extraInitializers), new ResizeController(this, {
249
284
  target: null,
250
285
  skipInitial: true,
251
- callback: () => setTimeout(() => this._onContentResize())
286
+ callback: () => setTimeout(() => this._updateOverflowState())
252
287
  }));
253
288
  this._isPointerDownEventOnDialog = false;
254
289
  this.closeAttribute = "sbb-dialog-close";
290
+ this.closeTag = "sbb-dialog-close-button";
255
291
  this._pointerDownListener = (event) => {
256
292
  if (this.backdropAction !== "close") {
257
293
  return;
@@ -325,22 +361,30 @@ let SbbDialogElement = (() => {
325
361
  }
326
362
  firstUpdated(changedProperties) {
327
363
  super.firstUpdated(changedProperties);
328
- this._syncNegative();
364
+ this._syncTitleNegative();
329
365
  }
330
366
  willUpdate(changedProperties) {
331
367
  super.willUpdate(changedProperties);
332
368
  if (changedProperties.has("negative")) {
333
- this._syncNegative();
369
+ this._syncTitleNegative();
334
370
  }
335
371
  }
336
- _syncNegative() {
372
+ _syncTitleNegative() {
337
373
  const dialogTitle = this.querySelector?.("sbb-dialog-title");
374
+ const closeButton = this.querySelector?.("sbb-dialog-close-button");
338
375
  if (dialogTitle) {
339
376
  dialogTitle.negative = this.negative;
340
377
  }
378
+ if (closeButton) {
379
+ closeButton.negative = this.negative;
380
+ }
381
+ }
382
+ _updateOverflowState() {
383
+ this.toggleState("overflows", (this._dialogContentElement?.scrollTop ?? 0) + (this._dialogContentElement?.offsetHeight ?? 0) < (this._dialogContentElement?.scrollHeight ?? 0));
341
384
  }
342
- _onContentResize() {
343
- this.toggleState("overflows", this._dialogContentElement ? this._dialogContentElement.scrollHeight > this._dialogContentElement.clientHeight : false);
385
+ _detectScrolledState() {
386
+ this.toggleState("scrolled", (this._dialogContentElement?.scrollTop ?? 0) > 0);
387
+ this._updateOverflowState();
344
388
  }
345
389
  render() {
346
390
  return html`
@@ -354,11 +398,15 @@ let SbbDialogElement = (() => {
354
398
  @click=${(event) => this.closeOnSbbOverlayCloseClick(event)}
355
399
  class="sbb-dialog__wrapper"
356
400
  >
401
+ <div class="sbb-dialog-title-section">
402
+ <slot name="title-section" @slotchange=${() => this._syncTitleNegative()}></slot>
403
+ </div>
357
404
  <div
358
405
  class="sbb-dialog-content-container"
406
+ @scroll=${() => this._detectScrolledState()}
359
407
  ${ref((el) => this._dialogContentElement = el)}
360
408
  >
361
- <slot @slotchange=${() => this._syncNegative()}></slot>
409
+ <slot></slot>
362
410
  </div>
363
411
  <slot name="actions"></slot>
364
412
  </div>
@@ -371,12 +419,14 @@ let SbbDialogElement = (() => {
371
419
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
372
420
  _backdropAction_decorators = [property({ attribute: "backdrop-action" })];
373
421
  _backdrop_decorators = [property({ attribute: "backdrop", reflect: true })];
422
+ __detectScrolledState_decorators = [eventOptions({ passive: true })];
374
423
  __esDecorate(_a, null, _backdropAction_decorators, { kind: "accessor", name: "backdropAction", static: false, private: false, access: { has: (obj) => "backdropAction" in obj, get: (obj) => obj.backdropAction, set: (obj, value) => {
375
424
  obj.backdropAction = value;
376
425
  } }, metadata: _metadata }, _backdropAction_initializers, _backdropAction_extraInitializers);
377
426
  __esDecorate(_a, null, _backdrop_decorators, { kind: "accessor", name: "backdrop", static: false, private: false, access: { has: (obj) => "backdrop" in obj, get: (obj) => obj.backdrop, set: (obj, value) => {
378
427
  obj.backdrop = value;
379
428
  } }, metadata: _metadata }, _backdrop_initializers, _backdrop_extraInitializers);
429
+ __esDecorate(_a, null, __detectScrolledState_decorators, { kind: "method", name: "_detectScrolledState", static: false, private: false, access: { has: (obj) => "_detectScrolledState" in obj, get: (obj) => obj._detectScrolledState }, metadata: _metadata }, null, _instanceExtraInitializers);
380
430
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
381
431
  _classThis = _classDescriptor.value;
382
432
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -386,4 +436,4 @@ let SbbDialogElement = (() => {
386
436
  export {
387
437
  SbbDialogElement
388
438
  };
389
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgb3ZlcmxheVJlZnMsIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL292ZXJsYXkuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbnRlcmFjdGl2ZSBvdmVybGF5IGVsZW1lbnQuXG4gKlxuICogQHNsb3QgYWN0aW9ucyAtIFRoaXMgc2xvdCBpcyB1c2VkIGZvciB0aGUgYWN0aW9ucywgdGhlIHNsb3QgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byB0aGUgYHNiYi1kaWFsb2ctYWN0aW9uc2AgZWxlbWVudC5cbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGBzYmItZGlhbG9nLXRpdGxlYCwgYHNiYi1kaWFsb2ctY29udGVudGAgYW5kIGFuIG9wdGlvbmFsIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICogQGNzc3Byb3AgWy0tc2JiLWRpYWxvZy16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kaWFsb2cnKVxuY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID1cbiAgICAnY2xvc2UnO1xuXG4gIC8qKiBCYWNrZHJvcCBkZW5zaXR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wOlxuICAgIHwgJ29wYXF1ZSdcbiAgICB8ICd0cmFuc2x1Y2VudCcgPSAnb3BhcXVlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fb25Db250ZW50UmVzaXplKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50RWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9kaWFsb2dFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UnO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1kaWFsb2ctJHtuZXh0SWQrK31gO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIGlmICghdGhpcy5za2lwRm9jdXNSZXN0b3JhdGlvbikge1xuICAgICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PlxuICAgICAgdGhpcy5zZXRBcmlhTGl2ZVJlZkNvbnRlbnQoXG4gICAgICAgIHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIHx8IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpPy5pbm5lclRleHQudHJpbSgpLFxuICAgICAgKSxcbiAgICApO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dUaXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLXRpdGxlJyk7XG5cbiAgICBpZiAoZGlhbG9nVGl0bGUpIHtcbiAgICAgIGRpYWxvZ1RpdGxlLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BBY3Rpb24gIT09ICdjbG9zZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyA9XG4gICAgICAhIXRoaXMuX2RpYWxvZ0VsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudCk7XG4gIH07XG5cbiAgLyoqIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay4gKi9cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuYmFja2Ryb3BBY3Rpb24gPT09ICdjbG9zZScgJiZcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyAmJlxuICAgICAgdGhpcy5fZGlhbG9nRWxlbWVudCAmJlxuICAgICAgIWV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uQ29udGVudFJlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ292ZXJmbG93cycsXG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudFxuICAgICAgICA/IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LnNjcm9sbEhlaWdodCA+IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LmNsaWVudEhlaWdodFxuICAgICAgICA6IGZhbHNlLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLm9uT3ZlcmxheUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9kaWFsb2dFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2ctY29udGVudC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0keygpID0+IHRoaXMuX3N5bmNOZWdhdGl2ZSgpfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJhY3Rpb25zXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kaWFsb2cnOiBTYmJEaWFsb2dFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
439
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCBhY3Rpb25zIC0gVGhpcyBzbG90IGlzIHVzZWQgZm9yIHRoZSBhY3Rpb25zLCB0aGUgc2xvdCBpcyBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHRvIHRoZSBgc2JiLWRpYWxvZy1hY3Rpb25zYCBlbGVtZW50LlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1kaWFsb2ctdGl0bGVgLCBgc2JiLWRpYWxvZy1jb250ZW50YCBhbmQgYW4gb3B0aW9uYWwgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKiBAY3NzcHJvcCBbLS1zYmItZGlhbG9nLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZycpXG5jbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIEJhY2tkcm9wIGNsaWNrIGFjdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AtYWN0aW9uJyB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3BBY3Rpb246ICdjbG9zZScgfCAnbm9uZScgPVxuICAgICdjbG9zZSc7XG5cbiAgLyoqIEJhY2tkcm9wIGRlbnNpdHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3A6XG4gICAgfCAnb3BhcXVlJ1xuICAgIHwgJ3RyYW5zbHVjZW50JyA9ICdvcGFxdWUnO1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50RWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9kaWFsb2dFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UnO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2xvc2VUYWc6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lcik7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWRpYWxvZy0ke25leHRJZCsrfWA7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWRpYWxvZy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG5cbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgaWYgKCF0aGlzLnNraXBGb2N1c1Jlc3RvcmF0aW9uKSB7XG4gICAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nIGlmIG5vIGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKCFvdmVybGF5UmVmcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB9XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoe1xuICAgICAgcmV0dXJuVmFsdWU6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5hdHRhY2hPcGVuT3ZlcmxheUV2ZW50cygpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgLy8gVXNlIHRpbWVvdXQgdG8gcmVhZCBsYWJlbCBhZnRlciBmb2N1c2VkIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+XG4gICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LmlubmVyVGV4dC50cmltKCksXG4gICAgICApLFxuICAgICk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgPVxuICAgICAgISF0aGlzLl9kaWFsb2dFbGVtZW50ICYmIGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpO1xuICB9O1xuXG4gIC8qKiBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suICovXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJhY2tkcm9wQWN0aW9uID09PSAnY2xvc2UnICYmXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0VsZW1lbnQgJiZcbiAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF91cGRhdGVPdmVyZmxvd1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnb3ZlcmZsb3dzJyxcbiAgICAgICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApICtcbiAgICAgICAgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5vZmZzZXRIZWlnaHQgPz8gMCkgPFxuICAgICAgICAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQ/LnNjcm9sbEhlaWdodCA/PyAwKSxcbiAgICApO1xuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdzY3JvbGxlZCcsICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApID4gMCk7XG4gICAgdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nLXRpdGxlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlLXNlY3Rpb25cIiBAc2xvdGNoYW5nZT0keygpID0+IHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCl9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2ctY29udGVudC1jb250YWluZXJcIlxuICAgICAgICAgICAgICBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfVxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJhY3Rpb25zXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kaWFsb2cnOiBTYmJEaWFsb2dFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLElBQUksU0FBUztJQWFQLG9C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
@@ -7,6 +7,7 @@ import { SbbActionGroupElement } from '../../action-group.js';
7
7
  */
8
8
  export declare class SbbDialogActionsElement extends SbbActionGroupElement {
9
9
  static styles: CSSResultGroup;
10
+ constructor();
10
11
  connectedCallback(): void;
11
12
  }
12
13
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-actions.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog-actions/dialog-actions.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAI9D;;;;GAIG;AACH,qBAEM,uBAAwB,SAAQ,qBAAqB;IACzD,OAAuB,MAAM,EAAE,cAAc,CAAyC;IAEtE,iBAAiB,IAAI,IAAI;CAI1C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,oBAAoB,EAAE,uBAAuB,CAAC;KAC/C;CACF"}
1
+ {"version":3,"file":"dialog-actions.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog-actions/dialog-actions.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAK9D;;;;GAIG;AACH,qBAEM,uBAAwB,SAAQ,qBAAqB;IACzD,OAAuB,MAAM,EAAE,cAAc,CAAyC;;IAWtE,iBAAiB,IAAI,IAAI;CAI1C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,oBAAoB,EAAE,uBAAuB,CAAC;KAC/C;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { customElement } from "lit/decorators.js";
3
3
  import { SbbActionGroupElement } from "../../action-group.js";
4
+ import { isLean } from "../../core/dom/lean-context.js";
4
5
  import { css } from "lit";
5
6
  const style = css`*,
6
7
  ::before,
@@ -14,12 +15,15 @@ const style = css`*,
14
15
  padding-block: var(--sbb-dialog-padding-block);
15
16
  margin-block-start: auto;
16
17
  background-color: var(--sbb-dialog-background-color);
18
+ transition: box-shadow var(--sbb-animation-easing) var(--sbb-dialog-shadow-animation-duration);
19
+ box-shadow: none;
17
20
  }
18
21
  :host::before {
19
22
  content: "";
20
23
  display: block;
21
24
  position: absolute;
22
25
  border-block-start: var(--sbb-border-width-1x) solid var(--sbb-dialog-actions-border-color);
26
+ transition: border-color var(--sbb-animation-easing) var(--sbb-dialog-shadow-animation-duration);
23
27
  width: 100%;
24
28
  margin-block-start: calc(-1 * var(--sbb-dialog-padding-block));
25
29
  margin-inline-start: calc(-1 * var(--sbb-dialog-padding-inline));
@@ -37,6 +41,11 @@ let SbbDialogActionsElement = (() => {
37
41
  let _classThis;
38
42
  let _classSuper = SbbActionGroupElement;
39
43
  _a = class extends _classSuper {
44
+ constructor() {
45
+ super();
46
+ this.buttonSize = isLean() ? "s" : "m";
47
+ this.linkSize = isLean() ? "xs" : "s";
48
+ }
40
49
  connectedCallback() {
41
50
  super.connectedCallback();
42
51
  this.slot ||= "actions";
@@ -52,4 +61,4 @@ let SbbDialogActionsElement = (() => {
52
61
  export {
53
62
  SbbDialogActionsElement
54
63
  };
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1hY3Rpb25zL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkFjdGlvbkdyb3VwRWxlbWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbi1ncm91cC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy1hY3Rpb25zLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogVXNlIHRoaXMgY29tcG9uZW50IHRvIGRpc3BsYXkgYSBmb290ZXIgaW50byBhbiBgc2JiLWRpYWxvZ2Agd2l0aCBhbiBhY3Rpb24gZ3JvdXAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1ibG9jay1saW5rYCBvciBgc2JiLWJ1dHRvbmAgZWxlbWVudHMgdG8gdGhlIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGlhbG9nLWFjdGlvbnMnKVxuY2xhc3MgU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQgZXh0ZW5kcyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiQWN0aW9uR3JvdXBFbGVtZW50LnN0eWxlcywgc3R5bGVdO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2FjdGlvbnMnO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLWFjdGlvbnMnOiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFjTSwyQkFBdUIsTUFBQTs7MEJBRDVCLGNBQWMsb0JBQW9CLENBQUM7Ozs7b0JBQ0U7QUFBUixFQUFBLG1CQUFRLFlBQXFCO0FBQUEsSUFHekMsb0JBQWlCO0FBQy9CLFlBQU0sa0JBQUE7QUFDTixXQUFLLFNBQVM7QUFBQSxJQUNoQjtBQUFBOztBQU5GLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixDQUFDLHNCQUFzQixRQUFRLEtBQUssR0FEaEYsa0JBQUEsWUFBQSx1QkFBQSxHQUF3Qjs7OyJ9
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1hY3Rpb25zL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkFjdGlvbkdyb3VwRWxlbWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbi1ncm91cC5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS9sZWFuLWNvbnRleHQuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctYWN0aW9ucy5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCB0byBkaXNwbGF5IGEgZm9vdGVyIGludG8gYW4gYHNiYi1kaWFsb2dgIHdpdGggYW4gYWN0aW9uIGdyb3VwLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYmxvY2stbGlua2Agb3IgYHNiYi1idXR0b25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy1hY3Rpb25zJylcbmNsYXNzIFNiYkRpYWxvZ0FjdGlvbnNFbGVtZW50IGV4dGVuZHMgU2JiQWN0aW9uR3JvdXBFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1NiYkFjdGlvbkdyb3VwRWxlbWVudC5zdHlsZXMsIHN0eWxlXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvKiogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKSAqL1xuICAgIHRoaXMuYnV0dG9uU2l6ZSA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gICAgLyoqIEBkZWZhdWx0ICdzJyAvICd4cycgKGxlYW4pICovXG4gICAgdGhpcy5saW5rU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdzJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2FjdGlvbnMnO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLWFjdGlvbnMnOiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBZU0sMkJBQXVCLE1BQUE7OzBCQUQ1QixjQUFjLG9CQUFvQixDQUFDOzs7O29CQUNFO0FBQVIsRUFBQSxtQkFBUSxZQUFxQjtBQUFBLElBR3pELGNBQUE7QUFDRSxZQUFBO0FBRUEsV0FBSyxhQUFhLE9BQUEsSUFBVyxNQUFNO0FBR25DLFdBQUssV0FBVyxPQUFBLElBQVcsT0FBTztBQUFBLElBQ3BDO0FBQUEsSUFFZ0Isb0JBQWlCO0FBQy9CLFlBQU0sa0JBQUE7QUFDTixXQUFLLFNBQVM7QUFBQSxJQUNoQjtBQUFBOztBQWZGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixDQUFDLHNCQUFzQixRQUFRLEtBQUssR0FEaEYsa0JBQUEsWUFBQSx1QkFBQSxHQUF3Qjs7OyJ9
@@ -0,0 +1,22 @@
1
+ import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
+ import { SbbSecondaryButtonElement } from '../../button/secondary-button.js';
3
+ /**
4
+ * Dialog close button, intended to be placed inside sbb-dialog.
5
+ *
6
+ * @slot - Use the unnamed slot to add content to the dialog-close-button. Not intended to be used in this context.
7
+ * @slot icon - Slot used to display the icon, if one is set. Not intended to be used in this context.
8
+ */
9
+ export declare class SbbDialogCloseButtonElement extends SbbSecondaryButtonElement {
10
+ static styles: CSSResultGroup;
11
+ private _languageController;
12
+ constructor();
13
+ connectedCallback(): void;
14
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
15
+ protected renderTemplate(): TemplateResult;
16
+ }
17
+ declare global {
18
+ interface HTMLElementTagNameMap {
19
+ 'sbb-dialog-close-button': SbbDialogCloseButtonElement;
20
+ }
21
+ }
22
+ //# sourceMappingURL=dialog-close-button.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-close-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/dialog/dialog-close-button/dialog-close-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAM7E;;;;;GAKG;AACH,qBAEM,2BAA4B,SAAQ,yBAAyB;IACjE,OAAuB,MAAM,EAAE,cAAc,CAA6C;IAE1F,OAAO,CAAC,mBAAmB,CAAmC;;IAQ9C,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAKzD,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,yBAAyB,EAAE,2BAA2B,CAAC;KACxD;CACF"}