@texturehq/edges 1.12.0 → 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.
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .mapboxgl-ctrl-attrib,.mapboxgl-ctrl-logo{display:none!important}
1
+ .mapboxgl-ctrl-attrib,.mapboxgl-ctrl-logo{display:none!important}.map-tooltip .mapboxgl-popup-content{padding:.75rem 1rem;background-color:var(--color-background-surface);border:1px solid var(--color-border-default);border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;font-family:inherit}.map-tooltip .mapboxgl-popup-tip{border-top-color:var(--color-background-surface)}
2
2
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Maps/mapbox-overrides.css"],"sourcesContent":["/* Hide Mapbox attribution */\n.mapboxgl-ctrl-attrib {\n display: none !important;\n}\n\n/* Hide Mapbox logo */\n.mapboxgl-ctrl-logo {\n display: none !important;\n}\n"],"mappings":"AACA,CAAC,qBAKD,CAAC,mBAJC,QAAS,cACX","names":[]}
1
+ {"version":3,"sources":["../src/components/Maps/mapbox-overrides.css"],"sourcesContent":["/* Hide Mapbox attribution */\n.mapboxgl-ctrl-attrib {\n display: none !important;\n}\n\n/* Hide Mapbox logo */\n.mapboxgl-ctrl-logo {\n display: none !important;\n}\n\n/* Tooltip popup styling */\n.map-tooltip .mapboxgl-popup-content {\n padding: 0.75rem 1rem;\n background-color: var(--color-background-surface);\n border: 1px solid var(--color-border-default);\n border-radius: 0.5rem;\n box-shadow:\n 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n font-family: inherit;\n}\n\n.map-tooltip .mapboxgl-popup-tip {\n border-top-color: var(--color-background-surface);\n}\n"],"mappings":"AACA,CAAC,qBAKD,CAAC,mBAJC,QAAS,cACX,CAQA,CAAC,YAAY,CAAC,uBAXd,QAYW,OAAQ,KACjB,iBAAkB,IAAI,4BACtB,OAAQ,IAAI,MAAM,IAAI,wBAdxB,cAeiB,MACf,WACE,EAAE,KAAK,KAAK,KAAK,SAAgB,CACjC,EAAE,IAAI,KAAK,KAAK,UAClB,YAAa,OACf,CAEA,CAXC,YAWY,CAAC,mBACZ,iBAAkB,IAAI,2BACxB","names":[]}
package/dist/index.d.cts CHANGED
@@ -2,8 +2,8 @@ import { Key, ValidationResult, BreadcrumbProps, BreadcrumbsProps, ButtonProps a
2
2
  export { BreadcrumbProps, BreadcrumbsProps, DialogTrigger } from 'react-aria-components';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { HTMLAttributes, ReactNode, ComponentProps, CSSProperties, ComponentType, Component, ErrorInfo } from 'react';
5
- import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, Y as YFormatType, k as TooltipData, l as IconName$2, m as ComponentFormatter, L as LayerSpec, n as CustomPinsSpec, G as GeoJsonLayerSpec, o as RasterLayerSpec, p as VectorLayerSpec } from './server-BwR7EOd8.cjs';
6
- export { A as ActionItem, r as ActionMenu, q as ActionMenuProps, t as AppShell, s as AppShellProps, v as Avatar, u as AvatarProps, x as Badge, w as BadgeProps, aE as BaseFormat, al as ChartContext, an as ChartMargin, J as CodeEditor, y as CodeEditorProps, z as CodeLanguage, H as CodeTheme, X as ColorSpec, aB as ComponentFormatOptions, aL as CurrentUnit, aO as CustomFormat, M as DateField, K as DateFieldProps, aH as DateFormatStyle, aN as DistanceUnit, aI as EnergyUnit, Q as FileUpload, O as FileUploadProps, S as Heading, a4 as InteractiveMap, Z as InteractiveMapProps, _ as LayerFeature, $ as LayerStyle, U as Loader, W as Logo, a5 as MAP_TYPES, a0 as MapPoint, a8 as Meter, a7 as MeterProps, aJ as PowerUnit, a1 as RenderType, aM as ResistanceUnit, aa as RichTextEditor, a9 as RichTextEditorProps, ac as SegmentOption, ad as SegmentedControl, ab as SegmentedControlProps, ag as SideNav, ae as SideNavItem, af as SideNavProps, a6 as StaticMap, a2 as StaticMapProps, ah as TextLink, aF as TextTransform, aG as TextTruncatePosition, ak as TooltipSeries, aj as TopNav, ai as TopNavProps, aK as VoltageUnit, as as YFormatSettings, a3 as ZoomStops, at as clearColorCache, au as createCategoryColorMap, ao as createXScale, ap as createYScale, aq as defaultMargin, aC as formatComponentValue, av as getContrastingTextColor, aw as getDefaultChartColor, ax as getDefaultColors, ay as getResolvedColor, az as getThemeCategoricalColors, ar as getYFormatSettings, aA as isLightColor, am as useChartContext, aD as useComponentFormatter } from './server-BwR7EOd8.cjs';
5
+ import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, Y as YFormatType, k as TooltipData, l as IconName$2, m as ComponentFormatter, L as LayerSpec, n as CustomPinsSpec, G as GeoJsonLayerSpec, o as RasterLayerSpec, p as VectorLayerSpec, q as ClusteredVectorLayerSpec } from './server-8T44SFVa.cjs';
6
+ export { A as ActionItem, s as ActionMenu, r as ActionMenuProps, u as AppShell, t as AppShellProps, w as Avatar, v as AvatarProps, y as Badge, x as BadgeProps, aF as BaseFormat, am as ChartContext, ao as ChartMargin, K as CodeEditor, z as CodeEditorProps, H as CodeLanguage, J as CodeTheme, Z as ColorSpec, aC as ComponentFormatOptions, aM as CurrentUnit, aP as CustomFormat, O as DateField, M as DateFieldProps, aI as DateFormatStyle, aO as DistanceUnit, aJ as EnergyUnit, S as FileUpload, Q as FileUploadProps, U as Heading, a5 as InteractiveMap, _ as InteractiveMapProps, $ as LayerFeature, a0 as LayerStyle, W as Loader, X as Logo, a6 as MAP_TYPES, a1 as MapPoint, a9 as Meter, a8 as MeterProps, aK as PowerUnit, a2 as RenderType, aN as ResistanceUnit, ab as RichTextEditor, aa as RichTextEditorProps, ad as SegmentOption, ae as SegmentedControl, ac as SegmentedControlProps, ah as SideNav, af as SideNavItem, ag as SideNavProps, a7 as StaticMap, a3 as StaticMapProps, ai as TextLink, aG as TextTransform, aH as TextTruncatePosition, al as TooltipSeries, ak as TopNav, aj as TopNavProps, aL as VoltageUnit, at as YFormatSettings, a4 as ZoomStops, au as clearColorCache, av as createCategoryColorMap, ap as createXScale, aq as createYScale, ar as defaultMargin, aD as formatComponentValue, aw as getContrastingTextColor, ax as getDefaultChartColor, ay as getDefaultColors, az as getResolvedColor, aA as getThemeCategoricalColors, as as getYFormatSettings, aB as isLightColor, an as useChartContext, aE as useComponentFormatter } from './server-8T44SFVa.cjs';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
8
  import { ScaleTime, ScaleLinear } from 'd3-scale';
