@sme.up/ketchup 11.0.0-SNAPSHOT-20241115171325 → 11.0.0-SNAPSHOT-20241118132117

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 (47) hide show
  1. package/dist/cjs/ketchup.cjs.js +1 -1
  2. package/dist/cjs/kup-autocomplete_28.cjs.entry.js +1 -1
  3. package/dist/cjs/kup-autocomplete_28.cjs.entry.js.map +1 -1
  4. package/dist/cjs/kup-image-list.cjs.entry.js +8 -4
  5. package/dist/cjs/kup-image-list.cjs.entry.js.map +1 -1
  6. package/dist/cjs/kup-input-panel.cjs.entry.js +1 -3
  7. package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/components/kup-dialog/kup-dialog.js +1 -1
  10. package/dist/collection/components/kup-dialog/kup-dialog.js.map +1 -1
  11. package/dist/collection/components/kup-image-list/kup-image-list-declarations.js +1 -0
  12. package/dist/collection/components/kup-image-list/kup-image-list-declarations.js.map +1 -1
  13. package/dist/collection/components/kup-image-list/kup-image-list.css +10 -0
  14. package/dist/collection/components/kup-image-list/kup-image-list.js +27 -3
  15. package/dist/collection/components/kup-image-list/kup-image-list.js.map +1 -1
  16. package/dist/collection/components/kup-input-panel/kup-input-panel.js +1 -3
  17. package/dist/collection/components/kup-input-panel/kup-input-panel.js.map +1 -1
  18. package/dist/components/kup-autocomplete2.js +1 -1
  19. package/dist/components/kup-autocomplete2.js.map +1 -1
  20. package/dist/components/kup-image-list.js +9 -4
  21. package/dist/components/kup-image-list.js.map +1 -1
  22. package/dist/components/kup-input-panel.js +1 -3
  23. package/dist/components/kup-input-panel.js.map +1 -1
  24. package/dist/esm/ketchup.js +1 -1
  25. package/dist/esm/kup-autocomplete_28.entry.js +1 -1
  26. package/dist/esm/kup-autocomplete_28.entry.js.map +1 -1
  27. package/dist/esm/kup-image-list.entry.js +8 -4
  28. package/dist/esm/kup-image-list.entry.js.map +1 -1
  29. package/dist/esm/kup-input-panel.entry.js +1 -3
  30. package/dist/esm/kup-input-panel.entry.js.map +1 -1
  31. package/dist/esm/loader.js +1 -1
  32. package/dist/ketchup/ketchup.esm.js +1 -1
  33. package/dist/ketchup/ketchup.esm.js.map +1 -1
  34. package/dist/ketchup/{p-43fb9001.entry.js → p-acb3d8df.entry.js} +2 -2
  35. package/dist/ketchup/{p-43fb9001.entry.js.map → p-acb3d8df.entry.js.map} +1 -1
  36. package/dist/ketchup/p-ef2cde8d.entry.js +2 -0
  37. package/dist/ketchup/p-ef2cde8d.entry.js.map +1 -0
  38. package/dist/ketchup/p-f2063dac.entry.js +2 -0
  39. package/dist/ketchup/p-f2063dac.entry.js.map +1 -0
  40. package/dist/types/components/kup-image-list/kup-image-list-declarations.d.ts +2 -1
  41. package/dist/types/components/kup-image-list/kup-image-list.d.ts +5 -0
  42. package/dist/types/components.d.ts +10 -0
  43. package/package.json +1 -1
  44. package/dist/ketchup/p-394e1212.entry.js +0 -2
  45. package/dist/ketchup/p-394e1212.entry.js.map +0 -1
  46. package/dist/ketchup/p-f60baaa2.entry.js +0 -2
  47. package/dist/ketchup/p-f60baaa2.entry.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,f as e,h as a,H as s,d as o}from"./p-d7c15b0e.js";import{k as n,g as l,s as r,h as p,N as c,f as m}from"./p-42c28e70.js";import{c as h}from"./p-635bb4b3.js";import{F as f}from"./p-2b519589.js";import{F as g}from"./p-cc32b7a2.js";import{a as u}from"./p-e3062c19.js";import{F as d}from"./p-50a5311b.js";import{M as _}from"./p-d4a879fc.js";import"./p-029c7cbe.js";import"./p-5d03c077.js";import"./p-1295852b.js";import"./p-4412859c.js";var k;(function(i){i["columns"]="Can set a specific number of columns";i["customStyle"]="Custom style of the component.";i["data"]="Actual data of the component";i["ripple"]="When enabled displays Material's ripple effect on clicked items.";i["rows"]="Cam set a specific number of rows. It overwrite the columns flow into rows flow";i["showFullDescription"]="When enabled, image descriptions will always be displayed entirely and not cut or truncated."})(k||(k={}));class v{constructor(){this.load=false}toDebugString(){return"image-list state"}}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{--kup_imagelist_columns_mobile:var(--kup-imagelist-columns-mobile, 4);--kup_imagelist_columns_tablet:var(--kup-imagelist-columns-tablet, 6);--kup_imagelist_columns_desktop:var(--kup-imagelist-columns-desktop, 8);--kup_imagelist_background_color:var(\n --kup-imagelist-background-color,\n transparent\n );--kup_imagelist_columns:var(--kup-imagelist-columns, 4);--kup_imagelist_grid_gap:var(--kup-imagelist-grid-gap, var(--kup-space-03));--kup_imagelist_image_min_height:var(\n --kup-imagelist-image-min-height,\n var(--kup-space-09)\n );--kup_imagelist_item_border_radius:var(\n --kup-imagelist-item-border-radius,\n var(--kup-radius-00)\n );--kup_imagelist_item_height:var(--kup-imagelist-item-height, auto);--kup_imagelist_item_padding:var(--kup-imagelist-item-padding, 0);--kup_imagelist_item_width:var(--kup-imagelist-item-width, auto);--kup_imagelist_label_margin:var(\n --kup-imagelist-label-margin,\n 0 auto 1em auto\n );--kup_imagelist_navbar_background_color:var(\n --kup-imagelist-navbar-background-color,\n transparent\n );--kup_imagelist_primary_color:var(\n --kup-imagelist-primary-color,\n var(--kup-primary-color)\n );--kup_imagelist_primary_color_rgb:var(\n --kup-imagelist-primary-color-rgb,\n var(--kup-primary-color-rgb)\n );--kup_imagelist_text_color:var(\n --kup-imagelist-text-color,\n var(--kup-text-secondary)\n );--kup_imagelist_item_background_color:var(\n --kup-imagelist-item-background-color,\n var(--kup-layer-1)\n );--kup_imagelist_item_background_color_hover:var(\n --kup-imagelist-item-background-color-hover,\n var(--kup-layer-1-hover)\n );display:block}.navigation-bar{align-items:center;background-color:var(--kup_imagelist_navbar_background_color);display:flex;justify-content:center}.navigation-bar__wrapper{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;position:relative}.navigation-bar__wrapper--active .navigation-bar__title{background-color:rgba(var(--kup_imagelist_primary_color_rgb), 0.15);color:var(--kup_imagelist_primary_color)}.navigation-bar__back,.navigation-bar__top{--kup-button-primary-color-rgb:0}.navigation-bar__title{border-radius:16px;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;padding:0.75em 1em;user-select:none;transition:background-color 125ms, color 125ms;width:100%}.navigation-bar__title__image.f-image{margin:0}.navigation-bar__title__label{overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;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}.image-list{background-color:var(--kup_imagelist_background_color);display:grid;grid-gap:var(--kup_imagelist_grid_gap);grid-template-columns:repeat(var(--kup-imagelist-columns-mobile, var(--kup_imagelist_columns_mobile)), minmax(0px, 1fr));margin-top:1em;width:100%;grid-auto-flow:row}.image-list.full-description .f-cell .f-cell__content .image-list__wrapper .f-image.image-list__image{display:flow-root}.image-list.full-description .image-list__label{overflow:unset;text-align:center;text-overflow:unset;white-space:normal;overflow-wrap:break-word}.image-list .f-cell{height:100%;width:100%}.image-list .f-cell .f-cell__content{height:100%}.image-list .f-cell .f-cell__content .image-list__wrapper{display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;position:relative;height:100%}.image-list .f-cell .f-cell__content .image-list__wrapper.images{height:100%;justify-content:flex-end}.image-list .f-cell .f-cell__content .image-list__wrapper.images .f-image{position:unset;overflow:auto;height:100%;display:flex}.image-list__item{background-color:var(--kup_imagelist_item_background_color);border-radius:var(--kup_imagelist_item_border_radius);cursor:pointer;height:var(--kup_imagelist_item_height);padding:var(--kup_imagelist_item_padding);width:var(--kup_imagelist_item_width)}.image-list__item:hover{background-color:var(--kup_imagelist_item_background_color_hover)}.image-list__image.f-image{position:absolute;padding:var(--kup-space-03);padding-bottom:0px;box-sizing:border-box;width:100%;height:calc(100% - 16px - var(--kup-space-03) * 2);overflow:hidden}.image-list__image.f-image .f-image__icon{mask-size:100% !important}.image-list__label{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:var(--kup-space-03);font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}@media screen and (min-width: 678px){.image-list{grid-template-columns:repeat(var(--kup-imagelist-columns-tablet, var(--kup_imagelist_columns_tablet)), minmax(0px, 1fr));grid-gap:var(--kup-space-05)}}@media screen and (min-width: 1024px){.image-list{grid-template-columns:repeat(var(--kup-imagelist-columns-desktop, var(--kup_imagelist_columns_desktop)), minmax(0px, 1fr));grid-gap:var(--kup-space-05)}}:host(.kup-full-height){height:100%}:host(.kup-full-width){width:100%}:host(.kup-horizontal) .image-list{display:flex}:host(.kup-auto-grid) .image-list{display:flex;flex-wrap:wrap;justify-content:center}";const w=b;var y=undefined&&undefined.__classPrivateFieldGet||function(i,t,e,a){if(e==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?i!==t||!a:!t.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?a:e==="a"?a.call(i):a?a.value:t.get(i)};var x=undefined&&undefined.__classPrivateFieldSet||function(i,t,e,a,s){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?i!==t||!s:!t.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?s.call(i,e):s?s.value=e:t.set(i,e),e};var j,z,C,W,$,M,E,O,T,P,D,I,N,R,S;const F=class{constructor(e){i(this,e);this.kupClick=t(this,"kup-imagelist-click",6);this.kupContextMenu=t(this,"kup-imagelist-contextmenu",6);this.kupDblClick=t(this,"kup-imagelist-dblclick",6);j.add(this);this.state=new v;z.set(this,[]);C.set(this,n());W.set(this,{icon:"arrow_back",onClick:()=>{this.currentNode=y(this,C,"f").data.node.getParent(this.data,this.currentNode);if(!this.currentNode){this.navigationBarToggled=false}},styling:u.FLAT,wrapperClass:"navigation-bar__back"});$.set(this,{icon:"arrow_upward",onClick:()=>{this.currentNode=null;this.navigationBarToggled=false},styling:u.FLAT,wrapperClass:"navigation-bar__top"});M.set(this,void 0);E.set(this,false);O.set(this,[]);this.currentNode=null;this.navigationBarToggled=false;this.columns=[];this.customStyle="";this.data=[];this.ripple=false;this.rows=null;this.selectedNode=[];this.stateId="";this.store=undefined;this.showFullDescription=false}initWithPersistedState(){if(this.store&&this.stateId){const i=this.store.getState(this.stateId);if(i!=null){this.currentNode=y(this,C,"f").data.node.findByStrTreeNodePath(this.data,i.selectedTreeNodePath)}}}persistState(){if(this.store&&this.stateId){let i=false;let t=this.currentNode?this.currentNode.id:"";if(!y(this,C,"f").objects.deepEqual(this.state.selectedTreeNodePath,t)){this.state.selectedTreeNodePath=t;i=true}if(!this.state.load){this.state.load=true;return}if(i){this.store.persistState(this.stateId,this.state)}}}selectNode(i){if(!i||i.length==0){return}this.currentNode=y(this,C,"f").data.node.find(this.data,i)}async getProps(i){return l(this,k,i)}async refresh(){e(this)}async setProps(i){r(this,k,i)}componentWillLoad(){y(this,C,"f").debug.logLoad(this,false);y(this,C,"f").language.register(this);y(this,C,"f").theme.register(this)}componentDidLoad(){y(this,j,"m",S).call(this);y(this,C,"f").debug.logLoad(this,true)}componentWillRender(){y(this,C,"f").debug.logRender(this,false)}componentDidRender(){const i=this.rootElement.shadowRoot;if(i&&this.ripple){const t=i.querySelectorAll(".mdc-ripple-surface:not(.mdc-ripple-upgraded)");if(t){for(let i=0;i<t.length;i++){_.attachTo(t[i])}}}this.persistState();y(this,C,"f").debug.logRender(this,true)}render(){const i=!!this.currentNode;let t={};if(this.columns){if(this.columns.length===1){t={"--kup-imagelist-columns-mobile":`${this.columns[0]}`,"--kup-imagelist-columns-tablet":`${this.columns[0]}`,"--kup-imagelist-columns-desktop":`${this.columns[0]}`}}else if(this.columns.length===2){t={"--kup-imagelist-columns-mobile":`${this.columns[0]}`,"--kup-imagelist-columns-tablet":`${this.columns[0]}`,"--kup-imagelist-columns-desktop":`${this.columns[1]}`}}else if(this.columns.length===3){t={"--kup-imagelist-columns-mobile":`${this.columns[0]}`,"--kup-imagelist-columns-tablet":`${this.columns[1]}`,"--kup-imagelist-columns-desktop":`${this.columns[2]}`}}}let e=Object.assign({},t);if(this.rows!=null&&this.rows>0){const i={"grid-template-rows":`repeat(${this.rows}, minmax(0px, 1fr))`,"grid-auto-flow":`column`};e=Object.assign(Object.assign({},e),i)}const o="image-list"+(this.showFullDescription?" full-description":"");return a(s,{key:"aaefac38b6fc8edb0a3378edce114b31dcd4c982"},a("style",{key:"80541c8e96c4949ae9d3635342458ed4636aa4f3"},y(this,C,"f").theme.setKupStyle(this.rootElement)),a("div",{key:"e21da53853b397147fae86eb46c4ec73ab1918c8",id:h,ref:i=>{x(this,M,i,"f")}},a("div",{key:"2ea71db6523c5ed84e6e04bc36844199208ae69f",class:"navigation-bar"},i?a("div",{class:`navigation-bar__wrapper ${this.navigationBarToggled?"navigation-bar__wrapper--active":""}`},a("div",{class:`navigation-bar__title`,onClick:()=>{this.navigationBarToggled=!this.navigationBarToggled}},a(f,{fit:true,resource:this.currentNode.icon,placeholderResource:this.currentNode.placeholderIcon,sizeX:"1.25em",sizeY:"1.25em",wrapperClass:"navigation-bar__title__image"}),a("div",{class:"navigation-bar__title__label"},this.currentNode.value)),a(g,Object.assign({},y(this,W,"f"),{label:y(this,C,"f").language.translate(p.BACK)})),a(g,Object.assign({},y(this,$,"f"),{label:y(this,C,"f").language.translate(p.TOP)}))):null),a("div",{key:"cca51c44ab0f8eb8a3010d070ef2c39ce4eea04b",class:o,style:e},...y(this,j,"m",P).call(this))))}disconnectedCallback(){y(this,C,"f").interact.unregister(y(this,O,"f"));y(this,C,"f").language.unregister(this);y(this,C,"f").theme.unregister(this)}get rootElement(){return o(this)}static get watchers(){return{selectedNode:["selectNode"]}}};z=new WeakMap,C=new WeakMap,W=new WeakMap,$=new WeakMap,M=new WeakMap,E=new WeakMap,O=new WeakMap,j=new WeakSet,T=function i(t){const e={fit:true,resource:t.icon,placeholderResource:t.placeholderIcon,title:t.title,wrapperClass:"image-list__image",badgeData:t.badgeData};const s=a(f,Object.assign({},e));const o=a("div",{class:"image-list__label"},t.value);const n=e.resource.indexOf(".")>-1||e.resource.indexOf("/")>-1||e.resource.indexOf("\\")>-1;return a(d,{cell:{value:t.value,icon:t.icon,placeholderIcon:t.placeholderIcon,obj:t.obj},column:{name:"IMAGE",title:"Image"},component:this,density:m.NONE,row:Object.assign({},t)},a("div",{class:`image-list__wrapper${n?" images":""}`},!n&&a("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"0 0 24 24"}),s,o))},P=function i(){const t=[];const e=this.currentNode?this.currentNode.children:this.data;for(let i=0;e&&i<e.length;i++){const s=e[i];const o={"image-list__item":true,"mdc-ripple-surface":this.ripple?true:false};const n=a("div",{onContextMenu:i=>{i.preventDefault()},class:o},y(this,j,"m",T).call(this,s));t.push(n)}return t},D=function i(t,e){let a;if(t){for(let i=t.length-1;i>=0;i--){let e=t[i];if(!e.tagName){continue}if(e.classList.contains("f-cell")){a=e["kup-get-cell-props"]()}}}return{cell:a===null||a===void 0?void 0:a.cell,column:a===null||a===void 0?void 0:a.column,originalEvent:e,row:a===null||a===void 0?void 0:a.row}},I=function i(t){const e=y(this,j,"m",D).call(this,y(this,C,"f").getEventPath(t.target,this.rootElement),t);return e},N=function i(t){const e=y(this,j,"m",D).call(this,y(this,C,"f").getEventPath(t.target,this.rootElement),t);return e},R=function i(t){const e=y(this,j,"m",D).call(this,y(this,C,"f").getEventPath(t.target,this.rootElement),t);return e},S=function i(){y(this,O,"f").push(y(this,M,"f"));const t=i=>{if(y(this,E,"f")){x(this,E,false,"f");return}switch(i.button){case 0:const t={};for(const e in i){t[e]=i[e]}y(this,z,"f").push(setTimeout((()=>{var i;const e=y(this,j,"m",I).call(this,t);const a=e.row;if(((i=a===null||a===void 0?void 0:a.children)===null||i===void 0?void 0:i.length)>0){this.currentNode=a}this.kupClick.emit({comp:this,id:this.rootElement.id,details:e})}),300));break;case 2:this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:y(this,j,"m",N).call(this,i)});break}};const e=i=>{switch(i.button){case 0:for(let i=0;i<y(this,z,"f").length;i++){clearTimeout(y(this,z,"f")[i]);y(this,C,"f").debug.logMessage(this,"Cleared clickHandler timeout("+y(this,z,"f")[i]+").")}x(this,z,[],"f");this.kupDblClick.emit({comp:this,id:this.rootElement.id,details:y(this,j,"m",R).call(this,i)});break}};const a=i=>{if(i.pointerType==="pen"||i.pointerType==="touch"){x(this,E,true,"f");this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:y(this,j,"m",N).call(this,i)})}};y(this,C,"f").interact.on(y(this,M,"f"),c.HOLD,a);y(this,C,"f").interact.on(y(this,M,"f"),c.TAP,t);y(this,C,"f").interact.on(y(this,M,"f"),c.DOUBLETAP,e)};F.style=w;export{F as kup_image_list};
