@likable-hair/svelte 3.3.21 → 3.3.23

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 (202) 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/filters.d.ts +2 -0
  200. package/dist/utils/filters/filters.js +6 -2
  201. package/dist/utils/filters/modifiers/where.d.ts +10 -3
  202. package/package.json +1 -1
@@ -1,126 +1,178 @@
1
- <script>import IMask, { InputMask } from "imask";
2
- import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
3
- import DatePicker from "../../simple/dates/DatePicker.svelte";
4
- import Menu from "../../simple/common/Menu.svelte";
5
- import Icon from "../../simple/media/Icon.svelte";
6
- import { onMount } from "svelte";
7
- import { DateTime } from "luxon";
8
- import { createEventDispatcher } from "svelte";
9
- import MediaQuery from "../../simple/common/MediaQuery.svelte";
10
- import Dialog from "../../simple/dialogs/Dialog.svelte";
11
- let clazz = {};
12
- export { clazz as class };
13
- let dispatch = createEventDispatcher();
14
- export let menuOpened = false, openingId = "date-picker-text-field", pattern = "dd/MM/yyyy", selectedMonth = void 0, selectedYear = void 0, visibleMonth = void 0, visibleYear = void 0, selectedDate = void 0, placeholder = void 0, mobileDialog = true, maxYearInRange = 2100, minYearInRange = 1970, disabled = false, flipOnOverflow = true;
15
- let activator, refreshPosition = false, menuElement, inputElement, mask = {
16
- value: void 0
17
- }, maskFactoryArgs = {
18
- mask: Date,
19
- pattern,
20
- format: function(date) {
21
- return DateTime.fromJSDate(date).toFormat(pattern);
22
- },
23
- parse: function(str) {
24
- return DateTime.fromFormat(str, pattern).toJSDate();
25
- },
26
- blocks: {
27
- yyyy: {
28
- mask: IMask.MaskedRange,
29
- from: minYearInRange,
30
- to: maxYearInRange
31
- },
32
- MM: {
33
- mask: IMask.MaskedRange,
34
- from: 1,
35
- to: 12
36
- },
37
- dd: {
38
- mask: IMask.MaskedRange,
39
- from: 1,
40
- to: 31
1
+ <script lang="ts">
2
+ import IMask, { InputMask, type FactoryArg } from 'imask';
3
+ import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
4
+ import DatePicker from "../../simple/dates/DatePicker.svelte";
5
+ import Menu from "../../simple/common/Menu.svelte";
6
+ import Icon from "../../simple/media/Icon.svelte";
7
+ import { onMount, type ComponentProps } from 'svelte';
8
+ import { DateTime } from 'luxon'
9
+ import { createEventDispatcher } from 'svelte';
10
+ import type { DateStat } from '../../simple/dates/utils';
11
+ import MediaQuery from '../../simple/common/MediaQuery.svelte';
12
+ import Dialog from '../../simple/dialogs/Dialog.svelte';
13
+
14
+ let clazz: {
15
+ activator?: string,
16
+ textfield?: ComponentProps<SimpleTextField>['class']
17
+ } = {};
18
+ export { clazz as class };
19
+
20
+ let dispatch = createEventDispatcher<{
21
+ 'day-click': {
22
+ dateStat: DateStat
41
23
  },
42
- HH: {
43
- mask: IMask.MaskedRange,
44
- from: 0,
45
- to: 23
24
+ input: {
25
+ datetime: Date | undefined
26
+ }
27
+ }>()
28
+
29
+ export let menuOpened: boolean = false,
30
+ openingId: string = 'date-picker-text-field',
31
+ pattern: string = "dd/MM/yyyy",
32
+ selectedMonth: number | undefined = undefined,
33
+ selectedYear: number | undefined = undefined,
34
+ visibleMonth: number | undefined = undefined,
35
+ visibleYear: number | undefined = undefined,
36
+ selectedDate: Date | undefined = undefined,
37
+ placeholder: string | undefined = undefined,
38
+ mobileDialog: boolean = true,
39
+ maxYearInRange: number = 2100,
40
+ minYearInRange: number = 1970,
41
+ disabled: boolean = false,
42
+ flipOnOverflow: boolean = true
43
+
44
+
45
+ let activator: HTMLElement,
46
+ refreshPosition = false,
47
+ menuElement: HTMLElement,
48
+ inputElement: HTMLElement,
49
+ mask: InputMask<typeof maskFactoryArgs> | { value: string | undefined } = {
50
+ value: undefined
46
51
  },
47
- mm: {
48
- mask: IMask.MaskedRange,
49
- from: 0,
50
- to: 59
52
+ maskFactoryArgs = {
53
+ mask: Date,
54
+ pattern: pattern,
55
+ format: function (date: any): string {
56
+ return DateTime.fromJSDate(date).toFormat(pattern)
57
+ },
58
+ parse: function (str: string): Date {
59
+ return DateTime.fromFormat(str, pattern).toJSDate()
60
+ },
61
+ blocks: {
62
+ yyyy: {
63
+ mask: IMask.MaskedRange,
64
+ from: minYearInRange,
65
+ to: maxYearInRange
66
+ },
67
+ MM: {
68
+ mask: IMask.MaskedRange,
69
+ from: 1,
70
+ to: 12
71
+ },
72
+ dd: {
73
+ mask: IMask.MaskedRange,
74
+ from: 1,
75
+ to: 31
76
+ },
77
+ HH: {
78
+ mask: IMask.MaskedRange,
79
+ from: 0,
80
+ to: 23
81
+ },
82
+ mm: {
83
+ mask: IMask.MaskedRange,
84
+ from: 0,
85
+ to: 59
86
+ }
87
+ }
88
+ }
89
+
90
+ function handleTextFieldFocus(mobile: boolean) {
91
+ if(!mobile || !mobileDialog) {
92
+ menuOpened = true
51
93
  }
52
94
  }
53
- };
54
- function handleTextFieldFocus(mobile) {
55
- if (!mobile || !mobileDialog) {
56
- menuOpened = true;
57
- }
58
- }
59
- onMount(() => {
60
- mask = IMask(
61
- inputElement,
62
- maskFactoryArgs
63
- );
64
- if (!!selectedDate) {
65
- mask.value = DateTime.fromJSDate(selectedDate).toFormat(pattern);
66
- }
67
- });
68
- $:
69
- if (!selectedDate) {
70
- mask.value = "";
95
+
96
+ onMount(() => {
97
+ mask = IMask(
98
+ inputElement, maskFactoryArgs
99
+ )
100
+
101
+ if(!!selectedDate) {
102
+ mask.value = DateTime.fromJSDate(selectedDate).toFormat(pattern)
103
+ }
104
+ })
105
+
106
+ $: if(!selectedDate) {
107
+ mask.value = ""
71
108
  }
72
- function handleInputChange(event) {
73
- setTimeout(() => {
74
- const typedValue = mask.value;
75
- if (typedValue !== void 0 && typedValue !== null) {
76
- const dayOfMonthIndex = pattern.indexOf("dd");
77
- const dayOfMonth = typedValue.substring(dayOfMonthIndex, dayOfMonthIndex + 2);
78
- const monthIndex = pattern.indexOf("MM");
79
- const oneBasedMonth = typedValue.substring(monthIndex, monthIndex + 2);
80
- if (oneBasedMonth.length == 2) {
81
- selectedMonth = Number(oneBasedMonth) - 1;
82
- visibleMonth = selectedMonth;
83
- }
84
- const yearIndex = pattern.indexOf("yyyy");
85
- const year = typedValue.substring(yearIndex, yearIndex + 4);
86
- if (year.length == 4) {
87
- selectedYear = Number(year);
88
- visibleYear = selectedYear;
89
- }
90
- if (typedValue.length == pattern.length) {
91
- selectedDate = DateTime.fromObject({
92
- day: Number(dayOfMonth),
93
- month: Number(oneBasedMonth),
94
- year: Number(year)
95
- }).toJSDate();
96
- } else {
97
- selectedDate = void 0;
109
+
110
+ function handleInputChange(event: any) {
111
+ setTimeout(() => {
112
+ const typedValue = mask.value
113
+
114
+ if(typedValue !== undefined && typedValue !== null) {
115
+ // find day of month
116
+ const dayOfMonthIndex = pattern.indexOf('dd')
117
+ const dayOfMonth = typedValue.substring(dayOfMonthIndex, dayOfMonthIndex + 2)
118
+
119
+ // find month
120
+ const monthIndex = pattern.indexOf('MM')
121
+ const oneBasedMonth = typedValue.substring(monthIndex, monthIndex + 2)
122
+ if(oneBasedMonth.length == 2) {
123
+ selectedMonth = Number(oneBasedMonth) - 1
124
+ visibleMonth = selectedMonth
125
+ }
126
+
127
+ // find year
128
+ const yearIndex = pattern.indexOf('yyyy')
129
+ const year = typedValue.substring(yearIndex, yearIndex + 4)
130
+ if(year.length == 4) {
131
+ selectedYear = Number(year)
132
+ visibleYear = selectedYear
133
+ }
134
+
135
+ if(typedValue.length == pattern.length) {
136
+ selectedDate = DateTime.fromObject({
137
+ day: Number(dayOfMonth),
138
+ month: Number(oneBasedMonth),
139
+ year: Number(year)
140
+ }).toJSDate()
141
+ } else {
142
+ selectedDate = undefined
143
+ }
144
+
145
+ dispatch('input', {
146
+ datetime: selectedDate
147
+ })
98
148
  }
99
- dispatch("input", {
100
- datetime: selectedDate
101
- });
149
+ }, 30);
150
+ }
151
+
152
+ function handleDateSelect(ev: CustomEvent<{
153
+ dateStat: DateStat
154
+ }>) {
155
+ if(!!selectedDate) {
156
+ mask.value = DateTime.fromJSDate(selectedDate).toFormat(pattern)
102
157
  }
103
- }, 30);
104
- }
105
- function handleDateSelect(ev) {
106
- if (!!selectedDate) {
107
- mask.value = DateTime.fromJSDate(selectedDate).toFormat(pattern);
158
+
159
+ dispatch('day-click', {
160
+ dateStat: ev.detail.dateStat
161
+ })
162
+ }
163
+
164
+ function handleYearSelect() {
165
+ mask.value = ''
166
+ }
167
+
168
+ function handleMonthSelect() {
169
+ mask.value = ''
108
170
  }
109
- dispatch("day-click", {
110
- dateStat: ev.detail.dateStat
111
- });
112
- }
113
- function handleYearSelect() {
114
- mask.value = "";
115
- }
116
- function handleMonthSelect() {
117
- mask.value = "";
118
- }
119
- $:
120
- if (!!selectedDate) {
171
+
172
+ $: if(!!selectedDate) {
121
173
  setTimeout(() => {
122
- if (!!selectedDate) {
123
- mask.value = DateTime.fromJSDate(selectedDate).toFormat(pattern);
174
+ if(!!selectedDate) {
175
+ mask.value = DateTime.fromJSDate(selectedDate).toFormat(pattern)
124
176
  }
125
177
  }, 30);
126
178
  }
@@ -1,70 +1,74 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
3
2
  import { type ComponentProps } from 'svelte';
4
3
  import type { DateStat } from '../../simple/dates/utils';
5
- declare const __propDef: {
6
- props: {
7
- class?: {
8
- activator?: string | undefined;
9
- textfield?: ComponentProps<SimpleTextField>['class'];
10
- } | undefined;
11
- menuOpened?: boolean | undefined;
12
- openingId?: string | undefined;
13
- pattern?: string | undefined;
14
- selectedMonth?: number | undefined;
15
- selectedYear?: number | undefined;
16
- visibleMonth?: number | undefined;
17
- visibleYear?: number | undefined;
18
- selectedDate?: Date | undefined;
19
- placeholder?: string | undefined;
20
- mobileDialog?: boolean | undefined;
21
- maxYearInRange?: number | undefined;
22
- minYearInRange?: number | undefined;
23
- disabled?: boolean | undefined;
24
- flipOnOverflow?: boolean | 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;
25
14
  };
26
- events: {
27
- 'day-click': CustomEvent<{
28
- dateStat: DateStat;
29
- }>;
30
- input: CustomEvent<{
31
- datetime: Date | undefined;
32
- }>;
33
- } & {
34
- [evt: string]: CustomEvent<any>;
15
+ z_$$bindings?: Bindings;
16
+ }
17
+ declare const DatePickerTextField: $$__sveltets_2_IsomorphicComponent<{
18
+ class?: {
19
+ activator?: string;
20
+ textfield?: ComponentProps<SimpleTextField>["class"];
35
21
  };
36
- slots: {
37
- activator: {
38
- mask: {
39
- value: string | undefined;
40
- };
41
- handleTextFieldFocus: (mobile: boolean) => void;
42
- handleInputChange: (event: any) => void;
43
- inputElement: HTMLElement;
44
- placeholder: string | undefined;
45
- disabled: boolean;
46
- };
47
- 'prepend-inner': {
48
- prependInnerIcon: string | undefined;
49
- iconSize: string;
50
- };
51
- 'append-inner': {
52
- appendInnerIcon: string | undefined;
53
- iconSize: string;
54
- };
55
- prepend: {
56
- prependIcon: string | undefined;
57
- iconSize: string;
58
- };
59
- append: {
60
- appendIcon: string | undefined;
61
- iconSize: string;
22
+ menuOpened?: boolean;
23
+ openingId?: string;
24
+ pattern?: string;
25
+ selectedMonth?: number | undefined;
26
+ selectedYear?: number | undefined;
27
+ visibleMonth?: number | undefined;
28
+ visibleYear?: number | undefined;
29
+ selectedDate?: Date | undefined;
30
+ placeholder?: string | undefined;
31
+ mobileDialog?: boolean;
32
+ maxYearInRange?: number;
33
+ minYearInRange?: number;
34
+ disabled?: boolean;
35
+ flipOnOverflow?: boolean;
36
+ }, {
37
+ 'day-click': CustomEvent<{
38
+ dateStat: DateStat;
39
+ }>;
40
+ input: CustomEvent<{
41
+ datetime: Date | undefined;
42
+ }>;
43
+ } & {
44
+ [evt: string]: CustomEvent<any>;
45
+ }, {
46
+ activator: {
47
+ mask: {
48
+ value: string | undefined;
62
49
  };
50
+ handleTextFieldFocus: (mobile: boolean) => void;
51
+ handleInputChange: (event: any) => void;
52
+ inputElement: HTMLElement;
53
+ placeholder: string | undefined;
54
+ disabled: boolean;
63
55
  };
64
- };
65
- export type DatePickerTextFieldProps = typeof __propDef.props;
66
- export type DatePickerTextFieldEvents = typeof __propDef.events;
67
- export type DatePickerTextFieldSlots = typeof __propDef.slots;
68
- export default class DatePickerTextField extends SvelteComponent<DatePickerTextFieldProps, DatePickerTextFieldEvents, DatePickerTextFieldSlots> {
69
- }
70
- export {};
56
+ 'prepend-inner': {
57
+ prependInnerIcon: string | undefined;
58
+ iconSize: string;
59
+ };
60
+ 'append-inner': {
61
+ appendInnerIcon: string | undefined;
62
+ iconSize: string;
63
+ };
64
+ prepend: {
65
+ prependIcon: string | undefined;
66
+ iconSize: string;
67
+ };
68
+ append: {
69
+ appendIcon: string | undefined;
70
+ iconSize: string;
71
+ };
72
+ }, {}, string>;
73
+ type DatePickerTextField = InstanceType<typeof DatePickerTextField>;
74
+ export default DatePickerTextField;
@@ -1,25 +1,55 @@
1
- <script context="module"></script>
1
+ <script lang="ts" context="module">
2
+ import type { Item } from "../../../components/simple/forms/Autocomplete.svelte";
3
+ export type { Item }
4
+ </script>
5
+
6
+ <script lang="ts">
7
+ import lodash from "lodash";
8
+ import Autocomplete from "../../../components/simple/forms/Autocomplete.svelte";
9
+ import Button from '../../simple/buttons/Button.svelte'
10
+ import Icon from '../../simple/media/Icon.svelte'
11
+ import { createEventDispatcher } from "svelte";
12
+
13
+ let dispatch = createEventDispatcher<{
14
+ change: {
15
+ unselect: Item | undefined;
16
+ select: Item | undefined;
17
+ selection: Item[];
18
+ }
19
+ }>()
20
+
21
+ export let items: Item[] = [],
22
+ values: Item[] = [],
23
+ multiple: boolean = false,
24
+ lang: 'it' | 'en' = 'en',
25
+ searchText: string | undefined = undefined,
26
+ maxVisibleChips: number | undefined = undefined,
27
+ placeholder: string = lang == 'en' ? "Select" : "Seleziona",
28
+ clearable: boolean = true,
29
+ mandatory: boolean = true,
30
+ icon: string | undefined = undefined,
31
+ menuOpened: boolean = false,
32
+ openingId: string | undefined = undefined,
33
+ width: string | undefined = undefined,
34
+ minWidth: string | undefined = undefined,
35
+ menuWidth: string | undefined = width,
36
+ mobileDrawer: boolean = false,
37
+ disabled: boolean = false
2
38
 
3
- <script>import lodash from "lodash";
4
- import Autocomplete from "../../../components/simple/forms/Autocomplete.svelte";
5
- import Button from "../../simple/buttons/Button.svelte";
6
- import Icon from "../../simple/media/Icon.svelte";
7
- import { createEventDispatcher } from "svelte";
8
- let dispatch = createEventDispatcher();
9
- export let items = [], values = [], multiple = false, lang = "en", searchText = void 0, maxVisibleChips = void 0, placeholder = lang == "en" ? "Select" : "Seleziona", clearable = true, mandatory = true, icon = void 0, menuOpened = false, openingId = void 0, width = void 0, minWidth = void 0, menuWidth = width, mobileDrawer = false, disabled = false;
10
- $:
11
- generatedLabel = values.length == 1 ? values[0].label : `${values.length} Selezionati`;
12
- function handleCloseClick(event) {
13
- event.preventDefault();
14
- event.stopPropagation();
15
- let valuesBefore = lodash.cloneDeep(values);
16
- values = [];
17
- dispatch("change", {
18
- unselect: valuesBefore[0],
19
- select: void 0,
20
- selection: []
21
- });
22
- }
39
+ $: generatedLabel = values.length == 1 ? values[0].label : `${values.length} Selezionati`
40
+
41
+ function handleCloseClick(event: MouseEvent) {
42
+ event.preventDefault()
43
+ event.stopPropagation()
44
+ let valuesBefore = lodash.cloneDeep(values)
45
+ values = []
46
+
47
+ dispatch('change', {
48
+ unselect: valuesBefore[0],
49
+ select: undefined,
50
+ selection: []
51
+ })
52
+ }
23
53
  </script>
24
54
 
25
55
  <Autocomplete
@@ -1,48 +1,53 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { Item } from "../../../components/simple/forms/Autocomplete.svelte";
3
2
  export type { Item };
4
- declare const __propDef: {
5
- props: {
6
- items?: Item[] | undefined;
7
- values?: Item[] | undefined;
8
- multiple?: boolean | undefined;
9
- lang?: "it" | "en" | undefined;
10
- searchText?: string | undefined;
11
- maxVisibleChips?: number | undefined;
12
- placeholder?: string | undefined;
13
- clearable?: boolean | undefined;
14
- mandatory?: boolean | undefined;
15
- icon?: string | undefined;
16
- menuOpened?: boolean | undefined;
17
- openingId?: string | undefined;
18
- width?: string | undefined;
19
- minWidth?: string | undefined;
20
- menuWidth?: string | undefined;
21
- mobileDrawer?: boolean | undefined;
22
- 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;
23
13
  };
24
- events: {
25
- change: CustomEvent<any>;
26
- } & {
27
- [evt: string]: CustomEvent<any>;
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ declare const Dropdown: $$__sveltets_2_IsomorphicComponent<{
17
+ items?: Item[];
18
+ values?: Item[];
19
+ multiple?: boolean;
20
+ lang?: "it" | "en";
21
+ searchText?: string | undefined;
22
+ maxVisibleChips?: number | undefined;
23
+ placeholder?: string;
24
+ clearable?: boolean;
25
+ mandatory?: boolean;
26
+ icon?: string | undefined;
27
+ menuOpened?: boolean;
28
+ openingId?: string | undefined;
29
+ width?: string | undefined;
30
+ minWidth?: string | undefined;
31
+ menuWidth?: string | undefined;
32
+ mobileDrawer?: boolean;
33
+ disabled?: boolean;
34
+ }, {
35
+ change: CustomEvent<any>;
36
+ } & {
37
+ [evt: string]: CustomEvent<any>;
38
+ }, {
39
+ label: {
40
+ values: Item[];
41
+ items: Item[];
42
+ searchText: string | undefined;
43
+ generatedLabel: string | number | undefined;
44
+ placeholder: string;
45
+ clearable: boolean;
46
+ handleCloseClick: (event: MouseEvent) => void;
28
47
  };
29
- slots: {
30
- label: {
31
- values: Item[];
32
- items: Item[];
33
- searchText: string | undefined;
34
- generatedLabel: string | number | undefined;
35
- placeholder: string;
36
- clearable: boolean;
37
- handleCloseClick: (event: MouseEvent) => void;
38
- };
39
- 'item-label': {
40
- item: Item;
41
- };
48
+ 'item-label': {
49
+ item: Item;
42
50
  };
43
- };
44
- export type DropdownProps = typeof __propDef.props;
45
- export type DropdownEvents = typeof __propDef.events;
46
- export type DropdownSlots = typeof __propDef.slots;
47
- export default class Dropdown extends SvelteComponent<DropdownProps, DropdownEvents, DropdownSlots> {
48
- }
51
+ }, {}, string>;
52
+ type Dropdown = InstanceType<typeof Dropdown>;
53
+ export default Dropdown;