@cratis/components 4.0.0 → 4.1.0

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 (26) hide show
  1. package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -1
  2. package/dist/esm/PivotViewer/PivotViewer.js +4 -2
  3. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  4. package/dist/esm/PivotViewer/components/Toolbar.d.ts +3 -1
  5. package/dist/esm/PivotViewer/components/Toolbar.js +2 -2
  6. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
  7. package/dist/esm/PivotViewer/components/pivot/constants.d.ts +6 -0
  8. package/dist/esm/PivotViewer/components/pivot/constants.d.ts.map +1 -1
  9. package/dist/esm/PivotViewer/components/pivot/ellipsize.d.ts +33 -0
  10. package/dist/esm/PivotViewer/components/pivot/ellipsize.d.ts.map +1 -0
  11. package/dist/esm/PivotViewer/components/pivot/ellipsize.js +30 -0
  12. package/dist/esm/PivotViewer/components/pivot/ellipsize.js.map +1 -0
  13. package/dist/esm/PivotViewer/components/pivot/sprites.js +15 -2
  14. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  15. package/dist/esm/PivotViewer/hooks/index.d.ts +1 -0
  16. package/dist/esm/PivotViewer/hooks/index.js +1 -0
  17. package/dist/esm/PivotViewer/hooks/useWheelZoom.d.ts.map +1 -1
  18. package/dist/esm/PivotViewer/hooks/useWheelZoom.js +9 -3
  19. package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
  20. package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.d.ts +27 -0
  21. package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.d.ts.map +1 -0
  22. package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js +54 -0
  23. package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js.map +1 -0
  24. package/dist/esm/PivotViewer/types.d.ts +7 -0
  25. package/dist/esm/styles.css +20 -5
  26. package/package.json +1 -1
@@ -18,4 +18,4 @@ import type { PivotViewerProps } from './types.js';
18
18
  * @typeParam TItem - The item type contained in {@link PivotViewerProps.data}.
19
19
  * @param props - {@link PivotViewerProps}.
20
20
  */
21
- export declare function PivotViewer<TItem extends object>({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, className, emptyContent, isLoading, colors, }: PivotViewerProps<TItem>): import("react").JSX.Element;
21
+ export declare function PivotViewer<TItem extends object>({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, title, className, emptyContent, isLoading, colors, }: PivotViewerProps<TItem>): import("react").JSX.Element;
@@ -12,6 +12,7 @@ import { ToolbarContainer } from './components/ToolbarContainer.js';
12
12
  import { useFilterOptions } from './hooks/useFilterOptions.js';
13
13
  import { usePanning } from './hooks/usePanning.js';
14
14
  import { useWheelZoom } from './hooks/useWheelZoom.js';
15
+ import { useZoomScrollAnchor } from './hooks/useZoomScrollAnchor.js';
15
16
  import 'react-dom';
16
17
  import { useFieldExtractors } from './hooks/useFieldExtractors.js';
17
18
  import { useCurrentFilters, useCurrentGroupBy } from './hooks/useCurrentFilters.js';
@@ -24,7 +25,7 @@ import { useContainerDimensions } from './hooks/useContainerDimensions.js';
24
25
  import { filterVisibleIdsBySearch } from './utils/search.js';
25
26
  import { resolveInternalItemIndex } from './utils/idResolution.js';
26
27
 
