@wix/interact 2.1.4 → 2.2.0

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 (83) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/cjs/react.js +1 -1
  3. package/dist/cjs/web.js +1 -1
  4. package/dist/cjs/web.js.map +1 -1
  5. package/dist/es/index.js +1 -1
  6. package/dist/es/react.js +2 -2
  7. package/dist/es/web.js +15 -15
  8. package/dist/es/web.js.map +1 -1
  9. package/dist/{index-DHqlFmW8.mjs → index-ByLXasWO.mjs} +491 -485
  10. package/dist/index-ByLXasWO.mjs.map +1 -0
  11. package/dist/index-CzRuJxn8.js +18 -0
  12. package/dist/index-CzRuJxn8.js.map +1 -0
  13. package/dist/tsconfig.build.tsbuildinfo +1 -1
  14. package/dist/types/core/Interact.d.ts +2 -2
  15. package/dist/types/core/InteractionController.d.ts +2 -2
  16. package/dist/types/core/InteractionController.d.ts.map +1 -1
  17. package/dist/types/core/add.d.ts.map +1 -1
  18. package/dist/types/core/css.d.ts.map +1 -1
  19. package/dist/types/handlers/effectHandlers.d.ts +4 -4
  20. package/dist/types/handlers/effectHandlers.d.ts.map +1 -1
  21. package/dist/types/handlers/eventTrigger.d.ts +2 -2
  22. package/dist/types/handlers/eventTrigger.d.ts.map +1 -1
  23. package/dist/types/handlers/index.d.ts.map +1 -1
  24. package/dist/types/handlers/viewEnter.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +1 -1
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/react/index.d.ts +1 -1
  28. package/dist/types/react/index.d.ts.map +1 -1
  29. package/dist/types/types/config.d.ts +47 -0
  30. package/dist/types/types/config.d.ts.map +1 -0
  31. package/dist/types/types/controller.d.ts +34 -0
  32. package/dist/types/types/controller.d.ts.map +1 -0
  33. package/dist/types/types/effects.d.ts +75 -0
  34. package/dist/types/types/effects.d.ts.map +1 -0
  35. package/dist/types/types/external.d.ts +6 -0
  36. package/dist/types/types/external.d.ts.map +1 -0
  37. package/dist/types/types/global.d.ts +11 -0
  38. package/dist/types/types/global.d.ts.map +1 -0
  39. package/dist/types/types/handlers.d.ts +41 -0
  40. package/dist/types/types/handlers.d.ts.map +1 -0
  41. package/dist/types/types/index.d.ts +8 -0
  42. package/dist/types/types/index.d.ts.map +1 -0
  43. package/dist/types/types/internal.d.ts +36 -0
  44. package/dist/types/types/internal.d.ts.map +1 -0
  45. package/dist/types/types/triggers.d.ts +28 -0
  46. package/dist/types/types/triggers.d.ts.map +1 -0
  47. package/dist/types/web/InteractElement.d.ts +2 -2
  48. package/dist/types/web/InteractElement.d.ts.map +1 -1
  49. package/dist/types/web/index.d.ts +1 -1
  50. package/dist/types/web/index.d.ts.map +1 -1
  51. package/docs/api/README.md +2 -3
  52. package/docs/api/functions.md +4 -4
  53. package/docs/api/interact-class.md +2 -3
  54. package/docs/api/interact-element.md +2 -2
  55. package/docs/api/interaction-controller.md +4 -4
  56. package/docs/api/types.md +38 -69
  57. package/docs/examples/README.md +1 -1
  58. package/docs/examples/click-interactions.md +0 -7
  59. package/docs/examples/entrance-animations.md +28 -27
  60. package/docs/examples/list-patterns.md +17 -16
  61. package/docs/guides/conditions-and-media-queries.md +2 -3
  62. package/docs/guides/configuration-structure.md +5 -7
  63. package/docs/guides/effects-and-animations.md +2 -4
  64. package/docs/guides/getting-started.md +0 -1
  65. package/docs/guides/lists-and-dynamic-content.md +10 -9
  66. package/docs/guides/sequences.md +3 -4
  67. package/docs/guides/state-management.md +0 -2
  68. package/docs/guides/understanding-triggers.md +9 -13
  69. package/package.json +2 -2
  70. package/rules/click.md +96 -560
  71. package/rules/full-lean.md +536 -360
  72. package/rules/hover.md +107 -530
  73. package/rules/integration.md +212 -261
  74. package/rules/pointermove.md +154 -1407
  75. package/rules/viewenter.md +128 -863
  76. package/rules/viewprogress.md +88 -322
  77. package/dist/index-DHqlFmW8.mjs.map +0 -1
  78. package/dist/index-DYEvpIGz.js +0 -18
  79. package/dist/index-DYEvpIGz.js.map +0 -1
  80. package/dist/types/types.d.ts +0 -256
  81. package/dist/types/types.d.ts.map +0 -1
  82. package/rules/MASTER-CLEANUP-PLAN.md +0 -286
  83. package/rules/scroll-list.md +0 -748
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index-DYEvpIGz.js");exports.Interact=e.a;exports.add=e.b;exports.generate=e.g;exports.remove=e.r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index-CzRuJxn8.js");exports.Interact=e.a;exports.add=e.b;exports.generate=e.g;exports.remove=e.r;
2
2
  //# sourceMappingURL=index.js.map
