@texturehq/edges 1.12.1 → 1.12.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.
@@ -4,6 +4,7 @@ import React__default, { ReactNode } from 'react';
4
4
  import * as PhosphorIcons from '@phosphor-icons/react';
5
5
  import { IconProps as IconProps$1 } from '@phosphor-icons/react';
6
6
  import { DateValue, DateFieldProps as DateFieldProps$1, ValidationResult, MeterProps as MeterProps$1 } from 'react-aria-components';
7
+ import * as react_map_gl from 'react-map-gl';
7
8
  import { ViewState, MapRef } from 'react-map-gl';
8
9
  import * as d3_scale from 'd3-scale';
9
10
  import { ScaleTime, ScaleLinear } from 'd3-scale';
@@ -995,10 +996,64 @@ interface RasterLayerSpec extends BaseLayerSpec {
995
996
  fadeDuration?: number;
996
997
  };
997
998
  }
999
+ /**
1000
+ * Clustered vector tile layer (Mapbox Vector Tiles with server-side clustering)
1001
+ *
1002
+ * Used for displaying large numbers of point features with automatic clustering.
1003
+ * The backend MVT service pre-clusters points and provides cluster metadata.
1004
+ */
1005
+ interface ClusteredVectorLayerSpec extends Omit<BaseLayerSpec, "tooltip"> {
1006
+ kind: "clusteredVector";
1007
+ /** Mapbox tileset URL (mapbox://...) or HTTP template with {z}/{x}/{y} */
1008
+ tileset: string;
1009
+ /** Source layer name within the tileset */
1010
+ sourceLayer: string;
1011
+ /** ID of the currently selected feature (for highlighting) */
1012
+ selectedId?: string | null;
1013
+ /** Tooltip configuration specific to clustered data */
1014
+ tooltip?: {
1015
+ /** When to show the tooltip (defaults to "hover") */
1016
+ trigger?: "hover" | "click";
1017
+ /** Tooltip content for clusters (receives point count and feature) */
1018
+ cluster?: (count: number, feature: LayerFeature) => React.ReactNode;
1019
+ /** Tooltip content for individual points */
1020
+ point?: (feature: LayerFeature) => React.ReactNode;
1021
+ };
1022
+ /** Style overrides for cluster circles (optional, uses design system defaults) */
1023
+ clusterStyle?: {
1024
+ /** Color for cluster circles */
1025
+ color?: ColorValue;
1026
+ /** Shadow color */
1027
+ shadowColor?: string;
1028
+ /** Size thresholds and radii for different cluster sizes */
1029
+ sizes?: {
1030
+ threshold: number;
1031
+ radius: number;
1032
+ }[];
1033
+ };
1034
+ /** Style overrides for individual points (optional, uses design system defaults) */
1035
+ pointStyle?: {
1036
+ /** Fill color */
1037
+ color?: ColorValue;
1038
+ /** Circle radius in pixels */
1039
+ radius?: number;
1040
+ /** Border width in pixels */
1041
+ borderWidth?: number;
1042
+ /** Border color */
1043
+ borderColor?: string;
1044
+ };
1045
+ /** Style overrides for selected point (optional, uses design system defaults) */
1046
+ selectedStyle?: {
1047
+ /** Fill color */
1048
+ color?: ColorValue;
1049
+ /** Circle radius in pixels */
1050
+ radius?: number;
1051
+ };
1052
+ }
998
1053
  /**
999
1054
  * Union of all layer types
1000
1055
  */
1001
- type LayerSpec = VectorLayerSpec | GeoJsonLayerSpec | CustomPinsSpec | RasterLayerSpec;
1056
+ type LayerSpec = VectorLayerSpec | GeoJsonLayerSpec | CustomPinsSpec | RasterLayerSpec | ClusteredVectorLayerSpec;
1002
1057
 
1003
1058
  /**
1004
1059
  * Unified map style configuration for all map components
@@ -1319,6 +1374,21 @@ interface InteractiveMapProps {
1319
1374
  * controls={false}
1320
1375
  */
1321
1376
  controls?: MapControl[] | "default" | false;
