@dosgato/dialog 0.0.20 → 0.0.22

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 (71) hide show
  1. package/Button.svelte.d.ts +3 -3
  2. package/ButtonGroup.svelte.d.ts +3 -3
  3. package/Checkbox.svelte.d.ts +3 -3
  4. package/Container.svelte.d.ts +3 -3
  5. package/Dialog.svelte +22 -4
  6. package/Dialog.svelte.d.ts +5 -4
  7. package/FieldAutocomplete.svelte.d.ts +3 -3
  8. package/FieldCheckbox.svelte.d.ts +3 -3
  9. package/FieldChoices.svelte.d.ts +3 -3
  10. package/FieldChooserLink.svelte +14 -12
  11. package/FieldChooserLink.svelte.d.ts +3 -5
  12. package/FieldDate.svelte.d.ts +3 -3
  13. package/FieldDateTime.svelte.d.ts +3 -3
  14. package/FieldDualListbox.svelte.d.ts +3 -3
  15. package/FieldHidden.svelte.d.ts +3 -3
  16. package/FieldIdentifier.svelte.d.ts +3 -3
  17. package/FieldMultiple.svelte.d.ts +3 -3
  18. package/FieldMultiselect.svelte.d.ts +3 -3
  19. package/FieldNumber.svelte.d.ts +3 -3
  20. package/FieldRadio.svelte.d.ts +3 -3
  21. package/FieldSelect.svelte.d.ts +3 -3
  22. package/FieldStandard.svelte.d.ts +3 -3
  23. package/FieldText.svelte.d.ts +3 -3
  24. package/FieldTextArea.svelte.d.ts +3 -3
  25. package/FileIcon.svelte.d.ts +3 -3
  26. package/Form.svelte.d.ts +3 -3
  27. package/FormDialog.svelte.d.ts +3 -3
  28. package/Icon.svelte.d.ts +3 -3
  29. package/InlineMessage.svelte.d.ts +3 -3
  30. package/InlineMessages.svelte.d.ts +3 -3
  31. package/Input.svelte.d.ts +3 -3
  32. package/Listbox.svelte.d.ts +3 -3
  33. package/Radio.svelte.d.ts +3 -3
  34. package/Tab.svelte.d.ts +3 -3
  35. package/TabStore.d.ts +3 -0
  36. package/TabStore.js +12 -0
  37. package/Tabs.svelte +5 -4
  38. package/Tabs.svelte.d.ts +3 -3
  39. package/chooser/Chooser.svelte +76 -99
  40. package/chooser/Chooser.svelte.d.ts +5 -5
  41. package/chooser/ChooserAPI.d.ts +10 -3
  42. package/chooser/ChooserStore.d.ts +15 -33
  43. package/chooser/ChooserStore.js +32 -149
  44. package/chooser/Details.svelte.d.ts +6 -5
  45. package/chooser/Thumbnail.svelte +9 -2
  46. package/chooser/Thumbnail.svelte.d.ts +6 -5
  47. package/colorpicker/FieldColorPicker.svelte +78 -24
  48. package/colorpicker/FieldColorPicker.svelte.d.ts +5 -6
  49. package/iconpicker/FieldIconPicker.svelte +4 -2
  50. package/iconpicker/FieldIconPicker.svelte.d.ts +4 -3
  51. package/index.d.ts +3 -0
  52. package/index.js +3 -0
  53. package/package.json +9 -6
  54. package/tree/LoadIcon.svelte +24 -0
  55. package/tree/LoadIcon.svelte.d.ts +23 -0
  56. package/tree/Tree.svelte +204 -0
  57. package/tree/Tree.svelte.d.ts +30 -0
  58. package/tree/TreeCell.svelte +18 -0
  59. package/tree/TreeCell.svelte.d.ts +18 -0
  60. package/tree/TreeNode.svelte +418 -0
  61. package/tree/TreeNode.svelte.d.ts +30 -0
  62. package/tree/index.d.ts +3 -0
  63. package/tree/index.js +3 -0
  64. package/tree/treestore.d.ts +117 -0
  65. package/tree/treestore.js +336 -0
  66. package/chooser/Asset.svelte +0 -83
  67. package/chooser/Asset.svelte.d.ts +0 -25
  68. package/chooser/AssetFolder.svelte +0 -127
  69. package/chooser/AssetFolder.svelte.d.ts +0 -25
  70. package/chooser/Page.svelte +0 -121
  71. package/chooser/Page.svelte.d.ts +0 -25
