@dosgato/dialog 0.0.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 (73) hide show
  1. package/ButtonGroup.svelte +74 -0
  2. package/ButtonGroup.svelte.d.ts +28 -0
  3. package/Checkbox.svelte +68 -0
  4. package/Checkbox.svelte.d.ts +25 -0
  5. package/Container.svelte +86 -0
  6. package/Container.svelte.d.ts +25 -0
  7. package/FieldCheckbox.svelte +28 -0
  8. package/FieldCheckbox.svelte.d.ts +23 -0
  9. package/FieldChoices.svelte +75 -0
  10. package/FieldChoices.svelte.d.ts +28 -0
  11. package/FieldChooserLink.svelte +100 -0
  12. package/FieldChooserLink.svelte.d.ts +30 -0
  13. package/FieldDate.svelte +19 -0
  14. package/FieldDate.svelte.d.ts +29 -0
  15. package/FieldDateTime.svelte +19 -0
  16. package/FieldDateTime.svelte.d.ts +29 -0
  17. package/FieldMultiple.svelte +83 -0
  18. package/FieldMultiple.svelte.d.ts +33 -0
  19. package/FieldMultiselect.svelte +50 -0
  20. package/FieldMultiselect.svelte.d.ts +25 -0
  21. package/FieldNumber.svelte +20 -0
  22. package/FieldNumber.svelte.d.ts +26 -0
  23. package/FieldRadio.svelte +52 -0
  24. package/FieldRadio.svelte.d.ts +29 -0
  25. package/FieldSelect.svelte +24 -0
  26. package/FieldSelect.svelte.d.ts +30 -0
  27. package/FieldStandard.svelte +19 -0
  28. package/FieldStandard.svelte.d.ts +36 -0
  29. package/FieldText.svelte +20 -0
  30. package/FieldText.svelte.d.ts +26 -0
  31. package/FileIcon.svelte +56 -0
  32. package/FileIcon.svelte.d.ts +21 -0
  33. package/Form.svelte +56 -0
  34. package/Form.svelte.d.ts +9 -0
  35. package/Icon.svelte +16 -0
  36. package/Icon.svelte.d.ts +22 -0
  37. package/InlineMessage.svelte +42 -0
  38. package/InlineMessage.svelte.d.ts +17 -0
  39. package/InlineMessages.svelte +21 -0
  40. package/InlineMessages.svelte.d.ts +18 -0
  41. package/Input.svelte +33 -0
  42. package/Input.svelte.d.ts +36 -0
  43. package/LICENSE +21 -0
  44. package/README.md +38 -0
  45. package/Radio.svelte +65 -0
  46. package/Radio.svelte.d.ts +25 -0
  47. package/Tab.svelte +57 -0
  48. package/Tab.svelte.d.ts +18 -0
  49. package/TabStore.d.ts +28 -0
  50. package/TabStore.js +42 -0
  51. package/Tabs.svelte +105 -0
  52. package/Tabs.svelte.d.ts +25 -0
  53. package/chooser/Asset.svelte +77 -0
  54. package/chooser/Asset.svelte.d.ts +25 -0
  55. package/chooser/AssetFolder.svelte +124 -0
  56. package/chooser/AssetFolder.svelte.d.ts +25 -0
  57. package/chooser/Chooser.svelte +169 -0
  58. package/chooser/Chooser.svelte.d.ts +30 -0
  59. package/chooser/ChooserAPI.d.ts +48 -0
  60. package/chooser/ChooserAPI.js +1 -0
  61. package/chooser/ChooserStore.d.ts +72 -0
  62. package/chooser/ChooserStore.js +200 -0
  63. package/chooser/Details.svelte +29 -0
  64. package/chooser/Details.svelte.d.ts +19 -0
  65. package/chooser/Page.svelte +118 -0
  66. package/chooser/Page.svelte.d.ts +25 -0
  67. package/chooser/Thumbnail.svelte +40 -0
  68. package/chooser/Thumbnail.svelte.d.ts +17 -0
  69. package/chooser/index.d.ts +6 -0
  70. package/chooser/index.js +6 -0
  71. package/index.d.ts +24 -0
  72. package/index.js +24 -0
  73. package/package.json +63 -0