9
9
  import '@phosphor-icons/react';
@@ -934,6 +934,28 @@ interface DialogProps extends Omit<DialogHeaderConfig, "onClose">, DialogFooterC
934
934
  * @default "400px"
935
935
  */
936
936
  minWidth?: string;
937
+ /**
938
+ * Maximum height of the dialog on desktop
939
+ * @default "85vh"
940
+ */
941
+ maxHeight?: string;
942
+ /**
943
+ * Explicit height of the dialog on desktop (overrides maxHeight if set)
944
+ * Content will scroll within this fixed height
945
+ * @default undefined
946
+ */
947
+ height?: string;
948
+ /**
949
+ * Maximum height of the dialog on mobile (tray version)
950
+ * @default "90vh"
951
+ */
952
+ mobileMaxHeight?: string;
953
+ /**
954
+ * Explicit height of the dialog on mobile (overrides mobileMaxHeight if set)
955
+ * Content will scroll within this fixed height
956
+ * @default undefined
957
+ */
958
+ mobileHeight?: string;
937
959
  /**
938
960
  * Whether to include padding inside the content area
939
961
  * @default true
@@ -950,7 +972,7 @@ interface DialogProps extends Omit<DialogHeaderConfig, "onClose">, DialogFooterC
950
972
  * Responsive modal dialog component with backdrop.
951
973
  *
952
974
  * **Desktop (≥768px):** Centered modal with scale and fade animation
953
- * **Mobile (<768px):** Bottom sheet that slides up from bottom
975
+ * **Mobile (<768px):** Uses Tray component for native bottom sheet experience with drag handle
954
976
  *
955
977
  * Includes optional header with title/back button and footer with action buttons.
956
978
  *
@@ -977,7 +999,7 @@ interface DialogProps extends Omit<DialogHeaderConfig, "onClose">, DialogFooterC
977
999
  * </Dialog>
978
1000
  * ```
979
1001
  */
