sakana-element 2.1.4 → 2.2.0

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.
Files changed (85) hide show
  1. package/README.md +9 -6
  2. package/dist/es/Avatar-CxsRW-wl.js +9 -0
  3. package/dist/es/Badge-CoFWwBwv.js +14 -0
  4. package/dist/es/Breadcrumb-BtrwTVKW.js +15 -0
  5. package/dist/es/{Button-fW_ZOLmT.js → Button-S_31-UWJ.js} +3 -3
  6. package/dist/es/Card-DcW6nHYD.js +16 -0
  7. package/dist/es/Collapse-DsS7M-m3.js +53 -0
  8. package/dist/es/ConfigProvider-BgIewHXP.js +44 -0
  9. package/dist/es/{Dropdown-49nf6F8P.js → Dropdown-GcomGMAI.js} +10 -10
  10. package/dist/es/FileInput-BQ59woas.js +33 -0
  11. package/dist/es/Form-j90EzLXU.js +122 -0
  12. package/dist/es/{Input-DBPpvf0Y.js → Input-CiE4bPJN.js} +4 -4
  13. package/dist/es/Link-B9B2APZq.js +11 -0
  14. package/dist/es/Loading-BW99pE5N.js +92 -0
  15. package/dist/es/Message-DCNnTUje.js +123 -0
  16. package/dist/es/{Notification-D4RYHV9o.js → Notification-CBzY5904.js} +14 -14
  17. package/dist/es/Popconfirm-DF6d2ORS.js +23 -0
  18. package/dist/es/Select-Dwqv8isB.js +133 -0
  19. package/dist/es/Switch-B1Gnv1tB.js +34 -0
  20. package/dist/es/{Tooltip-HWx_i2FA.js → Tooltip-k6gKnMyt.js} +3 -3
  21. package/dist/es/hooks-BaG7l8K5.js +116 -0
  22. package/dist/es/index.js +73 -63
  23. package/dist/index.css +1 -1
  24. package/dist/theme/Alert.css +1 -1
  25. package/dist/theme/Avatar.css +116 -0
  26. package/dist/theme/Badge.css +36 -30
  27. package/dist/theme/Breadcrumb.css +150 -0
  28. package/dist/theme/Button.css +216 -216
  29. package/dist/theme/Card.css +170 -19
  30. package/dist/theme/Collapse.css +214 -54
  31. package/dist/theme/FileInput.css +365 -0
  32. package/dist/theme/Form.css +65 -34
  33. package/dist/theme/Link.css +50 -0
  34. package/dist/theme/Loading.css +154 -4
  35. package/dist/theme/Message.css +7 -4
  36. package/dist/theme/Notification.css +21 -21
  37. package/dist/theme/Popconfirm.css +5 -5
  38. package/dist/theme/Select.css +78 -78
  39. package/dist/theme/index.css +1 -5
  40. package/dist/types/components/Avatar/index.d.ts +30 -0
  41. package/dist/types/components/Avatar/types.d.ts +10 -0
  42. package/dist/types/components/Badge/types.d.ts +1 -0
  43. package/dist/types/components/Breadcrumb/constants.d.ts +3 -0
  44. package/dist/types/components/Breadcrumb/index.d.ts +45 -0
  45. package/dist/types/components/Breadcrumb/types.d.ts +13 -0
  46. package/dist/types/components/Card/types.d.ts +6 -0
  47. package/dist/types/components/Collapse/constants.d.ts +3 -0
  48. package/dist/types/components/Collapse/index.d.ts +9 -3
  49. package/dist/types/components/Collapse/types.d.ts +12 -0
  50. package/dist/types/components/FileInput/constants.d.ts +3 -0
  51. package/dist/types/components/FileInput/index.d.ts +58 -0
  52. package/dist/types/components/FileInput/types.d.ts +24 -0
  53. package/dist/types/components/Form/types.d.ts +17 -7
  54. package/dist/types/components/Input/index.d.ts +5 -5
  55. package/dist/types/components/Link/index.d.ts +34 -0
  56. package/dist/types/components/Link/types.d.ts +10 -0
  57. package/dist/types/components/Loading/index.d.ts +25 -0
  58. package/dist/types/components/Loading/types.d.ts +9 -0
  59. package/dist/types/components/Message/types.d.ts +2 -2
  60. package/dist/types/components/MessageBox/types.d.ts +2 -2
  61. package/dist/types/components/Notification/index.d.ts +1 -1
  62. package/dist/types/components/Notification/methods.d.ts +3 -1
  63. package/dist/types/components/Notification/types.d.ts +2 -2
  64. package/dist/types/components/Select/constants.d.ts +2 -1
  65. package/dist/types/components/Select/index.d.ts +11 -11
  66. package/dist/types/components/Select/useKeyMap.d.ts +1 -1
  67. package/dist/types/components/index.d.ts +4 -0
  68. package/dist/types/hooks/vitest.setup.d.ts +4 -0
  69. package/dist/umd/index.css +1 -1
  70. package/dist/umd/index.css.gz +0 -0
  71. package/dist/umd/index.umd.cjs +5 -14
  72. package/dist/umd/index.umd.cjs.gz +0 -0
  73. package/package.json +59 -60
  74. package/dist/es/Badge-BG-vYP8Y.js +0 -13
  75. package/dist/es/Card-BCBnlVi_.js +0 -12
  76. package/dist/es/Collapse-B08VhCVq.js +0 -38
  77. package/dist/es/ConfigProvider-DZO1d5Eq.js +0 -44
  78. package/dist/es/Form-CGiTDSGI.js +0 -108
  79. package/dist/es/Loading-DlygqGOv.js +0 -88
  80. package/dist/es/Message-ganFfLeU.js +0 -123
  81. package/dist/es/Popconfirm-Cop44KwQ.js +0 -22
  82. package/dist/es/Select-TIoGsqKv.js +0 -133
  83. package/dist/es/Switch-CHjcLtHs.js +0 -34
  84. package/dist/es/hooks-CYdEHUVd.js +0 -105
  85. package/dist/theme/fonts/zpix.ttf +0 -0
