@still-forest/canopy 0.42.1 → 0.44.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/package.json CHANGED
@@ -1,42 +1,12 @@
1
1
  {
2
2
  "name": "@still-forest/canopy",
3
- "version": "0.42.1",
3
+ "version": "0.44.0",
4
4
  "author": "John Szymanowski",
5
5
  "license": "MIT",
6
6
  "description": "React components, built with Tailwind CSS, Shadcn, and VisX",
7
7
  "main": "./dist/index.js",
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js"
14
- },
15
- "./layout": {
16
- "types": "./dist/layout.d.ts",
17
- "import": "./dist/layout.js"
18
- },
19
- "./navigation": {
20
- "types": "./dist/navigation.d.ts",
21
- "import": "./dist/navigation.js"
22
- },
23
- "./forms": {
24
- "types": "./dist/forms.d.ts",
25
- "import": "./dist/forms.js"
26
- },
27
- "./interstitials": {
28
- "types": "./dist/interstitials.d.ts",
29
- "import": "./dist/interstitials.js"
30
- },
31
- "./typography": {
32
- "types": "./dist/typography.d.ts",
33
- "import": "./dist/typography.js"
34
- },
35
- "./utilities": {
36
- "types": "./dist/utilities.d.ts",
37
- "import": "./dist/utilities.js"
38
- }
39
- },
40
10
  "files": [
41
11
  "dist"
42
12
  ],
@@ -89,22 +59,23 @@
89
59
  "date-fns": "^4.1.0",
90
60
  "lucide-react": "^0.544.0",
91
61
  "react-day-picker": "^9.9.0",
92
- "react-router": "^7.8.2"
62
+ "react-router": "^7.8.2",
63
+ "vaul": "^1.1.2"
93
64
  },
94
65
  "devDependencies": {
95
66
  "@biomejs/biome": "2.2.5",
96
67
  "@still-forest/biomejs-config": "2.1.0",
97
- "@storybook/addon-docs": "9.1.10",
98
- "@storybook/addon-themes": "9.1.10",
99
- "@storybook/builder-vite": "9.1.10",
100
- "@storybook/react-vite": "9.1.10",
68
+ "@storybook/addon-docs": "10.0.0",
69
+ "@storybook/addon-themes": "10.0.0",
70
+ "@storybook/builder-vite": "10.0.0",
71
+ "@storybook/react-vite": "10.0.0",
101
72
  "@tailwindcss/vite": "4.1.14",
102
73
  "@testing-library/jest-dom": "6.9.1",
103
74
  "@testing-library/react": "16.3.0",
104
75
  "@testing-library/user-event": "14.6.1",
105
76
  "@types/node": "22.18.8",
106
- "@types/react": "19.2.0",
107
- "@types/react-dom": "19.2.0",
77
+ "@types/react": "19.2.2",
78
+ "@types/react-dom": "19.2.1",
108
79
  "@vitejs/plugin-react": "5.0.4",
109
80
  "@vitest/browser": "3.2.4",
110
81
  "@vitest/coverage-v8": "3.2.4",
@@ -114,12 +85,12 @@
114
85
  "react": "19.2.0",
115
86
  "react-dom": "19.2.0",
116
87
  "release-it": "19.0.5",
117
- "storybook": "9.1.10",
88
+ "storybook": "10.0.0",
118
89
  "tailwind-merge": "3.3.1",
119
90
  "tailwindcss": "4.1.14",
120
91
  "tw-animate-css": "1.4.0",
121
92
  "typescript": "5.9.3",
122
- "vite": "7.1.9",
93
+ "vite": "7.1.11",
123
94
  "vite-plugin-dts": "4.5.4",
124
95
  "vite-plugin-lib-inject-css": "2.2.2",
125
96
  "vitest": "3.2.4"
@@ -130,5 +101,5 @@
130
101
  "tailwindcss": "^4.0.0",
131
102
  "tw-animate-css": "^1.0.0"
132
103
  },
133
- "packageManager": "pnpm@10.18.0"
104
+ "packageManager": "pnpm@10.18.2"
134
105
  }
