@sbb-esta/lyne-elements 0.53.0 → 1.2.0
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/button/common/button-common.d.ts.map +1 -1
- package/button/mini-button.js +5 -5
- package/calendar/calendar.d.ts +3 -1
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +62 -52
- package/card/common/card-action-common.d.ts.map +1 -1
- package/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +45 -50
- package/core/decorators/host-attributes.d.ts.map +1 -1
- package/core/eventing/throttle.d.ts.map +1 -1
- package/core/i18n/i18n.d.ts +1 -3
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +91 -127
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/core/mixins/hydration-mixin.d.ts +2 -8
- package/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/core/mixins/negative-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.d.ts.map +1 -1
- package/core/mixins/required-mixin.d.ts.map +1 -1
- package/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
- package/core/mixins.js +90 -99
- package/core/observers/intersection-observer.d.ts +1 -1
- package/core/styles/_index.scss +1 -0
- package/core/styles/mixins/buttons.scss +1 -1
- package/core/styles/mixins/table.scss +148 -0
- package/core/styles/standard-theme.scss +1 -0
- package/core/styles/table.scss +56 -0
- package/core/testing/private.d.ts +0 -1
- package/core/testing/private.d.ts.map +1 -1
- package/core/testing/wait-for-render.d.ts +1 -1
- package/core/testing/wait-for-render.d.ts.map +1 -1
- package/core/testing.js +40 -37
- package/custom-elements.json +557 -864
- package/datepicker/datepicker-next-day.js +5 -5
- package/datepicker/datepicker-previous-day.js +1 -1
- package/datepicker/datepicker-toggle.js +7 -7
- package/development/accordion.js +7 -1
- package/development/action-group.js +7 -1
- package/development/alert/alert-group.js +7 -1
- package/development/alert/alert.js +7 -1
- package/development/autocomplete.js +7 -1
- package/development/breadcrumb/breadcrumb-group.js +7 -1
- package/development/breadcrumb/breadcrumb.js +7 -1
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.js +7 -1
- package/development/button/mini-button.js +8 -2
- package/development/calendar/calendar.d.ts +3 -1
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +18 -2
- package/development/card/card-badge.js +7 -1
- package/development/card/card.js +7 -1
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common.js +7 -1
- package/development/checkbox/checkbox-group.js +7 -1
- package/development/checkbox/checkbox.js +7 -1
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/development/checkbox/common.js +7 -1
- package/development/chip.js +7 -1
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +35 -31
- package/development/container/container.js +7 -1
- package/development/container/sticky-bar.js +7 -1
- package/development/core/decorators/host-attributes.d.ts.map +1 -1
- package/development/core/eventing/throttle.d.ts.map +1 -1
- package/development/core/i18n/i18n.d.ts +1 -3
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +5 -43
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/hydration-mixin.d.ts +2 -8
- package/development/core/mixins/hydration-mixin.d.ts.map +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/development/core/mixins/negative-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/required-mixin.d.ts.map +1 -1
- package/development/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +26 -36
- package/development/core/observers/intersection-observer.d.ts +1 -1
- package/development/core/testing/private.d.ts +0 -1
- package/development/core/testing/private.d.ts.map +1 -1
- package/development/core/testing/wait-for-render.d.ts +1 -1
- package/development/core/testing/wait-for-render.d.ts.map +1 -1
- package/development/core/testing.js +6 -2
- package/development/datepicker/datepicker-next-day.js +8 -2
- package/development/datepicker/datepicker-previous-day.js +8 -2
- package/development/datepicker/datepicker-toggle.js +7 -2
- package/development/datepicker/datepicker.js +7 -1
- package/development/dialog/dialog-actions.js +7 -1
- package/development/dialog/dialog-content.js +7 -1
- package/development/dialog/dialog-title.js +7 -1
- package/development/dialog/dialog.js +7 -1
- package/development/divider.js +7 -1
- package/development/expansion-panel/expansion-panel-content.js +7 -1
- package/development/expansion-panel/expansion-panel-header.js +7 -1
- package/development/expansion-panel/expansion-panel.js +7 -1
- package/development/file-selector.js +7 -1
- package/development/footer.js +7 -1
- package/development/form-error.js +7 -1
- package/development/form-field/form-field-clear.js +8 -2
- package/development/form-field/form-field.js +7 -1
- package/development/header/common/header-action-common.d.ts.map +1 -1
- package/development/header/common.js +7 -1
- package/development/header/header.js +7 -1
- package/development/icon/icon-name-mixin.d.ts.map +1 -1
- package/development/icon/icon-request.d.ts.map +1 -1
- package/development/icon.js +7 -1
- package/development/image.js +7 -1
- package/development/journey-header.js +7 -1
- package/development/lead-container.js +7 -1
- package/development/link/common/block-link-common.d.ts.map +1 -1
- package/development/link/common/inline-link-common.d.ts.map +1 -1
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +19 -1
- package/development/link-list.js +7 -1
- package/development/loading-indicator.js +7 -1
- package/development/logo.js +7 -1
- package/development/map-container.js +7 -1
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common.js +7 -1
- package/development/menu/menu.js +7 -1
- package/development/message.js +7 -1
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common.js +7 -1
- package/development/navigation/navigation-list.js +7 -1
- package/development/navigation/navigation-marker.js +7 -1
- package/development/navigation/navigation-section.js +7 -1
- package/development/navigation/navigation.js +7 -1
- package/development/notification.js +8 -1
- package/development/option/optgroup/optgroup.d.ts +2 -0
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +21 -4
- package/development/option/option/option.d.ts +6 -5
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.js +53 -29
- package/development/overlay.js +7 -1
- package/development/popover/popover-trigger.js +8 -2
- package/development/popover/popover.js +7 -1
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +7 -1
- package/development/radio-button/radio-button-group.js +7 -1
- package/development/radio-button/radio-button.js +7 -1
- package/development/screen-reader-only.js +7 -1
- package/development/select.js +7 -1
- package/development/selection-expansion-panel.js +7 -1
- package/development/signet.js +7 -1
- package/development/skiplink-list.js +7 -1
- package/development/slider.js +7 -1
- package/development/status.js +7 -1
- package/development/stepper/step-label.js +7 -1
- package/development/stepper/step.js +7 -1
- package/development/stepper/stepper.js +7 -1
- package/development/table/table-wrapper/table-wrapper.d.ts +24 -0
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -0
- package/development/table/table-wrapper.d.ts +2 -0
- package/development/table/table-wrapper.d.ts.map +1 -0
- package/development/table/table-wrapper.js +130 -0
- package/development/table.d.ts +2 -0
- package/development/table.d.ts.map +1 -0
- package/development/table.js +2 -0
- package/development/tabs/tab-group/tab-group.d.ts +4 -7
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +69 -73
- package/development/tabs/tab-label.js +7 -1
- package/development/tabs/tab.js +7 -1
- package/development/tag/tag-group.js +7 -1
- package/development/tag/tag.js +7 -1
- package/development/teaser.js +7 -1
- package/development/time-input.js +7 -1
- package/development/timetable-occupancy-icon.js +7 -1
- package/development/timetable-occupancy.js +7 -1
- package/development/title.js +13 -1
- package/development/toast.js +7 -1
- package/development/toggle/toggle-option.js +7 -1
- package/development/toggle/toggle.js +7 -1
- package/development/toggle-check.js +7 -1
- package/development/train/train-blocked-passage.js +7 -1
- package/development/train/train-formation.js +7 -1
- package/development/train/train-wagon.js +7 -1
- package/development/train/train.js +7 -1
- package/development/visual-checkbox.js +7 -1
- package/form-field/form-field-clear.js +1 -1
- package/header/common/header-action-common.d.ts.map +1 -1
- package/icon/icon-name-mixin.d.ts.map +1 -1
- package/icon/icon-request.d.ts.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/link/common/block-link-common.d.ts.map +1 -1
- package/link/common/inline-link-common.d.ts.map +1 -1
- package/link/common/link-common.d.ts.map +1 -1
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/notification.js +1 -1
- package/option/optgroup/optgroup.d.ts +2 -0
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +24 -21
- package/option/option/option.d.ts +6 -5
- package/option/option/option.d.ts.map +1 -1
- package/option/option.js +72 -69
- package/package.json +11 -1
- package/popover/popover-trigger.js +1 -1
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/standard-theme.css +196 -0
- package/table/table-wrapper/table-wrapper.d.ts +24 -0
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -0
- package/table/table-wrapper.d.ts +2 -0
- package/table/table-wrapper.d.ts.map +1 -0
- package/table/table-wrapper.js +39 -0
- package/table.d.ts +2 -0
- package/table.d.ts.map +1 -0
- package/table.js +1 -0
- package/tabs/tab-group/tab-group.d.ts +4 -7
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +80 -81
package/option/option.js
CHANGED
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
import { property as
|
|
3
|
-
import { SbbConnectedAbortController as
|
|
1
|
+
import { css as v, LitElement as _, html as l, nothing as n } from "lit";
|
|
2
|
+
import { property as p, state as b, customElement as f } from "lit/decorators.js";
|
|
3
|
+
import { SbbConnectedAbortController as m, SbbSlotStateController as y } from "../core/controllers.js";
|
|
4
4
|
import { hostAttributes as x } from "../core/decorators.js";
|
|
5
|
-
import { setOrRemoveAttribute as
|
|
6
|
-
import { EventEmitter as
|
|
7
|
-
import { SbbDisabledMixin as
|
|
8
|
-
import { AgnosticMutationObserver as
|
|
9
|
-
import { SbbIconNameMixin as
|
|
5
|
+
import { setOrRemoveAttribute as g, isAndroid as k, isSafari as A } from "../core/dom.js";
|
|
6
|
+
import { EventEmitter as u } from "../core/eventing.js";
|
|
7
|
+
import { SbbDisabledMixin as S, SbbHydrationMixin as C } from "../core/mixins.js";
|
|
8
|
+
import { AgnosticMutationObserver as w } from "../core/observers.js";
|
|
9
|
+
import { SbbIconNameMixin as $ } from "../icon.js";
|
|
10
10
|
import "../screen-reader-only.js";
|
|
11
11
|
import "../visual-checkbox.js";
|
|
12
|
-
const
|
|
13
|
-
var
|
|
14
|
-
for (var
|
|
15
|
-
(
|
|
16
|
-
return
|
|
12
|
+
const G = v`*,:before,:after{box-sizing:border-box}:host{--sbb-option-color: var(--sbb-color-charcoal);--sbb-option-background-color: inherit;--sbb-option-background-color-hover: var(--sbb-color-milk);--sbb-option-background-color-active: var(--sbb-color-cloud);--sbb-option-disabled-border-color: var(--sbb-color-graphite);--sbb-option-disabled-background-color: var(--sbb-color-milk);--sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-option-padding-block: calc(var(--sbb-spacing-fixed-2x) + var(--sbb-border-width-2x));--sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);--sbb-option-justify-content: start;--sbb-option-cursor: pointer;--sbb-option-border-radius: var(--sbb-border-radius-4x);--sbb-option-icon-color: var(--sbb-color-metal);display:block}:host([data-negative]){--sbb-option-color: var(--sbb-color-milk);--sbb-option-icon-color: var(--sbb-color-smoke);--sbb-option-background-color-hover: var(--sbb-color-charcoal);--sbb-option-background-color-active: var(--sbb-color-iron);--sbb-option-disabled-border-color: var(--sbb-color-smoke);--sbb-option-disabled-background-color: var(--sbb-color-charcoal);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host([active]){--sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x))}@media (any-hover: hover){:host(:hover:not([disabled],[data-group-disabled])){--sbb-option-background-color: var(--sbb-option-background-color-hover)}}:host(:active:not([disabled],[data-group-disabled])){--sbb-option-background-color: var(--sbb-option-background-color-active)}:host(:not([data-disable-highlight])) .sbb-option__label slot{display:none}:host(:is([data-group-disabled],[disabled])){--sbb-option-cursor: default}@media (forced-colors: active){:host(:is([data-group-disabled],[disabled])){--sbb-option-color: GrayText}}:host([data-variant=select]){--sbb-option-column-gap: var(--sbb-spacing-fixed-2x);--sbb-option-justify-content: space-between}:host([data-variant=select][data-multiple]){--sbb-option-justify-content: start}:host(:not(:is([disabled],[data-group-disabled]))) .sbb-option__label--highlight{font-weight:700}@media (forced-colors: active){:host(:not(:is([disabled],[data-group-disabled]))) .sbb-option__label--highlight{color:Highlight}}.sbb-option__container{background-color:var(--sbb-option-background-color)}.sbb-option{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;column-gap:var(--sbb-option-column-gap);padding-inline:var(--sbb-option-padding-inline);padding-block:var(--sbb-option-padding-block);justify-content:var(--sbb-option-justify-content);color:var(--sbb-option-color);background-color:var(--sbb-option-background-color);cursor:var(--sbb-option-cursor);-webkit-tap-highlight-color:transparent;-webkit-text-fill-color:var(--sbb-option-color)}:host([active]) .sbb-option{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-option-border-radius)}:host(:is([data-group-disabled],[disabled]):not([data-multiple])) .sbb-option{position:relative;z-index:0}:host(:is([data-group-disabled],[disabled]):not([data-multiple])) .sbb-option:before{content:"";display:block;position:absolute;top:.375rem;right:.375rem;bottom:.375rem;left:.375rem;border:var(--sbb-border-width-1x) dashed var(--sbb-option-disabled-border-color);border-radius:var(--sbb-border-radius-2x);background-color:var(--sbb-option-disabled-background-color);z-index:-1}@media (forced-colors: active){:host(:is([data-group-disabled],[disabled]):not([data-multiple])) .sbb-option:before{border-color:GrayText}}.sbb-option__icon{display:flex;min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small);color:var(--sbb-option-icon-color)}:host(:not([data-slot-names~=icon],[icon-name])) .sbb-option__icon{display:var(--sbb-option-icon-container-display, none)}.sbb-option__label{white-space:initial}`;
|
|
13
|
+
var O = Object.defineProperty, H = Object.getOwnPropertyDescriptor, s = (t, i, e, a) => {
|
|
14
|
+
for (var r = a > 1 ? void 0 : a ? H(i, e) : i, d = t.length - 1, h; d >= 0; d--)
|
|
15
|
+
(h = t[d]) && (r = (a ? h(i, e, r) : h(r)) || r);
|
|
16
|
+
return a && r && O(i, e, r), r;
|
|
17
17
|
};
|
|
18
|
-
const
|
|
18
|
+
const c = A;
|
|
19
19
|
let D = 0;
|
|
20
|
-
const
|
|
20
|
+
const L = {
|
|
21
21
|
attributeFilter: ["data-group-disabled", "data-negative"]
|
|
22
22
|
};
|
|
23
|
-
let o = class extends
|
|
23
|
+
let o = class extends S(
|
|
24
|
+
$(C(_))
|
|
25
|
+
) {
|
|
24
26
|
constructor() {
|
|
25
|
-
super(), this._selectionChange = new
|
|
27
|
+
super(), this._selectionChange = new u(
|
|
26
28
|
this,
|
|
27
29
|
o.events.selectionChange
|
|
28
|
-
), this._optionSelected = new
|
|
30
|
+
), this._optionSelected = new u(
|
|
29
31
|
this,
|
|
30
32
|
o.events.optionSelected
|
|
31
|
-
), this._negative = !1, this._disabledFromGroup = !1, this._highlightString = null, this._disableLabelHighlight = !1, this._abort = new
|
|
33
|
+
), this._negative = !1, this._disabledFromGroup = !1, this._highlightString = null, this._disableLabelHighlight = !1, this._inertAriaGroups = !1, this._abort = new m(this), this._optionAttributeObserver = new w(
|
|
32
34
|
(t) => this._onOptionAttributesChange(t)
|
|
33
|
-
), new
|
|
35
|
+
), new y(this), c && (this.hydrationRequired ? this.hydrationComplete.then(() => this._inertAriaGroups = c) : this._inertAriaGroups = c);
|
|
34
36
|
}
|
|
35
37
|
set value(t) {
|
|
36
38
|
this.setAttribute("value", `${t}`);
|
|
@@ -45,20 +47,16 @@ let o = class extends A(C(v)) {
|
|
|
45
47
|
return this.hasAttribute("selected");
|
|
46
48
|
}
|
|
47
49
|
set _variant(t) {
|
|
48
|
-
this.setAttribute("data-variant", t);
|
|
50
|
+
t && this.setAttribute("data-variant", t);
|
|
49
51
|
}
|
|
50
52
|
get _variant() {
|
|
51
53
|
return this.getAttribute("data-variant");
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
get _isSelect() {
|
|
57
|
-
return this._variant === "select";
|
|
55
|
+
set _isMultiple(t) {
|
|
56
|
+
this.toggleAttribute("data-multiple", t);
|
|
58
57
|
}
|
|
59
58
|
get _isMultiple() {
|
|
60
|
-
|
|
61
|
-
return !!((t = this.closest) != null && t.call(this, "sbb-select[multiple]"));
|
|
59
|
+
return !this.hydrationRequired && this.hasAttribute("data-multiple");
|
|
62
60
|
}
|
|
63
61
|
attributeChangedCallback(t, i, e) {
|
|
64
62
|
(t !== "value" || i !== e) && super.attributeChangedCallback(t, i, e);
|
|
@@ -88,26 +86,28 @@ let o = class extends A(C(v)) {
|
|
|
88
86
|
this._isMultiple ? (t.stopPropagation(), this.setSelectedViaUserInteraction(!this.selected)) : this.setSelectedViaUserInteraction(!0);
|
|
89
87
|
}
|
|
90
88
|
connectedCallback() {
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
super.connectedCallback(), this.id || (this.id = `sbb-option-${D++}`), this.hydrationRequired ? this.hydrationComplete.then(() => this._init()) : this._init();
|
|
90
|
+
}
|
|
91
|
+
willUpdate(t) {
|
|
92
|
+
super.willUpdate(t), t.has("disabled") && (g(this, "tabindex", k && !this.disabled && 0), this._updateAriaDisabled());
|
|
93
|
+
}
|
|
94
|
+
firstUpdated(t) {
|
|
95
|
+
super.firstUpdated(t), this._updateAriaSelected();
|
|
96
|
+
}
|
|
97
|
+
_init() {
|
|
98
|
+
var e, a;
|
|
93
99
|
const t = this._abort.signal, i = (e = this.closest) == null ? void 0 : e.call(this, "sbb-optgroup");
|
|
94
|
-
i && (this._disabledFromGroup = i.disabled, this._updateAriaDisabled()), this._optionAttributeObserver.observe(this,
|
|
100
|
+
i && (this._disabledFromGroup = i.disabled, this._updateAriaDisabled()), this._optionAttributeObserver.observe(this, L), this._negative = !!((a = this.closest) != null && a.call(
|
|
95
101
|
this,
|
|
96
102
|
// :is() selector not possible due to test environment
|
|
97
103
|
"sbb-autocomplete[negative],sbb-select[negative],sbb-form-field[negative]"
|
|
98
|
-
)), this.toggleAttribute("data-negative", this._negative), this._setVariantByContext(), this._handleHighlightState(), this.
|
|
104
|
+
)), this.toggleAttribute("data-negative", this._negative), this._setVariantByContext(), this._handleHighlightState(), this.addEventListener("click", (r) => this._selectByClick(r), {
|
|
99
105
|
signal: t,
|
|
100
106
|
passive: !0
|
|
101
107
|
});
|
|
102
108
|
}
|
|
103
|
-
willUpdate(t) {
|
|
104
|
-
super.willUpdate(t), t.has("disabled") && (p(this, "tabindex", y && !this.disabled && 0), this._updateAriaDisabled());
|
|
105
|
-
}
|
|
106
|
-
firstUpdated(t) {
|
|
107
|
-
super.firstUpdated(t), this._updateAriaSelected();
|
|
108
|
-
}
|
|
109
109
|
_updateAriaDisabled() {
|
|
110
|
-
|
|
110
|
+
g(
|
|
111
111
|
this,
|
|
112
112
|
"aria-disabled",
|
|
113
113
|
this.disabled || this._disabledFromGroup ? "true" : null
|
|
@@ -120,8 +120,8 @@ let o = class extends A(C(v)) {
|
|
|
120
120
|
super.disconnectedCallback(), this._optionAttributeObserver.disconnect();
|
|
121
121
|
}
|
|
122
122
|
_setVariantByContext() {
|
|
123
|
-
var t, i;
|
|
124
|
-
(t = this.closest) != null && t.call(this, "sbb-autocomplete") ? this._variant = "autocomplete" : (i = this.closest) != null && i.call(this, "sbb-select") && (this._variant = "select");
|
|
123
|
+
var t, i, e;
|
|
124
|
+
(t = this.closest) != null && t.call(this, "sbb-autocomplete") ? this._variant = "autocomplete" : (i = this.closest) != null && i.call(this, "sbb-select") && (this._variant = "select"), this._isMultiple = !!((e = this.closest) != null && e.call(this, "sbb-select[multiple]"));
|
|
125
125
|
}
|
|
126
126
|
/** Observe changes on data attributes and set the appropriate values. */
|
|
127
127
|
_onOptionAttributesChange(t) {
|
|
@@ -129,7 +129,7 @@ let o = class extends A(C(v)) {
|
|
|
129
129
|
i.attributeName === "data-group-disabled" ? (this._disabledFromGroup = this.hasAttribute("data-group-disabled"), this._updateAriaDisabled()) : i.attributeName === "data-negative" && (this._negative = this.hasAttribute("data-negative"));
|
|
130
130
|
}
|
|
131
131
|
_handleHighlightState() {
|
|
132
|
-
if (
|
|
132
|
+
if (this._variant !== "autocomplete") {
|
|
133
133
|
this._updateDisableHighlight(!0);
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
@@ -151,10 +151,10 @@ let o = class extends A(C(v)) {
|
|
|
151
151
|
const i = this._label.substring(0, t), e = this._label.substring(
|
|
152
152
|
t,
|
|
153
153
|
t + this._highlightString.length
|
|
154
|
-
),
|
|
154
|
+
), a = this._label.substring(t + this._highlightString.length);
|
|
155
155
|
return l`
|
|
156
156
|
<span class="sbb-option__label--highlight">${i}</span><span>${e}</span
|
|
157
|
-
><span class="sbb-option__label--highlight">${
|
|
157
|
+
><span class="sbb-option__label--highlight">${a}</span>
|
|
158
158
|
`;
|
|
159
159
|
}
|
|
160
160
|
render() {
|
|
@@ -163,64 +163,67 @@ let o = class extends A(C(v)) {
|
|
|
163
163
|
<div class="sbb-option__container">
|
|
164
164
|
<div class="sbb-option">
|
|
165
165
|
<!-- Icon -->
|
|
166
|
-
${t ?
|
|
166
|
+
${t ? n : l` <span class="sbb-option__icon"> ${this.renderIconSlot()} </span>`}
|
|
167
167
|
|
|
168
168
|
<!-- Checkbox -->
|
|
169
169
|
${t ? l` <sbb-visual-checkbox
|
|
170
170
|
?checked=${this.selected}
|
|
171
171
|
?disabled=${this.disabled || this._disabledFromGroup}
|
|
172
172
|
?negative=${this._negative}
|
|
173
|
-
></sbb-visual-checkbox>` :
|
|
173
|
+
></sbb-visual-checkbox>` : n}
|
|
174
174
|
|
|
175
175
|
<!-- Label -->
|
|
176
176
|
<span class="sbb-option__label">
|
|
177
177
|
<slot @slotchange=${this._handleHighlightState}></slot>
|
|
178
178
|
|
|
179
179
|
<!-- Search highlight -->
|
|
180
|
-
${this.
|
|
181
|
-
${
|
|
180
|
+
${this._variant === "autocomplete" && this._label && !this._disableLabelHighlight ? this._getHighlightedLabel() : n}
|
|
181
|
+
${this._inertAriaGroups && this.getAttribute("data-group-label") ? l` <sbb-screen-reader-only>
|
|
182
182
|
(${this.getAttribute("data-group-label")})</sbb-screen-reader-only
|
|
183
|
-
>` :
|
|
183
|
+
>` : n}
|
|
184
184
|
</span>
|
|
185
185
|
|
|
186
186
|
<!-- Selected tick -->
|
|
187
|
-
${this.
|
|
187
|
+
${this._variant === "select" && !t && this.selected ? l`<sbb-icon name="tick-small"></sbb-icon>` : n}
|
|
188
188
|
</div>
|
|
189
189
|
</div>
|
|
190
190
|
`;
|
|
191
191
|
}
|
|
192
192
|
};
|
|
193
|
-
o.styles =
|
|
193
|
+
o.styles = G;
|
|
194
194
|
o.events = {
|
|
195
195
|
selectionChange: "optionSelectionChange",
|
|
196
196
|
optionSelected: "optionSelected"
|
|
197
197
|
};
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
s([
|
|
199
|
+
p()
|
|
200
200
|
], o.prototype, "value", 1);
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
s([
|
|
202
|
+
p({ reflect: !0, type: Boolean })
|
|
203
203
|
], o.prototype, "active", 2);
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
s([
|
|
205
|
+
p({ type: Boolean })
|
|
206
206
|
], o.prototype, "selected", 1);
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
s([
|
|
208
|
+
b()
|
|
209
209
|
], o.prototype, "_negative", 2);
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
s([
|
|
211
|
+
b()
|
|
212
212
|
], o.prototype, "_disabledFromGroup", 2);
|
|
213
|
-
|
|
214
|
-
|
|
213
|
+
s([
|
|
214
|
+
b()
|
|
215
215
|
], o.prototype, "_label", 2);
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
s([
|
|
217
|
+
b()
|
|
218
218
|
], o.prototype, "_highlightString", 2);
|
|
219
|
-
|
|
220
|
-
|
|
219
|
+
s([
|
|
220
|
+
b()
|
|
221
221
|
], o.prototype, "_disableLabelHighlight", 2);
|
|
222
|
-
|
|
223
|
-
|
|
222
|
+
s([
|
|
223
|
+
b()
|
|
224
|
+
], o.prototype, "_inertAriaGroups", 2);
|
|
225
|
+
o = s([
|
|
226
|
+
f("sbb-option"),
|
|
224
227
|
x({
|
|
225
228
|
role: "option"
|
|
226
229
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sbb-esta/lyne-elements",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Lyne Design System",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"design system",
|
|
@@ -754,6 +754,16 @@
|
|
|
754
754
|
"development": "./development/stepper/stepper.js",
|
|
755
755
|
"default": "./stepper/stepper.js"
|
|
756
756
|
},
|
|
757
|
+
"./table.js": {
|
|
758
|
+
"types": "./development/table.d.ts",
|
|
759
|
+
"development": "./development/table.js",
|
|
760
|
+
"default": "./table.js"
|
|
761
|
+
},
|
|
762
|
+
"./table/table-wrapper.js": {
|
|
763
|
+
"types": "./development/table/table-wrapper.d.ts",
|
|
764
|
+
"development": "./development/table/table-wrapper.js",
|
|
765
|
+
"default": "./table/table-wrapper.js"
|
|
766
|
+
},
|
|
757
767
|
"./tabs.js": {
|
|
758
768
|
"types": "./development/tabs.d.ts",
|
|
759
769
|
"development": "./development/tabs.js",
|
|
@@ -4,7 +4,7 @@ import { SbbButtonBaseElement as u } from "../core/base-elements.js";
|
|
|
4
4
|
import { hostContext as n } from "../core/dom.js";
|
|
5
5
|
import { SbbDisabledTabIndexActionMixin as v, SbbNegativeMixin as h } from "../core/mixins.js";
|
|
6
6
|
import { SbbIconNameMixin as m } from "../icon.js";
|
|
7
|
-
const p = l`*,:before,:after{box-sizing:border-box}:host{--sbb-popover-color: inherit;outline:none!important;display:inline-block}@media (forced-colors: active){:host{--sbb-popover-color: ButtonText !important}}@media (any-hover: hover){:host(:hover){--sbb-popover-color: var(--sbb-color-iron)}:host(:hover[negative]){--sbb-popover-color: var(--sbb-color-cloud)}}:host([negative]){--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:is(:active,[data-active])){--sbb-popover-color: var(--sbb-color-anthracite)}:host(:is(:active,[data-active])[negative]){--sbb-popover-color: var(--sbb-color-cement)}:host([disabled]){--sbb-popover-color: var(--sbb-color-graphite);pointer-events:none}@media (forced-colors: active){:host([disabled]){--sbb-popover-color: GrayText !important}}:host([disabled][negative]){--sbb-popover-color: var(--sbb-color-smoke)}:host([data-icon-small]){display:inline-block;-webkit-tap-highlight-color:transparent;height:fit-content;outline:none!important;--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-charcoal);--sbb-button-color-hover-background: var(--sbb-color-milk);--sbb-button-color-hover-border: var(--sbb-color-milk);--sbb-button-color-hover-text: var(--sbb-color-charcoal);--sbb-button-color-active-background: var(--sbb-color-cloud);--sbb-button-color-active-border: var(--sbb-color-cloud);--sbb-button-color-active-text: var(--sbb-color-charcoal);--sbb-button-color-disabled-background: var(--sbb-color-milk);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-granite);--sbb-button-border-style: solid;--sbb-button-border-disabled-style: dashed;--sbb-button-border-width: 0rem;--sbb-button-border-radius: var(--sbb-border-radius-infinity);--sbb-button-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-button-transition-easing-function: var(--sbb-animation-easing);--sbb-button-inset: 0}@media (forced-colors: active){:host([data-icon-small]){--sbb-button-color-default-text: ButtonText !important;--sbb-button-color-default-border: CanvasText !important;--sbb-button-color-active-text: ButtonText !important;--sbb-button-color-active-border: Highlight !important;--sbb-button-color-hover-text: ButtonText !important}}:host([data-icon-small]) .sbb-popover-trigger{position:relative;transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:color;border-radius:var(--sbb-button-border-radius);color:var(--sbb-button-color-default-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:
|
|
7
|
+
const p = l`*,:before,:after{box-sizing:border-box}:host{--sbb-popover-color: inherit;outline:none!important;display:inline-block}@media (forced-colors: active){:host{--sbb-popover-color: ButtonText !important}}@media (any-hover: hover){:host(:hover){--sbb-popover-color: var(--sbb-color-iron)}:host(:hover[negative]){--sbb-popover-color: var(--sbb-color-cloud)}}:host([negative]){--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:is(:active,[data-active])){--sbb-popover-color: var(--sbb-color-anthracite)}:host(:is(:active,[data-active])[negative]){--sbb-popover-color: var(--sbb-color-cement)}:host([disabled]){--sbb-popover-color: var(--sbb-color-graphite);pointer-events:none}@media (forced-colors: active){:host([disabled]){--sbb-popover-color: GrayText !important}}:host([disabled][negative]){--sbb-popover-color: var(--sbb-color-smoke)}:host([data-icon-small]){display:inline-block;-webkit-tap-highlight-color:transparent;height:fit-content;outline:none!important;--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-charcoal);--sbb-button-color-hover-background: var(--sbb-color-milk);--sbb-button-color-hover-border: var(--sbb-color-milk);--sbb-button-color-hover-text: var(--sbb-color-charcoal);--sbb-button-color-active-background: var(--sbb-color-cloud);--sbb-button-color-active-border: var(--sbb-color-cloud);--sbb-button-color-active-text: var(--sbb-color-charcoal);--sbb-button-color-disabled-background: var(--sbb-color-milk);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-granite);--sbb-button-border-style: solid;--sbb-button-border-disabled-style: dashed;--sbb-button-border-width: 0rem;--sbb-button-border-radius: var(--sbb-border-radius-infinity);--sbb-button-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-button-transition-easing-function: var(--sbb-animation-easing);--sbb-button-inset: 0}@media (forced-colors: active){:host([data-icon-small]){--sbb-button-color-default-text: ButtonText !important;--sbb-button-color-default-border: CanvasText !important;--sbb-button-color-active-text: ButtonText !important;--sbb-button-color-active-border: Highlight !important;--sbb-button-color-hover-text: ButtonText !important}}:host([data-icon-small]) .sbb-popover-trigger{position:relative;transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:color;border-radius:var(--sbb-button-border-radius);color:var(--sbb-button-color-default-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}:host([data-icon-small]) .sbb-popover-trigger:before{position:absolute;content:"";inset:var(--sbb-button-inset);border:var(--sbb-button-border-width) var(--sbb-button-border-style) var(--sbb-button-color-default-border);border-radius:var(--sbb-button-border-radius);background-color:var(--sbb-button-color-default-background);transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:inset,background-color,border-color}sbb-icon{transition:transform var(--sbb-button-transition-duration) var(--sbb-button-transition-easing-function);transform:translateY(var(--sbb-button-translate-y-content-hover, 0rem));display:flex}:host([data-icon-small][negative]){--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-milk);--sbb-button-color-hover-background: var(--sbb-color-charcoal);--sbb-button-color-hover-border: var(--sbb-color-charcoal);--sbb-button-color-hover-text: var(--sbb-color-milk);--sbb-button-color-active-background: var(--sbb-color-iron);--sbb-button-color-active-border: var(--sbb-color-iron);--sbb-button-color-active-text: var(--sbb-color-milk);--sbb-button-color-disabled-background: var(--sbb-color-black-alpha-0);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-smoke)}:host([data-icon-small][disabled]){--sbb-button-border-width: var(--sbb-border-width-1x)}@media (forced-colors: active){:host([data-icon-small][disabled]){--sbb-button-color-disabled-text: GrayText !important}}:host([data-icon-small][disabled]) .sbb-popover-trigger{color:var(--sbb-button-color-disabled-text);cursor:default;pointer-events:none}:host([data-icon-small][disabled]) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-disabled-background);border-color:var(--sbb-button-color-disabled-border);border-style:var(--sbb-button-border-disabled-style)}:host([data-icon-small]:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-popover-trigger:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}@media (any-hover: hover){:host([data-icon-small]:not([disabled],:active,[data-active]):hover){--sbb-button-translate-y-content-hover: -.0625rem}}@media (forced-colors: active){:host([data-icon-small]:not([disabled],:active,[data-active]):hover){--sbb-button-color-hover-border: Highlight !important}}@media (any-hover: hover){:host([data-icon-small]:not([disabled],:active,[data-active]):hover) .sbb-popover-trigger:before{inset:calc(var(--sbb-button-border-width) * -1);background-color:var(--sbb-button-color-hover-background);border-color:var(--sbb-button-color-hover-border)}}@media (any-hover: hover){:host([data-icon-small]:not([disabled],:active,[data-active]):hover) .sbb-popover-trigger{color:var(--sbb-button-color-hover-text)}}:host([data-icon-small]:is(:active,[data-active])) .sbb-popover-trigger:before{color:var(--sbb-button-color-active-text);background-color:var(--sbb-button-color-active-background);border-color:var(--sbb-button-color-active-border)}:host(:not([data-icon-small])) .sbb-popover-trigger{font-family:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;font-size:inherit;text-align:inherit;display:flex;cursor:pointer;color:var(--sbb-popover-color)}:host(:focus-visible:not([data-icon-small],[data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-popover-trigger{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-4x)}sbb-icon{min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small)}`;
|
|
8
8
|
var f = Object.defineProperty, g = Object.getOwnPropertyDescriptor, x = (t, r, e, b) => {
|
|
9
9
|
for (var o = b > 1 ? void 0 : b ? g(r, e) : r, a = t.length - 1, s; a >= 0; a--)
|
|
10
10
|
(s = t[a]) && (o = (b ? s(r, e, o) : s(o)) || o);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-button-common.d.ts","sourceRoot":"","sources":["../../../../src/elements/radio-button/common/radio-button-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAOtD,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,CAAC;AAE3C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,cAAc,EACd,sBAAsB,GAAG,qBAAqB,CAC/C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,oCAAoC;IACvD,IAAW,mBAAmB,IAAI,OAAO,CAAC;IAC1C,IAAW,mBAAmB,CAAC,OAAO,EADJ,OACI,EAAE;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB,IAAW,QAAQ,IAAI,OAAO,CAAC;IAC/B,IAAW,QAAQ,CAAC,OAAO,EADJ,OACI,EAAE;IAC7B,IAAW,QAAQ,IAAI,OAAO,CAAC;IAC/B,IAAW,QAAQ,CAAC,OAAO,EADJ,OACI,EAAE;IAC7B,IAAW,KAAK,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtD,IAAW,OAAO,IAAI,OAAO,CAAC;IAC9B,IAAW,OAAO,CAAC,OAAO,EADJ,OACI,EAAE;IACrB,MAAM,IAAI,IAAI;CACtB;AAGD,eAAO,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"radio-button-common.d.ts","sourceRoot":"","sources":["../../../../src/elements/radio-button/common/radio-button-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAOtD,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,CAAC;AAE3C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,cAAc,EACd,sBAAsB,GAAG,qBAAqB,CAC/C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,oCAAoC;IACvD,IAAW,mBAAmB,IAAI,OAAO,CAAC;IAC1C,IAAW,mBAAmB,CAAC,OAAO,EADJ,OACI,EAAE;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB,IAAW,QAAQ,IAAI,OAAO,CAAC;IAC/B,IAAW,QAAQ,CAAC,OAAO,EADJ,OACI,EAAE;IAC7B,IAAW,QAAQ,IAAI,OAAO,CAAC;IAC/B,IAAW,QAAQ,CAAC,OAAO,EADJ,OACI,EAAE;IAC7B,IAAW,KAAK,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtD,IAAW,OAAO,IAAI,OAAO,CAAC;IAC9B,IAAW,OAAO,CAAC,OAAO,EADJ,OACI,EAAE;IACrB,MAAM,IAAI,IAAI;CACtB;AAGD,eAAO,MAAM,gCAAgC,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,cAC5E,CAAC,KACZ,mBAAmB,CAAC,oCAAoC,CAAC,GAAG,CAmK9D,CAAC"}
|
package/standard-theme.css
CHANGED
|
@@ -20,6 +20,12 @@ sub, sup {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
23
|
+
/*
|
|
24
|
+
* SBB table mixin
|
|
25
|
+
* Notes:
|
|
26
|
+
* We cannot use `border-collapse` because it is not compatible with the `border-radius` property.
|
|
27
|
+
* Therefore, we have to build the grid avoiding double borders.
|
|
28
|
+
*/
|
|
23
29
|
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
|
|
24
30
|
/*
|
|
25
31
|
Document
|
|
@@ -1738,4 +1744,194 @@ sup {
|
|
|
1738
1744
|
}
|
|
1739
1745
|
.sbb-step-list > li > * + p {
|
|
1740
1746
|
margin-block-start: var(--sbb-spacing-responsive-xxxs);
|
|
1747
|
+
}
|
|
1748
|
+
|
|
1749
|
+
.sbb-table,
|
|
1750
|
+
.sbb-table-m,
|
|
1751
|
+
.sbb-table-s {
|
|
1752
|
+
--sbb-table-header-padding-block: var(--sbb-spacing-fixed-3x);
|
|
1753
|
+
--sbb-table-header-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
1754
|
+
--sbb-table-cell-padding-block: var(--sbb-spacing-responsive-xxxs);
|
|
1755
|
+
--sbb-table-cell-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
1756
|
+
--sbb-table-border: var(--sbb-border-width-1x) solid var(--sbb-table-border-color);
|
|
1757
|
+
--sbb-table-border-color: var(--sbb-color-cloud);
|
|
1758
|
+
--sbb-table-border-radius: var(--sbb-border-radius-4x);
|
|
1759
|
+
--sbb-table-background-color: var(--sbb-color-white);
|
|
1760
|
+
--sbb-table-row-striped-color: var(--sbb-color-milk);
|
|
1761
|
+
--sbb-table-color: inherit;
|
|
1762
|
+
--sbb-table-caption-color: var(--sbb-color-granite);
|
|
1763
|
+
--sbb-table-caption-margin-block-start: var(--sbb-spacing-fixed-4x);
|
|
1764
|
+
background-color: var(--sbb-table-background-color);
|
|
1765
|
+
border: var(--sbb-table-border);
|
|
1766
|
+
border-radius: var(--sbb-table-border-radius);
|
|
1767
|
+
border-spacing: 0;
|
|
1768
|
+
caption-side: bottom;
|
|
1769
|
+
color: var(--sbb-table-color);
|
|
1770
|
+
table-layout: auto;
|
|
1771
|
+
}
|
|
1772
|
+
.sbb-table tbody tr:nth-child(odd),
|
|
1773
|
+
.sbb-table-m tbody tr:nth-child(odd),
|
|
1774
|
+
.sbb-table-s tbody tr:nth-child(odd) {
|
|
1775
|
+
background-color: var(--sbb-table-row-striped-color);
|
|
1776
|
+
}
|
|
1777
|
+
.sbb-table thead > tr > th,
|
|
1778
|
+
.sbb-table-m thead > tr > th,
|
|
1779
|
+
.sbb-table-s thead > tr > th {
|
|
1780
|
+
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
1781
|
+
font-family: var(--sbb-typo-font-family);
|
|
1782
|
+
font-weight: normal;
|
|
1783
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1784
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1785
|
+
font-size: var(--sbb-text-font-size);
|
|
1786
|
+
font-weight: bold;
|
|
1787
|
+
border-bottom: var(--sbb-table-border);
|
|
1788
|
+
border-right: var(--sbb-table-border);
|
|
1789
|
+
padding-block: var(--sbb-table-header-padding-block);
|
|
1790
|
+
padding-inline: var(--sbb-table-header-padding-inline);
|
|
1791
|
+
text-align: left;
|
|
1792
|
+
}
|
|
1793
|
+
.sbb-table thead > tr > th:last-of-type,
|
|
1794
|
+
.sbb-table-m thead > tr > th:last-of-type,
|
|
1795
|
+
.sbb-table-s thead > tr > th:last-of-type {
|
|
1796
|
+
border-right: none;
|
|
1797
|
+
}
|
|
1798
|
+
.sbb-table tbody > tr:first-of-type td,
|
|
1799
|
+
.sbb-table-m tbody > tr:first-of-type td,
|
|
1800
|
+
.sbb-table-s tbody > tr:first-of-type td {
|
|
1801
|
+
border-top: none;
|
|
1802
|
+
}
|
|
1803
|
+
.sbb-table tbody > tr > td,
|
|
1804
|
+
.sbb-table-m tbody > tr > td,
|
|
1805
|
+
.sbb-table-s tbody > tr > td {
|
|
1806
|
+
--sbb-text-font-size: var(--sbb-font-size-text-s);
|
|
1807
|
+
font-family: var(--sbb-typo-font-family);
|
|
1808
|
+
font-weight: normal;
|
|
1809
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1810
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1811
|
+
font-size: var(--sbb-text-font-size);
|
|
1812
|
+
border-top: var(--sbb-table-border);
|
|
1813
|
+
border-right: var(--sbb-table-border);
|
|
1814
|
+
padding-block: var(--sbb-table-cell-padding-block);
|
|
1815
|
+
padding-inline: var(--sbb-table-cell-padding-inline);
|
|
1816
|
+
}
|
|
1817
|
+
.sbb-table tbody > tr > td:last-of-type,
|
|
1818
|
+
.sbb-table-m tbody > tr > td:last-of-type,
|
|
1819
|
+
.sbb-table-s tbody > tr > td:last-of-type {
|
|
1820
|
+
border-right: none;
|
|
1821
|
+
}
|
|
1822
|
+
.sbb-table caption,
|
|
1823
|
+
.sbb-table-m caption,
|
|
1824
|
+
.sbb-table-s caption {
|
|
1825
|
+
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
1826
|
+
font-family: var(--sbb-typo-font-family);
|
|
1827
|
+
font-weight: normal;
|
|
1828
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1829
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1830
|
+
font-size: var(--sbb-text-font-size);
|
|
1831
|
+
color: var(--sbb-table-caption-color, var(--sbb-color-granite));
|
|
1832
|
+
margin-block-start: var(--sbb-table-caption-margin-block-start, var(--sbb-spacing-fixed-4x));
|
|
1833
|
+
text-align: left;
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
.sbb-table-m {
|
|
1837
|
+
--sbb-table-header-padding-block: var(--sbb-spacing-fixed-3x);
|
|
1838
|
+
--sbb-table-header-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
1839
|
+
--sbb-table-cell-padding-block: var(--sbb-spacing-responsive-xxxs);
|
|
1840
|
+
--sbb-table-cell-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
.sbb-table-s {
|
|
1844
|
+
--sbb-table-header-padding-block: var(--sbb-spacing-fixed-1x);
|
|
1845
|
+
--sbb-table-header-padding-inline: var(--sbb-spacing-fixed-2x);
|
|
1846
|
+
--sbb-table-cell-padding-block: var(--sbb-spacing-fixed-1x);
|
|
1847
|
+
--sbb-table-cell-padding-inline: var(--sbb-spacing-fixed-2x);
|
|
1848
|
+
}
|
|
1849
|
+
.sbb-table-s tbody > tr > td {
|
|
1850
|
+
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
1851
|
+
font-family: var(--sbb-typo-font-family);
|
|
1852
|
+
font-weight: normal;
|
|
1853
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1854
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1855
|
+
font-size: var(--sbb-text-font-size);
|
|
1856
|
+
}
|
|
1857
|
+
|
|
1858
|
+
sbb-table-wrapper[negative] .sbb-table,
|
|
1859
|
+
.sbb-table--negative {
|
|
1860
|
+
--sbb-table-border-color: var(--sbb-color-anthracite);
|
|
1861
|
+
--sbb-table-background-color: var(--sbb-color-midnight);
|
|
1862
|
+
--sbb-table-color: var(--sbb-color-white);
|
|
1863
|
+
--sbb-table-row-striped-color: var(--sbb-color-charcoal);
|
|
1864
|
+
--sbb-table-caption-color: var(--sbb-color-cement);
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
.sbb-table--striped tbody tr:nth-child(odd) {
|
|
1868
|
+
background-color: var(--sbb-table-row-striped-color);
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
.sbb-table--unstriped tbody tr:nth-child(odd) {
|
|
1872
|
+
background-color: unset;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
.sbb-table--theme-iron {
|
|
1876
|
+
--sbb-table-cell-color: var(--sbb-color-iron);
|
|
1877
|
+
}
|
|
1878
|
+
.sbb-table--theme-iron tbody > tr > td {
|
|
1879
|
+
color: var(--sbb-table-cell-color);
|
|
1880
|
+
}
|
|
1881
|
+
.sbb-table--theme-iron.sbb-table--negative {
|
|
1882
|
+
--sbb-table-cell-color: var(--sbb-color-cloud);
|
|
1883
|
+
}
|
|
1884
|
+
|
|
1885
|
+
.sbb-table-header-cell {
|
|
1886
|
+
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
1887
|
+
font-family: var(--sbb-typo-font-family);
|
|
1888
|
+
font-weight: normal;
|
|
1889
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1890
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1891
|
+
font-size: var(--sbb-text-font-size);
|
|
1892
|
+
font-weight: bold;
|
|
1893
|
+
border-bottom: var(--sbb-table-border);
|
|
1894
|
+
border-right: var(--sbb-table-border);
|
|
1895
|
+
padding-block: var(--sbb-table-header-padding-block);
|
|
1896
|
+
padding-inline: var(--sbb-table-header-padding-inline);
|
|
1897
|
+
text-align: left;
|
|
1898
|
+
}
|
|
1899
|
+
.sbb-table-header-cell:last-of-type {
|
|
1900
|
+
border-right: none;
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
.sbb-table-data-row:first-of-type td {
|
|
1904
|
+
border-top: none;
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
.sbb-table-row--striped {
|
|
1908
|
+
background-color: var(--sbb-table-row-striped-color);
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
.sbb-table-data-cell {
|
|
1912
|
+
--sbb-text-font-size: var(--sbb-font-size-text-s);
|
|
1913
|
+
font-family: var(--sbb-typo-font-family);
|
|
1914
|
+
font-weight: normal;
|
|
1915
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1916
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1917
|
+
font-size: var(--sbb-text-font-size);
|
|
1918
|
+
border-top: var(--sbb-table-border);
|
|
1919
|
+
border-right: var(--sbb-table-border);
|
|
1920
|
+
padding-block: var(--sbb-table-cell-padding-block);
|
|
1921
|
+
padding-inline: var(--sbb-table-cell-padding-inline);
|
|
1922
|
+
}
|
|
1923
|
+
.sbb-table-data-cell:last-of-type {
|
|
1924
|
+
border-right: none;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
.sbb-table-caption {
|
|
1928
|
+
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
1929
|
+
font-family: var(--sbb-typo-font-family);
|
|
1930
|
+
font-weight: normal;
|
|
1931
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
1932
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
1933
|
+
font-size: var(--sbb-text-font-size);
|
|
1934
|
+
color: var(--sbb-table-caption-color, var(--sbb-color-granite));
|
|
1935
|
+
margin-block-start: var(--sbb-table-caption-margin-block-start, var(--sbb-spacing-fixed-4x));
|
|
1936
|
+
text-align: left;
|
|
1741
1937
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
|
+
|
|
3
|
+
declare const SbbTableWrapperElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof LitElement;
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a table to enhance its functionality
|
|
6
|
+
*
|
|
7
|
+
* @slot - Use the unnamed slot to add the table.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SbbTableWrapperElement extends SbbTableWrapperElement_base {
|
|
10
|
+
static styles: CSSResultGroup;
|
|
11
|
+
private _resizeObserver;
|
|
12
|
+
private _tableWrapper;
|
|
13
|
+
disconnectedCallback(): void;
|
|
14
|
+
protected firstUpdated(changedProperties: PropertyValues): void;
|
|
15
|
+
private _checkHorizontalScrollbar;
|
|
16
|
+
protected render(): TemplateResult;
|
|
17
|
+
}
|
|
18
|
+
declare global {
|
|
19
|
+
interface HTMLElementTagNameMap {
|
|
20
|
+
'sbb-table-wrapper': SbbTableWrapperElement;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=table-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/elements/table/table-wrapper/table-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAQb;;;;GAIG;AACH,qBACa,sBAAuB,SAAQ,2BAA4B;IACtE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,eAAe,CAAsE;IAC7F,OAAO,CAAC,aAAa,CAAe;IAEpB,oBAAoB,IAAI,IAAI;cAKzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAMxE,OAAO,CAAC,yBAAyB;cAOd,MAAM,IAAI,cAAc;CAK5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-wrapper.d.ts","sourceRoot":"","sources":["../../../src/elements/table/table-wrapper.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { css as c, LitElement as i, html as p } from "lit";
|
|
2
|
+
import { customElement as h } from "lit/decorators.js";
|
|
3
|
+
import { SbbNegativeMixin as d } from "../core/mixins.js";
|
|
4
|
+
import { AgnosticResizeObserver as n } from "../core/observers.js";
|
|
5
|
+
const v = c`*,:before,:after{box-sizing:border-box}:host{--sbb-table-wrapper-border-radius: var(--sbb-border-radius-4x);display:block}::slotted(.sbb-table){width:100%}.sbb-table-wrapper{overflow:auto;--sbb-scrollbar-thumb-width: .5rem;--sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);--sbb-scrollbar-width-firefox: auto;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-cloud);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-table-wrapper::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-table-wrapper::-webkit-scrollbar-button,.sbb-table-wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-table-wrapper{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([negative]) .sbb-table-wrapper{--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-iron)}:host([data-has-horizontal-scrollbar]) .sbb-table-wrapper{padding-bottom:var(--sbb-spacing-fixed-1x)}`;
|
|
6
|
+
var w = Object.defineProperty, u = Object.getOwnPropertyDescriptor, m = (b, o, l, a) => {
|
|
7
|
+
for (var r = a > 1 ? void 0 : a ? u(o, l) : o, s = b.length - 1, e; s >= 0; s--)
|
|
8
|
+
(e = b[s]) && (r = (a ? e(o, l, r) : e(r)) || r);
|
|
9
|
+
return a && r && w(o, l, r), r;
|
|
10
|
+
};
|
|
11
|
+
let t = class extends d(i) {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this._resizeObserver = new n(() => this._checkHorizontalScrollbar());
|
|
14
|
+
}
|
|
15
|
+
disconnectedCallback() {
|
|
16
|
+
super.disconnectedCallback(), this._resizeObserver.disconnect();
|
|
17
|
+
}
|
|
18
|
+
firstUpdated(b) {
|
|
19
|
+
super.firstUpdated(b), this._tableWrapper = this.shadowRoot.querySelector(".sbb-table-wrapper"), this._resizeObserver.observe(this._tableWrapper);
|
|
20
|
+
}
|
|
21
|
+
_checkHorizontalScrollbar() {
|
|
22
|
+
this.toggleAttribute(
|
|
23
|
+
"data-has-horizontal-scrollbar",
|
|
24
|
+
this._tableWrapper.scrollWidth > this._tableWrapper.offsetWidth
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
render() {
|
|
28
|
+
return p`<div class="sbb-table-wrapper">
|
|
29
|
+
<slot></slot>
|
|
30
|
+
</div>`;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
t.styles = v;
|
|
34
|
+
t = m([
|
|
35
|
+
h("sbb-table-wrapper")
|
|
36
|
+
], t);
|
|
37
|
+
export {
|
|
38
|
+
t as SbbTableWrapperElement
|
|
39
|
+
};
|
package/table.d.ts
ADDED
package/table.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/elements/table.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
package/table.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./table/table-wrapper.js";
|