@sme.up/ketchup 11.0.0-SNAPSHOT-20241024085358 → 11.0.0-SNAPSHOT-20241024103823
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{f-cell-1eda34a4.js → f-cell-19b57f8b.js} +25 -42
- package/dist/cjs/f-cell-19b57f8b.js.map +1 -0
- package/dist/cjs/kup-autocomplete_27.cjs.entry.js +1 -1
- package/dist/cjs/kup-box.cjs.entry.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +1 -1
- package/dist/cjs/kup-image-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-input-panel.cjs.entry.js +2 -2
- package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/kup-manager-f6eafc59.js.map +1 -1
- package/dist/collection/components/kup-input-panel/kup-input-panel.css +1 -1
- package/dist/collection/f-components/f-cell/f-cell.js +25 -42
- package/dist/collection/f-components/f-cell/f-cell.js.map +1 -1
- package/dist/collection/managers/kup-data/kup-data-declarations.js.map +1 -1
- package/dist/components/kup-activity-timeline.js +1 -1
- package/dist/components/kup-autocomplete2.js +25 -42
- package/dist/components/kup-autocomplete2.js.map +1 -1
- package/dist/components/kup-box2.js +1 -1
- package/dist/components/kup-calendar.js +1 -1
- package/dist/components/kup-card-list.js +1 -1
- package/dist/components/kup-cell.js +1 -1
- package/dist/components/kup-dashboard.js +1 -1
- package/dist/components/kup-echart2.js +1 -1
- package/dist/components/kup-grid2.js +1 -1
- package/dist/components/kup-iframe.js +1 -1
- package/dist/components/kup-image-list.js +1 -1
- package/dist/components/kup-input-panel.js +2 -2
- package/dist/components/kup-input-panel.js.map +1 -1
- package/dist/components/kup-magic-box.js +1 -1
- package/dist/components/kup-manager.js +1 -1
- package/dist/components/kup-manager.js.map +1 -1
- package/dist/components/kup-planner.js +1 -1
- package/dist/components/kup-typography-list.js +1 -1
- package/dist/esm/{f-cell-465df27d.js → f-cell-0e7188e8.js} +28 -45
- package/dist/esm/f-cell-0e7188e8.js.map +1 -0
- package/dist/esm/{f-chip-f45ca58e.js → f-chip-c6c5029c.js} +2 -2
- package/dist/esm/{f-chip-f45ca58e.js.map → f-chip-c6c5029c.js.map} +1 -1
- package/dist/esm/{f-paginator-utils-f92ddef0.js → f-paginator-utils-eab9f07a.js} +2 -2
- package/dist/esm/{f-paginator-utils-f92ddef0.js.map → f-paginator-utils-eab9f07a.js.map} +1 -1
- package/dist/esm/{f-text-field-76ec5f7d.js → f-text-field-492e7cfb.js} +2 -2
- package/dist/esm/{f-text-field-76ec5f7d.js.map → f-text-field-492e7cfb.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kup-accordion.entry.js +1 -1
- package/dist/esm/kup-activity-timeline.entry.js +2 -2
- package/dist/esm/kup-autocomplete_27.entry.js +6 -6
- package/dist/esm/kup-box.entry.js +6 -6
- package/dist/esm/kup-calendar.entry.js +2 -2
- package/dist/esm/kup-card-list.entry.js +1 -1
- package/dist/esm/kup-cell.entry.js +4 -4
- package/dist/esm/kup-dashboard.entry.js +2 -2
- package/dist/esm/{kup-data-table-helper-2201fe55.js → kup-data-table-helper-646e501e.js} +2 -2
- package/dist/esm/{kup-data-table-helper-2201fe55.js.map → kup-data-table-helper-646e501e.js.map} +1 -1
- package/dist/esm/kup-drawer.entry.js +1 -1
- package/dist/esm/kup-echart.entry.js +1 -1
- package/dist/esm/kup-editor.entry.js +1 -1
- package/dist/esm/kup-family-tree.entry.js +1 -1
- package/dist/esm/kup-grid.entry.js +1 -1
- package/dist/esm/kup-htm.entry.js +1 -1
- package/dist/esm/kup-iframe.entry.js +1 -1
- package/dist/esm/kup-image-list.entry.js +4 -4
- package/dist/esm/kup-input-panel.entry.js +5 -5
- package/dist/esm/kup-input-panel.entry.js.map +1 -1
- package/dist/esm/kup-lazy.entry.js +1 -1
- package/dist/esm/kup-magic-box.entry.js +1 -1
- package/dist/esm/{kup-manager-f57e4a5f.js → kup-manager-07bfc644.js} +2 -2
- package/dist/esm/{kup-manager-f57e4a5f.js.map → kup-manager-07bfc644.js.map} +1 -1
- package/dist/esm/kup-nav-bar.entry.js +1 -1
- package/dist/esm/kup-numeric-picker.entry.js +2 -2
- package/dist/esm/kup-pdf.entry.js +1 -1
- package/dist/esm/kup-photo-frame.entry.js +1 -1
- package/dist/esm/kup-planner.entry.js +2 -2
- package/dist/esm/kup-probe.entry.js +1 -1
- package/dist/esm/kup-qlik.entry.js +1 -1
- package/dist/esm/kup-snackbar.entry.js +1 -1
- package/dist/esm/kup-typography-list.entry.js +1 -1
- package/dist/esm/kup-typography.entry.js +1 -1
- package/dist/ketchup/index.esm.js +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/{p-7a02ec00.entry.js → p-107388e3.entry.js} +2 -2
- package/dist/ketchup/{p-720c5ae1.js → p-13e7fe14.js} +2 -2
- package/dist/ketchup/{p-21c5133e.entry.js → p-17f91e1d.entry.js} +2 -2
- package/dist/ketchup/{p-e33248f0.entry.js → p-18cdc566.entry.js} +2 -2
- package/dist/ketchup/{p-5906f9a0.entry.js → p-19933a35.entry.js} +2 -2
- package/dist/ketchup/{p-0d2de1d2.entry.js → p-1e457a4c.entry.js} +2 -2
- package/dist/ketchup/{p-22a83408.entry.js → p-20b49cab.entry.js} +2 -2
- package/dist/ketchup/{p-7cacbaa8.entry.js → p-2159cb7d.entry.js} +2 -2
- package/dist/ketchup/{p-e49dd479.entry.js → p-2dfbf6cc.entry.js} +2 -2
- package/dist/ketchup/{p-1fb51b42.entry.js → p-35dcc495.entry.js} +2 -2
- package/dist/ketchup/p-3cf2fcc1.entry.js +2 -0
- package/dist/ketchup/{p-7cca823b.entry.js.map → p-3cf2fcc1.entry.js.map} +1 -1
- package/dist/ketchup/{p-e9407357.entry.js → p-3e6434f9.entry.js} +2 -2
- package/dist/ketchup/{p-1dd09495.js → p-4a84cdec.js} +2 -2
- package/dist/ketchup/{p-8eb61a64.entry.js → p-516d1ab7.entry.js} +2 -2
- package/dist/ketchup/{p-795ed6f8.entry.js → p-58978dd0.entry.js} +2 -2
- package/dist/ketchup/{p-6bf9e08e.entry.js → p-595a4c1f.entry.js} +2 -2
- package/dist/ketchup/{p-e195e9da.entry.js → p-74658c36.entry.js} +2 -2
- package/dist/ketchup/{p-94927e94.entry.js → p-89845cf1.entry.js} +2 -2
- package/dist/ketchup/{p-d5fa41e7.entry.js → p-89866b04.entry.js} +2 -2
- package/dist/ketchup/{p-9fcaf427.entry.js → p-90316bea.entry.js} +2 -2
- package/dist/ketchup/p-90316bea.entry.js.map +1 -0
- package/dist/ketchup/{p-07e18bea.entry.js → p-9b1a821d.entry.js} +2 -2
- package/dist/ketchup/{p-4d19d951.entry.js → p-a97d6070.entry.js} +2 -2
- package/dist/ketchup/{p-9e7f5ec3.entry.js → p-ab60dd33.entry.js} +2 -2
- package/dist/ketchup/{p-44177671.entry.js → p-ae122dfc.entry.js} +2 -2
- package/dist/ketchup/{p-bdd1c18c.entry.js → p-be8e06db.entry.js} +2 -2
- package/dist/ketchup/p-c5845d51.js +2 -0
- package/dist/ketchup/{p-b2756ccb.entry.js → p-c9f02ff2.entry.js} +2 -2
- package/dist/ketchup/{p-3c56b590.entry.js → p-cb02fb80.entry.js} +2 -2
- package/dist/ketchup/{p-f6a5e96d.js → p-d2ca23dd.js} +2 -2
- package/dist/ketchup/p-d2ca23dd.js.map +1 -0
- package/dist/ketchup/{p-6b3839e9.entry.js → p-e41ef521.entry.js} +2 -2
- package/dist/ketchup/{p-7c8d7e71.entry.js → p-e995d57b.entry.js} +2 -2
- package/dist/ketchup/{p-afcecbf4.entry.js → p-ed185e52.entry.js} +2 -2
- package/dist/ketchup/{p-b83642df.entry.js → p-f0b0c1a0.entry.js} +2 -2
- package/dist/ketchup/{p-709d72e1.js → p-f4049819.js} +2 -2
- package/dist/ketchup/p-f63dd1ec.js +2 -0
- package/dist/ketchup/p-f63dd1ec.js.map +1 -0
- package/dist/types/managers/kup-data/kup-data-declarations.d.ts +7 -1
- package/package.json +1 -1
- package/dist/cjs/f-cell-1eda34a4.js.map +0 -1
- package/dist/esm/f-cell-465df27d.js.map +0 -1
- package/dist/ketchup/p-5b5d99c4.js +0 -2
- package/dist/ketchup/p-5b5d99c4.js.map +0 -1
- package/dist/ketchup/p-7cca823b.entry.js +0 -2
- package/dist/ketchup/p-9fcaf427.entry.js.map +0 -1
- package/dist/ketchup/p-f2f03a48.js +0 -2
- package/dist/ketchup/p-f6a5e96d.js.map +0 -1
- /package/dist/ketchup/{p-7a02ec00.entry.js.map → p-107388e3.entry.js.map} +0 -0
- /package/dist/ketchup/{p-720c5ae1.js.map → p-13e7fe14.js.map} +0 -0
- /package/dist/ketchup/{p-21c5133e.entry.js.map → p-17f91e1d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e33248f0.entry.js.map → p-18cdc566.entry.js.map} +0 -0
- /package/dist/ketchup/{p-5906f9a0.entry.js.map → p-19933a35.entry.js.map} +0 -0
- /package/dist/ketchup/{p-0d2de1d2.entry.js.map → p-1e457a4c.entry.js.map} +0 -0
- /package/dist/ketchup/{p-22a83408.entry.js.map → p-20b49cab.entry.js.map} +0 -0
- /package/dist/ketchup/{p-7cacbaa8.entry.js.map → p-2159cb7d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e49dd479.entry.js.map → p-2dfbf6cc.entry.js.map} +0 -0
- /package/dist/ketchup/{p-1fb51b42.entry.js.map → p-35dcc495.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e9407357.entry.js.map → p-3e6434f9.entry.js.map} +0 -0
- /package/dist/ketchup/{p-1dd09495.js.map → p-4a84cdec.js.map} +0 -0
- /package/dist/ketchup/{p-8eb61a64.entry.js.map → p-516d1ab7.entry.js.map} +0 -0
- /package/dist/ketchup/{p-795ed6f8.entry.js.map → p-58978dd0.entry.js.map} +0 -0
- /package/dist/ketchup/{p-6bf9e08e.entry.js.map → p-595a4c1f.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e195e9da.entry.js.map → p-74658c36.entry.js.map} +0 -0
- /package/dist/ketchup/{p-94927e94.entry.js.map → p-89845cf1.entry.js.map} +0 -0
- /package/dist/ketchup/{p-d5fa41e7.entry.js.map → p-89866b04.entry.js.map} +0 -0
- /package/dist/ketchup/{p-07e18bea.entry.js.map → p-9b1a821d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-4d19d951.entry.js.map → p-a97d6070.entry.js.map} +0 -0
- /package/dist/ketchup/{p-9e7f5ec3.entry.js.map → p-ab60dd33.entry.js.map} +0 -0
- /package/dist/ketchup/{p-44177671.entry.js.map → p-ae122dfc.entry.js.map} +0 -0
- /package/dist/ketchup/{p-bdd1c18c.entry.js.map → p-be8e06db.entry.js.map} +0 -0
- /package/dist/ketchup/{p-f2f03a48.js.map → p-c5845d51.js.map} +0 -0
- /package/dist/ketchup/{p-b2756ccb.entry.js.map → p-c9f02ff2.entry.js.map} +0 -0
- /package/dist/ketchup/{p-3c56b590.entry.js.map → p-cb02fb80.entry.js.map} +0 -0
- /package/dist/ketchup/{p-6b3839e9.entry.js.map → p-e41ef521.entry.js.map} +0 -0
- /package/dist/ketchup/{p-7c8d7e71.entry.js.map → p-e995d57b.entry.js.map} +0 -0
- /package/dist/ketchup/{p-afcecbf4.entry.js.map → p-ed185e52.entry.js.map} +0 -0
- /package/dist/ketchup/{p-b83642df.entry.js.map → p-f0b0c1a0.entry.js.map} +0 -0
- /package/dist/ketchup/{p-709d72e1.js.map → p-f4049819.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"f-cell-1eda34a4.js","mappings":";;;;;;;;;;AAIA;;;;AAIYA;AAAZ,WAAY,YAAY;IACpB,8DAA8C,CAAA;IAC9C,8CAA8B,CAAA;IAC9B,gHAAgG,CAAA;IAChG,yFAAyE,CAAA;IACzE,uFAAuE,CAAA;IACvE,qEAAqD,CAAA;IACrD,+FAA+E,CAAA;IAC/E,2GAA2F,CAAA;IAC3F,0GAA0F,CAAA;IAC1F,2EAA2D,CAAA;IAC3D,yFAAyE,CAAA;IACzE,yFAAyE,CAAA;AAC7E,CAAC,EAbWA,oBAAY,KAAZA,oBAAY,QAavB;AASD;;;AAGYC;AAAZ,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;IACzB,8BAAe,CAAA;AACnB,CAAC,EAJWA,mBAAW,KAAXA,mBAAW,QAItB;AAMWC;AAAZ,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;AACjC,CAAC,EAJWA,wBAAgB,KAAhBA,wBAAgB;;AC3B5B;;;;;;AAOYC;AAAZ,WAAY,aAAa;IACrB,gCAAe,CAAA;IACf,kCAAiB,CAAA;AACrB,CAAC,EAHWA,qBAAa,KAAbA,qBAAa;;ACpBzB;AACA;AACA;MAEa,OAAO,GAAsC,CACtD,KAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACf,KAAK,CAAC,MAAM,GAAGA,qBAAa,CAAC,MAAM,CAAC;KACvC;IACwB,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAKA,qBAAa,CAAC,MAAM;IAC5E,MAAM,QAAQ,GAA4B;QACtC,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,KAAK,CAAC,OAAO;QAChC,kBAAkB,EAAE,KAAK,CAAC,QAAQ;QAClC,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK;KAC3D,CAAC;IAEF,QACIC,+BACI,KAAK,EAAE,YAAY,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,IAC/C,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAC9B,IAAI,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EAAE,IACtC,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAC9C,EAAE,IACE,KAAK,CAAC,OAAO,IACjB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAElBA,iBACI,KAAK,EAAE,cACH,KAAK,CAAC,YAAY,GAAG,uBAAuB,GAAG,EACnD,EAAE;YAEFA,iBAAK,KAAK,EAAE,QAAQ;gBAChBA,iBAAK,KAAK,EAAC,eAAe,GAAO;gBACjCA,iBAAK,KAAK,EAAC,wBAAwB;oBAC/BA,iBAAK,KAAK,EAAC,eAAe;wBACtBA,mBACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,wBAAwB,EAC9B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK,EACnC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,GACjB,CACP,CACJ,CACJ;YACNA,mBAAO,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAG,KAAK,CAAC,KAAK,CAAS,CACnD,CACJ,EACR;AACN;;AC1DA;AACA;AACA;MAEa,YAAY,GAA2C,CAChE,KAAwB;IAExB,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE;QACxD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;KAC9B;IAED,IAAI,cAAc,GAAG,kBAAkB,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,IACnE,KAAK,CAAC,QAAQ,GAAG,cAAc,GAAG,EACtC,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAChE,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAC9B,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,MAClC,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EACxC,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClE,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;IACnD,IAAI,QAAQ,GAAW,KAAK,CAAC;IAC7B,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;QAChB,cAAc,IAAI,wBAAwB,CAAC;KAC9C;SAAM;QACH,cAAc,IAAI,eAAe,CAAC;KACrC;IAED,IAAI,UAAU,GAAG,SAAS,CAAC;IAE3B,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG;KAC3B,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;QACtB,UAAU,GAAG,UAAU,CAAC;QACxB,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;YACjB,cAAc,IAAI,wBAAwB,CAAC;SAC9C;KACJ;SAAM,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE;QACzB,cAAc,IAAI,wBAAwB,CAAC;KAC9C;IAED,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,KAAK,CAAC,IAAI,EAAE;QACZ,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACpC;SAAM;QACH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,KAAK,GAAGA,kBAAM,KAAK,EAAC,OAAO,IAAE,KAAK,CAAC,KAAK,CAAQ,CAAC;iBACpD;qBAAM;oBACH,KAAK,IACDA,kBAAM,KAAK,EAAC,OAAO;wBACd,KAAK,CAAC,KAAK;wBACZA,kBAAM,KAAK,EAAC,SAAS,QAAS,CAC3B,CACV,CAAC;iBACL;aACJ;iBAAM;gBACH,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;iBACvB;qBAAM;oBACH,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;iBAC7B;aACJ;SACJ;KACJ;IAED,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;QACjB,QAAQ,IAAI,YAAY,CAAC;QACzB,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE;YAClB,QAAQ,IAAI,oBAAoB,CAAC;SACpC;aAAM;YACH,QAAQ,IAAI,oBAAoB,CAAC;SACpC;KACJ;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE;QAChB,QACIA,iBAAK,KAAK,EAAE,cAAc;YACrB,KAAK;YACNA,iBAAK,KAAK,EAAE,QAAQ;gBAChBA,iBACI,KAAK,EAAE,WAAW,EAClB,KAAK,EAAC,uBAAuB,GAC1B;gBACPA,iBAAK,KAAK,EAAC,wBAAwB,GAAO,CACxC;YACNA,iBAAK,KAAK,EAAC,QAAQ,GAAO,CACxB,EACR;KACL;SAAM;QACH,QACIA,iBAAK,KAAK,EAAE,cAAc;YACtBA,iBAAK,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAE,UAAU;gBAClDA,kBAAM,KAAK,EAAE,UAAU,IAAG,KAAK,CAAQ,CACrC,CACJ,EACR;KACL;AACL,EAAE;AAEF,SAAS,iBAAiB,CAAC,KAAwB;IAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACb,OAAO,SAAS,CAAC;KACpB;IAED,IACI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC/B;QACE,QACIA,kBAAM,KAAK,EAAC,yBAAyB;YACjCA,iBAAK,GAAG,EAAE,KAAK,CAAC,IAAI,GAAQ,CACzB,EACT;KACL;SAAM;QACH,IAAI,GAAG,GAAW,QAAQC,kBAAY,CAClC,gBAAgB,KAAK,CAAC,IAAI,MAAM,CACnC,qBAAqB,CAAC;QACvB,IAAI,SAAS,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,GAAG;SAClB,CAAC;QACF,OAAOD,kBAAM,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,gBAAgB,GAAQ,CAAC;KACjE;AACL;;AC1GA,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,iCAAmB,CAAA;AACvB,CAAC,EAHW,UAAU,KAAV,UAAU;;AChBtB;AACA;AACA;MAEa,MAAM,GAAqC,CACpD,KAAkB;;IAElB,MAAM,UAAU,GAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5C,MAAM,SAAS,GAAiB,EAAE,CAAC;;IAGnC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,CAAA,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAkB;YAC5B,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK;YAC7C,iBAAiB,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK;YAChD,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK;SACtD,CAAC;QAEF,SAAS,CAAC,IAAI,CACVA,iBACI,KAAK,EAAE;oBACH,KAAK,CAAC,YAAY,GAAG,wBAAwB,GAAG,EAAE,IAClD,KAAK,CAAC,QAAQ,GAAG,iBAAiB,GAAG,EACzC,EAAE;YAEFA,iBAAK,KAAK,EAAE,QAAQ;gBACf,SAAS,KAAK,UAAU,CAAC,KAAK;;gBAE3BA,mBACI,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,eAAe,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EACJ,KAAK,CAAC,QAAQ;0BACR,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;0BACtC,IAAI,EAEd,OAAO,EAAE,KAAK,CAAC,OAAO,GACjB;;gBAGTA,8BACK,IAAI,CAAC,OAAO,IACTA,QAACE,aAAM,IACH,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,GACN,KAEVF,QAACE,aAAM,IACH,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,EACZ,OAAO,EACH,KAAK,CAAC,QAAQ;0BACR,KAAK,CAAC,QAAQ,CAAC,IAAI,CACf,KAAK,CAAC,QAAQ,EACd,CAAC,CACJ;0BACD,IAAI,GAER,CACb,CACF,CACN;gBACA,SAAS,KAAK,UAAU,CAAC,KAAK,KAC3BF,iBAAK,KAAK,EAAC,mBAAmB;oBAC1BA,iBAAK,KAAK,EAAC,qBAAqB,GAAO;oBACvCA,iBAAK,KAAK,EAAC,qBAAqB,GAAO,CACrC,CACT,CACC;YACNA,mBACI,OAAO,EAAE,eAAe,EACxB,OAAO,EACH,KAAK,CAAC,QAAQ;sBACR,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;sBACtC,IAAI,IAGb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CACzB,CACN,CACT,CAAC;KACL;IAED,MAAM,QAAQ,GAAkB;QAC5B,qBAAqB,EAAE,UAAU;cAC3B,UAAU,KAAK,CAAC,OAAO,QAAQ;cAC/B,EAAE;KACX,CAAC;IAEF,QACIA,iBACI,KAAK,EAAE;eACJ,UAAU,GAAG,oBAAoB,GAAG,EAAE,IACrC,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAClC,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAC5B,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EACxC,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClC,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,IAC5C,KAAK,CAAC,UAAU,GAAG,gBAAgB,GAAG,EAC1C,EAAE,EACF,KAAK,EAAE,QAAQ,IAEd,SAAS,CACR,EACR;AACN;;ACzHA;AACA;AACA;MAEa,OAAO,GAAsC,CACtD,KAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACtB;IACD,QACIA,iBACI,KAAK,EAAE,YAAY,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,IAC/C,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,EAClC,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,IAC5B,KAAK,CAAC,SAAS,GAAG,eAAe,GAAG,EACxC,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EAAE,IAClC,KAAK,CAAC,OAAO,GAAG,aAAa,GAAG,EACpC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAAE,IAEjD,UAAU,CAAC,KAAK,CAAC,CAChB,EACR;AACN,EAAE;AAEF,SAAS,UAAU,CAAC,KAAmB;IACnC,MAAM,KAAK,GAAY,EAAE,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAClB,KAAK,CAAC,IAAI,CACNA,kBACI,KAAK,EAAC,QAAQ,EACd,OAAO,EACH,KAAK,CAAC,OAAO;sBACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;sBACpC,IAAI,aAIX,CACV,CAAC;SACL;aAAM;YACH,KAAK,CAAC,IAAI,CACNA,kBACI,KAAK,EAAC,QAAQ,EACd,OAAO,EACH,KAAK,CAAC,OAAO;sBACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;sBACpC,IAAI,aAIX,CACV,CAAC;SACL;KACJ;IAED,OAAO,KAAK,CAAC;AACjB;;ACCA,MAAM,GAAG,GAAW,QAAQ,CAAC,eAAyB,CAAC;AAEvD;AACA;AACA;MAEa,KAAK,GAAoC,CAClD,KAAiB,EACjB,QAAkB;;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;UACnB,KAAK,CAAC,KAAK;UACX,IAAI,CAAC,KAAK;cACV,IAAI,CAAC,KAAK;cACV,MAAM,CAAC,KAAK;kBACZ,MAAM,CAAC,KAAK;kBACZ,IAAI,CAAC;IACX,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QACnC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;KAChC;SAAM,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QAC5C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;KAClC;IACD,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;IAE1C,IAAI,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,mCAAI,IAAI,CAAC,IAAI,CAAC;QAE/C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,KAAKG,sBAAW,CAAC,UAAU,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;SAChC;KACJ;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,iBAAiB,qBAAiB,IAAI,CAAC,IAAI,CAAE,CAAC;IACpD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ;UACxB,IAAI,CAAC,QAAQ;UACb,MAAM,CAAC,QAAQ;cACf,MAAM,CAAC,QAAQ;cACf,EAAE,CAAC;IACT,IAAK,KAAK,CAAC,SAA0B,CAAC,UAAU,EAAE;QAC9C,UAAU,IAAI,kBAAkB,CAAC;KACpC;IACD,MAAM,QAAQ,GAA4B;QACtC,QAAQ,EAAE,IAAI;QACd,CAACC,uBAAY,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK;QACzC,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI;QAC1B,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK;QACvD,CAAC,KAAK,CAAC,OAAO,GACV,KAAK,CAAC,OAAO,IAAI,QAAQ,KAAKC,qBAAU,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK;QAC/D,CAAC,UAAU,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK;KAC1C,CAAC;IACF,IAAI,OAAO,GAAY,cAAc,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACZ,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC/B;IACD,IAAI,UAAU,IAAIC,wBAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAChD,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;KACtE;SAAM,IAAI,IAAI,CAAC,IAAI,IAAIC,mBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACjD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC;YACtD,OAAO,GAAGP,kBAAM,KAAK,EAAE,SAAS,GAAS,CAAC;SAC7C;aAAM;YACH,OAAO,GAAG,UAAU,CAChB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,IAAI,EACJ,GAAG,EACH,MAAM,EACN,KAAK,CACR,CAAC;SACL;KACJ;SAAM;QACH,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChB,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACzD;QACD,OAAO,GAAG,OAAO,CACb,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,KAAK,CACR,CAAC;KACL;IAED,IAAI,IAAI,GAAU,IAAI,CAAC;IACvB,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE;QACtD,MAAM,MAAM,GAAgB;YACxB,KAAK,EAAE,YAAYQ,8BAAmB,CAAC,IAAI,eAAe;YAC1D,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;YAC7C,mBAAmB,EAAE,IAAI,CAAC,eAAe;kBACnC,IAAI,CAAC,eAAe;kBACpB,MAAM,CAAC,eAAe;YAC5B,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,YAAY,EAAE,UAAU;SAC3B,CAAC;QACF,IAAI,GAAGR,QAACE,aAAM,oBAAK,MAAM,EAAI,CAAC;KACjC;IAED,IAAI,SAAS,GAAW,IAAI,CAAC;IAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE;QACvC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;KACxE;SAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACtD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;KAC1B;IAED,IAAI,MAAM,GAAgB,IAAI,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,EAAE;QACX,MAAM,IAAI,qBAAmB,IAAI,CAAC,IAAI,CAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,KAAK,GAAG,OAAOM,8BAAmB,CAAC,IAAI,GAAG,CAAC;SACnD;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;SACtB;QACD,MAAM,MAAM,GAAgB;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,mBAAmB,EAAE,IAAI,CAAC,eAAe;YACzC,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;YACvC,YAAY,EAAE,WAAW;SAC5B,CAAC;QACF,MAAM,GAAGR,QAACE,aAAM,oBAAK,MAAM,EAAI,CAAC;KACnC;IAED,QACIF,iBACI,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,KAAK,CAAC,EAChE,KAAK,EAAE,QAAQ,wBACK;YAChB,OAAO,KAAK,CAAC;SAChB,EACD,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAChC,KAAK,EAAE,IAAI,CAAC,KAAK;QAEjBT,iBACI,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,KAAK,EAAE,SAAS;YAEf,KAAK,CAAC,cAAc,KACjBA,QAACE,aAAM,IACH,QAAQ,EAAC,WAAW,EACpB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,EACZ,YAAY,EAAE,wBACV,QAAQ,KAAKG,qBAAU,CAAC,MAAM,GAAG,MAAM,GAAG,OAC9C,EAAE,EACF,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,EACrC,QAAQ,EAAE,CAAC,GACb,CACL;YACA,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;kBAC1B,QAAQ;kBACR,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAC1C,CACJ,EACR;AACN,EAAE;AAEF,MAAM,OAAO,GAAG,CAAC,IAAwB,EAAE,GAAkB;IACzD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,IAAI,CAAC;KACf;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,IAAI,GAAG,CAA4B;QACtD,CAACA,qBAAU,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QACnD,CAACL,qBAAU,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QAC9C,CAACL,qBAAU,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QAC7C,CAACL,qBAAU,CAAC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QAC1D,CAACL,qBAAU,CAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QACtD,CAACL,qBAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;QAChD,CAACL,qBAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAACK,SAAI,CAAC,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,OAAO;UACR,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;UAC1D,IAAI,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACtB,OAAsB,EACtB,WAAmB,EACnB,YAAoB,EACpB,KAAwB,EACxB,GAAW;IAEX,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACZ,OAAO;YACH,YAAY,EAAE,YAAY;YAC1B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;YACvB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;SAC1B,CAAC;KACL;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,OAAsB,EACtB,WAAmB,EACnB,aAAqB;IAErB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,EAAE;QACd,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;YAC3B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;SAC1B,CAAC;KACL;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,OAAsB,EACtB,WAAmB,EACnB,aAAqB,EACrB,KAAyB;IAEzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,EAAE;QACd,OAAO;YACH,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;SAC1B,CAAC;KACL;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,OAAsB,EACtB,WAAmB,EACnB,YAAoB;IAEpB,OAAOC,qBAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CACzB,UAAyB,EACzB,UAAkB,EAClB,YAAoB;IAEpB,MAAM,cAAc,GAAGC,2BAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAEtE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,uBAAuB,CAC1D,UAAU,EACV,YAAY,CACf,CAAC;IACF,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,OAAY,EAAE,YAAoB;IAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,OAAO,EAAE;QACT,OAAO,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;KACzC;SAAM;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC,EAAE;SACvC,CAAC,CAAC,CAAC;KACP;AACL,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC3B,OAAY,EACZ,YAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK;;QAAK,QAAC;YACpC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;YAC/C,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM;kBAC1B,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC;kBAC3C,EAAE;SACX,EAAC;KAAA,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACnC,OAAY,EACZ,YAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK;;QAAK,QAAC;YACpC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM;kBAC1B,8BAA8B,CAAC,KAAK,EAAE,YAAY,CAAC;kBACnD,EAAE;SACX,EAAC;KAAA,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CACxB,OAAY,EACZ,YAAoB;IAEpB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC;QACtC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;YACnB,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,0CAAE,KAAK,KAAI,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;YAC7C,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;SAC7C,CAAC;KACL,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAG/B;IACE,CAAC,eAAe,EAAE,sBAAsB,CAAC,IAAI,CAACF,SAAI,CAAC,CAAC;IACpD,CAAC,eAAe,EAAE,8BAA8B,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;IAC5D,CAAC,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;IAC9C,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAACA,SAAI,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CACnB,QAAuB,EACvB,WAAmB,EACnB,aAAqB,EACrB,IAAwB;;IAExB,OAAO;QACH,IAAI,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM;cACpB,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,MAAM,MAAM;gBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC,CAAC;cACH,EAAE;KACX,CAAC;AACN,CAAC,CAAC;AAEF,SAAS,WAAW,CAChB,QAAgB,EAChB,iBAA0B,EAC1B,IAAiB,EACjB,KAAiB;;IAEjB,QAAQ,QAAQ;QACZ,KAAKL,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,IAAI;YAChB,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GACnB,iBACH,CAAC,KAAK,CAAC;iBACX;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG;oBACT,SAAS,EAAG,iBAAiC,CAAC,KAAK;iBACtD,CAAC;aACL;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,KAAK;YACjB,MAAM,SAAS,GAAG,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE,CAAC;YAC1C,MAAM,mBAAmB,GACrB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,IACK,KAAK,CAAC,SAA0B,CAAC,WAAW,CAAC,OAAO;gBACjDQ,sBAAW,CAAC,UAAU;gBAC1B,CAAC,mBAAmB,EACtB;gBACE,IACI,CAAE,iBAAiC,CAAC,KAAK;oBACzC,CAAE,iBAAiC,CAAC,KAAK,EAC3C;oBACG,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;oBACjD,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;oBACjD,iBAAiC,CAAC,YAAY,GAAG,SAAS,CAAC;iBAC/D;qBAAM;oBACH,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;wBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;wBACjD,iBAAiC,CAAC,YAAY;4BAC3C,SAAS,CAAC;qBACjB;oBACD,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;wBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;qBACrD;iBACJ;aACJ;YACD,IACK,KAAK,CAAC,SAA0B,CAAC,WAAW,CAAC,OAAO;gBACrDA,sBAAW,CAAC,GAAG,EACjB;gBACE,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;oBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;iBACrD;gBACD,IAAK,iBAAiC,CAAC,GAAG,KAAK,SAAS,EAAE;oBACrD,iBAAiC,CAAC,GAAG,GAAG,IAAI,CAAC;iBACjD;aACJ;iBAAM,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBACjD,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YAED,MAAM;KACb;AACL,CAAC;AAED,SAAS,cAAc,CACnB,QAAgB,EAChB,iBAA0B,EAC1B,IAAiB;IAEjB,QAAQ,QAAQ;QACZ,KAAKR,qBAAU,CAAC,GAAG;YACf,IAAI,CAAE,iBAAiC,CAAC,KAAK,EAAE;gBAC1C,iBAAiC,CAAC,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,MAAM,GAAW,EAAE,CAAC;YACxB,IAAK,iBAAkC,CAAC,KAAK,EAAE;gBAC3C,MAAM,GAAG,MAAM,CAAC;aACnB;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;iBACpC;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;aACtC;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,KAAK;YACjB,IAAI,CAAE,iBAA8B,CAAC,KAAK,EAAE;gBACvC,iBAA8B,CAAC,KAAK,GAAG,MAAM,CAAC;aAClD;YACD,IAAI,CAAE,iBAA8B,CAAC,KAAK,EAAE;gBACvC,iBAA8B,CAAC,KAAK,GAAG,MAAM,CAAC;aAClD;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,IAAI;YAChB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;iBACpC;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;aACtC;YACD,MAAM;QACV,KAAKA,qBAAU,CAAC,KAAK;YACjB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;iBACpC;aACJ;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;aACtC;YACD,MAAM;KACb;AACL,CAAC;AAED,SAAS,eAAe,CACpB,QAAgB,EAChB,QAAiC,EACjC,IAAiB,EACjB,MAAqB,EACrB,KAAiB;;IAEjB,QAAQ,QAAQ;QACZ,KAAKA,qBAAU,CAAC,YAAY;YACxB,QACIL,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,+BACtB,CACvB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,8BAC5B,CACtB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,kCACvB,CAC1B,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,UAAU,CAAC,IAC5D,EACJ;QACN,KAAKJ,qBAAU,CAAC,QAAQ;YACpB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YAED,IAAI,IAAI,CAAC,KAAK,KAAKD,sBAAW,CAAC,cAAc,EAAE;gBAC3C,QACIH,mBACI,OAAO,EACH,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;0BACnC,IAAI;0BACJ,KAAK,EAEf,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,EAErD,IAAI,EAAC,UAAU,GACV,EACX;aACL;iBAAM;gBACH,QACIT,QAACc,mBAAS,oBACF,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEL,sBAAW,CAAC,MAAM,CAAC,IAEvD,EACJ;aACL;QACL,KAAKJ,qBAAU,CAAC,IAAI;YAChB,QACIL,sCACQ,IAAI,CAAC,IAAI,IACb,IAAI,EAAEe,eAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEN,sBAAW,CAAC,MAAM,CAAC;gBAEtDT,0CACI,SAAS,EAAE,IAAI,EACf,IAAI,EAAC,OAAO,IACR,IAAI,CAAC,QAAQ,EACH,CACX,EACb;QACN,KAAKK,qBAAU,CAAC,YAAY;YACxB,QACIL,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,EACjD,QAAQ,EAAE,KAAK,8BACW,CACtB,CAA0C,KACzC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,IACtC,EACtB;QACN,KAAKJ,qBAAU,CAAC,QAAQ;YACpB,QACIL,wCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,2BAC1B,CACnB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,0BAChC,CAClB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,8BAC3B,CACtB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,UAAU,CAAC,IAC5D,EACJ;QACN,KAAKJ,qBAAU,CAAC,IAAI;YAChB,QACIL,2CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,6BACxB,CACrB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,4BAC9B,CACpB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,IACvD,EACJ;QACN,KAAKJ,qBAAU,CAAC,kBAAkB;YAC9B,QACIL,oCACI,SAAS,EAAE,IAAI,IACX,IAAI,CAAC,IAAI,IACb,IAAI,EAAEe,eAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEN,sBAAW,CAAC,MAAM,CAAC;gBAEtDT,4CACI,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAEF,wBAAgB,CAAC,oBAAoB,EAClD,UAAU,EAAEA,wBAAgB,CAAC,oBAAoB,8BACvB,CACtB,CAA2C,KAC1C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEW,sBAAW,CAAC,KAAK,CAAC,kCACvB,CAC1B,CAAuC,KAEvC,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACRA,sBAAW,CAAC,UAAU,CACzB,EAEL,gBAAgB,EAAE,KAAK,IACnB,IAAI,CAAC,QAAQ,EACD,CACb,EACb;QACN,KAAKJ,qBAAU,CAAC,cAAc;YAC1B,QACIL,oCACI,SAAS,EAAE,IAAI,IACX,IAAI,CAAC,IAAI,IACb,IAAI,EAAEe,eAAS,CAAC,KAAK,EACrB,WAAW,EAAE,IAAI,uBACE,CACf,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEN,sBAAW,CAAC,MAAM,CAAC;gBAEtDT,wCACI,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAEF,wBAAgB,CAAC,oBAAoB,EAClD,UAAU,EAAEA,wBAAgB,CAAC,oBAAoB,0BAC3B,CAClB,CAAuC,KACtC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEW,sBAAW,CAAC,KAAK,CAAC,8BAC3B,CACtB,CAAuC,KAEvC,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACRA,sBAAW,CAAC,UAAU,CACzB,IAED,IAAI,CAAC,QAAQ,EACL,CACT,EACb;QACN,KAAKJ,qBAAU,CAAC,KAAK;YACjB,QACIL,QAAC,MAAM,oBACC,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,CAAC,CAAS,EAAE,CAAa;oBAC/B,MAAM,SAAS,GAAI,IAAI,CAAC,IAAoB,CAAC,IAAI,CAAC;oBAClD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACnD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;wBACjC,IAAI,KAAK,KAAK,CAAC,EAAE;4BACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;yBAC1B;6BAAM;4BACH,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;yBAC3B;qBACJ;oBACD,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,CAAC;iBACrD,IACK,EACZ;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QACIL,sCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,wBACK,CAChB,CAA0C,KACzC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,IAC5C,EAChB;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QACIL,QAAC,OAAO,oBACA,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,CAAC,CAAa,KACpB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,IAE9C,EACb;QACN,KAAKJ,qBAAU,CAAC,IAAI;YAChB,QACIL,2CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IACpB,IAAI,CAAC,IAAI,IACb,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,6BACxB,CACrB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAES,sBAAW,CAAC,MAAM,CAAC,4BAC9B,CACpB,CAAyC,KACxC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,IACvD,EACJ;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QACIL,QAACgB,qBAAU,kBACP,IAAI,EAAE,OAAO,IACT,IAAI,CAAC,IAAI,IACb,QAAQ,EAAE,KAAK,EACf,WAAW,EAAE,CAAC,CAAC,KACX,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEP,sBAAW,CAAC,UAAU,CAAC,IAE/C,EAChB;QACN,KAAKJ,qBAAU,CAAC,MAAM;YAClB,QAAQ,CAACD,uBAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAClD,KAAKC,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,MAAM;YAClB,MAAM,QAAQ,GAAG,CAAC,CAAa,KAC3B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEI,sBAAW,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,CAAC,CAAa,KAC1B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAEA,sBAAW,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,KAAKJ,qBAAU,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;YAC9D,MAAM,KAAK,GACP,QAAQ,KAAKA,qBAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;kBACtC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;kBACrD,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,KAAKF,sBAAW,CAAC,WAAW,EAAE;gBACxC,QACIH,mBACI,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS,mCAAI,CAAC,CAAC,GACtC,EACX;aACL;iBAAM;gBACH,QACIA,QAACgB,qBAAU,kBACP,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,IACxC,IAAI,CAAC,IAAI,IACb,IAAI,EACA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;0BACrB,IAAI,CAAC,IAAI,CAAC,IAAI;0BACd,IAAI,CAAC,IAAI;8BACT,IAAI,CAAC,IAAI;8BACT,MAAM,CAAC,IAAI;kCACX,MAAM,CAAC,IAAI;kCACX,IAAI,EAEd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,CAAa,KACvB,SAAS,CACL,CAAC,EACD,KAAK,EACL,QAAQ,EACRP,sBAAW,CAAC,UAAU,CACzB,IAEP,EACJ;aACL;KACR;AACL,CAAC;AAED,SAAS,OAAO,CACZ,QAAgB,EAChB,iBAAgC,EAChC,OAAgB,EAChB,QAAiC,EACjC,IAAiB,EACjB,MAAqB,EACrB,KAAiB;IAEjB,QAAQ,QAAQ;QACZ,KAAKJ,qBAAU,CAAC,YAAY,CAAC;QAC7B,KAAKA,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,IAAI;YAChB,IAAI,OAAO,IAAI,OAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,SAAS,GAAGY,iCAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,OAAOjB,iBAAK,KAAK,EAAC,cAAc,IAAE,SAAS,CAAO,CAAC;aACtD;YACD,OAAO,OAAO,CAAC;QACnB,KAAKK,qBAAU,CAAC,QAAQ;YACpB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACIJ,QAACE,aAAM,IACH,QAAQ,EACH,iBAAoC,CAAC,OAAO;sBACvC,WAAW;sBACX,yBAAyB,EAEnC,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,MAAM,GACd,EACJ;QACN,KAAKG,qBAAU,CAAC,MAAM;YAClB,OAAOL,iBAAK,SAAS,EAAE,IAAI,CAAC,KAAK,GAAQ,CAAC;QAC9C,KAAKK,qBAAU,CAAC,IAAI;YAChB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,IAAK,iBAAiC,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAACA,uBAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;aAC1C;YACD,OAAOJ,QAACE,aAAM,oBAAK,iBAAiB,EAAI,CAAC;QAC7C,KAAKG,qBAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,IAAK,iBAAiC,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAACA,uBAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;aAC1C;YAED,OAAOJ,QAACE,aAAM,oBAAK,iBAAiB,EAAI,CAAC;QAE7C,KAAKG,qBAAU,CAAC,IAAI;YAChB,QACIL,eAAG,IAAI,EAAE,OAAiB,EAAE,MAAM,EAAC,QAAQ,IACtC,IAAI,CAAC,KAAK,CACX,EACN;QACN,KAAKK,qBAAU,CAAC,MAAM;YAClB,IAAI,OAAO,IAAI,OAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAClD,IAAI,CAAC,KAAK,CACb,CAAC;gBACF,MAAM,SAAS,GAAGY,iCAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,eAAe,GAAG,CAAC,EAAE;oBACrB,QAAQ,CAACb,uBAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;iBAC7C;gBACD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;oBACvB,QAAQ,CAACA,uBAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;iBACjD;gBACD,OAAOJ,iBAAK,KAAK,EAAC,cAAc,IAAE,SAAS,CAAO,CAAC;aACtD;YACD,OAAOA,iBAAK,KAAK,EAAC,cAAc,IAAE,OAAO,CAAO,CAAC;QACrD,KAAKK,qBAAU,CAAC,MAAM;YAClB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACrC,OAAOJ,QAAC,OAAO,oBAAK,iBAAiB,EAAY,CAAC;QACtD;YACI,OAAOA,iBAAK,KAAK,EAAC,cAAc,IAAE,OAAO,CAAO,CAAC;KACxD;AACL,CAAC;AAED,SAAS,UAAU,CACf,QAAgB,EAChB,QAAiC,EACjC,iBAAgC,EAChC,IAAiB,EACjB,GAAe,EACf,MAAqB,EACrB,KAAiB;IAEjB,QAAQ,QAAQ;QACZ,KAAKK,qBAAU,CAAC,GAAG;YACf,IAAI,CAAE,iBAAiC,CAAC,IAAI,EAAE;gBAC1C,QACIL,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,KAAK,EAAC,OAAO,IACT,iBAAiB,EACvB,EACJ;aACL;iBAAM;gBACH,MAAM,QAAQ,GAAG;oBACb,MAAM,EAAG,iBAAiC,CAAC,KAAK;oBAChD,KAAK,EAAE,MAAM;iBAChB,CAAC;gBACF,QACIA,iBAAK,KAAK,EAAE,QAAQ;oBAChBA,QAACE,aAAM,oBAAK,iBAAiB,EAAI,CAC/B,EACR;aACL;QACL,KAAKG,qBAAU,CAAC,MAAM;YAClB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACIJ,QAACkB,eAAO,oBACA,iBAAiB,IACrB,OAAO,EAAE,CAAC,CAAC,KACP,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAET,sBAAW,CAAC,KAAK,CAAC,IAE7C,EACb;QACN,KAAKJ,qBAAU,CAAC,WAAW;YACvB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,cAAc,CAAC,GAAG;gBAChC,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,MAAM;aACjB,CAAC;YACF,QACIJ,2CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACN,EACrB;QACN,KAAKK,qBAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,QACIJ,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACvB,EACJ;QACN,KAAKK,qBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAKA,qBAAU,CAAC,cAAc,CAAC;QAC/B,KAAKA,qBAAU,CAAC,IAAI;YAChB,OAAOL,QAACmB,WAAK,oBAAK,iBAAiB,EAAI,CAAC;QAC5C,KAAKd,qBAAU,CAAC,YAAY;YACxB,QACIL,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,IACrB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,gBAAgB,GAAG,EAAE,EACjD,QAAQ,UACQ,EACtB;QACN,KAAKK,qBAAU,CAAC,KAAK;YACjB,QACIL,qCACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,qBACjC,OAAO,IACnB,iBAAiB,EACZ,EACf;QACN,KAAKK,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,YAAY;YACxB,OAAO,iBAAiB,CAAC,WAAW,IAChCL,4CACI,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAC3B,iBAAiB,EACL,KAEpBA,QAAC,YAAY,oBAAK,iBAAiB,EAAiB,CACvD,CAAC;QACN,KAAKK,qBAAU,CAAC,KAAK;YACjB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAACD,uBAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5C;YACD,iBAAiB,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC7C,OAAOJ,QAAC,MAAM,oBAAK,iBAAiB,EAAW,CAAC;QACpD,KAAKK,qBAAU,CAAC,MAAM;YAClB,OAAOL,QAAC,OAAO,oBAAK,iBAAiB,IAAE,QAAQ,EAAE,IAAI,IAAY,CAAC;QACtE,KAAKK,qBAAU,CAAC,MAAM;YAClB,QACIL,QAACgB,qBAAU,kBACP,IAAI,EAAE,OAAO,IACT,iBAAiB,IACrB,QAAQ,EAAE,IAAI,IACJ,EAChB;KACT;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,IAAiB;IACpD,SAAS,gBAAgB,CAAC,KAAa;QACnC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KACtD;IAED,SAAS,aAAa,CAAC,KAAa;QAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACnD;IAED,SAAS,eAAe,CAAC,KAAa;QAClC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACpD;IAED,SAAS,cAAc,CAAC,KAAa;QACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACpD;IAED,SAAS,iBAAiB,CAAC,KAAa;QACpC,QACI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC;KACL;IACD,SAAS,OAAO,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QACD,MAAM,2BAA2B,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,KAAK,MAAM,WAAW,IAAI,2BAA2B,EAAE;YACnD,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;aAC7B;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,IAAI,CAAC;KACf;IAED,SAAS,cAAc,CAAC,KAAa;QACjC,MAAM,WAAW,GAAe,EAAE,CAAC;QAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;YAChC,IAAI,OAAO,EAAE;gBACT,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;oBAC5B,OAAO,IAAI,CAAC;iBACf;gBAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;oBACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;wBAC5B,OAAO,IAAI,CAAC;qBACf;yBAAM;wBACH,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;4BACnB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;4BACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;gCAC3B,WAAW,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC;6BACnC;yBACJ;qBACJ;iBACJ;qBAAM,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAEpC;qBAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;oBAChC,MAAM,MAAM,GAAG,OAAO;yBACjB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;yBAC3B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE;wBAC5B,WAAW,CAAC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;qBACrC;iBACJ;qBAAM;oBACH,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;iBACxD;aACJ;YACD,OAAO,WAAW,CAAC,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;SAClD;QAED,SAAS,YAAY,CACjB,KAAa,EACb,WAAuB;YAEvB,MAAM,SAAS,qBAAoB,WAAW,CAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBAClB,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE;oBACP,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAC1B,IACI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACzB;wBACE,SAAS,CAAC,KAAK,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAC5C,CAAC,CACJ,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;qBACvB;iBACJ;gBACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC3B,SAAS,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC;qBACjC;iBACJ;aACJ;YACD,OAAO,SAAS,CAAC;SACpB;KACJ;IAED,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAEf,MAAM,aAAa,GAAG;;QAClB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,MAAK,EAAE,EAAE;YACzC,KAAK,CAAC,GAAG,EAAE,CAAC;SACf;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAsB,CAAC,IAAI,CAAC;oBACnC,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC;aACN;SACJ;KACJ,CAAC;IAEF,QAAQ,QAAQ;QACZ,KAAKX,qBAAU,CAAC,QAAQ,CAAC;QACzB,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;YACtD,MAAM;QAEV,KAAKA,qBAAU,CAAC,GAAG;YACf,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;aACnC;iBAAM;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxC;YACD,MAAM;QAEV,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,MAAM;QAEV,KAAKA,qBAAU,CAAC,KAAK;YACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,KAAK;iBACf;aACJ,CAAC,CAAC;YACH,MAAM;QAEV,KAAKA,qBAAU,CAAC,WAAW,CAAC;QAC5B,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAKA,qBAAU,CAAC,cAAc,CAAC;QAC/B,KAAKA,qBAAU,CAAC,KAAK;YACjB,aAAa,EAAE,CAAC;YAChB,MAAM;QAEV,KAAKA,qBAAU,CAAC,YAAY;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;YACpC,MAAM;QAEV,KAAKA,qBAAU,CAAC,KAAK,CAAC;QACtB,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,YAAY,CAAC;QAC7B,KAAKA,qBAAU,CAAC,MAAM;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM;QAEV,KAAKA,qBAAU,CAAC,IAAI,CAAC;QACrB,KAAKA,qBAAU,CAAC,KAAK;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAChC,MAAM;KACb;AACL,CAAC;AAED,SAAS,SAAS,CACd,CAAwD,EACxD,KAAiB,EACjB,QAAoB,EACpB,aAA0B;IAE1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,aAAa,KAAKI,sBAAW,CAAC,MAAM,EAAE;QACtC,IAAI,KAAK,GAAG,sBAAsB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,QAAQ,QAAQ;YACZ,KAAKJ,qBAAU,CAAC,YAAY,CAAC;YAC7B,KAAKA,qBAAU,CAAC,QAAQ,CAAC;YACzB,KAAKA,qBAAU,CAAC,IAAI,CAAC;YACrB,KAAKA,qBAAU,CAAC,IAAI;gBAChB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;iBACrC;gBACD,MAAM;YACV,KAAKA,qBAAU,CAAC,QAAQ,CAAC;YACzB,KAAKA,qBAAU,CAAC,MAAM;gBAClB,KAAK,GAAG,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACV,IAAI,CAAC,IAAuB,CAAC,OAAO;wBACjC,KAAK,KAAK,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;iBACpC;gBACD,MAAM;YACV,KAAKA,qBAAU,CAAC,KAAK;;gBAEjB,MAAM;YACV,KAAKA,qBAAU,CAAC,IAAI,CAAC;YACrB,KAAKA,qBAAU,CAAC,kBAAkB,CAAC;YACnC,KAAKA,qBAAU,CAAC,cAAc;gBAC1B,KAAK,GAAI,CAA4C,CAAC,MAAM;qBACvD,iBAAiB,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACV,IAAI,CAAC,IAAoB,CAAC,IAAI,GAC3B,CACH,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBACtB;gBACD,MAAM;SACb;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAGY,iCAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC9D;IACD,IAAI,IAAI,IAAK,IAAqB,CAAC,WAAW,EAAE;QAC5C,MAAM,SAAS,GAAG,IAAI,WAAW,CAAoB,aAAa,EAAE;YAChE,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,IAAI;gBACV,EAAE,EAAG,IAAqB,CAAC,WAAW,CAAC,EAAE;gBACzC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,QAAQ;aACjB;SACJ,CAAC,CAAC;QACF,IAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,aAAa,KAAKR,sBAAW,CAAC,MAAM,EAAE;YACtC,IAAI;gBACC,IAAqB,CAAC,OAAO,EAAE,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;gBACZ,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CACxB,IAAI,EACJ,KAAK,EACLW,2BAAgB,CAAC,KAAK,CACzB,CAAC;aACL;SACJ;KACJ;AACL,CAAC;AAED,SAAS,sBAAsB,CAC3B,CAAwD,EACxD,QAAoB;IAEpB,MAAM,YAAY,GAAG,CAAC,EAAG,CAAC,CAAC,MAAsB,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACvE,IAAI,KAAK,GAAG,YAAY;UACjB,CAAC,CAAC,MAA2B,CAAC,KAAK;UACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAErB,IAAI,QAAQ,KAAKf,qBAAU,CAAC,QAAQ,IAAI,YAAY,EAAE;QAClD,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;KACjE;IAED,IAAI,QAAQ,KAAKA,qBAAU,CAAC,MAAM,IAAI,YAAY,EAAE;QAChD,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACrE;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;;IACrC,OAAOgB,0BAAe,CAAC,QAAQ,CAC3B,MAAC,KAAK,CAAC,SAA0B,0CAAE,WAAW,CAAC,OAAsB,CACxE,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;;IAClC,OAAOC,+BAAoB,CAAC,QAAQ,CAChC,MAAC,KAAK,CAAC,SAA0B,0CAAE,WAAW,CAAC,OAAsB,CACxE,CAAC;AACN;;;;;;;;","names":["KupListProps","KupListRole","ItemsDisplayMode","FSwitchSizing","h","getAssetPath","FImage","FCellShapes","FCellClasses","FCellTypes","editableTypes","kupTypes","KupThemeColorValues","FCellEvents","this","RADAdapter","CMBandACPAdapter","KupTagNames","FCheckbox","FChipType","FTextField","getCellValueForDisplay","FButton","FChip","KupDebugCategory","autoCenterComps","fullWidthFieldsComps"],"sources":["src/components/kup-list/kup-list-declarations.ts","src/f-components/f-switch/f-switch-declarations.ts","src/f-components/f-switch/f-switch.tsx","src/f-components/f-progress-bar/f-progress-bar.tsx","src/f-components/f-radio/f-radio-declarations.ts","src/f-components/f-radio/f-radio.tsx","src/f-components/f-rating/f-rating.tsx","src/f-components/f-cell/f-cell.tsx"],"sourcesContent":["import { KupEventPayload } from '../../types/GenericTypes';\nimport { ValueDisplayedValue as vdv } from '../../utils/filters/filters-declarations';\nimport { KupDataNode } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-list component.\n * Used to export every prop in an object.\n */\nexport enum KupListProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the list.',\n displayMode = 'Selects how the items must display their label and how they can be filtered for.',\n filter = 'Keeps string for filtering elements when filter mode is active',\n hideText = \"Hides rows' text, ideally to display a list of icons only.\",\n isMenu = 'Defines whether the list is a menu or not.',\n keyboardNavigation = \"When true, enables items' navigation through arrow keys.\",\n menuVisible = \"Sets the status of the menu, when false it's hidden otherwise it's visible.\",\n roleType = 'Defines the type of selection. Values accepted: listbox, radiogroup or group.',\n selectable = 'Defines whether items are selectable or not.',\n showIcons = 'Displays the icons associated to each row when set to true.',\n twoLine = 'The list elements descriptions will be arranged in two lines.',\n}\n/**\n * Data structure of a single list item.\n */\nexport interface KupListNode extends KupDataNode {\n secondaryText?: string;\n selected?: boolean;\n separator?: boolean;\n}\n/**\n * Available types of selection.\n */\nexport enum KupListRole {\n LISTBOX = 'listbox',\n RADIOGROUP = 'radiogroup',\n GROUP = 'group',\n}\n\nexport interface ValueDisplayedValue extends vdv {\n exists: boolean;\n}\n\nexport enum ItemsDisplayMode {\n CODE = 'code',\n DESCRIPTION = 'description',\n DESCRIPTION_AND_CODE = 'both',\n}\nexport interface KupListEventPayload extends KupEventPayload {\n selected: KupListNode;\n index?: number;\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-switch component.\n */\nexport interface FSwitchProps extends FComponent {\n checked?: boolean;\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onClick?: (event: MouseEvent) => void;\n onChange?: (event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n sizing?: FSwitchSizing;\n}\n\n/**\n * Types of the f-chip component.\n * @enum {string}\n * @property {string} SMALL - Small size: height = 24px\n * @property {string} MEDIUM - Medium size: height = 32px (default)\n */\n\nexport enum FSwitchSizing { // GenericTypes to be studied because small chips goes with small button/textfield but has different sizes\n SMALL = 'small',\n MEDIUM = 'medium',\n}\n","import { FSwitchSizing, type FSwitchProps } from './f-switch-declarations';\nimport { FunctionalComponent, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FSwitch: FunctionalComponent<FSwitchProps> = (\n props: FSwitchProps\n) => {\n if (!props.sizing) {\n props.sizing = FSwitchSizing.MEDIUM;\n }\n const isSmall: boolean = props.sizing.toLowerCase() === FSwitchSizing.SMALL;\n const classObj: Record<string, boolean> = {\n switch: true,\n 'switch--checked': props.checked,\n 'switch--disabled': props.disabled,\n [`switch--${props.sizing}`]: props.sizing ? true : false,\n };\n\n return (\n <div\n class={`f-switch ${props.danger ? 'kup-danger' : ''} ${\n props.info ? 'kup-info' : ''\n } ${props.secondary ? 'kup-secondary' : ''} ${\n props.success ? 'kup-success' : ''\n } ${props.warning ? 'kup-warning' : ''} ${\n props.wrapperClass ? props.wrapperClass : ''\n }`}\n {...props.dataSet}\n id={props.id}\n title={props.title}\n >\n <div\n class={`form-field ${\n props.leadingLabel ? 'form-field--align-end' : ''\n }`}\n >\n <div class={classObj}>\n <div class=\"switch__track\"></div>\n <div class=\"switch__thumb-underlay\">\n <div class=\"switch__thumb\">\n <input\n type=\"checkbox\"\n class=\"switch__native-control\"\n role=\"switch\"\n checked={props.checked}\n disabled={props.disabled}\n value={props.checked ? 'on' : 'off'}\n onBlur={props.onBlur}\n onChange={props.onChange}\n onFocus={props.onFocus}\n ></input>\n </div>\n </div>\n </div>\n <label onClick={props.onChange}>{props.label}</label>\n </div>\n </div>\n );\n};\n","import type { FProgressBarProps } from './f-progress-bar-declarations';\nimport { FunctionalComponent, getAssetPath, h } from '@stencil/core';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FProgressBar: FunctionalComponent<FProgressBarProps> = (\n props: FProgressBarProps\n) => {\n if (!props.centeredLabel && !props.centeredLabel !== false) {\n props.centeredLabel = true;\n }\n\n let componentClass = `f-progress-bar ${props.danger ? 'kup-danger' : ''} ${\n props.animated ? 'kup-animated' : ''\n } ${props.padded ? 'kup-padded' : ''} ${props.info ? 'kup-info' : ''} ${\n props.slim ? 'kup-slim' : ''\n } ${props.striped ? 'kup-striped' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.slim ? 'kup-slim' : ''} ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`;\n let pieClass: string = 'pie';\n let radialStyle = undefined;\n if (props.isRadial) {\n componentClass += ' pie-wrapper is-radial';\n } else {\n componentClass += ' progress-bar';\n }\n\n let labelStyle = undefined;\n\n const valueStyle = {\n width: `${props.value}%`,\n };\n\n if (!props.centeredLabel) {\n labelStyle = valueStyle;\n if (props.value > 2) {\n componentClass += ' text-color-on-primary';\n }\n } else if (props.value > 49) {\n componentClass += ' text-color-on-primary';\n }\n\n let label = null;\n if (props.icon) {\n label = createIconElement(props);\n } else {\n if (!props.hideLabel) {\n if (props.isRadial) {\n if (props.label) {\n label = <span class=\"label\">{props.label}</span>;\n } else {\n label = (\n <span class=\"label\">\n {props.value}\n <span class=\"smaller\">%</span>\n </span>\n );\n }\n } else {\n if (props.label) {\n label = props.label;\n } else {\n label = props.value + '%';\n }\n }\n }\n }\n\n if (props.value > 0) {\n pieClass += ' has-value';\n if (props.value > 50) {\n pieClass += ' is-more-than-half';\n } else {\n pieClass += ' is-less-than-half';\n }\n }\n\n if (props.isRadial) {\n return (\n <div class={componentClass}>\n {label}\n <div class={pieClass}>\n <div\n style={radialStyle}\n class=\"left-side half-circle\"\n ></div>\n <div class=\"right-side half-circle\"></div>\n </div>\n <div class=\"shadow\"></div>\n </div>\n );\n } else {\n return (\n <div class={componentClass}>\n <div class=\"progress-bar-percentage\" style={valueStyle}>\n <span style={labelStyle}>{label}</span>\n </div>\n </div>\n );\n }\n};\n\nfunction createIconElement(props: FProgressBarProps) {\n if (!props.icon) {\n return undefined;\n }\n\n if (\n props.icon.indexOf('.') > -1 ||\n props.icon.indexOf('/') > -1 ||\n props.icon.indexOf('\\\\') > -1\n ) {\n return (\n <span class=\"label kup-icon is-image\">\n <img src={props.icon}></img>\n </span>\n );\n } else {\n let svg: string = `url('${getAssetPath(\n `./assets/svg/${props.icon}.svg`\n )}') no-repeat center`;\n let iconStyle = {\n mask: svg,\n webkitMask: svg,\n };\n return <span style={iconStyle} class=\"label kup-icon\"></span>;\n }\n}\n","import type { FComponent } from '../../types/GenericTypes';\n/**\n * Props of the f-radio component.\n */\nexport interface FRadioProps extends FComponent {\n type?: FRadioType;\n columns?: number;\n data?: FRadioData[];\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onChange?: (i: number, event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n horizontal?: boolean;\n}\n/**\n * The object of a single radio.\n */\nexport interface FRadioData {\n checked: boolean;\n label: string;\n value: string;\n}\n\nexport enum FRadioType {\n RADIO = 'radio',\n CHEVRON = 'chevron',\n}\n","import { FunctionalComponent, VNode, h, Fragment } from '@stencil/core';\nimport { GenericObject } from '../../components';\nimport {\n FRadioType,\n type FRadioData,\n type FRadioProps,\n} from './f-radio-declarations';\nimport { FImage } from '../f-image/f-image';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRadio: FunctionalComponent<FRadioProps> = (\n props: FRadioProps\n) => {\n const hasColumns: boolean = !!props.columns;\n const radioList: Array<VNode> = [];\n\n // Default to 'radio' if props.type is not specified\n const radioType = props.type || FRadioType.RADIO;\n for (let i = 0; i < props.data?.length; i++) {\n const data: FRadioData = props.data[i];\n const classObj: GenericObject = {\n radio: true,\n 'radio--checked': data.checked ? true : false,\n 'radio--disabled': props.disabled ? true : false,\n [`radio--${props.type}`]: props.type ? true : false,\n };\n\n radioList.push(\n <div\n class={`form-field \n ${props.leadingLabel ? ' form-field--align-end' : ''} ${\n props.disabled ? 'radio--disabled' : ''\n }`}\n >\n <div class={classObj}>\n {radioType === FRadioType.RADIO ? (\n // Radio button type rendering\n <input\n class=\"radio__native-control\"\n type=\"radio\"\n name=\"radio-element\"\n value={data.value}\n checked={data.checked}\n disabled={props.disabled}\n onBlur={props.onBlur}\n onChange={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n onFocus={props.onFocus}\n ></input>\n ) : (\n // Chevron type rendering\n <>\n {data.checked ? (\n <FImage\n resource=\"check\"\n sizeX=\"14px\"\n sizeY=\"14px\"\n ></FImage>\n ) : (\n <FImage\n sizeX=\"14px\"\n sizeY=\"14px\"\n onClick={\n props.onChange\n ? props.onChange.bind(\n props.onChange,\n i\n )\n : null\n }\n ></FImage>\n )}\n </>\n )}\n {radioType === FRadioType.RADIO && (\n <div class=\"radio__background\">\n <div class=\"radio__outer-circle\"></div>\n <div class=\"radio__inner-circle\"></div>\n </div>\n )}\n </div>\n <label\n htmlFor={'radio-element'}\n onClick={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n >\n {data.label ? data.label : ''}\n </label>\n </div>\n );\n }\n\n const styleObj: GenericObject = {\n '--kup_radio_columns': hasColumns\n ? `repeat(${props.columns}, 1fr)`\n : '',\n };\n\n return (\n <div\n class={`f-radio radio-wrapper\n ${hasColumns ? 'radio-wrapper-grid' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''} ${\n props.horizontal ? 'kup-horizontal' : ''\n }`}\n style={styleObj}\n >\n {radioList}\n </div>\n );\n};\n","import { FunctionalComponent, VNode, h } from '@stencil/core';\nimport type { FRatingProps } from './f-rating-declarations';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRating: FunctionalComponent<FRatingProps> = (\n props: FRatingProps\n) => {\n if (!props.maxValue) {\n props.maxValue = 5;\n }\n return (\n <div\n class={`f-rating ${props.disabled ? 'disabled' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`}\n >\n {buildStars(props)}\n </div>\n );\n};\n\nfunction buildStars(props: FRatingProps) {\n const stars: VNode[] = [];\n\n for (let i = 1; i <= props.maxValue; i++) {\n if (i <= props.value) {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ★\n </span>\n );\n } else {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ☆\n </span>\n );\n }\n }\n\n return stars;\n}\n","import type { FCheckboxProps } from '../f-checkbox/f-checkbox-declarations';\nimport type { FImageData, FImageProps } from '../f-image/f-image-declarations';\nimport type { FButtonProps } from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CMBandACPAdapter,\n getCellValueForDisplay,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n cell.data = mapData(cell, column) ?? cell.data;\n\n if (props.cell.shape === FCellShapes.TEXT_FIELD) {\n cell.value = cell.data.value;\n }\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column.cssClass\n ? column.cssClass\n : '';\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.CHECKBOX, MainCHKAdapter.bind(this)],\n [FCellTypes.OBJECT, MainObjectAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainObjectAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => {\n if (options[0]) {\n return {\n initialValue: currentValue,\n label: options[0].label,\n value: options[0].value,\n };\n }\n};\n\nconst MainCHKAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string\n) => {\n if (options?.[0]) {\n return {\n checked: options[0].checked,\n label: options[0].label,\n };\n }\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n _cell: KupDataCellOptions\n) => {\n if (options?.[0]) {\n return {\n value: options[0].label,\n };\n }\n};\n\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)\n }\n ></FTextField>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.STRING:\n const onChange = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n const onInput = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.INPUT);\n const type = cellType === FCellTypes.NUMBER ? 'number' : null;\n const value =\n cellType === FCellTypes.NUMBER && cell.value\n ? dom.ketchup.math.numberifySafe(cell.value).toString()\n : cell.value;\n if (cell.shape === FCellShapes.INPUT_FIELD) {\n return (\n <input\n class={'input-field'}\n onChange={onChange}\n onInput={onInput}\n type={type}\n value={value}\n maxLength={column.cellData?.maxLength ?? -1}\n ></input>\n );\n } else {\n return (\n <FTextField\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTaget(e, cellType);\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n // data change handled outside this switchcase to avoid passing the index\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value.toString();\n }\n cell.value = value.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTaget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!((e.target as HTMLElement).tagName === 'INPUT');\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"f-cell-465df27d.js","mappings":"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","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 type?: FRadioType;\n columns?: number;\n data?: FRadioData[];\n disabled?: boolean;\n label?: string;\n leadingLabel?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onChange?: (i: number, event: Event) => void;\n onFocus?: (event: FocusEvent) => void;\n horizontal?: boolean;\n}\n/**\n * The object of a single radio.\n */\nexport interface FRadioData {\n checked: boolean;\n label: string;\n value: string;\n}\n\nexport enum FRadioType {\n RADIO = 'radio',\n CHEVRON = 'chevron',\n}\n","import { FunctionalComponent, VNode, h, Fragment } from '@stencil/core';\nimport { GenericObject } from '../../components';\nimport {\n FRadioType,\n type FRadioData,\n type FRadioProps,\n} from './f-radio-declarations';\nimport { FImage } from '../f-image/f-image';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRadio: FunctionalComponent<FRadioProps> = (\n props: FRadioProps\n) => {\n const hasColumns: boolean = !!props.columns;\n const radioList: Array<VNode> = [];\n\n // Default to 'radio' if props.type is not specified\n const radioType = props.type || FRadioType.RADIO;\n for (let i = 0; i < props.data?.length; i++) {\n const data: FRadioData = props.data[i];\n const classObj: GenericObject = {\n radio: true,\n 'radio--checked': data.checked ? true : false,\n 'radio--disabled': props.disabled ? true : false,\n [`radio--${props.type}`]: props.type ? true : false,\n };\n\n radioList.push(\n <div\n class={`form-field \n ${props.leadingLabel ? ' form-field--align-end' : ''} ${\n props.disabled ? 'radio--disabled' : ''\n }`}\n >\n <div class={classObj}>\n {radioType === FRadioType.RADIO ? (\n // Radio button type rendering\n <input\n class=\"radio__native-control\"\n type=\"radio\"\n name=\"radio-element\"\n value={data.value}\n checked={data.checked}\n disabled={props.disabled}\n onBlur={props.onBlur}\n onChange={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n onFocus={props.onFocus}\n ></input>\n ) : (\n // Chevron type rendering\n <>\n {data.checked ? (\n <FImage\n resource=\"check\"\n sizeX=\"14px\"\n sizeY=\"14px\"\n ></FImage>\n ) : (\n <FImage\n sizeX=\"14px\"\n sizeY=\"14px\"\n onClick={\n props.onChange\n ? props.onChange.bind(\n props.onChange,\n i\n )\n : null\n }\n ></FImage>\n )}\n </>\n )}\n {radioType === FRadioType.RADIO && (\n <div class=\"radio__background\">\n <div class=\"radio__outer-circle\"></div>\n <div class=\"radio__inner-circle\"></div>\n </div>\n )}\n </div>\n <label\n htmlFor={'radio-element'}\n onClick={\n props.onChange\n ? props.onChange.bind(props.onChange, i)\n : null\n }\n >\n {data.label ? data.label : ''}\n </label>\n </div>\n );\n }\n\n const styleObj: GenericObject = {\n '--kup_radio_columns': hasColumns\n ? `repeat(${props.columns}, 1fr)`\n : '',\n };\n\n return (\n <div\n class={`f-radio radio-wrapper\n ${hasColumns ? 'radio-wrapper-grid' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''} ${\n props.horizontal ? 'kup-horizontal' : ''\n }`}\n style={styleObj}\n >\n {radioList}\n </div>\n );\n};\n","import { FunctionalComponent, VNode, h } from '@stencil/core';\nimport type { FRatingProps } from './f-rating-declarations';\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FRating: FunctionalComponent<FRatingProps> = (\n props: FRatingProps\n) => {\n if (!props.maxValue) {\n props.maxValue = 5;\n }\n return (\n <div\n class={`f-rating ${props.disabled ? 'disabled' : ''} ${\n props.danger ? 'kup-danger' : ''\n } ${props.info ? 'kup-info' : ''} ${\n props.secondary ? 'kup-secondary' : ''\n } ${props.success ? 'kup-success' : ''} ${\n props.warning ? 'kup-warning' : ''\n } ${props.wrapperClass ? props.wrapperClass : ''}`}\n >\n {buildStars(props)}\n </div>\n );\n};\n\nfunction buildStars(props: FRatingProps) {\n const stars: VNode[] = [];\n\n for (let i = 1; i <= props.maxValue; i++) {\n if (i <= props.value) {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ★\n </span>\n );\n } else {\n stars.push(\n <span\n class=\"rating\"\n onClick={\n props.onClick\n ? props.onClick.bind(props.onClick, i)\n : null\n }\n >\n ☆\n </span>\n );\n }\n }\n\n return stars;\n}\n","import type { FCheckboxProps } from '../f-checkbox/f-checkbox-declarations';\nimport type { FImageData, FImageProps } from '../f-image/f-image-declarations';\nimport type { FButtonProps } from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CMBandACPAdapter,\n getCellValueForDisplay,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n cell.data = mapData(cell, column) ?? cell.data;\n\n if (props.cell.shape === FCellShapes.TEXT_FIELD) {\n cell.value = cell.data.value;\n }\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column.cssClass\n ? column.cssClass\n : '';\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.CHECKBOX, MainCHKAdapter.bind(this)],\n [FCellTypes.OBJECT, MainObjectAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainObjectAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => {\n if (options[0]) {\n return {\n initialValue: currentValue,\n label: options[0].label,\n value: options[0].value,\n };\n }\n};\n\nconst MainCHKAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string\n) => {\n if (options?.[0]) {\n return {\n checked: options[0].checked,\n label: options[0].label,\n };\n }\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n _cell: KupDataCellOptions\n) => {\n if (options?.[0]) {\n return {\n value: options[0].label,\n };\n }\n};\n\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)\n }\n ></FTextField>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.STRING:\n const onChange = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n const onInput = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.INPUT);\n const type = cellType === FCellTypes.NUMBER ? 'number' : null;\n const value =\n cellType === FCellTypes.NUMBER && cell.value\n ? dom.ketchup.math.numberifySafe(cell.value).toString()\n : cell.value;\n if (cell.shape === FCellShapes.INPUT_FIELD) {\n return (\n <input\n class={'input-field'}\n onChange={onChange}\n onInput={onInput}\n type={type}\n value={value}\n maxLength={column.cellData?.maxLength ?? -1}\n ></input>\n );\n } else {\n return (\n <FTextField\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTaget(e, cellType);\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n // data change handled outside this switchcase to avoid passing the index\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value.toString();\n }\n cell.value = value.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTaget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!((e.target as HTMLElement).tagName === 'INPUT');\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"],"version":3}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{F as e,a8 as t,a9 as s,d as n,a5 as i,aa as c,ab as a,ac as l,ad as r,ae as o,af as u,ag as f,ah as d,e as p}from"./p-f6a5e96d.js";import{h as k,g as b,F as h}from"./p-d7c15b0e.js";import{F as v}from"./p-5d03c077.js";import{F as m}from"./p-f2f03a48.js";import{F as g}from"./p-2b519589.js";import{F as w,c as y}from"./p-1dd09495.js";import{F as $}from"./p-cc32b7a2.js";var j;(function(e){e["customStyle"]="Custom style of the component.";e["data"]="The data of the list.";e["displayMode"]="Selects how the items must display their label and how they can be filtered for.";e["filter"]="Keeps string for filtering elements when filter mode is active";e["hideText"]="Hides rows' text, ideally to display a list of icons only.";e["isMenu"]="Defines whether the list is a menu or not.";e["keyboardNavigation"]="When true, enables items' navigation through arrow keys.";e["menuVisible"]="Sets the status of the menu, when false it's hidden otherwise it's visible.";e["roleType"]="Defines the type of selection. Values accepted: listbox, radiogroup or group.";e["selectable"]="Defines whether items are selectable or not.";e["showIcons"]="Displays the icons associated to each row when set to true.";e["twoLine"]="The list elements descriptions will be arranged in two lines."})(j||(j={}));var x;(function(e){e["LISTBOX"]="listbox";e["RADIOGROUP"]="radiogroup";e["GROUP"]="group"})(x||(x={}));var O;(function(e){e["CODE"]="code";e["DESCRIPTION"]="description";e["DESCRIPTION_AND_CODE"]="both"})(O||(O={}));var _;(function(e){e["SMALL"]="small";e["MEDIUM"]="medium"})(_||(_={}));const I=e=>{if(!e.sizing){e.sizing=_.MEDIUM}e.sizing.toLowerCase()===_.SMALL;const t={switch:true,"switch--checked":e.checked,"switch--disabled":e.disabled,[`switch--${e.sizing}`]:e.sizing?true:false};return k("div",Object.assign({class:`f-switch ${e.danger?"kup-danger":""} ${e.info?"kup-info":""} ${e.secondary?"kup-secondary":""} ${e.success?"kup-success":""} ${e.warning?"kup-warning":""} ${e.wrapperClass?e.wrapperClass:""}`},e.dataSet,{id:e.id,title:e.title}),k("div",{class:`form-field ${e.leadingLabel?"form-field--align-end":""}`},k("div",{class:t},k("div",{class:"switch__track"}),k("div",{class:"switch__thumb-underlay"},k("div",{class:"switch__thumb"},k("input",{type:"checkbox",class:"switch__native-control",role:"switch",checked:e.checked,disabled:e.disabled,value:e.checked?"on":"off",onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus})))),k("label",{onClick:e.onChange},e.label)))};const C=e=>{if(!e.centeredLabel&&!e.centeredLabel!==false){e.centeredLabel=true}let t=`f-progress-bar ${e.danger?"kup-danger":""} ${e.animated?"kup-animated":""} ${e.padded?"kup-padded":""} ${e.info?"kup-info":""} ${e.slim?"kup-slim":""} ${e.striped?"kup-striped":""} ${e.secondary?"kup-secondary":""} ${e.slim?"kup-slim":""} ${e.success?"kup-success":""} ${e.warning?"kup-warning":""} ${e.wrapperClass?e.wrapperClass:""}`;let s="pie";let n=undefined;if(e.isRadial){t+=" pie-wrapper is-radial"}else{t+=" progress-bar"}let i=undefined;const c={width:`${e.value}%`};if(!e.centeredLabel){i=c;if(e.value>2){t+=" text-color-on-primary"}}else if(e.value>49){t+=" text-color-on-primary"}let a=null;if(e.icon){a=z(e)}else{if(!e.hideLabel){if(e.isRadial){if(e.label){a=k("span",{class:"label"},e.label)}else{a=k("span",{class:"label"},e.value,k("span",{class:"smaller"},"%"))}}else{if(e.label){a=e.label}else{a=e.value+"%"}}}}if(e.value>0){s+=" has-value";if(e.value>50){s+=" is-more-than-half"}else{s+=" is-less-than-half"}}if(e.isRadial){return k("div",{class:t},a,k("div",{class:s},k("div",{style:n,class:"left-side half-circle"}),k("div",{class:"right-side half-circle"})),k("div",{class:"shadow"}))}else{return k("div",{class:t},k("div",{class:"progress-bar-percentage",style:c},k("span",{style:i},a)))}};function z(e){if(!e.icon){return undefined}if(e.icon.indexOf(".")>-1||e.icon.indexOf("/")>-1||e.icon.indexOf("\\")>-1){return k("span",{class:"label kup-icon is-image"},k("img",{src:e.icon}))}else{let t=`url('${b(`./assets/svg/${e.icon}.svg`)}') no-repeat center`;let s={mask:t,webkitMask:t};return k("span",{style:s,class:"label kup-icon"})}}var N;(function(e){e["RADIO"]="radio";e["CHEVRON"]="chevron"})(N||(N={}));const F=e=>{var t;const s=!!e.columns;const n=[];const i=e.type||N.RADIO;for(let s=0;s<((t=e.data)===null||t===void 0?void 0:t.length);s++){const t=e.data[s];const c={radio:true,"radio--checked":t.checked?true:false,"radio--disabled":e.disabled?true:false,[`radio--${e.type}`]:e.type?true:false};n.push(k("div",{class:`form-field \n ${e.leadingLabel?" form-field--align-end":""} ${e.disabled?"radio--disabled":""}`},k("div",{class:c},i===N.RADIO?k("input",{class:"radio__native-control",type:"radio",name:"radio-element",value:t.value,checked:t.checked,disabled:e.disabled,onBlur:e.onBlur,onChange:e.onChange?e.onChange.bind(e.onChange,s):null,onFocus:e.onFocus}):k(h,null,t.checked?k(g,{resource:"check",sizeX:"14px",sizeY:"14px"}):k(g,{sizeX:"14px",sizeY:"14px",onClick:e.onChange?e.onChange.bind(e.onChange,s):null})),i===N.RADIO&&k("div",{class:"radio__background"},k("div",{class:"radio__outer-circle"}),k("div",{class:"radio__inner-circle"}))),k("label",{htmlFor:"radio-element",onClick:e.onChange?e.onChange.bind(e.onChange,s):null},t.label?t.label:"")))}const c={"--kup_radio_columns":s?`repeat(${e.columns}, 1fr)`:""};return k("div",{class:`f-radio radio-wrapper\n ${s?"radio-wrapper-grid":""} ${e.danger?"kup-danger":""} ${e.info?"kup-info":""} ${e.secondary?"kup-secondary":""} ${e.success?"kup-success":""} ${e.warning?"kup-warning":""} ${e.wrapperClass?e.wrapperClass:""} ${e.horizontal?"kup-horizontal":""}`,style:c},n)};const H=e=>{if(!e.maxValue){e.maxValue=5}return k("div",{class:`f-rating ${e.disabled?"disabled":""} ${e.danger?"kup-danger":""} ${e.info?"kup-info":""} ${e.secondary?"kup-secondary":""} ${e.success?"kup-success":""} ${e.warning?"kup-warning":""} ${e.wrapperClass?e.wrapperClass:""}`},D(e))};function D(e){const t=[];for(let s=1;s<=e.maxValue;s++){if(s<=e.value){t.push(k("span",{class:"rating",onClick:e.onClick?e.onClick.bind(e.onClick,s):null},"★"))}else{t.push(k("span",{class:"rating",onClick:e.onClick?e.onClick.bind(e.onClick,s):null},"☆"))}}return t}const T=document.documentElement;const M=(c,a)=>{var l;const r=c.cell;const u=c.column;const f=c.row;const p=c.shape?c.shape:r.shape?r.shape:u.shape?u.shape:null;const b=!T.ketchup.objects.isEmptyKupObj(r.obj);let h=false;if(r.hasOwnProperty("isEditable")){h=r.isEditable}else if(u.hasOwnProperty("isEditable")){h=u.isEditable}h=h&&c.editable;if(r.options){r.data=(l=S(r,u))!==null&&l!==void 0?l:r.data;if(c.cell.shape===e.TEXT_FIELD){r.value=r.data.value}}const v=c.previousValue!==r.value?r.value:"";const m=T.ketchup.data.cell.getType(r,p);const w=Object.assign({},r.data);let y=r.cssClass?r.cssClass:u.cssClass?u.cssClass:"";if(c.component.legacyLook){y+=" monospace c-pre"}const $={"f-cell":true,[o.OBJ]:b?true:false,[m+"-cell"]:true,[c.wrapperClass]:c.wrapperClass?true:false,[c.density]:c.density&&m!==i.BAR?true:false,[y]:y?true:false};let j=v;if(!r.data){Z(m,r)}if(h&&t.includes(m)){j=q(m,$,r,u,c)}else if(r.data&&s.includes(m)){if(c.setSizes){U(m,w,r)}if(!c.renderKup){const e="cell-"+m+" placeholder";j=k("span",{class:e})}else{j=Q(m,$,w,r,f,u,c)}}else{if(c.setSizes){L(m,w,r,c)}j=J(m,w,j,$,r,u,c)}let x=null;if(!h&&(u.icon||r.icon)&&j){const e={color:`rgba(var(${n.TEXT}-rgb), 0.375)`,resource:r.icon?r.icon:u.icon,placeholderResource:r.placeholderIcon?r.placeholderIcon:u.placeholderIcon,sizeX:"1.25em",sizeY:"1.25em",wrapperClass:"obj-icon"};x=k(g,Object.assign({},e))}let O=null;if(T.ketchup.debug.isDebug()&&b){O=r.obj.t+"; "+r.obj.p+"; "+r.obj.k+";"}else if(r.title!=null&&r.title.trim()!=""){O=r.title}let _=null;if(r.info){const e=Object.assign({},r.info);if(!e.color){e.color=`var(${n.INFO})`}if(!e.icon){e.icon="info"}const t={color:e.color,resource:e.icon,placeholderResource:e.placeholderIcon,sizeX:"1.25em",sizeY:"1.25em",title:e.message?e.message:"",wrapperClass:"cell-info"};_=k(g,Object.assign({},t))}return k("div",{onKeyUp:e=>ee(e,c,m,d.KEYUP),class:$,"kup-get-cell-props":()=>c,ref:e=>r.element=e,style:r.style},k("div",{class:"f-cell__content",style:r.styleContent,title:O},c.cellActionIcon&&k(g,{resource:"more_vert",sizeX:"16px",sizeY:"16px",wrapperClass:`f-cell__iconfunction ${m===i.NUMBER?"left":"right"}`,onClick:c.cellActionIcon.onClick,tabIndex:0}),a&&a.length>0?a:[c.indents,_,x,j]))};const S=(e,t)=>{if(!e){return null}const s=e.options;const n=t.title;const c=e.value;const a=T.ketchup.data.cell.getType(e,e.shape);const l=new Map([[i.BUTTON_LIST,P.bind(undefined)],[i.STRING,X.bind(undefined)],[i.RADIO,R.bind(undefined)],[i.AUTOCOMPLETE,Y.bind(undefined)],[i.COMBOBOX,Y.bind(undefined)],[i.CHECKBOX,V.bind(undefined)],[i.OBJECT,E.bind(undefined)]]);const r=l.get(a);return r?r(s,n,c,e,t.name):null};const E=(e,t,s,n,i)=>{if(e[0]){return{initialValue:s,label:e[0].label,value:e[0].value}}};const V=(e,t,s)=>{if(e===null||e===void 0?void 0:e[0]){return{checked:e[0].checked,label:e[0].label}}};const X=(e,t,s,n)=>{if(e===null||e===void 0?void 0:e[0]){return{value:e[0].label}}};const R=(e,t,s)=>c(s,e);const Y=(e,t,s)=>{const n=a(s,t,[]);n.data["kup-list"].data=K(e,s);return n};const K=(e,t)=>{const s=G.get(e.type);if(s){return s(e,t)}else{return e.map((e=>({value:e.label,id:e.id,selected:t===e.id})))}};const W=(e,t)=>e.children.map((e=>{var s;return{id:e.content.codice,value:e.content.testo,selected:t===e.content.codice,children:((s=e.children)===null||s===void 0?void 0:s.length)?W(e,t):[]}}));const A=(e,t)=>e.children.map((e=>{var s;return{id:e.obj.k,value:e.value,selected:t===e.obj.k,children:((s=e.children)===null||s===void 0?void 0:s.length)?A(e,t):[]}}));const B=(e,t)=>e.rows.map((e=>{var s;const n=e.fields||e.cells;const[i,c]=Object.keys(n);return{id:n[i].value,value:((s=n[c])===null||s===void 0?void 0:s.value)||n[i].value,selected:t===n[i].value}}));const G=new Map([["SmeupTreeNode",W.bind(undefined)],["SmeupDataTree",A.bind(undefined)],["SmeupTable",B.bind(undefined)],["SmeupDataTable",B.bind(undefined)]]);const P=(e,t,s,n)=>{var i,c;return{data:((i=n.options)===null||i===void 0?void 0:i.length)?(c=n.options)===null||c===void 0?void 0:c.map((e=>({icon:e.icon,value:e.value}))):[]}};function L(e,t,s,n){var c;switch(e){case i.CHECKBOX:case i.ICON:if(!t.sizeX){t.sizeX="18px"}if(!t.sizeY){t.sizeY="18px"}if(s.style){if(!s.style.height){s.style["minHeight"]=t.sizeY}}else{s.style={minHeight:t.sizeY}}break;case i.IMAGE:const e=((c=n.cell)===null||c===void 0?void 0:c.value)||"";const a=e.indexOf(".")>-1||e.indexOf("/")>-1||e.indexOf("\\")>-1;if(n.component.rootElement.tagName===l.DATA_TABLE&&!a){if(!t.sizeX&&!t.sizeY){t.sizeX="100%";t.sizeY="64px";t.wrapperClass="noWidth"}else{if(!t.sizeX){t.sizeX="100%";t.wrapperClass="noWidth"}if(!t.sizeY){t.sizeY="auto"}}}if(n.component.rootElement.tagName===l.BOX){if(!t.sizeY){t.sizeY="auto"}if(t.fit===undefined){t.fit=true}}else if(!t.sizeX){t.sizeX="auto"}if(!t.sizeY){t.sizeY="64px"}break}}function U(e,t,s){switch(e){case i.BAR:if(!t.sizeY){t.sizeY="26px"}break;case i.BUTTON:let e="";if(t.label){e="36px"}if(s.style){if(!s.style.height){s.style["minHeight"]=e}}else{s.style={minHeight:e}}break;case i.CHART:if(!t.sizeX){t.sizeX="100%"}if(!t.sizeY){t.sizeY="100%"}break;case i.CHIP:if(s.style){if(!s.style.height){s.style["minHeight"]="40px"}}else{s.style={minHeight:"40px"}}break;case i.RADIO:if(s.style){if(!s.style.height){s.style["minHeight"]="40px"}}else{s.style={minHeight:"40px"}}break}}function q(t,s,n,c,a){var l,r;switch(t){case i.AUTOCOMPLETE:return k("kup-autocomplete",Object.assign({key:c.name+a.row.id,initialValue:n.value},n.data,{class:ne(a)?"kup-full-width":"","onkup-autocomplete-change":e=>ee(e,a,t,d.UPDATE),"onkup-autocomplete-input":e=>ee(e,a,t,d.INPUT),"onkup-autocomplete-iconclick":e=>ee(e,a,t,d.ICON_CLICK)}));case i.CHECKBOX:if(se(a)){s[o.C_CENTERED]=true}if(n.shape===e.INPUT_CHECKBOX){return k("input",{checked:n.value==="on"||n.value==="1"?true:false,class:"input-checkbox",onChange:e=>ee(e,a,t,d.UPDATE),type:"checkbox"})}else{return k(v,Object.assign({},n.data,{onChange:e=>ee(e,a,t,d.UPDATE)}))}case i.CHIP:return k("kup-chip",Object.assign({},n.data,{type:w.INPUT,enableInput:true,"onKup-chip-change":e=>ee(e,a,t,d.UPDATE)}),k("kup-text-field",Object.assign({fullWidth:true,slot:"field"},n.slotData)));case i.COLOR_PICKER:return k("kup-color-picker",Object.assign({key:c.name+a.row.id,initialValue:n.value},n.data,{class:ne(a)?"kup-full-width":"",disabled:false,"onkup-colorpicker-change":e=>ee(e,a,t,d.UPDATE)}));case i.COMBOBOX:return k("kup-combobox",Object.assign({key:c.name+a.row.id,initialValue:n.value},n.data,{class:ne(a)?"kup-full-width":"","onkup-combobox-change":e=>ee(e,a,t,d.UPDATE),"onkup-combobox-input":e=>ee(e,a,t,d.INPUT),"onkup-combobox-iconclick":e=>ee(e,a,t,d.ICON_CLICK)}));case i.DATE:return k("kup-date-picker",Object.assign({key:c.name+a.row.id,initialValue:n.value},n.data,{class:ne(a)?"kup-full-width":"","onkup-datepicker-change":e=>ee(e,a,t,d.UPDATE),"onkup-datepicker-input":e=>ee(e,a,t,d.INPUT)}));case i.MULTI_AUTOCOMPLETE:return k("kup-chip",Object.assign({displayId:true},n.data,{type:w.INPUT,enableInput:true,"onKup-chip-change":e=>ee(e,a,t,d.UPDATE)}),k("kup-autocomplete",Object.assign({class:"kup-full-width",slot:"field",displayMode:O.DESCRIPTION_AND_CODE,selectMode:O.DESCRIPTION_AND_CODE,"onkup-autocomplete-input":e=>ee(e,a,t,d.INPUT),"onkup-autocomplete-iconclick":e=>ee(e,a,t,d.ICON_CLICK),showDropDownIcon:false},n.slotData)));case i.MULTI_COMBOBOX:return k("kup-chip",Object.assign({displayId:true},n.data,{type:w.INPUT,enableInput:true,"onKup-chip-change":e=>ee(e,a,t,d.UPDATE)}),k("kup-combobox",Object.assign({class:"kup-full-width",slot:"field",displayMode:O.DESCRIPTION_AND_CODE,selectMode:O.DESCRIPTION_AND_CODE,"onkup-combobox-input":e=>ee(e,a,t,d.INPUT),"onkup-combobox-iconclick":e=>ee(e,a,t,d.ICON_CLICK)},n.slotData)));case i.RADIO:return k(F,Object.assign({},n.data,{disabled:false,onChange:(e,s)=>{const i=n.data.data;for(let t=0;t<i.length;t++){const s=i[t];if(t===e){s.checked=true}else{s.checked=false}}ee(s,a,t,d.UPDATE)}}));case i.RATING:return k("kup-rating",Object.assign({key:c.name+a.row.id},n.data,{disabled:false,"onkup-rating-click":e=>ee(e,a,t,d.UPDATE)}));case i.SWITCH:return k(I,Object.assign({},n.data,{disabled:false,onChange:e=>ee(e,a,t,d.UPDATE)}));case i.TIME:return k("kup-time-picker",Object.assign({key:c.name+a.row.id,initialValue:n.value},n.data,{class:ne(a)?"kup-full-width":"","onkup-timepicker-change":e=>ee(e,a,t,d.UPDATE),"onkup-timepicker-input":e=>ee(e,a,t,d.INPUT)}));case i.OBJECT:return k(m,Object.assign({icon:"table"},n.data,{disabled:false,onIconClick:e=>ee(e,a,t,d.ICON_CLICK)}));case i.NUMBER:s[o.C_RIGHT_ALIGNED]=true;case i.LINK:case i.STRING:const u=e=>ee(e,a,t,d.UPDATE);const f=e=>ee(e,a,t,d.INPUT);const p=t===i.NUMBER?"number":null;const b=t===i.NUMBER&&n.value?T.ketchup.math.numberifySafe(n.value).toString():n.value;if(n.shape===e.INPUT_FIELD){return k("input",{class:"input-field",onChange:u,onInput:f,type:p,value:b,maxLength:(r=(l=c.cellData)===null||l===void 0?void 0:l.maxLength)!==null&&r!==void 0?r:-1})}else{return k(m,Object.assign({inputType:p,fullWidth:ne(a)?true:false},n.data,{icon:n.data&&n.data.icon?n.data.icon:n.icon?n.icon:c.icon?c.icon:null,value:b,onChange:u,onInput:f,onIconClick:e=>ee(e,a,t,d.ICON_CLICK)}))}}}function J(e,t,s,n,c,a,l){switch(e){case i.AUTOCOMPLETE:case i.COMBOBOX:case i.DATE:case i.DATETIME:case i.TIME:if(s&&s!=""){const e=f(a,c);return k("div",{class:"f-cell__text"},e)}return s;case i.CHECKBOX:if(se(l)){n[o.C_CENTERED]=true}return k(g,{resource:t.checked?"check_box":"check_box_outline_blank",sizeX:"18px",sizeY:"18px"});case i.EDITOR:return k("div",{innerHTML:c.value});case i.ICON:if(se(l)){n[o.C_CENTERED]=true}if(t.badgeData){n[o.C_PADDED]=true}return k(g,Object.assign({},t));case i.IMAGE:if(se(l)){n[o.C_CENTERED]=true}if(t.badgeData){n[o.C_PADDED]=true}return k(g,Object.assign({},t));case i.LINK:return k("a",{href:s,target:"_blank"},c.value);case i.NUMBER:if(s&&s!=""){const e=T.ketchup.math.numberifySafe(c.value);const t=f(a,c);if(e<0){n[o.TEXT_DANGER]=true}if(se(l)){n[o.C_RIGHT_ALIGNED]=true}return k("div",{class:"f-cell__text"},t)}return k("div",{class:"f-cell__text"},s);case i.SWITCH:if(se(l)){n[o.C_CENTERED]=true}t["disabled"]=true;return k(I,Object.assign({},t));default:return k("div",{class:"f-cell__text"},s)}}function Q(e,t,s,n,c,a,l){switch(e){case i.BAR:if(!s.data){return k("kup-image",Object.assign({key:a.name+l.row.id,sizeX:"250px"},s))}else{const e={height:s.sizeY,width:"100%"};return k("div",{style:e},k(g,Object.assign({},s)))}case i.BUTTON:if(se(l)){t[o.C_CENTERED]=true}return k($,Object.assign({},s,{onClick:t=>ee(t,l,e,d.CLICK)}));case i.BUTTON_LIST:if(se(l)){t[o.C_CENTERED]=true}s["data-storage"]={cell:n,row:c,column:a};return k("kup-button-list",Object.assign({key:a.name+l.row.id},s));case i.CHART:if(se(l)){t[o.C_CENTERED]=true}return k("kup-chart",Object.assign({key:a.name+l.row.id},s));case i.MULTI_AUTOCOMPLETE:case i.MULTI_COMBOBOX:case i.CHIP:return k(y,Object.assign({},s));case i.COLOR_PICKER:return k("kup-color-picker",Object.assign({key:a.name+l.row.id},s,{class:ne(l)?"kup-full-width":"",disabled:true}));case i.GAUGE:return k("kup-gauge",Object.assign({key:a.name+l.row.id,value:T.ketchup.math.numberifySafe(n.value),"width-component":"280px"},s));case i.KNOB:case i.PROGRESS_BAR:return s.customStyle?k("kup-progress-bar",Object.assign({key:a.name+l.row.id},s)):k(C,Object.assign({},s));case i.RADIO:if(se(l)){t[o.C_CENTERED]=true}s["disabled"]=c.readOnly;return k(F,Object.assign({},s));case i.RATING:return k(H,Object.assign({},s,{disabled:true}));case i.OBJECT:return k(m,Object.assign({icon:"table"},s,{disabled:true}))}}function Z(e,t){function s(e){return e.toUpperCase().startsWith("SHAPE;BAR")}function n(e){return e.toUpperCase().startsWith("SHAPE;")}function c(e){return e.toUpperCase().startsWith("BCOLOR;")}function a(e){return e.toUpperCase().startsWith("HEIGHT;")}function l(e){return e.toUpperCase().startsWith("SEP;")||e.toUpperCase().startsWith("DIV;")||e.toUpperCase().startsWith("ARW;")||e.toUpperCase().startsWith("GRID;")}function r(e){if(!e){return null}const t=e.split("\\\\AND\\");const s=[];for(const e of t){const t=o(e);if(t){s.push(...t)}else{return null}}return s}function o(e){const t={};const i=e.split("\\\\");const r=[];for(const e of i){if(e){if(l(e)){return null}if(n(e)){if(!s(e)){return null}else{const s=e.split(";");if(s.length===3){const e=s[2].replace(",",".");if(!isNaN(parseFloat(e))){t.width=`${e}%`}}}}else if(c(e));else if(a(e)){const s=e.substring("HEIGHT;".length).replace(",",".");if(!isNaN(parseFloat(s))){t.height=`${s}%`}}else{r.push(o(e,t))}}return r.length?r:null}function o(e,t){const s=Object.assign({},t);const n=e.split(";");if(n.length>=1){const e=/R(\d+)G(\d+)B(\d+)/;const t=e.exec(n[0]);if(t){const[,e,n,i]=t;if(!isNaN(parseInt(e,10))&&!isNaN(parseInt(n,10))&&!isNaN(parseInt(i,10))){s.color=`rgb(${parseInt(e)},${parseInt(n)},${parseInt(i)})`}}if(n.length>=2){const e=n[1].replace(",",".");if(!isNaN(parseFloat(e))){s.width=`${e}%`}}}return s}}t.data={};const u=()=>{var e;const s=(e=t.value)===null||e===void 0?void 0:e.split(";");if((s===null||s===void 0?void 0:s[s.length-1].trim())===""){s.pop()}if(s&&s.length){t.data.data=[];for(let e of s){t.data.data.push({id:e,value:e})}}};switch(e){case i.CHECKBOX:case i.SWITCH:t.data.checked=t.value==="1"?true:false;break;case i.BAR:if(n(t.value)){t.data.isCanvas=true;t.data.resource=t.value}else{t.data.data=r(t.value)}break;case i.BUTTON:t.data.label=t.value;break;case i.CHART:Object.assign(t.data,{sizeX:"100px",sizeY:"100px",offlineMode:{value:t.value,shape:"pie"}});break;case i.BUTTON_LIST:case i.CHIP:case i.MULTI_AUTOCOMPLETE:case i.MULTI_COMBOBOX:case i.RADIO:u();break;case i.COLOR_PICKER:t.data.initialValue=t.value;break;case i.GAUGE:case i.KNOB:case i.PROGRESS_BAR:case i.RATING:t.data.value=parseInt(t.value);break;case i.ICON:case i.IMAGE:t.data.resource=t.value;break}}function ee(e,t,s,n){const c=t.cell;const a=t.column;const l=t.component;const r=t.row;if(n===d.UPDATE){let t=te(e,s);switch(s){case i.AUTOCOMPLETE:case i.COMBOBOX:case i.DATE:case i.TIME:if(c.data){c.data["initialValue"]=t}break;case i.CHECKBOX:case i.SWITCH:t=t==="on"?"0":"1";if(c.data){c.data.checked=t==="0"?false:true}break;case i.RADIO:break;case i.CHIP:case i.MULTI_AUTOCOMPLETE:case i.MULTI_COMBOBOX:t=e.detail.stringifiedValues;if(c.data){c.data.data=e.detail.comp.data}break}if(c.obj){c.obj.k=t.toString()}c.value=t.toString();c.displayedValue=null;c.displayedValue=f(a,c)}if(l&&l.rootElement){const t=new CustomEvent(n,{bubbles:true,cancelable:true,composed:true,detail:{comp:l,id:l.rootElement.id,cell:c,column:a,event:e,row:r,type:s}});l.rootElement.dispatchEvent(t);if(n===d.UPDATE){try{l.refresh()}catch(e){T.ketchup.debug.logMessage(l,e,p.ERROR)}}}}function te(e,t){const s=!!(e.target.tagName==="INPUT");let n=s?e.target.value:e.detail.value;if(t===i.CHECKBOX&&s){n=e.target.checked?"off":"on"}if(t===i.NUMBER&&s){n=T.ketchup.math.formattedStringToNumberString(n,"")}return n}function se(e){var t;return u.includes((t=e.component)===null||t===void 0?void 0:t.rootElement.tagName)}function ne(e){var t;return r.includes((t=e.component)===null||t===void 0?void 0:t.rootElement.tagName)}export{M as F,O as I,x as K,j as a,C as b,F as c,H as d,_ as e,I as f};
|
|
2
|
-
//# sourceMappingURL=p-5b5d99c4.js.map
|