@sme.up/ketchup 11.0.0-SNAPSHOT-20241014112852 → 11.0.0-SNAPSHOT-20241015124120

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 (33) hide show
  1. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +7 -7
  2. package/dist/cjs/kup-autocomplete_27.cjs.entry.js.map +1 -1
  3. package/dist/cjs/kup-input-panel.cjs.entry.js +1 -1
  4. package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
  5. package/dist/cjs/kup-typography.cjs.entry.js +8 -8
  6. package/dist/cjs/kup-typography.cjs.entry.js.map +1 -1
  7. package/dist/collection/components/kup-input-panel/kup-input-panel.js +1 -1
  8. package/dist/collection/components/kup-input-panel/kup-input-panel.js.map +1 -1
  9. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +7 -7
  10. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js.map +1 -1
  11. package/dist/collection/components/kup-typography/kup-typography.js +8 -8
  12. package/dist/collection/components/kup-typography/kup-typography.js.map +1 -1
  13. package/dist/components/kup-autocomplete2.js +7 -7
  14. package/dist/components/kup-autocomplete2.js.map +1 -1
  15. package/dist/components/kup-input-panel.js +1 -1
  16. package/dist/components/kup-input-panel.js.map +1 -1
  17. package/dist/components/kup-typography.js +8 -8
  18. package/dist/components/kup-typography.js.map +1 -1
  19. package/dist/esm/kup-autocomplete_27.entry.js +7 -7
  20. package/dist/esm/kup-autocomplete_27.entry.js.map +1 -1
  21. package/dist/esm/kup-input-panel.entry.js +1 -1
  22. package/dist/esm/kup-input-panel.entry.js.map +1 -1
  23. package/dist/esm/kup-typography.entry.js +8 -8
  24. package/dist/esm/kup-typography.entry.js.map +1 -1
  25. package/dist/ketchup/ketchup.esm.js +1 -1
  26. package/dist/ketchup/{p-312debf2.entry.js → p-248c1472.entry.js} +2 -2
  27. package/dist/ketchup/{p-312debf2.entry.js.map → p-248c1472.entry.js.map} +1 -1
  28. package/dist/ketchup/{p-a7a86f7d.entry.js → p-b8622242.entry.js} +2 -2
  29. package/dist/ketchup/{p-a7a86f7d.entry.js.map → p-b8622242.entry.js.map} +1 -1
  30. package/dist/ketchup/{p-6ee80189.entry.js → p-d5fb7b8a.entry.js} +2 -2
  31. package/dist/ketchup/p-d5fb7b8a.entry.js.map +1 -0
  32. package/package.json +1 -1
  33. package/dist/ketchup/p-6ee80189.entry.js.map +0 -1
