dotmote 0.1.0 → 0.2.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/README.md CHANGED
@@ -1,17 +1,20 @@
1
1
  # dotmote
2
2
 
3
- <p>
3
+ <img src="docs/example.png" alt="dotmote — LED dot-matrix glow component" width="100%" />
4
+
5
+ <p align="center">
4
6
  <a href="https://www.npmjs.com/package/dotmote"><img alt="npm" src="https://img.shields.io/npm/v/dotmote" /></a>
5
7
  <img alt="license" src="https://img.shields.io/npm/l/dotmote" />
6
8
  <img alt="bundle size" src="https://img.shields.io/bundlephobia/minzip/dotmote" />
9
+ <a href="https://dotmote.imryan.dev"><img alt="Live demo" src="https://img.shields.io/badge/Live%20demo-dotmote.imryan.dev-2ea44f" /></a>
7
10
  <a href="https://stackblitz.com/github/rryanchiu/dotmote"><img alt="Open in StackBlitz" src="https://img.shields.io/badge/Open%20in-StackBlitz-1269D3" /></a>
8
11
  </p>
9
12
 
10
- **[English](README.md)** · [简体中文](README.zh-CN.md)
13
+ <p align="center">**[English](README.md)** · [简体中文](README.zh-CN.md)</p>
11
14
 
