@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,165 +1,224 @@
1
- <script context="module"></script>
2
-
3
- <script>import "../../../css/main.css";
4
- import "./Autocomplete.css";
5
- import { scrollInMenu } from "../common/scroller";
6
- let clazz = {};
7
- export { clazz as class };
8
- export let values = [], items, searchFunction = void 0, multiple = false, disabled = false, mandatory = false, placeholder = "", width = "auto", height = "auto", maxWidth = void 0, minWidth = "200px", openingId = "autocomplete-menu", searchText = void 0, maxVisibleChips = void 0, menuOpened = false, closeOnSelect = !multiple, emptySearchTextOnMenuClose = true, menuBoxShadow = "rgb(var(--global-color-background-300), .5) 0px 2px 4px", menuBorderRadius = "5px", mobileDrawer = false, menuWidth = void 0, menuAnchor = "bottom-center";
9
- let dispatch = createEventDispatcher();
10
- function select(item) {
11
- if (disabled)
12
- return;
13
- const alreadyPresent = values.findIndex((i) => i.value === item.value) != -1;
14
- if (!alreadyPresent) {
15
- if (multiple)
16
- values = [...values, item];
17
- else
18
- values = [item];
1
+ <script context="module" lang="ts">
2
+ export type Item = {
3
+ value: string | number;
4
+ label?: string | number;
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+ data?: any;
7
+ };
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import '../../../css/main.css'
12
+ import './Autocomplete.css'
13
+ import { scrollInMenu } from '../common/scroller';
14
+
15
+ let clazz: {
16
+ activator?: string,
17
+ menu?: string,
18
+ simpleTextfield?: ComponentProps<SimpleTextField>['class']
19
+ } = {};
20
+ export { clazz as class };
21
+
22
+ export let values: Item[] = [],
23
+ items: Item[],
24
+ searchFunction: ((item: Item, searchText: string | undefined) => boolean) | undefined =
25
+ undefined,
26
+ multiple = false,
27
+ disabled = false,
28
+ mandatory = false,
29
+ placeholder = "",
30
+ width = "auto",
31
+ height = "auto",
32
+ maxWidth: string | undefined = undefined,
33
+ minWidth: string | undefined = "200px",
34
+ openingId: string = "autocomplete-menu",
35
+ searchText: string | undefined = undefined,
36
+ maxVisibleChips: number | undefined = undefined,
37
+ menuOpened: boolean = false,
38
+ closeOnSelect: boolean = !multiple,
39
+ emptySearchTextOnMenuClose: boolean = true,
40
+ // menu
41
+ menuBoxShadow = "rgb(var(--global-color-background-300), .5) 0px 2px 4px",
42
+ menuBorderRadius = "5px",
43
+ mobileDrawer: boolean = false,
44
+ menuWidth: string | undefined | null = undefined,
45
+ menuAnchor: "bottom" | "bottom-center" | "right-center" | undefined = 'bottom-center'
46
+
47
+ let dispatch = createEventDispatcher<{
48
+ change: {
49
+ unselect: Item | undefined;
50
+ select: Item | undefined;
51
+ selection: Item[];
52
+ }
53
+ }>();
54
+
55
+ function select(item: Item) {
56
+ if(disabled) return
57
+
58
+ const alreadyPresent =
59
+ values.findIndex((i) => i.value === item.value) != -1;
60
+
61
+ if (!alreadyPresent) {
62
+ if (multiple) values = [...values, item];
63
+ else values = [item];
64
+ refreshMenuWidth();
65
+
66
+ dispatch("change", {
67
+ unselect: undefined,
68
+ select: item,
69
+ selection: values,
70
+ });
71
+ }
72
+
73
+ if (!multiple && closeOnSelect) menuOpened = false
74
+ }
75
+
76
+ function unselect(item: Item) {
77
+ if(disabled) return
78
+
79
+ if(values.length == 1 && mandatory) return
80
+ values = values.filter((i) => i.value != item.value);
19
81
  refreshMenuWidth();
82
+
83
+ dispatch("change", {
84
+ unselect: item,
85
+ select: undefined,
86
+ selection: values,
87
+ });
88
+ }
89
+
90
+ function pop() {
91
+ if(values.length == 1 && mandatory) return
92
+ let poppedElement = values.pop()
93
+ values = [...values]
94
+ refreshMenuWidth()
95
+
20
96
  dispatch("change", {
21
- unselect: void 0,
22
- select: item,
23
- selection: values
97
+ unselect: poppedElement,
98
+ select: undefined,
99
+ selection: values,
24
100
  });
25
101
  }
26
- if (!multiple && closeOnSelect)
27
- menuOpened = false;
28
- }
29
- function unselect(item) {
30
- if (disabled)
31
- return;
32
- if (values.length == 1 && mandatory)
33
- return;
34
- values = values.filter((i) => i.value != item.value);
35
- refreshMenuWidth();
36
- dispatch("change", {
37
- unselect: item,
38
- select: void 0,
39
- selection: values
40
- });
41
- }
42
- function pop() {
43
- if (values.length == 1 && mandatory)
44
- return;
45
- let poppedElement = values.pop();
46
- values = [...values];
47
- refreshMenuWidth();
48
- dispatch("change", {
49
- unselect: poppedElement,
50
- select: void 0,
51
- selection: values
52
- });
53
- }
54
- function toggle(item) {
55
- const alreadyPresent = values.findIndex((i) => i.value === item.value) != -1;
56
- if (alreadyPresent)
57
- unselect(item);
58
- else
59
- select(item);
60
- }
61
- let localMenuWidth = void 0, menuHeight = "auto", refreshPosition = false;
62
- function openMenu() {
63
- refreshMenuWidth();
64
- menuOpened = true;
65
- }
66
- function refreshMenuWidth() {
67
- setTimeout(() => {
68
- if (menuWidth !== void 0)
69
- localMenuWidth = menuWidth;
70
- else
71
- localMenuWidth = activator.offsetWidth + "px";
102
+
103
+ function toggle(item: Item) {
104
+ const alreadyPresent =
105
+ values.findIndex((i) => i.value === item.value) != -1;
106
+
107
+ if (alreadyPresent) unselect(item);
108
+ else select(item);
109
+ }
110
+
111
+ let localMenuWidth: string | undefined | null = undefined,
112
+ menuHeight = "auto",
113
+ refreshPosition = false;
114
+
115
+ function openMenu() {
116
+ refreshMenuWidth();
117
+ menuOpened = true;
118
+ }
119
+
120
+ function refreshMenuWidth() {
72
121
  setTimeout(() => {
73
- refreshPosition = true;
122
+ if(menuWidth !== undefined) localMenuWidth = menuWidth
123
+ else localMenuWidth = activator.offsetWidth + "px"
124
+
125
+ setTimeout(() => {
126
+ refreshPosition = true;
127
+ }, 1);
74
128
  }, 1);
75
- }, 1);
76
- }
77
- let activator, focusedIndex = void 0;
78
- function handleTextFieldFocus() {
79
- if (disabled)
80
- return;
81
- focusedIndex = void 0;
82
- openMenu();
83
- }
84
- function handleTextFieldBlur() {
85
- }
86
- let menuElement;
87
- function handleKeyDown(event) {
88
- if (disabled)
89
- return;
90
- if (event.key == "ArrowDown" && (focusedIndex === void 0 || focusedIndex < filteredItems.length - 1)) {
91
- if (focusedIndex === void 0)
92
- focusedIndex = 0;
93
- else
94
- focusedIndex += 1;
95
- } else if (event.key == "ArrowUp" && (focusedIndex === void 0 || focusedIndex > 0)) {
96
- if (focusedIndex === void 0)
97
- focusedIndex = filteredItems.length - 1;
98
- else
99
- focusedIndex -= 1;
100
- } else if (event.key == "Enter" && focusedIndex != void 0) {
101
- toggle(filteredItems[focusedIndex]);
102
- } else if (event.key == "Backspace" && searchText == "") {
103
- pop();
104
- } else if (event.key == "Escape" || event.key == "Tab") {
105
- searchText = "";
106
- if (!!input)
107
- input.blur();
108
- menuOpened = false;
109
129
  }
110
- if (focusedIndex !== void 0 && !!menuElement) {
111
- let child = menuElement.querySelector(".item-" + focusedIndex);
112
- if (!!child)
113
- scrollInMenu(menuElement, child, "instant");
130
+
131
+ let activator: HTMLElement,
132
+ focusedIndex: number | undefined = undefined;
133
+ function handleTextFieldFocus() {
134
+ if(disabled) return
135
+ focusedIndex = undefined;
136
+ openMenu();
137
+ }
138
+
139
+ function handleTextFieldBlur() {
140
+ // closeMenu()
114
141
  }
115
- }
116
- let input;
117
- function handleContainerClick() {
118
- if (disabled)
119
- return;
120
- if (!menuOpened) {
121
- if (!!input)
122
- input.focus();
123
- setTimeout(() => {
124
- openMenu();
125
- }, 50);
142
+
143
+ let menuElement: HTMLElement;
144
+ function handleKeyDown(event: { key: string }) {
145
+ if(disabled) return
146
+
147
+ if (
148
+ event.key == "ArrowDown" &&
149
+ (focusedIndex === undefined || focusedIndex < filteredItems.length - 1)
150
+ ) {
151
+ if (focusedIndex === undefined) focusedIndex = 0;
152
+ else focusedIndex += 1;
153
+ } else if (
154
+ event.key == "ArrowUp" &&
155
+ (focusedIndex === undefined || focusedIndex > 0)
156
+ ) {
157
+ if (focusedIndex === undefined) focusedIndex = filteredItems.length - 1;
158
+ else focusedIndex -= 1;
159
+ } else if (event.key == "Enter" && focusedIndex != undefined) {
160
+ toggle(filteredItems[focusedIndex]);
161
+ } else if(event.key == 'Backspace' && searchText == '') {
162
+ pop()
163
+ } else if(event.key == 'Escape' || event.key == 'Tab') {
164
+ searchText = ''
165
+ if(!!input) input.blur()
166
+ menuOpened = false
167
+ }
168
+
169
+ if(focusedIndex !== undefined && !!menuElement) {
170
+ let child = menuElement.querySelector<HTMLElement>('.item-' + focusedIndex)
171
+
172
+ if(!!child) scrollInMenu(menuElement, child, 'instant')
173
+ }
174
+ }
175
+
176
+ let input: HTMLElement;
177
+ function handleContainerClick() {
178
+ if(disabled) return
179
+
180
+ if (!menuOpened) {
181
+ if(!!input) input.focus();
182
+
183
+ // had to timeout because it was catching click outside
184
+ setTimeout(() => {
185
+ openMenu();
186
+ }, 50);
187
+ }
126
188
  }
127
- }
128
- let filteredItems = items;
129
- $:
130
- if (searchText) {
131
- focusedIndex = void 0;
189
+
190
+ let filteredItems: Item[] = items;
191
+ $: if (searchText) {
192
+ focusedIndex = undefined;
132
193
  filteredItems = items.filter((it) => {
133
- if (searchFunction)
134
- return searchFunction(it, searchText);
135
- else
136
- return !!searchText && it.label?.toString().toLowerCase().includes(searchText.toLowerCase());
194
+ if (searchFunction) return searchFunction(it, searchText);
195
+ else return !!searchText && it.label?.toString().toLowerCase().includes((searchText).toLowerCase());
137
196
  });
138
197
  } else {
139
198
  filteredItems = items;
140
199
  }
141
- $:
142
- notVisibleChipNumber = Math.max((values?.length || 0) - (maxVisibleChips || 0), 0);
143
- $:
144
- if (!menuOpened && emptySearchTextOnMenuClose) {
200
+
201
+ $: notVisibleChipNumber = Math.max((values?.length || 0) - (maxVisibleChips || 0), 0)
202
+
203
+ $: if(!menuOpened && emptySearchTextOnMenuClose) {
145
204
  setTimeout(() => {
146
- if (!menuOpened && emptySearchTextOnMenuClose)
147
- searchText = void 0;
205
+ if(!menuOpened && emptySearchTextOnMenuClose) searchText = undefined
148
206
  }, 10);
149
207
  }
150
- $:
151
- if (!!input) {
152
- if (!disabled && values.length != 0) {
153
- input.style.width = Math.max(searchText?.length || placeholder?.length, 1) + "ch";
208
+
209
+ $: if(!!input) {
210
+ if(!disabled && values.length != 0) {
211
+ input.style.width = Math.max(searchText?.length || placeholder?.length, 1) + 'ch'
154
212
  } else {
155
- input.style.width = "auto";
213
+ input.style.width = 'auto'
156
214
  }
157
215
  }
158
- import Chip from "../navigation/Chip.svelte";
159
- import Menu from "../common/Menu.svelte";
160
- import { createEventDispatcher } from "svelte";
161
- import SimpleTextField from "./SimpleTextField.svelte";
162
- import MenuOrDrawer from "../../composed/common/MenuOrDrawer.svelte";
216
+
217
+ import Chip from "../navigation/Chip.svelte";
218
+ import Menu from "../common/Menu.svelte";
219
+ import { createEventDispatcher, type ComponentProps } from "svelte";
220
+ import SimpleTextField from "./SimpleTextField.svelte";
221
+ import MenuOrDrawer from '../../composed/common/MenuOrDrawer.svelte';
163
222
  </script>
164
223
 
165
224
  <svelte:window />
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type Item = {
3
2
  value: string | number;
4
3
  label?: string | number;
@@ -8,84 +7,89 @@ import '../../../css/main.css';
8
7
  import './Autocomplete.css';
9
8
  import { type ComponentProps } from "svelte";
10
9
  import SimpleTextField from "./SimpleTextField.svelte";
11
- declare const __propDef: {
12
- props: {
13
- class?: {
14
- activator?: string | undefined;
15
- menu?: string | undefined;
16
- simpleTextfield?: ComponentProps<SimpleTextField>['class'];
17
- } | undefined;
18
- values?: Item[] | undefined;
19
- items: Item[];
20
- searchFunction?: ((item: Item, searchText: string | undefined) => boolean) | undefined;
21
- multiple?: boolean | undefined;
22
- disabled?: boolean | undefined;
23
- mandatory?: boolean | undefined;
24
- placeholder?: string | undefined;
25
- width?: string | undefined;
26
- height?: string | undefined;
27
- maxWidth?: string | undefined;
28
- minWidth?: string | undefined;
29
- openingId?: string | undefined;
30
- searchText?: string | undefined;
31
- maxVisibleChips?: number | undefined;
32
- menuOpened?: boolean | undefined;
33
- closeOnSelect?: boolean | undefined;
34
- emptySearchTextOnMenuClose?: boolean | undefined;
35
- menuBoxShadow?: string | undefined;
36
- menuBorderRadius?: string | undefined;
37
- mobileDrawer?: boolean | undefined;
38
- menuWidth?: string | undefined | null;
39
- menuAnchor?: "bottom" | "bottom-center" | "right-center" | 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;
40
20
  };
41
- events: {
42
- focus: FocusEvent;
43
- blur: FocusEvent;
44
- keydown: KeyboardEvent;
45
- close: CustomEvent<{}>;
46
- } & {
47
- [evt: string]: CustomEvent<any>;
21
+ z_$$bindings?: Bindings;
22
+ }
23
+ declare const Autocomplete: $$__sveltets_2_IsomorphicComponent<{
24
+ class?: {
25
+ activator?: string;
26
+ menu?: string;
27
+ simpleTextfield?: ComponentProps<SimpleTextField>["class"];
48
28
  };
49
- slots: {
50
- 'selection-container': {
51
- values: Item[];
52
- searchText: string | undefined;
53
- disabled: boolean;
54
- openMenu: () => void;
55
- handleKeyDown: (event: {
56
- key: string;
57
- }) => void;
58
- unselect: (item: Item) => void;
59
- select: (item: Item) => void;
60
- };
61
- selection: {
62
- selection: Item;
63
- unselect: (item: Item) => void;
64
- };
65
- 'chip-label': {
66
- selection: Item;
67
- };
68
- exceedCounter: {
69
- notVisibleChipNumber: number;
70
- maxVisibleChips: number | undefined;
71
- values: Item[];
72
- searchText: string | undefined;
73
- disabled: boolean;
74
- };
75
- menu: {};
76
- item: {
77
- item: Item;
78
- index: any;
79
- selected: boolean;
80
- };
81
- 'item-label': {
82
- item: Item;
83
- };
29
+ values?: Item[];
30
+ items: Item[];
31
+ searchFunction?: ((item: Item, searchText: string | undefined) => boolean) | undefined;
32
+ multiple?: boolean;
33
+ disabled?: boolean;
34
+ mandatory?: boolean;
35
+ placeholder?: string;
36
+ width?: string;
37
+ height?: string;
38
+ maxWidth?: string | undefined;
39
+ minWidth?: string | undefined;
40
+ openingId?: string;
41
+ searchText?: string | undefined;
42
+ maxVisibleChips?: number | undefined;
43
+ menuOpened?: boolean;
44
+ closeOnSelect?: boolean;
45
+ emptySearchTextOnMenuClose?: boolean;
46
+ menuBoxShadow?: string;
47
+ menuBorderRadius?: string;
48
+ mobileDrawer?: boolean;
49
+ menuWidth?: string | undefined | null;
50
+ menuAnchor?: "bottom" | "bottom-center" | "right-center" | undefined;
51
+ }, {
52
+ focus: FocusEvent;
53
+ blur: FocusEvent;
54
+ keydown: KeyboardEvent;
55
+ close: CustomEvent<{}>;
56
+ } & {
57
+ [evt: string]: CustomEvent<any>;
58
+ }, {
59
+ 'selection-container': {
60
+ values: Item[];
61
+ searchText: string | undefined;
62
+ disabled: boolean;
63
+ openMenu: () => void;
64
+ handleKeyDown: (event: {
65
+ key: string;
66
+ }) => void;
67
+ unselect: (item: Item) => void;
68
+ select: (item: Item) => void;
84
69
  };
85
- };
86
- export type AutocompleteProps = typeof __propDef.props;
87
- export type AutocompleteEvents = typeof __propDef.events;
88
- export type AutocompleteSlots = typeof __propDef.slots;
89
- export default class Autocomplete extends SvelteComponent<AutocompleteProps, AutocompleteEvents, AutocompleteSlots> {
90
- }
91
- export {};
70
+ selection: {
71
+ selection: Item;
72
+ unselect: (item: Item) => void;
73
+ };
74
+ 'chip-label': {
75
+ selection: Item;
76
+ };
77
+ exceedCounter: {
78
+ notVisibleChipNumber: number;
79
+ maxVisibleChips: number | undefined;
80
+ values: Item[];
81
+ searchText: string | undefined;
82
+ disabled: boolean;
83
+ };
84
+ menu: {};
85
+ item: {
86
+ item: Item;
87
+ index: any;
88
+ selected: boolean;
89
+ };
90
+ 'item-label': {
91
+ item: Item;
92
+ };
93
+ }, {}, string>;
94
+ type Autocomplete = InstanceType<typeof Autocomplete>;
95
+ export default Autocomplete;
@@ -1,29 +1,45 @@
1
- <script>import "./Checkbox.css";
2
- import "../../../css/main.css";
3
- import { createEventDispatcher, onMount } from "svelte";
4
- export let value = false, id = void 0, disabled = false;
5
- onMount(() => {
6
- window.addEventListener("keydown", handleKeyDown);
7
- window.addEventListener("keyup", handleKeyUp);
8
- return () => {
9
- window.removeEventListener("keydown", handleKeyDown);
10
- window.removeEventListener("keyup", handleKeyUp);
11
- };
12
- });
13
- function handleKeyDown(event) {
14
- if (event.key == "Shift") {
15
- shiftKeyPressed = true;
1
+ <script lang="ts">
2
+ import './Checkbox.css'
3
+ import '../../../css/main.css'
4
+ import { createEventDispatcher, onMount } from 'svelte';
5
+
6
+ export let value = false,
7
+ id: string | undefined = undefined,
8
+ disabled = false;
9
+
10
+ onMount(() => {
11
+ window.addEventListener('keydown', handleKeyDown)
12
+ window.addEventListener('keyup', handleKeyUp)
13
+
14
+ return () => {
15
+ window.removeEventListener('keydown', handleKeyDown)
16
+ window.removeEventListener('keyup', handleKeyUp)
17
+ }
18
+ })
19
+
20
+ function handleKeyDown(event: KeyboardEvent) {
21
+ if(event.key == 'Shift') {
22
+ shiftKeyPressed = true
23
+ }
16
24
  }
17
- }
18
- function handleKeyUp(event) {
19
- if (event.key == "Shift") {
20
- shiftKeyPressed = false;
25
+
26
+ function handleKeyUp(event: KeyboardEvent) {
27
+ if(event.key == 'Shift') {
28
+ shiftKeyPressed = false
29
+ }
30
+ }
31
+
32
+ let dispatch = createEventDispatcher<{
33
+ 'change': {
34
+ shiftKeyPressed: boolean,
35
+ nativeEvent: Event
36
+ }
37
+ }>(),
38
+ shiftKeyPressed: boolean = false
39
+
40
+ function handleChange(e: Event) {
41
+ dispatch('change', { shiftKeyPressed, nativeEvent: e })
21
42
  }
22
- }
23
- let dispatch = createEventDispatcher(), shiftKeyPressed = false;
24
- function handleChange(e) {
25
- dispatch("change", { shiftKeyPressed, nativeEvent: e });
26
- }
27
43
  </script>
28
44
 
29
45
  <input
@@ -1,26 +1,30 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import './Checkbox.css';
3
2
  import '../../../css/main.css';
4
- declare const __propDef: {
5
- props: {
6
- value?: boolean | undefined;
7
- id?: string | undefined;
8
- disabled?: boolean | 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;
9
13
  };
10
- events: {
11
- click: MouseEvent;
12
- change: CustomEvent<{
13
- shiftKeyPressed: boolean;
14
- nativeEvent: Event;
15
- }>;
16
- } & {
17
- [evt: string]: CustomEvent<any>;
18
- };
19
- slots: {};
20
- };
21
- export type CheckboxProps = typeof __propDef.props;
22
- export type CheckboxEvents = typeof __propDef.events;
23
- export type CheckboxSlots = typeof __propDef.slots;
24
- export default class Checkbox extends SvelteComponent<CheckboxProps, CheckboxEvents, CheckboxSlots> {
14
+ z_$$bindings?: Bindings;
25
15
  }
26
- export {};
16
+ declare const Checkbox: $$__sveltets_2_IsomorphicComponent<{
17
+ value?: boolean;
18
+ id?: string | undefined;
19
+ disabled?: boolean;
20
+ }, {
21
+ click: MouseEvent;
22
+ change: CustomEvent<{
23
+ shiftKeyPressed: boolean;
24
+ nativeEvent: Event;
25
+ }>;
26
+ } & {
27
+ [evt: string]: CustomEvent<any>;
28
+ }, {}, {}, string>;
29
+ type Checkbox = InstanceType<typeof Checkbox>;
30
+ export default Checkbox;