@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779280803 → 5.0.0-next.3-dev.1779281392

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 (116) hide show
  1. package/alert/alert/alert.global.scss +45 -0
  2. package/alert/alert-group/alert-group.global.scss +8 -0
  3. package/badge/badge.global.scss +44 -0
  4. package/breadcrumb/breadcrumb/breadcrumb.global.scss +16 -0
  5. package/breadcrumb/breadcrumb-group/breadcrumb-group.global.scss +26 -0
  6. package/button/common/button-common.global.scss +58 -0
  7. package/button/common/mini-button-common.global.scss +18 -0
  8. package/button/mini-button-group/mini-button-group.global.scss +35 -0
  9. package/calendar/calendar/calendar.global.scss +31 -0
  10. package/calendar/common/calendar-cell-base-element.global.scss +23 -0
  11. package/card/card/card.global.scss +22 -0
  12. package/card/card-badge/card-badge.global.scss +19 -0
  13. package/card/card.library.global.scss +203 -0
  14. package/carousel/carousel/carousel.global.scss +10 -0
  15. package/checkbox/checkbox.global.scss +10 -0
  16. package/checkbox/common/checkbox-common.global.scss +25 -0
  17. package/chip/chip/chip.global.scss +16 -0
  18. package/chip/chip-group/chip-group.global.scss +62 -0
  19. package/chip-label/chip-label.global.scss +11 -0
  20. package/clock/clock.global.scss +9 -0
  21. package/container/container/container.global.scss +21 -0
  22. package/container/sticky-bar/sticky-bar.global.scss +17 -0
  23. package/core/base-elements/selection-group-base-element.global.scss +12 -0
  24. package/core/mixins/panel-common.global.scss +41 -0
  25. package/development/form-field/form-field/form-field.component.js +1 -1
  26. package/development/{form-field.component-w4nlNsj2.js → form-field.component-BzjbIwnz.js} +2 -2
  27. package/development/form-field.js +1 -1
  28. package/development/form-field.pure.js +1 -1
  29. package/dialog/dialog/dialog.global.scss +32 -0
  30. package/dialog/dialog-close-button/dialog-close-button.global.scss +35 -0
  31. package/dialog/dialog-content/dialog-content.global.scss +13 -0
  32. package/dialog/dialog-title/dialog-title.global.scss +13 -0
  33. package/divider/divider.global.scss +9 -0
  34. package/expansion-panel/expansion-panel/expansion-panel.global.scss +21 -0
  35. package/expansion-panel/expansion-panel-content/expansion-panel-content.global.scss +16 -0
  36. package/expansion-panel/expansion-panel-header/expansion-panel-header.global.scss +41 -0
  37. package/file-selector/common/file-selector.global.scss +25 -0
  38. package/flip-card/flip-card/flip-card.global.scss +25 -0
  39. package/flip-card/flip-card-details/flip-card-details.global.scss +7 -0
  40. package/flip-card/flip-card-summary/flip-card-summary.global.scss +17 -0
  41. package/footer/footer.global.scss +17 -0
  42. package/form-field/error/error.global.scss +9 -0
  43. package/form-field/form-field/form-field.component.js +1 -1
  44. package/form-field/form-field/form-field.global.scss +271 -0
  45. package/{form-field.component-DkqZz7aZ.js → form-field.component-BKWzdNHT.js} +1 -1
  46. package/form-field.js +1 -1
  47. package/form-field.pure.js +1 -1
  48. package/header/common/header-action.global.scss +41 -0
  49. package/header/header/header.global.scss +62 -0
  50. package/header/header-environment/header-environment.global.scss +10 -0
  51. package/icon-sidebar/icon-sidebar/icon-sidebar.global.scss +21 -0
  52. package/lead-container/lead-container.global.scss +31 -0
  53. package/link/common/block-link.global.scss +15 -0
  54. package/link/link.library.global.scss +121 -0
  55. package/loading-indicator/loading-indicator.global.scss +10 -0
  56. package/loading-indicator-circle/loading-indicator-circle.global.scss +19 -0
  57. package/logo/logo.global.scss +15 -0
  58. package/map-container/map-container.global.scss +15 -0
  59. package/menu/common/menu-action.global.scss +14 -0
  60. package/menu/menu/menu.global.scss +23 -0
  61. package/message/message.global.scss +20 -0
  62. package/mini-calendar/mini-calendar-day/mini-calendar-day.global.scss +9 -0
  63. package/mini-calendar/mini-calendar-month/mini-calendar-month.global.scss +12 -0
  64. package/navigation/common/navigation-action.global.scss +11 -0
  65. package/navigation/navigation/navigation.global.scss +36 -0
  66. package/navigation/navigation-list/navigation-list.global.scss +10 -0
  67. package/navigation/navigation-marker/navigation-marker.global.scss +17 -0
  68. package/navigation/navigation-section/navigation-section.global.scss +34 -0
  69. package/notification/notification.global.scss +53 -0
  70. package/option/optgroup/optgroup.global.scss +17 -0
  71. package/option/option/option.global.scss +51 -0
  72. package/option/option-hint/option-hint.global.scss +17 -0
  73. package/option/option-panel-common.global.scss +11 -0
  74. package/overlay/overlay.global.scss +13 -0
  75. package/package.json +2 -2
  76. package/paginator/common/paginator-common.global.scss +14 -0
  77. package/paginator/compact-paginator/compact-paginator.global.scss +9 -0
  78. package/paginator/paginator/paginator.global.scss +10 -0
  79. package/popover/popover.global.scss +12 -0
  80. package/radio-button/common/radio-button-common.global.scss +37 -0
  81. package/select/select.global.scss +24 -0
  82. package/selection-action-panel/selection-action-panel.global.scss +19 -0
  83. package/selection-expansion-panel/selection-expansion-panel.global.scss +21 -0
  84. package/sidebar/sidebar/sidebar.global.scss +19 -0
  85. package/sidebar/sidebar-close-button/sidebar-close-button.global.scss +10 -0
  86. package/sidebar/sidebar-container/sidebar-container.global.scss +62 -0
  87. package/signet/signet.global.scss +16 -0
  88. package/slider/slider.global.scss +30 -0
  89. package/status/status.global.scss +10 -0
  90. package/stepper/step-label/step-label.global.scss +43 -0
  91. package/stepper/stepper/stepper.global.scss +10 -0
  92. package/table/table.global.scss +295 -0
  93. package/tabs/common/tab-group-common.global.scss +17 -0
  94. package/tabs/common/tab-label-common.global.scss +38 -0
  95. package/tabs/tab-nav-bar/tab-nav-bar.global.scss +10 -0
  96. package/tag/tag/tag.global.scss +41 -0
  97. package/teaser/teaser.global.scss +24 -0
  98. package/teaser-hero/teaser-hero.global.scss +27 -0
  99. package/teaser-panel/teaser-panel.global.scss +33 -0
  100. package/teaser-product/common/teaser-product-common.global.scss +50 -0
  101. package/time-input/time-input.global.scss +11 -0
  102. package/timetable-form/timetable-form/timetable-form.global.scss +97 -0
  103. package/timetable-form/timetable-form-details/timetable-form-details.global.scss +12 -0
  104. package/timetable-form/timetable-form-field/timetable-form-field.global.scss +10 -0
  105. package/timetable-occupancy/timetable-occupancy.global.scss +10 -0
  106. package/title/title-common.global.scss +7 -0
  107. package/title/title.global.scss +12 -0
  108. package/toast/toast.global.scss +18 -0
  109. package/toggle/toggle/toggle.global.scss +44 -0
  110. package/toggle/toggle-option/toggle-option.global.scss +10 -0
  111. package/toggle-check/toggle-check.global.scss +32 -0
  112. package/tooltip/tooltip.global.scss +20 -0
  113. package/train/train-blocked-passage/train-blocked-passage.global.scss +16 -0
  114. package/train/train-formation/train-formation.global.scss +26 -0
  115. package/train/train-wagon-common.global.scss +42 -0
  116. package/visual-checkbox/visual-checkbox.global.scss +38 -0