@@ -0,0 +1,200 @@
1
+ import { SafeStore } from '@txstate-mws/svelte-store';
2
+ import { findIndex, isNotBlank } from 'txstate-utils';
3
+ export const ASSET_STORE_CONTEXT = {};
4
+ const nofilter = (x) => true;
5
+ export function combinePath(path, name) {
6
+ if (path.endsWith('/'))
7
+ return path + name;
8
+ return path + '/' + name;
9
+ }
10
+ export function bytesToHuman(bytes) {
11
+ const scales = [' bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
12
+ const scale = Math.floor(Math.log(bytes) / Math.log(1024));
13
+ return String(parseFloat((bytes / Math.pow(1024, scale)).toPrecision(3))) + scales[scale];
14
+ }
15
+ export class ChooserStore extends SafeStore {
16
+ constructor(client) {
17
+ super({ activetype: 'page', activesource: 0 });
18
+ this.client = client;
19
+ this.setOptions({});
20
+ }
21
+ setOptions(options) {
22
+ const activeTypes = options.activeTypes?.length ? options.activeTypes : ['asset', 'page'];
23
+ const userFilter = options.filter ?? nofilter;
24
+ const filter = options.onlyImages
25
+ ? (itm) => ((itm.type === 'asset' && !!itm.image) || itm.type === 'folder') && userFilter(itm)
26
+ : userFilter;
27
+ this.options = {
28
+ ...options,
29
+ activeTypes,
30
+ activeSources: options.activeSources ? new Set(options.activeSources) : undefined,
31
+ initialType: options.initialType ?? activeTypes[0],
32
+ filter
33
+ };
34
+ }
35
+ getSource(state = this.value) {
36
+ return state.sources?.[state.activetype]?.[state.activesource];
37
+ }
38
+ getSourceIndex(name, state = this.value, type = state.activetype) {
39
+ if (!name || !state.sources?.[type])
40
+ return 0;
41
+ return findIndex(state.sources[type], s => s.name === name) ?? 0;
42
+ }
43
+ async init(options) {
44
+ this.setOptions(options);
45
+ const activetype = this.value.preview ? (this.value.preview.type === 'page' ? 'page' : 'asset') : this.options.initialType;
46
+ this.update(v => ({ ...v, loading: true, activetype, activesource: this.getSourceIndex(this.options.initialSource, v, this.options.initialType) }));
47
+ if (!this.getSource()) {
48
+ const [pageSources, assetSources] = await Promise.all([
49
+ this.options.activeTypes.includes('page') ? this.client.getSources('page') : [],
50
+ this.options.activeTypes.includes('asset') ? this.client.getSources('asset') : []
51
+ ]);
52
+ this.update(v => {
53
+ v.sources = { page: pageSources.filter(s => !this.options.activeSources || this.options.activeSources.has(s)) ?? [], asset: assetSources.filter(s => !this.options.activeSources || this.options.activeSources.has(s)) ?? [] };
54
+ v.activesource = this.getSourceIndex(this.options.initialSource, v);
55
+ return v;
56
+ });
57
+ }
58
+ if (this.value.preview)
59
+ await this.openPathRecursive(combinePath(this.value.preview.path, this.value.preview.name));
60
+ else if (this.options.initialPath)
61
+ await this.openPathRecursive(this.options.initialPath);
62
+ else
63
+ await this.openPathRecursive('/');
64
+ this.update(v => ({ ...v, loading: false }));
65
+ }
66
+ itemByPath(state, path) {
67
+ const parts = path.substring(1).split('/');
68
+ const source = this.getSource(state);
69
+ let item = source.children?.find(c => c.name === parts[0]);
70
+ for (const part of parts.slice(1).filter(isNotBlank)) {
71
+ if (item.type === 'asset')
72
+ return undefined;
73
+ item = item?.children?.find(c => c.name === part);
74
+ }
75
+ return item;
76
+ }
77
+ async open(folder) {
78
+ return await this.openPath(combinePath(folder.path, folder.name));
79
+ }
80
+ async openPath(path) {
81
+ const folder = this.itemByPath(this.value, path);
82
+ if (!folder || folder.type === 'asset' || folder.open)
83
+ return;
84
+ this.update(v => {
85
+ const folder = this.itemByPath(v, path);
86
+ folder.loading = true;
87
+ v.focus = folder.id;
88
+ return v;
89
+ });
90
+ try {
91
+ const children = await this.client.getChildren(this.getSource().name, path, this.options.filter);
92
+ this.update(v => {
93
+ const folder = this.itemByPath(v, path);
94
+ folder.open = true;
95
+ folder.loading = false;
96
+ folder.children = children;
97
+ return v;
98
+ });
99
+ }
100
+ catch (e) {
101
+ console.error(e);
102
+ this.update(v => {
103
+ const folder = this.itemByPath(v, path);
104
+ folder.loading = false;
105
+ return v;
106
+ });
107
+ }
108
+ }
109
+ async openPathRecursive(path) {
110
+ const parts = path.substring(1).split('/');
111
+ const source = this.getSource(this.clone(this.value));
112
+ if (!source.children)
113
+ source.children = await this.client.getChildren(source.name, '/', this.options.filter);
114
+ let current = source.children.find(c => c.name === parts[0]) ?? source.children[0];
115
+ for (const part of parts.slice(1).filter(isNotBlank)) {
116
+ if (!current || current.type === 'asset')
117
+ break;
118
+ if (!current.open) {
119
+ current.children = await this.client.getChildren(source.name, combinePath(current.path, current.name), this.options.filter);
120
+ current.loading = false;
121
+ current.open = true;
122
+ }
123
+ current = current.children.find(c => c.name === part);
124
+ }
125
+ this.update(v => {
126
+ const currSource = this.getSource(v);
127
+ if (currSource.name !== source.name)
128
+ return v;
129
+ v.sources[v.activetype][v.activesource] = source;
130
+ if (!current)
131
+ return v;
132
+ v.focus = current.id;
133
+ v.focusPath = combinePath(current.path, current.name);
134
+ return v;
135
+ });
136
+ }
137
+ async close(folder) {
138
+ return await this.closePath(combinePath(folder.path, folder.name));
139
+ }
140
+ async closePath(path) {
141
+ this.update(v => {
142
+ const folder = this.itemByPath(v, path);
143
+ if (folder && folder.type !== 'asset')
144
+ folder.open = false;
145
+ return v;
146
+ });
147
+ }
148
+ async toggle(folder) {
149
+ if (folder.open)
150
+ await this.close(folder);
151
+ else
152
+ await this.open(folder);
153
+ }
154
+ preview(item) {
155
+ if (!item)
156
+ return this.clearPreview();
157
+ if (item.type === 'folder' && !this.options.chooseFolder)
158
+ return;
159
+ this.update(v => ({ ...v, preview: item, focus: item.id, focusPath: combinePath(item.path, item.name) }));
160
+ }
161
+ clearPreview() {
162
+ this.update(v => ({ ...v, preview: undefined }));
163
+ }
164
+ async changeSource(idx) {
165
+ if (idx >= this.value.sources[this.value.activetype].length || idx < 0)
166
+ return;
167
+ this.update(v => {
168
+ v.activesource = idx;
169
+ const source = this.getSource(v);
170
+ if (source.children?.length) {
171
+ const firstchild = source.children[0];
172
+ v.focus = firstchild.id;
173
+ v.focusPath = combinePath(firstchild.path, firstchild.name);
174
+ }
175
+ return v;
176
+ });
177
+ const source = this.getSource();
178
+ const children = await this.client.getChildren(source.name, '/', this.options.filter);
179
+ this.update(v => {
180
+ const source = this.getSource(v);
181
+ source.children = children;
182
+ v.focus = children[0]?.id;
183
+ v.focusPath = children[0] ? combinePath(children[0]?.path, children[0].name) : undefined;
184
+ return v;
185
+ });
186
+ }
187
+ async setActiveType(type) {
188
+ this.update(v => ({ ...v, activetype: type }));
189
+ await this.changeSource(0);
190
+ }
191
+ setFocus(itm) {
192
+ if (!itm)
193
+ return;
194
+ this.update(v => {
195
+ v.focus = itm.id;
196
+ v.focusPath = combinePath(itm.path, itm.name);
197
+ return v;
198
+ });
199
+ }
200
+ }
@@ -0,0 +1,29 @@
1
+ <script >import { bytesToHuman, combinePath } from './ChooserStore';
2
+ export let item;
3
+ </script>
4
+
5
+ <ul class="dialog-chooser-info">
6
+ {#if item.type !== 'raw'}
7
+ <li>{item.name}</li>
8
+ {/if}
9
+ {#if item.type === 'asset' && item.image}
10
+ <li>{item.image.width}x{item.image.height}</li>
11
+ {:else if item.type === 'page'}
12
+ <li>{item.title}</li>
13
+ {:else if item.type === 'folder'}
14
+ <li>{combinePath(item.path, item.name)}</li>
15
+ {/if}
16
+ {#if item.type === 'asset'}
17
+ <li>{item.mime}</li>
18
+ <li>{bytesToHuman(item.bytes)}</li>
19
+ {/if}
20
+ <slot />
21
+ </ul>
22
+
23
+ <style>
24
+ .dialog-chooser-info {
25
+ padding: 0;
26
+ margin: 0;
27
+ list-style: none;
28
+ }
29
+ </style>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import { type AnyUIItem, type RawURL } from './ChooserStore';
3
+ declare const __propDef: {
4
+ props: {
5
+ item: AnyUIItem | RawURL;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: {};
12
+ };
13
+ };
14
+ export declare type DetailsProps = typeof __propDef.props;
15
+ export declare type DetailsEvents = typeof __propDef.events;
16
+ export declare type DetailsSlots = typeof __propDef.slots;
17
+ export default class Details extends SvelteComponentTyped<DetailsProps, DetailsEvents, DetailsSlots> {
18
+ }
19
+ export {};
@@ -0,0 +1,118 @@
1
+ <script >import fileOutline from '@iconify/icons-mdi/file-outline.js';
2
+ import fileSyncOutline from '@iconify/icons-mdi/file-sync-outline.js';
3
+ import { modifierKey } from '@txstate-mws/svelte-components';
4
+ import { createEventDispatcher, getContext } from 'svelte';
5
+ import { hashid } from 'txstate-utils';
6
+ import { ASSET_STORE_CONTEXT } from './ChooserStore';
7
+ import Icon from '../Icon.svelte';
8
+ export let page;
9
+ export let level;
10
+ export let posinset;
11
+ export let setsize;
12
+ export let next;
13
+ export let prev;
14
+ export let parent = undefined;
15
+ const store = getContext(ASSET_STORE_CONTEXT);
16
+ $: open = page.open && page.children?.length;
17
+ $: nextlevel = level + 1;
18
+ $: id = hashid(page.id);
19
+ $: haveFocus = $store.focus === page.id;
20
+ $: isPreview = $store.preview?.id === page.id;
21
+ const dispatch = createEventDispatcher();
22
+ function onKeyDown(e) {
23
+ if (modifierKey(e))
24
+ return;
25
+ if (['Enter', ' '].includes(e.key)) {
26
+ onClick(e);
27
+ if ($store.preview?.id === page.id)
28
+ dispatch('choose', page);
29
+ else
30
+ store.preview(page);
31
+ }
32
+ else if (e.key === 'ArrowRight') {
33
+ e.preventDefault();
34
+ e.stopPropagation();
35
+ if (page.open && page.children?.length) {
36
+ const child = page.children[0];
37
+ store.setFocus(child);
38
+ document.getElementById(hashid(child.id)).focus();
39
+ }
40
+ else {
41
+ store.open(page);
42
+ }
43
+ }
44
+ else if (e.key === 'ArrowLeft') {
45
+ e.preventDefault();
46
+ e.stopPropagation();
47
+ if (page.open) {
48
+ store.close(page);
49
+ }
50
+ else if (parent) {
51
+ store.setFocus(parent);
52
+ document.getElementById(hashid(parent.id)).focus();
53
+ }
54
+ }
55
+ else if (e.key === 'ArrowDown') {
56
+ e.preventDefault();
57
+ e.stopPropagation();
58
+ const mynext = open ? page.children[0] : next;
59
+ if (mynext) {
60
+ store.setFocus(mynext);
61
+ document.getElementById(hashid(mynext.id)).focus();
62
+ }
63
+ }
64
+ else if (e.key === 'ArrowUp') {
65
+ e.preventDefault();
66
+ e.stopPropagation();
67
+ const anyprev = prev;
68
+ const myprev = anyprev?.open && anyprev.children?.length && anyprev.path === page.path ? anyprev.children[anyprev.children.length - 1] : prev;
69
+ if (myprev) {
70
+ store.setFocus(myprev);
71
+ document.getElementById(hashid(myprev.id)).focus();
72
+ }
73
+ }
74
+ }
75
+ function onClick(e) {
76
+ e.preventDefault();
77
+ e.stopPropagation();
78
+ store.preview(page);
79
+ store.toggle(page);
80
+ }
81
+ </script>
82
+
83
+ <li
84
+ {id}
85
+ role="treeitem"
86
+ class:isPreview
87
+ aria-expanded={!!page.open}
88
+ aria-level={level}
89
+ aria-setsize={setsize}
90
+ aria-posinset={posinset}
91
+ aria-busy={page.loading}
92
+ tabindex={haveFocus ? 0 : -1}
93
+ on:keydown={onKeyDown}
94
+ on:click={onClick}
95
+ >
96
+ <Icon icon={page.open ? fileOutline : (page.loading ? fileSyncOutline : fileOutline)} inline /> {page.name}
97
+ </li>
98
+ {#if open}
99
+ <ul role="group" class="dialog-asset-sublist">
100
+ {#each page.children as child, i (child.id)}
101
+ {@const setsize = page.children.length}
102
+ {@const posinset = i + 1}
103
+ {@const subprev = i === 0 ? page : page.children[i - 1]}
104
+ {@const subnext = i === setsize - 1 ? next : page.children[i + 1]}
105
+ <svelte:self page={child} {setsize} {posinset} level={nextlevel} prev={subprev} next={subnext} parent={page} on:choose />
106
+ {/each}
107
+ </ul>
108
+ {/if}
109
+
110
+ <style>
111
+ .dialog-asset-sublist {
112
+ list-style: none;
113
+ padding-left: 1em;
114
+ }
115
+ li {
116
+ cursor: pointer;
117
+ }
118
+ </style>
@@ -0,0 +1,25 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { UIPage, AnyUIItem } from './ChooserStore';
3
+ declare const __propDef: {
4
+ props: {
5
+ page: UIPage;
6
+ level: number;
7
+ posinset: number;
8
+ setsize: number;
9
+ next: AnyUIItem | undefined;
10
+ prev: AnyUIItem | undefined;
11
+ parent?: UIPage | undefined;
12
+ };
13
+ events: {
14
+ choose: CustomEvent<any>;
15
+ } & {
16
+ [evt: string]: CustomEvent<any>;
17
+ };
18
+ slots: {};
19
+ };
20
+ export declare type PageProps = typeof __propDef.props;
21
+ export declare type PageEvents = typeof __propDef.events;
22
+ export declare type PageSlots = typeof __propDef.slots;
23
+ export default class Page extends SvelteComponentTyped<PageProps, PageEvents, PageSlots> {
24
+ }
25
+ export {};
@@ -0,0 +1,40 @@
1
+ <script >import folderOutline from '@iconify/icons-mdi/folder-outline.js';
2
+ import fileLinkOutline from '@iconify/icons-mdi/file-link-outline.js';
3
+ import FileIcon from '../FileIcon.svelte';
4
+ import Icon from '../Icon.svelte';
5
+ export let item;
6
+ </script>
7
+
8
+ <div class="dialog-chooser-thumbnail">
9
+ {#if item.type === 'asset'}
10
+ {#if item.image}
11
+ <img src={item.image.thumbnailUrl} alt="" />
12
+ {:else}
13
+ <FileIcon mime={item.mime} width='5em' />
14
+ {/if}
15
+ {:else if item.type === 'folder'}
16
+ <Icon icon={folderOutline} width='5em' />
17
+ {:else}
18
+ <Icon icon={fileLinkOutline} width='5em' />
19
+ {/if}
20
+ </div>
21
+
22
+ <style>
23
+ .dialog-chooser-thumbnail {
24
+ position: relative;
25
+ width: 100%;
26
+ padding-top: 75%;
27
+ }
28
+ img {
29
+ width: 100%;
30
+ height: 100%;
31
+ object-fit: scale-down;
32
+ }
33
+ .dialog-chooser-thumbnail > * {
34
+ display: block;
35
+ position: absolute;
36
+ top: 50%;
37
+ left: 50%;
38
+ transform: translate(-50%, -50%);
39
+ }
40
+ </style>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AnyUIItem, RawURL } from './ChooserStore';
3
+ declare const __propDef: {
4
+ props: {
5
+ item: AnyUIItem | RawURL;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export declare type ThumbnailProps = typeof __propDef.props;
13
+ export declare type ThumbnailEvents = typeof __propDef.events;
14
+ export declare type ThumbnailSlots = typeof __propDef.slots;
15
+ export default class Thumbnail extends SvelteComponentTyped<ThumbnailProps, ThumbnailEvents, ThumbnailSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './ChooserAPI.js';
2
+ export * from './ChooserStore.js';
3
+ export { default as Asset } from './Asset.svelte';
4
+ export { default as AssetFolder } from './AssetFolder.svelte';
5
+ export { default as Chooser } from './Chooser.svelte';
6
+ export { default as Page } from './Page.svelte';
@@ -0,0 +1,6 @@
1
+ export * from './ChooserAPI.js';
2
+ export * from './ChooserStore.js';
3
+ export { default as Asset } from './Asset.svelte';
4
+ export { default as AssetFolder } from './AssetFolder.svelte';
5
+ export { default as Chooser } from './Chooser.svelte';
6
+ export { default as Page } from './Page.svelte';
package/index.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ export { default as Checkbox } from './Checkbox.svelte';
2
+ export { default as Container } from './Container.svelte';
3
+ export { default as FieldCheckbox } from './FieldCheckbox.svelte';
4
+ export { default as FieldChoices } from './FieldChoices.svelte';
5
+ export { default as FieldChooserLink } from './FieldChooserLink.svelte';
6
+ export { default as FieldDate } from './FieldDate.svelte';
7
+ export { default as FieldDateTime } from './FieldDateTime.svelte';
8
+ export { default as FieldMultiple } from './FieldMultiple.svelte';
9
+ export { default as FieldMultiselect } from './FieldMultiselect.svelte';
10
+ export { default as FieldNumber } from './FieldNumber.svelte';
11
+ export { default as FieldRadio } from './FieldRadio.svelte';
12
+ export { default as FieldSelect } from './FieldSelect.svelte';
13
+ export { default as FieldStandard } from './FieldStandard.svelte';
14
+ export { default as FieldText } from './FieldText.svelte';
15
+ export { default as Form } from './Form.svelte';
16
+ export { default as Icon } from './Icon.svelte';
17
+ export { default as InlineMessage } from './InlineMessage.svelte';
18
+ export { default as InlineMessages } from './InlineMessages.svelte';
19
+ export { default as Input } from './Input.svelte';
20
+ export { default as Radio } from './Radio.svelte';
21
+ export { default as Tab } from './Tab.svelte';
22
+ export { default as Tabs } from './Tabs.svelte';
23
+ export * from './chooser/index.js';
24
+ export * from './TabStore.js';
package/index.js ADDED
@@ -0,0 +1,24 @@
1
+ export { default as Checkbox } from './Checkbox.svelte';
2
+ export { default as Container } from './Container.svelte';
3
+ export { default as FieldCheckbox } from './FieldCheckbox.svelte';
4
+ export { default as FieldChoices } from './FieldChoices.svelte';
5
+ export { default as FieldChooserLink } from './FieldChooserLink.svelte';
6
+ export { default as FieldDate } from './FieldDate.svelte';
7
+ export { default as FieldDateTime } from './FieldDateTime.svelte';
8
+ export { default as FieldMultiple } from './FieldMultiple.svelte';
9
+ export { default as FieldMultiselect } from './FieldMultiselect.svelte';
10
+ export { default as FieldNumber } from './FieldNumber.svelte';
11
+ export { default as FieldRadio } from './FieldRadio.svelte';
12
+ export { default as FieldSelect } from './FieldSelect.svelte';
13
+ export { default as FieldStandard } from './FieldStandard.svelte';
14
+ export { default as FieldText } from './FieldText.svelte';
15
+ export { default as Form } from './Form.svelte';
16
+ export { default as Icon } from './Icon.svelte';
17
+ export { default as InlineMessage } from './InlineMessage.svelte';
18
+ export { default as InlineMessages } from './InlineMessages.svelte';
19
+ export { default as Input } from './Input.svelte';
20
+ export { default as Radio } from './Radio.svelte';
21
+ export { default as Tab } from './Tab.svelte';
22
+ export { default as Tabs } from './Tabs.svelte';
23
+ export * from './chooser/index.js';
24
+ export * from './TabStore.js';
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@dosgato/dialog",
3
+ "version": "0.0.1",
4
+ "dependencies": {
5
+ "@txstate-mws/svelte-components": "^1.2.5",
6
+ "@txstate-mws/svelte-forms": "^0.0.14",
7
+ "@iconify/svelte": "^2.1.1",
8
+ "@iconify/icons-mdi": "^1.1.42",
9
+ "txstate-utils": "^1.6.6"
10
+ },
11
+ "devDependencies": {
12
+ "@sveltejs/adapter-auto": "next",
13
+ "@sveltejs/kit": "next",
14
+ "eslint-config-standard-with-typescript": "^21.0.1",
15
+ "eslint-plugin-svelte3": "^3.2.1",
16
+ "svelte": "^3.44.0",
17
+ "svelte-check": "^2.2.6",
18
+ "svelte-preprocess": "^4.9.4",
19
+ "svelte2tsx": "^0.4.14",
20
+ "tslib": "^2.3.1",
21
+ "typescript": "^4.4.3"
22
+ },
23
+ "type": "module",
24
+ "exports": {
25
+ "./package.json": "./package.json",
26
+ "./ButtonGroup.svelte": "./ButtonGroup.svelte",
27
+ "./Checkbox.svelte": "./Checkbox.svelte",
28
+ "./Container.svelte": "./Container.svelte",
29
+ "./FieldCheckbox.svelte": "./FieldCheckbox.svelte",
30
+ "./FieldChoices.svelte": "./FieldChoices.svelte",
31
+ "./FieldChooserLink.svelte": "./FieldChooserLink.svelte",
32
+ "./FieldDate.svelte": "./FieldDate.svelte",
33
+ "./FieldDateTime.svelte": "./FieldDateTime.svelte",
34
+ "./FieldMultiple.svelte": "./FieldMultiple.svelte",
35
+ "./FieldMultiselect.svelte": "./FieldMultiselect.svelte",
36
+ "./FieldNumber.svelte": "./FieldNumber.svelte",
37
+ "./FieldRadio.svelte": "./FieldRadio.svelte",
38
+ "./FieldSelect.svelte": "./FieldSelect.svelte",
39
+ "./FieldStandard.svelte": "./FieldStandard.svelte",
40
+ "./FieldText.svelte": "./FieldText.svelte",
41
+ "./FileIcon.svelte": "./FileIcon.svelte",
42
+ "./Form.svelte": "./Form.svelte",
43
+ "./Icon.svelte": "./Icon.svelte",
44
+ "./InlineMessage.svelte": "./InlineMessage.svelte",
45
+ "./InlineMessages.svelte": "./InlineMessages.svelte",
46
+ "./Input.svelte": "./Input.svelte",
47
+ "./Radio.svelte": "./Radio.svelte",
48
+ "./Tab.svelte": "./Tab.svelte",
49
+ "./TabStore": "./TabStore.js",
50
+ "./Tabs.svelte": "./Tabs.svelte",
51
+ "./chooser/Asset.svelte": "./chooser/Asset.svelte",
52
+ "./chooser/AssetFolder.svelte": "./chooser/AssetFolder.svelte",
53
+ "./chooser/Chooser.svelte": "./chooser/Chooser.svelte",
54
+ "./chooser/ChooserAPI": "./chooser/ChooserAPI.js",
55
+ "./chooser/ChooserStore": "./chooser/ChooserStore.js",
56
+ "./chooser/Details.svelte": "./chooser/Details.svelte",
57
+ "./chooser/Page.svelte": "./chooser/Page.svelte",
58
+ "./chooser/Thumbnail.svelte": "./chooser/Thumbnail.svelte",
59
+ "./chooser": "./chooser/index.js",
60
+ ".": "./index.js"
61
+ },
62
+ "svelte": "./index.js"
63
+ }