@mozaic-ds/web-components 1.0.0-alpha.5 → 1.0.0-alpha.6
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/{badge → components/badge}/Badge.js +1 -1
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/components/badge/Badge.svelte.d.ts.map +1 -0
- package/dist/components/badge/badge.types.d.ts.map +1 -0
- package/dist/{button → components/button}/Button.js +1 -1
- package/dist/components/button/Button.js.map +1 -0
- package/dist/components/button/Button.svelte.d.ts.map +1 -0
- package/dist/{button → components/button}/IconButton.js +1 -1
- package/dist/components/button/IconButton.js.map +1 -0
- package/dist/components/button/IconButton.svelte.d.ts.map +1 -0
- package/dist/components/button/button.types.d.ts.map +1 -0
- package/dist/{checkbox → components/checkbox}/Checkbox.js +1 -1
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -0
- package/dist/{checkboxgroup → components/checkboxgroup}/checkboxGroup.js +1 -1
- package/dist/components/checkboxgroup/checkboxGroup.js.map +1 -0
- package/dist/components/checkboxgroup/checkboxGroup.svelte.d.ts.map +1 -0
- package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +1 -0
- package/dist/{field → components/field}/Field.js +1 -1
- package/dist/components/field/Field.js.map +1 -0
- package/dist/components/field/Field.svelte.d.ts.map +1 -0
- package/dist/{link → components/link}/Link.js +1 -1
- package/dist/components/link/Link.js.map +1 -0
- package/dist/components/link/Link.svelte.d.ts.map +1 -0
- package/dist/components/link/link.types.d.ts.map +1 -0
- package/dist/{loader → components/loader}/Loader.js +1 -1
- package/dist/components/loader/Loader.js.map +1 -0
- package/dist/components/loader/Loader.svelte.d.ts.map +1 -0
- package/dist/components/loader/loader.types.d.ts.map +1 -0
- package/dist/{overlay → components/overlay}/Overlay.js +1 -1
- package/dist/components/overlay/Overlay.js.map +1 -0
- package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -0
- package/dist/{overlay → components/overlay}/OverlayLoader.js +1 -1
- package/dist/components/overlay/OverlayLoader.js.map +1 -0
- package/dist/components/overlay/OverlayLoader.svelte.d.ts.map +1 -0
- package/dist/{quantityselector → components/quantityselector}/QuantitySelector.js +1 -1
- package/dist/components/quantityselector/QuantitySelector.js.map +1 -0
- package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -0
- package/dist/{radio → components/radio}/Radio.js +1 -1
- package/dist/components/radio/Radio.js.map +1 -0
- package/dist/components/radio/Radio.svelte.d.ts.map +1 -0
- package/dist/{radiogroup → components/radiogroup}/RadioGroup.js +1 -1
- package/dist/components/radiogroup/RadioGroup.js.map +1 -0
- package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -0
- package/dist/components/radiogroup/radioGroup.types.d.ts.map +1 -0
- package/dist/{select → components/select}/Select.js +1 -1
- package/dist/components/select/Select.js.map +1 -0
- package/dist/components/select/Select.svelte.d.ts.map +1 -0
- package/dist/components/select/select.types.d.ts.map +1 -0
- package/dist/{statusbadge → components/statusbadge}/StatusBadge.js +1 -1
- package/dist/components/statusbadge/StatusBadge.js.map +1 -0
- package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -0
- package/dist/{statusbadge → components/statusbadge}/StatusDot.js +1 -1
- package/dist/components/statusbadge/StatusDot.js.map +1 -0
- package/dist/components/statusbadge/StatusDot.svelte.d.ts.map +1 -0
- package/dist/components/statusbadge/badge.types.d.ts.map +1 -0
- package/dist/{textarea → components/textarea}/Textarea.js +1 -1
- package/dist/components/textarea/Textarea.js.map +1 -0
- package/dist/{toggle/Toggle.svelte.d.ts.map → components/textarea/Textarea.svelte.d.ts.map} +1 -1
- package/dist/{textinput → components/textinput}/Textinput.js +1 -1
- package/dist/components/textinput/Textinput.js.map +1 -0
- package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -0
- package/dist/components/textinput/textinput.types.d.ts.map +1 -0
- package/dist/{toggle → components/toggle}/Toggle.js +1 -1
- package/dist/components/toggle/Toggle.js.map +1 -0
- package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -0
- package/dist/components/toggle/toggle.types.d.ts.map +1 -0
- package/dist/main.js +35 -0
- package/dist/stories/Contributing.stories.mdx +1 -0
- package/dist/stories/HowToWrite.stories.mdx +86 -0
- package/dist/stories/Introduction.stories.mdx +131 -0
- package/dist/stories/Status.stories.mdx +56 -0
- package/dist/stories/SupportAndOnboarding.stories.mdx +62 -0
- package/dist/stories/badge/Badge.stories.d.ts +8 -0
- package/dist/stories/badge/Badge.stories.d.ts.map +1 -0
- package/dist/stories/badge/Badge.stories.js +68 -0
- package/dist/stories/button/Button.stories.d.ts +8 -0
- package/dist/stories/button/Button.stories.d.ts.map +1 -0
- package/dist/stories/button/Button.stories.js +151 -0
- package/dist/stories/button/IconButton.stories.d.ts +7 -0
- package/dist/stories/button/IconButton.stories.d.ts.map +1 -0
- package/dist/stories/button/IconButton.stories.js +68 -0
- package/dist/stories/checkbox/Checkbox.stories.d.ts +9 -0
- package/dist/stories/checkbox/Checkbox.stories.d.ts.map +1 -0
- package/dist/stories/checkbox/Checkbox.stories.js +105 -0
- package/dist/stories/checkbox-group/Checkbox-group.stories.d.ts +7 -0
- package/dist/stories/checkbox-group/Checkbox-group.stories.d.ts.map +1 -0
- package/dist/stories/checkbox-group/Checkbox-group.stories.js +140 -0
- package/dist/stories/field/Field.stories.d.ts +10 -0
- package/dist/stories/field/Field.stories.d.ts.map +1 -0
- package/dist/stories/field/Field.stories.js +146 -0
- package/dist/stories/link/Link.stories.d.ts +7 -0
- package/dist/stories/link/Link.stories.d.ts.map +1 -0
- package/dist/stories/link/Link.stories.js +83 -0
- package/dist/stories/loader/Loader.stories.d.ts +7 -0
- package/dist/stories/loader/Loader.stories.d.ts.map +1 -0
- package/dist/stories/loader/Loader.stories.js +52 -0
- package/dist/stories/overlay/Overlay.stories.d.ts +5 -0
- package/dist/stories/overlay/Overlay.stories.d.ts.map +1 -0
- package/dist/stories/overlay/Overlay.stories.js +45 -0
- package/dist/stories/overlay/OverlayLoader.stories.d.ts +5 -0
- package/dist/stories/overlay/OverlayLoader.stories.d.ts.map +1 -0
- package/dist/stories/overlay/OverlayLoader.stories.js +51 -0
- package/dist/stories/quantityselector/QuantitySelector.stories.d.ts +7 -0
- package/dist/stories/quantityselector/QuantitySelector.stories.d.ts.map +1 -0
- package/dist/stories/quantityselector/QuantitySelector.stories.js +124 -0
- package/dist/stories/radio/Radio.stories.d.ts +8 -0
- package/dist/stories/radio/Radio.stories.d.ts.map +1 -0
- package/dist/stories/radio/Radio.stories.js +75 -0
- package/dist/stories/radio-group/Radio-group.stories.d.ts +7 -0
- package/dist/stories/radio-group/Radio-group.stories.d.ts.map +1 -0
- package/dist/stories/radio-group/Radio-group.stories.js +146 -0
- package/dist/stories/select/Select.stories.d.ts +8 -0
- package/dist/stories/select/Select.stories.d.ts.map +1 -0
- package/dist/stories/select/Select.stories.js +88 -0
- package/dist/stories/status-badge/StatusBadge.stories.d.ts +8 -0
- package/dist/stories/status-badge/StatusBadge.stories.d.ts.map +1 -0
- package/dist/stories/status-badge/StatusBadge.stories.js +53 -0
- package/dist/stories/status-dot/StatusDot.stories.d.ts +9 -0
- package/dist/stories/status-dot/StatusDot.stories.d.ts.map +1 -0
- package/dist/stories/status-dot/StatusDot.stories.js +59 -0
- package/dist/stories/textarea/Textarea.stories.d.ts +8 -0
- package/dist/stories/textarea/Textarea.stories.d.ts.map +1 -0
- package/dist/stories/textarea/Textarea.stories.js +97 -0
- package/dist/stories/textinput/Textinput.stories.d.ts +7 -0
- package/dist/stories/textinput/Textinput.stories.d.ts.map +1 -0
- package/dist/stories/textinput/Textinput.stories.js +117 -0
- package/dist/stories/toggle/Toggle.stories.d.ts +8 -0
- package/dist/stories/toggle/Toggle.stories.d.ts.map +1 -0
- package/dist/stories/toggle/Toggle.stories.js +73 -0
- package/dist/utilities/ClickOutside.d.ts +3 -0
- package/dist/utilities/ClickOutside.d.ts.map +1 -0
- package/dist/utilities/ClickOutside.js +13 -0
- package/dist/utilities/EventForward.d.ts +10 -0
- package/dist/utilities/EventForward.d.ts.map +1 -0
- package/dist/utilities/EventForward.js +127 -0
- package/dist/utilities/EventHandler.d.ts +8 -0
- package/dist/utilities/EventHandler.d.ts.map +1 -0
- package/dist/utilities/EventHandler.js +11 -0
- package/package.json +2 -2
- package/dist/badge/Badge.js.map +0 -1
- package/dist/badge/Badge.svelte.d.ts.map +0 -1
- package/dist/badge/badge.types.d.ts.map +0 -1
- package/dist/button/Button.js.map +0 -1
- package/dist/button/Button.svelte.d.ts.map +0 -1
- package/dist/button/IconButton.js.map +0 -1
- package/dist/button/IconButton.svelte.d.ts.map +0 -1
- package/dist/button/button.types.d.ts.map +0 -1
- package/dist/checkbox/Checkbox.js.map +0 -1
- package/dist/checkbox/Checkbox.svelte.d.ts.map +0 -1
- package/dist/checkboxgroup/checkboxGroup.js.map +0 -1
- package/dist/checkboxgroup/checkboxGroup.svelte.d.ts.map +0 -1
- package/dist/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
- package/dist/field/Field.js.map +0 -1
- package/dist/field/Field.svelte.d.ts.map +0 -1
- package/dist/link/Link.js.map +0 -1
- package/dist/link/Link.svelte.d.ts.map +0 -1
- package/dist/link/link.types.d.ts.map +0 -1
- package/dist/loader/Loader.js.map +0 -1
- package/dist/loader/Loader.svelte.d.ts.map +0 -1
- package/dist/loader/loader.types.d.ts.map +0 -1
- package/dist/overlay/Overlay.js.map +0 -1
- package/dist/overlay/Overlay.svelte.d.ts.map +0 -1
- package/dist/overlay/OverlayLoader.js.map +0 -1
- package/dist/overlay/OverlayLoader.svelte.d.ts.map +0 -1
- package/dist/quantityselector/QuantitySelector.js.map +0 -1
- package/dist/quantityselector/QuantitySelector.svelte.d.ts.map +0 -1
- package/dist/radio/Radio.js.map +0 -1
- package/dist/radio/Radio.svelte.d.ts.map +0 -1
- package/dist/radiogroup/RadioGroup.js.map +0 -1
- package/dist/radiogroup/RadioGroup.svelte.d.ts.map +0 -1
- package/dist/radiogroup/radioGroup.types.d.ts.map +0 -1
- package/dist/select/Select.js.map +0 -1
- package/dist/select/Select.svelte.d.ts.map +0 -1
- package/dist/select/select.types.d.ts.map +0 -1
- package/dist/statusbadge/StatusBadge.js.map +0 -1
- package/dist/statusbadge/StatusBadge.svelte.d.ts.map +0 -1
- package/dist/statusbadge/StatusDot.js.map +0 -1
- package/dist/statusbadge/StatusDot.svelte.d.ts.map +0 -1
- package/dist/statusbadge/badge.types.d.ts.map +0 -1
- package/dist/textarea/Textarea.js.map +0 -1
- package/dist/textarea/Textarea.svelte.d.ts.map +0 -1
- package/dist/textinput/Textinput.js.map +0 -1
- package/dist/textinput/Textinput.svelte.d.ts.map +0 -1
- package/dist/textinput/textinput.types.d.ts.map +0 -1
- package/dist/toggle/Toggle.js.map +0 -1
- package/dist/toggle/toggle.types.d.ts.map +0 -1
- /package/dist/{badge → components/badge}/Badge.svelte +0 -0
- /package/dist/{badge → components/badge}/Badge.svelte.d.ts +0 -0
- /package/dist/{badge → components/badge}/badge.types.d.ts +0 -0
- /package/dist/{badge → components/badge}/badge.types.js +0 -0
- /package/dist/{button → components/button}/Button.svelte +0 -0
- /package/dist/{button → components/button}/Button.svelte.d.ts +0 -0
- /package/dist/{button → components/button}/IconButton.svelte +0 -0
- /package/dist/{button → components/button}/IconButton.svelte.d.ts +0 -0
- /package/dist/{button → components/button}/button.types.d.ts +0 -0
- /package/dist/{button → components/button}/button.types.js +0 -0
- /package/dist/{checkbox → components/checkbox}/Checkbox.svelte +0 -0
- /package/dist/{checkbox → components/checkbox}/Checkbox.svelte.d.ts +0 -0
- /package/dist/{checkboxgroup → components/checkboxgroup}/checkboxGroup.svelte +0 -0
- /package/dist/{checkboxgroup → components/checkboxgroup}/checkboxGroup.svelte.d.ts +0 -0
- /package/dist/{checkboxgroup → components/checkboxgroup}/checkboxgroup.types.d.ts +0 -0
- /package/dist/{checkboxgroup → components/checkboxgroup}/checkboxgroup.types.js +0 -0
- /package/dist/{field → components/field}/Field.svelte +0 -0
- /package/dist/{field → components/field}/Field.svelte.d.ts +0 -0
- /package/dist/{link → components/link}/Link.svelte +0 -0
- /package/dist/{link → components/link}/Link.svelte.d.ts +0 -0
- /package/dist/{link → components/link}/link.types.d.ts +0 -0
- /package/dist/{link → components/link}/link.types.js +0 -0
- /package/dist/{loader → components/loader}/Loader.svelte +0 -0
- /package/dist/{loader → components/loader}/Loader.svelte.d.ts +0 -0
- /package/dist/{loader → components/loader}/loader.types.d.ts +0 -0
- /package/dist/{loader → components/loader}/loader.types.js +0 -0
- /package/dist/{overlay → components/overlay}/Overlay.svelte +0 -0
- /package/dist/{overlay → components/overlay}/Overlay.svelte.d.ts +0 -0
- /package/dist/{overlay → components/overlay}/OverlayLoader.svelte +0 -0
- /package/dist/{overlay → components/overlay}/OverlayLoader.svelte.d.ts +0 -0
- /package/dist/{quantityselector → components/quantityselector}/QuantitySelector.svelte +0 -0
- /package/dist/{quantityselector → components/quantityselector}/QuantitySelector.svelte.d.ts +0 -0
- /package/dist/{radio → components/radio}/Radio.svelte +0 -0
- /package/dist/{radio → components/radio}/Radio.svelte.d.ts +0 -0
- /package/dist/{radiogroup → components/radiogroup}/RadioGroup.svelte +0 -0
- /package/dist/{radiogroup → components/radiogroup}/RadioGroup.svelte.d.ts +0 -0
- /package/dist/{radiogroup → components/radiogroup}/radioGroup.types.d.ts +0 -0
- /package/dist/{radiogroup → components/radiogroup}/radioGroup.types.js +0 -0
- /package/dist/{select → components/select}/Select.svelte +0 -0
- /package/dist/{select → components/select}/Select.svelte.d.ts +0 -0
- /package/dist/{select → components/select}/select.types.d.ts +0 -0
- /package/dist/{select → components/select}/select.types.js +0 -0
- /package/dist/{statusbadge → components/statusbadge}/StatusBadge.svelte +0 -0
- /package/dist/{statusbadge → components/statusbadge}/StatusBadge.svelte.d.ts +0 -0
- /package/dist/{statusbadge → components/statusbadge}/StatusDot.svelte +0 -0
- /package/dist/{statusbadge → components/statusbadge}/StatusDot.svelte.d.ts +0 -0
- /package/dist/{statusbadge → components/statusbadge}/badge.types.d.ts +0 -0
- /package/dist/{statusbadge → components/statusbadge}/badge.types.js +0 -0
- /package/dist/{textarea → components/textarea}/Textarea.svelte +0 -0
- /package/dist/{textarea → components/textarea}/Textarea.svelte.d.ts +0 -0
- /package/dist/{textinput → components/textinput}/Textinput.svelte +0 -0
- /package/dist/{textinput → components/textinput}/Textinput.svelte.d.ts +0 -0
- /package/dist/{textinput → components/textinput}/textinput.types.d.ts +0 -0
- /package/dist/{textinput → components/textinput}/textinput.types.js +0 -0
- /package/dist/{toggle → components/toggle}/Toggle.svelte +0 -0
- /package/dist/{toggle → components/toggle}/Toggle.svelte.d.ts +0 -0
- /package/dist/{toggle → components/toggle}/toggle.types.d.ts +0 -0
- /package/dist/{toggle → components/toggle}/toggle.types.js +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { BADGE } from '@geometricpanda/storybook-addon-badges';
|
|
2
|
+
import { userEvent, expect } from '@storybook/test';
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Form Elements/Select',
|
|
5
|
+
argTypes: {
|
|
6
|
+
placeholder: {
|
|
7
|
+
description: 'Specify the select placeholder',
|
|
8
|
+
control: 'text',
|
|
9
|
+
},
|
|
10
|
+
name: {
|
|
11
|
+
description: 'Specify the name attribut for the select element',
|
|
12
|
+
control: 'text',
|
|
13
|
+
type: 'string',
|
|
14
|
+
},
|
|
15
|
+
options: {
|
|
16
|
+
description: 'Specify the select options as an array of objects. <b />```{ id?: string; text: string; value: string | number; disabled?: boolean; }[]```',
|
|
17
|
+
control: 'object',
|
|
18
|
+
},
|
|
19
|
+
size: {
|
|
20
|
+
description: 'Specify the select size',
|
|
21
|
+
control: { type: 'radio' },
|
|
22
|
+
options: ['s', 'm'],
|
|
23
|
+
},
|
|
24
|
+
isinvalid: {
|
|
25
|
+
description: 'Specify whether the select is invalid',
|
|
26
|
+
control: { type: 'boolean' },
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
description: 'Specify whether the select is disabled',
|
|
30
|
+
control: { type: 'boolean' },
|
|
31
|
+
},
|
|
32
|
+
valueselected: {
|
|
33
|
+
description: 'Specify the selected option of the select',
|
|
34
|
+
control: { type: 'text' },
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
parameters: {
|
|
38
|
+
badges: [BADGE.NEEDS_REVISION],
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
const opts = [
|
|
42
|
+
{ text: 'Option 1', value: 'option1' },
|
|
43
|
+
{ text: 'Option 2', value: 'option2', disabled: true },
|
|
44
|
+
{ text: 'Option 3', value: 'option3' },
|
|
45
|
+
];
|
|
46
|
+
const Template = (args) => {
|
|
47
|
+
const MSelect = document.createElement('m-select');
|
|
48
|
+
MSelect.setAttribute('placeholder', args.placeholder || 'Primary');
|
|
49
|
+
MSelect.setAttribute('valueselected', args.valueselected || '');
|
|
50
|
+
if (args.options)
|
|
51
|
+
MSelect.setAttribute('options', JSON.stringify(args.options));
|
|
52
|
+
if (args.size)
|
|
53
|
+
MSelect.setAttribute('size', args.size);
|
|
54
|
+
if (args.isinvalid)
|
|
55
|
+
MSelect.setAttribute('isinvalid', 'true');
|
|
56
|
+
if (args.disabled)
|
|
57
|
+
MSelect.setAttribute('disabled', 'true');
|
|
58
|
+
return MSelect;
|
|
59
|
+
};
|
|
60
|
+
export const Default = Template.bind({});
|
|
61
|
+
Default.args = { options: opts };
|
|
62
|
+
Default.play = async ({ canvasElement }) => {
|
|
63
|
+
const select = canvasElement.querySelector('m-select');
|
|
64
|
+
const input = select === null || select === void 0 ? void 0 : select.querySelector('select');
|
|
65
|
+
expect(select).not.toBeNull();
|
|
66
|
+
await userEvent.selectOptions(input, 'option1');
|
|
67
|
+
expect(input).toHaveValue('option1');
|
|
68
|
+
};
|
|
69
|
+
export const Small = Template.bind({});
|
|
70
|
+
Small.args = { size: 's', options: opts };
|
|
71
|
+
Small.play = async ({ canvasElement }) => {
|
|
72
|
+
const select = canvasElement.querySelector('m-select');
|
|
73
|
+
expect(select).toHaveAttribute('size', 's');
|
|
74
|
+
};
|
|
75
|
+
export const Disabled = Template.bind({});
|
|
76
|
+
Disabled.args = { disabled: true, options: opts };
|
|
77
|
+
Disabled.play = async ({ canvasElement }) => {
|
|
78
|
+
const select = canvasElement.querySelector('m-select');
|
|
79
|
+
const input = select === null || select === void 0 ? void 0 : select.querySelector('select');
|
|
80
|
+
expect(input).toBeDisabled();
|
|
81
|
+
};
|
|
82
|
+
export const WithValue = Template.bind({});
|
|
83
|
+
WithValue.args = { valueselected: 'option3', options: opts };
|
|
84
|
+
WithValue.play = async ({ canvasElement }) => {
|
|
85
|
+
const select = canvasElement.querySelector('m-select');
|
|
86
|
+
const input = select === null || select === void 0 ? void 0 : select.querySelector('select');
|
|
87
|
+
expect(input).toHaveValue('option3');
|
|
88
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StoryFn, Meta } from '@storybook/html';
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const Default: StoryFn;
|
|
5
|
+
export declare const Warning: StoryFn;
|
|
6
|
+
export declare const Danger: StoryFn;
|
|
7
|
+
export declare const Success: StoryFn;
|
|
8
|
+
//# sourceMappingURL=StatusBadge.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/status-badge/StatusBadge.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;wBA0BhD,IAAI;AAhBT,wBAgBU;AAYV,eAAO,MAAM,OAAO,SAAoB,CAAC;AAOzC,eAAO,MAAM,OAAO,SAAoB,CAAC;AAOzC,eAAO,MAAM,MAAM,SAAoB,CAAC;AAOxC,eAAO,MAAM,OAAO,SAAoB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
import { BADGE } from '@geometricpanda/storybook-addon-badges';
|
|
3
|
+
import { userEvent, within, expect } from '@storybook/test';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Indicators/Status Badge',
|
|
6
|
+
argTypes: {
|
|
7
|
+
label: {
|
|
8
|
+
description: 'Specify the badge label',
|
|
9
|
+
control: 'text',
|
|
10
|
+
},
|
|
11
|
+
style: {
|
|
12
|
+
description: 'Specify the badge type',
|
|
13
|
+
control: { type: 'radio' },
|
|
14
|
+
options: ['neutral', 'warning', 'danger', 'success', 'info'],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
parameters: {
|
|
18
|
+
badges: [BADGE.STABLE],
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
const Template = (args) => {
|
|
22
|
+
const primary = document.createElement('m-status-badge');
|
|
23
|
+
const label = document.createElement('span');
|
|
24
|
+
label.innerText = 'Status';
|
|
25
|
+
primary.appendChild(label);
|
|
26
|
+
if (args.style)
|
|
27
|
+
primary.setAttribute('style', args.style);
|
|
28
|
+
return primary;
|
|
29
|
+
};
|
|
30
|
+
export const Default = Template.bind({});
|
|
31
|
+
Default.args = {};
|
|
32
|
+
Default.play = async ({ canvasElement }) => {
|
|
33
|
+
const badge = within(canvasElement).getByText('Status');
|
|
34
|
+
expect(badge).not.toBeNull();
|
|
35
|
+
};
|
|
36
|
+
export const Warning = Template.bind({});
|
|
37
|
+
Warning.args = { label: 'Warning', style: 'warning' };
|
|
38
|
+
Warning.play = async ({ canvasElement }) => {
|
|
39
|
+
const badge = canvasElement.querySelector('m-status-badge');
|
|
40
|
+
expect(badge).toHaveAttribute('style', 'warning');
|
|
41
|
+
};
|
|
42
|
+
export const Danger = Template.bind({});
|
|
43
|
+
Danger.args = { label: 'Danger', style: 'danger' };
|
|
44
|
+
Danger.play = async ({ canvasElement }) => {
|
|
45
|
+
const badge = canvasElement.querySelector('m-status-badge');
|
|
46
|
+
expect(badge).toHaveAttribute('style', 'danger');
|
|
47
|
+
};
|
|
48
|
+
export const Success = Template.bind({});
|
|
49
|
+
Success.args = { label: 'Success', style: 'success' };
|
|
50
|
+
Success.play = async ({ canvasElement }) => {
|
|
51
|
+
const badge = canvasElement.querySelector('m-status-badge');
|
|
52
|
+
expect(badge).toHaveAttribute('style', 'success');
|
|
53
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StoryFn, Meta } from '@storybook/html';
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const Default: StoryFn;
|
|
5
|
+
export declare const Warning: StoryFn;
|
|
6
|
+
export declare const Danger: StoryFn;
|
|
7
|
+
export declare const Success: StoryFn;
|
|
8
|
+
export declare const Large: StoryFn;
|
|
9
|
+
//# sourceMappingURL=StatusDot.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusDot.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/status-dot/StatusDot.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;wBA2BhD,IAAI;AAjBT,wBAiBU;AASV,eAAO,MAAM,OAAO,SAAoB,CAAC;AAOzC,eAAO,MAAM,OAAO,SAAoB,CAAC;AAOzC,eAAO,MAAM,MAAM,SAAoB,CAAC;AAOxC,eAAO,MAAM,OAAO,SAAoB,CAAC;AAOzC,eAAO,MAAM,KAAK,SAAoB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
import { BADGE } from '@geometricpanda/storybook-addon-badges';
|
|
3
|
+
import { userEvent, within, expect } from '@storybook/test';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Indicators/Status Dot',
|
|
6
|
+
argTypes: {
|
|
7
|
+
style: {
|
|
8
|
+
description: 'Specify the badge type',
|
|
9
|
+
control: { type: 'radio' },
|
|
10
|
+
options: ['neutral', 'warning', 'danger', 'success', 'info'],
|
|
11
|
+
},
|
|
12
|
+
size: {
|
|
13
|
+
description: 'Specify the size of the badge',
|
|
14
|
+
control: { type: 'radio' },
|
|
15
|
+
options: ['s', 'm', 'l'],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
parameters: {
|
|
19
|
+
badges: [BADGE.STABLE],
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
const Template = (args) => {
|
|
23
|
+
const primary = document.createElement('m-status-dot');
|
|
24
|
+
if (args.style)
|
|
25
|
+
primary.setAttribute('style', args.style);
|
|
26
|
+
if (args.size)
|
|
27
|
+
primary.setAttribute('size', args.size);
|
|
28
|
+
return primary;
|
|
29
|
+
};
|
|
30
|
+
export const Default = Template.bind({});
|
|
31
|
+
Default.args = {};
|
|
32
|
+
Default.play = async ({ canvasElement }) => {
|
|
33
|
+
const dot = canvasElement.querySelector('m-status-dot');
|
|
34
|
+
expect(dot).not.toBeNull();
|
|
35
|
+
};
|
|
36
|
+
export const Warning = Template.bind({});
|
|
37
|
+
Warning.args = { style: 'warning' };
|
|
38
|
+
Warning.play = async ({ canvasElement }) => {
|
|
39
|
+
const dot = canvasElement.querySelector('m-status-dot');
|
|
40
|
+
expect(dot).toHaveAttribute('style', 'warning');
|
|
41
|
+
};
|
|
42
|
+
export const Danger = Template.bind({});
|
|
43
|
+
Danger.args = { style: 'danger' };
|
|
44
|
+
Danger.play = async ({ canvasElement }) => {
|
|
45
|
+
const dot = canvasElement.querySelector('m-status-dot');
|
|
46
|
+
expect(dot).toHaveAttribute('style', 'danger');
|
|
47
|
+
};
|
|
48
|
+
export const Success = Template.bind({});
|
|
49
|
+
Success.args = { style: 'success' };
|
|
50
|
+
Success.play = async ({ canvasElement }) => {
|
|
51
|
+
const dot = canvasElement.querySelector('m-status-dot');
|
|
52
|
+
expect(dot).toHaveAttribute('style', 'success');
|
|
53
|
+
};
|
|
54
|
+
export const Large = Template.bind({});
|
|
55
|
+
Large.args = { size: 'l' };
|
|
56
|
+
Large.play = async ({ canvasElement }) => {
|
|
57
|
+
const dot = canvasElement.querySelector('m-status-dot');
|
|
58
|
+
expect(dot).toHaveAttribute('size', 'l');
|
|
59
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StoryFn, Meta } from '@storybook/html';
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const Default: StoryFn;
|
|
5
|
+
export declare const Invalid: StoryFn;
|
|
6
|
+
export declare const ReadOnly: StoryFn;
|
|
7
|
+
export declare const Disabled: StoryFn;
|
|
8
|
+
//# sourceMappingURL=Textarea.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/textarea/Textarea.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;wBAsDhD,IAAI;AA3CT,wBA2CU;AAmBV,eAAO,MAAM,OAAO,SAAoB,CAAC;AAUzC,eAAO,MAAM,OAAO,SAAoB,CAAC;AAOzC,eAAO,MAAM,QAAQ,SAAoB,CAAC;AAO1C,eAAO,MAAM,QAAQ,SAAoB,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
import { BADGE } from '@geometricpanda/storybook-addon-badges';
|
|
3
|
+
import { userEvent, expect } from '@storybook/test';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Form Elements/Textarea',
|
|
6
|
+
argTypes: {
|
|
7
|
+
name: {
|
|
8
|
+
description: 'Specify the textarea name',
|
|
9
|
+
control: 'text',
|
|
10
|
+
},
|
|
11
|
+
value: {
|
|
12
|
+
description: 'Specify the textarea value',
|
|
13
|
+
control: 'text',
|
|
14
|
+
},
|
|
15
|
+
placeholder: {
|
|
16
|
+
description: 'Specify the textarea placeholder',
|
|
17
|
+
control: 'text',
|
|
18
|
+
},
|
|
19
|
+
isinvalid: {
|
|
20
|
+
description: 'Specify whether the textarea is invalid',
|
|
21
|
+
control: 'boolean',
|
|
22
|
+
},
|
|
23
|
+
disabled: {
|
|
24
|
+
description: 'Specify whether the textarea is disabled',
|
|
25
|
+
control: 'boolean',
|
|
26
|
+
},
|
|
27
|
+
rows: {
|
|
28
|
+
description: 'Specify the number of rows in the textarea',
|
|
29
|
+
control: 'number',
|
|
30
|
+
},
|
|
31
|
+
minlength: {
|
|
32
|
+
description: 'Specify the minimum length for input',
|
|
33
|
+
control: 'number',
|
|
34
|
+
},
|
|
35
|
+
maxlength: {
|
|
36
|
+
description: 'Specify the maximum length for input',
|
|
37
|
+
control: 'number',
|
|
38
|
+
},
|
|
39
|
+
readonly: {
|
|
40
|
+
description: 'Specify whether the textarea is read-only',
|
|
41
|
+
control: 'boolean',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
parameters: {
|
|
45
|
+
badges: [BADGE.STABLE],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
const Template = (args) => {
|
|
49
|
+
const MTextArea = document.createElement('m-textarea');
|
|
50
|
+
if (args.name)
|
|
51
|
+
MTextArea.setAttribute('name', args.name);
|
|
52
|
+
if (args.value)
|
|
53
|
+
MTextArea.setAttribute('value', args.value);
|
|
54
|
+
if (args.placeholder)
|
|
55
|
+
MTextArea.setAttribute('placeholder', args.placeholder);
|
|
56
|
+
if (args.rows)
|
|
57
|
+
MTextArea.setAttribute('rows', args.rows.toString());
|
|
58
|
+
if (args.isinvalid)
|
|
59
|
+
MTextArea.setAttribute('isinvalid', 'true');
|
|
60
|
+
if (args.disabled)
|
|
61
|
+
MTextArea.setAttribute('disabled', 'true');
|
|
62
|
+
if (args.minlength)
|
|
63
|
+
MTextArea.setAttribute('minlength', args.minlength.toString());
|
|
64
|
+
if (args.maxlength)
|
|
65
|
+
MTextArea.setAttribute('maxlength', args.maxlength.toString());
|
|
66
|
+
if (args.readonly)
|
|
67
|
+
MTextArea.setAttribute('readonly', 'true');
|
|
68
|
+
MTextArea.addEventListener('input', action('input'));
|
|
69
|
+
return MTextArea;
|
|
70
|
+
};
|
|
71
|
+
export const Default = Template.bind({});
|
|
72
|
+
Default.args = { placeholder: 'This is a default textarea' };
|
|
73
|
+
Default.play = async ({ canvasElement }) => {
|
|
74
|
+
const textarea = canvasElement.querySelector('m-textarea');
|
|
75
|
+
const input = textarea === null || textarea === void 0 ? void 0 : textarea.shadowRoot.querySelector('textarea');
|
|
76
|
+
expect(textarea).not.toBeNull();
|
|
77
|
+
await userEvent.type(input, 'Testing input');
|
|
78
|
+
expect(input).toHaveValue('Testing input');
|
|
79
|
+
};
|
|
80
|
+
export const Invalid = Template.bind({});
|
|
81
|
+
Invalid.args = { isinvalid: true, placeholder: 'This is an invalid textarea' };
|
|
82
|
+
Invalid.play = async ({ canvasElement }) => {
|
|
83
|
+
const textarea = canvasElement.querySelector('m-textarea');
|
|
84
|
+
expect(textarea).toHaveAttribute('isinvalid', 'true');
|
|
85
|
+
};
|
|
86
|
+
export const ReadOnly = Template.bind({});
|
|
87
|
+
ReadOnly.args = { readonly: true, placeholder: 'This is a read-only textarea' };
|
|
88
|
+
ReadOnly.play = async ({ canvasElement }) => {
|
|
89
|
+
const textarea = canvasElement.querySelector('m-textarea');
|
|
90
|
+
expect(textarea).toHaveAttribute('readonly', 'true');
|
|
91
|
+
};
|
|
92
|
+
export const Disabled = Template.bind({});
|
|
93
|
+
Disabled.args = { disabled: true, placeholder: 'This is a disabled textarea' };
|
|
94
|
+
Disabled.play = async ({ canvasElement }) => {
|
|
95
|
+
const textarea = canvasElement.querySelector('m-textarea');
|
|
96
|
+
expect(textarea).toBeDisabled();
|
|
97
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StoryFn, Meta } from '@storybook/html';
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const Default: StoryFn;
|
|
5
|
+
export declare const Invalid: StoryFn;
|
|
6
|
+
export declare const Disabled: StoryFn;
|
|
7
|
+
//# sourceMappingURL=Textinput.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textinput.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/textinput/Textinput.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;wBA8EhD,IAAI;AApET,wBAoEU;AAkBV,eAAO,MAAM,OAAO,SAAoB,CAAC;AAUzC,eAAO,MAAM,OAAO,SAAoB,CAAC;AAUzC,eAAO,MAAM,QAAQ,SAAoB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
import { BADGE } from '@geometricpanda/storybook-addon-badges';
|
|
3
|
+
import { userEvent, expect } from '@storybook/test';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Form Elements/TextInput',
|
|
6
|
+
argTypes: {
|
|
7
|
+
name: {
|
|
8
|
+
description: 'Specify the text input name',
|
|
9
|
+
control: 'text',
|
|
10
|
+
},
|
|
11
|
+
value: {
|
|
12
|
+
description: 'Specify the text input value',
|
|
13
|
+
control: 'text',
|
|
14
|
+
},
|
|
15
|
+
placeholder: {
|
|
16
|
+
description: 'Specify the text input placeholder',
|
|
17
|
+
control: 'text',
|
|
18
|
+
},
|
|
19
|
+
inputtype: {
|
|
20
|
+
description: 'Specify the text input type',
|
|
21
|
+
control: { type: 'radio' },
|
|
22
|
+
options: ['date', 'email', 'number', 'password', 'search', 'tel', 'text'],
|
|
23
|
+
},
|
|
24
|
+
isinvalid: {
|
|
25
|
+
description: 'Specify whether the text input is invalid',
|
|
26
|
+
control: 'boolean',
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
description: 'Specify whether the text input is disabled',
|
|
30
|
+
control: 'boolean',
|
|
31
|
+
},
|
|
32
|
+
isclearable: {
|
|
33
|
+
description: 'Specify whether the text input is clearable',
|
|
34
|
+
control: 'boolean',
|
|
35
|
+
},
|
|
36
|
+
rightalign: {
|
|
37
|
+
description: 'Specify whether the text input has the text is align on the right',
|
|
38
|
+
control: 'boolean',
|
|
39
|
+
},
|
|
40
|
+
min: {
|
|
41
|
+
description: 'Specify the min value for the imput',
|
|
42
|
+
control: 'boolean',
|
|
43
|
+
},
|
|
44
|
+
max: {
|
|
45
|
+
description: 'Specify the max value for the imput',
|
|
46
|
+
control: 'boolean',
|
|
47
|
+
},
|
|
48
|
+
minLength: {
|
|
49
|
+
description: 'Minimum number of characters required for the input (used with text type).',
|
|
50
|
+
control: 'boolean',
|
|
51
|
+
},
|
|
52
|
+
maxLength: {
|
|
53
|
+
description: 'Maximum number of characters allowed in the input (used with text type).',
|
|
54
|
+
control: 'boolean',
|
|
55
|
+
},
|
|
56
|
+
clearlabel: {
|
|
57
|
+
description: 'The label text for the clear button',
|
|
58
|
+
control: 'text',
|
|
59
|
+
},
|
|
60
|
+
size: {
|
|
61
|
+
description: 'Specify the text input size',
|
|
62
|
+
control: { type: 'radio' },
|
|
63
|
+
options: ['s', 'm'],
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
parameters: {
|
|
67
|
+
badges: [BADGE.STABLE],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
const Template = (args) => {
|
|
71
|
+
const MTextInput = document.createElement('m-textinput');
|
|
72
|
+
MTextInput.setAttribute('inputtype', args.inputtype || 'text');
|
|
73
|
+
if (args.name)
|
|
74
|
+
MTextInput.setAttribute('name', args.name);
|
|
75
|
+
if (args.value)
|
|
76
|
+
MTextInput.setAttribute('value', args.value);
|
|
77
|
+
if (args.placeholder)
|
|
78
|
+
MTextInput.setAttribute('placeholder', args.placeholder);
|
|
79
|
+
if (args.isinvalid)
|
|
80
|
+
MTextInput.setAttribute('isinvalid', 'true');
|
|
81
|
+
if (args.disabled)
|
|
82
|
+
MTextInput.setAttribute('disabled', 'true');
|
|
83
|
+
if (args.isclearable)
|
|
84
|
+
MTextInput.setAttribute('isclearable', 'true');
|
|
85
|
+
if (args.size)
|
|
86
|
+
MTextInput.setAttribute('size', args.size);
|
|
87
|
+
MTextInput.addEventListener('input', action('input'));
|
|
88
|
+
MTextInput.onkeyup = action('onkeyup');
|
|
89
|
+
return MTextInput;
|
|
90
|
+
};
|
|
91
|
+
export const Default = Template.bind({});
|
|
92
|
+
Default.args = { placeholder: 'This is a default text input' };
|
|
93
|
+
Default.play = async ({ canvasElement }) => {
|
|
94
|
+
const textinput = canvasElement.querySelector('m-textinput');
|
|
95
|
+
const input = textinput === null || textinput === void 0 ? void 0 : textinput.shadowRoot.querySelector('input');
|
|
96
|
+
expect(input).not.toBeNull();
|
|
97
|
+
await userEvent.type(input, 'Testing input');
|
|
98
|
+
expect(input).toHaveValue('Testing input');
|
|
99
|
+
};
|
|
100
|
+
export const Invalid = Template.bind({});
|
|
101
|
+
Invalid.args = {
|
|
102
|
+
isinvalid: true,
|
|
103
|
+
placeholder: 'This is an invalid text input',
|
|
104
|
+
};
|
|
105
|
+
Invalid.play = async ({ canvasElement }) => {
|
|
106
|
+
const textinput = canvasElement.querySelector('m-textinput');
|
|
107
|
+
expect(textinput).toHaveAttribute('isinvalid', 'true');
|
|
108
|
+
};
|
|
109
|
+
export const Disabled = Template.bind({});
|
|
110
|
+
Disabled.args = {
|
|
111
|
+
disabled: true,
|
|
112
|
+
placeholder: 'This is a disabled text input',
|
|
113
|
+
};
|
|
114
|
+
Disabled.play = async ({ canvasElement }) => {
|
|
115
|
+
const textinput = canvasElement.querySelector('m-textinput');
|
|
116
|
+
expect(textinput).toBeDisabled();
|
|
117
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StoryFn, Meta } from '@storybook/html';
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const Default: StoryFn;
|
|
5
|
+
export declare const Checked: StoryFn;
|
|
6
|
+
export declare const Disabled: StoryFn;
|
|
7
|
+
export declare const Small: StoryFn;
|
|
8
|
+
//# sourceMappingURL=Toggle.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/toggle/Toggle.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;wBAwChD,IAAI;AA5BT,wBA4BU;AAaV,eAAO,MAAM,OAAO,SAAoB,CAAC;AAUzC,eAAO,MAAM,OAAO,SAAoB,CAAC;AAQzC,eAAO,MAAM,QAAQ,SAAoB,CAAC;AAO1C,eAAO,MAAM,KAAK,SAAoB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
import { BADGE } from '@geometricpanda/storybook-addon-badges';
|
|
3
|
+
import { userEvent, expect } from '@storybook/test';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Form Elements/Toggle',
|
|
6
|
+
argTypes: {
|
|
7
|
+
name: {
|
|
8
|
+
description: 'Specify the input name for the toggle',
|
|
9
|
+
control: 'text',
|
|
10
|
+
},
|
|
11
|
+
label: {
|
|
12
|
+
description: 'Specify the input label for the toggle',
|
|
13
|
+
control: 'text',
|
|
14
|
+
},
|
|
15
|
+
size: {
|
|
16
|
+
description: 'Specify the size for the toggle',
|
|
17
|
+
control: { type: 'radio' },
|
|
18
|
+
options: ['s', 'm'],
|
|
19
|
+
},
|
|
20
|
+
disabled: {
|
|
21
|
+
description: 'Specify whether the toggle is disabled',
|
|
22
|
+
control: 'boolean',
|
|
23
|
+
},
|
|
24
|
+
checked: {
|
|
25
|
+
description: 'Specify whether the toggle is checked',
|
|
26
|
+
control: 'boolean',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
parameters: {
|
|
30
|
+
badges: [BADGE.STABLE],
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
const Template = (args) => {
|
|
34
|
+
const MToggle = document.createElement('m-toggle');
|
|
35
|
+
MToggle.setAttribute('name', args.name || 'form-toggle');
|
|
36
|
+
MToggle.setAttribute('label', args.label || 'Label');
|
|
37
|
+
if (args.size)
|
|
38
|
+
MToggle.setAttribute('size', args.size);
|
|
39
|
+
if (args.disabled)
|
|
40
|
+
MToggle.setAttribute('disabled', 'true');
|
|
41
|
+
if (args.checked)
|
|
42
|
+
MToggle.setAttribute('checked', 'true');
|
|
43
|
+
MToggle.addEventListener('change', action('change'));
|
|
44
|
+
return MToggle;
|
|
45
|
+
};
|
|
46
|
+
export const Default = Template.bind({});
|
|
47
|
+
Default.args = {};
|
|
48
|
+
Default.play = async ({ canvasElement }) => {
|
|
49
|
+
const toggle = canvasElement.querySelector('m-toggle');
|
|
50
|
+
const input = toggle === null || toggle === void 0 ? void 0 : toggle.shadowRoot.querySelector('input');
|
|
51
|
+
expect(toggle).not.toBeNull();
|
|
52
|
+
await userEvent.click(input);
|
|
53
|
+
expect(input).toBeChecked();
|
|
54
|
+
};
|
|
55
|
+
export const Checked = Template.bind({});
|
|
56
|
+
Checked.args = { checked: true };
|
|
57
|
+
Checked.play = async ({ canvasElement }) => {
|
|
58
|
+
const toggle = canvasElement.querySelector('m-toggle');
|
|
59
|
+
const input = toggle === null || toggle === void 0 ? void 0 : toggle.shadowRoot.querySelector('input');
|
|
60
|
+
expect(input).toBeChecked();
|
|
61
|
+
};
|
|
62
|
+
export const Disabled = Template.bind({});
|
|
63
|
+
Disabled.args = { disabled: true };
|
|
64
|
+
Disabled.play = async ({ canvasElement }) => {
|
|
65
|
+
const toggle = canvasElement.querySelector('m-toggle');
|
|
66
|
+
expect(toggle).toBeDisabled();
|
|
67
|
+
};
|
|
68
|
+
export const Small = Template.bind({});
|
|
69
|
+
Small.args = { size: 's' };
|
|
70
|
+
Small.play = async ({ canvasElement }) => {
|
|
71
|
+
const toggle = canvasElement.querySelector('m-toggle');
|
|
72
|
+
expect(toggle).toHaveAttribute('size', 's');
|
|
73
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickOutside.d.ts","sourceRoot":"","sources":["../../src/utilities/ClickOutside.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAcjE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function clickOutside(node) {
|
|
2
|
+
const handleClick = (event) => {
|
|
3
|
+
if (!event.composedPath().includes(node)) {
|
|
4
|
+
node.dispatchEvent(new CustomEvent('outclick'));
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
document.addEventListener('click', handleClick);
|
|
8
|
+
return {
|
|
9
|
+
destroy() {
|
|
10
|
+
document.removeEventListener('click', handleClick);
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SvelteComponent } from 'svelte';
|
|
2
|
+
type ForwardException = string | {
|
|
3
|
+
name: string;
|
|
4
|
+
shouldExclude: () => boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function createEventForwarder(component: SvelteComponent, except?: ForwardException[]): (node: HTMLElement | SVGElement) => {
|
|
7
|
+
destroy: () => void;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=EventForward.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventForward.d.ts","sourceRoot":"","sources":["../../src/utilities/EventForward.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAO9C,KAAK,gBAAgB,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,OAAO,CAAA;CAAE,CAAC;AAQhF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,MAAM,GAAE,gBAAgB,EAAO,UAuDjB,WAAW,GAAG,UAAU;;EAoGvC"}
|