@edugis-org/webmapx 0.1.9 → 0.1.11

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 (45) hide show
  1. package/dist-lib/alert-C_G5X6J8.js +311 -0
  2. package/dist-lib/button-BlZd3WPH.js +744 -0
  3. package/dist-lib/checkbox-DB4oPyyw.js +287 -0
  4. package/dist-lib/chunk.36O46B5H-km1dakSW.js +77 -0
  5. package/dist-lib/chunk.3RPBFEDE-Cxq6VVR6.js +138 -0
  6. package/dist-lib/chunk.3Y6SB6QS-DUJ8Ickw.js +18 -0
  7. package/dist-lib/chunk.5JY5FUCG-CYkzbQXS.js +1071 -0
  8. package/dist-lib/chunk.6CTB5ZDJ-DjZrBd6Y.js +99 -0
  9. package/dist-lib/chunk.AJ3ENQ5C-DXVGX5Dn.js +177 -0
  10. package/dist-lib/chunk.LD4M4QGE-CiCfhE8r.js +8 -0
  11. package/dist-lib/chunk.NYIIDP5N-B4UCI-rQ.js +34 -0
  12. package/dist-lib/chunk.RWUUFNUL-DFztA4uV.js +43 -0
  13. package/dist-lib/chunk.SI4ACBFK-CLb9VfMG.js +61 -0
  14. package/dist-lib/chunk.YHLNUJ7P-ByKy0MKm.js +251 -0
  15. package/dist-lib/{decorate-DnZTfaod.js → decorate-CKr8yG1g.js} +1 -1
  16. package/dist-lib/divider-BOFbR_Ny.js +41 -0
  17. package/dist-lib/icon-CBNpO1lq.js +9 -0
  18. package/dist-lib/icon-button-B5rXu3Gg.js +410 -0
  19. package/dist-lib/input-B212BH6L.js +575 -0
  20. package/dist-lib/option-BQN9Zz_8.js +1108 -0
  21. package/dist-lib/spinner-DdcBaa3z.js +6 -0
  22. package/dist-lib/{toast-BsoXOdeA.js → toast-Bq2PmEpm.js} +1 -1
  23. package/dist-lib/tooltip-CBGOiZwJ.js +197 -0
  24. package/dist-lib/{webmapx-3d-tool-CLppA7mK.js → webmapx-3d-tool-CKoLGMpk.js} +2 -2
  25. package/dist-lib/{webmapx-base-tool-DfRa7TlD.js → webmapx-base-tool-Bc9Wz0yA.js} +1 -1
  26. package/dist-lib/{webmapx-config-edit-tool-BztWspia.js → webmapx-config-edit-tool-7265_DNz.js} +7 -7
  27. package/dist-lib/{webmapx-coordinates-tool-DnTSkrRG.js → webmapx-coordinates-tool-C964bdEG.js} +3 -3
  28. package/dist-lib/{webmapx-core-bundle-CH-5vYXU.js → webmapx-core-bundle-Q6mWOib1.js} +1579 -671
  29. package/dist-lib/webmapx-draw-tool-6QRr5Gip.js +4315 -0
  30. package/dist-lib/{webmapx-geolocation-tool-DIMh2kIr.js → webmapx-geolocation-tool-qxN5aaVB.js} +6 -7
  31. package/dist-lib/{webmapx-import-layer-tool-DMiC1TpU.js → webmapx-import-layer-tool-tJ374qHR.js} +2 -2
  32. package/dist-lib/{webmapx-info-tool-D-XbAU9J.js → webmapx-info-tool-C3txgv3v.js} +4 -4
  33. package/dist-lib/{webmapx-language-osmvector-BAw9TR-M.js → webmapx-language-osmvector-jQzTOPU1.js} +3 -4
  34. package/dist-lib/{webmapx-measure-tool-CXlg11s8.js → webmapx-measure-tool-Cxxrzgdf.js} +4 -4
  35. package/dist-lib/{webmapx-modal-tool-Cs7LRrgW.js → webmapx-modal-tool-DQVHNXqX.js} +2 -2
  36. package/dist-lib/{webmapx-plugin-tool-qe2yTrWB.js → webmapx-plugin-tool-BNZ61x6s.js} +1 -1
  37. package/dist-lib/{webmapx-print-tool-DrK9sLC7.js → webmapx-print-tool-BDOTbS6u.js} +7 -8
  38. package/dist-lib/{webmapx-search-tool-H7NisgWH.js → webmapx-search-tool-CHlsE2Wx.js} +2 -2
  39. package/dist-lib/webmapx-settings-B0AT9Vjn.js +482 -0
  40. package/dist-lib/{webmapx-truearea-tool-CSU9mE1D.js → webmapx-truearea-tool-dxSgcbOj.js} +2 -2
  41. package/dist-lib/{webmapx-view-mode-tool-D1QyQfq8.js → webmapx-view-mode-tool-DVSMakdh.js} +2 -2
  42. package/dist-lib/webmapx.js +312 -311
  43. package/package.json +1 -1
  44. package/dist-lib/webmapx-draw-tool-DxQgUF1Q.js +0 -2117
  45. package/dist-lib/webmapx-settings-EHSm-AGU.js +0 -167
