@likable-hair/svelte 3.3.24 → 3.3.26

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 (200) hide show
  1. package/dist/components/composed/buttons/ActivableButton.svelte +2 -6
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +32 -36
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +5 -21
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +36 -50
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +13 -29
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +30 -34
  7. package/dist/components/composed/common/QuickActions.svelte +20 -52
  8. package/dist/components/composed/common/QuickActions.svelte.d.ts +20 -24
  9. package/dist/components/composed/common/ToolTip.svelte +22 -31
  10. package/dist/components/composed/common/ToolTip.svelte.d.ts +43 -32
  11. package/dist/components/composed/forms/AsyncAutocomplete.svelte +23 -44
  12. package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +39 -44
  13. package/dist/components/composed/forms/AvatarDropdown.svelte +27 -57
  14. package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +41 -45
  15. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +21 -43
  16. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +37 -41
  17. package/dist/components/composed/forms/CountriesAutocomplete.svelte +7 -16
  18. package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +60 -31
  19. package/dist/components/composed/forms/DatePickerTextField.svelte +114 -166
  20. package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +63 -67
  21. package/dist/components/composed/forms/Dropdown.svelte +21 -51
  22. package/dist/components/composed/forms/Dropdown.svelte.d.ts +43 -48
  23. package/dist/components/composed/forms/IconsDropdown.svelte +33 -61
  24. package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +26 -30
  25. package/dist/components/composed/forms/LabelAndSelect.svelte +7 -32
  26. package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +31 -35
  27. package/dist/components/composed/forms/LabelAndTextField.svelte +5 -30
  28. package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +42 -46
  29. package/dist/components/composed/forms/ToggleList.svelte +33 -59
  30. package/dist/components/composed/forms/ToggleList.svelte.d.ts +17 -21
  31. package/dist/components/composed/forms/YearPickerTextField.svelte +74 -114
  32. package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +49 -53
  33. package/dist/components/composed/list/DynamicTable.svelte +836 -1227
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +365 -369
  35. package/dist/components/composed/list/PaginatedTable.svelte +76 -139
  36. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +108 -108
  37. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +30 -58
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +21 -25
  39. package/dist/components/composed/search/DynamicFilters.svelte +149 -159
  40. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +27 -31
  41. package/dist/components/composed/search/FilterEditor.svelte +78 -106
  42. package/dist/components/composed/search/FilterEditor.svelte.d.ts +33 -37
  43. package/dist/components/composed/search/Filters.css +2 -1
  44. package/dist/components/composed/search/Filters.svelte +300 -362
  45. package/dist/components/composed/search/Filters.svelte.d.ts +52 -55
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte +41 -79
  47. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +39 -43
  48. package/dist/components/composed/search/MobileFilterEditor.svelte +93 -135
  49. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +35 -39
  50. package/dist/components/composed/search/SearchBar.svelte +5 -28
  51. package/dist/components/composed/search/SearchBar.svelte.d.ts +30 -34
  52. package/dist/components/composed/search/SearchResults.svelte +7 -42
  53. package/dist/components/composed/search/SearchResults.svelte.d.ts +36 -40
  54. package/dist/components/composed/shop/ProductCard.svelte +4 -18
  55. package/dist/components/composed/shop/ProductCard.svelte.d.ts +28 -32
  56. package/dist/components/composed/shop/ProductsGrid.svelte +2 -22
  57. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +40 -44
  58. package/dist/components/layouts/CollapsibleSideBarLayout.css +6 -9
  59. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +67 -140
  60. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +54 -110
  61. package/dist/components/layouts/StableDividedSideBarLayout.svelte +17 -47
  62. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +32 -50
  63. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +30 -53
  64. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +63 -103
  65. package/dist/components/simple/buttons/Button.svelte +32 -78
  66. package/dist/components/simple/buttons/Button.svelte.d.ts +35 -47
  67. package/dist/components/simple/buttons/LinkButton.svelte +22 -54
  68. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +33 -50
  69. package/dist/components/simple/charts/GanymedeBarChart.svelte +134 -172
  70. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +46 -50
  71. package/dist/components/simple/charts/GanymedeLineChart.svelte +115 -157
  72. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +47 -51
  73. package/dist/components/simple/charts/GanymedePieChart.svelte +39 -62
  74. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +33 -37
  75. package/dist/components/simple/common/Card.svelte +1 -20
  76. package/dist/components/simple/common/Card.svelte.d.ts +38 -51
  77. package/dist/components/simple/common/CollapsibleDivider.svelte +11 -23
  78. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +25 -29
  79. package/dist/components/simple/common/Divider.svelte +2 -8
  80. package/dist/components/simple/common/Divider.svelte.d.ts +19 -23
  81. package/dist/components/simple/common/Gesture.svelte +46 -64
  82. package/dist/components/simple/common/Gesture.svelte.d.ts +17 -21
  83. package/dist/components/simple/common/InfiniteScroll.svelte +29 -52
  84. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +20 -24
  85. package/dist/components/simple/common/IntersectionObserver.svelte +32 -45
  86. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +21 -34
  87. package/dist/components/simple/common/MediaQuery.svelte +21 -30
  88. package/dist/components/simple/common/MediaQuery.svelte.d.ts +30 -34
  89. package/dist/components/simple/common/Menu.svelte +201 -290
  90. package/dist/components/simple/common/Menu.svelte.d.ts +40 -51
  91. package/dist/components/simple/common/Playground.svelte +17 -18
  92. package/dist/components/simple/common/Playground.svelte.d.ts +15 -19
  93. package/dist/components/simple/common/VerticalDraggableList.svelte +16 -35
  94. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +29 -33
  95. package/dist/components/simple/common/materialDesign.css +1 -1
  96. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +26 -32
  97. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +12 -16
  98. package/dist/components/simple/dates/Calendar.svelte +28 -52
  99. package/dist/components/simple/dates/Calendar.svelte.d.ts +41 -45
  100. package/dist/components/simple/dates/DatePicker.svelte +60 -90
  101. package/dist/components/simple/dates/DatePicker.svelte.d.ts +40 -44
  102. package/dist/components/simple/dates/MonthSelector.svelte +15 -37
  103. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +31 -35
  104. package/dist/components/simple/dates/TimePicker.svelte +31 -45
  105. package/dist/components/simple/dates/TimePicker.svelte.d.ts +20 -24
  106. package/dist/components/simple/dates/TimePickerTextField.svelte +35 -56
  107. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +24 -28
  108. package/dist/components/simple/dates/YearSelector.svelte +29 -54
  109. package/dist/components/simple/dates/YearSelector.svelte.d.ts +31 -35
  110. package/dist/components/simple/dialogs/Dialog.svelte +62 -92
  111. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +28 -42
  112. package/dist/components/simple/forms/Autocomplete.svelte +142 -201
  113. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -83
  114. package/dist/components/simple/forms/Checkbox.svelte +27 -41
  115. package/dist/components/simple/forms/Checkbox.svelte.d.ts +21 -25
  116. package/dist/components/simple/forms/FileInput.svelte +48 -88
  117. package/dist/components/simple/forms/FileInput.svelte.d.ts +33 -37
  118. package/dist/components/simple/forms/FileInputList.svelte +242 -110
  119. package/dist/components/simple/forms/FileInputList.svelte.d.ts +36 -43
  120. package/dist/components/simple/forms/RadioButton.svelte +3 -11
  121. package/dist/components/simple/forms/RadioButton.svelte.d.ts +27 -31
  122. package/dist/components/simple/forms/Select.svelte +3 -16
  123. package/dist/components/simple/forms/Select.svelte.d.ts +20 -24
  124. package/dist/components/simple/forms/SimpleTextField.svelte +6 -53
  125. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +60 -64
  126. package/dist/components/simple/forms/Switch.svelte +16 -30
  127. package/dist/components/simple/forms/Switch.svelte.d.ts +21 -25
  128. package/dist/components/simple/forms/Textarea.svelte +2 -27
  129. package/dist/components/simple/forms/Textarea.svelte.d.ts +37 -41
  130. package/dist/components/simple/forms/Textfield.svelte +18 -56
  131. package/dist/components/simple/forms/Textfield.svelte.d.ts +51 -55
  132. package/dist/components/simple/forms/TreeEditor.svelte +95 -141
  133. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +38 -42
  134. package/dist/components/simple/forms/TreeEditorItem.svelte +42 -77
  135. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +50 -54
  136. package/dist/components/simple/forms/VerticalSwitch.svelte +1 -11
  137. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +28 -32
  138. package/dist/components/simple/forms/VerticalTextSwitch.svelte +3 -15
  139. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +26 -30
  140. package/dist/components/simple/lists/ColorInvertedSelector.svelte +23 -53
  141. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +42 -46
  142. package/dist/components/simple/lists/HierarchyMenu.svelte +19 -38
  143. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +30 -34
  144. package/dist/components/simple/lists/Paginator.svelte +41 -50
  145. package/dist/components/simple/lists/Paginator.svelte.d.ts +19 -23
  146. package/dist/components/simple/lists/SelectableMenuList.svelte +15 -43
  147. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +20 -24
  148. package/dist/components/simple/lists/SelectableVerticalList.svelte +57 -99
  149. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +47 -51
  150. package/dist/components/simple/lists/SidebarMenuList.svelte +71 -116
  151. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +22 -26
  152. package/dist/components/simple/lists/SimpleTable.svelte +154 -264
  153. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +66 -70
  154. package/dist/components/simple/loaders/CircularLoader.svelte +5 -16
  155. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +15 -19
  156. package/dist/components/simple/loaders/Skeleton.svelte +2 -3
  157. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +12 -16
  158. package/dist/components/simple/media/AttachmentDownloader.svelte +3 -17
  159. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +28 -32
  160. package/dist/components/simple/media/Avatar.svelte +12 -18
  161. package/dist/components/simple/media/Avatar.svelte.d.ts +20 -31
  162. package/dist/components/simple/media/Carousel.svelte +11 -29
  163. package/dist/components/simple/media/Carousel.svelte.d.ts +24 -28
  164. package/dist/components/simple/media/DescriptiveAvatar.svelte +4 -12
  165. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +28 -44
  166. package/dist/components/simple/media/FlagIcon.svelte +5 -8
  167. package/dist/components/simple/media/FlagIcon.svelte.d.ts +15 -19
  168. package/dist/components/simple/media/Gallery.svelte +29 -49
  169. package/dist/components/simple/media/Gallery.svelte.d.ts +23 -27
  170. package/dist/components/simple/media/Icon.svelte +4 -9
  171. package/dist/components/simple/media/Icon.svelte.d.ts +20 -24
  172. package/dist/components/simple/media/Image.svelte +20 -42
  173. package/dist/components/simple/media/Image.svelte.d.ts +33 -44
  174. package/dist/components/simple/media/ImageGrid.svelte +12 -37
  175. package/dist/components/simple/media/ImageGrid.svelte.d.ts +28 -32
  176. package/dist/components/simple/navigation/Breadcrumb.svelte +10 -28
  177. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +22 -26
  178. package/dist/components/simple/navigation/Chip.svelte +23 -44
  179. package/dist/components/simple/navigation/Chip.svelte.d.ts +31 -42
  180. package/dist/components/simple/navigation/Drawer.svelte +65 -107
  181. package/dist/components/simple/navigation/Drawer.svelte.d.ts +37 -50
  182. package/dist/components/simple/navigation/HeaderMenu.svelte +23 -40
  183. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +35 -39
  184. package/dist/components/simple/navigation/Navigator.svelte +8 -30
  185. package/dist/components/simple/navigation/Navigator.svelte.d.ts +24 -28
  186. package/dist/components/simple/navigation/TabSwitcher.svelte +47 -83
  187. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +34 -38
  188. package/dist/components/simple/notifiers/AlertBanner.svelte +15 -43
  189. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +37 -41
  190. package/dist/components/simple/progress/ProgressBar.svelte +13 -20
  191. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +17 -21
  192. package/dist/components/simple/timeline/SimpleTimeLine.svelte +5 -19
  193. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +35 -39
  194. package/dist/components/simple/typography/Code.svelte +12 -27
  195. package/dist/components/simple/typography/Code.svelte.d.ts +24 -28
  196. package/dist/stores/debounce.d.ts +1 -0
  197. package/dist/stores/layouts/unstableSidebarOpened.d.ts +1 -0
  198. package/dist/stores/mediaQuery.d.ts +1 -0
  199. package/dist/stores/theme.d.ts +1 -0
  200. package/package.json +1 -1
