@texturehq/edges 1.5.1 → 1.5.3

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.
@@ -103,6 +103,46 @@
103
103
  }
104
104
  }
105
105
 
106
+ @keyframes zoom-in-97 {
107
+ from {
108
+ opacity: 0;
109
+ transform: scale(0.97);
110
+ }
111
+ to {
112
+ opacity: 1;
113
+ transform: scale(1);
114
+ }
115
+ }
116
+
117
+ @keyframes zoom-out-97 {
118
+ from {
119
+ opacity: 1;
120
+ transform: scale(1);
121
+ }
122
+ to {
123
+ opacity: 0;
124
+ transform: scale(0.97);
125
+ }
126
+ }
127
+
128
+ @keyframes slide-in-from-top-2 {
129
+ from {
130
+ transform: translateY(-0.5rem);
131
+ }
132
+ to {
133
+ transform: translateY(0);
134
+ }
135
+ }
136
+
137
+ @keyframes slide-out-to-top-2 {
138
+ from {
139
+ transform: translateY(0);
140
+ }
141
+ to {
142
+ transform: translateY(-0.5rem);
143
+ }
144
+ }
145
+
106
146
  /* ============================================
107
147
  Animation Utility Classes
108
148
  ============================================ */
package/dist/styles.css CHANGED
@@ -93,6 +93,7 @@
93
93
  --radius-md: 0.375rem;
94
94
  --radius-lg: 0.5rem;
95
95
  --radius-xl: 0.75rem;
96
+ --radius-2xl: 1rem;
96
97
  --radius-full: 9999px;
97
98
  --font-weight-light: 300;
98
99
  --font-weight-normal: 400;
@@ -220,6 +221,7 @@
220
221
  --text-4xl--line-height: calc(2.5 / 2.25);
221
222
  --tracking-tight: -0.025em;
222
223
  --tracking-wider: 0.05em;
224
+ --leading-tight: 1.25;
223
225
  --leading-relaxed: 1.625;
224
226
  --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
225
227
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
@@ -800,6 +802,42 @@
800
802
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
801
803
  }
802
804
  }
805
+ @keyframes zoom-in-97 {
806
+ from {
807
+ opacity: 0;
808
+ transform: scale(0.97);
809
+ }
810
+ to {
811
+ opacity: 1;
812
+ transform: scale(1);
813
+ }
814
+ }
815
+ @keyframes zoom-out-97 {
816
+ from {
817
+ opacity: 1;
818
+ transform: scale(1);
819
+ }
820
+ to {
821
+ opacity: 0;
822
+ transform: scale(0.97);
823
+ }
824
+ }
825
+ @keyframes slide-in-from-top-2 {
826
+ from {
827
+ transform: translateY(-0.5rem);
828
+ }
829
+ to {
830
+ transform: translateY(0);
831
+ }
832
+ }
833
+ @keyframes slide-out-to-top-2 {
834
+ from {
835
+ transform: translateY(0);
836
+ }
837
+ to {
838
+ transform: translateY(-0.5rem);
839
+ }
840
+ }
803
841
  .slide-in-from-right {
804
842
  animation: slide-in-from-right 0.3s ease-out;
805
843
  }
@@ -1233,6 +1271,9 @@
1233
1271
  .-my-2 {
1234
1272
  margin-block: calc(var(--spacing-2) * -1);
1235
1273
  }
1274
+ .my-1 {
1275
+ margin-block: var(--spacing-1);
1276
+ }
1236
1277
  .my-2 {
1237
1278
  margin-block: var(--spacing-2);
1238
1279
  }
@@ -1461,9 +1502,6 @@
1461
1502
  .h-\[var\(--control-xl-height\)\] {
1462
1503
  height: var(--control-xl-height);
1463
1504
  }
1464
- .h-auto {
1465
- height: auto;
1466
- }
1467
1505
  .h-full {
1468
1506
  height: 100%;
1469
1507
  }
@@ -1476,12 +1514,12 @@
1476
1514
  .max-h-48 {
1477
1515
  max-height: var(--spacing-48);
1478
1516
  }
