@sme.up/ketchup 11.0.0-SNAPSHOT-20241127101744 → 11.0.0-SNAPSHOT-20241128133127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/cjs/{f-cell-9e9a291e.js → f-cell-2ff0dc79.js} +5 -5
  2. package/dist/cjs/f-cell-2ff0dc79.js.map +1 -0
  3. package/dist/cjs/{f-chip-43fb65b2.js → f-chip-62db6daa.js} +2 -2
  4. package/dist/cjs/{f-chip-43fb65b2.js.map → f-chip-62db6daa.js.map} +1 -1
  5. package/dist/cjs/{f-paginator-utils-ada85b68.js → f-paginator-utils-962be84b.js} +2 -2
  6. package/dist/cjs/{f-paginator-utils-ada85b68.js.map → f-paginator-utils-962be84b.js.map} +1 -1
  7. package/dist/cjs/{f-text-field-be868b63.js → f-text-field-6731b0c0.js} +2 -2
  8. package/dist/cjs/{f-text-field-be868b63.js.map → f-text-field-6731b0c0.js.map} +1 -1
  9. package/dist/cjs/index.cjs.js +1 -1
  10. package/dist/cjs/kup-accordion.cjs.entry.js +1 -1
  11. package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
  12. package/dist/cjs/kup-autocomplete_28.cjs.entry.js +6 -6
  13. package/dist/cjs/kup-box.cjs.entry.js +6 -6
  14. package/dist/cjs/kup-calendar.cjs.entry.js +2 -2
  15. package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
  16. package/dist/cjs/kup-cell.cjs.entry.js +4 -4
  17. package/dist/cjs/kup-dashboard.cjs.entry.js +2 -2
  18. package/dist/cjs/{kup-data-table-helper-fd333383.js → kup-data-table-helper-1ce1380e.js} +2 -2
  19. package/dist/cjs/{kup-data-table-helper-fd333383.js.map → kup-data-table-helper-1ce1380e.js.map} +1 -1
  20. package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
  21. package/dist/cjs/kup-echart.cjs.entry.js +1 -1
  22. package/dist/cjs/kup-editor.cjs.entry.js +1 -1
  23. package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
  24. package/dist/cjs/kup-grid.cjs.entry.js +1 -1
  25. package/dist/cjs/kup-htm.cjs.entry.js +1 -1
  26. package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
  27. package/dist/cjs/kup-image-list.cjs.entry.js +4 -4
  28. package/dist/cjs/kup-input-panel.cjs.entry.js +4 -4
  29. package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
  30. package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
  31. package/dist/cjs/{kup-manager-a588c6da.js → kup-manager-3278d3e7.js} +35 -35
  32. package/dist/cjs/{kup-manager-a588c6da.js.map → kup-manager-3278d3e7.js.map} +1 -1
  33. package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
  34. package/dist/cjs/kup-numeric-picker.cjs.entry.js +2 -2
  35. package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
  36. package/dist/cjs/kup-photo-frame.cjs.entry.js +1 -1
  37. package/dist/cjs/kup-planner.cjs.entry.js +2 -2
  38. package/dist/cjs/kup-probe.cjs.entry.js +1 -1
  39. package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
  40. package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
  41. package/dist/cjs/kup-txt.cjs.entry.js +1 -1
  42. package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
  43. package/dist/cjs/kup-typography.cjs.entry.js +1 -1
  44. package/dist/collection/f-components/f-cell/f-cell.js +1 -1
  45. package/dist/collection/f-components/f-cell/f-cell.js.map +1 -1
  46. package/dist/collection/managers/kup-data/kup-data-declarations.js.map +1 -1
  47. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +2 -2
  48. package/dist/collection/managers/kup-theme/kup-theme-declarations.js.map +1 -1
  49. package/dist/components/kup-autocomplete2.js +1 -1
  50. package/dist/components/kup-autocomplete2.js.map +1 -1
  51. package/dist/components/kup-manager.js +34 -34
  52. package/dist/components/kup-manager.js.map +1 -1
  53. package/dist/esm/{f-cell-dc844fda.js → f-cell-2f9f4e66.js} +5 -5
  54. package/dist/esm/f-cell-2f9f4e66.js.map +1 -0
  55. package/dist/esm/{f-chip-9103ffc9.js → f-chip-3b07fba5.js} +2 -2
  56. package/dist/esm/{f-chip-9103ffc9.js.map → f-chip-3b07fba5.js.map} +1 -1
  57. package/dist/esm/{f-paginator-utils-6edcb9c3.js → f-paginator-utils-67a94ced.js} +2 -2
  58. package/dist/esm/{f-paginator-utils-6edcb9c3.js.map → f-paginator-utils-67a94ced.js.map} +1 -1
  59. package/dist/esm/{f-text-field-80930605.js → f-text-field-93c7412d.js} +2 -2
  60. package/dist/esm/{f-text-field-80930605.js.map → f-text-field-93c7412d.js.map} +1 -1
  61. package/dist/esm/index.js +1 -1
  62. package/dist/esm/kup-accordion.entry.js +1 -1
  63. package/dist/esm/kup-activity-timeline.entry.js +2 -2
  64. package/dist/esm/kup-autocomplete_28.entry.js +6 -6
  65. package/dist/esm/kup-box.entry.js +6 -6
  66. package/dist/esm/kup-calendar.entry.js +2 -2
  67. package/dist/esm/kup-card-list.entry.js +1 -1
  68. package/dist/esm/kup-cell.entry.js +4 -4
  69. package/dist/esm/kup-dashboard.entry.js +2 -2
  70. package/dist/esm/{kup-data-table-helper-995fc188.js → kup-data-table-helper-a2344fed.js} +2 -2
  71. package/dist/esm/{kup-data-table-helper-995fc188.js.map → kup-data-table-helper-a2344fed.js.map} +1 -1
  72. package/dist/esm/kup-drawer.entry.js +1 -1
  73. package/dist/esm/kup-echart.entry.js +1 -1
  74. package/dist/esm/kup-editor.entry.js +1 -1
  75. package/dist/esm/kup-family-tree.entry.js +1 -1
  76. package/dist/esm/kup-grid.entry.js +1 -1
  77. package/dist/esm/kup-htm.entry.js +1 -1
  78. package/dist/esm/kup-iframe.entry.js +1 -1
  79. package/dist/esm/kup-image-list.entry.js +4 -4
  80. package/dist/esm/kup-input-panel.entry.js +4 -4
  81. package/dist/esm/kup-lazy.entry.js +1 -1
  82. package/dist/esm/kup-magic-box.entry.js +1 -1
  83. package/dist/esm/{kup-manager-e9b17e17.js → kup-manager-3b90110b.js} +35 -35
  84. package/dist/esm/{kup-manager-e9b17e17.js.map → kup-manager-3b90110b.js.map} +1 -1
  85. package/dist/esm/kup-nav-bar.entry.js +1 -1
  86. package/dist/esm/kup-numeric-picker.entry.js +2 -2
  87. package/dist/esm/kup-pdf.entry.js +1 -1
  88. package/dist/esm/kup-photo-frame.entry.js +1 -1
  89. package/dist/esm/kup-planner.entry.js +2 -2
  90. package/dist/esm/kup-probe.entry.js +1 -1
  91. package/dist/esm/kup-qlik.entry.js +1 -1
  92. package/dist/esm/kup-snackbar.entry.js +1 -1
  93. package/dist/esm/kup-txt.entry.js +1 -1
  94. package/dist/esm/kup-typography-list.entry.js +1 -1
  95. package/dist/esm/kup-typography.entry.js +1 -1
  96. package/dist/ketchup/index.esm.js +1 -1
  97. package/dist/ketchup/ketchup.esm.js +1 -1
  98. package/dist/ketchup/{p-8a540599.entry.js → p-0d44839c.entry.js} +2 -2
  99. package/dist/ketchup/{p-2acd1e25.js → p-126de847.js} +2 -2
  100. package/dist/ketchup/{p-02503afe.entry.js → p-1a390165.entry.js} +2 -2
  101. package/dist/ketchup/{p-0facfbaf.js → p-1d4dac33.js} +2 -2
  102. package/dist/ketchup/{p-76573017.entry.js → p-22459af6.entry.js} +2 -2
  103. package/dist/ketchup/{p-ff4f5497.entry.js → p-2f521a85.entry.js} +2 -2
  104. package/dist/ketchup/{p-6b225612.js → p-405214a3.js} +2 -2
  105. package/dist/ketchup/p-405214a3.js.map +1 -0
  106. package/dist/ketchup/{p-b44cdd98.entry.js → p-43550140.entry.js} +2 -2
  107. package/dist/ketchup/{p-b413dbae.entry.js → p-456fea9e.entry.js} +2 -2
  108. package/dist/ketchup/{p-2a8866bf.entry.js → p-52d05222.entry.js} +2 -2
  109. package/dist/ketchup/{p-043324c6.entry.js → p-57f6ff0a.entry.js} +2 -2
  110. package/dist/ketchup/{p-4175b5ce.entry.js → p-5838a1b3.entry.js} +2 -2
  111. package/dist/ketchup/{p-b2e6fcf9.entry.js → p-5a81ac48.entry.js} +2 -2
  112. package/dist/ketchup/{p-b6589b6a.entry.js → p-5bb0087a.entry.js} +2 -2
  113. package/dist/ketchup/{p-574e970a.entry.js → p-5cebaa3c.entry.js} +2 -2
  114. package/dist/ketchup/{p-cfb1d74e.entry.js → p-62b80962.entry.js} +2 -2
  115. package/dist/ketchup/{p-9bae40e3.entry.js → p-6348a9fd.entry.js} +2 -2
  116. package/dist/ketchup/{p-836b5606.entry.js → p-6e218db0.entry.js} +2 -2
  117. package/dist/ketchup/{p-cfee9a84.entry.js → p-76919534.entry.js} +2 -2
  118. package/dist/ketchup/{p-a3ae1c57.entry.js → p-7b67c327.entry.js} +2 -2
  119. package/dist/ketchup/p-7f9cc866.js +2 -0
  120. package/dist/ketchup/{p-df8c4398.js.map → p-7f9cc866.js.map} +1 -1
  121. package/dist/ketchup/{p-40349e58.entry.js → p-95c9a84b.entry.js} +2 -2
  122. package/dist/ketchup/{p-c0ded373.entry.js → p-a04dc3b4.entry.js} +2 -2
  123. package/dist/ketchup/{p-d5ec4d2e.js → p-a732acc2.js} +2 -2
  124. package/dist/ketchup/{p-70ea1441.entry.js → p-b8212425.entry.js} +2 -2
  125. package/dist/ketchup/{p-8a7e8043.entry.js → p-c2aa4406.entry.js} +2 -2
  126. package/dist/ketchup/{p-b3bee19d.entry.js → p-dc2c2d58.entry.js} +2 -2
  127. package/dist/ketchup/{p-87e71fb1.entry.js → p-dd1b11c4.entry.js} +2 -2
  128. package/dist/ketchup/{p-81876eef.entry.js → p-de66407e.entry.js} +2 -2
  129. package/dist/ketchup/{p-7fc2ece1.entry.js → p-e455bc8e.entry.js} +2 -2
  130. package/dist/ketchup/{p-c739bb15.entry.js → p-e4ff9d7b.entry.js} +2 -2
  131. package/dist/ketchup/{p-44a9afa7.entry.js → p-e5d7ffb4.entry.js} +2 -2
  132. package/dist/ketchup/{p-54f6e4df.js → p-ed30fa84.js} +2 -2
  133. package/dist/ketchup/p-ed30fa84.js.map +1 -0
  134. package/dist/ketchup/{p-2deef1fb.entry.js → p-ed9a5426.entry.js} +2 -2
  135. package/dist/ketchup/{p-854b4c27.entry.js → p-f6b46f3d.entry.js} +2 -2
  136. package/dist/ketchup/{p-badd6e2e.entry.js → p-fa576a4b.entry.js} +2 -2
  137. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +1 -0
  138. package/dist/types/managers/kup-theme/kup-theme-declarations.d.ts +2 -2
  139. package/package.json +1 -1
  140. package/dist/cjs/f-cell-9e9a291e.js.map +0 -1
  141. package/dist/esm/f-cell-dc844fda.js.map +0 -1
  142. package/dist/ketchup/p-54f6e4df.js.map +0 -1
  143. package/dist/ketchup/p-6b225612.js.map +0 -1
  144. package/dist/ketchup/p-df8c4398.js +0 -2
  145. /package/dist/ketchup/{p-8a540599.entry.js.map → p-0d44839c.entry.js.map} +0 -0
  146. /package/dist/ketchup/{p-2acd1e25.js.map → p-126de847.js.map} +0 -0
  147. /package/dist/ketchup/{p-02503afe.entry.js.map → p-1a390165.entry.js.map} +0 -0
  148. /package/dist/ketchup/{p-0facfbaf.js.map → p-1d4dac33.js.map} +0 -0
  149. /package/dist/ketchup/{p-76573017.entry.js.map → p-22459af6.entry.js.map} +0 -0
  150. /package/dist/ketchup/{p-ff4f5497.entry.js.map → p-2f521a85.entry.js.map} +0 -0
  151. /package/dist/ketchup/{p-b44cdd98.entry.js.map → p-43550140.entry.js.map} +0 -0
  152. /package/dist/ketchup/{p-b413dbae.entry.js.map → p-456fea9e.entry.js.map} +0 -0
  153. /package/dist/ketchup/{p-2a8866bf.entry.js.map → p-52d05222.entry.js.map} +0 -0
  154. /package/dist/ketchup/{p-043324c6.entry.js.map → p-57f6ff0a.entry.js.map} +0 -0
  155. /package/dist/ketchup/{p-4175b5ce.entry.js.map → p-5838a1b3.entry.js.map} +0 -0
  156. /package/dist/ketchup/{p-b2e6fcf9.entry.js.map → p-5a81ac48.entry.js.map} +0 -0
  157. /package/dist/ketchup/{p-b6589b6a.entry.js.map → p-5bb0087a.entry.js.map} +0 -0
  158. /package/dist/ketchup/{p-574e970a.entry.js.map → p-5cebaa3c.entry.js.map} +0 -0
  159. /package/dist/ketchup/{p-cfb1d74e.entry.js.map → p-62b80962.entry.js.map} +0 -0
  160. /package/dist/ketchup/{p-9bae40e3.entry.js.map → p-6348a9fd.entry.js.map} +0 -0
  161. /package/dist/ketchup/{p-836b5606.entry.js.map → p-6e218db0.entry.js.map} +0 -0
  162. /package/dist/ketchup/{p-cfee9a84.entry.js.map → p-76919534.entry.js.map} +0 -0
  163. /package/dist/ketchup/{p-a3ae1c57.entry.js.map → p-7b67c327.entry.js.map} +0 -0
  164. /package/dist/ketchup/{p-40349e58.entry.js.map → p-95c9a84b.entry.js.map} +0 -0
  165. /package/dist/ketchup/{p-c0ded373.entry.js.map → p-a04dc3b4.entry.js.map} +0 -0
  166. /package/dist/ketchup/{p-d5ec4d2e.js.map → p-a732acc2.js.map} +0 -0
  167. /package/dist/ketchup/{p-70ea1441.entry.js.map → p-b8212425.entry.js.map} +0 -0
  168. /package/dist/ketchup/{p-8a7e8043.entry.js.map → p-c2aa4406.entry.js.map} +0 -0
  169. /package/dist/ketchup/{p-b3bee19d.entry.js.map → p-dc2c2d58.entry.js.map} +0 -0
  170. /package/dist/ketchup/{p-87e71fb1.entry.js.map → p-dd1b11c4.entry.js.map} +0 -0
  171. /package/dist/ketchup/{p-81876eef.entry.js.map → p-de66407e.entry.js.map} +0 -0
  172. /package/dist/ketchup/{p-7fc2ece1.entry.js.map → p-e455bc8e.entry.js.map} +0 -0
  173. /package/dist/ketchup/{p-c739bb15.entry.js.map → p-e4ff9d7b.entry.js.map} +0 -0
  174. /package/dist/ketchup/{p-44a9afa7.entry.js.map → p-e5d7ffb4.entry.js.map} +0 -0
  175. /package/dist/ketchup/{p-2deef1fb.entry.js.map → p-ed9a5426.entry.js.map} +0 -0
  176. /package/dist/ketchup/{p-854b4c27.entry.js.map → p-f6b46f3d.entry.js.map} +0 -0
  177. /package/dist/ketchup/{p-badd6e2e.entry.js.map → p-fa576a4b.entry.js.map} +0 -0
