@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,36 +1,40 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import '../../../css/main.css';
3
2
  import './YearSelector.css';
4
- declare const __propDef: {
5
- props: {
6
- class?: string | undefined;
7
- selectedYear?: number | undefined;
8
- selectableYears?: number[] | undefined;
9
- 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;
10
13
  };
11
- events: {
12
- click: CustomEvent<{
13
- year: number;
14
- }>;
15
- change: CustomEvent<{
16
- year: number | undefined;
17
- }>;
18
- } & {
19
- [evt: string]: CustomEvent<any>;
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ declare const YearSelector: $$__sveltets_2_IsomorphicComponent<{
17
+ class?: string | undefined;
18
+ selectedYear?: number | undefined;
19
+ selectableYears?: number[];
20
+ disabled?: boolean;
21
+ }, {
22
+ click: CustomEvent<{
23
+ year: number;
24
+ }>;
25
+ change: CustomEvent<{
26
+ year: number | undefined;
27
+ }>;
28
+ } & {
29
+ [evt: string]: CustomEvent<any>;
30
+ }, {
31
+ selector: {
32
+ year: number;
33
+ handleYearClick: (year: number) => void;
20
34
  };
21
- slots: {
22
- selector: {
23
- year: number;
24
- handleYearClick: (year: number) => void;
25
- };
26
- label: {
27
- year: number;
28
- };
35
+ label: {
36
+ year: number;
29
37
  };
30
- };
31
- export type YearSelectorProps = typeof __propDef.props;
32
- export type YearSelectorEvents = typeof __propDef.events;
33
- export type YearSelectorSlots = typeof __propDef.slots;
34
- export default class YearSelector extends SvelteComponent<YearSelectorProps, YearSelectorEvents, YearSelectorSlots> {
35
- }
36
- export {};
38
+ }, {}, string>;
39
+ type YearSelector = InstanceType<typeof YearSelector>;
40
+ export default YearSelector;
@@ -1,70 +1,100 @@
1
- <script>import Teleporter from "../../../utils/teleporter";
2
- import { BROWSER } from "esm-env";
3
- import { beforeUpdate, onMount } from "svelte";
4
- import Keyboarder, {} from "../../../utils/keyboarder";
5
- export let open = false, transition = "fly-up";
6
- export let _overlayOpacity = "30%", _overlayColor = "#282828", _overlayBackdropFilter = void 0, _transitionTimingFunction = "cubic-bezier(0.075, 0.82, 0.165, 1)", _transitionDuration = "0.5s";
7
- let zIndex = 50, localOpen = open, dialogElement, teleportedUid = void 0, hasBeenOpened = false;
8
- onMount(() => {
9
- if (!teleportedUid) {
10
- let tp = new Teleporter();
11
- teleportedUid = tp.attachNode(dialogElement);
12
- }
13
- let keyboarderHandler = (params) => {
14
- if (params.key == "Escape" && localOpen)
15
- closeDialog();
16
- };
17
- Keyboarder.on(keyboarderHandler);
18
- return () => {
19
- if (!!teleportedUid) {
20
- let tp = new Teleporter();
21
- tp.destroyNode(teleportedUid);
1
+ <script lang="ts">
2
+ import Teleporter from '../../../utils/teleporter';
3
+ import { BROWSER } from 'esm-env';
4
+ import { beforeUpdate, onMount } from "svelte";
5
+ import Keyboarder, { type CallbackFunction } from '../../../utils/keyboarder';
6
+
7
+ export let open = false,
8
+ transition: 'fly-down' | 'fly-up' | 'fly-horizontal' | 'scale' | 'fade' = 'fly-up'
9
+
10
+ export let _overlayOpacity: string = "30%",
11
+ _overlayColor: string = "#282828",
12
+ _overlayBackdropFilter: string | undefined = undefined,
13
+ _transitionTimingFunction: string = 'cubic-bezier(0.075, 0.82, 0.165, 1)',
14
+ _transitionDuration: string = '0.5s'
15
+
16
+
17
+ let zIndex = 50,
18
+ localOpen: boolean = open,
19
+ dialogElement: HTMLElement,
20
+ teleportedUid: string | undefined = undefined,
21
+ hasBeenOpened: boolean = false;
22
+
23
+ onMount(() => {
24
+ if(!teleportedUid) {
25
+ let tp = new Teleporter()
26
+ teleportedUid = tp.attachNode(dialogElement)
22
27
  }
23
- Keyboarder.off(keyboarderHandler);
24
- };
25
- });
26
- beforeUpdate(() => {
27
- if (BROWSER) {
28
- if (open && localOpen != open) {
29
- hasBeenOpened = true;
30
- let otherDialogs = document.querySelectorAll("[data-dialog=true]");
31
- let maxZIndex = 0;
32
- if (otherDialogs.length > 0) {
33
- otherDialogs.forEach((dialog) => {
34
- let computedStyle = getComputedStyle(dialog);
35
- let currentZIndex = computedStyle.getPropertyValue("--dialog-z-index");
36
- if (!maxZIndex || maxZIndex < Number(currentZIndex))
37
- maxZIndex = Number(currentZIndex);
38
- });
39
- zIndex = maxZIndex + 2;
40
- }
41
- let otherDrawers = document.querySelectorAll("[data-drawer=true]");
42
- if (otherDrawers.length > 0) {
43
- otherDrawers.forEach((dialog) => {
44
- let computedStyle = getComputedStyle(dialog);
45
- let currentZIndex = computedStyle.getPropertyValue("--drawer-z-index");
46
- if (!maxZIndex || maxZIndex < Number(currentZIndex))
47
- maxZIndex = Number(currentZIndex);
48
- });
49
- zIndex = maxZIndex + 2;
28
+
29
+ let keyboarderHandler: CallbackFunction = (params) => {
30
+ if(params.key == 'Escape' && localOpen) closeDialog()
31
+ }
32
+ Keyboarder.on(keyboarderHandler)
33
+
34
+ return () => {
35
+ if(!!teleportedUid) {
36
+ let tp = new Teleporter()
37
+ tp.destroyNode(teleportedUid)
50
38
  }
51
- document.body.style.overflow = "hidden";
52
- } else if (!open) {
53
- let otherDialogs = document.querySelectorAll("[data-dialog=true]");
54
- if (otherDialogs.length <= 1) {
55
- document.body.style.overflow = "auto";
39
+
40
+ Keyboarder.off(keyboarderHandler)
41
+ }
42
+ })
43
+
44
+ beforeUpdate(() => {
45
+ if (BROWSER) {
46
+ if (open && localOpen != open) {
47
+ hasBeenOpened = true
48
+
49
+ let otherDialogs: NodeListOf<HTMLElement> =
50
+ document.querySelectorAll("[data-dialog=true]");
51
+
52
+ let maxZIndex = 0;
53
+
54
+ if (otherDialogs.length > 0) {
55
+ otherDialogs.forEach((dialog) => {
56
+ let computedStyle = getComputedStyle(dialog)
57
+ let currentZIndex = computedStyle.getPropertyValue('--dialog-z-index')
58
+ if (!maxZIndex || maxZIndex < Number(currentZIndex))
59
+ maxZIndex = Number(currentZIndex);
60
+ });
61
+ zIndex = maxZIndex + 2;
62
+ }
63
+
64
+ let otherDrawers: NodeListOf<HTMLElement> =
65
+ document.querySelectorAll("[data-drawer=true]");
66
+
67
+ if (otherDrawers.length > 0) {
68
+ otherDrawers.forEach((dialog) => {
69
+ let computedStyle = getComputedStyle(dialog)
70
+ let currentZIndex = computedStyle.getPropertyValue('--drawer-z-index')
71
+ if (!maxZIndex || maxZIndex < Number(currentZIndex))
72
+ maxZIndex = Number(currentZIndex);
73
+ });
74
+ zIndex = maxZIndex + 2;
75
+ }
76
+
77
+ document.body.style.overflow = "hidden";
78
+ } else if (!open) {
79
+ let otherDialogs: NodeListOf<HTMLElement> =
80
+ document.querySelectorAll("[data-dialog=true]");
81
+ if (otherDialogs.length <= 1) {
82
+ document.body.style.overflow = "auto";
83
+ }
56
84
  }
57
85
  }
86
+
87
+ localOpen = open;
88
+ });
89
+
90
+ function closeDialog() {
91
+ open = false;
92
+ localOpen = false;
93
+ }
94
+
95
+ function handleOverlayClick() {
96
+ closeDialog();
58
97
  }
59
- localOpen = open;
60
- });
61
- function closeDialog() {
62
- open = false;
63
- localOpen = false;
64
- }
65
- function handleOverlayClick() {
66
- closeDialog();
67
- }
68
98
  </script>
69
99
 
70
100
  <div
@@ -1,30 +1,44 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- open?: boolean | undefined;
5
- transition?: "fly-down" | "fly-up" | "fly-horizontal" | "scale" | "fade" | undefined;
6
- _overlayOpacity?: string | undefined;
7
- _overlayColor?: string | undefined;
8
- _overlayBackdropFilter?: string | undefined;
9
- _transitionTimingFunction?: string | undefined;
10
- _transitionDuration?: string | undefined;
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
11
  };
12
- events: {
13
- click: MouseEvent;
14
- keypress: KeyboardEvent;
15
- } & {
16
- [evt: string]: CustomEvent<any>;
17
- };
18
- slots: {
19
- 'top-right': {};
20
- 'center-left': {};
21
- default: {};
22
- 'center-right': {};
23
- };
24
- };
25
- export type DialogProps = typeof __propDef.props;
26
- export type DialogEvents = typeof __propDef.events;
27
- export type DialogSlots = typeof __propDef.slots;
28
- export default class Dialog extends SvelteComponent<DialogProps, DialogEvents, DialogSlots> {
12
+ z_$$bindings?: Bindings;
29
13
  }
30
- export {};
14
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
15
+ default: any;
16
+ } ? Props extends Record<string, never> ? any : {
17
+ children?: any;
18
+ } : {});
19
+ declare const Dialog: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
+ open?: boolean;
21
+ transition?: "fly-down" | "fly-up" | "fly-horizontal" | "scale" | "fade";
22
+ _overlayOpacity?: string;
23
+ _overlayColor?: string;
24
+ _overlayBackdropFilter?: string | undefined;
25
+ _transitionTimingFunction?: string;
26
+ _transitionDuration?: string;
27
+ }, {
28
+ 'top-right': {};
29
+ 'center-left': {};
30
+ default: {};
31
+ 'center-right': {};
32
+ }>, {
33
+ click: MouseEvent;
34
+ keypress: KeyboardEvent;
35
+ } & {
36
+ [evt: string]: CustomEvent<any>;
37
+ }, {
38
+ 'top-right': {};
39
+ 'center-left': {};
40
+ default: {};
41
+ 'center-right': {};
42
+ }, {}, string>;
43
+ type Dialog = InstanceType<typeof Dialog>;
44
+ export default Dialog;
@@ -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 />