@skf-design-system/ui-components 1.0.2-beta.5 → 1.0.2-beta.7

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 (124) hide show
  1. package/README.md +18 -0
  2. package/dist/components/accordion/accordion.component.d.ts +1 -1
  3. package/dist/components/accordion/accordion.component.js +2 -2
  4. package/dist/components/alert/alert.component.d.ts +3 -2
  5. package/dist/components/alert/alert.component.js +39 -33
  6. package/dist/components/button/button.styles.js +3 -3
  7. package/dist/components/checkbox/checkbox.component.d.ts +4 -2
  8. package/dist/components/checkbox/checkbox.component.js +73 -65
  9. package/dist/components/checkbox/checkbox.styles.js +1 -1
  10. package/dist/components/datepicker/datepicker-calendar.component.d.ts +4 -0
  11. package/dist/components/datepicker/datepicker-calendar.component.js +134 -127
  12. package/dist/components/datepicker/datepicker-popup.component.d.ts +4 -0
  13. package/dist/components/datepicker/datepicker-popup.component.js +100 -88
  14. package/dist/components/datepicker/datepicker.component.d.ts +4 -2
  15. package/dist/components/datepicker/datepicker.component.js +151 -140
  16. package/dist/components/dialog/dialog.component.d.ts +3 -2
  17. package/dist/components/dialog/dialog.component.js +39 -37
  18. package/dist/components/divider/divider.component.d.ts +3 -0
  19. package/dist/components/divider/divider.component.js +43 -22
  20. package/dist/components/divider/divider.styles.js +9 -9
  21. package/dist/components/drawer/drawer.component.d.ts +11 -4
  22. package/dist/components/drawer/drawer.component.js +77 -55
  23. package/dist/components/drawer/drawer.styles.js +47 -40
  24. package/dist/components/header/header.component.d.ts +4 -2
  25. package/dist/components/header/header.component.js +66 -57
  26. package/dist/components/header/header.styles.js +2 -2
  27. package/dist/components/icon/icon.component.js +7 -7
  28. package/dist/components/icon/icon.styles.js +2 -2
  29. package/dist/components/input/input.component.d.ts +4 -8
  30. package/dist/components/input/input.component.js +147 -147
  31. package/dist/components/input/input.controllers.d.ts +0 -1
  32. package/dist/components/input/input.controllers.js +12 -12
  33. package/dist/components/link/link.component.d.ts +15 -18
  34. package/dist/components/link/link.component.js +105 -107
  35. package/dist/components/link/link.styles.js +53 -45
  36. package/dist/components/loader/loader.component.d.ts +5 -3
  37. package/dist/components/loader/loader.component.js +39 -28
  38. package/dist/components/loader/loader.styles.js +6 -10
  39. package/dist/components/menu/menu-item.component.d.ts +1 -1
  40. package/dist/components/menu/menu-item.component.js +8 -8
  41. package/dist/components/menu/menu-item.styles.js +13 -9
  42. package/dist/components/menu/menu.component.d.ts +5 -2
  43. package/dist/components/menu/menu.component.js +8 -8
  44. package/dist/components/nav/nav-item.component.d.ts +4 -0
  45. package/dist/components/nav/nav-item.component.js +44 -25
  46. package/dist/components/nav/nav-item.styles.js +29 -25
  47. package/dist/components/nav/nav.component.d.ts +9 -0
  48. package/dist/components/nav/nav.component.js +47 -21
  49. package/dist/components/nav/nav.styles.js +15 -9
  50. package/dist/components/popover/popover.component.d.ts +10 -3
  51. package/dist/components/popover/popover.component.js +30 -22
  52. package/dist/components/progress/progress.component.d.ts +2 -0
  53. package/dist/components/progress/progress.component.js +38 -29
  54. package/dist/components/progress/progress.styles.js +4 -4
  55. package/dist/components/radio/radio.component.d.ts +4 -2
  56. package/dist/components/radio/radio.component.js +91 -83
  57. package/dist/components/radio/radio.styles.js +1 -1
  58. package/dist/components/segmented-button/segmented-button-item.component.js +1 -1
  59. package/dist/components/segmented-button/segmented-button-item.styles.js +1 -1
  60. package/dist/components/select/select-option-group.component.d.ts +4 -0
  61. package/dist/components/select/select-option-group.component.js +37 -18
  62. package/dist/components/select/select-option-group.style.js +12 -6
  63. package/dist/components/select/select-option.component.d.ts +7 -2
  64. package/dist/components/select/select-option.component.js +70 -53
  65. package/dist/components/select/select-option.styles.js +43 -31
  66. package/dist/components/select/select.component.d.ts +18 -10
  67. package/dist/components/select/select.component.js +175 -132
  68. package/dist/components/select/select.controllers.js +2 -1
  69. package/dist/components/select/select.styles.js +8 -2
  70. package/dist/components/stepper/stepper-item.component.d.ts +1 -1
  71. package/dist/components/stepper/stepper-item.component.js +26 -23
  72. package/dist/components/stepper/stepper-item.styles.js +4 -4
  73. package/dist/components/switch/switch.component.d.ts +4 -2
  74. package/dist/components/switch/switch.component.js +64 -56
  75. package/dist/components/switch/switch.styles.js +1 -1
  76. package/dist/components/tabs/tab-panel.component.d.ts +1 -1
  77. package/dist/components/tabs/tab-panel.component.js +19 -16
  78. package/dist/components/tabs/tab.component.d.ts +1 -1
  79. package/dist/components/tabs/tab.component.js +17 -14
  80. package/dist/components/tabs/tab.styles.js +2 -2
  81. package/dist/components/tag/tag.component.d.ts +3 -0
  82. package/dist/components/tag/tag.component.js +50 -41
  83. package/dist/components/textarea/textarea.component.d.ts +4 -2
  84. package/dist/components/textarea/textarea.component.js +127 -118
  85. package/dist/components/toast/toast-item.styles.js +13 -10
  86. package/dist/components/toast/toast.component.js +9 -9
  87. package/dist/components/toast/toast.singleton.d.ts +1 -1
  88. package/dist/components/toast/toast.singleton.js +18 -18
  89. package/dist/components/tooltip/tooltip.component.d.ts +9 -2
  90. package/dist/components/tooltip/tooltip.component.js +13 -7
  91. package/dist/custom-elements.json +1305 -946
  92. package/dist/index.d.ts +2 -2
  93. package/dist/index.js +20 -20
  94. package/dist/internal/base-classes/popover/popover.base.d.ts +24 -5
  95. package/dist/internal/base-classes/popover/popover.base.js +28 -29
  96. package/dist/internal/base-classes/popover/popover.styles.js +4 -5
  97. package/dist/internal/components/hint/hint.component.d.ts +4 -0
  98. package/dist/internal/components/hint/hint.component.js +47 -20
  99. package/dist/internal/components/hint/hint.styles.js +29 -25
  100. package/dist/internal/controllers/popover.controller.d.ts +2 -0
  101. package/dist/internal/helpers/uuid.d.ts +8 -10
  102. package/dist/internal/helpers/uuid.js +4 -11
  103. package/dist/internal/helpers/watch.d.ts +1 -1
  104. package/dist/internal/templates/asterisk.d.ts +1 -1
  105. package/dist/internal/templates/asterisk.js +4 -4
  106. package/dist/internal/types.d.ts +4 -0
  107. package/dist/styles/global-alt.css +1 -1
  108. package/dist/styles/global.css +1 -1
  109. package/dist/translations/en.d.ts +3 -0
  110. package/dist/translations/en.js +27 -0
  111. package/dist/translations/es.d.ts +3 -0
  112. package/dist/translations/es.js +27 -0
  113. package/dist/translations/index.d.ts +4 -0
  114. package/dist/translations/pt.d.ts +3 -0
  115. package/dist/translations/pt.js +27 -0
  116. package/dist/translations/sv.d.ts +3 -0
  117. package/dist/translations/sv.js +27 -0
  118. package/dist/types/jsx/custom-element-jsx.d.ts +243 -128
  119. package/dist/types/vue/index.d.ts +136 -127
  120. package/dist/utilities/localize.d.ts +28 -0
  121. package/dist/utilities/localize.js +13 -0
  122. package/dist/vscode.html-custom-data.json +168 -177
  123. package/dist/web-types.json +411 -381
  124. package/package.json +34 -41