27
- function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, className, emptyContent, isLoading = false, colors, }) {
28
+ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, title, className, emptyContent, isLoading = false, colors, }) {
28
29
  const containerRef = useRef(null);
29
30
  const filterButtonRef = useRef(null);
30
31
  const axisLabelsRef = useRef(null);
@@ -45,6 +46,7 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
45
46
  const { zoomLevel, setZoomLevel, handleZoomIn, handleZoomOut, handleZoomSlider, handleZoomReset, handleZoomChange, } = useZoomState(1);
46
47
  const { isPanning, handlePanStart, handlePanMove, handlePanEnd } = usePanning(containerRef, undefined, setScrollPosition);
47
48
  useWheelZoom(containerRef, zoomLevel, setZoomLevel);
49
+ useZoomScrollAnchor(containerRef, spacerRef, viewMode);
48
50
  const containerDimensions = useContainerDimensions(containerRef, isLoading);
49
51
  useEffect(() => {
50
52
  const container = containerRef.current;
@@ -265,7 +267,7 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
265
267
  vars['--cratis-focus-ring'] = colors.focusRing;
266
268
  return vars;
267
269
  }, [colors]);
268
- return (jsxs("div", { className: viewerClassName, style: cssVariables, children: [jsx(FilterPanelContainer, { isOpen: filtersOpen && hasFilters, search: search, filterState: filterState, rangeFilterState: rangeFilterState, expandedFilterKey: expandedFilterKey, filterOptions: filterOptions, anchorRef: filterButtonRef, onClose: () => setFiltersOpen(false), onSearchChange: setSearch, onFilterToggle: handleToggleFilter, onFilterClear: handleClearFilter, onRangeChange: handleRangeChange, onExpandedFilterChange: setExpandedFilterKey }), jsxs("main", { className: 'pv-main', children: [jsx(ToolbarContainer, { hasFilters: hasFilters, filtersOpen: filtersOpen, filteredCount: visibleIds.length, viewMode: viewMode, zoomLevel: zoomLevel, activeDimensionKey: activeDimensionKey, dimensions: dimensions, activeFilterCount: activeFilterCount, onFiltersToggle: () => setFiltersOpen((prev) => !prev), onViewModeChange: setViewMode, onZoomIn: handleZoomIn, onZoomOut: handleZoomOut, onZoomSlider: handleZoomSlider, onZoomReset: handleZoomReset, onZoomChange: handleZoomChange, onDimensionChange: setActiveDimensionKey, filterButtonRef: filterButtonRef }), jsx(PivotViewerMain, { data: data, ready: ready, isLoading: isLoading, visibleIds: visibleIds, grouping: grouping, layout: layout, cardWidth: cardWidth, cardHeight: cardHeight, zoomLevel: zoomLevel, scrollPosition: scrollPosition, containerDimensions: containerDimensions, selectedItem: selectedItem, hoveredGroupIndex: hoveredGroupIndex, isZooming: isZooming, viewMode: viewMode, cardRenderer: cardRenderer, colorOverrides: colors, detailRenderer: detailRenderer, resolveId: resolveId, emptyContent: emptyContent, dimensionFilter: dimensionFilter, onCardClick: handleCardClick, onPanStart: handlePanStart, onPanMove: handlePanMove, onPanEnd: handlePanEnd, onGroupHover: setHoveredGroupIndex, onAxisLabelClick: handleAxisLabelClick, onCloseDetail: closeDetail, containerRef: containerRef, axisLabelsRef: axisLabelsRef, spacerRef: spacerRef })] })] }));
270
+ return (jsxs("div", { className: viewerClassName, style: cssVariables, children: [jsx(FilterPanelContainer, { isOpen: filtersOpen && hasFilters, search: search, filterState: filterState, rangeFilterState: rangeFilterState, expandedFilterKey: expandedFilterKey, filterOptions: filterOptions, anchorRef: filterButtonRef, onClose: () => setFiltersOpen(false), onSearchChange: setSearch, onFilterToggle: handleToggleFilter, onFilterClear: handleClearFilter, onRangeChange: handleRangeChange, onExpandedFilterChange: setExpandedFilterKey }), jsxs("main", { className: 'pv-main', children: [jsx(ToolbarContainer, { hasFilters: hasFilters, filtersOpen: filtersOpen, filteredCount: visibleIds.length, viewMode: viewMode, zoomLevel: zoomLevel, activeDimensionKey: activeDimensionKey, dimensions: dimensions, activeFilterCount: activeFilterCount, title: title, onFiltersToggle: () => setFiltersOpen((prev) => !prev), onViewModeChange: setViewMode, onZoomIn: handleZoomIn, onZoomOut: handleZoomOut, onZoomSlider: handleZoomSlider, onZoomReset: handleZoomReset, onZoomChange: handleZoomChange, onDimensionChange: setActiveDimensionKey, filterButtonRef: filterButtonRef }), jsx(PivotViewerMain, { data: data, ready: ready, isLoading: isLoading, visibleIds: visibleIds, grouping: grouping, layout: layout, cardWidth: cardWidth, cardHeight: cardHeight, zoomLevel: zoomLevel, scrollPosition: scrollPosition, containerDimensions: containerDimensions, selectedItem: selectedItem, hoveredGroupIndex: hoveredGroupIndex, isZooming: isZooming, viewMode: viewMode, cardRenderer: cardRenderer, colorOverrides: colors, detailRenderer: detailRenderer, resolveId: resolveId, emptyContent: emptyContent, dimensionFilter: dimensionFilter, onCardClick: handleCardClick, onPanStart: handlePanStart, onPanMove: handlePanMove, onPanEnd: handlePanEnd, onGroupHover: setHoveredGroupIndex, onAxisLabelClick: handleAxisLabelClick, onCloseDetail: closeDetail, containerRef: containerRef, axisLabelsRef: axisLabelsRef, spacerRef: spacerRef })] })] }));
269
271
  }
270
272
 
271
273
  export { PivotViewer };
