@dosgato/dialog 1.2.8 → 1.3.1

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 (58) hide show
  1. package/dist/Button.svelte +15 -13
  2. package/dist/ButtonGroup.svelte +44 -40
  3. package/dist/Checkbox.svelte +13 -12
  4. package/dist/Container.svelte +50 -46
  5. package/dist/Dialog.svelte +56 -41
  6. package/dist/FieldAutocomplete.svelte +77 -70
  7. package/dist/FieldCheckbox.svelte +25 -22
  8. package/dist/FieldChoices.svelte +74 -68
  9. package/dist/FieldChooserLink.svelte +148 -150
  10. package/dist/FieldDate.svelte +19 -18
  11. package/dist/FieldDateTime.svelte +36 -34
  12. package/dist/FieldDualListbox.svelte +80 -79
  13. package/dist/FieldHidden.svelte +16 -15
  14. package/dist/FieldIdentifier.svelte +18 -17
  15. package/dist/FieldMultiple.svelte +71 -74
  16. package/dist/FieldMultiselect.svelte +81 -72
  17. package/dist/FieldNumber.svelte +20 -19
  18. package/dist/FieldRadio.svelte +42 -41
  19. package/dist/FieldSelect.svelte +45 -45
  20. package/dist/FieldStandard.svelte +28 -27
  21. package/dist/FieldText.svelte +27 -24
  22. package/dist/FieldTextArea.svelte +24 -24
  23. package/dist/FileIcon.svelte +10 -8
  24. package/dist/Form.svelte +40 -18
  25. package/dist/Form.svelte.d.ts +15 -13
  26. package/dist/FormDialog.svelte +40 -25
  27. package/dist/FormDialog.svelte.d.ts +23 -17
  28. package/dist/Icon.svelte +38 -33
  29. package/dist/InlineMessage.svelte +31 -29
  30. package/dist/InlineMessages.svelte +10 -7
  31. package/dist/Input.svelte +40 -39
  32. package/dist/Listbox.svelte +102 -109
  33. package/dist/MaxLength.svelte +19 -18
  34. package/dist/Radio.svelte +18 -15
  35. package/dist/Switcher.svelte +37 -33
  36. package/dist/Tab.svelte +23 -21
  37. package/dist/Tabs.svelte +111 -110
  38. package/dist/Tooltip.svelte +7 -7
  39. package/dist/chooser/Chooser.svelte +83 -76
  40. package/dist/chooser/ChooserPreview.svelte +16 -14
  41. package/dist/chooser/Details.svelte +6 -4
  42. package/dist/chooser/Thumbnail.svelte +20 -16
  43. package/dist/chooser/UploadUI.svelte +78 -69
  44. package/dist/code/CodeEditor.svelte +63 -66
  45. package/dist/code/FieldCodeEditor.svelte +21 -19
  46. package/dist/colorpicker/FieldColorPicker.svelte +36 -35
  47. package/dist/cropper/FieldCropper.svelte +142 -141
  48. package/dist/iconpicker/FieldIconPicker.svelte +102 -94
  49. package/dist/imageposition/FieldImagePosition.svelte +107 -98
  50. package/dist/tagpicker/FieldTagPicker.svelte +63 -54
  51. package/dist/tree/LoadIcon.svelte +0 -1
  52. package/dist/tree/Tree.svelte +198 -192
  53. package/dist/tree/Tree.svelte.d.ts +5 -5
  54. package/dist/tree/TreeCell.svelte +10 -6
  55. package/dist/tree/TreeCell.svelte.d.ts +5 -5
  56. package/dist/tree/TreeNode.svelte +213 -241
  57. package/dist/tree/TreeNode.svelte.d.ts +5 -5
  58. package/package.json +8 -9