1377
+ /**
1378
+ * Raw Mapbox GL children (Source, Layer, Marker, etc.)
1379
+ * Use for advanced layer configurations not supported by the layers prop
1380
+ */
1381
+ children?: React__default.ReactNode;
1382
+ /**
1383
+ * Layer IDs that should be interactive (clickable/hoverable)
1384
+ * Used when rendering raw Mapbox children that need click/hover events
1385
+ */
1386
+ additionalInteractiveLayerIds?: string[];
1387
+ /**
1388
+ * Handler for map clicks on interactive layers (includes both layers prop and children)
1389
+ * Receives the click event with feature data
1390
+ */
1391
+ onMapClick?: (event: react_map_gl.MapLayerMouseEvent) => void;
1322
1392
  /**
1323
1393
  * Show user location as a blue dot marker (like Google/Apple Maps)
1324
1394
  * This only controls the visibility of the blue dot marker.
@@ -1592,4 +1662,4 @@ declare const isLightColor: (color: string) => boolean;
1592
1662
  */
1593
1663
  declare const getContrastingTextColor: (backgroundColor: string) => string;
1594
1664
 
1595
- export { type LayerStyle as $, type ActionItem as A, type BooleanFormat as B, type CurrentFormat as C, type DateFormat as D, type EnergyFormat as E, type FieldValue as F, type GeoJsonLayerSpec as G, type CodeTheme as H, Icon as I, CodeEditor as J, type DateFieldProps as K, type LayerSpec as L, DateField as M, type NumberFormat as N, type FileUploadProps as O, type PhoneFormat as P, FileUpload as Q, type ResistanceFormat as R, Heading as S, type TemperatureUnitString as T, Loader as U, type VoltageFormat as V, Logo as W, type ColorSpec as X, type YFormatType as Y, type InteractiveMapProps as Z, type LayerFeature as _, type FormattedValue as a, type MapPoint as a0, type RenderType as a1, type StaticMapProps as a2, type ZoomStops as a3, InteractiveMap as a4, MAP_TYPES as a5, StaticMap as a6, type MeterProps as a7, Meter as a8, type RichTextEditorProps as a9, isLightColor as aA, type ComponentFormatOptions as aB, formatComponentValue as aC, useComponentFormatter as aD, type BaseFormat as aE, type TextTransform as aF, type TextTruncatePosition as aG, type DateFormatStyle as aH, type EnergyUnit as aI, type PowerUnit as aJ, type VoltageUnit as aK, type CurrentUnit as aL, type ResistanceUnit as aM, type DistanceUnit as aN, type CustomFormat as aO, RichTextEditor as aa, type SegmentedControlProps as ab, type SegmentOption as ac, SegmentedControl as ad, type SideNavItem as ae, type SideNavProps as af, SideNav as ag, TextLink as ah, type TopNavProps as ai, TopNav as aj, type TooltipSeries as ak, ChartContext as al, useChartContext as am, type ChartMargin as an, createXScale as ao, createYScale as ap, defaultMargin as aq, getYFormatSettings as ar, type YFormatSettings as as, clearColorCache as at, createCategoryColorMap as au, getContrastingTextColor as av, getDefaultChartColor as aw, getDefaultColors as ax, getResolvedColor as ay, getThemeCategoricalColors as az, type DistanceFormat as b, type CurrencyFormat as c, type PowerFormat as d, type FormatterFunction as e, type TemperatureUnit as f, type TemperatureFormat as g, type TextFormat as h, type FieldFormat as i, type BaseDataPoint as j, type TooltipData as k, type IconName as l, type ComponentFormatter as m, type CustomPinsSpec as n, type RasterLayerSpec as o, type VectorLayerSpec as p, type ActionMenuProps as q, ActionMenu as r, type AppShellProps as s, AppShell as t, type AvatarProps as u, Avatar as v, type BadgeProps as w, Badge as x, type CodeEditorProps as y, type CodeLanguage as z };
1665
+ export { type LayerFeature as $, type ActionItem as A, type BooleanFormat as B, type CurrentFormat as C, type DateFormat as D, type EnergyFormat as E, type FieldValue as F, type GeoJsonLayerSpec as G, type CodeLanguage as H, Icon as I, type CodeTheme as J, CodeEditor as K, type LayerSpec as L, type DateFieldProps as M, type NumberFormat as N, DateField as O, type PhoneFormat as P, type FileUploadProps as Q, type ResistanceFormat as R, FileUpload as S, type TemperatureUnitString as T, Heading as U, type VoltageFormat as V, Loader as W, Logo as X, type YFormatType as Y, type ColorSpec as Z, type InteractiveMapProps as _, type FormattedValue as a, type LayerStyle as a0, type MapPoint as a1, type RenderType as a2, type StaticMapProps as a3, type ZoomStops as a4, InteractiveMap as a5, MAP_TYPES as a6, StaticMap as a7, type MeterProps as a8, Meter as a9, getThemeCategoricalColors as aA, isLightColor as aB, type ComponentFormatOptions as aC, formatComponentValue as aD, useComponentFormatter as aE, type BaseFormat as aF, type TextTransform as aG, type TextTruncatePosition as aH, type DateFormatStyle as aI, type EnergyUnit as aJ, type PowerUnit as aK, type VoltageUnit as aL, type CurrentUnit as aM, type ResistanceUnit as aN, type DistanceUnit as aO, type CustomFormat as aP, type RichTextEditorProps as aa, RichTextEditor as ab, type SegmentedControlProps as ac, type SegmentOption as ad, SegmentedControl as ae, type SideNavItem as af, type SideNavProps as ag, SideNav as ah, TextLink as ai, type TopNavProps as aj, TopNav as ak, type TooltipSeries as al, ChartContext as am, useChartContext as an, type ChartMargin as ao, createXScale as ap, createYScale as aq, defaultMargin as ar, getYFormatSettings as as, type YFormatSettings as at, clearColorCache as au, createCategoryColorMap as av, getContrastingTextColor as aw, getDefaultChartColor as ax, getDefaultColors as ay, getResolvedColor as az, type DistanceFormat as b, type CurrencyFormat as c, type PowerFormat as d, type FormatterFunction as e, type TemperatureUnit as f, type TemperatureFormat as g, type TextFormat as h, type FieldFormat as i, type BaseDataPoint as j, type TooltipData as k, type IconName as l, type ComponentFormatter as m, type CustomPinsSpec as n, type RasterLayerSpec as o, type VectorLayerSpec as p, type ClusteredVectorLayerSpec as q, type ActionMenuProps as r, ActionMenu as s, type AppShellProps as t, AppShell as u, type AvatarProps as v, Avatar as w, type BadgeProps as x, Badge as y, type CodeEditorProps as z };
@@ -4,6 +4,7 @@ import React__default, { ReactNode } from 'react';
4
4
  import * as PhosphorIcons from '@phosphor-icons/react';
