@sky.ui/core 0.0.39 → 0.0.40

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 (86) hide show
  1. package/dist/custom-elements.json +1730 -1730
  2. package/dist/helper/controllers/animation-controller.d.ts +4 -4
  3. package/dist/helper/controllers/animation-controller.js.map +1 -1
  4. package/dist/helper/controllers/popover-controller.d.ts +11 -11
  5. package/dist/helper/controllers/popover-controller.js.map +1 -1
  6. package/dist/helper/iconify-offline.js.map +1 -1
  7. package/dist/helper/internals/form-control-base.d.ts +4 -4
  8. package/dist/helper/internals/form-control-base.js.map +1 -1
  9. package/dist/helper/utils/color-resolver.js.map +1 -1
  10. package/dist/helper/utils/contrast-color.d.ts +4 -4
  11. package/dist/helper/utils/contrast-color.js.map +1 -1
  12. package/dist/helper/utils/size-resolver.js.map +1 -1
  13. package/dist/sky-alert/sky-alert.d.ts +5 -5
  14. package/dist/sky-alert/sky-alert.js +16 -6
  15. package/dist/sky-alert/sky-alert.js.map +1 -1
  16. package/dist/sky-appbar/sky-appbar.d.ts +2 -2
  17. package/dist/sky-appbar/sky-appbar.js +15 -23
  18. package/dist/sky-appbar/sky-appbar.js.map +1 -1
  19. package/dist/sky-avatar/sky-avatar.d.ts +3 -3
  20. package/dist/sky-avatar/sky-avatar.js +8 -11
  21. package/dist/sky-avatar/sky-avatar.js.map +1 -1
  22. package/dist/sky-badge/sky-badge.d.ts +5 -5
  23. package/dist/sky-badge/sky-badge.js +10 -6
  24. package/dist/sky-badge/sky-badge.js.map +1 -1
  25. package/dist/sky-button/sky-button.d.ts +5 -5
  26. package/dist/sky-button/sky-button.js +24 -15
  27. package/dist/sky-button/sky-button.js.map +1 -1
  28. package/dist/sky-card/sky-card.d.ts +5 -5
  29. package/dist/sky-card/sky-card.js +20 -20
  30. package/dist/sky-card/sky-card.js.map +1 -1
  31. package/dist/sky-checkbox/sky-checkbox.d.ts +2 -2
  32. package/dist/sky-checkbox/sky-checkbox.js +67 -59
  33. package/dist/sky-checkbox/sky-checkbox.js.map +1 -1
  34. package/dist/sky-chip/sky-chip.d.ts +3 -3
  35. package/dist/sky-chip/sky-chip.js +34 -25
  36. package/dist/sky-chip/sky-chip.js.map +1 -1
  37. package/dist/sky-col/sky-col.d.ts +4 -4
  38. package/dist/sky-col/sky-col.js +8 -3
  39. package/dist/sky-col/sky-col.js.map +1 -1
  40. package/dist/sky-combobox/sky-combobox.d.ts +8 -8
  41. package/dist/sky-combobox/sky-combobox.js +201 -168
  42. package/dist/sky-combobox/sky-combobox.js.map +1 -1
  43. package/dist/sky-dialog/sky-dialog.d.ts +4 -4
  44. package/dist/sky-dialog/sky-dialog.js +17 -19
  45. package/dist/sky-dialog/sky-dialog.js.map +1 -1
  46. package/dist/sky-divider/sky-divider.d.ts +3 -3
  47. package/dist/sky-divider/sky-divider.js.map +1 -1
  48. package/dist/sky-flexbox/sky-flexbox.d.ts +7 -7
  49. package/dist/sky-flexbox/sky-flexbox.js +2 -2
  50. package/dist/sky-flexbox/sky-flexbox.js.map +1 -1
  51. package/dist/sky-flexcol/sky-flexcol.d.ts +3 -3
  52. package/dist/sky-flexcol/sky-flexcol.js.map +1 -1
  53. package/dist/sky-form/sky-form.d.ts +12 -12
  54. package/dist/sky-form/sky-form.js +12 -12
  55. package/dist/sky-form/sky-form.js.map +1 -1
  56. package/dist/sky-grid/sky-grid.d.ts +2 -2
  57. package/dist/sky-grid/sky-grid.js.map +1 -1
  58. package/dist/sky-icon/sky-icon.d.ts +1 -1
  59. package/dist/sky-icon/sky-icon.js +1 -1
  60. package/dist/sky-icon/sky-icon.js.map +1 -1
  61. package/dist/sky-image/sky-image.d.ts +5 -5
  62. package/dist/sky-image/sky-image.js.map +1 -1
  63. package/dist/sky-image/srcset-utils.js.map +1 -1
  64. package/dist/sky-input/sky-input.d.ts +6 -6
  65. package/dist/sky-input/sky-input.js +103 -88
  66. package/dist/sky-input/sky-input.js.map +1 -1
  67. package/dist/sky-list/sky-list.d.ts +4 -4
  68. package/dist/sky-list/sky-list.js +1 -3
  69. package/dist/sky-list/sky-list.js.map +1 -1
  70. package/dist/sky-listitem/sky-listitem.d.ts +2 -2
  71. package/dist/sky-listitem/sky-listitem.js +4 -7
  72. package/dist/sky-listitem/sky-listitem.js.map +1 -1
  73. package/dist/sky-radio/sky-radio.d.ts +3 -3
  74. package/dist/sky-radio/sky-radio.js +6 -3
  75. package/dist/sky-radio/sky-radio.js.map +1 -1
  76. package/dist/sky-row/sky-row.d.ts +2 -2
  77. package/dist/sky-row/sky-row.js.map +1 -1
  78. package/dist/sky-sheet/sky-sheet.d.ts +6 -6
  79. package/dist/sky-sheet/sky-sheet.js +21 -21
  80. package/dist/sky-sheet/sky-sheet.js.map +1 -1
  81. package/dist/sky-simple-table/sky-simple-table.d.ts +4 -4
  82. package/dist/sky-simple-table/sky-simple-table.js +4 -1
  83. package/dist/sky-simple-table/sky-simple-table.js.map +1 -1
  84. package/dist/sky-theme-provider/sky-theme-provider.d.ts +27 -27
  85. package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -1
  86. package/package.json +2 -2
