@sme.up/ketchup 11.0.0-SNAPSHOT-20241125085638 → 11.0.0-SNAPSHOT-20241125095251

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/cjs/ketchup.cjs.js +1 -1
  2. package/dist/cjs/kup-autocomplete_28.cjs.entry.js +38 -38
  3. package/dist/cjs/kup-custom-task-list-header_4.cjs.entry.js +7 -7
  4. package/dist/cjs/kup-gantt_10.cjs.entry.js +23 -23
  5. package/dist/cjs/kup-input-panel.cjs.entry.js +18 -6
  6. package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
  7. package/dist/cjs/kup-lazy.cjs.entry.js +11 -11
  8. package/dist/cjs/kup-magic-box.cjs.entry.js +3 -3
  9. package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
  10. package/dist/cjs/kup-numeric-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
  12. package/dist/cjs/kup-photo-frame.cjs.entry.js +2 -2
  13. package/dist/cjs/kup-planner-renderer.cjs.entry.js +2 -2
  14. package/dist/cjs/kup-planner.cjs.entry.js +1 -1
  15. package/dist/cjs/kup-probe.cjs.entry.js +1 -1
  16. package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
  17. package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
  18. package/dist/cjs/kup-txt.cjs.entry.js +1 -1
  19. package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
  20. package/dist/cjs/kup-typography.cjs.entry.js +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/collection/collection-manifest.json +2 -2
  23. package/dist/collection/components/kup-input-panel/kup-input-panel-declarations.js +1 -0
  24. package/dist/collection/components/kup-input-panel/kup-input-panel-declarations.js.map +1 -1
  25. package/dist/collection/components/kup-input-panel/kup-input-panel.css +19 -0
  26. package/dist/collection/components/kup-input-panel/kup-input-panel.js +36 -5
  27. package/dist/collection/components/kup-input-panel/kup-input-panel.js.map +1 -1
  28. package/dist/collection/components/kup-lazy/kup-lazy.js +11 -11
  29. package/dist/collection/components/kup-magic-box/kup-magic-box.js +3 -3
  30. package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +1 -1
  31. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker.js +1 -1
  32. package/dist/collection/components/kup-pdf/kup-pdf.js +1 -1
  33. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +2 -2
  34. package/dist/collection/components/kup-planner/kup-planner.js +1 -1
  35. package/dist/collection/components/kup-planner/utils/custom-task-list-header.js +2 -2
  36. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.js +2 -2
  37. package/dist/collection/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.js +2 -2
  38. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.js +3 -3
  39. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.js +5 -5
  40. package/dist/collection/components/kup-planner/utils/kup-planner-renderer.js +2 -2
  41. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.js +1 -1
  42. package/dist/collection/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.js +2 -2
  43. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-header.js +7 -7
  44. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-table.js +1 -1
  45. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.js +1 -1
  46. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-standard-tooltip.js +1 -1
  47. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-tooltip.js +1 -1
  48. package/dist/collection/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.js +2 -2
  49. package/dist/collection/components/kup-probe/kup-probe.js +1 -1
  50. package/dist/collection/components/kup-progress-bar/kup-progress-bar.js +1 -1
  51. package/dist/collection/components/kup-qlik/kup-qlik.js +1 -1
  52. package/dist/collection/components/kup-rating/kup-rating.js +1 -1
  53. package/dist/collection/components/kup-snackbar/kup-snackbar.js +1 -1
  54. package/dist/collection/components/kup-spinner/kup-spinner.js +34 -34
  55. package/dist/collection/components/kup-switch/kup-switch.js +1 -1
  56. package/dist/collection/components/kup-time-picker/kup-time-picker.js +1 -1
  57. package/dist/collection/components/kup-txt/kup-txt.js +1 -1
  58. package/dist/collection/components/kup-typography/kup-typography.js +1 -1
  59. package/dist/collection/components/kup-typography-list/kup-typography-list.js +1 -1
  60. package/dist/components/custom-task-list-header.js +2 -2
  61. package/dist/components/kup-autocomplete2.js +38 -38
  62. package/dist/components/kup-gantt-calendar2.js +2 -2
  63. package/dist/components/kup-gantt2.js +2 -2
  64. package/dist/components/kup-grid-renderer2.js +3 -3
  65. package/dist/components/kup-horizontal-scroll2.js +5 -5
  66. package/dist/components/kup-input-panel.js +19 -6
  67. package/dist/components/kup-input-panel.js.map +1 -1
  68. package/dist/components/kup-lazy.js +11 -11
  69. package/dist/components/kup-magic-box.js +3 -3
  70. package/dist/components/kup-nav-bar.js +1 -1
  71. package/dist/components/kup-numeric-picker.js +1 -1
  72. package/dist/components/kup-pdf.js +1 -1
  73. package/dist/components/kup-photo-frame.js +2 -2
  74. package/dist/components/kup-planner-renderer2.js +2 -2
  75. package/dist/components/kup-planner.js +1 -1
  76. package/dist/components/kup-probe.js +1 -1
  77. package/dist/components/kup-qlik.js +1 -1
  78. package/dist/components/kup-snackbar.js +1 -1
  79. package/dist/components/kup-standard-tooltip2.js +1 -1
  80. package/dist/components/kup-switcher2.js +1 -1
  81. package/dist/components/kup-task-gantt2.js +2 -2
  82. package/dist/components/kup-task-list-header2.js +7 -7
  83. package/dist/components/kup-task-list-table2.js +1 -1
  84. package/dist/components/kup-task-list2.js +1 -1
  85. package/dist/components/kup-tooltip2.js +1 -1
  86. package/dist/components/kup-txt.js +1 -1
  87. package/dist/components/kup-typography-list.js +1 -1
  88. package/dist/components/kup-typography.js +1 -1
  89. package/dist/components/kup-vertical-scroll2.js +2 -2
  90. package/dist/esm/ketchup.js +1 -1
  91. package/dist/esm/kup-autocomplete_28.entry.js +38 -38
  92. package/dist/esm/kup-custom-task-list-header_4.entry.js +7 -7
  93. package/dist/esm/kup-gantt_10.entry.js +23 -23
  94. package/dist/esm/kup-input-panel.entry.js +18 -6
  95. package/dist/esm/kup-input-panel.entry.js.map +1 -1
  96. package/dist/esm/kup-lazy.entry.js +11 -11
  97. package/dist/esm/kup-magic-box.entry.js +3 -3
  98. package/dist/esm/kup-nav-bar.entry.js +1 -1
  99. package/dist/esm/kup-numeric-picker.entry.js +1 -1
  100. package/dist/esm/kup-pdf.entry.js +1 -1
  101. package/dist/esm/kup-photo-frame.entry.js +2 -2
  102. package/dist/esm/kup-planner-renderer.entry.js +2 -2
  103. package/dist/esm/kup-planner.entry.js +1 -1
  104. package/dist/esm/kup-probe.entry.js +1 -1
  105. package/dist/esm/kup-qlik.entry.js +1 -1
  106. package/dist/esm/kup-snackbar.entry.js +1 -1
  107. package/dist/esm/kup-txt.entry.js +1 -1
  108. package/dist/esm/kup-typography-list.entry.js +1 -1
  109. package/dist/esm/kup-typography.entry.js +1 -1
  110. package/dist/esm/loader.js +1 -1
  111. package/dist/ketchup/ketchup.esm.js +1 -1
  112. package/dist/ketchup/ketchup.esm.js.map +1 -1
  113. package/dist/ketchup/{p-fc4885fa.entry.js → p-035fe1f8.entry.js} +2 -2
  114. package/dist/ketchup/{p-41144398.entry.js → p-0589de19.entry.js} +2 -2
  115. package/dist/ketchup/{p-ba9e8615.entry.js → p-061f9095.entry.js} +2 -2
  116. package/dist/ketchup/{p-8f7b7f5a.entry.js → p-119de8fb.entry.js} +2 -2
  117. package/dist/ketchup/{p-a2790755.entry.js → p-17cf83c5.entry.js} +2 -2
  118. package/dist/ketchup/{p-5e80c5b1.entry.js → p-26efe39b.entry.js} +2 -2
  119. package/dist/ketchup/{p-a6d83c83.entry.js → p-94099e24.entry.js} +3 -3
  120. package/dist/ketchup/{p-707babd4.entry.js → p-9d894c7c.entry.js} +2 -2
  121. package/dist/ketchup/{p-71034261.entry.js → p-9fa6808d.entry.js} +2 -2
  122. package/dist/ketchup/{p-1b0a93c3.entry.js → p-ae257375.entry.js} +2 -2
  123. package/dist/ketchup/p-b3d9beb7.entry.js +2 -0
  124. package/dist/ketchup/p-b3d9beb7.entry.js.map +1 -0
  125. package/dist/ketchup/{p-28a543b4.entry.js → p-b5fa88c3.entry.js} +2 -2
  126. package/dist/ketchup/{p-cd882c02.entry.js → p-bc5d76c8.entry.js} +2 -2
  127. package/dist/ketchup/{p-6dcf746d.entry.js → p-be1bda43.entry.js} +2 -2
  128. package/dist/ketchup/p-c505f058.entry.js +2 -0
  129. package/dist/ketchup/{p-878030b5.entry.js.map → p-c505f058.entry.js.map} +1 -1
  130. package/dist/ketchup/{p-4e9910f8.entry.js → p-e2b6e9f0.entry.js} +2 -2
  131. package/dist/ketchup/{p-f975d467.entry.js → p-edaf0cb8.entry.js} +2 -2
  132. package/dist/ketchup/{p-d837fe90.entry.js → p-f60a8564.entry.js} +2 -2
  133. package/dist/types/components/kup-input-panel/kup-input-panel-declarations.d.ts +2 -1
  134. package/dist/types/components/kup-input-panel/kup-input-panel.d.ts +5 -0
  135. package/dist/types/components.d.ts +10 -0
  136. package/package.json +1 -1
  137. package/dist/ketchup/p-02f7124b.entry.js +0 -2
  138. package/dist/ketchup/p-02f7124b.entry.js.map +0 -1
  139. package/dist/ketchup/p-878030b5.entry.js +0 -2
  140. /package/dist/ketchup/{p-fc4885fa.entry.js.map → p-035fe1f8.entry.js.map} +0 -0
  141. /package/dist/ketchup/{p-41144398.entry.js.map → p-0589de19.entry.js.map} +0 -0
  142. /package/dist/ketchup/{p-ba9e8615.entry.js.map → p-061f9095.entry.js.map} +0 -0
  143. /package/dist/ketchup/{p-8f7b7f5a.entry.js.map → p-119de8fb.entry.js.map} +0 -0
  144. /package/dist/ketchup/{p-a2790755.entry.js.map → p-17cf83c5.entry.js.map} +0 -0
  145. /package/dist/ketchup/{p-5e80c5b1.entry.js.map → p-26efe39b.entry.js.map} +0 -0
  146. /package/dist/ketchup/{p-a6d83c83.entry.js.map → p-94099e24.entry.js.map} +0 -0
  147. /package/dist/ketchup/{p-707babd4.entry.js.map → p-9d894c7c.entry.js.map} +0 -0
  148. /package/dist/ketchup/{p-71034261.entry.js.map → p-9fa6808d.entry.js.map} +0 -0
  149. /package/dist/ketchup/{p-1b0a93c3.entry.js.map → p-ae257375.entry.js.map} +0 -0
  150. /package/dist/ketchup/{p-28a543b4.entry.js.map → p-b5fa88c3.entry.js.map} +0 -0
  151. /package/dist/ketchup/{p-cd882c02.entry.js.map → p-bc5d76c8.entry.js.map} +0 -0
  152. /package/dist/ketchup/{p-6dcf746d.entry.js.map → p-be1bda43.entry.js.map} +0 -0
  153. /package/dist/ketchup/{p-4e9910f8.entry.js.map → p-e2b6e9f0.entry.js.map} +0 -0
  154. /package/dist/ketchup/{p-f975d467.entry.js.map → p-edaf0cb8.entry.js.map} +0 -0
  155. /package/dist/ketchup/{p-d837fe90.entry.js.map → p-f60a8564.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"kup-input-panel.js","sourceRoot":"","sources":["../../../src/components/kup-input-panel/kup-input-panel.tsx"],"names":[],"mappings":"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","sourcesContent":["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 KupDataColumn,\n KupDataTableDataset,\n KupDataTableRow,\n KupDropdownButtonEventPayload,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport { FTypographyType } from '../../f-components/f-typography/f-typography-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupComponentSizing,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n getColumnByName,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelCheckValidObjCallback,\n InputPanelCheckValidValueCallback,\n InputPanelOptionsHandler,\n KupInputPanelCell,\n KupInputPanelClickEventPayload,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelEventHandlerDetails,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n ROW_HEIGHT,\n} from './kup-input-panel-utils';\nimport { FTypography } from '../../f-components/f-typography/f-typography';\nimport { KupTypographyList } from '../kup-typography-list/kup-typography-list';\nimport { KupPointerEventTypes } from '../../managers/kup-interact/kup-interact-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n@Component({\n tag: 'kup-input-panel',\n styleUrl: 'kup-input-panel.scss',\n shadow: true,\n})\nexport class KupInputPanel {\n /**\n * References the root HTML element of the component (<kup-form>).\n */\n @Element() rootElement: HTMLElement;\n\n //#region PROPS\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n\n /**\n * Actual data of the form.\n * @default null\n */\n @Prop() data: KupInputPanelData = null;\n\n /**\n * Creates a hidden submit button in order to submit the form with enter.\n * @default false\n */\n @Prop() hiddenSubmitButton: boolean = false;\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidObjCallback?: InputPanelCheckValidObjCallback = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidValueCallback?: InputPanelCheckValidValueCallback = null;\n //#endregion\n\n /**\n * Sets verical layout if dashboardMode is true\n * @default false\n */\n @Prop() dashboardMode: boolean = false;\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCommands: VNode[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #formRef: HTMLFormElement;\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick', 'kup-combobox-blur']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n\n #eventBlurNames = new Map<FCellShapes, string>([\n [FCellShapes.AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.CHIP, 'kup-textfield-blur'],\n [FCellShapes.COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.DATE, 'kup-datepicker-blur'],\n [FCellShapes.MULTI_AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.MULTI_COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.TIME, 'kup-timepicker-blur'],\n ]);\n\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n if (this.data) {\n this.#mapCells(this.data);\n }\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\n /**\n * Generic right click event on input panel.\n */\n @Event({\n eventName: 'kup-inputpanel-contextmenu',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupDataTableContextMenu: EventEmitter<KupInputPanelClickEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #getCell(id: string) {\n return this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(({ column }) => column.name === id).cell;\n }\n return cell;\n }, null);\n }\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\n const styleObj: GenericObject = {};\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n if (layout.absolute) {\n rowContent = this.#renderAbsoluteLayout(inputPanelCell, layout);\n const maxAbsoluteRow = Math.max(\n ...layout.sections.flatMap((sec) =>\n sec.content.map((cont) => cont.absoluteRow || 0)\n )\n );\n styleObj.height = `${maxAbsoluteRow * ROW_HEIGHT}px`;\n } else {\n if (!layout.sectionsType) {\n const hasDim = layout.sections.some((sec) => sec.dim);\n styleObj.display = 'grid';\n\n if (layout.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n } else {\n if (this.dashboardMode) {\n styleObj.gridTemplateRows = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n }\n }\n }\n\n rowContent = this.#renderGridLayout(inputPanelCell, layout);\n }\n }\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n };\n\n // We create a form for each row in data\n return (\n <form\n name={this.rootElement.id}\n id={this.rootElement.id}\n class={{ 'input-panel-form': true }}\n ref={(el: HTMLFormElement) => (this.#formRef = el)}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n onContextMenu={(e: MouseEvent) => {\n e.preventDefault();\n }}\n >\n <div class={classObj} style={styleObj}>\n {rowContent}\n </div>\n <div class=\"input-panel__commands\">\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n invisible={this.hiddenSubmitButton}\n ></FButton>\n {this.inputPanelCommands}\n </div>\n </form>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderDropDownButton(cell: KupDataCell, data: GenericObject) {\n return (\n <kup-dropdown-button\n {...cell.data}\n label={cell.value}\n data={data}\n onkup-dropdownbutton-itemclick={(\n e: CustomEvent<KupDropdownButtonEventPayload>\n ) => {\n this.#getFunctionOnClickBTN(\n e.detail.node,\n e.detail.node.id\n );\n }}\n ></kup-dropdown-button>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section)\n );\n }\n\n #renderAbsoluteLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n return layout.sections.map((section) =>\n this.#renderAbsoluteSection(inputPanelCell, section)\n );\n }\n\n #renderSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection,\n customLabelRender: boolean = false,\n styleObj: GenericObject = {}\n ) {\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n styleObj.gap = +section.gap > 0 ? `${section.gap}rem` : '1rem';\n\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n\n const hasDim = section.sections.some((sec) => sec.dim);\n\n if (!section.gridCols && section.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n\n if (\n !section.gridRows &&\n !section.horizontal &&\n this.dashboardMode\n ) {\n styleObj.gridTemplateRows = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n styleObj.gridTemplateColumns =\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '';\n if (this.dashboardMode) {\n styleObj.gridTemplateRows =\n +section.gridRows > 0\n ? `repeat(${section.gridRows}, 1fr)`\n : '';\n }\n }\n\n const sectionContent = (\n <div class={classObj} style={styleObj}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <FTypography\n type={FTypographyType.HEADING1}\n value={section.title}\n ></FTypography>\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 //If width is not specified the div in the return at the end can be removed\n if (getAbsoluteWidth(section.absoluteWidth) == null) {\n return content;\n }\n\n const width = `${\n getAbsoluteWidth(section.absoluteWidth) != null\n ? `${getAbsoluteWidth(section.absoluteWidth)}px`\n : '100%'\n }`;\n const height = `${\n getAbsoluteHeight(section.absoluteHeight) != null\n ? `${getAbsoluteHeight(section.absoluteHeight)}px`\n : '100%'\n }`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'relative',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #extractContentIds(node: KupInputPanelLayoutSection) {\n let ids: string[] = [];\n\n if (node.content?.length) {\n node.content.forEach((item) => {\n if (item.id) {\n ids.push(item.id);\n }\n });\n }\n\n if (node.sections?.length) {\n node.sections.forEach((section) => {\n ids = ids.concat(this.#extractContentIds(section));\n });\n }\n\n return ids;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => {\n const cellIdsInSection = this.#extractContentIds(section);\n\n const hasError = cells.cells.some((cellData) => {\n const cell = cellData.cell;\n const column = cellData.column;\n return (\n cellIdsInSection.includes(column.name) && !!cell.data?.error\n );\n });\n\n return {\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: hasError ? 'error' : section.icon,\n id: section.id || `${i}`,\n danger: hasError,\n };\n });\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'min-width': '0',\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n fieldCell.cell.data = {\n ...fieldCell.cell.data,\n sizing: 'extra-small',\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCommands() {\n this.inputPanelCommands = this.data.setup.commands\n .map((commandObj) => {\n if (commandObj?.children && commandObj?.children.length > 0) {\n const data = {\n 'kup-list': {\n showIcons: true,\n data: commandObj.children.map((c) =>\n this.#commandAdapter(c)\n ),\n },\n };\n return this.#renderDropDownButton(commandObj, data);\n } else {\n const buttonCell = this.#commandAdapter(commandObj);\n return this.#renderButton(buttonCell, commandObj.value);\n }\n })\n .flat();\n }\n\n #mapCells(data: KupInputPanelData) {\n if (data.setup?.commands?.length) {\n this.#mapCommands();\n }\n\n const layout = data?.rows[0]?.layout;\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setData(cell, column, layout),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name.replace(\n /\\//g,\n '\\\\$1'\n )}]`\n );\n\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setData(\n cell: KupInputPanelCell,\n column: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n const defaultProps = {\n ...this.#mapData(cell, column, layout),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(\n cell: KupInputPanelCell,\n col: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n let fieldLabel: string;\n if (layout?.absolute) {\n fieldLabel = null;\n } else {\n fieldLabel = col.title;\n }\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.OBJECT, this.#ObjectAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n this.#getFunctionOnClickBTN(cell, id);\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = CHKAdapter(currentValue, fieldLabel);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = RADAdapter(currentValue, options);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #ObjectAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #commandAdapter(cell: KupDataCell): KupDataCell {\n const buttonCell = {\n ...cell,\n data: this.#BTNAdapter(null, null, cell.value, cell, cell.obj.k),\n id: cell.obj.k,\n };\n return buttonCell;\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n async #checkOnBlurProp(cell: KupInputPanelCell, id: string) {\n const currCell = this.#getCell(id);\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!currCell.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && currCell.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n if (valid) {\n this.#setCellError(id, null);\n } else {\n this.#setCellError(\n id,\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n return;\n }\n }\n\n if (cell.inputSettings?.checkValueOnExit && this.#areValuesUpdated()) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n }\n\n #checkOnBlurEvent(cell: KupInputPanelCell, id: string) {\n const evName = this.#eventBlurNames.get(cell.shape);\n if (!evName) {\n return;\n }\n\n const handler = async (e: CustomEvent<KupAutocompleteEventPayload>) => {\n const currCell = this.#getCell(id);\n\n if (e.detail.id !== id) {\n return;\n }\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!e.detail.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && e.detail.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n\n this.#setCellError(\n id,\n valid\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n if (!valid) {\n return;\n }\n }\n\n if (\n cell.inputSettings?.checkValueOnExit &&\n this.#areValuesUpdated()\n ) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n }\n\n #setCellError(id: string, error: string) {\n this.inputPanelCells = this.inputPanelCells.map((cell) => ({\n ...cell,\n cells: cell.cells.map(({ cell, column }) => {\n const data =\n column.name === id\n ? {\n ...cell.data,\n error,\n }\n : cell.data;\n return {\n column,\n cell: {\n ...cell,\n data,\n },\n };\n }),\n }));\n }\n\n #areValuesUpdated() {\n return this.inputPanelCells.some(({ cells, row }) =>\n cells.some(\n ({ cell, column: { name } }) =>\n cell.value !== row.cells[name].value\n )\n );\n }\n\n #getFunctionOnClickBTN(cell: KupInputPanelCell, id: string) {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n }\n\n #getEventDetails(\n path: HTMLElement[],\n originalEvent: PointerEvent\n ): KupInputPanelEventHandlerDetails {\n const fcell = path.find((p) => p.classList?.contains('f-cell'));\n if (fcell == null) {\n return;\n }\n\n const props = fcell['kup-get-cell-props']();\n const columnName = props.column.name;\n\n let anchor = fcell;\n let cell = this.data.rows[0].cells[columnName];\n let column = this.data.columns.find((c) => c.name == columnName);\n\n return {\n anchor,\n cell,\n column,\n originalEvent,\n };\n }\n\n #contextMenuHandler(e: PointerEvent): KupInputPanelEventHandlerDetails {\n const eventPath = this.#kupManager.getEventPath(\n e.target,\n this.rootElement\n );\n\n return this.#getEventDetails(eventPath, e);\n }\n\n #didLoadInteractables() {\n this.#kupManager.interact.managedElements.add(this.#formRef);\n\n const tapCb = (e: PointerEvent) => {\n if (e.button == 2) {\n const details = this.#contextMenuHandler(e);\n\n if (details) {\n this.kupDataTableContextMenu.emit({\n comp: this,\n id: this.rootElement.id,\n details,\n });\n }\n }\n };\n\n this.#kupManager.interact.on(\n this.#formRef,\n KupPointerEventTypes.TAP,\n tapCb\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.#didLoadInteractables();\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"]}
