@warp-ds/elements 2.3.0-next.3 → 2.3.0-next.30
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 +1139 -144
- package/dist/index.d.ts +413 -34
- package/dist/packages/affix/index.js.map +2 -2
- package/dist/packages/affix/react.d.ts +1 -1
- package/dist/packages/alert/index.js.map +2 -2
- package/dist/packages/alert/react.d.ts +1 -1
- package/dist/packages/attention/attention.stories.js +4 -1
- package/dist/packages/attention/index.js +58 -22
- package/dist/packages/attention/index.js.map +3 -3
- package/dist/packages/attention/react.d.ts +1 -1
- package/dist/packages/attention/styles.js +1 -1
- package/dist/packages/badge/index.js.map +2 -2
- package/dist/packages/badge/react.d.ts +1 -1
- package/dist/packages/box/index.js.map +2 -2
- package/dist/packages/box/react.d.ts +1 -1
- package/dist/packages/breadcrumbs/index.js.map +2 -2
- package/dist/packages/breadcrumbs/react.d.ts +1 -1
- package/dist/packages/button/button.react.stories.d.ts +1 -1
- package/dist/packages/button/button.stories.d.ts +4 -4
- package/dist/packages/button/button.stories.js +4 -4
- package/dist/packages/button/button.test.js +30 -1
- package/dist/packages/button/index.d.ts +2 -0
- package/dist/packages/button/index.js +52 -16
- package/dist/packages/button/index.js.map +3 -3
- package/dist/packages/button/react.d.ts +1 -1
- package/dist/packages/card/index.js.map +2 -2
- package/dist/packages/card/react.d.ts +1 -1
- package/dist/packages/checkbox/checkbox-group.d.ts +10 -0
- package/dist/packages/checkbox/checkbox-group.js +7 -0
- package/dist/packages/checkbox/checkbox-group.js.map +7 -0
- package/dist/packages/{rip-and-tear-checkbox → checkbox}/checkbox.d.ts +2 -2
- package/dist/packages/{rip-and-tear-checkbox → checkbox}/checkbox.js +3 -4
- package/dist/packages/checkbox/checkbox.js.map +7 -0
- package/dist/packages/{rip-and-tear-checkbox → checkbox}/checkbox.stories.d.ts +3 -0
- package/dist/packages/checkbox/checkbox.stories.js +25 -0
- package/dist/packages/checkbox/index.d.ts +2 -0
- package/dist/packages/checkbox/index.js +2 -0
- package/dist/packages/checkbox/react.d.ts +7 -0
- package/dist/packages/{rip-and-tear-checkbox → checkbox}/react.js +5 -0
- package/dist/packages/combobox/combobox.react.stories.d.ts +1 -1
- package/dist/packages/combobox/combobox.stories.d.ts +1 -0
- package/dist/packages/combobox/combobox.stories.js +29 -3
- package/dist/packages/combobox/index.d.ts +7 -1
- package/dist/packages/combobox/index.js +20 -19
- package/dist/packages/combobox/index.js.map +4 -4
- package/dist/packages/combobox/react.d.ts +1 -1
- package/dist/packages/combobox/styles.js +2 -1
- package/dist/packages/datepicker/datepicker.d.ts +1 -0
- package/dist/packages/datepicker/datepicker.js +35 -35
- package/dist/packages/datepicker/datepicker.js.map +3 -3
- package/dist/packages/datepicker/datepicker.react.stories.d.ts +1 -1
- package/dist/packages/datepicker/datepicker.test.js +27 -0
- package/dist/packages/datepicker/react.d.ts +1 -1
- package/dist/packages/{dead-toggle → deadtoggle}/index.js +2 -3
- package/dist/packages/deadtoggle/index.js.map +7 -0
- package/dist/packages/{dead-toggle → deadtoggle}/react.d.ts +1 -1
- package/dist/packages/expandable/index.js.map +2 -2
- package/dist/packages/expandable/react.d.ts +1 -1
- package/dist/packages/link/index.d.ts +2 -8
- package/dist/packages/link/index.js +46 -10
- package/dist/packages/link/index.js.map +4 -4
- package/dist/packages/link/link.react.stories.d.ts +6 -3
- package/dist/packages/link/link.react.stories.js +27 -10
- package/dist/packages/link/link.stories.d.ts +5 -2
- package/dist/packages/link/link.stories.js +27 -10
- package/dist/packages/link/react.d.ts +1 -1
- package/dist/packages/link/styles.js +39 -3
- package/dist/packages/modal/index.js.map +2 -2
- package/dist/packages/modal/modal-header.js.map +2 -2
- package/dist/packages/modal/modal.stories.d.ts +3 -3
- package/dist/packages/modal/modal.stories.js +32 -32
- package/dist/packages/modal/react.d.ts +1 -1
- package/dist/packages/pageindicator/react.d.ts +1 -1
- package/dist/packages/pagination/index.js.map +2 -2
- package/dist/packages/pagination/react.d.ts +1 -1
- package/dist/packages/pill/index.js.map +2 -2
- package/dist/packages/pill/react.d.ts +1 -1
- package/dist/packages/radio/index.d.ts +2 -0
- package/dist/packages/radio/index.js +2 -0
- package/dist/packages/{rip-and-tear-radio → radio}/radio-group-styles.js.map +1 -1
- package/dist/packages/{rip-and-tear-radio → radio}/radio-group.js +7 -8
- package/dist/packages/radio/radio-group.js.map +7 -0
- package/dist/packages/{rip-and-tear-radio → radio}/radio.js +3 -4
- package/dist/packages/radio/radio.js.map +7 -0
- package/dist/packages/radio/radio.stories.d.ts +15 -0
- package/dist/packages/radio/radio.stories.js +3702 -0
- package/dist/packages/radio/radio.stories.js.map +7 -0
- package/dist/packages/{rip-and-tear-radio → radio}/react.d.ts +2 -2
- package/dist/packages/select/index.d.ts +26 -5
- package/dist/packages/select/index.js +17 -16
- package/dist/packages/select/index.js.map +3 -3
- package/dist/packages/select/react.d.ts +1 -1
- package/dist/packages/select/select.react.stories.d.ts +1 -1
- package/dist/packages/select/select.stories.d.ts +1 -1
- package/dist/packages/select/select.stories.js +3 -4
- package/dist/packages/select/select.test.js +30 -0
- package/dist/packages/slider/locales/da/messages.mjs +1 -0
- package/dist/packages/slider/locales/en/messages.mjs +1 -0
- package/dist/packages/slider/locales/fi/messages.mjs +1 -0
- package/dist/packages/slider/locales/nb/messages.mjs +1 -0
- package/dist/packages/slider/locales/sv/messages.mjs +1 -0
- package/dist/packages/slider/react.d.ts +2 -2
- package/dist/packages/slider/slider-thumb.d.ts +13 -7
- package/dist/packages/slider/slider-thumb.js +92 -49
- package/dist/packages/slider/slider-thumb.js.map +4 -4
- package/dist/packages/slider/slider.d.ts +12 -3
- package/dist/packages/slider/slider.js +109 -31
- package/dist/packages/slider/slider.js.map +4 -4
- package/dist/packages/slider/slider.react.stories.d.ts +1 -0
- package/dist/packages/slider/slider.react.stories.js +22 -0
- package/dist/packages/slider/slider.stories.d.ts +3 -0
- package/dist/packages/slider/slider.stories.js +240 -33
- package/dist/packages/slider/slider.test.js +28 -0
- package/dist/packages/slider/styles/w-slider-thumb.styles.js +24 -16
- package/dist/packages/slider/styles/w-slider.styles.js +65 -18
- package/dist/packages/{steps → stepindicator}/index.d.ts +3 -2
- package/dist/packages/{steps → stepindicator}/index.js +8 -8
- package/dist/packages/stepindicator/index.js.map +7 -0
- package/dist/packages/stepindicator/locales/da/messages.d.mts +1 -0
- package/dist/packages/stepindicator/locales/en/messages.d.mts +1 -0
- package/dist/packages/stepindicator/locales/fi/messages.d.mts +1 -0
- package/dist/packages/stepindicator/locales/nb/messages.d.mts +1 -0
- package/dist/packages/stepindicator/locales/sv/messages.d.mts +1 -0
- package/dist/packages/stepindicator/react.d.ts +3 -0
- package/dist/packages/{steps → stepindicator}/react.js +2 -2
- package/dist/packages/{steps/steps.react.stories.d.ts → stepindicator/stepindicator.react.stories.d.ts} +4 -4
- package/dist/packages/{steps/steps.react.stories.js → stepindicator/stepindicator.react.stories.js} +11 -11
- package/dist/packages/{steps/steps.stories.js → stepindicator/stepindicator.stories.js} +16 -16
- package/dist/packages/switch/index.d.ts +10 -2
- package/dist/packages/switch/index.js +7 -6
- package/dist/packages/switch/index.js.map +4 -4
- package/dist/packages/switch/react.d.ts +1 -1
- package/dist/packages/switch/styles.js +1 -1
- package/dist/packages/switch/switch.react.stories.js +4 -4
- package/dist/packages/switch/switch.stories.js +6 -5
- package/dist/packages/switch/switch.test.d.ts +1 -0
- package/dist/packages/switch/switch.test.js +40 -0
- package/dist/packages/tabs/tab.js +4 -3
- package/dist/packages/tabs/tab.js.map +2 -2
- package/dist/packages/tabs/tabs.js +5 -5
- package/dist/packages/tabs/tabs.js.map +3 -3
- package/dist/packages/tabs/tabs.stories.d.ts +3 -0
- package/dist/packages/tabs/tabs.stories.js +16 -7
- package/dist/packages/textarea/index.d.ts +1 -0
- package/dist/packages/textarea/index.js +1 -0
- package/dist/packages/textarea/locales/da/messages.d.mts +1 -0
- package/dist/packages/textarea/locales/da/messages.mjs +1 -0
- package/dist/packages/textarea/locales/en/messages.d.mts +1 -0
- package/dist/packages/textarea/locales/en/messages.mjs +1 -0
- package/dist/packages/textarea/locales/fi/messages.d.mts +1 -0
- package/dist/packages/textarea/locales/fi/messages.mjs +1 -0
- package/dist/packages/textarea/locales/nb/messages.d.mts +1 -0
- package/dist/packages/textarea/locales/nb/messages.mjs +1 -0
- package/dist/packages/textarea/locales/sv/messages.d.mts +1 -0
- package/dist/packages/textarea/locales/sv/messages.mjs +1 -0
- package/dist/packages/textarea/react.d.ts +11 -0
- package/dist/packages/textarea/react.js +21 -0
- package/dist/packages/textarea/styles.d.ts +1 -0
- package/dist/packages/textarea/styles.js +2 -0
- package/dist/packages/textarea/textarea.d.ts +49 -0
- package/dist/packages/{rip-and-tear-radio/radio.stories.js → textarea/textarea.js} +35 -214
- package/dist/packages/textarea/textarea.js.map +7 -0
- package/dist/packages/textarea/textarea.react.stories.d.ts +33 -0
- package/dist/packages/textarea/textarea.react.stories.js +41 -0
- package/dist/packages/textarea/textarea.stories.d.ts +19 -0
- package/dist/packages/textarea/textarea.stories.js +85 -0
- package/dist/packages/textarea/textarea.test.d.ts +1 -0
- package/dist/packages/textarea/textarea.test.js +68 -0
- package/dist/packages/textfield/index.d.ts +6 -0
- package/dist/packages/textfield/index.js +21 -20
- package/dist/packages/textfield/index.js.map +3 -3
- package/dist/packages/textfield/react.d.ts +1 -1
- package/dist/packages/textfield/textfield.react.stories.d.ts +1 -1
- package/dist/packages/textfield/textfield.stories.d.ts +1 -0
- package/dist/packages/textfield/textfield.stories.js +17 -0
- package/dist/packages/toggle-styles.js +2 -3
- package/dist/web-types.json +473 -30
- package/package.json +37 -31
- package/dist/packages/dead-toggle/index.js.map +0 -7
- package/dist/packages/rip-and-tear-checkbox/checkbox.js.map +0 -7
- package/dist/packages/rip-and-tear-checkbox/checkbox.stories.js +0 -11
- package/dist/packages/rip-and-tear-checkbox/index.d.ts +0 -1
- package/dist/packages/rip-and-tear-checkbox/index.js +0 -4
- package/dist/packages/rip-and-tear-checkbox/react.d.ts +0 -5
- package/dist/packages/rip-and-tear-radio/index.d.ts +0 -1
- package/dist/packages/rip-and-tear-radio/index.js +0 -6
- package/dist/packages/rip-and-tear-radio/radio-group.js.map +0 -7
- package/dist/packages/rip-and-tear-radio/radio.js.map +0 -7
- package/dist/packages/rip-and-tear-radio/radio.stories.d.ts +0 -8
- package/dist/packages/rip-and-tear-radio/radio.stories.js.map +0 -7
- package/dist/packages/steps/index.js.map +0 -7
- package/dist/packages/steps/react.d.ts +0 -3
- /package/dist/packages/{rip-and-tear-checkbox/rip-and-tear-checkbox.react.stories.d.ts → checkbox/checkbox.react.stories.d.ts} +0 -0
- /package/dist/packages/{rip-and-tear-checkbox/rip-and-tear-checkbox.react.stories.js → checkbox/checkbox.react.stories.js} +0 -0
- /package/dist/packages/{rip-and-tear-checkbox → checkbox}/styles.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-checkbox → checkbox}/styles.js +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/dead-toggle.react.stories.d.ts +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/dead-toggle.react.stories.js +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/dead-toggle.stories.d.ts +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/dead-toggle.stories.js +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/dead-toggle.test.d.ts +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/dead-toggle.test.js +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/index.d.ts +0 -0
- /package/dist/packages/{dead-toggle → deadtoggle}/react.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/base-element.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/base-element.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/custom-error-validator.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/custom-error-validator.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/form-associated-element.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/form-associated-element.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/host-styles.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/host-styles.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/invalid.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/invalid.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/math.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/math.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio-group-styles.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio-group-styles.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio-group.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio-styles.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio-styles.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio-styles.js.map +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/radio.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio/rip-and-tear-radio.react.stories.d.ts → radio/radio.react.stories.d.ts} +0 -0
- /package/dist/packages/{rip-and-tear-radio/rip-and-tear-radio.react.stories.js → radio/radio.react.stories.js} +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/react.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/required-validator.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/required-validator.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/slot.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/slot.js +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/watch.d.ts +0 -0
- /package/dist/packages/{rip-and-tear-radio → radio}/watch.js +0 -0
- /package/dist/packages/{steps → slider}/locales/da/messages.d.mts +0 -0
- /package/dist/packages/{steps → slider}/locales/en/messages.d.mts +0 -0
- /package/dist/packages/{steps → slider}/locales/fi/messages.d.mts +0 -0
- /package/dist/packages/{steps → slider}/locales/nb/messages.d.mts +0 -0
- /package/dist/packages/{steps → slider}/locales/sv/messages.d.mts +0 -0
- /package/dist/packages/{steps → stepindicator}/locales/da/messages.mjs +0 -0
- /package/dist/packages/{steps → stepindicator}/locales/en/messages.mjs +0 -0
- /package/dist/packages/{steps → stepindicator}/locales/fi/messages.mjs +0 -0
- /package/dist/packages/{steps → stepindicator}/locales/nb/messages.mjs +0 -0
- /package/dist/packages/{steps → stepindicator}/locales/sv/messages.mjs +0 -0
- /package/dist/packages/{steps/steps.stories.d.ts → stepindicator/stepindicator.stories.d.ts} +0 -0
- /package/dist/packages/{steps → stepindicator}/styles.d.ts +0 -0
- /package/dist/packages/{steps → stepindicator}/styles.js +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { userEvent } from '@vitest/browser/context';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import { expect, test, vi } from 'vitest';
|
|
4
|
+
import { render } from 'vitest-browser-lit';
|
|
5
|
+
import './index.js';
|
|
6
|
+
test('renders the textarea', async () => {
|
|
7
|
+
const component = html `<w-textarea label="Test label"></w-textarea>`;
|
|
8
|
+
const page = render(component);
|
|
9
|
+
await expect.element(page.getByText('Test label')).toBeVisible();
|
|
10
|
+
});
|
|
11
|
+
test('works as expected in forms', async () => {
|
|
12
|
+
const label = 'Test label';
|
|
13
|
+
const component = html `
|
|
14
|
+
<form data-testid="form">
|
|
15
|
+
<w-textarea label="${label}" name="message" value="Hola el Mundo"></w-textarea>
|
|
16
|
+
</form>
|
|
17
|
+
`;
|
|
18
|
+
const page = render(component);
|
|
19
|
+
await expect.element(page.getByLabelText(label)).toHaveValue('Hola el Mundo');
|
|
20
|
+
let formData = new FormData(page.getByTestId('form').element());
|
|
21
|
+
expect(formData.get('message')).toBe('Hola el Mundo');
|
|
22
|
+
const inputHandler = vi.fn();
|
|
23
|
+
const changeHandler = vi.fn();
|
|
24
|
+
page.getByLabelText(label).element().addEventListener('input', inputHandler);
|
|
25
|
+
page.getByLabelText(label).element().addEventListener('change', changeHandler);
|
|
26
|
+
await page.getByLabelText(label).fill('Hello, World');
|
|
27
|
+
expect(inputHandler).toHaveBeenCalled();
|
|
28
|
+
expect(changeHandler).not.toHaveBeenCalled();
|
|
29
|
+
await userEvent.tab(); // trigger a blur to fire the change event
|
|
30
|
+
expect(changeHandler).toHaveBeenCalled();
|
|
31
|
+
await expect.element(page.getByLabelText(label)).toHaveValue('Hello, World');
|
|
32
|
+
formData = new FormData(page.getByTestId('form').element());
|
|
33
|
+
expect(formData.get('message')).toBe('Hello, World');
|
|
34
|
+
});
|
|
35
|
+
test('renders help text if provided', async () => {
|
|
36
|
+
const component = html `<w-textarea label="Test label" help-text="Helpful help text"></w-textarea>`;
|
|
37
|
+
const page = render(component);
|
|
38
|
+
await expect.element(page.getByText('Helpful help text')).toBeVisible();
|
|
39
|
+
});
|
|
40
|
+
test('marks input field as aria-invalid if the invalid prop is true', async () => {
|
|
41
|
+
const component = html `<w-textarea label="Test label" invalid help-text="No, bad input!"></w-textarea>`;
|
|
42
|
+
const page = render(component);
|
|
43
|
+
await expect.element(page.getByLabelText('Test label')).toHaveAccessibleErrorMessage('No, bad input!');
|
|
44
|
+
});
|
|
45
|
+
test('marks input field as readonly if the readonly prop is true', async () => {
|
|
46
|
+
const component = html `<w-textarea label="Test label" readonly></w-textarea>`;
|
|
47
|
+
const page = render(component);
|
|
48
|
+
await expect.element(page.getByLabelText('Test label')).toHaveAttribute('readonly', '');
|
|
49
|
+
});
|
|
50
|
+
test('can reset textarea by resetting surrounding form', async () => {
|
|
51
|
+
render(html `
|
|
52
|
+
<form>
|
|
53
|
+
<w-textarea name="message" value="Hola el Mundo"></w-textarea>
|
|
54
|
+
</form>
|
|
55
|
+
`);
|
|
56
|
+
const form = document.querySelector('form');
|
|
57
|
+
const wTextArea = document.querySelector('w-textarea');
|
|
58
|
+
// sanity
|
|
59
|
+
expect(form).not.toBeNull();
|
|
60
|
+
expect(wTextArea).not.toBeNull();
|
|
61
|
+
expect(wTextArea.value).toBe('Hola el Mundo');
|
|
62
|
+
wTextArea.value = 'Definitely not Hola el Mundo';
|
|
63
|
+
await wTextArea.updateComplete;
|
|
64
|
+
// Reset the form
|
|
65
|
+
form.reset();
|
|
66
|
+
await wTextArea.updateComplete;
|
|
67
|
+
expect(wTextArea.value).toBe('Hola el Mundo');
|
|
68
|
+
});
|
|
@@ -6,6 +6,7 @@ declare const WarpTextField_base: import("@open-wc/form-control").Constructor<im
|
|
|
6
6
|
* [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/forms-textfield--docs)
|
|
7
7
|
*/
|
|
8
8
|
declare class WarpTextField extends WarpTextField_base {
|
|
9
|
+
#private;
|
|
9
10
|
static shadowRootOptions: {
|
|
10
11
|
delegatesFocus: boolean;
|
|
11
12
|
mode: ShadowRootMode;
|
|
@@ -24,11 +25,14 @@ declare class WarpTextField extends WarpTextField_base {
|
|
|
24
25
|
maxLength: number;
|
|
25
26
|
pattern: string;
|
|
26
27
|
placeholder: string;
|
|
28
|
+
/** @deprecated Use the native readonly attribute instead. */
|
|
27
29
|
readOnly: boolean;
|
|
30
|
+
readonly: boolean;
|
|
28
31
|
required: boolean;
|
|
29
32
|
type: string;
|
|
30
33
|
value: string;
|
|
31
34
|
name: string;
|
|
35
|
+
step: number;
|
|
32
36
|
/**
|
|
33
37
|
* Function to format value when the input field.
|
|
34
38
|
*
|
|
@@ -46,6 +50,8 @@ declare class WarpTextField extends WarpTextField_base {
|
|
|
46
50
|
/** @internal */
|
|
47
51
|
_hasSuffix: boolean;
|
|
48
52
|
updated(changedProperties: PropertyValues<this>): void;
|
|
53
|
+
firstUpdated(changedProps: Map<string, unknown>): void;
|
|
54
|
+
resetFormControl(): void;
|
|
49
55
|
static styles: import("lit").CSSResult[];
|
|
50
56
|
/** @internal */
|
|
51
57
|
get _inputstyles(): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var te=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var R=a=>{throw TypeError(a)};var d=(a,e,r,o)=>{for(var l=o>1?void 0:o?ae(e,r):e,g=a.length-1,w;g>=0;g--)(w=a[g])&&(l=(o?w(e,r,l):w(l))||l);return o&&l&&te(e,r,l),l};var U=(a,e,r)=>e.has(a)||R("Cannot "+r);var H=(a,e,r)=>(U(a,e,"read from private field"),r?r.call(a):e.get(a)),D=(a,e,r)=>e.has(a)?R("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,r),G=(a,e,r,o)=>(U(a,e,"write to private field"),o?o.call(a,r):e.set(a,r),r);var j=function(){for(var a=[],e=arguments.length;e--;)a[e]=arguments[e];return a.reduce(function(r,o){return r.concat(typeof o=="string"?o:Array.isArray(o)?j.apply(void 0,o):typeof o=="object"&&o?Object.keys(o).map(function(l){return o[l]?l:""}):"")},[]).join(" ")};var n=function(a,e,r,o){if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?a!==e||!o:!e.has(a))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?o:r==="a"?o.call(a):o?o.value:e.get(a)},h=function(a,e,r,o,l){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!l)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?a!==e||!l:!e.has(a))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?l.call(a,r):l?l.value=r:e.set(a,r),r};function T(a){var e,r,o,l,g,w,k,re,_,F,A,L,E,z,Y,f,X,O,Z;class oe extends a{constructor(...t){var i,b,p;super(...t),e.add(this),this.internals=this.attachInternals(),r.set(this,!1),o.set(this,!1),l.set(this,!1),g.set(this,void 0),w.set(this,void 0),k.set(this,!0),_.set(this,""),F.set(this,()=>{h(this,l,!0,"f"),h(this,r,!0,"f"),n(this,e,"m",f).call(this)}),A.set(this,()=>{h(this,r,!1,"f"),n(this,e,"m",X).call(this,this.shouldFormValueUpdate()?n(this,_,"f"):""),!this.validity.valid&&n(this,l,"f")&&h(this,o,!0,"f");let m=n(this,e,"m",f).call(this);this.validationMessageCallback&&this.validationMessageCallback(m?this.internals.validationMessage:"")}),L.set(this,()=>{var m;n(this,k,"f")&&this.validationTarget&&(this.internals.setValidity(this.validity,this.validationMessage,this.validationTarget),h(this,k,!1,"f")),h(this,l,!0,"f"),h(this,o,!0,"f"),n(this,e,"m",f).call(this),(m=this===null||this===void 0?void 0:this.validationMessageCallback)===null||m===void 0||m.call(this,this.showError?this.internals.validationMessage:"")}),E.set(this,void 0),z.set(this,!1),Y.set(this,Promise.resolve()),(i=this.addEventListener)===null||i===void 0||i.call(this,"focus",n(this,F,"f")),(b=this.addEventListener)===null||b===void 0||b.call(this,"blur",n(this,A,"f")),(p=this.addEventListener)===null||p===void 0||p.call(this,"invalid",n(this,L,"f")),this.setValue(null)}static get formAssociated(){return!0}static get validators(){return this.formControlValidators||[]}static get observedAttributes(){let t=this.validators.map(p=>p.attribute).flat(),i=super.observedAttributes||[];return[...new Set([...i,...t])]}static getValidator(t){return this.validators.find(i=>i.attribute===t)||null}static getValidators(t){return this.validators.filter(i=>{var b;if(i.attribute===t||!((b=i.attribute)===null||b===void 0)&&b.includes(t))return!0})}get form(){return this.internals.form}get showError(){return n(this,e,"m",f).call(this)}checkValidity(){return this.internals.checkValidity()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}attributeChangedCallback(t,i,b){var p;(p=super.attributeChangedCallback)===null||p===void 0||p.call(this,t,i,b);let $=this.constructor.getValidators(t);$!=null&&$.length&&this.validationTarget&&this.setValue(n(this,_,"f"))}setValue(t){var i;h(this,o,!1,"f"),(i=this.validationMessageCallback)===null||i===void 0||i.call(this,""),h(this,_,t,"f");let p=this.shouldFormValueUpdate()?t:null;this.internals.setFormValue(p),n(this,e,"m",X).call(this,p),this.valueChangedCallback&&this.valueChangedCallback(p),n(this,e,"m",f).call(this)}shouldFormValueUpdate(){return!0}get validationComplete(){return new Promise(t=>t(n(this,Y,"f")))}formResetCallback(){var t,i;h(this,l,!1,"f"),h(this,o,!1,"f"),n(this,e,"m",f).call(this),(t=this.resetFormControl)===null||t===void 0||t.call(this),(i=this.validationMessageCallback)===null||i===void 0||i.call(this,n(this,e,"m",f).call(this)?this.validationMessage:"")}}return r=new WeakMap,o=new WeakMap,l=new WeakMap,g=new WeakMap,w=new WeakMap,k=new WeakMap,_=new WeakMap,F=new WeakMap,A=new WeakMap,L=new WeakMap,E=new WeakMap,z=new WeakMap,Y=new WeakMap,e=new WeakSet,re=function(){let t=this.getRootNode(),i=`${this.localName}[name="${this.getAttribute("name")}"]`;return t.querySelectorAll(i)},f=function(){if(this.hasAttribute("disabled"))return!1;let t=n(this,o,"f")||n(this,l,"f")&&!this.validity.valid&&!n(this,r,"f");return t&&this.internals.states?this.internals.states.add("--show-error"):this.internals.states&&this.internals.states.delete("--show-error"),t},X=function(t){let i=this.constructor,b={},p=i.validators,m=[],$=p.some(u=>u.isValid instanceof Promise);n(this,z,"f")||(h(this,Y,new Promise(u=>{h(this,E,u,"f")}),"f"),h(this,z,!0,"f")),n(this,g,"f")&&(n(this,g,"f").abort(),h(this,w,n(this,g,"f"),"f"));let M=new AbortController;h(this,g,M,"f");let S,B=!1;p.length&&(p.forEach(u=>{let N=u.key||"customError",y=u.isValid(this,t,M.signal);y instanceof Promise?(m.push(y),y.then(I=>{I!=null&&(b[N]=!I,S=n(this,e,"m",Z).call(this,u,t),n(this,e,"m",O).call(this,b,S))})):(b[N]=!y,this.validity[N]!==!y&&(B=!0),!y&&!S&&(S=n(this,e,"m",Z).call(this,u,t)))}),Promise.allSettled(m).then(()=>{var u;M!=null&&M.signal.aborted||(h(this,z,!1,"f"),(u=n(this,E,"f"))===null||u===void 0||u.call(this))}),(B||!$)&&n(this,e,"m",O).call(this,b,S))},O=function(t,i){if(this.validationTarget)this.internals.setValidity(t,i,this.validationTarget),h(this,k,!1,"f");else{if(this.internals.setValidity(t,i),this.internals.validity.valid)return;h(this,k,!0,"f")}},Z=function(t,i){if(this.validityCallback){let b=this.validityCallback(t.key||"customError");if(b)return b}return t.message instanceof Function?t.message(this,i):t.message},oe}import{html as P,LitElement as ee,nothing as se}from"lit";import{property as c,query as le}from"lit/decorators.js";import{classMap as de}from"lit/directives/class-map.js";import{ifDefined as v}from"lit/directives/if-defined.js";import{css as J}from"lit";var K=J`
|
|
2
2
|
*,
|
|
3
3
|
:before,
|
|
4
4
|
:after {
|
|
@@ -271,7 +271,7 @@ var K=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var l=(h,o,i,r
|
|
|
271
271
|
svg {
|
|
272
272
|
pointer-events: none;
|
|
273
273
|
}
|
|
274
|
-
`,
|
|
274
|
+
`,ve=J`*, :before, :after {
|
|
275
275
|
--w-rotate: 0;
|
|
276
276
|
--w-rotate-x: 0;
|
|
277
277
|
--w-rotate-y: 0;
|
|
@@ -2437,7 +2437,7 @@ var K=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var l=(h,o,i,r
|
|
|
2437
2437
|
display: none
|
|
2438
2438
|
}
|
|
2439
2439
|
}
|
|
2440
|
-
`;import{css as
|
|
2440
|
+
`;import{css as ie}from"lit";var Q=ie`
|
|
2441
2441
|
.w-textfield {
|
|
2442
2442
|
--_input-padding-top: 12px;
|
|
2443
2443
|
--_input-padding-left: 8px;
|
|
@@ -2489,32 +2489,33 @@ 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
|
|
2492
|
+
`;import{css as ne}from"lit";var W=ne`*,: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]"},ce={base:"antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",optional:"pl-8 font-normal text-s s-text-subtle"},q={base:"text-xs mt-4 block",color:"s-text-subtle",colorInvalid:"s-text-negative"},V,s=class extends T(ee){constructor(){super(...arguments);this.type="text";this._hasPrefix=!1;this._hasSuffix=!1;D(this,V,null)}updated(r){r.has("value")&&(this.setValue(this.value),this.formatter&&(this.mask.innerText=this.formatter(this.value)))}firstUpdated(r){G(this,V,this.value)}resetFormControl(){this.value=H(this,V)}get _inputstyles(){return j([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 j([q.base,this.invalid?q.colorInvalid:q.color])}get _label(){if(this.label)return P`<label for="${this._id}" class=${ce.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(r){let{name:o,value:l}=r.currentTarget;this.value=l;let g=new CustomEvent(r.type,{detail:{name:o,value:l,target:r.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 P`
|
|
2493
2493
|
${this._label}
|
|
2494
2494
|
<div
|
|
2495
|
-
class="${
|
|
2495
|
+
class="${de({"w-textfield":!0,"w-textfield--has-prefix":this._hasPrefix,"w-textfield--has-suffix":this._hasSuffix})}">
|
|
2496
2496
|
<slot @slotchange="${this.prefixSlotChange}" name="prefix"></slot>
|
|
2497
2497
|
<div class="w-textfield__input-wrapper">
|
|
2498
|
-
${this.formatter?
|
|
2498
|
+
${this.formatter?P`<div class="w-textfield__mask"></div>`:se}
|
|
2499
2499
|
<input
|
|
2500
2500
|
class="${this._inputstyles}"
|
|
2501
2501
|
type="${this.type}"
|
|
2502
|
-
min="${
|
|
2503
|
-
max="${
|
|
2504
|
-
size="${
|
|
2505
|
-
minlength="${
|
|
2506
|
-
maxlength="${
|
|
2507
|
-
name="${
|
|
2508
|
-
pattern="${
|
|
2509
|
-
placeholder="${
|
|
2502
|
+
min="${v(this.min)}"
|
|
2503
|
+
max="${v(this.max)}"
|
|
2504
|
+
size="${v(this.size)}"
|
|
2505
|
+
minlength="${v(this.minLength)}"
|
|
2506
|
+
maxlength="${v(this.maxLength)}"
|
|
2507
|
+
name="${v(this.name)}"
|
|
2508
|
+
pattern="${v(this.pattern)}"
|
|
2509
|
+
placeholder="${v(this.placeholder)}"
|
|
2510
2510
|
.value="${this.value||""}"
|
|
2511
|
-
aria-describedby="${
|
|
2512
|
-
aria-errormessage="${
|
|
2513
|
-
aria-invalid="${
|
|
2511
|
+
aria-describedby="${v(this._helpId||(this.ariaDescription?"aria-description":void 0))}"
|
|
2512
|
+
aria-errormessage="${v(this._error)}"
|
|
2513
|
+
aria-invalid="${v(this.invalid)}"
|
|
2514
2514
|
id="${this._id}"
|
|
2515
2515
|
?disabled="${this.disabled}"
|
|
2516
|
-
?readonly="${this.readOnly}"
|
|
2516
|
+
?readonly="${this.readonly||this.readOnly}"
|
|
2517
2517
|
?required="${this.required}"
|
|
2518
|
+
step="${v(this.step)}"
|
|
2518
2519
|
@blur="${this.handler}"
|
|
2519
2520
|
@change="${this.handler}"
|
|
2520
2521
|
@input="${this.handler}"
|
|
@@ -2523,6 +2524,6 @@ var K=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var l=(h,o,i,r
|
|
|
2523
2524
|
<slot @slotchange="${this.suffixSlotChange}" name="suffix"></slot>
|
|
2524
2525
|
</div>
|
|
2525
2526
|
<span class="sr-only" id="aria-description">${this.ariaDescription}</span>
|
|
2526
|
-
${this.helpText&&
|
|
2527
|
-
`}};s.shadowRootOptions={...
|
|
2527
|
+
${this.helpText&&P`<div class="${this._helptextstyles}" id="${this._helpId}">${this.helpText}</div>`}
|
|
2528
|
+
`}};V=new WeakMap,s.shadowRootOptions={...ee.shadowRootOptions,delegatesFocus:!0},s.styles=[K,W,Q],d([c({type:Boolean,reflect:!0})],s.prototype,"disabled",2),d([c({type:Boolean,reflect:!0})],s.prototype,"invalid",2),d([c({type:String,reflect:!0})],s.prototype,"id",2),d([c({type:String,reflect:!0})],s.prototype,"label",2),d([c({type:String,reflect:!0,attribute:"help-text"})],s.prototype,"helpText",2),d([c({type:String,reflect:!0})],s.prototype,"size",2),d([c({type:Number,reflect:!0})],s.prototype,"max",2),d([c({type:Number,reflect:!0})],s.prototype,"min",2),d([c({type:Number,reflect:!0,attribute:"min-length"})],s.prototype,"minLength",2),d([c({type:Number,reflect:!0,attribute:"max-length"})],s.prototype,"maxLength",2),d([c({type:String,reflect:!0})],s.prototype,"pattern",2),d([c({type:String,reflect:!0})],s.prototype,"placeholder",2),d([c({type:Boolean,reflect:!0,attribute:"read-only"})],s.prototype,"readOnly",2),d([c({type:Boolean,reflect:!0})],s.prototype,"readonly",2),d([c({type:Boolean,reflect:!0})],s.prototype,"required",2),d([c({type:String,reflect:!0})],s.prototype,"type",2),d([c({type:String,reflect:!0})],s.prototype,"value",2),d([c({type:String,reflect:!0})],s.prototype,"name",2),d([c({type:Number,reflect:!0})],s.prototype,"step",2),d([c({attribute:!1})],s.prototype,"formatter",2),d([le(".w-textfield__mask")],s.prototype,"mask",2),d([c({type:Boolean})],s.prototype,"_hasPrefix",2),d([c({type:Boolean})],s.prototype,"_hasSuffix",2);customElements.get("w-textfield")||customElements.define("w-textfield",s);export{s as WarpTextField};
|
|
2528
2529
|
//# sourceMappingURL=index.js.map
|