@warp-ds/elements 2.3.0-next.15 → 2.3.0-next.17
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/custom-elements.json +20 -0
- package/dist/packages/attention/index.js +2 -2
- package/dist/packages/attention/index.js.map +2 -2
- package/dist/packages/attention/styles.js +1 -1
- package/dist/packages/slider/slider-thumb.js +17 -17
- package/dist/packages/slider/slider-thumb.js.map +3 -3
- package/dist/packages/slider/slider.react.stories.d.ts +3 -2
- package/dist/packages/slider/slider.react.stories.js +38 -16
- package/dist/packages/slider/slider.stories.d.ts +5 -5
- package/dist/packages/slider/slider.stories.js +29 -25
- package/dist/packages/textfield/index.js +1 -1
- package/dist/packages/textfield/index.js.map +2 -2
- package/dist/web-types.json +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StoryObj } from
|
|
2
|
-
import { Slider } from
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
import { Slider } from "./react";
|
|
3
3
|
declare const _default: {
|
|
4
4
|
title: string;
|
|
5
5
|
component: import("@lit/react").ReactWebComponent<import("./slider").WarpSlider, {}>;
|
|
@@ -16,3 +16,4 @@ export declare const Step: Story;
|
|
|
16
16
|
export declare const OverUnder: Story;
|
|
17
17
|
export declare const SingleError: Story;
|
|
18
18
|
export declare const RangeError: Story;
|
|
19
|
+
export declare const TestCase: Story;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React, { useState } from
|
|
2
|
-
import { Slider, SliderThumb } from
|
|
3
|
-
const locale =
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Slider, SliderThumb } from "./react";
|
|
3
|
+
const locale = "nb";
|
|
4
4
|
const getNumberFormatter = (locale, opts = {}) => {
|
|
5
5
|
return (value) => new Intl.NumberFormat(locale, { maximumFractionDigits: 0, ...opts }).format(value);
|
|
6
6
|
};
|
|
7
7
|
export default {
|
|
8
|
-
title:
|
|
8
|
+
title: "Forms/Slider and Range Slider",
|
|
9
9
|
component: Slider,
|
|
10
10
|
};
|
|
11
11
|
export const Single = {
|
|
@@ -24,7 +24,7 @@ export const Range = {
|
|
|
24
24
|
// Take a suffix attribute on `<Slider>` I think, have `<SliderThumb>` get from that.
|
|
25
25
|
export const SuffixSquareMeters = {
|
|
26
26
|
args: {
|
|
27
|
-
suffix:
|
|
27
|
+
suffix: "m²",
|
|
28
28
|
},
|
|
29
29
|
render({ suffix }) {
|
|
30
30
|
return (React.createElement(Slider, { label: "Apartment size", min: "0", max: "250", suffix: suffix, formatter: getNumberFormatter(locale) },
|
|
@@ -34,7 +34,7 @@ export const SuffixSquareMeters = {
|
|
|
34
34
|
};
|
|
35
35
|
export const SuffixCurrency = {
|
|
36
36
|
args: {
|
|
37
|
-
suffix:
|
|
37
|
+
suffix: "kr",
|
|
38
38
|
},
|
|
39
39
|
render({ suffix }) {
|
|
40
40
|
return (React.createElement(Slider, { label: "Price", min: "0", max: "250000", suffix: suffix, formatter: getNumberFormatter(locale) },
|
|
@@ -44,7 +44,7 @@ export const SuffixCurrency = {
|
|
|
44
44
|
};
|
|
45
45
|
export const SuffixKilometers = {
|
|
46
46
|
args: {
|
|
47
|
-
suffix:
|
|
47
|
+
suffix: "km",
|
|
48
48
|
},
|
|
49
49
|
render({ suffix }) {
|
|
50
50
|
return (React.createElement(Slider, { label: "Distance", min: "0", max: "250000", suffix: suffix, formatter: getNumberFormatter(locale) },
|
|
@@ -54,7 +54,7 @@ export const SuffixKilometers = {
|
|
|
54
54
|
};
|
|
55
55
|
export const Marks = {
|
|
56
56
|
args: {
|
|
57
|
-
suffix:
|
|
57
|
+
suffix: "km",
|
|
58
58
|
},
|
|
59
59
|
render({ suffix }) {
|
|
60
60
|
return (React.createElement(React.Fragment, null,
|
|
@@ -73,20 +73,20 @@ export const Step = {
|
|
|
73
73
|
};
|
|
74
74
|
export const OverUnder = {
|
|
75
75
|
render() {
|
|
76
|
-
const [overUnderFrom, setOverUnderFrom] = useState(
|
|
77
|
-
const [overUnderTo, setOverUnderTo] = useState(
|
|
76
|
+
const [overUnderFrom, setOverUnderFrom] = useState("");
|
|
77
|
+
const [overUnderTo, setOverUnderTo] = useState("");
|
|
78
78
|
return (React.createElement(React.Fragment, null,
|
|
79
79
|
React.createElement("form", { id: "overunder", style: { marginBottom: 16 }, lang: "nb", onInput: (val) => {
|
|
80
80
|
const formData = new FormData(val.currentTarget);
|
|
81
|
-
setOverUnderFrom(formData.get(
|
|
82
|
-
setOverUnderTo(formData.get(
|
|
81
|
+
setOverUnderFrom(formData.get("from"));
|
|
82
|
+
setOverUnderTo(formData.get("to"));
|
|
83
83
|
} },
|
|
84
84
|
React.createElement(Slider, { label: "Produksjons\u00E5r", min: "1950", max: "2025", "data-testid": "overunder", formatter: (value) => {
|
|
85
|
-
if (value ===
|
|
86
|
-
return
|
|
85
|
+
if (value === "1950") {
|
|
86
|
+
return "Før 1950";
|
|
87
87
|
}
|
|
88
|
-
if (value ===
|
|
89
|
-
return
|
|
88
|
+
if (value === "2025") {
|
|
89
|
+
return "Etter 2025";
|
|
90
90
|
}
|
|
91
91
|
return value;
|
|
92
92
|
} },
|
|
@@ -116,3 +116,25 @@ export const RangeError = {
|
|
|
116
116
|
React.createElement(SliderThumb, { slot: "to", name: "to" })));
|
|
117
117
|
},
|
|
118
118
|
};
|
|
119
|
+
export const TestCase = {
|
|
120
|
+
render() {
|
|
121
|
+
const [fromValue, setFromValue] = useState("0");
|
|
122
|
+
const [toValue, setToValue] = useState("150000");
|
|
123
|
+
return (React.createElement(React.Fragment, null,
|
|
124
|
+
React.createElement("form", { id: "overunder", style: { marginBottom: 16 }, lang: "nb", onInput: (val) => {
|
|
125
|
+
const formData = new FormData(val.currentTarget);
|
|
126
|
+
setFromValue(formData.get("from"));
|
|
127
|
+
setToValue(formData.get("to"));
|
|
128
|
+
} },
|
|
129
|
+
React.createElement(Slider, { label: "Pris", min: "0", max: "700000" },
|
|
130
|
+
React.createElement(SliderThumb, { slot: "from", "aria-label": "Fra pris", name: "from", value: fromValue }),
|
|
131
|
+
React.createElement(SliderThumb, { slot: "to", "aria-label": "Til pris", "aria-description": "700000 inkluderer prisen derfra og opp", name: "to", value: toValue }))),
|
|
132
|
+
React.createElement("p", null, "Drag the slider to show the value below. See the Code tab for how to format the labels."),
|
|
133
|
+
React.createElement("output", null,
|
|
134
|
+
React.createElement("dl", null,
|
|
135
|
+
React.createElement("dt", null, "From:"),
|
|
136
|
+
React.createElement("dd", null, fromValue),
|
|
137
|
+
React.createElement("dt", null, "To:"),
|
|
138
|
+
React.createElement("dd", null, toValue)))));
|
|
139
|
+
},
|
|
140
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/web-components-vite";
|
|
2
|
+
import "../affix/index.js";
|
|
3
|
+
import "../attention/index.js";
|
|
4
|
+
import "../textfield/index.js";
|
|
5
|
+
import "./index.js";
|
|
6
6
|
declare const meta: Meta;
|
|
7
7
|
export default meta;
|
|
8
8
|
type Story = StoryObj;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { getStorybookHelpers } from
|
|
2
|
-
import { html } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
const { events: sliderEvents, args: sliderArgs, argTypes: sliderArgTypes, } = getStorybookHelpers(
|
|
1
|
+
import { getStorybookHelpers } from "@wc-toolkit/storybook-helpers";
|
|
2
|
+
import { html } from "lit";
|
|
3
|
+
import "../affix/index.js";
|
|
4
|
+
import "../attention/index.js";
|
|
5
|
+
import "../textfield/index.js";
|
|
6
|
+
import "./index.js";
|
|
7
|
+
const { events: sliderEvents, args: sliderArgs, argTypes: sliderArgTypes, } = getStorybookHelpers("w-slider");
|
|
8
8
|
const meta = {
|
|
9
|
-
title:
|
|
9
|
+
title: "Forms/Slider and Range Slider",
|
|
10
10
|
args: sliderArgs,
|
|
11
11
|
argTypes: sliderArgTypes,
|
|
12
12
|
parameters: {
|
|
@@ -46,8 +46,8 @@ export const Range = {
|
|
|
46
46
|
// Take a suffix attribute on `<w-slider>` I think, have `<w-slider-thumb>` get from that.
|
|
47
47
|
export const SuffixSquareMeters = {
|
|
48
48
|
args: {
|
|
49
|
-
locale:
|
|
50
|
-
suffix:
|
|
49
|
+
locale: "nb",
|
|
50
|
+
suffix: "m²",
|
|
51
51
|
},
|
|
52
52
|
render({ locale, suffix }) {
|
|
53
53
|
return html `
|
|
@@ -78,8 +78,8 @@ export const SuffixSquareMeters = {
|
|
|
78
78
|
};
|
|
79
79
|
export const SuffixCurrency = {
|
|
80
80
|
args: {
|
|
81
|
-
locale:
|
|
82
|
-
suffix:
|
|
81
|
+
locale: "nb",
|
|
82
|
+
suffix: "kr",
|
|
83
83
|
},
|
|
84
84
|
render({ locale, suffix }) {
|
|
85
85
|
return html `
|
|
@@ -103,10 +103,10 @@ export const SuffixCurrency = {
|
|
|
103
103
|
</w-slider>
|
|
104
104
|
<script type="module">
|
|
105
105
|
const currencySlider = document.querySelector(
|
|
106
|
-
'w-slider[data-testid="currency"]'
|
|
106
|
+
'w-slider[data-testid="currency"]'
|
|
107
107
|
);
|
|
108
108
|
currencySlider.formatter = window.getNumberFormatter(
|
|
109
|
-
"${locale}"
|
|
109
|
+
"${locale}"
|
|
110
110
|
).format;
|
|
111
111
|
</script>
|
|
112
112
|
`;
|
|
@@ -114,8 +114,8 @@ export const SuffixCurrency = {
|
|
|
114
114
|
};
|
|
115
115
|
export const SuffixKilometers = {
|
|
116
116
|
args: {
|
|
117
|
-
locale:
|
|
118
|
-
suffix:
|
|
117
|
+
locale: "nb",
|
|
118
|
+
suffix: "km",
|
|
119
119
|
},
|
|
120
120
|
render({ locale, suffix }) {
|
|
121
121
|
return html `
|
|
@@ -146,9 +146,9 @@ export const SuffixKilometers = {
|
|
|
146
146
|
};
|
|
147
147
|
export const Marks = {
|
|
148
148
|
args: {
|
|
149
|
-
locale:
|
|
150
|
-
step:
|
|
151
|
-
markers:
|
|
149
|
+
locale: "nb",
|
|
150
|
+
step: "5",
|
|
151
|
+
markers: "5",
|
|
152
152
|
},
|
|
153
153
|
render({ markers, step }) {
|
|
154
154
|
return html `
|
|
@@ -217,7 +217,7 @@ export const OverUnder = {
|
|
|
217
217
|
<script>
|
|
218
218
|
/** Here is how you can show labels to indicate min and max values are "up to and including" and "this value and above". */
|
|
219
219
|
const overunderSlider = document.querySelector(
|
|
220
|
-
'w-slider[data-testid="overunder"]'
|
|
220
|
+
'w-slider[data-testid="overunder"]'
|
|
221
221
|
);
|
|
222
222
|
overunderSlider.formatter = function (value, type) {
|
|
223
223
|
if (value === "" && type === "from") {
|
|
@@ -243,7 +243,7 @@ export const OverUnder = {
|
|
|
243
243
|
};
|
|
244
244
|
export const SingleError = {
|
|
245
245
|
args: {
|
|
246
|
-
locale:
|
|
246
|
+
locale: "nb",
|
|
247
247
|
},
|
|
248
248
|
render() {
|
|
249
249
|
return html `
|
|
@@ -260,7 +260,9 @@ export const RangeError = {
|
|
|
260
260
|
return html `
|
|
261
261
|
<form id="rangeerror" style="margin-bottom: 16px">
|
|
262
262
|
<w-slider label="Production year" min="1950" max="2025" over under>
|
|
263
|
-
<p slot="description">
|
|
263
|
+
<p slot="description">
|
|
264
|
+
Try typing a from value higher than a to value
|
|
265
|
+
</p>
|
|
264
266
|
<w-slider-thumb slot="from" name="from"></w-slider-thumb>
|
|
265
267
|
<w-slider-thumb slot="to" name="to"></w-slider-thumb>
|
|
266
268
|
</w-slider>
|
|
@@ -297,24 +299,26 @@ export const TestCase = {
|
|
|
297
299
|
<form id="overunder" style="margin-bottom: 16px" lang="nb">
|
|
298
300
|
<w-slider
|
|
299
301
|
label="Pris"
|
|
300
|
-
|
|
302
|
+
suffix="kr"
|
|
301
303
|
min="0"
|
|
302
304
|
max="700000"
|
|
303
305
|
data-testid="overunder"
|
|
304
306
|
allow-values-outside-range="true"
|
|
305
|
-
|
|
307
|
+
step="10000"
|
|
306
308
|
>
|
|
307
309
|
<w-slider-thumb
|
|
308
310
|
slot="from"
|
|
309
311
|
aria-label="Fra år"
|
|
310
312
|
aria-description="1950 inkluderer kjøretøy produsert fram til 1950"
|
|
311
313
|
name="from"
|
|
314
|
+
value="0"
|
|
312
315
|
></w-slider-thumb>
|
|
313
316
|
<w-slider-thumb
|
|
314
317
|
slot="to"
|
|
315
318
|
aria-label="Til år"
|
|
316
319
|
aria-description="2025 inkluderer kjøretøy produsert etter 2025"
|
|
317
320
|
name="to"
|
|
321
|
+
value="150000"
|
|
318
322
|
></w-slider-thumb>
|
|
319
323
|
</w-slider>
|
|
320
324
|
</form>
|
|
@@ -333,7 +337,7 @@ export const TestCase = {
|
|
|
333
337
|
<script>
|
|
334
338
|
/** Here is how you can show labels to indicate min and max values are "up to and including" and "this value and above". */
|
|
335
339
|
const overunderSlider = document.querySelector(
|
|
336
|
-
'w-slider[data-testid="overunder"]'
|
|
340
|
+
'w-slider[data-testid="overunder"]'
|
|
337
341
|
);
|
|
338
342
|
overunderSlider.formatter = function (value, type) {
|
|
339
343
|
if (value === "" && type === "from") {
|
|
@@ -2489,7 +2489,7 @@ var K=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var l=(h,o,i,r
|
|
|
2489
2489
|
text-overflow: ellipsis;
|
|
2490
2490
|
z-index: 1;
|
|
2491
2491
|
}
|
|
2492
|
-
`;import{css as ee}from"lit";var D=ee`*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.focus\\:\\[--w-outline-offset\\:-2px\\]:focus{--w-outline-offset:-2px}.bg-transparent{background-color:#0000}.border-1{border-width:1px}.rounded-4{border-radius:4px}.caret-current{caret-color:currentColor}.block{display:block}.focusable:focus{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:focus-visible{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:not(:focus-visible){outline:none}.outline-\\[--w-s-color-border-negative\\]\\!{outline-color:var(--w-s-color-border-negative)!important}.relative{position:relative}.static{position:static}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-text{color:var(--w-s-color-text)}.s-text-disabled{color:var(--w-s-color-text-disabled)}.s-text-negative{color:var(--w-s-color-text-negative)}.s-text-subtle{color:var(--w-s-color-text-subtle)}.placeholder\\:s-text-placeholder::placeholder{color:var(--w-s-color-text-placeholder)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-negative{border-color:var(--w-s-color-border-negative)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.hover\\:s-border-negative-hover:hover{border-color:var(--w-s-color-border-negative-hover)}.hover\\:s-border-strong-hover:hover{border-color:var(--w-s-color-border-strong-hover)}.active\\:s-border-selected:active{border-color:var(--w-s-color-border-selected)}.w-full{width:100%}.min-h-\\[42\\]{min-height:4.2rem}.mb-0{margin-bottom:0}.mt-4{margin-top:.4rem}.px-8{padding-left:.8rem;padding-right:.8rem}.py-12{padding-top:1.2rem;padding-bottom:1.2rem}.pb-4{padding-bottom:.4rem}.pl-0{padding-left:0}.pl-8{padding-left:.8rem}.pr-40{padding-right:4rem}.pl-\\[var\\(--w-prefix-width\\,_40px\\)\\]{padding-left:var(--w-prefix-width,40px)}.cursor-pointer{cursor:pointer}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.font-bold{font-weight:700}.font-normal{font-weight:400}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-m{font-size:var(--w-font-size-m);line-height:var(--w-line-height-m)}.text-s{font-size:var(--w-font-size-s);line-height:var(--w-line-height-s)}.text-xs{font-size:var(--w-font-size-xs);line-height:var(--w-line-height-xs)}.leading-m{line-height:var(--w-line-height-m)}@media (min-width:480px){.sm\\:min-h-\\[45\\]{min-height:4.5rem}}`;var x={base:"block text-m leading-m mb-0 px-8 py-12 rounded-4 w-full focusable focus:[--w-outline-offset:-2px] caret-current",default:"border-1 s-text s-bg s-border-strong hover:s-border-strong-hover active:s-border-selected",disabled:"border-1 s-text-disabled s-bg-disabled-subtle s-border-disabled pointer-events-none",invalid:"border-1 s-text-negative s-bg s-border-negative hover:s-border-negative-hover outline-[--w-s-color-border-negative]!",readOnly:"pl-0 bg-transparent pointer-events-none",placeholder:"placeholder:s-text-placeholder",suffix:"pr-40",prefix:"pl-[var(--w-prefix-width,_40px)]",textArea:"min-h-[42] sm:min-h-[45]"},ae={base:"antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",optional:"pl-8 font-normal text-s s-text-subtle"},N={base:"text-xs mt-4 block",color:"s-text-subtle",colorInvalid:"s-text-negative"},s=class extends B(G){constructor(){super(...arguments);this.type="text";this._hasPrefix=!1;this._hasSuffix=!1}updated(i){i.has("value")&&this.setValue(this.value),this.formatter&&(this.mask.innerText=this.formatter(this.value))}get _inputstyles(){return Y([x.base,this._hasSuffix&&x.suffix,this._hasPrefix&&x.prefix,!this.invalid&&!this.disabled&&!(this.readonly||this.readOnly)&&x.default,this.invalid&&!this.disabled&&!(this.readonly||this.readOnly)&&x.invalid,!this.invalid&&this.disabled&&!(this.readonly||this.readOnly)&&x.disabled,!this.invalid&&!this.disabled&&(this.readonly||this.readOnly)&&x.readOnly])}get _helptextstyles(){return Y([N.base,this.invalid?N.colorInvalid:N.color])}get _label(){if(this.label)return j`<label for="${this._id}" class=${ae.base}>${this.label}</label>`}get _helpId(){if(this.helpText)return`${this._id}__hint`}get _id(){return"textfield"}get _error(){if(this.invalid&&this._helpId)return this._helpId}handler(i){let{name:r,value:n}=i.currentTarget;this.value=n;let g=new CustomEvent(i.type,{detail:{name:r,value:n,target:i.target}});this.dispatchEvent(g)}prefixSlotChange(){this.renderRoot.querySelector("slot[name=prefix]").assignedElements().length&&(this._hasPrefix=!0)}suffixSlotChange(){this.renderRoot.querySelector("slot[name=suffix]").assignedElements().length&&(this._hasSuffix=!0)}render(){return j`
|
|
2492
|
+
`;import{css as ee}from"lit";var D=ee`*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.focus\\:\\[--w-outline-offset\\:-2px\\]:focus{--w-outline-offset:-2px}.bg-transparent{background-color:#0000}.border-1{border-width:1px}.rounded-4{border-radius:4px}.caret-current{caret-color:currentColor}.block{display:block}.focusable:focus{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:focus-visible{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:not(:focus-visible){outline:none}.outline-\\[--w-s-color-border-negative\\]\\!{outline-color:var(--w-s-color-border-negative)!important}.relative{position:relative}.static{position:static}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-text{color:var(--w-s-color-text)}.s-text-disabled{color:var(--w-s-color-text-disabled)}.s-text-negative{color:var(--w-s-color-text-negative)}.s-text-subtle{color:var(--w-s-color-text-subtle)}.placeholder\\:s-text-placeholder::placeholder{color:var(--w-s-color-text-placeholder)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-negative{border-color:var(--w-s-color-border-negative)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.hover\\:s-border-negative-hover:hover{border-color:var(--w-s-color-border-negative-hover)}.hover\\:s-border-strong-hover:hover{border-color:var(--w-s-color-border-strong-hover)}.active\\:s-border-selected:active{border-color:var(--w-s-color-border-selected)}.w-full{width:100%}.min-h-\\[42\\]{min-height:4.2rem}.mb-0{margin-bottom:0}.mt-4{margin-top:.4rem}.px-8{padding-left:.8rem;padding-right:.8rem}.py-12{padding-top:1.2rem;padding-bottom:1.2rem}.pb-4{padding-bottom:.4rem}.pl-0{padding-left:0}.pl-8{padding-left:.8rem}.pr-40{padding-right:4rem}.pl-\\[var\\(--w-prefix-width\\,_40px\\)\\]{padding-left:var(--w-prefix-width,40px)}.cursor-pointer{cursor:pointer}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.font-bold{font-weight:700}.font-normal{font-weight:400}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-m{font-size:var(--w-font-size-m);line-height:var(--w-line-height-m)}.text-s{font-size:var(--w-font-size-s);line-height:var(--w-line-height-s)}.text-xs{font-size:var(--w-font-size-xs);line-height:var(--w-line-height-xs)}.leading-m{line-height:var(--w-line-height-m)}@media (min-width:480px){.sm\\:min-h-\\[45\\]{min-height:4.5rem}}`;var x={base:"block text-m leading-m mb-0 px-8 py-12 rounded-4 w-full focusable focus:[--w-outline-offset:-2px] caret-current",default:"border-1 s-text s-bg s-border-strong hover:s-border-strong-hover active:s-border-selected",disabled:"border-1 s-text-disabled s-bg-disabled-subtle s-border-disabled pointer-events-none",invalid:"border-1 s-text-negative s-bg s-border-negative hover:s-border-negative-hover outline-[--w-s-color-border-negative]!",readOnly:"pl-0 bg-transparent pointer-events-none",placeholder:"placeholder:s-text-placeholder",suffix:"pr-40",prefix:"pl-[var(--w-prefix-width,_40px)]",textArea:"min-h-[42] sm:min-h-[45]"},ae={base:"antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",optional:"pl-8 font-normal text-s s-text-subtle"},N={base:"text-xs mt-4 block",color:"s-text-subtle",colorInvalid:"s-text-negative"},s=class extends B(G){constructor(){super(...arguments);this.type="text";this._hasPrefix=!1;this._hasSuffix=!1}updated(i){i.has("value")&&(this.setValue(this.value),this.formatter&&(this.mask.innerText=this.formatter(this.value)))}get _inputstyles(){return Y([x.base,this._hasSuffix&&x.suffix,this._hasPrefix&&x.prefix,!this.invalid&&!this.disabled&&!(this.readonly||this.readOnly)&&x.default,this.invalid&&!this.disabled&&!(this.readonly||this.readOnly)&&x.invalid,!this.invalid&&this.disabled&&!(this.readonly||this.readOnly)&&x.disabled,!this.invalid&&!this.disabled&&(this.readonly||this.readOnly)&&x.readOnly])}get _helptextstyles(){return Y([N.base,this.invalid?N.colorInvalid:N.color])}get _label(){if(this.label)return j`<label for="${this._id}" class=${ae.base}>${this.label}</label>`}get _helpId(){if(this.helpText)return`${this._id}__hint`}get _id(){return"textfield"}get _error(){if(this.invalid&&this._helpId)return this._helpId}handler(i){let{name:r,value:n}=i.currentTarget;this.value=n;let g=new CustomEvent(i.type,{detail:{name:r,value:n,target:i.target}});this.dispatchEvent(g)}prefixSlotChange(){this.renderRoot.querySelector("slot[name=prefix]").assignedElements().length&&(this._hasPrefix=!0)}suffixSlotChange(){this.renderRoot.querySelector("slot[name=suffix]").assignedElements().length&&(this._hasSuffix=!0)}render(){return j`
|
|
2493
2493
|
${this._label}
|
|
2494
2494
|
<div
|
|
2495
2495
|
class="${te({"w-textfield":!0,"w-textfield--has-prefix":this._hasPrefix,"w-textfield--has-suffix":this._hasSuffix})}">
|