@@ -0,0 +1,365 @@
1
+ /* FileInput Variables */
2
+ .px-file-input {
3
+ --px-file-input-text-color: var(--px-text-color-primary);
4
+ --px-file-input-border-color: var(--px-border-color);
5
+ --px-file-input-hover-border-color: var(--px-hover-border-color);
6
+ --px-file-input-bg-color: var(--px-fill-color-blank);
7
+ --px-file-input-placeholder-color: var(--px-text-color-placeholder);
8
+ --px-file-input-shadow-color: var(--px-shadow-color);
9
+ --px-file-input-hover-shadow-color: var(--px-shadow-color);
10
+ --px-file-input-trigger-bg-color: var(--px-fill-color-dark);
11
+ --px-file-input-trigger-text-color: var(--px-text-color-primary);
12
+ --px-file-input-trigger-hover-bg-color: var(--px-fill-color-darker);
13
+ --px-file-input-icon-color: var(--px-text-color-secondary);
14
+ --px-file-input-clear-hover-color: var(--px-text-color-primary);
15
+ }
16
+ /* Base FileInput Styles */
17
+ .px-file-input {
18
+ --px-file-input-height: 36px;
19
+ position: relative;
20
+ font-size: var(--px-font-size-base);
21
+ font-family: var(--px-font-family);
22
+ display: inline-flex;
23
+ width: 100%;
24
+ line-height: var(--px-file-input-height);
25
+ box-sizing: border-box;
26
+ vertical-align: middle;
27
+ }
28
+ /* Disabled state */
29
+ .px-file-input.is-disabled {
30
+ cursor: not-allowed;
31
+ }
32
+ .px-file-input.is-disabled .px-file-input__wrapper {
33
+ opacity: 0.6;
34
+ cursor: not-allowed;
35
+ }
36
+ .px-file-input.is-disabled .px-file-input__wrapper::before {
37
+ background: var(--px-disabled-border-color);
38
+ }
39
+ .px-file-input.is-disabled .px-file-input__wrapper::after {
40
+ background: var(--px-disabled-bg-color);
41
+ }
42
+ .px-file-input.is-disabled .px-file-input__trigger {
43
+ cursor: not-allowed;
44
+ }
45
+ .px-file-input.is-disabled .px-file-input__name {
46
+ color: var(--px-disabled-text-color);
47
+ cursor: not-allowed;
48
+ }
49
+ /* FileInput Wrapper - Main pixel-style container */
50
+ .px-file-input__wrapper {
51
+ display: inline-flex;
52
+ flex-grow: 1;
53
+ align-items: center;
54
+ background: transparent;
55
+ border: none;
56
+ position: relative;
57
+ transition: none;
58
+ height: var(--px-file-input-height);
59
+ padding: 2px;
60
+ box-sizing: border-box;
61
+
62
+ /* Pixel shadow via drop-shadow */
63
+ filter: drop-shadow(
64
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-shadow-color)
65
+ );
66
+ }
67
+ /* Border layer — filled with border color, clipped to pixel shape */
68
+ .px-file-input__wrapper::before {
69
+ content: "";
70
+ position: absolute;
71
+ inset: 0;
72
+ background: var(--px-file-input-border-color);
73
+ clip-path: polygon(
74
+ 0 4px,
75
+ 2px 4px,
76
+ 2px 2px,
77
+ 4px 2px,
78
+ 4px 0,
79
+ calc(100% - 4px) 0,
80
+ calc(100% - 4px) 2px,
81
+ calc(100% - 2px) 2px,
82
+ calc(100% - 2px) 4px,
83
+ 100% 4px,
84
+ 100% calc(100% - 4px),
85
+ calc(100% - 2px) calc(100% - 4px),
86
+ calc(100% - 2px) calc(100% - 2px),
87
+ calc(100% - 4px) calc(100% - 2px),
88
+ calc(100% - 4px) 100%,
89
+ 4px 100%,
90
+ 4px calc(100% - 2px),
91
+ 2px calc(100% - 2px),
92
+ 2px calc(100% - 4px),
93
+ 0 calc(100% - 4px)
94
+ );
95
+ z-index: -1;
96
+ }
97
+ /* Fill layer — inset by border width, filled with bg color */
98
+ .px-file-input__wrapper::after {
99
+ content: "";
100
+ position: absolute;
101
+ inset: 2px;
102
+ background: var(--px-file-input-bg-color);
103
+ clip-path: polygon(
104
+ 0 4px,
105
+ 2px 4px,
106
+ 2px 2px,
107
+ 4px 2px,
108
+ 4px 0,
109
+ calc(100% - 4px) 0,
110
+ calc(100% - 4px) 2px,
111
+ calc(100% - 2px) 2px,
112
+ calc(100% - 2px) 4px,
113
+ 100% 4px,
114
+ 100% calc(100% - 4px),
115
+ calc(100% - 2px) calc(100% - 4px),
116
+ calc(100% - 2px) calc(100% - 2px),
117
+ calc(100% - 4px) calc(100% - 2px),
118
+ calc(100% - 4px) 100%,
119
+ 4px 100%,
120
+ 4px calc(100% - 2px),
121
+ 2px calc(100% - 2px),
122
+ 2px calc(100% - 4px),
123
+ 0 calc(100% - 4px)
124
+ );
125
+ z-index: -1;
126
+ }
127
+ .px-file-input__wrapper:hover::before {
128
+ background: var(--px-file-input-hover-border-color);
129
+ }
130
+ /* Hidden native file input */
131
+ .px-file-input__native {
132
+ position: absolute;
133
+ width: 0;
134
+ height: 0;
135
+ overflow: hidden;
136
+ opacity: 0;
137
+ pointer-events: none;
138
+ }
139
+ /* Trigger button */
140
+ .px-file-input__trigger {
141
+ display: inline-flex;
142
+ align-items: center;
143
+ justify-content: center;
144
+ align-self: stretch;
145
+ padding: 0 12px;
146
+ background: var(--px-file-input-trigger-bg-color);
147
+ color: var(--px-file-input-trigger-text-color);
148
+ font-family: var(--px-font-family);
149
+ font-size: inherit;
150
+ cursor: pointer;
151
+ white-space: nowrap;
152
+ position: relative;
153
+ z-index: 1;
154
+ border-right: 2px solid var(--px-file-input-border-color);
155
+ user-select: none;
156
+
157
+ /* Notch top-left and bottom-left corners to match the pixel staircase border */
158
+ clip-path: polygon(
159
+ 0 2px,
160
+ 2px 2px,
161
+ 2px 0,
162
+ 100% 0,
163
+ 100% 100%,
164
+ 2px 100%,
165
+ 2px calc(100% - 2px),
166
+ 0 calc(100% - 2px)
167
+ );
168
+ }
169
+ .px-file-input__trigger:hover {
170
+ background: var(--px-file-input-trigger-hover-bg-color);
171
+ }
172
+ /* File name display */
173
+ .px-file-input__name {
174
+ flex: 1;
175
+ align-self: stretch;
176
+ display: flex;
177
+ align-items: center;
178
+ padding: 0 12px;
179
+ color: var(--px-file-input-text-color);
180
+ font-family: var(--px-font-family);
181
+ font-size: inherit;
182
+ overflow: hidden;
183
+ text-overflow: ellipsis;
184
+ white-space: nowrap;
185
+ position: relative;
186
+ z-index: 1;
187
+ }
188
+ .px-file-input__name:only-of-type {
189
+ color: var(--px-file-input-placeholder-color);
190
+ }
191
+ /* Clear icon */
192
+ .px-file-input__clear {
193
+ display: flex;
194
+ align-items: center;
195
+ justify-content: center;
196
+ align-self: stretch;
197
+ padding-right: 8px;
198
+ color: var(--px-file-input-icon-color);
199
+ cursor: pointer;
200
+ position: relative;
201
+ z-index: 1;
202
+ }
203
+ .px-file-input__clear:hover {
204
+ color: var(--px-file-input-clear-hover-color);
205
+ }
206
+ /* Size variants */
207
+ .px-file-input--large {
208
+ --px-file-input-height: 44px;
209
+ font-size: var(--px-font-size-large);
210
+ }
211
+ .px-file-input--large .px-file-input__trigger {
212
+ padding: 0 16px;
213
+ }
214
+ .px-file-input--small {
215
+ --px-file-input-height: 28px;
216
+ font-size: var(--px-font-size-small);
217
+ }
218
+ .px-file-input--small .px-file-input__wrapper {
219
+ filter: drop-shadow(2px 2px 0px var(--px-file-input-shadow-color));
220
+ }
221
+ .px-file-input--small .px-file-input__trigger {
222
+ padding: 0 8px;
223
+ }
224
+ .px-file-input--small .px-file-input__name {
225
+ padding: 0 8px;
226
+ }
227
+ /* Color variants */
228
+ .px-file-input--primary {
229
+ --px-file-input-border-color: var(--px-color-primary);
230
+ --px-file-input-hover-border-color: var(--px-color-primary-dark);
231
+ --px-file-input-shadow-color: var(--px-color-primary-dark);
232
+ }
233
+ .px-file-input--primary .px-file-input__wrapper {
234
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-primary-dark));
235
+ }
236
+ .px-file-input--primary .px-file-input__trigger {
237
+ border-right-color: var(--px-color-primary);
238
+ }
239
+ .px-file-input--success {
240
+ --px-file-input-border-color: var(--px-color-success);
241
+ --px-file-input-hover-border-color: var(--px-color-success-dark);
242
+ --px-file-input-shadow-color: var(--px-color-success-dark);
243
+ }
244
+ .px-file-input--success .px-file-input__wrapper {
245
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-success-dark));
246
+ }
247
+ .px-file-input--success .px-file-input__trigger {
248
+ border-right-color: var(--px-color-success);
249
+ }
250
+ .px-file-input--warning {
251
+ --px-file-input-border-color: var(--px-color-warning);
252
+ --px-file-input-hover-border-color: var(--px-color-warning-dark);
253
+ --px-file-input-shadow-color: var(--px-color-warning-dark);
254
+ }
255
+ .px-file-input--warning .px-file-input__wrapper {
256
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-warning-dark));
257
+ }
258
+ .px-file-input--warning .px-file-input__trigger {
259
+ border-right-color: var(--px-color-warning);
260
+ }
261
+ .px-file-input--info {
262
+ --px-file-input-border-color: var(--px-color-info);
263
+ --px-file-input-hover-border-color: var(--px-color-info-dark);
264
+ --px-file-input-shadow-color: var(--px-color-info-dark);
265
+ }
266
+ .px-file-input--info .px-file-input__wrapper {
267
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-info-dark));
268
+ }
269
+ .px-file-input--info .px-file-input__trigger {
270
+ border-right-color: var(--px-color-info);
271
+ }
272
+ .px-file-input--danger {
273
+ --px-file-input-border-color: var(--px-color-danger);
274
+ --px-file-input-hover-border-color: var(--px-color-danger-dark);
275
+ --px-file-input-shadow-color: var(--px-color-danger-dark);
276
+ }
277
+ .px-file-input--danger .px-file-input__wrapper {
278
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-danger-dark));
279
+ }
280
+ .px-file-input--danger .px-file-input__trigger {
281
+ border-right-color: var(--px-color-danger);
282
+ }
283
+ /* Ghost variant — no border/shadow at rest */
284
+ .px-file-input.is-ghost .px-file-input__wrapper {
285
+ filter: none;
286
+ }
287
+ .px-file-input.is-ghost .px-file-input__wrapper::before { background: transparent;
288
+ }
289
+ .px-file-input.is-ghost .px-file-input__wrapper:hover::before { background: var(--px-file-input-hover-border-color);
290
+ }
291
+ .px-file-input.is-ghost .px-file-input__wrapper:hover {
292
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-hover-shadow-color));
293
+ }
294
+ .px-file-input.is-ghost .px-file-input__trigger {
295
+ border-right-color: transparent;
296
+ }
297
+ .px-file-input.is-ghost:hover .px-file-input__trigger {
298
+ border-right-color: var(--px-file-input-hover-border-color);
299
+ }
300
+ /* Ghost + Color variants */
301
+ .px-file-input--primary.is-ghost {
302
+ --px-file-input-hover-shadow-color: var(--px-color-primary-dark);
303
+ }
304
+ .px-file-input--primary.is-ghost .px-file-input__wrapper {
305
+ filter: none;
306
+ }
307
+ .px-file-input--primary.is-ghost .px-file-input__wrapper::before { background: transparent;
308
+ }
309
+ .px-file-input--primary.is-ghost .px-file-input__wrapper:hover::before { background: var(--px-color-primary);
310
+ }
311
+ .px-file-input--primary.is-ghost .px-file-input__wrapper:hover {
312
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-hover-shadow-color));
313
+ }
314
+ .px-file-input--success.is-ghost {
315
+ --px-file-input-hover-shadow-color: var(--px-color-success-dark);
316
+ }
317
+ .px-file-input--success.is-ghost .px-file-input__wrapper {
318
+ filter: none;
319
+ }
320
+ .px-file-input--success.is-ghost .px-file-input__wrapper::before { background: transparent;
321
+ }
322
+ .px-file-input--success.is-ghost .px-file-input__wrapper:hover::before { background: var(--px-color-success);
323
+ }
324
+ .px-file-input--success.is-ghost .px-file-input__wrapper:hover {
325
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-hover-shadow-color));
326
+ }
327
+ .px-file-input--warning.is-ghost {
328
+ --px-file-input-hover-shadow-color: var(--px-color-warning-dark);
329
+ }
330
+ .px-file-input--warning.is-ghost .px-file-input__wrapper {
331
+ filter: none;
332
+ }
333
+ .px-file-input--warning.is-ghost .px-file-input__wrapper::before { background: transparent;
334
+ }
335
+ .px-file-input--warning.is-ghost .px-file-input__wrapper:hover::before { background: var(--px-color-warning);
336
+ }
337
+ .px-file-input--warning.is-ghost .px-file-input__wrapper:hover {
338
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-hover-shadow-color));
339
+ }
340
+ .px-file-input--info.is-ghost {
341
+ --px-file-input-hover-shadow-color: var(--px-color-info-dark);
342
+ }
343
+ .px-file-input--info.is-ghost .px-file-input__wrapper {
344
+ filter: none;
345
+ }
346
+ .px-file-input--info.is-ghost .px-file-input__wrapper::before { background: transparent;
347
+ }
348
+ .px-file-input--info.is-ghost .px-file-input__wrapper:hover::before { background: var(--px-color-info);
349
+ }
350
+ .px-file-input--info.is-ghost .px-file-input__wrapper:hover {
351
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-hover-shadow-color));
352
+ }
353
+ .px-file-input--danger.is-ghost {
354
+ --px-file-input-hover-shadow-color: var(--px-color-danger-dark);
355
+ }
356
+ .px-file-input--danger.is-ghost .px-file-input__wrapper {
357
+ filter: none;
358
+ }
359
+ .px-file-input--danger.is-ghost .px-file-input__wrapper::before { background: transparent;
360
+ }
361
+ .px-file-input--danger.is-ghost .px-file-input__wrapper:hover::before { background: var(--px-color-danger);
362
+ }
363
+ .px-file-input--danger.is-ghost .px-file-input__wrapper:hover {
364
+ filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-file-input-hover-shadow-color));
365
+ }
@@ -1,52 +1,83 @@
1
1
  /* Form Component Styles */
