@sbb-esta/lyne-elements 2.7.0 → 2.8.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.
Files changed (75) hide show
  1. package/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  2. package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  3. package/breadcrumb/breadcrumb/breadcrumb.js +21 -44
  4. package/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  5. package/core/controllers/id-reference-controller.d.ts.map +1 -0
  6. package/core/controllers/slot-state-controller.d.ts +2 -0
  7. package/core/controllers/slot-state-controller.d.ts.map +1 -1
  8. package/core/controllers/slot-state-controller.js +30 -19
  9. package/core/controllers.d.ts +1 -1
  10. package/core/controllers.d.ts.map +1 -1
  11. package/core/controllers.js +1 -1
  12. package/core/styles/core.scss +21 -1
  13. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +2 -0
  14. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +5 -1
  15. package/core.css +17 -2
  16. package/custom-elements.json +465 -64
  17. package/date-input/date-input.js +5 -5
  18. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  19. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  20. package/development/breadcrumb/breadcrumb/breadcrumb.js +11 -38
  21. package/development/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  22. package/development/core/controllers/id-reference-controller.d.ts.map +1 -0
  23. package/development/core/controllers/id-reference-controller.js +84 -0
  24. package/development/core/controllers/slot-state-controller.d.ts +2 -0
  25. package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
  26. package/development/core/controllers/slot-state-controller.js +24 -4
  27. package/development/core/controllers.d.ts +1 -1
  28. package/development/core/controllers.d.ts.map +1 -1
  29. package/development/core/controllers.js +1 -1
  30. package/development/date-input/date-input.js +3 -2
  31. package/development/form-field/form-field/form-field.js +3 -2
  32. package/development/icon/icon-base.js +5 -1
  33. package/development/option/option/option-base-element.d.ts.map +1 -1
  34. package/development/option/option/option-base-element.js +8 -4
  35. package/development/paginator/common/paginator-common.d.ts +11 -1
  36. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  37. package/development/paginator/common/paginator-common.js +37 -9
  38. package/development/paginator/paginator/paginator.js +2 -2
  39. package/development/sbb-tokens-CVLcOi-S.js +1 -1
  40. package/development/table/table-wrapper/table-wrapper.d.ts +7 -4
  41. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  42. package/development/table/table-wrapper/table-wrapper.js +80 -69
  43. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  44. package/development/teaser-hero/teaser-hero.js +15 -11
  45. package/development/toggle/toggle/toggle.d.ts +0 -1
  46. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  47. package/development/toggle/toggle/toggle.js +51 -47
  48. package/development/toggle/toggle-option/toggle-option.d.ts +2 -1
  49. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  50. package/development/toggle/toggle-option/toggle-option.js +15 -29
  51. package/form-field/form-field/form-field.js +1 -1
  52. package/icon/icon-base.js +21 -21
  53. package/option/option/option-base-element.d.ts.map +1 -1
  54. package/option/option/option-base-element.js +9 -14
  55. package/package.json +1 -1
  56. package/paginator/common/paginator-common.d.ts +11 -1
  57. package/paginator/common/paginator-common.d.ts.map +1 -1
  58. package/paginator/common/paginator-common.js +61 -31
  59. package/paginator/paginator/paginator.js +3 -3
  60. package/standard-theme.css +17 -2
  61. package/table/table-wrapper/table-wrapper.d.ts +7 -4
  62. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  63. package/table/table-wrapper/table-wrapper.js +53 -31
  64. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  65. package/teaser-hero/teaser-hero.js +25 -25
  66. package/toggle/toggle/toggle.d.ts +0 -1
  67. package/toggle/toggle/toggle.d.ts.map +1 -1
  68. package/toggle/toggle/toggle.js +43 -48
  69. package/toggle/toggle-option/toggle-option.d.ts +2 -1
  70. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  71. package/toggle/toggle-option/toggle-option.js +40 -30
  72. package/core/controllers/id-observer-controller.d.ts.map +0 -1
  73. package/development/core/controllers/id-observer-controller.d.ts.map +0 -1
  74. package/development/core/controllers/id-observer-controller.js +0 -84
  75. /package/core/controllers/{id-observer-controller.js → id-reference-controller.js} +0 -0