2
+ //# sourceMappingURL=p-ef2cde8d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KupImageListProps","KupImageListState","constructor","this","load","toDebugString","kupImageListCss","KupImageListStyle0","KupImageList","state","_KupImageList_clickTimeout","set","_KupImageList_kupManager","kupManagerInstance","_KupImageList_backProps","icon","onClick","currentNode","__classPrivateFieldGet","data","node","getParent","navigationBarToggled","styling","FButtonStyling","FLAT","wrapperClass","_KupImageList_topProps","_KupImageList_el","_KupImageList_hold","_KupImageList_interactableTouch","initWithPersistedState","store","stateId","getState","findByStrTreeNodePath","selectedTreeNodePath","persistState","somethingChanged","cNodeRowId","id","objects","deepEqual","selectNode","newData","length","find","getProps","descriptions","refresh","forceUpdate","setProps","props","componentWillLoad","debug","logLoad","language","register","theme","componentDidLoad","_KupImageList_instances","_KupImageList_didLoadInteractables","call","componentWillRender","logRender","componentDidRender","root","rootElement","shadowRoot","ripple","rippleCells","querySelectorAll","i","MDCRipple","attachTo","render","hasNavigation","gridColumnsStyle","columns","combinedGridStyle","Object","assign","rows","gridRowsStyle","imlClass","showFullDescription","h","Host","key","setKupStyle","componentWrapperId","ref","el","__classPrivateFieldSet","class","FImage","fit","resource","placeholderResource","placeholderIcon","sizeX","sizeY","value","FButton","label","translate","KupLanguageGeneric","BACK","TOP","style","_KupImageList_createList","disconnectedCallback","interact","unregister","title","badgeData","image","hasExternalResource","indexOf","FCell","cell","obj","column","name","component","density","FCellPadding","NONE","row","xmlns","version","viewBox","nodes","items","children","index","classObj","item","onContextMenu","e","preventDefault","_KupImageList_createItem","push","_KupImageList_getEventDetails","path","cellProps","p","tagName","classList","contains","originalEvent","_KupImageList_clickHandler","details","getEventPath","target","_KupImageList_contextMenuHandler","_KupImageList_dblClickHandler","tapCb","button","clone","setTimeout","_a","kupClick","emit","comp","kupContextMenu","doubletapCb","clearTimeout","logMessage","kupDblClick","holdCb","pointerType","on","KupPointerEventTypes","HOLD","TAP","DOUBLETAP"],"sources":["src/components/kup-image-list/kup-image-list-declarations.ts","src/components/kup-image-list/kup-image-list-state.ts","src/components/kup-image-list/kup-image-list.scss?tag=kup-image-list&encapsulation=shadow","src/components/kup-image-list/kup-image-list.tsx"],"sourcesContent":["import {\n KupDataCell,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { GenericObject, KupEventPayload } from '../../types/GenericTypes';\n\n/**\n * Props of the kup-image-list component.\n * Used to export every prop in an object.\n */\nexport enum KupImageListProps {\n columns = 'Can set a specific number of columns',\n customStyle = 'Custom style of the component.',\n data = 'Actual data of the component',\n ripple = \"When enabled displays Material's ripple effect on clicked items.\",\n rows = 'Cam set a specific number of rows. It overwrite the columns flow into rows flow',\n showFullDescription = 'When enabled, image descriptions will always be displayed entirely and not cut or truncated.',\n}\n\nexport interface KupImageListEventPayload extends KupEventPayload {\n details: KupImageListEventHandlerDetails;\n}\n/**\n * Contains all the data of an event.\n */\nexport interface KupImageListEventHandlerDetails {\n cell: KupDataCell;\n column: KupDataColumn;\n originalEvent: PointerEvent;\n row: KupDataRow;\n}\n\nexport interface KupImageListDataNode extends KupDataNode {\n badgeData: GenericObject[];\n children?: KupImageListDataNode[];\n}\n","import { KupState } from '../kup-state/kup-state';\nexport class KupImageListState implements KupState {\n selectedTreeNodePath: string;\n load: boolean = false;\n\n public toDebugString() {\n // TODO\n return 'image-list state';\n }\n}\n","@import 'styles/kup-image-list-main';\n@import 'styles/kup-image-list-classes';\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n} from '@stencil/core';\nimport { MDCRipple } from '@material/ripple';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport {\n KupImageListDataNode,\n KupImageListEventHandlerDetails,\n KupImageListEventPayload,\n KupImageListProps,\n} from './kup-image-list-declarations';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport { FImage } from '../../f-components/f-image/f-image';\nimport { FImageProps } from '../../f-components/f-image/f-image-declarations';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport {\n FButtonProps,\n FButtonStyling,\n} from '../../f-components/f-button/f-button-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellPadding,\n FCellProps,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { KupStore } from '../kup-state/kup-store';\nimport { KupImageListState } from './kup-image-list-state';\nimport { TreeNodePath } from '../kup-tree/kup-tree-declarations';\nimport { KupPointerEventTypes } from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\n\n@Component({\n tag: 'kup-image-list',\n styleUrl: 'kup-image-list.scss',\n shadow: true,\n})\nexport class KupImageList {\n /**\n * References the root HTML element of the component (<kup-image-list>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n state: KupImageListState = new KupImageListState();\n\n @State() currentNode: KupImageListDataNode = null;\n @State() navigationBarToggled: boolean = false;\n\n initWithPersistedState(): void {\n if (this.store && this.stateId) {\n const state = this.store.getState(this.stateId);\n if (state != null) {\n this.currentNode =\n this.#kupManager.data.node.findByStrTreeNodePath(\n this.data,\n state.selectedTreeNodePath\n ) as KupImageListDataNode;\n }\n }\n }\n\n persistState(): void {\n if (this.store && this.stateId) {\n let somethingChanged = false;\n let cNodeRowId = this.currentNode ? this.currentNode.id : '';\n\n if (\n !this.#kupManager.objects.deepEqual(\n this.state.selectedTreeNodePath,\n cNodeRowId\n )\n ) {\n this.state.selectedTreeNodePath = cNodeRowId;\n somethingChanged = true;\n }\n\n if (!this.state.load) {\n this.state.load = true;\n return;\n }\n if (somethingChanged) {\n this.store.persistState(this.stateId, this.state);\n }\n }\n }\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n /**\n * Number of columns to display in the grid layout.\n * @default null\n */\n @Prop() columns: number[] = [];\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * Actual data of the component.\n * @default []\n */\n @Prop() data: KupImageListDataNode[] = [];\n /**\n * When enabled displays Material's ripple effect on clicked items.\n * @default true\n */\n @Prop() ripple: boolean = false;\n /**\n * Number of rows to display in the grid layout.\n * @default null\n */\n @Prop() rows: number = null;\n\n /**\n * An array of integers containing the path to a selected child.\\\n */\n @Prop() selectedNode: TreeNodePath = [];\n @Prop() stateId: string = '';\n @Prop() store: KupStore;\n\n /**\n * When enabled images descriptions will be fully shown.\n * @default false\n */\n @Prop() showFullDescription: boolean = false;\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n /**\n * Instance of the KupManager class.\n */\n\n #clickTimeout: ReturnType<typeof setTimeout>[] = [];\n #kupManager: KupManager = kupManagerInstance();\n #backProps: FButtonProps = {\n icon: 'arrow_back',\n onClick: () => {\n this.currentNode = this.#kupManager.data.node.getParent(\n this.data,\n this.currentNode\n ) as KupImageListDataNode;\n if (!this.currentNode) {\n this.navigationBarToggled = false;\n }\n },\n styling: FButtonStyling.FLAT,\n wrapperClass: 'navigation-bar__back',\n };\n #topProps: FButtonProps = {\n icon: 'arrow_upward',\n onClick: () => {\n this.currentNode = null;\n this.navigationBarToggled = false;\n },\n styling: FButtonStyling.FLAT,\n wrapperClass: 'navigation-bar__top',\n };\n #el: HTMLElement;\n #hold: boolean = false;\n #interactableTouch: HTMLElement[] = [];\n\n /*-------------------------------------------------*/\n /* E v e n t s */\n /*-------------------------------------------------*/\n\n @Event({\n eventName: 'kup-imagelist-click',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupClick: EventEmitter<KupImageListEventPayload>;\n\n @Event({\n eventName: 'kup-imagelist-contextmenu',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupContextMenu: EventEmitter<KupImageListEventPayload>;\n\n @Event({\n eventName: 'kup-imagelist-dblclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupDblClick: EventEmitter<KupImageListEventPayload>;\n\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('selectedNode')\n selectNode(newData: TreeNodePath) {\n if (!newData || newData.length == 0) {\n return;\n }\n this.currentNode = this.#kupManager.data.node.find(\n this.data,\n newData\n ) as KupImageListDataNode;\n }\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupImageListProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupImageListProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #createItem(node: KupImageListDataNode): VNode {\n const props: FImageProps = {\n fit: true,\n resource: node.icon,\n placeholderResource: node.placeholderIcon,\n title: node.title,\n wrapperClass: 'image-list__image',\n badgeData: node.badgeData,\n };\n\n const image = <FImage {...props}></FImage>;\n const label = <div class=\"image-list__label\">{node.value}</div>;\n\n const hasExternalResource =\n props.resource.indexOf('.') > -1 ||\n props.resource.indexOf('/') > -1 ||\n props.resource.indexOf('\\\\') > -1;\n\n return (\n <FCell\n cell={{\n value: node.value,\n icon: node.icon,\n placeholderIcon: node.placeholderIcon,\n obj: node.obj,\n }}\n column={{ name: 'IMAGE', title: 'Image' }}\n component={this}\n density={FCellPadding.NONE}\n row={{ ...node }}\n >\n <div\n class={`image-list__wrapper${\n hasExternalResource ? ' images' : ''\n }`}\n >\n {!hasExternalResource && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n viewBox=\"0 0 24 24\"\n ></svg>\n )}\n {image}\n {label}\n </div>\n </FCell>\n );\n }\n\n #createList(): VNode[] {\n const nodes: VNode[] = [];\n const items = this.currentNode ? this.currentNode.children : this.data;\n for (let index = 0; items && index < items.length; index++) {\n const node = items[index];\n const classObj = {\n 'image-list__item': true,\n 'mdc-ripple-surface': this.ripple ? true : false,\n };\n const item: VNode = (\n <div\n onContextMenu={(e) => {\n e.preventDefault();\n }}\n class={classObj}\n >\n {this.#createItem(node)}\n </div>\n );\n nodes.push(item);\n }\n return nodes;\n }\n\n #getEventDetails(\n path: HTMLElement[],\n e?: PointerEvent\n ): KupImageListEventHandlerDetails {\n let cellProps: FCellProps;\n\n if (path) {\n for (let i = path.length - 1; i >= 0; i--) {\n let p = path[i];\n if (!p.tagName) {\n continue;\n }\n if (p.classList.contains('f-cell')) {\n cellProps = p['kup-get-cell-props']();\n }\n }\n }\n\n return {\n cell: cellProps?.cell,\n column: cellProps?.column,\n originalEvent: e,\n row: cellProps?.row,\n };\n }\n\n #clickHandler(e: PointerEvent): KupImageListEventHandlerDetails {\n const details: KupImageListEventHandlerDetails = this.#getEventDetails(\n this.#kupManager.getEventPath(e.target, this.rootElement),\n e\n );\n\n return details;\n }\n\n #contextMenuHandler(e: PointerEvent): KupImageListEventHandlerDetails {\n const details: KupImageListEventHandlerDetails = this.#getEventDetails(\n this.#kupManager.getEventPath(e.target, this.rootElement),\n e\n );\n\n return details;\n }\n\n #dblClickHandler(e: PointerEvent): KupImageListEventHandlerDetails {\n const details: KupImageListEventHandlerDetails = this.#getEventDetails(\n this.#kupManager.getEventPath(e.target, this.rootElement),\n e\n );\n\n return details;\n }\n\n #didLoadInteractables() {\n this.#interactableTouch.push(this.#el);\n const tapCb = (e: PointerEvent) => {\n if (this.#hold) {\n this.#hold = false;\n return;\n }\n switch (e.button) {\n // left click\n case 0:\n // Note: event must be cloned\n // otherwise inside setTimeout will be exiting the Shadow DOM scope(causing loss of information, including target).\n const clone: GenericObject = {};\n for (const key in e) {\n clone[key] = e[key];\n }\n this.#clickTimeout.push(\n setTimeout(() => {\n const details = this.#clickHandler(\n clone as PointerEvent\n );\n const node = details.row as KupImageListDataNode;\n if (node?.children?.length > 0) {\n this.currentNode = node;\n }\n this.kupClick.emit({\n comp: this,\n id: this.rootElement.id,\n details,\n });\n }, 300)\n );\n break;\n // right click\n case 2:\n this.kupContextMenu.emit({\n comp: this,\n id: this.rootElement.id,\n details: this.#contextMenuHandler(e),\n });\n break;\n }\n };\n const doubletapCb = (e: PointerEvent) => {\n switch (e.button) {\n // left click\n case 0:\n for (\n let index = 0;\n index < this.#clickTimeout.length;\n index++\n ) {\n clearTimeout(this.#clickTimeout[index]);\n this.#kupManager.debug.logMessage(\n this,\n 'Cleared clickHandler timeout(' +\n this.#clickTimeout[index] +\n ').'\n );\n }\n this.#clickTimeout = [];\n this.kupDblClick.emit({\n comp: this,\n id: this.rootElement.id,\n details: this.#dblClickHandler(e),\n });\n break;\n }\n };\n const holdCb = (e: PointerEvent) => {\n if (e.pointerType === 'pen' || e.pointerType === 'touch') {\n this.#hold = true;\n this.kupContextMenu.emit({\n comp: this,\n id: this.rootElement.id,\n details: this.#contextMenuHandler(e),\n });\n }\n };\n this.#kupManager.interact.on(\n this.#el,\n KupPointerEventTypes.HOLD,\n holdCb\n );\n this.#kupManager.interact.on(this.#el, KupPointerEventTypes.TAP, tapCb);\n this.#kupManager.interact.on(\n this.#el,\n KupPointerEventTypes.DOUBLETAP,\n doubletapCb\n );\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n }\n\n componentDidLoad() {\n this.#didLoadInteractables();\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n const root = this.rootElement.shadowRoot;\n if (root && this.ripple) {\n const rippleCells = root.querySelectorAll(\n '.mdc-ripple-surface:not(.mdc-ripple-upgraded)'\n );\n if (rippleCells) {\n for (let i = 0; i < rippleCells.length; i++) {\n MDCRipple.attachTo(rippleCells[i]);\n }\n }\n }\n // *** Store\n this.persistState();\n // ***\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const hasNavigation = !!this.currentNode;\n let gridColumnsStyle: { [key: string]: string } = {};\n if (this.columns) {\n if (this.columns.length === 1) {\n gridColumnsStyle = {\n '--kup-imagelist-columns-mobile': `${this.columns[0]}`,\n '--kup-imagelist-columns-tablet': `${this.columns[0]}`,\n '--kup-imagelist-columns-desktop': `${this.columns[0]}`,\n };\n } else if (this.columns.length === 2) {\n gridColumnsStyle = {\n '--kup-imagelist-columns-mobile': `${this.columns[0]}`,\n '--kup-imagelist-columns-tablet': `${this.columns[0]}`,\n '--kup-imagelist-columns-desktop': `${this.columns[1]}`,\n };\n } else if (this.columns.length === 3) {\n gridColumnsStyle = {\n '--kup-imagelist-columns-mobile': `${this.columns[0]}`,\n '--kup-imagelist-columns-tablet': `${this.columns[1]}`,\n '--kup-imagelist-columns-desktop': `${this.columns[2]}`,\n };\n }\n }\n let combinedGridStyle: { [key: string]: string } = {\n ...gridColumnsStyle,\n };\n\n if (this.rows != null && this.rows > 0) {\n const gridRowsStyle = {\n 'grid-template-rows': `repeat(${this.rows}, minmax(0px, 1fr))`,\n 'grid-auto-flow': `column`,\n };\n combinedGridStyle = { ...combinedGridStyle, ...gridRowsStyle };\n }\n\n const imlClass =\n 'image-list' +\n (this.showFullDescription ? ' full-description' : '');\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div\n id={componentWrapperId}\n ref={(el) => {\n this.#el = el;\n }}\n >\n <div class=\"navigation-bar\">\n {hasNavigation ? (\n <div\n class={`navigation-bar__wrapper ${\n this.navigationBarToggled\n ? 'navigation-bar__wrapper--active'\n : ''\n }`}\n >\n <div\n class={`navigation-bar__title`}\n onClick={() => {\n this.navigationBarToggled =\n !this.navigationBarToggled;\n }}\n >\n <FImage\n fit={true}\n resource={this.currentNode.icon}\n placeholderResource={\n this.currentNode.placeholderIcon\n }\n sizeX=\"1.25em\"\n sizeY=\"1.25em\"\n wrapperClass=\"navigation-bar__title__image\"\n ></FImage>\n <div class=\"navigation-bar__title__label\">\n {this.currentNode.value}\n </div>\n </div>\n <FButton\n {...this.#backProps}\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.BACK\n )}\n ></FButton>\n <FButton\n {...this.#topProps}\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.TOP\n )}\n ></FButton>\n </div>\n ) : null}\n </div>\n <div class={imlClass} style={combinedGridStyle}>\n {...this.#createList()}\n </div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.interact.unregister(this.#interactableTouch);\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,f as n,h as e,H as s,d as o}from"./p-d7c15b0e.js";import{F as l}from"./p-cc32b7a2.js";import{F as a}from"./p-50a5311b.js";import{k as r,a5 as u,F as c,g as h,s as f,h as p,al as d,ab as m,aa as v,am as b,e as k,ak as g,a as y}from"./p-42c28e70.js";import{F as _}from"./p-c4054aba.js";import{c as j}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-5d03c077.js";import"./p-1295852b.js";import"./p-4412859c.js";import"./p-029c7cbe.js";import"./p-d4a879fc.js";var w;(function(t){t["TAB"]="tab"})(w||(w={}));var x;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the input panel.";t["hiddenSubmitButton"]="Creates a hidden submit button in order to submit the form with enter.";t["submitCb"]="Sets the callback function on submit form";t["optionsHandler"]="Sets the callback function to recieve options"})(x||(x={}));const O=12;const $=22;const z=t=>{if(t==0){return O/2}if(!t){return null}if(t===1){return 1.5*O}return t*O};const S=t=>{if(!t){return null}return t*$};const M=t=>{if(!t){return null}return(t-1)*$};const T=t=>{if(!t){return null}return t*O};const W=".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-fcell-width:fit-content;--kup_input_panel_background_color:var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );--kup_input_panel_color:var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );--kup_input_panel_font_family:var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );--kup_input_panel_font_size:var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );--kup_input_panel_label_alignment:var(--kup-input-panel-label-alignment);--kup_input_panel_label_width:var(--kup-input-panel-label-width);--kup_input_panel_padding:var(--kup-input-panel-padding, 1em 0)}:host .input-panel{background:var(--kup_input_panel_background_color);color:var(--kup_input_panel_color);display:flex;flex-grow:1;overflow:auto;padding:var(--kup_input_panel_padding);position:relative;gap:2rem}:host .input-panel__commands{display:flex;gap:2rem}:host .input-panel--column{flex-direction:column}:host .input-panel__section_label_container{display:flex;flex-direction:column;gap:1rem}:host .input-panel__section{display:grid;min-width:0}:host .input-panel__section .f-cell__content>*{width:100%}:host .input-panel__horizontal-section{display:inline-grid}:host .input-panel .f-cell .f-checkbox .checkbox .checkbox__native-control{height:40px;width:40px}:host .input-panel__label_container{display:flex;flex-direction:column;justify-content:center}:host .input-panel__label_container>.f-cell{flex:1}:host .input-panel__tabs_container{display:flex;flex-direction:column;justify-content:center;gap:2rem}:host .input-panel .f-cell.number-cell .f-cell__content{--kup-textfield-font-family:var(--kup_cell_font_family);font-family:var(--kup_cell_font_family)}:host .input-panel .input-panel-label{display:flex;width:100%;height:100%;align-items:center;justify-content:center}:host .input-panel--absolute{height:40ch;justify-content:flex-end}:host .input-panel--absolute .input-panel-label{justify-content:start}:host .input-panel--absolute .mdc-text-field{height:unset !important}";const D=W;var C=undefined&&undefined.__classPrivateFieldGet||function(t,i,n,e){if(n==="a"&&!e)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?t!==i||!e:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?e:n==="a"?e.call(t):e?e.value:i.get(t)};var E=undefined&&undefined.__classPrivateFieldSet||function(t,i,n,e,s){if(e==="m")throw new TypeError("Private method is not writable");if(e==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?t!==i||!s:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e==="a"?s.call(t,n):s?s.value=n:i.set(t,n),n};var F=undefined&&undefined.__rest||function(t,i){var n={};for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&i.indexOf(e)<0)n[e]=t[e];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,e=Object.getOwnPropertySymbols(t);s<e.length;s++){if(i.indexOf(e[s])<0&&Object.prototype.propertyIsEnumerable.call(t,e[s]))n[e[s]]=t[e[s]]}return n};var B,I,P,R,N,V,G,J,A,L,H,K,X,Y,q,Q,U,Z,tt,it,nt,et,st,ot,lt,at,rt,ut,ct,ht,ft,pt,dt,mt,vt,bt,kt,gt,yt,_t,jt,wt,xt,Ot,$t,zt,St,Mt,Tt,Wt,Dt,Ct,Et,Ft,Bt,It,Pt,Rt,Nt,Vt,Gt,Jt;const At=document.documentElement;const Lt=class{constructor(n){t(this,n);this.kupReady=i(this,"kup-input-panel-ready",6);B.add(this);I.set(this,r());P.set(this,new Map([["SmeupTreeNode",C(this,B,"m",Et).bind(this)],["SmeupDataTree",C(this,B,"m",Ft).bind(this)],["SmeupTable",C(this,B,"m",Bt).bind(this)],["SmeupDataTable",C(this,B,"m",Bt).bind(this)]]));R.set(this,null);N.set(this,new Map([[u.AUTOCOMPLETE,["kup-autocomplete-input","kup-autocomplete-iconclick"]],[u.MULTI_AUTOCOMPLETE,["kup-autocomplete-input","kup-autocomplete-iconclick"]],[u.COMBOBOX,["kup-combobox-iconclick","kup-combobox-blur"]],[u.MULTI_COMBOBOX,["kup-combobox-iconclick"]]]));V.set(this,new Map([[c.AUTOCOMPLETE,"kup-autocomplete-blur"],[c.CHIP,"kup-textfield-blur"],[c.COMBOBOX,"kup-combobox-blur"],[c.DATE,"kup-datepicker-blur"],[c.MULTI_AUTOCOMPLETE,"kup-autocomplete-blur"],[c.MULTI_COMBOBOX,"kup-combobox-blur"],[c.TIME,"kup-timepicker-blur"]]));G.set(this,[]);J.set(this,new Map([[u.DATE,"kup-date-picker"],[u.TIME,"kup-time-picker"]]));A.set(this,new Map([[c.BUTTON_LIST,C(this,B,"m",q).bind(this)],[c.EDITOR,C(this,B,"m",U).bind(this)],[c.LABEL,C(this,B,"m",tt).bind(this)],[c.TABLE,C(this,B,"m",Z).bind(this)]]));L.set(this,new Map([[w.TAB,C(this,B,"m",at).bind(this)]]));H.set(this,[]);this.customStyle="";this.data=null;this.hiddenSubmitButton=false;this.submitCb=null;this.optionsHandler=null;this.customButtonClickHandler=null;this.checkValidObjCallback=null;this.checkValidValueCallback=null;this.dashboardMode=false;this.inputPanelCells=[];this.inputPanelCommands=[];this.tabSelected=null}onDataChanged(){E(this,R,structuredClone(this.data),"f");if(C(this,G,"f").length){C(this,G,"f").map((({event:t,handler:i})=>{this.rootElement.removeEventListener(t,i)}));E(this,G,[],"f")}if(C(this,H,"f").length){C(this,H,"f").map((t=>{C(this,I,"f").keysBinding.unregister(t)}));E(this,H,[],"f")}C(this,B,"m",ht).call(this,this.data)}async getProps(t){return h(this,x,t)}async refresh(){n(this)}async setProps(t){f(this,x,t)}componentWillLoad(){C(this,I,"f").debug.logLoad(this,false);C(this,I,"f").language.register(this);C(this,I,"f").theme.register(this);this.onDataChanged()}componentDidLoad(){this.kupReady.emit({comp:this,id:this.rootElement.id});C(this,I,"f").debug.logLoad(this,true)}componentWillRender(){C(this,I,"f").debug.logRender(this,false)}componentDidRender(){const t=this.rootElement.shadowRoot;if(t){const i=t.querySelectorAll(".f-text-field");for(let t=0;t<i.length;t++){_(i[t])}}C(this,I,"f").debug.logRender(this,true)}render(){const t=Boolean(!this.inputPanelCells.length);const i=t?[e("p",null,C(this,I,"f").language.translate(p.EMPTY_DATA))]:this.inputPanelCells.map((t=>C(this,B,"m",X).call(this,t)));return e(s,{key:"69bc9fd4ca68ece16650f60d63f93ff9356addac"},e("style",{key:"af0f2b6b59e6fe28408b5fc9a29878ca52645642"},C(this,I,"f").theme.setKupStyle(this.rootElement)),e("div",{key:"4870d972caf874d876688a080f29b2ec336ab63a",id:j},i))}disconnectedCallback(){C(this,I,"f").language.unregister(this);C(this,I,"f").theme.unregister(this)}get rootElement(){return o(this)}static get watchers(){return{data:["onDataChanged"]}}};I=new WeakMap,P=new WeakMap,R=new WeakMap,N=new WeakMap,V=new WeakMap,G=new WeakMap,J=new WeakMap,A=new WeakMap,L=new WeakMap,H=new WeakMap,B=new WeakSet,K=function t(i){return this.inputPanelCells.reduce(((t,{cells:n})=>{if(!t){return n.find((({column:t})=>t.name===i)).cell}return t}),null)},X=function t(i){var n;const s=i.row.layout;const o=(s===null||s===void 0?void 0:s.horizontal)||false;const a={};let r;if(!((n=s===null||s===void 0?void 0:s.sections)===null||n===void 0?void 0:n.length)){r=i.cells.map((t=>C(this,B,"m",Y).call(this,t.cell,i.row,t.column)))}else{if(s.absolute){r=C(this,B,"m",et).call(this,i,s)}else{if(!s.sectionsType){const t=s.sections.some((t=>t.dim));a.display="grid";if(s.horizontal){a.gridTemplateColumns=t?s.sections.map((t=>t.dim||"auto")).join(" "):`repeat(${s.sections.length}, 1fr)`}else{if(this.dashboardMode){a.gridTemplateRows=t?s.sections.map((t=>t.dim||"auto")).join(" "):`repeat(${s.sections.length}, 1fr)`}}}r=C(this,B,"m",nt).call(this,i,s)}}const u={"input-panel":true,"input-panel--column":!o,"input-panel--absolute":s===null||s===void 0?void 0:s.absolute};return e("form",{name:this.rootElement.id,id:this.rootElement.id,class:{"input-panel-form":true},onSubmit:t=>{t.preventDefault();this.submitCb({value:{before:Object.assign({},C(this,R,"f")),after:C(this,B,"m",dt).call(this)}})}},e("div",{class:u,style:a},r),e("div",{class:"input-panel__commands"},!this.hiddenSubmitButton?e(l,{buttonType:"submit",label:C(this,I,"f").language.translate(p.CONFIRM),wrapperClass:"form__submit"}):null,this.inputPanelCommands))},Y=function t(i,n,s){if(!i){return}const o=C(this,A,"f").get(i.shape);if(o!==undefined){return o(i,s.name)}const l={cell:i,column:s,row:n,component:this,editable:true,renderKup:true,setSizes:true};const r=C(this,B,"m",it).call(this,i,s.title);if(r){return e("div",{class:{"input-panel__label_container":true}},r,e(a,Object.assign({},l)))}return e(a,Object.assign({},l))},q=function t(i,n){return e(l,Object.assign({icon:i.icon,id:n},i.data,{wrapperClass:"form__submit"}))},Q=function t(i,n){return e("kup-dropdown-button",Object.assign({},i.data,{sizing:y.MEDIUM,label:i.value,data:n,"onkup-dropdownbutton-itemclick":t=>{C(this,B,"m",Jt).call(this,t.detail.node,t.detail.node.id)}}))},U=function t(i,n){const s="kup-editor-save";const o=t=>{const i=this.inputPanelCells.reduce(((t,{cells:i})=>{if(!t){return i.find((({column:t})=>t.name===n)).cell}return t}),null);i.value=t.detail.htmlValue.replace(/\n/g,"<br>")};this.rootElement.addEventListener(s,o);C(this,G,"f").push({event:s,handler:o});return e("kup-editor",Object.assign({},i.data,{id:n,isReadOnly:!i.isEditable,showToolbar:true}))},Z=function t(i,n){return e("kup-data-table",Object.assign({id:n,editableData:true,showGroups:true,showFilters:true,showFooter:true},i.data))},tt=function t(i,n){return e("span",{class:"input-panel-label",id:n},i.value)},it=function t(i,n){if(!n){return null}const s=At.ketchup.data.cell.getType(i,i.shape);if(s===u.RADIO){return e("span",null,n)}return null},nt=function t(i,n){const e=C(this,L,"f").get(n.sectionsType);return e?e(i,n.sections):n.sections.map((t=>C(this,B,"m",st).call(this,i,t)))},et=function t(i,n){return n.sections.map((t=>C(this,B,"m",ot).call(this,i,t)))},st=function t(i,n,s=false,o={}){var l,a;const r={"input-panel__section":!n.horizontal,"input-panel__horizontal-section":n.horizontal};o.gap=+n.gap>0?`${n.gap}rem`:"1rem";let u=[];if((l=n.sections)===null||l===void 0?void 0:l.length){u=n.sections.map((n=>C(this,B,"m",t).call(this,i,n)));const e=n.sections.some((t=>t.dim));if(!n.gridCols&&n.horizontal){o.gridTemplateColumns=e?n.sections.map((t=>t.dim||"auto")).join(" "):`repeat(${n.sections.length}, 1fr)`}if(!n.gridRows&&!n.horizontal&&this.dashboardMode){o.gridTemplateRows=e?n.sections.map((t=>t.dim||"auto")).join(" "):`repeat(${n.sections.length}, 1fr)`}}else if((a=n.content)===null||a===void 0?void 0:a.length){u=n.content.map((t=>C(this,B,"m",rt).call(this,i,t)));o.gridTemplateColumns=+n.gridCols>0?`repeat(${n.gridCols}, 1fr)`:"";if(this.dashboardMode){o.gridTemplateRows=+n.gridRows>0?`repeat(${n.gridRows}, 1fr)`:""}}const c=e("div",{class:r,style:o},u);return n.title&&!s?e("div",{class:{"input-panel__section_label_container":true}},e("h3",null,n.title),c):c},ot=function t(i,n){var s,o;let l=[];if((s=n.sections)===null||s===void 0?void 0:s.length){l=n.sections.map((n=>C(this,B,"m",t).call(this,i,n)))}else if((o=n.content)===null||o===void 0?void 0:o.length){l=n.content.map((t=>C(this,B,"m",ut).call(this,i,t)))}const a=`${z(n.absoluteWidth)}px`;const r=`${S(n.absoluteHeight)}px`;const u=`${M(n.absoluteRow)}px`;const c=`${T(n.absoluteColumn)}px`;const h={position:"absolute",width:a,"min-width":a,"max-width":a,height:r,"min-height":r,"max-height":r,top:u,left:c,overflow:"auto"};return e("div",{style:h},l)},lt=function t(i){var n,e;let s=[];if((n=i.content)===null||n===void 0?void 0:n.length){i.content.forEach((t=>{if(t.id){s.push(t.id)}}))}if((e=i.sections)===null||e===void 0?void 0:e.length){i.sections.forEach((i=>{s=s.concat(C(this,B,"m",t).call(this,i))}))}return s},at=function t(i,n){if(!this.tabSelected){this.tabSelected=n[0].id||"0"}const s=n.map(((t,n)=>{const e=C(this,B,"m",lt).call(this,t);const s=i.cells.some((t=>{var i;const n=t.cell;const s=t.column;return e.includes(s.name)&&!!((i=n.data)===null||i===void 0?void 0:i.error)}));return{active:(t.id||`${n}`)===this.tabSelected,value:t.title,icon:s?"error":t.icon,id:t.id||`${n}`,danger:s}}));const o=n.map(((t,n)=>{const e=t.id||`${n}`;return C(this,B,"m",st).call(this,i,t,true,{display:this.tabSelected!==e?"none":"grid"})}));const l=".tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }";if(!C(this,G,"f").map((t=>t.event)).includes("kup-tabbar-click")){const t="kup-tabbar-click";const i=t=>{this.tabSelected=t.detail.node.id};this.rootElement.addEventListener(t,i);C(this,G,"f").push({event:t,handler:i})}return e("div",{class:{"input-panel__tabs_container":true}},e("kup-tab-bar",{data:s,customStyle:l}),o)},rt=function t(i,n){const s=i.cells.find((t=>t.column.name===n.id));const o=+n.colSpan>0?n.colSpan:!(+n.colSpan>0)&&!(+n.colStart>0)?1:null;const l=o?`span ${o}`:`${n.colStart}`;const a=+n.colEnd>0?`${n.colEnd}`:"";const r=+n.rowSpan>0?n.rowSpan:!(+n.rowSpan>0)&&!(+n.rowStart>0)?1:null;const u=r?`span ${r}`:`${n.rowStart}`;const c=+n.rowEnd>0?`${n.rowEnd}`:"";const h={"min-width":"0","grid-column-start":l,"grid-column-end":a,"grid-row-start":u,"grid-row-end":c};if(!s||!s.cell){return}return e("div",{style:h},C(this,B,"m",Y).call(this,s.cell,i.row,s.column))},ut=function t(i,n){const s=i.cells.find((t=>t.column.name===n.id));if(!s||!s.cell){return}let o;if(s.cell.shape==c.DATE){o=n.absoluteLength>8?n.absoluteLength:8}else{o=n.absoluteLength}const l=`${z(o)}px`;const a=`${S(1)}px`;const r=`${M(n.absoluteRow)}px`;const u=`${T(n.absoluteColumn)}px`;const h={position:"absolute",width:l,"min-width":l,"max-width":l,height:a,"min-height":a,"max-height":a,top:r,left:u,overflow:"auto"};s.cell.data=Object.assign(Object.assign({},s.cell.data),{customStyle:(s.cell.data.customStyle||"")+".mdc-text-field {height: unset !important;}"});return e("div",{style:h},C(this,B,"m",Y).call(this,s.cell,i.row,s.column))},ct=function t(){this.inputPanelCommands=this.data.setup.commands.map((t=>{if((t===null||t===void 0?void 0:t.children)&&(t===null||t===void 0?void 0:t.children.length)>0){const i={"kup-list":{showIcons:true,data:t.children.map((t=>C(this,B,"m",It).call(this,t)))}};return C(this,B,"m",Q).call(this,t,i)}else{const i=C(this,B,"m",It).call(this,t);return C(this,B,"m",q).call(this,i,t.value)}})).flat()},ht=function t(i){var n,e,s,o;if((e=(n=i.setup)===null||n===void 0?void 0:n.commands)===null||e===void 0?void 0:e.length){C(this,B,"m",ct).call(this)}const l=(s=i===null||i===void 0?void 0:i.rows[0])===null||s===void 0?void 0:s.layout;const a=((o=i===null||i===void 0?void 0:i.rows)===null||o===void 0?void 0:o.length)?i.rows.reduce(((t,n)=>{const e=i.columns.filter((t=>t.visible)).map((t=>{const i=structuredClone(n.cells[t.name]);const e=i?Object.assign(Object.assign({},i),{data:C(this,B,"m",ft).call(this,i,t,l),slotData:C(this,B,"m",vt).call(this,i,t),isEditable:true}):null;return{column:t,cell:e}}));return[...t,{cells:e,row:n}]}),[]):[];a.map((({cells:t})=>t.map((({cell:t,column:i})=>{const n=At.ketchup.data.cell.getType(t,t.shape);const e=C(this,J,"f").get(n);if(!e){return}const s=this.rootElement.shadowRoot.querySelector(`${e}[id=${i.name.replace(/\//g,"\\$1")}]`);s===null||s===void 0?void 0:s.setValue(t.value)}))));this.inputPanelCells=a},ft=function t(i,n,e){const s=Object.assign(Object.assign({},C(this,B,"m",mt).call(this,i,n,e)),{disabled:!i.editable,id:n.name});const o=At.ketchup.data.cell.getType(i,i.shape);const l=i.data||{},a=F(l,["data"]);return o!==u.MULTI_AUTOCOMPLETE&&o!==u.MULTI_COMBOBOX?C(this,B,"m",pt).call(this,s,Object.assign({},i.data)):Object.assign(Object.assign({},s),a)},pt=function t(i,n){for(const e in n){if(n[e]instanceof Object&&!Array.isArray(n[e])&&e in i){i[e]=C(this,B,"m",t).call(this,i[e],n[e])}else{i[e]=n[e]}}return i},dt=function t(){return this.inputPanelCells.reduce(((t,i)=>{const n=Object.keys(i.row.cells).reduce(((t,n)=>{var e;const s=(e=i.cells.find((t=>t.column.name===n)))===null||e===void 0?void 0:e.cell;let o=s===null||s===void 0?void 0:s.value;if((s===null||s===void 0?void 0:s.shape)===c.TABLE){o=JSON.stringify(C(this,B,"m",Dt).call(this,s.data.data,n))}return Object.assign(Object.assign({},t),{[n]:Object.assign(Object.assign({},i.row.cells[n]),{value:o,obj:s===null||s===void 0?void 0:s.obj})})}),{});return{columns:[...t.columns,...i.cells.map((t=>t.column))],rows:[...t.rows,{cells:n,layout:i.row.layout}]}}),{columns:[],rows:[]})},mt=function t(i,n,e){if(!i){return null}const s=i.options;let o;if(e===null||e===void 0?void 0:e.absolute){o=null}else{o=n.title}const l=i.value;const a=At.ketchup.data.cell.getType(i,i.shape);const r=new Map([[u.AUTOCOMPLETE,C(this,B,"m",yt).bind(this)],[u.BUTTON_LIST,C(this,B,"m",gt).bind(this)],[u.CHART,C(this,B,"m",kt).bind(this)],[u.CHIP,C(this,B,"m",bt).bind(this)],[u.CHECKBOX,C(this,B,"m",_t).bind(this)],[u.COLOR_PICKER,C(this,B,"m",jt).bind(this)],[u.COMBOBOX,C(this,B,"m",yt).bind(this)],[u.EDITOR,C(this,B,"m",wt).bind(this)],[u.MULTI_AUTOCOMPLETE,C(this,B,"m",bt).bind(this)],[u.MULTI_COMBOBOX,C(this,B,"m",bt).bind(this)],[u.NUMBER,C(this,B,"m",Tt).bind(this)],[u.DATE,C(this,B,"m",zt).bind(this)],[u.OBJECT,C(this,B,"m",St).bind(this)],[u.RADIO,C(this,B,"m",Ot).bind(this)],[u.STRING,C(this,B,"m",xt).bind(this)],[u.SWITCH,C(this,B,"m",$t).bind(this)],[u.TABLE,C(this,B,"m",Wt).bind(this)],[u.TIME,C(this,B,"m",Mt).bind(this)]]);const c=r.get(a);return c?c(s,o,l,i,n.name):null},vt=function t(i,n){const e=At.ketchup.data.cell.getType(i,i.shape);if(!i.editable){return null}if(e===u.CHIP){return{trailingIcon:true,label:n.title,disabled:!i.editable,id:n.name,fullWidth:false}}if(e===u.MULTI_AUTOCOMPLETE||e===u.MULTI_COMBOBOX){return Object.assign(Object.assign({},C(this,B,"m",yt).call(this,i.options,n.title,null,i,n.name)),{showDropDownIcon:true,class:"",style:{width:"100%"},disabled:!i.editable,id:n.name})}return null},bt=function t(i,n,e,s,o){var l,a;if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){C(this,B,"m",Nt).call(this,s,o)}return d(e)},kt=function t(){return{data:{sizeX:"50px",offlineMode:{value:"8;4;5"},id:"i1012_GREF_0",cellId:"i1012_GREF_0",sizeY:"50px"}}},gt=function t(i,n,e,s,o){var l,a,r,u;s.data=s.data||{};s.data.onClick=()=>{C(this,B,"m",Jt).call(this,s,o)};if(((l=s.data)===null||l===void 0?void 0:l.keyShortcut)&&!((a=s.data)===null||a===void 0?void 0:a.disabled)){C(this,H,"f").push((r=s.data)===null||r===void 0?void 0:r.keyShortcut);C(this,I,"f").keysBinding.register((u=s.data)===null||u===void 0?void 0:u.keyShortcut,s.data.onClick.bind(this))}return Object.assign({label:s.value,fun:s.fun},s.data)},yt=function t(i,n,e,s,o){var l,a;const r=m(e,n,[]);if(s.fun){const t=At.ketchup.data.cell.getType(s,s.shape);const i=C(this,N,"f").get(t);if(!i){return}i.map((t=>{const i=t=>{C(this,B,"m",Pt).call(this,t.detail,s.fun,r,o,e)};this.rootElement.addEventListener(t,i);C(this,G,"f").push({event:t,handler:i})}))}else if(i){r.data["kup-list"].data=C(this,B,"m",Ct).call(this,i,e)}if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){C(this,B,"m",Nt).call(this,s,o)}return r},_t=function t(i,n,e,s,o){var l,a;let r=g(e,n);if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){return Object.assign(Object.assign({},r),{onBlur:()=>{C(this,B,"m",Rt).call(this,s,o)}})}return r},jt=function t(i,n,e){return{data:{"kup-text-field":{label:n}}}},wt=function t(i,n,e){return{initialValue:e}},xt=function t(i,n,e,s,o){var l,a;if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){return{label:n,onBlur:()=>{C(this,B,"m",Rt).call(this,s,o)}}}return{label:n}},Ot=function t(i,n,e,s,o){var l,a;let r=v(e,i);if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){return Object.assign(Object.assign({},r),{onBlur:()=>{C(this,B,"m",Rt).call(this,s,o)}})}return r},$t=function t(i,n,e){return b(e,n)},zt=function t(i,n,e,s,o){var l,a;if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){C(this,B,"m",Nt).call(this,s,o)}return{data:{"kup-text-field":{label:n}},initialValue:e}},St=function t(i,n,e,s,o){var l,a;if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){return{initialValue:e||"",label:n||" ",value:e||"",onBlur:()=>{C(this,B,"m",Rt).call(this,s,o)}}}return{initialValue:e||"",label:n||" ",value:e||""}},Mt=function t(i,n,e,s,o){var l,a;if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){C(this,B,"m",Nt).call(this,s,o)}return{data:{"kup-text-field":{label:n}}}},Tt=function t(i,n,e,s,o){var l,a;if(((l=s.inputSettings)===null||l===void 0?void 0:l.checkObject)||((a=s.inputSettings)===null||a===void 0?void 0:a.checkValueOnExit)||s.mandatory){return{label:n,onBlur:()=>{C(this,B,"m",Rt).call(this,s,o)}}}return{label:n}},Wt=function t(i,n,e,s,o){try{let t=JSON.parse(s.value);if(!t){C(this,I,"f").debug.logMessage(this,`Empty value for ${o} cell.`,k.WARNING);return null}if(t.type!=="SmeupDataTable"){C(this,I,"f").debug.logMessage(this,`Wrong data table type for ${o} cell. Type \`SmeupDataTable\` in value expected`,k.ERROR);return null}return{data:{columns:t.columns.map((i=>Object.assign(Object.assign({},i),{obj:t.rows[0].cells[i.name].obj}))),rows:t.rows.map((i=>Object.assign(Object.assign({},i),{cells:Object.keys(i.cells).reduce(((n,e)=>{const s=t.columns.find((t=>t.name===e));return Object.assign(Object.assign({},n),{[e]:Object.assign(Object.assign({},i.cells[e]),{data:Object.assign(Object.assign({},C(this,B,"m",mt).call(this,i.cells[e],s)),{disabled:i.cells[e].editable===false,id:s.id})})})}),{})})))}}}catch(t){C(this,I,"f").debug.logMessage(this,`Invalid value for ${o} cell. Type \`SmeupDataTable\` expected`,k.ERROR);return null}},Dt=function t(i,n){const e=Object.assign(Object.assign({},i),{rows:i.rows.map((t=>Object.assign(Object.assign({},t),{cells:{}})))});const s=i.columns.filter((t=>t.isEditable)).map((t=>t.name));if(!s.length){return e}try{const t=JSON.parse(C(this,R,"f").rows[0].cells[n].value);e.rows=i.rows.map(((i,n)=>s.reduce(((e,s)=>{const o=t.rows[n].cells[s]&&i.cells[s].value!==t.rows[n].cells[s].value;if(o){return Object.assign(Object.assign({},t.rows[n]),{cells:Object.assign(Object.assign({},e.cells),{[s]:Object.assign(Object.assign({},t.rows[n].cells[s]),{value:i.cells[s].value})})})}return Object.assign(Object.assign({},t.rows[n]),{cells:e.cells})}),Object.assign(Object.assign({},t.rows[n]),{cells:{}}))));return e}catch(t){return e}},Ct=function t(i,n){const e=C(this,P,"f").get(i.type);if(e){return e(i,n)}else{return i.map((t=>({value:t.label,id:t.id,selected:n===t.id})))}},Et=function t(i,n){return i.children.map((i=>{var e;return{id:i.content.codice,value:i.content.testo,selected:n===i.content.codice,children:((e=i.children)===null||e===void 0?void 0:e.length)?C(this,B,"m",t).call(this,i,n):[]}}))},Ft=function t(i,n){return i.children.map((i=>{var e;return{id:i.obj.k,value:i.value,selected:n===i.obj.k,children:((e=i.children)===null||e===void 0?void 0:e.length)?C(this,B,"m",t).call(this,i,n):[]}}))},Bt=function t(i,n){return i.rows.map((t=>{var i;const e=t.fields||t.cells;const[s,o]=Object.keys(e);return{id:e[s].value,value:((i=e[o])===null||i===void 0?void 0:i.value)||e[s].value,selected:n===e[s].value}}))},It=function t(i){const n=Object.assign(Object.assign({},i),{data:C(this,B,"m",gt).call(this,null,null,i.value,i,i.obj.k),id:i.obj.k});return n},Pt=function t(i,n,e,s,o){if(i.id!==s||i.open===false){return}this.optionsHandler(n,i.inputValue,C(this,B,"m",dt).call(this),i.id).then((t=>{var n;e.data["kup-list"].data=(n=C(this,B,"m",Ct).call(this,t,o))!==null&&n!==void 0?n:[];i.comp.refresh()}))},Rt=async function t(i,n){var e,s;const o=C(this,B,"m",K).call(this,n);if(i.mandatory){C(this,B,"m",Vt).call(this,n,o.value?null:C(this,I,"f").language.translate(p.REQUIRED_VALUE));if(!o.value){return}}else{C(this,B,"m",Vt).call(this,n,null)}if(((e=i.inputSettings)===null||e===void 0?void 0:e.checkObject)&&o.value){const{valid:t}=await this.checkValidObjCallback({obj:i.obj,currentState:C(this,B,"m",dt).call(this),fun:i.fun});if(t){C(this,B,"m",Vt).call(this,n,null)}else{C(this,B,"m",Vt).call(this,n,C(this,I,"f").language.translate(p.INVALID_VALUE));return}}if(((s=i.inputSettings)===null||s===void 0?void 0:s.checkValueOnExit)&&C(this,B,"m",Gt).call(this)){this.checkValidValueCallback({before:Object.assign({},C(this,R,"f")),after:C(this,B,"m",dt).call(this)},n)}},Nt=function t(i,n){const e=C(this,V,"f").get(i.shape);if(!e){return}const s=async t=>{var e,s;const o=C(this,B,"m",K).call(this,n);if(t.detail.id!==n){return}if(i.mandatory){C(this,B,"m",Vt).call(this,n,o.value?null:C(this,I,"f").language.translate(p.REQUIRED_VALUE));if(!t.detail.value){return}}else{C(this,B,"m",Vt).call(this,n,null)}if(((e=i.inputSettings)===null||e===void 0?void 0:e.checkObject)&&t.detail.value){const{valid:t}=await this.checkValidObjCallback({obj:i.obj,currentState:C(this,B,"m",dt).call(this),fun:i.fun});C(this,B,"m",Vt).call(this,n,t?null:C(this,I,"f").language.translate(p.INVALID_VALUE));if(!t){return}}if(((s=i.inputSettings)===null||s===void 0?void 0:s.checkValueOnExit)&&C(this,B,"m",Gt).call(this)){this.checkValidValueCallback({before:Object.assign({},C(this,R,"f")),after:C(this,B,"m",dt).call(this)},n)}};this.rootElement.addEventListener(e,s);C(this,G,"f").push({event:e,handler:s})},Vt=function t(i,n){this.inputPanelCells=this.inputPanelCells.map((t=>Object.assign(Object.assign({},t),{cells:t.cells.map((({cell:t,column:e})=>{const s=e.name===i?Object.assign(Object.assign({},t.data),{error:n}):t.data;return{column:e,cell:Object.assign(Object.assign({},t),{data:s})}}))})))},Gt=function t(){return this.inputPanelCells.some((({cells:t,row:i})=>t.some((({cell:t,column:{name:n}})=>t.value!==i.cells[n].value))))},Jt=function t(i,n){i.fun?this.customButtonClickHandler({fun:i.fun,cellId:n,currentState:C(this,B,"m",dt).call(this)}):this.submitCb({value:{before:Object.assign({},C(this,R,"f")),after:C(this,B,"m",dt).call(this)},cell:n})};Lt.style=D;export{Lt as kup_input_panel};
2
+ //# sourceMappingURL=p-f2063dac.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KupInputPanelLayoutSectionType","KupInputPanelProps","CHAR_WIDTH","ROW_HEIGHT","getAbsoluteWidth","length","getAbsoluteHeight","height","getAbsoluteTop","row","getAbsoluteLeft","col","kupInputPanelCss","KupInputPanelStyle0","dom","document","documentElement","KupInputPanel","_KupInputPanel_kupManager","set","this","kupManagerInstance","_KupInputPanel_optionsAdapterMap","Map","__classPrivateFieldGet","_KupInputPanel_instances","_KupInputPanel_treeOptionsNodeAdapter","bind","_KupInputPanel_dataTreeOptionsChildrenAdapter","_KupInputPanel_tableOptionsAdapter","_KupInputPanel_originalData","_KupInputPanel_eventNames","FCellTypes","AUTOCOMPLETE","MULTI_AUTOCOMPLETE","COMBOBOX","MULTI_COMBOBOX","_KupInputPanel_eventBlurNames","FCellShapes","CHIP","DATE","TIME","_KupInputPanel_listeners","_KupInputPanel_cellTypeComponents","_KupInputPanel_cellCustomRender","BUTTON_LIST","_KupInputPanel_renderButton","EDITOR","_KupInputPanel_renderEditor","LABEL","_KupInputPanel_renderLabel","TABLE","_KupInputPanel_renderDataTable","_KupInputPanel_sectionRenderMap","TAB","_KupInputPanel_renderSectionTab","_KupInputPanel_keysShortcut","onDataChanged","__classPrivateFieldSet","structuredClone","data","map","event","handler","rootElement","removeEventListener","key","keysBinding","unregister","_KupInputPanel_mapCells","call","getProps","descriptions","refresh","forceUpdate","setProps","props","componentWillLoad","debug","logLoad","language","register","theme","componentDidLoad","kupReady","emit","comp","id","componentWillRender","logRender","componentDidRender","root","shadowRoot","fs","querySelectorAll","index","FTextFieldMDC","render","isEmptyData","Boolean","inputPanelCells","inputPanelContent","h","translate","KupLanguageGeneric","EMPTY_DATA","inputPanelCell","_KupInputPanel_renderRow","Host","setKupStyle","componentWrapperId","disconnectedCallback","reduce","cell","cells","find","column","name","layout","horizontal","styleObj","rowContent","_a","sections","_KupInputPanel_renderCell","absolute","_KupInputPanel_renderAbsoluteLayout","sectionsType","hasDim","some","sec","dim","display","gridTemplateColumns","join","dashboardMode","gridTemplateRows","_KupInputPanel_renderGridLayout","classObj","class","onSubmit","e","preventDefault","submitCb","value","before","Object","assign","after","_KupInputPanel_reverseMapCells","style","hiddenSubmitButton","FButton","buttonType","label","CONFIRM","wrapperClass","inputPanelCommands","customRender","get","shape","undefined","cellProps","component","editable","renderKup","setSizes","_KupInputPanel_getLabelComponent","title","FCell","cellId","icon","_KupInputPanel_renderDropDownButton","sizing","KupComponentSizing","MEDIUM","_KupInputPanel_getFunctionOnClickBTN","detail","node","edtCell","htmlValue","replace","addEventListener","push","isReadOnly","isEditable","showToolbar","editableData","showGroups","showFilters","showFooter","cellType","ketchup","getType","RADIO","sectionRender","section","_KupInputPanel_renderSection","_KupInputPanel_renderAbsoluteSection","customLabelRender","gap","content","innerSection","gridCols","gridRows","_b","field","_KupInputPanel_renderField","sectionContent","_KupInputPanel_renderAbsoluteField","width","absoluteWidth","absoluteHeight","top","absoluteRow","left","absoluteColumn","sectionStyle","position","overflow","_KupInputPanel_extractContentIds","ids","forEach","item","concat","tabSelected","tabNodes","i","cellIdsInSection","hasError","cellData","includes","error","active","danger","sectionId","tabCustomStyle","l","customStyle","fieldCell","colSpan","colStart","colEnd","rowSpan","rowStart","rowEnd","absoluteLength","_KupInputPanel_mapCommands","setup","commands","commandObj","children","showIcons","c","_KupInputPanel_commandAdapter","buttonCell","flat","_c","rows","inpuPanelCells","_d","columns","filter","visible","mappedCell","_KupInputPanel_setData","slotData","_KupInputPanel_slotData","componentQuery","el","querySelector","setValue","defaultProps","_KupInputPanel_mapData","disabled","noDataProps","__rest","_KupInputPanel_deepObjectsMerge","target","source","Array","isArray","curr","updatedCells","keys","cellState","JSON","stringify","_KupInputPanel_getTableUpdatedCell","obj","options","fieldLabel","currentValue","dataAdapterMap","_KupInputPanel_CMBandACPAdapter","_KupInputPanel_BTNAdapter","CHART","_KupInputPanel_GRAAdapter","_KupInputPanel_CHIAdapter","CHECKBOX","_KupInputPanel_CHKAdapter","COLOR_PICKER","_KupInputPanel_CLPAdapter","_KupInputPanel_EDTAdapter","NUMBER","_KupInputPanel_NumberAdapter","_KupInputPanel_DateAdapter","OBJECT","_KupInputPanel_ObjectAdapter","_KupInputPanel_RADAdapter","STRING","_KupInputPanel_ITXAdapter","SWITCH","_KupInputPanel_SWTAdapter","_KupInputPanel_DataTableAdapter","_KupInputPanel_TimeAdapter","adapter","trailingIcon","fullWidth","showDropDownIcon","_options","_fieldLabel","inputSettings","checkObject","checkValueOnExit","mandatory","_KupInputPanel_checkOnBlurEvent","CHIAdapter","sizeX","offlineMode","sizeY","_currentValue","onClick","keyShortcut","fun","rawOptions","configCMandACP","CMBandACPAdapter","evNames","evName","_KupInputPanel_getAutocompleteEventCallback","_KupInputPanel_optionsTreeComboAdapter","CHKAdapter","onBlur","_KupInputPanel_checkOnBlurProp","initialValue","RADAdapter","SWTAdapter","_rawOptions","_value","parse","logMessage","KupDebugCategory","WARNING","type","ERROR","tableValue","updated","editableColsId","beforeTableValue","updatedRow","colId","changed","option","selected","child","codice","testo","k","fields","open","optionsHandler","inputValue","then","async","currCell","_KupInputPanel_getCell","_KupInputPanel_setCellError","REQUIRED_VALUE","valid","checkValidObjCallback","currentState","INVALID_VALUE","_KupInputPanel_areValuesUpdated","checkValidValueCallback","customButtonClickHandler"],"sources":["src/components/kup-input-panel/kup-input-panel-declarations.ts","src/components/kup-input-panel/kup-input-panel-utils.ts","src/components/kup-input-panel/kup-input-panel.scss?tag=kup-input-panel&encapsulation=shadow","src/components/kup-input-panel/kup-input-panel.tsx"],"sourcesContent":["import { GenericObject } from '../../components';\nimport {\n KupDataCell,\n KupDataColumn,\n KupDataCommand,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { KupObj } from '../../managers/kup-objects/kup-objects-declarations';\n\nexport interface KupInputPanelSubmit {\n value: KupInputPanelSubmitValue;\n cell?: string;\n}\nexport interface KupInputPanelSubmitValue {\n after: KupInputPanelData;\n before: KupInputPanelData;\n}\n\nexport interface KupInputPanelData {\n columns?: KupDataColumn[];\n rows?: KupInputPanelRow[];\n actions?: KupInputPanelAction[];\n setup?: {\n commands?: Array<KupDataCommand>;\n };\n}\n\nexport interface KupInputPanelAction {\n type?: string;\n fun?: string;\n}\n\nexport interface KupInputPanelColumn {\n name: string;\n title: string;\n visible?: boolean;\n}\n\nexport interface KupInputPanelRow {\n cells?: KupInputPanelRowCells;\n layout?: KupInputPanelLayout;\n}\n\nexport interface KupInputPanelRowCells {\n [key: string]: KupInputPanelCell;\n}\n\nexport interface KupInputPanelCell extends KupDataCell {\n options?: GenericObject | GenericObject[];\n editable?: boolean;\n mandatory?: boolean;\n inputSettings?: GenericObject;\n fun?: string;\n}\n\nexport interface KupInputPanelCellOptions {\n id: string;\n label: string;\n}\n\nexport interface KupInputPanelLayout {\n horizontal?: boolean;\n absolute?: boolean;\n sections?: KupInputPanelLayoutSection[];\n sectionsType?: KupInputPanelLayoutSectionType;\n}\n\nexport enum KupInputPanelLayoutSectionType {\n TAB = 'tab',\n}\n\nexport interface KupInputPanelLayoutSection {\n id?: string;\n title?: string;\n icon?: string;\n content?: KupInputPanelLayoutField[];\n sections?: KupInputPanelLayoutSection[];\n dim?: string;\n horizontal?: boolean;\n gridCols?: number;\n gridRows?: number;\n // Gap is in rem\n gap?: number;\n sectionsType?: KupInputPanelLayoutSectionType;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteWidth?: number;\n absoluteRow?: number;\n absoluteHeight?: number;\n}\n\nexport interface KupInputPanelLayoutField {\n id: string;\n // Span is referred to start\n colSpan?: number;\n colStart?: number;\n colEnd?: number;\n // Span is referred to start\n rowSpan?: number;\n rowStart?: number;\n rowEnd?: number;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteRow?: number;\n absoluteLength?: number;\n}\n\nexport type DataAdapterFn = (\n options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell?: KupInputPanelCell,\n id?: string\n) => Object;\n\nexport type InputPanelCells = {\n cells: { cell: KupDataCell; column: KupDataColumn }[];\n row?: KupInputPanelRow;\n};\n\nexport type InputPanelEvent = {\n state: { cell: KupDataCell; column: KupDataColumn }[];\n data: {\n field: string;\n value: number | string | object;\n };\n};\n\nexport type InputPanelOptionsHandler = (\n fun: string,\n inputValue: string,\n currentState: KupInputPanelData,\n cellId: string\n) => Promise<GenericObject>;\n\nexport type InputPanelCheckValidObjCallback = (event: {\n obj: KupObj;\n currentState: KupInputPanelData;\n fun?: string;\n}) => Promise<ValidCheckObjResponse>;\n\nexport interface ValidCheckObjResponse {\n valid: boolean;\n}\n\nexport type InputPanelButtonClickHandler = (event: {\n fun: string;\n cellId: string;\n currentState: KupInputPanelData;\n}) => void;\n\nexport type InputPanelCheckValidValueCallback = (\n currentState: KupInputPanelSubmitValue,\n cellId: string\n) => void;\n\nexport enum KupInputPanelProps {\n customStyle = 'Custom style of the component.',\n data = 'Actual data of the input panel.',\n hiddenSubmitButton = 'Creates a hidden submit button in order to submit the form with enter.',\n submitCb = 'Sets the callback function on submit form',\n optionsHandler = 'Sets the callback function to recieve options',\n}\n","const CHAR_WIDTH = 12;\nconst ROW_HEIGHT = 22;\n\nexport const getAbsoluteWidth = (length: number) => {\n if (length == 0) {\n return CHAR_WIDTH / 2;\n }\n\n if (!length) {\n return null;\n }\n\n if (length === 1) {\n return 1.5 * CHAR_WIDTH;\n }\n\n return length * CHAR_WIDTH;\n};\n\nexport const getAbsoluteHeight = (height: number) => {\n if (!height) {\n return null;\n }\n\n return height * ROW_HEIGHT;\n};\n\nexport const getAbsoluteTop = (row: number) => {\n if (!row) {\n return null;\n }\n\n return (row - 1) * ROW_HEIGHT;\n};\n\nexport const getAbsoluteLeft = (col: number) => {\n if (!col) {\n return null;\n }\n\n return col * CHAR_WIDTH;\n};\n","/**\n* @prop --kup-input-panel-background-color: Sets background of the component.\n* @prop --kup-input-panel-color: Sets text color of the component.\n* @prop --kup-input-panel-font-family: Sets font family of the component.\n* @prop --kup-input-panel-font-size: Sets font size of the component.\n* @prop --kup-input-panel-label-alignment: Sets the text alignment of labels.\n* @prop --kup-input-panel-label-width: Sets the width of labels.\n* @prop --kup-input-panel-padding: Sets the padding of the input panel.\n*/\n\n:host {\n --kup-fcell-width: fit-content;\n --kup_input_panel_background_color: var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );\n --kup_input_panel_color: var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );\n --kup_input_panel_font_family: var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );\n --kup_input_panel_font_size: var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );\n --kup_input_panel_label_alignment: var(--kup-input-panel-label-alignment);\n --kup_input_panel_label_width: var(--kup-input-panel-label-width);\n --kup_input_panel_padding: var(--kup-input-panel-padding, 1em 0);\n\n .input-panel {\n background: var(--kup_input_panel_background_color);\n color: var(--kup_input_panel_color);\n display: flex;\n flex-grow: 1;\n overflow: auto;\n padding: var(--kup_input_panel_padding);\n position: relative;\n gap: 2rem;\n // width: var(--kup-fcell_width);\n\n &__commands {\n display: flex;\n gap: 2rem;\n }\n\n &--column {\n flex-direction: column;\n }\n\n &__section_label_container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n\n &__section {\n display: grid;\n min-width: 0;\n\n .f-cell__content {\n > * {\n width: 100%;\n }\n }\n }\n\n &__horizontal-section {\n display: inline-grid;\n }\n\n .f-cell .f-checkbox .checkbox .checkbox__native-control {\n height: 40px;\n width: 40px;\n }\n\n &__label_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n > .f-cell {\n flex: 1;\n }\n }\n\n &__tabs_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 2rem;\n }\n\n .f-cell.number-cell {\n .f-cell__content {\n --kup-textfield-font-family: var(--kup_cell_font_family);\n\n font-family: var(--kup_cell_font_family);\n }\n }\n\n .input-panel-label {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n &--absolute {\n // TODO: calc the height dynamically\n height: 40ch;\n justify-content: flex-end;\n\n .input-panel-label {\n justify-content: start;\n }\n\n .mdc-text-field {\n height: unset !important;\n }\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n forceUpdate,\n h,\n} from '@stencil/core';\nimport {\n KupAutocompleteEventPayload,\n KupComboboxIconClickEventPayload,\n KupDataCell,\n KupDataTableDataset,\n KupDataTableRow,\n KupDropdownButtonEventPayload,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupComponentSizing,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelCheckValidObjCallback,\n InputPanelCheckValidValueCallback,\n InputPanelOptionsHandler,\n KupInputPanelCell,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n} from './kup-input-panel-utils';\n\nconst dom: KupDom = document.documentElement as KupDom;\n@Component({\n tag: 'kup-input-panel',\n styleUrl: 'kup-input-panel.scss',\n shadow: true,\n})\nexport class KupInputPanel {\n /**\n * References the root HTML element of the component (<kup-form>).\n */\n @Element() rootElement: HTMLElement;\n\n //#region PROPS\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n\n /**\n * Actual data of the form.\n * @default null\n */\n @Prop() data: KupInputPanelData = null;\n\n /**\n * Creates a hidden submit button in order to submit the form with enter.\n * @default false\n */\n @Prop() hiddenSubmitButton: boolean = false;\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidObjCallback?: InputPanelCheckValidObjCallback = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidValueCallback?: InputPanelCheckValidValueCallback = null;\n //#endregion\n\n /**\n * Sets verical layout if dashboardMode is true\n * @default false\n */\n @Prop() dashboardMode: boolean = false;\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCommands: VNode[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick', 'kup-combobox-blur']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n\n #eventBlurNames = new Map<FCellShapes, string>([\n [FCellShapes.AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.CHIP, 'kup-textfield-blur'],\n [FCellShapes.COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.DATE, 'kup-datepicker-blur'],\n [FCellShapes.MULTI_AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.MULTI_COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.TIME, 'kup-timepicker-blur'],\n ]);\n\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n this.#mapCells(this.data);\n }\n //#endregion\n\n //#region PUBLIC METHODS\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupInputPanelProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupInputPanelProps, props);\n }\n //#endregion\n\n //#region EVENTS\n /*-------------------------------------------------*/\n /* Events */\n /*-------------------------------------------------*/\n\n /**\n * When component load is complete\n */\n @Event({\n eventName: 'kup-input-panel-ready',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupReady: EventEmitter<KupEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #getCell(id: string) {\n return this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(({ column }) => column.name === id).cell;\n }\n return cell;\n }, null);\n }\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\n const styleObj: GenericObject = {};\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n if (layout.absolute) {\n rowContent = this.#renderAbsoluteLayout(inputPanelCell, layout);\n } else {\n if (!layout.sectionsType) {\n const hasDim = layout.sections.some((sec) => sec.dim);\n styleObj.display = 'grid';\n\n if (layout.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n } else {\n if (this.dashboardMode) {\n styleObj.gridTemplateRows = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n }\n }\n }\n\n rowContent = this.#renderGridLayout(inputPanelCell, layout);\n }\n }\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n };\n\n // We create a form for each row in data\n return (\n <form\n name={this.rootElement.id}\n id={this.rootElement.id}\n class={{ 'input-panel-form': true }}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n >\n <div class={classObj} style={styleObj}>\n {rowContent}\n </div>\n <div class=\"input-panel__commands\">\n {!this.hiddenSubmitButton ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n ></FButton>\n ) : null}\n {this.inputPanelCommands}\n </div>\n </form>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderDropDownButton(cell: KupDataCell, data: GenericObject) {\n return (\n <kup-dropdown-button\n {...cell.data}\n sizing={KupComponentSizing.MEDIUM}\n label={cell.value}\n data={data}\n onkup-dropdownbutton-itemclick={(\n e: CustomEvent<KupDropdownButtonEventPayload>\n ) => {\n this.#getFunctionOnClickBTN(\n e.detail.node,\n e.detail.node.id\n );\n }}\n ></kup-dropdown-button>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section)\n );\n }\n\n #renderAbsoluteLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n return layout.sections.map((section) =>\n this.#renderAbsoluteSection(inputPanelCell, section)\n );\n }\n\n #renderSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection,\n customLabelRender: boolean = false,\n styleObj: GenericObject = {}\n ) {\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n styleObj.gap = +section.gap > 0 ? `${section.gap}rem` : '1rem';\n\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n\n const hasDim = section.sections.some((sec) => sec.dim);\n\n if (!section.gridCols && section.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n\n if (\n !section.gridRows &&\n !section.horizontal &&\n this.dashboardMode\n ) {\n styleObj.gridTemplateRows = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n styleObj.gridTemplateColumns =\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '';\n if (this.dashboardMode) {\n styleObj.gridTemplateRows =\n +section.gridRows > 0\n ? `repeat(${section.gridRows}, 1fr)`\n : '';\n }\n }\n\n const sectionContent = (\n <div class={classObj} style={styleObj}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <h3>{section.title}</h3>\n {sectionContent}\n </div>\n ) : (\n sectionContent\n );\n }\n\n #renderAbsoluteSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderAbsoluteSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderAbsoluteField(cells, field)\n );\n }\n\n const width = `${getAbsoluteWidth(section.absoluteWidth)}px`;\n const height = `${getAbsoluteHeight(section.absoluteHeight)}px`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #extractContentIds(node: KupInputPanelLayoutSection) {\n let ids: string[] = [];\n\n if (node.content?.length) {\n node.content.forEach((item) => {\n if (item.id) {\n ids.push(item.id);\n }\n });\n }\n\n if (node.sections?.length) {\n node.sections.forEach((section) => {\n ids = ids.concat(this.#extractContentIds(section));\n });\n }\n\n return ids;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => {\n const cellIdsInSection = this.#extractContentIds(section);\n\n const hasError = cells.cells.some((cellData) => {\n const cell = cellData.cell;\n const column = cellData.column;\n return (\n cellIdsInSection.includes(column.name) && !!cell.data?.error\n );\n });\n\n return {\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: hasError ? 'error' : section.icon,\n id: section.id || `${i}`,\n danger: hasError,\n };\n });\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'min-width': '0',\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n fieldCell.cell.data = {\n ...fieldCell.cell.data,\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCommands() {\n this.inputPanelCommands = this.data.setup.commands\n .map((commandObj) => {\n if (commandObj?.children && commandObj?.children.length > 0) {\n const data = {\n 'kup-list': {\n showIcons: true,\n data: commandObj.children.map((c) =>\n this.#commandAdapter(c)\n ),\n },\n };\n return this.#renderDropDownButton(commandObj, data);\n } else {\n const buttonCell = this.#commandAdapter(commandObj);\n return this.#renderButton(buttonCell, commandObj.value);\n }\n })\n .flat();\n }\n\n #mapCells(data: KupInputPanelData) {\n if (data.setup?.commands?.length) {\n this.#mapCommands();\n }\n\n const layout = data?.rows[0]?.layout;\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setData(cell, column, layout),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name.replace(\n /\\//g,\n '\\\\$1'\n )}]`\n );\n\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setData(\n cell: KupInputPanelCell,\n column: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n const defaultProps = {\n ...this.#mapData(cell, column, layout),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(\n cell: KupInputPanelCell,\n col: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n let fieldLabel: string;\n if (layout?.absolute) {\n fieldLabel = null;\n } else {\n fieldLabel = col.title;\n }\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.OBJECT, this.#ObjectAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n this.#getFunctionOnClickBTN(cell, id);\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = CHKAdapter(currentValue, fieldLabel);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = RADAdapter(currentValue, options);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #ObjectAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #commandAdapter(cell: KupDataCell): KupDataCell {\n const buttonCell = {\n ...cell,\n data: this.#BTNAdapter(null, null, cell.value, cell, cell.obj.k),\n id: cell.obj.k,\n };\n return buttonCell;\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n async #checkOnBlurProp(cell: KupInputPanelCell, id: string) {\n const currCell = this.#getCell(id);\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!currCell.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && currCell.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n if (valid) {\n this.#setCellError(id, null);\n } else {\n this.#setCellError(\n id,\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n return;\n }\n }\n\n if (cell.inputSettings?.checkValueOnExit && this.#areValuesUpdated()) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n }\n\n #checkOnBlurEvent(cell: KupInputPanelCell, id: string) {\n const evName = this.#eventBlurNames.get(cell.shape);\n if (!evName) {\n return;\n }\n\n const handler = async (e: CustomEvent<KupAutocompleteEventPayload>) => {\n const currCell = this.#getCell(id);\n\n if (e.detail.id !== id) {\n return;\n }\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!e.detail.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && e.detail.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n\n this.#setCellError(\n id,\n valid\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n if (!valid) {\n return;\n }\n }\n\n if (\n cell.inputSettings?.checkValueOnExit &&\n this.#areValuesUpdated()\n ) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n }\n\n #setCellError(id: string, error: string) {\n this.inputPanelCells = this.inputPanelCells.map((cell) => ({\n ...cell,\n cells: cell.cells.map(({ cell, column }) => {\n const data =\n column.name === id\n ? {\n ...cell.data,\n error,\n }\n : cell.data;\n return {\n column,\n cell: {\n ...cell,\n data,\n },\n };\n }),\n }));\n }\n\n #areValuesUpdated() {\n return this.inputPanelCells.some(({ cells, row }) =>\n cells.some(\n ({ cell, column: { name } }) =>\n cell.value !== row.cells[name].value\n )\n );\n }\n\n #getFunctionOnClickBTN(cell: KupInputPanelCell, id: string) {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n }\n\n //#endregion\n\n //#region LIFECYCLE HOOKS\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n this.onDataChanged();\n }\n\n componentDidLoad() {\n this.kupReady.emit({ comp: this, id: this.rootElement.id });\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n const root: ShadowRoot = this.rootElement.shadowRoot;\n if (root) {\n const fs: NodeListOf<HTMLElement> =\n root.querySelectorAll('.f-text-field');\n for (let index = 0; index < fs.length; index++) {\n FTextFieldMDC(fs[index]);\n }\n }\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const isEmptyData = Boolean(!this.inputPanelCells.length);\n\n const inputPanelContent: VNode[] = isEmptyData\n ? [\n <p>\n {this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_DATA\n )}\n </p>,\n ]\n : this.inputPanelCells.map((inputPanelCell) =>\n this.#renderRow(inputPanelCell)\n );\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>{inputPanelContent}</div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n //#endregion\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,8 @@ export declare enum KupImageListProps {
9
9
  customStyle = "Custom style of the component.",
