@likable-hair/svelte 3.3.28 → 3.3.30

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 +25 -35
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +25 -50
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +34 -40
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +21 -35
  7. package/dist/components/composed/common/QuickActions.svelte +29 -57
  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 +17 -35
  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.css +2 -0
  34. package/dist/components/composed/list/DynamicTable.svelte +1070 -1434
  35. package/dist/components/composed/list/DynamicTable.svelte.d.ts +366 -370
  36. package/dist/components/composed/list/PaginatedTable.svelte +81 -140
  37. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +110 -108
  38. package/dist/components/composed/progress/HorizontalStackedProgress.css +4 -0
  39. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +47 -63
  40. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +22 -25
  41. package/dist/components/composed/search/DynamicFilters.svelte +83 -105
  42. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +27 -31
  43. package/dist/components/composed/search/FilterEditor.svelte +80 -106
  44. package/dist/components/composed/search/FilterEditor.svelte.d.ts +33 -37
  45. package/dist/components/composed/search/Filters.svelte +294 -362
  46. package/dist/components/composed/search/Filters.svelte.d.ts +52 -56
  47. package/dist/components/composed/search/GlobalSearchTextField.svelte +41 -79
  48. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +39 -43
  49. package/dist/components/composed/search/MobileFilterEditor.svelte +93 -135
  50. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +35 -39
  51. package/dist/components/composed/search/SearchBar.svelte +5 -28
  52. package/dist/components/composed/search/SearchBar.svelte.d.ts +30 -34
  53. package/dist/components/composed/search/SearchResults.svelte +7 -42
  54. package/dist/components/composed/search/SearchResults.svelte.d.ts +36 -40
  55. package/dist/components/composed/shop/ProductCard.svelte +4 -18
  56. package/dist/components/composed/shop/ProductCard.svelte.d.ts +28 -32
  57. package/dist/components/composed/shop/ProductsGrid.svelte +2 -22
  58. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +40 -44
  59. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +29 -55
  60. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +54 -85
  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 +303 -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/dashboards/DashboardGridShaper.svelte +26 -32
  96. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +12 -16
  97. package/dist/components/simple/dates/Calendar.svelte +28 -52
  98. package/dist/components/simple/dates/Calendar.svelte.d.ts +41 -45
  99. package/dist/components/simple/dates/DatePicker.svelte +60 -90
  100. package/dist/components/simple/dates/DatePicker.svelte.d.ts +40 -44
  101. package/dist/components/simple/dates/MonthSelector.svelte +15 -37
  102. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +31 -35
  103. package/dist/components/simple/dates/TimePicker.svelte +31 -45
  104. package/dist/components/simple/dates/TimePicker.svelte.d.ts +20 -24
  105. package/dist/components/simple/dates/TimePickerTextField.svelte +35 -56
  106. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +24 -28
  107. package/dist/components/simple/dates/YearSelector.svelte +29 -54
  108. package/dist/components/simple/dates/YearSelector.svelte.d.ts +31 -35
  109. package/dist/components/simple/dialogs/Dialog.svelte +62 -92
  110. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +28 -42
  111. package/dist/components/simple/forms/Autocomplete.svelte +150 -207
  112. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -83
  113. package/dist/components/simple/forms/Checkbox.svelte +25 -40
  114. package/dist/components/simple/forms/Checkbox.svelte.d.ts +22 -25
  115. package/dist/components/simple/forms/FileInput.svelte +48 -88
  116. package/dist/components/simple/forms/FileInput.svelte.d.ts +33 -37
  117. package/dist/components/simple/forms/FileInputList.svelte +37 -62
  118. package/dist/components/simple/forms/FileInputList.svelte.d.ts +35 -39
  119. package/dist/components/simple/forms/RadioButton.svelte +3 -11
  120. package/dist/components/simple/forms/RadioButton.svelte.d.ts +27 -31
  121. package/dist/components/simple/forms/Select.svelte +3 -16
  122. package/dist/components/simple/forms/Select.svelte.d.ts +20 -24
  123. package/dist/components/simple/forms/SimpleTextField.svelte +6 -53
  124. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +60 -64
  125. package/dist/components/simple/forms/Switch.svelte +16 -30
  126. package/dist/components/simple/forms/Switch.svelte.d.ts +21 -25
  127. package/dist/components/simple/forms/Textarea.svelte +2 -27
  128. package/dist/components/simple/forms/Textarea.svelte.d.ts +37 -41
  129. package/dist/components/simple/forms/Textfield.svelte +18 -56
  130. package/dist/components/simple/forms/Textfield.svelte.d.ts +51 -55
  131. package/dist/components/simple/forms/TreeEditor.svelte +95 -141
  132. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +38 -42
  133. package/dist/components/simple/forms/TreeEditorItem.svelte +42 -77
  134. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +50 -54
  135. package/dist/components/simple/forms/VerticalSwitch.svelte +1 -11
  136. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +28 -32
  137. package/dist/components/simple/forms/VerticalTextSwitch.svelte +3 -15
  138. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +26 -30
  139. package/dist/components/simple/lists/ColorInvertedSelector.svelte +23 -53
  140. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +42 -46
  141. package/dist/components/simple/lists/HierarchyMenu.svelte +19 -38
  142. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +30 -34
  143. package/dist/components/simple/lists/Paginator.svelte +41 -50
  144. package/dist/components/simple/lists/Paginator.svelte.d.ts +19 -23
  145. package/dist/components/simple/lists/SelectableMenuList.svelte +15 -43
  146. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +20 -24
  147. package/dist/components/simple/lists/SelectableVerticalList.svelte +59 -100
  148. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +47 -51
  149. package/dist/components/simple/lists/SidebarMenuList.svelte +71 -116
  150. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +22 -26
  151. package/dist/components/simple/lists/SimpleTable.svelte +154 -264
  152. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +66 -70
  153. package/dist/components/simple/loaders/CircularLoader.svelte +5 -16
  154. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +15 -19
  155. package/dist/components/simple/loaders/Skeleton.svelte +2 -3
  156. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +12 -16
  157. package/dist/components/simple/media/AttachmentDownloader.svelte +3 -17
  158. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +28 -32
  159. package/dist/components/simple/media/Avatar.svelte +12 -18
  160. package/dist/components/simple/media/Avatar.svelte.d.ts +20 -31
  161. package/dist/components/simple/media/Carousel.svelte +11 -29
  162. package/dist/components/simple/media/Carousel.svelte.d.ts +24 -28
  163. package/dist/components/simple/media/DescriptiveAvatar.svelte +4 -12
  164. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +28 -44
  165. package/dist/components/simple/media/FlagIcon.svelte +5 -8
  166. package/dist/components/simple/media/FlagIcon.svelte.d.ts +15 -19
  167. package/dist/components/simple/media/Gallery.svelte +29 -49
  168. package/dist/components/simple/media/Gallery.svelte.d.ts +23 -27
  169. package/dist/components/simple/media/Icon.svelte +4 -9
  170. package/dist/components/simple/media/Icon.svelte.d.ts +20 -24
  171. package/dist/components/simple/media/Image.svelte +20 -42
  172. package/dist/components/simple/media/Image.svelte.d.ts +33 -44
  173. package/dist/components/simple/media/ImageGrid.svelte +12 -37
  174. package/dist/components/simple/media/ImageGrid.svelte.d.ts +28 -32
  175. package/dist/components/simple/navigation/Breadcrumb.svelte +10 -28
  176. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +22 -26
  177. package/dist/components/simple/navigation/Chip.svelte +23 -44
  178. package/dist/components/simple/navigation/Chip.svelte.d.ts +31 -42
  179. package/dist/components/simple/navigation/Drawer.svelte +65 -107
  180. package/dist/components/simple/navigation/Drawer.svelte.d.ts +37 -50
  181. package/dist/components/simple/navigation/HeaderMenu.svelte +23 -40
  182. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +35 -39
  183. package/dist/components/simple/navigation/Navigator.svelte +8 -30
  184. package/dist/components/simple/navigation/Navigator.svelte.d.ts +24 -28
  185. package/dist/components/simple/navigation/TabSwitcher.svelte +47 -83
  186. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +34 -38
  187. package/dist/components/simple/notifiers/AlertBanner.css +1 -0
  188. package/dist/components/simple/notifiers/AlertBanner.svelte +20 -48
  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,224 +1,165 @@
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);
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];
81
19
  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
