@alexgorbatchev/shadcn 0.0.52 → 0.0.54

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.
Files changed (35) hide show
  1. package/dist/{chunk-rc99vk8d.js → chunk-06ky09dc.js} +1 -1
  2. package/dist/{chunk-yrp7xtb5.js → chunk-6j8ksqt9.js} +1 -1
  3. package/dist/{chunk-5rxjvjkq.js → chunk-98s6zk9v.js} +1 -1
  4. package/dist/{chunk-k7cvfw0f.js → chunk-bmyw7q4w.js} +1 -1
  5. package/dist/{chunk-zs390b72.js → chunk-d5pabsj2.js} +1 -1
  6. package/dist/{chunk-6en4vrjc.js → chunk-hf4prmk6.js} +44 -6
  7. package/dist/{chunk-zs4h45d8.js → chunk-k45r2rz0.js} +1 -1
  8. package/dist/{chunk-gremnsj0.js → chunk-nt4jdzh2.js} +1 -1
  9. package/dist/{chunk-xfryhw7e.js → chunk-p6z2m3zp.js} +3 -1
  10. package/dist/{chunk-tjn53x34.js → chunk-tmr0jqv8.js} +4 -2
  11. package/dist/{chunk-p894n7r6.js → chunk-x7emg3jx.js} +2 -2
  12. package/dist/components/OptionSelect.d.ts +3 -1
  13. package/dist/components/Table.d.ts +2 -1
  14. package/dist/components/assistant-ui/elements/DataTable.js +2 -2
  15. package/dist/components/assistant-ui/elements/GenerativeUi.js +2 -2
  16. package/dist/components/assistant-ui/elements/GeoMap.d.ts +19 -1
  17. package/dist/components/assistant-ui/elements/GeoMap.js +1 -1
  18. package/dist/components/assistant-ui/index.d.ts +2 -0
  19. package/dist/components/assistant-ui/index.js +4 -4
  20. package/dist/components/assistant-ui/native/McpConfigDialog.js +2 -2
  21. package/dist/components/assistant-ui/native/index.js +2 -2
  22. package/dist/components/calendar/index.js +2 -2
  23. package/dist/components/data-grid/index.js +3 -3
  24. package/dist/components/gantt/index.js +3 -3
  25. package/dist/components/json-render/index.js +4 -4
  26. package/dist/components/persian-calendar/index.js +2 -2
  27. package/dist/components/virtual-data-grid/index.js +4 -4
  28. package/dist/components/virtual-table/index.js +2 -2
  29. package/dist/index.js +4 -4
  30. package/dist/prototype.js +1 -1
  31. package/llms/components/assistant-ui/elements/data-visualization/GeoMap.md +15 -0
  32. package/llms/components/data-display/TableResponsive.md +34 -0
  33. package/llms/components/forms/OptionSelect.md +15 -1
  34. package/llms.txt +1 -0
  35. package/package.json +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-en44w1pn.js";
10
10
  import {
11
11
  OptionSelect2
12
- } from "./chunk-xfryhw7e.js";
12
+ } from "./chunk-p6z2m3zp.js";
13
13
  import {
14
14
  Badge2
15
15
  } from "./chunk-9t530p75.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-bd09gygt.js";
7
7
  import {
8
8
  OptionSelect2
9
- } from "./chunk-xfryhw7e.js";
9
+ } from "./chunk-p6z2m3zp.js";
10
10
  import {
11
11
  useAnalyticsCallback
12
12
  } from "./chunk-5mydsjp3.js";
@@ -24,7 +24,7 @@ import {
24
24
  TableHead2,
25
25
  TableCell2,
26
26
  TableCaption2
27
- } from "./chunk-tjn53x34.js";
27
+ } from "./chunk-tmr0jqv8.js";
28
28
  import {
29
29
  safeHref
30
30
  } from "./chunk-xhtsnwnb.js";
@@ -2,7 +2,7 @@ import {
2
2
  Table2,
3
3
  TableHeader2,
4
4
  TableBody2
5
- } from "./chunk-tjn53x34.js";
5
+ } from "./chunk-tmr0jqv8.js";
6
6
 
7
7
  // src/components/virtual-table/VirtualTable.tsx