package/dist/cjs/react.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react"),P=require("../index-DYEvpIGz.js");var q={exports:{}},$={};var Se;function dr(){if(Se)return $;Se=1;var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,j=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,x={key:!0,ref:!0,__self:!0,__source:!0};function R(_,f,T){var c,b={},E=null,L=null;T!==void 0&&(E=""+T),f.key!==void 0&&(E=""+f.key),f.ref!==void 0&&(L=f.ref);for(c in f)m.call(f,c)&&!x.hasOwnProperty(c)&&(b[c]=f[c]);if(_&&_.defaultProps)for(c in f=_.defaultProps,f)b[c]===void 0&&(b[c]=f[c]);return{$$typeof:y,type:_,key:E,ref:L,props:b,_owner:j.current}}return $.Fragment=w,$.jsx=R,$.jsxs=R,$}var W={};var Ce;function vr(){return Ce||(Ce=1,process.env.NODE_ENV!=="production"&&(function(){var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),_=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),L=Symbol.for("react.offscreen"),Q=Symbol.iterator,je="@@iterator";function xe(e){if(e===null||typeof e!="object")return null;var r=Q&&e[Q]||e[je];return typeof r=="function"?r:null}var k=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];ke("error",e,t)}}function ke(e,r,t){{var n=k.ReactDebugCurrentFrame,o=n.getStackAddendum();o!==""&&(r+="%s",t=t.concat([o]));var u=t.map(function(i){return String(i)});u.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,u)}}var De=!1,Fe=!1,Ae=!1,Ie=!1,$e=!1,ee;ee=Symbol.for("react.module.reference");function We(e){return!!(typeof e=="string"||typeof e=="function"||e===m||e===x||$e||e===j||e===T||e===c||Ie||e===L||De||Fe||Ae||typeof e=="object"&&e!==null&&(e.$$typeof===E||e.$$typeof===b||e.$$typeof===R||e.$$typeof===_||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function Ye(e,r,t){var n=e.displayName;if(n)return n;var o=r.displayName||r.name||"";return o!==""?t+"("+o+")":t}function re(e){return e.displayName||"Context"}function O(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case m:return"Fragment";case w:return"Portal";case x:return"Profiler";case j:return"StrictMode";case T:return"Suspense";case c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _:var r=e;return re(r)+".Consumer";case R:var t=e;return re(t._context)+".Provider";case f:return Ye(e,e.render,"ForwardRef");case b:var n=e.displayName||null;return n!==null?n:O(e.type)||"Memo";case E:{var o=e,u=o._payload,i=o._init;try{return O(i(u))}catch{return null}}}return null}var S=Object.assign,A=0,te,ne,ae,ie,oe,ue,se;function le(){}le.__reactDisabledLog=!0;function Le(){{if(A===0){te=console.log,ne=console.info,ae=console.warn,ie=console.error,oe=console.group,ue=console.groupCollapsed,se=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}}function Me(){{if(A--,A===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},e,{value:te}),info:S({},e,{value:ne}),warn:S({},e,{value:ae}),error:S({},e,{value:ie}),group:S({},e,{value:oe}),groupCollapsed:S({},e,{value:ue}),groupEnd:S({},e,{value:se})})}A<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var J=k.ReactCurrentDispatcher,B;function M(e,r,t){{if(B===void 0)try{throw Error()}catch(o){var n=o.stack.trim().match(/\n( *(at )?)/);B=n&&n[1]||""}return`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react"),P=require("../index-CzRuJxn8.js");var q={exports:{}},$={};var Se;function dr(){if(Se)return $;Se=1;var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,j=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,x={key:!0,ref:!0,__self:!0,__source:!0};function R(_,f,T){var c,b={},E=null,L=null;T!==void 0&&(E=""+T),f.key!==void 0&&(E=""+f.key),f.ref!==void 0&&(L=f.ref);for(c in f)m.call(f,c)&&!x.hasOwnProperty(c)&&(b[c]=f[c]);if(_&&_.defaultProps)for(c in f=_.defaultProps,f)b[c]===void 0&&(b[c]=f[c]);return{$$typeof:y,type:_,key:E,ref:L,props:b,_owner:j.current}}return $.Fragment=w,$.jsx=R,$.jsxs=R,$}var W={};var Ce;function vr(){return Ce||(Ce=1,process.env.NODE_ENV!=="production"&&(function(){var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),_=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),L=Symbol.for("react.offscreen"),Q=Symbol.iterator,je="@@iterator";function xe(e){if(e===null||typeof e!="object")return null;var r=Q&&e[Q]||e[je];return typeof r=="function"?r:null}var k=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];ke("error",e,t)}}function ke(e,r,t){{var n=k.ReactDebugCurrentFrame,o=n.getStackAddendum();o!==""&&(r+="%s",t=t.concat([o]));var u=t.map(function(i){return String(i)});u.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,u)}}var De=!1,Fe=!1,Ae=!1,Ie=!1,$e=!1,ee;ee=Symbol.for("react.module.reference");function We(e){return!!(typeof e=="string"||typeof e=="function"||e===m||e===x||$e||e===j||e===T||e===c||Ie||e===L||De||Fe||Ae||typeof e=="object"&&e!==null&&(e.$$typeof===E||e.$$typeof===b||e.$$typeof===R||e.$$typeof===_||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function Ye(e,r,t){var n=e.displayName;if(n)return n;var o=r.displayName||r.name||"";return o!==""?t+"("+o+")":t}function re(e){return e.displayName||"Context"}function O(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case m:return"Fragment";case w:return"Portal";case x:return"Profiler";case j:return"StrictMode";case T:return"Suspense";case c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _:var r=e;return re(r)+".Consumer";case R:var t=e;return re(t._context)+".Provider";case f:return Ye(e,e.render,"ForwardRef");case b:var n=e.displayName||null;return n!==null?n:O(e.type)||"Memo";case E:{var o=e,u=o._payload,i=o._init;try{return O(i(u))}catch{return null}}}return null}var S=Object.assign,A=0,te,ne,ae,ie,oe,ue,se;function le(){}le.__reactDisabledLog=!0;function Le(){{if(A===0){te=console.log,ne=console.info,ae=console.warn,ie=console.error,oe=console.group,ue=console.groupCollapsed,se=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}}function Me(){{if(A--,A===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},e,{value:te}),info:S({},e,{value:ne}),warn:S({},e,{value:ae}),error:S({},e,{value:ie}),group:S({},e,{value:oe}),groupCollapsed:S({},e,{value:ue}),groupEnd:S({},e,{value:se})})}A<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var J=k.ReactCurrentDispatcher,B;function M(e,r,t){{if(B===void 0)try{throw Error()}catch(o){var n=o.stack.trim().match(/\n( *(at )?)/);B=n&&n[1]||""}return`
2
2
  `+B+e}}var G=!1,V;{var Ve=typeof WeakMap=="function"?WeakMap:Map;V=new Ve}function fe(e,r){if(!e||G)return"";{var t=V.get(e);if(t!==void 0)return t}var n;G=!0;var o=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var u;u=J.current,J.current=null,Le();try{if(r){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(p){n=p}Reflect.construct(e,[],i)}else{try{i.call()}catch(p){n=p}e.call(i.prototype)}}else{try{throw Error()}catch(p){n=p}e()}}catch(p){if(p&&n&&typeof p.stack=="string"){for(var a=p.stack.split(`
3
3
  `),v=n.stack.split(`
4
4
  `),s=a.length-1,l=v.length-1;s>=1&&l>=0&&a[s]!==v[l];)l--;for(;s>=1&&l>=0;s--,l--)if(a[s]!==v[l]){if(s!==1||l!==1)do if(s--,l--,l<0||a[s]!==v[l]){var g=`
package/dist/cjs/web.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../index-DYEvpIGz.js");function l(){let s=!1,r=!1;return class extends HTMLElement{_internals;controller;constructor(){if(super(),this.controller=new n.I(this,void 0,{useFirstChild:!0}),this._internals=null,this.attachInternals&&(this._internals=this.attachInternals(),!s)){s=!0;try{this._internals.states.add("test"),this._internals.states.delete("test")}catch{r=!0}}}connectedCallback(){this.connect()}disconnectedCallback(){this.disconnect({removeFromCache:!0})}connect(t){this.controller.connected||this.controller.connect(t)}disconnect(t){this.controller.disconnect(t)}toggleEffect(t,e,i){i!==null&&(r&&(t=`--${t}`),this._internals&&!i?e==="toggle"?this._internals.states.has(t)?this._internals.states.delete(t):this._internals.states.add(t):e==="add"?this._internals.states.add(t):e==="remove"?this._internals.states.delete(t):e==="clear"&&this._internals.states.clear():this.controller?.toggleEffect(t,e,i,!0))}getActiveEffects(){if(this._internals){const t=Array.from(this._internals.states);return r?t.map(e=>e.replace(/^--/g,"")):t}return this.controller?.getActiveEffects()||[]}}}function a(){if(!customElements.get("interact-element")){const s=l();return customElements.define("interact-element",s),!0}return!1}n.a.defineInteractElement=a;exports.Interact=n.a;exports.add=n.b;exports.generate=n.g;exports.remove=n.r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../index-CzRuJxn8.js");function i(){let s=!1,r=!1;return class extends HTMLElement{_internals;controller;constructor(){if(super(),this.controller=new n.I(this,void 0,{useFirstChild:!0}),this._internals=null,this.attachInternals&&(this._internals=this.attachInternals(),!s)){s=!0;try{this._internals.states.add("test"),this._internals.states.delete("test")}catch{r=!0}}}connectedCallback(){this.connect()}disconnectedCallback(){this.disconnect({removeFromCache:!0})}connect(e){this.controller.connected||this.controller.connect(e)}disconnect(e){this.controller.disconnect(e)}toggleEffect(e,t,l){l!==null&&(r&&(e=`--${e}`),this._internals&&!l?t==="toggle"?this._internals.states.has(e)?this._internals.states.delete(e):this._internals.states.add(e):t==="add"?this._internals.states.add(e):t==="remove"?this._internals.states.delete(e):t==="clear"&&this._internals.states.clear():this.controller?.toggleEffect(e,t,l,!0))}getActiveEffects(){if(this._internals){const e=Array.from(this._internals.states);return r?e.map(t=>t.replace(/^--/g,"")):e}return this.controller?.getActiveEffects()||[]}}}function a(){if(!customElements.get("interact-element")){const s=i();return customElements.define("interact-element",s),!0}return!1}n.a.defineInteractElement=a;exports.Interact=n.a;exports.add=n.b;exports.generate=n.g;exports.remove=n.r;
2
2
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sources":["../../src/web/InteractElement.ts","../../src/web/defineInteractElement.ts","../../src/web/index.ts"],"sourcesContent":["import type { IInteractionController, StateParams } from '../types';\nimport { InteractionController } from '../core/InteractionController';\n\nexport const INTERACT_EFFECT_DATA_ATTR = 'interactEffect';\n\nexport function getInteractElement() {\n let checkedForLegacyStateSyntax = false;\n let isLegacyStateSyntax = false;\n\n return class InteractElement extends HTMLElement {\n _internals: (ElementInternals & { states: Set<string> }) | null;\n controller: IInteractionController;\n\n constructor() {\n super();\n\n this.controller = new InteractionController(this, undefined, { useFirstChild: true });\n this._internals = null;\n\n if (this.attachInternals) {\n this._internals = this.attachInternals() as ElementInternals & {\n states: Set<string>;\n };\n\n if (!checkedForLegacyStateSyntax) {\n checkedForLegacyStateSyntax = true;\n\n try {\n this._internals.states.add('test');\n this._internals.states.delete('test');\n } catch (e) {\n isLegacyStateSyntax = true;\n }\n }\n }\n }\n connectedCallback() {\n this.connect();\n }\n\n disconnectedCallback() {\n this.disconnect({ removeFromCache: true });\n }\n\n connect(key?: string) {\n if (this.controller.connected) {\n return;\n }\n\n this.controller.connect(key);\n }\n\n disconnect(options?: { removeFromCache?: boolean }) {\n this.controller.disconnect(options);\n }\n\n toggleEffect(effectId: string, method: StateParams['method'], item?: HTMLElement | null) {\n if (item === null) {\n return;\n }\n\n if (isLegacyStateSyntax) {\n effectId = `--${effectId}`;\n }\n\n if (this._internals && !item) {\n if (method === 'toggle') {\n if (this._internals.states.has(effectId)) {\n this._internals.states.delete(effectId);\n } else {\n this._internals.states.add(effectId);\n }\n } else if (method === 'add') {\n this._internals.states.add(effectId);\n } else if (method === 'remove') {\n this._internals.states.delete(effectId);\n } else if (method === 'clear') {\n this._internals.states.clear();\n }\n } else {\n this.controller?.toggleEffect(effectId, method, item, true);\n }\n }\n\n getActiveEffects(): string[] {\n if (this._internals) {\n const effects = Array.from(this._internals.states);\n return isLegacyStateSyntax ? effects.map((effect) => effect.replace(/^--/g, '')) : effects;\n }\n\n return this.controller?.getActiveEffects() || [];\n }\n };\n}\n","import { getInteractElement } from './InteractElement';\n\nexport function defineInteractElement() {\n if (!customElements.get('interact-element')) {\n const interactElement = getInteractElement();\n customElements.define('interact-element', interactElement);\n\n return true;\n }\n\n return false;\n}\n","import { defineInteractElement } from './defineInteractElement';\nimport { Interact } from '../core/Interact';\n\nInteract.defineInteractElement = defineInteractElement;\n\nexport { add, remove } from '../dom/api';\nexport { generate } from '../core/css';\nexport { Interact };\n\nexport * from '../types';\n"],"names":["index","getInteractElement","checkedForLegacyStateSyntax","isLegacyStateSyntax","InteractionController","key","options","effectId","method","item","effects","effect","defineInteractElement","interactElement","Interact"],"mappings":"aAKO,OAAA,eAAA,QAAA,OAAA,YAAA,CAAA,MAAA,QAAA,CAAA,EAAA,MAAAA,EAAA,QAAA,sBAAA,EAAA,SAASC,GAAqB,CACnC,IAAIC,EAA8B,GAC9BC,EAAsB,GAE1B,OAAO,cAA8B,WAAY,CAC/C,WACA,WAEA,aAAc,CAMZ,GALA,MAAA,EAEA,KAAK,WAAa,IAAIC,IAAsB,KAAM,OAAW,CAAE,cAAe,GAAM,EACpF,KAAK,WAAa,KAEd,KAAK,kBACP,KAAK,WAAa,KAAK,gBAAA,EAInB,CAACF,GAA6B,CAChCA,EAA8B,GAE9B,GAAI,CACF,KAAK,WAAW,OAAO,IAAI,MAAM,EACjC,KAAK,WAAW,OAAO,OAAO,MAAM,CACtC,MAAY,CACVC,EAAsB,EACxB,CACF,CAEJ,CACA,mBAAoB,CAClB,KAAK,QAAA,CACP,CAEA,sBAAuB,CACrB,KAAK,WAAW,CAAE,gBAAiB,EAAA,CAAM,CAC3C,CAEA,QAAQE,EAAc,CAChB,KAAK,WAAW,WAIpB,KAAK,WAAW,QAAQA,CAAG,CAC7B,CAEA,WAAWC,EAAyC,CAClD,KAAK,WAAW,WAAWA,CAAO,CACpC,CAEA,aAAaC,EAAkBC,EAA+BC,EAA2B,CACnFA,IAAS,OAITN,IACFI,EAAW,KAAKA,CAAQ,IAGtB,KAAK,YAAc,CAACE,EAClBD,IAAW,SACT,KAAK,WAAW,OAAO,IAAID,CAAQ,EACrC,KAAK,WAAW,OAAO,OAAOA,CAAQ,EAEtC,KAAK,WAAW,OAAO,IAAIA,CAAQ,EAE5BC,IAAW,MACpB,KAAK,WAAW,OAAO,IAAID,CAAQ,EAC1BC,IAAW,SACpB,KAAK,WAAW,OAAO,OAAOD,CAAQ,EAC7BC,IAAW,SACpB,KAAK,WAAW,OAAO,MAAA,EAGzB,KAAK,YAAY,aAAaD,EAAUC,EAAQC,EAAM,EAAI,EAE9D,CAEA,kBAA6B,CAC3B,GAAI,KAAK,WAAY,CACnB,MAAMC,EAAU,MAAM,KAAK,KAAK,WAAW,MAAM,EACjD,OAAOP,EAAsBO,EAAQ,IAAKC,GAAWA,EAAO,QAAQ,OAAQ,EAAE,CAAC,EAAID,CACrF,CAEA,OAAO,KAAK,YAAY,iBAAA,GAAsB,CAAA,CAChD,CAAA,CAEJ,CC3FO,SAASE,GAAwB,CACtC,GAAI,CAAC,eAAe,IAAI,kBAAkB,EAAG,CAC3C,MAAMC,EAAkBZ,EAAA,EACxB,sBAAe,OAAO,mBAAoBY,CAAe,EAElD,EACT,CAEA,MAAO,EACT,CCRAC,EAAAA,EAAS,sBAAwBF,EAAA,QAAA,SAAAZ,EAAA,EAAA,QAAA,IAAAA,EAAA,EAAA,QAAA,SAAAA,EAAA,EAAA,QAAA,OAAAA,EAAA"}
1
+ {"version":3,"file":"web.js","sources":["../../src/web/InteractElement.ts","../../src/web/defineInteractElement.ts","../../src/web/index.ts"],"sourcesContent":["import type { IInteractionController, StateAction } from '../types';\nimport { InteractionController } from '../core/InteractionController';\n\nexport const INTERACT_EFFECT_DATA_ATTR = 'interactEffect';\n\nexport function getInteractElement() {\n let checkedForLegacyStateSyntax = false;\n let isLegacyStateSyntax = false;\n\n return class InteractElement extends HTMLElement {\n _internals: (ElementInternals & { states: Set<string> }) | null;\n controller: IInteractionController;\n\n constructor() {\n super();\n\n this.controller = new InteractionController(this, undefined, { useFirstChild: true });\n this._internals = null;\n\n if (this.attachInternals) {\n this._internals = this.attachInternals() as ElementInternals & {\n states: Set<string>;\n };\n\n if (!checkedForLegacyStateSyntax) {\n checkedForLegacyStateSyntax = true;\n\n try {\n this._internals.states.add('test');\n this._internals.states.delete('test');\n } catch (e) {\n isLegacyStateSyntax = true;\n }\n }\n }\n }\n connectedCallback() {\n this.connect();\n }\n\n disconnectedCallback() {\n this.disconnect({ removeFromCache: true });\n }\n\n connect(key?: string) {\n if (this.controller.connected) {\n return;\n }\n\n this.controller.connect(key);\n }\n\n disconnect(options?: { removeFromCache?: boolean }) {\n this.controller.disconnect(options);\n }\n\n toggleEffect(effectId: string, stateAction: StateAction, item?: HTMLElement | null) {\n if (item === null) {\n return;\n }\n\n if (isLegacyStateSyntax) {\n effectId = `--${effectId}`;\n }\n\n if (this._internals && !item) {\n if (stateAction === 'toggle') {\n if (this._internals.states.has(effectId)) {\n this._internals.states.delete(effectId);\n } else {\n this._internals.states.add(effectId);\n }\n } else if (stateAction === 'add') {\n this._internals.states.add(effectId);\n } else if (stateAction === 'remove') {\n this._internals.states.delete(effectId);\n } else if (stateAction === 'clear') {\n this._internals.states.clear();\n }\n } else {\n this.controller?.toggleEffect(effectId, stateAction, item, true);\n }\n }\n\n getActiveEffects(): string[] {\n if (this._internals) {\n const effects = Array.from(this._internals.states);\n return isLegacyStateSyntax ? effects.map((effect) => effect.replace(/^--/g, '')) : effects;\n }\n\n return this.controller?.getActiveEffects() || [];\n }\n };\n}\n","import { getInteractElement } from './InteractElement';\n\nexport function defineInteractElement() {\n if (!customElements.get('interact-element')) {\n const interactElement = getInteractElement();\n customElements.define('interact-element', interactElement);\n\n return true;\n }\n\n return false;\n}\n","import { defineInteractElement } from './defineInteractElement';\nimport { Interact } from '../core/Interact';\n\nInteract.defineInteractElement = defineInteractElement;\n\nexport { add, remove } from '../dom/api';\nexport { generate } from '../core/css';\nexport { Interact };\n\nexport * from '../types/external';\n"],"names":["index","getInteractElement","checkedForLegacyStateSyntax","isLegacyStateSyntax","InteractionController","key","options","effectId","stateAction","item","effects","effect","defineInteractElement","interactElement","Interact"],"mappings":"aAKO,OAAA,eAAA,QAAA,OAAA,YAAA,CAAA,MAAA,QAAA,CAAA,EAAA,MAAAA,EAAA,QAAA,sBAAA,EAAA,SAASC,GAAqB,CACnC,IAAIC,EAA8B,GAC9BC,EAAsB,GAE1B,OAAO,cAA8B,WAAY,CAC/C,WACA,WAEA,aAAc,CAMZ,GALA,MAAA,EAEA,KAAK,WAAa,IAAIC,IAAsB,KAAM,OAAW,CAAE,cAAe,GAAM,EACpF,KAAK,WAAa,KAEd,KAAK,kBACP,KAAK,WAAa,KAAK,gBAAA,EAInB,CAACF,GAA6B,CAChCA,EAA8B,GAE9B,GAAI,CACF,KAAK,WAAW,OAAO,IAAI,MAAM,EACjC,KAAK,WAAW,OAAO,OAAO,MAAM,CACtC,MAAY,CACVC,EAAsB,EACxB,CACF,CAEJ,CACA,mBAAoB,CAClB,KAAK,QAAA,CACP,CAEA,sBAAuB,CACrB,KAAK,WAAW,CAAE,gBAAiB,EAAA,CAAM,CAC3C,CAEA,QAAQE,EAAc,CAChB,KAAK,WAAW,WAIpB,KAAK,WAAW,QAAQA,CAAG,CAC7B,CAEA,WAAWC,EAAyC,CAClD,KAAK,WAAW,WAAWA,CAAO,CACpC,CAEA,aAAaC,EAAkBC,EAA0BC,EAA2B,CAC9EA,IAAS,OAITN,IACFI,EAAW,KAAKA,CAAQ,IAGtB,KAAK,YAAc,CAACE,EAClBD,IAAgB,SACd,KAAK,WAAW,OAAO,IAAID,CAAQ,EACrC,KAAK,WAAW,OAAO,OAAOA,CAAQ,EAEtC,KAAK,WAAW,OAAO,IAAIA,CAAQ,EAE5BC,IAAgB,MACzB,KAAK,WAAW,OAAO,IAAID,CAAQ,EAC1BC,IAAgB,SACzB,KAAK,WAAW,OAAO,OAAOD,CAAQ,EAC7BC,IAAgB,SACzB,KAAK,WAAW,OAAO,MAAA,EAGzB,KAAK,YAAY,aAAaD,EAAUC,EAAaC,EAAM,EAAI,EAEnE,CAEA,kBAA6B,CAC3B,GAAI,KAAK,WAAY,CACnB,MAAMC,EAAU,MAAM,KAAK,KAAK,WAAW,MAAM,EACjD,OAAOP,EAAsBO,EAAQ,IAAKC,GAAWA,EAAO,QAAQ,OAAQ,EAAE,CAAC,EAAID,CACrF,CAEA,OAAO,KAAK,YAAY,iBAAA,GAAsB,CAAA,CAChD,CAAA,CAEJ,CC3FO,SAASE,GAAwB,CACtC,GAAI,CAAC,eAAe,IAAI,kBAAkB,EAAG,CAC3C,MAAMC,EAAkBZ,EAAA,EACxB,sBAAe,OAAO,mBAAoBY,CAAe,EAElD,EACT,CAEA,MAAO,EACT,CCRAC,EAAAA,EAAS,sBAAwBF,EAAA,QAAA,SAAAZ,EAAA,EAAA,QAAA,IAAAA,EAAA,EAAA,QAAA,SAAAA,EAAA,EAAA,QAAA,OAAAA,EAAA"}
package/dist/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as r, b as s, g as t, r as o } from "../index-DHqlFmW8.mjs";
1
+ import { a as r, b as s, g as t, r as o } from "../index-ByLXasWO.mjs";
2
2
  export {
3
3
  r as Interact,
4
4
  s as add,
package/dist/es/react.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import W from "react";
2
- import { b as cr, r as Oe } from "../index-DHqlFmW8.mjs";
3
- import { a as mr, g as Tr } from "../index-DHqlFmW8.mjs";
2
+ import { b as cr, r as Oe } from "../index-ByLXasWO.mjs";
3
+ import { a as mr, g as Tr } from "../index-ByLXasWO.mjs";
4
4
  var N = { exports: {} }, I = {};
5
5
  var Ce;
6
6
  function vr() {
package/dist/es/web.js CHANGED
@@ -1,12 +1,12 @@
1
- import { I as a, a as l } from "../index-DHqlFmW8.mjs";
2
- import { b as g, g as m, r as _ } from "../index-DHqlFmW8.mjs";
1
+ import { I as l, a } from "../index-ByLXasWO.mjs";
2
+ import { b as m, g, r as _ } from "../index-ByLXasWO.mjs";
3
3
  function i() {
4
4
  let n = !1, s = !1;
5
5
  return class extends HTMLElement {
6
6
  _internals;
7
7
  controller;
8
8
  constructor() {
9
- if (super(), this.controller = new a(this, void 0, { useFirstChild: !0 }), this._internals = null, this.attachInternals && (this._internals = this.attachInternals(), !n)) {
9
+ if (super(), this.controller = new l(this, void 0, { useFirstChild: !0 }), this._internals = null, this.attachInternals && (this._internals = this.attachInternals(), !n)) {
10
10
  n = !0;
11
11
  try {
12
12
  this._internals.states.add("test"), this._internals.states.delete("test");
@@ -21,19 +21,19 @@ function i() {
21
21
  disconnectedCallback() {
22
22
  this.disconnect({ removeFromCache: !0 });
23
23
  }
24
- connect(t) {
25
- this.controller.connected || this.controller.connect(t);
24
+ connect(e) {
25
+ this.controller.connected || this.controller.connect(e);
26
26
  }
27
- disconnect(t) {
28
- this.controller.disconnect(t);
27
+ disconnect(e) {
28
+ this.controller.disconnect(e);
29
29
  }
30
- toggleEffect(t, e, r) {
31
- r !== null && (s && (t = `--${t}`), this._internals && !r ? e === "toggle" ? this._internals.states.has(t) ? this._internals.states.delete(t) : this._internals.states.add(t) : e === "add" ? this._internals.states.add(t) : e === "remove" ? this._internals.states.delete(t) : e === "clear" && this._internals.states.clear() : this.controller?.toggleEffect(t, e, r, !0));
30
+ toggleEffect(e, t, r) {
31
+ r !== null && (s && (e = `--${e}`), this._internals && !r ? t === "toggle" ? this._internals.states.has(e) ? this._internals.states.delete(e) : this._internals.states.add(e) : t === "add" ? this._internals.states.add(e) : t === "remove" ? this._internals.states.delete(e) : t === "clear" && this._internals.states.clear() : this.controller?.toggleEffect(e, t, r, !0));
32
32
  }
33
33
  getActiveEffects() {
34
34
  if (this._internals) {
35
- const t = Array.from(this._internals.states);
36
- return s ? t.map((e) => e.replace(/^--/g, "")) : t;
35
+ const e = Array.from(this._internals.states);
36
+ return s ? e.map((t) => t.replace(/^--/g, "")) : e;
37
37
  }
38
38
  return this.controller?.getActiveEffects() || [];
39
39
  }
@@ -46,11 +46,11 @@ function c() {
46
46
  }
47
47
  return !1;
48
48
  }
49
- l.defineInteractElement = c;
49
+ a.defineInteractElement = c;
50
50
  export {
51
- l as Interact,
52
- g as add,
53
- m as generate,
51
+ a as Interact,
52
+ m as add,
53
+ g as generate,
54
54
  _ as remove
55
55
  };
56
56
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sources":["../../src/web/InteractElement.ts","../../src/web/defineInteractElement.ts","../../src/web/index.ts"],"sourcesContent":["import type { IInteractionController, StateParams } from '../types';\nimport { InteractionController } from '../core/InteractionController';\n\nexport const INTERACT_EFFECT_DATA_ATTR = 'interactEffect';\n\nexport function getInteractElement() {\n let checkedForLegacyStateSyntax = false;\n let isLegacyStateSyntax = false;\n\n return class InteractElement extends HTMLElement {\n _internals: (ElementInternals & { states: Set<string> }) | null;\n controller: IInteractionController;\n\n constructor() {\n super();\n\n this.controller = new InteractionController(this, undefined, { useFirstChild: true });\n this._internals = null;\n\n if (this.attachInternals) {\n this._internals = this.attachInternals() as ElementInternals & {\n states: Set<string>;\n };\n\n if (!checkedForLegacyStateSyntax) {\n checkedForLegacyStateSyntax = true;\n\n try {\n this._internals.states.add('test');\n this._internals.states.delete('test');\n } catch (e) {\n isLegacyStateSyntax = true;\n }\n }\n }\n }\n connectedCallback() {\n this.connect();\n }\n\n disconnectedCallback() {\n this.disconnect({ removeFromCache: true });\n }\n\n connect(key?: string) {\n if (this.controller.connected) {\n return;\n }\n\n this.controller.connect(key);\n }\n\n disconnect(options?: { removeFromCache?: boolean }) {\n this.controller.disconnect(options);\n }\n\n toggleEffect(effectId: string, method: StateParams['method'], item?: HTMLElement | null) {\n if (item === null) {\n return;\n }\n\n if (isLegacyStateSyntax) {\n effectId = `--${effectId}`;\n }\n\n if (this._internals && !item) {\n if (method === 'toggle') {\n if (this._internals.states.has(effectId)) {\n this._internals.states.delete(effectId);\n } else {\n this._internals.states.add(effectId);\n }\n } else if (method === 'add') {\n this._internals.states.add(effectId);\n } else if (method === 'remove') {\n this._internals.states.delete(effectId);\n } else if (method === 'clear') {\n this._internals.states.clear();\n }\n } else {\n this.controller?.toggleEffect(effectId, method, item, true);\n }\n }\n\n getActiveEffects(): string[] {\n if (this._internals) {\n const effects = Array.from(this._internals.states);\n return isLegacyStateSyntax ? effects.map((effect) => effect.replace(/^--/g, '')) : effects;\n }\n\n return this.controller?.getActiveEffects() || [];\n }\n };\n}\n","import { getInteractElement } from './InteractElement';\n\nexport function defineInteractElement() {\n if (!customElements.get('interact-element')) {\n const interactElement = getInteractElement();\n customElements.define('interact-element', interactElement);\n\n return true;\n }\n\n return false;\n}\n","import { defineInteractElement } from './defineInteractElement';\nimport { Interact } from '../core/Interact';\n\nInteract.defineInteractElement = defineInteractElement;\n\nexport { add, remove } from '../dom/api';\nexport { generate } from '../core/css';\nexport { Interact };\n\nexport * from '../types';\n"],"names":["InteractionController","Interact","b","g","r","getInteractElement","checkedForLegacyStateSyntax","isLegacyStateSyntax","key","options","effectId","method","item","effects","effect","defineInteractElement","interactElement"],"mappings":"AAKO,SAAA,KAAAA,GAAA,KAAAC,SAAA;AAAA,SAAA,KAAAC,GAAA,KAAAC,GAAA,KAAAC,SAAA;AAAA,SAASC,IAAqB;AACnC,MAAIC,IAA8B,IAC9BC,IAAsB;AAE1B,SAAO,cAA8B,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IAEA,cAAc;AAMZ,UALA,MAAA,GAEA,KAAK,aAAa,IAAIP,EAAsB,MAAM,QAAW,EAAE,eAAe,IAAM,GACpF,KAAK,aAAa,MAEd,KAAK,oBACP,KAAK,aAAa,KAAK,gBAAA,GAInB,CAACM,IAA6B;AAChC,QAAAA,IAA8B;AAE9B,YAAI;AACF,eAAK,WAAW,OAAO,IAAI,MAAM,GACjC,KAAK,WAAW,OAAO,OAAO,MAAM;AAAA,QACtC,QAAY;AACV,UAAAC,IAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,oBAAoB;AAClB,WAAK,QAAA;AAAA,IACP;AAAA,IAEA,uBAAuB;AACrB,WAAK,WAAW,EAAE,iBAAiB,GAAA,CAAM;AAAA,IAC3C;AAAA,IAEA,QAAQC,GAAc;AACpB,MAAI,KAAK,WAAW,aAIpB,KAAK,WAAW,QAAQA,CAAG;AAAA,IAC7B;AAAA,IAEA,WAAWC,GAAyC;AAClD,WAAK,WAAW,WAAWA,CAAO;AAAA,IACpC;AAAA,IAEA,aAAaC,GAAkBC,GAA+BC,GAA2B;AACvF,MAAIA,MAAS,SAITL,MACFG,IAAW,KAAKA,CAAQ,KAGtB,KAAK,cAAc,CAACE,IAClBD,MAAW,WACT,KAAK,WAAW,OAAO,IAAID,CAAQ,IACrC,KAAK,WAAW,OAAO,OAAOA,CAAQ,IAEtC,KAAK,WAAW,OAAO,IAAIA,CAAQ,IAE5BC,MAAW,QACpB,KAAK,WAAW,OAAO,IAAID,CAAQ,IAC1BC,MAAW,WACpB,KAAK,WAAW,OAAO,OAAOD,CAAQ,IAC7BC,MAAW,WACpB,KAAK,WAAW,OAAO,MAAA,IAGzB,KAAK,YAAY,aAAaD,GAAUC,GAAQC,GAAM,EAAI;AAAA,IAE9D;AAAA,IAEA,mBAA6B;AAC3B,UAAI,KAAK,YAAY;AACnB,cAAMC,IAAU,MAAM,KAAK,KAAK,WAAW,MAAM;AACjD,eAAON,IAAsBM,EAAQ,IAAI,CAACC,MAAWA,EAAO,QAAQ,QAAQ,EAAE,CAAC,IAAID;AAAA,MACrF;AAEA,aAAO,KAAK,YAAY,iBAAA,KAAsB,CAAA;AAAA,IAChD;AAAA,EAAA;AAEJ;AC3FO,SAASE,IAAwB;AACtC,MAAI,CAAC,eAAe,IAAI,kBAAkB,GAAG;AAC3C,UAAMC,IAAkBX,EAAA;AACxB,0BAAe,OAAO,oBAAoBW,CAAe,GAElD;AAAA,EACT;AAEA,SAAO;AACT;ACRAf,EAAS,wBAAwBc;"}
1
+ {"version":3,"file":"web.js","sources":["../../src/web/InteractElement.ts","../../src/web/defineInteractElement.ts","../../src/web/index.ts"],"sourcesContent":["import type { IInteractionController, StateAction } from '../types';\nimport { InteractionController } from '../core/InteractionController';\n\nexport const INTERACT_EFFECT_DATA_ATTR = 'interactEffect';\n\nexport function getInteractElement() {\n let checkedForLegacyStateSyntax = false;\n let isLegacyStateSyntax = false;\n\n return class InteractElement extends HTMLElement {\n _internals: (ElementInternals & { states: Set<string> }) | null;\n controller: IInteractionController;\n\n constructor() {\n super();\n\n this.controller = new InteractionController(this, undefined, { useFirstChild: true });\n this._internals = null;\n\n if (this.attachInternals) {\n this._internals = this.attachInternals() as ElementInternals & {\n states: Set<string>;\n };\n\n if (!checkedForLegacyStateSyntax) {\n checkedForLegacyStateSyntax = true;\n\n try {\n this._internals.states.add('test');\n this._internals.states.delete('test');\n } catch (e) {\n isLegacyStateSyntax = true;\n }\n }\n }\n }\n connectedCallback() {\n this.connect();\n }\n\n disconnectedCallback() {\n this.disconnect({ removeFromCache: true });\n }\n\n connect(key?: string) {\n if (this.controller.connected) {\n return;\n }\n\n this.controller.connect(key);\n }\n\n disconnect(options?: { removeFromCache?: boolean }) {\n this.controller.disconnect(options);\n }\n\n toggleEffect(effectId: string, stateAction: StateAction, item?: HTMLElement | null) {\n if (item === null) {\n return;\n }\n\n if (isLegacyStateSyntax) {\n effectId = `--${effectId}`;\n }\n\n if (this._internals && !item) {\n if (stateAction === 'toggle') {\n if (this._internals.states.has(effectId)) {\n this._internals.states.delete(effectId);\n } else {\n this._internals.states.add(effectId);\n }\n } else if (stateAction === 'add') {\n this._internals.states.add(effectId);\n } else if (stateAction === 'remove') {\n this._internals.states.delete(effectId);\n } else if (stateAction === 'clear') {\n this._internals.states.clear();\n }\n } else {\n this.controller?.toggleEffect(effectId, stateAction, item, true);\n }\n }\n\n getActiveEffects(): string[] {\n if (this._internals) {\n const effects = Array.from(this._internals.states);\n return isLegacyStateSyntax ? effects.map((effect) => effect.replace(/^--/g, '')) : effects;\n }\n\n return this.controller?.getActiveEffects() || [];\n }\n };\n}\n","import { getInteractElement } from './InteractElement';\n\nexport function defineInteractElement() {\n if (!customElements.get('interact-element')) {\n const interactElement = getInteractElement();\n customElements.define('interact-element', interactElement);\n\n return true;\n }\n\n return false;\n}\n","import { defineInteractElement } from './defineInteractElement';\nimport { Interact } from '../core/Interact';\n\nInteract.defineInteractElement = defineInteractElement;\n\nexport { add, remove } from '../dom/api';\nexport { generate } from '../core/css';\nexport { Interact };\n\nexport * from '../types/external';\n"],"names":["InteractionController","b","r","getInteractElement","checkedForLegacyStateSyntax","isLegacyStateSyntax","key","options","effectId","stateAction","item","effects","effect","defineInteractElement","interactElement","Interact"],"mappings":"AAKO,SAAA,KAAAA,GAAA,SAAA;AAAA,SAAA,KAAAC,GAAA,GAAA,KAAAC,SAAA;AAAA,SAASC,IAAqB;AACnC,MAAIC,IAA8B,IAC9BC,IAAsB;AAE1B,SAAO,cAA8B,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IAEA,cAAc;AAMZ,UALA,MAAA,GAEA,KAAK,aAAa,IAAIL,EAAsB,MAAM,QAAW,EAAE,eAAe,IAAM,GACpF,KAAK,aAAa,MAEd,KAAK,oBACP,KAAK,aAAa,KAAK,gBAAA,GAInB,CAACI,IAA6B;AAChC,QAAAA,IAA8B;AAE9B,YAAI;AACF,eAAK,WAAW,OAAO,IAAI,MAAM,GACjC,KAAK,WAAW,OAAO,OAAO,MAAM;AAAA,QACtC,QAAY;AACV,UAAAC,IAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,oBAAoB;AAClB,WAAK,QAAA;AAAA,IACP;AAAA,IAEA,uBAAuB;AACrB,WAAK,WAAW,EAAE,iBAAiB,GAAA,CAAM;AAAA,IAC3C;AAAA,IAEA,QAAQC,GAAc;AACpB,MAAI,KAAK,WAAW,aAIpB,KAAK,WAAW,QAAQA,CAAG;AAAA,IAC7B;AAAA,IAEA,WAAWC,GAAyC;AAClD,WAAK,WAAW,WAAWA,CAAO;AAAA,IACpC;AAAA,IAEA,aAAaC,GAAkBC,GAA0BC,GAA2B;AAClF,MAAIA,MAAS,SAITL,MACFG,IAAW,KAAKA,CAAQ,KAGtB,KAAK,cAAc,CAACE,IAClBD,MAAgB,WACd,KAAK,WAAW,OAAO,IAAID,CAAQ,IACrC,KAAK,WAAW,OAAO,OAAOA,CAAQ,IAEtC,KAAK,WAAW,OAAO,IAAIA,CAAQ,IAE5BC,MAAgB,QACzB,KAAK,WAAW,OAAO,IAAID,CAAQ,IAC1BC,MAAgB,WACzB,KAAK,WAAW,OAAO,OAAOD,CAAQ,IAC7BC,MAAgB,WACzB,KAAK,WAAW,OAAO,MAAA,IAGzB,KAAK,YAAY,aAAaD,GAAUC,GAAaC,GAAM,EAAI;AAAA,IAEnE;AAAA,IAEA,mBAA6B;AAC3B,UAAI,KAAK,YAAY;AACnB,cAAMC,IAAU,MAAM,KAAK,KAAK,WAAW,MAAM;AACjD,eAAON,IAAsBM,EAAQ,IAAI,CAACC,MAAWA,EAAO,QAAQ,QAAQ,EAAE,CAAC,IAAID;AAAA,MACrF;AAEA,aAAO,KAAK,YAAY,iBAAA,KAAsB,CAAA;AAAA,IAChD;AAAA,EAAA;AAEJ;AC3FO,SAASE,IAAwB;AACtC,MAAI,CAAC,eAAe,IAAI,kBAAkB,GAAG;AAC3C,UAAMC,IAAkBX,EAAA;AACxB,0BAAe,OAAO,oBAAoBW,CAAe,GAElD;AAAA,EACT;AAEA,SAAO;AACT;ACRAC,EAAS,wBAAwBF;"}