@cloudparker/moldex.js 0.0.65 → 0.0.67
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/services/dialog/dialog-service.d.ts +11 -11
- package/dist/services/navigation/navigation-service.d.ts +17 -0
- package/dist/services/navigation/navigation-service.js +38 -0
- package/dist/services/utils/melody-service.d.ts +5 -0
- package/dist/services/utils/melody-service.js +41 -0
- package/dist/tailwind.css +1 -1
- package/dist/views/core/button/components/button/button.svelte +84 -133
- package/dist/views/core/button/components/button/button.svelte.d.ts +8 -7
- package/dist/views/core/button/components/button-back/button-back.svelte +16 -29
- package/dist/views/core/button/components/button-close/button-close.svelte +2 -4
- package/dist/views/core/button/components/button-close/button-close.svelte.d.ts +2 -2
- package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte +16 -30
- package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +86 -0
- package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +38 -0
- package/dist/views/core/button/components/button-list-item/button-list-item.svelte +65 -132
- package/dist/views/core/button/components/button-list-item/button-list-item.svelte.d.ts +22 -31
- package/dist/views/core/button/components/button-menu/button-menu.svelte +72 -235
- package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +23 -43
- package/dist/views/core/button/components/button-ok/button-ok.svelte +2 -4
- package/dist/views/core/button/components/button-ok/button-ok.svelte.d.ts +2 -2
- package/dist/views/core/button/components/button-search/button-search.svelte +39 -0
- package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +31 -0
- package/dist/views/core/button/index.d.ts +8 -5
- package/dist/views/core/button/index.js +4 -2
- package/dist/views/core/content-area/components/content-area.svelte +27 -40
- package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte +33 -49
- package/dist/views/core/dialog/components/dialog/dialog.svelte +164 -263
- package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +12 -12
- package/dist/views/core/dialog/components/list-dialog/list-picker-dialog.svelte +112 -158
- package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte +18 -30
- package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte +13 -22
- package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte +35 -41
- package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte.d.ts +2 -2
- package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte +25 -40
- package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte.d.ts +2 -2
- package/dist/views/core/dialog/index.d.ts +2 -2
- package/dist/views/core/drawer/components/drawer/drawer.svelte +35 -57
- package/dist/views/core/icon/components/icon/icon.svelte +14 -26
- package/dist/views/core/icon/services/icon-path-service.d.ts +1 -0
- package/dist/views/core/icon/services/icon-path-service.js +1 -0
- package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte +25 -44
- package/dist/views/core/input/components/color-field/color-field.svelte +69 -81
- package/dist/views/core/input/components/color-field/color-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/combobox-field/combobox-field.svelte +256 -331
- package/dist/views/core/input/components/combobox-field/combobox-field.svelte.d.ts +18 -17
- package/dist/views/core/input/components/date-field/date-field.svelte +30 -39
- package/dist/views/core/input/components/date-field/date-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/datetime-field/datetime-field.svelte +12 -18
- package/dist/views/core/input/components/datetime-field/datetime-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/email-field/email-field.svelte +12 -17
- package/dist/views/core/input/components/email-field/email-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/file-field/file-field.svelte +64 -78
- package/dist/views/core/input/components/file-field/file-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/input-field/input-field.svelte +159 -261
- package/dist/views/core/input/components/input-field/input-field.svelte.d.ts +8 -8
- package/dist/views/core/input/components/label/label.svelte +10 -24
- package/dist/views/core/input/components/number-field/number-field.svelte +12 -18
- package/dist/views/core/input/components/number-field/number-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/password-field/password-field.svelte +57 -70
- package/dist/views/core/input/components/password-field/password-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/phone-field/phone-field.svelte +118 -172
- package/dist/views/core/input/components/phone-field/phone-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/radio-field/radio-field.svelte +53 -84
- package/dist/views/core/input/components/radio-field/radio-field.svelte.d.ts +7 -7
- package/dist/views/core/input/components/range-field/range-field.svelte +42 -66
- package/dist/views/core/input/components/range-field/range-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/search-field/search-field.svelte +45 -62
- package/dist/views/core/input/components/search-field/search-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/text-field/text-field.svelte +16 -21
- package/dist/views/core/input/components/text-field/text-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/textarea-field/textarea-field.svelte +12 -17
- package/dist/views/core/input/components/textarea-field/textarea-field.svelte.d.ts +2 -2
- package/dist/views/core/input/components/time-field/time-field.svelte +12 -17
- package/dist/views/core/input/components/time-field/time-field.svelte.d.ts +2 -2
- package/dist/views/core/input/index.d.ts +4 -3
- package/dist/views/core/navbar/components/navbar/navbar.svelte +39 -77
- package/dist/views/core/no-data/components/no-data/no-data.svelte +20 -37
- package/dist/views/core/pagination/components/pagination/pagination.svelte +73 -102
- package/dist/views/core/progressbar/components/progressbar/progressbar.svelte +23 -37
- package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte +2 -6
- package/dist/views/core/screen-detector/components/screen-detector.svelte +9 -13
- package/dist/views/core/sidebar/components/sidebar.svelte +23 -36
- package/dist/views/core/spinner/components/spinner/spinner.svelte +2 -7
- package/dist/views/core/text/components/text-await/text-await.svelte +2 -8
- package/dist/views/core/text/components/text-copy/text-copy.svelte +17 -28
- package/dist/views/core/text/components/text-country/text-country.svelte +29 -41
- package/dist/views/core/text/components/text-country-state/text-country-state.svelte +29 -37
- package/dist/views/core/text/components/text-currency/text-currency.svelte +10 -21
- package/dist/views/core/text/components/text-date/text-date.svelte +21 -33
- package/dist/views/core/text/components/text-email/text-email.svelte +4 -13
- package/dist/views/core/text/components/text-html/text-html.svelte +2 -3
- package/dist/views/core/text/components/text-phone/text-phone.svelte +4 -13
- package/dist/views/core/toast/components/toast/toast.svelte +21 -44
- package/package.json +1 -1
|
@@ -1,265 +1,163 @@
|
|
|
1
|
-
<script module lang="ts">
|
|
2
|
-
export type InputFieldSizeType = 'lg' | 'md' | 'sm' | 'xs';
|
|
3
|
-
export type InputFieldAppearanceType =
|
|
4
|
-
| 'normal'
|
|
5
|
-
| 'box'
|
|
6
|
-
| 'fill'
|
|
7
|
-
| 'underline'
|
|
8
|
-
| 'fill-underline'
|
|
9
|
-
| 'none';
|
|
1
|
+
<script module lang="ts"></script>
|
|
10
2
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
if (floatingLabel) {
|
|
170
|
-
if (size) {
|
|
171
|
-
let flpcn = '';
|
|
172
|
-
switch (size) {
|
|
173
|
-
case 'lg':
|
|
174
|
-
flpcn = ` px-1 peer-focus:px-1 peer-placeholder-shown:px-4 `;
|
|
175
|
-
floatingLabelTextClassName = 'text-base';
|
|
176
|
-
break;
|
|
177
|
-
case 'md':
|
|
178
|
-
flpcn = ' px-1 peer-focus:px-1 peer-placeholder-shown:px-2.5 ';
|
|
179
|
-
floatingLabelTextClassName = 'text-sm';
|
|
180
|
-
|
|
181
|
-
break;
|
|
182
|
-
case 'sm':
|
|
183
|
-
flpcn = ' px-1 peer-focus:px-1 peer-placeholder-shown:px-2';
|
|
184
|
-
floatingLabelTextClassName = 'text-xs';
|
|
185
|
-
break;
|
|
186
|
-
case 'xs':
|
|
187
|
-
flpcn = ' px-0 peer-focus:px-0 peer-placeholder-shown:px-1 ';
|
|
188
|
-
floatingLabelTextClassName = 'text-xs';
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
floatingLabelPaddingClassName = flpcn;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
floatingLabelClassName = `absolute duration-300 transform top-0 rounded -translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-0 peer-placeholder-shown:start-0 peer-focus:start-1 bg-white peer-focus:bg-white dark:bg-base-700 peer-focus:bg-base-800 peer-placeholder-shown:bg-transparent start-1 ${floatingLabelPaddingClassName} ${floatingLabelTextClassName}`;
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
|
|
198
|
-
$effect(() => {
|
|
199
|
-
if (appearance) {
|
|
200
|
-
switch (appearance) {
|
|
201
|
-
case 'normal':
|
|
202
|
-
appearanceClassName =
|
|
203
|
-
'border rounded-lg bg-base-100 dark:bg-base-700 border-base-300 dark:border-base-500 text-base-950 dark:text-base-50 focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500 focus:bg-base-50 dark:focus:bg-base-800 ';
|
|
204
|
-
break;
|
|
205
|
-
case 'box':
|
|
206
|
-
appearanceClassName =
|
|
207
|
-
'border bg-base-100 dark:bg-base-700 border-base-300 dark:border-base-500 text-base-950 dark:text-base-50 focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500 focus:bg-base-50 dark:focus:bg-base-800 ';
|
|
208
|
-
break;
|
|
209
|
-
case 'fill':
|
|
210
|
-
appearanceClassName =
|
|
211
|
-
' border-0 appearance-none focus:ring-0 bg-base-100 dark:bg-base-700 text-base-950 dark:text-base-50 focus:bg-base-50 dark:focus:bg-base-800 ';
|
|
212
|
-
break;
|
|
213
|
-
case 'underline':
|
|
214
|
-
appearanceClassName =
|
|
215
|
-
'bg-transparent border-0 border-b-2 appearance-none focus:ring-0 text-base-950 dark:text-base-50 border-base-300 dark:border-base-700 focus:border-primary-500 dark:focus:border-primary-500';
|
|
216
|
-
break;
|
|
217
|
-
case 'fill-underline':
|
|
218
|
-
appearanceClassName =
|
|
219
|
-
'border-0 border-b-2 appearance-none ring-0 text-base-950 dark:text-base-50 bg-base-100 dark:bg-base-700 border-base-300 dark:border-base-500 focus:border-primary-500 dark:focus:border-primary-500 ';
|
|
220
|
-
break;
|
|
221
|
-
case 'none':
|
|
222
|
-
appearanceClassName =
|
|
223
|
-
'border-0 focus:ring-0 appearance-none text-base-950 dark:text-base-50 bg-transparent dark:bg-transparent focus:bg-base-100 dark:focus:bg-base-800 hover:bg-base-100 dark:hover:bg-base-800';
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
$effect(() => {
|
|
230
|
-
if (size) {
|
|
231
|
-
switch (size) {
|
|
232
|
-
case 'lg':
|
|
233
|
-
sizeClassName = 'p-4 text-base';
|
|
234
|
-
break;
|
|
235
|
-
case 'md':
|
|
236
|
-
sizeClassName = 'p-2.5 text-sm';
|
|
237
|
-
break;
|
|
238
|
-
case 'sm':
|
|
239
|
-
sizeClassName = 'p-2 text-xs';
|
|
240
|
-
break;
|
|
241
|
-
case 'xs':
|
|
242
|
-
sizeClassName = 'p-1 text-xs';
|
|
243
|
-
break;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
$effect(() => {
|
|
249
|
-
if (name && !id) {
|
|
250
|
-
id = name;
|
|
251
|
-
} else if (id && !name) {
|
|
252
|
-
name = id;
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
$effect(() => {
|
|
257
|
-
setTimeout(() => {
|
|
258
|
-
if (inputRef && autofocus) {
|
|
259
|
-
inputRef.focus();
|
|
260
|
-
}
|
|
261
|
-
}, 300);
|
|
262
|
-
});
|
|
3
|
+
<script lang="ts">import Label from "../label/label.svelte";
|
|
4
|
+
let {
|
|
5
|
+
appearance = "normal",
|
|
6
|
+
ariaControls,
|
|
7
|
+
ariaExpanded,
|
|
8
|
+
autofocus = false,
|
|
9
|
+
className = "",
|
|
10
|
+
cols,
|
|
11
|
+
containerClassName = "",
|
|
12
|
+
contentSnippet,
|
|
13
|
+
contentSnippetClassName,
|
|
14
|
+
disabled = false,
|
|
15
|
+
floatingLabel = false,
|
|
16
|
+
hasRequiredSymbol = true,
|
|
17
|
+
id = "",
|
|
18
|
+
label = "",
|
|
19
|
+
labelClassName = "",
|
|
20
|
+
leftSnippet,
|
|
21
|
+
leftSnippetContainerClassName = "",
|
|
22
|
+
max,
|
|
23
|
+
maxlength,
|
|
24
|
+
min,
|
|
25
|
+
minlength,
|
|
26
|
+
multiple = false,
|
|
27
|
+
name = "",
|
|
28
|
+
title,
|
|
29
|
+
onBlur,
|
|
30
|
+
onChange,
|
|
31
|
+
onClick,
|
|
32
|
+
onDblClick,
|
|
33
|
+
onDrag,
|
|
34
|
+
onDragOver,
|
|
35
|
+
onDrop,
|
|
36
|
+
onFocus,
|
|
37
|
+
onInput,
|
|
38
|
+
onKeyDown,
|
|
39
|
+
onKeyPress,
|
|
40
|
+
onKeyUp,
|
|
41
|
+
onMouseDown,
|
|
42
|
+
onMouseUp,
|
|
43
|
+
pattern,
|
|
44
|
+
placeholder = "",
|
|
45
|
+
readonly = false,
|
|
46
|
+
required = false,
|
|
47
|
+
requiredSymbol = "*",
|
|
48
|
+
requiredSymbolColor = "red",
|
|
49
|
+
rightSnippet,
|
|
50
|
+
rightSnippetContainerClassName = "",
|
|
51
|
+
role,
|
|
52
|
+
rows = 5,
|
|
53
|
+
size = "md",
|
|
54
|
+
step,
|
|
55
|
+
type = "text",
|
|
56
|
+
value = $bindable()
|
|
57
|
+
} = $props();
|
|
58
|
+
let inputRef = $state(null);
|
|
59
|
+
let sizeClassName = $state("");
|
|
60
|
+
let appearanceClassName = $state("");
|
|
61
|
+
let floatingLabelClassName = $state("");
|
|
62
|
+
let floatingLabelPaddingClassName = $state("");
|
|
63
|
+
let floatingLabelTextClassName = $state("");
|
|
64
|
+
export function focus() {
|
|
65
|
+
inputRef && inputRef.focus();
|
|
66
|
+
}
|
|
67
|
+
export function getElement() {
|
|
68
|
+
return inputRef;
|
|
69
|
+
}
|
|
70
|
+
export function select() {
|
|
71
|
+
return inputRef && inputRef.select();
|
|
72
|
+
}
|
|
73
|
+
$effect(() => {
|
|
74
|
+
if (floatingLabel || leftSnippet != null || rightSnippet != null) {
|
|
75
|
+
containerClassName = (containerClassName || "") + " relative";
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
$effect(() => {
|
|
79
|
+
if (floatingLabel) {
|
|
80
|
+
if (size) {
|
|
81
|
+
let flpcn = "";
|
|
82
|
+
switch (size) {
|
|
83
|
+
case "lg":
|
|
84
|
+
flpcn = ` px-1 peer-focus:px-1 peer-placeholder-shown:px-4 `;
|
|
85
|
+
floatingLabelTextClassName = "text-base";
|
|
86
|
+
break;
|
|
87
|
+
case "md":
|
|
88
|
+
flpcn = " px-1 peer-focus:px-1 peer-placeholder-shown:px-2.5 ";
|
|
89
|
+
floatingLabelTextClassName = "text-sm";
|
|
90
|
+
break;
|
|
91
|
+
case "sm":
|
|
92
|
+
flpcn = " px-1 peer-focus:px-1 peer-placeholder-shown:px-2";
|
|
93
|
+
floatingLabelTextClassName = "text-xs";
|
|
94
|
+
break;
|
|
95
|
+
case "xs":
|
|
96
|
+
flpcn = " px-0 peer-focus:px-0 peer-placeholder-shown:px-1 ";
|
|
97
|
+
floatingLabelTextClassName = "text-xs";
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
floatingLabelPaddingClassName = flpcn;
|
|
101
|
+
}
|
|
102
|
+
floatingLabelClassName = `absolute duration-300 transform top-0 rounded -translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-0 peer-placeholder-shown:start-0 peer-focus:start-1 bg-white peer-focus:bg-white dark:bg-base-700 peer-focus:bg-base-800 peer-placeholder-shown:bg-transparent start-1 ${floatingLabelPaddingClassName} ${floatingLabelTextClassName}`;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
$effect(() => {
|
|
106
|
+
if (appearance) {
|
|
107
|
+
switch (appearance) {
|
|
108
|
+
case "normal":
|
|
109
|
+
appearanceClassName = "border rounded-lg bg-base-100 dark:bg-base-700 border-base-300 dark:border-base-500 text-base-950 dark:text-base-50 focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500 focus:bg-base-50 dark:focus:bg-base-800 ";
|
|
110
|
+
break;
|
|
111
|
+
case "box":
|
|
112
|
+
appearanceClassName = "border bg-base-100 dark:bg-base-700 border-base-300 dark:border-base-500 text-base-950 dark:text-base-50 focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500 focus:bg-base-50 dark:focus:bg-base-800 ";
|
|
113
|
+
break;
|
|
114
|
+
case "fill":
|
|
115
|
+
appearanceClassName = " border-0 appearance-none focus:ring-0 bg-base-100 dark:bg-base-700 text-base-950 dark:text-base-50 focus:bg-base-50 dark:focus:bg-base-800 ";
|
|
116
|
+
break;
|
|
117
|
+
case "underline":
|
|
118
|
+
appearanceClassName = "bg-transparent border-0 border-b-2 appearance-none focus:ring-0 text-base-950 dark:text-base-50 border-base-300 dark:border-base-700 focus:border-primary-500 dark:focus:border-primary-500";
|
|
119
|
+
break;
|
|
120
|
+
case "fill-underline":
|
|
121
|
+
appearanceClassName = "border-0 border-b-2 appearance-none ring-0 text-base-950 dark:text-base-50 bg-base-100 dark:bg-base-700 border-base-300 dark:border-base-500 focus:border-primary-500 dark:focus:border-primary-500 ";
|
|
122
|
+
break;
|
|
123
|
+
case "none":
|
|
124
|
+
appearanceClassName = "border-0 focus:ring-0 appearance-none text-base-950 dark:text-base-50 bg-transparent dark:bg-transparent focus:bg-base-100 dark:focus:bg-base-800 hover:bg-base-100 dark:hover:bg-base-800";
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
$effect(() => {
|
|
130
|
+
if (size) {
|
|
131
|
+
switch (size) {
|
|
132
|
+
case "lg":
|
|
133
|
+
sizeClassName = "p-4 text-base";
|
|
134
|
+
break;
|
|
135
|
+
case "md":
|
|
136
|
+
sizeClassName = "p-2.5 text-sm";
|
|
137
|
+
break;
|
|
138
|
+
case "sm":
|
|
139
|
+
sizeClassName = "p-2 text-xs";
|
|
140
|
+
break;
|
|
141
|
+
case "xs":
|
|
142
|
+
sizeClassName = "p-1 text-xs";
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
$effect(() => {
|
|
148
|
+
if (name && !id) {
|
|
149
|
+
id = name;
|
|
150
|
+
} else if (id && !name) {
|
|
151
|
+
name = id;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
$effect(() => {
|
|
155
|
+
setTimeout(() => {
|
|
156
|
+
if (inputRef && autofocus) {
|
|
157
|
+
inputRef.focus();
|
|
158
|
+
}
|
|
159
|
+
}, 10);
|
|
160
|
+
});
|
|
263
161
|
</script>
|
|
264
162
|
|
|
265
163
|
{#snippet labelSnippet()}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export type
|
|
3
|
-
export type
|
|
4
|
-
export type
|
|
5
|
-
appearance?:
|
|
1
|
+
export type InputFieldSize = 'lg' | 'md' | 'sm' | 'xs';
|
|
2
|
+
export type InputFieldAppearance = 'normal' | 'box' | 'fill' | 'underline' | 'fill-underline' | 'none';
|
|
3
|
+
export type InputValue = any | string | string[] | number | number[] | Date | Date[] | File | File[] | null | undefined;
|
|
4
|
+
export type InputFieldProps = {
|
|
5
|
+
appearance?: InputFieldAppearance;
|
|
6
6
|
ariaControls?: string;
|
|
7
7
|
ariaExpanded?: boolean;
|
|
8
8
|
autofocus?: boolean;
|
|
@@ -52,10 +52,10 @@ export type InputFieldPropsType = {
|
|
|
52
52
|
rightSnippetContainerClassName?: string;
|
|
53
53
|
role?: AriaRole;
|
|
54
54
|
rows?: number;
|
|
55
|
-
size?:
|
|
55
|
+
size?: InputFieldSize;
|
|
56
56
|
step?: number;
|
|
57
57
|
type?: HTMLInputTypeAttribute | 'textarea';
|
|
58
|
-
value?:
|
|
58
|
+
value?: InputValue;
|
|
59
59
|
};
|
|
60
60
|
import type { Snippet } from 'svelte';
|
|
61
61
|
import type { HTMLInputTypeAttribute, AriaRole } from 'svelte/elements';
|
|
@@ -72,7 +72,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
72
72
|
};
|
|
73
73
|
z_$$bindings?: Bindings;
|
|
74
74
|
}
|
|
75
|
-
declare const InputField: $$__sveltets_2_IsomorphicComponent<
|
|
75
|
+
declare const InputField: $$__sveltets_2_IsomorphicComponent<InputFieldProps, {
|
|
76
76
|
[evt: string]: CustomEvent<any>;
|
|
77
77
|
}, {}, {
|
|
78
78
|
focus: () => void;
|
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
requiredSymbol?: string;
|
|
12
|
-
hasRequiredSymbol?: boolean;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
let {
|
|
16
|
-
forName,
|
|
17
|
-
label = '',
|
|
18
|
-
className = '',
|
|
19
|
-
required = false,
|
|
20
|
-
requiredSymbolColor = 'red',
|
|
21
|
-
requiredSymbol = '*',
|
|
22
|
-
hasRequiredSymbol = true,
|
|
23
|
-
children
|
|
24
|
-
}: PropsType = $props();
|
|
1
|
+
<script lang="ts">let {
|
|
2
|
+
forName,
|
|
3
|
+
label = "",
|
|
4
|
+
className = "",
|
|
5
|
+
required = false,
|
|
6
|
+
requiredSymbolColor = "red",
|
|
7
|
+
requiredSymbol = "*",
|
|
8
|
+
hasRequiredSymbol = true,
|
|
9
|
+
children
|
|
10
|
+
} = $props();
|
|
25
11
|
</script>
|
|
26
12
|
|
|
27
13
|
<label
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return inputFieldRef;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function select(){
|
|
17
|
-
inputFieldRef && inputFieldRef.select();
|
|
18
|
-
}
|
|
1
|
+
<script lang="ts">import InputField, {} from "../input-field/input-field.svelte";
|
|
2
|
+
let { value = $bindable(), ...props } = $props();
|
|
3
|
+
let inputFieldRef = $state(null);
|
|
4
|
+
export function focus() {
|
|
5
|
+
inputFieldRef?.focus();
|
|
6
|
+
}
|
|
7
|
+
export function getElement() {
|
|
8
|
+
return inputFieldRef;
|
|
9
|
+
}
|
|
10
|
+
export function select() {
|
|
11
|
+
inputFieldRef && inputFieldRef.select();
|
|
12
|
+
}
|
|
19
13
|
</script>
|
|
20
14
|
|
|
21
15
|
<InputField bind:this={inputFieldRef} {...props} type="number" bind:value />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type InputFieldProps } from '../input-field/input-field.svelte';
|
|
2
2
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
3
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
4
|
$$bindings?: Bindings;
|
|
@@ -12,7 +12,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
12
12
|
};
|
|
13
13
|
z_$$bindings?: Bindings;
|
|
14
14
|
}
|
|
15
|
-
declare const NumberField: $$__sveltets_2_IsomorphicComponent<
|
|
15
|
+
declare const NumberField: $$__sveltets_2_IsomorphicComponent<InputFieldProps, {
|
|
16
16
|
[evt: string]: CustomEvent<any>;
|
|
17
17
|
}, {}, {
|
|
18
18
|
focus: () => void;
|