1
+ {"version":3,"file":"kup-input-panel.js","sourceRoot":"","sources":["../../../src/components/kup-input-panel/kup-input-panel.tsx"],"names":[],"mappings":"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","sourcesContent":["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 KupDataColumn,\n KupDataTableDataset,\n KupDataTableRow,\n KupDropdownButtonEventPayload,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport { FTypographyType } from '../../f-components/f-typography/f-typography-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupComponentSizing,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n getColumnByName,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelCheckValidObjCallback,\n InputPanelCheckValidValueCallback,\n InputPanelOptionsHandler,\n KupInputPanelCell,\n KupInputPanelClickEventPayload,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelEventHandlerDetails,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n ROW_HEIGHT,\n} from './kup-input-panel-utils';\nimport { FTypography } from '../../f-components/f-typography/f-typography';\nimport { KupPointerEventTypes } from '../../managers/kup-interact/kup-interact-declarations';\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 * Select the position of the buttons related to the input panel\n * @default \"BOTTOM\"\n */\n @Prop() buttonPosition: 'CENTER' | 'LEFT' | 'BOTTOM' | 'RIGHT' | 'TOP';\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidObjCallback?: InputPanelCheckValidObjCallback = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidValueCallback?: InputPanelCheckValidValueCallback = null;\n //#endregion\n\n /**\n * Sets verical layout if dashboardMode is true\n * @default false\n */\n @Prop() dashboardMode: boolean = false;\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCommands: VNode[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #formRef: HTMLFormElement;\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick', 'kup-combobox-blur']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n\n #eventBlurNames = new Map<FCellShapes, string>([\n [FCellShapes.AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.CHIP, 'kup-textfield-blur'],\n [FCellShapes.COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.DATE, 'kup-datepicker-blur'],\n [FCellShapes.MULTI_AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.MULTI_COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.TIME, 'kup-timepicker-blur'],\n ]);\n\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n if (this.data) {\n this.#mapCells(this.data);\n }\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\n /**\n * Generic right click event on input panel.\n */\n @Event({\n eventName: 'kup-inputpanel-contextmenu',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupDataTableContextMenu: EventEmitter<KupInputPanelClickEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #getCell(id: string) {\n return this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(({ column }) => column.name === id).cell;\n }\n return cell;\n }, null);\n }\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\n const styleObj: GenericObject = {};\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n if (layout.absolute) {\n rowContent = this.#renderAbsoluteLayout(inputPanelCell, layout);\n const maxAbsoluteRow = Math.max(\n ...layout.sections.flatMap((sec) =>\n sec.content.map((cont) => cont.absoluteRow || 0)\n )\n );\n styleObj.height = `${maxAbsoluteRow * ROW_HEIGHT}px`;\n } else {\n if (!layout.sectionsType) {\n const hasDim = layout.sections.some((sec) => sec.dim);\n styleObj.display = 'grid';\n\n if (layout.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n } else {\n if (this.dashboardMode) {\n styleObj.gridTemplateRows = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n }\n }\n }\n\n rowContent = this.#renderGridLayout(inputPanelCell, layout);\n }\n }\n\n const inputPanelClass = {\n 'input-panel-form': true,\n 'input-panel-form--inline': this.buttonPosition == 'RIGHT',\n };\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n 'input-panel--inline': this.buttonPosition == 'RIGHT',\n };\n\n const commandsClass = {\n 'input-panel__commands': true,\n [`input-panel__commands--${this.buttonPosition}`]: true,\n };\n\n // We create a form for each row in data\n return (\n <form\n name={this.rootElement.id}\n id={this.rootElement.id}\n class={inputPanelClass}\n ref={(el: HTMLFormElement) => (this.#formRef = el)}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n onContextMenu={(e: MouseEvent) => {\n e.preventDefault();\n }}\n >\n <div class={classObj} style={styleObj}>\n {rowContent}\n </div>\n <div class={commandsClass}>\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n invisible={this.hiddenSubmitButton}\n ></FButton>\n {this.inputPanelCommands}\n </div>\n </form>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderDropDownButton(cell: KupDataCell, data: GenericObject) {\n return (\n <kup-dropdown-button\n {...cell.data}\n label={cell.value}\n data={data}\n onkup-dropdownbutton-itemclick={(\n e: CustomEvent<KupDropdownButtonEventPayload>\n ) => {\n this.#getFunctionOnClickBTN(\n e.detail.node,\n e.detail.node.id\n );\n }}\n ></kup-dropdown-button>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section, false)\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 layout?: KupInputPanelLayout\n ) {\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n 'input-panel__section-inline': layout?.horizontal,\n };\n\n styleObj.gap = +section.gap > 0 ? `${section.gap}rem` : '1rem';\n\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n\n const hasDim = section.sections.some((sec) => sec.dim);\n\n if (!section.gridCols && section.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n\n if (\n !section.gridRows &&\n !section.horizontal &&\n this.dashboardMode\n ) {\n styleObj.gridTemplateRows = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n styleObj.gridTemplateColumns =\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '';\n if (this.dashboardMode) {\n styleObj.gridTemplateRows =\n +section.gridRows > 0\n ? `repeat(${section.gridRows}, 1fr)`\n : '';\n }\n }\n\n const sectionContent = (\n <div class={classObj} style={styleObj}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <FTypography\n type={FTypographyType.HEADING1}\n value={section.title}\n ></FTypography>\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 //If width is not specified the div in the return at the end can be removed\n if (getAbsoluteWidth(section.absoluteWidth) == null) {\n return content;\n }\n\n const width = `${\n getAbsoluteWidth(section.absoluteWidth) != null\n ? `${getAbsoluteWidth(section.absoluteWidth)}px`\n : '100%'\n }`;\n const height = `${\n getAbsoluteHeight(section.absoluteHeight) != null\n ? `${getAbsoluteHeight(section.absoluteHeight)}px`\n : '100%'\n }`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'relative',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #extractContentIds(node: KupInputPanelLayoutSection) {\n let ids: string[] = [];\n\n if (node.content?.length) {\n node.content.forEach((item) => {\n if (item.id) {\n ids.push(item.id);\n }\n });\n }\n\n if (node.sections?.length) {\n node.sections.forEach((section) => {\n ids = ids.concat(this.#extractContentIds(section));\n });\n }\n\n return ids;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => {\n const cellIdsInSection = this.#extractContentIds(section);\n\n const hasError = cells.cells.some((cellData) => {\n const cell = cellData.cell;\n const column = cellData.column;\n return (\n cellIdsInSection.includes(column.name) && !!cell.data?.error\n );\n });\n\n return {\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: hasError ? 'error' : section.icon,\n id: section.id || `${i}`,\n danger: hasError,\n };\n });\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'min-width': '0',\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n fieldCell.cell.data = {\n ...fieldCell.cell.data,\n sizing: 'extra-small',\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCommands() {\n this.inputPanelCommands = this.data.setup.commands\n .map((commandObj) => {\n if (commandObj?.children && commandObj?.children.length > 0) {\n const data = {\n 'kup-list': {\n showIcons: true,\n data: commandObj.children.map((c) =>\n this.#commandAdapter(c)\n ),\n },\n };\n return this.#renderDropDownButton(commandObj, data);\n } else {\n const buttonCell = this.#commandAdapter(commandObj);\n return this.#renderButton(buttonCell, commandObj.value);\n }\n })\n .flat();\n }\n\n #mapCells(data: KupInputPanelData) {\n if (data.setup?.commands?.length) {\n this.#mapCommands();\n }\n\n const layout = data?.rows[0]?.layout;\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setData(cell, column, layout),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name.replace(\n /\\//g,\n '\\\\$1'\n )}]`\n );\n\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setData(\n cell: KupInputPanelCell,\n column: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n const defaultProps = {\n ...this.#mapData(cell, column, layout),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(\n cell: KupInputPanelCell,\n col: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n let fieldLabel: string;\n if (layout?.absolute) {\n fieldLabel = null;\n } else {\n fieldLabel = col.title;\n }\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.OBJECT, this.#ObjectAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n this.#getFunctionOnClickBTN(cell, id);\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = CHKAdapter(currentValue, fieldLabel);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = RADAdapter(currentValue, options);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #ObjectAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #commandAdapter(cell: KupDataCell): KupDataCell {\n const buttonCell = {\n ...cell,\n data: this.#BTNAdapter(null, null, cell.value, cell, cell.obj.k),\n id: cell.obj.k,\n };\n return buttonCell;\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n async #checkOnBlurProp(cell: KupInputPanelCell, id: string) {\n const currCell = this.#getCell(id);\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!currCell.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && currCell.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n if (valid) {\n this.#setCellError(id, null);\n } else {\n this.#setCellError(\n id,\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n return;\n }\n }\n\n if (cell.inputSettings?.checkValueOnExit && this.#areValuesUpdated()) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n }\n\n #checkOnBlurEvent(cell: KupInputPanelCell, id: string) {\n const evName = this.#eventBlurNames.get(cell.shape);\n if (!evName) {\n return;\n }\n\n const handler = async (e: CustomEvent<KupAutocompleteEventPayload>) => {\n const currCell = this.#getCell(id);\n\n if (e.detail.id !== id) {\n return;\n }\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!e.detail.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && e.detail.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n\n this.#setCellError(\n id,\n valid\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n if (!valid) {\n return;\n }\n }\n\n if (\n cell.inputSettings?.checkValueOnExit &&\n this.#areValuesUpdated()\n ) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n }\n\n #setCellError(id: string, error: string) {\n this.inputPanelCells = this.inputPanelCells.map((cell) => ({\n ...cell,\n cells: cell.cells.map(({ cell, column }) => {\n const data =\n column.name === id\n ? {\n ...cell.data,\n error,\n }\n : cell.data;\n return {\n column,\n cell: {\n ...cell,\n data,\n },\n };\n }),\n }));\n }\n\n #areValuesUpdated() {\n return this.inputPanelCells.some(({ cells, row }) =>\n cells.some(\n ({ cell, column: { name } }) =>\n cell.value !== row.cells[name].value\n )\n );\n }\n\n #getFunctionOnClickBTN(cell: KupInputPanelCell, id: string) {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n }\n\n #getEventDetails(\n path: HTMLElement[],\n originalEvent: PointerEvent\n ): KupInputPanelEventHandlerDetails {\n const fcell = path.find((p) => p.classList?.contains('f-cell'));\n if (fcell == null) {\n return;\n }\n\n const props = fcell['kup-get-cell-props']();\n const columnName = props.column.name;\n\n let anchor = fcell;\n let cell = this.data.rows[0].cells[columnName];\n let column = this.data.columns.find((c) => c.name == columnName);\n\n return {\n anchor,\n cell,\n column,\n originalEvent,\n };\n }\n\n #contextMenuHandler(e: PointerEvent): KupInputPanelEventHandlerDetails {\n const eventPath = this.#kupManager.getEventPath(\n e.target,\n this.rootElement\n );\n\n return this.#getEventDetails(eventPath, e);\n }\n\n #didLoadInteractables() {\n this.#kupManager.interact.managedElements.add(this.#formRef);\n\n const tapCb = (e: PointerEvent) => {\n if (e.button == 2) {\n const details = this.#contextMenuHandler(e);\n\n if (details) {\n this.kupDataTableContextMenu.emit({\n comp: this,\n id: this.rootElement.id,\n details,\n });\n }\n }\n };\n\n this.#kupManager.interact.on(\n this.#formRef,\n KupPointerEventTypes.TAP,\n tapCb\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.#didLoadInteractables();\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"]}
@@ -108,39 +108,39 @@ export class KupLazy {
108
108
  switch (this.componentName) {
109
109
  case 'kup-button':
110
110
  //call_to_action.svg
111
- resource = (h("svg", { key: 'd934e9316a35cbe1ab46988fece131f5c087c768', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '88935457e57ed8dcd9b54156697eaa2d8c4bc6fb', d: "M42 6H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm0 32H6v-6h36v6z" })));
111
+ resource = (h("svg", { key: '220fa65d9836c520dfed8e3dae2700c6b2b0cb9a', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '1d1e33f3ed89c32e6ee9ad2b1996fb65037cc3f2', d: "M42 6H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm0 32H6v-6h36v6z" })));
112
112
  break;
