@mhmo91/schmancy 0.2.107 → 0.2.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/area.cjs +1 -1
  2. package/dist/area.component--h6lcDbh.cjs +8 -0
  3. package/dist/area.component--h6lcDbh.cjs.map +1 -0
  4. package/dist/{area.component-8AQUkma0.js → area.component-D9jjR4-z.js} +32 -32
  5. package/dist/area.component-D9jjR4-z.js.map +1 -0
  6. package/dist/area.js +1 -1
  7. package/dist/card.cjs +1 -1
  8. package/dist/card.js +1 -1
  9. package/dist/content-drawer.cjs +1 -1
  10. package/dist/content-drawer.js +1 -1
  11. package/dist/index.cjs +1 -1
  12. package/dist/index.js +3 -3
  13. package/dist/nav-drawer.cjs +1 -1
  14. package/dist/nav-drawer.js +1 -1
  15. package/dist/notification.cjs +1 -1
  16. package/dist/notification.js +1 -1
  17. package/dist/outlet-BLqhyQ8l.cjs +30 -0
  18. package/dist/outlet-BLqhyQ8l.cjs.map +1 -0
  19. package/dist/{outlet-Us3Wi-TE.js → outlet-C_zQSPJ5.js} +25 -25
  20. package/dist/outlet-C_zQSPJ5.js.map +1 -0
  21. package/dist/teleport.cjs +1 -1
  22. package/dist/{teleport.component-CH--tF4H.cjs → teleport.component-C0_49--j.cjs} +2 -2
  23. package/dist/{teleport.component-CH--tF4H.cjs.map → teleport.component-C0_49--j.cjs.map} +1 -1
  24. package/dist/{teleport.component-Kcn8tqQF.js → teleport.component-DgMoPN3L.js} +3 -3
  25. package/dist/{teleport.component-Kcn8tqQF.js.map → teleport.component-DgMoPN3L.js.map} +1 -1
  26. package/dist/teleport.js +1 -1
  27. package/package.json +1 -1
  28. package/types/src/area/area.component.d.ts +17 -8
  29. package/dist/area.component-8AQUkma0.js.map +0 -1
  30. package/dist/area.component-nkE9S6b3.cjs +0 -8
  31. package/dist/area.component-nkE9S6b3.cjs.map +0 -1
  32. package/dist/outlet-IKjizKaN.cjs +0 -30
  33. package/dist/outlet-IKjizKaN.cjs.map +0 -1
  34. package/dist/outlet-Us3Wi-TE.js.map +0 -1