8
8
  import {
@@ -117,7 +117,7 @@ import {
117
117
  SelectContent2,
118
118
  SelectItem2,
119
119
  OptionSelect2
120
- } from "./chunk-xfryhw7e.js";
120
+ } from "./chunk-p6z2m3zp.js";
121
121
  import {
122
122
  ThemeContext
123
123
  } from "./chunk-1j2hz3w9.js";
@@ -35,6 +35,8 @@ var DEFAULT_ATTRIBUTION = "© OpenStreetMap contributors";
35
35
  function GeoMap2({
36
36
  places,
37
37
  routes,
38
+ circles,
39
+ onViewportChange,
38
40
  selectedId,
39
41
  onSelect,
40
42
  theme = "auto",
@@ -45,6 +47,8 @@ function GeoMap2({
45
47
  variant = "default",
46
48
  ...props
47
49
  }) {
50
+ const viewportCallbackRef = useRef(onViewportChange);
51
+ viewportCallbackRef.current = onViewportChange;
48
52
  const containerRef = useRef(null);
49
53
  const mapRef = useRef(null);
50
54
  const leafletRef = useRef(null);
@@ -61,13 +65,15 @@ function GeoMap2({
61
65
  return {
62
66
  signature: JSON.stringify([
63
67
  places.map((place) => [place.id, place.lat, place.lng, place.label, place.description]),
64
- routes?.map((route) => [route.id, route.points, route.label]) ?? []
68
+ routes?.map((route) => [route.id, route.points, route.label]) ?? [],
69
+ circles?.map((circle) => [circle.id, circle.lat, circle.lng, circle.radiusMeters, circle.label]) ?? []
65
70
  ]),
71
+ validCircles: circles?.filter((circle) => isCoordinate(circle.lat, circle.lng) && Number.isFinite(circle.radiusMeters) && circle.radiusMeters > 0) ?? [],
66
72
  validPlaces,
67
73
  routePoints,
68
74
  validRoutes
69
75
  };
70
- }, [places, routes]);
76
+ }, [places, routes, circles]);
71
77
  const { signature: contentSignature, validPlaces } = mapContent;
72
78
  const mapContentRef = useRef(mapContent);
73
79
  mapContentRef.current = mapContent;
@@ -100,6 +106,17 @@ function GeoMap2({
100
106
  leafletRef.current = leaflet;
101
107
  map = leaflet.map(container, { keyboard: true });
102
108
  mapRef.current = map;
109
+ const observedMap = map;
110
+ map.on("moveend", () => {
111
+ const bounds = observedMap.getBounds();
112
+ viewportCallbackRef.current?.({
113
+ zoom: observedMap.getZoom(),
114
+ north: bounds.getNorth(),
115
+ south: bounds.getSouth(),
116
+ east: bounds.getEast(),
117
+ west: bounds.getWest()
118
+ });
119
+ });
103
120
  leaflet.tileLayer(resolvedTileUrl).addTo(map);
104
121
  const resizedMap = map;
105
122
  resizeObserver = new ResizeObserver(() => resizedMap.invalidateSize());
@@ -137,20 +154,41 @@ function GeoMap2({
137
154
  const map = mapRef.current;
138
155
  if (!leaflet || !map || !mapReady)
139
156
  return;
140
- const { routePoints, validPlaces, validRoutes } = mapContentRef.current;
157
+ const { routePoints, validPlaces, validRoutes, validCircles } = mapContentRef.current;
141
158
  const markers = markersRef.current;
142
159
  const layer = leaflet.layerGroup().addTo(map);
143
160
  const points = [
144
161
  ...validPlaces.map((place) => [place.lat, place.lng]),
145
162
  ...routePoints
146
163
  ];
164
+ const firstCircle = validCircles[0];
165
+ if (firstCircle)
166
+ map.setView([firstCircle.lat, firstCircle.lng], 13, { animate: false });
167
+ for (const circle of validCircles) {
168
+ const overlay = leaflet.circle([circle.lat, circle.lng], {
169
+ radius: circle.radiusMeters,
170
+ color: "var(--primary)",
171
+ fillColor: "var(--primary)",
172
+ fillOpacity: 0.12,
173
+ weight: 2
174
+ }).addTo(layer);
175
+ const label = document.createElement("span");
176
+ label.textContent = circle.label;
177
+ overlay.bindTooltip(label);
178
+ const path = overlay.getElement();
179
+ path?.setAttribute("role", "graphics-symbol");
180
+ path?.setAttribute("aria-label", circle.label);
181
+ path?.setAttribute("tabindex", "0");
182
+ const bounds = overlay.getBounds();
183
+ points.push([bounds.getSouth(), bounds.getWest()], [bounds.getNorth(), bounds.getEast()]);
184
+ }
147
185
  const [first] = points;
148
186
  if (points.length === 1 && first) {
149
- map.setView(first, 13);
187
+ map.setView(first, 13, { animate: false });
150
188
  } else if (points.length > 1) {
151
- map.fitBounds(leaflet.latLngBounds(points), { padding: [24, 24] });
189
+ map.fitBounds(leaflet.latLngBounds(points), { padding: [24, 24], animate: false });
152
190
  } else {
153
- map.setView([0, 0], 2);
191
+ map.setView([0, 0], 2, { animate: false });
154
192
  }
155
193
  for (const route of validRoutes) {
156
194
  const polyline = leaflet.polyline(route.points, {
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-bd09gygt.js";
13
13
  import {
14
14
  OptionSelect2
15
- } from "./chunk-xfryhw7e.js";
15
+ } from "./chunk-p6z2m3zp.js";
16
16
  import {
17
17
  useAnalyticsCallback
18
18
  } from "./chunk-5mydsjp3.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GeoMap2
3
- } from "./chunk-6en4vrjc.js";
3
+ } from "./chunk-hf4prmk6.js";
4
4
  import {
5
5
  MermaidDiagram3
6
6
  } from "./chunk-65xd5we6.js";
@@ -183,7 +183,8 @@ function OptionSelect2({
183
183
  width = "fit",
184
184
  density,
185
185
  analytics,
186
- "aria-label": ariaLabel
186
+ "aria-label": ariaLabel,
187
+ "aria-describedby": ariaDescribedBy
187
188
  }) {
188
189
  return /* @__PURE__ */ jsxs2(Select2, {
189
190
  items: options,
@@ -201,6 +202,7 @@ function OptionSelect2({
201
202
  /* @__PURE__ */ jsx2(SelectTrigger2, {
202
203
  id,
203
204
  "aria-label": ariaLabel,
205
+ "aria-describedby": ariaDescribedBy,
204
206
  density,
205
207
  size,
206
208
  className: cn2(width === "full" && "w-full"),
@@ -59,13 +59,15 @@ var visibilityClasses = {
59
59
  sm: "hidden sm:table-cell",
60
60
  lg: "hidden lg:table-cell",
61
61
  "container-sm": "hidden @min-[400px]/table:table-cell",
62
- "container-md": "hidden @min-[480px]/table:table-cell"
62
+ "container-md": "hidden @min-[480px]/table:table-cell",
63
+ "container-lg": "hidden @min-[640px]/table:table-cell"
63
64
  };
64
65
  var columnVisibilityClasses = {
65
66
  sm: "hidden sm:table-column",
66
67
  lg: "hidden lg:table-column",
67
68
  "container-sm": "hidden @min-[400px]/table:table-column",
68
- "container-md": "hidden @min-[480px]/table:table-column"
69
+ "container-md": "hidden @min-[480px]/table:table-column",
70
+ "container-lg": "hidden @min-[640px]/table:table-column"
69
71
  };
70
72
  function TableHead2({
71
73
  density,
@@ -10,10 +10,10 @@ import {
10
10
  TableCell2,
11
11
  TableColumnGroup2,
12
12
  TableColumn2
13
- } from "./chunk-tjn53x34.js";
13
+ } from "./chunk-tmr0jqv8.js";
14
14
  import {
15
15
  OptionSelect2
16
- } from "./chunk-xfryhw7e.js";
16
+ } from "./chunk-p6z2m3zp.js";
17
17
  import {
18
18
  Input2
19
19
  } from "./chunk-7vg045gd.js";
@@ -22,8 +22,10 @@ type OptionSelectProps = IDensityProps & IAnalyticsProps & {
22
22
  /** `full` fills a form field; `fit` sits inline in a toolbar. */
23
23
  width?: "fit" | "full";
24
24
  "aria-label"?: string;
25
+ /** IDs of elements describing the select trigger. */
26
+ "aria-describedby"?: string;
25
27
  };
26
28
  /** A styled single-value `Select` for the common case of a flat list of options. */
27
- declare function OptionSelect({ options, value, defaultValue, onValueChange, placeholder, name, id, disabled, required, size, width, density, analytics, "aria-label": ariaLabel, }: OptionSelectProps): ReactElement;
29
+ declare function OptionSelect({ options, value, defaultValue, onValueChange, placeholder, name, id, disabled, required, size, width, density, analytics, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, }: OptionSelectProps): ReactElement;
28
30
  export { OptionSelect };
29
31
  export type { OptionSelectOption, OptionSelectProps };
@@ -14,7 +14,8 @@ declare function TableFooter({ density, className, ...props }: TableFooterProps)
14
14
  type TableRowProps = ComponentProps<"tr"> & IDensityProps;
15
15
  declare function TableRow({ density, className, ...props }: TableRowProps): ReactElement;
16
16
  type TableTextAlign = TextAlign;
17
- type TableVisibility = "sm" | "lg" | "container-sm" | "container-md";
17
+ /** Viewport breakpoints, or table-container breakpoints at 400, 480, and 640 pixels. */
18
+ type TableVisibility = "sm" | "lg" | "container-sm" | "container-md" | "container-lg";
18
19
  interface ITableCellOptions {
19
20
  truncate?: boolean;
20
21
  textAlign?: TableTextAlign;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  DataTable2
3
- } from "../../../chunk-5rxjvjkq.js";
3
+ } from "../../../chunk-98s6zk9v.js";
4
4
  import"../../../chunk-1wz92wgg.js";
5
- import"../../../chunk-tjn53x34.js";
5
+ import"../../../chunk-tmr0jqv8.js";
6
6
  import"../../../chunk-k1f35j55.js";
7
7
  import"../../../chunk-m4geb1s5.js";
8
8
  import"../../../chunk-9t530p75.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  styledGenerativeUILibrary2,
3
3
  GenerativeUi2
4
- } from "../../../chunk-gremnsj0.js";
5
- import"../../../chunk-6en4vrjc.js";
4
+ } from "../../../chunk-nt4jdzh2.js";
5
+ import"../../../chunk-hf4prmk6.js";
6
6
  import"../../../chunk-65xd5we6.js";
7
7
  import"../../../chunk-ptdr68cq.js";
8
8
  import"../../../chunk-f9sm5zpv.js";
@@ -7,6 +7,20 @@ export interface IGeoMapPlace {
7
7
  label: string;
8
8
  description?: string | undefined;
9
9
  }
10
+ export interface IGeoMapViewport {
11
+ zoom: number;
12
+ north: number;
13
+ south: number;
14
+ east: number;
15
+ west: number;
16
+ }
17
+ export interface IGeoMapCircle {
18
+ id: string;
19
+ lat: number;
20
+ lng: number;
21
+ radiusMeters: number;
22
+ label: string;
23
+ }
10
24
  export interface IGeoMapRoute {
11
25
  id: string;
12
26
  points: readonly (readonly [lat: number, lng: number])[];
@@ -15,6 +29,10 @@ export interface IGeoMapRoute {
15
29
  export interface IGeoMapProps extends Omit<ComponentProps<"div">, "children" | "onSelect" | "className" | "style"> {
16
30
  places: readonly IGeoMapPlace[];
17
31
  routes?: readonly IGeoMapRoute[] | undefined;
32
+ /** Geographic radius overlays, in meters; the initial view includes their full bounds. */
33
+ circles?: readonly IGeoMapCircle[] | undefined;
34
+ /** Reports the visible bounds after fitting, panning, or zooming, for viewport attribution. */
35
+ onViewportChange?: ((viewport: IGeoMapViewport) => void) | undefined;
18
36
  selectedId?: string | undefined;
19
37
  onSelect?: ((id: string) => void) | undefined;
20
38
  theme?: "light" | "dark" | "auto" | undefined;
@@ -28,4 +46,4 @@ export interface IGeoMapProps extends Omit<ComponentProps<"div">, "children" | "
28
46
  showPlaces?: boolean | undefined;
29
47
  variant?: "default" | "embedded";
30
48
  }
31
- export declare function GeoMap({ places, routes, selectedId, onSelect, theme, tileUrl, attribution, height, showPlaces, variant, ...props }: IGeoMapProps): JSX.Element;
49
+ export declare function GeoMap({ places, routes, circles, onViewportChange, selectedId, onSelect, theme, tileUrl, attribution, height, showPlaces, variant, ...props }: IGeoMapProps): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GeoMap2
3
- } from "../../../chunk-6en4vrjc.js";
3
+ } from "../../../chunk-hf4prmk6.js";
4
4
  import"../../../chunk-f9sm5zpv.js";
5
5
  import"../../../chunk-bd09gygt.js";
6
6
  import"../../../chunk-x90xmrba.js";
@@ -146,6 +146,8 @@ export type { IFlowEdge } from "./elements/FlowGraph.js";
146
146
  export type { IFlowNode } from "./elements/FlowGraph.js";
147
147
  export type { IGalleryImage } from "./elements/ImageGallery.js";
148
148
  export type { IGenerationLoaderProps } from "./elements/GenerationLoader.js";
149
+ export type { IGeoMapViewport } from "./elements/GeoMap.js";
150
+ export type { IGeoMapCircle } from "./elements/GeoMap.js";
149
151
  export type { IGeoMapPlace } from "./elements/GeoMap.js";
150
152
  export type { IGeoMapProps } from "./elements/GeoMap.js";
151
153
  export type { IGeoMapRoute } from "./elements/GeoMap.js";
@@ -203,8 +203,8 @@ import"../../chunk-1wz92wgg.js";
203
203
  import"../../chunk-9t530p75.js";
204
204
  import {
205
205
  DataTable2
206
- } from "../../chunk-5rxjvjkq.js";
207
- import"../../chunk-tjn53x34.js";
206
+ } from "../../chunk-98s6zk9v.js";
207
+ import"../../chunk-tmr0jqv8.js";
208
208
  import {
209
209
  DaySeparator2
210
210
  } from "../../chunk-3j9enr2q.js";
@@ -293,7 +293,7 @@ import {
293
293
  import"../../chunk-f9sm5zpv.js";
294
294
  import {
295
295
  GeoMap2
296
- } from "../../chunk-6en4vrjc.js";
296
+ } from "../../chunk-hf4prmk6.js";
297
297
  import {
298
298
  GitHubIcon2
299
299
  } from "../../chunk-4bjqbky7.js";
@@ -542,7 +542,7 @@ import"../../chunk-65xd5we6.js";
542
542
  import {
543
543
  styledGenerativeUILibrary2,
544
544
  GenerativeUi2
545
- } from "../../chunk-gremnsj0.js";
545
+ } from "../../chunk-nt4jdzh2.js";
546
546
  import {
547
547
  Sub2
548
548
  } from "../../chunk-f1mdtq5p.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  McpConfigDialog2
3
- } from "../../../chunk-rc99vk8d.js";
3
+ } from "../../../chunk-06ky09dc.js";
4
4
  import"../../../chunk-m4geb1s5.js";
5
5
  import"../../../chunk-9t530p75.js";
6
6
  import"../../../chunk-m32ptxf3.js";
7
7
  import"../../../chunk-tcefvfr8.js";
8
- import"../../../chunk-xfryhw7e.js";
8
+ import"../../../chunk-p6z2m3zp.js";
9
9
  import"../../../chunk-4t23yhc0.js";
10
10
  import"../../../chunk-7vg045gd.js";
11
11
  import"../../../chunk-7jpsybag.js";
@@ -133,12 +133,12 @@ import"../../../chunk-dyg4pwcd.js";
133
133
  import {
134
134
  DirectiveText2
135
135
  } from "../../../chunk-n8n3gp71.js";
136
- import"../../../chunk-xfryhw7e.js";
136
+ import"../../../chunk-p6z2m3zp.js";
137
137
  import"../../../chunk-m32ptxf3.js";
138
138
  import"../../../chunk-52aadmkc.js";
139
139
  import {
140
140
  McpConfigDialog2
141
- } from "../../../chunk-rc99vk8d.js";
141
+ } from "../../../chunk-06ky09dc.js";
142
142
  import"../../../chunk-ptdr68cq.js";
143
143
  import"../../../chunk-65xd5we6.js";
144
144
  import {
@@ -10,8 +10,8 @@ import {
10
10
  import {
11
11
  Calendar2,
12
12
  CalendarDayButton2
13
- } from "../../chunk-yrp7xtb5.js";
14
- import"../../chunk-xfryhw7e.js";
13
+ } from "../../chunk-6j8ksqt9.js";
14
+ import"../../chunk-p6z2m3zp.js";
15
15
  import {
16
16
  Popover2,
17
17
  PopoverTrigger2,
@@ -7,8 +7,8 @@ import"../../chunk-jpvw9xqy.js";
7
7
  import {
8
8
  Button2
9
9
  } from "../../chunk-bd09gygt.js";
10
- import"../../chunk-tjn53x34.js";
11
- import"../../chunk-xfryhw7e.js";
10
+ import"../../chunk-tmr0jqv8.js";
11
+ import"../../chunk-p6z2m3zp.js";
12
12
  import"../../chunk-7jpsybag.js";
13
13
  import"../../chunk-7vg045gd.js";
14
14
  import {
@@ -19,7 +19,7 @@ import {
19
19
  DataGridColumnHeader2,
20
20
  DataGridFilter2,
21
21
  DataGridPagination2
22
- } from "../../chunk-p894n7r6.js";
22
+ } from "../../chunk-x7emg3jx.js";
23
23
  import {
24
24
  Checkbox2
25
25
  } from "../../chunk-b5s5y5wq.js";
@@ -7,7 +7,7 @@ import {
7
7
  DragSource2,
8
8
  DropTarget2,
9
9
  Kanban2
10
- } from "../../chunk-zs4h45d8.js";
10
+ } from "../../chunk-k45r2rz0.js";
11
11
  import"../../chunk-en44w1pn.js";
12
12
  import"../../chunk-9t530p75.js";
13
13
  import"../../chunk-7ny0vyek.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "../../chunk-bd09gygt.js";
21
21
  import {
22
22
  OptionSelect2
23
- } from "../../chunk-xfryhw7e.js";
23
+ } from "../../chunk-p6z2m3zp.js";
24
24
  import {
25
25
  Table2,
26
26
  TableHeader2,
@@ -28,7 +28,7 @@ import {
28
28
  TableRow2,
29
29
  TableHead2,
30
30
  TableCell2
31
- } from "../../chunk-tjn53x34.js";
31
+ } from "../../chunk-tmr0jqv8.js";
32
32
  import"../../chunk-5mydsjp3.js";
33
33
 
34
34
  // src/components/gantt/Gantt.tsx
@@ -31,7 +31,7 @@ import {
31
31
  DrawerHeader2,
32
32
  DrawerTitle2,
33
33
  DrawerDescription2
34
- } from "../../chunk-zs390b72.js";
34
+ } from "../../chunk-d5pabsj2.js";
35
35
  import {
36
36
  MenuPopup,
37
37
  MenuItem2,
@@ -99,7 +99,7 @@ import {
99
99
  Tabs2,
100
100
  TabsList2,
101
101
  TabsTrigger2
102
- } from "../../chunk-zs4h45d8.js";
102
+ } from "../../chunk-k45r2rz0.js";
103
103
  import {
104
104
  Badge2
105
105
  } from "../../chunk-9t530p75.js";
@@ -113,7 +113,7 @@ import {
113
113
  SelectTrigger2,
114
114
  SelectContent2,
115
115
  SelectItem2
116
- } from "../../chunk-xfryhw7e.js";
116
+ } from "../../chunk-p6z2m3zp.js";
117
117
  import"../../chunk-1j2hz3w9.js";
118
118
  import"../../chunk-k99h6evz.js";
119
119
  import {
@@ -145,7 +145,7 @@ import {
145
145
  TableHead2,
146
146
  TableCell2,
147
147
  TableCaption2
148
- } from "../../chunk-tjn53x34.js";
148
+ } from "../../chunk-tmr0jqv8.js";
149
149
  import"../../chunk-7vnpp3ya.js";
150
150
  import"../../chunk-m4geb1s5.js";
151
151
  import"../../chunk-9ecf92s6.js";
@@ -11,8 +11,8 @@ import {
11
11
  getCalendarClassNames,
12
12
  CalendarDayButton2,
13
13
  CalendarDropdown
14
- } from "../../chunk-yrp7xtb5.js";
15
- import"../../chunk-xfryhw7e.js";
14
+ } from "../../chunk-6j8ksqt9.js";
15
+ import"../../chunk-p6z2m3zp.js";
16
16
  import {
17
17
  useAnalyticsCallback
18
18
  } from "../../chunk-5mydsjp3.js";
@@ -1,14 +1,14 @@
1
1
  import"../../chunk-en44w1pn.js";
2
2
  import {
3
3
  TableRow2
4
- } from "../../chunk-tjn53x34.js";
4
+ } from "../../chunk-tmr0jqv8.js";
5
5
  import"../../chunk-7ny0vyek.js";