2
- .px-form[data-v-b1c8aebb] {
2
+ .px-form[data-v-0e2bbb22] {
3
3
  /* Form container styles */
4
+ }
5
+
6
+ /* Inline layout */
7
+ .px-form.is-inline[data-v-0e2bbb22] {
8
+ display: flex;
9
+ flex-wrap: wrap;
10
+ gap: 0 16px;
4
11
  }
5
- .px-form-item[data-v-b1c8aebb] {
6
- display: flex;
7
- flex-wrap: wrap;
8
- align-items: flex-start;
12
+ .px-form.is-inline .px-form-item[data-v-0e2bbb22] {
13
+ margin-bottom: 12px;
14
+ }
15
+ .px-form-item[data-v-0e2bbb22] {
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ align-items: flex-start;
9
19
  margin-bottom: 18px;
10
20
  }
11
- .px-form-item__label[data-v-b1c8aebb] {
12
- display: inline-block;
13
- vertical-align: middle;
14
- font-size: var(--px-font-size-base);
15
- color: var(--px-text-color-regular);
16
- line-height: 32px;
17
- padding: 0 12px 0 0;
18
- box-sizing: border-box;
19
- width: var(--px-form-lebel-width, 150px);
20
- flex-shrink: 0;
21
+ .px-form-item__label[data-v-0e2bbb22] {
22
+ display: inline-block;
23
+ vertical-align: middle;
24
+ font-size: var(--px-font-size-base);
25
+ color: var(--px-text-color-regular);
26
+ line-height: 32px;
27
+ padding: 0 12px 0 0;
28
+ box-sizing: border-box;
29
+ width: var(--px-form-label-width, 150px);
30
+ flex-shrink: 0;
21
31
  text-align: right;
22
32
  }
23
- .px-form-item__content[data-v-b1c8aebb] {
24
- line-height: 32px;
25
- position: relative;
26
- font-size: var(--px-font-size-base);
27
- flex: 1;
33
+ .px-form-item__content[data-v-0e2bbb22] {
34
+ line-height: 32px;
35
+ position: relative;
36
+ font-size: var(--px-font-size-base);
37
+ flex: 1;
28
38
  min-width: 0;
29
39
  }
30
- .px-form-item__error[data-v-b1c8aebb] {
31
- color: var(--px-color-danger);
32
- font-size: var(--px-font-size-small);
33
- line-height: 1;
34
- padding-top: 4px;
35
- position: absolute;
36
- top: 100%;
40
+ .px-form-item__error-msg[data-v-0e2bbb22] {
41
+ color: var(--px-color-danger);
42
+ font-size: var(--px-font-size-small);
43
+ line-height: 1;
44
+ padding-top: 4px;
45
+ position: absolute;
46
+ top: 100%;
37
47
  left: 0;
38
48
  }
39
- .px-form-item.is-error .px-input__wrapper[data-v-b1c8aebb] {
49
+ .px-form-item.is-error .px-input__wrapper[data-v-0e2bbb22] {
40
50
  border-color: var(--px-color-danger);
41
51
  }
42
- .px-form-item.is-success .px-input__wrapper[data-v-b1c8aebb] {
52
+ .px-form-item.is-success .px-input__wrapper[data-v-0e2bbb22] {
43
53
  border-color: var(--px-color-success);
44
54
  }
45
- .px-form-item.is-required .px-form-item__label[data-v-b1c8aebb]::before {
46
- content: "*";
47
- color: var(--px-color-danger);
55
+ .px-form-item.is-required .px-form-item__label[data-v-0e2bbb22]::before {
56
+ content: "*";
57
+ color: var(--px-color-danger);
48
58
  margin-right: 4px;
59
+ }
60
+
61
+ /* Input wrapper for status icon alignment */
62
+ .px-form-item__input-wrap[data-v-0e2bbb22] {
63
+ position: relative;
64
+ display: inline-flex;
65
+ align-items: center;
66
+ width: 100%;
67
+ }
68
+
69
+ /* Status icon */
70
+ .px-form-item__status-icon[data-v-0e2bbb22] {
71
+ position: absolute;
72
+ right: 8px;
73
+ z-index: 1;
74
+ }
75
+ .px-form-item__status-icon.is-success[data-v-0e2bbb22] {
76
+ color: var(--px-color-success);
77
+ }
78
+ .px-form-item__status-icon.is-error[data-v-0e2bbb22] {
79
+ color: var(--px-color-danger);
49
80
  }
50
- .px-form-item[data-v-b1c8aebb] {
51
- --px-form-lebel-width: var(--f6756cfe) !important;
81
+ .px-form-item[data-v-0e2bbb22] {
82
+ --px-form-label-width: var(--ac9c6e38) !important;
52
83
  }
@@ -0,0 +1,50 @@
1
+ /* Link Variables */
2
+ .px-link[data-v-d754ba7d] {
3
+ --px-link-text-color: var(--px-text-color-regular);
4
+ --px-link-hover-color: var(--px-text-color-primary);
5
+ }
6
+ /* Base Link Styles */
7
+ .px-link[data-v-d754ba7d] {
8
+ display: inline-flex;
9
+ align-items: center;
10
+ gap: 4px;
11
+ font-family: var(--px-font-family);
12
+ font-size: var(--px-font-size-base);
13
+ color: var(--px-link-text-color);
14
+ cursor: pointer;
15
+ text-decoration: none;
16
+ transition: none;
17
+ }
18
+ .px-link[data-v-d754ba7d]:hover {
19
+ color: var(--px-link-hover-color);
20
+ }
21
+ .px-link.is-underline[data-v-d754ba7d] {
22
+ text-decoration: underline;
23
+ text-underline-offset: 3px;
24
+ }
25
+ .px-link.is-disabled[data-v-d754ba7d] {
26
+ opacity: 0.5;
27
+ cursor: not-allowed;
28
+ pointer-events: none;
29
+ }
30
+ /* Type variants */
31
+ .px-link--primary[data-v-d754ba7d] {
32
+ --px-link-text-color: var(--px-color-primary);
33
+ --px-link-hover-color: var(--px-color-primary-dark);
34
+ }
35
+ .px-link--success[data-v-d754ba7d] {
36
+ --px-link-text-color: var(--px-color-success);
37
+ --px-link-hover-color: var(--px-color-success-dark);
38
+ }
39
+ .px-link--info[data-v-d754ba7d] {
40
+ --px-link-text-color: var(--px-color-info);
41
+ --px-link-hover-color: var(--px-color-info-dark);
42
+ }
43
+ .px-link--warning[data-v-d754ba7d] {
44
+ --px-link-text-color: var(--px-color-warning);
45
+ --px-link-hover-color: var(--px-color-warning-dark);
46
+ }
47
+ .px-link--danger[data-v-d754ba7d] {
48
+ --px-link-text-color: var(--px-color-danger);
49
+ --px-link-hover-color: var(--px-color-danger-dark);
50
+ }
@@ -1,3 +1,153 @@
1
+ /* LoadingIndicator Variables */
2
+ .px-loading-indicator[data-v-1435ecee] {
3
+ --px-loading-indicator-color: var(--px-color-primary);
4
+ --px-loading-indicator-size: 24px;
5
+ }
6
+ /* Base */
7
+ .px-loading-indicator[data-v-1435ecee] {
8
+ display: inline-flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ width: var(--px-loading-indicator-size);
12
+ height: var(--px-loading-indicator-size);
13
+ color: var(--px-loading-indicator-color);
14
+ font-family: var(--px-font-family);
15
+ vertical-align: middle;
16
+ }
17
+ /* Size variants */
18
+ .px-loading-indicator--xs[data-v-1435ecee] {
19
+ --px-loading-indicator-size: 16px;
20
+ }
21
+ .px-loading-indicator--sm[data-v-1435ecee] {
22
+ --px-loading-indicator-size: 20px;
23
+ }
24
+ .px-loading-indicator--md[data-v-1435ecee] {
25
+ --px-loading-indicator-size: 24px;
26
+ }
27
+ .px-loading-indicator--lg[data-v-1435ecee] {
28
+ --px-loading-indicator-size: 32px;
29
+ }
30
+ /* Type variants */
31
+ .px-loading-indicator--primary[data-v-1435ecee] {
32
+ --px-loading-indicator-color: var(--px-color-primary);
33
+ }
34
+ .px-loading-indicator--success[data-v-1435ecee] {
35
+ --px-loading-indicator-color: var(--px-color-success);
36
+ }
37
+ .px-loading-indicator--info[data-v-1435ecee] {
38
+ --px-loading-indicator-color: var(--px-color-info);
39
+ }
40
+ .px-loading-indicator--warning[data-v-1435ecee] {
41
+ --px-loading-indicator-color: var(--px-color-warning);
42
+ }
43
+ .px-loading-indicator--danger[data-v-1435ecee] {
44
+ --px-loading-indicator-color: var(--px-color-danger);
45
+ }
46
+ /* ─── Spinner variant ─── */
47
+ .px-loading-indicator--spinner .px-loading-indicator__inner[data-v-1435ecee] {
48
+ display: block;
49
+ width: 100%;
50
+ height: 100%;
51
+ border: 2px solid transparent;
52
+ border-top-color: var(--px-loading-indicator-color);
53
+ border-right-color: var(--px-loading-indicator-color);
54
+ border-radius: 50%;
55
+ box-sizing: border-box;
56
+ animation: px-indicator-spin-1435ecee 0.8s steps(8) infinite;
57
+ }
58
+ @keyframes px-indicator-spin-1435ecee {
59
+ 0% { transform: rotate(0deg);
60
+ }
61
+ 100% { transform: rotate(360deg);
62
+ }
63
+ }
64
+ /* ─── Dots variant ─── */
65
+ .px-loading-indicator--dots[data-v-1435ecee] {
66
+ gap: 3px;
67
+ }
68
+ .px-loading-indicator--dots .px-loading-indicator__inner[data-v-1435ecee] {
69
+ display: flex;
70
+ align-items: center;
71
+ gap: 3px;
72
+ width: 100%;
73
+ height: 100%;
74
+ justify-content: center;
75
+ }
76
+ .px-loading-indicator--dots .px-loading-indicator__inner[data-v-1435ecee]::before,
77
+ .px-loading-indicator--dots .px-loading-indicator__inner[data-v-1435ecee]::after {
78
+ content: '';
79
+ display: block;
80
+ width: calc(var(--px-loading-indicator-size) * 0.2);
81
+ height: calc(var(--px-loading-indicator-size) * 0.2);
82
+ background: var(--px-loading-indicator-color);
83
+ }
84
+ .px-loading-indicator--dots .px-loading-indicator__inner[data-v-1435ecee]::before {
85
+ animation: px-indicator-dot-1435ecee 0.9s steps(3) infinite;
86
+ }
87
+ .px-loading-indicator--dots .px-loading-indicator__inner[data-v-1435ecee] {
88
+ background: var(--px-loading-indicator-color);
89
+ width: calc(var(--px-loading-indicator-size) * 0.2);
90
+ height: calc(var(--px-loading-indicator-size) * 0.2);
91
+ animation: px-indicator-dot-1435ecee 0.9s steps(3) 0.15s infinite;
92
+ }
93
+ .px-loading-indicator--dots .px-loading-indicator__inner[data-v-1435ecee]::after {
94
+ animation: px-indicator-dot-1435ecee 0.9s steps(3) 0.3s infinite;
95
+ }
96
+ @keyframes px-indicator-dot-1435ecee {
97
+ 0%, 100% { opacity: 0.2;
98
+ }
99
+ 50% { opacity: 1;
100
+ }
101
+ }
102
+ /* ─── Bars variant ─── */
103
+ .px-loading-indicator--bars .px-loading-indicator__inner[data-v-1435ecee] {
104
+ display: flex;
105
+ align-items: flex-end;
106
+ gap: 2px;
107
+ width: 100%;
108
+ height: 100%;
109
+ justify-content: center;
110
+ }
111
+ .px-loading-indicator--bars .px-loading-indicator__inner[data-v-1435ecee]::before,
112
+ .px-loading-indicator--bars .px-loading-indicator__inner[data-v-1435ecee]::after {
113
+ content: '';
114
+ display: block;
115
+ width: calc(var(--px-loading-indicator-size) * 0.18);
116
+ background: var(--px-loading-indicator-color);
117
+ }
118
+ .px-loading-indicator--bars .px-loading-indicator__inner[data-v-1435ecee]::before {
119
+ height: 40%;
120
+ animation: px-indicator-bar-1435ecee 0.8s steps(4) infinite;
121
+ }
122
+ .px-loading-indicator--bars .px-loading-indicator__inner[data-v-1435ecee] {
123
+ background: var(--px-loading-indicator-color);
124
+ width: calc(var(--px-loading-indicator-size) * 0.18);
125
+ animation: px-indicator-bar-1435ecee 0.8s steps(4) 0.15s infinite;
126
+ }
127
+ .px-loading-indicator--bars .px-loading-indicator__inner[data-v-1435ecee]::after {
128
+ height: 60%;
129
+ animation: px-indicator-bar-1435ecee 0.8s steps(4) 0.3s infinite;
130
+ }
131
+ @keyframes px-indicator-bar-1435ecee {
132
+ 0%, 100% { height: 30%;
133
+ }
134
+ 50% { height: 100%;
135
+ }
136
+ }
137
+ /* ─── Ring variant ─── */
138
+ .px-loading-indicator--ring .px-loading-indicator__inner[data-v-1435ecee] {
139
+ display: block;
140
+ width: 80%;
141
+ height: 80%;
142
+ border: 2px solid transparent;
143
+ border-top-color: var(--px-loading-indicator-color);
144
+ border-right-color: var(--px-loading-indicator-color);
145
+ border-bottom-color: transparent;
146
+ border-left-color: transparent;
147
+ border-radius: 50%;
148
+ box-sizing: border-box;
149
+ animation: px-indicator-spin-1435ecee 1s steps(12) infinite;
150
+ }
1
151
  /* Loading Variables */
2
152
  .px-loading {
3
153
  --px-loading-icon-color: var(--px-color-primary);
@@ -72,7 +222,7 @@
72
222
  .px-dark .px-loading {
73
223
  --px-loading-bg-color: rgba(30, 30, 46, 0.85);
74
224
  }
75
- .px-loading {
76
- --px-loading-bg-color: var(--c7e915b4) !important; /* !important 表示强制覆盖内联样式 v-bind(background) 表示绑定background属性 */
77
- --px-loading-z-index: var(--24995070) !important; /* !important 表示强制覆盖内联样式 v-bind(zIndex) 表示绑定zIndex属性 */
78
- }
225
+ .px-loading {
226
+ --px-loading-bg-color: var(--d4003bba) !important;
227
+ --px-loading-z-index: var(--b5c47826) !important;
228
+ }