@@ -1,30 +0,0 @@
1
- "use strict";const u=require("@floating-ui/dom"),l=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const y=require("./tailwind.mixin-DFM3jd9q.cjs"),h=require("lit"),f=require("lit/decorators.js");let d=window.innerWidth/2,m=window.innerHeight/2;async function a(e,t,c){const o=await async function(s,n,i){const r=document.createElement("schmancy-notification");r.type=n,r.innerHTML=s;const g=(i==null?void 0:i.referenceElement)||{getBoundingClientRect:()=>({width:0,height:0,x:d,y:m,top:m,right:d,bottom:m,left:d,toJSON:()=>({})})},{x:v,y:w}=await u.computePosition(g,r,{strategy:"fixed",placement:i!=null&&i.referenceElement?"top":"right-start",middleware:[u.offset(8),u.flip(),u.shift({padding:5})]});return r.style.position="fixed",r.style.left=`${v}px`,r.style.top=`${w}px`,r.style.zIndex="9999",document.body.appendChild(r),r}(t,e,c);return l.race(l.fromEvent(o,"close"),l.timer((c==null?void 0:c.duration)??1e3)).subscribe(()=>{o.remove()}),o}l.fromEvent(document,"mousemove").pipe(l.debounceTime(100)).subscribe(e=>{d=e.clientX,m=e.clientY});const x={success:(e,t)=>a("success",e,t),error:(e,t)=>a("error",e,t),warning:(e,t)=>a("warning",e,t),info:(e,t)=>a("info",e,t)};var b=Object.defineProperty,E=Object.getOwnPropertyDescriptor,p=(e,t,c,o)=>{for(var s,n=o>1?void 0:o?E(t,c):t,i=e.length-1;i>=0;i--)(s=e[i])&&(n=(o?s(t,c,n):s(n))||n);return o&&n&&b(t,c,n),n};exports.SchmancyNotification=class extends y.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return h.html`
2
- <div
3
- class="pointer-events-auto w-full max-w-sm
4
- rounded-lg bg-surface-container shadow-lg
5
- ring-1 ring-outlineVariant ring-opacity-5 p-3"
6
- >
7
- <!-- Icon + Text + Close Button, etc. -->
8
- <div class="flex items-center">
9
- <!-- Icon -->
10
- <div class="shrink-0 mr-2">
11
- <!-- Show different icons depending on this.type -->
12
- <!-- e.g., success, error, etc. -->
13
- </div>
14
-
15
- <!-- Text slot -->
16
- <div class="flex-1">
17
- <slot></slot>
18
- </div>
19
-
20
- <!-- Close -->
21
- <schmancy-icon-button
22
- @click=${()=>this.dispatchEvent(new CustomEvent("close"))}
23
- variant="outlined"
24
- class="ml-2 text-sm"
25
- >Close</schmancy-icon-button
26
- >
27
- </div>
28
- </div>
29
- `}},p([f.property({type:String})],exports.SchmancyNotification.prototype,"type",2),exports.SchmancyNotification=p([f.customElement("schmancy-notification")],exports.SchmancyNotification);var S=Object.getOwnPropertyDescriptor;exports.SchmancyNotificationOutlet=class extends y.TailwindElement(){render(){return h.html` <slot></slot> `}},exports.SchmancyNotificationOutlet=((e,t,c,o)=>{for(var s,n=o>1?void 0:o?S(t,c):t,i=e.length-1;i>=0;i--)(s=e[i])&&(n=s(n)||n);return n})([f.customElement("schmancy-notification-outlet")],exports.SchmancyNotificationOutlet),exports.$notify=x,exports.notify=a;
30
- //# sourceMappingURL=outlet-IKjizKaN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outlet-IKjizKaN.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\tduration?: number\n\treferenceElement?: HTMLElement\n}\n\n// Track cursor position globally\nlet lastMouseX = window.innerWidth / 2\nlet lastMouseY = window.innerHeight / 2\n\nfromEvent(document, 'mousemove')\n\t.pipe(\n\t\tdebounceTime(100), // Throttle to 10fps\n\t)\n\t.subscribe((e: MouseEvent) => {\n\t\tconsole.count()\n\t\tlastMouseX = e.clientX\n\t\tlastMouseY = e.clientY\n\t})\n\nasync function createNotification(\n\tmessage: string,\n\ttype: TNotification,\n\tconfig?: TNotificationConfig,\n): Promise<SchmancyNotification> {\n\tconst notification = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotification.type = type\n\tnotification.innerHTML = message\n\n\t// Determine reference element\n\tconst referenceElement = config?.referenceElement || {\n\t\tgetBoundingClientRect: () => ({\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tx: lastMouseX,\n\t\t\ty: lastMouseY,\n\t\t\ttop: lastMouseY,\n\t\t\tright: lastMouseX,\n\t\t\tbottom: lastMouseY,\n\t\t\tleft: lastMouseX,\n\t\t\ttoJSON: () => ({}), // Required for some Floating UI implementations\n\t\t}),\n\t}\n\n\t// Compute position using Floating UI\n\tconst { x, y } = await computePosition(referenceElement, notification, {\n\t\tstrategy: 'fixed',\n\t\tplacement: config?.referenceElement ? 'top' : 'right-start',\n\t\tmiddleware: [\n\t\t\toffset(8), // 8px gap from reference\n\t\t\tflip(), // Auto-flip directions if needed\n\t\t\tshift({ padding: 5 }), // Prevent screen edges overflow\n\t\t],\n\t})\n\n\t// Apply positioning\n\tnotification.style.position = 'fixed'\n\tnotification.style.left = `${x}px`\n\tnotification.style.top = `${y}px`\n\tnotification.style.zIndex = '9999'\n\n\tdocument.body.appendChild(notification)\n\treturn notification\n}\n\n// Rest of your existing code remains the same...\nexport async function notify(type: TNotification, message: string, config?: TNotificationConfig) {\n\tconst notification = await createNotification(message, type, config)\n\n\t// Remove after duration or close event\n\trace(fromEvent(notification, 'close'), timer(config?.duration ?? 1000)).subscribe(() => {\n\t\tnotification.remove()\n\t})\n\n\treturn notification\n}\n\n// Shorthand API\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => notify('success', message, config),\n\terror: (message: string, config?: TNotificationConfig) => notify('error', message, config),\n\twarning: (message: string, config?: TNotificationConfig) => notify('warning', message, config),\n\tinfo: (message: string, config?: TNotificationConfig) => notify('info', message, config),\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm\n rounded-lg bg-surface-container shadow-lg\n ring-1 ring-outlineVariant ring-opacity-5 p-3\"\n\t\t\t>\n\t\t\t\t<!-- Icon + Text + Close Button, etc. -->\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<div class=\"shrink-0 mr-2\">\n\t\t\t\t\t\t<!-- Show different icons depending on this.type -->\n\t\t\t\t\t\t<!-- e.g., success, error, etc. -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Text slot -->\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Close -->\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t@click=${() => this.dispatchEvent(new CustomEvent('close'))}\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\tclass=\"ml-2 text-sm\"\n\t\t\t\t\t\t>Close</schmancy-icon-button\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["lastMouseX","window","innerWidth","lastMouseY","innerHeight","async","notify","type","message","config","notification","document","createElement","innerHTML","referenceElement","getBoundingClientRect","width","height","x","y","top","right","bottom","left","toJSON","computePosition","strategy","placement","middleware","offset","flip","shift","padding","style","position","zIndex","body","appendChild","race","fromEvent","timer","duration","subscribe","remove","pipe","debounceTime","e","clientX","clientY","$notify","success","error","warning","info","SchmancyNotification","TailwindElement","constructor","super","arguments","this","html","dispatchEvent","CustomEvent","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"kPAWA,IAAIA,EAAaC,OAAOC,WAAa,EACjCC,EAAaF,OAAOG,YAAc,EA0DhBC,eAAAC,EAAOC,EAAqBC,EAAiBC,EAAAA,CAClE,MAAMC,EAAAA,MA/CPL,eACCG,EACAD,EACAE,EAAAA,CAEM,MAAAC,EAAeC,SAASC,cAAc,uBAC5CF,EAAAA,EAAaH,KAAOA,EACpBG,EAAaG,UAAYL,EAGnB,MAAAM,GAAmBL,GAAAA,YAAAA,EAAQK,mBAAoB,CACpDC,sBAAuB,KAAO,CAC7BC,MAAO,EACPC,OAAQ,EACRC,EAAGlB,EACHmB,EAAGhB,EACHiB,IAAKjB,EACLkB,MAAOrB,EACPsB,OAAQnB,EACRoB,KAAMvB,EACNwB,OAAQ,KAAA,CAAQ,EAAA,EAAA,EAAA,CAKZN,EAAEA,EAAGC,EAAAA,CAAYM,EAAAA,MAAAA,EAAAA,gBAAgBX,EAAkBJ,EAAc,CACtEgB,SAAU,QACVC,UAAWlB,GAAAA,MAAAA,EAAQK,iBAAmB,MAAQ,cAC9Cc,WAAY,CACXC,EAAAA,OAAO,GACPC,SACAC,QAAM,CAAEC,QAAS,CAWZ,CAAA,CAAA,CAAA,CAAA,EAAA,OANPtB,EAAauB,MAAMC,SAAW,QACjBxB,EAAAuB,MAAMV,KAAO,GAAGL,CAAAA,KAChBR,EAAAuB,MAAMb,IAAM,GAAGD,CAAAA,KAC5BT,EAAauB,MAAME,OAAS,OAEnBxB,SAAAyB,KAAKC,YAAY3B,CACnBA,EAAAA,CACR,EAI+CF,EAASD,EAAME,GAOtD,OAJF6B,EAAAA,KAAAC,EAAAA,UAAU7B,EAAc,OAAU8B,EAAAA,EAAAA,OAAM/B,GAAAA,YAAAA,EAAQgC,WAAY,GAAA,CAAA,EAAOC,UAAU,IAAA,CACjFhC,EAAaiC,OAAAA,CAAO,GAGdjC,CACR,CAjEA6B,EAAAA,UAAU5B,SAAU,WAAA,EAClBiC,KACAC,EAAAA,aAAa,GAEbH,CAAAA,EAAAA,UAAWI,GAEX9C,CAAAA,EAAa8C,EAAEC,QACf5C,EAAa2C,EAAEE,OAAA,CA6DV,EAAA,MAAMC,EAAU,CACtBC,QAAS,CAAC1C,EAAiBC,IAAiCH,EAAO,UAAWE,EAASC,CAAAA,EACvF0C,MAAO,CAAC3C,EAAiBC,IAAiCH,EAAO,QAASE,EAASC,CACnF2C,EAAAA,QAAS,CAAC5C,EAAiBC,IAAiCH,EAAO,UAAWE,EAASC,CAAAA,EACvF4C,KAAM,CAAC7C,EAAiBC,IAAiCH,EAAO,OAAQE,EAASC,oMCjFrE6C,QAAAA,qBAAN,cAAmCC,EAAAA,gBAAAA,CAAAA,CAAnC,aAAAC,CAAAC,SAAAC,SAE2CC,EAAAA,KAAApD,KAAA,SAAA,CAEjD,QACQ,CAAA,OAAAqD,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAqBM,IAAMD,KAAKE,cAAc,IAAIC,YAAY,OAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAS,CAAA,EAxBhEC,EAAA,CADCC,WAAS,CAAEzD,KAAM0D,UADNX,6BAEZY,UAAA,OAAA,GAFYZ,QAANA,qBAAAS,EAAA,CADNI,EAAAA,cAAc,uBACFb,CAAAA,EAAAA,oECAAc,QAAAA,2BAAN,cAAyCb,EAAAA,gBAC/C,CAAA,CAAA,QACQ,CAAA,OAAAK,EAAAA,qBAAA,GAFIQ,QAANA,iIAAA,CADND,EAAAA,cAAc,iCACFC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"outlet-Us3Wi-TE.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\tduration?: number\n\treferenceElement?: HTMLElement\n}\n\n// Track cursor position globally\nlet lastMouseX = window.innerWidth / 2\nlet lastMouseY = window.innerHeight / 2\n\nfromEvent(document, 'mousemove')\n\t.pipe(\n\t\tdebounceTime(100), // Throttle to 10fps\n\t)\n\t.subscribe((e: MouseEvent) => {\n\t\tconsole.count()\n\t\tlastMouseX = e.clientX\n\t\tlastMouseY = e.clientY\n\t})\n\nasync function createNotification(\n\tmessage: string,\n\ttype: TNotification,\n\tconfig?: TNotificationConfig,\n): Promise<SchmancyNotification> {\n\tconst notification = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotification.type = type\n\tnotification.innerHTML = message\n\n\t// Determine reference element\n\tconst referenceElement = config?.referenceElement || {\n\t\tgetBoundingClientRect: () => ({\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tx: lastMouseX,\n\t\t\ty: lastMouseY,\n\t\t\ttop: lastMouseY,\n\t\t\tright: lastMouseX,\n\t\t\tbottom: lastMouseY,\n\t\t\tleft: lastMouseX,\n\t\t\ttoJSON: () => ({}), // Required for some Floating UI implementations\n\t\t}),\n\t}\n\n\t// Compute position using Floating UI\n\tconst { x, y } = await computePosition(referenceElement, notification, {\n\t\tstrategy: 'fixed',\n\t\tplacement: config?.referenceElement ? 'top' : 'right-start',\n\t\tmiddleware: [\n\t\t\toffset(8), // 8px gap from reference\n\t\t\tflip(), // Auto-flip directions if needed\n\t\t\tshift({ padding: 5 }), // Prevent screen edges overflow\n\t\t],\n\t})\n\n\t// Apply positioning\n\tnotification.style.position = 'fixed'\n\tnotification.style.left = `${x}px`\n\tnotification.style.top = `${y}px`\n\tnotification.style.zIndex = '9999'\n\n\tdocument.body.appendChild(notification)\n\treturn notification\n}\n\n// Rest of your existing code remains the same...\nexport async function notify(type: TNotification, message: string, config?: TNotificationConfig) {\n\tconst notification = await createNotification(message, type, config)\n\n\t// Remove after duration or close event\n\trace(fromEvent(notification, 'close'), timer(config?.duration ?? 1000)).subscribe(() => {\n\t\tnotification.remove()\n\t})\n\n\treturn notification\n}\n\n// Shorthand API\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => notify('success', message, config),\n\terror: (message: string, config?: TNotificationConfig) => notify('error', message, config),\n\twarning: (message: string, config?: TNotificationConfig) => notify('warning', message, config),\n\tinfo: (message: string, config?: TNotificationConfig) => notify('info', message, config),\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm\n rounded-lg bg-surface-container shadow-lg\n ring-1 ring-outlineVariant ring-opacity-5 p-3\"\n\t\t\t>\n\t\t\t\t<!-- Icon + Text + Close Button, etc. -->\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<div class=\"shrink-0 mr-2\">\n\t\t\t\t\t\t<!-- Show different icons depending on this.type -->\n\t\t\t\t\t\t<!-- e.g., success, error, etc. -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Text slot -->\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Close -->\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t@click=${() => this.dispatchEvent(new CustomEvent('close'))}\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\tclass=\"ml-2 text-sm\"\n\t\t\t\t\t\t>Close</schmancy-icon-button\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["lastMouseX","window","innerWidth","lastMouseY","innerHeight","async","notify","type","message","config","notification","document","createElement","innerHTML","referenceElement","getBoundingClientRect","width","height","x","y","top","right","bottom","left","toJSON","computePosition","strategy","placement","middleware","offset","flip","shift","padding","style","position","zIndex","body","appendChild","race","fromEvent","timer","duration","subscribe","remove","pipe","debounceTime","e","clientX","clientY","$notify","success","error","warning","info","SchmancyNotification","TailwindElement","constructor","super","arguments","this","render","html","dispatchEvent","CustomEvent","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":";;;;;;;AAWA,IAAIA,IAAaC,OAAOC,aAAa,GACjCC,IAAaF,OAAOG,cAAc;AA0DhBC,eAAAC,EAAOC,GAAqBC,GAAiBC,GAClE;AAAA,QAAMC,IA/CPL,MAAAA,eACCG,GACAD,GACAE,GAEM;AAAA,UAAAC,IAAeC,SAASC,cAAc,uBAAA;AAC5CF,IAAAA,EAAaH,OAAOA,GACpBG,EAAaG,YAAYL;AAGnB,UAAAM,KAAmBL,KAAAA,gBAAAA,EAAQK,qBAAoB,EACpDC,uBAAuB,OAAO,EAC7BC,OAAO,GACPC,QAAQ,GACRC,GAAGlB,GACHmB,GAAGhB,GACHiB,KAAKjB,GACLkB,OAAOrB,GACPsB,QAAQnB,GACRoB,MAAMvB,GACNwB,QAAQ,OAAA,CAAQ,GAAA,GAAA,GAAA,EAKZN,GAAEA,GAAGC,GAAAA,EAAAA,IAAAA,MAAYM,EAAgBX,GAAkBJ,GAAc,EACtEgB,UAAU,SACVC,WAAWlB,KAAAA,QAAAA,EAAQK,mBAAmB,QAAQ,eAC9Cc,YAAY,CACXC,EAAO,IACPC,EACAC,GAAAA,EAAM,EAAEC,SAAS,EAWZ,CAAA,CAAA,EAAA,CAAA;AAAA,WANPtB,EAAauB,MAAMC,WAAW,SACjBxB,EAAAuB,MAAMV,OAAO,GAAGL,CAChBR,MAAAA,EAAAuB,MAAMb,MAAM,GAAGD,CAC5BT,MAAAA,EAAauB,MAAME,SAAS,QAEnBxB,SAAAyB,KAAKC,YAAY3B,CACnBA,GAAAA;AAAAA,EACR,EAI+CF,GAASD,GAAME;AAOtD,SAJF6B,EAAAC,EAAU7B,GAAc,OAAU8B,GAAAA,GAAM/B,KAAAA,gBAAAA,EAAQgC,aAAY,GAAOC,CAAAA,EAAAA,UAAU,MACjFhC;AAAAA,IAAAA,EAAaiC,OAAO;AAAA,EAAA,CAAA,GAGdjC;AACR;AAjEA6B,EAAU5B,UAAU,WAClBiC,EAAAA,KACAC,EAAa,GAAA,CAAA,EAEbH,UAAWI,CAAAA,MAAAA;AAEX9C,EAAAA,IAAa8C,EAAEC,SACf5C,IAAa2C,EAAEE;AAAA,CA6DV;AAAA,MAAMC,IAAU,EACtBC,SAAS,CAAC1C,GAAiBC,MAAiCH,EAAO,WAAWE,GAASC,CACvF0C,GAAAA,OAAO,CAAC3C,GAAiBC,MAAiCH,EAAO,SAASE,GAASC,IACnF2C,SAAS,CAAC5C,GAAiBC,MAAiCH,EAAO,WAAWE,GAASC,CAAAA,GACvF4C,MAAM,CAAC7C,GAAiBC,MAAiCH,EAAO,QAAQE,GAASC,CAAAA,EAAAA;;;;;ACjFrE,IAAA6C,IAAN,cAAmCC,EAAAA,EAAAA;AAAAA,EAAnC,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAE2CC,KAAApD,OAAA;AAAA,EAAA;AAAA,EAEjD,SAAAqD;AACQ,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAqBM,MAAMF,KAAKG,cAAc,IAAIC,YAAY,OAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAS;AAAA;AAxBhEC,EAAA,CADCC,EAAS,EAAE1D,MAAM2D,OADNZ,CAAAA,CAAAA,GAAAA,EAEZa,WAAA,QAAA,IAFYb,IAANU,EAAA,CADNI,EAAc,2BACFd;;ACAA,IAAAe,IAAN,cAAyCd;EAC/C,SAAAK;AACQ,WAAAC;AAAAA,EAAA;AAFIQ;AAAAA;;;GAAN,CADND,EAAc,8BAAA,CAAA,GACFC;"}