5
5
  import { IconProps as IconProps$1 } from '@phosphor-icons/react';
6
6
  import { DateValue, DateFieldProps as DateFieldProps$1, ValidationResult, MeterProps as MeterProps$1 } from 'react-aria-components';
7
+ import * as react_map_gl from 'react-map-gl';
7
8
  import { ViewState, MapRef } from 'react-map-gl';
8
9
  import * as d3_scale from 'd3-scale';
9
10
  import { ScaleTime, ScaleLinear } from 'd3-scale';
@@ -995,10 +996,64 @@ interface RasterLayerSpec extends BaseLayerSpec {
995
996
  fadeDuration?: number;
996
997
  };
997
998
  }
999
+ /**
1000
+ * Clustered vector tile layer (Mapbox Vector Tiles with server-side clustering)
1001
+ *
1002
+ * Used for displaying large numbers of point features with automatic clustering.
1003
+ * The backend MVT service pre-clusters points and provides cluster metadata.
1004
+ */
1005
+ interface ClusteredVectorLayerSpec extends Omit<BaseLayerSpec, "tooltip"> {
1006
+ kind: "clusteredVector";
1007
+ /** Mapbox tileset URL (mapbox://...) or HTTP template with {z}/{x}/{y} */
1008
+ tileset: string;
1009
+ /** Source layer name within the tileset */
1010
+ sourceLayer: string;
1011
+ /** ID of the currently selected feature (for highlighting) */
1012
+ selectedId?: string | null;
1013
+ /** Tooltip configuration specific to clustered data */
1014
+ tooltip?: {
1015
+ /** When to show the tooltip (defaults to "hover") */
1016
+ trigger?: "hover" | "click";
1017
+ /** Tooltip content for clusters (receives point count and feature) */
1018
+ cluster?: (count: number, feature: LayerFeature) => React.ReactNode;
1019
+ /** Tooltip content for individual points */
1020
+ point?: (feature: LayerFeature) => React.ReactNode;
1021
+ };
1022
+ /** Style overrides for cluster circles (optional, uses design system defaults) */
1023
+ clusterStyle?: {
1024
+ /** Color for cluster circles */
1025
+ color?: ColorValue;
1026
+ /** Shadow color */
1027
+ shadowColor?: string;
1028
+ /** Size thresholds and radii for different cluster sizes */
1029
+ sizes?: {
1030
+ threshold: number;
1031
+ radius: number;
1032
+ }[];
1033
+ };
1034
+ /** Style overrides for individual points (optional, uses design system defaults) */
1035
+ pointStyle?: {
1036
+ /** Fill color */
1037
+ color?: ColorValue;
1038
+ /** Circle radius in pixels */
1039
+ radius?: number;
1040
+ /** Border width in pixels */
1041
+ borderWidth?: number;
1042
+ /** Border color */
1043
+ borderColor?: string;
1044
+ };
1045
+ /** Style overrides for selected point (optional, uses design system defaults) */
1046
+ selectedStyle?: {
1047
+ /** Fill color */
1048
+ color?: ColorValue;
1049
+ /** Circle radius in pixels */
1050
+ radius?: number;
1051
+ };
1052
+ }
998
1053
  /**
999
1054
  * Union of all layer types
1000
1055
  */
