@number-flow/svelte 0.1.2 → 0.1.4
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/NumberFlow.svelte +10 -0
- package/dist/NumberFlow.svelte.d.ts +1 -0
- package/dist/NumberFlowGroup.svelte +30 -0
- package/dist/NumberFlowGroup.svelte.d.ts +18 -0
- package/dist/group.d.ts +8 -0
- package/dist/group.js +8 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +3 -2
package/dist/NumberFlow.svelte
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<script context="module">import { NumberFlowLite, define } from "number-flow";
|
|
2
2
|
export class NumberFlowElement extends NumberFlowLite {
|
|
3
|
+
set __svelte_manual(manual) {
|
|
4
|
+
this.manual = manual;
|
|
5
|
+
}
|
|
3
6
|
set parts(parts) {
|
|
4
7
|
super.parts = parts;
|
|
5
8
|
}
|
|
@@ -20,6 +23,8 @@ define("number-flow-svelte", NumberFlowElement);
|
|
|
20
23
|
render as renderFlow,
|
|
21
24
|
partitionParts
|
|
22
25
|
} from "number-flow";
|
|
26
|
+
import { writable } from "svelte/store";
|
|
27
|
+
import { getGroupContext } from "./group.js";
|
|
23
28
|
export let locales = void 0;
|
|
24
29
|
export let format = void 0;
|
|
25
30
|
export let value;
|
|
@@ -32,8 +37,12 @@ export let respectMotionPreference = NumberFlowElement.defaultProps.respectMotio
|
|
|
32
37
|
export let trend = NumberFlowElement.defaultProps.trend;
|
|
33
38
|
export let continuous = NumberFlowElement.defaultProps.continuous;
|
|
34
39
|
export let el = void 0;
|
|
40
|
+
const elStore = writable(el);
|
|
41
|
+
$: $elStore = el;
|
|
35
42
|
$: formatter = new Intl.NumberFormat(locales, format);
|
|
36
43
|
$: parts = partitionParts(value, formatter);
|
|
44
|
+
const group = getGroupContext();
|
|
45
|
+
group?.register?.(elStore);
|
|
37
46
|
</script>
|
|
38
47
|
|
|
39
48
|
<number-flow-svelte
|
|
@@ -42,6 +51,7 @@ $: parts = partitionParts(value, formatter);
|
|
|
42
51
|
data-will-change={willChange ? '' : undefined}
|
|
43
52
|
on:animationsstart
|
|
44
53
|
on:animationsfinish
|
|
54
|
+
__svelte_manual={Boolean(group)}
|
|
45
55
|
__svelte_transformTiming={transformTiming}
|
|
46
56
|
__svelte_spinTiming={spinTiming}
|
|
47
57
|
__svelte_opacityTiming={opacityTiming}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import { NumberFlowLite, type PartitionedParts } from 'number-flow';
|
|
3
3
|
export declare class NumberFlowElement extends NumberFlowLite {
|
|
4
|
+
set __svelte_manual(manual: boolean);
|
|
4
5
|
set parts(parts: PartitionedParts | undefined);
|
|
5
6
|
}
|
|
6
7
|
import { type Value, type Format, type Props as NumberFlowProps } from 'number-flow';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script>import { get } from "svelte/store";
|
|
2
|
+
import { beforeUpdate, onDestroy, tick } from "svelte";
|
|
3
|
+
import { setGroupContext } from "./group.js";
|
|
4
|
+
const flows = /* @__PURE__ */ new Set();
|
|
5
|
+
let updating = false;
|
|
6
|
+
const registerWithGroup = (el) => {
|
|
7
|
+
flows.add(el);
|
|
8
|
+
beforeUpdate(async () => {
|
|
9
|
+
if (updating) return;
|
|
10
|
+
updating = true;
|
|
11
|
+
flows.forEach(async (flow) => {
|
|
12
|
+
{
|
|
13
|
+
const f = get(flow);
|
|
14
|
+
if (!f || !f.created) return;
|
|
15
|
+
f.willUpdate();
|
|
16
|
+
}
|
|
17
|
+
await tick();
|
|
18
|
+
get(flow)?.didUpdate();
|
|
19
|
+
});
|
|
20
|
+
await tick();
|
|
21
|
+
updating = false;
|
|
22
|
+
});
|
|
23
|
+
onDestroy(() => {
|
|
24
|
+
flows.delete(el);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
setGroupContext({ register: registerWithGroup });
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<slot />
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: Record<string, never>;
|
|
4
|
+
events: {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
};
|
|
7
|
+
slots: {
|
|
8
|
+
default: {};
|
|
9
|
+
};
|
|
10
|
+
exports?: {} | undefined;
|
|
11
|
+
bindings?: string | undefined;
|
|
12
|
+
};
|
|
13
|
+
export type NumberFlowGroupProps = typeof __propDef.props;
|
|
14
|
+
export type NumberFlowGroupEvents = typeof __propDef.events;
|
|
15
|
+
export type NumberFlowGroupSlots = typeof __propDef.slots;
|
|
16
|
+
export default class NumberFlowGroup extends SvelteComponent<NumberFlowGroupProps, NumberFlowGroupEvents, NumberFlowGroupSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
package/dist/group.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NumberFlowLite } from 'number-flow';
|
|
2
|
+
import type { Readable } from 'svelte/store';
|
|
3
|
+
export type RegisterWithGroup = (el: Readable<NumberFlowLite | undefined>) => void;
|
|
4
|
+
export type GroupContext = {
|
|
5
|
+
register: RegisterWithGroup;
|
|
6
|
+
};
|
|
7
|
+
export declare function setGroupContext(ctx: GroupContext): void;
|
|
8
|
+
export declare function getGroupContext(): GroupContext | undefined;
|
package/dist/group.js
ADDED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { Value, Format, Trend } from 'number-flow';
|
|
2
|
+
export { default as NumberFlowGroup } from './NumberFlowGroup.svelte';
|
|
2
3
|
export { default, NumberFlowElement } from './NumberFlow.svelte';
|
|
3
4
|
export declare const getCanAnimate: ({ respectMotionPreference }?: {
|
|
4
5
|
respectMotionPreference?: boolean | undefined;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { canAnimate as _canAnimate, prefersReducedMotion as _prefersReducedMotion } from 'number-flow';
|
|
2
2
|
import { onMount } from 'svelte';
|
|
3
3
|
import { derived, readable } from 'svelte/store';
|
|
4
|
+
export { default as NumberFlowGroup } from './NumberFlowGroup.svelte';
|
|
4
5
|
export { default, NumberFlowElement } from './NumberFlow.svelte';
|
|
5
6
|
const canAnimate = readable(_canAnimate, (set) => {
|
|
6
7
|
onMount(() => {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.4",
|
|
7
7
|
"description": "A component to transition and format numbers.",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"homepage": "https://number-flow.barvian.me/svelte",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"number-flow": "0.3.
|
|
44
|
+
"number-flow": "0.3.7"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"svelte": "^4 || ^5"
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"dev": "vite dev",
|
|
65
|
+
"build:watch": "svelte-package --watch",
|
|
65
66
|
"build": "svelte-kit sync && svelte-package && publint",
|
|
66
67
|
"build:site": "vite build && pnpm build",
|
|
67
68
|
"preview": "vite preview",
|