@sme.up/ketchup 11.0.0-SNAPSHOT-20250224081053 → 11.0.0-SNAPSHOT-20250224140011

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/cjs/{f-cell-b840ced9.js → f-cell-19cc242a.js} +11 -7
  2. package/dist/cjs/{f-chip-de210fd5.js → f-chip-89209560.js} +1 -1
  3. package/dist/cjs/{f-object-field-39fbf27b.js → f-object-field-237a98b7.js} +2 -2
  4. package/dist/cjs/{f-paginator-utils-a3bc6e16.js → f-paginator-utils-19747b23.js} +1 -1
  5. package/dist/cjs/{f-text-field-0dc68dd1.js → f-text-field-29efeb2c.js} +1 -1
  6. package/dist/cjs/index.cjs.js +1 -1
  7. package/dist/cjs/ketchup.cjs.js +1 -1
  8. package/dist/cjs/kup-accordion.cjs.entry.js +1 -1
  9. package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
  10. package/dist/cjs/kup-autocomplete_29.cjs.entry.js +116 -21
  11. package/dist/cjs/kup-box.cjs.entry.js +7 -7
  12. package/dist/cjs/kup-calendar.cjs.entry.js +2 -2
  13. package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
  14. package/dist/cjs/kup-cell.cjs.entry.js +5 -5
  15. package/dist/cjs/kup-dashboard.cjs.entry.js +2 -2
  16. package/dist/cjs/{kup-data-table-helper-4a6a4fd5.js → kup-data-table-helper-fe4709cf.js} +1 -1
  17. package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
  18. package/dist/cjs/kup-echart.cjs.entry.js +1 -1
  19. package/dist/cjs/kup-editor.cjs.entry.js +1 -1
  20. package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
  21. package/dist/cjs/kup-grid.cjs.entry.js +1 -1
  22. package/dist/cjs/kup-htm.cjs.entry.js +1 -1
  23. package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
  24. package/dist/cjs/kup-image-list.cjs.entry.js +5 -5
  25. package/dist/cjs/kup-input-panel.cjs.entry.js +5 -5
  26. package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
  27. package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
  28. package/dist/cjs/{kup-manager-4ae6e394.js → kup-manager-6385c170.js} +2 -1
  29. package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/kup-numeric-picker.cjs.entry.js +2 -2
  31. package/dist/cjs/kup-object-field.cjs.entry.js +3 -3
  32. package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
  33. package/dist/cjs/kup-planner.cjs.entry.js +2 -2
  34. package/dist/cjs/kup-probe.cjs.entry.js +1 -1
  35. package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
  36. package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
  37. package/dist/cjs/kup-txt.cjs.entry.js +1 -1
  38. package/dist/cjs/kup-typography-list.cjs.entry.js +2 -2
  39. package/dist/cjs/kup-typography.cjs.entry.js +111 -11
  40. package/dist/cjs/loader.cjs.js +1 -1
  41. package/dist/collection/components/kup-card/kup-card.js +1 -1
  42. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +182 -20
  43. package/dist/collection/components/kup-toolbar/kup-toolbar.css +6 -9
  44. package/dist/collection/components/kup-typography/kup-typography.js +198 -28
  45. package/dist/collection/components/kup-typography-list/kup-typography-list.js +1 -1
  46. package/dist/collection/f-components/f-radio/f-radio.js +5 -3
  47. package/dist/collection/utils/cell-utils.js +1 -0
  48. package/dist/components/index.js +1 -1
  49. package/dist/components/kup-accordion.js +2 -2
  50. package/dist/components/kup-activity-timeline.js +2 -2
  51. package/dist/components/kup-autocomplete.js +1 -1
  52. package/dist/components/kup-badge.js +1 -1
  53. package/dist/components/kup-box.js +1 -1
  54. package/dist/components/kup-button-list.js +1 -1
  55. package/dist/components/kup-button.js +1 -1
  56. package/dist/components/kup-calendar.js +2 -2
  57. package/dist/components/kup-card-list.js +3 -3
  58. package/dist/components/kup-card.js +1 -1
  59. package/dist/components/kup-cell.js +2 -2
  60. package/dist/components/kup-chart.js +1 -1
  61. package/dist/components/kup-checkbox.js +1 -1
  62. package/dist/components/kup-chip.js +1 -1
  63. package/dist/components/kup-color-picker.js +1 -1
  64. package/dist/components/kup-combobox.js +1 -1
  65. package/dist/components/kup-dashboard.js +2 -2
  66. package/dist/components/kup-data-table.js +1 -1
  67. package/dist/components/kup-date-picker.js +1 -1
  68. package/dist/components/kup-dialog.js +1 -1
  69. package/dist/components/kup-drawer.js +2 -2
  70. package/dist/components/kup-dropdown-button.js +1 -1
  71. package/dist/components/kup-echart.js +1 -1
  72. package/dist/components/kup-editor.js +1 -1
  73. package/dist/components/kup-family-tree.js +3 -3
  74. package/dist/components/kup-file-upload.js +1 -1
  75. package/dist/components/kup-form.js +1 -1
  76. package/dist/components/kup-gauge.js +1 -1
  77. package/dist/components/kup-grid.js +1 -1
  78. package/dist/components/kup-htm.js +2 -2
  79. package/dist/components/kup-iframe.js +2 -2
  80. package/dist/components/kup-image-list.js +2 -2
  81. package/dist/components/kup-image.js +1 -1
  82. package/dist/components/kup-input-panel.js +3 -3
  83. package/dist/components/kup-lazy.js +2 -2
  84. package/dist/components/kup-list.js +1 -1
  85. package/dist/components/kup-magic-box.js +4 -4
  86. package/dist/components/kup-nav-bar.js +2 -2
  87. package/dist/components/kup-numeric-picker.js +2 -2
  88. package/dist/components/kup-object-field.js +2 -2
  89. package/dist/components/kup-pdf.js +2 -2
  90. package/dist/components/kup-planner.js +2 -2
  91. package/dist/components/kup-probe.js +2 -2
  92. package/dist/components/kup-progress-bar.js +1 -1
  93. package/dist/components/kup-qlik.js +2 -2
  94. package/dist/components/kup-radio.js +1 -1
  95. package/dist/components/kup-rating.js +1 -1
  96. package/dist/components/kup-snackbar.js +2 -2
  97. package/dist/components/kup-spinner.js +1 -1
  98. package/dist/components/kup-switch.js +1 -1
  99. package/dist/components/kup-tab-bar.js +1 -1
  100. package/dist/components/kup-text-field.js +1 -1
  101. package/dist/components/kup-time-picker.js +1 -1
  102. package/dist/components/kup-toolbar.js +1 -1
  103. package/dist/components/kup-tree.js +1 -1
  104. package/dist/components/kup-txt.js +2 -2
  105. package/dist/components/kup-typography-list.js +3 -3
  106. package/dist/components/kup-typography.js +115 -13
  107. package/dist/components/{p-5e1c7ef8.js → p-32e825d1.js} +2 -1
  108. package/dist/components/{p-b53352c2.js → p-44cbe2fa.js} +120 -19
  109. package/dist/components/{p-92885e0c.js → p-52d74af0.js} +2 -2
  110. package/dist/components/{p-118aa9fc.js → p-94e6cac6.js} +2 -2
  111. package/dist/components/{p-ff68c33a.js → p-9d7a7c0c.js} +2 -2
  112. package/dist/components/{p-cb94bb7e.js → p-e88b69ec.js} +2 -2
  113. package/dist/esm/{f-cell-a29edd09.js → f-cell-5f2f74c5.js} +11 -7
  114. package/dist/esm/{f-chip-2aa77517.js → f-chip-b7c5cd17.js} +1 -1
  115. package/dist/esm/{f-object-field-8c26a9db.js → f-object-field-31371da2.js} +2 -2
  116. package/dist/esm/{f-paginator-utils-b7da730d.js → f-paginator-utils-0055c484.js} +1 -1
  117. package/dist/esm/{f-text-field-f89f1b7d.js → f-text-field-48d66e25.js} +1 -1
  118. package/dist/esm/index.js +1 -1
  119. package/dist/esm/ketchup.js +1 -1
  120. package/dist/esm/kup-accordion.entry.js +1 -1
  121. package/dist/esm/kup-activity-timeline.entry.js +2 -2
  122. package/dist/esm/kup-autocomplete_29.entry.js +116 -21
  123. package/dist/esm/kup-box.entry.js +7 -7
  124. package/dist/esm/kup-calendar.entry.js +2 -2
  125. package/dist/esm/kup-card-list.entry.js +1 -1
  126. package/dist/esm/kup-cell.entry.js +5 -5
  127. package/dist/esm/kup-dashboard.entry.js +2 -2
  128. package/dist/esm/{kup-data-table-helper-3d87d24e.js → kup-data-table-helper-4024439d.js} +1 -1
  129. package/dist/esm/kup-drawer.entry.js +1 -1
  130. package/dist/esm/kup-echart.entry.js +1 -1
  131. package/dist/esm/kup-editor.entry.js +1 -1
  132. package/dist/esm/kup-family-tree.entry.js +1 -1
  133. package/dist/esm/kup-grid.entry.js +1 -1
  134. package/dist/esm/kup-htm.entry.js +1 -1
  135. package/dist/esm/kup-iframe.entry.js +1 -1
  136. package/dist/esm/kup-image-list.entry.js +5 -5
  137. package/dist/esm/kup-input-panel.entry.js +5 -5
  138. package/dist/esm/kup-lazy.entry.js +1 -1
  139. package/dist/esm/kup-magic-box.entry.js +1 -1
  140. package/dist/esm/{kup-manager-d79d88c3.js → kup-manager-909a5372.js} +2 -1
  141. package/dist/esm/kup-nav-bar.entry.js +1 -1
  142. package/dist/esm/kup-numeric-picker.entry.js +2 -2
  143. package/dist/esm/kup-object-field.entry.js +3 -3
  144. package/dist/esm/kup-pdf.entry.js +1 -1
  145. package/dist/esm/kup-planner.entry.js +2 -2
  146. package/dist/esm/kup-probe.entry.js +1 -1
  147. package/dist/esm/kup-qlik.entry.js +1 -1
  148. package/dist/esm/kup-snackbar.entry.js +1 -1
  149. package/dist/esm/kup-txt.entry.js +1 -1
  150. package/dist/esm/kup-typography-list.entry.js +2 -2
  151. package/dist/esm/kup-typography.entry.js +111 -11
  152. package/dist/esm/loader.js +1 -1
  153. package/dist/ketchup/index.esm.js +1 -1
  154. package/dist/ketchup/ketchup.esm.js +1 -1
  155. package/dist/ketchup/{p-d715e0d9.entry.js → p-045e7453.entry.js} +1 -1
  156. package/dist/ketchup/{p-65f71d3c.entry.js → p-072f63eb.entry.js} +1 -1
  157. package/dist/ketchup/{p-87c4b20c.entry.js → p-0c3d5326.entry.js} +1 -1
  158. package/dist/ketchup/p-10ba7865.js +1 -0
  159. package/dist/ketchup/{p-231db350.js → p-1a5f95d7.js} +1 -1
  160. package/dist/ketchup/{p-2c7db523.entry.js → p-1e4ad507.entry.js} +1 -1
  161. package/dist/ketchup/{p-d72149cb.entry.js → p-24de1cb4.entry.js} +1 -1
  162. package/dist/ketchup/{p-c044b359.js → p-28ca75af.js} +1 -1
  163. package/dist/ketchup/{p-bedda95a.js → p-331139f5.js} +1 -1
  164. package/dist/ketchup/{p-87d657ec.entry.js → p-35a61a62.entry.js} +1 -1
  165. package/dist/ketchup/{p-9ebac349.entry.js → p-35c8e5fa.entry.js} +1 -1
  166. package/dist/ketchup/{p-7f29122b.entry.js → p-3ecd8f1e.entry.js} +1 -1
  167. package/dist/ketchup/{p-1bd86e28.entry.js → p-48abc5a1.entry.js} +1 -1
  168. package/dist/ketchup/{p-a44d0f93.entry.js → p-4e4651b1.entry.js} +1 -1
  169. package/dist/ketchup/{p-ed2236a9.entry.js → p-505b561b.entry.js} +1 -1
  170. package/dist/ketchup/{p-6d41e405.entry.js → p-5838c23f.entry.js} +1 -1
  171. package/dist/ketchup/{p-8e32ee11.entry.js → p-58716314.entry.js} +1 -1
  172. package/dist/ketchup/{p-15e35f01.entry.js → p-5a221899.entry.js} +1 -1
  173. package/dist/ketchup/{p-edb405f8.entry.js → p-5f33aa71.entry.js} +1 -1
  174. package/dist/ketchup/p-858a36ad.entry.js +9 -0
  175. package/dist/ketchup/p-864b7d67.entry.js +1 -0
  176. package/dist/ketchup/{p-e1857594.entry.js → p-8f403e43.entry.js} +1 -1
  177. package/dist/ketchup/{p-499972c7.entry.js → p-8f6ef646.entry.js} +1 -1
  178. package/dist/ketchup/{p-a2fdbb29.entry.js → p-8fdac77b.entry.js} +1 -1
  179. package/dist/ketchup/{p-92e5adf6.js → p-97a7ac38.js} +1 -1
  180. package/dist/ketchup/{p-c1fd6113.entry.js → p-9f873714.entry.js} +1 -1
  181. package/dist/ketchup/{p-4e44c399.entry.js → p-a9fdec88.entry.js} +1 -1
  182. package/dist/ketchup/{p-cdc42537.entry.js → p-b2e518ed.entry.js} +1 -1
  183. package/dist/ketchup/{p-04b58449.entry.js → p-b321e22c.entry.js} +1 -1
  184. package/dist/ketchup/{p-b1d3b27e.entry.js → p-c4f0dca3.entry.js} +1 -1
  185. package/dist/ketchup/{p-43fe63c2.entry.js → p-c76a4ec5.entry.js} +1 -1
  186. package/dist/ketchup/{p-0d856ecb.entry.js → p-c897deb4.entry.js} +1 -1
  187. package/dist/ketchup/{p-524fc07c.entry.js → p-cdc2d299.entry.js} +1 -1
  188. package/dist/ketchup/{p-ca777dab.entry.js → p-ebad094d.entry.js} +1 -1
  189. package/dist/ketchup/{p-d4970dd8.entry.js → p-ee4770f5.entry.js} +1 -1
  190. package/dist/ketchup/{p-624094e2.js → p-fe3e044f.js} +1 -1
  191. package/dist/ketchup/p-ffdf08f0.js +1 -0
  192. package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +27 -6
  193. package/dist/types/components/kup-typography/kup-typography.d.ts +30 -5
  194. package/dist/types/components.d.ts +42 -16
  195. package/dist/types/f-components/f-radio/f-radio-declarations.d.ts +1 -0
  196. package/package.json +1 -1
  197. package/dist/ketchup/p-7135f294.js +0 -1
  198. package/dist/ketchup/p-e5a9a492.entry.js +0 -1
  199. package/dist/ketchup/p-ed911dbe.entry.js +0 -9
  200. package/dist/ketchup/p-f59fdde0.js +0 -1
