@sme.up/ketchup 11.0.0-SNAPSHOT-20241017082238 → 11.0.0-SNAPSHOT-20241017090851

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 (28) hide show
  1. package/dist/cjs/kup-cell.cjs.entry.js +158 -1
  2. package/dist/cjs/kup-cell.cjs.entry.js.map +1 -1
  3. package/dist/cjs/kup-manager-59aafed4.js.map +1 -1
  4. package/dist/collection/components/kup-cell/kup-cell.js +2 -2
  5. package/dist/collection/components/kup-cell/kup-cell.js.map +1 -1
  6. package/dist/collection/f-components/f-cell/f-cell-declarations.js.map +1 -1
  7. package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.declarations.js +2 -0
  8. package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.declarations.js.map +1 -0
  9. package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.js +162 -0
  10. package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.js.map +1 -0
  11. package/dist/collection/managers/kup-data/kup-data-declarations.js.map +1 -1
  12. package/dist/components/kup-cell.js +162 -5
  13. package/dist/components/kup-cell.js.map +1 -1
  14. package/dist/components/kup-manager.js.map +1 -1
  15. package/dist/esm/kup-cell.entry.js +161 -4
  16. package/dist/esm/kup-cell.entry.js.map +1 -1
  17. package/dist/esm/kup-manager-84ac466d.js.map +1 -1
  18. package/dist/ketchup/ketchup.esm.js +1 -1
  19. package/dist/ketchup/p-a670a42e.js.map +1 -1
  20. package/dist/ketchup/p-deea2b0f.entry.js +2 -0
  21. package/dist/ketchup/p-deea2b0f.entry.js.map +1 -0
  22. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +4 -1
  23. package/dist/types/f-components/f-cell-options.tsx/f-cell-options.d.ts +3 -0
  24. package/dist/types/f-components/f-cell-options.tsx/f-cell-options.declarations.d.ts +19 -0
  25. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +3 -0
  26. package/package.json +1 -1
  27. package/dist/ketchup/p-bd9e2d81.entry.js +0 -2
  28. package/dist/ketchup/p-bd9e2d81.entry.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{h as t,r as e,f as i,H as n,d as s}from"./p-d7c15b0e.js";import{a5 as o,ai as a,aj as l,k as f,f as c,g as r,s as h,R as p,h as d}from"./p-a670a42e.js";import{c as u}from"./p-635bb4b3.js";import{F as m}from"./p-68f82cb0.js";import"./p-029c7cbe.js";import"./p-5d03c077.js";import"./p-2b519589.js";import"./p-06fe42ee.js";import"./p-0d2bf291.js";import"./p-cc32b7a2.js";import"./p-e3062c19.js";var g;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the cell.";t["density"]="The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.";t["dragEnabled"]="When set to true, the component is draggable."})(g||(g={}));var b=undefined&&undefined.__rest||function(t,e){var i={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0)i[n]=t[n];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++){if(e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s]))i[n[s]]=t[n[s]]}return i};const y=document.documentElement;const v=(t,e)=>t.children.map((t=>{var i;return{id:t.content.codice,value:t.content.testo,selected:e===t.content.codice,children:((i=t.children)===null||i===void 0?void 0:i.length)?v(t,e):[]}}));const k=(t,e)=>t.children.map((t=>{var i;return{id:t.obj.k,value:t.value,selected:e===t.obj.k,children:((i=t.children)===null||i===void 0?void 0:i.length)?k(t,e):[]}}));const x=(t,e)=>t.rows.map((t=>{var i;const n=t.fields||t.cells;const[s,o]=Object.keys(n);return{id:n[s].value,value:((i=n[o])===null||i===void 0?void 0:i.value)||n[s].value,selected:e===n[s].value}}));const j=(t,e)=>{const i=w.get(t.type);if(i){return i(t,e)}else{return t.map((t=>({value:t.label,id:t.id,selected:e===t.id})))}};const w=new Map([["SmeupTreeNode",v.bind(undefined)],["SmeupDataTree",k.bind(undefined)],["SmeupTable",x.bind(undefined)],["SmeupDataTable",x.bind(undefined)]]);const O=e=>{const i=e.cell?Object.assign(Object.assign({},e.cell),{data:C(e.cell,e.column),slotData:z(e.cell,e.column),isEditable:true}):null;const n=Object.assign(Object.assign({},e),{editable:true,cell:i});return t(m,Object.assign({},n))};const z=(t,e)=>{const i=y.ketchup.data.cell.getType(t,t.shape);if(!t.isEditable){return null}if(i===o.MULTI_AUTOCOMPLETE||i===o.MULTI_COMBOBOX){return Object.assign(Object.assign({},a(null,e.title,t.options)),{showDropDownIcon:true,class:"",style:{width:"100%"},disabled:!t.isEditable,id:e.name})}return null};const C=(t,e)=>{const i=Object.assign(Object.assign({},R(t,e)),{disabled:!t.isEditable,id:e.name});const n=y.ketchup.data.cell.getType(t,t.shape);const s=t.data||{},a=b(s,["data"]);return n!==o.MULTI_AUTOCOMPLETE&&n!==o.MULTI_COMBOBOX?D(i,Object.assign({},t.data)):Object.assign(Object.assign({},i),a)};const D=(t,e)=>{for(const i in e){if(e[i]instanceof Object&&!Array.isArray(e[i])&&i in t){t[i]=D(t[i],e[i])}else{t[i]=e[i]}}return t};const R=(t,e)=>{if(!t){return null}const i=t.options;const n=e.title;const s=t.value;const a=y.ketchup.data.cell.getType(t,t.shape);const l=new Map([[o.BUTTON_LIST,L.bind(undefined)],[o.STRING,E.bind(undefined)],[o.RADIO,T.bind(undefined)],[o.AUTOCOMPLETE,S.bind(undefined)],[o.COMBOBOX,S.bind(undefined)]]);const f=l.get(a);return f?f(i,n,s,t,e.name):null};const T=(t,e,i)=>l(i,t);const E=(t,e,i)=>{if(t===null||t===void 0?void 0:t[0]){return{label:t[0].label}}};const L=(t,e,i,n)=>{var s,o;return{data:((s=n.options)===null||s===void 0?void 0:s.length)?(o=n.options)===null||o===void 0?void 0:o.map((t=>({icon:t.icon,value:t.value}))):[]}};const S=(t,e,i)=>{const n=a(i,e,[]);n.data["kup-list"].data=j(t,i);return n};const P=".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{display:block;height:100%;width:100%}#kup-component{height:100%;width:100%}";const W=P;const I=class{constructor(t){e(this,t);this.kupManager=f();this.customStyle="";this.data=null;this.density=c.NONE;this.dragEnabled=false}async addCssClasses(t){if(!this.data.cssClass){this.data.cssClass=""}if(t){for(let e=0;e<t.length;e++){const i=t[e];if(this.data.cssClass.indexOf(i)<0){this.data.cssClass+=` ${i}`}}}this.refresh()}async getProps(t){return r(this,g,t)}async refresh(){i(this)}async removeCssClasses(t){if(!this.data.cssClass){return}if(t){for(let e=0;e<t.length;e++){const i=t[e];if(this.data.cssClass.indexOf(i)>0){this.data.cssClass=this.data.cssClass.replace(new RegExp(i,"g"),"")}}}this.refresh()}async setProps(t){h(this,g,t)}didRenderInteractables(){if(this.dragEnabled){const t=()=>({cell:this.data,column:this.generateColumn(),id:this.rootElement.id,multiple:false,row:this.generateRow()});this.kupManager.interact.draggable(this.rootElement.shadowRoot.querySelector("#"+u),{cursorChecker(){return null}},{callback:t},p.BADGE)}}generateColumn(){const t=this.data&&this.data.obj&&this.data.obj.t?this.data.obj.t+";"+this.data.obj.p:"KUPCELL";const e=this.data&&this.data.obj&&this.data.obj.t?this.data.obj.t+";"+this.data.obj.p:this.kupManager.language.translate(d.EMPTY_OBJECT);return{name:t,title:e}}generateRow(){const t=this.generateColumn();const e={cells:{}};e.cells[t.name]=this.data;return e}componentWillLoad(){this.kupManager.dates.register(this);this.kupManager.debug.logLoad(this,false);this.kupManager.language.register(this);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){this.didRenderInteractables();this.kupManager.debug.logRender(this,true)}render(){const e={cell:this.data,column:this.generateColumn(),component:this,density:this.density,editable:this.data.isEditable,renderKup:true,row:this.generateRow()};return t(n,{key:"71041f26b08b203e0255d6dca4979403fc8cfd59"},t("style",{key:"d6cf8c97c3b7ce59bf14d71652047b00cd74e353"},this.kupManager.theme.setKupStyle(this.rootElement)),t("div",{key:"ecfe428a78f408cacda35db0da9a00c5008f11a7",id:u},t(O,Object.assign({key:"3939e4d024ef606d4919458e975b4e5d62229973"},e))))}disconnectedCallback(){this.kupManager.dates.unregister(this);this.kupManager.language.unregister(this);this.kupManager.theme.unregister(this)}get rootElement(){return s(this)}};I.style=W;export{I as kup_cell};
