@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,22 +1,23 @@
1
- <script>import FieldStandard from './FieldStandard.svelte';
2
- import Input from './Input.svelte';
3
- import { numberDeserialize, numberNullableDeserialize, numberSerialize } from '@txstate-mws/svelte-forms';
4
- let className = '';
5
- export { className as class };
6
- export let id = undefined;
7
- export let path;
8
- export let label = '';
9
- export let defaultValue = undefined;
10
- export let nullable = false;
11
- export let min = undefined;
12
- export let max = undefined;
13
- export let step = undefined;
14
- export let conditional = undefined;
15
- export let required = false;
16
- export let inputelement = undefined;
17
- export let related = 0;
18
- export let extradescid = undefined;
19
- export let helptext = undefined;
1
+ <script lang="ts">
2
+ import FieldStandard from './FieldStandard.svelte'
3
+ import Input from './Input.svelte'
4
+ import { numberDeserialize, numberNullableDeserialize, numberSerialize } from '@txstate-mws/svelte-forms'
5
+ let className = ''
6
+ export { className as class }
7
+ export let id: string | undefined = undefined
8
+ export let path: string
9
+ export let label: string = ''
10
+ export let defaultValue: number | undefined = undefined
11
+ export let nullable = false
12
+ export let min: number | undefined = undefined
13
+ export let max: number | undefined = undefined
14
+ export let step: number | undefined = undefined
15
+ export let conditional: boolean | undefined = undefined
16
+ export let required = false
17
+ export let inputelement: HTMLInputElement = undefined as any
18
+ export let related: true | number = 0
19
+ export let extradescid: string | undefined = undefined
20
+ export let helptext: string | undefined = undefined
20
21
  </script>
21
22
 
22
23
  <FieldStandard bind:id {label} {path} {required} {defaultValue} {conditional} {related} {helptext} serialize={numberSerialize} deserialize={nullable ? numberNullableDeserialize : numberDeserialize} let:value let:valid let:invalid let:id let:onBlur let:onChange let:helptextid>
@@ -1,46 +1,47 @@
1
- <script>import { FORM_CONTEXT, FORM_INHERITED_PATH, Field } from '@txstate-mws/svelte-forms';
2
- import { getContext, onMount } from 'svelte';
3
- import { equal, get, isNotBlank } from 'txstate-utils';
4
- import Switcher from './Switcher.svelte';
5
- let className = '';
6
- export { className as class };
7
- export let id = undefined;
8
- export let path;
9
- export let label = '';
10
- export let notNull = false;
11
- export let choices;
12
- export let defaultValue = notNull ? choices[0].value : undefined;
13
- export let conditional = undefined;
14
- export let required = false;
15
- export let horizontal = false;
16
- export let related = 0;
17
- export let extradescid = undefined;
18
- export let helptext = undefined;
19
- export let number = false;
20
- export let date = false;
21
- export let datetime = false;
22
- export let boolean = false;
23
- export let serialize = undefined;
24
- export let deserialize = undefined;
25
- const store = getContext(FORM_CONTEXT);
26
- const inheritedPath = getContext(FORM_INHERITED_PATH);
27
- const finalPath = [inheritedPath, path].filter(isNotBlank).join('.');
28
- let finalDeserialize;
29
- function updateDeserialize(fDes) {
30
- finalDeserialize = fDes;
31
- }
32
- async function reactToChoices(..._) {
33
- if (!finalDeserialize)
34
- return;
1
+ <script lang="ts">
2
+ import { FORM_CONTEXT, FORM_INHERITED_PATH, Field, type FormStore } from '@txstate-mws/svelte-forms'
3
+ import { getContext, onMount } from 'svelte'
4
+ import { equal, get, isNotBlank } from 'txstate-utils'
5
+ import Switcher from './Switcher.svelte'
6
+ let className = ''
7
+ export { className as class }
8
+ export let id: string | undefined = undefined
9
+ export let path: string
10
+ export let label: string = ''
11
+ export let notNull = false
12
+ export let choices: { label?: string, value: any, disabled?: boolean }[]
13
+ export let defaultValue: any = notNull ? choices[0].value : undefined
14
+ export let conditional: boolean | undefined = undefined
15
+ export let required = false
16
+ export let horizontal = false
17
+ export let related: true | number = 0
18
+ export let extradescid: string | undefined = undefined
19
+ export let helptext: string | undefined = undefined
20
+ export let number = false
21
+ export let date = false
22
+ export let datetime = false
23
+ export let boolean = false
24
+ export let serialize: ((value: any) => string) | undefined = undefined
25
+ export let deserialize: ((value: string) => any) | undefined = undefined
26
+
27
+ const store = getContext<FormStore>(FORM_CONTEXT)
28
+ const inheritedPath = getContext<string>(FORM_INHERITED_PATH)
29
+ const finalPath = [inheritedPath, path].filter(isNotBlank).join('.')
30
+
31
+ let finalDeserialize: (value: string) => any
32
+ function updateDeserialize (fDes: any) {
33
+ finalDeserialize = fDes
34
+ }
35
+ async function reactToChoices (..._: any[]) {
36
+ if (!finalDeserialize) return
35
37
  if (!choices.length) {
36
- return await store.setField(finalPath, finalDeserialize(''));
38
+ return await store.setField(finalPath, finalDeserialize(''))
37
39
  }
38
- const val = get($store.data, finalPath);
39
- if (!choices.some(o => equal(o.value, val)))
40
- await store.setField(finalPath, notNull ? defaultValue : finalDeserialize(''));
41
- }
42
- $: reactToChoices(choices).catch(console.error);
43
- onMount(reactToChoices);
40
+ const val = get($store.data, finalPath)
41
+ if (!choices.some(o => equal(o.value, val))) await store.setField(finalPath, notNull ? defaultValue : finalDeserialize(''))
42
+ }
43
+ $: reactToChoices(choices).catch(console.error)
44
+ onMount(reactToChoices)
44
45
  </script>
