@sme.up/ketchup 11.0.0-SNAPSHOT-20241022141548 → 11.0.0-SNAPSHOT-20241023082921

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 (146) hide show
  1. package/dist/cjs/{f-cell-f4161c96.js → f-cell-c5a85032.js} +87 -1
  2. package/dist/cjs/f-cell-c5a85032.js.map +1 -0
  3. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +1 -1
  4. package/dist/cjs/kup-box.cjs.entry.js +1 -1
  5. package/dist/cjs/kup-cell.cjs.entry.js +3 -24
  6. package/dist/cjs/kup-cell.cjs.entry.js.map +1 -1
  7. package/dist/cjs/kup-image-list.cjs.entry.js +1 -1
  8. package/dist/cjs/kup-input-panel.cjs.entry.js +1 -1
  9. package/dist/cjs/kup-manager-3e7452e3.js.map +1 -1
  10. package/dist/collection/components/kup-cell/kup-cell.js +2 -2
  11. package/dist/collection/components/kup-cell/kup-cell.js.map +1 -1
  12. package/dist/collection/f-components/f-cell/f-cell-declarations.js.map +1 -1
  13. package/dist/collection/f-components/f-cell/f-cell.js +87 -1
  14. package/dist/collection/f-components/f-cell/f-cell.js.map +1 -1
  15. package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.js +1 -20
  16. package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.js.map +1 -1
  17. package/dist/collection/managers/kup-data/kup-data-declarations.js.map +1 -1
  18. package/dist/components/kup-autocomplete2.js +87 -1
  19. package/dist/components/kup-autocomplete2.js.map +1 -1
  20. package/dist/components/kup-cell.js +3 -24
  21. package/dist/components/kup-cell.js.map +1 -1
  22. package/dist/components/kup-input-panel.js +1 -1
  23. package/dist/components/kup-manager.js +1 -1
  24. package/dist/components/kup-manager.js.map +1 -1
  25. package/dist/esm/{f-cell-f16081a9.js → f-cell-aea93e3a.js} +90 -4
  26. package/dist/esm/f-cell-aea93e3a.js.map +1 -0
  27. package/dist/esm/{f-chip-d387922c.js → f-chip-4eb4d42d.js} +2 -2
  28. package/dist/esm/{f-chip-d387922c.js.map → f-chip-4eb4d42d.js.map} +1 -1
  29. package/dist/esm/{f-paginator-utils-6293bfa7.js → f-paginator-utils-ae1c08f2.js} +2 -2
  30. package/dist/esm/{f-paginator-utils-6293bfa7.js.map → f-paginator-utils-ae1c08f2.js.map} +1 -1
  31. package/dist/esm/{f-text-field-7025d96d.js → f-text-field-5c7e1016.js} +2 -2
  32. package/dist/esm/{f-text-field-7025d96d.js.map → f-text-field-5c7e1016.js.map} +1 -1
  33. package/dist/esm/index.js +1 -1
  34. package/dist/esm/kup-accordion.entry.js +1 -1
  35. package/dist/esm/kup-activity-timeline.entry.js +2 -2
  36. package/dist/esm/kup-autocomplete_27.entry.js +6 -6
  37. package/dist/esm/kup-box.entry.js +6 -6
  38. package/dist/esm/kup-calendar.entry.js +2 -2
  39. package/dist/esm/kup-card-list.entry.js +1 -1
  40. package/dist/esm/kup-cell.entry.js +6 -27
  41. package/dist/esm/kup-cell.entry.js.map +1 -1
  42. package/dist/esm/kup-dashboard.entry.js +2 -2
  43. package/dist/esm/{kup-data-table-helper-db8e4ccb.js → kup-data-table-helper-77b091da.js} +2 -2
  44. package/dist/esm/{kup-data-table-helper-db8e4ccb.js.map → kup-data-table-helper-77b091da.js.map} +1 -1
  45. package/dist/esm/kup-drawer.entry.js +1 -1
  46. package/dist/esm/kup-echart.entry.js +1 -1
  47. package/dist/esm/kup-editor.entry.js +1 -1
  48. package/dist/esm/kup-family-tree.entry.js +1 -1
  49. package/dist/esm/kup-grid.entry.js +1 -1
  50. package/dist/esm/kup-iframe.entry.js +1 -1
  51. package/dist/esm/kup-image-list.entry.js +4 -4
  52. package/dist/esm/kup-input-panel.entry.js +4 -4
  53. package/dist/esm/kup-lazy.entry.js +1 -1
  54. package/dist/esm/kup-magic-box.entry.js +1 -1
  55. package/dist/esm/{kup-manager-30b785c0.js → kup-manager-7f0308ee.js} +2 -2
  56. package/dist/esm/{kup-manager-30b785c0.js.map → kup-manager-7f0308ee.js.map} +1 -1
  57. package/dist/esm/kup-nav-bar.entry.js +1 -1
  58. package/dist/esm/kup-numeric-picker.entry.js +2 -2
  59. package/dist/esm/kup-pdf.entry.js +1 -1
  60. package/dist/esm/kup-photo-frame.entry.js +1 -1
  61. package/dist/esm/kup-planner.entry.js +2 -2
  62. package/dist/esm/kup-probe.entry.js +1 -1
  63. package/dist/esm/kup-qlik.entry.js +1 -1
  64. package/dist/esm/kup-snackbar.entry.js +1 -1
  65. package/dist/esm/kup-typography-list.entry.js +1 -1
  66. package/dist/esm/kup-typography.entry.js +1 -1
  67. package/dist/ketchup/index.esm.js +1 -1
  68. package/dist/ketchup/ketchup.esm.js +1 -1
  69. package/dist/ketchup/{p-289f3508.entry.js → p-03885b8d.entry.js} +2 -2
  70. package/dist/ketchup/{p-5017319c.entry.js → p-05a7120a.entry.js} +2 -2
  71. package/dist/ketchup/{p-d46f8700.js → p-1754ee9b.js} +2 -2
  72. package/dist/ketchup/{p-861aa7c8.entry.js → p-18229ac3.entry.js} +2 -2
  73. package/dist/ketchup/{p-c9415b33.entry.js → p-188ed514.entry.js} +2 -2
  74. package/dist/ketchup/{p-c1541eb5.entry.js → p-202dfeee.entry.js} +2 -2
  75. package/dist/ketchup/{p-0a09fd0b.entry.js → p-2227785a.entry.js} +2 -2
  76. package/dist/ketchup/{p-5ff0df56.entry.js → p-246e4816.entry.js} +2 -2
  77. package/dist/ketchup/{p-b08664a5.entry.js → p-2b47d837.entry.js} +2 -2
  78. package/dist/ketchup/{p-a0403a79.entry.js → p-39fa8da7.entry.js} +2 -2
  79. package/dist/ketchup/{p-fe21f352.entry.js → p-45db3eae.entry.js} +2 -2
  80. package/dist/ketchup/{p-261fa958.entry.js → p-48368d6a.entry.js} +2 -2
  81. package/dist/ketchup/{p-81406670.js → p-544eca9d.js} +2 -2
  82. package/dist/ketchup/{p-9bddff6e.entry.js → p-5d738584.entry.js} +2 -2
  83. package/dist/ketchup/{p-9a4c7853.entry.js → p-674a4d20.entry.js} +2 -2
  84. package/dist/ketchup/{p-9e329edc.entry.js → p-6d51f043.entry.js} +2 -2
  85. package/dist/ketchup/{p-4e4d469f.entry.js → p-7b5bef8e.entry.js} +2 -2
  86. package/dist/ketchup/{p-3c73ab2d.js → p-802a4e44.js} +2 -2
  87. package/dist/ketchup/{p-6b7764d0.entry.js → p-87ff86ee.entry.js} +2 -2
  88. package/dist/ketchup/{p-1d215391.js → p-8c07fd42.js} +2 -2
  89. package/dist/ketchup/p-8c07fd42.js.map +1 -0
  90. package/dist/ketchup/p-9394a966.entry.js +2 -0
  91. package/dist/ketchup/p-9394a966.entry.js.map +1 -0
  92. package/dist/ketchup/{p-495b4a15.entry.js → p-9788df0b.entry.js} +2 -2
  93. package/dist/ketchup/{p-255b0de9.entry.js → p-992647ed.entry.js} +2 -2
  94. package/dist/ketchup/{p-83b0aa2f.entry.js → p-9d9bb8a9.entry.js} +2 -2
  95. package/dist/ketchup/{p-7e35e20a.entry.js → p-afc92adf.entry.js} +2 -2
  96. package/dist/ketchup/{p-abe9af22.entry.js → p-b3c7cbd9.entry.js} +2 -2
  97. package/dist/ketchup/{p-f4b7d710.entry.js → p-b6c07403.entry.js} +2 -2
  98. package/dist/ketchup/p-bbdf4a8f.js +2 -0
  99. package/dist/ketchup/p-bbdf4a8f.js.map +1 -0
  100. package/dist/ketchup/{p-aefb781c.entry.js → p-cdd29a6d.entry.js} +2 -2
  101. package/dist/ketchup/{p-71c0ab9e.js → p-df06309a.js} +2 -2
  102. package/dist/ketchup/{p-0bbc107a.entry.js → p-e01cb12b.entry.js} +2 -2
  103. package/dist/ketchup/{p-41a62cd8.entry.js → p-e32ad7e4.entry.js} +2 -2
  104. package/dist/ketchup/{p-404ce351.entry.js → p-f4a6652e.entry.js} +2 -2
  105. package/dist/ketchup/{p-6827385d.entry.js → p-fedd9482.entry.js} +2 -2
  106. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +1 -1
  107. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +1 -1
  108. package/package.json +1 -1
  109. package/dist/cjs/f-cell-f4161c96.js.map +0 -1
  110. package/dist/esm/f-cell-f16081a9.js.map +0 -1
  111. package/dist/ketchup/p-1d215391.js.map +0 -1
  112. package/dist/ketchup/p-abd36410.entry.js +0 -2
  113. package/dist/ketchup/p-abd36410.entry.js.map +0 -1
  114. package/dist/ketchup/p-b4c093c6.js +0 -2
  115. package/dist/ketchup/p-b4c093c6.js.map +0 -1
  116. /package/dist/ketchup/{p-289f3508.entry.js.map → p-03885b8d.entry.js.map} +0 -0
  117. /package/dist/ketchup/{p-5017319c.entry.js.map → p-05a7120a.entry.js.map} +0 -0
  118. /package/dist/ketchup/{p-d46f8700.js.map → p-1754ee9b.js.map} +0 -0
  119. /package/dist/ketchup/{p-861aa7c8.entry.js.map → p-18229ac3.entry.js.map} +0 -0
  120. /package/dist/ketchup/{p-c9415b33.entry.js.map → p-188ed514.entry.js.map} +0 -0
  121. /package/dist/ketchup/{p-c1541eb5.entry.js.map → p-202dfeee.entry.js.map} +0 -0
  122. /package/dist/ketchup/{p-0a09fd0b.entry.js.map → p-2227785a.entry.js.map} +0 -0
  123. /package/dist/ketchup/{p-5ff0df56.entry.js.map → p-246e4816.entry.js.map} +0 -0
  124. /package/dist/ketchup/{p-b08664a5.entry.js.map → p-2b47d837.entry.js.map} +0 -0
  125. /package/dist/ketchup/{p-a0403a79.entry.js.map → p-39fa8da7.entry.js.map} +0 -0
  126. /package/dist/ketchup/{p-fe21f352.entry.js.map → p-45db3eae.entry.js.map} +0 -0
  127. /package/dist/ketchup/{p-261fa958.entry.js.map → p-48368d6a.entry.js.map} +0 -0
  128. /package/dist/ketchup/{p-81406670.js.map → p-544eca9d.js.map} +0 -0
  129. /package/dist/ketchup/{p-9bddff6e.entry.js.map → p-5d738584.entry.js.map} +0 -0
  130. /package/dist/ketchup/{p-9a4c7853.entry.js.map → p-674a4d20.entry.js.map} +0 -0
  131. /package/dist/ketchup/{p-9e329edc.entry.js.map → p-6d51f043.entry.js.map} +0 -0
  132. /package/dist/ketchup/{p-4e4d469f.entry.js.map → p-7b5bef8e.entry.js.map} +0 -0
  133. /package/dist/ketchup/{p-3c73ab2d.js.map → p-802a4e44.js.map} +0 -0
  134. /package/dist/ketchup/{p-6b7764d0.entry.js.map → p-87ff86ee.entry.js.map} +0 -0
  135. /package/dist/ketchup/{p-495b4a15.entry.js.map → p-9788df0b.entry.js.map} +0 -0
  136. /package/dist/ketchup/{p-255b0de9.entry.js.map → p-992647ed.entry.js.map} +0 -0
  137. /package/dist/ketchup/{p-83b0aa2f.entry.js.map → p-9d9bb8a9.entry.js.map} +0 -0
  138. /package/dist/ketchup/{p-7e35e20a.entry.js.map → p-afc92adf.entry.js.map} +0 -0
  139. /package/dist/ketchup/{p-abe9af22.entry.js.map → p-b3c7cbd9.entry.js.map} +0 -0
  140. /package/dist/ketchup/{p-f4b7d710.entry.js.map → p-b6c07403.entry.js.map} +0 -0
  141. /package/dist/ketchup/{p-aefb781c.entry.js.map → p-cdd29a6d.entry.js.map} +0 -0
  142. /package/dist/ketchup/{p-71c0ab9e.js.map → p-df06309a.js.map} +0 -0
  143. /package/dist/ketchup/{p-0bbc107a.entry.js.map → p-e01cb12b.entry.js.map} +0 -0
  144. /package/dist/ketchup/{p-41a62cd8.entry.js.map → p-e32ad7e4.entry.js.map} +0 -0
  145. /package/dist/ketchup/{p-404ce351.entry.js.map → p-f4a6652e.entry.js.map} +0 -0
  146. /package/dist/ketchup/{p-6827385d.entry.js.map → p-fedd9482.entry.js.map} +0 -0
