@likable-hair/svelte 3.3.20 → 3.3.21

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 (197) 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 +5 -21
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +36 -50
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +13 -29
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +30 -34
  7. package/dist/components/composed/common/QuickActions.svelte +20 -52
  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.svelte +707 -1102
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +365 -369
  35. package/dist/components/composed/list/PaginatedTable.svelte +76 -139
  36. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +108 -108
  37. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +30 -58
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +21 -25
  39. package/dist/components/composed/search/DynamicFilters.svelte +82 -103
  40. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +27 -31
  41. package/dist/components/composed/search/FilterEditor.svelte +77 -106
  42. package/dist/components/composed/search/FilterEditor.svelte.d.ts +33 -37
  43. package/dist/components/composed/search/Filters.svelte +292 -361
  44. package/dist/components/composed/search/Filters.svelte.d.ts +51 -55
  45. package/dist/components/composed/search/GlobalSearchTextField.svelte +41 -79
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +39 -43
  47. package/dist/components/composed/search/MobileFilterEditor.svelte +93 -135
  48. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +35 -39
  49. package/dist/components/composed/search/SearchBar.svelte +5 -28
  50. package/dist/components/composed/search/SearchBar.svelte.d.ts +30 -34
  51. package/dist/components/composed/search/SearchResults.svelte +7 -42
  52. package/dist/components/composed/search/SearchResults.svelte.d.ts +36 -40
  53. package/dist/components/composed/shop/ProductCard.svelte +4 -18
  54. package/dist/components/composed/shop/ProductCard.svelte.d.ts +28 -32
  55. package/dist/components/composed/shop/ProductsGrid.svelte +2 -22
  56. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +40 -44
  57. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +38 -77
  58. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +69 -109
  59. package/dist/components/layouts/StableDividedSideBarLayout.svelte +17 -47
  60. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +32 -50
  61. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +30 -53
  62. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +63 -103
  63. package/dist/components/simple/buttons/Button.svelte +32 -78
  64. package/dist/components/simple/buttons/Button.svelte.d.ts +35 -47
  65. package/dist/components/simple/buttons/LinkButton.svelte +22 -54
  66. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +33 -50
  67. package/dist/components/simple/charts/GanymedeBarChart.svelte +134 -172
  68. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +46 -50
  69. package/dist/components/simple/charts/GanymedeLineChart.svelte +115 -157
  70. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +47 -51
  71. package/dist/components/simple/charts/GanymedePieChart.svelte +39 -62
  72. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +33 -37
  73. package/dist/components/simple/common/Card.svelte +1 -20
  74. package/dist/components/simple/common/Card.svelte.d.ts +38 -51
  75. package/dist/components/simple/common/CollapsibleDivider.svelte +11 -23
  76. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +25 -29
  77. package/dist/components/simple/common/Divider.svelte +2 -8
  78. package/dist/components/simple/common/Divider.svelte.d.ts +19 -23
  79. package/dist/components/simple/common/Gesture.svelte +46 -64
  80. package/dist/components/simple/common/Gesture.svelte.d.ts +17 -21
  81. package/dist/components/simple/common/InfiniteScroll.svelte +29 -52
  82. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +20 -24
  83. package/dist/components/simple/common/IntersectionObserver.svelte +32 -45
  84. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +21 -34
  85. package/dist/components/simple/common/MediaQuery.svelte +21 -30
  86. package/dist/components/simple/common/MediaQuery.svelte.d.ts +30 -34
  87. package/dist/components/simple/common/Menu.svelte +201 -290
  88. package/dist/components/simple/common/Menu.svelte.d.ts +40 -51
  89. package/dist/components/simple/common/Playground.svelte +17 -18
  90. package/dist/components/simple/common/Playground.svelte.d.ts +15 -19
  91. package/dist/components/simple/common/VerticalDraggableList.svelte +16 -35
  92. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +29 -33
  93. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +26 -32
  94. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +12 -16
  95. package/dist/components/simple/dates/Calendar.svelte +28 -52
  96. package/dist/components/simple/dates/Calendar.svelte.d.ts +41 -45
  97. package/dist/components/simple/dates/DatePicker.svelte +60 -90
  98. package/dist/components/simple/dates/DatePicker.svelte.d.ts +40 -44
  99. package/dist/components/simple/dates/MonthSelector.svelte +15 -37
  100. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +31 -35
  101. package/dist/components/simple/dates/TimePicker.svelte +31 -45
  102. package/dist/components/simple/dates/TimePicker.svelte.d.ts +20 -24
  103. package/dist/components/simple/dates/TimePickerTextField.svelte +35 -56
  104. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +24 -28
  105. package/dist/components/simple/dates/YearSelector.svelte +29 -54
  106. package/dist/components/simple/dates/YearSelector.svelte.d.ts +31 -35
  107. package/dist/components/simple/dialogs/Dialog.svelte +62 -92
  108. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +28 -42
  109. package/dist/components/simple/forms/Autocomplete.svelte +142 -201
  110. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -83
  111. package/dist/components/simple/forms/Checkbox.svelte +24 -40
  112. package/dist/components/simple/forms/Checkbox.svelte.d.ts +21 -25
  113. package/dist/components/simple/forms/FileInput.svelte +48 -88
  114. package/dist/components/simple/forms/FileInput.svelte.d.ts +33 -37
  115. package/dist/components/simple/forms/FileInputList.svelte +34 -52
  116. package/dist/components/simple/forms/FileInputList.svelte.d.ts +39 -43
  117. package/dist/components/simple/forms/RadioButton.svelte +3 -11
  118. package/dist/components/simple/forms/RadioButton.svelte.d.ts +27 -31
  119. package/dist/components/simple/forms/Select.svelte +3 -16
  120. package/dist/components/simple/forms/Select.svelte.d.ts +20 -24
  121. package/dist/components/simple/forms/SimpleTextField.svelte +6 -53
  122. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +60 -64
  123. package/dist/components/simple/forms/Switch.svelte +16 -30
  124. package/dist/components/simple/forms/Switch.svelte.d.ts +21 -25
  125. package/dist/components/simple/forms/Textarea.svelte +2 -27
  126. package/dist/components/simple/forms/Textarea.svelte.d.ts +37 -41
  127. package/dist/components/simple/forms/Textfield.svelte +18 -56
  128. package/dist/components/simple/forms/Textfield.svelte.d.ts +51 -55
  129. package/dist/components/simple/forms/TreeEditor.svelte +95 -141
  130. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +38 -42
  131. package/dist/components/simple/forms/TreeEditorItem.svelte +42 -77
  132. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +50 -54
  133. package/dist/components/simple/forms/VerticalSwitch.svelte +1 -11
  134. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +28 -32
  135. package/dist/components/simple/forms/VerticalTextSwitch.svelte +3 -15
  136. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +26 -30
  137. package/dist/components/simple/lists/ColorInvertedSelector.svelte +23 -53
  138. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +42 -46
  139. package/dist/components/simple/lists/HierarchyMenu.svelte +19 -38
  140. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +30 -34
  141. package/dist/components/simple/lists/Paginator.svelte +41 -50
  142. package/dist/components/simple/lists/Paginator.svelte.d.ts +19 -23
  143. package/dist/components/simple/lists/SelectableMenuList.svelte +15 -43
  144. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +20 -24
  145. package/dist/components/simple/lists/SelectableVerticalList.svelte +57 -99
  146. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +47 -51
  147. package/dist/components/simple/lists/SidebarMenuList.svelte +70 -115
  148. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +22 -26
  149. package/dist/components/simple/lists/SimpleTable.svelte +154 -264
  150. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +66 -70
  151. package/dist/components/simple/loaders/CircularLoader.svelte +5 -16
  152. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +15 -19
  153. package/dist/components/simple/loaders/Skeleton.svelte +2 -3
  154. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +12 -16
  155. package/dist/components/simple/media/AttachmentDownloader.svelte +3 -17
  156. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +28 -32
  157. package/dist/components/simple/media/Avatar.svelte +12 -18
  158. package/dist/components/simple/media/Avatar.svelte.d.ts +20 -31
  159. package/dist/components/simple/media/Carousel.svelte +11 -29
  160. package/dist/components/simple/media/Carousel.svelte.d.ts +24 -28
  161. package/dist/components/simple/media/DescriptiveAvatar.svelte +4 -12
  162. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +28 -44
  163. package/dist/components/simple/media/FlagIcon.svelte +5 -8
  164. package/dist/components/simple/media/FlagIcon.svelte.d.ts +15 -19
  165. package/dist/components/simple/media/Gallery.svelte +29 -49
  166. package/dist/components/simple/media/Gallery.svelte.d.ts +23 -27
  167. package/dist/components/simple/media/Icon.svelte +4 -9
  168. package/dist/components/simple/media/Icon.svelte.d.ts +20 -24
  169. package/dist/components/simple/media/Image.svelte +20 -42
  170. package/dist/components/simple/media/Image.svelte.d.ts +33 -44
  171. package/dist/components/simple/media/ImageGrid.svelte +12 -37
  172. package/dist/components/simple/media/ImageGrid.svelte.d.ts +28 -32
  173. package/dist/components/simple/navigation/Breadcrumb.svelte +10 -28
  174. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +22 -26
  175. package/dist/components/simple/navigation/Chip.svelte +23 -44
  176. package/dist/components/simple/navigation/Chip.svelte.d.ts +31 -42
  177. package/dist/components/simple/navigation/Drawer.svelte +65 -107
  178. package/dist/components/simple/navigation/Drawer.svelte.d.ts +37 -50
  179. package/dist/components/simple/navigation/HeaderMenu.svelte +23 -40
  180. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +35 -39
  181. package/dist/components/simple/navigation/Navigator.svelte +8 -30
  182. package/dist/components/simple/navigation/Navigator.svelte.d.ts +24 -28
  183. package/dist/components/simple/navigation/TabSwitcher.svelte +47 -83
  184. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +34 -38
  185. package/dist/components/simple/notifiers/AlertBanner.svelte +15 -43
  186. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +37 -41
  187. package/dist/components/simple/progress/ProgressBar.svelte +13 -20
  188. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +17 -21
  189. package/dist/components/simple/timeline/SimpleTimeLine.svelte +5 -19
  190. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +35 -39
  191. package/dist/components/simple/typography/Code.svelte +12 -27
  192. package/dist/components/simple/typography/Code.svelte.d.ts +24 -28
  193. package/dist/stores/debounce.d.ts +1 -0
  194. package/dist/stores/layouts/unstableSidebarOpened.d.ts +1 -0
  195. package/dist/stores/mediaQuery.d.ts +1 -0
  196. package/dist/stores/theme.d.ts +1 -0
  197. 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