1001
- type LayerSpec = VectorLayerSpec | GeoJsonLayerSpec | CustomPinsSpec | RasterLayerSpec;
1056
+ type LayerSpec = VectorLayerSpec | GeoJsonLayerSpec | CustomPinsSpec | RasterLayerSpec | ClusteredVectorLayerSpec;
1002
1057
 
1003
1058
  /**
1004
1059
  * Unified map style configuration for all map components
@@ -1319,6 +1374,21 @@ interface InteractiveMapProps {
1319
1374
  * controls={false}
1320
1375
  */
1321
1376
  controls?: MapControl[] | "default" | false;
1377
+ /**
1378
+ * Raw Mapbox GL children (Source, Layer, Marker, etc.)
1379
+ * Use for advanced layer configurations not supported by the layers prop
1380
+ */
1381
+ children?: React__default.ReactNode;
1382
+ /**
1383
+ * Layer IDs that should be interactive (clickable/hoverable)
1384
+ * Used when rendering raw Mapbox children that need click/hover events
1385
+ */
1386
+ additionalInteractiveLayerIds?: string[];
1387
+ /**
1388
+ * Handler for map clicks on interactive layers (includes both layers prop and children)
1389
+ * Receives the click event with feature data
1390
+ */
1391
+ onMapClick?: (event: react_map_gl.MapLayerMouseEvent) => void;
1322
1392
  /**
1323
1393
  * Show user location as a blue dot marker (like Google/Apple Maps)
1324
1394
  * This only controls the visibility of the blue dot marker.
@@ -1592,4 +1662,4 @@ declare const isLightColor: (color: string) => boolean;
1592
1662
  */
1593
1663
  declare const getContrastingTextColor: (backgroundColor: string) => string;
1594
1664
 