-
96
20
  dispatch("change", {
97
- unselect: poppedElement,
98
- select: undefined,
99
- selection: values,
21
+ unselect: void 0,
22
+ select: item,
23
+ selection: values
100
24
  });
101
25
  }
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() {
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";
121
72
  setTimeout(() => {
122
- if(menuWidth !== undefined) localMenuWidth = menuWidth
123
- else localMenuWidth = activator.offsetWidth + "px"
124
-
125
- setTimeout(() => {
126
- refreshPosition = true;
127
- }, 1);
73
+ refreshPosition = true;
128
74
  }, 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;
129
109
  }
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()
141
- }
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
- }
110
+ if (focusedIndex !== void 0 && !!menuElement) {
111
+ let child = menuElement.querySelector(".item-" + focusedIndex);
112
+ if (!!child)
113
+ scrollInMenu(menuElement, child, "instant");
174
114
  }
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
- }
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);
188
126
  }
189
-
190
- let filteredItems: Item[] = items;
191
- $: if (searchText) {
192
- focusedIndex = undefined;
127
+ }
128
+ let filteredItems = items;
129
+ $:
130
+ if (searchText) {
131
+ focusedIndex = void 0;
193
132
  filteredItems = items.filter((it) => {
194
- if (searchFunction) return searchFunction(it, searchText);
195
- else return !!searchText && it.label?.toString().toLowerCase().includes((searchText).toLowerCase());
133
+ if (searchFunction)
134
+ return searchFunction(it, searchText);
135
+ else
136
+ return !!searchText && it.label?.toString().toLowerCase().includes(searchText.toLowerCase());
196
137
  });
197
138
  } else {
198
139
  filteredItems = items;
199
140
  }
