@skf-design-system/ui-components 1.0.0-beta.5 → 1.0.0-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.
- package/dist/components/accordion/accordion-item.d.ts +1 -1
- package/dist/components/accordion/accordion.component.d.ts +4 -4
- package/dist/components/accordion/accordion.component.js +18 -17
- package/dist/components/accordion/accordion.styles.d.ts +1 -2
- package/dist/components/accordion/accordion.styles.js +5 -4
- package/dist/components/alert/alert.component.d.ts +3 -3
- package/dist/components/alert/alert.component.js +44 -33
- package/dist/components/alert/alert.styles.d.ts +1 -2
- package/dist/components/alert/alert.styles.js +29 -24
- package/dist/components/button/button.component.d.ts +26 -4
- package/dist/components/button/button.component.js +78 -54
- package/dist/components/button/button.styles.js +1 -0
- package/dist/components/card/card.component.d.ts +4 -4
- package/dist/components/card/card.component.js +35 -24
- package/dist/components/card/card.styles.d.ts +1 -2
- package/dist/components/card/card.styles.js +14 -12
- package/dist/components/checkbox/checkbox.component.d.ts +11 -12
- package/dist/components/checkbox/checkbox.component.js +95 -89
- package/dist/components/collapse/collapse.component.d.ts +8 -8
- package/dist/components/collapse/collapse.component.js +42 -34
- package/dist/components/collapse/collapse.styles.js +15 -14
- package/dist/components/dialog/dialog.component.d.ts +75 -0
- package/dist/components/dialog/dialog.component.js +189 -0
- package/dist/components/dialog/dialog.d.ts +8 -0
- package/dist/components/dialog/dialog.js +6 -0
- package/dist/components/dialog/dialog.styles.js +91 -0
- package/dist/components/divider/divider.component.d.ts +3 -3
- package/dist/components/divider/divider.component.js +39 -27
- package/dist/components/divider/divider.styles.d.ts +1 -2
- package/dist/components/divider/divider.styles.js +26 -26
- package/dist/components/heading/heading.component.d.ts +2 -2
- package/dist/components/icon/icon.component.d.ts +1 -1
- package/dist/components/input/input.component.d.ts +12 -11
- package/dist/components/input/input.component.js +88 -89
- package/dist/components/link/link.component.d.ts +6 -6
- package/dist/components/link/link.component.js +20 -14
- package/dist/components/link/link.styles.js +36 -40
- package/dist/components/loader/loader.component.d.ts +2 -2
- package/dist/components/loader/loader.component.js +32 -25
- package/dist/components/loader/loader.styles.js +11 -10
- package/dist/components/logo/logo.component.d.ts +3 -3
- package/dist/components/logo/logo.component.js +25 -14
- package/dist/components/logo/logo.styles.d.ts +1 -2
- package/dist/components/logo/logo.styles.js +11 -9
- package/dist/components/progress/progress.component.d.ts +22 -0
- package/dist/components/progress/progress.component.js +49 -0
- package/dist/components/progress/progress.d.ts +8 -0
- package/dist/components/progress/progress.js +6 -0
- package/dist/components/progress/progress.styles.js +48 -0
- package/dist/components/radio/radio.component.d.ts +7 -9
- package/dist/components/radio/radio.component.js +93 -77
- package/dist/components/select/select.component.d.ts +2 -2
- package/dist/components/select/select.component.js +16 -13
- package/dist/components/select/select.controllers.d.ts +1 -1
- package/dist/components/select-option/select-option.component.d.ts +1 -1
- package/dist/components/select-option/select-option.controllers.d.ts +1 -1
- package/dist/components/select-option-group/select-option-group.component.d.ts +1 -1
- package/dist/components/switch/switch.component.d.ts +2 -2
- package/dist/components/switch/switch.component.js +17 -7
- package/dist/components/switch/switch.styles.js +16 -13
- package/dist/components/tab/tab.component.d.ts +29 -0
- package/dist/components/tab/tab.component.js +57 -0
- package/dist/components/tab/tab.d.ts +8 -0
- package/dist/components/tab/tab.js +6 -0
- package/dist/components/tab/tab.styles.d.ts +1 -0
- package/dist/components/tab/tab.styles.js +123 -0
- package/dist/components/tab-group/tab-group.component.d.ts +43 -0
- package/dist/components/tab-group/tab-group.component.js +98 -0
- package/dist/components/tab-group/tab-group.d.ts +8 -0
- package/dist/components/tab-group/tab-group.js +6 -0
- package/dist/components/tab-group/tab-group.styles.d.ts +1 -0
- package/dist/components/tab-group/tab-group.styles.js +75 -0
- package/dist/components/tab-panel/tab-panel.component.d.ts +19 -0
- package/dist/components/tab-panel/tab-panel.component.js +36 -0
- package/dist/components/tab-panel/tab-panel.d.ts +8 -0
- package/dist/components/tab-panel/tab-panel.js +6 -0
- package/dist/components/tab-panel/tab-panel.styles.d.ts +1 -0
- package/dist/components/tab-panel/tab-panel.styles.js +13 -0
- package/dist/components/tag/tag.component.d.ts +2 -2
- package/dist/components/tag/tag.component.js +61 -45
- package/dist/components/tag/tag.styles.js +30 -28
- package/dist/components/textarea/textarea.component.d.ts +4 -4
- package/dist/components/textarea/textarea.component.js +5 -5
- package/dist/components/toast/toast.component.d.ts +1 -1
- package/dist/components/toast/toast.component.js +13 -13
- package/dist/components/toast/toast.singleton.d.ts +3 -3
- package/dist/components/toast/toast.styles.d.ts +1 -0
- package/dist/components/toast-item/toast-item.component.d.ts +1 -1
- package/dist/components/toast-item/toast-item.component.js +1 -1
- package/dist/components/toast-wrapper/toast-wrapper.component.d.ts +2 -2
- package/dist/components/toast-wrapper/toast-wrapper.component.js +1 -1
- package/dist/components/toast-wrapper/toast-wrapper.styles.d.ts +1 -0
- package/dist/custom-elements.json +1170 -511
- package/dist/index.d.ts +5 -0
- package/dist/index.js +59 -44
- package/dist/internal/components/formBase.d.ts +1 -0
- package/dist/internal/components/formBase.js +11 -11
- package/dist/internal/components/hint/hint.component.d.ts +2 -2
- package/dist/internal/components/skf-element.js +26 -25
- package/dist/internal/helpers/hintSeverity.d.ts +1 -1
- package/dist/internal/helpers/watch.d.ts +27 -0
- package/dist/internal/helpers/watch.js +28 -0
- package/dist/internal/templates/asterisk.d.ts +1 -1
- package/dist/internal/templates/asterisk.js +7 -6
- package/dist/react/index.d.ts +7 -2
- package/dist/react/index.js +7 -2
- package/dist/react/skf-button/index.d.ts +7 -1
- package/dist/react/skf-button/index.js +5 -1
- package/dist/react/skf-dialog/index.d.ts +15 -0
- package/dist/react/skf-dialog/index.js +19 -0
- package/dist/react/skf-progress/index.d.ts +3 -0
- package/dist/react/skf-progress/index.js +13 -0
- package/dist/react/skf-tab/index.d.ts +12 -0
- package/dist/react/skf-tab/index.js +18 -0
- package/dist/react/skf-tab-group/index.d.ts +3 -0
- package/dist/react/skf-tab-group/index.js +13 -0
- package/dist/react/skf-tab-panel/index.d.ts +3 -0
- package/dist/react/skf-tab-panel/index.js +13 -0
- package/dist/styles/component.styles.js +15 -2
- package/dist/types/jsx/custom-element-jsx.d.ts +246 -101
- package/dist/types/vue/index.d.ts +215 -65
- package/dist/vscode.html-custom-data.json +276 -182
- package/dist/web-types.json +556 -248
- package/package.json +33 -32
- /package/dist/components/{toast-wrapper/toast-wrapper.style.d.ts → dialog/dialog.styles.d.ts} +0 -0
- /package/dist/components/{toast/toast.style.d.ts → progress/progress.styles.d.ts} +0 -0
- /package/dist/components/toast/{toast.style.js → toast.styles.js} +0 -0
- /package/dist/components/toast-item/{toast-item.style.d.ts → toast-item.styles.d.ts} +0 -0
- /package/dist/components/toast-item/{toast-item.style.js → toast-item.styles.js} +0 -0
- /package/dist/components/toast-wrapper/{toast-wrapper.style.js → toast-wrapper.styles.js} +0 -0
@@ -1,20 +1,21 @@
|
|
1
|
-
import { css as
|
2
|
-
const
|
1
|
+
import { css as a } from "lit";
|
2
|
+
const s = a`
|
3
|
+
/* stylelint-disable selector-class-pattern */
|
3
4
|
@layer components {
|
4
5
|
:host {
|
5
6
|
display: inline-flex;
|
6
7
|
}
|
7
8
|
|
8
|
-
|
9
|
+
.loader {
|
9
10
|
display: flex;
|
10
11
|
gap: var(--_skf-loader-gap, var(--skf-spacing-50));
|
12
|
+
}
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
}
|
14
|
+
.loader--small {
|
15
|
+
--_skf-loader-gap: var(--skf-spacing-25);
|
15
16
|
}
|
16
17
|
|
17
|
-
.
|
18
|
+
.loader__circle {
|
18
19
|
animation: skf-loader 0.5s infinite ease-in alternate;
|
19
20
|
aspect-ratio: 1;
|
20
21
|
background-color: var(--_skf-loader-color, var(--skf-bg-color-emphasised));
|
@@ -29,11 +30,11 @@ const e = s`
|
|
29
30
|
animation-delay: 0.2s;
|
30
31
|
}
|
31
32
|
|
32
|
-
|
33
|
+
.loader--invert & {
|
33
34
|
--_skf-loader-color: var(--skf-bg-color-neutral-1);
|
34
35
|
}
|
35
36
|
|
36
|
-
|
37
|
+
.loader--small & {
|
37
38
|
--_skf-loader-size: var(--skf-size-4);
|
38
39
|
}
|
39
40
|
}
|
@@ -46,5 +47,5 @@ const e = s`
|
|
46
47
|
}
|
47
48
|
`;
|
48
49
|
export {
|
49
|
-
|
50
|
+
s as default
|
50
51
|
};
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { SkfElement } from '
|
1
|
+
import { SkfElement } from '../../internal/components/skf-element.js';
|
2
2
|
import type { Logo } from '@skf-design-system/ui-assets';
|
3
3
|
import { type CSSResultGroup } from 'lit';
|
4
4
|
/**
|
@@ -13,9 +13,9 @@ export declare class SkfLogo extends SkfElement {
|
|
13
13
|
/** Defines the title of the logo */
|
14
14
|
title: string;
|
15
15
|
/**
|
16
|
-
*
|
16
|
+
* Defines the color of the logo
|
17
17
|
* @type { "primary" | "secondary" | "inverse" }
|
18
18
|
*/
|
19
|
-
color
|
19
|
+
color: Logo;
|
20
20
|
render(): import("lit").TemplateResult<1>;
|
21
21
|
}
|
@@ -1,20 +1,31 @@
|
|
1
1
|
import { SkfElement as i } from "../../internal/components/skf-element.js";
|
2
2
|
import m from "../../styles/component.styles.js";
|
3
3
|
import { html as n } from "lit";
|
4
|
-
import { property as
|
5
|
-
import a from "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
import { property as p } from "lit/decorators.js";
|
5
|
+
import { classMap as a } from "lit/directives/class-map.js";
|
6
|
+
import { styles as d } from "./logo.styles.js";
|
7
|
+
var g = Object.defineProperty, v = (e, l, s, y) => {
|
8
|
+
for (var c = void 0, r = e.length - 1, h; r >= 0; r--)
|
9
|
+
(h = e[r]) && (c = h(l, s, c) || c);
|
10
|
+
return c && g(l, s, c), c;
|
10
11
|
};
|
11
|
-
const
|
12
|
+
const o = class o extends i {
|
12
13
|
constructor() {
|
13
14
|
super(...arguments), this.title = "SKF logotype", this.color = "primary";
|
14
15
|
}
|
15
16
|
render() {
|
16
17
|
return n`
|
17
|
-
<svg
|
18
|
+
<svg
|
19
|
+
class=${a({
|
20
|
+
logo: !0,
|
21
|
+
"logo--color-inverse": this.color === "inverse",
|
22
|
+
"logo--color-secondary": this.color === "secondary"
|
23
|
+
})}
|
24
|
+
viewBox="0 0 1300 300"
|
25
|
+
xmlns="http://www.w3.org/2000/svg"
|
26
|
+
x="0px"
|
27
|
+
y="0px"
|
28
|
+
>
|
18
29
|
<title>${this.title}</title>
|
19
30
|
<g>
|
20
31
|
<g>
|
@@ -55,13 +66,13 @@ c0,5.8-4.3,6.1-9.1,6.1H1230.9z"
|
|
55
66
|
`;
|
56
67
|
}
|
57
68
|
};
|
58
|
-
|
59
|
-
let t =
|
60
|
-
|
61
|
-
|
69
|
+
o.styles = [m, d];
|
70
|
+
let t = o;
|
71
|
+
v([
|
72
|
+
p()
|
62
73
|
], t.prototype, "title");
|
63
|
-
|
64
|
-
|
74
|
+
v([
|
75
|
+
p()
|
65
76
|
], t.prototype, "color");
|
66
77
|
export {
|
67
78
|
t as SkfLogo
|
@@ -1,2 +1 @@
|
|
1
|
-
declare const
|
2
|
-
export default _default;
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
@@ -1,23 +1,25 @@
|
|
1
1
|
import { css as o } from "lit";
|
2
|
-
const
|
2
|
+
const s = o`
|
3
|
+
/* stylelint-disable selector-class-pattern */
|
4
|
+
|
3
5
|
:host {
|
4
6
|
display: inline-flex;
|
5
7
|
}
|
6
8
|
|
7
|
-
|
9
|
+
.logo {
|
8
10
|
aspect-ratio: 13 / 3;
|
9
11
|
block-size: var(--skf-logo-height, var(--skf-size-32));
|
10
12
|
fill: var(--_skf-logo-color, var(--skf-logo-primary));
|
13
|
+
}
|
11
14
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
+
.logo--color-secondary {
|
16
|
+
--_skf-logo-color: var(--skf-logo-secondary);
|
17
|
+
}
|
15
18
|
|
16
|
-
|
17
|
-
|
18
|
-
}
|
19
|
+
.logo--color-inverse {
|
20
|
+
--_skf-logo-color: var(--skf-logo-inverse);
|
19
21
|
}
|
20
22
|
`;
|
21
23
|
export {
|
22
|
-
|
24
|
+
s as styles
|
23
25
|
};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { SkfElement } from '../../internal/components/skf-element';
|
2
|
+
import { type CSSResultGroup } from 'lit';
|
3
|
+
/**
|
4
|
+
* The `<skf-progress>` element displays an indicator showing the completion progress of a task, typically displayed as a progress bar
|
5
|
+
*
|
6
|
+
* @documentation See [zeroheight](https://zeroheight.com/****) for design principles
|
7
|
+
*
|
8
|
+
* @tagname skf-progress
|
9
|
+
*/
|
10
|
+
export declare class SkfProgress extends SkfElement {
|
11
|
+
#private;
|
12
|
+
static styles: CSSResultGroup;
|
13
|
+
static formAssociated: boolean;
|
14
|
+
/** If true, the progress-bar's fill value is animated */
|
15
|
+
animated: boolean;
|
16
|
+
/** Describes how much work the task indicated by the progress element requires */
|
17
|
+
max: number;
|
18
|
+
/** Specifies how much of the task that has been completed */
|
19
|
+
value: number;
|
20
|
+
constructor();
|
21
|
+
render(): import("lit").TemplateResult<1>;
|
22
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
var h = (t) => {
|
2
|
+
throw TypeError(t);
|
3
|
+
};
|
4
|
+
var f = (t, e, r) => e.has(t) || h("Cannot " + r);
|
5
|
+
var c = (t, e, r) => (f(t, e, "read from private field"), r ? r.call(t) : e.get(t)), d = (t, e, r) => e.has(t) ? h("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, r), v = (t, e, r, p) => (f(t, e, "write to private field"), p ? p.call(t, r) : e.set(t, r), r);
|
6
|
+
import { SkfElement as y } from "../../internal/components/skf-element.js";
|
7
|
+
import x from "../../styles/component.styles.js";
|
8
|
+
import { html as b } from "lit";
|
9
|
+
import { property as l } from "lit/decorators.js";
|
10
|
+
import { classMap as _ } from "lit/directives/class-map.js";
|
11
|
+
import { styles as g } from "./progress.styles.js";
|
12
|
+
var N = Object.defineProperty, n = (t, e, r, p) => {
|
13
|
+
for (var s = void 0, m = t.length - 1, u; m >= 0; m--)
|
14
|
+
(u = t[m]) && (s = u(e, r, s) || s);
|
15
|
+
return s && N(e, r, s), s;
|
16
|
+
}, o;
|
17
|
+
const i = class i extends y {
|
18
|
+
constructor() {
|
19
|
+
super();
|
20
|
+
d(this, o);
|
21
|
+
this.animated = !1, this.max = 1, this.value = 0, v(this, o, this.attachInternals()), c(this, o).role = "progressbar";
|
22
|
+
}
|
23
|
+
render() {
|
24
|
+
const r = this.value / this.max * 100;
|
25
|
+
return b`
|
26
|
+
<div
|
27
|
+
class=${_({
|
28
|
+
progress: !0,
|
29
|
+
"progress--animated": this.animated
|
30
|
+
})}
|
31
|
+
style="--_skf-progress-value: ${r}%"
|
32
|
+
></div>
|
33
|
+
`;
|
34
|
+
}
|
35
|
+
};
|
36
|
+
o = new WeakMap(), i.styles = [x, g], i.formAssociated = !0;
|
37
|
+
let a = i;
|
38
|
+
n([
|
39
|
+
l({ type: Boolean, reflect: !0 })
|
40
|
+
], a.prototype, "animated");
|
41
|
+
n([
|
42
|
+
l({ type: Number })
|
43
|
+
], a.prototype, "max");
|
44
|
+
n([
|
45
|
+
l({ type: Number })
|
46
|
+
], a.prototype, "value");
|
47
|
+
export {
|
48
|
+
a as SkfProgress
|
49
|
+
};
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { css as r } from "lit";
|
2
|
+
const s = r`
|
3
|
+
/* stylelint-disable selector-class-pattern */
|
4
|
+
@layer components {
|
5
|
+
.progress {
|
6
|
+
background: var(--skf-bg-color-neutral-3);
|
7
|
+
block-size: var(--skf-size-8);
|
8
|
+
border-radius: 0.25rem; /* Missing token */
|
9
|
+
overflow: hidden;
|
10
|
+
|
11
|
+
&::after {
|
12
|
+
background-color: var(--skf-bg-color-emphasised);
|
13
|
+
block-size: inherit;
|
14
|
+
border-radius: inherit;
|
15
|
+
content: '';
|
16
|
+
display: block;
|
17
|
+
inline-size: var(--_skf-progress-value, auto);
|
18
|
+
transition: inline-size calc(var(--skf-motion-duration-slow) * 1ms)
|
19
|
+
cubic-bezier(0.4, 0.93, 0.71, 0.89);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.progress--animated::after {
|
24
|
+
animation: skf-progress-animation calc(var(--skf-motion-duration-slow) * 1ms) linear infinite
|
25
|
+
reverse;
|
26
|
+
background-image: linear-gradient(
|
27
|
+
-45deg,
|
28
|
+
rgba(255 255 255 / 20%) 25%,
|
29
|
+
transparent 25%,
|
30
|
+
transparent 50%,
|
31
|
+
rgba(255 255 255 / 20%) 50%,
|
32
|
+
rgba(255 255 255 / 20%) 75%,
|
33
|
+
transparent 75%,
|
34
|
+
transparent
|
35
|
+
);
|
36
|
+
background-size: 50px 50px;
|
37
|
+
}
|
38
|
+
|
39
|
+
@keyframes skf-progress-animation {
|
40
|
+
to {
|
41
|
+
background-position: 50px 50px;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
`;
|
46
|
+
export {
|
47
|
+
s as styles
|
48
|
+
};
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import '
|
2
|
-
import { FormBase } from '
|
3
|
-
import type { FormFieldBaseProps } from '
|
1
|
+
import '../icon/icon.js';
|
2
|
+
import { FormBase } from '../../internal/components/formBase.js';
|
3
|
+
import type { FormFieldBaseProps } from '../../internal/types/formField.js';
|
4
4
|
import { type CSSResultGroup } from 'lit';
|
5
5
|
/**
|
6
6
|
* The `<skf-radio>` component is used to create a radio input
|
@@ -25,8 +25,6 @@ export declare class SkfRadio extends FormBase implements FormFieldBaseProps {
|
|
25
25
|
checked?: boolean;
|
26
26
|
/** If true, forces component to invalid state until removed */
|
27
27
|
customInvalid?: boolean;
|
28
|
-
/** If true, hides the label visually */
|
29
|
-
hideLabel?: boolean;
|
30
28
|
/** If defined, sets the input's label unless the default slot is used. Alternatively, you can use the `label` attribute. */
|
31
29
|
label?: string;
|
32
30
|
/** If defined, adds name to the input-element */
|
@@ -50,11 +48,11 @@ export declare class SkfRadio extends FormBase implements FormFieldBaseProps {
|
|
50
48
|
/** @internal */
|
51
49
|
private $input?;
|
52
50
|
connectedCallback(): void;
|
53
|
-
willUpdate(changedProperties: Map<string | number | symbol, unknown>): void;
|
54
51
|
protected firstUpdated(): void;
|
55
|
-
|
56
|
-
|
57
|
-
|
52
|
+
handleInvalidChange(): void;
|
53
|
+
handleDebugInvalid(): void;
|
54
|
+
handleCheckedChanged(): void;
|
55
|
+
handleCustomInvalidChange(): void;
|
58
56
|
/** @internal */
|
59
57
|
private _resetValue;
|
60
58
|
/** @internal */
|
@@ -1,70 +1,77 @@
|
|
1
1
|
import "../icon/icon.js";
|
2
|
-
import { FormBase as
|
3
|
-
import {
|
4
|
-
import p from "../../
|
2
|
+
import { FormBase as c } from "../../internal/components/formBase.js";
|
3
|
+
import { watch as n } from "../../internal/helpers/watch.js";
|
4
|
+
import { Asterisk as p } from "../../internal/templates/asterisk.js";
|
5
|
+
import v from "../../styles/component.styles.js";
|
5
6
|
import { html as m } from "lit";
|
6
|
-
import { property as
|
7
|
-
import { ifDefined as
|
8
|
-
import { live as
|
9
|
-
import
|
10
|
-
var k = Object.defineProperty, i = (
|
11
|
-
for (var
|
12
|
-
(h =
|
13
|
-
return
|
7
|
+
import { property as r, state as f, query as y } from "lit/decorators.js";
|
8
|
+
import { ifDefined as b } from "lit/directives/if-defined.js";
|
9
|
+
import { live as _ } from "lit/directives/live.js";
|
10
|
+
import g from "./radio.styles.js";
|
11
|
+
var k = Object.defineProperty, C = Object.getOwnPropertyDescriptor, i = (u, e, s, o) => {
|
12
|
+
for (var a = o > 1 ? void 0 : o ? C(e, s) : e, l = u.length - 1, h; l >= 0; l--)
|
13
|
+
(h = u[l]) && (a = (o ? h(e, s, a) : h(a)) || a);
|
14
|
+
return o && a && k(e, s, a), a;
|
14
15
|
};
|
15
|
-
const d = class d extends
|
16
|
+
const d = class d extends c {
|
16
17
|
constructor() {
|
17
|
-
super(...arguments), this._initialChecked = !1, this.size = "md", this.value = "", this._invalid = !1, this._resetValue = (
|
18
|
-
|
18
|
+
super(...arguments), this._initialChecked = !1, this.size = "md", this.value = "", this._invalid = !1, this._resetValue = (e) => {
|
19
|
+
e.stopPropagation(), this.checked = this._initialChecked, this.$input && (this.$input.checked = !!this._initialChecked), this.setFormValue(this.checked ? this.value : "");
|
19
20
|
};
|
20
21
|
}
|
21
22
|
connectedCallback() {
|
22
23
|
super.connectedCallback(), this._validateInput();
|
23
24
|
}
|
24
|
-
willUpdate(t) {
|
25
|
-
t.has("_invalid") && (this._invalid ? (this.setAttribute("invalid", ""), this.showValid || this.removeAttribute("valid"), this.checkValidity()) : (this.removeAttribute("invalid"), !this.pristine && this.showValid && this.setAttribute("valid", "true")));
|
26
|
-
}
|
27
25
|
firstUpdated() {
|
28
|
-
var
|
29
|
-
(
|
30
|
-
var
|
31
|
-
|
32
|
-
}), this.addEventListener("invalid", (
|
33
|
-
this.pristine = !1, this._invalid = !0, this.customErrorDisplay &&
|
26
|
+
var e;
|
27
|
+
(e = this.$input) == null || e.addEventListener("change", (s) => {
|
28
|
+
var o;
|
29
|
+
s.stopPropagation(), this.pristine = !1, this.checked = (o = this.$input) == null ? void 0 : o.checked, this._validateInput(), this.checked ? this.setFormValue(this.value) : this.setFormValue(""), this.emitEvent("change");
|
30
|
+
}), this.addEventListener("invalid", (s) => {
|
31
|
+
this.pristine = !1, this._invalid = !0, this.customErrorDisplay && s.preventDefault();
|
34
32
|
}), this._initialChecked = this.checked, this.addEventListener("reset", this._resetValue);
|
35
33
|
}
|
36
|
-
|
37
|
-
|
34
|
+
handleInvalidChange() {
|
35
|
+
this._invalid ? (this.setAttribute("invalid", ""), this.showValid && this.removeAttribute("valid"), this.checkValidity()) : (this.removeAttribute("invalid"), !this.pristine && this.showValid && this.setAttribute("valid", "true"));
|
36
|
+
}
|
37
|
+
handleDebugInvalid() {
|
38
|
+
this._invalid && this.debug && !this.validity.valid && console.log(`Radio invalidity reason: ${this._internals.validationMessage}`);
|
38
39
|
}
|
39
|
-
|
40
|
-
|
41
|
-
if (typeof l == "string") {
|
42
|
-
const o = String(l).trim() || "Custom error";
|
43
|
-
this.pristine = !1, this._invalid = !0, this._internals.setValidity({ customError: !0 }, o), this.checkValidity();
|
44
|
-
} else
|
45
|
-
this.setValidity({}), this._validateInput();
|
40
|
+
handleCheckedChanged() {
|
41
|
+
this.setFormValue(this.checked ? this.value : null), this.checked && this._uncheckSiblingRadios();
|
46
42
|
}
|
47
|
-
|
48
|
-
|
43
|
+
handleCustomInvalidChange() {
|
44
|
+
if (this.customInvalid) {
|
45
|
+
const s = (
|
46
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
47
|
+
this.getAttribute("data-customerror") || "Set a custom error message using the data-customerror attribute"
|
48
|
+
);
|
49
|
+
this.pristine = !1, this._invalid = !0, this.setValidity({ customError: !0 }, s), this.checkValidity();
|
50
|
+
} else
|
51
|
+
this.setValidity({}), this._validateInput();
|
49
52
|
}
|
50
53
|
/** @internal */
|
51
54
|
_uncheckSiblingRadios() {
|
52
|
-
const
|
53
|
-
if (!
|
54
|
-
(this.form ?? document).querySelectorAll(`skf-radio[name="${
|
55
|
-
const
|
56
|
-
|
55
|
+
const e = this.name;
|
56
|
+
if (!e) return;
|
57
|
+
(this.form ?? document).querySelectorAll(`skf-radio[name="${e}"]`).forEach((a) => {
|
58
|
+
const l = this.form === a.form, h = !this.form && !a.form;
|
59
|
+
a !== this && (l || h) && (a.checked = !1);
|
57
60
|
});
|
58
61
|
}
|
59
62
|
/** @internal */
|
60
63
|
_validateInput() {
|
61
|
-
var
|
62
|
-
if (this._invalid = !1, this.customInvalid)
|
63
|
-
this.
|
64
|
-
|
64
|
+
var e;
|
65
|
+
if (this._invalid = !1, this.customInvalid) {
|
66
|
+
const s = this.getAttribute("data-customerror");
|
67
|
+
this.setValidity({ customError: !0 }, this.withFallback(s)), this._invalid = !0;
|
68
|
+
} else if (this.required && !this.checked) {
|
65
69
|
this.pristine || (this._invalid = !0);
|
66
|
-
const
|
67
|
-
|
70
|
+
const s = this.hasAttribute("data-valuemissing") ? this.getAttribute("data-valuemissing") : (
|
71
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
72
|
+
((e = this.$input) == null ? void 0 : e.validationMessage) || "Please check this radio if you want to proceed"
|
73
|
+
);
|
74
|
+
this.setValidity({ valueMissing: !0 }, this.withFallback(s));
|
68
75
|
} else
|
69
76
|
this.setValidity({});
|
70
77
|
}
|
@@ -74,61 +81,70 @@ const d = class d extends u {
|
|
74
81
|
<input
|
75
82
|
?disabled=${this.disabled}
|
76
83
|
?required=${this.required}
|
77
|
-
.checked=${
|
84
|
+
.checked=${_(!!this.checked)}
|
78
85
|
aria-invalid=${!!this._invalid}
|
79
|
-
name=${
|
86
|
+
name=${b(this.name)}
|
80
87
|
type="radio"
|
81
88
|
value=${this.value}
|
82
89
|
/>
|
83
90
|
<div id="label">
|
84
91
|
<slot>${this.label}</slot>
|
85
|
-
${this.required ?
|
92
|
+
${this.required ? p(this.requiredLabel) : null}
|
86
93
|
</div>
|
87
94
|
</label>
|
88
95
|
`;
|
89
96
|
}
|
90
97
|
};
|
91
|
-
d.styles = [
|
92
|
-
let
|
98
|
+
d.styles = [v, g];
|
99
|
+
let t = d;
|
100
|
+
i([
|
101
|
+
r({ type: Boolean })
|
102
|
+
], t.prototype, "debug", 2);
|
103
|
+
i([
|
104
|
+
r({ type: Boolean, reflect: !0 })
|
105
|
+
], t.prototype, "checked", 2);
|
106
|
+
i([
|
107
|
+
r({ type: Boolean, attribute: "custom-invalid" })
|
108
|
+
], t.prototype, "customInvalid", 2);
|
93
109
|
i([
|
94
|
-
|
95
|
-
],
|
110
|
+
r()
|
111
|
+
], t.prototype, "label", 2);
|
96
112
|
i([
|
97
|
-
|
98
|
-
],
|
113
|
+
r()
|
114
|
+
], t.prototype, "name", 2);
|
99
115
|
i([
|
100
|
-
|
101
|
-
],
|
116
|
+
r({ attribute: "required-label" })
|
117
|
+
], t.prototype, "requiredLabel", 2);
|
102
118
|
i([
|
103
|
-
|
104
|
-
],
|
119
|
+
r({ reflect: !0 })
|
120
|
+
], t.prototype, "size", 2);
|
105
121
|
i([
|
106
|
-
|
107
|
-
],
|
122
|
+
r()
|
123
|
+
], t.prototype, "severity", 2);
|
108
124
|
i([
|
109
|
-
|
110
|
-
],
|
125
|
+
r({ type: Boolean, attribute: "show-valid" })
|
126
|
+
], t.prototype, "showValid", 2);
|
111
127
|
i([
|
112
|
-
|
113
|
-
],
|
128
|
+
r()
|
129
|
+
], t.prototype, "value", 2);
|
114
130
|
i([
|
115
|
-
|
116
|
-
],
|
131
|
+
f()
|
132
|
+
], t.prototype, "_invalid", 2);
|
117
133
|
i([
|
118
|
-
|
119
|
-
],
|
134
|
+
y("input")
|
135
|
+
], t.prototype, "$input", 2);
|
120
136
|
i([
|
121
|
-
|
122
|
-
],
|
137
|
+
n("_invalid")
|
138
|
+
], t.prototype, "handleInvalidChange", 1);
|
123
139
|
i([
|
124
|
-
|
125
|
-
],
|
140
|
+
n("_invalid", { afterUpdate: !0 })
|
141
|
+
], t.prototype, "handleDebugInvalid", 1);
|
126
142
|
i([
|
127
|
-
|
128
|
-
],
|
143
|
+
n("checked")
|
144
|
+
], t.prototype, "handleCheckedChanged", 1);
|
129
145
|
i([
|
130
|
-
|
131
|
-
],
|
146
|
+
n("customInvalid")
|
147
|
+
], t.prototype, "handleCustomInvalidChange", 1);
|
132
148
|
export {
|
133
|
-
|
149
|
+
t as SkfRadio
|
134
150
|
};
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { FormBase } from '
|
2
|
-
import type { FormFieldBaseProps } from '
|
1
|
+
import { FormBase } from '../../internal/components/formBase.js';
|
2
|
+
import type { FormFieldBaseProps } from '../../internal/types/formField.js';
|
3
3
|
import { type CSSResultGroup } from 'lit';
|
4
4
|
import '../../internal/components/hint/hint';
|
5
5
|
import type { SelectOptionEvent, SkfSelectOption } from '../select-option/select-option.component.js';
|