@mirai/ui 1.1.0-f → 1.1.1
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/README.md +109 -60
- package/build/components/Action/Action.js +1 -1
- package/build/components/Action/Action.js.map +1 -1
- package/build/components/Action/Action.module.css +4 -7
- package/build/components/Action/Action.stories.js +1 -1
- package/build/components/Action/Action.stories.js.map +1 -1
- package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +26 -40
- package/build/components/Button/Button.module.css +30 -33
- package/build/components/Button/Button.stories.js +9 -0
- package/build/components/Button/Button.stories.js.map +1 -1
- package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +21 -30
- package/build/components/Calendar/Calendar.Month.js +12 -8
- package/build/components/Calendar/Calendar.Month.js.map +1 -1
- package/build/components/Calendar/Calendar.Week.js +7 -10
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +10 -2
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.module.css +8 -9
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +15768 -15800
- package/build/components/Form/Form.constants.js +1 -1
- package/build/components/Form/Form.constants.js.map +1 -1
- package/build/components/Form/Form.js +3 -1
- package/build/components/Form/Form.js.map +1 -1
- package/build/components/Form/Form.stories.js +6 -1
- package/build/components/Form/Form.stories.js.map +1 -1
- package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +9 -9
- package/build/components/InputDate/__tests__/__snapshots__/InputDate.test.js.snap +42 -42
- package/build/components/InputNumber/InputNumber.js +2 -1
- package/build/components/InputNumber/InputNumber.js.map +1 -1
- package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +138 -153
- package/build/components/InputOption/InputOption.js +8 -1
- package/build/components/InputOption/InputOption.js.map +1 -1
- package/build/components/InputOption/InputOption.module.css +13 -2
- package/build/components/InputOption/InputOption.stories.js +2 -1
- package/build/components/InputOption/InputOption.stories.js.map +1 -1
- package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +96 -90
- package/build/components/InputPhone/InputPhone.js +23 -20
- package/build/components/InputPhone/InputPhone.js.map +1 -1
- package/build/components/InputPhone/InputPhone.module.css +19 -6
- package/build/components/InputPhone/InputPhone.stories.js +3 -3
- package/build/components/InputPhone/InputPhone.stories.js.map +1 -1
- package/build/components/InputPhone/__tests__/__snapshots__/InputPhone.test.js.snap +410 -410
- package/build/components/InputPhone/helpers/index.js +11 -0
- package/build/components/InputPhone/helpers/index.js.map +1 -1
- package/build/components/InputPhone/helpers/sanitizePrefixes.js +24 -0
- package/build/components/InputPhone/helpers/sanitizePrefixes.js.map +1 -0
- package/build/components/InputSelect/InputSelect.js +3 -5
- package/build/components/InputSelect/InputSelect.js.map +1 -1
- package/build/components/InputSelect/InputSelect.stories.js +1 -0
- package/build/components/InputSelect/InputSelect.stories.js.map +1 -1
- package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +136 -136
- package/build/components/InputSelect/partials/InputSelect.Expand.js +23 -0
- package/build/components/InputSelect/partials/InputSelect.Expand.js.map +1 -0
- package/build/components/InputSelect/partials/index.js +17 -0
- package/build/components/InputSelect/partials/index.js.map +1 -0
- package/build/components/InputText/InputText.js +6 -4
- package/build/components/InputText/InputText.js.map +1 -1
- package/build/components/InputText/InputText.module.css +18 -6
- package/build/components/InputText/InputText.stories.js +7 -2
- package/build/components/InputText/InputText.stories.js.map +1 -1
- package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +142 -143
- package/build/components/Menu/__tests__/__snapshots__/Menu.test.jsx.snap +72 -70
- package/build/components/Modal/Modal.js +15 -8
- package/build/components/Modal/Modal.js.map +1 -1
- package/build/components/Modal/Modal.module.css +30 -14
- package/build/components/Modal/Modal.stories.js +1 -0
- package/build/components/Modal/Modal.stories.js.map +1 -1
- package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +92 -98
- package/build/components/Notification/Notification.js +20 -12
- package/build/components/Notification/Notification.js.map +1 -1
- package/build/components/Notification/Notification.module.css +44 -58
- package/build/components/Notification/Notification.stories.js +15 -2
- package/build/components/Notification/Notification.stories.js.map +1 -1
- package/build/components/Notification/__tests__/__snapshots__/Notification.test.js.snap +600 -254
- package/build/components/Progress/Progress.js +2 -0
- package/build/components/Progress/Progress.js.map +1 -1
- package/build/components/Progress/__tests__/__snapshots__/Progress.test.jsx.snap +18 -18
- package/build/components/Slider/Slider.constants.js +3 -1
- package/build/components/Slider/Slider.constants.js.map +1 -1
- package/build/components/Slider/Slider.js +67 -66
- package/build/components/Slider/Slider.js.map +1 -1
- package/build/components/Slider/Slider.module.css +55 -52
- package/build/components/Slider/Slider.stories.js +9 -6
- package/build/components/Slider/Slider.stories.js.map +1 -1
- package/build/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +714 -333
- package/build/components/Table/Table.ColumnFilter.js +17 -14
- package/build/components/Table/Table.ColumnFilter.js.map +1 -1
- package/build/components/Table/Table.Row.js +2 -1
- package/build/components/Table/Table.Row.js.map +1 -1
- package/build/components/Table/Table.constants.js +3 -1
- package/build/components/Table/Table.constants.js.map +1 -1
- package/build/components/Table/Table.js +54 -17
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Table/Table.module.css +12 -6
- package/build/components/Table/Table.stories.js +39 -19
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/Table.stories.module.css +4 -5
- package/build/components/Table/__tests__/__snapshots__/Table.ColumnFilter.test.js.snap +221 -240
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +1725 -1085
- package/build/components/Table/helpers/exists.js +2 -3
- package/build/components/Table/helpers/exists.js.map +1 -1
- package/build/components/Table/helpers/select.js +24 -16
- package/build/components/Table/helpers/select.js.map +1 -1
- package/build/components/Tooltip/Tooltip.js +29 -6
- package/build/components/Tooltip/Tooltip.js.map +1 -1
- package/build/components/Tooltip/__tests__/__snapshots__/Tooltip.test.jsx.snap +51 -44
- package/build/components/index.js +11 -0
- package/build/components/index.js.map +1 -1
- package/build/helpers/getInputPhoneErrors.js +3 -2
- package/build/helpers/getInputPhoneErrors.js.map +1 -1
- package/build/hooks/useDevice.js +1 -1
- package/build/hooks/useDevice.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.js +4 -3
- package/build/primitives/Checkbox/Checkbox.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.module.css +42 -6
- package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +47 -16
- package/build/primitives/Icon/Icon.constants.js +43 -21
- package/build/primitives/Icon/Icon.constants.js.map +1 -1
- package/build/primitives/Icon/Icon.js +15 -5
- package/build/primitives/Icon/Icon.js.map +1 -1
- package/build/primitives/Icon/Icon.module.css +32 -19
- package/build/primitives/Icon/Icon.stories.js +5 -0
- package/build/primitives/Icon/Icon.stories.js.map +1 -1
- package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +291 -100
- package/build/primitives/Input/Input.js +9 -3
- package/build/primitives/Input/Input.js.map +1 -1
- package/build/primitives/Input/Input.stories.js +2 -0
- package/build/primitives/Input/Input.stories.js.map +1 -1
- package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +22 -0
- package/build/primitives/Layer/Layer.js +11 -5
- package/build/primitives/Layer/Layer.js.map +1 -1
- package/build/primitives/Layer/Layer.module.css +4 -0
- package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +78 -42
- package/build/primitives/Layer/helpers/index.js +11 -0
- package/build/primitives/Layer/helpers/index.js.map +1 -1
- package/build/primitives/Layer/helpers/isComponentFixed.js +32 -0
- package/build/primitives/Layer/helpers/isComponentFixed.js.map +1 -0
- package/build/primitives/Pressable/Pressable.constants.js +1 -1
- package/build/primitives/Pressable/Pressable.constants.js.map +1 -1
- package/build/primitives/Pressable/Pressable.js +3 -7
- package/build/primitives/Pressable/Pressable.js.map +1 -1
- package/build/primitives/Pressable/Pressable.module.css +0 -1
- package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +10 -14
- package/build/primitives/Primitive/Primitive.js +2 -2
- package/build/primitives/Primitive/Primitive.js.map +1 -1
- package/build/primitives/Primitive/__tests__/__snapshots__/Primitive.test.js.snap +7 -7
- package/build/primitives/Primitive/helpers/index.js +0 -11
- package/build/primitives/Primitive/helpers/index.js.map +1 -1
- package/build/primitives/Radio/Radio.js +1 -1
- package/build/primitives/Radio/Radio.js.map +1 -1
- package/build/primitives/Radio/Radio.module.css +18 -2
- package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +21 -21
- package/build/primitives/ScrollView/ScrollView.js +1 -1
- package/build/primitives/ScrollView/ScrollView.js.map +1 -1
- package/build/primitives/ScrollView/ScrollView.module.css +1 -0
- package/build/primitives/ScrollView/ScrollView.stories.js +5 -6
- package/build/primitives/ScrollView/ScrollView.stories.js.map +1 -1
- package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +20 -20
- package/build/primitives/Select/Select.js +13 -6
- package/build/primitives/Select/Select.js.map +1 -1
- package/build/primitives/Select/Select.stories.js +1 -0
- package/build/primitives/Select/Select.stories.js.map +1 -1
- package/build/primitives/Select/__tests__/__snapshots__/Select.test.js.snap +36 -0
- package/build/primitives/Switch/Switch.js +5 -3
- package/build/primitives/Switch/Switch.js.map +1 -1
- package/build/primitives/Switch/Switch.module.css +36 -8
- package/build/primitives/Switch/Switch.stories.js +1 -0
- package/build/primitives/Switch/Switch.stories.js.map +1 -1
- package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +88 -25
- package/build/primitives/Text/Text.js +12 -5
- package/build/primitives/Text/Text.js.map +1 -1
- package/build/primitives/Text/Text.module.css +29 -14
- package/build/primitives/Text/Text.stories.js +4 -0
- package/build/primitives/Text/Text.stories.js.map +1 -1
- package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +78 -38
- package/build/primitives/View/View.js +1 -1
- package/build/primitives/View/View.js.map +1 -1
- package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +10 -10
- package/build/theme/default.theme.css +54 -53
- package/build/theme/theme.constants.js +3 -1
- package/build/theme/theme.constants.js.map +1 -1
- package/build/theme/theme.js +34 -11
- package/build/theme/theme.js.map +1 -1
- package/package.json +4 -5
- package/build/primitives/Primitive/helpers/getTag.js +0 -33
- package/build/primitives/Primitive/helpers/getTag.js.map +0 -1
|
@@ -2,76 +2,79 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`component:<Menu> inherit:className 1`] = `
|
|
4
4
|
<DocumentFragment>
|
|
5
|
-
<
|
|
5
|
+
<span
|
|
6
|
+
class="container"
|
|
7
|
+
/>
|
|
6
8
|
</DocumentFragment>
|
|
7
9
|
`;
|
|
8
10
|
|
|
9
11
|
exports[`component:<Menu> prop:Template 1`] = `
|
|
10
12
|
<DocumentFragment>
|
|
11
|
-
<
|
|
13
|
+
<span
|
|
14
|
+
class="container"
|
|
15
|
+
>
|
|
12
16
|
<button
|
|
13
17
|
class="pressable button"
|
|
14
|
-
tabindex="0"
|
|
15
18
|
>
|
|
16
19
|
Action
|
|
17
20
|
</button>
|
|
18
|
-
</
|
|
21
|
+
</span>
|
|
19
22
|
</DocumentFragment>
|
|
20
23
|
`;
|
|
21
24
|
|
|
22
25
|
exports[`component:<Menu> prop:children 1`] = `
|
|
23
26
|
<DocumentFragment>
|
|
24
|
-
<
|
|
27
|
+
<span
|
|
28
|
+
class="container"
|
|
29
|
+
>
|
|
25
30
|
<button
|
|
26
31
|
class="pressable button"
|
|
27
|
-
tabindex="0"
|
|
28
32
|
>
|
|
29
33
|
Action
|
|
30
34
|
</button>
|
|
31
|
-
</
|
|
35
|
+
</span>
|
|
32
36
|
</DocumentFragment>
|
|
33
37
|
`;
|
|
34
38
|
|
|
35
39
|
exports[`component:<Menu> prop:options & visible 1`] = `
|
|
36
40
|
<DocumentFragment>
|
|
37
|
-
<
|
|
41
|
+
<span
|
|
42
|
+
class="container"
|
|
43
|
+
>
|
|
38
44
|
<button
|
|
39
45
|
class="pressable button"
|
|
40
|
-
tabindex="0"
|
|
41
46
|
>
|
|
42
47
|
Action
|
|
43
48
|
</button>
|
|
44
|
-
</
|
|
45
|
-
<
|
|
49
|
+
</span>
|
|
50
|
+
<div
|
|
46
51
|
class="layer"
|
|
47
52
|
style="left: 0px; top: 0px;"
|
|
48
53
|
>
|
|
49
54
|
<div
|
|
50
55
|
class="menu visible"
|
|
51
56
|
>
|
|
52
|
-
<
|
|
57
|
+
<div
|
|
53
58
|
class="pressable option divider"
|
|
54
|
-
tabindex="0"
|
|
55
59
|
>
|
|
56
|
-
<
|
|
60
|
+
<div
|
|
57
61
|
class="view row wide content"
|
|
58
62
|
>
|
|
59
|
-
<
|
|
63
|
+
<span
|
|
60
64
|
class="text paragraph label"
|
|
61
65
|
>
|
|
62
66
|
Lorem Ipsum...
|
|
63
|
-
</
|
|
64
|
-
</
|
|
65
|
-
</
|
|
66
|
-
<
|
|
67
|
+
</span>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
<div
|
|
67
71
|
class="pressable option value"
|
|
68
|
-
tabindex="0"
|
|
69
72
|
>
|
|
70
|
-
<
|
|
73
|
+
<div
|
|
71
74
|
class="view row wide content"
|
|
72
75
|
>
|
|
73
|
-
<
|
|
74
|
-
class="icon
|
|
76
|
+
<span
|
|
77
|
+
class="icon headline-3 icon"
|
|
75
78
|
>
|
|
76
79
|
<svg
|
|
77
80
|
fill="currentColor"
|
|
@@ -90,24 +93,23 @@ exports[`component:<Menu> prop:options & visible 1`] = `
|
|
|
90
93
|
d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
|
|
91
94
|
/>
|
|
92
95
|
</svg>
|
|
93
|
-
</
|
|
94
|
-
<
|
|
96
|
+
</span>
|
|
97
|
+
<span
|
|
95
98
|
class="text paragraph label"
|
|
96
99
|
>
|
|
97
100
|
Item 1
|
|
98
|
-
</
|
|
99
|
-
</
|
|
100
|
-
</
|
|
101
|
-
<
|
|
101
|
+
</span>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
<div
|
|
102
105
|
class="pressable option value disabled"
|
|
103
106
|
data-testid="two"
|
|
104
|
-
tabindex="0"
|
|
105
107
|
>
|
|
106
|
-
<
|
|
108
|
+
<div
|
|
107
109
|
class="view row wide content"
|
|
108
110
|
>
|
|
109
|
-
<
|
|
110
|
-
class="icon
|
|
111
|
+
<span
|
|
112
|
+
class="icon headline-3 icon"
|
|
111
113
|
>
|
|
112
114
|
<svg
|
|
113
115
|
fill="currentColor"
|
|
@@ -126,111 +128,111 @@ exports[`component:<Menu> prop:options & visible 1`] = `
|
|
|
126
128
|
d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
|
|
127
129
|
/>
|
|
128
130
|
</svg>
|
|
129
|
-
</
|
|
130
|
-
<
|
|
131
|
+
</span>
|
|
132
|
+
<span
|
|
131
133
|
class="text paragraph label"
|
|
132
134
|
>
|
|
133
135
|
Item 2
|
|
134
|
-
</
|
|
135
|
-
</
|
|
136
|
-
</
|
|
137
|
-
<
|
|
136
|
+
</span>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
<div
|
|
138
140
|
class="pressable option value divider"
|
|
139
|
-
tabindex="0"
|
|
140
141
|
>
|
|
141
|
-
<
|
|
142
|
+
<div
|
|
142
143
|
class="view row wide content"
|
|
143
144
|
>
|
|
144
|
-
<
|
|
145
|
+
<span
|
|
145
146
|
class="text paragraph label"
|
|
146
147
|
>
|
|
147
148
|
Item 3
|
|
148
|
-
</
|
|
149
|
-
</
|
|
150
|
-
</
|
|
151
|
-
<
|
|
149
|
+
</span>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
<div
|
|
152
153
|
class="pressable option value"
|
|
153
|
-
tabindex="0"
|
|
154
154
|
>
|
|
155
|
-
<
|
|
155
|
+
<div
|
|
156
156
|
class="view row wide content"
|
|
157
157
|
>
|
|
158
|
-
<
|
|
158
|
+
<span
|
|
159
159
|
class="text paragraph label"
|
|
160
160
|
>
|
|
161
161
|
Item 4
|
|
162
|
-
</
|
|
162
|
+
</span>
|
|
163
163
|
<button
|
|
164
164
|
class="pressable button small"
|
|
165
|
-
tabindex="0"
|
|
166
165
|
>
|
|
167
166
|
Add
|
|
168
167
|
</button>
|
|
169
|
-
</
|
|
170
|
-
</
|
|
171
|
-
<
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
<div
|
|
172
171
|
class="pressable option"
|
|
173
|
-
tabindex="0"
|
|
174
172
|
>
|
|
175
|
-
<
|
|
173
|
+
<div
|
|
176
174
|
class="view row wide content"
|
|
177
175
|
>
|
|
178
176
|
<button
|
|
179
177
|
class="pressable button"
|
|
180
|
-
tabindex="0"
|
|
181
178
|
>
|
|
182
179
|
Add
|
|
183
180
|
</button>
|
|
184
|
-
</
|
|
185
|
-
</
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
186
183
|
</div>
|
|
187
|
-
</
|
|
184
|
+
</div>
|
|
188
185
|
</DocumentFragment>
|
|
189
186
|
`;
|
|
190
187
|
|
|
191
188
|
exports[`component:<Menu> prop:options 1`] = `
|
|
192
189
|
<DocumentFragment>
|
|
193
|
-
<
|
|
190
|
+
<span
|
|
191
|
+
class="container"
|
|
192
|
+
>
|
|
194
193
|
<button
|
|
195
194
|
class="pressable button"
|
|
196
|
-
tabindex="0"
|
|
197
195
|
>
|
|
198
196
|
Action
|
|
199
197
|
</button>
|
|
200
|
-
</
|
|
198
|
+
</span>
|
|
201
199
|
</DocumentFragment>
|
|
202
200
|
`;
|
|
203
201
|
|
|
204
202
|
exports[`component:<Menu> prop:title 1`] = `
|
|
205
203
|
<DocumentFragment>
|
|
206
|
-
<
|
|
204
|
+
<span
|
|
205
|
+
class="container"
|
|
206
|
+
>
|
|
207
207
|
<button
|
|
208
208
|
class="pressable button"
|
|
209
|
-
tabindex="0"
|
|
210
209
|
>
|
|
211
210
|
Action
|
|
212
211
|
</button>
|
|
213
|
-
</
|
|
214
|
-
<
|
|
212
|
+
</span>
|
|
213
|
+
<div
|
|
215
214
|
class="layer"
|
|
216
215
|
style="left: 0px; top: 0px;"
|
|
217
216
|
>
|
|
218
217
|
<div
|
|
219
218
|
class="menu visible"
|
|
220
219
|
/>
|
|
221
|
-
</
|
|
220
|
+
</div>
|
|
222
221
|
</DocumentFragment>
|
|
223
222
|
`;
|
|
224
223
|
|
|
225
224
|
exports[`component:<Menu> renders 1`] = `
|
|
226
225
|
<DocumentFragment>
|
|
227
|
-
<
|
|
226
|
+
<span
|
|
227
|
+
class="container"
|
|
228
|
+
/>
|
|
228
229
|
</DocumentFragment>
|
|
229
230
|
`;
|
|
230
231
|
|
|
231
232
|
exports[`component:<Menu> testId 1`] = `
|
|
232
233
|
<DocumentFragment>
|
|
233
|
-
<
|
|
234
|
+
<span
|
|
235
|
+
class="container"
|
|
234
236
|
data-testid="mirai"
|
|
235
237
|
/>
|
|
236
238
|
</DocumentFragment>
|
|
@@ -12,8 +12,9 @@ var _components = require("../../components");
|
|
|
12
12
|
var _helpers = require("../../helpers");
|
|
13
13
|
var _hooks = require("../../hooks");
|
|
14
14
|
var _primitives = require("../../primitives");
|
|
15
|
+
var _theme = require("../../theme");
|
|
15
16
|
var _ModalModule = _interopRequireDefault(require("./Modal.module.css"));
|
|
16
|
-
var _excluded = ["blur", "children", "fit", "overflow", "portal", "preventDefault", "title", "visible", "onBack", "onClose", "onOverflow"];
|
|
17
|
+
var _excluded = ["blur", "children", "fit", "mobileBehavior", "overflow", "portal", "preventDefault", "title", "visible", "onBack", "onClose", "onOverflow"];
|
|
17
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -37,6 +38,8 @@ var Modal = function Modal(_ref) {
|
|
|
37
38
|
children = _ref.children,
|
|
38
39
|
_ref$fit = _ref.fit,
|
|
39
40
|
fit = _ref$fit === void 0 ? false : _ref$fit,
|
|
41
|
+
_ref$mobileBehavior = _ref.mobileBehavior,
|
|
42
|
+
mobileBehavior = _ref$mobileBehavior === void 0 ? false : _ref$mobileBehavior,
|
|
40
43
|
_ref$overflow = _ref.overflow,
|
|
41
44
|
overflow = _ref$overflow === void 0 ? true : _ref$overflow,
|
|
42
45
|
_ref$portal = _ref.portal,
|
|
@@ -51,6 +54,7 @@ var Modal = function Modal(_ref) {
|
|
|
51
54
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
52
55
|
var _useDevice = (0, _hooks.useDevice)(),
|
|
53
56
|
isDesktop = _useDevice.isDesktop,
|
|
57
|
+
isMobile = _useDevice.isMobile,
|
|
54
58
|
height = _useDevice.height;
|
|
55
59
|
var ref = (0, _react.useRef)();
|
|
56
60
|
var _useState = (0, _react.useState)(),
|
|
@@ -85,6 +89,7 @@ var Modal = function Modal(_ref) {
|
|
|
85
89
|
var target = event.target;
|
|
86
90
|
onOverflow && !((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(target)) && onOverflow(event);
|
|
87
91
|
};
|
|
92
|
+
var defaultDirection = _theme.Theme.getDirection() === _theme.DIRECTION_TYPE.LEFT;
|
|
88
93
|
var renderer = _helpers.IS_JEST || !portal ? function (jsx) {
|
|
89
94
|
return jsx;
|
|
90
95
|
} : _reactDom.default.createPortal;
|
|
@@ -93,7 +98,7 @@ var Modal = function Modal(_ref) {
|
|
|
93
98
|
preventDefault: preventDefault,
|
|
94
99
|
role: others.role ? "".concat(others.role, "-overflow") : 'modal-overflow',
|
|
95
100
|
onPress: visible && overflow ? handleOverflow : undefined,
|
|
96
|
-
className: (0, _helpers.styles)(_ModalModule.default.container, overflow && _ModalModule.default.overflow, overflow && blur && _ModalModule.default.blur, visible && _ModalModule.default.visible, onOverflow && _ModalModule.default.onOverflow),
|
|
101
|
+
className: (0, _helpers.styles)(_ModalModule.default.container, isDesktop && mobileBehavior && _ModalModule.default.mobileBehavior, overflow && _ModalModule.default.overflow, overflow && blur && _ModalModule.default.blur, visible && _ModalModule.default.visible, onOverflow && _ModalModule.default.onOverflow),
|
|
97
102
|
style: {
|
|
98
103
|
height: height
|
|
99
104
|
},
|
|
@@ -104,24 +109,24 @@ var Modal = function Modal(_ref) {
|
|
|
104
109
|
role: others.role || 'modal',
|
|
105
110
|
className: (0, _helpers.styles)(_ModalModule.default.modal, !fit && _ModalModule.default.calcWidth, visible && _ModalModule.default.visible, others.className)
|
|
106
111
|
}), (title || onBack || onClose) && /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
107
|
-
|
|
108
|
-
className: _ModalModule.default.header
|
|
112
|
+
row: true,
|
|
113
|
+
className: (0, _helpers.styles)(_ModalModule.default.header, !defaultDirection && _ModalModule.default.reverse, !onBack && _ModalModule.default.hideBack, !onClose && _ModalModule.default.hideClose)
|
|
109
114
|
}, onBack && /*#__PURE__*/_react.default.createElement(_components.Button, {
|
|
110
|
-
transparent: true,
|
|
111
115
|
small: true,
|
|
112
116
|
squared: true,
|
|
117
|
+
transparent: true,
|
|
113
118
|
onPress: onBack,
|
|
114
119
|
testId: testId ? "".concat(testId, "-button-back") : undefined
|
|
115
120
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
116
121
|
value: _primitives.ICON.LEFT,
|
|
117
122
|
className: _ModalModule.default.icon
|
|
118
123
|
})), title && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
119
|
-
headline:
|
|
120
|
-
className:
|
|
124
|
+
headline: !isMobile,
|
|
125
|
+
className: _ModalModule.default.title
|
|
121
126
|
}, title), onClose && /*#__PURE__*/_react.default.createElement(_components.Button, {
|
|
122
|
-
transparent: true,
|
|
123
127
|
small: true,
|
|
124
128
|
squared: true,
|
|
129
|
+
transparent: true,
|
|
125
130
|
onPress: onClose,
|
|
126
131
|
testId: testId ? "".concat(testId, "-button-close") : undefined,
|
|
127
132
|
className: _ModalModule.default.button
|
|
@@ -137,10 +142,12 @@ var Modal = function Modal(_ref) {
|
|
|
137
142
|
}))), document.body);
|
|
138
143
|
};
|
|
139
144
|
exports.Modal = Modal;
|
|
145
|
+
Modal.displayName = 'Component:Modal';
|
|
140
146
|
Modal.propTypes = {
|
|
141
147
|
blur: _propTypes.default.bool,
|
|
142
148
|
children: _propTypes.default.node,
|
|
143
149
|
fit: _propTypes.default.bool,
|
|
150
|
+
mobileBehavior: _propTypes.default.bool,
|
|
144
151
|
overflow: _propTypes.default.bool,
|
|
145
152
|
portal: _propTypes.default.bool,
|
|
146
153
|
preventDefault: _propTypes.default.bool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["Modal","blur","children","fit","overflow","portal","preventDefault","title","visible","onBack","onClose","onOverflow","others","useDevice","isDesktop","height","ref","useRef","useState","dataset","setDataset","useEffect","handleKeydown","event","key","document","addEventListener","removeEventListener","body","miraiModal","undefined","handleOverflow","target","current","contains","renderer","IS_JEST","jsx","ReactDOM","createPortal","testId","role","styles","style","container","modal","calcWidth","className","header","
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["Modal","blur","children","fit","mobileBehavior","overflow","portal","preventDefault","title","visible","onBack","onClose","onOverflow","others","useDevice","isDesktop","isMobile","height","ref","useRef","useState","dataset","setDataset","useEffect","handleKeydown","event","key","document","addEventListener","removeEventListener","body","miraiModal","undefined","handleOverflow","target","current","contains","defaultDirection","Theme","getDirection","DIRECTION_TYPE","LEFT","renderer","IS_JEST","jsx","ReactDOM","createPortal","testId","role","styles","style","container","modal","calcWidth","className","header","reverse","hideBack","hideClose","ICON","icon","button","CLOSE","EXPAND_MORE","React","Children","map","child","index","cloneElement","props","displayName","propTypes","PropTypes","bool","node","string","func"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Button } from '../../components';\nimport { IS_JEST, styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n fit = false,\n mobileBehavior = false,\n overflow = true,\n portal = false,\n preventDefault = true,\n title,\n visible,\n onBack,\n onClose,\n onOverflow,\n ...others\n}) => {\n const { isDesktop, isMobile, height } = useDevice();\n const ref = useRef();\n\n const [dataset, setDataset] = useState();\n\n useEffect(() => {\n if (!visible || !onClose) return;\n\n const handleKeydown = (event) => event.key === 'Escape' && onClose();\n\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n if (visible && !dataset) {\n setDataset(true);\n document.body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset) {\n setDataset(undefined);\n delete document.body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const handleOverflow = (event) => {\n const { target } = event;\n onOverflow && !ref.current?.contains(target) && onOverflow(event);\n };\n\n const defaultDirection = Theme.getDirection() === DIRECTION_TYPE.LEFT;\n const renderer = IS_JEST || !portal ? (jsx) => jsx : ReactDOM.createPortal;\n const { testId } = others;\n\n return renderer(\n <Pressable\n preventDefault={preventDefault}\n role={others.role ? `${others.role}-overflow` : 'modal-overflow'}\n onPress={visible && overflow ? handleOverflow : undefined}\n className={styles(\n style.container,\n isDesktop && mobileBehavior && style.mobileBehavior,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && style.visible,\n onOverflow && style.onOverflow,\n )}\n style={{ height }}\n testId={testId ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n ref={ref}\n role={others.role || 'modal'}\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n >\n {(title || onBack || onClose) && (\n <View\n row\n className={styles(\n style.header,\n !defaultDirection && style.reverse,\n !onBack && style.hideBack,\n !onClose && style.hideClose,\n )}\n >\n {onBack && (\n <Button small squared transparent onPress={onBack} testId={testId ? `${testId}-button-back` : undefined}>\n <Icon value={ICON.LEFT} className={style.icon} />\n </Button>\n )}\n {title && (\n <Text headline={!isMobile} className={style.title}>\n {title}\n </Text>\n )}\n {onClose && (\n <Button\n small\n squared\n transparent\n onPress={onClose}\n testId={testId ? `${testId}-button-close` : undefined}\n className={style.button}\n >\n <Icon value={isDesktop || title !== undefined ? ICON.CLOSE : ICON.EXPAND_MORE} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n\n {React.Children.map(children, (child, index) =>\n !child || child === null\n ? null\n : React.cloneElement(child, { key: child.key || index, ...child.props, role: 'modal-content' }),\n )}\n </View>\n </Pressable>,\n document.body,\n );\n};\n\nModal.displayName = 'Component:Modal';\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n fit: PropTypes.bool,\n mobileBehavior: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n preventDefault: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onOverflow: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
/* ! WTF */
|
|
2
1
|
[data-mirai-modal] {
|
|
3
2
|
overflow: hidden;
|
|
4
3
|
}
|
|
5
4
|
|
|
6
5
|
.container {
|
|
7
6
|
display: flex;
|
|
8
|
-
height:
|
|
7
|
+
height: 100svh;
|
|
9
8
|
justify-content: center;
|
|
10
9
|
left: 0;
|
|
11
10
|
pointer-events: none;
|
|
12
11
|
position: fixed;
|
|
13
|
-
width:
|
|
12
|
+
width: 100svw;
|
|
14
13
|
z-index: var(--mirai-ui-modal-layer);
|
|
15
14
|
}
|
|
16
15
|
|
|
16
|
+
.container.mobileBehavior {
|
|
17
|
+
align-items: flex-end;
|
|
18
|
+
align-content: flex-end;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
17
22
|
.container.visible {
|
|
18
23
|
pointer-events: all;
|
|
19
24
|
}
|
|
@@ -21,22 +26,25 @@
|
|
|
21
26
|
.header {
|
|
22
27
|
align-items: center;
|
|
23
28
|
border-bottom: solid var(--mirai-ui-border-width) var(--mirai-ui-content-border);
|
|
24
|
-
|
|
29
|
+
gap: var(--mirai-ui-space-XS);
|
|
30
|
+
padding: var(--mirai-ui-modal-header-padding) calc(var(--mirai-ui-modal-header-padding) / 1.5);
|
|
25
31
|
width: 100%;
|
|
26
32
|
}
|
|
27
33
|
|
|
28
|
-
.header
|
|
29
|
-
|
|
30
|
-
padding:
|
|
31
|
-
text-align: center;
|
|
34
|
+
.header:not(.reverse).hideBack,
|
|
35
|
+
.header.reverse.hideClose {
|
|
36
|
+
padding-left: calc(var(--mirai-ui-modal-icon) + var(--mirai-ui-space-M));
|
|
32
37
|
}
|
|
33
38
|
|
|
34
|
-
.header
|
|
35
|
-
|
|
39
|
+
.header:not(.reverse).hideClose,
|
|
40
|
+
.header.reverse.hideBack {
|
|
41
|
+
padding-right: calc(var(--mirai-ui-modal-icon) + var(--mirai-ui-space-M));
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
.header .title
|
|
39
|
-
|
|
44
|
+
.header .title {
|
|
45
|
+
flex: 1;
|
|
46
|
+
padding: 0 var(--mirai-ui-modal-header-padding);
|
|
47
|
+
text-align: center;
|
|
40
48
|
}
|
|
41
49
|
|
|
42
50
|
.header .icon {
|
|
@@ -55,11 +63,19 @@
|
|
|
55
63
|
box-shadow var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
|
|
56
64
|
}
|
|
57
65
|
|
|
66
|
+
.container.mobileBehavior .modal {
|
|
67
|
+
transform: translateY(100%);
|
|
68
|
+
}
|
|
69
|
+
|
|
58
70
|
.modal.visible {
|
|
59
71
|
box-shadow: var(--mirai-ui-modal-shadow);
|
|
60
72
|
pointer-events: all;
|
|
61
73
|
}
|
|
62
74
|
|
|
75
|
+
.container.mobileBehavior .modal.visible {
|
|
76
|
+
transform: translateY(0%);
|
|
77
|
+
}
|
|
78
|
+
|
|
63
79
|
.overflow {
|
|
64
80
|
background-color: var(--mirai-ui-modal-overflow);
|
|
65
81
|
opacity: 0;
|
|
@@ -125,7 +141,7 @@
|
|
|
125
141
|
justify-content: flex-end;
|
|
126
142
|
}
|
|
127
143
|
|
|
128
|
-
.modal {
|
|
144
|
+
.modal:not(.mobileMode) {
|
|
129
145
|
border-radius: var(--mirai-ui-modal-border-radius);
|
|
130
146
|
opacity: 0;
|
|
131
147
|
transform: scale(1.1);
|
|
@@ -135,7 +151,7 @@
|
|
|
135
151
|
width: calc(var(--mirai-ui-breakpoint-content) / 3);
|
|
136
152
|
}
|
|
137
153
|
|
|
138
|
-
.modal.visible {
|
|
154
|
+
.modal.visible:not(.mobileMode) {
|
|
139
155
|
opacity: 1;
|
|
140
156
|
transform: scale(1);
|
|
141
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.stories.js","names":["title","Story","props","useState","visible","setVisible","visibleSecond","setVisibleSecond","handleBack","others","console","log","handleClose","handleOverflow","padding","storyName","args","blur","fit","overflow","portal","testId","style","argTypes"],"sources":["../../../src/components/Modal/Modal.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Button, Text, View } from '../../';\nimport { Modal } from './Modal';\n\nexport default {\n title: 'Components',\n};\n\nexport const Story = (props) => {\n const [visible, setVisible] = useState(true);\n const [visibleSecond, setVisibleSecond] = useState(false);\n\n const handleBack = (...others) => {\n console.log('<Modal>::onBack', ...others);\n setVisibleSecond(false);\n };\n\n const handleClose = (...others) => {\n console.log('<Modal>::onClose', ...others);\n setVisible(false);\n };\n\n const handleOverflow = (...others) => {\n console.log('<Modal>::onOverflow', ...others);\n handleClose(others);\n };\n\n return (\n <>\n <Text bold headline>\n What is Lorem Ipsum?\n </Text>\n <Text>\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's\n standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make\n a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing\n Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions\n of Lorem Ipsum.\n </Text>\n\n <Button onPress={() => setVisible(true)}>Show modal</Button>\n\n <Text bold headline>\n Where does it come from?\n </Text>\n <Text>\n Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin\n literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney\n College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and\n going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum\n comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by\n Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance.\n The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.\n </Text>\n\n <Modal {...props} onClose={handleClose} onOverflow={handleOverflow} visible={visible}>\n <View style={{ padding: 'var(--mirai-ui-space-L)' }}>\n <Text>\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi nemo adipisci consequatur et tenetur natus\n dolore, facere facilis placeat nostrum unde cumque. Voluptas enim rerum voluptatum, deserunt fugiat\n aspernatur excepturi.\n </Text>\n <Button onPress={() => setVisibleSecond(true)}>Show another Modal</Button>\n </View>\n </Modal>\n\n <Modal {...props} onBack={handleBack} onOverflow={handleOverflow} visible={visibleSecond}>\n <View style={{ padding: 'var(--mirai-ui-space-L)' }}>\n <Text>\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi nemo adipisci consequatur et tenetur natus\n dolore, facere facilis placeat nostrum unde cumque. Voluptas enim rerum voluptatum, deserunt fugiat\n aspernatur excepturi.\n </Text>\n </View>\n </Modal>\n </>\n );\n};\nStory.storyName = 'Modal';\n\nStory.args = {\n blur: false,\n fit: false,\n overflow: true,\n portal: false,\n title: 'title',\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEjB;EACbA,KAAK,EAAE;AACT,CAAC;AAAA;AAEM,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA8B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAArCC,OAAO;IAAEC,UAAU;EAC1B,iBAA0C,IAAAF,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlDG,aAAa;IAAEC,gBAAgB;EAEtC,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAkB;IAAA;IAAA,kCAAXC,MAAM;MAANA,MAAM;IAAA;IAC3B,YAAAC,OAAO,EAACC,GAAG,kBAAC,iBAAiB,SAAKF,MAAM,EAAC;IACzCF,gBAAgB,CAAC,KAAK,CAAC;EACzB,CAAC;EAED,IAAMK,WAAW,GAAG,SAAdA,WAAW,GAAkB;IAAA;IAAA,mCAAXH,MAAM;MAANA,MAAM;IAAA;IAC5B,aAAAC,OAAO,EAACC,GAAG,mBAAC,kBAAkB,SAAKF,MAAM,EAAC;IAC1CJ,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,IAAMQ,cAAc,GAAG,SAAjBA,cAAc,GAAkB;IAAA;IAAA,mCAAXJ,MAAM;MAANA,MAAM;IAAA;IAC/B,aAAAC,OAAO,EAACC,GAAG,mBAAC,qBAAqB,SAAKF,MAAM,EAAC;IAC7CG,WAAW,CAACH,MAAM,CAAC;EACrB,CAAC;EAED,oBACE,yEACE,6BAAC,MAAI;IAAC,IAAI;IAAC,QAAQ;EAAA,0BAEZ,eACP,6BAAC,MAAI,ykBAOE,eAEP,6BAAC,QAAM;IAAC,OAAO,EAAE;MAAA,OAAMJ,UAAU,CAAC,IAAI,CAAC;IAAA;EAAC,gBAAoB,eAE5D,6BAAC,MAAI;IAAC,IAAI;IAAC,QAAQ;EAAA,8BAEZ,eACP,6BAAC,MAAI,0wBAQE,eAEP,6BAAC,YAAK,eAAKH,KAAK;IAAE,OAAO,EAAEU,WAAY;IAAC,UAAU,EAAEC,cAAe;IAAC,OAAO,EAAET;EAAQ,iBACnF,6BAAC,MAAI;IAAC,KAAK,EAAE;MAAEU,OAAO,EAAE;IAA0B;EAAE,gBAClD,6BAAC,MAAI,8OAIE,eACP,6BAAC,QAAM;IAAC,OAAO,EAAE;MAAA,OAAMP,gBAAgB,CAAC,IAAI,CAAC;IAAA;EAAC,wBAA4B,CACrE,CACD,eAER,6BAAC,YAAK,eAAKL,KAAK;IAAE,MAAM,EAAEM,UAAW;IAAC,UAAU,EAAEK,cAAe;IAAC,OAAO,EAAEP;EAAc,iBACvF,6BAAC,MAAI;IAAC,KAAK,EAAE;MAAEQ,OAAO,EAAE;IAA0B;EAAE,gBAClD,6BAAC,MAAI,8OAIE,CACF,CACD,CACP;AAEP,CAAC;AAAC;AACFb,KAAK,CAACc,SAAS,GAAG,OAAO;AAEzBd,KAAK,CAACe,IAAI,GAAG;EACXC,IAAI,EAAE,KAAK;EACXC,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,IAAI;EACdC,MAAM,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"Modal.stories.js","names":["title","Story","props","useState","visible","setVisible","visibleSecond","setVisibleSecond","handleBack","others","console","log","handleClose","handleOverflow","padding","storyName","args","blur","fit","mobileBehavior","overflow","portal","testId","style","argTypes"],"sources":["../../../src/components/Modal/Modal.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Button, Text, View } from '../../';\nimport { Modal } from './Modal';\n\nexport default {\n title: 'Components',\n};\n\nexport const Story = (props) => {\n const [visible, setVisible] = useState(true);\n const [visibleSecond, setVisibleSecond] = useState(false);\n\n const handleBack = (...others) => {\n console.log('<Modal>::onBack', ...others);\n setVisibleSecond(false);\n };\n\n const handleClose = (...others) => {\n console.log('<Modal>::onClose', ...others);\n setVisible(false);\n };\n\n const handleOverflow = (...others) => {\n console.log('<Modal>::onOverflow', ...others);\n handleClose(others);\n };\n\n return (\n <>\n <Text bold headline>\n What is Lorem Ipsum?\n </Text>\n <Text>\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's\n standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make\n a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing\n Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions\n of Lorem Ipsum.\n </Text>\n\n <Button onPress={() => setVisible(true)}>Show modal</Button>\n\n <Text bold headline>\n Where does it come from?\n </Text>\n <Text>\n Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin\n literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney\n College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and\n going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum\n comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by\n Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance.\n The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.\n </Text>\n\n <Modal {...props} onClose={handleClose} onOverflow={handleOverflow} visible={visible}>\n <View style={{ padding: 'var(--mirai-ui-space-L)' }}>\n <Text>\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi nemo adipisci consequatur et tenetur natus\n dolore, facere facilis placeat nostrum unde cumque. Voluptas enim rerum voluptatum, deserunt fugiat\n aspernatur excepturi.\n </Text>\n <Button onPress={() => setVisibleSecond(true)}>Show another Modal</Button>\n </View>\n </Modal>\n\n <Modal {...props} onBack={handleBack} onOverflow={handleOverflow} visible={visibleSecond}>\n <View style={{ padding: 'var(--mirai-ui-space-L)' }}>\n <Text>\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi nemo adipisci consequatur et tenetur natus\n dolore, facere facilis placeat nostrum unde cumque. Voluptas enim rerum voluptatum, deserunt fugiat\n aspernatur excepturi.\n </Text>\n </View>\n </Modal>\n </>\n );\n};\nStory.storyName = 'Modal';\n\nStory.args = {\n blur: false,\n fit: false,\n mobileBehavior: false,\n overflow: true,\n portal: false,\n title: 'title',\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEjB;EACbA,KAAK,EAAE;AACT,CAAC;AAAA;AAEM,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA8B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAArCC,OAAO;IAAEC,UAAU;EAC1B,iBAA0C,IAAAF,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlDG,aAAa;IAAEC,gBAAgB;EAEtC,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAkB;IAAA;IAAA,kCAAXC,MAAM;MAANA,MAAM;IAAA;IAC3B,YAAAC,OAAO,EAACC,GAAG,kBAAC,iBAAiB,SAAKF,MAAM,EAAC;IACzCF,gBAAgB,CAAC,KAAK,CAAC;EACzB,CAAC;EAED,IAAMK,WAAW,GAAG,SAAdA,WAAW,GAAkB;IAAA;IAAA,mCAAXH,MAAM;MAANA,MAAM;IAAA;IAC5B,aAAAC,OAAO,EAACC,GAAG,mBAAC,kBAAkB,SAAKF,MAAM,EAAC;IAC1CJ,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,IAAMQ,cAAc,GAAG,SAAjBA,cAAc,GAAkB;IAAA;IAAA,mCAAXJ,MAAM;MAANA,MAAM;IAAA;IAC/B,aAAAC,OAAO,EAACC,GAAG,mBAAC,qBAAqB,SAAKF,MAAM,EAAC;IAC7CG,WAAW,CAACH,MAAM,CAAC;EACrB,CAAC;EAED,oBACE,yEACE,6BAAC,MAAI;IAAC,IAAI;IAAC,QAAQ;EAAA,0BAEZ,eACP,6BAAC,MAAI,ykBAOE,eAEP,6BAAC,QAAM;IAAC,OAAO,EAAE;MAAA,OAAMJ,UAAU,CAAC,IAAI,CAAC;IAAA;EAAC,gBAAoB,eAE5D,6BAAC,MAAI;IAAC,IAAI;IAAC,QAAQ;EAAA,8BAEZ,eACP,6BAAC,MAAI,0wBAQE,eAEP,6BAAC,YAAK,eAAKH,KAAK;IAAE,OAAO,EAAEU,WAAY;IAAC,UAAU,EAAEC,cAAe;IAAC,OAAO,EAAET;EAAQ,iBACnF,6BAAC,MAAI;IAAC,KAAK,EAAE;MAAEU,OAAO,EAAE;IAA0B;EAAE,gBAClD,6BAAC,MAAI,8OAIE,eACP,6BAAC,QAAM;IAAC,OAAO,EAAE;MAAA,OAAMP,gBAAgB,CAAC,IAAI,CAAC;IAAA;EAAC,wBAA4B,CACrE,CACD,eAER,6BAAC,YAAK,eAAKL,KAAK;IAAE,MAAM,EAAEM,UAAW;IAAC,UAAU,EAAEK,cAAe;IAAC,OAAO,EAAEP;EAAc,iBACvF,6BAAC,MAAI;IAAC,KAAK,EAAE;MAAEQ,OAAO,EAAE;IAA0B;EAAE,gBAClD,6BAAC,MAAI,8OAIE,CACF,CACD,CACP;AAEP,CAAC;AAAC;AACFb,KAAK,CAACc,SAAS,GAAG,OAAO;AAEzBd,KAAK,CAACe,IAAI,GAAG;EACXC,IAAI,EAAE,KAAK;EACXC,GAAG,EAAE,KAAK;EACVC,cAAc,EAAE,KAAK;EACrBC,QAAQ,EAAE,IAAI;EACdC,MAAM,EAAE,KAAK;EACbrB,KAAK,EAAE,OAAO;EACd;EACAsB,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;AAEDtB,KAAK,CAACuB,QAAQ,GAAG,CAAC,CAAC"}
|