@@ -1,150 +1,104 @@
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
- })
66
- }
67
-
68
- $: if(!!items) initSortable()
69
-
70
- function handleEnd(event: CustomEvent<{ ev: Sortable.SortableEvent }>) {
71
- sortTree()
72
- }
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)
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();
103
27
  }
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
- }
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);
117
53
  }
118
-
119
- return newItems
120
54
  }
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
- }
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);
61
+ }
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]);
132
73
  }
133
74
  }
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
- })
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;
86
+ }
145
87
  }
146
-
147
- $: cleanItems = convertItemsInClean(items)
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);
148
102
  </script>
149
103
 
150
104
  {#key rerender}
@@ -1,3 +1,4 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  export type Item = {
2
3
  id: number | string;
3
4
  title: string;
@@ -16,48 +17,43 @@ export type CleanItem = {
16
17
  import Sortable from 'sortablejs';
17
18
  import { type ComponentProps } from 'svelte';
18
19
  import TreeEditorItem from './TreeEditorItem.svelte';
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;
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'];
29
28
  };
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;
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>;
56
42
  };
57
- title: {
58
- item: any;
59
- doUpdateItem: any;
43
+ slots: {
44
+ append: {
45
+ item: any;
46
+ doUpdateItem: any;
47
+ };
48
+ title: {
49
+ item: any;
50
+ doUpdateItem: any;
51
+ };
60
52
  };
61
- }, {}, string>;
62
- type TreeEditor = InstanceType<typeof TreeEditor>;
63
- export default TreeEditor;
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 {};
@@ -1,89 +1,54 @@
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
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 });
17
24
  },
