@mhmo91/schmancy 0.10.31 → 0.10.32

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 (88) hide show
  1. package/dist/agent/schmancy.agent.js +5 -1
  2. package/dist/agent/schmancy.agent.js.map +1 -1
  3. package/dist/avatar.cjs +1 -1
  4. package/dist/avatar.js +1 -1
  5. package/dist/badge.cjs +1 -1
  6. package/dist/badge.js +1 -1
  7. package/dist/{button-DlqCWuk-.cjs → button-nDZQe1ES.cjs} +1 -1
  8. package/dist/{button-DlqCWuk-.cjs.map → button-nDZQe1ES.cjs.map} +1 -1
  9. package/dist/{button-BnGN6SsV.js → button-qARUurjf.js} +1 -1
  10. package/dist/{button-BnGN6SsV.js.map → button-qARUurjf.js.map} +1 -1
  11. package/dist/button.cjs +1 -1
  12. package/dist/button.js +2 -2
  13. package/dist/{chips-lipKBK9P.cjs → chips-DIZFWnDZ.cjs} +1 -1
  14. package/dist/{chips-lipKBK9P.cjs.map → chips-DIZFWnDZ.cjs.map} +1 -1
  15. package/dist/{chips-B8HM25xv.js → chips-xaoSmwBK.js} +1 -1
  16. package/dist/{chips-B8HM25xv.js.map → chips-xaoSmwBK.js.map} +1 -1
  17. package/dist/chips.cjs +1 -1
  18. package/dist/chips.js +1 -1
  19. package/dist/content-drawer.cjs +1 -1
  20. package/dist/content-drawer.js +1 -1
  21. package/dist/{date-range-CObvXmZ4.js → date-range-8OkCahnR.js} +1 -1
  22. package/dist/{date-range-CObvXmZ4.js.map → date-range-8OkCahnR.js.map} +1 -1
  23. package/dist/{date-range-DXct0_Jg.cjs → date-range-Bbzg9aym.cjs} +1 -1
  24. package/dist/{date-range-DXct0_Jg.cjs.map → date-range-Bbzg9aym.cjs.map} +1 -1
  25. package/dist/date-range.cjs +1 -1
  26. package/dist/date-range.js +1 -1
  27. package/dist/{details-DSGEewvZ.cjs → details-3X9YKpuP.cjs} +1 -1
  28. package/dist/{details-DSGEewvZ.cjs.map → details-3X9YKpuP.cjs.map} +1 -1
  29. package/dist/{details-nRdT8J-W.js → details-BO_3CCNn.js} +1 -1
  30. package/dist/{details-nRdT8J-W.js.map → details-BO_3CCNn.js.map} +1 -1
  31. package/dist/details.cjs +1 -1
  32. package/dist/details.js +1 -1
  33. package/dist/{directives-DJbBHfID.cjs → directives-CPFrvZVC.cjs} +1 -1
  34. package/dist/{directives-DJbBHfID.cjs.map → directives-CPFrvZVC.cjs.map} +1 -1
  35. package/dist/{directives-DZzxV3Hh.js → directives-ltIff8q0.js} +1 -1
  36. package/dist/{directives-DZzxV3Hh.js.map → directives-ltIff8q0.js.map} +1 -1
  37. package/dist/directives.cjs +1 -1
  38. package/dist/directives.js +2 -2
  39. package/dist/form.cjs +1 -1
  40. package/dist/form.js +2 -2
  41. package/dist/handover/agent-runtime-followups.md +1 -1
  42. package/dist/handover/agent-runtime-v1.md +3 -3
  43. package/dist/index.cjs +1 -1
  44. package/dist/index.js +11 -11
  45. package/dist/{magnetic-MQ3HMHJi.cjs → magnetic-DKtc4umC.cjs} +1 -1
  46. package/dist/magnetic-DKtc4umC.cjs.map +1 -0
  47. package/dist/{magnetic-B2VKNfDu.js → magnetic-DaOOv5Dz.js} +13 -9
  48. package/dist/magnetic-DaOOv5Dz.js.map +1 -0
  49. package/dist/{menu-BNPbrAmd.cjs → menu-B5EKUeeD.cjs} +1 -1
  50. package/dist/{menu-BNPbrAmd.cjs.map → menu-B5EKUeeD.cjs.map} +1 -1
  51. package/dist/{menu-D2cZSp74.js → menu-CgdXrzir.js} +1 -1
  52. package/dist/{menu-D2cZSp74.js.map → menu-CgdXrzir.js.map} +1 -1
  53. package/dist/menu.cjs +1 -1
  54. package/dist/menu.js +1 -1
  55. package/dist/nav-drawer.cjs +1 -1
  56. package/dist/nav-drawer.js +1 -1
  57. package/dist/navigation-bar.cjs +1 -1
  58. package/dist/navigation-bar.js +1 -1
  59. package/dist/{overlay-U5jr3OYG.cjs → overlay-5PMZ75PO.cjs} +1 -1
  60. package/dist/{overlay-U5jr3OYG.cjs.map → overlay-5PMZ75PO.cjs.map} +1 -1
  61. package/dist/{overlay-BVdgWkIj.js → overlay-BWcB2pRx.js} +2 -2
  62. package/dist/{overlay-BVdgWkIj.js.map → overlay-BWcB2pRx.js.map} +1 -1
  63. package/dist/overlay.cjs +1 -1
  64. package/dist/{overlay.confirm-body-BYPEKZtR.js → overlay.confirm-body-B7W0DOGS.js} +1 -1
  65. package/dist/{overlay.confirm-body-BYPEKZtR.js.map → overlay.confirm-body-B7W0DOGS.js.map} +1 -1
  66. package/dist/{overlay.confirm-body-BCWt92R7.cjs → overlay.confirm-body-CsvwcBvG.cjs} +1 -1
  67. package/dist/{overlay.confirm-body-BCWt92R7.cjs.map → overlay.confirm-body-CsvwcBvG.cjs.map} +1 -1
  68. package/dist/overlay.js +3 -3
  69. package/dist/{overlay.service-D4_SgGuT.cjs → overlay.service-CC4zckoV.cjs} +1 -1
  70. package/dist/{overlay.service-D4_SgGuT.cjs.map → overlay.service-CC4zckoV.cjs.map} +1 -1
  71. package/dist/{overlay.service-Dq2X6ibl.js → overlay.service-zx465FI8.js} +2 -2
  72. package/dist/{overlay.service-Dq2X6ibl.js.map → overlay.service-zx465FI8.js.map} +1 -1
  73. package/dist/{select-gRJb1TEf.js → select-oZGIVus4.js} +1 -1
  74. package/dist/{select-gRJb1TEf.js.map → select-oZGIVus4.js.map} +1 -1
  75. package/dist/{select-Gb9fTA4M.cjs → select-ypXSw5IR.cjs} +1 -1
  76. package/dist/{select-Gb9fTA4M.cjs.map → select-ypXSw5IR.cjs.map} +1 -1
  77. package/dist/select.cjs +1 -1
  78. package/dist/select.js +1 -1
  79. package/dist/{src-DavVEUeO.js → src-CDdxnUbF.js} +8 -8
  80. package/dist/{src-DavVEUeO.js.map → src-CDdxnUbF.js.map} +1 -1
  81. package/dist/{src-C_7k7YhE.cjs → src-_OZKm1Am.cjs} +1 -1
  82. package/dist/{src-C_7k7YhE.cjs.map → src-_OZKm1Am.cjs.map} +1 -1
  83. package/dist/teleport.cjs +1 -1
  84. package/dist/teleport.js +1 -1
  85. package/package.json +1 -1
  86. package/src/directives/magnetic.ts +8 -1
  87. package/dist/magnetic-B2VKNfDu.js.map +0 -1
  88. package/dist/magnetic-MQ3HMHJi.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { directive, type ElementPart, PartType } from 'lit/directive.js'
