ui-svelte 0.2.12 → 0.2.14
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 +2 -2
- package/dist/charts/ArcChart.svelte +0 -1
- package/dist/control/Fab.svelte +103 -0
- package/dist/control/Fab.svelte.d.ts +25 -0
- package/dist/control/Record.svelte +0 -3
- package/dist/control/ToggleTheme.svelte +1 -1
- package/dist/control/Video.svelte +2 -0
- package/dist/control/css/btn.css +17 -17
- package/dist/control/css/fab.css +84 -0
- package/dist/control/css/media.css +7 -7
- package/dist/control/css/toggle-group.css +1 -17
- package/dist/css/decorations.css +348 -189
- package/dist/css/utilities.css +0 -4
- package/dist/display/Accordion.svelte +3 -3
- package/dist/display/Accordion.svelte.d.ts +1 -1
- package/dist/display/Card.svelte +3 -3
- package/dist/display/Card.svelte.d.ts +1 -1
- package/dist/display/Code.svelte +1 -1
- package/dist/display/Collapsible.svelte +3 -3
- package/dist/display/Collapsible.svelte.d.ts +1 -1
- package/dist/display/Countdown.svelte +169 -0
- package/dist/display/Countdown.svelte.d.ts +21 -0
- package/dist/display/Item.svelte +12 -0
- package/dist/display/Item.svelte.d.ts +2 -0
- package/dist/display/Marquee.svelte +0 -2
- package/dist/display/Section.svelte +3 -3
- package/dist/display/Section.svelte.d.ts +1 -1
- package/dist/display/css/accordion.css +14 -14
- package/dist/display/css/alert.css +42 -15
- package/dist/display/css/avatar.css +36 -36
- package/dist/display/css/card.css +108 -36
- package/dist/display/css/chip.css +16 -16
- package/dist/display/css/collapsible.css +32 -32
- package/dist/display/css/countdown.css +206 -0
- package/dist/display/css/item.css +24 -0
- package/dist/display/css/marquee.css +0 -3
- package/dist/display/css/section.css +88 -109
- package/dist/display/css/table.css +1 -16
- package/dist/form/ColorField.svelte +60 -2
- package/dist/form/DragDrop.svelte +317 -87
- package/dist/form/DragDrop.svelte.d.ts +1 -0
- package/dist/form/Dropzone.svelte +3 -3
- package/dist/form/Dropzone.svelte.d.ts +1 -1
- package/dist/form/ImageCropper.svelte +135 -4
- package/dist/form/RadioGroup.svelte +6 -2
- package/dist/form/RadioGroup.svelte.d.ts +1 -1
- package/dist/form/Slider.svelte +6 -2
- package/dist/form/Slider.svelte.d.ts +1 -1
- package/dist/form/TextField.svelte +13 -4
- package/dist/form/TextField.svelte.d.ts +3 -2
- package/dist/form/Toggle.svelte +6 -2
- package/dist/form/Toggle.svelte.d.ts +1 -1
- package/dist/form/css/control.css +14 -14
- package/dist/form/css/csv-field.css +8 -13
- package/dist/form/css/drag-drop.css +90 -127
- package/dist/form/css/dropzone.css +8 -8
- package/dist/form/css/editor.css +14 -14
- package/dist/form/css/image-cropper.css +28 -7
- package/dist/form/css/radio-group.css +25 -0
- package/dist/form/css/slider.css +36 -0
- package/dist/form/css/textarea.css +14 -14
- package/dist/form/css/toggle.css +12 -0
- package/dist/hooks/use-chat.svelte.js +1 -1
- package/dist/hooks/use-form.svelte.js +3 -3
- package/dist/hooks/use-search.svelte.js +0 -3
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.js +4 -0
- package/dist/index.css +28 -48
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -1
- package/dist/layout/Provider.svelte +5 -5
- package/dist/layout/Sidebar.svelte +17 -8
- package/dist/layout/Sidebar.svelte.d.ts +2 -1
- package/dist/layout/css/app-bar.css +8 -7
- package/dist/layout/css/footer.css +7 -7
- package/dist/layout/css/sidebar.css +120 -59
- package/dist/navigation/BottomNav.svelte +23 -14
- package/dist/navigation/css/bottom-nav.css +74 -34
- package/dist/navigation/css/nav-menu.css +14 -15
- package/dist/navigation/css/side-nav.css +14 -15
- package/dist/overlay/AlertDialog.svelte +58 -0
- package/dist/overlay/AlertDialog.svelte.d.ts +14 -25
- package/dist/overlay/Command.svelte +177 -170
- package/dist/overlay/Command.svelte.d.ts +12 -3
- package/dist/overlay/Drawer.svelte +4 -4
- package/dist/overlay/Drawer.svelte.d.ts +1 -1
- package/dist/overlay/Modal.svelte +4 -4
- package/dist/overlay/Modal.svelte.d.ts +1 -1
- package/dist/overlay/Tooltip.svelte +0 -5
- package/dist/overlay/css/command.css +30 -42
- package/dist/overlay/css/drawer.css +10 -10
- package/dist/overlay/css/modal.css +70 -18
- package/dist/overlay/css/toast.css +42 -14
- package/dist/overlay/css/tooltip.css +49 -23
- package/dist/stores/theme.svelte.js +19 -12
- package/package.json +3 -2
- package/dist/utils/charts.d.ts +0 -27
- package/dist/utils/charts.js +0 -140
|
@@ -95,6 +95,8 @@
|
|
|
95
95
|
let imageHeight = $state(0);
|
|
96
96
|
let scale = $state(1);
|
|
97
97
|
|
|
98
|
+
let isTouchDevice = $state(false);
|
|
99
|
+
|
|
98
100
|
const sizeClasses = {
|
|
99
101
|
xs: 'is-xs',
|
|
100
102
|
sm: 'is-sm',
|
|
@@ -250,6 +252,114 @@
|
|
|
250
252
|
document.removeEventListener('mouseup', handleMouseUp);
|
|
251
253
|
}
|
|
252
254
|
|
|
255
|
+
function handleTouchStart(e: TouchEvent, handle?: string) {
|
|
256
|
+
e.preventDefault();
|
|
257
|
+
e.stopPropagation();
|
|
258
|
+
|
|
259
|
+
const touch = e.touches[0];
|
|
260
|
+
|
|
261
|
+
if (handle) {
|
|
262
|
+
isResizing = true;
|
|
263
|
+
resizeHandle = handle;
|
|
264
|
+
} else {
|
|
265
|
+
isCropDragging = true;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
startX = touch.clientX;
|
|
269
|
+
startY = touch.clientY;
|
|
270
|
+
startCropX = cropX;
|
|
271
|
+
startCropY = cropY;
|
|
272
|
+
startCropWidth = cropWidth;
|
|
273
|
+
startCropHeight = cropHeight;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
function handleTouchMove(e: TouchEvent) {
|
|
277
|
+
if (!isCropDragging && !isResizing) return;
|
|
278
|
+
|
|
279
|
+
e.preventDefault();
|
|
280
|
+
const touch = e.touches[0];
|
|
281
|
+
const deltaX = touch.clientX - startX;
|
|
282
|
+
const deltaY = touch.clientY - startY;
|
|
283
|
+
|
|
284
|
+
if (isCropDragging) {
|
|
285
|
+
cropX = Math.max(0, Math.min(imageWidth - cropWidth, startCropX + deltaX));
|
|
286
|
+
cropY = Math.max(0, Math.min(imageHeight - cropHeight, startCropY + deltaY));
|
|
287
|
+
} else if (isResizing) {
|
|
288
|
+
let newWidth = startCropWidth;
|
|
289
|
+
let newHeight = startCropHeight;
|
|
290
|
+
let newX = startCropX;
|
|
291
|
+
let newY = startCropY;
|
|
292
|
+
|
|
293
|
+
if (resizeHandle.includes('e')) {
|
|
294
|
+
newWidth = Math.max(minWidth, Math.min(imageWidth - startCropX, startCropWidth + deltaX));
|
|
295
|
+
}
|
|
296
|
+
if (resizeHandle.includes('w')) {
|
|
297
|
+
newWidth = Math.max(minWidth, startCropWidth - deltaX);
|
|
298
|
+
newX = startCropX + (startCropWidth - newWidth);
|
|
299
|
+
}
|
|
300
|
+
if (resizeHandle.includes('s')) {
|
|
301
|
+
newHeight = Math.max(
|
|
302
|
+
minHeight,
|
|
303
|
+
Math.min(imageHeight - startCropY, startCropHeight + deltaY)
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
if (resizeHandle.includes('n')) {
|
|
307
|
+
newHeight = Math.max(minHeight, startCropHeight - deltaY);
|
|
308
|
+
newY = startCropY + (startCropHeight - newHeight);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
if (aspectRatio) {
|
|
312
|
+
if (resizeHandle.includes('e') || resizeHandle.includes('w')) {
|
|
313
|
+
newHeight = newWidth / aspectRatio;
|
|
314
|
+
} else {
|
|
315
|
+
newWidth = newHeight * aspectRatio;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
if (maxWidth) newWidth = Math.min(newWidth, maxWidth);
|
|
320
|
+
if (maxHeight) newHeight = Math.min(newHeight, maxHeight);
|
|
321
|
+
|
|
322
|
+
cropWidth = newWidth;
|
|
323
|
+
cropHeight = newHeight;
|
|
324
|
+
cropX = Math.max(0, Math.min(imageWidth - cropWidth, newX));
|
|
325
|
+
cropY = Math.max(0, Math.min(imageHeight - cropHeight, newY));
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
function handleTouchEnd() {
|
|
330
|
+
isCropDragging = false;
|
|
331
|
+
isResizing = false;
|
|
332
|
+
resizeHandle = '';
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
import { onMount } from 'svelte';
|
|
336
|
+
|
|
337
|
+
onMount(() => {
|
|
338
|
+
isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
|
|
339
|
+
|
|
340
|
+
const onGlobalTouchMove = (e: TouchEvent) => {
|
|
341
|
+
if (isCropDragging || isResizing) {
|
|
342
|
+
handleTouchMove(e);
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
const onGlobalTouchEnd = () => {
|
|
347
|
+
if (isCropDragging || isResizing) {
|
|
348
|
+
handleTouchEnd();
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
document.addEventListener('touchmove', onGlobalTouchMove, { passive: false });
|
|
353
|
+
document.addEventListener('touchend', onGlobalTouchEnd);
|
|
354
|
+
document.addEventListener('touchcancel', onGlobalTouchEnd);
|
|
355
|
+
|
|
356
|
+
return () => {
|
|
357
|
+
document.removeEventListener('touchmove', onGlobalTouchMove);
|
|
358
|
+
document.removeEventListener('touchend', onGlobalTouchEnd);
|
|
359
|
+
document.removeEventListener('touchcancel', onGlobalTouchEnd);
|
|
360
|
+
};
|
|
361
|
+
});
|
|
362
|
+
|
|
253
363
|
function handleCrop() {
|
|
254
364
|
if (!canvas || !image) return;
|
|
255
365
|
|
|
@@ -422,6 +532,7 @@
|
|
|
422
532
|
class:is-circle={shape === 'circle'}
|
|
423
533
|
style="left: {cropX}px; top: {cropY}px; width: {cropWidth}px; height: {cropHeight}px;"
|
|
424
534
|
onmousedown={(e) => handleMouseDown(e)}
|
|
535
|
+
ontouchstart={(e) => handleTouchStart(e)}
|
|
425
536
|
>
|
|
426
537
|
<div class="crop-grid">
|
|
427
538
|
<div class="grid-line grid-line-v" style="left: 33.33%;"></div>
|
|
@@ -433,23 +544,43 @@
|
|
|
433
544
|
<div
|
|
434
545
|
class="resize-handle handle-nw"
|
|
435
546
|
onmousedown={(e) => handleMouseDown(e, 'nw')}
|
|
547
|
+
ontouchstart={(e) => handleTouchStart(e, 'nw')}
|
|
548
|
+
></div>
|
|
549
|
+
<div
|
|
550
|
+
class="resize-handle handle-n"
|
|
551
|
+
onmousedown={(e) => handleMouseDown(e, 'n')}
|
|
552
|
+
ontouchstart={(e) => handleTouchStart(e, 'n')}
|
|
436
553
|
></div>
|
|
437
|
-
<div class="resize-handle handle-n" onmousedown={(e) => handleMouseDown(e, 'n')}></div>
|
|
438
554
|
<div
|
|
439
555
|
class="resize-handle handle-ne"
|
|
440
556
|
onmousedown={(e) => handleMouseDown(e, 'ne')}
|
|
557
|
+
ontouchstart={(e) => handleTouchStart(e, 'ne')}
|
|
558
|
+
></div>
|
|
559
|
+
<div
|
|
560
|
+
class="resize-handle handle-e"
|
|
561
|
+
onmousedown={(e) => handleMouseDown(e, 'e')}
|
|
562
|
+
ontouchstart={(e) => handleTouchStart(e, 'e')}
|
|
441
563
|
></div>
|
|
442
|
-
<div class="resize-handle handle-e" onmousedown={(e) => handleMouseDown(e, 'e')}></div>
|
|
443
564
|
<div
|
|
444
565
|
class="resize-handle handle-se"
|
|
445
566
|
onmousedown={(e) => handleMouseDown(e, 'se')}
|
|
567
|
+
ontouchstart={(e) => handleTouchStart(e, 'se')}
|
|
568
|
+
></div>
|
|
569
|
+
<div
|
|
570
|
+
class="resize-handle handle-s"
|
|
571
|
+
onmousedown={(e) => handleMouseDown(e, 's')}
|
|
572
|
+
ontouchstart={(e) => handleTouchStart(e, 's')}
|
|
446
573
|
></div>
|
|
447
|
-
<div class="resize-handle handle-s" onmousedown={(e) => handleMouseDown(e, 's')}></div>
|
|
448
574
|
<div
|
|
449
575
|
class="resize-handle handle-sw"
|
|
450
576
|
onmousedown={(e) => handleMouseDown(e, 'sw')}
|
|
577
|
+
ontouchstart={(e) => handleTouchStart(e, 'sw')}
|
|
578
|
+
></div>
|
|
579
|
+
<div
|
|
580
|
+
class="resize-handle handle-w"
|
|
581
|
+
onmousedown={(e) => handleMouseDown(e, 'w')}
|
|
582
|
+
ontouchstart={(e) => handleTouchStart(e, 'w')}
|
|
451
583
|
></div>
|
|
452
|
-
<div class="resize-handle handle-w" onmousedown={(e) => handleMouseDown(e, 'w')}></div>
|
|
453
584
|
</div>
|
|
454
585
|
</div>
|
|
455
586
|
{/if}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
name?: string;
|
|
16
16
|
info?: string;
|
|
17
17
|
error?: string;
|
|
18
|
-
color?: 'primary' | 'secondary' | 'muted';
|
|
18
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
19
19
|
size?: 'sm' | 'md' | 'lg';
|
|
20
20
|
};
|
|
21
21
|
let {
|
|
@@ -34,7 +34,11 @@
|
|
|
34
34
|
const colors = {
|
|
35
35
|
primary: 'is-primary',
|
|
36
36
|
secondary: 'is-secondary',
|
|
37
|
-
muted: 'is-muted'
|
|
37
|
+
muted: 'is-muted',
|
|
38
|
+
success: 'is-success',
|
|
39
|
+
info: 'is-info',
|
|
40
|
+
danger: 'is-danger',
|
|
41
|
+
warning: 'is-warning'
|
|
38
42
|
};
|
|
39
43
|
|
|
40
44
|
const sizes = {
|
|
@@ -11,7 +11,7 @@ type Props = {
|
|
|
11
11
|
name?: string;
|
|
12
12
|
info?: string;
|
|
13
13
|
error?: string;
|
|
14
|
-
color?: 'primary' | 'secondary' | 'muted';
|
|
14
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
15
15
|
size?: 'sm' | 'md' | 'lg';
|
|
16
16
|
};
|
|
17
17
|
declare const RadioGroup: import("svelte").Component<Props, {}, "value">;
|
package/dist/form/Slider.svelte
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
onchange?: (value: number) => void;
|
|
10
10
|
size?: 'sm' | 'md' | 'lg';
|
|
11
11
|
label?: string;
|
|
12
|
-
color?: 'primary' | 'secondary' | 'muted';
|
|
12
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger';
|
|
13
13
|
name?: string;
|
|
14
14
|
hideLabel?: boolean;
|
|
15
15
|
class?: string;
|
|
@@ -33,7 +33,11 @@
|
|
|
33
33
|
const colors = {
|
|
34
34
|
primary: 'is-primary',
|
|
35
35
|
secondary: 'is-secondary',
|
|
36
|
-
muted: 'is-muted'
|
|
36
|
+
muted: 'is-muted',
|
|
37
|
+
success: 'is-success',
|
|
38
|
+
info: 'is-info',
|
|
39
|
+
warning: 'is-warning',
|
|
40
|
+
danger: 'is-danger'
|
|
37
41
|
};
|
|
38
42
|
|
|
39
43
|
const sizes = {
|
|
@@ -6,7 +6,7 @@ type Props = {
|
|
|
6
6
|
onchange?: (value: number) => void;
|
|
7
7
|
size?: 'sm' | 'md' | 'lg';
|
|
8
8
|
label?: string;
|
|
9
|
-
color?: 'primary' | 'secondary' | 'muted';
|
|
9
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger';
|
|
10
10
|
name?: string;
|
|
11
11
|
hideLabel?: boolean;
|
|
12
12
|
class?: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { Icon, type IconData } from '../index.js';
|
|
3
3
|
import { cn } from '../utils/class-names.js';
|
|
4
|
+
import type { Snippet } from 'svelte';
|
|
4
5
|
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
5
6
|
|
|
6
7
|
type Props = {
|
|
@@ -13,8 +14,8 @@
|
|
|
13
14
|
controlClass?: string;
|
|
14
15
|
startIcon?: IconData;
|
|
15
16
|
endIcon?: IconData;
|
|
16
|
-
startText?: string;
|
|
17
|
-
endText?: string;
|
|
17
|
+
startText?: string | Snippet;
|
|
18
|
+
endText?: string | Snippet;
|
|
18
19
|
onchange?: (value: unknown) => void;
|
|
19
20
|
oninput?: (value: unknown) => void;
|
|
20
21
|
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
@@ -137,7 +138,11 @@
|
|
|
137
138
|
{/if}
|
|
138
139
|
|
|
139
140
|
{#if startText}
|
|
140
|
-
|
|
141
|
+
{#if typeof startText === 'string'}
|
|
142
|
+
<span class={textClasses}>{startText}</span>
|
|
143
|
+
{:else}
|
|
144
|
+
{@render startText()}
|
|
145
|
+
{/if}
|
|
141
146
|
{/if}
|
|
142
147
|
|
|
143
148
|
<input
|
|
@@ -163,7 +168,11 @@
|
|
|
163
168
|
/>
|
|
164
169
|
|
|
165
170
|
{#if endText}
|
|
166
|
-
|
|
171
|
+
{#if typeof endText === 'string'}
|
|
172
|
+
<span class={textClasses}>{endText}</span>
|
|
173
|
+
{:else}
|
|
174
|
+
{@render endText()}
|
|
175
|
+
{/if}
|
|
167
176
|
{/if}
|
|
168
177
|
|
|
169
178
|
{#if endIcon}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type IconData } from '../index.js';
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
2
3
|
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
3
4
|
type Props = {
|
|
4
5
|
el?: HTMLInputElement;
|
|
@@ -10,8 +11,8 @@ type Props = {
|
|
|
10
11
|
controlClass?: string;
|
|
11
12
|
startIcon?: IconData;
|
|
12
13
|
endIcon?: IconData;
|
|
13
|
-
startText?: string;
|
|
14
|
-
endText?: string;
|
|
14
|
+
startText?: string | Snippet;
|
|
15
|
+
endText?: string | Snippet;
|
|
15
16
|
onchange?: (value: unknown) => void;
|
|
16
17
|
oninput?: (value: unknown) => void;
|
|
17
18
|
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
package/dist/form/Toggle.svelte
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
labelLeft?: string;
|
|
12
12
|
labelRight?: string;
|
|
13
13
|
name?: string;
|
|
14
|
-
color?: 'primary' | 'secondary' | 'muted';
|
|
14
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
15
15
|
};
|
|
16
16
|
let {
|
|
17
17
|
checked = $bindable(),
|
|
@@ -29,7 +29,11 @@
|
|
|
29
29
|
const colors = {
|
|
30
30
|
primary: 'is-primary',
|
|
31
31
|
secondary: 'is-secondary',
|
|
32
|
-
muted: 'is-muted'
|
|
32
|
+
muted: 'is-muted',
|
|
33
|
+
success: 'is-success',
|
|
34
|
+
info: 'is-info',
|
|
35
|
+
danger: 'is-danger',
|
|
36
|
+
warning: 'is-warning'
|
|
33
37
|
};
|
|
34
38
|
</script>
|
|
35
39
|
|
|
@@ -8,7 +8,7 @@ type Props = {
|
|
|
8
8
|
labelLeft?: string;
|
|
9
9
|
labelRight?: string;
|
|
10
10
|
name?: string;
|
|
11
|
-
color?: 'primary' | 'secondary' | 'muted';
|
|
11
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
12
12
|
};
|
|
13
13
|
declare const Toggle: import("svelte").Component<Props, {}, "checked">;
|
|
14
14
|
type Toggle = ReturnType<typeof Toggle>;
|
|
@@ -59,51 +59,51 @@
|
|
|
59
59
|
@apply rounded-ui;
|
|
60
60
|
|
|
61
61
|
&.is-primary {
|
|
62
|
-
@apply bg-
|
|
62
|
+
@apply bg-soft-primary text-primary;
|
|
63
63
|
&.is-active {
|
|
64
|
-
@apply bg-
|
|
64
|
+
@apply bg-soft-primary/90;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
&.is-secondary {
|
|
69
|
-
@apply bg-
|
|
69
|
+
@apply bg-soft-secondary text-secondary;
|
|
70
70
|
&.is-active {
|
|
71
|
-
@apply bg-
|
|
71
|
+
@apply bg-soft-secondary/90;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
&.is-muted {
|
|
76
|
-
@apply bg-muted text-on-muted;
|
|
76
|
+
@apply bg-soft-muted text-on-muted;
|
|
77
77
|
&.is-active {
|
|
78
|
-
@apply bg-muted/90;
|
|
78
|
+
@apply bg-soft-muted/90;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
&.is-success {
|
|
83
|
-
@apply bg-
|
|
83
|
+
@apply bg-soft-success text-success;
|
|
84
84
|
&.is-active {
|
|
85
|
-
@apply bg-
|
|
85
|
+
@apply bg-soft-success/90;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
&.is-info {
|
|
90
|
-
@apply bg-
|
|
90
|
+
@apply bg-soft-info text-info;
|
|
91
91
|
&.is-active {
|
|
92
|
-
@apply bg-
|
|
92
|
+
@apply bg-soft-info/90;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
&.is-danger {
|
|
97
|
-
@apply bg-
|
|
97
|
+
@apply bg-soft-danger text-danger;
|
|
98
98
|
&.is-active {
|
|
99
|
-
@apply bg-
|
|
99
|
+
@apply bg-soft-danger/90;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
&.is-warning {
|
|
104
|
-
@apply bg-
|
|
104
|
+
@apply bg-soft-warning text-warning;
|
|
105
105
|
&.is-active {
|
|
106
|
-
@apply bg-
|
|
106
|
+
@apply bg-soft-warning/90;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
@apply hidden;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
/* Error Message */
|
|
11
10
|
.csv-field-error {
|
|
12
11
|
@apply mt-2.5 p-2.5 rounded-ui text-sm;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
.csv-field.is-soft .csv-field-error,
|
|
16
15
|
.csv-field.is-ghost .csv-field-error {
|
|
17
|
-
@apply bg-
|
|
16
|
+
@apply bg-soft-danger/20 text-danger;
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
.csv-field.is-solid .csv-field-error {
|
|
@@ -25,7 +24,6 @@
|
|
|
25
24
|
@apply border border-danger text-danger;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
/* Modal Styles */
|
|
29
27
|
.csv-modal-title {
|
|
30
28
|
@apply m-0 text-xl font-semibold text-on-surface;
|
|
31
29
|
}
|
|
@@ -50,7 +48,6 @@
|
|
|
50
48
|
@apply flex justify-end gap-3;
|
|
51
49
|
}
|
|
52
50
|
|
|
53
|
-
/* Preview Container */
|
|
54
51
|
.csv-preview-container {
|
|
55
52
|
@apply mt-6 p-5 rounded-ui;
|
|
56
53
|
}
|
|
@@ -80,25 +77,25 @@
|
|
|
80
77
|
}
|
|
81
78
|
|
|
82
79
|
.csv-field.is-soft.is-primary .csv-preview-container {
|
|
83
|
-
@apply bg-
|
|
80
|
+
@apply bg-soft-primary/20;
|
|
84
81
|
}
|
|
85
82
|
.csv-field.is-soft.is-secondary .csv-preview-container {
|
|
86
|
-
@apply bg-
|
|
83
|
+
@apply bg-soft-secondary/20;
|
|
87
84
|
}
|
|
88
85
|
.csv-field.is-soft.is-muted .csv-preview-container {
|
|
89
|
-
@apply bg-muted/50;
|
|
86
|
+
@apply bg-soft-muted/50;
|
|
90
87
|
}
|
|
91
88
|
.csv-field.is-soft.is-success .csv-preview-container {
|
|
92
|
-
@apply bg-
|
|
89
|
+
@apply bg-soft-success/20;
|
|
93
90
|
}
|
|
94
91
|
.csv-field.is-soft.is-info .csv-preview-container {
|
|
95
|
-
@apply bg-
|
|
92
|
+
@apply bg-soft-info/20;
|
|
96
93
|
}
|
|
97
94
|
.csv-field.is-soft.is-danger .csv-preview-container {
|
|
98
|
-
@apply bg-
|
|
95
|
+
@apply bg-soft-danger/20;
|
|
99
96
|
}
|
|
100
97
|
.csv-field.is-soft.is-warning .csv-preview-container {
|
|
101
|
-
@apply bg-
|
|
98
|
+
@apply bg-soft-warning/20;
|
|
102
99
|
}
|
|
103
100
|
|
|
104
101
|
.csv-field.is-solid.is-primary .csv-preview-container {
|
|
@@ -149,7 +146,6 @@
|
|
|
149
146
|
@apply bg-surface/50;
|
|
150
147
|
}
|
|
151
148
|
|
|
152
|
-
/* Preview Header */
|
|
153
149
|
.csv-preview-header {
|
|
154
150
|
@apply flex justify-between items-start mb-4 gap-4;
|
|
155
151
|
}
|
|
@@ -175,7 +171,6 @@
|
|
|
175
171
|
@apply text-lg leading-none;
|
|
176
172
|
}
|
|
177
173
|
|
|
178
|
-
/* Size Variants */
|
|
179
174
|
.csv-field.is-xs {
|
|
180
175
|
.csv-field-error {
|
|
181
176
|
@apply text-xs p-2;
|