@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.
Files changed (43) hide show
  1. package/dist/Components/Button.svelte +3 -3
  2. package/dist/Components/DateInput.svelte +14 -14
  3. package/dist/Components/DesktopModal.svelte +1 -1
  4. package/dist/Components/DimensionInput.svelte +14 -14
  5. package/dist/Components/DragMenu/DragMenuHolder.svelte +116 -0
  6. package/dist/Components/DragMenu/DragMenuHolder.svelte.d.ts +32 -0
  7. package/dist/Components/DragMenu/DraggableCard.svelte +111 -0
  8. package/dist/Components/DragMenu/DraggableCard.svelte.d.ts +11 -0
  9. package/dist/Components/FileUpload.svelte +13 -13
  10. package/dist/Components/GridInput.svelte +13 -9
  11. package/dist/Components/GridInput.svelte.d.ts +6 -5
  12. package/dist/Components/GridInputSet.svelte +2 -1
  13. package/dist/Components/GridInputSet.svelte.d.ts +6 -5
  14. package/dist/Components/MultiSelect.svelte +17 -17
  15. package/dist/Components/NumberInput.svelte +14 -14
  16. package/dist/Components/PasswordInput.svelte +14 -14
  17. package/dist/Components/QuerySelect.svelte +17 -17
  18. package/dist/Components/SingleSelect.svelte +17 -17
  19. package/dist/Components/Table/Body/TableBody.svelte +1 -1
  20. package/dist/Components/Table/Headers/TableHead.svelte +1 -1
  21. package/dist/Components/TextArea.svelte +14 -14
  22. package/dist/Components/TextInput.svelte +14 -14
  23. package/dist/Components/Touch/BoolCard.svelte +1 -1
  24. package/dist/Components/Touch/EditCard.svelte +13 -13
  25. package/dist/Components/Touch/InfoCard.svelte +1 -1
  26. package/dist/Components/Touch/SummaryCard.svelte +13 -13
  27. package/dist/Components/VerticalTabGroup.svelte +1 -1
  28. package/dist/Components/VerticalTabGroupButton.svelte +1 -1
  29. package/dist/Types/Internal/GridMultiSelectItem.d.ts +13 -1
  30. package/dist/Types/Internal/GridSingleSelectItem.d.ts +13 -1
  31. package/dist/index.d.ts +2 -6
  32. package/dist/index.js +0 -6
  33. package/dist/scss/_mixins.scss +11 -8
  34. package/dist/scss/_sizing.scss +1 -1
  35. package/package.json +3 -2
  36. package/dist/Types/Internal/GridMultiSelectItemAsObject.d.ts +0 -6
  37. package/dist/Types/Internal/GridMultiSelectItemAsObject.js +0 -1
  38. package/dist/Types/Internal/GridMultiSelectItemAsPrimitive.d.ts +0 -6
  39. package/dist/Types/Internal/GridMultiSelectItemAsPrimitive.js +0 -1
  40. package/dist/Types/Internal/GridSingleSelectItemAsObject.d.ts +0 -6
  41. package/dist/Types/Internal/GridSingleSelectItemAsObject.js +0 -1
  42. package/dist/Types/Internal/GridSingleSelectItemAsPrimitive.d.ts +0 -6
  43. 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.9375rem);
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.9375rem);
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.9375rem);
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.9375rem;
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.9375rem;
215
+ font-size: 0.875rem;
216
216
  user-select: none;
217
- padding-left: 0.4rem;
218
- padding-right: 0.4rem;
219
- padding: 0.1rem 0.4rem;
220
- top: -0.6rem;
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.9375rem;
233
+ font-size: 0.875rem;
233
234
  user-select: none;
234
- padding-left: 0.4rem;
235
- padding-right: 0.4rem;
236
- padding-top: 0;
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: 0%;
241
- height: 0;
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.9375rem;
330
+ font-size: 0.875rem;
331
331
  z-index: 1;
332
332
  position: absolute;
333
333
  top: 0.45rem;
@@ -164,7 +164,7 @@
164
164
  gap: 0.1875rem;
165
165
  fill: #647d8e;
166
166
  color: #647d8e;
167
- font-size: 0.9375rem;
167
+ font-size: 0.875rem;
168
168
  }
169
169
 
170
170
  .footer {
@@ -208,7 +208,7 @@
208
208
  box-sizing: border-box;
209
209
  height: 100%;
210
210
  width: 100%;
211
- font-size: 0.9375rem;
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.9375rem;
274
+ font-size: 0.875rem;
275
275
  user-select: none;
276
- padding-left: 0.4rem;
277
- padding-right: 0.4rem;
278
- padding: 0.1rem 0.4rem;
279
- top: -0.6rem;
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.9375rem;
292
+ font-size: 0.875rem;
292
293
  user-select: none;
293
- padding-left: 0.4rem;
294
- padding-right: 0.4rem;
295
- padding-top: 0;
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: 0%;
300
- height: 0;
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.9375rem;
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.9375rem;
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.9375rem;
277
+ font-size: 0.875rem;
278
278
  user-select: none;
279
- padding-left: 0.4rem;
280
- padding-right: 0.4rem;
281
- padding: 0.1rem 0.4rem;
282
- top: -0.6rem;
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.9375rem;
295
+ font-size: 0.875rem;
295
296
  user-select: none;
296
- padding-left: 0.4rem;
297
- padding-right: 0.4rem;
298
- padding-top: 0;
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: 0%;
303
- height: 0;
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 { GridMultiSelectItem } from '../Types/Internal/GridMultiSelectItem.js';
6
- import type { GridMultiSelectItemAsObject } from '../Types/Internal/GridMultiSelectItemAsObject.js';
7
- import type { GridMultiSelectItemAsPrimitive } from '../Types/Internal/GridMultiSelectItemAsPrimitive.js';
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 { GridSingleSelectItem } from '../Types/Internal/GridSingleSelectItem.js';
10
- import type { GridSingleSelectItemAsObject } from '../Types/Internal/GridSingleSelectItemAsObject.js';
11
- import type { GridSingleSelectItemAsPrimitive } from '../Types/Internal/GridSingleSelectItemAsPrimitive.js';
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={item.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={item.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>(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
+ 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>(internal: unknown, props: ReturnType<__sveltets_Render<V, VP>['props']> & {}): ReturnType<__sveltets_Render<V, VP>['exports']>;
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> = InstanceType<typeof 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
- declare function $$render<V, VP>(): {
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>(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
+ 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>(internal: unknown, props: ReturnType<__sveltets_Render<V, VP>['props']> & {}): ReturnType<__sveltets_Render<V, VP>['exports']>;
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> = InstanceType<typeof GridInputSet<V, VP>>;
30
+ type GridInputSet<V extends object, VP extends ValueProp<V>> = InstanceType<typeof GridInputSet<V, VP>>;
30
31
  export default GridInputSet;