@sme.up/ketchup 11.0.0-SNAPSHOT-20241010150057 → 11.0.0-SNAPSHOT-20241010160405

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 (146) hide show
  1. package/dist/cjs/kup-activity-timeline.cjs.entry.js +1 -1
  2. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +3 -3
  3. package/dist/cjs/kup-autocomplete_27.cjs.entry.js.map +1 -1
  4. package/dist/cjs/kup-box.cjs.entry.js +1 -1
  5. package/dist/cjs/{kup-data-table-helper-acfd0cd5.js → kup-data-table-helper-c8253b11.js} +2 -1
  6. package/dist/cjs/kup-data-table-helper-c8253b11.js.map +1 -0
  7. package/dist/collection/components/kup-card/kup-card.css +2 -0
  8. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +2 -1
  9. package/dist/collection/components/kup-data-table/kup-data-table-helper.js.map +1 -1
  10. package/dist/collection/utils/kup-column-menu/kup-column-menu.js +1 -1
  11. package/dist/collection/utils/kup-column-menu/kup-column-menu.js.map +1 -1
  12. package/dist/components/kup-autocomplete2.js +4 -3
  13. package/dist/components/kup-autocomplete2.js.map +1 -1
  14. package/dist/components/kup-box2.js +1 -1
  15. package/dist/components/kup-card-list.js +1 -1
  16. package/dist/components/kup-cell.js +1 -1
  17. package/dist/components/kup-dashboard.js +1 -1
  18. package/dist/components/kup-family-tree.js +1 -1
  19. package/dist/components/kup-image-list.js +1 -1
  20. package/dist/components/kup-input-panel.js +1 -1
  21. package/dist/components/kup-magic-box.js +1 -1
  22. package/dist/components/kup-manager.js +1 -1
  23. package/dist/components/kup-numeric-picker.js +1 -1
  24. package/dist/components/kup-planner.js +1 -1
  25. package/dist/components/kup-typography.js +1 -1
  26. package/dist/esm/{f-cell-bb10c8ff.js → f-cell-f7553ea4.js} +4 -4
  27. package/dist/esm/{f-cell-bb10c8ff.js.map → f-cell-f7553ea4.js.map} +1 -1
  28. package/dist/esm/{f-chip-284f27e4.js → f-chip-c32b6f69.js} +2 -2
  29. package/dist/esm/{f-chip-284f27e4.js.map → f-chip-c32b6f69.js.map} +1 -1
  30. package/dist/esm/{f-paginator-utils-a014ab03.js → f-paginator-utils-d1d04c2f.js} +2 -2
  31. package/dist/esm/{f-paginator-utils-a014ab03.js.map → f-paginator-utils-d1d04c2f.js.map} +1 -1
  32. package/dist/esm/{f-text-field-6920059d.js → f-text-field-35c57df3.js} +2 -2
  33. package/dist/esm/{f-text-field-6920059d.js.map → f-text-field-35c57df3.js.map} +1 -1
  34. package/dist/esm/index.js +1 -1
  35. package/dist/esm/kup-accordion.entry.js +1 -1
  36. package/dist/esm/kup-activity-timeline.entry.js +2 -2
  37. package/dist/esm/kup-autocomplete_27.entry.js +8 -8
  38. package/dist/esm/kup-autocomplete_27.entry.js.map +1 -1
  39. package/dist/esm/kup-box.entry.js +6 -6
  40. package/dist/esm/kup-calendar.entry.js +2 -2
  41. package/dist/esm/kup-card-list.entry.js +1 -1
  42. package/dist/esm/kup-cell.entry.js +4 -4
  43. package/dist/esm/kup-dashboard.entry.js +2 -2
  44. package/dist/esm/{kup-data-table-helper-27f5fa75.js → kup-data-table-helper-c76064a4.js} +3 -2
  45. package/dist/esm/kup-data-table-helper-c76064a4.js.map +1 -0
  46. package/dist/esm/kup-drawer.entry.js +1 -1
  47. package/dist/esm/kup-echart.entry.js +1 -1
  48. package/dist/esm/kup-editor.entry.js +1 -1
  49. package/dist/esm/kup-family-tree.entry.js +1 -1
  50. package/dist/esm/kup-grid.entry.js +1 -1
  51. package/dist/esm/kup-iframe.entry.js +1 -1
  52. package/dist/esm/kup-image-list.entry.js +4 -4
  53. package/dist/esm/kup-input-panel.entry.js +4 -4
  54. package/dist/esm/kup-lazy.entry.js +1 -1
  55. package/dist/esm/kup-magic-box.entry.js +1 -1
  56. package/dist/esm/{kup-manager-cb026184.js → kup-manager-86d68a97.js} +2 -2
  57. package/dist/esm/{kup-manager-cb026184.js.map → kup-manager-86d68a97.js.map} +1 -1
  58. package/dist/esm/kup-nav-bar.entry.js +1 -1
  59. package/dist/esm/kup-numeric-picker.entry.js +2 -2
  60. package/dist/esm/kup-pdf.entry.js +1 -1
  61. package/dist/esm/kup-photo-frame.entry.js +1 -1
  62. package/dist/esm/kup-planner.entry.js +2 -2
  63. package/dist/esm/kup-probe.entry.js +1 -1
  64. package/dist/esm/kup-qlik.entry.js +1 -1
  65. package/dist/esm/kup-snackbar.entry.js +1 -1
  66. package/dist/esm/kup-typography-list.entry.js +1 -1
  67. package/dist/esm/kup-typography.entry.js +1 -1
  68. package/dist/ketchup/index.esm.js +1 -1
  69. package/dist/ketchup/ketchup.esm.js +1 -1
  70. package/dist/ketchup/{p-f085d15f.entry.js → p-095646ca.entry.js} +2 -2
  71. package/dist/ketchup/{p-b3fbf321.entry.js → p-0b706c2a.entry.js} +2 -2
  72. package/dist/ketchup/p-0e4c881b.entry.js +2 -0
  73. package/dist/ketchup/{p-1fb5db03.entry.js.map → p-0e4c881b.entry.js.map} +1 -1
  74. package/dist/ketchup/{p-8ba70b94.js → p-144ac67e.js} +2 -2
  75. package/dist/ketchup/{p-9a9e8b00.entry.js → p-22a6641c.entry.js} +2 -2
  76. package/dist/ketchup/{p-8fd0f625.entry.js → p-25de1507.entry.js} +2 -2
  77. package/dist/ketchup/{p-206002b6.entry.js → p-26e50f21.entry.js} +2 -2
  78. package/dist/ketchup/{p-b8537818.entry.js → p-2a79ac70.entry.js} +2 -2
  79. package/dist/ketchup/{p-d6b311e2.entry.js → p-2ed2c55e.entry.js} +2 -2
  80. package/dist/ketchup/{p-5767c4aa.entry.js → p-3ca9202f.entry.js} +2 -2
  81. package/dist/ketchup/{p-74461bca.entry.js → p-3f79b0e3.entry.js} +2 -2
  82. package/dist/ketchup/{p-6bc5a1d5.entry.js → p-5ce02cb0.entry.js} +2 -2
  83. package/dist/ketchup/{p-7b7a91e1.js → p-60c6be17.js} +2 -2
  84. package/dist/ketchup/p-610ac281.js +2 -0
  85. package/dist/ketchup/p-610ac281.js.map +1 -0
  86. package/dist/ketchup/{p-62987aa5.entry.js → p-78a0e8e3.entry.js} +2 -2
  87. package/dist/ketchup/{p-555e004e.js → p-7df94c07.js} +2 -2
  88. package/dist/ketchup/{p-d823d538.js → p-81348418.js} +2 -2
  89. package/dist/ketchup/{p-41f7543a.entry.js → p-820d1ce5.entry.js} +2 -2
  90. package/dist/ketchup/{p-0ce9ed44.entry.js → p-86f1cc33.entry.js} +2 -2
  91. package/dist/ketchup/{p-21982408.entry.js → p-88d1d651.entry.js} +2 -2
  92. package/dist/ketchup/{p-6d80b3ed.entry.js → p-8ea251c1.entry.js} +2 -2
  93. package/dist/ketchup/{p-2a910415.entry.js → p-91cab066.entry.js} +2 -2
  94. package/dist/ketchup/p-9a17abc3.js +2 -0
  95. package/dist/ketchup/{p-60f786c4.entry.js → p-9ff1f2bb.entry.js} +2 -2
  96. package/dist/ketchup/{p-9a0a1c0a.entry.js → p-ad281267.entry.js} +2 -2
  97. package/dist/ketchup/{p-519ee87e.entry.js → p-b373183c.entry.js} +2 -2
  98. package/dist/ketchup/{p-c6d15707.entry.js → p-c4a701a4.entry.js} +2 -2
  99. package/dist/ketchup/p-db6a527a.entry.js +9 -0
  100. package/dist/ketchup/p-db6a527a.entry.js.map +1 -0
  101. package/dist/ketchup/{p-ede6bac7.entry.js → p-eb7c02b9.entry.js} +2 -2
  102. package/dist/ketchup/{p-b9e95f29.entry.js → p-ee386eb4.entry.js} +2 -2
  103. package/dist/ketchup/{p-a51b6c48.entry.js → p-f43a820e.entry.js} +2 -2
  104. package/dist/ketchup/{p-3bc5a178.entry.js → p-fb352db8.entry.js} +2 -2
  105. package/dist/ketchup/{p-8fa25aa9.entry.js → p-fce9b0f2.entry.js} +2 -2
  106. package/dist/ketchup/{p-00113824.entry.js → p-fcfc3a40.entry.js} +2 -2
  107. package/package.json +1 -1
  108. package/dist/cjs/kup-data-table-helper-acfd0cd5.js.map +0 -1
  109. package/dist/esm/kup-data-table-helper-27f5fa75.js.map +0 -1
  110. package/dist/ketchup/p-1fb5db03.entry.js +0 -2
  111. package/dist/ketchup/p-b6afb372.js +0 -2
  112. package/dist/ketchup/p-b6afb372.js.map +0 -1
  113. package/dist/ketchup/p-cc7687b5.entry.js +0 -9
  114. package/dist/ketchup/p-cc7687b5.entry.js.map +0 -1
  115. package/dist/ketchup/p-ddf793af.js +0 -2
  116. /package/dist/ketchup/{p-f085d15f.entry.js.map → p-095646ca.entry.js.map} +0 -0
  117. /package/dist/ketchup/{p-b3fbf321.entry.js.map → p-0b706c2a.entry.js.map} +0 -0
  118. /package/dist/ketchup/{p-8ba70b94.js.map → p-144ac67e.js.map} +0 -0
  119. /package/dist/ketchup/{p-9a9e8b00.entry.js.map → p-22a6641c.entry.js.map} +0 -0
  120. /package/dist/ketchup/{p-8fd0f625.entry.js.map → p-25de1507.entry.js.map} +0 -0
  121. /package/dist/ketchup/{p-206002b6.entry.js.map → p-26e50f21.entry.js.map} +0 -0
  122. /package/dist/ketchup/{p-b8537818.entry.js.map → p-2a79ac70.entry.js.map} +0 -0
  123. /package/dist/ketchup/{p-d6b311e2.entry.js.map → p-2ed2c55e.entry.js.map} +0 -0
  124. /package/dist/ketchup/{p-5767c4aa.entry.js.map → p-3ca9202f.entry.js.map} +0 -0
  125. /package/dist/ketchup/{p-74461bca.entry.js.map → p-3f79b0e3.entry.js.map} +0 -0
  126. /package/dist/ketchup/{p-6bc5a1d5.entry.js.map → p-5ce02cb0.entry.js.map} +0 -0
  127. /package/dist/ketchup/{p-7b7a91e1.js.map → p-60c6be17.js.map} +0 -0
  128. /package/dist/ketchup/{p-62987aa5.entry.js.map → p-78a0e8e3.entry.js.map} +0 -0
  129. /package/dist/ketchup/{p-555e004e.js.map → p-7df94c07.js.map} +0 -0
  130. /package/dist/ketchup/{p-d823d538.js.map → p-81348418.js.map} +0 -0
  131. /package/dist/ketchup/{p-41f7543a.entry.js.map → p-820d1ce5.entry.js.map} +0 -0
  132. /package/dist/ketchup/{p-0ce9ed44.entry.js.map → p-86f1cc33.entry.js.map} +0 -0
  133. /package/dist/ketchup/{p-21982408.entry.js.map → p-88d1d651.entry.js.map} +0 -0
  134. /package/dist/ketchup/{p-6d80b3ed.entry.js.map → p-8ea251c1.entry.js.map} +0 -0
  135. /package/dist/ketchup/{p-2a910415.entry.js.map → p-91cab066.entry.js.map} +0 -0
  136. /package/dist/ketchup/{p-ddf793af.js.map → p-9a17abc3.js.map} +0 -0
  137. /package/dist/ketchup/{p-60f786c4.entry.js.map → p-9ff1f2bb.entry.js.map} +0 -0
  138. /package/dist/ketchup/{p-9a0a1c0a.entry.js.map → p-ad281267.entry.js.map} +0 -0
  139. /package/dist/ketchup/{p-519ee87e.entry.js.map → p-b373183c.entry.js.map} +0 -0
  140. /package/dist/ketchup/{p-c6d15707.entry.js.map → p-c4a701a4.entry.js.map} +0 -0
  141. /package/dist/ketchup/{p-ede6bac7.entry.js.map → p-eb7c02b9.entry.js.map} +0 -0
  142. /package/dist/ketchup/{p-b9e95f29.entry.js.map → p-ee386eb4.entry.js.map} +0 -0
  143. /package/dist/ketchup/{p-a51b6c48.entry.js.map → p-f43a820e.entry.js.map} +0 -0
  144. /package/dist/ketchup/{p-3bc5a178.entry.js.map → p-fb352db8.entry.js.map} +0 -0
  145. /package/dist/ketchup/{p-8fa25aa9.entry.js.map → p-fce9b0f2.entry.js.map} +0 -0
  146. /package/dist/ketchup/{p-00113824.entry.js.map → p-fcfc3a40.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as o,c as i,f as t,h as e,H as r,d as a}from"./p-d7c15b0e.js";import{k as n,a as c,g as p,s,d,b as l}from"./p-555e004e.js";import{F as h}from"./p-2b519589.js";import{c as u}from"./p-635bb4b3.js";import{M as f}from"./p-d4a879fc.js";import"./p-029c7cbe.js";var m;(function(o){o["customStyle"]="Custom style of the component. For more information: https://smeup.github.io/ketchup/#/customization";o["data"]="Data of the accordion.";o["ripple"]="When enabled displays Material's ripple effect on item headers."})(m||(m={}));const _=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_accordion_border_top_color:var(\n --kup-accordion-border-top-color,\n var(--kup-border-subtle)\n );--kup_accordion_item_small_height:var(\n --kup-accordion-item-small-height,\n 32px\n );--kup_accordion_item_medium_height:var(\n --kup-accordion-item-medium-height,\n 40px\n );--kup_accordion_item_outline_color_active:var(\n --kup-accordion-item-outline-color-focus,\n var(--kup-border-interactive)\n );--kup_accordion_item_large_height:var(\n --kup-accordion-item-medium-height,\n 48px\n );--kup_accordion_header_background_color:var(\n --kup-accordion-header-background-color,\n var(--kup-layer-0)\n );--kup_accordion_header_background_color_hover:var(\n --kup-accordion-header-background-color-hover,\n var(--kup-layer-0-hover)\n );--kup_accordion_header_padding:var(\n --kup-accordion-header-padding,\n var(--kup-space-05)\n );--kup_accordion_dropdown_icon_color:var(\n --kup-accordio-dropdown-icon-color,\n var(--kup-text-primary)\n );--kup_accordion_transition:var(--kup-accordion-transition, 80ms);display:block;font-family:var(--kup_accordion_font_family);font-size:var(--kup_accordion_font_size)}.accordion{border-radius:var(--kup_accordion_border_radius);display:flex;flex-wrap:wrap;flex-direction:column;width:100%}.accordion-item{border-top:1px solid var(--kup_accordion_border_top_color);box-sizing:border-box;width:100%}.accordion-item--visible{display:block}.accordion-item:is(:last-of-type){border-bottom:1px solid var(--kup_accordion_border_top_color)}.accordion-item__header{height:var(--kup_accordion_item_medium_height);align-items:center;border:none;box-sizing:border-box;color:var(--kup_accordion_text_color);cursor:pointer;display:flex;line-height:1.75em;outline:none;padding:var(--kup_accordion_padding);text-align:left;transition:background-color var(--kup_accordion_transition), color var(--kup_accordion_transition);width:100%;outline:2px solid transparent;outline-offset:-2px;padding-left:16px;padding-right:16px}.accordion-item__header:focus{outline:2px solid var(--kup_accordion_item_outline_color_active)}.accordion-item__header.accordion-item--small{height:var(--kup_accordion_item_small_height)}.accordion-item__header.accordion-item--large{height:var(--kup_accordion_item_large_height)}.accordion-item__header:hover:not(.accordion-item__header--selected){background-color:var(--kup_accordion_header_background_color_hover)}.accordion-item__header:focus(.accordion-item__header--selected){outline:2px solid var(--kup_accordion_item_outline_color_active)}.accordion-item__header--expanded{background-color:var(--kup_accordion_background_color)}.accordion-item__header--expanded .accordion-item__dropdown{transform:rotate(-180deg)}.accordion-item__text{margin-right:0.5em;overflow:hidden;text-overflow:ellipsis;white-space:pre}.accordion-item__text--highlighted{color:var(--kup_accordion_text_on_primary_color);background-color:var(--kup_accordion_primary_color)}.accordion-item__icon{margin-left:0;margin-right:0.5em}.accordion-item__dropdown{background-color:var(--kup_accordion_dropdown_icon_color);height:1.5em;margin-left:auto;margin-right:0;min-width:1.5em;width:1.5em;transition:transform var(--kup_accordion_transition)}.accordion-item__content{padding-left:16px;padding-top:8px;padding-bottom:24px;padding-right:80px;animation:fade-in 0.25s ease-out;display:none;font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.accordion-item__content--selected{display:block}.mdc-ripple-surface{--mdc-ripple-fg-opacity:0.24}.mdc-ripple-surface:before,.mdc-ripple-surface:after{background-color:var(--kup_accordion_primary_color)}.kup-icon.kup-dropdown-icon{-webkit-mask:var(--kup-dropdown-icon);mask:var(--kup-dropdown-icon)}:host(.kup-borderless){--kup-accordion-border:none}:host(.kup-full-height){height:100%}:host(.kup-full-width){width:100%}:host(.kup-danger){--kup-accordion-primary-color:var(--kup-danger-color-60);--kup-accordion-primary-color-rgb:var(--kup-danger-color-60-rgb);--kup-accordion-text-on-primary-color:white}:host(.kup-info){--kup-accordion-primary-color:var(--kup-info-50-color);--kup-accordion-primary-color-rgb:var(--kup-info-color-50-rgb);--kup-accordion-text-on-primary-color:white}:host(.kup-secondary){--kup-accordion-primary-color:var(--kup-secondary-color);--kup-accordion-primary-color-rgb:var(--kup-secondary-color-rgb);--kup-accordion-text-on-primary-color:var(--kup-text-on-secondary-color)}:host(.kup-success){--kup-accordion-primary-color:var(--kup-success-color-40);--kup-accordion-primary-color-rgb:var(--kup-success-color-40-rgb);--kup-accordion-text-on-primary-color:white}:host(.kup-warning){--kup-accordion-primary-color:var(--kup-warning-color-50);--kup-accordion-primary-color-rgb:var(--kup-warning-color-50-rgb);--kup-accordion-text-on-primary-color:white}";const k=_;const g=class{constructor(t){o(this,t);this.kupAccordionItemSelected=i(this,"kup-accordion-itemselected",6);this.kupManager=n();this.slotsNames=[];this.selectedItems=[];this.customStyle="";this.data=null;this.ripple=false;this.sizing=c.MEDIUM}applyRipple(){const o=this.rootElement.shadowRoot;if(o&&this.ripple){const i=o.querySelectorAll(".mdc-ripple-surface:not(.mdc-ripple-upgraded)");if(i){for(let o=0;o<i.length;o++){f.attachTo(i[o])}}}}async collapseAll(){const o=[];for(let i=0;i<this.data.columns.length;i++){const t=this.data.columns[i];const e=t.name;if(!this.isItemExpandible(e)&&this.isItemSelected(e)){o.push(e)}}this.selectedItems=o}async expandAll(){const o=[];for(let i=0;i<this.data.columns.length;i++){const t=this.data.columns[i];const e=t.name;if(this.isItemExpandible(e)){o.push(e)}}this.selectedItems=o}async getProps(o){return p(this,m,o)}async refresh(){t(this)}async setProps(o){s(this,m,o)}async toggleItem(o){const i=this.isItemExpandible(o);const t=[...this.selectedItems];if(t.includes(o)){t.splice(t.indexOf(o),1)}else{t.push(o)}this.selectedItems=t;if(!i){this.kupAccordionItemSelected.emit({comp:this,id:this.rootElement.id,itemName:o})}}isItemExpandible(o){return this.slotsNames.includes(o)}isItemSelected(o){return this.selectedItems.includes(o)}renderItems(){const o=[];const i=Array.prototype.slice.call(this.rootElement.children,0);this.slotsNames=[];for(let o=0;o<i.length;o++){const t=i[o];this.slotsNames.push(t.slot)}for(let i=0;i<this.data.columns.length;i++){const t=this.data.columns[i];const r=t.name;const a=this.isItemSelected(r);const n=this.isItemExpandible(r);const c={"accordion-item__header":true,"accordion-item__header--selected":!n&&a?true:false,"accordion-item__header--expanded":n&&a?true:false,"mdc-ripple-surface":this.ripple?true:false,[`accordion-item--${this.sizing}`]:this.sizing?true:false};const p={"accordion-item__content":true,"accordion-item__content--selected":a?true:false};o.push(e("div",{class:"accordion-item"},e("div",{tabindex:"1",title:t.title,class:c,onClick:()=>this.toggleItem(r)},t.icon?e(h,{color:`var(${d.ICON})`,resource:t.icon,sizeX:"1.5em",sizeY:"1.5em",wrapperClass:"accordion-item__icon"}):null,e("span",{class:"accordion-item__text"},t.title),n?e("span",{class:`accordion-item__dropdown kup-icon ${l.DROPDOWN.replace("--","")}`}):null),e("div",{class:p},e("slot",{name:t.name}))))}return o}componentWillLoad(){this.kupManager.debug.logLoad(this,false);this.kupManager.theme.register(this)}componentDidLoad(){this.applyRipple();this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){const o=this.rootElement.shadowRoot;if(o){const i=o.querySelectorAll(".mdc-ripple-surface");if(i){for(let o=0;o<i.length;o++){f.attachTo(i[o])}}}this.kupManager.debug.logRender(this,true)}render(){const o=this.data&&this.data.columns?this.renderItems():null;return e(r,{key:"57777569afca152462d5986886aabea876bba925"},e("style",{key:"91e13f524bb7457d1ee123104e3857db9be71adc"},this.kupManager.theme.setKupStyle(this.rootElement)),e("div",{key:"a73c87f19581e2964c651b781690e39c12b94e7e",id:u},e("div",{key:"f1d089a3a4f996c6a032acc26316d4722d8c094e",class:"accordion"},o)))}disconnectedCallback(){this.kupManager.theme.unregister(this)}get rootElement(){return a(this)}static get watchers(){return{ripple:["applyRipple"]}}};g.style=k;export{g as kup_accordion};
2
- //# sourceMappingURL=p-b9e95f29.entry.js.map
1
+ import{r as o,c as i,f as t,h as e,H as r,d as a}from"./p-d7c15b0e.js";import{k as n,a as c,g as p,s,d,b as l}from"./p-7df94c07.js";import{F as h}from"./p-2b519589.js";import{c as u}from"./p-635bb4b3.js";import{M as f}from"./p-d4a879fc.js";import"./p-029c7cbe.js";var m;(function(o){o["customStyle"]="Custom style of the component. For more information: https://smeup.github.io/ketchup/#/customization";o["data"]="Data of the accordion.";o["ripple"]="When enabled displays Material's ripple effect on item headers."})(m||(m={}));const _=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_accordion_border_top_color:var(\n --kup-accordion-border-top-color,\n var(--kup-border-subtle)\n );--kup_accordion_item_small_height:var(\n --kup-accordion-item-small-height,\n 32px\n );--kup_accordion_item_medium_height:var(\n --kup-accordion-item-medium-height,\n 40px\n );--kup_accordion_item_outline_color_active:var(\n --kup-accordion-item-outline-color-focus,\n var(--kup-border-interactive)\n );--kup_accordion_item_large_height:var(\n --kup-accordion-item-medium-height,\n 48px\n );--kup_accordion_header_background_color:var(\n --kup-accordion-header-background-color,\n var(--kup-layer-0)\n );--kup_accordion_header_background_color_hover:var(\n --kup-accordion-header-background-color-hover,\n var(--kup-layer-0-hover)\n );--kup_accordion_header_padding:var(\n --kup-accordion-header-padding,\n var(--kup-space-05)\n );--kup_accordion_dropdown_icon_color:var(\n --kup-accordio-dropdown-icon-color,\n var(--kup-text-primary)\n );--kup_accordion_transition:var(--kup-accordion-transition, 80ms);display:block;font-family:var(--kup_accordion_font_family);font-size:var(--kup_accordion_font_size)}.accordion{border-radius:var(--kup_accordion_border_radius);display:flex;flex-wrap:wrap;flex-direction:column;width:100%}.accordion-item{border-top:1px solid var(--kup_accordion_border_top_color);box-sizing:border-box;width:100%}.accordion-item--visible{display:block}.accordion-item:is(:last-of-type){border-bottom:1px solid var(--kup_accordion_border_top_color)}.accordion-item__header{height:var(--kup_accordion_item_medium_height);align-items:center;border:none;box-sizing:border-box;color:var(--kup_accordion_text_color);cursor:pointer;display:flex;line-height:1.75em;outline:none;padding:var(--kup_accordion_padding);text-align:left;transition:background-color var(--kup_accordion_transition), color var(--kup_accordion_transition);width:100%;outline:2px solid transparent;outline-offset:-2px;padding-left:16px;padding-right:16px}.accordion-item__header:focus{outline:2px solid var(--kup_accordion_item_outline_color_active)}.accordion-item__header.accordion-item--small{height:var(--kup_accordion_item_small_height)}.accordion-item__header.accordion-item--large{height:var(--kup_accordion_item_large_height)}.accordion-item__header:hover:not(.accordion-item__header--selected){background-color:var(--kup_accordion_header_background_color_hover)}.accordion-item__header:focus(.accordion-item__header--selected){outline:2px solid var(--kup_accordion_item_outline_color_active)}.accordion-item__header--expanded{background-color:var(--kup_accordion_background_color)}.accordion-item__header--expanded .accordion-item__dropdown{transform:rotate(-180deg)}.accordion-item__text{margin-right:0.5em;overflow:hidden;text-overflow:ellipsis;white-space:pre}.accordion-item__text--highlighted{color:var(--kup_accordion_text_on_primary_color);background-color:var(--kup_accordion_primary_color)}.accordion-item__icon{margin-left:0;margin-right:0.5em}.accordion-item__dropdown{background-color:var(--kup_accordion_dropdown_icon_color);height:1.5em;margin-left:auto;margin-right:0;min-width:1.5em;width:1.5em;transition:transform var(--kup_accordion_transition)}.accordion-item__content{padding-left:16px;padding-top:8px;padding-bottom:24px;padding-right:80px;animation:fade-in 0.25s ease-out;display:none;font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.accordion-item__content--selected{display:block}.mdc-ripple-surface{--mdc-ripple-fg-opacity:0.24}.mdc-ripple-surface:before,.mdc-ripple-surface:after{background-color:var(--kup_accordion_primary_color)}.kup-icon.kup-dropdown-icon{-webkit-mask:var(--kup-dropdown-icon);mask:var(--kup-dropdown-icon)}:host(.kup-borderless){--kup-accordion-border:none}:host(.kup-full-height){height:100%}:host(.kup-full-width){width:100%}:host(.kup-danger){--kup-accordion-primary-color:var(--kup-danger-color-60);--kup-accordion-primary-color-rgb:var(--kup-danger-color-60-rgb);--kup-accordion-text-on-primary-color:white}:host(.kup-info){--kup-accordion-primary-color:var(--kup-info-50-color);--kup-accordion-primary-color-rgb:var(--kup-info-color-50-rgb);--kup-accordion-text-on-primary-color:white}:host(.kup-secondary){--kup-accordion-primary-color:var(--kup-secondary-color);--kup-accordion-primary-color-rgb:var(--kup-secondary-color-rgb);--kup-accordion-text-on-primary-color:var(--kup-text-on-secondary-color)}:host(.kup-success){--kup-accordion-primary-color:var(--kup-success-color-40);--kup-accordion-primary-color-rgb:var(--kup-success-color-40-rgb);--kup-accordion-text-on-primary-color:white}:host(.kup-warning){--kup-accordion-primary-color:var(--kup-warning-color-50);--kup-accordion-primary-color-rgb:var(--kup-warning-color-50-rgb);--kup-accordion-text-on-primary-color:white}";const k=_;const g=class{constructor(t){o(this,t);this.kupAccordionItemSelected=i(this,"kup-accordion-itemselected",6);this.kupManager=n();this.slotsNames=[];this.selectedItems=[];this.customStyle="";this.data=null;this.ripple=false;this.sizing=c.MEDIUM}applyRipple(){const o=this.rootElement.shadowRoot;if(o&&this.ripple){const i=o.querySelectorAll(".mdc-ripple-surface:not(.mdc-ripple-upgraded)");if(i){for(let o=0;o<i.length;o++){f.attachTo(i[o])}}}}async collapseAll(){const o=[];for(let i=0;i<this.data.columns.length;i++){const t=this.data.columns[i];const e=t.name;if(!this.isItemExpandible(e)&&this.isItemSelected(e)){o.push(e)}}this.selectedItems=o}async expandAll(){const o=[];for(let i=0;i<this.data.columns.length;i++){const t=this.data.columns[i];const e=t.name;if(this.isItemExpandible(e)){o.push(e)}}this.selectedItems=o}async getProps(o){return p(this,m,o)}async refresh(){t(this)}async setProps(o){s(this,m,o)}async toggleItem(o){const i=this.isItemExpandible(o);const t=[...this.selectedItems];if(t.includes(o)){t.splice(t.indexOf(o),1)}else{t.push(o)}this.selectedItems=t;if(!i){this.kupAccordionItemSelected.emit({comp:this,id:this.rootElement.id,itemName:o})}}isItemExpandible(o){return this.slotsNames.includes(o)}isItemSelected(o){return this.selectedItems.includes(o)}renderItems(){const o=[];const i=Array.prototype.slice.call(this.rootElement.children,0);this.slotsNames=[];for(let o=0;o<i.length;o++){const t=i[o];this.slotsNames.push(t.slot)}for(let i=0;i<this.data.columns.length;i++){const t=this.data.columns[i];const r=t.name;const a=this.isItemSelected(r);const n=this.isItemExpandible(r);const c={"accordion-item__header":true,"accordion-item__header--selected":!n&&a?true:false,"accordion-item__header--expanded":n&&a?true:false,"mdc-ripple-surface":this.ripple?true:false,[`accordion-item--${this.sizing}`]:this.sizing?true:false};const p={"accordion-item__content":true,"accordion-item__content--selected":a?true:false};o.push(e("div",{class:"accordion-item"},e("div",{tabindex:"1",title:t.title,class:c,onClick:()=>this.toggleItem(r)},t.icon?e(h,{color:`var(${d.ICON})`,resource:t.icon,sizeX:"1.5em",sizeY:"1.5em",wrapperClass:"accordion-item__icon"}):null,e("span",{class:"accordion-item__text"},t.title),n?e("span",{class:`accordion-item__dropdown kup-icon ${l.DROPDOWN.replace("--","")}`}):null),e("div",{class:p},e("slot",{name:t.name}))))}return o}componentWillLoad(){this.kupManager.debug.logLoad(this,false);this.kupManager.theme.register(this)}componentDidLoad(){this.applyRipple();this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){const o=this.rootElement.shadowRoot;if(o){const i=o.querySelectorAll(".mdc-ripple-surface");if(i){for(let o=0;o<i.length;o++){f.attachTo(i[o])}}}this.kupManager.debug.logRender(this,true)}render(){const o=this.data&&this.data.columns?this.renderItems():null;return e(r,{key:"57777569afca152462d5986886aabea876bba925"},e("style",{key:"91e13f524bb7457d1ee123104e3857db9be71adc"},this.kupManager.theme.setKupStyle(this.rootElement)),e("div",{key:"a73c87f19581e2964c651b781690e39c12b94e7e",id:u},e("div",{key:"f1d089a3a4f996c6a032acc26316d4722d8c094e",class:"accordion"},o)))}disconnectedCallback(){this.kupManager.theme.unregister(this)}get rootElement(){return a(this)}static get watchers(){return{ripple:["applyRipple"]}}};g.style=k;export{g as kup_accordion};
2
+ //# sourceMappingURL=p-ee386eb4.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,f as i,h as n,H as o,d as s}from"./p-d7c15b0e.js";import{F as a}from"./p-a08414c8.js";import{F as r}from"./p-5d03c077.js";import{F as l}from"./p-d823d538.js";import{F as h}from"./p-c4054aba.js";import{k as c,g as p,s as f,an as d,h as u,R as m,e as g}from"./p-555e004e.js";import{c as x}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-d4a879fc.js";import"./p-029c7cbe.js";var y;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the component.";t["enableDesign"]="When set to true, the component is in design mode and it is draggable."})(y||(y={}));const b=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{width:100%;height:100%}#kup-component{height:100%}.header{display:flex;flex-direction:row;justify-content:center}.header>*{margin-left:0.5em}.form{display:grid;height:100%}.form-dropzone{padding:1em;grid-gap:0.5em;border:1px solid var(--kup-primary-color);height:auto}.section{display:flex;flex-direction:column;overflow:auto}.section-header{display:flex;flex-direction:column}.section-header>*{width:100%;display:flex;flex-direction:row}.section-header>*>.section-header-actions{display:flex;justify-content:end}.section-header>*>.section-header-actions>*{margin-top:auto;margin-bottom:auto}.section-body{display:grid}.section-dropzone{border:1px solid var(--kup-primary-color)}.section-draggable{border:1px solid var(--kup-secondary-color);padding:1em}.section-placeholder{background-color:rgba(var(--kup-secondary-color-rgb), 0.5);min-height:1em;min-width:1em}.component{height:fit-content;padding:1em;margin:0.5em}.layout-row{grid-auto-flow:column;grid-template-columns:min-content}.layout-column{grid-auto-flow:row;grid-template-rows:min-content}";const k=b;const v=class{constructor(i){t(this,i);this.kupSave=e(this,"kup-dashboard-save",6);this.kupManager=c();this.internalData=null;this.internalDataBackup=null;this.resetInternalData=false;this.customStyle="";this.data=null;this.enableDesign=false}onKupSave(){this.kupSave.emit({comp:this,id:this.rootElement.id,data:this.internalData})}dataChanged(){this.resetData()}async getProps(t){return p(this,y,t)}async refresh(){i(this)}async setProps(t){f(this,y,t)}buildGuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=Math.random()*16|0,i=t==="x"?e:e&3|8;return i.toString(16)}))}buildHeader(){const t={icon:"cancel",label:this.kupManager.language.translate(d.RESET),secondary:true,onClick:()=>{this.resetData()}};const e={icon:"save",label:this.kupManager.language.translate(d.SAVE),onClick:()=>this.onKupSave()};return n("div",{class:"header"},this.enableDesign?n(a,Object.assign({},t)):undefined,this.enableDesign?n(a,Object.assign({},e)):undefined)}buildForm(t,e){const i={form:true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row","form-dropzone":this.enableDesign&&t&&t.sections!=null&&t.sections.length>0};return t?n("div",{class:i,style:this.getGridStyle(t),ref:i=>{if(!i)return;const n=i;n.kupData={parent:e,form:t}}},t.sections.map((e=>this.buildSection(e,t)))):n("div",null,this.kupManager.language.translate(u.EMPTY_DATA))}buildSectionHeader(t,e){const i={value:t.dim,label:this.kupManager.language.translate(d.DIMENSION),onChange:e=>{const{target:i}=e;t.dim=i.value;this.refresh()}};const o={icon:"add",slim:true,onClick:()=>{if(!t.sections){t.sections=[]}const e={id:t.id+(t.sections.length+1),loaded:t.loaded,layout:t.layout};t.sections.push(e);this.resetData(this.internalData)}};const s={icon:"remove",slim:true,secondary:true,onClick:()=>{const i=e.sections.indexOf(t);e.sections.splice(i,1);this.resetData(this.internalData)}};const h={checked:t.loaded,label:this.kupManager.language.translate(d.LOADED),onChange:()=>{t.loaded=!t.loaded;this.refresh()}};const c={checked:t.layout=="column",label:this.kupManager.language.translate(d.VERTICAL),onChange:()=>{t.layout=t.layout=="column"?"row":"column";this.refresh()}};return n("div",{class:"section-header"},n("div",null,t.id," - ",t.layout),n("div",null,n("div",{class:"section-header-actions"},n(l,Object.assign({},i)),n(r,Object.assign({},h)),n(r,Object.assign({},c)),n(a,Object.assign({},o)),n(a,Object.assign({},s)))))}buildSection(t,e){const i={section:true,"section-draggable":this.enableDesign,"section-dropzone":this.enableDesign};const o={"section-body":true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row"};return n("div",{class:i,ref:i=>{if(!i)return;const n=i;n.kupData={parent:e,section:t}}},this.enableDesign?this.buildSectionHeader(t,e):undefined,n("div",{class:o,style:this.getGridStyle(t)},!this.enableDesign&&t.loaded&&(!t.sections||t.sections.length==0)?n("slot",{name:t.id}):undefined,t.sections&&(t.loaded||this.enableDesign)?t.sections.map((e=>this.buildSection(e,t))):undefined))}calcSectionPosition(t,e,i,n,o){let s=n;for(let n=0;n<o.length;n++){const a=o[n];const r=a.getBoundingClientRect();if(i&&t<r.y){s=n;break}else if(!i&&e<r.x){s=n;break}}return s}didRenderInteractables(){try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-draggable").forEach((e=>t.push(e)));t.forEach((t=>{this.kupManager.interact.draggable(t,null,null,m.CLONE)}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-dropzone").forEach((e=>t.push(e)));this.rootElement.shadowRoot.querySelectorAll(".form-dropzone").forEach((e=>t.push(e)));t.forEach((t=>{this.kupManager.interact.dropzone(t,{ondropdeactivate:()=>{this.removeSectionPlaceHolder()},ondropmove:t=>{this.removeSectionPlaceHolder();this.dragEnter(t.dragEvent.clientY,t.dragEvent.clientX,t.currentTarget)}},null,{drop:t=>{this.dropped(t,t.currentTarget,t.relatedTarget)}})}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}}dragEnter(t,e,i){if(i.kupData.form){const n=this.calcSectionPosition(t,e,i.kupData.form.layout=="column",i.kupData.form.sections.length,i.children);this.setSectionPlaceHolder(i,n)}else if(i.kupData.section){const n=this.calcSectionPosition(t,e,i.kupData.section.layout=="column",i.kupData.section.sections.length,i.lastElementChild.children);this.setSectionPlaceHolder(i.lastElementChild,n)}}dropped(t,e,i){const n=i.kupData.parent.sections.indexOf(i.kupData.section);i.kupData.parent.sections.splice(n,1);if(e.kupData.form){if(!e.kupData.form.sections)e.kupData.form.sections=[];const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,e.kupData.form.layout=="column",e.kupData.form.sections.length,e.children);e.kupData.form.sections.splice(n,0,i.kupData.section);i.kupData.parent=e.kupData.form}else if(e.kupData.section){if(!e.kupData.section.sections||e.kupData.section.sections.length==0){const t=JSON.parse(JSON.stringify(e.kupData.section));t.dim=null;i.kupData.section.dim=null;e.kupData.section.id=this.buildGuid();e.kupData.section.sections=[];e.kupData.section.sections.push(t)}const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,e.kupData.section.layout=="column",e.kupData.section.sections.length,e.lastElementChild.children);e.kupData.section.sections.splice(n,0,i.kupData.section);i.kupData.parent=e.kupData.section}this.resetData(this.internalData)}getGridStyle(t){let e={};if(t.sections){let i="";t.sections.forEach((t=>{if(this.enableDesign||!t.dim)i+=" 1fr";else i+=t.dim.indexOf("%")<0?" "+t.dim+"px":" "+t.dim}));if(t.layout=="column")e["gridTemplateRows"]=i;if(t.layout=="row")e["gridTemplateColumns"]=i}return e}setSectionPlaceHolder(t,e){const i=document.createElement("div");i.className="section-placeholder";t.insertBefore(i,t.childNodes[e])}removeSectionPlaceHolder(){const t=this.rootElement.shadowRoot.querySelector(".section-placeholder");if(t)t.parentElement.removeChild(t)}resetData(t=null){if(t)this.internalDataBackup=t;this.resetInternalData=true;setTimeout((()=>{if(this.internalDataBackup){this.internalData=this.internalDataBackup;this.internalDataBackup=null}this.resetInternalData=false}),250)}unregisterInteractables(){this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-dropzone")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-draggable")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".form-dropzone")))}componentWillLoad(){this.kupManager.dates.register(this);this.kupManager.debug.logLoad(this,false);this.kupManager.language.register(this);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false);if(this.resetInternalData){this.internalData=null;this.unregisterInteractables()}else if(!this.internalData)this.internalData=JSON.parse(JSON.stringify(this.data))}componentDidRender(){this.kupManager.debug.logRender(this,true);const t=this.rootElement.shadowRoot;if(t){const e=t.querySelectorAll(".f-text-field");if(e)e.forEach((t=>{h(t)}))}this.didRenderInteractables()}render(){return n(o,{key:"2a5f7d91b832041e5c68460409f8723bcae04c25"},n("style",{key:"00165eccb43eb45e9519e50ae383b6f237b6d293"},this.kupManager.theme.setKupStyle(this.rootElement)),n("div",{key:"66a90a4032f46aec89e48e2e8c3c95d948dee416",id:x},this.buildHeader(),this.buildForm(this.internalData,null)))}disconnectedCallback(){this.unregisterInteractables();this.kupManager.dates.unregister(this);this.kupManager.language.unregister(this);this.kupManager.theme.unregister(this)}get rootElement(){return s(this)}static get watchers(){return{data:["dataChanged"]}}};v.style=k;export{v as kup_dashboard};
2
- //# sourceMappingURL=p-a51b6c48.entry.js.map
1
+ import{r as t,c as i,f as e,h as n,H as o,d as s}from"./p-d7c15b0e.js";import{F as a}from"./p-a08414c8.js";import{F as r}from"./p-5d03c077.js";import{F as l}from"./p-81348418.js";import{F as h}from"./p-c4054aba.js";import{k as c,g as f,s as p,ao as d,h as u,R as m,e as g}from"./p-7df94c07.js";import{c as x}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-d4a879fc.js";import"./p-029c7cbe.js";var y;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the component.";t["enableDesign"]="When set to true, the component is in design mode and it is draggable."})(y||(y={}));const b=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{width:100%;height:100%}#kup-component{height:100%}.header{display:flex;flex-direction:row;justify-content:center}.header>*{margin-left:0.5em}.form{display:grid;height:100%}.form-dropzone{padding:1em;grid-gap:0.5em;border:1px solid var(--kup-primary-color);height:auto}.section{display:flex;flex-direction:column;overflow:auto}.section-header{display:flex;flex-direction:column}.section-header>*{width:100%;display:flex;flex-direction:row}.section-header>*>.section-header-actions{display:flex;justify-content:end}.section-header>*>.section-header-actions>*{margin-top:auto;margin-bottom:auto}.section-body{display:grid}.section-dropzone{border:1px solid var(--kup-primary-color)}.section-draggable{border:1px solid var(--kup-secondary-color);padding:1em}.section-placeholder{background-color:rgba(var(--kup-secondary-color-rgb), 0.5);min-height:1em;min-width:1em}.component{height:fit-content;padding:1em;margin:0.5em}.layout-row{grid-auto-flow:column;grid-template-columns:min-content}.layout-column{grid-auto-flow:row;grid-template-rows:min-content}";const k=b;const v=class{constructor(e){t(this,e);this.kupSave=i(this,"kup-dashboard-save",6);this.kupManager=c();this.internalData=null;this.internalDataBackup=null;this.resetInternalData=false;this.customStyle="";this.data=null;this.enableDesign=false}onKupSave(){this.kupSave.emit({comp:this,id:this.rootElement.id,data:this.internalData})}dataChanged(){this.resetData()}async getProps(t){return f(this,y,t)}async refresh(){e(this)}async setProps(t){p(this,y,t)}buildGuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var i=Math.random()*16|0,e=t==="x"?i:i&3|8;return e.toString(16)}))}buildHeader(){const t={icon:"cancel",label:this.kupManager.language.translate(d.RESET),secondary:true,onClick:()=>{this.resetData()}};const i={icon:"save",label:this.kupManager.language.translate(d.SAVE),onClick:()=>this.onKupSave()};return n("div",{class:"header"},this.enableDesign?n(a,Object.assign({},t)):undefined,this.enableDesign?n(a,Object.assign({},i)):undefined)}buildForm(t,i){const e={form:true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row","form-dropzone":this.enableDesign&&t&&t.sections!=null&&t.sections.length>0};return t?n("div",{class:e,style:this.getGridStyle(t),ref:e=>{if(!e)return;const n=e;n.kupData={parent:i,form:t}}},t.sections.map((i=>this.buildSection(i,t)))):n("div",null,this.kupManager.language.translate(u.EMPTY_DATA))}buildSectionHeader(t,i){const e={value:t.dim,label:this.kupManager.language.translate(d.DIMENSION),onChange:i=>{const{target:e}=i;t.dim=e.value;this.refresh()}};const o={icon:"add",slim:true,onClick:()=>{if(!t.sections){t.sections=[]}const i={id:t.id+(t.sections.length+1),loaded:t.loaded,layout:t.layout};t.sections.push(i);this.resetData(this.internalData)}};const s={icon:"remove",slim:true,secondary:true,onClick:()=>{const e=i.sections.indexOf(t);i.sections.splice(e,1);this.resetData(this.internalData)}};const h={checked:t.loaded,label:this.kupManager.language.translate(d.LOADED),onChange:()=>{t.loaded=!t.loaded;this.refresh()}};const c={checked:t.layout=="column",label:this.kupManager.language.translate(d.VERTICAL),onChange:()=>{t.layout=t.layout=="column"?"row":"column";this.refresh()}};return n("div",{class:"section-header"},n("div",null,t.id," - ",t.layout),n("div",null,n("div",{class:"section-header-actions"},n(l,Object.assign({},e)),n(r,Object.assign({},h)),n(r,Object.assign({},c)),n(a,Object.assign({},o)),n(a,Object.assign({},s)))))}buildSection(t,i){const e={section:true,"section-draggable":this.enableDesign,"section-dropzone":this.enableDesign};const o={"section-body":true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row"};return n("div",{class:e,ref:e=>{if(!e)return;const n=e;n.kupData={parent:i,section:t}}},this.enableDesign?this.buildSectionHeader(t,i):undefined,n("div",{class:o,style:this.getGridStyle(t)},!this.enableDesign&&t.loaded&&(!t.sections||t.sections.length==0)?n("slot",{name:t.id}):undefined,t.sections&&(t.loaded||this.enableDesign)?t.sections.map((i=>this.buildSection(i,t))):undefined))}calcSectionPosition(t,i,e,n,o){let s=n;for(let n=0;n<o.length;n++){const a=o[n];const r=a.getBoundingClientRect();if(e&&t<r.y){s=n;break}else if(!e&&i<r.x){s=n;break}}return s}didRenderInteractables(){try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-draggable").forEach((i=>t.push(i)));t.forEach((t=>{this.kupManager.interact.draggable(t,null,null,m.CLONE)}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-dropzone").forEach((i=>t.push(i)));this.rootElement.shadowRoot.querySelectorAll(".form-dropzone").forEach((i=>t.push(i)));t.forEach((t=>{this.kupManager.interact.dropzone(t,{ondropdeactivate:()=>{this.removeSectionPlaceHolder()},ondropmove:t=>{this.removeSectionPlaceHolder();this.dragEnter(t.dragEvent.clientY,t.dragEvent.clientX,t.currentTarget)}},null,{drop:t=>{this.dropped(t,t.currentTarget,t.relatedTarget)}})}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}}dragEnter(t,i,e){if(e.kupData.form){const n=this.calcSectionPosition(t,i,e.kupData.form.layout=="column",e.kupData.form.sections.length,e.children);this.setSectionPlaceHolder(e,n)}else if(e.kupData.section){const n=this.calcSectionPosition(t,i,e.kupData.section.layout=="column",e.kupData.section.sections.length,e.lastElementChild.children);this.setSectionPlaceHolder(e.lastElementChild,n)}}dropped(t,i,e){const n=e.kupData.parent.sections.indexOf(e.kupData.section);e.kupData.parent.sections.splice(n,1);if(i.kupData.form){if(!i.kupData.form.sections)i.kupData.form.sections=[];const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,i.kupData.form.layout=="column",i.kupData.form.sections.length,i.children);i.kupData.form.sections.splice(n,0,e.kupData.section);e.kupData.parent=i.kupData.form}else if(i.kupData.section){if(!i.kupData.section.sections||i.kupData.section.sections.length==0){const t=JSON.parse(JSON.stringify(i.kupData.section));t.dim=null;e.kupData.section.dim=null;i.kupData.section.id=this.buildGuid();i.kupData.section.sections=[];i.kupData.section.sections.push(t)}const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,i.kupData.section.layout=="column",i.kupData.section.sections.length,i.lastElementChild.children);i.kupData.section.sections.splice(n,0,e.kupData.section);e.kupData.parent=i.kupData.section}this.resetData(this.internalData)}getGridStyle(t){let i={};if(t.sections){let e="";t.sections.forEach((t=>{if(this.enableDesign||!t.dim)e+=" 1fr";else e+=t.dim.indexOf("%")<0?" "+t.dim+"px":" "+t.dim}));if(t.layout=="column")i["gridTemplateRows"]=e;if(t.layout=="row")i["gridTemplateColumns"]=e}return i}setSectionPlaceHolder(t,i){const e=document.createElement("div");e.className="section-placeholder";t.insertBefore(e,t.childNodes[i])}removeSectionPlaceHolder(){const t=this.rootElement.shadowRoot.querySelector(".section-placeholder");if(t)t.parentElement.removeChild(t)}resetData(t=null){if(t)this.internalDataBackup=t;this.resetInternalData=true;setTimeout((()=>{if(this.internalDataBackup){this.internalData=this.internalDataBackup;this.internalDataBackup=null}this.resetInternalData=false}),250)}unregisterInteractables(){this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-dropzone")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-draggable")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".form-dropzone")))}componentWillLoad(){this.kupManager.dates.register(this);this.kupManager.debug.logLoad(this,false);this.kupManager.language.register(this);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false);if(this.resetInternalData){this.internalData=null;this.unregisterInteractables()}else if(!this.internalData)this.internalData=JSON.parse(JSON.stringify(this.data))}componentDidRender(){this.kupManager.debug.logRender(this,true);const t=this.rootElement.shadowRoot;if(t){const i=t.querySelectorAll(".f-text-field");if(i)i.forEach((t=>{h(t)}))}this.didRenderInteractables()}render(){return n(o,{key:"2a5f7d91b832041e5c68460409f8723bcae04c25"},n("style",{key:"00165eccb43eb45e9519e50ae383b6f237b6d293"},this.kupManager.theme.setKupStyle(this.rootElement)),n("div",{key:"66a90a4032f46aec89e48e2e8c3c95d948dee416",id:x},this.buildHeader(),this.buildForm(this.internalData,null)))}disconnectedCallback(){this.unregisterInteractables();this.kupManager.dates.unregister(this);this.kupManager.language.unregister(this);this.kupManager.theme.unregister(this)}get rootElement(){return s(this)}static get watchers(){return{data:["dataChanged"]}}};v.style=k;export{v as kup_dashboard};
2
+ //# sourceMappingURL=p-f43a820e.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,f as i,h as o,H as a,d as n}from"./p-d7c15b0e.js";import{k as s,g as f,s as p}from"./p-555e004e.js";import{c as h}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var r;(function(t){t["customStyle"]="Custom style of the component.";t["placeholderAttrs"]="Html attributes of the picture before the component enters the viewport.";t["resourceAttrs"]="Html attributes of the picture after the component enters the viewport."})(r||(r={}));const l=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_photoframe_border:var(\n --kup-photoframe-border,\n 1px inset var(--kup-border-subtle)\n );--kup_photoframe_fade_out_time:var(--kup-photoframe-fade-out-time, 2000ms);border:var(--kup_photoframe_border);display:block;height:100%;position:relative;width:100%}#kup-component{position:relative;height:100%;width:100%}img{max-height:100%;max-width:100%}.horizontal img{width:100%}.vertical img{height:100%}.placeholder{display:none;transition:opacity var(--kup_photoframe_fade_out_time) ease-out;will-change:opacity;z-index:1}.placeholder--loaded{display:block}.placeholder--fade-out{opacity:0;position:absolute}.resource{display:none;left:0;position:absolute;top:0;z-index:0}.resource--fade-in{display:block;position:relative}:host(.kup-fit) img{height:100%;object-fit:cover;width:100%}";const c=l;var d=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(t):o?o.value:e.get(t)};var u=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,o,a){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?a.call(t,i):a?a.value=i:e.set(t,i),i};var m,g,k,y,w,b;const x=class{constructor(i){t(this,i);this.kupPhotoFramePlaceholderLoad=e(this,"kup-photoframe-placeholderload",6);this.kupPhotoFrameResourceLoad=e(this,"kup-photoframe-resourceload",6);m.set(this,null);g.set(this,s());k.set(this,null);y.set(this,null);w.set(this,false);b.set(this,null);this.isInViewport=false;this.customStyle="";this.placeholderAttrs={};this.resourceAttrs={};this.threshold=.25}async getProps(t){return f(this,r,t)}async refresh(){i(this)}async setProps(t){p(this,r,t)}setObserver(){let t=t=>{t.forEach((t=>{if(t.isIntersecting){this.isInViewport=true;d(this,m,"f").unobserve(this.rootElement)}}))};let e={threshold:this.threshold};u(this,m,new IntersectionObserver(t,e),"f")}componentWillLoad(){d(this,g,"f").debug.logLoad(this,false);d(this,g,"f").theme.register(this);this.setObserver()}componentDidLoad(){d(this,g,"f").debug.logLoad(this,true)}componentWillRender(){d(this,g,"f").debug.logRender(this,false)}componentDidRender(){d(this,g,"f").debug.logRender(this,true)}render(){if(this.isInViewport&&!d(this,w,"f")){u(this,w,true,"f")}return o(a,{key:"96e9dc9b29a8715944440efb3cde806001db9841"},o("style",{key:"1a9d6f8d9163c49ec458f52fcc47e3b83b37fd95"},d(this,g,"f").theme.setKupStyle(this.rootElement)),o("div",{key:"c41d71aba188a432bcbbd1e81234d4eb84ac5cad",id:h,ref:t=>{u(this,b,t,"f")}},o("img",Object.assign({key:"66a44a24938c4fa72cd984729d2c5edd37c357eb"},this.placeholderAttrs,{class:"placeholder",ref:t=>u(this,k,t,"f"),onLoad:()=>{if(d(this,k,"f").naturalWidth>d(this,k,"f").naturalHeight){d(this,b,"f").classList.add("horizontal")}else{d(this,b,"f").classList.add("vertical")}d(this,m,"f").observe(this.rootElement);d(this,k,"f").classList.add("placeholder--loaded");this.kupPhotoFramePlaceholderLoad.emit({comp:this,id:this.rootElement.id})}})),d(this,w,"f")?o("img",Object.assign({},this.resourceAttrs,{class:"resource",ref:t=>u(this,y,t,"f"),onLoad:()=>{d(this,k,"f").classList.add("placeholder--fade-out");d(this,y,"f").classList.add("resource--fade-in");this.kupPhotoFrameResourceLoad.emit({comp:this,id:this.rootElement.id})}})):null))}disconnectedCallback(){var t;d(this,g,"f").theme.unregister(this);(t=d(this,m,"f"))===null||t===void 0?void 0:t.unobserve(this.rootElement)}get rootElement(){return n(this)}};m=new WeakMap,g=new WeakMap,k=new WeakMap,y=new WeakMap,w=new WeakMap,b=new WeakMap;x.style=c;export{x as kup_photo_frame};
2
- //# sourceMappingURL=p-3bc5a178.entry.js.map
1
+ import{r as t,c as e,f as i,h as o,H as a,d as n}from"./p-d7c15b0e.js";import{k as s,g as f,s as p}from"./p-7df94c07.js";import{c as h}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var r;(function(t){t["customStyle"]="Custom style of the component.";t["placeholderAttrs"]="Html attributes of the picture before the component enters the viewport.";t["resourceAttrs"]="Html attributes of the picture after the component enters the viewport."})(r||(r={}));const l=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_photoframe_border:var(\n --kup-photoframe-border,\n 1px inset var(--kup-border-subtle)\n );--kup_photoframe_fade_out_time:var(--kup-photoframe-fade-out-time, 2000ms);border:var(--kup_photoframe_border);display:block;height:100%;position:relative;width:100%}#kup-component{position:relative;height:100%;width:100%}img{max-height:100%;max-width:100%}.horizontal img{width:100%}.vertical img{height:100%}.placeholder{display:none;transition:opacity var(--kup_photoframe_fade_out_time) ease-out;will-change:opacity;z-index:1}.placeholder--loaded{display:block}.placeholder--fade-out{opacity:0;position:absolute}.resource{display:none;left:0;position:absolute;top:0;z-index:0}.resource--fade-in{display:block;position:relative}:host(.kup-fit) img{height:100%;object-fit:cover;width:100%}";const c=l;var d=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(t):o?o.value:e.get(t)};var u=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,o,a){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?a.call(t,i):a?a.value=i:e.set(t,i),i};var m,g,k,y,w,b;const x=class{constructor(i){t(this,i);this.kupPhotoFramePlaceholderLoad=e(this,"kup-photoframe-placeholderload",6);this.kupPhotoFrameResourceLoad=e(this,"kup-photoframe-resourceload",6);m.set(this,null);g.set(this,s());k.set(this,null);y.set(this,null);w.set(this,false);b.set(this,null);this.isInViewport=false;this.customStyle="";this.placeholderAttrs={};this.resourceAttrs={};this.threshold=.25}async getProps(t){return f(this,r,t)}async refresh(){i(this)}async setProps(t){p(this,r,t)}setObserver(){let t=t=>{t.forEach((t=>{if(t.isIntersecting){this.isInViewport=true;d(this,m,"f").unobserve(this.rootElement)}}))};let e={threshold:this.threshold};u(this,m,new IntersectionObserver(t,e),"f")}componentWillLoad(){d(this,g,"f").debug.logLoad(this,false);d(this,g,"f").theme.register(this);this.setObserver()}componentDidLoad(){d(this,g,"f").debug.logLoad(this,true)}componentWillRender(){d(this,g,"f").debug.logRender(this,false)}componentDidRender(){d(this,g,"f").debug.logRender(this,true)}render(){if(this.isInViewport&&!d(this,w,"f")){u(this,w,true,"f")}return o(a,{key:"96e9dc9b29a8715944440efb3cde806001db9841"},o("style",{key:"1a9d6f8d9163c49ec458f52fcc47e3b83b37fd95"},d(this,g,"f").theme.setKupStyle(this.rootElement)),o("div",{key:"c41d71aba188a432bcbbd1e81234d4eb84ac5cad",id:h,ref:t=>{u(this,b,t,"f")}},o("img",Object.assign({key:"66a44a24938c4fa72cd984729d2c5edd37c357eb"},this.placeholderAttrs,{class:"placeholder",ref:t=>u(this,k,t,"f"),onLoad:()=>{if(d(this,k,"f").naturalWidth>d(this,k,"f").naturalHeight){d(this,b,"f").classList.add("horizontal")}else{d(this,b,"f").classList.add("vertical")}d(this,m,"f").observe(this.rootElement);d(this,k,"f").classList.add("placeholder--loaded");this.kupPhotoFramePlaceholderLoad.emit({comp:this,id:this.rootElement.id})}})),d(this,w,"f")?o("img",Object.assign({},this.resourceAttrs,{class:"resource",ref:t=>u(this,y,t,"f"),onLoad:()=>{d(this,k,"f").classList.add("placeholder--fade-out");d(this,y,"f").classList.add("resource--fade-in");this.kupPhotoFrameResourceLoad.emit({comp:this,id:this.rootElement.id})}})):null))}disconnectedCallback(){var t;d(this,g,"f").theme.unregister(this);(t=d(this,m,"f"))===null||t===void 0?void 0:t.unobserve(this.rootElement)}get rootElement(){return n(this)}};m=new WeakMap,g=new WeakMap,k=new WeakMap,y=new WeakMap,w=new WeakMap,b=new WeakMap;x.style=c;export{x as kup_photo_frame};
2
+ //# sourceMappingURL=p-fb352db8.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,f as e,h as n,H as o,d as s}from"./p-d7c15b0e.js";import{k as a,g as p,s as f,e as h}from"./p-555e004e.js";import"./p-029c7cbe.js";var r;(function(t){t["buttonData"]="Props of the button (when isButton is set to true).";t["isButton"]="The component will be rendered as a button, which opens the link associated to the iframe in another tab when clicked.";t["src"]="The address the iframe should be referencing to."})(r||(r={}));const l=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}iframe{box-sizing:border-box;height:100%;width:100%}:host([is-iframe]){box-sizing:border-box;display:block;height:100%;width:100%}";const g=l;const u=class{constructor(e){t(this,e);this.kupIframeError=i(this,"kup-iframe-error",6);this.kupIframeLoad=i(this,"kup-iframe-load",6);this.kupManager=a();this.buttonData={};this.isButton=false;this.src=undefined}onKupIframeError(){this.kupIframeError.emit({comp:this,id:this.rootElement.id})}onKupIframeLoad(){this.kupIframeLoad.emit({comp:this,id:this.rootElement.id})}async getProps(t){return p(this,r,t)}async refresh(){e(this)}async setProps(t){f(this,r,t)}openInNew(){window.open(this.src,"_blank")}componentWillLoad(){this.kupManager.debug.logLoad(this,false)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){this.kupManager.debug.logRender(this,true)}render(){if(this.src===undefined||this.src===null||this.src===""){let t="Resource undefined, not rendering!";this.kupManager.debug.logMessage(this,t,h.WARNING);return}if(!this.buttonData["icon"]){this.buttonData["icon"]="open_in_new"}if(!this.buttonData["label"]){this.buttonData["label"]="Open in new tab"}return!this.isButton?n(o,{"is-iframe":true},n("iframe",{onError:this.onKupIframeError.bind(this),onLoad:this.onKupIframeLoad.bind(this),src:this.src})):n(o,{"is-button":true},n("kup-button",Object.assign({},this.buttonData,{"onkup-button-click":()=>this.openInNew()})))}get rootElement(){return s(this)}};u.style=g;export{u as kup_iframe};
2
- //# sourceMappingURL=p-8fa25aa9.entry.js.map
1
+ import{r as t,c as i,f as e,h as n,H as o,d as s}from"./p-d7c15b0e.js";import{k as a,g as f,s as p,e as h}from"./p-7df94c07.js";import"./p-029c7cbe.js";var r;(function(t){t["buttonData"]="Props of the button (when isButton is set to true).";t["isButton"]="The component will be rendered as a button, which opens the link associated to the iframe in another tab when clicked.";t["src"]="The address the iframe should be referencing to."})(r||(r={}));const l=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}iframe{box-sizing:border-box;height:100%;width:100%}:host([is-iframe]){box-sizing:border-box;display:block;height:100%;width:100%}";const g=l;const u=class{constructor(e){t(this,e);this.kupIframeError=i(this,"kup-iframe-error",6);this.kupIframeLoad=i(this,"kup-iframe-load",6);this.kupManager=a();this.buttonData={};this.isButton=false;this.src=undefined}onKupIframeError(){this.kupIframeError.emit({comp:this,id:this.rootElement.id})}onKupIframeLoad(){this.kupIframeLoad.emit({comp:this,id:this.rootElement.id})}async getProps(t){return f(this,r,t)}async refresh(){e(this)}async setProps(t){p(this,r,t)}openInNew(){window.open(this.src,"_blank")}componentWillLoad(){this.kupManager.debug.logLoad(this,false)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){this.kupManager.debug.logRender(this,true)}render(){if(this.src===undefined||this.src===null||this.src===""){let t="Resource undefined, not rendering!";this.kupManager.debug.logMessage(this,t,h.WARNING);return}if(!this.buttonData["icon"]){this.buttonData["icon"]="open_in_new"}if(!this.buttonData["label"]){this.buttonData["label"]="Open in new tab"}return!this.isButton?n(o,{"is-iframe":true},n("iframe",{onError:this.onKupIframeError.bind(this),onLoad:this.onKupIframeLoad.bind(this),src:this.src})):n(o,{"is-button":true},n("kup-button",Object.assign({},this.buttonData,{"onkup-button-click":()=>this.openInNew()})))}get rootElement(){return s(this)}};u.style=g;export{u as kup_iframe};
2
+ //# sourceMappingURL=p-fce9b0f2.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,f as i,h as a,H as s,d as o}from"./p-d7c15b0e.js";import{k as n,g as r,s as c,t as h,ae as l}from"./p-555e004e.js";import{c as p}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var f;(function(t){t["columnsNumber"]="Sets the number of columns.";t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the component.";t["decvalueCol"]="Sets the decimal value column.";t["descrCol"]="Sets the description column.";t["fullWidth"]="Sets whether the component occupies all available width.";t["horizontal"]="Sets whether the cards are placed horizontally or not.";t["iconCol"]="Sets the icon column.";t["iconcolorCol"]="Sets the icon color column.";t["intvalueCol"]="Sets the integer value column.";t["isClickable"]="Sets whether a single card is clickable or not.";t["layoutCol"]="Sets the layout column.";t["measureCol"]="Sets the unit of measure column.";t["textcolorCol"]="Sets the text color column.";t["valueCol"]="Sets the value column.";t["valuecolorCol"]="Sets the value color column."})(f||(f={}));const u=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_cardlist_cards_max_height:var(--kup-cardlist-cards-max-height, unset);--kup_cardlist_cards_min_height:var(--kup-cardlist-cards-min-height, unset);--kup_cardlist_cards_max_width:var(--kup-cardlist-cards-max-width, unset);--kup_cardlist_cards_min_width:var(--kup-cardlist-cards-min-width, unset);display:block;height:100%;width:100%}#kup-component{height:100%;width:100%}kup-card{max-height:var(--kup_cardlist_cards_max_height);min-height:var(--kup_cardlist_cards_min_height);max-width:var(--kup_cardlist_cards_max_width);min-width:var(--kup_cardlist_cards_min_width)}kup-card.is-clickable{cursor:pointer}kup-grid{--kup-grid-padding:0}";const m=u;var d=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(t):a?a.value:e.get(t)};var k;const g=class{constructor(i){t(this,i);this.kupCardListClickEvent=e(this,"kup-cardlist-click",7);k.set(this,n());this.columnsNumber=1;this.customStyle="";this.data=null;this.fullWidth=true;this.horizontal=false;this.descrCol="";this.iconCol="";this.valueCol="";this.measureCol="";this.intvalueCol="";this.decvalueCol="";this.textcolorCol="";this.valuecolorCol="";this.iconcolorCol="";this.layoutCol="";this.isClickable=false}async getProps(t){return r(this,f,t)}async refresh(){i(this)}async setProps(t){c(this,f,t)}componentWillLoad(){d(this,k,"f").debug.logLoad(this,false);d(this,k,"f").theme.register(this)}componentDidLoad(){d(this,k,"f").debug.logLoad(this,true)}componentDidRender(){d(this,k,"f").debug.logRender(this,true)}render(){if(!this.data||!this.data.columns||!this.data.columns.length){return}const t=[];let e,i,o,n,r,c,f,u,m,g;for(let t=0;t<this.data.columns.length;t++){const a=this.data.columns[t];if(a.name){switch(a.name){case this.decvalueCol:e=a;break;case this.descrCol:i=a;break;case this.iconCol:o=a;break;case this.iconcolorCol:n=a;break;case this.intvalueCol:r=a;break;case this.layoutCol:c=a;break;case this.measureCol:f=a;break;case this.textcolorCol:u=a;break;case this.valueCol:m=a;break;case this.valuecolorCol:g=a;break}}}for(let s=0;s<this.data.rows.length;s++){const p=this.data.rows[s];const x={color:[],image:[],text:[]};const y=c&&p.cells[c.name].value?parseInt(p.cells[c.name].value):1;const b=a("kup-card",{class:this.isClickable?"is-clickable":"",customStyle:"#kup-component, .scalable-card { min-height: var(--kup_cardlist_cardsminheight) }",data:x,layoutFamily:h.SCALABLE,layoutNumber:y,key:s,"onKup-card-click":()=>{if(this.isClickable){this.kupCardListClickEvent.emit({comp:this,id:this.rootElement.id,index:s,row:p})}},slot:s.toString()});const w=(t,e,i)=>{if(t){const a=p.cells[t.name];if(a){const s=a.value;switch(e){case"color":x[e][i]=d(this,k,"f").theme.colorCheck(s).hexColor;break;case"image":x[e][i]={resource:s};break;default:x[e][i]=l(t,a);break}}}};switch(y){case 1:w(u,"color",0);w(g,"color",1);w(i,"text",0);w(m,"text",1);break;case 2:w(n,"color",0);w(g,"color",1);w(o,"image",0);w(r,"text",0);w(e,"text",1);w(f,"text",2);break;case 3:w(g,"color",0);w(u,"color",1);w(m,"text",0);w(i,"text",1);break;case 4:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(r,"text",0);w(e,"text",1);w(f,"text",2);w(i,"text",3);break;case 5:w(n,"color",0);w(u,"color",1);w(g,"color",2);w(o,"image",0);w(i,"text",0);w(m,"text",1);break;case 6:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(m,"text",0);w(i,"text",1);break;case 7:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(m,"text",0);w(i,"text",1);break;case 8:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(m,"text",0);w(i,"text",1);break}t.push(b)}return a(s,null,a("style",null,d(this,k,"f").theme.setKupStyle(this.rootElement)),a("div",{id:p},a("kup-grid",{class:`${this.fullWidth?"kup-full-width":""} scalable-cards`,columns:this.columnsNumber,singleLine:this.horizontal},t)))}disconnectedCallback(){d(this,k,"f").theme.unregister(this)}get rootElement(){return o(this)}};k=new WeakMap;g.style=m;export{g as kup_card_list};
2
- //# sourceMappingURL=p-00113824.entry.js.map
1
+ import{r as t,c as e,f as i,h as a,H as s,d as o}from"./p-d7c15b0e.js";import{k as n,g as r,s as c,t as h,ae as l}from"./p-7df94c07.js";import{c as p}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var f;(function(t){t["columnsNumber"]="Sets the number of columns.";t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the component.";t["decvalueCol"]="Sets the decimal value column.";t["descrCol"]="Sets the description column.";t["fullWidth"]="Sets whether the component occupies all available width.";t["horizontal"]="Sets whether the cards are placed horizontally or not.";t["iconCol"]="Sets the icon column.";t["iconcolorCol"]="Sets the icon color column.";t["intvalueCol"]="Sets the integer value column.";t["isClickable"]="Sets whether a single card is clickable or not.";t["layoutCol"]="Sets the layout column.";t["measureCol"]="Sets the unit of measure column.";t["textcolorCol"]="Sets the text color column.";t["valueCol"]="Sets the value column.";t["valuecolorCol"]="Sets the value color column."})(f||(f={}));const u=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_cardlist_cards_max_height:var(--kup-cardlist-cards-max-height, unset);--kup_cardlist_cards_min_height:var(--kup-cardlist-cards-min-height, unset);--kup_cardlist_cards_max_width:var(--kup-cardlist-cards-max-width, unset);--kup_cardlist_cards_min_width:var(--kup-cardlist-cards-min-width, unset);display:block;height:100%;width:100%}#kup-component{height:100%;width:100%}kup-card{max-height:var(--kup_cardlist_cards_max_height);min-height:var(--kup_cardlist_cards_min_height);max-width:var(--kup_cardlist_cards_max_width);min-width:var(--kup_cardlist_cards_min_width)}kup-card.is-clickable{cursor:pointer}kup-grid{--kup-grid-padding:0}";const m=u;var d=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(t):a?a.value:e.get(t)};var k;const g=class{constructor(i){t(this,i);this.kupCardListClickEvent=e(this,"kup-cardlist-click",7);k.set(this,n());this.columnsNumber=1;this.customStyle="";this.data=null;this.fullWidth=true;this.horizontal=false;this.descrCol="";this.iconCol="";this.valueCol="";this.measureCol="";this.intvalueCol="";this.decvalueCol="";this.textcolorCol="";this.valuecolorCol="";this.iconcolorCol="";this.layoutCol="";this.isClickable=false}async getProps(t){return r(this,f,t)}async refresh(){i(this)}async setProps(t){c(this,f,t)}componentWillLoad(){d(this,k,"f").debug.logLoad(this,false);d(this,k,"f").theme.register(this)}componentDidLoad(){d(this,k,"f").debug.logLoad(this,true)}componentDidRender(){d(this,k,"f").debug.logRender(this,true)}render(){if(!this.data||!this.data.columns||!this.data.columns.length){return}const t=[];let e,i,o,n,r,c,f,u,m,g;for(let t=0;t<this.data.columns.length;t++){const a=this.data.columns[t];if(a.name){switch(a.name){case this.decvalueCol:e=a;break;case this.descrCol:i=a;break;case this.iconCol:o=a;break;case this.iconcolorCol:n=a;break;case this.intvalueCol:r=a;break;case this.layoutCol:c=a;break;case this.measureCol:f=a;break;case this.textcolorCol:u=a;break;case this.valueCol:m=a;break;case this.valuecolorCol:g=a;break}}}for(let s=0;s<this.data.rows.length;s++){const p=this.data.rows[s];const x={color:[],image:[],text:[]};const y=c&&p.cells[c.name].value?parseInt(p.cells[c.name].value):1;const b=a("kup-card",{class:this.isClickable?"is-clickable":"",customStyle:"#kup-component, .scalable-card { min-height: var(--kup_cardlist_cardsminheight) }",data:x,layoutFamily:h.SCALABLE,layoutNumber:y,key:s,"onKup-card-click":()=>{if(this.isClickable){this.kupCardListClickEvent.emit({comp:this,id:this.rootElement.id,index:s,row:p})}},slot:s.toString()});const w=(t,e,i)=>{if(t){const a=p.cells[t.name];if(a){const s=a.value;switch(e){case"color":x[e][i]=d(this,k,"f").theme.colorCheck(s).hexColor;break;case"image":x[e][i]={resource:s};break;default:x[e][i]=l(t,a);break}}}};switch(y){case 1:w(u,"color",0);w(g,"color",1);w(i,"text",0);w(m,"text",1);break;case 2:w(n,"color",0);w(g,"color",1);w(o,"image",0);w(r,"text",0);w(e,"text",1);w(f,"text",2);break;case 3:w(g,"color",0);w(u,"color",1);w(m,"text",0);w(i,"text",1);break;case 4:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(r,"text",0);w(e,"text",1);w(f,"text",2);w(i,"text",3);break;case 5:w(n,"color",0);w(u,"color",1);w(g,"color",2);w(o,"image",0);w(i,"text",0);w(m,"text",1);break;case 6:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(m,"text",0);w(i,"text",1);break;case 7:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(m,"text",0);w(i,"text",1);break;case 8:w(n,"color",0);w(g,"color",1);w(u,"color",2);w(o,"image",0);w(m,"text",0);w(i,"text",1);break}t.push(b)}return a(s,null,a("style",null,d(this,k,"f").theme.setKupStyle(this.rootElement)),a("div",{id:p},a("kup-grid",{class:`${this.fullWidth?"kup-full-width":""} scalable-cards`,columns:this.columnsNumber,singleLine:this.horizontal},t)))}disconnectedCallback(){d(this,k,"f").theme.unregister(this)}get rootElement(){return o(this)}};k=new WeakMap;g.style=m;export{g as kup_card_list};
2
+ //# sourceMappingURL=p-fcfc3a40.entry.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sme.up/ketchup",
3
- "version": "11.0.0-SNAPSHOT-20241010150057",
3
+ "version": "11.0.0-SNAPSHOT-20241010160405",
4
4
  "keywords": [
5
5
  "smeup",
6
6
  "KetchUP",
@@ -1 +0,0 @@
1
- {"file":"kup-data-table-helper-acfd0cd5.js","mappings":"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","names":["Filters","FilterInterval","getValueForDisplay","getValueForDisplay2","KupTreeProps","KupTreeExpansionMode","dom","KupObjects","KupData","getCellValueForDisplay","getColumnByName","SortMode","compareCell","TotalMode","KupDatesFormats","FCellShapes","CMBandACPAdapter","RADAdapter","CHKAdapter","CHIAdapter","KupDebugCategory"],"sources":["src/utils/filters/filters-column-menu.ts","src/components/kup-tree/kup-tree-declarations.ts","src/utils/filters/filters-rows.ts","src/components/kup-data-table/kup-data-table-helper.ts"],"sourcesContent":["import { KupDataColumn } from '../../managers/kup-data/kup-data-declarations';\nimport { getValueForDisplay, getValueForDisplay2 } from '../cell-utils';\nimport { Filters } from './filters';\nimport {\n Filter,\n FilterInterval,\n GenericFilter,\n ValueDisplayedValue,\n} from './filters-declarations';\n/**\n * Filtering algorithms related to column menus.\n * @module FiltersColumnMenu\n * @todo Should contain EVERY column-specific filtering method.\n */\nexport class FiltersColumnMenu extends Filters {\n /**\n * Gets the value of the filter prop.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {string} column - Name of the column.\n * @returns {string} Value of the filter.\n */\n getTextFilterValue(filters: GenericFilter = {}, column: string): string {\n return this._getTextFilterValue(filters, column, false);\n }\n /**\n * Gets the value of the filter prop, set temporarly.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {string} column - Name of the column.\n * @returns {string} Value of the filter.\n */\n getTextFilterValueTmp(filters: GenericFilter = {}, column: string): string {\n return this._getTextFilterValue(filters, column, true);\n }\n\n private _getTextFilterValue(\n filters: GenericFilter = {},\n column: string,\n tmp: boolean\n ): string {\n let value: string = '';\n\n if (filters == null) {\n return value;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n return value;\n }\n value = tmp ? filter.textFieldTmp : filter.textField;\n return value;\n }\n\n /**\n * Returns whether a column has filters or not.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {KupDataColumn} column - Name of the column.\n * @returns {boolean} True when a given column has filters.\n */\n hasFiltersForColumn(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): boolean {\n return this._hasFiltersForColumn(filters, column, false);\n }\n /**\n * Returns whether a column has filters or not.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {KupDataColumn} column - Name of the column.\n * @returns {boolean} True when a given column has filters.\n */\n hasFiltersForColumnTmp(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): boolean {\n return this._hasFiltersForColumn(filters, column, true);\n }\n /**\n * Returns whether a column has filters or not.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {KupDataColumn} column - Name of the column.\n * @returns {boolean} True when a given column has filters.\n */\n private _hasFiltersForColumn(\n filters: GenericFilter = {},\n column: KupDataColumn,\n tmp: boolean\n ): boolean {\n if (!column) {\n return false;\n }\n let textfield: string = this._getTextFilterValue(\n filters,\n column.name,\n tmp\n );\n if (textfield != null && textfield.trim() != '') {\n return true;\n }\n if (this._hasIntervalTextFieldFilterValues(filters, column, tmp)) {\n return true;\n }\n let checkboxes = this.getCheckBoxFilterValues(filters, column.name);\n if (checkboxes == null || checkboxes.length < 1) {\n return false;\n }\n return true;\n }\n /**\n * Returns the values of column menu's checkboxes.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {string} column - Name of the column.\n * @returns {Array<string>} Array of checkboxes values.\n */\n getCheckBoxFilterValues(\n filters: GenericFilter = {},\n column: string\n ): ValueDisplayedValue[] {\n let values = [];\n if (filters == null) {\n return values;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n return values;\n }\n if (filter.checkBoxes == null) {\n return values;\n }\n values = filter.checkBoxes;\n return values;\n }\n /**\n * Returns whether a text field should be a date or time picker.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {KupDataColumn} column - Name of the column.\n * @returns {boolean} True when the text field is a date or time picker.\n */\n hasIntervalTextFieldFilterValues(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): boolean {\n return this._hasIntervalTextFieldFilterValues(filters, column, false);\n }\n\n hasIntervalTextFieldFilterValuesTmp(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): boolean {\n return this._hasIntervalTextFieldFilterValues(filters, column, true);\n }\n\n private _hasIntervalTextFieldFilterValues(\n filters: GenericFilter = {},\n column: KupDataColumn,\n tmp: boolean\n ): boolean {\n if (column == null) {\n return false;\n }\n if (!this.isColumnFiltrableByInterval(column)) {\n return false;\n }\n let intervalFrom = this._getIntervalTextFieldFilterValue(\n filters,\n column.name,\n FilterInterval.FROM,\n tmp\n );\n if (intervalFrom != null && intervalFrom.trim() != '') {\n return true;\n }\n let intervalTo = this._getIntervalTextFieldFilterValue(\n filters,\n column.name,\n FilterInterval.TO,\n tmp\n );\n if (intervalTo != null && intervalTo.trim() != '') {\n return true;\n }\n return false;\n }\n /**\n * Triggers when a new filter checkbox becomes checked.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {string} column - Name of the column.\n * @param {ValueDisplayedValue} newFilter - Added filter.\n */\n addCheckboxFilter(\n filters: GenericFilter = {},\n column: string,\n newFilterItem: ValueDisplayedValue\n ): void {\n if (filters == null) {\n return;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n filter = {\n textField: '',\n textFieldTmp: '',\n checkBoxes: [],\n interval: null,\n intervalTmp: null,\n };\n filters[column] = filter;\n }\n if (filter.checkBoxes == null) {\n filter.checkBoxes = [];\n }\n if (newFilterItem == null || newFilterItem.value == null) {\n filter.checkBoxes = [];\n } else {\n if (\n !Filters.valuesArrayContainsValue(\n filter.checkBoxes,\n newFilterItem.value\n )\n ) {\n filter.checkBoxes[filter.checkBoxes.length] = newFilterItem;\n }\n }\n }\n /**\n * Triggers when a filter checkbox becomes unchecked.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {string} column - Name of the column.\n * @param {string} remFilter - Removed filter.\n */\n removeCheckboxFilter(\n filters: GenericFilter = {},\n column: string,\n remFilter: string\n ) {\n if (filters == null || remFilter == null) {\n return;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n return;\n }\n if (filter.checkBoxes == null) {\n filter.checkBoxes = [];\n }\n let index = Filters.indexOfValueInValuesArray(\n filter.checkBoxes,\n remFilter\n );\n if (index >= 0) {\n let chs = [];\n for (let i = 0; i < filter.checkBoxes.length; i++) {\n if (i != index) {\n chs[chs.length] = filter.checkBoxes[i];\n }\n }\n filter.checkBoxes = [...chs];\n }\n }\n\n isColumnFiltrableByInterval(column: KupDataColumn): boolean {\n return this.isObjFiltrableByInterval(column.obj);\n }\n\n getIntervalTextFieldFilterValues(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): Array<string> {\n return this._getIntervalTextFieldFilterValues(filters, column, false);\n }\n getIntervalTextFieldFilterValuesTmp(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): Array<string> {\n return this._getIntervalTextFieldFilterValues(filters, column, true);\n }\n\n private _getIntervalTextFieldFilterValues(\n filters: GenericFilter = {},\n column: KupDataColumn,\n tmp: boolean\n ): Array<string> {\n if (!this._hasIntervalTextFieldFilterValues(filters, column, tmp)) {\n return ['', ''];\n }\n\n let values = [\n this._getIntervalTextFieldFilterValue(\n filters,\n column.name,\n FilterInterval.FROM,\n tmp\n ),\n this._getIntervalTextFieldFilterValue(\n filters,\n column.name,\n FilterInterval.TO,\n tmp\n ),\n ];\n return values;\n }\n\n getIntervalTextFieldFilterValue(\n filters: GenericFilter = {},\n column: string,\n index: FilterInterval\n ): string {\n return this._getIntervalTextFieldFilterValue(\n filters,\n column,\n index,\n false\n );\n }\n getIntervalTextFieldFilterValueTmp(\n filters: GenericFilter = {},\n column: string,\n index: FilterInterval\n ): string {\n return this._getIntervalTextFieldFilterValue(\n filters,\n column,\n index,\n true\n );\n }\n private _getIntervalTextFieldFilterValue(\n filters: GenericFilter = {},\n column: string,\n index: FilterInterval,\n tmp: boolean\n ): string {\n let value = '';\n\n if (filters == null) {\n return value;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n return value;\n }\n if (tmp && filter.intervalTmp == null) {\n return value;\n }\n if (!tmp && filter.interval == null) {\n return value;\n }\n value = tmp ? filter.intervalTmp[index] : filter.interval[index];\n return value;\n }\n\n setTextFieldFilterValue(\n filters: GenericFilter = {},\n column: string,\n newFilter: string\n ) {\n this._setTextFieldFilterValue(filters, column, newFilter, true);\n }\n private _setTextFieldFilterValue(\n filters: GenericFilter = {},\n column: string,\n newFilter: string,\n tmp: boolean\n ) {\n if (filters == null) {\n return;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n filter = {\n textField: '',\n textFieldTmp: '',\n checkBoxes: [],\n interval: null,\n intervalTmp: null,\n };\n filters[column] = filter;\n }\n if (tmp) {\n filter.textFieldTmp =\n newFilter != null ? newFilter.trim() : newFilter;\n } else {\n filter.textField = newFilter != null ? newFilter.trim() : newFilter;\n }\n }\n\n setIntervalTextFieldFilterValue(\n filters: GenericFilter = {},\n column: string,\n newFilter: string,\n index: FilterInterval\n ) {\n this._setIntervalTextFieldFilterValue(\n filters,\n column,\n newFilter,\n index,\n true\n );\n }\n\n private _setIntervalTextFieldFilterValue(\n filters: GenericFilter = {},\n column: string,\n newFilter: string,\n index: FilterInterval,\n tmp: boolean\n ) {\n if (filters == null) {\n return;\n }\n let filter: Filter = filters[column];\n if (filter == null) {\n filter = {\n textField: '',\n textFieldTmp: '',\n checkBoxes: [],\n interval: null,\n intervalTmp: null,\n };\n filters[column] = filter;\n }\n if (filter.interval == null) {\n filter.interval = [];\n filter.interval.push('', '');\n }\n if (filter.intervalTmp == null) {\n filter.intervalTmp = [];\n filter.intervalTmp.push('', '');\n }\n if (tmp) {\n filter.intervalTmp[index] =\n newFilter != null ? newFilter.trim() : newFilter;\n } else {\n filter.interval[index] =\n newFilter != null ? newFilter.trim() : newFilter;\n }\n }\n\n saveTextualFilters(filters: GenericFilter = {}, column: string) {\n this._setTextFieldFilterValue(\n filters,\n column,\n this.getTextFilterValueTmp(filters, column),\n false\n );\n this._setIntervalTextFieldFilterValue(\n filters,\n column,\n this.getIntervalTextFieldFilterValueTmp(\n filters,\n column,\n FilterInterval.FROM\n ),\n FilterInterval.FROM,\n false\n );\n this._setIntervalTextFieldFilterValue(\n filters,\n column,\n this.getIntervalTextFieldFilterValueTmp(\n filters,\n column,\n FilterInterval.TO\n ),\n FilterInterval.TO,\n false\n );\n }\n\n resetTextualFilters(filters: GenericFilter = {}, column: string) {\n this._setTextFieldFilterValue(\n filters,\n column,\n this.getTextFilterValue(filters, column),\n true\n );\n this._setIntervalTextFieldFilterValue(\n filters,\n column,\n this.getIntervalTextFieldFilterValue(\n filters,\n column,\n FilterInterval.FROM\n ),\n FilterInterval.FROM,\n true\n );\n this._setIntervalTextFieldFilterValue(\n filters,\n column,\n this.getIntervalTextFieldFilterValue(\n filters,\n column,\n FilterInterval.TO\n ),\n FilterInterval.TO,\n true\n );\n }\n\n getFilterValueForTooltip(\n filters: GenericFilter = {},\n column: KupDataColumn\n ): string {\n let txtFilter = this.getTextFilterValue(filters, column.name);\n let interval = this.getIntervalTextFieldFilterValues(filters, column);\n let chkFilters = this.getCheckBoxFilterValues(filters, column.name);\n\n let separator = '';\n\n let txtFiterRis = getValueForDisplay(\n txtFilter,\n column.obj,\n column.decimals\n );\n if (txtFilter != '') {\n separator = ' AND ';\n }\n if (interval[FilterInterval.FROM] != '') {\n txtFiterRis +=\n separator +\n '(>= ' +\n getValueForDisplay(\n interval[FilterInterval.FROM],\n column.obj,\n column.decimals\n ) +\n ')';\n separator = ' AND ';\n }\n if (interval[FilterInterval.TO] != '') {\n txtFiterRis +=\n separator +\n '(<= ' +\n getValueForDisplay(\n interval[FilterInterval.TO],\n column.obj,\n column.decimals\n ) +\n ')';\n separator = ' AND ';\n }\n\n separator = '';\n let ris = '';\n chkFilters.forEach((f) => {\n ris += separator + getValueForDisplay2(f, column);\n separator = ' OR ';\n });\n\n if (ris != '') {\n ris = '(' + ris + ')';\n if (txtFiterRis != '') {\n ris = ' AND ' + ris;\n }\n }\n ris = txtFiterRis + ris;\n return ris;\n }\n\n /**\n * Triggers when a filter must be removed, for column.\n * @param {GenericFilter} filters - Filters of the component.\n * @param {string} column - Name of the column.\n */\n removeFilter(filters: GenericFilter = {}, column: string) {\n filters[column] = {\n textField: '',\n textFieldTmp: '',\n checkBoxes: [],\n interval: null,\n intervalTmp: null,\n };\n }\n}\n","import {\n KupDataCell,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport type { PointerEvent } from '@interactjs/types/index';\nimport { GenericMap, KupEventPayload } from '../../types/GenericTypes';\nimport { KupCardEventPayload } from '../kup-card/kup-card-declarations';\n/**\n * Props of the kup-tree component.\n * Used to export every prop in an object.\n */\nexport enum KupTreeProps {\n asAccordion = 'When enabled, the first level of depth will give an accordion look to nodes.',\n columns = 'The columns of the tree when tree visualization is active.',\n customStyle = 'Custom style of the component.',\n data = 'The json data used to populate the tree view: the basic, always visible tree nodes.',\n density = \"The density of the rows, defaults at 'medium' and can also be set to 'dense' or 'wide'.\",\n dynamicExpansionCallback = 'Function that gets invoked when a new set of nodes must be loaded as children of a node. When useDynamicExpansion is set, the tree component will have two different behaviors depending on the value of this prop. If this prop is set to null, no callback to download data is available: the component will emit an event requiring the parent to load the children of the given node. If this prop is set to have a callback, then the component will automatically make requests to load children of a given node. After the load has been completed, a different event will be fired to alert the parent of the change.',\n enableExtraColumns = 'Enables adding extra columns.',\n expanded = 'Flag: the nodes of the whole tree must be already expanded upon loading. Disabled nodes do NOT get expanded.',\n expansionMode = \"Behavior of nodes' expansion: it can be chosen between expanding a node by clicking on the dropdown icon, or by clicking on the whole node.\",\n filters = 'List of filters set by the user.',\n globalFilter = 'When set to true it activates the global filter.',\n globalFilterValue = 'The value of the global filter.',\n globalFilterMode = 'The mode of the global filter.',\n removableColumns = 'Sets the possibility to remove the selected column.',\n preventXScroll = 'Experimental feature: when active, the tree will try to prevent horizontal overflowing elements by setting a width on the content of the table cells. It works only on cells of the main column.',\n ripple = \"When enabled displays Material's ripple effect on nodes (only when no columns are displayed).\",\n scrollOnHover = 'Activates the scroll on hover function.',\n showColumns = 'Shows the tree data as a table.',\n showFilters = 'When set to true enables the column filters.',\n showFooter = 'When set to true shows the footer.',\n showHeader = 'Flag: shows the header of the tree when the tree is displayed as a table.',\n showIcons = 'Shows the icons of the nodes.',\n stateId = '',\n store = '',\n totals = 'Defines the current totals options.',\n useDynamicExpansion = 'When the component must use the dynamic expansion feature to open its nodes, it means that not all the nodes of the tree have been passed inside the data property. Therefore, when expanding a node, the tree must emit an event (or run a given callback) and wait for the child nodes to be downloaded from the server.',\n}\n\nexport interface KupTreeNode extends KupDataNode {\n expandable?: boolean;\n iconColor?: string;\n style?: GenericMap;\n visible?: boolean;\n}\n\nexport type TreeNodePath = number[];\n\n/**\n * The name of the constant used by the tree component to identify the main tree in column menu\n * @constant\n */\nexport const treeMainColumnName = 'TREE_COLUMN';\n\n/**\n * Contains all the data of an event.\n */\nexport interface KupTreeEventHandlerDetails {\n area: string;\n cell: KupDataCell;\n column: KupDataColumn;\n filterRemove: HTMLSpanElement;\n originalEvent: PointerEvent;\n row: KupDataRow;\n td: HTMLElement;\n th: HTMLElement;\n tr: HTMLElement;\n}\n\nexport enum KupTreeExpansionMode {\n DROPDOWN = 'dropdown',\n NODE = 'node',\n}\n\nexport interface KupTreeNodeCollapseEventPayload extends KupEventPayload {\n treeNodePath: TreeNodePath;\n treeNode: KupDataNode;\n}\n\nexport interface KupTreeNodeExpandEventPayload\n extends KupTreeNodeCollapseEventPayload {\n usesDynamicExpansion?: boolean;\n dynamicExpansionRequireChildren?: boolean;\n}\n\nexport interface KupTreeNodeSelectedEventPayload\n extends KupTreeNodeCollapseEventPayload {\n columnName: string;\n}\n\nexport interface KupTreeNodeButtonClickEventPayload\n extends KupTreeNodeCollapseEventPayload {\n column: KupDataColumn;\n columnName: string;\n}\n\nexport interface KupTreeContextMenuEventPayload extends KupEventPayload {\n details: KupTreeEventHandlerDetails;\n}\n\nexport interface KupTreeColumnMenuEventPayload extends KupEventPayload {\n card: HTMLKupCardElement;\n event: CustomEvent<KupCardEventPayload | KupEventPayload>;\n open: boolean;\n}\n\nexport interface KupTreeDynamicMassExpansionEventPayload\n extends KupEventPayload {\n treeNodePath?: TreeNodePath;\n treeNode?: KupDataNode;\n expandAll?: boolean;\n}\n\nexport interface KupTreeColumnRemoveEventPayload extends KupEventPayload {\n column: KupDataColumn;\n}\n","import type {\n GenericFilter,\n ValueDisplayedValue,\n} from './filters-declarations';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport type { KupTree } from '../../components/kup-tree/kup-tree';\nimport {\n getCellValueForDisplay,\n getColumnByName,\n getValueForDisplay,\n} from '../cell-utils';\nimport { Filters } from './filters';\nimport { FiltersColumnMenu } from './filters-column-menu';\nimport { treeMainColumnName } from '../../components/kup-tree/kup-tree-declarations';\nimport { KupObjects } from '../../managers/kup-objects/kup-objects';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n KupDataCell,\n KupDataColumn,\n KupDataRow,\n KupDataRowCells,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { KupData } from '../../managers/kup-data/kup-data';\n\nconst dom: KupDom = document.documentElement as KupDom;\nconst kupObjects: KupObjects = dom.ketchup\n ? dom.ketchup.objects\n : new KupObjects();\nconst kupData: KupData = dom.ketchup ? dom.ketchup.data : new KupData();\n\n/**\n * Filtering algorithms related to data-table rows.\n * @module FiltersRows\n * @todo Should contain EVERY row-specific filtering method.\n */\nexport class FiltersRows extends Filters {\n isFilterCompliantForCell(\n cellValue: KupDataCell,\n filterValue: string,\n interval: string[]\n ) {\n if (!cellValue) {\n return false;\n }\n\n return this.isFilterCompliantForSimpleValue(\n cellValue.value,\n cellValue.obj,\n filterValue,\n interval\n );\n }\n\n isFilterCompliantForCellObj(\n cellValue: KupDataCell,\n filterValue: string,\n interval: string[]\n ) {\n if (!cellValue) {\n return false;\n }\n if (!cellValue.obj) {\n return false;\n }\n return this.isFilterCompliantForSimpleValue(\n cellValue.obj.k,\n cellValue.obj,\n filterValue,\n interval\n );\n }\n\n isRowCompliant(\n r: KupDataRow,\n filters: GenericFilter = {},\n globalFilter: string = '',\n isUsingGlobalFilter: boolean = false,\n columns: KupDataColumn[] = [],\n columnFilters?: FiltersColumnMenu\n ): boolean {\n return this.areCellsCompliant(\n r.cells,\n filters,\n globalFilter,\n isUsingGlobalFilter,\n columns,\n columnFilters\n );\n }\n\n areCellsCompliant(\n cells: KupDataRowCells,\n filters: GenericFilter = {},\n globalFilter: string = '',\n isUsingGlobalFilter: boolean = false,\n columns: KupDataColumn[] = [],\n columnFilters?: FiltersColumnMenu\n ): boolean {\n if (isUsingGlobalFilter) {\n let retValue = true;\n // There are no columns -> display element\n if (columns && columns != null && columns.length > 0) {\n retValue = false;\n let _filterIsNegative = this.filterIsNegative(globalFilter);\n\n // Search among all visible columns for the global filter\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].visible == false) {\n continue;\n }\n const cell = cells[columns[i].name];\n if (cell == null) {\n continue;\n }\n retValue = this.isFilterCompliantForValue(\n cell.value,\n globalFilter\n );\n let displayedValue = getCellValueForDisplay(\n columns[i],\n cell\n );\n if (displayedValue != cell.value) {\n retValue =\n retValue ||\n this.isFilterCompliantForValue(\n displayedValue,\n globalFilter\n );\n }\n if (retValue == true && !_filterIsNegative) {\n break;\n }\n if (retValue == false && _filterIsNegative) {\n break;\n }\n }\n }\n if (!retValue) {\n return false;\n }\n }\n\n if (columnFilters == null) {\n columnFilters = new FiltersColumnMenu();\n }\n // There are no filters to check -> the element is valid\n if (!this.hasFilters(filters, columns, columnFilters)) {\n return true;\n }\n\n let keys = Object.keys(filters);\n // Filters\n for (let i = 0; i < keys.length; i++) {\n let key: string = keys[i];\n\n const cell = cells[key];\n if (!cell) {\n return false;\n }\n\n let filterValue = columnFilters.getTextFilterValue(filters, key);\n let interval = columnFilters.getIntervalTextFieldFilterValues(\n filters,\n getColumnByName(columns, key)\n );\n\n const _filterIsNegative: boolean =\n this.filterIsNegative(filterValue);\n let b1 = this.isFilterCompliantForCell(cell, filterValue, interval);\n let b2 = _filterIsNegative;\n if (\n !kupObjects.isNumber(cell.obj) &&\n !kupObjects.isDate(cell.obj) &&\n !kupObjects.isTime(cell.obj) &&\n !kupObjects.isTimestamp(cell.obj)\n ) {\n b2 = this.isFilterCompliantForCellObj(\n cell,\n filterValue,\n interval\n );\n }\n\n if (_filterIsNegative) {\n if (!b1 || !b2) {\n return false;\n }\n } else {\n if (!b1 && !b2) {\n return false;\n }\n }\n\n let filterValues = columnFilters.getCheckBoxFilterValues(\n filters,\n key\n );\n if (filterValues.length == 0) {\n continue;\n }\n let retValue = false;\n for (let i = 0; i < filterValues.length; i++) {\n let fv = filterValues[i];\n if (fv == null || fv.value == null) {\n continue;\n }\n if (cell.value != null) {\n if (\n cell.value.toLowerCase().trim() ==\n fv.value.toLowerCase().trim()\n ) {\n retValue = true;\n break;\n }\n }\n if (cell.obj != null) {\n if (\n cell.obj.k.toLowerCase().trim() ==\n fv.value.toLowerCase().trim()\n ) {\n retValue = true;\n break;\n }\n }\n }\n if (!retValue) {\n return false;\n }\n }\n return true;\n }\n\n hasFilters(\n filters: GenericFilter = {},\n columns: KupDataColumn[],\n columnFilters?: FiltersColumnMenu\n ) {\n if (filters == null) {\n return false;\n }\n let keys = Object.keys(filters);\n if (keys == null || keys.length < 1) {\n return false;\n }\n if (columnFilters == null) {\n columnFilters = new FiltersColumnMenu();\n }\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n let col: KupDataColumn = null;\n if (key === treeMainColumnName) {\n col = {\n name: treeMainColumnName,\n title: '',\n };\n } else {\n col = getColumnByName(columns, key);\n }\n if (columnFilters.hasFiltersForColumn(filters, col)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Filters the rows data of a data-table component according to the parameters\n *\n * @param rows - The data of the rows to filter.\n * @param filters - The the filters for each column.\n * @param globalFilter - A global filter applied to all columns.\n * @param columns - The colmns on which the filter will take effect.\n * @todo This function can be improved in its speed by a refactor in which from two different cycles of execution for\n * single filters and global filter, all controls on a single column are done in a single cycle.\n */\n filterRows(\n rows: Array<KupDataRow> = [],\n filters: GenericFilter = {},\n globalFilter: string = '',\n columns: KupDataColumn[] = [],\n columnFilters?: FiltersColumnMenu\n ): Array<KupDataRow> {\n if (!rows || rows == null) {\n return [];\n }\n\n // There are rows to filter\n let filteredRows: Array<KupDataRow> = [];\n const isUsingGlobalFilter: boolean = !!(globalFilter && columns);\n\n if (\n this.hasFilters(filters, columns, columnFilters) ||\n isUsingGlobalFilter\n ) {\n for (let i = 0; i < rows.length; i++) {\n let r: KupDataRow = rows[i];\n if (\n (r.id && r.id.indexOf('insert_') > -1) ||\n this.isRowCompliant(\n r,\n filters,\n globalFilter,\n isUsingGlobalFilter,\n columns,\n columnFilters\n )\n ) {\n filteredRows[filteredRows.length] = r;\n }\n }\n } else {\n filteredRows = [...rows];\n }\n\n return filteredRows;\n }\n\n getColumnValues(\n comp: KupDataTable | KupTree,\n column: KupDataColumn,\n globalFilterValue: string,\n columnFilters?: FiltersColumnMenu\n ): ValueDisplayedValue[] {\n let values: ValueDisplayedValue[] = new Array();\n if (columnFilters == null) {\n columnFilters = new FiltersColumnMenu();\n }\n let value = columnFilters.getTextFilterValueTmp(\n comp.filters,\n column.name\n );\n let interval = columnFilters.getIntervalTextFieldFilterValuesTmp(\n comp.filters,\n column\n );\n let checkboxes = columnFilters.getCheckBoxFilterValues(\n comp.filters,\n column.name\n );\n\n if (\n column.valuesForFilter != null &&\n column.valuesForFilter.length > 0\n ) {\n column.valuesForFilter.forEach((element) => {\n let v = element;\n if (\n Filters.valuesArrayContainsValue(checkboxes, v) ||\n value == '' ||\n columnFilters.isFilterCompliantForSimpleValue(\n v,\n column.obj,\n value,\n interval\n )\n ) {\n values.push({\n value: v,\n displayedValue: getValueForDisplay(\n v,\n column.obj,\n column.decimals\n ),\n });\n }\n });\n return values;\n }\n\n /** è necessario estrarre i valori della colonna di tutte le righe\n * filtrate SENZA il filtro della colonna stessa corrente */\n let tmpFilters: GenericFilter = { ...comp.filters };\n\n tmpFilters[column.name] = {\n textField: value,\n textFieldTmp: value,\n checkBoxes: [],\n interval: interval,\n intervalTmp: interval,\n };\n\n let tmpRows = this.filterRows(\n comp.getRows(),\n tmpFilters,\n globalFilterValue,\n comp.getVisibleColumns(),\n columnFilters\n );\n\n for (let i = 0; i < checkboxes.length; i++) {\n values.push(checkboxes[i]);\n }\n\n return kupData.cell.getUnivocalValue({ rows: tmpRows }, column, true);\n }\n}\n","import {\n SortObject,\n SortMode,\n GroupObject,\n TotalMode,\n TotalsMap,\n KupDataTableRow,\n KupDataTableRowGroup,\n KupDataTableCell,\n KupDataTableDataset,\n} from './kup-data-table-declarations';\nimport { GenericFilter } from '../../utils/filters/filters-declarations';\nimport { FiltersColumnMenu } from '../../utils/filters/filters-column-menu';\nimport {\n getCellValueForDisplay,\n getColumnByName,\n compareCell,\n CMBandACPAdapter,\n RADAdapter,\n CHKAdapter,\n CHIAdapter,\n} from '../../utils/cell-utils';\nimport { FiltersRows } from '../../utils/filters/filters-rows';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n KupDataColumn,\n KupDataDataset,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { KupDatesFormats } from '../../managers/kup-dates/kup-dates-declarations';\nimport { FCellShapes } from '../../f-components/f-cell/f-cell-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\nexport function sortRows(\n rows: Array<KupDataTableRow> = [],\n sort: Array<SortObject> = []\n): Array<KupDataTableRow> {\n if (!rows || rows.length === 0) {\n return [];\n }\n\n // check if row is group\n if (rows[0].group) {\n return sortGroupRows(rows, sort);\n }\n\n // sorting rows\n if (!sort || sort.length === 0) {\n // no sort -> return rows as they are\n return rows;\n }\n\n // check multiple sort\n const isMultiSort = sort.length > 1;\n\n // sorting rows\n return rows.slice(0).sort((r1: KupDataTableRow, r2: KupDataTableRow) => {\n if (isMultiSort) {\n for (let i = 0; i < sort.length; i++) {\n const compare = compareRows(r1, r2, sort[i]);\n\n if (compare !== 0) {\n // not same row\n return compare;\n }\n }\n\n // same row\n return 0;\n } else {\n return compareRows(r1, r2, sort[0]);\n }\n });\n}\n\nfunction sortGroupRows(\n rows: Array<KupDataTableRow> = [],\n sort: Array<SortObject> = []\n): Array<KupDataTableRow> {\n if (!rows || rows.length === 0) {\n return [];\n }\n\n // getting columm group\n const groupColumn = rows[0].group.column;\n\n // check if column is in sort\n let sortObject = getSortOnColumn(groupColumn, sort);\n\n if (!sortObject) {\n sortObject = {\n column: groupColumn,\n sortMode: SortMode.A,\n };\n }\n\n // sorting rows\n rows.sort((r1, r2) => {\n // creating fake cells\n const cell1: KupDataTableCell = {\n obj: r1.group.obj,\n value: r1.group.id,\n };\n\n const cell2: KupDataTableCell = {\n obj: r2.group.obj,\n value: r2.group.id,\n };\n\n return compareCell(cell1, cell2, sortObject.sortMode);\n });\n\n // sorting children\n rows.forEach((row) => {\n row.group.children = sortRows(row.group.children, sort);\n });\n\n return rows;\n}\n\nfunction getSortOnColumn(\n column: string = '',\n sort: Array<SortObject> = []\n): SortObject {\n if (!column || !sort || sort.length === 0) {\n return null;\n }\n\n for (let sortObject of sort) {\n if (sortObject.column === column) {\n return sortObject;\n }\n }\n\n return null;\n}\n\nfunction compareRows(\n r1: KupDataTableRow,\n r2: KupDataTableRow,\n sortObj: SortObject\n): number {\n const cell1: KupDataTableCell = r1.cells[sortObj.column];\n const cell2: KupDataTableCell = r2.cells[sortObj.column];\n\n if (!cell1 && !cell2) {\n return 0;\n }\n\n if (!cell1) {\n return 1;\n }\n\n if (!cell2) {\n return -1;\n }\n\n return compareCell(cell1, cell2, sortObj.sortMode);\n}\n\n//-------- FILTER FUNCTIONS --------\n/**\n * Filters the rows data of a data-table component according to the parameters\n *\n * @param rows - The data of the rows to filter.\n * @param filters - The the filters for each column.\n * @param globalFilter - A global filter applied to all columns.\n * @param columns - The colmns on which the filter will take effect.\n * @todo This function can be improved in its speed by a refactor in which from two different cycles of execution for\n * single filters and global filter, all controls on a single column are done in a single cycle.\n */\n\nexport function filterRows(\n rows: Array<KupDataTableRow> = [],\n filters: GenericFilter = {},\n globalFilter: string = '',\n columns: KupDataColumn[] = [],\n columnFilters?: FiltersColumnMenu,\n filtersRows?: FiltersRows\n): Array<KupDataTableRow> {\n if (filtersRows == null) {\n filtersRows = new FiltersRows();\n }\n\n return filtersRows.filterRows(\n rows,\n filters,\n globalFilter,\n columns,\n columnFilters\n );\n}\n\nexport function groupRows(\n columns: KupDataColumn[] = [],\n rows: KupDataTableRow[] = [],\n groups: GroupObject[] = [],\n totals: TotalsMap = {}\n): Array<KupDataTableRow> {\n if (!rows) {\n return [];\n }\n\n if (!groups || groups.length === 0 || !columns || columns.length === 0) {\n return rows;\n }\n\n // Keeps label of the valid columns\n const columnLabels: { [index: string]: string } = {};\n\n // remove invalid groups and store column labels\n const validGroups = groups.filter(({ column }) => {\n for (let { name, title } of columns) {\n if (name === column) {\n // Store label of the columns\n columnLabels[name] = title;\n return true;\n }\n }\n return false;\n });\n\n if (validGroups.length === 0) {\n // no valid groups\n return rows;\n }\n\n // creating root\n const groupRows: Array<KupDataTableRow> = [];\n\n // obj used to calculate the group distinct value\n let distinctObj = {};\n\n rows.forEach((row: KupDataTableRow) => {\n // getting column name from first group\n const columnName = validGroups[0].column;\n // getting row value\n const cell = row.cells[columnName];\n\n if (cell) {\n const column = getColumnByName(columns, columnName);\n const cellValueForDisplay = getCellValueForDisplay(column, cell);\n const cellValue = cell.value;\n let groupRow: KupDataTableRow = null;\n // check in already in groupedRow\n for (let currentGroupRow of groupRows) {\n if (currentGroupRow.group.label === cellValueForDisplay) {\n groupRow = currentGroupRow;\n break;\n }\n }\n if (groupRow === null) {\n // create group row\n groupRow = {\n group: {\n id: cellValue,\n parent: null,\n column: columnName,\n columnLabel: columnLabels[columnName],\n expanded: false,\n label: cellValueForDisplay,\n children: [],\n obj: cell.obj,\n totals: {},\n },\n cells: {},\n };\n // add group to list\n groupRows.push(groupRow);\n }\n for (let i = 1; i < validGroups.length; i++) {\n const group = validGroups[i];\n // getting cell value\n const tempCell = row.cells[group.column];\n if (tempCell) {\n const column = getColumnByName(columns, group.column);\n const tempCellValueForDisplay = getCellValueForDisplay(\n column,\n tempCell\n );\n const tempCellValue = tempCell.value;\n // check if group already exists\n let tempGroupingRow: KupDataTableRow = null;\n for (let j = 0; j < groupRow.group.children.length; j++) {\n const childGroup = groupRow.group.children[j];\n const groupLabel = childGroup.group.label;\n\n if (groupLabel === tempCellValueForDisplay) {\n tempGroupingRow = childGroup;\n break;\n }\n }\n if (!tempGroupingRow) {\n tempGroupingRow = {\n cells: {},\n group: {\n id: tempCellValue,\n parent: groupRow,\n column: group.column,\n columnLabel: columnLabels[group.column],\n children: [],\n expanded: false,\n label: tempCellValueForDisplay,\n totals: {},\n obj: tempCell.obj,\n },\n };\n adjustGroupId(tempGroupingRow);\n groupRow.group.children.push(tempGroupingRow);\n }\n groupRow = tempGroupingRow;\n }\n }\n // adding row\n groupRow.group.children.push(row);\n\n updateGroupTotal(groupRow, totals, row, distinctObj);\n }\n });\n\n adjustGroupsDistinct(groupRows, totals, distinctObj);\n adjustGroupsAverageOrFormula(groupRows, TotalMode.AVERAGE, totals);\n adjustGroupsAverageOrFormula(groupRows, TotalMode.MATH, totals);\n\n return groupRows;\n}\n\nfunction updateGroupTotal(\n groupRow: KupDataTableRow,\n totals: TotalsMap,\n addedRow: KupDataTableRow,\n distinctObj: Object\n): void {\n if (!groupRow || !totals) {\n return;\n }\n\n const keys = Object.keys(totals);\n\n if (keys.length === 0) {\n return;\n }\n\n keys.forEach((key) => {\n const cell = addedRow.cells[key];\n\n if (cell) {\n const _isNumber = dom.ketchup.objects.isNumber(cell.obj);\n const totalMode = totals[key];\n\n switch (totalMode) {\n case TotalMode.COUNT:\n let currentTotalValue: number =\n groupRow.group.totals[key] || 0;\n groupRow.group.totals[key] = ++currentTotalValue;\n // updating parents\n let parent = groupRow.group.parent;\n while (parent != null) {\n let currentParentCount: number =\n parent.group.totals[key] || 0;\n parent.group.totals[key] = ++currentParentCount;\n parent = parent.group.parent;\n }\n break;\n case TotalMode.DISTINCT:\n let cellValue;\n if (_isNumber) {\n cellValue = dom.ketchup.math.numberify(\n dom.ketchup.math.numberifySafe(cell.value)\n );\n } else {\n cellValue = cell.value;\n }\n let distinctGroup = distinctObj[groupRow.group.id];\n if (!distinctGroup) {\n distinctObj[groupRow.group.id] = {};\n distinctObj[groupRow.group.id][key] = [];\n distinctObj[groupRow.group.id][key].push(cellValue);\n } else {\n let distinctList = distinctObj[groupRow.group.id][key];\n if (!distinctList) {\n // first round\n distinctObj[groupRow.group.id][key] = [];\n distinctObj[groupRow.group.id][key].push(cellValue);\n } else {\n // update the list\n distinctList.push(cellValue);\n }\n }\n // updating parents\n let distinctParent = groupRow.group.parent;\n while (distinctParent != null) {\n // get parent value\n let distinctGroupParent =\n distinctObj[distinctParent.group.id];\n if (!distinctGroupParent) {\n distinctObj[distinctParent.group.id] = {};\n distinctObj[distinctParent.group.id][key] = [];\n distinctObj[distinctParent.group.id][key].push(\n cellValue\n );\n } else {\n let distinctParentList =\n distinctObj[distinctParent.group.id][key];\n if (!distinctParentList) {\n // first round\n distinctObj[distinctParent.group.id][key] = [];\n distinctObj[distinctParent.group.id][key].push(\n cellValue\n );\n } else {\n // update the list\n distinctParentList.push(cellValue);\n }\n }\n // continue\n distinctParent = distinctParent.group.parent;\n }\n break;\n case TotalMode.SUM:\n case TotalMode.AVERAGE:\n if (_isNumber && cell.value) {\n const cellValue = dom.ketchup.math.numberify(\n dom.ketchup.math.numberifySafe(cell.value)\n );\n\n const currentTotalValue: number =\n groupRow.group.totals[key] || 0;\n groupRow.group.totals[key] =\n cellValue + currentTotalValue;\n // updating parents\n let parent = groupRow.group.parent;\n while (parent != null) {\n const currentParentSum = dom.ketchup.math.numberify(\n parent.group.totals[key] || 0\n );\n parent.group.totals[key] =\n cellValue + currentParentSum;\n\n parent = parent.group.parent;\n }\n }\n break;\n // TODO DRY the MIN and MAX functions\n case TotalMode.MIN:\n if (_isNumber && cell.value) {\n const currentMinValue = groupRow.group.totals[key];\n const cellValue = dom.ketchup.math.numberify(\n dom.ketchup.math.numberifySafe(cell.value)\n );\n if (currentMinValue) {\n groupRow.group.totals[key] = Math.min(\n currentMinValue,\n cellValue\n );\n } else {\n // first round\n groupRow.group.totals[key] = cellValue;\n }\n // updating parents\n let parent = groupRow.group.parent;\n while (parent != null) {\n const currentParentMin = parent.group.totals[key];\n if (currentParentMin) {\n parent.group.totals[key] = Math.min(\n currentParentMin,\n cellValue\n );\n } else {\n // first round\n parent.group.totals[key] = cellValue;\n }\n parent = parent.group.parent;\n }\n } else if (\n cell.value &&\n dom.ketchup.objects.isDate(cell.obj)\n ) {\n if (\n dom.ketchup.dates.isValidFormattedStringDate(\n cell.value\n )\n ) {\n const currentMinValue = groupRow.group.totals[key];\n if (currentMinValue) {\n let moments = [];\n moments.push(cellValue);\n moments.push(\n dom.ketchup.dates.toDayjs(currentMinValue)\n );\n groupRow.group.totals[key] =\n dom.ketchup.dates.format(\n dom.ketchup.dates.min(moments),\n KupDatesFormats.ISO_DATE\n );\n } else {\n groupRow.group.totals[key] =\n dom.ketchup.dates.format(\n cellValue,\n KupDatesFormats.ISO_DATE\n );\n }\n // updating parents\n let parent = groupRow.group.parent;\n while (parent != null) {\n const currentParentMin =\n parent.group.totals[key];\n if (currentParentMin) {\n let moments = [];\n moments.push(cellValue);\n moments.push(\n dom.ketchup.dates.toDayjs(\n currentParentMin\n )\n );\n parent.group.totals[key] =\n dom.ketchup.dates.format(\n dom.ketchup.dates.min(moments),\n KupDatesFormats.ISO_DATE\n );\n } else {\n // first round\n parent.group.totals[key] =\n dom.ketchup.dates.format(\n cellValue,\n KupDatesFormats.ISO_DATE\n );\n }\n parent = parent.group.parent;\n }\n }\n }\n break;\n // TODO DRY the MIN and MAX functions\n case TotalMode.MAX:\n if (_isNumber && cell.value) {\n const currentMaxValue = groupRow.group.totals[key];\n const cellValue = dom.ketchup.math.numberify(\n dom.ketchup.math.numberifySafe(cell.value)\n );\n if (currentMaxValue) {\n groupRow.group.totals[key] = Math.max(\n currentMaxValue,\n cellValue\n );\n } else {\n // first round\n groupRow.group.totals[key] = cellValue;\n }\n // updating parents\n let parent = groupRow.group.parent;\n while (parent != null) {\n const currentParentMax = parent.group.totals[key];\n if (currentParentMax) {\n parent.group.totals[key] = Math.max(\n currentParentMax,\n cellValue\n );\n } else {\n // first round\n parent.group.totals[key] = cellValue;\n }\n parent = parent.group.parent;\n }\n } else if (\n cell.value &&\n dom.ketchup.objects.isDate(cell.obj)\n ) {\n if (\n dom.ketchup.dates.isValidFormattedStringDate(\n cell.value\n )\n ) {\n const currentMaxValue = groupRow.group.totals[key];\n if (currentMaxValue) {\n let moments = [];\n moments.push(cellValue);\n moments.push(\n dom.ketchup.dates.toDayjs(currentMaxValue)\n );\n groupRow.group.totals[key] =\n dom.ketchup.dates.format(\n dom.ketchup.dates.max(moments),\n KupDatesFormats.ISO_DATE\n );\n } else {\n groupRow.group.totals[key] =\n dom.ketchup.dates.format(\n cellValue,\n KupDatesFormats.ISO_DATE\n );\n }\n // updating parents\n let parent = groupRow.group.parent;\n while (parent != null) {\n const currentParentMax =\n parent.group.totals[key];\n if (currentParentMax) {\n let moments = [];\n moments.push(cellValue);\n moments.push(\n dom.ketchup.dates.toDayjs(\n currentParentMax\n )\n );\n parent.group.totals[key] =\n dom.ketchup.dates.format(\n dom.ketchup.dates.max(moments),\n KupDatesFormats.ISO_DATE\n );\n } else {\n // first round\n parent.group.totals[key] =\n dom.ketchup.dates.format(\n cellValue,\n KupDatesFormats.ISO_DATE\n );\n }\n parent = parent.group.parent;\n }\n }\n }\n break;\n default: {\n if (totalMode.indexOf(TotalMode.MATH) != 0) {\n console.warn(`invalid total mode: ${totalMode}`);\n }\n break;\n }\n }\n }\n });\n}\n\nfunction adjustGroupsDistinct(\n groupRows: Array<KupDataTableRow>,\n totals: TotalsMap,\n distinctObj: Object\n) {\n if (!groupRows || !totals) {\n return;\n }\n\n const keys = Object.keys(totals);\n\n if (groupRows.length === 0 || !groupRows[0].group || keys.length === 0) {\n return;\n }\n\n let toAdjustKeys = keys.filter((key) => TotalMode.DISTINCT === totals[key]);\n\n if (toAdjustKeys.length > 0) {\n groupRows\n .filter((groupRow) => groupRow.group.children.length > 0)\n .forEach((groupRow) =>\n adjustGroupDistinct(groupRow, toAdjustKeys, distinctObj)\n );\n }\n}\n\nfunction adjustGroupsAverageOrFormula(\n groupRows: Array<KupDataTableRow>,\n type: TotalMode,\n totals: TotalsMap\n): void {\n if (!groupRows || !totals) {\n return;\n }\n\n const keys = Object.keys(totals);\n\n if (groupRows.length === 0 || !groupRows[0].group || keys.length === 0) {\n return;\n }\n\n let toAdjustKeys;\n\n if (type == TotalMode.AVERAGE) {\n toAdjustKeys = keys.filter((key) => TotalMode.AVERAGE === totals[key]);\n }\n if (type == TotalMode.MATH) {\n toAdjustKeys = keys.filter(\n (key) => totals[key].indexOf(TotalMode.MATH) == 0\n );\n }\n\n if (toAdjustKeys.length > 0) {\n groupRows\n .filter((groupRow) => groupRow.group.children.length > 0)\n .forEach((groupRow) =>\n adjustGroupAverageOrFormula(\n groupRow,\n type,\n toAdjustKeys,\n totals\n )\n );\n }\n}\n\nfunction adjustGroupDistinct(\n groupRow: KupDataTableRow,\n toAdjustKeys: Array<string>,\n distinctObj: Object\n) {\n const children = groupRow.group.children;\n\n if (children.length === 0) {\n return;\n }\n\n if (children[0].group) {\n children.forEach((child) => {\n adjustGroupDistinct(child, toAdjustKeys, distinctObj);\n });\n }\n\n toAdjustKeys.forEach((key) => {\n const distinctList = distinctObj[groupRow.group.id][key];\n groupRow.group.totals[key] = new Set(distinctList).size;\n });\n}\n\n/**\n * @returns number of 'leaf' of group\n */\nfunction adjustGroupAverageOrFormula(\n row: KupDataTableRow,\n type: TotalMode,\n toAdjustKeys: Array<string>,\n totals: TotalsMap\n): number {\n const children = row.group.children;\n\n if (children.length === 0) {\n return 0;\n }\n\n let numberOfLeaf = 0;\n\n // check if child is a grouping row\n if (children[0].group) {\n children.forEach((child) => {\n numberOfLeaf += adjustGroupAverageOrFormula(\n child,\n type,\n toAdjustKeys,\n totals\n );\n });\n } else {\n numberOfLeaf = children.length;\n }\n // adjust average/formulas\n toAdjustKeys.forEach((key) => {\n if (type == TotalMode.AVERAGE) {\n row.group.totals[key] = row.group.totals[key] / numberOfLeaf;\n }\n if (type == TotalMode.MATH) {\n let formula = totals[key].substring(TotalMode.MATH.length);\n row.group.totals[key] = dom.ketchup.math.formulas.custom(\n formula,\n row.group.totals\n );\n }\n });\n\n return numberOfLeaf;\n}\n\nexport function normalizeRows(\n columns: Array<KupDataColumn>,\n rows: Array<KupDataTableRow>\n): Array<KupDataTableRow> {\n if (rows) {\n const normalizedrows = Object.assign(rows);\n rows.forEach((row: KupDataTableRow) => {\n columns.forEach((column) => {\n if (row.cells) {\n const cell = row.cells[column.name];\n if (cell && column.obj && !cell.obj) {\n // cell.obj = Object.assign(column.obj);\n cell.obj = {\n t: column.obj.t,\n p: column.obj.p,\n k: cell.value,\n };\n }\n }\n });\n });\n return normalizedrows;\n } else {\n return undefined;\n }\n}\n\nexport function calcTotals(\n rows: Array<KupDataTableRow> = [],\n totals: TotalsMap = {}\n): { [index: string]: number } {\n if (\n dom.ketchup.objects.isEmptyJsObject(rows) ||\n dom.ketchup.objects.isEmptyJsObject(totals)\n ) {\n return {};\n }\n const keys = Object.keys(totals);\n const footerRow: { [index: string]: any } = {};\n const dateColumns: string[] = new Array();\n\n // if there are only COUNT, no need to loop on rows\n let onlyCount =\n keys.length === 0 ||\n keys.every((key) => totals[key] === TotalMode.COUNT);\n if (onlyCount) {\n keys.forEach((columnName) => (footerRow[columnName] = rows.length));\n } else {\n let distinctObj = {};\n rows.forEach((r, index, array) => {\n keys.filter(\n (key) =>\n TotalMode.COUNT !== totals[key] &&\n totals[key].indexOf(TotalMode.MATH) != 0\n ).forEach((key) => {\n // getting cell\n const cell = r.cells[key];\n if (cell) {\n if (totals[key] === TotalMode.DISTINCT) {\n let cellValue;\n if (dom.ketchup.objects.isNumber(cell.obj)) {\n cellValue = dom.ketchup.math.numberify(\n dom.ketchup.math.numberifySafe(cell.value)\n );\n } else {\n cellValue = cell.value;\n }\n let distinctList = distinctObj[key];\n if (!distinctList) {\n // first round\n distinctObj[key] = [];\n distinctObj[key].push(cellValue);\n } else {\n // update the list\n distinctList.push(cellValue);\n }\n } else if (dom.ketchup.objects.isNumber(cell.obj)) {\n const cellValue = dom.ketchup.math.numberify(\n dom.ketchup.math.numberifySafe(cell.value)\n );\n let currentFooterValue = footerRow[key];\n switch (true) {\n // TODO DRY the MIN and MAX functions\n case totals[key] === TotalMode.MIN:\n if (currentFooterValue) {\n footerRow[key] = Math.min(\n currentFooterValue,\n cellValue\n );\n } else {\n footerRow[key] = cellValue;\n }\n break;\n case totals[key] === TotalMode.MAX:\n if (currentFooterValue) {\n footerRow[key] = Math.max(\n currentFooterValue,\n cellValue\n );\n } else {\n footerRow[key] = cellValue;\n }\n break;\n default:\n // SUM\n currentFooterValue = footerRow[key] || 0;\n footerRow[key] =\n cellValue +\n dom.ketchup.math.numberify(\n currentFooterValue\n );\n }\n // TODO DRY the MIN and MAX functions\n } else if (dom.ketchup.objects.isDate(cell.obj)) {\n if (dateColumns.indexOf(key) == -1) {\n dateColumns.push(key);\n }\n if (\n dom.ketchup.dates.isValidFormattedStringDate(\n cell.value\n )\n ) {\n const cellValue = dom.ketchup.dates.toDate(\n dom.ketchup.dates.toDayjs(cell.value)\n );\n const currentFooterValue = footerRow[key]\n ? dom.ketchup.dates.toDate(\n dom.ketchup.dates.toDayjs(footerRow[key])\n )\n : null;\n switch (true) {\n case totals[key] === TotalMode.MIN:\n if (currentFooterValue) {\n let moments = [];\n moments.push(cellValue);\n moments.push(currentFooterValue);\n footerRow[key] =\n dom.ketchup.dates.format(\n dom.ketchup.dates.min(moments),\n KupDatesFormats.ISO_DATE\n );\n } else {\n footerRow[key] =\n dom.ketchup.dates.format(\n cellValue,\n KupDatesFormats.ISO_DATE\n );\n }\n break;\n case totals[key] === TotalMode.MAX:\n if (currentFooterValue) {\n let moments = [];\n moments.push(cellValue);\n moments.push(currentFooterValue);\n footerRow[key] =\n dom.ketchup.dates.format(\n dom.ketchup.dates.max(moments),\n KupDatesFormats.ISO_DATE\n );\n } else {\n footerRow[key] =\n dom.ketchup.dates.format(\n cellValue,\n KupDatesFormats.ISO_DATE\n );\n }\n break;\n default:\n break;\n }\n }\n }\n }\n if (\n index === array.length - 1 &&\n totals[key] === TotalMode.DISTINCT\n ) {\n // last round\n footerRow[key] = new Set(distinctObj[key]).size;\n distinctObj[key] = [];\n }\n });\n });\n }\n // fixing MATH, AVERAGE and COUNT\n for (let key of keys) {\n switch (true) {\n case totals[key] === TotalMode.AVERAGE:\n const sum: number = footerRow[key];\n if (sum && rows.length > 0) {\n footerRow[key] = sum / rows.length;\n }\n break;\n case totals[key] === TotalMode.COUNT:\n footerRow[key] = rows.length;\n break;\n case totals[key].indexOf(TotalMode.MATH) == 0:\n footerRow[key] = dom.ketchup.math.formulas.custom(\n totals[key].substring(TotalMode.MATH.length),\n footerRow\n );\n break;\n default:\n break;\n }\n if (footerRow[key]) {\n if (dateColumns.indexOf(key) != -1) {\n footerRow[key] = dom.ketchup.dates.format(footerRow[key]);\n } else if (dom.ketchup.math.isNumber(footerRow[key])) {\n footerRow[key] = +footerRow[key].toFixed(2);\n }\n }\n }\n return footerRow;\n}\n\nfunction adjustGroupId(row: KupDataTableRow): void {\n if (!row.group) {\n return;\n }\n\n let groupID = row.group.id;\n\n let parentRow = row.group.parent;\n\n while (parentRow !== null) {\n groupID = `${parentRow.group.id};${groupID}`;\n parentRow = parentRow.group.parent;\n }\n\n row.group.id = groupID;\n}\n\nexport function paginateRows(\n rows: KupDataTableRow[],\n currentPage: number,\n rowsPerPage: number,\n areGrouped: boolean\n) {\n const start: number = currentPage * rowsPerPage - rowsPerPage;\n const end: number = start + Number(rowsPerPage);\n if (areGrouped == false) {\n return rows.slice(start, end);\n }\n let pagRows: Array<KupDataTableRow> = [];\n\n _paginateRows(rows, pagRows, start, Number(rowsPerPage), 0);\n\n return pagRows;\n}\n\nfunction _paginateRows(\n rows: KupDataTableRow[],\n pagRows: KupDataTableRow[],\n start: number,\n rowsPerPage: number,\n ci: number\n): { ci: number; added: boolean } {\n let added: boolean = false;\n for (let i: number = 0; i < rows.length; i++) {\n let originalRow = rows[i];\n let row: KupDataTableRow = cloneRow(rows[i]);\n if (\n originalRow.group != null &&\n originalRow.group.children != null &&\n originalRow.group.children.length > 0\n ) {\n row.group.children = [];\n let retValue: { ci: number; added: boolean } = _paginateRows(\n originalRow.group.children,\n row.group.children,\n start,\n rowsPerPage,\n ci\n );\n ci = retValue.ci;\n added = retValue.added;\n if (added == true) {\n pagRows[pagRows.length] = row;\n }\n } else {\n if (ci >= start) {\n pagRows[pagRows.length] = row;\n added = true;\n }\n ci++;\n }\n\n if (ci >= start + rowsPerPage) {\n break;\n }\n }\n return { ci: ci, added: added };\n}\n\nfunction cloneRow(row: KupDataTableRow): KupDataTableRow {\n if (row == null) {\n return null;\n } else {\n return {\n id: row.id,\n cells: { ...row.cells },\n actions: row.actions ? [...row.actions] : null,\n group: cloneRowGroup(row.group),\n clonedFrom: row,\n readOnly: row.readOnly,\n cssClass: row.cssClass,\n };\n }\n}\n\nfunction cloneRows(rows: Array<KupDataTableRow>): Array<KupDataTableRow> {\n if (rows == null) {\n return null;\n }\n let cloned: Array<KupDataTableRow> = [];\n for (let i: number = 0; i < rows.length; i++) {\n cloned[cloned.length] = cloneRow(rows[i]);\n }\n return cloned;\n}\n\nfunction cloneRowGroup(group: KupDataTableRowGroup): KupDataTableRowGroup {\n if (group == null) {\n return null;\n }\n let cloned: KupDataTableRowGroup = {\n id: group.id,\n parent: { ...group.parent },\n column: group.column,\n columnLabel: group.columnLabel,\n expanded: group.expanded,\n label: group.label,\n children: cloneRows(group.children),\n obj: { ...group.obj },\n totals: { ...group.totals },\n };\n\n return cloned;\n}\n\n/**\n * Returns a KupDataDataset obtained as the difference between originalData and modifiedData\n * The checked data are cell.value and cell.obj.k with the same column and row\n * @param originalData\n * @param modifiedData\n * @param includesAlsoEmptyRows\n * @returns\n */\nexport function getDiffData(\n originalData: KupDataDataset,\n modifiedData: KupDataDataset,\n includesAlsoEmptyRows: boolean = false\n): KupDataDataset {\n const diffDataTable = {\n columns: modifiedData.columns,\n rows: [],\n };\n\n for (const modifiedRow of modifiedData.rows) {\n const newRow = { cells: {}, id: modifiedRow.id };\n\n for (const column of modifiedData.columns) {\n const cellKey = column.name;\n const modifiedCell = modifiedRow.cells[cellKey];\n\n const originalRow = originalData.rows.find(\n (row) => row.id === modifiedRow.id\n );\n const originalCell = originalRow\n ? originalRow.cells[cellKey]\n : null;\n\n if (!originalCell || modifiedCell.value !== originalCell.value) {\n newRow.cells[cellKey] = modifiedCell;\n }\n }\n\n if (Object.keys(newRow.cells).length > 0 || includesAlsoEmptyRows) {\n diffDataTable.rows.push(newRow);\n }\n }\n\n return diffDataTable;\n}\n\nexport function decorateDataTable(data: KupDataTableDataset) {\n data.rows?.forEach((row) => {\n Object.keys(row.cells).forEach((cellKey) => {\n let cell: KupDataTableCell = row.cells[cellKey];\n\n const value = cell.value;\n const options = cell['options'];\n cell.isEditable = cell.isEditable ?? cell['editable'];\n\n if (options) {\n const shapeAdapters = {\n [FCellShapes.AUTOCOMPLETE]: () =>\n CMBandACPAdapter(value, '', options),\n [FCellShapes.COMBOBOX]: () =>\n CMBandACPAdapter(value, '', options),\n [FCellShapes.RADIO]: () => RADAdapter(value, options),\n [FCellShapes.CHECKBOX]: () => CHKAdapter(value, options),\n [FCellShapes.CHIP]: () => CHIAdapter(value),\n };\n\n const adapterFunction = shapeAdapters[cell.shape];\n\n if (adapterFunction) {\n cell.data = adapterFunction();\n } else {\n if (cell.shape) {\n dom.ketchup.debug.logMessage(\n 'kup-data',\n `Shape specified ${\n cell.shape\n } in cell ${JSON.stringify(cell)} unsupported`,\n KupDebugCategory.WARNING\n );\n }\n }\n }\n });\n });\n}\n"],"version":3}