@likable-hair/svelte 3.3.21 → 3.3.22

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 +6 -2
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +36 -32
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +21 -5
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +50 -36
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +29 -13
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +34 -30
  7. package/dist/components/composed/common/QuickActions.svelte +52 -20
  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.svelte +1102 -707
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +369 -365
  35. package/dist/components/composed/list/PaginatedTable.svelte +139 -76
  36. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +108 -108
  37. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +58 -30
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +25 -21
  39. package/dist/components/composed/search/DynamicFilters.svelte +103 -82
  40. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +31 -27
  41. package/dist/components/composed/search/FilterEditor.svelte +106 -77
  42. package/dist/components/composed/search/FilterEditor.svelte.d.ts +37 -33
  43. package/dist/components/composed/search/Filters.svelte +361 -292
  44. package/dist/components/composed/search/Filters.svelte.d.ts +55 -51
  45. package/dist/components/composed/search/GlobalSearchTextField.svelte +79 -41
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +43 -39
  47. package/dist/components/composed/search/MobileFilterEditor.svelte +135 -93
  48. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +39 -35
  49. package/dist/components/composed/search/SearchBar.svelte +28 -5
  50. package/dist/components/composed/search/SearchBar.svelte.d.ts +34 -30
  51. package/dist/components/composed/search/SearchResults.svelte +42 -7
  52. package/dist/components/composed/search/SearchResults.svelte.d.ts +40 -36
  53. package/dist/components/composed/shop/ProductCard.svelte +18 -4
  54. package/dist/components/composed/shop/ProductCard.svelte.d.ts +32 -28
  55. package/dist/components/composed/shop/ProductsGrid.svelte +22 -2
  56. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +44 -40
  57. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +77 -38
  58. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +109 -69
  59. package/dist/components/layouts/StableDividedSideBarLayout.svelte +47 -17
  60. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +50 -32
  61. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +53 -30
  62. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +103 -63
  63. package/dist/components/simple/buttons/Button.svelte +78 -32
  64. package/dist/components/simple/buttons/Button.svelte.d.ts +47 -35
  65. package/dist/components/simple/buttons/LinkButton.svelte +54 -22
  66. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +50 -33
  67. package/dist/components/simple/charts/GanymedeBarChart.svelte +172 -134
  68. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +50 -46
  69. package/dist/components/simple/charts/GanymedeLineChart.svelte +157 -115
  70. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +51 -47
  71. package/dist/components/simple/charts/GanymedePieChart.svelte +62 -39
  72. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +37 -33
  73. package/dist/components/simple/common/Card.svelte +20 -1
  74. package/dist/components/simple/common/Card.svelte.d.ts +51 -38
  75. package/dist/components/simple/common/CollapsibleDivider.svelte +23 -11
  76. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +29 -25
  77. package/dist/components/simple/common/Divider.svelte +8 -2
  78. package/dist/components/simple/common/Divider.svelte.d.ts +23 -19
  79. package/dist/components/simple/common/Gesture.svelte +64 -46
  80. package/dist/components/simple/common/Gesture.svelte.d.ts +21 -17
  81. package/dist/components/simple/common/InfiniteScroll.svelte +52 -29
  82. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +24 -20
  83. package/dist/components/simple/common/IntersectionObserver.svelte +45 -32
  84. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +34 -21
  85. package/dist/components/simple/common/MediaQuery.svelte +30 -21
  86. package/dist/components/simple/common/MediaQuery.svelte.d.ts +34 -30
  87. package/dist/components/simple/common/Menu.svelte +290 -201
  88. package/dist/components/simple/common/Menu.svelte.d.ts +51 -40
  89. package/dist/components/simple/common/Playground.svelte +18 -17
  90. package/dist/components/simple/common/Playground.svelte.d.ts +19 -15
  91. package/dist/components/simple/common/VerticalDraggableList.svelte +35 -16
  92. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +33 -29
  93. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +32 -26
  94. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +16 -12
  95. package/dist/components/simple/dates/Calendar.svelte +52 -28
  96. package/dist/components/simple/dates/Calendar.svelte.d.ts +45 -41
  97. package/dist/components/simple/dates/DatePicker.svelte +90 -60
  98. package/dist/components/simple/dates/DatePicker.svelte.d.ts +44 -40
  99. package/dist/components/simple/dates/MonthSelector.svelte +37 -15
  100. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +35 -31
  101. package/dist/components/simple/dates/TimePicker.svelte +45 -31
  102. package/dist/components/simple/dates/TimePicker.svelte.d.ts +24 -20
  103. package/dist/components/simple/dates/TimePickerTextField.svelte +56 -35
  104. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +28 -24
  105. package/dist/components/simple/dates/YearSelector.svelte +54 -29
  106. package/dist/components/simple/dates/YearSelector.svelte.d.ts +35 -31
  107. package/dist/components/simple/dialogs/Dialog.svelte +92 -62
  108. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +42 -28
  109. package/dist/components/simple/forms/Autocomplete.svelte +201 -142
  110. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +83 -79
  111. package/dist/components/simple/forms/Checkbox.svelte +40 -24
  112. package/dist/components/simple/forms/Checkbox.svelte.d.ts +25 -21
  113. package/dist/components/simple/forms/FileInput.svelte +88 -48
  114. package/dist/components/simple/forms/FileInput.svelte.d.ts +37 -33
  115. package/dist/components/simple/forms/FileInputList.svelte +52 -34
  116. package/dist/components/simple/forms/FileInputList.svelte.d.ts +43 -39
  117. package/dist/components/simple/forms/RadioButton.svelte +11 -3
  118. package/dist/components/simple/forms/RadioButton.svelte.d.ts +31 -27
  119. package/dist/components/simple/forms/Select.svelte +16 -3
  120. package/dist/components/simple/forms/Select.svelte.d.ts +24 -20
  121. package/dist/components/simple/forms/SimpleTextField.svelte +53 -6
  122. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +64 -60
  123. package/dist/components/simple/forms/Switch.svelte +30 -16
  124. package/dist/components/simple/forms/Switch.svelte.d.ts +25 -21
  125. package/dist/components/simple/forms/Textarea.svelte +27 -2
  126. package/dist/components/simple/forms/Textarea.svelte.d.ts +41 -37
  127. package/dist/components/simple/forms/Textfield.svelte +56 -18
  128. package/dist/components/simple/forms/Textfield.svelte.d.ts +55 -51
  129. package/dist/components/simple/forms/TreeEditor.svelte +141 -95
  130. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +42 -38
  131. package/dist/components/simple/forms/TreeEditorItem.svelte +77 -42
  132. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +54 -50
  133. package/dist/components/simple/forms/VerticalSwitch.svelte +11 -1
  134. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +32 -28
  135. package/dist/components/simple/forms/VerticalTextSwitch.svelte +15 -3
  136. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +30 -26
  137. package/dist/components/simple/lists/ColorInvertedSelector.svelte +53 -23
  138. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +46 -42
  139. package/dist/components/simple/lists/HierarchyMenu.svelte +38 -19
  140. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +34 -30
  141. package/dist/components/simple/lists/Paginator.svelte +50 -41
  142. package/dist/components/simple/lists/Paginator.svelte.d.ts +23 -19
  143. package/dist/components/simple/lists/SelectableMenuList.svelte +43 -15
  144. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +24 -20
  145. package/dist/components/simple/lists/SelectableVerticalList.svelte +99 -57
  146. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +51 -47
  147. package/dist/components/simple/lists/SidebarMenuList.svelte +115 -70
  148. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +26 -22
  149. package/dist/components/simple/lists/SimpleTable.svelte +264 -154
  150. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +70 -66
  151. package/dist/components/simple/loaders/CircularLoader.svelte +16 -5
  152. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +19 -15
  153. package/dist/components/simple/loaders/Skeleton.svelte +3 -2
  154. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +16 -12
  155. package/dist/components/simple/media/AttachmentDownloader.svelte +17 -3
  156. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +32 -28
  157. package/dist/components/simple/media/Avatar.svelte +18 -12
  158. package/dist/components/simple/media/Avatar.svelte.d.ts +31 -20
  159. package/dist/components/simple/media/Carousel.svelte +29 -11
  160. package/dist/components/simple/media/Carousel.svelte.d.ts +28 -24
  161. package/dist/components/simple/media/DescriptiveAvatar.svelte +12 -4
  162. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +44 -28
  163. package/dist/components/simple/media/FlagIcon.svelte +8 -5
  164. package/dist/components/simple/media/FlagIcon.svelte.d.ts +19 -15
  165. package/dist/components/simple/media/Gallery.svelte +49 -29
  166. package/dist/components/simple/media/Gallery.svelte.d.ts +27 -23
  167. package/dist/components/simple/media/Icon.svelte +9 -4
  168. package/dist/components/simple/media/Icon.svelte.d.ts +24 -20
  169. package/dist/components/simple/media/Image.svelte +42 -20
  170. package/dist/components/simple/media/Image.svelte.d.ts +44 -33
  171. package/dist/components/simple/media/ImageGrid.svelte +37 -12
  172. package/dist/components/simple/media/ImageGrid.svelte.d.ts +32 -28
  173. package/dist/components/simple/navigation/Breadcrumb.svelte +28 -10
  174. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +26 -22
  175. package/dist/components/simple/navigation/Chip.svelte +44 -23
  176. package/dist/components/simple/navigation/Chip.svelte.d.ts +42 -31
  177. package/dist/components/simple/navigation/Drawer.svelte +107 -65
  178. package/dist/components/simple/navigation/Drawer.svelte.d.ts +50 -37
  179. package/dist/components/simple/navigation/HeaderMenu.svelte +40 -23
  180. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +39 -35
  181. package/dist/components/simple/navigation/Navigator.svelte +30 -8
  182. package/dist/components/simple/navigation/Navigator.svelte.d.ts +28 -24
  183. package/dist/components/simple/navigation/TabSwitcher.svelte +83 -47
  184. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +38 -34
  185. package/dist/components/simple/notifiers/AlertBanner.svelte +43 -15
  186. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +41 -37
  187. package/dist/components/simple/progress/ProgressBar.svelte +20 -13
  188. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +21 -17
  189. package/dist/components/simple/timeline/SimpleTimeLine.svelte +19 -5
  190. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +39 -35
  191. package/dist/components/simple/typography/Code.svelte +27 -12
  192. package/dist/components/simple/typography/Code.svelte.d.ts +28 -24
  193. package/dist/stores/debounce.d.ts +0 -1
  194. package/dist/stores/layouts/unstableSidebarOpened.d.ts +0 -1
  195. package/dist/stores/mediaQuery.d.ts +0 -1
  196. package/dist/stores/theme.d.ts +0 -1
  197. package/dist/utils/filters/builder.d.ts +2 -0
  198. package/dist/utils/filters/builder.js +20 -0
  199. package/dist/utils/filters/modifiers/where.d.ts +10 -3
  200. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
