@sme.up/ketchup 5.2.1-SNAPSHOT → 6.0.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 (197) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/cjs/{cell-utils-d96b2993.js → cell-utils-a78d6fac.js} +2 -2
  3. package/dist/cjs/{component-d1496215.js → component-72a5b626.js} +30 -0
  4. package/dist/cjs/{f-button-2b9b99b1.js → f-button-ac179257.js} +1 -1
  5. package/dist/cjs/{f-cell-8351cb84.js → f-cell-69294bca.js} +37 -37
  6. package/dist/cjs/{f-chip-df59e1b0.js → f-chip-b00897d7.js} +4 -3
  7. package/dist/cjs/{f-image-12bab3b5.js → f-image-89f25556.js} +1 -1
  8. package/dist/cjs/f-paginator-utils-8fa501b3.js +1898 -0
  9. package/dist/cjs/{f-text-field-e7c35b5b.js → f-text-field-e1e45ade.js} +1 -1
  10. package/dist/cjs/{f-text-field-mdc-a67f5dfe.js → f-text-field-mdc-85997738.js} +23 -305
  11. package/dist/cjs/ketchup.cjs.js +2 -2
  12. package/dist/cjs/kup-accordion.cjs.entry.js +4 -4
  13. package/dist/cjs/{kup-autocomplete_27.cjs.entry.js → kup-autocomplete_25.cjs.entry.js} +1509 -5423
  14. package/dist/cjs/{kup-echart.cjs.entry.js → kup-box_2.cjs.entry.js} +17101 -14787
  15. package/dist/cjs/kup-calendar.cjs.entry.js +41 -33
  16. package/dist/cjs/kup-cell.cjs.entry.js +7 -7
  17. package/dist/cjs/kup-dash-list.cjs.entry.js +3 -3
  18. package/dist/cjs/kup-dash_2.cjs.entry.js +2 -2
  19. package/dist/cjs/kup-drawer.cjs.entry.js +11 -4
  20. package/dist/cjs/kup-field.cjs.entry.js +1 -1
  21. package/dist/cjs/kup-form-editor.cjs.entry.js +404 -0
  22. package/dist/cjs/kup-iframe.cjs.entry.js +2 -2
  23. package/dist/cjs/kup-image-list.cjs.entry.js +228 -0
  24. package/dist/cjs/kup-lazy.cjs.entry.js +2 -2
  25. package/dist/cjs/kup-magic-box.cjs.entry.js +3 -3
  26. package/dist/cjs/kup-manager-7a941909.js +16703 -0
  27. package/dist/cjs/kup-nav-bar.cjs.entry.js +2 -2
  28. package/dist/cjs/kup-numeric-picker.cjs.entry.js +4 -4
  29. package/dist/cjs/kup-photo-frame.cjs.entry.js +4 -4
  30. package/dist/cjs/kup-probe.cjs.entry.js +1 -1
  31. package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
  32. package/dist/cjs/kup-snackbar.cjs.entry.js +5 -5
  33. package/dist/cjs/loader.cjs.js +2 -2
  34. package/dist/cjs/{utils-e99921c1.js → utils-6287d878.js} +1 -1
  35. package/dist/collection/assets/card.js +4 -5
  36. package/dist/collection/assets/data-table.js +44 -79
  37. package/dist/collection/assets/form-editor.js +338 -0
  38. package/dist/collection/assets/image-list.js +624 -0
  39. package/dist/collection/assets/index.js +8 -0
  40. package/dist/collection/assets/kupdata.js +0 -3
  41. package/dist/collection/assets/kuptooltip.js +53 -7
  42. package/dist/collection/assets/tree.js +0 -128
  43. package/dist/collection/collection-manifest.json +7 -6
  44. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +1 -1
  45. package/dist/collection/components/kup-box/kup-box-declarations.js +0 -4
  46. package/dist/collection/components/kup-box/kup-box.js +7 -135
  47. package/dist/collection/components/kup-card/built-in/kup-card-clock.js +1 -1
  48. package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +1 -2
  49. package/dist/collection/components/kup-card/kup-card.css +26 -8
  50. package/dist/collection/components/kup-card/kup-card.js +1 -2
  51. package/dist/collection/components/kup-card/standard/kup-card-standard.js +14 -6
  52. package/dist/collection/components/kup-combobox/kup-combobox.js +1 -1
  53. package/dist/collection/components/kup-data-table/kup-data-table-declarations.js +1 -3
  54. package/dist/collection/components/kup-data-table/kup-data-table-state.js +1 -1
  55. package/dist/collection/components/kup-data-table/kup-data-table.js +19 -136
  56. package/dist/collection/components/kup-drawer/kup-drawer.css +1 -0
  57. package/dist/collection/components/kup-drawer/kup-drawer.js +8 -1
  58. package/dist/collection/components/kup-form-editor/kup-form-editor-declarations.js +23 -0
  59. package/dist/collection/components/kup-form-editor/kup-form-editor.css +80 -0
  60. package/dist/collection/components/kup-form-editor/kup-form-editor.js +561 -0
  61. package/dist/collection/components/kup-image-list/kup-image-list-declarations.js +10 -0
  62. package/dist/collection/components/kup-image-list/kup-image-list.css +166 -0
  63. package/dist/collection/components/kup-image-list/kup-image-list.js +432 -0
  64. package/dist/collection/components/kup-photo-frame/kup-photo-frame.css +3 -13
  65. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +1 -1
  66. package/dist/collection/components/kup-snackbar/kup-snackbar.css +4 -0
  67. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +18 -19
  68. package/dist/collection/components/kup-time-picker/kup-time-picker.js +2 -2
  69. package/dist/collection/components/kup-tree/kup-tree-declarations.js +0 -4
  70. package/dist/collection/components/kup-tree/kup-tree.css +10 -3
  71. package/dist/collection/components/kup-tree/kup-tree.js +81 -145
  72. package/dist/collection/f-components/f-cell/f-cell.js +7 -7
  73. package/dist/collection/f-components/f-chip/f-chip.js +2 -1
  74. package/dist/collection/managers/kup-data/kup-data-node-helper.js +24 -0
  75. package/dist/collection/managers/kup-data/kup-data.js +4 -1
  76. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +4 -2
  77. package/dist/collection/managers/kup-interact/kup-interact.js +1 -22
  78. package/dist/collection/managers/kup-language/kup-language-declarations.js +2 -0
  79. package/dist/collection/managers/kup-manager/kup-manager.js +21 -2
  80. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +5 -0
  81. package/dist/collection/managers/kup-tooltip/kup-tooltip.js +53 -20
  82. package/dist/collection/types/GenericTypes.js +2 -0
  83. package/dist/collection/utils/kup-column-menu/kup-column-menu.js +7 -11
  84. package/dist/esm/{cell-utils-f4bdbbc8.js → cell-utils-964da6b5.js} +3 -3
  85. package/dist/esm/{component-c4eb6153.js → component-b1bedf1d.js} +27 -2
  86. package/dist/esm/{f-button-54a49fd8.js → f-button-871a544b.js} +1 -1
  87. package/dist/esm/{f-cell-d5dac50b.js → f-cell-521ef17a.js} +38 -38
  88. package/dist/esm/{f-chip-a3035b4b.js → f-chip-1dda722f.js} +5 -4
  89. package/dist/esm/{f-image-d32465e3.js → f-image-c468d8ae.js} +1 -1
  90. package/dist/esm/f-paginator-utils-7dff8ff0.js +1884 -0
  91. package/dist/esm/{f-text-field-c25cc63f.js → f-text-field-d6c61c73.js} +1 -1
  92. package/dist/esm/{f-text-field-mdc-9fbbefc3.js → f-text-field-mdc-d42d3f9e.js} +2 -284
  93. package/dist/esm/ketchup.js +2 -2
  94. package/dist/esm/kup-accordion.entry.js +5 -5
  95. package/dist/esm/{kup-autocomplete_27.entry.js → kup-autocomplete_25.entry.js} +1461 -5373
  96. package/dist/esm/{kup-echart.entry.js → kup-box_2.entry.js} +17101 -14788
  97. package/dist/esm/kup-calendar.entry.js +42 -34
  98. package/dist/esm/kup-cell.entry.js +7 -7
  99. package/dist/esm/kup-dash-list.entry.js +3 -3
  100. package/dist/esm/kup-dash_2.entry.js +2 -2
  101. package/dist/esm/kup-drawer.entry.js +11 -4
  102. package/dist/esm/kup-field.entry.js +1 -1
  103. package/dist/esm/kup-form-editor.entry.js +400 -0
  104. package/dist/esm/kup-iframe.entry.js +2 -2
  105. package/dist/esm/kup-image-list.entry.js +224 -0
  106. package/dist/esm/kup-lazy.entry.js +2 -2
  107. package/dist/esm/kup-magic-box.entry.js +3 -3
  108. package/dist/esm/kup-manager-58b075b4.js +16686 -0
  109. package/dist/esm/kup-nav-bar.entry.js +2 -2
  110. package/dist/esm/kup-numeric-picker.entry.js +5 -5
  111. package/dist/esm/kup-photo-frame.entry.js +4 -4
  112. package/dist/esm/kup-probe.entry.js +1 -1
  113. package/dist/esm/kup-qlik.entry.js +1 -1
  114. package/dist/esm/kup-snackbar.entry.js +5 -5
  115. package/dist/esm/loader.js +2 -2
  116. package/dist/esm/polyfills/css-shim.js +1 -1
  117. package/dist/esm/{tslib.es6-8f2d44b6.js → tslib.es6-3eea2234.js} +1 -1
  118. package/dist/esm/{utils-f24319a0.js → utils-d7e4b3c2.js} +2 -2
  119. package/dist/ketchup/ketchup.esm.js +1 -1
  120. package/dist/ketchup/{p-7a74ad17.js → p-1ae66cc5.js} +1 -1
  121. package/dist/ketchup/{p-e6709c26.entry.js → p-3c11e615.entry.js} +1 -1
  122. package/dist/ketchup/{p-669bde31.js → p-44ec4f03.js} +1 -1
  123. package/dist/ketchup/p-4ffbc3ff.js +1 -0
  124. package/dist/ketchup/p-5264a3e6.entry.js +1 -0
  125. package/dist/ketchup/{p-e8e3c9da.entry.js → p-65974e48.entry.js} +1 -1
  126. package/dist/ketchup/p-65b46587.entry.js +40 -0
  127. package/dist/ketchup/{p-09d708c4.entry.js → p-6dff70f8.entry.js} +1 -1
  128. package/dist/ketchup/{p-34748c91.js → p-7454cb92.js} +1 -1
  129. package/dist/ketchup/{p-a0b1d769.js → p-79b0730b.js} +1 -1
  130. package/dist/ketchup/p-7eff4eee.js +1 -0
  131. package/dist/ketchup/p-80968627.entry.js +1 -0
  132. package/dist/ketchup/{p-8c44c3b9.js → p-81605f08.js} +4 -5
  133. package/dist/ketchup/p-8cdf61a4.js +1 -0
  134. package/dist/ketchup/{p-8418e8fa.entry.js → p-954cc340.entry.js} +1 -1
  135. package/dist/ketchup/{p-4173422f.entry.js → p-99e0d768.entry.js} +1 -1
  136. package/dist/ketchup/{p-41741c28.entry.js → p-a0f6e25c.entry.js} +1 -1
  137. package/dist/ketchup/p-a203f78b.js +45 -0
  138. package/dist/ketchup/{p-9a61d8dc.entry.js → p-a615a92b.entry.js} +1 -1
  139. package/dist/ketchup/p-aca0e54b.js +30 -0
  140. package/dist/ketchup/p-b8939a8b.entry.js +1 -0
  141. package/dist/ketchup/p-bfc3bac7.js +1 -0
  142. package/dist/ketchup/p-c5ce8951.entry.js +1 -0
  143. package/dist/ketchup/p-cad1e097.entry.js +9 -0
  144. package/dist/ketchup/{p-bb8844bf.entry.js → p-d2ee56dd.entry.js} +1 -1
  145. package/dist/ketchup/p-db71436b.entry.js +27 -0
  146. package/dist/ketchup/{p-40f97429.js → p-e0035c58.js} +1 -1
  147. package/dist/ketchup/p-e1039cf2.entry.js +1 -0
  148. package/dist/ketchup/{p-44192f30.entry.js → p-ea10176c.entry.js} +1 -1
  149. package/dist/ketchup/{p-67842f1e.entry.js → p-f09f2f98.entry.js} +1 -1
  150. package/dist/ketchup/{p-203d6295.entry.js → p-f71a1675.entry.js} +1 -1
  151. package/dist/ketchup/{p-11e72a8c.entry.js → p-fac1a08b.entry.js} +1 -1
  152. package/dist/types/components/kup-box/kup-box-declarations.d.ts +3 -5
  153. package/dist/types/components/kup-box/kup-box.d.ts +0 -22
  154. package/dist/types/components/kup-data-table/kup-data-table-declarations.d.ts +2 -4
  155. package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +1 -1
  156. package/dist/types/components/kup-data-table/kup-data-table.d.ts +1 -19
  157. package/dist/types/components/kup-form-editor/kup-form-editor-declarations.d.ts +79 -0
  158. package/dist/types/components/kup-form-editor/kup-form-editor.d.ts +72 -0
  159. package/dist/types/components/kup-image-list/kup-image-list-declarations.d.ts +14 -0
  160. package/dist/types/components/kup-image-list/kup-image-list.d.ts +56 -0
  161. package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +3 -9
  162. package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +6 -6
  163. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +1 -5
  164. package/dist/types/components/kup-tree/kup-tree.d.ts +1 -25
  165. package/dist/types/components.d.ts +121 -231
  166. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +1 -0
  167. package/dist/types/managers/kup-data/kup-data-node-helper.d.ts +7 -0
  168. package/dist/types/managers/kup-data/kup-data.d.ts +1 -0
  169. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +2 -0
  170. package/dist/types/managers/kup-manager/kup-manager-declarations.d.ts +4 -0
  171. package/dist/types/managers/kup-manager/kup-manager.d.ts +12 -0
  172. package/dist/types/managers/kup-tooltip/kup-tooltip-declarations.d.ts +3 -3
  173. package/dist/types/managers/kup-tooltip/kup-tooltip.d.ts +17 -6
  174. package/dist/types/types/GenericTypes.d.ts +2 -0
  175. package/dist/types/utils/kup-column-menu/kup-column-menu.d.ts +1 -3
  176. package/package.json +15 -14
  177. package/dist/cjs/kup-manager-5c03da64.js +0 -8795
  178. package/dist/collection/assets/tooltip.js +0 -73
  179. package/dist/collection/components/kup-tooltip/kup-tooltip-declarations.js +0 -20
  180. package/dist/collection/components/kup-tooltip/kup-tooltip.css +0 -149
  181. package/dist/collection/components/kup-tooltip/kup-tooltip.js +0 -1205
  182. package/dist/collection/utils/helpers.js +0 -38
  183. package/dist/esm/kup-manager-9316a184.js +0 -8778
  184. package/dist/ketchup/p-12773ca8.js +0 -9
  185. package/dist/ketchup/p-44f8da2a.js +0 -1
  186. package/dist/ketchup/p-4f56932b.js +0 -1
  187. package/dist/ketchup/p-7ba8fa4a.entry.js +0 -39
  188. package/dist/ketchup/p-7de0d7e1.js +0 -1
  189. package/dist/ketchup/p-96bf19aa.entry.js +0 -1
  190. package/dist/ketchup/p-b0ddcce9.entry.js +0 -9
  191. package/dist/ketchup/p-b6c21223.entry.js +0 -27
  192. package/dist/ketchup/p-c58a2a81.entry.js +0 -1
  193. package/dist/ketchup/p-ca3d585b.entry.js +0 -1
  194. package/dist/ketchup/p-ecb7069b.js +0 -135
  195. package/dist/types/components/kup-tooltip/kup-tooltip-declarations.d.ts +0 -93
  196. package/dist/types/components/kup-tooltip/kup-tooltip.d.ts +0 -142
  197. package/dist/types/utils/helpers.d.ts +0 -4
