@sme.up/ketchup 11.0.0-SNAPSHOT-20241024085358 → 11.0.0-SNAPSHOT-20241024103823
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{f-cell-1eda34a4.js → f-cell-19b57f8b.js} +25 -42
- package/dist/cjs/f-cell-19b57f8b.js.map +1 -0
- package/dist/cjs/kup-autocomplete_27.cjs.entry.js +1 -1
- package/dist/cjs/kup-box.cjs.entry.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +1 -1
- package/dist/cjs/kup-image-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-input-panel.cjs.entry.js +2 -2
- package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/kup-manager-f6eafc59.js.map +1 -1
- package/dist/collection/components/kup-input-panel/kup-input-panel.css +1 -1
- package/dist/collection/f-components/f-cell/f-cell.js +25 -42
- package/dist/collection/f-components/f-cell/f-cell.js.map +1 -1
- package/dist/collection/managers/kup-data/kup-data-declarations.js.map +1 -1
- package/dist/components/kup-activity-timeline.js +1 -1
- package/dist/components/kup-autocomplete2.js +25 -42
- package/dist/components/kup-autocomplete2.js.map +1 -1
- package/dist/components/kup-box2.js +1 -1
- package/dist/components/kup-calendar.js +1 -1
- package/dist/components/kup-card-list.js +1 -1
- package/dist/components/kup-cell.js +1 -1
- package/dist/components/kup-dashboard.js +1 -1
- package/dist/components/kup-echart2.js +1 -1
- package/dist/components/kup-grid2.js +1 -1
- package/dist/components/kup-iframe.js +1 -1
- package/dist/components/kup-image-list.js +1 -1
- package/dist/components/kup-input-panel.js +2 -2
- package/dist/components/kup-input-panel.js.map +1 -1
- package/dist/components/kup-magic-box.js +1 -1
- package/dist/components/kup-manager.js +1 -1
- package/dist/components/kup-manager.js.map +1 -1
- package/dist/components/kup-planner.js +1 -1
- package/dist/components/kup-typography-list.js +1 -1
- package/dist/esm/{f-cell-465df27d.js → f-cell-0e7188e8.js} +28 -45
- package/dist/esm/f-cell-0e7188e8.js.map +1 -0
- package/dist/esm/{f-chip-f45ca58e.js → f-chip-c6c5029c.js} +2 -2
- package/dist/esm/{f-chip-f45ca58e.js.map → f-chip-c6c5029c.js.map} +1 -1
- package/dist/esm/{f-paginator-utils-f92ddef0.js → f-paginator-utils-eab9f07a.js} +2 -2
- package/dist/esm/{f-paginator-utils-f92ddef0.js.map → f-paginator-utils-eab9f07a.js.map} +1 -1
- package/dist/esm/{f-text-field-76ec5f7d.js → f-text-field-492e7cfb.js} +2 -2
- package/dist/esm/{f-text-field-76ec5f7d.js.map → f-text-field-492e7cfb.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kup-accordion.entry.js +1 -1
- package/dist/esm/kup-activity-timeline.entry.js +2 -2
- package/dist/esm/kup-autocomplete_27.entry.js +6 -6
- package/dist/esm/kup-box.entry.js +6 -6
- package/dist/esm/kup-calendar.entry.js +2 -2
- package/dist/esm/kup-card-list.entry.js +1 -1
- package/dist/esm/kup-cell.entry.js +4 -4
- package/dist/esm/kup-dashboard.entry.js +2 -2
- package/dist/esm/{kup-data-table-helper-2201fe55.js → kup-data-table-helper-646e501e.js} +2 -2
- package/dist/esm/{kup-data-table-helper-2201fe55.js.map → kup-data-table-helper-646e501e.js.map} +1 -1
- package/dist/esm/kup-drawer.entry.js +1 -1
- package/dist/esm/kup-echart.entry.js +1 -1
- package/dist/esm/kup-editor.entry.js +1 -1
- package/dist/esm/kup-family-tree.entry.js +1 -1
- package/dist/esm/kup-grid.entry.js +1 -1
- package/dist/esm/kup-htm.entry.js +1 -1
- package/dist/esm/kup-iframe.entry.js +1 -1
- package/dist/esm/kup-image-list.entry.js +4 -4
- package/dist/esm/kup-input-panel.entry.js +5 -5
- package/dist/esm/kup-input-panel.entry.js.map +1 -1
- package/dist/esm/kup-lazy.entry.js +1 -1
- package/dist/esm/kup-magic-box.entry.js +1 -1
- package/dist/esm/{kup-manager-f57e4a5f.js → kup-manager-07bfc644.js} +2 -2
- package/dist/esm/{kup-manager-f57e4a5f.js.map → kup-manager-07bfc644.js.map} +1 -1
- package/dist/esm/kup-nav-bar.entry.js +1 -1
- package/dist/esm/kup-numeric-picker.entry.js +2 -2
- package/dist/esm/kup-pdf.entry.js +1 -1
- package/dist/esm/kup-photo-frame.entry.js +1 -1
- package/dist/esm/kup-planner.entry.js +2 -2
- package/dist/esm/kup-probe.entry.js +1 -1
- package/dist/esm/kup-qlik.entry.js +1 -1
- package/dist/esm/kup-snackbar.entry.js +1 -1
- package/dist/esm/kup-typography-list.entry.js +1 -1
- package/dist/esm/kup-typography.entry.js +1 -1
- package/dist/ketchup/index.esm.js +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/{p-7a02ec00.entry.js → p-107388e3.entry.js} +2 -2
- package/dist/ketchup/{p-720c5ae1.js → p-13e7fe14.js} +2 -2
- package/dist/ketchup/{p-21c5133e.entry.js → p-17f91e1d.entry.js} +2 -2
- package/dist/ketchup/{p-e33248f0.entry.js → p-18cdc566.entry.js} +2 -2
- package/dist/ketchup/{p-5906f9a0.entry.js → p-19933a35.entry.js} +2 -2
- package/dist/ketchup/{p-0d2de1d2.entry.js → p-1e457a4c.entry.js} +2 -2
- package/dist/ketchup/{p-22a83408.entry.js → p-20b49cab.entry.js} +2 -2
- package/dist/ketchup/{p-7cacbaa8.entry.js → p-2159cb7d.entry.js} +2 -2
- package/dist/ketchup/{p-e49dd479.entry.js → p-2dfbf6cc.entry.js} +2 -2
- package/dist/ketchup/{p-1fb51b42.entry.js → p-35dcc495.entry.js} +2 -2
- package/dist/ketchup/p-3cf2fcc1.entry.js +2 -0
- package/dist/ketchup/{p-7cca823b.entry.js.map → p-3cf2fcc1.entry.js.map} +1 -1
- package/dist/ketchup/{p-e9407357.entry.js → p-3e6434f9.entry.js} +2 -2
- package/dist/ketchup/{p-1dd09495.js → p-4a84cdec.js} +2 -2
- package/dist/ketchup/{p-8eb61a64.entry.js → p-516d1ab7.entry.js} +2 -2
- package/dist/ketchup/{p-795ed6f8.entry.js → p-58978dd0.entry.js} +2 -2
- package/dist/ketchup/{p-6bf9e08e.entry.js → p-595a4c1f.entry.js} +2 -2
- package/dist/ketchup/{p-e195e9da.entry.js → p-74658c36.entry.js} +2 -2
- package/dist/ketchup/{p-94927e94.entry.js → p-89845cf1.entry.js} +2 -2
- package/dist/ketchup/{p-d5fa41e7.entry.js → p-89866b04.entry.js} +2 -2
- package/dist/ketchup/{p-9fcaf427.entry.js → p-90316bea.entry.js} +2 -2
- package/dist/ketchup/p-90316bea.entry.js.map +1 -0
- package/dist/ketchup/{p-07e18bea.entry.js → p-9b1a821d.entry.js} +2 -2
- package/dist/ketchup/{p-4d19d951.entry.js → p-a97d6070.entry.js} +2 -2
- package/dist/ketchup/{p-9e7f5ec3.entry.js → p-ab60dd33.entry.js} +2 -2
- package/dist/ketchup/{p-44177671.entry.js → p-ae122dfc.entry.js} +2 -2
- package/dist/ketchup/{p-bdd1c18c.entry.js → p-be8e06db.entry.js} +2 -2
- package/dist/ketchup/p-c5845d51.js +2 -0
- package/dist/ketchup/{p-b2756ccb.entry.js → p-c9f02ff2.entry.js} +2 -2
- package/dist/ketchup/{p-3c56b590.entry.js → p-cb02fb80.entry.js} +2 -2
- package/dist/ketchup/{p-f6a5e96d.js → p-d2ca23dd.js} +2 -2
- package/dist/ketchup/p-d2ca23dd.js.map +1 -0
- package/dist/ketchup/{p-6b3839e9.entry.js → p-e41ef521.entry.js} +2 -2
- package/dist/ketchup/{p-7c8d7e71.entry.js → p-e995d57b.entry.js} +2 -2
- package/dist/ketchup/{p-afcecbf4.entry.js → p-ed185e52.entry.js} +2 -2
- package/dist/ketchup/{p-b83642df.entry.js → p-f0b0c1a0.entry.js} +2 -2
- package/dist/ketchup/{p-709d72e1.js → p-f4049819.js} +2 -2
- package/dist/ketchup/p-f63dd1ec.js +2 -0
- package/dist/ketchup/p-f63dd1ec.js.map +1 -0
- package/dist/types/managers/kup-data/kup-data-declarations.d.ts +7 -1
- package/package.json +1 -1
- package/dist/cjs/f-cell-1eda34a4.js.map +0 -1
- package/dist/esm/f-cell-465df27d.js.map +0 -1
- package/dist/ketchup/p-5b5d99c4.js +0 -2
- package/dist/ketchup/p-5b5d99c4.js.map +0 -1
- package/dist/ketchup/p-7cca823b.entry.js +0 -2
- package/dist/ketchup/p-9fcaf427.entry.js.map +0 -1
- package/dist/ketchup/p-f2f03a48.js +0 -2
- package/dist/ketchup/p-f6a5e96d.js.map +0 -1
- /package/dist/ketchup/{p-7a02ec00.entry.js.map → p-107388e3.entry.js.map} +0 -0
- /package/dist/ketchup/{p-720c5ae1.js.map → p-13e7fe14.js.map} +0 -0
- /package/dist/ketchup/{p-21c5133e.entry.js.map → p-17f91e1d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e33248f0.entry.js.map → p-18cdc566.entry.js.map} +0 -0
- /package/dist/ketchup/{p-5906f9a0.entry.js.map → p-19933a35.entry.js.map} +0 -0
- /package/dist/ketchup/{p-0d2de1d2.entry.js.map → p-1e457a4c.entry.js.map} +0 -0
- /package/dist/ketchup/{p-22a83408.entry.js.map → p-20b49cab.entry.js.map} +0 -0
- /package/dist/ketchup/{p-7cacbaa8.entry.js.map → p-2159cb7d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e49dd479.entry.js.map → p-2dfbf6cc.entry.js.map} +0 -0
- /package/dist/ketchup/{p-1fb51b42.entry.js.map → p-35dcc495.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e9407357.entry.js.map → p-3e6434f9.entry.js.map} +0 -0
- /package/dist/ketchup/{p-1dd09495.js.map → p-4a84cdec.js.map} +0 -0
- /package/dist/ketchup/{p-8eb61a64.entry.js.map → p-516d1ab7.entry.js.map} +0 -0
- /package/dist/ketchup/{p-795ed6f8.entry.js.map → p-58978dd0.entry.js.map} +0 -0
- /package/dist/ketchup/{p-6bf9e08e.entry.js.map → p-595a4c1f.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e195e9da.entry.js.map → p-74658c36.entry.js.map} +0 -0
- /package/dist/ketchup/{p-94927e94.entry.js.map → p-89845cf1.entry.js.map} +0 -0
- /package/dist/ketchup/{p-d5fa41e7.entry.js.map → p-89866b04.entry.js.map} +0 -0
- /package/dist/ketchup/{p-07e18bea.entry.js.map → p-9b1a821d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-4d19d951.entry.js.map → p-a97d6070.entry.js.map} +0 -0
- /package/dist/ketchup/{p-9e7f5ec3.entry.js.map → p-ab60dd33.entry.js.map} +0 -0
- /package/dist/ketchup/{p-44177671.entry.js.map → p-ae122dfc.entry.js.map} +0 -0
- /package/dist/ketchup/{p-bdd1c18c.entry.js.map → p-be8e06db.entry.js.map} +0 -0
- /package/dist/ketchup/{p-f2f03a48.js.map → p-c5845d51.js.map} +0 -0
- /package/dist/ketchup/{p-b2756ccb.entry.js.map → p-c9f02ff2.entry.js.map} +0 -0
- /package/dist/ketchup/{p-3c56b590.entry.js.map → p-cb02fb80.entry.js.map} +0 -0
- /package/dist/ketchup/{p-6b3839e9.entry.js.map → p-e41ef521.entry.js.map} +0 -0
- /package/dist/ketchup/{p-7c8d7e71.entry.js.map → p-e995d57b.entry.js.map} +0 -0
- /package/dist/ketchup/{p-afcecbf4.entry.js.map → p-ed185e52.entry.js.map} +0 -0
- /package/dist/ketchup/{p-b83642df.entry.js.map → p-f0b0c1a0.entry.js.map} +0 -0
- /package/dist/ketchup/{p-709d72e1.js.map → p-f4049819.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["KupListProps","KupListRole","ItemsDisplayMode","FSwitchSizing","FSwitch","props","sizing","MEDIUM","toLowerCase","SMALL","classObj","switch","checked","disabled","h","Object","assign","class","danger","info","secondary","success","warning","wrapperClass","dataSet","id","title","leadingLabel","type","role","value","onBlur","onChange","onFocus","onClick","label","FProgressBar","centeredLabel","componentClass","animated","padded","slim","striped","pieClass","radialStyle","undefined","isRadial","labelStyle","valueStyle","width","icon","createIconElement","hideLabel","style","indexOf","src","svg","getAssetPath","iconStyle","mask","webkitMask","FRadioType","FRadio","hasColumns","columns","radioList","radioType","RADIO","i","_a","data","length","radio","push","name","bind","Fragment","FImage","resource","sizeX","sizeY","htmlFor","styleObj","horizontal","FRating","maxValue","buildStars","stars","dom","document","documentElement","FCell","children","cell","column","row","shape","hasObj","ketchup","objects","isEmptyKupObj","obj","isEditable","hasOwnProperty","editable","options","mapData","FCellShapes","TEXT_FIELD","valueToDisplay","previousValue","cellType","getType","subcomponentProps","cssClasses","cssClass","component","legacyLook","FCellClasses","OBJ","density","FCellTypes","BAR","content","setDefaults","editableTypes","includes","setEditableCell","kupTypes","setSizes","setCellSizeKup","renderKup","lazyClass","setKupCell","setCellSize","setCell","fProps","color","KupThemeColorValues","TEXT","placeholderResource","placeholderIcon","cellTitle","debug","isDebug","t","p","k","trim","infoEl","INFO","message","onKeyUp","e","cellEvent","FCellEvents","KEYUP","ref","el","element","styleContent","cellActionIcon","NUMBER","tabIndex","indents","col","fieldLabel","currentValue","dataAdapterMap","Map","BUTTON_LIST","MainBTNAdapter","this","STRING","MainITXAdapter","MainRADAdapter","AUTOCOMPLETE","MainCMBandACPAdapter","COMBOBOX","CHECKBOX","MainCHKAdapter","OBJECT","MainObjectAdapter","adapter","get","_fieldLabel","_cell","_id","initialValue","_currentValue","RADAdapter","rawOptions","configCMandACP","CMBandACPAdapter","optionsTreeComboAdapter","optionsAdapterMap","map","option","selected","treeOptionsNodeAdapter","child","codice","testo","dataTreeOptionsChildrenAdapter","tableOptionsAdapter","rows","cells","fields","keys","_options","_b","ICON","height","minHeight","IMAGE","cellValue","hasExternalResource","rootElement","tagName","KupTagNames","DATA_TABLE","BOX","fit","BUTTON","CHART","CHIP","key","isFullWidth","UPDATE","INPUT","ICON_CLICK","isAutoCentered","C_CENTERED","INPUT_CHECKBOX","FCheckbox","FChipType","enableInput","fullWidth","slot","slotData","COLOR_PICKER","DATE","MULTI_AUTOCOMPLETE","displayId","displayMode","DESCRIPTION_AND_CODE","selectMode","showDropDownIcon","MULTI_COMBOBOX","radioData","index","radioEl","RATING","SWITCH","TIME","FTextField","onIconClick","C_RIGHT_ALIGNED","LINK","onInput","math","numberifySafe","toString","INPUT_FIELD","maxLength","cellData","inputType","DATETIME","getCellValueForDisplay","EDITOR","innerHTML","badgeData","C_PADDED","href","target","cellValueNumber","TEXT_DANGER","barStyle","FButton","CLICK","FChip","GAUGE","KNOB","PROGRESS_BAR","customStyle","readOnly","isShapeBarMarker","toUpperCase","startsWith","isShapeMarker","isBgColorMarker","isHeightMarker","isDecoratorMarker","getData","graphicElementDefinitionArr","split","graphicElem","elementData","getElementData","commonsData","markersArray","shapesArray","vString","attr","replace","isNaN","parseFloat","substring","getShapeData","shapeData","pattern","match","exec","r","g","b","parseInt","createDataset","parts","pop","part","isCanvas","offlineMode","cellEventName","comp","getValueFromEventTaget","detail","stringifiedValues","displayedValue","CustomEvent","bubbles","cancelable","composed","event","dispatchEvent","refresh","error","logMessage","KupDebugCategory","ERROR","isInputEvent","formattedStringToNumberString","autoCenterComps","fullWidthFieldsComps"],"sources":["src/components/kup-list/kup-list-declarations.ts","src/f-components/f-switch/f-switch-declarations.ts","src/f-components/f-switch/f-switch.tsx","src/f-components/f-progress-bar/f-progress-bar.tsx","src/f-components/f-radio/f-radio-declarations.ts","src/f-components/f-radio/f-radio.tsx","src/f-components/f-rating/f-rating.tsx","src/f-components/f-cell/f-cell.tsx"],"sourcesContent":["import { KupEventPayload } from '../../types/GenericTypes';\nimport { ValueDisplayedValue as vdv } from '../../utils/filters/filters-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-list component.\n * Used to export every prop in an object.\n */\nexport enum KupListProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the list.',\n displayMode = 'Selects how the items must display their label and how they can be filtered for.',\n filter = 'Keeps string for filtering elements when filter mode is active',\n hideText = \"Hides rows' text, ideally to display a list of icons only.\",\n isMenu = 'Defines whether the list is a menu or not.',\n keyboardNavigation = \"When true, enables items' navigation through arrow keys.\",\n menuVisible = \"Sets the status of the menu, when false it's hidden otherwise it's visible.\",\n roleType = 'Defines the type of selection. Values accepted: listbox, radiogroup or group.',\n selectable = 'Defines whether items are selectable or not.',\n showIcons = 'Displays the icons associated to each row when set to true.',\n twoLine = 'The list elements descriptions will be arranged in two lines.',\n}\n/**\n * Data structure of a single list item.\n */\nexport interface KupListNode extends KupDataNode {\n secondaryText?: string;\n selected?: boolean;\n separator?: boolean;\n}\n/**\n * Available types of selection.\n */\nexport enum KupListRole {\n LISTBOX = 'listbox',\n RADIOGROUP = 'radiogroup',\n GROUP = 'group',\n}\n\nexport interface ValueDisplayedValue extends vdv {\n exists: boolean;\n}\n\nexport enum ItemsDisplayMode {\n CODE = 'code',\n DESCRIPTION = 'description',\n DESCRIPTION_AND_CODE = 'both',\n}\nexport interface KupListEventPayload extends KupEventPayload {\n selected: KupListNode;\n index?: number;\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-switch component.\n */\nexport interface FSwitchProps extends FComponent {\n checked?: boolean;\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onClick?: (event: MouseEvent) => void;\n onChange?: (event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n sizing?: FSwitchSizing;\n}\n\n/**\n * Types of the f-chip component.\n * @enum {string}\n * @property {string} SMALL - Small size: height = 24px\n * @property {string} MEDIUM - Medium size: height = 32px (default)\n */\n\nexport enum FSwitchSizing { // GenericTypes to be studied because small chips goes with small button/textfield but has different sizes\n SMALL = 'small',\n MEDIUM = 'medium',\n}\n","import { FSwitchSizing, type FSwitchProps } from './f-switch-declarations';\nimport { FunctionalComponent, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FSwitch: FunctionalComponent<FSwitchProps> = (\n props: FSwitchProps\n) => {\n if (!props.sizing) {\n props.sizing = FSwitchSizing.MEDIUM;\n }\n const isSmall: boolean = props.sizing.toLowerCase() === FSwitchSizing.SMALL;\n const classObj: Record<string, boolean> = {\n switch: true,\n 'switch--checked': props.checked,\n 'switch--disabled': props.disabled,\n [`switch--${props.sizing}`]: props.sizing ? true : false,\n };\n\n return (\n <div\n class={`f-switch ${props.danger ? 'kup-danger' : ''} ${\n props.info ? 'kup-info' : ''\n } ${props.secondary ? 'kup-secondary' : ''} ${\n props.success ? 'kup-success' : ''\n } ${props.warning ? 'kup-warning' : ''} ${\n props.wrapperClass ? props.wrapperClass : ''\n }`}\n {...props.dataSet}\n id={props.id}\n title={props.title}\n >\n <div\n class={`form-field ${\n props.leadingLabel ? 'form-field--align-end' : ''\n }`}\n >\n <div class={classObj}>\n <div class=\"switch__track\"></div>\n <div class=\"switch__thumb-underlay\">\n <div class=\"switch__thumb\">\n <input\n type=\"checkbox\"\n class=\"switch__native-control\"\n role=\"switch\"\n checked={props.checked}\n disabled={props.disabled}\n value={props.checked ? 'on' : 'off'}\n onBlur={props.onBlur}\n onChange={props.onChange}\n onFocus={props.onFocus}\n ></input>\n </div>\n </div>\n </div>\n <label onClick={props.onChange}>{props.label}</label>\n </div>\n </div>\n );\n};\n","import type { FProgressBarProps } from './f-progress-bar-declarations';\nimport { FunctionalComponent, getAssetPath, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FProgressBar: FunctionalComponent<FProgressBarProps> = (\n props: FProgressBarProps\n) => {\n if (!props.centeredLabel && !props.centeredLabel !== false) {\n props.centeredLabel = true;\n }\n\n let componentClass = `f-progress-bar ${props.danger ? 'kup-danger' : ''} ${\n props.animated ? 'kup-animated' : ''\n } ${props.padded ? 'kup-padded' : ''} ${props.info ? 'kup-info' : ''} ${\n props.slim ? 'kup-slim' : ''\n } ${props.striped ? 'kup-striped' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.slim ? 'kup-slim' : ''} ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`;\n let pieClass: string = 'pie';\n let radialStyle = undefined;\n if (props.isRadial) {\n componentClass += ' pie-wrapper is-radial';\n } else {\n componentClass += ' progress-bar';\n }\n\n let labelStyle = undefined;\n\n const valueStyle = {\n width: `${props.value}%`,\n };\n\n if (!props.centeredLabel) {\n labelStyle = valueStyle;\n if (props.value > 2) {\n componentClass += ' text-color-on-primary';\n }\n } else if (props.value > 49) {\n componentClass += ' text-color-on-primary';\n }\n\n let label = null;\n if (props.icon) {\n label = createIconElement(props);\n } else {\n if (!props.hideLabel) {\n if (props.isRadial) {\n if (props.label) {\n label = <span class=\"label\">{props.label}</span>;\n } else {\n label = (\n <span class=\"label\">\n {props.value}\n <span class=\"smaller\">%</span>\n </span>\n );\n }\n } else {\n if (props.label) {\n label = props.label;\n } else {\n label = props.value + '%';\n }\n }\n }\n }\n\n if (props.value > 0) {\n pieClass += ' has-value';\n if (props.value > 50) {\n pieClass += ' is-more-than-half';\n } else {\n pieClass += ' is-less-than-half';\n }\n }\n\n if (props.isRadial) {\n return (\n <div class={componentClass}>\n {label}\n <div class={pieClass}>\n <div\n style={radialStyle}\n class=\"left-side half-circle\"\n ></div>\n <div class=\"right-side half-circle\"></div>\n </div>\n <div class=\"shadow\"></div>\n </div>\n );\n } else {\n return (\n <div class={componentClass}>\n <div class=\"progress-bar-percentage\" style={valueStyle}>\n <span style={labelStyle}>{label}</span>\n </div>\n </div>\n );\n }\n};\n\nfunction createIconElement(props: FProgressBarProps) {\n if (!props.icon) {\n return undefined;\n }\n\n if (\n props.icon.indexOf('.') > -1 ||\n props.icon.indexOf('/') > -1 ||\n props.icon.indexOf('\\\\') > -1\n ) {\n return (\n <span class=\"label kup-icon is-image\">\n <img src={props.icon}></img>\n </span>\n );\n } else {\n let svg: string = `url('${getAssetPath(\n `./assets/svg/${props.icon}.svg`\n )}') no-repeat center`;\n let iconStyle = {\n mask: svg,\n webkitMask: svg,\n };\n return <span style={iconStyle} class=\"label kup-icon\"></span>;\n }\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-radio component.\n */\nexport interface FRadioProps extends FComponent {\n type?: FRadioType;\n columns?: number;\n data?: FRadioData[];\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onChange?: (i: number, event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n horizontal?: boolean;\n}\n/**\n * The object of a single radio.\n */\nexport interface FRadioData {\n checked: boolean;\n label: string;\n value: string;\n}\n\nexport enum FRadioType {\n RADIO = 'radio',\n CHEVRON = 'chevron',\n}\n","import { FunctionalComponent, VNode, h, Fragment } from '@stencil/core';\nimport { GenericObject } from '../../components';\nimport {\n FRadioType,\n type FRadioData,\n type FRadioProps,\n} from './f-radio-declarations';\nimport { FImage } from '../f-image/f-image';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRadio: FunctionalComponent<FRadioProps> = (\n props: FRadioProps\n) => {\n const hasColumns: boolean = !!props.columns;\n const radioList: Array<VNode> = [];\n\n // Default to 'radio' if props.type is not specified\n const radioType = props.type || FRadioType.RADIO;\n for (let i = 0; i < props.data?.length; i++) {\n const data: FRadioData = props.data[i];\n const classObj: GenericObject = {\n radio: true,\n 'radio--checked': data.checked ? true : false,\n 'radio--disabled': props.disabled ? true : false,\n [`radio--${props.type}`]: props.type ? true : false,\n };\n\n radioList.push(\n <div\n class={`form-field \n ${props.leadingLabel ? ' form-field--align-end' : ''} ${\n props.disabled ? 'radio--disabled' : ''\n }`}\n >\n <div class={classObj}>\n {radioType === FRadioType.RADIO ? (\n // Radio button type rendering\n <input\n class=\"radio__native-control\"\n type=\"radio\"\n name=\"radio-element\"\n value={data.value}\n checked={data.checked}\n disabled={props.disabled}\n onBlur={props.onBlur}\n onChange={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n onFocus={props.onFocus}\n ></input>\n ) : (\n // Chevron type rendering\n <>\n {data.checked ? (\n <FImage\n resource=\"check\"\n sizeX=\"14px\"\n sizeY=\"14px\"\n ></FImage>\n ) : (\n <FImage\n sizeX=\"14px\"\n sizeY=\"14px\"\n onClick={\n props.onChange\n ? props.onChange.bind(\n props.onChange,\n i\n )\n : null\n }\n ></FImage>\n )}\n </>\n )}\n {radioType === FRadioType.RADIO && (\n <div class=\"radio__background\">\n <div class=\"radio__outer-circle\"></div>\n <div class=\"radio__inner-circle\"></div>\n </div>\n )}\n </div>\n <label\n htmlFor={'radio-element'}\n onClick={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n >\n {data.label ? data.label : ''}\n </label>\n </div>\n );\n }\n\n const styleObj: GenericObject = {\n '--kup_radio_columns': hasColumns\n ? `repeat(${props.columns}, 1fr)`\n : '',\n };\n\n return (\n <div\n class={`f-radio radio-wrapper\n ${hasColumns ? 'radio-wrapper-grid' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''} ${\n props.horizontal ? 'kup-horizontal' : ''\n }`}\n style={styleObj}\n >\n {radioList}\n </div>\n );\n};\n","import { FunctionalComponent, VNode, h } from '@stencil/core';\nimport type { FRatingProps } from './f-rating-declarations';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRating: FunctionalComponent<FRatingProps> = (\n props: FRatingProps\n) => {\n if (!props.maxValue) {\n props.maxValue = 5;\n }\n return (\n <div\n class={`f-rating ${props.disabled ? 'disabled' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`}\n >\n {buildStars(props)}\n </div>\n );\n};\n\nfunction buildStars(props: FRatingProps) {\n const stars: VNode[] = [];\n\n for (let i = 1; i <= props.maxValue; i++) {\n if (i <= props.value) {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ★\n </span>\n );\n } else {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ☆\n </span>\n );\n }\n }\n\n return stars;\n}\n","import type { FCheckboxProps } from '../f-checkbox/f-checkbox-declarations';\nimport type { FImageData, FImageProps } from '../f-image/f-image-declarations';\nimport type { FButtonProps } from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CMBandACPAdapter,\n getCellValueForDisplay,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n cell.data = mapData(cell, column) ?? cell.data;\n\n if (props.cell.shape === FCellShapes.TEXT_FIELD) {\n cell.value = cell.data.value;\n }\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column.cssClass\n ? column.cssClass\n : '';\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.CHECKBOX, MainCHKAdapter.bind(this)],\n [FCellTypes.OBJECT, MainObjectAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainObjectAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => {\n if (options[0]) {\n return {\n initialValue: currentValue,\n label: options[0].label,\n value: options[0].value,\n };\n }\n};\n\nconst MainCHKAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string\n) => {\n if (options?.[0]) {\n return {\n checked: options[0].checked,\n label: options[0].label,\n };\n }\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n _cell: KupDataCellOptions\n) => {\n if (options?.[0]) {\n return {\n value: options[0].label,\n };\n }\n};\n\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)\n }\n ></FTextField>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.STRING:\n const onChange = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n const onInput = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.INPUT);\n const type = cellType === FCellTypes.NUMBER ? 'number' : null;\n const value =\n cellType === FCellTypes.NUMBER && cell.value\n ? dom.ketchup.math.numberifySafe(cell.value).toString()\n : cell.value;\n if (cell.shape === FCellShapes.INPUT_FIELD) {\n return (\n <input\n class={'input-field'}\n onChange={onChange}\n onInput={onInput}\n type={type}\n value={value}\n maxLength={column.cellData?.maxLength ?? -1}\n ></input>\n );\n } else {\n return (\n <FTextField\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTaget(e, cellType);\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n // data change handled outside this switchcase to avoid passing the index\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value.toString();\n }\n cell.value = value.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTaget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!((e.target as HTMLElement).tagName === 'INPUT');\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"],"mappings":"2XAQYA,GAAZ,SAAYA,GACRA,EAAA,gDACAA,EAAA,gCACAA,EAAA,kGACAA,EAAA,2EACAA,EAAA,yEACAA,EAAA,uDACAA,EAAA,iFACAA,EAAA,6FACAA,EAAA,4FACAA,EAAA,6DACAA,EAAA,2EACAA,EAAA,0EACH,EAbD,CAAYA,MAAY,K,IAyBZC,GAAZ,SAAYA,GACRA,EAAA,qBACAA,EAAA,2BACAA,EAAA,gBACH,EAJD,CAAYA,MAAW,K,IAUXC,GAAZ,SAAYA,GACRA,EAAA,eACAA,EAAA,6BACAA,EAAA,8BACH,EAJD,CAAYA,MAAgB,K,ICpBhBC,GAAZ,SAAYA,GACRA,EAAA,iBACAA,EAAA,kBACH,EAHD,CAAYA,MAAa,K,MChBZC,EACTC,IAEA,IAAKA,EAAMC,OAAQ,CACfD,EAAMC,OAASH,EAAcI,M,CAERF,EAAMC,OAAOE,gBAAkBL,EAAcM,MACtE,MAAMC,EAAoC,CACtCC,OAAQ,KACR,kBAAmBN,EAAMO,QACzB,mBAAoBP,EAAMQ,SAC1B,CAAC,WAAWR,EAAMC,UAAWD,EAAMC,OAAS,KAAO,OAGvD,OACIQ,EAAA,MAAAC,OAAAC,OAAA,CACIC,MAAO,YAAYZ,EAAMa,OAAS,aAAe,MAC7Cb,EAAMc,KAAO,WAAa,MAC1Bd,EAAMe,UAAY,gBAAkB,MACpCf,EAAMgB,QAAU,cAAgB,MAChChB,EAAMiB,QAAU,cAAgB,MAChCjB,EAAMkB,aAAelB,EAAMkB,aAAe,MAE1ClB,EAAMmB,QAAO,CACjBC,GAAIpB,EAAMoB,GACVC,MAAOrB,EAAMqB,QAEbZ,EAAA,OACIG,MAAO,cACHZ,EAAMsB,aAAe,wBAA0B,MAGnDb,EAAA,OAAKG,MAAOP,GACRI,EAAA,OAAKG,MAAM,kBACXH,EAAA,OAAKG,MAAM,0BACPH,EAAA,OAAKG,MAAM,iBACPH,EAAA,SACIc,KAAK,WACLX,MAAM,yBACNY,KAAK,SACLjB,QAASP,EAAMO,QACfC,SAAUR,EAAMQ,SAChBiB,MAAOzB,EAAMO,QAAU,KAAO,MAC9BmB,OAAQ1B,EAAM0B,OACdC,SAAU3B,EAAM2B,SAChBC,QAAS5B,EAAM4B,aAK/BnB,EAAA,SAAOoB,QAAS7B,EAAM2B,UAAW3B,EAAM8B,QAEzC,E,MCpDDC,EACT/B,IAEA,IAAKA,EAAMgC,gBAAkBhC,EAAMgC,gBAAkB,MAAO,CACxDhC,EAAMgC,cAAgB,I,CAG1B,IAAIC,EAAiB,kBAAkBjC,EAAMa,OAAS,aAAe,MACjEb,EAAMkC,SAAW,eAAiB,MAClClC,EAAMmC,OAAS,aAAe,MAAMnC,EAAMc,KAAO,WAAa,MAC9Dd,EAAMoC,KAAO,WAAa,MAC1BpC,EAAMqC,QAAU,cAAgB,QAChCrC,EAAMe,UAAY,gBAAkB,MACpCf,EAAMoC,KAAO,WAAa,MAAMpC,EAAMgB,QAAU,cAAgB,MAChEhB,EAAMiB,QAAU,cAAgB,MAChCjB,EAAMkB,aAAelB,EAAMkB,aAAe,KAC9C,IAAIoB,EAAmB,MACvB,IAAIC,EAAcC,UAClB,GAAIxC,EAAMyC,SAAU,CAChBR,GAAkB,wB,KACf,CACHA,GAAkB,e,CAGtB,IAAIS,EAAaF,UAEjB,MAAMG,EAAa,CACfC,MAAO,GAAG5C,EAAMyB,UAGpB,IAAKzB,EAAMgC,cAAe,CACtBU,EAAaC,EACb,GAAI3C,EAAMyB,MAAQ,EAAG,CACjBQ,GAAkB,wB,OAEnB,GAAIjC,EAAMyB,MAAQ,GAAI,CACzBQ,GAAkB,wB,CAGtB,IAAIH,EAAQ,KACZ,GAAI9B,EAAM6C,KAAM,CACZf,EAAQgB,EAAkB9C,E,KACvB,CACH,IAAKA,EAAM+C,UAAW,CAClB,GAAI/C,EAAMyC,SAAU,CAChB,GAAIzC,EAAM8B,MAAO,CACbA,EAAQrB,EAAA,QAAMG,MAAM,SAASZ,EAAM8B,M,KAChC,CACHA,EACIrB,EAAA,QAAMG,MAAM,SACPZ,EAAMyB,MACPhB,EAAA,QAAMG,MAAM,WAAS,K,MAI9B,CACH,GAAIZ,EAAM8B,MAAO,CACbA,EAAQ9B,EAAM8B,K,KACX,CACHA,EAAQ9B,EAAMyB,MAAQ,G,IAMtC,GAAIzB,EAAMyB,MAAQ,EAAG,CACjBa,GAAY,aACZ,GAAItC,EAAMyB,MAAQ,GAAI,CAClBa,GAAY,oB,KACT,CACHA,GAAY,oB,EAIpB,GAAItC,EAAMyC,SAAU,CAChB,OACIhC,EAAA,OAAKG,MAAOqB,GACPH,EACDrB,EAAA,OAAKG,MAAO0B,GACR7B,EAAA,OACIuC,MAAOT,EACP3B,MAAM,0BAEVH,EAAA,OAAKG,MAAM,4BAEfH,EAAA,OAAKG,MAAM,W,KAGhB,CACH,OACIH,EAAA,OAAKG,MAAOqB,GACRxB,EAAA,OAAKG,MAAM,0BAA0BoC,MAAOL,GACxClC,EAAA,QAAMuC,MAAON,GAAaZ,I,GAO9C,SAASgB,EAAkB9C,GACvB,IAAKA,EAAM6C,KAAM,CACb,OAAOL,S,CAGX,GACIxC,EAAM6C,KAAKI,QAAQ,MAAQ,GAC3BjD,EAAM6C,KAAKI,QAAQ,MAAQ,GAC3BjD,EAAM6C,KAAKI,QAAQ,OAAS,EAC9B,CACE,OACIxC,EAAA,QAAMG,MAAM,2BACRH,EAAA,OAAKyC,IAAKlD,EAAM6C,O,KAGrB,CACH,IAAIM,EAAc,QAAQC,EACtB,gBAAgBpD,EAAM6C,iCAE1B,IAAIQ,EAAY,CACZC,KAAMH,EACNI,WAAYJ,GAEhB,OAAO1C,EAAA,QAAMuC,MAAOK,EAAWzC,MAAM,kB,CAE7C,CC1GA,IAAY4C,GAAZ,SAAYA,GACRA,EAAA,iBACAA,EAAA,oBACH,EAHD,CAAYA,MAAU,K,MCZTC,EACTzD,I,MAEA,MAAM0D,IAAwB1D,EAAM2D,QACpC,MAAMC,EAA0B,GAGhC,MAAMC,EAAY7D,EAAMuB,MAAQiC,EAAWM,MAC3C,IAAK,IAAIC,EAAI,EAAGA,IAAIC,EAAAhE,EAAMiE,QAAI,MAAAD,SAAA,SAAAA,EAAEE,QAAQH,IAAK,CACzC,MAAME,EAAmBjE,EAAMiE,KAAKF,GACpC,MAAM1D,EAA0B,CAC5B8D,MAAO,KACP,iBAAkBF,EAAK1D,QAAU,KAAO,MACxC,kBAAmBP,EAAMQ,SAAW,KAAO,MAC3C,CAAC,UAAUR,EAAMuB,QAASvB,EAAMuB,KAAO,KAAO,OAGlDqC,EAAUQ,KACN3D,EAAA,OACIG,MAAO,kCACHZ,EAAMsB,aAAe,yBAA2B,MAChDtB,EAAMQ,SAAW,kBAAoB,MAGzCC,EAAA,OAAKG,MAAOP,GACPwD,IAAcL,EAAWM,MAEtBrD,EAAA,SACIG,MAAM,wBACNW,KAAK,QACL8C,KAAK,gBACL5C,MAAOwC,EAAKxC,MACZlB,QAAS0D,EAAK1D,QACdC,SAAUR,EAAMQ,SAChBkB,OAAQ1B,EAAM0B,OACdC,SACI3B,EAAM2B,SACA3B,EAAM2B,SAAS2C,KAAKtE,EAAM2B,SAAUoC,GACpC,KAEVnC,QAAS5B,EAAM4B,UAInBnB,EAAA8D,EAAA,KACKN,EAAK1D,QACFE,EAAC+D,EAAM,CACHC,SAAS,QACTC,MAAM,OACNC,MAAM,SAGVlE,EAAC+D,EAAM,CACHE,MAAM,OACNC,MAAM,OACN9C,QACI7B,EAAM2B,SACA3B,EAAM2B,SAAS2C,KACXtE,EAAM2B,SACNoC,GAEJ,QAMzBF,IAAcL,EAAWM,OACtBrD,EAAA,OAAKG,MAAM,qBACPH,EAAA,OAAKG,MAAM,wBACXH,EAAA,OAAKG,MAAM,0BAIvBH,EAAA,SACImE,QAAS,gBACT/C,QACI7B,EAAM2B,SACA3B,EAAM2B,SAAS2C,KAAKtE,EAAM2B,SAAUoC,GACpC,MAGTE,EAAKnC,MAAQmC,EAAKnC,MAAQ,K,CAM3C,MAAM+C,EAA0B,CAC5B,sBAAuBnB,EACjB,UAAU1D,EAAM2D,gBAChB,IAGV,OACIlD,EAAA,OACIG,MAAO,uCACJ8C,EAAa,qBAAuB,MACnC1D,EAAMa,OAAS,aAAe,MAC9Bb,EAAMc,KAAO,WAAa,MAC1Bd,EAAMe,UAAY,gBAAkB,MACpCf,EAAMgB,QAAU,cAAgB,MAChChB,EAAMiB,QAAU,cAAgB,MAChCjB,EAAMkB,aAAelB,EAAMkB,aAAe,MAC1ClB,EAAM8E,WAAa,iBAAmB,KAE1C9B,MAAO6B,GAENjB,EACC,E,MCnHDmB,EACT/E,IAEA,IAAKA,EAAMgF,SAAU,CACjBhF,EAAMgF,SAAW,C,CAErB,OACIvE,EAAA,OACIG,MAAO,YAAYZ,EAAMQ,SAAW,WAAa,MAC7CR,EAAMa,OAAS,aAAe,MAC9Bb,EAAMc,KAAO,WAAa,MAC1Bd,EAAMe,UAAY,gBAAkB,MACpCf,EAAMgB,QAAU,cAAgB,MAChChB,EAAMiB,QAAU,cAAgB,MAChCjB,EAAMkB,aAAelB,EAAMkB,aAAe,MAE7C+D,EAAWjF,GACV,EAId,SAASiF,EAAWjF,GAChB,MAAMkF,EAAiB,GAEvB,IAAK,IAAInB,EAAI,EAAGA,GAAK/D,EAAMgF,SAAUjB,IAAK,CACtC,GAAIA,GAAK/D,EAAMyB,MAAO,CAClByD,EAAMd,KACF3D,EAAA,QACIG,MAAM,SACNiB,QACI7B,EAAM6B,QACA7B,EAAM6B,QAAQyC,KAAKtE,EAAM6B,QAASkC,GAClC,MAAI,K,KAMnB,CACHmB,EAAMd,KACF3D,EAAA,QACIG,MAAM,SACNiB,QACI7B,EAAM6B,QACA7B,EAAM6B,QAAQyC,KAAKtE,EAAM6B,QAASkC,GAClC,MAAI,K,EAS9B,OAAOmB,CACX,CCCA,MAAMC,EAAcC,SAASC,gB,MAMhBC,EAAyC,CAClDtF,EACAuF,K,MAEA,MAAMC,EAAOxF,EAAMwF,KACnB,MAAMC,EAASzF,EAAMyF,OACrB,MAAMC,EAAM1F,EAAM0F,IAClB,MAAMC,EAAQ3F,EAAM2F,MACd3F,EAAM2F,MACNH,EAAKG,MACLH,EAAKG,MACLF,EAAOE,MACPF,EAAOE,MACP,KACN,MAAMC,GAAUT,EAAIU,QAAQC,QAAQC,cAAcP,EAAKQ,KAEvD,IAAIC,EAAa,MACjB,GAAIT,EAAKU,eAAe,cAAe,CACnCD,EAAaT,EAAKS,U,MACf,GAAIR,EAAOS,eAAe,cAAe,CAC5CD,EAAaR,EAAOQ,U,CAExBA,EAAaA,GAAcjG,EAAMmG,SAEjC,GAAIX,EAAKY,QAAS,CACdZ,EAAKvB,MAAOD,EAAAqC,EAAQb,EAAMC,MAAO,MAAAzB,SAAA,EAAAA,EAAIwB,EAAKvB,KAE1C,GAAIjE,EAAMwF,KAAKG,QAAUW,EAAYC,WAAY,CAC7Cf,EAAK/D,MAAQ+D,EAAKvB,KAAKxC,K,EAI/B,MAAM+E,EAAiBxG,EAAMyG,gBAAkBjB,EAAK/D,MAAQ+D,EAAK/D,MAAQ,GACzE,MAAMiF,EAAWvB,EAAIU,QAAQ5B,KAAKuB,KAAKmB,QAAQnB,EAAMG,GACrD,MAAMiB,EAAiBlG,OAAAC,OAAA,GAAiB6E,EAAKvB,MAC7C,IAAI4C,EAAarB,EAAKsB,SAChBtB,EAAKsB,SACLrB,EAAOqB,SACPrB,EAAOqB,SACP,GACN,GAAK9G,EAAM+G,UAA2BC,WAAY,CAC9CH,GAAc,kB,CAElB,MAAMxG,EAAoC,CACtC,SAAU,KACV,CAAC4G,EAAaC,KAAMtB,EAAS,KAAO,MACpC,CAACc,EAAW,SAAU,KACtB,CAAC1G,EAAMkB,cAAelB,EAAMkB,aAAe,KAAO,MAClD,CAAClB,EAAMmH,SACHnH,EAAMmH,SAAWT,IAAaU,EAAWC,IAAM,KAAO,MAC1DR,CAACA,GAAaA,EAAa,KAAO,OAEtC,IAAIS,EAAmBd,EACvB,IAAKhB,EAAKvB,KAAM,CACZsD,EAAYb,EAAUlB,E,CAE1B,GAAIS,GAAcuB,EAAcC,SAASf,GAAW,CAChDY,EAAUI,EAAgBhB,EAAUrG,EAAUmF,EAAMC,EAAQzF,E,MACzD,GAAIwF,EAAKvB,MAAQ0D,EAASF,SAASf,GAAW,CACjD,GAAI1G,EAAM4H,SAAU,CAChBC,EAAenB,EAAUE,EAAmBpB,E,CAEhD,IAAKxF,EAAM8H,UAAW,CAClB,MAAMC,EAAY,QAAUrB,EAAW,eACvCY,EAAU7G,EAAA,QAAMG,MAAOmH,G,KACpB,CACHT,EAAUU,EACNtB,EACArG,EACAuG,EACApB,EACAE,EACAD,EACAzF,E,MAGL,CACH,GAAIA,EAAM4H,SAAU,CAChBK,EAAYvB,EAAUE,EAAmBpB,EAAMxF,E,CAEnDsH,EAAUY,EACNxB,EACAE,EACAU,EACAjH,EACAmF,EACAC,EACAzF,E,CAIR,IAAI6C,EAAc,KAClB,IAAKoD,IAAeR,EAAO5C,MAAQ2C,EAAK3C,OAASyE,EAAS,CACtD,MAAMa,EAAsB,CACxBC,MAAO,YAAYC,EAAoBC,oBACvC7D,SAAUe,EAAK3C,KAAO2C,EAAK3C,KAAO4C,EAAO5C,KACzC0F,oBAAqB/C,EAAKgD,gBACpBhD,EAAKgD,gBACL/C,EAAO+C,gBACb9D,MAAO,SACPC,MAAO,SACPzD,aAAc,YAElB2B,EAAOpC,EAAC+D,EAAM9D,OAAAC,OAAA,GAAKwH,G,CAGvB,IAAIM,EAAoB,KACxB,GAAItD,EAAIU,QAAQ6C,MAAMC,WAAa/C,EAAQ,CACvC6C,EAAYjD,EAAKQ,IAAI4C,EAAI,KAAOpD,EAAKQ,IAAI6C,EAAI,KAAOrD,EAAKQ,IAAI8C,EAAI,G,MAC9D,GAAItD,EAAKnE,OAAS,MAAQmE,EAAKnE,MAAM0H,QAAU,GAAI,CACtDN,EAAYjD,EAAKnE,K,CAGrB,IAAI2H,EAAsB,KAC1B,GAAIxD,EAAK1E,KAAM,CACX,MAAMA,EAAIJ,OAAAC,OAAA,GAAmB6E,EAAK1E,MAClC,IAAKA,EAAKsH,MAAO,CACbtH,EAAKsH,MAAQ,OAAOC,EAAoBY,O,CAE5C,IAAKnI,EAAK+B,KAAM,CACZ/B,EAAK+B,KAAO,M,CAEhB,MAAMsF,EAAsB,CACxBC,MAAOtH,EAAKsH,MACZ3D,SAAU3D,EAAK+B,KACf0F,oBAAqBzH,EAAK0H,gBAC1B9D,MAAO,SACPC,MAAO,SACPtD,MAAOP,EAAKoI,QAAUpI,EAAKoI,QAAU,GACrChI,aAAc,aAElB8H,EAASvI,EAAC+D,EAAM9D,OAAAC,OAAA,GAAKwH,G,CAGzB,OACI1H,EAAA,OACI0I,QAAUC,GAAMC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYC,OAC1D3I,MAAOP,EAAQ,qBACK,IACTL,EAEXwJ,IAAMC,GAAQjE,EAAKkE,QAAUD,EAC7BzG,MAAOwC,EAAKxC,OAEZvC,EAAA,OACIG,MAAM,kBACNoC,MAAOwC,EAAKmE,aACZtI,MAAOoH,GAENzI,EAAM4J,gBACHnJ,EAAC+D,EAAM,CACHC,SAAS,YACTC,MAAM,OACNC,MAAM,OACNzD,aAAc,wBACVwF,IAAaU,EAAWyC,OAAS,OAAS,UAE9ChI,QAAS7B,EAAM4J,eAAe/H,QAC9BiI,SAAU,IAGjBvE,GAAYA,EAASrB,OAAS,EACzBqB,EACA,CAACvF,EAAM+J,QAASf,EAAQnG,EAAMyE,IAEtC,EAId,MAAMjB,EAAU,CAACb,EAA0BwE,KACvC,IAAKxE,EAAM,CACP,OAAO,I,CAGX,MAAMY,EAAUZ,EAAKY,QACrB,MAAM6D,EAAaD,EAAI3I,MACvB,MAAM6I,EAAe1E,EAAK/D,MAC1B,MAAMiF,EAAWvB,EAAIU,QAAQ5B,KAAKuB,KAAKmB,QAAQnB,EAAMA,EAAKG,OAC1D,MAAMwE,EAAiB,IAAIC,IAA+B,CACtD,CAAChD,EAAWiD,YAAaC,EAAehG,KAAKiG,YAC7C,CAACnD,EAAWoD,OAAQC,EAAenG,KAAKiG,YACxC,CAACnD,EAAWtD,MAAO4G,EAAepG,KAAKiG,YACvC,CAACnD,EAAWuD,aAAcC,EAAqBtG,KAAKiG,YACpD,CAACnD,EAAWyD,SAAUD,EAAqBtG,KAAKiG,YAChD,CAACnD,EAAW0D,SAAUC,EAAezG,KAAKiG,YAC1C,CAACnD,EAAW4D,OAAQC,EAAkB3G,KAAKiG,cAG/C,MAAMW,EAAUf,EAAegB,IAAIzE,GACnC,OAAOwE,EACDA,EAAQ9E,EAAS6D,EAAYC,EAAc1E,EAAMwE,EAAI3F,MACrD,IAAI,EAGd,MAAM4G,EAAoB,CACtB7E,EACAgF,EACAlB,EACAmB,EACAC,KAEA,GAAIlF,EAAQ,GAAI,CACZ,MAAO,CACHmF,aAAcrB,EACdpI,MAAOsE,EAAQ,GAAGtE,MAClBL,MAAO2E,EAAQ,GAAG3E,M,GAK9B,MAAMsJ,EAAiB,CACnB3E,EACAgF,EACAI,KAEA,GAAIpF,IAAO,MAAPA,SAAO,SAAPA,EAAU,GAAI,CACd,MAAO,CACH7F,QAAS6F,EAAQ,GAAG7F,QACpBuB,MAAOsE,EAAQ,GAAGtE,M,GAK9B,MAAM2I,EAAiB,CACnBrE,EACAgF,EACAI,EACAH,KAEA,GAAIjF,IAAO,MAAPA,SAAO,SAAPA,EAAU,GAAI,CACd,MAAO,CACH3E,MAAO2E,EAAQ,GAAGtE,M,GAK9B,MAAM4I,EAAiB,CACnBtE,EACAgF,EACAlB,IAEOuB,EAAWvB,EAAc9D,GAGpC,MAAMwE,EAAuB,CACzBc,EACAzB,EACAC,KAEA,MAAMyB,EAAiBC,EAAiB1B,EAAcD,EAAY,IAElE0B,EAAe1H,KAAK,YAAYA,KAAO4H,EACnCH,EACAxB,GAEJ,OAAOyB,CAAc,EAGzB,MAAME,EAA0B,CAACzF,EAAc8D,KAC3C,MAAMgB,EAAUY,EAAkBX,IAAI/E,EAAQ7E,MAE9C,GAAI2J,EAAS,CACT,OAAOA,EAAQ9E,EAAS8D,E,KACrB,CACH,OAAO9D,EAAQ2F,KAAKC,IAAM,CACtBvK,MAAOuK,EAAOlK,MACdV,GAAI4K,EAAO5K,GACX6K,SAAU/B,IAAiB8B,EAAO5K,M,GAK9C,MAAM8K,EAAyB,CAC3B9F,EACA8D,IAEO9D,EAAQb,SAASwG,KAAKI,I,MAAU,OACnC/K,GAAI+K,EAAM7E,QAAQ8E,OAClB3K,MAAO0K,EAAM7E,QAAQ+E,MACrBJ,SAAU/B,IAAiBiC,EAAM7E,QAAQ8E,OACzC7G,WAAUvB,EAAAmI,EAAM5G,YAAQ,MAAAvB,SAAA,SAAAA,EAAEE,QACpBgI,EAAuBC,EAAOjC,GAC9B,GACT,IAGL,MAAMoC,EAAiC,CACnClG,EACA8D,IAEO9D,EAAQb,SAASwG,KAAKI,I,MAAU,OACnC/K,GAAI+K,EAAMnG,IAAI8C,EACdrH,MAAO0K,EAAM1K,MACbwK,SAAU/B,IAAiBiC,EAAMnG,IAAI8C,EACrCvD,WAAUvB,EAAAmI,EAAM5G,YAAQ,MAAAvB,SAAA,SAAAA,EAAEE,QACpBoI,EAA+BH,EAAOjC,GACtC,GACT,IAGL,MAAMqC,EAAsB,CACxBnG,EACA8D,IAEO9D,EAAQoG,KAAKT,KAAKrG,I,MACrB,MAAM+G,EAAQ/G,EAAIgH,QAAUhH,EAAI+G,MAChC,MAAOrL,EAAIK,GAASf,OAAOiM,KAAKF,GAEhC,MAAO,CACHrL,GAAIqL,EAAMrL,GAAIK,MACdA,QAAOuC,EAAAyI,EAAMhL,MAAM,MAAAuC,SAAA,SAAAA,EAAEvC,QAASgL,EAAMrL,GAAIK,MACxCwK,SAAU/B,IAAiBuC,EAAMrL,GAAIK,MACxC,IAIT,MAAMqK,EAAoB,IAAI1B,IAG5B,CACE,CAAC,gBAAiB8B,EAAuB5H,KAAKiG,YAC9C,CAAC,gBAAiB+B,EAA+BhI,KAAKiG,YACtD,CAAC,aAAcgC,EAAoBjI,KAAKiG,YACxC,CAAC,iBAAkBgC,EAAoBjI,KAAKiG,cAGhD,MAAMD,EAAiB,CACnBsC,EACAxB,EACAI,EACAhG,K,QAEA,MAAO,CACHvB,OAAMD,EAAAwB,EAAKY,WAAO,MAAApC,SAAA,SAAAA,EAAEE,SACd2I,EAAArH,EAAKY,WAAO,MAAAyG,SAAA,SAAAA,EAAEd,KAAKC,IAAM,CACrBnJ,KAAMmJ,EAAOnJ,KACbpB,MAAOuK,EAAOvK,UAElB,GACT,EAGL,SAASwG,EACLvB,EACAE,EACApB,EACAxF,G,MAEA,OAAQ0G,GACJ,KAAKU,EAAW0D,SAChB,KAAK1D,EAAW0F,KACZ,IAAMlG,EAAkClC,MAAO,CAC1CkC,EAAkClC,MAAQ,M,CAE/C,IAAMkC,EAAkCjC,MAAO,CAC1CiC,EAAkCjC,MAAQ,M,CAE/C,GAAIa,EAAKxC,MAAO,CACZ,IAAKwC,EAAKxC,MAAM+J,OAAQ,CACpBvH,EAAKxC,MAAM,aACP4D,EACFjC,K,MAEH,CACHa,EAAKxC,MAAQ,CACTgK,UAAYpG,EAAkCjC,M,CAGtD,MACJ,KAAKyC,EAAW6F,MACZ,MAAMC,IAAYlJ,EAAAhE,EAAMwF,QAAI,MAAAxB,SAAA,SAAAA,EAAEvC,QAAS,GACvC,MAAM0L,EACFD,EAAUjK,QAAQ,MAAQ,GAC1BiK,EAAUjK,QAAQ,MAAQ,GAC1BiK,EAAUjK,QAAQ,OAAS,EAC/B,GACKjD,EAAM+G,UAA2BqG,YAAYC,UAC1CC,EAAYC,aACfJ,EACH,CACE,IACMvG,EAAkClC,QAClCkC,EAAkCjC,MACtC,CACGiC,EAAkClC,MAAQ,OAC1CkC,EAAkCjC,MAAQ,OAC1CiC,EAAkC1F,aAAe,S,KAC/C,CACH,IAAM0F,EAAkClC,MAAO,CAC1CkC,EAAkClC,MAAQ,OAC1CkC,EAAkC1F,aAC/B,S,CAER,IAAM0F,EAAkCjC,MAAO,CAC1CiC,EAAkCjC,MAAQ,M,GAIvD,GACK3E,EAAM+G,UAA2BqG,YAAYC,UAC9CC,EAAYE,IACd,CACE,IAAM5G,EAAkCjC,MAAO,CAC1CiC,EAAkCjC,MAAQ,M,CAE/C,GAAKiC,EAAkC6G,MAAQjL,UAAW,CACrDoE,EAAkC6G,IAAM,I,OAE1C,IAAM7G,EAAkClC,MAAO,CACjDkC,EAAkClC,MAAQ,M,CAE/C,IAAMkC,EAAkCjC,MAAO,CAC1CiC,EAAkCjC,MAAQ,M,CAG/C,MAEZ,CAEA,SAASkD,EACLnB,EACAE,EACApB,GAEA,OAAQkB,GACJ,KAAKU,EAAWC,IACZ,IAAMT,EAAkCjC,MAAO,CAC1CiC,EAAkCjC,MAAQ,M,CAE/C,MACJ,KAAKyC,EAAWsG,OACZ,IAAIX,EAAiB,GACrB,GAAKnG,EAAmC9E,MAAO,CAC3CiL,EAAS,M,CAEb,GAAIvH,EAAKxC,MAAO,CACZ,IAAKwC,EAAKxC,MAAM+J,OAAQ,CACpBvH,EAAKxC,MAAM,aAAe+J,C,MAE3B,CACHvH,EAAKxC,MAAQ,CAAEgK,UAAWD,E,CAE9B,MACJ,KAAK3F,EAAWuG,MACZ,IAAM/G,EAA+BlC,MAAO,CACvCkC,EAA+BlC,MAAQ,M,CAE5C,IAAMkC,EAA+BjC,MAAO,CACvCiC,EAA+BjC,MAAQ,M,CAE5C,MACJ,KAAKyC,EAAWwG,KACZ,GAAIpI,EAAKxC,MAAO,CACZ,IAAKwC,EAAKxC,MAAM+J,OAAQ,CACpBvH,EAAKxC,MAAM,aAAe,M,MAE3B,CACHwC,EAAKxC,MAAQ,CAAEgK,UAAW,O,CAE9B,MACJ,KAAK5F,EAAWtD,MACZ,GAAI0B,EAAKxC,MAAO,CACZ,IAAKwC,EAAKxC,MAAM+J,OAAQ,CACpBvH,EAAKxC,MAAM,aAAe,M,MAE3B,CACHwC,EAAKxC,MAAQ,CAAEgK,UAAW,O,CAE9B,MAEZ,CAEA,SAAStF,EACLhB,EACArG,EACAmF,EACAC,EACAzF,G,QAEA,OAAQ0G,GACJ,KAAKU,EAAWuD,aACZ,OACIlK,EAAA,mBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BmK,aAAc/F,EAAK/D,OACf+D,EAAKvB,KAAI,CACbrD,MAAOkN,GAAY9N,GAAS,iBAAmB,GAAE,4BAE7CoJ,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,QAAO,2BAElD3E,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,OAAM,+BAEjD5E,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY2E,eAG3D,KAAK7G,EAAW0D,SACZ,GAAIoD,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAGxC,GAAI3I,EAAKG,QAAUW,EAAY8H,eAAgB,CAC3C,OACI3N,EAAA,SACIF,QACIiF,EAAK/D,QAAU,MAAQ+D,EAAK/D,QAAU,IAChC,KACA,MAEVb,MAAM,iBACNe,SAAWyH,GACPC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,QAE9CxM,KAAK,Y,KAGV,CACH,OACId,EAAC4N,EAAS3N,OAAAC,OAAA,GACF6E,EAAKvB,KAAI,CACbtC,SAAWyH,GACPC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,U,CAK9D,KAAK3G,EAAWwG,KACZ,OACInN,EAAA,WAAAC,OAAAC,OAAA,GACQ6E,EAAKvB,KAAI,CACb1C,KAAM+M,EAAUN,MAChBO,YAAa,KAAI,oBAEbnF,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,UAE/CtN,EAAA,iBAAAC,OAAAC,OAAA,CACI6N,UAAW,KACXC,KAAK,SACDjJ,EAAKkJ,YAIzB,KAAKtH,EAAWuH,aACZ,OACIlO,EAAA,mBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BmK,aAAc/F,EAAK/D,OACf+D,EAAKvB,KAAI,CACbrD,MAAOkN,GAAY9N,GAAS,iBAAmB,GAC/CQ,SAAU,MAAK,2BAEX4I,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,WAG3D,KAAK3G,EAAWyD,SACZ,OACIpK,EAAA,eAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BmK,aAAc/F,EAAK/D,OACf+D,EAAKvB,KAAI,CACbrD,MAAOkN,GAAY9N,GAAS,iBAAmB,GAAE,wBAE7CoJ,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,QAAO,uBAElD3E,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,OAAM,2BAEjD5E,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY2E,eAG3D,KAAK7G,EAAWwH,KACZ,OACInO,EAAA,kBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BmK,aAAc/F,EAAK/D,OACf+D,EAAKvB,KAAI,CACbrD,MAAOkN,GAAY9N,GAAS,iBAAmB,GAAE,0BAE7CoJ,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,QAAO,yBAElD3E,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,UAG3D,KAAK5G,EAAWyH,mBACZ,OACIpO,EAAA,WAAAC,OAAAC,OAAA,CACImO,UAAW,MACPtJ,EAAKvB,KAAI,CACb1C,KAAM+M,EAAUN,MAChBO,YAAa,KAAI,oBAEbnF,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,UAE/CtN,EAAA,mBAAAC,OAAAC,OAAA,CACIC,MAAM,iBACN6N,KAAK,QACLM,YAAalP,EAAiBmP,qBAC9BC,WAAYpP,EAAiBmP,qBAAoB,2BAE7C5F,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,OAAM,+BAEjD5E,GAEAC,GACID,EACApJ,EACA0G,EACA4C,EAAY2E,YAGpBiB,iBAAkB,OACd1J,EAAKkJ,YAIzB,KAAKtH,EAAW+H,eACZ,OACI1O,EAAA,WAAAC,OAAAC,OAAA,CACImO,UAAW,MACPtJ,EAAKvB,KAAI,CACb1C,KAAM+M,EAAUN,MAChBO,YAAa,KAAI,oBAEbnF,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,UAE/CtN,EAAA,eAAAC,OAAAC,OAAA,CACIC,MAAM,iBACN6N,KAAK,QACLM,YAAalP,EAAiBmP,qBAC9BC,WAAYpP,EAAiBmP,qBAAoB,uBAE7C5F,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,OAAM,2BAEjD5E,GAEAC,GACID,EACApJ,EACA0G,EACA4C,EAAY2E,aAGhBzI,EAAKkJ,YAIzB,KAAKtH,EAAWtD,MACZ,OACIrD,EAACgD,EAAM/C,OAAAC,OAAA,GACC6E,EAAKvB,KAAI,CACbzD,SAAU,MACVmB,SAAU,CAACoC,EAAWqF,KAClB,MAAMgG,EAAa5J,EAAKvB,KAAqBA,KAC7C,IAAK,IAAIoL,EAAQ,EAAGA,EAAQD,EAAUlL,OAAQmL,IAAS,CACnD,MAAMC,EAAUF,EAAUC,GAC1B,GAAIA,IAAUtL,EAAG,CACbuL,EAAQ/O,QAAU,I,KACf,CACH+O,EAAQ/O,QAAU,K,EAG1B8I,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,OAAO,KAIjE,KAAK3G,EAAWmI,OACZ,OACI9O,EAAA,aAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,IACzBoE,EAAKvB,KAAI,CACbzD,SAAU,MAAK,qBAEX4I,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,WAG3D,KAAK3G,EAAWoI,OACZ,OACI/O,EAACV,EAAOW,OAAAC,OAAA,GACA6E,EAAKvB,KAAI,CACbzD,SAAU,MACVmB,SAAWyH,GACPC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,WAI1D,KAAK3G,EAAWqI,KACZ,OACIhP,EAAA,kBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BmK,aAAc/F,EAAK/D,OACf+D,EAAKvB,KAAI,CACbrD,MAAOkN,GAAY9N,GAAS,iBAAmB,GAAE,0BAE7CoJ,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,QAAO,yBAElD3E,GACCC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,UAG3D,KAAK5G,EAAW4D,OACZ,OACIvK,EAACiP,EAAUhP,OAAAC,OAAA,CACPkC,KAAM,SACF2C,EAAKvB,KAAI,CACbzD,SAAU,MACVmP,YAAcvG,GACVC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY2E,eAI1D,KAAK7G,EAAWyC,OACZxJ,EAAS4G,EAAa2I,iBAAmB,KAC7C,KAAKxI,EAAWyI,KAChB,KAAKzI,EAAWoD,OACZ,MAAM7I,EAAYyH,GACdC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAYyE,QAC9C,MAAM+B,EAAW1G,GACbC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY0E,OAC9C,MAAMzM,EAAOmF,IAAaU,EAAWyC,OAAS,SAAW,KACzD,MAAMpI,EACFiF,IAAaU,EAAWyC,QAAUrE,EAAK/D,MACjC0D,EAAIU,QAAQkK,KAAKC,cAAcxK,EAAK/D,OAAOwO,WAC3CzK,EAAK/D,MACf,GAAI+D,EAAKG,QAAUW,EAAY4J,YAAa,CACxC,OACIzP,EAAA,SACIG,MAAO,cACPe,SAAUA,EACVmO,QAASA,EACTvO,KAAMA,EACNE,MAAOA,EACP0O,WAAWtD,GAAA7I,EAAAyB,EAAO2K,YAAQ,MAAApM,SAAA,SAAAA,EAAEmM,aAAS,MAAAtD,SAAA,EAAAA,GAAK,G,KAG/C,CACH,OACIpM,EAACiP,EAAUhP,OAAAC,OAAA,CACP0P,UAAW9O,EACXiN,UAAWV,GAAY9N,GAAS,KAAO,OACnCwF,EAAKvB,KAAI,CACbpB,KACI2C,EAAKvB,MAAQuB,EAAKvB,KAAKpB,KACjB2C,EAAKvB,KAAKpB,KACV2C,EAAK3C,KACL2C,EAAK3C,KACL4C,EAAO5C,KACP4C,EAAO5C,KACP,KAEVpB,MAAOA,EACPE,SAAUA,EACVmO,QAASA,EACTH,YAAcvG,GACVC,GACID,EACApJ,EACA0G,EACA4C,EAAY2E,c,EAO5C,CAEA,SAAS/F,EACLxB,EACAE,EACAU,EACAjH,EACAmF,EACAC,EACAzF,GAEA,OAAQ0G,GACJ,KAAKU,EAAWuD,aAChB,KAAKvD,EAAWyD,SAChB,KAAKzD,EAAWwH,KAChB,KAAKxH,EAAWkJ,SAChB,KAAKlJ,EAAWqI,KACZ,GAAInI,GAAWA,GAAW,GAAI,CAC1B,MAAM4F,EAAYqD,EAAuB9K,EAAQD,GACjD,OAAO/E,EAAA,OAAKG,MAAM,gBAAgBsM,E,CAEtC,OAAO5F,EACX,KAAKF,EAAW0D,SACZ,GAAIoD,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExC,OACI1N,EAAC+D,EAAM,CACHC,SACKmC,EAAqCrG,QAChC,YACA,0BAEVmE,MAAM,OACNC,MAAM,SAGlB,KAAKyC,EAAWoJ,OACZ,OAAO/P,EAAA,OAAKgQ,UAAWjL,EAAK/D,QAChC,KAAK2F,EAAW0F,KACZ,GAAIoB,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExC,GAAKvH,EAAkC8J,UAAW,CAC9CrQ,EAAS4G,EAAa0J,UAAY,I,CAEtC,OAAOlQ,EAAC+D,EAAM9D,OAAAC,OAAA,GAAKiG,IACvB,KAAKQ,EAAW6F,MACZ,GAAIiB,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExC,GAAKvH,EAAkC8J,UAAW,CAC9CrQ,EAAS4G,EAAa0J,UAAY,I,CAGtC,OAAOlQ,EAAC+D,EAAM9D,OAAAC,OAAA,GAAKiG,IAEvB,KAAKQ,EAAWyI,KACZ,OACIpP,EAAA,KAAGmQ,KAAMtJ,EAAmBuJ,OAAO,UAC9BrL,EAAK/D,OAGlB,KAAK2F,EAAWyC,OACZ,GAAIvC,GAAWA,GAAW,GAAI,CAC1B,MAAMwJ,EAAkB3L,EAAIU,QAAQkK,KAAKC,cACrCxK,EAAK/D,OAET,MAAMyL,EAAYqD,EAAuB9K,EAAQD,GACjD,GAAIsL,EAAkB,EAAG,CACrBzQ,EAAS4G,EAAa8J,aAAe,I,CAEzC,GAAI7C,GAAelO,GAAQ,CACvBK,EAAS4G,EAAa2I,iBAAmB,I,CAE7C,OAAOnP,EAAA,OAAKG,MAAM,gBAAgBsM,E,CAEtC,OAAOzM,EAAA,OAAKG,MAAM,gBAAgB0G,GACtC,KAAKF,EAAWoI,OACZ,GAAItB,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExCvH,EAAkB,YAAc,KAChC,OAAOnG,EAACV,EAAOW,OAAAC,OAAA,GAAKiG,IACxB,QACI,OAAOnG,EAAA,OAAKG,MAAM,gBAAgB0G,GAE9C,CAEA,SAASU,EACLtB,EACArG,EACAuG,EACApB,EACAE,EACAD,EACAzF,GAEA,OAAQ0G,GACJ,KAAKU,EAAWC,IACZ,IAAMT,EAAkC3C,KAAM,CAC1C,OACIxD,EAAA,YAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BsD,MAAM,SACFkC,G,KAGT,CACH,MAAMoK,EAAW,CACbjE,OAASnG,EAAkCjC,MAC3C/B,MAAO,QAEX,OACInC,EAAA,OAAKuC,MAAOgO,GACRvQ,EAAC+D,EAAM9D,OAAAC,OAAA,GAAKiG,I,CAI5B,KAAKQ,EAAWsG,OACZ,GAAIQ,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExC,OACI1N,EAACwQ,EAAOvQ,OAAAC,OAAA,GACAiG,EAAiB,CACrB/E,QAAUuH,GACNC,GAAUD,EAAGpJ,EAAO0G,EAAU4C,EAAY4H,UAI1D,KAAK9J,EAAWiD,YACZ,GAAI6D,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExCvH,EAAkB,gBAAkB,CAChCpB,KAAMA,EACNE,IAAKA,EACLD,OAAQA,GAEZ,OACIhF,EAAA,kBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,IACzBwF,IAGhB,KAAKQ,EAAWuG,MACZ,GAAIO,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExC,OACI1N,EAAA,YAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,IACzBwF,IAGhB,KAAKQ,EAAWyH,mBAChB,KAAKzH,EAAW+H,eAChB,KAAK/H,EAAWwG,KACZ,OAAOnN,EAAC0Q,EAAKzQ,OAAAC,OAAA,GAAKiG,IACtB,KAAKQ,EAAWuH,aACZ,OACIlO,EAAA,mBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,IACzBwF,EAAiB,CACrBhG,MAAOkN,GAAY9N,GAAS,iBAAmB,GAC/CQ,SAAQ,QAGpB,KAAK4G,EAAWgK,MACZ,OACI3Q,EAAA,YAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,GAC7BK,MAAO0D,EAAIU,QAAQkK,KAAKC,cAAcxK,EAAK/D,OAAM,kBACjC,SACZmF,IAGhB,KAAKQ,EAAWiK,KAChB,KAAKjK,EAAWkK,aACZ,OAAO1K,EAAkB2K,YACrB9Q,EAAA,mBAAAC,OAAAC,OAAA,CACIkN,IAAKpI,EAAOpB,KAAOrE,EAAM0F,IAAItE,IACzBwF,IAGRnG,EAACsB,EAAYrB,OAAAC,OAAA,GAAKiG,IAE1B,KAAKQ,EAAWtD,MACZ,GAAIoK,GAAelO,GAAQ,CACvBK,EAAS4G,EAAakH,YAAc,I,CAExCvH,EAAkB,YAAclB,EAAI8L,SACpC,OAAO/Q,EAACgD,EAAM/C,OAAAC,OAAA,GAAKiG,IACvB,KAAKQ,EAAWmI,OACZ,OAAO9O,EAACsE,EAAOrE,OAAAC,OAAA,GAAKiG,EAAiB,CAAEpG,SAAU,QACrD,KAAK4G,EAAW4D,OACZ,OACIvK,EAACiP,EAAUhP,OAAAC,OAAA,CACPkC,KAAM,SACF+D,EAAiB,CACrBpG,SAAU,QAI9B,CAEA,SAAS+G,EAAYb,EAAkBlB,GACnC,SAASiM,EAAiBhQ,GACtB,OAAOA,EAAMiQ,cAAcC,WAAW,Y,CAG1C,SAASC,EAAcnQ,GACnB,OAAOA,EAAMiQ,cAAcC,WAAW,S,CAG1C,SAASE,EAAgBpQ,GACrB,OAAOA,EAAMiQ,cAAcC,WAAW,U,CAG1C,SAASG,EAAerQ,GACpB,OAAOA,EAAMiQ,cAAcC,WAAW,U,CAG1C,SAASI,EAAkBtQ,GACvB,OACIA,EAAMiQ,cAAcC,WAAW,SAC/BlQ,EAAMiQ,cAAcC,WAAW,SAC/BlQ,EAAMiQ,cAAcC,WAAW,SAC/BlQ,EAAMiQ,cAAcC,WAAW,Q,CAGvC,SAASK,EAAQvQ,GACb,IAAKA,EAAO,CACR,OAAO,I,CAEX,MAAMwQ,EAA8BxQ,EAAMyQ,MAAM,aAChD,MAAMjO,EAAqB,GAC3B,IAAK,MAAMkO,KAAeF,EAA6B,CACnD,MAAMG,EAAcC,EAAeF,GACnC,GAAIC,EAAa,CACbnO,EAAKG,QAAQgO,E,KACV,CACH,OAAO,I,EAGf,OAAOnO,C,CAGX,SAASoO,EAAe5Q,GACpB,MAAM6Q,EAA0B,GAEhC,MAAMC,EAAe9Q,EAAMyQ,MAAM,QACjC,MAAMM,EAA4B,GAElC,IAAK,MAAMC,KAAWF,EAAc,CAChC,GAAIE,EAAS,CACT,GAAIV,EAAkBU,GAAU,CAC5B,OAAO,I,CAGX,GAAIb,EAAca,GAAU,CACxB,IAAKhB,EAAiBgB,GAAU,CAC5B,OAAO,I,KACJ,CACH,MAAMC,EAAOD,EAAQP,MAAM,KAC3B,GAAIQ,EAAKxO,SAAW,EAAG,CACnB,MAAMtB,EAAQ8P,EAAK,GAAGC,QAAQ,IAAK,KACnC,IAAKC,MAAMC,WAAWjQ,IAAS,CAC3B0P,EAAY1P,MAAQ,GAAGA,I,SAIhC,GAAIiP,EAAgBY,SAEpB,GAAIX,EAAeW,GAAU,CAChC,MAAM1F,EAAS0F,EACVK,UAAU,UAAU5O,QACpByO,QAAQ,IAAK,KAClB,IAAKC,MAAMC,WAAW9F,IAAU,CAC5BuF,EAAYvF,OAAS,GAAGA,I,MAEzB,CACHyF,EAAYpO,KAAK2O,EAAaN,EAASH,G,EAG/C,OAAOE,EAAYtO,OAASsO,EAAc,I,CAG9C,SAASO,EACLtR,EACA6Q,GAEA,MAAMU,EAAStS,OAAAC,OAAA,GAAoB2R,GACnC,MAAMI,EAAOjR,EAAMyQ,MAAM,KACzB,GAAIQ,EAAKxO,QAAU,EAAG,CAClB,MAAM+O,EAAU,qBAChB,MAAMC,EAAQD,EAAQE,KAAKT,EAAK,IAChC,GAAIQ,EAAO,CACP,MAAM,CAAGE,EAAGC,EAAGC,GAAKJ,EACpB,IACKN,MAAMW,SAASH,EAAG,OAClBR,MAAMW,SAASF,EAAG,OAClBT,MAAMW,SAASD,EAAG,KACrB,CACEN,EAAU5K,MAAQ,OAAOmL,SAASH,MAAMG,SACpCF,MACCE,SAASD,K,EAGtB,GAAIZ,EAAKxO,QAAU,EAAG,CAClB,MAAMtB,EAAQ8P,EAAK,GAAGC,QAAQ,IAAK,KACnC,IAAKC,MAAMC,WAAWjQ,IAAS,CAC3BoQ,EAAUpQ,MAAQ,GAAGA,I,GAIjC,OAAOoQ,C,EAIfxN,EAAKvB,KAAO,GAEZ,MAAMuP,EAAgB,K,MAClB,MAAMC,GAAQzP,EAAAwB,EAAK/D,SAAK,MAAAuC,SAAA,SAAAA,EAAEkO,MAAM,KAChC,IAAIuB,IAAK,MAALA,SAAK,SAALA,EAAQA,EAAMvP,OAAS,GAAG6E,UAAW,GAAI,CACzC0K,EAAMC,K,CAEV,GAAID,GAASA,EAAMvP,OAAQ,CACvBsB,EAAKvB,KAAKA,KAAO,GACjB,IAAK,IAAI0P,KAAQF,EAAO,CACnBjO,EAAKvB,KAAKA,KAAuBG,KAAK,CACnChD,GAAIuS,EACJlS,MAAOkS,G,IAMvB,OAAQjN,GACJ,KAAKU,EAAW0D,SAChB,KAAK1D,EAAWoI,OACZhK,EAAKvB,KAAK1D,QAAUiF,EAAK/D,QAAU,IAAM,KAAO,MAChD,MAEJ,KAAK2F,EAAWC,IACZ,GAAIuK,EAAcpM,EAAK/D,OAAQ,CAC3B+D,EAAKvB,KAAK2P,SAAW,KACrBpO,EAAKvB,KAAKQ,SAAWe,EAAK/D,K,KACvB,CACH+D,EAAKvB,KAAKA,KAAO+N,EAAQxM,EAAK/D,M,CAElC,MAEJ,KAAK2F,EAAWsG,OACZlI,EAAKvB,KAAKnC,MAAQ0D,EAAK/D,MACvB,MAEJ,KAAK2F,EAAWuG,MACZjN,OAAOC,OAAO6E,EAAKvB,KAAM,CACrBS,MAAO,QACPC,MAAO,QACPkP,YAAa,CACTpS,MAAO+D,EAAK/D,MACZkE,MAAO,SAGf,MAEJ,KAAKyB,EAAWiD,YAChB,KAAKjD,EAAWwG,KAChB,KAAKxG,EAAWyH,mBAChB,KAAKzH,EAAW+H,eAChB,KAAK/H,EAAWtD,MACZ0P,IACA,MAEJ,KAAKpM,EAAWuH,aACZnJ,EAAKvB,KAAKsH,aAAe/F,EAAK/D,MAC9B,MAEJ,KAAK2F,EAAWgK,MAChB,KAAKhK,EAAWiK,KAChB,KAAKjK,EAAWkK,aAChB,KAAKlK,EAAWmI,OACZ/J,EAAKvB,KAAKxC,MAAQ8R,SAAS/N,EAAK/D,OAChC,MAEJ,KAAK2F,EAAW0F,KAChB,KAAK1F,EAAW6F,MACZzH,EAAKvB,KAAKQ,SAAWe,EAAK/D,MAC1B,MAEZ,CAEA,SAAS4H,GACLD,EACApJ,EACA0G,EACAoN,GAEA,MAAMtO,EAAOxF,EAAMwF,KACnB,MAAMC,EAASzF,EAAMyF,OACrB,MAAMsO,EAAO/T,EAAM+G,UACnB,MAAMrB,EAAM1F,EAAM0F,IAClB,GAAIoO,IAAkBxK,EAAYyE,OAAQ,CACtC,IAAItM,EAAQuS,GAAuB5K,EAAG1C,GACtC,OAAQA,GACJ,KAAKU,EAAWuD,aAChB,KAAKvD,EAAWyD,SAChB,KAAKzD,EAAWwH,KAChB,KAAKxH,EAAWqI,KACZ,GAAIjK,EAAKvB,KAAM,CACXuB,EAAKvB,KAAK,gBAAkBxC,C,CAEhC,MACJ,KAAK2F,EAAW0D,SAChB,KAAK1D,EAAWoI,OACZ/N,EAAQA,IAAU,KAAO,IAAM,IAC/B,GAAI+D,EAAKvB,KAAM,CACVuB,EAAKvB,KAAwB1D,QAC1BkB,IAAU,IAAM,MAAQ,I,CAEhC,MACJ,KAAK2F,EAAWtD,MAEZ,MACJ,KAAKsD,EAAWwG,KAChB,KAAKxG,EAAWyH,mBAChB,KAAKzH,EAAW+H,eACZ1N,EAAS2H,EAA6C6K,OACjDC,kBACL,GAAI1O,EAAKvB,KAAM,CACVuB,EAAKvB,KAAqBA,KACvBmF,EACF6K,OAAOF,KAAK9P,I,CAElB,MAER,GAAIuB,EAAKQ,IAAK,CACVR,EAAKQ,IAAI8C,EAAIrH,EAAMwO,U,CAEvBzK,EAAK/D,MAAQA,EAAMwO,WACnBzK,EAAK2O,eAAiB,KACtB3O,EAAK2O,eAAiB5D,EAAuB9K,EAAQD,E,CAEzD,GAAIuO,GAASA,EAAsB3G,YAAa,CAC5C,MAAM/D,EAAY,IAAI+K,YAA+BN,EAAe,CAChEO,QAAS,KACTC,WAAY,KACZC,SAAU,KACVN,OAAQ,CACJF,KAAMA,EACN3S,GAAK2S,EAAsB3G,YAAYhM,GACvCoE,KAAMA,EACNC,OAAQA,EACR+O,MAAOpL,EACP1D,IAAKA,EACLnE,KAAMmF,KAGbqN,EAAsB3G,YAAYqH,cAAcpL,GACjD,GAAIyK,IAAkBxK,EAAYyE,OAAQ,CACtC,IACKgG,EAAsBW,S,CACzB,MAAOC,GACLxP,EAAIU,QAAQ6C,MAAMkM,WACdb,EACAY,EACAE,EAAiBC,M,GAKrC,CAEA,SAASd,GACL5K,EACA1C,GAEA,MAAMqO,KAAmB3L,EAAEyH,OAAuBxD,UAAY,SAC9D,IAAI5L,EAAQsT,EACL3L,EAAEyH,OAA4BpP,MAC/B2H,EAAE6K,OAAOxS,MAEf,GAAIiF,IAAaU,EAAW0D,UAAYiK,EAAc,CAClDtT,EAAS2H,EAAEyH,OAA4BtQ,QAAU,MAAQ,I,CAG7D,GAAImG,IAAaU,EAAWyC,QAAUkL,EAAc,CAChDtT,EAAQ0D,EAAIU,QAAQkK,KAAKiF,8BAA8BvT,EAAO,G,CAElE,OAAOA,CACX,CAEA,SAASyM,GAAelO,G,MACpB,OAAOiV,EAAgBxN,UACnBzD,EAAChE,EAAM+G,aAA0B,MAAA/C,SAAA,SAAAA,EAAEoJ,YAAYC,QAEvD,CAEA,SAASS,GAAY9N,G,MACjB,OAAOkV,EAAqBzN,UACxBzD,EAAChE,EAAM+G,aAA0B,MAAA/C,SAAA,SAAAA,EAAEoJ,YAAYC,QAEvD,Q","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,f as t,h as i,H as e,d as h}from"./p-d7c15b0e.js";import{k as l}from"./p-f6a5e96d.js";import{c as o}from"./p-635bb4b3.js";import"./p-029c7cbe.js";const c=class{constructor(t){s(this,t);this.kupManager=l();this.startTime=performance.now();this.featuresStartTime=null;this.endTime=null;this.content=null;this.customStyle="";this.features={debug:false,language:false,longCycleProp:false,longCycleVar:false,objects:false,objectsFunction:false,theme:false}}async printLifecycleTime(){const s=this.endTime-this.featuresStartTime;const t=this.endTime-this.startTime;this.content="Full lifecycle of this probe ("+this.rootElement.tagName+"#"+this.rootElement.id+") took "+t+"ms, while features took "+s+"ms.";return{id:this.rootElement.id,fullTime:t,featuresTime:s}}async refresh(){t(this)}longCycleProp(){}longCycleVar(){}longCycleObjects(){for(let s=0;s<1e6;s++){this.kupManager.objects.isNumber({t:"NR",p:"",k:""})}}longCycleObjectsFunction(){}componentWillLoad(){this.featuresStartTime=performance.now();if(this.features.debug){this.kupManager.debug.logLoad(this,false)}if(this.features.language){this.kupManager.language.register(this)}if(this.features.longCycleProp){this.longCycleProp()}if(this.features.longCycleVar){this.longCycleVar()}if(this.features.objects){this.longCycleObjects()}if(this.features.objectsFunction){this.longCycleObjectsFunction()}if(this.features.theme){this.kupManager.theme.register(this)}}componentDidLoad(){if(this.features.debug){this.kupManager.debug.logLoad(this,true)}this.endTime=performance.now()}componentWillRender(){if(this.features.debug){this.kupManager.debug.logRender(this,false)}}componentDidRender(){if(this.features.debug){this.kupManager.debug.logRender(this,true)}}render(){let s=null;if(this.features.theme){s=this.kupManager.theme.setKupStyle(this.rootElement)}return i(e,{key:"8d7afacda7cc4439039c941af5d9150ed668d03f"},s?i("style",null,s):null,i("div",{key:"4a15796d3c5cc632b326bddef692c640edc1c366",id:o},this.content))}disconnectedCallback(){if(this.features.language){this.kupManager.language.unregister(this)}if(this.features.theme){this.kupManager.theme.unregister(this)}}get rootElement(){return h(this)}};export{c as kup_probe};
|
|
2
|
-
//# sourceMappingURL=p-7cca823b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["KupInputPanelLayoutSectionType","KupInputPanelProps","CHAR_WIDTH","ROW_HEIGHT","getAbsoluteWidth","length","getAbsoluteHeight","height","getAbsoluteTop","row","getAbsoluteLeft","col","kupInputPanelCss","KupInputPanelStyle0","dom","document","documentElement","KupInputPanel","_KupInputPanel_kupManager","set","this","kupManagerInstance","_KupInputPanel_optionsAdapterMap","Map","__classPrivateFieldGet","_KupInputPanel_instances","_KupInputPanel_treeOptionsNodeAdapter","bind","_KupInputPanel_dataTreeOptionsChildrenAdapter","_KupInputPanel_tableOptionsAdapter","_KupInputPanel_originalData","_KupInputPanel_eventNames","FCellTypes","AUTOCOMPLETE","MULTI_AUTOCOMPLETE","COMBOBOX","MULTI_COMBOBOX","_KupInputPanel_listeners","_KupInputPanel_cellTypeComponents","DATE","TIME","_KupInputPanel_cellCustomRender","FCellShapes","BUTTON_LIST","_KupInputPanel_renderButton","EDITOR","_KupInputPanel_renderEditor","LABEL","_KupInputPanel_renderLabel","TABLE","_KupInputPanel_renderDataTable","_KupInputPanel_sectionRenderMap","TAB","_KupInputPanel_renderSectionTab","_KupInputPanel_keysShortcut","onDataChanged","__classPrivateFieldSet","structuredClone","data","map","event","handler","rootElement","removeEventListener","key","keysBinding","unregister","_KupInputPanel_mapCells","call","getProps","descriptions","refresh","forceUpdate","setProps","props","componentWillLoad","debug","logLoad","language","register","theme","componentDidLoad","kupReady","emit","comp","id","componentWillRender","logRender","componentDidRender","root","shadowRoot","fs","querySelectorAll","index","FTextFieldMDC","render","isEmptyData","Boolean","inputPanelCells","inputPanelContent","h","translate","KupLanguageGeneric","EMPTY_DATA","inputPanelCell","_KupInputPanel_renderRow","Host","setKupStyle","componentWrapperId","disconnectedCallback","layout","horizontal","rowContent","_a","sections","cells","cell","_KupInputPanel_renderCell","column","absolute","_KupInputPanel_renderAbsoluteLayout","_KupInputPanel_renderGridLayout","classObj","class","name","onSubmit","e","preventDefault","submitCb","value","before","Object","assign","after","_KupInputPanel_reverseMapCells","hiddenSubmitButton","FButton","buttonType","label","CONFIRM","wrapperClass","customRender","get","shape","undefined","cellProps","component","editable","renderKup","setSizes","_KupInputPanel_getLabelComponent","title","FCell","cellId","icon","edtCell","reduce","find","detail","htmlValue","replace","addEventListener","push","isReadOnly","isEditable","showToolbar","editableData","showGroups","showFilters","showFooter","cellType","ketchup","getType","RADIO","sectionRender","sectionsType","section","_KupInputPanel_renderSection","_KupInputPanel_renderAbsoluteSection","customLabelRender","styleObj","gap","content","innerSection","hasDim","some","sec","dim","gridCols","gridTemplateColumns","join","gridRows","gridTemplateRows","_b","field","_KupInputPanel_renderField","sectionContent","style","_KupInputPanel_renderAbsoluteField","width","absoluteWidth","absoluteHeight","top","absoluteRow","left","absoluteColumn","sectionStyle","position","overflow","tabSelected","tabNodes","i","active","sectionId","display","tabCustomStyle","l","includes","node","customStyle","fieldCell","colSpan","colStart","colEnd","rowSpan","rowStart","rowEnd","absoluteLength","inpuPanelCells","rows","columns","filter","visible","mappedCell","_KupInputPanel_setProps","slotData","_KupInputPanel_slotData","componentQuery","el","querySelector","setValue","defaultProps","_KupInputPanel_mapData","disabled","noDataProps","__rest","_KupInputPanel_deepObjectsMerge","target","source","Array","isArray","curr","updatedCells","keys","cellState","c","JSON","stringify","_KupInputPanel_getTableUpdatedCell","obj","options","fieldLabel","currentValue","dataAdapterMap","_KupInputPanel_CMBandACPAdapter","_KupInputPanel_BTNAdapter","CHART","_KupInputPanel_GRAAdapter","CHIP","_KupInputPanel_CHIAdapter","CHECKBOX","_KupInputPanel_CHKAdapter","COLOR_PICKER","_KupInputPanel_CLPAdapter","_KupInputPanel_EDTAdapter","NUMBER","_KupInputPanel_NumberAdapter","_KupInputPanel_DateAdapter","OBJECT","_KupInputPanel_ObjectAdapter","_KupInputPanel_RADAdapter","STRING","_KupInputPanel_ITXAdapter","SWITCH","_KupInputPanel_SWTAdapter","_KupInputPanel_DataTableAdapter","_KupInputPanel_TimeAdapter","adapter","trailingIcon","fullWidth","showDropDownIcon","_options","_fieldLabel","CHIAdapter","sizeX","offlineMode","sizeY","_currentValue","onClick","fun","customButtonClickHandler","currentState","keyShortcut","_c","_d","rawOptions","configCMandACP","CMBandACPAdapter","evNames","evName","_KupInputPanel_getAutocompleteEventCallback","_KupInputPanel_optionsTreeComboAdapter","CHKAdapter","initialValue","RADAdapter","SWTAdapter","_cell","_id","_rawOptions","_value","parse","logMessage","KupDebugCategory","WARNING","type","ERROR","tableValue","updated","editableColsId","beforeTableValue","updatedRow","colId","changed","option","selected","children","child","codice","testo","k","fields","open","optionsHandler","inputValue","then"],"sources":["src/components/kup-input-panel/kup-input-panel-declarations.ts","src/components/kup-input-panel/kup-input-panel-utils.ts","src/components/kup-input-panel/kup-input-panel.scss?tag=kup-input-panel&encapsulation=shadow","src/components/kup-input-panel/kup-input-panel.tsx"],"sourcesContent":["import { GenericObject } from '../../components';\nimport {\n KupDataCell,\n KupDataColumn,\n} from '../../managers/kup-data/kup-data-declarations';\n\nexport interface KupInputPanelSubmit {\n value: KupInputPanelSubmitValue;\n cell?: string;\n}\nexport interface KupInputPanelSubmitValue {\n after: KupInputPanelData;\n before: KupInputPanelData;\n}\n\nexport interface KupInputPanelData {\n columns?: KupDataColumn[];\n rows?: KupInputPanelRow[];\n actions?: KupInputPanelAction[];\n}\n\nexport interface KupInputPanelAction {\n type?: string;\n fun?: string;\n}\n\nexport interface KupInputPanelColumn {\n name: string;\n title: string;\n visible?: boolean;\n}\n\nexport interface KupInputPanelRow {\n cells?: KupInputPanelRowCells;\n layout?: KupInputPanelLayout;\n}\n\nexport interface KupInputPanelRowCells {\n [key: string]: KupInputPanelCell;\n}\n\nexport interface KupInputPanelCell extends KupDataCell {\n options?: GenericObject | GenericObject[];\n editable?: boolean;\n mandatory?: boolean;\n fun?: string;\n}\n\nexport interface KupInputPanelCellOptions {\n id: string;\n label: string;\n}\n\nexport interface KupInputPanelLayout {\n horizontal?: boolean;\n absolute?: boolean;\n sections?: KupInputPanelLayoutSection[];\n sectionsType?: KupInputPanelLayoutSectionType;\n}\n\nexport enum KupInputPanelLayoutSectionType {\n TAB = 'tab',\n}\n\nexport interface KupInputPanelLayoutSection {\n id?: string;\n title?: string;\n icon?: string;\n content?: KupInputPanelLayoutField[];\n sections?: KupInputPanelLayoutSection[];\n dim?: string;\n horizontal?: boolean;\n gridCols?: number;\n gridRows?: number;\n // Gap is in rem\n gap?: number;\n sectionsType?: KupInputPanelLayoutSectionType;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteWidth?: number;\n absoluteRow?: number;\n absoluteHeight?: number;\n}\n\nexport interface KupInputPanelLayoutField {\n id: string;\n // Span is referred to start\n colSpan?: number;\n colStart?: number;\n colEnd?: number;\n // Span is referred to start\n rowSpan?: number;\n rowStart?: number;\n rowEnd?: number;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteRow?: number;\n absoluteLength?: number;\n}\n\nexport type DataAdapterFn = (\n options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell?: KupInputPanelCell,\n id?: string\n) => Object;\n\nexport type InputPanelCells = {\n cells: { cell: KupDataCell; column: KupDataColumn }[];\n row?: KupInputPanelRow;\n};\n\nexport type InputPanelEvent = {\n state: { cell: KupDataCell; column: KupDataColumn }[];\n data: {\n field: string;\n value: number | string | object;\n };\n};\n\nexport type InputPanelOptionsHandler = (\n fun: string,\n inputValue: string,\n currentState: KupInputPanelData,\n cellId: string\n) => Promise<GenericObject>;\n\nexport type InputPanelButtonClickHandler = (event: {\n fun: string;\n cellId: string;\n currentState: KupInputPanelData;\n}) => void;\n\nexport enum KupInputPanelProps {\n customStyle = 'Custom style of the component.',\n data = 'Actual data of the input panel.',\n hiddenSubmitButton = 'Creates a hidden submit button in order to submit the form with enter.',\n submitCb = 'Sets the callback function on submit form',\n optionsHandler = 'Sets the callback function to recieve options',\n}\n","const CHAR_WIDTH = 12;\nconst ROW_HEIGHT = 22;\n\nexport const getAbsoluteWidth = (length: number) => {\n if (length == 0) {\n return CHAR_WIDTH / 2;\n }\n\n if (!length) {\n return null;\n }\n\n if (length === 1) {\n return 1.5 * CHAR_WIDTH;\n }\n\n return length * CHAR_WIDTH;\n};\n\nexport const getAbsoluteHeight = (height: number) => {\n if (!height) {\n return null;\n }\n\n return height * ROW_HEIGHT;\n};\n\nexport const getAbsoluteTop = (row: number) => {\n if (!row) {\n return null;\n }\n\n return (row - 1) * ROW_HEIGHT;\n};\n\nexport const getAbsoluteLeft = (col: number) => {\n if (!col) {\n return null;\n }\n\n return col * CHAR_WIDTH;\n};\n","/**\n* @prop --kup-input-panel-background-color: Sets background of the component.\n* @prop --kup-input-panel-color: Sets text color of the component.\n* @prop --kup-input-panel-font-family: Sets font family of the component.\n* @prop --kup-input-panel-font-size: Sets font size of the component.\n* @prop --kup-input-panel-label-alignment: Sets the text alignment of labels.\n* @prop --kup-input-panel-label-width: Sets the width of labels.\n* @prop --kup-input-panel-padding: Sets the padding of the input panel.\n*/\n\n:host {\n --kup_input_panel_background_color: var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );\n --kup_input_panel_color: var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );\n --kup_input_panel_font_family: var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );\n --kup_input_panel_font_size: var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );\n --kup_input_panel_label_alignment: var(--kup-input-panel-label-alignment);\n --kup_input_panel_label_width: var(--kup-input-panel-label-width);\n --kup_input_panel_padding: var(--kup-input-panel-padding, 1em 0);\n\n .input-panel {\n background: var(--kup_input_panel_background_color);\n color: var(--kup_input_panel_color);\n display: flex;\n flex-grow: 1;\n overflow: auto;\n padding: var(--kup_input_panel_padding);\n position: relative;\n gap: 2rem;\n\n &--column {\n flex-direction: column;\n }\n\n &__section_label_container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n\n &__section {\n display: grid;\n\n .f-cell__content {\n > * {\n width: 100%;\n }\n }\n }\n\n &__horizontal-section {\n display: inline-grid;\n }\n\n .f-cell .f-checkbox .checkbox .checkbox__native-control {\n height: 40px;\n width: 40px;\n }\n\n &__label_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n > .f-cell {\n flex: 1;\n }\n }\n\n &__tabs_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 2rem;\n }\n\n .f-cell.number-cell {\n .f-cell__content {\n --kup-textfield-font-family: var(--kup_cell_font_family);\n\n font-family: var(--kup_cell_font_family);\n }\n }\n\n .input-panel-label {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n &--absolute {\n height: 87ch;\n justify-content: flex-end;\n\n .input-panel-label {\n justify-content: start;\n }\n\n .mdc-text-field {\n height: unset !important;\n }\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n forceUpdate,\n h,\n} from '@stencil/core';\nimport {\n KupAutocompleteEventPayload,\n KupComboboxIconClickEventPayload,\n KupDataCell,\n KupDataTableDataset,\n KupDataTableRow,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n 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 const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n styleObj.gap = +section.gap > 0 ? `${section.gap}rem` : '1rem';\n\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n\n const hasDim = section.sections.some((sec) => sec.dim);\n\n if (!section.gridCols && section.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n\n if (!section.gridRows && !section.horizontal) {\n styleObj.gridTemplateRows = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n styleObj.gridTemplateColumns =\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '';\n\n styleObj.gridTemplateRows =\n +section.gridRows > 0 ? `repeat(${section.gridRows}, 1fr)` : '';\n }\n\n const sectionContent = (\n <div class={classObj} style={styleObj}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <h3>{section.title}</h3>\n {sectionContent}\n </div>\n ) : (\n sectionContent\n );\n }\n\n #renderAbsoluteSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderAbsoluteSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderAbsoluteField(cells, field)\n );\n }\n\n const width = `${getAbsoluteWidth(section.absoluteWidth)}px`;\n const height = `${getAbsoluteHeight(section.absoluteHeight)}px`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => ({\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: section.icon,\n id: section.id || `${i}`,\n }));\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n fieldCell.cell.data = {\n ...fieldCell.cell.data,\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCells(data: KupInputPanelData) {\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setProps(cell, column),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name}]`\n );\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setProps(cell: KupInputPanelCell, column: KupInputPanelColumn) {\n const defaultProps = {\n ...this.#mapData(cell, column),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.OBJECT, this.#ObjectAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\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 #ObjectAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n ) {\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n //#endregion\n\n //#region LIFECYCLE HOOKS\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n this.onDataChanged();\n }\n\n componentDidLoad() {\n this.kupReady.emit({ comp: this, id: this.rootElement.id });\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n const root: ShadowRoot = this.rootElement.shadowRoot;\n if (root) {\n const fs: NodeListOf<HTMLElement> =\n root.querySelectorAll('.f-text-field');\n for (let index = 0; index < fs.length; index++) {\n FTextFieldMDC(fs[index]);\n }\n }\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const isEmptyData = Boolean(!this.inputPanelCells.length);\n\n const inputPanelContent: VNode[] = isEmptyData\n ? [\n <p>\n {this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_DATA\n )}\n </p>,\n ]\n : this.inputPanelCells.map((inputPanelCell) =>\n this.#renderRow(inputPanelCell)\n );\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>{inputPanelContent}</div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n //#endregion\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as e,g as t}from"./p-d7c15b0e.js";import{b as l}from"./p-f6a5e96d.js";import{F as n}from"./p-2b519589.js";const i=document.documentElement;const s=(t,l)=>{const n={"f-text-field":true,"kup-danger":t.danger,"kup-full-height":t.fullHeight,"kup-full-width":t.fullWidth,"kup-info":t.info,"kup-light-mode":t.lightMode,"kup-secondary":t.secondary,"kup-shaped":t.shaped,"kup-success":t.success,"kup-warning":t.warning,[t.wrapperClass]:!!t.wrapperClass};return e("div",Object.assign({class:n},t.dataSet,{id:t.id,title:t.title}),t.leadingLabel||t.trailingLabel?e("div",{class:`mdc-form-field ${t.leadingLabel?"mdc-form-field--align-end":""}`},[d(t),c(t),e("label",null,t.label)]):[d(t),c(t)],l)};function d(s){var d,c;const r=s.textArea||s.outlined;let o;let u;let f;let m;if(s.label&&!s.leadingLabel&&!s.trailingLabel){o=e("div",{class:"mdc-text-field__label-container"},e("label",{class:"mdc-label",htmlFor:"kup-input"},s.label),s.maxLength?e("div",{class:"mdc-text-field-character-counter"},s.value.length," / ",s.maxLength):undefined)}if(s.icon){let n;let i="";if(Object.values(l).indexOf(s.icon)>-1){i=s.icon.replace("--","")}else{let e=`url('${t(`./assets/svg/${s.icon}.svg`)}') no-repeat center`;n={mask:e,webkitMask:e}}u=e("span",{style:n,onClick:s.onIconClick,class:`mdc-text-field__icon kup-icon action ${i}`})}if(s.quantityButtons){const l=`url('${t(`./assets/svg/minus.svg`)}') no-repeat center`;const n=`url('${t(`./assets/svg/plus.svg`)}') no-repeat center`;const i={mask:l,webkitMask:l};const s={mask:n,webkitMask:n};f=e("span",{style:i,class:`mdc-text-field__icon kup-icon action`});m=e("span",{style:s,class:`mdc-text-field__icon kup-icon action`})}const p={color:s.error?`var(--kup-danger-color-60)`:`var(--kup-warning-color-50)`,resource:s.error?"error":"warning",sizeX:"1.25em",sizeY:"1.25em",wrapperClass:"kup-icon"};const x={"mdc-text-field-container":true,"mdc-text-field-container--disabled":s.disabled};const g={"is-clearable":s.isClearable,"mdc-text-field":true,"mdc-text-field--disabled":s.disabled,"mdc-text-field--read-only":s.readOnly,"mdc-text-field--filled":!s.fullWidth&&!r,"mdc-text-field--no-label":!s.label,"mdc-text-field--fullwidth":s.fullWidth,"mdc-text-field--lightmode":s.lightMode,"mdc-text-field--outlined":r,"mdc-text-field--textarea":s.textArea,"mdc-text-field--with-leading-icon":s.icon&&!s.trailingIcon,"mdc-text-field--with-trailing-icon":s.icon&&s.trailingIcon,"mdc-text-field--with-quantity-buttons":s.quantityButtons,"mdc-text-field--error":Boolean(s.error),"mdc-text-field--alert":Boolean(s.alert),[`mdc-text-field--${s.sizing}`]:s.sizing?true:false};let v=s.value;let k=s.quantityButtons?"number":(d=s.inputType)!==null&&d!==void 0?d:"text";let b=false;if(s.inputType==="number"&&(s.decimals&&s.decimals>0||s.group)){k="text";b=true}if(s.inputType==="number"){const e={allowNegative:(c=s.allowNegative)!==null&&c!==void 0?c:true,decimal:s.decimals,group:s.group,integer:s.integers};v=a(v,e,false)}return e("div",{class:x},!s.fullWidth?o:undefined,e("div",{class:g},!s.trailingIcon?u:undefined,s.textArea?e("span",{class:"mdc-text-field__resizer"},e("textarea",{class:"mdc-text-field__input",disabled:s.disabled,maxlength:s.maxLength,value:v,onBlur:s.onBlur,onClick:s.onClick,onChange:s.onChange,onFocus:s.onFocus,onInput:s.onInput,onKeyDown:s.onKeyDown})):e("input",{inputmode:s.inputMode?s.inputMode:undefined,type:k,step:s.step,min:s.min,max:s.max,name:s.name,class:"mdc-text-field__input",disabled:s.disabled,placeholder:s.placeholder,maxlength:s.maxLength,size:s.size,value:v,onBlur:e=>{var t;if(b){const l={allowNegative:(t=s.allowNegative)!==null&&t!==void 0?t:true,decimal:s.decimals,group:s.group,integer:s.integers};e.target.value=a(e.target.value,l,true)}if(s.onBlur){s.onBlur(e)}},onChange:e=>{var t;if(b){const l={allowNegative:(t=s.allowNegative)!==null&&t!==void 0?t:true,decimal:s.decimals,group:s.group,integer:s.integers};if(s.min!==undefined&&s.min!==null&&s.min>parseFloat(e.target.value)){e.target.value=a(s.min.toString(),l,true)}else if(s.max!==undefined&&s.max!==null&&s.max<parseFloat(e.target.value)){e.target.value=a(s.max.toString(),l,true)}else{e.target.value=a(e.target.value,l,true)}}else{if(s.min!==undefined&&s.min!==null&&s.min>parseFloat(e.target.value)){e.target.value=s.min.toString()}else if(s.max!==undefined&&s.max!==null&&s.max<parseFloat(e.target.value)){e.target.value=s.max.toString()}}if(s.onChange){s.onChange(e)}},onClick:s.onClick,onFocus:s.onFocus,onInput:s.onInput,onKeyDown:s.onKeyDown,onKeyPress:e=>{var t;if(!b){return}if(e.ctrlKey){return}if(e.key.length>1){return}const l={allowNegative:(t=s.allowNegative)!==null&&t!==void 0?t:true,decimal:s.decimals,group:s.group,integer:s.integers};let n=e.target;let d=n.value;let c=d.substring(0,n.selectionStart);let a=d.substring(n.selectionEnd,n.selectionEnd+d.length-1);let r=c+e.key+a;if(!i.ketchup.math.matchNumericValueWithOptions(r,l)){e.preventDefault();return}}}),s.trailingIcon?u:undefined,s.helperIcon&&s.error?e("div",{class:"mdc-error-icon"},e(n,Object.assign({},p))):s.helperIcon&&s.alert?e("div",{class:"mdc-alert-icon"},e(n,Object.assign({},p))):undefined,s.quantityButtons&&e("div",{class:"mdc-quantity-buttons"},e("button",{onClick:s.onMinusClick},f),e("button",{onClick:s.onPlusClick},m)),s.isClearable?e("span",{class:`mdc-text-field__icon kup-icon ${l.CLEAR.replace("--","")}`,onClick:s.onClearIconClick}):undefined))}function c(t){if(t.error||t.alert){return e("div",{class:"mdc-text-field-helper-line"},t.error?e("span",{class:"mdc-error-message"},t.error):t.alert?e("span",{class:"mdc-alert-message"},t.alert):undefined)}else if(t.helperEnabled!==false){if(t.helper){const l={"mdc-text-field-helper-text":true,"mdc-text-field-helper-text--persistent":!t.helperWhenFocused};return e("div",{class:"mdc-text-field-helper-line"},e("div",{class:l},t.helper))}}}const a=function(e,t,l){let n=e;if(!n){return n}if(n=="-"){return""}return i.ketchup.math.format(n,i.ketchup.math.createFormatPattern(t.group,t.decimal),l)};export{s as F};
|
|
2
|
-
//# sourceMappingURL=p-f2f03a48.js.map
|