@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,180 +1,290 @@
1
- <script context="module"></script>
2
-
3
- <script>import "../../../css/main.css";
4
- import "./SimpleTable.css";
5
- import Icon from "../media/Icon.svelte";
6
- import { createEventDispatcher, onMount, tick } from "svelte";
7
- let clazz = {};
8
- export { clazz as class };
9
- const dispatch = createEventDispatcher();
10
- export let headers = [], items = [], sortedBy = void 0, sortDirection = "asc", resizableColumns = false, resizedColumnSizeWithPadding = {}, pointerOnRowHover = false, doubleClickActive = false, doubleClickDelay = 250;
11
- let clickTimeout = void 0, sortModify, tableContainer, mainHeader, remainingWidth = 0, resizeObserver;
12
- export let calculateRowStyles = void 0;
13
- export let calculateRowClasses = void 0;
14
- onMount(() => {
15
- if (resizableColumns) {
16
- for (const head of [...headers, { value: "slot-append" }]) {
17
- let th;
18
- if (head.value == "slot-append") {
19
- th = document.getElementsByClassName(head.value).item(0);
20
- } else {
21
- th = document.getElementById(head.value);
1
+ <script context="module" lang="ts">
2
+ export type HeaderType = ColumnBoolean |
3
+ ColumnString |
4
+ ColumnNumber |
5
+ ColumnDate |
6
+ ColumnIcon |
7
+ ColumnCheckBox |
8
+ ColumnCustom
9
+
10
+ export type Header = {
11
+ value: string
12
+ label: string
13
+ type: HeaderType
14
+ width?: string
15
+ minWidth?: string
16
+ sortable?: boolean
17
+ sortModify?: (params: { builder: FilterBuilder, sortDirection: 'asc' | 'desc' }) => FilterBuilder
18
+ /* eslint-disable @typescript-eslint/no-explicit-any */
19
+ data?: { [key: string]: any }
20
+ };
21
+
22
+ export interface Item {
23
+ [key: string]: any;
24
+ }
25
+
26
+ export type CalculateRowStyles = (item: Item) => {
27
+ backgroundColor?: string;
28
+ color?: string;
29
+ fontWeight?: string;
30
+ };
31
+
32
+ export type CalculateRowClasses = (item: Item) => string | undefined;
33
+ </script>
34
+
35
+ <script lang="ts">
36
+ import '../../../css/main.css'
37
+ import './SimpleTable.css'
38
+ import Icon from '../media/Icon.svelte';
39
+ import { createEventDispatcher, onMount, tick } from 'svelte';
40
+ import type { DateTime } from 'luxon';
41
+ import type { ColumnBoolean, ColumnCheckBox, ColumnCustom, ColumnDate, ColumnIcon, ColumnNumber, ColumnString } from './columnTypes';
42
+ import type { FilterBuilder } from '../../..';
43
+
44
+ let clazz: {
45
+ container?: string;
46
+ header?: string;
47
+ row?: string;
48
+ cell?: string;
49
+ } = {};
50
+ export { clazz as class };
51
+
52
+ const dispatch = createEventDispatcher<{
53
+ 'sort': {
54
+ sortedBy: string | undefined,
55
+ sortDirection: string
56
+ sortModify: Header['sortModify']
57
+ },
58
+ 'rowClick': {
59
+ item: Item
60
+ },
61
+ 'rowDoubleClick': {
62
+ item: Item
63
+ },
64
+ columnResize: {
65
+ id: string,
66
+ newWidthPx: number
67
+ }
68
+ }>()
69
+
70
+ export let headers: Header[] = [],
71
+ items: Item[] = [],
72
+ sortedBy: string | undefined = undefined,
73
+ sortDirection: "asc" | "desc" = "asc",
74
+ resizableColumns: boolean = false,
75
+ resizedColumnSizeWithPadding: { [value: string]: number } = {},
76
+ pointerOnRowHover: boolean = false,
77
+ doubleClickActive: boolean = false,
78
+ doubleClickDelay: number = 250;
79
+
80
+ let clickTimeout: NodeJS.Timeout | undefined = undefined,
81
+ sortModify: Header['sortModify'],
82
+ tableContainer: HTMLElement,
83
+ mainHeader: HTMLElement,
84
+ remainingWidth: number = 0,
85
+ resizeObserver: ResizeObserver
86
+
87
+
88
+ export let calculateRowStyles: CalculateRowStyles | undefined = undefined;
89
+ export let calculateRowClasses: CalculateRowClasses | undefined = undefined;
90
+
91
+ onMount(() => {
92
+ if(resizableColumns) {
93
+ for(const head of [...headers, { value: 'slot-append' }]) {
94
+ let th
95
+ if(head.value == 'slot-append') {
96
+ th = document.getElementsByClassName(head.value).item(0) as HTMLElement
97
+ } else {
98
+ th = document.getElementById(head.value) as HTMLElement
99
+ }
100
+ if(!!th) {
101
+ let widthWihtPadding;
102
+ if (!!resizedColumnSizeWithPadding[head.value]) {
103
+ widthWihtPadding = resizedColumnSizeWithPadding[head.value];
104
+ } else {
105
+ widthWihtPadding = th.getBoundingClientRect().width;
106
+ resizedColumnSizeWithPadding[head.value] = widthWihtPadding;
107
+ }
108
+ }
22
109
  }
23
- if (!!th) {
24
- let widthWihtPadding;
25
- if (!!resizedColumnSizeWithPadding[head.value]) {
26
- widthWihtPadding = resizedColumnSizeWithPadding[head.value];
110
+
111
+ for(const head of [...headers, { value: 'slot-append' }]) {
112
+ let th
113
+ if(head.value == 'slot-append') {
114
+ th = document.getElementsByClassName(head.value).item(0) as HTMLElement
27
115
  } else {
28
- widthWihtPadding = th.getBoundingClientRect().width;
29
- resizedColumnSizeWithPadding[head.value] = widthWihtPadding;
116
+ th = document.getElementById(head.value) as HTMLElement
117
+ }
118
+ if(!!th) {
119
+ let { paddingLeft, paddingRight } = getComputedStyle(th);
120
+ let width = resizedColumnSizeWithPadding[head.value] - parseFloat(paddingLeft) - parseFloat(paddingRight);
121
+ th.style.width = `${width}px`
30
122
  }
31
123
  }
124
+
125
+ let table = document.getElementsByClassName('table')[0] as HTMLElement
126
+ table.classList.add('resizable')
127
+
128
+ resizeObserver = new ResizeObserver(() => {
129
+ updateRemainingWidth();
130
+ });
131
+ resizeObserver.observe(tableContainer);
132
+
133
+ return () => {
134
+ resizeObserver?.disconnect();
135
+ };
32
136
  }
33
- for (const head of [...headers, { value: "slot-append" }]) {
34
- let th;
35
- if (head.value == "slot-append") {
36
- th = document.getElementsByClassName(head.value).item(0);
137
+ })
138
+
139
+
140
+ function handleHeaderClick(header: Header) {
141
+ if(header.sortable) {
142
+ if(!!sortedBy && header.value == sortedBy) {
143
+ if(sortDirection == 'asc') sortDirection = 'desc'
144
+ else if(sortDirection == 'desc') {
145
+ sortedBy = undefined
146
+ sortModify = undefined
147
+ }
37
148
  } else {
38
- th = document.getElementById(head.value);
39
- }
40
- if (!!th) {
41
- let { paddingLeft, paddingRight } = getComputedStyle(th);
42
- let width = resizedColumnSizeWithPadding[head.value] - parseFloat(paddingLeft) - parseFloat(paddingRight);
43
- th.style.width = `${width}px`;
149
+ sortedBy = header.value
150
+ sortDirection = 'asc'
151
+ sortModify = header.sortModify
44
152
  }
153
+ dispatch('sort', {
154
+ sortedBy, sortDirection, sortModify
155
+ })
45
156
  }
46
- let table = document.getElementsByClassName("table")[0];
47
- table.classList.add("resizable");
48
- resizeObserver = new ResizeObserver(() => {
49
- updateRemainingWidth();
50
- });
51
- resizeObserver.observe(tableContainer);
52
- return () => {
53
- resizeObserver?.disconnect();
54
- };
55
- }
56
- });
57
- function handleHeaderClick(header) {
58
- if (header.sortable) {
59
- if (!!sortedBy && header.value == sortedBy) {
60
- if (sortDirection == "asc")
61
- sortDirection = "desc";
62
- else if (sortDirection == "desc") {
63
- sortedBy = void 0;
64
- sortModify = void 0;
157
+ }
158
+
159
+ function handleRowClick(item: { [key: string]: any }) {
160
+ if(doubleClickActive) {
161
+ if (clickTimeout) {
162
+ clearTimeout(clickTimeout);
163
+ clickTimeout = undefined;
164
+
165
+ dispatch('rowDoubleClick', { item });
166
+ } else {
167
+ clickTimeout = setTimeout(() => {
168
+ dispatch('rowClick', { item });
169
+ clickTimeout = undefined;
170
+ }, doubleClickDelay);
65
171
  }
66
172
  } else {
67
- sortedBy = header.value;
68
- sortDirection = "asc";
69
- sortModify = header.sortModify;
173
+ dispatch('rowClick', { item });
70
174
  }
71
- dispatch("sort", {
72
- sortedBy,
73
- sortDirection,
74
- sortModify
75
- });
76
- }
77
175
  }
78
- function handleRowClick(item) {
79
- if (doubleClickActive) {
80
- if (clickTimeout) {
81
- clearTimeout(clickTimeout);
82
- clickTimeout = void 0;
83
- dispatch("rowDoubleClick", { item });
84
- } else {
85
- clickTimeout = setTimeout(() => {
86
- dispatch("rowClick", { item });
87
- clickTimeout = void 0;
88
- }, doubleClickDelay);
89
- }
90
- } else {
91
- dispatch("rowClick", { item });
176
+
177
+ function formatDate(dateTime: DateTime, dateFormat: ColumnDate['params']): string {
178
+ return dateTime.setLocale(dateFormat.locale).toFormat(dateFormat.format)
92
179
  }
93
- }
94
- function formatDate(dateTime, dateFormat) {
95
- return dateTime.setLocale(dateFormat.locale).toFormat(dateFormat.format);
96
- }
97
- function resize(node) {
98
- let th = node.parentElement;
99
- let thead = document.getElementsByClassName("thead").item(0);
100
- if (!!th && !!thead && thead instanceof HTMLElement) {
101
- let mouseMoveHandler = function(e) {
102
- if (resizing && !!th) {
103
- width += e.movementX;
104
- let { paddingLeft, paddingRight } = getComputedStyle(th);
105
- let minWidth = headers.find((h) => h.value === th.id)?.minWidth;
106
- let minWidthPx = void 0;
107
- if (!!minWidth && minWidth.endsWith("px")) {
108
- minWidthPx = parseInt(minWidth, 10);
109
- }
110
- let actualMinWidth = (minWidthPx || 50) - parseFloat(paddingLeft) - parseFloat(paddingRight);
111
- if (width > actualMinWidth) {
112
- th.style.width = width + "px";
113
- resizedColumnSizeWithPadding[th.id] = th.getBoundingClientRect().width;
114
- dispatch("columnResize", {
115
- id: th.id,
116
- newWidthPx: width
117
- });
180
+
181
+
182
+ function resize(node: HTMLElement) {
183
+ let th: HTMLElement | null = node.parentElement
184
+ let thead: Element | null = document.getElementsByClassName('thead').item(0)
185
+
186
+ if(!!th && !!thead && thead instanceof HTMLElement) {
187
+ let resizing = false
188
+ let { width } = th.getBoundingClientRect()
189
+
190
+ function mouseMoveHandler(e: MouseEvent) {
191
+ if(resizing && !!th) {
192
+ width += e.movementX
193
+ let { paddingLeft, paddingRight } = getComputedStyle(th)
194
+
195
+ let minWidth: string | undefined = headers.find(h => h.value === th.id)?.minWidth
196
+ let minWidthPx: number | undefined = undefined
197
+ if(!!minWidth && minWidth.endsWith('px')) {
198
+ minWidthPx = parseInt(minWidth, 10)
199
+ }
200
+
201
+ let actualMinWidth = (minWidthPx || 50) - parseFloat(paddingLeft) - parseFloat(paddingRight)
202
+ if(width > actualMinWidth) {
203
+ th.style.width = width + 'px'
204
+ resizedColumnSizeWithPadding[th.id] = th.getBoundingClientRect().width
205
+ dispatch('columnResize', {
206
+ id: th.id,
207
+ newWidthPx: width
208
+ })
209
+ }
118
210
  }
119
211
  }
120
- }, mouseUpHandler = function(e) {
121
- if (!!th) {
122
- resizing = false;
123
- let { paddingLeft, paddingRight } = getComputedStyle(th);
124
- width = th.getBoundingClientRect().width - parseFloat(paddingLeft) - parseFloat(paddingRight);
212
+
213
+ function mouseUpHandler(e: MouseEvent) {
214
+ if(!!th) {
215
+ resizing = false
216
+ let { paddingLeft, paddingRight } = getComputedStyle(th)
217
+ width = th.getBoundingClientRect().width - parseFloat(paddingLeft) - parseFloat(paddingRight)
218
+ }
125
219
  }
126
- }, mouseDownHandler = function(e) {
127
- if (!!th) {
128
- e.stopPropagation();
129
- resizing = true;
130
- let { paddingLeft, paddingRight } = getComputedStyle(th);
131
- width = th.getBoundingClientRect().width - parseFloat(paddingLeft) - parseFloat(paddingRight);
220
+
221
+ function mouseDownHandler(e: MouseEvent) {
222
+ if(!!th) {
223
+ e.stopPropagation()
224
+ resizing = true
225
+ let { paddingLeft, paddingRight } = getComputedStyle(th)
226
+ width = th.getBoundingClientRect().width - parseFloat(paddingLeft) - parseFloat(paddingRight)
227
+ }
132
228
  }
133
- };
134
- let resizing = false;
135
- let { width } = th.getBoundingClientRect();
136
- node.addEventListener("mousedown", mouseDownHandler);
137
- document.addEventListener("mouseup", mouseUpHandler);
138
- document.addEventListener("mousemove", mouseMoveHandler);
139
- return {
140
- destroy() {
141
- node.removeEventListener("mousedown", mouseDownHandler);
142
- document.removeEventListener("mouseup", mouseUpHandler);
143
- document.removeEventListener("mousemove", mouseMoveHandler);
229
+
230
+ node.addEventListener('mousedown', mouseDownHandler)
231
+ document.addEventListener('mouseup', mouseUpHandler)
232
+ document.addEventListener('mousemove', mouseMoveHandler)
233
+
234
+
235
+ return {
236
+ destroy() {
237
+ node.removeEventListener('mousedown', mouseDownHandler)
238
+ document.removeEventListener('mouseup', mouseUpHandler)
239
+ document.removeEventListener('mousemove', mouseMoveHandler)
240
+ }
144
241
  }
145
- };
242
+ }
146
243
  }
147
- }
148
- $:
149
- if (resizableColumns && !!tableContainer && resizableColumns && headers.length > 0 && resizedColumnSizeWithPadding && mainHeader) {
244
+
245
+ $: if (
246
+ resizableColumns &&
247
+ !!tableContainer &&
248
+ resizableColumns &&
249
+ headers.length > 0 &&
250
+ resizedColumnSizeWithPadding &&
251
+ mainHeader
252
+ ) {
150
253
  tick().then(updateRemainingWidth);
151
254
  }
152
- async function updateRemainingWidth() {
153
- if (tableContainer != null && !!tableContainer) {
154
- const containerWidth = tableContainer?.getBoundingClientRect().width - 30;
155
- if (containerWidth) {
156
- const totalResizableWidth = headers.reduce((sum, head) => {
157
- let th = document.getElementById(head.value);
158
- if (!!th) {
159
- resizeHeader(th, head);
160
- }
161
- const width = th?.getBoundingClientRect().width || 0;
162
- return sum + width + 1;
163
- }, 0);
164
- const extraStaticWidth = Array.from(mainHeader.querySelectorAll("th.non-resizable, th.slot-append, th.customize-headers")).reduce((sum, th) => sum + th.getBoundingClientRect().width + 1, 0);
165
- remainingWidth = Math.max(0, containerWidth - totalResizableWidth - extraStaticWidth);
255
+
256
+ async function updateRemainingWidth() {
257
+ if(tableContainer != null && !!tableContainer) {
258
+ const containerWidth = tableContainer?.getBoundingClientRect().width - 30;
259
+
260
+ if(containerWidth){
261
+ const totalResizableWidth = headers.reduce((sum, head) => {
262
+ let th = document.getElementById(head.value)
263
+ if(!!th) {
264
+ resizeHeader(th, head)
265
+ }
266
+ const width = th?.getBoundingClientRect().width || 0
267
+ return sum + width + 1;
268
+ }, 0);
269
+
270
+ const extraStaticWidth = Array.from(mainHeader.querySelectorAll('th.non-resizable, th.slot-append, th.customize-headers'))
271
+ .reduce((sum, th) => sum + th.getBoundingClientRect().width + 1, 0);
272
+
273
+ remainingWidth = Math.max(0, containerWidth - totalResizableWidth - extraStaticWidth);
274
+ }
166
275
  }
167
276
  }
168
- }
169
- function resizeHeader(th, header) {
170
- if (!resizedColumnSizeWithPadding[header.value]) {
171
- let widthWihtPadding = th.getBoundingClientRect().width;
172
- resizedColumnSizeWithPadding[header.value] = widthWihtPadding;
173
- }
174
- let { paddingLeft, paddingRight } = getComputedStyle(th);
175
- let width = resizedColumnSizeWithPadding[header.value] - parseFloat(paddingLeft) - parseFloat(paddingRight);
176
- th.style.width = `${width}px`;
177
- }
277
+
278
+ function resizeHeader(th: HTMLElement, header: { value: string, minWidth?: string, maxWidth?: string }){
279
+ if (!resizedColumnSizeWithPadding[header.value]) {
280
+ let widthWihtPadding = th.getBoundingClientRect().width
281
+ resizedColumnSizeWithPadding[header.value] = widthWihtPadding;
282
+ }
283
+ let { paddingLeft, paddingRight } = getComputedStyle(th);
284
+ let width = resizedColumnSizeWithPadding[header.value] - parseFloat(paddingLeft) - parseFloat(paddingRight);
285
+ th.style.width = `${width}px`
286
+ }
287
+
178
288
  </script>
179
289
 
180
290
  {#if !!items && Array.isArray(items)}
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type HeaderType = ColumnBoolean | ColumnString | ColumnNumber | ColumnDate | ColumnIcon | ColumnCheckBox | ColumnCustom;
3
2
  export type Header = {
4
3
  value: string;
@@ -28,71 +27,76 @@ import '../../../css/main.css';
28
27
  import './SimpleTable.css';
29
28
  import type { ColumnBoolean, ColumnCheckBox, ColumnCustom, ColumnDate, ColumnIcon, ColumnNumber, ColumnString } from './columnTypes';
30
29
  import type { FilterBuilder } from '../../..';
31
- declare const __propDef: {
32
- props: {
33
- class?: {
34
- container?: string | undefined;
35
- header?: string | undefined;
36
- row?: string | undefined;
37
- cell?: string | undefined;
38
- } | undefined;
39
- headers?: Header[] | undefined;
40
- items?: Item[] | undefined;
41
- sortedBy?: string | undefined;
42
- sortDirection?: "desc" | "asc" | undefined;
43
- resizableColumns?: boolean | undefined;
44
- resizedColumnSizeWithPadding?: {
45
- [value: string]: number;
46
- } | undefined;
47
- pointerOnRowHover?: boolean | undefined;
48
- doubleClickActive?: boolean | undefined;
49
- doubleClickDelay?: number | undefined;
50
- calculateRowStyles?: CalculateRowStyles | undefined;
51
- calculateRowClasses?: CalculateRowClasses | undefined;
30
+ 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> {
31
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
32
+ $$bindings?: Bindings;
33
+ } & Exports;
34
+ (internal: unknown, props: Props & {
35
+ $$events?: Events;
36
+ $$slots?: Slots;
37
+ }): Exports & {
38
+ $set?: any;
39
+ $on?: any;
52
40
  };
53
- events: {
54
- sort: CustomEvent<{
55
- sortedBy: string | undefined;
56
- sortDirection: string;
57
- sortModify: Header['sortModify'];
58
- }>;
59
- rowClick: CustomEvent<{
60
- item: Item;
61
- }>;
62
- rowDoubleClick: CustomEvent<{
63
- item: Item;
64
- }>;
65
- columnResize: CustomEvent<{
66
- id: string;
67
- newWidthPx: number;
68
- }>;
69
- } & {
70
- [evt: string]: CustomEvent<any>;
41
+ z_$$bindings?: Bindings;
42
+ }
43
+ declare const SimpleTable: $$__sveltets_2_IsomorphicComponent<{
44
+ class?: {
45
+ container?: string;
46
+ header?: string;
47
+ row?: string;
48
+ cell?: string;
71
49
  };
72
- slots: {
73
- header: {
74
- head: Header;
75
- };
76
- headerLabel: {};
77
- append: {
78
- index: any;
79
- item: Item;
80
- };
81
- custom: {
82
- index: any;
83
- columnIndex: any;
84
- header: Header;
85
- item: Item;
86
- };
87
- rowActions: {
88
- index: any;
89
- item: Item;
90
- };
50
+ headers?: Header[];
51
+ items?: Item[];
52
+ sortedBy?: string | undefined;
53
+ sortDirection?: "asc" | "desc";
54
+ resizableColumns?: boolean;
55
+ resizedColumnSizeWithPadding?: {
56
+ [value: string]: number;
91
57
  };
92
- };
93
- export type SimpleTableProps = typeof __propDef.props;
94
- export type SimpleTableEvents = typeof __propDef.events;
95
- export type SimpleTableSlots = typeof __propDef.slots;
96
- export default class SimpleTable extends SvelteComponent<SimpleTableProps, SimpleTableEvents, SimpleTableSlots> {
97
- }
98
- export {};
58
+ pointerOnRowHover?: boolean;
59
+ doubleClickActive?: boolean;
60
+ doubleClickDelay?: number;
61
+ calculateRowStyles?: CalculateRowStyles | undefined;
62
+ calculateRowClasses?: CalculateRowClasses | undefined;
63
+ }, {
64
+ sort: CustomEvent<{
65
+ sortedBy: string | undefined;
66
+ sortDirection: string;
67
+ sortModify: Header["sortModify"];
68
+ }>;
69
+ rowClick: CustomEvent<{
70
+ item: Item;
71
+ }>;
72
+ rowDoubleClick: CustomEvent<{
73
+ item: Item;
74
+ }>;
75
+ columnResize: CustomEvent<{
76
+ id: string;
77
+ newWidthPx: number;
78
+ }>;
79
+ } & {
80
+ [evt: string]: CustomEvent<any>;
81
+ }, {
82
+ header: {
83
+ head: Header;
84
+ };
85
+ headerLabel: {};
86
+ append: {
87
+ index: any;
88
+ item: Item;
89
+ };
90
+ custom: {
91
+ index: any;
92
+ columnIndex: any;
93
+ header: Header;
94
+ item: Item;
95
+ };
96
+ rowActions: {
97
+ index: any;
98
+ item: Item;
99
+ };
100
+ }, {}, string>;
101
+ type SimpleTable = InstanceType<typeof SimpleTable>;
102
+ export default SimpleTable;
@@ -1,8 +1,19 @@
1
- <script>import "../../../css/main.css";
2
- import "./CircularLoader.css";
3
- let clazz = "";
4
- export { clazz as class };
5
- export let loading = true;
1
+ <script lang="ts">
2
+ import '../../../css/main.css'
3
+ import './CircularLoader.css'
4
+
5
+ let clazz: string = '';
6
+ export { clazz as class };
7
+
8
+ /*
9
+ Styles
10
+
11
+ --circular-loader-width
12
+ --circular-loader-height
13
+ --circular-loader-color
14
+ */
15
+
16
+ export let loading = true
6
17
  </script>
7
18
 
8
19
  <svg
@@ -1,19 +1,23 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import '../../../css/main.css';
3
2
  import './CircularLoader.css';
4
- declare const __propDef: {
5
- props: {
6
- class?: string | undefined;
7
- loading?: 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;
8
13
  };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- };
14
- export type CircularLoaderProps = typeof __propDef.props;
15
- export type CircularLoaderEvents = typeof __propDef.events;
16
- export type CircularLoaderSlots = typeof __propDef.slots;
17
- export default class CircularLoader extends SvelteComponent<CircularLoaderProps, CircularLoaderEvents, CircularLoaderSlots> {
14
+ z_$$bindings?: Bindings;
18
15
  }
19
- export {};
16
+ declare const CircularLoader: $$__sveltets_2_IsomorphicComponent<{
17
+ class?: string;
18
+ loading?: boolean;
19
+ }, {
20
+ [evt: string]: CustomEvent<any>;
21
+ }, {}, {}, string>;
22
+ type CircularLoader = InstanceType<typeof CircularLoader>;
23
+ export default CircularLoader;
@@ -1,5 +1,6 @@
1
- <script>import "../../../css/main.css";
2
- import "./Skeleton.css";
1
+ <script lang="ts">
2
+ import '../../../css/main.css'
3
+ import './Skeleton.css'
3
4
  </script>
4
5
 
5
6
  <div