@texturehq/edges 1.21.0 → 1.22.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/dist/styles.css CHANGED
@@ -63,6 +63,22 @@
63
63
  --color-brand-dark: #363ccb;
64
64
  --color-brand-background: #f6f7ff;
65
65
  --color-neutral-black: #000000;
66
+ --motion-duration-instant: 0ms;
67
+ --motion-duration-fast: 150ms;
68
+ --motion-duration-normal: 250ms;
69
+ --motion-duration-slow: 350ms;
70
+ --motion-duration-slower: 500ms;
71
+ --motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
72
+ --motion-easing-emphasized: cubic-bezier(0, 0, 0.2, 1);
73
+ --motion-easing-accelerate: cubic-bezier(0.4, 0, 1, 1);
74
+ --motion-easing-deaccelerate: cubic-bezier(0, 0, 0.2, 1);
75
+ --motion-distance-xs: 4px;
76
+ --motion-distance-sm: 8px;
77
+ --motion-distance-md: 16px;
78
+ --motion-opacity-hover: 0.9;
79
+ --motion-opacity-disabled: 0.5;
80
+ --motion-scale-hover: 1.02;
81
+ --motion-scale-press: 0.97;
66
82
  --spacing-0: 0px;
67
83
  --spacing-1: 0.25rem;
68
84
  --spacing-2: 0.5rem;
@@ -347,11 +363,27 @@
347
363
  --color-yellow-900: oklch(0.398 0.092 60.236);
348
364
  --color-yellow-950: oklch(0.265 0.06 56.259);
349
365
  --color-brand-primary: #444ae1;
350
- --color-brand-light: #f7f7ff;
366
+ --color-brand-light: #2a2d52;
351
367
  --color-brand-dark: #363ccb;
352
- --color-brand-background: #f6f7ff;
368
+ --color-brand-background: #2e3258;
353
369
  --color-neutral-white: #ffffff;
354
370
  --color-neutral-black: #000000;
371
+ --motion-duration-instant: 0ms;
372
+ --motion-duration-fast: 150ms;
373
+ --motion-duration-normal: 250ms;
374
+ --motion-duration-slow: 350ms;
375
+ --motion-duration-slower: 500ms;
376
+ --motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
377
+ --motion-easing-emphasized: cubic-bezier(0, 0, 0.2, 1);
378
+ --motion-easing-accelerate: cubic-bezier(0.4, 0, 1, 1);
379
+ --motion-easing-deaccelerate: cubic-bezier(0, 0, 0.2, 1);
380
+ --motion-distance-xs: 4px;
381
+ --motion-distance-sm: 8px;
382
+ --motion-distance-md: 16px;
383
+ --motion-opacity-hover: 0.9;
384
+ --motion-opacity-disabled: 0.5;
385
+ --motion-scale-hover: 1.02;
386
+ --motion-scale-press: 0.97;
355
387
  --spacing-0: 0px;
356
388
  --spacing-1: 0.25rem;
357
389
  --spacing-2: 0.5rem;
@@ -2038,6 +2070,9 @@
2038
2070
  .max-w-\[400px\] {
2039
2071
  max-width: 400px;
2040
2072
  }
2073
+ .max-w-\[600px\] {
2074
+ max-width: 600px;
2075
+ }
2041
2076
  .max-w-fit {
2042
2077
  max-width: -moz-fit-content;
2043
2078
  max-width: fit-content;
@@ -3104,6 +3139,12 @@
3104
3139
  background-color: color-mix(in oklab, var(--color-brand-primary) 10%, transparent);
3105
3140
  }
3106
3141
  }
3142
+ .bg-brand-primary\/20 {
3143
+ background-color: color-mix(in srgb, #444ae1 20%, transparent);
3144
+ @supports (color: color-mix(in lab, red, red)) {
3145
+ background-color: color-mix(in oklab, var(--color-brand-primary) 20%, transparent);
3146
+ }
3147
+ }
3107
3148
  .bg-current {
3108
3149
  background-color: currentcolor;
3109
3150
  }
@@ -3260,6 +3301,9 @@
3260
3301
  .bg-state-unknown {
3261
3302
  background-color: var(--color-state-unknown);
3262
3303
  }
3304
+ .bg-text-caption {
3305
+ background-color: var(--color-text-caption);
3306
+ }
3263
3307
  .bg-text-heading {
3264
3308
  background-color: var(--color-text-heading);
3265
3309
  }
@@ -4157,6 +4201,14 @@
4157
4201
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
4158
4202
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4159
4203
  }
