@texturehq/edges 1.13.0 → 1.13.2
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/components.manifest.json +21 -6
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +423 -13
- package/dist/index.d.ts +423 -13
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/{server-8T44SFVa.d.cts → server-BV15KAF4.d.cts} +1 -1
- package/dist/{server-8T44SFVa.d.ts → server-BV15KAF4.d.ts} +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/styles.css +41 -9
- package/dist/utilities.manifest.json +23 -2
- package/package.json +3 -2
package/dist/styles.css
CHANGED
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
--spacing-8: 2rem;
|
|
75
75
|
--spacing-9: 2.25rem;
|
|
76
76
|
--spacing-10: 2.5rem;
|
|
77
|
+
--spacing-11: 2.75rem;
|
|
77
78
|
--spacing-12: 3rem;
|
|
78
79
|
--spacing-14: 3.5rem;
|
|
79
80
|
--spacing-16: 4rem;
|
|
@@ -1251,8 +1252,8 @@
|
|
|
1251
1252
|
.inset-0 {
|
|
1252
1253
|
inset: var(--spacing-0);
|
|
1253
1254
|
}
|
|
1254
|
-
.inset-y-\[
|
|
1255
|
-
inset-block:
|
|
1255
|
+
.inset-y-\[2px\] {
|
|
1256
|
+
inset-block: 2px;
|
|
1256
1257
|
}
|
|
1257
1258
|
.start-1 {
|
|
1258
1259
|
inset-inline-start: var(--spacing-1);
|
|
@@ -1308,8 +1309,8 @@
|
|
|
1308
1309
|
.right-8 {
|
|
1309
1310
|
right: var(--spacing-8);
|
|
1310
1311
|
}
|
|
1311
|
-
.right-\[
|
|
1312
|
-
right:
|
|
1312
|
+
.right-\[2px\] {
|
|
1313
|
+
right: 2px;
|
|
1313
1314
|
}
|
|
1314
1315
|
.-bottom-2 {
|
|
1315
1316
|
bottom: calc(var(--spacing-2) * -1);
|
|
@@ -1800,6 +1801,9 @@
|
|
|
1800
1801
|
.w-10 {
|
|
1801
1802
|
width: var(--spacing-10);
|
|
1802
1803
|
}
|
|
1804
|
+
.w-11 {
|
|
1805
|
+
width: var(--spacing-11);
|
|
1806
|
+
}
|
|
1803
1807
|
.w-12 {
|
|
1804
1808
|
width: var(--spacing-12);
|
|
1805
1809
|
}
|
|
@@ -2534,9 +2538,9 @@
|
|
|
2534
2538
|
border-top-left-radius: var(--radius-sm);
|
|
2535
2539
|
border-bottom-left-radius: var(--radius-sm);
|
|
2536
2540
|
}
|
|
2537
|
-
.rounded-r-\[calc\(var\(--control-border-radius\)-
|
|
2538
|
-
border-top-right-radius: calc(var(--control-border-radius) -
|
|
2539
|
-
border-bottom-right-radius: calc(var(--control-border-radius) -
|
|
2541
|
+
.rounded-r-\[calc\(var\(--control-border-radius\)-2px\)\] {
|
|
2542
|
+
border-top-right-radius: calc(var(--control-border-radius) - 2px);
|
|
2543
|
+
border-bottom-right-radius: calc(var(--control-border-radius) - 2px);
|
|
2540
2544
|
}
|
|
2541
2545
|
.rounded-r-sm {
|
|
2542
2546
|
border-top-right-radius: var(--radius-sm);
|
|
@@ -2676,6 +2680,9 @@
|
|
|
2676
2680
|
border-color: color-mix(in oklab, var(--color-border-default) 60%, transparent);
|
|
2677
2681
|
}
|
|
2678
2682
|
}
|
|
2683
|
+
.border-border-focus {
|
|
2684
|
+
border-color: var(--color-border-focus);
|
|
2685
|
+
}
|
|
2679
2686
|
.border-border-input {
|
|
2680
2687
|
border-color: var(--color-border-input);
|
|
2681
2688
|
}
|
|
@@ -3125,6 +3132,9 @@
|
|
|
3125
3132
|
.p-1 {
|
|
3126
3133
|
padding: var(--spacing-1);
|
|
3127
3134
|
}
|
|
3135
|
+
.p-1\.5 {
|
|
3136
|
+
padding: calc(var(--spacing) * 1.5);
|
|
3137
|
+
}
|
|
3128
3138
|
.p-2 {
|
|
3129
3139
|
padding: var(--spacing-2);
|
|
3130
3140
|
}
|
|
@@ -3206,6 +3216,9 @@
|
|
|
3206
3216
|
.px-px {
|
|
3207
3217
|
padding-inline: 1px;
|
|
3208
3218
|
}
|
|
3219
|
+
.py-0 {
|
|
3220
|
+
padding-block: var(--spacing-0);
|
|
3221
|
+
}
|
|
3209
3222
|
.py-0\.5 {
|
|
3210
3223
|
padding-block: calc(var(--spacing) * 0.5);
|
|
3211
3224
|
}
|
|
@@ -3734,6 +3747,14 @@
|
|
|
3734
3747
|
--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
|
|
3735
3748
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3736
3749
|
}
|
|
3750
|
+
.shadow-\[inset_0_0_0_1px_var\(--color-border-focus\)\] {
|
|
3751
|
+
--tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--color-border-focus));
|
|
3752
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3753
|
+
}
|
|
3754
|
+
.shadow-\[inset_0_0_0_1px_var\(--color-feedback-error-border\)\] {
|
|
3755
|
+
--tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--color-feedback-error-border));
|
|
3756
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3757
|
+
}
|
|
3737
3758
|
.shadow-\[inset_0_1px_0_0_theme\(colors\.gray\.600\)\] {
|
|
3738
3759
|
--tw-shadow: inset 0 1px 0 0 var(--tw-shadow-color, #4b5563);
|
|
3739
3760
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3937,6 +3958,10 @@
|
|
|
3937
3958
|
.forced-color-adjust-none {
|
|
3938
3959
|
forced-color-adjust: none;
|
|
3939
3960
|
}
|
|
3961
|
+
.\!outline-none {
|
|
3962
|
+
--tw-outline-style: none !important;
|
|
3963
|
+
outline-style: none !important;
|
|
3964
|
+
}
|
|
3940
3965
|
.outline-none {
|
|
3941
3966
|
--tw-outline-style: none;
|
|
3942
3967
|
outline-style: none;
|
|
@@ -4481,6 +4506,13 @@
|
|
|
4481
4506
|
}
|
|
4482
4507
|
}
|
|
4483
4508
|
}
|
|
4509
|
+
.hover\:decoration-current {
|
|
4510
|
+
&:hover {
|
|
4511
|
+
@media (hover: hover) {
|
|
4512
|
+
text-decoration-color: currentcolor;
|
|
4513
|
+
}
|
|
4514
|
+
}
|
|
4515
|
+
}
|
|
4484
4516
|
.hover\:decoration-text-link-hover {
|
|
4485
4517
|
&:hover {
|
|
4486
4518
|
@media (hover: hover) {
|
|
@@ -5190,9 +5222,9 @@
|
|
|
5190
5222
|
padding-block: var(--spacing-6);
|
|
5191
5223
|
}
|
|
5192
5224
|
}
|
|
5193
|
-
.md\:pt-
|
|
5225
|
+
.md\:pt-12 {
|
|
5194
5226
|
@media (width >= 48rem) {
|
|
5195
|
-
padding-top: var(--spacing-
|
|
5227
|
+
padding-top: var(--spacing-12);
|
|
5196
5228
|
}
|
|
5197
5229
|
}
|
|
5198
5230
|
.md\:pb-28 {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.13.
|
|
3
|
-
"generatedAt": "2025-10-
|
|
2
|
+
"version": "1.13.2",
|
|
3
|
+
"generatedAt": "2025-10-28T18:47:55.359Z",
|
|
4
4
|
"categories": {
|
|
5
5
|
"hooks": {
|
|
6
6
|
"description": "React hooks for common functionality like breakpoints, debouncing, local storage, and media queries",
|
|
@@ -26,6 +26,20 @@
|
|
|
26
26
|
"category": "hooks",
|
|
27
27
|
"file": "hooks/useChartExport.ts"
|
|
28
28
|
},
|
|
29
|
+
{
|
|
30
|
+
"name": "useClientDataControls",
|
|
31
|
+
"type": "function",
|
|
32
|
+
"description": "useClientDataControls Client-side hook for filtering, sorting, searching, and faceting data. Uses memoization to avoid unnecessary recomputation. Operations are applied in this order: 1. Search (fuzzy or exact matching) 2. Filter (structured conditions) 3. Facet computation (on filtered data) 4. Sort ```tsx const { data, facetCounts, resultCount } = useClientDataControls({ data: rawData, filters: createFilters([ createFilter('department', 'in', ['Engineering', 'Sales']) ]), sort: { field: 'name', direction: 'asc' }, search: { query: searchQuery, fields: ['name', 'email'] }, facetConfigs: [ { field: 'department', label: 'Department' }, { field: 'status', label: 'Status' } ] }); ```",
|
|
33
|
+
"category": "hooks",
|
|
34
|
+
"file": "hooks/useClientDataControls.ts"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "useDataControls",
|
|
38
|
+
"type": "function",
|
|
39
|
+
"description": "useDataControls Unified hook for managing data filtering, sorting, searching, and faceting. Supports both client-side and server-side modes. **Client Mode:** - Processes data locally using pure functions - Computes facet counts automatically - Best for datasets < 5000 rows **Server Mode:** - Notifies parent when state changes (debounced for search) - Passes through server-provided data and counts - Best for large datasets or complex queries ```tsx const { data, facetCounts, resultCount } = useDataControls({ mode: 'client', data: rawData, filters: createFilters([...]), sort: { field: 'name', direction: 'asc' }, search: { query: searchQuery, fields: ['name', 'email'] }, facetConfigs: [{ field: 'department', label: 'Department' }] }); ``` ```tsx const { data, facetCounts, resultCount } = useDataControls({ mode: 'server', data: serverData, // Already filtered filters, sort, search, resultCount: totalCount, facetCounts: serverFacets, onStateChange: (state) => refetch(state) }); ```",
|
|
40
|
+
"category": "hooks",
|
|
41
|
+
"file": "hooks/useDataControls.ts"
|
|
42
|
+
},
|
|
29
43
|
{
|
|
30
44
|
"name": "useDebounce",
|
|
31
45
|
"type": "function",
|
|
@@ -60,6 +74,13 @@
|
|
|
60
74
|
"description": "Hook to check if a media query matches the current viewport ```tsx const isMobile = useMediaQuery('(max-width: 767px)'); const prefersReducedMotion = useMediaQuery('(prefers-reduced-motion: reduce)'); const isLandscape = useMediaQuery('(orientation: landscape)'); ```",
|
|
61
75
|
"category": "hooks",
|
|
62
76
|
"file": "hooks/useMediaQuery.ts"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "useServerDataControls",
|
|
80
|
+
"type": "function",
|
|
81
|
+
"description": "useServerDataControls Server-side hook that notifies the parent when filter/sort/search state changes. Search queries are debounced to avoid excessive API calls. This hook doesn't manipulate data - it just provides a clean way to: 1. Debounce search input 2. Notify when any state changes 3. Trigger server refetch ```tsx const [filters, setFilters] = useState(null); const [sort, setSort] = useState({ field: 'name', direction: 'asc' }); const [search, setSearch] = useState({ query: '', fields: ['name'] }); useServerDataControls({ filters, sort, search, onStateChange: (state) => { // Refetch data with new parameters refetch({ filters: state.filters, sort: state.sort, search: state.search?.query }); } }); ```",
|
|
82
|
+
"category": "hooks",
|
|
83
|
+
"file": "hooks/useServerDataControls.ts"
|
|
63
84
|
}
|
|
64
85
|
]
|
|
65
86
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@texturehq/edges",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
4
4
|
"author": "Nicholas Brown <nick@texturehq.com>",
|
|
5
5
|
"description": "A shared component library for Texture",
|
|
6
6
|
"type": "module",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"@phosphor-icons/react": "^2.1.7",
|
|
67
|
-
"@tanstack/react-virtual": "^3.
|
|
67
|
+
"@tanstack/react-virtual": "^3.13.12",
|
|
68
68
|
"@tiptap/core": "^3.4.5",
|
|
69
69
|
"@tiptap/extension-link": "^3.4.5",
|
|
70
70
|
"@tiptap/pm": "^3.4.5",
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"file-saver": "^2.0.5",
|
|
88
88
|
"filestack-react": "^6.0.0",
|
|
89
89
|
"framer-motion": "^12.23.18",
|
|
90
|
+
"fuse.js": "^7.0.0",
|
|
90
91
|
"lucide-react": "^0.544.0",
|
|
91
92
|
"luxon": "^3.4.4",
|
|
92
93
|
"mapbox-gl": "3.7.0",
|