@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.
- package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -1
- package/dist/esm/PivotViewer/PivotViewer.js +4 -2
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.d.ts +3 -1
- package/dist/esm/PivotViewer/components/Toolbar.js +2 -2
- package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/constants.d.ts +6 -0
- package/dist/esm/PivotViewer/components/pivot/constants.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/ellipsize.d.ts +33 -0
- package/dist/esm/PivotViewer/components/pivot/ellipsize.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/ellipsize.js +30 -0
- package/dist/esm/PivotViewer/components/pivot/ellipsize.js.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/sprites.js +15 -2
- package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/index.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/index.js +1 -0
- package/dist/esm/PivotViewer/hooks/useWheelZoom.d.ts.map +1 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js +9 -3
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.d.ts +27 -0
- package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js +54 -0
- package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js.map +1 -0
- package/dist/esm/PivotViewer/types.d.ts +7 -0
- package/dist/esm/styles.css +20 -5
- 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":"
|
|
1
|
+
{"version":3,"file":"PivotViewer.js","sources":["../../../PivotViewer/PivotViewer.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDM,SAAU,WAAW,CAAuB,EAC9C,IAAI,EACJ,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,MAAM,GACgB,EAAA;AAEtB,IAAA,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAK,CAAC;AAClD,IAAA,MAAM,eAAe,GAAG,MAAM,CAAoB,IAAK,CAAC;AACxD,IAAA,MAAM,aAAa,GAAG,MAAM,CAAiB,IAAK,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAK,CAAC;IAG/C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,YAAY,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC;IACpE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACjD,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7E,IAAA,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC;IAC/E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAIhD,IAAI,CAAC;IACf,MAAM,GAAG,gBAAgB,CAAC,GAAG,QAAQ,CAAsB,QAAQ,CAAC;AACpE,IAAA,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAGpE,MAAM,EACF,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GACpB,GAAG,cAAc,CAAC,OAAO,CAAC;AAG3B,IAAA,MAAM,EACF,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,oBAAoB,GACvB,GAAG,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAGtD,MAAM,EACF,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACnB,GAAG,YAAY,CAAC,CAAC,CAAC;AAEnB,IAAA,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,UAAU,CACzE,YAAY,EACZ,SAAS,EACT,iBAAiB,CACpB;AAED,IAAA,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC;AACnD,IAAA,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;IAGtD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC;IAE3E,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;QAEhB,MAAM,YAAY,GAAG,MAAK;AACtB,YAAA,iBAAiB,CAAC;gBACd,CAAC,EAAE,SAAS,CAAC,UAAU;gBACvB,CAAC,EAAE,SAAS,CAAC,SAAS;AACzB,aAAA,CAAC;AACN,QAAA,CAAC;AAED,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAClD,OAAO,MAAM,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;IACtE,CAAC,EAAE,EAAE,CAAC;AAGN,IAAA,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC;AAGhF,IAAA,MAAM,EACF,KAAK,EACL,YAAY,EAAE,kBAAkB,EAChC,eAAe,EACf,OAAO,GACV,GAAG,cAAc,CAAC;QACf,IAAI;QACJ,eAAe;QACf,WAAW;AACd,KAAA,CAAC;AAGF,IAAA,MAAM,cAAc,GAAG,iBAAiB,CACpC,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,CAClB;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAKxE,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,KAAK;YAAE;QAEZ,IAAI,SAAS,GAAG,KAAK;QACrB,KAAK,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;AACpD,YAAA,IAAI,SAAS;gBAAE;AACf,YAAA,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU;AAI3B,YAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AAChD,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,oBAAA,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtB;gBACA,GAAG,GAAG,WAAW;YACrB;AAEA,YAAA,aAAa,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5E,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,MAAK;YACR,SAAS,GAAG,IAAI;AACpB,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAI3E,SAAS,CAAC,MAAK;QACX,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,YAAA,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAC3B;QACJ;QAEA,IAAI,SAAS,GAAG,KAAK;AACrB,QAAA,IAAI,QAAQ,KAAK,YAAY,EAAE;YAE3B,IAAI,kBAAkB,EAAE;AACpB,gBAAA,KAAK,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAI;AAC5D,oBAAA,IAAI,SAAS;wBAAE;AACf,oBAAA,WAAW,CAAC;AACR,wBAAA,MAAM,EAAE;AACJ,4BAAA;AACI,gCAAA,GAAG,EAAE,KAAK;AACV,gCAAA,KAAK,EAAE,WAAW;AAClB,gCAAA,KAAK,EAAE,KAAK;AACZ,gCAAA,GAAG,EAAE,SAAS;gCACd,KAAK,EAAE,SAAS,CAAC,MAAM;AAC1B,6BAAA;AACJ,yBAAA;AACJ,qBAAA,CAAC;AACN,gBAAA,CAAC,CAAC;YACN;iBAAO;AACH,gBAAA,WAAW,CAAC;AACR,oBAAA,MAAM,EAAE;AACJ,wBAAA;AACI,4BAAA,GAAG,EAAE,KAAK;AACV,4BAAA,KAAK,EAAE,WAAW;AAClB,4BAAA,KAAK,EAAE,KAAK;AACZ,4BAAA,GAAG,EAAE,UAAU;4BACf,KAAK,EAAE,UAAU,CAAC,MAAM;AAC3B,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAC;YACN;QACJ;aAAO;AACH,YAAA,KAAK,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;AAC7D,gBAAA,IAAI,CAAC,SAAS;oBAAE,WAAW,CAAC,MAAM,CAAC;AACvC,YAAA,CAAC,CAAC;QACN;AAEA,QAAA,OAAO,MAAK;YACR,SAAS,GAAG,IAAI;AACpB,QAAA,CAAC;AACL,IAAA,CAAC,EAAE;QACC,KAAK;QACL,UAAU;QACV,cAAc;QACd,QAAQ;QACR,eAAe;QACf,OAAO;QACP,kBAAkB;AACrB,KAAA,CAAC;AAGF,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAK;QAExB,MAAM,SAAS,GAAG,eAAe;QACjC,MAAM,UAAU,GAAG,gBAAgB;AACnC,QAAA,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,GAAG,SAAS;AAE5D,QAAA,MAAM,eAAe,GACjB,QAAQ,KAAK;AACT,cAAE,mBAAmB,CAAC,MAAM,GAAG;AAC/B,cAAE,mBAAmB,CAAC,MAAM;AAEpC,QAAA,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE;YACnC,QAAQ;YACR,SAAS;YACT,UAAU;AACV,YAAA,cAAc,EAAE,gBAAgB;AAChC,YACA,cAAc;YACd,eAAe;AAClB,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;AACjB,IAAA,CAAC,EAAE;QACC,QAAQ;QACR,QAAQ;QACR,SAAS;AACT,QAAA,mBAAmB,CAAC,KAAK;AACzB,QAAA,mBAAmB,CAAC,MAAM;AAC7B,KAAA,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CACzB,CAAC,IAAW,KAAK,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAChE,CAAC,IAAI,EAAE,SAAS,CAAC,CACpB;AAGD,IAAA,wBAAwB,CACpB,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,CACnB;AAGD,IAAA,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC;AAGpD,IAAA,yBAAyB,CAAC;QACtB,YAAY;QACZ,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,SAAS;QACT,SAAS;QACT,IAAI;QACJ,oBAAoB;AACvB,KAAA,CAAC;IAGF,MAAM,eAAe,GAAG,gBAAgB,CAAC;QACrC,IAAI;QACJ,SAAS;QACT,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,SAAS;QACT,mBAAmB;QACnB,cAAc;QACd,iBAAiB;QACjB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,oBAAoB;AACvB,KAAA,CAAC;IAGF,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACpC,YAAY;QACZ,iBAAiB;QACjB,SAAS;QACT,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,mBAAmB;QACnB,QAAQ;QACR,IAAI;QACJ,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,oBAAoB;AACvB,KAAA,CAAC;IAGF,MAAM,SAAS,GAAG,eAAe;IACjC,MAAM,UAAU,GAAG,gBAAgB;AAGnC,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC;AAEpF,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,MAAM,iBAAiB,GACnB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAC7B,CAAC,GAAW,EAAE,IAAI,KAAK,GAAG,GAAI,IAAoB,CAAC,IAAI,EACvD,CAAC,CACJ,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM;AAExE,IAAA,MAAM,eAAe,GAAG;QACpB,cAAc;QACd,SAAS;AACT,QAAA,UAAU,IAAI,WAAW,GAAG,cAAc,GAAG,gBAAgB,IAAI,YAAY;QAC7E,QAAQ,KAAK,SAAS,GAAG,cAAc,GAAG,iBAAiB;AAC9D;SACI,MAAM,CAAC,OAAO;SACd,IAAI,CAAC,GAAG,CAAC;IAGd,SAAS,CAAC,MAAK;QACX,eAAe,CAAC,IAAI,CAAC;AACzB,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAGd,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAK;QAC9B,MAAM,IAAI,GAA2B,EAAE;AACvC,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;QACxB,IAAI,MAAM,CAAC,YAAY;AAAE,YAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,YAAY;QAC7E,IAAI,MAAM,CAAC,gBAAgB;AACvB,YAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,gBAAgB;QACjE,IAAI,MAAM,CAAC,UAAU;AAAE,YAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,UAAU;QACvE,IAAI,MAAM,CAAC,aAAa;AAAE,YAAA,IAAI,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,aAAa;QAChF,IAAI,MAAM,CAAC,WAAW;AAAE,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,WAAW;QAC1E,IAAI,MAAM,CAAC,cAAc;AACrB,YAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,cAAc;QAC5D,IAAI,MAAM,CAAC,cAAc;AACrB,YAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,cAAc;QAC5D,IAAI,MAAM,CAAC,aAAa;AAAE,YAAA,IAAI,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,aAAa;QAChF,IAAI,MAAM,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,SAAS;QACpE,IAAI,MAAM,CAAC,kBAAkB;AACzB,YAAA,IAAI,CAAC,+BAA+B,CAAC,GAAG,MAAM,CAAC,kBAAkB;QACrE,IAAI,MAAM,CAAC,WAAW;AAAE,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,WAAW;QAC1E,IAAI,MAAM,CAAC,MAAM;AAAE,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM;QAC1D,IAAI,MAAM,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,SAAS;AACpE,QAAA,OAAO,IAAI;AACf,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAEZ,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,YAAmC,EAAA,QAAA,EAAA,CACvEC,GAAA,CAAC,oBAAoB,EAAA,EACjB,MAAM,EAAE,WAAW,IAAI,UAAU,EACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,cAAc,CAAC,KAAK,CAAC,EACpC,cAAc,EAAE,SAAS,EACzB,cAAc,EAAE,kBAAkB,EAClC,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,sBAAsB,EAAE,oBAAoB,EAAA,CAC9C,EAEFD,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,CACrBC,IAAC,gBAAgB,EAAA,EACb,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,UAAU,CAAC,MAAM,EAChC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,MAAM,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EACtD,gBAAgB,EAAE,WAAW,EAC7B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,gBAAgB,EAC9B,iBAAiB,EAAE,qBAAqB,EACxC,eAAe,EAAE,eAAe,EAAA,CAClC,EAEFA,GAAA,CAAC,eAAe,EAAA,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAA+C,EAC3D,SAAS,EAAE,aAA8C,EACzD,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,oBAAoB,EAClC,gBAAgB,EAAE,oBAAoB,EACtC,aAAa,EAAE,WAAW,EAC1B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EAAA,CACtB,CAAA,EAAA,CACC,CAAA,EAAA,CACL;AAEd;;"}
|
|
@@ -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("
|
|
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":";;;;
|
|
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;
|
|
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
|
|
199
|
+
const rawTitle = cardData.title;
|
|
197
200
|
const labelsText = (cardData.labels || []).join('\n');
|
|
198
|
-
const
|
|
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,
|
|
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
|
|
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":";;;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;
|
|
1
|
+
{"version":3,"file":"useWheelZoom.js","sources":["../../../../PivotViewer/hooks/useWheelZoom.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -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. */
|
package/dist/esm/styles.css
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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:
|
|
5224
|
-
height:
|
|
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