@@ -0,0 +1,32 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-dialog-padding-inline: var(--sbb-spacing-fixed-5x);
7
+ --sbb-dialog-color: var(--sbb-color-2);
8
+ --sbb-dialog-background-color: var(--sbb-background-color-1);
9
+ --sbb-dialog-block-shadow: var(--sbb-box-shadow-level-9-soft);
10
+ --sbb-dialog-color-negative: var(--sbb-color-2-negative);
11
+ --sbb-dialog-block-shadow-negative: var(--sbb-box-shadow-level-9-soft-negative);
12
+ --sbb-dialog-width: auto;
13
+ --sbb-dialog-max-width: 100%;
14
+ --sbb-dialog-height: auto;
15
+ --sbb-dialog-max-height: calc(100vh - var(--sbb-spacing-fixed-6x));
16
+ --sbb-dialog-inset-block: 0 auto;
17
+ --sbb-dialog-inset-inline: 0 auto;
18
+ --sbb-dialog-border-radius: var(--sbb-border-radius-8x);
19
+ --sbb-dialog-animation-easing: ease;
20
+ --sbb-dialog-pointer-events: none;
21
+ --sbb-dialog-backdrop-visibility: hidden;
22
+ --sbb-dialog-backdrop-pointer-events: none;
23
+ --sbb-dialog-backdrop-color: transparent;
24
+ --sbb-dialog-actions-border-color: var(--sbb-background-color-4);
25
+ }
26
+
27
+ @mixin base-breakpoint-small {
28
+ --sbb-dialog-padding-inline: var(--sbb-spacing-fixed-8x);
29
+ --sbb-dialog-max-height: calc(100vh - 2 * var(--sbb-spacing-fixed-6x));
30
+ --sbb-dialog-max-width: 90vw;
31
+ --sbb-dialog-translate-y: var(--sbb-spacing-fixed-4x);
32
+ }
@@ -0,0 +1,35 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-dialog-close-button-inset-inline-end: var(--sbb-spacing-fixed-4x);
7
+ --sbb-dialog-close-button-margin-inline: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-4x);
8
+ }
9
+
10
+ @mixin rules {
11
+ sbb-dialog-close-button {
12
+ // If there is no dialog title, the close button should be positioned absolute
13
+ sbb-dialog:not(:has(> sbb-dialog-title)) > &,
14
+ sbb-dialog:state(has-intermediate-element):not(:has(> * > sbb-dialog-title)) > * > & {
15
+ position: absolute;
16
+ z-index: 1;
17
+ }
18
+
19
+ // The close button positioning needs the current dialog title size
20
+ sbb-dialog:has(> sbb-dialog-title[visual-level='3']) > &,
21
+ sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title[visual-level='3'])
22
+ > *
23
+ > & {
24
+ --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
25
+ }
26
+
27
+ // The close button positioning needs the current dialog title size
28
+ sbb-dialog:has(> sbb-dialog-title[visual-level='5']) > &,
29
+ sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title[visual-level='5'])
30
+ > *
31
+ > & {
32
+ --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,13 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin rules {
6
+ sbb-dialog-content {
7
+ // If there is a title, reduce the top spacing for the content
8
+ sbb-dialog:has(> sbb-dialog-title) > &,
9
+ sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title) > * > & {
10
+ padding-block-start: var(--sbb-spacing-fixed-1x);
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin rules {
6
+ sbb-dialog-title {
7
+ // Hide margin on the right side. Distance to button is defined by flex gap already.
8
+ sbb-dialog:has(> sbb-dialog-close-button) > &,
9
+ sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-close-button) > * > & {
10
+ padding-inline-end: 0;
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,9 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-divider-color: var(--sbb-background-color-4);
7
+ --sbb-divider-color-negative: var(--sbb-background-color-4-negative);
8
+ --sbb-divider-border-width: var(--sbb-border-width-1x);
9
+ }
@@ -0,0 +1,21 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-expansion-panel-background-color: var(--sbb-background-color-1);
7
+ --sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3);
8
+ --sbb-expansion-panel-border-radius: var(--sbb-border-radius-4x);
9
+
10
+ // Vars which will be used by child components
11
+ --sbb-expansion-panel-icon-size: var(--sbb-size-icon-ui-medium);
12
+ --sbb-expansion-panel-title-gap-s: var(--sbb-spacing-fixed-2x);
13
+ --sbb-expansion-panel-title-gap-l: var(--sbb-spacing-fixed-4x);
14
+ --sbb-expansion-panel-title-gap-default: #{sbb.theme-pattern-select(
15
+ (
16
+ 'standard': var(--sbb-expansion-panel-title-gap-l),
17
+ 'lean': var(--sbb-expansion-panel-title-gap-s),
18
+ ),
19
+ $theme
20
+ )};
21
+ }
@@ -0,0 +1,16 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-expansion-panel-content-padding-block-end: var(--sbb-spacing-responsive-s);
7
+ --sbb-expansion-panel-content-padding-inline-s: var(--sbb-spacing-fixed-5x);
8
+ --sbb-expansion-panel-content-padding-inline-l: var(--sbb-spacing-fixed-6x);
9
+ --sbb-expansion-panel-content-padding-inline-default: #{sbb.theme-pattern-select(
10
+ (
11
+ 'standard': var(--sbb-expansion-panel-content-padding-inline-l),
12
+ 'lean': var(--sbb-expansion-panel-content-padding-inline-s),
13
+ ),
14
+ $theme
15
+ )};
16
+ }
@@ -0,0 +1,41 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-expansion-panel-header-cursor: var(--sbb-cursor-pointer);
7
+ --sbb-expansion-panel-header-font-size: var(--sbb-text-font-size-l);
8
+ --sbb-expansion-panel-header-text-color: var(--sbb-color-2);
9
+ --sbb-expansion-panel-header-justify-content: space-between;
10
+ --sbb-expansion-panel-header-gap-s: var(--sbb-spacing-fixed-2x);
11
+ --sbb-expansion-panel-header-gap-l: var(--sbb-spacing-fixed-6x);
12
+ --sbb-expansion-panel-header-gap-default: #{sbb.theme-pattern-select(
13
+ (
14
+ 'standard': var(--sbb-expansion-panel-header-gap-l),
15
+ 'lean': var(--sbb-expansion-panel-header-gap-s),
16
+ ),
17
+ $theme
18
+ )};
19
+ --sbb-expansion-panel-header-padding-block-s: var(--sbb-spacing-fixed-3x);
20
+ --sbb-expansion-panel-header-padding-block-l: var(--sbb-spacing-responsive-xs);
21
+ --sbb-expansion-panel-header-padding-block-default: #{sbb.theme-pattern-select(
22
+ (
23
+ 'standard': var(--sbb-expansion-panel-header-padding-block-l),
24
+ 'lean': var(--sbb-expansion-panel-header-padding-block-s),
25
+ ),
26
+ $theme
27
+ )};
28
+ --sbb-expansion-panel-header-padding-inline-s: var(--sbb-spacing-fixed-5x);
29
+ --sbb-expansion-panel-header-padding-inline-l: var(--sbb-spacing-fixed-6x);
30
+ --sbb-expansion-panel-header-padding-inline-default: #{sbb.theme-pattern-select(
31
+ (
32
+ 'standard': var(--sbb-expansion-panel-header-padding-inline-l),
33
+ 'lean': var(--sbb-expansion-panel-header-padding-inline-s),
34
+ ),
35
+ $theme
36
+ )};
37
+ }
38
+
39
+ @mixin base-forced-colors {
40
+ --sbb-expansion-panel-header-text-color: ButtonText;
41
+ }
@@ -0,0 +1,25 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-file-selector-color: var(--sbb-color-2);
7
+ --sbb-file-selector-subtitle-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
8
+ --sbb-file-selector-background-color: var(--sbb-background-color-1);
9
+ --sbb-file-selector-border-color: var(--sbb-border-color-4-inverted);
10
+ --sbb-file-selector-transition-easing-function: var(--sbb-animation-easing);
11
+ --_sbb-file-selector-dropzone-icon-medium-display: #{sbb.theme-pattern-select(
12
+ (
13
+ 'standard': block,
14
+ 'lean': none,
15
+ ),
16
+ $theme
17
+ )};
18
+ --_sbb-file-selector-dropzone-icon-small-display: #{sbb.theme-pattern-select(
19
+ (
20
+ 'standard': none,
21
+ 'lean': block,
22
+ ),
23
+ $theme
24
+ )};
25
+ }
@@ -0,0 +1,25 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-flip-card-background-color: var(--sbb-background-color-4);
7
+ --sbb-flip-card-border: var(--sbb-border-width-2x);
8
+ --sbb-flip-card-border-radius: var(--sbb-border-radius-4x);
9
+ --sbb-flip-card-button-dimensions: var(--sbb-button-min-height-size-s);
10
+ --sbb-flip-card-padding: var(--sbb-spacing-responsive-s);
11
+ --sbb-flip-card-padding-block-end: var(--sbb-spacing-responsive-xs);
12
+ --sbb-flip-card-min-height: #{sbb.px-to-rem-build(280)};
13
+ }
14
+
15
+ @mixin base-breakpoint-large {
16
+ --sbb-flip-card-min-height: #{sbb.px-to-rem-build(320)};
17
+ }
18
+
19
+ @mixin rules {
20
+ // Every element in the Light DOM of a sbb-flip-card which is focusable should receive this attribute.
21
+ // This style enables accessing focusable elements inside an sbb-card.
22
+ sbb-flip-card .sbb-action {
23
+ pointer-events: all;
24
+ }
25
+ }
@@ -0,0 +1,7 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-flip-card-details-translate-y: var(--sbb-spacing-fixed-2x);
7
+ }
@@ -0,0 +1,17 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin rules {
6
+ sbb-flip-card-summary {
7
+ > [slot='image']:is(sbb-image, img),
8
+ > [slot='image'] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
9
+ --sbb-image-aspect-ratio: auto;
10
+ --sbb-image-object-fit: cover;
11
+
12
+ border-radius: 0;
13
+ display: block;
14
+ height: 100%;
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-footer-background-color: var(--sbb-background-color-3);
7
+ --sbb-footer-clock-width: #{sbb.px-to-rem-build(76)};
8
+ --sbb-footer-color: light-dark(var(--sbb-color-granite), var(--sbb-color-white));
9
+ --sbb-footer-font-size: var(--sbb-text-font-size-s);
10
+ --sbb-footer-gap-horizontal: var(--sbb-grid-base-gutter-responsive);
11
+ --sbb-footer-gap-vertical: var(--sbb-spacing-responsive-l);
12
+ --sbb-footer-padding-block: var(--sbb-spacing-responsive-l);
13
+ }
14
+
15
+ @mixin base-breakpoint-small {
16
+ --sbb-footer-clock-width: #{sbb.px-to-rem-build(112)};
17
+ }
@@ -0,0 +1,9 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-error-color: var(--sbb-color-error);
7
+ --sbb-error-icon-size: #{sbb.px-to-rem-build(17)};
8
+ --sbb-error-font-size: var(--sbb-text-font-size-xs);
9
+ }
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../form-field.component-DkqZz7aZ.js";
1
+ import { n as e, t } from "../../form-field.component-BKWzdNHT.js";
2
2
  export { t as SbbFormFieldControlEvent, e as SbbFormFieldElement };