45
46
 
46
47
  <Field {path} {defaultValue} {conditional} {notNull} {number} {date} {datetime} {boolean} {serialize} {deserialize} let:value let:valid let:invalid let:onBlur let:onChange let:messages let:serialize let:deserialize>
@@ -1,49 +1,50 @@
1
- <script>import { FORM_CONTEXT, FORM_INHERITED_PATH } from '@txstate-mws/svelte-forms';
2
- import { getContext, onMount } from 'svelte';
3
- import { isNotBlank, get, equal } from 'txstate-utils';
4
- import { getDescribedBy } from './';
5
- import FieldStandard from './FieldStandard.svelte';
6
- let className = '';
7
- export { className as class };
8
- export let id = undefined;
9
- export let path;
10
- export let label = '';
11
- export let placeholder = 'Select' + (label ? ' ' + label : '');
12
- export let notNull = false;
13
- export let disabled = false;
14
- export let choices;
15
- export let defaultValue = notNull ? choices[0]?.value : undefined;
16
- export let conditional = undefined;
17
- export let required = false;
18
- export let inputelement = undefined;
19
- export let related = 0;
20
- export let extradescid = undefined;
21
- export let helptext = undefined;
22
- export let number = false;
23
- export let date = false;
24
- export let datetime = false;
25
- export let boolean = false;
26
- export let serialize = undefined;
27
- export let deserialize = undefined;
28
- const store = getContext(FORM_CONTEXT);
29
- const inheritedPath = getContext(FORM_INHERITED_PATH);
30
- const finalPath = [inheritedPath, path].filter(isNotBlank).join('.');
31
- let finalDeserialize;
32
- function updateDeserialize(fDes) {
33
- finalDeserialize = fDes;
34
- }
35
- async function reactToChoices(..._) {
36
- if (!finalDeserialize)
37
- return;
1
+ <script lang="ts">
2
+ import { type FormStore, FORM_CONTEXT, FORM_INHERITED_PATH } from '@txstate-mws/svelte-forms'
3
+ import { getContext, onMount } from 'svelte'
4
+ import { isNotBlank, get, equal } from 'txstate-utils'
5
+ import { getDescribedBy } from './'
6
+ import FieldStandard from './FieldStandard.svelte'
7
+ let className = ''
8
+ export { className as class }
9
+ export let id: string | undefined = undefined
10
+ export let path: string
11
+ export let label: string = ''
12
+ export let placeholder: string = 'Select' + (label ? ' ' + label : '')
13
+ export let notNull = false
14
+ export let disabled = false
15
+ export let choices: { label?: string, value: any, disabled?: boolean }[]
16
+ export let defaultValue: any = notNull ? choices[0]?.value : undefined
17
+ export let conditional: boolean | undefined = undefined
18
+ export let required = false
19
+ export let inputelement: HTMLSelectElement = undefined as any
20
+ export let related: true | number = 0
21
+ export let extradescid: string | undefined = undefined
22
+ export let helptext: string | undefined = undefined
23
+ export let number = false
24
+ export let date = false
25
+ export let datetime = false
26
+ export let boolean = false
27
+ export let serialize: ((value: any) => string) | undefined = undefined
28
+ export let deserialize: ((value: string) => any) | undefined = undefined
29
+
30
+ const store = getContext<FormStore>(FORM_CONTEXT)
31
+ const inheritedPath = getContext<string>(FORM_INHERITED_PATH)
32
+ const finalPath = [inheritedPath, path].filter(isNotBlank).join('.')
33
+
34
+ let finalDeserialize: (value: string) => any
35
+ function updateDeserialize (fDes: any) {
36
+ finalDeserialize = fDes
37
+ }
38
+ async function reactToChoices (..._: any[]) {
39
+ if (!finalDeserialize) return
38
40
  if (!choices.length) {
39
- return await store.setField(finalPath, finalDeserialize(''));
41
+ return await store.setField(finalPath, finalDeserialize(''))
40
42
  }
41
- const val = get($store.data, finalPath);
42
- if (!choices.some(o => equal(o.value, val)))
43
- await store.setField(finalPath, notNull ? defaultValue : finalDeserialize(''));
44
- }
45
- $: reactToChoices(choices).catch(console.error);
46
- onMount(reactToChoices);
43
+ const val = get($store.data, finalPath)
44
+ if (!choices.some(o => equal(o.value, val))) await store.setField(finalPath, notNull ? defaultValue : finalDeserialize(''))
45
+ }
46
+ $: reactToChoices(choices).catch(console.error)
47
+ onMount(reactToChoices)
47
48
  </script>