@@ -106,7 +106,6 @@ export class KupInteract {
106
106
  break;
107
107
  case KupDragEffect.CLONE:
108
108
  ghostImage = draggable.cloneNode(true);
109
- setComputedStyle(draggable, ghostImage);
110
109
  ghostImage.style.cursor = 'grabbing';
111
110
  ghostImage.style.height = draggable.clientHeight + 'px';
112
111
  ghostImage.style.left =
@@ -120,7 +119,7 @@ export class KupInteract {
120
119
  ghostImage.style.width = draggable.clientWidth + 'px';
121
120
  ghostImage.style.zIndex =
122
121
  'calc(var(--kup-navbar-zindex) + 1)';
123
- dom.ketchup.interact.container.appendChild(ghostImage);
122
+ draggable.parentElement.appendChild(ghostImage);
124
123
  draggable.kupDragDrop.ghostImage = ghostImage;
125
124
  break;
126
125
  }
@@ -145,26 +144,6 @@ export class KupInteract {
145
144
  };
146
145
  interact(el).draggable(options);
147
146
  this.managedElements.add(el);
148
- function setComputedStyle(draggable, ghostImage) {
149
- recursive(draggable, ghostImage);
150
- function recursive(source, target) {
151
- const styles = getComputedStyle(source);
152
- for (const key in styles) {
153
- if (Object.prototype.hasOwnProperty.call(styles, key)) {
154
- const s = styles[key];
155
- try {
156
- target.style[s] = styles[s];
157
- }
158
- catch (error) { }
159
- }
160
- }
161
- for (let index = 0; index < source.children.length; index++) {
162
- const sourceChild = source.children[index];
163
- const targetChild = target.children[index];
164
- recursive(sourceChild, targetChild);
165
- }
166
- }
167
- }
168
147
  }