2
+ //# sourceMappingURL=p-deea2b0f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KupCellProps","dom","document","documentElement","treeOptionsNodeAdapter","options","currentValue","children","map","child","id","content","codice","value","testo","selected","_a","length","dataTreeOptionsChildrenAdapter","obj","k","tableOptionsAdapter","rows","row","cells","fields","Object","keys","optionsTreeComboAdapter","adapter","optionsAdapterMap","get","type","option","label","Map","bind","this","FCellOptions","props","mappedCell","cell","data","setProps","column","slotData","isEditable","mappedProps","assign","editable","h","FCell","col","cellType","ketchup","getType","shape","FCellTypes","MULTI_AUTOCOMPLETE","MULTI_COMBOBOX","CMBandACPAdapter","title","showDropDownIcon","class","style","width","disabled","name","defaultProps","mapData","noDataProps","__rest","deepObjectsMerge","target","source","key","Array","isArray","fieldLabel","dataAdapterMap","BUTTON_LIST","MainBTNAdapter","STRING","MainITXAdapter","RADIO","MainRADAdapter","AUTOCOMPLETE","MainCMBandACPAdapter","COMBOBOX","_fieldLabel","RADAdapter","_currentValue","_options","_b","icon","rawOptions","configCMandACP","kupCellCss","KupCellStyle0","KupCell","kupManager","kupManagerInstance","FCellPadding","NONE","addCssClasses","classes","cssClass","index","indexOf","refresh","getProps","descriptions","forceUpdate","removeCssClasses","replace","RegExp","didRenderInteractables","dragEnabled","dataCb","generateColumn","rootElement","multiple","generateRow","interact","draggable","shadowRoot","querySelector","componentWrapperId","cursorChecker","callback","KupDragEffect","BADGE","colname","t","p","coltitle","language","translate","KupLanguageGeneric","EMPTY_OBJECT","componentWillLoad","dates","register","debug","logLoad","theme","componentDidLoad","componentWillRender","logRender","componentDidRender","render","component","density","renderKup","Host","setKupStyle","disconnectedCallback","unregister"],"sources":["src/components/kup-cell/kup-cell-declarations.ts","src/f-components/f-cell-options.tsx/f-cell-options.tsx","src/components/kup-cell/kup-cell.scss?tag=kup-cell&encapsulation=shadow","src/components/kup-cell/kup-cell.tsx"],"sourcesContent":["/**\n * Props of the kup-cell component.\n * Used to export every prop in an object.\n */\nexport enum KupCellProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the cell.',\n density = \"The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\",\n dragEnabled = 'When set to true, the component is draggable.',\n}\n","import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport { GenericObject, KupDataColumn } from '../../components';\nimport { CMBandACPAdapter, RADAdapter } from '../../utils/cell-utils';\nimport {\n FCellOptionsProps,\n FCellProps,\n FCellTypes,\n} from '../f-cell/f-cell-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCell } from '../f-cell/f-cell';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\nconst 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 ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst 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 ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): 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\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = 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\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nexport const FCellOptions: FunctionalComponent<FCellOptionsProps> = (\n props: FCellOptionsProps\n) => {\n const mappedCell = props.cell\n ? {\n ...props.cell,\n data: setProps(props.cell, props.column),\n slotData: slotData(props.cell, props.column),\n isEditable: true,\n }\n : null;\n\n const mappedProps: FCellProps = {\n ...props,\n editable: true,\n cell: mappedCell as KupDataCell,\n };\n\n return <FCell {...mappedProps}></FCell>;\n};\n\nconst slotData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.isEditable) {\n return null;\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...CMBandACPAdapter(\n null,\n col.title,\n cell.options\n // cell,\n // col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.isEditable,\n id: col.name,\n };\n }\n\n return null;\n};\n\nconst setProps = (cell: KupDataCellOptions, column: KupDataColumn) => {\n const defaultProps = {\n ...mapData(cell, column),\n disabled: !cell.isEditable,\n id: column.name,\n };\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? 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\nconst 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] = deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.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\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string\n) => {\n if (options?.[0]) {\n return { label: options[0].label };\n }\n};\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n","/**\n* @prop --kup-cell-background: Sets the background of the cell.\n* @prop --kup-cell-font-family: Sets the font family of the cell.\n* @prop --kup-cell-font-family-monospace: Sets the monospace font family of the cell (for numbers).\n* @prop --kup-cell-font-size: Sets the font size of the cell.\n* @prop --kup-cell-text-color: Sets the text color of the cell.\n*\n* NOTE: These variables are defined in the \"kup-theme.css\" file, because they must work even without the kup component (it's a functional component)\n*\n*/\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n#kup-component {\n height: 100%;\n width: 100%;\n}\n","import {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport { KupCellProps } from './kup-cell-declarations';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellOptionsProps,\n FCellPadding,\n FCellProps,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport {\n KupDragDataTransferCallback,\n KupDragEffect,\n} from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCellOptions } from '../../f-components/f-cell-options.tsx/f-cell-options';\n\n@Component({\n tag: 'kup-cell',\n styleUrl: 'kup-cell.scss',\n shadow: true,\n})\nexport class KupCell {\n /**\n * References the root HTML element of the component (<kup-text-field>).\n */\n @Element() rootElement: HTMLElement;\n\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 * The data of the cell.\n * @default false\n */\n @Prop() data: KupDataCell = null;\n /**\n * The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\n */\n @Prop() density: FCellPadding = FCellPadding.NONE;\n /**\n * When set to true, the component is draggable.\n * @default false\n */\n @Prop() dragEnabled: 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 /**\n * Instance of the KupManager class.\n */\n private kupManager: KupManager = kupManagerInstance();\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Adds the given CSS classes to the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async addCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n this.data.cssClass = '';\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) < 0) {\n this.data.cssClass += ` ${cssClass}`;\n }\n }\n }\n this.refresh();\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, KupCellProps, 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 * Removes the given CSS classes from the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async removeCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n return;\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) > 0) {\n this.data.cssClass = this.data.cssClass.replace(\n new RegExp(cssClass, 'g'),\n ''\n );\n }\n }\n }\n this.refresh();\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, KupCellProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private didRenderInteractables() {\n if (this.dragEnabled) {\n const dataCb: KupDragDataTransferCallback = () => {\n return {\n cell: this.data,\n column: this.generateColumn(),\n id: this.rootElement.id,\n multiple: false,\n row: this.generateRow(),\n };\n };\n\n this.kupManager.interact.draggable(\n this.rootElement.shadowRoot.querySelector(\n '#' + componentWrapperId\n ),\n {\n cursorChecker() {\n return null;\n },\n },\n {\n callback: dataCb,\n },\n KupDragEffect.BADGE\n );\n }\n }\n\n private generateColumn(): KupDataColumn {\n const colname: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : this.kupManager.language.translate(\n KupLanguageGeneric.EMPTY_OBJECT\n );\n return {\n name: colname,\n title: coltitle,\n };\n }\n\n private generateRow(): KupDataRow {\n const col: KupDataColumn = this.generateColumn();\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = this.data;\n return row;\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.dates.register(this);\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.kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.didRenderInteractables();\n this.kupManager.debug.logRender(this, true);\n }\n\n render() {\n const props: FCellOptionsProps = {\n cell: this.data as KupDataCellOptions,\n column: this.generateColumn(),\n component: this,\n density: this.density,\n editable: this.data.isEditable,\n renderKup: true,\n row: this.generateRow(),\n };\n return (\n <Host>\n <style>\n {this.kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>\n <FCellOptions {...props}></FCellOptions>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.kupManager.dates.unregister(this);\n this.kupManager.language.unregister(this);\n this.kupManager.theme.unregister(this);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { VNode } from '../../stencil-public-runtime';
2
- import { CellActionProps, KupDataCell, KupDataColumn, KupDataRow } from '../../managers/kup-data/kup-data-declarations';
2
+ import { CellActionProps, KupDataCell, KupDataCellOptions, KupDataColumn, KupDataRow } from '../../managers/kup-data/kup-data-declarations';
3
3
  import { FComponent, KupEventPayload, KupTagNames } from '../../types/GenericTypes';