@@ -0,0 +1,271 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-form-field-background-color: var(--sbb-background-color-1);
7
+ --sbb-form-field-border-color: var(--sbb-border-color-5);
8
+ --sbb-form-field-border-style: solid;
9
+ --sbb-form-field-border-radius: var(--sbb-border-radius-4x);
10
+ --sbb-form-field-border-width: var(--sbb-border-width-1x);
11
+ --sbb-form-field-color: var(--sbb-color-3);
12
+ --sbb-form-field-label-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
13
+ --sbb-form-field-prefix-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
14
+ --sbb-form-field-text-color: var(--sbb-color-3);
15
+ --sbb-form-field-arrow-color: var(--sbb-color-3);
16
+ --sbb-form-field-gap: var(--sbb-spacing-fixed-2x);
17
+ --sbb-form-field-icon-size: var(--sbb-size-icon-ui-small);
18
+ --sbb-form-field-min-height: #{sbb.theme-pattern-select(
19
+ (
20
+ 'standard': var(--sbb-size-element-m),
21
+ 'lean': var(--sbb-size-element-xs),
22
+ ),
23
+ $theme
24
+ )};
25
+ --sbb-form-field-padding-inline: #{sbb.theme-pattern-select(
26
+ (
27
+ 'standard': var(--sbb-spacing-fixed-3x),
28
+ 'lean': var(--sbb-spacing-fixed-2x),
29
+ ),
30
+ $theme
31
+ )};
32
+ --sbb-form-field-input-text-size: #{sbb.theme-pattern-select(
33
+ (
34
+ 'standard': var(--sbb-text-font-size-m),
35
+ 'lean': var(--sbb-text-font-size-s),
36
+ ),
37
+ $theme
38
+ )};
39
+ --sbb-form-field-label-text-size: #{sbb.theme-pattern-select(
40
+ (
41
+ 'standard': var(--sbb-text-font-size-xs),
42
+ 'lean': var(--sbb-text-font-size-xxs),
43
+ ),
44
+ $theme
45
+ )};
46
+ --_sbb-form-field-label-to-input-overlapping: #{sbb.theme-pattern-select(
47
+ (
48
+ 'standard': var(--sbb-spacing-fixed-1x),
49
+ 'lean': #{sbb.px-to-rem-build(10)},
50
+ ),
51
+ $theme
52
+ )};
53
+ --_sbb-form-field-floating-label-transform: #{sbb.theme-pattern-select(
54
+ (
55
+ 'standard': #{sbb.px-to-rem-build(8.5)},
56
+ 'lean': #{sbb.px-to-rem-build(5.5)},
57
+ ),
58
+ $theme
59
+ )};
60
+ --_sbb-form-field-spacer-margin-block-end: #{sbb.theme-pattern-select(
61
+ (
62
+ 'standard': calc(-1 * var(--_sbb-form-field-label-to-input-overlapping)),
63
+ 'lean': #{sbb.px-to-rem-build(-8.5)},
64
+ ),
65
+ $theme
66
+ )};
67
+ --_sbb-form-field-input-margin-block-end: #{sbb.theme-pattern-select(
68
+ (
69
+ 'standard': 0,
70
+ 'lean': #{sbb.px-to-rem-build(-2)},
71
+ ),
72
+ $theme
73
+ )};
74
+ }
75
+
76
+ @mixin base-forced-colors {
77
+ --sbb-form-field-border-color: ButtonBorder;
78
+ }
79
+
80
+ @mixin base-breakpoint-large {
81
+ --_sbb-form-field-label-to-input-overlapping: #{sbb.theme-pattern-select(
82
+ (
83
+ 'standard': var(--sbb-spacing-fixed-1x),
84
+ 'lean': #{sbb.px-to-rem-build(11)},
85
+ ),
86
+ $theme
87
+ )};
88
+ --_sbb-form-field-floating-label-transform: #{sbb.theme-pattern-select(
89
+ (
90
+ 'standard': #{sbb.px-to-rem-build(10.5)},
91
+ 'lean': #{sbb.px-to-rem-build(5)},
92
+ ),
93
+ $theme
94
+ )};
95
+ --_sbb-form-field-spacer-margin-block-end: #{sbb.theme-pattern-select(
96
+ (
97
+ 'standard': calc(-1 * var(--_sbb-form-field-label-to-input-overlapping)),
98
+ 'lean': #{sbb.px-to-rem-build(-8)},
99
+ ),
100
+ $theme
101
+ )};
102
+ }
103
+
104
+ @mixin rules {
105
+ :is(sbb-form-field, sbb-timetable-form-field) {
106
+ :where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input) {
107
+ @include sbb.ellipsis;
108
+ @include sbb.input-reset;
109
+
110
+ // Form elements are naturally in 'display: inline-block'; however, since the form-element container
111
+ // is in 'display: flex' (class "sbb-form-field__input"), they are block-ified, as per documentation:
112
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Flexible_box_layout/Basic_concepts#the_flex_container
113
+ // Setting 'display: flex' should not change anything on lyne-elements, but is useful for consumers of lyne-angular,
114
+ // since the rule is valid for Angular custom components which have an inner form element.
115
+ display: flex;
116
+
117
+ // Use !important here to not interfere with Firefox focus ring definition
118
+ // which appears in normalize CSS of several frameworks.
119
+ outline: none !important;
120
+ overflow: var(--sbb-form-field-overflow, hidden);
121
+ width: 100%;
122
+ box-sizing: border-box;
123
+ color: var(--sbb-form-field-text-color);
124
+
125
+ // Fill color needed for Safari
126
+ -webkit-text-fill-color: var(--sbb-form-field-text-color);
127
+ opacity: 1;
128
+ background-color: transparent;
129
+
130
+ // To be more specific than the styles in normalize.scss we need to use !important
131
+ // TODO: Find a better solution
132
+ font-size: var(--sbb-form-field-input-text-size) !important;
133
+ letter-spacing: var(--sbb-typo-letter-spacing-text) !important;
134
+ font-family: var(--sbb-typo-font-family) !important;
135
+ line-height: var(--sbb-typo-line-height-text) !important;
136
+
137
+ &::placeholder {
138
+ @include sbb.placeholder;
139
+ }
140
+ }
141
+
142
+ &[floating-label] :where(input, select, textarea, sbb-select)::placeholder,
143
+ // This covers the placeholder of the sbb-date-input and sbb-time-input
144
+ &[floating-label] :where(sbb-date-input, sbb-time-input)::after {
145
+ color: transparent !important;
146
+ -webkit-text-fill-color: transparent !important;
147
+
148
+ @media (forced-colors: active) {
149
+ color: Canvas !important;
150
+ -webkit-text-fill-color: Canvas !important;
151
+ }
152
+ }
153
+
154
+ // TODO: Remove if webkit bug is resolved: https://bugs.webkit.org/show_bug.cgi?id=223814
155
+ &:not([floating-label]) :where(input, select, textarea, sbb-select):disabled::placeholder {
156
+ color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
157
+ -webkit-text-fill-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
158
+ }
159
+
160
+ // Fix positioning issue for select which occurs in Safari
161
+ :where(select) {
162
+ vertical-align: middle;
163
+ }
164
+
165
+ :where(select, sbb-select) {
166
+ padding-inline-end: var(--sbb-form-field-select-inline-padding-end);
167
+ }
168
+
169
+ #{sbb.theme-pattern-select(('standard': "&[size='s']", 'lean': "&:not([size='m'],[size='l'])"),$theme)}
170
+ :where(input, sbb-date-input, sbb-time-input) {
171
+ // We shrink the input's height to support all types of inputs (especially type=number).
172
+ // Factor 1.25 ensures, letters are not cut.
173
+ height: calc(var(--sbb-form-field-input-text-size) * 1.25);
174
+
175
+ // Avoids Safari bug, where text gets misaligned with type=number
176
+ line-height: 1 !important;
177
+
178
+ // We add the missing block spacing to fit the line-height
179
+ margin-block: calc(
180
+ 0.5 * (var(--sbb-form-field-input-text-size) * (var(--sbb-typo-line-height-text) - 1.25))
181
+ );
182
+ }
183
+
184
+ // This rule matches the analogous one in the form-field.scss,
185
+ // and it's useful for Angular custom components, assuming that they have an internal form element.
186
+ #{sbb.theme-pattern-select(('standard': "&[size='s']", 'lean': "&:not([size='m'],[size='l'])"),$theme)}
187
+ > :not(sbb-chip-group):has(input, sbb-date-input, sbb-time-input, select, sbb-select) {
188
+ margin-block-end: #{sbb.px-to-rem-build(-2)};
189
+ }
190
+
191
+ :where(textarea) {
192
+ @include sbb.scrollbar;
193
+
194
+ position: relative;
195
+ resize: none;
196
+
197
+ // White-space break needed for Firefox
198
+ white-space: break-spaces;
199
+ overflow-y: auto;
200
+ min-height: calc((var(--sbb-typo-line-height-text) * 1em));
201
+ height: 100%;
202
+ }
203
+
204
+ &[size='l'] :where(textarea) {
205
+ padding-block-end: #{sbb.px-to-rem-build(5.5)};
206
+ }
207
+
208
+ &[negative] :where(textarea) {
209
+ @include sbb.scrollbar-variables--color-negative;
210
+ }
211
+
212
+ &:has(
213
+ :is(
214
+ :is(input, textarea, select):user-invalid,
215
+ :state(interacted):invalid,
216
+ .ng-touched.ng-invalid,
217
+ .sbb-invalid
218
+ )
219
+ ),
220
+ :is(.ng-submitted, .sbb-show-errors) &:has(:is(:invalid, .ng-invalid)) {
221
+ --sbb-form-field-border-color: var(--sbb-color-error);
222
+ --sbb-form-field-text-color: var(--sbb-color-error);
223
+
224
+ &[negative] {
225
+ --sbb-form-field-border-color: var(--sbb-color-red85);
226
+ --sbb-form-field-text-color: var(--sbb-color-red85);
227
+ }
228
+
229
+ @media (forced-colors: active) {
230
+ --sbb-form-field-border-color: LinkText !important;
231
+ --sbb-form-field-text-color: LinkText !important;
232
+ }
233
+ }
234
+ }
235
+
236
+ :is(sbb-form-field, sbb-timetable-form-field):state(empty):not(
237
+ :state(readonly),
238
+ :state(disabled)
239
+ ) {
240
+ :root.sbb-form-field-required-highlight
241
+ &:has(:where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input)[required]),
242
+ &.sbb-form-field-required-highlight {
243
+ --sbb-form-field-background-color: light-dark(
244
+ color-mix(in srgb, var(--sbb-color-peach) 5%, var(--sbb-background-color-1)),
245
+ color-mix(in srgb, var(--sbb-color-peach) 10%, var(--sbb-background-color-1))
246
+ );
247
+
248
+ &[negative] {
249
+ --sbb-form-field-background-color: color-mix(
250
+ in srgb,
251
+ var(--sbb-color-peach) 10%,
252
+ var(--sbb-background-color-1-negative)
253
+ );
254
+ }
255
+ }
256
+ }
257
+
258
+ // In high contrast we set, regardless of any state, an Asterix (*) for required fields, to ensure the requirement is visible.
259
+ :is(sbb-form-field, sbb-timetable-form-field):not(:state(readonly), :state(disabled)) {
260
+ :root.sbb-form-field-required-highlight
261
+ &:has(:where(input, select, textarea, sbb-select, sbb-date-input, sbb-time-input)[required]),
262
+ &.sbb-form-field-required-highlight {
263
+ @media (forced-colors: active) {
264
+ label::after {
265
+ content: ' *';
266
+ color: Highlight;
267
+ }
268
+ }
269
+ }
270
+ }
271
+ }
@@ -4,7 +4,7 @@ import { property as a, state as o } from "lit/decorators.js";
4
4
  import { SbbElement as s, SbbNegativeMixin as c, appendAriaElements as l, forceType as u, removeAriaElements as d, sbbInputModalityDetector as f } from "./core.js";