@@ -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 KupDataTableDataset,\n KupDataTableRow,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellEventPayload,\n FCellEvents,\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelOptionsHandler,\n KupInputPanelCell,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n} from './kup-input-panel-utils';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\n\nconst dom: KupDom = document.documentElement as KupDom;\n@Component({\n tag: 'kup-input-panel',\n styleUrl: 'kup-input-panel.scss',\n shadow: true,\n})\nexport class KupInputPanel {\n /**\n * References the root HTML element of the component (<kup-form>).\n */\n @Element() rootElement: HTMLElement;\n\n //#region PROPS\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n\n /**\n * Actual data of the form.\n * @default null\n */\n @Prop() data: KupInputPanelData = null;\n\n /**\n * Creates a hidden submit button in order to submit the form with enter.\n * @default false\n */\n @Prop() hiddenSubmitButton: boolean = false;\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n\n this.#mapCells(this.data);\n }\n //#endregion\n\n //#region PUBLIC METHODS\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupInputPanelProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupInputPanelProps, props);\n }\n //#endregion\n\n //#region EVENTS\n /*-------------------------------------------------*/\n /* Events */\n /*-------------------------------------------------*/\n\n /**\n * When component load is complete\n */\n @Event({\n eventName: 'kup-input-panel-ready',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupReady: EventEmitter<KupEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n rowContent = layout.absolute\n ? this.#renderAbsoluteLayout(inputPanelCell, layout)\n : this.#renderGridLayout(inputPanelCell, layout);\n }\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n };\n\n // We create a form for each row in data\n return (\n <form\n class={classObj}\n name={this.rootElement.id}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n >\n {rowContent}\n {!this.hiddenSubmitButton ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n ></FButton>\n ) : null}\n </form>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section)\n );\n }\n\n #renderAbsoluteLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n return layout.sections.map((section) =>\n this.#renderAbsoluteSection(inputPanelCell, section)\n );\n }\n\n #renderSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection,\n customLabelRender: boolean = false,\n styleObj: GenericObject = {}\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n }\n\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n const sectionStyle = {\n ...styleObj,\n gap: +section.gap > 0 ? `${section.gap}rem` : '',\n 'grid-template-columns':\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '',\n 'grid-template-rows':\n +section.gridRows > 0 ? `repeat(${section.gridRows}, 1fr)` : '',\n };\n\n if (cells.row?.layout?.horizontal) {\n styleObj.maxWidth = section.dim;\n } else {\n styleObj.maxHeight = section.dim;\n }\n\n const sectionContent = (\n <div class={classObj} style={sectionStyle}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <h3>{section.title}</h3>\n {sectionContent}\n </div>\n ) : (\n sectionContent\n );\n }\n\n #renderAbsoluteSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderAbsoluteSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderAbsoluteField(cells, field)\n );\n }\n\n const width = `${getAbsoluteWidth(section.absoluteWidth)}px`;\n const height = `${getAbsoluteHeight(section.absoluteHeight)}px`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => ({\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: section.icon,\n id: section.id || `${i}`,\n }));\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n const cell = {\n ...fieldCell.cell,\n data: {\n ...fieldCell.cell.data,\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n },\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCells(data: KupInputPanelData) {\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setProps(cell, column),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name}]`\n );\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setProps(cell: KupInputPanelCell, column: KupInputPanelColumn) {\n const defaultProps = {\n ...this.#mapData(cell, column),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return CHKAdapter(currentValue, fieldLabel);\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return RADAdapter(currentValue, options);\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n //#endregion\n\n //#region LIFECYCLE HOOKS\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n this.onDataChanged();\n }\n\n componentDidLoad() {\n this.kupReady.emit({ comp: this, id: this.rootElement.id });\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n const root: ShadowRoot = this.rootElement.shadowRoot;\n if (root) {\n const fs: NodeListOf<HTMLElement> =\n root.querySelectorAll('.f-text-field');\n for (let index = 0; index < fs.length; index++) {\n FTextFieldMDC(fs[index]);\n }\n }\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const isEmptyData = Boolean(!this.inputPanelCells.length);\n\n const inputPanelContent: VNode[] = isEmptyData\n ? [\n <p>\n {this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_DATA\n )}\n </p>,\n ]\n : this.inputPanelCells.map((inputPanelCell) =>\n this.#renderRow(inputPanelCell)\n );\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>{inputPanelContent}</div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n //#endregion\n}\n"]}
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 KupDataTableDataset,\n KupDataTableRow,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellEventPayload,\n FCellEvents,\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelOptionsHandler,\n KupInputPanelCell,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n} from './kup-input-panel-utils';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\n\nconst dom: KupDom = document.documentElement as KupDom;\n@Component({\n tag: 'kup-input-panel',\n styleUrl: 'kup-input-panel.scss',\n shadow: true,\n})\nexport class KupInputPanel {\n /**\n * References the root HTML element of the component (<kup-form>).\n */\n @Element() rootElement: HTMLElement;\n\n //#region PROPS\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n\n /**\n * Actual data of the form.\n * @default null\n */\n @Prop() data: KupInputPanelData = null;\n\n /**\n * Creates a hidden submit button in order to submit the form with enter.\n * @default false\n */\n @Prop() hiddenSubmitButton: boolean = false;\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n\n this.#mapCells(this.data);\n }\n //#endregion\n\n //#region PUBLIC METHODS\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupInputPanelProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupInputPanelProps, props);\n }\n //#endregion\n\n //#region EVENTS\n /*-------------------------------------------------*/\n /* Events */\n /*-------------------------------------------------*/\n\n /**\n * When component load is complete\n */\n @Event({\n eventName: 'kup-input-panel-ready',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupReady: EventEmitter<KupEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n rowContent = layout.absolute\n ? this.#renderAbsoluteLayout(inputPanelCell, layout)\n : this.#renderGridLayout(inputPanelCell, layout);\n }\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n };\n\n // We create a form for each row in data\n return (\n <form\n class={classObj}\n name={this.rootElement.id}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n >\n {rowContent}\n {!this.hiddenSubmitButton ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n ></FButton>\n ) : null}\n </form>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section)\n );\n }\n\n #renderAbsoluteLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n return layout.sections.map((section) =>\n this.#renderAbsoluteSection(inputPanelCell, section)\n );\n }\n\n #renderSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection,\n customLabelRender: boolean = false,\n styleObj: GenericObject = {}\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n }\n\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n if (cells.row?.layout?.horizontal) {\n styleObj.maxWidth = section.dim;\n } else {\n styleObj.maxHeight = section.dim;\n }\n\n const sectionStyle = {\n ...styleObj,\n gap: +section.gap > 0 ? `${section.gap}rem` : '',\n 'grid-template-columns':\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '',\n 'grid-template-rows':\n +section.gridRows > 0 ? `repeat(${section.gridRows}, 1fr)` : '',\n };\n\n const sectionContent = (\n <div class={classObj} style={sectionStyle}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <h3>{section.title}</h3>\n {sectionContent}\n </div>\n ) : (\n sectionContent\n );\n }\n\n #renderAbsoluteSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderAbsoluteSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderAbsoluteField(cells, field)\n );\n }\n\n const width = `${getAbsoluteWidth(section.absoluteWidth)}px`;\n const height = `${getAbsoluteHeight(section.absoluteHeight)}px`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => ({\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: section.icon,\n id: section.id || `${i}`,\n }));\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n const cell = {\n ...fieldCell.cell,\n data: {\n ...fieldCell.cell.data,\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n },\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCells(data: KupInputPanelData) {\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setProps(cell, column),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name}]`\n );\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setProps(cell: KupInputPanelCell, column: KupInputPanelColumn) {\n const defaultProps = {\n ...this.#mapData(cell, column),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return CHKAdapter(currentValue, fieldLabel);\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return RADAdapter(currentValue, options);\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n //#endregion\n\n //#region LIFECYCLE HOOKS\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n this.onDataChanged();\n }\n\n componentDidLoad() {\n this.kupReady.emit({ comp: this, id: this.rootElement.id });\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n const root: ShadowRoot = this.rootElement.shadowRoot;\n if (root) {\n const fs: NodeListOf<HTMLElement> =\n root.querySelectorAll('.f-text-field');\n for (let index = 0; index < fs.length; index++) {\n FTextFieldMDC(fs[index]);\n }\n }\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const isEmptyData = Boolean(!this.inputPanelCells.length);\n\n const inputPanelContent: VNode[] = isEmptyData\n ? [\n <p>\n {this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_DATA\n )}\n </p>,\n ]\n : this.inputPanelCells.map((inputPanelCell) =>\n this.#renderRow(inputPanelCell)\n );\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>{inputPanelContent}</div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n //#endregion\n}\n"]}
@@ -150,15 +150,15 @@ export class KupTabBar {
150
150
  /* P r i v a t e M e t h o d s */
151
151
  /*-------------------------------------------------*/
152
152
  closeRowToolbarList() {
153
- this.kupManager.dynamicPosition.stop(this.toolbarList);
154
- this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTabBar_clickCbDropCard, "f"));
155
- this.toolbarList.remove();
156
- this.toolbarList = null;
157
- }
158
- createDropDownToolbarList() {
159
153
  if (this.toolbarList) {
160
- this.closeRowToolbarList();
154
+ this.kupManager.dynamicPosition.stop(this.toolbarList);
155
+ this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTabBar_clickCbDropCard, "f"));
156
+ this.toolbarList.remove();
157
+ this.toolbarList = null;
161
158
  }
