ember-velcro 2.1.2 → 2.1.3
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/modifiers/velcro.js
CHANGED
@@ -52,10 +52,14 @@ class VelcroModifier extends Modifier {
|
|
52
52
|
placement,
|
53
53
|
strategy
|
54
54
|
});
|
55
|
+
const {
|
56
|
+
referenceHidden
|
57
|
+
} = middlewareData.hide;
|
55
58
|
Object.assign(floatingElement.style, {
|
56
59
|
top: `${y}px`,
|
57
60
|
left: `${x}px`,
|
58
|
-
margin: 0
|
61
|
+
margin: 0,
|
62
|
+
visibility: referenceHidden ? 'hidden' : 'visible'
|
59
63
|
});
|
60
64
|
setVelcroData?.(middlewareData.metadata);
|
61
65
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"velcro.js","sources":["../../src/middleware/velcro-data.ts","../../src/modifiers/velcro.ts"],"sourcesContent":["import type { Middleware } from '@floating-ui/dom';\n\nexport function velcroData(): Middleware {\n return {\n name: 'metadata',\n fn: (data) => {\n // https://floating-ui.com/docs/middleware#always-return-an-object\n return {\n data,\n };\n },\n };\n}\n","import { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\n\nimport { autoUpdate, computePosition, flip, hide, offset, shift } from '@floating-ui/dom';\nimport Modifier from 'ember-modifier';\n\nimport { velcroData } from '../middleware/velcro-data';\n\nimport type { Middleware, Placement, Strategy } from '@floating-ui/dom';\n\n/**\n * TODO: figure out how to get the real types out of @floating-ui/dom\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype TODO = any;\n\nexport interface Signature {\n Element: HTMLElement;\n Args: {\n Positional: [referenceElement: string | HTMLElement | SVGElement];\n Named: {\n strategy?: Strategy;\n offsetOptions?: TODO;\n placement?: Placement;\n flipOptions?: TODO;\n shiftOptions?: TODO;\n hideOptions?: TODO;\n middleware?: Middleware[];\n setVelcroData?: Middleware['fn'];\n };\n };\n}\n\nexport default class VelcroModifier extends Modifier<Signature> {\n modify(\n floatingElement: Signature['Element'],\n [_referenceElement]: Signature['Args']['Positional'],\n {\n strategy = 'fixed',\n offsetOptions = 0,\n placement = 'bottom',\n flipOptions,\n shiftOptions,\n middleware = [],\n setVelcroData,\n }: Signature['Args']['Named']\n ) {\n const referenceElement: null | HTMLElement | SVGElement =\n typeof _referenceElement === 'string'\n ? document.querySelector(_referenceElement)\n : _referenceElement;\n\n assert(\n 'no reference element defined',\n referenceElement instanceof HTMLElement || referenceElement instanceof SVGElement\n );\n\n assert(\n 'no floating element defined',\n floatingElement instanceof HTMLElement || _referenceElement instanceof SVGElement\n );\n\n assert(\n 'reference and floating elements cannot be the same element',\n floatingElement !== _referenceElement\n );\n\n assert('@middleware must be an array of one or more objects', Array.isArray(middleware));\n\n Object.assign(floatingElement.style, {\n position: strategy,\n top: '0',\n left: '0',\n });\n\n let update = async () => {\n let { middlewareData, x, y } = await computePosition(referenceElement, floatingElement, {\n middleware: [\n offset(offsetOptions),\n flip(flipOptions),\n shift(shiftOptions),\n ...middleware,\n hide({ strategy: 'referenceHidden' }),\n hide({ strategy: 'escaped' }),\n velcroData(),\n ],\n placement,\n strategy,\n });\n\n Object.assign(floatingElement.style, {\n top: `${y}px`,\n left: `${x}px`,\n margin: 0,\n });\n setVelcroData?.(middlewareData.metadata);\n };\n\n update();\n\n let cleanup = autoUpdate(referenceElement, floatingElement, update);\n\n registerDestructor(this, cleanup);\n }\n}\n"],"names":["velcroData","name","fn","data","VelcroModifier","Modifier","modify","floatingElement","_referenceElement","strategy","offsetOptions","placement","flipOptions","shiftOptions","middleware","setVelcroData","referenceElement","document","querySelector","assert","HTMLElement","SVGElement","Array","isArray","Object","assign","style","position","top","left","update","middlewareData","x","y","computePosition","offset","flip","shift","hide","margin","metadata","cleanup","autoUpdate","registerDestructor"],"mappings":";;;;;AAEO,SAASA,UAAUA,GAAe;EACvC,OAAO;AACLC,IAAAA,IAAI,EAAE,UAAU;IAChBC,EAAE,EAAGC,IAAI,IAAK;AACZ;MACA,OAAO;AACLA,QAAAA,IAAAA;OACD,CAAA;AACH,KAAA;GACD,CAAA;AACH;;ACFA;AACA;AACA;AAqBe,MAAMC,cAAc,SAASC,QAAQ,CAAY;AAC9DC,EAAAA,MAAMA,CACJC,eAAqC,EACrC,CAACC,iBAAiB,CAAkC,EACpD;AACEC,IAAAA,QAAQ,GAAG,OAAO;AAClBC,IAAAA,aAAa,GAAG,CAAC;AACjBC,IAAAA,SAAS,GAAG,QAAQ;IACpBC,WAAW;IACXC,YAAY;AACZC,IAAAA,UAAU,GAAG,EAAE;AACfC,IAAAA,aAAAA;AAC0B,GAAC,EAC7B;AACA,IAAA,MAAMC,gBAAiD,GACrD,OAAOR,iBAAiB,KAAK,QAAQ,GACjCS,QAAQ,CAACC,aAAa,CAACV,iBAAiB,CAAC,GACzCA,iBAAiB,CAAA;IAEvBW,MAAM,CACJ,8BAA8B,EAC9BH,gBAAgB,YAAYI,WAAW,IAAIJ,gBAAgB,YAAYK,UACzE,CAAC,CAAA;IAEDF,MAAM,CACJ,6BAA6B,EAC7BZ,eAAe,YAAYa,WAAW,IAAIZ,iBAAiB,YAAYa,UACzE,CAAC,CAAA;AAEDF,IAAAA,MAAM,CACJ,4DAA4D,EAC5DZ,eAAe,KAAKC,iBACtB,CAAC,CAAA;IAEDW,MAAM,CAAC,qDAAqD,EAAEG,KAAK,CAACC,OAAO,CAACT,UAAU,CAAC,CAAC,CAAA;AAExFU,IAAAA,MAAM,CAACC,MAAM,CAAClB,eAAe,CAACmB,KAAK,EAAE;AACnCC,MAAAA,QAAQ,EAAElB,QAAQ;AAClBmB,MAAAA,GAAG,EAAE,GAAG;AACRC,MAAAA,IAAI,EAAE,GAAA;AACR,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIC,MAAM,GAAG,YAAY;MACvB,IAAI;QAAEC,cAAc;QAAEC,CAAC;AAAEC,QAAAA,CAAAA;AAAE,OAAC,GAAG,MAAMC,eAAe,CAAClB,gBAAgB,EAAET,eAAe,EAAE;QACtFO,UAAU,EAAE,CACVqB,MAAM,CAACzB,aAAa,CAAC,EACrB0B,IAAI,CAACxB,WAAW,CAAC,EACjByB,KAAK,CAACxB,YAAY,CAAC,EACnB,GAAGC,UAAU,EACbwB,IAAI,CAAC;AAAE7B,UAAAA,QAAQ,EAAE,iBAAA;SAAmB,CAAC,EACrC6B,IAAI,CAAC;AAAE7B,UAAAA,QAAQ,EAAE,SAAA;AAAU,SAAC,CAAC,EAC7BT,UAAU,EAAE,CACb;QACDW,SAAS;AACTF,QAAAA,QAAAA;AACF,OAAC,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"velcro.js","sources":["../../src/middleware/velcro-data.ts","../../src/modifiers/velcro.ts"],"sourcesContent":["import type { Middleware } from '@floating-ui/dom';\n\nexport function velcroData(): Middleware {\n return {\n name: 'metadata',\n fn: (data) => {\n // https://floating-ui.com/docs/middleware#always-return-an-object\n return {\n data,\n };\n },\n };\n}\n","import { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\n\nimport { autoUpdate, computePosition, flip, hide, offset, shift } from '@floating-ui/dom';\nimport Modifier from 'ember-modifier';\n\nimport { velcroData } from '../middleware/velcro-data';\n\nimport type { Middleware, Placement, Strategy } from '@floating-ui/dom';\n\n/**\n * TODO: figure out how to get the real types out of @floating-ui/dom\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype TODO = any;\n\nexport interface Signature {\n Element: HTMLElement;\n Args: {\n Positional: [referenceElement: string | HTMLElement | SVGElement];\n Named: {\n strategy?: Strategy;\n offsetOptions?: TODO;\n placement?: Placement;\n flipOptions?: TODO;\n shiftOptions?: TODO;\n hideOptions?: TODO;\n middleware?: Middleware[];\n setVelcroData?: Middleware['fn'];\n };\n };\n}\n\nexport default class VelcroModifier extends Modifier<Signature> {\n modify(\n floatingElement: Signature['Element'],\n [_referenceElement]: Signature['Args']['Positional'],\n {\n strategy = 'fixed',\n offsetOptions = 0,\n placement = 'bottom',\n flipOptions,\n shiftOptions,\n middleware = [],\n setVelcroData,\n }: Signature['Args']['Named']\n ) {\n const referenceElement: null | HTMLElement | SVGElement =\n typeof _referenceElement === 'string'\n ? document.querySelector(_referenceElement)\n : _referenceElement;\n\n assert(\n 'no reference element defined',\n referenceElement instanceof HTMLElement || referenceElement instanceof SVGElement\n );\n\n assert(\n 'no floating element defined',\n floatingElement instanceof HTMLElement || _referenceElement instanceof SVGElement\n );\n\n assert(\n 'reference and floating elements cannot be the same element',\n floatingElement !== _referenceElement\n );\n\n assert('@middleware must be an array of one or more objects', Array.isArray(middleware));\n\n Object.assign(floatingElement.style, {\n position: strategy,\n top: '0',\n left: '0',\n });\n\n let update = async () => {\n let { middlewareData, x, y } = await computePosition(referenceElement, floatingElement, {\n middleware: [\n offset(offsetOptions),\n flip(flipOptions),\n shift(shiftOptions),\n ...middleware,\n hide({ strategy: 'referenceHidden' }),\n hide({ strategy: 'escaped' }),\n velcroData(),\n ],\n placement,\n strategy,\n });\n\n const { referenceHidden } = middlewareData.hide;\n\n Object.assign(floatingElement.style, {\n top: `${y}px`,\n left: `${x}px`,\n margin: 0,\n visibility: referenceHidden ? 'hidden' : 'visible',\n });\n\n setVelcroData?.(middlewareData.metadata);\n };\n\n update();\n\n let cleanup = autoUpdate(referenceElement, floatingElement, update);\n\n registerDestructor(this, cleanup);\n }\n}\n"],"names":["velcroData","name","fn","data","VelcroModifier","Modifier","modify","floatingElement","_referenceElement","strategy","offsetOptions","placement","flipOptions","shiftOptions","middleware","setVelcroData","referenceElement","document","querySelector","assert","HTMLElement","SVGElement","Array","isArray","Object","assign","style","position","top","left","update","middlewareData","x","y","computePosition","offset","flip","shift","hide","referenceHidden","margin","visibility","metadata","cleanup","autoUpdate","registerDestructor"],"mappings":"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"}
|