@@ -1,6 +0,0 @@
1
- import { j as e } from "./jsx-runtime-B0GD0xBr.js";
2
- import { T as s } from "./Heading-DjVutKs1.js";
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
- export {
5
- r as C
6
- };
@@ -1,268 +0,0 @@
1
- import { j as h } from "./jsx-runtime-B0GD0xBr.js";
2
- import p from "react";
3
- import { c as j } from "./index-CRiPKpXj.js";
4
- const k = p.forwardRef(
5
- ({
6
- className: c,
7
- as: n,
8
- size: o,
9
- weight: r,
10
- variant: t = "default",
11
- align: l,
12
- leading: d,
13
- // No default: Tailwind applies a default from text size classes
14
- tracking: f,
15
- family: m,
16
- asForeground: x = !1,
17
- truncate: i = !1,
18
- numeric: u = !1,
19
- inheritColor: b = !1,
20
- inline: a = !1,
21
- ...s
22
- }, g) => {
23
- const y = n || "p", e = m || (t === "brand" ? "brand" : "body");
24
- return /* @__PURE__ */ h.jsx(
25
- y,
26
- {
27
- className: j(
28
- // Font sizes
29
- {
30
- "text-xs": o === "xs",
31
- "text-sm": o === "sm",
32
- "text-base": o === "base" || o === "md",
33
- "text-lg": o === "lg",
34
- "text-xl": o === "xl",
35
- "text-2xl": o === "2xl",
36
- "text-3xl": o === "3xl",
37
- "text-4xl": o === "4xl",
38
- "text-5xl": o === "5xl",
39
- "text-6xl": o === "6xl",
40
- "text-7xl": o === "7xl",
41
- "text-8xl": o === "8xl",
42
- "text-9xl": o === "9xl"
43
- },
44
- // Font weights
45
- {
46
- "font-thin": r === "thin",
47
- "font-extralight": r === "extralight",
48
- "font-light": r === "light",
49
- "font-normal": r === "normal",
50
- "font-medium": r === "medium",
51
- "font-semibold": r === "semibold",
52
- "font-bold": r === "bold",
53
- "font-extrabold": r === "extrabold",
54
- "font-black": r === "black"
55
- },
56
- // Text colors (variants)
57
- {
58
- "text-foreground": t === "default",
59
- "text-inherit": t === "inherit",
60
- "text-muted-foreground": t === "muted",
61
- "text-accent-foreground": t === "accent",
62
- // Action colors
63
- "text-primary-foreground": t === "primary",
64
- "text-secondary-foreground": t === "secondary",
65
- // Brand color
66
- "text-brand": !x && t === "brand",
67
- "text-brand-foreground": x && t === "brand",
68
- // Accent colors (rich color variants)
69
- "text-info": !x && t === "info",
70
- "text-warning": !x && t === "warning",
71
- "text-destructive": !x && t === "destructive",
72
- "text-success": !x && t === "success",
73
- // Accent colors (foreground variants)
74
- "text-info-foreground": x && t === "info",
75
- "text-warning-foreground": x && t === "warning",
76
- "text-destructive-foreground": x && t === "destructive",
77
- "text-success-foreground": x && t === "success"
78
- },
79
- // Text alignment
80
- {
81
- "text-left": l === "left",
82
- "text-center": l === "center",
83
- "text-right": l === "right",
84
- "text-justify": l === "justify",
85
- "text-start": l === "start",
86
- "text-end": l === "end"
87
- },
88
- // Leading (line height)
89
- {
90
- "leading-none": d === "none",
91
- "leading-tight": d === "tight",
92
- "leading-snug": d === "snug",
93
- "leading-normal": d === "normal",
94
- "leading-relaxed": d === "relaxed",
95
- "leading-loose": d === "loose"
96
- },
97
- // Tracking (letter spacing)
98
- {
99
- "tracking-tighter": f === "tighter",
100
- "tracking-tight": f === "tight",
101
- "tracking-normal": f === "normal",
102
- "tracking-wide": f === "wide",
103
- "tracking-wider": f === "wider",
104
- "tracking-widest": f === "widest"
105
- },
106
- // Font family
107
- {
108
- "font-display": e === "display",
109
- "font-heading": e === "heading",
110
- "font-body": e === "body",
111
- "font-brand": e === "brand",
112
- "font-sans": e === "sans",
113
- "font-serif": e === "serif",
114
- "font-mono": e === "mono"
115
- },
116
- // Truncation
117
- i && "truncate",
118
- // Tabular numerals
119
- u && "tabular-nums",
120
- // Other
121
- b && "text-inherit",
122
- a && "inline",
123
- c
124
- ),
125
- ref: g,
126
- ...s
127
- }
128
- );
129
- }
130
- );
131
- k.displayName = "Text";
132
- const w = p.forwardRef(
133
- ({
134
- className: c,
135
- variant: n = "default",
136
- level: o = "2",
137
- size: r,
138
- weight: t = "bold",
139
- // Typical default browser style for headings
140
- align: l,
141
- leading: d,
142
- // No default: Tailwind applies a default from text size classes
143
- tracking: f,
144
- family: m,
145
- asForeground: x = !1,
146
- truncate: i = !1,
147
- numeric: u = !1,
148
- ...b
149
- }, a) => {
150
- const s = m || (n === "brand" ? "brand" : "heading"), g = `h${o}`, e = r || {
151
- 1: "4xl",
152
- 2: "3xl",
153
- 3: "2xl",
154
- 4: "xl",
155
- 5: "lg",
156
- 6: "base"
157
- }[o];
158
- return /* @__PURE__ */ h.jsx(
159
- g,
160
- {
161
- className: j(
162
- // Size scales
163
- {
164
- "text-xs": e === "xs",
165
- "text-sm": e === "sm",
166
- "text-base": e === "base" || e === "md",
167
- "text-lg": e === "lg",
168
- "text-xl": e === "xl",
169
- "text-2xl": e === "2xl",
170
- "text-3xl": e === "3xl",
171
- "text-4xl": e === "4xl",
172
- "text-5xl": e === "5xl",
173
- "text-6xl": e === "6xl",
174
- "text-7xl": e === "7xl",
175
- "text-8xl": e === "8xl",
176
- "text-9xl": e === "9xl"
177
- },
178
- // Font weights
179
- {
180
- "font-thin": t === "thin",
181
- "font-extralight": t === "extralight",
182
- "font-light": t === "light",
183
- "font-normal": t === "normal",
184
- "font-medium": t === "medium",
185
- "font-semibold": t === "semibold",
186
- "font-bold": t === "bold",
187
- "font-extrabold": t === "extrabold",
188
- "font-black": t === "black"
189
- },
190
- // Text colors (variants)
191
- {
192
- "text-foreground": n === "default",
193
- "text-inherit": n === "inherit",
194
- "text-muted-foreground": n === "muted",
195
- "text-accent-foreground": n === "accent",
196
- // Action colors
197
- "text-primary-foreground": n === "primary",
198
- "text-secondary-foreground": n === "secondary",
199
- // Brand color
200
- "text-brand": n === "brand",
201
- "text-brand-foreground": x && n === "brand",
202
- // Accent colors (rich color variants)
203
- "text-info": !x && n === "info",
204
- "text-warning": !x && n === "warning",
205
- "text-destructive": !x && n === "destructive",
206
- "text-success": !x && n === "success",
207
- // Accent colors (foreground variants)
208
- "text-info-foreground": x && n === "info",
209
- "text-warning-foreground": x && n === "warning",
210
- "text-destructive-foreground": x && n === "destructive",
211
- "text-success-foreground": x && n === "success"
212
- },
213
- // Text alignment
214
- {
215
- "text-left": l === "left",
216
- "text-center": l === "center",
217
- "text-right": l === "right",
218
- "text-justify": l === "justify",
219
- "text-start": l === "start",
220
- "text-end": l === "end"
221
- },
222
- // Leading (line height)
223
- {
224
- "leading-none": d === "none",
225
- "leading-tight": d === "tight",
226
- "leading-snug": d === "snug",
227
- "leading-normal": d === "normal",
228
- "leading-relaxed": d === "relaxed",
229
- "leading-loose": d === "loose"
230
- },
231
- // Tracking (letter spacing)
232
- {
233
- "tracking-tighter": f === "tighter",
234
- "tracking-tight": f === "tight",
235
- "tracking-normal": f === "normal",
236
- "tracking-wide": f === "wide",
237
- "tracking-wider": f === "wider",
238
- "tracking-widest": f === "widest"
239
- },
240
- // Font family
241
- {
242
- "font-brand": s === "brand",
243
- "font-heading": s === "heading",
244
- "font-body": s === "body",
245
- "font-display": s === "display",
246
- "font-sans": s === "sans",
247
- "font-serif": s === "serif",
248
- "font-mono": s === "mono"
249
- },
250
- // Truncation
251
- i && "truncate",
252
- // Tabular numerals
253
- u && "tabular-nums",
254
- // Add some scroll margin for better anchor navigation
255
- "scroll-m-20",
256
- c
257
- ),
258
- ref: a,
259
- ...b
260
- }
261
- );
262
- }
263
- );
264
- w.displayName = "Heading";
265
- export {
266
- w as H,
267
- k as T
268
- };