@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,66 +1,107 @@
1
- <script context="module"></script>
1
+ <script lang="ts" context="module">
2
+ export type Element = {
3
+ title: string | number,
4
+ name: string | number,
5
+ description?: string,
6
+ icon?: string,
7
+ data?: any;
8
+ style?: {
9
+ color?: string,
10
+ backgroundColor?: string
11
+ },
12
+ appendIcon?: string
13
+ disabled?: boolean
14
+ };
15
+ </script>
2
16
 
3
- <script>import "../../../css/main.css";
4
- import "./SelectableVerticalList.css";
5
- import keyboarder from "../../../utils/keyboarder";
6
- import { createEventDispatcher, onMount } from "svelte";
7
- import Icon from "../media/Icon.svelte";
8
- export let activeKeyboard = false, loopSelection = true, focused = void 0, selected = void 0, elements = [], centered = false, bicolor = false, appendIconSize = "20pt";
9
- let dispatch = createEventDispatcher();
10
- $:
11
- focusedIndex = elements.findIndex((el) => el.name == focused);
12
- function handleKeypress(params) {
13
- if (activeKeyboard && elements.length > 0) {
14
- if (params.key == "ArrowDown") {
15
- let newIndex;
16
- if (focusedIndex === void 0 || focusedIndex === -1 || loopSelection && focusedIndex >= elements.length - 1) {
17
- focused = elements[0].name;
18
- newIndex = 0;
19
- } else if (focusedIndex < elements.length - 1) {
20
- focused = elements[focusedIndex + 1].name;
21
- newIndex = focusedIndex + 1;
22
- }
23
- if (newIndex !== void 0)
24
- dispatch("focus", { element: elements[newIndex] });
25
- } else if (params.key == "ArrowUp") {
26
- let newIndex;
27
- if (focusedIndex === void 0 || focusedIndex === -1 || loopSelection && focusedIndex <= 0) {
28
- focused = elements[elements.length - 1].name;
29
- newIndex = elements.length - 1;
30
- } else if (focusedIndex > 0) {
31
- focused = elements[focusedIndex - 1].name;
32
- newIndex = focusedIndex - 1;
17
+ <script lang="ts">
18
+ import '../../../css/main.css'
19
+ import './SelectableVerticalList.css'
20
+ import keyboarder from "../../../utils/keyboarder";
21
+ import { createEventDispatcher, onMount } from "svelte";
22
+ import Icon from '../media/Icon.svelte';
23
+
24
+ export let activeKeyboard: boolean = false,
25
+ loopSelection: boolean = true,
26
+ focused: string | number | undefined = undefined,
27
+ selected: string | number | undefined = undefined,
28
+ elements: Element[] = [],
29
+ centered: boolean = false,
30
+ bicolor: boolean = false,
31
+ appendIconSize: string = "20pt"
32
+
33
+ let dispatch = createEventDispatcher<{
34
+ 'select': {
35
+ element: Element
36
+ },
37
+ 'focus': {
38
+ element: Element
39
+ },
40
+ 'iconClick': {
41
+ index: number,
42
+ element: Element
43
+ }
44
+ }>()
45
+
46
+ $: focusedIndex = elements.findIndex((el) => el.name == focused)
47
+
48
+ function handleKeypress(params: {key: string}) {
49
+ if(activeKeyboard && elements.length > 0) {
50
+ if(params.key == 'ArrowDown') {
51
+ let newIndex
52
+ if((focusedIndex === undefined || focusedIndex === -1) || (loopSelection && focusedIndex >= (elements.length - 1))) {
53
+ focused = elements[0].name
54
+ newIndex = 0
55
+ } else if(focusedIndex < (elements.length - 1)) {
56
+ focused = elements[focusedIndex + 1].name
57
+ newIndex = focusedIndex + 1
58
+ }
59
+
60
+ if(newIndex !== undefined) dispatch('focus', { element: elements[newIndex] })
61
+ } else if(params.key == 'ArrowUp') {
62
+ let newIndex
63
+ if((focusedIndex === undefined || focusedIndex === -1) || (loopSelection && focusedIndex <= 0)) {
64
+ focused = elements[elements.length - 1].name
65
+ newIndex = elements.length - 1
66
+ } else if(focusedIndex > 0) {
67
+ focused = elements[focusedIndex - 1].name
68
+ newIndex = focusedIndex - 1
69
+ }
70
+
71
+ if(newIndex !== undefined) dispatch('focus', { element: elements[newIndex] })
72
+ } else if(params.key == 'Enter' && focusedIndex !== -1) {
73
+ selected = elements[focusedIndex].name
74
+ dispatch('select', { element: elements[focusedIndex] })
33
75
  }
34
- if (newIndex !== void 0)
35
- dispatch("focus", { element: elements[newIndex] });
36
- } else if (params.key == "Enter" && focusedIndex !== -1) {
37
- selected = elements[focusedIndex].name;
38
- dispatch("select", { element: elements[focusedIndex] });
39
76
  }
40
77
  }
41
- }
42
- function handleElementClick(element) {
43
- selected = element.name;
44
- if (element.disabled)
45
- return;
46
- dispatch("select", { element });
47
- }
48
- function handleElementMouseover(element) {
49
- focused = element.name;
50
- dispatch("focus", { element });
51
- }
52
- onMount(() => {
53
- keyboarder.on(handleKeypress);
54
- return () => {
55
- keyboarder.off(handleKeypress);
56
- };
57
- });
58
- function handleIconClick(index, element) {
59
- dispatch("iconClick", {
60
- index,
61
- element
62
- });
63
- }
78
+
79
+ function handleElementClick(element: Element) {
80
+ selected = element.name
81
+ if(element.disabled) return
82
+ dispatch('select', { element })
83
+ }
84
+
85
+ function handleElementMouseover(element: Element) {
86
+ focused = element.name
87
+ dispatch('focus', { element })
88
+ }
89
+
90
+ onMount(() => {
91
+ keyboarder.on(handleKeypress)
92
+
93
+ return () => {
94
+ keyboarder.off(handleKeypress)
95
+ }
96
+ })
97
+
98
+ function handleIconClick(index: number, element: Element) {
99
+ dispatch('iconClick', {
100
+ index,
101
+ element
102
+ })
103
+ }
104
+
64
105
  </script>
65
106
 
66
107
  <ul
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type Element = {
3
2
  title: string | number;
4
3
  name: string | number;
@@ -14,52 +13,57 @@ export type Element = {
14
13
  };
15
14
  import '../../../css/main.css';
16
15
  import './SelectableVerticalList.css';
17
- declare const __propDef: {
18
- props: {
19
- activeKeyboard?: boolean | undefined;
20
- loopSelection?: boolean | undefined;
21
- focused?: string | number | undefined;
22
- selected?: string | number | undefined;
23
- elements?: Element[] | undefined;
24
- centered?: boolean | undefined;
25
- bicolor?: boolean | undefined;
26
- appendIconSize?: string | undefined;
16
+ 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> {
17
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
18
+ $$bindings?: Bindings;
19
+ } & Exports;
20
+ (internal: unknown, props: Props & {
21
+ $$events?: Events;
22
+ $$slots?: Slots;
23
+ }): Exports & {
24
+ $set?: any;
25
+ $on?: any;
27
26
  };
28
- events: {
29
- keypress: KeyboardEvent;
30
- select: CustomEvent<{
31
- element: Element;
32
- }>;
33
- focus: CustomEvent<{
34
- element: Element;
35
- }>;
36
- iconClick: CustomEvent<{
37
- index: number;
38
- element: Element;
39
- }>;
40
- } & {
41
- [evt: string]: CustomEvent<any>;
27
+ z_$$bindings?: Bindings;
28
+ }
29
+ declare const SelectableVerticalList: $$__sveltets_2_IsomorphicComponent<{
30
+ activeKeyboard?: boolean;
31
+ loopSelection?: boolean;
32
+ focused?: string | number | undefined;
33
+ selected?: string | number | undefined;
34
+ elements?: Element[];
35
+ centered?: boolean;
36
+ bicolor?: boolean;
37
+ appendIconSize?: string;
38
+ }, {
39
+ keypress: KeyboardEvent;
40
+ select: CustomEvent<{
41
+ element: Element;
42
+ }>;
43
+ focus: CustomEvent<{
44
+ element: Element;
45
+ }>;
46
+ iconClick: CustomEvent<{
47
+ index: number;
48
+ element: Element;
49
+ }>;
50
+ } & {
51
+ [evt: string]: CustomEvent<any>;
52
+ }, {
53
+ element: {
54
+ focused: boolean;
55
+ selected: boolean;
42
56
  };
43
- slots: {
44
- element: {
45
- focused: boolean;
46
- selected: boolean;
47
- };
48
- title: {
49
- focused: boolean;
50
- selected: boolean;
51
- element: Element;
52
- };
53
- description: {
54
- focused: boolean;
55
- selected: boolean;
56
- element: Element;
57
- };
57
+ title: {
58
+ focused: boolean;
59
+ selected: boolean;
60
+ element: Element;
58
61
  };
59
- };
60
- export type SelectableVerticalListProps = typeof __propDef.props;
61
- export type SelectableVerticalListEvents = typeof __propDef.events;
62
- export type SelectableVerticalListSlots = typeof __propDef.slots;
63
- export default class SelectableVerticalList extends SvelteComponent<SelectableVerticalListProps, SelectableVerticalListEvents, SelectableVerticalListSlots> {
64
- }
65
- export {};
62
+ description: {
63
+ focused: boolean;
64
+ selected: boolean;
65
+ element: Element;
66
+ };
67
+ }, {}, string>;
68
+ type SelectableVerticalList = InstanceType<typeof SelectableVerticalList>;
69
+ export default SelectableVerticalList;
@@ -1,86 +1,131 @@
1
- <script context="module"></script>
2
-
3
- <script>import "../../../css/main.css";
4
- import "./SidebarMenuList.css";
5
- import { page } from "$app/stores";
6
- export let menus, level = 0, selected = void 0, bookmarkColor = "rgb(var(--global-color-primary-500))", color = "inherit", hoverColor = "inherit", selectedTextColor = "inherit", selectedFontWeight = "600", autoDetectUrl = false;
7
- let selectedIndex = void 0;
8
- page.subscribe(() => {
9
- if (autoDetectUrl) {
10
- const results = getMenuNameMatchingUrl({ menus });
11
- selected = results.name;
12
- }
13
- });
14
- $:
15
- if (level == 0) {
16
- if (selected !== void 0 && selected !== null) {
1
+ <script lang="ts" context="module">
2
+ export type Menu = {
3
+ title: string,
4
+ name: string | number,
5
+ url?: string,
6
+ disabled?: boolean,
7
+ children?: Menu[]
8
+ };
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import '../../../css/main.css'
13
+ import './SidebarMenuList.css'
14
+ import { page } from "$app/stores";
15
+
16
+ /*
17
+ Styles
18
+
19
+ --sidebar-menu-list-primary-color
20
+ --sidebar-menu-list-selected-text-color
21
+ --sidebar-menu-list-selected-font-weight
22
+ --sidebar-menu-list-color
23
+ --sidebar-menu-list-hover-color
24
+ */
25
+
26
+ export let menus: Menu[],
27
+ level: number = 0,
28
+ selected: string | number | undefined = undefined,
29
+ bookmarkColor: string = "rgb(var(--global-color-primary-500))",
30
+ color: string = "inherit",
31
+ hoverColor: string = 'inherit',
32
+ selectedTextColor: string = "inherit",
33
+ selectedFontWeight: string = "600",
34
+ autoDetectUrl: boolean = false
35
+
36
+ let selectedIndex: number | undefined = undefined
37
+
38
+ page.subscribe(() => {
39
+ if(autoDetectUrl) {
40
+ const results = getMenuNameMatchingUrl({ menus: menus })
41
+ selected = results.name
42
+ }
43
+ })
44
+
45
+ $: if(level == 0) {
46
+ if(selected !== undefined && selected !== null) {
17
47
  let results = getSelectionIndex({
18
- menus,
48
+ menus: menus,
19
49
  offset: 0,
20
50
  search: selected
21
- });
22
- if (results.found)
23
- selectedIndex = results.offset;
24
- else
25
- selectedIndex = void 0;
51
+ })
52
+
53
+ if(results.found) selectedIndex = results.offset
54
+ else selectedIndex = undefined
26
55
  } else {
27
- selectedIndex = void 0;
56
+ selectedIndex = undefined
28
57
  }
29
58
  }
30
- $:
31
- isSelected = selectedIndex !== void 0;
32
- function getSelectionIndex(params) {
33
- let initialOffset = params.offset;
34
- for (let i = 0; i < params.menus.length; i += 1) {
35
- initialOffset += 1;
36
- let currentMenu = params.menus[i];
37
- if (currentMenu.name == params.search) {
38
- return { found: true, offset: initialOffset };
39
- } else if (!!currentMenu.children) {
40
- let results = getSelectionIndex({
41
- menus: currentMenu.children,
42
- offset: initialOffset,
43
- search: params.search
44
- });
45
- initialOffset = results.offset;
46
- if (results.found) {
47
- return { found: true, offset: initialOffset };
59
+ $: isSelected = selectedIndex !== undefined
60
+
61
+ function getSelectionIndex(params: {
62
+ menus: Menu[],
63
+ offset: number,
64
+ search: string | number
65
+ }): { found: boolean, offset: number } {
66
+ let initialOffset = params.offset
67
+
68
+ for(let i = 0; i < params.menus.length; i += 1) {
69
+ initialOffset += 1
70
+ let currentMenu = params.menus[i]
71
+ if(currentMenu.name == params.search) {
72
+ return { found: true, offset: initialOffset }
73
+ } else if(!!currentMenu.children) {
74
+ let results = getSelectionIndex({
75
+ menus: currentMenu.children,
76
+ offset: initialOffset,
77
+ search: params.search
78
+ })
79
+
80
+ initialOffset = results.offset
81
+ if(results.found) {
82
+ return { found: true, offset: initialOffset }
83
+ }
48
84
  }
49
85
  }
86
+
87
+ return { found: false, offset: initialOffset }
50
88
  }
51
- return { found: false, offset: initialOffset };
52
- }
53
- function getMenuNameMatchingUrl(params) {
54
- let foundName = void 0;
55
- let foundMatchType = void 0;
56
- for (let i = 0; i < params.menus.length; i += 1) {
57
- let currentMenu = params.menus[i];
58
- if (!!currentMenu.url && $page.url.pathname === currentMenu.url) {
59
- foundName = currentMenu.name;
60
- foundMatchType = "equal";
61
- } else if (foundMatchType !== "equal" && !!currentMenu.url && $page.url.pathname.startsWith(currentMenu.url)) {
62
- foundName = currentMenu.name;
63
- foundMatchType = "startsWith";
64
- }
65
- if (!!currentMenu.children) {
66
- let found = getMenuNameMatchingUrl({ menus: currentMenu.children });
67
- if (found.name !== void 0) {
68
- foundName = found.name;
69
- foundMatchType = found.matchType;
89
+
90
+ function getMenuNameMatchingUrl(params: {
91
+ menus: Menu[]
92
+ }): {
93
+ name: string | number | undefined,
94
+ matchType: 'startsWith' | 'equal' | undefined
95
+ } {
96
+ let foundName: string | number | undefined = undefined
97
+ let foundMatchType: 'startsWith' | 'equal' | undefined = undefined
98
+
99
+ for(let i = 0; i < params.menus.length; i += 1) {
100
+ let currentMenu = params.menus[i]
101
+
102
+ if(!!currentMenu.url && $page.url.pathname === currentMenu.url) {
103
+ foundName = currentMenu.name
104
+ foundMatchType = 'equal'
105
+ } else if(foundMatchType !== 'equal' && !!currentMenu.url && $page.url.pathname.startsWith(currentMenu.url)) {
106
+ foundName = currentMenu.name
107
+ foundMatchType = 'startsWith'
70
108
  }
109
+
110
+ if(!!currentMenu.children) {
111
+ let found = getMenuNameMatchingUrl({ menus: currentMenu.children })
112
+ if(found.name !== undefined) {
113
+ foundName = found.name
114
+ foundMatchType = found.matchType
115
+ }
116
+ }
117
+ }
118
+
119
+ return {
120
+ name: foundName,
121
+ matchType: foundMatchType
71
122
  }
72
123
  }
73
- return {
74
- name: foundName,
75
- matchType: foundMatchType
76
- };
77
- }
78
- function handleUrlClick(e, menu) {
79
- if (menu.disabled)
80
- e.preventDefault();
81
- else
82
- selected = menu.name;
83
- }
124
+
125
+ function handleUrlClick(e: Event, menu: Menu) {
126
+ if(menu.disabled) e.preventDefault()
127
+ else selected = menu.name
128
+ }
84
129
  </script>
85
130
 
86
131
  <ul
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type Menu = {
3
2
  title: string;
4
3
  name: string | number;
@@ -8,26 +7,31 @@ export type Menu = {
8
7
  };
9
8
  import '../../../css/main.css';
10
9
  import './SidebarMenuList.css';
11
- declare const __propDef: {
12
- props: {
13
- menus: Menu[];
14
- level?: number | undefined;
15
- selected?: string | number | undefined;
16
- bookmarkColor?: string | undefined;
17
- color?: string | undefined;
18
- hoverColor?: string | undefined;
19
- selectedTextColor?: string | undefined;
20
- selectedFontWeight?: string | undefined;
21
- autoDetectUrl?: boolean | undefined;
10
+ 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> {
11
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
12
+ $$bindings?: Bindings;
13
+ } & Exports;
14
+ (internal: unknown, props: Props & {
15
+ $$events?: Events;
16
+ $$slots?: Slots;
17
+ }): Exports & {
18
+ $set?: any;
19
+ $on?: any;
22
20
  };
23
- events: {
24
- [evt: string]: CustomEvent<any>;
25
- };
26
- slots: {};
27
- };
28
- export type SidebarMenuListProps = typeof __propDef.props;
29
- export type SidebarMenuListEvents = typeof __propDef.events;
30
- export type SidebarMenuListSlots = typeof __propDef.slots;
31
- export default class SidebarMenuList extends SvelteComponent<SidebarMenuListProps, SidebarMenuListEvents, SidebarMenuListSlots> {
21
+ z_$$bindings?: Bindings;
32
22
  }
33
- export {};
23
+ declare const SidebarMenuList: $$__sveltets_2_IsomorphicComponent<{
24
+ menus: Menu[];
25
+ level?: number;
26
+ selected?: string | number | undefined;
27
+ bookmarkColor?: string;
28
+ color?: string;
29
+ hoverColor?: string;
30
+ selectedTextColor?: string;
31
+ selectedFontWeight?: string;
32
+ autoDetectUrl?: boolean;
33
+ }, {
34
+ [evt: string]: CustomEvent<any>;
35
+ }, {}, {}, string>;
36
+ type SidebarMenuList = InstanceType<typeof SidebarMenuList>;
37
+ export default SidebarMenuList;