@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,290 +1,180 @@
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
- }
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);
109
22
  }
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
23
+ if (!!th) {
24
+ let widthWihtPadding;
25
+ if (!!resizedColumnSizeWithPadding[head.value]) {
26
+ widthWihtPadding = resizedColumnSizeWithPadding[head.value];
115
27
  } else {
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`
28
+ widthWihtPadding = th.getBoundingClientRect().width;
29
+ resizedColumnSizeWithPadding[head.value] = widthWihtPadding;
122
30
  }
123
31
  }
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
- };
136
32
  }
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
- }
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);
148
37
  } else {
149
- sortedBy = header.value
150
- sortDirection = 'asc'
151
- sortModify = header.sortModify
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`;
152
44
  }
153
- dispatch('sort', {
154
- sortedBy, sortDirection, sortModify
155
- })
156
45
  }
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);
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;
171
65
  }
172
66
  } else {
173
- dispatch('rowClick', { item });
67
+ sortedBy = header.value;
68
+ sortDirection = "asc";
69
+ sortModify = header.sortModify;
174
70
  }
71
+ dispatch("sort", {
72
+ sortedBy,
73
+ sortDirection,
74
+ sortModify
75
+ });
76
+ }
175
77
  }
176
-
177
- function formatDate(dateTime: DateTime, dateFormat: ColumnDate['params']): string {
178
- return dateTime.setLocale(dateFormat.locale).toFormat(dateFormat.format)
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 });
179
92
  }
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
- }
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);
210
109
  }
211
- }
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)
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
+ });
218
118
  }
219
119
  }
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
- }
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);
228
125
  }
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
- }
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);
241
132
  }
242
- }
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);
144
+ }
145
+ };
243
146
  }
244
-
245
- $: if (
246
- resizableColumns &&
247
- !!tableContainer &&
248
- resizableColumns &&
249
- headers.length > 0 &&
250
- resizedColumnSizeWithPadding &&
251
- mainHeader
252
- ) {
147
+ }
148
+ $:
149
+ if (resizableColumns && !!tableContainer && resizableColumns && headers.length > 0 && resizedColumnSizeWithPadding && mainHeader) {
253
150
  tick().then(updateRemainingWidth);
254
151
  }
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
- }
275
- }
276
- }
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;
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);
282
166
  }
283
- let { paddingLeft, paddingRight } = getComputedStyle(th);
284
- let width = resizedColumnSizeWithPadding[header.value] - parseFloat(paddingLeft) - parseFloat(paddingRight);
285
- th.style.width = `${width}px`
286
167
  }
287
-
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
+ }
288
178
  </script>
289
179
 
290
180
  {#if !!items && Array.isArray(items)}
@@ -1,3 +1,4 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  export type HeaderType = ColumnBoolean | ColumnString | ColumnNumber | ColumnDate | ColumnIcon | ColumnCheckBox | ColumnCustom;
2
3
  export type Header = {
3
4
  value: string;
@@ -27,76 +28,71 @@ import '../../../css/main.css';
27
28
  import './SimpleTable.css';
28
29
  import type { ColumnBoolean, ColumnCheckBox, ColumnCustom, ColumnDate, ColumnIcon, ColumnNumber, ColumnString } from './columnTypes';
29
30
  import type { FilterBuilder } from '../../..';
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;
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;
40
52
  };
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;
49
- };
50
- headers?: Header[];
51
- items?: Item[];
52
- sortedBy?: string | undefined;
53
- sortDirection?: "asc" | "desc";
54
- resizableColumns?: boolean;
55
- resizedColumnSizeWithPadding?: {
56
- [value: string]: number;
57
- };
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;
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>;
89
71
  };
90
- custom: {
91
- index: any;
92
- columnIndex: any;
93
- header: Header;
94
- item: Item;
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
+ };
95
91
  };
96
- rowActions: {
97
- index: any;
98
- item: Item;
99
- };
100
- }, {}, string>;
101
- type SimpleTable = InstanceType<typeof SimpleTable>;
102
- export default SimpleTable;
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 {};
@@ -1,19 +1,8 @@
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
1
+ <script>import "../../../css/main.css";
2
+ import "./CircularLoader.css";
3
+ let clazz = "";
4
+ export { clazz as class };
5
+ export let loading = true;
17
6
  </script>
18
7
 
19
8
  <svg
@@ -1,23 +1,19 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  import '../../../css/main.css';
2
3
  import './CircularLoader.css';
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;
4
+ declare const __propDef: {
5
+ props: {
6
+ class?: string | undefined;
7
+ loading?: boolean | undefined;
13
8
  };
14
- z_$$bindings?: Bindings;
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> {
15
18
  }
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;
19
+ export {};
@@ -1,6 +1,5 @@
1
- <script lang="ts">
2
- import '../../../css/main.css'
3
- import './Skeleton.css'
1
+ <script>import "../../../css/main.css";
2
+ import "./Skeleton.css";
4
3
  </script>
5
4
 
6
5
  <div