@still-forest/canopy 0.28.2 → 0.29.1

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
@@ -41,3 +41,54 @@ Example `index.css`:
41
41
  /* your usual CSS definitions */
42
42
  }
43
43
  ```
44
+
45
+ ## Testing locally
46
+
47
+ ### Using pnpm link
48
+
49
+ 1. In this package, run build in watch mode:
50
+
51
+ ```bash
52
+ pnpm build --watch
53
+ ```
54
+
55
+ Then expose it locally for linking:
56
+
57
+ ```bash
58
+ pnpm link
59
+ ```
60
+
61
+ 2. In the consuming package, link package.json to the locally built version:
62
+
63
+ ```bash
64
+ pnpm link @still-forest/canopy
65
+ ```
66
+
67
+ 3. When done, cleanup:
68
+
69
+ ```bash
70
+ pnpm unlink @still-forest/canopy
71
+ pnpm store prune # clear pnpm's global store
72
+ ```
73
+
74
+ ### Using pnpm add
75
+
76
+ 1. In this package, run build in watch mode:
77
+
78
+ ```bash
79
+ pnpm build --watch
80
+ ```
81
+
82
+ 2. In the consuming package, point package.json to the locally built version:
83
+
84
+ ```bash
85
+ pnpm add ~/Development/canopy
86
+ ```
87
+
88
+ ### Direct file copy
89
+
90
+ **Alternatively**, directly copy the built version periodically:
91
+
92
+ ```bash
93
+ rm -rf ./node_modules/@still-forest/canopy/dist && cp -r ~/Development/canopy/dist ./node_modules/@still-forest/canopy/dist
94
+ ```
@@ -1,5 +1,5 @@
1
- import { j as e } from "./jsx-runtime.js";
2
- import { T as s } from "./Heading.js";
1
+ import { j as e } from "./jsx-runtime-B0GD0xBr.js";
2
+ import { T as s } from "./Heading-Bpvbpnw2.js";
3
3
  const r = ({ children: o, ...t }) => /* @__PURE__ */ e.jsx(s, { className: "inline-block w-fit rounded bg-accent px-2", family: "mono", size: "sm", variant: "accent", ...t, children: o });
4
4
  export {
5
5
  r as C
@@ -1,6 +1,6 @@
1
- import { j as b } from "./jsx-runtime.js";
1
+ import { j as b } from "./jsx-runtime-B0GD0xBr.js";
2
2
  import p from "react";
3
- import { c as h } from "./index2.js";
3
+ import { c as h } from "./index-CRiPKpXj.js";
4
4
  const y = p.forwardRef(
5
5
  ({
6
6
  className: c,
@@ -1,6 +1,6 @@
1
- import { j as u } from "./jsx-runtime.js";
1
+ import { j as u } from "./jsx-runtime-B0GD0xBr.js";
2
2
  import g from "react";
3
- import { c as m } from "./index2.js";
3
+ import { c as m } from "./index-CRiPKpXj.js";
4
4
  const w = g.forwardRef(
5
5
  ({
6
6
  className: c,
@@ -0,0 +1,107 @@
1
+ import { j as e } from "./jsx-runtime-B0GD0xBr.js";
2
+ import { c, B as l } from "./calendar-D21xByT8.js";
3
+ import "react";
4
+ import { F as o, B as d } from "./Layout-DAdzkAxW.js";
5
+ import { C as m } from "./Code-DSfz_jrJ.js";
6
+ import { H as h } from "./Heading-Bpvbpnw2.js";
7
+ import { c as x } from "./index-CRiPKpXj.js";
8
+ /**
9
+ * @license lucide-react v0.543.0 - ISC
10
+ *
11
+ * This source code is licensed under the ISC license.
12
+ * See the LICENSE file in the root directory of this source tree.
13
+ */
14
+ const u = [
15
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
16
+ ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
17
+ ["path", { d: "m9 9 6 6", key: "z0biqf" }]
18
+ ], p = c("circle-x", u);
19
+ /**
20
+ * @license lucide-react v0.543.0 - ISC
21
+ *
22
+ * This source code is licensed under the ISC license.
23
+ * See the LICENSE file in the root directory of this source tree.
24
+ */
25
+ const f = [
26
+ ["path", { d: "M12 17h.01", key: "p32p05" }],
27
+ ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
28
+ ["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }]
29
+ ], j = c("file-question-mark", f);
30
+ /**
31
+ * @license lucide-react v0.543.0 - ISC
32
+ *
33
+ * This source code is licensed under the ISC license.
34
+ * See the LICENSE file in the root directory of this source tree.
35
+ */
36
+ const y = [
37
+ ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
38
+ [
39
+ "path",
40
+ {
41
+ d: "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",
42
+ key: "r6nss1"
43
+ }
44
+ ]
45
+ ], w = c("house", y);
46
+ /**
47
+ * @license lucide-react v0.543.0 - ISC
48
+ *
49
+ * This source code is licensed under the ISC license.
50
+ * See the LICENSE file in the root directory of this source tree.
51
+ */
52
+ const k = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]], g = c("loader-circle", k);
53
+ /**
54
+ * @license lucide-react v0.543.0 - ISC
55
+ *
56
+ * This source code is licensed under the ISC license.
57
+ * See the LICENSE file in the root directory of this source tree.
58
+ */
59
+ const N = [
60
+ ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
61
+ ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
62
+ ], v = c("rotate-ccw", N), a = ({ variant: n, iconComponent: t, message: r, children: i }) => {
63
+ if (!t && !r && !i)
64
+ return /* @__PURE__ */ e.jsx(o, { align: "center", className: "h-full w-full", justify: "center", children: "Content missing" });
65
+ const s = t || null;
66
+ return /* @__PURE__ */ e.jsx(o, { align: "center", className: "h-full w-full", justify: "center", children: /* @__PURE__ */ e.jsxs(o, { direction: "col", justify: "center", children: [
67
+ s && /* @__PURE__ */ e.jsx(o, { align: "center", className: "my-6", gapX: "4", justify: "center", children: /* @__PURE__ */ e.jsx(
68
+ s,
69
+ {
70
+ "aria-hidden": !!r,
71
+ "aria-label": r ? void 0 : `${n || "info"} icon`,
72
+ className: x(
73
+ n === "error" && "text-destructive",
74
+ n === "success" && "text-success",
75
+ n === "warning" && "text-warning",
76
+ n === "info" && "text-info"
77
+ ),
78
+ "data-testid": "icon",
79
+ role: r ? void 0 : "img",
80
+ size: 128
81
+ }
82
+ ) }),
83
+ /* @__PURE__ */ e.jsxs(o, { className: "max-w-[500px]", direction: "col", justify: "center", children: [
84
+ r ? /* @__PURE__ */ e.jsx(h, { align: "center", level: "4", weight: "normal", children: r }) : null,
85
+ i
86
+ ] })
87
+ ] }) });
88
+ }, C = ({ message: n = "Something went wrong.", children: t }) => /* @__PURE__ */ e.jsx(a, { iconComponent: p, message: n, variant: "error", children: t }), _ = () => {
89
+ try {
90
+ window.location.reload();
91
+ } catch {
92
+ console.warn("Page reload prevented in test environment");
93
+ }
94
+ }, E = ({ error: n, onRetry: t = _ }) => /* @__PURE__ */ e.jsx(C, { children: /* @__PURE__ */ e.jsxs(o, { align: "center", className: "mt-8", direction: "col", children: [
95
+ /* @__PURE__ */ e.jsx(d, { className: "mb-8 p-4", variant: "muted", width: "full", children: /* @__PURE__ */ e.jsx(m, { align: "center", size: "xs", variant: "inherit", children: n.message || "Unknown error occurred" }) }),
96
+ /* @__PURE__ */ e.jsx(l, { icon: /* @__PURE__ */ e.jsx(v, {}), onClick: t, variant: "primary", children: "Reload" })
97
+ ] }) }), M = () => /* @__PURE__ */ e.jsx(g, { className: "animate-spin text-info", "data-testid": "icon", size: 64 }), L = ({ iconComponent: n, message: t }) => {
98
+ const r = n || M;
99
+ return /* @__PURE__ */ e.jsx(a, { iconComponent: r, message: t });
100
+ }, P = ({ goHome: n, message: t = "404: Not found" }) => /* @__PURE__ */ e.jsx(a, { iconComponent: j, message: t, variant: "warning", children: /* @__PURE__ */ e.jsx(o, { align: "center", className: "mt-8", direction: "col", children: n && /* @__PURE__ */ e.jsx(l, { icon: /* @__PURE__ */ e.jsx(w, {}), onClick: n, variant: "primary", children: "Home" }) }) });
101
+ export {
102
+ E,
103
+ a as I,
104
+ L as P,
105
+ C as a,
106
+ P as b
107
+ };
@@ -1,6 +1,6 @@
1
- import { j as o } from "./jsx-runtime.js";
2
- import { c as t } from "./index2.js";
3
- import { T as p } from "./Heading.js";
1
+ import { j as o } from "./jsx-runtime-B0GD0xBr.js";
2
+ import { c as t } from "./index-CRiPKpXj.js";
3
+ import { T as p } from "./Heading-Bpvbpnw2.js";
4
4
  const i = ({ children: r, className: s, as: a = "p", ...m }) => /* @__PURE__ */ o.jsx(p, { as: a, className: t("mb-4", s), ...m, children: r });
5
5
  export {
6
6
  i as P