@@ -1,127 +0,0 @@
1
- <script>import folderOutline from '@iconify-icons/mdi/folder-outline.js';
2
- import folderOpenOutline from '@iconify-icons/mdi/folder-open-outline.js';
3
- import folderSyncOutline from '@iconify-icons/mdi/folder-sync-outline.js';
4
- import { modifierKey } from '@txstate-mws/svelte-components';
5
- import { createEventDispatcher, getContext } from 'svelte';
6
- import { hashid } from 'txstate-utils';
7
- import { CHOOSER_STORE_CONTEXT } from './ChooserStore';
8
- import Asset from './Asset.svelte';
9
- import Icon from '../Icon.svelte';
10
- export let folder;
11
- export let level;
12
- export let posinset;
13
- export let setsize;
14
- export let next;
15
- export let prev;
16
- export let parent = undefined;
17
- const store = getContext(CHOOSER_STORE_CONTEXT);
18
- $: open = folder.open && folder.children?.length;
19
- $: nextlevel = level + 1;
20
- $: id = hashid(folder.id);
21
- $: haveFocus = $store.focus === folder.id;
22
- $: isPreview = $store.preview?.id === folder.id;
23
- const dispatch = createEventDispatcher();
24
- function onKeyDown(e) {
25
- if (modifierKey(e))
26
- return;
27
- if (['Enter', ' '].includes(e.key)) {
28
- onClick(e);
29
- }
30
- else if (e.key === 'ArrowRight') {
31
- e.preventDefault();
32
- e.stopPropagation();
33
- if (folder.open && folder.children?.length) {
34
- const child = folder.children[0];
35
- store.setFocus(child);
36
- document.getElementById(hashid(child.id)).focus();
37
- }
38
- else {
39
- store.open(folder);
40
- }
41
- }
42
- else if (e.key === 'ArrowLeft') {
43
- e.preventDefault();
44
- e.stopPropagation();
45
- if (folder.open) {
46
- store.close(folder);
47
- }
48
- else if (parent) {
49
- store.setFocus(parent);
50
- document.getElementById(hashid(parent.id)).focus();
51
- }
52
- }
53
- else if (e.key === 'ArrowDown') {
54
- e.preventDefault();
55
- e.stopPropagation();
56
- const mynext = open ? folder.children[0] : next;
57
- if (mynext) {
58
- store.setFocus(mynext);
59
- document.getElementById(hashid(mynext.id)).focus();
60
- }
61
- }
62
- else if (e.key === 'ArrowUp') {
63
- e.preventDefault();
64
- e.stopPropagation();
65
- const anyprev = prev;
66
- const myprev = anyprev?.open && anyprev.children?.length && anyprev.path === folder.path ? anyprev.children[anyprev.children.length - 1] : prev;
67
- if (myprev) {
68
- store.setFocus(myprev);
69
- document.getElementById(hashid(myprev.id)).focus();
70
- }
71
- }
72
- }
73
- function onClick(e) {
74
- e.preventDefault();
75
- e.stopPropagation();
76
- // if the id was already the same as the one that was clicked, the user
77
- // has clicked it twice, so we should choose the item and end the modal
78
- if ($store.preview?.id === folder.id)
79
- dispatch('choose', folder);
80
- else {
81
- store.preview(folder);
82
- store.toggle(folder);
83
- }
84
- }
85
- </script>
86
-
87
- <li
88
- {id}
89
- role="treeitem"
90
- class:isPreview
91
- aria-expanded={!!folder.open}
92
- aria-selected={isPreview}
93
- aria-level={level}
94
- aria-setsize={setsize}
95
- aria-posinset={posinset}
96
- aria-busy={folder.loading}
97
- tabindex={haveFocus ? 0 : -1}
98
- on:keydown={onKeyDown}
99
- on:click={onClick}
100
- >
101
- <Icon icon={folder.open ? folderOpenOutline : (folder.loading ? folderSyncOutline : folderOutline)} inline /> {folder.name}
102
- </li>
103
- {#if open}
104
- <ul role="group" class="dialog-asset-sublist">
105
- {#each folder.children as child, i (child.id)}
106
- {@const setsize = folder.children.length}
107
- {@const posinset = i + 1}
108
- {@const subprev = i === 0 ? folder : folder.children[i - 1]}
109
- {@const subnext = i === setsize - 1 ? next : folder.children[i + 1]}
110
- {#if child.type === 'folder'}
111
- <svelte:self folder={child} {setsize} {posinset} level={nextlevel} prev={subprev} next={subnext} parent={folder} on:choose />
112
- {:else}
113
- <Asset asset={child} {setsize} {posinset} level={nextlevel} prev={subprev} next={subnext} parent={folder} on:choose />
114
- {/if}
115
- {/each}
116
- </ul>
117
- {/if}
118
-
119
- <style>
120
- .dialog-asset-sublist {
121
- list-style: none;
122
- padding-left: 1em;
123
- }
124
- li {
125
- cursor: pointer;
126
- }
127
- </style>
@@ -1,25 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { UIFolder, AnyUIItem } from './ChooserStore';
3
- declare const __propDef: {
4
- props: {
5
- folder: UIFolder;
6
- level: number;
7
- posinset: number;
8
- setsize: number;
9
- next: AnyUIItem | undefined;
10
- prev: AnyUIItem | undefined;
11
- parent?: UIFolder | undefined;
12
- };
13
- events: {
14
- choose: CustomEvent<any>;
15
- } & {
16
- [evt: string]: CustomEvent<any>;
17
- };
18
- slots: {};
19
- };
20
- export declare type AssetFolderProps = typeof __propDef.props;
21
- export declare type AssetFolderEvents = typeof __propDef.events;
22
- export declare type AssetFolderSlots = typeof __propDef.slots;
23
- export default class AssetFolder extends SvelteComponentTyped<AssetFolderProps, AssetFolderEvents, AssetFolderSlots> {
24
- }
25
- export {};
@@ -1,121 +0,0 @@
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 { CHOOSER_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(CHOOSER_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
- }
28
- else if (e.key === 'ArrowRight') {
29
- e.preventDefault();
30
- e.stopPropagation();
31
- if (page.open && page.children?.length) {
32
- const child = page.children[0];
33
- store.setFocus(child);
34
- document.getElementById(hashid(child.id)).focus();
35
- }
36
- else {
37
- store.open(page);
38
- }
39
- }
40
- else if (e.key === 'ArrowLeft') {
41
- e.preventDefault();
42
- e.stopPropagation();
43
- if (page.open) {
44
- store.close(page);
45
- }
46
- else if (parent) {
47
- store.setFocus(parent);
48
- document.getElementById(hashid(parent.id)).focus();
49
- }
50
- }
51
- else if (e.key === 'ArrowDown') {
52
- e.preventDefault();
53
- e.stopPropagation();
54
- const mynext = open ? page.children[0] : next;
55
- if (mynext) {
56
- store.setFocus(mynext);
57
- document.getElementById(hashid(mynext.id)).focus();
58
- }
59
- }
60
- else if (e.key === 'ArrowUp') {
61
- e.preventDefault();
62
- e.stopPropagation();
63
- const anyprev = prev;
64
- const myprev = anyprev?.open && anyprev.children?.length && anyprev.path === page.path ? anyprev.children[anyprev.children.length - 1] : prev;
65
- if (myprev) {
66
- store.setFocus(myprev);
67
- document.getElementById(hashid(myprev.id)).focus();
68
- }
69
- }
70
- }
71
- function onClick(e) {
72
- e.preventDefault();
73
- e.stopPropagation();
74
- // if the id was already the same as the one that was clicked, the user
75
- // has clicked it twice, so we should choose the item and end the modal
76
- if ($store.preview?.id === page.id)
77
- dispatch('choose', page);
78
- else {
79
- store.preview(page);
80
- store.toggle(page);
81
- }
82
- }
83
- </script>
84
-
85
- <li
86
- {id}
87
- role="treeitem"
88
- class:isPreview
89
- aria-expanded={!!page.open}
90
- aria-selected={isPreview}
91
- aria-level={level}
92
- aria-setsize={setsize}
93
- aria-posinset={posinset}
94
- aria-busy={page.loading}
95
- tabindex={haveFocus ? 0 : -1}
96
- on:keydown={onKeyDown}
97
- on:click={onClick}
98
- >
99
- <Icon icon={page.open ? fileOutline : (page.loading ? fileSyncOutline : fileOutline)} inline /> {page.name}
100
- </li>
101
- {#if open}
102
- <ul role="group" class="dialog-asset-sublist">
103
- {#each page.children as child, i (child.id)}
104
- {@const setsize = page.children.length}
105
- {@const posinset = i + 1}
106
- {@const subprev = i === 0 ? page : page.children[i - 1]}
107
- {@const subnext = i === setsize - 1 ? next : page.children[i + 1]}
108
- <svelte:self page={child} {setsize} {posinset} level={nextlevel} prev={subprev} next={subnext} parent={page} on:choose />
109
- {/each}
110
- </ul>
111
- {/if}
112
-
113
- <style>
114
- .dialog-asset-sublist {
115
- list-style: none;
116
- padding-left: 1em;
117
- }
118
- li {
119
- cursor: pointer;
120
- }
121
- </style>
@@ -1,25 +0,0 @@
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 {};