159
+ }
160
+ createDropDownToolbarList() {
161
+ this.closeRowToolbarList();
162
162
  const listEl = document.createElement('kup-list');
163
163
  listEl.data = this.toolbarData;
164
164
  listEl.isMenu = true;
@@ -1 +1 @@
1
- {"version":3,"file":"kup-tab-bar.js","sourceRoot":"","sources":["../../../src/components/kup-tab-bar/kup-tab-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n} from '@stencil/core';\nimport { MDCRipple } from '@material/ripple';\nimport {\n KupTabBarNode,\n KupTabBarEventPayload,\n KupTabBarProps,\n} from './kup-tab-bar-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { FImage } from '../../f-components/f-image/f-image';\nimport { KupScrollOnHoverElement } from '../../managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n KupDynamicPositionAnchor,\n KupDynamicPositionElement,\n KupDynamicPositionPlacement,\n} from '../../managers/kup-dynamic-position/kup-dynamic-position-declarations';\nimport { KupManagerClickCb } from '../../managers/kup-manager/kup-manager-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\nimport { KupToolbarItemClickEventPayload } from '../../managers/kup-toolbar/kup-toolbar-declarations';\n\n@Component({\n tag: 'kup-tab-bar',\n styleUrl: 'kup-tab-bar.scss',\n shadow: true,\n})\nexport class KupTabBar {\n /**\n * References the root HTML element of the component (<kup-tab-bar>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n @State() value: string = '';\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * List of elements.\n * @default null\n */\n @Prop() data: KupTabBarNode[] = null;\n /**\n * Defaults at false. When set to true, the component is dense.\n * @default false\n */\n @Prop() dense: boolean = false;\n /**\n * When enabled displays Material's ripple effect on item headers.\n * @default true\n */\n @Prop() ripple: boolean = false;\n /**\n * When enabled displays toolbar item inside each single tab.\n * @default true\n */\n @Prop() toolbar: boolean = true;\n /**\n * Display DataNode Toolbar.\n * @default null\n */\n @Prop() toolbarData: KupDataNode[];\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n /**\n * Instance of the KupManager class.\n */\n private kupManager: KupManager = kupManagerInstance();\n #clickCbDropCard: KupManagerClickCb = null;\n /**\n * Element scrollable on mouse hover.\n */\n private scrollArea: KupScrollOnHoverElement = null;\n /**\n * Toolbar List.\n */\n private toolbarList: KupDynamicPositionElement;\n\n /*-------------------------------------------------*/\n /* E v e n t s */\n /*-------------------------------------------------*/\n /**\n * Triggered when the tab loses focus.\n */\n @Event({\n eventName: 'kup-tabbar-blur',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupBlur: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when the tab is clicked.\n */\n @Event({\n eventName: 'kup-tabbar-click',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupClick: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when the icon inside tab is clicked.\n */\n @Event({\n eventName: 'kup-tabbar-iconclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupIconClick: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when the tab is focused.\n */\n @Event({\n eventName: 'kup-tabbar-focus',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupFocus: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when a list item is clicked.\n */\n @Event({\n eventName: 'kup-tabbar-itemclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupItemClick: EventEmitter<KupToolbarItemClickEventPayload>;\n\n #dropDownActionCardAnchor: HTMLElement = null;\n\n onKupBlur(i: number, node: KupTabBarNode) {\n this.kupBlur.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n }\n\n onKupClick(i: number, node: KupTabBarNode) {\n for (let i = 0; i < this.data.length; i++) {\n this.data[i].active = false;\n }\n this.data[i].active = true;\n this.value = node.id;\n\n this.kupClick.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n }\n\n onKupIconClick(i: number, node: KupTabBarNode, el: HTMLElement) {\n this.#dropDownActionCardAnchor = el;\n this.kupIconClick.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n this.createDropDownToolbarList();\n }\n\n onKupFocus(i: number, node: KupTabBarNode) {\n this.kupFocus.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n }\n\n onKupToolbarItemClick(e: CustomEvent) {\n this.kupItemClick.emit({\n comp: this,\n id: this.rootElement.id,\n value: this.value,\n node: e.detail.selected,\n });\n }\n\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('ripple')\n applyRipple() {\n const root = this.rootElement.shadowRoot;\n if (root && this.ripple) {\n const rippleCells = root.querySelectorAll(\n '.mdc-ripple-surface:not(.mdc-ripple-upgraded)'\n );\n if (rippleCells) {\n for (let i = 0; i < rippleCells.length; i++) {\n MDCRipple.attachTo(rippleCells[i]);\n }\n }\n }\n }\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupTabBarProps, descriptions);\n }\n /**\n * Returns the selected node.\n * @returns {Promise<KupTabBarNode>} Selected node.\n */\n @Method()\n async getSelectedNode(): Promise<KupTabBarNode> {\n let res: KupTabBarNode = null;\n this.data.forEach((node) => {\n if (node.id === this.value) {\n res = node;\n }\n });\n return res;\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, KupTabBarProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n closeRowToolbarList() {\n this.kupManager.dynamicPosition.stop(\n this.toolbarList as KupDynamicPositionElement\n );\n this.kupManager.removeClickCallback(this.#clickCbDropCard);\n this.toolbarList.remove();\n this.toolbarList = null;\n }\n\n createDropDownToolbarList() {\n if (this.toolbarList) {\n this.closeRowToolbarList();\n }\n const listEl = document.createElement('kup-list');\n listEl.data = this.toolbarData;\n listEl.isMenu = true;\n listEl.menuVisible = true;\n listEl.addEventListener('kup-list-click', (e: CustomEvent) => {\n this.onKupToolbarItemClick(e);\n setTimeout(() => {\n this.closeRowToolbarList();\n }, 0);\n });\n this.toolbarList = listEl;\n this.#clickCbDropCard = {\n cb: () => {\n this.closeRowToolbarList();\n },\n el: this.toolbarList,\n };\n\n this.kupManager.addClickCallback(this.#clickCbDropCard, true);\n this.rootElement.shadowRoot.appendChild(this.toolbarList);\n requestAnimationFrame(() => {\n this.kupManager.dynamicPosition.register(\n this.toolbarList as unknown as KupDynamicPositionElement,\n this.#dropDownActionCardAnchor as KupDynamicPositionAnchor,\n 0,\n KupDynamicPositionPlacement.AUTO,\n true\n );\n this.kupManager.dynamicPosition.start(\n this.toolbarList as unknown as KupDynamicPositionElement\n );\n });\n }\n\n private consistencyCheck() {\n let activeTabs: number = 0;\n let lastActiveOccurrence: number = 0;\n if (this.data && this.data.length > 0) {\n for (let i = 0; i < this.data.length; i++) {\n if (this.data[i].active) {\n activeTabs++;\n lastActiveOccurrence = i;\n }\n this.data[i].active = false;\n }\n if (activeTabs > 1) {\n this.data[lastActiveOccurrence].active = true;\n this.value = this.data[lastActiveOccurrence].id;\n this.kupManager.debug.logMessage(\n this,\n 'Too many active tabs, forcing last one.',\n KupDebugCategory.WARNING\n );\n } else if (activeTabs === 0) {\n this.data[0].active = true;\n this.value = this.data[0].id;\n this.kupManager.debug.logMessage(\n this,\n 'No active tabs detected, forcing first one.'\n );\n } else {\n this.data[lastActiveOccurrence].active = true;\n this.value = this.data[lastActiveOccurrence].id;\n }\n }\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.kupManager.debug.logLoad(this, false);\n this.kupManager.theme.register(this);\n this.consistencyCheck();\n }\n\n componentDidLoad() {\n this.kupManager.scrollOnHover.register(this.scrollArea);\n this.applyRipple();\n this.kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.kupManager.debug.logRender(this, true);\n }\n\n render() {\n if (!this.data || this.data.length === 0) {\n return;\n }\n\n const tabBar: Array<VNode> = [];\n\n for (let i = 0; i < this.data.length; i++) {\n const node: KupTabBarNode = this.data[i];\n const tabClass: Record<string, boolean> = {\n tab: true,\n 'tab--active': node.active ? true : false,\n 'mdc-ripple-surface': this.ripple ? true : false,\n 'kup-dense': this.dense,\n };\n\n const tabEl: VNode = (\n <f-button\n class={tabClass}\n role=\"tab\"\n aria-selected={this.data[i].active ? true : false}\n tabIndex={i}\n title={node.title ? node.title : null}\n onBlur={() => this.onKupBlur(i, node)}\n onClick={() => this.onKupClick(i, node)}\n onFocus={() => this.onKupFocus(i, node)}\n >\n <span class=\"tab__content\">\n {node.icon ? (\n <FImage\n color={`var(${KupThemeColorValues.PRIMARY})`}\n resource={node.icon}\n placeholderResource={node.placeholderIcon}\n sizeX=\"24px\"\n sizeY=\"24px\"\n wrapperClass=\"tab__icon\"\n />\n ) : null}\n {node.value ? (\n <span class=\"tab__text-label\">\n {this.data[i].value}\n </span>\n ) : null}\n </span>\n {this.toolbar && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n onClick={(event: MouseEvent) => {\n event.stopPropagation();\n this.onKupIconClick(\n i,\n node,\n event.currentTarget as HTMLElement\n );\n }}\n wrapperClass=\"tab__iconToolbar\"\n ></FImage>\n )}\n <span\n class={`tab-indicator ${\n node.active ? ' tab-indicator--active' : ''\n }`}\n >\n <span class=\"tab-indicator__content tab-indicator__content--underline\"></span>\n </span>\n </f-button>\n );\n tabBar.push(tabEl);\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}>\n <div class=\"tab-bar\" role=\"tablist\">\n <div class=\"tab-scroller\">\n <div\n class=\"tab-scroller__scroll-area\"\n ref={(el: HTMLElement) =>\n (this.scrollArea =\n el as KupScrollOnHoverElement)\n }\n >\n <div class=\"tab-scroller__scroll-content\">\n {tabBar}\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.kupManager.scrollOnHover.unregister(this.scrollArea);\n this.kupManager.theme.unregister(this);\n }\n}\n"]}
1
+ {"version":3,"file":"kup-tab-bar.js","sourceRoot":"","sources":["../../../src/components/kup-tab-bar/kup-tab-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n} from '@stencil/core';\nimport { MDCRipple } from '@material/ripple';\nimport {\n KupTabBarNode,\n KupTabBarEventPayload,\n KupTabBarProps,\n} from './kup-tab-bar-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { FImage } from '../../f-components/f-image/f-image';\nimport { KupScrollOnHoverElement } from '../../managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n KupDynamicPositionAnchor,\n KupDynamicPositionElement,\n KupDynamicPositionPlacement,\n} from '../../managers/kup-dynamic-position/kup-dynamic-position-declarations';\nimport { KupManagerClickCb } from '../../managers/kup-manager/kup-manager-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\nimport { KupToolbarItemClickEventPayload } from '../../managers/kup-toolbar/kup-toolbar-declarations';\n\n@Component({\n tag: 'kup-tab-bar',\n styleUrl: 'kup-tab-bar.scss',\n shadow: true,\n})\nexport class KupTabBar {\n /**\n * References the root HTML element of the component (<kup-tab-bar>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n @State() value: string = '';\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * List of elements.\n * @default null\n */\n @Prop() data: KupTabBarNode[] = null;\n /**\n * Defaults at false. When set to true, the component is dense.\n * @default false\n */\n @Prop() dense: boolean = false;\n /**\n * When enabled displays Material's ripple effect on item headers.\n * @default true\n */\n @Prop() ripple: boolean = false;\n /**\n * When enabled displays toolbar item inside each single tab.\n * @default true\n */\n @Prop() toolbar: boolean = true;\n /**\n * Display DataNode Toolbar.\n * @default null\n */\n @Prop() toolbarData: KupDataNode[];\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n /**\n * Instance of the KupManager class.\n */\n private kupManager: KupManager = kupManagerInstance();\n #clickCbDropCard: KupManagerClickCb = null;\n /**\n * Element scrollable on mouse hover.\n */\n private scrollArea: KupScrollOnHoverElement = null;\n /**\n * Toolbar List.\n */\n private toolbarList: KupDynamicPositionElement;\n\n /*-------------------------------------------------*/\n /* E v e n t s */\n /*-------------------------------------------------*/\n /**\n * Triggered when the tab loses focus.\n */\n @Event({\n eventName: 'kup-tabbar-blur',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupBlur: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when the tab is clicked.\n */\n @Event({\n eventName: 'kup-tabbar-click',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupClick: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when the icon inside tab is clicked.\n */\n @Event({\n eventName: 'kup-tabbar-iconclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupIconClick: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when the tab is focused.\n */\n @Event({\n eventName: 'kup-tabbar-focus',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupFocus: EventEmitter<KupTabBarEventPayload>;\n\n /**\n * Triggered when a list item is clicked.\n */\n @Event({\n eventName: 'kup-tabbar-itemclick',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupItemClick: EventEmitter<KupToolbarItemClickEventPayload>;\n\n #dropDownActionCardAnchor: HTMLElement = null;\n\n onKupBlur(i: number, node: KupTabBarNode) {\n this.kupBlur.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n }\n\n onKupClick(i: number, node: KupTabBarNode) {\n for (let i = 0; i < this.data.length; i++) {\n this.data[i].active = false;\n }\n this.data[i].active = true;\n this.value = node.id;\n\n this.kupClick.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n }\n\n onKupIconClick(i: number, node: KupTabBarNode, el: HTMLElement) {\n this.#dropDownActionCardAnchor = el;\n this.kupIconClick.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n this.createDropDownToolbarList();\n }\n\n onKupFocus(i: number, node: KupTabBarNode) {\n this.kupFocus.emit({\n comp: this,\n id: this.rootElement.id,\n index: i,\n node: node,\n });\n }\n\n onKupToolbarItemClick(e: CustomEvent) {\n this.kupItemClick.emit({\n comp: this,\n id: this.rootElement.id,\n value: this.value,\n node: e.detail.selected,\n });\n }\n\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('ripple')\n applyRipple() {\n const root = this.rootElement.shadowRoot;\n if (root && this.ripple) {\n const rippleCells = root.querySelectorAll(\n '.mdc-ripple-surface:not(.mdc-ripple-upgraded)'\n );\n if (rippleCells) {\n for (let i = 0; i < rippleCells.length; i++) {\n MDCRipple.attachTo(rippleCells[i]);\n }\n }\n }\n }\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupTabBarProps, descriptions);\n }\n /**\n * Returns the selected node.\n * @returns {Promise<KupTabBarNode>} Selected node.\n */\n @Method()\n async getSelectedNode(): Promise<KupTabBarNode> {\n let res: KupTabBarNode = null;\n this.data.forEach((node) => {\n if (node.id === this.value) {\n res = node;\n }\n });\n return res;\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, KupTabBarProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n closeRowToolbarList() {\n if (this.toolbarList) {\n this.kupManager.dynamicPosition.stop(\n this.toolbarList as KupDynamicPositionElement\n );\n this.kupManager.removeClickCallback(this.#clickCbDropCard);\n this.toolbarList.remove();\n this.toolbarList = null;\n }\n }\n\n createDropDownToolbarList() {\n this.closeRowToolbarList();\n const listEl = document.createElement('kup-list');\n listEl.data = this.toolbarData;\n listEl.isMenu = true;\n listEl.menuVisible = true;\n listEl.addEventListener('kup-list-click', (e: CustomEvent) => {\n this.onKupToolbarItemClick(e);\n setTimeout(() => {\n this.closeRowToolbarList();\n }, 0);\n });\n this.toolbarList = listEl;\n this.#clickCbDropCard = {\n cb: () => {\n this.closeRowToolbarList();\n },\n el: this.toolbarList,\n };\n\n this.kupManager.addClickCallback(this.#clickCbDropCard, true);\n this.rootElement.shadowRoot.appendChild(this.toolbarList);\n requestAnimationFrame(() => {\n this.kupManager.dynamicPosition.register(\n this.toolbarList as unknown as KupDynamicPositionElement,\n this.#dropDownActionCardAnchor as KupDynamicPositionAnchor,\n 0,\n KupDynamicPositionPlacement.AUTO,\n true\n );\n this.kupManager.dynamicPosition.start(\n this.toolbarList as unknown as KupDynamicPositionElement\n );\n });\n }\n\n private consistencyCheck() {\n let activeTabs: number = 0;\n let lastActiveOccurrence: number = 0;\n if (this.data && this.data.length > 0) {\n for (let i = 0; i < this.data.length; i++) {\n if (this.data[i].active) {\n activeTabs++;\n lastActiveOccurrence = i;\n }\n this.data[i].active = false;\n }\n if (activeTabs > 1) {\n this.data[lastActiveOccurrence].active = true;\n this.value = this.data[lastActiveOccurrence].id;\n this.kupManager.debug.logMessage(\n this,\n 'Too many active tabs, forcing last one.',\n KupDebugCategory.WARNING\n );\n } else if (activeTabs === 0) {\n this.data[0].active = true;\n this.value = this.data[0].id;\n this.kupManager.debug.logMessage(\n this,\n 'No active tabs detected, forcing first one.'\n );\n } else {\n this.data[lastActiveOccurrence].active = true;\n this.value = this.data[lastActiveOccurrence].id;\n }\n }\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.kupManager.debug.logLoad(this, false);\n this.kupManager.theme.register(this);\n this.consistencyCheck();\n }\n\n componentDidLoad() {\n this.kupManager.scrollOnHover.register(this.scrollArea);\n this.applyRipple();\n this.kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.kupManager.debug.logRender(this, true);\n }\n\n render() {\n if (!this.data || this.data.length === 0) {\n return;\n }\n\n const tabBar: Array<VNode> = [];\n\n for (let i = 0; i < this.data.length; i++) {\n const node: KupTabBarNode = this.data[i];\n const tabClass: Record<string, boolean> = {\n tab: true,\n 'tab--active': node.active ? true : false,\n 'mdc-ripple-surface': this.ripple ? true : false,\n 'kup-dense': this.dense,\n };\n\n const tabEl: VNode = (\n <f-button\n class={tabClass}\n role=\"tab\"\n aria-selected={this.data[i].active ? true : false}\n tabIndex={i}\n title={node.title ? node.title : null}\n onBlur={() => this.onKupBlur(i, node)}\n onClick={() => this.onKupClick(i, node)}\n onFocus={() => this.onKupFocus(i, node)}\n >\n <span class=\"tab__content\">\n {node.icon ? (\n <FImage\n color={`var(${KupThemeColorValues.PRIMARY})`}\n resource={node.icon}\n placeholderResource={node.placeholderIcon}\n sizeX=\"24px\"\n sizeY=\"24px\"\n wrapperClass=\"tab__icon\"\n />\n ) : null}\n {node.value ? (\n <span class=\"tab__text-label\">\n {this.data[i].value}\n </span>\n ) : null}\n </span>\n {this.toolbar && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n onClick={(event: MouseEvent) => {\n event.stopPropagation();\n this.onKupIconClick(\n i,\n node,\n event.currentTarget as HTMLElement\n );\n }}\n wrapperClass=\"tab__iconToolbar\"\n ></FImage>\n )}\n <span\n class={`tab-indicator ${\n node.active ? ' tab-indicator--active' : ''\n }`}\n >\n <span class=\"tab-indicator__content tab-indicator__content--underline\"></span>\n </span>\n </f-button>\n );\n tabBar.push(tabEl);\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}>\n <div class=\"tab-bar\" role=\"tablist\">\n <div class=\"tab-scroller\">\n <div\n class=\"tab-scroller__scroll-area\"\n ref={(el: HTMLElement) =>\n (this.scrollArea =\n el as KupScrollOnHoverElement)\n }\n >\n <div class=\"tab-scroller__scroll-content\">\n {tabBar}\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.kupManager.scrollOnHover.unregister(this.scrollArea);\n this.kupManager.theme.unregister(this);\n }\n}\n"]}
@@ -68,15 +68,15 @@ export class KupTypography {
68
68
  /* P r i v a t e M e t h o d s */
69
69
  /*-------------------------------------------------*/
70
70
  closeRowToolbarList() {
71
- this.kupManager.dynamicPosition.stop(this.toolbarList);
72
- this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTypography_clickCbDropCard, "f"));
73
- this.toolbarList.remove();
74
- this.toolbarList = null;
75
- }
76
- createDropDownToolbarList() {
77
71
  if (this.toolbarList) {
78
- this.closeRowToolbarList();
72
+ this.kupManager.dynamicPosition.stop(this.toolbarList);
73
+ this.kupManager.removeClickCallback(__classPrivateFieldGet(this, _KupTypography_clickCbDropCard, "f"));
74
+ this.toolbarList.remove();
75
+ this.toolbarList = null;
79
76
  }
77
+ }
78
+ createDropDownToolbarList() {
79
+ this.closeRowToolbarList();
80
80
  const listEl = document.createElement('kup-list');
81
81
  listEl.data = this.toolbarData;
82
82
  listEl.isMenu = true;
@@ -157,7 +157,7 @@ export class KupTypography {
157
157
  const classObjParent = {
158
158
  'kup-typography--wrap': props.toolbar ? true : false,
159
159
  };
160
- return (h(Host, { key: '8b9fef23ec03cae54fedea66a85c1757c7dd96af' }, h("style", { key: '521ee86cfe403d56a2f9a396ed74f0f630d98b4a' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: 'd3bbde361fe80de9b7d3f0814793cd3aa0dac074', id: componentWrapperId, class: classObjParent, onClick: () => this.onKupClick }, h(FTypography, Object.assign({ key: 'f4533e06f928a221ca455ed51dd2c97b62ae0fb4' }, props)), h(FImage, Object.assign({ key: '84114a34ecf2a5aaf73ea9f9fd1338ed0fd029cb' }, propsFImage, { onClick: (event) => {
160
+ return (h(Host, { key: '981f5e75f5014b5ef747f943ffb6905ee03a07b5' }, h("style", { key: '4a77e168bda23918fcbd1aded179d9cb54027385' }, this.kupManager.theme.setKupStyle(this.rootElement)), h("div", { key: '7b4d3cd14a278c481cac14077fa16c899c81fc56', id: componentWrapperId, class: classObjParent, onClick: () => this.onKupClick }, h(FTypography, Object.assign({ key: '4e487b2d58d1161b443f7823a0c3e0f7e977ac6e' }, props)), h(FImage, Object.assign({ key: 'c62c2a74f3687836c9cfb1f3cc8afe65822ece9f' }, propsFImage, { onClick: (event) => {
161
161
  event.stopPropagation();
162
162
  this.onKupIconClick(event.currentTarget);
163
163
  } })))));