@@ -1 +1 @@
1
- {"version":3,"file":"PivotViewer.js","sources":["../../../PivotViewer/PivotViewer.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"PivotViewer.js","sources":["../../../PivotViewer/PivotViewer.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface ToolbarProps<TItem extends object> {
9
9
  activeDimensionKey: string;
10
10
  dimensions: PivotDimension<TItem>[];
11
11
  activeFilterCount: number;
12
+ /** Heading shown at the left of the toolbar. Omitted entirely when not given. */
13
+ title?: string;
12
14
  onFiltersToggle: () => void;
13
15
  onViewModeChange: (mode: ViewMode) => void;
14
16
  onZoomIn: () => void;
@@ -19,4 +21,4 @@ export interface ToolbarProps<TItem extends object> {
19
21
  onDimensionChange: (key: string) => void;
20
22
  filterButtonRef: React.RefObject<HTMLButtonElement | null>;
21
23
  }
22
- export declare function Toolbar<TItem extends object>({ hasFilters, filtersOpen, filteredCount, viewMode, zoomLevel, activeDimensionKey, dimensions, activeFilterCount, onFiltersToggle, onViewModeChange, onZoomIn, onZoomOut, onZoomSlider, onZoomReset, onZoomChange, onDimensionChange, filterButtonRef, }: ToolbarProps<TItem>): import("react").JSX.Element;
24
+ export declare function Toolbar<TItem extends object>({ hasFilters, filtersOpen, filteredCount, viewMode, zoomLevel, activeDimensionKey, dimensions, activeFilterCount, title, onFiltersToggle, onViewModeChange, onZoomIn, onZoomOut, onZoomSlider, onZoomReset, onZoomChange, onDimensionChange, filterButtonRef, }: ToolbarProps<TItem>): import("react").JSX.Element;
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import { ZOOM_MIN, ZOOM_STEP, ZOOM_MAX } from '../utils/utils.js';
4
4
 
5
- function Toolbar({ hasFilters, filtersOpen, filteredCount, viewMode, zoomLevel, activeDimensionKey, dimensions, activeFilterCount, onFiltersToggle, onViewModeChange, onZoomIn, onZoomOut, onZoomSlider, onZoomReset, onZoomChange, onDimensionChange, filterButtonRef, }) {
5
+ function Toolbar({ hasFilters, filtersOpen, filteredCount, viewMode, zoomLevel, activeDimensionKey, dimensions, activeFilterCount, title, onFiltersToggle, onViewModeChange, onZoomIn, onZoomOut, onZoomSlider, onZoomReset, onZoomChange, onDimensionChange, filterButtonRef, }) {
6
6
  const labelText = 'Sort by';
7
7
  const [isEditingZoom, setIsEditingZoom] = useState(false);
8
8
  const [zoomInputValue, setZoomInputValue] = useState('');
@@ -35,7 +35,7 @@ function Toolbar({ hasFilters, filtersOpen, filteredCount, viewMode, zoomLevel,
35
35
  }
36
36
  setIsEditingZoom(false);
37
37
  };
38
- return (jsxs("header", { className: "pv-toolbar", children: [jsxs("div", { className: "pv-toolbar-left", children: [hasFilters && (jsxs("button", { ref: filterButtonRef, type: "button", className: `pv-filter-icon-button ${filtersOpen ? 'active' : ''}`, onClick: onFiltersToggle, title: "Filters", children: [jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: jsx("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }) }), activeFilterCount > 0 && (jsx("span", { className: "pv-filter-badge", children: activeFilterCount }))] })), jsx("h1", { children: "Pivot Viewer" }), jsxs("span", { className: "pv-count", children: [filteredCount, " events"] })] }), jsxs("div", { className: "pv-toolbar-right", children: [jsxs("div", { className: "pv-zoom-controls", children: [jsx("button", { type: "button", onClick: onZoomOut, disabled: zoomLevel <= ZOOM_MIN, title: "Zoom out", children: "\u2212" }), jsx("input", { type: "range", "aria-label": "Zoom level", className: "pv-zoom-slider", min: ZOOM_MIN, max: ZOOM_MAX, step: ZOOM_STEP, value: zoomLevel, onChange: onZoomSlider, title: `Zoom: ${Math.round(zoomLevel * 100)}%` }), isEditingZoom ? (jsx("input", { type: "text", className: "pv-zoom-level-input", value: zoomInputValue, onChange: handleZoomInputChange, onKeyDown: handleZoomInputKeyDown, onBlur: handleZoomInputBlur, autoFocus: true })) : (jsxs("span", { className: "pv-zoom-level", onClick: handleZoomClick, title: "Click to edit zoom level", children: [Math.round(zoomLevel * 100), "%"] })), jsx("button", { type: "button", onClick: onZoomReset, title: "Reset zoom", className: "pv-zoom-reset", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [jsx("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }), jsx("path", { d: "M21 3v5h-5" }), jsx("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }), jsx("path", { d: "M3 21v-5h5" })] }) }), jsx("button", { type: "button", onClick: onZoomIn, disabled: zoomLevel >= ZOOM_MAX, title: "Zoom in", children: "+" })] }), jsxs("div", { className: "pv-view-toggle", children: [jsx("button", { type: "button", className: viewMode === 'collection' ? 'active' : '', onClick: () => onViewModeChange('collection'), children: "Collection" }), jsx("button", { type: "button", className: viewMode === 'grouped' ? 'active' : '', onClick: () => onViewModeChange('grouped'), children: "Grouped" })] }), jsxs("label", { className: "pv-dimension-select", children: [jsx("span", { children: labelText }), jsx("select", { value: activeDimensionKey, onChange: (event) => onDimensionChange(event.target.value), children: dimensions.map((dimension) => (jsx("option", { value: dimension.key, children: dimension.label }, dimension.key))) })] })] })] }));
38
+ return (jsxs("header", { className: "pv-toolbar", children: [jsxs("div", { className: "pv-toolbar-left", children: [hasFilters && (jsxs("button", { ref: filterButtonRef, type: "button", className: `pv-filter-icon-button ${filtersOpen ? 'active' : ''}`, onClick: onFiltersToggle, title: "Filters", children: [jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: jsx("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }) }), activeFilterCount > 0 && (jsx("span", { className: "pv-filter-badge", children: activeFilterCount }))] })), title && jsx("span", { className: "pv-title", children: title }), jsxs("span", { className: "pv-count", children: [filteredCount, " events"] })] }), jsxs("div", { className: "pv-toolbar-right", children: [jsxs("div", { className: "pv-zoom-controls", children: [jsx("button", { type: "button", onClick: onZoomOut, disabled: zoomLevel <= ZOOM_MIN, title: "Zoom out", children: "\u2212" }), jsx("input", { type: "range", "aria-label": "Zoom level", className: "pv-zoom-slider", min: ZOOM_MIN, max: ZOOM_MAX, step: ZOOM_STEP, value: zoomLevel, onChange: onZoomSlider, title: `Zoom: ${Math.round(zoomLevel * 100)}%` }), isEditingZoom ? (jsx("input", { type: "text", className: "pv-zoom-level-input", value: zoomInputValue, onChange: handleZoomInputChange, onKeyDown: handleZoomInputKeyDown, onBlur: handleZoomInputBlur, autoFocus: true })) : (jsxs("span", { className: "pv-zoom-level", onClick: handleZoomClick, title: "Click to edit zoom level", children: [Math.round(zoomLevel * 100), "%"] })), jsx("button", { type: "button", onClick: onZoomReset, title: "Reset zoom", className: "pv-zoom-reset", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [jsx("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }), jsx("path", { d: "M21 3v5h-5" }), jsx("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }), jsx("path", { d: "M3 21v-5h5" })] }) }), jsx("button", { type: "button", onClick: onZoomIn, disabled: zoomLevel >= ZOOM_MAX, title: "Zoom in", children: "+" })] }), jsxs("div", { className: "pv-view-toggle", children: [jsx("button", { type: "button", className: viewMode === 'collection' ? 'active' : '', onClick: () => onViewModeChange('collection'), children: "Collection" }), jsx("button", { type: "button", className: viewMode === 'grouped' ? 'active' : '', onClick: () => onViewModeChange('grouped'), children: "Grouped" })] }), jsxs("label", { className: "pv-dimension-select", children: [jsx("span", { children: labelText }), jsx("select", { value: activeDimensionKey, onChange: (event) => onDimensionChange(event.target.value), children: dimensions.map((dimension) => (jsx("option", { value: dimension.key, children: dimension.label }, dimension.key))) })] })] })] }));
39
39
  }
40
40
 
41
41
  export { Toolbar };
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sources":["../../../../PivotViewer/components/Toolbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Toolbar.js","sources":["../../../../PivotViewer/components/Toolbar.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -32,6 +32,12 @@ export interface CardSprite {
32
32
  lastTitle?: string;
33
33
  lastLabels?: string;
34
34
  lastValues?: string;
35
+ lastFittedSource?: string;
36
+ lastFittedWidth?: number;
37
+ /** The title as it fits the card, ellipsized when the full text does not. */
38
+ fittedTitle?: string;
39
+ /** The value column as it fits the card, ellipsized line by line. */
40
+ fittedValues?: string;
35
41
  }
36
42
  declare const _default: {};
37
43
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../PivotViewer/components/pivot/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAG1B,eAAO,MAAM,cAAc;;;;;;;CAO1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,cAAc,CAAC;AAE/C,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;IACrB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;;AAED,wBAAkB"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../PivotViewer/components/pivot/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAG1B,eAAO,MAAM,cAAc;;;;;;;CAO1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,cAAc,CAAC;AAE/C,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;IACrB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;;AAED,wBAAkB"}
@@ -0,0 +1,33 @@
1
+ /** Measures how wide `candidate` renders, in the same units as the budget it is compared against. */
2
+ export type MeasureText = (candidate: string) => number;
3
+ /** The character appended to text that had to be cut short. */
4
+ export declare const ellipsis = "\u2026";
5
+ /**
6
+ * Shortens one line to the longest prefix that still fits `maxWidth`, marking the cut with an
7
+ * ellipsis. Text that already fits is returned unchanged.
8
+ *
9
+ * Card text is drawn to a canvas with word wrapping off, so anything wider than the card simply
10
+ * kept painting past its edge and over the card beside it. Measuring is the only way to know
11
+ * where to cut — a glyph's width depends on the font, so counting characters cannot tell you.
12
+ *
13
+ * The search is binary rather than a character-at-a-time walk: measuring is the expensive part,
14
+ * and this runs for every visible card.
15
+ *
16
+ * @param text The line to fit.
17
+ * @param maxWidth The width budget. A budget of zero or less leaves the text untouched, since
18
+ * there is no room to render anything meaningful and a bare ellipsis says less than a clipped word.
19
+ * @param measure Measures a candidate string.
20
+ * @returns The text, shortened and suffixed with an ellipsis only if it did not fit.
21
+ */
22
+ export declare function ellipsizeLine(text: string, maxWidth: number, measure: MeasureText): string;
23
+ /**
24
+ * Applies {@link ellipsizeLine} to every line of a block of text, so a multi-line value column
25
+ * is fitted line by line rather than as one string.
26
+ *
27
+ * @param text The block to fit, newline separated.
28
+ * @param maxWidth The width budget for a single line.
29
+ * @param measure Measures a candidate string.
30
+ * @returns The block, with each line shortened only if it did not fit.
31
+ */
32
+ export declare function ellipsizeBlock(text: string, maxWidth: number, measure: MeasureText): string;
33
+ //# sourceMappingURL=ellipsize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../../../../../PivotViewer/components/pivot/ellipsize.ts"],"names":[],"mappings":"AAGA,qGAAqG;AACrG,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;AAExD,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,WAAM,CAAC;AAE5B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAgB1F;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAM3F"}
@@ -0,0 +1,30 @@
1
+ const ellipsis = '…';
2
+ function ellipsizeLine(text, maxWidth, measure) {
3
+ if (maxWidth <= 0 || text.length === 0)
4
+ return text;
5
+ if (measure(text) <= maxWidth)
6
+ return text;
7
+ let fits = 0;
8
+ let tooWide = text.length;
9
+ while (fits < tooWide) {
10
+ const middle = Math.ceil((fits + tooWide) / 2);
11
+ if (measure(text.slice(0, middle) + ellipsis) <= maxWidth) {
12
+ fits = middle;
13
+ }
14
+ else {
15
+ tooWide = middle - 1;
16
+ }
17
+ }
18
+ return text.slice(0, fits) + ellipsis;
19
+ }
20
+ function ellipsizeBlock(text, maxWidth, measure) {
21
+ if (!text.includes('\n'))
22
+ return ellipsizeLine(text, maxWidth, measure);
23
+ return text
24
+ .split('\n')
25
+ .map(line => ellipsizeLine(line, maxWidth, measure))
26
+ .join('\n');
27
+ }
28
+
29
+ export { ellipsis, ellipsizeBlock, ellipsizeLine };
30
+ //# sourceMappingURL=ellipsize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipsize.js","sources":["../../../../../PivotViewer/components/pivot/ellipsize.ts"],"sourcesContent":[null],"names":[],"mappings":"AAOO,MAAM,QAAQ,GAAG;SAmBR,aAAa,CAAC,IAAY,EAAE,QAAgB,EAAE,OAAoB,EAAA;IAC9E,IAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,IAAI;AACnD,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ;AAAE,QAAA,OAAO,IAAI;IAE1C,IAAI,IAAI,GAAG,CAAC;AACZ,IAAA,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM;AACzB,IAAA,OAAO,IAAI,GAAG,OAAO,EAAE;AACnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC;AAC9C,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,QAAQ,EAAE;YACvD,IAAI,GAAG,MAAM;QACjB;aAAO;AACH,YAAA,OAAO,GAAG,MAAM,GAAG,CAAC;QACxB;IACJ;IAEA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ;AACzC;SAWgB,cAAc,CAAC,IAAY,EAAE,QAAgB,EAAE,OAAoB,EAAA;AAC/E,IAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;AACvE,IAAA,OAAO;SACF,KAAK,CAAC,IAAI;AACV,SAAA,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;SAClD,IAAI,CAAC,IAAI,CAAC;AACnB;;"}
@@ -1,6 +1,9 @@
1
1
  import * as PIXI from 'pixi.js';
2
2
  import { CARD_RADIUS, CARD_PADDING, CARD_GAP } from './constants.js';
3
+ import { ellipsizeLine, ellipsizeBlock } from './ellipsize.js';
3
4
 
5
+ const VALUES_INSET = 65;
6
+ const measureWith = (candidate, style) => PIXI.CanvasTextMetrics.measureText(candidate, style).width;
4
7
  const spritePool = [];
5
8
  function createCardSprite(id, x, y, items, onCardClick, onPanStart, cardWidth, cardHeight, cardColors, cardRenderer, resolveId) {
6
9
  if (spritePool.length > 0) {
@@ -193,9 +196,9 @@ function updateCardContent(sprite, item, selectedId, cardWidth, cardHeight, card
193
196
  return;
194
197
  const colors = cardColors;
195
198
  const cardData = cardRenderer(item);
196
- const titleDisplay = cardData.title;
199
+ const rawTitle = cardData.title;
197
200
  const labelsText = (cardData.labels || []).join('\n');
198
- const valuesText = (cardData.values || []).join('\n');
201
+ const rawValues = (cardData.values || []).join('\n');
199
202
  const colorsChanged = sprite.lastCardColors !== colors;
200
203
  if (!sprite.titleText || sprite.titleText.destroyed)
201
204
  return;
@@ -203,6 +206,16 @@ function updateCardContent(sprite, item, selectedId, cardWidth, cardHeight, card
203
206
  return;
204
207
  if (!sprite.valuesText || sprite.valuesText.destroyed)
205
208
  return;
209
+ const innerWidth = cardWidth - CARD_GAP - CARD_PADDING * 2;
210
+ const fitSource = `${rawTitle}\u0000${rawValues}`;
211
+ if (sprite.lastFittedSource !== fitSource || sprite.lastFittedWidth !== innerWidth) {
212
+ sprite.lastFittedSource = fitSource;
213
+ sprite.lastFittedWidth = innerWidth;
214
+ sprite.fittedTitle = ellipsizeLine(rawTitle, innerWidth, candidate => measureWith(candidate, sprite.titleText.style));
215
+ sprite.fittedValues = ellipsizeBlock(rawValues, innerWidth - VALUES_INSET, candidate => measureWith(candidate, sprite.valuesText.style));
216
+ }
217
+ const titleDisplay = sprite.fittedTitle ?? rawTitle;
218
+ const valuesText = sprite.fittedValues ?? rawValues;
206
219
  if (sprite.lastTitle !== titleDisplay) {
207
220
  sprite.titleText.text = titleDisplay;
208
221
  sprite.lastTitle = titleDisplay;
@@ -1 +1 @@
1
- {"version":3,"file":"sprites.js","sources":["../../../../../PivotViewer/components/pivot/sprites.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprites.js","sources":["../../../../../PivotViewer/components/pivot/sprites.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export { useFilterOptions } from './useFilterOptions.js';
5
5
  export { useZoomState } from './useZoomState.js';
6
6
  export { usePanning } from './usePanning.js';
7
7
  export { useWheelZoom } from './useWheelZoom.js';
8
+ export { useZoomScrollAnchor } from './useZoomScrollAnchor.js';
8
9
  export { useFilterPanelDrag } from './useFilterPanelDrag.js';
9
10
  export { useSelectedItem } from './useSelectedItem.js';
10
11
  export * from './usePivotEngine.js';
@@ -7,6 +7,7 @@ export { useFilterOptions } from './useFilterOptions.js';
7
7
  export { useZoomState } from './useZoomState.js';
8
8
  export { usePanning } from './usePanning.js';
9
9
  export { useWheelZoom } from './useWheelZoom.js';
10
+ export { useZoomScrollAnchor } from './useZoomScrollAnchor.js';
10
11
  export { useFilterPanelDrag } from './useFilterPanelDrag.js';
11
12
  export { useSelectedItem } from './useSelectedItem.js';
12
13
  export * from './usePivotEngine.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useWheelZoom.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/hooks/useWheelZoom.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,CAC1B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,QAkHrC"}
1
+ {"version":3,"file":"useWheelZoom.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/hooks/useWheelZoom.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,CAC1B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,QA+HrC"}
@@ -1,4 +1,4 @@
1
- import { useCallback, useEffect } from 'react';
1
+ import { useCallback, useState, useEffect } from 'react';
2
2
  import { ZOOM_MIN, ZOOM_MAX } from '../utils/utils.js';
3
3
 
4
4
  function useWheelZoom(containerRef, zoomLevel, setZoomLevel) {
@@ -36,8 +36,12 @@ function useWheelZoom(containerRef, zoomLevel, setZoomLevel) {
36
36
  }, 0);
37
37
  }
38
38
  }, [zoomLevel, setZoomLevel, containerRef]);
39
+ const [container, setContainer] = useState(null);
40
+ useEffect(() => {
41
+ if (containerRef.current !== container)
42
+ setContainer(containerRef.current);
43
+ });
39
44
  useEffect(() => {
40
- const container = containerRef.current;
41
45
  if (!container)
42
46
  return;
43
47
  container.addEventListener('wheel', handleWheel, { passive: false });
@@ -85,13 +89,15 @@ function useWheelZoom(containerRef, zoomLevel, setZoomLevel) {
85
89
  container.addEventListener('touchstart', handleTouchStart, { passive: true });
86
90
  container.addEventListener('touchmove', handleTouchMove, { passive: false });
87
91
  container.addEventListener('touchend', handleTouchEnd, { passive: true });
92
+ container.addEventListener('touchcancel', handleTouchEnd, { passive: true });
88
93
  return () => {
89
94
  container.removeEventListener('wheel', handleWheel);
90
95
  container.removeEventListener('touchstart', handleTouchStart);
91
96
  container.removeEventListener('touchmove', handleTouchMove);
92
97
  container.removeEventListener('touchend', handleTouchEnd);
98
+ container.removeEventListener('touchcancel', handleTouchEnd);
93
99
  };
94
- }, [handleWheel, zoomLevel, setZoomLevel, containerRef]);
100
+ }, [container, handleWheel, zoomLevel, setZoomLevel]);
95
101
  }
96
102
 
97
103
  export { useWheelZoom };
@@ -1 +1 @@
1
- {"version":3,"file":"useWheelZoom.js","sources":["../../../../PivotViewer/hooks/useWheelZoom.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWheelZoom.js","sources":["../../../../PivotViewer/hooks/useWheelZoom.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAMgB,YAAY,CAC1B,YAAoD,EACpD,SAAiB,EACjB,YAAoC,EAAA;AAEpC,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAa,KAAI;QAChD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE;YAC1B,CAAC,CAAC,cAAc,EAAE;AAElB,YAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,YAAA,IAAI,CAAC,SAAS;gBAAE;AAEhB,YAAA,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM;AAEvC,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE;YAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;YACrC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;AACpC,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU;AACpC,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS;AAMnC,YAAA,IAAI,MAAc;AAClB,YAAA,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;gBACrB,MAAM,GAAG,IAAI;YACf;iBAAO;gBACL,MAAM,GAAG,IAAI;YACf;YACA,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM;AAChC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;AACzE,YAAA,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS;YAErC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,SAAS,GAAG,OAAO;YAC/D,MAAM,YAAY,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,SAAS,GAAG,OAAO;YAE9D,YAAY,CAAC,OAAO,CAAC;YAErB,UAAU,CAAC,MAAK;gBACd,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;gBACjD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;gBAC/C,UAAU,CAAC,MAAK;AACd,oBAAA,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE;gBACrC,CAAC,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,CAAC,CAAC;QACP;IACF,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAS3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC;IACvE,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;AAAE,YAAA,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC;AAC5E,IAAA,CAAC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAEpE,IAAI,iBAAiB,GAAG,CAAC;QACzB,IAAI,WAAW,GAAG,SAAS;AAE3B,QAAA,MAAM,gBAAgB,GAAG,CAAC,CAAa,KAAI;YACzC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtD,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtD,gBAAA,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAChD,WAAW,GAAG,SAAS;YACzB;AACF,QAAA,CAAC;AAED,QAAA,MAAM,eAAe,GAAG,CAAC,CAAa,KAAI;YACxC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtD,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtD,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAE7C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC;gBACjE,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC;AACjE,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE;AAC9C,gBAAA,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI;AACnC,gBAAA,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG;AAElC,gBAAA,IAAI,iBAAiB,GAAG,CAAC,EAAE;AACzB,oBAAA,MAAM,KAAK,GAAG,QAAQ,GAAG,iBAAiB;AAC1C,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;AAC3E,oBAAA,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS;AAErC,oBAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,OAAO;AAC/C,oBAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,GAAG,OAAO;AAE9C,oBAAA,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO;AACpD,oBAAA,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO;oBAEnD,YAAY,CAAC,OAAO,CAAC;oBAErB,qBAAqB,CAAC,MAAK;wBACzB,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;wBACjD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;AACjD,oBAAA,CAAC,CAAC;gBACJ;gBACA,iBAAiB,GAAG,QAAQ;YAC9B;AACF,QAAA,CAAC;QAED,MAAM,cAAc,GAAG,MAAK;YAC1B,iBAAiB,GAAG,CAAC;AACvB,QAAA,CAAC;AAED,QAAA,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,QAAA,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5E,QAAA,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACzE,QAAA,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAE5E,QAAA,OAAO,MAAK;AACV,YAAA,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;AACnD,YAAA,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC;AAC7D,YAAA,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC;AAC3D,YAAA,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC;AACzD,YAAA,SAAS,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC;AAC9D,QAAA,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AACvD;;"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Keeps the content the viewport is looking at in view when the scrollable area is resized by a
3
+ * zoom change.
4
+ *
5
+ * Zooming resizes the content underneath a scroll offset that stays where it was, so without this
6
+ * the view lands somewhere unrelated to what the user was looking at. Zooming all the way out is
7
+ * the worst case: the content then fits the viewport, the scroll range collapses to nothing, and
8
+ * zooming back in leaves the offset at zero.
9
+ *
10
+ * In grouped mode that is not merely disorienting - it looks broken. Groups are drawn from the
11
+ * bottom up, so the top of the scrollable area is empty for every group shorter than the tallest
12
+ * one, and an offset of zero shows a blank canvas with no clue that the cards are below. Grouped
13
+ * mode therefore holds its distance from the *bottom*, which is where its content is anchored;
14
+ * every other mode holds the centre.
15
+ *
16
+ * This watches the spacer that defines the scrollable area rather than the zoom level, because the
17
+ * spacer is what actually resizes - reacting to the zoom directly would read the extent before it
18
+ * had been laid out. The wheel handler keeps its own cursor-anchored adjustment for the gesture in
19
+ * progress; this covers the zoom paths that have no anchor of their own, such as the toolbar's
20
+ * buttons, slider and reset.
21
+ *
22
+ * @param containerRef The scrolling viewport.
23
+ * @param spacerRef The element whose size defines the scrollable area.
24
+ * @param viewMode The active view mode.
25
+ */
26
+ export declare function useZoomScrollAnchor(containerRef: React.RefObject<HTMLDivElement | null>, spacerRef: React.RefObject<HTMLDivElement | null>, viewMode: string): void;
27
+ //# sourceMappingURL=useZoomScrollAnchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useZoomScrollAnchor.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/hooks/useZoomScrollAnchor.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAC/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EACpD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EACjD,QAAQ,EAAE,MAAM,QA2DnB"}
@@ -0,0 +1,54 @@
1
+ import { useState, useRef, useEffect } from 'react';
2
+
3
+ function useZoomScrollAnchor(containerRef, spacerRef, viewMode) {
4
+ const [spacer, setSpacer] = useState(null);
5
+ const previousExtent = useRef(null);
6
+ const viewModeRef = useRef(viewMode);
7
+ viewModeRef.current = viewMode;
8
+ useEffect(() => {
9
+ if (spacerRef.current !== spacer)
10
+ setSpacer(spacerRef.current);
11
+ });
12
+ useEffect(() => {
13
+ const container = containerRef.current;
14
+ if (!container || !spacer)
15
+ return;
16
+ const anchor = (previous) => {
17
+ const height = spacer.offsetHeight;
18
+ const width = spacer.offsetWidth;
19
+ if (previous.height <= 0 || previous.width <= 0)
20
+ return;
21
+ if (previous.height === height && previous.width === width)
22
+ return;
23
+ const maxScrollTop = Math.max(0, height - container.clientHeight);
24
+ const maxScrollLeft = Math.max(0, width - container.clientWidth);
25
+ const horizontalRatio = width / previous.width;
26
+ const anchoredLeft = (container.scrollLeft + container.clientWidth / 2) * horizontalRatio
27
+ - container.clientWidth / 2;
28
+ container.scrollLeft = Math.min(maxScrollLeft, Math.max(0, anchoredLeft));
29
+ const verticalRatio = height / previous.height;
30
+ if (viewModeRef.current === 'grouped') {
31
+ const previousMaxScrollTop = Math.max(0, previous.height - container.clientHeight);
32
+ const gapFromBottom = Math.max(0, previousMaxScrollTop - container.scrollTop);
33
+ container.scrollTop = Math.min(maxScrollTop, Math.max(0, maxScrollTop - gapFromBottom * verticalRatio));
34
+ }
35
+ else {
36
+ const anchoredTop = (container.scrollTop + container.clientHeight / 2) * verticalRatio
37
+ - container.clientHeight / 2;
38
+ container.scrollTop = Math.min(maxScrollTop, Math.max(0, anchoredTop));
39
+ }
40
+ };
41
+ previousExtent.current ??= { width: spacer.offsetWidth, height: spacer.offsetHeight };
42
+ const observer = new ResizeObserver(() => {
43
+ const previous = previousExtent.current;
44
+ previousExtent.current = { width: spacer.offsetWidth, height: spacer.offsetHeight };
45
+ if (previous)
46
+ anchor(previous);
47
+ });
48
+ observer.observe(spacer);
49
+ return () => observer.disconnect();
50
+ }, [containerRef, spacer]);
51
+ }
52
+
53
+ export { useZoomScrollAnchor };
54
+ //# sourceMappingURL=useZoomScrollAnchor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useZoomScrollAnchor.js","sources":["../../../../PivotViewer/hooks/useZoomScrollAnchor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -127,6 +127,13 @@ export interface PivotViewerProps<TItem extends object> {
127
127
  getItemId?: (item: TItem, index: number) => string | number;
128
128
  /** Property accessors defining which fields are searchable. */
129
129
  searchFields?: PropertyAccessor<TItem>[];
130
+ /**
131
+ * Optional heading shown at the left of the toolbar.
132
+ *
133
+ * Omit it when the host already names the view - the heading collapses entirely and the
134
+ * item count sits directly beside the filter button.
135
+ */
136
+ title?: string;
130
137
  /** Optional CSS class name to apply to the root element. */
131
138
  className?: string;
132
139
  /** Content to display when no items match the current filters/search. */
@@ -4861,6 +4861,9 @@
4861
4861
 
4862
4862
  /* ── ./PivotViewer/PivotViewer.css ─────────────────────────────────────── */
4863
4863
  .pivot-viewer {
4864
+ /* The height every toolbar control on the left of the bar shares, so the filter button and
4865
+ the item count line up as one group. */
4866
+ --pv-toolbar-control-size: 2.25rem;
4864
4867
  position: relative;
4865
4868
  /* CRITICAL: Don't set explicit height - let parent control it via container constraints */
4866
4869
  display: flex;
@@ -5173,22 +5176,30 @@
5173
5176
  gap: 1rem;
5174
5177
  }
5175
5178
 
5176
- .pv-toolbar h1 {
5179
+ /* A span rather than a heading: the host owns its page's heading levels, and a bare `h1`
5180
+ inherited whatever heading size the consuming application had set. */
5181
+ .pv-title {
5177
5182
  margin: 0;
5178
5183
  font-size: 1.1rem;
5184
+ font-weight: 600;
5185
+ line-height: 1.2;
5179
5186
  letter-spacing: -0.01em;
5180
5187
  white-space: nowrap;
5181
5188
  }
5182
5189
 
5190
+ /* Sized to the filter button beside it, so the two read as one group whether or not a title
5191
+ separates them. */
5183
5192
  .pv-count {
5184
- margin-left: 1rem;
5185
5193
  display: inline-flex;
5186
5194
  align-items: center;
5195
+ justify-content: center;
5187
5196
  gap: 0.35rem;
5188
- padding: 0.3rem 0.65rem;
5197
+ height: var(--pv-toolbar-control-size);
5198
+ padding: 0 0.65rem;
5189
5199
  border-radius: 999px;
5190
5200
  background: var(--cratis-highlight-bg);
5191
5201
  font-size: 0.8rem;
5202
+ line-height: 1;
5192
5203
  color: var(--cratis-text-color);
5193
5204
  }
5194
5205
 
@@ -5220,8 +5231,8 @@
5220
5231
  appearance: none;
5221
5232
  border: none;
5222
5233
  border-radius: 0.5rem;
5223
- width: 2.25rem;
5224
- height: 2.25rem;
5234
+ width: var(--pv-toolbar-control-size);
5235
+ height: var(--pv-toolbar-control-size);
5225
5236
  display: flex;
5226
5237
  align-items: center;
5227
5238
  justify-content: center;
@@ -5470,6 +5481,10 @@
5470
5481
  var(--cratis-primary-500),
5471
5482
  var(--cratis-surface-ground)
5472
5483
  );
5484
+ /* Panning stays with the browser, pinching comes to us: without this a touch device
5485
+ resolves a two-finger gesture as its own page zoom and never delivers the moves the
5486
+ viewer needs to scale the cards. */
5487
+ touch-action: pan-x pan-y;
5473
5488
  }
5474
5489
 
5475
5490
  .pv-groups-grouped {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/components",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "React components for CQRS and event-sourced apps — command dialogs, typed forms, and query-backed data tables for Cratis Arc",
5
5
  "keywords": [
6
6
  "react",