5
5
  import { SbbIconElement as p } from "./icon.pure.js";
6
6
  //#region src/elements/form-field/form-field/form-field.scss?inline
7
- var m = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb-spacing-fixed-1x);--sbb-form-field-hint-padding-block-start: var(--sbb-form-field-hint-divider-width);--sbb-form-field-select-inline-padding-end: calc( var(--sbb-icon-svg-width) + var(--sbb-form-field-gap) );--sbb-form-field-label-size: calc( var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-text-line-height: calc( var(--sbb-form-field-input-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-margin-block-start: calc( ( var(--sbb-form-field-min-height) - var(--sbb-form-field-label-size) - var( --sbb-form-field-text-line-height ) + var(--_sbb-form-field-label-to-input-overlapping) ) / 2 );--sbb-icon-svg-width: var(--sbb-form-field-icon-size);--sbb-icon-svg-height: var(--sbb-form-field-icon-size);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );display:inline-block;color:var(--sbb-form-field-color);font-weight:400;line-height:var(--sbb-typo-line-height-text)}:host(:where(:not([width=collapse]))){min-width:9.375rem;width:min(18.75rem,100%)}:host([negative]){color:var(--sbb-color-3-negative);--sbb-form-field-background-color: var(--sbb-background-color-1-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5);--sbb-form-field-text-color: var(--sbb-color-3-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-form-field-arrow-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host([negative]){--sbb-form-field-border-color: ButtonBorder}}:host([size=s]){--sbb-form-field-min-height: var(--sbb-size-element-xs);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-2x);--sbb-form-field-input-text-size: var(--sbb-text-font-size-s);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xxs);--_sbb-form-field-input-margin-block-end: -.125rem;--_sbb-form-field-label-to-input-overlapping: .625rem;--_sbb-form-field-floating-label-transform: .34375rem;--_sbb-form-field-spacer-margin-block-end: -.53125rem}@media(min-width:64rem){:host([size=s]){--_sbb-form-field-label-to-input-overlapping: .6875rem;--_sbb-form-field-floating-label-transform: .3125rem;--_sbb-form-field-spacer-margin-block-end: -.5rem}}:host([size=m]){--sbb-form-field-min-height: var(--sbb-size-element-m);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-3x)}:host([size=l]){--sbb-form-field-min-height: var(--sbb-size-element-l);--sbb-form-field-padding-inline: var(--sbb-spacing-responsive-xxxs)}:host(:is([size=m],[size=l])){--sbb-form-field-input-text-size: var(--sbb-text-font-size-m);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xs);--_sbb-form-field-input-margin-block-end: 0;--_sbb-form-field-label-to-input-overlapping: var(--sbb-spacing-fixed-1x);--_sbb-form-field-floating-label-transform: .53125rem;--_sbb-form-field-spacer-margin-block-end: calc( -1 * var(--_sbb-form-field-label-to-input-overlapping) )}@media(min-width:64rem){:host(:is([size=m],[size=l])){--_sbb-form-field-floating-label-transform: .65625rem}}:host([error-space=reserve]){--sbb-form-field-hint-min-height: calc( var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs) );--sbb-form-field-hint-padding-block-start-override: var(--sbb-form-field-hint-divider-width)}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-background-color: var(--sbb-background-color-3);--sbb-form-field-border-color: var(--sbb-color-graphite);--sbb-form-field-border-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));--sbb-form-field-arrow-color: var(--sbb-color-granite);--sbb-form-field-arrow-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}@media(forced-colors:active){:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-border-color: ButtonBorder}}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-background-color: var(--sbb-background-color-3-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-arrow-color: var(--sbb-border-color-5)}:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm));--sbb-form-field-border-style: dashed}@media(forced-colors:active){:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: GrayText !important;--sbb-form-field-prefix-color: GrayText !important;--sbb-form-field-text-color: GrayText !important;--sbb-form-field-border-color: GrayText !important}}:host(:where(:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-text-color: var(--sbb-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5)}:host(:where(:is(:state(readonly),[state--readonly])):not([negative])){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}:host(:where(:is(:state(focus),[state--focus]))){--sbb-form-field-border-color: var(--sbb-border-color-3);--sbb-form-field-prefix-color: var(--sbb-color-3);--sbb-form-field-border-width: var(--sbb-border-width-2x)}:host(:where(:is(:state(focus),[state--focus]))[negative]){--sbb-form-field-border-color: var(--sbb-border-color-3-negative);--sbb-form-field-prefix-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host(:is(:state(focus),[state--focus])){--sbb-form-field-border-color: Highlight;--sbb-form-field-prefix-color: Highlight}}:host(:not(:where(:is(:state(has-error),[state--has-error]),:is(:state(has-hint),[state--has-hint])))){--sbb-form-field-hint-padding-block-start: 0}:host([floating-label]){--sbb-select-placeholder-color: transparent}@media(forced-colors:active){:host([floating-label]){--sbb-select-placeholder-color: Canvas}}:host(:is(:not(:is(:state(slotted-label),[state--slotted-label])),[hidden-label])){--sbb-form-field-label-size: 0rem;--_sbb-form-field-label-to-input-overlapping: 0rem}:host(:where(:is(:state(input-element-sbb-slider),[state--input-element-sbb-slider]))){--sbb-form-field-overflow: visible}.sbb-form-field__space-wrapper{display:flex;flex-direction:column;height:100%}.sbb-form-field__space-wrapper:before{content:\"​\";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-form-field__wrapper{display:flex;flex:1;gap:var(--sbb-form-field-gap);padding-inline:var(--sbb-form-field-padding-inline);border-radius:var(--sbb-form-field-border-radius);min-height:var(--sbb-form-field-min-height);max-height:var(--sbb-form-field-max-height);background-color:var(--sbb-form-field-background-color);position:relative}.sbb-form-field__wrapper:before{content:\"\";display:block;position:absolute;inset:0;border:var(--sbb-form-field-border-width) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);border-radius:var(--sbb-form-field-border-radius);pointer-events:none}:host(:where(:is(:state(focus),[state--focus]):is(:state(focus-origin-keyboard),[state--focus-origin-keyboard]))) .sbb-form-field__wrapper{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);outline-offset:var(--sbb-form-field-outline-offset, var(--sbb-focus-outline-offset))}@media(forced-colors:none){:host(:is([borderless],:is(:state(input-element-sbb-slider),[state--input-element-sbb-slider]))) .sbb-form-field__wrapper:before{border-color:transparent}:host(:where(:is(:state(focus),[state--focus]),:is(:state(disabled),[state--disabled]))[borderless]) .sbb-form-field__wrapper:after{content:\"\";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0;z-index:var(--sbb-form-field-focus-underline-z-index, initial)}}::slotted(*[slot=prefix]){color:var(--sbb-form-field-prefix-color)}::slotted(*[slot=prefix]),::slotted(*[slot=suffix]){display:flex;min-width:var(--sbb-icon-svg-width);margin-block-start:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}:host(:where(:is(:state(empty),[state--empty]),:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-clear){display:none}:host(:is(:state(has-error),[state--has-error])) slot[name=hint]{display:none}:host(:where(:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-text-counter){display:none}::slotted(sbb-datepicker-toggle){padding-block-end:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}@media(forced-colors:active){::slotted(*[slot=suffix]){color:var(--sbb-form-field-prefix-color)}}.sbb-form-field__select-input-icon{top:50%;translate:0 -50%;display:none;position:absolute;inset-inline-end:0;margin-block-start:calc(-1 * var(--sbb-form-field-margin-block-start) / 2);pointer-events:none;color:var(--sbb-form-field-arrow-color)}:host(:is(:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]),:is(:state(explicit-input-element-select),[state--explicit-input-element-select]))) .sbb-form-field__select-input-icon{display:inline-block}.sbb-form-field__input-container{display:flex;flex-direction:column;flex:1 1 auto;position:relative;margin-block-start:var(--sbb-form-field-margin-block-start);min-width:0}.sbb-form-field__label-spacer{display:flex;height:calc(var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text));margin-block-end:var(--_sbb-form-field-spacer-margin-block-end)}:host(:not(:is(:state(slotted-label),[state--slotted-label]))) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){display:none}:host([hidden-label]) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-form-field__label{display:flex;max-width:100%;cursor:var(--sbb-cursor-default);position:absolute;inset-block-start:0;color:var(--sbb-form-field-label-color);font-size:var(--sbb-form-field-label-text-size);letter-spacing:var(--sbb-typo-letter-spacing-text)}:host(:where(:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]))) .sbb-form-field__label{padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}:host([floating-label]) .sbb-form-field__label{transform-origin:0 0;pointer-events:none;backface-visibility:hidden;will-change:transform,font-size;transition-duration:var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));transition-timing-function:var(--sbb-animation-easing);transition-property:transform,font-size}:host([floating-label]:is(:not(:where(:is(:state(focus),[state--focus])):not(:where(:is(:state(input-element-sbb-select),[state--input-element-sbb-select]))),:where(:is(:state(has-popup-open),[state--has-popup-open]))),:where(:is(:state(readonly),[state--readonly]))):where(:is(:state(empty),[state--empty]))) .sbb-form-field__label{font-size:var(--sbb-form-field-input-text-size);transform:translateY(var(--_sbb-form-field-floating-label-transform))}@media(forced-colors:active){:host(:where(:is(:state(input-element-textarea),[state--input-element-textarea]))) .sbb-form-field__label{z-index:1}}.sbb-form-field__label-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-form-field__input{display:flex;flex:1;align-items:start}:host(:is(:is(:state(input-element-input),[state--input-element-input]),:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]),:is(:state(input-element-sbb-date-input),[state--input-element-sbb-date-input]),:is(:state(input-element-sbb-time-input),[state--input-element-sbb-time-input]))) .sbb-form-field__input{margin-block-end:var(--_sbb-form-field-input-margin-block-end)}.sbb-form-field__hint{display:flex;min-height:var(--sbb-form-field-hint-min-height);flex-direction:column;margin-block-start:var(--sbb-form-field-hint-padding-block-start-override, var(--sbb-form-field-hint-padding-block-start))}", h = 0, g = /* @__PURE__ */ new WeakMap(), _ = [
7
+ var m = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb-spacing-fixed-1x);--sbb-form-field-hint-padding-block-start: var(--sbb-form-field-hint-divider-width);--sbb-form-field-select-inline-padding-end: calc( var(--sbb-icon-svg-width) + var(--sbb-form-field-gap) );--sbb-form-field-label-size: calc( var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-text-line-height: calc( var(--sbb-form-field-input-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-margin-block-start: calc( ( var(--sbb-form-field-min-height) - var(--sbb-form-field-label-size) - var( --sbb-form-field-text-line-height ) + var(--_sbb-form-field-label-to-input-overlapping) ) / 2 );--sbb-icon-svg-width: var(--sbb-form-field-icon-size);--sbb-icon-svg-height: var(--sbb-form-field-icon-size);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );display:inline-block;color:var(--sbb-form-field-color);font-weight:400;line-height:var(--sbb-typo-line-height-text)}:host(:where(:not([width=collapse]))){min-width:9.375rem;width:min(18.75rem,100%)}:host([negative]){color:var(--sbb-color-3-negative);--sbb-form-field-background-color: var(--sbb-background-color-1-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5);--sbb-form-field-text-color: var(--sbb-color-3-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-form-field-arrow-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host([negative]){--sbb-form-field-border-color: ButtonBorder}}:host([size=s]){--sbb-form-field-min-height: var(--sbb-size-element-xs);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-2x);--sbb-form-field-input-text-size: var(--sbb-text-font-size-s);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xxs);--_sbb-form-field-input-margin-block-end: -.125rem;--_sbb-form-field-label-to-input-overlapping: .625rem;--_sbb-form-field-floating-label-transform: .34375rem;--_sbb-form-field-spacer-margin-block-end: -.53125rem}@media(min-width:64rem){:host([size=s]){--_sbb-form-field-label-to-input-overlapping: .6875rem;--_sbb-form-field-floating-label-transform: .3125rem;--_sbb-form-field-spacer-margin-block-end: -.5rem}}:host([size=m]){--sbb-form-field-min-height: var(--sbb-size-element-m);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-3x)}:host([size=l]){--sbb-form-field-min-height: var(--sbb-size-element-l);--sbb-form-field-padding-inline: var(--sbb-spacing-responsive-xxxs)}:host(:is([size=m],[size=l])){--sbb-form-field-input-text-size: var(--sbb-text-font-size-m);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xs);--_sbb-form-field-input-margin-block-end: 0;--_sbb-form-field-label-to-input-overlapping: var(--sbb-spacing-fixed-1x);--_sbb-form-field-floating-label-transform: .53125rem;--_sbb-form-field-spacer-margin-block-end: calc( -1 * var(--_sbb-form-field-label-to-input-overlapping) )}@media(min-width:64rem){:host(:is([size=m],[size=l])){--_sbb-form-field-floating-label-transform: .65625rem}}:host([error-space=reserve]){--sbb-form-field-hint-min-height: calc( var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs) );--sbb-form-field-hint-padding-block-start-override: var(--sbb-form-field-hint-divider-width)}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-background-color: var(--sbb-background-color-3);--sbb-form-field-border-color: var(--sbb-color-graphite);--sbb-form-field-border-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));--sbb-form-field-arrow-color: var(--sbb-color-granite);--sbb-form-field-arrow-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}@media(forced-colors:active){:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-border-color: ButtonBorder}}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-background-color: var(--sbb-background-color-3-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-arrow-color: var(--sbb-border-color-5)}:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm));--sbb-form-field-border-style: dashed}@media(forced-colors:active){:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: GrayText !important;--sbb-form-field-prefix-color: GrayText !important;--sbb-form-field-text-color: GrayText !important;--sbb-form-field-border-color: GrayText !important}}:host(:where(:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-text-color: var(--sbb-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5)}:host(:where(:is(:state(readonly),[state--readonly])):not([negative])){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}:host(:where(:is(:state(focus),[state--focus]))){--sbb-form-field-border-color: var(--sbb-border-color-3);--sbb-form-field-prefix-color: var(--sbb-color-3);--sbb-form-field-border-width: var(--sbb-border-width-2x)}:host(:where(:is(:state(focus),[state--focus]))[negative]){--sbb-form-field-border-color: var(--sbb-border-color-3-negative);--sbb-form-field-prefix-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host(:is(:state(focus),[state--focus])){--sbb-form-field-border-color: Highlight;--sbb-form-field-prefix-color: Highlight}}:host(:not(:where(:is(:state(has-error),[state--has-error]),:is(:state(has-hint),[state--has-hint])))){--sbb-form-field-hint-padding-block-start: 0}:host([floating-label]){--sbb-select-placeholder-color: transparent}@media(forced-colors:active){:host([floating-label]){--sbb-select-placeholder-color: Canvas}}:host(:is(:not(:is(:state(slotted-label),[state--slotted-label])),[hidden-label])){--sbb-form-field-label-size: 0rem;--_sbb-form-field-label-to-input-overlapping: 0rem}:host(:where(:is(:state(input-element-sbb-slider),[state--input-element-sbb-slider]))){--sbb-form-field-overflow: visible}.sbb-form-field__space-wrapper{display:flex;flex-direction:column;height:100%}.sbb-form-field__space-wrapper:before{content:\"​\";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-form-field__wrapper{display:flex;flex:1;gap:var(--sbb-form-field-gap);padding-inline:var(--sbb-form-field-padding-inline);border-radius:var(--sbb-form-field-border-radius);min-height:var(--sbb-form-field-min-height);max-height:var(--sbb-form-field-max-height);background-color:var(--sbb-form-field-background-color);position:relative}.sbb-form-field__wrapper:before{content:\"\";display:block;position:absolute;inset:0;border:var(--sbb-form-field-border-width) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);border-radius:var(--sbb-form-field-border-radius);pointer-events:none}:host(:where(:is(:state(focus),[state--focus]):is(:state(focus-origin-keyboard),[state--focus-origin-keyboard]))) .sbb-form-field__wrapper{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);outline-offset:var(--sbb-form-field-outline-offset, var(--sbb-focus-outline-offset))}@media(forced-colors:none){:host(:is([borderless],:is(:state(input-element-sbb-slider),[state--input-element-sbb-slider]))) .sbb-form-field__wrapper:before{border-color:transparent}:host(:where(:is(:state(focus),[state--focus]),:is(:state(disabled),[state--disabled]))[borderless]) .sbb-form-field__wrapper:after{content:\"\";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0;z-index:var(--sbb-form-field-focus-underline-z-index, initial)}}::slotted(*[slot=prefix]){color:var(--sbb-form-field-prefix-color)}::slotted(*[slot=prefix]),::slotted(*[slot=suffix]){display:flex;min-width:var(--sbb-icon-svg-width);margin-block-start:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}:host(:where(:is(:state(empty),[state--empty]),:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-clear){display:none}:host(:is(:state(has-error),[state--has-error])) slot[name=hint]{display:none}:host(:where(:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-text-counter){display:none}::slotted(sbb-datepicker-toggle){padding-block-end:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}@media(forced-colors:active){::slotted(*[slot=suffix]){color:var(--sbb-form-field-prefix-color)}}.sbb-form-field__select-input-icon{top:50%;translate:0 -50%;display:none;position:absolute;inset-inline-end:0;margin-block-start:calc(-1 * var(--sbb-form-field-margin-block-start) / 2);pointer-events:none;color:var(--sbb-form-field-arrow-color)}:host(:is(:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]),:is(:state(explicit-input-element-select),[state--explicit-input-element-select]))) .sbb-form-field__select-input-icon{display:inline-block}.sbb-form-field__input-container{display:flex;flex-direction:column;flex:1 1 auto;position:relative;margin-block-start:var(--sbb-form-field-margin-block-start);min-width:0}.sbb-form-field__label-spacer{display:flex;height:calc(var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text));margin-block-end:var(--_sbb-form-field-spacer-margin-block-end)}:host(:not(:is(:state(slotted-label),[state--slotted-label]))) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){display:none}:host([hidden-label]) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-form-field__label{display:flex;max-width:100%;cursor:var(--sbb-cursor-default);position:absolute;inset-block-start:0;color:var(--sbb-form-field-label-color);font-size:var(--sbb-form-field-label-text-size);letter-spacing:var(--sbb-typo-letter-spacing-text)}:host(:where(:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]))) .sbb-form-field__label{padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}:host([floating-label]) .sbb-form-field__label{transform-origin:0 0;pointer-events:none;backface-visibility:hidden;will-change:transform,font-size;transition-duration:var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));transition-timing-function:var(--sbb-animation-easing);transition-property:transform,font-size}:host([floating-label]:is(:not(:where(:is(:state(focus),[state--focus])):not(:where(:is(:state(input-element-sbb-select),[state--input-element-sbb-select]))),:where(:is(:state(has-popup-open),[state--has-popup-open]))),:where(:is(:state(readonly),[state--readonly]))):where(:is(:state(empty),[state--empty]))) .sbb-form-field__label{font-size:var(--sbb-form-field-input-text-size);transform:translateY(var(--_sbb-form-field-floating-label-transform))}@media(forced-colors:active){:host(:where(:is(:state(input-element-textarea),[state--input-element-textarea]))) .sbb-form-field__label{z-index:1}}.sbb-form-field__label-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-form-field__input{display:flex;flex:1;align-items:start}:host(:is(:is(:state(input-element-input),[state--input-element-input]),:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]),:is(:state(input-element-sbb-date-input),[state--input-element-sbb-date-input]),:is(:state(input-element-sbb-time-input),[state--input-element-sbb-time-input]))) .sbb-form-field__input{margin-block-end:var(--_sbb-form-field-input-margin-block-end)}.sbb-form-field__hint{display:flex;min-height:var(--sbb-form-field-hint-min-height);flex-direction:column;margin-inline-start:var(--sbb-form-field-padding-inline);margin-block-start:var(--sbb-form-field-hint-padding-block-start-override, var(--sbb-form-field-hint-padding-block-start))}", h = 0, g = /* @__PURE__ */ new WeakMap(), _ = [
8
8
  "input",
9
9
  "textarea",
10
10
  "select"
package/form-field.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./error.component-D9Tu2YIl.js";
2
- import { n as t, t as n } from "./form-field.component-DkqZz7aZ.js";
2
+ import { n as t, t as n } from "./form-field.component-BKWzdNHT.js";
3
3
  import { SbbFormFieldClearElement as r } from "./form-field/form-field-clear/form-field-clear.component.js";
4
4
  import { SbbFormFieldTextCounterElement as i } from "./form-field/form-field-text-counter/form-field-text-counter.component.js";
5
5
  import { t as a } from "./hint.component-DTKfI9tq.js";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./error.component-D9Tu2YIl.js";
2
- import { n as t, t as n } from "./form-field.component-DkqZz7aZ.js";
2
+ import { n as t, t as n } from "./form-field.component-BKWzdNHT.js";
3
3
  import { SbbFormFieldClearElement as r } from "./form-field/form-field-clear/form-field-clear.component.js";
4
4
  import { SbbFormFieldTextCounterElement as i } from "./form-field/form-field-text-counter/form-field-text-counter.component.js";
5
5
  import { t as a } from "./hint.component-DTKfI9tq.js";