@hyperfixi/behaviors 2.0.0 → 2.1.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.
- package/dist/all.browser.global.js +35 -6
- package/dist/all.browser.global.js.map +1 -1
- package/dist/autodismiss.browser.global.js +3 -0
- package/dist/autodismiss.browser.global.js.map +1 -0
- package/dist/behaviors/autodismiss.cjs +177 -0
- package/dist/behaviors/autodismiss.cjs.map +1 -0
- package/dist/behaviors/autodismiss.d.cts +15 -0
- package/dist/behaviors/autodismiss.d.ts +15 -0
- package/dist/behaviors/autodismiss.js +15 -0
- package/dist/behaviors/autodismiss.js.map +1 -0
- package/dist/behaviors/clickoutside.cjs +123 -0
- package/dist/behaviors/clickoutside.cjs.map +1 -0
- package/dist/behaviors/clickoutside.d.cts +15 -0
- package/dist/behaviors/clickoutside.d.ts +15 -0
- package/dist/behaviors/clickoutside.js +15 -0
- package/dist/behaviors/clickoutside.js.map +1 -0
- package/dist/behaviors/clipboard.cjs +193 -0
- package/dist/behaviors/clipboard.cjs.map +1 -0
- package/dist/behaviors/clipboard.d.cts +15 -0
- package/dist/behaviors/clipboard.d.ts +15 -0
- package/dist/behaviors/clipboard.js +15 -0
- package/dist/behaviors/clipboard.js.map +1 -0
- package/dist/behaviors/draggable.cjs +49 -7
- package/dist/behaviors/draggable.cjs.map +1 -1
- package/dist/behaviors/draggable.d.cts +2 -1
- package/dist/behaviors/draggable.d.ts +2 -1
- package/dist/behaviors/draggable.js +2 -1
- package/dist/behaviors/focustrap.cjs +191 -0
- package/dist/behaviors/focustrap.cjs.map +1 -0
- package/dist/behaviors/focustrap.d.cts +15 -0
- package/dist/behaviors/focustrap.d.ts +15 -0
- package/dist/behaviors/focustrap.js +15 -0
- package/dist/behaviors/focustrap.js.map +1 -0
- package/dist/behaviors/removable.cjs +9 -2
- package/dist/behaviors/removable.cjs.map +1 -1
- package/dist/behaviors/removable.d.cts +1 -1
- package/dist/behaviors/removable.d.ts +1 -1
- package/dist/behaviors/removable.js +2 -1
- package/dist/behaviors/resizable.cjs +54 -7
- package/dist/behaviors/resizable.cjs.map +1 -1
- package/dist/behaviors/resizable.d.cts +1 -1
- package/dist/behaviors/resizable.d.ts +1 -1
- package/dist/behaviors/resizable.js +2 -1
- package/dist/behaviors/scrollreveal.cjs +149 -0
- package/dist/behaviors/scrollreveal.cjs.map +1 -0
- package/dist/behaviors/scrollreveal.d.cts +15 -0
- package/dist/behaviors/scrollreveal.d.ts +15 -0
- package/dist/behaviors/scrollreveal.js +15 -0
- package/dist/behaviors/scrollreveal.js.map +1 -0
- package/dist/behaviors/sortable.cjs +49 -7
- package/dist/behaviors/sortable.cjs.map +1 -1
- package/dist/behaviors/sortable.d.cts +1 -1
- package/dist/behaviors/sortable.d.ts +1 -1
- package/dist/behaviors/sortable.js +2 -1
- package/dist/behaviors/tabs.cjs +247 -0
- package/dist/behaviors/tabs.cjs.map +1 -0
- package/dist/behaviors/tabs.d.cts +15 -0
- package/dist/behaviors/tabs.d.ts +15 -0
- package/dist/behaviors/tabs.js +15 -0
- package/dist/behaviors/tabs.js.map +1 -0
- package/dist/behaviors/toggleable.cjs +36 -7
- package/dist/behaviors/toggleable.cjs.map +1 -1
- package/dist/behaviors/toggleable.d.cts +2 -1
- package/dist/behaviors/toggleable.d.ts +2 -1
- package/dist/behaviors/toggleable.js +2 -1
- package/dist/chunk-244WSZOL.js +67 -0
- package/dist/chunk-244WSZOL.js.map +1 -0
- package/dist/chunk-2NSKQMNM.js +99 -0
- package/dist/chunk-2NSKQMNM.js.map +1 -0
- package/dist/chunk-64DIQGQI.js +37 -0
- package/dist/chunk-64DIQGQI.js.map +1 -0
- package/dist/chunk-6TJXDCAQ.js +11 -0
- package/dist/chunk-6TJXDCAQ.js.map +1 -0
- package/dist/chunk-7JDV2THA.js +62 -0
- package/dist/chunk-7JDV2THA.js.map +1 -0
- package/dist/chunk-AFGA54SA.js +116 -0
- package/dist/chunk-AFGA54SA.js.map +1 -0
- package/dist/chunk-DYHBKDKB.js +62 -0
- package/dist/chunk-DYHBKDKB.js.map +1 -0
- package/dist/chunk-GPTHAUWN.js +58 -0
- package/dist/chunk-GPTHAUWN.js.map +1 -0
- package/dist/chunk-GVJPA2EK.js +68 -0
- package/dist/chunk-GVJPA2EK.js.map +1 -0
- package/dist/chunk-H2MCHR5A.js +89 -0
- package/dist/chunk-H2MCHR5A.js.map +1 -0
- package/dist/{chunk-2NQHIHD5.js → chunk-H5Y5ARYG.js} +6 -3
- package/dist/chunk-H5Y5ARYG.js.map +1 -0
- package/dist/chunk-JKBWIJFI.js +155 -0
- package/dist/chunk-JKBWIJFI.js.map +1 -0
- package/dist/chunk-QKDYW4VM.js +70 -0
- package/dist/chunk-QKDYW4VM.js.map +1 -0
- package/dist/chunk-RB7OB6OD.js +51 -0
- package/dist/chunk-RB7OB6OD.js.map +1 -0
- package/dist/chunk-RPERQTFU.js +75 -0
- package/dist/chunk-RPERQTFU.js.map +1 -0
- package/dist/chunk-S4QDV2MH.js +75 -0
- package/dist/chunk-S4QDV2MH.js.map +1 -0
- package/dist/chunk-WTUVPVSD.js +80 -0
- package/dist/chunk-WTUVPVSD.js.map +1 -0
- package/dist/chunk-YHQRFUWV.js +62 -0
- package/dist/chunk-YHQRFUWV.js.map +1 -0
- package/dist/chunk-ZQQZTMCJ.js +64 -0
- package/dist/chunk-ZQQZTMCJ.js.map +1 -0
- package/dist/clickoutside.browser.global.js +12 -0
- package/dist/clickoutside.browser.global.js.map +1 -0
- package/dist/clipboard.browser.global.js +3 -0
- package/dist/clipboard.browser.global.js.map +1 -0
- package/dist/core.browser.global.js +3 -3
- package/dist/core.browser.global.js.map +1 -1
- package/dist/draggable.browser.global.js +2 -2
- package/dist/draggable.browser.global.js.map +1 -1
- package/dist/focustrap.browser.global.js +9 -0
- package/dist/focustrap.browser.global.js.map +1 -0
- package/dist/index.cjs +1270 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -7
- package/dist/index.d.ts +13 -7
- package/dist/index.js +155 -48
- package/dist/index.js.map +1 -1
- package/dist/loaders.cjs +1151 -30
- package/dist/loaders.cjs.map +1 -1
- package/dist/loaders.js +9 -3
- package/dist/registry.d.cts +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/removable.browser.global.js +2 -2
- package/dist/removable.browser.global.js.map +1 -1
- package/dist/resizable.browser.global.js +2 -2
- package/dist/resizable.browser.global.js.map +1 -1
- package/dist/schemas/index.cjs +343 -1
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +45 -3
- package/dist/schemas/index.d.ts +45 -3
- package/dist/schemas/index.js +34 -4
- package/dist/schemas/index.js.map +1 -1
- package/dist/scrollreveal.browser.global.js +11 -0
- package/dist/scrollreveal.browser.global.js.map +1 -0
- package/dist/sortable.browser.global.js +2 -2
- package/dist/sortable.browser.global.js.map +1 -1
- package/dist/tabs.browser.global.js +3 -0
- package/dist/tabs.browser.global.js.map +1 -0
- package/dist/toggleable.browser.global.js +2 -2
- package/dist/toggleable.browser.global.js.map +1 -1
- package/dist/{types-CCc_2wAb.d.cts → types-DCCtVQS5.d.cts} +1 -1
- package/dist/{types-CCc_2wAb.d.ts → types-DCCtVQS5.d.ts} +1 -1
- package/package.json +45 -2
- package/src/behaviors/autodismiss.test.ts +61 -0
- package/src/behaviors/autodismiss.ts +107 -0
- package/src/behaviors/clickoutside.test.ts +52 -0
- package/src/behaviors/clickoutside.ts +77 -0
- package/src/behaviors/clipboard.test.ts +67 -0
- package/src/behaviors/clipboard.ts +130 -0
- package/src/behaviors/draggable.ts +62 -15
- package/src/behaviors/focustrap.test.ts +59 -0
- package/src/behaviors/focustrap.ts +158 -0
- package/src/behaviors/index.ts +37 -0
- package/src/behaviors/integration.test.ts +120 -45
- package/src/behaviors/removable.ts +4 -5
- package/src/behaviors/resizable.ts +63 -14
- package/src/behaviors/scrollreveal.test.ts +59 -0
- package/src/behaviors/scrollreveal.ts +78 -0
- package/src/behaviors/sortable.ts +61 -14
- package/src/behaviors/tabs.test.ts +81 -0
- package/src/behaviors/tabs.ts +196 -0
- package/src/behaviors/toggleable.ts +45 -13
- package/src/generated/metadata.ts +38 -7
- package/src/generated/types.ts +5 -5
- package/src/index.test.ts +143 -5
- package/src/index.ts +65 -13
- package/src/loaders.ts +18 -0
- package/src/registry.test.ts +26 -5
- package/src/schemas/autodismiss.schema.ts +66 -0
- package/src/schemas/clickoutside.schema.ts +39 -0
- package/src/schemas/clipboard.schema.ts +72 -0
- package/src/schemas/focustrap.schema.ts +53 -0
- package/src/schemas/index.ts +18 -0
- package/src/schemas/scrollreveal.schema.ts +60 -0
- package/src/schemas/tabs.schema.ts +66 -0
- package/src/schemas/types.ts +13 -1
- package/dist/chunk-2NQHIHD5.js.map +0 -1
- package/dist/chunk-3Q652JQB.js +0 -37
- package/dist/chunk-3Q652JQB.js.map +0 -1
- package/dist/chunk-HMRPQWQU.js +0 -37
- package/dist/chunk-HMRPQWQU.js.map +0 -1
- package/dist/chunk-MEP6B7XW.js +0 -37
- package/dist/chunk-MEP6B7XW.js.map +0 -1
- package/dist/chunk-URBOGGW6.js +0 -32
- package/dist/chunk-URBOGGW6.js.map +0 -1
- package/dist/chunk-WU37DFAL.js +0 -37
- package/dist/chunk-WU37DFAL.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var HyperFixiBehaviors=(()=>{var
|
|
1
|
+
"use strict";var HyperFixiBehaviors=(()=>{var le=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var Yt=Object.prototype.hasOwnProperty;var u=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>{for(var r in t)le(e,r,{get:t[r],enumerable:!0})},Nt=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _t(t))!Yt.call(e,i)&&i!==r&&le(e,i,{get:()=>t[i],enumerable:!(o=Wt(t,i))||o.enumerable});return e};var $t=e=>Nt(le({},"__esModule",{value:!0}),e);var T,de=u(()=>{"use strict";T={name:"Draggable",category:"ui",tier:"core",version:"1.0.0",description:"Makes elements draggable with pointer events",parameters:[{name:"dragHandle",type:"selector",optional:!0,default:"me",description:"CSS selector for the drag handle element"}],events:[{name:"draggable:start",description:"Fired when drag begins"},{name:"draggable:move",description:"Fired during each movement"},{name:"draggable:end",description:"Fired when drag completes"}],requirements:["position: absolute or position: fixed on the element"],source:`
|
|
2
2
|
behavior Draggable(dragHandle)
|
|
3
3
|
init
|
|
4
4
|
if no dragHandle set dragHandle to me
|
|
@@ -21,7 +21,7 @@ behavior Draggable(dragHandle)
|
|
|
21
21
|
trigger draggable:end
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
|
-
`.trim()}});var
|
|
24
|
+
`.trim()}});function s(){if(typeof window>"u")return null;let e=window;return e.lokascript||e.hyperfixi||null}var b=u(()=>{"use strict"});var nt={};y(nt,{default:()=>pe,draggableMetadata:()=>me,draggableSource:()=>ue,registerDraggable:()=>M});function qt(e,t){let r=e;if(t.dragHandle&&t.dragHandle!=="me")if(typeof t.dragHandle=="string"){let o=e.querySelector(t.dragHandle);o instanceof HTMLElement&&(r=o)}else t.dragHandle instanceof HTMLElement&&(r=t.dragHandle);r.addEventListener("pointerdown",o=>{o.preventDefault(),o.stopPropagation(),e.dispatchEvent(new CustomEvent("draggable:start",{bubbles:!0}));let i=e.offsetLeft,m=e.offsetTop,a=o.clientX-i,c=o.clientY-m;function p(d){e.style.left=`${d.clientX-a}px`,e.style.top=`${d.clientY-c}px`,e.dispatchEvent(new CustomEvent("draggable:move",{bubbles:!0}))}function l(){document.removeEventListener("pointermove",p),document.removeEventListener("pointerup",l),e.dispatchEvent(new CustomEvent("draggable:end",{bubbles:!0}))}document.addEventListener("pointermove",p),document.addEventListener("pointerup",l)})}async function M(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"Draggable",parameters:["dragHandle"],eventHandlers:[],imperativeInstaller:qt},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var ue,me,pe,K=u(()=>{"use strict";de();b();ue=T.source,me=T;s()&&M().catch(console.error);pe={source:T.source,metadata:T,register:M}});var k,fe=u(()=>{"use strict";k={name:"Removable",category:"data",tier:"common",version:"1.2.0",description:"Makes elements removable on click",parameters:[{name:"triggerEl",type:"selector",optional:!0,default:"me",description:"Element that triggers removal (e.g., a close button)"},{name:"confirm",type:"boolean",optional:!0,default:!1,description:"Show confirmation dialog before removal"},{name:"effect",type:"string",optional:!0,default:"none",enum:["fade","none"],description:'Transition effect: "fade" or "none"'}],events:[{name:"removable:before",description:"Fired before removal (cancelable)"},{name:"removable:removed",description:"Fired after removal"}],source:`
|
|
25
25
|
behavior Removable(triggerEl, confirm, effect)
|
|
26
26
|
init
|
|
27
27
|
if triggerEl is undefined
|
|
@@ -42,7 +42,7 @@ behavior Removable(triggerEl, confirm, effect)
|
|
|
42
42
|
remove me
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
|
-
`.trim()}});var
|
|
45
|
+
`.trim()}});var st={};y(st,{default:()=>ge,registerRemovable:()=>C,removableMetadata:()=>ve,removableSource:()=>he});async function C(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r=t.compileSync(k.source,{traditional:!0});if(!r.ok)throw new Error(`Failed to compile Removable behavior: ${JSON.stringify(r.errors)}`);let o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r.ast,o)}var he,ve,ge,J=u(()=>{"use strict";fe();b();he=k.source,ve=k;s()&&C().catch(console.error);ge={source:k.source,metadata:k,register:C}});var B,be=u(()=>{"use strict";B={name:"Toggleable",category:"form",tier:"core",version:"1.0.0",description:"Toggles a CSS class on click",parameters:[{name:"cls",type:"string",optional:!0,default:"active",description:"CSS class to toggle"},{name:"target",type:"selector",optional:!0,default:"me",description:"Element to toggle the class on"}],events:[{name:"toggleable:on",description:"Fired when class is added"},{name:"toggleable:off",description:"Fired when class is removed"}],source:`
|
|
46
46
|
behavior Toggleable(cls, target)
|
|
47
47
|
init
|
|
48
48
|
if cls is undefined
|
|
@@ -56,7 +56,7 @@ behavior Toggleable(cls, target)
|
|
|
56
56
|
toggle .{cls} on target
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
|
-
`.trim()}});var
|
|
59
|
+
`.trim()}});var ct={};y(ct,{default:()=>we,registerToggleable:()=>R,toggleableMetadata:()=>xe,toggleableSource:()=>ye});function Xt(e,t){let r=t.cls||"active",o=e;if(t.target&&t.target!=="me")if(typeof t.target=="string"){let i=document.querySelector(t.target);i instanceof HTMLElement&&(o=i)}else t.target instanceof HTMLElement&&(o=t.target);e.addEventListener("click",()=>{let i=o.classList.contains(r);o.classList.toggle(r),o.dispatchEvent(new CustomEvent(i?"toggleable:off":"toggleable:on",{bubbles:!0}))})}async function R(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"Toggleable",parameters:["cls","target"],eventHandlers:[],imperativeInstaller:Xt},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var ye,xe,we,Q=u(()=>{"use strict";be();b();ye=B.source,xe=B;s()&&R().catch(console.error);we={source:B.source,metadata:B,register:R}});var H,Se=u(()=>{"use strict";H={name:"Sortable",category:"ui",tier:"common",version:"1.0.0",description:"Makes child elements reorderable via drag-and-drop",parameters:[{name:"handle",type:"selector",optional:!0,default:"none",description:"CSS selector for drag handles within items"},{name:"dragClass",type:"string",optional:!0,default:"sorting",description:"CSS class added to item during drag"}],events:[{name:"sortable:start",description:"Fired when drag begins"},{name:"sortable:move",description:"Fired during drag \u2014 handle this event to reorder DOM elements"},{name:"sortable:end",description:"Fired when drag completes"}],requirements:["Users must handle DOM reordering in sortable:move event handlers"],source:`
|
|
60
60
|
behavior Sortable(handle, dragClass)
|
|
61
61
|
init
|
|
62
62
|
if no dragClass set dragClass to "sorting"
|
|
@@ -79,7 +79,7 @@ behavior Sortable(handle, dragClass)
|
|
|
79
79
|
trigger sortable:end on me
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
|
-
`.trim()}});var
|
|
82
|
+
`.trim()}});var lt={};y(lt,{default:()=>Le,registerSortable:()=>A,sortableMetadata:()=>ke,sortableSource:()=>Ee});function Ut(e,t){let r=t.dragClass||"sorting",o=t.handle||null;e.addEventListener("pointerdown",i=>{let m=i.target,a=m.closest("li");if(!a||!e.contains(a)||o&&!m.closest(o))return;i.preventDefault(),a.classList.add(r),e.dispatchEvent(new CustomEvent("sortable:start",{bubbles:!0,detail:{item:a}}));function c(l){e.dispatchEvent(new CustomEvent("sortable:move",{bubbles:!0,detail:{clientY:l.clientY,item:a}}))}function p(){document.removeEventListener("pointermove",c),document.removeEventListener("pointerup",p),a.classList.remove(r),e.dispatchEvent(new CustomEvent("sortable:end",{bubbles:!0,detail:{item:a}}))}document.addEventListener("pointermove",c),document.addEventListener("pointerup",p)})}async function A(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"Sortable",parameters:["handle","dragClass"],eventHandlers:[],imperativeInstaller:Ut},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var Ee,ke,Le,Z=u(()=>{"use strict";Se();b();Ee=H.source,ke=H;s()&&A().catch(console.error);Le={source:H.source,metadata:H,register:A}});var I,Te=u(()=>{"use strict";I={name:"Resizable",category:"ui",tier:"optional",version:"1.0.0",description:"Makes elements resizable by dragging",parameters:[{name:"handle",type:"selector",optional:!0,default:"me",description:"CSS selector for the resize handle (defaults to the element itself)"},{name:"minWidth",type:"number",optional:!0,default:50,description:"Minimum width in pixels"},{name:"minHeight",type:"number",optional:!0,default:50,description:"Minimum height in pixels"},{name:"maxWidth",type:"number",optional:!0,default:9999,description:"Maximum width in pixels"},{name:"maxHeight",type:"number",optional:!0,default:9999,description:"Maximum height in pixels"}],events:[{name:"resizable:start",description:"Fired when resize begins"},{name:"resizable:resize",description:"Fired during resize"},{name:"resizable:end",description:"Fired when resize completes"}],source:`
|
|
83
83
|
behavior Resizable(handle, minWidth, minHeight, maxWidth, maxHeight)
|
|
84
84
|
init
|
|
85
85
|
if no handle set handle to me
|
|
@@ -112,5 +112,34 @@ behavior Resizable(handle, minWidth, minHeight, maxWidth, maxHeight)
|
|
|
112
112
|
trigger resizable:end
|
|
113
113
|
end
|
|
114
114
|
end
|
|
115
|
-
`.trim()}});var
|
|
115
|
+
`.trim()}});var dt={};y(dt,{default:()=>Be,registerResizable:()=>D,resizableMetadata:()=>Ce,resizableSource:()=>Me});function Vt(e,t){let r=e;if(t.handle&&t.handle!=="me")if(typeof t.handle=="string"){let c=e.querySelector(t.handle);c instanceof HTMLElement&&(r=c)}else t.handle instanceof HTMLElement&&(r=t.handle);let o=t.minWidth??50,i=t.minHeight??50,m=t.maxWidth??9999,a=t.maxHeight??9999;r.addEventListener("pointerdown",c=>{c.preventDefault(),e.dispatchEvent(new CustomEvent("resizable:start",{bubbles:!0}));let p=e.offsetWidth,l=e.offsetHeight,d=c.clientX,w=c.clientY;function g(n){let f=Math.max(o,Math.min(m,p+(n.clientX-d))),E=Math.max(i,Math.min(a,l+(n.clientY-w)));e.style.width=`${f}px`,e.style.height=`${E}px`,e.dispatchEvent(new CustomEvent("resizable:resize",{bubbles:!0}))}function ce(){document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",ce),e.dispatchEvent(new CustomEvent("resizable:end",{bubbles:!0}))}document.addEventListener("pointermove",g),document.addEventListener("pointerup",ce)})}async function D(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"Resizable",parameters:["handle","minWidth","minHeight","maxWidth","maxHeight"],eventHandlers:[],imperativeInstaller:Vt},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var Me,Ce,Be,ee=u(()=>{"use strict";Te();b();Me=I.source,Ce=I;s()&&D().catch(console.error);Be={source:I.source,metadata:I,register:D}});var F,Re=u(()=>{"use strict";F={name:"Clipboard",category:"ui",tier:"core",version:"1.0.0",description:"Copies text to clipboard on click with visual feedback",parameters:[{name:"text",type:"string",optional:!0,description:"Literal text to copy (takes priority over source)"},{name:"source",type:"selector",optional:!0,default:"me",description:"Element whose textContent or value is copied"},{name:"feedback",type:"selector",optional:!0,description:"Element to show .copied feedback on (defaults to the installed element)"},{name:"feedbackDuration",type:"number",optional:!0,default:2e3,description:"Duration in ms to show .copied class feedback"}],events:[{name:"clipboard:copied",description:"Fired after text is copied successfully"},{name:"clipboard:error",description:"Fired when clipboard write fails"}],requirements:["navigator.clipboard.writeText() requires HTTPS or localhost",'Falls back to document.execCommand("copy") for older browsers'],source:["behavior Clipboard(text, source, feedback, feedbackDuration)"," init"," if feedbackDuration is undefined set feedbackDuration to 2000"," if source is undefined set source to me"," end"," on click"," if text is not undefined"," set copyText to text"," else"," set copyText to source's value or source's textContent"," end"," js(copyText) navigator.clipboard.writeText(copyText) end"," set feedbackEl to feedback or me"," add .copied to feedbackEl"," wait feedbackDuration ms"," remove .copied from feedbackEl"," trigger clipboard:copied"," end","end"].join(`
|
|
116
|
+
`)}});var mt={};y(mt,{clipboardMetadata:()=>Ae,clipboardSource:()=>He,default:()=>Ie,registerClipboard:()=>P});async function Gt(e){if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();try{document.execCommand("copy")}finally{document.body.removeChild(t)}}function ut(e,t){return!t||t==="me"?e:t instanceof HTMLElement?t:typeof t=="string"&&(e.querySelector(t)||document.querySelector(t))||null}function jt(e,t){let r=typeof t.feedbackDuration=="number"?t.feedbackDuration:2e3;e.addEventListener("click",async()=>{let o;if(t.text!=null)o=String(t.text);else{let i=ut(e,t.source)||e;o=i.value??i.textContent??""}try{await Gt(o);let i=ut(e,t.feedback)||e;i.classList.add("copied"),setTimeout(()=>i.classList.remove("copied"),r),e.dispatchEvent(new CustomEvent("clipboard:copied",{bubbles:!0,detail:{text:o}}))}catch(i){e.dispatchEvent(new CustomEvent("clipboard:error",{bubbles:!0,detail:{error:i}}))}})}async function P(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"Clipboard",parameters:["text","source","feedback","feedbackDuration"],eventHandlers:[],imperativeInstaller:jt},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var He,Ae,Ie,te=u(()=>{"use strict";Re();b();He=F.source,Ae=F;s()&&P().catch(console.error);Ie={source:F.source,metadata:F,register:P}});var O,De=u(()=>{"use strict";O={name:"AutoDismiss",category:"ui",tier:"core",version:"1.0.0",description:"Auto-removes elements after a delay with optional pause-on-hover",parameters:[{name:"delay",type:"number",optional:!0,default:5e3,description:"Time in ms before the element is removed"},{name:"pauseOnHover",type:"boolean",optional:!0,default:!0,description:"Pause the countdown when the mouse hovers over the element"},{name:"effect",type:"string",optional:!0,default:"none",enum:["fade","none"],description:'Transition effect before removal: "fade" or "none"'}],events:[{name:"autodismiss:start",description:"Fired when the countdown timer starts"},{name:"autodismiss:dismissed",description:"Fired before removal (cancelable via preventDefault)"},{name:"autodismiss:paused",description:"Fired when the timer is paused on hover"},{name:"autodismiss:resumed",description:"Fired when the timer resumes on mouseleave"}],source:["behavior AutoDismiss(delay, pauseOnHover, effect)"," init"," if delay is undefined set delay to 5000"," if pauseOnHover is undefined set pauseOnHover to true",' if effect is undefined set effect to "none"'," end"," on load"," trigger autodismiss:start"," wait delay ms"," trigger autodismiss:dismissed",' if effect is "fade"'," transition opacity to 0 over 300ms"," end"," remove me"," end","end"].join(`
|
|
117
|
+
`)}});var pt={};y(pt,{autoDismissMetadata:()=>Pe,autoDismissSource:()=>Fe,default:()=>Oe,registerAutoDismiss:()=>z});function Kt(e,t){let r=typeof t.delay=="number"?t.delay:5e3,o=t.pauseOnHover!==!1,i=t.effect==="fade"?"fade":"none",m=null,a=r,c=Date.now();function p(){let d=new CustomEvent("autodismiss:dismissed",{bubbles:!0,cancelable:!0});e.dispatchEvent(d),!d.defaultPrevented&&(i==="fade"?(e.style.transition="opacity 300ms",e.style.opacity="0",setTimeout(()=>e.remove(),300)):e.remove())}function l(){c=Date.now(),m=setTimeout(p,a)}e.dispatchEvent(new CustomEvent("autodismiss:start",{bubbles:!0})),l(),o&&(e.addEventListener("mouseenter",()=>{m!=null&&(clearTimeout(m),m=null,a-=Date.now()-c,a<0&&(a=0),e.dispatchEvent(new CustomEvent("autodismiss:paused",{bubbles:!0})))}),e.addEventListener("mouseleave",()=>{m==null&&e.isConnected&&(e.dispatchEvent(new CustomEvent("autodismiss:resumed",{bubbles:!0})),l())}))}async function z(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"AutoDismiss",parameters:["delay","pauseOnHover","effect"],eventHandlers:[],imperativeInstaller:Kt},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var Fe,Pe,Oe,re=u(()=>{"use strict";De();b();Fe=O.source,Pe=O;s()&&z().catch(console.error);Oe={source:O.source,metadata:O,register:z}});var W,ze=u(()=>{"use strict";W={name:"ClickOutside",category:"ui",tier:"core",version:"1.0.0",description:"Fires an event when the user clicks outside the element",parameters:[{name:"active",type:"boolean",optional:!0,default:!0,description:"Whether the listener is active (can be toggled programmatically)"}],events:[{name:"clickoutside",description:"Fired when a pointer press occurs outside the element"}],requirements:["Uses pointerdown instead of click to avoid timing issues with removed elements"],source:`
|
|
118
|
+
behavior ClickOutside(active)
|
|
119
|
+
init
|
|
120
|
+
if active is undefined set active to true
|
|
121
|
+
end
|
|
122
|
+
on pointerdown from document
|
|
123
|
+
if active and not me.contains(event.target)
|
|
124
|
+
trigger clickoutside on me
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end`.trim()}});var ft={};y(ft,{clickOutsideMetadata:()=>_e,clickOutsideSource:()=>We,default:()=>Ye,registerClickOutside:()=>_});function Jt(e,t){let r=t.active!==!1;function o(i){if(!e.isConnected){document.removeEventListener("pointerdown",o);return}r&&!e.contains(i.target)&&e.dispatchEvent(new CustomEvent("clickoutside",{bubbles:!0}))}document.addEventListener("pointerdown",o),e.addEventListener("clickoutside:activate",()=>{r=!0}),e.addEventListener("clickoutside:deactivate",()=>{r=!1})}async function _(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"ClickOutside",parameters:["active"],eventHandlers:[],imperativeInstaller:Jt},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var We,_e,Ye,oe=u(()=>{"use strict";ze();b();We=W.source,_e=W;s()&&_().catch(console.error);Ye={source:W.source,metadata:W,register:_}});var Y,Ne=u(()=>{"use strict";Y={name:"FocusTrap",category:"ui",tier:"core",version:"1.0.0",description:"Confines Tab navigation inside an element with ARIA support",parameters:[{name:"active",type:"boolean",optional:!0,default:!0,description:"Whether the trap is active on install"},{name:"initialFocus",type:"selector",optional:!0,description:"Element to focus when the trap activates"},{name:"returnFocus",type:"boolean",optional:!0,default:!0,description:"Restore focus to the previously focused element on deactivation"}],events:[{name:"focustrap:activated",description:"Fired when the trap is activated"},{name:"focustrap:deactivated",description:"Fired when the trap is deactivated"}],requirements:['Sets aria-modal="true" on the element when active',"Listens for focustrap:activate and focustrap:deactivate custom events for programmatic control"],source:`
|
|
128
|
+
behavior FocusTrap(active, initialFocus, returnFocus)
|
|
129
|
+
init
|
|
130
|
+
if active is undefined set active to true
|
|
131
|
+
if returnFocus is undefined set returnFocus to true
|
|
132
|
+
end
|
|
133
|
+
-- Imperative installer handles Tab key trapping and focus management
|
|
134
|
+
end`.trim()}});var ht={};y(ht,{default:()=>Xe,focusTrapMetadata:()=>qe,focusTrapSource:()=>$e,registerFocusTrap:()=>N});function Zt(e,t){return t?t instanceof HTMLElement?t:typeof t=="string"&&(e.querySelector(t)||document.querySelector(t))||null:null}function er(e,t){let r=t.returnFocus!==!1,o=!1,i=null;function m(){return Array.from(e.querySelectorAll(Qt))}function a(l){if(!o||l.key!=="Tab")return;let d=m();if(d.length===0){l.preventDefault();return}l.preventDefault();let w=d.indexOf(document.activeElement);if(l.shiftKey){let g=w<=0?d.length-1:w-1;d[g].focus()}else{let g=w>=d.length-1?0:w+1;d[g].focus()}}function c(){if(o)return;o=!0,i=document.activeElement,e.setAttribute("aria-modal","true");let l=Zt(e,t.initialFocus);if(l)l.focus();else{let d=m();d.length>0&&d[0].focus()}e.dispatchEvent(new CustomEvent("focustrap:activated",{bubbles:!0}))}function p(){o&&(o=!1,e.removeAttribute("aria-modal"),r&&i instanceof HTMLElement&&i.focus(),i=null,e.dispatchEvent(new CustomEvent("focustrap:deactivated",{bubbles:!0})))}e.addEventListener("keydown",a),e.addEventListener("focustrap:activate",()=>c()),e.addEventListener("focustrap:deactivate",()=>p()),t.active!==!1&&c()}async function N(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"FocusTrap",parameters:["active","initialFocus","returnFocus"],eventHandlers:[],imperativeInstaller:er},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var $e,qe,Qt,Xe,ie=u(()=>{"use strict";Ne();b();$e=Y.source,qe=Y,Qt=["a[href]","button:not(:disabled)","input:not(:disabled)","select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", ");s()&&N().catch(console.error);Xe={source:Y.source,metadata:Y,register:N}});var $,Ue=u(()=>{"use strict";$={name:"ScrollReveal",category:"layout",tier:"common",version:"1.0.0",description:"Adds a class when the element enters the viewport via IntersectionObserver",parameters:[{name:"cls",type:"string",optional:!0,default:"revealed",description:"CSS class added when element enters viewport"},{name:"threshold",type:"number",optional:!0,default:.1,description:"Intersection ratio threshold (0-1) for triggering"},{name:"once",type:"boolean",optional:!0,default:!0,description:"If true, disconnect observer after first intersection"},{name:"rootMargin",type:"string",optional:!0,default:"0px",description:"CSS margin around the viewport for triggering earlier or later"}],events:[{name:"scrollreveal:enter",description:"Fired when the element enters the viewport"},{name:"scrollreveal:exit",description:"Fired when the element exits the viewport"}],requirements:["Uses IntersectionObserver API (supported in all modern browsers)"],source:`
|
|
135
|
+
behavior ScrollReveal(cls, threshold, once, rootMargin)
|
|
136
|
+
init
|
|
137
|
+
if cls is undefined set cls to "revealed"
|
|
138
|
+
if threshold is undefined set threshold to 0.1
|
|
139
|
+
if once is undefined set once to true
|
|
140
|
+
if rootMargin is undefined set rootMargin to "0px"
|
|
141
|
+
end
|
|
142
|
+
-- Imperative installer handles IntersectionObserver setup
|
|
143
|
+
end`.trim()}});var vt={};y(vt,{default:()=>je,registerScrollReveal:()=>q,scrollRevealMetadata:()=>Ge,scrollRevealSource:()=>Ve});function tr(e,t){let r=typeof t.cls=="string"?t.cls:"revealed",o=typeof t.threshold=="number"?t.threshold:.1,i=t.once!==!1,m=typeof t.rootMargin=="string"?t.rootMargin:"0px",a=new IntersectionObserver(c=>{for(let p of c)p.isIntersecting?(e.classList.add(r),e.dispatchEvent(new CustomEvent("scrollreveal:enter",{bubbles:!0})),i&&a.disconnect()):i||(e.classList.remove(r),e.dispatchEvent(new CustomEvent("scrollreveal:exit",{bubbles:!0})))},{threshold:o,rootMargin:m});a.observe(e)}async function q(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"ScrollReveal",parameters:["cls","threshold","once","rootMargin"],eventHandlers:[],imperativeInstaller:tr},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var Ve,Ge,je,ae=u(()=>{"use strict";Ue();b();Ve=$.source,Ge=$;s()&&q().catch(console.error);je={source:$.source,metadata:$,register:q}});var X,Ke=u(()=>{"use strict";X={name:"Tabs",category:"ui",tier:"core",version:"1.0.0",description:"WAI-ARIA compliant tabs with roving tabindex keyboard navigation. Auto-wires role, aria-selected, aria-controls, and aria-labelledby attributes.",parameters:[{name:"orientation",type:"string",optional:!0,default:"horizontal",enum:["horizontal","vertical"],description:"Arrow key direction: horizontal (Left/Right) or vertical (Up/Down)"},{name:"activeTab",type:"number",optional:!0,default:0,description:"Initial active tab index (zero-based)"},{name:"wrap",type:"boolean",optional:!0,default:!0,description:"Wrap to first/last tab when navigating past the end"},{name:"activeClass",type:"string",optional:!0,default:"active",description:"CSS class applied to the active tab and its panel"}],events:[{name:"tabs:change",description:"Fired before tab selection changes (cancelable via preventDefault)"},{name:"tabs:changed",description:"Fired after tab selection has changed"}],requirements:['Sets role="tablist" on the tab container','Sets role="tab" on tab buttons and role="tabpanel" on content panels',"Manages aria-selected, aria-controls, aria-labelledby, and tabindex","Keyboard: Arrow keys navigate, Home/End jump to first/last, Tab exits tablist"],source:["behavior Tabs(orientation, activeTab, wrap, activeClass)"," init",' if orientation is undefined set orientation to "horizontal"'," if activeTab is undefined set activeTab to 0"," if wrap is undefined set wrap to true",' if activeClass is undefined set activeClass to "active"'," end"," -- Imperative installer handles ARIA wiring and keyboard navigation","end"].join(`
|
|
144
|
+
`)}});var bt={};y(bt,{default:()=>Ze,registerTabs:()=>U,tabsMetadata:()=>Qe,tabsSource:()=>Je});function gt(e,t){return e.id||(e.id=`${t}-${++rr}`),e.id}function or(e,t){let r=t.orientation==="vertical"?"vertical":"horizontal",o=t.wrap!==!1,i=t.activeClass||"active",m=typeof t.activeTab=="number"?t.activeTab:0,a=Array.from(e.querySelectorAll('[role="tab"]')),c=Array.from(e.querySelectorAll('[role="tabpanel"]'));if(a.length===0||c.length===0)return;let p=e.querySelector('[role="tablist"]')||a[0].parentElement;p&&!p.getAttribute("role")&&p.setAttribute("role","tablist"),p&&p.setAttribute("aria-orientation",r);let l=Math.min(a.length,c.length);for(let n=0;n<l;n++){let f=gt(a[n],"tab"),E=gt(c[n],"tabpanel");a[n].setAttribute("aria-controls",E),c[n].setAttribute("aria-labelledby",f)}let d=-1;function w(n,f){if(n===f||n<0||n>=l)return!1;let E={tab:a[n],panel:c[n],index:n,previousIndex:f},j=new CustomEvent("tabs:change",{bubbles:!0,cancelable:!0,detail:E});return e.dispatchEvent(j),j.defaultPrevented?!1:(f>=0&&f<l&&(a[f].setAttribute("aria-selected","false"),a[f].setAttribute("tabindex","-1"),a[f].classList.remove(i),c[f].setAttribute("aria-hidden","true"),c[f].classList.remove(i)),a[n].setAttribute("aria-selected","true"),a[n].setAttribute("tabindex","0"),a[n].classList.add(i),c[n].setAttribute("aria-hidden","false"),c[n].classList.add(i),d=n,e.dispatchEvent(new CustomEvent("tabs:changed",{bubbles:!0,detail:E})),!0)}for(let n=0;n<l;n++)a[n].setAttribute("aria-selected","false"),a[n].setAttribute("tabindex","-1"),a[n].classList.remove(i),c[n].setAttribute("aria-hidden","true"),c[n].classList.remove(i);let g=Math.max(0,Math.min(m,l-1));a[g].setAttribute("aria-selected","true"),a[g].setAttribute("tabindex","0"),a[g].classList.add(i),c[g].setAttribute("aria-hidden","false"),c[g].classList.add(i),d=g;for(let n=0;n<l;n++)a[n].addEventListener("click",()=>{w(n,d),a[n].focus()});(p||e).addEventListener("keydown",n=>{let f=r==="horizontal",E=f?"ArrowRight":"ArrowDown",j=f?"ArrowLeft":"ArrowUp",x=null;n.key===E?(x=d+1,x>=l&&(x=o?0:null)):n.key===j?(x=d-1,x<0&&(x=o?l-1:null)):n.key==="Home"?x=0:n.key==="End"&&(x=l-1),x!==null&&(n.preventDefault(),w(x,d)&&a[x].focus())}),e.addEventListener("tabs:select",(n=>{let f=n.detail?.index;typeof f=="number"&&w(f,d)}))}async function U(e){let t=e||s();if(!t)throw new Error("LokaScript not found. Make sure @hyperfixi/core is loaded before registering behaviors.");let r={type:"behavior",name:"Tabs",parameters:["orientation","activeTab","wrap","activeClass"],eventHandlers:[],imperativeInstaller:or},o=t.createContext?t.createContext():{locals:new Map,globals:new Map};await t.execute(r,o)}var Je,Qe,rr,Ze,ne=u(()=>{"use strict";Ke();b();Je=X.source,Qe=X,rr=0;s()&&U().catch(console.error);Ze={source:X.source,metadata:X,register:U}});var ir={};y(ir,{ALL_BEHAVIOR_NAMES:()=>It,AutoDismiss:()=>Oe,BEHAVIORS_BY_CATEGORY:()=>Dt,BEHAVIORS_BY_TIER:()=>Ft,BEHAVIOR_CATEGORIES:()=>Pt,BEHAVIOR_TIERS:()=>Ot,ClickOutside:()=>Ye,Clipboard:()=>Ie,Draggable:()=>pe,FocusTrap:()=>Xe,Removable:()=>ge,Resizable:()=>Be,ScrollReveal:()=>je,Sortable:()=>Le,Tabs:()=>Ze,Toggleable:()=>we,autoDismissMetadata:()=>Pe,autoDismissSource:()=>Fe,clickOutsideMetadata:()=>_e,clickOutsideSource:()=>We,clipboardMetadata:()=>Ae,clipboardSource:()=>He,draggableMetadata:()=>me,draggableSource:()=>ue,focusTrapMetadata:()=>qe,focusTrapSource:()=>$e,getAllSchemas:()=>Tt,getAllSchemasRecord:()=>Mt,getAvailableBehaviors:()=>rt,getBehavior:()=>yt,getBehaviorsByCategory:()=>ot,getBehaviorsByTier:()=>it,getRegisteredBehaviors:()=>Lt,getSchema:()=>wt,hasLoader:()=>kt,isRegistered:()=>Et,loadAll:()=>Rt,loadBehavior:()=>V,preloadCategory:()=>Bt,preloadTier:()=>Ct,ready:()=>se,registerAll:()=>zt,registerAllWithRuntime:()=>At,registerAutoDismiss:()=>z,registerBehavior:()=>tt,registerClickOutside:()=>_,registerClipboard:()=>P,registerDraggable:()=>M,registerFocusTrap:()=>N,registerLoader:()=>v,registerRemovable:()=>C,registerResizable:()=>D,registerSchema:()=>h,registerScrollReveal:()=>q,registerSortable:()=>A,registerTabs:()=>U,registerToggleable:()=>R,registerWithRuntime:()=>Ht,removableMetadata:()=>ve,removableSource:()=>he,resizableMetadata:()=>Ce,resizableSource:()=>Me,scrollRevealMetadata:()=>Ge,scrollRevealSource:()=>Ve,sortableMetadata:()=>ke,sortableSource:()=>Ee,tabsMetadata:()=>Qe,tabsSource:()=>Je,toggleableMetadata:()=>xe,toggleableSource:()=>ye,tryGetBehavior:()=>xt,tryGetSchema:()=>St});K();J();Q();Z();ee();te();re();oe();ie();ae();ne();var S=new Map,L=new Map,G=new Map,et=new Map;function tt(e,t){S.set(e,t),t.metadata&&L.set(e,t.metadata)}function h(e){L.set(e.name,e)}function v(e,t){G.set(e,t)}function yt(e){let t=S.get(e);if(!t){let r=Array.from(S.keys()).join(", ");throw new Error(`Behavior '${e}' is not registered. Registered behaviors: ${r||"none"}. Use loadBehavior('${e}') to lazy load it.`)}return t}function xt(e){return S.get(e)}function wt(e){let t=L.get(e);if(!t)throw new Error(`Schema for behavior '${e}' is not registered. Use tryGetSchema('${e}') for a non-throwing alternative.`);return t}function St(e){return L.get(e)}function Et(e){return S.has(e)}function kt(e){return G.has(e)}function Lt(){return Array.from(S.keys())}function rt(){let e=new Set([...S.keys(),...G.keys()]);return Array.from(e)}function ot(e){let t=[];for(let[r,o]of L)o.category===e&&t.push(r);return t}function it(e){let t=[];for(let[r,o]of L)o.tier===e&&t.push(r);return t}function Tt(){return Array.from(L.values())}function Mt(){let e={};for(let[t,r]of L)e[t]=r;return e}async function V(e){let t=S.get(e);if(t)return t;let r=et.get(e);if(r)return r;let o=G.get(e);if(!o)throw new Error(`No loader registered for behavior '${e}'. Available loaders: ${Array.from(G.keys()).join(", ")||"none"}`);let i=o().then(m=>{let a=m.default;return tt(e,a),et.delete(e),a});return et.set(e,i),i}async function Ct(e){let t=it(e);await Promise.all(t.map(r=>V(r).catch(o=>{console.warn(`[behaviors] Failed to preload '${r}' (tier: ${e}):`,o)})))}async function Bt(e){let t=ot(e);await Promise.all(t.map(r=>V(r).catch(o=>{console.warn(`[behaviors] Failed to preload '${r}' (category: ${e}):`,o)})))}async function Rt(){let e=rt();await Promise.all(e.map(t=>V(t).catch(r=>{console.warn(`[behaviors] Failed to load '${t}':`,r)})))}async function Ht(e,t){await(await V(e)).register(t)}async function At(e){let t=Array.from(S.values()).map(r=>r.register(e));await Promise.all(t)}de();Se();Te();fe();be();Re();De();ze();Ne();Ue();Ke();h(T);h(H);h(I);h(k);h(B);h(F);h(O);h(W);h(Y);h($);h(X);v("Draggable",()=>Promise.resolve().then(()=>(K(),nt)));v("Sortable",()=>Promise.resolve().then(()=>(Z(),lt)));v("Resizable",()=>Promise.resolve().then(()=>(ee(),dt)));v("Removable",()=>Promise.resolve().then(()=>(J(),st)));v("Toggleable",()=>Promise.resolve().then(()=>(Q(),ct)));v("Clipboard",()=>Promise.resolve().then(()=>(te(),mt)));v("AutoDismiss",()=>Promise.resolve().then(()=>(re(),pt)));v("ClickOutside",()=>Promise.resolve().then(()=>(oe(),ft)));v("FocusTrap",()=>Promise.resolve().then(()=>(ie(),ht)));v("ScrollReveal",()=>Promise.resolve().then(()=>(ae(),vt)));v("Tabs",()=>Promise.resolve().then(()=>(ne(),bt)));var It=["Draggable","Sortable","Resizable","Removable","Toggleable","Clipboard","AutoDismiss","ClickOutside","FocusTrap","ScrollReveal","Tabs"],Dt={ui:["Draggable","Sortable","Resizable","Clipboard","AutoDismiss","ClickOutside","FocusTrap","Tabs"],data:["Removable"],animation:[],form:["Toggleable"],layout:["ScrollReveal"]},Ft={core:["Draggable","Toggleable","Clipboard","AutoDismiss","ClickOutside","FocusTrap","Tabs"],common:["Sortable","Removable","ScrollReveal"],optional:["Resizable"]},Pt={Draggable:"ui",Sortable:"ui",Resizable:"ui",Removable:"data",Toggleable:"form",Clipboard:"ui",AutoDismiss:"ui",ClickOutside:"ui",FocusTrap:"ui",ScrollReveal:"layout",Tabs:"ui"},Ot={Draggable:"core",Sortable:"common",Resizable:"optional",Removable:"common",Toggleable:"core",Clipboard:"core",AutoDismiss:"core",ClickOutside:"core",FocusTrap:"core",ScrollReveal:"common",Tabs:"core"};K();J();Q();Z();ee();te();re();oe();ie();ae();ne();b();async function zt(e){await Promise.all([M(e),C(e),R(e),A(e),D(e),P(e),z(e),_(e),N(e),q(e),U(e)])}var se=null,at=s();if(at){let e=window;se=zt(at),e.__hyperfixi_behaviors_ready=se,se.then(()=>{let t=at,r=e.__hyperfixi_behaviors_ready;delete e.__hyperfixi_behaviors_ready,t.attributeProcessor?.scanAndProcessAll?t.attributeProcessor.scanAndProcessAll().finally(()=>{e.__hyperfixi_behaviors_ready=r}):t.processNode&&(t.processNode(document),e.__hyperfixi_behaviors_ready=r)}).catch(t=>{console.error("[behaviors] Auto-registration failed:",t)})}return $t(ir);})();
|
|
116
145
|
//# sourceMappingURL=all.browser.global.js.map
|