980
- declare function Dialog({ isOpen, onClose, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, children, primaryAction, secondaryAction, footerContent, transparentOverlay, maxWidth, minWidth, contentPadding, className, }: DialogProps): react_jsx_runtime.JSX.Element | null;
1002
+ declare function Dialog({ isOpen, onClose, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, children, primaryAction, secondaryAction, footerContent, transparentOverlay, maxWidth, minWidth, maxHeight, height, mobileMaxHeight, mobileHeight, contentPadding, className, }: DialogProps): react_jsx_runtime.JSX.Element | null;
981
1003
 
982
1004
  interface AlertProps {
983
1005
  /**
@@ -2135,8 +2157,8 @@ interface EmptyStateAction {
2135
2157
  isDisabled?: boolean;
2136
2158
  }
2137
2159
  interface EmptyStateProps {
2138
- /** Optional icon or illustration shown at the top of the empty state. */
2139
- icon?: ReactNode;
2160
+ /** Icon name from Icon component to show at the top of the empty state. */
2161
+ icon?: IconName$2;
2140
2162
  /** Primary title describing the state. */
2141
2163
  title: ReactNode;
2142
2164
  /** Optional description providing more context. */
@@ -2817,6 +2839,14 @@ declare const layer: {
2817
2839
  * Raster layers display images rather than vector data.
2818
2840
  */
2819
2841
  raster: (config: Omit<RasterLayerSpec, "kind">) => RasterLayerSpec;
2842
+ /**
2843
+ * Create a clustered vector tile layer
2844
+ *
2845
+ * Use this for server-side clustered MVT tiles with large numbers of point features.
2846
+ * The backend service pre-clusters points and provides cluster metadata.
2847
+ * Automatically handles cluster styling, tooltips, and zoom interactions.
2848
+ */
2849
+ clusteredVector: (config: Omit<ClusteredVectorLayerSpec, "kind">) => ClusteredVectorLayerSpec;
2820
2850
  };
2821
2851
  /**
2822
2852
  * Type guard to check if a layer is a vector layer
@@ -3658,6 +3688,11 @@ type TabsProps = TabsProps$2 & {
3658
3688
  };
3659
3689
  type TabListProps<T extends object> = TabListProps$1<T> & {
3660
3690
  variant?: TabVariant;
3691
+ /**
3692
+ * Makes the tab list sticky at the top of its scroll container
3693
+ * @default false
3694
+ */
3695
+ sticky?: boolean;
3661
3696
  };
3662
3697
  /**
3663
3698
  * Tabs
@@ -3669,7 +3704,7 @@ declare function Tabs({ variant, ...props }: TabsProps): react_jsx_runtime.JSX.E
3669
3704
  /**
3670
3705
  * TabList container.
3671
3706
  */
3672
- declare function TabList<T extends object>({ variant, ...props }: TabListProps<T>): react_jsx_runtime.JSX.Element;
3707
+ declare function TabList<T extends object>({ variant, sticky, ...props }: TabListProps<T>): react_jsx_runtime.JSX.Element;
3673
3708
  /**
3674
3709
  * Tab trigger element.
3675
3710
  */
