@sbb-esta/lyne-elements 2.0.3 → 2.2.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 (266) hide show
  1. package/accordion/accordion.d.ts.map +1 -1
  2. package/accordion.js +6 -6
  3. package/action-group.js +3 -3
  4. package/alert/alert.js +8 -8
  5. package/autocomplete/autocomplete-base-element.d.ts +4 -0
  6. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  7. package/autocomplete-grid/autocomplete-grid-button.js +4 -4
  8. package/autocomplete-grid/autocomplete-grid-cell.js +3 -3
  9. package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -4
  10. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
  11. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  12. package/autocomplete-grid/autocomplete-grid-option.js +10 -10
  13. package/autocomplete-grid/autocomplete-grid-row.js +5 -5
  14. package/autocomplete.js +99 -90
  15. package/breadcrumb/breadcrumb-group.js +5 -5
  16. package/button/accent-button-link.js +9 -9
  17. package/button/accent-button-static.js +6 -6
  18. package/button/accent-button.js +6 -6
  19. package/button/button-link.js +7 -7
  20. package/button/button-static.js +7 -7
  21. package/button/button.js +8 -8
  22. package/button/common.js +15 -15
  23. package/button/mini-button-group.js +8 -8
  24. package/button/secondary-button-link.js +7 -7
  25. package/button/secondary-button-static.js +7 -7
  26. package/button/secondary-button.js +3 -3
  27. package/button/transparent-button-link.js +6 -6
  28. package/button/transparent-button-static.js +5 -5
  29. package/button/transparent-button.js +6 -6
  30. package/card/card-badge.js +11 -11
  31. package/card/card-button.js +5 -5
  32. package/card/card-link.js +7 -7
  33. package/card/card.js +3 -3
  34. package/checkbox/checkbox-panel.js +16 -16
  35. package/checkbox/checkbox.js +15 -15
  36. package/checkbox/common.js +3 -3
  37. package/chip-label.js +3 -3
  38. package/clock.js +10 -10
  39. package/container/container/container.d.ts +1 -1
  40. package/container/container/container.d.ts.map +1 -1
  41. package/container/container.js +23 -23
  42. package/container/sticky-bar/sticky-bar.d.ts +1 -1
  43. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  44. package/container/sticky-bar.js +4 -4
  45. package/core/a11y/focus.d.ts.map +1 -1
  46. package/core/a11y.js +8 -8
  47. package/core/base-elements/link-base-element.d.ts +2 -0
  48. package/core/base-elements/link-base-element.d.ts.map +1 -1
  49. package/core/base-elements.js +125 -114
  50. package/core/controllers.js +4 -4
  51. package/core/datetime/date-adapter.d.ts +1 -1
  52. package/core/datetime/date-adapter.d.ts.map +1 -1
  53. package/core/datetime/native-date-adapter.d.ts +1 -1
  54. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  55. package/core/datetime.js +6 -6
  56. package/core/dom/scroll.d.ts +1 -0
  57. package/core/dom/scroll.d.ts.map +1 -1
  58. package/core/dom.js +35 -35
  59. package/core/eventing.js +4 -4
  60. package/core/images.d.ts.map +1 -1
  61. package/core/mixins.js +18 -18
  62. package/core/styles/core.scss +23 -2
  63. package/core/testing.js +14 -14
  64. package/core.css +20 -2
  65. package/custom-elements.json +828 -431
  66. package/datepicker/common/datepicker-association-controllers.d.ts +21 -0
  67. package/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
  68. package/datepicker/common/datepicker-button.d.ts +17 -9
  69. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  70. package/datepicker/common.d.ts +1 -0
  71. package/datepicker/common.d.ts.map +1 -1
  72. package/datepicker/common.js +130 -92
  73. package/datepicker/datepicker/datepicker.d.ts +19 -4
  74. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  75. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
  76. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  77. package/datepicker/datepicker-toggle.js +106 -113
  78. package/datepicker/datepicker.js +95 -80
  79. package/development/accordion/accordion.d.ts.map +1 -1
  80. package/development/accordion.js +1 -1
  81. package/development/action-group.js +1 -1
  82. package/development/autocomplete/autocomplete-base-element.d.ts +4 -0
  83. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  84. package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  85. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
  86. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  87. package/development/autocomplete-grid/autocomplete-grid-option.js +3 -3
  88. package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
  89. package/development/autocomplete.js +37 -8
  90. package/development/breadcrumb/breadcrumb-group.js +3 -3
  91. package/development/button/common.js +69 -70
  92. package/development/calendar.js +1 -1
  93. package/development/card/card-badge.js +1 -1
  94. package/development/card/card.js +1 -1
  95. package/development/chip-label.js +1 -1
  96. package/development/clock.js +1 -1
  97. package/development/container/container/container.d.ts +1 -1
  98. package/development/container/container/container.d.ts.map +1 -1
  99. package/development/container/container.js +18 -2
  100. package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
  101. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  102. package/development/container/sticky-bar.js +9 -1
  103. package/development/core/a11y/focus.d.ts.map +1 -1
  104. package/development/core/a11y.js +3 -3
  105. package/development/core/base-elements/link-base-element.d.ts +2 -0
  106. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  107. package/development/core/base-elements.js +22 -5
  108. package/development/core/controllers.js +1 -1
  109. package/development/core/datetime/date-adapter.d.ts +1 -1
  110. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  111. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  112. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  113. package/development/core/datetime.js +1 -1
  114. package/development/core/dom/scroll.d.ts +1 -0
  115. package/development/core/dom/scroll.d.ts.map +1 -1
  116. package/development/core/dom.js +4 -1
  117. package/development/core/images.d.ts.map +1 -1
  118. package/development/core/mixins.js +1 -1
  119. package/development/datepicker/common/datepicker-association-controllers.d.ts +21 -0
  120. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
  121. package/development/datepicker/common/datepicker-button.d.ts +17 -9
  122. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  123. package/development/datepicker/common.d.ts +1 -0
  124. package/development/datepicker/common.d.ts.map +1 -1
  125. package/development/datepicker/common.js +139 -90
  126. package/development/datepicker/datepicker/datepicker.d.ts +19 -4
  127. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  128. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
  129. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  130. package/development/datepicker/datepicker-toggle.js +76 -73
  131. package/development/datepicker/datepicker.js +55 -37
  132. package/development/dialog/dialog/dialog.d.ts +2 -0
  133. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  134. package/development/dialog/dialog-content.js +1 -1
  135. package/development/dialog/dialog.js +38 -12
  136. package/development/expansion-panel/expansion-panel-content.js +1 -1
  137. package/development/flip-card/flip-card-details.js +1 -1
  138. package/development/flip-card/flip-card-summary.js +1 -1
  139. package/development/icon.js +1 -1
  140. package/development/image.js +2 -2
  141. package/development/lead-container.js +1 -1
  142. package/development/link-list/link-list-anchor.js +1 -1
  143. package/development/link-list/link-list.js +1 -1
  144. package/development/loading-indicator-circle.js +1 -1
  145. package/development/loading-indicator.js +1 -1
  146. package/development/map-container.js +1 -1
  147. package/development/menu/menu/menu.d.ts.map +1 -1
  148. package/development/menu/menu.js +35 -12
  149. package/development/message.js +1 -1
  150. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  151. package/development/navigation/navigation.js +15 -8
  152. package/development/notification.js +1 -1
  153. package/development/option/optgroup.js +1 -1
  154. package/development/option/option/option-base-element.d.ts +3 -2
  155. package/development/option/option/option-base-element.d.ts.map +1 -1
  156. package/development/option/option.js +16 -9
  157. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  158. package/development/overlay/overlay.d.ts.map +1 -1
  159. package/development/overlay.js +29 -13
  160. package/development/paginator/paginator.js +1 -1
  161. package/development/popover/popover/popover.d.ts.map +1 -1
  162. package/development/popover/popover.js +16 -13
  163. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  164. package/development/radio-button/radio-button-group.js +2 -2
  165. package/development/{sbb-tokens-BdGhUJjM.js → sbb-tokens-CSAKTXUi.js} +15 -15
  166. package/development/screen-reader-only.js +1 -1
  167. package/development/select/select.d.ts +11 -0
  168. package/development/select/select.d.ts.map +1 -1
  169. package/development/select.js +60 -9
  170. package/development/signet.js +1 -1
  171. package/development/stepper/step.js +1 -1
  172. package/development/tabs/tab.js +1 -1
  173. package/development/time-input.js +1 -1
  174. package/development/title/title-base.d.ts.map +1 -1
  175. package/development/title.js +4 -5
  176. package/development/toast/toast.d.ts.map +1 -1
  177. package/development/toast.js +14 -8
  178. package/development/toggle/toggle.js +2 -2
  179. package/development/train/train-blocked-passage.js +1 -1
  180. package/development/train/train-wagon.js +1 -1
  181. package/dialog/dialog/dialog.d.ts +2 -0
  182. package/dialog/dialog/dialog.d.ts.map +1 -1
  183. package/dialog/dialog-content.js +4 -4
  184. package/dialog/dialog-title.js +8 -8
  185. package/dialog/dialog.js +59 -49
  186. package/divider.js +12 -12
  187. package/expansion-panel/expansion-panel-content.js +3 -3
  188. package/file-selector/file-selector-dropzone.js +5 -5
  189. package/file-selector/file-selector.js +6 -6
  190. package/flip-card/flip-card-details.js +7 -7
  191. package/flip-card/flip-card-summary.js +12 -12
  192. package/header/header-button.js +5 -5
  193. package/header/header-link.js +5 -5
  194. package/icon.js +37 -37
  195. package/image.js +16 -16
  196. package/lead-container.js +3 -3
  197. package/link/block-link-button.js +4 -4
  198. package/link/block-link-static.js +9 -9
  199. package/link/block-link.js +4 -4
  200. package/link/common.js +16 -16
  201. package/link/link-button.js +7 -7
  202. package/link/link-static.js +7 -7
  203. package/link/link.js +4 -4
  204. package/link-list/common.js +12 -12
  205. package/link-list/link-list-anchor.js +3 -3
  206. package/link-list/link-list.js +3 -3
  207. package/loading-indicator-circle.js +14 -14
  208. package/loading-indicator.js +3 -3
  209. package/map-container.js +6 -6
  210. package/menu/common.js +7 -7
  211. package/menu/menu/menu.d.ts.map +1 -1
  212. package/menu/menu-button.js +8 -8
  213. package/menu/menu-link.js +6 -6
  214. package/menu/menu.js +64 -42
  215. package/message.js +3 -3
  216. package/navigation/navigation/navigation.d.ts.map +1 -1
  217. package/navigation/navigation-button.js +4 -4
  218. package/navigation/navigation-link.js +7 -7
  219. package/navigation/navigation-list.js +4 -4
  220. package/navigation/navigation-marker.js +3 -3
  221. package/navigation/navigation.js +21 -20
  222. package/notification.js +19 -19
  223. package/option/optgroup.js +14 -14
  224. package/option/option/option-base-element.d.ts +3 -2
  225. package/option/option/option-base-element.d.ts.map +1 -1
  226. package/option/option.js +115 -103
  227. package/overlay/overlay-base-element.d.ts.map +1 -1
  228. package/overlay/overlay.d.ts.map +1 -1
  229. package/overlay.js +87 -84
  230. package/package.json +1 -1
  231. package/paginator/common.js +6 -6
  232. package/paginator/paginator.js +1 -1
  233. package/popover/popover/popover.d.ts.map +1 -1
  234. package/popover/popover.js +73 -73
  235. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  236. package/radio-button/radio-button-group.js +1 -1
  237. package/radio-button/radio-button-panel.js +5 -5
  238. package/{sbb-tokens-Dx20OtVg.js → sbb-tokens-BgDF8jIh.js} +14 -14
  239. package/screen-reader-only.js +8 -8
  240. package/select/select.d.ts +11 -0
  241. package/select/select.d.ts.map +1 -1
  242. package/select.js +111 -83
  243. package/signet.js +1 -1
  244. package/slider.js +8 -8
  245. package/standard-theme.css +20 -2
  246. package/status.js +3 -3
  247. package/stepper/step-label.js +4 -4
  248. package/stepper/step.js +3 -3
  249. package/table/table-wrapper.js +4 -4
  250. package/tabs/tab-group.js +24 -24
  251. package/tabs/tab.js +4 -4
  252. package/tag/tag-group.js +7 -7
  253. package/teaser-product/common.js +5 -5
  254. package/teaser-product/teaser-product-static.js +2 -2
  255. package/time-input.js +3 -3
  256. package/timetable-occupancy-icon.js +3 -3
  257. package/timetable-occupancy.js +6 -6
  258. package/title/title-base.d.ts.map +1 -1
  259. package/title.js +41 -42
  260. package/toast/toast.d.ts.map +1 -1
  261. package/toast.js +58 -54
  262. package/toggle/toggle-option.js +11 -11
  263. package/toggle/toggle.js +3 -3
  264. package/toggle-check.js +5 -5
  265. package/train/train-blocked-passage.js +3 -3
  266. package/train/train.js +28 -28