1595
- export { type LayerStyle as $, type ActionItem as A, type BooleanFormat as B, type CurrentFormat as C, type DateFormat as D, type EnergyFormat as E, type FieldValue as F, type GeoJsonLayerSpec as G, type CodeTheme as H, Icon as I, CodeEditor as J, type DateFieldProps as K, type LayerSpec as L, DateField as M, type NumberFormat as N, type FileUploadProps as O, type PhoneFormat as P, FileUpload as Q, type ResistanceFormat as R, Heading as S, type TemperatureUnitString as T, Loader as U, type VoltageFormat as V, Logo as W, type ColorSpec as X, type YFormatType as Y, type InteractiveMapProps as Z, type LayerFeature as _, type FormattedValue as a, type MapPoint as a0, type RenderType as a1, type StaticMapProps as a2, type ZoomStops as a3, InteractiveMap as a4, MAP_TYPES as a5, StaticMap as a6, type MeterProps as a7, Meter as a8, type RichTextEditorProps as a9, isLightColor as aA, type ComponentFormatOptions as aB, formatComponentValue as aC, useComponentFormatter as aD, type BaseFormat as aE, type TextTransform as aF, type TextTruncatePosition as aG, type DateFormatStyle as aH, type EnergyUnit as aI, type PowerUnit as aJ, type VoltageUnit as aK, type CurrentUnit as aL, type ResistanceUnit as aM, type DistanceUnit as aN, type CustomFormat as aO, RichTextEditor as aa, type SegmentedControlProps as ab, type SegmentOption as ac, SegmentedControl as ad, type SideNavItem as ae, type SideNavProps as af, SideNav as ag, TextLink as ah, type TopNavProps as ai, TopNav as aj, type TooltipSeries as ak, ChartContext as al, useChartContext as am, type ChartMargin as an, createXScale as ao, createYScale as ap, defaultMargin as aq, getYFormatSettings as ar, type YFormatSettings as as, clearColorCache as at, createCategoryColorMap as au, getContrastingTextColor as av, getDefaultChartColor as aw, getDefaultColors as ax, getResolvedColor as ay, getThemeCategoricalColors as az, type DistanceFormat as b, type CurrencyFormat as c, type PowerFormat as d, type FormatterFunction as e, type TemperatureUnit as f, type TemperatureFormat as g, type TextFormat as h, type FieldFormat as i, type BaseDataPoint as j, type TooltipData as k, type IconName as l, type ComponentFormatter as m, type CustomPinsSpec as n, type RasterLayerSpec as o, type VectorLayerSpec as p, type ActionMenuProps as q, ActionMenu as r, type AppShellProps as s, AppShell as t, type AvatarProps as u, Avatar as v, type BadgeProps as w, Badge as x, type CodeEditorProps as y, type CodeLanguage as z };
1665
+ export { type LayerFeature as $, type ActionItem as A, type BooleanFormat as B, type CurrentFormat as C, type DateFormat as D, type EnergyFormat as E, type FieldValue as F, type GeoJsonLayerSpec as G, type CodeLanguage as H, Icon as I, type CodeTheme as J, CodeEditor as K, type LayerSpec as L, type DateFieldProps as M, type NumberFormat as N, DateField as O, type PhoneFormat as P, type FileUploadProps as Q, type ResistanceFormat as R, FileUpload as S, type TemperatureUnitString as T, Heading as U, type VoltageFormat as V, Loader as W, Logo as X, type YFormatType as Y, type ColorSpec as Z, type InteractiveMapProps as _, type FormattedValue as a, type LayerStyle as a0, type MapPoint as a1, type RenderType as a2, type StaticMapProps as a3, type ZoomStops as a4, InteractiveMap as a5, MAP_TYPES as a6, StaticMap as a7, type MeterProps as a8, Meter as a9, getThemeCategoricalColors as aA, isLightColor as aB, type ComponentFormatOptions as aC, formatComponentValue as aD, useComponentFormatter as aE, type BaseFormat as aF, type TextTransform as aG, type TextTruncatePosition as aH, type DateFormatStyle as aI, type EnergyUnit as aJ, type PowerUnit as aK, type VoltageUnit as aL, type CurrentUnit as aM, type ResistanceUnit as aN, type DistanceUnit as aO, type CustomFormat as aP, type RichTextEditorProps as aa, RichTextEditor as ab, type SegmentedControlProps as ac, type SegmentOption as ad, SegmentedControl as ae, type SideNavItem as af, type SideNavProps as ag, SideNav as ah, TextLink as ai, type TopNavProps as aj, TopNav as ak, type TooltipSeries as al, ChartContext as am, useChartContext as an, type ChartMargin as ao, createXScale as ap, createYScale as aq, defaultMargin as ar, getYFormatSettings as as, type YFormatSettings as at, clearColorCache as au, createCategoryColorMap as av, getContrastingTextColor as aw, getDefaultChartColor as ax, getDefaultColors as ay, getResolvedColor as az, type DistanceFormat as b, type CurrencyFormat as c, type PowerFormat as d, type FormatterFunction as e, type TemperatureUnit as f, type TemperatureFormat as g, type TextFormat as h, type FieldFormat as i, type BaseDataPoint as j, type TooltipData as k, type IconName as l, type ComponentFormatter as m, type CustomPinsSpec as n, type RasterLayerSpec as o, type VectorLayerSpec as p, type ClusteredVectorLayerSpec as q, type ActionMenuProps as r, ActionMenu as s, type AppShellProps as t, AppShell as u, type AvatarProps as v, Avatar as w, type BadgeProps as x, Badge as y, type CodeEditorProps as z };
package/dist/server.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ActionItem, q as ActionMenuProps, t as AppShell, s as AppShellProps, v as Avatar, u as AvatarProps, w as BadgeProps, j as BaseDataPoint, an as ChartMargin, y as CodeEditorProps, z as CodeLanguage, H as CodeTheme, K as DateFieldProps, O as FileUploadProps, S as Heading, Z as InteractiveMapProps, U as Loader, W as Logo, a0 as MapPoint, a7 as MeterProps, a9 as RichTextEditorProps, ac as SegmentOption, ab as SegmentedControlProps, ag as SideNav, ae as SideNavItem, af as SideNavProps, a2 as StaticMapProps, ah as TextLink, k as TooltipData, ak as TooltipSeries, aj as TopNav, ai as TopNavProps, as as YFormatSettings, Y as YFormatType, at as clearColorCache, au as createCategoryColorMap, ao as createXScale, ap as createYScale, aq as defaultMargin, av as getContrastingTextColor, aw as getDefaultChartColor, ax as getDefaultColors, ay as getResolvedColor, az as getThemeCategoricalColors, ar as getYFormatSettings, aA as isLightColor } from './server-BwR7EOd8.cjs';
1
+ export { A as ActionItem, r as ActionMenuProps, u as AppShell, t as AppShellProps, w as Avatar, v as AvatarProps, x as BadgeProps, j as BaseDataPoint, ao as ChartMargin, z as CodeEditorProps, H as CodeLanguage, J as CodeTheme, M as DateFieldProps, Q as FileUploadProps, U as Heading, _ as InteractiveMapProps, W as Loader, X as Logo, a1 as MapPoint, a8 as MeterProps, aa as RichTextEditorProps, ad as SegmentOption, ac as SegmentedControlProps, ah as SideNav, af as SideNavItem, ag as SideNavProps, a3 as StaticMapProps, ai as TextLink, k as TooltipData, al as TooltipSeries, ak as TopNav, aj as TopNavProps, at as YFormatSettings, Y as YFormatType, au as clearColorCache, av as createCategoryColorMap, ap as createXScale, aq as createYScale, ar as defaultMargin, aw as getContrastingTextColor, ax as getDefaultChartColor, ay as getDefaultColors, az as getResolvedColor, aA as getThemeCategoricalColors, as as getYFormatSettings, aB as isLightColor } from './server-8T44SFVa.cjs';
2
2
  export { BreadcrumbProps, BreadcrumbsProps } from 'react-aria-components';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