@@ -3845,6 +3880,12 @@ interface TrayProps extends DialogHeaderConfig, DialogFooterConfig {
3845
3880
  * @default "80vh"
3846
3881
  */
3847
3882
  maxHeight?: string;
3883
+ /**
3884
+ * Explicit height for the tray (overrides maxHeight if set)
3885
+ * Content will scroll within this fixed height
3886
+ * @default undefined
3887
+ */
3888
+ height?: string;
3848
3889
  /**
3849
3890
  * Maximum width of the tray
3850
3891
  * @default "640px"
@@ -3877,7 +3918,7 @@ interface TrayProps extends DialogHeaderConfig, DialogFooterConfig {
3877
3918
  * Bottom anchored overlay optimized for mobile experiences.
3878
3919
  * Provides optional header/footer slots that align with Dialog & Drawer APIs.
3879
3920
  */
3880
- declare function Tray({ children, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, isOpen, onClose, isDismissable, transparentOverlay, primaryAction, secondaryAction, footerContent, maxHeight, maxWidth, contentPadding, showHandle, animationVariant, className, }: TrayProps): react_jsx_runtime.JSX.Element | null;
3921
+ declare function Tray({ children, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, isOpen, onClose, isDismissable, transparentOverlay, primaryAction, secondaryAction, footerContent, maxHeight, height, maxWidth, contentPadding, showHandle, animationVariant, className, }: TrayProps): react_jsx_runtime.JSX.Element | null;
3881
3922
  declare namespace Tray {
3882
3923
  var displayName: string;
3883
3924
  }
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { Key, ValidationResult, BreadcrumbProps, BreadcrumbsProps, ButtonProps a
2
2
  export { BreadcrumbProps, BreadcrumbsProps, DialogTrigger } from 'react-aria-components';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { HTMLAttributes, ReactNode, ComponentProps, CSSProperties, ComponentType, Component, ErrorInfo } from 'react';
5
- import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, Y as YFormatType, k as TooltipData, l as IconName$2, m as ComponentFormatter, L as LayerSpec, n as CustomPinsSpec, G as GeoJsonLayerSpec, o as RasterLayerSpec, p as VectorLayerSpec } from './server-BwR7EOd8.js';
6
- export { A as ActionItem, r as ActionMenu, q as ActionMenuProps, t as AppShell, s as AppShellProps, v as Avatar, u as AvatarProps, x as Badge, w as BadgeProps, aE as BaseFormat, al as ChartContext, an as ChartMargin, J as CodeEditor, y as CodeEditorProps, z as CodeLanguage, H as CodeTheme, X as ColorSpec, aB as ComponentFormatOptions, aL as CurrentUnit, aO as CustomFormat, M as DateField, K as DateFieldProps, aH as DateFormatStyle, aN as DistanceUnit, aI as EnergyUnit, Q as FileUpload, O as FileUploadProps, S as Heading, a4 as InteractiveMap, Z as InteractiveMapProps, _ as LayerFeature, $ as LayerStyle, U as Loader, W as Logo, a5 as MAP_TYPES, a0 as MapPoint, a8 as Meter, a7 as MeterProps, aJ as PowerUnit, a1 as RenderType, aM as ResistanceUnit, aa as RichTextEditor, a9 as RichTextEditorProps, ac as SegmentOption, ad as SegmentedControl, ab as SegmentedControlProps, ag as SideNav, ae as SideNavItem, af as SideNavProps, a6 as StaticMap, a2 as StaticMapProps, ah as TextLink, aF as TextTransform, aG as TextTruncatePosition, ak as TooltipSeries, aj as TopNav, ai as TopNavProps, aK as VoltageUnit, as as YFormatSettings, a3 as ZoomStops, at as clearColorCache, au as createCategoryColorMap, ao as createXScale, ap as createYScale, aq as defaultMargin, aC as formatComponentValue, av as getContrastingTextColor, aw as getDefaultChartColor, ax as getDefaultColors, ay as getResolvedColor, az as getThemeCategoricalColors, ar as getYFormatSettings, aA as isLightColor, am as useChartContext, aD as useComponentFormatter } from './server-BwR7EOd8.js';
5
+ import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, Y as YFormatType, k as TooltipData, l as IconName$2, m as ComponentFormatter, L as LayerSpec, n as CustomPinsSpec, G as GeoJsonLayerSpec, o as RasterLayerSpec, p as VectorLayerSpec, q as ClusteredVectorLayerSpec } from './server-8T44SFVa.js';
6
+ export { A as ActionItem, s as ActionMenu, r as ActionMenuProps, u as AppShell, t as AppShellProps, w as Avatar, v as AvatarProps, y as Badge, x as BadgeProps, aF as BaseFormat, am as ChartContext, ao as ChartMargin, K as CodeEditor, z as CodeEditorProps, H as CodeLanguage, J as CodeTheme, Z as ColorSpec, aC as ComponentFormatOptions, aM as CurrentUnit, aP as CustomFormat, O as DateField, M as DateFieldProps, aI as DateFormatStyle, aO as DistanceUnit, aJ as EnergyUnit, S as FileUpload, Q as FileUploadProps, U as Heading, a5 as InteractiveMap, _ as InteractiveMapProps, $ as LayerFeature, a0 as LayerStyle, W as Loader, X as Logo, a6 as MAP_TYPES, a1 as MapPoint, a9 as Meter, a8 as MeterProps, aK as PowerUnit, a2 as RenderType, aN as ResistanceUnit, ab as RichTextEditor, aa as RichTextEditorProps, ad as SegmentOption, ae as SegmentedControl, ac as SegmentedControlProps, ah as SideNav, af as SideNavItem, ag as SideNavProps, a7 as StaticMap, a3 as StaticMapProps, ai as TextLink, aG as TextTransform, aH as TextTruncatePosition, al as TooltipSeries, ak as TopNav, aj as TopNavProps, aL as VoltageUnit, at as YFormatSettings, a4 as ZoomStops, au as clearColorCache, av as createCategoryColorMap, ap as createXScale, aq as createYScale, ar as defaultMargin, aD as formatComponentValue, aw as getContrastingTextColor, ax as getDefaultChartColor, ay as getDefaultColors, az as getResolvedColor, aA as getThemeCategoricalColors, as as getYFormatSettings, aB as isLightColor, an as useChartContext, aE as useComponentFormatter } from './server-8T44SFVa.js';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
8
  import { ScaleTime, ScaleLinear } from 'd3-scale';
