@sme.up/ketchup 9.1.0 → 9.3.0

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 (720) hide show
  1. package/dist/cjs/bar.helpers-f46a5a83.js +372 -0
  2. package/dist/cjs/f-button-4caf541a.js +105 -0
  3. package/dist/cjs/{f-button-declarations-3fd791a8.js → f-button-declarations-51ef6d9a.js} +5 -5
  4. package/dist/cjs/f-cell-979c26ea.js +670 -0
  5. package/dist/cjs/f-checkbox-41864e53.js +29 -0
  6. package/dist/cjs/f-chip-8957940b.js +133 -0
  7. package/dist/cjs/f-image-e16fe10d.js +115 -0
  8. package/dist/cjs/f-paginator-utils-f2dd0322.js +1577 -0
  9. package/dist/cjs/f-text-field-2fac8078.js +216 -0
  10. package/dist/cjs/{f-text-field-mdc-4fda9705.js → f-text-field-mdc-08a06162.js} +19 -19
  11. package/dist/cjs/{index-4b3a5567.js → index-8f2f4159.js} +134 -27
  12. package/dist/cjs/index.cjs.js +12 -0
  13. package/dist/cjs/ketchup.cjs.js +3 -3
  14. package/dist/cjs/kup-accordion.cjs.entry.js +182 -181
  15. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +14564 -14563
  16. package/dist/cjs/kup-box.cjs.entry.js +1231 -1230
  17. package/dist/cjs/kup-calendar.cjs.entry.js +5413 -5379
  18. package/dist/cjs/kup-card-list.cjs.entry.js +233 -212
  19. package/dist/cjs/kup-cell.cjs.entry.js +153 -152
  20. package/dist/cjs/kup-custom-task-list-header_4.cjs.entry.js +1317 -0
  21. package/dist/cjs/kup-dashboard.cjs.entry.js +369 -368
  22. package/dist/cjs/kup-dates-0e59b05d.js +782 -0
  23. package/dist/cjs/kup-drawer.cjs.entry.js +122 -121
  24. package/dist/cjs/kup-echart.cjs.entry.js +1192 -1191
  25. package/dist/cjs/kup-family-tree.cjs.entry.js +400 -399
  26. package/dist/cjs/kup-gantt_10.cjs.entry.js +1076 -0
  27. package/dist/cjs/kup-grid.cjs.entry.js +82 -81
  28. package/dist/cjs/kup-iframe.cjs.entry.js +80 -79
  29. package/dist/cjs/kup-image-list.cjs.entry.js +224 -223
  30. package/dist/cjs/kup-lazy.cjs.entry.js +162 -161
  31. package/dist/cjs/kup-magic-box.cjs.entry.js +270 -269
  32. package/dist/cjs/{kup-manager-cb73c128.js → kup-manager-c63f4fb9.js} +5772 -6517
  33. package/dist/cjs/kup-nav-bar.cjs.entry.js +110 -109
  34. package/dist/cjs/kup-numeric-picker.cjs.entry.js +352 -351
  35. package/dist/cjs/kup-photo-frame.cjs.entry.js +126 -125
  36. package/dist/cjs/kup-planner-declarations-d3dec885.js +93 -0
  37. package/dist/cjs/kup-planner-renderer-helper-c2394940.js +410 -0
  38. package/dist/cjs/kup-planner-renderer.cjs.entry.js +278 -0
  39. package/dist/cjs/kup-planner-time-formatter-a74e70f0.js +93 -0
  40. package/dist/cjs/kup-planner.cjs.entry.js +718 -13111
  41. package/dist/cjs/kup-probe.cjs.entry.js +228 -227
  42. package/dist/cjs/kup-qlik.cjs.entry.js +126 -125
  43. package/dist/cjs/kup-snackbar.cjs.entry.js +102 -101
  44. package/dist/cjs/loader.cjs.js +2 -2
  45. package/dist/collection/assets/card-list.js +12 -9
  46. package/dist/collection/assets/index.js +16 -0
  47. package/dist/collection/assets/planner-example-1.js +6337 -0
  48. package/dist/collection/assets/planner-example-2.js +5650 -0
  49. package/dist/collection/assets/planner-example-3.js +6548 -0
  50. package/dist/collection/assets/planner-example-4.js +28473 -0
  51. package/dist/collection/assets/planner.js +3255 -4900
  52. package/dist/collection/collection-manifest.json +17 -2
  53. package/dist/collection/components/kup-accordion/kup-accordion-declarations.js +3 -3
  54. package/dist/collection/components/kup-accordion/kup-accordion.js +423 -423
  55. package/dist/collection/components/kup-autocomplete/kup-autocomplete-declarations.js +14 -14
  56. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +882 -882
  57. package/dist/collection/components/kup-badge/kup-badge-declarations.js +3 -3
  58. package/dist/collection/components/kup-badge/kup-badge.js +262 -262
  59. package/dist/collection/components/kup-box/kup-box-declarations.js +26 -26
  60. package/dist/collection/components/kup-box/kup-box-state.js +13 -13
  61. package/dist/collection/components/kup-box/kup-box.js +2068 -2068
  62. package/dist/collection/components/kup-button/kup-button-declarations.js +11 -11
  63. package/dist/collection/components/kup-button/kup-button.js +560 -560
  64. package/dist/collection/components/kup-button-list/kup-button-list-declarations.js +6 -6
  65. package/dist/collection/components/kup-button-list/kup-button-list.e2e.js +141 -141
  66. package/dist/collection/components/kup-button-list/kup-button-list.js +497 -497
  67. package/dist/collection/components/kup-calendar/kup-calendar-declarations.js +17 -17
  68. package/dist/collection/components/kup-calendar/kup-calendar.js +681 -681
  69. package/dist/collection/components/kup-card/box/kup-card-box.js +161 -161
  70. package/dist/collection/components/kup-card/built-in/kup-card-built-in.js +6 -6
  71. package/dist/collection/components/kup-card/built-in/kup-card-calendar.js +324 -324
  72. package/dist/collection/components/kup-card/built-in/kup-card-clock.js +250 -250
  73. package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +141 -141
  74. package/dist/collection/components/kup-card/built-in/kup-card-message-box.js +3 -3
  75. package/dist/collection/components/kup-card/built-in/kup-card-numeric.js +98 -98
  76. package/dist/collection/components/kup-card/collapsible/kup-card-collapsible.js +44 -44
  77. package/dist/collection/components/kup-card/dialog/kup-card-dialog.js +135 -135
  78. package/dist/collection/components/kup-card/free/kup-card-free.js +6 -6
  79. package/dist/collection/components/kup-card/kup-card-declarations.js +53 -53
  80. package/dist/collection/components/kup-card/kup-card-helper.js +155 -155
  81. package/dist/collection/components/kup-card/kup-card.js +767 -767
  82. package/dist/collection/components/kup-card/scalable/kup-card-scalable.js +174 -174
  83. package/dist/collection/components/kup-card/standard/kup-card-standard.js +474 -474
  84. package/dist/collection/components/kup-card-list/kup-card-list-declarations.js +16 -6
  85. package/dist/collection/components/kup-card-list/kup-card-list.js +676 -456
  86. package/dist/collection/components/kup-cell/kup-cell-declarations.js +4 -4
  87. package/dist/collection/components/kup-cell/kup-cell.js +382 -382
  88. package/dist/collection/components/kup-chart/kup-chart-builder.js +80 -80
  89. package/dist/collection/components/kup-chart/kup-chart-declarations.js +36 -36
  90. package/dist/collection/components/kup-chart/kup-chart.js +1043 -1043
  91. package/dist/collection/components/kup-checkbox/kup-checkbox-declarations.js +6 -6
  92. package/dist/collection/components/kup-checkbox/kup-checkbox.js +417 -417
  93. package/dist/collection/components/kup-chip/kup-chip-declarations.js +5 -5
  94. package/dist/collection/components/kup-chip/kup-chip.js +538 -538
  95. package/dist/collection/components/kup-color-picker/kup-color-picker-declarations.js +5 -5
  96. package/dist/collection/components/kup-color-picker/kup-color-picker.js +511 -511
  97. package/dist/collection/components/kup-combobox/kup-combobox-declarations.js +8 -8
  98. package/dist/collection/components/kup-combobox/kup-combobox.js +796 -796
  99. package/dist/collection/components/kup-dashboard/kup-dashboard-declarations.js +3 -3
  100. package/dist/collection/components/kup-dashboard/kup-dashboard.js +562 -562
  101. package/dist/collection/components/kup-data-table/kup-data-table-declarations.js +95 -95
  102. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +729 -729
  103. package/dist/collection/components/kup-data-table/kup-data-table-state.js +33 -33
  104. package/dist/collection/components/kup-data-table/kup-data-table.js +5398 -5398
  105. package/dist/collection/components/kup-date-picker/kup-date-picker-declarations.js +8 -8
  106. package/dist/collection/components/kup-date-picker/kup-date-picker.js +796 -796
  107. package/dist/collection/components/kup-dialog/kup-dialog-declarations.js +7 -7
  108. package/dist/collection/components/kup-dialog/kup-dialog.js +451 -451
  109. package/dist/collection/components/kup-drawer/kup-drawer-declarations.js +2 -2
  110. package/dist/collection/components/kup-drawer/kup-drawer.e2e.js +6 -6
  111. package/dist/collection/components/kup-drawer/kup-drawer.js +374 -374
  112. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button-declarations.js +11 -11
  113. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +776 -776
  114. package/dist/collection/components/kup-echart/kup-echart-declarations.js +40 -40
  115. package/dist/collection/components/kup-echart/kup-echart.js +1606 -1606
  116. package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +8 -8
  117. package/dist/collection/components/kup-family-tree/kup-family-tree.js +789 -789
  118. package/dist/collection/components/kup-form/kup-form-declarations.js +16 -16
  119. package/dist/collection/components/kup-form/kup-form.js +694 -694
  120. package/dist/collection/components/kup-gauge/kup-gauge-declarations.js +19 -19
  121. package/dist/collection/components/kup-gauge/kup-gauge.js +730 -730
  122. package/dist/collection/components/kup-grid/kup-grid-declarations.js +3 -3
  123. package/dist/collection/components/kup-grid/kup-grid.js +238 -238
  124. package/dist/collection/components/kup-iframe/kup-iframe-declarations.js +3 -3
  125. package/dist/collection/components/kup-iframe/kup-iframe.js +268 -268
  126. package/dist/collection/components/kup-image/canvas/kup-image-canvas-declarations.js +167 -167
  127. package/dist/collection/components/kup-image/canvas/kup-image-canvas-helper.js +16 -16
  128. package/dist/collection/components/kup-image/canvas/kup-image-canvas.js +221 -221
  129. package/dist/collection/components/kup-image/kup-image-declarations.js +9 -9
  130. package/dist/collection/components/kup-image/kup-image.js +471 -471
  131. package/dist/collection/components/kup-image-list/kup-image-list-declarations.js +3 -3
  132. package/dist/collection/components/kup-image-list/kup-image-list-state.js +7 -7
  133. package/dist/collection/components/kup-image-list/kup-image-list.js +502 -502
  134. package/dist/collection/components/kup-lazy/kup-lazy-declarations.js +7 -7
  135. package/dist/collection/components/kup-lazy/kup-lazy.js +417 -417
  136. package/dist/collection/components/kup-list/kup-list-declarations.js +18 -18
  137. package/dist/collection/components/kup-list/kup-list-helper.js +105 -105
  138. package/dist/collection/components/kup-list/kup-list.js +914 -914
  139. package/dist/collection/components/kup-magic-box/kup-magic-box-declarations.js +10 -10
  140. package/dist/collection/components/kup-magic-box/kup-magic-box.js +405 -405
  141. package/dist/collection/components/kup-nav-bar/kup-nav-bar-declarations.js +7 -7
  142. package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +304 -304
  143. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker-declarations.js +9 -9
  144. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker.js +847 -847
  145. package/dist/collection/components/kup-photo-frame/kup-photo-frame-declarations.js +3 -3
  146. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +359 -359
  147. package/dist/collection/components/kup-planner/kup-planner-declarations.js +69 -66
  148. package/dist/collection/components/kup-planner/kup-planner-helper.js +39 -39
  149. package/dist/collection/components/kup-planner/kup-planner-state.js +14 -14
  150. package/dist/collection/components/kup-planner/kup-planner.css +4 -482
  151. package/dist/collection/components/kup-planner/kup-planner.js +1777 -1675
  152. package/dist/collection/components/kup-planner/utils/custom-task-list-header.js +117 -0
  153. package/dist/collection/components/kup-planner/utils/custom-task-list-header.module.css +79 -0
  154. package/dist/collection/components/kup-planner/utils/custom-task-list-table.js +280 -0
  155. package/dist/collection/components/kup-planner/utils/custom-tool-tip.js +5 -0
  156. package/dist/collection/components/kup-planner/utils/gantt-table.module.css +88 -0
  157. package/dist/collection/components/kup-planner/utils/helpers/bar.helpers.js +328 -0
  158. package/dist/collection/components/kup-planner/utils/helpers/other.helpers.js +48 -0
  159. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.css +40 -0
  160. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.js +2302 -0
  161. package/dist/collection/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.css +31 -0
  162. package/dist/collection/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.js +466 -0
  163. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.css +60 -0
  164. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.js +1186 -0
  165. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.css +36 -0
  166. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.js +177 -0
  167. package/dist/collection/components/kup-planner/utils/kup-planner-adapted-types.js +1 -0
  168. package/dist/collection/components/kup-planner/utils/kup-planner-renderer-helper.js +396 -0
  169. package/dist/collection/components/kup-planner/utils/kup-planner-renderer.js +321 -0
  170. package/dist/collection/components/kup-planner/utils/kup-planner-time-formatter.js +87 -0
  171. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.css +30 -0
  172. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.js +49 -0
  173. package/dist/collection/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.js +215 -0
  174. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-header.js +112 -0
  175. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-table.js +226 -0
  176. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.css +67 -0
  177. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.js +638 -0
  178. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-standard-tooltip.js +82 -0
  179. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-tooltip.css +30 -0
  180. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-tooltip.js +362 -0
  181. package/dist/collection/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.css +31 -0
  182. package/dist/collection/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.js +170 -0
  183. package/dist/collection/components/kup-probe/kup-probe.js +335 -335
  184. package/dist/collection/components/kup-progress-bar/kup-progress-bar-declarations.js +7 -7
  185. package/dist/collection/components/kup-progress-bar/kup-progress-bar.js +346 -346
  186. package/dist/collection/components/kup-qlik/kup-qlik.js +311 -311
  187. package/dist/collection/components/kup-radio/kup-radio-declarations.js +5 -5
  188. package/dist/collection/components/kup-radio/kup-radio.js +392 -392
  189. package/dist/collection/components/kup-rating/kup-rating-declarations.js +4 -4
  190. package/dist/collection/components/kup-rating/kup-rating.js +296 -296
  191. package/dist/collection/components/kup-snackbar/kup-snackbar-declarations.js +5 -5
  192. package/dist/collection/components/kup-snackbar/kup-snackbar.js +380 -380
  193. package/dist/collection/components/kup-spinner/kup-spinner-declarations.js +8 -8
  194. package/dist/collection/components/kup-spinner/kup-spinner.js +449 -449
  195. package/dist/collection/components/kup-state/mock-store.js +10 -10
  196. package/dist/collection/components/kup-switch/kup-switch-declarations.js +5 -5
  197. package/dist/collection/components/kup-switch/kup-switch.js +387 -387
  198. package/dist/collection/components/kup-tab-bar/kup-tab-bar-declarations.js +3 -3
  199. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +423 -423
  200. package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +30 -30
  201. package/dist/collection/components/kup-text-field/kup-text-field.js +1220 -1220
  202. package/dist/collection/components/kup-time-picker/kup-time-picker-declarations.js +7 -7
  203. package/dist/collection/components/kup-time-picker/kup-time-picker.js +914 -914
  204. package/dist/collection/components/kup-tree/kup-tree-declarations.js +28 -28
  205. package/dist/collection/components/kup-tree/kup-tree-faker.js +233 -233
  206. package/dist/collection/components/kup-tree/kup-tree-state.js +13 -13
  207. package/dist/collection/components/kup-tree/kup-tree.js +2424 -2424
  208. package/dist/collection/f-components/f-button/f-button-declarations.js +5 -5
  209. package/dist/collection/f-components/f-button/f-button.js +76 -76
  210. package/dist/collection/f-components/f-cell/f-cell-declarations.js +125 -125
  211. package/dist/collection/f-components/f-cell/f-cell.js +407 -407
  212. package/dist/collection/f-components/f-checkbox/f-checkbox.js +10 -10
  213. package/dist/collection/f-components/f-chip/f-chip-declarations.js +4 -4
  214. package/dist/collection/f-components/f-chip/f-chip.js +82 -82
  215. package/dist/collection/f-components/f-image/f-image-declarations.js +1 -1
  216. package/dist/collection/f-components/f-image/f-image.js +79 -79
  217. package/dist/collection/f-components/f-paginator/f-paginator-declarations.js +2 -2
  218. package/dist/collection/f-components/f-paginator/f-paginator-utils.js +21 -21
  219. package/dist/collection/f-components/f-paginator/f-paginator.js +65 -65
  220. package/dist/collection/f-components/f-progress-bar/f-progress-bar.js +70 -70
  221. package/dist/collection/f-components/f-radio/f-radio.js +21 -21
  222. package/dist/collection/f-components/f-rating/f-rating.js +17 -17
  223. package/dist/collection/f-components/f-switch/f-switch.js +6 -6
  224. package/dist/collection/f-components/f-text-field/f-text-field-mdc.js +19 -19
  225. package/dist/collection/f-components/f-text-field/f-text-field.js +165 -165
  226. package/dist/collection/index.js +5 -0
  227. package/dist/collection/managers/kup-data/kup-data-cell-helper.js +47 -47
  228. package/dist/collection/managers/kup-data/kup-data-column-helper.js +220 -220
  229. package/dist/collection/managers/kup-data/kup-data-declarations.js +4 -4
  230. package/dist/collection/managers/kup-data/kup-data-node-helper.js +107 -107
  231. package/dist/collection/managers/kup-data/kup-data-row-helper.js +11 -11
  232. package/dist/collection/managers/kup-data/kup-data.js +468 -468
  233. package/dist/collection/managers/kup-dates/kup-dates-declarations.js +19 -19
  234. package/dist/collection/managers/kup-dates/kup-dates.js +637 -605
  235. package/dist/collection/managers/kup-debug/kup-debug-declarations.js +8 -8
  236. package/dist/collection/managers/kup-debug/kup-debug.js +626 -626
  237. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position-declarations.js +9 -9
  238. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +232 -232
  239. package/dist/collection/managers/kup-interact/kup-interact-declarations.js +11 -11
  240. package/dist/collection/managers/kup-interact/kup-interact.js +374 -374
  241. package/dist/collection/managers/kup-language/kup-language-declarations.js +127 -127
  242. package/dist/collection/managers/kup-language/kup-language.js +132 -132
  243. package/dist/collection/managers/kup-manager/kup-manager.js +257 -257
  244. package/dist/collection/managers/kup-math/kup-math-declarations.js +7 -7
  245. package/dist/collection/managers/kup-math/kup-math-helper.js +19 -19
  246. package/dist/collection/managers/kup-math/kup-math.js +374 -374
  247. package/dist/collection/managers/kup-objects/kup-objects.js +379 -379
  248. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.js +4 -4
  249. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover.js +301 -301
  250. package/dist/collection/managers/kup-search/kup-search.js +65 -65
  251. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +134 -134
  252. package/dist/collection/managers/kup-theme/kup-theme.js +696 -696
  253. package/dist/collection/managers/kup-toolbar/kup-toolbar-declarations.js +3 -3
  254. package/dist/collection/managers/kup-toolbar/kup-toolbar.js +93 -93
  255. package/dist/collection/managers/kup-tooltip/kup-tooltip.js +198 -198
  256. package/dist/collection/types/GenericTypes.js +47 -47
  257. package/dist/collection/utils/cell-utils.js +115 -115
  258. package/dist/collection/utils/filters/filters-column-menu.js +339 -339
  259. package/dist/collection/utils/filters/filters-declarations.js +4 -4
  260. package/dist/collection/utils/filters/filters-rows.js +215 -215
  261. package/dist/collection/utils/filters/filters-tree-items.js +96 -96
  262. package/dist/collection/utils/filters/filters.js +257 -257
  263. package/dist/collection/utils/kup-column-menu/kup-column-menu-declarations.js +14 -14
  264. package/dist/collection/utils/kup-column-menu/kup-column-menu.js +710 -710
  265. package/dist/collection/utils/utils.js +37 -42
  266. package/dist/components/custom-task-list-header.js +44 -0
  267. package/dist/components/custom-task-list-table.js +121 -0
  268. package/dist/components/index.js +8 -0
  269. package/dist/components/kup-accordion.d.ts +2 -2
  270. package/dist/components/kup-accordion.js +333 -332
  271. package/dist/components/kup-autocomplete.d.ts +2 -2
  272. package/dist/components/kup-autocomplete.js +1 -1
  273. package/dist/components/kup-autocomplete2.js +26006 -44605
  274. package/dist/components/kup-badge.d.ts +2 -2
  275. package/dist/components/kup-badge.js +1 -1
  276. package/dist/components/kup-box.d.ts +2 -2
  277. package/dist/components/kup-box2.js +1417 -1416
  278. package/dist/components/kup-button-list.d.ts +2 -2
  279. package/dist/components/kup-button-list.js +1 -1
  280. package/dist/components/kup-button.d.ts +2 -2
  281. package/dist/components/kup-button.js +1 -1
  282. package/dist/components/kup-calendar.d.ts +2 -2
  283. package/dist/components/kup-calendar.js +5547 -5512
  284. package/dist/components/kup-card-list.d.ts +2 -2
  285. package/dist/components/kup-card-list.js +402 -371
  286. package/dist/components/kup-card.d.ts +2 -2
  287. package/dist/components/kup-card.js +1 -1
  288. package/dist/components/kup-cell.d.ts +2 -2
  289. package/dist/components/kup-cell.js +304 -303
  290. package/dist/components/kup-chart.d.ts +2 -2
  291. package/dist/components/kup-chart.js +1 -1
  292. package/dist/components/kup-checkbox.d.ts +2 -2
  293. package/dist/components/kup-checkbox.js +1 -1
  294. package/dist/components/kup-chip.d.ts +2 -2
  295. package/dist/components/kup-chip.js +1 -1
  296. package/dist/components/kup-color-picker.d.ts +2 -2
  297. package/dist/components/kup-color-picker.js +1 -1
  298. package/dist/components/kup-combobox.d.ts +2 -2
  299. package/dist/components/kup-combobox.js +1 -1
  300. package/dist/components/kup-custom-task-list-header.d.ts +11 -0
  301. package/dist/components/kup-custom-task-list-header.js +6 -0
  302. package/dist/components/kup-custom-task-list-table.d.ts +11 -0
  303. package/dist/components/kup-custom-task-list-table.js +6 -0
  304. package/dist/components/kup-dashboard.d.ts +2 -2
  305. package/dist/components/kup-dashboard.js +521 -520
  306. package/dist/components/kup-data-table.d.ts +2 -2
  307. package/dist/components/kup-data-table.js +1 -1
  308. package/dist/components/kup-date-picker.d.ts +2 -2
  309. package/dist/components/kup-date-picker.js +1 -1
  310. package/dist/components/kup-dates.js +777 -0
  311. package/dist/components/kup-dialog.d.ts +2 -2
  312. package/dist/components/kup-dialog.js +1 -1
  313. package/dist/components/kup-drawer.d.ts +2 -2
  314. package/dist/components/kup-drawer.js +280 -279
  315. package/dist/components/kup-dropdown-button.d.ts +2 -2
  316. package/dist/components/kup-dropdown-button.js +1 -1
  317. package/dist/components/kup-echart.d.ts +2 -2
  318. package/dist/components/kup-echart2.js +1359 -1358
  319. package/dist/components/kup-family-tree.d.ts +2 -2
  320. package/dist/components/kup-family-tree.js +565 -564
  321. package/dist/components/kup-form.d.ts +2 -2
  322. package/dist/components/kup-form.js +1 -1
  323. package/dist/components/kup-gantt-calendar.d.ts +11 -0
  324. package/dist/components/kup-gantt-calendar.js +6 -0
  325. package/dist/components/kup-gantt-calendar2.js +323 -0
  326. package/dist/components/kup-gantt.d.ts +11 -0
  327. package/dist/components/kup-gantt.js +6 -0
  328. package/dist/components/kup-gantt2.js +822 -0
  329. package/dist/components/kup-gauge.d.ts +2 -2
  330. package/dist/components/kup-gauge.js +1 -1
  331. package/dist/components/kup-grid-renderer.d.ts +11 -0
  332. package/dist/components/kup-grid-renderer.js +6 -0
  333. package/dist/components/kup-grid-renderer2.js +1416 -0
  334. package/dist/components/kup-grid.d.ts +2 -2
  335. package/dist/components/kup-grid2.js +237 -236
  336. package/dist/components/kup-horizontal-scroll.d.ts +11 -0
  337. package/dist/components/kup-horizontal-scroll.js +6 -0
  338. package/dist/components/kup-horizontal-scroll2.js +77 -0
  339. package/dist/components/kup-iframe.d.ts +2 -2
  340. package/dist/components/kup-iframe.js +235 -234
  341. package/dist/components/kup-image-list.d.ts +2 -2
  342. package/dist/components/kup-image-list.js +379 -378
  343. package/dist/components/kup-image.d.ts +2 -2
  344. package/dist/components/kup-image.js +1 -1
  345. package/dist/components/kup-lazy.d.ts +2 -2
  346. package/dist/components/kup-lazy.js +321 -320
  347. package/dist/components/kup-list.d.ts +2 -2
  348. package/dist/components/kup-list.js +1 -1
  349. package/dist/components/kup-magic-box.d.ts +2 -2
  350. package/dist/components/kup-magic-box.js +433 -432
  351. package/dist/components/kup-manager.js +17861 -0
  352. package/dist/components/kup-nav-bar.d.ts +2 -2
  353. package/dist/components/kup-nav-bar.js +265 -264
  354. package/dist/components/kup-numeric-picker.d.ts +2 -2
  355. package/dist/components/kup-numeric-picker.js +515 -514
  356. package/dist/components/kup-photo-frame.d.ts +2 -2
  357. package/dist/components/kup-photo-frame.js +283 -282
  358. package/dist/components/kup-planner-renderer-helper.js +399 -0
  359. package/dist/components/kup-planner-renderer.d.ts +11 -0
  360. package/dist/components/kup-planner-renderer.js +6 -0
  361. package/dist/components/kup-planner-renderer2.js +390 -0
  362. package/dist/components/kup-planner.d.ts +2 -2
  363. package/dist/components/kup-planner.js +1005 -13306
  364. package/dist/components/kup-probe.d.ts +2 -2
  365. package/dist/components/kup-probe.js +381 -380
  366. package/dist/components/kup-progress-bar.d.ts +2 -2
  367. package/dist/components/kup-progress-bar.js +1 -1
  368. package/dist/components/kup-qlik.d.ts +2 -2
  369. package/dist/components/kup-qlik.js +284 -283
  370. package/dist/components/kup-radio.d.ts +2 -2
  371. package/dist/components/kup-radio.js +1 -1
  372. package/dist/components/kup-rating.d.ts +2 -2
  373. package/dist/components/kup-rating.js +1 -1
  374. package/dist/components/kup-snackbar.d.ts +2 -2
  375. package/dist/components/kup-snackbar.js +259 -258
  376. package/dist/components/kup-spinner.d.ts +2 -2
  377. package/dist/components/kup-spinner.js +1 -1
  378. package/dist/components/kup-standard-tooltip.d.ts +11 -0
  379. package/dist/components/kup-standard-tooltip.js +6 -0
  380. package/dist/components/kup-standard-tooltip2.js +37 -0
  381. package/dist/components/kup-switch.d.ts +2 -2
  382. package/dist/components/kup-switch.js +1 -1
  383. package/dist/components/kup-switcher.d.ts +11 -0
  384. package/dist/components/kup-switcher.js +6 -0
  385. package/dist/components/kup-switcher2.js +36 -0
  386. package/dist/components/kup-tab-bar.d.ts +2 -2
  387. package/dist/components/kup-tab-bar.js +1 -1
  388. package/dist/components/kup-task-gantt.d.ts +11 -0
  389. package/dist/components/kup-task-gantt.js +6 -0
  390. package/dist/components/kup-task-gantt2.js +91 -0
  391. package/dist/components/kup-task-list-header.d.ts +11 -0
  392. package/dist/components/kup-task-list-header.js +6 -0
  393. package/dist/components/kup-task-list-header2.js +55 -0
  394. package/dist/components/kup-task-list-table.d.ts +11 -0
  395. package/dist/components/kup-task-list-table.js +6 -0
  396. package/dist/components/kup-task-list-table2.js +79 -0
  397. package/dist/components/kup-task-list.d.ts +11 -0
  398. package/dist/components/kup-task-list.js +6 -0
  399. package/dist/components/kup-task-list2.js +260 -0
  400. package/dist/components/kup-text-field.d.ts +2 -2
  401. package/dist/components/kup-text-field.js +1 -1
  402. package/dist/components/kup-time-picker.d.ts +2 -2
  403. package/dist/components/kup-time-picker.js +1 -1
  404. package/dist/components/kup-tooltip.d.ts +11 -0
  405. package/dist/components/kup-tooltip.js +6 -0
  406. package/dist/components/kup-tooltip2.js +127 -0
  407. package/dist/components/kup-tree.d.ts +2 -2
  408. package/dist/components/kup-tree.js +1 -1
  409. package/dist/components/kup-vertical-scroll.d.ts +11 -0
  410. package/dist/components/kup-vertical-scroll.js +6 -0
  411. package/dist/components/kup-vertical-scroll2.js +77 -0
  412. package/dist/esm/bar.helpers-0898efb9.js +363 -0
  413. package/dist/esm/f-button-5ccc2e50.js +103 -0
  414. package/dist/esm/{f-button-declarations-8a009df1.js → f-button-declarations-9bdc6f26.js} +5 -5
  415. package/dist/esm/f-cell-6f4290b2.js +664 -0
  416. package/dist/esm/f-checkbox-43481de2.js +27 -0
  417. package/dist/esm/f-chip-465aa432.js +131 -0
  418. package/dist/esm/f-image-c5063342.js +113 -0
  419. package/dist/esm/f-paginator-utils-6903534b.js +1564 -0
  420. package/dist/esm/f-text-field-28b2b26d.js +214 -0
  421. package/dist/esm/{f-text-field-mdc-1143cf21.js → f-text-field-mdc-c88bf688.js} +19 -19
  422. package/dist/esm/{index-c161a33e.js → index-59f83f91.js} +134 -28
  423. package/dist/esm/index.js +9 -0
  424. package/dist/esm/ketchup.js +4 -4
  425. package/dist/esm/kup-accordion.entry.js +182 -181
  426. package/dist/esm/kup-autocomplete_27.entry.js +14564 -14563
  427. package/dist/esm/kup-box.entry.js +1231 -1230
  428. package/dist/esm/kup-calendar.entry.js +5413 -5379
  429. package/dist/esm/kup-card-list.entry.js +233 -212
  430. package/dist/esm/kup-cell.entry.js +153 -152
  431. package/dist/esm/kup-custom-task-list-header_4.entry.js +1310 -0
  432. package/dist/esm/kup-dashboard.entry.js +369 -368
  433. package/dist/esm/kup-dates-15f89ea2.js +777 -0
  434. package/dist/esm/kup-drawer.entry.js +122 -121
  435. package/dist/esm/kup-echart.entry.js +1192 -1191
  436. package/dist/esm/kup-family-tree.entry.js +400 -399
  437. package/dist/esm/kup-gantt_10.entry.js +1063 -0
  438. package/dist/esm/kup-grid.entry.js +82 -81
  439. package/dist/esm/kup-iframe.entry.js +80 -79
  440. package/dist/esm/kup-image-list.entry.js +224 -223
  441. package/dist/esm/kup-lazy.entry.js +162 -161
  442. package/dist/esm/kup-magic-box.entry.js +270 -269
  443. package/dist/esm/{kup-manager-94b3d177.js → kup-manager-bfea4e6f.js} +5750 -6493
  444. package/dist/esm/kup-nav-bar.entry.js +110 -109
  445. package/dist/esm/kup-numeric-picker.entry.js +352 -351
  446. package/dist/esm/kup-photo-frame.entry.js +126 -125
  447. package/dist/esm/kup-planner-declarations-b9345758.js +88 -0
  448. package/dist/esm/kup-planner-renderer-helper-2143d119.js +399 -0
  449. package/dist/esm/kup-planner-renderer.entry.js +274 -0
  450. package/dist/esm/kup-planner-time-formatter-a68e05ba.js +89 -0
  451. package/dist/esm/kup-planner.entry.js +718 -13111
  452. package/dist/esm/kup-probe.entry.js +228 -227
  453. package/dist/esm/kup-qlik.entry.js +126 -125
  454. package/dist/esm/kup-snackbar.entry.js +102 -101
  455. package/dist/esm/loader.js +3 -3
  456. package/dist/ketchup/index.esm.js +1 -0
  457. package/dist/ketchup/ketchup.esm.js +1 -1
  458. package/dist/ketchup/p-01a0b54c.js +1 -0
  459. package/dist/ketchup/{p-679ccbf8.js → p-097500fe.js} +1 -1
  460. package/dist/ketchup/p-0cb5e9ae.entry.js +1 -0
  461. package/dist/ketchup/p-0f91d4de.entry.js +1 -0
  462. package/dist/ketchup/p-1872c92e.entry.js +1 -0
  463. package/dist/ketchup/p-20aa95ae.entry.js +1 -0
  464. package/dist/ketchup/{p-b0678a34.js → p-21c640a5.js} +1 -1
  465. package/dist/ketchup/p-4bc3b3a6.js +29 -0
  466. package/dist/ketchup/{p-4d7c02f4.js → p-4c1ec006.js} +1 -1
  467. package/dist/ketchup/p-51f9b230.entry.js +1 -0
  468. package/dist/ketchup/p-612b46da.entry.js +1 -0
  469. package/dist/ketchup/p-69287f4a.entry.js +1 -0
  470. package/dist/ketchup/p-71acfd3c.entry.js +1 -0
  471. package/dist/ketchup/p-7a72c4fa.entry.js +1 -0
  472. package/dist/ketchup/p-7c5a1357.entry.js +1 -0
  473. package/dist/ketchup/p-829d7060.entry.js +1 -0
  474. package/dist/ketchup/p-84be8f0b.js +1 -0
  475. package/dist/ketchup/p-85279516.entry.js +9 -0
  476. package/dist/ketchup/p-8591ac0b.entry.js +1 -0
  477. package/dist/ketchup/p-8c3ad5ef.entry.js +1 -0
  478. package/dist/ketchup/p-8e180c01.entry.js +1 -0
  479. package/dist/ketchup/p-8e3b6de8.js +1 -0
  480. package/dist/ketchup/p-8ecdd076.entry.js +1 -0
  481. package/dist/ketchup/p-903d1b10.entry.js +1 -0
  482. package/dist/ketchup/p-924b841b.js +1 -0
  483. package/dist/ketchup/p-95272714.entry.js +1 -0
  484. package/dist/ketchup/p-b07ffd18.entry.js +16 -0
  485. package/dist/ketchup/p-c23731ca.js +1 -0
  486. package/dist/ketchup/p-cd9a4274.js +2 -0
  487. package/dist/ketchup/{p-bb80719e.js → p-ce9ef2d5.js} +1 -1
  488. package/dist/ketchup/{p-a2b75445.entry.js → p-d7b8295a.entry.js} +1 -1
  489. package/dist/ketchup/p-db93bc06.entry.js +1 -0
  490. package/dist/ketchup/p-e46470a6.entry.js +1 -0
  491. package/dist/ketchup/p-e841c2ae.js +1 -0
  492. package/dist/ketchup/p-eae42bff.entry.js +1 -0
  493. package/dist/ketchup/p-ee6305f5.js +1 -0
  494. package/dist/ketchup/p-f1efab38.entry.js +1 -0
  495. package/dist/ketchup/p-f2df4ce9.entry.js +1 -0
  496. package/dist/ketchup/{p-ba003975.js → p-f51dbf68.js} +1 -1
  497. package/dist/types/components/kup-accordion/kup-accordion-declarations.d.ts +5 -5
  498. package/dist/types/components/kup-accordion/kup-accordion.d.ts +75 -75
  499. package/dist/types/components/kup-autocomplete/kup-autocomplete-declarations.d.ts +18 -18
  500. package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +113 -113
  501. package/dist/types/components/kup-badge/kup-badge-declarations.d.ts +3 -3
  502. package/dist/types/components/kup-badge/kup-badge.d.ts +47 -47
  503. package/dist/types/components/kup-box/kup-box-declarations.d.ts +70 -70
  504. package/dist/types/components/kup-box/kup-box-state.d.ts +7 -7
  505. package/dist/types/components/kup-box/kup-box.d.ts +262 -262
  506. package/dist/types/components/kup-button/kup-button-declarations.d.ts +12 -12
  507. package/dist/types/components/kup-button/kup-button.d.ts +105 -105
  508. package/dist/types/components/kup-button-list/kup-button-list-declarations.d.ts +11 -11
  509. package/dist/types/components/kup-button-list/kup-button-list.d.ts +75 -75
  510. package/dist/types/components/kup-calendar/kup-calendar-declarations.d.ts +32 -32
  511. package/dist/types/components/kup-calendar/kup-calendar.d.ts +100 -100
  512. package/dist/types/components/kup-card/kup-card-declarations.d.ts +123 -123
  513. package/dist/types/components/kup-card/kup-card.d.ts +154 -154
  514. package/dist/types/components/kup-card-list/kup-card-list-declarations.d.ts +20 -20
  515. package/dist/types/components/kup-card-list/kup-card-list.d.ts +107 -57
  516. package/dist/types/components/kup-cell/kup-cell-declarations.d.ts +4 -4
  517. package/dist/types/components/kup-cell/kup-cell.d.ts +62 -62
  518. package/dist/types/components/kup-chart/kup-chart-builder.d.ts +2 -2
  519. package/dist/types/components/kup-chart/kup-chart-declarations.d.ts +99 -99
  520. package/dist/types/components/kup-chart/kup-chart.d.ts +164 -164
  521. package/dist/types/components/kup-checkbox/kup-checkbox-declarations.d.ts +8 -8
  522. package/dist/types/components/kup-checkbox/kup-checkbox.d.ts +80 -80
  523. package/dist/types/components/kup-chip/kup-chip-declarations.d.ts +8 -8
  524. package/dist/types/components/kup-chip/kup-chip.d.ts +82 -82
  525. package/dist/types/components/kup-color-picker/kup-color-picker-declarations.d.ts +6 -6
  526. package/dist/types/components/kup-color-picker/kup-color-picker.d.ts +83 -83
  527. package/dist/types/components/kup-combobox/kup-combobox-declarations.d.ts +12 -12
  528. package/dist/types/components/kup-combobox/kup-combobox.d.ts +89 -89
  529. package/dist/types/components/kup-dashboard/kup-dashboard-declarations.d.ts +28 -28
  530. package/dist/types/components/kup-dashboard/kup-dashboard.d.ts +74 -74
  531. package/dist/types/components/kup-data-table/kup-data-table-declarations.d.ts +156 -156
  532. package/dist/types/components/kup-data-table/kup-data-table-helper.d.ts +2 -2
  533. package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +31 -31
  534. package/dist/types/components/kup-data-table/kup-data-table.d.ts +441 -441
  535. package/dist/types/components/kup-date-picker/kup-date-picker-declarations.d.ts +9 -9
  536. package/dist/types/components/kup-date-picker/kup-date-picker.d.ts +105 -105
  537. package/dist/types/components/kup-dialog/kup-dialog-declarations.d.ts +12 -12
  538. package/dist/types/components/kup-dialog/kup-dialog.d.ts +72 -72
  539. package/dist/types/components/kup-drawer/kup-drawer-declarations.d.ts +2 -2
  540. package/dist/types/components/kup-drawer/kup-drawer.d.ts +70 -70
  541. package/dist/types/components/kup-dropdown-button/kup-dropdown-button-declarations.d.ts +12 -12
  542. package/dist/types/components/kup-dropdown-button/kup-dropdown-button.d.ts +154 -154
  543. package/dist/types/components/kup-echart/kup-echart-declarations.d.ts +48 -48
  544. package/dist/types/components/kup-echart/kup-echart.d.ts +103 -103
  545. package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +20 -20
  546. package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +82 -82
  547. package/dist/types/components/kup-form/kup-form-declarations.d.ts +40 -40
  548. package/dist/types/components/kup-form/kup-form.d.ts +78 -78
  549. package/dist/types/components/kup-gauge/kup-gauge-declarations.d.ts +19 -19
  550. package/dist/types/components/kup-gauge/kup-gauge.d.ts +144 -144
  551. package/dist/types/components/kup-grid/kup-grid-declarations.d.ts +3 -3
  552. package/dist/types/components/kup-grid/kup-grid.d.ts +45 -45
  553. package/dist/types/components/kup-iframe/kup-iframe-declarations.d.ts +3 -3
  554. package/dist/types/components/kup-iframe/kup-iframe.d.ts +45 -45
  555. package/dist/types/components/kup-image/canvas/kup-image-canvas-declarations.d.ts +19 -19
  556. package/dist/types/components/kup-image/canvas/kup-image-canvas.d.ts +25 -25
  557. package/dist/types/components/kup-image/kup-image-declarations.d.ts +10 -10
  558. package/dist/types/components/kup-image/kup-image.d.ts +96 -96
  559. package/dist/types/components/kup-image-list/kup-image-list-declarations.d.ts +4 -4
  560. package/dist/types/components/kup-image-list/kup-image-list-state.d.ts +3 -3
  561. package/dist/types/components/kup-image-list/kup-image-list.d.ts +64 -64
  562. package/dist/types/components/kup-lazy/kup-lazy-declarations.d.ts +7 -7
  563. package/dist/types/components/kup-lazy/kup-lazy.d.ts +73 -73
  564. package/dist/types/components/kup-list/kup-list-declarations.d.ts +23 -23
  565. package/dist/types/components/kup-list/kup-list.d.ts +122 -122
  566. package/dist/types/components/kup-magic-box/kup-magic-box-declarations.d.ts +10 -10
  567. package/dist/types/components/kup-magic-box/kup-magic-box.d.ts +60 -60
  568. package/dist/types/components/kup-nav-bar/kup-nav-bar-declarations.d.ts +7 -7
  569. package/dist/types/components/kup-nav-bar/kup-nav-bar.d.ts +60 -60
  570. package/dist/types/components/kup-numeric-picker/kup-numeric-picker-declarations.d.ts +10 -10
  571. package/dist/types/components/kup-numeric-picker/kup-numeric-picker.d.ts +116 -116
  572. package/dist/types/components/kup-photo-frame/kup-photo-frame-declarations.d.ts +3 -3
  573. package/dist/types/components/kup-photo-frame/kup-photo-frame.d.ts +57 -57
  574. package/dist/types/components/kup-planner/kup-planner-declarations.d.ts +592 -96
  575. package/dist/types/components/kup-planner/kup-planner-state.d.ts +9 -9
  576. package/dist/types/components/kup-planner/kup-planner.d.ts +269 -259
  577. package/dist/types/components/kup-planner/utils/custom-task-list-header.d.ts +8 -0
  578. package/dist/types/components/kup-planner/utils/custom-task-list-table.d.ts +14 -0
  579. package/dist/types/components/kup-planner/utils/custom-tool-tip.d.ts +2 -0
  580. package/dist/types/components/kup-planner/utils/helpers/bar.helpers.d.ts +33 -0
  581. package/dist/types/components/kup-planner/utils/helpers/other.helpers.d.ts +6 -0
  582. package/dist/types/components/kup-planner/utils/kup-gantt/kup-gantt.d.ts +127 -0
  583. package/dist/types/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.d.ts +27 -0
  584. package/dist/types/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.d.ts +59 -0
  585. package/dist/types/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.d.ts +17 -0
  586. package/dist/types/components/kup-planner/utils/kup-planner-adapted-types.d.ts +28 -0
  587. package/dist/types/components/kup-planner/utils/kup-planner-renderer-helper.d.ts +36 -0
  588. package/dist/types/components/kup-planner/utils/kup-planner-renderer.d.ts +33 -0
  589. package/dist/types/components/kup-planner/utils/kup-planner-time-formatter.d.ts +20 -0
  590. package/dist/types/components/kup-planner/utils/kup-switcher/kup-switcher.d.ts +5 -0
  591. package/dist/types/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.d.ts +20 -0
  592. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list-header.d.ts +7 -0
  593. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list-table.d.ts +16 -0
  594. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list.d.ts +40 -0
  595. package/dist/types/components/kup-planner/utils/kup-tooltip/kup-standard-tooltip.d.ts +7 -0
  596. package/dist/types/components/kup-planner/utils/kup-tooltip/kup-tooltip.d.ts +26 -0
  597. package/dist/types/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.d.ts +16 -0
  598. package/dist/types/components/kup-probe/kup-probe.d.ts +70 -70
  599. package/dist/types/components/kup-progress-bar/kup-progress-bar-declarations.d.ts +7 -7
  600. package/dist/types/components/kup-progress-bar/kup-progress-bar.d.ts +65 -65
  601. package/dist/types/components/kup-qlik/kup-qlik-declarations.d.ts +13 -13
  602. package/dist/types/components/kup-qlik/kup-qlik.d.ts +96 -96
  603. package/dist/types/components/kup-radio/kup-radio-declarations.d.ts +6 -6
  604. package/dist/types/components/kup-radio/kup-radio.d.ts +75 -75
  605. package/dist/types/components/kup-rating/kup-rating-declarations.d.ts +5 -5
  606. package/dist/types/components/kup-rating/kup-rating.d.ts +52 -52
  607. package/dist/types/components/kup-snackbar/kup-snackbar-declarations.d.ts +5 -5
  608. package/dist/types/components/kup-snackbar/kup-snackbar.d.ts +78 -78
  609. package/dist/types/components/kup-spinner/kup-spinner-declarations.d.ts +8 -8
  610. package/dist/types/components/kup-spinner/kup-spinner.d.ts +75 -75
  611. package/dist/types/components/kup-state/kup-state.d.ts +1 -1
  612. package/dist/types/components/kup-state/kup-store.d.ts +2 -2
  613. package/dist/types/components/kup-state/mock-store.d.ts +5 -5
  614. package/dist/types/components/kup-switch/kup-switch-declarations.d.ts +6 -6
  615. package/dist/types/components/kup-switch/kup-switch.d.ts +75 -75
  616. package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +6 -6
  617. package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +72 -72
  618. package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +31 -31
  619. package/dist/types/components/kup-text-field/kup-text-field.d.ts +258 -258
  620. package/dist/types/components/kup-time-picker/kup-time-picker-declarations.d.ts +8 -8
  621. package/dist/types/components/kup-time-picker/kup-time-picker.d.ts +120 -120
  622. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +56 -56
  623. package/dist/types/components/kup-tree/kup-tree-faker.d.ts +15 -15
  624. package/dist/types/components/kup-tree/kup-tree-state.d.ts +9 -9
  625. package/dist/types/components/kup-tree/kup-tree.d.ts +351 -351
  626. package/dist/types/components.d.ts +1305 -4
  627. package/dist/types/f-components/f-button/f-button-declarations.d.ts +24 -24
  628. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +117 -117
  629. package/dist/types/f-components/f-checkbox/f-checkbox-declarations.d.ts +9 -9
  630. package/dist/types/f-components/f-chip/f-chip-declarations.d.ts +12 -12
  631. package/dist/types/f-components/f-image/f-image-declarations.d.ts +14 -14
  632. package/dist/types/f-components/f-paginator/f-paginator-declarations.d.ts +12 -12
  633. package/dist/types/f-components/f-progress-bar/f-progress-bar-declarations.d.ts +10 -10
  634. package/dist/types/f-components/f-radio/f-radio-declarations.d.ts +11 -11
  635. package/dist/types/f-components/f-rating/f-rating-declarations.d.ts +4 -4
  636. package/dist/types/f-components/f-switch/f-switch-declarations.d.ts +8 -8
  637. package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +38 -38
  638. package/dist/types/index.d.ts +4 -0
  639. package/dist/types/managers/kup-data/kup-data-cell-helper.d.ts +3 -3
  640. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +88 -88
  641. package/dist/types/managers/kup-data/kup-data.d.ts +76 -76
  642. package/dist/types/managers/kup-dates/kup-dates-declarations.d.ts +19 -19
  643. package/dist/types/managers/kup-dates/kup-dates.d.ts +217 -192
  644. package/dist/types/managers/kup-debug/kup-debug-declarations.d.ts +18 -18
  645. package/dist/types/managers/kup-debug/kup-debug.d.ts +87 -87
  646. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position-declarations.d.ts +19 -19
  647. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position.d.ts +53 -53
  648. package/dist/types/managers/kup-interact/kup-interact-declarations.d.ts +37 -37
  649. package/dist/types/managers/kup-interact/kup-interact.d.ts +95 -95
  650. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +133 -133
  651. package/dist/types/managers/kup-language/kup-language.d.ts +44 -44
  652. package/dist/types/managers/kup-manager/kup-manager-declarations.d.ts +63 -63
  653. package/dist/types/managers/kup-manager/kup-manager.d.ts +67 -67
  654. package/dist/types/managers/kup-math/kup-math-declarations.d.ts +16 -16
  655. package/dist/types/managers/kup-math/kup-math-helper.d.ts +1 -1
  656. package/dist/types/managers/kup-math/kup-math.d.ts +132 -132
  657. package/dist/types/managers/kup-objects/kup-objects-declarations.d.ts +4 -4
  658. package/dist/types/managers/kup-objects/kup-objects.d.ts +201 -201
  659. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.d.ts +16 -16
  660. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover.d.ts +55 -55
  661. package/dist/types/managers/kup-search/kup-search-declarations.d.ts +1 -1
  662. package/dist/types/managers/kup-search/kup-search.d.ts +13 -13
  663. package/dist/types/managers/kup-theme/kup-theme-declarations.d.ts +99 -99
  664. package/dist/types/managers/kup-theme/kup-theme.d.ts +119 -119
  665. package/dist/types/managers/kup-toolbar/kup-toolbar-declarations.d.ts +3 -3
  666. package/dist/types/managers/kup-toolbar/kup-toolbar.d.ts +32 -32
  667. package/dist/types/managers/kup-tooltip/kup-tooltip-declarations.d.ts +4 -4
  668. package/dist/types/managers/kup-tooltip/kup-tooltip.d.ts +43 -43
  669. package/dist/types/stencil-public-runtime.d.ts +29 -0
  670. package/dist/types/types/GenericTypes.d.ts +74 -74
  671. package/dist/types/utils/filters/filters-column-menu.d.ts +86 -86
  672. package/dist/types/utils/filters/filters-declarations.d.ts +13 -13
  673. package/dist/types/utils/filters/filters-rows.d.ts +17 -17
  674. package/dist/types/utils/filters/filters-tree-items.d.ts +7 -7
  675. package/dist/types/utils/filters/filters.d.ts +62 -62
  676. package/dist/types/utils/kup-column-menu/kup-column-menu-declarations.d.ts +14 -14
  677. package/dist/types/utils/kup-column-menu/kup-column-menu.d.ts +126 -126
  678. package/dist/types/utils/utils.d.ts +0 -2
  679. package/package.json +12 -16
  680. package/dist/cjs/f-button-733664a5.js +0 -105
  681. package/dist/cjs/f-cell-f37757a6.js +0 -670
  682. package/dist/cjs/f-checkbox-556771e8.js +0 -29
  683. package/dist/cjs/f-chip-3349d130.js +0 -133
  684. package/dist/cjs/f-image-b7a5816b.js +0 -115
  685. package/dist/cjs/f-paginator-utils-1fe1df76.js +0 -1576
  686. package/dist/cjs/f-text-field-8557fc3f.js +0 -216
  687. package/dist/esm/f-button-f247ce10.js +0 -103
  688. package/dist/esm/f-cell-ba94f1b3.js +0 -664
  689. package/dist/esm/f-checkbox-cbf7b3de.js +0 -27
  690. package/dist/esm/f-chip-104c4a64.js +0 -131
  691. package/dist/esm/f-image-d2a9603c.js +0 -113
  692. package/dist/esm/f-paginator-utils-743522fa.js +0 -1563
  693. package/dist/esm/f-text-field-4d91ccfc.js +0 -214
  694. package/dist/ketchup/p-12e47371.js +0 -1
  695. package/dist/ketchup/p-15548f51.entry.js +0 -1
  696. package/dist/ketchup/p-20e8ab84.js +0 -2
  697. package/dist/ketchup/p-21f1b22a.entry.js +0 -1
  698. package/dist/ketchup/p-2c47b88f.js +0 -30
  699. package/dist/ketchup/p-304f296e.entry.js +0 -1
  700. package/dist/ketchup/p-48f8b0d5.entry.js +0 -9
  701. package/dist/ketchup/p-4ca502ce.entry.js +0 -1
  702. package/dist/ketchup/p-5abbf31b.entry.js +0 -1
  703. package/dist/ketchup/p-5c9b10a5.entry.js +0 -1
  704. package/dist/ketchup/p-5cb2dbf3.entry.js +0 -1
  705. package/dist/ketchup/p-6a0ac578.entry.js +0 -1
  706. package/dist/ketchup/p-87e13738.entry.js +0 -1
  707. package/dist/ketchup/p-8e5db599.entry.js +0 -1
  708. package/dist/ketchup/p-a14ede8c.entry.js +0 -1
  709. package/dist/ketchup/p-a2007880.js +0 -1
  710. package/dist/ketchup/p-bf41d71f.entry.js +0 -1
  711. package/dist/ketchup/p-c32e8755.entry.js +0 -1
  712. package/dist/ketchup/p-c4b1bde1.entry.js +0 -1
  713. package/dist/ketchup/p-c6b58be6.entry.js +0 -1
  714. package/dist/ketchup/p-d56763cf.entry.js +0 -1
  715. package/dist/ketchup/p-e7f57bee.entry.js +0 -1
  716. package/dist/ketchup/p-eb12225c.entry.js +0 -1
  717. package/dist/ketchup/p-f22abf4e.entry.js +0 -1
  718. package/dist/ketchup/p-f82db512.entry.js +0 -25
  719. /package/dist/ketchup/{p-cd2af1a6.js → p-b3577066.js} +0 -0
  720. /package/dist/ketchup/{p-b00f3575.js → p-c634eb82.js} +0 -0