18
- 'input': {
19
- item: Item,
20
- inputData?: any
25
+ onChange(ev) {
26
+ dispatch("change", { ev });
21
27
  },
22
- 'click': {
23
- item: Item
28
+ onUpdate(ev) {
24
29
  }
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 = {
30
+ });
31
+ }
32
+ let currentItem;
33
+ $:
34
+ currentItem = {
69
35
  id,
70
36
  title,
71
37
  expanded,
72
38
  sortable,
73
39
  children: subItems,
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 })
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 });
86
49
  }
50
+ dispatch("input", { item: newItem });
51
+ }
87
52
  </script>
88
53
 
89
54
  <li
@@ -1,59 +1,55 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  import Sortable from 'sortablejs';
2
3
  import type { Item } from './TreeEditor.svelte';
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;
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;
13
21
  };
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;
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>;
52
38
  };
53
- append: {
54
- item: any;
55
- doUpdateItem: any;
39
+ slots: {
40
+ title: {
41
+ item: any;
42
+ doUpdateItem: any;
43
+ };
44
+ append: {
45
+ item: any;
46
+ doUpdateItem: any;
47
+ };
56
48
  };
57
- }, {}, string>;
58
- type TreeEditorItem = InstanceType<typeof TreeEditorItem>;
59
- export default TreeEditorItem;
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 {};
@@ -1,14 +1,4 @@
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";
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";
12
2
  </script>
13
3
 
14
4
  <div
@@ -1,34 +1,30 @@
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;
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;
11
14
  };
12
- z_$$bindings?: Bindings;
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> {
13
29
  }
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;
30
+ export {};