@sme.up/ketchup 11.0.0-SNAPSHOT-20241015124120 → 11.0.0-SNAPSHOT-20241015131718
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.
- package/dist/cjs/{f-cell-626b7a7b.js → f-cell-5776c55a.js} +4 -4
- package/dist/cjs/{f-cell-626b7a7b.js.map → f-cell-5776c55a.js.map} +1 -1
- package/dist/cjs/{f-chip-96264a96.js → f-chip-353a9b69.js} +2 -2
- package/dist/cjs/{f-chip-96264a96.js.map → f-chip-353a9b69.js.map} +1 -1
- package/dist/cjs/{f-paginator-utils-111bcb5d.js → f-paginator-utils-1c4b0eee.js} +2 -2
- package/dist/cjs/{f-paginator-utils-111bcb5d.js.map → f-paginator-utils-1c4b0eee.js.map} +1 -1
- package/dist/cjs/{f-text-field-9e8c3323.js → f-text-field-9de377a5.js} +2 -2
- package/dist/cjs/{f-text-field-9e8c3323.js.map → f-text-field-9de377a5.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kup-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
- package/dist/cjs/kup-autocomplete_27.cjs.entry.js +6 -6
- package/dist/cjs/kup-box.cjs.entry.js +6 -6
- package/dist/cjs/kup-calendar.cjs.entry.js +2 -2
- package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +4 -4
- package/dist/cjs/kup-dashboard.cjs.entry.js +2 -2
- package/dist/cjs/{kup-data-table-helper-60a18b5e.js → kup-data-table-helper-61ed99d4.js} +2 -2
- package/dist/cjs/{kup-data-table-helper-60a18b5e.js.map → kup-data-table-helper-61ed99d4.js.map} +1 -1
- package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kup-echart.cjs.entry.js +1 -1
- package/dist/cjs/kup-editor.cjs.entry.js +1 -1
- package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
- package/dist/cjs/kup-grid.cjs.entry.js +1 -1
- package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
- package/dist/cjs/kup-image-list.cjs.entry.js +4 -4
- package/dist/cjs/kup-input-panel.cjs.entry.js +8 -8
- package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
- package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
- package/dist/cjs/{kup-manager-3b3c6a6b.js → kup-manager-adfaa041.js} +2 -2
- package/dist/cjs/{kup-manager-3b3c6a6b.js.map → kup-manager-adfaa041.js.map} +1 -1
- package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
- package/dist/cjs/kup-numeric-picker.cjs.entry.js +2 -2
- package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
- package/dist/cjs/kup-photo-frame.cjs.entry.js +1 -1
- package/dist/cjs/kup-planner.cjs.entry.js +2 -2
- package/dist/cjs/kup-probe.cjs.entry.js +1 -1
- package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
- package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-typography.cjs.entry.js +1 -1
- package/dist/collection/components/kup-input-panel/kup-input-panel.js +4 -4
- package/dist/collection/components/kup-input-panel/kup-input-panel.js.map +1 -1
- package/dist/components/kup-input-panel.js +4 -4
- package/dist/components/kup-input-panel.js.map +1 -1
- package/dist/components/kup-manager.js +1 -1
- package/dist/components/kup-manager.js.map +1 -1
- package/dist/esm/{f-cell-0bd9bc8c.js → f-cell-66b9af73.js} +4 -4
- package/dist/esm/{f-cell-0bd9bc8c.js.map → f-cell-66b9af73.js.map} +1 -1
- package/dist/esm/{f-chip-7a198b38.js → f-chip-aebac9fc.js} +2 -2
- package/dist/esm/{f-chip-7a198b38.js.map → f-chip-aebac9fc.js.map} +1 -1
- package/dist/esm/{f-paginator-utils-f9a14b0e.js → f-paginator-utils-4b0e4330.js} +2 -2
- package/dist/esm/{f-paginator-utils-f9a14b0e.js.map → f-paginator-utils-4b0e4330.js.map} +1 -1
- package/dist/esm/{f-text-field-c1cf2b71.js → f-text-field-0fcb3142.js} +2 -2
- package/dist/esm/{f-text-field-c1cf2b71.js.map → f-text-field-0fcb3142.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kup-accordion.entry.js +1 -1
- package/dist/esm/kup-activity-timeline.entry.js +2 -2
- package/dist/esm/kup-autocomplete_27.entry.js +6 -6
- package/dist/esm/kup-box.entry.js +6 -6
- package/dist/esm/kup-calendar.entry.js +2 -2
- package/dist/esm/kup-card-list.entry.js +1 -1
- package/dist/esm/kup-cell.entry.js +4 -4
- package/dist/esm/kup-dashboard.entry.js +2 -2
- package/dist/esm/{kup-data-table-helper-12596469.js → kup-data-table-helper-02f1b0f8.js} +2 -2
- package/dist/esm/{kup-data-table-helper-12596469.js.map → kup-data-table-helper-02f1b0f8.js.map} +1 -1
- package/dist/esm/kup-drawer.entry.js +1 -1
- package/dist/esm/kup-echart.entry.js +1 -1
- package/dist/esm/kup-editor.entry.js +1 -1
- package/dist/esm/kup-family-tree.entry.js +1 -1
- package/dist/esm/kup-grid.entry.js +1 -1
- package/dist/esm/kup-iframe.entry.js +1 -1
- package/dist/esm/kup-image-list.entry.js +4 -4
- package/dist/esm/kup-input-panel.entry.js +8 -8
- package/dist/esm/kup-input-panel.entry.js.map +1 -1
- package/dist/esm/kup-lazy.entry.js +1 -1
- package/dist/esm/kup-magic-box.entry.js +1 -1
- package/dist/esm/{kup-manager-79c3423a.js → kup-manager-8a0cd285.js} +2 -2
- package/dist/esm/{kup-manager-79c3423a.js.map → kup-manager-8a0cd285.js.map} +1 -1
- package/dist/esm/kup-nav-bar.entry.js +1 -1
- package/dist/esm/kup-numeric-picker.entry.js +2 -2
- package/dist/esm/kup-pdf.entry.js +1 -1
- package/dist/esm/kup-photo-frame.entry.js +1 -1
- package/dist/esm/kup-planner.entry.js +2 -2
- package/dist/esm/kup-probe.entry.js +1 -1
- package/dist/esm/kup-qlik.entry.js +1 -1
- package/dist/esm/kup-snackbar.entry.js +1 -1
- package/dist/esm/kup-typography-list.entry.js +1 -1
- package/dist/esm/kup-typography.entry.js +1 -1
- package/dist/ketchup/index.esm.js +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/{p-42c4a3fa.entry.js → p-1a7efb24.entry.js} +2 -2
- package/dist/ketchup/{p-67caac39.entry.js → p-1bac1c57.entry.js} +2 -2
- package/dist/ketchup/{p-248c1472.entry.js → p-1e8b54e7.entry.js} +2 -2
- package/dist/ketchup/{p-505f9f0b.entry.js → p-251cd449.entry.js} +2 -2
- package/dist/ketchup/{p-30bff580.entry.js → p-27b37553.entry.js} +2 -2
- package/dist/ketchup/p-2d13cc68.js +2 -0
- package/dist/ketchup/{p-b54a5f2b.js.map → p-2d13cc68.js.map} +1 -1
- package/dist/ketchup/{p-245fa3a2.entry.js → p-2dd95613.entry.js} +2 -2
- package/dist/ketchup/{p-8f2bdf39.js → p-31e54b3d.js} +2 -2
- package/dist/ketchup/{p-399b9933.js → p-3597f8bb.js} +2 -2
- package/dist/ketchup/{p-e3c9639a.entry.js → p-3dcc77f9.entry.js} +2 -2
- package/dist/ketchup/{p-516bb0a6.entry.js → p-3f161d71.entry.js} +2 -2
- package/dist/ketchup/{p-34ec8c06.entry.js → p-4e432e8c.entry.js} +2 -2
- package/dist/ketchup/{p-c0714101.entry.js → p-555a72ad.entry.js} +2 -2
- package/dist/ketchup/p-593d2457.entry.js +2 -0
- package/dist/ketchup/{p-af710e2a.entry.js.map → p-593d2457.entry.js.map} +1 -1
- package/dist/ketchup/{p-b7edd010.js → p-65cc1bb9.js} +2 -2
- package/dist/ketchup/{p-cf931b2f.entry.js → p-691b9264.entry.js} +2 -2
- package/dist/ketchup/{p-1ce6fad3.entry.js → p-6bae1a99.entry.js} +2 -2
- package/dist/ketchup/{p-ba36e4fd.entry.js → p-731af6ea.entry.js} +2 -2
- package/dist/ketchup/{p-c654fca7.entry.js → p-74836822.entry.js} +2 -2
- package/dist/ketchup/{p-e29ab71d.entry.js → p-837ec9ad.entry.js} +2 -2
- package/dist/ketchup/{p-5a14e097.entry.js → p-85ba57aa.entry.js} +2 -2
- package/dist/ketchup/{p-655031a0.entry.js → p-87cdc7b4.entry.js} +2 -2
- package/dist/ketchup/{p-62c2268b.entry.js → p-8af43f78.entry.js} +2 -2
- package/dist/ketchup/{p-3d42578c.entry.js → p-8e5fe773.entry.js} +2 -2
- package/dist/ketchup/{p-b27381aa.js → p-9bcbe397.js} +2 -2
- package/dist/ketchup/{p-b27381aa.js.map → p-9bcbe397.js.map} +1 -1
- package/dist/ketchup/{p-b6871892.entry.js → p-a2d8b75a.entry.js} +2 -2
- package/dist/ketchup/{p-d5fb7b8a.entry.js → p-aeeae530.entry.js} +2 -2
- package/dist/ketchup/{p-426ec79b.entry.js → p-c3b857cf.entry.js} +2 -2
- package/dist/ketchup/{p-d031e461.js → p-cb7201eb.js} +2 -2
- package/dist/ketchup/{p-993317a3.entry.js → p-d3623d36.entry.js} +2 -2
- package/dist/ketchup/{p-2c8a584c.entry.js → p-d998272d.entry.js} +2 -2
- package/dist/ketchup/{p-b8622242.entry.js → p-ea051539.entry.js} +2 -2
- package/dist/ketchup/p-ea051539.entry.js.map +1 -0
- package/dist/ketchup/{p-74fdfc38.entry.js → p-ef8820af.entry.js} +2 -2
- package/dist/ketchup/{p-b2ec62ed.entry.js → p-f8de4ddd.entry.js} +2 -2
- package/package.json +1 -1
- package/dist/ketchup/p-af710e2a.entry.js +0 -2
- package/dist/ketchup/p-b54a5f2b.js +0 -2
- package/dist/ketchup/p-b8622242.entry.js.map +0 -1
- /package/dist/ketchup/{p-42c4a3fa.entry.js.map → p-1a7efb24.entry.js.map} +0 -0
- /package/dist/ketchup/{p-67caac39.entry.js.map → p-1bac1c57.entry.js.map} +0 -0
- /package/dist/ketchup/{p-248c1472.entry.js.map → p-1e8b54e7.entry.js.map} +0 -0
- /package/dist/ketchup/{p-505f9f0b.entry.js.map → p-251cd449.entry.js.map} +0 -0
- /package/dist/ketchup/{p-30bff580.entry.js.map → p-27b37553.entry.js.map} +0 -0
- /package/dist/ketchup/{p-245fa3a2.entry.js.map → p-2dd95613.entry.js.map} +0 -0
- /package/dist/ketchup/{p-8f2bdf39.js.map → p-31e54b3d.js.map} +0 -0
- /package/dist/ketchup/{p-399b9933.js.map → p-3597f8bb.js.map} +0 -0
- /package/dist/ketchup/{p-e3c9639a.entry.js.map → p-3dcc77f9.entry.js.map} +0 -0
- /package/dist/ketchup/{p-516bb0a6.entry.js.map → p-3f161d71.entry.js.map} +0 -0
- /package/dist/ketchup/{p-34ec8c06.entry.js.map → p-4e432e8c.entry.js.map} +0 -0
- /package/dist/ketchup/{p-c0714101.entry.js.map → p-555a72ad.entry.js.map} +0 -0
- /package/dist/ketchup/{p-b7edd010.js.map → p-65cc1bb9.js.map} +0 -0
- /package/dist/ketchup/{p-cf931b2f.entry.js.map → p-691b9264.entry.js.map} +0 -0
- /package/dist/ketchup/{p-1ce6fad3.entry.js.map → p-6bae1a99.entry.js.map} +0 -0
- /package/dist/ketchup/{p-ba36e4fd.entry.js.map → p-731af6ea.entry.js.map} +0 -0
- /package/dist/ketchup/{p-c654fca7.entry.js.map → p-74836822.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e29ab71d.entry.js.map → p-837ec9ad.entry.js.map} +0 -0
- /package/dist/ketchup/{p-5a14e097.entry.js.map → p-85ba57aa.entry.js.map} +0 -0
- /package/dist/ketchup/{p-655031a0.entry.js.map → p-87cdc7b4.entry.js.map} +0 -0
- /package/dist/ketchup/{p-62c2268b.entry.js.map → p-8af43f78.entry.js.map} +0 -0
- /package/dist/ketchup/{p-3d42578c.entry.js.map → p-8e5fe773.entry.js.map} +0 -0
- /package/dist/ketchup/{p-b6871892.entry.js.map → p-a2d8b75a.entry.js.map} +0 -0
- /package/dist/ketchup/{p-d5fb7b8a.entry.js.map → p-aeeae530.entry.js.map} +0 -0
- /package/dist/ketchup/{p-426ec79b.entry.js.map → p-c3b857cf.entry.js.map} +0 -0
- /package/dist/ketchup/{p-d031e461.js.map → p-cb7201eb.js.map} +0 -0
- /package/dist/ketchup/{p-993317a3.entry.js.map → p-d3623d36.entry.js.map} +0 -0
- /package/dist/ketchup/{p-2c8a584c.entry.js.map → p-d998272d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-74fdfc38.entry.js.map → p-ef8820af.entry.js.map} +0 -0
- /package/dist/ketchup/{p-b2ec62ed.entry.js.map → p-f8de4ddd.entry.js.map} +0 -0
|
@@ -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_listeners","_KupInputPanel_cellTypeComponents","DATE","TIME","_KupInputPanel_cellCustomRender","FCellShapes","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","layout","horizontal","rowContent","_a","sections","cells","cell","_KupInputPanel_renderCell","column","absolute","_KupInputPanel_renderAbsoluteLayout","_KupInputPanel_renderGridLayout","classObj","class","name","onSubmit","e","preventDefault","submitCb","value","before","Object","assign","after","_KupInputPanel_reverseMapCells","hiddenSubmitButton","FButton","buttonType","label","CONFIRM","wrapperClass","customRender","get","shape","undefined","cellProps","component","editable","renderKup","setSizes","_KupInputPanel_getLabelComponent","title","FCell","cellId","icon","edtCell","reduce","find","detail","htmlValue","replace","addEventListener","push","isReadOnly","isEditable","showToolbar","editableData","showGroups","showFilters","showFooter","cellType","ketchup","getType","RADIO","sectionRender","sectionsType","section","_KupInputPanel_renderSection","_KupInputPanel_renderAbsoluteSection","customLabelRender","styleObj","content","innerSection","_b","field","_KupInputPanel_renderField","_d","_c","maxWidth","dim","maxHeight","sectionStyle","gap","gridCols","gridRows","sectionContent","style","_KupInputPanel_renderAbsoluteField","width","absoluteWidth","absoluteHeight","top","absoluteRow","left","absoluteColumn","position","overflow","tabSelected","tabNodes","i","active","sectionId","display","tabCustomStyle","l","includes","node","customStyle","fieldCell","colSpan","colStart","colEnd","rowSpan","rowStart","rowEnd","absoluteLength","inpuPanelCells","rows","columns","filter","visible","mappedCell","_KupInputPanel_setProps","slotData","_KupInputPanel_slotData","componentQuery","el","querySelector","setValue","defaultProps","_KupInputPanel_mapData","disabled","noDataProps","__rest","_KupInputPanel_deepObjectsMerge","target","source","Array","isArray","curr","updatedCells","keys","cellState","c","JSON","stringify","_KupInputPanel_getTableUpdatedCell","obj","options","fieldLabel","currentValue","dataAdapterMap","_KupInputPanel_CMBandACPAdapter","_KupInputPanel_BTNAdapter","CHART","_KupInputPanel_GRAAdapter","CHIP","_KupInputPanel_CHIAdapter","CHECKBOX","_KupInputPanel_CHKAdapter","COLOR_PICKER","_KupInputPanel_CLPAdapter","_KupInputPanel_EDTAdapter","NUMBER","_KupInputPanel_NumberAdapter","_KupInputPanel_DateAdapter","_KupInputPanel_RADAdapter","STRING","_KupInputPanel_ITXAdapter","SWITCH","_KupInputPanel_SWTAdapter","_KupInputPanel_DataTableAdapter","_KupInputPanel_TimeAdapter","adapter","trailingIcon","fullWidth","showDropDownIcon","_options","_fieldLabel","CHIAdapter","sizeX","offlineMode","sizeY","_currentValue","onClick","fun","customButtonClickHandler","currentState","keyShortcut","rawOptions","configCMandACP","CMBandACPAdapter","evNames","evName","_KupInputPanel_getAutocompleteEventCallback","_KupInputPanel_optionsTreeComboAdapter","CHKAdapter","initialValue","RADAdapter","SWTAdapter","_rawOptions","_value","parse","logMessage","KupDebugCategory","WARNING","type","ERROR","tableValue","updated","editableColsId","beforeTableValue","updatedRow","colId","changed","option","selected","children","child","codice","testo","k","fields","open","optionsHandler","inputValue","then"],"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} from '../../managers/kup-data/kup-data-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}\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 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 InputPanelButtonClickHandler = (event: {\n fun: string;\n cellId: string;\n currentState: KupInputPanelData;\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_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\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\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 height: 87ch;\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 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 FCellEventPayload,\n FCellEvents,\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 { 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 KupEventPayload,\n} from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\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 { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n} from './kup-input-panel-utils';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-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 //#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 * 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']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\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\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 #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\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 rowContent = layout.absolute\n ? this.#renderAbsoluteLayout(inputPanelCell, layout)\n : this.#renderGridLayout(inputPanelCell, layout);\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 class={classObj}\n name={this.rootElement.id}\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 {rowContent}\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 </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 #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 let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n }\n\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n if (cells.row?.layout?.horizontal) {\n styleObj.maxWidth = section.dim;\n } else {\n styleObj.maxHeight = section.dim;\n }\n\n const sectionStyle = {\n ...styleObj,\n gap: +section.gap > 0 ? `${section.gap}rem` : '',\n 'grid-template-columns':\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '',\n 'grid-template-rows':\n +section.gridRows > 0 ? `repeat(${section.gridRows}, 1fr)` : '',\n };\n\n const sectionContent = (\n <div class={classObj} style={sectionStyle}>\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 #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 active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: section.icon,\n id: section.id || `${i}`,\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 '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 #mapCells(data: KupInputPanelData) {\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.#setProps(cell, column),\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\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}]`\n );\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setProps(cell: KupInputPanelCell, column: KupInputPanelColumn) {\n const defaultProps = {\n ...this.#mapData(cell, column),\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(cell: KupInputPanelCell, col: KupInputPanelColumn) {\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\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.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 ) {\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 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 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 return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return CHKAdapter(currentValue, fieldLabel);\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 ) {\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return RADAdapter(currentValue, options);\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 ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #TimeAdapter(\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 #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\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 #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 //#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":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,f as i,h as n,H as a,d as o}from"./p-d7c15b0e.js";import{k as s,g as p,s as r}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,f as i,h as n,H as a,d as o}from"./p-d7c15b0e.js";import{k as s,g as p,s as r}from"./p-9bcbe397.js";import{c as l}from"./p-635bb4b3.js";import{F as c}from"./p-cc32b7a2.js";import"./p-029c7cbe.js";import"./p-e3062c19.js";import"./p-2b519589.js";const f="snackbar";var h;(function(t){t["actionButton"]="Set of FButton props to set the action button.";t["closeButton"]="When true, the hide button will be displayed.";t["customStyle"]="Custom style of the component.";t["text"]="Sets the textual content of the snackbar.";t["timeout"]="Defaults at null, when set the snackbar will automatically disappear after the specified amount of milliseconds."})(h||(h={}));const k=".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_snackbar_border_left_color:var(\n --kup-snackbar-border-left-color,\n var(--kup-border-interactive)\n );--kup_snackbar_background_color:var(\n --kup-snackbar-background-color,\n var(--kup-layer-0-inverted)\n );--kup_snackbar_text_color:var(\n --kup-snackbar-text-color,\n var(--kup-text-primary-inverted)\n );--kup_snackbar_text_color:var(--kup-snackbar-text-color, var(--kup-layer-1));animation:snackbar-show 125ms;bottom:0;box-sizing:border-box;display:block;left:0;outline:none;pointer-events:none;position:fixed;transition:opacity 0.15s cubic-bezier(0, 0, 0.2, 1) 0ms, transform 0.15s cubic-bezier(0, 0, 0.2, 1) 0ms, -webkit-transform 0.15s cubic-bezier(0, 0, 0.2, 1) 0ms;width:100%;z-index:calc(var(--kup-navbar-zindex) + 1)}:host(:not([kup-visible])){display:none}#kup-component{box-sizing:border-box;display:flex;justify-content:center;height:100%;padding:8px;width:100%}.snackbar{align-items:center;background-color:var(--kup_snackbar_background_color);color:var(--kup_snackbar_text_color);display:flex;justify-content:space-between;max-width:672px;min-height:48px;min-width:344px;border-left:4px solid var(--kup_snackbar_border_left_color);padding:0 var(--kup-space-05)}.snackbar .snackbar__text__block{padding:var(--kup-space-05) 0;color:var(--kup_snackbar_text_color)}.snackbar__header{pointer-events:all;word-break:break-word;font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.snackbar__text{pointer-events:all;word-break:break-word;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}.snackbar__buttons{align-items:center;display:flex;justify-content:flex-end;pointer-events:all;width:max-content}.snackbar__close{--kup-button-font-size:11px;margin-left:8px;pointer-events:all}@media (min-width: 768px){.snackbar__text__block{padding:var(--kup-space-05) 0;min-width:350px}}@keyframes snackbar-show{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}:host(.kup-top){bottom:unset;top:var(--kup-navbar-height, 0)}";const d=k;const u=class{constructor(i){t(this,i);this.kupActionClick=e(this,"kup-snackbar-actionclick",6);this.kupTimeoutComplete=e(this,"kup-snackbar-timeoutcomplete",6);this.kupManager=s();this.visible=false;this.actionButton=null;this.closeButton=true;this.customStyle="";this.text="";this.header="";this.timeout=null}onKupActionClick(){this.hide();this.kupActionClick.emit({comp:this,id:this.rootElement.id})}onKupTimeoutComplete(){this.kupTimeoutComplete.emit({comp:this,id:this.rootElement.id})}async getProps(t){return p(this,h,t)}async hide(){this.visible=false}async refresh(){i(this)}async setProps(t){r(this,h,t)}async show(){this.visible=true}componentWillLoad(){this.kupManager.debug.logLoad(this,false);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false)}componentDidRender(){if(this.timeout&&this.visible){setTimeout((()=>{this.hide();this.onKupTimeoutComplete()}),this.timeout)}this.kupManager.debug.logRender(this,true)}render(){return n(a,{key:"34b5225f8c03f89d8d530db8dd04546f560c08a3","kup-visible":this.visible},n("style",{key:"bc24655adb906dc83635fb9256159adee92029ba"},this.kupManager.theme.setKupStyle(this.rootElement)),n("div",{key:"4171edfa33a999f7a46f64beb304fe90ba8bfde5",id:l},n("div",{key:"1c59a969e3ea2177fcd8c4404b77f9e05fb4d34d",class:f},n("div",{key:"016234060f2d8e636927234854fddb3804b91f26",class:"snackbar__text__block"},n("div",{key:"11e5d3d57c8059797d3ec267b25c7463e748e5e4",class:`${f}__header`},this.header),n("div",{key:"08a9932c0bbf21b7263cd6e6ffb125078d851a02",class:`${f}__text`},this.text)),this.actionButton||this.closeButton?n("div",{class:`${f}__buttons`},this.actionButton?n("div",{class:`${f}__action`},n(c,Object.assign({},this.actionButton,{onClick:()=>this.onKupActionClick()}))):null,this.closeButton?n("div",{class:`${f}__close`},n(c,{icon:"close",onClick:()=>this.hide()})):null):null)))}disconnectedCallback(){this.kupManager.theme.unregister(this)}get rootElement(){return o(this)}};u.style=d;export{u as kup_snackbar};
|
|
2
|
+
//# sourceMappingURL=p-ef8820af.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,f as i,h as a,H as l,d as r}from"./p-d7c15b0e.js";import{F as n}from"./p-cc32b7a2.js";import{a as o}from"./p-e3062c19.js";import{F as s}from"./p-2b519589.js";import{k as f,g as _,s as h,h as p,N as m}from"./p-b27381aa.js";import{c}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var u;(function(t){t["autofitOnExpand"]="The component will autofit everytime a node is expanded.";t["autofitOnLoad"]="The component's initial render will fit the container by invoking the runAutofit method.";t["cardData"]="Used to render the family tree boxes as kup-cards (through kup-box).";t["collapsible"]="Nodes can be expanded/collapsed.";t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the component";t["layout"]="Layout of the boxes.";t["stackedLeaves"]="Child nodes that have no children are arranged vertically."})(u||(u={}));const d='.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_familytree_item_background_color:var(\n --kup-layer-1,\n var(--kup-layer-1)\n );--kup_familytree_border_color:var(\n --kup-familytree-border-color,\n var(--kup-info-color-50)\n );--kup_familytree_item_color:var(\n --kup-familytree-item-color,\n var(--kup-text-color)\n );--kup_familytree_item_height:var(--kup-familytree-item-height, 80px);--kup_familytree_item_h_padding:var(\n --kup-familytree-item-h-padding,\n var(--kup-space-03)\n );--kup_familytree_item_v_padding:var(\n --kup-familytree-item-v-padding,\n var(--kup-space-03)\n );--kup_familytree_item_width:var(--kup-familytree-item-width, 280px);--kup_familytree_lines_color:var(\n --kup-familytree-lines-color,\n var(--kup-border-subtle)\n );display:block;overflow:hidden}.family-tree{cursor:grab;display:flex;transform:scale(var(--kup_familytree_scale, 1));transform-origin:0px 0px}.family-tree--dragging{cursor:grabbing}.family-tree__node{border-collapse:collapse;margin:auto}.family-tree__node--stacked{margin-bottom:4px}.family-tree__node__staff{align-items:center;display:flex;flex-direction:column;height:0;transform:translateX(calc((var(--kup_familytree_item_width) + var(--kup_familytree_item_h_padding) * 2) / 2)) translateY(calc(0px - (var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)))}.family-tree__node__staff__item{padding:var(--kup_familytree_item_v_padding);text-align:left}.family-tree__node__staff__item:before{border-top:2px solid var(--kup_familytree_lines_color);content:"";position:absolute;transform:translateX(calc(100% + 2px)) translateY(calc(var(--kup_familytree_item_height) / 2));width:var(--kup_familytree_item_h_padding)}.family-tree__node td{vertical-align:top;padding:0}.family-tree__line--left{border-left:2px solid var(--kup_familytree_lines_color)}.family-tree__line--placeholder{height:calc(var(--kup_familytree_item_height) / 2)}.family-tree__line--staff{height:calc(var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)}.family-tree__line--right{border-right:2px solid var(--kup_familytree_lines_color)}.family-tree__line--top{border-top:2px solid var(--kup_familytree_lines_color)}.family-tree__line--vertical{background-color:var(--kup_familytree_lines_color);margin-left:auto;margin-right:auto;width:2px}.family-tree__item{display:flex}.family-tree__item__wrapper{margin:auto}.family-tree__item__wrapper kup-box{margin:0 auto;overflow:hidden;padding:0 18px;width:var(--kup_familytree_item_width);z-index:1}.family-tree__item__wrapper .f-button{--kup-button-primary-color:var(--kup-text-color);--kup-button-primary-color-rgb:var(--kup-text-color-rgb);--kup-button-primary-color-h:var(--kup-text-color-h);--kup-button-primary-color-s:var(--kup-text-color-s);--kup-button-primary-color-l:var(--kup-text-color-l);margin:0 auto;width:max-content}.family-tree__item__wrapper .f-button button{height:32px;width:32px}.family-tree__item__layout{background-color:var(--kup_familytree_item_background_color);box-sizing:border-box;display:flex;height:var(--kup_familytree_item_height);margin:0 18px;width:var(--kup_familytree_item_width)}.family-tree__item__layout--1{justify-content:center;color:var(--kup_familytree_item_color)}.family-tree__item__layout--1>.family-tree__item__layout__text__title{margin-top:auto;margin-bottom:auto}.family-tree__item__layout--2{background-color:var(--kup_familytree_item_background_color);justify-content:flex-start}.family-tree__item__layout__color{background-color:var(--kup_familytree_border_color);height:100%;width:10px}.family-tree__item__layout__image{display:flex;margin:auto var(--kup-space-03)}.family-tree__item__layout__image img{border-radius:50px;object-fit:cover}.family-tree__item__layout__text{display:flex;flex-direction:column;justify-content:center}.family-tree__item__layout__text__title{font-size:18px;margin-bottom:5px}.family-tree__item__layout__text__subtitle{font-size:14px}.family-tree__item__layout__text__title,.family-tree__item__layout__text__subtitle{max-width:calc(var(--kup_familytree_item_width) - 30%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}';const y=d;var k=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(t):a?a.value:e.get(t)};var g=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,a,l){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!l)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?l.call(t,i):l?l.value=i:e.set(t,i),i};var v,x,b,w,z,j,C,E,T,W,M,S,D,L,O,P,R,A,F,X,Y,H,N,$,B;const U=class{constructor(i){t(this,i);this.kupClick=e(this,"kup-familytree-click",6);this.kupContextMenu=e(this,"kup-familytree-contextmenu",6);this.kupDblClick=e(this,"kup-familytree-dblclick",6);v.add(this);x.set(this,[]);b.set(this,false);w.set(this,0);z.set(this,0);j.set(this,[]);C.set(this,f());E.set(this,(t=>{const e=t.clientX-k(this,w,"f");const i=t.clientY-k(this,z,"f");this.rootElement.scrollTop-=i;this.rootElement.scrollLeft-=e;g(this,w,t.clientX,"f");g(this,z,t.clientY,"f")}));T.set(this,false);W.set(this,null);this.autofitOnExpand=true;this.autofitOnLoad=true;this.cardData=null;this.collapsible=true;this.customStyle="";this.data=null;this.layout=null;this.stackedLeaves=false}async collapseAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:false},true);this.refresh()}async expandAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:true},true);this.refresh()}async getProps(t){return _(this,u,t)}async refresh(){i(this)}async runAutofit(){const t=k(this,W,"f").clientWidth;const e=k(this,W,"f").children[0].clientWidth;const i=.01;const a=85/100*t;const l=95/100*t;let r=1;let n=2e3;let o=e;while((o<a||o>l)&&n>0&&r>i){n--;if(o<a){r=r+i}else if(o>l){r=r-i}else{n=0}o=e*r}k(this,W,"f").style.setProperty("--kup_familytree_scale",r<=1?r.toFixed(2):"1")}async setProps(t){h(this,u,t)}componentWillLoad(){k(this,C,"f").debug.logLoad(this,false);k(this,C,"f").language.register(this);k(this,C,"f").theme.register(this)}componentDidLoad(){k(this,v,"m",$).call(this);if(this.autofitOnLoad){this.runAutofit()}k(this,C,"f").debug.logLoad(this,true)}componentWillRender(){k(this,C,"f").debug.logRender(this,false)}componentDidRender(){if(k(this,T,"f")){g(this,T,false,"f");this.runAutofit()}k(this,C,"f").debug.logRender(this,true)}render(){return a(l,{key:"602bb95f29dfe9e017313b01a3fc485c23dd2f97",onDrag:t=>t.preventDefault(),onPointerDown:t=>{t.preventDefault();k(this,v,"m",F).call(this,t)},onWheel:t=>{k(this,v,"m",B).call(this,t)}},a("style",{key:"becb707b0e477aff23e752bbb7ce335c01b428bd"},k(this,C,"f").theme.setKupStyle(this.rootElement)),a("div",{key:"aa50336a80b5499f3241b277639bb234c9e3eee5",id:c},k(this,v,"m",R).call(this)))}disconnectedCallback(){k(this,C,"f").language.unregister(this);k(this,C,"f").theme.unregister(this)}get rootElement(){return r(this)}};x=new WeakMap,b=new WeakMap,w=new WeakMap,z=new WeakMap,j=new WeakMap,C=new WeakMap,E=new WeakMap,T=new WeakMap,W=new WeakMap,v=new WeakSet,M=function t(e,i,l,r){const n=[];n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--right":!e,"family-tree__line--top":!e}},a("div",{class:"family-tree__line--placeholder"})));n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--left":e,"family-tree__line--top":e&&!l||r&&!i}},a("div",{class:"family-tree__line--placeholder"})));return n},S=function t(e){var i;let l=null;let r=null;if(!this.collapsible||this.collapsible&&e.isExpanded){(i=e.children)===null||i===void 0?void 0:i.forEach((t=>{if(t.isStaff){if(!r){r=[]}r.push(t)}else{if(!l){l=[]}l.push(t)}}))}const s=this.stackedLeaves&&l&&l.every((t=>!t.children||t.children.length==0));const f=l?l.length*2:1;const _={"family-tree__line":true,"family-tree__line--placeholder":!!(l||r),"family-tree__line--vertical":!!(l||r)};const h={columns:[{name:"*TREECOL",title:"Fake column",visible:false},...this.data.columns],rows:[{cells:Object.assign({"*TREECOL":e},e.cells)}]};const m=e.layout||this.layout||1;const c={icon:e.isExpanded?"remove":"plus",shaped:true,slim:true,styling:o.OUTLINED,title:`${k(this,C,"f").language.translate(p.EXPAND)}/${k(this,C,"f").language.translate(p.COLLAPSE)} (CTRL + Click)`,onClick:t=>{if(t.ctrlKey&&e.children&&e.children.length>0){if(e.isExpanded){this.collapseAll(e.children)}else{this.expandAll(e.children)}}e.isExpanded=!e.isExpanded;if(this.autofitOnExpand){g(this,T,true,"f")}this.refresh()},wrapperClass:"family-tree__item__expand"};let u=null;if(k(this,v,"m",A).call(this,m)){u=a("kup-box",{class:"kup-borderless kup-paddingless",customStyle:"#kup-component { background: var(--kup_familytree_item_background_color); border: 2px solid var(--kup_familytree_lines_color); box-sizing: border-box; height: var(--kup_familytree_item_height); padding: 0 var(--kup_familytree_item_h_padding); } #kup-component .box-component { background: var(--kup_familytree_item_background_color); box-sizing: border-box; height: 100%;} #kup-component .f-cell__text { color: var(--kup_familytree_item_color); }",data:h,cardData:this.cardData,layout:this.cardData?null:m,showSelection:false})}const d=a("div",{class:"family-tree__item"},a("div",{class:"family-tree__item__wrapper"},k(this,v,"m",A).call(this,m)?u:k(this,v,"m",D).call(this,e,m),this.collapsible&&e.children&&e.children.length>0?a(n,Object.assign({},c)):undefined));const y={["--kup_familytree_staffchildren"]:(r===null||r===void 0?void 0:r.length.toString())||"0"};return a("table",{class:{"family-tree__node":true,"family-tree__node--stacked":this.stackedLeaves&&!e.isStaff&&(!e.children||e.children.length==0)}},a("tr",null,a("td",{"data-row":e,colSpan:f},d)),a("tr",null,a("td",{colSpan:f},a("div",{class:_}))),r?[a("tr",null,a("td",{colSpan:f},a("div",{class:Object.assign(Object.assign({},_),{"family-tree__line--staff":true}),style:y}),a("div",{class:"family-tree__node__staff",style:y},r.map((e=>[a("div",{class:"family-tree__node__staff__item"},k(this,v,"m",t).call(this,e))])))))]:null,r&&l?[a("tr",null,a("td",{colSpan:f},a("div",{class:_})))]:null,l?[a("tr",null,s?a("td",{colSpan:f},a("div",{class:_})):l.map((t=>k(this,v,"m",M).call(this,l.indexOf(t)==0,l.indexOf(t)==l.length-1,l.length==1,l.length>2)))),a("tr",null,s?a("td",{colSpan:f},l.map((e=>k(this,v,"m",t).call(this,e)))):l.map((e=>a("td",{colSpan:2},k(this,v,"m",t).call(this,e)))))]:undefined)},D=function t(e,i){switch(i){case 2:return k(this,v,"m",O).call(this,e);default:return k(this,v,"m",L).call(this,e)}},L=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--1`},a("div",{class:"family-tree__item__layout__text__title"},e.value))},O=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--2`},a("div",{class:"family-tree__item__layout__color"}),a("div",{class:"family-tree__item__layout__image"},a(s,{resource:e.icon,placeholderResource:e.placeholderIcon,sizeX:"48px",sizeY:"48px"})),a("div",{class:"family-tree__item__layout__text"},a("div",{class:"family-tree__item__layout__text__title"},e.value),e.title?a("div",{class:"family-tree__item__layout__text__subtitle"},e.title):null))},P=function t(e){return e.map((t=>k(this,v,"m",S).call(this,t)))},R=function t(){const e=!this.data||!this.data.rows||!this.data.rows.length;return a("div",{class:"family-tree",onContextMenu:t=>{t.preventDefault()},ref:t=>g(this,W,t,"f")},e?a("div",null,k(this,C,"f").language.translate(p.EMPTY_DATA)):k(this,v,"m",P).call(this,this.data.rows))},A=function t(e){const i=e;return!!this.cardData||i&&i.sections&&i.sections.length>0},F=function t(e){g(this,w,e.clientX,"f");g(this,z,e.clientY,"f");k(this,W,"f").classList.add("family-tree--dragging");const i=()=>{document.removeEventListener("pointermove",k(this,E,"f"));document.removeEventListener("pointerup",i);k(this,W,"f").classList.remove("family-tree--dragging")};document.addEventListener("pointermove",k(this,E,"f"));document.addEventListener("pointerup",i)},X=function t(e,i){let a;let l;if(e){for(let t=e.length-1;t>=0;t--){const i=e[t];if(!i.tagName){continue}if(i.classList.contains("family-tree__item__expand")){a=i}switch(i.tagName.toUpperCase()){case"TD":{l=i;break}}}}let r=null,n=null,o=null;if(l){r=l["data-cell"];n=l["data-column"];o=l["data-row"]}return{cell:r?r:null,column:n?n:null,expandButton:a?a:null,originalEvent:i,row:o?o:null,td:l?l:null}},Y=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},H=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},N=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},$=function t(){k(this,j,"f").push(this.rootElement);const e=t=>{if(k(this,b,"f")){g(this,b,false,"f");return}switch(t.button){case 0:const e={};for(const i in t){e[i]=t[i]}k(this,x,"f").push(setTimeout((()=>{this.kupClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",Y).call(this,e)})}),300));break;case 2:this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)});break}};const i=t=>{switch(t.button){case 0:for(let t=0;t<k(this,x,"f").length;t++){clearTimeout(k(this,x,"f")[t]);k(this,C,"f").debug.logMessage(this,"Cleared clickHandler timeout("+k(this,x,"f")[t]+").")}g(this,x,[],"f");this.kupDblClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",N).call(this,t)});break}};const a=t=>{if(t.pointerType==="pen"||t.pointerType==="touch"){g(this,b,true,"f");this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)})}};k(this,C,"f").interact.on(this.rootElement,m.TAP,e);k(this,C,"f").interact.on(this.rootElement,m.DOUBLETAP,i);k(this,C,"f").interact.on(this.rootElement,m.HOLD,a)},B=function t(e){if(e.ctrlKey){e.preventDefault();const t=parseFloat(k(this,W,"f").style.getPropertyValue("--kup_familytree_scale"))||1;const i=.05;let a=e.deltaY>0?t-i:t+i;if(a<i){a=i}k(this,W,"f").style.setProperty("--kup_familytree_scale",a.toFixed(2))}};U.style=y;export{U as kup_family_tree};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,f as i,h as a,H as l,d as r}from"./p-d7c15b0e.js";import{F as n}from"./p-cc32b7a2.js";import{a as o}from"./p-e3062c19.js";import{F as s}from"./p-2b519589.js";import{k as f,g as _,s as h,h as p,N as m}from"./p-9bcbe397.js";import{c}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var u;(function(t){t["autofitOnExpand"]="The component will autofit everytime a node is expanded.";t["autofitOnLoad"]="The component's initial render will fit the container by invoking the runAutofit method.";t["cardData"]="Used to render the family tree boxes as kup-cards (through kup-box).";t["collapsible"]="Nodes can be expanded/collapsed.";t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the component";t["layout"]="Layout of the boxes.";t["stackedLeaves"]="Child nodes that have no children are arranged vertically."})(u||(u={}));const d='.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_familytree_item_background_color:var(\n --kup-layer-1,\n var(--kup-layer-1)\n );--kup_familytree_border_color:var(\n --kup-familytree-border-color,\n var(--kup-info-color-50)\n );--kup_familytree_item_color:var(\n --kup-familytree-item-color,\n var(--kup-text-color)\n );--kup_familytree_item_height:var(--kup-familytree-item-height, 80px);--kup_familytree_item_h_padding:var(\n --kup-familytree-item-h-padding,\n var(--kup-space-03)\n );--kup_familytree_item_v_padding:var(\n --kup-familytree-item-v-padding,\n var(--kup-space-03)\n );--kup_familytree_item_width:var(--kup-familytree-item-width, 280px);--kup_familytree_lines_color:var(\n --kup-familytree-lines-color,\n var(--kup-border-subtle)\n );display:block;overflow:hidden}.family-tree{cursor:grab;display:flex;transform:scale(var(--kup_familytree_scale, 1));transform-origin:0px 0px}.family-tree--dragging{cursor:grabbing}.family-tree__node{border-collapse:collapse;margin:auto}.family-tree__node--stacked{margin-bottom:4px}.family-tree__node__staff{align-items:center;display:flex;flex-direction:column;height:0;transform:translateX(calc((var(--kup_familytree_item_width) + var(--kup_familytree_item_h_padding) * 2) / 2)) translateY(calc(0px - (var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)))}.family-tree__node__staff__item{padding:var(--kup_familytree_item_v_padding);text-align:left}.family-tree__node__staff__item:before{border-top:2px solid var(--kup_familytree_lines_color);content:"";position:absolute;transform:translateX(calc(100% + 2px)) translateY(calc(var(--kup_familytree_item_height) / 2));width:var(--kup_familytree_item_h_padding)}.family-tree__node td{vertical-align:top;padding:0}.family-tree__line--left{border-left:2px solid var(--kup_familytree_lines_color)}.family-tree__line--placeholder{height:calc(var(--kup_familytree_item_height) / 2)}.family-tree__line--staff{height:calc(var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)}.family-tree__line--right{border-right:2px solid var(--kup_familytree_lines_color)}.family-tree__line--top{border-top:2px solid var(--kup_familytree_lines_color)}.family-tree__line--vertical{background-color:var(--kup_familytree_lines_color);margin-left:auto;margin-right:auto;width:2px}.family-tree__item{display:flex}.family-tree__item__wrapper{margin:auto}.family-tree__item__wrapper kup-box{margin:0 auto;overflow:hidden;padding:0 18px;width:var(--kup_familytree_item_width);z-index:1}.family-tree__item__wrapper .f-button{--kup-button-primary-color:var(--kup-text-color);--kup-button-primary-color-rgb:var(--kup-text-color-rgb);--kup-button-primary-color-h:var(--kup-text-color-h);--kup-button-primary-color-s:var(--kup-text-color-s);--kup-button-primary-color-l:var(--kup-text-color-l);margin:0 auto;width:max-content}.family-tree__item__wrapper .f-button button{height:32px;width:32px}.family-tree__item__layout{background-color:var(--kup_familytree_item_background_color);box-sizing:border-box;display:flex;height:var(--kup_familytree_item_height);margin:0 18px;width:var(--kup_familytree_item_width)}.family-tree__item__layout--1{justify-content:center;color:var(--kup_familytree_item_color)}.family-tree__item__layout--1>.family-tree__item__layout__text__title{margin-top:auto;margin-bottom:auto}.family-tree__item__layout--2{background-color:var(--kup_familytree_item_background_color);justify-content:flex-start}.family-tree__item__layout__color{background-color:var(--kup_familytree_border_color);height:100%;width:10px}.family-tree__item__layout__image{display:flex;margin:auto var(--kup-space-03)}.family-tree__item__layout__image img{border-radius:50px;object-fit:cover}.family-tree__item__layout__text{display:flex;flex-direction:column;justify-content:center}.family-tree__item__layout__text__title{font-size:18px;margin-bottom:5px}.family-tree__item__layout__text__subtitle{font-size:14px}.family-tree__item__layout__text__title,.family-tree__item__layout__text__subtitle{max-width:calc(var(--kup_familytree_item_width) - 30%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}';const y=d;var k=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(t):a?a.value:e.get(t)};var g=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,a,l){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!l)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?l.call(t,i):l?l.value=i:e.set(t,i),i};var v,x,b,w,z,j,C,E,T,W,M,S,D,L,O,P,R,A,F,X,Y,H,N,$,B;const U=class{constructor(i){t(this,i);this.kupClick=e(this,"kup-familytree-click",6);this.kupContextMenu=e(this,"kup-familytree-contextmenu",6);this.kupDblClick=e(this,"kup-familytree-dblclick",6);v.add(this);x.set(this,[]);b.set(this,false);w.set(this,0);z.set(this,0);j.set(this,[]);C.set(this,f());E.set(this,(t=>{const e=t.clientX-k(this,w,"f");const i=t.clientY-k(this,z,"f");this.rootElement.scrollTop-=i;this.rootElement.scrollLeft-=e;g(this,w,t.clientX,"f");g(this,z,t.clientY,"f")}));T.set(this,false);W.set(this,null);this.autofitOnExpand=true;this.autofitOnLoad=true;this.cardData=null;this.collapsible=true;this.customStyle="";this.data=null;this.layout=null;this.stackedLeaves=false}async collapseAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:false},true);this.refresh()}async expandAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:true},true);this.refresh()}async getProps(t){return _(this,u,t)}async refresh(){i(this)}async runAutofit(){const t=k(this,W,"f").clientWidth;const e=k(this,W,"f").children[0].clientWidth;const i=.01;const a=85/100*t;const l=95/100*t;let r=1;let n=2e3;let o=e;while((o<a||o>l)&&n>0&&r>i){n--;if(o<a){r=r+i}else if(o>l){r=r-i}else{n=0}o=e*r}k(this,W,"f").style.setProperty("--kup_familytree_scale",r<=1?r.toFixed(2):"1")}async setProps(t){h(this,u,t)}componentWillLoad(){k(this,C,"f").debug.logLoad(this,false);k(this,C,"f").language.register(this);k(this,C,"f").theme.register(this)}componentDidLoad(){k(this,v,"m",$).call(this);if(this.autofitOnLoad){this.runAutofit()}k(this,C,"f").debug.logLoad(this,true)}componentWillRender(){k(this,C,"f").debug.logRender(this,false)}componentDidRender(){if(k(this,T,"f")){g(this,T,false,"f");this.runAutofit()}k(this,C,"f").debug.logRender(this,true)}render(){return a(l,{key:"602bb95f29dfe9e017313b01a3fc485c23dd2f97",onDrag:t=>t.preventDefault(),onPointerDown:t=>{t.preventDefault();k(this,v,"m",F).call(this,t)},onWheel:t=>{k(this,v,"m",B).call(this,t)}},a("style",{key:"becb707b0e477aff23e752bbb7ce335c01b428bd"},k(this,C,"f").theme.setKupStyle(this.rootElement)),a("div",{key:"aa50336a80b5499f3241b277639bb234c9e3eee5",id:c},k(this,v,"m",R).call(this)))}disconnectedCallback(){k(this,C,"f").language.unregister(this);k(this,C,"f").theme.unregister(this)}get rootElement(){return r(this)}};x=new WeakMap,b=new WeakMap,w=new WeakMap,z=new WeakMap,j=new WeakMap,C=new WeakMap,E=new WeakMap,T=new WeakMap,W=new WeakMap,v=new WeakSet,M=function t(e,i,l,r){const n=[];n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--right":!e,"family-tree__line--top":!e}},a("div",{class:"family-tree__line--placeholder"})));n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--left":e,"family-tree__line--top":e&&!l||r&&!i}},a("div",{class:"family-tree__line--placeholder"})));return n},S=function t(e){var i;let l=null;let r=null;if(!this.collapsible||this.collapsible&&e.isExpanded){(i=e.children)===null||i===void 0?void 0:i.forEach((t=>{if(t.isStaff){if(!r){r=[]}r.push(t)}else{if(!l){l=[]}l.push(t)}}))}const s=this.stackedLeaves&&l&&l.every((t=>!t.children||t.children.length==0));const f=l?l.length*2:1;const _={"family-tree__line":true,"family-tree__line--placeholder":!!(l||r),"family-tree__line--vertical":!!(l||r)};const h={columns:[{name:"*TREECOL",title:"Fake column",visible:false},...this.data.columns],rows:[{cells:Object.assign({"*TREECOL":e},e.cells)}]};const m=e.layout||this.layout||1;const c={icon:e.isExpanded?"remove":"plus",shaped:true,slim:true,styling:o.OUTLINED,title:`${k(this,C,"f").language.translate(p.EXPAND)}/${k(this,C,"f").language.translate(p.COLLAPSE)} (CTRL + Click)`,onClick:t=>{if(t.ctrlKey&&e.children&&e.children.length>0){if(e.isExpanded){this.collapseAll(e.children)}else{this.expandAll(e.children)}}e.isExpanded=!e.isExpanded;if(this.autofitOnExpand){g(this,T,true,"f")}this.refresh()},wrapperClass:"family-tree__item__expand"};let u=null;if(k(this,v,"m",A).call(this,m)){u=a("kup-box",{class:"kup-borderless kup-paddingless",customStyle:"#kup-component { background: var(--kup_familytree_item_background_color); border: 2px solid var(--kup_familytree_lines_color); box-sizing: border-box; height: var(--kup_familytree_item_height); padding: 0 var(--kup_familytree_item_h_padding); } #kup-component .box-component { background: var(--kup_familytree_item_background_color); box-sizing: border-box; height: 100%;} #kup-component .f-cell__text { color: var(--kup_familytree_item_color); }",data:h,cardData:this.cardData,layout:this.cardData?null:m,showSelection:false})}const d=a("div",{class:"family-tree__item"},a("div",{class:"family-tree__item__wrapper"},k(this,v,"m",A).call(this,m)?u:k(this,v,"m",D).call(this,e,m),this.collapsible&&e.children&&e.children.length>0?a(n,Object.assign({},c)):undefined));const y={["--kup_familytree_staffchildren"]:(r===null||r===void 0?void 0:r.length.toString())||"0"};return a("table",{class:{"family-tree__node":true,"family-tree__node--stacked":this.stackedLeaves&&!e.isStaff&&(!e.children||e.children.length==0)}},a("tr",null,a("td",{"data-row":e,colSpan:f},d)),a("tr",null,a("td",{colSpan:f},a("div",{class:_}))),r?[a("tr",null,a("td",{colSpan:f},a("div",{class:Object.assign(Object.assign({},_),{"family-tree__line--staff":true}),style:y}),a("div",{class:"family-tree__node__staff",style:y},r.map((e=>[a("div",{class:"family-tree__node__staff__item"},k(this,v,"m",t).call(this,e))])))))]:null,r&&l?[a("tr",null,a("td",{colSpan:f},a("div",{class:_})))]:null,l?[a("tr",null,s?a("td",{colSpan:f},a("div",{class:_})):l.map((t=>k(this,v,"m",M).call(this,l.indexOf(t)==0,l.indexOf(t)==l.length-1,l.length==1,l.length>2)))),a("tr",null,s?a("td",{colSpan:f},l.map((e=>k(this,v,"m",t).call(this,e)))):l.map((e=>a("td",{colSpan:2},k(this,v,"m",t).call(this,e)))))]:undefined)},D=function t(e,i){switch(i){case 2:return k(this,v,"m",O).call(this,e);default:return k(this,v,"m",L).call(this,e)}},L=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--1`},a("div",{class:"family-tree__item__layout__text__title"},e.value))},O=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--2`},a("div",{class:"family-tree__item__layout__color"}),a("div",{class:"family-tree__item__layout__image"},a(s,{resource:e.icon,placeholderResource:e.placeholderIcon,sizeX:"48px",sizeY:"48px"})),a("div",{class:"family-tree__item__layout__text"},a("div",{class:"family-tree__item__layout__text__title"},e.value),e.title?a("div",{class:"family-tree__item__layout__text__subtitle"},e.title):null))},P=function t(e){return e.map((t=>k(this,v,"m",S).call(this,t)))},R=function t(){const e=!this.data||!this.data.rows||!this.data.rows.length;return a("div",{class:"family-tree",onContextMenu:t=>{t.preventDefault()},ref:t=>g(this,W,t,"f")},e?a("div",null,k(this,C,"f").language.translate(p.EMPTY_DATA)):k(this,v,"m",P).call(this,this.data.rows))},A=function t(e){const i=e;return!!this.cardData||i&&i.sections&&i.sections.length>0},F=function t(e){g(this,w,e.clientX,"f");g(this,z,e.clientY,"f");k(this,W,"f").classList.add("family-tree--dragging");const i=()=>{document.removeEventListener("pointermove",k(this,E,"f"));document.removeEventListener("pointerup",i);k(this,W,"f").classList.remove("family-tree--dragging")};document.addEventListener("pointermove",k(this,E,"f"));document.addEventListener("pointerup",i)},X=function t(e,i){let a;let l;if(e){for(let t=e.length-1;t>=0;t--){const i=e[t];if(!i.tagName){continue}if(i.classList.contains("family-tree__item__expand")){a=i}switch(i.tagName.toUpperCase()){case"TD":{l=i;break}}}}let r=null,n=null,o=null;if(l){r=l["data-cell"];n=l["data-column"];o=l["data-row"]}return{cell:r?r:null,column:n?n:null,expandButton:a?a:null,originalEvent:i,row:o?o:null,td:l?l:null}},Y=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},H=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},N=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},$=function t(){k(this,j,"f").push(this.rootElement);const e=t=>{if(k(this,b,"f")){g(this,b,false,"f");return}switch(t.button){case 0:const e={};for(const i in t){e[i]=t[i]}k(this,x,"f").push(setTimeout((()=>{this.kupClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",Y).call(this,e)})}),300));break;case 2:this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)});break}};const i=t=>{switch(t.button){case 0:for(let t=0;t<k(this,x,"f").length;t++){clearTimeout(k(this,x,"f")[t]);k(this,C,"f").debug.logMessage(this,"Cleared clickHandler timeout("+k(this,x,"f")[t]+").")}g(this,x,[],"f");this.kupDblClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",N).call(this,t)});break}};const a=t=>{if(t.pointerType==="pen"||t.pointerType==="touch"){g(this,b,true,"f");this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)})}};k(this,C,"f").interact.on(this.rootElement,m.TAP,e);k(this,C,"f").interact.on(this.rootElement,m.DOUBLETAP,i);k(this,C,"f").interact.on(this.rootElement,m.HOLD,a)},B=function t(e){if(e.ctrlKey){e.preventDefault();const t=parseFloat(k(this,W,"f").style.getPropertyValue("--kup_familytree_scale"))||1;const i=.05;let a=e.deltaY>0?t-i:t+i;if(a<i){a=i}k(this,W,"f").style.setProperty("--kup_familytree_scale",a.toFixed(2))}};U.style=y;export{U as kup_family_tree};
|
|
2
|
+
//# sourceMappingURL=p-f8de4ddd.entry.js.map
|
package/package.json
CHANGED
|
@@ -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-b27381aa.js";import{c as r}from"./p-635bb4b3.js";import{F as c}from"./p-d031e461.js";import"./p-029c7cbe.js";import"./p-5d03c077.js";import"./p-2b519589.js";import"./p-b7edd010.js";import"./p-399b9933.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 d=g;const u=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("#"+r),{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:r},e(c,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)}};u.style=d;export{u as kup_cell};
|
|
2
|
-
//# sourceMappingURL=p-af710e2a.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as e}from"./p-d7c15b0e.js";import{an as n,r as t,a as l,h as o}from"./p-b27381aa.js";import{F as a}from"./p-cc32b7a2.js";import{a as r}from"./p-e3062c19.js";var i;(function(e){e["SIMPLE"]="simple";e["FULL"]="full"})(i||(i={}));const s=document.documentElement;const u=u=>{if(!u.perPage){u.perPage=10}const m=Math.ceil(u.max/u.perPage);const b=c(u,m);const h=p(u);const k={"kup-list":{data:b},"kup-text-field":{label:s.ketchup.language.translate(n.PAGE),helper:s.ketchup.language.translate(n.TOTAL)+`: ${m}`,helperWhenFocused:true,inputType:"number",max:m,min:1}};const g={"kup-list":{data:h},"kup-text-field":{label:s.ketchup.language.translate(t.ROWS)+" / "+s.ketchup.language.translate(n.PAGE),helper:s.ketchup.language.translate(t.TOTAL)+`: ${u.max}`,helperWhenFocused:true,inputType:"number",max:u.max,min:1}};return e("div",Object.assign({class:`f-paginator ${u.mode?u.mode:""} ${u.wrapperClass?u.wrapperClass:""}`},u.dataSet,{id:u.id,title:u.title}),u.onLoadMore?e(a,{icon:"plus",onClick:u.onLoadMore,label:s.ketchup.language.translate(o.LOAD_MORE),sizing:l.MEDIUM,styling:r.FLAT,wrapperClass:"load-more-button kup-neutral"}):null,e("kup-combobox",{class:"rows-selector",data:g,initialValue:u.perPage.toString(),"onkup-combobox-change":u.onRowsChange}),e("kup-combobox",{class:"page-selector",data:k,initialValue:u.currentPage.toString(),"onkup-combobox-change":u.onPageChange}),e("div",{class:"arrow-wrapper"},u.mode!==i.SIMPLE?e(a,{icon:"chevron_left",disabled:f(u),onClick:u.onPrevPage,sizing:l.MEDIUM,styling:r.FLAT,wrapperClass:"kup-neutral prev-page"}):null,u.mode!==i.SIMPLE?e(a,{icon:"chevron_right",disabled:d(u),onClick:u.onNextPage,sizing:l.MEDIUM,styling:r.FLAT,wrapperClass:"kup-neutral next-page"}):null))};function c(e,n){const t=[];for(let l=1;l<=n;l++){const n=l==e.currentPage;t.push({id:l.toString(),selected:n,value:l.toString()})}return t}function p(e){const n=[];let t=e.perPage;if(t===0){return n}while(t<e.max){const l=t==e.perPage;n.push({id:t.toString(),selected:l,value:t.toString()});t=t*2}const l=e.max==e.perPage;n.push({id:e.max.toString(),selected:l,value:e.max.toString()});return n}function d(e){return e.currentPage*e.perPage>=e.max}function f(e){return e.currentPage==1}const m=document.documentElement;function b(e,n,t){if(m.ketchup.math.isNumber(e)){const l=Math.ceil(n/t);let o=e;if(o>l){o=l}if(o<1){o=1}return o}return null}function h(e,n){if(m.ketchup.math.isNumber(e)){let t=e;if(t>n){t=n}if(t<1){t=1}return t}return null}export{u as F,b as p,h as r};
|
|
2
|
-
//# sourceMappingURL=p-b54a5f2b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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_listeners","_KupInputPanel_cellTypeComponents","DATE","TIME","_KupInputPanel_cellCustomRender","FCellShapes","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","layout","horizontal","rowContent","_a","sections","cells","cell","_KupInputPanel_renderCell","column","absolute","_KupInputPanel_renderAbsoluteLayout","_KupInputPanel_renderGridLayout","classObj","class","name","onSubmit","e","preventDefault","submitCb","value","before","Object","assign","after","_KupInputPanel_reverseMapCells","hiddenSubmitButton","FButton","buttonType","label","CONFIRM","wrapperClass","customRender","get","shape","undefined","cellProps","component","editable","renderKup","setSizes","_KupInputPanel_getLabelComponent","title","FCell","cellId","icon","edtCell","reduce","find","detail","htmlValue","replace","addEventListener","push","isReadOnly","isEditable","showToolbar","editableData","showGroups","showFilters","showFooter","cellType","ketchup","getType","RADIO","sectionRender","sectionsType","section","_KupInputPanel_renderSection","_KupInputPanel_renderAbsoluteSection","customLabelRender","styleObj","content","innerSection","_b","field","_KupInputPanel_renderField","_d","_c","maxWidth","dim","maxHeight","sectionStyle","gap","gridCols","gridRows","sectionContent","style","_KupInputPanel_renderAbsoluteField","width","absoluteWidth","absoluteHeight","top","absoluteRow","left","absoluteColumn","position","overflow","tabSelected","tabNodes","i","active","sectionId","display","tabCustomStyle","l","includes","node","customStyle","fieldCell","colSpan","colStart","colEnd","rowSpan","rowStart","rowEnd","absoluteLength","inpuPanelCells","rows","columns","filter","visible","mappedCell","_KupInputPanel_setProps","slotData","_KupInputPanel_slotData","componentQuery","el","querySelector","setValue","defaultProps","_KupInputPanel_mapData","disabled","noDataProps","__rest","_KupInputPanel_deepObjectsMerge","target","source","Array","isArray","curr","updatedCells","keys","cellState","c","JSON","stringify","_KupInputPanel_getTableUpdatedCell","obj","options","fieldLabel","currentValue","dataAdapterMap","_KupInputPanel_CMBandACPAdapter","_KupInputPanel_BTNAdapter","CHART","_KupInputPanel_GRAAdapter","CHIP","_KupInputPanel_CHIAdapter","CHECKBOX","_KupInputPanel_CHKAdapter","COLOR_PICKER","_KupInputPanel_CLPAdapter","_KupInputPanel_EDTAdapter","NUMBER","_KupInputPanel_NumberAdapter","_KupInputPanel_DateAdapter","_KupInputPanel_RADAdapter","STRING","_KupInputPanel_ITXAdapter","SWITCH","_KupInputPanel_SWTAdapter","_KupInputPanel_DataTableAdapter","_KupInputPanel_TimeAdapter","adapter","trailingIcon","fullWidth","showDropDownIcon","_options","_fieldLabel","CHIAdapter","sizeX","offlineMode","sizeY","_currentValue","onClick","fun","customButtonClickHandler","currentState","keyShortcut","rawOptions","configCMandACP","CMBandACPAdapter","evNames","evName","_KupInputPanel_getAutocompleteEventCallback","_KupInputPanel_optionsTreeComboAdapter","CHKAdapter","initialValue","RADAdapter","SWTAdapter","_rawOptions","_value","parse","logMessage","KupDebugCategory","WARNING","type","ERROR","tableValue","updated","editableColsId","beforeTableValue","updatedRow","colId","changed","option","selected","children","child","codice","testo","k","fields","open","optionsHandler","inputValue","then"],"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} from '../../managers/kup-data/kup-data-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}\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 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 InputPanelButtonClickHandler = (event: {\n fun: string;\n cellId: string;\n currentState: KupInputPanelData;\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_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\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\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 height: 87ch;\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 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 FCellEventPayload,\n FCellEvents,\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 { 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 KupEventPayload,\n} from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\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 { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n} from './kup-input-panel-utils';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-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 //#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 * 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']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\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\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 #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\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 rowContent = layout.absolute\n ? this.#renderAbsoluteLayout(inputPanelCell, layout)\n : this.#renderGridLayout(inputPanelCell, layout);\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 class={classObj}\n name={this.rootElement.id}\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 {rowContent}\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 </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 #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 let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n }\n\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n if (cells.row?.layout?.horizontal) {\n styleObj.maxWidth = section.dim;\n } else {\n styleObj.maxHeight = section.dim;\n }\n\n const sectionStyle = {\n ...styleObj,\n gap: +section.gap > 0 ? `${section.gap}rem` : '',\n 'grid-template-columns':\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '',\n 'grid-template-rows':\n +section.gridRows > 0 ? `repeat(${section.gridRows}, 1fr)` : '',\n };\n\n const sectionContent = (\n <div class={classObj} style={sectionStyle}>\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 #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 active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: section.icon,\n id: section.id || `${i}`,\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 '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 const cell = {\n ...fieldCell.cell,\n data: {\n ...fieldCell.cell.data,\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n },\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCells(data: KupInputPanelData) {\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.#setProps(cell, column),\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\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}]`\n );\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setProps(cell: KupInputPanelCell, column: KupInputPanelColumn) {\n const defaultProps = {\n ...this.#mapData(cell, column),\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(cell: KupInputPanelCell, col: KupInputPanelColumn) {\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\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.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 ) {\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 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 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 return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return CHKAdapter(currentValue, fieldLabel);\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 ) {\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return RADAdapter(currentValue, options);\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 ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #TimeAdapter(\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 #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\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 #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 //#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":"sfA4DA,IAAYA,GAAZ,SAAYA,GACRA,EAAA,YACH,EAFD,CAAYA,MAA8B,KA0E1C,IAAYC,GAAZ,SAAYA,GACRA,EAAA,gDACAA,EAAA,0CACAA,EAAA,+FACAA,EAAA,wDACAA,EAAA,iEACH,EAND,CAAYA,MAAkB,KCtI9B,MAAMC,EAAa,GACnB,MAAMC,EAAa,GAEZ,MAAMC,EAAoBC,IAC7B,GAAIA,GAAU,EAAG,CACb,OAAOH,EAAa,C,CAGxB,IAAKG,EAAQ,CACT,OAAO,I,CAGX,GAAIA,IAAW,EAAG,CACd,OAAO,IAAMH,C,CAGjB,OAAOG,EAASH,CAAU,EAGvB,MAAMI,EAAqBC,IAC9B,IAAKA,EAAQ,CACT,OAAO,I,CAGX,OAAOA,EAASJ,CAAU,EAGvB,MAAMK,EAAkBC,IAC3B,IAAKA,EAAK,CACN,OAAO,I,CAGX,OAAQA,EAAM,GAAKN,CAAU,EAG1B,MAAMO,EAAmBC,IAC5B,IAAKA,EAAK,CACN,OAAO,I,CAGX,OAAOA,EAAMT,CAAU,ECxC3B,MAAMU,EAAmB,80HACzB,MAAAC,EAAeD,E,+uCC6Ef,MAAME,GAAcC,SAASC,gB,MAMhBC,GAAa,M,qFAwEtBC,EAAAC,IAAAC,KAA0BC,KAE1BC,EAAAH,IAAAC,KAAqB,IAAIG,IAGvB,CACE,CAAC,gBAAiBC,EAAAJ,KAAIK,EAAA,IAAAC,IAAyBC,KAAKP,OACpD,CAAC,gBAAiBI,EAAAJ,KAAIK,EAAA,IAAAG,IAAiCD,KAAKP,OAC5D,CAAC,aAAcI,EAAAJ,KAAIK,EAAA,IAAAI,IAAsBF,KAAKP,OAC9C,CAAC,iBAAkBI,EAAAJ,KAAIK,EAAA,IAAAI,IAAsBF,KAAKP,UAGtDU,EAAAX,IAAAC,KAAmC,MAEnCW,EAAAZ,IAAAC,KAAc,IAAIG,IAA0B,CACxC,CACIS,EAAWC,aACX,CAAC,yBAA0B,+BAE/B,CACID,EAAWE,mBACX,CAAC,yBAA0B,+BAE/B,CAACF,EAAWG,SAAU,CAAC,2BACvB,CAACH,EAAWI,eAAgB,CAAC,8BAEjCC,EAAAlB,IAAAC,KAAwD,IACxDkB,EAAAnB,IAAAC,KAA+C,IAAIG,IAAwB,CACvE,CAACS,EAAWO,KAAM,mBAClB,CAACP,EAAWQ,KAAM,sBAEtBC,EAAAtB,IAAAC,KAGI,IAAIG,IAA6D,CACjE,CAACmB,EAAYC,YAAanB,EAAAJ,KAAIK,EAAA,IAAAmB,GAAejB,KAAKP,OAClD,CAACsB,EAAYG,OAAQrB,EAAAJ,KAAIK,EAAA,IAAAqB,GAAenB,KAAKP,OAC7C,CAACsB,EAAYK,MAAOvB,EAAAJ,KAAIK,EAAA,IAAAuB,GAAcrB,KAAKP,OAC3C,CAACsB,EAAYO,MAAOzB,EAAAJ,KAAIK,EAAA,IAAAyB,GAAkBvB,KAAKP,UAEnD+B,EAAAhC,IAAAC,KAGI,IAAIG,IAGN,CACE,CAACvB,EAA+BoD,IAAK5B,EAAAJ,KAAIK,EAAA,IAAA4B,IAAmB1B,KAAKP,UAErEkC,EAAAnC,IAAAC,KAA0B,I,iBAzGI,G,UAMI,K,wBAMI,M,cAMkB,K,oBAML,K,8BAMe,K,qBAYZ,G,iBAMf,I,CAkEvC,aAAAmC,GACIC,EAAApC,KAAIU,EAAiB2B,gBAAgBrC,KAAKsC,MAAK,KAC/C,GAAIlC,EAAAJ,KAAIiB,EAAA,KAAYhC,OAAQ,CACxBmB,EAAAJ,KAAIiB,EAAA,KAAYsB,KAAI,EAAGC,QAAOC,cAC1BzC,KAAK0C,YAAYC,oBAAoBH,EAAOC,EAAQ,IAExDL,EAAApC,KAAIiB,EAAc,GAAE,I,CAGxB,GAAIb,EAAAJ,KAAIkC,EAAA,KAAejD,OAAQ,CAC3BmB,EAAAJ,KAAIkC,EAAA,KAAeK,KAAKK,IACpBxC,EAAAJ,KAAIF,EAAA,KAAa+C,YAAYC,WAAWF,EAAI,IAEhDR,EAAApC,KAAIkC,EAAiB,GAAE,I,CAG3B9B,EAAAJ,KAAIK,EAAA,IAAA0C,IAAUC,KAAdhD,KAAeA,KAAKsC,K,CAexB,cAAMW,CAASC,GACX,OAAOD,EAASjD,KAAMnB,EAAoBqE,E,CAM9C,aAAMC,GACFC,EAAYpD,K,CAOhB,cAAMqD,CAASC,GACXD,EAASrD,KAAMnB,EAAoByE,E,CAujCvC,iBAAAC,GACInD,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMC,QAAQzD,KAAM,OACrCI,EAAAJ,KAAIF,EAAA,KAAa4D,SAASC,SAAS3D,MACnCI,EAAAJ,KAAIF,EAAA,KAAa8D,MAAMD,SAAS3D,MAChCA,KAAKmC,e,CAGT,gBAAA0B,GACI7D,KAAK8D,SAASC,KAAK,CAAEC,KAAMhE,KAAMiE,GAAIjE,KAAK0C,YAAYuB,KACtD7D,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMC,QAAQzD,KAAM,K,CAGzC,mBAAAkE,GACI9D,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMW,UAAUnE,KAAM,M,CAG3C,kBAAAoE,GACI,MAAMC,EAAmBrE,KAAK0C,YAAY4B,WAC1C,GAAID,EAAM,CACN,MAAME,EACFF,EAAKG,iBAAiB,iBAC1B,IAAK,IAAIC,EAAQ,EAAGA,EAAQF,EAAGtF,OAAQwF,IAAS,CAC5CC,EAAcH,EAAGE,G,EAGzBrE,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMW,UAAUnE,KAAM,K,CAG3C,MAAA2E,GACI,MAAMC,EAAcC,SAAS7E,KAAK8E,gBAAgB7F,QAElD,MAAM8F,EAA6BH,EAC7B,CACII,EAAA,SACK5E,EAAAJ,KAAIF,EAAA,KAAa4D,SAASuB,UACvBC,EAAmBC,cAI/BnF,KAAK8E,gBAAgBvC,KAAK6C,GACtBhF,EAAAJ,KAAIK,EAAA,IAAAgF,GAAWrC,KAAfhD,KAAgBoF,KAG1B,OACIJ,EAACM,EAAI,CAAA1C,IAAA,4CACDoC,EAAA,SAAApC,IAAA,4CACKxC,EAAAJ,KAAIF,EAAA,KAAa8D,MAAM2B,YACpBvF,KAAK0C,cAGbsC,EAAA,OAAApC,IAAA,2CAAKqB,GAAIuB,GAAqBT,G,CAK1C,oBAAAU,GACIrF,EAAAJ,KAAIF,EAAA,KAAa4D,SAASZ,WAAW9C,MACrCI,EAAAJ,KAAIF,EAAA,KAAa8D,MAAMd,WAAW9C,K,kPAtlC3BoF,G,MACP,MAAMM,EAASN,EAAe/F,IAAIqG,OAElC,MAAMC,GAAaD,IAAM,MAANA,SAAM,SAANA,EAAQC,aAAc,MAEzC,IAAIC,EAEJ,MAAKC,EAAAH,IAAM,MAANA,SAAM,SAANA,EAAQI,YAAQ,MAAAD,SAAA,SAAAA,EAAE5G,QAAQ,CAC3B2G,EAAaR,EAAeW,MAAMxD,KAAKyD,GACnC5F,EAAAJ,KAAIK,EAAA,IAAA4F,GAAYjD,KAAhBhD,KAAiBgG,EAAKA,KAAMZ,EAAe/F,IAAK2G,EAAKE,S,KAEtD,CACHN,EAAaF,EAAOS,SACd/F,EAAAJ,KAAIK,EAAA,IAAA+F,GAAsBpD,KAA1BhD,KAA2BoF,EAAgBM,GAC3CtF,EAAAJ,KAAIK,EAAA,IAAAgG,GAAkBrD,KAAtBhD,KAAuBoF,EAAgBM,E,CAGjD,MAAMY,EAAW,CACb,cAAe,KACf,uBAAwBX,EACxB,wBAAyBD,IAAM,MAANA,SAAM,SAANA,EAAQS,UAIrC,OACInB,EAAA,QACIuB,MAAOD,EACPE,KAAMxG,KAAK0C,YAAYuB,GACvBwC,SAAWC,IACPA,EAAEC,iBACF3G,KAAK4G,SAAS,CACVC,MAAO,CACHC,OAAMC,OAAAC,OAAA,GAAO5G,EAAAJ,KAAIU,EAAA,MACjBuG,MAAO7G,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,QAEb,GAGL4F,GACC5F,KAAKmH,mBACHnC,EAACoC,EAAO,CACJC,WAAW,SACXC,MAAOlH,EAAAJ,KAAIF,EAAA,KAAa4D,SAASuB,UAC7BC,EAAmBqC,SAEvBC,aAAa,iBAEjB,KAGhB,EAACvB,EAAA,SAAAA,EAGGD,EACA3G,EACA6G,GAEA,IAAKF,EAAM,CACP,M,CAGJ,MAAMyB,EAAerH,EAAAJ,KAAIqB,EAAA,KAAmBqG,IAAI1B,EAAK2B,OAErD,GAAIF,IAAiBG,UAAW,CAC5B,OAAOH,EAAazB,EAAME,EAAOM,K,CAGrC,MAAMqB,EAAwB,CAC1B7B,OACAE,SACA7G,MACAyI,UAAW9H,KACX+H,SAAU,KACVC,UAAW,KACXC,SAAU,MAGd,MAAMX,EAAQlH,EAAAJ,KAAIK,EAAA,IAAA6H,GAAmBlF,KAAvBhD,KAAwBgG,EAAME,EAAOiC,OAEnD,GAAIb,EAAO,CACP,OACItC,EAAA,OAAKuB,MAAO,CAAE,+BAAgC,OACzCe,EACDtC,EAACoD,EAAKrB,OAAAC,OAAA,GAAKa,I,CAKvB,OAAO7C,EAACoD,EAAKrB,OAAAC,OAAA,GAAKa,GACtB,EAACrG,EAAA,SAAAA,EAEawE,EAAmBqC,GAC7B,OACIrD,EAACoC,EAAOL,OAAAC,OAAA,CACJsB,KAAMtC,EAAKsC,KACXrE,GAAIoE,GACArC,EAAK1D,KAAI,CACbkF,aAAa,iBAGzB,EAAC9F,EAAA,SAAAA,EAEasE,EAAmBqC,GAC7B,MAAM7F,EAAQ,kBACd,MAAMC,EAAWiE,IACb,MAAM6B,EACFvI,KAAK8E,gBAAgB0D,QAAoB,CAACxC,GAAQD,YAC9C,IAAKC,EAAM,CACP,OAAOD,EAAM0C,MACT,EAAGvC,YAAaA,EAAOM,OAAS6B,IAClCrC,I,CAEN,OAAOA,CAAI,GACZ,MACPuC,EAAQ1B,MAAQH,EAAEgC,OAAOC,UAAUC,QAAQ,MAAO,OAAO,EAG7D5I,KAAK0C,YAAYmG,iBAAiBrG,EAAOC,GAEzCrC,EAAAJ,KAAIiB,EAAA,KAAY6H,KAAK,CACjBtG,QACAC,YAGJ,OACIuC,EAAA,aAAA+B,OAAAC,OAAA,GACQhB,EAAK1D,KAAI,CACb2B,GAAIoE,EACJU,YAAa/C,EAAKgD,WAClBC,YAAa,OAGzB,EAACnH,EAAA,SAAAA,EAEgBkE,EAAmBqC,GAChC,OACIrD,EAAA,iBAAA+B,OAAAC,OAAA,CACI/C,GAAIoE,EACJa,aAAc,KACdC,WAAY,KACZC,YAAa,KACbC,WAAY,MACRrD,EAAK1D,MAGrB,EAACV,EAAA,SAAAA,EAEYoE,EAAmBqC,GAC5B,OACIrD,EAAA,QAAMuB,MAAM,oBAAoBtC,GAAIoE,GAC/BrC,EAAKa,MAGlB,EAACqB,EAAA,SAAAA,EAEkBlC,EAAmBsB,GAClC,IAAKA,EAAO,CACR,OAAO,I,CAGX,MAAMgC,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,GAAI2B,IAAa1I,EAAW6I,MAAO,CAC/B,OAAOzE,EAAA,YAAOsC,E,CAGlB,OAAO,IACX,EAACjB,EAAA,SAAAA,EAGGjB,EACAM,GAEA,MAAMgE,EAAgBtJ,EAAAJ,KAAI+B,EAAA,KAAmB2F,IAAIhC,EAAOiE,cAExD,OAAOD,EACDA,EAActE,EAAgBM,EAAOI,UACrCJ,EAAOI,SAASvD,KAAKqH,GACjBxJ,EAAAJ,KAAIK,EAAA,IAAAwJ,IAAe7G,KAAnBhD,KAAoBoF,EAAgBwE,IAElD,EAACxD,EAAA,SAAAA,EAGGhB,EACAM,GAEA,OAAOA,EAAOI,SAASvD,KAAKqH,GACxBxJ,EAAAJ,KAAIK,EAAA,IAAAyJ,IAAuB9G,KAA3BhD,KAA4BoF,EAAgBwE,IAEpD,EAACC,GAAA,SAAAA,EAGG9D,EACA6D,EACAG,EAA6B,MAC7BC,EAA0B,I,YAE1B,IAAIC,EAAU,GAEd,IAAIpE,EAAA+D,EAAQ9D,YAAQ,MAAAD,SAAA,SAAAA,EAAE5G,OAAQ,CAC1BgL,EAAUL,EAAQ9D,SAASvD,KAAK2H,GAC5B9J,EAAAJ,KAAIK,EAAA,IAAAwJ,GAAe7G,KAAnBhD,KAAoB+F,EAAOmE,I,MAE5B,IAAIC,EAAAP,EAAQK,WAAO,MAAAE,SAAA,SAAAA,EAAElL,OAAQ,CAChCgL,EAAUL,EAAQK,QAAQ1H,KAAK6H,GAC3BhK,EAAAJ,KAAIK,EAAA,IAAAgK,IAAarH,KAAjBhD,KAAkB+F,EAAOqE,I,CAIjC,MAAM9D,EAAW,CACb,wBAAyBsD,EAAQjE,WACjC,kCAAmCiE,EAAQjE,YAG/C,IAAI2E,GAAAC,EAAAxE,EAAM1G,OAAG,MAAAkL,SAAA,SAAAA,EAAE7E,UAAM,MAAA4E,SAAA,SAAAA,EAAE3E,WAAY,CAC/BqE,EAASQ,SAAWZ,EAAQa,G,KACzB,CACHT,EAASU,UAAYd,EAAQa,G,CAGjC,MAAME,EAAY5D,OAAAC,OAAAD,OAAAC,OAAA,GACXgD,GAAQ,CACXY,KAAMhB,EAAQgB,IAAM,EAAI,GAAGhB,EAAQgB,SAAW,GAC9C,yBACKhB,EAAQiB,SAAW,EAAI,UAAUjB,EAAQiB,iBAAmB,GACjE,sBACKjB,EAAQkB,SAAW,EAAI,UAAUlB,EAAQkB,iBAAmB,KAGrE,MAAMC,EACF/F,EAAA,OAAKuB,MAAOD,EAAU0E,MAAOL,GACxBV,GAIT,OAAOL,EAAQzB,QAAU4B,EACrB/E,EAAA,OAAKuB,MAAO,CAAE,uCAAwC,OAClDvB,EAAA,UAAK4E,EAAQzB,OACZ4C,GACC,CAId,EAACjB,GAAA,SAAAA,EAGG/D,EACA6D,G,QAEA,IAAIK,EAAU,GAEd,IAAIpE,EAAA+D,EAAQ9D,YAAQ,MAAAD,SAAA,SAAAA,EAAE5G,OAAQ,CAC1BgL,EAAUL,EAAQ9D,SAASvD,KAAK2H,GAC5B9J,EAAAJ,KAAIK,EAAA,IAAAyJ,GAAuB9G,KAA3BhD,KAA4B+F,EAAOmE,I,MAEpC,IAAIC,EAAAP,EAAQK,WAAO,MAAAE,SAAA,SAAAA,EAAElL,OAAQ,CAChCgL,EAAUL,EAAQK,QAAQ1H,KAAK6H,GAC3BhK,EAAAJ,KAAIK,EAAA,IAAA4K,IAAqBjI,KAAzBhD,KAA0B+F,EAAOqE,I,CAIzC,MAAMc,EAAQ,GAAGlM,EAAiB4K,EAAQuB,mBAC1C,MAAMhM,EAAS,GAAGD,EAAkB0K,EAAQwB,oBAC5C,MAAMC,EAAM,GAAGjM,EAAewK,EAAQ0B,iBACtC,MAAMC,EAAO,GAAGjM,EAAgBsK,EAAQ4B,oBAExC,MAAMb,EAAe,CACjBc,SAAU,WACVP,QACA,YAAaA,EACb,YAAaA,EACb/L,SACA,aAAcA,EACd,aAAcA,EACdkM,MACAE,OACAG,SAAU,QAGd,OAAO1G,EAAA,OAAKgG,MAAOL,GAAeV,EACtC,EAAChI,GAAA,SAAAA,EAGG8D,EACAD,GAEA,IAAK9F,KAAK2L,YAAa,CACnB3L,KAAK2L,YAAc7F,EAAS,GAAG7B,IAAM,G,CAGzC,MAAM2H,EAA4B9F,EAASvD,KAAI,CAACqH,EAASiC,KAAC,CACtDC,QAASlC,EAAQ3F,IAAM,GAAG4H,OAAS7L,KAAK2L,YACxC9E,MAAO+C,EAAQzB,MACfG,KAAMsB,EAAQtB,KACdrE,GAAI2F,EAAQ3F,IAAM,GAAG4H,QAGzB,MAAMd,EAAiBjF,EAASvD,KAAI,CAACqH,EAASiC,KAC1C,MAAME,EAAYnC,EAAQ3F,IAAM,GAAG4H,IACnC,OAAOzL,EAAAJ,KAAIK,EAAA,IAAAwJ,IAAe7G,KAAnBhD,KAAoB+F,EAAO6D,EAAS,KAAM,CAC7CoC,QAAShM,KAAK2L,cAAgBI,EAAY,OAAS,QACrD,IAGN,MAAME,EACF,6EAEJ,IAAK7L,EAAAJ,KAAIiB,EAAA,KAAYsB,KAAK2J,GAAMA,EAAE1J,QAAO2J,SAAS,oBAAqB,CACnE,MAAM3J,EAAQ,mBACd,MAAMC,EAAWiE,IACb1G,KAAK2L,YAAcjF,EAAEgC,OAAO0D,KAAKnI,EAAE,EAGvCjE,KAAK0C,YAAYmG,iBAAiBrG,EAAOC,GACzCrC,EAAAJ,KAAIiB,EAAA,KAAY6H,KAAK,CACjBtG,QACAC,W,CAIR,OACIuC,EAAA,OAAKuB,MAAO,CAAE,8BAA+B,OACzCvB,EAAA,eACI1C,KAAMsJ,EACNS,YAAaJ,IAEhBlB,EAGb,EAACV,GAAA,SAAAA,EAEYtE,EAAwBqE,GACjC,MAAMkC,EAAYvG,EAAMA,MAAM0C,MACzBzC,GAASA,EAAKE,OAAOM,OAAS4D,EAAMnG,KAGzC,MAAMsI,GACDnC,EAAMmC,QAAU,EACXnC,EAAMmC,WACHnC,EAAMmC,QAAU,OAASnC,EAAMoC,SAAW,GAC7C,EACA,KAEV,MAAMA,EAAWD,EAAU,QAAQA,IAAY,GAAGnC,EAAMoC,WAExD,MAAMC,GAAUrC,EAAMqC,OAAS,EAAI,GAAGrC,EAAMqC,SAAW,GAEvD,MAAMC,GACDtC,EAAMsC,QAAU,EACXtC,EAAMsC,WACHtC,EAAMsC,QAAU,OAAStC,EAAMuC,SAAW,GAC7C,EACA,KAEV,MAAMA,EAAWD,EAAU,QAAQA,IAAY,GAAGtC,EAAMuC,WAExD,MAAMC,GAAUxC,EAAMwC,OAAS,EAAI,GAAGxC,EAAMwC,SAAW,GAEvD,MAAM5C,EAAW,CACb,oBAAqBwC,EACrB,kBAAmBC,EACnB,iBAAkBE,EAClB,eAAgBC,GAGpB,IAAKN,IAAcA,EAAUtG,KAAM,CAC/B,M,CAGJ,OACIhB,EAAA,OAAKgG,MAAOhB,GACP5J,EAAAJ,KAAIK,EAAA,IAAA4F,GAAYjD,KAAhBhD,KAAiBsM,EAAUtG,KAAMD,EAAM1G,IAAKiN,EAAUpG,QAGnE,EAAC+E,GAAA,SAAAA,EAGGlF,EACAqE,GAEA,MAAMkC,EAAYvG,EAAMA,MAAM0C,MACzBzC,GAASA,EAAKE,OAAOM,OAAS4D,EAAMnG,KAEzC,IAAKqI,IAAcA,EAAUtG,KAAM,CAC/B,M,CAGJ,IAAI/G,EACJ,GAAIqN,EAAUtG,KAAK2B,OAASrG,EAAYH,KAAM,CAC1ClC,EAASmL,EAAMyC,eAAiB,EAAIzC,EAAMyC,eAAiB,C,KACxD,CACH5N,EAASmL,EAAMyC,c,CAGnB,MAAM3B,EAAQ,GAAGlM,EAAiBC,OAClC,MAAME,EAAS,GAAGD,EAAkB,OACpC,MAAMmM,EAAM,GAAGjM,EAAegL,EAAMkB,iBACpC,MAAMC,EAAO,GAAGjM,EAAgB8K,EAAMoB,oBAEtC,MAAMxB,EAAW,CACbyB,SAAU,WACVP,QACA,YAAaA,EACb,YAAaA,EACb/L,SACA,aAAcA,EACd,aAAcA,EACdkM,MACAE,OACAG,SAAU,QAGd,MAAM1F,EAAIe,OAAAC,OAAAD,OAAAC,OAAA,GACHsF,EAAUtG,MAAI,CACjB1D,KAAIyE,OAAAC,OAAAD,OAAAC,OAAA,GACGsF,EAAUtG,KAAK1D,MAAI,CACtB+J,aACKC,EAAUtG,KAAK1D,KAAK+J,aAAe,IACpC,kDAIZ,OACIrH,EAAA,OAAKgG,MAAOhB,GACP5J,EAAAJ,KAAIK,EAAA,IAAA4F,GAAYjD,KAAhBhD,KAAiBgG,EAAMD,EAAM1G,IAAKiN,EAAUpG,QAGzD,EAACnD,GAAA,SAAAA,EAEST,G,MACN,MAAMwK,IAAiBjH,EAAAvD,IAAI,MAAJA,SAAI,SAAJA,EAAMyK,QAAI,MAAAlH,SAAA,SAAAA,EAAE5G,QAC7BqD,EAAKyK,KAAKvE,QAAO,CAACsE,EAAgBzN,KAC9B,MAAM0G,EAAQzD,EAAK0K,QACdC,QAAQ/G,GAAWA,EAAOgH,UAC1B3K,KAAK2D,IACF,MAAMF,EAAO3D,gBAAgBhD,EAAI0G,MAAMG,EAAOM,OAC9C,MAAM2G,EAAanH,E,+BAENA,GAAI,CACP1D,KAAMlC,EAAAJ,KAAIK,EAAA,IAAA+M,IAAUpK,KAAdhD,KAAegG,EAAME,GAC3BmH,SAAUjN,EAAAJ,KAAIK,EAAA,IAAAiN,IAAUtK,KAAdhD,KAAegG,EAAME,GAC/B8C,WAAY,OAEhB,KACN,MAAO,CAAE9C,SAAQF,KAAMmH,EAAY,IAE3C,MAAO,IAAIL,EAAgB,CAAE/G,QAAO1G,OAAM,GAC3C,IACH,GAENyN,EAAevK,KAAI,EAAGwD,WAClBA,EAAMxD,KAAI,EAAGyD,OAAME,aACf,MAAMoD,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QACnCxD,EACAA,EAAK2B,OAET,MAAM4F,EAAiBnN,EAAAJ,KAAIkB,EAAA,KAAqBwG,IAAI4B,GACpD,IAAKiE,EAAgB,CACjB,M,CAGJ,MAAMC,EAAUxN,KAAK0C,YAAY4B,WAAWmJ,cACxC,GAAGF,QAAqBrH,EAAOM,SAEnCgH,IAAE,MAAFA,SAAE,SAAFA,EAAIE,SAAS1H,EAAKa,MAAM,MAIhC7G,KAAK8E,gBAAkBgI,CAC3B,EAACM,GAAA,SAAAA,EAESpH,EAAyBE,GAC/B,MAAMyH,EAAY5G,OAAAC,OAAAD,OAAAC,OAAA,GACX5G,EAAAJ,KAAIK,EAAA,IAAAuN,IAAS5K,KAAbhD,KAAcgG,EAAME,IAAO,CAC9B2H,UAAW7H,EAAK+B,SAChB9D,GAAIiC,EAAOM,OAEf,MAAM8C,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,O,MACpD9B,EAA2BG,EAAK1D,MAAQ,GAA7BwL,EAAWC,EAAAlI,EAAtB,UAEN,OAAOyD,IAAa1I,EAAWE,oBAC3BwI,IAAa1I,EAAWI,eACtBZ,EAAAJ,KAAIK,EAAA,IAAA2N,IAAkBhL,KAAtBhD,KAAuB2N,EAAY5G,OAAAC,OAAA,GAC5BhB,EAAK1D,O,+BAILqL,GACAG,EAEjB,EAACE,GAAA,SAAAA,EAEiBC,EAAuBC,GACrC,IAAK,MAAMtL,KAAOsL,EAAQ,CACtB,GACIA,EAAOtL,aAAgBmE,SACtBoH,MAAMC,QAAQF,EAAOtL,KACtBA,KAAOqL,EACT,CACEA,EAAOrL,GAAOxC,EAAAJ,KAAIK,EAAA,IAAA2N,GAAkBhL,KAAtBhD,KAAuBiO,EAAOrL,GAAMsL,EAAOtL,G,KACtD,CACHqL,EAAOrL,GAAOsL,EAAOtL,E,EAG7B,OAAOqL,CACX,EAAC/G,GAAA,SAAAA,IAGG,OAAOlH,KAAK8E,gBAAgB0D,QACxB,CAAClG,EAAM+L,KACH,MAAMC,EAAevH,OAAOwH,KAAKF,EAAKhP,IAAI0G,OAAOyC,QAC7C,CAACzC,EAAOnD,K,MACJ,MAAM4L,GAAY3I,EAAAwI,EAAKtI,MAAM0C,MACxBgG,GAAMA,EAAEvI,OAAOM,OAAS5D,OAC5B,MAAAiD,SAAA,SAAAA,EAAEG,KAEH,IAAIa,EAAa2H,IAAS,MAATA,SAAS,SAATA,EAAW3H,MAE5B,IAAI2H,IAAS,MAATA,SAAS,SAATA,EAAW7G,SAAUrG,EAAYO,MAAO,CACxCgF,EAAQ6H,KAAKC,UACTvO,EAAAJ,KAAIK,EAAA,IAAAuO,IAAqB5L,KAAzBhD,KACIwO,EAAUlM,KAAKA,KACfM,G,CAKZ,OAAAmE,OAAAC,OAAAD,OAAAC,OAAA,GACOjB,GAAK,CACRnD,CAACA,GAAGmE,OAAAC,OAAAD,OAAAC,OAAA,GACGqH,EAAKhP,IAAI0G,MAAMnD,IAAI,CACtBiE,QACAgI,IAAKL,IAAS,MAATA,SAAS,SAATA,EAAWK,OAAG,GAI/B,IAGJ,MAAO,CACH7B,QAAS,IACF1K,EAAK0K,WACLqB,EAAKtI,MAAMxD,KAAKyD,GAASA,EAAKE,UAErC6G,KAAM,IACCzK,EAAKyK,KACR,CACIhH,MAAOuI,EACP5I,OAAQ2I,EAAKhP,IAAIqG,SAG5B,GAEL,CACIsH,QAAS,GACTD,KAAM,IAGlB,EAACa,GAAA,SAAAA,EAEQ5H,EAAyBzG,GAC9B,IAAKyG,EAAM,CACP,OAAO,I,CAGX,MAAM8I,EAAU9I,EAAK8I,QACrB,MAAMC,EAAaxP,EAAI4I,MACvB,MAAM6G,EAAehJ,EAAKa,MAC1B,MAAMyC,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,MAAMsH,EAAiB,IAAI9O,IAA+B,CACtD,CAACS,EAAWC,aAAcT,EAAAJ,KAAIK,EAAA,IAAA6O,IAAmB3O,KAAKP,OACtD,CAACY,EAAWW,YAAanB,EAAAJ,KAAIK,EAAA,IAAA8O,IAAa5O,KAAKP,OAC/C,CAACY,EAAWwO,MAAOhP,EAAAJ,KAAIK,EAAA,IAAAgP,IAAa9O,KAAKP,OACzC,CAACY,EAAW0O,KAAMlP,EAAAJ,KAAIK,EAAA,IAAAkP,IAAahP,KAAKP,OACxC,CAACY,EAAW4O,SAAUpP,EAAAJ,KAAIK,EAAA,IAAAoP,IAAalP,KAAKP,OAC5C,CAACY,EAAW8O,aAActP,EAAAJ,KAAIK,EAAA,IAAAsP,IAAapP,KAAKP,OAChD,CAACY,EAAWG,SAAUX,EAAAJ,KAAIK,EAAA,IAAA6O,IAAmB3O,KAAKP,OAClD,CAACY,EAAWa,OAAQrB,EAAAJ,KAAIK,EAAA,IAAAuP,IAAarP,KAAKP,OAC1C,CAACY,EAAWE,mBAAoBV,EAAAJ,KAAIK,EAAA,IAAAkP,IAAahP,KAAKP,OACtD,CAACY,EAAWI,eAAgBZ,EAAAJ,KAAIK,EAAA,IAAAkP,IAAahP,KAAKP,OAClD,CAACY,EAAWiP,OAAQzP,EAAAJ,KAAIK,EAAA,IAAAyP,IAAgBvP,KAAKP,OAC7C,CAACY,EAAWO,KAAMf,EAAAJ,KAAIK,EAAA,IAAA0P,IAAcxP,KAAKP,OACzC,CAACY,EAAW6I,MAAOrJ,EAAAJ,KAAIK,EAAA,IAAA2P,IAAazP,KAAKP,OACzC,CAACY,EAAWqP,OAAQ7P,EAAAJ,KAAIK,EAAA,IAAA6P,IAAa3P,KAAKP,OAC1C,CAACY,EAAWuP,OAAQ/P,EAAAJ,KAAIK,EAAA,IAAA+P,IAAa7P,KAAKP,OAC1C,CAACY,EAAWiB,MAAOzB,EAAAJ,KAAIK,EAAA,IAAAgQ,IAAmB9P,KAAKP,OAC/C,CAACY,EAAWQ,KAAMhB,EAAAJ,KAAIK,EAAA,IAAAiQ,IAAc/P,KAAKP,SAG7C,MAAMuQ,EAAUtB,EAAevH,IAAI4B,GAEnC,OAAOiH,EACDA,EAAQzB,EAASC,EAAYC,EAAchJ,EAAMzG,EAAIiH,MACrD,IACV,EAAC8G,GAAA,SAAAA,EAEStH,EAAyBzG,GAC/B,MAAM+J,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,IAAK3B,EAAK+B,SAAU,CAChB,OAAO,I,CAGX,GAAIuB,IAAa1I,EAAW0O,KAAM,CAC9B,MAAO,CACHkB,aAAc,KACdlJ,MAAO/H,EAAI4I,MACX0F,UAAW7H,EAAK+B,SAChB9D,GAAI1E,EAAIiH,KACRiK,UAAW,M,CAInB,GACInH,IAAa1I,EAAWE,oBACxBwI,IAAa1I,EAAWI,eAC1B,CACE,OAAA+F,OAAAC,OAAAD,OAAAC,OAAA,GACO5G,EAAAJ,KAAIK,EAAA,IAAA6O,IAAkBlM,KAAtBhD,KACCgG,EAAK8I,QACLvP,EAAI4I,MACJ,KACAnC,EACAzG,EAAIiH,OACP,CACDkK,iBAAkB,KAClBnK,MAAO,GACPyE,MAAO,CAAEE,MAAO,QAChB2C,UAAW7H,EAAK+B,SAChB9D,GAAI1E,EAAIiH,M,CAIhB,OAAO,IACX,EAAC+I,GAAA,SAAAA,EAGGoB,EACAC,EACA5B,GAEA,OAAO6B,EAAW7B,EACtB,EAACK,GAAA,SAAAA,IAIG,MAAO,CACH/M,KAAM,CACFwO,MAAO,OACPC,YAAa,CACTlK,MAAO,SAEX5C,GAAI,eACJoE,OAAQ,eACR2I,MAAO,QAGnB,EAAC7B,GAAA,SAAAA,EAGGwB,EACAC,EACAK,EACAjL,EACA/B,G,YAEA+B,EAAK1D,KAAO0D,EAAK1D,MAAQ,GAEzB0D,EAAK1D,KAAK4O,QAAU,KAChBlL,EAAKmL,IACCnR,KAAKoR,yBAAyB,CAC1BD,IAAKnL,EAAKmL,IACV9I,OAAQpE,EACRoN,aAAcjR,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,QAElBA,KAAK4G,SAAS,CACVC,MAAO,CACHC,OAAMC,OAAAC,OAAA,GAAO5G,EAAAJ,KAAIU,EAAA,MACjBuG,MAAO7G,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,OAEXgG,KAAM/B,GACR,EAGZ,KAAI4B,EAAAG,EAAK1D,QAAI,MAAAuD,SAAA,SAAAA,EAAEyL,iBAAgBnH,EAAAnE,EAAK1D,QAAI,MAAA6H,SAAA,SAAAA,EAAE0D,UAAU,CAChDzN,EAAAJ,KAAIkC,EAAA,KAAe4G,MAAKyB,EAAAvE,EAAK1D,QAAI,MAAAiI,SAAA,SAAAA,EAAE+G,aACnClR,EAAAJ,KAAIF,EAAA,KAAa+C,YAAYc,UACzB2G,EAAAtE,EAAK1D,QAAI,MAAAgI,SAAA,SAAAA,EAAEgH,YACXtL,EAAK1D,KAAK4O,QAAQ3Q,KAAKP,M,CAI/B,OAAA+G,OAAAC,OAAA,CACIM,MAAOtB,EAAKa,MACZsK,IAAKnL,EAAKmL,KACPnL,EAAK1D,KAEhB,EAAC4M,GAAA,SAAAA,EAGGqC,EACAxC,EACAC,EACAhJ,EACA/B,GAEA,MAAMuN,EAAiBC,EAAiBzC,EAAcD,EAAY,IAElE,GAAI/I,EAAKmL,IAAK,CACV,MAAM7H,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,MAAM+J,EAAUtR,EAAAJ,KAAIW,EAAA,KAAa+G,IAAI4B,GAErC,IAAKoI,EAAS,CACV,M,CAGJA,EAAQnP,KAAKoP,IACT,MAAMlP,EACFiE,IAEAtG,EAAAJ,KAAIK,EAAA,IAAAuR,IAA8B5O,KAAlChD,KACI0G,EAAEgC,OACF1C,EAAKmL,IACLK,EACAvN,EACA+K,EACH,EAELhP,KAAK0C,YAAYmG,iBAAiB8I,EAAQlP,GAC1CrC,EAAAJ,KAAIiB,EAAA,KAAY6H,KAAK,CACjBtG,MAAOmP,EACPlP,WACF,G,MAEH,GAAI8O,EAAY,CACnBC,EAAelP,KAAK,YAAYA,KAC5BlC,EAAAJ,KAAIK,EAAA,IAAAwR,IAAyB7O,KAA7BhD,KAA8BuR,EAAYvC,E,CAGlD,OAAOwC,CACX,EAAC/B,GAAA,SAAAA,EAGGkB,EACA5B,EACAC,GAEA,OAAO8C,EAAW9C,EAAcD,EACpC,EAACY,GAAA,SAAAA,EAGGgB,EACA5B,EACAkC,GAEA,MAAO,CACH3O,KAAM,CACF,iBAAkB,CACdgF,MAAOyH,IAIvB,EAACa,GAAA,SAAAA,EAGGe,EACAC,EACA5B,GAEA,MAAO,CACH+C,aAAc/C,EAEtB,EAACkB,GAAA,SAAAA,EAGGS,EACA5B,EACAkC,GAEA,MAAO,CAAE3J,MAAOyH,EACpB,EAACiB,GAAA,SAAAA,EAGGlB,EACA8B,EACA5B,GAEA,OAAOgD,EAAWhD,EAAcF,EACpC,EAACsB,GAAA,SAAAA,EAGGO,EACA5B,EACAC,GAEA,OAAOiD,EAAWjD,EAAcD,EACpC,EAACgB,GAAA,SAAAA,EAGGY,EACA5B,EACAC,GAEA,MAAO,CACH1M,KAAM,CACF,iBAAkB,CACdgF,MAAOyH,IAGfgD,aAAc/C,EAEtB,EAACsB,GAAA,SAAAA,EAGGK,EACA5B,EACAkC,GAEA,MAAO,CACH3O,KAAM,CACF,iBAAkB,CACdgF,MAAOyH,IAIvB,EAACe,GAAA,SAAAA,EAGGa,EACA5B,EACAkC,GAEA,MAAO,CAAE3J,MAAOyH,EACpB,EAACsB,GAAA,SAAAA,EAGG6B,EACAtB,EACAuB,EACAnM,EACA/B,GAEA,IACI,IAAI3B,EAAOoM,KAAK0D,MAAMpM,EAAKa,OAE3B,IAAKvE,EAAM,CACPlC,EAAAJ,KAAIF,EAAA,KAAa0D,MAAM6O,WACnBrS,KACA,mBAAmBiE,UACnBqO,EAAiBC,SAErB,OAAO,I,CAGX,GAAKjQ,EAAakQ,OAAS,iBAAkB,CACzCpS,EAAAJ,KAAIF,EAAA,KAAa0D,MAAM6O,WACnBrS,KACA,6BAA6BiE,oDAC7BqO,EAAiBG,OAErB,OAAO,I,CAGX,MAAO,CACHnQ,KAAM,CACF0K,QAAS1K,EAAK0K,QAAQzK,KAAKhD,GAAGwH,OAAAC,OAAAD,OAAAC,OAAA,GACvBzH,GAAG,CACNsP,IAAKvM,EAAKyK,KAAK,GAAGhH,MAAMxG,EAAIiH,MAAMqI,QAEtC9B,KAAMzK,EAAKyK,KAAKxK,KAAKlD,GAAG0H,OAAAC,OAAAD,OAAAC,OAAA,GACjB3H,GAAG,CACN0G,MAAOgB,OAAOwH,KAAKlP,EAAI0G,OAAOyC,QAAO,CAACxC,EAAMpD,KACxC,MAAMsD,EAAS5D,EAAK0K,QAAQvE,MACvBlJ,GAAQA,EAAIiH,OAAS5D,IAE1B,OAAAmE,OAAAC,OAAAD,OAAAC,OAAA,GACOhB,GAAI,CACPpD,CAACA,GAAGmE,OAAAC,OAAAD,OAAAC,OAAA,GACG3H,EAAI0G,MAAMnD,IAAI,CACjBN,KAAIyE,OAAAC,OAAAD,OAAAC,OAAA,GACG5G,EAAAJ,KAAIK,EAAA,IAAAuN,IAAS5K,KAAbhD,KACCX,EAAI0G,MAAMnD,GACVsD,IACH,CACD2H,SACIxO,EAAI0G,MAAMnD,GAAKmF,WAAa,MAChC9D,GAAIiC,EAAOjC,QAAE,GAI1B,S,CAIjB,MAAOyC,GACLtG,EAAAJ,KAAIF,EAAA,KAAa0D,MAAM6O,WACnBrS,KACA,qBAAqBiE,2CACrBqO,EAAiBG,OAErB,OAAO,I,CAEf,EAAC7D,GAAA,SAAAA,EAGG8D,EACArK,GAEA,MAAMsK,EAAO5L,OAAAC,OAAAD,OAAAC,OAAA,GACN0L,GAAU,CACb3F,KAAM2F,EAAW3F,KAAKxK,KAAKlD,GAAG0H,OAAAC,OAAAD,OAAAC,OAAA,GAAW3H,GAAG,CAAE0G,MAAO,SAGzD,MAAM6M,EAAiBF,EAAW1F,QAC7BC,QAAQ1N,GAAQA,EAAIyJ,aACpBzG,KAAKhD,GAAQA,EAAIiH,OAEtB,IAAKoM,EAAe3T,OAAQ,CACxB,OAAO0T,C,CAGX,IACI,MAAME,EAAmBnE,KAAK0D,MAC1BhS,EAAAJ,KAAIU,EAAA,KAAeqM,KAAK,GAAGhH,MAAMsC,GAAQxB,OAG7C8L,EAAQ5F,KAAO2F,EAAW3F,KAAKxK,KAAI,CAAClD,EAAKwM,IACrC+G,EAAepK,QACX,CAACsK,EAAYC,KACT,MAAMC,EACFH,EAAiB9F,KAAKlB,GAAG9F,MAAMgN,IAC/B1T,EAAI0G,MAAMgN,GAAOlM,QACbgM,EAAiB9F,KAAKlB,GAAG9F,MAAMgN,GAAOlM,MAE9C,GAAImM,EAAS,CACT,OAAAjM,OAAAC,OAAAD,OAAAC,OAAA,GACO6L,EAAiB9F,KAAKlB,IAAE,CAC3B9F,MAAKgB,OAAAC,OAAAD,OAAAC,OAAA,GACE8L,EAAW/M,OAAK,CACnBgN,CAACA,GAAKhM,OAAAC,OAAAD,OAAAC,OAAA,GACC6L,EAAiB9F,KAAKlB,GAAG9F,MACxBgN,IACH,CACDlM,MAAOxH,EAAI0G,MAAMgN,GAAOlM,W,CAMxC,OAAAE,OAAAC,OAAAD,OAAAC,OAAA,GACO6L,EAAiB9F,KAAKlB,IAAE,CAC3B9F,MAAO+M,EAAW/M,OAAK,GAE9BgB,OAAAC,OAAAD,OAAAC,OAAA,GACI6L,EAAiB9F,KAAKlB,IAAE,CAAE9F,MAAO,QAI9C,OAAO4M,C,CACT,MAAOjM,GACL,OAAOiM,C,CAEf,EAACd,GAAA,SAAAA,EAEwB/C,EAAcE,GACnC,MAAMuB,EAAUnQ,EAAAJ,KAAIE,EAAA,KAAoBwH,IAAIoH,EAAQ0D,MAEpD,GAAIjC,EAAS,CACT,OAAOA,EAAQzB,EAASE,E,KACrB,CACH,OAAOF,EAAQvM,KAAK0Q,IAAM,CACtBpM,MAAOoM,EAAO3L,MACdrD,GAAIgP,EAAOhP,GACXiP,SAAUlE,IAAiBiE,EAAOhP,M,CAG9C,EAAC3D,GAAA,SAAAA,EAGGwO,EACAE,GAEA,OAAOF,EAAQqE,SAAS5Q,KAAK6Q,I,MAAU,OACnCnP,GAAImP,EAAMnJ,QAAQoJ,OAClBxM,MAAOuM,EAAMnJ,QAAQqJ,MACrBJ,SAAUlE,IAAiBoE,EAAMnJ,QAAQoJ,OACzCF,WAAUtN,EAAAuN,EAAMD,YAAQ,MAAAtN,SAAA,SAAAA,EAAE5G,QACpBmB,EAAAJ,KAAIK,EAAA,IAAAC,GAAwB0C,KAA5BhD,KAA6BoT,EAAOpE,GACpC,GACT,GACL,EAACxO,GAAA,SAAAA,EAGGsO,EACAE,GAEA,OAAOF,EAAQqE,SAAS5Q,KAAK6Q,I,MAAU,OACnCnP,GAAImP,EAAMvE,IAAI0E,EACd1M,MAAOuM,EAAMvM,MACbqM,SAAUlE,IAAiBoE,EAAMvE,IAAI0E,EACrCJ,WAAUtN,EAAAuN,EAAMD,YAAQ,MAAAtN,SAAA,SAAAA,EAAE5G,QACpBmB,EAAAJ,KAAIK,EAAA,IAAAG,GAAgCwC,KAApChD,KAAqCoT,EAAOpE,GAC5C,GACT,GACL,EAACvO,GAAA,SAAAA,EAEoBqO,EAAcE,GAC/B,OAAOF,EAAQ/B,KAAKxK,KAAKlD,I,MACrB,MAAM0G,EAAQ1G,EAAImU,QAAUnU,EAAI0G,MAChC,MAAO9B,EAAI4C,GAASE,OAAOwH,KAAKxI,GAEhC,MAAO,CACH9B,GAAI8B,EAAM9B,GAAI4C,MACdA,QAAOhB,EAAAE,EAAMc,MAAM,MAAAhB,SAAA,SAAAA,EAAEgB,QAASd,EAAM9B,GAAI4C,MACxCqM,SAAUlE,IAAiBjJ,EAAM9B,GAAI4C,MACxC,GAET,EAAC+K,GAAA,SAAAA,EAGGlJ,EACAyI,EACA7O,EACA2B,EACA+K,GAEA,GACItG,EAAOzE,KAAOA,GACbyE,EAA4C+K,OAAS,MACxD,CACE,M,CAEJzT,KAAK0T,eACDvC,EACAzI,EAAOiL,WACPvT,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,MACA0I,EAAOzE,IACT2P,MAAM9E,I,MACJxM,EAAKA,KAAK,YAAYA,MAClBuD,EAAAzF,EAAAJ,KAAIK,EAAA,IAAAwR,IAAyB7O,KAA7BhD,KAA8B8O,EAASE,MAAa,MAAAnJ,SAAA,EAAAA,EAAI,GAC5D6C,EAAO1E,KAAKb,SAAS,GAE7B,E","ignoreList":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|