@@ -4,95 +4,95 @@ import { FiltersRows } from "../../utils/filters/filters-rows";
4
4
  import { KupDatesFormats, } from "../../managers/kup-dates/kup-dates-declarations";
5
5
  const dom = document.documentElement;
6
6
  export function sortRows(rows = [], sort = []) {
7
- if (!rows || rows.length === 0) {
8
- return [];
9
- }
10
- // check if row is group
11
- if (rows[0].group) {
12
- return sortGroupRows(rows, sort);
13
- }
14
- // sorting rows
15
- if (!sort || sort.length === 0) {
16
- // no sort -> return rows as they are
17
- return rows;
18
- }
19
- // check multiple sort
20
- const isMultiSort = sort.length > 1;
21
- // sorting rows
22
- return rows.slice(0).sort((r1, r2) => {
23
- if (isMultiSort) {
24
- for (let i = 0; i < sort.length; i++) {
25
- const compare = compareRows(r1, r2, sort[i]);
26
- if (compare !== 0) {
27
- // not same row
28
- return compare;
29
- }
30
- }
31
- // same row
32
- return 0;
7
+ if (!rows || rows.length === 0) {
8
+ return [];
33
9
  }
34
- else {
35
- return compareRows(r1, r2, sort[0]);
10
+ // check if row is group
11
+ if (rows[0].group) {
12
+ return sortGroupRows(rows, sort);
36
13
  }
37
- });
14
+ // sorting rows
15
+ if (!sort || sort.length === 0) {
16
+ // no sort -> return rows as they are
17
+ return rows;
18
+ }
19
+ // check multiple sort
20
+ const isMultiSort = sort.length > 1;
21
+ // sorting rows
22
+ return rows.slice(0).sort((r1, r2) => {
23
+ if (isMultiSort) {
24
+ for (let i = 0; i < sort.length; i++) {
25
+ const compare = compareRows(r1, r2, sort[i]);
26
+ if (compare !== 0) {
27
+ // not same row
28
+ return compare;
29
+ }
30
+ }
31
+ // same row
32
+ return 0;
33
+ }
34
+ else {
35
+ return compareRows(r1, r2, sort[0]);
36
+ }
37
+ });
38
38
  }
39
39
  function sortGroupRows(rows = [], sort = []) {
40
- if (!rows || rows.length === 0) {
41
- return [];
42
- }
43
- // getting columm group
44
- const groupColumn = rows[0].group.column;
45
- // check if column is in sort
46
- let sortObject = getSortOnColumn(groupColumn, sort);
47
- if (!sortObject) {
48
- sortObject = {
49
- column: groupColumn,
50
- sortMode: SortMode.A,
51
- };
52
- }
53
- // sorting rows
54
- rows.sort((r1, r2) => {
55
- // creating fake cells
56
- const cell1 = {
57
- obj: r1.group.obj,
58
- value: r1.group.id,
59
- };
60
- const cell2 = {
61
- obj: r2.group.obj,
62
- value: r2.group.id,
63
- };
64
- return compareCell(cell1, cell2, sortObject.sortMode);
65
- });
66
- // sorting children
67
- rows.forEach((row) => {
68
- row.group.children = sortRows(row.group.children, sort);
69
- });
70
- return rows;
40
+ if (!rows || rows.length === 0) {
41
+ return [];
42
+ }
43
+ // getting columm group
44
+ const groupColumn = rows[0].group.column;
45
+ // check if column is in sort
46
+ let sortObject = getSortOnColumn(groupColumn, sort);
47
+ if (!sortObject) {
48
+ sortObject = {
49
+ column: groupColumn,
50
+ sortMode: SortMode.A,
51
+ };
52
+ }
53
+ // sorting rows
54
+ rows.sort((r1, r2) => {
55
+ // creating fake cells
56
+ const cell1 = {
57
+ obj: r1.group.obj,
58
+ value: r1.group.id,
59
+ };
60
+ const cell2 = {
61
+ obj: r2.group.obj,
62
+ value: r2.group.id,
63
+ };
64
+ return compareCell(cell1, cell2, sortObject.sortMode);
65
+ });
66
+ // sorting children
67
+ rows.forEach((row) => {
68
+ row.group.children = sortRows(row.group.children, sort);
69
+ });
70
+ return rows;
71
71
  }
72
72
  function getSortOnColumn(column = '', sort = []) {
73
- if (!column || !sort || sort.length === 0) {
74
- return null;
75
- }
76
- for (let sortObject of sort) {
77
- if (sortObject.column === column) {
78
- return sortObject;
73
+ if (!column || !sort || sort.length === 0) {
74
+ return null;
79
75
  }
80
- }
81
- return null;
76
+ for (let sortObject of sort) {
77
+ if (sortObject.column === column) {
78
+ return sortObject;
79
+ }
80
+ }
81
+ return null;
82
82
  }
83
83
  function compareRows(r1, r2, sortObj) {
84
- const cell1 = r1.cells[sortObj.column];
85
- const cell2 = r2.cells[sortObj.column];
86
- if (!cell1 && !cell2) {
87
- return 0;
88
- }
89
- if (!cell1) {
90
- return 1;
91
- }
92
- if (!cell2) {
93
- return -1;
94
- }
95
- return compareCell(cell1, cell2, sortObj.sortMode);
84
+ const cell1 = r1.cells[sortObj.column];
85
+ const cell2 = r2.cells[sortObj.column];
86
+ if (!cell1 && !cell2) {
87
+ return 0;
88
+ }
89
+ if (!cell1) {
90
+ return 1;
91
+ }
92
+ if (!cell2) {
93
+ return -1;
94
+ }
95
+ return compareCell(cell1, cell2, sortObj.sortMode);
96
96
  }
97
97
  //-------- FILTER FUNCTIONS --------
98
98
  /**
@@ -106,702 +106,702 @@ function compareRows(r1, r2, sortObj) {
106
106
  * single filters and global filter, all controls on a single column are done in a single cycle.
107
107
  */
108
108
  export function filterRows(rows = [], filters = {}, globalFilter = '', columns = [], columnFilters, filtersRows) {
109
- if (filtersRows == null) {
110
- filtersRows = new FiltersRows();
111
- }
112
- return filtersRows.filterRows(rows, filters, globalFilter, columns, columnFilters);
109
+ if (filtersRows == null) {
110
+ filtersRows = new FiltersRows();
111
+ }
112
+ return filtersRows.filterRows(rows, filters, globalFilter, columns, columnFilters);
113
113
  }
114
114
  export function groupRows(columns = [], rows = [], groups = [], totals = {}) {
115
- if (!rows) {
116
- return [];
117
- }
118
- if (!groups || groups.length === 0 || !columns || columns.length === 0) {
119
- return rows;
120
- }
121
- // Keeps label of the valid columns
122
- const columnLabels = {};
123
- // remove invalid groups and store column labels
124
- const validGroups = groups.filter(({ column }) => {
125
- for (let { name, title } of columns) {
126
- if (name === column) {
127
- // Store label of the columns
128
- columnLabels[name] = title;
129
- return true;
130
- }
131
- }
132
- return false;
133
- });
134
- if (validGroups.length === 0) {
135
- // no valid groups
136
- return rows;
137
- }
138
- // creating root
139
- const groupRows = [];
140
- // obj used to calculate the group distinct value
141
- let distinctObj = {};
142
- rows.forEach((row) => {
143
- // getting column name from first group
144
- const columnName = validGroups[0].column;
145
- // getting row value
146
- const cell = row.cells[columnName];
147
- if (cell) {
148
- const column = getColumnByName(columns, columnName);
149
- const cellValueForDisplay = getCellValueForDisplay(column, cell);
150
- const cellValue = cell.value;
151
- let groupRow = null;
152
- // check in already in groupedRow
153
- for (let currentGroupRow of groupRows) {
154
- if (currentGroupRow.group.label === cellValueForDisplay) {
155
- groupRow = currentGroupRow;
156
- break;
157
- }
158
- }
159
- if (groupRow === null) {
160
- // create group row
161
- groupRow = {
162
- group: {
163
- id: cellValue,
164
- parent: null,
165
- column: columnName,
166
- columnLabel: columnLabels[columnName],
167
- expanded: false,
168
- label: cellValueForDisplay,
169
- children: [],
170
- obj: cell.obj,
171
- totals: {},
172
- },
173
- cells: {},
174
- };
175
- // add group to list
176
- groupRows.push(groupRow);
177
- }
178
- for (let i = 1; i < validGroups.length; i++) {
179
- const group = validGroups[i];
180
- // getting cell value
181
- const tempCell = row.cells[group.column];
182
- if (tempCell) {
183
- const column = getColumnByName(columns, group.column);
184
- const tempCellValueForDisplay = getCellValueForDisplay(column, tempCell);
185
- const tempCellValue = tempCell.value;
186
- // check if group already exists
187
- let tempGroupingRow = null;
188
- for (let j = 0; j < groupRow.group.children.length; j++) {
189
- const childGroup = groupRow.group.children[j];
190
- const groupLabel = childGroup.group.label;
191
- if (groupLabel === tempCellValueForDisplay) {
192
- tempGroupingRow = childGroup;
193
- break;
115
+ if (!rows) {
116
+ return [];
117
+ }
118
+ if (!groups || groups.length === 0 || !columns || columns.length === 0) {
119
+ return rows;
120
+ }
121
+ // Keeps label of the valid columns
122
+ const columnLabels = {};
123
+ // remove invalid groups and store column labels
124
+ const validGroups = groups.filter(({ column }) => {
125
+ for (let { name, title } of columns) {
126
+ if (name === column) {
127
+ // Store label of the columns
128
+ columnLabels[name] = title;
129
+ return true;
194
130
  }
195
- }
196
- if (!tempGroupingRow) {
197
- tempGroupingRow = {
198
- cells: {},
199
- group: {
200
- id: tempCellValue,
201
- parent: groupRow,
202
- column: group.column,
203
- columnLabel: columnLabels[group.column],
204
- children: [],
205
- expanded: false,
206
- label: tempCellValueForDisplay,
207
- totals: {},
208
- obj: tempCell.obj,
209
- },
210
- };
211
- adjustGroupId(tempGroupingRow);
212
- groupRow.group.children.push(tempGroupingRow);
213
- }
214
- groupRow = tempGroupingRow;
215
131
  }
216
- }
217
- // adding row
218
- groupRow.group.children.push(row);
219
- updateGroupTotal(groupRow, totals, row, distinctObj);
220
- }
221
- });
222
- adjustGroupsDistinct(groupRows, totals, distinctObj);
223
- adjustGroupsAverageOrFormula(groupRows, TotalMode.AVERAGE, totals);
224
- adjustGroupsAverageOrFormula(groupRows, TotalMode.MATH, totals);
225
- return groupRows;
226
- }
227
- function updateGroupTotal(groupRow, totals, addedRow, distinctObj) {
228
- if (!groupRow || !totals) {
229
- return;
230
- }
231
- const keys = Object.keys(totals);
232
- if (keys.length === 0) {
233
- return;
234
- }
235
- keys.forEach((key) => {
236
- const cell = addedRow.cells[key];
237
- if (cell) {
238
- const _isNumber = dom.ketchup.objects.isNumber(cell.obj);
239
- const totalMode = totals[key];
240
- switch (totalMode) {
241
- case TotalMode.COUNT:
242
- let currentTotalValue = groupRow.group.totals[key] || 0;
243
- groupRow.group.totals[key] = ++currentTotalValue;
244
- // updating parents
245
- let parent = groupRow.group.parent;
246
- while (parent != null) {
247
- let currentParentCount = parent.group.totals[key] || 0;
248
- parent.group.totals[key] = ++currentParentCount;
249
- parent = parent.group.parent;
250
- }
251
- break;
252
- case TotalMode.DISTINCT:
253
- let cellValue;
254
- if (_isNumber) {
255
- cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
256
- }
257
- else {
258
- cellValue = cell.value;
259
- }
260
- let distinctGroup = distinctObj[groupRow.group.id];
261
- if (!distinctGroup) {
262
- distinctObj[groupRow.group.id] = {};
263
- distinctObj[groupRow.group.id][key] = [];
264
- distinctObj[groupRow.group.id][key].push(cellValue);
265
- }
266
- else {
267
- let distinctList = distinctObj[groupRow.group.id][key];
268
- if (!distinctList) {
269
- // first round
270
- distinctObj[groupRow.group.id][key] = [];
271
- distinctObj[groupRow.group.id][key].push(cellValue);
272
- }
273
- else {
274
- // update the list
275
- distinctList.push(cellValue);
276
- }
277
- }
278
- // updating parents
279
- let distinctParent = groupRow.group.parent;
280
- while (distinctParent != null) {
281
- // get parent value
282
- let distinctGroupParent = distinctObj[distinctParent.group.id];
283
- if (!distinctGroupParent) {
284
- distinctObj[distinctParent.group.id] = {};
285
- distinctObj[distinctParent.group.id][key] = [];
286
- distinctObj[distinctParent.group.id][key].push(cellValue);
287
- }
288
- else {
289
- let distinctParentList = distinctObj[distinctParent.group.id][key];
290
- if (!distinctParentList) {
291
- // first round
292
- distinctObj[distinctParent.group.id][key] = [];
293
- distinctObj[distinctParent.group.id][key].push(cellValue);
294
- }
295
- else {
296
- // update the list
297
- distinctParentList.push(cellValue);
298
- }
299
- }
300
- // continue
301
- distinctParent = distinctParent.group.parent;
302
- }
303
- break;
304
- case TotalMode.SUM:
305
- case TotalMode.AVERAGE:
306
- if (_isNumber && cell.value) {
307
- const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
308
- const currentTotalValue = groupRow.group.totals[key] || 0;
309
- groupRow.group.totals[key] =
310
- cellValue + currentTotalValue;
311
- // updating parents
312
- let parent = groupRow.group.parent;
313
- while (parent != null) {
314
- const currentParentSum = dom.ketchup.math.numberify(parent.group.totals[key] || 0);
315
- parent.group.totals[key] =
316
- cellValue + currentParentSum;
317
- parent = parent.group.parent;
318
- }
319
- }
320
- break;
321
- // TODO DRY the MIN and MAX functions
322
- case TotalMode.MIN:
323
- if (_isNumber && cell.value) {
324
- const currentMinValue = groupRow.group.totals[key];
325
- const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
326
- if (currentMinValue) {
327
- groupRow.group.totals[key] = Math.min(currentMinValue, cellValue);
328
- }
329
- else {
330
- // first round
331
- groupRow.group.totals[key] = cellValue;
332
- }
333
- // updating parents
334
- let parent = groupRow.group.parent;
335
- while (parent != null) {
336
- const currentParentMin = parent.group.totals[key];
337
- if (currentParentMin) {
338
- parent.group.totals[key] = Math.min(currentParentMin, cellValue);
339
- }
340
- else {
341
- // first round
342
- parent.group.totals[key] = cellValue;
343
- }
344
- parent = parent.group.parent;
345
- }
346
- }
347
- else if (cell.value &&
348
- dom.ketchup.objects.isDate(cell.obj)) {
349
- const cellValue = dom.ketchup.dates.toDayjs(cell.value);
350
- if (dom.ketchup.dates.isValid(cellValue)) {
351
- const currentMinValue = groupRow.group.totals[key];
352
- if (currentMinValue) {
353
- let moments = [];
354
- moments.push(cellValue);
355
- moments.push(dom.ketchup.dates.toDayjs(currentMinValue));
356
- groupRow.group.totals[key] =
357
- dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
358
- }
359
- else {
360
- groupRow.group.totals[key] =
361
- dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
362
- }
363
- // updating parents
364
- let parent = groupRow.group.parent;
365
- while (parent != null) {
366
- const currentParentMin = parent.group.totals[key];
367
- if (currentParentMin) {
368
- let moments = [];
369
- moments.push(cellValue);
370
- moments.push(dom.ketchup.dates.toDayjs(currentParentMin));
371
- parent.group.totals[key] =
372
- dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
373
- }
374
- else {
375
- // first round
376
- parent.group.totals[key] =
377
- dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
132
+ return false;
133
+ });
134
+ if (validGroups.length === 0) {
135
+ // no valid groups
136
+ return rows;
137
+ }
138
+ // creating root
139
+ const groupRows = [];
140
+ // obj used to calculate the group distinct value
141
+ let distinctObj = {};
142
+ rows.forEach((row) => {
143
+ // getting column name from first group
144
+ const columnName = validGroups[0].column;
145
+ // getting row value
146
+ const cell = row.cells[columnName];
147
+ if (cell) {
148
+ const column = getColumnByName(columns, columnName);
149
+ const cellValueForDisplay = getCellValueForDisplay(column, cell);
150
+ const cellValue = cell.value;
151
+ let groupRow = null;
152
+ // check in already in groupedRow
153
+ for (let currentGroupRow of groupRows) {
154
+ if (currentGroupRow.group.label === cellValueForDisplay) {
155
+ groupRow = currentGroupRow;
156
+ break;
378
157
  }
379
- parent = parent.group.parent;
380
- }
381
158
  }
382
- }
383
- break;
384
- // TODO DRY the MIN and MAX functions
385
- case TotalMode.MAX:
386
- if (_isNumber && cell.value) {
387
- const currentMaxValue = groupRow.group.totals[key];
388
- const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
389
- if (currentMaxValue) {
390
- groupRow.group.totals[key] = Math.max(currentMaxValue, cellValue);
159
+ if (groupRow === null) {
160
+ // create group row
161
+ groupRow = {
162
+ group: {
163
+ id: cellValue,
164
+ parent: null,
165
+ column: columnName,
166
+ columnLabel: columnLabels[columnName],
167
+ expanded: false,
168
+ label: cellValueForDisplay,
169
+ children: [],
170
+ obj: cell.obj,
171
+ totals: {},
172
+ },
173
+ cells: {},
174
+ };
175
+ // add group to list
176
+ groupRows.push(groupRow);
391
177
  }
392
- else {
393
- // first round
394
- groupRow.group.totals[key] = cellValue;
395
- }
396
- // updating parents
397
- let parent = groupRow.group.parent;
398
- while (parent != null) {
399
- const currentParentMax = parent.group.totals[key];
400
- if (currentParentMax) {
401
- parent.group.totals[key] = Math.max(currentParentMax, cellValue);
402
- }
403
- else {
404
- // first round
405
- parent.group.totals[key] = cellValue;
406
- }
407
- parent = parent.group.parent;
408
- }
409
- }
410
- else if (cell.value &&
411
- dom.ketchup.objects.isDate(cell.obj)) {
412
- const cellValue = dom.ketchup.dates.toDayjs(cell.value);
413
- if (dom.ketchup.dates.isValid(cellValue)) {
414
- const currentMaxValue = groupRow.group.totals[key];
415
- if (currentMaxValue) {
416
- let moments = [];
417
- moments.push(cellValue);
418
- moments.push(dom.ketchup.dates.toDayjs(currentMaxValue));
419
- groupRow.group.totals[key] =
420
- dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
421
- }
422
- else {
423
- groupRow.group.totals[key] =
424
- dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
425
- }
426
- // updating parents
427
- let parent = groupRow.group.parent;
428
- while (parent != null) {
429
- const currentParentMax = parent.group.totals[key];
430
- if (currentParentMax) {
431
- let moments = [];
432
- moments.push(cellValue);
433
- moments.push(dom.ketchup.dates.toDayjs(currentParentMax));
434
- parent.group.totals[key] =
435
- dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
178
+ for (let i = 1; i < validGroups.length; i++) {
179
+ const group = validGroups[i];
180
+ // getting cell value
181
+ const tempCell = row.cells[group.column];
182
+ if (tempCell) {
183
+ const column = getColumnByName(columns, group.column);
184
+ const tempCellValueForDisplay = getCellValueForDisplay(column, tempCell);
185
+ const tempCellValue = tempCell.value;
186
+ // check if group already exists
187
+ let tempGroupingRow = null;
188
+ for (let j = 0; j < groupRow.group.children.length; j++) {
189
+ const childGroup = groupRow.group.children[j];
190
+ const groupLabel = childGroup.group.label;
191
+ if (groupLabel === tempCellValueForDisplay) {
192
+ tempGroupingRow = childGroup;
193
+ break;
194
+ }
195
+ }
196
+ if (!tempGroupingRow) {
197
+ tempGroupingRow = {
198
+ cells: {},
199
+ group: {
200
+ id: tempCellValue,
201
+ parent: groupRow,
202
+ column: group.column,
203
+ columnLabel: columnLabels[group.column],
204
+ children: [],
205
+ expanded: false,
206
+ label: tempCellValueForDisplay,
207
+ totals: {},
208
+ obj: tempCell.obj,
209
+ },
210
+ };
211
+ adjustGroupId(tempGroupingRow);
212
+ groupRow.group.children.push(tempGroupingRow);
213
+ }
214
+ groupRow = tempGroupingRow;
436
215
  }
437
- else {
438
- // first round
439
- parent.group.totals[key] =
440
- dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
441
- }
442
- parent = parent.group.parent;
443
- }
444
216
  }
445
- }
446
- break;
447
- default: {
448
- if (totalMode.indexOf(TotalMode.MATH) != 0) {
449
- console.warn(`invalid total mode: ${totalMode}`);
450
- }
451
- break;
217
+ // adding row
218
+ groupRow.group.children.push(row);
219
+ updateGroupTotal(groupRow, totals, row, distinctObj);
452
220
  }
453
- }
221
+ });
222
+ adjustGroupsDistinct(groupRows, totals, distinctObj);
223
+ adjustGroupsAverageOrFormula(groupRows, TotalMode.AVERAGE, totals);
224
+ adjustGroupsAverageOrFormula(groupRows, TotalMode.MATH, totals);
225
+ return groupRows;
226
+ }
227
+ function updateGroupTotal(groupRow, totals, addedRow, distinctObj) {
228
+ if (!groupRow || !totals) {
229
+ return;
454
230
  }
455
- });
231
+ const keys = Object.keys(totals);
232
+ if (keys.length === 0) {
233
+ return;
234
+ }
235
+ keys.forEach((key) => {
236
+ const cell = addedRow.cells[key];
237
+ if (cell) {
238
+ const _isNumber = dom.ketchup.objects.isNumber(cell.obj);
239
+ const totalMode = totals[key];
240
+ switch (totalMode) {
241
+ case TotalMode.COUNT:
242
+ let currentTotalValue = groupRow.group.totals[key] || 0;
243
+ groupRow.group.totals[key] = ++currentTotalValue;
244
+ // updating parents
245
+ let parent = groupRow.group.parent;
246
+ while (parent != null) {
247
+ let currentParentCount = parent.group.totals[key] || 0;
248
+ parent.group.totals[key] = ++currentParentCount;
249
+ parent = parent.group.parent;
250
+ }
251
+ break;
252
+ case TotalMode.DISTINCT:
253
+ let cellValue;
254
+ if (_isNumber) {
255
+ cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
256
+ }
257
+ else {
258
+ cellValue = cell.value;
259
+ }
260
+ let distinctGroup = distinctObj[groupRow.group.id];
261
+ if (!distinctGroup) {
262
+ distinctObj[groupRow.group.id] = {};
263
+ distinctObj[groupRow.group.id][key] = [];
264
+ distinctObj[groupRow.group.id][key].push(cellValue);
265
+ }
266
+ else {
267
+ let distinctList = distinctObj[groupRow.group.id][key];
268
+ if (!distinctList) {
269
+ // first round
270
+ distinctObj[groupRow.group.id][key] = [];
271
+ distinctObj[groupRow.group.id][key].push(cellValue);
272
+ }
273
+ else {
274
+ // update the list
275
+ distinctList.push(cellValue);
276
+ }
277
+ }
278
+ // updating parents
279
+ let distinctParent = groupRow.group.parent;
280
+ while (distinctParent != null) {
281
+ // get parent value
282
+ let distinctGroupParent = distinctObj[distinctParent.group.id];
283
+ if (!distinctGroupParent) {
284
+ distinctObj[distinctParent.group.id] = {};
285
+ distinctObj[distinctParent.group.id][key] = [];
286
+ distinctObj[distinctParent.group.id][key].push(cellValue);
287
+ }
288
+ else {
289
+ let distinctParentList = distinctObj[distinctParent.group.id][key];
290
+ if (!distinctParentList) {
291
+ // first round
292
+ distinctObj[distinctParent.group.id][key] = [];
293
+ distinctObj[distinctParent.group.id][key].push(cellValue);
294
+ }
295
+ else {
296
+ // update the list
297
+ distinctParentList.push(cellValue);
298
+ }
299
+ }
300
+ // continue
301
+ distinctParent = distinctParent.group.parent;
302
+ }
303
+ break;
304
+ case TotalMode.SUM:
305
+ case TotalMode.AVERAGE:
306
+ if (_isNumber && cell.value) {
307
+ const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
308
+ const currentTotalValue = groupRow.group.totals[key] || 0;
309
+ groupRow.group.totals[key] =
310
+ cellValue + currentTotalValue;
311
+ // updating parents
312
+ let parent = groupRow.group.parent;
313
+ while (parent != null) {
314
+ const currentParentSum = dom.ketchup.math.numberify(parent.group.totals[key] || 0);
315
+ parent.group.totals[key] =
316
+ cellValue + currentParentSum;
317
+ parent = parent.group.parent;
318
+ }
319
+ }
320
+ break;
321
+ // TODO DRY the MIN and MAX functions
322
+ case TotalMode.MIN:
323
+ if (_isNumber && cell.value) {
324
+ const currentMinValue = groupRow.group.totals[key];
325
+ const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
326
+ if (currentMinValue) {
327
+ groupRow.group.totals[key] = Math.min(currentMinValue, cellValue);
328
+ }
329
+ else {
330
+ // first round
331
+ groupRow.group.totals[key] = cellValue;
332
+ }
333
+ // updating parents
334
+ let parent = groupRow.group.parent;
335
+ while (parent != null) {
336
+ const currentParentMin = parent.group.totals[key];
337
+ if (currentParentMin) {
338
+ parent.group.totals[key] = Math.min(currentParentMin, cellValue);
339
+ }
340
+ else {
341
+ // first round
342
+ parent.group.totals[key] = cellValue;
343
+ }
344
+ parent = parent.group.parent;
345
+ }
346
+ }
347
+ else if (cell.value &&
348
+ dom.ketchup.objects.isDate(cell.obj)) {
349
+ const cellValue = dom.ketchup.dates.toDayjs(cell.value);
350
+ if (dom.ketchup.dates.isValid(cellValue)) {
351
+ const currentMinValue = groupRow.group.totals[key];
352
+ if (currentMinValue) {
353
+ let moments = [];
354
+ moments.push(cellValue);
355
+ moments.push(dom.ketchup.dates.toDayjs(currentMinValue));
356
+ groupRow.group.totals[key] =
357
+ dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
358
+ }
359
+ else {
360
+ groupRow.group.totals[key] =
361
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
362
+ }
363
+ // updating parents
364
+ let parent = groupRow.group.parent;
365
+ while (parent != null) {
366
+ const currentParentMin = parent.group.totals[key];
367
+ if (currentParentMin) {
368
+ let moments = [];
369
+ moments.push(cellValue);
370
+ moments.push(dom.ketchup.dates.toDayjs(currentParentMin));
371
+ parent.group.totals[key] =
372
+ dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
373
+ }
374
+ else {
375
+ // first round
376
+ parent.group.totals[key] =
377
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
378
+ }
379
+ parent = parent.group.parent;
380
+ }
381
+ }
382
+ }
383
+ break;
384
+ // TODO DRY the MIN and MAX functions
385
+ case TotalMode.MAX:
386
+ if (_isNumber && cell.value) {
387
+ const currentMaxValue = groupRow.group.totals[key];
388
+ const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
389
+ if (currentMaxValue) {
390
+ groupRow.group.totals[key] = Math.max(currentMaxValue, cellValue);
391
+ }
392
+ else {
393
+ // first round
394
+ groupRow.group.totals[key] = cellValue;
395
+ }
396
+ // updating parents
397
+ let parent = groupRow.group.parent;
398
+ while (parent != null) {
399
+ const currentParentMax = parent.group.totals[key];
400
+ if (currentParentMax) {
401
+ parent.group.totals[key] = Math.max(currentParentMax, cellValue);
402
+ }
403
+ else {
404
+ // first round
405
+ parent.group.totals[key] = cellValue;
406
+ }
407
+ parent = parent.group.parent;
408
+ }
409
+ }
410
+ else if (cell.value &&
411
+ dom.ketchup.objects.isDate(cell.obj)) {
412
+ const cellValue = dom.ketchup.dates.toDayjs(cell.value);
413
+ if (dom.ketchup.dates.isValid(cellValue)) {
414
+ const currentMaxValue = groupRow.group.totals[key];
415
+ if (currentMaxValue) {
416
+ let moments = [];
417
+ moments.push(cellValue);
418
+ moments.push(dom.ketchup.dates.toDayjs(currentMaxValue));
419
+ groupRow.group.totals[key] =
420
+ dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
421
+ }
422
+ else {
423
+ groupRow.group.totals[key] =
424
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
425
+ }
426
+ // updating parents
427
+ let parent = groupRow.group.parent;
428
+ while (parent != null) {
429
+ const currentParentMax = parent.group.totals[key];
430
+ if (currentParentMax) {
431
+ let moments = [];
432
+ moments.push(cellValue);
433
+ moments.push(dom.ketchup.dates.toDayjs(currentParentMax));
434
+ parent.group.totals[key] =
435
+ dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
436
+ }
437
+ else {
438
+ // first round
439
+ parent.group.totals[key] =
440
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
441
+ }
442
+ parent = parent.group.parent;
443
+ }
444
+ }
445
+ }
446
+ break;
447
+ default: {
448
+ if (totalMode.indexOf(TotalMode.MATH) != 0) {
449
+ console.warn(`invalid total mode: ${totalMode}`);
450
+ }
451
+ break;
452
+ }
453
+ }
454
+ }
455
+ });
456
456
  }
457
457
  function adjustGroupsDistinct(groupRows, totals, distinctObj) {
458
- if (!groupRows || !totals) {
459
- return;
460
- }
461
- const keys = Object.keys(totals);
462
- if (groupRows.length === 0 || !groupRows[0].group || keys.length === 0) {
463
- return;
464
- }
465
- let toAdjustKeys = keys.filter((key) => TotalMode.DISTINCT === totals[key]);
466
- if (toAdjustKeys.length > 0) {
467
- groupRows
468
- .filter((groupRow) => groupRow.group.children.length > 0)
469
- .forEach((groupRow) => adjustGroupDistinct(groupRow, toAdjustKeys, distinctObj));
470
- }
458
+ if (!groupRows || !totals) {
459
+ return;
460
+ }
461
+ const keys = Object.keys(totals);
462
+ if (groupRows.length === 0 || !groupRows[0].group || keys.length === 0) {
463
+ return;
464
+ }
465
+ let toAdjustKeys = keys.filter((key) => TotalMode.DISTINCT === totals[key]);
466
+ if (toAdjustKeys.length > 0) {
467
+ groupRows
468
+ .filter((groupRow) => groupRow.group.children.length > 0)
469
+ .forEach((groupRow) => adjustGroupDistinct(groupRow, toAdjustKeys, distinctObj));
470
+ }
471
471
  }
472
472
  function adjustGroupsAverageOrFormula(groupRows, type, totals) {
473
- if (!groupRows || !totals) {
474
- return;
475
- }
476
- const keys = Object.keys(totals);
477
- if (groupRows.length === 0 || !groupRows[0].group || keys.length === 0) {
478
- return;
479
- }
480
- let toAdjustKeys;
481
- if (type == TotalMode.AVERAGE) {
482
- toAdjustKeys = keys.filter((key) => TotalMode.AVERAGE === totals[key]);
483
- }
484
- if (type == TotalMode.MATH) {
485
- toAdjustKeys = keys.filter((key) => totals[key].indexOf(TotalMode.MATH) == 0);
486
- }
487
- if (toAdjustKeys.length > 0) {
488
- groupRows
489
- .filter((groupRow) => groupRow.group.children.length > 0)
490
- .forEach((groupRow) => adjustGroupAverageOrFormula(groupRow, type, toAdjustKeys, totals));
491
- }
473
+ if (!groupRows || !totals) {
474
+ return;
475
+ }
476
+ const keys = Object.keys(totals);
477
+ if (groupRows.length === 0 || !groupRows[0].group || keys.length === 0) {
478
+ return;
479
+ }
480
+ let toAdjustKeys;
481
+ if (type == TotalMode.AVERAGE) {
482
+ toAdjustKeys = keys.filter((key) => TotalMode.AVERAGE === totals[key]);
483
+ }
484
+ if (type == TotalMode.MATH) {
485
+ toAdjustKeys = keys.filter((key) => totals[key].indexOf(TotalMode.MATH) == 0);
486
+ }
487
+ if (toAdjustKeys.length > 0) {
488
+ groupRows
489
+ .filter((groupRow) => groupRow.group.children.length > 0)
490
+ .forEach((groupRow) => adjustGroupAverageOrFormula(groupRow, type, toAdjustKeys, totals));
491
+ }
492
492
  }
493
493
  function adjustGroupDistinct(groupRow, toAdjustKeys, distinctObj) {
494
- const children = groupRow.group.children;
495
- if (children.length === 0) {
496
- return;
497
- }
498
- if (children[0].group) {
499
- children.forEach((child) => {
500
- adjustGroupDistinct(child, toAdjustKeys, distinctObj);
494
+ const children = groupRow.group.children;
495
+ if (children.length === 0) {
496
+ return;
497
+ }
498
+ if (children[0].group) {
499
+ children.forEach((child) => {
500
+ adjustGroupDistinct(child, toAdjustKeys, distinctObj);
501
+ });
502
+ }
503
+ toAdjustKeys.forEach((key) => {
504
+ const distinctList = distinctObj[groupRow.group.id][key];
505
+ groupRow.group.totals[key] = new Set(distinctList).size;
501
506
  });
502
- }
503
- toAdjustKeys.forEach((key) => {
504
- const distinctList = distinctObj[groupRow.group.id][key];
505
- groupRow.group.totals[key] = new Set(distinctList).size;
506
- });
507
507
  }
508
508
  /**
509
509
  * @returns number of 'leaf' of group
510
510
  */
511
511
  function adjustGroupAverageOrFormula(row, type, toAdjustKeys, totals) {
512
- const children = row.group.children;
513
- if (children.length === 0) {
514
- return 0;
515
- }
516
- let numberOfLeaf = 0;
517
- // check if child is a grouping row
518
- if (children[0].group) {
519
- children.forEach((child) => {
520
- numberOfLeaf += adjustGroupAverageOrFormula(child, type, toAdjustKeys, totals);
521
- });
522
- }
523
- else {
524
- numberOfLeaf = children.length;
525
- }
526
- // adjust average/formulas
527
- toAdjustKeys.forEach((key) => {
528
- if (type == TotalMode.AVERAGE) {
529
- row.group.totals[key] = row.group.totals[key] / numberOfLeaf;
512
+ const children = row.group.children;
513
+ if (children.length === 0) {
514
+ return 0;
530
515
  }
531
- if (type == TotalMode.MATH) {
532
- let formula = totals[key].substring(TotalMode.MATH.length);
533
- row.group.totals[key] = dom.ketchup.math.formulas.custom(formula, row.group.totals);
516
+ let numberOfLeaf = 0;
517
+ // check if child is a grouping row
518
+ if (children[0].group) {
519
+ children.forEach((child) => {
520
+ numberOfLeaf += adjustGroupAverageOrFormula(child, type, toAdjustKeys, totals);
521
+ });
534
522
  }
535
- });
536
- return numberOfLeaf;
537
- }
538
- export function normalizeRows(columns, rows) {
539
- if (rows) {
540
- const normalizedrows = Object.assign(rows);
541
- rows.forEach((row) => {
542
- columns.forEach((column) => {
543
- if (row.cells) {
544
- const cell = row.cells[column.name];
545
- if (cell && column.obj && !cell.obj) {
546
- // cell.obj = Object.assign(column.obj);
547
- cell.obj = {
548
- t: column.obj.t,
549
- p: column.obj.p,
550
- k: cell.value,
551
- };
552
- }
523
+ else {
524
+ numberOfLeaf = children.length;
525
+ }
526
+ // adjust average/formulas
527
+ toAdjustKeys.forEach((key) => {
528
+ if (type == TotalMode.AVERAGE) {
529
+ row.group.totals[key] = row.group.totals[key] / numberOfLeaf;
530
+ }
531
+ if (type == TotalMode.MATH) {
532
+ let formula = totals[key].substring(TotalMode.MATH.length);
533
+ row.group.totals[key] = dom.ketchup.math.formulas.custom(formula, row.group.totals);
553
534
  }
554
- });
555
535
  });
556
- return normalizedrows;
557
- }
558
- else {
559
- return undefined;
560
- }
536
+ return numberOfLeaf;
561
537
  }
562
- export function calcTotals(rows = [], totals = {}) {
563
- if (dom.ketchup.objects.isEmptyJsObject(rows) ||
564
- dom.ketchup.objects.isEmptyJsObject(totals)) {
565
- return {};
566
- }
567
- const keys = Object.keys(totals);
568
- const footerRow = {};
569
- const dateColumns = new Array();
570
- // if there are only COUNT, no need to loop on rows
571
- let onlyCount = keys.length === 0 ||
572
- keys.every((key) => totals[key] === TotalMode.COUNT);
573
- if (onlyCount) {
574
- keys.forEach((columnName) => (footerRow[columnName] = rows.length));
575
- }
576
- else {
577
- let distinctObj = {};
578
- rows.forEach((r, index, array) => {
579
- keys.filter((key) => TotalMode.COUNT !== totals[key] &&
580
- totals[key].indexOf(TotalMode.MATH) != 0).forEach((key) => {
581
- // getting cell
582
- const cell = r.cells[key];
583
- if (cell) {
584
- if (totals[key] === TotalMode.DISTINCT) {
585
- let cellValue;
586
- if (dom.ketchup.objects.isNumber(cell.obj)) {
587
- cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
588
- }
589
- else {
590
- cellValue = cell.value;
591
- }
592
- let distinctList = distinctObj[key];
593
- if (!distinctList) {
594
- // first round
595
- distinctObj[key] = [];
596
- distinctObj[key].push(cellValue);
597
- }
598
- else {
599
- // update the list
600
- distinctList.push(cellValue);
601
- }
602
- }
603
- else if (dom.ketchup.objects.isNumber(cell.obj)) {
604
- const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
605
- let currentFooterValue = footerRow[key];
606
- switch (true) {
607
- // TODO DRY the MIN and MAX functions
608
- case totals[key] === TotalMode.MIN:
609
- if (currentFooterValue) {
610
- footerRow[key] = Math.min(currentFooterValue, cellValue);
538
+ export function normalizeRows(columns, rows) {
539
+ if (rows) {
540
+ const normalizedrows = Object.assign(rows);
541
+ rows.forEach((row) => {
542
+ columns.forEach((column) => {
543
+ if (row.cells) {
544
+ const cell = row.cells[column.name];
545
+ if (cell && column.obj && !cell.obj) {
546
+ // cell.obj = Object.assign(column.obj);
547
+ cell.obj = {
548
+ t: column.obj.t,
549
+ p: column.obj.p,
550
+ k: cell.value,
551
+ };
552
+ }
611
553
  }
612
- else {
613
- footerRow[key] = cellValue;
554
+ });
555
+ });
556
+ return normalizedrows;
557
+ }
558
+ else {
559
+ return undefined;
560
+ }
561
+ }
562
+ export function calcTotals(rows = [], totals = {}) {
563
+ if (dom.ketchup.objects.isEmptyJsObject(rows) ||
564
+ dom.ketchup.objects.isEmptyJsObject(totals)) {
565
+ return {};
566
+ }
567
+ const keys = Object.keys(totals);
568
+ const footerRow = {};
569
+ const dateColumns = new Array();
570
+ // if there are only COUNT, no need to loop on rows
571
+ let onlyCount = keys.length === 0 ||
572
+ keys.every((key) => totals[key] === TotalMode.COUNT);
573
+ if (onlyCount) {
574
+ keys.forEach((columnName) => (footerRow[columnName] = rows.length));
575
+ }
576
+ else {
577
+ let distinctObj = {};
578
+ rows.forEach((r, index, array) => {
579
+ keys.filter((key) => TotalMode.COUNT !== totals[key] &&
580
+ totals[key].indexOf(TotalMode.MATH) != 0).forEach((key) => {
581
+ // getting cell
582
+ const cell = r.cells[key];
583
+ if (cell) {
584
+ if (totals[key] === TotalMode.DISTINCT) {
585
+ let cellValue;
586
+ if (dom.ketchup.objects.isNumber(cell.obj)) {
587
+ cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
588
+ }
589
+ else {
590
+ cellValue = cell.value;
591
+ }
592
+ let distinctList = distinctObj[key];
593
+ if (!distinctList) {
594
+ // first round
595
+ distinctObj[key] = [];
596
+ distinctObj[key].push(cellValue);
597
+ }
598
+ else {
599
+ // update the list
600
+ distinctList.push(cellValue);
601
+ }
602
+ }
603
+ else if (dom.ketchup.objects.isNumber(cell.obj)) {
604
+ const cellValue = dom.ketchup.math.numberify(dom.ketchup.math.numberifySafe(cell.value));
605
+ let currentFooterValue = footerRow[key];
606
+ switch (true) {
607
+ // TODO DRY the MIN and MAX functions
608
+ case totals[key] === TotalMode.MIN:
609
+ if (currentFooterValue) {
610
+ footerRow[key] = Math.min(currentFooterValue, cellValue);
611
+ }
612
+ else {
613
+ footerRow[key] = cellValue;
614
+ }
615
+ break;
616
+ case totals[key] === TotalMode.MAX:
617
+ if (currentFooterValue) {
618
+ footerRow[key] = Math.max(currentFooterValue, cellValue);
619
+ }
620
+ else {
621
+ footerRow[key] = cellValue;
622
+ }
623
+ break;
624
+ default:
625
+ // SUM
626
+ currentFooterValue = footerRow[key] || 0;
627
+ footerRow[key] =
628
+ cellValue +
629
+ dom.ketchup.math.numberify(currentFooterValue);
630
+ }
631
+ // TODO DRY the MIN and MAX functions
632
+ }
633
+ else if (dom.ketchup.objects.isDate(cell.obj)) {
634
+ if (dateColumns.indexOf(key) == -1) {
635
+ dateColumns.push(key);
636
+ }
637
+ const momentValue = dom.ketchup.dates.toDayjs(cell.value);
638
+ if (dom.ketchup.dates.isValid(momentValue)) {
639
+ const cellValue = dom.ketchup.dates.toDate(momentValue);
640
+ const currentFooterValue = footerRow[key]
641
+ ? dom.ketchup.dates.toDate(dom.ketchup.dates.toDayjs(footerRow[key]))
642
+ : null;
643
+ switch (true) {
644
+ case totals[key] === TotalMode.MIN:
645
+ if (currentFooterValue) {
646
+ let moments = [];
647
+ moments.push(cellValue);
648
+ moments.push(currentFooterValue);
649
+ footerRow[key] =
650
+ dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
651
+ }
652
+ else {
653
+ footerRow[key] =
654
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
655
+ }
656
+ break;
657
+ case totals[key] === TotalMode.MAX:
658
+ if (currentFooterValue) {
659
+ let moments = [];
660
+ moments.push(cellValue);
661
+ moments.push(currentFooterValue);
662
+ footerRow[key] =
663
+ dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
664
+ }
665
+ else {
666
+ footerRow[key] =
667
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
668
+ }
669
+ break;
670
+ default:
671
+ break;
672
+ }
673
+ }
674
+ }
614
675
  }
615
- break;
616
- case totals[key] === TotalMode.MAX:
617
- if (currentFooterValue) {
618
- footerRow[key] = Math.max(currentFooterValue, cellValue);
676
+ if (index === array.length - 1 &&
677
+ totals[key] === TotalMode.DISTINCT) {
678
+ // last round
679
+ footerRow[key] = new Set(distinctObj[key]).size;
680
+ distinctObj[key] = [];
619
681
  }
620
- else {
621
- footerRow[key] = cellValue;
682
+ });
683
+ });
684
+ }
685
+ // fixing MATH, AVERAGE and COUNT
686
+ for (let key of keys) {
687
+ switch (true) {
688
+ case totals[key] === TotalMode.AVERAGE:
689
+ const sum = footerRow[key];
690
+ if (sum && rows.length > 0) {
691
+ footerRow[key] = sum / rows.length;
622
692
  }
623
693
  break;
624
- default:
625
- // SUM
626
- currentFooterValue = footerRow[key] || 0;
627
- footerRow[key] =
628
- cellValue +
629
- dom.ketchup.math.numberify(currentFooterValue);
630
- }
631
- // TODO DRY the MIN and MAX functions
632
- }
633
- else if (dom.ketchup.objects.isDate(cell.obj)) {
634
- if (dateColumns.indexOf(key) == -1) {
635
- dateColumns.push(key);
694
+ case totals[key] === TotalMode.COUNT:
695
+ footerRow[key] = rows.length;
696
+ break;
697
+ case totals[key].indexOf(TotalMode.MATH) == 0:
698
+ footerRow[key] = dom.ketchup.math.formulas.custom(totals[key].substring(TotalMode.MATH.length), footerRow);
699
+ break;
700
+ default:
701
+ break;
702
+ }
703
+ if (footerRow[key]) {
704
+ if (dateColumns.indexOf(key) != -1) {
705
+ footerRow[key] = dom.ketchup.dates.format(footerRow[key]);
636
706
  }
637
- const momentValue = dom.ketchup.dates.toDayjs(cell.value);
638
- if (dom.ketchup.dates.isValid(momentValue)) {
639
- const cellValue = dom.ketchup.dates.toDate(momentValue);
640
- const currentFooterValue = footerRow[key]
641
- ? dom.ketchup.dates.toDate(dom.ketchup.dates.toDayjs(footerRow[key]))
642
- : null;
643
- switch (true) {
644
- case totals[key] === TotalMode.MIN:
645
- if (currentFooterValue) {
646
- let moments = [];
647
- moments.push(cellValue);
648
- moments.push(currentFooterValue);
649
- footerRow[key] =
650
- dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
651
- }
652
- else {
653
- footerRow[key] =
654
- dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
655
- }
656
- break;
657
- case totals[key] === TotalMode.MAX:
658
- if (currentFooterValue) {
659
- let moments = [];
660
- moments.push(cellValue);
661
- moments.push(currentFooterValue);
662
- footerRow[key] =
663
- dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
664
- }
665
- else {
666
- footerRow[key] =
667
- dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
668
- }
669
- break;
670
- default:
671
- break;
672
- }
707
+ else if (dom.ketchup.math.isNumber(footerRow[key])) {
708
+ footerRow[key] = +footerRow[key].toFixed(2);
673
709
  }
674
- }
675
- }
676
- if (index === array.length - 1 &&
677
- totals[key] === TotalMode.DISTINCT) {
678
- // last round
679
- footerRow[key] = new Set(distinctObj[key]).size;
680
- distinctObj[key] = [];
681
- }
682
- });
683
- });
684
- }
685
- // fixing MATH, AVERAGE and COUNT
686
- for (let key of keys) {
687
- switch (true) {
688
- case totals[key] === TotalMode.AVERAGE:
689
- const sum = footerRow[key];
690
- if (sum && rows.length > 0) {
691
- footerRow[key] = sum / rows.length;
692
710
  }
693
- break;
694
- case totals[key] === TotalMode.COUNT:
695
- footerRow[key] = rows.length;
696
- break;
697
- case totals[key].indexOf(TotalMode.MATH) == 0:
698
- footerRow[key] = dom.ketchup.math.formulas.custom(totals[key].substring(TotalMode.MATH.length), footerRow);
699
- break;
700
- default:
701
- break;
702
- }
703
- if (footerRow[key]) {
704
- if (dateColumns.indexOf(key) != -1) {
705
- footerRow[key] = dom.ketchup.dates.format(footerRow[key]);
706
- }
707
- else if (dom.ketchup.math.isNumber(footerRow[key])) {
708
- footerRow[key] = +footerRow[key].toFixed(2);
709
- }
710
- }
711
- }
712
- return footerRow;
711
+ }
712
+ return footerRow;
713
713
  }
714
714
  function adjustGroupId(row) {
715
- if (!row.group) {
716
- return;
717
- }
718
- let groupID = row.group.id;
719
- let parentRow = row.group.parent;
720
- while (parentRow !== null) {
721
- groupID = `${parentRow.group.id};${groupID}`;
722
- parentRow = parentRow.group.parent;
723
- }
724
- row.group.id = groupID;
715
+ if (!row.group) {
716
+ return;
717
+ }
718
+ let groupID = row.group.id;
719
+ let parentRow = row.group.parent;
720
+ while (parentRow !== null) {
721
+ groupID = `${parentRow.group.id};${groupID}`;
722
+ parentRow = parentRow.group.parent;
723
+ }
724
+ row.group.id = groupID;
725
725
  }
726
726
  export function paginateRows(rows, currentPage, rowsPerPage, areGrouped) {
727
- const start = currentPage * rowsPerPage - rowsPerPage;
728
- const end = start + Number(rowsPerPage);
729
- if (areGrouped == false) {
730
- return rows.slice(start, end);
731
- }
732
- let pagRows = [];
733
- _paginateRows(rows, pagRows, start, Number(rowsPerPage), 0);
734
- return pagRows;
727
+ const start = currentPage * rowsPerPage - rowsPerPage;
728
+ const end = start + Number(rowsPerPage);
729
+ if (areGrouped == false) {
730
+ return rows.slice(start, end);
731
+ }
732
+ let pagRows = [];
733
+ _paginateRows(rows, pagRows, start, Number(rowsPerPage), 0);
734
+ return pagRows;
735
735
  }
736
736
  function _paginateRows(rows, pagRows, start, rowsPerPage, ci) {
737
- let added = false;
738
- for (let i = 0; i < rows.length; i++) {
739
- let originalRow = rows[i];
740
- let row = cloneRow(rows[i]);
741
- if (originalRow.group != null &&
742
- originalRow.group.children != null &&
743
- originalRow.group.children.length > 0) {
744
- row.group.children = [];
745
- let retValue = _paginateRows(originalRow.group.children, row.group.children, start, rowsPerPage, ci);
746
- ci = retValue.ci;
747
- added = retValue.added;
748
- if (added == true) {
749
- pagRows[pagRows.length] = row;
750
- }
751
- }
752
- else {
753
- if (ci >= start) {
754
- pagRows[pagRows.length] = row;
755
- added = true;
756
- }
757
- ci++;
758
- }
759
- if (ci >= start + rowsPerPage) {
760
- break;
737
+ let added = false;
738
+ for (let i = 0; i < rows.length; i++) {
739
+ let originalRow = rows[i];
740
+ let row = cloneRow(rows[i]);
741
+ if (originalRow.group != null &&
742
+ originalRow.group.children != null &&
743
+ originalRow.group.children.length > 0) {
744
+ row.group.children = [];
745
+ let retValue = _paginateRows(originalRow.group.children, row.group.children, start, rowsPerPage, ci);
746
+ ci = retValue.ci;
747
+ added = retValue.added;
748
+ if (added == true) {
749
+ pagRows[pagRows.length] = row;
750
+ }
751
+ }
752
+ else {
753
+ if (ci >= start) {
754
+ pagRows[pagRows.length] = row;
755
+ added = true;
756
+ }
757
+ ci++;
758
+ }
759
+ if (ci >= start + rowsPerPage) {
760
+ break;
761
+ }
761
762
  }
762
- }
763
- return { ci: ci, added: added };
763
+ return { ci: ci, added: added };
764
764
  }
765
765
  function cloneRow(row) {
766
- if (row == null) {
767
- return null;
768
- }
769
- else {
770
- return {
771
- id: row.id,
772
- cells: Object.assign({}, row.cells),
773
- actions: row.actions ? [...row.actions] : null,
774
- group: cloneRowGroup(row.group),
775
- clonedFrom: row,
776
- readOnly: row.readOnly,
777
- cssClass: row.cssClass,
778
- };
779
- }
766
+ if (row == null) {
767
+ return null;
768
+ }
769
+ else {
770
+ return {
771
+ id: row.id,
772
+ cells: Object.assign({}, row.cells),
773
+ actions: row.actions ? [...row.actions] : null,
774
+ group: cloneRowGroup(row.group),
775
+ clonedFrom: row,
776
+ readOnly: row.readOnly,
777
+ cssClass: row.cssClass,
778
+ };
779
+ }
780
780
  }
781
781
  function cloneRows(rows) {
782
- if (rows == null) {
783
- return null;
784
- }
785
- let cloned = [];
786
- for (let i = 0; i < rows.length; i++) {
787
- cloned[cloned.length] = cloneRow(rows[i]);
788
- }
789
- return cloned;
782
+ if (rows == null) {
783
+ return null;
784
+ }
785
+ let cloned = [];
786
+ for (let i = 0; i < rows.length; i++) {
787
+ cloned[cloned.length] = cloneRow(rows[i]);
788
+ }
789
+ return cloned;
790
790
  }
791
791
  function cloneRowGroup(group) {
792
- if (group == null) {
793
- return null;
794
- }
795
- let cloned = {
796
- id: group.id,
797
- parent: Object.assign({}, group.parent),
798
- column: group.column,
799
- columnLabel: group.columnLabel,
800
- expanded: group.expanded,
801
- label: group.label,
802
- children: cloneRows(group.children),
803
- obj: Object.assign({}, group.obj),
804
- totals: Object.assign({}, group.totals),
805
- };
806
- return cloned;
792
+ if (group == null) {
793
+ return null;
794
+ }
795
+ let cloned = {
796
+ id: group.id,
797
+ parent: Object.assign({}, group.parent),
798
+ column: group.column,
799
+ columnLabel: group.columnLabel,
800
+ expanded: group.expanded,
801
+ label: group.label,
802
+ children: cloneRows(group.children),
803
+ obj: Object.assign({}, group.obj),
804
+ totals: Object.assign({}, group.totals),
805
+ };
806
+ return cloned;
807
807
  }