@sentropic/design-system-vue 0.37.0 → 0.38.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/LICENSE +21 -0
- package/LICENSE.THIRD-PARTY.md +144 -0
- package/dist/Calendar.d.ts +18 -1
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Calendar.js +15 -1
- package/dist/Calendar.js.map +1 -1
- package/dist/Icon.d.ts +16 -7
- package/dist/Icon.d.ts.map +1 -1
- package/dist/Icon.js +9 -3
- package/dist/Icon.js.map +1 -1
- package/dist/MenuPopover.d.ts.map +1 -1
- package/dist/MenuPopover.js +113 -8
- package/dist/MenuPopover.js.map +1 -1
- package/dist/PriorityMatrix.d.ts +129 -0
- package/dist/PriorityMatrix.d.ts.map +1 -0
- package/dist/PriorityMatrix.js +175 -0
- package/dist/PriorityMatrix.js.map +1 -0
- package/dist/TimeRangePicker.d.ts +2 -1
- package/dist/TimeRangePicker.d.ts.map +1 -1
- package/dist/TimeRangePicker.js +37 -4
- package/dist/TimeRangePicker.js.map +1 -1
- package/dist/TreeView.d.ts +4 -1
- package/dist/TreeView.d.ts.map +1 -1
- package/dist/TreeView.js +4 -1
- package/dist/TreeView.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/priorityLabels.d.ts +143 -0
- package/dist/priorityLabels.d.ts.map +1 -0
- package/dist/priorityLabels.js +240 -0
- package/dist/priorityLabels.js.map +1 -0
- package/dist/styles.css +87 -4
- package/package.json +3 -2
package/dist/MenuPopover.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, h, onUnmounted, ref, watch } from "vue";
|
|
1
|
+
import { defineComponent, h, nextTick, onUnmounted, ref, watch } from "vue";
|
|
2
2
|
import { classNames } from "./classNames.js";
|
|
3
3
|
import { Menu } from "./Menu.js";
|
|
4
4
|
// Anchor spacing between panel and trigger.
|
|
@@ -19,6 +19,17 @@ function menuPopoverIsWithin(event, node) {
|
|
|
19
19
|
const target = event.target;
|
|
20
20
|
return Boolean(target && node.contains(target));
|
|
21
21
|
}
|
|
22
|
+
function effectivePlacement(placement, flipped) {
|
|
23
|
+
if (!flipped)
|
|
24
|
+
return placement;
|
|
25
|
+
if (placement === "bottom-start")
|
|
26
|
+
return "top-start";
|
|
27
|
+
if (placement === "bottom-end")
|
|
28
|
+
return "top-end";
|
|
29
|
+
if (placement === "top-start")
|
|
30
|
+
return "bottom-start";
|
|
31
|
+
return "bottom-end";
|
|
32
|
+
}
|
|
22
33
|
export const MenuPopover = defineComponent({
|
|
23
34
|
name: "MenuPopover",
|
|
24
35
|
props: {
|
|
@@ -41,6 +52,10 @@ export const MenuPopover = defineComponent({
|
|
|
41
52
|
const maxHeight = ref(0);
|
|
42
53
|
const alignEnd = ref(false);
|
|
43
54
|
const alignCenter = ref(false);
|
|
55
|
+
// True once the requested vertical side no longer fits and the panel is
|
|
56
|
+
// shown on the opposite side (flip). The placement class follows so the
|
|
57
|
+
// existing translate transforms keep working.
|
|
58
|
+
const flipped = ref(false);
|
|
44
59
|
const isOpen = () => (props.open !== undefined ? props.open : localOpen.value);
|
|
45
60
|
const setOpen = (value) => {
|
|
46
61
|
if (props.open === undefined)
|
|
@@ -51,37 +66,110 @@ export const MenuPopover = defineComponent({
|
|
|
51
66
|
const trigger = props.trigger;
|
|
52
67
|
if (!trigger)
|
|
53
68
|
return;
|
|
69
|
+
// Viewport coordinates (getBoundingClientRect) with `position: fixed`:
|
|
70
|
+
// no scroll offsets — the old document coordinates were wrong inside
|
|
71
|
+
// any positioned ancestor and the panel was clipped by overflow
|
|
72
|
+
// containers.
|
|
54
73
|
const rect = trigger.getBoundingClientRect();
|
|
55
74
|
const verticalUp = props.placement === "top-start" || props.placement === "top-end";
|
|
56
75
|
const horizontalEnd = props.placement === "bottom-end" || props.placement === "top-end";
|
|
57
76
|
const resolvedAlign = props.align ?? (horizontalEnd ? "end" : "start");
|
|
58
77
|
alignEnd.value = resolvedAlign === "end";
|
|
59
78
|
alignCenter.value = resolvedAlign === "center";
|
|
60
|
-
|
|
79
|
+
const panelHeight = panelRef.value?.offsetHeight ?? 0;
|
|
80
|
+
const panelWidth = panelRef.value?.offsetWidth ?? 0;
|
|
81
|
+
const need = panelHeight > 0 ? panelHeight : MENU_POPOVER_MIN_HEIGHT;
|
|
82
|
+
const spaceBelow = window.innerHeight - rect.bottom - MENU_POPOVER_GAP;
|
|
83
|
+
const spaceAbove = rect.top - MENU_POPOVER_GAP;
|
|
84
|
+
// Flip when the requested side cannot fit the panel and the other side
|
|
85
|
+
// offers more room.
|
|
86
|
+
let showUp = verticalUp;
|
|
87
|
+
if (!verticalUp && spaceBelow < need && spaceAbove > spaceBelow)
|
|
88
|
+
showUp = true;
|
|
89
|
+
else if (verticalUp && spaceAbove < need && spaceBelow > spaceAbove)
|
|
90
|
+
showUp = false;
|
|
91
|
+
flipped.value = showUp !== verticalUp;
|
|
92
|
+
if (showUp) {
|
|
61
93
|
// Panel bottom edge sits above the trigger (transform handles the
|
|
62
94
|
// flip); available space is what's ABOVE the trigger.
|
|
63
|
-
top.value = rect.top
|
|
95
|
+
top.value = rect.top - MENU_POPOVER_GAP;
|
|
64
96
|
maxHeight.value = Math.max(rect.top - MENU_POPOVER_GAP - MENU_POPOVER_VIEWPORT_MARGIN, MENU_POPOVER_MIN_HEIGHT);
|
|
65
97
|
}
|
|
66
98
|
else {
|
|
67
|
-
top.value = rect.bottom +
|
|
99
|
+
top.value = rect.bottom + MENU_POPOVER_GAP;
|
|
68
100
|
// Space actually available BELOW the trigger — `max-height: 100vh`
|
|
69
101
|
// alone ignores the panel's offset and overflows past the bottom edge.
|
|
70
102
|
maxHeight.value = Math.max(window.innerHeight - rect.bottom - MENU_POPOVER_GAP - MENU_POPOVER_VIEWPORT_MARGIN, MENU_POPOVER_MIN_HEIGHT);
|
|
71
103
|
}
|
|
104
|
+
// Reclamp horizontally so the measured panel stays inside the viewport.
|
|
72
105
|
if (resolvedAlign === "end") {
|
|
73
|
-
left.value = rect.right
|
|
106
|
+
left.value = rect.right;
|
|
107
|
+
if (panelWidth > 0) {
|
|
108
|
+
left.value = Math.min(Math.max(left.value, panelWidth + MENU_POPOVER_VIEWPORT_MARGIN), window.innerWidth - MENU_POPOVER_VIEWPORT_MARGIN);
|
|
109
|
+
}
|
|
74
110
|
}
|
|
75
111
|
else if (resolvedAlign === "center") {
|
|
76
|
-
left.value = rect.left +
|
|
112
|
+
left.value = rect.left + rect.width / 2;
|
|
113
|
+
if (panelWidth > 0) {
|
|
114
|
+
left.value = Math.min(Math.max(left.value, panelWidth / 2 + MENU_POPOVER_VIEWPORT_MARGIN), window.innerWidth - panelWidth / 2 - MENU_POPOVER_VIEWPORT_MARGIN);
|
|
115
|
+
}
|
|
77
116
|
}
|
|
78
117
|
else {
|
|
79
|
-
left.value = rect.left
|
|
118
|
+
left.value = rect.left;
|
|
119
|
+
if (panelWidth > 0) {
|
|
120
|
+
left.value = Math.min(Math.max(left.value, MENU_POPOVER_VIEWPORT_MARGIN), window.innerWidth - panelWidth - MENU_POPOVER_VIEWPORT_MARGIN);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Top layer: the element stays in place in the DOM (no portal to <body>)
|
|
125
|
+
// so it keeps inheriting the theme's `--st-*` custom properties; the
|
|
126
|
+
// Popover API only lifts rendering into the top layer, above overflow
|
|
127
|
+
// clipping. Where the API is missing (jsdom), plain `position: fixed`
|
|
128
|
+
// still applies.
|
|
129
|
+
let popoverShown = false;
|
|
130
|
+
// The node captured while open: the ref may already be unset when the
|
|
131
|
+
// teardown runs (unmount), while this still points at the shown element.
|
|
132
|
+
let shownEl = null;
|
|
133
|
+
function showTopLayer() {
|
|
134
|
+
const el = panelRef.value;
|
|
135
|
+
if (!el || popoverShown)
|
|
136
|
+
return;
|
|
137
|
+
if (typeof el.showPopover !== "function")
|
|
138
|
+
return;
|
|
139
|
+
// The attribute is set ONLY here (never statically in markup):
|
|
140
|
+
// environments without the API (jsdom) hide every [popover] element
|
|
141
|
+
// via the UA rule, so a static attribute would force display:none.
|
|
142
|
+
el.setAttribute("popover", "manual");
|
|
143
|
+
try {
|
|
144
|
+
el.showPopover();
|
|
145
|
+
popoverShown = true;
|
|
146
|
+
shownEl = el;
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
el.removeAttribute("popover");
|
|
150
|
+
// Already open or not ready — fixed positioning still applies.
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function hideTopLayer() {
|
|
154
|
+
const el = shownEl ?? panelRef.value;
|
|
155
|
+
shownEl = null;
|
|
156
|
+
popoverShown = false;
|
|
157
|
+
if (!el || typeof el.hidePopover !== "function")
|
|
158
|
+
return;
|
|
159
|
+
try {
|
|
160
|
+
el.hidePopover();
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Already hidden — nothing to do.
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
el.removeAttribute("popover");
|
|
80
167
|
}
|
|
81
168
|
}
|
|
82
169
|
let stopPositionTracking = null;
|
|
83
170
|
let stopCloseHandlers = null;
|
|
84
171
|
const teardown = () => {
|
|
172
|
+
hideTopLayer();
|
|
85
173
|
stopPositionTracking?.();
|
|
86
174
|
stopPositionTracking = null;
|
|
87
175
|
stopCloseHandlers?.();
|
|
@@ -92,6 +180,21 @@ export const MenuPopover = defineComponent({
|
|
|
92
180
|
if (!openNow)
|
|
93
181
|
return;
|
|
94
182
|
computePosition();
|
|
183
|
+
// The panel node only exists after render (the immediate watch fires
|
|
184
|
+
// during setup): show + re-measure on the next tick, once laid out.
|
|
185
|
+
nextTick(() => {
|
|
186
|
+
if (!isOpen())
|
|
187
|
+
return;
|
|
188
|
+
computePosition();
|
|
189
|
+
showTopLayer();
|
|
190
|
+
});
|
|
191
|
+
// Re-measure once the panel is laid out (size known for flip/clamp).
|
|
192
|
+
if (typeof requestAnimationFrame === "function") {
|
|
193
|
+
requestAnimationFrame(() => {
|
|
194
|
+
if (isOpen())
|
|
195
|
+
computePosition();
|
|
196
|
+
});
|
|
197
|
+
}
|
|
95
198
|
const onScroll = () => computePosition();
|
|
96
199
|
const onResize = () => computePosition();
|
|
97
200
|
window.addEventListener("scroll", onScroll, true);
|
|
@@ -136,7 +239,9 @@ export const MenuPopover = defineComponent({
|
|
|
136
239
|
ref: panelRef,
|
|
137
240
|
role: "dialog",
|
|
138
241
|
"aria-label": props.label,
|
|
139
|
-
|
|
242
|
+
// No static popover attribute: set imperatively by showTopLayer()
|
|
243
|
+
// only where the Popover API exists.
|
|
244
|
+
class: classNames("st-menuPopover", `st-menuPopover--${effectivePlacement(props.placement, flipped.value)}`, alignEnd.value ? "st-menuPopover--alignEnd" : null, alignCenter.value ? "st-menuPopover--alignCenter" : null, props.class),
|
|
140
245
|
style,
|
|
141
246
|
}, props.items && props.items.length ? h(Menu, { items: props.items, role: "presentation" }) : slots.default?.());
|
|
142
247
|
};
|
package/dist/MenuPopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../src/MenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../src/MenuPopover.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export type PriorityMatrixTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
|
|
2
|
+
export type PriorityMatrixDatum = {
|
|
3
|
+
/** Complexité, 0–100 (bornée à l'affichage). */
|
|
4
|
+
x: number;
|
|
5
|
+
/** Valeur, 0–100 (bornée à l'affichage). */
|
|
6
|
+
y: number;
|
|
7
|
+
/** Étiquette affichée (une ou deux lignes). */
|
|
8
|
+
label: string;
|
|
9
|
+
tone?: PriorityMatrixTone;
|
|
10
|
+
};
|
|
11
|
+
export type PriorityMatrixProps = {
|
|
12
|
+
data: PriorityMatrixDatum[];
|
|
13
|
+
/** Titre visible au-dessus du cadre. */
|
|
14
|
+
title?: string;
|
|
15
|
+
xLabel?: string;
|
|
16
|
+
yLabel?: string;
|
|
17
|
+
/** Seuils de quadrants (0–100). */
|
|
18
|
+
xThreshold?: number;
|
|
19
|
+
yThreshold?: number;
|
|
20
|
+
width?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
radius?: number;
|
|
23
|
+
label: string;
|
|
24
|
+
class?: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const PriorityMatrix: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
27
|
+
data: {
|
|
28
|
+
type: () => PriorityMatrixDatum[];
|
|
29
|
+
required: true;
|
|
30
|
+
};
|
|
31
|
+
title: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
xLabel: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
yLabel: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
xThreshold: {
|
|
44
|
+
type: NumberConstructor;
|
|
45
|
+
default: number;
|
|
46
|
+
};
|
|
47
|
+
yThreshold: {
|
|
48
|
+
type: NumberConstructor;
|
|
49
|
+
default: number;
|
|
50
|
+
};
|
|
51
|
+
width: {
|
|
52
|
+
type: NumberConstructor;
|
|
53
|
+
default: number;
|
|
54
|
+
};
|
|
55
|
+
height: {
|
|
56
|
+
type: NumberConstructor;
|
|
57
|
+
default: number;
|
|
58
|
+
};
|
|
59
|
+
radius: {
|
|
60
|
+
type: NumberConstructor;
|
|
61
|
+
default: number;
|
|
62
|
+
};
|
|
63
|
+
label: {
|
|
64
|
+
type: StringConstructor;
|
|
65
|
+
required: true;
|
|
66
|
+
};
|
|
67
|
+
class: {
|
|
68
|
+
type: StringConstructor;
|
|
69
|
+
default: undefined;
|
|
70
|
+
};
|
|
71
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
74
|
+
data: {
|
|
75
|
+
type: () => PriorityMatrixDatum[];
|
|
76
|
+
required: true;
|
|
77
|
+
};
|
|
78
|
+
title: {
|
|
79
|
+
type: StringConstructor;
|
|
80
|
+
default: string;
|
|
81
|
+
};
|
|
82
|
+
xLabel: {
|
|
83
|
+
type: StringConstructor;
|
|
84
|
+
default: string;
|
|
85
|
+
};
|
|
86
|
+
yLabel: {
|
|
87
|
+
type: StringConstructor;
|
|
88
|
+
default: string;
|
|
89
|
+
};
|
|
90
|
+
xThreshold: {
|
|
91
|
+
type: NumberConstructor;
|
|
92
|
+
default: number;
|
|
93
|
+
};
|
|
94
|
+
yThreshold: {
|
|
95
|
+
type: NumberConstructor;
|
|
96
|
+
default: number;
|
|
97
|
+
};
|
|
98
|
+
width: {
|
|
99
|
+
type: NumberConstructor;
|
|
100
|
+
default: number;
|
|
101
|
+
};
|
|
102
|
+
height: {
|
|
103
|
+
type: NumberConstructor;
|
|
104
|
+
default: number;
|
|
105
|
+
};
|
|
106
|
+
radius: {
|
|
107
|
+
type: NumberConstructor;
|
|
108
|
+
default: number;
|
|
109
|
+
};
|
|
110
|
+
label: {
|
|
111
|
+
type: StringConstructor;
|
|
112
|
+
required: true;
|
|
113
|
+
};
|
|
114
|
+
class: {
|
|
115
|
+
type: StringConstructor;
|
|
116
|
+
default: undefined;
|
|
117
|
+
};
|
|
118
|
+
}>> & Readonly<{}>, {
|
|
119
|
+
class: string;
|
|
120
|
+
title: string;
|
|
121
|
+
height: number;
|
|
122
|
+
width: number;
|
|
123
|
+
radius: number;
|
|
124
|
+
xLabel: string;
|
|
125
|
+
yLabel: string;
|
|
126
|
+
xThreshold: number;
|
|
127
|
+
yThreshold: number;
|
|
128
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
129
|
+
//# sourceMappingURL=PriorityMatrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriorityMatrix.d.ts","sourceRoot":"","sources":["../src/PriorityMatrix.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gDAAgD;IAChD,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiEF,eAAO,MAAM,cAAc;;cAGA,MAAM,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA3B,MAAM,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA+KpD,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { computed, defineComponent, h } from "vue";
|
|
2
|
+
import { placePriorityLabels } from "./priorityLabels.js";
|
|
3
|
+
import { classNames } from "./classNames.js";
|
|
4
|
+
import { chartDataList } from "./chartScale.js";
|
|
5
|
+
const MARGIN = { top: 26, right: 18, bottom: 36, left: 48 };
|
|
6
|
+
const TICKS = [0, 20, 40, 60, 80, 100];
|
|
7
|
+
const TONES = [
|
|
8
|
+
"category1",
|
|
9
|
+
"category2",
|
|
10
|
+
"category3",
|
|
11
|
+
"category4",
|
|
12
|
+
"category5",
|
|
13
|
+
"category6",
|
|
14
|
+
"category7",
|
|
15
|
+
"category8",
|
|
16
|
+
];
|
|
17
|
+
const QUADRANT_NAMES = {
|
|
18
|
+
"quick-wins": "Gains rapides",
|
|
19
|
+
"major-projects": "Projets majeurs",
|
|
20
|
+
wait: "Attendre",
|
|
21
|
+
drop: "Ne pas faire",
|
|
22
|
+
};
|
|
23
|
+
function splitLabel(value) {
|
|
24
|
+
const chars = [...value];
|
|
25
|
+
if (chars.length <= 12)
|
|
26
|
+
return [value];
|
|
27
|
+
const mid = Math.ceil(chars.length / 2);
|
|
28
|
+
const space = value.lastIndexOf(" ", mid + 4);
|
|
29
|
+
if (space > 2 && space < value.length - 2)
|
|
30
|
+
return [value.slice(0, space), value.slice(space + 1)];
|
|
31
|
+
return [value.slice(0, mid), value.slice(mid)];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fixed obstacles for the placement: keep-out bands around the two threshold
|
|
35
|
+
* lines plus one rectangle per quadrant name, in frame pixels. Estimated from
|
|
36
|
+
* the rendered geometry (11px names); a soft cost, not a hard exclusion.
|
|
37
|
+
*/
|
|
38
|
+
function buildMatrixObstacles(tx, ty, plotW, plotH) {
|
|
39
|
+
const names = [
|
|
40
|
+
{ x: MARGIN.left + 6, y: MARGIN.top + 14, anchor: "start", text: QUADRANT_NAMES["quick-wins"] },
|
|
41
|
+
{ x: MARGIN.left + plotW - 6, y: MARGIN.top + 14, anchor: "end", text: QUADRANT_NAMES["major-projects"] },
|
|
42
|
+
{ x: MARGIN.left + 6, y: MARGIN.top + plotH - 8, anchor: "start", text: QUADRANT_NAMES.wait },
|
|
43
|
+
{ x: MARGIN.left + plotW - 6, y: MARGIN.top + plotH - 8, anchor: "end", text: QUADRANT_NAMES.drop },
|
|
44
|
+
];
|
|
45
|
+
const out = [
|
|
46
|
+
{ x: tx - 3, y: MARGIN.top, w: 6, h: plotH },
|
|
47
|
+
{ x: MARGIN.left, y: ty - 3, w: plotW, h: 6 },
|
|
48
|
+
];
|
|
49
|
+
for (const q of names) {
|
|
50
|
+
const w = [...q.text].length * 6.5 + 4;
|
|
51
|
+
out.push({ x: q.anchor === "start" ? q.x : q.x - w, y: q.y - 9, w, h: 12 });
|
|
52
|
+
}
|
|
53
|
+
return out;
|
|
54
|
+
}
|
|
55
|
+
/** Accessible coordinate text; non-finite values read as N/A, never NaN. */
|
|
56
|
+
function coordText(v) {
|
|
57
|
+
return Number.isFinite(v) ? String(v) : "N/A";
|
|
58
|
+
}
|
|
59
|
+
export const PriorityMatrix = defineComponent({
|
|
60
|
+
name: "PriorityMatrix",
|
|
61
|
+
props: {
|
|
62
|
+
data: { type: Array, required: true },
|
|
63
|
+
title: { type: String, default: "Matrice de priorisation" },
|
|
64
|
+
xLabel: { type: String, default: "Complexité (0-100 pts)" },
|
|
65
|
+
yLabel: { type: String, default: "Valeur (0-100 pts)" },
|
|
66
|
+
xThreshold: { type: Number, default: 50 },
|
|
67
|
+
yThreshold: { type: Number, default: 50 },
|
|
68
|
+
width: { type: Number, default: 640 },
|
|
69
|
+
height: { type: Number, default: 400 },
|
|
70
|
+
radius: { type: Number, default: 5 },
|
|
71
|
+
label: { type: String, required: true },
|
|
72
|
+
class: { type: String, default: undefined },
|
|
73
|
+
},
|
|
74
|
+
setup(props, { attrs }) {
|
|
75
|
+
// Memoised: the annealing pass costs ~3ms at 13 points but ~37ms at 50,
|
|
76
|
+
// and must not rerun on every parent render.
|
|
77
|
+
const placedMemo = computed(() => {
|
|
78
|
+
const width = props.width ?? 640;
|
|
79
|
+
const height = props.height ?? 400;
|
|
80
|
+
const data = props.data ?? [];
|
|
81
|
+
const xThreshold = props.xThreshold ?? 50;
|
|
82
|
+
const yThreshold = props.yThreshold ?? 50;
|
|
83
|
+
const plotW = Math.max(width - MARGIN.left - MARGIN.right, 1);
|
|
84
|
+
const plotH = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
|
|
85
|
+
const sx = (v) => Number.isFinite(v) ? MARGIN.left + (Math.min(Math.max(v, 0), 100) / 100) * plotW : MARGIN.left;
|
|
86
|
+
const sy = (v) => Number.isFinite(v) ? MARGIN.top + (1 - Math.min(Math.max(v, 0), 100) / 100) * plotH : MARGIN.top;
|
|
87
|
+
const boxes = data.map((d) => {
|
|
88
|
+
const lines = splitLabel(d.label);
|
|
89
|
+
const longest = Math.max(...lines.map((l) => [...l].length));
|
|
90
|
+
return { w: Math.min(120, 12 + 7 * longest), h: lines.length > 1 ? 34 : 20, lines };
|
|
91
|
+
});
|
|
92
|
+
return placePriorityLabels(data.map((d) => ({ x: d.x, y: d.y, label: d.label })), boxes, { width, height, marginLeft: MARGIN.left, marginTop: MARGIN.top, plotWidth: plotW, plotHeight: plotH }, { xThreshold, yThreshold, obstacles: buildMatrixObstacles(sx(xThreshold), sy(yThreshold), plotW, plotH) }).map((p) => ({ ...p, lines: boxes[p.index].lines }));
|
|
93
|
+
});
|
|
94
|
+
return () => {
|
|
95
|
+
const width = props.width ?? 640;
|
|
96
|
+
const height = props.height ?? 400;
|
|
97
|
+
const radius = props.radius ?? 5;
|
|
98
|
+
const label = props.label;
|
|
99
|
+
const data = props.data;
|
|
100
|
+
const xThreshold = props.xThreshold ?? 50;
|
|
101
|
+
const yThreshold = props.yThreshold ?? 50;
|
|
102
|
+
const plotW = Math.max(width - MARGIN.left - MARGIN.right, 1);
|
|
103
|
+
const plotH = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
|
|
104
|
+
const scaleX = (v) => Number.isFinite(v) ? MARGIN.left + (Math.min(Math.max(v, 0), 100) / 100) * plotW : MARGIN.left;
|
|
105
|
+
const scaleY = (v) => Number.isFinite(v) ? MARGIN.top + (1 - Math.min(Math.max(v, 0), 100) / 100) * plotH : MARGIN.top;
|
|
106
|
+
const tx = scaleX(xThreshold);
|
|
107
|
+
const ty = scaleY(yThreshold);
|
|
108
|
+
const quads = [
|
|
109
|
+
{ id: "quick-wins", x: MARGIN.left, y: MARGIN.top, w: tx - MARGIN.left, h: ty - MARGIN.top },
|
|
110
|
+
{ id: "major-projects", x: tx, y: MARGIN.top, w: MARGIN.left + plotW - tx, h: ty - MARGIN.top },
|
|
111
|
+
{ id: "wait", x: MARGIN.left, y: ty, w: tx - MARGIN.left, h: MARGIN.top + plotH - ty },
|
|
112
|
+
{ id: "drop", x: tx, y: ty, w: MARGIN.left + plotW - tx, h: MARGIN.top + plotH - ty },
|
|
113
|
+
];
|
|
114
|
+
const quadNames = [
|
|
115
|
+
{ id: "quick-wins", x: MARGIN.left + 6, y: MARGIN.top + 14, anchor: "start" },
|
|
116
|
+
{ id: "major-projects", x: MARGIN.left + plotW - 6, y: MARGIN.top + 14, anchor: "end" },
|
|
117
|
+
{ id: "wait", x: MARGIN.left + 6, y: MARGIN.top + plotH - 8, anchor: "start" },
|
|
118
|
+
{ id: "drop", x: MARGIN.left + plotW - 6, y: MARGIN.top + plotH - 8, anchor: "end" },
|
|
119
|
+
];
|
|
120
|
+
const points = data.map((d, i) => ({
|
|
121
|
+
cx: scaleX(d.x),
|
|
122
|
+
cy: scaleY(d.y),
|
|
123
|
+
datum: d,
|
|
124
|
+
index: i,
|
|
125
|
+
tone: (d.tone ?? TONES[i % TONES.length]),
|
|
126
|
+
}));
|
|
127
|
+
const placed = placedMemo.value;
|
|
128
|
+
const dataValueItems = data.map((d) => `${d.label} : complexité ${coordText(d.x)}, valeur ${coordText(d.y)}`);
|
|
129
|
+
const svgChildren = [];
|
|
130
|
+
if (props.title) {
|
|
131
|
+
svgChildren.push(h("text", { class: "st-priorityMatrix__title", x: MARGIN.left, y: 15, "text-anchor": "start" }, props.title));
|
|
132
|
+
}
|
|
133
|
+
for (const q of quads) {
|
|
134
|
+
svgChildren.push(h("rect", { key: q.id, class: `st-priorityMatrix__quad st-priorityMatrix__quad--${q.id}`, x: q.x, y: q.y, width: q.w, height: q.h }));
|
|
135
|
+
}
|
|
136
|
+
for (const t of TICKS) {
|
|
137
|
+
const y = scaleY(t);
|
|
138
|
+
svgChildren.push(h("line", { key: `gy${t}`, class: "st-priorityMatrix__grid", x1: MARGIN.left, x2: width - MARGIN.right, y1: y, y2: y }), h("text", { key: `ty${t}`, class: "st-priorityMatrix__tick", x: MARGIN.left - 6, y, "text-anchor": "end", "dominant-baseline": "middle" }, String(t)));
|
|
139
|
+
}
|
|
140
|
+
for (const t of TICKS) {
|
|
141
|
+
svgChildren.push(h("text", { key: `tx${t}`, class: "st-priorityMatrix__tick", x: scaleX(t), y: height - MARGIN.bottom + 16, "text-anchor": "middle" }, String(t)));
|
|
142
|
+
}
|
|
143
|
+
svgChildren.push(h("line", { class: "st-priorityMatrix__axis", x1: MARGIN.left, x2: MARGIN.left, y1: MARGIN.top, y2: height - MARGIN.bottom }), h("line", { class: "st-priorityMatrix__axis", x1: MARGIN.left, x2: width - MARGIN.right, y1: height - MARGIN.bottom, y2: height - MARGIN.bottom }), h("line", { class: "st-priorityMatrix__threshold", x1: tx, x2: tx, y1: MARGIN.top, y2: MARGIN.top + plotH }), h("line", { class: "st-priorityMatrix__threshold", x1: MARGIN.left, x2: MARGIN.left + plotW, y1: ty, y2: ty }));
|
|
144
|
+
for (const q of quadNames) {
|
|
145
|
+
svgChildren.push(h("text", { key: q.id, class: "st-priorityMatrix__quadName", x: q.x, y: q.y, "text-anchor": q.anchor }, QUADRANT_NAMES[q.id]));
|
|
146
|
+
}
|
|
147
|
+
if (props.xLabel) {
|
|
148
|
+
svgChildren.push(h("text", { class: "st-priorityMatrix__axisLabel", x: MARGIN.left + plotW / 2, y: height - 4, "text-anchor": "middle" }, props.xLabel));
|
|
149
|
+
}
|
|
150
|
+
if (props.yLabel) {
|
|
151
|
+
svgChildren.push(h("text", { class: "st-priorityMatrix__axisLabel", x: 12, y: MARGIN.top + plotH / 2, "text-anchor": "middle", transform: `rotate(-90 12 ${MARGIN.top + plotH / 2})` }, props.yLabel));
|
|
152
|
+
}
|
|
153
|
+
for (const p of points) {
|
|
154
|
+
svgChildren.push(h("circle", { key: `p${p.index}`, class: `st-priorityMatrix__point st-priorityMatrix__point--${p.tone}`, cx: p.cx, cy: p.cy, r: radius }));
|
|
155
|
+
}
|
|
156
|
+
for (const p of placed) {
|
|
157
|
+
svgChildren.push(h("line", { key: `l${p.index}`, class: "st-priorityMatrix__leader", x1: p.leaderX1, y1: p.leaderY1, x2: p.leaderX2, y2: p.leaderY2 }), h("rect", { key: `b${p.index}`, class: "st-priorityMatrix__labelBox", x: p.x, y: p.y, width: p.w, height: p.h, rx: "3" }), ...p.lines.map((line, li) => h("text", { key: `t${p.index}-${li}`, class: "st-priorityMatrix__labelText", x: p.x + p.w / 2, y: p.y + 13 + li * 13, "text-anchor": "middle" }, line)));
|
|
158
|
+
}
|
|
159
|
+
return h("div", { ...attrs, class: classNames("st-priorityMatrix", props.class) }, [
|
|
160
|
+
h("div", { class: "st-priorityMatrix__visual", role: "img", "aria-label": label }, [
|
|
161
|
+
h("svg", {
|
|
162
|
+
viewBox: `0 0 ${width} ${height}`,
|
|
163
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
164
|
+
width: "100%",
|
|
165
|
+
height: "100%",
|
|
166
|
+
focusable: "false",
|
|
167
|
+
"aria-hidden": "true",
|
|
168
|
+
}, svgChildren),
|
|
169
|
+
]),
|
|
170
|
+
chartDataList(label, dataValueItems),
|
|
171
|
+
]);
|
|
172
|
+
};
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
//# sourceMappingURL=PriorityMatrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriorityMatrix.js","sourceRoot":"","sources":["../src/PriorityMatrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,7 +127,7 @@ export declare const TimeRangePicker: import("vue").DefineComponent<import("vue"
|
|
|
127
127
|
};
|
|
128
128
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
129
129
|
[key: string]: any;
|
|
130
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
130
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "openChange")[], "change" | "update:modelValue" | "openChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
131
131
|
modelValue: {
|
|
132
132
|
type: PropType<TimeRange>;
|
|
133
133
|
default: undefined;
|
|
@@ -207,6 +207,7 @@ export declare const TimeRangePicker: import("vue").DefineComponent<import("vue"
|
|
|
207
207
|
}>> & Readonly<{
|
|
208
208
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
209
209
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
210
|
+
onOpenChange?: ((...args: any[]) => any) | undefined;
|
|
210
211
|
}>, {
|
|
211
212
|
align: TimeRangePickerAlign;
|
|
212
213
|
size: TimeRangePickerSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeRangePicker.d.ts","sourceRoot":"","sources":["../src/TimeRangePicker.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AAoBb,OAAO,KAAK,EAAE,SAAS,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKhF,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEhF,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACrD,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAC/F,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/D,CAAC;
|
|
1
|
+
{"version":3,"file":"TimeRangePicker.d.ts","sourceRoot":"","sources":["../src/TimeRangePicker.ts"],"names":[],"mappings":"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"}
|