@@ -1,260 +1,233 @@
1
- <script>import checkboxOutline from '@iconify-icons/mdi/checkbox-outline';
2
- import checkboxBlankOutline from '@iconify-icons/mdi/checkbox-blank-outline';
3
- import menuDown from '@iconify-icons/mdi/menu-down';
4
- import menuRight from '@iconify-icons/mdi/menu-right';
5
- import { modifierKey, ScreenReaderOnly } from '@txstate-mws/svelte-components';
6
- import { createEventDispatcher, getContext, onMount } from 'svelte';
7
- import { isNotBlank, toArray } from 'txstate-utils';
8
- import { Icon } from '..';
9
- import { TREE_STORE_CONTEXT, getHashId, lazyObserver } from './treestore';
10
- import LoadIcon from './LoadIcon.svelte';
11
- import TreeCell from './TreeCell.svelte';
12
- export let headers;
13
- export let headerSizes;
14
- export let nodeClass = undefined;
15
- export let item;
16
- export let posinset;
17
- export let setsize;
18
- export let level;
19
- export let next;
20
- export let prev;
21
- export let parent = undefined;
22
- const store = getContext(TREE_STORE_CONTEXT);
23
- const { dragging, draggable, selectedUndraggable, selected, focused, copied, headerOverride } = store;
24
- const dispatch = createEventDispatcher();
25
- let nodeelement;
26
- let userWantsCopy = false;
27
- $: isSelected = $selected.has(item.id);
28
- $: showChildren = !!item.open && !!item.children?.length;
29
- $: hashedId = getHashId(item.id);
30
- $: isDraggable = $draggable && ((isSelected && !$selectedUndraggable) || store.dragEligible([item], true) || store.dragEligible([item], false));
31
- $: dropZone = $dragging && store.dropEffect(item, false, userWantsCopy) !== 'none';
32
- $: dropDisabled = $dragging && !dropZone;
33
- $: dropAbove = $dragging && store.dropEffect(item, true, userWantsCopy) !== 'none';
34
- $: inClipboard = $copied.has(item.id);
35
- function onKeyDown(e) {
1
+ <script lang="ts" generics="T extends TreeItemFromDB = TreeItemFromDB">
2
+ import checkboxOutline from '@iconify-icons/mdi/checkbox-outline'
3
+ import checkboxBlankOutline from '@iconify-icons/mdi/checkbox-blank-outline'
4
+ import menuDown from '@iconify-icons/mdi/menu-down'
5
+ import menuRight from '@iconify-icons/mdi/menu-right'
6
+ import { modifierKey, ScreenReaderOnly } from '@txstate-mws/svelte-components'
7
+ import type { Store } from '@txstate-mws/svelte-store'
8
+ import { createEventDispatcher, getContext, onMount } from 'svelte'
9
+ import { isNotBlank, toArray } from 'txstate-utils'
10
+ import { Icon } from '..'
11
+ import { type TreeStore, TREE_STORE_CONTEXT, type TypedTreeItem, type TreeItemFromDB, type TreeHeader, getHashId, lazyObserver } from './treestore'
12
+ import LoadIcon from './LoadIcon.svelte'
13
+ import TreeCell from './TreeCell.svelte'
14
+
15
+ export let headers: TreeHeader<T>[]
16
+ export let headerSizes: Store<string[]>
17
+ export let nodeClass: ((itm: T) => string) | undefined = undefined
18
+ export let item: TypedTreeItem<T>
19
+ export let posinset: number
20
+ export let setsize: number
21
+ export let level: number
22
+ export let next: TypedTreeItem<T> | undefined
23
+ export let prev: TypedTreeItem<T> | undefined
24
+ export let parent: TypedTreeItem<T> | undefined = undefined
25
+
26
+ const store = getContext<TreeStore<T>>(TREE_STORE_CONTEXT)
27
+ const { dragging, draggable, selectedUndraggable, selected, focused, copied, headerOverride } = store
28
+
29
+ const dispatch = createEventDispatcher()
30
+ let nodeelement: HTMLElement
31
+
32
+ let userWantsCopy = false
33
+ $: isSelected = $selected.has(item.id)
34
+ $: showChildren = !!item.open && !!item.children?.length
35
+ $: hashedId = getHashId(item.id)
36
+ $: isDraggable = $draggable && ((isSelected && !$selectedUndraggable) || store.dragEligible([item], true) || store.dragEligible([item], false))
37
+ $: dropZone = $dragging && store.dropEffect(item, false, userWantsCopy) !== 'none'
38
+ $: dropDisabled = $dragging && !dropZone
39
+ $: dropAbove = $dragging && store.dropEffect(item, true, userWantsCopy) !== 'none'
40
+ $: inClipboard = $copied.has(item.id)
41
+
42
+ function onKeyDown (e: KeyboardEvent) {
36
43
  if (e.ctrlKey || e.metaKey) {
37
- if (e.key === 'x') {
38
- store.cut();
39
- }
40
- else if (e.key === 'c') {
41
- store.copy();
42
- }
43
- else if (e.key === 'v') {
44
- void store.paste();
45
- }
46
- }
47
- else if (e.key === 'Escape') {
48
- store.cancelCopy();
44
+ if (e.key === 'x') {
45
+ store.cut()
46
+ } else if (e.key === 'c') {
47
+ store.copy()
48
+ } else if (e.key === 'v') {
49
+ void store.paste()
50
+ }
51
+ } else if (e.key === 'Escape') {
52
+ store.cancelCopy()
49
53
  }
50
- if (modifierKey(e) && !['Enter', ' '].includes(e.key))
51
- return;
54
+
55
+ if (modifierKey(e) && !['Enter', ' '].includes(e.key)) return
52
56
  if (['Enter', ' '].includes(e.key)) {
53
- e.preventDefault();
54
- e.stopPropagation();
55
- if ($store.selected && $store.selected.size === 1 && $store.selected.has(item.id))
56
- dispatch('choose', item);
57
- else {
58
- if (e.metaKey || e.altKey) {
59
- store.select(item, { clear: false, toggle: true });
60
- }
61
- else if (e.shiftKey) {
62
- shiftClick();
63
- }
64
- else {
65
- store.select(item, { clear: true });
66
- }
67
- }
68
- }
69
- else if (e.key === 'Escape') {
70
- store.deselect();
71
- }
72
- else if (e.key === 'ArrowRight') {
73
- e.preventDefault();
74
- e.stopPropagation();
75
- if (item.open && item.children?.length) {
76
- const child = item.children[0];
77
- store.focus(child);
78
- }
79
- else {
80
- void store.open(item);
81
- }
82
- }
83
- else if (e.key === 'ArrowLeft') {
84
- e.preventDefault();
85
- e.stopPropagation();
86
- if (item.open) {
87
- store.close(item);
88
- }
89
- else if (parent) {
90
- store.focus(parent);
91
- }
92
- }
93
- else if (e.key === 'ArrowDown') {
94
- e.preventDefault();
95
- e.stopPropagation();
96
- const mynext = item.open && item.children?.length ? item.children[0] : next;
97
- if (mynext) {
98
- store.focus(mynext);
99
- }
100
- }
101
- else if (e.key === 'ArrowUp') {
102
- e.preventDefault();
103
- e.stopPropagation();
104
- const anyprev = prev;
105
- const myprev = anyprev?.open && anyprev.children?.length && (!parent || parent.children?.some(c => c.id === anyprev.id)) ? anyprev.children[anyprev.children.length - 1] : prev;
106
- if (myprev) {
107
- store.focus(myprev);
108
- }
109
- }
110
- else if (e.key === '*') {
111
- e.preventDefault();
112
- e.stopPropagation();
113
- const toOpen = (parent ? parent.children : $store.rootItems) ?? [];
114
- for (const child of toOpen) {
115
- store.open(child).catch(console.error);
57
+ e.preventDefault()
58
+ e.stopPropagation()
59
+ if ($store.selected && $store.selected.size === 1 && $store.selected.has(item.id)) dispatch('choose', item)
60
+ else {
61
+ if (e.metaKey || e.altKey) {
62
+ store.select(item, { clear: false, toggle: true })
63
+ } else if (e.shiftKey) {
64
+ shiftClick()
65
+ } else {
66
+ store.select(item, { clear: true })
116
67
  }
68
+ }
69
+ } else if (e.key === 'Escape') {
70
+ store.deselect()
71
+ } else if (e.key === 'ArrowRight') {
72
+ e.preventDefault()
73
+ e.stopPropagation()
74
+ if (item.open && item.children?.length) {
75
+ const child = item.children[0]
76
+ store.focus(child)
77
+ } else {
78
+ void store.open(item)
79
+ }
80
+ } else if (e.key === 'ArrowLeft') {
81
+ e.preventDefault()
82
+ e.stopPropagation()
83
+ if (item.open) {
84
+ store.close(item)
85
+ } else if (parent) {
86
+ store.focus(parent)
87
+ }
88
+ } else if (e.key === 'ArrowDown') {
89
+ e.preventDefault()
90
+ e.stopPropagation()
91
+ const mynext = item.open && item.children?.length ? item.children[0] : next
92
+ if (mynext) {
93
+ store.focus(mynext)
94
+ }
95
+ } else if (e.key === 'ArrowUp') {
96
+ e.preventDefault()
97
+ e.stopPropagation()
98
+ const anyprev = prev
99
+ const myprev = anyprev?.open && anyprev.children?.length && (!parent || parent.children?.some(c => c.id === anyprev.id)) ? anyprev.children[anyprev.children.length - 1] : prev
100
+ if (myprev) {
101
+ store.focus(myprev)
102
+ }
103
+ } else if (e.key === '*') {
104
+ e.preventDefault()
105
+ e.stopPropagation()
106
+ const toOpen = (parent ? parent.children : $store.rootItems) ?? []
107
+ for (const child of toOpen) {
108
+ store.open(child).catch(console.error)
109
+ }
117
110
  }
118
- }
119
- function shiftClick() {
120
- const treenodes = Array.from(store.treeElement?.querySelectorAll('div[role="treeitem"]') ?? []);
121
- const selectedNodes = treenodes.filter(n => n.matches('.selected'));
122
- const firstSelected = selectedNodes[0];
111
+ }
112
+
113
+ function shiftClick () {
114
+ const treenodes: HTMLElement[] = Array.from(store.treeElement?.querySelectorAll('div[role="treeitem"]') ?? [])
115
+ const selectedNodes = treenodes.filter(n => n.matches('.selected'))
116
+ const firstSelected = selectedNodes[0]
123
117
  if (!firstSelected || (selectedNodes.length === 1 && firstSelected === nodeelement)) {
124
- return store.select(item, { toggle: true });
118
+ return store.select(item, { toggle: true })
125
119
  }
126
- const lastSelected = selectedNodes[selectedNodes.length - 1];
127
- const selectingdownward = firstSelected.compareDocumentPosition(nodeelement) === Node.DOCUMENT_POSITION_FOLLOWING;
128
- let selecting = false;
129
- store.deselect(false);
120
+ const lastSelected = selectedNodes[selectedNodes.length - 1]
121
+ const selectingdownward = firstSelected.compareDocumentPosition(nodeelement) === Node.DOCUMENT_POSITION_FOLLOWING
122
+ let selecting = false
123
+ store.deselect(false)
130
124
  for (const node of treenodes) {
131
- if (selectingdownward && node === firstSelected)
132
- selecting = true;
133
- if (!selectingdownward && node === nodeelement)
134
- selecting = true;
135
- if (selecting)
136
- store.selectById(node.getAttribute('data-id'), { notify: false, toggle: false });
137
- if (selectingdownward && node === nodeelement)
138
- selecting = false;
139
- if (!selectingdownward && node === lastSelected)
140
- selecting = false;
125
+ if (selectingdownward && node === firstSelected) selecting = true
126
+ if (!selectingdownward && node === nodeelement) selecting = true
127
+ if (selecting) store.selectById(node.getAttribute('data-id')!, { notify: false, toggle: false })
128
+ if (selectingdownward && node === nodeelement) selecting = false
129
+ if (!selectingdownward && node === lastSelected) selecting = false
141
130
  }
142
- store.trigger();
143
- }
144
- function onClick(e) {
145
- if (e.button > 0)
146
- return;
147
- e.preventDefault();
148
- e.stopPropagation();
131
+ store.trigger()
132
+ }
133
+
134
+ function onClick (e: MouseEvent) {
135
+ if (e.button > 0) return
136
+ e.preventDefault()
137
+ e.stopPropagation()
149
138
  if (e.metaKey || e.altKey || e.ctrlKey) {
150
- store.select(item, { clear: false, toggle: true });
151
- }
152
- else if (e.shiftKey) {
153
- shiftClick();
154
- }
155
- else {
156
- const wasFocused = $store.focused?.id === item.id;
157
- store.select(item, { clear: true, toggle: false });
158
- if (item.open && wasFocused && !item.loading)
159
- store.close(item);
160
- else if (!item.open)
161
- void store.open(item);
139
+ store.select(item, { clear: false, toggle: true })
140
+ } else if (e.shiftKey) {
141
+ shiftClick()
142
+ } else {
143
+ const wasFocused = $store.focused?.id === item.id
144
+ store.select(item, { clear: true, toggle: false })
145
+ if (item.open && wasFocused && !item.loading) store.close(item)
146
+ else if (!item.open) void store.open(item)
162
147
  }
163
- }
164
- function onCheckClick(e) {
165
- if (e.button > 0)
166
- return;
167
- e.preventDefault();
168
- e.stopPropagation();
148
+ }
149
+ function onCheckClick (e: MouseEvent) {
150
+ if (e.button > 0) return
151
+ e.preventDefault()
152
+ e.stopPropagation()
169
153
  if (e.shiftKey) {
170
- shiftClick();
171
- }
172
- else {
173
- if (isSelected)
174
- dispatch('deselect', item);
175
- store.select(item, { clear: false, toggle: true });
154
+ shiftClick()
155
+ } else {
156
+ if (isSelected) dispatch('deselect', item)
157
+ store.select(item, { clear: false, toggle: true })
176
158
  }
177
- }
178
- function onDblClick(e) {
179
- if (modifierKey(e) || e.button > 0)
180
- return;
181
- e.preventDefault();
182
- e.stopPropagation();
183
- if ($store.selected.size <= 1)
184
- dispatch('choose', item);
185
- }
186
- function onDragStart(e) {
187
- userWantsCopy = e.dataTransfer.dropEffect === 'copy';
188
- e.dataTransfer.effectAllowed = 'copyMove';
189
- e.dataTransfer.setData('text/plain', item.id);
190
- store.dragStart(item);
191
- }
192
- function onDragOver(e) {
193
- userWantsCopy = e.dataTransfer.dropEffect === 'copy';
159
+ }
160
+ function onDblClick (e: MouseEvent) {
161
+ if (modifierKey(e) || e.button > 0) return
162
+ e.preventDefault()
163
+ e.stopPropagation()
164
+ if ($store.selected.size <= 1) dispatch('choose', item)
165
+ }
166
+ function onDragStart (e: DragEvent) {
167
+ userWantsCopy = e.dataTransfer!.dropEffect === 'copy'
168
+ e.dataTransfer!.effectAllowed = 'copyMove'
169
+ e.dataTransfer!.setData('text/plain', item.id)
170
+ store.dragStart(item)
171
+ }
172
+ function onDragOver (e: DragEvent) {
173
+ userWantsCopy = e.dataTransfer!.dropEffect === 'copy'
194
174
  if (dropZone) {
195
- e.preventDefault();
196
- e.dataTransfer.dropEffect = store.dropEffect(item, false, userWantsCopy);
175
+ e.preventDefault()
176
+ e.dataTransfer!.dropEffect = store.dropEffect(item, false, userWantsCopy)
197
177
  }
198
- return !dropZone;
199
- }
200
- function onDragOverAbove(e) {
201
- userWantsCopy = e.dataTransfer.dropEffect === 'copy';
178
+ return !dropZone
179
+ }
180
+ function onDragOverAbove (e: DragEvent) {
181
+ userWantsCopy = e.dataTransfer!.dropEffect === 'copy'
202
182
  if (dropAbove) {
203
- e.preventDefault();
204
- e.dataTransfer.dropEffect = store.dropEffect(item, true, userWantsCopy);
183
+ e.preventDefault()
184
+ e.dataTransfer!.dropEffect = store.dropEffect(item, true, userWantsCopy)
205
185
  }
206
- return !dropAbove;
207
- }
208
- let dragOver = 0;
209
- let dragOverAbove = 0;
210
- async function onDrop(e) {
211
- e.preventDefault();
212
- dragOver = 0;
213
- return await store.drop(item, false, e.dataTransfer.dropEffect === 'copy');
214
- }
215
- async function onDropAbove(e) {
216
- e.preventDefault();
217
- dragOverAbove = 0;
218
- return await store.drop(item, true, e.dataTransfer.dropEffect === 'copy');
219
- }
220
- function onDragEnter(e) {
221
- if (!dropZone)
222
- dragOver = 0;
223
- else
224
- dragOver++;
225
- onDragOver(e);
226
- }
227
- function onDragEnterAbove(e) {
228
- if (!dropAbove)
229
- dragOverAbove = 0;
230
- else
231
- dragOverAbove++;
232
- onDragOverAbove(e);
233
- }
234
- function onDragLeave(e) {
235
- if (!dropZone)
236
- dragOver = 0;
237
- else
238
- dragOver--;
239
- }
240
- function onDragLeaveAbove(e) {
241
- if (!dropAbove)
242
- dragOverAbove = 0;
243
- else
244
- dragOverAbove--;
245
- }
246
- let display = $focused && $focused.id === item.id;
247
- onMount(() => {
248
- if ($focused && $focused.id === item.id)
249
- nodeelement.scrollIntoView({ block: 'center' });
250
- nodeelement.addEventListener('lazy', () => { display = true; });
251
- lazyObserver.observe(nodeelement);
252
- return () => lazyObserver.unobserve(nodeelement);
253
- });
254
- $: if ($dragging) {
255
- dragOver = 0;
256
- dragOverAbove = 0;
257
- }
186
+ return !dropAbove
187
+ }
188
+ let dragOver = 0
189
+ let dragOverAbove = 0
190
+ async function onDrop (e: DragEvent) {
191
+ e.preventDefault()
192
+ dragOver = 0
193
+ return await store.drop(item, false, e.dataTransfer!.dropEffect === 'copy')
194
+ }
195
+ async function onDropAbove (e: DragEvent) {
196
+ e.preventDefault()
197
+ dragOverAbove = 0
198
+ return await store.drop(item, true, e.dataTransfer!.dropEffect === 'copy')
199
+ }
200
+ function onDragEnter (e: DragEvent) {
201
+ if (!dropZone) dragOver = 0
202
+ else dragOver++
203
+ onDragOver(e)
204
+ }
205
+ function onDragEnterAbove (e: DragEvent) {
206
+ if (!dropAbove) dragOverAbove = 0
207
+ else dragOverAbove++
208
+ onDragOverAbove(e)
209
+ }
210
+ function onDragLeave (e: DragEvent) {
211
+ if (!dropZone) dragOver = 0
212
+ else dragOver--
213
+ }
214
+ function onDragLeaveAbove (e: DragEvent) {
215
+ if (!dropAbove) dragOverAbove = 0
216
+ else dragOverAbove--
217
+ }
218
+
219
+ let display = $focused && $focused.id === item.id
220
+ onMount(() => {
221
+ if ($focused && $focused.id === item.id) nodeelement.scrollIntoView({ block: 'center' })
222
+ nodeelement.addEventListener('lazy', () => { display = true })
223
+ lazyObserver!.observe(nodeelement)
224
+ return () => lazyObserver!.unobserve(nodeelement)
225
+ })
226
+
227
+ $: if ($dragging) {
228
+ dragOver = 0
229
+ dragOverAbove = 0
230
+ }
258
231
  </script>
259
232
  <li role="presentation">
260
233
  {#if dropAbove}
@@ -439,5 +412,4 @@ $: if ($dragging) {
439
412
  animation: none;
440
413
  }
441
414
  }
442
-
443
415
  </style>
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  import type { Store } from '@txstate-mws/svelte-store';
3
3
  import { type TypedTreeItem, type TreeItemFromDB, type TreeHeader } from './treestore';
4
- declare class __sveltets_Render<T extends TreeItemFromDB> {
4
+ declare class __sveltets_Render<T extends TreeItemFromDB = TreeItemFromDB> {
5
5
  props(): {
6
6
  headers: TreeHeader<T>[];
7
7
  headerSizes: Store<string[]>;
@@ -22,9 +22,9 @@ declare class __sveltets_Render<T extends TreeItemFromDB> {
22
22
  };
23
23
  slots(): {};
24
24
  }
25
- export type TreeNodeProps<T extends TreeItemFromDB> = ReturnType<__sveltets_Render<T>['props']>;
26
- export type TreeNodeEvents<T extends TreeItemFromDB> = ReturnType<__sveltets_Render<T>['events']>;
27
- export type TreeNodeSlots<T extends TreeItemFromDB> = ReturnType<__sveltets_Render<T>['slots']>;
28
- export default class TreeNode<T extends TreeItemFromDB> extends SvelteComponentTyped<TreeNodeProps<T>, TreeNodeEvents<T>, TreeNodeSlots<T>> {
25
+ export type TreeNodeProps<T extends TreeItemFromDB = TreeItemFromDB> = ReturnType<__sveltets_Render<T>['props']>;
26
+ export type TreeNodeEvents<T extends TreeItemFromDB = TreeItemFromDB> = ReturnType<__sveltets_Render<T>['events']>;
27
+ export type TreeNodeSlots<T extends TreeItemFromDB = TreeItemFromDB> = ReturnType<__sveltets_Render<T>['slots']>;
28
+ export default class TreeNode<T extends TreeItemFromDB = TreeItemFromDB> extends SvelteComponentTyped<TreeNodeProps<T>, TreeNodeEvents<T>, TreeNodeSlots<T>> {
29
29
  }
30
30
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dosgato/dialog",
3
3
  "description": "A component library for building forms that edit a JSON document.",
4
- "version": "1.2.8",
4
+ "version": "1.3.1",
5
5
  "scripts": {
6
6
  "prepublishOnly": "svelte-package",
7
7
  "dev": "vite dev --force",
@@ -23,24 +23,23 @@
23
23
  "@codemirror/lang-javascript": "^6.1.7",
24
24
  "@codemirror/lang-css": "^6.2.1",
25
25
  "@codemirror/lang-html": "^6.4.3",
26
- "@iconify/svelte": "^4.0.0",
26
+ "@iconify/svelte": "^4.0.0 || ^5.0.0",
27
27
  "@iconify-icons/mdi": "^1.2.22",
28
28
  "@iconify-icons/ph": "^1.2.2",
29
29
  "@txstate-mws/svelte-components": "^1.6.11",
30
- "@txstate-mws/svelte-forms": "^1.5.5",
30
+ "@txstate-mws/svelte-forms": "^2.0.0",
31
31
  "codemirror": "^6.0.1",
32
32
  "txstate-utils": "^1.8.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@sveltejs/adapter-auto": "^3.0.0",
35
+ "@sveltejs/adapter-auto": "^6.0.0",
36
36
  "@sveltejs/kit": "^2.0.1",
37
37
  "@sveltejs/package": "^2.0.1",
38
- "@sveltejs/vite-plugin-svelte": "^3.0.0",
38
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
39
39
  "eslint-config-standard-with-typescript": "^43.0.0",
40
- "eslint-plugin-svelte": "^2.0.0",
41
- "svelte-check": "^3.0.1",
42
- "svelte": "^4.0.0",
43
- "tslib": "^2.3.1",
40
+ "eslint-plugin-svelte": "^3.0.0",
41
+ "svelte-check": "^4.0.0",
42
+ "svelte": "^5.0.0",
44
43
  "typescript": "^5.0.2"
45
44
  },
46
45
  "peerDependencies": {