@number-flow/vue 0.2.1 → 0.2.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/index.d.ts CHANGED
@@ -11,6 +11,24 @@ import { Ref } from 'vue';
11
11
  import { Trend } from 'number-flow';
12
12
  import { Value } from 'number-flow';
13
13
 
14
+ declare const __VLS_component: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
15
+
16
+ declare function __VLS_template(): {
17
+ slots: {
18
+ default?(_: {}): any;
19
+ };
20
+ refs: {};
21
+ attrs: Partial<{}>;
22
+ };
23
+
24
+ declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+
26
+ declare type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
31
+
14
32
  declare const _default: DefineComponent<Props, {
15
33
  el: Ref<NumberFlowElement | undefined, NumberFlowElement | undefined>;
16
34
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
@@ -26,6 +44,8 @@ export { Format }
26
44
 
27
45
  export { NumberFlowElement }
28
46
 
47
+ export declare const NumberFlowGroup: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
48
+
29
49
  declare type Props = Partial<Props_2> & {
30
50
  locales?: Intl.LocalesArgument;
31
51
  format?: Format;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),e=require("number-flow"),d=["trend","continuous","animated","transformTiming","spinTiming","opacityTiming","respectMotionPreference","data-will-change","innerHTML","parts"],c=n.defineComponent({inheritAttrs:!1,__name:"index",props:{transformTiming:{default:()=>e.NumberFlowLite.defaultProps.transformTiming},spinTiming:{default:()=>e.NumberFlowLite.defaultProps.spinTiming},opacityTiming:{default:()=>e.NumberFlowLite.defaultProps.opacityTiming},animated:{type:Boolean,default:()=>e.NumberFlowLite.defaultProps.animated},respectMotionPreference:{type:Boolean,default:()=>e.NumberFlowLite.defaultProps.respectMotionPreference},trend:{type:[Boolean,String],default:()=>e.NumberFlowLite.defaultProps.trend},continuous:{type:Boolean,default:()=>e.NumberFlowLite.defaultProps.continuous},locales:{},format:{},value:{},willChange:{type:Boolean,default:!1}},emits:["animationsstart","animationsfinish"],setup(a,{expose:l,emit:r}){const i=n.ref();l({el:i});const u=r,s=n.computed(()=>new Intl.NumberFormat(a.locales,a.format)),o=n.computed(()=>e.partitionParts(a.value,s.value));return(t,m)=>(n.openBlock(),n.createElementBlock("number-flow-vue",n.mergeProps({ref_key:"el",ref:i},t.$attrs,{trend:t.trend,continuous:t.continuous,animated:t.animated,transformTiming:t.transformTiming,spinTiming:t.spinTiming,opacityTiming:t.opacityTiming,respectMotionPreference:t.respectMotionPreference,"data-will-change":t.willChange?"":void 0,innerHTML:n.unref(e.render)({formatted:o.value.formatted,willChange:t.willChange}),onAnimationsstart:m[0]||(m[0]=f=>u("animationsstart")),onAnimationsfinish:m[1]||(m[1]=f=>u("animationsfinish")),parts:o.value}),null,16,d))}});e.define("number-flow-vue",e.NumberFlowLite);function p({respectMotionPreference:a=!0}={}){const l=n.ref(e.canAnimate),r=n.ref(!1);return n.onMounted(()=>{var i;l.value=e.canAnimate,r.value=((i=e.prefersReducedMotion)==null?void 0:i.matches)??!1}),n.watchEffect(i=>{var s;if(!n.toValue(a))return;const u=({matches:o})=>{r.value=o};(s=e.prefersReducedMotion)==null||s.addEventListener("change",u),i(()=>{var o;(o=e.prefersReducedMotion)==null||o.removeEventListener("change",u)})}),n.computed(()=>l.value&&(!n.toValue(a)||!r.value))}Object.defineProperty(exports,"NumberFlowElement",{enumerable:!0,get:()=>e.NumberFlowLite});exports.default=c;exports.useCanAnimate=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=require("number-flow"),f=Symbol(),p=e.defineComponent({__name:"NumberFlowGroup",setup(l){const u=new Set;let r=!1;const a=(o,s)=>{u.add(o),e.watch(s,async()=>{r||(r=!0,u.forEach(async t=>{var m;!t.value||!t.value.created||(t.value.willUpdate(),await e.nextTick(),(m=t.value)==null||m.didUpdate())}),await e.nextTick(),r=!1)}),e.onUnmounted(()=>{u.delete(o)})};return e.provide(f,a),(o,s)=>e.renderSlot(o.$slots,"default")}}),g=["manual","trend","continuous","animated","transformTiming","spinTiming","opacityTiming","respectMotionPreference","data-will-change","innerHTML","parts"],v=e.defineComponent({inheritAttrs:!1,__name:"index",props:{transformTiming:{default:()=>n.NumberFlowLite.defaultProps.transformTiming},spinTiming:{default:()=>n.NumberFlowLite.defaultProps.spinTiming},opacityTiming:{default:()=>n.NumberFlowLite.defaultProps.opacityTiming},animated:{type:Boolean,default:()=>n.NumberFlowLite.defaultProps.animated},respectMotionPreference:{type:Boolean,default:()=>n.NumberFlowLite.defaultProps.respectMotionPreference},trend:{type:[Boolean,String],default:()=>n.NumberFlowLite.defaultProps.trend},continuous:{type:Boolean,default:()=>n.NumberFlowLite.defaultProps.continuous},locales:{},format:{},value:{},willChange:{type:Boolean,default:!1}},emits:["animationsstart","animationsfinish"],setup(l,{expose:u,emit:r}){const a=e.ref();u({el:a});const o=r,s=e.computed(()=>new Intl.NumberFormat(l.locales,l.format)),t=e.computed(()=>n.partitionParts(l.value,s.value)),m=e.inject(f,void 0);return m==null||m(a,t),(i,d)=>(e.openBlock(),e.createElementBlock("number-flow-vue",e.mergeProps({ref_key:"el",ref:a},i.$attrs,{manual:!!e.unref(m),trend:i.trend,continuous:i.continuous,animated:i.animated,transformTiming:i.transformTiming,spinTiming:i.spinTiming,opacityTiming:i.opacityTiming,respectMotionPreference:i.respectMotionPreference,"data-will-change":i.willChange?"":void 0,innerHTML:e.unref(n.render)({formatted:t.value.formatted,willChange:i.willChange}),onAnimationsstart:d[0]||(d[0]=c=>o("animationsstart")),onAnimationsfinish:d[1]||(d[1]=c=>o("animationsfinish")),parts:t.value}),null,16,g))}});n.define("number-flow-vue",n.NumberFlowLite);function w({respectMotionPreference:l=!0}={}){const u=e.ref(n.canAnimate),r=e.ref(!1);return e.onMounted(()=>{var a;u.value=n.canAnimate,r.value=((a=n.prefersReducedMotion)==null?void 0:a.matches)??!1}),e.watchEffect(a=>{var s;if(!e.toValue(l))return;const o=({matches:t})=>{r.value=t};(s=n.prefersReducedMotion)==null||s.addEventListener("change",o),a(()=>{var t;(t=n.prefersReducedMotion)==null||t.removeEventListener("change",o)})}),e.computed(()=>u.value&&(!e.toValue(l)||!r.value))}Object.defineProperty(exports,"NumberFlowElement",{enumerable:!0,get:()=>n.NumberFlowLite});exports.NumberFlowGroup=p;exports.default=v;exports.useCanAnimate=w;
package/dist/index.mjs CHANGED
@@ -1,70 +1,92 @@
1
- import { defineComponent as v, ref as f, computed as d, openBlock as T, createElementBlock as h, mergeProps as w, unref as P, onMounted as y, watchEffect as M, toValue as p } from "vue";
2
- import { NumberFlowLite as n, partitionParts as B, render as C, define as b, canAnimate as c, prefersReducedMotion as u } from "number-flow";
3
- import { NumberFlowLite as H } from "number-flow";
4
- const A = ["trend", "continuous", "animated", "transformTiming", "spinTiming", "opacityTiming", "respectMotionPreference", "data-will-change", "innerHTML", "parts"], F = /* @__PURE__ */ v({
1
+ import { defineComponent as w, provide as P, renderSlot as b, watch as M, nextTick as c, onUnmounted as B, ref as d, computed as p, inject as C, openBlock as A, createElementBlock as E, mergeProps as F, unref as g, onMounted as L, watchEffect as N, toValue as v } from "vue";
2
+ import { NumberFlowLite as r, partitionParts as $, render as k, define as G, canAnimate as h, prefersReducedMotion as f } from "number-flow";
3
+ import { NumberFlowLite as q } from "number-flow";
4
+ const T = Symbol(), W = /* @__PURE__ */ w({
5
+ __name: "NumberFlowGroup",
6
+ setup(s) {
7
+ const o = /* @__PURE__ */ new Set();
8
+ let a = !1;
9
+ return P(T, (n, l) => {
10
+ o.add(n), M(
11
+ l,
12
+ async () => {
13
+ a || (a = !0, o.forEach(async (e) => {
14
+ var u;
15
+ !e.value || !e.value.created || (e.value.willUpdate(), await c(), (u = e.value) == null || u.didUpdate());
16
+ }), await c(), a = !1);
17
+ }
18
+ // { flush: 'pre' } // default
19
+ ), B(() => {
20
+ o.delete(n);
21
+ });
22
+ }), (n, l) => b(n.$slots, "default");
23
+ }
24
+ }), S = ["manual", "trend", "continuous", "animated", "transformTiming", "spinTiming", "opacityTiming", "respectMotionPreference", "data-will-change", "innerHTML", "parts"], j = /* @__PURE__ */ w({
5
25
  inheritAttrs: !1,
6
26
  __name: "index",
7
27
  props: {
8
- transformTiming: { default: () => n.defaultProps.transformTiming },
9
- spinTiming: { default: () => n.defaultProps.spinTiming },
10
- opacityTiming: { default: () => n.defaultProps.opacityTiming },
11
- animated: { type: Boolean, default: () => n.defaultProps.animated },
12
- respectMotionPreference: { type: Boolean, default: () => n.defaultProps.respectMotionPreference },
13
- trend: { type: [Boolean, String], default: () => n.defaultProps.trend },
14
- continuous: { type: Boolean, default: () => n.defaultProps.continuous },
28
+ transformTiming: { default: () => r.defaultProps.transformTiming },
29
+ spinTiming: { default: () => r.defaultProps.spinTiming },
30
+ opacityTiming: { default: () => r.defaultProps.opacityTiming },
31
+ animated: { type: Boolean, default: () => r.defaultProps.animated },
32
+ respectMotionPreference: { type: Boolean, default: () => r.defaultProps.respectMotionPreference },
33
+ trend: { type: [Boolean, String], default: () => r.defaultProps.trend },
34
+ continuous: { type: Boolean, default: () => r.defaultProps.continuous },
15
35
  locales: {},
16
36
  format: {},
17
37
  value: {},
18
38
  willChange: { type: Boolean, default: !1 }
19
39
  },
20
40
  emits: ["animationsstart", "animationsfinish"],
21
- setup(i, { expose: s, emit: o }) {
22
- const t = f();
23
- s({ el: t });
24
- const r = o, l = d(() => new Intl.NumberFormat(i.locales, i.format)), a = d(() => B(i.value, l.value));
25
- return (e, m) => (T(), h("number-flow-vue", w({
41
+ setup(s, { expose: o, emit: a }) {
42
+ const i = d();
43
+ o({ el: i });
44
+ const n = a, l = p(() => new Intl.NumberFormat(s.locales, s.format)), e = p(() => $(s.value, l.value)), u = C(T, void 0);
45
+ return u == null || u(i, e), (t, m) => (A(), E("number-flow-vue", F({
26
46
  ref_key: "el",
27
- ref: t
28
- }, e.$attrs, {
29
- trend: e.trend,
30
- continuous: e.continuous,
31
- animated: e.animated,
32
- transformTiming: e.transformTiming,
33
- spinTiming: e.spinTiming,
34
- opacityTiming: e.opacityTiming,
35
- respectMotionPreference: e.respectMotionPreference,
36
- "data-will-change": e.willChange ? "" : void 0,
37
- innerHTML: P(C)({ formatted: a.value.formatted, willChange: e.willChange }),
38
- onAnimationsstart: m[0] || (m[0] = (g) => r("animationsstart")),
39
- onAnimationsfinish: m[1] || (m[1] = (g) => r("animationsfinish")),
40
- parts: a.value
41
- }), null, 16, A));
47
+ ref: i
48
+ }, t.$attrs, {
49
+ manual: !!g(u),
50
+ trend: t.trend,
51
+ continuous: t.continuous,
52
+ animated: t.animated,
53
+ transformTiming: t.transformTiming,
54
+ spinTiming: t.spinTiming,
55
+ opacityTiming: t.opacityTiming,
56
+ respectMotionPreference: t.respectMotionPreference,
57
+ "data-will-change": t.willChange ? "" : void 0,
58
+ innerHTML: g(k)({ formatted: e.value.formatted, willChange: t.willChange }),
59
+ onAnimationsstart: m[0] || (m[0] = (y) => n("animationsstart")),
60
+ onAnimationsfinish: m[1] || (m[1] = (y) => n("animationsfinish")),
61
+ parts: e.value
62
+ }), null, 16, S));
42
63
  }
43
64
  });
44
- b("number-flow-vue", n);
45
- function N({
46
- respectMotionPreference: i = !0
65
+ G("number-flow-vue", r);
66
+ function I({
67
+ respectMotionPreference: s = !0
47
68
  } = {}) {
48
- const s = f(c), o = f(!1);
49
- return y(() => {
50
- var t;
51
- s.value = c, o.value = ((t = u) == null ? void 0 : t.matches) ?? !1;
52
- }), M((t) => {
69
+ const o = d(h), a = d(!1);
70
+ return L(() => {
71
+ var i;
72
+ o.value = h, a.value = ((i = f) == null ? void 0 : i.matches) ?? !1;
73
+ }), N((i) => {
53
74
  var l;
54
- if (!p(i)) return;
55
- const r = ({ matches: a }) => {
56
- o.value = a;
75
+ if (!v(s)) return;
76
+ const n = ({ matches: e }) => {
77
+ a.value = e;
57
78
  };
58
- (l = u) == null || l.addEventListener("change", r), t(() => {
59
- var a;
60
- (a = u) == null || a.removeEventListener("change", r);
79
+ (l = f) == null || l.addEventListener("change", n), i(() => {
80
+ var e;
81
+ (e = f) == null || e.removeEventListener("change", n);
61
82
  });
62
- }), d(
63
- () => s.value && (!p(i) || !o.value)
83
+ }), p(
84
+ () => o.value && (!v(s) || !a.value)
64
85
  );
65
86
  }
66
87
  export {
67
- H as NumberFlowElement,
68
- F as default,
69
- N as useCanAnimate
88
+ q as NumberFlowElement,
89
+ W as NumberFlowGroup,
90
+ j as default,
91
+ I as useCanAnimate
70
92
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.2.1",
6
+ "version": "0.2.3",
7
7
  "author": {
8
8
  "name": "Maxwell Barvian",
9
9
  "email": "max@barvian.me",
@@ -43,7 +43,7 @@
43
43
  }
44
44
  },
45
45
  "dependencies": {
46
- "number-flow": "0.3.6"
46
+ "number-flow": "0.3.7"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@playwright/test": "^1.48.0",