@sentropic/design-system-vue 0.36.58 → 0.37.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/{GeoMap.d.ts → GeoChart.d.ts} +50 -50
- package/dist/GeoChart.d.ts.map +1 -0
- package/dist/{GeoMap.js → GeoChart.js} +3 -3
- package/dist/GeoChart.js.map +1 -0
- package/dist/PanelSection.d.ts +50 -0
- package/dist/PanelSection.d.ts.map +1 -0
- package/dist/PanelSection.js +102 -0
- package/dist/PanelSection.js.map +1 -0
- package/dist/PanelStack.d.ts +158 -0
- package/dist/PanelStack.d.ts.map +1 -0
- package/dist/PanelStack.js +437 -0
- package/dist/PanelStack.js.map +1 -0
- package/dist/TreeView.d.ts +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.css +152 -0
- package/package.json +1 -1
- package/dist/GeoMap.d.ts.map +0 -1
- package/dist/GeoMap.js.map +0 -1
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type GeoChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
|
|
2
2
|
/** Coordonnée géographique — même forme que `GeoCoordinate` (dataviz-core). */
|
|
3
|
-
export type
|
|
3
|
+
export type GeoChartCoordinate = {
|
|
4
4
|
latitude: number;
|
|
5
5
|
longitude: number;
|
|
6
6
|
};
|
|
7
7
|
/** Emprise géographique — même forme que `GeoBounds` (dataviz-core). */
|
|
8
|
-
export type
|
|
8
|
+
export type GeoChartBounds = {
|
|
9
9
|
south: number;
|
|
10
10
|
west: number;
|
|
11
11
|
north: number;
|
|
12
12
|
east: number;
|
|
13
13
|
};
|
|
14
|
-
export type
|
|
15
|
-
export type
|
|
14
|
+
export type GeoChartProjection = "equirectangular" | "mercator";
|
|
15
|
+
export type GeoChartGeometryType = "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
|
|
16
16
|
/** Géométrie GeoJSON — même forme que `GeoJsonGeometry` (dataviz-core). */
|
|
17
|
-
export type
|
|
18
|
-
type:
|
|
17
|
+
export type GeoChartGeometry = {
|
|
18
|
+
type: GeoChartGeometryType;
|
|
19
19
|
coordinates: unknown[];
|
|
20
20
|
};
|
|
21
21
|
/** Entité géographique — sous-ensemble structurel de `GeoJsonFeature` (dataviz-core). */
|
|
22
|
-
export type
|
|
22
|
+
export type GeoChartFeature = {
|
|
23
23
|
id: string;
|
|
24
24
|
label?: string;
|
|
25
25
|
value?: number;
|
|
26
|
-
geometry:
|
|
26
|
+
geometry: GeoChartGeometry;
|
|
27
27
|
};
|
|
28
28
|
/** Point géographique — sur-ensemble structurel de `GeoPoint` (dataviz-core). */
|
|
29
|
-
export type
|
|
29
|
+
export type GeoChartPoint = GeoChartCoordinate & {
|
|
30
30
|
id?: string;
|
|
31
31
|
label?: string;
|
|
32
32
|
value?: number;
|
|
33
|
-
tone?:
|
|
33
|
+
tone?: GeoChartTone;
|
|
34
34
|
/** Rayon explicite en px (prioritaire sur l'échelle par `value`), borné à 32. */
|
|
35
35
|
r?: number;
|
|
36
36
|
};
|
|
37
37
|
/** Flux géographique — sous-ensemble structurel de `GeoFlowLink` (dataviz-core). */
|
|
38
|
-
export type
|
|
38
|
+
export type GeoChartFlow = {
|
|
39
39
|
id?: string;
|
|
40
40
|
label?: string;
|
|
41
|
-
source:
|
|
42
|
-
target:
|
|
41
|
+
source: GeoChartCoordinate;
|
|
42
|
+
target: GeoChartCoordinate;
|
|
43
43
|
value?: number;
|
|
44
44
|
};
|
|
45
45
|
/** Entités GeoJSON (polygones, lignes, points) ; ton par couche ou cycle de palette par entité. */
|
|
46
|
-
export type
|
|
46
|
+
export type GeoChartGeojsonLayer = {
|
|
47
47
|
type: "geojson";
|
|
48
|
-
features:
|
|
49
|
-
tone?:
|
|
48
|
+
features: GeoChartFeature[];
|
|
49
|
+
tone?: GeoChartTone;
|
|
50
50
|
label?: string;
|
|
51
51
|
};
|
|
52
52
|
/** Choroplèthe : entités + valeur par id (`regions` dataviz : `key` → `value`) → intensité color-mix. */
|
|
53
|
-
export type
|
|
53
|
+
export type GeoChartChoroplethLayer = {
|
|
54
54
|
type: "choropleth";
|
|
55
|
-
features:
|
|
55
|
+
features: GeoChartFeature[];
|
|
56
56
|
values: Record<string, number>;
|
|
57
57
|
/** Ton de base de la rampe d'intensité (défaut `category1`). */
|
|
58
|
-
tone?:
|
|
58
|
+
tone?: GeoChartTone;
|
|
59
59
|
label?: string;
|
|
60
60
|
};
|
|
61
61
|
/** Points/épingles : rayon ∝ `value` (bornes `minRadius`/`maxRadius`, défauts 5/14 comme dataviz). */
|
|
62
|
-
export type
|
|
62
|
+
export type GeoChartPointsLayer = {
|
|
63
63
|
type: "points";
|
|
64
|
-
points:
|
|
65
|
-
tone?:
|
|
64
|
+
points: GeoChartPoint[];
|
|
65
|
+
tone?: GeoChartTone;
|
|
66
66
|
minRadius?: number;
|
|
67
67
|
maxRadius?: number;
|
|
68
68
|
label?: string;
|
|
69
69
|
};
|
|
70
70
|
/** Densité : cercles translucides superposés, rayon/intensité ∝ `value` (poids). */
|
|
71
|
-
export type
|
|
71
|
+
export type GeoChartDensityLayer = {
|
|
72
72
|
type: "density";
|
|
73
|
-
points:
|
|
73
|
+
points: GeoChartPoint[];
|
|
74
74
|
/** Ton de la nappe (défaut `category3` — parité visuelle dataviz). */
|
|
75
|
-
tone?:
|
|
75
|
+
tone?: GeoChartTone;
|
|
76
76
|
maxRadius?: number;
|
|
77
77
|
label?: string;
|
|
78
78
|
};
|
|
79
79
|
/** Flux : arcs quadratiques source → target, épaisseur ∝ `value` (défaut ton `category1`). */
|
|
80
|
-
export type
|
|
80
|
+
export type GeoChartFlowLayer = {
|
|
81
81
|
type: "flow";
|
|
82
|
-
flows:
|
|
83
|
-
tone?:
|
|
82
|
+
flows: GeoChartFlow[];
|
|
83
|
+
tone?: GeoChartTone;
|
|
84
84
|
label?: string;
|
|
85
85
|
};
|
|
86
86
|
/** Hexbin : binning hexagonal des points (même binning que dataviz-core), intensité ∝ valeur agrégée. */
|
|
87
|
-
export type
|
|
87
|
+
export type GeoChartHexbinLayer = {
|
|
88
88
|
type: "hexbin";
|
|
89
|
-
points:
|
|
89
|
+
points: GeoChartPoint[];
|
|
90
90
|
/** Taille de cellule en degrés (défaut 1). */
|
|
91
91
|
cellSize?: number;
|
|
92
|
-
tone?:
|
|
92
|
+
tone?: GeoChartTone;
|
|
93
93
|
label?: string;
|
|
94
94
|
};
|
|
95
95
|
/** Clusters : regroupement glouton des points (même algo que dataviz-core), centroïdes marqueurs distinctifs. */
|
|
96
|
-
export type
|
|
96
|
+
export type GeoChartClusterLayer = {
|
|
97
97
|
type: "cluster";
|
|
98
|
-
points:
|
|
98
|
+
points: GeoChartPoint[];
|
|
99
99
|
/** Rayon de regroupement en degrés (défaut 1). */
|
|
100
100
|
radius?: number;
|
|
101
|
-
tone?:
|
|
101
|
+
tone?: GeoChartTone;
|
|
102
102
|
label?: string;
|
|
103
103
|
};
|
|
104
|
-
export type
|
|
105
|
-
export type
|
|
106
|
-
layers:
|
|
104
|
+
export type GeoChartLayer = GeoChartGeojsonLayer | GeoChartChoroplethLayer | GeoChartPointsLayer | GeoChartDensityLayer | GeoChartFlowLayer | GeoChartHexbinLayer | GeoChartClusterLayer;
|
|
105
|
+
export type GeoChartProps = {
|
|
106
|
+
layers: GeoChartLayer[];
|
|
107
107
|
width?: number;
|
|
108
108
|
height?: number;
|
|
109
|
-
projection?:
|
|
109
|
+
projection?: GeoChartProjection;
|
|
110
110
|
/** Emprise explicite ; sinon auto-ajustement sur les données de toutes les couches + marge. */
|
|
111
|
-
bounds?:
|
|
111
|
+
bounds?: GeoChartBounds;
|
|
112
112
|
label: string;
|
|
113
113
|
class?: string;
|
|
114
114
|
};
|
|
115
|
-
export declare const
|
|
115
|
+
export declare const GeoChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
116
116
|
layers: {
|
|
117
|
-
type: () =>
|
|
117
|
+
type: () => GeoChartLayer[];
|
|
118
118
|
required: true;
|
|
119
119
|
};
|
|
120
120
|
width: {
|
|
@@ -126,11 +126,11 @@ export declare const GeoMap: import("vue").DefineComponent<import("vue").Extract
|
|
|
126
126
|
default: number;
|
|
127
127
|
};
|
|
128
128
|
projection: {
|
|
129
|
-
type: () =>
|
|
129
|
+
type: () => GeoChartProjection;
|
|
130
130
|
default: string;
|
|
131
131
|
};
|
|
132
132
|
bounds: {
|
|
133
|
-
type: () =>
|
|
133
|
+
type: () => GeoChartBounds;
|
|
134
134
|
default: undefined;
|
|
135
135
|
};
|
|
136
136
|
label: {
|
|
@@ -145,7 +145,7 @@ export declare const GeoMap: import("vue").DefineComponent<import("vue").Extract
|
|
|
145
145
|
[key: string]: any;
|
|
146
146
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
147
147
|
layers: {
|
|
148
|
-
type: () =>
|
|
148
|
+
type: () => GeoChartLayer[];
|
|
149
149
|
required: true;
|
|
150
150
|
};
|
|
151
151
|
width: {
|
|
@@ -157,11 +157,11 @@ export declare const GeoMap: import("vue").DefineComponent<import("vue").Extract
|
|
|
157
157
|
default: number;
|
|
158
158
|
};
|
|
159
159
|
projection: {
|
|
160
|
-
type: () =>
|
|
160
|
+
type: () => GeoChartProjection;
|
|
161
161
|
default: string;
|
|
162
162
|
};
|
|
163
163
|
bounds: {
|
|
164
|
-
type: () =>
|
|
164
|
+
type: () => GeoChartBounds;
|
|
165
165
|
default: undefined;
|
|
166
166
|
};
|
|
167
167
|
label: {
|
|
@@ -176,7 +176,7 @@ export declare const GeoMap: import("vue").DefineComponent<import("vue").Extract
|
|
|
176
176
|
class: string;
|
|
177
177
|
height: number;
|
|
178
178
|
width: number;
|
|
179
|
-
projection:
|
|
180
|
-
bounds:
|
|
179
|
+
projection: GeoChartProjection;
|
|
180
|
+
bounds: GeoChartBounds;
|
|
181
181
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
182
|
-
//# sourceMappingURL=
|
|
182
|
+
//# sourceMappingURL=GeoChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoChart.d.ts","sourceRoot":"","sources":["../src/GeoChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,8 +255,8 @@ function clusterPoints(points, radius) {
|
|
|
255
255
|
function positiveOr(value, fallback) {
|
|
256
256
|
return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : fallback;
|
|
257
257
|
}
|
|
258
|
-
export const
|
|
259
|
-
name: "
|
|
258
|
+
export const GeoChart = defineComponent({
|
|
259
|
+
name: "GeoChart",
|
|
260
260
|
props: {
|
|
261
261
|
layers: { type: Array, required: true },
|
|
262
262
|
width: { type: Number, default: 520 },
|
|
@@ -487,4 +487,4 @@ export const GeoMap = defineComponent({
|
|
|
487
487
|
};
|
|
488
488
|
},
|
|
489
489
|
});
|
|
490
|
-
//# sourceMappingURL=
|
|
490
|
+
//# sourceMappingURL=GeoChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoChart.js","sourceRoot":"","sources":["../src/GeoChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export type PanelSectionProps = {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
class?: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* One collapsible region inside a {@link PanelStack}. Registers itself with
|
|
8
|
+
* the parent stack (via provide/inject) on mount, in DOM order, so the stack
|
|
9
|
+
* can resolve its scroll-owner fallbacks. A PanelSection outside a PanelStack
|
|
10
|
+
* (no injected context) falls back to a fully expanded, scroll-owning,
|
|
11
|
+
* non-primary section so it still renders sanely in isolation — but the
|
|
12
|
+
* component is designed to always live inside a stack.
|
|
13
|
+
*
|
|
14
|
+
* Content (default slot) is mounted once and only ever hidden/resized via
|
|
15
|
+
* CSS classes on collapse — never removed from the DOM — so a chat session,
|
|
16
|
+
* map or other stateful widget survives collapse/expand without remounting.
|
|
17
|
+
* Slots: default (content), actions (header-trailing controls).
|
|
18
|
+
*/
|
|
19
|
+
export declare const PanelSection: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
20
|
+
id: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
required: true;
|
|
23
|
+
};
|
|
24
|
+
label: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
class: {
|
|
29
|
+
type: StringConstructor;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
32
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
|
+
id: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
required: true;
|
|
38
|
+
};
|
|
39
|
+
label: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
required: true;
|
|
42
|
+
};
|
|
43
|
+
class: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
default: undefined;
|
|
46
|
+
};
|
|
47
|
+
}>> & Readonly<{}>, {
|
|
48
|
+
class: string;
|
|
49
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
50
|
+
//# sourceMappingURL=PanelSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PanelSection.d.ts","sourceRoot":"","sources":["../src/PanelSection.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAqHvB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { defineComponent, h, inject, onBeforeUnmount, onMounted, ref, watch, } from "vue";
|
|
2
|
+
import { ChevronDown } from "lucide-vue-next";
|
|
3
|
+
import { classNames } from "./classNames.js";
|
|
4
|
+
import { PANEL_STACK_KEY } from "./PanelStack.js";
|
|
5
|
+
/**
|
|
6
|
+
* One collapsible region inside a {@link PanelStack}. Registers itself with
|
|
7
|
+
* the parent stack (via provide/inject) on mount, in DOM order, so the stack
|
|
8
|
+
* can resolve its scroll-owner fallbacks. A PanelSection outside a PanelStack
|
|
9
|
+
* (no injected context) falls back to a fully expanded, scroll-owning,
|
|
10
|
+
* non-primary section so it still renders sanely in isolation — but the
|
|
11
|
+
* component is designed to always live inside a stack.
|
|
12
|
+
*
|
|
13
|
+
* Content (default slot) is mounted once and only ever hidden/resized via
|
|
14
|
+
* CSS classes on collapse — never removed from the DOM — so a chat session,
|
|
15
|
+
* map or other stateful widget survives collapse/expand without remounting.
|
|
16
|
+
* Slots: default (content), actions (header-trailing controls).
|
|
17
|
+
*/
|
|
18
|
+
export const PanelSection = defineComponent({
|
|
19
|
+
name: "PanelSection",
|
|
20
|
+
props: {
|
|
21
|
+
id: { type: String, required: true },
|
|
22
|
+
label: { type: String, required: true },
|
|
23
|
+
class: { type: String, default: undefined },
|
|
24
|
+
},
|
|
25
|
+
setup(props, { slots, attrs }) {
|
|
26
|
+
const stack = inject(PANEL_STACK_KEY, undefined);
|
|
27
|
+
const rootEl = ref(null);
|
|
28
|
+
const headerEl = ref(null);
|
|
29
|
+
// Register with the parent stack (mount order) so it can fall back to
|
|
30
|
+
// "the first section" whenever nothing else designates a scroll owner
|
|
31
|
+
// (unset or stale `expanded`/`primary`) — see PanelStack.ts's `register`.
|
|
32
|
+
// Same register-in-onMounted / return-the-unregister-callback idiom as
|
|
33
|
+
// SelectableRow.
|
|
34
|
+
let unregister = null;
|
|
35
|
+
function doRegister() {
|
|
36
|
+
unregister?.();
|
|
37
|
+
unregister = null;
|
|
38
|
+
if (stack && rootEl.value && headerEl.value) {
|
|
39
|
+
unregister = stack.register(props.id, rootEl.value, headerEl.value);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
onMounted(() => doRegister());
|
|
43
|
+
// Re-register under the new id if it ever changes while mounted.
|
|
44
|
+
watch(() => props.id, () => doRegister());
|
|
45
|
+
onBeforeUnmount(() => {
|
|
46
|
+
unregister?.();
|
|
47
|
+
unregister = null;
|
|
48
|
+
});
|
|
49
|
+
function onTriggerClick() {
|
|
50
|
+
stack?.toggle(props.id);
|
|
51
|
+
}
|
|
52
|
+
return () => {
|
|
53
|
+
const triggerId = `st-panelSection-trigger-${props.id}`;
|
|
54
|
+
const regionId = `st-panelSection-region-${props.id}`;
|
|
55
|
+
const isPrimary = stack?.isPrimary(props.id) ?? false;
|
|
56
|
+
const expanded = stack?.isExpanded(props.id) ?? true;
|
|
57
|
+
const scrollOwner = stack?.isScrollOwner(props.id) ?? true;
|
|
58
|
+
const rootClasses = classNames("st-panelSection", scrollOwner && "st-panelSection--scrollOwner", props.class);
|
|
59
|
+
const bodyClasses = classNames("st-panelSection__body", scrollOwner
|
|
60
|
+
? "st-panelSection__body--scrollOwner"
|
|
61
|
+
: !expanded
|
|
62
|
+
? "st-panelSection__body--collapsed"
|
|
63
|
+
: null);
|
|
64
|
+
const headingChild = isPrimary
|
|
65
|
+
? h("span", { class: "st-panelSection__title st-panelSection__title--primary", id: triggerId }, props.label)
|
|
66
|
+
: h("button", {
|
|
67
|
+
type: "button",
|
|
68
|
+
class: "st-panelSection__trigger",
|
|
69
|
+
"aria-expanded": expanded ? "true" : "false",
|
|
70
|
+
"aria-controls": regionId,
|
|
71
|
+
id: triggerId,
|
|
72
|
+
onClick: onTriggerClick,
|
|
73
|
+
}, [
|
|
74
|
+
h("span", { class: "st-panelSection__title" }, props.label),
|
|
75
|
+
h("span", {
|
|
76
|
+
class: classNames("st-panelSection__icon", expanded && "st-panelSection__icon--expanded"),
|
|
77
|
+
"aria-hidden": "true",
|
|
78
|
+
}, [h(ChevronDown, { size: 18, strokeWidth: 2.25, "aria-hidden": "true" })]),
|
|
79
|
+
]);
|
|
80
|
+
return h("div", {
|
|
81
|
+
...attrs,
|
|
82
|
+
class: rootClasses,
|
|
83
|
+
"data-panel-section-id": props.id,
|
|
84
|
+
ref: rootEl,
|
|
85
|
+
}, [
|
|
86
|
+
h("div", { class: "st-panelSection__header", ref: headerEl }, [
|
|
87
|
+
h("h3", { class: "st-panelSection__heading" }, [headingChild]),
|
|
88
|
+
slots.actions ? h("div", { class: "st-panelSection__actions" }, slots.actions()) : null,
|
|
89
|
+
]),
|
|
90
|
+
// Mounted once, always — collapsing is purely a class/CSS concern
|
|
91
|
+
// (sizing + hiding this region), never a conditional block.
|
|
92
|
+
h("div", {
|
|
93
|
+
class: bodyClasses,
|
|
94
|
+
role: "region",
|
|
95
|
+
id: regionId,
|
|
96
|
+
"aria-labelledby": triggerId,
|
|
97
|
+
}, slots.default?.()),
|
|
98
|
+
]);
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=PanelSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PanelSection.js","sourceRoot":"","sources":["../src/PanelSection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { type InjectionKey, type PropType } from "vue";
|
|
2
|
+
export type PanelStackShape = "split-primary" | "sticky-item";
|
|
3
|
+
/**
|
|
4
|
+
* Bound ratified by the chat consumer lane: beyond 4 sections, stacking
|
|
5
|
+
* collapsible regions in a pane capped at 640px makes scrolling unmanageable
|
|
6
|
+
* and the single-owner rule becomes untenable. Enforced as a dev-time
|
|
7
|
+
* `console.warn` in `register()` (this package's established convention —
|
|
8
|
+
* see NavActionStack/WaterfallChart — is to warn and degrade, never throw or
|
|
9
|
+
* silently truncate); exported here so the bound is also visible through
|
|
10
|
+
* types/docs to a consumer reading `PanelStackProps`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PANEL_STACK_MAX_SECTIONS = 4;
|
|
13
|
+
export type PanelStackProps = {
|
|
14
|
+
/** "sticky-item" (default): one section expanded at a time, all headers stay visible.
|
|
15
|
+
"split-primary": the `primary` section is always expanded and owns the scroll;
|
|
16
|
+
the others are content-sized disclosures. */
|
|
17
|
+
shape?: PanelStackShape;
|
|
18
|
+
/** Accessible name for the stack region. */
|
|
19
|
+
label?: string;
|
|
20
|
+
/** sticky-item, controlled: id of the expanded section. */
|
|
21
|
+
expanded?: string | null;
|
|
22
|
+
/** sticky-item, uncontrolled seed. */
|
|
23
|
+
defaultExpanded?: string | null;
|
|
24
|
+
onExpandedChange?: (id: string | null) => void;
|
|
25
|
+
/**
|
|
26
|
+
* split-primary: id of the section that owns the scroll. Falls back to the
|
|
27
|
+
* first EXPANDED section (DOM order) when unset or stale, and — if nothing
|
|
28
|
+
* is expanded — to the first registered section, so the stack never
|
|
29
|
+
* degrades to zero scroll owners.
|
|
30
|
+
*/
|
|
31
|
+
primary?: string;
|
|
32
|
+
/** Usable floor for the primary section, in px. While the primary sits above it the
|
|
33
|
+
primary absorbs overflow; once it would drop below, a secondary auto-collapses
|
|
34
|
+
instead of compressing the primary further. Default 160. */
|
|
35
|
+
primaryMinHeight?: number;
|
|
36
|
+
class?: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Context contract shared with PanelSection. Every shape-dependent branch
|
|
40
|
+
* (sticky-item vs split-primary) is decided HERE and only here — PanelSection
|
|
41
|
+
* never reads `shape`, it only calls these four functions/callback. If the
|
|
42
|
+
* consumer-lane contract for these two shapes changes, this is the one place
|
|
43
|
+
* to touch.
|
|
44
|
+
*/
|
|
45
|
+
export declare const PANEL_STACK_KEY: InjectionKey<PanelStackContext>;
|
|
46
|
+
export type PanelStackContext = {
|
|
47
|
+
/** Is this section the (non-collapsible) primary of a split-primary stack? */
|
|
48
|
+
isPrimary: (id: string) => boolean;
|
|
49
|
+
/** Is this section currently expanded (body visible, content-sized or scrolling)? */
|
|
50
|
+
isExpanded: (id: string) => boolean;
|
|
51
|
+
/** Is this section's body THE single scroll owner right now (flex:1 1 0, overflow:auto)? */
|
|
52
|
+
isScrollOwner: (id: string) => boolean;
|
|
53
|
+
/** Header was activated (click / Space / Enter on the disclosure button). */
|
|
54
|
+
toggle: (id: string) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Register a section's root AND header element, in mount/DOM order;
|
|
57
|
+
* returns an unregister callback. NOT just bookkeeping — the stack falls
|
|
58
|
+
* back to the first registered section as the scroll owner whenever
|
|
59
|
+
* nothing else designates one (unset/stale `expanded` or `primary`), so
|
|
60
|
+
* the invariant "exactly one scroll owner whenever the stack has ≥1
|
|
61
|
+
* section" holds even for a misconfigured or dynamically-changing stack.
|
|
62
|
+
* `headerEl` is used only by split-primary's auto-collapse measurement
|
|
63
|
+
* (the header of whichever section is CURRENTLY primary is observed for
|
|
64
|
+
* its height); sticky-item ignores it.
|
|
65
|
+
*/
|
|
66
|
+
register: (id: string, rootEl: HTMLElement, headerEl: HTMLElement) => () => void;
|
|
67
|
+
};
|
|
68
|
+
export declare const PRIMARY_MIN_BLOCK_SIZE_PX = 160;
|
|
69
|
+
/**
|
|
70
|
+
* Stacks several PanelSection children inside ONE panel so a docked chat can
|
|
71
|
+
* share a pane with other content. The invariant is the whole point: exactly
|
|
72
|
+
* one element in the stack has `overflow: auto` at any moment, and the stack
|
|
73
|
+
* itself NEVER scrolls — see PanelStack.svelte (the frozen reference this
|
|
74
|
+
* component mirrors) and styles.css's `.st-panelStack` rule.
|
|
75
|
+
*/
|
|
76
|
+
export declare const PanelStack: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
77
|
+
shape: {
|
|
78
|
+
type: PropType<PanelStackShape>;
|
|
79
|
+
default: string;
|
|
80
|
+
};
|
|
81
|
+
label: {
|
|
82
|
+
type: StringConstructor;
|
|
83
|
+
default: undefined;
|
|
84
|
+
};
|
|
85
|
+
expanded: {
|
|
86
|
+
type: PropType<string | null>;
|
|
87
|
+
default: undefined;
|
|
88
|
+
};
|
|
89
|
+
defaultExpanded: {
|
|
90
|
+
type: PropType<string | null>;
|
|
91
|
+
default: null;
|
|
92
|
+
};
|
|
93
|
+
onExpandedChange: {
|
|
94
|
+
type: PropType<(id: string | null) => void>;
|
|
95
|
+
default: undefined;
|
|
96
|
+
};
|
|
97
|
+
primary: {
|
|
98
|
+
type: StringConstructor;
|
|
99
|
+
default: undefined;
|
|
100
|
+
};
|
|
101
|
+
primaryMinHeight: {
|
|
102
|
+
type: NumberConstructor;
|
|
103
|
+
default: undefined;
|
|
104
|
+
};
|
|
105
|
+
class: {
|
|
106
|
+
type: StringConstructor;
|
|
107
|
+
default: undefined;
|
|
108
|
+
};
|
|
109
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
110
|
+
[key: string]: any;
|
|
111
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
112
|
+
expandedChange: (_id: string | null) => true;
|
|
113
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
114
|
+
shape: {
|
|
115
|
+
type: PropType<PanelStackShape>;
|
|
116
|
+
default: string;
|
|
117
|
+
};
|
|
118
|
+
label: {
|
|
119
|
+
type: StringConstructor;
|
|
120
|
+
default: undefined;
|
|
121
|
+
};
|
|
122
|
+
expanded: {
|
|
123
|
+
type: PropType<string | null>;
|
|
124
|
+
default: undefined;
|
|
125
|
+
};
|
|
126
|
+
defaultExpanded: {
|
|
127
|
+
type: PropType<string | null>;
|
|
128
|
+
default: null;
|
|
129
|
+
};
|
|
130
|
+
onExpandedChange: {
|
|
131
|
+
type: PropType<(id: string | null) => void>;
|
|
132
|
+
default: undefined;
|
|
133
|
+
};
|
|
134
|
+
primary: {
|
|
135
|
+
type: StringConstructor;
|
|
136
|
+
default: undefined;
|
|
137
|
+
};
|
|
138
|
+
primaryMinHeight: {
|
|
139
|
+
type: NumberConstructor;
|
|
140
|
+
default: undefined;
|
|
141
|
+
};
|
|
142
|
+
class: {
|
|
143
|
+
type: StringConstructor;
|
|
144
|
+
default: undefined;
|
|
145
|
+
};
|
|
146
|
+
}>> & Readonly<{
|
|
147
|
+
onExpandedChange?: ((_id: string | null) => any) | undefined;
|
|
148
|
+
}>, {
|
|
149
|
+
class: string;
|
|
150
|
+
label: string;
|
|
151
|
+
shape: PanelStackShape;
|
|
152
|
+
expanded: string | null;
|
|
153
|
+
primary: string;
|
|
154
|
+
defaultExpanded: string | null;
|
|
155
|
+
onExpandedChange: (id: string | null) => void;
|
|
156
|
+
primaryMinHeight: number;
|
|
157
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
158
|
+
//# sourceMappingURL=PanelStack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PanelStack.d.ts","sourceRoot":"","sources":["../src/PanelStack.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AAGb,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,aAAa,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG;IAC5B;;oDAEgD;IAChD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;mEAE+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAA4B,CAAC;AAEzF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8EAA8E;IAC9E,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,qFAAqF;IACrF,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,4FAA4F;IAC5F,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,6EAA6E;IAC7E,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,KAAK,MAAM,IAAI,CAAC;CAClF,CAAC;AA4BF,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;cAGM,QAAQ,CAAC,eAAe,CAAC;;;;;;;;cAEtB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAChB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAEtC,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;;;;;;;;;;;;;;;;;;0BAQnC,MAAM,GAAG,IAAI;;;cAbV,QAAQ,CAAC,eAAe,CAAC;;;;;;;;cAEtB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAChB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;;;;cAEtC,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;2BAAvB,MAAM,GAAG,IAAI,KAAK,IAAI;;4EAsY1D,CAAC"}
|