@@ -9,8 +9,6 @@ declare const SbbBreadcrumbElement_base: import('../../core/mixins.js').Abstract
9
9
  */
10
10
  export declare class SbbBreadcrumbElement extends SbbBreadcrumbElement_base {
11
11
  static styles: CSSResultGroup;
12
- private accessor _hasText;
13
- private _handleSlotchange;
14
12
  protected renderTemplate(): TemplateResult;
15
13
  }
16
14
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/elements/breadcrumb/breadcrumb/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;;AAMjE;;;;;GAKG;AACH,qBAEM,oBAAqB,SAAQ,yBAAuD;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAE3C,OAAO,CAAC,iBAAiB;cAMN,cAAc,IAAI,cAAc;CAQpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;CACF"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/elements/breadcrumb/breadcrumb/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;;AAOjE;;;;;GAKG;AACH,qBAGM,oBAAqB,SAAQ,yBAAuD;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAS;cAEnC,cAAc,IAAI,cAAc;CAQpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;CACF"}
@@ -1,52 +1,29 @@
1
- var u = (e) => {
2
- throw TypeError(e);
3
- };
4
- var h = (e, t, r) => t.has(e) || u("Cannot " + r);
5
- var f = (e, t, r) => (h(e, t, "read from private field"), r ? r.call(e) : t.get(e)), x = (e, t, r) => t.has(e) ? u("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), _ = (e, t, r, s) => (h(e, t, "write to private field"), s ? s.call(e, r) : t.set(e, r), r);
6
- import { __esDecorate as v, __runInitializers as l } from "tslib";
7
- import { customElement as y, state as g } from "lit/decorators.js";
8
- import { html as T } from "lit/static-html.js";
9
- import { SbbLinkBaseElement as S } from "../../core/base-elements.js";
10
- import { SbbHydrationMixin as k } from "../../core/mixins.js";
11
- import { SbbIconNameMixin as w } from "../../icon.js";
12
- import { css as z } from "lit";
13
- const I = z`*,:before,:after{box-sizing:border-box}:host{display:flex;--sbb-breadcrumb-color: var(--sbb-color-granite)}@media (any-hover: hover){:host(:hover){--sbb-breadcrumb-color: var(--sbb-color-charcoal)}}:host(:is(:active,[data-active])){--sbb-breadcrumb-color: var(--sbb-color-anthracite)}.sbb-breadcrumb{--sbb-link-text-decoration: none;--sbb-text-font-size: var(--sbb-font-size-text-xs);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);color:var(--sbb-link-color-normal);text-decoration-line:var(--sbb-link-text-decoration, underline);text-decoration-color:var(--sbb-link-text-decoration-color);text-decoration-thickness:.0625rem;text-underline-offset:.3125em;-webkit-user-select:none;user-select:none}@media (forced-colors: active){.sbb-breadcrumb{text-decoration:underline}}.sbb-breadcrumb{display:flex;cursor:pointer;gap:var(--sbb-spacing-fixed-2x);color:var(--sbb-breadcrumb-color);align-items:center;overflow:hidden;outline:none}@media (forced-colors: active){.sbb-breadcrumb{--sbb-breadcrumb-color: ButtonText}}.sbb-breadcrumb:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-2x)}.sbb-breadcrumb__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}slot[name=icon] .sbb-breadcrumb__icon,slot[name=icon] ::slotted(*){flex-shrink:0}`;
14
- let C = (() => {
15
- var b, a;
16
- let e = [y("sbb-breadcrumb")], t, r = [], s, n = w(k(S)), c, d = [], m = [];
17
- return a = class extends n {
18
- constructor() {
19
- super(...arguments);
20
- x(this, b, l(this, d, !1));
21
- l(this, m);
22
- }
23
- get _hasText() {
24
- return f(this, b);
25
- }
26
- set _hasText(o) {
27
- _(this, b, o);
28
- }
29
- _handleSlotchange() {
30
- this._hasText = Array.from(this.childNodes ?? []).some((o) => {
31
- var i;
32
- return !o.slot && ((i = o.textContent) == null ? void 0 : i.trim());
33
- });
34
- }
1
+ import { __esDecorate as i, __runInitializers as l } from "tslib";
2
+ import { customElement as n } from "lit/decorators.js";
3
+ import { html as c } from "lit/static-html.js";
4
+ import { SbbLinkBaseElement as d } from "../../core/base-elements.js";
5
+ import { slotState as m } from "../../core/decorators.js";
6
+ import { SbbHydrationMixin as u } from "../../core/mixins.js";
7
+ import { SbbIconNameMixin as f } from "../../icon.js";
8
+ import { css as v } from "lit";
9
+ const p = v`*,:before,:after{box-sizing:border-box}:host{display:flex;--sbb-breadcrumb-color: var(--sbb-color-granite)}@media (any-hover: hover){:host(:hover){--sbb-breadcrumb-color: var(--sbb-color-charcoal)}}:host(:is(:active,[data-active])){--sbb-breadcrumb-color: var(--sbb-color-anthracite)}.sbb-breadcrumb{--sbb-link-text-decoration: none;--sbb-text-font-size: var(--sbb-font-size-text-xs);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);color:var(--sbb-link-color-normal);text-decoration-line:var(--sbb-link-text-decoration, underline);text-decoration-color:var(--sbb-link-text-decoration-color);text-decoration-thickness:.0625rem;text-underline-offset:.3125em;-webkit-user-select:none;user-select:none}@media (forced-colors: active){.sbb-breadcrumb{text-decoration:underline}}.sbb-breadcrumb{display:flex;cursor:pointer;gap:var(--sbb-spacing-fixed-2x);color:var(--sbb-breadcrumb-color);align-items:center;overflow:hidden;outline:none}@media (forced-colors: active){.sbb-breadcrumb{--sbb-breadcrumb-color: ButtonText}}.sbb-breadcrumb:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-2x)}.sbb-breadcrumb__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(:not([data-slot-names~=unnamed])) .sbb-breadcrumb__label{display:none}slot[name=icon] .sbb-breadcrumb__icon,slot[name=icon] ::slotted(*){flex-shrink:0}`;
10
+ let z = (() => {
11
+ var t;
12
+ let s = [n("sbb-breadcrumb"), m()], o, b = [], e, a = f(u(d));
13
+ return t = class extends a {
35
14
  renderTemplate() {
36
- return T`
15
+ return c`
37
16
  ${this.renderIconSlot("sbb-breadcrumb__icon")}
38
- <span class="sbb-breadcrumb__label" ?hidden=${!this._hasText}>
39
- <slot @slotchange=${this._handleSlotchange}></slot>
17
+ <span class="sbb-breadcrumb__label">
18
+ <slot></slot>
40
19
  </span>
41
20
  `;
42
21
  }
43
- }, b = new WeakMap(), s = a, (() => {
44
- const o = typeof Symbol == "function" && Symbol.metadata ? Object.create(n[Symbol.metadata] ?? null) : void 0;
45
- c = [g()], v(a, null, c, { kind: "accessor", name: "_hasText", static: !1, private: !1, access: { has: (i) => "_hasText" in i, get: (i) => i._hasText, set: (i, p) => {
46
- i._hasText = p;
47
- } }, metadata: o }, d, m), v(null, t = { value: s }, e, { kind: "class", name: s.name, metadata: o }, null, r), s = t.value, o && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: o });
48
- })(), a.styles = I, l(s, r), s;
22
+ }, e = t, (() => {
23
+ const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(a[Symbol.metadata] ?? null) : void 0;
24
+ i(null, o = { value: e }, s, { kind: "class", name: e.name, metadata: r }, null, b), e = o.value, r && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
25
+ })(), t.styles = p, l(e, b), e;
49
26
  })();
50
27
  export {
51
- C as SbbBreadcrumbElement
28
+ z as SbbBreadcrumbElement
52
29
  };
@@ -18,4 +18,4 @@ export declare class SbbIdReferenceController<T extends LitElement> implements R
18
18
  */
19
19
  find(): HTMLElement | null;
20
20
  }
21
- //# sourceMappingURL=id-observer-controller.d.ts.map
21
+ //# sourceMappingURL=id-reference-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-reference-controller.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/controllers/id-reference-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAOzE;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,kBAAkB;IAIrF,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,SAAS,CAAsC;gBAG7C,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,CAAC,EACf,UAAU;kBAZR,gBAAgB;qBAAe,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;MAY7C;IAKzB,aAAa,IAAI,IAAI;IAgDrB,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACI,IAAI,IAAI,WAAW,GAAG,IAAI;CAQlC"}
@@ -22,10 +22,12 @@ export declare class SbbSlotStateController implements ReactiveController {
22
22
  private _host;
23
23
  private _onChangeCallback;
24
24
  readonly slots: Set<string>;
25
+ private _textObserver;
25
26
  constructor(_host: ReactiveControllerHost & HTMLElement, _onChangeCallback?: (() => void) | null);
26
27
  hostConnected(): void;
27
28
  hostDisconnected(): void;
28
29
  private _slotchangeHandler;
29
30
  private _syncSlots;
31
+ private _updateSlotNameAttribute;
30
32
  }
31
33
  //# sourceMappingURL=slot-state-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slot-state-controller.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/controllers/slot-state-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAI7D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,iBAAiB;IAJ3B,SAAgB,KAAK,cAAqB;gBAGhC,KAAK,EAAE,sBAAsB,GAAG,WAAW,EAC3C,iBAAiB,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAW;IAKhD,aAAa,IAAI,IAAI;IAMrB,gBAAgB,IAAI,IAAI;IAM/B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,UAAU;CAuBnB"}
1
+ {"version":3,"file":"slot-state-controller.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/controllers/slot-state-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAErF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAmB7D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,iBAAiB;IAnB3B,SAAgB,KAAK,cAAqB;IAE1C,OAAO,CAAC,aAAa,CAahB;gBAGK,KAAK,EAAE,sBAAsB,GAAG,WAAW,EAC3C,iBAAiB,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAW;IAKhD,aAAa,IAAI,IAAI;IAKrB,gBAAgB,IAAI,IAAI;IAO/B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,wBAAwB;CAajC"}
@@ -1,30 +1,41 @@
1
- class r {
2
- constructor(t, o = null) {
3
- this._host = t, this._onChangeCallback = o, this.slots = /* @__PURE__ */ new Set(), this._slotchangeHandler = (s) => {
4
- this._syncSlots(s.target);
1
+ import { isServer as i } from "lit";
2
+ class l {
3
+ constructor(e, s = null) {
4
+ this._host = e, this._onChangeCallback = s, this.slots = /* @__PURE__ */ new Set(), this._textObserver = !i && new MutationObserver(() => {
5
+ Array.from(this._host.childNodes).filter((o) => o.nodeType === o.TEXT_NODE).some((o) => {
6
+ var n;
7
+ return (n = o.textContent) == null ? void 0 : n.trim();
8
+ }) ? this.slots.add("unnamed") : Array.from(this._host.children).every((o) => o.slot) && this.slots.delete("unnamed"), this._updateSlotNameAttribute();
9
+ }), this._slotchangeHandler = (t) => {
10
+ this._syncSlots(t.target);
5
11
  }, this._host.addController(this);
6
12
  }
7
13
  hostConnected() {
8
- var t;
9
- this._syncSlots(...this._host.querySelectorAll("slot")), (t = this._host.shadowRoot) == null || t.addEventListener("slotchange", this._slotchangeHandler);
14
+ var e, s, t;
15
+ this._syncSlots(...((s = (e = this._host.shadowRoot) == null ? void 0 : e.querySelectorAll) == null ? void 0 : s.call(e, "slot")) ?? []), (t = this._host.shadowRoot) == null || t.addEventListener("slotchange", this._slotchangeHandler);
10
16
  }
11
17
  hostDisconnected() {
12
- var t;
13
- (t = this._host.shadowRoot) == null || t.removeEventListener("slotchange", this._slotchangeHandler);
14
- }
15
- _syncSlots(...t) {
16
18
  var e;
17
- for (const n of t) {
18
- const l = n.name || "unnamed";
19
- n.assignedNodes().some((a) => {
20
- var h;
21
- return "tagName" in a || ((h = a.textContent) == null ? void 0 : h.trim());
22
- }) ? this.slots.add(l) : this.slots.delete(l);
19
+ (e = this._host.shadowRoot) == null || e.removeEventListener("slotchange", this._slotchangeHandler), this._textObserver.disconnect();
20
+ }
21
+ _syncSlots(...e) {
22
+ var s;
23
+ this._textObserver.disconnect();
24
+ for (const t of e) {
25
+ const o = t.name || "unnamed";
26
+ t.assignedNodes().some((n) => {
27
+ var a;
28
+ return "tagName" in n || ((a = n.textContent) == null ? void 0 : a.trim());
29
+ }) ? this.slots.add(o) : this.slots.delete(o), this._updateSlotNameAttribute();
23
30
  }
24
- const o = this._host.getAttribute("data-slot-names"), s = [...this.slots].sort().join(" ");
25
- s ? this._host.getAttribute("data-slot-names") !== s && this._host.setAttribute("data-slot-names", s) : this._host.removeAttribute("data-slot-names"), s !== o && ((e = this._onChangeCallback) == null || e.call(this));
31
+ (s = e.find((t) => !t.name)) == null || s.assignedNodes().filter((t) => t.nodeType === t.TEXT_NODE).forEach((t) => this._textObserver.observe(t, { characterData: !0 }));
32
+ }
33
+ _updateSlotNameAttribute() {
34
+ var t;
35
+ const e = this._host.getAttribute("data-slot-names"), s = [...this.slots].sort().join(" ");
36
+ s ? this._host.getAttribute("data-slot-names") !== s && this._host.setAttribute("data-slot-names", s) : this._host.removeAttribute("data-slot-names"), s !== e && ((t = this._onChangeCallback) == null || t.call(this));
26
37
  }
27
38
  }
28
39
  export {
29
- r as SbbSlotStateController
40
+ l as SbbSlotStateController
30
41
  };
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export * from './controllers/connected-abort-controller.js';
5
5
  export * from './controllers/escapable-overlay-controller.js';
6
- export * from './controllers/id-observer-controller.js';
6
+ export * from './controllers/id-reference-controller.js';
7
7
  export * from './controllers/inert-controller.js';
8
8
  export * from './controllers/language-controller.js';
9
9
  export * from './controllers/media-matchers-controller.js';
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../../src/elements/core/controllers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../../src/elements/core/controllers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { SbbConnectedAbortController as o } from "./controllers/connected-abort-controller.js";
2
2
  import { SbbEscapableOverlayController as t } from "./controllers/escapable-overlay-controller.js";
3
- import { SbbIdReferenceController as a } from "./controllers/id-observer-controller.js";
3
+ import { SbbIdReferenceController as a } from "./controllers/id-reference-controller.js";
4
4
  import { SbbInertController as S } from "./controllers/inert-controller.js";
5
5
  import { SbbLanguageController as i } from "./controllers/language-controller.js";
6
6
  import { SbbMediaMatcherController as m, SbbMediaQueryBreakpointMediumAndAbove as C, SbbMediaQueryBreakpointMediumAndBelow as M, SbbMediaQueryBreakpointSmallAndBelow as u, SbbMediaQueryForcedColors as f, SbbMediaQueryHover as x, SbbMediaQueryPointerCoarse as y } from "./controllers/media-matchers-controller.js";
@@ -35,7 +35,7 @@
35
35
 
36
36
  // Infinity border radius, can be used to achieve rounded border on start and end
37
37
  // TODO: Check if infinity is supported by all browsers (e.g. Firefox) -> calc(1em * infinity);
38
- --sbb-border-radius-infinity: 10000000em;
38
+ --sbb-border-radius-infinity: 100000em;
39
39
 
40
40
  &:has(sbb-header[size='s']) {
41
41
  --sbb-header-height: #{functions.px-to-rem-build(52)};
@@ -134,6 +134,20 @@ sbb-form-field {
134
134
  padding-inline-end: var(--sbb-form-field-select-inline-padding-end);
135
135
  }
136
136
 
137
+ &[size='s'] :where(input, sbb-date-input) {
138
+ // We shrink the input's height to support all types of inputs (especially type=number).
139
+ // Factor 1.25 ensures, letters are not cut.
140
+ height: calc(var(--sbb-form-field-input-text-size) * 1.25);
141
+
142
+ // Avoids Safari bug, where text gets misaligned with type=number
143
+ line-height: 1 !important;
144
+
145
+ // We add the missing block spacing to fit the line-height
146
+ margin-block: calc(
147
+ 0.5 * (var(--sbb-form-field-input-text-size) * (var(--sbb-typo-line-height-body-text) - 1.25))
148
+ );
149
+ }
150
+
137
151
  :where(textarea) {
138
152
  @include scrollbar.scrollbar;
139
153
 
@@ -481,3 +495,9 @@ sbb-header + :where(sbb-sidebar-container, sbb-icon-sidebar-container) {
481
495
  top: 0;
482
496
  }
483
497
  }
498
+
499
+ sbb-toggle:has(:focus-visible) {
500
+ @include a11y.focus-outline;
501
+
502
+ --sbb-focus-outline-offset: #{functions.px-to-rem-build(5)};
503
+ }
@@ -342,6 +342,8 @@ $sbb-size-element-l-large: 4rem;
342
342
  $sbb-size-element-l-wide: 4rem;
343
343
  /// Original Value: 64px
344
344
  $sbb-size-element-l-ultra: 4rem;
345
+ /// Original Value: 16px
346
+ $sbb-size-icon-ui-extra-small: 1rem;
345
347
  /// Original Value: 24px
346
348
  $sbb-size-icon-ui-small: 1.5rem;
347
349
  /// Original Value: 36px
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 19 Mar 2025 15:25:09 GMT
3
+ * Generated on Thu, 17 Apr 2025 11:20:53 GMT
4
4
  */
5
5
 
6
6
  @mixin lyne-design-tokens-css-variables {
@@ -574,6 +574,10 @@
574
574
  * Original Value: 64px
575
575
  */
576
576
  --sbb-size-element-l-ultra: 4rem;
577
+ /**
578
+ * Original Value: 16px
579
+ */
580
+ --sbb-size-icon-ui-extra-small: 1rem;
577
581
  /**
578
582
  * Original Value: 24px
579
583
  */
package/core.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 19 Mar 2025 15:25:09 GMT
3
+ * Generated on Thu, 17 Apr 2025 11:20:53 GMT
4
4
  */
5
5
  *,
6
6
  ::before,
@@ -579,6 +579,10 @@
579
579
  * Original Value: 64px
580
580
  */
581
581
  --sbb-size-element-l-ultra: 4rem;
582
+ /**
583
+ * Original Value: 16px
584
+ */
585
+ --sbb-size-icon-ui-extra-small: 1rem;
582
586
  /**
583
587
  * Original Value: 24px
584
588
  */
@@ -1113,7 +1117,7 @@
1113
1117
  --sbb-time-input-max-width: 3.625rem;
1114
1118
  --sbb-time-input-s-max-width: 3.1875rem;
1115
1119
  --sbb-overlay-default-z-index: 1000;
1116
- --sbb-border-radius-infinity: 10000000em;
1120
+ --sbb-border-radius-infinity: 100000em;
1117
1121
  }
1118
1122
  :root:has(sbb-header[size=s]) {
1119
1123
  --sbb-header-height: 3.25rem;
@@ -1217,6 +1221,11 @@ sbb-form-field :where(select) {
1217
1221
  sbb-form-field :where(select, sbb-select) {
1218
1222
  padding-inline-end: var(--sbb-form-field-select-inline-padding-end);
1219
1223
  }
1224
+ sbb-form-field[size=s] :where(input, sbb-date-input) {
1225
+ height: calc(var(--sbb-form-field-input-text-size) * 1.25);
1226
+ line-height: 1 !important;
1227
+ margin-block: calc(0.5 * var(--sbb-form-field-input-text-size) * (var(--sbb-typo-line-height-body-text) - 1.25));
1228
+ }
1220
1229
  sbb-form-field :where(textarea) {
1221
1230
  --sbb-scrollbar-thumb-width: 0.125rem;
1222
1231
  --sbb-scrollbar-thumb-width-hover: 0.25rem;
@@ -1537,4 +1546,10 @@ sbb-header + :where(sbb-sidebar-container, sbb-icon-sidebar-container) {
1537
1546
  }
1538
1547
  sbb-form-field .sbb-select-trigger {
1539
1548
  top: 0;
1549
+ }
1550
+
1551
+ sbb-toggle:has(:focus-visible) {
1552
+ outline-offset: var(--sbb-focus-outline-offset);
1553
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
1554
+ --sbb-focus-outline-offset: 0.3125rem;
1540
1555
  }