48
49
 
49
50
  <FieldStandard bind:id {label} {path} {required} {defaultValue} {conditional} {related} {helptext} {notNull} {number} {date} {datetime} {boolean} {serialize} {deserialize} let:value let:valid let:invalid let:id let:onBlur let:onChange let:messagesid let:helptextid let:serialize let:deserialize>
@@ -61,5 +62,4 @@ onMount(reactToChoices);
61
62
  select {
62
63
  color: black;
63
64
  }
64
-
65
65
  </style>
@@ -6,33 +6,34 @@
6
6
  by encapsulating them in a [`<Container>`](https://github.com/txstate-etc/dosgato-dialog/blob/main/src/lib/Container.svelte)
7
7
  setup to work in conjuction with the parent `<Field>` tag.
8
8
  -->
9
- <script>import { Field } from '@txstate-mws/svelte-forms';
10
- import { randomid } from 'txstate-utils';
11
- import Container from './Container.svelte';
12
- /** If the input that's being built has an id pass it here so the label can point at it. */
13
- export let id = randomid();
14
- /** If `descid` is defined then this assumes you've made an outside label referenced to by descid `<div id={descid}`.
15
- Useful for things like checkboxes and radio buttons that have their own individual labels. */
16
- export let descid = undefined;
17
- export let path;
18
- export let defaultValue = undefined;
19
- /** A label for the Container `<div>`. */
20
- export let label;
21
- export let notNull = false;
22
- export let number = false;
23
- export let date = false;
24
- export let datetime = false;
25
- export let boolean = false;
26
- export let serialize = undefined;
27
- export let deserialize = undefined;
28
- /** If you need to do some processing just before submit or validate define that processing here. */
29
- export let finalize = undefined;
30
- /** If you specified a finalize, you probably need an initialize to invert it. */
31
- export let initialize = undefined;
32
- export let conditional = undefined;
33
- export let required = false;
34
- export let related = 0;
35
- export let helptext = undefined;
9
+ <script lang="ts">
10
+ import { Field } from '@txstate-mws/svelte-forms'
11
+ import { randomid } from 'txstate-utils'
12
+ import Container from './Container.svelte'
13
+ /** If the input that's being built has an id pass it here so the label can point at it. */
14
+ export let id = randomid()
15
+ /** If `descid` is defined then this assumes you've made an outside label referenced to by descid `<div id={descid}`.
16
+ Useful for things like checkboxes and radio buttons that have their own individual labels. */
17
+ export let descid: string | undefined = undefined
18
+ export let path: string
19
+ export let defaultValue: any = undefined
20
+ /** A label for the Container `<div>`. */
21
+ export let label: string
22
+ export let notNull = false
23
+ export let number = false
24
+ export let date = false
25
+ export let datetime = false
26
+ export let boolean = false
27
+ export let serialize: ((value: any) => string) | undefined = undefined
28
+ export let deserialize: ((value: string) => any) | undefined = undefined
29
+ /** If you need to do some processing just before submit or validate define that processing here. */
30
+ export let finalize: ((value: any, isSubmit: boolean) => any) | undefined = undefined
31
+ /** If you specified a finalize, you probably need an initialize to invert it. */
32
+ export let initialize: ((value: any) => any) | undefined = undefined
33
+ export let conditional: boolean | undefined = undefined
34
+ export let required = false
35
+ export let related: true | number = 0
36
+ export let helptext: string | undefined = undefined
36
37
  </script>
37
38
 
38
39
  <Field {path} {defaultValue} {conditional} {notNull} {number} {date} {datetime} {boolean} {serialize} {deserialize} {initialize} {finalize} let:path let:value let:onBlur let:onChange let:setVal let:messages let:valid let:invalid let:serialize let:deserialize>
@@ -1,27 +1,30 @@
1
- <script>import { nullableSerialize, nullableDeserialize } from '@txstate-mws/svelte-forms';
2
- import FieldStandard from './FieldStandard.svelte';
3
- import Input from './Input.svelte';
4
- import MaxLength from './MaxLength.svelte';
5
- import { isNotNull } from 'txstate-utils';
6
- let className = '';
7
- export { className as class };
8
- export let id = undefined;
9
- export let path;
10
- export let label = '';
11
- export let placeholder = undefined;
12
- export let notNull = false;
13
- export let defaultValue = notNull ? '' : undefined;
14
- export let type = 'text';
15
- export let allowlastpass = false;
16
- export let maxlength = undefined;
17
- export let conditional = undefined;
18
- export let required = false;
19
- export let use = [];
20
- export let inputelement = undefined;
21
- export let related = 0;
22
- export let autocomplete = 'off';
23
- export let extradescid = undefined;
24
- export let helptext = undefined;
1
+ <script lang="ts">
2
+ import type { HTMLActionEntry } from '@txstate-mws/svelte-components'
3
+ import { nullableSerialize, nullableDeserialize } from '@txstate-mws/svelte-forms'
4
+ import FieldStandard from './FieldStandard.svelte'
5
+ import Input from './Input.svelte'
6
+ import MaxLength from './MaxLength.svelte'
7
+ import { isNotNull } from 'txstate-utils'
8
+
9
+ let className = ''
10
+ export { className as class }
11
+ export let id: string | undefined = undefined
12
+ export let path: string
13
+ export let label: string = ''
14
+ export let placeholder: string | undefined = undefined
15
+ export let notNull = false
16
+ export let defaultValue: any = notNull ? '' : undefined
17
+ export let type: string = 'text'
18
+ export let allowlastpass = false
19
+ export let maxlength: number | undefined = undefined
20
+ export let conditional: boolean | undefined = undefined
21
+ export let required = false
22
+ export let use: HTMLActionEntry[] = []
23
+ export let inputelement: HTMLInputElement = undefined as any
24
+ export let related: true | number = 0
25
+ export let autocomplete = 'off'
26
+ export let extradescid: string | undefined = undefined
27
+ export let helptext: string | undefined = undefined
25
28
  </script>
26
29
 
27
30
  <FieldStandard bind:id {label} {path} {required} {defaultValue} {conditional} {related} {helptext} serialize={!notNull ? nullableSerialize : undefined} deserialize={!notNull ? nullableDeserialize : undefined} let:value let:valid let:invalid let:id let:onBlur let:onChange let:messagesid let:helptextid>
@@ -1,26 +1,27 @@
1
- <script>import { getDescribedBy } from './';
2
- import { passActions } from '@txstate-mws/svelte-components';
3
- import { nullableSerialize, nullableDeserialize } from '@txstate-mws/svelte-forms';
4
- import FieldStandard from './FieldStandard.svelte';
5
- import MaxLength from './MaxLength.svelte';
6
- import { isNotNull } from 'txstate-utils';
7
- let className = '';
8
- export { className as class };
9
- export let id = undefined;
10
- export let path;
11
- export let label = '';
12
- export let placeholder = undefined;
13
- export let notNull = false;
14
- export let defaultValue = notNull ? '' : undefined;
15
- export let maxlength = undefined;
16
- export let rows = undefined;
17
- export let conditional = undefined;
18
- export let required = false;
19
- export let use = [];
20
- export let inputelement = undefined;
21
- export let related = 0;
22
- export let extradescid = undefined;
23
- export let helptext = undefined;
1
+ <script lang="ts">
2
+ import { getDescribedBy } from './'
3
+ import { type HTMLActionEntry, passActions } from '@txstate-mws/svelte-components'
4
+ import { nullableSerialize, nullableDeserialize } from '@txstate-mws/svelte-forms'
5
+ import FieldStandard from './FieldStandard.svelte'
6
+ import MaxLength from './MaxLength.svelte'
7
+ import { isNotNull } from 'txstate-utils'
8
+ let className = ''
9
+ export { className as class }
10
+ export let id: string | undefined = undefined
11
+ export let path: string
12
+ export let label: string = ''
13
+ export let placeholder: string | undefined = undefined
14
+ export let notNull = false
15
+ export let defaultValue: any = notNull ? '' : undefined
16
+ export let maxlength: number | undefined = undefined
17
+ export let rows: number | undefined = undefined
18
+ export let conditional: boolean | undefined = undefined
19
+ export let required = false
20
+ export let use: HTMLActionEntry[] = []
21
+ export let inputelement: HTMLTextAreaElement = undefined as any
22
+ export let related: true | number = 0
23
+ export let extradescid: string | undefined = undefined
24
+ export let helptext: string | undefined = undefined
24
25
  </script>
25
26
 
26
27
  <FieldStandard bind:id {label} {path} {required} {defaultValue} {conditional} {related} {helptext} serialize={!notNull ? nullableSerialize : undefined} deserialize={!notNull ? nullableDeserialize : undefined} let:value let:valid let:invalid let:id let:onBlur let:onChange let:messagesid let:helptextid>
@@ -34,5 +35,4 @@ export let helptext = undefined;
34
35
  textarea {
35
36
  resize: vertical;
36
37
  }
37
-
38
38
  </style>
@@ -1,11 +1,13 @@
1
- <script>import Icon from './Icon.svelte';
2
- import { iconForMime } from './fileIcons';
3
- export let mime;
4
- export let hiddenLabel = undefined;
5
- export let inline = false;
6
- export let width = '1em';
7
- export let height = width;
8
- $: icon = iconForMime(mime);
1
+ <script lang="ts">
2
+ import Icon from './Icon.svelte'
3
+ import { iconForMime } from './fileIcons'
4
+ export let mime: string
5
+ export let hiddenLabel: string | undefined = undefined
6
+ export let inline: boolean = false
7
+ export let width: string | number = '1em'
8
+ export let height: string | number = width
9
+
10
+ $: icon = iconForMime(mime)
9
11
  </script>
10
12
 
11
13
  <Icon {icon} {hiddenLabel} {inline} {width} {height} />
package/dist/Form.svelte CHANGED
@@ -1,22 +1,45 @@
1
- <script>import { Form } from '@txstate-mws/svelte-forms';
2
- import { setContext } from 'svelte';
3
- import { CHOOSER_API_CONTEXT, messageIcons, TAG_API_CONTEXT } from './';
4
- import Icon from './Icon.svelte';
5
- let className = '';
6
- export { className as class };
7
- export let submit = undefined;
8
- export let validate = undefined;
9
- export let store = undefined;
10
- export let chooserClient = undefined;
11
- export let tagClient = undefined;
12
- export let autocomplete = undefined;
13
- export let name = undefined;
14
- export let preload = undefined;
15
- setContext(CHOOSER_API_CONTEXT, chooserClient);
16
- setContext(TAG_API_CONTEXT, tagClient);
1
+ <script lang="ts" generics="T = Record<string, any>, F = any">
2
+ import { Form, type FormStore, type Feedback } from '@txstate-mws/svelte-forms'
3
+ import { setContext, type ComponentProps } from 'svelte'
4
+ import { CHOOSER_API_CONTEXT, type Client, messageIcons, TAG_API_CONTEXT, type TagClient } from './'
5
+ import Icon from './Icon.svelte'
6
+
7
+ interface $$Slots {
8
+ default: {
9
+ messages: Feedback[]
10
+ allMessages: Feedback[]
11
+ saved: boolean
12
+ validating: boolean
13
+ submitting: boolean
14
+ valid: boolean
15
+ invalid: boolean
16
+ showingInlineErrors: boolean
17
+ data: Partial<T>
18
+ }
19
+ submit: {
20
+ saved: boolean
21
+ validating: boolean
22
+ submitting: boolean
23
+ allMessages: Feedback[]
24
+ valid: boolean
25
+ invalid: boolean
26
+ showingInlineErrors: boolean
27
+ }
28
+ }
29
+ interface $$Props extends ComponentProps<Form<T>> {
30
+ tagClient?: TagClient
31
+ chooserClient?: Client<F>
32
+ }
33
+
34
+ export let store: FormStore<T> = undefined as any
35
+ export let chooserClient: Client<F> | undefined = undefined
36
+ export let tagClient: TagClient | undefined = undefined
37
+
38
+ setContext(CHOOSER_API_CONTEXT, chooserClient)
39
+ setContext(TAG_API_CONTEXT, tagClient)
17
40
  </script>
18
41
 
19
- <Form bind:store class="{className} dialog-form" {submit} {validate} on:saved {autocomplete} {name} {preload} let:messages let:allMessages let:showingInlineErrors let:saved let:valid let:invalid let:validating let:submitting let:data>
42
+ <Form bind:store {...$$restProps} class="{$$restProps.class} dialog-form" on:saved on:validationfail on:autosaved let:messages let:allMessages let:showingInlineErrors let:saved let:valid let:invalid let:validating let:submitting let:data>
20
43
  <slot {messages} {saved} {validating} {submitting} {valid} {invalid} {data} {allMessages} {showingInlineErrors} />
21
44
  {@const errorMessages = messages.filter(m => m.type === 'error' || m.type === 'system')}
22
45
  {@const warningMessages = messages.filter(m => m.type === 'warning')}
@@ -86,5 +109,4 @@ setContext(TAG_API_CONTEXT, tagClient);
86
109
  background-color: var(--dg-success-bg, #218739);
87
110
  color: var(--dg-success-text, white);
88
111
  }
89
-
90
112
  </style>
@@ -1,20 +1,22 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import { type FormStore, type Feedback, type SubmitResponse } from '@txstate-mws/svelte-forms';
2
+ import { type FormStore, type Feedback } from '@txstate-mws/svelte-forms';
3
3
  import { type Client, type TagClient } from './';
4
- declare class __sveltets_Render<T extends Record<string, any>, F extends any> {
5
- props(): {
6
- class?: string;
7
- submit?: ((state: T) => Promise<SubmitResponse<T>>) | undefined;
4
+ declare class __sveltets_Render<T = Record<string, any>, F = any> {
5
+ props(): import("svelte/elements").HTMLFormAttributes & {
6
+ submit?: ((state: T) => Promise<import("@txstate-mws/svelte-forms").SubmitResponse<T>>) | undefined;
8
7
  validate?: ((state: T) => Promise<Feedback[]>) | undefined;
8
+ autoSave?: boolean;
9
+ preload?: T | undefined;
9
10
  store?: FormStore<T> | undefined;
11
+ formelement?: HTMLFormElement;
12
+ } & {
13
+ tagClient?: TagClient;
10
14
  chooserClient?: Client<F> | undefined;
11
- tagClient?: TagClient | undefined;
12
- autocomplete?: string | undefined;
13
- name?: string | undefined;
14
- preload?: T | undefined;
15
15
  };
16
16
  events(): {
17
17
  saved: any;
18
+ validationfail: any;
19
+ autosaved: any;
18
20
  } & {
19
21
  [evt: string]: CustomEvent<any>;
20
22
  };
@@ -41,9 +43,9 @@ declare class __sveltets_Render<T extends Record<string, any>, F extends any> {
41
43
  };
42
44
  };
43
45
  }
44
- export type FormProps<T extends Record<string, any>, F extends any> = ReturnType<__sveltets_Render<T, F>['props']>;
45
- export type FormEvents<T extends Record<string, any>, F extends any> = ReturnType<__sveltets_Render<T, F>['events']>;
46
- export type FormSlots<T extends Record<string, any>, F extends any> = ReturnType<__sveltets_Render<T, F>['slots']>;
47
- export default class Form<T extends Record<string, any>, F extends any> extends SvelteComponentTyped<FormProps<T, F>, FormEvents<T, F>, FormSlots<T, F>> {
46
+ export type FormProps<T = Record<string, any>, F = any> = ReturnType<__sveltets_Render<T, F>['props']>;
47
+ export type FormEvents<T = Record<string, any>, F = any> = ReturnType<__sveltets_Render<T, F>['events']>;
48
+ export type FormSlots<T = Record<string, any>, F = any> = ReturnType<__sveltets_Render<T, F>['slots']>;
49
+ export default class Form<T = Record<string, any>, F = any> extends SvelteComponentTyped<FormProps<T, F>, FormEvents<T, F>, FormSlots<T, F>> {
48
50
  }
49
51
  export {};