@muibook/components 1.0.2 → 1.0.4
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/esm/{mui-body → components/mui-body}/index.js +1 -1
- package/dist/esm/{mui-button → components/mui-button}/index.js +1 -1
- package/dist/esm/{mui-grid → components/mui-grid}/index.js +1 -1
- package/dist/esm/{mui-link → components/mui-link}/index.js +1 -1
- package/dist/esm/{mui-select → components/mui-select}/index.js +1 -1
- package/dist/esm/{mui-stack → components/mui-stack}/hstack/index.js +1 -1
- package/dist/esm/{mui-stack → components/mui-stack}/vstack/index.js +1 -1
- package/package.json +5 -3
- package/readme.md +12 -0
- package/dist/create-mui-app/assets/index-DfcB3F-s.js +0 -597
- package/dist/create-mui-app/create-mui-app.css +0 -1
- package/dist/create-mui-app/index.html +0 -21
- package/dist/esm/_redirects +0 -1
- package/dist/esm/favicon.ico +0 -0
- package/dist/esm/index/index.js +0 -71
- package/dist/esm/logo192.png +0 -0
- package/dist/muibook/_redirects +0 -1
- package/dist/muibook/assets/base-B4dO4n0A.js +0 -198
- package/dist/muibook/assets/components-YZ3tjmIt.js +0 -122
- package/dist/muibook/assets/contextual-D648xs_u.js +0 -59
- package/dist/muibook/assets/image-1080-Bg-8LoSs.js +0 -1
- package/dist/muibook/assets/index-0bBJZTXh.js +0 -135
- package/dist/muibook/assets/index-B4Lbi-ZX.js +0 -82
- package/dist/muibook/assets/index-BJJtzLti.js +0 -144
- package/dist/muibook/assets/index-BN6UEWFf.js +0 -439
- package/dist/muibook/assets/index-Bc68V_xw.js +0 -140
- package/dist/muibook/assets/index-BnpaoEYs.js +0 -386
- package/dist/muibook/assets/index-BrZBJGo2.js +0 -4276
- package/dist/muibook/assets/index-Bx-SU7T2.js +0 -98
- package/dist/muibook/assets/index-C10sNeH-.js +0 -64
- package/dist/muibook/assets/index-C4ZnvuXX.js +0 -333
- package/dist/muibook/assets/index-C7Tqc5BR.js +0 -325
- package/dist/muibook/assets/index-CAkZAmud.js +0 -514
- package/dist/muibook/assets/index-CCegrD2J.js +0 -130
- package/dist/muibook/assets/index-CHZJlumm.js +0 -95
- package/dist/muibook/assets/index-CPZ8jubJ.js +0 -308
- package/dist/muibook/assets/index-CSLqxg9p.js +0 -73
- package/dist/muibook/assets/index-CT3BsW8R.js +0 -177
- package/dist/muibook/assets/index-CYYG9dAN.js +0 -270
- package/dist/muibook/assets/index-CdghbWW3.js +0 -42
- package/dist/muibook/assets/index-CfD1WQYQ.js +0 -106
- package/dist/muibook/assets/index-Ch40uilB.js +0 -52
- package/dist/muibook/assets/index-CwAai54c.js +0 -263
- package/dist/muibook/assets/index-CyWt9f96.js +0 -336
- package/dist/muibook/assets/index-D8hXO6aa.js +0 -131
- package/dist/muibook/assets/index-DBkw7VLa.js +0 -431
- package/dist/muibook/assets/index-DI0vNTNv.js +0 -56
- package/dist/muibook/assets/index-DNImaJPY.js +0 -96
- package/dist/muibook/assets/index-DP6CCnt0.js +0 -257
- package/dist/muibook/assets/index-DR5X8zCc.js +0 -67
- package/dist/muibook/assets/index-DZQ8pS6y.js +0 -133
- package/dist/muibook/assets/index-DlZ1b9ZK.js +0 -233
- package/dist/muibook/assets/index-DwnvCJk0.js +0 -177
- package/dist/muibook/assets/index-_4AZFkzS.js +0 -328
- package/dist/muibook/assets/index-dkW0Vbeg.js +0 -429
- package/dist/muibook/assets/index-ehE10GAP.js +0 -40
- package/dist/muibook/assets/index-icuV1guL.js +0 -69
- package/dist/muibook/assets/index-qOE8f0sK.js +0 -72
- package/dist/muibook/assets/layout-BT0xIYa9.js +0 -184
- package/dist/muibook/assets/mui-D6S1tQ24.js +0 -1
- package/dist/muibook/assets/mui-logo-mobile-DuEMz_jq.js +0 -31
- package/dist/muibook/assets/semantic-cbNjeY5p.js +0 -111
- package/dist/muibook/assets/spacing-DY3cAXq0.js +0 -82
- package/dist/muibook/assets/surface-CMaW9FgJ.js +0 -148
- package/dist/muibook/assets/text-TVCTYde0.js +0 -130
- package/dist/muibook/assets/visual-B_21dq90.js +0 -96
- package/dist/muibook/buttercup.png +0 -0
- package/dist/muibook/create-mui-app.jpg +0 -0
- package/dist/muibook/crystal.png +0 -0
- package/dist/muibook/diamond.png +0 -0
- package/dist/muibook/emerald.svg +0 -13
- package/dist/muibook/favicon.ico +0 -0
- package/dist/muibook/hero-guides.png +0 -0
- package/dist/muibook/hero-outcomes.png +0 -0
- package/dist/muibook/image-1080.png +0 -0
- package/dist/muibook/image-220.png +0 -0
- package/dist/muibook/image-395.png +0 -0
- package/dist/muibook/index.html +0 -38
- package/dist/muibook/logo192.png +0 -0
- package/dist/muibook/mui-tokens.jpg +0 -0
- package/dist/muibook/muibook.css +0 -1
- package/dist/muibook/premier.png +0 -0
- package/dist/muibook/ruby.svg +0 -13
- package/dist/muibook/sapphire.png +0 -0
- package/dist/muibook/sapphire.svg +0 -13
- package/dist/muibook/snowy-mint.png +0 -0
- package/dist/types/components/mui-accordion/mui-accordion-block/index.d.ts +0 -2
- package/dist/types/components/mui-accordion/mui-accordion-group/index.d.ts +0 -1
- package/dist/types/components/mui-accordion/mui-accordion-inline/index.d.ts +0 -2
- package/dist/types/components/mui-icons/chevron.d.ts +0 -1
- package/dist/types/components/mui-icons/mui-icon-add.d.ts +0 -1
- package/dist/types/components/mui-icons/mui-icon-down-chevron.d.ts +0 -1
- package/dist/types/components/mui-icons/mui-icon-moon.d.ts +0 -1
- package/dist/types/components/mui-icons/mui-icon-right-chevron.d.ts +0 -1
- package/dist/types/components/mui-icons/mui-icon-sun.d.ts +0 -1
- package/dist/types/components/mui-stack/mui-hstack/index.d.ts +0 -1
- package/dist/types/components/mui-stack/mui-vstack/index.d.ts +0 -1
- package/dist/types/components/mui-table/row/row.d.ts +0 -1
- package/dist/types/create-app/index.d.ts +0 -15
- package/dist/types/create-mui-app/index.d.ts +0 -15
- package/dist/types/index.d.ts +0 -68
- package/dist/types/muibook/index.d.ts +0 -93
- /package/dist/esm/{mui-accordion → components/mui-accordion}/block/index.js +0 -0
- /package/dist/esm/{mui-accordion → components/mui-accordion}/group/index.js +0 -0
- /package/dist/esm/{mui-accordion → components/mui-accordion}/index.js +0 -0
- /package/dist/esm/{mui-accordion → components/mui-accordion}/inline/index.js +0 -0
- /package/dist/esm/{mui-addon → components/mui-addon}/index.js +0 -0
- /package/dist/esm/{mui-alert → components/mui-alert}/index.js +0 -0
- /package/dist/esm/{mui-badge → components/mui-badge}/index.js +0 -0
- /package/dist/esm/{mui-button-group → components/mui-button-group}/index.js +0 -0
- /package/dist/esm/{mui-card → components/mui-card}/body/index.js +0 -0
- /package/dist/esm/{mui-card → components/mui-card}/card/index.js +0 -0
- /package/dist/esm/{mui-card → components/mui-card}/footer/index.js +0 -0
- /package/dist/esm/{mui-card → components/mui-card}/header/index.js +0 -0
- /package/dist/esm/{mui-card → components/mui-card}/index.js +0 -0
- /package/dist/esm/{mui-carousel → components/mui-carousel}/controller/index.js +0 -0
- /package/dist/esm/{mui-carousel → components/mui-carousel}/index.js +0 -0
- /package/dist/esm/{mui-carousel → components/mui-carousel}/panel/index.js +0 -0
- /package/dist/esm/{mui-code → components/mui-code}/index.js +0 -0
- /package/dist/esm/{mui-container → components/mui-container}/index.js +0 -0
- /package/dist/esm/{mui-field → components/mui-field}/index.js +0 -0
- /package/dist/esm/{mui-file-upload → components/mui-file-upload}/index.js +0 -0
- /package/dist/esm/{mui-heading → components/mui-heading}/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/accessibility/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/add/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/attention/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/check/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/close/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/down-chevron/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/globe/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/grid/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/info/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/left-arrow/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/left-chevron/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/menu/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/message/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/moon/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/notification/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/right-chevron/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/stop/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/subtract/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/sun/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/toggle/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/up-arrow/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/up-chevron/index.js +0 -0
- /package/dist/esm/{mui-icons → components/mui-icons}/warning/index.js +0 -0
- /package/dist/esm/{mui-image → components/mui-image}/index.js +0 -0
- /package/dist/esm/{mui-input → components/mui-input}/index.js +0 -0
- /package/dist/esm/{mui-list → components/mui-list}/index.js +0 -0
- /package/dist/esm/{mui-list → components/mui-list}/item/index.js +0 -0
- /package/dist/esm/{mui-list → components/mui-list}/list/index.js +0 -0
- /package/dist/esm/{mui-message → components/mui-message}/index.js +0 -0
- /package/dist/esm/{mui-quote → components/mui-quote}/index.js +0 -0
- /package/dist/esm/{mui-responsive → components/mui-responsive}/index.js +0 -0
- /package/dist/esm/{mui-rule → components/mui-rule}/index.js +0 -0
- /package/dist/esm/{mui-slat → components/mui-slat}/index.js +0 -0
- /package/dist/esm/{mui-smart-card → components/mui-smart-card}/index.js +0 -0
- /package/dist/esm/{mui-stack → components/mui-stack}/index.js +0 -0
- /package/dist/esm/{mui-switch → components/mui-switch}/index.js +0 -0
- /package/dist/esm/{mui-table → components/mui-table}/cell/index.js +0 -0
- /package/dist/esm/{mui-table → components/mui-table}/index.js +0 -0
- /package/dist/esm/{mui-table → components/mui-table}/row/index.js +0 -0
- /package/dist/esm/{mui-table → components/mui-table}/row-group/index.js +0 -0
- /package/dist/esm/{mui-table → components/mui-table}/table/index.js +0 -0
- /package/dist/esm/{mui-tabs → components/mui-tabs}/controller/index.js +0 -0
- /package/dist/esm/{mui-tabs → components/mui-tabs}/index.js +0 -0
- /package/dist/esm/{mui-tabs → components/mui-tabs}/item/index.js +0 -0
- /package/dist/esm/{mui-tabs → components/mui-tabs}/panel/index.js +0 -0
- /package/dist/esm/{mui-tabs → components/mui-tabs}/tab-bar/index.js +0 -0
- /package/dist/esm/{mui-utils → utils}/part-map/index.js +0 -0
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
class l extends HTMLElement{constructor(){super();const i=this.attachShadow({mode:"open"}),t=`
|
|
2
|
-
:host { display: block; }
|
|
3
|
-
`,s=[{name:"variant",type:"string",options:"default, success, warning, error",default:"default",description:"--"},{name:"label",required:!0,type:"string",options:"{text}",default:"",description:"Provides the form element with a unique label. If without, a console warning will remind you to add label."},{name:"hide-label",type:"boolean",options:"hide-label",default:"",description:"Hides the label but it is still present for screen readers"},{name:"message",type:"string",options:"{text}",default:"",description:"--"}],o=s.map(e=>`
|
|
4
|
-
<story-type-row
|
|
5
|
-
${e.required?"required":""}
|
|
6
|
-
name="${e.name}"
|
|
7
|
-
type="${e.type}"
|
|
8
|
-
options="${e.options||""}"
|
|
9
|
-
default="${e.default||""}"
|
|
10
|
-
description="${e.description}">
|
|
11
|
-
</story-type-row>
|
|
12
|
-
`).join(""),n=s.map((e,a)=>{const r=a===s.length-1?"last-child":"";return`
|
|
13
|
-
<mui-accordion-block
|
|
14
|
-
style="position: relative; z-index: 1;"
|
|
15
|
-
size="medium"
|
|
16
|
-
heading=${e.name.charAt(0).toUpperCase()+e.name.slice(1)}
|
|
17
|
-
${r}>
|
|
18
|
-
<story-type-slat
|
|
19
|
-
slot="detail"
|
|
20
|
-
${e.required?"required":""}
|
|
21
|
-
name="${e.name}"
|
|
22
|
-
type="${e.type}"
|
|
23
|
-
options="${e.options||""}"
|
|
24
|
-
default="${e.default||""}"
|
|
25
|
-
description="${e.description}">
|
|
26
|
-
</story-type-slat>
|
|
27
|
-
</mui-accordion-block>
|
|
28
|
-
`}).join("");i.innerHTML=`
|
|
29
|
-
<style>${t}</style>
|
|
30
|
-
|
|
31
|
-
<story-template
|
|
32
|
-
title="Field"
|
|
33
|
-
description="The mui-field component only renders a validation message if the message attribute is set. Showing/hiding the message is controlled by the form logic, or application state. This keeps mui-field simple, declarative, and reactive to the attributes it’s given."
|
|
34
|
-
github="https://github.com/michaeltrilford/muibook/blob/b060f2c788d521abd1f16889a460822d0cf8da3d/src/components/mui-field/index.ts"
|
|
35
|
-
figma="https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=112-620&t=GMqx21isUVAMpLJp-1"
|
|
36
|
-
accessibility="
|
|
37
|
-
A label is required for screen reader support to describe the input’s purpose.;
|
|
38
|
-
If hide-label is used, the label is visually hidden but accessible via aria-label.;
|
|
39
|
-
The label and form element are linked via for and id. If no id is provided, one is generated.;
|
|
40
|
-
Clear focus styles are shown for keyboard users.;
|
|
41
|
-
The native disabled attribute is fully supported by assistive tech.;
|
|
42
|
-
Logs a console warning if no label is provided.
|
|
43
|
-
"
|
|
44
|
-
>
|
|
45
|
-
|
|
46
|
-
<mui-v-stack space="var(--space-700)">
|
|
47
|
-
|
|
48
|
-
<spec-card title="Props">
|
|
49
|
-
<mui-responsive breakpoint="767" slot="body">
|
|
50
|
-
<story-type-table slot="showAbove">
|
|
51
|
-
${o}
|
|
52
|
-
</story-type-table>
|
|
53
|
-
<mui-accordion-group exclusive slot="showBelow">
|
|
54
|
-
${n}
|
|
55
|
-
</mui-accordion-group>
|
|
56
|
-
</mui-responsive>
|
|
57
|
-
</spec-card>
|
|
58
|
-
|
|
59
|
-
<story-card title="Input: Default" description="The label prop is forwarded from the parent field to the input element to associate the label with the input correctly.">
|
|
60
|
-
<mui-field label="Email" slot="body">
|
|
61
|
-
<mui-input type="email" placeholder="you@example.com"></mui-input>
|
|
62
|
-
</mui-field>
|
|
63
|
-
<mui-code slot="footer">
|
|
64
|
-
<mui-field label="Email">
|
|
65
|
-
<br />
|
|
66
|
-
<mui-input type="email" placeholder="you@example.com"><mui-input>
|
|
67
|
-
<br />
|
|
68
|
-
<mui-field>
|
|
69
|
-
<br />
|
|
70
|
-
</mui-code>
|
|
71
|
-
</story-card>
|
|
72
|
-
|
|
73
|
-
<story-card title="Input: Default w/ Message" description="You are able to pass in a message that stays static on the page.">
|
|
74
|
-
<mui-field label="Name" slot="body" message="This field doesn't accept special characters">
|
|
75
|
-
<mui-input></mui-input>
|
|
76
|
-
</mui-field>
|
|
77
|
-
<mui-code slot="footer">
|
|
78
|
-
<mui-field label="Name" message="This field doesn't accept special characters">
|
|
79
|
-
<br />
|
|
80
|
-
<mui-input><mui-input>
|
|
81
|
-
<br />
|
|
82
|
-
<mui-field>
|
|
83
|
-
<br />
|
|
84
|
-
</mui-code>
|
|
85
|
-
</story-card>
|
|
86
|
-
|
|
87
|
-
<story-card title="Input: Success w/ Message" description="The form logic will inject the success message onto the field component and render">
|
|
88
|
-
<!-- Change here: remove onclick, add data-toggle attribute -->
|
|
89
|
-
<mui-button
|
|
90
|
-
variant="secondary"
|
|
91
|
-
style="margin-bottom: var(--space-500)"
|
|
92
|
-
slot="body"
|
|
93
|
-
data-toggle="field-success-toggle"
|
|
94
|
-
data-message="✓ Password strength: Strong"
|
|
95
|
-
data-variant="success"
|
|
96
|
-
>
|
|
97
|
-
Test Validation
|
|
98
|
-
</mui-button>
|
|
99
|
-
|
|
100
|
-
<mui-field id="field-success-toggle" label="Password" slot="body">
|
|
101
|
-
<mui-input type="password" value="temp1234"></mui-input>
|
|
102
|
-
</mui-field>
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<mui-code slot="footer">
|
|
106
|
-
<br />
|
|
107
|
-
{
|
|
108
|
-
<br />
|
|
109
|
-
"formMessages": {<br />
|
|
110
|
-
"passwordSuccess": {<br />
|
|
111
|
-
"message": "✓ Password strength: Strong",<br />
|
|
112
|
-
"variant": "success"<br />
|
|
113
|
-
},<br />
|
|
114
|
-
}<br />
|
|
115
|
-
}
|
|
116
|
-
<br />
|
|
117
|
-
<br />
|
|
118
|
-
<mui-field>
|
|
119
|
-
<br />
|
|
120
|
-
<mui-input type="password" value="••••••••"></mui-input>
|
|
121
|
-
<br />
|
|
122
|
-
</mui-field>
|
|
123
|
-
</mui-code>
|
|
124
|
-
</story-card>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
<story-card title="Input: Warning w/ Message" description="The form logic will inject the warning message onto the field component and render">
|
|
128
|
-
|
|
129
|
-
<!-- Change here: remove onclick, add data-toggle attribute -->
|
|
130
|
-
<mui-button
|
|
131
|
-
variant="secondary"
|
|
132
|
-
style="margin-bottom: var(--space-500)"
|
|
133
|
-
slot="body"
|
|
134
|
-
data-toggle="field-warning-toggle"
|
|
135
|
-
data-message="⚠ Please double-check your email address for typos"
|
|
136
|
-
data-variant="warning"
|
|
137
|
-
>
|
|
138
|
-
Test Validation
|
|
139
|
-
</mui-button>
|
|
140
|
-
|
|
141
|
-
<mui-field id="field-warning-toggle" label="Email" slot="body">
|
|
142
|
-
<mui-input placeholder="you@example.com" value="michael.mui.com"></mui-input>
|
|
143
|
-
</mui-field>
|
|
144
|
-
|
|
145
|
-
<mui-code slot="footer">
|
|
146
|
-
<br />
|
|
147
|
-
{
|
|
148
|
-
<br />
|
|
149
|
-
"formMessages": {<br />
|
|
150
|
-
"emailWarning": {<br />
|
|
151
|
-
"message": "⚠ Please double-check your email address for typos",<br />
|
|
152
|
-
"variant": "warning"<br />
|
|
153
|
-
},<br />
|
|
154
|
-
}<br />
|
|
155
|
-
}
|
|
156
|
-
<br />
|
|
157
|
-
<br />
|
|
158
|
-
<mui-field>
|
|
159
|
-
<br />
|
|
160
|
-
<mui-input placeholder="you@example.com" value="mui#mui.com"></mui-input>
|
|
161
|
-
<br />
|
|
162
|
-
</mui-field>
|
|
163
|
-
</mui-code>
|
|
164
|
-
</story-card>
|
|
165
|
-
|
|
166
|
-
<story-card title="Input: Error w/ Message" description="The form logic will inject the error message onto the field component and render">
|
|
167
|
-
|
|
168
|
-
<!-- Change here: remove onclick, add data-toggle attribute -->
|
|
169
|
-
<mui-button
|
|
170
|
-
variant="secondary"
|
|
171
|
-
style="margin-bottom: var(--space-500)"
|
|
172
|
-
slot="body"
|
|
173
|
-
data-toggle="field-error-toggle"
|
|
174
|
-
data-message="Enter a valid email to proceed"
|
|
175
|
-
data-variant="error"
|
|
176
|
-
>
|
|
177
|
-
Test Validation
|
|
178
|
-
</mui-button>
|
|
179
|
-
|
|
180
|
-
<mui-field id="field-error-toggle" label="Email" slot="body">
|
|
181
|
-
<mui-input placeholder="you@example.com" value="michael.mui.com"></mui-input>
|
|
182
|
-
</mui-field>
|
|
183
|
-
|
|
184
|
-
<mui-code slot="footer">
|
|
185
|
-
<br />
|
|
186
|
-
{
|
|
187
|
-
<br />
|
|
188
|
-
"formMessages": {<br />
|
|
189
|
-
"emailError": {<br />
|
|
190
|
-
"message": "Enter a valid email to proceed",<br />
|
|
191
|
-
"variant": "error"<br />
|
|
192
|
-
}<br />
|
|
193
|
-
}<br />
|
|
194
|
-
}
|
|
195
|
-
<br />
|
|
196
|
-
<br />
|
|
197
|
-
<mui-field>
|
|
198
|
-
<br />
|
|
199
|
-
<mui-input placeholder="you@example.com" value="michael.mui.com"></mui-input>
|
|
200
|
-
<br />
|
|
201
|
-
</mui-field>
|
|
202
|
-
</mui-code>
|
|
203
|
-
</story-card>
|
|
204
|
-
|
|
205
|
-
<story-card title="Select: Error w/ Message" description="The form logic will inject the error message onto the field component and render">
|
|
206
|
-
|
|
207
|
-
<!-- Change here: remove onclick, add data-toggle attribute -->
|
|
208
|
-
<mui-button
|
|
209
|
-
variant="secondary"
|
|
210
|
-
style="margin-bottom: var(--space-500)"
|
|
211
|
-
slot="body"
|
|
212
|
-
data-toggle="select-field-error-toggle"
|
|
213
|
-
data-message="Please select one option"
|
|
214
|
-
data-variant="error"
|
|
215
|
-
>
|
|
216
|
-
Test Validation
|
|
217
|
-
</mui-button>
|
|
218
|
-
|
|
219
|
-
<mui-field id="select-field-error-toggle" label="Brand" slot="body">
|
|
220
|
-
<mui-select
|
|
221
|
-
options='[
|
|
222
|
-
{"value": "default", "label": "Select Option"},
|
|
223
|
-
{"value": "mui", "label": "Mui"},
|
|
224
|
-
{"value": "jal", "label": "JAL"},
|
|
225
|
-
{"value": "ana", "label": "ANA"},
|
|
226
|
-
{"value": "mono", "label": "Mono"}
|
|
227
|
-
]'>
|
|
228
|
-
</mui-select>
|
|
229
|
-
</mui-field>
|
|
230
|
-
|
|
231
|
-
<mui-code slot="footer">
|
|
232
|
-
<br />
|
|
233
|
-
{
|
|
234
|
-
<br />
|
|
235
|
-
"formMessages": {<br />
|
|
236
|
-
"emailError": {<br />
|
|
237
|
-
"message": "Please select one option",<br />
|
|
238
|
-
"variant": "error"<br />
|
|
239
|
-
}<br />
|
|
240
|
-
}<br />
|
|
241
|
-
}
|
|
242
|
-
<br />
|
|
243
|
-
<br />
|
|
244
|
-
<mui-field>
|
|
245
|
-
<br />
|
|
246
|
-
<mui-input placeholder="you@example.com" value="michael.mui.com"></mui-input>
|
|
247
|
-
<br />
|
|
248
|
-
</mui-field>
|
|
249
|
-
</mui-code>
|
|
250
|
-
</story-card>
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
<story-card
|
|
254
|
-
title="Input & Select: Error w/ Message"
|
|
255
|
-
description="The form logic will inject the error message onto the field component and render"
|
|
256
|
-
usage="
|
|
257
|
-
Add input is the primary element, so this item should have validation;
|
|
258
|
-
The select isn’t the primary input: It’s more of a supporting control (Filter | Unit | Currency);
|
|
259
|
-
Grouped but semantically separate: While it’s next to the input, it’s not part of the input’s value;
|
|
260
|
-
Validation usually targets primary fields like text, email, number — not auxiliary UI.
|
|
261
|
-
"
|
|
262
|
-
|
|
263
|
-
>
|
|
264
|
-
<!-- Change here: remove onclick, add data-toggle attribute -->
|
|
265
|
-
<mui-button
|
|
266
|
-
variant="secondary"
|
|
267
|
-
style="margin-bottom: var(--space-500)"
|
|
268
|
-
slot="body"
|
|
269
|
-
data-toggle="field-input-select-error-toggle"
|
|
270
|
-
data-message="Enter an amount to transfer"
|
|
271
|
-
data-variant="error"
|
|
272
|
-
>
|
|
273
|
-
Test Validation
|
|
274
|
-
</mui-button>
|
|
275
|
-
|
|
276
|
-
<mui-field id="field-input-select-error-toggle" label="Amount to transfer" slot="body">
|
|
277
|
-
<mui-input type="number">
|
|
278
|
-
<mui-select
|
|
279
|
-
slot="after"
|
|
280
|
-
label="Currency"
|
|
281
|
-
hide-label
|
|
282
|
-
style="width: 100px;"
|
|
283
|
-
options='[
|
|
284
|
-
{ "value": "jpy", "label": "JPY" },
|
|
285
|
-
{ "value": "usd", "label": "USD" }
|
|
286
|
-
]'>
|
|
287
|
-
</mui-select>
|
|
288
|
-
</mui-input>
|
|
289
|
-
</mui-field>
|
|
290
|
-
|
|
291
|
-
<mui-code slot="footer">
|
|
292
|
-
<br />
|
|
293
|
-
{
|
|
294
|
-
<br />
|
|
295
|
-
"formMessages": {<br />
|
|
296
|
-
"transferError": {<br />
|
|
297
|
-
"message": "Enter an amount to transfer",<br />
|
|
298
|
-
"variant": "error"<br />
|
|
299
|
-
}<br />
|
|
300
|
-
}<br />
|
|
301
|
-
}
|
|
302
|
-
<br />
|
|
303
|
-
|
|
304
|
-
<mui-field label="Amount to transfer" slot="body"><br>
|
|
305
|
-
<mui-input type="number"><br>
|
|
306
|
-
<mui-select<br>
|
|
307
|
-
slot="after"<br>
|
|
308
|
-
label="Currency"<br>
|
|
309
|
-
hide-label<br>
|
|
310
|
-
style="width: 100px;"<br>
|
|
311
|
-
options='[<br>
|
|
312
|
-
{ "value": "jpy", "label": "JPY" },<br>
|
|
313
|
-
{ "value": "usd", "label": "USD" }<br>
|
|
314
|
-
]'<br>
|
|
315
|
-
><br>
|
|
316
|
-
</mui-select><br>
|
|
317
|
-
</mui-input><br>
|
|
318
|
-
</mui-field>
|
|
319
|
-
</mui-code>
|
|
320
|
-
</story-card>
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
</mui-v-stack>
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
</story-template>
|
|
328
|
-
`}connectedCallback(){this.shadowRoot.addEventListener("click",i=>{const t=i.target.closest("[data-toggle]");if(!t)return;const s=t.getAttribute("data-toggle"),o=t.getAttribute("data-message")||"Password strength is strong",n=t.getAttribute("data-variant"),e=this.shadowRoot.getElementById(s);e&&(e.hasAttribute("message")?e.removeAttribute("message"):e.setAttribute("message",o),n&&(e.getAttribute("variant")===n?e.removeAttribute("variant"):e.setAttribute("variant",n)))})}}customElements.define("story-field",l);
|