@lavalogic/scoria 0.2.0 → 0.3.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.
- package/dist/Components/Button.svelte +3 -3
- package/dist/Components/DateInput.svelte +14 -14
- package/dist/Components/DesktopModal.svelte +1 -1
- package/dist/Components/DimensionInput.svelte +14 -14
- package/dist/Components/DragMenu/DragMenuHolder.svelte +116 -0
- package/dist/Components/DragMenu/DragMenuHolder.svelte.d.ts +32 -0
- package/dist/Components/DragMenu/DraggableCard.svelte +111 -0
- package/dist/Components/DragMenu/DraggableCard.svelte.d.ts +11 -0
- package/dist/Components/FileUpload.svelte +13 -13
- package/dist/Components/GridInput.svelte +13 -9
- package/dist/Components/GridInput.svelte.d.ts +6 -5
- package/dist/Components/GridInputSet.svelte +2 -1
- package/dist/Components/GridInputSet.svelte.d.ts +6 -5
- package/dist/Components/MultiSelect.svelte +17 -17
- package/dist/Components/NumberInput.svelte +14 -14
- package/dist/Components/PasswordInput.svelte +14 -14
- package/dist/Components/QuerySelect.svelte +17 -17
- package/dist/Components/SingleSelect.svelte +17 -17
- package/dist/Components/Table/Body/TableBody.svelte +1 -1
- package/dist/Components/Table/Headers/TableHead.svelte +1 -1
- package/dist/Components/TextArea.svelte +14 -14
- package/dist/Components/TextInput.svelte +14 -14
- package/dist/Components/Touch/BoolCard.svelte +1 -1
- package/dist/Components/Touch/EditCard.svelte +13 -13
- package/dist/Components/Touch/InfoCard.svelte +1 -1
- package/dist/Components/Touch/SummaryCard.svelte +13 -13
- package/dist/Components/VerticalTabGroup.svelte +1 -1
- package/dist/Components/VerticalTabGroupButton.svelte +1 -1
- package/dist/Types/Internal/GridMultiSelectItem.d.ts +13 -1
- package/dist/Types/Internal/GridSingleSelectItem.d.ts +13 -1
- package/dist/index.d.ts +2 -6
- package/dist/index.js +0 -6
- package/dist/scss/_mixins.scss +11 -8
- package/dist/scss/_sizing.scss +1 -1
- package/package.json +3 -2
- package/dist/Types/Internal/GridMultiSelectItemAsObject.d.ts +0 -6
- package/dist/Types/Internal/GridMultiSelectItemAsObject.js +0 -1
- package/dist/Types/Internal/GridMultiSelectItemAsPrimitive.d.ts +0 -6
- package/dist/Types/Internal/GridMultiSelectItemAsPrimitive.js +0 -1
- package/dist/Types/Internal/GridSingleSelectItemAsObject.d.ts +0 -6
- package/dist/Types/Internal/GridSingleSelectItemAsObject.js +0 -1
- package/dist/Types/Internal/GridSingleSelectItemAsPrimitive.d.ts +0 -6
- package/dist/Types/Internal/GridSingleSelectItemAsPrimitive.js +0 -1
|
@@ -282,7 +282,7 @@ button {
|
|
|
282
282
|
padding-right: var(--button-padding-right, var(--button-padding-horizontal, var(--button-padding, var(--fallback-padding-horizontal, 0))));
|
|
283
283
|
padding-top: var(--button-padding-top, var(--button-padding-vertical, var(--button-padding, var(--fallback-padding-vertical, 0))));
|
|
284
284
|
padding-bottom: var(--button-padding-bottom, var(--button-padding-vertical, var(--button-padding, var(--fallback-padding-vertical, 0))));
|
|
285
|
-
font-size: var(--font-size, 0.
|
|
285
|
+
font-size: var(--font-size, 0.875rem);
|
|
286
286
|
}
|
|
287
287
|
button.noninteractive {
|
|
288
288
|
cursor: not-allowed !important;
|
|
@@ -414,7 +414,7 @@ button.info {
|
|
|
414
414
|
button.card-inner {
|
|
415
415
|
height: 34px;
|
|
416
416
|
box-sizing: border-box;
|
|
417
|
-
font-size: var(--font-size, 0.
|
|
417
|
+
font-size: var(--font-size, 0.875rem);
|
|
418
418
|
border: solid 1px #cbd4da;
|
|
419
419
|
font-weight: 600;
|
|
420
420
|
border-radius: 4px;
|
|
@@ -468,7 +468,7 @@ button.call-to-action:not([disabled]):focus {
|
|
|
468
468
|
outline-offset: -2px;
|
|
469
469
|
}
|
|
470
470
|
button.toolbar {
|
|
471
|
-
font-size: var(--font-size, 0.
|
|
471
|
+
font-size: var(--font-size, 0.875rem);
|
|
472
472
|
font-weight: 600;
|
|
473
473
|
border-radius: 0;
|
|
474
474
|
border: none;
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
box-sizing: border-box;
|
|
150
150
|
height: 100%;
|
|
151
151
|
width: 100%;
|
|
152
|
-
font-size: 0.
|
|
152
|
+
font-size: 0.875rem;
|
|
153
153
|
font-weight: 400;
|
|
154
154
|
padding-top: var(--input-padding-top, 0.65rem);
|
|
155
155
|
padding-bottom: var(--input-padding-bottom, 0.55rem);
|
|
@@ -212,12 +212,13 @@ span.right-label.for-modal {
|
|
|
212
212
|
span.for-default {
|
|
213
213
|
position: absolute;
|
|
214
214
|
left: 0.5rem;
|
|
215
|
-
font-size: 0.
|
|
215
|
+
font-size: 0.875rem;
|
|
216
216
|
user-select: none;
|
|
217
|
-
padding-left: 0.
|
|
218
|
-
padding-right: 0.
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
padding-left: 0.5rem;
|
|
218
|
+
padding-right: 0.5rem;
|
|
219
|
+
line-height: 1rem;
|
|
220
|
+
padding: 0rem 0.5rem;
|
|
221
|
+
top: calc(-0.875rem / 2 - 2px);
|
|
221
222
|
z-index: 2;
|
|
222
223
|
color: #647d8e;
|
|
223
224
|
white-space: nowrap;
|
|
@@ -229,16 +230,15 @@ span.for-default.invalid {
|
|
|
229
230
|
span.border {
|
|
230
231
|
position: absolute;
|
|
231
232
|
left: 0.5rem;
|
|
232
|
-
font-size: 0.
|
|
233
|
+
font-size: 0.875rem;
|
|
233
234
|
user-select: none;
|
|
234
|
-
padding-left: 0.
|
|
235
|
-
padding-right: 0.
|
|
236
|
-
|
|
237
|
-
padding-bottom: 0;
|
|
235
|
+
padding-left: 0.5rem;
|
|
236
|
+
padding-right: 0.5rem;
|
|
237
|
+
line-height: 1rem;
|
|
238
238
|
z-index: 1;
|
|
239
239
|
white-space: nowrap;
|
|
240
|
-
top:
|
|
241
|
-
height:
|
|
240
|
+
top: -1px;
|
|
241
|
+
line-height: 0px;
|
|
242
242
|
color: transparent;
|
|
243
243
|
border-bottom: solid 1px #ffffff;
|
|
244
244
|
}
|
|
@@ -327,7 +327,7 @@ label.for-modal {
|
|
|
327
327
|
label.for-modal span.top-label {
|
|
328
328
|
color: #647d8e;
|
|
329
329
|
--colour: #8096a5;
|
|
330
|
-
font-size: 0.
|
|
330
|
+
font-size: 0.875rem;
|
|
331
331
|
z-index: 1;
|
|
332
332
|
position: absolute;
|
|
333
333
|
top: 0.45rem;
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
box-sizing: border-box;
|
|
209
209
|
height: 100%;
|
|
210
210
|
width: 100%;
|
|
211
|
-
font-size: 0.
|
|
211
|
+
font-size: 0.875rem;
|
|
212
212
|
font-weight: 400;
|
|
213
213
|
padding-top: var(--input-padding-top, 0.65rem);
|
|
214
214
|
padding-bottom: var(--input-padding-bottom, 0.55rem);
|
|
@@ -271,12 +271,13 @@ span.right-label.for-modal {
|
|
|
271
271
|
span.for-default {
|
|
272
272
|
position: absolute;
|
|
273
273
|
left: 0.5rem;
|
|
274
|
-
font-size: 0.
|
|
274
|
+
font-size: 0.875rem;
|
|
275
275
|
user-select: none;
|
|
276
|
-
padding-left: 0.
|
|
277
|
-
padding-right: 0.
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
padding-left: 0.5rem;
|
|
277
|
+
padding-right: 0.5rem;
|
|
278
|
+
line-height: 1rem;
|
|
279
|
+
padding: 0rem 0.5rem;
|
|
280
|
+
top: calc(-0.875rem / 2 - 2px);
|
|
280
281
|
z-index: 2;
|
|
281
282
|
color: #647d8e;
|
|
282
283
|
white-space: nowrap;
|
|
@@ -288,16 +289,15 @@ span.for-default.invalid {
|
|
|
288
289
|
span.border {
|
|
289
290
|
position: absolute;
|
|
290
291
|
left: 0.5rem;
|
|
291
|
-
font-size: 0.
|
|
292
|
+
font-size: 0.875rem;
|
|
292
293
|
user-select: none;
|
|
293
|
-
padding-left: 0.
|
|
294
|
-
padding-right: 0.
|
|
295
|
-
|
|
296
|
-
padding-bottom: 0;
|
|
294
|
+
padding-left: 0.5rem;
|
|
295
|
+
padding-right: 0.5rem;
|
|
296
|
+
line-height: 1rem;
|
|
297
297
|
z-index: 1;
|
|
298
298
|
white-space: nowrap;
|
|
299
|
-
top:
|
|
300
|
-
height:
|
|
299
|
+
top: -1px;
|
|
300
|
+
line-height: 0px;
|
|
301
301
|
color: transparent;
|
|
302
302
|
border-bottom: solid 1px #ffffff;
|
|
303
303
|
}
|
|
@@ -386,7 +386,7 @@ label.for-modal {
|
|
|
386
386
|
label.for-modal span.top-label {
|
|
387
387
|
color: #647d8e;
|
|
388
388
|
--colour: #8096a5;
|
|
389
|
-
font-size: 0.
|
|
389
|
+
font-size: 0.875rem;
|
|
390
390
|
z-index: 1;
|
|
391
391
|
position: absolute;
|
|
392
392
|
top: 0.45rem;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<svelte:options runes />
|
|
2
|
+
|
|
3
|
+
<script lang="ts" module>
|
|
4
|
+
import type { Snippet } from 'svelte';
|
|
5
|
+
|
|
6
|
+
export interface Draggable<T> {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
original: T;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface DragMenuHolder<T> {
|
|
13
|
+
items: Draggable<T>[];
|
|
14
|
+
consider: (items: Draggable<T>[]) => void;
|
|
15
|
+
finalise: (items: Draggable<T>[]) => void;
|
|
16
|
+
snippet: Snippet<[Draggable<T>, number]>;
|
|
17
|
+
|
|
18
|
+
label?: string;
|
|
19
|
+
flipDurationMS?: number;
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<script lang="ts" generics="T">
|
|
24
|
+
import { dndzone } from 'svelte-dnd-action';
|
|
25
|
+
import { flip } from 'svelte/animate';
|
|
26
|
+
|
|
27
|
+
const {
|
|
28
|
+
items,
|
|
29
|
+
consider,
|
|
30
|
+
finalise,
|
|
31
|
+
snippet,
|
|
32
|
+
flipDurationMS = 60,
|
|
33
|
+
label
|
|
34
|
+
}: DragMenuHolder<T> = $props();
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<div class="wrapper">
|
|
38
|
+
{#if label}
|
|
39
|
+
<span class="top-label">{label}</span>
|
|
40
|
+
<span class="top-label-border">{label}</span>
|
|
41
|
+
{/if}
|
|
42
|
+
<div
|
|
43
|
+
class="dnd"
|
|
44
|
+
use:dndzone={{ items, flipDurationMs: flipDurationMS, delayTouchStart: 30 }}
|
|
45
|
+
onconsider={(e) => {
|
|
46
|
+
consider(e.detail.items);
|
|
47
|
+
}}
|
|
48
|
+
onfinalize={(e) => {
|
|
49
|
+
finalise(e.detail.items);
|
|
50
|
+
}}
|
|
51
|
+
>
|
|
52
|
+
{#each items as item, index (item.id)}
|
|
53
|
+
<div class="contents" animate:flip={{ duration: flipDurationMS }}>
|
|
54
|
+
{@render snippet(item, index)}
|
|
55
|
+
</div>
|
|
56
|
+
{/each}
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<style>.top-label {
|
|
61
|
+
border-bottom: solid 1px transparent;
|
|
62
|
+
position: absolute;
|
|
63
|
+
left: 0.5rem;
|
|
64
|
+
font-size: 0.875rem;
|
|
65
|
+
user-select: none;
|
|
66
|
+
padding-left: 0.5rem;
|
|
67
|
+
padding-right: 0.5rem;
|
|
68
|
+
line-height: 1rem;
|
|
69
|
+
padding: 0rem 0.5rem;
|
|
70
|
+
top: calc(-0.875rem / 2 - 2px);
|
|
71
|
+
z-index: 2;
|
|
72
|
+
color: #647d8e;
|
|
73
|
+
white-space: nowrap;
|
|
74
|
+
}
|
|
75
|
+
.top-label.invalid {
|
|
76
|
+
color: #aa1414;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.top-label-border {
|
|
80
|
+
position: absolute;
|
|
81
|
+
left: 0.5rem;
|
|
82
|
+
font-size: 0.875rem;
|
|
83
|
+
user-select: none;
|
|
84
|
+
padding-left: 0.5rem;
|
|
85
|
+
padding-right: 0.5rem;
|
|
86
|
+
line-height: 1rem;
|
|
87
|
+
z-index: 1;
|
|
88
|
+
white-space: nowrap;
|
|
89
|
+
top: -1px;
|
|
90
|
+
line-height: 0px;
|
|
91
|
+
color: transparent;
|
|
92
|
+
border-bottom: solid 1px #ffffff;
|
|
93
|
+
}
|
|
94
|
+
.top-label-border.invalid {
|
|
95
|
+
border-bottom-color: #f9e9e9;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
div.wrapper {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex: 1;
|
|
101
|
+
position: relative;
|
|
102
|
+
border: solid 1px #cbd4da;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
div.dnd {
|
|
106
|
+
border: none;
|
|
107
|
+
display: flex;
|
|
108
|
+
flex-flow: column nowrap;
|
|
109
|
+
outline: none !important;
|
|
110
|
+
/* this will allow the dragged element to scroll the list although starting in version 0.9.41 the lib would detect any scrollable parent*/
|
|
111
|
+
overflow: scroll;
|
|
112
|
+
flex: 1;
|
|
113
|
+
gap: 0.5rem;
|
|
114
|
+
padding: 0.5rem;
|
|
115
|
+
outline-color: red;
|
|
116
|
+
}</style>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
export interface Draggable<T> {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
original: T;
|
|
6
|
+
}
|
|
7
|
+
export interface DragMenuHolder<T> {
|
|
8
|
+
items: Draggable<T>[];
|
|
9
|
+
consider: (items: Draggable<T>[]) => void;
|
|
10
|
+
finalise: (items: Draggable<T>[]) => void;
|
|
11
|
+
snippet: Snippet<[Draggable<T>, number]>;
|
|
12
|
+
label?: string;
|
|
13
|
+
flipDurationMS?: number;
|
|
14
|
+
}
|
|
15
|
+
declare function $$render<T>(): any;
|
|
16
|
+
declare class __sveltets_Render<T> {
|
|
17
|
+
props(): ReturnType<typeof $$render<T>>['props'];
|
|
18
|
+
events(): ReturnType<typeof $$render<T>>['events'];
|
|
19
|
+
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
20
|
+
bindings(): "";
|
|
21
|
+
exports(): {};
|
|
22
|
+
}
|
|
23
|
+
interface $$IsomorphicComponent {
|
|
24
|
+
new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
|
|
25
|
+
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
26
|
+
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
27
|
+
<T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
28
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
29
|
+
}
|
|
30
|
+
declare const DragMenuHolder: $$IsomorphicComponent;
|
|
31
|
+
type DragMenuHolder<T> = InstanceType<typeof DragMenuHolder<T>>;
|
|
32
|
+
export default DragMenuHolder;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<svelte:options runes />
|
|
2
|
+
|
|
3
|
+
<script lang="ts" module>
|
|
4
|
+
export interface DraggableCardProps {
|
|
5
|
+
selectable: boolean;
|
|
6
|
+
title: string;
|
|
7
|
+
subtitle: string;
|
|
8
|
+
index: number;
|
|
9
|
+
|
|
10
|
+
selected?: boolean; // default false
|
|
11
|
+
disabled?: boolean; // default false
|
|
12
|
+
}
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import Checkbox from '../Checkbox.svelte';
|
|
17
|
+
|
|
18
|
+
let {
|
|
19
|
+
selectable,
|
|
20
|
+
title,
|
|
21
|
+
subtitle,
|
|
22
|
+
index,
|
|
23
|
+
selected = $bindable(false),
|
|
24
|
+
disabled = false
|
|
25
|
+
}: DraggableCardProps = $props();
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<div class="card">
|
|
29
|
+
{#if selectable}
|
|
30
|
+
<Checkbox value={selected} onchange={() => (selected = !selected)} />
|
|
31
|
+
{/if}
|
|
32
|
+
<div class="text">
|
|
33
|
+
<span class="title">{title}</span>
|
|
34
|
+
<span class="subtitle">{subtitle}</span>
|
|
35
|
+
</div>
|
|
36
|
+
<span class="row">{index + 1}</span>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<style>.card {
|
|
40
|
+
color: #3a4952;
|
|
41
|
+
fill: #3a4952;
|
|
42
|
+
padding: var(--padding-size, 0.76rem);
|
|
43
|
+
border-radius: var(--border-radius, 0);
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: column;
|
|
46
|
+
justify-content: space-around;
|
|
47
|
+
border: solid 1px #cbd4da;
|
|
48
|
+
transition: border-color ease-out 0.15s 0s, background-color ease-out 0.15s 0s, color ease-out 0.15s 0s, fill ease-out 0.15s 0s;
|
|
49
|
+
box-sizing: border-box;
|
|
50
|
+
background-color: #ffffff;
|
|
51
|
+
align-items: stretch;
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
}
|
|
54
|
+
.card:disabled {
|
|
55
|
+
background-color: var(--background-colour, #e9ecf1);
|
|
56
|
+
color: #8096a5;
|
|
57
|
+
--colour: #8096a5;
|
|
58
|
+
cursor: default;
|
|
59
|
+
}
|
|
60
|
+
.card:not([disabled]):hover {
|
|
61
|
+
background-color: var(--hover-background-colour, rgba(0, 0, 0, 0.1));
|
|
62
|
+
--background-colour: var(--hover-background-colour, colours.$transparent-10) !important;
|
|
63
|
+
}
|
|
64
|
+
.card:not([disabled]):focus, .card:not([disabled]):focus-visible {
|
|
65
|
+
outline: solid 1px #1f81a0;
|
|
66
|
+
}
|
|
67
|
+
.card:not([disabled]).ticked, .card:not([disabled]).primary {
|
|
68
|
+
color: #ffffff;
|
|
69
|
+
background-color: var(--background-colour, #259fc7);
|
|
70
|
+
border-color: var(--border-colour, #259fc7);
|
|
71
|
+
}
|
|
72
|
+
.card:not([disabled]).ticked:focus, .card:not([disabled]).ticked:focus-visible, .card:not([disabled]).primary:focus, .card:not([disabled]).primary:focus-visible {
|
|
73
|
+
outline-color: #259fc7;
|
|
74
|
+
}
|
|
75
|
+
.card:not([disabled]).ticked:hover, .card:not([disabled]).primary:hover {
|
|
76
|
+
background-color: var(--hover-background-colour, #1f81a0);
|
|
77
|
+
}
|
|
78
|
+
.card * {
|
|
79
|
+
user-select: none;
|
|
80
|
+
}
|
|
81
|
+
.card {
|
|
82
|
+
flex-flow: row nowrap;
|
|
83
|
+
justify-content: flex-start;
|
|
84
|
+
align-items: center;
|
|
85
|
+
gap: 1.5rem;
|
|
86
|
+
}
|
|
87
|
+
.card .text {
|
|
88
|
+
display: flex;
|
|
89
|
+
gap: 0.5rem;
|
|
90
|
+
flex-flow: column nowrap;
|
|
91
|
+
}
|
|
92
|
+
.card .title {
|
|
93
|
+
font-weight: 500;
|
|
94
|
+
color: #455661;
|
|
95
|
+
}
|
|
96
|
+
.card .subtitle {
|
|
97
|
+
color: #718a9b;
|
|
98
|
+
}
|
|
99
|
+
.card span.row {
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-flow: row nowrap;
|
|
102
|
+
align-items: center;
|
|
103
|
+
justify-content: center;
|
|
104
|
+
height: 1.75rem;
|
|
105
|
+
width: 1.75rem;
|
|
106
|
+
overflow: hidden;
|
|
107
|
+
margin-left: auto;
|
|
108
|
+
margin-right: 1rem;
|
|
109
|
+
border: solid 3px #cbd4da;
|
|
110
|
+
border-radius: 50%;
|
|
111
|
+
}</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DraggableCardProps {
|
|
2
|
+
selectable: boolean;
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle: string;
|
|
5
|
+
index: number;
|
|
6
|
+
selected?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const DraggableCard: import("svelte").Component<DraggableCardProps, {}, "selected">;
|
|
10
|
+
type DraggableCard = ReturnType<typeof DraggableCard>;
|
|
11
|
+
export default DraggableCard;
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
box-sizing: border-box;
|
|
212
212
|
height: 100%;
|
|
213
213
|
width: 100%;
|
|
214
|
-
font-size: 0.
|
|
214
|
+
font-size: 0.875rem;
|
|
215
215
|
font-weight: 400;
|
|
216
216
|
padding-top: var(--input-padding-top, 0.65rem);
|
|
217
217
|
padding-bottom: var(--input-padding-bottom, 0.55rem);
|
|
@@ -274,12 +274,13 @@ span.right-label.for-modal {
|
|
|
274
274
|
span.for-default {
|
|
275
275
|
position: absolute;
|
|
276
276
|
left: 0.5rem;
|
|
277
|
-
font-size: 0.
|
|
277
|
+
font-size: 0.875rem;
|
|
278
278
|
user-select: none;
|
|
279
|
-
padding-left: 0.
|
|
280
|
-
padding-right: 0.
|
|
281
|
-
|
|
282
|
-
|
|
279
|
+
padding-left: 0.5rem;
|
|
280
|
+
padding-right: 0.5rem;
|
|
281
|
+
line-height: 1rem;
|
|
282
|
+
padding: 0rem 0.5rem;
|
|
283
|
+
top: calc(-0.875rem / 2 - 2px);
|
|
283
284
|
z-index: 2;
|
|
284
285
|
color: #647d8e;
|
|
285
286
|
white-space: nowrap;
|
|
@@ -291,16 +292,15 @@ span.for-default.invalid {
|
|
|
291
292
|
span.border {
|
|
292
293
|
position: absolute;
|
|
293
294
|
left: 0.5rem;
|
|
294
|
-
font-size: 0.
|
|
295
|
+
font-size: 0.875rem;
|
|
295
296
|
user-select: none;
|
|
296
|
-
padding-left: 0.
|
|
297
|
-
padding-right: 0.
|
|
298
|
-
|
|
299
|
-
padding-bottom: 0;
|
|
297
|
+
padding-left: 0.5rem;
|
|
298
|
+
padding-right: 0.5rem;
|
|
299
|
+
line-height: 1rem;
|
|
300
300
|
z-index: 1;
|
|
301
301
|
white-space: nowrap;
|
|
302
|
-
top:
|
|
303
|
-
height:
|
|
302
|
+
top: -1px;
|
|
303
|
+
line-height: 0px;
|
|
304
304
|
color: transparent;
|
|
305
305
|
border-bottom: solid 1px #ffffff;
|
|
306
306
|
}
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts" module>
|
|
4
4
|
import type { GridItem } from '../Types/Internal/GridItem.js';
|
|
5
|
-
import type {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import type {
|
|
6
|
+
GridMultiSelectItem,
|
|
7
|
+
GridMultiSelectItemAsObject,
|
|
8
|
+
GridMultiSelectItemAsPrimitive
|
|
9
|
+
} from '../Types/Internal/GridMultiSelectItem.js';
|
|
8
10
|
import type { GridSelectItem } from '../Types/Internal/GridSelectItem.js';
|
|
9
|
-
import type {
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
import type {
|
|
12
|
+
GridSingleSelectItem,
|
|
13
|
+
GridSingleSelectItemAsObject,
|
|
14
|
+
GridSingleSelectItemAsPrimitive
|
|
15
|
+
} from '../Types/Internal/GridSingleSelectItem.js';
|
|
12
16
|
import type { GridTextItem } from '../Types/Internal/GridTextItem.js';
|
|
13
17
|
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
14
18
|
import MultiSelect from './MultiSelect.svelte';
|
|
@@ -28,7 +32,7 @@
|
|
|
28
32
|
const textTypes = new Set(['text', 'email', 'tel']);
|
|
29
33
|
</script>
|
|
30
34
|
|
|
31
|
-
<script lang="ts" generics="V,VP">
|
|
35
|
+
<script lang="ts" generics="V extends object,VP extends ValueProp<V>">
|
|
32
36
|
const { item, first, last }: GridInputProps<V, VP> = $props();
|
|
33
37
|
|
|
34
38
|
let value = $state(isText(item) ? (item.value ?? '') : '');
|
|
@@ -99,7 +103,7 @@
|
|
|
99
103
|
<MultiSelect
|
|
100
104
|
name={item.name}
|
|
101
105
|
{options}
|
|
102
|
-
valueAsObject={
|
|
106
|
+
valueAsObject={true}
|
|
103
107
|
labelProp={item.labelProp}
|
|
104
108
|
valueProp={item.valueProp}
|
|
105
109
|
selectedValues={item.value}
|
|
@@ -112,7 +116,7 @@
|
|
|
112
116
|
<MultiSelect
|
|
113
117
|
name={item.name}
|
|
114
118
|
{options}
|
|
115
|
-
valueAsObject={
|
|
119
|
+
valueAsObject={false}
|
|
116
120
|
labelProp={item.labelProp}
|
|
117
121
|
valueProp={item.valueProp}
|
|
118
122
|
selectedValues={item.value}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import type { GridItem } from '../Types/Internal/GridItem.js';
|
|
2
|
+
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
2
3
|
export interface GridInputProps<V, VP> {
|
|
3
4
|
item: GridItem<V, VP>;
|
|
4
5
|
first: boolean;
|
|
5
6
|
last: boolean;
|
|
6
7
|
}
|
|
7
|
-
declare function $$render<V, VP
|
|
8
|
+
declare function $$render<V extends object, VP extends ValueProp<V>>(): {
|
|
8
9
|
props: GridInputProps<V, VP>;
|
|
9
10
|
exports: {};
|
|
10
11
|
bindings: "";
|
|
11
12
|
slots: {};
|
|
12
13
|
events: {};
|
|
13
14
|
};
|
|
14
|
-
declare class __sveltets_Render<V, VP
|
|
15
|
+
declare class __sveltets_Render<V extends object, VP extends ValueProp<V>> {
|
|
15
16
|
props(): ReturnType<typeof $$render<V, VP>>['props'];
|
|
16
17
|
events(): ReturnType<typeof $$render<V, VP>>['events'];
|
|
17
18
|
slots(): ReturnType<typeof $$render<V, VP>>['slots'];
|
|
@@ -19,12 +20,12 @@ declare class __sveltets_Render<V, VP> {
|
|
|
19
20
|
exports(): {};
|
|
20
21
|
}
|
|
21
22
|
interface $$IsomorphicComponent {
|
|
22
|
-
new <V, VP
|
|
23
|
+
new <V extends object, VP extends ValueProp<V>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<V, VP>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<V, VP>['props']>, ReturnType<__sveltets_Render<V, VP>['events']>, ReturnType<__sveltets_Render<V, VP>['slots']>> & {
|
|
23
24
|
$$bindings?: ReturnType<__sveltets_Render<V, VP>['bindings']>;
|
|
24
25
|
} & ReturnType<__sveltets_Render<V, VP>['exports']>;
|
|
25
|
-
<V, VP
|
|
26
|
+
<V extends object, VP extends ValueProp<V>>(internal: unknown, props: ReturnType<__sveltets_Render<V, VP>['props']> & {}): ReturnType<__sveltets_Render<V, VP>['exports']>;
|
|
26
27
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
27
28
|
}
|
|
28
29
|
declare const GridInput: $$IsomorphicComponent;
|
|
29
|
-
type GridInput<V, VP
|
|
30
|
+
type GridInput<V extends object, VP extends ValueProp<V>> = InstanceType<typeof GridInput<V, VP>>;
|
|
30
31
|
export default GridInput;
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
}
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
|
-
<script lang="ts" generics="V,VP">
|
|
12
|
+
<script lang="ts" generics="V extends object,VP extends ValueProp<V>">
|
|
13
13
|
import GridInput from './GridInput.svelte';
|
|
14
14
|
import type { GridItem } from '../Types/Internal/GridItem.js';
|
|
15
|
+
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
15
16
|
|
|
16
17
|
const { items, header }: GridInputSetProps<V, VP> = $props();
|
|
17
18
|
|
|
@@ -4,14 +4,15 @@ export interface GridInputSetProps<V, VP> {
|
|
|
4
4
|
header?: Snippet;
|
|
5
5
|
}
|
|
6
6
|
import type { GridItem } from '../Types/Internal/GridItem.js';
|
|
7
|
-
|
|
7
|
+
import type { ValueProp } from '../Types/Internal/Misc.js';
|
|
8
|
+
declare function $$render<V extends object, VP extends ValueProp<V>>(): {
|
|
8
9
|
props: GridInputSetProps<V, VP>;
|
|
9
10
|
exports: {};
|
|
10
11
|
bindings: "";
|
|
11
12
|
slots: {};
|
|
12
13
|
events: {};
|
|
13
14
|
};
|
|
14
|
-
declare class __sveltets_Render<V, VP
|
|
15
|
+
declare class __sveltets_Render<V extends object, VP extends ValueProp<V>> {
|
|
15
16
|
props(): ReturnType<typeof $$render<V, VP>>['props'];
|
|
16
17
|
events(): ReturnType<typeof $$render<V, VP>>['events'];
|
|
17
18
|
slots(): ReturnType<typeof $$render<V, VP>>['slots'];
|
|
@@ -19,12 +20,12 @@ declare class __sveltets_Render<V, VP> {
|
|
|
19
20
|
exports(): {};
|
|
20
21
|
}
|
|
21
22
|
interface $$IsomorphicComponent {
|
|
22
|
-
new <V, VP
|
|
23
|
+
new <V extends object, VP extends ValueProp<V>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<V, VP>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<V, VP>['props']>, ReturnType<__sveltets_Render<V, VP>['events']>, ReturnType<__sveltets_Render<V, VP>['slots']>> & {
|
|
23
24
|
$$bindings?: ReturnType<__sveltets_Render<V, VP>['bindings']>;
|
|
24
25
|
} & ReturnType<__sveltets_Render<V, VP>['exports']>;
|
|
25
|
-
<V, VP
|
|
26
|
+
<V extends object, VP extends ValueProp<V>>(internal: unknown, props: ReturnType<__sveltets_Render<V, VP>['props']> & {}): ReturnType<__sveltets_Render<V, VP>['exports']>;
|
|
26
27
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
27
28
|
}
|
|
28
29
|
declare const GridInputSet: $$IsomorphicComponent;
|
|
29
|
-
type GridInputSet<V, VP
|
|
30
|
+
type GridInputSet<V extends object, VP extends ValueProp<V>> = InstanceType<typeof GridInputSet<V, VP>>;
|
|
30
31
|
export default GridInputSet;
|