@likable-hair/svelte 3.3.28 → 3.3.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/components/composed/buttons/ActivableButton.svelte +2 -6
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +32 -36
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +25 -35
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +25 -50
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +34 -40
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +21 -35
  7. package/dist/components/composed/common/QuickActions.svelte +29 -57
  8. package/dist/components/composed/common/QuickActions.svelte.d.ts +20 -24
  9. package/dist/components/composed/common/ToolTip.svelte +22 -31
  10. package/dist/components/composed/common/ToolTip.svelte.d.ts +43 -32
  11. package/dist/components/composed/forms/AsyncAutocomplete.svelte +23 -44
  12. package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +39 -44
  13. package/dist/components/composed/forms/AvatarDropdown.svelte +27 -57
  14. package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +41 -45
  15. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +17 -35
  16. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +37 -41
  17. package/dist/components/composed/forms/CountriesAutocomplete.svelte +7 -16
  18. package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +60 -31
  19. package/dist/components/composed/forms/DatePickerTextField.svelte +114 -166
  20. package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +63 -67
  21. package/dist/components/composed/forms/Dropdown.svelte +21 -51
  22. package/dist/components/composed/forms/Dropdown.svelte.d.ts +43 -48
  23. package/dist/components/composed/forms/IconsDropdown.svelte +33 -61
  24. package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +26 -30
  25. package/dist/components/composed/forms/LabelAndSelect.svelte +7 -32
  26. package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +31 -35
  27. package/dist/components/composed/forms/LabelAndTextField.svelte +5 -30
  28. package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +42 -46
  29. package/dist/components/composed/forms/ToggleList.svelte +33 -59
  30. package/dist/components/composed/forms/ToggleList.svelte.d.ts +17 -21
  31. package/dist/components/composed/forms/YearPickerTextField.svelte +74 -114
  32. package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +49 -53
  33. package/dist/components/composed/list/DynamicTable.css +2 -0
  34. package/dist/components/composed/list/DynamicTable.svelte +1070 -1434
  35. package/dist/components/composed/list/DynamicTable.svelte.d.ts +366 -370
  36. package/dist/components/composed/list/PaginatedTable.svelte +81 -140
  37. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +110 -108
  38. package/dist/components/composed/progress/HorizontalStackedProgress.css +4 -0
  39. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +47 -63
  40. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +22 -25
  41. package/dist/components/composed/search/DynamicFilters.svelte +83 -105
  42. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +27 -31
  43. package/dist/components/composed/search/FilterEditor.svelte +80 -106
  44. package/dist/components/composed/search/FilterEditor.svelte.d.ts +33 -37
  45. package/dist/components/composed/search/Filters.svelte +294 -362
  46. package/dist/components/composed/search/Filters.svelte.d.ts +52 -56
  47. package/dist/components/composed/search/GlobalSearchTextField.svelte +41 -79
  48. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +39 -43
  49. package/dist/components/composed/search/MobileFilterEditor.svelte +93 -135
  50. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +35 -39
  51. package/dist/components/composed/search/SearchBar.svelte +5 -28
  52. package/dist/components/composed/search/SearchBar.svelte.d.ts +30 -34
  53. package/dist/components/composed/search/SearchResults.svelte +7 -42
  54. package/dist/components/composed/search/SearchResults.svelte.d.ts +36 -40
  55. package/dist/components/composed/shop/ProductCard.svelte +4 -18
  56. package/dist/components/composed/shop/ProductCard.svelte.d.ts +28 -32
  57. package/dist/components/composed/shop/ProductsGrid.svelte +2 -22
  58. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +40 -44
  59. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +29 -55
  60. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +54 -85
  61. package/dist/components/layouts/StableDividedSideBarLayout.svelte +17 -47
  62. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +32 -50
  63. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +30 -53
  64. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +63 -103
  65. package/dist/components/simple/buttons/Button.svelte +32 -78
  66. package/dist/components/simple/buttons/Button.svelte.d.ts +35 -47
  67. package/dist/components/simple/buttons/LinkButton.svelte +22 -54
  68. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +33 -50
  69. package/dist/components/simple/charts/GanymedeBarChart.svelte +134 -172
  70. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +46 -50
  71. package/dist/components/simple/charts/GanymedeLineChart.svelte +115 -157
  72. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +47 -51
  73. package/dist/components/simple/charts/GanymedePieChart.svelte +39 -62
  74. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +33 -37
  75. package/dist/components/simple/common/Card.svelte +1 -20
  76. package/dist/components/simple/common/Card.svelte.d.ts +38 -51
  77. package/dist/components/simple/common/CollapsibleDivider.svelte +11 -23
  78. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +25 -29
  79. package/dist/components/simple/common/Divider.svelte +2 -8
  80. package/dist/components/simple/common/Divider.svelte.d.ts +19 -23
  81. package/dist/components/simple/common/Gesture.svelte +46 -64
  82. package/dist/components/simple/common/Gesture.svelte.d.ts +17 -21
  83. package/dist/components/simple/common/InfiniteScroll.svelte +29 -52
  84. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +20 -24
  85. package/dist/components/simple/common/IntersectionObserver.svelte +32 -45
  86. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +21 -34
  87. package/dist/components/simple/common/MediaQuery.svelte +21 -30
  88. package/dist/components/simple/common/MediaQuery.svelte.d.ts +30 -34
  89. package/dist/components/simple/common/Menu.svelte +303 -290
  90. package/dist/components/simple/common/Menu.svelte.d.ts +40 -51
  91. package/dist/components/simple/common/Playground.svelte +17 -18
  92. package/dist/components/simple/common/Playground.svelte.d.ts +15 -19
  93. package/dist/components/simple/common/VerticalDraggableList.svelte +16 -35
  94. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +29 -33
  95. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +26 -32
  96. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +12 -16
  97. package/dist/components/simple/dates/Calendar.svelte +28 -52
  98. package/dist/components/simple/dates/Calendar.svelte.d.ts +41 -45
  99. package/dist/components/simple/dates/DatePicker.svelte +60 -90
  100. package/dist/components/simple/dates/DatePicker.svelte.d.ts +40 -44
  101. package/dist/components/simple/dates/MonthSelector.svelte +15 -37
  102. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +31 -35
  103. package/dist/components/simple/dates/TimePicker.svelte +31 -45
  104. package/dist/components/simple/dates/TimePicker.svelte.d.ts +20 -24
  105. package/dist/components/simple/dates/TimePickerTextField.svelte +35 -56
  106. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +24 -28
  107. package/dist/components/simple/dates/YearSelector.svelte +29 -54
  108. package/dist/components/simple/dates/YearSelector.svelte.d.ts +31 -35
  109. package/dist/components/simple/dialogs/Dialog.svelte +62 -92
  110. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +28 -42
  111. package/dist/components/simple/forms/Autocomplete.svelte +150 -207
  112. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -83
  113. package/dist/components/simple/forms/Checkbox.svelte +25 -40
  114. package/dist/components/simple/forms/Checkbox.svelte.d.ts +22 -25
  115. package/dist/components/simple/forms/FileInput.svelte +48 -88
  116. package/dist/components/simple/forms/FileInput.svelte.d.ts +33 -37
  117. package/dist/components/simple/forms/FileInputList.svelte +37 -62
  118. package/dist/components/simple/forms/FileInputList.svelte.d.ts +35 -39
  119. package/dist/components/simple/forms/RadioButton.svelte +3 -11
  120. package/dist/components/simple/forms/RadioButton.svelte.d.ts +27 -31
  121. package/dist/components/simple/forms/Select.svelte +3 -16
  122. package/dist/components/simple/forms/Select.svelte.d.ts +20 -24
  123. package/dist/components/simple/forms/SimpleTextField.svelte +6 -53
  124. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +60 -64
  125. package/dist/components/simple/forms/Switch.svelte +16 -30
  126. package/dist/components/simple/forms/Switch.svelte.d.ts +21 -25
  127. package/dist/components/simple/forms/Textarea.svelte +2 -27
  128. package/dist/components/simple/forms/Textarea.svelte.d.ts +37 -41
  129. package/dist/components/simple/forms/Textfield.svelte +18 -56
  130. package/dist/components/simple/forms/Textfield.svelte.d.ts +51 -55
  131. package/dist/components/simple/forms/TreeEditor.svelte +95 -141
  132. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +38 -42
  133. package/dist/components/simple/forms/TreeEditorItem.svelte +42 -77
  134. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +50 -54
  135. package/dist/components/simple/forms/VerticalSwitch.svelte +1 -11
  136. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +28 -32
  137. package/dist/components/simple/forms/VerticalTextSwitch.svelte +3 -15
  138. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +26 -30
  139. package/dist/components/simple/lists/ColorInvertedSelector.svelte +23 -53
  140. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +42 -46
  141. package/dist/components/simple/lists/HierarchyMenu.svelte +19 -38
  142. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +30 -34
  143. package/dist/components/simple/lists/Paginator.svelte +41 -50
  144. package/dist/components/simple/lists/Paginator.svelte.d.ts +19 -23
  145. package/dist/components/simple/lists/SelectableMenuList.svelte +15 -43
  146. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +20 -24
  147. package/dist/components/simple/lists/SelectableVerticalList.svelte +59 -100
  148. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +47 -51
  149. package/dist/components/simple/lists/SidebarMenuList.svelte +71 -116
  150. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +22 -26
  151. package/dist/components/simple/lists/SimpleTable.svelte +154 -264
  152. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +66 -70
  153. package/dist/components/simple/loaders/CircularLoader.svelte +5 -16
  154. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +15 -19
  155. package/dist/components/simple/loaders/Skeleton.svelte +2 -3
  156. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +12 -16
  157. package/dist/components/simple/media/AttachmentDownloader.svelte +3 -17
  158. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +28 -32
  159. package/dist/components/simple/media/Avatar.svelte +12 -18
  160. package/dist/components/simple/media/Avatar.svelte.d.ts +20 -31
  161. package/dist/components/simple/media/Carousel.svelte +11 -29
  162. package/dist/components/simple/media/Carousel.svelte.d.ts +24 -28
  163. package/dist/components/simple/media/DescriptiveAvatar.svelte +4 -12
  164. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +28 -44
  165. package/dist/components/simple/media/FlagIcon.svelte +5 -8
  166. package/dist/components/simple/media/FlagIcon.svelte.d.ts +15 -19
  167. package/dist/components/simple/media/Gallery.svelte +29 -49
  168. package/dist/components/simple/media/Gallery.svelte.d.ts +23 -27
  169. package/dist/components/simple/media/Icon.svelte +4 -9
  170. package/dist/components/simple/media/Icon.svelte.d.ts +20 -24
  171. package/dist/components/simple/media/Image.svelte +20 -42
  172. package/dist/components/simple/media/Image.svelte.d.ts +33 -44
  173. package/dist/components/simple/media/ImageGrid.svelte +12 -37
  174. package/dist/components/simple/media/ImageGrid.svelte.d.ts +28 -32
  175. package/dist/components/simple/navigation/Breadcrumb.svelte +10 -28
  176. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +22 -26
  177. package/dist/components/simple/navigation/Chip.svelte +23 -44
  178. package/dist/components/simple/navigation/Chip.svelte.d.ts +31 -42
  179. package/dist/components/simple/navigation/Drawer.svelte +65 -107
  180. package/dist/components/simple/navigation/Drawer.svelte.d.ts +37 -50
  181. package/dist/components/simple/navigation/HeaderMenu.svelte +23 -40
  182. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +35 -39
  183. package/dist/components/simple/navigation/Navigator.svelte +8 -30
  184. package/dist/components/simple/navigation/Navigator.svelte.d.ts +24 -28
  185. package/dist/components/simple/navigation/TabSwitcher.svelte +47 -83
  186. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +34 -38
  187. package/dist/components/simple/notifiers/AlertBanner.css +1 -0
  188. package/dist/components/simple/notifiers/AlertBanner.svelte +20 -48
  189. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +37 -41
  190. package/dist/components/simple/progress/ProgressBar.svelte +13 -20
  191. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +17 -21
  192. package/dist/components/simple/timeline/SimpleTimeLine.svelte +5 -19
  193. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +35 -39
  194. package/dist/components/simple/typography/Code.svelte +12 -27
  195. package/dist/components/simple/typography/Code.svelte.d.ts +24 -28
  196. package/dist/stores/debounce.d.ts +1 -0
  197. package/dist/stores/layouts/unstableSidebarOpened.d.ts +1 -0
  198. package/dist/stores/mediaQuery.d.ts +1 -0
  199. package/dist/stores/theme.d.ts +1 -0
  200. package/package.json +1 -1