package/dist/server.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ActionItem, q as ActionMenuProps, t as AppShell, s as AppShellProps, v as Avatar, u as AvatarProps, w as BadgeProps, j as BaseDataPoint, an as ChartMargin, y as CodeEditorProps, z as CodeLanguage, H as CodeTheme, K as DateFieldProps, O as FileUploadProps, S as Heading, Z as InteractiveMapProps, U as Loader, W as Logo, a0 as MapPoint, a7 as MeterProps, a9 as RichTextEditorProps, ac as SegmentOption, ab as SegmentedControlProps, ag as SideNav, ae as SideNavItem, af as SideNavProps, a2 as StaticMapProps, ah as TextLink, k as TooltipData, ak as TooltipSeries, aj as TopNav, ai as TopNavProps, as as YFormatSettings, Y as YFormatType, at as clearColorCache, au as createCategoryColorMap, ao as createXScale, ap as createYScale, aq as defaultMargin, av as getContrastingTextColor, aw as getDefaultChartColor, ax as getDefaultColors, ay as getResolvedColor, az as getThemeCategoricalColors, ar as getYFormatSettings, aA as isLightColor } from './server-BwR7EOd8.js';
1
+ export { A as ActionItem, r as ActionMenuProps, u as AppShell, t as AppShellProps, w as Avatar, v as AvatarProps, x as BadgeProps, j as BaseDataPoint, ao as ChartMargin, z as CodeEditorProps, H as CodeLanguage, J as CodeTheme, M as DateFieldProps, Q as FileUploadProps, U as Heading, _ as InteractiveMapProps, W as Loader, X as Logo, a1 as MapPoint, a8 as MeterProps, aa as RichTextEditorProps, ad as SegmentOption, ac as SegmentedControlProps, ah as SideNav, af as SideNavItem, ag as SideNavProps, a3 as StaticMapProps, ai as TextLink, k as TooltipData, al as TooltipSeries, ak as TopNav, aj as TopNavProps, at as YFormatSettings, Y as YFormatType, au as clearColorCache, av as createCategoryColorMap, ap as createXScale, aq as createYScale, ar as defaultMargin, aw as getContrastingTextColor, ax as getDefaultChartColor, ay as getDefaultColors, az as getResolvedColor, aA as getThemeCategoricalColors, as as getYFormatSettings, aB as isLightColor } from './server-8T44SFVa.js';
2
2
  export { BreadcrumbProps, BreadcrumbsProps } from 'react-aria-components';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.12.1",