113
113
  case 'kup-card':
114
114
  //art_track.svg
115
- resource = (h("svg", { key: 'cd827bdabef7edb14856b20fa296fb6c24ce35ad', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '0500bfa97874d60be3031a483664dfe065abd3a1', d: "M44 26H28v-4h16v4zm0-12H28v4h16v-4zM28 34h16v-4H28v4zm-4-16v12c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V18c0-2.2 1.8-4 4-4h12c2.2 0 4 1.8 4 4zm-3 12l-4.5-6-3.5 4.51-2.5-3.01L7 30h14z" })));
115
+ resource = (h("svg", { key: 'd799cc013987de74e23c34201ecd2186c57b13f1', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: 'de98ef94a3f714e45e56a02877d4a139a8804424', d: "M44 26H28v-4h16v4zm0-12H28v4h16v-4zM28 34h16v-4H28v4zm-4-16v12c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V18c0-2.2 1.8-4 4-4h12c2.2 0 4 1.8 4 4zm-3 12l-4.5-6-3.5 4.51-2.5-3.01L7 30h14z" })));
116
116
  break;
117
117
  case 'kup-checkbox':
118
118
  //check_box_outline_blank.svg
119
- resource = (h("svg", { key: 'f95ee18e654761802003f36bb40adea81334b191', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '94cd486d665abfed4429d33f4746d849e50186bf', d: "M38 10v28H10V10h28m0-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V10c0-2.21-1.79-4-4-4z" })));
119
+ resource = (h("svg", { key: '26ad78503d5c00f5b902b2bddb782a14f1a13b73', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '03ae544d551c47e0dce8f8fbaa92b1a2a1024c55', d: "M38 10v28H10V10h28m0-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V10c0-2.21-1.79-4-4-4z" })));
120
120
  break;