4
4
  export declare const autoCenterComps: KupTagNames[];
5
5
  export declare const fullWidthFieldsComps: KupTagNames[];
@@ -20,6 +20,9 @@ export interface FCellProps extends FComponent {
20
20
  shape?: FCellShapes;
21
21
  cellActionIcon?: CellActionProps;
22
22
  }
23
+ export interface FCellOptionsProps extends FCellProps {
24
+ cell?: KupDataCellOptions;
25
+ }
23
26
  /**
24
27
  * Information about the cell, displayed before the content.
25
28
  */
@@ -0,0 +1,3 @@
1
+ import { FunctionalComponent } from '../../stencil-public-runtime';
2
+ import { FCellOptionsProps } from '../f-cell/f-cell-declarations';
3
+ export declare const FCellOptions: FunctionalComponent<FCellOptionsProps>;
@@ -0,0 +1,19 @@
1
+ import { VNode } from '../../stencil-public-runtime';
2
+ import { FCellPadding, KupDataCell, KupDataColumn } from '../../components';
3
+ import { KupDataRow, CellActionProps } from '../../managers/kup-data/kup-data-declarations';
4
+ import { FComponent } from '../../types/GenericTypes';
5
+ import { FCellShapes } from '../f-cell/f-cell-declarations';
6
+ export interface FCellOptionsProps extends FComponent {
7
+ cell?: KupDataCell;
8
+ column?: KupDataColumn;
9
+ component?: unknown;
10
+ density?: FCellPadding;
11
+ editable?: boolean;
12
+ indents?: VNode[];
13
+ previousValue?: string;
14
+ renderKup?: boolean;
15
+ row?: KupDataRow;
16
+ setSizes?: boolean;
17
+ shape?: FCellShapes;
18
+ cellActionIcon?: CellActionProps;
19
+ }
@@ -96,6 +96,9 @@ export interface KupDataCell {
96
96
  styleContent?: GenericMap;
97
97
  title?: string;
98
98
  }