9
9
  import '@phosphor-icons/react';
@@ -934,6 +934,28 @@ interface DialogProps extends Omit<DialogHeaderConfig, "onClose">, DialogFooterC
934
934
  * @default "400px"
935
935
  */
936
936
  minWidth?: string;
937
+ /**
938
+ * Maximum height of the dialog on desktop
939
+ * @default "85vh"
940
+ */
941
+ maxHeight?: string;
942
+ /**
943
+ * Explicit height of the dialog on desktop (overrides maxHeight if set)
944
+ * Content will scroll within this fixed height
945
+ * @default undefined
946
+ */
947
+ height?: string;
948
+ /**
949
+ * Maximum height of the dialog on mobile (tray version)
950
+ * @default "90vh"
951
+ */
952
+ mobileMaxHeight?: string;
953
+ /**
954
+ * Explicit height of the dialog on mobile (overrides mobileMaxHeight if set)
955
+ * Content will scroll within this fixed height
956
+ * @default undefined
957
+ */
958
+ mobileHeight?: string;
937
959
  /**
938
960
  * Whether to include padding inside the content area
939
961
  * @default true
@@ -950,7 +972,7 @@ interface DialogProps extends Omit<DialogHeaderConfig, "onClose">, DialogFooterC
950
972
  * Responsive modal dialog component with backdrop.
951
973
  *
952
974
  * **Desktop (≥768px):** Centered modal with scale and fade animation
953
- * **Mobile (<768px):** Bottom sheet that slides up from bottom
975
+ * **Mobile (<768px):** Uses Tray component for native bottom sheet experience with drag handle
954
976
  *
955
977
  * Includes optional header with title/back button and footer with action buttons.
956
978
  *
@@ -977,7 +999,7 @@ interface DialogProps extends Omit<DialogHeaderConfig, "onClose">, DialogFooterC
977
999
  * </Dialog>
978
1000
  * ```
979
1001
  */
980
- declare function Dialog({ isOpen, onClose, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, children, primaryAction, secondaryAction, footerContent, transparentOverlay, maxWidth, minWidth, contentPadding, className, }: DialogProps): react_jsx_runtime.JSX.Element | null;
1002
+ declare function Dialog({ isOpen, onClose, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, children, primaryAction, secondaryAction, footerContent, transparentOverlay, maxWidth, minWidth, maxHeight, height, mobileMaxHeight, mobileHeight, contentPadding, className, }: DialogProps): react_jsx_runtime.JSX.Element | null;
981
1003
 