3
- "generatedAt": "2025-10-24T17:11:02.264Z",
2
+ "version": "1.12.2",
3
+ "generatedAt": "2025-10-25T13:46:35.400Z",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@texturehq/edges",
3
- "version": "1.12.1",
3
+ "version": "1.12.2",
4
4
  "author": "Nicholas Brown <nick@texturehq.com>",
5
5
  "description": "A shared component library for Texture",
6
6
  "type": "module",
@@ -82,7 +82,10 @@ function findComponentFile(relPath) {
82
82
  function findStorybookFile(relPath) {
83
83
  const base = path.join(SRC_DIR, "components", relPath);
84
84
  const componentName = relPath.split("/").pop();
85
- const candidates = [path.join(base, `${componentName}.stories.tsx`), path.join(base, `${componentName}.stories.ts`)];
85
+ const candidates = [
86
+ path.join(base, `${componentName}.stories.tsx`),
87
+ path.join(base, `${componentName}.stories.ts`),
88
+ ];
86
89
  for (const f of candidates) {
87
90
  if (fs.existsSync(f)) return f;
88
91
  }
@@ -140,15 +143,19 @@ function getJsdocAbove(content, idx) {
140
143
  function extractProps(content, componentName) {
141
144
  const ifaceRe = new RegExp(
142
145
  `export\\s+interface\\s+${componentName}Props\\s*(?:extends\\s+[^{]+)?\\{([\\s\\S]*?)\\}`,
143
- "m",
146
+ "m"
144
147
  );
145
148
  let m = ifaceRe.exec(content);
146
149
  if (!m) {
147
- const anyIfaceRe = /export\s+interface\s+([A-Za-z0-9_]+Props)\s*(?:extends\s+[^{]+)?\{([\s\S]*?)\}/m;
150
+ const anyIfaceRe =
151
+ /export\s+interface\s+([A-Za-z0-9_]+Props)\s*(?:extends\s+[^{]+)?\{([\s\S]*?)\}/m;
148
152
  m = anyIfaceRe.exec(content);
149
153
  }
150
154
  if (!m) {
151
- const typeRe = new RegExp(`export\\s+type\\s+${componentName}Props\\s*=\\s*(?:[^{&]+&\s*)?([\\s\\S]*?)\\}`, "m");
155
+ const typeRe = new RegExp(
156
+ `export\\s+type\\s+${componentName}Props\\s*=\\s*(?:[^{&]+&\s*)?([\\s\\S]*?)\\}`,
157
+ "m"
158
+ );
152
159
  m = typeRe.exec(content);
153
160
  }
154
161
  const props = [];
@@ -290,7 +297,9 @@ function generateComponentsManifest() {
290
297
  ensureDir(DIST_DIR);
291
298
  writeFile(path.join(DIST_DIR, "components.manifest.json"), JSON.stringify(manifest, null, 2));
292
299
 
293
- console.log(` Found ${components.length} components in ${Object.keys(categories).length} categories`);
300
+ console.log(
301
+ ` Found ${components.length} components in ${Object.keys(categories).length} categories`
302
+ );
294
303
  return manifest;
295
304
  }
296
305
 
@@ -300,7 +309,10 @@ function generateComponentsManifest() {
300
309
 
301
310
  function extractJSDoc(content, functionName) {
302
311
  const patterns = [
303
- new RegExp(`\\/\\*\\*([^*]|\\*(?!\\/))*\\*\\/\\s*export\\s+(?:async\\s+)?function\\s+${functionName}\\b`, "s"),
312
+ new RegExp(
313
+ `\\/\\*\\*([^*]|\\*(?!\\/))*\\*\\/\\s*export\\s+(?:async\\s+)?function\\s+${functionName}\\b`,
314
+ "s"
315
+ ),
304
316
  new RegExp(`\\/\\*\\*([^*]|\\*(?!\\/))*\\*\\/\\s*export\\s+const\\s+${functionName}\\s*=`, "s"),
305
317
  ];
306
318
 
@@ -344,7 +356,10 @@ function extractExportsFromFile(filePath) {
344
356
  const constPattern = /export\s+const\s+(\w+)\s*(?::\s*[^=]+)?\s*=/g;
345
357
  while ((match = constPattern.exec(content))) {
346
358
  const name = match[1];
347
- const afterMatch = content.slice(match.index + match[0].length, match.index + match[0].length + 50);
359
+ const afterMatch = content.slice(
360
+ match.index + match[0].length,
361
+ match.index + match[0].length + 50
362
+ );
348
363
  const isFunction = afterMatch.includes("=>") || afterMatch.includes("function");
349
364
 
350
365
  utilities.push({
@@ -450,12 +465,17 @@ function generateUtilitiesManifest() {
450
465
  };
451
466
  }
452
467
 
453
- const totalUtilities = Object.values(manifest.categories).reduce((sum, cat) => sum + cat.utilities.length, 0);
468
+ const totalUtilities = Object.values(manifest.categories).reduce(
469
+ (sum, cat) => sum + cat.utilities.length,
470
+ 0
471
+ );
454
472
 
455
473
  ensureDir(DIST_DIR);
456
474
  writeFile(path.join(DIST_DIR, "utilities.manifest.json"), JSON.stringify(manifest, null, 2));
457
475
 
458
- console.log(` Found ${totalUtilities} utilities in ${Object.keys(manifest.categories).length} categories`);
476
+ console.log(
477
+ ` Found ${totalUtilities} utilities in ${Object.keys(manifest.categories).length} categories`
478
+ );
459
479
  return manifest;
460
480
  }
461
481
 
@@ -983,7 +1003,9 @@ async function main() {
983
1003
  stdio: "inherit",
984
1004
  });
985
1005
  } catch (err) {
986
- console.log("⚠️ Note: Could not merge agent instructions (merge script may not be available yet)");
1006
+ console.log(
1007
+ "⚠️ Note: Could not merge agent instructions (merge script may not be available yet)"
1008
+ );
987
1009
  }
988
1010
 
989
1011
  console.log("\n✅ Edges AI context generation complete!");