1517
+ .max-h-\[90vh\] {
1518
+ max-height: 90vh;
1519
+ }
1479
1520
  .max-h-\[300px\] {
1480
1521
  max-height: 300px;
1481
1522
  }
1482
- .max-h-\[inherit\] {
1483
- max-height: inherit;
1484
- }
1485
1523
  .min-h-0 {
1486
1524
  min-height: var(--spacing-0);
1487
1525
  }
@@ -1633,6 +1671,19 @@
1633
1671
  .max-w-\[250px\] {
1634
1672
  max-width: 250px;
1635
1673
  }
1674
+ .max-w-\[300px\] {
1675
+ max-width: 300px;
1676
+ }
1677
+ .max-w-\[350px\] {
1678
+ max-width: 350px;
1679
+ }
1680
+ .max-w-\[400px\] {
1681
+ max-width: 400px;
1682
+ }
1683
+ .max-w-fit {
1684
+ max-width: -moz-fit-content;
1685
+ max-width: fit-content;
1686
+ }
1636
1687
  .max-w-full {
1637
1688
  max-width: 100%;
1638
1689
  }
@@ -1675,6 +1726,9 @@
1675
1726
  .min-w-\[100px\] {
1676
1727
  min-width: 100px;
1677
1728
  }
1729
+ .min-w-\[120px\] {
1730
+ min-width: 120px;
1731
+ }
1678
1732
  .min-w-\[150px\] {
1679
1733
  min-width: 150px;
1680
1734
  }
@@ -1713,6 +1767,12 @@
1713
1767
  --tw-border-spacing-y: var(--spacing-0);
1714
1768
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
1715
1769
  }
1770
+ .origin-top-left {
1771
+ transform-origin: 0 0;
1772
+ }
1773
+ .origin-top-right {
1774
+ transform-origin: 100% 0;
1775
+ }
1716
1776
  .-translate-x-1\/2 {
1717
1777
  --tw-translate-x: calc(calc(1/2 * 100%) * -1);
1718
1778
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -2119,9 +2179,6 @@
2119
2179
  border-color: var(--color-border-muted);
2120
2180
  }
2121
2181
  }