121
121
  case 'kup-chart':
122
122
  //chart-bar.svg
123
- resource = (h("svg", { key: '7867e1d291b486852252c75bc338575fe2be275d', xmlns: "http://www.w3.org/2000/svg", version: "1.1", width: "100%", height: "100%", viewBox: "0 0 24 24" }, h("path", { key: 'dff262a50d8cf2777278083063971f8509a34dd1', d: "M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" })));
123
+ resource = (h("svg", { key: 'cc70b61653552ff28e1b6eda65ca7bec5bbbe7d2', xmlns: "http://www.w3.org/2000/svg", version: "1.1", width: "100%", height: "100%", viewBox: "0 0 24 24" }, h("path", { key: 'f63b011d43b7c6649e1392de9426b325259e9f38', d: "M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" })));
124
124
  break;
125
125
  case 'kup-data-table':
126
126
  //table-large.svg
127
- resource = (h("svg", { key: '28e9319d4813e1185a3963595205838c0e37195e', xmlns: "http://www.w3.org/2000/svg", version: "1.1", width: "100%", height: "100%", viewBox: "0 0 24 24" }, h("path", { key: 'bc286850018bd55c1ee22d4d657b7154be95a8ad', d: "M4,3H20A2,2 0 0,1 22,5V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V5A2,2 0 0,1 4,3M4,7V10H8V7H4M10,7V10H14V7H10M20,10V7H16V10H20M4,12V15H8V12H4M4,20H8V17H4V20M10,12V15H14V12H10M10,20H14V17H10V20M20,20V17H16V20H20M20,12H16V15H20V12Z" })));
127
+ resource = (h("svg", { key: '3c6218a9e78c22aa2cfdd787a77fd7575409b926', xmlns: "http://www.w3.org/2000/svg", version: "1.1", width: "100%", height: "100%", viewBox: "0 0 24 24" }, h("path", { key: '28aaf9eb0e27fd2ad901866bd1f93ff181eba283', d: "M4,3H20A2,2 0 0,1 22,5V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V5A2,2 0 0,1 4,3M4,7V10H8V7H4M10,7V10H14V7H10M20,10V7H16V10H20M4,12V15H8V12H4M4,20H8V17H4V20M10,12V15H14V12H10M10,20H14V17H10V20M20,20V17H16V20H20M20,12H16V15H20V12Z" })));
128
128
  break;