982
1004
  interface AlertProps {
983
1005
  /**
@@ -2135,8 +2157,8 @@ interface EmptyStateAction {
2135
2157
  isDisabled?: boolean;
2136
2158
  }
2137
2159
  interface EmptyStateProps {
2138
- /** Optional icon or illustration shown at the top of the empty state. */
2139
- icon?: ReactNode;
2160
+ /** Icon name from Icon component to show at the top of the empty state. */
2161
+ icon?: IconName$2;
2140
2162
  /** Primary title describing the state. */
2141
2163
  title: ReactNode;
2142
2164
  /** Optional description providing more context. */
@@ -2817,6 +2839,14 @@ declare const layer: {
2817
2839
  * Raster layers display images rather than vector data.
2818
2840
  */
2819
2841
  raster: (config: Omit<RasterLayerSpec, "kind">) => RasterLayerSpec;
2842
+ /**
2843
+ * Create a clustered vector tile layer
2844
+ *
2845
+ * Use this for server-side clustered MVT tiles with large numbers of point features.
2846
+ * The backend service pre-clusters points and provides cluster metadata.
2847
+ * Automatically handles cluster styling, tooltips, and zoom interactions.
2848
+ */
2849
+ clusteredVector: (config: Omit<ClusteredVectorLayerSpec, "kind">) => ClusteredVectorLayerSpec;
2820
2850
  };
2821
2851
  /**
2822
2852
  * Type guard to check if a layer is a vector layer
@@ -3658,6 +3688,11 @@ type TabsProps = TabsProps$2 & {
3658
3688
  };
3659
3689
  type TabListProps<T extends object> = TabListProps$1<T> & {
3660
3690
  variant?: TabVariant;
3691
+ /**
3692
+ * Makes the tab list sticky at the top of its scroll container
3693
+ * @default false
3694
+ */
3695
+ sticky?: boolean;
3661
3696
  };
3662
3697
  /**
3663
3698
  * Tabs
@@ -3669,7 +3704,7 @@ declare function Tabs({ variant, ...props }: TabsProps): react_jsx_runtime.JSX.E
3669
3704
  /**
3670
3705
  * TabList container.
3671
3706
  */
3672
- declare function TabList<T extends object>({ variant, ...props }: TabListProps<T>): react_jsx_runtime.JSX.Element;
3707
+ declare function TabList<T extends object>({ variant, sticky, ...props }: TabListProps<T>): react_jsx_runtime.JSX.Element;
3673
3708
  /**
3674
3709
  * Tab trigger element.
3675
3710
  */
@@ -3845,6 +3880,12 @@ interface TrayProps extends DialogHeaderConfig, DialogFooterConfig {
3845
3880
  * @default "80vh"
3846
3881
  */
3847
3882
  maxHeight?: string;
3883
+ /**
3884
+ * Explicit height for the tray (overrides maxHeight if set)
3885
+ * Content will scroll within this fixed height
3886
+ * @default undefined
3887
+ */
3888
+ height?: string;
3848
3889
  /**
3849
3890
  * Maximum width of the tray
3850
3891
  * @default "640px"
@@ -3877,7 +3918,7 @@ interface TrayProps extends DialogHeaderConfig, DialogFooterConfig {
3877
3918
  * Bottom anchored overlay optimized for mobile experiences.
3878
3919
  * Provides optional header/footer slots that align with Dialog & Drawer APIs.
3879
3920
  */
3880
- declare function Tray({ children, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, isOpen, onClose, isDismissable, transparentOverlay, primaryAction, secondaryAction, footerContent, maxHeight, maxWidth, contentPadding, showHandle, animationVariant, className, }: TrayProps): react_jsx_runtime.JSX.Element | null;
3921
+ declare function Tray({ children, title, headerContent, titleAlign, hideCloseIcon, hasBackArrow, onBack, isOpen, onClose, isDismissable, transparentOverlay, primaryAction, secondaryAction, footerContent, maxHeight, height, maxWidth, contentPadding, showHandle, animationVariant, className, }: TrayProps): react_jsx_runtime.JSX.Element | null;
3881
3922
  declare namespace Tray {
3882
3923
  var displayName: string;
3883
3924
  }