169
148
  /**
170
149
  * Sets up a new dropzone.
@@ -82,6 +82,7 @@ export var KupLanguageGeneric;
82
82
  (function (KupLanguageGeneric) {
83
83
  KupLanguageGeneric["ADD_NEW"] = "genericAddNew";
84
84
  KupLanguageGeneric["APPLY"] = "genericApply";
85
+ KupLanguageGeneric["BACK"] = "genericBack";
85
86
  KupLanguageGeneric["COLLAPSE"] = "genericCollapse";
86
87
  KupLanguageGeneric["DAY"] = "genericDay";
87
88
  KupLanguageGeneric["DRAG_AND_DROP"] = "genericDragAndDrop";
@@ -116,6 +117,7 @@ export var KupLanguageGeneric;
116
117
  KupLanguageGeneric["SWAP"] = "genericSwap";
117
118
  KupLanguageGeneric["TOGGLE"] = "genericToggle";
118
119
  KupLanguageGeneric["TODAY"] = "genericToday";
120
+ KupLanguageGeneric["TOP"] = "genericTop";
119
121
  KupLanguageGeneric["TOTALS_TABLE"] = "genericTotalsTable";
120
122
  KupLanguageGeneric["TRANSPOSE_DATA"] = "genericTransposeData";
121
123
  KupLanguageGeneric["VIEW_AS"] = "genericViewAs";
@@ -17,6 +17,7 @@ import { KupMathLocales } from '../kup-math/kup-math-declarations';
17
17
  import { KupMath } from '../kup-math/kup-math';
18
18
  import { KupTooltip } from '../kup-tooltip/kup-tooltip';
19
19
  import { setAssetPath } from '@stencil/core';
20
+ import html2canvas from 'html2canvas';
20
21
  const dom = document.documentElement;
21
22
  /**
22
23
  * This class controls every other Ketchup utility suite.
@@ -27,7 +28,7 @@ export class KupManager {
27
28
  * Initializes KupManager.
28
29
  */
