@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.
- package/alert/alert/alert.global.scss +45 -0
- package/alert/alert-group/alert-group.global.scss +8 -0
- package/badge/badge.global.scss +44 -0
- package/breadcrumb/breadcrumb/breadcrumb.global.scss +16 -0
- package/breadcrumb/breadcrumb-group/breadcrumb-group.global.scss +26 -0
- package/button/common/button-common.global.scss +58 -0
- package/button/common/mini-button-common.global.scss +18 -0
- package/button/mini-button-group/mini-button-group.global.scss +35 -0
- package/calendar/calendar/calendar.global.scss +31 -0
- package/calendar/common/calendar-cell-base-element.global.scss +23 -0
- package/card/card/card.global.scss +22 -0
- package/card/card-badge/card-badge.global.scss +19 -0
- package/card/card.library.global.scss +203 -0
- package/carousel/carousel/carousel.global.scss +10 -0
- package/checkbox/checkbox.global.scss +10 -0
- package/checkbox/common/checkbox-common.global.scss +25 -0
- package/chip/chip/chip.global.scss +16 -0
- package/chip/chip-group/chip-group.global.scss +62 -0
- package/chip-label/chip-label.global.scss +11 -0
- package/clock/clock.global.scss +9 -0
- package/container/container/container.global.scss +21 -0
- package/container/sticky-bar/sticky-bar.global.scss +17 -0
- package/core/base-elements/selection-group-base-element.global.scss +12 -0
- package/core/mixins/panel-common.global.scss +41 -0
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/{form-field.component-w4nlNsj2.js → form-field.component-BzjbIwnz.js} +2 -2
- package/development/form-field.js +1 -1
- package/development/form-field.pure.js +1 -1
- package/dialog/dialog/dialog.global.scss +32 -0
- package/dialog/dialog-close-button/dialog-close-button.global.scss +35 -0
- package/dialog/dialog-content/dialog-content.global.scss +13 -0
- package/dialog/dialog-title/dialog-title.global.scss +13 -0
- package/divider/divider.global.scss +9 -0
- package/expansion-panel/expansion-panel/expansion-panel.global.scss +21 -0
- package/expansion-panel/expansion-panel-content/expansion-panel-content.global.scss +16 -0
- package/expansion-panel/expansion-panel-header/expansion-panel-header.global.scss +41 -0
- package/file-selector/common/file-selector.global.scss +25 -0
- package/flip-card/flip-card/flip-card.global.scss +25 -0
- package/flip-card/flip-card-details/flip-card-details.global.scss +7 -0
- package/flip-card/flip-card-summary/flip-card-summary.global.scss +17 -0
- package/footer/footer.global.scss +17 -0
- package/form-field/error/error.global.scss +9 -0
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/form-field/form-field.global.scss +271 -0
- package/{form-field.component-DkqZz7aZ.js → form-field.component-BKWzdNHT.js} +1 -1
- package/form-field.js +1 -1
- package/form-field.pure.js +1 -1
- package/header/common/header-action.global.scss +41 -0
- package/header/header/header.global.scss +62 -0
- package/header/header-environment/header-environment.global.scss +10 -0
- package/icon-sidebar/icon-sidebar/icon-sidebar.global.scss +21 -0
- package/lead-container/lead-container.global.scss +31 -0
- package/link/common/block-link.global.scss +15 -0
- package/link/link.library.global.scss +121 -0
- package/loading-indicator/loading-indicator.global.scss +10 -0
- package/loading-indicator-circle/loading-indicator-circle.global.scss +19 -0
- package/logo/logo.global.scss +15 -0
- package/map-container/map-container.global.scss +15 -0
- package/menu/common/menu-action.global.scss +14 -0
- package/menu/menu/menu.global.scss +23 -0
- package/message/message.global.scss +20 -0
- package/mini-calendar/mini-calendar-day/mini-calendar-day.global.scss +9 -0
- package/mini-calendar/mini-calendar-month/mini-calendar-month.global.scss +12 -0
- package/navigation/common/navigation-action.global.scss +11 -0
- package/navigation/navigation/navigation.global.scss +36 -0
- package/navigation/navigation-list/navigation-list.global.scss +10 -0
- package/navigation/navigation-marker/navigation-marker.global.scss +17 -0
- package/navigation/navigation-section/navigation-section.global.scss +34 -0
- package/notification/notification.global.scss +53 -0
- package/option/optgroup/optgroup.global.scss +17 -0
- package/option/option/option.global.scss +51 -0
- package/option/option-hint/option-hint.global.scss +17 -0
- package/option/option-panel-common.global.scss +11 -0
- package/overlay/overlay.global.scss +13 -0
- package/package.json +2 -2
- package/paginator/common/paginator-common.global.scss +14 -0
- package/paginator/compact-paginator/compact-paginator.global.scss +9 -0
- package/paginator/paginator/paginator.global.scss +10 -0
- package/popover/popover.global.scss +12 -0
- package/radio-button/common/radio-button-common.global.scss +37 -0
- package/select/select.global.scss +24 -0
- package/selection-action-panel/selection-action-panel.global.scss +19 -0
- package/selection-expansion-panel/selection-expansion-panel.global.scss +21 -0
- package/sidebar/sidebar/sidebar.global.scss +19 -0
- package/sidebar/sidebar-close-button/sidebar-close-button.global.scss +10 -0
- package/sidebar/sidebar-container/sidebar-container.global.scss +62 -0
- package/signet/signet.global.scss +16 -0
- package/slider/slider.global.scss +30 -0
- package/status/status.global.scss +10 -0
- package/stepper/step-label/step-label.global.scss +43 -0
- package/stepper/stepper/stepper.global.scss +10 -0
- package/table/table.global.scss +295 -0
- package/tabs/common/tab-group-common.global.scss +17 -0
- package/tabs/common/tab-label-common.global.scss +38 -0
- package/tabs/tab-nav-bar/tab-nav-bar.global.scss +10 -0
- package/tag/tag/tag.global.scss +41 -0
- package/teaser/teaser.global.scss +24 -0
- package/teaser-hero/teaser-hero.global.scss +27 -0
- package/teaser-panel/teaser-panel.global.scss +33 -0
- package/teaser-product/common/teaser-product-common.global.scss +50 -0
- package/time-input/time-input.global.scss +11 -0
- package/timetable-form/timetable-form/timetable-form.global.scss +97 -0
- package/timetable-form/timetable-form-details/timetable-form-details.global.scss +12 -0
- package/timetable-form/timetable-form-field/timetable-form-field.global.scss +10 -0
- package/timetable-occupancy/timetable-occupancy.global.scss +10 -0
- package/title/title-common.global.scss +7 -0
- package/title/title.global.scss +12 -0
- package/toast/toast.global.scss +18 -0
- package/toggle/toggle/toggle.global.scss +44 -0
- package/toggle/toggle-option/toggle-option.global.scss +10 -0
- package/toggle-check/toggle-check.global.scss +32 -0
- package/tooltip/tooltip.global.scss +20 -0
- package/train/train-blocked-passage/train-blocked-passage.global.scss +16 -0
- package/train/train-formation/train-formation.global.scss +26 -0
- package/train/train-wagon-common.global.scss +42 -0
- 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,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
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../../form-field.component-
|
|
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-
|
|
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";
|
package/form-field.pure.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-
|
|
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";
|