@dataesr/dsfr-plus 0.0.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 (178) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/dist/components/Accordion/Accordion.d.ts +19 -0
  4. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  5. package/dist/components/Accordion/AccordionGroup.d.ts +9 -0
  6. package/dist/components/Accordion/AccordionGroup.d.ts.map +1 -0
  7. package/dist/components/Accordion/index.d.ts +3 -0
  8. package/dist/components/Accordion/index.d.ts.map +1 -0
  9. package/dist/components/Accordion/useMutationObserver.d.ts +8 -0
  10. package/dist/components/Accordion/useMutationObserver.d.ts.map +1 -0
  11. package/dist/components/Alert/Alert.d.ts +23 -0
  12. package/dist/components/Alert/Alert.d.ts.map +1 -0
  13. package/dist/components/Alert/index.d.ts +2 -0
  14. package/dist/components/Alert/index.d.ts.map +1 -0
  15. package/dist/components/Badge/Badge.d.ts +15 -0
  16. package/dist/components/Badge/Badge.d.ts.map +1 -0
  17. package/dist/components/Badge/BadgeGroup.d.ts +8 -0
  18. package/dist/components/Badge/BadgeGroup.d.ts.map +1 -0
  19. package/dist/components/Badge/index.d.ts +3 -0
  20. package/dist/components/Badge/index.d.ts.map +1 -0
  21. package/dist/components/Breadcrumb/Breadcrumb.d.ts +15 -0
  22. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  23. package/dist/components/Breadcrumb/index.d.ts +2 -0
  24. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  25. package/dist/components/Button/Button.d.ts +13 -0
  26. package/dist/components/Button/Button.d.ts.map +1 -0
  27. package/dist/components/Button/ButtonGroup.d.ts +15 -0
  28. package/dist/components/Button/ButtonGroup.d.ts.map +1 -0
  29. package/dist/components/Button/index.d.ts +3 -0
  30. package/dist/components/Button/index.d.ts.map +1 -0
  31. package/dist/components/Checkbox/Checkbox.d.ts +21 -0
  32. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  33. package/dist/components/Checkbox/index.d.ts +2 -0
  34. package/dist/components/Checkbox/index.d.ts.map +1 -0
  35. package/dist/components/Fieldset/Fieldset.d.ts +25 -0
  36. package/dist/components/Fieldset/Fieldset.d.ts.map +1 -0
  37. package/dist/components/Fieldset/index.d.ts +2 -0
  38. package/dist/components/Fieldset/index.d.ts.map +1 -0
  39. package/dist/components/FileUpload/FileUpload.d.ts +20 -0
  40. package/dist/components/FileUpload/FileUpload.d.ts.map +1 -0
  41. package/dist/components/FileUpload/index.d.ts +2 -0
  42. package/dist/components/FileUpload/index.d.ts.map +1 -0
  43. package/dist/components/Grid/Col.d.ts +22 -0
  44. package/dist/components/Grid/Col.d.ts.map +1 -0
  45. package/dist/components/Grid/Container.d.ts +10 -0
  46. package/dist/components/Grid/Container.d.ts.map +1 -0
  47. package/dist/components/Grid/Row.d.ts +12 -0
  48. package/dist/components/Grid/Row.d.ts.map +1 -0
  49. package/dist/components/Grid/index.d.ts +4 -0
  50. package/dist/components/Grid/index.d.ts.map +1 -0
  51. package/dist/components/Header/FastAccess.d.ts +13 -0
  52. package/dist/components/Header/FastAccess.d.ts.map +1 -0
  53. package/dist/components/Header/Header.d.ts +23 -0
  54. package/dist/components/Header/Header.d.ts.map +1 -0
  55. package/dist/components/Header/Operator.d.ts +13 -0
  56. package/dist/components/Header/Operator.d.ts.map +1 -0
  57. package/dist/components/Header/Service.d.ts +17 -0
  58. package/dist/components/Header/Service.d.ts.map +1 -0
  59. package/dist/components/Header/index.d.ts +5 -0
  60. package/dist/components/Header/index.d.ts.map +1 -0
  61. package/dist/components/Input/Input.d.ts +28 -0
  62. package/dist/components/Input/Input.d.ts.map +1 -0
  63. package/dist/components/Input/index.d.ts +2 -0
  64. package/dist/components/Input/index.d.ts.map +1 -0
  65. package/dist/components/Link/Link.d.ts +16 -0
  66. package/dist/components/Link/Link.d.ts.map +1 -0
  67. package/dist/components/Link/index.d.ts +2 -0
  68. package/dist/components/Link/index.d.ts.map +1 -0
  69. package/dist/components/Logo/Logo.d.ts +6 -0
  70. package/dist/components/Logo/Logo.d.ts.map +1 -0
  71. package/dist/components/Logo/index.d.ts +2 -0
  72. package/dist/components/Logo/index.d.ts.map +1 -0
  73. package/dist/components/Modal/Modal.d.ts +14 -0
  74. package/dist/components/Modal/Modal.d.ts.map +1 -0
  75. package/dist/components/Modal/ModalClose.d.ts +10 -0
  76. package/dist/components/Modal/ModalClose.d.ts.map +1 -0
  77. package/dist/components/Modal/ModalContent.d.ts +11 -0
  78. package/dist/components/Modal/ModalContent.d.ts.map +1 -0
  79. package/dist/components/Modal/ModalFooter.d.ts +8 -0
  80. package/dist/components/Modal/ModalFooter.d.ts.map +1 -0
  81. package/dist/components/Modal/ModalTitle.d.ts +13 -0
  82. package/dist/components/Modal/ModalTitle.d.ts.map +1 -0
  83. package/dist/components/Modal/index.d.ts +6 -0
  84. package/dist/components/Modal/index.d.ts.map +1 -0
  85. package/dist/components/Modal/useFocusTrap.d.ts +2 -0
  86. package/dist/components/Modal/useFocusTrap.d.ts.map +1 -0
  87. package/dist/components/Navigation/Nav.d.ts +14 -0
  88. package/dist/components/Navigation/Nav.d.ts.map +1 -0
  89. package/dist/components/Navigation/NavItem.d.ts +17 -0
  90. package/dist/components/Navigation/NavItem.d.ts.map +1 -0
  91. package/dist/components/Navigation/index.d.ts +3 -0
  92. package/dist/components/Navigation/index.d.ts.map +1 -0
  93. package/dist/components/Notice/Notice.d.ts +21 -0
  94. package/dist/components/Notice/Notice.d.ts.map +1 -0
  95. package/dist/components/Notice/index.d.ts +2 -0
  96. package/dist/components/Notice/index.d.ts.map +1 -0
  97. package/dist/components/Pagination/Pagination.d.ts +9 -0
  98. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  99. package/dist/components/Pagination/PaginationItem.d.ts +9 -0
  100. package/dist/components/Pagination/PaginationItem.d.ts.map +1 -0
  101. package/dist/components/Pagination/helpers.d.ts +9 -0
  102. package/dist/components/Pagination/helpers.d.ts.map +1 -0
  103. package/dist/components/Pagination/index.d.ts +2 -0
  104. package/dist/components/Pagination/index.d.ts.map +1 -0
  105. package/dist/components/Radio/Radio.d.ts +21 -0
  106. package/dist/components/Radio/Radio.d.ts.map +1 -0
  107. package/dist/components/Radio/index.d.ts +2 -0
  108. package/dist/components/Radio/index.d.ts.map +1 -0
  109. package/dist/components/SearchBar/SearchBar.d.ts +22 -0
  110. package/dist/components/SearchBar/SearchBar.d.ts.map +1 -0
  111. package/dist/components/SearchBar/index.d.ts +2 -0
  112. package/dist/components/SearchBar/index.d.ts.map +1 -0
  113. package/dist/components/SideMenu/SideMenu.d.ts +21 -0
  114. package/dist/components/SideMenu/SideMenu.d.ts.map +1 -0
  115. package/dist/components/SideMenu/SideMenuItem.d.ts +20 -0
  116. package/dist/components/SideMenu/SideMenuItem.d.ts.map +1 -0
  117. package/dist/components/SideMenu/SideMenuLink.d.ts +16 -0
  118. package/dist/components/SideMenu/SideMenuLink.d.ts.map +1 -0
  119. package/dist/components/SideMenu/index.d.ts +4 -0
  120. package/dist/components/SideMenu/index.d.ts.map +1 -0
  121. package/dist/components/Spinner/index.d.ts +13 -0
  122. package/dist/components/Spinner/index.d.ts.map +1 -0
  123. package/dist/components/Stepper/Stepper.d.ts +20 -0
  124. package/dist/components/Stepper/Stepper.d.ts.map +1 -0
  125. package/dist/components/Stepper/index.d.ts +2 -0
  126. package/dist/components/Stepper/index.d.ts.map +1 -0
  127. package/dist/components/Tabs/Tab.d.ts +10 -0
  128. package/dist/components/Tabs/Tab.d.ts.map +1 -0
  129. package/dist/components/Tabs/Tabs.d.ts +17 -0
  130. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  131. package/dist/components/Tabs/index.d.ts +3 -0
  132. package/dist/components/Tabs/index.d.ts.map +1 -0
  133. package/dist/components/Tag/Tag.d.ts +22 -0
  134. package/dist/components/Tag/Tag.d.ts.map +1 -0
  135. package/dist/components/Tag/TagGroup.d.ts +6 -0
  136. package/dist/components/Tag/TagGroup.d.ts.map +1 -0
  137. package/dist/components/Tag/index.d.ts +3 -0
  138. package/dist/components/Tag/index.d.ts.map +1 -0
  139. package/dist/components/Toggle/Toggle.d.ts +29 -0
  140. package/dist/components/Toggle/Toggle.d.ts.map +1 -0
  141. package/dist/components/Toggle/ToggleGroup.d.ts +8 -0
  142. package/dist/components/Toggle/ToggleGroup.d.ts.map +1 -0
  143. package/dist/components/Toggle/index.d.ts +3 -0
  144. package/dist/components/Toggle/index.d.ts.map +1 -0
  145. package/dist/components/Typography/Text.d.ts +13 -0
  146. package/dist/components/Typography/Text.d.ts.map +1 -0
  147. package/dist/components/Typography/Title.d.ts +12 -0
  148. package/dist/components/Typography/Title.d.ts.map +1 -0
  149. package/dist/components/Typography/index.d.ts +3 -0
  150. package/dist/components/Typography/index.d.ts.map +1 -0
  151. package/dist/components/index.d.ts +27 -0
  152. package/dist/components/index.d.ts.map +1 -0
  153. package/dist/dsfr-4e49221c.js +7 -0
  154. package/dist/dsfr-plus.js +1895 -0
  155. package/dist/dsfr.module.min-23ae5258.js +3367 -0
  156. package/dist/hooks/index.d.ts +2 -0
  157. package/dist/hooks/index.d.ts.map +1 -0
  158. package/dist/hooks/useDSFRConfig.d.ts +14 -0
  159. package/dist/hooks/useDSFRConfig.d.ts.map +1 -0
  160. package/dist/index.d.ts +4 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/style.css +5 -0
  163. package/dist/types/colors.d.ts +4 -0
  164. package/dist/types/colors.d.ts.map +1 -0
  165. package/dist/types/headings.d.ts +2 -0
  166. package/dist/types/headings.d.ts.map +1 -0
  167. package/dist/types/index.d.ts +2 -0
  168. package/dist/types/index.d.ts.map +1 -0
  169. package/dist/types/polymophic.d.ts +4 -0
  170. package/dist/types/polymophic.d.ts.map +1 -0
  171. package/dist/utility-251e9615.js +7 -0
  172. package/dist/utils/children.d.ts +4 -0
  173. package/dist/utils/children.d.ts.map +1 -0
  174. package/dist/utils/props.d.ts +7 -0
  175. package/dist/utils/props.d.ts.map +1 -0
  176. package/dist/utils/refs.d.ts +3 -0
  177. package/dist/utils/refs.d.ts.map +1 -0
  178. package/package.json +65 -0
