@drumee/ui-toolkit 0.0.8 → 0.0.9
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/package.json +1 -1
- package/skeleton/index.js +2 -0
- package/skeleton/menu/index.js +2 -0
- package/skeleton/menu/slide-menu.js +72 -0
- package/style/acknowledgement.scss +68 -0
- package/style/dropdown.scss +143 -0
- package/style/form.scss +283 -0
- package/style/index.scss +241 -0
- package/style/overlay-wrapper.scss +26 -0
- package/style/terms-and-conditions.scss +151 -0
- package/ui-toolkit/LICENSE +21 -0
- package/ui-toolkit/README.md +1 -0
- package/ui-toolkit/index.js +19 -0
- package/ui-toolkit/skeletons/index.js +244 -0
- package/ui-toolkit/skin/index.scss +178 -0
- package/ui-toolkit/skin/skin.scss +167 -0
- package/ui-toolkit/widgets/dialog/index.js +41 -0
- package/ui-toolkit/widgets/dialog/skeleton/index.js +27 -0
- package/ui-toolkit/widgets/dialog/skin/index.scss +22 -0
- package/ui-toolkit/widgets/index.js +30 -0
- package/ui-toolkit/widgets/otp/index.js +148 -0
- package/ui-toolkit/widgets/otp/skeleton/index.js +85 -0
- package/ui-toolkit/widgets/otp/skin/index.scss +88 -0
- package/ui-toolkit/widgets/pwsetter/index.js +118 -0
- package/ui-toolkit/widgets/pwsetter/skeleton/index.js +98 -0
- package/ui-toolkit/widgets/pwsetter/skin/index.scss +142 -0
- package/widgets/otp/index.js +4 -3
package/style/index.scss
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
@use 'mixins/drumee.scss';
|
|
2
|
+
@use '../window/skin/index.scss';
|
|
3
|
+
@use 'topbar/topbar.scss';
|
|
4
|
+
|
|
5
|
+
.perdrix-manager {
|
|
6
|
+
&__root {
|
|
7
|
+
width: 100vw;
|
|
8
|
+
height: 100vh;
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&__ui {
|
|
14
|
+
box-shadow: none;
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
width: 100%;
|
|
18
|
+
background-size: cover;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__main {
|
|
22
|
+
width: 100%;
|
|
23
|
+
position: absolute;
|
|
24
|
+
height: 100%;
|
|
25
|
+
min-height: calc(100vh - 160px);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__icons-list {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: row;
|
|
31
|
+
height: 100%;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
align-items: center;
|
|
34
|
+
max-height: calc(100vh - 160px);
|
|
35
|
+
overflow-y: auto;
|
|
36
|
+
width: 100%;
|
|
37
|
+
|
|
38
|
+
&[data-device="mobile"] {
|
|
39
|
+
padding: 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&[data-wait="1"] {
|
|
43
|
+
&:after {
|
|
44
|
+
content: " ";
|
|
45
|
+
display: block;
|
|
46
|
+
width: 60px;
|
|
47
|
+
height: 60px;
|
|
48
|
+
border-radius: 50%;
|
|
49
|
+
border: 5px solid #879bff;
|
|
50
|
+
border-color: #879bff transparent #879bff transparent;
|
|
51
|
+
animation: drumee-spinner 1.2s linear infinite;
|
|
52
|
+
margin: auto;
|
|
53
|
+
position: absolute;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
&__icons-scroll {
|
|
60
|
+
margin: 0;
|
|
61
|
+
padding-top: 10px;
|
|
62
|
+
height: 100%;
|
|
63
|
+
width: 100%;
|
|
64
|
+
display: flex;
|
|
65
|
+
justify-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
align-items: center;
|
|
68
|
+
align-content: center;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&__layer {
|
|
72
|
+
position: fixed;
|
|
73
|
+
top: 0;
|
|
74
|
+
left: 0;
|
|
75
|
+
width: 0;
|
|
76
|
+
height: 0;
|
|
77
|
+
overflow: visible;
|
|
78
|
+
user-select: none;
|
|
79
|
+
z-index: 1300;
|
|
80
|
+
|
|
81
|
+
&.creating-hub {
|
|
82
|
+
.window__ui {
|
|
83
|
+
&[data-state="0"] {
|
|
84
|
+
.window__main {
|
|
85
|
+
opacity: 0.3;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&__wrapper.bug-report {
|
|
93
|
+
background-color: rgba(47 47 47 / 20%); //.2);
|
|
94
|
+
border-radius: drumee.$default-border-radius; //6px;
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
height: 35px;
|
|
97
|
+
justify-content: center;
|
|
98
|
+
position: absolute;
|
|
99
|
+
right: 30px; //5px;
|
|
100
|
+
top: 30px;
|
|
101
|
+
// width: 100px;
|
|
102
|
+
z-index: 20000;
|
|
103
|
+
padding: 0 20px;
|
|
104
|
+
box-shadow: 0 2px 2px 1px rgb(63 79 117 / 13%), 0 6px 16px 0 rgb(86 65 113 / 8%), 0 2px 14px 0 rgb(194 185 203 / 0%);
|
|
105
|
+
|
|
106
|
+
&:hover {
|
|
107
|
+
background-color: drumee.$core-default-background-hover;
|
|
108
|
+
z-index: 200000;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&::before {
|
|
112
|
+
backdrop-filter: blur(27px);
|
|
113
|
+
border-radius: 6px 6px 0 0;
|
|
114
|
+
content: "";
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&__bug-report {
|
|
120
|
+
align-items: center;
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
text-align: center;
|
|
123
|
+
@include drumee.typo($size: 14px, $line: 15px, $color: drumee.$core-default-text-reverse); //$size: 13px,
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&__properties {
|
|
127
|
+
&-container {
|
|
128
|
+
background-color: drumee.$core-default-background; // core.$ewhite;
|
|
129
|
+
display: flex;
|
|
130
|
+
flex-direction: column;
|
|
131
|
+
height: 100%;
|
|
132
|
+
justify-content: center;
|
|
133
|
+
max-height: calc(100vh - 260px);
|
|
134
|
+
width: 600px;
|
|
135
|
+
max-width: calc(100vw - 20px);
|
|
136
|
+
padding: 35px;
|
|
137
|
+
border-radius: drumee.$default-border-radius-small; //4px;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
&-content {
|
|
141
|
+
height: 100%;
|
|
142
|
+
max-height: 100%;
|
|
143
|
+
overflow-y: auto;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
&-text {
|
|
147
|
+
margin: 0 auto;
|
|
148
|
+
white-space: pre-wrap;
|
|
149
|
+
@include drumee.typo($size: 12px, $line: 15px, $color: drumee.$core-default-text-color);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
b {
|
|
154
|
+
font-weight: bold;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&__disk {
|
|
158
|
+
&-main {
|
|
159
|
+
width: 610px;
|
|
160
|
+
max-width: 100%;
|
|
161
|
+
position: absolute;
|
|
162
|
+
height: 380px;
|
|
163
|
+
background-color: drumee.$core-default-background ;
|
|
164
|
+
border-radius: drumee.$default-border-radius;
|
|
165
|
+
align-items: center;
|
|
166
|
+
min-height: 345px;
|
|
167
|
+
//box-shadow: $drumee-shadow-container;
|
|
168
|
+
padding-top: 60px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
&-content {
|
|
172
|
+
width: 100%;
|
|
173
|
+
height: 100%;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&__moving-tooltips {
|
|
178
|
+
position: absolute;
|
|
179
|
+
top: 0;
|
|
180
|
+
left: 0;
|
|
181
|
+
width: auto;
|
|
182
|
+
height: auto;
|
|
183
|
+
overflow: visible;
|
|
184
|
+
|
|
185
|
+
&[data-state="1"] {
|
|
186
|
+
z-index: 100003;
|
|
187
|
+
display: flex;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
&[data-state="0"] {
|
|
191
|
+
display: none;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
&::before {
|
|
195
|
+
content: " ";
|
|
196
|
+
height: 20px;
|
|
197
|
+
position: absolute;
|
|
198
|
+
left: 30px;
|
|
199
|
+
top: 47px;
|
|
200
|
+
transform: rotate(45deg);
|
|
201
|
+
width: 20px;
|
|
202
|
+
z-index: 1;
|
|
203
|
+
background-color: drumee.$ewhite;
|
|
204
|
+
box-shadow: 0 0px 8px 0 rgba(63, 79, 117, .06), 0 -1px 16px 0 rgba(86, 65, 113, .1), 0 2px 14px 0 rgba(194, 185, 203, .04);
|
|
205
|
+
border: 0.5px solid lightgrey;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
&[data-mode="map"]::before {
|
|
209
|
+
top: 190px;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
&[data-mode="single-line"]::before {
|
|
213
|
+
top: 29px;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.location-wrapper {
|
|
217
|
+
padding: 10px;
|
|
218
|
+
background-color: drumee.$core-default-background ;
|
|
219
|
+
border-radius: drumee.$default-border-radius;
|
|
220
|
+
background: drumee.$ewhite;
|
|
221
|
+
z-index: 100;
|
|
222
|
+
box-shadow: 0 0px 8px 0 rgba(63, 79, 117, .06), 0 -1px 16px 0 rgba(86, 65, 113, .1), 0 2px 14px 0 rgba(194, 185, 203, .04);
|
|
223
|
+
|
|
224
|
+
&.map {
|
|
225
|
+
width: 420px;
|
|
226
|
+
height: 200px;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
#map-container {
|
|
231
|
+
position: absolute;
|
|
232
|
+
height: 180px;
|
|
233
|
+
width: 400px;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.location-line-1,
|
|
237
|
+
.location-line-2 {
|
|
238
|
+
@include drumee.typo($size: 12px, $line: 18px, $color: drumee.$core-default-text-color);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
&-overlay {
|
|
2
|
+
&__wrapper[data-mode="open"] {
|
|
3
|
+
height: 100%;
|
|
4
|
+
position: absolute;
|
|
5
|
+
width: 100%;
|
|
6
|
+
z-index: 10;
|
|
7
|
+
|
|
8
|
+
& .content {
|
|
9
|
+
background: $core-transparency-container-overlay;
|
|
10
|
+
height: 100%;
|
|
11
|
+
position: absolute;
|
|
12
|
+
width: 100%;
|
|
13
|
+
z-index: 110;
|
|
14
|
+
border-radius: $default-border-radius-bottom;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
& .overlay-notifier {
|
|
18
|
+
align-items: center;
|
|
19
|
+
height: 100%;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
margin: auto;
|
|
22
|
+
position: absolute;
|
|
23
|
+
width: 100%;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
&-terms-and-conditions {
|
|
2
|
+
&__main {
|
|
3
|
+
height: 100%;
|
|
4
|
+
position: absolute;
|
|
5
|
+
width: 100%;
|
|
6
|
+
z-index: 10;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&__container {
|
|
10
|
+
align-items: center;
|
|
11
|
+
background: $core-transparency-container-overlay;//$dgc-overlay-background;
|
|
12
|
+
border-radius: $default-border-radius-bottom;//0 0 6px 6px;
|
|
13
|
+
height: 100%;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
position: absolute;
|
|
16
|
+
width: 100%;
|
|
17
|
+
z-index: 110;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__content {
|
|
21
|
+
border-radius : $default-border-radius;
|
|
22
|
+
background-color: $core-default-background;
|
|
23
|
+
box-shadow: $drumee-shadow-box;;//0 0 7px 0 rgba(0,0,0,0.14);
|
|
24
|
+
height: calc(100% - 110px);
|
|
25
|
+
width: calc( 100% - 380px);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__header {
|
|
29
|
+
height: 50px;
|
|
30
|
+
justify-content: space-between;
|
|
31
|
+
width: 100%;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&__title {
|
|
35
|
+
align-items: flex-end;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&__body {
|
|
39
|
+
height: 100%;
|
|
40
|
+
padding: 25px 54px 40px 54px;
|
|
41
|
+
width: 100%;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&__body-content {
|
|
45
|
+
border-radius : $default-border-radius;
|
|
46
|
+
height: 100%;
|
|
47
|
+
width: 100%;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&__wrapper,
|
|
51
|
+
&__iframe {
|
|
52
|
+
height: 100%;
|
|
53
|
+
width: 100%;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&__iframe {
|
|
57
|
+
&::-webkit-scrollbar {
|
|
58
|
+
height: 100%;
|
|
59
|
+
width: 3px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&::-webkit-scrollbar-thumb {
|
|
63
|
+
background-color: $default-scrollbar-color;
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&__icon {
|
|
69
|
+
color: $core-default-icon-neutral;
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
height: 24px;
|
|
72
|
+
width: 24px;
|
|
73
|
+
|
|
74
|
+
&.download {
|
|
75
|
+
height: 18px;
|
|
76
|
+
left: 10px;
|
|
77
|
+
top: 10px;
|
|
78
|
+
width: 18px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&.feather {
|
|
82
|
+
height: 36px;
|
|
83
|
+
right: 8px;
|
|
84
|
+
top: 8px;
|
|
85
|
+
width: 36px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&.close {
|
|
89
|
+
color:$core-default-thinline-icon;
|
|
90
|
+
height: 14px;
|
|
91
|
+
right: 10px;
|
|
92
|
+
top: 10px;
|
|
93
|
+
width: 14px;
|
|
94
|
+
&:hover{
|
|
95
|
+
color:$core-default-thinline-icon-hover;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&:hover {
|
|
100
|
+
color: $core-default-icon-hover;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&__note {
|
|
105
|
+
@include typo($size: 16px, $line: 18px, $color: $core-default-text-color);
|
|
106
|
+
|
|
107
|
+
&.title {
|
|
108
|
+
@include typo($size: 24px, $line: 24px, $color: $core-default-text-color);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// for buttons
|
|
114
|
+
|
|
115
|
+
&__buttons-wrapper {
|
|
116
|
+
justify-items: center;
|
|
117
|
+
width: 100%;
|
|
118
|
+
margin: 15px auto;
|
|
119
|
+
|
|
120
|
+
& .button {
|
|
121
|
+
border-radius : $default-border-radius;
|
|
122
|
+
@include typo($size: 16px, $line: 19px);
|
|
123
|
+
align-items:center;
|
|
124
|
+
height: 35px;
|
|
125
|
+
justify-content: center;
|
|
126
|
+
margin: 0px 0 0 12%;
|
|
127
|
+
max-width: 250px;
|
|
128
|
+
width: 100%;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
&__button-cancel {
|
|
133
|
+
@include typo($color: $btn-rollback-text);
|
|
134
|
+
border: 1px solid $btn-rollback-border ;
|
|
135
|
+
|
|
136
|
+
&:hover {
|
|
137
|
+
border:2px solid $btn-rollback-border-hover ;
|
|
138
|
+
color: $btn-rollback-text-hover;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
&__button-confirm {
|
|
143
|
+
@include typo($color: $btn-commit-text);
|
|
144
|
+
background-color: $btn-commit-background;
|
|
145
|
+
border: 1px solid $btn-commit-border;
|
|
146
|
+
|
|
147
|
+
&:hover {
|
|
148
|
+
background-color:$btn-commit-background-hover ;
|
|
149
|
+
border-color: $btn-commit-border-hover;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Drumee
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# ui-toolkit
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
function start() {
|
|
4
|
+
Kind.registerAddons({
|
|
5
|
+
'dtk_otp': import('./widgets/otp'),
|
|
6
|
+
'dtk_dialog': import('./widgets/dialog'),
|
|
7
|
+
'dtk_pwsetter': import('./widgets/pwsetter'),
|
|
8
|
+
})
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if (document.readyState == 'complete') {
|
|
12
|
+
start()
|
|
13
|
+
} else {
|
|
14
|
+
if (location.hash) {
|
|
15
|
+
document.addEventListener('drumee:plugins:ready', start);
|
|
16
|
+
} else {
|
|
17
|
+
document.addEventListener('drumee:router:ready', start);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
const haptic = 3000;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param {*} ui
|
|
6
|
+
* @param {*} opt
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function button(ui, opt) {
|
|
10
|
+
let { label, ico, service, sys_pn, className, priority = "primary", type, haptic } = opt;
|
|
11
|
+
const pfx = className || `${ui.fig.group}__button`;
|
|
12
|
+
let kids = []
|
|
13
|
+
if (label) kids.push(
|
|
14
|
+
Skeletons.Element({
|
|
15
|
+
className: `${pfx} btn`,
|
|
16
|
+
content: label,
|
|
17
|
+
tagName: _K.tag.span,
|
|
18
|
+
})
|
|
19
|
+
)
|
|
20
|
+
let main = Skeletons.Box.G;
|
|
21
|
+
if (ico) {
|
|
22
|
+
let el = Skeletons.Button.Svg({
|
|
23
|
+
className: `${pfx} icon`,
|
|
24
|
+
ico,
|
|
25
|
+
})
|
|
26
|
+
if ([_a.api].includes(type)) {
|
|
27
|
+
kids.unshift(el);
|
|
28
|
+
main = Skeletons.Box.X;
|
|
29
|
+
} else if ([_a.row].includes(type)) {
|
|
30
|
+
kids.push(el)
|
|
31
|
+
main = Skeletons.Box.X;
|
|
32
|
+
} else {
|
|
33
|
+
kids.push(el)
|
|
34
|
+
main = Skeletons.Box.G;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return main({
|
|
39
|
+
className: `${pfx}-main ${priority}`,
|
|
40
|
+
partHandler: [ui],
|
|
41
|
+
uiHandler: [ui],
|
|
42
|
+
sys_pn,
|
|
43
|
+
service,
|
|
44
|
+
haptic,
|
|
45
|
+
kidsOpt: {
|
|
46
|
+
active: 0,
|
|
47
|
+
},
|
|
48
|
+
kids
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param {*} ui
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
export function header(ui, content, tips) {
|
|
58
|
+
const fig = ui.fig.family;
|
|
59
|
+
let kids = [
|
|
60
|
+
Skeletons.Box.X({
|
|
61
|
+
className: `${fig}__logo-container`,
|
|
62
|
+
kids: [
|
|
63
|
+
Skeletons.Button.Svg({
|
|
64
|
+
ico: "raw-logo-drumee-icon",
|
|
65
|
+
className: `${fig}__logo-content`,
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
}),
|
|
69
|
+
|
|
70
|
+
Skeletons.Box.Y({
|
|
71
|
+
className: `${fig}__text-container`,
|
|
72
|
+
kids: [
|
|
73
|
+
Skeletons.Note({
|
|
74
|
+
className: `${fig}__title`,
|
|
75
|
+
content
|
|
76
|
+
}),
|
|
77
|
+
]
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
if (tips) {
|
|
83
|
+
kids.push(Skeletons.Box.Y({
|
|
84
|
+
className: `${fig}__text-container`,
|
|
85
|
+
kids: [
|
|
86
|
+
Skeletons.Note({
|
|
87
|
+
className: `${fig}__tips`,
|
|
88
|
+
tips
|
|
89
|
+
}),
|
|
90
|
+
]
|
|
91
|
+
}))
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
let a = Skeletons.Box.Y({
|
|
95
|
+
className: `${ui.fig.family}__header`,
|
|
96
|
+
debug: __filename,
|
|
97
|
+
kids
|
|
98
|
+
})
|
|
99
|
+
return a;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @param {*} ui
|
|
105
|
+
* @param {*} opt
|
|
106
|
+
* @returns
|
|
107
|
+
*/
|
|
108
|
+
export function entry(ui, opt) {
|
|
109
|
+
let { value, name, placeholder, label, sys_pn, service = _a.input, autocomplete } = opt;
|
|
110
|
+
autocomplete = autocomplete || name;
|
|
111
|
+
const pfx = `${ui.fig.family}__entry`;
|
|
112
|
+
let args = {
|
|
113
|
+
className: `${pfx}-input`,
|
|
114
|
+
name,
|
|
115
|
+
value,
|
|
116
|
+
formItem: name,
|
|
117
|
+
innerClass: name,
|
|
118
|
+
mode: _a.interactive,
|
|
119
|
+
service,
|
|
120
|
+
placeholder,
|
|
121
|
+
uiHandler: [ui],
|
|
122
|
+
autocomplete,
|
|
123
|
+
radio: ui._id
|
|
124
|
+
}
|
|
125
|
+
if (sys_pn) {
|
|
126
|
+
args.sys_pn = sys_pn;
|
|
127
|
+
args.partHandler = [ui];
|
|
128
|
+
}
|
|
129
|
+
return Skeletons.Box.Y({
|
|
130
|
+
className: `${pfx}-main`,
|
|
131
|
+
kids: [
|
|
132
|
+
Skeletons.Note({
|
|
133
|
+
className: `${pfx}-label ${name}`,
|
|
134
|
+
content: label,
|
|
135
|
+
}),
|
|
136
|
+
Skeletons.Entry(args)
|
|
137
|
+
]
|
|
138
|
+
})
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* @param {*} ui
|
|
145
|
+
* @param {*} cn
|
|
146
|
+
* @param {*} passmeter
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
export function password(ui, opt) {
|
|
150
|
+
const { placeholder, interactive = 1, name, service, sys_pn } = opt;
|
|
151
|
+
const pfx = `${ui.fig.family}__entry`;
|
|
152
|
+
return Skeletons.Box.X({
|
|
153
|
+
className: `${pfx}-main`,
|
|
154
|
+
sys_pn: 'wrapper-pw',
|
|
155
|
+
partHandler: [ui],
|
|
156
|
+
kids: [
|
|
157
|
+
Skeletons.EntryBox({
|
|
158
|
+
uiHandler: [ui],
|
|
159
|
+
type: _a.password,
|
|
160
|
+
className: `${pfx}-input`,
|
|
161
|
+
service: service || _e.submit,
|
|
162
|
+
name,
|
|
163
|
+
placeholder,
|
|
164
|
+
interactive,
|
|
165
|
+
sys_pn,
|
|
166
|
+
shower: 1
|
|
167
|
+
})
|
|
168
|
+
]
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
*
|
|
175
|
+
* @param {*} ui
|
|
176
|
+
* @param {*} cn
|
|
177
|
+
* @param {*} passmeter
|
|
178
|
+
* @returns
|
|
179
|
+
*/
|
|
180
|
+
export function password_box(ui, opt) {
|
|
181
|
+
const fig = ui.fig.family
|
|
182
|
+
return Skeletons.Box.Y({
|
|
183
|
+
className: `${fig}__form`,
|
|
184
|
+
kids: [
|
|
185
|
+
entry(ui, {
|
|
186
|
+
placeholder: LOCALE.EMAIL,
|
|
187
|
+
name: _a.email,
|
|
188
|
+
sys_pn: _a.email,
|
|
189
|
+
service: _a.input,
|
|
190
|
+
value: ui.mget(_a.email) || ""
|
|
191
|
+
}),
|
|
192
|
+
password(ui, {
|
|
193
|
+
placeholder: LOCALE.PASSWORD,
|
|
194
|
+
name: _a.password,
|
|
195
|
+
sys_pn: _a.password,
|
|
196
|
+
interactive: 1,
|
|
197
|
+
service: 'password-input'
|
|
198
|
+
}),
|
|
199
|
+
password(ui, {
|
|
200
|
+
placeholder: LOCALE.PASSWORD_CONFIRM,
|
|
201
|
+
name: "password2",
|
|
202
|
+
sys_pn: "password2",
|
|
203
|
+
}),
|
|
204
|
+
{ kind: 'dtk_pwsetter', sys_pn: 'pwsetter' },
|
|
205
|
+
button(ui, {
|
|
206
|
+
label: LOCALE.CREATE_ACCOUNT,
|
|
207
|
+
service: 'create-account',
|
|
208
|
+
type: _a.email,
|
|
209
|
+
sys_pn: "commit-button",
|
|
210
|
+
haptic
|
|
211
|
+
}),
|
|
212
|
+
]
|
|
213
|
+
})
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
*
|
|
218
|
+
* @param {*} ui
|
|
219
|
+
* @param {*} opt
|
|
220
|
+
* @returns
|
|
221
|
+
*/
|
|
222
|
+
export function dialog_box(ui, opt) {
|
|
223
|
+
const fig = ui.fig.family
|
|
224
|
+
const { title, message, buttons, content } = opt;
|
|
225
|
+
const Buttons = Skeletons.Box.X({
|
|
226
|
+
className: `${fig}__buttons`,
|
|
227
|
+
kids: buttons
|
|
228
|
+
})
|
|
229
|
+
|
|
230
|
+
return Skeletons.Box.Y({
|
|
231
|
+
className: `${fig}__main`,
|
|
232
|
+
debug: __filename,
|
|
233
|
+
kids: [
|
|
234
|
+
header(ui, title),
|
|
235
|
+
Skeletons.Element({ className: `${fig}__message`, content: message || LOCALE.ERROR_SERVER }),
|
|
236
|
+
content,
|
|
237
|
+
Buttons
|
|
238
|
+
]
|
|
239
|
+
})
|
|
240
|
+
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|