6
6
  import"../../chunk-8ssktt4b.js";
7
7
  import"../../chunk-e6hk39ev.js";
8
8
  import"../../chunk-x90xmrba.js";
9
9
  import"../../chunk-jpvw9xqy.js";
10
10
  import"../../chunk-bd09gygt.js";
11
- import"../../chunk-xfryhw7e.js";
11
+ import"../../chunk-p6z2m3zp.js";
12
12
  import"../../chunk-7jpsybag.js";
13
13
  import"../../chunk-7vg045gd.js";
14
14
  import {
@@ -16,10 +16,10 @@ import {
16
16
  DataGridHeaderRows,
17
17
  DataGridCells2,
18
18
  DataGridColumns
19
- } from "../../chunk-p894n7r6.js";
19
+ } from "../../chunk-x7emg3jx.js";
20
20
  import {
21
21
  VirtualTable2
22
- } from "../../chunk-k7cvfw0f.js";
22
+ } from "../../chunk-bmyw7q4w.js";
23
23
  import"../../chunk-5mydsjp3.js";
24
24
 
25
25
  // src/components/virtual-data-grid/VirtualDataGrid.tsx
@@ -1,8 +1,8 @@
1
1
  import"../../chunk-en44w1pn.js";
2
- import"../../chunk-tjn53x34.js";
2
+ import"../../chunk-tmr0jqv8.js";
3
3
  import {
4
4
  VirtualTable2
5
- } from "../../chunk-k7cvfw0f.js";
5
+ } from "../../chunk-bmyw7q4w.js";
6
6
  export {
7
7
  VirtualTable2 as VirtualTable
8
8
  };