3
2
  export type LabelMapper = {
4
3
  [label: string]: {
@@ -10,56 +9,61 @@ import './Filters.css';
10
9
  import '../../../css/main.css';
11
10
  import { type DateMode, type Filter, type NumberMode, type SelectMode, type StringMode } from '../../../utils/filters/filters';
12
11
  import type { Locale } from '../../simple/dates/utils';
13
- declare const __propDef: {
14
- props: {
15
- filters?: Filter[] | undefined;
16
- lang?: "it" | "en" | undefined;
17
- addFilterLabel?: string | undefined;
18
- cancelFilterLabel?: string | undefined;
19
- applyFilterLabel?: string | undefined;
20
- showActiveFilters?: boolean | undefined;
21
- filterTitleLabel?: string | undefined;
22
- dateLocale?: Locale | undefined;
23
- betweenSeparator?: string | undefined;
24
- trueString?: string | undefined;
25
- falseString?: string | undefined;
26
- editFilterMode?: "one-edit" | "multi-edit" | undefined;
27
- labelsMapper?: LabelMapper | undefined;
12
+ 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> {
13
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
14
+ $$bindings?: Bindings;
15
+ } & Exports;
16
+ (internal: unknown, props: Props & {
17
+ $$events?: Events;
18
+ $$slots?: Slots;
19
+ }): Exports & {
20
+ $set?: any;
21
+ $on?: any;
28
22
  };
29
- events: {
30
- click: MouseEvent;
31
- keydown: KeyboardEvent;
32
- addFilterClick: CustomEvent<undefined>;
33
- applyFilter: CustomEvent<undefined>;
34
- removeFilter: CustomEvent<{
35
- filter: Filter;
36
- }>;
37
- removeAllFilters: CustomEvent<undefined>;
38
- } & {
39
- [evt: string]: CustomEvent<any>;
23
+ z_$$bindings?: Bindings;
24
+ }
25
+ declare const Filters: $$__sveltets_2_IsomorphicComponent<{
26
+ filters?: Filter[];
27
+ lang?: "it" | "en";
28
+ addFilterLabel?: string;
29
+ cancelFilterLabel?: string;
30
+ applyFilterLabel?: string;
31
+ showActiveFilters?: boolean;
32
+ filterTitleLabel?: string;
33
+ dateLocale?: Locale;
34
+ betweenSeparator?: string;
35
+ trueString?: string;
36
+ falseString?: string;
37
+ editFilterMode?: "one-edit" | "multi-edit";
38
+ labelsMapper?: LabelMapper;
39
+ }, {
40
+ click: MouseEvent;
41
+ keydown: KeyboardEvent;
42
+ addFilterClick: CustomEvent<undefined>;
43
+ applyFilter: CustomEvent<undefined>;
44
+ removeFilter: CustomEvent<{
45
+ filter: Filter;
46
+ }>;
47
+ removeAllFilters: CustomEvent<undefined>;
48
+ } & {
49
+ [evt: string]: CustomEvent<any>;
50
+ }, {
51
+ 'custom-chip': {
52
+ filter: Filter;
40
53
  };
41
- slots: {
42
- 'custom-chip': {
43
- filter: Filter;
44
- };
45
- append: {};
46
- custom: {
47
- slot: string;
48
- updateFunction: (filterName: string, newValue: any, newValid: boolean) => void;
49
- mAndDown: boolean;
50
- filter: Filter;
51
- };
52
- content: {
53
- mAndDown: boolean;
54
- updateMultiFilterValues: (filterName: string, newValue: any, newValid: boolean, mode?: NumberMode | StringMode | SelectMode | DateMode) => void;
55
- handleRemoveAllFilters: (e?: MouseEvent) => void;
56
- filters: Filter[];
57
- };
54
+ append: {};
55
+ custom: {
56
+ slot: string;
57
+ updateFunction: (filterName: string, newValue: any, newValid: boolean) => void;
58
+ mAndDown: boolean;
59
+ filter: Filter;
58
60
  };
59
- };
60
- export type FiltersProps = typeof __propDef.props;
61
- export type FiltersEvents = typeof __propDef.events;
62
- export type FiltersSlots = typeof __propDef.slots;
63
- export default class Filters extends SvelteComponent<FiltersProps, FiltersEvents, FiltersSlots> {
64
- }
65
- export {};
61
+ content: {
62
+ mAndDown: boolean;
63
+ updateMultiFilterValues: (filterName: string, newValue: any, newValid: boolean, mode?: NumberMode | StringMode | SelectMode | DateMode) => void;
64
+ handleRemoveAllFilters: (e?: MouseEvent) => void;
65
+ filters: Filter[];
66
+ };
67
+ }, {}, string>;
68
+ type Filters = InstanceType<typeof Filters>;
69
+ export default Filters;
@@ -1,45 +1,83 @@
1
- <script>import "../../../css/main.css";
2
- import "./GlobalSearchTextField.css";
3
- import Dialog from "../../simple/dialogs/Dialog.svelte";
4
- import { createEventDispatcher, onMount } from "svelte";
5
- import SearchBar from "./SearchBar.svelte";
6
- import Keyboarder, {} from "../../../utils/keyboarder";
7
- import SearchResults, {} from "./SearchResults.svelte";
8
- let clazz = {};
9
- export { clazz as class };
10
- export let searchButtonText = "Search", searchDialogOpened = false, transitionDuration = ".8s", searcher = () => Promise.resolve([]);
11
- let searchBarInput, searchText = void 0, searchResults = void 0, searchLoading = false, searchBarFocused = false;
12
- let dispatch = createEventDispatcher();
13
- onMount(() => {
14
- let handler = (params) => {
15
- if ((params.meta || params.ctrl) && params.key == "k") {
16
- toggleSearchDialog();
1
+ <script lang="ts">
2
+ import '../../../css/main.css'
3
+ import './GlobalSearchTextField.css'
4
+ import Dialog from '../../simple/dialogs/Dialog.svelte'
5
+ import { createEventDispatcher, onMount } from 'svelte';
6
+ import SearchBar from './SearchBar.svelte';
7
+ import Keyboarder, { type CallbackFunction } from '../../../utils/keyboarder';
8
+ import SearchResults, { type Result } from './SearchResults.svelte';
9
+
10
+ let clazz: {
11
+ container?: string,
12
+ button?: string,
13
+ shortcut?: string
14
+ } = {};
15
+ export { clazz as class };
16
+
17
+ /*
18
+ Styles:
19
+
20
+ --global-search-text-field-ring-color
21
+ --global-search-text-field-hover-ring-color
22
+ --global-search-text-field-color
23
+ --global-search-text-field-width
24
+ --global-search-text-field-max-width
25
+ --global-search-text-field-height
26
+ --global-search-text-field-background-color
27
+ --global-search-text-field-padding
28
+ --global-search-text-field-font-size
29
+ */
30
+
31
+ export let searchButtonText: string = "Search",
32
+ searchDialogOpened: boolean = false,
33
+ transitionDuration: string = ".8s",
34
+ searcher: (params: { searchText: string }) => Promise<Result[] | undefined> = () => Promise.resolve([])
35
+
36
+ let searchBarInput: HTMLElement,
37
+ searchText: string | undefined = undefined,
38
+ searchResults: Result[] | undefined = undefined,
39
+ searchLoading: boolean = false,
40
+ searchBarFocused: boolean = false
41
+
42
+ let dispatch = createEventDispatcher<{
43
+ 'toggle-search-dialog': {
44
+ opened: boolean
45
+ }
46
+ }>()
47
+
48
+ onMount(() => {
49
+ let handler: CallbackFunction = (params) => {
50
+ if((params.meta || params.ctrl) && params.key == 'k') {
51
+ toggleSearchDialog()
52
+ }
53
+ }
54
+
55
+ Keyboarder.on(handler)
56
+
57
+ return () => {
58
+ Keyboarder.off(handler)
59
+ }
60
+ })
61
+
62
+ function handleKeydown(event: KeyboardEvent) {
63
+ if(event.key == 'ArrowDown' || event.key == 'ArrowUp') event.preventDefault()
64
+ }
65
+
66
+ function toggleSearchDialog() {
67
+ searchDialogOpened = !searchDialogOpened
68
+ if(searchDialogOpened) searchBarInput.focus()
69
+ dispatch('toggle-search-dialog', { opened: searchDialogOpened })
70
+ }
71
+
72
+ async function search() {
73
+ if(!!searchText) {
74
+ searchLoading = true
75
+ searchResults = await searcher({
76
+ searchText
77
+ })
78
+ searchLoading = false
79
+ }
17
80
  }
18
- };
19
- Keyboarder.on(handler);
20
- return () => {
21
- Keyboarder.off(handler);
22
- };
23
- });
24
- function handleKeydown(event) {
25
- if (event.key == "ArrowDown" || event.key == "ArrowUp")
26
- event.preventDefault();
27
- }
28
- function toggleSearchDialog() {
29
- searchDialogOpened = !searchDialogOpened;
30
- if (searchDialogOpened)
31
- searchBarInput.focus();
32
- dispatch("toggle-search-dialog", { opened: searchDialogOpened });
33
- }
34
- async function search() {
35
- if (!!searchText) {
36
- searchLoading = true;
37
- searchResults = await searcher({
38
- searchText
39
- });
40
- searchLoading = false;
41
- }
42
- }
43
81
  </script>
44
82
 
45
83
  <div class={clazz.container || ''}>
@@ -1,45 +1,49 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import '../../../css/main.css';
3
2
  import './GlobalSearchTextField.css';
4
3
  import { type Result } from './SearchResults.svelte';
5
- declare const __propDef: {
6
- props: {
7
- class?: {
8
- container?: string | undefined;
9
- button?: string | undefined;
10
- shortcut?: string | undefined;
11
- } | undefined;
12
- searchButtonText?: string | undefined;
13
- searchDialogOpened?: boolean | undefined;
14
- transitionDuration?: string | undefined;
15
- searcher?: ((params: {
16
- searchText: string;
17
- }) => Promise<Result[] | undefined>) | undefined;
4
+ 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> {
5
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
6
+ $$bindings?: Bindings;
7
+ } & Exports;
8
+ (internal: unknown, props: Props & {
9
+ $$events?: Events;
10
+ $$slots?: Slots;
11
+ }): Exports & {
12
+ $set?: any;
13
+ $on?: any;
18
14
  };
19
- events: {
20
- select: CustomEvent<{
21
- element: import("../../simple/lists/SelectableVerticalList.svelte").Element;
22
- }>;
23
- 'toggle-search-dialog': CustomEvent<{
24
- opened: boolean;
25
- }>;
26
- } & {
27
- [evt: string]: CustomEvent<any>;
15
+ z_$$bindings?: Bindings;
16
+ }
17
+ declare const GlobalSearchTextField: $$__sveltets_2_IsomorphicComponent<{
18
+ class?: {
19
+ container?: string;
20
+ button?: string;
21
+ shortcut?: string;
28
22
  };
29
- slots: {
30
- 'search-button': {
31
- toggleSearchDialog: () => void;
32
- };
33
- 'search-button-icon': {};
34
- 'search-button-text': {};
35
- 'search-button-shortcut': {};
36
- 'search-bar': {};
37
- 'search-results': {};
23
+ searchButtonText?: string;
24
+ searchDialogOpened?: boolean;
25
+ transitionDuration?: string;
26
+ searcher?: (params: {
27
+ searchText: string;
28
+ }) => Promise<Result[] | undefined>;
29
+ }, {
30
+ select: CustomEvent<{
31
+ element: import("../../simple/lists/SelectableVerticalList.svelte").Element;
32
+ }>;
33
+ 'toggle-search-dialog': CustomEvent<{
34
+ opened: boolean;
35
+ }>;
36
+ } & {
37
+ [evt: string]: CustomEvent<any>;
38
+ }, {
39
+ 'search-button': {
40
+ toggleSearchDialog: () => void;
38
41
  };
39
- };
40
- export type GlobalSearchTextFieldProps = typeof __propDef.props;
41
- export type GlobalSearchTextFieldEvents = typeof __propDef.events;
42
- export type GlobalSearchTextFieldSlots = typeof __propDef.slots;
43
- export default class GlobalSearchTextField extends SvelteComponent<GlobalSearchTextFieldProps, GlobalSearchTextFieldEvents, GlobalSearchTextFieldSlots> {
44
- }
45
- export {};
42
+ 'search-button-icon': {};
43
+ 'search-button-text': {};
44
+ 'search-button-shortcut': {};
45
+ 'search-bar': {};
46
+ 'search-results': {};
47
+ }, {}, string>;
48
+ type GlobalSearchTextField = InstanceType<typeof GlobalSearchTextField>;
49
+ export default GlobalSearchTextField;
@@ -1,116 +1,158 @@
1
- <script>import { GENERIC_MODES, SELECT_MODES, STRING_MODES } from "../../../utils/filters/filters";
2
- import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
3
- import DatePickerTextField from "../forms/DatePickerTextField.svelte";
4
- import Button from "../../simple/buttons/Button.svelte";
5
- import { createEventDispatcher } from "svelte";
6
- import Validator from "../../../utils/filters/validator";
7
- import SelectableVerticalList, {} from "../../simple/lists/SelectableVerticalList.svelte";
8
- import Icon from "../../simple/media/Icon.svelte";
9
- import { fly } from "svelte/transition";
10
- import Autocomplete from "../../simple/forms/Autocomplete.svelte";
11
- import Checkbox from "../../simple/forms/Checkbox.svelte";
12
- import ToggleList from "../forms/ToggleList.svelte";
13
- export let filter = void 0, lang = "en", backIcon = "mdi-arrow-left", betweenFromLabel = lang == "en" ? "From" : "Da", betweenToLabel = lang == "en" ? "To" : "A", labelsMapper, forceApplyValid = false, tmpFilter = void 0;
14
- let dispatch = createEventDispatcher();
15
- let step;
16
- function initTmpFilter() {
17
- tmpFilter = filter === void 0 ? void 0 : { ...filter };
18
- if (!!tmpFilter && tmpFilter.advanced) {
19
- if (["string", "number", "date", "select"].includes(tmpFilter.type) && Object.keys(tmpFilter).includes("mode")) {
20
- if (tmpFilter.mode == "between" && tmpFilter.from !== void 0 && tmpFilter.to !== void 0 || tmpFilter.value !== void 0 || tmpFilter.type == "select" && tmpFilter.values !== void 0 && tmpFilter.values.length > 0) {
21
- step = "editor";
22
- advancedModeSelectedOption = tmpFilter.mode;
1
+ <script lang="ts">
2
+ import type { Filter, NumberMode, SelectMode, StringMode } from "../../../utils/filters/filters";
3
+ import { GENERIC_MODES, SELECT_MODES, STRING_MODES } from '../../../utils/filters/filters';
4
+ import type { DateMode } from "../../../utils/filters/filters";
5
+ import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
6
+ import DatePickerTextField from "../forms/DatePickerTextField.svelte";
7
+ import Button from "../../simple/buttons/Button.svelte";
8
+ import { createEventDispatcher } from "svelte";
9
+ import Validator from "../../../utils/filters/validator";
10
+ import SelectableVerticalList, { type Element } from "../../simple/lists/SelectableVerticalList.svelte";
11
+ import Icon from "../../simple/media/Icon.svelte";
12
+ import { fly } from "svelte/transition";
13
+ import Autocomplete from "../../simple/forms/Autocomplete.svelte";
14
+ import Checkbox from "../../simple/forms/Checkbox.svelte";
15
+ import type { LabelMapper } from "./Filters.svelte";
16
+ import ToggleList from "../forms/ToggleList.svelte";
17
+
18
+ export let filter: Filter | undefined = undefined,
19
+ lang: 'it' | 'en' = 'en',
20
+ backIcon: string = "mdi-arrow-left",
21
+ betweenFromLabel: string = lang == 'en' ? "From" : "Da",
22
+ betweenToLabel: string = lang == 'en' ? "To" : "A",
23
+ labelsMapper: LabelMapper,
24
+ forceApplyValid: boolean = false,
25
+ tmpFilter: Filter | undefined = undefined
26
+
27
+ let dispatch = createEventDispatcher<{
28
+ 'backClick': undefined,
29
+ 'cancelClick': undefined
30
+ }>()
31
+
32
+
33
+ // function handleApplyFilterClick() {
34
+ // if(!!filter && !!tmpFilter) {
35
+ // filter = {...tmpFilter}
36
+ // filter.active = true
37
+ // dispatch('apply')
38
+ // }
39
+ // }
40
+
41
+ let step: 'advanced' | 'editor'
42
+
43
+ function initTmpFilter() {
44
+ tmpFilter = filter === undefined ? undefined : {...filter}
45
+ if(!!tmpFilter && tmpFilter.advanced) {
46
+ if(['string', 'number', 'date', 'select'].includes(tmpFilter.type) && Object.keys(tmpFilter).includes('mode')) {
47
+ //@ts-ignore
48
+ if((tmpFilter.mode == 'between' && tmpFilter.from !== undefined && tmpFilter.to !== undefined) || tmpFilter.value !== undefined || (tmpFilter.type == 'select' && tmpFilter.values !== undefined && tmpFilter.values.length > 0)) {
49
+ step = 'editor'
50
+ //@ts-ignore
51
+ advancedModeSelectedOption = tmpFilter.mode
52
+ } else {
53
+ step = 'advanced'
54
+ }
23
55
  } else {
24
- step = "advanced";
56
+ step = 'advanced'
25
57
  }
26
58
  } else {
27
- step = "advanced";
59
+ step = "editor"
28
60
  }
29
- } else {
30
- step = "editor";
31
61
  }
32
- }
33
- $:
34
- if (!!filter) {
35
- initTmpFilter();
62
+
63
+
64
+ $: if(!!filter) {
65
+ initTmpFilter()
36
66
  }
37
- let advancedModeOptions, advancedModeSelectedOption;
38
- $:
39
- if (!!tmpFilter) {
40
- let modes;
41
- if (tmpFilter.type == "string") {
42
- modes = STRING_MODES;
43
- } else if (tmpFilter.type == "date") {
44
- modes = GENERIC_MODES;
45
- } else if (tmpFilter.type == "number") {
46
- modes = GENERIC_MODES;
47
- } else if (tmpFilter.type == "select") {
48
- modes = SELECT_MODES;
67
+
68
+
69
+ let advancedModeOptions: Element[],
70
+ advancedModeSelectedOption: string | undefined
71
+
72
+ $: if(!!tmpFilter) {
73
+ let modes
74
+ if(tmpFilter.type == 'string') {
75
+ modes = STRING_MODES
76
+ } else if(tmpFilter.type == 'date') {
77
+ modes = GENERIC_MODES
78
+ } else if(tmpFilter.type == 'number') {
79
+ modes = GENERIC_MODES
80
+ } else if(tmpFilter.type == 'select') {
81
+ modes = SELECT_MODES
49
82
  }
50
- if (!!modes) {
51
- advancedModeOptions = modes.map((mode) => {
83
+
84
+ if(!!modes) {
85
+ advancedModeOptions = modes.map(mode => {
52
86
  return {
53
87
  title: labelsMapper[mode].short || mode,
54
88
  name: mode
55
- };
56
- });
89
+ }
90
+ })
57
91
  }
92
+
58
93
  }
59
- $:
60
- if (!tmpFilter?.advanced) {
61
- advancedModeSelectedOption = void 0;
94
+
95
+ $: if(!tmpFilter?.advanced) {
96
+ advancedModeSelectedOption = undefined
62
97
  }
63
- let calendarOpened = false, calendarOpened2 = false;
64
- function handleAdvancedModeSelection() {
65
- if (!!advancedModeSelectedOption && !!tmpFilter) {
66
- if (tmpFilter.type == "date")
67
- tmpFilter.mode = advancedModeSelectedOption;
68
- else if (tmpFilter.type == "string")
69
- tmpFilter.mode = advancedModeSelectedOption;
70
- else if (tmpFilter.type == "number")
71
- tmpFilter.mode = advancedModeSelectedOption;
72
- else if (tmpFilter.type == "select")
73
- tmpFilter.mode = advancedModeSelectedOption;
74
- step = "editor";
75
- canRenderOptions = false;
98
+
99
+ let calendarOpened: boolean = false,
100
+ calendarOpened2: boolean = false
101
+
102
+ // TODO I don't like that there is a singlo dropdow to handle all filter advance mode.
103
+ // In some case would be necessary to handle more than one selection and this code
104
+ // could become non sense
105
+ function handleAdvancedModeSelection() {
106
+ if(!!advancedModeSelectedOption && !!tmpFilter) {
107
+ if(tmpFilter.type == 'date') tmpFilter.mode = advancedModeSelectedOption as DateMode
108
+ else if(tmpFilter.type == 'string') tmpFilter.mode = advancedModeSelectedOption as StringMode
109
+ else if(tmpFilter.type == 'number') tmpFilter.mode = advancedModeSelectedOption as NumberMode
110
+ else if(tmpFilter.type == 'select') tmpFilter.mode = advancedModeSelectedOption as SelectMode
111
+
112
+ step = 'editor'
113
+ canRenderOptions = false
114
+ }
76
115
  }
77
- }
78
- let canRenderOptions = true;
79
- $:
80
- applyFilterDisabled = !Validator.isValid(tmpFilter) && !forceApplyValid;
81
- $:
82
- if (!!tmpFilter && tmpFilter.type == "bool") {
83
- if (tmpFilter.value === void 0) {
84
- tmpFilter.value = false;
116
+
117
+ let canRenderOptions: boolean = true
118
+
119
+
120
+ $: applyFilterDisabled = !Validator.isValid(tmpFilter) && !forceApplyValid
121
+
122
+ $: if(!!tmpFilter && tmpFilter.type == 'bool') {
123
+ if(tmpFilter.value === undefined) {
124
+ tmpFilter.value = false
85
125
  }
86
126
  }
87
- $:
88
- if (!!tmpFilter && tmpFilter.type == "select") {
89
- if (tmpFilter.values === void 0) {
90
- tmpFilter.values = [];
127
+
128
+ $: if(!!tmpFilter && tmpFilter.type == 'select') {
129
+ if(tmpFilter.values === undefined) {
130
+ tmpFilter.values = []
91
131
  }
92
132
  }
93
- function handleModeBackClick() {
94
- dispatch("backClick");
95
- }
96
- function handleEditorBackCLick() {
97
- if (!!tmpFilter && !tmpFilter.advanced) {
98
- dispatch("backClick");
99
- } else {
100
- step = "advanced";
101
- advancedModeSelectedOption = void 0;
102
- setTimeout(() => {
103
- canRenderOptions = true;
104
- }, 100);
133
+
134
+ function handleModeBackClick() {
135
+ dispatch('backClick')
105
136
  }
106
- }
107
- $:
108
- if (!!tmpFilter && tmpFilter.type == "date" && tmpFilter.mode == "between") {
109
- if (!tmpFilter.from)
110
- tmpFilter.from = /* @__PURE__ */ new Date();
111
- if (!tmpFilter.to)
112
- tmpFilter.to = /* @__PURE__ */ new Date();
137
+
138
+ function handleEditorBackCLick() {
139
+ if(!!tmpFilter && !tmpFilter.advanced) {
140
+ dispatch('backClick')
141
+ } else {
142
+ step = 'advanced'
143
+ advancedModeSelectedOption = undefined
144
+ setTimeout(() => {
145
+ canRenderOptions = true
146
+ }, 100)
147
+ }
113
148
  }
149
+
150
+ $: if(!!tmpFilter && tmpFilter.type == 'date' && tmpFilter.mode == 'between') {
151
+ if(!tmpFilter.from) tmpFilter.from = new Date()
152
+ if(!tmpFilter.to) tmpFilter.to = new Date()
153
+ }
154
+
155
+
114
156
  </script>
115
157
 
116
158
  <div class="container">