@db-ux/core-components 2.4.0 → 2.4.2

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.
@@ -230,7 +230,7 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
230
230
  .db-button[data-variant=brand]:active:not(:disabled, [aria-disabled=true]):is(input[type=checkbox]), .db-button[data-variant=brand]:active:not(:disabled, [aria-disabled=true]):is(input[type=radio]:not(:checked)) {
231
231
  cursor: pointer;
232
232
  }
233
- .db-button[data-variant=outlined], .db-button:not([data-variant]), .db-button[data-variant=ghost] {
233
+ .db-button[data-variant=outlined], .db-button:not([data-variant]), .db-button[data-variant=""], .db-button[data-variant=ghost] {
234
234
  background-color: var(--db-adaptive-bg-basic-transparent-full-default);
235
235
  }
236
236
  .db-button[data-variant=filled] {
@@ -89,6 +89,7 @@
89
89
 
90
90
  &[data-variant="outlined"],
91
91
  &:not([data-variant]),
92
+ &[data-variant=""],
92
93
  &[data-variant="ghost"] {
93
94
  background-color: colors.$db-adaptive-bg-basic-transparent-full-default;
94
95
  }
@@ -204,17 +204,17 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
204
204
  /* stylelint-disable-next-line at-rule-empty-line-before */
205
205
  /* stylelint-disable-next-line at-rule-empty-line-before */
206
206
  }
207
- .db-checkbox:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
208
- .db-checkbox:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-checkbox[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
209
- .db-checkbox[data-required=true]:not([data-hide-asterisk=true]) > label::after {
207
+ .db-checkbox:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
208
+ .db-checkbox:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-checkbox:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
209
+ .db-checkbox:not([data-hide-asterisk=true])[data-required=true] > label::after {
210
210
  /* stylelint-disable-next-line db-ux/use-spacings */
211
211
  padding-inline-start: 1px;
212
212
  content: "*";
213
213
  }
214
214
  @supports (content: ""/"") {
215
- .db-checkbox:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
216
- .db-checkbox:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-checkbox[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
217
- .db-checkbox[data-required=true]:not([data-hide-asterisk=true]) > label::after {
215
+ .db-checkbox:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
216
+ .db-checkbox:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-checkbox:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
217
+ .db-checkbox:not([data-hide-asterisk=true])[data-required=true] > label::after {
218
218
  content: "*"/"";
219
219
  }
220
220
  }
@@ -813,6 +813,20 @@ dialog:not([data-backdrop=none])[data-backdrop=weak]::backdrop, dialog:not([data
813
813
  .db-custom-select[data-variant=floating], .db-custom-select[data-hide-label=true] {
814
814
  --db-label-visible-above: 0;
815
815
  }
816
+ .db-custom-select:not([data-hide-asterisk=true]):has(summary:required):is(label)::after,
817
+ .db-custom-select:not([data-hide-asterisk=true]):has(summary:required) > label::after, .db-custom-select:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
818
+ .db-custom-select:not([data-hide-asterisk=true])[data-required=true] > label::after {
819
+ /* stylelint-disable-next-line db-ux/use-spacings */
820
+ padding-inline-start: 1px;
821
+ content: "*";
822
+ }
823
+ @supports (content: ""/"") {
824
+ .db-custom-select:not([data-hide-asterisk=true]):has(summary:required):is(label)::after,
825
+ .db-custom-select:not([data-hide-asterisk=true]):has(summary:required) > label::after, .db-custom-select:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
826
+ .db-custom-select:not([data-hide-asterisk=true])[data-required=true] > label::after {
827
+ content: "*"/"";
828
+ }
829
+ }
816
830
  .db-custom-select[data-variant=floating] > label {
817
831
  opacity: var(--db-opacity-xl);
818
832
  position: absolute;
@@ -873,20 +887,6 @@ input[type=radio]:checked) [id$=-placeholder] {
873
887
  transition: opacity var(--db-transition-straight-emotional);
874
888
  }
875
889
  }
876
- .db-custom-select:has(summary:required):not([data-hide-asterisk=true]):is(label)::after,
877
- .db-custom-select:has(summary:required):not([data-hide-asterisk=true]) > label::after, .db-custom-select[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
878
- .db-custom-select[data-required=true]:not([data-hide-asterisk=true]) > label::after {
879
- /* stylelint-disable-next-line db-ux/use-spacings */
880
- padding-inline-start: 1px;
881
- content: "*";
882
- }
883
- @supports (content: ""/"") {
884
- .db-custom-select:has(summary:required):not([data-hide-asterisk=true]):is(label)::after,
885
- .db-custom-select:has(summary:required):not([data-hide-asterisk=true]) > label::after, .db-custom-select[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
886
- .db-custom-select[data-required=true]:not([data-hide-asterisk=true]) > label::after {
887
- content: "*"/"";
888
- }
889
- }
890
890
  .db-custom-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
891
891
  > db-infotext > .db-infotext[data-semantic=successful]) {
892
892
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -572,6 +572,20 @@ input[type=radio]:checked) > label {
572
572
  .db-input[data-variant=floating], .db-input[data-hide-label=true] {
573
573
  --db-label-visible-above: 0;
574
574
  }
575
+ .db-input:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
576
+ .db-input:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-input:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
577
+ .db-input:not([data-hide-asterisk=true])[data-required=true] > label::after {
578
+ /* stylelint-disable-next-line db-ux/use-spacings */
579
+ padding-inline-start: 1px;
580
+ content: "*";
581
+ }
582
+ @supports (content: ""/"") {
583
+ .db-input:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
584
+ .db-input:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-input:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
585
+ .db-input:not([data-hide-asterisk=true])[data-required=true] > label::after {
586
+ content: "*"/"";
587
+ }
588
+ }
575
589
  .db-input[data-variant=floating] > label {
576
590
  opacity: var(--db-opacity-xl);
577
591
  position: absolute;
@@ -630,20 +644,6 @@ input[type=radio]:checked) [id$=-placeholder] {
630
644
  transition: opacity var(--db-transition-straight-emotional);
631
645
  }
632
646
  }
633
- .db-input:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
634
- .db-input:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-input[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
635
- .db-input[data-required=true]:not([data-hide-asterisk=true]) > label::after {
636
- /* stylelint-disable-next-line db-ux/use-spacings */
637
- padding-inline-start: 1px;
638
- content: "*";
639
- }
640
- @supports (content: ""/"") {
641
- .db-input:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
642
- .db-input:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-input[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
643
- .db-input[data-required=true]:not([data-hide-asterisk=true]) > label::after {
644
- content: "*"/"";
645
- }
646
- }
647
647
  .db-input:has(input:not([data-custom-validity]):is(:required, [minlength], [maxlength], [pattern], [type=color], [type=date], [type=datetime-local], [type=email], [type=file], [type=hidden], [type=month], [type=number], [type=range], [type=tel], [type=time], [type=url], [type=week]):user-valid):has(> .db-infotext[data-semantic=successful],
648
648
  > db-infotext > .db-infotext[data-semantic=successful]) {
649
649
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -18,13 +18,13 @@ $icon-padding: calc(
18
18
  // increased inline size for elements with icons or specific input types that have icons
19
19
  &:is([data-icon], [data-icon-after]):not([data-hide-icon="true"]),
20
20
  &:has(
21
- input[type="search"],
22
- input[type="date"],
23
- input[type="month"],
24
- input[type="week"],
25
- input[type="datetime-local"],
26
- input[type="time"]
27
- ) {
21
+ input[type="search"],
22
+ input[type="date"],
23
+ input[type="month"],
24
+ input[type="week"],
25
+ input[type="datetime-local"],
26
+ input[type="time"]
27
+ ) {
28
28
  --db-form-component-min-inline-size: #{variables.$db-sizing-xl};
29
29
  }
30
30
 
@@ -42,12 +42,12 @@
42
42
 
43
43
  &:is(:hover, :focus-visible),
44
44
  &:has(
45
- ~ .db-sub-navigation:is(
46
- :hover,
47
- :focus-visible,
48
- :focus-within
49
- )
50
- ) {
45
+ ~ .db-sub-navigation:is(
46
+ :hover,
47
+ :focus-visible,
48
+ :focus-within
49
+ )
50
+ ) {
51
51
  &::after {
52
52
  transform: form-components.$dropdown-icon-transform;
53
53
  }
@@ -148,17 +148,17 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
148
148
  /* stylelint-disable-next-line at-rule-empty-line-before */
149
149
  /* stylelint-disable-next-line at-rule-empty-line-before */
150
150
  }
151
- .db-radio:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
152
- .db-radio:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-radio[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
153
- .db-radio[data-required=true]:not([data-hide-asterisk=true]) > label::after {
151
+ .db-radio:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
152
+ .db-radio:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-radio:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
153
+ .db-radio:not([data-hide-asterisk=true])[data-required=true] > label::after {
154
154
  /* stylelint-disable-next-line db-ux/use-spacings */
155
155
  padding-inline-start: 1px;
156
156
  content: "*";
157
157
  }
158
158
  @supports (content: ""/"") {
159
- .db-radio:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
160
- .db-radio:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-radio[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
161
- .db-radio[data-required=true]:not([data-hide-asterisk=true]) > label::after {
159
+ .db-radio:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
160
+ .db-radio:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-radio:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
161
+ .db-radio:not([data-hide-asterisk=true])[data-required=true] > label::after {
162
162
  content: "*"/"";
163
163
  }
164
164
  }
@@ -618,6 +618,20 @@ input[type=radio]:checked) > label {
618
618
  .db-select[data-variant=floating], .db-select[data-hide-label=true] {
619
619
  --db-label-visible-above: 0;
620
620
  }
621
+ .db-select:not([data-hide-asterisk=true]):has(select:required):is(label)::after,
622
+ .db-select:not([data-hide-asterisk=true]):has(select:required) > label::after, .db-select:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
623
+ .db-select:not([data-hide-asterisk=true])[data-required=true] > label::after {
624
+ /* stylelint-disable-next-line db-ux/use-spacings */
625
+ padding-inline-start: 1px;
626
+ content: "*";
627
+ }
628
+ @supports (content: ""/"") {
629
+ .db-select:not([data-hide-asterisk=true]):has(select:required):is(label)::after,
630
+ .db-select:not([data-hide-asterisk=true]):has(select:required) > label::after, .db-select:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
631
+ .db-select:not([data-hide-asterisk=true])[data-required=true] > label::after {
632
+ content: "*"/"";
633
+ }
634
+ }
621
635
  .db-select[data-variant=floating] > label {
622
636
  opacity: var(--db-opacity-xl);
623
637
  position: absolute;
@@ -678,20 +692,6 @@ input[type=radio]:checked) [id$=-placeholder] {
678
692
  transition: opacity var(--db-transition-straight-emotional);
679
693
  }
680
694
  }
681
- .db-select:has(select:required):not([data-hide-asterisk=true]):is(label)::after,
682
- .db-select:has(select:required):not([data-hide-asterisk=true]) > label::after, .db-select[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
683
- .db-select[data-required=true]:not([data-hide-asterisk=true]) > label::after {
684
- /* stylelint-disable-next-line db-ux/use-spacings */
685
- padding-inline-start: 1px;
686
- content: "*";
687
- }
688
- @supports (content: ""/"") {
689
- .db-select:has(select:required):not([data-hide-asterisk=true]):is(label)::after,
690
- .db-select:has(select:required):not([data-hide-asterisk=true]) > label::after, .db-select[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
691
- .db-select[data-required=true]:not([data-hide-asterisk=true]) > label::after {
692
- content: "*"/"";
693
- }
694
- }
695
695
  .db-select:has(select:not([data-custom-validity]):is(:required):user-valid):has(> .db-infotext[data-semantic=successful],
696
696
  > db-infotext > .db-infotext[data-semantic=successful]) {
697
697
  /* stylelint-disable-next-line at-rule-empty-line-before */
@@ -499,17 +499,17 @@ paddings/gaps in an application e.g. the <main> should have a responsive padding
499
499
  .db-switch {
500
500
  user-select: none;
501
501
  }
502
- .db-switch:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
503
- .db-switch:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-switch[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
504
- .db-switch[data-required=true]:not([data-hide-asterisk=true]) > label::after {
502
+ .db-switch:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
503
+ .db-switch:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-switch:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
504
+ .db-switch:not([data-hide-asterisk=true])[data-required=true] > label::after {
505
505
  /* stylelint-disable-next-line db-ux/use-spacings */
506
506
  padding-inline-start: 1px;
507
507
  content: "*";
508
508
  }
509
509
  @supports (content: ""/"") {
510
- .db-switch:has(input:required):not([data-hide-asterisk=true]):is(label)::after,
511
- .db-switch:has(input:required):not([data-hide-asterisk=true]) > label::after, .db-switch[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
512
- .db-switch[data-required=true]:not([data-hide-asterisk=true]) > label::after {
510
+ .db-switch:not([data-hide-asterisk=true]):has(input:required):is(label)::after,
511
+ .db-switch:not([data-hide-asterisk=true]):has(input:required) > label::after, .db-switch:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
512
+ .db-switch:not([data-hide-asterisk=true])[data-required=true] > label::after {
513
513
  content: "*"/"";
514
514
  }
515
515
  }
@@ -82,11 +82,11 @@
82
82
  }
83
83
 
84
84
  > :is(
85
- [class="db-checkbox"],
86
- [class="db-radio"],
87
- [class="db-link"],
88
- [class="db-button"]
89
- ) {
85
+ [class="db-checkbox"],
86
+ [class="db-radio"],
87
+ [class="db-link"],
88
+ [class="db-button"]
89
+ ) {
90
90
  block-size: 100%;
91
91
  }
92
92
  }
@@ -381,6 +381,20 @@ input[type=radio]:checked) > label {
381
381
  .db-textarea[data-variant=floating], .db-textarea[data-hide-label=true] {
382
382
  --db-label-visible-above: 0;
383
383
  }
384
+ .db-textarea:not([data-hide-asterisk=true]):has(textarea:required):is(label)::after,
385
+ .db-textarea:not([data-hide-asterisk=true]):has(textarea:required) > label::after, .db-textarea:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
386
+ .db-textarea:not([data-hide-asterisk=true])[data-required=true] > label::after {
387
+ /* stylelint-disable-next-line db-ux/use-spacings */
388
+ padding-inline-start: 1px;
389
+ content: "*";
390
+ }
391
+ @supports (content: ""/"") {
392
+ .db-textarea:not([data-hide-asterisk=true]):has(textarea:required):is(label)::after,
393
+ .db-textarea:not([data-hide-asterisk=true]):has(textarea:required) > label::after, .db-textarea:not([data-hide-asterisk=true])[data-required=true]:is(label)::after,
394
+ .db-textarea:not([data-hide-asterisk=true])[data-required=true] > label::after {
395
+ content: "*"/"";
396
+ }
397
+ }
384
398
  .db-textarea[data-variant=floating] > label {
385
399
  opacity: var(--db-opacity-xl);
386
400
  position: absolute;
@@ -439,20 +453,6 @@ input[type=radio]:checked) [id$=-placeholder] {
439
453
  transition: opacity var(--db-transition-straight-emotional);
440
454
  }
441
455
  }
442
- .db-textarea:has(textarea:required):not([data-hide-asterisk=true]):is(label)::after,
443
- .db-textarea:has(textarea:required):not([data-hide-asterisk=true]) > label::after, .db-textarea[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
444
- .db-textarea[data-required=true]:not([data-hide-asterisk=true]) > label::after {
445
- /* stylelint-disable-next-line db-ux/use-spacings */
446
- padding-inline-start: 1px;
447
- content: "*";
448
- }
449
- @supports (content: ""/"") {
450
- .db-textarea:has(textarea:required):not([data-hide-asterisk=true]):is(label)::after,
451
- .db-textarea:has(textarea:required):not([data-hide-asterisk=true]) > label::after, .db-textarea[data-required=true]:not([data-hide-asterisk=true]):is(label)::after,
452
- .db-textarea[data-required=true]:not([data-hide-asterisk=true]) > label::after {
453
- content: "*"/"";
454
- }
455
- }
456
456
  .db-textarea:has(textarea:not([data-custom-validity]):is(:required, [minlength], [maxlength]):user-valid):has(> .db-infotext[data-semantic=successful],
457
457
  > db-infotext > .db-infotext[data-semantic=successful]) {
458
458
  --db-textarea-read-only: var(--db-successful-bg-basic-level-1-default);