@sme.up/ketchup 6.0.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/cjs/{cell-utils-a78d6fac.js → cell-utils-fe64a28c.js} +2 -2
  2. package/dist/cjs/{f-button-ac179257.js → f-button-5b69d882.js} +4 -4
  3. package/dist/cjs/f-cell-3a740c48.js +418 -0
  4. package/dist/cjs/f-checkbox-57443ca3.js +29 -0
  5. package/dist/cjs/{f-chip-b00897d7.js → f-chip-02e83f82.js} +3 -3
  6. package/dist/cjs/{f-image-89f25556.js → f-image-2a61ece2.js} +2 -2
  7. package/dist/cjs/{f-paginator-utils-8fa501b3.js → f-paginator-utils-09126bdd.js} +5 -5
  8. package/dist/cjs/{f-text-field-e1e45ade.js → f-text-field-9ee20a67.js} +3 -3
  9. package/dist/cjs/{index-eb556444.js → index-06b131ea.js} +6 -4
  10. package/dist/cjs/ketchup.cjs.js +3 -3
  11. package/dist/cjs/kup-accordion.cjs.entry.js +4 -4
  12. package/dist/cjs/kup-autocomplete_25.cjs.entry.js +209 -193
  13. package/dist/cjs/kup-box.cjs.entry.js +1306 -0
  14. package/dist/cjs/kup-calendar.cjs.entry.js +7 -7
  15. package/dist/cjs/kup-cell.cjs.entry.js +10 -9
  16. package/dist/cjs/kup-dash-list.cjs.entry.js +4 -4
  17. package/dist/cjs/kup-dash_2.cjs.entry.js +4 -7
  18. package/dist/cjs/{kup-form-editor.cjs.entry.js → kup-dashboard.cjs.entry.js} +123 -148
  19. package/dist/cjs/kup-drawer.cjs.entry.js +4 -4
  20. package/dist/cjs/{kup-box_2.cjs.entry.js → kup-echart.cjs.entry.js} +53 -1338
  21. package/dist/cjs/kup-family-tree.cjs.entry.js +410 -0
  22. package/dist/cjs/kup-form.cjs.entry.js +480 -0
  23. package/dist/cjs/kup-iframe.cjs.entry.js +3 -3
  24. package/dist/cjs/kup-image-list.cjs.entry.js +73 -11
  25. package/dist/cjs/kup-lazy.cjs.entry.js +4 -4
  26. package/dist/cjs/kup-magic-box.cjs.entry.js +4 -4
  27. package/dist/cjs/{kup-manager-7a941909.js → kup-manager-02acbb37.js} +407 -7
  28. package/dist/cjs/kup-nav-bar.cjs.entry.js +3 -3
  29. package/dist/cjs/kup-numeric-picker.cjs.entry.js +3 -3
  30. package/dist/cjs/kup-photo-frame.cjs.entry.js +5 -5
  31. package/dist/cjs/kup-probe.cjs.entry.js +2 -2
  32. package/dist/cjs/kup-qlik.cjs.entry.js +2 -2
  33. package/dist/cjs/kup-snackbar.cjs.entry.js +5 -5
  34. package/dist/cjs/loader.cjs.js +3 -3
  35. package/dist/cjs/{utils-6287d878.js → utils-4b208b48.js} +1 -1
  36. package/dist/collection/assets/dashboard.js +113 -0
  37. package/dist/collection/assets/data-table.js +15 -0
  38. package/dist/collection/assets/family-tree.js +2437 -0
  39. package/dist/collection/assets/form.js +433 -0
  40. package/dist/collection/assets/grid.js +17 -0
  41. package/dist/collection/assets/index.js +14 -6
  42. package/dist/collection/collection-manifest.json +4 -3
  43. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +135 -129
  44. package/dist/collection/components/kup-box/kup-box.js +13 -2
  45. package/dist/collection/components/kup-button/kup-button.js +1 -0
  46. package/dist/collection/components/kup-combobox/kup-combobox.js +16 -13
  47. package/dist/collection/components/kup-dashboard/kup-dashboard-declarations.js +10 -0
  48. package/dist/collection/components/{kup-form-editor/kup-form-editor.css → kup-dashboard/kup-dashboard.css} +7 -6
  49. package/dist/collection/components/{kup-form-editor/kup-form-editor.js → kup-dashboard/kup-dashboard.js} +148 -149
  50. package/dist/collection/components/kup-data-table/kup-data-table.js +7 -6
  51. package/dist/collection/components/kup-drawer/kup-drawer.css +5 -8
  52. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +1 -0
  53. package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +12 -0
  54. package/dist/collection/components/kup-family-tree/kup-family-tree.css +101 -0
  55. package/dist/collection/components/kup-family-tree/kup-family-tree.js +666 -0
  56. package/dist/collection/components/kup-form/kup-form-declarations.js +25 -0
  57. package/dist/collection/components/kup-form/kup-form.css +99 -0
  58. package/dist/collection/components/kup-form/kup-form.js +647 -0
  59. package/dist/collection/components/kup-grid/kup-grid.js +1 -4
  60. package/dist/collection/components/kup-image-list/kup-image-list-state.js +9 -0
  61. package/dist/collection/components/kup-image-list/kup-image-list.css +0 -6
  62. package/dist/collection/components/kup-image-list/kup-image-list.js +113 -1
  63. package/dist/collection/components/kup-lazy/kup-lazy.css +13 -6
  64. package/dist/collection/components/kup-list/kup-list-helper.js +9 -3
  65. package/dist/collection/components/kup-photo-frame/kup-photo-frame.css +13 -3
  66. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +1 -1
  67. package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +3 -0
  68. package/dist/collection/components/kup-text-field/kup-text-field.js +27 -0
  69. package/dist/collection/components/kup-time-picker/kup-time-picker.js +0 -6
  70. package/dist/collection/components/kup-tree/kup-tree.js +10 -4
  71. package/dist/collection/f-components/f-button/f-button.js +2 -2
  72. package/dist/collection/f-components/f-cell/f-cell-declarations.js +5 -1
  73. package/dist/collection/f-components/f-cell/f-cell.js +34 -114
  74. package/dist/collection/f-components/f-text-field/f-text-field.js +1 -1
  75. package/dist/collection/managers/kup-data/kup-data-node-helper.js +69 -0
  76. package/dist/collection/managers/kup-data/kup-data.js +109 -1
  77. package/dist/collection/managers/kup-language/kup-language-declarations.js +11 -0
  78. package/dist/collection/managers/kup-objects/kup-objects.js +10 -0
  79. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +20 -3
  80. package/dist/collection/types/GenericTypes.js +3 -2
  81. package/dist/esm/{cell-utils-964da6b5.js → cell-utils-cb5d4149.js} +2 -2
  82. package/dist/esm/{f-button-871a544b.js → f-button-fd44ef70.js} +4 -4
  83. package/dist/esm/{f-cell-521ef17a.js → f-cell-7b159a22.js} +48 -283
  84. package/dist/esm/f-checkbox-c51c4a75.js +27 -0
  85. package/dist/esm/{f-chip-1dda722f.js → f-chip-c2e4c522.js} +3 -3
  86. package/dist/esm/{f-image-c468d8ae.js → f-image-2ab4b9aa.js} +2 -2
  87. package/dist/esm/{f-paginator-utils-7dff8ff0.js → f-paginator-utils-ef537d82.js} +5 -5
  88. package/dist/esm/{f-text-field-d6c61c73.js → f-text-field-41c575eb.js} +3 -3
  89. package/dist/esm/{index-baeab1ac.js → index-ad6ab214.js} +6 -4
  90. package/dist/esm/ketchup.js +3 -3
  91. package/dist/esm/kup-accordion.entry.js +4 -4
  92. package/dist/esm/kup-autocomplete_25.entry.js +199 -183
  93. package/dist/esm/kup-box.entry.js +1302 -0
  94. package/dist/esm/kup-calendar.entry.js +7 -7
  95. package/dist/esm/kup-cell.entry.js +9 -8
  96. package/dist/esm/kup-dash-list.entry.js +4 -4
  97. package/dist/esm/kup-dash_2.entry.js +4 -7
  98. package/dist/esm/{kup-form-editor.entry.js → kup-dashboard.entry.js} +123 -148
  99. package/dist/esm/kup-drawer.entry.js +4 -4
  100. package/dist/esm/{kup-box_2.entry.js → kup-echart.entry.js} +54 -1338
  101. package/dist/esm/kup-family-tree.entry.js +406 -0
  102. package/dist/esm/kup-form.entry.js +476 -0
  103. package/dist/esm/kup-iframe.entry.js +3 -3
  104. package/dist/esm/kup-image-list.entry.js +72 -10
  105. package/dist/esm/kup-lazy.entry.js +4 -4
  106. package/dist/esm/kup-magic-box.entry.js +4 -4
  107. package/dist/esm/{kup-manager-58b075b4.js → kup-manager-22a475e6.js} +404 -8
  108. package/dist/esm/kup-nav-bar.entry.js +3 -3
  109. package/dist/esm/kup-numeric-picker.entry.js +3 -3
  110. package/dist/esm/kup-photo-frame.entry.js +5 -5
  111. package/dist/esm/kup-probe.entry.js +2 -2
  112. package/dist/esm/kup-qlik.entry.js +2 -2
  113. package/dist/esm/kup-snackbar.entry.js +5 -5
  114. package/dist/esm/loader.js +3 -3
  115. package/dist/esm/{utils-d7e4b3c2.js → utils-2c1f4122.js} +1 -1
  116. package/dist/ketchup/ketchup.esm.js +1 -1
  117. package/dist/ketchup/p-06c6cc68.js +1 -0
  118. package/dist/ketchup/{p-3c11e615.entry.js → p-0dacd4bc.entry.js} +1 -1
  119. package/dist/ketchup/{p-fac1a08b.entry.js → p-1959f835.entry.js} +1 -1
  120. package/dist/ketchup/p-1c44dc62.entry.js +1 -0
  121. package/dist/ketchup/{p-f09f2f98.entry.js → p-264b1b19.entry.js} +1 -1
  122. package/dist/ketchup/p-38d7584e.js +1 -0
  123. package/dist/ketchup/{p-f71a1675.entry.js → p-42080355.entry.js} +1 -1
  124. package/dist/ketchup/p-4bc9f98b.entry.js +1 -0
  125. package/dist/ketchup/p-578583db.entry.js +1 -0
  126. package/dist/ketchup/p-5866d507.entry.js +1 -0
  127. package/dist/ketchup/p-61059e9d.entry.js +9 -0
  128. package/dist/ketchup/{p-a615a92b.entry.js → p-664be494.entry.js} +1 -1
  129. package/dist/ketchup/{p-d2ee56dd.entry.js → p-67cd575d.entry.js} +1 -1
  130. package/dist/ketchup/{p-e0035c58.js → p-682a367a.js} +1 -1
  131. package/dist/ketchup/p-6ccf7eb2.entry.js +1 -0
  132. package/dist/ketchup/p-7230ab97.entry.js +1 -0
  133. package/dist/ketchup/p-752b4cef.entry.js +1 -0
  134. package/dist/ketchup/{p-954cc340.entry.js → p-7de3e7ac.entry.js} +1 -1
  135. package/dist/ketchup/p-928c5c36.js +1 -0
  136. package/dist/ketchup/{p-6dff70f8.entry.js → p-9b36497d.entry.js} +1 -1
  137. package/dist/ketchup/{p-99e0d768.entry.js → p-b982d137.entry.js} +1 -1
  138. package/dist/ketchup/{p-8cdf61a4.js → p-c0219e5e.js} +1 -1
  139. package/dist/ketchup/p-c55fd0a7.entry.js +1 -0
  140. package/dist/ketchup/p-cd5cfa7c.js +1 -0
  141. package/dist/ketchup/p-d154b3a0.entry.js +1 -0
  142. package/dist/ketchup/p-d2affb6f.entry.js +27 -0
  143. package/dist/ketchup/p-d3b542b3.js +2 -0
  144. package/dist/ketchup/{p-7454cb92.js → p-d6c12c6c.js} +1 -1
  145. package/dist/ketchup/p-da0eab60.entry.js +1 -0
  146. package/dist/ketchup/{p-7eff4eee.js → p-dc62a30f.js} +1 -1
  147. package/dist/ketchup/p-e9366aaf.entry.js +39 -0
  148. package/dist/ketchup/{p-44ec4f03.js → p-edae3076.js} +1 -1
  149. package/dist/ketchup/p-fc2b1229.js +30 -0
  150. package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +1 -16
  151. package/dist/types/components/{kup-form-editor/kup-form-editor-declarations.d.ts → kup-dashboard/kup-dashboard-declarations.d.ts} +9 -27
  152. package/dist/types/components/{kup-form-editor/kup-form-editor.d.ts → kup-dashboard/kup-dashboard.d.ts} +12 -9
  153. package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +33 -0
  154. package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +61 -0
  155. package/dist/types/components/kup-form/kup-form-declarations.d.ts +60 -0
  156. package/dist/types/components/kup-form/kup-form.d.ts +63 -0
  157. package/dist/types/components/kup-image-list/kup-image-list-state.d.ts +6 -0
  158. package/dist/types/components/kup-image-list/kup-image-list.d.ts +17 -0
  159. package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +3 -0
  160. package/dist/types/components/kup-text-field/kup-text-field.d.ts +5 -0
  161. package/dist/types/components/kup-time-picker/kup-time-picker.d.ts +0 -6
  162. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +2 -0
  163. package/dist/types/components.d.ts +460 -241
  164. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +4 -1
  165. package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +1 -0
  166. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +8 -0
  167. package/dist/types/managers/kup-data/kup-data-node-helper.d.ts +15 -1
  168. package/dist/types/managers/kup-data/kup-data.d.ts +7 -1
  169. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +11 -1
  170. package/dist/types/managers/kup-objects/kup-objects.d.ts +6 -0
  171. package/dist/types/types/GenericTypes.d.ts +3 -2
  172. package/package.json +2 -2
  173. package/dist/cjs/f-cell-69294bca.js +0 -653
  174. package/dist/cjs/kup-field.cjs.entry.js +0 -241
  175. package/dist/collection/assets/form-editor.js +0 -338
  176. package/dist/collection/components/kup-field/kup-field-declarations.js +0 -15
  177. package/dist/collection/components/kup-field/kup-field.css +0 -48
  178. package/dist/collection/components/kup-field/kup-field.js +0 -514
  179. package/dist/collection/components/kup-form-editor/kup-form-editor-declarations.js +0 -23
  180. package/dist/esm/kup-field.entry.js +0 -237
  181. package/dist/ketchup/p-1ae66cc5.js +0 -1
  182. package/dist/ketchup/p-34b74425.js +0 -1
  183. package/dist/ketchup/p-4ffbc3ff.js +0 -1
  184. package/dist/ketchup/p-5264a3e6.entry.js +0 -1
  185. package/dist/ketchup/p-65974e48.entry.js +0 -1
  186. package/dist/ketchup/p-65b46587.entry.js +0 -40
  187. package/dist/ketchup/p-80968627.entry.js +0 -1
  188. package/dist/ketchup/p-a0f6e25c.entry.js +0 -1
  189. package/dist/ketchup/p-aca0e54b.js +0 -30
  190. package/dist/ketchup/p-b8939a8b.entry.js +0 -1
  191. package/dist/ketchup/p-bfc3bac7.js +0 -1
  192. package/dist/ketchup/p-c5ce8951.entry.js +0 -1
  193. package/dist/ketchup/p-cad1e097.entry.js +0 -9
  194. package/dist/ketchup/p-db71436b.entry.js +0 -27
  195. package/dist/ketchup/p-e1039cf2.entry.js +0 -1
  196. package/dist/ketchup/p-ea10176c.entry.js +0 -1
  197. package/dist/types/components/kup-field/kup-field-declarations.d.ts +0 -25
  198. package/dist/types/components/kup-field/kup-field.d.ts +0 -90
