@likable-hair/svelte 3.3.30 → 3.3.32

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 (198) hide show
  1. package/dist/components/composed/buttons/ActivableButton.svelte +6 -2
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +36 -32
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +30 -23
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +39 -25
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +42 -33
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +25 -21
  7. package/dist/components/composed/common/QuickActions.svelte +84 -48
  8. package/dist/components/composed/common/QuickActions.svelte.d.ts +24 -20
  9. package/dist/components/composed/common/ToolTip.svelte +31 -22
  10. package/dist/components/composed/common/ToolTip.svelte.d.ts +32 -43
  11. package/dist/components/composed/forms/AsyncAutocomplete.svelte +44 -23
  12. package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +44 -39
  13. package/dist/components/composed/forms/AvatarDropdown.svelte +57 -27
  14. package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +45 -41
  15. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +35 -17
  16. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +41 -37
  17. package/dist/components/composed/forms/CountriesAutocomplete.svelte +16 -7
  18. package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +31 -60
  19. package/dist/components/composed/forms/DatePickerTextField.svelte +166 -114
  20. package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +67 -63
  21. package/dist/components/composed/forms/Dropdown.svelte +51 -21
  22. package/dist/components/composed/forms/Dropdown.svelte.d.ts +48 -43
  23. package/dist/components/composed/forms/IconsDropdown.svelte +61 -33
  24. package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +30 -26
  25. package/dist/components/composed/forms/LabelAndSelect.svelte +32 -7
  26. package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +35 -31
  27. package/dist/components/composed/forms/LabelAndTextField.svelte +30 -5
  28. package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +46 -42
  29. package/dist/components/composed/forms/ToggleList.svelte +59 -33
  30. package/dist/components/composed/forms/ToggleList.svelte.d.ts +21 -17
  31. package/dist/components/composed/forms/YearPickerTextField.svelte +114 -74
  32. package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +53 -49
  33. package/dist/components/composed/list/DynamicTable.css +10 -8
  34. package/dist/components/composed/list/DynamicTable.svelte +1138 -733
  35. package/dist/components/composed/list/DynamicTable.svelte.d.ts +370 -366
  36. package/dist/components/composed/list/PaginatedTable.svelte +144 -76
  37. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +111 -110
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +59 -30
  39. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +26 -22
  40. package/dist/components/composed/search/DynamicFilters.svelte +104 -83
  41. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +31 -27
  42. package/dist/components/composed/search/FilterEditor.svelte +106 -77
  43. package/dist/components/composed/search/FilterEditor.svelte.d.ts +37 -33
  44. package/dist/components/composed/search/Filters.svelte +363 -293
  45. package/dist/components/composed/search/Filters.svelte.d.ts +56 -52
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte +79 -41
  47. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +43 -39
  48. package/dist/components/composed/search/MobileFilterEditor.svelte +135 -93
  49. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +39 -35
  50. package/dist/components/composed/search/SearchBar.svelte +28 -5
  51. package/dist/components/composed/search/SearchBar.svelte.d.ts +34 -30
  52. package/dist/components/composed/search/SearchResults.svelte +42 -7
  53. package/dist/components/composed/search/SearchResults.svelte.d.ts +40 -36
  54. package/dist/components/composed/shop/ProductCard.svelte +18 -4
  55. package/dist/components/composed/shop/ProductCard.svelte.d.ts +32 -28
  56. package/dist/components/composed/shop/ProductsGrid.svelte +22 -2
  57. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +44 -40
  58. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +55 -29
  59. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +85 -54
  60. package/dist/components/layouts/StableDividedSideBarLayout.svelte +47 -17
  61. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +50 -32
  62. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +53 -30
  63. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +103 -63
  64. package/dist/components/simple/buttons/Button.svelte +78 -32
  65. package/dist/components/simple/buttons/Button.svelte.d.ts +47 -35
  66. package/dist/components/simple/buttons/LinkButton.svelte +54 -22
  67. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +50 -33
  68. package/dist/components/simple/charts/GanymedeBarChart.svelte +172 -134
  69. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +50 -46
  70. package/dist/components/simple/charts/GanymedeLineChart.svelte +157 -115
  71. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +51 -47
  72. package/dist/components/simple/charts/GanymedePieChart.svelte +62 -39
  73. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +37 -33
  74. package/dist/components/simple/common/Card.svelte +20 -1
  75. package/dist/components/simple/common/Card.svelte.d.ts +51 -38
  76. package/dist/components/simple/common/CollapsibleDivider.svelte +23 -11
  77. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +29 -25
  78. package/dist/components/simple/common/Divider.svelte +8 -2
  79. package/dist/components/simple/common/Divider.svelte.d.ts +23 -19
  80. package/dist/components/simple/common/Gesture.svelte +64 -46
  81. package/dist/components/simple/common/Gesture.svelte.d.ts +21 -17
  82. package/dist/components/simple/common/InfiniteScroll.svelte +52 -29
  83. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +24 -20
  84. package/dist/components/simple/common/IntersectionObserver.svelte +45 -32
  85. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +34 -21
  86. package/dist/components/simple/common/MediaQuery.svelte +30 -21
  87. package/dist/components/simple/common/MediaQuery.svelte.d.ts +34 -30
  88. package/dist/components/simple/common/Menu.svelte +421 -298
  89. package/dist/components/simple/common/Menu.svelte.d.ts +51 -40
  90. package/dist/components/simple/common/Playground.svelte +18 -17
  91. package/dist/components/simple/common/Playground.svelte.d.ts +19 -15
  92. package/dist/components/simple/common/VerticalDraggableList.svelte +35 -16
  93. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +33 -29
  94. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +32 -26
  95. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +16 -12
  96. package/dist/components/simple/dates/Calendar.svelte +52 -28
  97. package/dist/components/simple/dates/Calendar.svelte.d.ts +45 -41
  98. package/dist/components/simple/dates/DatePicker.svelte +90 -60
  99. package/dist/components/simple/dates/DatePicker.svelte.d.ts +44 -40
  100. package/dist/components/simple/dates/MonthSelector.svelte +37 -15
  101. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +35 -31
  102. package/dist/components/simple/dates/TimePicker.svelte +45 -31
  103. package/dist/components/simple/dates/TimePicker.svelte.d.ts +24 -20
  104. package/dist/components/simple/dates/TimePickerTextField.svelte +56 -35
  105. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +28 -24
  106. package/dist/components/simple/dates/YearSelector.svelte +54 -29
  107. package/dist/components/simple/dates/YearSelector.svelte.d.ts +35 -31
  108. package/dist/components/simple/dialogs/Dialog.svelte +95 -62
  109. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +43 -28
  110. package/dist/components/simple/forms/Autocomplete.svelte +201 -142
  111. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +83 -79
  112. package/dist/components/simple/forms/Checkbox.svelte +40 -24
  113. package/dist/components/simple/forms/Checkbox.svelte.d.ts +26 -22
  114. package/dist/components/simple/forms/FileInput.svelte +88 -48
  115. package/dist/components/simple/forms/FileInput.svelte.d.ts +37 -33
  116. package/dist/components/simple/forms/FileInputList.svelte +62 -37
  117. package/dist/components/simple/forms/FileInputList.svelte.d.ts +39 -35
  118. package/dist/components/simple/forms/RadioButton.svelte +11 -3
  119. package/dist/components/simple/forms/RadioButton.svelte.d.ts +31 -27
  120. package/dist/components/simple/forms/Select.svelte +16 -3
  121. package/dist/components/simple/forms/Select.svelte.d.ts +24 -20
  122. package/dist/components/simple/forms/SimpleTextField.svelte +53 -6
  123. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +64 -60
  124. package/dist/components/simple/forms/Switch.svelte +30 -16
  125. package/dist/components/simple/forms/Switch.svelte.d.ts +25 -21
  126. package/dist/components/simple/forms/Textarea.svelte +27 -2
  127. package/dist/components/simple/forms/Textarea.svelte.d.ts +41 -37
  128. package/dist/components/simple/forms/Textfield.svelte +56 -18
  129. package/dist/components/simple/forms/Textfield.svelte.d.ts +55 -51
  130. package/dist/components/simple/forms/TreeEditor.svelte +141 -95
  131. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +42 -38
  132. package/dist/components/simple/forms/TreeEditorItem.svelte +77 -42
  133. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +54 -50
  134. package/dist/components/simple/forms/VerticalSwitch.svelte +11 -1
  135. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +32 -28
  136. package/dist/components/simple/forms/VerticalTextSwitch.svelte +15 -3
  137. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +30 -26
  138. package/dist/components/simple/lists/ColorInvertedSelector.svelte +53 -23
  139. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +46 -42
  140. package/dist/components/simple/lists/HierarchyMenu.svelte +38 -19
  141. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +34 -30
  142. package/dist/components/simple/lists/Paginator.svelte +50 -41
  143. package/dist/components/simple/lists/Paginator.svelte.d.ts +23 -19
  144. package/dist/components/simple/lists/SelectableMenuList.svelte +43 -15
  145. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +24 -20
  146. package/dist/components/simple/lists/SelectableVerticalList.svelte +100 -59
  147. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +51 -47
  148. package/dist/components/simple/lists/SidebarMenuList.svelte +116 -71
  149. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +26 -22
  150. package/dist/components/simple/lists/SimpleTable.svelte +264 -154
  151. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +70 -66
  152. package/dist/components/simple/loaders/CircularLoader.svelte +16 -5
  153. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +19 -15
  154. package/dist/components/simple/loaders/Skeleton.svelte +3 -2
  155. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +16 -12
  156. package/dist/components/simple/media/AttachmentDownloader.svelte +17 -3
  157. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +32 -28
  158. package/dist/components/simple/media/Avatar.svelte +18 -12
  159. package/dist/components/simple/media/Avatar.svelte.d.ts +31 -20
  160. package/dist/components/simple/media/Carousel.svelte +29 -11
  161. package/dist/components/simple/media/Carousel.svelte.d.ts +28 -24
  162. package/dist/components/simple/media/DescriptiveAvatar.svelte +12 -4
  163. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +44 -28
  164. package/dist/components/simple/media/FlagIcon.svelte +8 -5
  165. package/dist/components/simple/media/FlagIcon.svelte.d.ts +19 -15
  166. package/dist/components/simple/media/Gallery.svelte +49 -29
  167. package/dist/components/simple/media/Gallery.svelte.d.ts +27 -23
  168. package/dist/components/simple/media/Icon.svelte +9 -4
  169. package/dist/components/simple/media/Icon.svelte.d.ts +24 -20
  170. package/dist/components/simple/media/Image.svelte +42 -20
  171. package/dist/components/simple/media/Image.svelte.d.ts +44 -33
  172. package/dist/components/simple/media/ImageGrid.svelte +37 -12
  173. package/dist/components/simple/media/ImageGrid.svelte.d.ts +32 -28
  174. package/dist/components/simple/navigation/Breadcrumb.svelte +28 -10
  175. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +26 -22
  176. package/dist/components/simple/navigation/Chip.svelte +44 -23
  177. package/dist/components/simple/navigation/Chip.svelte.d.ts +42 -31
  178. package/dist/components/simple/navigation/Drawer.svelte +107 -65
  179. package/dist/components/simple/navigation/Drawer.svelte.d.ts +50 -37
  180. package/dist/components/simple/navigation/HeaderMenu.svelte +40 -23
  181. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +39 -35
  182. package/dist/components/simple/navigation/Navigator.svelte +30 -8
  183. package/dist/components/simple/navigation/Navigator.svelte.d.ts +28 -24
  184. package/dist/components/simple/navigation/TabSwitcher.svelte +83 -47
  185. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +38 -34
  186. package/dist/components/simple/notifiers/AlertBanner.svelte +43 -15
  187. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +41 -37
  188. package/dist/components/simple/progress/ProgressBar.svelte +20 -13
  189. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +21 -17
  190. package/dist/components/simple/timeline/SimpleTimeLine.svelte +26 -12
  191. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +39 -35
  192. package/dist/components/simple/typography/Code.svelte +27 -12
  193. package/dist/components/simple/typography/Code.svelte.d.ts +28 -24
  194. package/dist/stores/debounce.d.ts +0 -1
  195. package/dist/stores/layouts/unstableSidebarOpened.d.ts +0 -1
  196. package/dist/stores/mediaQuery.d.ts +0 -1
  197. package/dist/stores/theme.d.ts +0 -1
  198. package/package.json +1 -1