@@ -14,14 +14,90 @@ import { SbbLanguageController } from "../core/controllers.js";
14
14
  import { defaultDateAdapter } from "../core/datetime.js";
15
15
  import { i18nToday } from "../core/i18n.js";
16
16
  import { SbbNegativeMixin } from "../core/mixins.js";
17
- import { getDatePicker, datepickerControlRegisteredEventFactory } from "./datepicker.js";
18
17
  import "../icon.js";
18
+ const _SbbDatepickerAssociationContext = class _SbbDatepickerAssociationContext {
19
+ constructor(_host) {
20
+ this._host = _host;
21
+ this.hosts = /* @__PURE__ */ new Set();
22
+ this.controls = /* @__PURE__ */ new Set();
23
+ }
24
+ static connect(rootNode) {
25
+ let context = this._registry.get(rootNode);
26
+ if (!context) {
27
+ context = new _SbbDatepickerAssociationContext(rootNode);
28
+ this._registry.set(rootNode, context);
29
+ }
30
+ return context;
31
+ }
32
+ updateControls(datepicker) {
33
+ Array.from(this.controls).filter((c) => c.datepicker === datepicker).forEach((c) => c.requestUpdate());
34
+ }
35
+ deleteIfEmpty() {
36
+ if (!this.controls.size && !this.hosts.size) {
37
+ this.constructor._registry.delete(this._host);
38
+ }
39
+ }
40
+ };
41
+ _SbbDatepickerAssociationContext._registry = /* @__PURE__ */ new WeakMap();
42
+ let SbbDatepickerAssociationContext = _SbbDatepickerAssociationContext;
43
+ class SbbDatepickerAssociationHostController {
44
+ constructor(_host) {
45
+ this._host = _host;
46
+ this._host.addController(this);
47
+ }
48
+ hostConnected() {
49
+ this._context = SbbDatepickerAssociationContext.connect(this._host.getRootNode());
50
+ this._context.hosts.add(this._host);
51
+ const formField = this._host.closest("sbb-form-field");
52
+ for (const control of this._context.controls) {
53
+ const datepickerAttribute = control.getAttribute("datepicker") ?? control.getAttribute("date-picker");
54
+ if (datepickerAttribute ? datepickerAttribute === this._host.id : control.closest("sbb-form-field") === formField) {
55
+ control.datepicker = this._host;
56
+ }
57
+ }
58
+ }
59
+ hostDisconnected() {
60
+ var _a, _b;
61
+ (_a = this._context) == null ? void 0 : _a.hosts.delete(this._host);
62
+ (_b = this._context) == null ? void 0 : _b.deleteIfEmpty();
63
+ }
64
+ updateControls() {
65
+ var _a;
66
+ (_a = this._context) == null ? void 0 : _a.updateControls(this._host);
67
+ }
68
+ }
69
+ class SbbDatepickerAssociationControlController {
70
+ constructor(_host) {
71
+ this._host = _host;
72
+ this._host.addController(this);
73
+ }
74
+ hostConnected() {
75
+ this._context = SbbDatepickerAssociationContext.connect(this._host.getRootNode());
76
+ this._context.controls.add(this._host);
77
+ const formField = this._host.closest("sbb-form-field");
78
+ let datepicker = null;
79
+ const datepickerId = this._host.getAttribute("datepicker") ?? this._host.getAttribute("date-picker");
80
+ if (datepickerId) {
81
+ datepicker = Array.from(this._context.hosts).find((d) => d.id === datepickerId) ?? null;
82
+ } else {
83
+ datepicker = Array.from(this._context.hosts).find((d) => d.closest("sbb-form-field") === formField) ?? null;
84
+ }
85
+ if (datepicker) {
86
+ this._host.datepicker = datepicker;
87
+ }
88
+ }
89
+ hostDisconnected() {
90
+ var _a, _b;
91
+ (_a = this._context) == null ? void 0 : _a.controls.delete(this._host);
92
+ (_b = this._context) == null ? void 0 : _b.deleteIfEmpty();
93
+ }
94
+ }
19
95
  let SbbDatepickerButton = (() => {
20
- var _datePicker_accessor_storage, _boundary_accessor_storage, _a;
96
+ var _boundary_accessor_storage, _a;
21
97
  let _classSuper = SbbNegativeMixin(SbbButtonBaseElement);
22
- let _datePicker_decorators;
23
- let _datePicker_initializers = [];
24
- let _datePicker_extraInitializers = [];
98
+ let _instanceExtraInitializers = [];
99
+ let _set_datePicker_decorators;
100
+ let _set_datepicker_decorators;
25
101
  let _boundary_decorators;
26
102
  let _boundary_initializers = [];
27
103
  let _boundary_extraInitializers = [];
@@ -29,23 +105,44 @@ let SbbDatepickerButton = (() => {
29
105
  constructor() {
30
106
  var _a2, _b;
31
107
  super();
32
- __privateAdd(this, _datePicker_accessor_storage);
33
108
  __privateAdd(this, _boundary_accessor_storage);
34
- __privateSet(this, _datePicker_accessor_storage, __runInitializers(this, _datePicker_initializers, null));
35
- __privateSet(this, _boundary_accessor_storage, (__runInitializers(this, _datePicker_extraInitializers), __runInitializers(this, _boundary_initializers, null)));
109
+ this._datepicker = __runInitializers(this, _instanceExtraInitializers);
110
+ __privateSet(this, _boundary_accessor_storage, __runInitializers(this, _boundary_initializers, null));
36
111
  this._disabled = (__runInitializers(this, _boundary_extraInitializers), false);
37
112
  this._inputDisabled = false;
38
113
  this.datePickerElement = null;
39
114
  this._dateAdapter = ((_a2 = readConfig().datetime) == null ? void 0 : _a2.dateAdapter) ?? defaultDateAdapter;
40
- this._language = new SbbLanguageController(this).withHandler(() => this._setAriaLabel());
115
+ this._language = new SbbLanguageController(this);
116
+ this.addController(new SbbDatepickerAssociationControlController(this));
41
117
  (_b = this.addEventListener) == null ? void 0 : _b.call(this, "click", () => this._handleClick());
42
118
  }
43
- /** Datepicker reference. */
119
+ /**
120
+ * Datepicker reference.
121
+ * @internal
122
+ * @deprecated Use property/attribute `datepicker` instead.
123
+ */
124
+ set datePicker(value) {
125
+ {
126
+ console.warn(`Property datePicker/Attribute date-picker is deprecated. Use 'datepicker' instead.`);
127
+ }
128
+ this.datepicker = value;
129
+ }
130
+ /** @internal */
44
131
  get datePicker() {
45
- return __privateGet(this, _datePicker_accessor_storage);
132
+ return this.datepicker;
46
133
  }
47
- set datePicker(value) {
48
- __privateSet(this, _datePicker_accessor_storage, value);
134
+ /** Datepicker reference. */
135
+ set datepicker(value) {
136
+ var _a2, _b, _c;
137
+ this._datepicker = typeof value === "string" ? (
138
+ // In case the value is a string, it should be treated as an id reference
139
+ // and attempt to be resolved.
140
+ ((_c = (_b = (_a2 = this.getRootNode) == null ? void 0 : _a2.call(this)) == null ? void 0 : _b.querySelector) == null ? void 0 : _c.call(_b, `#${value}`)) ?? null
141
+ ) : value;
142
+ this.datePickerElement = this._datepicker;
143
+ }
144
+ get datepicker() {
145
+ return this._datepicker ?? null;
49
146
  }
50
147
  /** The boundary date (min/max) as set in the date-picker's input. */
51
148
  get boundary() {
@@ -55,95 +152,41 @@ let SbbDatepickerButton = (() => {
55
152
  __privateSet(this, _boundary_accessor_storage, value);
56
153
  }
57
154
  connectedCallback() {
155
+ var _a2, _b;
58
156
  super.connectedCallback();
59
- this._syncUpstreamProperties();
60
- if (!this.datePicker) {
61
- this._init();
157
+ const formField = ((_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-form-field")) ?? ((_b = this.closest) == null ? void 0 : _b.call(this, "[data-form-field]"));
158
+ if (formField) {
159
+ this.negative = formField.hasAttribute("negative");
62
160
  }
63
161
  }
64
162
  willUpdate(changedProperties) {
163
+ var _a2, _b;
65
164
  super.willUpdate(changedProperties);
66
- if (changedProperties.has("datePicker")) {
67
- this._init(this.datePicker);
68
- }
69
- }
70
- disconnectedCallback() {
71
- var _a2;
72
- super.disconnectedCallback();
73
- (_a2 = this._datePickerController) == null ? void 0 : _a2.abort();
74
- }
75
- _setDisabledState() {
76
- var _a2;
77
- const pickerValueAsDate = (_a2 = this.datePickerElement) == null ? void 0 : _a2.valueAsDate;
78
- if (!pickerValueAsDate) {
165
+ if (!this.datepicker || !this._dateAdapter.isValid(this.datepicker.valueAsDate)) {
79
166
  this._disabled = true;
80
- this._setDisabledRenderAttributes(true);
167
+ this.setAttribute("aria-label", this.i18nOffBoundaryDay[this._language.current]);
168
+ this._setDisabledRenderAttributes();
81
169
  return;
82
170
  }
83
- const availableDate = this.findAvailableDate(pickerValueAsDate);
84
- this._disabled = this._dateAdapter.compareDate(availableDate, pickerValueAsDate) === 0;
171
+ const availableDate = this.findAvailableDate(this.datepicker.valueAsDate);
172
+ this._disabled = this._dateAdapter.compareDate(availableDate, this.datepicker.valueAsDate) === 0;
173
+ this._inputDisabled = (((_a2 = this.datepicker.inputElement) == null ? void 0 : _a2.disabled) || ((_b = this.datepicker.inputElement) == null ? void 0 : _b.readOnly)) ?? true;
85
174
  this._setDisabledRenderAttributes();
175
+ const currentDateString = this._dateAdapter.compareDate(this.datepicker.now, this.datepicker.valueAsDate) === 0 ? i18nToday[this._language.current].toLowerCase() : this._dateAdapter.getAccessibilityFormatDate(this.datepicker.valueAsDate);
176
+ this.setAttribute("aria-label", this.i18nSelectOffBoundaryDay(currentDateString)[this._language.current]);
86
177
  }
87
178
  _handleClick() {
88
- if (!this.datePickerElement || this.hasAttribute("data-disabled")) {
179
+ if (!this.datepicker || this.hasAttribute("data-disabled")) {
89
180
  return;
90
181
  }
91
- const startingDate = this.datePickerElement.valueAsDate ?? this.datePickerElement.now;
182
+ const startingDate = this.datepicker.valueAsDate ?? this.datepicker.now;
92
183
  const date = this.findAvailableDate(startingDate);
93
184
  if (this._dateAdapter.compareDate(date, startingDate) !== 0) {
94
- this.datePickerElement.valueAsDate = date;
95
- }
96
- }
97
- _syncUpstreamProperties() {
98
- var _a2, _b;
99
- const formField = ((_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-form-field")) ?? ((_b = this.closest) == null ? void 0 : _b.call(this, "[data-form-field]"));
100
- if (formField) {
101
- this.negative = formField.hasAttribute("negative");
102
- const inputElement = formField.querySelector("input");
103
- if (inputElement) {
104
- this._inputDisabled = inputElement.hasAttribute("disabled") || inputElement.hasAttribute("readonly");
105
- this._setDisabledRenderAttributes();
106
- }
107
- }
108
- }
109
- _init(picker) {
110
- var _a2, _b;
111
- (_a2 = this._datePickerController) == null ? void 0 : _a2.abort();
112
- this._datePickerController = new AbortController();
113
- this.datePickerElement = getDatePicker(this, picker);
114
- this._setDisabledState();
115
- if (!this.datePickerElement) {
116
- (_b = this.parentElement) == null ? void 0 : _b.addEventListener("inputUpdated", (e) => this._init(e.target), { once: true, signal: this._datePickerController.signal });
117
- return;
185
+ this.datepicker.valueAsDate = date;
118
186
  }
119
- this._setAriaLabel();
120
- this.datePickerElement.addEventListener("change", () => {
121
- this._setDisabledState();
122
- this._setAriaLabel();
123
- }, { signal: this._datePickerController.signal });
124
- this.datePickerElement.addEventListener("datePickerUpdated", () => {
125
- this._setDisabledState();
126
- this._setAriaLabel();
127
- }, { signal: this._datePickerController.signal });
128
- this.datePickerElement.addEventListener("inputUpdated", (event) => {
129
- this._inputDisabled = !!(event.detail.disabled || event.detail.readonly);
130
- this._setDisabledRenderAttributes();
131
- this._setAriaLabel();
132
- this._setDisabledState();
133
- }, { signal: this._datePickerController.signal });
134
- this.datePickerElement.dispatchEvent(datepickerControlRegisteredEventFactory());
135
- }
136
- _setAriaLabel() {
137
- var _a2;
138
- const currentDate = (_a2 = this.datePickerElement) == null ? void 0 : _a2.valueAsDate;
139
- if (!currentDate || !this._dateAdapter.isValid(currentDate)) {
140
- this.setAttribute("aria-label", this.i18nOffBoundaryDay[this._language.current]);
141
- return;
142
- }
143
- const currentDateString = this.datePickerElement && this._dateAdapter.compareDate(this.datePickerElement.now, currentDate) === 0 ? i18nToday[this._language.current].toLowerCase() : this._dateAdapter.getAccessibilityFormatDate(currentDate);
144
- this.setAttribute("aria-label", this.i18nSelectOffBoundaryDay(currentDateString)[this._language.current]);
145
187
  }
146
- _setDisabledRenderAttributes(isDisabled = this._disabled || this._inputDisabled) {
188
+ _setDisabledRenderAttributes() {
189
+ const isDisabled = this._disabled || this._inputDisabled;
147
190
  this.toggleAttribute("data-disabled", isDisabled);
148
191
  if (isDisabled) {
149
192
  this.setAttribute("aria-disabled", "true");
@@ -156,13 +199,17 @@ let SbbDatepickerButton = (() => {
156
199
  renderTemplate() {
157
200
  return html`<sbb-icon name=${this.iconName}></sbb-icon>`;
158
201
  }
159
- }, _datePicker_accessor_storage = new WeakMap(), _boundary_accessor_storage = new WeakMap(), (() => {
202
+ }, _boundary_accessor_storage = new WeakMap(), (() => {
160
203
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
161
- _datePicker_decorators = [property({ attribute: "date-picker" })];
204
+ _set_datePicker_decorators = [property({ attribute: "date-picker" })];
205
+ _set_datepicker_decorators = [property({ attribute: "datepicker" })];
162
206
  _boundary_decorators = [state()];
163
- __esDecorate(_a, null, _datePicker_decorators, { kind: "accessor", name: "datePicker", static: false, private: false, access: { has: (obj) => "datePicker" in obj, get: (obj) => obj.datePicker, set: (obj, value) => {
207
+ __esDecorate(_a, null, _set_datePicker_decorators, { kind: "setter", name: "datePicker", static: false, private: false, access: { has: (obj) => "datePicker" in obj, set: (obj, value) => {
164
208
  obj.datePicker = value;
165
- } }, metadata: _metadata }, _datePicker_initializers, _datePicker_extraInitializers);
209
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
210
+ __esDecorate(_a, null, _set_datepicker_decorators, { kind: "setter", name: "datepicker", static: false, private: false, access: { has: (obj) => "datepicker" in obj, set: (obj, value) => {
211
+ obj.datepicker = value;
212
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
166
213
  __esDecorate(_a, null, _boundary_decorators, { kind: "accessor", name: "boundary", static: false, private: false, access: { has: (obj) => "boundary" in obj, get: (obj) => obj.boundary, set: (obj, value) => {
167
214
  obj.boundary = value;
168
215
  } }, metadata: _metadata }, _boundary_initializers, _boundary_extraInitializers);
@@ -170,6 +217,8 @@ let SbbDatepickerButton = (() => {
170
217
  })(), _a;
171
218
  })();
172
219
  export {
220
+ SbbDatepickerAssociationControlController,
221
+ SbbDatepickerAssociationHostController,
173
222
  SbbDatepickerButton
174
223
  };
175
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGF0ZXBpY2tlci9jb21tb24vZGF0ZXBpY2tlci1idXR0b24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaHRtbCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IHR5cGUgRGF0ZUFkYXB0ZXIsIGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHsgaTE4blRvZGF5IH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBkYXRlcGlja2VyQ29udHJvbFJlZ2lzdGVyZWRFdmVudEZhY3RvcnksXG4gIGdldERhdGVQaWNrZXIsXG4gIHR5cGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQsXG4gIHR5cGUgU2JiSW5wdXRVcGRhdGVFdmVudCxcbn0gZnJvbSAnLi4vZGF0ZXBpY2tlci5qcyc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQgPSBEYXRlPiBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpIHtcbiAgLyoqIERhdGVwaWNrZXIgcmVmZXJlbmNlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkYXRlLXBpY2tlcicgfSkgcHVibGljIGFjY2Vzc29yIGRhdGVQaWNrZXI6XG4gICAgfCBzdHJpbmdcbiAgICB8IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+XG4gICAgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGJvdW5kYXJ5IGRhdGUgKG1pbi9tYXgpIGFzIHNldCBpbiB0aGUgZGF0ZS1waWNrZXIncyBpbnB1dC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGJvdW5kYXJ5OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1ZSBkYXRlIGVxdWFscyB0byBib3VuZGFyeSBkYXRlLiAqL1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQgZHVlIGRhdGUtcGlja2VyJ3MgaW5wdXQgZGlzYWJsZWQuICovXG4gIHByaXZhdGUgX2lucHV0RGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgZGF0ZVBpY2tlckVsZW1lbnQ/OiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9kYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8VD4gPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlckNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKS53aXRoSGFuZGxlcigoKSA9PiB0aGlzLl9zZXRBcmlhTGFiZWwoKSk7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGljb25OYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuT2ZmQm91bmRhcnlEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXk6IChfY3VycmVudERhdGU6IHN0cmluZykgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmaW5kQXZhaWxhYmxlRGF0ZShfZGF0ZTogVCk6IFQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc3luY1Vwc3RyZWFtUHJvcGVydGllcygpO1xuICAgIGlmICghdGhpcy5kYXRlUGlja2VyKSB7XG4gICAgICB0aGlzLl9pbml0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkYXRlUGlja2VyJykpIHtcbiAgICAgIHRoaXMuX2luaXQodGhpcy5kYXRlUGlja2VyISk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBpY2tlclZhbHVlQXNEYXRlID0gdGhpcy5kYXRlUGlja2VyRWxlbWVudD8udmFsdWVBc0RhdGU7XG5cbiAgICBpZiAoIXBpY2tlclZhbHVlQXNEYXRlKSB7XG4gICAgICB0aGlzLl9kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLl9zZXREaXNhYmxlZFJlbmRlckF0dHJpYnV0ZXModHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYXZhaWxhYmxlRGF0ZTogVCA9IHRoaXMuZmluZEF2YWlsYWJsZURhdGUocGlja2VyVmFsdWVBc0RhdGUpO1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoYXZhaWxhYmxlRGF0ZSwgcGlja2VyVmFsdWVBc0RhdGUpID09PSAwO1xuICAgIHRoaXMuX3NldERpc2FibGVkUmVuZGVyQXR0cmlidXRlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRhdGVQaWNrZXJFbGVtZW50IHx8IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnRpbmdEYXRlOiBUID0gdGhpcy5kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSA/PyB0aGlzLmRhdGVQaWNrZXJFbGVtZW50Lm5vdztcbiAgICBjb25zdCBkYXRlOiBUID0gdGhpcy5maW5kQXZhaWxhYmxlRGF0ZShzdGFydGluZ0RhdGUpO1xuICAgIGlmICh0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZShkYXRlLCBzdGFydGluZ0RhdGUpICE9PSAwKSB7XG4gICAgICB0aGlzLmRhdGVQaWNrZXJFbGVtZW50LnZhbHVlQXNEYXRlID0gZGF0ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zeW5jVXBzdHJlYW1Qcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpID8/IHRoaXMuY2xvc2VzdD8uKCdbZGF0YS1mb3JtLWZpZWxkXScpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBmb3JtRmllbGQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xuICAgICAgICB0aGlzLl9pbnB1dERpc2FibGVkID1cbiAgICAgICAgICBpbnB1dEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpIHx8IGlucHV0RWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7XG4gICAgICAgIHRoaXMuX3NldERpc2FibGVkUmVuZGVyQXR0cmlidXRlcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2luaXQocGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLmRhdGVQaWNrZXJFbGVtZW50ID0gZ2V0RGF0ZVBpY2tlcih0aGlzLCBwaWNrZXIpO1xuICAgIHRoaXMuX3NldERpc2FibGVkU3RhdGUoKTtcbiAgICBpZiAoIXRoaXMuZGF0ZVBpY2tlckVsZW1lbnQpIHtcbiAgICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYXR0YWNoZWQgdG8gdGhlIERPTSBiZWZvcmUgdGhlIGRhdGVwaWNrZXIsIGl0IGhhcyB0byBsaXN0ZW4gZm9yIHRoZSBkYXRlcGlja2VyIGluaXQsXG4gICAgICAvLyBhc3N1bWluZyB0aGF0IHRoZSB0d28gY29tcG9uZW50cyBzaGFyZSB0aGUgc2FtZSBwYXJlbnQgZWxlbWVudC5cbiAgICAgIHRoaXMucGFyZW50RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2lucHV0VXBkYXRlZCcsXG4gICAgICAgIChlOiBDdXN0b21FdmVudDxTYmJJbnB1dFVwZGF0ZUV2ZW50PikgPT4gdGhpcy5faW5pdChlLnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiksXG4gICAgICAgIHsgb25jZTogdHJ1ZSwgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3NldEFyaWFMYWJlbCgpO1xuXG4gICAgdGhpcy5kYXRlUGlja2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2NoYW5nZScsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5fc2V0QXJpYUxhYmVsKCk7XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy5kYXRlUGlja2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2RhdGVQaWNrZXJVcGRhdGVkJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLl9zZXRBcmlhTGFiZWwoKTtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLmRhdGVQaWNrZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXRVcGRhdGVkJyxcbiAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8U2JiSW5wdXRVcGRhdGVFdmVudD4pID0+IHtcbiAgICAgICAgdGhpcy5faW5wdXREaXNhYmxlZCA9ICEhKGV2ZW50LmRldGFpbC5kaXNhYmxlZCB8fCBldmVudC5kZXRhaWwucmVhZG9ubHkpO1xuICAgICAgICB0aGlzLl9zZXREaXNhYmxlZFJlbmRlckF0dHJpYnV0ZXMoKTtcbiAgICAgICAgdGhpcy5fc2V0QXJpYUxhYmVsKCk7XG4gICAgICAgIHRoaXMuX3NldERpc2FibGVkU3RhdGUoKTtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcblxuICAgIHRoaXMuZGF0ZVBpY2tlckVsZW1lbnQuZGlzcGF0Y2hFdmVudChkYXRlcGlja2VyQ29udHJvbFJlZ2lzdGVyZWRFdmVudEZhY3RvcnkoKSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRBcmlhTGFiZWwoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSB0aGlzLmRhdGVQaWNrZXJFbGVtZW50Py52YWx1ZUFzRGF0ZTtcblxuICAgIGlmICghY3VycmVudERhdGUgfHwgIXRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQoY3VycmVudERhdGUpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuaTE4bk9mZkJvdW5kYXJ5RGF5W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9XG4gICAgICB0aGlzLmRhdGVQaWNrZXJFbGVtZW50ICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLmRhdGVQaWNrZXJFbGVtZW50Lm5vdywgY3VycmVudERhdGUpID09PSAwXG4gICAgICAgID8gaTE4blRvZGF5W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdLnRvTG93ZXJDYXNlKClcbiAgICAgICAgOiB0aGlzLl9kYXRlQWRhcHRlci5nZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShjdXJyZW50RGF0ZSk7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWxhYmVsJyxcbiAgICAgIHRoaXMuaTE4blNlbGVjdE9mZkJvdW5kYXJ5RGF5KGN1cnJlbnREYXRlU3RyaW5nKVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RGlzYWJsZWRSZW5kZXJBdHRyaWJ1dGVzKFxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0aGlzLl9kaXNhYmxlZCB8fCB0aGlzLl9pbnB1dERpc2FibGVkLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnKTtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2JiLWljb24gbmFtZT0ke3RoaXMuaWNvbk5hbWV9Pjwvc2JiLWljb24+YDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFrQnNCLHVCQUFtQixNQUFBOztvQkFBbUIsaUJBQWlCLG9CQUFvQjs7Ozs7OztBQUEzRSxTQUFBLG1CQUFzQyxZQUFzQztBQUFBLElBeUJoRyxjQUFBOzs7QUF2QndDO0FBTS9CO0FBTitDLHlCQUFBLDhCQUFBLGtCQUFBLE1BQUEs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
224
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGF0ZXBpY2tlci9jb21tb24vZGF0ZXBpY2tlci1hc3NvY2lhdGlvbi1jb250cm9sbGVycy50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2NvbW1vbi9kYXRlcGlja2VyLWJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFJlYWN0aXZlQ29udHJvbGxlciB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkRhdGVwaWNrZXJDb250cm9sPFQ+IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIGRhdGVwaWNrZXI6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbDtcbn1cblxuY2xhc3MgU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udGV4dDxUPiB7XG4gIHByaXZhdGUgc3RhdGljIF9yZWdpc3RyeSA9IG5ldyBXZWFrTWFwPE5vZGUsIFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRleHQ8YW55Pj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaG9zdHMgPSBuZXcgU2V0PFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbHMgPSBuZXcgU2V0PFNiYkRhdGVwaWNrZXJDb250cm9sPFQ+PigpO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTm9kZSkge31cblxuICBwdWJsaWMgc3RhdGljIGNvbm5lY3Q8VD4ocm9vdE5vZGU6IE5vZGUpOiBTYmJEYXRlcGlja2VyQXNzb2NpYXRpb25Db250ZXh0PFQ+IHtcbiAgICBsZXQgY29udGV4dCA9IHRoaXMuX3JlZ2lzdHJ5LmdldChyb290Tm9kZSk7XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICBjb250ZXh0ID0gbmV3IFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRleHQ8VD4ocm9vdE5vZGUpO1xuICAgICAgdGhpcy5fcmVnaXN0cnkuc2V0KHJvb3ROb2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb250cm9scyhkYXRlcGlja2VyOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIEFycmF5LmZyb20odGhpcy5jb250cm9scylcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuZGF0ZXBpY2tlciA9PT0gZGF0ZXBpY2tlcilcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlcXVlc3RVcGRhdGUoKSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlSWZFbXB0eSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbHMuc2l6ZSAmJiAhdGhpcy5ob3N0cy5zaXplKSB7XG4gICAgICAodGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udGV4dCkuX3JlZ2lzdHJ5LmRlbGV0ZSh0aGlzLl9ob3N0KTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkhvc3RDb250cm9sbGVyPFQ+IGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfY29udGV4dD86IFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRleHQ8VD47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGV4dCA9IFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRleHQuY29ubmVjdCh0aGlzLl9ob3N0LmdldFJvb3ROb2RlKCkpO1xuICAgIHRoaXMuX2NvbnRleHQuaG9zdHMuYWRkKHRoaXMuX2hvc3QpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuX2hvc3QuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBmb3IgKGNvbnN0IGNvbnRyb2wgb2YgdGhpcy5fY29udGV4dC5jb250cm9scykge1xuICAgICAgLy8gVE9ETzogUmVtb3ZlIGRhdGUtcGlja2VyIG9uY2UgZGF0ZVBpY2tlciBpbiB0aGUgY29udHJvbHMgaGFzIGJlZW4gcmVtb3ZlZC5cbiAgICAgIGNvbnN0IGRhdGVwaWNrZXJBdHRyaWJ1dGUgPVxuICAgICAgICBjb250cm9sLmdldEF0dHJpYnV0ZSgnZGF0ZXBpY2tlcicpID8/IGNvbnRyb2wuZ2V0QXR0cmlidXRlKCdkYXRlLXBpY2tlcicpO1xuICAgICAgaWYgKFxuICAgICAgICBkYXRlcGlja2VyQXR0cmlidXRlXG4gICAgICAgICAgPyBkYXRlcGlja2VyQXR0cmlidXRlID09PSB0aGlzLl9ob3N0LmlkXG4gICAgICAgICAgOiBjb250cm9sLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJykgPT09IGZvcm1GaWVsZFxuICAgICAgKSB7XG4gICAgICAgIGNvbnRyb2wuZGF0ZXBpY2tlciA9IHRoaXMuX2hvc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGV4dD8uaG9zdHMuZGVsZXRlKHRoaXMuX2hvc3QpO1xuICAgIHRoaXMuX2NvbnRleHQ/LmRlbGV0ZUlmRW1wdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb250cm9scygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZXh0Py51cGRhdGVDb250cm9scyh0aGlzLl9ob3N0KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udHJvbENvbnRyb2xsZXI8VD4gaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwcml2YXRlIF9jb250ZXh0PzogU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udGV4dDxUPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogU2JiRGF0ZXBpY2tlckNvbnRyb2w8VD4pIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZXh0ID0gU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udGV4dC5jb25uZWN0KHRoaXMuX2hvc3QuZ2V0Um9vdE5vZGUoKSk7XG4gICAgdGhpcy5fY29udGV4dC5jb250cm9scy5hZGQodGhpcy5faG9zdCk7XG4gICAgY29uc3QgZm9ybUZpZWxkID0gdGhpcy5faG9zdC5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGxldCBkYXRlcGlja2VyOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwgPSBudWxsO1xuICAgIC8vIFRPRE86IFJlbW92ZSBkYXRlLXBpY2tlciBvbmNlIGRhdGVQaWNrZXIgaW4gdGhlIGNvbnRyb2xzIGhhcyBiZWVuIHJlbW92ZWQuXG4gICAgY29uc3QgZGF0ZXBpY2tlcklkID1cbiAgICAgIHRoaXMuX2hvc3QuZ2V0QXR0cmlidXRlKCdkYXRlcGlja2VyJykgPz8gdGhpcy5faG9zdC5nZXRBdHRyaWJ1dGUoJ2RhdGUtcGlja2VyJyk7XG4gICAgaWYgKGRhdGVwaWNrZXJJZCkge1xuICAgICAgZGF0ZXBpY2tlciA9IEFycmF5LmZyb20odGhpcy5fY29udGV4dC5ob3N0cykuZmluZCgoZCkgPT4gZC5pZCA9PT0gZGF0ZXBpY2tlcklkKSA/PyBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBkYXRlcGlja2VyID1cbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLl9jb250ZXh0Lmhvc3RzKS5maW5kKChkKSA9PiBkLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJykgPT09IGZvcm1GaWVsZCkgPz9cbiAgICAgICAgbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZGF0ZXBpY2tlcikge1xuICAgICAgdGhpcy5faG9zdC5kYXRlcGlja2VyID0gZGF0ZXBpY2tlcjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZXh0Py5jb250cm9scy5kZWxldGUodGhpcy5faG9zdCk7XG4gICAgdGhpcy5fY29udGV4dD8uZGVsZXRlSWZFbXB0eSgpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlnLmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgdHlwZSBEYXRlQWRhcHRlciwgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBpMThuVG9kYXkgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcblxuaW1wb3J0IHtcbiAgU2JiRGF0ZXBpY2tlckFzc29jaWF0aW9uQ29udHJvbENvbnRyb2xsZXIsXG4gIHR5cGUgU2JiRGF0ZXBpY2tlckNvbnRyb2wsXG59IGZyb20gJy4vZGF0ZXBpY2tlci1hc3NvY2lhdGlvbi1jb250cm9sbGVycy5qcyc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpXG4gIGltcGxlbWVudHMgU2JiRGF0ZXBpY2tlckNvbnRyb2w8VD5cbntcbiAgLyoqXG4gICAqIERhdGVwaWNrZXIgcmVmZXJlbmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHByb3BlcnR5L2F0dHJpYnV0ZSBgZGF0ZXBpY2tlcmAgaW5zdGVhZC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RhdGUtcGlja2VyJyB9KVxuICBwdWJsaWMgc2V0IGRhdGVQaWNrZXIodmFsdWU6IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCkge1xuICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBQcm9wZXJ0eSBkYXRlUGlja2VyL0F0dHJpYnV0ZSBkYXRlLXBpY2tlciBpcyBkZXByZWNhdGVkLiBVc2UgJ2RhdGVwaWNrZXInIGluc3RlYWQuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZGF0ZXBpY2tlciA9IHZhbHVlIGFzIHVua25vd24gYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsO1xuICB9XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIGdldCBkYXRlUGlja2VyKCk6IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZXBpY2tlcjtcbiAgfVxuXG4gIC8qKiBEYXRlcGlja2VyIHJlZmVyZW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZXBpY2tlcicgfSlcbiAgcHVibGljIHNldCBkYXRlcGlja2VyKHZhbHVlOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwpIHtcbiAgICB0aGlzLl9kYXRlcGlja2VyID1cbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyAvLyBJbiBjYXNlIHRoZSB2YWx1ZSBpcyBhIHN0cmluZywgaXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gaWQgcmVmZXJlbmNlXG4gICAgICAgICAgLy8gYW5kIGF0dGVtcHQgdG8gYmUgcmVzb2x2ZWQuXG4gICAgICAgICAgKCh0aGlzLmdldFJvb3ROb2RlPy4oKSBhcyBQYXJlbnROb2RlIHwgdW5kZWZpbmVkKT8ucXVlcnlTZWxlY3Rvcj8uKGAjJHt2YWx1ZX1gKSA/PyBudWxsKVxuICAgICAgICA6IHZhbHVlO1xuICAgIHRoaXMuZGF0ZVBpY2tlckVsZW1lbnQgPSB0aGlzLl9kYXRlcGlja2VyO1xuICB9XG4gIHB1YmxpYyBnZXQgZGF0ZXBpY2tlcigpOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9kYXRlcGlja2VyID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0ZXBpY2tlcj86IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbDtcblxuICAvKiogVGhlIGJvdW5kYXJ5IGRhdGUgKG1pbi9tYXgpIGFzIHNldCBpbiB0aGUgZGF0ZS1waWNrZXIncyBpbnB1dC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGJvdW5kYXJ5OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1ZSBkYXRlIGVxdWFscyB0byBib3VuZGFyeSBkYXRlLiAqL1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQgZHVlIGRhdGUtcGlja2VyJ3MgaW5wdXQgZGlzYWJsZWQuICovXG4gIHByaXZhdGUgX2lucHV0RGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGRhdGVwaWNrZXIgaW5zdGVhZC5cbiAgICovXG4gIHByb3RlY3RlZCBkYXRlUGlja2VyRWxlbWVudD86IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGljb25OYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuT2ZmQm91bmRhcnlEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXk6IChfY3VycmVudERhdGU6IHN0cmluZykgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIobmV3IFNiYkRhdGVwaWNrZXJBc3NvY2lhdGlvbkNvbnRyb2xDb250cm9sbGVyKHRoaXMpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmaW5kQXZhaWxhYmxlRGF0ZShfZGF0ZTogVCk6IFQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3QgZm9ybUZpZWxkID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJykgPz8gdGhpcy5jbG9zZXN0Py4oJ1tkYXRhLWZvcm0tZmllbGRdJyk7XG4gICAgaWYgKGZvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKCF0aGlzLmRhdGVwaWNrZXIgfHwgIXRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5kYXRlcGlja2VyLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmkxOG5PZmZCb3VuZGFyeURheVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgICB0aGlzLl9zZXREaXNhYmxlZFJlbmRlckF0dHJpYnV0ZXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhdmFpbGFibGVEYXRlOiBUID0gdGhpcy5maW5kQXZhaWxhYmxlRGF0ZSh0aGlzLmRhdGVwaWNrZXIudmFsdWVBc0RhdGUpO1xuICAgIHRoaXMuX2Rpc2FibGVkID1cbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGF2YWlsYWJsZURhdGUsIHRoaXMuZGF0ZXBpY2tlci52YWx1ZUFzRGF0ZSkgPT09IDA7XG4gICAgdGhpcy5faW5wdXREaXNhYmxlZCA9XG4gICAgICAodGhpcy5kYXRlcGlja2VyLmlucHV0RWxlbWVudD8uZGlzYWJsZWQgfHwgdGhpcy5kYXRlcGlja2VyLmlucHV0RWxlbWVudD8ucmVhZE9ubHkpID8/IHRydWU7XG4gICAgdGhpcy5fc2V0RGlzYWJsZWRSZW5kZXJBdHRyaWJ1dGVzKCk7XG5cbiAgICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9XG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLmRhdGVwaWNrZXIubm93LCB0aGlzLmRhdGVwaWNrZXIudmFsdWVBc0RhdGUpID09PSAwXG4gICAgICAgID8gaTE4blRvZGF5W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdLnRvTG93ZXJDYXNlKClcbiAgICAgICAgOiB0aGlzLl9kYXRlQWRhcHRlci5nZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZSh0aGlzLmRhdGVwaWNrZXIudmFsdWVBc0RhdGUpO1xuXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoXG4gICAgICAnYXJpYS1sYWJlbCcsXG4gICAgICB0aGlzLmkxOG5TZWxlY3RPZmZCb3VuZGFyeURheShjdXJyZW50RGF0ZVN0cmluZylbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kYXRlcGlja2VyIHx8IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnRpbmdEYXRlOiBUID0gdGhpcy5kYXRlcGlja2VyLnZhbHVlQXNEYXRlID8/IHRoaXMuZGF0ZXBpY2tlci5ub3c7XG4gICAgY29uc3QgZGF0ZTogVCA9IHRoaXMuZmluZEF2YWlsYWJsZURhdGUoc3RhcnRpbmdEYXRlKTtcbiAgICBpZiAodGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZGF0ZSwgc3RhcnRpbmdEYXRlKSAhPT0gMCkge1xuICAgICAgdGhpcy5kYXRlcGlja2VyLnZhbHVlQXNEYXRlID0gZGF0ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXREaXNhYmxlZFJlbmRlckF0dHJpYnV0ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMuX2lucHV0RGlzYWJsZWQ7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnLCBpc0Rpc2FibGVkKTtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJyk7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNiYi1pY29uIG5hbWU9JHt0aGlzLmljb25OYW1lfT48L3NiYi1pY29uPmA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxNQUFNLG1DQUFOLE1BQU0saUNBQStCO0FBQUEsRUFNbkMsWUFBNEIsT0FBVztBQUFYLFNBQUssUUFBTDtBQUhaLFNBQUEsNEJBQVksSUFBRztBQUNmLFNBQUEsK0JBQWUsSUFBRztBQUFBLEVBQUE7QUFBQSxFQUkzQixPQUFPLFFBQVcsVUFBYztBQUNyQyxRQUFJLFVBQVUsS0FBSyxVQUFVLElBQUksUUFBUTtBQUN6QyxRQUFJLENBQUMsU0FBUztBQUNGLGdCQUFBLElBQUksaUNBQW1DLFFBQVE7QUFDcEQsV0FBQSxVQUFVLElBQUksVUFBVSxPQUFPO0FBQUEsSUFBQTtBQUcvQixXQUFBO0FBQUEsRUFBQTtBQUFBLEVBR0YsZUFBZSxZQUFtQztBQUN2RCxVQUFNLEtBQUss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
@@ -13,8 +13,12 @@ export interface SbbInputUpdateEvent {
13
13
  * it returns the related SbbDatepickerElement reference, if exists.
14
14
  * @param element The element potentially connected to the SbbDatepickerElement.
15
15
  * @param trigger The id or the reference of the SbbDatePicker.
16
+ * @deprecated No longer in use.
16
17
  */
17
18
  export declare function getDatePicker<T = Date>(element: SbbDatepickerButton<T> | SbbDatepickerToggleElement<T>, trigger?: string | HTMLElement): SbbDatepickerElement<T> | null | undefined;
19
+ /**
20
+ * @deprecated No longer in use.
21
+ */
18
22
  export declare const datepickerControlRegisteredEventFactory: () => CustomEvent;
19
23
  /**
20
24
  * Combined with a native input, it displays the input's value as a formatted date.
@@ -37,9 +41,17 @@ export declare class SbbDatepickerElement<T = Date> extends LitElement {
37
41
  accessor wide: boolean;
38
42
  /** A function used to filter out dates. */
39
43
  accessor dateFilter: (date: T | null) => boolean;
40
- /** Reference of the native input connected to the datepicker. */
44
+ /**
45
+ * Reference of the native input connected to the datepicker.
46
+ * If given a string, it will be treated as an id reference and an attempt is
47
+ * made to be resolved for the containing document fragment.
48
+ * If given a HTMLElement instance, it will be used as is.
49
+ */
41
50
  accessor input: string | HTMLElement | null;
42
- /** A configured date which acts as the current date instead of the real current date. Recommended for testing purposes. */
51
+ /**
52
+ * A configured date which acts as the current date instead of the real current date.
53
+ * Recommended for testing purposes.
54
+ */
43
55
  set now(value: SbbDateLike<T> | null);
44
56
  get now(): T;
45
57
  private _now?;
@@ -47,6 +59,9 @@ export declare class SbbDatepickerElement<T = Date> extends LitElement {
47
59
  set valueAsDate(value: SbbDateLike<T> | null);
48
60
  get valueAsDate(): T | null;
49
61
  private _valueAsDate?;
62
+ /** The resolved associated input element, as defined by `input`. */
63
+ get inputElement(): HTMLInputElement | null;
64
+ private accessor _inputElement;
50
65
  /** Notifies that the connected input has changes. */
51
66
  private _change;
52
67
  /** Notifies that the attributes of the input connected to the datepicker have changes. */
@@ -55,15 +70,15 @@ export declare class SbbDatepickerElement<T = Date> extends LitElement {
55
70
  private _datePickerUpdated;
56
71
  /** Emits whenever the internal validation state changes. */
57
72
  private _validationChange;
58
- private accessor _inputElement;
59
73
  private _inputElementPlaceholderMutable;
60
74
  private _datePickerController;
61
75
  private _inputObserver;
62
76
  private _dateAdapter;
63
77
  private _language;
78
+ private _associationController;
64
79
  constructor();
65
80
  connectedCallback(): void;
66
- willUpdate(changedProperties: PropertyValues<this>): void;
81
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
67
82
  disconnectedCallback(): void;
68
83
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
69
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker/datepicker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker/datepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAA0C,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAI1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,IAAI,EACpC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAC7B,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAQ5C;AAED;;GAEG;AACH,eAAO,MAAM,uCAAuC,QAAO,WAIvD,CAAC;AAIL;;;;;;;;GAQG;AACH,qBAEM,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,UAAU;IACrD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,gDAAgD;IAChD,SAEgB,IAAI,EAAE,OAAO,CAAS;IAEtC,2CAA2C;IAC3C,SAAgD,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAChF;IAEP;;;;;OAKG;IACH,SAA4B,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAQ;IAEtE;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,EAE1C;IACD,IAAW,GAAG,IAAI,CAAC,CAElB;IACD,OAAO,CAAC,IAAI,CAAC,CAAW;IAExB,8EAA8E;IAC9E,IACW,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,EAOlD;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAEjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC,oEAAoE;IACpE,IAAW,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAEjD;IACQ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAExE,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAEZ;IAEH,0FAA0F;IAC1F,OAAO,CAAC,aAAa,CAInB;IAEF,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,CAOxB;IAEF,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,+BAA+B,CAAS;IAEhD,OAAO,CAAC,qBAAqB,CAAmB;IAEhD,OAAO,CAAC,cAAc,CAUb;IAET,OAAO,CAAC,YAAY,CAA4E;IAEhG,OAAO,CAAC,SAAS,CASd;IACH,OAAO,CAAC,sBAAsB,CAAoD;;IAMlE,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5D,oBAAoB,IAAI,IAAI;cAMzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK9E;;;OAGG;IACI,YAAY,IAAI,OAAO;IAI9B,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,mBAAmB;cAcR,MAAM,IAAI,cAAc;IAI3C;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;IAc5C;;;;OAIG;IACI,qBAAqB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;IAaxC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAmBzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;IAED,UAAU,2BAA2B;QACnC,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;KAChD;CACF"}
@@ -1,25 +1,34 @@
1
1
  import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
2
2
  import { CalendarView } from '../../calendar.js';
3
+ import { SbbDatepickerControl } from '../common.js';
3
4
  import { SbbDatepickerElement } from '../datepicker.js';
4
5
  declare const SbbDatepickerToggleElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
5
6
  /**
6
7
  * Combined with a `sbb-datepicker`, it can be used to select a date from a `sbb-calendar`.
7
8
  */
8
- export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerToggleElement_base {
9
+ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerToggleElement_base implements SbbDatepickerControl<T> {
9
10
  static styles: CSSResultGroup;
11
+ /**
12
+ * Datepicker reference.
13
+ * @internal
14
+ * @deprecated Use property/attribute `datepicker` instead.
15
+ */
16
+ set datePicker(value: string | SbbDatepickerElement<T> | null);
17
+ /** @internal */
18
+ get datePicker(): string | SbbDatepickerElement<T> | null;
10
19
  /** Datepicker reference. */
11
- accessor datePicker: string | SbbDatepickerElement | null;
20
+ set datepicker(value: SbbDatepickerElement<T> | null);
21
+ get datepicker(): SbbDatepickerElement<T> | null;
22
+ private _datepicker?;
12
23
  /** The initial view of calendar which should be displayed on opening. */
13
24
  accessor view: CalendarView;
14
25
  private accessor _disabled;
15
26
  private accessor _min;
16
27
  private accessor _max;
17
28
  private accessor _renderCalendar;
18
- private _datePickerElement;
19
29
  private _calendarElement;
20
30
  private _triggerElement;
21
31
  private _popoverElement;
22
- private _datePickerController;
23
32
  private _language;
24
33
  constructor();
25
34
  /**
@@ -27,11 +36,8 @@ export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerT
27
36
  */
28
37
  open(): void;
29
38
  connectedCallback(): void;
30
- willUpdate(changedProperties: PropertyValues<this>): void;
31
- disconnectedCallback(): void;
32
- private _init;
39
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
33
40
  private _configureCalendar;
34
- private _datePickerChanged;
35
41
  private _assignCalendar;
36
42
  protected updated(changedProperties: PropertyValues<this>): void;
37
43
  private _nowOrNull;
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,kBAAkB,CAAC;AAKlF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAKM,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAA+C;IAChG,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4BAA4B;IAC5B,SAAwD,UAAU,EAC9D,MAAM,GACN,oBAAoB,GACpB,IAAI,CAAQ;IAEhB,yEAAyE;IACzE,SAA4B,IAAI,EAAE,YAAY,CAAS;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4C;IAEjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4C;IAEjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAElD,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,SAAS,CAAmC;;IAcpD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;IAYzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQzD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,KAAK;IAyCb,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;cAgBJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,UAAU;cAIC,MAAM,IAAI,cAAc;CA2C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAM1E,OAAO,EAA6C,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,IAAI,CACvC,SAAQ,+BACR,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAElC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;OAIG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,EAOnE;IACD,gBAAgB;IAChB,IAAW,UAAU,IAAI,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAE/D;IAED,4BAA4B;IAC5B,IACW,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,EAK1D;IACD,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;IACD,OAAO,CAAC,WAAW,CAAC,CAAiC;IAErD,yEAAyE;IACzE,SAA4B,IAAI,EAAE,YAAY,CAAS;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4C;IAEjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4C;IAEjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAElD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,SAAS,CAAmC;;IAepD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;cAStB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmB5E,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,eAAe;cAaJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,UAAU;cAIC,MAAM,IAAI,cAAc;CA2C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}