29
30
  constructor(overrides) {
30
- let datesLocale = null, debugActive = null, debugAutoprint = null, debugLogLimit = null, dialogRestrictContainer = null, dialogZIndex = null, languageList = null, languageName = null, objectsList = null, scrollOnHoverDelay = null, scrollOnHoverStep = null, themeList = null, themeName = null, tooltipDelay = null;
31
+ let datesLocale = null, debugActive = null, debugAutoprint = null, debugLogLimit = null, dialogRestrictContainer = null, dialogZIndex = null, languageList = null, languageName = null, objectsList = null, scrollOnHoverDelay = null, scrollOnHoverStep = null, themeList = null, themeName = null, tooltipDelay = null, tooltipFCellCallbacks = null;
31
32
  if (overrides) {
32
33
  const assetsPath = overrides.assetsPath;
33
34
  const dates = overrides.dates;
@@ -76,6 +77,9 @@ export class KupManager {
76
77
  }
77
78
  if (tooltip) {
78
79
  tooltipDelay = tooltip.delay ? tooltip.delay : null;
80
+ tooltipFCellCallbacks = tooltip.fCellCallbacks
81
+ ? tooltip.fCellCallbacks
82
+ : null;
79
83
  }
80
84
  }
81
85
  this.data = new KupData();
@@ -112,7 +116,7 @@ export class KupManager {
112
116
  };
113
117
  this.theme = new KupTheme(themeList, themeName);
114
118
  this.toolbar = new KupToolbar();
115
- this.tooltip = new KupTooltip(tooltipDelay);
119
+ this.tooltip = new KupTooltip(tooltipDelay, tooltipFCellCallbacks);
116
120
  document.addEventListener('pointerdown', (e) => {
117
121
  const paths = e.composedPath();
118
122
  const lastString = paths[0].innerText || paths[0].value;
@@ -229,6 +233,21 @@ export class KupManager {
229
233
  this.utilities.clickCallbacks.add(cb);
230
234
  }
231
235
  }
236
+ /**
237
+ * Rasterizes an HTMLElement, transforming into a canvas.
238
+ * @param {HTMLElement} el - Element to rasterize.
239
+ * @returns {HTMLCanvasElement} - Canvas created from the HTMLElement.
240
+ *
241
+ * CSS Mask is not supported:
242
+ * @see https://github.com/niklasvh/html2canvas/issues/2814
243
+ * Warning in console about sourcemap, claimed to be solved here but...:
244
+ * @see https://github.com/niklasvh/html2canvas/pull/2787/files
245
+ */
246
+ async rasterize(el, options) {
247
+ return html2canvas(el, options).then((canvas) => {
248
+ return canvas;
249
+ });
250
+ }
232
251
  /**
233
252
  * Removes the given click callback.
234
253
  * @param {KupManagerClickCb} cb - The callback to remove.
@@ -14,6 +14,8 @@ export const fButtonUsers = [
14
14
  KupTagNames.CARD,
15
15
  KupTagNames.DATA_TABLE,
16
16
  KupTagNames.DROPDOWN_BUTTON,
17
+ KupTagNames.FORM_EDITOR,
18
+ KupTagNames.IMAGE_LIST,
17
19
  KupTagNames.SNACKBAR,
18
20
  ];
19
21
  /**
@@ -62,7 +64,9 @@ export const fImageUsers = [
62
64
  KupTagNames.CHIP,
63
65
  KupTagNames.DATA_TABLE,
64
66
  KupTagNames.DROPDOWN_BUTTON,
67
+ KupTagNames.FORM_EDITOR,
65
68
  KupTagNames.IMAGE,
69
+ KupTagNames.IMAGE_LIST,
66
70
  KupTagNames.LIST,
67
71
  KupTagNames.MAGIC_BOX,
68
72
  KupTagNames.SNACKBAR,
@@ -99,6 +103,7 @@ export const fTextFieldUsers = [
99
103
  export const rippleUsers = [
100
104
  KupTagNames.ACCORDION,
101
105
  KupTagNames.CARD,
106
+ KupTagNames.IMAGE_LIST,
102
107
  KupTagNames.TAB_BAR,
103
108
  KupTagNames.TREE,
104
109
  ];
@@ -20,15 +20,17 @@ export class KupTooltip {
20
20
  /**
21
21
  * Initializes KupTooltip.
22
22
  */
23
- constructor(delay) {
23
+ constructor(delay, fCellCallbacks) {
24
24
  _KupTooltip_instances.add(this);
25
25
  this.currentAnchor = null;
26
26
  this.delay = null;
27
27
  this.element = null;
28
+ this.fCellCallbacks = null;
28
29
  this.managedElements = null;
29
30
  this.timeout = null;
30
31
  _KupTooltip_clickCb.set(this, null);
31
32
  this.delay = delay ? delay : 125;
33
+ this.fCellCallbacks = fCellCallbacks ? fCellCallbacks : null;
32
34
  this.managedElements = new Set();
33
35
  document.addEventListener('pointermove', (e) => {
34
36
  const paths = e.composedPath();
@@ -38,13 +40,22 @@ export class KupTooltip {
38
40
  }
39
41
  const enterHandler = (anchor) => {
40
42
  this.timeout = null;
41
- requestAnimationFrame(anchor.kupTooltip.enter.bind(anchor.kupTooltip.enter, e));
43
+ const callbacks = anchor.classList.contains('f-cell')
44
+ ? this.fCellCallbacks
45
+ : anchor.kupTooltip;
46
+ requestAnimationFrame(callbacks.enter.bind(callbacks.enter, e, anchor));
42
47
  };
43
48
  const overHandler = (anchor) => {
44
- requestAnimationFrame(anchor.kupTooltip.over.bind(anchor.kupTooltip.over, e));
49
+ const callbacks = anchor.classList.contains('f-cell')
50
+ ? this.fCellCallbacks
51
+ : anchor.kupTooltip;
52
+ requestAnimationFrame(callbacks.over.bind(callbacks.over, e, anchor));
45
53
  };
46
- const leaveHandler = () => {
47
- requestAnimationFrame(this.currentAnchor.kupTooltip.leave.bind(this.currentAnchor.kupTooltip.leave, e));
54
+ const leaveHandler = (anchor) => {
55
+ const callbacks = this.currentAnchor.classList.contains('f-cell')
56
+ ? this.fCellCallbacks
57
+ : this.currentAnchor.kupTooltip;
58
+ requestAnimationFrame(callbacks.leave.bind(callbacks.leave, e, anchor));
48
59
  };
49
60
  // If the current anchor exists and is not included in the event path,
50
61
  // the leaving callback is fired.
@@ -54,8 +65,11 @@ export class KupTooltip {
54
65
  this.timeout = null;
55
66
  }
56
67
  else {
57
- if (this.currentAnchor.kupTooltip.leave) {
58
- leaveHandler();
68
+ const callbacks = this.currentAnchor.kupTooltip
69
+ ? this.currentAnchor.kupTooltip
70
+ : this.fCellCallbacks;
71
+ if (callbacks.leave) {
72
+ leaveHandler(this.currentAnchor);
59
73
  }
60
74
  }
61
75
  this.currentAnchor = null;
@@ -63,18 +77,25 @@ export class KupTooltip {
63
77
  else if (!this.timeout) {
64
78
  for (let index = 0; index < paths.length; index++) {
65
79
  const element = paths[index];
66
- if (this.managedElements.has(element)) {
80
+ if (element &&
81
+ (this.managedElements.has(element) ||
82
+ (this.fCellCallbacks &&
83
+ element.classList &&
84
+ element.classList.contains('f-cell')))) {
85
+ const callbacks = element.kupTooltip
86
+ ? element.kupTooltip
87
+ : this.fCellCallbacks;
67
88
  // If the current anchor is the same as the registered element found
68
89
  // in the path, the mouse over function is invoked
69
90
  if (this.currentAnchor === element) {
70
- if (element.kupTooltip.over) {
91
+ if (callbacks.over) {
71
92
  overHandler(element);
72
93
  }
73
94
  // Otherwise, the mouse enter callback will be invoked
74
95
  }
75
96
  else {
76
97
  this.currentAnchor = element;
77
- if (element.kupTooltip.enter) {
98
+ if (callbacks.enter) {
78
99
  if (this.delay) {
79
100
  this.timeout = setTimeout(enterHandler.bind(enterHandler, element), this.delay);
80
101
  }
@@ -88,6 +109,18 @@ export class KupTooltip {
88
109
  }
89
110
  });
90
111
  }
112
+ /**
113
+ * Destroys the tooltip.
114
+ */
115
+ destroy() {
116
+ if (this.element) {
117
+ this.element.remove();
118
+ this.element = null;
119
+ }
120
+ }
121
+ /**
122
+ * Hides the tooltip.
123
+ */
91
124
  hide() {
92
125
  if (this.element) {
93
126
  this.element.menuVisible = false;
@@ -95,6 +128,11 @@ export class KupTooltip {
95
128
  dom.ketchup.removeClickCallback(__classPrivateFieldGet(this, _KupTooltip_clickCb, "f"));
96
129
  }
97
130
  }
131
+ /**
132
+ * Displays the tooltip.
133
+ * @param {KupDynamicPositionAnchor} anchor - Anchor point of the tooltip: HTML element or x/y coordinates.
134
+ * @param {Partial<HTMLKupCardElement>} options - Props/attributes of the tooltip.
135
+ */
98
136
  show(anchor, options) {
99
137
  // Creates the card or updates it with new options
100
138
  if (!this.element) {
@@ -132,18 +170,13 @@ export class KupTooltip {
132
170
  /**
133
171
  * Registers an HTMLElement as KupTooltipAnchor, triggering callback invocation on mouse over.
134
172
  * @param {KupTooltipAnchor} element - The HTML element to be registered.
135
- * @param {(e: PointerEvent) => void} cbEnter - Callback invoked when hovering on the the element for the first time.
136
- * @param {(e: PointerEvent) => void} cbOver - Callback invoked when hovering on the element.
137
- * @param {(e: PointerEvent) => void} cbLeave - Callback invoked when leaving the element.
173
+ * @param {KupTooltipCallbacks} options - Optional callbacks.
138
174
  */
139
- register(element, cbEnter, cbOver, cbLeave) {
175
+ register(element, options) {
140
176
  this.managedElements.add(element);
141
- const kupTooltip = {
142
- enter: cbEnter,
143
- leave: cbLeave,
144
- over: cbOver,
145
- };
146
- element.kupTooltip = kupTooltip;
177
+ if (options !== null && options) {
178
+ element.kupTooltip = options;
179
+ }
147
180
  }
148
181
  /**
149
182
  * Unregisters an HTMLElement, preventing its attached callback from being invoked.
@@ -24,10 +24,12 @@ export var KupTagNames;
24
24
  KupTagNames["DRAWER"] = "KUP-DRAWER";
25
25
  KupTagNames["DROPDOWN_BUTTON"] = "KUP-DROPDOWN-BUTTON";
26
26
  KupTagNames["FIELD"] = "KUP-FIELD";
27
+ KupTagNames["FORM_EDITOR"] = "KUP-FORM-EDITOR";
27
28
  KupTagNames["GAUGE"] = "KUP-GAUGE";
28
29
  KupTagNames["GRID"] = "KUP-GRID";
29
30
  KupTagNames["IFRAME"] = "KUP-IFRAME";
30
31
  KupTagNames["IMAGE"] = "KUP-IMAGE";
32
+ KupTagNames["IMAGE_LIST"] = "KUP-IMAGE-LIST";
31
33
  KupTagNames["LAZY"] = "KUP-LAZY";
32
34
  KupTagNames["LIST"] = "KUP-LIST";
33
35
  KupTagNames["MAGIC_BOX"] = "KUP-MAGIC-BOX";
@@ -1,5 +1,4 @@
1
1
  import { KupDynamicPositionPlacement, } from '../../managers/kup-dynamic-position/kup-dynamic-position-declarations';
2
- import { unsetTooltip } from '../helpers';
3
2
  import { FiltersColumnMenu } from '../filters/filters-column-menu';
4
3
  import { FilterInterval, } from '../filters/filters-declarations';
5
4
  import { getValueForDisplay, getValueForDisplay2 } from '../cell-utils';
@@ -26,12 +25,8 @@ export class KupColumnMenu {
26
25
  * Function called by the component when the column menu must be opened.
27
26
  * @param {KupDataTable | KupTree} comp - Component using the column menu.
28
27
  * @param {string} column - Name of the column.
29
- * @param {KupTooltip} tooltip - Tooltip of the component, when present.
30
28
  */
31
- open(comp, column, tooltip) {
32
- if (tooltip) {
33
- unsetTooltip(tooltip);
34
- }
29
+ open(comp, column) {
35
30
  this.filtersColumnMenuInstance.resetTextualFilters(comp.filters, column);
36
31
  }
37
32
  /**
@@ -308,8 +303,8 @@ export class KupColumnMenu {
308
303
  const data = props[0].data;
309
304
  if (comp.showFilters) {
310
305
  data.push({
311
- text: dom.ketchup.language.translate(KupLanguageGeneric.FILTERS),
312
- value: KupLanguageGeneric.FILTERS,
306
+ id: KupLanguageGeneric.FILTERS,
307
+ value: dom.ketchup.language.translate(KupLanguageGeneric.FILTERS),
313
308
  });
314
309
  }
315
310
  if ((comp.enableExtraColumns &&
@@ -317,14 +312,15 @@ export class KupColumnMenu {
317
312
  dom.ketchup.objects.canObjsHaveExtraColumns(column.objs))) ||
318
313
  comp.removableColumns) {
319
314
  data.push({
320
- text: dom.ketchup.language.translate(KupLanguageColumn.COLUMNS),
321
- value: KupLanguageColumn.COLUMNS,
315
+ id: KupLanguageColumn.COLUMNS,
316
+ value: dom.ketchup.language.translate(KupLanguageColumn.COLUMNS),
322
317
  });
323
318
  }
324
319
  if (!FiltersColumnMenu.isTree(comp)) {
325
320
  data.push({
326
321
  icon: 'settings',
327
- value: KupLanguageGeneric.SETTINGS,
322
+ id: KupLanguageGeneric.SETTINGS,
323
+ value: '',
328
324
  });
329
325
  }
330
326
  if (data.length > 0) {
@@ -1,5 +1,5 @@
1
- import { k as unformattedStringToFormattedStringNumber, m as unformattedStringToFormattedStringTime, o as unformattedStringToFormattedStringTimestamp, d as stringToNumber } from './utils-f24319a0.js';
2
- import { d as KupDatesFormats } from './kup-manager-9316a184.js';
1
+ import { u as unformattedStringToFormattedStringNumber, d as unformattedStringToFormattedStringTime, e as unformattedStringToFormattedStringTimestamp, h as stringToNumber } from './utils-d7e4b3c2.js';
2
+ import { d as KupDatesFormats } from './kup-manager-58b075b4.js';
3
3
 
4
4
  const dom = document.documentElement;
5
5
  // -------------
@@ -157,4 +157,4 @@ function localCompareAsInJava(t1, t2) {
157
157
  return t1Length - t2Length;
158
158
  }
159
159
 
160
- export { getValueForDisplay2 as a, getCellValueForDisplay as b, getColumnByName as c, compareValues as d, compareCell as e, formatToNumber as f, getValueForDisplay as g };
160
+ export { getValueForDisplay2 as a, getValueForDisplay as b, getCellValueForDisplay as c, compareValues as d, compareCell as e, formatToNumber as f, getColumnByName as g };
@@ -1,4 +1,4 @@
1
- import { _ as __spreadArray, a as __read, b as __extends, c as __assign, d as __values } from './tslib.es6-8f2d44b6.js';
1
+ import { c as __spreadArray, d as __read, _ as __extends, a as __assign, b as __values } from './tslib.es6-3eea2234.js';
2
2
 
3
3
  /**
4
4
  * @license
@@ -256,6 +256,31 @@ function matches(element, selector) {
256
256
  || element.msMatchesSelector;
257
257
  return nativeMatches.call(element, selector);
258
258
  }
259
+ /**
260
+ * Used to compute the estimated scroll width of elements. When an element is
261
+ * hidden due to display: none; being applied to a parent element, the width is
262
+ * returned as 0. However, the element will have a true width once no longer
263
+ * inside a display: none context. This method computes an estimated width when
264
+ * the element is hidden or returns the true width when the element is visble.
265
+ * @param {Element} element the element whose width to estimate
266
+ */
267
+ function estimateScrollWidth(element) {
268
+ // Check the offsetParent. If the element inherits display: none from any
269
+ // parent, the offsetParent property will be null (see
270
+ // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).
271
+ // This check ensures we only clone the node when necessary.
272
+ var htmlEl = element;
273
+ if (htmlEl.offsetParent !== null) {
274
+ return htmlEl.scrollWidth;
275
+ }
276
+ var clone = htmlEl.cloneNode(true);
277
+ clone.style.setProperty('position', 'absolute');
278
+ clone.style.setProperty('transform', 'translate(-9999px, -9999px)');
279
+ document.documentElement.appendChild(clone);
280
+ var scrollWidth = clone.scrollWidth;
281
+ document.documentElement.removeChild(clone);
282
+ return scrollWidth;
283
+ }
259
284
 
260
285
  /**
261
286
  * @license
@@ -990,4 +1015,4 @@ var MDCRipple = /** @class */ (function (_super) {
990
1015
  return MDCRipple;
991
1016
  }(MDCComponent));
992
1017
 
993
- export { MDCRipple as M, MDCRippleFoundation as a };
1018
+ export { MDCRipple as M, MDCFoundation as a, MDCComponent as b, applyPassive as c, MDCRippleFoundation as d, estimateScrollWidth as e, matches as m };
@@ -1,6 +1,6 @@
1
1
  import { h } from './index-baeab1ac.js';
2
2
  import { F as FButtonStyling } from './f-button-declarations-b1b4cac4.js';
3
- import { F as FImage } from './f-image-d32465e3.js';
3
+ import { F as FImage } from './f-image-c468d8ae.js';
4
4
 
5
5
  /*-------------------------------------------------*/
6
6
  /* C o m p o n e n t */
@@ -1,10 +1,34 @@
1
- import { c as KupTagNames, b as KupThemeColorValues } from './kup-manager-9316a184.js';
1
+ import { V as KupTagNames, b as KupThemeColorValues } from './kup-manager-58b075b4.js';
2
2
  import { h } from './index-baeab1ac.js';
3
- import { b as getCellValueForDisplay } from './cell-utils-f4bdbbc8.js';
4
- import { F as FTextField } from './f-text-field-c25cc63f.js';
5
- import { d as stringToNumber } from './utils-f24319a0.js';
6
- import { F as FImage } from './f-image-d32465e3.js';
7
- import { F as FChip } from './f-chip-a3035b4b.js';
3
+ import { c as getCellValueForDisplay } from './cell-utils-964da6b5.js';
4
+ import { F as FTextField } from './f-text-field-d6c61c73.js';
5
+ import { h as stringToNumber } from './utils-d7e4b3c2.js';
6
+ import { F as FImage } from './f-image-c468d8ae.js';
7
+ import { a as FChip } from './f-chip-1dda722f.js';
8
+
9
+ /*-------------------------------------------------*/
10
+ /* C o m p o n e n t */
11
+ /*-------------------------------------------------*/
12
+ const FCheckbox = (props) => {
13
+ const indeterminateAttr = {
14
+ 'data-indeterminate': props.indeterminate ? true : false,
15
+ };
16
+ const classObj = {
17
+ checkbox: true,
18
+ 'checkbox--checked': props.checked && !props.indeterminate ? true : false,
19
+ 'checkbox--disabled': props.disabled ? true : false,
20
+ 'checkbox--indeterminate': props.indeterminate ? true : false,
21
+ };
22
+ return (h("div", Object.assign({ class: `f-checkbox ${props.danger ? 'kup-danger' : ''} ${props.info ? 'kup-info' : ''} ${props.secondary ? 'kup-secondary' : ''} ${props.success ? 'kup-success' : ''} ${props.warning ? 'kup-warning' : ''} ${props.wrapperClass ? props.wrapperClass : ''}` }, props.dataSet, { id: props.id, title: props.title }),
23
+ h("div", { class: `form-field ${props.leadingLabel ? 'form-field--align-end' : ''}` },
24
+ h("div", { class: classObj },
25
+ h("input", Object.assign({ type: "checkbox", class: "checkbox__native-control", checked: props.checked, disabled: props.disabled, onBlur: props.onBlur, onChange: props.onChange, onFocus: props.onFocus }, indeterminateAttr, { value: props.checked ? 'on' : 'off' })),
26
+ h("div", { class: "checkbox__background", onClick: props.onChange },
27
+ h("svg", { class: "checkbox__checkmark", viewBox: "0 0 24 24" },
28
+ h("path", { class: "checkbox__checkmark-path", fill: "none", d: "M1.73,12.91 8.1,19.28 22.79,4.59" })),
29
+ h("div", { class: "checkbox__mixedmark" }))),
30
+ props.label ? h("label", null, props.label) : undefined)));
31
+ };
8
32
 
9
33
  const autoAlignComps = [KupTagNames.DATA_TABLE, KupTagNames.TREE];
10
34
  /**
@@ -151,35 +175,11 @@ const kupTypes = [
151
175
  FCellTypes.RATING,
152
176
  ];
153
177
 
154
- /*-------------------------------------------------*/
155
- /* C o m p o n e n t */
156
- /*-------------------------------------------------*/
157
- const FCheckbox = (props) => {
158
- const indeterminateAttr = {
159
- 'data-indeterminate': props.indeterminate ? true : false,
160
- };
161
- const classObj = {
162
- checkbox: true,
163
- 'checkbox--checked': props.checked && !props.indeterminate ? true : false,
164
- 'checkbox--disabled': props.disabled ? true : false,
165
- 'checkbox--indeterminate': props.indeterminate ? true : false,
166
- };
167
- return (h("div", Object.assign({ class: `f-checkbox ${props.danger ? 'kup-danger' : ''} ${props.info ? 'kup-info' : ''} ${props.secondary ? 'kup-secondary' : ''} ${props.success ? 'kup-success' : ''} ${props.warning ? 'kup-warning' : ''} ${props.wrapperClass ? props.wrapperClass : ''}` }, props.dataSet, { id: props.id, title: props.title }),
168
- h("div", { class: `form-field ${props.leadingLabel ? 'form-field--align-end' : ''}` },
169
- h("div", { class: classObj },
170
- h("input", Object.assign({ type: "checkbox", class: "checkbox__native-control", checked: props.checked, disabled: props.disabled, onBlur: props.onBlur, onChange: props.onChange, onFocus: props.onFocus }, indeterminateAttr, { value: props.checked ? 'on' : 'off' })),
171
- h("div", { class: "checkbox__background", onClick: props.onChange },
172
- h("svg", { class: "checkbox__checkmark", viewBox: "0 0 24 24" },
173
- h("path", { class: "checkbox__checkmark-path", fill: "none", d: "M1.73,12.91 8.1,19.28 22.79,4.59" })),
174
- h("div", { class: "checkbox__mixedmark" }))),
175
- props.label ? h("label", null, props.label) : undefined)));
176
- };
177
-
178
178
  const dom = document.documentElement;
179
179
  /*-------------------------------------------------*/
180
180
  /* C o m p o n e n t */
181
181
  /*-------------------------------------------------*/
182
- const FCell = (props) => {
182
+ const FCell = (props, children) => {
183
183
  const cell = props.cell;
184
184
  const column = props.column;
185
185
  const row = props.row;
@@ -267,12 +267,12 @@ const FCell = (props) => {
267
267
  };
268
268
  infoEl = h(FImage, Object.assign({}, fProps));
269
269
  }
270
- return (h("div", { class: classObj, style: cell.style },
271
- h("div", { class: "f-cell__content", style: cell.styleContent, title: cellTitle },
272
- props.indents,
273
- infoEl,
274
- icon,
275
- content)));
270
+ return (h("div", { class: classObj, "kup-get-cell-props": () => {
271
+ return props;
272
+ }, style: cell.style },
273
+ h("div", { class: "f-cell__content", style: cell.styleContent, title: cellTitle }, children && children.length > 0
274
+ ? children
275
+ : [props.indents, infoEl, icon, content])));
276
276
  };
277
277
  function setCellSize(cellType, subcomponentProps, cell, props) {
278
278
  switch (cellType) {
@@ -647,4 +647,4 @@ function cellEvent(e, props, cellType, cellEventName) {
647
647
  }
648
648
  }
649
649
 
650
- export { FCell as F, FCheckbox as a, FCellPadding as b };
650
+ export { FCheckbox as F, FCellPadding as a, FCell as b };
@@ -1,6 +1,6 @@
1
1
  import { h } from './index-baeab1ac.js';
2
- import { F as FImage } from './f-image-d32465e3.js';
3
- import { a as KupThemeIconValues, i as KupLanguageGeneric, b as KupThemeColorValues } from './kup-manager-9316a184.js';
2
+ import { F as FImage } from './f-image-c468d8ae.js';
3
+ import { a as KupThemeIconValues, h as KupLanguageGeneric, b as KupThemeColorValues } from './kup-manager-58b075b4.js';
4
4
 
5
5
  /**
6
6
  * Types of the f-chip component.
@@ -74,7 +74,8 @@ function createChipList(props, isChoice, isFilter, isInput) {
74
74
  }
75
75
  }
76
76
  function createChip(chip) {
77
- let componentClass = `chip `;
77
+ const onlyIcon = !!(chip.icon && !chip.value);
78
+ let componentClass = `chip ${onlyIcon ? 'chip--only-icon' : ''}`;
78
79
  let iconEl = [];
79
80
  let iconClass = 'chip__icon chip__icon--leading';
80
81
  if (isFilter || isChoice) {
@@ -125,4 +126,4 @@ function createChipList(props, isChoice, isFilter, isInput) {
125
126
  return chipList;
126
127
  }
127
128
 
128
- export { FChip as F, FChipType as a };
129
+ export { FChipType as F, FChip as a };
@@ -1,5 +1,5 @@
1
1
  import { h, a as getAssetPath } from './index-baeab1ac.js';
2
- import { b as KupThemeColorValues } from './kup-manager-9316a184.js';
2
+ import { b as KupThemeColorValues } from './kup-manager-58b075b4.js';
3
3
 
4
4
  /**
5
5
  * The type of a CSS step in CSS-drawing mode.