@@ -194,15 +194,13 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
194
194
  ${o?this.renderInputAffix("prefix"):s}
195
195
  ${S()}
196
196
  ${o?this.renderInputAffix("suffix"):s}
197
- ${x()} ${w()}
198
- ${$()}
197
+ ${x()} ${w()} ${$()}
199
198
  `,C=i`
200
199
  ${f()}
201
200
  ${o?this.renderInputAffix("prefix"):s}
202
201
  ${S()}
203
202
  ${o?this.renderInputAffix("suffix"):s}
204
- ${x()} ${w()}
205
- ${$()} ${m()}
203
+ ${x()} ${w()} ${$()} ${m()}
206
204
  `,A=i`
207
205
  ${f()}
208
206
  <div class="input-inside-main">
@@ -218,29 +216,28 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
218
216
  >
219
217
  ${F||I?s:z}
220
218
  ${F?i`<fieldset
221
- class="input-wrapper"
222
- part="input-wrapper"
223
- ?compact=${this.compact}
224
- ?loading=${this.loading}
225
- >
226
- ${z}
227
- <div class="input-fieldset-body">
228
- ${f()}
229
- ${o?this.renderInputAffix("prefix"):s}
230
- ${S()}
231
- ${o?this.renderInputAffix("suffix"):s}
232
- ${x()} ${w()}
233
- ${$()} ${m()}
234
- </div>
235
- </fieldset>`:i`<div
236
- class="input-wrapper"
237
- part="input-wrapper"
238
- ?compact=${this.compact}
239
- ?loading=${this.loading}
240
- >
241
- ${I?A:C}
242
- </div>`}
243
-
219
+ class="input-wrapper"
220
+ part="input-wrapper"
221
+ ?compact=${this.compact}
222
+ ?loading=${this.loading}
223
+ >
224
+ ${z}
225
+ <div class="input-fieldset-body">
226
+ ${f()}
227
+ ${o?this.renderInputAffix("prefix"):s}
228
+ ${S()}
229
+ ${o?this.renderInputAffix("suffix"):s}
230
+ ${x()} ${w()} ${$()}
231
+ ${m()}
232
+ </div>
233
+ </fieldset>`:i`<div
234
+ class="input-wrapper"
235
+ part="input-wrapper"
236
+ ?compact=${this.compact}
237
+ ?loading=${this.loading}
238
+ >
239
+ ${I?A:C}
240
+ </div>`}
244
241
  ${(()=>t&&this.totalFileSize?i`