@@ -259,6 +259,7 @@ const dom = document.documentElement;
259
259
  /* C o m p o n e n t */
260
260
  /*-------------------------------------------------*/
261
261
  const FCell = (props, children) => {
262
+ var _a;
262
263
  const cell = props.cell;
263
264
  const column = props.column;
264
265
  const row = props.row;
@@ -278,6 +279,9 @@ const FCell = (props, children) => {
278
279
  isEditable = column.isEditable;
279
280
  }
280
281
  isEditable = isEditable && props.editable;
282
+ if (cell.options) {
283
+ cell.data = (_a = mapData(cell, column)) !== null && _a !== void 0 ? _a : cell.data;
284
+ }
281
285
  const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';
282
286
  const cellType = dom.ketchup.data.cell.getType(cell, shape);
283
287
  const subcomponentProps = Object.assign({}, cell.data);
@@ -372,6 +376,88 @@ const FCell = (props, children) => {
372
376
  ? children
373
377
  : [props.indents, infoEl, icon, content])));
374
378
  };
379
+ const mapData = (cell, col) => {
380
+ if (!cell) {
381
+ return null;
382
+ }
383
+ const options = cell.options;
384
+ const fieldLabel = col.title;
385
+ const currentValue = cell.value;
386
+ const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);
387
+ const dataAdapterMap = new Map([
388
+ [kupManager.FCellTypes.RADIO, MainRADAdapter.bind(undefined)],
389
+ [kupManager.FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(undefined)],
390
+ ]);
391
+ const adapter = dataAdapterMap.get(cellType);
392
+ return adapter
393
+ ? adapter(options, fieldLabel, currentValue, cell, col.name)
394
+ : null;
395
+ };
396
+ const MainRADAdapter = (options, _fieldLabel, currentValue) => {
397
+ return kupManager.RADAdapter(currentValue, options);
398
+ };
399
+ const MainCMBandACPAdapter = (rawOptions, fieldLabel, currentValue) => {
400
+ const configCMandACP = kupManager.CMBandACPAdapter(currentValue, fieldLabel, []);
401
+ configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(rawOptions, currentValue);
402
+ return configCMandACP;
403
+ };
404
+ const optionsTreeComboAdapter = (options, currentValue) => {
405
+ const adapter = optionsAdapterMap.get(options.type);
406
+ if (adapter) {
407
+ return adapter(options, currentValue);
408
+ }
409
+ else {
410
+ return options.map((option) => ({
411
+ value: option.label,
412
+ id: option.id,
413
+ selected: currentValue === option.id,
414
+ }));
415
+ }
416
+ };
417
+ const treeOptionsNodeAdapter = (options, currentValue) => {
418
+ return options.children.map((child) => {
419
+ var _a;
420
+ return ({
421
+ id: child.content.codice,
422
+ value: child.content.testo,
423
+ selected: currentValue === child.content.codice,
424
+ children: ((_a = child.children) === null || _a === void 0 ? void 0 : _a.length)
425
+ ? treeOptionsNodeAdapter(child, currentValue)
426
+ : [],
427
+ });
428
+ });
429
+ };
430
+ const dataTreeOptionsChildrenAdapter = (options, currentValue) => {
431
+ return options.children.map((child) => {
432
+ var _a;
433
+ return ({
434
+ id: child.obj.k,
435
+ value: child.value,
436
+ selected: currentValue === child.obj.k,
437
+ children: ((_a = child.children) === null || _a === void 0 ? void 0 : _a.length)
438
+ ? dataTreeOptionsChildrenAdapter(child, currentValue)
439
+ : [],
440
+ });
441
+ });
442
+ };
443
+ const tableOptionsAdapter = (options, currentValue) => {
444
+ return options.rows.map((row) => {
445
+ var _a;
446
+ const cells = row.fields || row.cells;
447
+ const [id, value] = Object.keys(cells);
448
+ return {
449
+ id: cells[id].value,
450
+ value: ((_a = cells[value]) === null || _a === void 0 ? void 0 : _a.value) || cells[id].value,
451
+ selected: currentValue === cells[id].value,
452
+ };
453
+ });
454
+ };
455
+ const optionsAdapterMap = new Map([
456
+ ['SmeupTreeNode', treeOptionsNodeAdapter.bind(undefined)],
457
+ ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(undefined)],
458
+ ['SmeupTable', tableOptionsAdapter.bind(undefined)],
459
+ ['SmeupDataTable', tableOptionsAdapter.bind(undefined)],
460
+ ]);
375
461
  function setCellSize(cellType, subcomponentProps, cell, props) {
376
462
  var _a;
377
463
  switch (cellType) {
@@ -947,4 +1033,4 @@ exports.FRadio = FRadio;
947
1033
  exports.FRating = FRating;
948
1034
  exports.FSwitch = FSwitch;
949
1035
 
950
- //# sourceMappingURL=f-cell-f4161c96.js.map
1036
+ //# sourceMappingURL=f-cell-c5a85032.js.map
@@ -0,0 +1 @@
1
+ {"file":"f-cell-c5a85032.js","mappings":";;;;;;;;;;AAIA;;;;AAIYA;AAAZ,WAAY,YAAY;IACpB,8DAA8C,CAAA;IAC9C,8CAA8B,CAAA;IAC9B,gHAAgG,CAAA;IAChG,yFAAyE,CAAA;IACzE,uFAAuE,CAAA;IACvE,qEAAqD,CAAA;IACrD,+FAA+E,CAAA;IAC/E,2GAA2F,CAAA;IAC3F,0GAA0F,CAAA;IAC1F,2EAA2D,CAAA;IAC3D,yFAAyE,CAAA;IACzE,yFAAyE,CAAA;AAC7E,CAAC,EAbWA,oBAAY,KAAZA,oBAAY,QAavB;AASD;;;AAGYC;AAAZ,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;IACzB,8BAAe,CAAA;AACnB,CAAC,EAJWA,mBAAW,KAAXA,mBAAW,QAItB;AAMWC;AAAZ,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;AACjC,CAAC,EAJWA,wBAAgB,KAAhBA,wBAAgB;;AC3B5B;;;;;;AAOYC;AAAZ,WAAY,aAAa;IACrB,gCAAe,CAAA;IACf,kCAAiB,CAAA;AACrB,CAAC,EAHWA,qBAAa,KAAbA,qBAAa;;ACpBzB;AACA;AACA;MAEa,OAAO,GAAsC,CACtD,KAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACf,KAAK,CAAC,MAAM,GAAGA,qBAAa,CAAC,MAAM,CAAC;KACvC;IACwB,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAKA,qBAAa,CAAC,MAAM;IAC5E,MAAM,QAAQ,GAA4B;QACtC,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,KAAK,CAAC,OAAO;QAChC,kBAAkB,EAAE,KAAK,CAAC,QAAQ;QAClC,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK;KAC3D,CAAC;IAEF,QACIC,+BACI,KAAK,EAAE,YAAY,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,IAC/C,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAC9B,IAAI,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EAAE,IACtC,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAC9C,EAAE,IACE,KAAK,CAAC,OAAO,IACjB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAElBA,iBACI,KAAK,EAAE,cACH,KAAK,CAAC,YAAY,GAAG,uBAAuB,GAAG,EACnD,EAAE;YAEFA,iBAAK,KAAK,EAAE,QAAQ;gBAChBA,iBAAK,KAAK,EAAC,eAAe,GAAO;gBACjCA,iBAAK,KAAK,EAAC,wBAAwB;oBAC/BA,iBAAK,KAAK,EAAC,eAAe;wBACtBA,mBACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,wBAAwB,EAC9B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK,EACnC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,GACjB,CACP,CACJ,CACJ;YACNA,mBAAO,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAG,KAAK,CAAC,KAAK,CAAS,CACnD,CACJ,EACR;AACN;;AC1DA;AACA;AACA;MAEa,YAAY,GAA2C,CAChE,KAAwB;IAExB,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE;QACxD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;KAC9B;IAED,IAAI,cAAc,GAAG,kBAAkB,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,IACnE,KAAK,CAAC,QAAQ,GAAG,cAAc,GAAG,EACtC,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAChE,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAC9B,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,MAClC,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EACxC,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClE,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;IACnD,IAAI,QAAQ,GAAW,KAAK,CAAC;IAC7B,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;QAChB,cAAc,IAAI,wBAAwB,CAAC;KAC9C;SAAM;QACH,cAAc,IAAI,eAAe,CAAC;KACrC;IAED,IAAI,UAAU,GAAG,SAAS,CAAC;IAE3B,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG;KAC3B,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;QACtB,UAAU,GAAG,UAAU,CAAC;QACxB,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;YACjB,cAAc,IAAI,wBAAwB,CAAC;SAC9C;KACJ;SAAM,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE;QACzB,cAAc,IAAI,wBAAwB,CAAC;KAC9C;IAED,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,KAAK,CAAC,IAAI,EAAE;QACZ,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACpC;SAAM;QACH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,KAAK,GAAGA,kBAAM,KAAK,EAAC,OAAO,IAAE,KAAK,CAAC,KAAK,CAAQ,CAAC;iBACpD;qBAAM;oBACH,KAAK,IACDA,kBAAM,KAAK,EAAC,OAAO;wBACd,KAAK,CAAC,KAAK;wBACZA,kBAAM,KAAK,EAAC,SAAS,QAAS,CAC3B,CACV,CAAC;iBACL;aACJ;iBAAM;gBACH,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;iBACvB;qBAAM;oBACH,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;iBAC7B;aACJ;SACJ;KACJ;IAED,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;QACjB,QAAQ,IAAI,YAAY,CAAC;QACzB,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE;YAClB,QAAQ,IAAI,oBAAoB,CAAC;SACpC;aAAM;YACH,QAAQ,IAAI,oBAAoB,CAAC;SACpC;KACJ;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE;QAChB,QACIA,iBAAK,KAAK,EAAE,cAAc;YACrB,KAAK;YACNA,iBAAK,KAAK,EAAE,QAAQ;gBAChBA,iBACI,KAAK,EAAE,WAAW,EAClB,KAAK,EAAC,uBAAuB,GAC1B;gBACPA,iBAAK,KAAK,EAAC,wBAAwB,GAAO,CACxC;YACNA,iBAAK,KAAK,EAAC,QAAQ,GAAO,CACxB,EACR;KACL;SAAM;QACH,QACIA,iBAAK,KAAK,EAAE,cAAc;YACtBA,iBAAK,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAE,UAAU;gBAClDA,kBAAM,KAAK,EAAE,UAAU,IAAG,KAAK,CAAQ,CACrC,CACJ,EACR;KACL;AACL,EAAE;AAEF,SAAS,iBAAiB,CAAC,KAAwB;IAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACb,OAAO,SAAS,CAAC;KACpB;IAED,IACI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC/B;QACE,QACIA,kBAAM,KAAK,EAAC,yBAAyB;YACjCA,iBAAK,GAAG,EAAE,KAAK,CAAC,IAAI,GAAQ,CACzB,EACT;KACL;SAAM;QACH,IAAI,GAAG,GAAW,QAAQC,kBAAY,CAClC,gBAAgB,KAAK,CAAC,IAAI,MAAM,CACnC,qBAAqB,CAAC;QACvB,IAAI,SAAS,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,GAAG;SAClB,CAAC;QACF,OAAOD,kBAAM,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,gBAAgB,GAAQ,CAAC;KACjE;AACL;;AC1GA,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,iCAAmB,CAAA;AACvB,CAAC,EAHW,UAAU,KAAV,UAAU;;AChBtB;AACA;AACA;MAEa,MAAM,GAAqC,CACpD,KAAkB;;IAElB,MAAM,UAAU,GAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5C,MAAM,SAAS,GAAiB,EAAE,CAAC;;IAGnC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,CAAA,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAkB;YAC5B,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK;YAC7C,iBAAiB,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK;YAChD,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK;SACtD,CAAC;QAEF,SAAS,CAAC,IAAI,CACVA,iBACI,KAAK,EAAE;oBACH,KAAK,CAAC,YAAY,GAAG,wBAAwB,GAAG,EAAE,IAClD,KAAK,CAAC,QAAQ,GAAG,iBAAiB,GAAG,EACzC,EAAE;YAEFA,iBAAK,KAAK,EAAE,QAAQ;gBACf,SAAS,KAAK,UAAU,CAAC,KAAK;;gBAE3BA,mBACI,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,eAAe,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EACJ,KAAK,CAAC,QAAQ;0BACR,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;0BACtC,IAAI,EAEd,OAAO,EAAE,KAAK,CAAC,OAAO,GACjB;;gBAGTA,8BACK,IAAI,CAAC,OAAO,IACTA,QAACE,aAAM,IACH,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,GACN,KAEVF,QAACE,aAAM,IACH,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,EACZ,OAAO,EACH,KAAK,CAAC,QAAQ;0BACR,KAAK,CAAC,QAAQ,CAAC,IAAI,CACf,KAAK,CAAC,QAAQ,EACd,CAAC,CACJ;0BACD,IAAI,GAER,CACb,CACF,CACN;gBACA,SAAS,KAAK,UAAU,CAAC,KAAK,KAC3BF,iBAAK,KAAK,EAAC,mBAAmB;oBAC1BA,iBAAK,KAAK,EAAC,qBAAqB,GAAO;oBACvCA,iBAAK,KAAK,EAAC,qBAAqB,GAAO,CACrC,CACT,CACC;YACNA,mBACI,OAAO,EAAE,eAAe,EACxB,OAAO,EACH,KAAK,CAAC,QAAQ;sBACR,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;sBACtC,IAAI,IAGb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CACzB,CACN,CACT,CAAC;KACL;IAED,MAAM,QAAQ,GAAkB;QAC5B,qBAAqB,EAAE,UAAU;cAC3B,UAAU,KAAK,CAAC,OAAO,QAAQ;cAC/B,EAAE;KACX,CAAC;IAEF,QACIA,iBACI,KAAK,EAAE;eACJ,UAAU,GAAG,oBAAoB,GAAG,EAAE,IACrC,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAClC,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAC5B,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EACxC,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClC,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,IAC5C,KAAK,CAAC,UAAU,GAAG,gBAAgB,GAAG,EAC1C,EAAE,EACF,KAAK,EAAE,QAAQ,IAEd,SAAS,CACR,EACR;AACN;;ACzHA;AACA;AACA;MAEa,OAAO,GAAsC,CACtD,KAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACtB;IACD,QACIA,iBACI,KAAK,EAAE,YAAY,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,IAC/C,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAClC,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAC5B,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EACxC,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClC,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAAE,IAEjD,UAAU,CAAC,KAAK,CAAC,CAChB,EACR;AACN,EAAE;AAEF,SAAS,UAAU,CAAC,KAAmB;IACnC,MAAM,KAAK,GAAY,EAAE,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAClB,KAAK,CAAC,IAAI,CACNA,kBACI,KAAK,EAAC,QAAQ,EACd,OAAO,EACH,KAAK,CAAC,OAAO;sBACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;sBACpC,IAAI,aAIX,CACV,CAAC;SACL;aAAM;YACH,KAAK,CAAC,IAAI,CACNA,kBACI,KAAK,EAAC,QAAQ,EACd,OAAO,EACH,KAAK,CAAC,OAAO;sBACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;sBACpC,IAAI,aAIX,CACV,CAAC;SACL;KACJ;IAED,OAAO,KAAK,CAAC;AACjB;;ACFA,MAAM,GAAG,GAAW,QAAQ,CAAC,eAAyB,CAAC;AAEvD;AACA;AACA;MAEa,KAAK,GAAoC,CAClD,KAAiB,EACjB,QAAkB;;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;UACnB,KAAK,CAAC,KAAK;UACX,IAAI,CAAC,KAAK;cACV,IAAI,CAAC,KAAK;cACV,MAAM,CAAC,KAAK;kBACZ,MAAM,CAAC,KAAK;kBACZ,IAAI,CAAC;IACX,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QACnC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;KAChC;SAAM,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QAC5C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;KAClC;IACD,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;IAE1C,IAAI,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,mCAAI,IAAI,CAAC,IAAI,CAAC;KAClD;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,iBAAiB,qBAAiB,IAAI,CAAC,IAAI,CAAE,CAAC;IACpD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ;UACxB,IAAI,CAAC,QAAQ;UACb,MAAM,CAAC,QAAQ;cACf,MAAM,CAAC,QAAQ;cACf,EAAE,CAAC;IACT,IAAK,KAAK,CAAC,SAA0B,CAAC,UAAU,EAAE;QAC9C,UAAU,IAAI,kBAAkB,CAAC;KACpC;IACD,MAAM,QAAQ,GAA4B;QACtC,QAAQ,EAAE,IAAI;QACd,CAACG,uBAAY,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK;QACzC,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI;QAC1B,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK;QACvD,CAAC,KAAK,CAAC,OAAO,GACV,KAAK,CAAC,OAAO,IAAI,QAAQ,KAAKC,qBAAU,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK;QAC/D,CAAC,UAAU,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK;KAC1C,CAAC;IACF,IAAI,OAAO,GAAY,cAAc,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACZ,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC/B;IACD,IAAI,UAAU,IAAIC,wBAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAChD,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;KACtE;SAAM,IAAI,IAAI,CAAC,IAAI,IAAIC,mBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACjD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC;YACtD,OAAO,GAAGN,kBAAM,KAAK,EAAE,SAAS,GAAS,CAAC;SAC7C;aAAM;YACH,OAAO,GAAG,UAAU,CAChB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,IAAI,EACJ,GAAG,EACH,MAAM,EACN,KAAK,CACR,CAAC;SACL;KACJ;SAAM;QACH,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChB,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACzD;QACD,OAAO,GAAG,OAAO,CACb,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,KAAK,CACR,CAAC;KACL;IAED,IAAI,IAAI,GAAU,IAAI,CAAC;IACvB,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE;QACtD,MAAM,MAAM,GAAgB;YACxB,KAAK,EAAE,YAAYO,8BAAmB,CAAC,IAAI,eAAe;YAC1D,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;YAC7C,mBAAmB,EAAE,IAAI,CAAC,eAAe;kBACnC,IAAI,CAAC,eAAe;kBACpB,MAAM,CAAC,eAAe;YAC5B,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,YAAY,EAAE,UAAU;SAC3B,CAAC;QACF,IAAI,GAAGP,QAACE,aAAM,oBAAK,MAAM,EAAI,CAAC;KACjC;IAED,IAAI,SAAS,GAAW,IAAI,CAAC;IAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE;QACvC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;KACxE;SAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACtD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;KAC1B;IAED,IAAI,MAAM,GAAgB,IAAI,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,EAAE;QACX,MAAM,IAAI,qBAAmB,IAAI,CAAC,IAAI,CAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,KAAK,GAAG,OAAOK,8BAAmB,CAAC,IAAI,GAAG,CAAC;SACnD;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;SACtB;QACD,MAAM,MAAM,GAAgB;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,mBAAmB,EAAE,IAAI,CAAC,eAAe;YACzC,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;YACvC,YAAY,EAAE,WAAW;SAC5B,CAAC;QACF,MAAM,GAAGP,QAACE,aAAM,oBAAK,MAAM,EAAI,CAAC;KACnC;IAED,QACIF,iBACI,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,KAAK,CAAC,EAChE,KAAK,EAAE,QAAQ,wBACK;YAChB,OAAO,KAAK,CAAC;SAChB,EACD,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAChC,KAAK,EAAE,IAAI,CAAC,KAAK;QAEjBR,iBACI,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,KAAK,EAAE,SAAS;YAEf,KAAK,CAAC,cAAc,KACjBA,QAACE,aAAM,IACH,QAAQ,EAAC,WAAW,EACpB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,EACZ,YAAY,EAAE,wBACV,QAAQ,KAAKE,qBAAU,CAAC,MAAM,GAAG,MAAM,GAAG,OAC9C,EAAE,EACF,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,EACrC,QAAQ,EAAE,CAAC,GACb,CACL;YACA,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;kBAC1B,QAAQ;kBACR,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAC1C,CACJ,EACR;AACN,EAAE;AAEF,MAAM,OAAO,GAAG,CAAC,IAAwB,EAAE,GAAkB;IACzD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,IAAI,CAAC;KACf;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,IAAI,GAAG,CAA4B;QACtD,CAACA,qBAAU,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QAC7C,CAACL,qBAAU,CAAC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;KAC7D,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,OAAO;UACR,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;UAC1D,IAAI,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,OAAsB,EACtB,WAAmB,EACnB,YAAoB;IAEpB,OAAOC,qBAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CACzB,UAAyB,EACzB,UAAkB,EAClB,YAAoB;IAEpB,MAAM,cAAc,GAAGC,2BAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAEtE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,uBAAuB,CAC1D,UAAU,EACV,YAAY,CACf,CAAC;IACF,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,OAAY,EAAE,YAAoB;IAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,OAAO,EAAE;QACT,OAAO,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;KACzC;SAAM;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC,EAAE;SACvC,CAAC,CAAC,CAAC;KACP;AACL,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC3B,OAAY,EACZ,YAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK;;QAAK,QAAC;YACpC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;YAC/C,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM;kBAC1B,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC;kBAC3C,EAAE;SACX,EAAC;KAAA,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACnC,OAAY,EACZ,YAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK;;QAAK,QAAC;YACpC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM;kBAC1B,8BAA8B,CAAC,KAAK,EAAE,YAAY,CAAC;kBACnD,EAAE;SACX,EAAC;KAAA,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CACxB,OAAY,EACZ,YAAoB;IAEpB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC;QACtC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;YACnB,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,0CAAE,KAAK,KAAI,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;YAC7C,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;SAC7C,CAAC;KACL,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAG/B;IACE,CAAC,eAAe,EAAE,sBAAsB,CAAC,IAAI,CAACF,SAAI,CAAC,CAAC;IACpD,CAAC,eAAe,EAAE,8BAA8B,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;IAC5D,CAAC,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;IAC9C,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,SAAS,WAAW,CAChB,QAAgB,EAChB,iBAA0B,EAC1B,IAAiB,EACjB,KAAiB;;IAEjB,QAAQ,QAAQ;QACZ,KAAKL,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,IAAI;YAChB,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GACnB,iBACH,CAAC,KAAK,CAAC;iBACX;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG;oBACT,SAAS,EAAG,iBAAiC,CAAC,KAAK;iBACtD,CAAC;aACL;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,KAAK;YACjB,MAAM,SAAS,GAAG,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE,CAAC;YAC1C,MAAM,mBAAmB,GACrB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,IACK,KAAK,CAAC,SAA0B,CAAC,WAAW,CAAC,OAAO;gBACjDQ,sBAAW,CAAC,UAAU;gBAC1B,CAAC,mBAAmB,EACtB;gBACE,IACI,CAAE,iBAAiC,CAAC,KAAK;oBACzC,CAAE,iBAAiC,CAAC,KAAK,EAC3C;oBACG,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;oBACjD,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;oBACjD,iBAAiC,CAAC,YAAY,GAAG,SAAS,CAAC;iBAC/D;qBAAM;oBACH,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;wBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;wBACjD,iBAAiC,CAAC,YAAY;4BAC3C,SAAS,CAAC;qBACjB;oBACD,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;wBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;qBACrD;iBACJ;aACJ;YACD,IACK,KAAK,CAAC,SAA0B,CAAC,WAAW,CAAC,OAAO;gBACrDA,sBAAW,CAAC,GAAG,EACjB;gBACE,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;oBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;iBACrD;gBACD,IAAK,iBAAiC,CAAC,GAAG,KAAK,SAAS,EAAE;oBACrD,iBAAiC,CAAC,GAAG,GAAG,IAAI,CAAC;iBACjD;aACJ;iBAAM,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBACjD,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YAED,MAAM;KACb;AACL,CAAC;AAED,SAAS,cAAc,CACnB,QAAgB,EAChB,iBAA0B,EAC1B,IAAiB;IAEjB,QAAQ,QAAQ;QACZ,KAAKR,qBAAU,CAAC,GAAG;YACf,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,MAAM,GAAW,EAAE,CAAC;YACxB,IAAK,iBAAkC,CAAC,KAAK,EAAE;gBAC3C,MAAM,GAAG,MAAM,CAAC;aACnB;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;iBACpC;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;aACtC;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,KAAK;YACjB,IAAI,CAAE,iBAA8B,CAAC,KAAK,EAAE;gBACvC,iBAA8B,CAAC,KAAK,GAAG,MAAM,CAAC;aAClD;YACD,IAAI,CAAE,iBAA8B,CAAC,KAAK,EAAE;gBACvC,iBAA8B,CAAC,KAAK,GAAG,MAAM,CAAC;aAClD;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,IAAI;YAChB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;iBACpC;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;aACtC;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,KAAK;YACjB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;iBACpC;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;aACtC;YACD,MAAM;KACb;AACL,CAAC;AAED,SAAS,eAAe,CACpB,QAAgB,EAChB,QAAiC,EACjC,IAAiB,EACjB,MAAqB,EACrB,KAAiB;;IAEjB,QAAQ,QAAQ;QACZ,KAAKA,qBAAU,CAAC,YAAY;YACxB,QACIJ,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,+BACtB,CACvB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,8BAC5B,CACtB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,kCACvB,CAC1B,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,UAAU,CAAC,IAC5D,EACJ;QACN,KAAKJ,qBAAU,CAAC,QAAQ;YACpB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YAED,IAAI,IAAI,CAAC,KAAK,KAAKU,sBAAW,CAAC,cAAc,EAAE;gBAC3C,QACIb,mBACI,OAAO,EACH,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;0BACnC,IAAI;0BACJ,KAAK,EAEf,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,EAErD,IAAI,EAAC,UAAU,GACV,EACX;aACL;iBAAM;gBACH,QACIR,QAACc,mBAAS,oBACF,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEN,sBAAW,CAAC,MAAM,CAAC,IAEvD,EACJ;aACL;QACL,KAAKJ,qBAAU,CAAC,IAAI;YAChB,QACIJ,sCACQ,IAAI,CAAC,IAAI,IACb,IAAI,EAAEe,eAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEP,sBAAW,CAAC,MAAM,CAAC;gBAEtDR,0CACI,SAAS,EAAE,IAAI,EACf,IAAI,EAAC,OAAO,IACR,IAAI,CAAC,QAAQ,EACH,CACX,EACb;QACN,KAAKI,qBAAU,CAAC,YAAY;YACxB,QACIJ,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,EACjD,QAAQ,EAAE,KAAK,8BACW,CACtB,CAA0C,KACzC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,IACtC,EACtB;QACN,KAAKJ,qBAAU,CAAC,QAAQ;YACpB,QACIJ,wCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,2BAC1B,CACnB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,0BAChC,CAClB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,8BAC3B,CACtB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,UAAU,CAAC,IAC5D,EACJ;QACN,KAAKJ,qBAAU,CAAC,IAAI;YAChB,QACIJ,2CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,6BACxB,CACrB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,4BAC9B,CACpB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,IACvD,EACJ;QACN,KAAKJ,qBAAU,CAAC,kBAAkB;YAC9B,QACIJ,oCACI,SAAS,EAAE,IAAI,IACX,IAAI,CAAC,IAAI,IACb,IAAI,EAAEe,eAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEP,sBAAW,CAAC,MAAM,CAAC;gBAEtDR,4CACI,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAEF,wBAAgB,CAAC,oBAAoB,EAClD,UAAU,EAAEA,wBAAgB,CAAC,oBAAoB,8BACvB,CACtB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEU,sBAAW,CAAC,KAAK,CAAC,kCACvB,CAC1B,CAAuC,KAEvC,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACRA,sBAAW,CAAC,UAAU,CACzB,EAEL,gBAAgB,EAAE,KAAK,IACnB,IAAI,CAAC,QAAQ,EACD,CACb,EACb;QACN,KAAKJ,qBAAU,CAAC,cAAc;YAC1B,QACIJ,oCACI,SAAS,EAAE,IAAI,IACX,IAAI,CAAC,IAAI,IACb,IAAI,EAAEe,eAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEP,sBAAW,CAAC,MAAM,CAAC;gBAEtDR,wCACI,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAEF,wBAAgB,CAAC,oBAAoB,EAClD,UAAU,EAAEA,wBAAgB,CAAC,oBAAoB,0BAC3B,CAClB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEU,sBAAW,CAAC,KAAK,CAAC,8BAC3B,CACtB,CAAuC,KAEvC,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACRA,sBAAW,CAAC,UAAU,CACzB,IAED,IAAI,CAAC,QAAQ,EACL,CACT,EACb;QACN,KAAKJ,qBAAU,CAAC,KAAK;YACjB,QACIJ,QAAC,MAAM,oBACC,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,CAAC,CAAS,EAAE,CAAa;oBAC/B,MAAM,SAAS,GAAI,IAAI,CAAC,IAAoB,CAAC,IAAI,CAAC;oBAClD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACnD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;wBACjC,IAAI,KAAK,KAAK,CAAC,EAAE;4BACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;yBAC1B;6BAAM;4BACH,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;yBAC3B;qBACJ;oBACD,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,CAAC;iBACrD,IACK,EACZ;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QACIJ,sCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,wBACK,CAChB,CAA0C,KACzC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,IAC5C,EAChB;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QACIJ,QAAC,OAAO,oBACA,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,IAE9C,EACb;QACN,KAAKJ,qBAAU,CAAC,IAAI;YAChB,QACIJ,2CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,6BACxB,CACrB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEQ,sBAAW,CAAC,MAAM,CAAC,4BAC9B,CACpB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,IACvD,EACJ;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QACIJ,QAACgB,qBAAU,kBACP,IAAI,EAAE,OAAO,IACT,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,WAAW,EAAE,CAAC,CAAC,KACX,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAER,sBAAW,CAAC,UAAU,CAAC,IAE/C,EAChB;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QAAQ,CAACD,uBAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAClD,KAAKC,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,MAAM;YAClB,MAAM,QAAQ,GAAG,CAAC,CAAa,KAC3B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEI,sBAAW,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,CAAC,CAAa,KAC1B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,KAAKJ,qBAAU,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;YAC9D,MAAM,KAAK,GACP,QAAQ,KAAKA,qBAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;kBACtC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;kBACrD,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,KAAKS,sBAAW,CAAC,WAAW,EAAE;gBACxC,QACIb,mBACI,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS,mCAAI,CAAC,CAAC,GACtC,EACX;aACL;iBAAM;gBACH,QACIA,QAACgB,qBAAU,kBACP,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,IACxC,IAAI,CAAC,IAAI,IACb,IAAI,EACA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;0BACrB,IAAI,CAAC,IAAI,CAAC,IAAI;0BACd,IAAI,CAAC,IAAI;8BACT,IAAI,CAAC,IAAI;8BACT,MAAM,CAAC,IAAI;kCACX,MAAM,CAAC,IAAI;kCACX,IAAI,EAEd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,CAAa,KACvB,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACRR,sBAAW,CAAC,UAAU,CACzB,IAEP,EACJ;aACL;KACR;AACL,CAAC;AAED,SAAS,OAAO,CACZ,QAAgB,EAChB,iBAAgC,EAChC,OAAgB,EAChB,QAAiC,EACjC,IAAiB,EACjB,MAAqB,EACrB,KAAiB;IAEjB,QAAQ,QAAQ;QACZ,KAAKJ,qBAAU,CAAC,YAAY,CAAC;QAC7B,KAAKA,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,IAAI;YAChB,IAAI,OAAO,IAAI,OAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,SAAS,GAAGa,iCAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,OAAOjB,iBAAK,KAAK,EAAC,cAAc,IAAE,SAAS,CAAO,CAAC;aACtD;YACD,OAAO,OAAO,CAAC;QACnB,KAAKI,qBAAU,CAAC,QAAQ;YACpB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACIH,QAACE,aAAM,IACH,QAAQ,EACH,iBAAoC,CAAC,OAAO;sBACvC,WAAW;sBACX,yBAAyB,EAEnC,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,GACd,EACJ;QACN,KAAKE,qBAAU,CAAC,MAAM;YAClB,OAAOJ,iBAAK,SAAS,EAAE,IAAI,CAAC,KAAK,GAAQ,CAAC;QAC9C,KAAKI,qBAAU,CAAC,IAAI;YAChB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,IAAK,iBAAiC,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAACA,uBAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;aAC1C;YACD,OAAOH,QAACE,aAAM,oBAAK,iBAAiB,EAAI,CAAC;QAC7C,KAAKE,qBAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,IAAK,iBAAiC,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAACA,uBAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;aAC1C;YAED,OAAOH,QAACE,aAAM,oBAAK,iBAAiB,EAAI,CAAC;QAE7C,KAAKE,qBAAU,CAAC,IAAI;YAChB,QACIJ,eAAG,IAAI,EAAE,OAAiB,EAAE,MAAM,EAAC,QAAQ,IACtC,IAAI,CAAC,KAAK,CACX,EACN;QACN,KAAKI,qBAAU,CAAC,MAAM;YAClB,IAAI,OAAO,IAAI,OAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAClD,IAAI,CAAC,KAAK,CACb,CAAC;gBACF,MAAM,SAAS,GAAGa,iCAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,eAAe,GAAG,CAAC,EAAE;oBACrB,QAAQ,CAACd,uBAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;iBAC7C;gBACD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;oBACvB,QAAQ,CAACA,uBAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;iBACjD;gBACD,OAAOH,iBAAK,KAAK,EAAC,cAAc,IAAE,SAAS,CAAO,CAAC;aACtD;YACD,OAAOA,iBAAK,KAAK,EAAC,cAAc,IAAE,OAAO,CAAO,CAAC;QACrD,KAAKI,qBAAU,CAAC,MAAM;YAClB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACrC,OAAOH,QAAC,OAAO,oBAAK,iBAAiB,EAAY,CAAC;QACtD;YACI,OAAOA,iBAAK,KAAK,EAAC,cAAc,IAAE,OAAO,CAAO,CAAC;KACxD;AACL,CAAC;AAED,SAAS,UAAU,CACf,QAAgB,EAChB,QAAiC,EACjC,iBAAgC,EAChC,IAAiB,EACjB,GAAe,EACf,MAAqB,EACrB,KAAiB;IAEjB,QAAQ,QAAQ;QACZ,KAAKI,qBAAU,CAAC,GAAG;YACf,IAAI,CAAE,iBAAiC,CAAC,IAAI,EAAE;gBAC1C,QACIJ,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,KAAK,EAAC,OAAO,IACT,iBAAiB,EACvB,EACJ;aACL;iBAAM;gBACH,MAAM,QAAQ,GAAG;oBACb,MAAM,EAAG,iBAAiC,CAAC,KAAK;oBAChD,KAAK,EAAE,MAAM;iBAChB,CAAC;gBACF,QACIA,iBAAK,KAAK,EAAE,QAAQ;oBAChBA,QAACE,aAAM,oBAAK,iBAAiB,EAAI,CAC/B,EACR;aACL;QACL,KAAKE,qBAAU,CAAC,MAAM;YAClB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACIH,QAACkB,eAAO,oBACA,iBAAiB,IACrB,OAAO,EAAE,CAAC,CAAC,KACP,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEV,sBAAW,CAAC,KAAK,CAAC,IAE7C,EACb;QACN,KAAKJ,qBAAU,CAAC,WAAW;YACvB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,cAAc,CAAC,GAAG;gBAChC,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,MAAM;aACjB,CAAC;YACF,QACIH,2CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACN,EACrB;QACN,KAAKI,qBAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACIH,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACvB,EACJ;QACN,KAAKI,qBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAKA,qBAAU,CAAC,cAAc,CAAC;QAC/B,KAAKA,qBAAU,CAAC,IAAI;YAChB,OAAOJ,QAACmB,WAAK,oBAAK,iBAAiB,EAAI,CAAC;QAC5C,KAAKf,qBAAU,CAAC,YAAY;YACxB,QACIJ,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,IACrB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,EACjD,QAAQ,UACQ,EACtB;QACN,KAAKI,qBAAU,CAAC,KAAK;YACjB,QACIJ,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,qBACjC,OAAO,IACnB,iBAAiB,EACZ,EACf;QACN,KAAKI,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,YAAY;YACxB,OAAO,iBAAiB,CAAC,WAAW,IAChCJ,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACL,KAEpBA,QAAC,YAAY,oBAAK,iBAAiB,EAAiB,CACvD,CAAC;QACN,KAAKI,qBAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC7C,OAAOH,QAAC,MAAM,oBAAK,iBAAiB,EAAW,CAAC;QACpD,KAAKI,qBAAU,CAAC,MAAM;YAClB,OAAOJ,QAAC,OAAO,oBAAK,iBAAiB,IAAE,QAAQ,EAAE,IAAI,IAAY,CAAC;QACtE,KAAKI,qBAAU,CAAC,MAAM;YAClB,QACIJ,QAACgB,qBAAU,kBACP,IAAI,EAAE,OAAO,IACT,iBAAiB,IACrB,QAAQ,EAAE,IAAI,IACJ,EAChB;KACT;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,IAAiB;IACpD,SAAS,gBAAgB,CAAC,KAAa;QACnC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KACtD;IAED,SAAS,aAAa,CAAC,KAAa;QAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACnD;IAED,SAAS,eAAe,CAAC,KAAa;QAClC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACpD;IAED,SAAS,cAAc,CAAC,KAAa;QACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACpD;IAED,SAAS,iBAAiB,CAAC,KAAa;QACpC,QACI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC;KACL;IACD,SAAS,OAAO,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QACD,MAAM,2BAA2B,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,KAAK,MAAM,WAAW,IAAI,2BAA2B,EAAE;YACnD,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;aAC7B;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,IAAI,CAAC;KACf;IAED,SAAS,cAAc,CAAC,KAAa;QACjC,MAAM,WAAW,GAAe,EAAE,CAAC;QAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;YAChC,IAAI,OAAO,EAAE;gBACT,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;oBAC5B,OAAO,IAAI,CAAC;iBACf;gBAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;oBACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;wBAC5B,OAAO,IAAI,CAAC;qBACf;yBAAM;wBACH,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;4BACnB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;4BACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;gCAC3B,WAAW,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC;6BACnC;yBACJ;qBACJ;iBACJ;qBAAM,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAEpC;qBAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;oBAChC,MAAM,MAAM,GAAG,OAAO;yBACjB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;yBAC3B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE;wBAC5B,WAAW,CAAC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;qBACrC;iBACJ;qBAAM;oBACH,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;iBACxD;aACJ;YACD,OAAO,WAAW,CAAC,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;SAClD;QAED,SAAS,YAAY,CACjB,KAAa,EACb,WAAuB;YAEvB,MAAM,SAAS,qBAAoB,WAAW,CAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBAClB,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE;oBACP,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC1B,IACI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACzB;wBACE,SAAS,CAAC,KAAK,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAC5C,CAAC,CACJ,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;qBACvB;iBACJ;gBACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC3B,SAAS,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC;qBACjC;iBACJ;aACJ;YACD,OAAO,SAAS,CAAC;SACpB;KACJ;IAED,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAEf,MAAM,aAAa,GAAG;;QAClB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,MAAK,EAAE,EAAE;YACzC,KAAK,CAAC,GAAG,EAAE,CAAC;SACf;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAsB,CAAC,IAAI,CAAC;oBACnC,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC;aACN;SACJ;KACJ,CAAC;IAEF,QAAQ,QAAQ;QACZ,KAAKZ,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;YACtD,MAAM;QAEV,KAAKA,qBAAU,CAAC,GAAG;YACf,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;aACnC;iBAAM;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxC;YACD,MAAM;QAEV,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,MAAM;QAEV,KAAKA,qBAAU,CAAC,KAAK;YACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,KAAK;iBACf;aACJ,CAAC,CAAC;YACH,MAAM;QAEV,KAAKA,qBAAU,CAAC,WAAW,CAAC;QAC5B,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAKA,qBAAU,CAAC,cAAc,CAAC;QAC/B,KAAKA,qBAAU,CAAC,KAAK;YACjB,aAAa,EAAE,CAAC;YAChB,MAAM;QAEV,KAAKA,qBAAU,CAAC,YAAY;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;YACpC,MAAM;QAEV,KAAKA,qBAAU,CAAC,KAAK,CAAC;QACtB,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,YAAY,CAAC;QAC7B,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM;QAEV,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,KAAK;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAChC,MAAM;KACb;AACL,CAAC;AAED,SAAS,SAAS,CACd,CAAwD,EACxD,KAAiB,EACjB,QAAoB,EACpB,aAA0B;IAE1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,aAAa,KAAKI,sBAAW,CAAC,MAAM,EAAE;QACtC,IAAI,KAAK,GAAG,sBAAsB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,QAAQ,QAAQ;YACZ,KAAKJ,qBAAU,CAAC,YAAY,CAAC;YAC7B,KAAKA,qBAAU,CAAC,QAAQ,CAAC;YACzB,KAAKA,qBAAU,CAAC,IAAI,CAAC;YACrB,KAAKA,qBAAU,CAAC,IAAI;gBAChB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;iBACrC;gBACD,MAAM;YACV,KAAKA,qBAAU,CAAC,QAAQ,CAAC;YACzB,KAAKA,qBAAU,CAAC,MAAM;gBAClB,KAAK,GAAG,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACV,IAAI,CAAC,IAAuB,CAAC,OAAO;wBACjC,KAAK,KAAK,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;iBACpC;gBACD,MAAM;YACV,KAAKA,qBAAU,CAAC,KAAK;;gBAEjB,MAAM;YACV,KAAKA,qBAAU,CAAC,IAAI,CAAC;YACrB,KAAKA,qBAAU,CAAC,kBAAkB,CAAC;YACnC,KAAKA,qBAAU,CAAC,cAAc;gBAC1B,KAAK,GAAI,CAA4C,CAAC,MAAM;qBACvD,iBAAiB,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACV,IAAI,CAAC,IAAoB,CAAC,IAAI,GAC3B,CACH,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBACtB;gBACD,MAAM;SACb;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAGa,iCAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC9D;IACD,IAAI,IAAI,IAAK,IAAqB,CAAC,WAAW,EAAE;QAC5C,MAAM,SAAS,GAAG,IAAI,WAAW,CAAoB,aAAa,EAAE;YAChE,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,IAAI;gBACV,EAAE,EAAG,IAAqB,CAAC,WAAW,CAAC,EAAE;gBACzC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,QAAQ;aACjB;SACJ,CAAC,CAAC;QACF,IAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,aAAa,KAAKT,sBAAW,CAAC,MAAM,EAAE;YACtC,IAAI;gBACC,IAAqB,CAAC,OAAO,EAAE,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;gBACZ,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CACxB,IAAI,EACJ,KAAK,EACLY,2BAAgB,CAAC,KAAK,CACzB,CAAC;aACL;SACJ;KACJ;AACL,CAAC;AAED,SAAS,sBAAsB,CAC3B,CAAwD,EACxD,QAAoB;IAEpB,MAAM,YAAY,GAAG,CAAC,EAAG,CAAC,CAAC,MAAsB,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACvE,IAAI,KAAK,GAAG,YAAY;UACjB,CAAC,CAAC,MAA2B,CAAC,KAAK;UACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAErB,IAAI,QAAQ,KAAKhB,qBAAU,CAAC,QAAQ,IAAI,YAAY,EAAE;QAClD,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;KACjE;IAED,IAAI,QAAQ,KAAKA,qBAAU,CAAC,MAAM,IAAI,YAAY,EAAE;QAChD,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACrE;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;;IACrC,OAAOiB,0BAAe,CAAC,QAAQ,CAC3B,MAAC,KAAK,CAAC,SAA0B,0CAAE,WAAW,CAAC,OAAsB,CACxE,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;;IAClC,OAAOC,+BAAoB,CAAC,QAAQ,CAChC,MAAC,KAAK,CAAC,SAA0B,0CAAE,WAAW,CAAC,OAAsB,CACxE,CAAC;AACN;;;;;;;;","names":["KupListProps","KupListRole","ItemsDisplayMode","FSwitchSizing","h","getAssetPath","FImage","FCellClasses","FCellTypes","editableTypes","kupTypes","KupThemeColorValues","FCellEvents","this","RADAdapter","CMBandACPAdapter","KupTagNames","FCellShapes","FCheckbox","FChipType","FTextField","getCellValueForDisplay","FButton","FChip","KupDebugCategory","autoCenterComps","fullWidthFieldsComps"],"sources":["src/components/kup-list/kup-list-declarations.ts","src/f-components/f-switch/f-switch-declarations.ts","src/f-components/f-switch/f-switch.tsx","src/f-components/f-progress-bar/f-progress-bar.tsx","src/f-components/f-radio/f-radio-declarations.ts","src/f-components/f-radio/f-radio.tsx","src/f-components/f-rating/f-rating.tsx","src/f-components/f-cell/f-cell.tsx"],"sourcesContent":["import { KupEventPayload } from '../../types/GenericTypes';\nimport { ValueDisplayedValue as vdv } from '../../utils/filters/filters-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-list component.\n * Used to export every prop in an object.\n */\nexport enum KupListProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the list.',\n displayMode = 'Selects how the items must display their label and how they can be filtered for.',\n filter = 'Keeps string for filtering elements when filter mode is active',\n hideText = \"Hides rows' text, ideally to display a list of icons only.\",\n isMenu = 'Defines whether the list is a menu or not.',\n keyboardNavigation = \"When true, enables items' navigation through arrow keys.\",\n menuVisible = \"Sets the status of the menu, when false it's hidden otherwise it's visible.\",\n roleType = 'Defines the type of selection. Values accepted: listbox, radiogroup or group.',\n selectable = 'Defines whether items are selectable or not.',\n showIcons = 'Displays the icons associated to each row when set to true.',\n twoLine = 'The list elements descriptions will be arranged in two lines.',\n}\n/**\n * Data structure of a single list item.\n */\nexport interface KupListNode extends KupDataNode {\n secondaryText?: string;\n selected?: boolean;\n separator?: boolean;\n}\n/**\n * Available types of selection.\n */\nexport enum KupListRole {\n LISTBOX = 'listbox',\n RADIOGROUP = 'radiogroup',\n GROUP = 'group',\n}\n\nexport interface ValueDisplayedValue extends vdv {\n exists: boolean;\n}\n\nexport enum ItemsDisplayMode {\n CODE = 'code',\n DESCRIPTION = 'description',\n DESCRIPTION_AND_CODE = 'both',\n}\nexport interface KupListEventPayload extends KupEventPayload {\n selected: KupListNode;\n index?: number;\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-switch component.\n */\nexport interface FSwitchProps extends FComponent {\n checked?: boolean;\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onClick?: (event: MouseEvent) => void;\n onChange?: (event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n sizing?: FSwitchSizing;\n}\n\n/**\n * Types of the f-chip component.\n * @enum {string}\n * @property {string} SMALL - Small size: height = 24px\n * @property {string} MEDIUM - Medium size: height = 32px (default)\n */\n\nexport enum FSwitchSizing { // GenericTypes to be studied because small chips goes with small button/textfield but has different sizes\n SMALL = 'small',\n MEDIUM = 'medium',\n}\n","import { FSwitchSizing, type FSwitchProps } from './f-switch-declarations';\nimport { FunctionalComponent, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FSwitch: FunctionalComponent<FSwitchProps> = (\n props: FSwitchProps\n) => {\n if (!props.sizing) {\n props.sizing = FSwitchSizing.MEDIUM;\n }\n const isSmall: boolean = props.sizing.toLowerCase() === FSwitchSizing.SMALL;\n const classObj: Record<string, boolean> = {\n switch: true,\n 'switch--checked': props.checked,\n 'switch--disabled': props.disabled,\n [`switch--${props.sizing}`]: props.sizing ? true : false,\n };\n\n return (\n <div\n class={`f-switch ${props.danger ? 'kup-danger' : ''} ${\n props.info ? 'kup-info' : ''\n } ${props.secondary ? 'kup-secondary' : ''} ${\n props.success ? 'kup-success' : ''\n } ${props.warning ? 'kup-warning' : ''} ${\n props.wrapperClass ? props.wrapperClass : ''\n }`}\n {...props.dataSet}\n id={props.id}\n title={props.title}\n >\n <div\n class={`form-field ${\n props.leadingLabel ? 'form-field--align-end' : ''\n }`}\n >\n <div class={classObj}>\n <div class=\"switch__track\"></div>\n <div class=\"switch__thumb-underlay\">\n <div class=\"switch__thumb\">\n <input\n type=\"checkbox\"\n class=\"switch__native-control\"\n role=\"switch\"\n checked={props.checked}\n disabled={props.disabled}\n value={props.checked ? 'on' : 'off'}\n onBlur={props.onBlur}\n onChange={props.onChange}\n onFocus={props.onFocus}\n ></input>\n </div>\n </div>\n </div>\n <label onClick={props.onChange}>{props.label}</label>\n </div>\n </div>\n );\n};\n","import type { FProgressBarProps } from './f-progress-bar-declarations';\nimport { FunctionalComponent, getAssetPath, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FProgressBar: FunctionalComponent<FProgressBarProps> = (\n props: FProgressBarProps\n) => {\n if (!props.centeredLabel && !props.centeredLabel !== false) {\n props.centeredLabel = true;\n }\n\n let componentClass = `f-progress-bar ${props.danger ? 'kup-danger' : ''} ${\n props.animated ? 'kup-animated' : ''\n } ${props.padded ? 'kup-padded' : ''} ${props.info ? 'kup-info' : ''} ${\n props.slim ? 'kup-slim' : ''\n } ${props.striped ? 'kup-striped' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.slim ? 'kup-slim' : ''} ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`;\n let pieClass: string = 'pie';\n let radialStyle = undefined;\n if (props.isRadial) {\n componentClass += ' pie-wrapper is-radial';\n } else {\n componentClass += ' progress-bar';\n }\n\n let labelStyle = undefined;\n\n const valueStyle = {\n width: `${props.value}%`,\n };\n\n if (!props.centeredLabel) {\n labelStyle = valueStyle;\n if (props.value > 2) {\n componentClass += ' text-color-on-primary';\n }\n } else if (props.value > 49) {\n componentClass += ' text-color-on-primary';\n }\n\n let label = null;\n if (props.icon) {\n label = createIconElement(props);\n } else {\n if (!props.hideLabel) {\n if (props.isRadial) {\n if (props.label) {\n label = <span class=\"label\">{props.label}</span>;\n } else {\n label = (\n <span class=\"label\">\n {props.value}\n <span class=\"smaller\">%</span>\n </span>\n );\n }\n } else {\n if (props.label) {\n label = props.label;\n } else {\n label = props.value + '%';\n }\n }\n }\n }\n\n if (props.value > 0) {\n pieClass += ' has-value';\n if (props.value > 50) {\n pieClass += ' is-more-than-half';\n } else {\n pieClass += ' is-less-than-half';\n }\n }\n\n if (props.isRadial) {\n return (\n <div class={componentClass}>\n {label}\n <div class={pieClass}>\n <div\n style={radialStyle}\n class=\"left-side half-circle\"\n ></div>\n <div class=\"right-side half-circle\"></div>\n </div>\n <div class=\"shadow\"></div>\n </div>\n );\n } else {\n return (\n <div class={componentClass}>\n <div class=\"progress-bar-percentage\" style={valueStyle}>\n <span style={labelStyle}>{label}</span>\n </div>\n </div>\n );\n }\n};\n\nfunction createIconElement(props: FProgressBarProps) {\n if (!props.icon) {\n return undefined;\n }\n\n if (\n props.icon.indexOf('.') > -1 ||\n props.icon.indexOf('/') > -1 ||\n props.icon.indexOf('\\\\') > -1\n ) {\n return (\n <span class=\"label kup-icon is-image\">\n <img src={props.icon}></img>\n </span>\n );\n } else {\n let svg: string = `url('${getAssetPath(\n `./assets/svg/${props.icon}.svg`\n )}') no-repeat center`;\n let iconStyle = {\n mask: svg,\n webkitMask: svg,\n };\n return <span style={iconStyle} class=\"label kup-icon\"></span>;\n }\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-radio component.\n */\nexport interface FRadioProps extends FComponent {\n type?: FRadioType;\n columns?: number;\n data?: FRadioData[];\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onChange?: (i: number, event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n horizontal?: boolean;\n}\n/**\n * The object of a single radio.\n */\nexport interface FRadioData {\n checked: boolean;\n label: string;\n value: string;\n}\n\nexport enum FRadioType {\n RADIO = 'radio',\n CHEVRON = 'chevron',\n}\n","import { FunctionalComponent, VNode, h, Fragment } from '@stencil/core';\nimport { GenericObject } from '../../components';\nimport {\n FRadioType,\n type FRadioData,\n type FRadioProps,\n} from './f-radio-declarations';\nimport { FImage } from '../f-image/f-image';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRadio: FunctionalComponent<FRadioProps> = (\n props: FRadioProps\n) => {\n const hasColumns: boolean = !!props.columns;\n const radioList: Array<VNode> = [];\n\n // Default to 'radio' if props.type is not specified\n const radioType = props.type || FRadioType.RADIO;\n for (let i = 0; i < props.data?.length; i++) {\n const data: FRadioData = props.data[i];\n const classObj: GenericObject = {\n radio: true,\n 'radio--checked': data.checked ? true : false,\n 'radio--disabled': props.disabled ? true : false,\n [`radio--${props.type}`]: props.type ? true : false,\n };\n\n radioList.push(\n <div\n class={`form-field \n ${props.leadingLabel ? ' form-field--align-end' : ''} ${\n props.disabled ? 'radio--disabled' : ''\n }`}\n >\n <div class={classObj}>\n {radioType === FRadioType.RADIO ? (\n // Radio button type rendering\n <input\n class=\"radio__native-control\"\n type=\"radio\"\n name=\"radio-element\"\n value={data.value}\n checked={data.checked}\n disabled={props.disabled}\n onBlur={props.onBlur}\n onChange={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n onFocus={props.onFocus}\n ></input>\n ) : (\n // Chevron type rendering\n <>\n {data.checked ? (\n <FImage\n resource=\"check\"\n sizeX=\"14px\"\n sizeY=\"14px\"\n ></FImage>\n ) : (\n <FImage\n sizeX=\"14px\"\n sizeY=\"14px\"\n onClick={\n props.onChange\n ? props.onChange.bind(\n props.onChange,\n i\n )\n : null\n }\n ></FImage>\n )}\n </>\n )}\n {radioType === FRadioType.RADIO && (\n <div class=\"radio__background\">\n <div class=\"radio__outer-circle\"></div>\n <div class=\"radio__inner-circle\"></div>\n </div>\n )}\n </div>\n <label\n htmlFor={'radio-element'}\n onClick={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n >\n {data.label ? data.label : ''}\n </label>\n </div>\n );\n }\n\n const styleObj: GenericObject = {\n '--kup_radio_columns': hasColumns\n ? `repeat(${props.columns}, 1fr)`\n : '',\n };\n\n return (\n <div\n class={`f-radio radio-wrapper\n ${hasColumns ? 'radio-wrapper-grid' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''} ${\n props.horizontal ? 'kup-horizontal' : ''\n }`}\n style={styleObj}\n >\n {radioList}\n </div>\n );\n};\n","import { FunctionalComponent, VNode, h } from '@stencil/core';\nimport type { FRatingProps } from './f-rating-declarations';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRating: FunctionalComponent<FRatingProps> = (\n props: FRatingProps\n) => {\n if (!props.maxValue) {\n props.maxValue = 5;\n }\n return (\n <div\n class={`f-rating ${props.disabled ? 'disabled' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`}\n >\n {buildStars(props)}\n </div>\n );\n};\n\nfunction buildStars(props: FRatingProps) {\n const stars: VNode[] = [];\n\n for (let i = 1; i <= props.maxValue; i++) {\n if (i <= props.value) {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n &#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 type { FButtonProps } from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CMBandACPAdapter,\n getCellValueForDisplay,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { DataAdapterFn } from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n cell.data = mapData(cell, column) ?? cell.data;\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column.cssClass\n ? column.cssClass\n : '';\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)\n }\n ></FTextField>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.STRING:\n const onChange = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n const onInput = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.INPUT);\n const type = cellType === FCellTypes.NUMBER ? 'number' : null;\n const value =\n cellType === FCellTypes.NUMBER && cell.value\n ? dom.ketchup.math.numberifySafe(cell.value).toString()\n : cell.value;\n if (cell.shape === FCellShapes.INPUT_FIELD) {\n return (\n <input\n class={'input-field'}\n onChange={onChange}\n onInput={onInput}\n type={type}\n value={value}\n maxLength={column.cellData?.maxLength ?? -1}\n ></input>\n );\n } else {\n return (\n <FTextField\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTaget(e, cellType);\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n // data change handled outside this switchcase to avoid passing the index\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value.toString();\n }\n cell.value = value.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTaget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!((e.target as HTMLElement).tagName === 'INPUT');\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"],"version":3}
@@ -6,7 +6,7 @@ const index = require('./index-4e97f23f.js');
6
6
  const kupManager$1 = require('./kup-manager-3e7452e3.js');
7
7
  const fTextField = require('./f-text-field-a8db3416.js');
8
8
  const fTextFieldMdc = require('./f-text-field-mdc-2a3c8c01.js');
9
- const fCell = require('./f-cell-f4161c96.js');
9
+ const fCell = require('./f-cell-c5a85032.js');
10
10
  const GenericVariables = require('./GenericVariables-1d52ba57.js');
11
11
  const fImage = require('./f-image-8dbf27a2.js');
12
12
  const fButton = require('./f-button-54d0f017.js');
@@ -8,7 +8,7 @@ const kupDataTableHelper = require('./kup-data-table-helper-ecda1d0f.js');
8
8
  const fImage = require('./f-image-8dbf27a2.js');
9
9
  const fChip = require('./f-chip-cb102c29.js');
10
10
  const GenericVariables = require('./GenericVariables-1d52ba57.js');
11
- const fCell = require('./f-cell-f4161c96.js');
11
+ const fCell = require('./f-cell-c5a85032.js');
12
12
  const fPaginatorUtils = require('./f-paginator-utils-da6cd873.js');
13
13
  const fTextFieldMdc = require('./f-text-field-mdc-2a3c8c01.js');
14
14
  require('./kup-dates-3fc9697c.js');
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-4e97f23f.js');
6
6
  const kupManager = require('./kup-manager-3e7452e3.js');
7
7
  const GenericVariables = require('./GenericVariables-1d52ba57.js');
8
- const fCell = require('./f-cell-f4161c96.js');
8
+ const fCell = require('./f-cell-c5a85032.js');
9
9
  const fButton = require('./f-button-54d0f017.js');
10
10
  require('./kup-dates-3fc9697c.js');
11
11
  require('./f-checkbox-4e8f39f8.js');
@@ -109,24 +109,8 @@ const FCellOptions = (props) => {
109
109
  if (props.cell.shape === kupManager.FCellShapes.TEXT_FIELD) {
110
110
  mappedProps.cell.value = mappedProps.cell.data.value;
111
111
  }
112
- const label = getLabelComponent(mappedProps.cell, mappedProps.column.title);
113
- if (label) {
114
- return (index.h("div", { class: { 'input-panel__label_container': true } },
115
- label,
116
- index.h(fCell.FCell, Object.assign({}, mappedProps))));
117
- }
118
112
  return index.h(fCell.FCell, Object.assign({}, mappedProps));
119
113
  };
120
- const getLabelComponent = (cell, label) => {
121
- if (!label) {
122
- return null;
123
- }
124
- const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);
125
- if (cellType === kupManager.FCellTypes.RADIO) {
126
- return index.h("span", null, label);
127
- }
128
- return null;
129
- };
130
114
  const generateColumn = (data) => {
131
115
  const colname = data && data.obj && data.obj.t
132
116
  ? data.obj.t + ';' + data.obj.p
@@ -193,8 +177,6 @@ const mapData = (cell, col) => {
193
177
  const dataAdapterMap = new Map([
194
178
  [kupManager.FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(undefined)],
195
179
  [kupManager.FCellTypes.STRING, MainITXAdapter.bind(undefined)],
196
- [kupManager.FCellTypes.RADIO, MainRADAdapter.bind(undefined)],
197
- [kupManager.FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(undefined)],
198
180
  [kupManager.FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(undefined)],
199
181
  ]);
200
182
  const adapter = dataAdapterMap.get(cellType);
@@ -202,9 +184,6 @@ const mapData = (cell, col) => {
202
184
  ? adapter(options, fieldLabel, currentValue, cell, col.name)
203
185
  : null;
204
186
  };
205
- const MainRADAdapter = (options, _fieldLabel, currentValue) => {
206
- return kupManager.RADAdapter(currentValue, options);
207
- };
208
187
  const MainITXAdapter = (options, _fieldLabel, _currentValue, _cell) => {
209
188
  if (options === null || options === void 0 ? void 0 : options[0]) {
210
189
  return {
@@ -393,14 +372,14 @@ const KupCell = class {
393
372
  renderKup: true,
394
373
  row: this.generateRow(),
395
374
  };
396
- return (index.h(index.Host, { key: '613f74ee646f0f1c8de4dc02f320336bd9fcdfc4' }, index.h("style", { key: 'f166a64528ad71af6542e326c0187e757abb7f58' }, __classPrivateFieldGet(this, _KupCell_kupManager, "f").theme.setKupStyle(this.rootElement)), index.h("div", { key: 'af628d483659ebd18d60f008a2e5812385822881', id: GenericVariables.componentWrapperId, style: this.showSubmit
375
+ return (index.h(index.Host, { key: 'a4505e4d7ffa3784c6f5762f2b5a53e50cc5a627' }, index.h("style", { key: '83795fa9a931b49588e77d60b32bc27c0c11b203' }, __classPrivateFieldGet(this, _KupCell_kupManager, "f").theme.setKupStyle(this.rootElement)), index.h("div", { key: '5fb3f00c4c3b543442084ab8231b232188296473', id: GenericVariables.componentWrapperId, style: this.showSubmit
397
376
  ? {
398
377
  display: 'flex',
399
378
  'flex-direction': this.submitPosition,
400
379
  'align-items': 'center',
401
380
  gap: '0.5rem',
402
381
  }
403
- : {} }, index.h(FCellOptions, Object.assign({ key: '7354ed951db1e14693f6406dbc29ff1ad587a055' }, props)), this.showSubmit ? (index.h(fButton.FButton, { buttonType: "submit", label: __classPrivateFieldGet(this, _KupCell_kupManager, "f").language.translate(kupManager.KupLanguageGeneric.CONFIRM), wrapperClass: "form__submit", onClick: (e) => {
382
+ : {} }, index.h(FCellOptions, Object.assign({ key: '5875cef585519fef471a0566cb448bf4d96d26ed' }, props)), this.showSubmit ? (index.h(fButton.FButton, { buttonType: "submit", label: __classPrivateFieldGet(this, _KupCell_kupManager, "f").language.translate(kupManager.KupLanguageGeneric.CONFIRM), wrapperClass: "form__submit", onClick: (e) => {
404
383
  this.submitClick(e);
405
384
  } })) : null)));
406
385
  }
@@ -1 +1 @@
1
- {"file":"kup-cell.entry.cjs.js","mappings":"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","names":["this","FCellShapes","h","FCell","FCellTypes","CMBandACPAdapter","RADAdapter","kupManagerInstance","FCellPadding","getProps","forceUpdate","setProps","componentWrapperId","KupDragEffect","KupLanguageGeneric","Host","FButton"],"sources":["src/components/kup-cell/kup-cell-declarations.ts","src/f-components/f-cell-options.tsx/f-cell-options.tsx","src/components/kup-cell/kup-cell.scss?tag=kup-cell&encapsulation=shadow","src/components/kup-cell/kup-cell.tsx"],"sourcesContent":["import { KupDataCell, KupEventPayload } from '../../components';\nimport { KupDataCellOptions } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-cell component.\n * Used to export every prop in an object.\n */\nexport enum KupCellProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the cell.',\n density = \"The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\",\n dragEnabled = 'When set to true, the component is draggable.',\n}\n\nexport enum KupCellSubmitButtonPosition {\n top = 'column-reverse',\n bottom = 'column',\n left = 'row-reverse',\n right = 'row',\n}\n\nexport interface KupCellSubmitClickEventPayload extends KupEventPayload {\n cell: KupDataCellOptions;\n}\n","import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport { GenericObject, KupDataColumn } from '../../components';\nimport { CMBandACPAdapter, RADAdapter } from '../../utils/cell-utils';\nimport {\n FCellOptionsProps,\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../f-cell/f-cell-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCell } from '../f-cell/f-cell';\n\nconst dom: KupDom = document.documentElement as KupDom;\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 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 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\nexport const FCellOptions: FunctionalComponent<FCellOptionsProps> = (\n props: FCellOptionsProps\n) => {\n const mappedCell = props.cell\n ? {\n ...props.cell,\n data: setProps(props.cell, props.column),\n slotData: slotData(props.cell, props.column),\n isEditable: true,\n }\n : null;\n\n const mappedProps: FCellProps = {\n ...props,\n editable: true,\n cell: mappedCell as KupDataCell,\n column: generateColumn(mappedCell.data),\n row: generateRow(mappedCell.data),\n };\n\n if (props.cell.shape === FCellShapes.TEXT_FIELD) {\n mappedProps.cell.value = mappedProps.cell.data.value;\n }\n\n const label = getLabelComponent(mappedProps.cell, mappedProps.column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...mappedProps} />\n </div>\n );\n }\n return <FCell {...mappedProps}></FCell>;\n};\n\nconst getLabelComponent = (cell: KupDataCell, label: string) => {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n};\n\nconst generateColumn = (data: GenericObject): KupDataColumn => {\n const colname: string =\n data && data.obj && data.obj.t\n ? data.obj.t + ';' + data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n data && data.obj && data.obj.t\n ? data.obj.t + ';' + data.obj.p\n : 'genericEmptyObject';\n return {\n name: colname,\n title: coltitle,\n };\n};\n\nconst generateRow = (data: GenericObject): KupDataRow => {\n const col: KupDataColumn = generateColumn(data);\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = data.cell;\n return row;\n};\n\nconst slotData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.isEditable) {\n return null;\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...CMBandACPAdapter(\n null,\n col.title,\n cell.options\n // cell,\n // col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.isEditable,\n id: col.name,\n };\n }\n\n return null;\n};\n\nconst setProps = (cell: KupDataCellOptions, column: KupDataColumn) => {\n const defaultProps = {\n ...mapData(cell, column),\n disabled: !cell.isEditable,\n id: column.name,\n };\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n};\n\nconst deepObjectsMerge = (target: GenericObject, source: GenericObject) => {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n _cell: KupDataCellOptions\n) => {\n if (options?.[0]) {\n return {\n value: options[0].label,\n };\n }\n};\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n","/**\n* @prop --kup-cell-background: Sets the background of the cell.\n* @prop --kup-cell-font-family: Sets the font family of the cell.\n* @prop --kup-cell-font-family-monospace: Sets the monospace font family of the cell (for numbers).\n* @prop --kup-cell-font-size: Sets the font size of the cell.\n* @prop --kup-cell-text-color: Sets the text color of the cell.\n*\n* NOTE: These variables are defined in the \"kup-theme.css\" file, because they must work even without the kup component (it's a functional component)\n*\n*/\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n#kup-component {\n height: 100%;\n width: 100%;\n}\n","import {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Event,\n EventEmitter,\n Method,\n Prop,\n} from '@stencil/core';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n KupCellProps,\n KupCellSubmitButtonPosition,\n KupCellSubmitClickEventPayload,\n} from './kup-cell-declarations';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellOptionsProps,\n FCellPadding,\n FCellProps,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport {\n KupDragDataTransferCallback,\n KupDragEffect,\n} from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCellOptions } from '../../f-components/f-cell-options.tsx/f-cell-options';\nimport { FButton } from '../../f-components/f-button/f-button';\n\n@Component({\n tag: 'kup-cell',\n styleUrl: 'kup-cell.scss',\n shadow: true,\n})\nexport class KupCell {\n /**\n * References the root HTML element of the component (<kup-text-field>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * The data of the cell.\n * @default false\n */\n @Prop() data: KupDataCell = null;\n /**\n * The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\n */\n @Prop() density: FCellPadding = FCellPadding.NONE;\n /**\n * When set to true, the component is draggable.\n * @default false\n */\n @Prop() dragEnabled: boolean = false;\n\n /**\n * Show submit button\n */\n @Prop() showSubmit: boolean = false;\n\n /**\n * Submit button position, default is right\n */\n @Prop() submitPosition: KupCellSubmitButtonPosition =\n KupCellSubmitButtonPosition.right;\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n /**\n * Instance of the KupManager class.\n */\n #kupManager: KupManager = kupManagerInstance();\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n @Event({\n eventName: 'kup-cell-submit-click',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCellSubmitClick: EventEmitter<KupCellSubmitClickEventPayload>;\n\n /**\n * Adds the given CSS classes to the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async addCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n this.data.cssClass = '';\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) < 0) {\n this.data.cssClass += ` ${cssClass}`;\n }\n }\n }\n this.refresh();\n }\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupCellProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Removes the given CSS classes from the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async removeCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n return;\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) > 0) {\n this.data.cssClass = this.data.cssClass.replace(\n new RegExp(cssClass, 'g'),\n ''\n );\n }\n }\n }\n this.refresh();\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupCellProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private didRenderInteractables() {\n if (this.dragEnabled) {\n const dataCb: KupDragDataTransferCallback = () => {\n return {\n cell: this.data,\n column: this.generateColumn(),\n id: this.rootElement.id,\n multiple: false,\n row: this.generateRow(),\n };\n };\n\n this.#kupManager.interact.draggable(\n this.rootElement.shadowRoot.querySelector(\n '#' + componentWrapperId\n ),\n {\n cursorChecker() {\n return null;\n },\n },\n {\n callback: dataCb,\n },\n KupDragEffect.BADGE\n );\n }\n }\n\n private generateColumn(): KupDataColumn {\n const colname: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_OBJECT\n );\n return {\n name: colname,\n title: coltitle,\n };\n }\n\n private generateRow(): KupDataRow {\n const col: KupDataColumn = this.generateColumn();\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = this.data;\n return row;\n }\n\n private submitClick(e: MouseEvent): void {\n e.stopPropagation();\n this.kupCellSubmitClick.emit({\n comp: this,\n id: this.rootElement.id,\n cell: this.data as KupDataCellOptions,\n });\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.dates.register(this);\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n }\n\n componentDidLoad() {\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.didRenderInteractables();\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const props: FCellOptionsProps = {\n cell: this.data as KupDataCellOptions,\n column: this.generateColumn(),\n component: this,\n density: this.density,\n editable: this.data.isEditable,\n renderKup: true,\n row: this.generateRow(),\n };\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div\n id={componentWrapperId}\n style={\n this.showSubmit\n ? {\n display: 'flex',\n 'flex-direction': this.submitPosition,\n 'align-items': 'center',\n gap: '0.5rem',\n }\n : {}\n }\n >\n <FCellOptions {...props}></FCellOptions>\n {this.showSubmit ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n onClick={(e) => {\n this.submitClick(e);\n }}\n ></FButton>\n ) : null}\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.dates.unregister(this);\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n}\n"],"version":3}
1
+ {"file":"kup-cell.entry.cjs.js","mappings":"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","names":["this","FCellShapes","h","FCell","FCellTypes","CMBandACPAdapter","kupManagerInstance","FCellPadding","getProps","forceUpdate","setProps","componentWrapperId","KupDragEffect","KupLanguageGeneric","Host","FButton"],"sources":["src/components/kup-cell/kup-cell-declarations.ts","src/f-components/f-cell-options.tsx/f-cell-options.tsx","src/components/kup-cell/kup-cell.scss?tag=kup-cell&encapsulation=shadow","src/components/kup-cell/kup-cell.tsx"],"sourcesContent":["import { KupDataCell, KupEventPayload } from '../../components';\nimport { KupDataCellOptions } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-cell component.\n * Used to export every prop in an object.\n */\nexport enum KupCellProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the cell.',\n density = \"The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\",\n dragEnabled = 'When set to true, the component is draggable.',\n}\n\nexport enum KupCellSubmitButtonPosition {\n top = 'column-reverse',\n bottom = 'column',\n left = 'row-reverse',\n right = 'row',\n}\n\nexport interface KupCellSubmitClickEventPayload extends KupEventPayload {\n cell: KupDataCellOptions;\n}\n","import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport { GenericObject, KupDataColumn } from '../../components';\nimport { CMBandACPAdapter } from '../../utils/cell-utils';\nimport {\n FCellOptionsProps,\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../f-cell/f-cell-declarations';\nimport { DataAdapterFn } from '../../components/kup-input-panel/kup-input-panel-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCell } from '../f-cell/f-cell';\n\nconst dom: KupDom = document.documentElement as KupDom;\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 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 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\nexport const FCellOptions: FunctionalComponent<FCellOptionsProps> = (\n props: FCellOptionsProps\n) => {\n const mappedCell = props.cell\n ? {\n ...props.cell,\n data: setProps(props.cell, props.column),\n slotData: slotData(props.cell, props.column),\n isEditable: true,\n }\n : null;\n\n const mappedProps: FCellProps = {\n ...props,\n editable: true,\n cell: mappedCell as KupDataCell,\n column: generateColumn(mappedCell.data),\n row: generateRow(mappedCell.data),\n };\n\n if (props.cell.shape === FCellShapes.TEXT_FIELD) {\n mappedProps.cell.value = mappedProps.cell.data.value;\n }\n\n return <FCell {...mappedProps}></FCell>;\n};\n\nconst generateColumn = (data: GenericObject): KupDataColumn => {\n const colname: string =\n data && data.obj && data.obj.t\n ? data.obj.t + ';' + data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n data && data.obj && data.obj.t\n ? data.obj.t + ';' + data.obj.p\n : 'genericEmptyObject';\n return {\n name: colname,\n title: coltitle,\n };\n};\n\nconst generateRow = (data: GenericObject): KupDataRow => {\n const col: KupDataColumn = generateColumn(data);\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = data.cell;\n return row;\n};\n\nconst slotData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.isEditable) {\n return null;\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...CMBandACPAdapter(\n null,\n col.title,\n cell.options\n // cell,\n // col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.isEditable,\n id: col.name,\n };\n }\n\n return null;\n};\n\nconst setProps = (cell: KupDataCellOptions, column: KupDataColumn) => {\n const defaultProps = {\n ...mapData(cell, column),\n disabled: !cell.isEditable,\n id: column.name,\n };\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n};\n\nconst deepObjectsMerge = (target: GenericObject, source: GenericObject) => {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n _cell: KupDataCellOptions\n) => {\n if (options?.[0]) {\n return {\n value: options[0].label,\n };\n }\n};\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n","/**\n* @prop --kup-cell-background: Sets the background of the cell.\n* @prop --kup-cell-font-family: Sets the font family of the cell.\n* @prop --kup-cell-font-family-monospace: Sets the monospace font family of the cell (for numbers).\n* @prop --kup-cell-font-size: Sets the font size of the cell.\n* @prop --kup-cell-text-color: Sets the text color of the cell.\n*\n* NOTE: These variables are defined in the \"kup-theme.css\" file, because they must work even without the kup component (it's a functional component)\n*\n*/\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n#kup-component {\n height: 100%;\n width: 100%;\n}\n","import {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Event,\n EventEmitter,\n Method,\n Prop,\n} from '@stencil/core';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n KupCellProps,\n KupCellSubmitButtonPosition,\n KupCellSubmitClickEventPayload,\n} from './kup-cell-declarations';\nimport {\n FCellOptionsProps,\n FCellPadding,\n FCellShapes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport {\n KupDragDataTransferCallback,\n KupDragEffect,\n} from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCellOptions } from '../../f-components/f-cell-options.tsx/f-cell-options';\nimport { FButton } from '../../f-components/f-button/f-button';\n\n@Component({\n tag: 'kup-cell',\n styleUrl: 'kup-cell.scss',\n shadow: true,\n})\nexport class KupCell {\n /**\n * References the root HTML element of the component (<kup-text-field>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * The data of the cell.\n * @default false\n */\n @Prop() data: KupDataCell = null;\n /**\n * The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\n */\n @Prop() density: FCellPadding = FCellPadding.NONE;\n /**\n * When set to true, the component is draggable.\n * @default false\n */\n @Prop() dragEnabled: boolean = false;\n\n /**\n * Show submit button\n */\n @Prop() showSubmit: boolean = false;\n\n /**\n * Submit button position, default is right\n */\n @Prop() submitPosition: KupCellSubmitButtonPosition =\n KupCellSubmitButtonPosition.right;\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n /**\n * Instance of the KupManager class.\n */\n #kupManager: KupManager = kupManagerInstance();\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n @Event({\n eventName: 'kup-cell-submit-click',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCellSubmitClick: EventEmitter<KupCellSubmitClickEventPayload>;\n\n /**\n * Adds the given CSS classes to the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async addCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n this.data.cssClass = '';\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) < 0) {\n this.data.cssClass += ` ${cssClass}`;\n }\n }\n }\n this.refresh();\n }\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupCellProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Removes the given CSS classes from the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async removeCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n return;\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) > 0) {\n this.data.cssClass = this.data.cssClass.replace(\n new RegExp(cssClass, 'g'),\n ''\n );\n }\n }\n }\n this.refresh();\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupCellProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private didRenderInteractables() {\n if (this.dragEnabled) {\n const dataCb: KupDragDataTransferCallback = () => {\n return {\n cell: this.data,\n column: this.generateColumn(),\n id: this.rootElement.id,\n multiple: false,\n row: this.generateRow(),\n };\n };\n\n this.#kupManager.interact.draggable(\n this.rootElement.shadowRoot.querySelector(\n '#' + componentWrapperId\n ),\n {\n cursorChecker() {\n return null;\n },\n },\n {\n callback: dataCb,\n },\n KupDragEffect.BADGE\n );\n }\n }\n\n private generateColumn(): KupDataColumn {\n const colname: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_OBJECT\n );\n return {\n name: colname,\n title: coltitle,\n };\n }\n\n private generateRow(): KupDataRow {\n const col: KupDataColumn = this.generateColumn();\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = this.data;\n return row;\n }\n\n private submitClick(e: MouseEvent): void {\n e.stopPropagation();\n this.kupCellSubmitClick.emit({\n comp: this,\n id: this.rootElement.id,\n cell: this.data as KupDataCellOptions,\n });\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.dates.register(this);\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n }\n\n componentDidLoad() {\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.didRenderInteractables();\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const props: FCellOptionsProps = {\n cell: this.data as KupDataCellOptions,\n column: this.generateColumn(),\n component: this,\n density: this.density,\n editable: this.data.isEditable,\n renderKup: true,\n row: this.generateRow(),\n };\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div\n id={componentWrapperId}\n style={\n this.showSubmit\n ? {\n display: 'flex',\n 'flex-direction': this.submitPosition,\n 'align-items': 'center',\n gap: '0.5rem',\n }\n : {}\n }\n >\n <FCellOptions {...props} />\n {this.showSubmit ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n onClick={(e) => {\n this.submitClick(e);\n }}\n ></FButton>\n ) : null}\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.dates.unregister(this);\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n}\n"],"version":3}