@edugis-org/webmapx 0.1.8 → 0.1.10

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-EOqZodjr.js → webmapx-coordinates-tool-nwlckVn6.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 -310
  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,744 @@
1
+ import { a as e, i as t, n, r, t as i } from "./chunk.YHLNUJ7P-ByKy0MKm.js";
2
+ import { t as a } from "./chunk.NYIIDP5N-B4UCI-rQ.js";
3
+ import { t as o } from "./chunk.6CTB5ZDJ-DjZrBd6Y.js";
4
+ import { t as s } from "./chunk.36O46B5H-km1dakSW.js";
5
+ import { r as c, t as l } from "./chunk.3RPBFEDE-Cxq6VVR6.js";
6
+ import { css as u } from "lit";
7
+ import { property as d, query as f, state as p } from "lit/decorators.js";
8
+ import { classMap as m } from "lit/directives/class-map.js";
9
+ import { html as h, literal as g } from "lit/static-html.js";
10
+ import { ifDefined as _ } from "lit/directives/if-defined.js";
11
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.MAQXLKQ7.js
12
+ var v = u`
13
+ :host {
14
+ display: inline-block;
15
+ position: relative;
16
+ width: auto;
17
+ cursor: pointer;
18
+ }
19
+
20
+ .button {
21
+ display: inline-flex;
22
+ align-items: stretch;
23
+ justify-content: center;
24
+ width: 100%;
25
+ border-style: solid;
26
+ border-width: var(--sl-input-border-width);
27
+ font-family: var(--sl-input-font-family);
28
+ font-weight: var(--sl-font-weight-semibold);
29
+ text-decoration: none;
30
+ user-select: none;
31
+ -webkit-user-select: none;
32
+ white-space: nowrap;
33
+ vertical-align: middle;
34
+ padding: 0;
35
+ transition:
36
+ var(--sl-transition-x-fast) background-color,
37
+ var(--sl-transition-x-fast) color,
38
+ var(--sl-transition-x-fast) border,
39
+ var(--sl-transition-x-fast) box-shadow;
40
+ cursor: inherit;
41
+ }
42
+
43
+ .button::-moz-focus-inner {
44
+ border: 0;
45
+ }
46
+
47
+ .button:focus {
48
+ outline: none;
49
+ }
50
+
51
+ .button:focus-visible {
52
+ outline: var(--sl-focus-ring);
53
+ outline-offset: var(--sl-focus-ring-offset);
54
+ }
55
+
56
+ .button--disabled {
57
+ opacity: 0.5;
58
+ cursor: not-allowed;
59
+ }
60
+
61
+ /* When disabled, prevent mouse events from bubbling up from children */
62
+ .button--disabled * {
63
+ pointer-events: none;
64
+ }
65
+
66
+ .button__prefix,
67
+ .button__suffix {
68
+ flex: 0 0 auto;
69
+ display: flex;
70
+ align-items: center;
71
+ pointer-events: none;
72
+ }
73
+
74
+ .button__label {
75
+ display: inline-block;
76
+ }
77
+
78
+ .button__label::slotted(sl-icon) {
79
+ vertical-align: -2px;
80
+ }
81
+
82
+ /*
83
+ * Standard buttons
84
+ */
85
+
86
+ /* Default */
87
+ .button--standard.button--default {
88
+ background-color: var(--sl-color-neutral-0);
89
+ border-color: var(--sl-input-border-color);
90
+ color: var(--sl-color-neutral-700);
91
+ }
92
+
93
+ .button--standard.button--default:hover:not(.button--disabled) {
94
+ background-color: var(--sl-color-primary-50);
95
+ border-color: var(--sl-color-primary-300);
96
+ color: var(--sl-color-primary-700);
97
+ }
98
+
99
+ .button--standard.button--default:active:not(.button--disabled) {
100
+ background-color: var(--sl-color-primary-100);
101
+ border-color: var(--sl-color-primary-400);
102
+ color: var(--sl-color-primary-700);
103
+ }
104
+
105
+ /* Primary */
106
+ .button--standard.button--primary {
107
+ background-color: var(--sl-color-primary-600);
108
+ border-color: var(--sl-color-primary-600);
109
+ color: var(--sl-color-neutral-0);
110
+ }
111
+
112
+ .button--standard.button--primary:hover:not(.button--disabled) {
113
+ background-color: var(--sl-color-primary-500);
114
+ border-color: var(--sl-color-primary-500);
115
+ color: var(--sl-color-neutral-0);
116
+ }
117
+
118
+ .button--standard.button--primary:active:not(.button--disabled) {
119
+ background-color: var(--sl-color-primary-600);
120
+ border-color: var(--sl-color-primary-600);
121
+ color: var(--sl-color-neutral-0);
122
+ }
123
+
124
+ /* Success */
125
+ .button--standard.button--success {
126
+ background-color: var(--sl-color-success-600);
127
+ border-color: var(--sl-color-success-600);
128
+ color: var(--sl-color-neutral-0);
129
+ }
130
+
131
+ .button--standard.button--success:hover:not(.button--disabled) {
132
+ background-color: var(--sl-color-success-500);
133
+ border-color: var(--sl-color-success-500);
134
+ color: var(--sl-color-neutral-0);
135
+ }
136
+
137
+ .button--standard.button--success:active:not(.button--disabled) {
138
+ background-color: var(--sl-color-success-600);
139
+ border-color: var(--sl-color-success-600);
140
+ color: var(--sl-color-neutral-0);
141
+ }
142
+
143
+ /* Neutral */
144
+ .button--standard.button--neutral {
145
+ background-color: var(--sl-color-neutral-600);
146
+ border-color: var(--sl-color-neutral-600);
147
+ color: var(--sl-color-neutral-0);
148
+ }
149
+
150
+ .button--standard.button--neutral:hover:not(.button--disabled) {
151
+ background-color: var(--sl-color-neutral-500);
152
+ border-color: var(--sl-color-neutral-500);
153
+ color: var(--sl-color-neutral-0);
154
+ }
155
+
156
+ .button--standard.button--neutral:active:not(.button--disabled) {
157
+ background-color: var(--sl-color-neutral-600);
158
+ border-color: var(--sl-color-neutral-600);
159
+ color: var(--sl-color-neutral-0);
160
+ }
161
+
162
+ /* Warning */
163
+ .button--standard.button--warning {
164
+ background-color: var(--sl-color-warning-600);
165
+ border-color: var(--sl-color-warning-600);
166
+ color: var(--sl-color-neutral-0);
167
+ }
168
+ .button--standard.button--warning:hover:not(.button--disabled) {
169
+ background-color: var(--sl-color-warning-500);
170
+ border-color: var(--sl-color-warning-500);
171
+ color: var(--sl-color-neutral-0);
172
+ }
173
+
174
+ .button--standard.button--warning:active:not(.button--disabled) {
175
+ background-color: var(--sl-color-warning-600);
176
+ border-color: var(--sl-color-warning-600);
177
+ color: var(--sl-color-neutral-0);
178
+ }
179
+
180
+ /* Danger */
181
+ .button--standard.button--danger {
182
+ background-color: var(--sl-color-danger-600);
183
+ border-color: var(--sl-color-danger-600);
184
+ color: var(--sl-color-neutral-0);
185
+ }
186
+
187
+ .button--standard.button--danger:hover:not(.button--disabled) {
188
+ background-color: var(--sl-color-danger-500);
189
+ border-color: var(--sl-color-danger-500);
190
+ color: var(--sl-color-neutral-0);
191
+ }
192
+
193
+ .button--standard.button--danger:active:not(.button--disabled) {
194
+ background-color: var(--sl-color-danger-600);
195
+ border-color: var(--sl-color-danger-600);
196
+ color: var(--sl-color-neutral-0);
197
+ }
198
+
199
+ /*
200
+ * Outline buttons
201
+ */
202
+
203
+ .button--outline {
204
+ background: none;
205
+ border: solid 1px;
206
+ }
207
+
208
+ /* Default */
209
+ .button--outline.button--default {
210
+ border-color: var(--sl-input-border-color);
211
+ color: var(--sl-color-neutral-700);
212
+ }
213
+
214
+ .button--outline.button--default:hover:not(.button--disabled),
215
+ .button--outline.button--default.button--checked:not(.button--disabled) {
216
+ border-color: var(--sl-color-primary-600);
217
+ background-color: var(--sl-color-primary-600);
218
+ color: var(--sl-color-neutral-0);
219
+ }
220
+
221
+ .button--outline.button--default:active:not(.button--disabled) {
222
+ border-color: var(--sl-color-primary-700);
223
+ background-color: var(--sl-color-primary-700);
224
+ color: var(--sl-color-neutral-0);
225
+ }
226
+
227
+ /* Primary */
228
+ .button--outline.button--primary {
229
+ border-color: var(--sl-color-primary-600);
230
+ color: var(--sl-color-primary-600);
231
+ }
232
+
233
+ .button--outline.button--primary:hover:not(.button--disabled),
234
+ .button--outline.button--primary.button--checked:not(.button--disabled) {
235
+ background-color: var(--sl-color-primary-600);
236
+ color: var(--sl-color-neutral-0);
237
+ }
238
+
239
+ .button--outline.button--primary:active:not(.button--disabled) {
240
+ border-color: var(--sl-color-primary-700);
241
+ background-color: var(--sl-color-primary-700);
242
+ color: var(--sl-color-neutral-0);
243
+ }
244
+
245
+ /* Success */
246
+ .button--outline.button--success {
247
+ border-color: var(--sl-color-success-600);
248
+ color: var(--sl-color-success-600);
249
+ }
250
+
251
+ .button--outline.button--success:hover:not(.button--disabled),
252
+ .button--outline.button--success.button--checked:not(.button--disabled) {
253
+ background-color: var(--sl-color-success-600);
254
+ color: var(--sl-color-neutral-0);
255
+ }
256
+
257
+ .button--outline.button--success:active:not(.button--disabled) {
258
+ border-color: var(--sl-color-success-700);
259
+ background-color: var(--sl-color-success-700);
260
+ color: var(--sl-color-neutral-0);
261
+ }
262
+
263
+ /* Neutral */
264
+ .button--outline.button--neutral {
265
+ border-color: var(--sl-color-neutral-600);
266
+ color: var(--sl-color-neutral-600);
267
+ }
268
+
269
+ .button--outline.button--neutral:hover:not(.button--disabled),
270
+ .button--outline.button--neutral.button--checked:not(.button--disabled) {
271
+ background-color: var(--sl-color-neutral-600);
272
+ color: var(--sl-color-neutral-0);
273
+ }
274
+
275
+ .button--outline.button--neutral:active:not(.button--disabled) {
276
+ border-color: var(--sl-color-neutral-700);
277
+ background-color: var(--sl-color-neutral-700);
278
+ color: var(--sl-color-neutral-0);
279
+ }
280
+
281
+ /* Warning */
282
+ .button--outline.button--warning {
283
+ border-color: var(--sl-color-warning-600);
284
+ color: var(--sl-color-warning-600);
285
+ }
286
+
287
+ .button--outline.button--warning:hover:not(.button--disabled),
288
+ .button--outline.button--warning.button--checked:not(.button--disabled) {
289
+ background-color: var(--sl-color-warning-600);
290
+ color: var(--sl-color-neutral-0);
291
+ }
292
+
293
+ .button--outline.button--warning:active:not(.button--disabled) {
294
+ border-color: var(--sl-color-warning-700);
295
+ background-color: var(--sl-color-warning-700);
296
+ color: var(--sl-color-neutral-0);
297
+ }
298
+
299
+ /* Danger */
300
+ .button--outline.button--danger {
301
+ border-color: var(--sl-color-danger-600);
302
+ color: var(--sl-color-danger-600);
303
+ }
304
+
305
+ .button--outline.button--danger:hover:not(.button--disabled),
306
+ .button--outline.button--danger.button--checked:not(.button--disabled) {
307
+ background-color: var(--sl-color-danger-600);
308
+ color: var(--sl-color-neutral-0);
309
+ }
310
+
311
+ .button--outline.button--danger:active:not(.button--disabled) {
312
+ border-color: var(--sl-color-danger-700);
313
+ background-color: var(--sl-color-danger-700);
314
+ color: var(--sl-color-neutral-0);
315
+ }
316
+
317
+ @media (forced-colors: active) {
318
+ .button.button--outline.button--checked:not(.button--disabled) {
319
+ outline: solid 2px transparent;
320
+ }
321
+ }
322
+
323
+ /*
324
+ * Text buttons
325
+ */
326
+
327
+ .button--text {
328
+ background-color: transparent;
329
+ border-color: transparent;
330
+ color: var(--sl-color-primary-600);
331
+ }
332
+
333
+ .button--text:hover:not(.button--disabled) {
334
+ background-color: transparent;
335
+ border-color: transparent;
336
+ color: var(--sl-color-primary-500);
337
+ }
338
+
339
+ .button--text:focus-visible:not(.button--disabled) {
340
+ background-color: transparent;
341
+ border-color: transparent;
342
+ color: var(--sl-color-primary-500);
343
+ }
344
+
345
+ .button--text:active:not(.button--disabled) {
346
+ background-color: transparent;
347
+ border-color: transparent;
348
+ color: var(--sl-color-primary-700);
349
+ }
350
+
351
+ /*
352
+ * Size modifiers
353
+ */
354
+
355
+ .button--small {
356
+ height: auto;
357
+ min-height: var(--sl-input-height-small);
358
+ font-size: var(--sl-button-font-size-small);
359
+ line-height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
360
+ border-radius: var(--sl-input-border-radius-small);
361
+ }
362
+
363
+ .button--medium {
364
+ height: auto;
365
+ min-height: var(--sl-input-height-medium);
366
+ font-size: var(--sl-button-font-size-medium);
367
+ line-height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
368
+ border-radius: var(--sl-input-border-radius-medium);
369
+ }
370
+
371
+ .button--large {
372
+ height: auto;
373
+ min-height: var(--sl-input-height-large);
374
+ font-size: var(--sl-button-font-size-large);
375
+ line-height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
376
+ border-radius: var(--sl-input-border-radius-large);
377
+ }
378
+
379
+ /*
380
+ * Pill modifier
381
+ */
382
+
383
+ .button--pill.button--small {
384
+ border-radius: var(--sl-input-height-small);
385
+ }
386
+
387
+ .button--pill.button--medium {
388
+ border-radius: var(--sl-input-height-medium);
389
+ }
390
+
391
+ .button--pill.button--large {
392
+ border-radius: var(--sl-input-height-large);
393
+ }
394
+
395
+ /*
396
+ * Circle modifier
397
+ */
398
+
399
+ .button--circle {
400
+ padding-left: 0;
401
+ padding-right: 0;
402
+ }
403
+
404
+ .button--circle.button--small {
405
+ width: var(--sl-input-height-small);
406
+ border-radius: 50%;
407
+ }
408
+
409
+ .button--circle.button--medium {
410
+ width: var(--sl-input-height-medium);
411
+ border-radius: 50%;
412
+ }
413
+
414
+ .button--circle.button--large {
415
+ width: var(--sl-input-height-large);
416
+ border-radius: 50%;
417
+ }
418
+
419
+ .button--circle .button__prefix,
420
+ .button--circle .button__suffix,
421
+ .button--circle .button__caret {
422
+ display: none;
423
+ }
424
+
425
+ /*
426
+ * Caret modifier
427
+ */
428
+
429
+ .button--caret .button__suffix {
430
+ display: none;
431
+ }
432
+
433
+ .button--caret .button__caret {
434
+ height: auto;
435
+ }
436
+
437
+ /*
438
+ * Loading modifier
439
+ */
440
+
441
+ .button--loading {
442
+ position: relative;
443
+ cursor: wait;
444
+ }
445
+
446
+ .button--loading .button__prefix,
447
+ .button--loading .button__label,
448
+ .button--loading .button__suffix,
449
+ .button--loading .button__caret {
450
+ visibility: hidden;
451
+ }
452
+
453
+ .button--loading sl-spinner {
454
+ --indicator-color: currentColor;
455
+ position: absolute;
456
+ font-size: 1em;
457
+ height: 1em;
458
+ width: 1em;
459
+ top: calc(50% - 0.5em);
460
+ left: calc(50% - 0.5em);
461
+ }
462
+
463
+ /*
464
+ * Badges
465
+ */
466
+
467
+ .button ::slotted(sl-badge) {
468
+ position: absolute;
469
+ top: 0;
470
+ right: 0;
471
+ translate: 50% -50%;
472
+ pointer-events: none;
473
+ }
474
+
475
+ .button--rtl ::slotted(sl-badge) {
476
+ right: auto;
477
+ left: 0;
478
+ translate: -50% -50%;
479
+ }
480
+
481
+ /*
482
+ * Button spacing
483
+ */
484
+
485
+ .button--has-label.button--small .button__label {
486
+ padding: 0 var(--sl-spacing-small);
487
+ }
488
+
489
+ .button--has-label.button--medium .button__label {
490
+ padding: 0 var(--sl-spacing-medium);
491
+ }
492
+
493
+ .button--has-label.button--large .button__label {
494
+ padding: 0 var(--sl-spacing-large);
495
+ }
496
+
497
+ .button--has-prefix.button--small {
498
+ padding-inline-start: var(--sl-spacing-x-small);
499
+ }
500
+
501
+ .button--has-prefix.button--small .button__label {
502
+ padding-inline-start: var(--sl-spacing-x-small);
503
+ }
504
+
505
+ .button--has-prefix.button--medium {
506
+ padding-inline-start: var(--sl-spacing-small);
507
+ }
508
+
509
+ .button--has-prefix.button--medium .button__label {
510
+ padding-inline-start: var(--sl-spacing-small);
511
+ }
512
+
513
+ .button--has-prefix.button--large {
514
+ padding-inline-start: var(--sl-spacing-small);
515
+ }
516
+
517
+ .button--has-prefix.button--large .button__label {
518
+ padding-inline-start: var(--sl-spacing-small);
519
+ }
520
+
521
+ .button--has-suffix.button--small,
522
+ .button--caret.button--small {
523
+ padding-inline-end: var(--sl-spacing-x-small);
524
+ }
525
+
526
+ .button--has-suffix.button--small .button__label,
527
+ .button--caret.button--small .button__label {
528
+ padding-inline-end: var(--sl-spacing-x-small);
529
+ }
530
+
531
+ .button--has-suffix.button--medium,
532
+ .button--caret.button--medium {
533
+ padding-inline-end: var(--sl-spacing-small);
534
+ }
535
+
536
+ .button--has-suffix.button--medium .button__label,
537
+ .button--caret.button--medium .button__label {
538
+ padding-inline-end: var(--sl-spacing-small);
539
+ }
540
+
541
+ .button--has-suffix.button--large,
542
+ .button--caret.button--large {
543
+ padding-inline-end: var(--sl-spacing-small);
544
+ }
545
+
546
+ .button--has-suffix.button--large .button__label,
547
+ .button--caret.button--large .button__label {
548
+ padding-inline-end: var(--sl-spacing-small);
549
+ }
550
+
551
+ /*
552
+ * Button groups support a variety of button types (e.g. buttons with tooltips, buttons as dropdown triggers, etc.).
553
+ * This means buttons aren't always direct descendants of the button group, thus we can't target them with the
554
+ * ::slotted selector. To work around this, the button group component does some magic to add these special classes to
555
+ * buttons and we style them here instead.
556
+ */
557
+
558
+ :host([data-sl-button-group__button--first]:not([data-sl-button-group__button--last])) .button {
559
+ border-start-end-radius: 0;
560
+ border-end-end-radius: 0;
561
+ }
562
+
563
+ :host([data-sl-button-group__button--inner]) .button {
564
+ border-radius: 0;
565
+ }
566
+
567
+ :host([data-sl-button-group__button--last]:not([data-sl-button-group__button--first])) .button {
568
+ border-start-start-radius: 0;
569
+ border-end-start-radius: 0;
570
+ }
571
+
572
+ /* All except the first */
573
+ :host([data-sl-button-group__button]:not([data-sl-button-group__button--first])) {
574
+ margin-inline-start: calc(-1 * var(--sl-input-border-width));
575
+ }
576
+
577
+ /* Add a visual separator between solid buttons */
578
+ :host(
579
+ [data-sl-button-group__button]:not(
580
+ [data-sl-button-group__button--first],
581
+ [data-sl-button-group__button--radio],
582
+ [variant='default']
583
+ ):not(:hover)
584
+ )
585
+ .button:after {
586
+ content: '';
587
+ position: absolute;
588
+ top: 0;
589
+ inset-inline-start: 0;
590
+ bottom: 0;
591
+ border-left: solid 1px rgb(128 128 128 / 33%);
592
+ mix-blend-mode: multiply;
593
+ }
594
+
595
+ /* Bump hovered, focused, and checked buttons up so their focus ring isn't clipped */
596
+ :host([data-sl-button-group__button--hover]) {
597
+ z-index: 1;
598
+ }
599
+
600
+ /* Focus and checked are always on top */
601
+ :host([data-sl-button-group__button--focus]),
602
+ :host([data-sl-button-group__button][checked]) {
603
+ z-index: 2;
604
+ }
605
+ `, y = class extends n {
606
+ constructor() {
607
+ super(...arguments), this.formControlController = new l(this, { assumeInteractionOn: ["click"] }), this.hasSlotController = new a(this, "[default]", "prefix", "suffix"), this.localize = new o(this), this.hasFocus = !1, this.invalid = !1, this.title = "", this.variant = "default", this.size = "medium", this.caret = !1, this.disabled = !1, this.loading = !1, this.outline = !1, this.pill = !1, this.circle = !1, this.type = "button", this.name = "", this.value = "", this.href = "", this.rel = "noreferrer noopener";
608
+ }
609
+ get validity() {
610
+ return this.isButton() ? this.button.validity : c;
611
+ }
612
+ get validationMessage() {
613
+ return this.isButton() ? this.button.validationMessage : "";
614
+ }
615
+ firstUpdated() {
616
+ this.isButton() && this.formControlController.updateValidity();
617
+ }
618
+ handleBlur() {
619
+ this.hasFocus = !1, this.emit("sl-blur");
620
+ }
621
+ handleFocus() {
622
+ this.hasFocus = !0, this.emit("sl-focus");
623
+ }
624
+ handleClick() {
625
+ this.type === "submit" && this.formControlController.submit(this), this.type === "reset" && this.formControlController.reset(this);
626
+ }
627
+ handleInvalid(e) {
628
+ this.formControlController.setValidity(!1), this.formControlController.emitInvalidEvent(e);
629
+ }
630
+ isButton() {
631
+ return !this.href;
632
+ }
633
+ isLink() {
634
+ return !!this.href;
635
+ }
636
+ handleDisabledChange() {
637
+ this.isButton() && this.formControlController.setValidity(this.disabled);
638
+ }
639
+ click() {
640
+ this.button.click();
641
+ }
642
+ focus(e) {
643
+ this.button.focus(e);
644
+ }
645
+ blur() {
646
+ this.button.blur();
647
+ }
648
+ checkValidity() {
649
+ return this.isButton() ? this.button.checkValidity() : !0;
650
+ }
651
+ getForm() {
652
+ return this.formControlController.getForm();
653
+ }
654
+ reportValidity() {
655
+ return this.isButton() ? this.button.reportValidity() : !0;
656
+ }
657
+ setCustomValidity(e) {
658
+ this.isButton() && (this.button.setCustomValidity(e), this.formControlController.updateValidity());
659
+ }
660
+ render() {
661
+ let e = this.isLink(), t = e ? g`a` : g`button`;
662
+ return h`
663
+ <${t}
664
+ part="base"
665
+ class=${m({
666
+ button: !0,
667
+ "button--default": this.variant === "default",
668
+ "button--primary": this.variant === "primary",
669
+ "button--success": this.variant === "success",
670
+ "button--neutral": this.variant === "neutral",
671
+ "button--warning": this.variant === "warning",
672
+ "button--danger": this.variant === "danger",
673
+ "button--text": this.variant === "text",
674
+ "button--small": this.size === "small",
675
+ "button--medium": this.size === "medium",
676
+ "button--large": this.size === "large",
677
+ "button--caret": this.caret,
678
+ "button--circle": this.circle,
679
+ "button--disabled": this.disabled,
680
+ "button--focused": this.hasFocus,
681
+ "button--loading": this.loading,
682
+ "button--standard": !this.outline,
683
+ "button--outline": this.outline,
684
+ "button--pill": this.pill,
685
+ "button--rtl": this.localize.dir() === "rtl",
686
+ "button--has-label": this.hasSlotController.test("[default]"),
687
+ "button--has-prefix": this.hasSlotController.test("prefix"),
688
+ "button--has-suffix": this.hasSlotController.test("suffix")
689
+ })}
690
+ ?disabled=${_(e ? void 0 : this.disabled)}
691
+ type=${_(e ? void 0 : this.type)}
692
+ title=${this.title}
693
+ name=${_(e ? void 0 : this.name)}
694
+ value=${_(e ? void 0 : this.value)}
695
+ href=${_(e && !this.disabled ? this.href : void 0)}
696
+ target=${_(e ? this.target : void 0)}
697
+ download=${_(e ? this.download : void 0)}
698
+ rel=${_(e ? this.rel : void 0)}
699
+ role=${_(e ? void 0 : "button")}
700
+ aria-disabled=${this.disabled ? "true" : "false"}
701
+ tabindex=${this.disabled ? "-1" : "0"}
702
+ @blur=${this.handleBlur}
703
+ @focus=${this.handleFocus}
704
+ @invalid=${this.isButton() ? this.handleInvalid : null}
705
+ @click=${this.handleClick}
706
+ >
707
+ <slot name="prefix" part="prefix" class="button__prefix"></slot>
708
+ <slot part="label" class="button__label"></slot>
709
+ <slot name="suffix" part="suffix" class="button__suffix"></slot>
710
+ ${this.caret ? h` <sl-icon part="caret" class="button__caret" library="system" name="caret"></sl-icon> ` : ""}
711
+ ${this.loading ? h`<sl-spinner part="spinner"></sl-spinner>` : ""}
712
+ </${t}>
713
+ `;
714
+ }
715
+ };
716
+ //#endregion
717
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.JCXLDPQF.js
718
+ y.styles = [r, v], y.dependencies = {
719
+ "sl-icon": i,
720
+ "sl-spinner": s
721
+ }, e([f(".button")], y.prototype, "button", 2), e([p()], y.prototype, "hasFocus", 2), e([p()], y.prototype, "invalid", 2), e([d()], y.prototype, "title", 2), e([d({ reflect: !0 })], y.prototype, "variant", 2), e([d({ reflect: !0 })], y.prototype, "size", 2), e([d({
722
+ type: Boolean,
723
+ reflect: !0
724
+ })], y.prototype, "caret", 2), e([d({
725
+ type: Boolean,
726
+ reflect: !0
727
+ })], y.prototype, "disabled", 2), e([d({
728
+ type: Boolean,
729
+ reflect: !0
730
+ })], y.prototype, "loading", 2), e([d({
731
+ type: Boolean,
732
+ reflect: !0
733
+ })], y.prototype, "outline", 2), e([d({
734
+ type: Boolean,
735
+ reflect: !0
736
+ })], y.prototype, "pill", 2), e([d({
737
+ type: Boolean,
738
+ reflect: !0
739
+ })], y.prototype, "circle", 2), e([d()], y.prototype, "type", 2), e([d()], y.prototype, "name", 2), e([d()], y.prototype, "value", 2), e([d()], y.prototype, "href", 2), e([d()], y.prototype, "target", 2), e([d()], y.prototype, "rel", 2), e([d()], y.prototype, "download", 2), e([d()], y.prototype, "form", 2), e([d({ attribute: "formaction" })], y.prototype, "formAction", 2), e([d({ attribute: "formenctype" })], y.prototype, "formEnctype", 2), e([d({ attribute: "formmethod" })], y.prototype, "formMethod", 2), e([d({
740
+ attribute: "formnovalidate",
741
+ type: Boolean
742
+ })], y.prototype, "formNoValidate", 2), e([d({ attribute: "formtarget" })], y.prototype, "formTarget", 2), e([t("disabled", { waitUntilFirstUpdate: !0 })], y.prototype, "handleDisabledChange", 1), y.define("sl-button");
743
+ //#endregion
744
+ export { y as t };