245
242
  <div class="file-info" part="file-info">
246
243
  <span>
@@ -310,23 +307,23 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
310
307
  pointer-events: none;
311
308
  }
312
309
 
313
- :host([variant="highlight"]){
314
- .label{
310
+ :host([variant='highlight']) {
311
+ .label {
315
312
  color: var(--sky-input-color);
316
313
  }
317
314
  }
318
315
 
319
316
  /* Fieldset / legend: native fieldset+legend; wrapper keeps solid fill */
320
- :host([variant="fieldset"]) {
317
+ :host([variant='fieldset']) {
321
318
  overflow: visible;
322
319
  padding-block-start: 0;
323
320
  }
324
321
 
325
- :host([variant="fieldset"]) .input-container {
322
+ :host([variant='fieldset']) .input-container {
326
323
  overflow: visible;
327
324
  }
328
325
 
329
- :host([variant="fieldset"]) fieldset.input-wrapper {
326
+ :host([variant='fieldset']) fieldset.input-wrapper {
330
327
  display: block;
331
328
  height: auto;
332
329
  margin: 0;
@@ -338,19 +335,17 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
338
335
  box-shadow: none;
339
336
  }
340
337
 
341
- :host([variant="fieldset"]) fieldset.input-wrapper[compact] {
338
+ :host([variant='fieldset']) fieldset.input-wrapper[compact] {
342
339
  height: auto;
343
340
  }
344
341
 
345
- :host([variant="fieldset"]) .input-fieldset-body {
342
+ :host([variant='fieldset']) .input-fieldset-body {
346
343
  display: flex;
347
344
  width: 100%;
348
345
  align-items: center;
349
346
  box-sizing: border-box;
350
347
  /* Match default control outer height once fieldset border is included */
351
- height: calc(
352
- var(--sky-input-height) - 2 * var(--sky-input-border-width)
353
- );
348
+ height: calc(var(--sky-input-height) - 2 * var(--sky-input-border-width));
354
349
  min-height: calc(
355
350
  var(--sky-input-height) - 2 * var(--sky-input-border-width)
356
351
  );
@@ -360,7 +355,9 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
360
355
  overflow: hidden;
361
356
  }
362
357
 
363
- :host([variant="fieldset"]) fieldset.input-wrapper[compact] .input-fieldset-body {
358
+ :host([variant='fieldset'])
359
+ fieldset.input-wrapper[compact]
360
+ .input-fieldset-body {
364
361
  height: calc(
365
362
  var(--sky-input-height-compact) - 2 * var(--sky-input-border-width)
366
363
  );
@@ -369,17 +366,19 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
369
366
  );
370
367
  }
371
368
 
372
- :host([variant="fieldset"]) fieldset.input-wrapper:has(textarea) {
369
+ :host([variant='fieldset']) fieldset.input-wrapper:has(textarea) {
373
370
  height: auto;
374
371
  }
375
372
 
376
- :host([variant="fieldset"]) fieldset.input-wrapper:has(textarea) .input-fieldset-body {
373
+ :host([variant='fieldset'])
374
+ fieldset.input-wrapper:has(textarea)
375
+ .input-fieldset-body {
377
376
  height: calc((var(--rows)) * 23px);
378
377
  min-height: calc((var(--rows)) * 23px);
379
378
  align-items: flex-start;
380
379
  }
381
380
 
382
- :host([variant="fieldset"]) legend.label {
381
+ :host([variant='fieldset']) legend.label {
383
382
  float: unset;
384
383
  width: auto;
385
384
  max-width: calc(100% - 2 * var(--sky-input-pad-x));
@@ -400,40 +399,42 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
400
399
  pointer-events: none;
401
400
  }
402
401
 
403
- :host([variant="fieldset"]) .input-container:focus-within legend.label {
402
+ :host([variant='fieldset']) .input-container:focus-within legend.label {
404
403
  color: var(--sky-input-color);
405
404
  font-size: var(--sky-font-size-xs);
406
405
  }
407
406
 
408
407
  /* Focus via real border — ::after would paint over the legend gap */
409
- :host([variant="fieldset"]) .input-wrapper::after {
408
+ :host([variant='fieldset']) .input-wrapper::after {
410
409
  content: none;
411
410
  display: none;
412
411
  }
413
412
 
414
- :host([variant="fieldset"]) .input-wrapper:has(input:focus),
415
- :host([variant="fieldset"]) .input-wrapper:has(input:focus-visible),
416
- :host([variant="fieldset"]) .input-wrapper:has(textarea:focus),
417
- :host([variant="fieldset"]) .input-wrapper:has(textarea:focus-visible) {
413
+ :host([variant='fieldset']) .input-wrapper:has(input:focus),
414
+ :host([variant='fieldset']) .input-wrapper:has(input:focus-visible),
415
+ :host([variant='fieldset']) .input-wrapper:has(textarea:focus),
416
+ :host([variant='fieldset']) .input-wrapper:has(textarea:focus-visible) {
418
417
  border-color: var(--sky-input-color);
419
418
  }
420
419
 
421
- :host([variant="fieldset"][validationActive]:invalid) .input-wrapper {
420
+ :host([variant='fieldset'][validationActive]:invalid) .input-wrapper {
422
421
  border-color: var(--sky-danger-primary);
423
422
  }
424
423
 
425
- :host([variant="fieldset"][validationActive]:invalid) legend.label {
424
+ :host([variant='fieldset'][validationActive]:invalid) legend.label {
426
425
  color: var(--sky-danger-primary);
427
426
  }
428
427
 
429
- :host([variant="fieldset"][compact]) legend.label,
430
- :host([variant="fieldset"][compact]) .input-container:focus-within legend.label {
428
+ :host([variant='fieldset'][compact]) legend.label,
429
+ :host([variant='fieldset'][compact])
430
+ .input-container:focus-within
431
+ legend.label {
431
432
  font-size: var(--sky-font-size-xs);
432
433
  line-height: 1.4;
433
434
  }
434
435
 
435
436
  /* Inside: label lives in the wrapper above the value row */
436
- :host([variant="inside"]) {
437
+ :host([variant='inside']) {
437
438
  --sky-input-height-inside: 44px;
438
439
  /* Two lines (label + value) need a bit more than single-line compact */
439
440
  --sky-input-height-inside-compact: 40px;
@@ -441,20 +442,20 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
441
442
  --sky-input-inside-value-min: 1.375rem;
442
443
  }
443
444
 
444
- :host([variant="inside"]) .input-wrapper {
445
+ :host([variant='inside']) .input-wrapper {
445
446
  height: auto;
446
447
  min-height: var(--sky-input-height-inside);
447
448
  align-items: center;
448
449
  padding-block: var(--sky-input-pad-y-sm, 0px);
449
450
  }
450
451
 
451
- :host([variant="inside"]) .input-wrapper[compact] {
452
+ :host([variant='inside']) .input-wrapper[compact] {
452
453
  height: auto;
453
454
  min-height: var(--sky-input-height-inside-compact);
454
455
  padding-block: var(--sky-input-pad-y-sm, 0px);
455
456
  }
456
457
 
457
- :host([variant="inside"]) .input-inside-main {
458
+ :host([variant='inside']) .input-inside-main {
458
459
  flex: 1 1 auto;
459
460
  min-width: 0;
460
461
  display: flex;
@@ -464,7 +465,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
464
465
  padding-block: var(--sky-input-inside-label-block);
465
466
  }
466
467
 
467
- :host([variant="inside"]) .input-inside-main > .label {
468
+ :host([variant='inside']) .input-inside-main > .label {
468
469
  margin: 0;
469
470
  padding-inline: var(--sky-input-pad-x);
470
471
  font-size: var(--sky-font-size-xs);
@@ -477,32 +478,40 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
477
478
  flex-shrink: 0;
478
479
  }
479
480
 
480
- :host([variant="inside"][compact]) .input-inside-main > .label {
481
+ :host([variant='inside'][compact]) .input-inside-main > .label {
481
482
  font-size: 0.6875rem; /* ~11px — denser than xs for two-line compact */
482
483
  line-height: 1.3;
483
484
  min-height: calc(0.6875rem * 1.3);
484
485
  }
485
486
 
486
- :host([variant="inside"][compact]) .input-inside-row input,
487
- :host([variant="inside"][compact]) .input-inside-row textarea {
487
+ :host([variant='inside'][compact]) .input-inside-row input,
488
+ :host([variant='inside'][compact]) .input-inside-row textarea {
488
489
  font-size: var(--sky-font-size-sm);
489
490
  line-height: 1.15;
490
491
  }
491
492
 
492
- :host([variant="inside"]) .input-container:focus-within .input-inside-main > .label {
493
+ :host([variant='inside'])
494
+ .input-container:focus-within
495
+ .input-inside-main
496
+ > .label {
493
497
  color: var(--sky-input-color);
494
498
  font-size: var(--sky-font-size-xs);
495
499
  }
496
500
 
497
- :host([variant="inside"][compact]) .input-container:focus-within .input-inside-main > .label {
501
+ :host([variant='inside'][compact])
502
+ .input-container:focus-within
503
+ .input-inside-main
504
+ > .label {
498
505
  font-size: 0.6875rem;
499
506
  }
500
507
 
501
- :host([variant="inside"][validationActive]:invalid) .input-inside-main > .label {
508
+ :host([variant='inside'][validationActive]:invalid)
509
+ .input-inside-main
510
+ > .label {
502
511
  color: var(--sky-danger-primary);
503
512
  }
504
513
 
505
- :host([variant="inside"]) .input-inside-row {
514
+ :host([variant='inside']) .input-inside-row {
506
515
  display: flex;
507
516
  align-items: center;
508
517
  min-width: 0;
@@ -510,27 +519,33 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
510
519
  min-height: var(--sky-input-inside-value-min);
511
520
  }
512
521
 
513
- :host([variant="inside"]) .input-wrapper:has(.icon-slot[filled].left) .input-inside-main > .label,
514
- :host([variant="inside"]) .input-wrapper:has(.input-affix.prefix) .input-inside-main > .label {
522
+ :host([variant='inside'])
523
+ .input-wrapper:has(.icon-slot[filled].left)
524
+ .input-inside-main
525
+ > .label,
526
+ :host([variant='inside'])
527
+ .input-wrapper:has(.input-affix.prefix)
528
+ .input-inside-main
529
+ > .label {
515
530
  padding-inline-start: 0;
516
531
  }
517
532
 
518
- :host([variant="inside"]) .input-inside-row input,
519
- :host([variant="inside"]) .input-inside-row textarea {
533
+ :host([variant='inside']) .input-inside-row input,
534
+ :host([variant='inside']) .input-inside-row textarea {
520
535
  padding-block: 0;
521
536
  height: auto;
522
537
  min-height: 0;
523
538
  line-height: 1.2;
524
539
  }
525
540
 
526
- :host([variant="inside"]) .input-wrapper:has(textarea) {
541
+ :host([variant='inside']) .input-wrapper:has(textarea) {
527
542
  height: auto;
528
543
  min-height: var(--sky-input-height-inside);
529
544
  align-items: flex-start;
530
545
  }
531
546
 
532
- :host([variant="inside"]) .icon-slot,
533
- :host([variant="inside"]) .icon-slot[filled] {
547
+ :host([variant='inside']) .icon-slot,
548
+ :host([variant='inside']) .icon-slot[filled] {
534
549
  align-self: center;
535
550
  height: auto;
536
551
  max-height: none;
@@ -594,7 +609,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
594
609
  }
595
610
 
596
611
  .input-wrapper::after {
597
- content: "";
612
+ content: '';
598
613
  position: absolute;
599
614
  top: -1px;
600
615
  left: -1px;
@@ -641,11 +656,11 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
641
656
  border-radius: var(--sky-radius-primary);
642
657
  }
643
658
 
644
- input[type="date"],
645
- input[type="time"],
646
- input[type="week"],
647
- input[type="month"],
648
- input[type="datetime-local"] {
659
+ input[type='date'],
660
+ input[type='time'],
661
+ input[type='week'],
662
+ input[type='month'],
663
+ input[type='datetime-local'] {
649
664
  -webkit-appearance: none;
650
665
  -moz-appearance: none;
651
666
  appearance: none;
@@ -654,11 +669,11 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
654
669
  font-family: inherit;
655
670
  }
656
671
 
657
- input[type="date"]::-webkit-calendar-picker-indicator,
658
- input[type="time"]::-webkit-calendar-picker-indicator,
659
- input[type="week"]::-webkit-calendar-picker-indicator,
660
- input[type="month"]::-webkit-calendar-picker-indicator,
661
- input[type="datetime-local"]::-webkit-calendar-picker-indicator {
672
+ input[type='date']::-webkit-calendar-picker-indicator,
673
+ input[type='time']::-webkit-calendar-picker-indicator,
674
+ input[type='week']::-webkit-calendar-picker-indicator,
675
+ input[type='month']::-webkit-calendar-picker-indicator,
676
+ input[type='datetime-local']::-webkit-calendar-picker-indicator {
662
677
  display: none;
663
678
  }
664
679
 
@@ -687,13 +702,13 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
687
702
  text-align: right;
688
703
  }
689
704
 
690
- input[type="number"] {
705
+ input[type='number'] {
691
706
  appearance: textfield;
692
707
  -moz-appearance: textfield;
693
708
  }
694
709
 
695
- input[type="number"]::-webkit-inner-spin-button,
696
- input[type="number"]::-webkit-outer-spin-button {
710
+ input[type='number']::-webkit-inner-spin-button,
711
+ input[type='number']::-webkit-outer-spin-button {
697
712
  -webkit-appearance: none;
698
713
  margin: 0;
699
714
  }
@@ -967,7 +982,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
967
982
  pointer-events: none;
968
983
  }
969
984
 
970
- input[type="file"] {
985
+ input[type='file'] {
971
986
  position: absolute;
972
987
  width: 100%;
973
988
  height: 100%;
@@ -1001,7 +1016,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
1001
1016
  }
1002
1017
 
1003
1018
  .custom-file-label:empty::after {
1004
- content: "Choose file";
1019
+ content: 'Choose file';
1005
1020
  color: var(--sky-input-color);
1006
1021
  }
1007
1022
 
@@ -1023,11 +1038,11 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
1023
1038
  font-family: var(--sky-font);
1024
1039
  }
1025
1040
 
1026
- textarea[resizable="vertical"] {
1041
+ textarea[resizable='vertical'] {
1027
1042
  resize: vertical;
1028
1043
  }
1029
1044
 
1030
- textarea[resizable="both"] {
1045
+ textarea[resizable='both'] {
1031
1046
  resize: both;
1032
1047
  }
1033
1048