200
-
201
- $: notVisibleChipNumber = Math.max((values?.length || 0) - (maxVisibleChips || 0), 0)
202
-
203
- $: if(!menuOpened && emptySearchTextOnMenuClose) {
141
+ $:
142
+ notVisibleChipNumber = Math.max((values?.length || 0) - (maxVisibleChips || 0), 0);
143
+ $:
144
+ if (!menuOpened && emptySearchTextOnMenuClose) {
204
145
  setTimeout(() => {
205
- if(!menuOpened && emptySearchTextOnMenuClose) searchText = undefined
146
+ if (!menuOpened && emptySearchTextOnMenuClose)
147
+ searchText = void 0;
206
148
  }, 10);
207
149
  }
208
-
209
- $: if(!!input) {
210
- if(!disabled && values.length != 0) {
211
- input.style.width = Math.max(searchText?.length || placeholder?.length, 1) + 'ch'
150
+ $:
151
+ if (!!input) {
152
+ if (!disabled && values.length != 0) {
153
+ input.style.width = Math.max(searchText?.length || placeholder?.length, 1) + "ch";
212
154
  } else {
213
- input.style.width = 'auto'
155
+ input.style.width = "auto";
214
156
  }
215
157
  }
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';
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";
222
163
  </script>
223
164
 
224
165
  <svelte:window />
@@ -334,12 +275,14 @@
334
275
  </Menu>
335
276
  {:else}
336
277
  <MenuOrDrawer
337
- {activator}
338
- _width={localMenuWidth || ""}
339
- _height={menuHeight}
340
- _maxHeight="300px"
341
- _boxShadow={menuBoxShadow}
342
- _borderRadius={menuBorderRadius}
278
+ menuProps={{
279
+ activator,
280
+ _width: localMenuWidth || "",
281
+ _height: menuHeight,
282
+ _maxHeight: "300px",
283
+ _boxShadow: menuBoxShadow,
284
+ _borderRadius: menuBorderRadius,
285
+ }}
343
286
  bind:open={menuOpened}
344
287
  on:close
345
288
  >
@@ -1,3 +1,4 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  export type Item = {
2
3
  value: string | number;
3
4
  label?: string | number;
@@ -7,89 +8,84 @@ import '../../../css/main.css';
7
8
  import './Autocomplete.css';
8
9
  import { type ComponentProps } from "svelte";
9
10
  import SimpleTextField from "./SimpleTextField.svelte";
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;
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;
20
40
  };
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"];
28
- };
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;
69
- };
70
- selection: {
71
- selection: Item;
72
- unselect: (item: Item) => void;
73
- };
74
- 'chip-label': {
75
- selection: Item;
41
+ events: {
42
+ focus: FocusEvent;
43
+ blur: FocusEvent;
44
+ keydown: KeyboardEvent;
45
+ close: CustomEvent<{}>;
46
+ } & {
47
+ [evt: string]: CustomEvent<any>;
76
48
  };
77
- exceedCounter: {
78
- notVisibleChipNumber: number;
79
- maxVisibleChips: number | undefined;
80
- values: Item[];
81
- searchText: string | undefined;
82
- disabled: boolean;
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
+ };
83
84
  };
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;
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 {};
@@ -1,45 +1,29 @@
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
- }
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;
24
16
  }
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 })
17
+ }
18
+ function handleKeyUp(event) {
19
+ if (event.key == "Shift") {
20
+ shiftKeyPressed = false;
42
21
  }
22
+ }
23
+ let dispatch = createEventDispatcher(), shiftKeyPressed = false;
24
+ function handleChange(e) {
25
+ dispatch("change", { shiftKeyPressed, nativeEvent: e });
26
+ }
43
27
  </script>
44
28
 
45
29
  <input
@@ -48,6 +32,7 @@
48
32
  bind:checked={value}
49
33
  on:change={handleChange}
50
34
  {disabled}
35
+ on:click
51
36
  />
52
37
 
53
38
  <style>