2122
- .self-center {
2123
- align-self: center;
2124
- }
2125
2182
  .truncate {
2126
2183
  overflow: hidden;
2127
2184
  text-overflow: ellipsis;
@@ -2181,6 +2238,10 @@
2181
2238
  .rounded-xl {
2182
2239
  border-radius: var(--radius-xl);
2183
2240
  }
2241
+ .rounded-t-2xl {
2242
+ border-top-left-radius: var(--radius-2xl);
2243
+ border-top-right-radius: var(--radius-2xl);
2244
+ }
2184
2245
  .rounded-t-none {
2185
2246
  border-top-left-radius: var(--radius-none);
2186
2247
  border-top-right-radius: var(--radius-none);
@@ -2301,6 +2362,12 @@
2301
2362
  .border-border-default {
2302
2363
  border-color: var(--color-border-default);
2303
2364
  }
2365
+ .border-border-default\/50 {
2366
+ border-color: color-mix(in srgb, #e5e7eb 50%, transparent);
2367
+ @supports (color: color-mix(in lab, red, red)) {
2368
+ border-color: color-mix(in oklab, var(--color-border-default) 50%, transparent);
2369
+ }
2370
+ }
2304
2371
  .border-border-input {
2305
2372
  border-color: var(--color-border-input);
2306
2373
  }
@@ -2632,6 +2699,13 @@
2632
2699
  --tw-gradient-from: var(--color-action-primary);
2633
2700
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2634
2701
  }
2702
+ .from-black\/60 {
2703
+ --tw-gradient-from: color-mix(in srgb, #000000 60%, transparent);
2704
+ @supports (color: color-mix(in lab, red, red)) {
2705
+ --tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent);
2706
+ }
2707
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2708
+ }
2635
2709
  .from-blue-100 {
2636
2710
  --tw-gradient-from: var(--color-blue-100);
2637
2711
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -2649,10 +2723,25 @@
2649
2723
  --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
2650
2724
  --tw-gradient-stops: var(--tw-gradient-via-stops);
2651
2725
  }
2726
+ .via-black\/50 {
2727
+ --tw-gradient-via: color-mix(in srgb, #000000 50%, transparent);
2728
+ @supports (color: color-mix(in lab, red, red)) {
2729
+ --tw-gradient-via: color-mix(in oklab, var(--color-black) 50%, transparent);
2730
+ }
2731
+ --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
2732
+ --tw-gradient-stops: var(--tw-gradient-via-stops);
2733
+ }
2652
2734
  .to-\[var\(--skeleton-base\)\] {
2653
2735
  --tw-gradient-to: var(--skeleton-base);
2654
2736
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2655
2737
  }
2738
+ .to-black\/60 {
2739
+ --tw-gradient-to: color-mix(in srgb, #000000 60%, transparent);
2740
+ @supports (color: color-mix(in lab, red, red)) {
2741
+ --tw-gradient-to: color-mix(in oklab, var(--color-black) 60%, transparent);
2742
+ }
2743
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2744
+ }
2656
2745
  .to-blue-200 {
2657
2746
  --tw-gradient-to: var(--color-blue-200);
2658
2747
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -2848,12 +2937,18 @@
2848
2937
  .pr-9 {
2849
2938
  padding-right: var(--spacing-9);
2850
2939
  }
2940
+ .pb-0 {
2941
+ padding-bottom: var(--spacing-0);
2942
+ }
2851
2943
  .pb-1\.5 {
2852
2944
  padding-bottom: calc(var(--spacing) * 1.5);
2853
2945
  }
2854
2946
  .pb-2 {
2855
2947
  padding-bottom: var(--spacing-2);
2856
2948
  }
2949
+ .pb-3 {
2950
+ padding-bottom: var(--spacing-3);
2951
+ }
2857
2952
  .pb-4 {
2858
2953
  padding-bottom: var(--spacing-4);
2859
2954
  }
@@ -2977,6 +3072,10 @@
2977
3072
  --tw-leading: var(--leading-relaxed);
2978
3073
  line-height: var(--leading-relaxed);
2979
3074
  }
3075
+ .leading-tight {
3076
+ --tw-leading: var(--leading-tight);
3077
+ line-height: var(--leading-tight);
3078
+ }
2980
3079
  .font-\[500\] {
2981
3080
  --tw-font-weight: 500;
2982
3081
  font-weight: 500;
@@ -3242,6 +3341,10 @@
3242
3341
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
3243
3342
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3244
3343
  }
3344
+ .shadow-2xl {
3345
+ --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
3346
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3347
+ }
3245
3348
  .shadow-\[inset_0_1px_0_0_theme\(colors\.gray\.600\)\] {
3246
3349
  --tw-shadow: inset 0 1px 0 0 var(--tw-shadow-color, #4b5563);
3247
3350
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -3282,6 +3385,12 @@
3282
3385
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
3283
3386
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3284
3387
  }
3388
+ .shadow-black\/20 {
3389
+ --tw-shadow-color: color-mix(in srgb, #000000 20%, transparent);
3390
+ @supports (color: color-mix(in lab, red, red)) {
3391
+ --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent);
3392
+ }
3393
+ }
3285
3394
  .ring-background-surface {
3286
3395
  --tw-ring-color: var(--color-background-surface);
3287
3396
  }
@@ -3689,6 +3798,12 @@
3689
3798
  border-width: 0px;
3690
3799
  }
3691
3800
  }
3801
+ .last\:border-b-0 {
3802
+ &:last-child {
3803
+ border-bottom-style: var(--tw-border-style);
3804
+ border-bottom-width: 0px;
3805
+ }
3806
+ }
3692
3807
  .visited\:text-action-primary {
3693
3808
  &:visited {
3694
3809
  color: var(--color-action-primary);
@@ -3834,6 +3949,13 @@
3834
3949
  }
3835
3950
  }
3836
3951
  }
3952
+ .hover\:bg-red-50 {
3953
+ &:hover {
3954
+ @media (hover: hover) {
3955
+ background-color: var(--color-red-50);
3956
+ }
3957
+ }
3958
+ }
3837
3959
  .hover\:bg-red-700 {
3838
3960
  &:hover {
3839
3961
  @media (hover: hover) {
@@ -4127,6 +4249,24 @@
4127
4249
  opacity: 50%;
4128
4250
  }
4129
4251
  }
4252
+ .data-\[exiting\]\:duration-150 {
4253
+ &[data-exiting] {
4254
+ --tw-duration: 150ms;
4255
+ transition-duration: 150ms;
4256
+ }
4257
+ }
4258
+ .data-\[exiting\]\:duration-200 {
4259
+ &[data-exiting] {
4260
+ --tw-duration: 200ms;
4261
+ transition-duration: 200ms;
4262
+ }
4263
+ }
4264
+ .data-\[exiting\]\:ease-in {
4265
+ &[data-exiting] {
4266
+ --tw-ease: var(--ease-in);
4267
+ transition-timing-function: var(--ease-in);
4268
+ }
4269
+ }
4130
4270
  .data-\[focused\]\:bg-background-hover {
4131
4271
  &[data-focused] {
4132
4272
  background-color: var(--color-background-hover);
@@ -4179,6 +4319,14 @@
4179
4319
  background-color: var(--color-gray-100);
4180
4320
  }
4181
4321
  }
4322
+ .supports-\[backdrop-filter\]\:bg-black\/40 {
4323
+ @supports (backdrop-filter: var(--tw)) {
4324
+ background-color: color-mix(in srgb, #000000 40%, transparent);
4325
+ @supports (color: color-mix(in lab, red, red)) {
4326
+ background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
4327
+ }
4328
+ }
4329
+ }
4182
4330
  .sm\:col-auto {
4183
4331
  @media (width >= 40rem) {
4184
4332
  grid-column: auto;
@@ -4484,6 +4632,11 @@
4484
4632
  height: 100%;
4485
4633
  }
4486
4634
  }
4635
+ .md\:max-h-\[85vh\] {
4636
+ @media (width >= 48rem) {
4637
+ max-height: 85vh;
4638
+ }
4639
+ }
4487
4640
  .md\:w-64 {
4488
4641
  @media (width >= 48rem) {
4489
4642
  width: var(--spacing-64);
@@ -4570,11 +4723,26 @@
4570
4723
  grid-template-columns: none;
4571
4724
  }
4572
4725
  }
4726
+ .md\:items-center {
4727
+ @media (width >= 48rem) {
4728
+ align-items: center;
4729
+ }
4730
+ }
4573
4731
  .md\:gap-6 {
4574
4732
  @media (width >= 48rem) {
4575
4733
  gap: var(--spacing-6);
4576
4734
  }
4577
4735
  }
4736
+ .md\:rounded-xl {
4737
+ @media (width >= 48rem) {
4738
+ border-radius: var(--radius-xl);
4739
+ }
4740
+ }
4741
+ .md\:p-4 {
4742
+ @media (width >= 48rem) {
4743
+ padding: var(--spacing-4);
4744
+ }
4745
+ }
4578
4746
  .md\:px-6 {
4579
4747
  @media (width >= 48rem) {
4580
4748
  padding-inline: var(--spacing-6);
@@ -5890,11 +6058,6 @@
5890
6058
  display: block;
5891
6059
  }
5892
6060
  }
5893
- .\[\[data-placement\]\>\&\]\:p-4 {
5894
- [data-placement]>& {
5895
- padding: var(--spacing-4);
5896
- }
5897
- }
5898
6061
  .\[td\:first-child_\&\]\:rounded-s-full {
5899
6062
  td:first-child & {
5900
6063
  border-start-start-radius: var(--radius-full);
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.5.1",
3
- "generatedAt": "2025-10-10T17:36:16.957Z",
2
+ "version": "1.5.3",
3
+ "generatedAt": "2025-10-12T13:19:01.260Z",
4
4
  "categories": {
5
5
  "hooks": {
6
6
  "description": "React hooks for common functionality like debouncing, local storage, and time controls",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@texturehq/edges",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "author": "Nicholas Brown <nick@texturehq.com>",
5
5
  "description": "A shared component library for Texture",
6
6
  "type": "module",
@@ -59,8 +59,8 @@
59
59
  },
60
60
  "peerDependencies": {
61
61
  "next": "*",
62
- "react": "^18.2.0",
63
- "react-dom": "^18.2.0"
62
+ "react": "^19.0.0",
63
+ "react-dom": "^19.0.0"
64
64
  },
65
65
  "dependencies": {
66
66
  "@phosphor-icons/react": "^2.1.7",
@@ -106,14 +106,14 @@
106
106
  "@tailwindcss/postcss": "^4.1.4",
107
107
  "@testing-library/dom": "^10.4.0",
108
108
  "@testing-library/jest-dom": "^6.4.2",
109
- "@testing-library/react": "^14.2.1",
109
+ "@testing-library/react": "^16.3.0",
110
110
  "@testing-library/user-event": "^14.5.2",
111
111
  "@types/file-saver": "^2.0.7",
112
112
  "@types/luxon": "^3.7.1",
113
113
  "@types/node": "^20.11.30",
114
114
  "@types/papaparse": "^5.3.16",
115
- "@types/react": "^18.2.67",
116
- "@types/react-dom": "^18.2.22",
115
+ "@types/react": "^19.2.2",
116
+ "@types/react-dom": "^19.2.1",
117
117
  "@vitejs/plugin-react": "^4.2.1",
118
118
  "@vitest/coverage-v8": "^3.1.1",
119
119
  "@vitest/ui": "^3.1.1",
@@ -123,8 +123,8 @@
123
123
  "jsdom": "^24.0.0",
124
124
  "postcss": "^8.4.35",
125
125
  "postcss-cli": "^11.0.0",
126
- "react": "^18.2.0",
127
- "react-dom": "^18.2.0",
126
+ "react": "19.2.0",
127
+ "react-dom": "19.2.0",
128
128
  "storybook": "^8.6.14",
129
129
  "style-dictionary": "^5.0.4",
130
130
  "tailwindcss": "^4.1.3",
@@ -39,7 +39,7 @@ function findComponentFile(relPath) {
39
39
  // Components can be in directories like Button/Button.tsx or charts/ChartAxis/ChartAxis.tsx
40
40
  const base = path.join(SRC_DIR, "components", relPath);
41
41
  // Get the component name (last part of the path)
42
- const componentName = relPath.split('/').pop();
42
+ const componentName = relPath.split("/").pop();
43
43
  const candidates = [
44
44
  path.join(base, `${componentName}.tsx`),
45
45
  path.join(base, `${componentName}.ts`),
@@ -127,7 +127,7 @@ function run() {
127
127
  // Description: JSDoc above various export patterns
128
128
  let idx = -1;
129
129
  let description = "";
130
-
130
+
131
131
  // Try multiple patterns to find the component export
132
132
  const patterns = [
133
133
  `export function ${name}`,
@@ -137,11 +137,11 @@ function run() {
137
137
  new RegExp(`export\\s+const\\s+${name}\\s*[:=]`),
138
138
  new RegExp(`export\\s+function\\s+${name}\\s*[(<]`),
139
139
  new RegExp(`export\\s+class\\s+${name}\\s*[{<]`),
140
- new RegExp(`export\\s+(interface|type)\\s+${name}Props\\b`)
140
+ new RegExp(`export\\s+(interface|type)\\s+${name}Props\\b`),
141
141
  ];
142
-
142
+
143
143
  for (const pattern of patterns) {
144
- if (typeof pattern === 'string') {
144
+ if (typeof pattern === "string") {
145
145
  idx = content.indexOf(pattern);
146
146
  } else {
147
147
  const match = content.search(pattern);
@@ -149,7 +149,7 @@ function run() {
149
149
  }
150
150
  if (idx !== -1) break;
151
151
  }
152
-
152
+
153
153
  // If we found an export, get the JSDoc above it
154
154
  if (idx !== -1) {
155
155
  description = getJsdocAbove(content, idx);