@@ -0,0 +1 @@
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","valueToDisplay","previousValue","cellType","getType","subcomponentProps","cssClasses","cssClass","component","legacyLook","FCellClasses","OBJ","density","FCellTypes","BAR","isForceUppercase","isForceLowercase","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","fieldLabel","currentValue","dataAdapterMap","Map","BUTTON_LIST","MainBTNAdapter","this","STRING","MainITXAdapter","MainRADAdapter","AUTOCOMPLETE","MainCMBandACPAdapter","COMBOBOX","CHECKBOX","MainCHKAdapter","OBJECT","MainObjectAdapter","CHIP","MainCHIAdapter","adapter","get","_fieldLabel","_currentValue","newData","map","option","_options","_cell","_id","initialValue","RADAdapter","configCMandACP","CMBandACPAdapter","optionsTreeComboAdapter","optionsAdapterMap","selected","treeOptionsNodeAdapter","child","codice","testo","dataTreeOptionsChildrenAdapter","tableOptionsAdapter","rows","cells","fields","keys","ICON","height","minHeight","IMAGE","cellValue","hasExternalResource","rootElement","tagName","KupTagNames","DATA_TABLE","BOX","fit","BUTTON","CHART","key","isFullWidth","UPDATE","INPUT","ICON_CLICK","isAutoCentered","C_CENTERED","FCellShapes","INPUT_CHECKBOX","FCheckbox","FChipType","enableInput","fullWidth","slot","slotData","error","COLOR_PICKER","DATE","MULTI_AUTOCOMPLETE","displayId","displayMode","DESCRIPTION_AND_CODE","selectMode","showDropDownIcon","MULTI_COMBOBOX","radioData","index","radioEl","RATING","SWITCH","TIME","FTextField","onIconClick","FButton","styling","FButtonStyling","FLAT","C_RIGHT_ALIGNED","LINK","onInput","math","numberifySafe","toString","INPUT_FIELD","maxLength","_b","cellData","inputType","decimals","integers","DATETIME","getCellValueForDisplay","EDITOR","innerHTML","badgeData","C_PADDED","href","target","cellValueNumber","TEXT_DANGER","barStyle","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","getValueFromEventTarget","checkedItem","find","item","detail","stringifiedValues","displayedValue","CustomEvent","bubbles","cancelable","composed","event","dispatchEvent","refresh","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 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 type?: FRadioType;\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 <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 <>\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 &#x2605;\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 &#x2606;\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 {\n FButtonStyling,\n type FButtonProps,\n} 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 { Fragment, FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CHIAdapter,\n CMBandACPAdapter,\n getCellValueForDisplay,\n isForceLowercase,\n isForceUppercase,\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 CellOptions,\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 { FRadioData, 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 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\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\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 'c-input-uppercase': isForceUppercase(cell),\n 'c-input-lowercase': isForceLowercase(cell),\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, column: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n const options = cell.options;\n const fieldLabel = column.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 [FCellTypes.CHIP, MainCHIAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter ? adapter(options, fieldLabel, currentValue, cell) : null;\n};\n\nconst MainCHIAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell\n) => {\n const newData = {\n data: options?.length\n ? options?.map((option) => ({\n id: option.id,\n value: option.id,\n }))\n : [],\n };\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainObjectAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => ({\n data: {\n initialValue: currentValue || '',\n label: fieldLabel || '',\n value: currentValue || '',\n },\n});\n\nconst MainCHKAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n checked: currentValue === 'on' || currentValue === '1',\n label: fieldLabel,\n});\n\nconst MainBTNAdapter = (\n _options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n data: [\n {\n ...cell.data,\n icon: cell.icon,\n value: currentValue,\n },\n ],\n});\n\nconst MainITXAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n label: fieldLabel,\n});\n\nconst MainRADAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell?: KupDataCellOptions\n) => {\n const newData = RADAdapter(currentValue, options);\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainCMBandACPAdapter = (\n options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions,\n _id: string\n) => {\n if (!cell.data?.data && options) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n options,\n currentValue\n );\n return configCMandACP;\n }\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst 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\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 error={cell.data.error}\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 error={cell.data.error}\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 error={cell.data.error}\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 <Fragment>\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n ></FTextField>\n <FButton\n icon=\"menu\"\n onClick={(e) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n styling={FButtonStyling.FLAT}\n wrapperClass=\"obj-field-extra-btn\"\n ></FButton>\n </Fragment>\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 decimals={props.column.decimals}\n integers={props.column.integers}\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 = getValueFromEventTarget(e, cellType);\n if (isForceUppercase(cell)) {\n value = value?.toUpperCase();\n } else if (isForceLowercase(cell)) {\n value = value?.toLowerCase();\n }\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 if (cell.data.data) {\n const radioData = cell.data.data as FRadioData[];\n const checkedItem = radioData.find((item) => item.checked);\n if (checkedItem) {\n value = checkedItem.value;\n }\n }\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 getValueFromEventTarget(\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\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":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,f as i,h as a,H as l,d as r}from"./p-d7c15b0e.js";import{F as n}from"./p-10dfd311.js";import{a as o}from"./p-e3062c19.js";import{F as s}from"./p-2b519589.js";import{k as f,g as _,s as h,h as p,N as m}from"./p-54f6e4df.js";import{c}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var u;(function(t){t["autofitOnExpand"]="The component will autofit everytime a node is expanded.";t["autofitOnLoad"]="The component's initial render will fit the container by invoking the runAutofit method.";t["cardData"]="Used to render the family tree boxes as kup-cards (through kup-box).";t["collapsible"]="Nodes can be expanded/collapsed.";t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the component";t["layout"]="Layout of the boxes.";t["stackedLeaves"]="Child nodes that have no children are arranged vertically."})(u||(u={}));const d='.kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_familytree_item_background_color:var(\n --kup-layer-1,\n var(--kup-layer-1)\n );--kup_familytree_border_color:var(\n --kup-familytree-border-color,\n var(--kup-info-color-50)\n );--kup_familytree_item_color:var(\n --kup-familytree-item-color,\n var(--kup-text-color)\n );--kup_familytree_item_height:var(--kup-familytree-item-height, 80px);--kup_familytree_item_h_padding:var(\n --kup-familytree-item-h-padding,\n var(--kup-space-03)\n );--kup_familytree_item_v_padding:var(\n --kup-familytree-item-v-padding,\n var(--kup-space-03)\n );--kup_familytree_item_width:var(--kup-familytree-item-width, 280px);--kup_familytree_lines_color:var(\n --kup-familytree-lines-color,\n var(--kup-border-subtle)\n );display:block;overflow:hidden}.family-tree{cursor:grab;display:flex;transform:scale(var(--kup_familytree_scale, 1));transform-origin:0px 0px}.family-tree--dragging{cursor:grabbing}.family-tree__node{border-collapse:collapse;margin:auto}.family-tree__node--stacked{margin-bottom:4px}.family-tree__node__staff{align-items:center;display:flex;flex-direction:column;height:0;transform:translateX(calc((var(--kup_familytree_item_width) + var(--kup_familytree_item_h_padding) * 2) / 2)) translateY(calc(0px - (var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)))}.family-tree__node__staff__item{padding:var(--kup_familytree_item_v_padding);text-align:left}.family-tree__node__staff__item:before{border-top:2px solid var(--kup_familytree_lines_color);content:"";position:absolute;transform:translateX(calc(100% + 2px)) translateY(calc(var(--kup_familytree_item_height) / 2));width:var(--kup_familytree_item_h_padding)}.family-tree__node td{vertical-align:top;padding:0}.family-tree__line--left{border-left:2px solid var(--kup_familytree_lines_color)}.family-tree__line--placeholder{height:calc(var(--kup_familytree_item_height) / 2)}.family-tree__line--staff{height:calc(var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)}.family-tree__line--right{border-right:2px solid var(--kup_familytree_lines_color)}.family-tree__line--top{border-top:2px solid var(--kup_familytree_lines_color)}.family-tree__line--vertical{background-color:var(--kup_familytree_lines_color);margin-left:auto;margin-right:auto;width:2px}.family-tree__item{display:flex}.family-tree__item__wrapper{margin:auto}.family-tree__item__wrapper kup-box{margin:0 auto;overflow:hidden;padding:0 18px;width:var(--kup_familytree_item_width);z-index:1}.family-tree__item__wrapper .f-button{--kup-button-primary-color:var(--kup-text-color);--kup-button-primary-color-rgb:var(--kup-text-color-rgb);--kup-button-primary-color-h:var(--kup-text-color-h);--kup-button-primary-color-s:var(--kup-text-color-s);--kup-button-primary-color-l:var(--kup-text-color-l);margin:0 auto;width:max-content}.family-tree__item__wrapper .f-button button{height:32px;width:32px}.family-tree__item__layout{background-color:var(--kup_familytree_item_background_color);box-sizing:border-box;display:flex;height:var(--kup_familytree_item_height);margin:0 18px;width:var(--kup_familytree_item_width)}.family-tree__item__layout--1{justify-content:center;color:var(--kup_familytree_item_color)}.family-tree__item__layout--1>.family-tree__item__layout__text__title{margin-top:auto;margin-bottom:auto}.family-tree__item__layout--2{background-color:var(--kup_familytree_item_background_color);justify-content:flex-start}.family-tree__item__layout__color{background-color:var(--kup_familytree_border_color);height:100%;width:10px}.family-tree__item__layout__image{display:flex;margin:auto var(--kup-space-03)}.family-tree__item__layout__image img{border-radius:50px;object-fit:cover}.family-tree__item__layout__text{display:flex;flex-direction:column;justify-content:center}.family-tree__item__layout__text__title{font-size:18px;margin-bottom:5px}.family-tree__item__layout__text__subtitle{font-size:14px}.family-tree__item__layout__text__title,.family-tree__item__layout__text__subtitle{max-width:calc(var(--kup_familytree_item_width) - 30%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}';const y=d;var k=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(t):a?a.value:e.get(t)};var g=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,a,l){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!l)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?l.call(t,i):l?l.value=i:e.set(t,i),i};var v,x,b,w,z,j,C,E,T,W,M,S,D,L,O,P,R,A,F,X,Y,H,N,$,B;const U=class{constructor(i){t(this,i);this.kupClick=e(this,"kup-familytree-click",6);this.kupContextMenu=e(this,"kup-familytree-contextmenu",6);this.kupDblClick=e(this,"kup-familytree-dblclick",6);v.add(this);x.set(this,[]);b.set(this,false);w.set(this,0);z.set(this,0);j.set(this,[]);C.set(this,f());E.set(this,(t=>{const e=t.clientX-k(this,w,"f");const i=t.clientY-k(this,z,"f");this.rootElement.scrollTop-=i;this.rootElement.scrollLeft-=e;g(this,w,t.clientX,"f");g(this,z,t.clientY,"f")}));T.set(this,false);W.set(this,null);this.autofitOnExpand=true;this.autofitOnLoad=true;this.cardData=null;this.collapsible=true;this.customStyle="";this.data=null;this.layout=null;this.stackedLeaves=false}async collapseAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:false},true);this.refresh()}async expandAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:true},true);this.refresh()}async getProps(t){return _(this,u,t)}async refresh(){i(this)}async runAutofit(){const t=k(this,W,"f").clientWidth;const e=k(this,W,"f").children[0].clientWidth;const i=.01;const a=85/100*t;const l=95/100*t;let r=1;let n=2e3;let o=e;while((o<a||o>l)&&n>0&&r>i){n--;if(o<a){r=r+i}else if(o>l){r=r-i}else{n=0}o=e*r}k(this,W,"f").style.setProperty("--kup_familytree_scale",r<=1?r.toFixed(2):"1")}async setProps(t){h(this,u,t)}componentWillLoad(){k(this,C,"f").debug.logLoad(this,false);k(this,C,"f").language.register(this);k(this,C,"f").theme.register(this)}componentDidLoad(){k(this,v,"m",$).call(this);if(this.autofitOnLoad){this.runAutofit()}k(this,C,"f").debug.logLoad(this,true)}componentWillRender(){k(this,C,"f").debug.logRender(this,false)}componentDidRender(){if(k(this,T,"f")){g(this,T,false,"f");this.runAutofit()}k(this,C,"f").debug.logRender(this,true)}render(){return a(l,{key:"602bb95f29dfe9e017313b01a3fc485c23dd2f97",onDrag:t=>t.preventDefault(),onPointerDown:t=>{t.preventDefault();k(this,v,"m",F).call(this,t)},onWheel:t=>{k(this,v,"m",B).call(this,t)}},a("style",{key:"becb707b0e477aff23e752bbb7ce335c01b428bd"},k(this,C,"f").theme.setKupStyle(this.rootElement)),a("div",{key:"aa50336a80b5499f3241b277639bb234c9e3eee5",id:c},k(this,v,"m",R).call(this)))}disconnectedCallback(){k(this,C,"f").language.unregister(this);k(this,C,"f").theme.unregister(this)}get rootElement(){return r(this)}};x=new WeakMap,b=new WeakMap,w=new WeakMap,z=new WeakMap,j=new WeakMap,C=new WeakMap,E=new WeakMap,T=new WeakMap,W=new WeakMap,v=new WeakSet,M=function t(e,i,l,r){const n=[];n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--right":!e,"family-tree__line--top":!e}},a("div",{class:"family-tree__line--placeholder"})));n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--left":e,"family-tree__line--top":e&&!l||r&&!i}},a("div",{class:"family-tree__line--placeholder"})));return n},S=function t(e){var i;let l=null;let r=null;if(!this.collapsible||this.collapsible&&e.isExpanded){(i=e.children)===null||i===void 0?void 0:i.forEach((t=>{if(t.isStaff){if(!r){r=[]}r.push(t)}else{if(!l){l=[]}l.push(t)}}))}const s=this.stackedLeaves&&l&&l.every((t=>!t.children||t.children.length==0));const f=l?l.length*2:1;const _={"family-tree__line":true,"family-tree__line--placeholder":!!(l||r),"family-tree__line--vertical":!!(l||r)};const h={columns:[{name:"*TREECOL",title:"Fake column",visible:false},...this.data.columns],rows:[{cells:Object.assign({"*TREECOL":e},e.cells)}]};const m=e.layout||this.layout||1;const c={icon:e.isExpanded?"remove":"plus",shaped:true,slim:true,styling:o.OUTLINED,title:`${k(this,C,"f").language.translate(p.EXPAND)}/${k(this,C,"f").language.translate(p.COLLAPSE)} (CTRL + Click)`,onClick:t=>{if(t.ctrlKey&&e.children&&e.children.length>0){if(e.isExpanded){this.collapseAll(e.children)}else{this.expandAll(e.children)}}e.isExpanded=!e.isExpanded;if(this.autofitOnExpand){g(this,T,true,"f")}this.refresh()},wrapperClass:"family-tree__item__expand"};let u=null;if(k(this,v,"m",A).call(this,m)){u=a("kup-box",{class:"kup-borderless kup-paddingless",customStyle:"#kup-component { background: var(--kup_familytree_item_background_color); border: 2px solid var(--kup_familytree_lines_color); box-sizing: border-box; height: var(--kup_familytree_item_height); padding: 0 var(--kup_familytree_item_h_padding); } #kup-component .box-component { background: var(--kup_familytree_item_background_color); box-sizing: border-box; height: 100%;} #kup-component .f-cell__text { color: var(--kup_familytree_item_color); }",data:h,cardData:this.cardData,layout:this.cardData?null:m,showSelection:false})}const d=a("div",{class:"family-tree__item"},a("div",{class:"family-tree__item__wrapper"},k(this,v,"m",A).call(this,m)?u:k(this,v,"m",D).call(this,e,m),this.collapsible&&e.children&&e.children.length>0?a(n,Object.assign({},c)):undefined));const y={["--kup_familytree_staffchildren"]:(r===null||r===void 0?void 0:r.length.toString())||"0"};return a("table",{class:{"family-tree__node":true,"family-tree__node--stacked":this.stackedLeaves&&!e.isStaff&&(!e.children||e.children.length==0)}},a("tr",null,a("td",{"data-row":e,colSpan:f},d)),a("tr",null,a("td",{colSpan:f},a("div",{class:_}))),r?[a("tr",null,a("td",{colSpan:f},a("div",{class:Object.assign(Object.assign({},_),{"family-tree__line--staff":true}),style:y}),a("div",{class:"family-tree__node__staff",style:y},r.map((e=>[a("div",{class:"family-tree__node__staff__item"},k(this,v,"m",t).call(this,e))])))))]:null,r&&l?[a("tr",null,a("td",{colSpan:f},a("div",{class:_})))]:null,l?[a("tr",null,s?a("td",{colSpan:f},a("div",{class:_})):l.map((t=>k(this,v,"m",M).call(this,l.indexOf(t)==0,l.indexOf(t)==l.length-1,l.length==1,l.length>2)))),a("tr",null,s?a("td",{colSpan:f},l.map((e=>k(this,v,"m",t).call(this,e)))):l.map((e=>a("td",{colSpan:2},k(this,v,"m",t).call(this,e)))))]:undefined)},D=function t(e,i){switch(i){case 2:return k(this,v,"m",O).call(this,e);default:return k(this,v,"m",L).call(this,e)}},L=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--1`},a("div",{class:"family-tree__item__layout__text__title"},e.value))},O=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--2`},a("div",{class:"family-tree__item__layout__color"}),a("div",{class:"family-tree__item__layout__image"},a(s,{resource:e.icon,placeholderResource:e.placeholderIcon,sizeX:"48px",sizeY:"48px"})),a("div",{class:"family-tree__item__layout__text"},a("div",{class:"family-tree__item__layout__text__title"},e.value),e.title?a("div",{class:"family-tree__item__layout__text__subtitle"},e.title):null))},P=function t(e){return e.map((t=>k(this,v,"m",S).call(this,t)))},R=function t(){const e=!this.data||!this.data.rows||!this.data.rows.length;return a("div",{class:"family-tree",onContextMenu:t=>{t.preventDefault()},ref:t=>g(this,W,t,"f")},e?a("div",null,k(this,C,"f").language.translate(p.EMPTY_DATA)):k(this,v,"m",P).call(this,this.data.rows))},A=function t(e){const i=e;return!!this.cardData||i&&i.sections&&i.sections.length>0},F=function t(e){g(this,w,e.clientX,"f");g(this,z,e.clientY,"f");k(this,W,"f").classList.add("family-tree--dragging");const i=()=>{document.removeEventListener("pointermove",k(this,E,"f"));document.removeEventListener("pointerup",i);k(this,W,"f").classList.remove("family-tree--dragging")};document.addEventListener("pointermove",k(this,E,"f"));document.addEventListener("pointerup",i)},X=function t(e,i){let a;let l;if(e){for(let t=e.length-1;t>=0;t--){const i=e[t];if(!i.tagName){continue}if(i.classList.contains("family-tree__item__expand")){a=i}switch(i.tagName.toUpperCase()){case"TD":{l=i;break}}}}let r=null,n=null,o=null;if(l){r=l["data-cell"];n=l["data-column"];o=l["data-row"]}return{cell:r?r:null,column:n?n:null,expandButton:a?a:null,originalEvent:i,row:o?o:null,td:l?l:null}},Y=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},H=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},N=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},$=function t(){k(this,j,"f").push(this.rootElement);const e=t=>{if(k(this,b,"f")){g(this,b,false,"f");return}switch(t.button){case 0:const e={};for(const i in t){e[i]=t[i]}k(this,x,"f").push(setTimeout((()=>{this.kupClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",Y).call(this,e)})}),300));break;case 2:this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)});break}};const i=t=>{switch(t.button){case 0:for(let t=0;t<k(this,x,"f").length;t++){clearTimeout(k(this,x,"f")[t]);k(this,C,"f").debug.logMessage(this,"Cleared clickHandler timeout("+k(this,x,"f")[t]+").")}g(this,x,[],"f");this.kupDblClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",N).call(this,t)});break}};const a=t=>{if(t.pointerType==="pen"||t.pointerType==="touch"){g(this,b,true,"f");this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)})}};k(this,C,"f").interact.on(this.rootElement,m.TAP,e);k(this,C,"f").interact.on(this.rootElement,m.DOUBLETAP,i);k(this,C,"f").interact.on(this.rootElement,m.HOLD,a)},B=function t(e){if(e.ctrlKey){e.preventDefault();const t=parseFloat(k(this,W,"f").style.getPropertyValue("--kup_familytree_scale"))||1;const i=.05;let a=e.deltaY>0?t-i:t+i;if(a<i){a=i}k(this,W,"f").style.setProperty("--kup_familytree_scale",a.toFixed(2))}};U.style=y;export{U as kup_family_tree};
2
- //# sourceMappingURL=p-b44cdd98.entry.js.map
1
+ import{r as t,c as e,f as i,h as a,H as l,d as r}from"./p-d7c15b0e.js";import{F as n}from"./p-10dfd311.js";import{a as o}from"./p-e3062c19.js";import{F as s}from"./p-2b519589.js";import{k as f,g as _,s as h,h as p,N as m}from"./p-ed30fa84.js";import{c}from"./p-635bb4b3.js";import"./p-029c7cbe.js";var u;(function(t){t["autofitOnExpand"]="The component will autofit everytime a node is expanded.";t["autofitOnLoad"]="The component's initial render will fit the container by invoking the runAutofit method.";t["cardData"]="Used to render the family tree boxes as kup-cards (through kup-box).";t["collapsible"]="Nodes can be expanded/collapsed.";t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the component";t["layout"]="Layout of the boxes.";t["stackedLeaves"]="Child nodes that have no children are arranged vertically."})(u||(u={}));const d='.kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_familytree_item_background_color:var(\n --kup-layer-1,\n var(--kup-layer-1)\n );--kup_familytree_border_color:var(\n --kup-familytree-border-color,\n var(--kup-info-color-50)\n );--kup_familytree_item_color:var(\n --kup-familytree-item-color,\n var(--kup-text-color)\n );--kup_familytree_item_height:var(--kup-familytree-item-height, 80px);--kup_familytree_item_h_padding:var(\n --kup-familytree-item-h-padding,\n var(--kup-space-03)\n );--kup_familytree_item_v_padding:var(\n --kup-familytree-item-v-padding,\n var(--kup-space-03)\n );--kup_familytree_item_width:var(--kup-familytree-item-width, 280px);--kup_familytree_lines_color:var(\n --kup-familytree-lines-color,\n var(--kup-border-subtle)\n );display:block;overflow:hidden}.family-tree{cursor:grab;display:flex;transform:scale(var(--kup_familytree_scale, 1));transform-origin:0px 0px}.family-tree--dragging{cursor:grabbing}.family-tree__node{border-collapse:collapse;margin:auto}.family-tree__node--stacked{margin-bottom:4px}.family-tree__node__staff{align-items:center;display:flex;flex-direction:column;height:0;transform:translateX(calc((var(--kup_familytree_item_width) + var(--kup_familytree_item_h_padding) * 2) / 2)) translateY(calc(0px - (var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)))}.family-tree__node__staff__item{padding:var(--kup_familytree_item_v_padding);text-align:left}.family-tree__node__staff__item:before{border-top:2px solid var(--kup_familytree_lines_color);content:"";position:absolute;transform:translateX(calc(100% + 2px)) translateY(calc(var(--kup_familytree_item_height) / 2));width:var(--kup_familytree_item_h_padding)}.family-tree__node td{vertical-align:top;padding:0}.family-tree__line--left{border-left:2px solid var(--kup_familytree_lines_color)}.family-tree__line--placeholder{height:calc(var(--kup_familytree_item_height) / 2)}.family-tree__line--staff{height:calc(var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) * 2)}.family-tree__line--right{border-right:2px solid var(--kup_familytree_lines_color)}.family-tree__line--top{border-top:2px solid var(--kup_familytree_lines_color)}.family-tree__line--vertical{background-color:var(--kup_familytree_lines_color);margin-left:auto;margin-right:auto;width:2px}.family-tree__item{display:flex}.family-tree__item__wrapper{margin:auto}.family-tree__item__wrapper kup-box{margin:0 auto;overflow:hidden;padding:0 18px;width:var(--kup_familytree_item_width);z-index:1}.family-tree__item__wrapper .f-button{--kup-button-primary-color:var(--kup-text-color);--kup-button-primary-color-rgb:var(--kup-text-color-rgb);--kup-button-primary-color-h:var(--kup-text-color-h);--kup-button-primary-color-s:var(--kup-text-color-s);--kup-button-primary-color-l:var(--kup-text-color-l);margin:0 auto;width:max-content}.family-tree__item__wrapper .f-button button{height:32px;width:32px}.family-tree__item__layout{background-color:var(--kup_familytree_item_background_color);box-sizing:border-box;display:flex;height:var(--kup_familytree_item_height);margin:0 18px;width:var(--kup_familytree_item_width)}.family-tree__item__layout--1{justify-content:center;color:var(--kup_familytree_item_color)}.family-tree__item__layout--1>.family-tree__item__layout__text__title{margin-top:auto;margin-bottom:auto}.family-tree__item__layout--2{background-color:var(--kup_familytree_item_background_color);justify-content:flex-start}.family-tree__item__layout__color{background-color:var(--kup_familytree_border_color);height:100%;width:10px}.family-tree__item__layout__image{display:flex;margin:auto var(--kup-space-03)}.family-tree__item__layout__image img{border-radius:50px;object-fit:cover}.family-tree__item__layout__text{display:flex;flex-direction:column;justify-content:center}.family-tree__item__layout__text__title{font-size:18px;margin-bottom:5px}.family-tree__item__layout__text__subtitle{font-size:14px}.family-tree__item__layout__text__title,.family-tree__item__layout__text__subtitle{max-width:calc(var(--kup_familytree_item_width) - 30%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}';const y=d;var k=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(t):a?a.value:e.get(t)};var g=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,a,l){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!l)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!l:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?l.call(t,i):l?l.value=i:e.set(t,i),i};var v,x,b,w,z,j,C,E,T,W,M,S,D,L,O,P,R,A,F,X,Y,H,N,$,B;const U=class{constructor(i){t(this,i);this.kupClick=e(this,"kup-familytree-click",6);this.kupContextMenu=e(this,"kup-familytree-contextmenu",6);this.kupDblClick=e(this,"kup-familytree-dblclick",6);v.add(this);x.set(this,[]);b.set(this,false);w.set(this,0);z.set(this,0);j.set(this,[]);C.set(this,f());E.set(this,(t=>{const e=t.clientX-k(this,w,"f");const i=t.clientY-k(this,z,"f");this.rootElement.scrollTop-=i;this.rootElement.scrollLeft-=e;g(this,w,t.clientX,"f");g(this,z,t.clientY,"f")}));T.set(this,false);W.set(this,null);this.autofitOnExpand=true;this.autofitOnLoad=true;this.cardData=null;this.collapsible=true;this.customStyle="";this.data=null;this.layout=null;this.stackedLeaves=false}async collapseAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:false},true);this.refresh()}async expandAll(t=this.data.rows){k(this,C,"f").data.node.setProperties(t,{isExpanded:true},true);this.refresh()}async getProps(t){return _(this,u,t)}async refresh(){i(this)}async runAutofit(){const t=k(this,W,"f").clientWidth;const e=k(this,W,"f").children[0].clientWidth;const i=.01;const a=85/100*t;const l=95/100*t;let r=1;let n=2e3;let o=e;while((o<a||o>l)&&n>0&&r>i){n--;if(o<a){r=r+i}else if(o>l){r=r-i}else{n=0}o=e*r}k(this,W,"f").style.setProperty("--kup_familytree_scale",r<=1?r.toFixed(2):"1")}async setProps(t){h(this,u,t)}componentWillLoad(){k(this,C,"f").debug.logLoad(this,false);k(this,C,"f").language.register(this);k(this,C,"f").theme.register(this)}componentDidLoad(){k(this,v,"m",$).call(this);if(this.autofitOnLoad){this.runAutofit()}k(this,C,"f").debug.logLoad(this,true)}componentWillRender(){k(this,C,"f").debug.logRender(this,false)}componentDidRender(){if(k(this,T,"f")){g(this,T,false,"f");this.runAutofit()}k(this,C,"f").debug.logRender(this,true)}render(){return a(l,{key:"602bb95f29dfe9e017313b01a3fc485c23dd2f97",onDrag:t=>t.preventDefault(),onPointerDown:t=>{t.preventDefault();k(this,v,"m",F).call(this,t)},onWheel:t=>{k(this,v,"m",B).call(this,t)}},a("style",{key:"becb707b0e477aff23e752bbb7ce335c01b428bd"},k(this,C,"f").theme.setKupStyle(this.rootElement)),a("div",{key:"aa50336a80b5499f3241b277639bb234c9e3eee5",id:c},k(this,v,"m",R).call(this)))}disconnectedCallback(){k(this,C,"f").language.unregister(this);k(this,C,"f").theme.unregister(this)}get rootElement(){return r(this)}};x=new WeakMap,b=new WeakMap,w=new WeakMap,z=new WeakMap,j=new WeakMap,C=new WeakMap,E=new WeakMap,T=new WeakMap,W=new WeakMap,v=new WeakSet,M=function t(e,i,l,r){const n=[];n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--right":!e,"family-tree__line--top":!e}},a("div",{class:"family-tree__line--placeholder"})));n.push(a("td",{class:{"family-tree__line":true,"family-tree__line--left":e,"family-tree__line--top":e&&!l||r&&!i}},a("div",{class:"family-tree__line--placeholder"})));return n},S=function t(e){var i;let l=null;let r=null;if(!this.collapsible||this.collapsible&&e.isExpanded){(i=e.children)===null||i===void 0?void 0:i.forEach((t=>{if(t.isStaff){if(!r){r=[]}r.push(t)}else{if(!l){l=[]}l.push(t)}}))}const s=this.stackedLeaves&&l&&l.every((t=>!t.children||t.children.length==0));const f=l?l.length*2:1;const _={"family-tree__line":true,"family-tree__line--placeholder":!!(l||r),"family-tree__line--vertical":!!(l||r)};const h={columns:[{name:"*TREECOL",title:"Fake column",visible:false},...this.data.columns],rows:[{cells:Object.assign({"*TREECOL":e},e.cells)}]};const m=e.layout||this.layout||1;const c={icon:e.isExpanded?"remove":"plus",shaped:true,slim:true,styling:o.OUTLINED,title:`${k(this,C,"f").language.translate(p.EXPAND)}/${k(this,C,"f").language.translate(p.COLLAPSE)} (CTRL + Click)`,onClick:t=>{if(t.ctrlKey&&e.children&&e.children.length>0){if(e.isExpanded){this.collapseAll(e.children)}else{this.expandAll(e.children)}}e.isExpanded=!e.isExpanded;if(this.autofitOnExpand){g(this,T,true,"f")}this.refresh()},wrapperClass:"family-tree__item__expand"};let u=null;if(k(this,v,"m",A).call(this,m)){u=a("kup-box",{class:"kup-borderless kup-paddingless",customStyle:"#kup-component { background: var(--kup_familytree_item_background_color); border: 2px solid var(--kup_familytree_lines_color); box-sizing: border-box; height: var(--kup_familytree_item_height); padding: 0 var(--kup_familytree_item_h_padding); } #kup-component .box-component { background: var(--kup_familytree_item_background_color); box-sizing: border-box; height: 100%;} #kup-component .f-cell__text { color: var(--kup_familytree_item_color); }",data:h,cardData:this.cardData,layout:this.cardData?null:m,showSelection:false})}const d=a("div",{class:"family-tree__item"},a("div",{class:"family-tree__item__wrapper"},k(this,v,"m",A).call(this,m)?u:k(this,v,"m",D).call(this,e,m),this.collapsible&&e.children&&e.children.length>0?a(n,Object.assign({},c)):undefined));const y={["--kup_familytree_staffchildren"]:(r===null||r===void 0?void 0:r.length.toString())||"0"};return a("table",{class:{"family-tree__node":true,"family-tree__node--stacked":this.stackedLeaves&&!e.isStaff&&(!e.children||e.children.length==0)}},a("tr",null,a("td",{"data-row":e,colSpan:f},d)),a("tr",null,a("td",{colSpan:f},a("div",{class:_}))),r?[a("tr",null,a("td",{colSpan:f},a("div",{class:Object.assign(Object.assign({},_),{"family-tree__line--staff":true}),style:y}),a("div",{class:"family-tree__node__staff",style:y},r.map((e=>[a("div",{class:"family-tree__node__staff__item"},k(this,v,"m",t).call(this,e))])))))]:null,r&&l?[a("tr",null,a("td",{colSpan:f},a("div",{class:_})))]:null,l?[a("tr",null,s?a("td",{colSpan:f},a("div",{class:_})):l.map((t=>k(this,v,"m",M).call(this,l.indexOf(t)==0,l.indexOf(t)==l.length-1,l.length==1,l.length>2)))),a("tr",null,s?a("td",{colSpan:f},l.map((e=>k(this,v,"m",t).call(this,e)))):l.map((e=>a("td",{colSpan:2},k(this,v,"m",t).call(this,e)))))]:undefined)},D=function t(e,i){switch(i){case 2:return k(this,v,"m",O).call(this,e);default:return k(this,v,"m",L).call(this,e)}},L=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--1`},a("div",{class:"family-tree__item__layout__text__title"},e.value))},O=function t(e){return a("div",{class:`family-tree__item__layout family-tree__item__layout--2`},a("div",{class:"family-tree__item__layout__color"}),a("div",{class:"family-tree__item__layout__image"},a(s,{resource:e.icon,placeholderResource:e.placeholderIcon,sizeX:"48px",sizeY:"48px"})),a("div",{class:"family-tree__item__layout__text"},a("div",{class:"family-tree__item__layout__text__title"},e.value),e.title?a("div",{class:"family-tree__item__layout__text__subtitle"},e.title):null))},P=function t(e){return e.map((t=>k(this,v,"m",S).call(this,t)))},R=function t(){const e=!this.data||!this.data.rows||!this.data.rows.length;return a("div",{class:"family-tree",onContextMenu:t=>{t.preventDefault()},ref:t=>g(this,W,t,"f")},e?a("div",null,k(this,C,"f").language.translate(p.EMPTY_DATA)):k(this,v,"m",P).call(this,this.data.rows))},A=function t(e){const i=e;return!!this.cardData||i&&i.sections&&i.sections.length>0},F=function t(e){g(this,w,e.clientX,"f");g(this,z,e.clientY,"f");k(this,W,"f").classList.add("family-tree--dragging");const i=()=>{document.removeEventListener("pointermove",k(this,E,"f"));document.removeEventListener("pointerup",i);k(this,W,"f").classList.remove("family-tree--dragging")};document.addEventListener("pointermove",k(this,E,"f"));document.addEventListener("pointerup",i)},X=function t(e,i){let a;let l;if(e){for(let t=e.length-1;t>=0;t--){const i=e[t];if(!i.tagName){continue}if(i.classList.contains("family-tree__item__expand")){a=i}switch(i.tagName.toUpperCase()){case"TD":{l=i;break}}}}let r=null,n=null,o=null;if(l){r=l["data-cell"];n=l["data-column"];o=l["data-row"]}return{cell:r?r:null,column:n?n:null,expandButton:a?a:null,originalEvent:i,row:o?o:null,td:l?l:null}},Y=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},H=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},N=function t(e){const i=k(this,v,"m",X).call(this,k(this,C,"f").getEventPath(e.target,this.rootElement),e);return i},$=function t(){k(this,j,"f").push(this.rootElement);const e=t=>{if(k(this,b,"f")){g(this,b,false,"f");return}switch(t.button){case 0:const e={};for(const i in t){e[i]=t[i]}k(this,x,"f").push(setTimeout((()=>{this.kupClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",Y).call(this,e)})}),300));break;case 2:this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)});break}};const i=t=>{switch(t.button){case 0:for(let t=0;t<k(this,x,"f").length;t++){clearTimeout(k(this,x,"f")[t]);k(this,C,"f").debug.logMessage(this,"Cleared clickHandler timeout("+k(this,x,"f")[t]+").")}g(this,x,[],"f");this.kupDblClick.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",N).call(this,t)});break}};const a=t=>{if(t.pointerType==="pen"||t.pointerType==="touch"){g(this,b,true,"f");this.kupContextMenu.emit({comp:this,id:this.rootElement.id,details:k(this,v,"m",H).call(this,t)})}};k(this,C,"f").interact.on(this.rootElement,m.TAP,e);k(this,C,"f").interact.on(this.rootElement,m.DOUBLETAP,i);k(this,C,"f").interact.on(this.rootElement,m.HOLD,a)},B=function t(e){if(e.ctrlKey){e.preventDefault();const t=parseFloat(k(this,W,"f").style.getPropertyValue("--kup_familytree_scale"))||1;const i=.05;let a=e.deltaY>0?t-i:t+i;if(a<i){a=i}k(this,W,"f").style.setProperty("--kup_familytree_scale",a.toFixed(2))}};U.style=y;export{U as kup_family_tree};
2
+ //# sourceMappingURL=p-43550140.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,f as i,h as n,H as o,d as s}from"./p-d7c15b0e.js";import{F as a}from"./p-10dfd311.js";import{F as r}from"./p-5d03c077.js";import{F as l}from"./p-2acd1e25.js";import{F as h}from"./p-c4054aba.js";import{k as c,g as f,s as p,at as d,h as u,R as m,e as g}from"./p-54f6e4df.js";import{c as x}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-d4a879fc.js";import"./p-029c7cbe.js";var y;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the component.";t["enableDesign"]="When set to true, the component is in design mode and it is draggable."})(y||(y={}));const b=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{width:100%;height:100%}#kup-component{height:100%}.header{display:flex;flex-direction:row;justify-content:center}.header>*{margin-left:0.5em}.form{display:grid;height:100%}.form-dropzone{padding:1em;grid-gap:0.5em;border:1px solid var(--kup-primary-color);height:auto}.section{display:flex;flex-direction:column;overflow:auto}.section-header{display:flex;flex-direction:column}.section-header>*{width:100%;display:flex;flex-direction:row}.section-header>*>.section-header-actions{display:flex;justify-content:end}.section-header>*>.section-header-actions>*{margin-top:auto;margin-bottom:auto}.section-body{display:grid}.section-dropzone{border:1px solid var(--kup-primary-color)}.section-draggable{border:1px solid var(--kup-secondary-color);padding:1em}.section-placeholder{background-color:rgba(var(--kup-secondary-color-rgb), 0.5);min-height:1em;min-width:1em}.component{height:fit-content;padding:1em;margin:0.5em}.layout-row{grid-auto-flow:column;grid-template-columns:min-content}.layout-column{grid-auto-flow:row;grid-template-rows:min-content}";const k=b;const v=class{constructor(i){t(this,i);this.kupSave=e(this,"kup-dashboard-save",6);this.kupManager=c();this.internalData=null;this.internalDataBackup=null;this.resetInternalData=false;this.customStyle="";this.data=null;this.enableDesign=false}onKupSave(){this.kupSave.emit({comp:this,id:this.rootElement.id,data:this.internalData})}dataChanged(){this.resetData()}async getProps(t){return f(this,y,t)}async refresh(){i(this)}async setProps(t){p(this,y,t)}buildGuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=Math.random()*16|0,i=t==="x"?e:e&3|8;return i.toString(16)}))}buildHeader(){const t={icon:"cancel",label:this.kupManager.language.translate(d.RESET),secondary:true,onClick:()=>{this.resetData()}};const e={icon:"save",label:this.kupManager.language.translate(d.SAVE),onClick:()=>this.onKupSave()};return n("div",{class:"header"},this.enableDesign?n(a,Object.assign({},t)):undefined,this.enableDesign?n(a,Object.assign({},e)):undefined)}buildForm(t,e){const i={form:true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row","form-dropzone":this.enableDesign&&t&&t.sections!=null&&t.sections.length>0};return t?n("div",{class:i,style:this.getGridStyle(t),ref:i=>{if(!i)return;const n=i;n.kupData={parent:e,form:t}}},t.sections.map((e=>this.buildSection(e,t)))):n("div",null,this.kupManager.language.translate(u.EMPTY_DATA))}buildSectionHeader(t,e){const i={value:t.dim,label:this.kupManager.language.translate(d.DIMENSION),onChange:e=>{const{target:i}=e;t.dim=i.value;this.refresh()}};const o={icon:"add",slim:true,onClick:()=>{if(!t.sections){t.sections=[]}const e={id:t.id+(t.sections.length+1),loaded:t.loaded,layout:t.layout};t.sections.push(e);this.resetData(this.internalData)}};const s={icon:"remove",slim:true,secondary:true,onClick:()=>{const i=e.sections.indexOf(t);e.sections.splice(i,1);this.resetData(this.internalData)}};const h={checked:t.loaded,label:this.kupManager.language.translate(d.LOADED),onChange:()=>{t.loaded=!t.loaded;this.refresh()}};const c={checked:t.layout=="column",label:this.kupManager.language.translate(d.VERTICAL),onChange:()=>{t.layout=t.layout=="column"?"row":"column";this.refresh()}};return n("div",{class:"section-header"},n("div",null,t.id," - ",t.layout),n("div",null,n("div",{class:"section-header-actions"},n(l,Object.assign({},i)),n(r,Object.assign({},h)),n(r,Object.assign({},c)),n(a,Object.assign({},o)),n(a,Object.assign({},s)))))}buildSection(t,e){const i={section:true,"section-draggable":this.enableDesign,"section-dropzone":this.enableDesign};const o={"section-body":true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row"};return n("div",{class:i,ref:i=>{if(!i)return;const n=i;n.kupData={parent:e,section:t}}},this.enableDesign?this.buildSectionHeader(t,e):undefined,n("div",{class:o,style:this.getGridStyle(t)},!this.enableDesign&&t.loaded&&(!t.sections||t.sections.length==0)?n("slot",{name:t.id}):undefined,t.sections&&(t.loaded||this.enableDesign)?t.sections.map((e=>this.buildSection(e,t))):undefined))}calcSectionPosition(t,e,i,n,o){let s=n;for(let n=0;n<o.length;n++){const a=o[n];const r=a.getBoundingClientRect();if(i&&t<r.y){s=n;break}else if(!i&&e<r.x){s=n;break}}return s}didRenderInteractables(){try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-draggable").forEach((e=>t.push(e)));t.forEach((t=>{this.kupManager.interact.draggable(t,null,null,m.CLONE)}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-dropzone").forEach((e=>t.push(e)));this.rootElement.shadowRoot.querySelectorAll(".form-dropzone").forEach((e=>t.push(e)));t.forEach((t=>{this.kupManager.interact.dropzone(t,{ondropdeactivate:()=>{this.removeSectionPlaceHolder()},ondropmove:t=>{this.removeSectionPlaceHolder();this.dragEnter(t.dragEvent.clientY,t.dragEvent.clientX,t.currentTarget)}},null,{drop:t=>{this.dropped(t,t.currentTarget,t.relatedTarget)}})}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}}dragEnter(t,e,i){if(i.kupData.form){const n=this.calcSectionPosition(t,e,i.kupData.form.layout=="column",i.kupData.form.sections.length,i.children);this.setSectionPlaceHolder(i,n)}else if(i.kupData.section){const n=this.calcSectionPosition(t,e,i.kupData.section.layout=="column",i.kupData.section.sections.length,i.lastElementChild.children);this.setSectionPlaceHolder(i.lastElementChild,n)}}dropped(t,e,i){const n=i.kupData.parent.sections.indexOf(i.kupData.section);i.kupData.parent.sections.splice(n,1);if(e.kupData.form){if(!e.kupData.form.sections)e.kupData.form.sections=[];const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,e.kupData.form.layout=="column",e.kupData.form.sections.length,e.children);e.kupData.form.sections.splice(n,0,i.kupData.section);i.kupData.parent=e.kupData.form}else if(e.kupData.section){if(!e.kupData.section.sections||e.kupData.section.sections.length==0){const t=JSON.parse(JSON.stringify(e.kupData.section));t.dim=null;i.kupData.section.dim=null;e.kupData.section.id=this.buildGuid();e.kupData.section.sections=[];e.kupData.section.sections.push(t)}const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,e.kupData.section.layout=="column",e.kupData.section.sections.length,e.lastElementChild.children);e.kupData.section.sections.splice(n,0,i.kupData.section);i.kupData.parent=e.kupData.section}this.resetData(this.internalData)}getGridStyle(t){let e={};if(t.sections){let i="";t.sections.forEach((t=>{if(this.enableDesign||!t.dim)i+=" 1fr";else i+=t.dim.indexOf("%")<0?" "+t.dim+"px":" "+t.dim}));if(t.layout=="column")e["gridTemplateRows"]=i;if(t.layout=="row")e["gridTemplateColumns"]=i}return e}setSectionPlaceHolder(t,e){const i=document.createElement("div");i.className="section-placeholder";t.insertBefore(i,t.childNodes[e])}removeSectionPlaceHolder(){const t=this.rootElement.shadowRoot.querySelector(".section-placeholder");if(t)t.parentElement.removeChild(t)}resetData(t=null){if(t)this.internalDataBackup=t;this.resetInternalData=true;setTimeout((()=>{if(this.internalDataBackup){this.internalData=this.internalDataBackup;this.internalDataBackup=null}this.resetInternalData=false}),250)}unregisterInteractables(){this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-dropzone")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-draggable")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".form-dropzone")))}componentWillLoad(){this.kupManager.dates.register(this);this.kupManager.debug.logLoad(this,false);this.kupManager.language.register(this);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false);if(this.resetInternalData){this.internalData=null;this.unregisterInteractables()}else if(!this.internalData)this.internalData=JSON.parse(JSON.stringify(this.data))}componentDidRender(){this.kupManager.debug.logRender(this,true);const t=this.rootElement.shadowRoot;if(t){const e=t.querySelectorAll(".f-text-field");if(e)e.forEach((t=>{h(t)}))}this.didRenderInteractables()}render(){return n(o,{key:"2a5f7d91b832041e5c68460409f8723bcae04c25"},n("style",{key:"00165eccb43eb45e9519e50ae383b6f237b6d293"},this.kupManager.theme.setKupStyle(this.rootElement)),n("div",{key:"66a90a4032f46aec89e48e2e8c3c95d948dee416",id:x},this.buildHeader(),this.buildForm(this.internalData,null)))}disconnectedCallback(){this.unregisterInteractables();this.kupManager.dates.unregister(this);this.kupManager.language.unregister(this);this.kupManager.theme.unregister(this)}get rootElement(){return s(this)}static get watchers(){return{data:["dataChanged"]}}};v.style=k;export{v as kup_dashboard};
2
- //# sourceMappingURL=p-b413dbae.entry.js.map
1
+ import{r as t,c as e,f as i,h as n,H as o,d as s}from"./p-d7c15b0e.js";import{F as a}from"./p-10dfd311.js";import{F as r}from"./p-5d03c077.js";import{F as l}from"./p-126de847.js";import{F as h}from"./p-c4054aba.js";import{k as c,g as f,s as p,at as d,h as u,R as m,e as g}from"./p-ed30fa84.js";import{c as x}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-d4a879fc.js";import"./p-029c7cbe.js";var y;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the component.";t["enableDesign"]="When set to true, the component is in design mode and it is draggable."})(y||(y={}));const b=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{width:100%;height:100%}#kup-component{height:100%}.header{display:flex;flex-direction:row;justify-content:center}.header>*{margin-left:0.5em}.form{display:grid;height:100%}.form-dropzone{padding:1em;grid-gap:0.5em;border:1px solid var(--kup-primary-color);height:auto}.section{display:flex;flex-direction:column;overflow:auto}.section-header{display:flex;flex-direction:column}.section-header>*{width:100%;display:flex;flex-direction:row}.section-header>*>.section-header-actions{display:flex;justify-content:end}.section-header>*>.section-header-actions>*{margin-top:auto;margin-bottom:auto}.section-body{display:grid}.section-dropzone{border:1px solid var(--kup-primary-color)}.section-draggable{border:1px solid var(--kup-secondary-color);padding:1em}.section-placeholder{background-color:rgba(var(--kup-secondary-color-rgb), 0.5);min-height:1em;min-width:1em}.component{height:fit-content;padding:1em;margin:0.5em}.layout-row{grid-auto-flow:column;grid-template-columns:min-content}.layout-column{grid-auto-flow:row;grid-template-rows:min-content}";const k=b;const v=class{constructor(i){t(this,i);this.kupSave=e(this,"kup-dashboard-save",6);this.kupManager=c();this.internalData=null;this.internalDataBackup=null;this.resetInternalData=false;this.customStyle="";this.data=null;this.enableDesign=false}onKupSave(){this.kupSave.emit({comp:this,id:this.rootElement.id,data:this.internalData})}dataChanged(){this.resetData()}async getProps(t){return f(this,y,t)}async refresh(){i(this)}async setProps(t){p(this,y,t)}buildGuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=Math.random()*16|0,i=t==="x"?e:e&3|8;return i.toString(16)}))}buildHeader(){const t={icon:"cancel",label:this.kupManager.language.translate(d.RESET),secondary:true,onClick:()=>{this.resetData()}};const e={icon:"save",label:this.kupManager.language.translate(d.SAVE),onClick:()=>this.onKupSave()};return n("div",{class:"header"},this.enableDesign?n(a,Object.assign({},t)):undefined,this.enableDesign?n(a,Object.assign({},e)):undefined)}buildForm(t,e){const i={form:true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row","form-dropzone":this.enableDesign&&t&&t.sections!=null&&t.sections.length>0};return t?n("div",{class:i,style:this.getGridStyle(t),ref:i=>{if(!i)return;const n=i;n.kupData={parent:e,form:t}}},t.sections.map((e=>this.buildSection(e,t)))):n("div",null,this.kupManager.language.translate(u.EMPTY_DATA))}buildSectionHeader(t,e){const i={value:t.dim,label:this.kupManager.language.translate(d.DIMENSION),onChange:e=>{const{target:i}=e;t.dim=i.value;this.refresh()}};const o={icon:"add",slim:true,onClick:()=>{if(!t.sections){t.sections=[]}const e={id:t.id+(t.sections.length+1),loaded:t.loaded,layout:t.layout};t.sections.push(e);this.resetData(this.internalData)}};const s={icon:"remove",slim:true,secondary:true,onClick:()=>{const i=e.sections.indexOf(t);e.sections.splice(i,1);this.resetData(this.internalData)}};const h={checked:t.loaded,label:this.kupManager.language.translate(d.LOADED),onChange:()=>{t.loaded=!t.loaded;this.refresh()}};const c={checked:t.layout=="column",label:this.kupManager.language.translate(d.VERTICAL),onChange:()=>{t.layout=t.layout=="column"?"row":"column";this.refresh()}};return n("div",{class:"section-header"},n("div",null,t.id," - ",t.layout),n("div",null,n("div",{class:"section-header-actions"},n(l,Object.assign({},i)),n(r,Object.assign({},h)),n(r,Object.assign({},c)),n(a,Object.assign({},o)),n(a,Object.assign({},s)))))}buildSection(t,e){const i={section:true,"section-draggable":this.enableDesign,"section-dropzone":this.enableDesign};const o={"section-body":true,"layout-column":t&&t.layout=="column","layout-row":t&&t.layout=="row"};return n("div",{class:i,ref:i=>{if(!i)return;const n=i;n.kupData={parent:e,section:t}}},this.enableDesign?this.buildSectionHeader(t,e):undefined,n("div",{class:o,style:this.getGridStyle(t)},!this.enableDesign&&t.loaded&&(!t.sections||t.sections.length==0)?n("slot",{name:t.id}):undefined,t.sections&&(t.loaded||this.enableDesign)?t.sections.map((e=>this.buildSection(e,t))):undefined))}calcSectionPosition(t,e,i,n,o){let s=n;for(let n=0;n<o.length;n++){const a=o[n];const r=a.getBoundingClientRect();if(i&&t<r.y){s=n;break}else if(!i&&e<r.x){s=n;break}}return s}didRenderInteractables(){try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-draggable").forEach((e=>t.push(e)));t.forEach((t=>{this.kupManager.interact.draggable(t,null,null,m.CLONE)}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}try{const t=[];this.rootElement.shadowRoot.querySelectorAll(".section-dropzone").forEach((e=>t.push(e)));this.rootElement.shadowRoot.querySelectorAll(".form-dropzone").forEach((e=>t.push(e)));t.forEach((t=>{this.kupManager.interact.dropzone(t,{ondropdeactivate:()=>{this.removeSectionPlaceHolder()},ondropmove:t=>{this.removeSectionPlaceHolder();this.dragEnter(t.dragEvent.clientY,t.dragEvent.clientX,t.currentTarget)}},null,{drop:t=>{this.dropped(t,t.currentTarget,t.relatedTarget)}})}))}catch(t){this.kupManager.debug.logMessage(this,t,g.ERROR)}}dragEnter(t,e,i){if(i.kupData.form){const n=this.calcSectionPosition(t,e,i.kupData.form.layout=="column",i.kupData.form.sections.length,i.children);this.setSectionPlaceHolder(i,n)}else if(i.kupData.section){const n=this.calcSectionPosition(t,e,i.kupData.section.layout=="column",i.kupData.section.sections.length,i.lastElementChild.children);this.setSectionPlaceHolder(i.lastElementChild,n)}}dropped(t,e,i){const n=i.kupData.parent.sections.indexOf(i.kupData.section);i.kupData.parent.sections.splice(n,1);if(e.kupData.form){if(!e.kupData.form.sections)e.kupData.form.sections=[];const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,e.kupData.form.layout=="column",e.kupData.form.sections.length,e.children);e.kupData.form.sections.splice(n,0,i.kupData.section);i.kupData.parent=e.kupData.form}else if(e.kupData.section){if(!e.kupData.section.sections||e.kupData.section.sections.length==0){const t=JSON.parse(JSON.stringify(e.kupData.section));t.dim=null;i.kupData.section.dim=null;e.kupData.section.id=this.buildGuid();e.kupData.section.sections=[];e.kupData.section.sections.push(t)}const n=this.calcSectionPosition(t.dragEvent.clientY,t.dragEvent.clientX,e.kupData.section.layout=="column",e.kupData.section.sections.length,e.lastElementChild.children);e.kupData.section.sections.splice(n,0,i.kupData.section);i.kupData.parent=e.kupData.section}this.resetData(this.internalData)}getGridStyle(t){let e={};if(t.sections){let i="";t.sections.forEach((t=>{if(this.enableDesign||!t.dim)i+=" 1fr";else i+=t.dim.indexOf("%")<0?" "+t.dim+"px":" "+t.dim}));if(t.layout=="column")e["gridTemplateRows"]=i;if(t.layout=="row")e["gridTemplateColumns"]=i}return e}setSectionPlaceHolder(t,e){const i=document.createElement("div");i.className="section-placeholder";t.insertBefore(i,t.childNodes[e])}removeSectionPlaceHolder(){const t=this.rootElement.shadowRoot.querySelector(".section-placeholder");if(t)t.parentElement.removeChild(t)}resetData(t=null){if(t)this.internalDataBackup=t;this.resetInternalData=true;setTimeout((()=>{if(this.internalDataBackup){this.internalData=this.internalDataBackup;this.internalDataBackup=null}this.resetInternalData=false}),250)}unregisterInteractables(){this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-dropzone")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".section-draggable")));this.kupManager.interact.unregister(Array.from(this.rootElement.shadowRoot.querySelectorAll(".form-dropzone")))}componentWillLoad(){this.kupManager.dates.register(this);this.kupManager.debug.logLoad(this,false);this.kupManager.language.register(this);this.kupManager.theme.register(this)}componentDidLoad(){this.kupManager.debug.logLoad(this,true)}componentWillRender(){this.kupManager.debug.logRender(this,false);if(this.resetInternalData){this.internalData=null;this.unregisterInteractables()}else if(!this.internalData)this.internalData=JSON.parse(JSON.stringify(this.data))}componentDidRender(){this.kupManager.debug.logRender(this,true);const t=this.rootElement.shadowRoot;if(t){const e=t.querySelectorAll(".f-text-field");if(e)e.forEach((t=>{h(t)}))}this.didRenderInteractables()}render(){return n(o,{key:"2a5f7d91b832041e5c68460409f8723bcae04c25"},n("style",{key:"00165eccb43eb45e9519e50ae383b6f237b6d293"},this.kupManager.theme.setKupStyle(this.rootElement)),n("div",{key:"66a90a4032f46aec89e48e2e8c3c95d948dee416",id:x},this.buildHeader(),this.buildForm(this.internalData,null)))}disconnectedCallback(){this.unregisterInteractables();this.kupManager.dates.unregister(this);this.kupManager.language.unregister(this);this.kupManager.theme.unregister(this)}get rootElement(){return s(this)}static get watchers(){return{data:["dataChanged"]}}};v.style=k;export{v as kup_dashboard};
2
+ //# sourceMappingURL=p-456fea9e.entry.js.map