12
- > **Try it live** [Open in StackBlitz](https://stackblitz.com/github/rryanchiu/dotmote) to run the playground in your browser. You can also import this GitHub repo into CodeSandbox.
15
+ > **Live demo** — [dotmote.imryan.dev](https://dotmote.imryan.dev) · **Try it live**: [Open in StackBlitz](https://stackblitz.com/github/rryanchiu/dotmote) to run the playground in your browser. You can also import this GitHub repo into CodeSandbox.
13
16
 
14
- A dotted-matrix glow background for React. Scatter a few letters, emoji, or shapes over an endless grid of dots — they drift, bump into each other, and glow through the lattice like a little light show.
17
+ A framework-agnostic dotted-matrix glow background for React and Vue. Scatter a few letters, emoji, or shapes over an endless grid of dots — they drift, bump into each other, and glow through the lattice like a little light show.
15
18
 
16
19
  - **React 18+** · TypeScript · Canvas 2D · **SSR-safe**
17
20
  - **Zero runtime deps** — just `react` (peer)
@@ -45,6 +48,25 @@ export function Page() {
45
48
 
46
49
  The wrapper `<div>` is absolutely positioned behind everything — put your content in a sibling with a higher `z-index`.
47
50
 
51
+ ## Vue
52
+
53
+ The Canvas core is framework-agnostic — React and Vue are both thin wrappers over
54
+ the same `createDotMatrixCore`. For Vue 3 use the `dotmote/vue` entry:
55
+
56
+ ```vue
57
+ <script setup>
58
+ import { Dotmote } from 'dotmote/vue';
59
+ </script>
60
+
61
+ <template>
62
+ <div style="position: relative; min-height: 40vh">
63
+ <Dotmote values="👋dotmote!" theme="auto" motion="ticker-right" />
64
+ </div>
65
+ </template>
66
+ ```
67
+
68
+ `class` / `style` fall through to the wrapper `<div>`.
69
+
48
70
  ## Props
49
71
 
50
72
  | Prop | Type | Default | Description |
package/README.zh-CN.md CHANGED
@@ -1,14 +1,20 @@
1
1
  # dotmote
2
2
 
3
- <p>
3
+ <img src="docs/example.png" alt="dotmote — LED 点阵流光组件" width="100%" />
4
+
5
+ <p align="center">
4
6
  <a href="https://www.npmjs.com/package/dotmote"><img alt="npm" src="https://img.shields.io/npm/v/dotmote" /></a>
5
7
  <img alt="license" src="https://img.shields.io/npm/l/dotmote" />
6
8
  <img alt="bundle size" src="https://img.shields.io/bundlephobia/minzip/dotmote" />
9
+ <a href="https://dotmote.imryan.dev"><img alt="在线演示" src="https://img.shields.io/badge/Live%20demo-dotmote.imryan.dev-2ea44f" /></a>
10
+ <a href="https://stackblitz.com/github/rryanchiu/dotmote"><img alt="Open in StackBlitz" src="https://img.shields.io/badge/Open%20in-StackBlitz-1269D3" /></a>
7
11
  </p>
8
12
 
9
- [English](README.md) · **简体中文**
13
+ <p align="center">[English](README.md) · **简体中文**</p>
14
+
15
+ > **在线演示** — [dotmote.imryan.dev](https://dotmote.imryan.dev)。
10
16
 
11
- React 打造的点阵发光背景。把几个字母、emoji 或形状撒在一片无边的点阵上——它们四处漂移、彼此碰撞,然后从网格里透出光来,像一场小小的灯展。
17
+ 框架无关的点阵发光背景,支持 React 与 Vue。把几个字母、emoji 或形状撒在一片无边的点阵上——它们四处漂移、彼此碰撞,然后从网格里透出光来,像一场小小的灯展。
12
18
 
13
19
  - **React 18+** · TypeScript · Canvas 2D · **SSR 安全**
14
20
  - **零运行时依赖** —— 只需 `react`(peer)
@@ -42,6 +48,24 @@ export function Page() {
42
48
 
43
49
  外层包裹的 `<div>` 是绝对定位、垫在所有内容后面——把你的内容放进一个 `z-index` 更高的兄弟节点即可。
44
50
 
51
+ ## Vue
52
+
53
+ Canvas 核心与框架无关——React 与 Vue 都只是同一套 `createDotMatrixCore` 的薄封装。Vue 3 用 `dotmote/vue` 入口:
54
+
55
+ ```vue
56
+ <script setup>
57
+ import { Dotmote } from 'dotmote/vue';
58
+ </script>
59
+
60
+ <template>
61
+ <div style="position: relative; min-height: 40vh">
62
+ <Dotmote values="👋dotmote!" theme="auto" motion="ticker-right" />
63
+ </div>
64
+ </template>
65
+ ```
66
+
67
+ `class` / `style` 会透传到外层 `<div>`。
68
+
45
69
  ## 属性
46
70
 
47
71
  | Prop | Type | Default | Description |
@@ -1 +1 @@
1
- {"version":3,"file":"Dotmote.d.ts","sourceRoot":"","sources":["../src/Dotmote.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,YAAY,CAAC;AAqEpB;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAuFxD;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Dotmote.d.ts","sourceRoot":"","sources":["../src/Dotmote.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoB/C;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAuFxD;AAED,eAAe,OAAO,CAAC"}
package/dist/Dotmote.js CHANGED
@@ -1,52 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState } from 'react';
3
- import { resolveTheme } from './themes.js';
4
- import { normalizeItems } from './core/physics.js';
5
- import { createDotMatrixCore, DEFAULT_BREAKPOINTS, } from './core/createDotMatrixCore.js';
6
- const DEFAULT_ITEMS_INPUT = ['A', 'B', 'C', 'D', 'E'];
7
- const DEFAULT_FONT_FAMILY = '"Trebuchet MS", ui-rounded, sans-serif';
8
- const DEFAULT_DOT = 'rgba(128, 128, 128, 0.5)';
9
- const DEFAULT_GLOW = [
10
- 'rgba(120, 120, 120, 0.9)',
11
- 'rgba(170, 170, 170, 0.9)',
12
- 'rgba(220, 220, 220, 0.9)',
13
- ];
14
- function resolveItemBodies(props) {
15
- if (props.values !== undefined) {
16
- const out = [];
17
- for (const ch of Array.from(props.values)) {
18
- if (ch.trim().length === 0)
19
- continue;
20
- out.push({ kind: 'text', value: ch });
21
- }
22
- return out;
23
- }
24
- return normalizeItems(props.items ?? DEFAULT_ITEMS_INPUT);
25
- }
26
- function buildOptions(props, dark = false) {
27
- const theme = resolveTheme(props.theme, dark);
28
- const glow = theme.activeDotColor
29
- ? [theme.activeDotColor, theme.activeDotColor, theme.activeDotColor]
30
- : theme.glow ?? DEFAULT_GLOW;
31
- return {
32
- items: resolveItemBodies(props),
33
- dot: theme.dotColor ?? DEFAULT_DOT,
34
- glow,
35
- background: theme.background,
36
- dotRadius: props.dotRadius,
37
- glowStrength: props.glowStrength ?? props.glowAlpha ?? 1,
38
- speed: props.speed ?? 1,
39
- motion: props.motion ?? 'drift',
40
- fontFamily: props.fontFamily ?? DEFAULT_FONT_FAMILY,
41
- fontSize: props.fontSize,
42
- fontSizeOverride: props.fontSizeOverride,
43
- fontSizeMin: props.fontSizeMin ?? 207,
44
- fontSizeMax: props.fontSizeMax ?? 270,
45
- breakpoints: { ...DEFAULT_BREAKPOINTS, ...(props.breakpoints ?? {}) },
46
- spacingScale: props.spacingScale ?? 1,
47
- introDurationMs: props.introDurationMs ?? 520,
48
- };
49
- }
3
+ import { buildOptions } from './core/options.js';
4
+ import { createDotMatrixCore, } from './core/createDotMatrixCore.js';
50
5
  const containerBase = {
51
6
  position: 'absolute',
52
7
  inset: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Dotmote.js","sourceRoot":"","sources":["../src/Dotmote.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dotmote.js","sourceRoot":"","sources":["../src/Dotmote.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createDotMatrixCore.d.ts","sourceRoot":"","sources":["../../src/core/createDotMatrixCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,WAAW,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAU9E,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,6CAA6C;AAC7C,eAAO,MAAM,aAAa,EAAE,WAAW,EAMtC,CAAC;AAwBF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACxC,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,2GAA2G;IAC3G,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,0FAA0F;IAC1F,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;CACjB;AAiHD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,EACzB,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,EAC9B,cAAc,CAAC,EAAE,WAAW,EAC5B,MAAM,GAAE,mBAAwB,GAC/B,mBAAmB,CAibrB"}
1
+ {"version":3,"file":"createDotMatrixCore.d.ts","sourceRoot":"","sources":["../../src/core/createDotMatrixCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,WAAW,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAU9E,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,6CAA6C;AAC7C,eAAO,MAAM,aAAa,EAAE,WAAW,EAMtC,CAAC;AAwBF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACxC,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,2GAA2G;IAC3G,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,0FAA0F;IAC1F,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;CACjB;AAiHD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,EACzB,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,EAC9B,cAAc,CAAC,EAAE,WAAW,EAC5B,MAAM,GAAE,mBAAwB,GAC/B,mBAAmB,CAobrB"}
@@ -183,8 +183,8 @@ export function createDotMatrixCore(canvas, container, initialOptions, config =
183
183
  }
184
184
  function computeGeometry() {
185
185
  dpr = computeDpr();
186
- const scale = options.spacingScale || 1;
187
- spacing = resolveSpacing(options, cssWidth) * scale;
186
+ const scale = options.spacingScale ?? 1;
187
+ spacing = Math.max(1, resolveSpacing(options, cssWidth) * scale);
188
188
  fontSize = resolveFontSize(options, cssWidth);
189
189
  dotRadius = options.dotRadius ?? (spacing <= 9 ? 0.82 : 1);
190
190
  edgePadding = spacing * 1.25;
@@ -248,7 +248,10 @@ export function createDotMatrixCore(canvas, container, initialOptions, config =
248
248
  const gap = tickerGapPx;
249
249
  // Measure every item up front so a row/ticker can be laid out centered.
250
250
  const metas = items.map((item, i) => {
251
- const fs = resolveFontSize(opts, w);
251
+ const fsRaw = resolveFontSize(opts, w);
252
+ // In a row/ticker, cap the glyph size to ~90% of the available height so
253
+ // the text stays visible (not clipped) when the container is short.
254
+ const fs = row ? Math.min(fsRaw, h * 0.9) : fsRaw;
252
255
  const size = measureItemSize(lightCtx, item, fs, opts.fontFamily);
253
256
  return { item, i, fs, size };
254
257
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createDotMatrixCore.js","sourceRoot":"","sources":["../../src/core/createDotMatrixCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createDotMatrixCore.js","sourceRoot":"","sources":["../../src/core/createDotMatrixCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ContentItem, CoreOptions, DotmoteProps } from '../types.js';
2
+ /**
3
+ * Turn `values` (each character is a body) or `items` into the concrete list of
4
+ * drifting bodies. Used by the React and Vue wrappers alike.
5
+ */
6
+ export declare function resolveItemBodies(props: DotmoteProps): ContentItem[];
7
+ /**
8
+ * Framework-agnostic: turn any Dotmote-props-shaped source (React or Vue) into
9
+ * the resolved options the canvas core understands. `dark` is the OS color
10
+ * scheme and is only used when `theme` resolves to `auto`.
11
+ */
12
+ export declare function buildOptions(props: DotmoteProps, dark?: boolean): CoreOptions;
13
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/core/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAerB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,EAAE,CAUpE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,UAAQ,GAAG,WAAW,CAuB3E"}
@@ -0,0 +1,57 @@
1
+ import { resolveTheme } from '../themes.js';
2
+ import { normalizeItems } from './physics.js';
3
+ import { DEFAULT_BREAKPOINTS } from './createDotMatrixCore.js';
4
+ const DEFAULT_ITEMS_INPUT = ['A', 'B', 'C', 'D', 'E'];
5
+ const DEFAULT_FONT_FAMILY = '"Trebuchet MS", ui-rounded, sans-serif';
6
+ const DEFAULT_DOT = 'rgba(128, 128, 128, 0.5)';
7
+ const DEFAULT_GLOW = [
8
+ 'rgba(120, 120, 120, 0.9)',
9
+ 'rgba(170, 170, 170, 0.9)',
10
+ 'rgba(220, 220, 220, 0.9)',
11
+ ];
12
+ /**
13
+ * Turn `values` (each character is a body) or `items` into the concrete list of
14
+ * drifting bodies. Used by the React and Vue wrappers alike.
15
+ */
16
+ export function resolveItemBodies(props) {
17
+ if (props.values !== undefined) {
18
+ const out = [];
19
+ for (const ch of Array.from(props.values)) {
20
+ if (ch.trim().length === 0)
21
+ continue;
22
+ out.push({ kind: 'text', value: ch });
23
+ }
24
+ return out;
25
+ }
26
+ return normalizeItems(props.items ?? DEFAULT_ITEMS_INPUT);
27
+ }
28
+ /**
29
+ * Framework-agnostic: turn any Dotmote-props-shaped source (React or Vue) into
30
+ * the resolved options the canvas core understands. `dark` is the OS color
31
+ * scheme and is only used when `theme` resolves to `auto`.
32
+ */
33
+ export function buildOptions(props, dark = false) {
34
+ const theme = resolveTheme(props.theme, dark);
35
+ const glow = theme.activeDotColor
36
+ ? [theme.activeDotColor, theme.activeDotColor, theme.activeDotColor]
37
+ : theme.glow ?? DEFAULT_GLOW;
38
+ return {
39
+ items: resolveItemBodies(props),
40
+ dot: theme.dotColor ?? DEFAULT_DOT,
41
+ glow,
42
+ background: theme.background,
43
+ dotRadius: props.dotRadius,
44
+ glowStrength: props.glowStrength ?? props.glowAlpha ?? 1,
45
+ speed: props.speed ?? 1,
46
+ motion: props.motion ?? 'drift',
47
+ fontFamily: props.fontFamily ?? DEFAULT_FONT_FAMILY,
48
+ fontSize: props.fontSize,
49
+ fontSizeOverride: props.fontSizeOverride,
50
+ fontSizeMin: props.fontSizeMin ?? 207,
51
+ fontSizeMax: props.fontSizeMax ?? 270,
52
+ breakpoints: { ...DEFAULT_BREAKPOINTS, ...(props.breakpoints ?? {}) },
53
+ spacingScale: props.spacingScale ?? 1,
54
+ introDurationMs: props.introDurationMs ?? 520,
55
+ };
56
+ }
57
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/core/options.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,mBAAmB,GAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtE,MAAM,mBAAmB,GAAG,wCAAwC,CAAC;AACrE,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,YAAY,GAA6B;IAC7C,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACrC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,IAAI,GAAG,KAAK;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAA6B,KAAK,CAAC,cAAc;QACzD,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC;QACpE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;IAC/B,OAAO;QACL,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAC/B,GAAG,EAAE,KAAK,CAAC,QAAQ,IAAI,WAAW;QAClC,IAAI;QACJ,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC;QACxD,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO;QAC/B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,mBAAmB;QACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;QACrC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;QACrC,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE;QACrE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;QACrC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,GAAG;KAC9C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EAAE,WAAW,CAsC9E,CAAC;AAMF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,UAAQ,GAAG,WAAW,CAoBzE"}
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EAAE,WAAW,CAsC9E,CAAC;AAMF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,UAAQ,GAAG,WAAW,CAqBzE"}
package/dist/themes.js CHANGED
@@ -66,12 +66,12 @@ export function resolveTheme(theme, dark = false) {
66
66
  return themes[dark ? 'dark' : 'light'];
67
67
  }
68
68
  // Inline config — clone so callers can't accidentally mutate our preset.
69
- const glow = Array.isArray(theme.glow) && theme.glow.length === 3
70
- ? theme.glow
71
- : themes[dark ? 'dark' : 'light'].glow;
69
+ const glow = (Array.isArray(theme.glow) && theme.glow.length >= 3
70
+ ? [theme.glow[0], theme.glow[1], theme.glow[2]]
71
+ : themes[dark ? 'dark' : 'light'].glow);
72
72
  return {
73
73
  dotColor: theme.dotColor ?? themes.mono.dotColor,
74
- glow: [glow[0], glow[1], glow[2]],
74
+ glow,
75
75
  ...(theme.activeDotColor ? { activeDotColor: theme.activeDotColor } : {}),
76
76
  ...(theme.background ? { background: theme.background } : {}),
77
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgE;IACjF,4EAA4E;IAC5E,KAAK,EAAE;QACL,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE;YACJ,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;SACrB;KACF;IACD,kDAAkD;IAClD,IAAI,EAAE;QACJ,QAAQ,EAAE,2BAA2B;QACrC,IAAI,EAAE;YACJ,2BAA2B;YAC3B,2BAA2B;YAC3B,2BAA2B;SAC5B;KACF;IACD,qEAAqE;IACrE,IAAI,EAAE;QACJ,QAAQ,EAAE,0BAA0B;QACpC,IAAI,EAAE;YACJ,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;SAC3B;KACF;IACD,yDAAyD;IACzD,QAAQ,EAAE;QACR,QAAQ,EAAE,0BAA0B;QACpC,IAAI,EAAE;YACJ,yBAAyB;YACzB,yBAAyB;YACzB,yBAAyB;SAC1B;KACF;CACF,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAE/D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB,EAAE,IAAI,GAAG,KAAK;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,KAA4B,CAAC,CAAC;QACvE,oEAAoE;QACpE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,yEAAyE;IACzE,MAAM,IAAI,GACR,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAClD,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAC3C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ;QAChD,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAgE;IACjF,4EAA4E;IAC5E,KAAK,EAAE;QACL,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE;YACJ,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;SACrB;KACF;IACD,kDAAkD;IAClD,IAAI,EAAE;QACJ,QAAQ,EAAE,2BAA2B;QACrC,IAAI,EAAE;YACJ,2BAA2B;YAC3B,2BAA2B;YAC3B,2BAA2B;SAC5B;KACF;IACD,qEAAqE;IACrE,IAAI,EAAE;QACJ,QAAQ,EAAE,0BAA0B;QACpC,IAAI,EAAE;YACJ,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;SAC3B;KACF;IACD,yDAAyD;IACzD,QAAQ,EAAE;QACR,QAAQ,EAAE,0BAA0B;QACpC,IAAI,EAAE;YACJ,yBAAyB;YACzB,yBAAyB;YACzB,yBAAyB;SAC1B;KACF;CACF,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAE/D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB,EAAE,IAAI,GAAG,KAAK;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,KAA4B,CAAC,CAAC;QACvE,oEAAoE;QACpE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,yEAAyE;IACzE,MAAM,IAAI,GAAG,CACX,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;QACjD,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CACb,CAAC;IAC9B,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ;QAChD,IAAI;QACJ,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -38,8 +38,11 @@ export interface ThemeConfig {
38
38
  dotColor?: string;
39
39
  /** Color of the *illuminated* (lit) dots. When set the glow is a flat color (all three gradient stops). Omit to use `glow`. */
40
40
  activeDotColor?: string;
41
- /** Three-stop linear gradient for the illuminated glow: [start, mid, end]. */
42
- glow: [string, string, string];
41
+ /**
42
+ * Three-stop linear gradient for the illuminated glow: [start, mid, end].
43
+ * Optional — omit it to use a preset's gradient, or set `activeDotColor` for a flat color.
44
+ */
45
+ glow?: [string, string, string];
43
46
  /** Optional background color applied to the element (behind the dots). */
44
47
  background?: string;
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import type { PropType } from 'vue';
2
+ import type { ContentInput, MotionMode, ThemeLike } from '../types.js';
3
+ /**
4
+ * Vue 3 wrappers over the same framework-agnostic Canvas core as the React
5
+ * component. Import via `import { Dotmote } from 'dotmote/vue'`.
6
+ */
7
+ export declare const Dotmote: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
+ values: {
9
+ type: StringConstructor;
10
+ default: undefined;
11
+ };
12
+ items: {
13
+ type: PropType<ContentInput[]>;
14
+ default: undefined;
15
+ };
16
+ theme: {
17
+ type: PropType<ThemeLike>;
18
+ default: undefined;
19
+ };
20
+ dotRadius: {
21
+ type: NumberConstructor;
22
+ default: undefined;
23
+ };
24
+ glowStrength: {
25
+ type: NumberConstructor;
26
+ default: undefined;
27
+ };
28
+ glowAlpha: {
29
+ type: NumberConstructor;
30
+ default: undefined;
31
+ };
32
+ speed: {
33
+ type: NumberConstructor;
34
+ default: undefined;
35
+ };
36
+ motion: {
37
+ type: PropType<MotionMode>;
38
+ default: undefined;
39
+ };
40
+ fontFamily: {
41
+ type: StringConstructor;
42
+ default: undefined;
43
+ };
44
+ fontSize: {
45
+ type: NumberConstructor;
46
+ default: undefined;
47
+ };
48
+ fontSizeOverride: {
49
+ type: PropType<number | ((w: number) => number)>;
50
+ default: undefined;
51
+ };
52
+ fontSizeMin: {
53
+ type: NumberConstructor;
54
+ default: undefined;
55
+ };
56
+ fontSizeMax: {
57
+ type: NumberConstructor;
58
+ default: undefined;
59
+ };
60
+ breakpoints: {
61
+ type: ObjectConstructor;
62
+ default: undefined;
63
+ };
64
+ spacingScale: {
65
+ type: NumberConstructor;
66
+ default: undefined;
67
+ };
68
+ introDurationMs: {
69
+ type: NumberConstructor;
70
+ default: undefined;
71
+ };
72
+ ariaHidden: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
76
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
77
+ [key: string]: any;
78
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
79
+ values: {
80
+ type: StringConstructor;
81
+ default: undefined;
82
+ };
83
+ items: {
84
+ type: PropType<ContentInput[]>;
85
+ default: undefined;
86
+ };
87
+ theme: {
88
+ type: PropType<ThemeLike>;
89
+ default: undefined;
90
+ };
91
+ dotRadius: {
92
+ type: NumberConstructor;
93
+ default: undefined;
94
+ };
95
+ glowStrength: {
96
+ type: NumberConstructor;
97
+ default: undefined;
98
+ };
99
+ glowAlpha: {
100
+ type: NumberConstructor;
101
+ default: undefined;
102
+ };
103
+ speed: {
104
+ type: NumberConstructor;
105
+ default: undefined;
106
+ };
107
+ motion: {
108
+ type: PropType<MotionMode>;
109
+ default: undefined;
110
+ };
111
+ fontFamily: {
112
+ type: StringConstructor;
113
+ default: undefined;
114
+ };
115
+ fontSize: {
116
+ type: NumberConstructor;
117
+ default: undefined;
118
+ };
119
+ fontSizeOverride: {
120
+ type: PropType<number | ((w: number) => number)>;
121
+ default: undefined;
122
+ };
123
+ fontSizeMin: {
124
+ type: NumberConstructor;
125
+ default: undefined;
126
+ };
127
+ fontSizeMax: {
128
+ type: NumberConstructor;
129
+ default: undefined;
130
+ };
131
+ breakpoints: {
132
+ type: ObjectConstructor;
133
+ default: undefined;
134
+ };
135
+ spacingScale: {
136
+ type: NumberConstructor;
137
+ default: undefined;
138
+ };
139
+ introDurationMs: {
140
+ type: NumberConstructor;
141
+ default: undefined;
142
+ };
143
+ ariaHidden: {
144
+ type: BooleanConstructor;
145
+ default: boolean;
146
+ };
147
+ }>> & Readonly<{}>, {
148
+ fontSize: number;
149
+ fontSizeOverride: number | ((w: number) => number);
150
+ fontSizeMin: number;
151
+ fontSizeMax: number;
152
+ breakpoints: Record<string, any>;
153
+ ariaHidden: boolean;
154
+ values: string;
155
+ items: ContentInput[];
156
+ theme: ThemeLike;
157
+ dotRadius: number;
158
+ glowStrength: number;
159
+ glowAlpha: number;
160
+ speed: number;
161
+ motion: MotionMode;
162
+ fontFamily: string;
163
+ spacingScale: number;
164
+ introDurationMs: number;
165
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
166
+ export default Dotmote;
167
+ //# sourceMappingURL=Dotmote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dotmote.d.ts","sourceRoot":"","sources":["../../src/vue/Dotmote.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,KAAK,EACV,YAAY,EAEZ,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AAYrB;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;cAMQ,QAAQ,CAAC,YAAY,EAAE,CAAC;;;;cACb,QAAQ,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;cAK5B,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;;;;cAIhB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAVhD,QAAQ,CAAC,YAAY,EAAE,CAAC;;;;cACb,QAAQ,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;cAK5B,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;;;;cAIhB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAnB,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;4EAsExE,CAAC;AAEH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { defineComponent, h, onBeforeUnmount, onMounted, watch } from 'vue';
2
+ import { createDotMatrixCore } from '../core/index.js';
3
+ import { buildOptions } from '../core/options.js';
4
+ const containerBase = {
5
+ position: 'absolute',
6
+ inset: '0',
7
+ overflow: 'hidden',
8
+ pointerEvents: 'none',
9
+ };
10
+ const canvasStyle = { width: '100%', height: '100%', display: 'block' };
11
+ /**
12
+ * Vue 3 wrappers over the same framework-agnostic Canvas core as the React
13
+ * component. Import via `import { Dotmote } from 'dotmote/vue'`.
14
+ */
15
+ export const Dotmote = defineComponent({
16
+ name: 'Dotmote',
17
+ // Let `class` / `style` (and other attributes) fall through to the root div.
18
+ inheritAttrs: false,
19
+ props: {
20
+ values: { type: String, default: undefined },
21
+ items: { type: Array, default: undefined },
22
+ theme: { type: [String, Object], default: undefined },
23
+ dotRadius: { type: Number, default: undefined },
24
+ glowStrength: { type: Number, default: undefined },
25
+ glowAlpha: { type: Number, default: undefined },
26
+ speed: { type: Number, default: undefined },
27
+ motion: { type: String, default: undefined },
28
+ fontFamily: { type: String, default: undefined },
29
+ fontSize: { type: Number, default: undefined },
30
+ fontSizeOverride: {
31
+ type: [Number, Function],
32
+ default: undefined,
33
+ },
34
+ fontSizeMin: { type: Number, default: undefined },
35
+ fontSizeMax: { type: Number, default: undefined },
36
+ breakpoints: { type: Object, default: undefined },
37
+ spacingScale: { type: Number, default: undefined },
38
+ introDurationMs: { type: Number, default: undefined },
39
+ ariaHidden: { type: Boolean, default: true },
40
+ },
41
+ setup(props, { attrs }) {
42
+ let containerEl = null;
43
+ let canvasEl = null;
44
+ let core = null;
45
+ let mq = null;
46
+ let dark = false;
47
+ const resolve = () => buildOptions(props, dark);
48
+ const onScheme = () => {
49
+ dark = mq.matches;
50
+ core?.configure(resolve());
51
+ };
52
+ onMounted(() => {
53
+ if (!canvasEl || !containerEl)
54
+ return;
55
+ if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {
56
+ mq = window.matchMedia('(prefers-color-scheme: dark)');
57
+ dark = mq.matches;
58
+ mq.addEventListener('change', onScheme);
59
+ }
60
+ core = createDotMatrixCore(canvasEl, containerEl, resolve());
61
+ core.start();
62
+ });
63
+ watch(() => props, () => core?.configure(resolve()), { deep: true });
64
+ onBeforeUnmount(() => {
65
+ core?.destroy();
66
+ core = null;
67
+ if (mq) {
68
+ mq.removeEventListener('change', onScheme);
69
+ mq = null;
70
+ }
71
+ });
72
+ return () => h('div', {
73
+ ...attrs,
74
+ ref: (el) => {
75
+ containerEl = el;
76
+ },
77
+ style: [containerBase, attrs.style ?? null],
78
+ 'aria-hidden': props.ariaHidden,
79
+ }, [
80
+ h('canvas', {
81
+ ref: (el) => {
82
+ canvasEl = el;
83
+ },
84
+ style: canvasStyle,
85
+ }),
86
+ ]);
87
+ },
88
+ });
89
+ export default Dotmote;
90
+ //# sourceMappingURL=Dotmote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dotmote.js","sourceRoot":"","sources":["../../src/vue/Dotmote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Dotmote, default } from './Dotmote.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Dotmote, default } from './Dotmote.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dotmote",
3
- "version": "0.1.0",
4
- "description": "Brand-agnostic dotted-matrix glowing background component (React + TypeScript + Canvas). Zero runtime deps besides react.",
3
+ "version": "0.2.0",
4
+ "description": "Brand-agnostic dotted-matrix glow background. Framework-agnostic Canvas core with thin React and Vue wrappers.",
5
5
  "keywords": [
6
6
  "react",
7
7
  "canvas",
@@ -26,6 +26,14 @@
26
26
  "./themes": {
27
27
  "types": "./dist/themes.d.ts",
28
28
  "import": "./dist/themes.js"
29
+ },
30
+ "./core": {
31
+ "types": "./dist/core/index.d.ts",
32
+ "import": "./dist/core/index.js"
33
+ },
34
+ "./vue": {
35
+ "types": "./dist/vue/index.d.ts",
36
+ "import": "./dist/vue/index.js"
29
37
  }
30
38
  },
31
39
  "files": [
@@ -45,7 +53,8 @@
45
53
  "clean": "rm -rf dist"
46
54
  },
47
55
  "peerDependencies": {
48
- "react": ">=18"
56
+ "react": ">=18",
57
+ "vue": "^3.3"
49
58
  },
50
59
  "devDependencies": {
51
60
  "@types/react": "^18.3.3",
@@ -59,7 +68,8 @@
59
68
  "react-dom": "^18.3.1",
60
69
  "typescript": "^5.5.3",
61
70
  "vite": "^5.4.0",
62
- "vitest": "^2.0.3"
71
+ "vitest": "^2.0.3",
72
+ "vue": "^3.4.2"
63
73
  },
64
74
  "engines": {
65
75
  "node": ">=18"