@@ -1,148 +1,85 @@
1
- <script lang="ts" context="module">
2
- import SimpleTable, { type CalculateRowClasses, type CalculateRowStyles } from "../../simple/lists/SimpleTable.svelte";
3
- import Icon from "../../simple/media/Icon.svelte";
4
- import Paginator from "../../simple/lists/Paginator.svelte";
5
- import Dropdown from "../forms/Dropdown.svelte";
6
- import { createEventDispatcher, type ComponentEvents, type ComponentProps } from "svelte";
7
-
8
- type ArrayElement<ArrayType extends readonly unknown[]> =
9
- ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
10
-
11
- export type Header = ArrayElement<
12
- NonNullable<ComponentProps<SimpleTable>["headers"]>
13
- >;
1
+ <script context="module">import SimpleTable, {} from "../../simple/lists/SimpleTable.svelte";
2
+ import Icon from "../../simple/media/Icon.svelte";
3
+ import Paginator from "../../simple/lists/Paginator.svelte";
4
+ import Dropdown from "../forms/Dropdown.svelte";
5
+ import { createEventDispatcher } from "svelte";
14
6
  </script>
15
7
 
16
- <script lang="ts">
17
- import Filters from "../search/Filters.svelte";
18
- import SearchBar from "../search/SearchBar.svelte";
19
- import type Builder from "../../../utils/filters/builder";
20
- import Converter from "../../../utils/filters/filters";
21
-
22
- let clazz: {
23
- simpleTable?: ComponentProps<SimpleTable>['class']
24
- } = {};
25
- export { clazz as class };
26
-
27
- export let headers: ComponentProps<SimpleTable>['headers'] = [],
28
- items: ComponentProps<SimpleTable>['items'] = [],
29
- sortedBy: ComponentProps<SimpleTable>['sortedBy'] = undefined,
30
- sortDirection: ComponentProps<SimpleTable>['sortDirection'] = undefined,
31
- page: NonNullable<ComponentProps<Paginator>['page']> = 1,
32
- maxPage: ComponentProps<Paginator>['maxPage'] = undefined,
33
- rowsPerPageOptions: ComponentProps<Dropdown>['items'] = [
34
- { label: '20', value: 20 },
35
- { label: '50', value: 50 },
36
- { label: '100', value: 100 },
37
- ],
38
- hideRowsPerPage: boolean = false,
39
- totalElements: number | undefined = undefined,
40
- rowsPerPage: number = 20,
41
- filters: ComponentProps<Filters>['filters'] = [],
42
- searchBarColumns: string[] | undefined = undefined,
43
- searchBarVisible: boolean = true,
44
- searchBarPlaceholder: string = "Type something to search...",
45
- lang: 'it' | 'en' = 'en',
46
- editFilterMode: 'one-edit' | 'multi-edit' = 'one-edit',
47
- showActiveFilters: boolean = true,
48
- resizableColumns: boolean = false,
49
- resizedColumnSizeWithPadding: { [value: string]: number } = {},
50
- pointerOnRowHover: boolean | undefined = undefined,
51
- doubleClickActive: ComponentProps<SimpleTable>['doubleClickActive'] = false,
52
- doubleClickDelay: ComponentProps<SimpleTable>['doubleClickDelay'] = 250;
53
-
54
-
55
- export let calculateRowStyles: CalculateRowStyles | undefined = undefined;
56
- export let calculateRowClasses: CalculateRowClasses | undefined = undefined;
57
-
58
- let searchBarInput: HTMLElement,
59
- searchText: string | undefined = undefined,
60
- sortModify: Header['sortModify']
61
-
62
- let dispatch = createEventDispatcher<{
63
- paginationChange: {
64
- rowsPerPage: number,
65
- page: number,
66
- builder: Builder
67
- },
68
- filtersChange: {
69
- builder: Builder
70
- }
71
- }>()
72
-
73
- let rowsPerPageSelection: ComponentProps<Dropdown>['values'] = []
74
-
75
- $: rowsPerPageSelection = [
8
+ <script>import Filters from "../search/Filters.svelte";
9
+ import SearchBar from "../search/SearchBar.svelte";
10
+ import Converter from "../../../utils/filters/filters";
11
+ let clazz = {};
12
+ export { clazz as class };
13
+ export let headers = [], items = [], sortedBy = void 0, sortDirection = void 0, page = 1, maxPage = void 0, rowsPerPageOptions = [
14
+ { label: "20", value: 20 },
15
+ { label: "50", value: 50 },
16
+ { label: "100", value: 100 }
17
+ ], hideRowsPerPage = false, totalElements = void 0, rowsPerPage = 20, filters = [], searchBarColumns = void 0, searchBarVisible = true, searchBarPlaceholder = "Type something to search...", lang = "en", dateLocale = void 0, editFilterMode = "one-edit", showActiveFilters = true, resizableColumns = false, resizedColumnSizeWithPadding = {}, pointerOnRowHover = void 0, doubleClickActive = false, doubleClickDelay = 250;
18
+ export let calculateRowStyles = void 0;
19
+ export let calculateRowClasses = void 0;
20
+ let searchBarInput, searchText = void 0, sortModify;
21
+ let dispatch = createEventDispatcher();
22
+ let rowsPerPageSelection = [];
23
+ $:
24
+ rowsPerPageSelection = [
76
25
  { label: rowsPerPage.toString(), value: rowsPerPage }
77
- ]
78
-
79
- $: if(totalElements !== undefined) maxPage = Math.max(Math.round(totalElements/rowsPerPage), 1)
80
-
81
- function handleRowsPerPageChange(e: CustomEvent<{ selection: ComponentProps<Dropdown>['items']}>) {
82
- rowsPerPage = Number(e.detail.selection?.[0].value)
83
- handlePaginationChange()
84
- }
85
-
86
- function handlePaginationChange() {
87
- let builder = buildFilters()
88
-
89
- dispatch('paginationChange', {
90
- rowsPerPage, page, builder
91
- })
92
- }
93
-
94
- function handleSearchChange(searchText: string | undefined) {
95
- let builder = buildFilters({searchText})
96
-
97
- dispatch('filtersChange', {
98
- builder
99
- })
100
- }
101
-
102
- $: handleSearchChange(searchText)
103
-
104
- function handleSort(e: ComponentEvents<SimpleTable>['sort']) {
105
- sortModify = e.detail.sortModify
106
- handleFiltersChange()
107
- }
108
-
109
- function handleFiltersChange() {
110
- let builder = buildFilters({searchText})
111
-
112
- dispatch('filtersChange', {
113
- builder
114
- })
115
- }
116
-
117
- function buildFilters(params?:{searchText?:string | undefined}){
118
- let converter = new Converter()
119
- let builder: Builder
120
- builder = converter.createBuilder({
121
- filters: filters || []
122
- })
123
-
124
- if(!!params?.searchText && !!searchBarColumns && searchBarColumns.length > 0) {
125
-
126
- builder.where(b => {
127
- b.where(searchBarColumns![0], 'ilike', '%' + params?.searchText + '%')
128
- for(let i = 1; i < searchBarColumns!.length; i += 1) {
129
- b.orWhere(searchBarColumns![i], 'ilike', '%' + params?.searchText + '%')
130
- }
131
- })
132
- }
133
-
134
- if (!!sortedBy) {
135
- if(sortModify){
136
- builder = sortModify({ builder, sortDirection: sortDirection || 'asc' })
137
- }
138
- else {
139
- builder.orderBy(sortedBy, sortDirection || "asc");
26
+ ];
27
+ $:
28
+ if (totalElements !== void 0)
29
+ maxPage = Math.max(Math.round(totalElements / rowsPerPage), 1);
30
+ function handleRowsPerPageChange(e) {
31
+ rowsPerPage = Number(e.detail.selection?.[0].value);
32
+ handlePaginationChange();
33
+ }
34
+ function handlePaginationChange() {
35
+ let builder = buildFilters();
36
+ dispatch("paginationChange", {
37
+ rowsPerPage,
38
+ page,
39
+ builder
40
+ });
41
+ }
42
+ function handleSearchChange(searchText2) {
43
+ let builder = buildFilters({ searchText: searchText2 });
44
+ dispatch("filtersChange", {
45
+ builder
46
+ });
47
+ }
48
+ $:
49
+ handleSearchChange(searchText);
50
+ function handleSort(e) {
51
+ sortModify = e.detail.sortModify;
52
+ handleFiltersChange();
53
+ }
54
+ function handleFiltersChange() {
55
+ let builder = buildFilters({ searchText });
56
+ dispatch("filtersChange", {
57
+ builder
58
+ });
59
+ }
60
+ function buildFilters(params) {
61
+ let converter = new Converter();
62
+ let builder;
63
+ builder = converter.createBuilder({
64
+ filters: filters || []
65
+ });
66
+ if (!!params?.searchText && !!searchBarColumns && searchBarColumns.length > 0) {
67
+ builder.where((b) => {
68
+ b.where(searchBarColumns[0], "ilike", "%" + params?.searchText + "%");
69
+ for (let i = 1; i < searchBarColumns.length; i += 1) {
70
+ b.orWhere(searchBarColumns[i], "ilike", "%" + params?.searchText + "%");
140
71
  }
72
+ });
73
+ }
74
+ if (!!sortedBy) {
75
+ if (sortModify) {
76
+ builder = sortModify({ builder, sortDirection: sortDirection || "asc" });
77
+ } else {
78
+ builder.orderBy(sortedBy, sortDirection || "asc");
141
79
  }
142
-
143
- return builder
144
80
  }
145
-
81
+ return builder;
82
+ }
146
83
  </script>
147
84
 
148
85
  <div class="paginated-table">
@@ -168,6 +105,7 @@
168
105
  on:removeAllFilters
169
106
  --filters-default-wrapper-width="100%"
170
107
  {lang}
108
+ {dateLocale}
171
109
  {editFilterMode}
172
110
  {showActiveFilters}
173
111
  >
@@ -182,6 +120,9 @@
182
120
  </svelte:fragment>
183
121
  </Filters>
184
122
  </div>
123
+
124
+ <slot name="totals"></slot>
125
+
185
126
  <SimpleTable
186
127
  bind:headers
187
128
  bind:class={clazz.simpleTable}
@@ -286,7 +227,7 @@
286
227
  width: 100%;
287
228
  display: flex;
288
229
  flex-direction: column;
289
- gap: 24px;
230
+ gap: 8px;
290
231
  }
291
232
 
292
233
  .header-sort-icon {
@@ -1,3 +1,4 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  import SimpleTable, { type CalculateRowClasses, type CalculateRowStyles } from "../../simple/lists/SimpleTable.svelte";
2
3
  import Paginator from "../../simple/lists/Paginator.svelte";
3
4
  import Dropdown from "../forms/Dropdown.svelte";
@@ -5,114 +6,115 @@ import { type ComponentProps } from "svelte";
5
6
  type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
6
7
  export type Header = ArrayElement<NonNullable<ComponentProps<SimpleTable>["headers"]>>;
7
8
  import Filters from "../search/Filters.svelte";
8
- 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> {
9
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
10
- $$bindings?: Bindings;
11
- } & Exports;
12
- (internal: unknown, props: Props & {
13
- $$events?: Events;
14
- $$slots?: Slots;
15
- }): Exports & {
16
- $set?: any;
17
- $on?: any;
9
+ import type Builder from "../../../utils/filters/builder";
10
+ declare const __propDef: {
11
+ props: {
12
+ class?: {
13
+ simpleTable?: ComponentProps<SimpleTable>['class'];
14
+ } | undefined;
15
+ headers?: ComponentProps<SimpleTable>['headers'];
16
+ items?: ComponentProps<SimpleTable>['items'];
17
+ sortedBy?: ComponentProps<SimpleTable>['sortedBy'];
18
+ sortDirection?: ComponentProps<SimpleTable>['sortDirection'];
19
+ page?: number | undefined;
20
+ maxPage?: ComponentProps<Paginator>['maxPage'];
21
+ rowsPerPageOptions?: ComponentProps<Dropdown>['items'];
22
+ hideRowsPerPage?: boolean | undefined;
23
+ totalElements?: number | undefined;
24
+ rowsPerPage?: number | undefined;
25
+ filters?: ComponentProps<Filters>['filters'];
26
+ searchBarColumns?: string[] | undefined;
27
+ searchBarVisible?: boolean | undefined;
28
+ searchBarPlaceholder?: string | undefined;
29
+ lang?: "it" | "en" | undefined;
30
+ dateLocale?: 'it' | 'en' | undefined;
31
+ editFilterMode?: "one-edit" | "multi-edit" | undefined;
32
+ showActiveFilters?: boolean | undefined;
33
+ resizableColumns?: boolean | undefined;
34
+ resizedColumnSizeWithPadding?: {
35
+ [value: string]: number;
36
+ } | undefined;
37
+ pointerOnRowHover?: boolean | undefined;
38
+ doubleClickActive?: ComponentProps<SimpleTable>['doubleClickActive'];
39
+ doubleClickDelay?: ComponentProps<SimpleTable>['doubleClickDelay'];
40
+ calculateRowStyles?: CalculateRowStyles | undefined;
41
+ calculateRowClasses?: CalculateRowClasses | undefined;
18
42
  };
19
- z_$$bindings?: Bindings;
20
- }
21
- declare const PaginatedTable: $$__sveltets_2_IsomorphicComponent<{
22
- class?: {
23
- simpleTable?: ComponentProps<SimpleTable>["class"];
24
- };
25
- headers?: ComponentProps<SimpleTable>["headers"];
26
- items?: ComponentProps<SimpleTable>["items"];
27
- sortedBy?: ComponentProps<SimpleTable>["sortedBy"];
28
- sortDirection?: ComponentProps<SimpleTable>["sortDirection"];
29
- page?: NonNullable<ComponentProps<Paginator>["page"]>;
30
- maxPage?: ComponentProps<Paginator>["maxPage"];
31
- rowsPerPageOptions?: ComponentProps<Dropdown>["items"];
32
- hideRowsPerPage?: boolean;
33
- totalElements?: number | undefined;
34
- rowsPerPage?: number;
35
- filters?: ComponentProps<Filters>["filters"];
36
- searchBarColumns?: string[] | undefined;
37
- searchBarVisible?: boolean;
38
- searchBarPlaceholder?: string;
39
- lang?: "it" | "en";
40
- editFilterMode?: "one-edit" | "multi-edit";
41
- showActiveFilters?: boolean;
42
- resizableColumns?: boolean;
43
- resizedColumnSizeWithPadding?: {
44
- [value: string]: number;
45
- };
46
- pointerOnRowHover?: boolean | undefined;
47
- doubleClickActive?: ComponentProps<SimpleTable>["doubleClickActive"];
48
- doubleClickDelay?: ComponentProps<SimpleTable>["doubleClickDelay"];
49
- calculateRowStyles?: CalculateRowStyles | undefined;
50
- calculateRowClasses?: CalculateRowClasses | undefined;
51
- }, {
52
- removeFilter: CustomEvent<{
53
- filter: import("../../../utils/filters/filters").Filter;
54
- }>;
55
- removeAllFilters: CustomEvent<undefined>;
56
- sort: CustomEvent<{
57
- sortedBy: string | undefined;
58
- sortDirection: string;
59
- sortModify: import("../../simple/lists/SimpleTable.svelte").Header["sortModify"];
60
- }>;
61
- rowClick: CustomEvent<{
62
- item: import("../../simple/lists/SimpleTable.svelte").Item;
63
- }>;
64
- rowDoubleClick: CustomEvent<{
65
- item: import("../../simple/lists/SimpleTable.svelte").Item;
66
- }>;
67
- } & {
68
- [evt: string]: CustomEvent<any>;
69
- }, {
70
- 'search-bar': {
71
- handleSearchChange: (searchText: string | undefined) => void;
72
- };
73
- 'filter-append': {};
74
- 'custom-filter-chip': {
75
- filter: import("../../../utils/filters/filters").Filter;
76
- };
77
- 'custom-filter': {
78
- filter: import("../../../utils/filters/filters").Filter;
79
- updateFunction: (filterName: string, newValue: any, newValid: boolean) => void;
80
- mAndDown: boolean;
81
- };
82
- header: {
83
- head: import("../../simple/lists/SimpleTable.svelte").Header;
43
+ events: {
44
+ removeFilter: CustomEvent<{
45
+ filter: import("../../../utils/filters/filters").Filter;
46
+ }>;
47
+ removeAllFilters: CustomEvent<undefined>;
48
+ sort: CustomEvent<{
49
+ sortedBy: string | undefined;
50
+ sortDirection: string;
51
+ sortModify: ((params: {
52
+ builder: Builder;
53
+ sortDirection: "desc" | "asc";
54
+ }) => Builder) | undefined;
55
+ }>;
56
+ rowClick: CustomEvent<{
57
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
58
+ }>;
59
+ rowDoubleClick: CustomEvent<{
60
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
61
+ }>;
62
+ } & {
63
+ [evt: string]: CustomEvent<any>;
84
64
  };
85
- headerLabel: {};
86
- custom: {
87
- index: any;
88
- columnIndex: any;
89
- header: import("../../simple/lists/SimpleTable.svelte").Header;
90
- item: import("../../simple/lists/SimpleTable.svelte").Item;
65
+ slots: {
66
+ 'search-bar': {
67
+ handleSearchChange: (searchText: string | undefined) => void;
68
+ };
69
+ 'filter-append': {};
70
+ 'custom-filter-chip': {
71
+ filter: import("../../../utils/filters/filters").Filter;
72
+ };
73
+ 'custom-filter': {
74
+ filter: import("../../../utils/filters/filters").Filter;
75
+ updateFunction: (filterName: string, newValue: any, newValid: boolean) => void;
76
+ mAndDown: boolean;
77
+ };
78
+ totals: {};
79
+ header: {
80
+ head: import("../../simple/lists/SimpleTable.svelte").Header;
81
+ };
82
+ headerLabel: {};
83
+ custom: {
84
+ index: any;
85
+ columnIndex: any;
86
+ header: import("../../simple/lists/SimpleTable.svelte").Header;
87
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
88
+ };
89
+ rowActions: {
90
+ index: any;
91
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
92
+ };
93
+ append: {
94
+ index: any;
95
+ item: import("../../simple/lists/SimpleTable.svelte").Item;
96
+ };
97
+ footer: {
98
+ hideRowsPerPage: boolean;
99
+ rowsPerPageOptions: import("../forms/Dropdown.svelte").Item[] | undefined;
100
+ rowsPerPageSelection: import("../forms/Dropdown.svelte").Item[];
101
+ totalElements: number | undefined;
102
+ page: number;
103
+ maxPage: number | undefined;
104
+ rowsPerPage: number;
105
+ handlePaginationChange: () => void;
106
+ };
107
+ rangeDescriptor: {
108
+ page: number;
109
+ maxPage: number | undefined;
110
+ rowsPerPage: number;
111
+ totalElements: number | undefined;
112
+ };
91
113
  };
92
- rowActions: {
93
- index: any;
94
- item: import("../../simple/lists/SimpleTable.svelte").Item;
95
- };
96
- append: {
97
- index: any;
98
- item: import("../../simple/lists/SimpleTable.svelte").Item;
99
- };
100
- footer: {
101
- hideRowsPerPage: boolean;
102
- rowsPerPageOptions: import("../forms/Dropdown.svelte").Item[] | undefined;
103
- rowsPerPageSelection: import("../forms/Dropdown.svelte").Item[];
104
- totalElements: number | undefined;
105
- page: number;
106
- maxPage: number | undefined;
107
- rowsPerPage: number;
108
- handlePaginationChange: () => void;
109
- };
110
- rangeDescriptor: {
111
- page: number;
112
- maxPage: number | undefined;
113
- rowsPerPage: number;
114
- totalElements: number | undefined;
115
- };
116
- }, {}, string>;
117
- type PaginatedTable = InstanceType<typeof PaginatedTable>;
118
- export default PaginatedTable;
114
+ };
115
+ export type PaginatedTableProps = typeof __propDef.props;
116
+ export type PaginatedTableEvents = typeof __propDef.events;
117
+ export type PaginatedTableSlots = typeof __propDef.slots;
118
+ export default class PaginatedTable extends SvelteComponent<PaginatedTableProps, PaginatedTableEvents, PaginatedTableSlots> {
119
+ }
120
+ export {};
@@ -6,4 +6,8 @@
6
6
  --horizontal-stacked-progress-label-gap: 12px;
7
7
  --horizontal-stacked-progress-legend-margin-top: 8px;
8
8
  --progress-bar-default-tooltip-padding: 8px;
9
+ --horizontal-stacked-progress-default-label-font-size: .8rem;
10
+ --horizontal-stacked-progress-default-label-font-weight: 300;
11
+ --horizontal-stacked-progress-default-value-font-size: 1.1rem;
12
+ --horizontal-stacked-progress-default-value-font-weight: 700;
9
13
  }
@@ -1,69 +1,41 @@
1
- <script lang="ts" context="module">
2
- export type ProgressItem = {
3
- label?: string,
4
- color?: string,
5
- value: number,
6
- valueLabel?: string | number
7
- };
8
-
9
- export function isProgressItem(obj: any): obj is ProgressItem {
10
- return (
11
- (obj.label === undefined || typeof obj.label === 'string') &&
12
- (obj.color === undefined || typeof obj.color === 'string') &&
13
- typeof obj.value === 'number'
14
- );
15
- }
1
+ <script context="module">export function isProgressItem(obj) {
2
+ return (obj.label === void 0 || typeof obj.label === "string") && (obj.color === void 0 || typeof obj.color === "string") && typeof obj.value === "number";
3
+ }
16
4
  </script>
17
5
 
18
- <script lang="ts">
19
- import './HorizontalStackedProgress.css'
20
- import ProgressBar from "../../simple/progress/ProgressBar.svelte";
21
-
22
- export let progresses: (
23
- number |
24
- ProgressItem
25
- )[] = [],
26
- labelVisible: boolean = true,
27
- labelValueVisible: boolean = true,
28
- labelTextVisible: boolean = true,
29
- legendVisible: boolean = false,
30
- legendValueVisible: boolean = true,
31
- legendTextVisible: boolean = true,
32
- hideLabelUnderPercentage: number | undefined = undefined
33
-
34
- let colors = [
35
- 'rgb(var(--global-color-primary-500))',
36
- 'rgb(var(--global-color-primary-300))',
37
- 'rgb(var(--global-color-primary-700))',
38
- 'rgb(var(--global-color-primary-500), .5)',
39
- 'rgb(var(--global-color-primary-600), .5)',
40
- 'rgb(var(--global-color-primary-700), .5)'
41
- ]
42
-
43
- $: total = progresses.reduce<number>((p, c, i, a) => {
44
- if(isProgressItem(c)) {
45
- return p + c.value
6
+ <script>import "./HorizontalStackedProgress.css";
7
+ import ProgressBar from "../../simple/progress/ProgressBar.svelte";
8
+ export let progresses = [], labelVisible = true, labelValueVisible = true, labelTextVisible = true, legendVisible = false, legendValueVisible = true, legendTextVisible = true, hideLabelUnderPercentage = void 0, tooltipVisible = true;
9
+ let colors = [
10
+ "rgb(var(--global-color-primary-500))",
11
+ "rgb(var(--global-color-primary-300))",
12
+ "rgb(var(--global-color-primary-700))",
13
+ "rgb(var(--global-color-primary-500), .5)",
14
+ "rgb(var(--global-color-primary-600), .5)",
15
+ "rgb(var(--global-color-primary-700), .5)"
16
+ ];
17
+ $:
18
+ total = progresses.reduce((p, c, i, a) => {
19
+ if (isProgressItem(c)) {
20
+ return p + c.value;
46
21
  } else {
47
- return p + c
22
+ return p + c;
48
23
  }
49
- }, 0)
50
-
51
- $: progressesItems = progresses.map((p, i) => {
52
- let item: ProgressItem & { percentage: number }
53
- let value = isProgressItem(p) ? p.value : p
54
- // x : 100 = value : total
55
- let percentage = Number(((100 * value) / total).toFixed(2))
56
- let color = isProgressItem(p) ? p.color : colors[i % colors.length]
57
-
24
+ }, 0);
25
+ $:
26
+ progressesItems = progresses.map((p, i) => {
27
+ let item;
28
+ let value = isProgressItem(p) ? p.value : p;
29
+ let percentage = Number((100 * value / total).toFixed(2));
30
+ let color = isProgressItem(p) ? p.color : colors[i % colors.length];
58
31
  item = {
59
- ...(isProgressItem(p) ? p : {}),
32
+ ...isProgressItem(p) ? p : {},
60
33
  color,
61
34
  value,
62
35
  percentage
63
- }
64
-
65
- return item
66
- }).filter(p => p.value !== 0)
36
+ };
37
+ return item;
38
+ }).filter((p) => p.value !== 0);
67
39
  </script>
68
40
 
69
41
  <div class="horizontal-stacked-progress">
@@ -79,7 +51,7 @@
79
51
  total={progress.value}
80
52
  value={progress.value}
81
53
  --progress-bar-highlight-color={progress.color}
82
- valueTooltip
54
+ valueTooltip={tooltipVisible}
83
55
  valueTooltipLabel={progress.valueLabel || progress.value}
84
56
  ></ProgressBar>
85
57
  {#if progress.label && labelVisible && (hideLabelUnderPercentage === undefined || progress.percentage > hideLabelUnderPercentage)}
@@ -154,8 +126,14 @@
154
126
  }
155
127
 
156
128
  .label-text {
157
- font-size: .8rem;
158
- font-weight: 300;
129
+ font-size: var(
130
+ --horizontal-stacked-progress-label-font-size,
131
+ var(--horizontal-stacked-progress-default-label-font-size)
132
+ );
133
+ font-weight: var(
134
+ --horizontal-stacked-progress-label-font-weight,
135
+ var(--horizontal-stacked-progress-default-label-font-weight)
136
+ );
159
137
  }
160
138
 
161
139
  .label {
@@ -172,8 +150,14 @@
172
150
  }
173
151
 
174
152
  .value-text {
175
- font-size: 1.1rem;
176
- font-weight: 700;
153
+ font-size: var(
154
+ --horizontal-stacked-progress-value-font-size,
155
+ var(--horizontal-stacked-progress-default-value-font-size)
156
+ );
157
+ font-weight: var(
158
+ --horizontal-stacked-progress-value-font-weight,
159
+ var(--horizontal-stacked-progress-default-value-font-weight)
160
+ );
177
161
  }
178
162
 
179
163
  .dot {