129
129
  case 'kup-image':
130
130
  //photo.svg
131
- resource = (h("svg", { key: '1684c481d0337a7e9f34743e518c49b1b745540e', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '55ec03003702a987ebceca536e2d449cfb7a72be', d: "M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z" })));
131
+ resource = (h("svg", { key: '695002a63b98d0c090f350df167e2dec9b85c8f6', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '160f2450a206b3da182ef9514e41d0e9cfebd7dd', d: "M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z" })));
132
132
  break;
133
133
  case 'kup-progress-bar':
134
134
  //linear_scale.svg
135
- resource = (h("svg", { key: 'a036086630cc6ccede34e08a53daa74e3d88f034', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '41e65183e03358a0a8da170d6d54e7d549391aec', d: "M39 19c-2.05 0-3.81 1.23-4.58 3h-5.84c-.77-1.77-2.53-3-4.58-3s-3.81 1.23-4.58 3h-5.84c-.77-1.77-2.53-3-4.58-3-2.77 0-5 2.23-5 5s2.23 5 5 5c2.05 0 3.81-1.23 4.58-3h5.84c.77 1.77 2.53 3 4.58 3s3.81-1.23 4.58-3h5.84c.77 1.77 2.53 3 4.58 3 2.77 0 5-2.23 5-5s-2.23-5-5-5z" })));
135
+ resource = (h("svg", { key: 'e7f09d307522f61e8448975f881fb435f0c585bd', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '2ad28af4bed1da877edb16db6acdc392bfbfb47b', d: "M39 19c-2.05 0-3.81 1.23-4.58 3h-5.84c-.77-1.77-2.53-3-4.58-3s-3.81 1.23-4.58 3h-5.84c-.77-1.77-2.53-3-4.58-3-2.77 0-5 2.23-5 5s2.23 5 5 5c2.05 0 3.81-1.23 4.58-3h5.84c.77 1.77 2.53 3 4.58 3s3.81-1.23 4.58-3h5.84c.77 1.77 2.53 3 4.58 3 2.77 0 5-2.23 5-5s-2.23-5-5-5z" })));
136
136
  break;