99
+ export interface KupDataCellOptions extends KupDataCell {
100
+ options?: GenericObject;
101
+ }
99
102
  /**
100
103
  *
101
104
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sme.up/ketchup",
3
- "version": "11.0.0-SNAPSHOT-20241017082238",
3
+ "version": "11.0.0-SNAPSHOT-20241017090851",
4
4
  "keywords": [
5
5
  "smeup",
6
6
  "KetchUP",
@@ -1,2 +0,0 @@
1
- import{r as t,f as i,h as e,H as s,d as n}from"./p-d7c15b0e.js";import{k as o,f as a,g as h,s as p,R as f,h as l}from"./p-a670a42e.js";import{c}from"./p-635bb4b3.js";import{F as r}from"./p-68f82cb0.js";import"./p-029c7cbe.js";import"./p-5d03c077.js";import"./p-2b519589.js";import"./p-06fe42ee.js";import"./p-0d2bf291.js";import"./p-cc32b7a2.js";import"./p-e3062c19.js";var m;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the cell.";t["density"]="The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.";t["dragEnabled"]="When set to true, the component is draggable."})(m||(m={}));const g=".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{display:block;height:100%;width:100%}#kup-component{height:100%;width:100%}";const u=g;const d=class{constructor(i){t(this,i);this.kupManager=o();this.customStyle="";this.data=null;this.density=a.NONE;this.dragEnabled=false}async addCssClasses(t){if(!this.data.cssClass){this.data.cssClass=""}if(t){for(let i=0;i<t.length;i++){const e=t[i];if(this.data.cssClass.indexOf(e)<0){this.data.cssClass+=` ${e}`}}}this.refresh()}async getProps(t){return h(this,m,t)}async refresh(){i(this)}async removeCssClasses(t){if(!this.data.cssClass){return}if(t){for(let i=0;i<t.length;i++){const e=t[i];if(this.data.cssClass.indexOf(e)>0){this.data.cssClass=this.data.cssClass.replace(new RegExp(e,"g"),"")}}}this.refresh()}async setProps(t){p(this,m,t)}didRenderInteractables(){if(this.dragEnabled){const t=()=>({cell:this.data,column:this.generateColumn(),id:this.rootElement.id,multiple:false,row:this.generateRow()});this.kupManager.interact.draggable(this.rootElement.shadowRoot.querySelector("#"+c),{cursorChecker(){return null}},{callback:t},f.BADGE)}}generateColumn(){const t=this.data&&this.data.obj&&this.data.obj.t?this.data.obj.t+";"+this.data.obj.p:"KUPCELL";const i=this.data&&this.data.obj&&this.data.obj.t?this.data.obj.t+";"+this.data.obj.p:this.kupManager.language.translate(l.EMPTY_OBJECT);return{name:t,title:i}}generateRow(){const t=this.generateColumn();const i={cells:{}};i.cells[t.name]=this.data;return i}componentWillLoad(){this.kupManager.dates.register(this);this.kupManager.debug.logLoad(this,false);this.kupManager.language.register(this);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){this.didRenderInteractables();this.kupManager.debug.logRender(this,true)}render(){const t={cell:this.data,column:this.generateColumn(),component:this,density:this.density,editable:this.data.isEditable,renderKup:true,row:this.generateRow()};return e(s,{key:"d708238a74da2eccf9a3bb299960dc985bb5cb0d"},e("style",{key:"7bf86a6bc3b61046b3bb7bfd921aaae114b49ed3"},this.kupManager.theme.setKupStyle(this.rootElement)),e("div",{key:"763804a8d45ca9f75e66157ebcc9aa1c27750424",id:c},e(r,Object.assign({key:"95717d73c39673ffcc382cb7c430b780dd72acfb"},t))))}disconnectedCallback(){this.kupManager.dates.unregister(this);this.kupManager.language.unregister(this);this.kupManager.theme.unregister(this)}get rootElement(){return n(this)}};d.style=u;export{d as kup_cell};
2
- //# sourceMappingURL=p-bd9e2d81.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["KupCellProps","kupCellCss","KupCellStyle0","KupCell","this","kupManager","kupManagerInstance","FCellPadding","NONE","addCssClasses","classes","data","cssClass","index","length","indexOf","refresh","getProps","descriptions","forceUpdate","removeCssClasses","replace","RegExp","setProps","props","didRenderInteractables","dragEnabled","dataCb","cell","column","generateColumn","id","rootElement","multiple","row","generateRow","interact","draggable","shadowRoot","querySelector","componentWrapperId","cursorChecker","callback","KupDragEffect","BADGE","colname","obj","t","p","coltitle","language","translate","KupLanguageGeneric","EMPTY_OBJECT","name","title","col","cells","componentWillLoad","dates","register","debug","logLoad","theme","componentDidLoad","componentWillRender","logRender","componentDidRender","render","component","density","editable","isEditable","renderKup","h","Host","key","setKupStyle","FCell","Object","assign","disconnectedCallback","unregister"],"sources":["src/components/kup-cell/kup-cell-declarations.ts","src/components/kup-cell/kup-cell.scss?tag=kup-cell&encapsulation=shadow","src/components/kup-cell/kup-cell.tsx"],"sourcesContent":["/**\n * Props of the kup-cell component.\n * Used to export every prop in an object.\n */\nexport enum KupCellProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the cell.',\n density = \"The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\",\n dragEnabled = 'When set to true, the component is draggable.',\n}\n","/**\n* @prop --kup-cell-background: Sets the background of the cell.\n* @prop --kup-cell-font-family: Sets the font family of the cell.\n* @prop --kup-cell-font-family-monospace: Sets the monospace font family of the cell (for numbers).\n* @prop --kup-cell-font-size: Sets the font size of the cell.\n* @prop --kup-cell-text-color: Sets the text color of the cell.\n*\n* NOTE: These variables are defined in the \"kup-theme.css\" file, because they must work even without the kup component (it's a functional component)\n*\n*/\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n#kup-component {\n height: 100%;\n width: 100%;\n}\n","import {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport { KupCellProps } from './kup-cell-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 {\n KupDragDataTransferCallback,\n KupDragEffect,\n} from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDataCell,\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\n\n@Component({\n tag: 'kup-cell',\n styleUrl: 'kup-cell.scss',\n shadow: true,\n})\nexport class KupCell {\n /**\n * References the root HTML element of the component (<kup-text-field>).\n */\n @Element() rootElement: HTMLElement;\n\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 * The data of the cell.\n * @default false\n */\n @Prop() data: KupDataCell = null;\n /**\n * The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\n */\n @Prop() density: FCellPadding = FCellPadding.NONE;\n /**\n * When set to true, the component is draggable.\n * @default false\n */\n @Prop() dragEnabled: 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 /**\n * Instance of the KupManager class.\n */\n private kupManager: KupManager = kupManagerInstance();\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Adds the given CSS classes to the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async addCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n this.data.cssClass = '';\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) < 0) {\n this.data.cssClass += ` ${cssClass}`;\n }\n }\n }\n this.refresh();\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, KupCellProps, 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 * Removes the given CSS classes from the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async removeCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n return;\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) > 0) {\n this.data.cssClass = this.data.cssClass.replace(\n new RegExp(cssClass, 'g'),\n ''\n );\n }\n }\n }\n this.refresh();\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, KupCellProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private didRenderInteractables() {\n if (this.dragEnabled) {\n const dataCb: KupDragDataTransferCallback = () => {\n return {\n cell: this.data,\n column: this.generateColumn(),\n id: this.rootElement.id,\n multiple: false,\n row: this.generateRow(),\n };\n };\n\n this.kupManager.interact.draggable(\n this.rootElement.shadowRoot.querySelector(\n '#' + componentWrapperId\n ),\n {\n cursorChecker() {\n return null;\n },\n },\n {\n callback: dataCb,\n },\n KupDragEffect.BADGE\n );\n }\n }\n\n private generateColumn(): KupDataColumn {\n const colname: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : this.kupManager.language.translate(\n KupLanguageGeneric.EMPTY_OBJECT\n );\n return {\n name: colname,\n title: coltitle,\n };\n }\n\n private generateRow(): KupDataRow {\n const col: KupDataColumn = this.generateColumn();\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = this.data;\n return row;\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.dates.register(this);\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.kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.didRenderInteractables();\n this.kupManager.debug.logRender(this, true);\n }\n\n render() {\n const props: FCellProps = {\n cell: this.data,\n column: this.generateColumn(),\n component: this,\n density: this.density,\n editable: this.data.isEditable,\n renderKup: true,\n row: this.generateRow(),\n };\n return (\n <Host>\n <style>\n {this.kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>\n <FCell {...props}></FCell>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.kupManager.dates.unregister(this);\n this.kupManager.language.unregister(this);\n this.kupManager.theme.unregister(this);\n }\n}\n"],"mappings":"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","ignoreList":[]}