4204
+ .shadow-\[0_-4px_6px_-1px_rgba\(0\,0\,0\,0\.1\)\] {
4205
+ --tw-shadow: 0 -4px 6px -1px var(--tw-shadow-color, rgba(0,0,0,0.1));
4206
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4207
+ }
4208
+ .shadow-\[0_4px_6px_-1px_rgba\(0\,0\,0\,0\.1\)\] {
4209
+ --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgba(0,0,0,0.1));
4210
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4211
+ }
4160
4212
  .shadow-\[inset_0_0_0_1px_var\(--color-border-focus\)\] {
4161
4213
  --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--color-border-focus));
4162
4214
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -4466,6 +4518,26 @@
4466
4518
  }
4467
4519
  }
4468
4520
  }
4521
+ .group-hover\:bg-brand-primary\/15 {
4522
+ &:is(:where(.group):hover *) {
4523
+ @media (hover: hover) {
4524
+ background-color: color-mix(in srgb, #444ae1 15%, transparent);
4525
+ @supports (color: color-mix(in lab, red, red)) {
4526
+ background-color: color-mix(in oklab, var(--color-brand-primary) 15%, transparent);
4527
+ }
4528
+ }
4529
+ }
4530
+ }
4531
+ .group-hover\:bg-brand-primary\/90 {
4532
+ &:is(:where(.group):hover *) {
4533
+ @media (hover: hover) {
4534
+ background-color: color-mix(in srgb, #444ae1 90%, transparent);
4535
+ @supports (color: color-mix(in lab, red, red)) {
4536
+ background-color: color-mix(in oklab, var(--color-brand-primary) 90%, transparent);
4537
+ }
4538
+ }
4539
+ }
4540
+ }
4469
4541
  .group-hover\:bg-gray-200 {
4470
4542
  &:is(:where(.group):hover *) {
4471
4543
  @media (hover: hover) {
@@ -4473,6 +4545,20 @@
4473
4545
  }
4474
4546
  }
4475
4547
  }
4548
+ .group-hover\:text-brand-primary {
4549
+ &:is(:where(.group):hover *) {
4550
+ @media (hover: hover) {
4551
+ color: var(--color-brand-primary);
4552
+ }
4553
+ }
4554
+ }
4555
+ .group-hover\:text-text-heading {
4556
+ &:is(:where(.group):hover *) {
4557
+ @media (hover: hover) {
4558
+ color: var(--color-text-heading);
4559
+ }
4560
+ }
4561
+ }
4476
4562
  .group-hover\:opacity-100 {
4477
4563
  &:is(:where(.group):hover *) {
4478
4564
  @media (hover: hover) {
@@ -4809,6 +4895,13 @@
4809
4895
  }
4810
4896
  }
4811
4897
  }
4898
+ .hover\:bg-background-selected {
4899
+ &:hover {
4900
+ @media (hover: hover) {
4901
+ background-color: var(--color-background-selected);
4902
+ }
4903
+ }
4904
+ }
4812
4905
  .hover\:bg-black\/10 {
4813
4906
  &:hover {
4814
4907
  @media (hover: hover) {
@@ -4840,6 +4933,16 @@
4840
4933
  }
4841
4934
  }
4842
4935
  }
4936
+ .hover\:bg-brand-primary\/90 {
4937
+ &:hover {
4938
+ @media (hover: hover) {
4939
+ background-color: color-mix(in srgb, #444ae1 90%, transparent);
4940
+ @supports (color: color-mix(in lab, red, red)) {
4941
+ background-color: color-mix(in oklab, var(--color-brand-primary) 90%, transparent);
4942
+ }
4943
+ }
4944
+ }
4945
+ }
4843
4946
  .hover\:bg-feedback-error-background {
4844
4947
  &:hover {
4845
4948
  @media (hover: hover) {
@@ -4857,6 +4960,16 @@
4857
4960
  }
4858
4961
  }
4859
4962
  }
4963
+ .hover\:bg-feedback-error-background\/80 {
4964
+ &:hover {
4965
+ @media (hover: hover) {
4966
+ background-color: color-mix(in srgb, #fee2e2 80%, transparent);
4967
+ @supports (color: color-mix(in lab, red, red)) {
4968
+ background-color: color-mix(in oklab, var(--color-feedback-error-background) 80%, transparent);
4969
+ }
4970
+ }
4971
+ }
4972
+ }
4860
4973
  .hover\:bg-gray-50 {
4861
4974
  &:hover {
4862
4975
  @media (hover: hover) {
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.21.0",
3
- "generatedAt": "2025-11-16T23:11:29.514Z",
2
+ "version": "1.22.0",
3
+ "generatedAt": "2025-11-18T02:17:14.811Z",
4
4
  "categories": {
5
5
  "hooks": {
6
6
  "description": "React hooks for common functionality like breakpoints, debouncing, local storage, and media queries",
package/package.json CHANGED
@@ -1,176 +1,176 @@
1
1
  {
2
- "name": "@texturehq/edges",
3
- "version": "1.21.0",
4
- "author": "Nicholas Brown <nick@texturehq.com>",
5
- "description": "A shared component library for Texture",
6
- "type": "module",
7
- "main": "./dist/index.js",
8
- "module": "./dist/index.js",
9
- "types": "./dist/index.d.ts",
10
- "sideEffects": false,
11
- "files": [
12
- "dist/**",
13
- "templates/**",
14
- "scripts/**"
15
- ],
16
- "exports": {
17
- ".": {
18
- "types": "./dist/index.d.ts",
19
- "react-server": "./dist/server.js",
20
- "import": "./dist/index.js",
21
- "default": "./dist/index.js"
22
- },
23
- "./server": {
24
- "types": "./dist/server.d.ts",
25
- "import": "./dist/server.js",
26
- "default": "./dist/server.js"
27
- },
28
- "./rhf": {
29
- "types": "./dist/rhf/index.d.ts",
30
- "import": "./dist/rhf/index.js",
31
- "default": "./dist/rhf/index.js"
32
- },
33
- "./form": {
34
- "types": "./dist/form/index.d.ts",
35
- "import": "./dist/form/index.js",
36
- "default": "./dist/form/index.js"
37
- },
38
- "./styles.css": "./dist/styles.css",
39
- "./dist/styles.css": "./dist/styles.css",
40
- "./theme.css": "./dist/theme.css",
41
- "./dist/theme.css": "./dist/theme.css"
42
- },
43
- "scripts": {
44
- "dev": "yarn watch",
45
- "watch": "tsup --watch",
46
- "build": "yarn tokens:build && tsup && yarn build:post",
47
- "build:post": "postcss src/styles.css -o dist/styles.css && node scripts/copy-assets.js && node scripts/generate-edges-docs.js",
48
- "tokens:build": "node style-dictionary.config.mjs && node scripts/generate-viz-runtime.js",
49
- "tokens:build:tailwind": "node style-dictionary.config.mjs",
50
- "tokens:watch": "nodemon --watch tokens --ext json --exec 'yarn tokens:build'",
51
- "tokens:watch:tailwind": "nodemon --watch tokens --ext json --exec 'yarn tokens:build:tailwind'",
52
- "tokens:validate": "node scripts/validate-tokens.js",
53
- "build:yalc": "yarn build && npx yalc publish && npx yalc push",
54
- "dev:yalc": "yarn build && npx yalc publish && npx yalc push && echo 'Package updated! Run in target project: yarn install && yarn dev'",
55
- "dev:yalc:force": "yarn build && npx yalc publish && npx yalc push && echo 'Package updated! Run in target project: rm -rf .vite && yarn cache clean && yarn dev --force'",
56
- "clean": "rm -rf dist",
57
- "lint": "biome check src/",
58
- "lint:quiet": "biome check --reporter=github src/",
59
- "lint:fix": "biome check --write src/",
60
- "format": "biome format --write src/",
61
- "format:check": "biome format src/",
62
- "test": "vitest run",
63
- "test:watch": "vitest",
64
- "test:coverage": "vitest run --coverage",
65
- "test:ui": "vitest --ui",
66
- "storybook": "VITE_MAPBOX_ACCESS_TOKEN=pk.eyJ1IjoidmljdG9yLXRleHR1cmUiLCJhIjoiY2x1cXM5dnVqMDFvYTJrcWszbnZmdGo4cCJ9.uEu0gqmITLtBMKEVW0aFtA storybook dev -p 6010 --no-open",
67
- "build-storybook": "storybook build",
68
- "postinstall": "node scripts/setup-cursor-rules.js || echo \"! setup-cursor-rules: non-fatal error\""
69
- },
70
- "peerDependencies": {
71
- "@hookform/resolvers": "^3.x",
72
- "next": "*",
73
- "react": "^19.0.0",
74
- "react-dom": "^19.0.0",
75
- "react-hook-form": "^7.x",
76
- "zod": "^3.x"
77
- },
78
- "peerDependenciesMeta": {
79
- "@hookform/resolvers": {
80
- "optional": true
81
- },
82
- "react-hook-form": {
83
- "optional": true
84
- },
85
- "zod": {
86
- "optional": true
87
- }
88
- },
89
- "dependencies": {
90
- "@phosphor-icons/react": "^2.1.7",
91
- "@tanstack/react-virtual": "^3.13.12",
92
- "@tiptap/core": "^3.4.5",
93
- "@tiptap/extension-link": "^3.4.5",
94
- "@tiptap/pm": "^3.4.5",
95
- "@tiptap/react": "^3.4.5",
96
- "@tiptap/starter-kit": "^3.4.5",
97
- "@types/react-map-gl": "6.1.6",
98
- "@visx/axis": "^3.10.1",
99
- "@visx/brush": "^3.12.0",
100
- "@visx/curve": "^3.3.0",
101
- "@visx/drag": "^3.12.0",
102
- "@visx/event": "^3.3.0",
103
- "@visx/gradient": "^3.3.0",
104
- "@visx/pattern": "^3.12.0",
105
- "@visx/responsive": "^3.10.2",
106
- "@visx/scale": "^3.5.0",
107
- "@visx/shape": "^3.5.0",
108
- "@visx/tooltip": "^3.3.0",
109
- "@visx/zoom": "^3.12.0",
110
- "ace-builds": "^1.43.3",
111
- "chance": "^1.1.13",
112
- "d3-array": "^3.2.4",
113
- "date-fns": "^4.1.0",
114
- "file-saver": "^2.0.5",
115
- "filestack-react": "^6.0.0",
116
- "framer-motion": "^12.23.18",
117
- "fuse.js": "^7.0.0",
118
- "lucide-react": "^0.544.0",
119
- "luxon": "^3.4.4",
120
- "mapbox-gl": "3.7.0",
121
- "next-intl": "^4.0.2",
122
- "papaparse": "^5.5.3",
123
- "react-ace": "^14.0.1",
124
- "react-aria-components": "^1.7.1",
125
- "react-colorful": "^5.6.1",
126
- "react-map-gl": "7.1.7",
127
- "react-stately": "^3.35.0",
128
- "tailwind-merge": "^3.2.0"
129
- },
130
- "devDependencies": {
131
- "@biomejs/biome": "^2.2.4",
132
- "@hookform/resolvers": "^3.9.0",
133
- "@storybook/addon-essentials": "^8.6.14",
134
- "@storybook/addon-interactions": "^8.6.14",
135
- "@storybook/addon-styling-webpack": "^1.0.1",
136
- "@storybook/addon-themes": "^8.6.14",
137
- "@storybook/blocks": "^8.6.14",
138
- "@storybook/react": "^8.6.14",
139
- "@storybook/react-vite": "^8.6.14",
140
- "@storybook/test": "^8.6.14",
141
- "@tailwindcss/postcss": "^4.1.14",
142
- "@testing-library/dom": "^10.4.0",
143
- "@testing-library/jest-dom": "^6.4.2",
144
- "@testing-library/react": "^16.3.0",
145
- "@testing-library/user-event": "^14.5.2",
146
- "@types/chance": "^1.1.7",
147
- "@types/file-saver": "^2.0.7",
148
- "@types/luxon": "^3.7.1",
149
- "@types/node": "^20.11.30",
150
- "@types/papaparse": "^5.3.16",
151
- "@types/react": "^19.2.2",
152
- "@types/react-dom": "^19.2.1",
153
- "@vitejs/plugin-react": "^4.2.1",
154
- "@vitest/coverage-v8": "^3.1.1",
155
- "@vitest/ui": "^3.1.1",
156
- "acorn": "^8.15.0",
157
- "acorn-jsx": "^5.3.2",
158
- "autoprefixer": "^10.4.19",
159
- "jsdom": "^24.0.0",
160
- "postcss": "^8.5.6",
161
- "postcss-cli": "^11.0.0",
162
- "react": "19.2.0",
163
- "react-dom": "19.2.0",
164
- "react-hook-form": "^7.53.0",
165
- "storybook": "^8.6.14",
166
- "style-dictionary": "^5.0.4",
167
- "tailwindcss": "^4.1.14",
168
- "tsup": "^8.0.2",
169
- "typescript": "~5.9.2",
170
- "vite": "^5.1.6",
171
- "vite-plugin-svgr": "^4.3.0",
172
- "vitest": "^3.1.1",
173
- "yalc": "^1.0.0-pre.53",
174
- "zod": "^3.23.8"
175
- }
2
+ "name": "@texturehq/edges",
3
+ "version": "1.22.0",
4
+ "author": "Nicholas Brown <nick@texturehq.com>",
5
+ "description": "A shared component library for Texture",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "sideEffects": false,
11
+ "files": [
12
+ "dist/**",
13
+ "templates/**",
14
+ "scripts/**"
15
+ ],
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "react-server": "./dist/server.js",
20
+ "import": "./dist/index.js",
21
+ "default": "./dist/index.js"
22
+ },
23
+ "./server": {
24
+ "types": "./dist/server.d.ts",
25
+ "import": "./dist/server.js",
26
+ "default": "./dist/server.js"
27
+ },
28
+ "./rhf": {
29
+ "types": "./dist/rhf/index.d.ts",
30
+ "import": "./dist/rhf/index.js",
31
+ "default": "./dist/rhf/index.js"
32
+ },
33
+ "./form": {
34
+ "types": "./dist/form/index.d.ts",
35
+ "import": "./dist/form/index.js",
36
+ "default": "./dist/form/index.js"
37
+ },
38
+ "./styles.css": "./dist/styles.css",
39
+ "./dist/styles.css": "./dist/styles.css",
40
+ "./theme.css": "./dist/theme.css",
41
+ "./dist/theme.css": "./dist/theme.css"
42
+ },
43
+ "scripts": {
44
+ "dev": "yarn watch",
45
+ "watch": "tsup --watch",
46
+ "build": "yarn tokens:build && tsup && yarn build:post",
47
+ "build:post": "postcss src/styles.css -o dist/styles.css && node scripts/copy-assets.js && node scripts/generate-edges-docs.js",
48
+ "tokens:build": "node style-dictionary.config.mjs && node scripts/generate-viz-runtime.js",
49
+ "tokens:build:tailwind": "node style-dictionary.config.mjs",
50
+ "tokens:watch": "nodemon --watch tokens --ext json --exec 'yarn tokens:build'",
51
+ "tokens:watch:tailwind": "nodemon --watch tokens --ext json --exec 'yarn tokens:build:tailwind'",
52
+ "tokens:validate": "node scripts/validate-tokens.js",
53
+ "build:yalc": "yarn build && npx yalc publish && npx yalc push",
54
+ "dev:yalc": "yarn build && npx yalc publish && npx yalc push && echo 'Package updated! Run in target project: yarn install && yarn dev'",
55
+ "dev:yalc:force": "yarn build && npx yalc publish && npx yalc push && echo 'Package updated! Run in target project: rm -rf .vite && yarn cache clean && yarn dev --force'",
56
+ "clean": "rm -rf dist",
57
+ "lint": "biome check src/",
58
+ "lint:quiet": "biome check --reporter=github src/",
59
+ "lint:fix": "biome check --write src/",
60
+ "format": "biome format --write src/",
61
+ "format:check": "biome format src/",
62
+ "test": "vitest run",
63
+ "test:watch": "vitest",
64
+ "test:coverage": "vitest run --coverage",
65
+ "test:ui": "vitest --ui",
66
+ "storybook": "VITE_MAPBOX_ACCESS_TOKEN=pk.eyJ1IjoidmljdG9yLXRleHR1cmUiLCJhIjoiY2x1cXM5dnVqMDFvYTJrcWszbnZmdGo4cCJ9.uEu0gqmITLtBMKEVW0aFtA storybook dev -p 6010 --no-open",
67
+ "build-storybook": "storybook build",
68
+ "postinstall": "node scripts/setup-cursor-rules.js || echo \"! setup-cursor-rules: non-fatal error\""
69
+ },
70
+ "peerDependencies": {
71
+ "@hookform/resolvers": "^3.x",
72
+ "next": "*",
73
+ "react": "^19.0.0",
74
+ "react-dom": "^19.0.0",
75
+ "react-hook-form": "^7.x",
76
+ "zod": "^3.x"
77
+ },
78
+ "peerDependenciesMeta": {
79
+ "@hookform/resolvers": {
80
+ "optional": true
81
+ },
82
+ "react-hook-form": {
83
+ "optional": true
84
+ },
85
+ "zod": {
86
+ "optional": true
87
+ }
88
+ },
89
+ "dependencies": {
90
+ "@phosphor-icons/react": "^2.1.7",
91
+ "@tanstack/react-virtual": "^3.13.12",
92
+ "@tiptap/core": "^3.4.5",
93
+ "@tiptap/extension-link": "^3.4.5",
94
+ "@tiptap/pm": "^3.4.5",
95
+ "@tiptap/react": "^3.4.5",
96
+ "@tiptap/starter-kit": "^3.4.5",
97
+ "@types/react-map-gl": "6.1.6",
98
+ "@visx/axis": "^3.10.1",
99
+ "@visx/brush": "^3.12.0",
100
+ "@visx/curve": "^3.3.0",
101
+ "@visx/drag": "^3.12.0",
102
+ "@visx/event": "^3.3.0",
103
+ "@visx/gradient": "^3.3.0",
104
+ "@visx/pattern": "^3.12.0",
105
+ "@visx/responsive": "^3.10.2",
106
+ "@visx/scale": "^3.5.0",
107
+ "@visx/shape": "^3.5.0",
108
+ "@visx/tooltip": "^3.3.0",
109
+ "@visx/zoom": "^3.12.0",
110
+ "ace-builds": "^1.43.3",
111
+ "chance": "^1.1.13",
112
+ "d3-array": "^3.2.4",
113
+ "date-fns": "^4.1.0",
114
+ "file-saver": "^2.0.5",
115
+ "filestack-react": "^6.0.0",
116
+ "framer-motion": "^12.23.24",
117
+ "fuse.js": "^7.0.0",
118
+ "lucide-react": "^0.544.0",
119
+ "luxon": "^3.4.4",
120
+ "mapbox-gl": "3.7.0",
121
+ "next-intl": "^4.0.2",
122
+ "papaparse": "^5.5.3",
123
+ "react-ace": "^14.0.1",
124
+ "react-aria-components": "^1.7.1",
125
+ "react-colorful": "^5.6.1",
126
+ "react-map-gl": "7.1.7",
127
+ "react-stately": "^3.35.0",
128
+ "tailwind-merge": "^3.2.0"
129
+ },
130
+ "devDependencies": {
131
+ "@biomejs/biome": "^2.2.4",
132
+ "@hookform/resolvers": "^3.9.0",
133
+ "@storybook/addon-essentials": "^8.6.14",
134
+ "@storybook/addon-interactions": "^8.6.14",
135
+ "@storybook/addon-styling-webpack": "^1.0.1",
136
+ "@storybook/addon-themes": "^8.6.14",
137
+ "@storybook/blocks": "^8.6.14",
138
+ "@storybook/react": "^8.6.14",
139
+ "@storybook/react-vite": "^8.6.14",
140
+ "@storybook/test": "^8.6.14",
141
+ "@tailwindcss/postcss": "^4.1.14",
142
+ "@testing-library/dom": "^10.4.0",
143
+ "@testing-library/jest-dom": "^6.4.2",
144
+ "@testing-library/react": "^16.3.0",
145
+ "@testing-library/user-event": "^14.5.2",
146
+ "@types/chance": "^1.1.7",
147
+ "@types/file-saver": "^2.0.7",
148
+ "@types/luxon": "^3.7.1",
149
+ "@types/node": "^20.11.30",
150
+ "@types/papaparse": "^5.3.16",
151
+ "@types/react": "^19.2.2",
152
+ "@types/react-dom": "^19.2.1",
153
+ "@vitejs/plugin-react": "^4.2.1",
154
+ "@vitest/coverage-v8": "^3.1.1",
155
+ "@vitest/ui": "^3.1.1",
156
+ "acorn": "^8.15.0",
157
+ "acorn-jsx": "^5.3.2",
158
+ "autoprefixer": "^10.4.19",
159
+ "jsdom": "^24.0.0",
160
+ "postcss": "^8.5.6",
161
+ "postcss-cli": "^11.0.0",
162
+ "react": "19.2.0",
163
+ "react-dom": "19.2.0",
164
+ "react-hook-form": "^7.53.0",
165
+ "storybook": "^8.6.14",
166
+ "style-dictionary": "^5.0.4",
167
+ "tailwindcss": "^4.1.14",
168
+ "tsup": "^8.0.2",
169
+ "typescript": "~5.9.2",
170
+ "vite": "^5.1.6",
171
+ "vite-plugin-svgr": "^4.3.0",
172
+ "vitest": "^3.1.1",
173
+ "yalc": "^1.0.0-pre.53",
174
+ "zod": "^3.23.8"
175
+ }
176
176
  }