@@ -30,6 +30,8 @@ export class KupTabBar {
30
30
  /*-------------------------------------------------*/
31
31
  /* I n t e r n a l V a r i a b l e s */
32
32
  /*-------------------------------------------------*/
33
+ this.toolbarState = [];
34
+ this.infoState = [];
33
35
  /**
34
36
  * Instance of the KupManager class.
35
37
  */
@@ -43,11 +45,13 @@ export class KupTabBar {
43
45
  this.value = '';
44
46
  this.customStyle = '';
45
47
  this.data = null;
48
+ this.infoIcon = false;
46
49
  this.variant = KupTabbarStyling.FLAT;
47
50
  this.dense = false;
48
51
  this.ripple = false;
49
52
  this.toolbar = false;
50
- this.toolbarData = undefined;
53
+ this.toolbarCallback = undefined;
54
+ this.infoCallback = undefined;
51
55
  }
52
56
  onKupBlur(i, node) {
53
57
  this.kupBlur.emit({
@@ -70,16 +74,22 @@ export class KupTabBar {
70
74
  node: node,
71
75
  });
72
76
  }
73
- onKupIconClick(i, node, el) {
77
+ onKupIconClick(el) {
78
+ if (!el) {
79
+ this.kupManager.debug.logMessage(this, 'onKupIconClick: Element is null');
80
+ return;
81
+ }
74
82
  __classPrivateFieldSet(this, _KupTabBar_dropDownActionCardAnchor, el, "f");
75
- this.kupIconClick.emit({
76
- comp: this,
77
- id: this.rootElement.id,
78
- index: i,
79
- node: node,
80
- });
81
83
  this.createDropDownToolbarList();
82
84
  }
85
+ onKupInfoIconClick(el) {
86
+ if (!el) {
87
+ this.kupManager.debug.logMessage(this, 'onKupIconClick: Element is null');
88
+ return;
89
+ }
90
+ __classPrivateFieldSet(this, _KupTabBar_dropDownActionCardAnchor, el, "f");
91
+ this.createDropDownInfoList();
92
+ }
83
93
  onKupFocus(i, node) {
84
94
  this.kupFocus.emit({
85
95
  comp: this,
@@ -155,15 +165,27 @@ export class KupTabBar {
155
165
  this.kupManager.dynamicPosition.stop(this.toolbarList);
156
166
  this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTabBar_clickCbDropCard, "f"));
157
167
  this.toolbarList.remove();
168
+ this.kupManager.dynamicPosition.unregister([this.toolbarList]);
158
169
  this.toolbarList = null;
159
170
  }
160
171
  }
172
+ /**
173
+ * Create dropdown list for toolbar
174
+ */
161
175
  createDropDownToolbarList() {
176
+ if (!__classPrivateFieldGet(this, _KupTabBar_dropDownActionCardAnchor, "f")) {
177
+ this.kupManager.debug.logMessage(this, 'createDropDownToolbarList: Anchor is null!');
178
+ return;
179
+ }
162
180
  if (this.toolbarList) {
163
181
  this.closeRowToolbarList();
164
182
  }
183
+ if (this.toolbarState.length === 0) {
184
+ this.kupManager.debug.logMessage(this, 'No toolbar state available.');
185
+ return;
186
+ }
165
187
  const listEl = document.createElement('kup-toolbar');
166
- listEl.data = this.toolbarData;
188
+ listEl.data = this.toolbarState;
167
189
  listEl.addEventListener('kup-toolbar-click', (e) => {
168
190
  this.onKupToolbarItemClick(e);
169
191
  setTimeout(() => {
@@ -180,10 +202,57 @@ export class KupTabBar {
180
202
  this.kupManager.addClickCallback(__classPrivateFieldGet(this, _KupTabBar_clickCbDropCard, "f"), true);
181
203
  this.rootElement.shadowRoot.appendChild(this.toolbarList);
182
204
  requestAnimationFrame(() => {
205
+ if (!__classPrivateFieldGet(this, _KupTabBar_dropDownActionCardAnchor, "f")) {
206
+ this.kupManager.debug.logMessage(this, 'DropDown anchor is still null after delay!');
207
+ return;
208
+ }
183
209
  this.kupManager.dynamicPosition.register(this.toolbarList, __classPrivateFieldGet(this, _KupTabBar_dropDownActionCardAnchor, "f"), 0, KupDynamicPositionPlacement.AUTO, true);
184
210
  this.kupManager.dynamicPosition.start(this.toolbarList);
185
211
  });
186
212
  }
213
+ /**
214
+ * Create dropdown list for tab info icon
215
+ */
216
+ createDropDownInfoList() {
217
+ if (!__classPrivateFieldGet(this, _KupTabBar_dropDownActionCardAnchor, "f")) {
218
+ this.kupManager.debug.logMessage(this, 'createDropDownToolbarList: Anchor is null!');
219
+ return;
220
+ }
221
+ if (this.infoList) {
222
+ this.closeInfoDataList();
223
+ }
224
+ if (this.infoState.length === 0) {
225
+ this.kupManager.debug.logMessage(this, 'No toolbar state available.');
226
+ return;
227
+ }
228
+ const listEl = document.createElement('kup-list');
229
+ listEl.data = this.infoState;
230
+ this.infoList = listEl;
231
+ __classPrivateFieldSet(this, _KupTabBar_clickCbDropCard, {
232
+ cb: () => {
233
+ this.closeInfoDataList();
234
+ },
235
+ el: this.infoList,
236
+ }, "f");
237
+ this.kupManager.addClickCallback(__classPrivateFieldGet(this, _KupTabBar_clickCbDropCard, "f"), true);
238
+ this.rootElement.shadowRoot.appendChild(this.infoList);
239
+ requestAnimationFrame(() => {
240
+ this.kupManager.dynamicPosition.register(this.infoList, __classPrivateFieldGet(this, _KupTabBar_dropDownActionCardAnchor, "f"), 0, KupDynamicPositionPlacement.AUTO, true);
241
+ this.kupManager.dynamicPosition.start(this.infoList);
242
+ });
243
+ }
244
+ /**
245
+ * Destroy dropdown list for tab info icon
246
+ */
247
+ closeInfoDataList() {
248
+ if (this.infoList) {
249
+ this.kupManager.dynamicPosition.stop(this.infoList);
250
+ this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTabBar_clickCbDropCard, "f"));
251
+ this.infoList.remove();
252
+ this.kupManager.dynamicPosition.unregister([this.infoList]);
253
+ this.infoList = null;
254
+ }
255
+ }
187
256
  consistencyCheck() {
188
257
  let activeTabs = 0;
189
258
  let lastActiveOccurrence = 0;
@@ -244,10 +313,29 @@ export class KupTabBar {
244
313
  'kup-dense': this.dense,
245
314
  'kup-danger': node.danger,
246
315
  };
247
- const tabEl = (h("f-button", { class: tabClass, role: "tab", "aria-selected": this.data[i].active ? true : false, tabIndex: i, title: node.title ? node.title : null, onBlur: () => this.onKupBlur(i, node), onClick: () => this.onKupClick(i, node), onFocus: () => this.onKupFocus(i, node) }, h("span", { class: "tab__content" }, node.icon ? (h(FImage, { color: `var(${KupThemeColorValues.PRIMARY})`, resource: node.icon, placeholderResource: node.placeholderIcon, wrapperClass: "tab__icon" })) : null, node.value ? (h("span", { class: "tab__text-label" }, this.data[i].value)) : null), this.toolbar && (h(FImage, { resource: "more_vert", sizeX: "16px", sizeY: "16px", onClick: (event) => {
316
+ const tabEl = (h("f-button", { class: tabClass, role: "tab", "aria-selected": this.data[i].active ? true : false, tabIndex: i, title: node.title ? node.title : null, onBlur: () => this.onKupBlur(i, node), onClick: () => this.onKupClick(i, node), onFocus: () => this.onKupFocus(i, node) }, h("span", { class: "tab__content" }, node.icon ? (h(FImage, { color: `var(${KupThemeColorValues.PRIMARY})`, resource: node.icon, placeholderResource: node.placeholderIcon, wrapperClass: "tab__icon" })) : null, node.value ? (h("span", { class: "tab__text-label" }, this.data[i].value)) : null), this.infoIcon && (h(FImage, { resource: "info_outline", sizeX: "16px", sizeY: "16px", onClick: async (event) => {
248
317
  event.stopPropagation();
249
- this.onKupIconClick(i, node, event.currentTarget);
250
- }, wrapperClass: "tab__iconToolbar" })), h("span", { class: `tab-indicator ${node.active ? ' tab-indicator--active' : ''}` }, h("span", { class: "tab-indicator__content tab-indicator__content--underline" }))));
318
+ const el = event.currentTarget;
319
+ const data = await this.infoCallback();
320
+ this.infoState = data;
321
+ if (this.infoState.length > 0) {
322
+ this.onKupInfoIconClick(el);
323
+ }
324
+ else {
325
+ this.kupManager.debug.logMessage(this, 'InfoIcon data is empty, not opening dropdown.');
326
+ }
327
+ }, wrapperClass: "tab__iconToolbar iconInfo" })), this.toolbar && (h(FImage, { resource: "more_vert", sizeX: "16px", sizeY: "16px", onClick: async (event) => {
328
+ event.stopPropagation();
329
+ const el = event.currentTarget;
330
+ const data = await this.toolbarCallback();
331
+ this.toolbarState = data;
332
+ if (this.toolbarState.length > 0) {
333
+ this.onKupIconClick(el);
334
+ }
335
+ else {
336
+ this.kupManager.debug.logMessage(this, 'Toolbar data is empty, not opening dropdown.');
337
+ }
338
+ }, wrapperClass: "tab__iconToolbar iconToolbar" })), h("span", { class: `tab-indicator ${node.active ? ' tab-indicator--active' : ''}` }, h("span", { class: "tab-indicator__content tab-indicator__content--underline" }))));
251
339
  tabBar.push(tabEl);
252
340
  }
253
341
  const tabbarRole = {
@@ -260,6 +348,12 @@ export class KupTabBar {
260
348
  disconnectedCallback() {
261
349
  this.kupManager.scrollOnHover.unregister(this.scrollArea);
262
350
  this.kupManager.theme.unregister(this);
351
+ if (this.toolbarList) {
352
+ this.kupManager.dynamicPosition.unregister([this.toolbarList]);
353
+ }
354
+ if (this.infoList) {
355
+ this.kupManager.dynamicPosition.unregister([this.infoList]);
356
+ }
263
357
  }
264
358
  static get is() { return "kup-tab-bar"; }
265
359
  static get encapsulation() { return "shadow"; }
@@ -324,6 +418,27 @@ export class KupTabBar {
324
418
  },
325
419
  "defaultValue": "null"
326
420
  },
421
+ "infoIcon": {
422
+ "type": "boolean",
423
+ "mutable": false,
424
+ "complexType": {
425
+ "original": "boolean",
426
+ "resolved": "boolean",
427
+ "references": {}
428
+ },
429
+ "required": false,
430
+ "optional": false,
431
+ "docs": {
432
+ "tags": [{
433
+ "name": "default",
434
+ "text": "false"
435
+ }],
436
+ "text": "When enabled displays toolbar item inside each single tab."
437
+ },
438
+ "attribute": "info-icon",
439
+ "reflect": false,
440
+ "defaultValue": "false"
441
+ },
327
442
  "variant": {
328
443
  "type": "string",
329
444
  "mutable": false,
@@ -414,13 +529,17 @@ export class KupTabBar {
414
529
  "reflect": false,
415
530
  "defaultValue": "false"
416
531
  },
417
- "toolbarData": {
532
+ "toolbarCallback": {
418
533
  "type": "unknown",
419
534
  "mutable": false,
420
535
  "complexType": {
421
- "original": "KupDataNode[]",
422
- "resolved": "KupDataNode[]",
536
+ "original": "() => Promise<KupDataNode[]>",
537
+ "resolved": "() => Promise<KupDataNode[]>",
423
538
  "references": {
539
+ "Promise": {
540
+ "location": "global",
541
+ "id": "global::Promise"
542
+ },
424
543
  "KupDataNode": {
425
544
  "location": "import",
426
545
  "path": "../../managers/kup-data/kup-data-declarations",
@@ -431,11 +550,33 @@ export class KupTabBar {
431
550
  "required": false,
432
551
  "optional": false,
433
552
  "docs": {
434
- "tags": [{
435
- "name": "default",
436
- "text": "null"
437
- }],
438
- "text": "Display DataNode Toolbar."
553
+ "tags": [],
554
+ "text": ""
555
+ }
556
+ },
557
+ "infoCallback": {
558
+ "type": "unknown",
559
+ "mutable": false,
560
+ "complexType": {
561
+ "original": "() => Promise<KupDataNode[]>",
562
+ "resolved": "() => Promise<KupDataNode[]>",
563
+ "references": {
564
+ "Promise": {
565
+ "location": "global",
566
+ "id": "global::Promise"
567
+ },
568
+ "KupDataNode": {
569
+ "location": "import",
570
+ "path": "../../managers/kup-data/kup-data-declarations",
571
+ "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataNode"
572
+ }
573
+ }
574
+ },
575
+ "required": false,
576
+ "optional": false,
577
+ "docs": {
578
+ "tags": [],
579
+ "text": ""
439
580
  }
440
581
  }
441
582
  };
@@ -509,6 +650,27 @@ export class KupTabBar {
509
650
  }
510
651
  }
511
652
  }
653
+ }, {
654
+ "method": "kupInfoIconClick",
655
+ "name": "kup-tabbar-infoiconclick",
656
+ "bubbles": true,
657
+ "cancelable": false,
658
+ "composed": true,
659
+ "docs": {
660
+ "tags": [],
661
+ "text": "Triggered when the icon inside tab is clicked."
662
+ },
663
+ "complexType": {
664
+ "original": "KupTabBarEventPayload",
665
+ "resolved": "KupTabBarEventPayload",
666
+ "references": {
667
+ "KupTabBarEventPayload": {
668
+ "location": "import",
669
+ "path": "./kup-tab-bar-declarations",
670
+ "id": "src/components/kup-tab-bar/kup-tab-bar-declarations.ts::KupTabBarEventPayload"
671
+ }
672
+ }
673
+ }
512
674
  }, {
513
675
  "method": "kupFocus",
514
676
  "name": "kup-tabbar-focus",
@@ -145,7 +145,7 @@
145
145
  .parent-class {
146
146
  position: relative;
147
147
  cursor: pointer;
148
- width: 200px;
148
+ min-width: 175px;
149
149
  background-color: var(--kup-gray-color-10);
150
150
  display: flex;
151
151
  justify-content: space-between;
@@ -165,6 +165,11 @@
165
165
  display: flex;
166
166
  gap: 8px;
167
167
  align-items: center;
168
+ font-family: var(--kup-font-family);
169
+ font-size: var(--kup-body-compact-01-font-size, 14px);
170
+ line-height: 18px;
171
+ font-weight: 400;
172
+ letter-spacing: 0.16px;
168
173
  }
169
174
  .parent-class:hover:not(.toolbar-item-disabled):not(:has(> .f-cell)) {
170
175
  background-color: var(--kup-gray-color-10-hover);
@@ -233,12 +238,4 @@
233
238
  }
234
239
  .nested-class .f-cell .f-cell__content .f-radio .form-field:hover {
235
240
  background-color: var(--kup-gray-color-10-hover);
236
- }
237
- .nested-class .f-cell .f-cell__content .f-radio .form-field .radio {
238
- padding: var(--kup-space-03) 0 var(--kup-space-03) var(--kup-space-03);
239
- }
240
- .nested-class .f-cell .f-cell__content .f-radio .form-field label {
241
- width: 100%;
242
- cursor: pointer;
243
- padding: var(--kup-space-03);
244
241
  }
@@ -29,6 +29,8 @@ export class KupTypography {
29
29
  /*-------------------------------------------------*/
30
30
  /* I n t e r n a l V a r i a b l e s */
31
31
  /*-------------------------------------------------*/
32
+ this.toolbarState = [];
33
+ this.infoState = [];
32
34
  /**
33
35
  * Instance of the KupManager class.
34
36
  */
@@ -36,10 +38,12 @@ export class KupTypography {
36
38
  _KupTypography_clickCbDropCard.set(this, null);
37
39
  _KupTypography_dropDownActionCardAnchor.set(this, null);
38
40
  this.customStyle = '';
41
+ this.infoIcon = false;
39
42
  this.toolbar = true;
40
- this.toolbarData = undefined;
41
43
  this.type = FTypographyType.BODY_COMPACT;
42
44
  this.value = null;
45
+ this.toolbarCallback = undefined;
46
+ this.infoCallBack = undefined;
43
47
  }
44
48
  onKupClick() {
45
49
  this.kupClick.emit({
@@ -48,12 +52,20 @@ export class KupTypography {
48
52
  value: this.value,
49
53
  });
50
54
  }
55
+ onKupInfoIconClick(el) {
56
+ if (!el) {
57
+ this.kupManager.debug.logMessage(this, 'onKupIconClick: Element is null');
58
+ return;
59
+ }
60
+ __classPrivateFieldSet(this, _KupTypography_dropDownActionCardAnchor, el, "f");
61
+ this.createDropDownInfoList();
62
+ }
51
63
  onKupIconClick(el) {
64
+ if (!el) {
65
+ this.kupManager.debug.logMessage(this, 'onKupIconClick: Element is null');
66
+ return;
67
+ }
52
68
  __classPrivateFieldSet(this, _KupTypography_dropDownActionCardAnchor, el, "f");
53
- this.kupIconClick.emit({
54
- comp: this,
55
- id: this.rootElement.id,
56
- });
57
69
  this.createDropDownToolbarList();
58
70
  }
59
71
  onKupToolbarItemClick(e) {
@@ -76,12 +88,23 @@ export class KupTypography {
76
88
  this.toolbarList = null;
77
89
  }
78
90
  }
91
+ /**
92
+ * Create dropdown list for toolbar
93
+ */
79
94
  createDropDownToolbarList() {
95
+ if (!__classPrivateFieldGet(this, _KupTypography_dropDownActionCardAnchor, "f")) {
96
+ this.kupManager.debug.logMessage(this, 'createDropDownToolbarList: Anchor is null!');
97
+ return;
98
+ }
80
99
  if (this.toolbarList) {
81
100
  this.closeRowToolbarList();
82
101
  }
102
+ if (this.toolbarState.length === 0) {
103
+ this.kupManager.debug.logMessage(this, 'No toolbar state available.');
104
+ return;
105
+ }
83
106
  const listEl = document.createElement('kup-toolbar');
84
- listEl.data = this.toolbarData;
107
+ listEl.data = this.toolbarState;
85
108
  listEl.addEventListener('kup-toolbar-click', (e) => {
86
109
  this.onKupToolbarItemClick(e);
87
110
  setTimeout(() => {
@@ -98,10 +121,57 @@ export class KupTypography {
98
121
  this.kupManager.addClickCallback(__classPrivateFieldGet(this, _KupTypography_clickCbDropCard, "f"), true);
99
122
  this.rootElement.shadowRoot.appendChild(this.toolbarList);
100
123
  requestAnimationFrame(() => {
124
+ if (!__classPrivateFieldGet(this, _KupTypography_dropDownActionCardAnchor, "f")) {
125
+ this.kupManager.debug.logMessage(this, 'DropDown anchor is still null after delay!');
126
+ return;
127
+ }
101
128
  this.kupManager.dynamicPosition.register(this.toolbarList, __classPrivateFieldGet(this, _KupTypography_dropDownActionCardAnchor, "f"), 0, KupDynamicPositionPlacement.AUTO, true);
102
129
  this.kupManager.dynamicPosition.start(this.toolbarList);
103
130
  });
104
131
  }
132
+ /**
133
+ * Create dropdown list for tab info icon
134
+ */
135
+ createDropDownInfoList() {
136
+ if (!__classPrivateFieldGet(this, _KupTypography_dropDownActionCardAnchor, "f")) {
137
+ this.kupManager.debug.logMessage(this, 'createDropDownToolbarList: Anchor is null!');
138
+ return;
139
+ }
140
+ if (this.infoList) {
141
+ this.closeInfoDataList();
142
+ }
143
+ if (this.infoState.length === 0) {
144
+ this.kupManager.debug.logMessage(this, 'No infoicon available.');
145
+ return;
146
+ }
147
+ const listEl = document.createElement('kup-list');
148
+ listEl.data = this.infoState;
149
+ this.infoList = listEl;
150
+ __classPrivateFieldSet(this, _KupTypography_clickCbDropCard, {
151
+ cb: () => {
152
+ this.closeInfoDataList();
153
+ },
154
+ el: this.infoList,
155
+ }, "f");
156
+ this.kupManager.addClickCallback(__classPrivateFieldGet(this, _KupTypography_clickCbDropCard, "f"), true);
157
+ this.rootElement.shadowRoot.appendChild(this.infoList);
158
+ requestAnimationFrame(() => {
159
+ this.kupManager.dynamicPosition.register(this.infoList, __classPrivateFieldGet(this, _KupTypography_dropDownActionCardAnchor, "f"), 0, KupDynamicPositionPlacement.AUTO, true);
160
+ this.kupManager.dynamicPosition.start(this.infoList);
161
+ });
162
+ }
163
+ /**
164
+ * Destroy dropdown list for tab info icon
165
+ */
166
+ closeInfoDataList() {
167
+ if (this.infoList) {
168
+ this.kupManager.dynamicPosition.stop(this.infoList);
169
+ this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTypography_clickCbDropCard, "f"));
170
+ this.infoList.remove();
171
+ this.kupManager.dynamicPosition.unregister([this.infoList]);
172
+ this.infoList = null;
173
+ }
174
+ }
105
175
  /*-------------------------------------------------*/
106
176
  /* P u b l i c M e t h o d s */
107
177
  /*-------------------------------------------------*/
@@ -148,19 +218,45 @@ export class KupTypography {
148
218
  value: this.value,
149
219
  type: this.type,
150
220
  };
151
- const propsFImage = {
221
+ const toolbarIcon = {
152
222
  color: 'var(--kup-gray-color-70)',
153
223
  resource: 'more_vert',
154
224
  sizeX: '16px',
155
225
  sizeY: '16px',
156
- wrapperClass: 'image__iconToolbar',
226
+ wrapperClass: 'image__iconToolbar iconToolbar',
227
+ };
228
+ const infoIcon = {
229
+ color: 'var(--kup-gray-color-70)',
230
+ resource: 'info_outline',
231
+ sizeX: '16px',
232
+ sizeY: '16px',
233
+ wrapperClass: 'image__iconToolbar iconInfo',
157
234
  };
158
235
  const classObjParent = {
159
236
  'kup-typography--wrap': props.toolbar ? true : false,
160
237
  };
161
- return (h(Host, { key: '34e9da970fa1c0d4363fd96a507d54969bf1c316' }, h("style", { key: '65d16a1056f44d8f2ffe867753ced85cf2b81460' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: '6499e780132230a2cd9ac617ab67bf24b2e10d1d', id: componentWrapperId, class: classObjParent, onClick: () => this.onKupClick }, h(FTypography, Object.assign({ key: 'a67c8983c7df830caa13738a8de078fe2c936827' }, props)), this.toolbar && (h(FImage, Object.assign({ key: '105c5272fb10d16f81c3efadc9bda7b984de1e73' }, propsFImage, { onClick: (event) => {
238
+ return (h(Host, { key: 'ce3a3f1c078f3be2a3b57c6230fed6b610cd0ac8' }, h("style", { key: '538daaa32b78cb8496759a5ed7aa459bf519fe48' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: 'fcab41c8bafd5714994be27ee0092e5782b9c9ae', id: componentWrapperId, class: classObjParent, onClick: () => this.onKupClick }, h(FTypography, Object.assign({ key: '1613f88e3175441fa553c325e053fd77f6ca5fcc' }, props)), this.infoIcon && (h(FImage, Object.assign({ key: '0a07d2eee40bfd39c9d404127fb392869f0a730e' }, infoIcon, { onClick: async (event) => {
239
+ event.stopPropagation();
240
+ const el = event.currentTarget;
241
+ const data = await this.infoCallBack();
242
+ this.infoState = data;
243
+ if (this.infoState.length > 0) {
244
+ this.onKupInfoIconClick(el);
245
+ }
246
+ else {
247
+ this.kupManager.debug.logMessage(this, 'Toolbar data is empty, not opening dropdown.');
248
+ }
249
+ } }))), this.toolbar && (h(FImage, Object.assign({ key: '0de60f147ae017d1501b6bef4771d57b2a590e76' }, toolbarIcon, { onClick: async (event) => {
162
250
  event.stopPropagation();
163
- this.onKupIconClick(event.currentTarget);
251
+ const el = event.currentTarget;
252
+ const data = await this.toolbarCallback();
253
+ this.toolbarState = data;
254
+ if (this.toolbarState.length > 0) {
255
+ this.onKupIconClick(el);
256
+ }
257
+ else {
258
+ this.kupManager.debug.logMessage(this, 'Toolbar data is empty, not opening dropdown.');
259
+ }
164
260
  } }))))));
165
261
  }
166
262
  disconnectedCallback() {
@@ -168,6 +264,9 @@ export class KupTypography {
168
264
  if (this.toolbarList) {
169
265
  this.kupManager.dynamicPosition.unregister([this.toolbarList]);
170
266
  }
267
+ if (this.infoList) {
268
+ this.kupManager.dynamicPosition.unregister([this.infoList]);
269
+ }
171
270
  }
172
271
  static get is() { return "kup-typography"; }
173
272
  static get encapsulation() { return "shadow"; }
@@ -208,7 +307,7 @@ export class KupTypography {
208
307
  "reflect": false,
209
308
  "defaultValue": "''"
210
309
  },
211
- "toolbar": {
310
+ "infoIcon": {
212
311
  "type": "boolean",
213
312
  "mutable": false,
214
313
  "complexType": {
@@ -221,27 +320,21 @@ export class KupTypography {
221
320
  "docs": {
222
321
  "tags": [{
223
322
  "name": "default",
224
- "text": "null"
323
+ "text": "false"
225
324
  }],
226
- "text": "Manage the toolbar icon. If true is visible, otherwise is not"
325
+ "text": "When enabled displays toolbar item inside each single tab."
227
326
  },
228
- "attribute": "toolbar",
327
+ "attribute": "info-icon",
229
328
  "reflect": false,
230
- "defaultValue": "true"
329
+ "defaultValue": "false"
231
330
  },
232
- "toolbarData": {
233
- "type": "unknown",
331
+ "toolbar": {
332
+ "type": "boolean",
234
333
  "mutable": false,
235
334
  "complexType": {
236
- "original": "KupDataNode[]",
237
- "resolved": "KupDataNode[]",
238
- "references": {
239
- "KupDataNode": {
240
- "location": "import",
241
- "path": "../../managers/kup-data/kup-data-declarations",
242
- "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataNode"
243
- }
244
- }
335
+ "original": "boolean",
336
+ "resolved": "boolean",
337
+ "references": {}
245
338
  },
246
339
  "required": false,
247
340
  "optional": false,
@@ -250,8 +343,11 @@ export class KupTypography {
250
343
  "name": "default",
251
344
  "text": "null"
252
345
  }],
253
- "text": "Display DataNode Toolbar."
254
- }
346
+ "text": "Manage the toolbar icon. If true is visible, otherwise is not"
347
+ },
348
+ "attribute": "toolbar",
349
+ "reflect": false,
350
+ "defaultValue": "true"
255
351
  },
256
352
  "type": {
257
353
  "type": "string",
@@ -300,6 +396,59 @@ export class KupTypography {
300
396
  "attribute": "value",
301
397
  "reflect": false,
302
398
  "defaultValue": "null"
399
+ },
400
+ "toolbarCallback": {
401
+ "type": "unknown",
402
+ "mutable": false,
403
+ "complexType": {
404
+ "original": "() => Promise<KupDataNode[]>",
405
+ "resolved": "() => Promise<KupDataNode[]>",
406
+ "references": {
407
+ "Promise": {
408
+ "location": "global",
409
+ "id": "global::Promise"
410
+ },
411
+ "KupDataNode": {
412
+ "location": "import",
413
+ "path": "../../managers/kup-data/kup-data-declarations",
414
+ "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataNode"
415
+ }
416
+ }
417
+ },
418
+ "required": false,
419
+ "optional": false,
420
+ "docs": {
421
+ "tags": [{
422
+ "name": "default",
423
+ "text": "[];"
424
+ }],
425
+ "text": "This is the callback to retrieve toolbar's data"
426
+ }
427
+ },
428
+ "infoCallBack": {
429
+ "type": "unknown",
430
+ "mutable": false,
431
+ "complexType": {
432
+ "original": "() => Promise<KupDataNode[]>",
433
+ "resolved": "() => Promise<KupDataNode[]>",
434
+ "references": {
435
+ "Promise": {
436
+ "location": "global",
437
+ "id": "global::Promise"
438
+ },
439
+ "KupDataNode": {
440
+ "location": "import",
441
+ "path": "../../managers/kup-data/kup-data-declarations",
442
+ "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataNode"
443
+ }
444
+ }
445
+ },
446
+ "required": false,
447
+ "optional": false,
448
+ "docs": {
449
+ "tags": [],
450
+ "text": ""
451
+ }
303
452
  }
304
453
  };
305
454
  }
@@ -346,6 +495,27 @@ export class KupTypography {
346
495
  }
347
496
  }
348
497
  }
498
+ }, {
499
+ "method": "kupInfoIconClick",
500
+ "name": "kup-typography-infoiconclick",
501
+ "bubbles": true,
502
+ "cancelable": false,
503
+ "composed": true,
504
+ "docs": {
505
+ "tags": [],
506
+ "text": "Triggered when the info icon inside tab is clicked."
507
+ },
508
+ "complexType": {
509
+ "original": "KupTypographyIconClickEventPayload",
510
+ "resolved": "KupTypographyIconClickEventPayload",
511
+ "references": {
512
+ "KupTypographyIconClickEventPayload": {
513
+ "location": "import",
514
+ "path": "./kup-typography-declarations",
515
+ "id": "src/components/kup-typography/kup-typography-declarations.ts::KupTypographyIconClickEventPayload"
516
+ }
517
+ }
518
+ }
349
519
  }, {
350
520
  "method": "kupItemClick",
351
521
  "name": "kup-typography-itemclick",