2
2
  import { AsyncDirective } from 'lit/async-directive.js'
3
3
  import { animationFrameScheduler, fromEvent, merge, Subject } from 'rxjs'
4
- import { auditTime, map, takeUntil } from 'rxjs/operators'
4
+ import { auditTime, filter, map, takeUntil } from 'rxjs/operators'
5
5
  import { SPRING_SNAPPY } from '../utils/animation'
6
6
  import { reducedMotion$ } from './reduced-motion'
7
7
 
@@ -77,6 +77,13 @@ class MagneticDirective extends AsyncDirective {
77
77
 
78
78
  const move$ = fromEvent<MouseEvent>(target, 'mousemove').pipe(
79
79
  auditTime(0, animationFrameScheduler),
80
+ filter(() =>
81
+ this.element.checkVisibility?.({
82
+ contentVisibilityAuto: true,
83
+ checkOpacity: true,
84
+ checkVisibilityCSS: true,
85
+ } as CheckVisibilityOptions) ?? true,
86
+ ),
80
87
  map(e => {
81
88
  const rect = this.cachedRect ?? this.element.getBoundingClientRect()
82
89
  const centerX = rect.left + rect.width / 2
@@ -1 +0,0 @@
1
- {"version":3,"file":"magnetic-B2VKNfDu.js","names":[],"sources":["../src/directives/magnetic.ts"],"sourcesContent":["import { directive, type ElementPart, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { animationFrameScheduler, fromEvent, merge, Subject } from 'rxjs'\nimport { auditTime, map, takeUntil } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation'\nimport { reducedMotion$ } from './reduced-motion'\n\nexport interface MagneticOptions {\n\t/** Max displacement in pixels (default: 4) */\n\tstrength?: number\n\t/** Activation radius in pixels (default: 100) */\n\tradius?: number\n}\n\n/**\n * Magnetic directive — elements lean toward the cursor with spring physics.\n *\n * Uses `style.translate` (CSS individual transform) so it composes\n * with existing transforms on the element.\n *\n * @example\n * ```html\n * <schmancy-button ${magnetic()}>Submit</schmancy-button>\n * <schmancy-icon-button ${magnetic({ strength: 6, radius: 120 })}>add</schmancy-icon-button>\n * ```\n */\nclass MagneticDirective extends AsyncDirective {\n\tprivate element!: HTMLElement\n\tprivate readonly teardown$ = new Subject<void>()\n\tprivate strength = 4\n\tprivate radius = 100\n\tprivate prevKey?: string\n\tprivate cachedRect?: DOMRect\n\n\trender(_options?: MagneticOptions) {\n\t\treturn undefined\n\t}\n\n\toverride update(part: ElementPart, [options]: [MagneticOptions?]) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('magnetic directive must be used on an element')\n\t\t}\n\n\t\tconst key = JSON.stringify(options ?? {})\n\t\tif (this.element && key === this.prevKey) return undefined\n\t\tthis.prevKey = key\n\n\t\tthis.element = part.element as HTMLElement\n\t\tthis.strength = options?.strength ?? 4\n\t\tthis.radius = options?.radius ?? 100\n\n\t\tthis.element.style.transition = `translate ${SPRING_SNAPPY.duration}ms ${SPRING_SNAPPY.easingFallback}`\n\n\t\tthis.teardown$.next()\n\t\tthis.setupMagnetic()\n\n\t\treturn undefined\n\t}\n\n\toverride reconnected() {\n\t\tthis.teardown$.next()\n\t\tthis.setupMagnetic()\n\t}\n\n\tprivate setupMagnetic() {\n\t\tif (reducedMotion$.value) return\n\n\t\tconst target = this.element.parentElement ?? document\n\n\t\tconst enter$ = fromEvent(this.element, 'mouseenter').pipe(\n\t\t\tmap(() => {\n\t\t\t\tthis.element.style.willChange = 'translate'\n\t\t\t\tthis.cachedRect = this.element.getBoundingClientRect()\n\t\t\t\treturn null\n\t\t\t}),\n\t\t)\n\n\t\tconst move$ = fromEvent<MouseEvent>(target, 'mousemove').pipe(\n\t\t\tauditTime(0, animationFrameScheduler),\n\t\t\tmap(e => {\n\t\t\t\tconst rect = this.cachedRect ?? this.element.getBoundingClientRect()\n\t\t\t\tconst centerX = rect.left + rect.width / 2\n\t\t\t\tconst centerY = rect.top + rect.height / 2\n\t\t\t\tconst dx = e.clientX - centerX\n\t\t\t\tconst dy = e.clientY - centerY\n\t\t\t\tconst distance = Math.sqrt(dx * dx + dy * dy)\n\n\t\t\t\tif (distance < this.radius && distance > 0) {\n\t\t\t\t\tconst pull = (1 - distance / this.radius) * this.strength\n\t\t\t\t\treturn { x: (dx / distance) * pull, y: (dy / distance) * pull }\n\t\t\t\t}\n\t\t\t\treturn { x: 0, y: 0 }\n\t\t\t}),\n\t\t)\n\n\t\tconst leave$ = fromEvent(target, 'mouseleave').pipe(\n\t\t\tmap(() => {\n\t\t\t\tthis.element.style.willChange = ''\n\t\t\t\tthis.cachedRect = undefined\n\t\t\t\treturn { x: 0, y: 0 }\n\t\t\t}),\n\t\t)\n\n\t\t// Also tear down if user enables reduced motion\n\t\tconst motionChange$ = reducedMotion$.pipe(\n\t\t\tmap(reduced => {\n\t\t\t\tif (reduced) {\n\t\t\t\t\tthis.element.style.translate = ''\n\t\t\t\t\tthis.element.style.willChange = ''\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t}),\n\t\t)\n\n\t\tmerge(enter$, move$, leave$, motionChange$)\n\t\t\t.pipe(takeUntil(this.teardown$))\n\t\t\t.subscribe(pos => {\n\t\t\t\tif (pos) {\n\t\t\t\t\tthis.element.style.translate = `${pos.x}px ${pos.y}px`\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\toverride disconnected() {\n\t\tthis.teardown$.next()\n\t\tif (this.element) {\n\t\t\tthis.element.style.translate = ''\n\t\t\tthis.element.style.willChange = ''\n\t\t}\n\t}\n}\n\nexport const magnetic = directive(MagneticDirective)\n"],"mappings":";;;;;;AA0BA,IA0Ga,IAAW,EA1GxB,cAAgC,EAAA;CAAA,YAAA,GAAA,GAAA;EAAA,MAAA,GAAA,CAAA,GAAA,KAAA,YAEF,IAAI,KAAA,KAAA,WACd,GAAA,KAAA,SACF;CAAA;CAIjB,OAAO,GAAA,CAEP;CAEA,OAAgB,GAAA,CAAoB,IAAA;EACnC,IAAI,EAAK,SAAS,EAAS,SAC1B,MAAU,MAAM,+CAAA;EAGjB,IAAM,IAAM,KAAK,UAAU,KAAW,CAAC,CAAA;EACnC,KAAK,WAAW,MAAQ,KAAK,YACjC,KAAK,UAAU,GAEf,KAAK,UAAU,EAAK,SACpB,KAAK,WAAW,GAAS,YAAY,GACrC,KAAK,SAAS,GAAS,UAAU,KAEjC,KAAK,QAAQ,MAAM,aAAa,aAAa,EAAc,SAAA,KAAc,EAAc,kBAEvF,KAAK,UAAU,KAAA,GACf,KAAK,cAAA;CAGN;CAEA,cAAA;EACC,KAAK,UAAU,KAAA,GACf,KAAK,cAAA;CACN;CAEA,gBAAA;EACC,IAAI,EAAe,OAAO;EAE1B,IAAM,IAAS,KAAK,QAAQ,iBAAiB;EA+C7C,EA7Ce,EAAU,KAAK,SAAS,YAAA,EAAc,KACpD,SACC,KAAK,QAAQ,MAAM,aAAa,aAChC,KAAK,aAAa,KAAK,QAAQ,sBAAA,GACxB,KAAA,CAAA,GAIK,EAAsB,GAAQ,WAAA,EAAa,KACxD,EAAU,GAAG,CAAA,GACb,GAAI,MAAA;GACH,IAAM,IAAO,KAAK,cAAc,KAAK,QAAQ,sBAAA,GACvC,IAAU,EAAK,OAAO,EAAK,QAAQ,GACnC,IAAU,EAAK,MAAM,EAAK,SAAS,GACnC,IAAK,EAAE,UAAU,GACjB,IAAK,EAAE,UAAU,GACjB,IAAW,KAAK,KAAK,IAAK,IAAK,IAAK,CAAA;GAE1C,IAAI,IAAW,KAAK,UAAU,IAAW,GAAG;IAC3C,IAAM,KAAQ,IAAI,IAAW,KAAK,UAAU,KAAK;IACjD,OAAO;KAAE,GAAI,IAAK,IAAY;KAAM,GAAI,IAAK,IAAY;IAAA;GAC1D;GACA,OAAO;IAAE,GAAG;IAAG,GAAG;GAAA;EAAA,CAAA,CAAA,GAIL,EAAU,GAAQ,YAAA,EAAc,KAC9C,SACC,KAAK,QAAQ,MAAM,aAAa,IAChC,KAAK,aAAA,KAAa,GACX;GAAE,GAAG;GAAG,GAAG;EAAA,EAAA,CAAA,GAKE,EAAe,KACpC,GAAI,OACC,MACH,KAAK,QAAQ,MAAM,YAAY,IAC/B,KAAK,QAAQ,MAAM,aAAa,KAE1B,KAAA,CAAA,CAAA,EAKP,KAAK,EAAU,KAAK,SAAA,CAAA,EACpB,WAAU,MAAA;GACN,MACH,KAAK,QAAQ,MAAM,YAAY,GAAG,EAAI,EAAA,KAAO,EAAI,EAAA;EAAA,CAAA;CAGrD;CAEA,eAAA;EACC,KAAK,UAAU,KAAA,GACX,KAAK,YACR,KAAK,QAAQ,MAAM,YAAY,IAC/B,KAAK,QAAQ,MAAM,aAAa;CAElC;AAAA,CAAA;AAAA,SAAA,KAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"magnetic-MQ3HMHJi.cjs","names":[],"sources":["../src/directives/magnetic.ts"],"sourcesContent":["import { directive, type ElementPart, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { animationFrameScheduler, fromEvent, merge, Subject } from 'rxjs'\nimport { auditTime, map, takeUntil } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation'\nimport { reducedMotion$ } from './reduced-motion'\n\nexport interface MagneticOptions {\n\t/** Max displacement in pixels (default: 4) */\n\tstrength?: number\n\t/** Activation radius in pixels (default: 100) */\n\tradius?: number\n}\n\n/**\n * Magnetic directive — elements lean toward the cursor with spring physics.\n *\n * Uses `style.translate` (CSS individual transform) so it composes\n * with existing transforms on the element.\n *\n * @example\n * ```html\n * <schmancy-button ${magnetic()}>Submit</schmancy-button>\n * <schmancy-icon-button ${magnetic({ strength: 6, radius: 120 })}>add</schmancy-icon-button>\n * ```\n */\nclass MagneticDirective extends AsyncDirective {\n\tprivate element!: HTMLElement\n\tprivate readonly teardown$ = new Subject<void>()\n\tprivate strength = 4\n\tprivate radius = 100\n\tprivate prevKey?: string\n\tprivate cachedRect?: DOMRect\n\n\trender(_options?: MagneticOptions) {\n\t\treturn undefined\n\t}\n\n\toverride update(part: ElementPart, [options]: [MagneticOptions?]) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('magnetic directive must be used on an element')\n\t\t}\n\n\t\tconst key = JSON.stringify(options ?? {})\n\t\tif (this.element && key === this.prevKey) return undefined\n\t\tthis.prevKey = key\n\n\t\tthis.element = part.element as HTMLElement\n\t\tthis.strength = options?.strength ?? 4\n\t\tthis.radius = options?.radius ?? 100\n\n\t\tthis.element.style.transition = `translate ${SPRING_SNAPPY.duration}ms ${SPRING_SNAPPY.easingFallback}`\n\n\t\tthis.teardown$.next()\n\t\tthis.setupMagnetic()\n\n\t\treturn undefined\n\t}\n\n\toverride reconnected() {\n\t\tthis.teardown$.next()\n\t\tthis.setupMagnetic()\n\t}\n\n\tprivate setupMagnetic() {\n\t\tif (reducedMotion$.value) return\n\n\t\tconst target = this.element.parentElement ?? document\n\n\t\tconst enter$ = fromEvent(this.element, 'mouseenter').pipe(\n\t\t\tmap(() => {\n\t\t\t\tthis.element.style.willChange = 'translate'\n\t\t\t\tthis.cachedRect = this.element.getBoundingClientRect()\n\t\t\t\treturn null\n\t\t\t}),\n\t\t)\n\n\t\tconst move$ = fromEvent<MouseEvent>(target, 'mousemove').pipe(\n\t\t\tauditTime(0, animationFrameScheduler),\n\t\t\tmap(e => {\n\t\t\t\tconst rect = this.cachedRect ?? this.element.getBoundingClientRect()\n\t\t\t\tconst centerX = rect.left + rect.width / 2\n\t\t\t\tconst centerY = rect.top + rect.height / 2\n\t\t\t\tconst dx = e.clientX - centerX\n\t\t\t\tconst dy = e.clientY - centerY\n\t\t\t\tconst distance = Math.sqrt(dx * dx + dy * dy)\n\n\t\t\t\tif (distance < this.radius && distance > 0) {\n\t\t\t\t\tconst pull = (1 - distance / this.radius) * this.strength\n\t\t\t\t\treturn { x: (dx / distance) * pull, y: (dy / distance) * pull }\n\t\t\t\t}\n\t\t\t\treturn { x: 0, y: 0 }\n\t\t\t}),\n\t\t)\n\n\t\tconst leave$ = fromEvent(target, 'mouseleave').pipe(\n\t\t\tmap(() => {\n\t\t\t\tthis.element.style.willChange = ''\n\t\t\t\tthis.cachedRect = undefined\n\t\t\t\treturn { x: 0, y: 0 }\n\t\t\t}),\n\t\t)\n\n\t\t// Also tear down if user enables reduced motion\n\t\tconst motionChange$ = reducedMotion$.pipe(\n\t\t\tmap(reduced => {\n\t\t\t\tif (reduced) {\n\t\t\t\t\tthis.element.style.translate = ''\n\t\t\t\t\tthis.element.style.willChange = ''\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t}),\n\t\t)\n\n\t\tmerge(enter$, move$, leave$, motionChange$)\n\t\t\t.pipe(takeUntil(this.teardown$))\n\t\t\t.subscribe(pos => {\n\t\t\t\tif (pos) {\n\t\t\t\t\tthis.element.style.translate = `${pos.x}px ${pos.y}px`\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\toverride disconnected() {\n\t\tthis.teardown$.next()\n\t\tif (this.element) {\n\t\t\tthis.element.style.translate = ''\n\t\t\tthis.element.style.willChange = ''\n\t\t}\n\t}\n}\n\nexport const magnetic = directive(MagneticDirective)\n"],"mappings":"2OA0BA,IAAM,EAAN,cAAgC,EAAA,cAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,CAAA,EAAA,KAAA,UAEF,IAAI,EAAA,QAAA,KAAA,SACd,EAAA,KAAA,OACF,GAAA,CAIjB,OAAO,EAAA,CAEP,CAEA,OAAgB,EAAA,CAAoB,GAAA,CACnC,GAAI,EAAK,OAAS,EAAA,SAAS,QAC1B,MAAU,MAAM,+CAAA,EAGjB,IAAM,EAAM,KAAK,UAAU,GAAW,CAAC,CAAA,EACnC,KAAK,SAAW,IAAQ,KAAK,UACjC,KAAK,QAAU,EAEf,KAAK,QAAU,EAAK,QACpB,KAAK,SAAW,GAAS,UAAY,EACrC,KAAK,OAAS,GAAS,QAAU,IAEjC,KAAK,QAAQ,MAAM,WAAa,aAAa,EAAA,EAAc,SAAA,KAAc,EAAA,EAAc,iBAEvF,KAAK,UAAU,KAAA,EACf,KAAK,cAAA,EAGN,CAEA,aAAA,CACC,KAAK,UAAU,KAAA,EACf,KAAK,cAAA,CACN,CAEA,eAAA,CACC,GAAI,EAAA,EAAe,MAAO,OAE1B,IAAM,EAAS,KAAK,QAAQ,eAAiB,UA+C7C,EAAA,EAAA,QAAA,EAAA,EAAA,WA7CyB,KAAK,QAAS,YAAA,EAAc,MAAA,EAAA,EAAA,UAEnD,KAAK,QAAQ,MAAM,WAAa,YAChC,KAAK,WAAa,KAAK,QAAQ,sBAAA,EACxB,KAAA,CAAA,GAyCH,EAAA,EAAA,WArC8B,EAAQ,WAAA,EAAa,MAAA,EAAA,EAAA,WAC9C,EAAG,EAAA,uBAAA,GAAuB,EAAA,EAAA,KAChC,GAAA,CACH,IAAM,EAAO,KAAK,YAAc,KAAK,QAAQ,sBAAA,EACvC,EAAU,EAAK,KAAO,EAAK,MAAQ,EACnC,EAAU,EAAK,IAAM,EAAK,OAAS,EACnC,EAAK,EAAE,QAAU,EACjB,EAAK,EAAE,QAAU,EACjB,EAAW,KAAK,KAAK,EAAK,EAAK,EAAK,CAAA,EAE1C,GAAI,EAAW,KAAK,QAAU,EAAW,EAAG,CAC3C,IAAM,GAAQ,EAAI,EAAW,KAAK,QAAU,KAAK,SACjD,MAAO,CAAE,EAAI,EAAK,EAAY,EAAM,EAAI,EAAK,EAAY,CAAA,CAC1D,CACA,MAAO,CAAE,EAAG,EAAG,EAAG,CAAA,CAAA,CAAA,CAAA,GAuBN,EAAA,EAAA,WAnBW,EAAQ,YAAA,EAAc,MAAA,EAAA,EAAA,UAE7C,KAAK,QAAQ,MAAM,WAAa,GAChC,KAAK,WAAA,IAAa,GACX,CAAE,EAAG,EAAG,EAAG,CAAA,EAAA,CAAA,EAKE,EAAA,EAAe,MAAA,EAAA,EAAA,KAChC,IACC,IACH,KAAK,QAAQ,MAAM,UAAY,GAC/B,KAAK,QAAQ,MAAM,WAAa,IAE1B,KAAA,CAAA,CAAA,EAKP,MAAA,EAAA,EAAA,WAAe,KAAK,SAAA,CAAA,EACpB,UAAU,GAAA,CACN,IACH,KAAK,QAAQ,MAAM,UAAY,GAAG,EAAI,EAAA,KAAO,EAAI,EAAA,IAAA,CAAA,CAGrD,CAEA,cAAA,CACC,KAAK,UAAU,KAAA,EACX,KAAK,UACR,KAAK,QAAQ,MAAM,UAAY,GAC/B,KAAK,QAAQ,MAAM,WAAa,GAElC,CAAA,EAGY,GAAA,EAAA,EAAA,WAAqB,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA"}