10
10
  data = "Actual data of the component",
11
11
  ripple = "When enabled displays Material's ripple effect on clicked items.",
12
- rows = "Cam set a specific number of rows. It overwrite the columns flow into rows flow"
12
+ rows = "Cam set a specific number of rows. It overwrite the columns flow into rows flow",
13
+ showFullDescription = "When enabled, image descriptions will always be displayed entirely and not cut or truncated."
13
14
  }
14
15
  export interface KupImageListEventPayload extends KupEventPayload {
15
16
  details: KupImageListEventHandlerDetails;
@@ -47,6 +47,11 @@ export declare class KupImageList {
47
47
  selectedNode: TreeNodePath;
48
48
  stateId: string;
49
49
  store: KupStore;
50
+ /**
51
+ * When enabled images descriptions will be fully shown.
52
+ * @default false
53
+ */
54
+ showFullDescription: boolean;
50
55
  kupClick: EventEmitter<KupImageListEventPayload>;
51
56
  kupContextMenu: EventEmitter<KupImageListEventPayload>;
52
57
  kupDblClick: EventEmitter<KupImageListEventPayload>;
@@ -2788,6 +2788,11 @@ export namespace Components {
2788
2788
  * @param props - Object containing props that will be set to the component.
2789
2789
  */
2790
2790
  "setProps": (props: GenericObject) => Promise<void>;
2791
+ /**
2792
+ * When enabled images descriptions will be fully shown.
2793
+ * @default false
2794
+ */
2795
+ "showFullDescription": boolean;
2791
2796
  "stateId": string;
2792
2797
  "store": KupStore;
2793
2798
  }
@@ -8231,6 +8236,11 @@ declare namespace LocalJSX {
8231
8236
  * An array of integers containing the path to a selected child.\
8232
8237
  */
8233
8238
  "selectedNode"?: TreeNodePath;
8239
+ /**
8240
+ * When enabled images descriptions will be fully shown.
8241
+ * @default false
8242
+ */
8243
+ "showFullDescription"?: boolean;
8234
8244
  "stateId"?: string;
8235
8245
  "store"?: KupStore;
8236
8246
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sme.up/ketchup",
3
- "version": "11.0.0-SNAPSHOT-20241115171325",
3
+ "version": "11.0.0-SNAPSHOT-20241118132117",
4
4
  "keywords": [
5
5
  "smeup",
6
6
  "KetchUP",
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,f as e,h as a,H as s,d as o}from"./p-d7c15b0e.js";import{k as n,g as r,s as l,h as p,N as c,f as h}from"./p-42c28e70.js";import{c as m}from"./p-635bb4b3.js";import{F as f}from"./p-2b519589.js";import{F as u}from"./p-cc32b7a2.js";import{a as g}from"./p-e3062c19.js";import{F as d}from"./p-50a5311b.js";import{M as _}from"./p-d4a879fc.js";import"./p-029c7cbe.js";import"./p-5d03c077.js";import"./p-1295852b.js";import"./p-4412859c.js";var k;(function(i){i["columns"]="Can set a specific number of columns";i["customStyle"]="Custom style of the component.";i["data"]="Actual data of the component";i["ripple"]="When enabled displays Material's ripple effect on clicked items.";i["rows"]="Cam set a specific number of rows. It overwrite the columns flow into rows flow"})(k||(k={}));class b{constructor(){this.load=false}toDebugString(){return"image-list state"}}const v=".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_imagelist_columns_mobile:var(--kup-imagelist-columns-mobile, 4);--kup_imagelist_columns_tablet:var(--kup-imagelist-columns-tablet, 6);--kup_imagelist_columns_desktop:var(--kup-imagelist-columns-desktop, 8);--kup_imagelist_background_color:var(\n --kup-imagelist-background-color,\n transparent\n );--kup_imagelist_columns:var(--kup-imagelist-columns, 4);--kup_imagelist_grid_gap:var(--kup-imagelist-grid-gap, var(--kup-space-03));--kup_imagelist_image_min_height:var(\n --kup-imagelist-image-min-height,\n var(--kup-space-09)\n );--kup_imagelist_item_border_radius:var(\n --kup-imagelist-item-border-radius,\n var(--kup-radius-00)\n );--kup_imagelist_item_height:var(--kup-imagelist-item-height, auto);--kup_imagelist_item_padding:var(--kup-imagelist-item-padding, 0);--kup_imagelist_item_width:var(--kup-imagelist-item-width, auto);--kup_imagelist_label_margin:var(\n --kup-imagelist-label-margin,\n 0 auto 1em auto\n );--kup_imagelist_navbar_background_color:var(\n --kup-imagelist-navbar-background-color,\n transparent\n );--kup_imagelist_primary_color:var(\n --kup-imagelist-primary-color,\n var(--kup-primary-color)\n );--kup_imagelist_primary_color_rgb:var(\n --kup-imagelist-primary-color-rgb,\n var(--kup-primary-color-rgb)\n );--kup_imagelist_text_color:var(\n --kup-imagelist-text-color,\n var(--kup-text-secondary)\n );--kup_imagelist_item_background_color:var(\n --kup-imagelist-item-background-color,\n var(--kup-layer-1)\n );--kup_imagelist_item_background_color_hover:var(\n --kup-imagelist-item-background-color-hover,\n var(--kup-layer-1-hover)\n );display:block}.navigation-bar{align-items:center;background-color:var(--kup_imagelist_navbar_background_color);display:flex;justify-content:center}.navigation-bar__wrapper{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;position:relative}.navigation-bar__wrapper--active .navigation-bar__title{background-color:rgba(var(--kup_imagelist_primary_color_rgb), 0.15);color:var(--kup_imagelist_primary_color)}.navigation-bar__back,.navigation-bar__top{--kup-button-primary-color-rgb:0}.navigation-bar__title{border-radius:16px;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;padding:0.75em 1em;user-select:none;transition:background-color 125ms, color 125ms;width:100%}.navigation-bar__title__image.f-image{margin:0}.navigation-bar__title__label{overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;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}.image-list{background-color:var(--kup_imagelist_background_color);display:grid;grid-gap:var(--kup_imagelist_grid_gap);grid-template-columns:repeat(var(--kup-imagelist-columns-mobile, var(--kup_imagelist_columns_mobile)), minmax(0px, 1fr));margin-top:1em;width:100%;grid-auto-flow:row}.image-list .f-cell{height:100%;width:100%}.image-list .f-cell .f-cell__content{height:100%}.image-list .f-cell .f-cell__content .image-list__wrapper{display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;position:relative;height:100%}.image-list .f-cell .f-cell__content .image-list__wrapper.images{height:100%;justify-content:flex-end}.image-list .f-cell .f-cell__content .image-list__wrapper.images .f-image{position:unset;overflow:auto;height:100%;display:flex}.image-list__item{background-color:var(--kup_imagelist_item_background_color);border-radius:var(--kup_imagelist_item_border_radius);cursor:pointer;height:var(--kup_imagelist_item_height);padding:var(--kup_imagelist_item_padding);width:var(--kup_imagelist_item_width)}.image-list__item:hover{background-color:var(--kup_imagelist_item_background_color_hover)}.image-list__image.f-image{position:absolute;padding:var(--kup-space-03);padding-bottom:0px;box-sizing:border-box;width:100%;height:calc(100% - 16px - var(--kup-space-03) * 2);overflow:hidden}.image-list__image.f-image .f-image__icon{mask-size:100% !important}.image-list__label{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:var(--kup-space-03);font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}@media screen and (min-width: 678px){.image-list{grid-template-columns:repeat(var(--kup-imagelist-columns-tablet, var(--kup_imagelist_columns_tablet)), minmax(0px, 1fr));grid-gap:var(--kup-space-05)}}@media screen and (min-width: 1024px){.image-list{grid-template-columns:repeat(var(--kup-imagelist-columns-desktop, var(--kup_imagelist_columns_desktop)), minmax(0px, 1fr));grid-gap:var(--kup-space-05)}}:host(.kup-full-height){height:100%}:host(.kup-full-width){width:100%}:host(.kup-horizontal) .image-list{display:flex}:host(.kup-auto-grid) .image-list{display:flex;flex-wrap:wrap;justify-content:center}";const w=v;var x=undefined&&undefined.__classPrivateFieldGet||function(i,t,e,a){if(e==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?i!==t||!a:!t.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?a:e==="a"?a.call(i):a?a.value:t.get(i)};var y=undefined&&undefined.__classPrivateFieldSet||function(i,t,e,a,s){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?i!==t||!s:!t.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?s.call(i,e):s?s.value=e:t.set(i,e),e};var j,z,C,W,$,M,E,O,T,P,D,I,N,R,S;const F=class{constructor(e){i(this,e);this.kupClick=t(this,"kup-imagelist-click",6);this.kupContextMenu=t(this,"kup-imagelist-contextmenu",6);this.kupDblClick=t(this,"kup-imagelist-dblclick",6);j.add(this);this.state=new b;z.set(this,[]);C.set(this,n());W.set(this,{icon:"arrow_back",onClick:()=>{this.currentNode=x(this,C,"f").data.node.getParent(this.data,this.currentNode);if(!this.currentNode){this.navigationBarToggled=false}},styling:g.FLAT,wrapperClass:"navigation-bar__back"});$.set(this,{icon:"arrow_upward",onClick:()=>{this.currentNode=null;this.navigationBarToggled=false},styling:g.FLAT,wrapperClass:"navigation-bar__top"});M.set(this,void 0);E.set(this,false);O.set(this,[]);this.currentNode=null;this.navigationBarToggled=false;this.columns=[];this.customStyle="";this.data=[];this.ripple=false;this.rows=null;this.selectedNode=[];this.stateId="";this.store=undefined}initWithPersistedState(){if(this.store&&this.stateId){const i=this.store.getState(this.stateId);if(i!=null){this.currentNode=x(this,C,"f").data.node.findByStrTreeNodePath(this.data,i.selectedTreeNodePath)}}}persistState(){if(this.store&&this.stateId){let i=false;let t=this.currentNode?this.currentNode.id:"";if(!x(this,C,"f").objects.deepEqual(this.state.selectedTreeNodePath,t)){this.state.selectedTreeNodePath=t;i=true}if(!this.state.load){this.state.load=true;return}if(i){this.store.persistState(this.stateId,this.state)}}}selectNode(i){if(!i||i.length==0){return}this.currentNode=x(this,C,"f").data.node.find(this.data,i)}async getProps(i){return r(this,k,i)}async refresh(){e(this)}async setProps(i){l(this,k,i)}componentWillLoad(){x(this,C,"f").debug.logLoad(this,false);x(this,C,"f").language.register(this);x(this,C,"f").theme.register(this)}componentDidLoad(){x(this,j,"m",S).call(this);x(this,C,"f").debug.logLoad(this,true)}componentWillRender(){x(this,C,"f").debug.logRender(this,false)}componentDidRender(){const i=this.rootElement.shadowRoot;if(i&&this.ripple){const t=i.querySelectorAll(".mdc-ripple-surface:not(.mdc-ripple-upgraded)");if(t){for(let i=0;i<t.length;i++){_.attachTo(t[i])}}}this.persistState();x(this,C,"f").debug.logRender(this,true)}render(){const i=!!this.currentNode;let t={};if(this.columns){if(this.columns.length===1){t={"--kup-imagelist-columns-mobile":`${this.columns[0]}`,"--kup-imagelist-columns-tablet":`${this.columns[0]}`,"--kup-imagelist-columns-desktop":`${this.columns[0]}`}}else if(this.columns.length===2){t={"--kup-imagelist-columns-mobile":`${this.columns[0]}`,"--kup-imagelist-columns-tablet":`${this.columns[0]}`,"--kup-imagelist-columns-desktop":`${this.columns[1]}`}}else if(this.columns.length===3){t={"--kup-imagelist-columns-mobile":`${this.columns[0]}`,"--kup-imagelist-columns-tablet":`${this.columns[1]}`,"--kup-imagelist-columns-desktop":`${this.columns[2]}`}}}let e=Object.assign({},t);if(this.rows!=null&&this.rows>0){const i={"grid-template-rows":`repeat(${this.rows}, minmax(0px, 1fr))`,"grid-auto-flow":`column`};e=Object.assign(Object.assign({},e),i)}return a(s,{key:"81da022bca5cec8e7a25ae5854126fc8d1df1949"},a("style",{key:"e7ca04de4d67ec2bfd6b069f560c9cf5f131a235"},x(this,C,"f").theme.setKupStyle(this.rootElement)),a("div",{key:"bb9852654bdef8112a36d4fe096a39e4b925cd0c",id:m,ref:i=>{y(this,M,i,"f")}},a("div",{key:"3547692cbbe395329b3f9ee5f6c5a9c35171e7a6",class:"navigation-bar"},i?a("div",{class:`navigation-bar__wrapper ${this.navigationBarToggled?"navigation-bar__wrapper--active":""}`},a("div",{class:`navigation-bar__title`,onClick:()=>{this.navigationBarToggled=!this.navigationBarToggled}},a(f,{fit:true,resource:this.currentNode.icon,placeholderResource:this.currentNode.placeholderIcon,sizeX:"1.25em",sizeY:"1.25em",wrapperClass:"navigation-bar__title__image"}),a("div",{class:"navigation-bar__title__label"},this.currentNode.value)),a(u,Object.assign({},x(this,W,"f"),{label:x(this,C,"f").language.translate(p.BACK)})),a(u,Object.assign({},x(this,$,"f"),{label:x(this,C,"f").language.translate(p.TOP)}))):null),a("div",{key:"60eb2ce4d81bfdaf39310d9276edfab440200ab6",class:"image-list",style:e},...x(this,j,"m",P).call(this))))}disconnectedCallback(){x(this,C,"f").interact.unregister(x(this,O,"f"));x(this,C,"f").language.unregister(this);x(this,C,"f").theme.unregister(this)}get rootElement(){return o(this)}static get watchers(){return{selectedNode:["selectNode"]}}};z=new WeakMap,C=new WeakMap,W=new WeakMap,$=new WeakMap,M=new WeakMap,E=new WeakMap,O=new WeakMap,j=new WeakSet,T=function i(t){const e={fit:true,resource:t.icon,placeholderResource:t.placeholderIcon,title:t.title,wrapperClass:"image-list__image",badgeData:t.badgeData};const s=a(f,Object.assign({},e));const o=a("div",{class:"image-list__label"},t.value);const n=e.resource.indexOf(".")>-1||e.resource.indexOf("/")>-1||e.resource.indexOf("\\")>-1;return a(d,{cell:{value:t.value,icon:t.icon,placeholderIcon:t.placeholderIcon,obj:t.obj},column:{name:"IMAGE",title:"Image"},component:this,density:h.NONE,row:Object.assign({},t)},a("div",{class:`image-list__wrapper${n?" images":""}`},!n&&a("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"0 0 24 24"}),s,o))},P=function i(){const t=[];const e=this.currentNode?this.currentNode.children:this.data;for(let i=0;e&&i<e.length;i++){const s=e[i];const o={"image-list__item":true,"mdc-ripple-surface":this.ripple?true:false};const n=a("div",{onContextMenu:i=>{i.preventDefault()},class:o},x(this,j,"m",T).call(this,s));t.push(n)}return t},D=function i(t,e){let a;if(t){for(let i=t.length-1;i>=0;i--){let e=t[i];if(!e.tagName){continue}if(e.classList.contains("f-cell")){a=e["kup-get-cell-props"]()}}}return{cell:a===null||a===void 0?void 0:a.cell,column:a===null||a===void 0?void 0:a.column,originalEvent:e,row:a===null||a===void 0?void 0:a.row}},I=function i(t){const e=x(this,j,"m",D).call(this,x(this,C,"f").getEventPath(t.target,this.rootElement),t);return e},N=function i(t){const e=x(this,j,"m",D).call(this,x(this,C,"f").getEventPath(t.target,this.rootElement),t);return e},R=function i(t){const e=x(this,j,"m",D).call(this,x(this,C,"f").getEventPath(t.target,this.rootElement),t);return e},S=function i(){x(this,O,"f").push(x(this,M,"f"));const t=i=>{if(x(this,E,"f")){y(this,E,false,"f");return}switch(i.button){case 0:const t={};for(const e in i){t[e]=i[e]}x(this,z,"f").push(setTimeout((()=>{var i;const e=x(this,j,"m",I).call(this,t);const a=e.row;if(((i=a===null||a===void 0?void 0:a.children)===null||i===void 0?void 0:i.length)>0){this.currentNode=a}this.kupClick.emit({comp:this,id:this.rootElement.id,details:e})}),300));break;case 2:this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:x(this,j,"m",N).call(this,i)});break}};const e=i=>{switch(i.button){case 0:for(let i=0;i<x(this,z,"f").length;i++){clearTimeout(x(this,z,"f")[i]);x(this,C,"f").debug.logMessage(this,"Cleared clickHandler timeout("+x(this,z,"f")[i]+").")}y(this,z,[],"f");this.kupDblClick.emit({comp:this,id:this.rootElement.id,details:x(this,j,"m",R).call(this,i)});break}};const a=i=>{if(i.pointerType==="pen"||i.pointerType==="touch"){y(this,E,true,"f");this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:x(this,j,"m",N).call(this,i)})}};x(this,C,"f").interact.on(x(this,M,"f"),c.HOLD,a);x(this,C,"f").interact.on(x(this,M,"f"),c.TAP,t);x(this,C,"f").interact.on(x(this,M,"f"),c.DOUBLETAP,e)};F.style=w;export{F as kup_image_list};
2
- //# sourceMappingURL=p-394e1212.entry.js.map