@@ -1,104 +1,150 @@
1
- <script context="module"></script>
2
-
3
- <script>import Sortable from "sortablejs";
4
- import { onMount, createEventDispatcher } from "svelte";
5
- import TreeEditorItem from "./TreeEditorItem.svelte";
6
- import { createId } from "@paralleldrive/cuid2";
7
- import lodash from "lodash";
8
- let dispatch = createEventDispatcher();
9
- export let items = [], groupName = createId(), cleanItems = convertItemsInClean(items), collapsable = true, editable = true, updateItem = ({ item }) => {
10
- return item;
11
- };
12
- let itemList, sortable = void 0, rerender = true, mounted = false;
13
- onMount(() => {
14
- mounted = true;
15
- initSortable();
16
- });
17
- async function initSortable() {
18
- if (!mounted)
19
- return;
20
- sortable = Sortable.create(itemList, {
21
- handle: ".handle",
22
- group: groupName,
23
- animation: 150,
24
- ghostClass: "ghost-drag-element",
25
- onEnd(event) {
26
- sortTree();
27
- }
28
- });
29
- }
30
- $:
31
- if (!!items)
32
- initSortable();
33
- function handleEnd(event) {
34
- sortTree();
35
- }
36
- async function sortTree() {
37
- let clonedItems = lodash.cloneDeep(items);
38
- let sortedItems = sortSubTree(clonedItems, items, sortable, "main");
39
- dispatch("change", {
40
- items: sortedItems
41
- });
42
- items = sortedItems;
43
- rerender = !rerender;
44
- }
45
- function sortSubTree(totalItems, itemsToSort, parentSortable, parentId) {
46
- if (!parentSortable)
47
- throw new Error("Parent sortable could not be undefined");
48
- parentSortable.save();
49
- for (let i = 0; i < itemsToSort.length; i += 1) {
50
- let itemToSort = itemsToSort[i];
51
- if (!!itemToSort.children) {
52
- itemsToSort[i].children = sortSubTree(totalItems, itemToSort.children, itemToSort.sortable, itemToSort.id);
53
- }
1
+ <script lang="ts" context="module">
2
+ export type Item = {
3
+ id: number | string,
4
+ title: string,
5
+ expanded?: boolean,
6
+ sortable?: Sortable
7
+ children?: Item[],
8
+ data?: any
9
+ };
10
+
11
+ export type CleanItem = {
12
+ id: number | string,
13
+ title: string,
14
+ expanded?: boolean,
15
+ children?: CleanItem[],
16
+ data?: any
17
+ };
18
+ </script>
19
+
20
+ <script lang="ts">
21
+ import Sortable from 'sortablejs';
22
+ import { onMount, createEventDispatcher, type ComponentProps } from 'svelte';
23
+ import TreeEditorItem from './TreeEditorItem.svelte';
24
+ import { createId } from '@paralleldrive/cuid2';
25
+ import lodash from 'lodash';
26
+
27
+ let dispatch = createEventDispatcher<{
28
+ 'change': {
29
+ items: Item[]
30
+ },
31
+ 'input': {
32
+ item: Item,
33
+ items: Item[]
34
+ },
35
+ }>()
36
+
37
+ export let items: Item[] = [],
38
+ groupName: string = createId(),
39
+ cleanItems: CleanItem[] = convertItemsInClean(items),
40
+ collapsable: boolean = true,
41
+ editable: boolean = true,
42
+ updateItem: ComponentProps<TreeEditorItem>['updateItem'] = ({ item }) => { return item }
43
+
44
+ let itemList: HTMLElement,
45
+ sortable: Sortable | undefined = undefined,
46
+ rerender: boolean = true,
47
+ mounted: boolean = false
48
+
49
+ onMount(() => {
50
+ mounted = true
51
+ initSortable()
52
+ })
53
+
54
+ async function initSortable() {
55
+ if(!mounted) return
56
+
57
+ sortable = Sortable.create(itemList, {
58
+ handle: '.handle',
59
+ group: groupName,
60
+ animation: 150,
61
+ ghostClass: 'ghost-drag-element',
62
+ onEnd(event) {
63
+ sortTree()
64
+ }
65
+ })
54
66
  }
55
- let orderedIds = [];
56
- for (let k = 0; k < parentSortable.el.children.length; k += 1) {
57
- let id = parentSortable.el.children[k].getAttribute("data-sortable-id")?.toString();
58
- if (!id)
59
- throw new Error("All html element must have data-sortbale-id");
60
- orderedIds.push(id);
67
+
68
+ $: if(!!items) initSortable()
69
+
70
+ function handleEnd(event: CustomEvent<{ ev: Sortable.SortableEvent }>) {
71
+ sortTree()
61
72
  }
62
- let newItems = [];
63
- for (let j = 0; j < orderedIds.length; j += 1) {
64
- let id = orderedIds[j];
65
- let itemIndex = itemsToSort.findIndex((its) => its.id.toString() == id);
66
- if (itemIndex === -1) {
67
- let itemToAdd = findItem(totalItems, id);
68
- if (!itemToAdd)
69
- continue;
70
- newItems.push(itemToAdd);
71
- } else {
72
- newItems.push(itemsToSort[itemIndex]);
73
+
74
+ async function sortTree() {
75
+ let clonedItems = lodash.cloneDeep(items)
76
+ let sortedItems = sortSubTree(clonedItems, items, sortable, 'main')
77
+
78
+ dispatch('change', {
79
+ items: sortedItems
80
+ })
81
+
82
+ items = sortedItems
83
+ rerender = !rerender
84
+ }
85
+
86
+ function sortSubTree(totalItems: Item[], itemsToSort: Item[], parentSortable: Sortable | undefined, parentId?: Item['id']): Item[] {
87
+ if(!parentSortable) throw new Error('Parent sortable could not be undefined')
88
+ parentSortable.save()
89
+
90
+ for(let i = 0; i < itemsToSort.length; i += 1) {
91
+ let itemToSort = itemsToSort[i]
92
+
93
+ if(!!itemToSort.children) {
94
+ itemsToSort[i].children = sortSubTree(totalItems, itemToSort.children, itemToSort.sortable, itemToSort.id)
95
+ }
96
+ }
97
+
98
+ let orderedIds: Item['id'][] = []
99
+ for(let k = 0; k < parentSortable.el.children.length; k += 1) {
100
+ let id = parentSortable.el.children[k].getAttribute('data-sortable-id')?.toString()
101
+ if(!id) throw new Error('All html element must have data-sortbale-id')
102
+ orderedIds.push(id)
103
+ }
104
+
105
+ let newItems: Item[] = []
106
+ for(let j = 0; j < orderedIds.length; j += 1) {
107
+ let id = orderedIds[j]
108
+ let itemIndex = itemsToSort.findIndex((its) => its.id.toString() == id)
109
+ if(itemIndex === -1) {
110
+ let itemToAdd = findItem(totalItems, id)
111
+ if(!itemToAdd) continue
112
+
113
+ newItems.push(itemToAdd)
114
+ } else {
115
+ newItems.push(itemsToSort[itemIndex])
116
+ }
73
117
  }
118
+
119
+ return newItems
74
120
  }
75
- return newItems;
76
- }
77
- function findItem(itemsToSearch, id) {
78
- for (let i = 0; i < itemsToSearch.length; i += 1) {
79
- let item = itemsToSearch[i];
80
- if (item.id == id)
81
- return item;
82
- if (!!item.children) {
83
- let result = findItem(item.children, id);
84
- if (!!result)
85
- return result;
121
+
122
+ function findItem(itemsToSearch: Item[], id: Item['id']): Item | undefined {
123
+ for(let i = 0; i < itemsToSearch.length; i += 1) {
124
+ let item = itemsToSearch[i]
125
+
126
+ if(item.id == id) return item
127
+
128
+ if(!!item.children) {
129
+ let result = findItem(item.children, id)
130
+ if(!!result) return result
131
+ }
86
132
  }
87
133
  }
88
- }
89
- function convertItemsInClean(items2) {
90
- return items2.map((i) => {
91
- return {
92
- id: i.id,
93
- title: i.title,
94
- expanded: i.expanded,
95
- children: !!i.children ? convertItemsInClean(i.children) : [],
96
- data: i.data
97
- };
98
- });
99
- }
100
- $:
101
- cleanItems = convertItemsInClean(items);
134
+
135
+ function convertItemsInClean(items: Item[]): CleanItem[] {
136
+ return items.map((i) => {
137
+ return {
138
+ id: i.id,
139
+ title: i.title,
140
+ expanded: i.expanded,
141
+ children: !!i.children ? convertItemsInClean(i.children) : [],
142
+ data: i.data
143
+ }
144
+ })
145
+ }
146
+
147
+ $: cleanItems = convertItemsInClean(items)
102
148
  </script>
103
149
 
104
150
  {#key rerender}
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type Item = {
3
2
  id: number | string;
4
3
  title: string;
@@ -17,43 +16,48 @@ export type CleanItem = {
17
16
  import Sortable from 'sortablejs';
18
17
  import { type ComponentProps } from 'svelte';
19
18
  import TreeEditorItem from './TreeEditorItem.svelte';
20
- declare const __propDef: {
21
- props: {
22
- items?: Item[] | undefined;
23
- groupName?: string | undefined;
24
- cleanItems?: CleanItem[] | undefined;
25
- collapsable?: boolean | undefined;
26
- editable?: boolean | undefined;
27
- updateItem?: ComponentProps<TreeEditorItem>['updateItem'];
19
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
20
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
21
+ $$bindings?: Bindings;
22
+ } & Exports;
23
+ (internal: unknown, props: Props & {
24
+ $$events?: Events;
25
+ $$slots?: Slots;
26
+ }): Exports & {
27
+ $set?: any;
28
+ $on?: any;
28
29
  };
29
- events: {
30
- click: CustomEvent<{
31
- item: Item;
32
- }>;
33
- change: CustomEvent<{
34
- items: Item[];
35
- }>;
36
- input: CustomEvent<{
37
- item: Item;
38
- items: Item[];
39
- }>;
40
- } & {
41
- [evt: string]: CustomEvent<any>;
30
+ z_$$bindings?: Bindings;
31
+ }
32
+ declare const TreeEditor: $$__sveltets_2_IsomorphicComponent<{
33
+ items?: Item[];
34
+ groupName?: string;
35
+ cleanItems?: CleanItem[];
36
+ collapsable?: boolean;
37
+ editable?: boolean;
38
+ updateItem?: ComponentProps<TreeEditorItem>["updateItem"];
39
+ }, {
40
+ click: CustomEvent<{
41
+ item: Item;
42
+ }>;
43
+ change: CustomEvent<{
44
+ items: Item[];
45
+ }>;
46
+ input: CustomEvent<{
47
+ item: Item;
48
+ items: Item[];
49
+ }>;
50
+ } & {
51
+ [evt: string]: CustomEvent<any>;
52
+ }, {
53
+ append: {
54
+ item: any;
55
+ doUpdateItem: any;
42
56
  };
43
- slots: {
44
- append: {
45
- item: any;
46
- doUpdateItem: any;
47
- };
48
- title: {
49
- item: any;
50
- doUpdateItem: any;
51
- };
57
+ title: {
58
+ item: any;
59
+ doUpdateItem: any;
52
60
  };
53
- };
54
- export type TreeEditorProps = typeof __propDef.props;
55
- export type TreeEditorEvents = typeof __propDef.events;
56
- export type TreeEditorSlots = typeof __propDef.slots;
57
- export default class TreeEditor extends SvelteComponent<TreeEditorProps, TreeEditorEvents, TreeEditorSlots> {
58
- }
59
- export {};
61
+ }, {}, string>;
62
+ type TreeEditor = InstanceType<typeof TreeEditor>;
63
+ export default TreeEditor;
@@ -1,54 +1,89 @@
1
- <script>import Sortable from "sortablejs";
2
- import { onMount } from "svelte";
3
- import Icon from "../media/Icon.svelte";
4
- import Button from "../buttons/Button.svelte";
5
- import { slide } from "svelte/transition";
6
- import { createEventDispatcher } from "svelte";
7
- let dispatch = createEventDispatcher();
8
- export let title, id, subtitle = void 0, group, animationDuration = 150, expanded = true, subItems = [], sortable = void 0, collapsable = true, editable = true, data = void 0, updateItem = void 0;
9
- let subItemList, mounted = false;
10
- onMount(() => {
11
- mounted = true;
12
- initSortable();
13
- });
14
- function initSortable() {
15
- if (!mounted)
16
- return;
17
- sortable = Sortable.create(subItemList, {
18
- group,
19
- handle: ".handle",
20
- animation: animationDuration,
21
- ghostClass: "ghost-drag-element",
22
- onEnd(ev) {
23
- dispatch("end", { ev });
1
+ <script lang="ts">
2
+ import Sortable from 'sortablejs';
3
+ import { onMount, type ComponentProps } from "svelte";
4
+ import type TreeEditor from './TreeEditor.svelte';
5
+ import Icon from '../media/Icon.svelte';
6
+ import Button from '../buttons/Button.svelte';
7
+ import { slide } from 'svelte/transition';
8
+ import { createEventDispatcher } from 'svelte';
9
+ import type { Item } from './TreeEditor.svelte';
10
+
11
+ let dispatch = createEventDispatcher<{
12
+ 'change': {
13
+ ev: Sortable.SortableEvent
14
+ },
15
+ 'end': {
16
+ ev: Sortable.SortableEvent
24
17
  },
25
- onChange(ev) {
26
- dispatch("change", { ev });
18
+ 'input': {
19
+ item: Item,
20
+ inputData?: any
27
21
  },
28
- onUpdate(ev) {
22
+ 'click': {
23
+ item: Item
29
24
  }
30
- });
31
- }
32
- let currentItem;
33
- $:
34
- currentItem = {
25
+ }>()
26
+
27
+ export let title: string,
28
+ id: number | string,
29
+ subtitle: string | undefined = undefined,
30
+ group: string,
31
+ animationDuration: number = 150,
32
+ expanded: boolean | undefined = true,
33
+ subItems: Item[] = [],
34
+ sortable: Sortable | undefined = undefined,
35
+ collapsable: boolean = true,
36
+ editable: boolean = true,
37
+ data: any = undefined,
38
+ updateItem: ((params: { item: Item, inputData?: any }) => Item) | undefined = undefined
39
+
40
+ let subItemList: HTMLElement,
41
+ mounted: boolean = false
42
+
43
+ onMount(() => {
44
+ mounted = true
45
+ initSortable()
46
+ })
47
+
48
+ function initSortable() {
49
+ if(!mounted) return
50
+
51
+ sortable = Sortable.create(subItemList, {
52
+ group: group,
53
+ handle: '.handle',
54
+ animation: animationDuration,
55
+ ghostClass: 'ghost-drag-element',
56
+ onEnd(ev) {
57
+ dispatch('end', { ev })
58
+ },
59
+ onChange(ev) {
60
+ dispatch('change', { ev })
61
+ },
62
+ onUpdate(ev) {
63
+ }
64
+ })
65
+ }
66
+
67
+ let currentItem: Item
68
+ $: currentItem = {
35
69
  id,
36
70
  title,
37
71
  expanded,
38
72
  sortable,
39
73
  children: subItems,
40
- data
41
- };
42
- $:
43
- if (!!subItems)
44
- initSortable();
45
- function doUpdateItem(item, inputData) {
46
- let newItem = item;
47
- if (!!updateItem) {
48
- newItem = updateItem({ item, inputData });
74
+ data: data
75
+ }
76
+
77
+ $: if(!!subItems) initSortable()
78
+
79
+ function doUpdateItem(item: Item, inputData: any) {
80
+ let newItem = item
81
+ if(!!updateItem) {
82
+ newItem = updateItem({ item, inputData })
83
+ }
84
+
85
+ dispatch('input', { item: newItem })
49
86
  }
50
- dispatch("input", { item: newItem });
51
- }
52
87
  </script>
53
88
 
54
89
  <li
@@ -1,55 +1,59 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import Sortable from 'sortablejs';
3
2
  import type { Item } from './TreeEditor.svelte';
4
- declare const __propDef: {
5
- props: {
6
- title: string;
7
- id: number | string;
8
- subtitle?: string | undefined;
9
- group: string;
10
- animationDuration?: number | undefined;
11
- expanded?: boolean | undefined;
12
- subItems?: Item[] | undefined;
13
- sortable?: Sortable | undefined;
14
- collapsable?: boolean | undefined;
15
- editable?: boolean | undefined;
16
- data?: any;
17
- updateItem?: ((params: {
18
- item: Item;
19
- inputData?: any;
20
- }) => Item) | undefined;
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
21
13
  };
22
- events: {
23
- change: CustomEvent<{
24
- ev: Sortable.SortableEvent;
25
- }>;
26
- end: CustomEvent<{
27
- ev: Sortable.SortableEvent;
28
- }>;
29
- input: CustomEvent<{
30
- item: Item;
31
- inputData?: any;
32
- }>;
33
- click: CustomEvent<{
34
- item: Item;
35
- }>;
36
- } & {
37
- [evt: string]: CustomEvent<any>;
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ declare const TreeEditorItem: $$__sveltets_2_IsomorphicComponent<{
17
+ title: string;
18
+ id: number | string;
19
+ subtitle?: string | undefined;
20
+ group: string;
21
+ animationDuration?: number;
22
+ expanded?: boolean | undefined;
23
+ subItems?: Item[];
24
+ sortable?: Sortable | undefined;
25
+ collapsable?: boolean;
26
+ editable?: boolean;
27
+ data?: any;
28
+ updateItem?: ((params: {
29
+ item: Item;
30
+ inputData?: any;
31
+ }) => Item) | undefined;
32
+ }, {
33
+ change: CustomEvent<{
34
+ ev: Sortable.SortableEvent;
35
+ }>;
36
+ end: CustomEvent<{
37
+ ev: Sortable.SortableEvent;
38
+ }>;
39
+ input: CustomEvent<{
40
+ item: Item;
41
+ inputData?: any;
42
+ }>;
43
+ click: CustomEvent<{
44
+ item: Item;
45
+ }>;
46
+ } & {
47
+ [evt: string]: CustomEvent<any>;
48
+ }, {
49
+ title: {
50
+ item: any;
51
+ doUpdateItem: any;
38
52
  };
39
- slots: {
40
- title: {
41
- item: any;
42
- doUpdateItem: any;
43
- };
44
- append: {
45
- item: any;
46
- doUpdateItem: any;
47
- };
53
+ append: {
54
+ item: any;
55
+ doUpdateItem: any;
48
56
  };
49
- };
50
- export type TreeEditorItemProps = typeof __propDef.props;
51
- export type TreeEditorItemEvents = typeof __propDef.events;
52
- export type TreeEditorItemSlots = typeof __propDef.slots;
53
- export default class TreeEditorItem extends SvelteComponent<TreeEditorItemProps, TreeEditorItemEvents, TreeEditorItemSlots> {
54
- }
55
- export {};
57
+ }, {}, string>;
58
+ type TreeEditorItem = InstanceType<typeof TreeEditorItem>;
59
+ export default TreeEditorItem;
@@ -1,4 +1,14 @@
1
- <script>export let value = false, height = "60px", width = "30px", rounded = false, backgroundColor = "#90CAF9", selectedOptionColor = backgroundColor, sliderColor = "white", optionColor = sliderColor, fontSize = "11px", animationDuration = "0.1s";
1
+ <script lang="ts">
2
+ export let value = false,
3
+ height = "60px",
4
+ width = "30px",
5
+ rounded = false,
6
+ backgroundColor = "#90CAF9",
7
+ selectedOptionColor: string = backgroundColor,
8
+ sliderColor = "white",
9
+ optionColor: string = sliderColor,
10
+ fontSize = "11px",
11
+ animationDuration = "0.1s";
2
12
  </script>
3
13
 
4
14
  <div
@@ -1,30 +1,34 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- value?: boolean | undefined;
5
- height?: string | undefined;
6
- width?: string | undefined;
7
- rounded?: boolean | undefined;
8
- backgroundColor?: string | undefined;
9
- selectedOptionColor?: string | undefined;
10
- sliderColor?: string | undefined;
11
- optionColor?: string | undefined;
12
- fontSize?: string | undefined;
13
- animationDuration?: string | undefined;
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
14
11
  };
15
- events: {
16
- change: Event;
17
- } & {
18
- [evt: string]: CustomEvent<any>;
19
- };
20
- slots: {
21
- trueOption: {};
22
- falseOption: {};
23
- };
24
- };
25
- export type VerticalSwitchProps = typeof __propDef.props;
26
- export type VerticalSwitchEvents = typeof __propDef.events;
27
- export type VerticalSwitchSlots = typeof __propDef.slots;
28
- export default class VerticalSwitch extends SvelteComponent<VerticalSwitchProps, VerticalSwitchEvents, VerticalSwitchSlots> {
12
+ z_$$bindings?: Bindings;
29
13
  }
30
- export {};
14
+ declare const VerticalSwitch: $$__sveltets_2_IsomorphicComponent<{
15
+ value?: boolean;
16
+ height?: string;
17
+ width?: string;
18
+ rounded?: boolean;
19
+ backgroundColor?: string;
20
+ selectedOptionColor?: string;
21
+ sliderColor?: string;
22
+ optionColor?: string;
23
+ fontSize?: string;
24
+ animationDuration?: string;
25
+ }, {
26
+ change: Event;
27
+ } & {
28
+ [evt: string]: CustomEvent<any>;
29
+ }, {
30
+ trueOption: {};
31
+ falseOption: {};
32
+ }, {}, string>;
33
+ type VerticalSwitch = InstanceType<typeof VerticalSwitch>;
34
+ export default VerticalSwitch;