@sme.up/ketchup 11.0.0-SNAPSHOT-20241204091728 → 11.0.0-SNAPSHOT-20241204093112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{f-cell-99beffaa.js → f-cell-dbd52f82.js} +5 -1
- package/dist/cjs/f-cell-dbd52f82.js.map +1 -0
- package/dist/cjs/kup-autocomplete_28.cjs.entry.js +1 -1
- package/dist/cjs/kup-box.cjs.entry.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +1 -1
- package/dist/cjs/kup-image-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-input-panel.cjs.entry.js +6 -4
- package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
- package/dist/collection/components/kup-input-panel/kup-input-panel.js +5 -3
- package/dist/collection/components/kup-input-panel/kup-input-panel.js.map +1 -1
- package/dist/collection/f-components/f-cell/f-cell.js +4 -0
- package/dist/collection/f-components/f-cell/f-cell.js.map +1 -1
- package/dist/components/kup-accordion.js +1 -1
- package/dist/components/kup-activity-timeline.js +1 -1
- package/dist/components/kup-autocomplete.js +1 -1
- package/dist/components/kup-badge.js +1 -1
- package/dist/components/kup-box.js +1 -1
- package/dist/components/kup-button-list.js +1 -1
- package/dist/components/kup-button.js +1 -1
- package/dist/components/kup-calendar.js +1 -1
- package/dist/components/kup-card-list.js +2 -2
- package/dist/components/kup-card.js +1 -1
- package/dist/components/kup-cell.js +1 -1
- package/dist/components/kup-chart.js +1 -1
- package/dist/components/kup-checkbox.js +1 -1
- package/dist/components/kup-chip.js +1 -1
- package/dist/components/kup-color-picker.js +1 -1
- package/dist/components/kup-combobox.js +1 -1
- package/dist/components/kup-dashboard.js +1 -1
- package/dist/components/kup-data-table.js +1 -1
- package/dist/components/kup-date-picker.js +1 -1
- package/dist/components/kup-dialog.js +1 -1
- package/dist/components/kup-drawer.js +1 -1
- package/dist/components/kup-dropdown-button.js +1 -1
- package/dist/components/kup-echart.js +1 -1
- package/dist/components/kup-editor.js +1 -1
- package/dist/components/kup-family-tree.js +2 -2
- package/dist/components/kup-form.js +1 -1
- package/dist/components/kup-gauge.js +1 -1
- package/dist/components/kup-grid.js +1 -1
- package/dist/components/kup-htm.js +1 -1
- package/dist/components/kup-iframe.js +1 -1
- package/dist/components/kup-image-list.js +1 -1
- package/dist/components/kup-image.js +1 -1
- package/dist/components/kup-input-panel.js +7 -5
- package/dist/components/kup-input-panel.js.map +1 -1
- package/dist/components/kup-lazy.js +1 -1
- package/dist/components/kup-list.js +1 -1
- package/dist/components/kup-magic-box.js +3 -3
- package/dist/components/kup-nav-bar.js +1 -1
- package/dist/components/kup-numeric-picker.js +1 -1
- package/dist/components/kup-pdf.js +1 -1
- package/dist/components/kup-photo-frame.js +1 -1
- package/dist/components/kup-planner.js +1 -1
- package/dist/components/kup-probe.js +1 -1
- package/dist/components/kup-progress-bar.js +1 -1
- package/dist/components/kup-qlik.js +1 -1
- package/dist/components/kup-radio.js +1 -1
- package/dist/components/kup-rating.js +1 -1
- package/dist/components/kup-snackbar.js +1 -1
- package/dist/components/kup-spinner.js +1 -1
- package/dist/components/kup-switch.js +1 -1
- package/dist/components/kup-tab-bar.js +1 -1
- package/dist/components/kup-text-field.js +1 -1
- package/dist/components/kup-time-picker.js +1 -1
- package/dist/components/kup-toolbar.js +1 -1
- package/dist/components/kup-tree.js +1 -1
- package/dist/components/kup-txt.js +1 -1
- package/dist/components/kup-typography-list.js +1 -1
- package/dist/components/kup-typography.js +1 -1
- package/dist/components/{p-305c601e.js → p-0707faea.js} +5 -1
- package/dist/components/p-0707faea.js.map +1 -0
- package/dist/components/{p-041b4e77.js → p-38548546.js} +2 -2
- package/dist/components/{p-041b4e77.js.map → p-38548546.js.map} +1 -1
- package/dist/components/{p-ca75f1f1.js → p-8d00db3c.js} +2 -2
- package/dist/components/{p-ca75f1f1.js.map → p-8d00db3c.js.map} +1 -1
- package/dist/components/{p-bec9b052.js → p-b3c9cd25.js} +2 -2
- package/dist/components/{p-bec9b052.js.map → p-b3c9cd25.js.map} +1 -1
- package/dist/components/{p-2f338b48.js → p-c85d72a8.js} +2 -2
- package/dist/components/{p-2f338b48.js.map → p-c85d72a8.js.map} +1 -1
- package/dist/esm/{f-cell-722848d6.js → f-cell-3992d1cd.js} +5 -1
- package/dist/esm/f-cell-3992d1cd.js.map +1 -0
- package/dist/esm/kup-autocomplete_28.entry.js +1 -1
- package/dist/esm/kup-box.entry.js +1 -1
- package/dist/esm/kup-cell.entry.js +1 -1
- package/dist/esm/kup-image-list.entry.js +1 -1
- package/dist/esm/kup-input-panel.entry.js +6 -4
- package/dist/esm/kup-input-panel.entry.js.map +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/{p-992ae993.entry.js → p-08a9e442.entry.js} +2 -2
- package/dist/ketchup/{p-b13bbd08.entry.js → p-0b87c294.entry.js} +2 -2
- package/dist/ketchup/{p-1b4b1e95.js → p-2b5455ee.js} +2 -2
- package/dist/ketchup/{p-1b4b1e95.js.map → p-2b5455ee.js.map} +1 -1
- package/dist/ketchup/{p-9c210f92.entry.js → p-780f18f5.entry.js} +2 -2
- package/dist/ketchup/{p-c88ab499.entry.js → p-98518099.entry.js} +2 -2
- package/dist/ketchup/p-98518099.entry.js.map +1 -0
- package/dist/ketchup/{p-3500f91c.entry.js → p-d50d7049.entry.js} +2 -2
- package/package.json +1 -1
- package/dist/cjs/f-cell-99beffaa.js.map +0 -1
- package/dist/components/p-305c601e.js.map +0 -1
- package/dist/esm/f-cell-722848d6.js.map +0 -1
- package/dist/ketchup/p-c88ab499.entry.js.map +0 -1
- /package/dist/ketchup/{p-992ae993.entry.js.map → p-08a9e442.entry.js.map} +0 -0
- /package/dist/ketchup/{p-b13bbd08.entry.js.map → p-0b87c294.entry.js.map} +0 -0
- /package/dist/ketchup/{p-9c210f92.entry.js.map → p-780f18f5.entry.js.map} +0 -0
- /package/dist/ketchup/{p-3500f91c.entry.js.map → p-d50d7049.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"f-cell-722848d6.js","mappings":";;;;;;;;;AAIA;;;;IAIY;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,EAbW,YAAY,KAAZ,YAAY,QAavB;AASD;;;IAGY;AAAZ,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;IACzB,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;IAMW;AAAZ,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;AACjC,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB;;AC3B5B;;;;;;IAOY;AAAZ,WAAY,aAAa;IACrB,gCAAe,CAAA;IACf,kCAAiB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa;;ACpBzB;AACA;AACA;MAEa,OAAO,GAAsC,CACtD,KAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACf,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;KACvC;IACwB,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,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,QACI,yBACI,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;QAElB,WACI,KAAK,EAAE,cACH,KAAK,CAAC,YAAY,GAAG,uBAAuB,GAAG,EACnD,EAAE;YAEF,WAAK,KAAK,EAAE,QAAQ;gBAChB,WAAK,KAAK,EAAC,eAAe,GAAO;gBACjC,WAAK,KAAK,EAAC,wBAAwB;oBAC/B,WAAK,KAAK,EAAC,eAAe;wBACtB,aACI,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;YACN,aAAO,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,GAAG,YAAM,KAAK,EAAC,OAAO,IAAE,KAAK,CAAC,KAAK,CAAQ,CAAC;iBACpD;qBAAM;oBACH,KAAK,IACD,YAAM,KAAK,EAAC,OAAO;wBACd,KAAK,CAAC,KAAK;wBACZ,YAAM,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,QACI,WAAK,KAAK,EAAE,cAAc;YACrB,KAAK;YACN,WAAK,KAAK,EAAE,QAAQ;gBAChB,WACI,KAAK,EAAE,WAAW,EAClB,KAAK,EAAC,uBAAuB,GAC1B;gBACP,WAAK,KAAK,EAAC,wBAAwB,GAAO,CACxC;YACN,WAAK,KAAK,EAAC,QAAQ,GAAO,CACxB,EACR;KACL;SAAM;QACH,QACI,WAAK,KAAK,EAAE,cAAc;YACtB,WAAK,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAE,UAAU;gBAClD,YAAM,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,QACI,YAAM,KAAK,EAAC,yBAAyB;YACjC,WAAK,GAAG,EAAE,KAAK,CAAC,IAAI,GAAQ,CACzB,EACT;KACL;SAAM;QACH,IAAI,GAAG,GAAW,QAAQ,YAAY,CAClC,gBAAgB,KAAK,CAAC,IAAI,MAAM,CACnC,qBAAqB,CAAC;QACvB,IAAI,SAAS,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,GAAG;SAClB,CAAC;QACF,OAAO,YAAM,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,CACV,WACI,KAAK,EAAE;oBACH,KAAK,CAAC,YAAY,GAAG,wBAAwB,GAAG,EAAE,IAClD,KAAK,CAAC,QAAQ,GAAG,iBAAiB,GAAG,EACzC,EAAE;YAEF,WAAK,KAAK,EAAE,QAAQ;gBACf,SAAS,KAAK,UAAU,CAAC,KAAK,IAC3B,aACI,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,KAET,EAAC,QAAQ,QACJ,IAAI,CAAC,OAAO,IACT,EAAC,MAAM,IACH,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,GACN,KAEV,EAAC,MAAM,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,CACM,CACd;gBACA,SAAS,KAAK,UAAU,CAAC,KAAK,KAC3B,WAAK,KAAK,EAAC,mBAAmB;oBAC1B,WAAK,KAAK,EAAC,qBAAqB,GAAO;oBACvC,WAAK,KAAK,EAAC,qBAAqB,GAAO,CACrC,CACT,CACC;YACN,aACI,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,QACI,WACI,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;;ACvHA;AACA;AACA;MAEa,OAAO,GAAsC,CACtD,KAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACtB;IACD,QACI,WACI,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,CACN,YACI,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,CACN,YACI,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;;ACQA,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;IAC5D,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,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;cAChB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;cAChB,EAAE,CAAC;IAET,IAAK,KAAK,CAAC,SAA0B,CAAC,UAAU,EAAE;QAC9C,UAAU,IAAI,kBAAkB,CAAC;KACpC;IACD,MAAM,QAAQ,GAA4B;QACtC,QAAQ,EAAE,IAAI;QACd,CAAC,YAAY,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,KAAK,UAAU,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK;QAC/D,CAAC,UAAU,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK;QACvC,mBAAmB,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC3C,mBAAmB,EAAE,gBAAgB,CAAC,IAAI,CAAC;KAC9C,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,IAAI,aAAa,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,IAAI,QAAQ,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,GAAG,YAAM,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,YAAY,mBAAmB,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,GAAG,EAAC,MAAM,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,OAAO,mBAAmB,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,GAAG,EAAC,MAAM,oBAAK,MAAM,EAAI,CAAC;KACnC;IAED,QACI,WACI,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,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;QAEjB,WACI,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,KAAK,EAAE,SAAS;YAEf,KAAK,CAAC,cAAc,KACjB,EAAC,MAAM,IACH,QAAQ,EAAC,WAAW,EACpB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,EACZ,YAAY,EAAE,wBACV,QAAQ,KAAK,UAAU,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,MAAqB;IAC5D,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,IAAI,CAAC;KACf;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,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,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QACnD,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QAC9C,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QAC7C,CAAC,UAAU,CAAC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QAC1D,CAAC,UAAU,CAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QACtD,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QAChD,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;QACjD,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,OAAsB,EACtB,WAAmB,EACnB,aAAqB,EACrB,IAAuB;IAEvB,MAAM,OAAO,GAAG;QACZ,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;cACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAAM,MAAM;gBACtB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,EAAE;aACnB,CAAC,CAAC;cACH,EAAE;KACX,CAAC;IACF,IAAI,CAAC,IAAI,mCAAQ,IAAI,CAAC,IAAI,GAAK,OAAO,CAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACtB,QAAuB,EACvB,UAAkB,EAClB,YAAoB,EACpB,KAAwB,EACxB,GAAW,MACT;IACF,IAAI,EAAE;QACF,YAAY,EAAE,YAAY,IAAI,EAAE;QAChC,KAAK,EAAE,UAAU,IAAI,EAAE;QACvB,KAAK,EAAE,YAAY,IAAI,EAAE;KAC5B;CACJ,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CACnB,QAAuB,EACvB,UAAkB,EAClB,YAAoB,EACpB,IAAwB,sCAErB,IAAI,CAAC,IAAI,KACZ,OAAO,EAAE,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,GAAG,EACtD,KAAK,EAAE,UAAU,IACnB,CAAC;AAEH,MAAM,cAAc,GAAG,CACnB,QAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,IAAwB,MACtB;IACF,IAAI,EAAE;wCAEK,IAAI,CAAC,IAAI,KACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,YAAY;KAE1B;CACJ,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CACnB,QAAuB,EACvB,UAAkB,EAClB,aAAqB,EACrB,IAAwB,sCAErB,IAAI,CAAC,IAAI,KACZ,KAAK,EAAE,UAAU,IACnB,CAAC;AAEH,MAAM,cAAc,GAAG,CACnB,OAAsB,EACtB,WAAmB,EACnB,YAAoB,EACpB,IAAyB;IAEzB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,mCAAQ,IAAI,CAAC,IAAI,GAAK,OAAO,CAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CACzB,OAAsB,EACtB,UAAkB,EAClB,YAAoB,EACpB,IAAwB,EACxB,GAAW;;IAEX,IAAI,EAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAA,IAAI,OAAO,EAAE;QAC7B,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACtE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,uBAAuB,CAC1D,OAAO,EACP,YAAY,CACf,CAAC;QACF,OAAO,cAAc,CAAC;KACzB;AACL,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,CAACA,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,KAAK,UAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,UAAU,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,KAAK,UAAU,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;gBACjD,WAAW,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;gBACrD,WAAW,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,KAAK,UAAU,CAAC,GAAG;YACf,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,MAAM;QACV,KAAK,UAAU,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,KAAK,UAAU,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,KAAK,UAAU,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,KAAK,UAAU,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,KAAK,UAAU,CAAC,YAAY;YACxB,QACI,sCACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,8BAC5B,CACtB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,kCACvB,CAC1B,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,IAC5D,EACJ;QACN,KAAK,UAAU,CAAC,QAAQ;YACpB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,cAAc,EAAE;gBAC3C,QACI,aACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,EAErD,IAAI,EAAC,UAAU,GACV,EACX;aACL;iBAAM;gBACH,QACI,EAAC,SAAS,oBACF,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,IAEvD,EACJ;aACL;QACL,KAAK,UAAU,CAAC,IAAI;YAChB,QACI,gCACQ,IAAI,CAAC,IAAI,IACb,IAAI,EAAE,SAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;gBAEtD,oCACI,SAAS,EAAE,IAAI,EACf,IAAI,EAAC,OAAO,IACR,IAAI,CAAC,QAAQ,IACjB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IACR,CACX,EACb;QACN,KAAK,UAAU,CAAC,YAAY;YACxB,QACI,sCACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,IACtC,EACtB;QACN,KAAK,UAAU,CAAC,QAAQ;YACpB,QACI,kCACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,0BAChC,CAClB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,8BAC3B,CACtB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,IAC5D,EACJ;QACN,KAAK,UAAU,CAAC,IAAI;YAChB,QACI,qCACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,4BAC9B,CACpB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IACvD,EACJ;QACN,KAAK,UAAU,CAAC,kBAAkB;YAC9B,QACI,8BACI,SAAS,EAAE,IAAI,IACX,IAAI,CAAC,IAAI,IACb,IAAI,EAAE,SAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;gBAEtD,sCACI,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,gBAAgB,CAAC,oBAAoB,EAClD,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,8BACvB,CACtB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,kCACvB,CAC1B,CAAuC,KAEvC,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACR,WAAW,CAAC,UAAU,CACzB,EAEL,gBAAgB,EAAE,KAAK,IACnB,IAAI,CAAC,QAAQ,IACjB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IACN,CACb,EACb;QACN,KAAK,UAAU,CAAC,cAAc;YAC1B,QACI,8BACI,SAAS,EAAE,IAAI,IACX,IAAI,CAAC,IAAI,IACb,IAAI,EAAE,SAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;gBAEtD,kCACI,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,gBAAgB,CAAC,oBAAoB,EAClD,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,0BAC3B,CAClB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,8BAC3B,CACtB,CAAuC,KAEvC,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACR,WAAW,CAAC,UAAU,CACzB,IAED,IAAI,CAAC,QAAQ,IACjB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IACV,CACT,EACb;QACN,KAAK,UAAU,CAAC,KAAK;YACjB,QACI,EAAC,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,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;iBACrD,IACK,EACZ;QACN,KAAK,UAAU,CAAC,MAAM;YAClB,QACI,gCACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,IAC5C,EAChB;QACN,KAAK,UAAU,CAAC,MAAM;YAClB,QACI,EAAC,OAAO,oBACA,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,IAE9C,EACb;QACN,KAAK,UAAU,CAAC,IAAI;YAChB,QACI,qCACI,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,EAAE,WAAW,CAAC,MAAM,CAAC,4BAC9B,CACpB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IACvD,EACJ;QACN,KAAK,UAAU,CAAC,MAAM;YAClB,QACI,EAAC,QAAQ;gBACL,EAAC,UAAU,kBACP,IAAI,EAAE,OAAO,IACT,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,WAAW,EAAE,CAAC,CAAC,KACX,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACR,WAAW,CAAC,UAAU,CACzB,IAEK;gBACd,EAAC,OAAO,IACJ,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,CAAC,KACP,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACR,WAAW,CAAC,oBAAoB,CACnC,EAEL,OAAO,EAAE,cAAc,CAAC,IAAI,EAC5B,YAAY,EAAC,qBAAqB,GAC3B,CACJ,EACb;QACN,KAAK,UAAU,CAAC,MAAM;YAClB,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAClD,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,MAAM;YAClB,MAAM,QAAQ,GAAG,CAAC,CAAa,KAC3B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,CAAC,CAAa;gBAC1B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjD,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;aACrD,CAAC;YACF,MAAM,IAAI,GAAG,QAAQ,KAAK,UAAU,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;YAC9D,MAAM,KAAK,GACP,QAAQ,KAAK,UAAU,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,KAAK,WAAW,CAAC,WAAW,EAAE;gBACxC,QACI,aACI,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,QACI,EAAC,UAAU,kBACP,QAAQ,EACJ,CAAC,IAAI,CAAC,KAAK;0BACL,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI;0BAC/B,KAAK;yBACV,QAAQ,GAAG,QAAQ,KAAK,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,EAErD,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,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAC/B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAC/B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,CAAa,KACvB,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACR,WAAW,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,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,UAAU,CAAC,IAAI;YAChB,IAAI,OAAO,IAAI,OAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,OAAO,WAAK,KAAK,EAAC,cAAc,IAAE,SAAS,CAAO,CAAC;aACtD;YACD,OAAO,OAAO,CAAC;QACnB,KAAK,UAAU,CAAC,QAAQ;YACpB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACI,EAAC,MAAM,IACH,QAAQ,EACH,iBAAoC,CAAC,OAAO;sBACvC,WAAW;sBACX,yBAAyB,EAEnC,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,GACd,EACJ;QACN,KAAK,UAAU,CAAC,MAAM;YAClB,OAAO,WAAK,SAAS,EAAE,IAAI,CAAC,KAAK,GAAQ,CAAC;QAC9C,KAAK,UAAU,CAAC,IAAI;YAChB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,IAAK,iBAAiC,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;aAC1C;YACD,OAAO,EAAC,MAAM,oBAAK,iBAAiB,EAAI,CAAC;QAC7C,KAAK,UAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,IAAK,iBAAiC,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;aAC1C;YAED,OAAO,EAAC,MAAM,oBAAK,iBAAiB,EAAI,CAAC;QAE7C,KAAK,UAAU,CAAC,IAAI;YAChB,QACI,SAAG,IAAI,EAAE,OAAiB,EAAE,MAAM,EAAC,QAAQ,IACtC,IAAI,CAAC,KAAK,CACX,EACN;QACN,KAAK,UAAU,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,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,eAAe,GAAG,CAAC,EAAE;oBACrB,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;iBAC7C;gBACD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;oBACvB,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;iBACjD;gBACD,OAAO,WAAK,KAAK,EAAC,cAAc,IAAE,SAAS,CAAO,CAAC;aACtD;YACD,OAAO,WAAK,KAAK,EAAC,cAAc,IAAE,OAAO,CAAO,CAAC;QACrD,KAAK,UAAU,CAAC,MAAM;YAClB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACrC,OAAO,EAAC,OAAO,oBAAK,iBAAiB,EAAY,CAAC;QACtD;YACI,OAAO,WAAK,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,KAAK,UAAU,CAAC,GAAG;YACf,IAAI,CAAE,iBAAiC,CAAC,IAAI,EAAE;gBAC1C,QACI,+BACI,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,QACI,WAAK,KAAK,EAAE,QAAQ;oBAChB,EAAC,MAAM,oBAAK,iBAAiB,EAAI,CAC/B,EACR;aACL;QACL,KAAK,UAAU,CAAC,MAAM;YAClB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACI,EAAC,OAAO,oBACA,iBAAiB,IACrB,OAAO,EAAE,CAAC,CAAC,KACP,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IAE7C,EACb;QACN,KAAK,UAAU,CAAC,WAAW;YACvB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,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,QACI,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACN,EACrB;QACN,KAAK,UAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACI,+BACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACvB,EACJ;QACN,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,IAAI;YAChB,OAAO,EAAC,KAAK,oBAAK,iBAAiB,EAAI,CAAC;QAC5C,KAAK,UAAU,CAAC,YAAY;YACxB,QACI,sCACI,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,KAAK,UAAU,CAAC,KAAK;YACjB,QACI,+BACI,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,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,YAAY;YACxB,OAAO,iBAAiB,CAAC,WAAW,IAChC,sCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACL,KAEpB,EAAC,YAAY,oBAAK,iBAAiB,EAAiB,CACvD,CAAC;QACN,KAAK,UAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC7C,OAAO,EAAC,MAAM,oBAAK,iBAAiB,EAAW,CAAC;QACpD,KAAK,UAAU,CAAC,MAAM;YAClB,OAAO,EAAC,OAAO,oBAAK,iBAAiB,IAAE,QAAQ,EAAE,IAAI,IAAY,CAAC;QACtE,KAAK,UAAU,CAAC,MAAM;YAClB,QACI,EAAC,UAAU,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,KAAK,UAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,UAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;YACtD,MAAM;QAEV,KAAK,UAAU,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,KAAK,UAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,MAAM;QAEV,KAAK,UAAU,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,KAAK,UAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,KAAK;YACjB,aAAa,EAAE,CAAC;YAChB,MAAM;QAEV,KAAK,UAAU,CAAC,YAAY;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;YACpC,MAAM;QAEV,KAAK,UAAU,CAAC,KAAK,CAAC;QACtB,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM;QAEV,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,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,KAAK,WAAW,CAAC,MAAM,EAAE;QACtC,IAAI,KAAK,GAAG,uBAAuB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACxB,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,EAAE,CAAC;SAChC;aAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;YAC/B,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,EAAE,CAAC;SAChC;QACD,QAAQ,QAAQ;YACZ,KAAK,UAAU,CAAC,YAAY,CAAC;YAC7B,KAAK,UAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,UAAU,CAAC,IAAI,CAAC;YACrB,KAAK,UAAU,CAAC,IAAI;gBAChB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;iBACrC;gBACD,MAAM;YACV,KAAK,UAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,UAAU,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,KAAK,UAAU,CAAC,KAAK;gBACjB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAoB,CAAC;oBACjD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3D,IAAI,WAAW,EAAE;wBACb,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;qBAC7B;iBACJ;gBACD,MAAM;YACV,KAAK,UAAU,CAAC,IAAI,CAAC;YACrB,KAAK,UAAU,CAAC,kBAAkB,CAAC;YACnC,KAAK,UAAU,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,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAC;SAClC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,sBAAsB,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;gBACd,UAAU,EAAE,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,OAAO,CAAC,0CAAE,KAAK,KAAI,IAAI;aAClE;SACJ,CAAC,CAAC;QACF,IAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,aAAa,KAAK,WAAW,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,EACL,gBAAgB,CAAC,KAAK,CACzB,CAAC;aACL;SACJ;KACJ;AACL,CAAC;AAED,SAAS,uBAAuB,CAC5B,CAAwD,EACxD,QAAoB;IAEpB,MAAM,YAAY,GAAG,CAAC,EACjB,CAAC,CAAC,MAAsB,CAAC,OAAO,KAAK,OAAO,IAAI,UAAU,CAC9D,CAAC;IACF,IAAI,KAAK,GAAG,YAAY;UACjB,CAAC,CAAC,MAA2B,CAAC,KAAK;UACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAErB,IAAI,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,YAAY,EAAE;QAClD,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;KACjE;IAED,IAAI,QAAQ,KAAK,UAAU,CAAC,MAAM,IAAI,YAAY,EAAE;QAChD,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACrE;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;;IACrC,OAAO,eAAe,CAAC,QAAQ,CAC3B,MAAC,KAAK,CAAC,SAA0B,0CAAE,WAAW,CAAC,OAAsB,CACxE,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;;IAClC,OAAO,oBAAoB,CAAC,QAAQ,CAChC,MAAC,KAAK,CAAC,SAA0B,0CAAE,WAAW,CAAC,OAAsB,CACxE,CAAC;AACN;;;;","names":["this"],"sources":["src/components/kup-list/kup-list-declarations.ts","src/f-components/f-switch/f-switch-declarations.ts","src/f-components/f-switch/f-switch.tsx","src/f-components/f-progress-bar/f-progress-bar.tsx","src/f-components/f-radio/f-radio-declarations.ts","src/f-components/f-radio/f-radio.tsx","src/f-components/f-rating/f-rating.tsx","src/f-components/f-cell/f-cell.tsx"],"sourcesContent":["import { KupEventPayload } from '../../types/GenericTypes';\nimport { ValueDisplayedValue as vdv } from '../../utils/filters/filters-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-list component.\n * Used to export every prop in an object.\n */\nexport enum KupListProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the list.',\n displayMode = 'Selects how the items must display their label and how they can be filtered for.',\n filter = 'Keeps string for filtering elements when filter mode is active',\n hideText = \"Hides rows' text, ideally to display a list of icons only.\",\n isMenu = 'Defines whether the list is a menu or not.',\n keyboardNavigation = \"When true, enables items' navigation through arrow keys.\",\n menuVisible = \"Sets the status of the menu, when false it's hidden otherwise it's visible.\",\n roleType = 'Defines the type of selection. Values accepted: listbox, radiogroup or group.',\n selectable = 'Defines whether items are selectable or not.',\n showIcons = 'Displays the icons associated to each row when set to true.',\n twoLine = 'The list elements descriptions will be arranged in two lines.',\n}\n/**\n * Data structure of a single list item.\n */\nexport interface KupListNode extends KupDataNode {\n secondaryText?: string;\n selected?: boolean;\n separator?: boolean;\n}\n/**\n * Available types of selection.\n */\nexport enum KupListRole {\n LISTBOX = 'listbox',\n RADIOGROUP = 'radiogroup',\n GROUP = 'group',\n}\n\nexport interface ValueDisplayedValue extends vdv {\n exists: boolean;\n}\n\nexport enum ItemsDisplayMode {\n CODE = 'code',\n DESCRIPTION = 'description',\n DESCRIPTION_AND_CODE = 'both',\n}\nexport interface KupListEventPayload extends KupEventPayload {\n selected: KupListNode;\n index?: number;\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-switch component.\n */\nexport interface FSwitchProps extends FComponent {\n checked?: boolean;\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onClick?: (event: MouseEvent) => void;\n onChange?: (event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n sizing?: FSwitchSizing;\n}\n\n/**\n * Types of the f-chip component.\n * @enum {string}\n * @property {string} SMALL - Small size: height = 24px\n * @property {string} MEDIUM - Medium size: height = 32px (default)\n */\n\nexport enum FSwitchSizing { // GenericTypes to be studied because small chips goes with small button/textfield but has different sizes\n SMALL = 'small',\n MEDIUM = 'medium',\n}\n","import { FSwitchSizing, type FSwitchProps } from './f-switch-declarations';\nimport { FunctionalComponent, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FSwitch: FunctionalComponent<FSwitchProps> = (\n props: FSwitchProps\n) => {\n if (!props.sizing) {\n props.sizing = FSwitchSizing.MEDIUM;\n }\n const isSmall: boolean = props.sizing.toLowerCase() === FSwitchSizing.SMALL;\n const classObj: Record<string, boolean> = {\n switch: true,\n 'switch--checked': props.checked,\n 'switch--disabled': props.disabled,\n [`switch--${props.sizing}`]: props.sizing ? true : false,\n };\n\n return (\n <div\n class={`f-switch ${props.danger ? 'kup-danger' : ''} ${\n props.info ? 'kup-info' : ''\n } ${props.secondary ? 'kup-secondary' : ''} ${\n props.success ? 'kup-success' : ''\n } ${props.warning ? 'kup-warning' : ''} ${\n props.wrapperClass ? props.wrapperClass : ''\n }`}\n {...props.dataSet}\n id={props.id}\n title={props.title}\n >\n <div\n class={`form-field ${\n props.leadingLabel ? 'form-field--align-end' : ''\n }`}\n >\n <div class={classObj}>\n <div class=\"switch__track\"></div>\n <div class=\"switch__thumb-underlay\">\n <div class=\"switch__thumb\">\n <input\n type=\"checkbox\"\n class=\"switch__native-control\"\n role=\"switch\"\n checked={props.checked}\n disabled={props.disabled}\n value={props.checked ? 'on' : 'off'}\n onBlur={props.onBlur}\n onChange={props.onChange}\n onFocus={props.onFocus}\n ></input>\n </div>\n </div>\n </div>\n <label onClick={props.onChange}>{props.label}</label>\n </div>\n </div>\n );\n};\n","import type { FProgressBarProps } from './f-progress-bar-declarations';\nimport { FunctionalComponent, getAssetPath, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FProgressBar: FunctionalComponent<FProgressBarProps> = (\n props: FProgressBarProps\n) => {\n if (!props.centeredLabel && !props.centeredLabel !== false) {\n props.centeredLabel = true;\n }\n\n let componentClass = `f-progress-bar ${props.danger ? 'kup-danger' : ''} ${\n props.animated ? 'kup-animated' : ''\n } ${props.padded ? 'kup-padded' : ''} ${props.info ? 'kup-info' : ''} ${\n props.slim ? 'kup-slim' : ''\n } ${props.striped ? 'kup-striped' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.slim ? 'kup-slim' : ''} ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`;\n let pieClass: string = 'pie';\n let radialStyle = undefined;\n if (props.isRadial) {\n componentClass += ' pie-wrapper is-radial';\n } else {\n componentClass += ' progress-bar';\n }\n\n let labelStyle = undefined;\n\n const valueStyle = {\n width: `${props.value}%`,\n };\n\n if (!props.centeredLabel) {\n labelStyle = valueStyle;\n if (props.value > 2) {\n componentClass += ' text-color-on-primary';\n }\n } else if (props.value > 49) {\n componentClass += ' text-color-on-primary';\n }\n\n let label = null;\n if (props.icon) {\n label = createIconElement(props);\n } else {\n if (!props.hideLabel) {\n if (props.isRadial) {\n if (props.label) {\n label = <span class=\"label\">{props.label}</span>;\n } else {\n label = (\n <span class=\"label\">\n {props.value}\n <span class=\"smaller\">%</span>\n </span>\n );\n }\n } else {\n if (props.label) {\n label = props.label;\n } else {\n label = props.value + '%';\n }\n }\n }\n }\n\n if (props.value > 0) {\n pieClass += ' has-value';\n if (props.value > 50) {\n pieClass += ' is-more-than-half';\n } else {\n pieClass += ' is-less-than-half';\n }\n }\n\n if (props.isRadial) {\n return (\n <div class={componentClass}>\n {label}\n <div class={pieClass}>\n <div\n style={radialStyle}\n class=\"left-side half-circle\"\n ></div>\n <div class=\"right-side half-circle\"></div>\n </div>\n <div class=\"shadow\"></div>\n </div>\n );\n } else {\n return (\n <div class={componentClass}>\n <div class=\"progress-bar-percentage\" style={valueStyle}>\n <span style={labelStyle}>{label}</span>\n </div>\n </div>\n );\n }\n};\n\nfunction createIconElement(props: FProgressBarProps) {\n if (!props.icon) {\n return undefined;\n }\n\n if (\n props.icon.indexOf('.') > -1 ||\n props.icon.indexOf('/') > -1 ||\n props.icon.indexOf('\\\\') > -1\n ) {\n return (\n <span class=\"label kup-icon is-image\">\n <img src={props.icon}></img>\n </span>\n );\n } else {\n let svg: string = `url('${getAssetPath(\n `./assets/svg/${props.icon}.svg`\n )}') no-repeat center`;\n let iconStyle = {\n mask: svg,\n webkitMask: svg,\n };\n return <span style={iconStyle} class=\"label kup-icon\"></span>;\n }\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-radio component.\n */\nexport interface FRadioProps extends FComponent {\n columns?: number;\n data?: FRadioData[];\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onChange?: (i: number, event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n horizontal?: boolean;\n type?: FRadioType;\n}\n/**\n * The object of a single radio.\n */\nexport interface FRadioData {\n checked: boolean;\n label: string;\n value: string;\n}\n\nexport enum FRadioType {\n RADIO = 'radio',\n CHEVRON = 'chevron',\n}\n","import { FunctionalComponent, VNode, h, Fragment } from '@stencil/core';\nimport { GenericObject } from '../../components';\nimport {\n FRadioType,\n type FRadioData,\n type FRadioProps,\n} from './f-radio-declarations';\nimport { FImage } from '../f-image/f-image';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRadio: FunctionalComponent<FRadioProps> = (\n props: FRadioProps\n) => {\n const hasColumns: boolean = !!props.columns;\n const radioList: Array<VNode> = [];\n\n // Default to 'radio' if props.type is not specified\n const radioType = props.type || FRadioType.RADIO;\n for (let i = 0; i < props.data?.length; i++) {\n const data: FRadioData = props.data[i];\n const classObj: GenericObject = {\n radio: true,\n 'radio--checked': data.checked ? true : false,\n 'radio--disabled': props.disabled ? true : false,\n [`radio--${props.type}`]: props.type ? true : false,\n };\n\n radioList.push(\n <div\n class={`form-field \n ${props.leadingLabel ? ' form-field--align-end' : ''} ${\n props.disabled ? 'radio--disabled' : ''\n }`}\n >\n <div class={classObj}>\n {radioType === FRadioType.RADIO ? (\n <input\n class=\"radio__native-control\"\n type=\"radio\"\n name=\"radio-element\"\n value={data.value}\n checked={data.checked}\n disabled={props.disabled}\n onBlur={props.onBlur}\n onChange={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n onFocus={props.onFocus}\n ></input>\n ) : (\n <Fragment>\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 </Fragment>\n )}\n {radioType === FRadioType.RADIO && (\n <div class=\"radio__background\">\n <div class=\"radio__outer-circle\"></div>\n <div class=\"radio__inner-circle\"></div>\n </div>\n )}\n </div>\n <label\n htmlFor={'radio-element'}\n onClick={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n >\n {data.label ? data.label : ''}\n </label>\n </div>\n );\n }\n\n const styleObj: GenericObject = {\n '--kup_radio_columns': hasColumns\n ? `repeat(${props.columns}, 1fr)`\n : '',\n };\n\n return (\n <div\n class={`f-radio radio-wrapper\n ${hasColumns ? 'radio-wrapper-grid' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''} ${\n props.horizontal ? 'kup-horizontal' : ''\n }`}\n style={styleObj}\n >\n {radioList}\n </div>\n );\n};\n","import { FunctionalComponent, VNode, h } from '@stencil/core';\nimport type { FRatingProps } from './f-rating-declarations';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRating: FunctionalComponent<FRatingProps> = (\n props: FRatingProps\n) => {\n if (!props.maxValue) {\n props.maxValue = 5;\n }\n return (\n <div\n class={`f-rating ${props.disabled ? 'disabled' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`}\n >\n {buildStars(props)}\n </div>\n );\n};\n\nfunction buildStars(props: FRatingProps) {\n const stars: VNode[] = [];\n\n for (let i = 1; i <= props.maxValue; i++) {\n if (i <= props.value) {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ★\n </span>\n );\n } else {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ☆\n </span>\n );\n }\n }\n\n return stars;\n}\n","import type { FCheckboxProps } from '../f-checkbox/f-checkbox-declarations';\nimport type { FImageData, FImageProps } from '../f-image/f-image-declarations';\nimport {\n FButtonStyling,\n type FButtonProps,\n} from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { Fragment, FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CHIAdapter,\n CMBandACPAdapter,\n getCellValueForDisplay,\n isForceLowercase,\n isForceUppercase,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n CellOptions,\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioData, FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n cell.data = mapData(cell, column) ?? cell.data;\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column?.cssClass\n ? column?.cssClass\n : '';\n\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n 'c-input-uppercase': isForceUppercase(cell),\n 'c-input-lowercase': isForceLowercase(cell),\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions, column: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n const options = cell.options;\n const fieldLabel = column.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.CHECKBOX, MainCHKAdapter.bind(this)],\n [FCellTypes.OBJECT, MainObjectAdapter.bind(this)],\n [FCellTypes.CHIP, MainCHIAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter ? adapter(options, fieldLabel, currentValue, cell) : null;\n};\n\nconst MainCHIAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell\n) => {\n const newData = {\n data: options?.length\n ? options?.map((option) => ({\n id: option.id,\n value: option.id,\n }))\n : [],\n };\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainObjectAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => ({\n data: {\n initialValue: currentValue || '',\n label: fieldLabel || '',\n value: currentValue || '',\n },\n});\n\nconst MainCHKAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n checked: currentValue === 'on' || currentValue === '1',\n label: fieldLabel,\n});\n\nconst MainBTNAdapter = (\n _options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n data: [\n {\n ...cell.data,\n icon: cell.icon,\n value: currentValue,\n },\n ],\n});\n\nconst MainITXAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n label: fieldLabel,\n});\n\nconst MainRADAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell?: KupDataCellOptions\n) => {\n const newData = RADAdapter(currentValue, options);\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainCMBandACPAdapter = (\n options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions,\n _id: string\n) => {\n if (!cell.data?.data && options) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n options,\n currentValue\n );\n return configCMandACP;\n }\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n error={cell.data.error}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n error={cell.data.error}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n error={cell.data.error}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <Fragment>\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n ></FTextField>\n <FButton\n icon=\"menu\"\n onClick={(e) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.SECONDARY_ICON_CLICK\n )\n }\n styling={FButtonStyling.FLAT}\n wrapperClass=\"obj-field-extra-btn\"\n ></FButton>\n </Fragment>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.MEMO:\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 cellEvent(e, props, cellType, FCellEvents.UPDATE);\n };\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 textArea={\n (cell.shape\n ? cell.shape === FCellShapes.MEMO\n : false) ||\n (cellType ? cellType === FCellTypes.MEMO : false)\n }\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n decimals={props.column.decimals}\n integers={props.column.integers}\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTarget(e, cellType);\n if (isForceUppercase(cell)) {\n value = value?.toUpperCase();\n } else if (isForceLowercase(cell)) {\n value = value?.toLowerCase();\n }\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n if (cell.data.data) {\n const radioData = cell.data.data as FRadioData[];\n const checkedItem = radioData.find((item) => item.checked);\n if (checkedItem) {\n value = checkedItem.value;\n }\n }\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value?.toString();\n }\n cell.value = value?.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n inputValue: cell.element?.querySelector('input')?.value || null,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTarget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!(\n (e.target as HTMLElement).tagName === 'INPUT' || 'TEXTAREA'\n );\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["KupInputPanelLayoutSectionType","KupInputPanelProps","KupInputPanelPosition","KupInputPanelButtonsPositions","InputPanelKeyCommands","CHAR_WIDTH","ROW_HEIGHT","getAbsoluteWidth","length","getAbsoluteHeight","height","getAbsoluteTop","row","getAbsoluteLeft","col","kupInputPanelCss","KupInputPanelStyle0","dom","document","documentElement","KupInputPanel","_KupInputPanel_kupManager","set","this","kupManagerInstance","_KupInputPanel_formRef","_KupInputPanel_optionsAdapterMap","Map","__classPrivateFieldGet","_KupInputPanel_instances","_KupInputPanel_treeOptionsNodeAdapter","bind","_KupInputPanel_dataTreeOptionsChildrenAdapter","_KupInputPanel_tableOptionsAdapter","_KupInputPanel_originalData","_KupInputPanel_eventNames","FCellTypes","AUTOCOMPLETE","MULTI_AUTOCOMPLETE","COMBOBOX","MULTI_COMBOBOX","_KupInputPanel_eventBlurNames","FCellShapes","CHIP","DATE","TIME","_KupInputPanel_listeners","_KupInputPanel_cellTypeComponents","_KupInputPanel_cellCustomRender","BUTTON_LIST","_KupInputPanel_renderButton","EDITOR","_KupInputPanel_renderEditor","LABEL","_KupInputPanel_renderLabel","TABLE","_KupInputPanel_renderDataTable","_KupInputPanel_sectionRenderMap","TAB","_KupInputPanel_renderSectionTab","_KupInputPanel_keysShortcut","BOTTOM","COLUMNS","onDataChanged","__classPrivateFieldSet","structuredClone","data","map","event","handler","rootElement","removeEventListener","key","keysBinding","unregister","_KupInputPanel_mapCells","call","getProps","descriptions","refresh","forceUpdate","setProps","props","componentWillLoad","debug","logLoad","language","register","theme","componentDidLoad","_KupInputPanel_didLoadInteractables","kupReady","emit","comp","id","componentWillRender","logRender","componentDidRender","autoFocus","_KupInputPanel_setFocusOnFirstInput","fs","querySelectorAll","index","FTextFieldMDC","render","isEmptyData","Boolean","inputPanelCells","inputPanelContent","h","translate","KupLanguageGeneric","EMPTY_DATA","inputPanelCell","_KupInputPanel_renderRow","Host","setKupStyle","componentWrapperId","disconnectedCallback","reduce","cell","cells","find","column","name","layout","horizontal","styleObj","rowContent","_a","sections","_KupInputPanel_renderCell","absolute","_KupInputPanel_renderAbsoluteLayout","maxAbsoluteRow","Math","max","flatMap","sec","content","cont","absoluteRow","sectionsType","hasDim","some","dim","display","inputPanelPosition","gridTemplateColumns","join","dashboardMode","gridTemplateRows","_KupInputPanel_renderGridLayout","inputPanelClass","buttonPosition","RIGHT","classObj","INLINE","commandsClass","value","_b","title","type","FTypographyType","HEADING1","class","ref","el","onSubmit","e","preventDefault","submitCb","before","Object","assign","after","_KupInputPanel_reverseMapCells","onContextMenu","FTypography","style","FButton","buttonType","label","CONFIRM","wrapperClass","invisible","hiddenSubmitButton","inputPanelCommands","customRender","get","shape","undefined","cellProps","component","editable","renderKup","setSizes","_KupInputPanel_getLabelComponent","FCell","cellId","icon","_KupInputPanel_renderDropDownButton","_KupInputPanel_getFunctionOnClickBTN","detail","node","edtCell","htmlValue","replace","addEventListener","push","isReadOnly","isEditable","showToolbar","editableData","showGroups","showFilters","showFooter","cellType","ketchup","getType","RADIO","sectionRender","section","_KupInputPanel_renderSection","_KupInputPanel_renderAbsoluteSection","customLabelRender","gap","innerSection","gridCols","gridRows","field","_KupInputPanel_renderField","sectionContent","filter","_KupInputPanel_renderAbsoluteField","absoluteWidth","width","absoluteHeight","top","left","absoluteColumn","sectionStyle","position","overflow","_KupInputPanel_extractContentIds","ids","forEach","item","concat","tabSelected","tabNodes","i","cellIdsInSection","hasError","cellData","includes","error","active","danger","sectionId","tabCustomStyle","l","customStyle","fieldCell","colSpan","colStart","colEnd","rowSpan","rowStart","rowEnd","absoluteLength","absoluteTop","absoluteLeft","sizing","_KupInputPanel_mapCommands","setup","commands","commandObj","children","showIcons","c","_KupInputPanel_commandAdapter","buttonCell","flat","_c","rows","inpuPanelCells","_d","columns","visible","mappedCell","_KupInputPanel_setData","slotData","_KupInputPanel_slotData","componentQuery","shadowRoot","querySelector","setValue","defaultProps","_KupInputPanel_mapData","disabled","noDataProps","__rest","_KupInputPanel_deepObjectsMerge","target","source","Array","isArray","curr","updatedCells","keys","cellState","JSON","stringify","_KupInputPanel_getTableUpdatedCell","obj","options","fieldLabel","currentValue","dataAdapterMap","_KupInputPanel_CMBandACPAdapter","_KupInputPanel_BTNAdapter","CHART","_KupInputPanel_GRAAdapter","_KupInputPanel_CHIAdapter","CHECKBOX","_KupInputPanel_CHKAdapter","COLOR_PICKER","_KupInputPanel_CLPAdapter","_KupInputPanel_EDTAdapter","NUMBER","_KupInputPanel_NumberAdapter","_KupInputPanel_DateAdapter","OBJECT","_KupInputPanel_ObjectAdapter","_KupInputPanel_RADAdapter","STRING","_KupInputPanel_ITXAdapter","SWITCH","_KupInputPanel_SWTAdapter","_KupInputPanel_DataTableAdapter","_KupInputPanel_TimeAdapter","adapter","trailingIcon","fullWidth","showDropDownIcon","_options","_fieldLabel","inputSettings","checkObject","checkValueOnExit","mandatory","_KupInputPanel_checkOnBlurEvent","CHIAdapter","sizeX","offlineMode","sizeY","_currentValue","onClick","keyShortcut","fun","rawOptions","configCMandACP","CMBandACPAdapter","evNames","evName","_KupInputPanel_getAutocompleteEventCallback","_KupInputPanel_optionsTreeComboAdapter","CHKAdapter","onBlur","_KupInputPanel_checkOnBlurProp","initialValue","RADAdapter","SWTAdapter","_rawOptions","_value","parse","logMessage","KupDebugCategory","WARNING","ERROR","tableValue","updated","editableColsId","beforeTableValue","updatedRow","colId","changed","option","selected","child","codice","testo","k","fields","objects","isJ1Key","open","optionsHandler","inputValue","then","async","currCell","_KupInputPanel_getCell","_KupInputPanel_setCellError","REQUIRED_VALUE","valid","checkValidObjCallback","currentState","INVALID_VALUE","_KupInputPanel_areValuesUpdated","checkValidValueCallback","customButtonClickHandler","_KupInputPanel_getEventDetails","path","originalEvent","fcell","p","classList","contains","columnName","anchor","_KupInputPanel_contextMenuHandler","eventPath","getEventPath","interact","managedElements","add","tapCb","button","details","kupDataTableContextMenu","on","KupPointerEventTypes","TAP","form","firstCellContent","firstInput","_KupInputPanel_findFirstInput","setTimeout","focus","element","directInput","shadowElements","HTMLElement","elem","from","shadowInput"],"sources":["src/components/kup-input-panel/kup-input-panel-declarations.ts","src/components/kup-input-panel/kup-input-panel-utils.ts","src/components/kup-input-panel/kup-input-panel.scss?tag=kup-input-panel&encapsulation=shadow","src/components/kup-input-panel/kup-input-panel.tsx"],"sourcesContent":["import { GenericObject, KupEventPayload } from '../../components';\nimport {\n KupDataCell,\n KupDataColumn,\n KupDataCommand,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { KupObj } from '../../managers/kup-objects/kup-objects-declarations';\n\nexport interface KupInputPanelSubmit {\n value: KupInputPanelSubmitValue;\n cell?: string;\n}\nexport interface KupInputPanelSubmitValue {\n after: KupInputPanelData;\n before: KupInputPanelData;\n}\n\nexport interface KupInputPanelData {\n columns?: KupDataColumn[];\n rows?: KupInputPanelRow[];\n actions?: KupInputPanelAction[];\n setup?: {\n commands?: Array<KupDataCommand>;\n };\n}\n\nexport interface KupInputPanelAction {\n type?: string;\n fun?: string;\n}\n\nexport interface KupInputPanelColumn {\n name: string;\n title: string;\n visible?: boolean;\n}\n\nexport interface KupInputPanelRow {\n cells?: KupInputPanelRowCells;\n layout?: KupInputPanelLayout;\n}\n\nexport interface KupInputPanelRowCells {\n [key: string]: KupInputPanelCell;\n}\n\nexport interface KupInputPanelCell extends KupDataCell {\n options?: GenericObject | GenericObject[];\n editable?: boolean;\n mandatory?: boolean;\n inputSettings?: GenericObject;\n fun?: string;\n}\n\nexport interface KupInputPanelCellOptions {\n id: string;\n label: string;\n}\n\nexport interface KupInputPanelLayout {\n horizontal?: boolean;\n absolute?: boolean;\n sections?: KupInputPanelLayoutSection[];\n sectionsType?: KupInputPanelLayoutSectionType;\n}\n\nexport enum KupInputPanelLayoutSectionType {\n TAB = 'tab',\n}\n\nexport interface KupInputPanelLayoutSection {\n id?: string;\n title?: string;\n icon?: string;\n content?: KupInputPanelLayoutField[];\n sections?: KupInputPanelLayoutSection[];\n dim?: string;\n horizontal?: boolean;\n gridCols?: number;\n gridRows?: number;\n // Gap is in rem\n gap?: number;\n sectionsType?: KupInputPanelLayoutSectionType;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteWidth?: number;\n absoluteRow?: number;\n absoluteHeight?: number;\n}\n\nexport interface KupInputPanelLayoutField {\n id: string;\n // Span is referred to start\n colSpan?: number;\n colStart?: number;\n colEnd?: number;\n // Span is referred to start\n rowSpan?: number;\n rowStart?: number;\n rowEnd?: number;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteRow?: number;\n absoluteLength?: number;\n absoluteHeight?: number;\n}\n\nexport type DataAdapterFn = (\n options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell?: KupInputPanelCell,\n id?: string\n) => Object;\n\nexport type InputPanelCells = {\n cells: { cell: KupDataCell; column: KupDataColumn }[];\n row?: KupInputPanelRow;\n};\n\nexport type InputPanelEvent = {\n state: { cell: KupDataCell; column: KupDataColumn }[];\n data: {\n field: string;\n value: number | string | object;\n };\n};\n\nexport type InputPanelOptionsHandler = (\n fun: string,\n inputValue: string,\n currentState: KupInputPanelData,\n cellId: string\n) => Promise<GenericObject>;\n\nexport type InputPanelCheckValidObjCallback = (event: {\n obj: KupObj;\n currentState: KupInputPanelData;\n fun?: string;\n}) => Promise<ValidCheckObjResponse>;\n\nexport interface ValidCheckObjResponse {\n valid: boolean;\n}\n\nexport type InputPanelButtonClickHandler = (event: {\n fun: string;\n cellId: string;\n currentState: KupInputPanelData;\n}) => void;\n\nexport type InputPanelCheckValidValueCallback = (\n currentState: KupInputPanelSubmitValue,\n cellId: string\n) => void;\n\nexport enum KupInputPanelProps {\n customStyle = 'Custom style of the component.',\n data = 'Actual data of the input panel.',\n hiddenSubmitButton = 'Creates a hidden submit button in order to submit the form with enter.',\n submitCb = 'Sets the callback function on submit form',\n optionsHandler = 'Sets the callback function to recieve options',\n buttonPosition = 'Manage the position of the buttons related to the input panel content. It is an enumeration',\n inputPanelPosition = 'Manage the global layout of the input panel fields. The default is COLUMNS.',\n autofocus = 'Sets whether the first input should receive focus.'\n}\n\nexport interface KupInputPanelEventHandlerDetails {\n anchor: HTMLElement;\n cell: KupDataCell;\n column: KupDataColumn;\n originalEvent: PointerEvent;\n}\n\nexport interface KupInputPanelClickEventPayload extends KupEventPayload {\n details: KupInputPanelEventHandlerDetails;\n}\n\nexport enum KupInputPanelPosition {\n COLUMNS = 'COLUMNS',\n INLINE = 'INLINE',\n STRETCHED = 'STRETCHED',\n UPINLINE = 'UPINLINE',\n UPCOLUMNS = 'UPCOLUMNS',\n WATERMARK = 'WATERMARK',\n}\n\nexport enum KupInputPanelButtonsPositions {\n CENTER = 'CENTER',\n LEFT = 'LEFT',\n BOTTOM = 'BOTTOM',\n RIGHT = 'RIGHT',\n TOP = 'TOP',\n}\n\ninterface InputPanelCommand {\n [key: string]: string;\n}\n\nexport const InputPanelKeyCommands: InputPanelCommand = {\n '*F01': 'F1',\n '*F02': 'F2',\n '*F03': 'F3',\n '*F04': 'F4',\n '*F05': 'F5',\n '*F06': 'F6',\n '*F07': 'F7',\n '*F08': 'F8',\n '*F09': 'F9',\n '*F10': 'F10',\n '*F11': 'F11',\n '*F12': 'F12',\n '*F13': 'F13',\n '*F14': 'F14',\n '*F15': 'F15',\n '*F16': 'F16',\n '*F17': 'F17',\n '*F18': 'F18',\n '*F19': 'F19',\n '*F20': 'F20',\n '*F21': 'F21',\n '*F22': 'F22',\n '*F23': 'F23',\n '*F24': 'F24',\n '*ENT': 'Enter',\n '*PDN': 'PageDown',\n '*PUP': 'PageUp',\n};\n","export const CHAR_WIDTH = 12;\nexport const ROW_HEIGHT = 22;\n\nexport const getAbsoluteWidth = (length: number) => {\n if (length == 0) {\n return CHAR_WIDTH / 2;\n }\n\n if (!length) {\n return null;\n }\n\n if (length === 1) {\n return 1.5 * CHAR_WIDTH;\n }\n\n return length * CHAR_WIDTH;\n};\n\nexport const getAbsoluteHeight = (height: number) => {\n if (!height) {\n return null;\n }\n\n return height * ROW_HEIGHT;\n};\n\nexport const getAbsoluteTop = (row: number) => {\n if (!row) {\n return null;\n }\n\n return (row - 1) * ROW_HEIGHT;\n};\n\nexport const getAbsoluteLeft = (col: number) => {\n if (!col) {\n return null;\n }\n\n return col * CHAR_WIDTH;\n};\n","/**\n* @prop --kup-input-panel-background-color: Sets background of the component.\n* @prop --kup-input-panel-color: Sets text color of the component.\n* @prop --kup-input-panel-font-family: Sets font family of the component.\n* @prop --kup-input-panel-font-size: Sets font size of the component.\n* @prop --kup-input-panel-label-alignment: Sets the text alignment of labels.\n* @prop --kup-input-panel-label-width: Sets the width of labels.\n* @prop --kup-input-panel-padding: Sets the padding of the input panel.\n*/\n\n:host {\n --kup-fcell-width: fit-content;\n --kup_input_panel_background_color: var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );\n --kup_input_panel_color: var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );\n --kup_input_panel_font_family: var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );\n --kup_input_panel_font_size: var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );\n --kup_input_panel_label_alignment: var(--kup-input-panel-label-alignment);\n --kup_input_panel_label_width: var(--kup-input-panel-label-width);\n --kup_input_panel_padding: var(--kup-input-panel-padding, 1em 0);\n --kup_input_panel_padding--inline: var(--kup-input-panel-padding--inline, 0);\n\n .input-panel {\n background: var(--kup_input_panel_background_color);\n color: var(--kup_input_panel_color);\n display: flex;\n flex-grow: 1;\n overflow: auto;\n padding: var(--kup_input_panel_padding);\n position: relative;\n gap: 1rem;\n\n &__commands {\n display: flex;\n gap: 1rem;\n &.input-panel__commands--right {\n flex-shrink: 0;\n overflow: hidden;\n }\n }\n\n &--inline {\n flex: 1;\n overflow-x: auto;\n white-space: nowrap;\n padding: var(--kup_input_panel_padding--inline);\n }\n\n &--column {\n flex-direction: column;\n }\n\n &__section_label_container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n\n &__section {\n display: grid;\n min-width: 0;\n\n .f-cell__content {\n > * {\n width: 100%;\n }\n }\n }\n\n &__horizontal-section {\n display: inline-grid;\n }\n\n &__section-inline {\n display: inline-block;\n width: max-content;\n }\n\n .f-cell .f-checkbox .checkbox .checkbox__native-control {\n height: 40px;\n width: 40px;\n }\n\n &__label_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n > .f-cell {\n flex: 1;\n }\n }\n\n &__tabs_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 2rem;\n }\n\n .f-cell.number-cell {\n .f-cell__content {\n --kup-textfield-font-family: var(--kup_cell_font_family);\n\n font-family: var(--kup_cell_font_family);\n }\n }\n\n .input-panel-label {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n &--absolute {\n justify-content: flex-end;\n padding: var(--kup-space-02);\n\n .input-panel-label {\n justify-content: start;\n }\n\n .mdc-text-field {\n height: unset !important;\n }\n }\n }\n .input-panel-form--inline {\n display: flex;\n align-items: end;\n gap: 1rem;\n }\n .input-panel__typography {\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n forceUpdate,\n h,\n} from '@stencil/core';\nimport {\n KupAutocompleteEventPayload,\n KupComboboxIconClickEventPayload,\n KupDataCell,\n KupDataTableDataset,\n KupDataTableRow,\n KupDropdownButtonEventPayload,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n FTypographyProps,\n FTypographyType,\n} from '../../f-components/f-typography/f-typography-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelCheckValidObjCallback,\n InputPanelCheckValidValueCallback,\n InputPanelKeyCommands,\n InputPanelOptionsHandler,\n KupInputPanelButtonsPositions,\n KupInputPanelCell,\n KupInputPanelClickEventPayload,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelEventHandlerDetails,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelPosition,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n ROW_HEIGHT,\n} from './kup-input-panel-utils';\nimport { FTypography } from '../../f-components/f-typography/f-typography';\nimport { KupPointerEventTypes } from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupDataCommand } from '../../managers/kup-data/kup-data-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n@Component({\n tag: 'kup-input-panel',\n styleUrl: 'kup-input-panel.scss',\n shadow: true,\n})\nexport class KupInputPanel {\n /**\n * References the root HTML element of the component (<kup-form>).\n */\n @Element() rootElement: HTMLElement;\n\n //#region PROPS\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Select the position of the buttons related to the input panel\n * @default \"BOTTOM\"\n */\n @Prop() buttonPosition: KupInputPanelButtonsPositions =\n KupInputPanelButtonsPositions.BOTTOM;\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n\n /**\n * Sets verical layout if dashboardMode is true\n * @default false\n */\n @Prop() dashboardMode: boolean = false;\n\n /**\n * Actual data of the form.\n * @default null\n */\n @Prop() data: KupInputPanelData = null;\n\n /**\n * Creates a hidden submit button in order to submit the form with enter.\n * @default false\n */\n @Prop() hiddenSubmitButton: boolean = false;\n\n /**\n * Dispositions of the whole input panel elements\n * @default COLUMNS\n */\n @Prop() inputPanelPosition: KupInputPanelPosition =\n KupInputPanelPosition.COLUMNS;\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidObjCallback?: InputPanelCheckValidObjCallback = null;\n\n /**\n * Sets the callback for valid the object when cell checkObject is true\n * @default null\n */\n @Prop() checkValidValueCallback?: InputPanelCheckValidValueCallback = null;\n\n /**\n * Sets whether the first input should receive focus.\n * @default false\n */\n @Prop() autoFocus?: boolean = false;\n //#endregion\n\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCommands: VNode[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #formRef: HTMLFormElement;\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick', 'kup-combobox-blur']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n\n #eventBlurNames = new Map<FCellShapes, string>([\n [FCellShapes.AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.CHIP, 'kup-textfield-blur'],\n [FCellShapes.COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.DATE, 'kup-datepicker-blur'],\n [FCellShapes.MULTI_AUTOCOMPLETE, 'kup-autocomplete-blur'],\n [FCellShapes.MULTI_COMBOBOX, 'kup-combobox-blur'],\n [FCellShapes.TIME, 'kup-timepicker-blur'],\n ]);\n\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n if (this.data) {\n this.#mapCells(this.data);\n }\n }\n //#endregion\n\n //#region PUBLIC METHODS\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupInputPanelProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupInputPanelProps, props);\n }\n //#endregion\n\n //#region EVENTS\n /*-------------------------------------------------*/\n /* Events */\n /*-------------------------------------------------*/\n\n /**\n * When component load is complete\n */\n @Event({\n eventName: 'kup-input-panel-ready',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupReady: EventEmitter<KupEventPayload>;\n\n /**\n * Generic right click event on input panel.\n */\n @Event({\n eventName: 'kup-inputpanel-contextmenu',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupDataTableContextMenu: EventEmitter<KupInputPanelClickEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #getCell(id: string) {\n return this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(({ column }) => column.name === id).cell;\n }\n return cell;\n }, null);\n }\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n const horizontal = layout?.horizontal || false;\n const styleObj: GenericObject = {};\n const styleTypographyObj: GenericObject = {};\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n if (layout.absolute) {\n rowContent = this.#renderAbsoluteLayout(inputPanelCell, layout);\n const maxAbsoluteRow = Math.max(\n ...layout.sections.flatMap((sec) =>\n sec.content.map((cont) => cont.absoluteRow || 0)\n )\n );\n styleObj.height = `${maxAbsoluteRow * ROW_HEIGHT}px`;\n } else {\n if (!layout.sectionsType) {\n const hasDim = layout.sections.some((sec) => sec.dim);\n styleObj.display = 'grid';\n if (this.inputPanelPosition == 'INLINE') {\n styleObj.display = '';\n }\n if (layout.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${inputPanelCell.cells.length}, 1fr)`;\n } else {\n if (this.dashboardMode) {\n styleObj.gridTemplateRows = hasDim\n ? layout.sections\n .map((sec) => sec.dim || 'auto')\n .join(' ')\n : `repeat(${layout.sections.length}, 1fr)`;\n }\n }\n }\n\n rowContent = this.#renderGridLayout(inputPanelCell, layout);\n }\n }\n\n const inputPanelClass = {\n 'input-panel-form': true,\n 'input-panel-form--inline':\n this.buttonPosition == KupInputPanelButtonsPositions.RIGHT,\n };\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n 'input-panel--inline':\n this.inputPanelPosition == KupInputPanelPosition.INLINE,\n };\n\n const commandsClass = {\n 'input-panel__commands': true,\n [`input-panel__commands--${this.buttonPosition}`]: true,\n };\n\n const props: FTypographyProps = {\n value: layout?.sections[0]?.title,\n type: FTypographyType.HEADING1,\n };\n\n return (\n <div>\n <form\n name={this.rootElement.id}\n id={this.rootElement.id}\n class={inputPanelClass}\n ref={(el: HTMLFormElement) => (this.#formRef = el)}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n onContextMenu={(e: MouseEvent) => {\n e.preventDefault();\n }}\n >\n <div class=\"input-panel__typography\">\n <FTypography {...props} />\n </div>\n <div class={classObj} style={styleObj}>\n {rowContent}\n </div>\n <div class={commandsClass}>\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n invisible={this.hiddenSubmitButton}\n ></FButton>\n {this.inputPanelCommands}\n </div>\n </form>\n </div>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderDropDownButton(cell: KupDataCell, data: GenericObject) {\n return (\n <kup-dropdown-button\n {...cell.data}\n label={cell.value}\n data={data}\n onkup-dropdownbutton-itemclick={(\n e: CustomEvent<KupDropdownButtonEventPayload>\n ) => {\n this.#getFunctionOnClickBTN(\n e.detail.node,\n e.detail.node.id\n );\n }}\n ></kup-dropdown-button>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section, false)\n );\n }\n\n #renderAbsoluteLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n return layout.sections.map((section) =>\n this.#renderAbsoluteSection(inputPanelCell, section)\n );\n }\n\n #renderSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection,\n customLabelRender: boolean = false,\n styleObj: GenericObject = {}\n ) {\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n 'input-panel__section-inline': this.inputPanelPosition == 'INLINE',\n };\n\n styleObj.gap = +section.gap > 0 ? `${section.gap}rem` : '1rem';\n\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n\n const hasDim = section.sections.some((sec) => sec.dim);\n\n if (!section.gridCols && section.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n\n if (\n !section.gridRows &&\n !section.horizontal &&\n this.dashboardMode\n ) {\n styleObj.gridTemplateRows = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n styleObj.gridTemplateColumns =\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '';\n if (this.dashboardMode) {\n styleObj.gridTemplateRows =\n +section.gridRows > 0\n ? `repeat(${section.gridRows}, 1fr)`\n : '';\n }\n }\n const sectionContent = (\n <div class={classObj} style={styleObj}>\n {content.filter(Boolean)}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <FTypography\n type={FTypographyType.HEADING1}\n value={section.title}\n ></FTypography>\n {sectionContent}\n </div>\n ) : (\n sectionContent\n );\n }\n\n #renderAbsoluteSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderAbsoluteSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderAbsoluteField(cells, field)\n );\n }\n\n //If width is not specified the div in the return at the end can be removed\n if (getAbsoluteWidth(section.absoluteWidth) == null) {\n return content;\n }\n\n const width = `${\n getAbsoluteWidth(section.absoluteWidth) != null\n ? `${getAbsoluteWidth(section.absoluteWidth)}px`\n : '100%'\n }`;\n const height = `${\n getAbsoluteHeight(section.absoluteHeight) != null\n ? `${getAbsoluteHeight(section.absoluteHeight)}px`\n : '100%'\n }`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'relative',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #extractContentIds(node: KupInputPanelLayoutSection) {\n let ids: string[] = [];\n\n if (node.content?.length) {\n node.content.forEach((item) => {\n if (item.id) {\n ids.push(item.id);\n }\n });\n }\n\n if (node.sections?.length) {\n node.sections.forEach((section) => {\n ids = ids.concat(this.#extractContentIds(section));\n });\n }\n\n return ids;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => {\n const cellIdsInSection = this.#extractContentIds(section);\n\n const hasError = cells.cells.some((cellData) => {\n const cell = cellData.cell;\n const column = cellData.column;\n return (\n cellIdsInSection.includes(column.name) && !!cell.data?.error\n );\n });\n\n return {\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: hasError ? 'error' : section.icon,\n id: section.id || `${i}`,\n danger: hasError,\n };\n });\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'min-width': '0',\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n if (!field.absoluteHeight) {\n field.absoluteHeight = 1;\n }\n\n const absoluteWidth = getAbsoluteWidth(length);\n const absoluteHeight = getAbsoluteHeight(field.absoluteHeight);\n const absoluteTop = getAbsoluteTop(field.absoluteRow);\n const absoluteLeft = getAbsoluteLeft(field.absoluteColumn);\n\n const styleObj = {\n position: 'absolute',\n width: absoluteWidth !== null ? `${absoluteWidth}px` : null,\n 'min-width': absoluteWidth !== null ? `${absoluteWidth}px` : null,\n 'max-width': absoluteWidth !== null ? `${absoluteWidth}px` : null,\n height: absoluteHeight !== null ? `${absoluteHeight}px` : null,\n 'min-height':\n absoluteHeight !== null ? `${absoluteHeight}px` : null,\n 'max-height':\n absoluteHeight !== null ? `${absoluteHeight}px` : null,\n top:\n absoluteTop !== null\n ? `${getAbsoluteTop(field.absoluteRow)}px`\n : null,\n left:\n absoluteLeft !== null\n ? `${getAbsoluteLeft(field.absoluteColumn)}px`\n : null,\n overflow: 'auto',\n };\n\n fieldCell.cell.data = {\n ...fieldCell.cell.data,\n sizing: 'extra-small',\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCommands() {\n this.inputPanelCommands = this.data.setup.commands\n .map((commandObj) => {\n if (commandObj?.children && commandObj?.children.length > 0) {\n const data = {\n 'kup-list': {\n showIcons: true,\n data: commandObj.children.map((c) =>\n this.#commandAdapter(c)\n ),\n },\n };\n return this.#renderDropDownButton(commandObj, data);\n } else {\n const buttonCell = this.#commandAdapter(commandObj);\n return this.#renderButton(buttonCell, commandObj.value);\n }\n })\n .flat();\n }\n\n #mapCells(data: KupInputPanelData) {\n if (data.setup?.commands?.length) {\n this.#mapCommands();\n }\n\n const layout = data?.rows[0]?.layout;\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setData(cell, column, layout),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name.replace(\n /\\//g,\n '\\\\$1'\n )}]`\n );\n\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setData(\n cell: KupInputPanelCell,\n column: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n const defaultProps = {\n ...this.#mapData(cell, column, layout),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(\n cell: KupInputPanelCell,\n col: KupInputPanelColumn,\n layout?: KupInputPanelLayout\n ) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n let fieldLabel: string;\n if (layout?.absolute) {\n fieldLabel = null;\n } else {\n fieldLabel = col.title;\n }\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.OBJECT, this.#ObjectAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n this.#getFunctionOnClickBTN(cell, id);\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = CHKAdapter(currentValue, fieldLabel);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n let data = RADAdapter(currentValue, options);\n\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n ...data,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return data;\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #ObjectAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n\n return {\n initialValue: currentValue || '',\n label: fieldLabel || ' ',\n value: currentValue || '',\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n this.#checkOnBlurEvent(cell, id);\n }\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n if (\n cell.inputSettings?.checkObject ||\n cell.inputSettings?.checkValueOnExit ||\n cell.mandatory\n ) {\n return {\n label: fieldLabel,\n onBlur: () => {\n this.#checkOnBlurProp(cell, id);\n },\n };\n }\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #commandAdapter(cell: KupDataCell): KupDataCell {\n if (\n cell.data &&\n !cell.data.keyShortcut &&\n this.#kupManager.objects.isJ1Key(cell.obj ? cell.obj : {})\n ) {\n cell.data.keyShortcut = InputPanelKeyCommands[cell.obj.k];\n }\n\n const buttonCell = {\n ...cell,\n data: this.#BTNAdapter(null, null, cell.value, cell, cell.obj.k),\n id: cell.obj.k,\n };\n return buttonCell;\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n async #checkOnBlurProp(cell: KupInputPanelCell, id: string) {\n const currCell = this.#getCell(id);\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!currCell.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && currCell.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n if (valid) {\n this.#setCellError(id, null);\n } else {\n this.#setCellError(\n id,\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n return;\n }\n }\n\n if (cell.inputSettings?.checkValueOnExit && this.#areValuesUpdated()) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n }\n\n #checkOnBlurEvent(cell: KupInputPanelCell, id: string) {\n const evName = this.#eventBlurNames.get(cell.shape);\n if (!evName) {\n return;\n }\n\n const handler = async (e: CustomEvent<KupAutocompleteEventPayload>) => {\n const currCell = this.#getCell(id);\n\n if (e.detail.id !== id) {\n return;\n }\n\n // Required cell check\n if (cell.mandatory) {\n this.#setCellError(\n id,\n currCell.value\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.REQUIRED_VALUE\n )\n );\n\n if (!e.detail.value) {\n return;\n }\n } else {\n this.#setCellError(id, null);\n }\n\n // Valid object check\n if (cell.inputSettings?.checkObject && e.detail.value) {\n const { valid } = await this.checkValidObjCallback({\n obj: cell.obj,\n currentState: this.#reverseMapCells(),\n fun: cell.fun,\n });\n\n this.#setCellError(\n id,\n valid\n ? // If it's not empty remove the error message\n null\n : // else set the error message\n this.#kupManager.language.translate(\n KupLanguageGeneric.INVALID_VALUE\n )\n );\n if (!valid) {\n return;\n }\n }\n\n if (\n cell.inputSettings?.checkValueOnExit &&\n this.#areValuesUpdated()\n ) {\n this.checkValidValueCallback(\n {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n id\n );\n }\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n }\n\n #setCellError(id: string, error: string) {\n this.inputPanelCells = this.inputPanelCells.map((cell) => ({\n ...cell,\n cells: cell.cells.map(({ cell, column }) => {\n const data =\n column.name === id\n ? {\n ...cell.data,\n error,\n }\n : cell.data;\n return {\n column,\n cell: {\n ...cell,\n data,\n },\n };\n }),\n }));\n }\n\n #areValuesUpdated() {\n return this.inputPanelCells.some(({ cells, row }) =>\n cells.some(\n ({ cell, column: { name } }) =>\n cell.value !== row.cells[name].value\n )\n );\n }\n\n #getFunctionOnClickBTN(cell: KupInputPanelCell, id: string) {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n }\n\n #getEventDetails(\n path: HTMLElement[],\n originalEvent: PointerEvent\n ): KupInputPanelEventHandlerDetails {\n const fcell = path.find((p) => p.classList?.contains('f-cell'));\n if (fcell == null) {\n return;\n }\n\n const props = fcell['kup-get-cell-props']();\n const columnName = props.column.name;\n\n let anchor = fcell;\n let cell = this.data.rows[0].cells[columnName];\n let column = this.data.columns.find((c) => c.name == columnName);\n\n return {\n anchor,\n cell,\n column,\n originalEvent,\n };\n }\n\n #contextMenuHandler(e: PointerEvent): KupInputPanelEventHandlerDetails {\n const eventPath = this.#kupManager.getEventPath(\n e.target,\n this.rootElement\n );\n\n return this.#getEventDetails(eventPath, e);\n }\n\n #didLoadInteractables() {\n this.#kupManager.interact.managedElements.add(this.#formRef);\n\n const tapCb = (e: PointerEvent) => {\n if (e.button == 2) {\n const details = this.#contextMenuHandler(e);\n\n if (details) {\n this.kupDataTableContextMenu.emit({\n comp: this,\n id: this.rootElement.id,\n details,\n });\n }\n }\n };\n\n this.#kupManager.interact.on(\n this.#formRef,\n KupPointerEventTypes.TAP,\n tapCb\n );\n }\n\n #setFocusOnFirstInput() {\n const form = this.#formRef;\n const firstCellContent =\n form?.querySelector<HTMLElement>('.f-cell__content');\n if (!form || !firstCellContent) return;\n\n const firstInput = this.#findFirstInput(firstCellContent);\n if (firstInput) {\n setTimeout(() => firstInput.focus(), 300);\n }\n }\n\n #findFirstInput(\n element: HTMLElement | ShadowRoot\n ): HTMLInputElement | null {\n const directInput = element.querySelector<HTMLInputElement>('input');\n if (directInput) return directInput;\n\n const shadowElements =\n element instanceof HTMLElement\n ? element.querySelectorAll<HTMLElement>('*')\n : [];\n for (const elem of Array.from(shadowElements)) {\n if (elem.shadowRoot) {\n const shadowInput = elem.shadowRoot.querySelector('input');\n if (shadowInput) return shadowInput;\n }\n }\n\n return null;\n }\n\n //#endregion\n\n //#region LIFECYCLE HOOKS\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n this.onDataChanged();\n }\n\n componentDidLoad() {\n this.#didLoadInteractables();\n this.kupReady.emit({ comp: this, id: this.rootElement.id });\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n if (this.#formRef) {\n if (this.autoFocus) {\n this.#setFocusOnFirstInput();\n }\n const fs: NodeListOf<HTMLElement> =\n this.#formRef.querySelectorAll('.f-text-field');\n\n for (let index = 0; index < fs.length; index++) {\n FTextFieldMDC(fs[index]);\n }\n }\n\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const isEmptyData = Boolean(!this.inputPanelCells.length);\n const inputPanelContent: VNode[] = isEmptyData\n ? [\n <p>\n {this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_DATA\n )}\n </p>,\n ]\n : this.inputPanelCells.map((inputPanelCell) =>\n this.#renderRow(inputPanelCell)\n );\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>{inputPanelContent}</div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n //#endregion\n}\n"],"mappings":"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","ignoreList":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|