@@ -0,0 +1 @@
1
+ import{r as t,c as o,f as i,h as e,H as s,g as r}from"./p-d3b542b3.js";import{k as n,h as a,K as l,c as h,y as c,B as p,C as b,D as d,v as u,M as x}from"./p-fc2b1229.js";import{g}from"./p-d6c12c6c.js";import{f,p as m,s as k,h as w,r as v,k as y,e as _}from"./p-c0219e5e.js";import{i as j,g as C,s as A}from"./p-682a367a.js";import{F as R}from"./p-38d7584e.js";import{a as P}from"./p-dc62a30f.js";import{c as z}from"./p-97e8ea42.js";import{F as I}from"./p-06c6cc68.js";import{F as S}from"./p-a203f78b.js";import"./p-928c5c36.js";import"./p-6c77a36c.js";import"./p-cd5cfa7c.js";import"./p-edae3076.js";import"./p-79b0730b.js";import"./p-81605f08.js";var M;!function(t){t.cardData="Data of the card linked to the box when the latter's layout must be a premade template.",t.columns="Number of columns.",t.customStyle="Custom style of the component.",t.data="Actual data of the box.",t.dragEnabled="Enable dragging.",t.dropEnabled="Enable dropping.",t.dropOnSection="Drop can be done in section.",t.enableRowActions="If enabled, a button to load / display the row actions will be displayed on the right of every box.",t.globalFilter="When set to true it activates the global filter.",t.globalFilterValue="The value of the global filter.",t.kanban="Displays the boxlist as a Kanban.",t.layout="How the field will be displayed. If not present, a default one will be created.",t.multiSelection="Enable multi selection.",t.pageSelected="Current page number.",t.pageSize="Number of boxes per page.",t.pagination="Enables pagination.",t.rowsPerPage="Number of current rows per page.",t.scrollOnHover="Activates the scroll on hover function.",t.selectBox="Automatically selects the box at the specified index.",t.selectedRowsState="Multiple selection.",t.showSelection="If enabled, highlights the selected box/boxes.",t.sortBy="If sorting is enabled, specifies which column to sort.",t.sortEnabled="Enable sorting.",t.stateId="",t.store="",t.swipeDisabled="Disable swipe."}(M||(M={}));class B{constructor(){this.globalFilterValue="",this.sortBy="",this.selectedRowsState="",this.pageSelected=1,this.rowsPerPage=0,this.load=!1}toDebugString(){return"box state"}}const D=class{constructor(i){t(this,i),this.kupBoxClick=o(this,"kup-box-click",6),this.kupBoxSelected=o(this,"kup-box-selected",6),this.kupAutoBoxSelect=o(this,"kup-box-autoselect",6),this.kupRowActionMenuClick=o(this,"kup-box-rowactionmenuclick",6),this.kupRowActionClick=o(this,"kup-box-rowactionclick",6),this.kupDidLoad=o(this,"kup-box-didload",6),this.kupDidUnload=o(this,"kup-box-didunload",6),this.kupBoxContextMenu=o(this,"kup-box-contextmenu",6),this.collapsedSection={},this.selectedRows=[],this.currentPage=1,this.currentRowsPerPage=10,this.state=new B,this.cardData=null,this.columns=1,this.customStyle="",this.data=null,this.dragEnabled=!1,this.dropEnabled=!1,this.dropOnSection=!1,this.editableData=!1,this.enableRowActions=!1,this.globalFilter=!1,this.globalFilterValue="",this.kanban=null,this.multiSelection=!1,this.pageSelected=1,this.pageSize=10,this.pagination=!1,this.scrollOnHover=!1,this.showSelection=!0,this.sortEnabled=!1,this.stateId="",this.swipeDisabled=!1,this.kupManager=n(),this.visibleColumns=[],this.rows=[],this.filteredRows=[],this.sectionRef=null,this.rowsRefs=[],this.hold=!1,this.interactableDrag=[],this.interactableDrop=[],this.interactableTouch=[]}initWithPersistedState(){if(this.store&&this.stateId){const t=this.store.getState(this.stateId);null!=t&&(this.kupManager.debug.logMessage(this,"Initialize with state for stateId "+this.stateId+": "+t),this.sortBy=this.state.sortBy,this.globalFilterValue=this.state.globalFilterValue,this.selectedRowsState=this.state.selectedRowsState,this.pageSelected=this.state.pageSelected,this.rowsPerPage=this.state.rowsPerPage)}}persistState(){if(this.store&&this.stateId){let t=!1;this.kupManager.objects.deepEqual(this.state.sortBy,this.sortBy)||(this.state.sortBy=this.sortBy,t=!0),this.kupManager.objects.deepEqual(this.state.globalFilterValue,this.globalFilterValue)||(this.state.globalFilterValue=this.globalFilterValue,t=!0),this.kupManager.objects.deepEqual(this.state.pageSelected,this.currentPage)||(this.state.pageSelected=this.currentPage,t=!0),this.kupManager.objects.deepEqual(this.state.rowsPerPage,this.currentRowsPerPage)||(this.state.rowsPerPage=this.currentRowsPerPage,t=!0);const o=this.selectedRows.reduce(((t,o,i)=>t+(i>0?";":"")+o.id),"");if(this.kupManager.objects.deepEqual(this.state.selectedRowsState,o)||(this.state.selectedRowsState=o,t=!0),!this.state.load)return void(this.state.load=!0);t&&(this.kupManager.debug.logMessage(this,"Persisting state for stateId "+this.stateId+": "+this.state),this.store.persistState(this.stateId,this.state))}}rowsPerPageHandler(t){this.currentRowsPerPage=t}recalculateRows(){this.initRows()}onDataChanged(){j(this.getRows()),this.initVisibleColumns(),this.initRows(),this.checkLayout()}onLayoutChanged(){this.checkLayout()}onSelectBoxChanged(){this.handleAutomaticBoxSelection()}async getProps(t){return C(this,M,t)}async loadRowActions(t,o){t.actions=o,this.rowActionMenuOpened=t}async refresh(){i(this)}async setProps(t){A(this,M,t)}getColumns(){return this.data&&this.data.columns?this.data.columns:[{title:"",name:"",size:void 0}]}initVisibleColumns(){this.visibleColumns=this.getColumns().filter((t=>!t.hasOwnProperty("visible")||t.visible))}getRows(){return this.data&&this.data.rows?this.data.rows:[]}initRows(){this.filteredRows=this.getRows(),this.globalFilter&&this.globalFilterValue&&(this.filteredRows=f(this.filteredRows,null,this.globalFilterValue,this.visibleColumns)),this.rows=this.sortRows(this.filteredRows),this.pagination&&(this.rows=m(this.rows,this.currentPage,this.currentRowsPerPage,!1))}sortRows(t){let o=t;return this.sortBy&&(o=k(o,[{column:this.sortBy,sortMode:x.A}])),o}checkScrollOnHover(){this.kupManager.scrollOnHover.isRegistered(this.boxContainer)?this.scrollOnHover||this.kupManager.scrollOnHover.unregister(this.boxContainer):this.scrollOnHover&&this.kupManager.scrollOnHover.register(this.boxContainer)}checkLayout(){if(this.layout)return void(this.boxLayout=this.layout);const t={horizontal:!1,sections:[]},o=this.visibleColumns;let i=o.length,e=[],s=0;for(;i-- >0;)e.push({column:o[s++].name});t.content=e,this.boxLayout={sections:[t]}}onSortChange(t){let o=g(this.visibleColumns,t.detail.value);this.sortBy=o.name}onGlobalFilterChange({detail:t}){let o="";t&&t.value&&(o=t.value),this.globalFilterValue=o}isSectionExpanded(t,o){return!(!t.id||!o.id)&&this.collapsedSection[o.id]&&this.collapsedSection[o.id][t.id]}handleAutomaticBoxSelection(){if(this.selectBox&&this.selectBox>0&&this.selectBox<=this.data.rows.length){this.selectedRows=[];for(let t of this.data.rows)if(t.id===(this.selectBox-1).toString()){this.selectedRows.push(t);break}this.kupAutoBoxSelect.emit({comp:this,id:this.rootElement.id,row:this.selectedRows[0]})}}getEventDetails(t,o){let i=null,e=null,s=null,r=null;return t&&(i=t.closest(".box-object")||t.querySelector(".box-object")),i&&(e=i["data-cell"],s=i["data-row"],r=g(this.visibleColumns,i.dataset.column)),{boxObject:i||null,column:r||null,cell:e||null,originalEvent:o,row:s||null}}contextMenuHandler(t){return this.getEventDetails(t.target,t)}checkIfElementIsActionMenuIcon(t){return!(!t.tagName||!t.parentElement)&&"svg"===t.tagName&&t.parentElement.classList.contains("row-actions-toggler")}onBoxClick({target:t},o){if(!(t instanceof HTMLElement))return;let i=t,e=i.classList;for(;!e.contains("box-object")&&!e.contains("box-section")&&!e.contains("box")&&(i=i.parentElement,null!==i);)e=i.classList;let s=null;e.contains("box-object")&&(s=i.dataset.column),this.kupBoxClick.emit({comp:this,id:this.rootElement.id,row:o,column:s}),this.multiSelection?this.onSelectionCheckChange(o):this.selectedRows=[o]}onSelectionCheckChange(t){var o=-1;for(let i=0;i<this.selectedRows.length;i++)if(this.selectedRows[i].id===t.id){o=i;break}o>=0?(this.selectedRows.splice(o,1),this.selectedRows=[...this.selectedRows]):this.selectedRows=[...this.selectedRows,t],this.kupBoxSelected.emit({comp:this,id:this.rootElement.id,rows:this.selectedRows})}toggleSectionExpand(t,o){if(o.id)if(t.id){if(this.collapsedSection[o.id]){const i=this.collapsedSection[o.id];i[t.id]=!i[t.id]||!i[t.id]}else this.collapsedSection[o.id]={},this.collapsedSection[o.id][t.id]=!0;this.collapsedSection=Object.assign({},this.collapsedSection)}else console.error("cannot expand / collapse a section of a row without ad id");else console.error("cannot expand / collapse a section withoun an ID")}onRowAction(t){t&&(t!==this.rowActionMenuOpened?t.actions?this.rowActionMenuOpened=t:this.kupRowActionMenuClick.emit({comp:this,id:this.rootElement.id,row:t}):this.rowActionMenuOpened=null)}onRowActionClick(t,o,i){this.kupRowActionClick.emit({comp:this,id:this.rootElement.id,row:t,action:o,index:i})}clickFunction(t){try{const o=t.composedPath();for(let t of o)if(this.checkIfElementIsActionMenuIcon(t))return}catch(o){if(this.checkIfElementIsActionMenuIcon(t.target))return}this.rowActionMenuOpened=null}handlePageChange(t){const o=w(t,this.filteredRows.length,this.currentRowsPerPage);o&&(this.currentPage=o)}handleRowsPerPageChange(t){const o=v(t,this.filteredRows.length);o&&(this.currentRowsPerPage=o,this.adjustPaginator())}adjustPaginator(){const t=Math.ceil(this.rows.length/this.currentRowsPerPage);this.currentPage>t&&(this.currentPage=1)}renderSectionAsCard(t){let o=!1,i={button:[],image:[],progressbar:[],text:[]};for(var s in t.cells)if(t.cells.hasOwnProperty(s)&&void 0!==(r=t.cells[s]).cardID)switch(r.obj.p){case"BTN":do{i.button.push({})}while(i.button.length<r.cardID);i.button[r.cardID]={label:r.value};break;case"IMG":do{i.image.push({})}while(i.image.length<r.cardID);i.image[r.cardID]={resource:r.value};break;case"PGB":do{i.progressbar.push({})}while(i.progressbar.length<r.cardID);i.progressbar[r.cardID]={value:r.value};break;default:do{i.text.push("")}while(i.text.length<r.cardID);i.text[r.cardID]=r.value}for(var s in t.cells){var r;if(t.cells.hasOwnProperty(s)&&void 0===(r=t.cells[s]).cardID)switch(o=!1,r.obj.p){case"BTN":for(let t=0;t<i.button.length;t++)if(i.button[t]==={}){i.button[t]={label:r.value},o=!0;break}o||i.button.push({label:r.value});break;case"IMG":for(let t=0;t<i.image.length;t++)if(i.image[t]==={}){i.image[t]={resource:r.value},o=!0;break}o||i.image.push({resource:r.value});break;case"PGB":for(let t=0;t<i.progressbar.length;t++)if(i.progressbar[t]==={}){i.progressbar[t]={value:r.value},o=!0;break}o||i.progressbar.push({value:r.value});break;default:for(let t=0;t<i.text.length;t++)if(""===i.text[t]){i.text[t]=r.value,o=!0;break}o||i.text.push(r.value)}}return e("kup-card",Object.assign({data:i},this.cardData))}renderRow(t){const o=[...this.visibleColumns];let i=null,s=t.layout;s||(s=this.boxLayout);let r=!1;if(s){s.horizontal&&(r=!0);const e=s.sections;let n=e.length,a=0;n>0&&(i=[]);const l={horizontal:r};for(;n-- >0;)i.push(null!=this.cardData&&"object"==typeof this.cardData?this.renderSectionAsCard(t):this.renderSection(e[a++],l,t,o))}var n=!1;for(let o of this.selectedRows)o.id===t.id&&(n=!0);let a=null;this.multiSelection&&(a=e("div",{class:"box-selection"},e("kup-checkbox",{checked:n})));let l=null;if(this.enableRowActions&&!this.swipeDisabled){const o={"row-action-menu":!0,open:t===this.rowActionMenuOpened};let i=null;if(t.actions){const o=t.actions.map(((o,i)=>e("li",{tabindex:"0",onClick:()=>this.onRowActionClick(t,o,i)},e("div",{class:`icon ${o.icon}`}),e("div",{class:"text"},o.text))));i=e("ul",null,o)}l=e("div",{class:"row-actions-wrapper"},e("div",{class:"row-actions-toggler"},e("svg",{version:"1.1",width:"24",height:"24",viewBox:"0 0 24 24",onClick:()=>this.onRowAction(t)},e("path",{d:"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z"})),e("div",{class:o},i)))}let h=null;return t.badgeData&&t.badgeData.length>0&&(h=t.badgeData.map((t=>e("kup-badge",{text:t.text,class:t.className?`centered ${t.className}`:"centered",imageData:t.imageData})))),e("div",{class:"box-wrapper"},e("div",{class:{box:!0,draggable:this.dragEnabled,selected:this.showSelection&&n,column:!r},onClick:o=>this.onBoxClick(o,t),ref:t=>this.rowsRefs.push(t)},a,i,h),l)}renderSection(t,o,i,s){let r=null;if(t.sections&&t.sections.length>0){const o=t.sections;let e=o.length,n=0;for(e>0&&(r=[]);e-- >0;)r.push(this.renderSection(o[n++],t,i,s))}else if(t.content){const o=t.content;let e=o.length,n=0;for(e>0&&(r=[]);e-- >0;)r.push(this.renderBoxObject({boxObject:o[n++],row:i,visibleColumns:s},!0))}else s.length>0&&(r=this.renderBoxObject({boxObject:{column:s[0].name},row:i,visibleColumns:s}));const n=this.isSectionExpanded(i,t),h=!!t.columns,c={"box-section":!0,open:n,column:!h&&!t.horizontal,grid:h,titled:!!t.title,"last-child":!t.sections||0===t.sections.length},p=t.style||{};t.dim&&o&&(p.flex=`0 0 ${t.dim}`,o.horizontal?p.maxWidth=t.dim:p.maxHeight=t.dim),h&&(p["grid-template-columns"]=`repeat(${t.columns}, 1fr)`);let b=null;if(t.collapsible){c["collapse-section"]=!0;const o={content:!0};let s="";s=t.title?t.title:this.kupManager.language.translate(n?a.COLLAPSE:a.EXPAND),b=e("div",{class:c,style:p},e("div",{class:o},r),e("div",{class:"header",role:"button",onClick:o=>{o.stopPropagation(),this.toggleSectionExpand(i,t)}},e("div",{class:"header-content"},e("span",null,s),e(R,{resource:`${l.DROPDOWN}`,sizeX:"1.25em",sizeY:"1.25em",wrapperClass:n?"toggled":""}))))}else{const o=t.title?e("h3",null,t.title):null;b=e("div",{class:c,style:p},o,r)}return b}renderBoxObject({boxObject:t,row:o,visibleColumns:i},s){const r={"box-object":!0};let n=null,a=-1;for(let o=0;o<i.length;o++)if(i[o].name===t.column){a=o;break}a>=0?(n=i[a],i.splice(a,1)):s&&(n=this.data.columns.find((o=>o.name===t.column)));const l=o.cells[t.column];let h;return l&&!this.kupManager.objects.isEmptyKupObj(l.obj)&&(r["is-obj"]=!0,this.kupManager.debug.isDebug()&&(h=l.obj.t+"; "+l.obj.p+"; "+l.obj.k+";")),e("div",{"data-cell":l,"data-row":o,"data-column":t.column,class:r,style:{},title:h},l&&n?e(I,Object.assign({},{cell:l,column:n,component:this,editable:this.editableData,renderKup:!0,row:o,setSizes:!0,shape:t.shape})):e("span",null,t.value))}kanbanMode(){if(!this.kanban.columns||0===this.kanban.columns.length)return this.kupManager.debug.logMessage(this,"No columns to group by detected.",h.ERROR),{jsx:e("div",{id:"empty-data-message",class:"box-wrapper"},e("div",{ref:t=>this.rowsRefs.push(t)}),this.kupManager.language.translate(a.EMPTY_DATA)),style:{"grid-template-columns":"repeat(1, 1fr)"}};const t=[];if(this.kanban.labels)for(let o=0;o<this.kanban.labels.length;o++)t.push({labels:this.kanban.labels[o],nodes:[]});for(let o=0;o<this.rows.length;o++){let i=[];for(let t=0;t<this.kanban.columns.length;t++)try{i.push(this.rows[o].cells[this.kanban.columns[t]].value)}catch(t){this.kupManager.debug.logMessage(this,t,h.WARNING)}const e={found:!1,index:null};for(let o=0;o<t.length;o++){let s=t[o].labels,r=!0;for(let t=0;t<s.length;t++)if(i[t]!==s[t]){r=!1;break}if(r){e.found=!0,e.index=o;break}}e.found?t[e.index].nodes.push(this.renderRow(this.rows[o])):t.push({labels:i,nodes:[this.renderRow(this.rows[o])]})}const o=[];for(let i=0;i<t.length;i++){const s=t[i].labels,r={data:[]};for(let t=0;t<s.length;t++)r.data.push({value:s[t],id:s[t]});o.push(e("div",{class:"kanban-section"},e(P,Object.assign({},r)),t[i].nodes))}return{jsx:o,style:{"grid-template-columns":this.kanban.size?`repeat(${Object.keys(t).length}, ${this.kanban.size})`:`repeat(${Object.keys(t).length}, 1fr)`}}}didLoadInteractables(){this.interactableTouch.push(this.boxContainer),this.kupManager.interact.on(this.boxContainer,c.TAP,(t=>{if(this.hold)this.hold=!1;else switch(t.button){case 2:this.kupBoxContextMenu.emit({comp:this,id:this.rootElement.id,details:this.contextMenuHandler(t)})}})),this.kupManager.interact.on(this.boxContainer,c.HOLD,(t=>{"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.hold=!0,this.kupBoxContextMenu.emit({comp:this,id:this.rootElement.id,details:this.contextMenuHandler(t)}))}))}didRenderInteractables(){if(this.dragEnabled)for(let t=0;t<this.rowsRefs.length;t++){const o=this.rowsRefs[t],i=()=>{const t=this.rootElement.shadowRoot.querySelector(".box-object:hover");return{cell:t["data-cell"],column:g(this.visibleColumns,t.dataset.column),id:this.rootElement.id,multiple:this.multiSelection,row:t["data-row"],selectedRows:this.selectedRows}};o&&!this.interactableDrag.includes(o)&&(this.interactableDrag.push(o),this.kupManager.interact.draggable(o,{allowFrom:".box-object",cursorChecker:()=>null},{callback:i},p.BADGE))}if(this.dropEnabled){const t=()=>{const t=this.getEventDetails(this.rootElement.shadowRoot.querySelector(".box:hover"));return{cell:t.cell,column:t.column,id:this.rootElement.id,row:t.row}};this.interactableDrop.includes(this.sectionRef)||(this.interactableDrop.push(this.sectionRef),this.kupManager.interact.dropzone(this.sectionRef,{accept:`[${b}]`},{dispatcher:this.rootElement,type:d.BOX}));for(let o=0;o<this.rowsRefs.length;o++){const i=this.rowsRefs[o];i&&!this.interactableDrop.includes(i)&&(this.interactableDrop.push(i),this.kupManager.interact.dropzone(i,{accept:`[${b}]`},{callback:t,dispatcher:this.rootElement,type:d.BOX}))}}}componentWillLoad(){this.kupManager.debug.logLoad(this,!1),this.rowsPerPage?this.currentRowsPerPage=this.rowsPerPage:this.pageSize&&(this.currentRowsPerPage=this.pageSize),this.data&&this.data.rows&&this.currentRowsPerPage>this.data.rows.length&&(this.currentRowsPerPage=this.data.rows.length),this.kupManager.language.register(this),this.kupManager.theme.register(this),this.onDataChanged(),this.adjustPaginator()}componentDidLoad(){if(this.handleAutomaticBoxSelection(),document.addEventListener("click",this.clickFunction.bind(this)),this.currentPage=this.pageSelected,this.multiSelection&&this.selectedRowsState){this.selectedRows=[];let t=this.selectedRowsState.split(";");this.selectedRows=this.data.rows.filter((o=>t.indexOf(o.id)>=0))}this.didLoadInteractables(),this.kupDidLoad.emit({comp:this,id:this.rootElement.id}),this.kupManager.debug.logLoad(this,!0)}componentWillRender(){this.kupManager.debug.logRender(this,!1)}componentDidRender(){const t=this.rootElement.shadowRoot;if(t){const o=t.querySelectorAll(".f-text-field");for(let t=0;t<o.length;t++)S(o[t])}this.checkScrollOnHover(),this.persistState(),this.didRenderInteractables(),this.kupManager.debug.logRender(this,!0)}render(){const t=!("object"!=typeof this.kanban||null===this.kanban);let o=null;if(this.sortEnabled){const t=[{value:"",id:""},...this.visibleColumns.map((t=>({value:t.title,id:t.name,selected:t.name===this.sortBy})))];let i={label:this.kupManager.language.translate(a.SORT_BY),trailingIcon:!0};o=e("div",{id:"sort-panel"},e("kup-combobox",{data:{"kup-text-field":i,"kup-list":{data:t,selectable:!0}},initialValue:this.sortBy,"onkup-combobox-itemclick":t=>this.onSortChange(t)}))}let i=null;this.globalFilter&&(i=e("div",{id:"global-filter"},e("kup-text-field",{fullWidth:!0,label:this.kupManager.language.translate(u.SEARCH),icon:l.SEARCH,initialValue:this.globalFilterValue,"onkup-textfield-input":t=>{window.clearTimeout(this.globalFilterTimeout),this.globalFilterTimeout=window.setTimeout((()=>this.onGlobalFilterChange(t)),600)}})));let r=null;this.pagination&&(r=e(_,{id:top?"top-paginator":"bottom-paginator",currentPage:this.currentPage,max:this.filteredRows.length,mode:y.SIMPLE,perPage:this.currentRowsPerPage?this.currentRowsPerPage:this.pageSize,onPageChange:t=>this.handlePageChange(t.detail.value),onRowsChange:t=>this.handleRowsPerPageChange(t.detail.value)}));let n=null,h={};if(0===this.rows.length)n=e("div",{id:"empty-data-message",class:"box-wrapper"},e("div",{class:"box",ref:t=>this.rowsRefs.push(t)},this.kupManager.language.translate(a.EMPTY_DATA))),h={"grid-template-columns":"repeat(1, 1fr)"};else if(t){const t=this.kanbanMode();n=t.jsx,h=t.style}else{h={"grid-template-columns":`repeat(${this.columns}, 1fr)`};const t=this.rows;let o=t.length,i=0;for(n=[];o-- >0;)n.push(this.renderRow(t[i++]))}return e(s,null,e("style",null,this.kupManager.theme.setKupStyle(this.rootElement)),e("div",{id:z},e("div",{class:"box-component",ref:t=>this.sectionRef=t},o,i,r,e("div",{class:t?"is-kanban":"",id:"box-container",style:h,onContextMenu:t=>{t.preventDefault()},ref:t=>this.boxContainer=t},n))))}disconnectedCallback(){this.kupManager.interact.unregister(this.interactableDrag.concat(this.interactableDrop)),this.kupManager.language.unregister(this),this.kupManager.theme.unregister(this),this.scrollOnHover&&this.kupManager.scrollOnHover.unregister(this.boxContainer),document.removeEventListener("click",this.clickFunction.bind(this)),this.kupDidUnload.emit({comp:this,id:this.rootElement.id})}get rootElement(){return r(this)}static get watchers(){return{pageSize:["rowsPerPageHandler","recalculateRows"],globalFilterValue:["recalculateRows"],sortBy:["recalculateRows"],pagination:["recalculateRows"],currentPage:["recalculateRows"],currentRowsPerPage:["recalculateRows"],data:["onDataChanged"],layout:["onLayoutChanged"],selectBox:["onSelectBoxChanged"]}}};D.style=":host{--kup_box_background_color:var(\n --kup-box-background-color,\n var(--kup-background-color)\n );--kup_box_color:var(--kup-box-color, var(--kup-text-color));--kup_box_font_family:var(--kup-box-font-family, var(--kup-font-family));--kup_box_font_size:var(--kup-box-font-size, var(--kup-font-size));--kup_box_grid_gap:var(--kup-box-grid-gap, 1em);--kup_box_hover_box_shadow:var(\n --kup-box-hover-box-shadow,\n 0px 0px 7.5px 0px rgba(128, 128, 128, 0.5)\n );--kup_box_primary_color_rgb:var(\n --kup-box-primary-color-rgb,\n var(--kup-primary-color-rgb)\n );--kup_box_transition:var(--kup-box-transition, 0.25s);display:block;font-family:var(--kup_box_font_family);font-size:var(--kup_box_font_size)}.box-component{background:var(--kup_box_background_color);transition:border var(--kup_box_transition) ease}.box-component[kup-drag-over]{position:relative;border:3px dashed var(--kup-border-color)}#box-container{display:grid;grid-gap:var(--kup_box_grid_gap);color:var(--kup_box_color);overflow:auto}#box-container.is-kanban .kanban-section{overflow:auto}#box-container.is-kanban .box-wrapper{padding-top:1em}#box-container.is-kanban .box-wrapper .box{overflow:auto}#box-container *{box-sizing:border-box}#box-container .box-wrapper{display:flex;align-items:center}#box-container .box-wrapper .box{flex-grow:1;cursor:pointer;position:relative;display:flex;transition:background-color var(--kup_box_transition) ease, box-shadow var(--kup_box_transition) ease, border var(--kup_box_transition) ease}#box-container .box-wrapper .box.draggable{touch-action:none;user-select:none}#box-container .box-wrapper .box.column{flex-direction:column}#box-container .box-wrapper .box:hover{box-shadow:var(--kup_box_hover_box_shadow)}#box-container .box-wrapper .box.selected{background-color:rgba(var(--kup_box_primary_color_rgb), 0.175)}#box-container .box-wrapper .box.selected .box-section.titled>h3{background-color:transparent}#box-container .box-wrapper .box[kup-draggable]{opacity:0.5}#box-container .box-wrapper .box[kup-drag-over]{border:3px dashed var(--kup-border-color);position:relative;z-index:2}#box-container .box-wrapper .box .box-section{display:flex;flex-direction:row;flex:1 1 1%;flex-wrap:wrap}#box-container .box-wrapper .box .box-section.column{flex-direction:column;justify-content:center;flex-wrap:unset}#box-container .box-wrapper .box .box-section.column>.box-section{flex:0 0 auto}#box-container .box-wrapper .box .box-section.grid{display:grid}#box-container .box-wrapper .box .box-section .box-object{min-height:16px}#box-container .box-wrapper .box .box-section .box-object img{height:auto}#box-container .box-wrapper .box .box-section.collapse-section .header{border-top:1px solid var(--kup-border-color);color:rgba(var(--kup-text-color-rgb), 0.75);display:flex;justify-content:space-around;width:100%}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content{margin:0.5em;display:flex;align-items:center}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content .f-image{transition:transform 0.15s}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content .f-image.toggled{transform:rotate(-180deg)}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content .kup-icon.kup-dropdown-icon{margin:0;-webkit-mask:var(--kup-dropdown-icon);mask:var(--kup-dropdown-icon)}#box-container .box-wrapper .box .box-section.collapse-section .content{display:none;width:100%}#box-container .box-wrapper .box .box-section.collapse-section.open .content{display:block}#box-container .box-wrapper .box .box-section.titled{border:1px solid var(--kup-border-color);padding-top:5px;position:relative;margin:10px}#box-container .box-wrapper .box .box-section.titled>h3{background:var(--kup-background-color);font-size:calc(var(--kup-font-size) * 1.15);position:absolute;margin:0px;padding:0 8px;top:-11px;left:5px;transition:background-color 0.25s ease}#box-container .box-wrapper .box .box-selection{position:absolute;top:0.5em;right:0.5em;z-index:1}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler{position:relative;width:24px;height:24px;margin-left:3px}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler svg{cursor:pointer;opacity:0;fill:var(--kup-text-color);transition:opacity 500ms ease-out}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu{background:var(--kup-background-color);border:1px solid var(--kup-border-color);box-shadow:0px 0px 7.5px 0px rgba(128, 128, 128, 0.5);position:absolute;top:0;right:24px;display:none;z-index:10}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu ul{list-style-type:none;margin:0;padding:0}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu ul>li{cursor:pointer;white-space:nowrap;padding:0 12px;display:flex;align-items:center;line-height:30px}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu ul>li:not(:last-child){border-bottom:1px solid var(--kup-border-color)}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu.open{display:block}#box-container .box-wrapper:hover .row-actions-wrapper .row-actions-toggler svg{opacity:1}#sort-panel,#global-filter{margin-bottom:1em}:host(.kup-center-aligned) #kup-component .box-section{text-align:center}:host(.kup-center-aligned) #kup-component .box-section .f-cell{justify-content:center;margin:auto;text-align:center}:host(.kup-center-aligned) #kup-component .box-section .f-cell .f-cell__content{justify-content:center;margin:auto;text-align:center}:host(.kup-center-aligned) #kup-component .box-section .f-cell img{margin:auto}:host(.kup-right-aligned) #kup-component .box-section{text-align:right}:host(.kup-right-aligned) #kup-component .box-section .f-cell{justify-content:flex-end;margin-left:auto;margin-right:0;text-align:right}:host(.kup-right-aligned) #kup-component .box-section .f-cell .f-cell__content{justify-content:flex-end;margin-left:auto;margin-right:0;text-align:right}:host(.kup-right-aligned) #kup-component .box-section .f-cell img{margin-left:auto;margin-right:0}:host(.kup-top-aligned) #box-container .box-wrapper .box .box-section .column{justify-content:flex-start}:host(.kup-bottom-aligned) #box-container .box-wrapper .box .box-section .column{justify-content:flex-end}:host(:not(.kup-borderless)) .box{border:1px solid var(--kup-border-color)}:host(.kup-flat-on-hover) #box-container .box-wrapper .box:hover{box-shadow:none}:host(.kup-shaped) .box{border-radius:10px}:host(.kup-round) .box{border-radius:25px}:host(.kup-dashed-sections) .box-section{border:2px dashed var(--kup-text-color)}:host(:not(.kup-paddingless)) #box-container .box{padding:3px}:host(:not(.kup-paddingless)) #box-container .box .box-section .box-object{padding:1px 4px}:host(:not(.kup-paddingless)) #box-container .box .box-section.last-child{margin:3px 4px}:host(.kup-danger){--kup-box-primary-color-rgb:var(--kup-danger-color-rgb)}:host(.kup-info){--kup-box-primary-color-rgb:var(--kup-info-color-rgb)}:host(.kup-secondary){--kup-box-primary-color-rgb:var(--kup-secondary-color-rgb)}:host(.kup-success){--kup-box-primary-color-rgb:var(--kup-success-color-rgb)}:host(.kup-warning){--kup-box-primary-color-rgb:var(--kup-warning-color-rgb)}";export{D as kup_box}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,f as s,h as e,H as o,g as n}from"./p-d3b542b3.js";import{F as r}from"./p-928c5c36.js";import{F as a}from"./p-cd5cfa7c.js";import{F as h}from"./p-edae3076.js";import{F as l}from"./p-a203f78b.js";import{k as c,a6 as d,h as u,B as p,c as m}from"./p-fc2b1229.js";import{g as f,s as x}from"./p-682a367a.js";import{c as g}from"./p-97e8ea42.js";import"./p-6c77a36c.js";import"./p-38d7584e.js";import"./p-79b0730b.js";import"./p-81605f08.js";var b;!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."}(b||(b={}));const y=class{constructor(s){t(this,s),this.kupSave=i(this,"kup-dashboard-save",6),this.resetInternalData=!1,this.customStyle="",this.data=null,this.enableDesign=!1,this.kupManager=c(),this.internalData=null,this.internalDataBackup=null}onKupSave(){this.kupSave.emit({comp:this,id:this.rootElement.id,data:this.internalData})}dataChanged(){this.resetData()}async getProps(t){return f(this,b,t)}async refresh(){s(this)}async setProps(t){x(this,b,t)}buildGuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var i=16*Math.random()|0;return("x"===t?i:3&i|8).toString(16)}))}buildHeader(){const t={icon:"cancel",label:this.kupManager.language.translate(d.RESET),secondary:!0,onClick:()=>{this.resetData()}},i={icon:"save",label:this.kupManager.language.translate(d.SAVE),onClick:()=>this.onKupSave()};return e("div",{class:"header"},this.enableDesign?e(r,Object.assign({},t)):void 0,this.enableDesign?e(r,Object.assign({},i)):void 0)}buildForm(t,i){return t?e("div",{class:{form:!0,"layout-column":t&&"column"==t.layout,"layout-row":t&&"row"==t.layout,"form-dropzone":this.enableDesign&&t&&null!=t.sections&&t.sections.length>0},style:this.getGridStyle(t),ref:s=>{s&&(s.kupData={parent:i,form:t})}},t.sections.map((i=>this.buildSection(i,t)))):e("div",null,this.kupManager.language.translate(u.EMPTY_DATA))}buildSectionHeader(t,i){const s={value:t.dim,label:this.kupManager.language.translate(d.DIMENSION),onChange:i=>{const{target:s}=i;t.dim=s.value}},o={icon:"add",slim:!0,onClick:()=>{t.sections||(t.sections=[]),t.sections.push({id:t.id+(t.sections.length+1),loaded:t.loaded,layout:t.layout}),this.resetData(this.internalData)}},n={icon:"remove",slim:!0,secondary:!0,onClick:()=>{const s=i.sections.indexOf(t);i.sections.splice(s,1),this.resetData(this.internalData)}},l={checked:t.loaded,label:this.kupManager.language.translate(d.LOADED),onChange:()=>{t.loaded=!t.loaded,this.refresh()}},c={checked:"column"==t.layout,label:this.kupManager.language.translate(d.VERTICAL),onChange:()=>{t.layout="column"==t.layout?"row":"column",this.refresh()}};return e("div",{class:"section-header"},e("div",null,t.id," - ",t.layout),e("div",null,e("div",{class:"section-header-actions"},e(h,Object.assign({},s)),e(a,Object.assign({},l)),e(a,Object.assign({},c)),e(r,Object.assign({},o)),e(r,Object.assign({},n)))))}buildSection(t,i){const s={"section-body":!0,"layout-column":t&&"column"==t.layout,"layout-row":t&&"row"==t.layout};return e("div",{class:{section:!0,"section-draggable":this.enableDesign,"section-dropzone":this.enableDesign},ref:s=>{s&&(s.kupData={parent:i,section:t})}},this.enableDesign?this.buildSectionHeader(t,i):void 0,e("div",{class:s,style:this.getGridStyle(t)},this.enableDesign||!t.loaded||t.sections&&0!=t.sections.length?void 0:e("slot",{name:t.id}),t.sections&&(t.loaded||this.enableDesign)?t.sections.map((i=>this.buildSection(i,t))):void 0))}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,p.CLONE)}))}catch(t){this.kupManager.debug.logMessage(this,t,m.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,null,null,{drop:t=>{this.dropped(t.currentTarget,t.relatedTarget)}})}))}catch(t){this.kupManager.debug.logMessage(this,t,m.ERROR)}}dropped(t,i){const s=i.kupData.parent.sections.indexOf(i.kupData.section);if(i.kupData.parent.sections.splice(s,1),t.kupData.form)t.kupData.form.sections||(t.kupData.form.sections=[]),t.kupData.form.sections.push(i.kupData.section),i.kupData.parent=t.kupData.form;else if(t.kupData.section){if(!t.kupData.section.sections||0==t.kupData.section.sections.length){const s=JSON.parse(JSON.stringify(t.kupData.section));s.dim=null,i.kupData.section.dim=null,t.kupData.section.id=this.buildGuid(),t.kupData.section.sections=[],t.kupData.section.sections.push(s)}t.kupData.section.sections.push(i.kupData.section),i.kupData.parent=t.kupData.section}this.resetData(this.internalData)}getGridStyle(t){let i={};if(!this.enableDesign&&t.sections){let s="";t.sections.forEach((t=>{s+=t.dim?t.dim.indexOf("%")<0?" "+t.dim+"px":" "+t.dim:" 1fr"})),"column"==t.layout&&(i.gridTemplateRows=s),"row"==t.layout&&(i.gridTemplateColumns=s)}return i}resetData(t=null){t&&(this.internalDataBackup=t),this.resetInternalData=!0,setTimeout((()=>{this.internalDataBackup&&(this.internalData=this.internalDataBackup,this.internalDataBackup=null),this.resetInternalData=!1}),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,!1),this.kupManager.language.register(this),this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,!0)}componentWillRender(){this.kupManager.debug.logRender(this,!1),this.resetInternalData?(this.internalData=null,this.unregisterInteractables()):this.internalData||(this.internalData=JSON.parse(JSON.stringify(this.data)))}componentDidRender(){this.kupManager.debug.logRender(this,!0);const t=this.rootElement.shadowRoot;if(t){const i=t.querySelectorAll(".f-text-field");i&&i.forEach((t=>{l(t)}))}this.didRenderInteractables()}render(){return e(o,null,e("style",null,this.kupManager.theme.setKupStyle(this.rootElement)),e("div",{id:g},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 n(this)}static get watchers(){return{data:["dataChanged"]}}};y.style=":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)}.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}.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}";export{y as kup_dashboard}