137
137
  case 'kup-radio':
138
138
  //radio_button_unchecked.svg
139
- resource = (h("svg", { key: 'dd9b30ae9aa487a4d0b11ce80f14252180f8e2de', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: 'e6c51b6c1b5affc7c512d63c2b5e019d174c31b8', d: "M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z" })));
139
+ resource = (h("svg", { key: 'c60a5e10b12c2945bdc8d0558d1fb9c46cb4ca90', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: 'f016960b177263ba06c3b63c4761fef4a06a4fd3', d: "M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z" })));
140
140
  break;
141
141
  default:
142
142
  //art_track.svg
143
- resource = (h("svg", { key: 'e2a8de44a8f5ef7b24cc2eada62e044bb5eb81d1', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: 'fcb610c8455c4275f926ca707fad2ba710c74dcc', d: "M44 26H28v-4h16v4zm0-12H28v4h16v-4zM28 34h16v-4H28v4zm-4-16v12c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V18c0-2.2 1.8-4 4-4h12c2.2 0 4 1.8 4 4zm-3 12l-4.5-6-3.5 4.51-2.5-3.01L7 30h14z" })));
143
+ resource = (h("svg", { key: 'f221046bcd689deebeb597f557d547292518a34a', xmlns: "http://www.w3.org/2000/svg", width: "100%", height: "100%", viewBox: "0 0 48 48" }, h("path", { key: '8cd9ec1705efd526543348dcfe793c0705399482', d: "M44 26H28v-4h16v4zm0-12H28v4h16v-4zM28 34h16v-4H28v4zm-4-16v12c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V18c0-2.2 1.8-4 4-4h12c2.2 0 4 1.8 4 4zm-3 12l-4.5-6-3.5 4.51-2.5-3.01L7 30h14z" })));
144
144
  break;