@@ -0,0 +1,3367 @@
1
+ /*! DSFR v1.11.0 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */
2
+ const h = new class {
3
+ constructor() {
4
+ this.modules = {};
5
+ }
6
+ create(i) {
7
+ const t = new i();
8
+ this.modules[t.type] = t;
9
+ }
10
+ getModule(i) {
11
+ return this.modules[i];
12
+ }
13
+ add(i, t) {
14
+ this.modules[i].add(t);
15
+ }
16
+ remove(i, t) {
17
+ this.modules[i].remove(t);
18
+ }
19
+ get isActive() {
20
+ return this._isActive;
21
+ }
22
+ set isActive(i) {
23
+ if (i === this._isActive)
24
+ return;
25
+ this._isActive = i;
26
+ const t = Object.keys(this.modules).map((e) => this.modules[e]);
27
+ if (i)
28
+ for (const e of t)
29
+ e.activate();
30
+ else
31
+ for (const e of t)
32
+ e.deactivate();
33
+ }
34
+ get isLegacy() {
35
+ return this._isLegacy;
36
+ }
37
+ set isLegacy(i) {
38
+ i !== this._isLegacy && (this._isLegacy = i);
39
+ }
40
+ }(), zt = "fr", V = "dsfr", pe = "@gouvfr", ct = "1.11.0";
41
+ class W {
42
+ constructor(t, e, n, r) {
43
+ switch (this.level = t, this.light = e, this.dark = n, r) {
44
+ case "warn":
45
+ this.logger = console.warn;
46
+ break;
47
+ case "error":
48
+ this.logger = console.error;
49
+ break;
50
+ default:
51
+ this.logger = console.log;
52
+ }
53
+ }
54
+ log(...t) {
55
+ const e = new lt(V);
56
+ for (const n of t)
57
+ e.add(n);
58
+ this.print(e);
59
+ }
60
+ print(t) {
61
+ t.setColor(this.color), this.logger.apply(console, t.getMessage());
62
+ }
63
+ get color() {
64
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? this.dark : this.light;
65
+ }
66
+ }
67
+ class lt {
68
+ constructor(t) {
69
+ this.inputs = ["%c"], this.styles = ["font-family:Marianne", "line-height: 1.5"], this.objects = [], t && this.add(`${t} :`);
70
+ }
71
+ add(t) {
72
+ switch (typeof t) {
73
+ case "object":
74
+ case "function":
75
+ this.inputs.push("%o "), this.objects.push(t);
76
+ break;
77
+ default:
78
+ this.inputs.push(`${t} `);
79
+ }
80
+ }
81
+ setColor(t) {
82
+ this.styles.push(`color:${t}`);
83
+ }
84
+ getMessage() {
85
+ return [this.inputs.join(""), this.styles.join(";"), ...this.objects];
86
+ }
87
+ }
88
+ const Dt = { log: new W(0, "#616161", "#989898"), debug: new W(1, "#000091", "#8B8BFF"), info: new W(2, "#007c3b", "#00ed70"), warn: new W(3, "#ba4500", "#fa5c00", "warn"), error: new W(4, "#D80600", "#FF4641", "error") }, g = new class {
89
+ constructor() {
90
+ this.level = 2;
91
+ for (const i in Dt) {
92
+ const t = Dt[i];
93
+ this[i] = (...e) => {
94
+ this.level <= t.level && t.log.apply(t, e);
95
+ }, this[i].print = t.print.bind(t);
96
+ }
97
+ }
98
+ state() {
99
+ const i = new lt();
100
+ i.add(h), this.log.print(i);
101
+ }
102
+ tree() {
103
+ const i = h.getModule("stage");
104
+ if (!i)
105
+ return;
106
+ const t = new lt();
107
+ this._branch(i.root, 0, t), this.log.print(t);
108
+ }
109
+ _branch(i, t, e) {
110
+ let n = "";
111
+ if (t > 0) {
112
+ let r = "";
113
+ for (let a = 0; a < t; a++)
114
+ r += " ";
115
+ n += r + "└─ ";
116
+ }
117
+ n += `[${i.id}] ${i.html}`, e.add(n), e.add({ "@": i }), e.add(`
118
+ `);
119
+ for (const r of i.children)
120
+ n += this._branch(r, t + 1, e);
121
+ }
122
+ }(), wt = (i) => {
123
+ document.readyState !== "loading" ? window.requestAnimationFrame(i) : document.addEventListener("DOMContentLoaded", i);
124
+ }, v = { AUTO: "auto", MANUAL: "manual", RUNTIME: "runtime", LOADED: "loaded", VUE: "vue", ANGULAR: "angular", REACT: "react" }, Z = new class {
125
+ constructor() {
126
+ this._mode = v.AUTO, this.isStarted = !1, this.starting = this.start.bind(this), this.preventManipulation = !1;
127
+ }
128
+ configure(i = {}, t, e) {
129
+ this.startCallback = t;
130
+ const n = i.production && (!e || e.production !== "false");
131
+ switch (!0) {
132
+ case (e && !isNaN(e.level)):
133
+ g.level = Number(e.level);
134
+ break;
135
+ case (e && e.verbose && (e.verbose === "true" || e.verbose === 1)):
136
+ g.level = 0;
137
+ break;
138
+ case n:
139
+ g.level = 999;
140
+ break;
141
+ case i.verbose:
142
+ g.level = 0;
143
+ }
144
+ g.info(`version ${ct}`), this.mode = i.mode || v.AUTO;
145
+ }
146
+ set mode(i) {
147
+ switch (i) {
148
+ case v.AUTO:
149
+ this.preventManipulation = !1, t = this.starting, wt(t);
150
+ break;
151
+ case v.LOADED:
152
+ this.preventManipulation = !1, wt(this.starting);
153
+ break;
154
+ case v.RUNTIME:
155
+ this.preventManipulation = !1, this.start();
156
+ break;
157
+ case v.MANUAL:
158
+ this.preventManipulation = !1;
159
+ break;
160
+ case v.VUE:
161
+ case v.ANGULAR:
162
+ case v.REACT:
163
+ this.preventManipulation = !0;
164
+ break;
165
+ default:
166
+ return void g.error("Illegal mode");
167
+ }
168
+ var t;
169
+ this._mode = i, g.info(`mode set to ${i}`);
170
+ }
171
+ get mode() {
172
+ return this._mode;
173
+ }
174
+ start() {
175
+ g.info("start"), this.startCallback();
176
+ }
177
+ }();
178
+ class K {
179
+ constructor() {
180
+ this._collection = [];
181
+ }
182
+ forEach(t) {
183
+ this._collection.forEach(t);
184
+ }
185
+ map(t) {
186
+ return this._collection.map(t);
187
+ }
188
+ get length() {
189
+ return this._collection.length;
190
+ }
191
+ add(t) {
192
+ return !(this._collection.indexOf(t) > -1) && (this._collection.push(t), this.onAdd && this.onAdd(), this.onPopulate && this._collection.length === 1 && this.onPopulate(), !0);
193
+ }
194
+ remove(t) {
195
+ const e = this._collection.indexOf(t);
196
+ if (e === -1)
197
+ return !1;
198
+ this._collection.splice(e, 1), this.onRemove && this.onRemove(), this.onEmpty && this._collection.length === 0 && this.onEmpty();
199
+ }
200
+ execute(...t) {
201
+ for (const e of this._collection)
202
+ e && e.apply(null, t);
203
+ }
204
+ clear() {
205
+ this._collection.length = 0;
206
+ }
207
+ clone() {
208
+ const t = new K();
209
+ return t._collection = this._collection.slice(), t;
210
+ }
211
+ get collection() {
212
+ return this._collection;
213
+ }
214
+ }
215
+ class w extends K {
216
+ constructor(t) {
217
+ super(), this.type = t, this.isActive = !1;
218
+ }
219
+ activate() {
220
+ }
221
+ deactivate() {
222
+ }
223
+ }
224
+ const o = (i) => `${zt}-${i}`;
225
+ o.selector = (i, t) => (t === void 0 && (t = "."), `${t}${o(i)}`), (o.attr = (i) => `data-${o(i)}`).selector = (i, t) => {
226
+ let e = o.attr(i);
227
+ return t !== void 0 && (e += `="${t}"`), `[${e}]`;
228
+ }, o.event = (i) => `${V}.${i}`, o.emission = (i, t) => `emission:${i}.${t}`;
229
+ const vt = (i, t) => Array.prototype.slice.call(i.querySelectorAll(t)), yt = (i, t) => {
230
+ const e = i.parentElement;
231
+ return e.matches(t) ? e : e === document.documentElement ? null : yt(e, t);
232
+ };
233
+ class _e {
234
+ constructor(t, e, n) {
235
+ this.selector = t, this.InstanceClass = e, this.creator = n, this.instances = new K(), this.isIntroduced = !1, this._instanceClassName = this.InstanceClass.instanceClassName, this._instanceClassNames = this.getInstanceClassNames(this.InstanceClass), this._property = this._instanceClassName.substring(0, 1).toLowerCase() + this._instanceClassName.substring(1);
236
+ const r = this._instanceClassName.replace(/[^a-zA-Z0-9]+/g, "-").replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2").replace(/([a-z])([A-Z])/g, "$1-$2").replace(/([0-9])([^0-9])/g, "$1-$2").replace(/([^0-9])([0-9])/g, "$1-$2").toLowerCase();
237
+ this._attribute = o.attr(`js-${r}`);
238
+ }
239
+ getInstanceClassNames(t) {
240
+ const e = Object.getPrototypeOf(t);
241
+ return e && e.instanceClassName !== "Instance" ? [...this.getInstanceClassNames(e), t.instanceClassName] : [t.instanceClassName];
242
+ }
243
+ hasInstanceClassName(t) {
244
+ return this._instanceClassNames.indexOf(t) > -1;
245
+ }
246
+ introduce() {
247
+ this.isIntroduced || (this.isIntroduced = !0, h.getModule("stage").parse(document.documentElement, this));
248
+ }
249
+ parse(t, e) {
250
+ const n = [];
251
+ return t.matches && t.matches(this.selector) && n.push(t), !e && t.querySelectorAll && t.querySelector(this.selector) && n.push.apply(n, vt(t, this.selector)), n;
252
+ }
253
+ create(t) {
254
+ if (!t.node.matches(this.selector))
255
+ return;
256
+ const e = new this.InstanceClass();
257
+ return this.instances.add(e), e;
258
+ }
259
+ remove(t) {
260
+ this.instances.remove(t);
261
+ }
262
+ dispose() {
263
+ const t = this.instances.collection;
264
+ for (let e = t.length - 1; e > -1; e--)
265
+ t[e]._dispose();
266
+ this.creator = null;
267
+ }
268
+ get instanceClassName() {
269
+ return this._instanceClassName;
270
+ }
271
+ get instanceClassNames() {
272
+ return this._instanceClassNames;
273
+ }
274
+ get property() {
275
+ return this._property;
276
+ }
277
+ get attribute() {
278
+ return this._attribute;
279
+ }
280
+ }
281
+ class be extends w {
282
+ constructor() {
283
+ super("register");
284
+ }
285
+ register(t, e, n) {
286
+ const r = new _e(t, e, n);
287
+ return this.add(r), h.isActive && r.introduce(), r;
288
+ }
289
+ activate() {
290
+ for (const t of this.collection)
291
+ t.introduce();
292
+ }
293
+ remove(t) {
294
+ t.dispose(), super.remove(t);
295
+ }
296
+ }
297
+ let Lt = 0;
298
+ class jt {
299
+ constructor(t, e) {
300
+ e ? this.id = e : (Lt++, this.id = Lt), this.node = t, this.attributeNames = [], this.instances = [], this._children = [], this._parent = null, this._projects = [];
301
+ }
302
+ get proxy() {
303
+ const t = this;
304
+ if (!this._proxy) {
305
+ this._proxy = { id: this.id, get parent() {
306
+ return t.parent ? t.parent.proxy : null;
307
+ }, get children() {
308
+ return t.children.map((e) => e.proxy);
309
+ } };
310
+ for (const e of this.instances)
311
+ this._proxy[e.registration.property] = e.proxy;
312
+ }
313
+ return this._proxy;
314
+ }
315
+ get html() {
316
+ if (!this.node || !this.node.outerHTML)
317
+ return "";
318
+ const t = this.node.outerHTML.indexOf(">");
319
+ return this.node.outerHTML.substring(0, t + 1);
320
+ }
321
+ project(t) {
322
+ this._projects.indexOf(t) === -1 && this._projects.push(t);
323
+ }
324
+ populate() {
325
+ const t = this._projects.slice();
326
+ this._projects.length = 0;
327
+ for (const e of t)
328
+ this.create(e);
329
+ }
330
+ create(t) {
331
+ if (this.hasInstance(t.instanceClassName))
332
+ return;
333
+ g.debug(`create instance of ${t.instanceClassName} on element [${this.id}]`);
334
+ const e = t.create(this);
335
+ this.instances.push(e), e._config(this, t), this._proxy && (this._proxy[t.property] = e.proxy);
336
+ }
337
+ remove(t) {
338
+ const e = this.instances.indexOf(t);
339
+ e > -1 && this.instances.splice(e, 1), this._proxy && delete this._proxy[t.registration.property];
340
+ }
341
+ get parent() {
342
+ return this._parent;
343
+ }
344
+ get ascendants() {
345
+ return [this.parent, ...this.parent.ascendants];
346
+ }
347
+ get children() {
348
+ return this._children;
349
+ }
350
+ get descendants() {
351
+ const t = [...this._children];
352
+ return this._children.forEach((e) => t.push(...e.descendants)), t;
353
+ }
354
+ addChild(t, e) {
355
+ return this._children.indexOf(t) > -1 ? null : (t._parent = this, !isNaN(e) && e > -1 && e < this._children.length ? this._children.splice(e, 0, t) : this._children.push(t), t);
356
+ }
357
+ removeChild(t) {
358
+ const e = this._children.indexOf(t);
359
+ if (e === -1)
360
+ return null;
361
+ t._parent = null, this._children.splice(e, 1);
362
+ }
363
+ emit(t, e) {
364
+ const n = h.getModule("stage").collection, r = [];
365
+ for (const a of n)
366
+ r.push(...a._emit(t, e));
367
+ return r;
368
+ }
369
+ _emit(t, e) {
370
+ const n = [];
371
+ for (const r of this.instances)
372
+ n.push(...r._emitter.emit(t, e));
373
+ return n;
374
+ }
375
+ ascend(t, e) {
376
+ return this._parent ? this._parent._ascend(t, e) : [];
377
+ }
378
+ _ascend(t, e) {
379
+ const n = [];
380
+ for (const r of this.instances)
381
+ n.push(...r._ascent.emit(t, e));
382
+ return this._parent && n.push(...this._parent._ascend(t, e)), n;
383
+ }
384
+ descend(t, e) {
385
+ const n = [];
386
+ for (const r of this._children)
387
+ n.push(...r._descend(t, e));
388
+ return n;
389
+ }
390
+ _descend(t, e) {
391
+ const n = [];
392
+ for (const r of this.instances)
393
+ n.push(...r._descent.emit(t, e));
394
+ for (const r of this._children)
395
+ n.push(...r._descend(t, e));
396
+ return n;
397
+ }
398
+ getInstance(t) {
399
+ for (const e of this.instances)
400
+ if (e.registration.hasInstanceClassName(t))
401
+ return e;
402
+ return null;
403
+ }
404
+ hasInstance(t) {
405
+ return this.getInstance(t) !== null;
406
+ }
407
+ getDescendantInstances(t, e, n) {
408
+ if (!t)
409
+ return [];
410
+ const r = [];
411
+ for (const a of this._children) {
412
+ const c = a.getInstance(t);
413
+ c && (r.push(c), n) || e && a.hasInstance(e) || !a.children.length || r.push.apply(r, a.getDescendantInstances(t, e, n));
414
+ }
415
+ return r;
416
+ }
417
+ getAscendantInstance(t, e) {
418
+ return !t || !this._parent ? null : this._parent.getInstance(t) || (e && this._parent.hasInstance(e) ? null : this._parent.getAscendantInstance(t, e));
419
+ }
420
+ dispose() {
421
+ for (let t = this.instances.length - 1; t >= 0; t--) {
422
+ const e = this.instances[t];
423
+ e && e._dispose();
424
+ }
425
+ this.instances.length = 0, h.remove("stage", this), this.parent.removeChild(this), this._children.length = 0, g.debug(`remove element [${this.id}] ${this.html}`);
426
+ }
427
+ prepare(t) {
428
+ this.attributeNames.indexOf(t) === -1 && this.attributeNames.push(t);
429
+ }
430
+ examine() {
431
+ const t = this.attributeNames.slice();
432
+ this.attributeNames.length = 0;
433
+ for (let e = this.instances.length - 1; e > -1; e--)
434
+ this.instances[e].examine(t);
435
+ }
436
+ }
437
+ const Q = { CLICK: o.emission("root", "click"), KEYDOWN: o.emission("root", "keydown"), KEYUP: o.emission("root", "keyup") }, Vt = { TAB: { id: "tab", value: 9 }, ESCAPE: { id: "escape", value: 27 }, END: { id: "end", value: 35 }, HOME: { id: "home", value: 36 }, LEFT: { id: "left", value: 37 }, UP: { id: "up", value: 38 }, RIGHT: { id: "right", value: 39 }, DOWN: { id: "down", value: 40 } }, Rt = (i) => Object.values(Vt).filter((t) => t.value === i)[0];
438
+ class Ee extends jt {
439
+ constructor() {
440
+ super(document.documentElement, "root"), this.node.setAttribute(o.attr("js"), !0), this.listen();
441
+ }
442
+ listen() {
443
+ document.documentElement.addEventListener("click", this.click.bind(this), { capture: !0 }), document.documentElement.addEventListener("keydown", this.keydown.bind(this), { capture: !0 }), document.documentElement.addEventListener("keyup", this.keyup.bind(this), { capture: !0 });
444
+ }
445
+ click(t) {
446
+ this.emit(Q.CLICK, t.target);
447
+ }
448
+ keydown(t) {
449
+ this.emit(Q.KEYDOWN, Rt(t.keyCode));
450
+ }
451
+ keyup(t) {
452
+ this.emit(Q.KEYUP, Rt(t.keyCode));
453
+ }
454
+ }
455
+ class fe extends w {
456
+ constructor() {
457
+ super("stage"), this.root = new Ee(), super.add(this.root), this.observer = new MutationObserver(this.mutate.bind(this)), this.modifications = [], this.willModify = !1, this.modifying = this.modify.bind(this);
458
+ }
459
+ hasElement(t) {
460
+ for (const e of this.collection)
461
+ if (e.node === t)
462
+ return !0;
463
+ return !1;
464
+ }
465
+ getElement(t) {
466
+ for (const n of this.collection)
467
+ if (n.node === t)
468
+ return n;
469
+ const e = new jt(t);
470
+ return this.add(e), g.debug(`add element [${e.id}] ${e.html}`), e;
471
+ }
472
+ getProxy(t) {
473
+ return this.hasElement(t) ? this.getElement(t).proxy : null;
474
+ }
475
+ add(t) {
476
+ super.add(t), this.put(t, this.root);
477
+ }
478
+ put(t, e) {
479
+ let n = 0;
480
+ for (let r = e.children.length - 1; r > -1; r--) {
481
+ const a = e.children[r], c = t.node.compareDocumentPosition(a.node);
482
+ if (c & Node.DOCUMENT_POSITION_CONTAINS)
483
+ return void this.put(t, a);
484
+ if (c & Node.DOCUMENT_POSITION_CONTAINED_BY)
485
+ e.removeChild(a), t.addChild(a, 0);
486
+ else if (c & Node.DOCUMENT_POSITION_PRECEDING) {
487
+ n = r + 1;
488
+ break;
489
+ }
490
+ }
491
+ e.addChild(t, n);
492
+ }
493
+ activate() {
494
+ this.observer.observe(document.documentElement, { childList: !0, subtree: !0, attributes: !0 });
495
+ }
496
+ deactivate() {
497
+ this.observer.disconnect();
498
+ }
499
+ mutate(t) {
500
+ const e = [];
501
+ t.forEach((n) => {
502
+ switch (n.type) {
503
+ case "childList":
504
+ n.removedNodes.forEach((r) => this.dispose(r)), n.addedNodes.forEach((r) => this.parse(r));
505
+ break;
506
+ case "attributes":
507
+ if (this.hasElement(n.target)) {
508
+ const r = this.getElement(n.target);
509
+ r.prepare(n.attributeName), e.indexOf(r) === -1 && e.push(r);
510
+ for (const a of r.descendants)
511
+ e.indexOf(a) === -1 && e.push(a);
512
+ }
513
+ this.modifications.indexOf(n.target) === -1 && this.modifications.push(n.target);
514
+ }
515
+ }), e.forEach((n) => n.examine()), this.modifications.length && !this.willModify && (this.willModify = !0, window.requestAnimationFrame(this.modifying));
516
+ }
517
+ modify() {
518
+ this.willModify = !1;
519
+ const t = this.modifications.slice();
520
+ this.modifications.length = 0;
521
+ for (const e of t)
522
+ document.documentElement.contains(e) && this.parse(e);
523
+ }
524
+ dispose(t) {
525
+ const e = [];
526
+ this.forEach((n) => {
527
+ t.contains(n.node) && e.push(n);
528
+ });
529
+ for (const n of e)
530
+ n.dispose(), this.remove(n);
531
+ }
532
+ parse(t, e, n) {
533
+ const r = e ? [e] : h.getModule("register").collection, a = [];
534
+ for (const c of r) {
535
+ const T = c.parse(t, n);
536
+ for (const me of T) {
537
+ const it = this.getElement(me);
538
+ it.project(c), a.indexOf(it) === -1 && a.push(it);
539
+ }
540
+ }
541
+ for (const c of a)
542
+ c.populate();
543
+ }
544
+ }
545
+ class Ae extends w {
546
+ constructor() {
547
+ super("render"), this.rendering = this.render.bind(this), this.nexts = new K();
548
+ }
549
+ activate() {
550
+ window.requestAnimationFrame(this.rendering);
551
+ }
552
+ request(t) {
553
+ this.nexts.add(t);
554
+ }
555
+ render() {
556
+ if (!h.isActive || (window.requestAnimationFrame(this.rendering), this.forEach((e) => e.render()), !this.nexts.length))
557
+ return;
558
+ const t = this.nexts.clone();
559
+ this.nexts.clear(), t.forEach((e) => e.next());
560
+ }
561
+ }
562
+ class Te extends w {
563
+ constructor() {
564
+ super("resize"), this.requireResize = !1, this.resizing = this.resize.bind(this);
565
+ const t = this.request.bind(this);
566
+ document.fonts && document.fonts.ready.then(t), window.addEventListener("resize", t), window.addEventListener("orientationchange", t);
567
+ }
568
+ activate() {
569
+ this.request();
570
+ }
571
+ request() {
572
+ this.requireResize || (this.requireResize = !0, window.requestAnimationFrame(this.resizing));
573
+ }
574
+ resize() {
575
+ this.requireResize && (this.forEach((t) => t.resize()), this.requireResize = !1);
576
+ }
577
+ }
578
+ class Se extends w {
579
+ constructor() {
580
+ super("lock"), this._isLocked = !1, this._scrollY = 0, this.onPopulate = this.lock.bind(this), this.onEmpty = this.unlock.bind(this);
581
+ }
582
+ get isLocked() {
583
+ return this._isLocked;
584
+ }
585
+ lock() {
586
+ if (!this._isLocked) {
587
+ this._isLocked = !0, this._scrollY = window.scrollY;
588
+ const t = window.innerWidth - document.documentElement.clientWidth;
589
+ document.documentElement.setAttribute(o.attr("scrolling"), "false"), document.body.style.top = -this._scrollY + "px", this.behavior = getComputedStyle(document.documentElement).getPropertyValue("scroll-behavior"), this.behavior === "smooth" && (document.documentElement.style.scrollBehavior = "auto"), t > 0 && document.documentElement.style.setProperty("--scrollbar-width", `${t}px`);
590
+ }
591
+ }
592
+ unlock() {
593
+ this._isLocked && (this._isLocked = !1, document.documentElement.removeAttribute(o.attr("scrolling")), document.body.style.top = "", window.scrollTo(0, this._scrollY), this.behavior === "smooth" && document.documentElement.style.removeProperty("scroll-behavior"), document.documentElement.style.removeProperty("--scrollbar-width"));
594
+ }
595
+ move(t) {
596
+ this._isLocked ? (this._scrollY += t, document.body.style.top = -this._scrollY + "px") : window.scrollTo(0, window.scrollY + t);
597
+ }
598
+ }
599
+ class ve extends w {
600
+ constructor() {
601
+ super("load"), this.loading = this.load.bind(this);
602
+ }
603
+ activate() {
604
+ window.addEventListener("load", this.loading);
605
+ }
606
+ load() {
607
+ this.forEach((t) => t.load());
608
+ }
609
+ }
610
+ const ye = ["Marianne", "Spectral"];
611
+ class Ce extends w {
612
+ constructor() {
613
+ super("font-swap"), this.swapping = this.swap.bind(this);
614
+ }
615
+ activate() {
616
+ document.fonts && document.fonts.addEventListener("loadingdone", this.swapping);
617
+ }
618
+ swap() {
619
+ const t = ye.filter((e) => document.fonts.check(`16px ${e}`));
620
+ this.forEach((e) => e.swapFont(t));
621
+ }
622
+ }
623
+ class Ne extends w {
624
+ constructor() {
625
+ super("mouse-move"), this.requireMove = !1, this._isMoving = !1, this.moving = this.move.bind(this), this.requesting = this.request.bind(this), this.onPopulate = this.listen.bind(this), this.onEmpty = this.unlisten.bind(this);
626
+ }
627
+ listen() {
628
+ this._isMoving || (this._isMoving = !0, this.requireMove = !1, document.documentElement.addEventListener("mousemove", this.requesting));
629
+ }
630
+ unlisten() {
631
+ this._isMoving && (this._isMoving = !1, this.requireMove = !1, document.documentElement.removeEventListener("mousemove", this.requesting));
632
+ }
633
+ request(t) {
634
+ this._isMoving && (this.point = { x: t.clientX, y: t.clientY }, this.requireMove || (this.requireMove = !0, window.requestAnimationFrame(this.moving)));
635
+ }
636
+ move() {
637
+ this.requireMove && (this.forEach((t) => t.mouseMove(this.point)), this.requireMove = !1);
638
+ }
639
+ }
640
+ class De extends w {
641
+ constructor() {
642
+ super("hash"), this.handling = this.handle.bind(this), this.getLocationHash();
643
+ }
644
+ activate() {
645
+ window.addEventListener("hashchange", this.handling);
646
+ }
647
+ deactivate() {
648
+ window.removeEventListener("hashchange", this.handling);
649
+ }
650
+ _sanitize(t) {
651
+ return t.charAt(0) === "#" ? t.substring(1) : t;
652
+ }
653
+ set hash(t) {
654
+ const e = this._sanitize(t);
655
+ this._hash !== e && (window.location.hash = e);
656
+ }
657
+ get hash() {
658
+ return this._hash;
659
+ }
660
+ getLocationHash() {
661
+ const t = window.location.hash;
662
+ this._hash = this._sanitize(t);
663
+ }
664
+ handle(t) {
665
+ this.getLocationHash(), this.forEach((e) => e.handleHash(this._hash, t));
666
+ }
667
+ }
668
+ const dt = new class {
669
+ constructor() {
670
+ h.create(be), h.create(fe), h.create(Ae), h.create(Te), h.create(Se), h.create(ve), h.create(Ce), h.create(Ne), h.create(De);
671
+ const i = h.getModule("register");
672
+ this.register = i.register.bind(i);
673
+ }
674
+ get isActive() {
675
+ return h.isActive;
676
+ }
677
+ start() {
678
+ g.debug("START"), h.isActive = !0;
679
+ }
680
+ stop() {
681
+ g.debug("STOP"), h.isActive = !1;
682
+ }
683
+ }(), we = (i) => {
684
+ switch (!0) {
685
+ case i.hover:
686
+ return "-hover";
687
+ case i.active:
688
+ return "-active";
689
+ default:
690
+ return "";
691
+ }
692
+ }, Le = new class {
693
+ getColor(i, t, e, n = {}) {
694
+ const r = `--${i}-${t}-${e}${we(n)}`;
695
+ return getComputedStyle(document.documentElement).getPropertyValue(r).trim() || null;
696
+ }
697
+ }(), Kt = (i) => i.charAt(0) === "." ? i.substr(1) : i, Ct = (i) => {
698
+ switch (!0) {
699
+ case !i.className:
700
+ return [];
701
+ case typeof i.className == "string":
702
+ return i.className.split(" ");
703
+ case typeof i.className.baseVal == "string":
704
+ return i.className.baseVal.split(" ");
705
+ }
706
+ return [];
707
+ }, Yt = (i, t, e) => {
708
+ t = Kt(t);
709
+ const n = Ct(i), r = n.indexOf(t);
710
+ e === !0 ? r > -1 && n.splice(r, 1) : r === -1 && n.push(t), i.className = n.join(" ");
711
+ }, Xt = (i, t) => Yt(i, t), Qt = (i, t) => Yt(i, t, !0), Jt = (i, t) => Ct(i).indexOf(Kt(t)) > -1, Re = ['[tabindex]:not([tabindex="-1"])', "a[href]", "button:not([disabled])", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details", "iframe"].join(), Zt = (i) => i.querySelectorAll(Re);
712
+ let It = 0;
713
+ const te = (i) => {
714
+ if (!document.getElementById(i))
715
+ return i;
716
+ let t = !0;
717
+ const e = i;
718
+ for (; t; )
719
+ It++, i = `${e}-${It}`, t = document.getElementById(i);
720
+ return i;
721
+ }, Ie = { addClass: Xt, hasClass: Jt, removeClass: Qt, queryParentSelector: yt, querySelectorAllArray: vt, queryActions: Zt, uniqueId: te }, xe = { DataURISVG: class {
722
+ constructor(i = 0, t = 0) {
723
+ this._width = i, this._height = t, this._content = "";
724
+ }
725
+ get width() {
726
+ return this._width;
727
+ }
728
+ set width(i) {
729
+ this._width = i;
730
+ }
731
+ get height() {
732
+ return this._height;
733
+ }
734
+ set height(i) {
735
+ this._height = i;
736
+ }
737
+ get content() {
738
+ return this._content;
739
+ }
740
+ set content(i) {
741
+ this._content = i;
742
+ }
743
+ getDataURI(i = !1) {
744
+ let t = `<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 ${this._width} ${this._height}' width='${this._width}px' height='${this._height}px'>${this._content}</svg>`;
745
+ return t = t.replace(/#/gi, "%23"), i && (t = t.replace(/</gi, "%3C"), t = t.replace(/>/gi, "%3E"), t = t.replace(/"/gi, "'"), t = t.replace(/{/gi, "%7B"), t = t.replace(/}/gi, "%7D")), `data:image/svg+xml;charset=utf8,${t}`;
746
+ }
747
+ } }, Oe = { supportLocalStorage: () => {
748
+ try {
749
+ return "localStorage" in window && window.localStorage !== null;
750
+ } catch {
751
+ return !1;
752
+ }
753
+ }, supportAspectRatio: () => !!window.CSS && CSS.supports("aspect-ratio: 16 / 9") }, Pe = { TransitionSelector: { NONE: o.selector("transition-none") } }, F = (i, ...t) => (t.forEach((e) => {
754
+ const n = Object.keys(e).reduce((r, a) => (r[a] = Object.getOwnPropertyDescriptor(e, a), r), {});
755
+ Object.getOwnPropertySymbols(e).forEach((r) => {
756
+ const a = Object.getOwnPropertyDescriptor(e, r);
757
+ a.enumerable && (n[r] = a);
758
+ }), Object.defineProperties(i, n);
759
+ }), i), ke = { completeAssign: F }, f = {}, nt = {};
760
+ Object.defineProperty(nt, "isLegacy", { get: () => h.isLegacy }), nt.setLegacy = () => {
761
+ h.isLegacy = !0;
762
+ }, f.legacy = nt, f.dom = Ie, f.image = xe, f.support = Oe, f.motion = Pe, f.property = ke, f.ns = o, f.register = dt.register, f.state = h, f.query = ((i) => {
763
+ if (i && i.search) {
764
+ const t = new URLSearchParams(window.location.search).entries();
765
+ return Object.fromEntries(t);
766
+ }
767
+ return null;
768
+ })(window.location), Object.defineProperty(f, "preventManipulation", { get: () => Z.preventManipulation }), Object.defineProperty(f, "stage", { get: () => h.getModule("stage") });
769
+ const d = (i) => h.getModule("stage").getProxy(i);
770
+ d.version = ct, d.prefix = zt, d.organisation = pe, d.Modes = v, Object.defineProperty(d, "mode", { set: (i) => {
771
+ Z.mode = i;
772
+ }, get: () => Z.mode }), d.internals = f, d.version = ct, d.start = dt.start, d.stop = dt.stop, d.inspector = g, d.colors = Le;
773
+ const xt = window[V];
774
+ d.internals.configuration = xt, Z.configure(xt, d.start, d.internals.query), window[V] = d;
775
+ class rt {
776
+ constructor() {
777
+ this.emissions = {};
778
+ }
779
+ add(t, e) {
780
+ if (typeof e != "function")
781
+ throw new Error("closure must be a function");
782
+ this.emissions[t] || (this.emissions[t] = []), this.emissions[t].push(e);
783
+ }
784
+ remove(t, e) {
785
+ if (this.emissions[t])
786
+ if (e) {
787
+ const n = this.emissions[t].indexOf(e);
788
+ n > -1 && this.emissions[t].splice(n);
789
+ } else
790
+ delete this.emissions[t];
791
+ }
792
+ emit(t, e) {
793
+ if (!this.emissions[t])
794
+ return [];
795
+ const n = [];
796
+ for (const r of this.emissions[t])
797
+ r && n.push(r(e));
798
+ return n;
799
+ }
800
+ dispose() {
801
+ this.emissions = null;
802
+ }
803
+ }
804
+ class q {
805
+ constructor(t, e) {
806
+ this.id = t, this.minWidth = e;
807
+ }
808
+ test() {
809
+ return window.matchMedia(`(min-width: ${this.minWidth}em)`).matches;
810
+ }
811
+ }
812
+ const ee = { XS: new q("xs", 0), SM: new q("sm", 36), MD: new q("md", 48), LG: new q("lg", 62), XL: new q("xl", 78) };
813
+ class b {
814
+ constructor(t = !0) {
815
+ this.jsAttribute = t, this._isRendering = !1, this._isResizing = !1, this._isScrollLocked = !1, this._isLoading = !1, this._isSwappingFont = !1, this._isEnabled = !0, this._isDisposed = !1, this._listeners = {}, this.handlingClick = this.handleClick.bind(this), this._hashes = [], this._hash = "", this._keyListenerTypes = [], this._keys = [], this.handlingKey = this.handleKey.bind(this), this._emitter = new rt(), this._ascent = new rt(), this._descent = new rt(), this._registrations = [], this._nexts = [];
816
+ }
817
+ static get instanceClassName() {
818
+ return "Instance";
819
+ }
820
+ _config(t, e) {
821
+ this.element = t, this.registration = e, this.node = t.node, this.id = t.node.id, this.jsAttribute && this.setAttribute(e.attribute, !0), this.init();
822
+ }
823
+ init() {
824
+ }
825
+ get proxy() {
826
+ const t = this;
827
+ return F({ render: () => t.render(), resize: () => t.resize() }, { get node() {
828
+ return this.node;
829
+ }, get isEnabled() {
830
+ return t.isEnabled;
831
+ }, set isEnabled(e) {
832
+ t.isEnabled = e;
833
+ } });
834
+ }
835
+ log(...t) {
836
+ t.unshift(`${this.registration.instanceClassName} #${this.id} - `), g.log.apply(g, t);
837
+ }
838
+ debug(...t) {
839
+ t.unshift(`${this.registration.instanceClassName} #${this.id} - `), g.debug.apply(g, t);
840
+ }
841
+ info(...t) {
842
+ t.unshift(`${this.registration.instanceClassName} #${this.id} - `), g.info.apply(g, t);
843
+ }
844
+ warn(...t) {
845
+ t.unshift(`${this.registration.instanceClassName} #${this.id} - `), g.warn.apply(g, t);
846
+ }
847
+ error(...t) {
848
+ t.unshift(`${this.registration.instanceClassName} #${this.id} - `), g.error.apply(g, t);
849
+ }
850
+ register(t, e) {
851
+ const n = h.getModule("register").register(t, e, this);
852
+ this._registrations.push(n);
853
+ }
854
+ getRegisteredInstances(t) {
855
+ for (const e of this._registrations)
856
+ if (e.hasInstanceClassName(t))
857
+ return e.instances.collection;
858
+ return [];
859
+ }
860
+ dispatch(t, e, n, r) {
861
+ const a = new CustomEvent(t, { detail: e, bubble: n === !0, cancelable: r === !0 });
862
+ this.node.dispatchEvent(a);
863
+ }
864
+ listen(t, e, n) {
865
+ this._listeners[t] || (this._listeners[t] = []);
866
+ const r = this._listeners[t], a = new $e(this.node, t, e, n);
867
+ r.push(a), a.listen();
868
+ }
869
+ unlisten(t, e, n) {
870
+ if (!t) {
871
+ for (const c in this._listeners)
872
+ this.unlisten(c);
873
+ return;
874
+ }
875
+ const r = this._listeners[t];
876
+ if (!r)
877
+ return;
878
+ if (!e)
879
+ return void r.forEach((c) => this.unlisten(t, c.closure));
880
+ const a = r.filter((c) => c.closure === e && c.matchOptions(n));
881
+ a.forEach((c) => c.unlisten()), this._listeners[t] = r.filter((c) => a.indexOf(c) === -1);
882
+ }
883
+ listenClick(t) {
884
+ this.listen("click", this.handlingClick, t);
885
+ }
886
+ unlistenClick(t) {
887
+ this.unlisten("click", this.handlingClick, t);
888
+ }
889
+ handleClick(t) {
890
+ }
891
+ set hash(t) {
892
+ h.getModule("hash").hash = t;
893
+ }
894
+ get hash() {
895
+ return h.getModule("hash").hash;
896
+ }
897
+ listenHash(t, e) {
898
+ if (!this._hashes)
899
+ return;
900
+ this._hashes.length === 0 && h.add("hash", this);
901
+ const n = new He(t, e);
902
+ this._hashes = this._hashes.filter((r) => r.hash !== t), this._hashes.push(n);
903
+ }
904
+ unlistenHash(t) {
905
+ this._hashes && (this._hashes = this._hashes.filter((e) => e.hash !== t), this._hashes.length === 0 && h.remove("hash", this));
906
+ }
907
+ handleHash(t, e) {
908
+ if (this._hashes)
909
+ for (const n of this._hashes)
910
+ n.handle(t, e);
911
+ }
912
+ listenKey(t, e, n = !1, r = !1, a = "down") {
913
+ this._keyListenerTypes.indexOf(a) === -1 && (this.listen(`key${a}`, this.handlingKey), this._keyListenerTypes.push(a)), this._keys.push(new Me(a, t, e, n, r));
914
+ }
915
+ unlistenKey(t, e) {
916
+ this._keys = this._keys.filter((n) => n.code !== t || n.closure !== e), this._keyListenerTypes.forEach((n) => {
917
+ this._keys.some((r) => r.type === n) || this.unlisten(`key${n}`, this.handlingKey);
918
+ });
919
+ }
920
+ handleKey(t) {
921
+ for (const e of this._keys)
922
+ e.handle(t);
923
+ }
924
+ get isEnabled() {
925
+ return this._isEnabled;
926
+ }
927
+ set isEnabled(t) {
928
+ this._isEnabled = t;
929
+ }
930
+ get isRendering() {
931
+ return this._isRendering;
932
+ }
933
+ set isRendering(t) {
934
+ this._isRendering !== t && (t ? h.add("render", this) : h.remove("render", this), this._isRendering = t);
935
+ }
936
+ render() {
937
+ }
938
+ request(t) {
939
+ this._nexts.push(t), h.getModule("render").request(this);
940
+ }
941
+ next() {
942
+ const t = this._nexts.slice();
943
+ this._nexts.length = 0;
944
+ for (const e of t)
945
+ e && e();
946
+ }
947
+ get isResizing() {
948
+ return this._isResizing;
949
+ }
950
+ set isResizing(t) {
951
+ this._isResizing !== t && (t ? (h.add("resize", this), this.resize()) : h.remove("resize", this), this._isResizing = t);
952
+ }
953
+ resize() {
954
+ }
955
+ isBreakpoint(t) {
956
+ return typeof t == "string" ? ee[t.toUpperCase()].test() : t.test();
957
+ }
958
+ get isScrollLocked() {
959
+ return this._isScrollLocked;
960
+ }
961
+ set isScrollLocked(t) {
962
+ this._isScrollLocked !== t && (t ? h.add("lock", this) : h.remove("lock", this), this._isScrollLocked = t);
963
+ }
964
+ get isLoading() {
965
+ return this._isLoading;
966
+ }
967
+ set isLoading(t) {
968
+ this._isLoading !== t && (t ? h.add("load", this) : h.remove("load", this), this._isLoading = t);
969
+ }
970
+ load() {
971
+ }
972
+ get isSwappingFont() {
973
+ return this._isSwappingFont;
974
+ }
975
+ set isSwappingFont(t) {
976
+ this._isSwappingFont !== t && (t ? h.add("font-swap", this) : h.remove("font-swap", this), this._isSwappingFont = t);
977
+ }
978
+ swapFont() {
979
+ }
980
+ get isMouseMoving() {
981
+ return this._isMouseMoving;
982
+ }
983
+ set isMouseMoving(t) {
984
+ this._isMouseMoving !== t && (t ? h.add("mouse-move", this) : h.remove("mouse-move", this), this._isMouseMoving = t);
985
+ }
986
+ mouseMove(t) {
987
+ }
988
+ examine(t) {
989
+ this.node.matches(this.registration.selector) ? this.mutate(t) : this._dispose();
990
+ }
991
+ mutate(t) {
992
+ }
993
+ retrieveNodeId(t, e) {
994
+ if (t.id)
995
+ return t.id;
996
+ const n = te(`${this.id}-${e}`);
997
+ return this.warn(`add id '${n}' to ${e}`), t.setAttribute("id", n), n;
998
+ }
999
+ get isDisposed() {
1000
+ return this._isDisposed;
1001
+ }
1002
+ _dispose() {
1003
+ this.debug(`dispose instance of ${this.registration.instanceClassName} on element [${this.element.id}]`), this.removeAttribute(this.registration.attribute), this.unlisten(), h.remove("hash", this), this._hashes = null, this._keys = null, this.isRendering = !1, this.isResizing = !1, this._nexts = null, h.getModule("render").nexts.remove(this), this.isScrollLocked = !1, this.isLoading = !1, this.isSwappingFont = !1, this.isMouseMoving = !1, this._emitter.dispose(), this._emitter = null, this._ascent.dispose(), this._ascent = null, this._descent.dispose(), this._descent = null, this.element.remove(this);
1004
+ for (const t of this._registrations)
1005
+ h.remove("register", t);
1006
+ this._registrations = null, this.registration.remove(this), this._isDisposed = !0, this.dispose();
1007
+ }
1008
+ dispose() {
1009
+ }
1010
+ emit(t, e) {
1011
+ return this.element.emit(t, e);
1012
+ }
1013
+ addEmission(t, e) {
1014
+ this._emitter.add(t, e);
1015
+ }
1016
+ removeEmission(t, e) {
1017
+ this._emitter.remove(t, e);
1018
+ }
1019
+ ascend(t, e) {
1020
+ return this.element.ascend(t, e);
1021
+ }
1022
+ addAscent(t, e) {
1023
+ this._ascent.add(t, e);
1024
+ }
1025
+ removeAscent(t, e) {
1026
+ this._ascent.remove(t, e);
1027
+ }
1028
+ descend(t, e) {
1029
+ return this.element.descend(t, e);
1030
+ }
1031
+ addDescent(t, e) {
1032
+ this._descent.add(t, e);
1033
+ }
1034
+ removeDescent(t, e) {
1035
+ this._descent.remove(t, e);
1036
+ }
1037
+ get style() {
1038
+ return this.node.style;
1039
+ }
1040
+ addClass(t) {
1041
+ Xt(this.node, t);
1042
+ }
1043
+ removeClass(t) {
1044
+ Qt(this.node, t);
1045
+ }
1046
+ hasClass(t) {
1047
+ return Jt(this.node, t);
1048
+ }
1049
+ get classNames() {
1050
+ return Ct(this.node);
1051
+ }
1052
+ remove() {
1053
+ this.node.parentNode.removeChild(this.node);
1054
+ }
1055
+ setAttribute(t, e) {
1056
+ this.node.setAttribute(t, e);
1057
+ }
1058
+ getAttribute(t) {
1059
+ return this.node.getAttribute(t);
1060
+ }
1061
+ hasAttribute(t) {
1062
+ return this.node.hasAttribute(t);
1063
+ }
1064
+ removeAttribute(t) {
1065
+ this.node.removeAttribute(t);
1066
+ }
1067
+ setProperty(t, e) {
1068
+ this.node.style.setProperty(t, e);
1069
+ }
1070
+ removeProperty(t) {
1071
+ this.node.style.removeProperty(t);
1072
+ }
1073
+ focus() {
1074
+ this.node.focus();
1075
+ }
1076
+ blur() {
1077
+ this.node.blur();
1078
+ }
1079
+ focusClosest() {
1080
+ const t = this._focusClosest(this.node.parentNode);
1081
+ t && t.focus();
1082
+ }
1083
+ _focusClosest(t) {
1084
+ if (!t)
1085
+ return null;
1086
+ const e = [...Zt(t)];
1087
+ if (e.length <= 1)
1088
+ return this._focusClosest(t.parentNode);
1089
+ {
1090
+ const n = e.indexOf(this.node);
1091
+ return e[n + (n < e.length - 1 ? 1 : -1)];
1092
+ }
1093
+ }
1094
+ get hasFocus() {
1095
+ return this.node === document.activeElement;
1096
+ }
1097
+ scrollIntoView() {
1098
+ const t = this.getRect(), e = h.getModule("lock");
1099
+ t.top < 0 && e.move(t.top - 50), t.bottom > window.innerHeight && e.move(t.bottom - window.innerHeight + 50);
1100
+ }
1101
+ matches(t) {
1102
+ return this.node.matches(t);
1103
+ }
1104
+ querySelector(t) {
1105
+ return this.node.querySelector(t);
1106
+ }
1107
+ querySelectorAll(t) {
1108
+ return vt(this.node, t);
1109
+ }
1110
+ queryParentSelector(t) {
1111
+ return yt(this.node, t);
1112
+ }
1113
+ getRect() {
1114
+ const t = this.node.getBoundingClientRect();
1115
+ return t.center = t.left + 0.5 * t.width, t.middle = t.top + 0.5 * t.height, t;
1116
+ }
1117
+ get isLegacy() {
1118
+ return h.isLegacy;
1119
+ }
1120
+ }
1121
+ class Me {
1122
+ constructor(t, e, n, r, a) {
1123
+ this.type = t, this.eventType = `key${t}`, this.keyCode = e, this.closure = n, this.preventDefault = r === !0, this.stopPropagation = a === !0;
1124
+ }
1125
+ handle(t) {
1126
+ t.type === this.eventType && t.keyCode === this.keyCode.value && (this.closure(t), this.preventDefault && t.preventDefault(), this.stopPropagation && t.stopPropagation());
1127
+ }
1128
+ }
1129
+ class $e {
1130
+ constructor(t, e, n, r) {
1131
+ this._node = t, this._type = e, this._closure = n, this._options = r;
1132
+ }
1133
+ get closure() {
1134
+ return this._closure;
1135
+ }
1136
+ listen() {
1137
+ this._node.addEventListener(this._type, this._closure, this._options);
1138
+ }
1139
+ matchOptions(t = null) {
1140
+ switch (!0) {
1141
+ case t === null:
1142
+ case (typeof this._options == "boolean" && typeof t == "boolean" && this._options === t):
1143
+ return !0;
1144
+ case Object.keys(this._options).length !== Object.keys(t).length:
1145
+ return !1;
1146
+ case Object.keys(t).every((e) => this._options[e] === t[e]):
1147
+ return !0;
1148
+ }
1149
+ return !1;
1150
+ }
1151
+ unlisten() {
1152
+ this._node.removeEventListener(this._type, this._closure, this._options);
1153
+ }
1154
+ }
1155
+ class He {
1156
+ constructor(t, e) {
1157
+ this.hash = t, this.add = e;
1158
+ }
1159
+ handle(t, e) {
1160
+ this.hash === t && this.add(e);
1161
+ }
1162
+ }
1163
+ const ut = { DISCLOSE: o.event("disclose"), CONCEAL: o.event("conceal") }, p = { RESET: o.emission("disclosure", "reset"), ADDED: o.emission("disclosure", "added"), RETRIEVE: o.emission("disclosure", "retrieve"), REMOVED: o.emission("disclosure", "removed"), GROUP: o.emission("disclosure", "group"), UNGROUP: o.emission("disclosure", "ungroup"), SPOTLIGHT: o.emission("disclosure", "spotlight") };
1164
+ class Ot extends b {
1165
+ constructor(t, e, n, r) {
1166
+ super(), this.type = t, this._selector = e, this.DisclosureButtonInstanceClass = n, this.disclosuresGroupInstanceClassName = r, this.modifier = this._selector + "--" + this.type.id, this._isPristine = !0, this._isRetrievingPrimaries = !1, this._hasRetrieved = !1, this._primaryButtons = [];
1167
+ }
1168
+ static get instanceClassName() {
1169
+ return "Disclosure";
1170
+ }
1171
+ init() {
1172
+ this.addDescent(p.RESET, this.reset.bind(this)), this.addDescent(p.GROUP, this.update.bind(this)), this.addDescent(p.UNGROUP, this.update.bind(this)), this.addAscent(p.SPOTLIGHT, this.disclose.bind(this)), this.register(`[aria-controls="${this.id}"]`, this.DisclosureButtonInstanceClass), this.ascend(p.ADDED), this.listenHash(this.id, this._spotlight.bind(this)), this.update();
1173
+ }
1174
+ get isEnabled() {
1175
+ return super.isEnabled;
1176
+ }
1177
+ set isEnabled(t) {
1178
+ this.isEnabled !== t && (super.isEnabled = t, t ? this.ascend(p.ADDED) : this.ascend(p.REMOVED));
1179
+ }
1180
+ get isPristine() {
1181
+ return this._isPristine;
1182
+ }
1183
+ get proxy() {
1184
+ const t = this, e = Object.assign(super.proxy, { disclose: t.disclose.bind(t), focus: t.focus.bind(t) });
1185
+ return this.type.canConceal && (e.conceal = t.conceal.bind(t)), F(e, { get buttons() {
1186
+ return t.buttons.map((n) => n.proxy);
1187
+ }, get group() {
1188
+ const n = t.group;
1189
+ return n ? n.proxy : null;
1190
+ }, get isDisclosed() {
1191
+ return t.isDisclosed;
1192
+ } });
1193
+ }
1194
+ get buttons() {
1195
+ return this.getRegisteredInstances(this.DisclosureButtonInstanceClass.instanceClassName);
1196
+ }
1197
+ update() {
1198
+ this.getGroup(), this.retrievePrimaries();
1199
+ }
1200
+ getGroup() {
1201
+ if (!this.disclosuresGroupInstanceClassName)
1202
+ return void (this._group = null);
1203
+ const t = this.element.getAscendantInstance(this.disclosuresGroupInstanceClassName, this.constructor.instanceClassName);
1204
+ t && t.validate(this) ? this._group = t : this._group = null;
1205
+ }
1206
+ get group() {
1207
+ return this._group;
1208
+ }
1209
+ disclose(t) {
1210
+ return !(this.isDisclosed === !0 || !this.isEnabled) && (this._isPristine = !1, this.isDisclosed = !0, !t && this.group && (this.group.current = this), !0);
1211
+ }
1212
+ conceal(t, e = !0) {
1213
+ return this.isDisclosed !== !1 && !(!this.type.canConceal && this.group && this.group.current === this) && (this.isDisclosed = !1, !t && this.group && this.group.current === this && (this.group.current = null), e || this.focus(), this._isPristine || this.descend(p.RESET), !0);
1214
+ }
1215
+ get isDisclosed() {
1216
+ return this._isDisclosed;
1217
+ }
1218
+ set isDisclosed(t) {
1219
+ if (this._isDisclosed !== t && (this.isEnabled || t !== !0)) {
1220
+ this.dispatch(t ? ut.DISCLOSE : ut.CONCEAL, this.type), this._isDisclosed = t, t ? this.addClass(this.modifier) : this.removeClass(this.modifier);
1221
+ for (let e = 0; e < this.buttons.length; e++)
1222
+ this.buttons[e].apply(t);
1223
+ }
1224
+ }
1225
+ get isInitiallyDisclosed() {
1226
+ return this.primaryButtons.some((t) => t.isInitiallyDisclosed);
1227
+ }
1228
+ hasRetrieved() {
1229
+ return this._hasRetrieved;
1230
+ }
1231
+ reset() {
1232
+ }
1233
+ toggle(t) {
1234
+ if (this.type.canConceal)
1235
+ switch (!0) {
1236
+ case !t:
1237
+ case this.isDisclosed:
1238
+ this.conceal(!1, !1);
1239
+ break;
1240
+ default:
1241
+ this.disclose();
1242
+ }
1243
+ else
1244
+ this.disclose();
1245
+ }
1246
+ get buttonHasFocus() {
1247
+ return this.buttons.some((t) => t.hasFocus);
1248
+ }
1249
+ get hasFocus() {
1250
+ return !!super.hasFocus || !!this.buttonHasFocus || this.querySelectorAll(":focus").length > 0;
1251
+ }
1252
+ focus() {
1253
+ this._primaryButtons.length > 0 && this._primaryButtons[0].focus();
1254
+ }
1255
+ get primaryButtons() {
1256
+ return this._primaryButtons;
1257
+ }
1258
+ retrievePrimaries() {
1259
+ this._isRetrievingPrimaries || (this._isRetrievingPrimaries = !0, this.request(this._retrievePrimaries.bind(this)));
1260
+ }
1261
+ _retrievePrimaries() {
1262
+ if (this._isRetrievingPrimaries = !1, this._primaryButtons = this._electPrimaries(this.buttons), !this._hasRetrieved && this._primaryButtons.length !== 0) {
1263
+ if (this.retrieved(), this._hasRetrieved = !0, this.applyAbility(!0), this.group)
1264
+ this.group.retrieve();
1265
+ else if (this._isPristine && this.isEnabled && !this.group)
1266
+ switch (!0) {
1267
+ case this.hash === this.id:
1268
+ this._spotlight();
1269
+ break;
1270
+ case this.isInitiallyDisclosed:
1271
+ this.disclose();
1272
+ }
1273
+ }
1274
+ }
1275
+ retrieved() {
1276
+ }
1277
+ _spotlight() {
1278
+ this.disclose(), this.request(() => {
1279
+ this.ascend(p.SPOTLIGHT);
1280
+ });
1281
+ }
1282
+ _electPrimaries(t) {
1283
+ return t.filter((e) => e.canDisclose && !this.node.contains(e.node));
1284
+ }
1285
+ applyAbility(t = !1) {
1286
+ const e = !this._primaryButtons.every((n) => n.isDisabled);
1287
+ this.isEnabled !== e && (this.isEnabled = e, t || (!this.isEnabled && this.isDisclosed && (this.group ? this.ascend(p.REMOVED) : this.type.canConceal && this.conceal()), this.isEnabled && (this.group && this.ascend(p.ADDED), this.hash === this.id && this._spotlight())));
1288
+ }
1289
+ dispose() {
1290
+ this._group = null, this._primaryButtons = null, super.dispose(), this.ascend(p.REMOVED);
1291
+ }
1292
+ }
1293
+ class se extends b {
1294
+ constructor(t) {
1295
+ super(), this.type = t, this.attributeName = t.ariaState ? "aria-" + t.id : o.attr(t.id), this._canDisclose = !1;
1296
+ }
1297
+ static get instanceClassName() {
1298
+ return "DisclosureButton";
1299
+ }
1300
+ get isPrimary() {
1301
+ return this.registration.creator.primaryButtons.includes(this);
1302
+ }
1303
+ get canDisclose() {
1304
+ return this._canDisclose;
1305
+ }
1306
+ get isDisabled() {
1307
+ return this.type.canDisable && this.hasAttribute("disabled");
1308
+ }
1309
+ init() {
1310
+ this._canDisclose = this.hasAttribute(this.attributeName), this._isInitiallyDisclosed = this.isDisclosed, this._isContained = this.registration.creator.node.contains(this.node), this.controlsId = this.getAttribute("aria-controls"), this.registration.creator.retrievePrimaries(), this.listenClick();
1311
+ }
1312
+ get proxy() {
1313
+ return Object.assign(super.proxy, { focus: this.focus.bind(this) });
1314
+ }
1315
+ handleClick(t) {
1316
+ this.registration.creator && this.registration.creator.toggle(this.canDisclose);
1317
+ }
1318
+ mutate(t) {
1319
+ this._canDisclose = this.hasAttribute(this.attributeName), this.registration.creator.applyAbility(), !this._isApplying && this.isPrimary && t.indexOf(this.attributeName) > -1 && this.registration.creator && (this.isDisclosed ? this.registration.creator.disclose() : this.type.canConceal && this.registration.creator.conceal());
1320
+ }
1321
+ apply(t) {
1322
+ this.canDisclose && (this._isApplying = !0, this.setAttribute(this.attributeName, t), this.request(() => {
1323
+ this._isApplying = !1;
1324
+ }));
1325
+ }
1326
+ get isDisclosed() {
1327
+ return this.getAttribute(this.attributeName) === "true";
1328
+ }
1329
+ get isInitiallyDisclosed() {
1330
+ return this._isInitiallyDisclosed;
1331
+ }
1332
+ focus() {
1333
+ super.focus(), this.scrollIntoView();
1334
+ }
1335
+ measure(t) {
1336
+ const e = this.rect;
1337
+ this._dx = t.x - e.x, this._dy = t.y - e.y;
1338
+ }
1339
+ get dx() {
1340
+ return this._dx;
1341
+ }
1342
+ get dy() {
1343
+ return this._dy;
1344
+ }
1345
+ }
1346
+ class Pt extends b {
1347
+ constructor(t, e) {
1348
+ super(e), this.disclosureInstanceClassName = t, this._members = [], this._index = -1, this._isRetrieving = !1, this._hasRetrieved = !1;
1349
+ }
1350
+ static get instanceClassName() {
1351
+ return "DisclosuresGroup";
1352
+ }
1353
+ init() {
1354
+ this.addAscent(p.ADDED, this.update.bind(this)), this.addAscent(p.RETRIEVE, this.retrieve.bind(this)), this.addAscent(p.REMOVED, this.update.bind(this)), this.descend(p.GROUP), this.update();
1355
+ }
1356
+ get proxy() {
1357
+ const t = this, e = { set index(n) {
1358
+ t.index = n;
1359
+ }, get index() {
1360
+ return t.index;
1361
+ }, get length() {
1362
+ return t.length;
1363
+ }, get current() {
1364
+ const n = t.current;
1365
+ return n ? n.proxy : null;
1366
+ }, get members() {
1367
+ return t.members.map((n) => n.proxy);
1368
+ }, get hasFocus() {
1369
+ return t.hasFocus;
1370
+ } };
1371
+ return F(super.proxy, e);
1372
+ }
1373
+ validate(t) {
1374
+ return !0;
1375
+ }
1376
+ getMembers() {
1377
+ const t = this.element.getDescendantInstances(this.disclosureInstanceClassName, this.constructor.instanceClassName, !0);
1378
+ this._members = t.filter(this.validate.bind(this)).filter((e) => e.isEnabled), t.filter((e) => !this._members.includes(e)).forEach((e) => e.conceal());
1379
+ }
1380
+ retrieve(t = !1) {
1381
+ this._isRetrieving || this._hasRetrieved && !t || (this._isRetrieving = !0, this.request(this._retrieve.bind(this)));
1382
+ }
1383
+ _retrieve() {
1384
+ if (this.getMembers(), this._isRetrieving = !1, this._hasRetrieved = !0, this.hash)
1385
+ for (let t = 0; t < this.length; t++) {
1386
+ const e = this.members[t];
1387
+ if (this.hash === e.id)
1388
+ return this.index = t, this.request(() => {
1389
+ this.ascend(p.SPOTLIGHT);
1390
+ }), t;
1391
+ }
1392
+ for (let t = 0; t < this.length; t++)
1393
+ if (this.members[t].isInitiallyDisclosed)
1394
+ return this.index = t, t;
1395
+ return this.getIndex();
1396
+ }
1397
+ update() {
1398
+ this.getMembers(), this._hasRetrieved && this.getIndex();
1399
+ }
1400
+ get members() {
1401
+ return this._members;
1402
+ }
1403
+ get length() {
1404
+ return this.members ? this.members.length : 0;
1405
+ }
1406
+ getIndex(t = -1) {
1407
+ this._index = void 0;
1408
+ let e = t;
1409
+ for (let n = 0; n < this.length; n++)
1410
+ if (this.members[n].isDisclosed) {
1411
+ e = n;
1412
+ break;
1413
+ }
1414
+ return this.index = e, e;
1415
+ }
1416
+ get index() {
1417
+ return this._index;
1418
+ }
1419
+ set index(t) {
1420
+ if (!(t < -1 || t >= this.length || t === this._index)) {
1421
+ this._index = t;
1422
+ for (let e = 0; e < this.length; e++) {
1423
+ const n = this.members[e];
1424
+ t === e ? n.isDisclosed || n.disclose(!0) : n.isDisclosed && n.conceal(!0);
1425
+ }
1426
+ this.apply();
1427
+ }
1428
+ }
1429
+ get current() {
1430
+ return this._index === -1 || isNaN(this._index) ? null : this._members[this._index] || null;
1431
+ }
1432
+ set current(t) {
1433
+ this.index = this.members.indexOf(t);
1434
+ }
1435
+ get hasFocus() {
1436
+ const t = this.current;
1437
+ return !!t && t.hasFocus;
1438
+ }
1439
+ apply() {
1440
+ }
1441
+ dispose() {
1442
+ super.dispose(), this.descend(p.UNGROUP), this._members = null;
1443
+ }
1444
+ }
1445
+ const gt = { EXPAND: { id: "expanded", ariaState: !0, ariaControls: !0, canConceal: !0, canDisable: !0 }, SELECT: { id: "selected", ariaState: !0, ariaControls: !0, canConceal: !1, canDisable: !0 }, OPENED: { id: "opened", ariaState: !1, ariaControls: !0, canConceal: !0, canDisable: !1 } }, Ge = { PREVENT_CONCEAL: o.attr.selector("prevent-conceal") };
1446
+ class kt extends se {
1447
+ constructor() {
1448
+ super(gt.EXPAND);
1449
+ }
1450
+ static get instanceClassName() {
1451
+ return "CollapseButton";
1452
+ }
1453
+ }
1454
+ const z = { COLLAPSE: o.selector("collapse"), COLLAPSING: o.selector("collapsing") }, Y = { CHANGE: o("equisized") }, Ue = { TOGGLE: o.event("toggle") }, Be = { INJECT_SVG: `[${o.attr("inject-svg")}]` }, Fe = { ARTWORK_USE: `${o.selector("artwork")} use` }, We = { ASSESS_FILE: `${o.attr.selector("assess-file")}`, DETAIL: `${o.attr.selector("assess-file")} [class$="__detail"], ${o.attr.selector("assess-file")} [class*="__detail "]` }, O = { UPDATE: o.emission("assess", "update"), ADDED: o.emission("assess", "added") }, ie = ["32x9", "16x9", "3x2", "4x3", "1x1", "3x4", "2x3"], mt = (i, t) => t.map((e) => o.selector(`${i}--${e}`)).join(","), qe = `${o.selector("responsive-img")}, ${mt("responsive-img", ie)}, ${o.selector("responsive-vid")}, ${mt("responsive-vid", ["16x9", "4x3", "1x1"])}`, ze = { RATIO: `${o.selector("ratio")}, ${mt("ratio", ie)}, ${qe}` }, s = window[V], L = { TOP: o.selector("placement--top"), RIGHT: o.selector("placement--right"), BOTTOM: o.selector("placement--bottom"), LEFT: o.selector("placement--left") }, H = { START: o.selector("placement--start"), CENTER: o.selector("placement--center"), END: o.selector("placement--end") }, l = { TOP: "place_top", RIGHT: "place_right", BOTTOM: "place_bottom", LEFT: "place_left" }, u = { START: "align_start", CENTER: "align_center", END: "align_end" }, at = { AUTO: "placement_auto", MANUAL: "placement_manual" };
1455
+ d.core = { Instance: b, Breakpoints: ee, KeyCodes: Vt, Disclosure: Ot, DisclosureButton: se, DisclosuresGroup: Pt, DisclosureType: gt, DisclosureEvent: ut, DisclosureSelector: Ge, DisclosureEmission: p, Collapse: class extends Ot {
1456
+ constructor() {
1457
+ super(gt.EXPAND, z.COLLAPSE, kt, "CollapsesGroup");
1458
+ }
1459
+ static get instanceClassName() {
1460
+ return "Collapse";
1461
+ }
1462
+ init() {
1463
+ super.init(), this.listen("transitionend", this.transitionend.bind(this));
1464
+ }
1465
+ transitionend(i) {
1466
+ this.removeClass(z.COLLAPSING), this.isDisclosed || (this.isLegacy ? this.style.maxHeight = "" : this.style.removeProperty("--collapse-max-height"));
1467
+ }
1468
+ unbound() {
1469
+ this.isLegacy ? this.style.maxHeight = "none" : this.style.setProperty("--collapse-max-height", "none");
1470
+ }
1471
+ disclose(i) {
1472
+ if (this.isDisclosed === !0 || !this.isEnabled)
1473
+ return !1;
1474
+ this.unbound(), this.request(() => {
1475
+ this.addClass(z.COLLAPSING), this.adjust(), this.request(() => {
1476
+ super.disclose(i);
1477
+ });
1478
+ });
1479
+ }
1480
+ conceal(i, t) {
1481
+ if (this.isDisclosed === !1)
1482
+ return !1;
1483
+ this.request(() => {
1484
+ this.addClass(z.COLLAPSING), this.adjust(), this.request(() => {
1485
+ super.conceal(i, t);
1486
+ });
1487
+ });
1488
+ }
1489
+ adjust() {
1490
+ this.setProperty("--collapser", "none");
1491
+ const i = this.node.offsetHeight;
1492
+ this.setProperty("--collapse", -i + "px"), this.setProperty("--collapser", "");
1493
+ }
1494
+ reset() {
1495
+ this.isPristine || (this.isDisclosed = !1);
1496
+ }
1497
+ _electPrimaries(i) {
1498
+ const t = this.element.parent.instances.map((a) => a.collapsePrimary).filter((a) => a !== void 0 && i.indexOf(a) > -1);
1499
+ if (t.length === 1)
1500
+ return t;
1501
+ if ((i = super._electPrimaries(i)).length === 1)
1502
+ return i;
1503
+ const e = i.filter((a) => a.dy >= 0);
1504
+ if (e.length > 0 && (i = e), i.length === 1)
1505
+ return i;
1506
+ const n = Math.min(...i.map((a) => a.dy)), r = i.filter((a) => a.dy === n);
1507
+ return r.length > 0 && (i = r), i.length === 1 || i.sort((a, c) => Math.abs(c.dx) - Math.abs(a.dx)), i;
1508
+ }
1509
+ }, CollapseButton: kt, CollapsesGroup: class extends Pt {
1510
+ constructor() {
1511
+ super("Collapse");
1512
+ }
1513
+ static get instanceClassName() {
1514
+ return "CollapsesGroup";
1515
+ }
1516
+ }, CollapseSelector: z, RootSelector: { ROOT: ":root" }, RootEmission: Q, Equisized: class extends b {
1517
+ static get instanceClassName() {
1518
+ return "Equisized";
1519
+ }
1520
+ init() {
1521
+ this.ascend(Y.CHANGE);
1522
+ }
1523
+ measure() {
1524
+ return this.isLegacy && (this.style.width = "auto"), this.getRect().width;
1525
+ }
1526
+ adjust(i) {
1527
+ this.isLegacy && (this.style.width = `${i}px`);
1528
+ }
1529
+ dispose() {
1530
+ this.ascend(Y.CHANGE);
1531
+ }
1532
+ }, EquisizedEmission: Y, Toggle: class extends b {
1533
+ static get instanceClassName() {
1534
+ return "Toggle";
1535
+ }
1536
+ init() {
1537
+ this.pressed = this.pressed === "true", this.listenClick();
1538
+ }
1539
+ handleClick() {
1540
+ this.toggle();
1541
+ }
1542
+ toggle() {
1543
+ this.pressed = this.pressed !== "true";
1544
+ }
1545
+ get pressed() {
1546
+ return this.getAttribute("aria-pressed");
1547
+ }
1548
+ set pressed(i) {
1549
+ this.setAttribute("aria-pressed", i ? "true" : "false"), this.dispatch(Ue.TOGGLE, i);
1550
+ }
1551
+ get proxy() {
1552
+ const i = this, t = Object.assign(super.proxy, { toggle: i.toggle.bind(i) });
1553
+ return F(t, { get pressed() {
1554
+ return i.pressed;
1555
+ }, set pressed(e) {
1556
+ i.pressed = e;
1557
+ } });
1558
+ }
1559
+ }, EquisizedsGroup: class extends b {
1560
+ static get instanceClassName() {
1561
+ return "EquisizedsGroup";
1562
+ }
1563
+ init() {
1564
+ this.isResizing = !0, this.isLoading = !0, this.addAscent(Y.CHANGE, this.resize.bind(this));
1565
+ }
1566
+ load() {
1567
+ this.resize();
1568
+ }
1569
+ resize() {
1570
+ const i = this.element.getDescendantInstances("Equisized");
1571
+ this.isLegacy || this.style.setProperty("--equisized-width", "auto");
1572
+ const t = Math.max(...i.map((e) => e.measure()));
1573
+ this.isLegacy ? i.forEach((e) => e.adjust(t)) : this.style.setProperty("--equisized-width", `${t}px`);
1574
+ }
1575
+ }, InjectSvg: class extends b {
1576
+ static get instanceClassName() {
1577
+ return "InjectSvg";
1578
+ }
1579
+ init() {
1580
+ this.node && (this.img = this.node.querySelector("img")), this.isLegacy || this.replace();
1581
+ }
1582
+ get proxy() {
1583
+ const i = this;
1584
+ return Object.assign(super.proxy, { replace: i.replace.bind(i), restore: i.restore.bind(i) });
1585
+ }
1586
+ fetch() {
1587
+ this.img && (this.imgID = this.img.getAttribute("id"), this.imgClass = this.img.getAttribute("class"), this.imgURL = this.img.getAttribute("src"), fetch(this.imgURL).then((i) => i.text()).then((i) => {
1588
+ const t = new DOMParser().parseFromString(i, "text/html");
1589
+ this.svg = t.querySelector("svg"), this.svg && this.replace();
1590
+ }));
1591
+ }
1592
+ replace() {
1593
+ if (!this.svg)
1594
+ return void this.fetch();
1595
+ this.imgID && this.imgID !== void 0 && this.svg.setAttribute("id", this.imgID);
1596
+ let i = this.imgURL.match(/[ \w-]+\./)[0];
1597
+ i && (i = i.slice(0, -1), ["dark", "light", "system"].includes(i) && (this.svg.innerHTML = this.svg.innerHTML.replaceAll('id="artwork-', `id="${i}-artwork-`), this.svg.innerHTML = this.svg.innerHTML.replaceAll('"#artwork-', `"#${i}-artwork-`))), this.imgClass && this.imgClass !== void 0 && this.svg.setAttribute("class", this.imgClass), this.svg.hasAttribute("xmlns:a") && this.svg.removeAttribute("xmlns:a"), this.node.setAttribute("data-fr-inject-svg", !0);
1598
+ var t, e;
1599
+ t = this.svg, e = { "aria-hidden": !0, focusable: !1 }, Object.keys(e).forEach((n) => t.setAttribute(n, e[n])), this.node.replaceChild(this.svg, this.img);
1600
+ }
1601
+ restore() {
1602
+ this.img && this.svg && (this.node.setAttribute("data-fr-inject-svg", !1), this.node.replaceChild(this.img, this.svg));
1603
+ }
1604
+ }, InjectSvgSelector: Be, Artwork: class extends b {
1605
+ static get instanceClassName() {
1606
+ return "Artwork";
1607
+ }
1608
+ init() {
1609
+ this.isLegacy && this.replace();
1610
+ }
1611
+ get proxy() {
1612
+ return Object.assign(super.proxy, { replace: this.replace.bind(this) });
1613
+ }
1614
+ fetch() {
1615
+ this.xlink = this.node.getAttribute("href");
1616
+ const i = this.xlink.split("#");
1617
+ this.svgUrl = i[0], this.svgName = i[1];
1618
+ const t = new XMLHttpRequest();
1619
+ t.onload = () => {
1620
+ const e = new DOMParser().parseFromString(t.responseText, "text/html");
1621
+ this.realSvgContent = e.getElementById(this.svgName), this.realSvgContent && (this.realSvgContent.classList.add(this.node.classList), this.replace());
1622
+ }, t.open("GET", this.svgUrl), t.send();
1623
+ }
1624
+ replace() {
1625
+ this.realSvgContent ? this.node.parentNode.replaceChild(this.realSvgContent, this.node) : this.fetch();
1626
+ }
1627
+ }, ArtworkSelector: Fe, AssessFile: class extends b {
1628
+ static get instanceClassName() {
1629
+ return "AssessFile";
1630
+ }
1631
+ init() {
1632
+ this.lang = this.getLang(this.node), this.href = this.getAttribute("href"), this.hreflang = this.getAttribute("hreflang"), this.file = {}, this.gather(), this.addAscent(O.ADDED, this.update.bind(this)), this.addDescent(O.ADDED, this.update.bind(this));
1633
+ }
1634
+ getFileLength() {
1635
+ this.href !== void 0 ? fetch(this.href, { method: "HEAD", mode: "cors" }).then((i) => {
1636
+ this.length = i.headers.get("content-length") || -1, this.length === -1 && g.warn("File size unknown: " + this.href + `
1637
+ Unable to get HTTP header: "content-length"`), this.gather();
1638
+ }) : this.length = -1;
1639
+ }
1640
+ mutate(i) {
1641
+ i.indexOf("href") !== -1 && (this.href = this.getAttribute("href"), this.getFileLength()), i.indexOf("hreflang") !== -1 && (this.hreflang = this.getAttribute("hreflang"), this.gather());
1642
+ }
1643
+ gather() {
1644
+ if (this.isLegacy && (this.length = -1), this.length) {
1645
+ if (this.details = [], this.href) {
1646
+ const i = this.parseExtension(this.href);
1647
+ i && this.details.push(i.toUpperCase());
1648
+ }
1649
+ this.length !== -1 && this.details.push(this.bytesToSize(this.length)), this.hreflang && this.details.push(this.getLangDisplayName(this.hreflang)), this.update();
1650
+ } else
1651
+ this.getFileLength();
1652
+ }
1653
+ update() {
1654
+ this.details && (this.descend(O.UPDATE, this.details), this.ascend(O.UPDATE, this.details));
1655
+ }
1656
+ getLang(i) {
1657
+ return i.lang ? i.lang : document.documentElement === i ? window.navigator.language : this.getLang(i.parentElement);
1658
+ }
1659
+ parseExtension(i) {
1660
+ return i.match(/\.(\w{1,9})(?:$|[?#])/)[0].replace(".", "");
1661
+ }
1662
+ getLangDisplayName(i) {
1663
+ if (this.isLegacy)
1664
+ return i;
1665
+ const t = new Intl.DisplayNames([this.lang], { type: "language" }).of(i);
1666
+ return t.charAt(0).toUpperCase() + t.slice(1);
1667
+ }
1668
+ bytesToSize(i) {
1669
+ if (i === -1)
1670
+ return null;
1671
+ let t = ["octets", "ko", "Mo", "Go", "To"];
1672
+ this.getAttribute(o.attr("assess-file")) === "bytes" && (t = ["bytes", "KB", "MB", "GB", "TB"]);
1673
+ const e = parseInt(Math.floor(Math.log(i) / Math.log(1e3)), 10);
1674
+ if (e === 0)
1675
+ return `${i} ${t[e]}`;
1676
+ const n = i / 1e3 ** e, r = Math.round(100 * (n + Number.EPSILON)) / 100;
1677
+ return `${String(r).replace(".", ",")} ${t[e]}`;
1678
+ }
1679
+ }, AssessDetail: class extends b {
1680
+ static get instanceClassName() {
1681
+ return "AssessDetail";
1682
+ }
1683
+ init() {
1684
+ this.addDescent(O.UPDATE, this.update.bind(this)), this.ascend(O.ADDED);
1685
+ }
1686
+ update(i) {
1687
+ this.node.innerHTML = i.join(" - ");
1688
+ }
1689
+ }, AssessEmission: O, AssessSelector: We, Ratio: class extends b {
1690
+ static get instanceClassName() {
1691
+ return "Ratio";
1692
+ }
1693
+ init() {
1694
+ if (!s.internals.support.supportAspectRatio()) {
1695
+ this.ratio = 16 / 9;
1696
+ for (const i in this.classNames)
1697
+ if (this.registration.selector.indexOf(this.classNames[i]) > 0) {
1698
+ const t = this.classNames[i].split("ratio-");
1699
+ t[1] && (this.ratio = t[1].split("x")[0] / t[1].split("x")[1]);
1700
+ }
1701
+ this.isRendering = !0, this.update();
1702
+ }
1703
+ }
1704
+ render() {
1705
+ this.getRect().width !== this.currentWidth && this.update();
1706
+ }
1707
+ update() {
1708
+ this.currentWidth = this.getRect().width, this.style.height = this.currentWidth / this.ratio + "px";
1709
+ }
1710
+ }, RatioSelector: ze, Placement: class extends b {
1711
+ constructor(i = at.AUTO, t = [l.BOTTOM, l.TOP, l.LEFT, l.RIGHT], e = [u.CENTER, u.START, u.END], n = 16) {
1712
+ super(), this._mode = i, this._places = t, this._aligns = e, this._safeAreaMargin = n, this._isShown = !1;
1713
+ }
1714
+ static get instanceClassName() {
1715
+ return "Placement";
1716
+ }
1717
+ init() {
1718
+ this.isResizing = !0;
1719
+ }
1720
+ get proxy() {
1721
+ const i = this, t = Object.assign(super.proxy, { show: i.show.bind(i), hide: i.hide.bind(i) });
1722
+ return F(t, { get mode() {
1723
+ return i.mode;
1724
+ }, set mode(e) {
1725
+ i.mode = e;
1726
+ }, get place() {
1727
+ return i.place;
1728
+ }, set place(e) {
1729
+ i.place = e;
1730
+ }, get align() {
1731
+ return i.align;
1732
+ }, set align(e) {
1733
+ i.align = e;
1734
+ }, get isShown() {
1735
+ return i.isShown;
1736
+ }, set isShown(e) {
1737
+ i.isShown = e;
1738
+ } });
1739
+ }
1740
+ get mode() {
1741
+ return this._mode;
1742
+ }
1743
+ set mode(i) {
1744
+ this._mode = i;
1745
+ }
1746
+ get place() {
1747
+ return this._place;
1748
+ }
1749
+ set place(i) {
1750
+ if (this._place !== i) {
1751
+ switch (this._place) {
1752
+ case l.TOP:
1753
+ this.removeClass(L.TOP);
1754
+ break;
1755
+ case l.RIGHT:
1756
+ this.removeClass(L.RIGHT);
1757
+ break;
1758
+ case l.BOTTOM:
1759
+ this.removeClass(L.BOTTOM);
1760
+ break;
1761
+ case l.LEFT:
1762
+ this.removeClass(L.LEFT);
1763
+ }
1764
+ switch (this._place = i, this._place) {
1765
+ case l.TOP:
1766
+ this.addClass(L.TOP);
1767
+ break;
1768
+ case l.RIGHT:
1769
+ this.addClass(L.RIGHT);
1770
+ break;
1771
+ case l.BOTTOM:
1772
+ this.addClass(L.BOTTOM);
1773
+ break;
1774
+ case l.LEFT:
1775
+ this.addClass(L.LEFT);
1776
+ }
1777
+ }
1778
+ }
1779
+ get align() {
1780
+ return this._align;
1781
+ }
1782
+ set align(i) {
1783
+ if (this._align !== i) {
1784
+ switch (this._align) {
1785
+ case u.START:
1786
+ this.removeClass(H.START);
1787
+ break;
1788
+ case u.CENTER:
1789
+ this.removeClass(H.CENTER);
1790
+ break;
1791
+ case u.END:
1792
+ this.removeClass(H.END);
1793
+ }
1794
+ switch (this._align = i, this._align) {
1795
+ case u.START:
1796
+ this.addClass(H.START);
1797
+ break;
1798
+ case u.CENTER:
1799
+ this.addClass(H.CENTER);
1800
+ break;
1801
+ case u.END:
1802
+ this.addClass(H.END);
1803
+ }
1804
+ }
1805
+ }
1806
+ show() {
1807
+ this.isShown = !0;
1808
+ }
1809
+ hide() {
1810
+ this.isShown = !1;
1811
+ }
1812
+ get isShown() {
1813
+ return this._isShown;
1814
+ }
1815
+ set isShown(i) {
1816
+ this._isShown !== i && this.isEnabled && (this.isRendering = i, this._isShown = i);
1817
+ }
1818
+ setReferent(i) {
1819
+ this._referent = i;
1820
+ }
1821
+ resize() {
1822
+ this.safeArea = { top: this._safeAreaMargin, right: window.innerWidth - this._safeAreaMargin, bottom: window.innerHeight - this._safeAreaMargin, left: this._safeAreaMargin, center: 0.5 * window.innerWidth, middle: 0.5 * window.innerHeight };
1823
+ }
1824
+ render() {
1825
+ if (!this._referent)
1826
+ return;
1827
+ if (this.rect = this.getRect(), this.referentRect = this._referent.getRect(), this.mode === at.AUTO)
1828
+ switch (this.place = this.getPlace(), this.place) {
1829
+ case l.TOP:
1830
+ case l.BOTTOM:
1831
+ this.align = this.getHorizontalAlign();
1832
+ break;
1833
+ case l.LEFT:
1834
+ case l.RIGHT:
1835
+ this.align = this.getVerticalAlign();
1836
+ }
1837
+ let i, t;
1838
+ switch (this.place) {
1839
+ case l.TOP:
1840
+ t = this.referentRect.top - this.rect.height;
1841
+ break;
1842
+ case l.RIGHT:
1843
+ i = this.referentRect.right;
1844
+ break;
1845
+ case l.BOTTOM:
1846
+ t = this.referentRect.bottom;
1847
+ break;
1848
+ case l.LEFT:
1849
+ i = this.referentRect.left - this.rect.width;
1850
+ }
1851
+ switch (this.place) {
1852
+ case l.TOP:
1853
+ case l.BOTTOM:
1854
+ switch (this.align) {
1855
+ case u.CENTER:
1856
+ i = this.referentRect.center - 0.5 * this.rect.width;
1857
+ break;
1858
+ case u.START:
1859
+ i = this.referentRect.left;
1860
+ break;
1861
+ case u.END:
1862
+ i = this.referentRect.right - this.rect.width;
1863
+ }
1864
+ break;
1865
+ case l.RIGHT:
1866
+ case l.LEFT:
1867
+ switch (this.align) {
1868
+ case u.CENTER:
1869
+ t = this.referentRect.middle - 0.5 * this.rect.height;
1870
+ break;
1871
+ case u.START:
1872
+ t = this.referentRect.top;
1873
+ break;
1874
+ case u.END:
1875
+ t = this.referentRect.bottom - this.rect.height;
1876
+ }
1877
+ }
1878
+ this._x === i && this._y === t || (this._x = i + 0.5 | 0, this._y = t + 0.5 | 0, this.node.style.transform = `translate(${this._x}px,${this._y}px)`);
1879
+ }
1880
+ getPlace() {
1881
+ for (const i of this._places)
1882
+ switch (i) {
1883
+ case l.TOP:
1884
+ if (this.referentRect.top - this.rect.height > this.safeArea.top)
1885
+ return l.TOP;
1886
+ break;
1887
+ case l.RIGHT:
1888
+ if (this.referentRect.right + this.rect.width < this.safeArea.right)
1889
+ return l.RIGHT;
1890
+ break;
1891
+ case l.BOTTOM:
1892
+ if (this.referentRect.bottom + this.rect.height < this.safeArea.bottom)
1893
+ return l.BOTTOM;
1894
+ break;
1895
+ case l.LEFT:
1896
+ if (this.referentRect.left - this.rect.width > this.safeArea.left)
1897
+ return l.LEFT;
1898
+ }
1899
+ return this._places[0];
1900
+ }
1901
+ getHorizontalAlign() {
1902
+ for (const i of this._aligns)
1903
+ switch (i) {
1904
+ case u.CENTER:
1905
+ if (this.referentRect.center - 0.5 * this.rect.width > this.safeArea.left && this.referentRect.center + 0.5 * this.rect.width < this.safeArea.right)
1906
+ return u.CENTER;
1907
+ break;
1908
+ case u.START:
1909
+ if (this.referentRect.left + this.rect.width < this.safeArea.right)
1910
+ return u.START;
1911
+ break;
1912
+ case u.END:
1913
+ if (this.referentRect.right - this.rect.width > this.safeArea.left)
1914
+ return u.END;
1915
+ }
1916
+ return this._aligns[0];
1917
+ }
1918
+ getVerticalAlign() {
1919
+ for (const i of this._aligns)
1920
+ switch (i) {
1921
+ case u.CENTER:
1922
+ if (this.referentRect.middle - 0.5 * this.rect.height > this.safeArea.top && this.referentRect.middle + 0.5 * this.rect.height < this.safeArea.bottom)
1923
+ return u.CENTER;
1924
+ break;
1925
+ case u.START:
1926
+ if (this.referentRect.top + this.rect.height < this.safeArea.bottom)
1927
+ return u.START;
1928
+ break;
1929
+ case u.END:
1930
+ if (this.referentRect.bottom - this.rect.height > this.safeArea.top)
1931
+ return u.END;
1932
+ }
1933
+ return this._aligns[0];
1934
+ }
1935
+ dispose() {
1936
+ this._referent = null, super.dispose();
1937
+ }
1938
+ }, PlacementReferent: class extends b {
1939
+ constructor() {
1940
+ super(), this._isShown = !1;
1941
+ }
1942
+ static get instanceClassName() {
1943
+ return "PlacementReferent";
1944
+ }
1945
+ init() {
1946
+ this.registration.creator.setReferent(this), this._placement = this.registration.creator;
1947
+ }
1948
+ get placement() {
1949
+ return this._placement;
1950
+ }
1951
+ get isShown() {
1952
+ return this._isShown;
1953
+ }
1954
+ set isShown(i) {
1955
+ this._isShown !== i && this.isEnabled && (this._isShown = i, i ? this.registration.creator.show() : this.registration.creator.hide());
1956
+ }
1957
+ show() {
1958
+ this.isShown = !0;
1959
+ }
1960
+ hide() {
1961
+ this.isShown = !1;
1962
+ }
1963
+ }, PlacementAlign: u, PlacementPosition: l, PlacementMode: at }, d.internals.register(d.core.CollapseSelector.COLLAPSE, d.core.Collapse), d.internals.register(d.core.InjectSvgSelector.INJECT_SVG, d.core.InjectSvg), d.internals.register(d.core.RatioSelector.RATIO, d.core.Ratio), d.internals.register(d.core.AssessSelector.ASSESS_FILE, d.core.AssessFile), d.internals.register(d.core.AssessSelector.DETAIL, d.core.AssessDetail);
1964
+ const A = { SYSTEM: "system", LIGHT: "light", DARK: "dark" }, S = { THEME: s.internals.ns.attr("theme"), SCHEME: s.internals.ns.attr("scheme"), TRANSITION: s.internals.ns.attr("transition") }, R = { LIGHT: "light", DARK: "dark" }, G = { SCHEME: s.internals.ns.emission("scheme", "scheme"), THEME: s.internals.ns.emission("scheme", "theme"), ASK: s.internals.ns.emission("scheme", "ask") }, pt = { SCHEME: s.internals.ns.event("scheme"), THEME: s.internals.ns.event("theme") };
1965
+ class je extends s.core.Instance {
1966
+ constructor() {
1967
+ super(!1);
1968
+ }
1969
+ static get instanceClassName() {
1970
+ return "Scheme";
1971
+ }
1972
+ init() {
1973
+ this.changing = this.change.bind(this), this.hasAttribute(S.TRANSITION) && (this.removeAttribute(S.TRANSITION), this.request(this.restoreTransition.bind(this)));
1974
+ const t = s.internals.support.supportLocalStorage() ? localStorage.getItem("scheme") : "", e = this.getAttribute(S.SCHEME);
1975
+ switch (t) {
1976
+ case A.DARK:
1977
+ case A.LIGHT:
1978
+ case A.SYSTEM:
1979
+ this.scheme = t;
1980
+ break;
1981
+ default:
1982
+ switch (e) {
1983
+ case A.DARK:
1984
+ this.scheme = A.DARK;
1985
+ break;
1986
+ case A.LIGHT:
1987
+ this.scheme = A.LIGHT;
1988
+ break;
1989
+ default:
1990
+ this.scheme = A.SYSTEM;
1991
+ }
1992
+ }
1993
+ this.addAscent(G.ASK, this.ask.bind(this)), this.addAscent(G.SCHEME, this.apply.bind(this));
1994
+ }
1995
+ get proxy() {
1996
+ const t = this, e = { get scheme() {
1997
+ return t.scheme;
1998
+ }, set scheme(n) {
1999
+ t.scheme = n;
2000
+ } };
2001
+ return s.internals.property.completeAssign(super.proxy, e);
2002
+ }
2003
+ restoreTransition() {
2004
+ this.setAttribute(S.TRANSITION, "");
2005
+ }
2006
+ ask() {
2007
+ this.descend(G.SCHEME, this.scheme);
2008
+ }
2009
+ apply(t) {
2010
+ this.scheme = t;
2011
+ }
2012
+ get scheme() {
2013
+ return this._scheme;
2014
+ }
2015
+ set scheme(t) {
2016
+ if (this._scheme !== t) {
2017
+ switch (this._scheme = t, t) {
2018
+ case A.SYSTEM:
2019
+ this.listenPreferences();
2020
+ break;
2021
+ case A.DARK:
2022
+ this.unlistenPreferences(), this.theme = R.DARK;
2023
+ break;
2024
+ case A.LIGHT:
2025
+ this.unlistenPreferences(), this.theme = R.LIGHT;
2026
+ break;
2027
+ default:
2028
+ return void (this.scheme = A.SYSTEM);
2029
+ }
2030
+ this.descend(G.SCHEME, t), s.internals.support.supportLocalStorage() && localStorage.setItem("scheme", t), this.setAttribute(S.SCHEME, t), this.dispatch(pt.SCHEME, { scheme: this._scheme });
2031
+ }
2032
+ }
2033
+ get theme() {
2034
+ return this._theme;
2035
+ }
2036
+ set theme(t) {
2037
+ if (this._theme !== t)
2038
+ switch (t) {
2039
+ case R.LIGHT:
2040
+ case R.DARK:
2041
+ this._theme = t, this.setAttribute(S.THEME, t), this.descend(G.THEME, t), this.dispatch(pt.THEME, { theme: this._theme }), document.documentElement.style.colorScheme = t === R.DARK ? "dark" : "";
2042
+ }
2043
+ }
2044
+ listenPreferences() {
2045
+ this.isListening || (this.isListening = !0, this.mediaQuery = window.matchMedia("(prefers-color-scheme: dark)"), this.mediaQuery.addEventListener && this.mediaQuery.addEventListener("change", this.changing), this.change());
2046
+ }
2047
+ unlistenPreferences() {
2048
+ this.isListening && (this.isListening = !1, this.mediaQuery.removeEventListener("change", this.changing), this.mediaQuery = null);
2049
+ }
2050
+ change() {
2051
+ this.isListening && (this.theme = this.mediaQuery.matches ? R.DARK : R.LIGHT);
2052
+ }
2053
+ mutate(t) {
2054
+ t.indexOf(S.SCHEME) > -1 && (this.scheme = this.getAttribute(S.SCHEME)), t.indexOf(S.THEME) > -1 && (this.theme = this.getAttribute(S.THEME));
2055
+ }
2056
+ dispose() {
2057
+ this.unlistenPreferences();
2058
+ }
2059
+ }
2060
+ const Ve = { SCHEME: `:root${s.internals.ns.attr.selector("theme")}, :root${s.internals.ns.attr.selector("scheme")}`, SWITCH_THEME: s.internals.ns.selector("switch-theme"), RADIO_BUTTONS: `input[name="${s.internals.ns("radios-theme")}"]` };
2061
+ s.scheme = { Scheme: je, SchemeValue: A, SchemeSelector: Ve, SchemeEmission: G, SchemeTheme: R, SchemeEvent: pt }, s.internals.register(s.scheme.SchemeSelector.SCHEME, s.scheme.Scheme);
2062
+ const y = s.internals.ns.selector("accordion"), P = s.internals.ns.selector("collapse"), tt = { GROUP: s.internals.ns.selector("accordions-group"), ACCORDION: y, COLLAPSE: `${y} > ${P}, ${y} > *:not(${y}):not(${P}) > ${P}, ${y} > *:not(${y}):not(${P}) > *:not(${y}):not(${P}) > ${P}`, COLLAPSE_LEGACY: `${y} ${P}`, BUTTON: `${y}__btn` };
2063
+ class Ke extends s.core.Instance {
2064
+ static get instanceClassName() {
2065
+ return "Accordion";
2066
+ }
2067
+ get collapsePrimary() {
2068
+ return this.element.children.map((t) => t.getInstance("CollapseButton")).filter((t) => t !== null && t.hasClass(tt.BUTTON))[0];
2069
+ }
2070
+ }
2071
+ class Ye extends s.core.CollapsesGroup {
2072
+ static get instanceClassName() {
2073
+ return "AccordionsGroup";
2074
+ }
2075
+ validate(t) {
2076
+ const e = t.node.matches(s.internals.legacy.isLegacy ? tt.COLLAPSE_LEGACY : tt.COLLAPSE);
2077
+ return super.validate(t) && e;
2078
+ }
2079
+ }
2080
+ s.accordion = { Accordion: Ke, AccordionSelector: tt, AccordionsGroup: Ye }, s.internals.register(s.accordion.AccordionSelector.GROUP, s.accordion.AccordionsGroup), s.internals.register(s.accordion.AccordionSelector.ACCORDION, s.accordion.Accordion);
2081
+ const Xe = { EQUISIZED_BUTTON: `${s.internals.ns.selector("btns-group--equisized")} ${s.internals.ns.selector("btn")}`, EQUISIZED_GROUP: s.internals.ns.selector("btns-group--equisized") };
2082
+ s.button = { ButtonSelector: Xe }, s.internals.register(s.button.ButtonSelector.EQUISIZED_BUTTON, s.core.Equisized), s.internals.register(s.button.ButtonSelector.EQUISIZED_GROUP, s.core.EquisizedsGroup);
2083
+ class Qe extends s.core.Instance {
2084
+ static get instanceClassName() {
2085
+ return "CardDownload";
2086
+ }
2087
+ init() {
2088
+ this.addAscent(s.core.AssessEmission.UPDATE, (t) => {
2089
+ this.descend(s.core.AssessEmission.UPDATE, t);
2090
+ }), this.addAscent(s.core.AssessEmission.ADDED, () => {
2091
+ this.descend(s.core.AssessEmission.ADDED);
2092
+ });
2093
+ }
2094
+ }
2095
+ const Je = { DOWNLOAD: s.internals.ns.selector("card--download"), DOWNLOAD_DETAIL: `${s.internals.ns.selector("card--download")} ${s.internals.ns.selector("card__end")} ${s.internals.ns.selector("card__detail")}` };
2096
+ s.card = { CardSelector: Je, CardDownload: Qe }, s.internals.register(s.card.CardSelector.DOWNLOAD, s.card.CardDownload), s.internals.register(s.card.CardSelector.DOWNLOAD_DETAIL, s.core.AssessDetail);
2097
+ const _t = { SEGMENTED: s.internals.ns.selector("segmented"), SEGMENTED_ELEMENTS: s.internals.ns.selector("segmented__elements"), SEGMENTED_ELEMENT: s.internals.ns.selector("segmented__element input"), SEGMENTED_LEGEND: s.internals.ns.selector("segmented__legend") }, j = { ADDED: s.internals.ns.emission("segmented", "added"), REMOVED: s.internals.ns.emission("segmented", "removed") };
2098
+ class Ze extends s.core.Instance {
2099
+ static get instanceClassName() {
2100
+ return "Segmented";
2101
+ }
2102
+ init() {
2103
+ this.elements = this.node.querySelector(_t.SEGMENTED_ELEMENTS), this.legend = this.node.querySelector(_t.SEGMENTED_LEGEND), this.addAscent(j.ADDED, this.resize.bind(this)), this.addAscent(j.REMOVED, this.resize.bind(this)), this._isLegendInline = this.legend && this.legend.classList.contains(`${s.prefix}-segmented__legend--inline`), this.isResizing = !0;
2104
+ }
2105
+ resize() {
2106
+ const t = `${s.prefix}-segmented--vertical`, e = `${s.prefix}-segmented__legend--inline`;
2107
+ this.removeClass(t), this._isLegendInline && (this.legend.classList.add(e), (this.node.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth + this.legend.offsetWidth + 16 > this.node.parentNode.offsetWidth) && this.legend.classList.remove(e)), this.elements.offsetWidth > this.node.parentNode.offsetWidth || this.elements.scrollWidth > this.node.parentNode.offsetWidth ? this.addClass(t) : this.removeClass(t);
2108
+ }
2109
+ }
2110
+ class ts extends s.core.Instance {
2111
+ static get instanceClassName() {
2112
+ return "SegmentedElement";
2113
+ }
2114
+ init() {
2115
+ this.ascend(j.ADDED);
2116
+ }
2117
+ dispose() {
2118
+ this.ascend(j.REMOVED);
2119
+ }
2120
+ }
2121
+ s.segmented = { SegmentedSelector: _t, SegmentedEmission: j, SegmentedElement: ts, Segmented: Ze }, s.internals.register(s.segmented.SegmentedSelector.SEGMENTED, s.segmented.Segmented), s.internals.register(s.segmented.SegmentedSelector.SEGMENTED_ELEMENT, s.segmented.SegmentedElement);
2122
+ const ne = { BREADCRUMB: s.internals.ns.selector("breadcrumb"), BUTTON: s.internals.ns.selector("breadcrumb__button") };
2123
+ class es extends s.core.Instance {
2124
+ constructor() {
2125
+ super(), this.count = 0, this.focusing = this.focus.bind(this);
2126
+ }
2127
+ static get instanceClassName() {
2128
+ return "Breadcrumb";
2129
+ }
2130
+ init() {
2131
+ this.getCollapse(), this.isResizing = !0;
2132
+ }
2133
+ get proxy() {
2134
+ const t = this;
2135
+ return Object.assign(super.proxy, { focus: t.focus.bind(t), disclose: t.collapse.disclose.bind(t.collapse) });
2136
+ }
2137
+ getCollapse() {
2138
+ const t = this.collapse;
2139
+ t ? t.listen(s.core.DisclosureEvent.DISCLOSE, this.focusing) : this.addAscent(s.core.DisclosureEmission.ADDED, this.getCollapse.bind(this));
2140
+ }
2141
+ resize() {
2142
+ const t = this.collapse, e = this.links;
2143
+ t && e.length && (this.isBreakpoint(s.core.Breakpoints.MD) ? t.buttonHasFocus && e[0].focus() : e.indexOf(document.activeElement) > -1 && t.focus());
2144
+ }
2145
+ get links() {
2146
+ return [...this.querySelectorAll("a[href]")];
2147
+ }
2148
+ get collapse() {
2149
+ return this.element.getDescendantInstances(s.core.Collapse.instanceClassName, null, !0)[0];
2150
+ }
2151
+ focus() {
2152
+ this.count = 0, this._focus();
2153
+ }
2154
+ _focus() {
2155
+ const t = this.links[0];
2156
+ t && (t.focus(), this.request(this.verify.bind(this)));
2157
+ }
2158
+ verify() {
2159
+ if (this.count++, this.count > 100)
2160
+ return;
2161
+ const t = this.links[0];
2162
+ t && document.activeElement !== t && this._focus();
2163
+ }
2164
+ get collapsePrimary() {
2165
+ return this.element.children.map((t) => t.getInstance("CollapseButton")).filter((t) => t !== null && t.hasClass(ne.BUTTON))[0];
2166
+ }
2167
+ }
2168
+ s.breadcrumb = { BreadcrumbSelector: ne, Breadcrumb: es }, s.internals.register(s.breadcrumb.BreadcrumbSelector.BREADCRUMB, s.breadcrumb.Breadcrumb);
2169
+ const et = { TOOLTIP: s.internals.ns.selector("tooltip"), SHOWN: s.internals.ns.selector("tooltip--shown"), BUTTON: s.internals.ns.selector("btn--tooltip") }, Mt = 1, $t = 2;
2170
+ class ss extends s.core.PlacementReferent {
2171
+ constructor() {
2172
+ super(), this._state = 0;
2173
+ }
2174
+ static get instanceClassName() {
2175
+ return "TooltipReferent";
2176
+ }
2177
+ init() {
2178
+ if (super.init(), this.listen("focusin", this.focusIn.bind(this)), this.listen("focusout", this.focusOut.bind(this)), !this.matches(et.BUTTON)) {
2179
+ const t = this.mouseover.bind(this);
2180
+ this.listen("mouseover", t), this.placement.listen("mouseover", t);
2181
+ const e = this.mouseout.bind(this);
2182
+ this.listen("mouseout", e), this.placement.listen("mouseout", e);
2183
+ }
2184
+ this.addEmission(s.core.RootEmission.KEYDOWN, this._keydown.bind(this)), this.listen("click", this._click.bind(this)), this.addEmission(s.core.RootEmission.CLICK, this._clickOut.bind(this));
2185
+ }
2186
+ _click() {
2187
+ this.focus();
2188
+ }
2189
+ _clickOut(t) {
2190
+ this.node.contains(t) || this.blur();
2191
+ }
2192
+ _keydown(t) {
2193
+ t === s.core.KeyCodes.ESCAPE && (this.blur(), this.close());
2194
+ }
2195
+ close() {
2196
+ this.state = 0;
2197
+ }
2198
+ get state() {
2199
+ return this._state;
2200
+ }
2201
+ set state(t) {
2202
+ this._state !== t && (this.isShown = t > 0, this._state = t);
2203
+ }
2204
+ focusIn() {
2205
+ this.state |= Mt;
2206
+ }
2207
+ focusOut() {
2208
+ this.state &= ~Mt;
2209
+ }
2210
+ mouseover() {
2211
+ this.state |= $t;
2212
+ }
2213
+ mouseout() {
2214
+ this.state &= ~$t;
2215
+ }
2216
+ }
2217
+ const bt = { SHOW: o.event("show"), HIDE: o.event("hide") }, ot = "hidden", Ht = "shown", Gt = "hiding";
2218
+ class is extends s.core.Placement {
2219
+ constructor() {
2220
+ super(s.core.PlacementMode.AUTO, [s.core.PlacementPosition.TOP, s.core.PlacementPosition.BOTTOM], [s.core.PlacementAlign.CENTER, s.core.PlacementAlign.START, s.core.PlacementAlign.END]), this.modifier = "", this._state = ot;
2221
+ }
2222
+ static get instanceClassName() {
2223
+ return "Tooltip";
2224
+ }
2225
+ init() {
2226
+ super.init(), this.register(`[aria-describedby="${this.id}"]`, ss), this.listen("transitionend", this.transitionEnd.bind(this));
2227
+ }
2228
+ transitionEnd() {
2229
+ this._state === Gt && (this._state = ot, this.isShown = !1);
2230
+ }
2231
+ get isShown() {
2232
+ return super.isShown;
2233
+ }
2234
+ set isShown(t) {
2235
+ if (this.isEnabled)
2236
+ switch (!0) {
2237
+ case t:
2238
+ this._state = Ht, this.addClass(et.SHOWN), this.dispatch(bt.SHOW), super.isShown = !0;
2239
+ break;
2240
+ case (this.isShown && !t && this._state === Ht):
2241
+ this._state = Gt, this.removeClass(et.SHOWN);
2242
+ break;
2243
+ case (this.isShown && !t && this._state === ot):
2244
+ this.dispatch(bt.HIDE), super.isShown = !1;
2245
+ }
2246
+ }
2247
+ render() {
2248
+ super.render();
2249
+ let t = this.referentRect.center - this.rect.center;
2250
+ const e = 0.5 * this.rect.width - 8;
2251
+ t < -e && (t = -e), t > e && (t = e), this.setProperty("--arrow-x", `${t.toFixed(2)}px`);
2252
+ }
2253
+ }
2254
+ s.tooltip = { Tooltip: is, TooltipSelector: et, TooltipEvent: bt }, s.internals.register(s.tooltip.TooltipSelector.TOOLTIP, s.tooltip.Tooltip);
2255
+ class ns extends s.core.Instance {
2256
+ static get instanceClassName() {
2257
+ return "ToggleInput";
2258
+ }
2259
+ get isChecked() {
2260
+ return this.node.checked;
2261
+ }
2262
+ }
2263
+ class rs extends s.core.Instance {
2264
+ static get instanceClassName() {
2265
+ return "ToggleStatusLabel";
2266
+ }
2267
+ init() {
2268
+ this.register(`input[id="${this.getAttribute("for")}"]`, ns), this.update(), this.isSwappingFont = !0;
2269
+ }
2270
+ get proxy() {
2271
+ return Object.assign(super.proxy, { update: this.update.bind(this) });
2272
+ }
2273
+ get input() {
2274
+ return this.getRegisteredInstances("ToggleInput")[0];
2275
+ }
2276
+ update() {
2277
+ this.node.style.removeProperty("--toggle-status-width");
2278
+ const t = this.input.isChecked, e = getComputedStyle(this.node, ":before");
2279
+ let n = parseFloat(e.width);
2280
+ this.input.node.checked = !t;
2281
+ const r = getComputedStyle(this.node, ":before"), a = parseFloat(r.width);
2282
+ a > n && (n = a), this.input.node.checked = t, this.node.style.setProperty("--toggle-status-width", n / 16 + "rem");
2283
+ }
2284
+ swapFont(t) {
2285
+ this.update();
2286
+ }
2287
+ }
2288
+ const as = { STATUS_LABEL: `${s.internals.ns.selector("toggle__label")}${s.internals.ns.attr.selector("checked-label")}${s.internals.ns.attr.selector("unchecked-label")}` };
2289
+ s.toggle = { ToggleStatusLabel: rs, ToggleSelector: as }, s.internals.register(s.toggle.ToggleSelector.STATUS_LABEL, s.toggle.ToggleStatusLabel);
2290
+ const k = s.internals.ns.selector("sidemenu__item"), M = s.internals.ns.selector("collapse"), st = { LIST: s.internals.ns.selector("sidemenu__list"), COLLAPSE: `${k} > ${M}, ${k} > *:not(${k}):not(${M}) > ${M}, ${k} > *:not(${k}):not(${M}) > *:not(${k}):not(${M}) > ${M}`, COLLAPSE_LEGACY: `${k} ${M}`, ITEM: s.internals.ns.selector("sidemenu__item"), BUTTON: s.internals.ns.selector("sidemenu__btn") };
2291
+ class os extends s.core.CollapsesGroup {
2292
+ static get instanceClassName() {
2293
+ return "SidemenuList";
2294
+ }
2295
+ validate(t) {
2296
+ return super.validate(t) && t.node.matches(s.internals.legacy.isLegacy ? st.COLLAPSE_LEGACY : st.COLLAPSE);
2297
+ }
2298
+ }
2299
+ class hs extends s.core.Instance {
2300
+ static get instanceClassName() {
2301
+ return "SidemenuItem";
2302
+ }
2303
+ get collapsePrimary() {
2304
+ return this.element.children.map((t) => t.getInstance("CollapseButton")).filter((t) => t !== null && t.hasClass(st.BUTTON))[0];
2305
+ }
2306
+ }
2307
+ s.sidemenu = { SidemenuList: os, SidemenuItem: hs, SidemenuSelector: st }, s.internals.register(s.sidemenu.SidemenuSelector.LIST, s.sidemenu.SidemenuList), s.internals.register(s.sidemenu.SidemenuSelector.ITEM, s.sidemenu.SidemenuItem);
2308
+ const B = { MODAL: s.internals.ns.selector("modal"), SCROLL_DIVIDER: s.internals.ns.selector("scroll-divider"), BODY: s.internals.ns.selector("modal__body"), TITLE: s.internals.ns.selector("modal__title") };
2309
+ class re extends s.core.DisclosureButton {
2310
+ constructor() {
2311
+ super(s.core.DisclosureType.OPENED);
2312
+ }
2313
+ static get instanceClassName() {
2314
+ return "ModalButton";
2315
+ }
2316
+ }
2317
+ const cs = { CONCEALING_BACKDROP: s.internals.ns.attr("concealing-backdrop") };
2318
+ class ls extends s.core.Disclosure {
2319
+ constructor() {
2320
+ super(s.core.DisclosureType.OPENED, B.MODAL, re, "ModalsGroup"), this._isActive = !1, this.scrolling = this.resize.bind(this, !1), this.resizing = this.resize.bind(this, !0);
2321
+ }
2322
+ static get instanceClassName() {
2323
+ return "Modal";
2324
+ }
2325
+ init() {
2326
+ super.init(), this._isDialog = this.node.tagName === "DIALOG", this.isScrolling = !1, this.listenClick(), this.addEmission(s.core.RootEmission.KEYDOWN, this._keydown.bind(this));
2327
+ }
2328
+ _keydown(t) {
2329
+ t === s.core.KeyCodes.ESCAPE && this._escape();
2330
+ }
2331
+ _escape() {
2332
+ switch (document.activeElement ? document.activeElement.tagName : void 0) {
2333
+ case "INPUT":
2334
+ case "LABEL":
2335
+ case "TEXTAREA":
2336
+ case "SELECT":
2337
+ case "AUDIO":
2338
+ case "VIDEO":
2339
+ break;
2340
+ default:
2341
+ this.isDisclosed && (this.conceal(), this.focus());
2342
+ }
2343
+ }
2344
+ retrieved() {
2345
+ this._ensureAccessibleName();
2346
+ }
2347
+ get body() {
2348
+ return this.element.getDescendantInstances("ModalBody", "Modal")[0];
2349
+ }
2350
+ handleClick(t) {
2351
+ t.target === this.node && this.getAttribute(cs.CONCEALING_BACKDROP) !== "false" && this.conceal();
2352
+ }
2353
+ disclose(t) {
2354
+ return !!super.disclose(t) && (this.body && this.body.activate(), this.isScrollLocked = !0, this.setAttribute("aria-modal", "true"), this.setAttribute("open", "true"), this._isDialog || this.activateModal(), !0);
2355
+ }
2356
+ conceal(t, e) {
2357
+ return !!super.conceal(t, e) && (this.isScrollLocked = !1, this.removeAttribute("aria-modal"), this.removeAttribute("open"), this.body && this.body.deactivate(), this._isDialog || this.deactivateModal(), !0);
2358
+ }
2359
+ get isDialog() {
2360
+ return this._isDialog;
2361
+ }
2362
+ set isDialog(t) {
2363
+ this._isDialog = t;
2364
+ }
2365
+ activateModal() {
2366
+ this._isActive || (this._isActive = !0, this._hasDialogRole = this.getAttribute("role") === "dialog", this._hasDialogRole || this.setAttribute("role", "dialog"));
2367
+ }
2368
+ deactivateModal() {
2369
+ this._isActive && (this._isActive = !1, this._hasDialogRole || this.removeAttribute("role"));
2370
+ }
2371
+ _setAccessibleName(t, e) {
2372
+ const n = this.retrieveNodeId(t, e);
2373
+ this.warn(`add reference to ${e} for accessible name (aria-labelledby)`), this.setAttribute("aria-labelledby", n);
2374
+ }
2375
+ _ensureAccessibleName() {
2376
+ if (this.hasAttribute("aria-labelledby") || this.hasAttribute("aria-label"))
2377
+ return;
2378
+ this.warn("missing accessible name");
2379
+ const t = this.node.querySelector(B.TITLE), e = this.primaryButtons[0];
2380
+ switch (!0) {
2381
+ case t !== null:
2382
+ this._setAccessibleName(t, "title");
2383
+ break;
2384
+ case e !== void 0:
2385
+ this.warn("missing required title, fallback to primary button"), this._setAccessibleName(e, "primary");
2386
+ }
2387
+ }
2388
+ }
2389
+ const ds = ['[tabindex="0"]', "a[href]", "button:not([disabled])", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details", "iframe"].join(), us = ['[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'].join(), Ut = (i, t) => {
2390
+ if (!(i instanceof Element))
2391
+ return !1;
2392
+ const e = window.getComputedStyle(i);
2393
+ if (!e || e.visibility === "hidden")
2394
+ return !1;
2395
+ for (t === void 0 && (t = i); t.contains(i); ) {
2396
+ if (e.display === "none")
2397
+ return !1;
2398
+ i = i.parentElement;
2399
+ }
2400
+ return !0;
2401
+ };
2402
+ class gs {
2403
+ constructor(t, e) {
2404
+ this.element = null, this.activeElement = null, this.onTrap = t, this.onUntrap = e, this.waiting = this.wait.bind(this), this.handling = this.handle.bind(this), this.focusing = this.maintainFocus.bind(this), this.current = null;
2405
+ }
2406
+ get trapped() {
2407
+ return this.element !== null;
2408
+ }
2409
+ trap(t) {
2410
+ this.trapped && this.untrap(), this.element = t, this.isTrapping = !0, this.wait(), this.onTrap && this.onTrap();
2411
+ }
2412
+ wait() {
2413
+ Ut(this.element) ? this.trapping() : window.requestAnimationFrame(this.waiting);
2414
+ }
2415
+ trapping() {
2416
+ if (!this.isTrapping)
2417
+ return;
2418
+ this.isTrapping = !1;
2419
+ const t = this.focusables;
2420
+ t.length && t.indexOf(document.activeElement) === -1 && t[0].focus(), this.element.setAttribute("aria-modal", !0), window.addEventListener("keydown", this.handling), document.body.addEventListener("focus", this.focusing, !0);
2421
+ }
2422
+ stun(t) {
2423
+ for (const e of t.children)
2424
+ e !== this.element && (e.contains(this.element) ? this.stun(e) : this.stunneds.push(new ms(e)));
2425
+ }
2426
+ maintainFocus(t) {
2427
+ if (!this.element.contains(t.target)) {
2428
+ const e = this.focusables;
2429
+ if (e.length === 0)
2430
+ return;
2431
+ const n = e[0];
2432
+ t.preventDefault(), n.focus();
2433
+ }
2434
+ }
2435
+ handle(t) {
2436
+ if (t.keyCode !== 9)
2437
+ return;
2438
+ const e = this.focusables;
2439
+ if (e.length === 0)
2440
+ return;
2441
+ const n = e[0], r = e[e.length - 1], a = e.indexOf(document.activeElement);
2442
+ t.shiftKey ? !this.element.contains(document.activeElement) || a < 1 ? (t.preventDefault(), r.focus()) : (document.activeElement.tabIndex > 0 || e[a - 1].tabIndex > 0) && (t.preventDefault(), e[a - 1].focus()) : this.element.contains(document.activeElement) && a !== e.length - 1 && a !== -1 ? document.activeElement.tabIndex > 0 && (t.preventDefault(), e[a + 1].focus()) : (t.preventDefault(), n.focus());
2443
+ }
2444
+ get focusables() {
2445
+ let t = s.internals.dom.querySelectorAllArray(this.element, ds);
2446
+ const e = s.internals.dom.querySelectorAllArray(document.documentElement, 'input[type="radio"]');
2447
+ if (e.length) {
2448
+ const a = {};
2449
+ for (const c of e) {
2450
+ const T = c.getAttribute("name");
2451
+ a[T] === void 0 && (a[T] = new ps(T)), a[T].push(c);
2452
+ }
2453
+ t = t.filter((c) => {
2454
+ if (c.tagName.toLowerCase() !== "input" || c.getAttribute("type").toLowerCase() !== "radio")
2455
+ return !0;
2456
+ const T = c.getAttribute("name");
2457
+ return a[T].keep(c);
2458
+ });
2459
+ }
2460
+ const n = s.internals.dom.querySelectorAllArray(this.element, us);
2461
+ n.sort((a, c) => a.tabIndex - c.tabIndex);
2462
+ const r = t.filter((a) => n.indexOf(a) === -1);
2463
+ return n.concat(r).filter((a) => a.tabIndex !== "-1" && Ut(a, this.element));
2464
+ }
2465
+ untrap() {
2466
+ this.trapped && (this.isTrapping = !1, this.element.removeAttribute("aria-modal"), window.removeEventListener("keydown", this.handling), document.body.removeEventListener("focus", this.focusing, !0), this.element = null, this.onUntrap && this.onUntrap());
2467
+ }
2468
+ dispose() {
2469
+ this.untrap();
2470
+ }
2471
+ }
2472
+ class ms {
2473
+ constructor(t) {
2474
+ this.element = t, this.inert = t.getAttribute("inert"), this.element.setAttribute("inert", "");
2475
+ }
2476
+ unstun() {
2477
+ this.inert === null ? this.element.removeAttribute("inert") : this.element.setAttribute("inert", this.inert);
2478
+ }
2479
+ }
2480
+ class ps {
2481
+ constructor(t) {
2482
+ this.name = t, this.buttons = [];
2483
+ }
2484
+ push(t) {
2485
+ this.buttons.push(t), (t === document.activeElement || t.checked || this.selected === void 0) && (this.selected = t);
2486
+ }
2487
+ keep(t) {
2488
+ return this.selected === t;
2489
+ }
2490
+ }
2491
+ class _s extends s.core.DisclosuresGroup {
2492
+ constructor() {
2493
+ super("Modal", !1), this.focusTrap = new gs();
2494
+ }
2495
+ static get instanceClassName() {
2496
+ return "ModalsGroup";
2497
+ }
2498
+ apply(t, e) {
2499
+ super.apply(t, e), this.current === null ? this.focusTrap.untrap() : this.focusTrap.trap(this.current.node);
2500
+ }
2501
+ }
2502
+ class bs extends s.core.Instance {
2503
+ static get instanceClassName() {
2504
+ return "ModalBody";
2505
+ }
2506
+ init() {
2507
+ this.listen("scroll", this.divide.bind(this));
2508
+ }
2509
+ activate() {
2510
+ this.isResizing = !0, this.resize();
2511
+ }
2512
+ deactivate() {
2513
+ this.isResizing = !1;
2514
+ }
2515
+ divide() {
2516
+ this.node.scrollHeight > this.node.clientHeight ? this.node.offsetHeight + this.node.scrollTop >= this.node.scrollHeight ? this.removeClass(B.SCROLL_DIVIDER) : this.addClass(B.SCROLL_DIVIDER) : this.removeClass(B.SCROLL_DIVIDER);
2517
+ }
2518
+ resize() {
2519
+ this.adjust(), this.request(this.adjust.bind(this));
2520
+ }
2521
+ adjust() {
2522
+ const t = 32 * (this.isBreakpoint(s.core.Breakpoints.MD) ? 2 : 1);
2523
+ this.isLegacy ? this.style.maxHeight = window.innerHeight - t + "px" : this.style.setProperty("--modal-max-height", window.innerHeight - t + "px"), this.divide();
2524
+ }
2525
+ }
2526
+ s.modal = { Modal: ls, ModalButton: re, ModalBody: bs, ModalsGroup: _s, ModalSelector: B }, s.internals.register(s.modal.ModalSelector.MODAL, s.modal.Modal), s.internals.register(s.modal.ModalSelector.BODY, s.modal.ModalBody), s.internals.register(s.core.RootSelector.ROOT, s.modal.ModalsGroup);
2527
+ const D = { TOGGLE: s.internals.ns.emission("password", "toggle"), ADJUST: s.internals.ns.emission("password", "adjust") };
2528
+ class Es extends s.core.Instance {
2529
+ static get instanceClassName() {
2530
+ return "PasswordToggle";
2531
+ }
2532
+ init() {
2533
+ this.listenClick(), this.ascend(D.ADJUST, this.width), this.isSwappingFont = !0, this._isChecked = this.isChecked;
2534
+ }
2535
+ get width() {
2536
+ const t = getComputedStyle(this.node.parentNode);
2537
+ return parseInt(t.width);
2538
+ }
2539
+ get isChecked() {
2540
+ return this.node.checked;
2541
+ }
2542
+ set isChecked(t) {
2543
+ this._isChecked = t, this.ascend(D.TOGGLE, t);
2544
+ }
2545
+ handleClick() {
2546
+ this.isChecked = !this._isChecked;
2547
+ }
2548
+ swapFont(t) {
2549
+ this.ascend(D.ADJUST, this.width);
2550
+ }
2551
+ }
2552
+ class fs extends s.core.Instance {
2553
+ static get instanceClassName() {
2554
+ return "Password";
2555
+ }
2556
+ init() {
2557
+ this.addAscent(D.TOGGLE, this.toggle.bind(this)), this.addAscent(D.ADJUST, this.adjust.bind(this));
2558
+ }
2559
+ toggle(t) {
2560
+ this.descend(D.TOGGLE, t);
2561
+ }
2562
+ adjust(t) {
2563
+ this.descend(D.ADJUST, t);
2564
+ }
2565
+ }
2566
+ const As = { PASSWORD: s.internals.ns.selector("password"), INPUT: s.internals.ns.selector("password__input"), LABEL: s.internals.ns.selector("password__label"), TOOGLE: `${s.internals.ns.selector("password__checkbox")} input[type="checkbox"]` };
2567
+ class Ts extends s.core.Instance {
2568
+ static get instanceClassName() {
2569
+ return "PasswordInput";
2570
+ }
2571
+ init() {
2572
+ this.addDescent(D.TOGGLE, this.toggle.bind(this)), this._isRevealed = this.hasAttribute("type") === "password", this.listen("keydown", this.capslock.bind(this)), this.listen("keyup", this.capslock.bind(this));
2573
+ }
2574
+ toggle(t) {
2575
+ this.isRevealed = t, this.setAttribute("type", t ? "text" : "password");
2576
+ }
2577
+ get isRevealed() {
2578
+ return this._isRevealed;
2579
+ }
2580
+ capslock(t) {
2581
+ t && typeof t.getModifierState != "function" || (t.getModifierState("CapsLock") ? this.node.parentNode.setAttribute(s.internals.ns.attr("capslock"), "") : this.node.parentNode.removeAttribute(s.internals.ns.attr("capslock")));
2582
+ }
2583
+ set isRevealed(t) {
2584
+ this._isRevealed = t, this.setAttribute("type", t ? "text" : "password");
2585
+ }
2586
+ }
2587
+ class Ss extends s.core.Instance {
2588
+ static get instanceClassName() {
2589
+ return "PasswordLabel";
2590
+ }
2591
+ init() {
2592
+ this.addDescent(D.ADJUST, this.adjust.bind(this));
2593
+ }
2594
+ adjust(t) {
2595
+ const e = Math.ceil(t / 16);
2596
+ this.node.style.paddingRight = e + "rem";
2597
+ }
2598
+ }
2599
+ s.password = { Password: fs, PasswordToggle: Es, PasswordSelector: As, PasswordInput: Ts, PasswordLabel: Ss }, s.internals.register(s.password.PasswordSelector.INPUT, s.password.PasswordInput), s.internals.register(s.password.PasswordSelector.PASSWORD, s.password.Password), s.internals.register(s.password.PasswordSelector.TOOGLE, s.password.PasswordToggle), s.internals.register(s.password.PasswordSelector.LABEL, s.password.PasswordLabel);
2600
+ const C = s.internals.ns.selector("nav__item"), $ = s.internals.ns.selector("collapse"), I = { NAVIGATION: s.internals.ns.selector("nav"), COLLAPSE: `${C} > ${$}, ${C} > *:not(${C}):not(${$}) > ${$}, ${C} > *:not(${C}):not(${$}) > *:not(${C}):not(${$}) > ${$}`, COLLAPSE_LEGACY: `${C} ${$}`, ITEM: C, ITEM_RIGHT: `${C}--align-right`, MENU: s.internals.ns.selector("menu"), BUTTON: s.internals.ns.selector("nav__btn"), TRANSLATE_BUTTON: s.internals.ns.selector("translate__btn") };
2601
+ class vs extends s.core.Instance {
2602
+ constructor() {
2603
+ super(), this._isRightAligned = !1;
2604
+ }
2605
+ static get instanceClassName() {
2606
+ return "NavigationItem";
2607
+ }
2608
+ init() {
2609
+ this.addAscent(s.core.DisclosureEmission.ADDED, this.calculate.bind(this)), this.addAscent(s.core.DisclosureEmission.REMOVED, this.calculate.bind(this)), this.isResizing = !0, this.calculate();
2610
+ }
2611
+ resize() {
2612
+ this.calculate();
2613
+ }
2614
+ calculate() {
2615
+ const t = this.element.getDescendantInstances(s.core.Collapse.instanceClassName, null, !0)[0];
2616
+ if (t && this.isBreakpoint(s.core.Breakpoints.LG) && t.element.node.matches(I.MENU)) {
2617
+ const e = this.element.node.parentElement.getBoundingClientRect().right, n = t.element.node.getBoundingClientRect().width, r = this.element.node.getBoundingClientRect().left;
2618
+ this.isRightAligned = r + n > e;
2619
+ } else
2620
+ this.isRightAligned = !1;
2621
+ }
2622
+ get isRightAligned() {
2623
+ return this._isRightAligned;
2624
+ }
2625
+ set isRightAligned(t) {
2626
+ this._isRightAligned !== t && (this._isRightAligned = t, t ? s.internals.dom.addClass(this.element.node, I.ITEM_RIGHT) : s.internals.dom.removeClass(this.element.node, I.ITEM_RIGHT));
2627
+ }
2628
+ get collapsePrimary() {
2629
+ return this.element.children.map((t) => t.getInstance("CollapseButton")).filter((t) => t !== null && (t.hasClass(I.BUTTON) || t.hasClass(I.TRANSLATE_BUTTON)))[0];
2630
+ }
2631
+ }
2632
+ const U = { NONE: -1, INSIDE: 0, OUTSIDE: 1 };
2633
+ class ys extends s.core.CollapsesGroup {
2634
+ static get instanceClassName() {
2635
+ return "Navigation";
2636
+ }
2637
+ init() {
2638
+ super.init(), this.clicked = !1, this.out = !1, this.listen("focusout", this.focusOutHandler.bind(this)), this.listen("mousedown", this.mouseDownHandler.bind(this)), this.listenClick({ capture: !0 });
2639
+ }
2640
+ validate(t) {
2641
+ return super.validate(t) && t.element.node.matches(s.internals.legacy.isLegacy ? I.COLLAPSE_LEGACY : I.COLLAPSE);
2642
+ }
2643
+ mouseDownHandler(t) {
2644
+ this.isBreakpoint(s.core.Breakpoints.LG) && this.index !== -1 && this.current && (this.position = this.current.node.contains(t.target) ? U.INSIDE : U.OUTSIDE, this.requestPosition());
2645
+ }
2646
+ clickHandler(t) {
2647
+ !t.target.matches("a, button") || t.target.matches("[aria-controls]") || t.target.matches(s.core.DisclosureSelector.PREVENT_CONCEAL) || (this.index = -1);
2648
+ }
2649
+ focusOutHandler(t) {
2650
+ this.isBreakpoint(s.core.Breakpoints.LG) && (this.out = !0, this.requestPosition());
2651
+ }
2652
+ requestPosition() {
2653
+ this.isRequesting || (this.isRequesting = !0, this.request(this.getPosition.bind(this)));
2654
+ }
2655
+ getPosition() {
2656
+ if (this.out)
2657
+ switch (this.position) {
2658
+ case U.OUTSIDE:
2659
+ this.index = -1;
2660
+ break;
2661
+ case U.INSIDE:
2662
+ this.current && !this.current.node.contains(document.activeElement) && this.current.focus();
2663
+ break;
2664
+ default:
2665
+ this.index > -1 && !this.current.hasFocus && (this.index = -1);
2666
+ }
2667
+ this.request(this.requested.bind(this));
2668
+ }
2669
+ requested() {
2670
+ this.position = U.NONE, this.out = !1, this.isRequesting = !1;
2671
+ }
2672
+ get index() {
2673
+ return super.index;
2674
+ }
2675
+ set index(t) {
2676
+ t === -1 && this.current && this.current.hasFocus && this.current.focus(), super.index = t;
2677
+ }
2678
+ }
2679
+ s.navigation = { Navigation: ys, NavigationItem: vs, NavigationMousePosition: U, NavigationSelector: I }, s.internals.register(s.navigation.NavigationSelector.NAVIGATION, s.navigation.Navigation), s.internals.register(s.navigation.NavigationSelector.ITEM, s.navigation.NavigationItem);
2680
+ class ae extends s.core.DisclosureButton {
2681
+ constructor() {
2682
+ super(s.core.DisclosureType.SELECT);
2683
+ }
2684
+ static get instanceClassName() {
2685
+ return "TabButton";
2686
+ }
2687
+ handleClick(t) {
2688
+ super.handleClick(t), this.focus();
2689
+ }
2690
+ apply(t) {
2691
+ super.apply(t), this.isPrimary && (this.setAttribute("tabindex", t ? "0" : "-1"), t && this.list && this.list.focalize(this));
2692
+ }
2693
+ get list() {
2694
+ return this.element.getAscendantInstance("TabsList", "TabsGroup");
2695
+ }
2696
+ }
2697
+ const E = { TAB: s.internals.ns.selector("tabs__tab"), GROUP: s.internals.ns.selector("tabs"), PANEL: s.internals.ns.selector("tabs__panel"), LIST: s.internals.ns.selector("tabs__list"), SHADOW: s.internals.ns.selector("tabs__shadow"), SHADOW_LEFT: s.internals.ns.selector("tabs__shadow--left"), SHADOW_RIGHT: s.internals.ns.selector("tabs__shadow--right"), PANEL_START: s.internals.ns.selector("tabs__panel--direction-start"), PANEL_END: s.internals.ns.selector("tabs__panel--direction-end") }, Et = "direction-start", ft = "direction-end", At = "none";
2698
+ class Cs extends s.core.Disclosure {
2699
+ constructor() {
2700
+ super(s.core.DisclosureType.SELECT, E.PANEL, ae, "TabsGroup"), this._direction = At, this._isPreventingTransition = !1;
2701
+ }
2702
+ static get instanceClassName() {
2703
+ return "TabPanel";
2704
+ }
2705
+ get direction() {
2706
+ return this._direction;
2707
+ }
2708
+ set direction(t) {
2709
+ if (t !== this._direction) {
2710
+ switch (this._direction) {
2711
+ case Et:
2712
+ this.removeClass(E.PANEL_START);
2713
+ break;
2714
+ case ft:
2715
+ this.removeClass(E.PANEL_END);
2716
+ break;
2717
+ case At:
2718
+ break;
2719
+ default:
2720
+ return;
2721
+ }
2722
+ switch (this._direction = t, this._direction) {
2723
+ case Et:
2724
+ this.addClass(E.PANEL_START);
2725
+ break;
2726
+ case ft:
2727
+ this.addClass(E.PANEL_END);
2728
+ }
2729
+ }
2730
+ }
2731
+ get isPreventingTransition() {
2732
+ return this._isPreventingTransition;
2733
+ }
2734
+ set isPreventingTransition(t) {
2735
+ this._isPreventingTransition !== t && (t ? this.addClass(s.internals.motion.TransitionSelector.NONE) : this.removeClass(s.internals.motion.TransitionSelector.NONE), this._isPreventingTransition = t === !0);
2736
+ }
2737
+ translate(t, e) {
2738
+ this.isPreventingTransition = e, this.direction = t;
2739
+ }
2740
+ reset() {
2741
+ this.group && this.group.retrieve(!0);
2742
+ }
2743
+ _electPrimaries(t) {
2744
+ return this.group && this.group.list ? super._electPrimaries(t).filter((e) => this.group.list.node.contains(e.node)) : [];
2745
+ }
2746
+ }
2747
+ const oe = "tab_keys_left", he = "tab_keys_right", ce = "tab_keys_home", le = "tab_keys_end", x = { PRESS_KEY: s.internals.ns.emission("tab", "press_key"), LIST_HEIGHT: s.internals.ns.emission("tab", "list_height") };
2748
+ class Ns extends s.core.DisclosuresGroup {
2749
+ constructor() {
2750
+ super("TabPanel");
2751
+ }
2752
+ static get instanceClassName() {
2753
+ return "TabsGroup";
2754
+ }
2755
+ init() {
2756
+ super.init(), this.listen("transitionend", this.transitionend.bind(this)), this.addAscent(x.PRESS_KEY, this.pressKey.bind(this)), this.addAscent(x.LIST_HEIGHT, this.setListHeight.bind(this)), this.isRendering = !0;
2757
+ }
2758
+ getIndex(t = 0) {
2759
+ super.getIndex(t);
2760
+ }
2761
+ get list() {
2762
+ return this.element.getDescendantInstances("TabsList", "TabsGroup", !0)[0];
2763
+ }
2764
+ setListHeight(t) {
2765
+ this.listHeight = t;
2766
+ }
2767
+ transitionend(t) {
2768
+ this.isPreventingTransition = !0;
2769
+ }
2770
+ get buttonHasFocus() {
2771
+ return this.members.some((t) => t.buttonHasFocus);
2772
+ }
2773
+ pressKey(t) {
2774
+ switch (t) {
2775
+ case oe:
2776
+ this.pressLeft();
2777
+ break;
2778
+ case he:
2779
+ this.pressRight();
2780
+ break;
2781
+ case ce:
2782
+ this.pressHome();
2783
+ break;
2784
+ case le:
2785
+ this.pressEnd();
2786
+ }
2787
+ }
2788
+ pressRight() {
2789
+ this.buttonHasFocus && (this.index < this.length - 1 ? this.index++ : this.index = 0, this.focus());
2790
+ }
2791
+ pressLeft() {
2792
+ this.buttonHasFocus && (this.index > 0 ? this.index-- : this.index = this.length - 1, this.focus());
2793
+ }
2794
+ pressHome() {
2795
+ this.buttonHasFocus && (this.index = 0, this.focus());
2796
+ }
2797
+ pressEnd() {
2798
+ this.buttonHasFocus && (this.index = this.length - 1, this.focus());
2799
+ }
2800
+ focus() {
2801
+ this.current && this.current.focus();
2802
+ }
2803
+ apply() {
2804
+ for (let t = 0; t < this._index; t++)
2805
+ this.members[t].translate(Et);
2806
+ this.current && this.current.translate(At);
2807
+ for (let t = this._index + 1; t < this.length; t++)
2808
+ this.members[t].translate(ft);
2809
+ this.isPreventingTransition = !1;
2810
+ }
2811
+ get isPreventingTransition() {
2812
+ return this._isPreventingTransition;
2813
+ }
2814
+ set isPreventingTransition(t) {
2815
+ this._isPreventingTransition !== t && (t ? this.addClass(s.internals.motion.TransitionSelector.NONE) : this.removeClass(s.internals.motion.TransitionSelector.NONE), this._isPreventingTransition = t === !0);
2816
+ }
2817
+ render() {
2818
+ if (this.current === null)
2819
+ return;
2820
+ this.node.scrollTop = 0, this.node.scrollLeft = 0;
2821
+ const t = Math.round(this.current.node.offsetHeight);
2822
+ this.panelHeight !== t && (this.panelHeight = t, this.style.setProperty("--tabs-height", this.panelHeight + this.listHeight + "px"));
2823
+ }
2824
+ }
2825
+ class Ds extends s.core.Instance {
2826
+ static get instanceClassName() {
2827
+ return "TabsList";
2828
+ }
2829
+ init() {
2830
+ this.listen("scroll", this.scroll.bind(this)), this.listenKey(s.core.KeyCodes.RIGHT, this.ascend.bind(this, x.PRESS_KEY, he), !0, !0), this.listenKey(s.core.KeyCodes.LEFT, this.ascend.bind(this, x.PRESS_KEY, oe), !0, !0), this.listenKey(s.core.KeyCodes.HOME, this.ascend.bind(this, x.PRESS_KEY, ce), !0, !0), this.listenKey(s.core.KeyCodes.END, this.ascend.bind(this, x.PRESS_KEY, le), !0, !0), this.isResizing = !0;
2831
+ }
2832
+ focalize(t) {
2833
+ const e = t.getRect(), n = this.getRect(), r = this.node.scrollLeft;
2834
+ e.left < n.left ? this.node.scrollTo(r - n.left + e.left - 16, 0) : e.right > n.right && this.node.scrollTo(r - n.right + e.right + 16, 0);
2835
+ }
2836
+ get isScrolling() {
2837
+ return this._isScrolling;
2838
+ }
2839
+ set isScrolling(t) {
2840
+ this._isScrolling !== t && (this._isScrolling = t, this.apply());
2841
+ }
2842
+ apply() {
2843
+ this._isScrolling ? (this.addClass(E.SHADOW), this.scroll()) : (this.removeClass(E.SHADOW_RIGHT), this.removeClass(E.SHADOW_LEFT), this.removeClass(E.SHADOW));
2844
+ }
2845
+ scroll() {
2846
+ const t = this.node.scrollLeft, e = t <= 16, n = this.node.scrollWidth - this.node.clientWidth - 16, r = Math.abs(t) >= n, a = document.documentElement.getAttribute("dir") === "rtl", c = a ? E.SHADOW_RIGHT : E.SHADOW_LEFT, T = a ? E.SHADOW_LEFT : E.SHADOW_RIGHT;
2847
+ e ? this.removeClass(c) : this.addClass(c), r ? this.removeClass(T) : this.addClass(T);
2848
+ }
2849
+ resize() {
2850
+ this.isScrolling = this.node.scrollWidth > this.node.clientWidth + 16;
2851
+ const t = this.getRect().height;
2852
+ this.setProperty("--tabs-list-height", `${t}px`), this.ascend(x.LIST_HEIGHT, t);
2853
+ }
2854
+ dispose() {
2855
+ this.isScrolling = !1;
2856
+ }
2857
+ }
2858
+ s.tab = { TabPanel: Cs, TabButton: ae, TabsGroup: Ns, TabsList: Ds, TabSelector: E, TabEmission: x }, s.internals.register(s.tab.TabSelector.PANEL, s.tab.TabPanel), s.internals.register(s.tab.TabSelector.GROUP, s.tab.TabsGroup), s.internals.register(s.tab.TabSelector.LIST, s.tab.TabsList);
2859
+ const de = { SCROLLABLE: s.internals.ns.emission("table", "scrollable"), CHANGE: s.internals.ns.emission("table", "change"), CAPTION_HEIGHT: s.internals.ns.emission("table", "captionheight") };
2860
+ class ws extends s.core.Instance {
2861
+ static get instanceClassName() {
2862
+ return "Table";
2863
+ }
2864
+ init() {
2865
+ this.addAscent(de.CAPTION_HEIGHT, this.setCaptionHeight.bind(this));
2866
+ }
2867
+ setCaptionHeight(t) {
2868
+ this.setProperty("--table-offset", `calc(${t}px + 1rem)`);
2869
+ }
2870
+ }
2871
+ const N = { TABLE: s.internals.ns.selector("table"), SHADOW: s.internals.ns.selector("table__shadow"), SHADOW_LEFT: s.internals.ns.selector("table__shadow--left"), SHADOW_RIGHT: s.internals.ns.selector("table__shadow--right"), ELEMENT: `${s.internals.ns.selector("table")}:not(${s.internals.ns.selector("table--no-scroll")}) table`, CAPTION: `${s.internals.ns.selector("table")} table caption` };
2872
+ class Ls extends s.core.Instance {
2873
+ static get instanceClassName() {
2874
+ return "TableElement";
2875
+ }
2876
+ init() {
2877
+ this.listen("scroll", this.scroll.bind(this)), this.content = this.querySelector("tbody"), this.isResizing = !0;
2878
+ }
2879
+ get isScrolling() {
2880
+ return this._isScrolling;
2881
+ }
2882
+ set isScrolling(t) {
2883
+ this._isScrolling !== t && (this._isScrolling = t, t ? (this.addClass(N.SHADOW), this.scroll()) : (this.removeClass(N.SHADOW), this.removeClass(N.SHADOW_LEFT), this.removeClass(N.SHADOW_RIGHT)));
2884
+ }
2885
+ scroll() {
2886
+ const t = this.node.scrollLeft <= 8, e = this.content.offsetWidth - this.node.offsetWidth - 8, n = Math.abs(this.node.scrollLeft) >= e, r = document.documentElement.getAttribute("dir") === "rtl", a = r ? N.SHADOW_RIGHT : N.SHADOW_LEFT, c = r ? N.SHADOW_LEFT : N.SHADOW_RIGHT;
2887
+ t ? this.removeClass(a) : this.addClass(a), n ? this.removeClass(c) : this.addClass(c);
2888
+ }
2889
+ resize() {
2890
+ this.isScrolling = this.content.offsetWidth > this.node.offsetWidth;
2891
+ }
2892
+ dispose() {
2893
+ this.isScrolling = !1;
2894
+ }
2895
+ }
2896
+ class Rs extends s.core.Instance {
2897
+ static get instanceClassName() {
2898
+ return "TableCaption";
2899
+ }
2900
+ init() {
2901
+ this.height = 0, this.isResizing = !0;
2902
+ }
2903
+ resize() {
2904
+ const t = this.getRect().height;
2905
+ this.height !== t && (this.height = t, this.ascend(de.CAPTION_HEIGHT, t));
2906
+ }
2907
+ }
2908
+ s.table = { Table: ws, TableElement: Ls, TableCaption: Rs, TableSelector: N }, s.internals.register(s.table.TableSelector.TABLE, s.table.Table), s.internals.register(s.table.TableSelector.ELEMENT, s.table.TableElement), s.internals.register(s.table.TableSelector.CAPTION, s.table.TableCaption);
2909
+ const Tt = { DISMISS: s.internals.ns.event("dismiss") };
2910
+ class Is extends s.core.Instance {
2911
+ static get instanceClassName() {
2912
+ return "TagDismissible";
2913
+ }
2914
+ init() {
2915
+ this.listenClick();
2916
+ }
2917
+ handleClick() {
2918
+ switch (this.focusClosest(), s.mode) {
2919
+ case s.Modes.ANGULAR:
2920
+ case s.Modes.REACT:
2921
+ case s.Modes.VUE:
2922
+ this.request(this.verify.bind(this));
2923
+ break;
2924
+ default:
2925
+ this.remove();
2926
+ }
2927
+ this.dispatch(Tt.DISMISS);
2928
+ }
2929
+ verify() {
2930
+ document.body.contains(this.node) && this.warn(`a TagDismissible has just been dismissed and should be removed from the dom. In ${s.mode} mode, the api doesn't handle dom modification. An event ${Tt.DISMISS} is dispatched by the element to trigger the removal`);
2931
+ }
2932
+ }
2933
+ const xs = { PRESSABLE: `${s.internals.ns.selector("tag")}[aria-pressed]`, DISMISSIBLE: `${s.internals.ns.selector("tag--dismiss")}` };
2934
+ s.tag = { TagDismissible: Is, TagSelector: xs, TagEvent: Tt }, s.internals.register(s.tag.TagSelector.PRESSABLE, s.core.Toggle), s.internals.register(s.tag.TagSelector.DISMISSIBLE, s.tag.TagDismissible);
2935
+ const Bt = s.internals.ns.selector("transcription"), ue = { TRANSCRIPTION: Bt, BUTTON: `${Bt}__btn` };
2936
+ class Os extends s.core.Instance {
2937
+ static get instanceClassName() {
2938
+ return "Transcription";
2939
+ }
2940
+ get collapsePrimary() {
2941
+ return this.element.children.map((t) => t.getInstance("CollapseButton")).filter((t) => t !== null && t.hasClass(ue.BUTTON))[0];
2942
+ }
2943
+ }
2944
+ s.transcription = { Transcription: Os, TranscriptionSelector: ue }, s.internals.register(s.transcription.TranscriptionSelector.TRANSCRIPTION, s.transcription.Transcription);
2945
+ class Ps extends s.core.Instance {
2946
+ static get instanceClassName() {
2947
+ return "TileDownload";
2948
+ }
2949
+ init() {
2950
+ this.addAscent(s.core.AssessEmission.UPDATE, (t) => {
2951
+ this.descend(s.core.AssessEmission.UPDATE, t);
2952
+ }), this.addAscent(s.core.AssessEmission.ADDED, () => {
2953
+ this.descend(s.core.AssessEmission.ADDED);
2954
+ });
2955
+ }
2956
+ }
2957
+ const ks = { DOWNLOAD: s.internals.ns.selector("tile--download"), DOWNLOAD_DETAIL: `${s.internals.ns.selector("tile--download")} ${s.internals.ns.selector("tile__detail")}` };
2958
+ s.tile = { TileSelector: ks, TileDownload: Ps }, s.internals.register(s.tile.TileSelector.DOWNLOAD, s.tile.TileDownload), s.internals.register(s.tile.TileSelector.DOWNLOAD_DETAIL, s.core.AssessDetail);
2959
+ const _ = { RANGE: s.internals.ns.selector("range"), RANGE_SM: s.internals.ns.selector("range--sm"), RANGE_STEP: s.internals.ns.selector("range--step"), RANGE_DOUBLE: s.internals.ns.selector("range--double"), RANGE_DOUBLE_STEP: s.internals.ns.selector("range--double") + s.internals.ns.selector("range--step"), RANGE_INPUT: s.internals.ns.selector("range input[type=range]:nth-of-type(1)"), RANGE_INPUT2: `${s.internals.ns.selector("range--double")} input[type=range]:nth-of-type(2)`, RANGE_OUTPUT: s.internals.ns.selector("range__output"), RANGE_MIN: s.internals.ns.selector("range__min"), RANGE_MAX: s.internals.ns.selector("range__max"), RANGE_PREFIX: s.internals.ns.attr("prefix"), RANGE_SUFFIX: s.internals.ns.attr("suffix") }, m = { VALUE: s.internals.ns.emission("range", "value"), VALUE2: s.internals.ns.emission("range", "value2"), OUTPUT: s.internals.ns.emission("range", "output"), CONSTRAINTS: s.internals.ns.emission("range", "constraints"), MIN: s.internals.ns.emission("range", "min"), MAX: s.internals.ns.emission("range", "max"), STEP: s.internals.ns.emission("range", "step"), PREFIX: s.internals.ns.emission("range", "prefix"), SUFFIX: s.internals.ns.emission("range", "suffix"), DISABLED: s.internals.ns.emission("range", "disabled"), ENABLE_POINTER: s.internals.ns.emission("range", "enable_pointer") };
2960
+ class Nt {
2961
+ constructor() {
2962
+ this._width = 0, this._min = 0, this._max = 0, this._value = 0, this._thumbSize = 24, this._innerWidth = 0, this._prefix = "", this._suffix = "", this._background = {};
2963
+ }
2964
+ configure(t) {
2965
+ t && (this._prefix = t._prefix, this._suffix = t._suffix, this._width = t.width, this.setConstraints(t._constraints), this.value = t.value, this.update());
2966
+ }
2967
+ setPrefix(t) {
2968
+ this._prefix = t !== null ? t : "";
2969
+ }
2970
+ setSuffix(t) {
2971
+ this._suffix = t !== null ? t : "";
2972
+ }
2973
+ _decorate(t) {
2974
+ return `${this._prefix}${t}${this._suffix}`;
2975
+ }
2976
+ get width() {
2977
+ return this._width;
2978
+ }
2979
+ set width(t) {
2980
+ this._width = t;
2981
+ }
2982
+ get isSm() {
2983
+ return this._isSm;
2984
+ }
2985
+ set isSm(t) {
2986
+ this._isSm !== t && (this._isSm = t, this.setThumbSize(t ? 16 : 24), this.update());
2987
+ }
2988
+ setThumbSize(t, e = 1) {
2989
+ this._thumbSize = t, this._innerPadding = t * e;
2990
+ }
2991
+ get textValue() {
2992
+ return this._decorate(this._value);
2993
+ }
2994
+ get value() {
2995
+ return this._value;
2996
+ }
2997
+ set value(t) {
2998
+ this._value = t;
2999
+ }
3000
+ get outputX() {
3001
+ return this._outputX;
3002
+ }
3003
+ setConstraints(t) {
3004
+ this._constraints = t, this._min = t.min, this._max = t.max, this._step = t.step, this._rangeWidth = t.rangeWidth;
3005
+ }
3006
+ get min() {
3007
+ return this._min;
3008
+ }
3009
+ get textMin() {
3010
+ return this._decorate(this._min);
3011
+ }
3012
+ get max() {
3013
+ return this._max;
3014
+ }
3015
+ get textMax() {
3016
+ return this._decorate(this._max);
3017
+ }
3018
+ get step() {
3019
+ return this._step;
3020
+ }
3021
+ get output() {
3022
+ return { text: this.textValue, transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)` };
3023
+ }
3024
+ _getRatio(t) {
3025
+ return (t - this._min) / this._rangeWidth;
3026
+ }
3027
+ get progress() {
3028
+ return this._progress;
3029
+ }
3030
+ update() {
3031
+ this._update();
3032
+ }
3033
+ _update() {
3034
+ this._innerWidth = this._width - this._innerPadding;
3035
+ const t = this._getRatio(this._value);
3036
+ this._translateX = t * this._width, this._centerPercent = 100 * t, this._progress = { right: `${(this._innerWidth * t + 0.5 * this._innerPadding).toFixed(2)}px` };
3037
+ }
3038
+ }
3039
+ class Ms extends Nt {
3040
+ get stepWidth() {
3041
+ return `${this._stepWidth.toFixed(3)}px`;
3042
+ }
3043
+ _update() {
3044
+ super._update();
3045
+ const t = this._rangeWidth / this._step;
3046
+ for (this._stepWidth = this._innerWidth / t; this._stepWidth < 4; )
3047
+ this._stepWidth *= 2;
3048
+ }
3049
+ }
3050
+ class ge extends Nt {
3051
+ get value2() {
3052
+ return this._value;
3053
+ }
3054
+ set value2(t) {
3055
+ this._value2 !== t && (this._value2 = t, this.update());
3056
+ }
3057
+ get textValue() {
3058
+ return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`;
3059
+ }
3060
+ setThumbSize(t) {
3061
+ super.setThumbSize(t, 2);
3062
+ }
3063
+ _update() {
3064
+ super._update();
3065
+ const t = this._getRatio(0.5 * (this._value + this._value2));
3066
+ this._translateX = t * this._width, this._centerPercent = 100 * t;
3067
+ const e = this._getRatio(this._value), n = this._getRatio(this._value2);
3068
+ this._progress = { left: `${(this._innerWidth * e + 0.25 * this._innerPadding).toFixed(2)}px`, right: `${(this._innerWidth * n + 0.75 * this._innerPadding).toFixed(2)}px` };
3069
+ }
3070
+ }
3071
+ class $s extends ge {
3072
+ get stepWidth() {
3073
+ return `${this._stepWidth.toFixed(3)}px`;
3074
+ }
3075
+ _update() {
3076
+ super._update();
3077
+ const t = this._rangeWidth / this._step;
3078
+ this._stepWidth = this._innerWidth / t, this._stepWidth < 4 && (this._stepWidth *= Math.ceil(4 / this._stepWidth));
3079
+ }
3080
+ }
3081
+ const Ft = "step", X = "double", ht = "double-step", Hs = "default";
3082
+ class Gs extends s.core.Instance {
3083
+ static get instanceClassName() {
3084
+ return "Range";
3085
+ }
3086
+ init() {
3087
+ this._retrieveType(), this._retrieveSize(), this.isLegacy ? (this.isResizing = !0, this.isMouseMoving = !0) : (this._observer = new ResizeObserver(this.resize.bind(this)), this._observer.observe(this.node)), this.addAscent(m.CONSTRAINTS, this.setConstraints.bind(this)), this.addAscent(m.VALUE, this.setValue.bind(this)), this.addAscent(m.VALUE2, this.setValue2.bind(this)), this.getAttribute(_.RANGE_PREFIX) && this.setPrefix(this.getAttribute(_.RANGE_PREFIX)), this.getAttribute(_.RANGE_SUFFIX) && this.setSuffix(this.getAttribute(_.RANGE_SUFFIX)), this.update();
3088
+ }
3089
+ _retrieveType() {
3090
+ switch (!0) {
3091
+ case this.matches(_.RANGE_DOUBLE_STEP):
3092
+ case this.matches(_.RANGE_DOUBLE):
3093
+ this.type = X;
3094
+ break;
3095
+ case this.matches(_.RANGE_STEP):
3096
+ this.type = Ft;
3097
+ break;
3098
+ default:
3099
+ this.type = Hs;
3100
+ }
3101
+ }
3102
+ set type(t) {
3103
+ if (this._type === t)
3104
+ return;
3105
+ this._type = t;
3106
+ const e = this._model;
3107
+ switch (this._type) {
3108
+ case ht:
3109
+ this._model = new $s();
3110
+ break;
3111
+ case X:
3112
+ this._model = new ge();
3113
+ break;
3114
+ case Ft:
3115
+ this._model = new Ms();
3116
+ break;
3117
+ default:
3118
+ this._model = new Nt();
3119
+ }
3120
+ this._model.configure(e);
3121
+ }
3122
+ get type() {
3123
+ return this._type;
3124
+ }
3125
+ _retrieveSize() {
3126
+ this._model.isSm = this.matches(_.RANGE_SM);
3127
+ }
3128
+ resize() {
3129
+ this._retrieveWidth(), this.update();
3130
+ }
3131
+ _retrieveWidth() {
3132
+ this._model.width = this.getRect().width;
3133
+ }
3134
+ setValue(t) {
3135
+ switch (this._model.value = t, this._type) {
3136
+ case ht:
3137
+ case X:
3138
+ this.descend(m.VALUE, t);
3139
+ }
3140
+ this.update();
3141
+ }
3142
+ setValue2(t) {
3143
+ this._model.value2 = t, this.descend(m.VALUE2, t), this.update();
3144
+ }
3145
+ setConstraints(t) {
3146
+ this._model.setConstraints(t), this.update(), this.descend(m.CONSTRAINTS, t);
3147
+ }
3148
+ setPrefix(t) {
3149
+ this._model.setPrefix(t), this.update();
3150
+ }
3151
+ setSuffix(t) {
3152
+ this._model.setSuffix(t), this.update();
3153
+ }
3154
+ mutate(t) {
3155
+ switch (!0) {
3156
+ case t.includes("class"):
3157
+ this._retrieveType(), this._retrieveSize();
3158
+ break;
3159
+ case t.includes(_.RANGE_PREFIX):
3160
+ case t.includes(_.RANGE_SUFFIX):
3161
+ this._model.setPrefix(this.getAttribute(_.RANGE_PREFIX)), this._model.setSuffix(this.getAttribute(_.RANGE_SUFFIX)), this.update();
3162
+ }
3163
+ }
3164
+ update() {
3165
+ this._model.update(), this.descend(m.OUTPUT, this._model.output), this.descend(m.MIN, this._model.textMin), this.descend(m.MAX, this._model.textMax);
3166
+ const t = this._model.progress;
3167
+ t.left ? this.style.setProperty("--progress-left", t.left) : this.style.removeProperty("--progress-left"), t.right ? (this.style.setProperty("--progress-right", t.right), this.isLegacy && t.left && (this.style.setProperty("background-position-x", t.left), this.style.setProperty("background-size", `${parseFloat(t.right) - parseFloat(t.left)}px ${this._model.isSm ? "8px" : "12px"}`))) : (this.style.removeProperty("--progress-right"), this.isLegacy && (this.style.removeProperty("background-size"), this.style.removeProperty("background-position-x"))), this._model.stepWidth ? this.style.setProperty("--step-width", this._model.stepWidth) : this.style.removeProperty("--step-width");
3168
+ }
3169
+ mouseMove(t) {
3170
+ if (this._type !== X && this._type !== ht)
3171
+ return;
3172
+ const e = t.x - this.getRect().left;
3173
+ this.descend(m.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < e ? 2 : 1);
3174
+ }
3175
+ dispose() {
3176
+ this._observer.disconnect();
3177
+ }
3178
+ }
3179
+ class Wt {
3180
+ constructor(t) {
3181
+ this._min = isNaN(t.min) ? 0 : t.min, this._max = isNaN(t.max) ? 100 : t.max, this._step = isNaN(t.step) ? 1 : t.step, this._rangeWidth = this._max - this._min;
3182
+ }
3183
+ get min() {
3184
+ return this._min;
3185
+ }
3186
+ get max() {
3187
+ return this._max;
3188
+ }
3189
+ get step() {
3190
+ return this._step;
3191
+ }
3192
+ get rangeWidth() {
3193
+ return this._rangeWidth;
3194
+ }
3195
+ test(t, e, n) {
3196
+ return this._min === t && this._max === e && this._step === n;
3197
+ }
3198
+ }
3199
+ class qt extends s.core.Instance {
3200
+ static get instanceClassName() {
3201
+ return "RangeInput";
3202
+ }
3203
+ init() {
3204
+ this._init(), this.node.value = this.getAttribute("value"), this.changing = this.change.bind(this), this.node.addEventListener(this.isLegacy ? "change" : "input", this.changing), this.isLegacy && this.addDescent(m.ENABLE_POINTER, this._enablePointer.bind(this)), this.change();
3205
+ }
3206
+ _init() {
3207
+ this._pointerId = 1, this.request(() => {
3208
+ this.hasAttribute("min") || this.setAttribute("min", 0), this.ascend(m.CONSTRAINTS, new Wt(this.node)), this.ascend(m.DISABLED, this.node.disabled);
3209
+ }), this.addDescent(m.VALUE2, this.setValue.bind(this));
3210
+ }
3211
+ _enablePointer(t) {
3212
+ const e = t === this._pointerId;
3213
+ this._isPointerEnabled !== e && (this._isPointerEnabled = e, e ? this.style.removeProperty("pointer-events") : this.style.setProperty("pointer-events", "none"));
3214
+ }
3215
+ setValue(t) {
3216
+ parseFloat(this.node.value) > t && (this.node.value = t, this.change());
3217
+ }
3218
+ change() {
3219
+ this.ascend(m.VALUE, parseFloat(this.node.value));
3220
+ }
3221
+ mutate(t) {
3222
+ t.includes("disabled") && this.ascend(m.DISABLED, this.node.disabled), (t.includes("min") || t.includes("max") || t.includes("step")) && (this.ascend(m.CONSTRAINTS, new Wt(this.node)), this.change());
3223
+ }
3224
+ dispose() {
3225
+ this.removeEventListener("input", this.changing);
3226
+ }
3227
+ }
3228
+ class Us extends s.core.Instance {
3229
+ static get instanceClassName() {
3230
+ return "RangeOutput";
3231
+ }
3232
+ init() {
3233
+ this.addDescent(m.OUTPUT, this.change.bind(this));
3234
+ }
3235
+ change(t) {
3236
+ this.node.innerText = t.text, this.node.style.transform = t.transform;
3237
+ }
3238
+ }
3239
+ class Bs extends s.core.Instance {
3240
+ static get instanceClassName() {
3241
+ return "RangeLimit";
3242
+ }
3243
+ init() {
3244
+ switch (!0) {
3245
+ case this.matches(_.RANGE_MIN):
3246
+ this.addDescent(m.MIN, this.change.bind(this));
3247
+ break;
3248
+ case this.matches(_.RANGE_MAX):
3249
+ this.addDescent(m.MAX, this.change.bind(this));
3250
+ }
3251
+ }
3252
+ change(t) {
3253
+ this.node.innerText = t;
3254
+ }
3255
+ }
3256
+ s.range = { Range: Gs, RangeInput: qt, RangeInput2: class extends qt {
3257
+ static get instanceClassName() {
3258
+ return "RangeInput2";
3259
+ }
3260
+ _init() {
3261
+ this._pointerId = 2, this.addDescent(m.CONSTRAINTS, this.setConstraints.bind(this)), this.addDescent(m.VALUE, this.setValue.bind(this));
3262
+ }
3263
+ setValue(i) {
3264
+ parseFloat(this.node.value) < i && (this.node.value = i, this.change());
3265
+ }
3266
+ change() {
3267
+ this.ascend(m.VALUE2, parseFloat(this.node.value));
3268
+ }
3269
+ setConstraints(i) {
3270
+ this.node.min = i.min, this.node.max = i.max, this.node.step = i.step, this.change();
3271
+ }
3272
+ mutate(i) {
3273
+ }
3274
+ }, RangeOutput: Us, RangeLimit: Bs, RangeEmission: m, RangeSelector: _ }, s.internals.register(s.range.RangeSelector.RANGE, s.range.Range), s.internals.register(s.range.RangeSelector.RANGE_INPUT, s.range.RangeInput), s.internals.register(s.range.RangeSelector.RANGE_INPUT2, s.range.RangeInput2), s.internals.register(s.range.RangeSelector.RANGE_OUTPUT, s.range.RangeOutput), s.internals.register(s.range.RangeSelector.RANGE_MIN, s.range.RangeLimit), s.internals.register(s.range.RangeSelector.RANGE_MAX, s.range.RangeLimit);
3275
+ const J = { HEADER: s.internals.ns.selector("header"), TOOLS_LINKS: s.internals.ns.selector("header__tools-links"), MENU_LINKS: s.internals.ns.selector("header__menu-links"), BUTTONS: `${s.internals.ns.selector("header__tools-links")} ${s.internals.ns.selector("btns-group")}, ${s.internals.ns.selector("header__tools-links")} ${s.internals.ns.selector("links-group")}`, MODALS: `${s.internals.ns.selector("header__search")}${s.internals.ns.selector("modal")}, ${s.internals.ns.selector("header__menu")}${s.internals.ns.selector("modal")}` };
3276
+ class Fs extends s.core.Instance {
3277
+ static get instanceClassName() {
3278
+ return "HeaderLinks";
3279
+ }
3280
+ init() {
3281
+ const t = this.queryParentSelector(J.HEADER);
3282
+ this.toolsLinks = t.querySelector(J.TOOLS_LINKS), this.menuLinks = t.querySelector(J.MENU_LINKS);
3283
+ const e = "-mobile", n = this.toolsLinks.innerHTML.replace(/ +/g, " "), r = this.menuLinks.innerHTML.replace(/ +/g, " ");
3284
+ let a = n.replace(/id="(.*?)"/gm, 'id="$1' + e + '"');
3285
+ if (a = a.replace(/(<nav[.\s\S]*-translate [.\s\S]*) aria-controls="(.*?)"([.\s\S]*<\/nav>)/gm, '$1 aria-controls="$2' + e + '"$3'), a !== r)
3286
+ switch (s.mode) {
3287
+ case s.Modes.ANGULAR:
3288
+ case s.Modes.REACT:
3289
+ case s.Modes.VUE:
3290
+ this.warn(`header__tools-links content is different from header__menu-links content.
3291
+ As you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation:
3292
+ ${s.header.doc}`);
3293
+ break;
3294
+ default:
3295
+ this.menuLinks.innerHTML = a;
3296
+ }
3297
+ }
3298
+ }
3299
+ class Ws extends s.core.Instance {
3300
+ constructor() {
3301
+ super(), this._clickHandling = this.clickHandler.bind(this);
3302
+ }
3303
+ static get instanceClassName() {
3304
+ return "HeaderModal";
3305
+ }
3306
+ init() {
3307
+ this.isResizing = !0;
3308
+ }
3309
+ resize() {
3310
+ this.isBreakpoint(s.core.Breakpoints.LG) ? this.deactivateModal() : this.activateModal();
3311
+ }
3312
+ activateModal() {
3313
+ const t = this.element.getInstance("Modal");
3314
+ t && (t.isEnabled = !0, this.listen("click", this._clickHandling, { capture: !0 }));
3315
+ }
3316
+ deactivateModal() {
3317
+ const t = this.element.getInstance("Modal");
3318
+ t && (t.conceal(), t.isEnabled = !1, this.unlisten("click", this._clickHandling, { capture: !0 }));
3319
+ }
3320
+ clickHandler(t) {
3321
+ t.target.matches("a, button") && !t.target.matches("[aria-controls]") && !t.target.matches(s.core.DisclosureSelector.PREVENT_CONCEAL) && this.element.getInstance("Modal").conceal();
3322
+ }
3323
+ }
3324
+ s.header = { HeaderLinks: Fs, HeaderModal: Ws, HeaderSelector: J, doc: "https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/en-tete" }, s.internals.register(s.header.HeaderSelector.TOOLS_LINKS, s.header.HeaderLinks), s.internals.register(s.header.HeaderSelector.MODALS, s.header.HeaderModal);
3325
+ const St = { DISPLAY: s.internals.ns.selector("display"), RADIO_BUTTONS: `input[name="${s.internals.ns("radios-theme")}"]`, FIELDSET: s.internals.ns.selector("fieldset") };
3326
+ class qs extends s.core.Instance {
3327
+ static get instanceClassName() {
3328
+ return "Display";
3329
+ }
3330
+ init() {
3331
+ if (this.radios = this.querySelectorAll(St.RADIO_BUTTONS), s.scheme) {
3332
+ this.changing = this.change.bind(this);
3333
+ for (const t of this.radios)
3334
+ t.addEventListener("change", this.changing);
3335
+ this.addDescent(s.scheme.SchemeEmission.SCHEME, this.apply.bind(this)), this.ascend(s.scheme.SchemeEmission.ASK);
3336
+ } else
3337
+ this.querySelector(St.FIELDSET).setAttribute("disabled", "");
3338
+ }
3339
+ get scheme() {
3340
+ return this._scheme;
3341
+ }
3342
+ set scheme(t) {
3343
+ if (this._scheme !== t && s.scheme)
3344
+ switch (t) {
3345
+ case s.scheme.SchemeValue.SYSTEM:
3346
+ case s.scheme.SchemeValue.LIGHT:
3347
+ case s.scheme.SchemeValue.DARK:
3348
+ this._scheme = t;
3349
+ for (const e of this.radios)
3350
+ e.checked = e.value === t;
3351
+ this.ascend(s.scheme.SchemeEmission.SCHEME, t);
3352
+ }
3353
+ }
3354
+ change() {
3355
+ for (const t of this.radios)
3356
+ if (t.checked)
3357
+ return void (this.scheme = t.value);
3358
+ }
3359
+ apply(t) {
3360
+ this.scheme = t;
3361
+ }
3362
+ dispose() {
3363
+ for (const t of this.radios)
3364
+ t.removeEventListener("change", this.changing);
3365
+ }
3366
+ }
3367
+ s.display = { Display: qs, DisplaySelector: St }, s.internals.register(s.display.DisplaySelector.DISPLAY, s.display.Display);