@@ -0,0 +1,1108 @@
1
+ import { a as e, i as t, n, r, t as i } from "./chunk.YHLNUJ7P-ByKy0MKm.js";
2
+ import { a, c as o, i as s, o as c, s as l, t as u } from "./chunk.AJ3ENQ5C-DXVGX5Dn.js";
3
+ import { t as d } from "./chunk.NYIIDP5N-B4UCI-rQ.js";
4
+ import { t as f } from "./chunk.6CTB5ZDJ-DjZrBd6Y.js";
5
+ import { t as p } from "./chunk.3RPBFEDE-Cxq6VVR6.js";
6
+ import { t as m } from "./chunk.SI4ACBFK-CLb9VfMG.js";
7
+ import { n as h } from "./chunk.RWUUFNUL-DFztA4uV.js";
8
+ import { t as g } from "./chunk.5JY5FUCG-CYkzbQXS.js";
9
+ import { css as _, html as v } from "lit";
10
+ import { property as y, query as b, state as x } from "lit/decorators.js";
11
+ import { classMap as S } from "lit/directives/class-map.js";
12
+ import { unsafeHTML as C } from "lit/directives/unsafe-html.js";
13
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.V2OL7VMD.js
14
+ var w = _`
15
+ :host {
16
+ display: inline-block;
17
+ }
18
+
19
+ .tag {
20
+ display: flex;
21
+ align-items: center;
22
+ border: solid 1px;
23
+ line-height: 1;
24
+ white-space: nowrap;
25
+ user-select: none;
26
+ -webkit-user-select: none;
27
+ }
28
+
29
+ .tag__remove::part(base) {
30
+ color: inherit;
31
+ padding: 0;
32
+ }
33
+
34
+ /*
35
+ * Variant modifiers
36
+ */
37
+
38
+ .tag--primary {
39
+ background-color: var(--sl-color-primary-50);
40
+ border-color: var(--sl-color-primary-200);
41
+ color: var(--sl-color-primary-800);
42
+ }
43
+
44
+ .tag--primary:active > sl-icon-button {
45
+ color: var(--sl-color-primary-600);
46
+ }
47
+
48
+ .tag--success {
49
+ background-color: var(--sl-color-success-50);
50
+ border-color: var(--sl-color-success-200);
51
+ color: var(--sl-color-success-800);
52
+ }
53
+
54
+ .tag--success:active > sl-icon-button {
55
+ color: var(--sl-color-success-600);
56
+ }
57
+
58
+ .tag--neutral {
59
+ background-color: var(--sl-color-neutral-50);
60
+ border-color: var(--sl-color-neutral-200);
61
+ color: var(--sl-color-neutral-800);
62
+ }
63
+
64
+ .tag--neutral:active > sl-icon-button {
65
+ color: var(--sl-color-neutral-600);
66
+ }
67
+
68
+ .tag--warning {
69
+ background-color: var(--sl-color-warning-50);
70
+ border-color: var(--sl-color-warning-200);
71
+ color: var(--sl-color-warning-800);
72
+ }
73
+
74
+ .tag--warning:active > sl-icon-button {
75
+ color: var(--sl-color-warning-600);
76
+ }
77
+
78
+ .tag--danger {
79
+ background-color: var(--sl-color-danger-50);
80
+ border-color: var(--sl-color-danger-200);
81
+ color: var(--sl-color-danger-800);
82
+ }
83
+
84
+ .tag--danger:active > sl-icon-button {
85
+ color: var(--sl-color-danger-600);
86
+ }
87
+
88
+ /*
89
+ * Size modifiers
90
+ */
91
+
92
+ .tag--small {
93
+ font-size: var(--sl-button-font-size-small);
94
+ height: calc(var(--sl-input-height-small) * 0.8);
95
+ line-height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
96
+ border-radius: var(--sl-input-border-radius-small);
97
+ padding: 0 var(--sl-spacing-x-small);
98
+ }
99
+
100
+ .tag--medium {
101
+ font-size: var(--sl-button-font-size-medium);
102
+ height: calc(var(--sl-input-height-medium) * 0.8);
103
+ line-height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
104
+ border-radius: var(--sl-input-border-radius-medium);
105
+ padding: 0 var(--sl-spacing-small);
106
+ }
107
+
108
+ .tag--large {
109
+ font-size: var(--sl-button-font-size-large);
110
+ height: calc(var(--sl-input-height-large) * 0.8);
111
+ line-height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
112
+ border-radius: var(--sl-input-border-radius-large);
113
+ padding: 0 var(--sl-spacing-medium);
114
+ }
115
+
116
+ .tag__remove {
117
+ margin-inline-start: var(--sl-spacing-x-small);
118
+ }
119
+
120
+ /*
121
+ * Pill modifier
122
+ */
123
+
124
+ .tag--pill {
125
+ border-radius: var(--sl-border-radius-pill);
126
+ }
127
+ `, T = class extends n {
128
+ constructor() {
129
+ super(...arguments), this.localize = new f(this), this.variant = "neutral", this.size = "medium", this.pill = !1, this.removable = !1;
130
+ }
131
+ handleRemoveClick() {
132
+ this.emit("sl-remove");
133
+ }
134
+ render() {
135
+ return v`
136
+ <span
137
+ part="base"
138
+ class=${S({
139
+ tag: !0,
140
+ "tag--primary": this.variant === "primary",
141
+ "tag--success": this.variant === "success",
142
+ "tag--neutral": this.variant === "neutral",
143
+ "tag--warning": this.variant === "warning",
144
+ "tag--danger": this.variant === "danger",
145
+ "tag--text": this.variant === "text",
146
+ "tag--small": this.size === "small",
147
+ "tag--medium": this.size === "medium",
148
+ "tag--large": this.size === "large",
149
+ "tag--pill": this.pill,
150
+ "tag--removable": this.removable
151
+ })}
152
+ >
153
+ <slot part="content" class="tag__content"></slot>
154
+
155
+ ${this.removable ? v`
156
+ <sl-icon-button
157
+ part="remove-button"
158
+ exportparts="base:remove-button__base"
159
+ name="x-lg"
160
+ library="system"
161
+ label=${this.localize.term("remove")}
162
+ class="tag__remove"
163
+ @click=${this.handleRemoveClick}
164
+ tabindex="-1"
165
+ ></sl-icon-button>
166
+ ` : ""}
167
+ </span>
168
+ `;
169
+ }
170
+ };
171
+ T.styles = [r, w], T.dependencies = { "sl-icon-button": o }, e([y({ reflect: !0 })], T.prototype, "variant", 2), e([y({ reflect: !0 })], T.prototype, "size", 2), e([y({
172
+ type: Boolean,
173
+ reflect: !0
174
+ })], T.prototype, "pill", 2), e([y({ type: Boolean })], T.prototype, "removable", 2);
175
+ //#endregion
176
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.XNOUITPX.js
177
+ var E = _`
178
+ :host {
179
+ display: block;
180
+ }
181
+
182
+ /** The popup */
183
+ .select {
184
+ flex: 1 1 auto;
185
+ display: inline-flex;
186
+ width: 100%;
187
+ position: relative;
188
+ vertical-align: middle;
189
+ }
190
+
191
+ .select::part(popup) {
192
+ z-index: var(--sl-z-index-dropdown);
193
+ }
194
+
195
+ .select[data-current-placement^='top']::part(popup) {
196
+ transform-origin: bottom;
197
+ }
198
+
199
+ .select[data-current-placement^='bottom']::part(popup) {
200
+ transform-origin: top;
201
+ }
202
+
203
+ /* Combobox */
204
+ .select__combobox {
205
+ flex: 1;
206
+ display: flex;
207
+ width: 100%;
208
+ min-width: 0;
209
+ position: relative;
210
+ align-items: center;
211
+ justify-content: start;
212
+ font-family: var(--sl-input-font-family);
213
+ font-weight: var(--sl-input-font-weight);
214
+ letter-spacing: var(--sl-input-letter-spacing);
215
+ vertical-align: middle;
216
+ overflow: hidden;
217
+ cursor: pointer;
218
+ transition:
219
+ var(--sl-transition-fast) color,
220
+ var(--sl-transition-fast) border,
221
+ var(--sl-transition-fast) box-shadow,
222
+ var(--sl-transition-fast) background-color;
223
+ }
224
+
225
+ .select__display-input {
226
+ position: relative;
227
+ width: 100%;
228
+ font: inherit;
229
+ border: none;
230
+ background: none;
231
+ color: var(--sl-input-color);
232
+ cursor: inherit;
233
+ overflow: hidden;
234
+ padding: 0;
235
+ margin: 0;
236
+ -webkit-appearance: none;
237
+ }
238
+
239
+ .select__display-input::placeholder {
240
+ color: var(--sl-input-placeholder-color);
241
+ }
242
+
243
+ .select:not(.select--disabled):hover .select__display-input {
244
+ color: var(--sl-input-color-hover);
245
+ }
246
+
247
+ .select__display-input:focus {
248
+ outline: none;
249
+ }
250
+
251
+ /* Visually hide the display input when multiple is enabled */
252
+ .select--multiple:not(.select--placeholder-visible) .select__display-input {
253
+ position: absolute;
254
+ z-index: -1;
255
+ top: 0;
256
+ left: 0;
257
+ width: 100%;
258
+ height: 100%;
259
+ opacity: 0;
260
+ }
261
+
262
+ .select__value-input {
263
+ position: absolute;
264
+ top: 0;
265
+ left: 0;
266
+ width: 100%;
267
+ height: 100%;
268
+ padding: 0;
269
+ margin: 0;
270
+ opacity: 0;
271
+ z-index: -1;
272
+ }
273
+
274
+ .select__tags {
275
+ display: flex;
276
+ flex: 1;
277
+ align-items: center;
278
+ flex-wrap: wrap;
279
+ margin-inline-start: var(--sl-spacing-2x-small);
280
+ }
281
+
282
+ .select__tags::slotted(sl-tag) {
283
+ cursor: pointer !important;
284
+ }
285
+
286
+ .select--disabled .select__tags,
287
+ .select--disabled .select__tags::slotted(sl-tag) {
288
+ cursor: not-allowed !important;
289
+ }
290
+
291
+ /* Standard selects */
292
+ .select--standard .select__combobox {
293
+ background-color: var(--sl-input-background-color);
294
+ border: solid var(--sl-input-border-width) var(--sl-input-border-color);
295
+ }
296
+
297
+ .select--standard.select--disabled .select__combobox {
298
+ background-color: var(--sl-input-background-color-disabled);
299
+ border-color: var(--sl-input-border-color-disabled);
300
+ color: var(--sl-input-color-disabled);
301
+ opacity: 0.5;
302
+ cursor: not-allowed;
303
+ outline: none;
304
+ }
305
+
306
+ .select--standard:not(.select--disabled).select--open .select__combobox,
307
+ .select--standard:not(.select--disabled).select--focused .select__combobox {
308
+ background-color: var(--sl-input-background-color-focus);
309
+ border-color: var(--sl-input-border-color-focus);
310
+ box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color);
311
+ }
312
+
313
+ /* Filled selects */
314
+ .select--filled .select__combobox {
315
+ border: none;
316
+ background-color: var(--sl-input-filled-background-color);
317
+ color: var(--sl-input-color);
318
+ }
319
+
320
+ .select--filled:hover:not(.select--disabled) .select__combobox {
321
+ background-color: var(--sl-input-filled-background-color-hover);
322
+ }
323
+
324
+ .select--filled.select--disabled .select__combobox {
325
+ background-color: var(--sl-input-filled-background-color-disabled);
326
+ opacity: 0.5;
327
+ cursor: not-allowed;
328
+ }
329
+
330
+ .select--filled:not(.select--disabled).select--open .select__combobox,
331
+ .select--filled:not(.select--disabled).select--focused .select__combobox {
332
+ background-color: var(--sl-input-filled-background-color-focus);
333
+ outline: var(--sl-focus-ring);
334
+ }
335
+
336
+ /* Sizes */
337
+ .select--small .select__combobox {
338
+ border-radius: var(--sl-input-border-radius-small);
339
+ font-size: var(--sl-input-font-size-small);
340
+ min-height: var(--sl-input-height-small);
341
+ padding-block: 0;
342
+ padding-inline: var(--sl-input-spacing-small);
343
+ }
344
+
345
+ .select--small .select__clear {
346
+ margin-inline-start: var(--sl-input-spacing-small);
347
+ }
348
+
349
+ .select--small .select__prefix::slotted(*) {
350
+ margin-inline-end: var(--sl-input-spacing-small);
351
+ }
352
+
353
+ .select--small.select--multiple:not(.select--placeholder-visible) .select__prefix::slotted(*) {
354
+ margin-inline-start: var(--sl-input-spacing-small);
355
+ }
356
+
357
+ .select--small.select--multiple:not(.select--placeholder-visible) .select__combobox {
358
+ padding-block: 2px;
359
+ padding-inline-start: 0;
360
+ }
361
+
362
+ .select--small .select__tags {
363
+ gap: 2px;
364
+ }
365
+
366
+ .select--medium .select__combobox {
367
+ border-radius: var(--sl-input-border-radius-medium);
368
+ font-size: var(--sl-input-font-size-medium);
369
+ min-height: var(--sl-input-height-medium);
370
+ padding-block: 0;
371
+ padding-inline: var(--sl-input-spacing-medium);
372
+ }
373
+
374
+ .select--medium .select__clear {
375
+ margin-inline-start: var(--sl-input-spacing-medium);
376
+ }
377
+
378
+ .select--medium .select__prefix::slotted(*) {
379
+ margin-inline-end: var(--sl-input-spacing-medium);
380
+ }
381
+
382
+ .select--medium.select--multiple:not(.select--placeholder-visible) .select__prefix::slotted(*) {
383
+ margin-inline-start: var(--sl-input-spacing-medium);
384
+ }
385
+
386
+ .select--medium.select--multiple:not(.select--placeholder-visible) .select__combobox {
387
+ padding-inline-start: 0;
388
+ padding-block: 3px;
389
+ }
390
+
391
+ .select--medium .select__tags {
392
+ gap: 3px;
393
+ }
394
+
395
+ .select--large .select__combobox {
396
+ border-radius: var(--sl-input-border-radius-large);
397
+ font-size: var(--sl-input-font-size-large);
398
+ min-height: var(--sl-input-height-large);
399
+ padding-block: 0;
400
+ padding-inline: var(--sl-input-spacing-large);
401
+ }
402
+
403
+ .select--large .select__clear {
404
+ margin-inline-start: var(--sl-input-spacing-large);
405
+ }
406
+
407
+ .select--large .select__prefix::slotted(*) {
408
+ margin-inline-end: var(--sl-input-spacing-large);
409
+ }
410
+
411
+ .select--large.select--multiple:not(.select--placeholder-visible) .select__prefix::slotted(*) {
412
+ margin-inline-start: var(--sl-input-spacing-large);
413
+ }
414
+
415
+ .select--large.select--multiple:not(.select--placeholder-visible) .select__combobox {
416
+ padding-inline-start: 0;
417
+ padding-block: 4px;
418
+ }
419
+
420
+ .select--large .select__tags {
421
+ gap: 4px;
422
+ }
423
+
424
+ /* Pills */
425
+ .select--pill.select--small .select__combobox {
426
+ border-radius: var(--sl-input-height-small);
427
+ }
428
+
429
+ .select--pill.select--medium .select__combobox {
430
+ border-radius: var(--sl-input-height-medium);
431
+ }
432
+
433
+ .select--pill.select--large .select__combobox {
434
+ border-radius: var(--sl-input-height-large);
435
+ }
436
+
437
+ /* Prefix and Suffix */
438
+ .select__prefix,
439
+ .select__suffix {
440
+ flex: 0;
441
+ display: inline-flex;
442
+ align-items: center;
443
+ color: var(--sl-input-placeholder-color);
444
+ }
445
+
446
+ .select__suffix::slotted(*) {
447
+ margin-inline-start: var(--sl-spacing-small);
448
+ }
449
+
450
+ /* Clear button */
451
+ .select__clear {
452
+ display: inline-flex;
453
+ align-items: center;
454
+ justify-content: center;
455
+ font-size: inherit;
456
+ color: var(--sl-input-icon-color);
457
+ border: none;
458
+ background: none;
459
+ padding: 0;
460
+ transition: var(--sl-transition-fast) color;
461
+ cursor: pointer;
462
+ }
463
+
464
+ .select__clear:hover {
465
+ color: var(--sl-input-icon-color-hover);
466
+ }
467
+
468
+ .select__clear:focus {
469
+ outline: none;
470
+ }
471
+
472
+ /* Expand icon */
473
+ .select__expand-icon {
474
+ flex: 0 0 auto;
475
+ display: flex;
476
+ align-items: center;
477
+ transition: var(--sl-transition-medium) rotate ease;
478
+ rotate: 0;
479
+ margin-inline-start: var(--sl-spacing-small);
480
+ }
481
+
482
+ .select--open .select__expand-icon {
483
+ rotate: -180deg;
484
+ }
485
+
486
+ /* Listbox */
487
+ .select__listbox {
488
+ display: block;
489
+ position: relative;
490
+ font-family: var(--sl-font-sans);
491
+ font-size: var(--sl-font-size-medium);
492
+ font-weight: var(--sl-font-weight-normal);
493
+ box-shadow: var(--sl-shadow-large);
494
+ background: var(--sl-panel-background-color);
495
+ border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);
496
+ border-radius: var(--sl-border-radius-medium);
497
+ padding-block: var(--sl-spacing-x-small);
498
+ padding-inline: 0;
499
+ overflow: auto;
500
+ overscroll-behavior: none;
501
+
502
+ /* Make sure it adheres to the popup's auto size */
503
+ max-width: var(--auto-size-available-width);
504
+ max-height: var(--auto-size-available-height);
505
+ }
506
+
507
+ .select__listbox ::slotted(sl-divider) {
508
+ --spacing: var(--sl-spacing-x-small);
509
+ }
510
+
511
+ .select__listbox ::slotted(small) {
512
+ display: block;
513
+ font-size: var(--sl-font-size-small);
514
+ font-weight: var(--sl-font-weight-semibold);
515
+ color: var(--sl-color-neutral-500);
516
+ padding-block: var(--sl-spacing-2x-small);
517
+ padding-inline: var(--sl-spacing-x-large);
518
+ }
519
+ `, D = class extends n {
520
+ constructor() {
521
+ super(...arguments), this.formControlController = new p(this, { assumeInteractionOn: ["sl-blur", "sl-input"] }), this.hasSlotController = new d(this, "help-text", "label"), this.localize = new f(this), this.typeToSelectString = "", this.hasFocus = !1, this.displayLabel = "", this.selectedOptions = [], this.valueHasChanged = !1, this.name = "", this._value = "", this.defaultValue = "", this.size = "medium", this.placeholder = "", this.multiple = !1, this.maxOptionsVisible = 3, this.disabled = !1, this.clearable = !1, this.open = !1, this.hoist = !1, this.filled = !1, this.pill = !1, this.label = "", this.placement = "bottom", this.helpText = "", this.form = "", this.required = !1, this.getTag = (e) => v`
522
+ <sl-tag
523
+ part="tag"
524
+ exportparts="
525
+ base:tag__base,
526
+ content:tag__content,
527
+ remove-button:tag__remove-button,
528
+ remove-button__base:tag__remove-button__base
529
+ "
530
+ ?pill=${this.pill}
531
+ size=${this.size}
532
+ removable
533
+ @sl-remove=${(t) => this.handleTagRemove(t, e)}
534
+ >
535
+ ${e.getTextLabel()}
536
+ </sl-tag>
537
+ `, this.handleDocumentFocusIn = (e) => {
538
+ let t = e.composedPath();
539
+ this && !t.includes(this) && this.hide();
540
+ }, this.handleDocumentKeyDown = (e) => {
541
+ let t = e.target, n = t.closest(".select__clear") !== null, r = t.closest("sl-icon-button") !== null;
542
+ if (!(n || r)) {
543
+ if (e.key === "Escape" && this.open && !this.closeWatcher && (e.preventDefault(), e.stopPropagation(), this.hide(), this.displayInput.focus({ preventScroll: !0 })), e.key === "Enter" || e.key === " " && this.typeToSelectString === "") {
544
+ if (e.preventDefault(), e.stopImmediatePropagation(), !this.open) {
545
+ this.show();
546
+ return;
547
+ }
548
+ this.currentOption && !this.currentOption.disabled && (this.valueHasChanged = !0, this.multiple ? this.toggleOptionSelection(this.currentOption) : this.setSelectedOptions(this.currentOption), this.updateComplete.then(() => {
549
+ this.emit("sl-input"), this.emit("sl-change");
550
+ }), this.multiple || (this.hide(), this.displayInput.focus({ preventScroll: !0 })));
551
+ return;
552
+ }
553
+ if ([
554
+ "ArrowUp",
555
+ "ArrowDown",
556
+ "Home",
557
+ "End"
558
+ ].includes(e.key)) {
559
+ let t = this.getAllOptions(), n = t.indexOf(this.currentOption), r = Math.max(0, n);
560
+ if (e.preventDefault(), !this.open && (this.show(), this.currentOption)) return;
561
+ e.key === "ArrowDown" ? (r = n + 1, r > t.length - 1 && (r = 0)) : e.key === "ArrowUp" ? (r = n - 1, r < 0 && (r = t.length - 1)) : e.key === "Home" ? r = 0 : e.key === "End" && (r = t.length - 1), this.setCurrentOption(t[r]);
562
+ }
563
+ if (e.key && e.key.length === 1 || e.key === "Backspace") {
564
+ let t = this.getAllOptions();
565
+ if (e.metaKey || e.ctrlKey || e.altKey) return;
566
+ if (!this.open) {
567
+ if (e.key === "Backspace") return;
568
+ this.show();
569
+ }
570
+ e.stopPropagation(), e.preventDefault(), clearTimeout(this.typeToSelectTimeout), this.typeToSelectTimeout = window.setTimeout(() => this.typeToSelectString = "", 1e3), e.key === "Backspace" ? this.typeToSelectString = this.typeToSelectString.slice(0, -1) : this.typeToSelectString += e.key.toLowerCase();
571
+ for (let e of t) if (e.getTextLabel().toLowerCase().startsWith(this.typeToSelectString)) {
572
+ this.setCurrentOption(e);
573
+ break;
574
+ }
575
+ }
576
+ }
577
+ }, this.handleDocumentMouseDown = (e) => {
578
+ let t = e.composedPath();
579
+ this && !t.includes(this) && this.hide();
580
+ };
581
+ }
582
+ get value() {
583
+ return this._value;
584
+ }
585
+ set value(e) {
586
+ e = this.multiple ? Array.isArray(e) ? e : e.split(" ") : Array.isArray(e) ? e.join(" ") : e, this._value !== e && (this.valueHasChanged = !0, this._value = e);
587
+ }
588
+ get validity() {
589
+ return this.valueInput.validity;
590
+ }
591
+ get validationMessage() {
592
+ return this.valueInput.validationMessage;
593
+ }
594
+ connectedCallback() {
595
+ super.connectedCallback(), setTimeout(() => {
596
+ this.handleDefaultSlotChange();
597
+ }), this.open = !1;
598
+ }
599
+ addOpenListeners() {
600
+ var e;
601
+ document.addEventListener("focusin", this.handleDocumentFocusIn), document.addEventListener("keydown", this.handleDocumentKeyDown), document.addEventListener("mousedown", this.handleDocumentMouseDown), this.getRootNode() !== document && this.getRootNode().addEventListener("focusin", this.handleDocumentFocusIn), "CloseWatcher" in window && ((e = this.closeWatcher) == null || e.destroy(), this.closeWatcher = new CloseWatcher(), this.closeWatcher.onclose = () => {
602
+ this.open && (this.hide(), this.displayInput.focus({ preventScroll: !0 }));
603
+ });
604
+ }
605
+ removeOpenListeners() {
606
+ var e;
607
+ document.removeEventListener("focusin", this.handleDocumentFocusIn), document.removeEventListener("keydown", this.handleDocumentKeyDown), document.removeEventListener("mousedown", this.handleDocumentMouseDown), this.getRootNode() !== document && this.getRootNode().removeEventListener("focusin", this.handleDocumentFocusIn), (e = this.closeWatcher) == null || e.destroy();
608
+ }
609
+ handleFocus() {
610
+ this.hasFocus = !0, this.displayInput.setSelectionRange(0, 0), this.emit("sl-focus");
611
+ }
612
+ handleBlur() {
613
+ this.hasFocus = !1, this.emit("sl-blur");
614
+ }
615
+ handleLabelClick() {
616
+ this.displayInput.focus();
617
+ }
618
+ handleComboboxMouseDown(e) {
619
+ let t = e.composedPath().some((e) => e instanceof Element && e.tagName.toLowerCase() === "sl-icon-button");
620
+ this.disabled || t || (e.preventDefault(), this.displayInput.focus({ preventScroll: !0 }), this.open = !this.open);
621
+ }
622
+ handleComboboxKeyDown(e) {
623
+ e.key !== "Tab" && (e.stopPropagation(), this.handleDocumentKeyDown(e));
624
+ }
625
+ handleClearClick(e) {
626
+ e.stopPropagation(), this.valueHasChanged = !0, this.value !== "" && (this.setSelectedOptions([]), this.displayInput.focus({ preventScroll: !0 }), this.updateComplete.then(() => {
627
+ this.emit("sl-clear"), this.emit("sl-input"), this.emit("sl-change");
628
+ }));
629
+ }
630
+ handleClearMouseDown(e) {
631
+ e.stopPropagation(), e.preventDefault();
632
+ }
633
+ handleOptionClick(e) {
634
+ let t = e.target.closest("sl-option"), n = this.value;
635
+ t && !t.disabled && (this.valueHasChanged = !0, this.multiple ? this.toggleOptionSelection(t) : this.setSelectedOptions(t), this.updateComplete.then(() => this.displayInput.focus({ preventScroll: !0 })), this.value !== n && this.updateComplete.then(() => {
636
+ this.emit("sl-input"), this.emit("sl-change");
637
+ }), this.multiple || (this.hide(), this.displayInput.focus({ preventScroll: !0 })));
638
+ }
639
+ handleDefaultSlotChange() {
640
+ customElements.get("sl-option") || customElements.whenDefined("sl-option").then(() => this.handleDefaultSlotChange());
641
+ let e = this.getAllOptions(), t = this.valueHasChanged ? this.value : this.defaultValue, n = Array.isArray(t) ? t : [t], r = [];
642
+ e.forEach((e) => r.push(e.value)), this.setSelectedOptions(e.filter((e) => n.includes(e.value)));
643
+ }
644
+ handleTagRemove(e, t) {
645
+ e.stopPropagation(), this.valueHasChanged = !0, this.disabled || (this.toggleOptionSelection(t, !1), this.updateComplete.then(() => {
646
+ this.emit("sl-input"), this.emit("sl-change");
647
+ }));
648
+ }
649
+ getAllOptions() {
650
+ return [...this.querySelectorAll("sl-option")];
651
+ }
652
+ getFirstOption() {
653
+ return this.querySelector("sl-option");
654
+ }
655
+ setCurrentOption(e) {
656
+ this.getAllOptions().forEach((e) => {
657
+ e.current = !1, e.tabIndex = -1;
658
+ }), e && (this.currentOption = e, e.current = !0, e.tabIndex = 0, e.focus());
659
+ }
660
+ setSelectedOptions(e) {
661
+ let t = this.getAllOptions(), n = Array.isArray(e) ? e : [e];
662
+ t.forEach((e) => e.selected = !1), n.length && n.forEach((e) => e.selected = !0), this.selectionChanged();
663
+ }
664
+ toggleOptionSelection(e, t) {
665
+ t === !0 || t === !1 ? e.selected = t : e.selected = !e.selected, this.selectionChanged();
666
+ }
667
+ selectionChanged() {
668
+ let e = this.getAllOptions();
669
+ this.selectedOptions = e.filter((e) => e.selected);
670
+ let t = this.valueHasChanged;
671
+ if (this.multiple) this.value = this.selectedOptions.map((e) => e.value), this.placeholder && this.value.length === 0 ? this.displayLabel = "" : this.displayLabel = this.localize.term("numOptionsSelected", this.selectedOptions.length);
672
+ else {
673
+ let e = this.selectedOptions[0];
674
+ this.value = e?.value ?? "", this.displayLabel = (e?.getTextLabel)?.call(e) ?? "";
675
+ }
676
+ this.valueHasChanged = t, this.updateComplete.then(() => {
677
+ this.formControlController.updateValidity();
678
+ });
679
+ }
680
+ get tags() {
681
+ return this.selectedOptions.map((e, t) => {
682
+ if (t < this.maxOptionsVisible || this.maxOptionsVisible <= 0) {
683
+ let n = this.getTag(e, t);
684
+ return v`<div @sl-remove=${(t) => this.handleTagRemove(t, e)}>
685
+ ${typeof n == "string" ? C(n) : n}
686
+ </div>`;
687
+ } else if (t === this.maxOptionsVisible) return v`<sl-tag size=${this.size}>+${this.selectedOptions.length - t}</sl-tag>`;
688
+ return v``;
689
+ });
690
+ }
691
+ handleInvalid(e) {
692
+ this.formControlController.setValidity(!1), this.formControlController.emitInvalidEvent(e);
693
+ }
694
+ handleDisabledChange() {
695
+ this.disabled && (this.open = !1, this.handleOpenChange());
696
+ }
697
+ attributeChangedCallback(e, t, n) {
698
+ if (super.attributeChangedCallback(e, t, n), e === "value") {
699
+ let e = this.valueHasChanged;
700
+ this.value = this.defaultValue, this.valueHasChanged = e;
701
+ }
702
+ }
703
+ handleValueChange() {
704
+ if (!this.valueHasChanged) {
705
+ let e = this.valueHasChanged;
706
+ this.value = this.defaultValue, this.valueHasChanged = e;
707
+ }
708
+ let e = this.getAllOptions(), t = Array.isArray(this.value) ? this.value : [this.value];
709
+ this.setSelectedOptions(e.filter((e) => t.includes(e.value)));
710
+ }
711
+ async handleOpenChange() {
712
+ if (this.open && !this.disabled) {
713
+ this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption()), this.emit("sl-show"), this.addOpenListeners(), await s(this), this.listbox.hidden = !1, this.popup.active = !0, requestAnimationFrame(() => {
714
+ this.setCurrentOption(this.currentOption);
715
+ });
716
+ let { keyframes: e, options: t } = c(this, "select.show", { dir: this.localize.dir() });
717
+ await u(this.popup.popup, e, t), this.currentOption && h(this.currentOption, this.listbox, "vertical", "auto"), this.emit("sl-after-show");
718
+ } else {
719
+ this.emit("sl-hide"), this.removeOpenListeners(), await s(this);
720
+ let { keyframes: e, options: t } = c(this, "select.hide", { dir: this.localize.dir() });
721
+ await u(this.popup.popup, e, t), this.listbox.hidden = !0, this.popup.active = !1, this.emit("sl-after-hide");
722
+ }
723
+ }
724
+ async show() {
725
+ if (this.open || this.disabled) {
726
+ this.open = !1;
727
+ return;
728
+ }
729
+ return this.open = !0, a(this, "sl-after-show");
730
+ }
731
+ async hide() {
732
+ if (!this.open || this.disabled) {
733
+ this.open = !1;
734
+ return;
735
+ }
736
+ return this.open = !1, a(this, "sl-after-hide");
737
+ }
738
+ checkValidity() {
739
+ return this.valueInput.checkValidity();
740
+ }
741
+ getForm() {
742
+ return this.formControlController.getForm();
743
+ }
744
+ reportValidity() {
745
+ return this.valueInput.reportValidity();
746
+ }
747
+ setCustomValidity(e) {
748
+ this.valueInput.setCustomValidity(e), this.formControlController.updateValidity();
749
+ }
750
+ focus(e) {
751
+ this.displayInput.focus(e);
752
+ }
753
+ blur() {
754
+ this.displayInput.blur();
755
+ }
756
+ render() {
757
+ let e = this.hasSlotController.test("label"), t = this.hasSlotController.test("help-text"), n = this.label ? !0 : !!e, r = this.helpText ? !0 : !!t, i = this.clearable && !this.disabled && this.value.length > 0, a = this.placeholder && this.value && this.value.length <= 0;
758
+ return v`
759
+ <div
760
+ part="form-control"
761
+ class=${S({
762
+ "form-control": !0,
763
+ "form-control--small": this.size === "small",
764
+ "form-control--medium": this.size === "medium",
765
+ "form-control--large": this.size === "large",
766
+ "form-control--has-label": n,
767
+ "form-control--has-help-text": r
768
+ })}
769
+ >
770
+ <label
771
+ id="label"
772
+ part="form-control-label"
773
+ class="form-control__label"
774
+ aria-hidden=${n ? "false" : "true"}
775
+ @click=${this.handleLabelClick}
776
+ >
777
+ <slot name="label">${this.label}</slot>
778
+ </label>
779
+
780
+ <div part="form-control-input" class="form-control-input">
781
+ <sl-popup
782
+ class=${S({
783
+ select: !0,
784
+ "select--standard": !0,
785
+ "select--filled": this.filled,
786
+ "select--pill": this.pill,
787
+ "select--open": this.open,
788
+ "select--disabled": this.disabled,
789
+ "select--multiple": this.multiple,
790
+ "select--focused": this.hasFocus,
791
+ "select--placeholder-visible": a,
792
+ "select--top": this.placement === "top",
793
+ "select--bottom": this.placement === "bottom",
794
+ "select--small": this.size === "small",
795
+ "select--medium": this.size === "medium",
796
+ "select--large": this.size === "large"
797
+ })}
798
+ placement=${this.placement}
799
+ strategy=${this.hoist ? "fixed" : "absolute"}
800
+ flip
801
+ shift
802
+ sync="width"
803
+ auto-size="vertical"
804
+ auto-size-padding="10"
805
+ >
806
+ <div
807
+ part="combobox"
808
+ class="select__combobox"
809
+ slot="anchor"
810
+ @keydown=${this.handleComboboxKeyDown}
811
+ @mousedown=${this.handleComboboxMouseDown}
812
+ >
813
+ <slot part="prefix" name="prefix" class="select__prefix"></slot>
814
+
815
+ <input
816
+ part="display-input"
817
+ class="select__display-input"
818
+ type="text"
819
+ placeholder=${this.placeholder}
820
+ .disabled=${this.disabled}
821
+ .value=${this.displayLabel}
822
+ autocomplete="off"
823
+ spellcheck="false"
824
+ autocapitalize="off"
825
+ readonly
826
+ aria-controls="listbox"
827
+ aria-expanded=${this.open ? "true" : "false"}
828
+ aria-haspopup="listbox"
829
+ aria-labelledby="label"
830
+ aria-disabled=${this.disabled ? "true" : "false"}
831
+ aria-describedby="help-text"
832
+ role="combobox"
833
+ tabindex="0"
834
+ @focus=${this.handleFocus}
835
+ @blur=${this.handleBlur}
836
+ />
837
+
838
+ ${this.multiple ? v`<div part="tags" class="select__tags">${this.tags}</div>` : ""}
839
+
840
+ <input
841
+ class="select__value-input"
842
+ type="text"
843
+ ?disabled=${this.disabled}
844
+ ?required=${this.required}
845
+ .value=${Array.isArray(this.value) ? this.value.join(", ") : this.value}
846
+ tabindex="-1"
847
+ aria-hidden="true"
848
+ @focus=${() => this.focus()}
849
+ @invalid=${this.handleInvalid}
850
+ />
851
+
852
+ ${i ? v`
853
+ <button
854
+ part="clear-button"
855
+ class="select__clear"
856
+ type="button"
857
+ aria-label=${this.localize.term("clearEntry")}
858
+ @mousedown=${this.handleClearMouseDown}
859
+ @click=${this.handleClearClick}
860
+ tabindex="-1"
861
+ >
862
+ <slot name="clear-icon">
863
+ <sl-icon name="x-circle-fill" library="system"></sl-icon>
864
+ </slot>
865
+ </button>
866
+ ` : ""}
867
+
868
+ <slot name="suffix" part="suffix" class="select__suffix"></slot>
869
+
870
+ <slot name="expand-icon" part="expand-icon" class="select__expand-icon">
871
+ <sl-icon library="system" name="chevron-down"></sl-icon>
872
+ </slot>
873
+ </div>
874
+
875
+ <div
876
+ id="listbox"
877
+ role="listbox"
878
+ aria-expanded=${this.open ? "true" : "false"}
879
+ aria-multiselectable=${this.multiple ? "true" : "false"}
880
+ aria-labelledby="label"
881
+ part="listbox"
882
+ class="select__listbox"
883
+ tabindex="-1"
884
+ @mouseup=${this.handleOptionClick}
885
+ @slotchange=${this.handleDefaultSlotChange}
886
+ >
887
+ <slot></slot>
888
+ </div>
889
+ </sl-popup>
890
+ </div>
891
+
892
+ <div
893
+ part="form-control-help-text"
894
+ id="help-text"
895
+ class="form-control__help-text"
896
+ aria-hidden=${r ? "false" : "true"}
897
+ >
898
+ <slot name="help-text">${this.helpText}</slot>
899
+ </div>
900
+ </div>
901
+ `;
902
+ }
903
+ };
904
+ //#endregion
905
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.TP2GB2HO.js
906
+ D.styles = [
907
+ r,
908
+ m,
909
+ E
910
+ ], D.dependencies = {
911
+ "sl-icon": i,
912
+ "sl-popup": g,
913
+ "sl-tag": T
914
+ }, e([b(".select")], D.prototype, "popup", 2), e([b(".select__combobox")], D.prototype, "combobox", 2), e([b(".select__display-input")], D.prototype, "displayInput", 2), e([b(".select__value-input")], D.prototype, "valueInput", 2), e([b(".select__listbox")], D.prototype, "listbox", 2), e([x()], D.prototype, "hasFocus", 2), e([x()], D.prototype, "displayLabel", 2), e([x()], D.prototype, "currentOption", 2), e([x()], D.prototype, "selectedOptions", 2), e([x()], D.prototype, "valueHasChanged", 2), e([y()], D.prototype, "name", 2), e([x()], D.prototype, "value", 1), e([y({ attribute: "value" })], D.prototype, "defaultValue", 2), e([y({ reflect: !0 })], D.prototype, "size", 2), e([y()], D.prototype, "placeholder", 2), e([y({
915
+ type: Boolean,
916
+ reflect: !0
917
+ })], D.prototype, "multiple", 2), e([y({
918
+ attribute: "max-options-visible",
919
+ type: Number
920
+ })], D.prototype, "maxOptionsVisible", 2), e([y({
921
+ type: Boolean,
922
+ reflect: !0
923
+ })], D.prototype, "disabled", 2), e([y({ type: Boolean })], D.prototype, "clearable", 2), e([y({
924
+ type: Boolean,
925
+ reflect: !0
926
+ })], D.prototype, "open", 2), e([y({ type: Boolean })], D.prototype, "hoist", 2), e([y({
927
+ type: Boolean,
928
+ reflect: !0
929
+ })], D.prototype, "filled", 2), e([y({
930
+ type: Boolean,
931
+ reflect: !0
932
+ })], D.prototype, "pill", 2), e([y()], D.prototype, "label", 2), e([y({ reflect: !0 })], D.prototype, "placement", 2), e([y({ attribute: "help-text" })], D.prototype, "helpText", 2), e([y({ reflect: !0 })], D.prototype, "form", 2), e([y({
933
+ type: Boolean,
934
+ reflect: !0
935
+ })], D.prototype, "required", 2), e([y()], D.prototype, "getTag", 2), e([t("disabled", { waitUntilFirstUpdate: !0 })], D.prototype, "handleDisabledChange", 1), e([t(["defaultValue", "value"], { waitUntilFirstUpdate: !0 })], D.prototype, "handleValueChange", 1), e([t("open", { waitUntilFirstUpdate: !0 })], D.prototype, "handleOpenChange", 1), l("select.show", {
936
+ keyframes: [{
937
+ opacity: 0,
938
+ scale: .9
939
+ }, {
940
+ opacity: 1,
941
+ scale: 1
942
+ }],
943
+ options: {
944
+ duration: 100,
945
+ easing: "ease"
946
+ }
947
+ }), l("select.hide", {
948
+ keyframes: [{
949
+ opacity: 1,
950
+ scale: 1
951
+ }, {
952
+ opacity: 0,
953
+ scale: .9
954
+ }],
955
+ options: {
956
+ duration: 100,
957
+ easing: "ease"
958
+ }
959
+ }), D.define("sl-select");
960
+ //#endregion
961
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.FXXKMG2P.js
962
+ var O = _`
963
+ :host {
964
+ display: block;
965
+ user-select: none;
966
+ -webkit-user-select: none;
967
+ }
968
+
969
+ :host(:focus) {
970
+ outline: none;
971
+ }
972
+
973
+ .option {
974
+ position: relative;
975
+ display: flex;
976
+ align-items: center;
977
+ font-family: var(--sl-font-sans);
978
+ font-size: var(--sl-font-size-medium);
979
+ font-weight: var(--sl-font-weight-normal);
980
+ line-height: var(--sl-line-height-normal);
981
+ letter-spacing: var(--sl-letter-spacing-normal);
982
+ color: var(--sl-color-neutral-700);
983
+ padding: var(--sl-spacing-x-small) var(--sl-spacing-medium) var(--sl-spacing-x-small) var(--sl-spacing-x-small);
984
+ transition: var(--sl-transition-fast) fill;
985
+ cursor: pointer;
986
+ }
987
+
988
+ .option--hover:not(.option--current):not(.option--disabled) {
989
+ background-color: var(--sl-color-neutral-100);
990
+ color: var(--sl-color-neutral-1000);
991
+ }
992
+
993
+ .option--current,
994
+ .option--current.option--disabled {
995
+ background-color: var(--sl-color-primary-600);
996
+ color: var(--sl-color-neutral-0);
997
+ opacity: 1;
998
+ }
999
+
1000
+ .option--disabled {
1001
+ outline: none;
1002
+ opacity: 0.5;
1003
+ cursor: not-allowed;
1004
+ }
1005
+
1006
+ .option__label {
1007
+ flex: 1 1 auto;
1008
+ display: inline-block;
1009
+ line-height: var(--sl-line-height-dense);
1010
+ }
1011
+
1012
+ .option .option__check {
1013
+ flex: 0 0 auto;
1014
+ display: flex;
1015
+ align-items: center;
1016
+ justify-content: center;
1017
+ visibility: hidden;
1018
+ padding-inline-end: var(--sl-spacing-2x-small);
1019
+ }
1020
+
1021
+ .option--selected .option__check {
1022
+ visibility: visible;
1023
+ }
1024
+
1025
+ .option__prefix,
1026
+ .option__suffix {
1027
+ flex: 0 0 auto;
1028
+ display: flex;
1029
+ align-items: center;
1030
+ }
1031
+
1032
+ .option__prefix::slotted(*) {
1033
+ margin-inline-end: var(--sl-spacing-x-small);
1034
+ }
1035
+
1036
+ .option__suffix::slotted(*) {
1037
+ margin-inline-start: var(--sl-spacing-x-small);
1038
+ }
1039
+
1040
+ @media (forced-colors: active) {
1041
+ :host(:hover:not([aria-disabled='true'])) .option {
1042
+ outline: dashed 1px SelectedItem;
1043
+ outline-offset: -1px;
1044
+ }
1045
+ }
1046
+ `, k = class extends n {
1047
+ constructor() {
1048
+ super(...arguments), this.localize = new f(this), this.isInitialized = !1, this.current = !1, this.selected = !1, this.hasHover = !1, this.value = "", this.disabled = !1;
1049
+ }
1050
+ connectedCallback() {
1051
+ super.connectedCallback(), this.setAttribute("role", "option"), this.setAttribute("aria-selected", "false");
1052
+ }
1053
+ handleDefaultSlotChange() {
1054
+ this.isInitialized ? customElements.whenDefined("sl-select").then(() => {
1055
+ let e = this.closest("sl-select");
1056
+ e && e.handleDefaultSlotChange();
1057
+ }) : this.isInitialized = !0;
1058
+ }
1059
+ handleMouseEnter() {
1060
+ this.hasHover = !0;
1061
+ }
1062
+ handleMouseLeave() {
1063
+ this.hasHover = !1;
1064
+ }
1065
+ handleDisabledChange() {
1066
+ this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
1067
+ }
1068
+ handleSelectedChange() {
1069
+ this.setAttribute("aria-selected", this.selected ? "true" : "false");
1070
+ }
1071
+ handleValueChange() {
1072
+ typeof this.value != "string" && (this.value = String(this.value)), this.value.includes(" ") && (console.error("Option values cannot include a space. All spaces have been replaced with underscores.", this), this.value = this.value.replace(/ /g, "_"));
1073
+ }
1074
+ getTextLabel() {
1075
+ let e = this.childNodes, t = "";
1076
+ return [...e].forEach((e) => {
1077
+ e.nodeType === Node.ELEMENT_NODE && (e.hasAttribute("slot") || (t += e.textContent)), e.nodeType === Node.TEXT_NODE && (t += e.textContent);
1078
+ }), t.trim();
1079
+ }
1080
+ render() {
1081
+ return v`
1082
+ <div
1083
+ part="base"
1084
+ class=${S({
1085
+ option: !0,
1086
+ "option--current": this.current,
1087
+ "option--disabled": this.disabled,
1088
+ "option--selected": this.selected,
1089
+ "option--hover": this.hasHover
1090
+ })}
1091
+ @mouseenter=${this.handleMouseEnter}
1092
+ @mouseleave=${this.handleMouseLeave}
1093
+ >
1094
+ <sl-icon part="checked-icon" class="option__check" name="check" library="system" aria-hidden="true"></sl-icon>
1095
+ <slot part="prefix" name="prefix" class="option__prefix"></slot>
1096
+ <slot part="label" class="option__label" @slotchange=${this.handleDefaultSlotChange}></slot>
1097
+ <slot part="suffix" name="suffix" class="option__suffix"></slot>
1098
+ </div>
1099
+ `;
1100
+ }
1101
+ };
1102
+ //#endregion
1103
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.JXOKFADN.js
1104
+ k.styles = [r, O], k.dependencies = { "sl-icon": i }, e([b(".option__label")], k.prototype, "defaultSlot", 2), e([x()], k.prototype, "current", 2), e([x()], k.prototype, "selected", 2), e([x()], k.prototype, "hasHover", 2), e([y({ reflect: !0 })], k.prototype, "value", 2), e([y({
1105
+ type: Boolean,
1106
+ reflect: !0
1107
+ })], k.prototype, "disabled", 2), e([t("disabled")], k.prototype, "handleDisabledChange", 1), e([t("selected")], k.prototype, "handleSelectedChange", 1), e([t("value")], k.prototype, "handleValueChange", 1), k.define("sl-option");
1108
+ //#endregion