@@ -2,6 +2,7 @@ import '../button/button.js';
2
2
  import '../drawer/drawer.js';
3
3
  import '../logo/logo.js';
4
4
  import { SkfElement } from '../../internal/components/skf-element';
5
+ import { type Language } from '../../utilities/localize.js';
5
6
  import { type CSSResultGroup } from 'lit';
6
7
  /**
7
8
  * The `<skf-header>` component is to be used as the site-header in the app. The navigation will be collapsed to mobile-view if the menu items exceed the available width.
@@ -13,6 +14,7 @@ import { type CSSResultGroup } from 'lit';
13
14
  * @tagname skf-header
14
15
  */
15
16
  export declare class SkfHeader extends SkfElement {
17
+ #private;
16
18
  static styles: CSSResultGroup;
17
19
  /** @internal */
18
20
  private _dynamicBreakpoint?;
@@ -21,8 +23,8 @@ export declare class SkfHeader extends SkfElement {
21
23
  /** If true, sets header to display in compact mode only (hanburger menu and drawer) */
22
24
  set compact(value: boolean);
23
25
  get compact(): boolean;
24
- /** If defined, sets the aria-label for the hamburger button */
25
- hamburgerAriaLabel: string;
26
+ /** Sets the internal language of the component */
27
+ lang: Language;
26
28
  /** If defined, sets the app or site's name */
27
29
  siteName?: string;
28
30
  /** If defined, sets the site's base-url for the "logo-link" */
@@ -1,24 +1,32 @@
1
+ var v = (e) => {
2
+ throw TypeError(e);
3
+ };
4
+ var d = (e, r, t) => r.has(e) || v("Cannot " + t);
5
+ var f = (e, r, t) => (d(e, r, "read from private field"), t ? t.call(e) : r.get(e)), u = (e, r, t) => r.has(e) ? v("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(e) : r.set(e, t), b = (e, r, t, o) => (d(e, r, "write to private field"), o ? o.call(e, t) : r.set(e, t), t);
1
6
  import "../button/button.js";
2
7
  import "../drawer/drawer.js";
3
8
  import "../logo/logo.js";
4
- import { SkfElement as d } from "../../internal/components/skf-element.js";
5
- import { componentStyles as b } from "../../styles/component.styles.js";
6
- import { nothing as u, html as o } from "lit";
7
- import { property as s, state as f, queryAssignedElements as w, query as _ } from "lit/decorators.js";
8
- import { ifDefined as m } from "lit/directives/if-defined.js";
9
- import { literal as v, html as y } from "lit/static-html.js";
10
- import { styles as $ } from "./header.styles.js";
11
- var g = Object.defineProperty, C = Object.getOwnPropertyDescriptor, r = (c, e, n, a) => {
12
- for (var i = a > 1 ? void 0 : a ? C(e, n) : e, p = c.length - 1, h; p >= 0; p--)
13
- (h = c[p]) && (i = (a ? h(e, n, i) : h(i)) || i);
14
- return a && i && g(e, n, i), i;
15
- };
16
- const l = class l extends d {
9
+ import { SkfElement as y } from "../../internal/components/skf-element.js";
10
+ import { componentStyles as $ } from "../../styles/component.styles.js";
11
+ import { LocalizeController as g } from "../../utilities/localize.js";
12
+ import { nothing as C, html as h } from "lit";
13
+ import { property as p, state as O, queryAssignedElements as W, query as D } from "lit/decorators.js";
14
+ import { ifDefined as w } from "lit/directives/if-defined.js";
15
+ import { literal as _, html as N } from "lit/static-html.js";
16
+ import { styles as k } from "./header.styles.js";
17
+ var z = Object.defineProperty, B = Object.getOwnPropertyDescriptor, s = (e, r, t, o) => {
18
+ for (var a = o > 1 ? void 0 : o ? B(r, t) : r, l = e.length - 1, c; l >= 0; l--)
19
+ (c = e[l]) && (a = (o ? c(r, t, a) : c(a)) || a);
20
+ return o && a && z(r, t, a), a;
21
+ }, n;
22
+ const m = class m extends y {
17
23
  constructor() {
18
- super(...arguments), this.hamburgerAriaLabel = "Show navigation", this.isCompact = !1, this.openDrawer = !1;
24
+ super(...arguments);
25
+ u(this, n);
26
+ b(this, n, new g(this)), this.lang = "en", this.isCompact = !1, this.openDrawer = !1;
19
27
  }
20
- set compact(e) {
21
- this.isCompact = e;
28
+ set compact(t) {
29
+ this.isCompact = t;
22
30
  }
23
31
  get compact() {
24
32
  return this.isCompact;
@@ -35,82 +43,83 @@ const l = class l extends d {
35
43
  /** @internal */
36
44
  _observeHostWidth() {
37
45
  this._widthObserver = new ResizeObserver(() => {
38
- var e;
39
- this.clientWidth > (this._dynamicBreakpoint ?? 0) && (this._dynamicBreakpoint = null, (e = this._widthObserver) == null || e.disconnect(), this.isCompact = !1, this.nav[0].vertical = !1, this._observeNavContainer());
46
+ var t;
47
+ this.clientWidth > (this._dynamicBreakpoint ?? 0) && (this._dynamicBreakpoint = null, (t = this._widthObserver) == null || t.disconnect(), this.isCompact = !1, this.nav[0].vertical = !1, this._observeNavContainer());
40
48
  }), this._widthObserver.observe(this);
41
49
  }
42
50
  /** @internal */
43
51
  _observeNavContainer() {
44
52
  this._widthObserver = new ResizeObserver(() => {
45
- var e;
46
- this.$navWrapper.clientWidth < this.$navWrapper.scrollWidth && (this._dynamicBreakpoint = this.clientWidth, (e = this._widthObserver) == null || e.disconnect(), this.isCompact = !0, this.nav[0].vertical = !0, this._observeHostWidth());
53
+ var t;
54
+ this.$navWrapper.clientWidth < this.$navWrapper.scrollWidth && (this._dynamicBreakpoint = this.clientWidth, (t = this._widthObserver) == null || t.disconnect(), this.isCompact = !0, this.nav[0].vertical = !0, this._observeHostWidth());
47
55
  }), this._widthObserver.observe(this.$navWrapper);
48
56
  }
49
57
  /** @internal */
50
58
  _renderMeta() {
51
- const e = this.siteUrl ? v`a` : v`div`;
52
- return y`
53
- <${e} href=${m(this.siteUrl)} id="meta">
59
+ const t = this.siteUrl ? _`a` : _`div`;
60
+ return N`
61
+ <${t} href=${w(this.siteUrl)} id="meta">
54
62
  <skf-logo color="inverse"></skf-logo>
55
- ${this.siteName ? o`<h2>${this.siteName}</h2>` : u}
56
- </${e}>
63
+ ${this.siteName ? h`<h2>${this.siteName}</h2>` : C}
64
+ </${t}>
57
65
  `;
58
66
  }
59
67
  render() {
60
- return o`
68
+ return h`
61
69
  <header role="banner">
62
70
  ${this._renderMeta()}
63
71
  <div id="nav-wrapper">
64
- ${this.isCompact ? o`
72
+ ${this.isCompact ? h`
65
73
  <button
66
74
  @click=${() => this.openDrawer = !this.openDrawer}
67
75
  aria-controls="drawer"
68
76
  aria-expanded=${this.openDrawer}
69
- aria-label=${this.hamburgerAriaLabel}
77
+ aria-label=${f(this, n).term("showMenu")}
70
78
  >
71
79
  <skf-icon color="inverse" name="hamburgerMenu" size="lg"></skf-icon>
72
80
  </button>
73
81
  <skf-drawer
74
82
  ?open=${this.openDrawer}
75
83
  @close=${() => this.openDrawer = !1}
76
- heading=${m(this.siteName)}
84
+ heading=${w(this.siteName)}
77
85
  id="drawer"
86
+ lang=${this.lang}
78
87
  placement="right"
79
88
  >
80
89
  <slot></slot>
81
90
  </skf-drawer>
82
- ` : o`<slot></slot>`}
91
+ ` : h`<slot></slot>`}
83
92
  </div>
84
93
  </header>
85
94
  `;
86
95
  }
87
96
  };
88
- l.styles = [b, $];
89
- let t = l;
90
- r([
91
- s({ type: Boolean, reflect: !0 })
92
- ], t.prototype, "compact", 1);
93
- r([
94
- s({ attribute: "hamburger-aria-label" })
95
- ], t.prototype, "hamburgerAriaLabel", 2);
96
- r([
97
- s({ attribute: "site-name" })
98
- ], t.prototype, "siteName", 2);
99
- r([
100
- s({ attribute: "site-url" })
101
- ], t.prototype, "siteUrl", 2);
102
- r([
103
- s({ type: Boolean, reflect: !0, state: !0, attribute: "is-compact" })
104
- ], t.prototype, "isCompact", 2);
105
- r([
106
- f()
107
- ], t.prototype, "openDrawer", 2);
108
- r([
109
- w({ selector: "skf-nav" })
110
- ], t.prototype, "nav", 2);
111
- r([
112
- _("#nav-wrapper")
113
- ], t.prototype, "$navWrapper", 2);
97
+ n = new WeakMap(), m.styles = [$, k];
98
+ let i = m;
99
+ s([
100
+ p({ type: Boolean, reflect: !0 })
101
+ ], i.prototype, "compact", 1);
102
+ s([
103
+ p({ type: String })
104
+ ], i.prototype, "lang", 2);
105
+ s([
106
+ p({ attribute: "site-name" })
107
+ ], i.prototype, "siteName", 2);
108
+ s([
109
+ p({ attribute: "site-url" })
110
+ ], i.prototype, "siteUrl", 2);
111
+ s([
112
+ p({ type: Boolean, reflect: !0, state: !0, attribute: "is-compact" })
113
+ ], i.prototype, "isCompact", 2);
114
+ s([
115
+ O()
116
+ ], i.prototype, "openDrawer", 2);
117
+ s([
118
+ W({ selector: "skf-nav" })
119
+ ], i.prototype, "nav", 2);
120
+ s([
121
+ D("#nav-wrapper")
122
+ ], i.prototype, "$navWrapper", 2);
114
123
  export {
115
- t as SkfHeader
124
+ i as SkfHeader
116
125
  };
@@ -7,7 +7,7 @@ const a = e`
7
7
 
8
8
  header {
9
9
  align-items: center;
10
- background-color: var(--skf-bg-color-emphasised);
10
+ background-color: var(--skf-bg-color-emphasized);
11
11
  block-size: var(--skf-header-height);
12
12
  display: flex;
13
13
  gap: var(--skf-spacing-125);
@@ -48,7 +48,7 @@ const a = e`
48
48
  }
49
49
 
50
50
  skf-drawer::part(body) {
51
- background-color: var(--skf-bg-color-emphasised);
51
+ background-color: var(--skf-bg-color-emphasized);
52
52
  padding: 0;
53
53
  }
54
54
 
@@ -8,16 +8,16 @@ import { stateMap as b } from "../../internal/helpers/stateMap.js";
8
8
  import { watch as _ } from "../../internal/helpers/watch.js";
9
9
  import { ICONS as S } from "@skf-design-system/ui-assets";
10
10
  import { componentStyles as C } from "../../styles/component.styles.js";
11
- import { html as O } from "lit";
11
+ import { html as z } from "lit";
12
12
  import { property as n } from "lit/decorators.js";
13
- import { styles as w } from "./icon.styles.js";
14
- var z = Object.defineProperty, P = Object.getOwnPropertyDescriptor, p = (t, e, r, o) => {
13
+ import { styles as O } from "./icon.styles.js";
14
+ var w = Object.defineProperty, P = Object.getOwnPropertyDescriptor, p = (t, e, r, o) => {
15
15
  for (var s = o > 1 ? void 0 : o ? P(e, r) : e, m = t.length - 1, h; m >= 0; m--)
16
16
  (h = t[m]) && (s = (o ? h(e, r, s) : h(s)) || s);
17
- return o && s && z(e, r, s), s;
17
+ return o && s && w(e, r, s), s;
18
18
  };
19
19
  const x = {
20
- color: ["emphasised", "error", "info", "inverse", "primary", "secondary", "success", "warning"],
20
+ color: ["emphasized", "error", "info", "inverse", "primary", "secondary", "success", "warning"],
21
21
  size: ["lg", "md", "sm", "xs"]
22
22
  };
23
23
  var a, l;
@@ -35,10 +35,10 @@ const f = class f extends v {
35
35
  b(c(this, l), x[r]).set(s);
36
36
  }
37
37
  render() {
38
- return O`<div id="root">${S[this.name]}</div>`;
38
+ return z`<div id="root">${S[this.name]}</div>`;
39
39
  }
40
40
  };
41
- a = new WeakMap(), l = new WeakMap(), f.styles = [C, w];
41
+ a = new WeakMap(), l = new WeakMap(), f.styles = [C, O];
42
42
  let i = f;
43
43
  p([
44
44
  n({ type: String })
@@ -38,8 +38,8 @@ const r = o`
38
38
  --_skf-icon-color: var(--skf-icon-color-inverse);
39
39
  }
40
40
 
41
- :host(:state(emphasised)) #root {
42
- --_skf-icon-color: var(--skf-icon-color-emphasised);
41
+ :host(:state(emphasized)) #root {
42
+ --_skf-icon-color: var(--skf-icon-color-emphasized);
43
43
  }
44
44
 
45
45
  :host(:state(alert)) #root {
@@ -3,6 +3,7 @@ import { FormBase } from '../../internal/components/formBase.js';
3
3
  import '../../internal/components/hint/hint';
4
4
  import type { FormFieldSeverity } from '../../internal/types.js';
5
5
  import type { FormFieldBaseProps } from '../../internal/types/formField.js';
6
+ import { type Language } from '../../utilities/localize.js';
6
7
  import { type CSSResultGroup } from 'lit';
7
8
  /**
8
9
  * The skf-text-field is used to create a text input field. It can be used inside a form element or standalone
@@ -23,6 +24,7 @@ import { type CSSResultGroup } from 'lit';
23
24
  * behaviour: validate-on-input, validate-on-submit and native-validation
24
25
  */
25
26
  export declare class SkfInput extends FormBase implements FormFieldBaseProps {
27
+ #private;
26
28
  static styles: CSSResultGroup;
27
29
  private customError;
28
30
  /** @internal intermediary value for reset to function, e.g value attribute act as default value */
@@ -32,12 +34,6 @@ export declare class SkfInput extends FormBase implements FormFieldBaseProps {
32
34
  * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/autocomplete) for details.
33
35
  */
34
36
  autocomplete?: HTMLInputElement['autocomplete'];
35
- /** Custom aria-label for the clear button. **Notice!** Only applicable to type=search. */
36
- buttonAriaLabelClear: string;
37
- /** Custom aria-label for the visibility button. **Notice!** Only applicable to type=password. */
38
- buttonAriaLabelHide: string;
39
- /** Custom aria-label for the visibility button **Notice!** Only applicable to type=password. */
40
- buttonAriaLabelShow: string;
41
37
  /** If defined, forces component to invalid state until removed. Its value is used as hint text. */
42
38
  set customInvalid(value: string | undefined);
43
39
  get customInvalid(): string | undefined;
@@ -54,6 +50,8 @@ export declare class SkfInput extends FormBase implements FormFieldBaseProps {
54
50
  inputmode: HTMLInputElement['inputMode'];
55
51
  /** If defined, sets the input's label. Alternatively, you can use the `label` attribute. */
56
52
  label?: string;
53
+ /** Sets the internal language of the component */
54
+ lang: Language;
57
55
  /** If defined, displays a prefix/adornment before the input-element */
58
56
  leading?: string;
59
57
  /** If defined, sets the maximum value to accept for this input */
@@ -72,8 +70,6 @@ export declare class SkfInput extends FormBase implements FormFieldBaseProps {
72
70
  placeholder?: string;
73
71
  /** If true, makes the element not mutable, meaning the user can not edit the control */
74
72
  readonly: boolean;
75
- /** If defined, renders an alternative A11y text for the asterisk */
76
- requiredLabel?: string;
77
73
  /** If defined, displays provided severity state */
78
74
  severity?: FormFieldSeverity;
79
75
  /** If true, displays valid state after interaction */