@vft/directives 0.0.29 → 0.0.31

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/index.cjs ADDED
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=s(require(`@vft/utils`)),l=s(require(`@vft/use`)),u=s(require(`vue`)),d=new Map;if(c.isClient){let e;document.addEventListener(`mousedown`,t=>e=t),document.addEventListener(`mouseup`,t=>{if(e){for(let n of d.values())for(let{documentHandler:r}of n)r(t,e);e=void 0}})}function f(e,t){let n=[];return(0,c.isArray)(t.arg)?n=t.arg:(0,c.isElement)(t.arg)&&n.push(t.arg),function(r,i){let a=t.instance.popperRef,o=r.target,s=i?.target,c=!t||!t.instance,l=!o||!s,u=e.contains(o)||e.contains(s),d=e===o,f=n.length&&n.some(e=>e?.contains(o))||n.length&&n.includes(s),p=a&&(a.contains(o)||a.contains(s));c||l||u||d||f||p||t.value(r,i)}}const p={beforeMount(e,t){d.has(e)||d.set(e,[]),d.get(e).push({documentHandler:f(e,t),bindingFn:t.value})},updated(e,t){d.has(e)||d.set(e,[]);let n=d.get(e),r=n.findIndex(e=>e.bindingFn===t.oldValue),i={documentHandler:f(e,t),bindingFn:t.value};r>=0?n.splice(r,1,i):n.push(i)},unmounted(e){d.delete(e)}};var m=p;const h={mounted(e){let t={};e.addEventListener(`touchstart`,e=>{t=e.touches[0]}),e.addEventListener(`touchmove`,e=>{e.stopPropagation();let n=e.currentTarget,r=e.touches[0];(n.scrollHeight<=n.offsetHeight||!n.scrollTop&&r.screenY>t.screenY||n.scrollTop===n.scrollHeight-n.offsetHeight&&r.screenY<t.screenY)&&e.cancelable&&e.preventDefault(),t=r},!1)}};var g=h;function _(e,t,n){let{hasPermission:r}=(0,l.usePermission)(n||(0,u.ref)([])),i=t.value;i&&(r(i)||e.parentNode?.removeChild(e))}function v(e,t){e.directive(`auth`,{mounted:(e,n)=>{_(e,n,t)}})}const y=100,b=600,x={beforeMount(e,t){let n=t.value,{interval:r=100,delay:i=600}=(0,c.isFunction)(n)?{}:n,a,o,s=()=>(0,c.isFunction)(n)?n():n.handler(),l=()=>{o&&(clearTimeout(o),o=void 0),a&&(clearInterval(a),a=void 0)};e.addEventListener(`mousedown`,e=>{e.button===0&&(l(),s(),document.addEventListener(`mouseup`,()=>l(),{once:!0}),o=setTimeout(()=>{a=setInterval(()=>{s()},r)},i))})}},S=e=>{e.directive(`scrollFix`,g)},C=e=>{e.directive(`ClickOutside`,m)};exports.ClickOutside=m,exports.REPEAT_DELAY=600,exports.REPEAT_INTERVAL=100,exports.ScrollFix=g,exports.registerClickOut=C,exports.registerScrollFix=S,exports.setupPermissionDirective=v,exports.vRepeatClick=x;
@@ -0,0 +1,32 @@
1
+ import { App, Directive, ObjectDirective, Ref } from "vue";
2
+
3
+ //#region src/click-out-side.d.ts
4
+ declare const ClickOutside: ObjectDirective;
5
+ //#endregion
6
+ //#region src/scroll-fix.d.ts
7
+ /**
8
+ * @description 禁止 ios 橡皮筋效果
9
+ * @author wfd
10
+ * @date 2022/8/24 15:40
11
+ * @example v-scroll-fix
12
+ */
13
+ declare const ScrollFix: Directive;
14
+ //#endregion
15
+ //#region src/permission.d.ts
16
+ declare function setupPermissionDirective(app: App, roleList: Ref<string[]>): void;
17
+ //#endregion
18
+ //#region src/repeat-click/index.d.ts
19
+ declare const REPEAT_INTERVAL = 100;
20
+ declare const REPEAT_DELAY = 600;
21
+ interface RepeatClickOptions {
22
+ interval?: number;
23
+ delay?: number;
24
+ handler: (...args: unknown[]) => unknown;
25
+ }
26
+ declare const vRepeatClick: ObjectDirective<HTMLElement, RepeatClickOptions | RepeatClickOptions['handler']>;
27
+ //#endregion
28
+ //#region src/index.d.ts
29
+ declare const registerScrollFix: (app: App) => void;
30
+ declare const registerClickOut: (app: App) => void;
31
+ //#endregion
32
+ export { ClickOutside, REPEAT_DELAY, REPEAT_INTERVAL, RepeatClickOptions, ScrollFix, registerClickOut, registerScrollFix, setupPermissionDirective, vRepeatClick };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,32 @@
1
- import type { App } from 'vue';
2
- import ClickOutside from './click-out-side';
3
- import ScrollFix from './scroll-fix';
4
- export declare const registerScrollFix: (app: App) => void;
5
- export declare const registerClickOut: (app: App) => void;
6
- export * from './permission';
7
- export * from './repeat-click';
8
- export { ClickOutside, ScrollFix };
1
+ import { App, Directive, ObjectDirective, Ref } from "vue";
2
+
3
+ //#region src/click-out-side.d.ts
4
+ declare const ClickOutside: ObjectDirective;
5
+ //#endregion
6
+ //#region src/scroll-fix.d.ts
7
+ /**
8
+ * @description 禁止 ios 橡皮筋效果
9
+ * @author wfd
10
+ * @date 2022/8/24 15:40
11
+ * @example v-scroll-fix
12
+ */
13
+ declare const ScrollFix: Directive;
14
+ //#endregion
15
+ //#region src/permission.d.ts
16
+ declare function setupPermissionDirective(app: App, roleList: Ref<string[]>): void;
17
+ //#endregion
18
+ //#region src/repeat-click/index.d.ts
19
+ declare const REPEAT_INTERVAL = 100;
20
+ declare const REPEAT_DELAY = 600;
21
+ interface RepeatClickOptions {
22
+ interval?: number;
23
+ delay?: number;
24
+ handler: (...args: unknown[]) => unknown;
25
+ }
26
+ declare const vRepeatClick: ObjectDirective<HTMLElement, RepeatClickOptions | RepeatClickOptions['handler']>;
27
+ //#endregion
28
+ //#region src/index.d.ts
29
+ declare const registerScrollFix: (app: App) => void;
30
+ declare const registerClickOut: (app: App) => void;
31
+ //#endregion
32
+ export { ClickOutside, REPEAT_DELAY, REPEAT_INTERVAL, RepeatClickOptions, ScrollFix, registerClickOut, registerScrollFix, setupPermissionDirective, vRepeatClick };
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ import{isArray as e,isClient as t,isElement as n,isFunction as r}from"@vft/utils";import{usePermission as i}from"@vft/use";import{ref as a}from"vue";const o=new Map;if(t){let e;document.addEventListener(`mousedown`,t=>e=t),document.addEventListener(`mouseup`,t=>{if(e){for(let n of o.values())for(let{documentHandler:r}of n)r(t,e);e=void 0}})}function s(t,r){let i=[];return e(r.arg)?i=r.arg:n(r.arg)&&i.push(r.arg),function(e,n){let a=r.instance.popperRef,o=e.target,s=n?.target,c=!r||!r.instance,l=!o||!s,u=t.contains(o)||t.contains(s),d=t===o,f=i.length&&i.some(e=>e?.contains(o))||i.length&&i.includes(s),p=a&&(a.contains(o)||a.contains(s));c||l||u||d||f||p||r.value(e,n)}}const c={beforeMount(e,t){o.has(e)||o.set(e,[]),o.get(e).push({documentHandler:s(e,t),bindingFn:t.value})},updated(e,t){o.has(e)||o.set(e,[]);let n=o.get(e),r=n.findIndex(e=>e.bindingFn===t.oldValue),i={documentHandler:s(e,t),bindingFn:t.value};r>=0?n.splice(r,1,i):n.push(i)},unmounted(e){o.delete(e)}};var l=c;const u={mounted(e){let t={};e.addEventListener(`touchstart`,e=>{t=e.touches[0]}),e.addEventListener(`touchmove`,e=>{e.stopPropagation();let n=e.currentTarget,r=e.touches[0];(n.scrollHeight<=n.offsetHeight||!n.scrollTop&&r.screenY>t.screenY||n.scrollTop===n.scrollHeight-n.offsetHeight&&r.screenY<t.screenY)&&e.cancelable&&e.preventDefault(),t=r},!1)}};var d=u;function f(e,t,n){let{hasPermission:r}=i(n||a([])),o=t.value;o&&(r(o)||e.parentNode?.removeChild(e))}function p(e,t){e.directive(`auth`,{mounted:(e,n)=>{f(e,n,t)}})}const m=100,h=600,g={beforeMount(e,t){let n=t.value,{interval:i=100,delay:a=600}=r(n)?{}:n,o,s,c=()=>r(n)?n():n.handler(),l=()=>{s&&(clearTimeout(s),s=void 0),o&&(clearInterval(o),o=void 0)};e.addEventListener(`mousedown`,e=>{e.button===0&&(l(),c(),document.addEventListener(`mouseup`,()=>l(),{once:!0}),s=setTimeout(()=>{o=setInterval(()=>{c()},i)},a))})}},_=e=>{e.directive(`scrollFix`,d)},v=e=>{e.directive(`ClickOutside`,l)};export{l as ClickOutside,h as REPEAT_DELAY,m as REPEAT_INTERVAL,d as ScrollFix,v as registerClickOut,_ as registerScrollFix,p as setupPermissionDirective,g as vRepeatClick};
package/package.json CHANGED
@@ -1,30 +1,31 @@
1
1
  {
2
2
  "name": "@vft/directives",
3
- "version": "0.0.29",
4
- "main": "./dist/cjs/index.cjs",
5
- "module": "./dist/es/index.js",
3
+ "version": "0.0.31",
4
+ "main": "./dist/index.cjs",
5
+ "module": "./dist/index.js",
6
+ "type": "module",
6
7
  "files": [
7
8
  "dist"
8
9
  ],
9
10
  "devDependencies": {
10
- "@vft/use": "0.0.42",
11
- "@vft/utils": "0.0.63"
11
+ "@vft/use": "0.0.55",
12
+ "@vft/utils": "0.0.115"
12
13
  },
13
14
  "peerDependencies": {
14
- "vue": "3.4.19"
15
+ "vue": "3.5.13"
15
16
  },
16
17
  "scripts": {
17
18
  "clean": "pnpm /^clean:/",
18
19
  "clean:dist": "rimraf dist",
19
20
  "clean:node_modules": "rimraf node_modules",
20
- "build": "pnpm clean:dist && vite build",
21
+ "build": "tsdown -c ../../scripts/build/src/utils/tsdown.config.ts",
21
22
  "pub": "pnpm build && tsx ../../scripts/build/src/publish.ts --pkg common/directives"
22
23
  },
23
24
  "types": "./dist/index.d.ts",
24
25
  "exports": {
25
26
  ".": {
26
- "require": "./dist/cjs/index.cjs",
27
- "import": "./dist/es/index.js"
27
+ "require": "./dist/index.cjs",
28
+ "import": "./dist/index.js"
28
29
  }
29
30
  }
30
31
  }
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@vft/utils"),s=new Map;let d;f.isClient&&(document.addEventListener("mousedown",e=>d=e),document.addEventListener("mouseup",e=>{for(const t of s.values())for(const{documentHandler:n}of t)n(e,d)}));function i(e,t){let n=[];return Array.isArray(t.arg)?n=t.arg:f.isElement(t.arg)&&n.push(t.arg),function(a,o){const r=t.instance.popperRef,c=a.target,u=o==null?void 0:o.target,p=!t||!t.instance,g=!c||!u,h=e.contains(c)||e.contains(u),v=e===c,E=n.length&&n.some(l=>l==null?void 0:l.contains(c))||n.length&&n.includes(u),H=r&&(r.contains(c)||r.contains(u));p||g||h||v||E||H||t.value(a,o)}}const x={beforeMount(e,t){s.has(e)||s.set(e,[]),s.get(e).push({documentHandler:i(e,t),bindingFn:t.value})},updated(e,t){s.has(e)||s.set(e,[]);const n=s.get(e),a=n.findIndex(r=>r.bindingFn===t.oldValue),o={documentHandler:i(e,t),bindingFn:t.value};a>=0?n.splice(a,1,o):n.push(o)},unmounted(e){s.delete(e)}};exports.default=x;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./click-out-side.cjs"),r=require("./scroll-fix.cjs"),c=require("./permission.cjs"),i=require("./repeat-click/index.cjs"),l=e=>{e.directive("scrollFix",r.default)},s=e=>{e.directive("ClickOutside",t.default)};exports.ClickOutside=t.default;exports.ScrollFix=r.default;exports.setupPermissionDirective=c.setupPermissionDirective;exports.REPEAT_DELAY=i.REPEAT_DELAY;exports.REPEAT_INTERVAL=i.REPEAT_INTERVAL;exports.vRepeatClick=i.vRepeatClick;exports.registerClickOut=s;exports.registerScrollFix=l;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@vft/use"),o=require("vue");function c(e,i,t){var u;const{hasPermission:r}=n.usePermission(t||o.ref([])),s=i.value;s&&(r(s)||(u=e.parentNode)==null||u.removeChild(e))}function v(e,i){e.directive("auth",{mounted:(t,r)=>{c(t,r,i)}})}exports.setupPermissionDirective=v;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@vft/utils"),r=100,a=600,v={beforeMount(c,s){const e=s.value,{interval:u=r,delay:d=a}=l.isFunction(e)?{}:e;let t,n;const o=()=>l.isFunction(e)?e():e.handler(),i=()=>{n&&(clearTimeout(n),n=void 0),t&&(clearInterval(t),t=void 0)};c.addEventListener("mousedown",E=>{E.button===0&&(i(),o(),document.addEventListener("mouseup",()=>i(),{once:!0}),n=setTimeout(()=>{t=setInterval(()=>{o()},u)},d))})}};exports.REPEAT_DELAY=a;exports.REPEAT_INTERVAL=r;exports.vRepeatClick=v;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c={mounted(l){let o={};l.addEventListener("touchstart",e=>{o=e.touches[0]}),l.addEventListener("touchmove",e=>{e.stopPropagation();const t=e.currentTarget,s=e.touches[0];(t.scrollHeight<=t.offsetHeight||!t.scrollTop&&s.screenY>o.screenY||t.scrollTop===t.scrollHeight-t.offsetHeight&&s.screenY<o.screenY)&&e.cancelable&&e.preventDefault(),o=s},!1)}};exports.default=c;
@@ -1,3 +0,0 @@
1
- import type { ObjectDirective } from 'vue';
2
- declare const ClickOutside: ObjectDirective;
3
- export default ClickOutside;
@@ -1,39 +0,0 @@
1
- import { isClient as E, isElement as H } from "@vft/utils";
2
- const s = /* @__PURE__ */ new Map();
3
- let l;
4
- E && (document.addEventListener("mousedown", (e) => l = e), document.addEventListener("mouseup", (e) => {
5
- for (const t of s.values())
6
- for (const { documentHandler: n } of t)
7
- n(e, l);
8
- }));
9
- function i(e, t) {
10
- let n = [];
11
- return Array.isArray(t.arg) ? n = t.arg : H(t.arg) && n.push(t.arg), function(o, a) {
12
- const r = t.instance.popperRef, c = o.target, u = a == null ? void 0 : a.target, f = !t || !t.instance, p = !c || !u, h = e.contains(c) || e.contains(u), g = e === c, v = n.length && n.some((d) => d == null ? void 0 : d.contains(c)) || n.length && n.includes(u), x = r && (r.contains(c) || r.contains(u));
13
- f || p || h || g || v || x || t.value(o, a);
14
- };
15
- }
16
- const C = {
17
- beforeMount(e, t) {
18
- s.has(e) || s.set(e, []), s.get(e).push({
19
- documentHandler: i(e, t),
20
- bindingFn: t.value
21
- });
22
- },
23
- updated(e, t) {
24
- s.has(e) || s.set(e, []);
25
- const n = s.get(e), o = n.findIndex(
26
- (r) => r.bindingFn === t.oldValue
27
- ), a = {
28
- documentHandler: i(e, t),
29
- bindingFn: t.value
30
- };
31
- o >= 0 ? n.splice(o, 1, a) : n.push(a);
32
- },
33
- unmounted(e) {
34
- s.delete(e);
35
- }
36
- };
37
- export {
38
- C as default
39
- };
package/dist/es/index.js DELETED
@@ -1,19 +0,0 @@
1
- import r from "./click-out-side.js";
2
- import e from "./scroll-fix.js";
3
- import { setupPermissionDirective as p } from "./permission.js";
4
- import { REPEAT_DELAY as E, REPEAT_INTERVAL as d, vRepeatClick as f } from "./repeat-click/index.js";
5
- const c = (i) => {
6
- i.directive("scrollFix", e);
7
- }, l = (i) => {
8
- i.directive("ClickOutside", r);
9
- };
10
- export {
11
- r as ClickOutside,
12
- E as REPEAT_DELAY,
13
- d as REPEAT_INTERVAL,
14
- e as ScrollFix,
15
- l as registerClickOut,
16
- c as registerScrollFix,
17
- p as setupPermissionDirective,
18
- f as vRepeatClick
19
- };
@@ -1,17 +0,0 @@
1
- import { usePermission as s } from "@vft/use";
2
- import { ref as u } from "vue";
3
- function m(e, i, o) {
4
- var n;
5
- const { hasPermission: r } = s(o || u([])), t = i.value;
6
- t && (r(t) || (n = e.parentNode) == null || n.removeChild(e));
7
- }
8
- function a(e, i) {
9
- e.directive("auth", {
10
- mounted: (o, r) => {
11
- m(o, r, i);
12
- }
13
- });
14
- }
15
- export {
16
- a as setupPermissionDirective
17
- };
@@ -1,26 +0,0 @@
1
- import { isFunction as a } from "@vft/utils";
2
- const u = 100, v = 600, m = {
3
- beforeMount(l, i) {
4
- const e = i.value, { interval: c = u, delay: d = v } = a(
5
- e
6
- ) ? {} : e;
7
- let t, n;
8
- const o = () => a(e) ? e() : e.handler(), r = () => {
9
- n && (clearTimeout(n), n = void 0), t && (clearInterval(t), t = void 0);
10
- };
11
- l.addEventListener("mousedown", (s) => {
12
- s.button === 0 && (r(), o(), document.addEventListener("mouseup", () => r(), {
13
- once: !0
14
- }), n = setTimeout(() => {
15
- t = setInterval(() => {
16
- o();
17
- }, c);
18
- }, d));
19
- });
20
- }
21
- };
22
- export {
23
- v as REPEAT_DELAY,
24
- u as REPEAT_INTERVAL,
25
- m as vRepeatClick
26
- };
@@ -1,19 +0,0 @@
1
- const l = {
2
- mounted(c) {
3
- let o = {};
4
- c.addEventListener("touchstart", (e) => {
5
- o = e.touches[0];
6
- }), c.addEventListener(
7
- "touchmove",
8
- (e) => {
9
- e.stopPropagation();
10
- const t = e.currentTarget, s = e.touches[0];
11
- (t.scrollHeight <= t.offsetHeight || !t.scrollTop && s.screenY > o.screenY || t.scrollTop === t.scrollHeight - t.offsetHeight && s.screenY < o.screenY) && e.cancelable && e.preventDefault(), o = s;
12
- },
13
- !1
14
- );
15
- }
16
- };
17
- export {
18
- l as default
19
- };
@@ -1,2 +0,0 @@
1
- import { type App, type Ref } from 'vue';
2
- export declare function setupPermissionDirective(app: App, roleList: Ref<string[]>): void;
@@ -1,9 +0,0 @@
1
- import type { ObjectDirective } from 'vue';
2
- export declare const REPEAT_INTERVAL = 100;
3
- export declare const REPEAT_DELAY = 600;
4
- export interface RepeatClickOptions {
5
- interval?: number;
6
- delay?: number;
7
- handler: (...args: unknown[]) => unknown;
8
- }
9
- export declare const vRepeatClick: ObjectDirective<HTMLElement, RepeatClickOptions | RepeatClickOptions['handler']>;
@@ -1,9 +0,0 @@
1
- import type { Directive } from 'vue';
2
- /**
3
- * @description 禁止 ios 橡皮筋效果
4
- * @author wfd
5
- * @date 2022/8/24 15:40
6
- * @example v-scroll-fix
7
- */
8
- declare const ScrollFix: Directive;
9
- export default ScrollFix;
package/src/index.ts DELETED
@@ -1,15 +0,0 @@
1
- import type { App } from 'vue';
2
- import ClickOutside from './click-out-side';
3
- import ScrollFix from './scroll-fix';
4
-
5
- export const registerScrollFix = (app: App) => {
6
- app.directive('scrollFix', ScrollFix);
7
- };
8
-
9
- export const registerClickOut = (app: App) => {
10
- app.directive('ClickOutside', ClickOutside);
11
- };
12
-
13
- export * from './permission';
14
- export * from './repeat-click';
15
- export { ClickOutside, ScrollFix };