package/dist/index.js CHANGED
@@ -171,7 +171,7 @@ import {
171
171
  StatusTracker2,
172
172
  DashboardLayout2,
173
173
  BillingUsage2
174
- } from "./chunk-zs390b72.js";
174
+ } from "./chunk-d5pabsj2.js";
175
175
  import {
176
176
  Tabs2,
177
177
  tabsListVariants2,
@@ -186,7 +186,7 @@ import {
186
186
  useDropTarget2,
187
187
  DropTarget2,
188
188
  Kanban2
189
- } from "./chunk-zs4h45d8.js";
189
+ } from "./chunk-k45r2rz0.js";
190
190
  import {
191
191
  Toolbar2,
192
192
  ToolbarButton2,
@@ -260,7 +260,7 @@ import {
260
260
  TableColumnGroup2,
261
261
  TableColumn2,
262
262
  TableCaption2
263
- } from "./chunk-tjn53x34.js";
263
+ } from "./chunk-tmr0jqv8.js";
264
264
  import {
265
265
  ScrollArea2,
266
266
  ScrollBar2
@@ -406,7 +406,7 @@ import {
406
406
  SelectScrollUpButton2,
407
407
  SelectScrollDownButton2,
408
408
  OptionSelect2
409
- } from "./chunk-xfryhw7e.js";
409
+ } from "./chunk-p6z2m3zp.js";
410
410
  import {
411
411
  Dialog2,
412
412
  DialogTrigger2,
package/dist/prototype.js CHANGED
@@ -2051,7 +2051,7 @@ var program = new Command;
2051
2051
  // package.json
2052
2052
  var package_default = {
2053
2053
  name: "@alexgorbatchev/shadcn",
2054
- version: "0.0.52",
2054
+ version: "0.0.54",
2055
2055
  description: "Sharp, monospace React components with compact and comfortable densities.",
2056
2056
  license: "MIT",
2057
2057
  repository: {
@@ -44,6 +44,7 @@ GeoMap
44
44
  tileUrl: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Crect width='256' height='256' fill='lightgray'/%3E%3C/svg%3E",
45
45
  attribution: "Deterministic map fixture",
46
46
  onSelect: fn(),
47
+ onViewportChange: fn(),
47
48
  }
48
49
  ```
49
50
 
@@ -146,3 +147,17 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
146
147
  render: (args) => <ControlledSelectionMap {...args}/>
147
148
  }
148
149
  ```
150
+
151
+ ### Radius
152
+
153
+ ```tsx
154
+ {
155
+ args: {
156
+ places: [{ id: "origin", lat: 51.5, lng: -0.12, label: "Origin" }],
157
+ routes: [],
158
+ showPlaces: false,
159
+ variant: "embedded",
160
+ },
161
+ render: (args) => <ChangingRadiusMap {...args}/>
162
+ }
163
+ ```
@@ -0,0 +1,34 @@
1
+ # TableResponsive
2
+
3
+ Story: @alexgorbatchev/shadcn/components/data-display/TableResponsive
4
+ Source: src/components/stories/data-display/TableResponsive.stories.tsx
5
+
6
+ [Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/data-display/TableResponsive.stories.tsx)
7
+
8
+ ## Public imports
9
+
10
+ ```tsx
11
+ import { Table } from "@alexgorbatchev/shadcn";
12
+ ```
13
+
14
+ ## Default component
15
+
16
+ ```tsx
17
+ Table
18
+ ```
19
+
20
+ ## Default render
21
+
22
+ ```tsx
23
+ () => <ResponsiveTablesExample />
24
+ ```
25
+
26
+ ## Examples
27
+
28
+ Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
29
+
30
+ ### ContainerBoundaries
31
+
32
+ ```tsx
33
+ {}
34
+ ```
@@ -14,7 +14,7 @@ import { Button, OptionSelect } from "@alexgorbatchev/shadcn";
14
14
  ## Supporting imports
15
15
 
16
16
  ```tsx
17
- import { useState } from "react";
17
+ import { useId, useState } from "react";
18
18
  ```
19
19
 
20
20
  ## Default component
@@ -63,6 +63,20 @@ Storybook CSF excerpts. Default args and render apply unless overridden. Local h
63
63
  }
64
64
  ```
65
65
 
66
+ ### DescribedTrigger
67
+
68
+ ```tsx
69
+ {
70
+ render: function DescribedTrigger(args) {
71
+ const descriptionId = useId();
72
+ return (<>
73
+ <OptionSelect {...args} aria-describedby={descriptionId}/>
74
+ <p id={descriptionId}>Choose the runtime used for this project.</p>
75
+ </>);
76
+ }
77
+ }
78
+ ```
79
+
66
80
  ### Controlled
67
81
 
68
82
  ```tsx
package/llms.txt CHANGED
@@ -349,6 +349,7 @@ Generated from the public package exports and Storybook sources.
349
349
  - [StatCard](./llms/components/data-display/StatCard.md)
350
350
  - [StatusTracker](./llms/components/data-display/StatusTracker.md)
351
351
  - [Table](./llms/components/data-display/Table.md)
352
+ - [TableResponsive](./llms/components/data-display/TableResponsive.md)
352
353
  - [Text](./llms/components/data-display/Text.md): Text renders body copy as a paragraph with semantic `size` (xs, sm, base, lg), `tone` (default, muted, faint, primary, success, warning, destructive), `weight`, and `align`. `truncate` keeps one line with an ellipsis; otherwise long words wrap. `tabular` aligns digits. Use `render={<span />}` for inline text, or another element such as `<li />` or `<time />`.
353
354
  - [VirtualDataGrid](./llms/components/data-display/VirtualDataGrid.md)
354
355
  - [VirtualTable](./llms/components/data-display/VirtualTable.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexgorbatchev/shadcn",
3
- "version": "0.0.52",
3
+ "version": "0.0.54",
4
4
  "description": "Sharp, monospace React components with compact and comfortable densities.",
5
5
  "license": "MIT",
6
6
  "repository": {