145
145
  }
146
146
  if ((this.renderMode === KupLazyRender.VIEWPORT && this.isInViewport) ||
@@ -149,14 +149,14 @@ export class KupLazy {
149
149
  this.data &&
150
150
  this.isInViewport)) {
151
151
  let Tag = this.componentName;
152
- content = (h(Tag, Object.assign({ key: '511d4b91acf17e894f499c7c0e85fb18081d2fb8' }, this.data, { ref: (el) => (this.lazyComponent = el) })));
152
+ content = (h(Tag, Object.assign({ key: 'b856e5475a8fc048cf96c0ee534f17fa2ad261fe' }, this.data, { ref: (el) => (this.lazyComponent = el) })));
153
153
  className += ' kup-loaded';
154
154
  }
155
155
  else if (this.showPlaceholder) {
156
156
  content = resource;
157
157
  className += ' kup-to-be-loaded';
158
158
  }
159
- return (h(Host, { key: 'be93bd2e9dbc7a72f1504368c123e240035d062d', class: className }, h("style", { key: 'bd50b350aac68bd7017f9e69dda239f0e163c36a' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: '0a6ec5bbad939bceb6e45b4256c23374da076473', id: componentWrapperId }, content)));
159
+ return (h(Host, { key: 'de01035df24b5d3811ca54bb3840bf232287103d', class: className }, h("style", { key: 'db6f4fe85ed90c8a17b598a4805eff35fbfc11af' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: '00c41dbaa1579061edf0b9472b19e6c5c8f24eb9', id: componentWrapperId }, content)));
160
160
  }
161
161
  disconnectedCallback() {
162
162
  var _a;