@sentropic/design-system-vue 0.36.20 → 0.36.21
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/AppChrome.d.ts +286 -0
- package/dist/AppChrome.d.ts.map +1 -0
- package/dist/AppChrome.js +344 -0
- package/dist/AppChrome.js.map +1 -0
- package/dist/Autosave.d.ts +1 -1
- package/dist/Autosave.d.ts.map +1 -1
- package/dist/Calendar.d.ts +1 -1
- package/dist/ConfigItemCard.d.ts +101 -0
- package/dist/ConfigItemCard.d.ts.map +1 -0
- package/dist/ConfigItemCard.js +134 -0
- package/dist/ConfigItemCard.js.map +1 -0
- package/dist/CopyButton.d.ts +1 -1
- package/dist/DataTable.d.ts +1 -1
- package/dist/FieldCard.d.ts +71 -0
- package/dist/FieldCard.d.ts.map +1 -0
- package/dist/FieldCard.js +63 -0
- package/dist/FieldCard.js.map +1 -0
- package/dist/ScoreCard.d.ts +89 -0
- package/dist/ScoreCard.d.ts.map +1 -0
- package/dist/ScoreCard.js +66 -0
- package/dist/ScoreCard.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/styles.css +536 -0
- package/package.json +1 -1
package/dist/Autosave.d.ts
CHANGED
|
@@ -83,10 +83,10 @@ export declare const Autosave: import("vue").DefineComponent<import("vue").Extra
|
|
|
83
83
|
}>, {
|
|
84
84
|
class: string;
|
|
85
85
|
status: AutosaveStatus;
|
|
86
|
+
locale: string;
|
|
86
87
|
labels: AutosaveLabels;
|
|
87
88
|
lastSaved: string | Date;
|
|
88
89
|
onRetry: () => void;
|
|
89
90
|
retryLabel: string;
|
|
90
|
-
locale: string;
|
|
91
91
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
92
92
|
//# sourceMappingURL=Autosave.d.ts.map
|
package/dist/Autosave.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autosave.d.ts","sourceRoot":"","sources":["../src/Autosave.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yCAAyC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAcF,eAAO,MAAM,QAAQ;;cAGS,MAAM,cAAc;;;;cACE,MAAM,MAAM,GAAG,IAAI;;;;cAC3B,MAAM,MAAM,IAAI;;;;cAC9B,MAAM,cAAc;;;;;;;;;;;;;;;;;;;cAHpB,MAAM,cAAc;;;;cACE,MAAM,MAAM,GAAG,IAAI;;;;cAC3B,MAAM,MAAM,IAAI;;;;cAC9B,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"Autosave.d.ts","sourceRoot":"","sources":["../src/Autosave.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yCAAyC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAcF,eAAO,MAAM,QAAQ;;cAGS,MAAM,cAAc;;;;cACE,MAAM,MAAM,GAAG,IAAI;;;;cAC3B,MAAM,MAAM,IAAI;;;;cAC9B,MAAM,cAAc;;;;;;;;;;;;;;;;;;;cAHpB,MAAM,cAAc;;;;cACE,MAAM,MAAM,GAAG,IAAI;;;;cAC3B,MAAM,MAAM,IAAI;;;;cAC9B,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;mBADM,IAAI;;4EA4F1D,CAAC"}
|
package/dist/Calendar.d.ts
CHANGED
|
@@ -124,8 +124,8 @@ export declare const Calendar: import("vue").DefineComponent<import("vue").Extra
|
|
|
124
124
|
onChange: (value: CalendarValue) => void;
|
|
125
125
|
max: string;
|
|
126
126
|
min: string;
|
|
127
|
-
value: CalendarValue;
|
|
128
127
|
locale: string;
|
|
128
|
+
value: CalendarValue;
|
|
129
129
|
month: string;
|
|
130
130
|
range: boolean;
|
|
131
131
|
weekStartsOn: 0 | 1;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { type PropType, type VNode } from "vue";
|
|
2
|
+
export type ConfigItemSourceLevel = "code" | "admin" | "user";
|
|
3
|
+
export type ConfigItem = {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
key?: string;
|
|
7
|
+
description?: string | null;
|
|
8
|
+
/** Provenance : `code`/`admin` = système (verrouillé), `user` = personnalisé. */
|
|
9
|
+
sourceLevel: ConfigItemSourceLevel;
|
|
10
|
+
/** Identifiant du parent si l'item est une copie d'un défaut système. */
|
|
11
|
+
parentId?: string | null;
|
|
12
|
+
version?: number;
|
|
13
|
+
};
|
|
14
|
+
export type ConfigItemCardProps = {
|
|
15
|
+
item: ConfigItem;
|
|
16
|
+
hasCopy?: boolean;
|
|
17
|
+
onCopy?: (id: string) => void;
|
|
18
|
+
onEdit?: (id: string) => void;
|
|
19
|
+
onReset?: (id: string) => void;
|
|
20
|
+
onDelete?: (id: string) => void;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
class?: string;
|
|
23
|
+
};
|
|
24
|
+
export declare const ConfigItemCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
25
|
+
item: {
|
|
26
|
+
type: PropType<ConfigItem>;
|
|
27
|
+
required: true;
|
|
28
|
+
};
|
|
29
|
+
hasCopy: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
};
|
|
33
|
+
onCopy: {
|
|
34
|
+
type: PropType<(id: string) => void>;
|
|
35
|
+
default: undefined;
|
|
36
|
+
};
|
|
37
|
+
onEdit: {
|
|
38
|
+
type: PropType<(id: string) => void>;
|
|
39
|
+
default: undefined;
|
|
40
|
+
};
|
|
41
|
+
onReset: {
|
|
42
|
+
type: PropType<(id: string) => void>;
|
|
43
|
+
default: undefined;
|
|
44
|
+
};
|
|
45
|
+
onDelete: {
|
|
46
|
+
type: PropType<(id: string) => void>;
|
|
47
|
+
default: undefined;
|
|
48
|
+
};
|
|
49
|
+
disabled: {
|
|
50
|
+
type: BooleanConstructor;
|
|
51
|
+
default: boolean;
|
|
52
|
+
};
|
|
53
|
+
class: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
default: undefined;
|
|
56
|
+
};
|
|
57
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
58
|
+
[key: string]: any;
|
|
59
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
60
|
+
item: {
|
|
61
|
+
type: PropType<ConfigItem>;
|
|
62
|
+
required: true;
|
|
63
|
+
};
|
|
64
|
+
hasCopy: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
68
|
+
onCopy: {
|
|
69
|
+
type: PropType<(id: string) => void>;
|
|
70
|
+
default: undefined;
|
|
71
|
+
};
|
|
72
|
+
onEdit: {
|
|
73
|
+
type: PropType<(id: string) => void>;
|
|
74
|
+
default: undefined;
|
|
75
|
+
};
|
|
76
|
+
onReset: {
|
|
77
|
+
type: PropType<(id: string) => void>;
|
|
78
|
+
default: undefined;
|
|
79
|
+
};
|
|
80
|
+
onDelete: {
|
|
81
|
+
type: PropType<(id: string) => void>;
|
|
82
|
+
default: undefined;
|
|
83
|
+
};
|
|
84
|
+
disabled: {
|
|
85
|
+
type: BooleanConstructor;
|
|
86
|
+
default: boolean;
|
|
87
|
+
};
|
|
88
|
+
class: {
|
|
89
|
+
type: StringConstructor;
|
|
90
|
+
default: undefined;
|
|
91
|
+
};
|
|
92
|
+
}>> & Readonly<{}>, {
|
|
93
|
+
class: string;
|
|
94
|
+
onCopy: (id: string) => void;
|
|
95
|
+
onReset: (id: string) => void;
|
|
96
|
+
disabled: boolean;
|
|
97
|
+
hasCopy: boolean;
|
|
98
|
+
onEdit: (id: string) => void;
|
|
99
|
+
onDelete: (id: string) => void;
|
|
100
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
101
|
+
//# sourceMappingURL=ConfigItemCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigItemCard.d.ts","sourceRoot":"","sources":["../src/ConfigItemCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAGpE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iFAAiF;IACjF,WAAW,EAAE,qBAAqB,CAAC;IACnC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAmBF,eAAO,MAAM,cAAc;;cAGC,QAAQ,CAAC,UAAU,CAAC;;;;;;;;cAEhB,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;cAC9B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;cAC7B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;cAC7B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;;;;;;;;;;;;cALpC,QAAQ,CAAC,UAAU,CAAC;;;;;;;;cAEhB,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;cAC9B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;cAC7B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;cAC7B,QAAQ,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;;;;;;;;;;;;;iBAHlB,MAAM,KAAK,IAAI;kBAEd,MAAM,KAAK,IAAI;;;iBADhB,MAAM,KAAK,IAAI;mBAEb,MAAM,KAAK,IAAI;4EAgK7D,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
function icon(path) {
|
|
4
|
+
return h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", "aria-hidden": "true", focusable: "false" }, [
|
|
5
|
+
h("path", {
|
|
6
|
+
d: path,
|
|
7
|
+
fill: "none",
|
|
8
|
+
stroke: "currentColor",
|
|
9
|
+
"stroke-width": "1.25",
|
|
10
|
+
"stroke-linecap": "round",
|
|
11
|
+
"stroke-linejoin": "round",
|
|
12
|
+
}),
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
export const ConfigItemCard = defineComponent({
|
|
16
|
+
name: "ConfigItemCard",
|
|
17
|
+
props: {
|
|
18
|
+
item: { type: Object, required: true },
|
|
19
|
+
hasCopy: { type: Boolean, default: false },
|
|
20
|
+
onCopy: { type: Function, default: undefined },
|
|
21
|
+
onEdit: { type: Function, default: undefined },
|
|
22
|
+
onReset: { type: Function, default: undefined },
|
|
23
|
+
onDelete: { type: Function, default: undefined },
|
|
24
|
+
disabled: { type: Boolean, default: false },
|
|
25
|
+
class: { type: String, default: undefined },
|
|
26
|
+
},
|
|
27
|
+
setup(props, { attrs, slots }) {
|
|
28
|
+
return () => {
|
|
29
|
+
const item = props.item;
|
|
30
|
+
const isSystem = item.sourceLevel === "code" || item.sourceLevel === "admin";
|
|
31
|
+
const isCopied = item.sourceLevel === "user" && !!item.parentId;
|
|
32
|
+
const isUserCreated = item.sourceLevel === "user" && !item.parentId;
|
|
33
|
+
const showCopy = isSystem && !props.hasCopy && !!props.onCopy;
|
|
34
|
+
const showEdit = (isCopied || isUserCreated) && !!props.onEdit;
|
|
35
|
+
const showReset = isCopied && !!props.onReset;
|
|
36
|
+
const showDelete = isUserCreated && !!props.onDelete;
|
|
37
|
+
const headerChildren = [
|
|
38
|
+
h("span", { class: "st-configItemCard__name" }, item.name),
|
|
39
|
+
];
|
|
40
|
+
if (isSystem) {
|
|
41
|
+
headerChildren.push(h("span", { class: "st-configItemCard__badge st-configItemCard__badge--system" }, [
|
|
42
|
+
h("svg", {
|
|
43
|
+
class: "st-configItemCard__badgeIcon",
|
|
44
|
+
width: "12",
|
|
45
|
+
height: "12",
|
|
46
|
+
viewBox: "0 0 14 14",
|
|
47
|
+
"aria-hidden": "true",
|
|
48
|
+
focusable: "false",
|
|
49
|
+
}, [
|
|
50
|
+
h("path", {
|
|
51
|
+
d: "M4 6V4.5a3 3 0 0 1 6 0V6M3.5 6h7A1.5 1.5 0 0 1 12 7.5v3A1.5 1.5 0 0 1 10.5 12h-7A1.5 1.5 0 0 1 2 10.5v-3A1.5 1.5 0 0 1 3.5 6Z",
|
|
52
|
+
fill: "none",
|
|
53
|
+
stroke: "currentColor",
|
|
54
|
+
"stroke-width": "1.25",
|
|
55
|
+
"stroke-linecap": "round",
|
|
56
|
+
"stroke-linejoin": "round",
|
|
57
|
+
}),
|
|
58
|
+
]),
|
|
59
|
+
"Système",
|
|
60
|
+
]));
|
|
61
|
+
}
|
|
62
|
+
else if (isCopied) {
|
|
63
|
+
headerChildren.push(h("span", { class: "st-configItemCard__badge st-configItemCard__badge--custom" }, "Personnalisé"));
|
|
64
|
+
}
|
|
65
|
+
const children = [
|
|
66
|
+
h("div", { class: "st-configItemCard__header" }, headerChildren),
|
|
67
|
+
];
|
|
68
|
+
if (item.key) {
|
|
69
|
+
children.push(h("div", { class: "st-configItemCard__key" }, item.key));
|
|
70
|
+
}
|
|
71
|
+
if (item.description) {
|
|
72
|
+
children.push(h("p", { class: "st-configItemCard__description" }, item.description));
|
|
73
|
+
}
|
|
74
|
+
if (showCopy || showEdit || showReset || showDelete) {
|
|
75
|
+
const actions = [];
|
|
76
|
+
if (showCopy) {
|
|
77
|
+
actions.push(h("button", {
|
|
78
|
+
type: "button",
|
|
79
|
+
class: "st-configItemCard__action",
|
|
80
|
+
title: "Copier",
|
|
81
|
+
"aria-label": "Copier",
|
|
82
|
+
disabled: props.disabled,
|
|
83
|
+
onClick: () => props.onCopy?.(item.id),
|
|
84
|
+
}, [
|
|
85
|
+
icon("M5.5 5.5V3.75A1.25 1.25 0 0 1 6.75 2.5h5.5A1.25 1.25 0 0 1 13.5 3.75v5.5a1.25 1.25 0 0 1-1.25 1.25H10.5M3.75 5.5h5.5A1.25 1.25 0 0 1 10.5 6.75v5.5a1.25 1.25 0 0 1-1.25 1.25h-5.5A1.25 1.25 0 0 1 2.5 12.25v-5.5A1.25 1.25 0 0 1 3.75 5.5Z"),
|
|
86
|
+
]));
|
|
87
|
+
}
|
|
88
|
+
if (showEdit) {
|
|
89
|
+
actions.push(h("button", {
|
|
90
|
+
type: "button",
|
|
91
|
+
class: "st-configItemCard__action",
|
|
92
|
+
title: "Éditer",
|
|
93
|
+
"aria-label": "Éditer",
|
|
94
|
+
disabled: props.disabled,
|
|
95
|
+
onClick: () => props.onEdit?.(item.id),
|
|
96
|
+
}, [icon("m10.5 2.5 3 3L6 13l-3.5.5L3 10l7.5-7.5Z")]));
|
|
97
|
+
}
|
|
98
|
+
if (showReset) {
|
|
99
|
+
actions.push(h("button", {
|
|
100
|
+
type: "button",
|
|
101
|
+
class: "st-configItemCard__action st-configItemCard__action--warning",
|
|
102
|
+
title: "Réinitialiser",
|
|
103
|
+
"aria-label": "Réinitialiser",
|
|
104
|
+
disabled: props.disabled,
|
|
105
|
+
onClick: () => props.onReset?.(item.id),
|
|
106
|
+
}, [icon("M3 8a5 5 0 1 1 1.5 3.5M3 8V5M3 8h3")]));
|
|
107
|
+
}
|
|
108
|
+
if (showDelete) {
|
|
109
|
+
actions.push(h("button", {
|
|
110
|
+
type: "button",
|
|
111
|
+
class: "st-configItemCard__action st-configItemCard__action--danger",
|
|
112
|
+
title: "Supprimer",
|
|
113
|
+
"aria-label": "Supprimer",
|
|
114
|
+
disabled: props.disabled,
|
|
115
|
+
onClick: () => props.onDelete?.(item.id),
|
|
116
|
+
}, [
|
|
117
|
+
icon("M3 4.5h10M6 4.5V3.25A.75.75 0 0 1 6.75 2.5h2.5a.75.75 0 0 1 .75.75V4.5M4.25 4.5l.5 8A1 1 0 0 0 5.75 13.5h4.5a1 1 0 0 0 1-.99l.5-8"),
|
|
118
|
+
]));
|
|
119
|
+
}
|
|
120
|
+
children.push(h("div", { class: "st-configItemCard__actions" }, actions));
|
|
121
|
+
}
|
|
122
|
+
const slotContent = slots.default?.();
|
|
123
|
+
if (slotContent) {
|
|
124
|
+
children.push(...slotContent);
|
|
125
|
+
}
|
|
126
|
+
return h("article", {
|
|
127
|
+
...attrs,
|
|
128
|
+
class: classNames("st-configItemCard", props.class),
|
|
129
|
+
"data-testid": `config-item-card-${item.key ?? item.id}`,
|
|
130
|
+
}, children);
|
|
131
|
+
};
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
//# sourceMappingURL=ConfigItemCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigItemCard.js","sourceRoot":"","sources":["../src/ConfigItemCard.ts"],"names":[],"mappings":"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"}
|
package/dist/CopyButton.d.ts
CHANGED
|
@@ -65,8 +65,8 @@ export declare const CopyButton: import("vue").DefineComponent<import("vue").Ext
|
|
|
65
65
|
size: CopyButtonSize;
|
|
66
66
|
class: string;
|
|
67
67
|
label: string;
|
|
68
|
-
text: string;
|
|
69
68
|
value: string;
|
|
69
|
+
text: string;
|
|
70
70
|
copiedLabel: string;
|
|
71
71
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
72
72
|
//# sourceMappingURL=CopyButton.d.ts.map
|
package/dist/DataTable.d.ts
CHANGED
|
@@ -263,8 +263,8 @@ export declare const DataTable: import("vue").DefineComponent<import("vue").Extr
|
|
|
263
263
|
size: DataTableSize;
|
|
264
264
|
class: string;
|
|
265
265
|
caption: VNodeChild;
|
|
266
|
-
selectedIds: string[];
|
|
267
266
|
page: number;
|
|
267
|
+
selectedIds: string[];
|
|
268
268
|
emptyLabel: string;
|
|
269
269
|
selectable: DataTableSelectMode;
|
|
270
270
|
onSelectionChange: (ids: string[]) => void;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type PropType, type VNode } from "vue";
|
|
2
|
+
export type FieldCardVariant = "plain" | "bordered" | "accent";
|
|
3
|
+
export type FieldCardTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
|
|
4
|
+
export type FieldCardProps = {
|
|
5
|
+
label: string;
|
|
6
|
+
variant?: FieldCardVariant;
|
|
7
|
+
tone?: FieldCardTone;
|
|
8
|
+
commentCount?: number;
|
|
9
|
+
onOpenComments?: () => void;
|
|
10
|
+
class?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const FieldCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
13
|
+
label: {
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
required: true;
|
|
16
|
+
};
|
|
17
|
+
variant: {
|
|
18
|
+
type: PropType<FieldCardVariant>;
|
|
19
|
+
default: string;
|
|
20
|
+
};
|
|
21
|
+
tone: {
|
|
22
|
+
type: PropType<FieldCardTone>;
|
|
23
|
+
default: undefined;
|
|
24
|
+
};
|
|
25
|
+
commentCount: {
|
|
26
|
+
type: NumberConstructor;
|
|
27
|
+
default: number;
|
|
28
|
+
};
|
|
29
|
+
onOpenComments: {
|
|
30
|
+
type: PropType<() => void>;
|
|
31
|
+
default: undefined;
|
|
32
|
+
};
|
|
33
|
+
class: {
|
|
34
|
+
type: StringConstructor;
|
|
35
|
+
default: undefined;
|
|
36
|
+
};
|
|
37
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
38
|
+
[key: string]: any;
|
|
39
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
40
|
+
label: {
|
|
41
|
+
type: StringConstructor;
|
|
42
|
+
required: true;
|
|
43
|
+
};
|
|
44
|
+
variant: {
|
|
45
|
+
type: PropType<FieldCardVariant>;
|
|
46
|
+
default: string;
|
|
47
|
+
};
|
|
48
|
+
tone: {
|
|
49
|
+
type: PropType<FieldCardTone>;
|
|
50
|
+
default: undefined;
|
|
51
|
+
};
|
|
52
|
+
commentCount: {
|
|
53
|
+
type: NumberConstructor;
|
|
54
|
+
default: number;
|
|
55
|
+
};
|
|
56
|
+
onOpenComments: {
|
|
57
|
+
type: PropType<() => void>;
|
|
58
|
+
default: undefined;
|
|
59
|
+
};
|
|
60
|
+
class: {
|
|
61
|
+
type: StringConstructor;
|
|
62
|
+
default: undefined;
|
|
63
|
+
};
|
|
64
|
+
}>> & Readonly<{}>, {
|
|
65
|
+
class: string;
|
|
66
|
+
tone: FieldCardTone;
|
|
67
|
+
variant: FieldCardVariant;
|
|
68
|
+
commentCount: number;
|
|
69
|
+
onOpenComments: () => void;
|
|
70
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
71
|
+
//# sourceMappingURL=FieldCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldCard.d.ts","sourceRoot":"","sources":["../src/FieldCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAGpE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAsBF,eAAO,MAAM,SAAS;;;;;;cAIS,QAAQ,CAAC,gBAAgB,CAAC;;;;cAC7B,QAAQ,CAAC,aAAa,CAAC;;;;;;;;cAEX,QAAQ,CAAC,MAAM,IAAI,CAAC;;;;;;;;;;;;;;;cAH7B,QAAQ,CAAC,gBAAgB,CAAC;;;;cAC7B,QAAQ,CAAC,aAAa,CAAC;;;;;;;;cAEX,QAAQ,CAAC,MAAM,IAAI,CAAC;;;;;;;;;;;;0BAAL,IAAI;4EAgEzD,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
const COMMENT_PATH = "M2.5 4.25A1.25 1.25 0 0 1 3.75 3h8.5A1.25 1.25 0 0 1 13.5 4.25v5A1.25 1.25 0 0 1 12.25 10.5H6.5L3.5 13v-2.5h-.75A.25.25 0 0 1 2.5 10.25v-6Z";
|
|
4
|
+
function commentIcon() {
|
|
5
|
+
return h("svg", { width: "14", height: "14", viewBox: "0 0 16 16", "aria-hidden": "true", focusable: "false" }, [
|
|
6
|
+
h("path", {
|
|
7
|
+
d: COMMENT_PATH,
|
|
8
|
+
fill: "none",
|
|
9
|
+
stroke: "currentColor",
|
|
10
|
+
"stroke-width": "1.25",
|
|
11
|
+
"stroke-linecap": "round",
|
|
12
|
+
"stroke-linejoin": "round",
|
|
13
|
+
}),
|
|
14
|
+
]);
|
|
15
|
+
}
|
|
16
|
+
export const FieldCard = defineComponent({
|
|
17
|
+
name: "FieldCard",
|
|
18
|
+
props: {
|
|
19
|
+
label: { type: String, required: true },
|
|
20
|
+
variant: { type: String, default: "bordered" },
|
|
21
|
+
tone: { type: String, default: undefined },
|
|
22
|
+
commentCount: { type: Number, default: 0 },
|
|
23
|
+
onOpenComments: { type: Function, default: undefined },
|
|
24
|
+
class: { type: String, default: undefined },
|
|
25
|
+
},
|
|
26
|
+
setup(props, { attrs, slots }) {
|
|
27
|
+
return () => {
|
|
28
|
+
const variant = props.variant ?? "bordered";
|
|
29
|
+
const showBadge = props.commentCount > 0 || !!props.onOpenComments;
|
|
30
|
+
const headerChildren = [
|
|
31
|
+
h("h3", { class: "st-fieldCard__label" }, props.label),
|
|
32
|
+
];
|
|
33
|
+
if (showBadge) {
|
|
34
|
+
if (props.onOpenComments) {
|
|
35
|
+
const badgeChildren = [commentIcon()];
|
|
36
|
+
if (props.commentCount > 0) {
|
|
37
|
+
badgeChildren.push(h("span", { class: "st-fieldCard__commentCount" }, String(props.commentCount)));
|
|
38
|
+
}
|
|
39
|
+
headerChildren.push(h("button", {
|
|
40
|
+
type: "button",
|
|
41
|
+
class: "st-fieldCard__comments",
|
|
42
|
+
"aria-label": `Commentaires (${props.commentCount})`,
|
|
43
|
+
onClick: () => props.onOpenComments?.(),
|
|
44
|
+
}, badgeChildren));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
headerChildren.push(h("span", { class: "st-fieldCard__comments st-fieldCard__comments--static" }, [
|
|
48
|
+
commentIcon(),
|
|
49
|
+
h("span", { class: "st-fieldCard__commentCount" }, String(props.commentCount)),
|
|
50
|
+
]));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return h("section", {
|
|
54
|
+
...attrs,
|
|
55
|
+
class: classNames("st-fieldCard", `st-fieldCard--${variant}`, variant === "accent" && props.tone && `st-fieldCard--${props.tone}`, props.class),
|
|
56
|
+
}, [
|
|
57
|
+
h("header", { class: "st-fieldCard__header" }, headerChildren),
|
|
58
|
+
h("div", { class: "st-fieldCard__body" }, slots.default?.()),
|
|
59
|
+
]);
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=FieldCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldCard.js","sourceRoot":"","sources":["../src/FieldCard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type PropType, type VNode } from "vue";
|
|
2
|
+
export type ScoreCardType = "value" | "complexity";
|
|
3
|
+
export type ScoreCardSize = "sm" | "md" | "lg";
|
|
4
|
+
export type ScoreCardProps = {
|
|
5
|
+
title: string;
|
|
6
|
+
score: number;
|
|
7
|
+
stars: number;
|
|
8
|
+
max?: number;
|
|
9
|
+
type?: ScoreCardType;
|
|
10
|
+
unit?: string;
|
|
11
|
+
size?: ScoreCardSize;
|
|
12
|
+
class?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const ScoreCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
15
|
+
title: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
score: {
|
|
20
|
+
type: NumberConstructor;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
stars: {
|
|
24
|
+
type: NumberConstructor;
|
|
25
|
+
required: true;
|
|
26
|
+
};
|
|
27
|
+
max: {
|
|
28
|
+
type: NumberConstructor;
|
|
29
|
+
default: number;
|
|
30
|
+
};
|
|
31
|
+
type: {
|
|
32
|
+
type: PropType<ScoreCardType>;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
unit: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
size: {
|
|
40
|
+
type: PropType<ScoreCardSize>;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
class: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
default: undefined;
|
|
46
|
+
};
|
|
47
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
50
|
+
title: {
|
|
51
|
+
type: StringConstructor;
|
|
52
|
+
required: true;
|
|
53
|
+
};
|
|
54
|
+
score: {
|
|
55
|
+
type: NumberConstructor;
|
|
56
|
+
required: true;
|
|
57
|
+
};
|
|
58
|
+
stars: {
|
|
59
|
+
type: NumberConstructor;
|
|
60
|
+
required: true;
|
|
61
|
+
};
|
|
62
|
+
max: {
|
|
63
|
+
type: NumberConstructor;
|
|
64
|
+
default: number;
|
|
65
|
+
};
|
|
66
|
+
type: {
|
|
67
|
+
type: PropType<ScoreCardType>;
|
|
68
|
+
default: string;
|
|
69
|
+
};
|
|
70
|
+
unit: {
|
|
71
|
+
type: StringConstructor;
|
|
72
|
+
default: string;
|
|
73
|
+
};
|
|
74
|
+
size: {
|
|
75
|
+
type: PropType<ScoreCardSize>;
|
|
76
|
+
default: string;
|
|
77
|
+
};
|
|
78
|
+
class: {
|
|
79
|
+
type: StringConstructor;
|
|
80
|
+
default: undefined;
|
|
81
|
+
};
|
|
82
|
+
}>> & Readonly<{}>, {
|
|
83
|
+
type: ScoreCardType;
|
|
84
|
+
size: ScoreCardSize;
|
|
85
|
+
class: string;
|
|
86
|
+
max: number;
|
|
87
|
+
unit: string;
|
|
88
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
89
|
+
//# sourceMappingURL=ScoreCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScoreCard.d.ts","sourceRoot":"","sources":["../src/ScoreCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAGpE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;cAOM,QAAQ,CAAC,aAAa,CAAC;;;;;;;;cAEvB,QAAQ,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;cAFvB,QAAQ,CAAC,aAAa,CAAC;;;;;;;;cAEvB,QAAQ,CAAC,aAAa,CAAC;;;;;;;;;;;;;4EAsEjD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
const STAR_PATH = "m7 1.5 1.7 3.45 3.8.55-2.75 2.68.65 3.79L7 10.18 3.6 11.96l.65-3.79L1.5 5.5l3.8-.55L7 1.5Z";
|
|
4
|
+
const CROSS_PATH = "M3.5 3.5l7 7M10.5 3.5l-7 7";
|
|
5
|
+
export const ScoreCard = defineComponent({
|
|
6
|
+
name: "ScoreCard",
|
|
7
|
+
props: {
|
|
8
|
+
title: { type: String, required: true },
|
|
9
|
+
score: { type: Number, required: true },
|
|
10
|
+
stars: { type: Number, required: true },
|
|
11
|
+
max: { type: Number, default: 5 },
|
|
12
|
+
type: { type: String, default: "value" },
|
|
13
|
+
unit: { type: String, default: "points" },
|
|
14
|
+
size: { type: String, default: "md" },
|
|
15
|
+
class: { type: String, default: undefined },
|
|
16
|
+
},
|
|
17
|
+
setup(props, { attrs }) {
|
|
18
|
+
return () => {
|
|
19
|
+
const max = props.max ?? 5;
|
|
20
|
+
const type = props.type ?? "value";
|
|
21
|
+
const unit = props.unit ?? "points";
|
|
22
|
+
const size = props.size ?? "md";
|
|
23
|
+
const filled = Math.max(0, Math.min(max, Math.round(props.stars)));
|
|
24
|
+
const ariaLabel = `${props.title}, ${props.score.toFixed(1)} ${unit}, ${filled} sur ${max}`;
|
|
25
|
+
const symbols = Array.from({ length: max }, (_unused, i) => {
|
|
26
|
+
const on = i < filled;
|
|
27
|
+
const path = type === "value"
|
|
28
|
+
? h("path", {
|
|
29
|
+
d: STAR_PATH,
|
|
30
|
+
fill: on ? "currentColor" : "none",
|
|
31
|
+
stroke: "currentColor",
|
|
32
|
+
"stroke-width": "1",
|
|
33
|
+
"stroke-linejoin": "round",
|
|
34
|
+
})
|
|
35
|
+
: h("path", {
|
|
36
|
+
d: CROSS_PATH,
|
|
37
|
+
fill: "none",
|
|
38
|
+
stroke: "currentColor",
|
|
39
|
+
"stroke-width": "1.75",
|
|
40
|
+
"stroke-linecap": "round",
|
|
41
|
+
});
|
|
42
|
+
return h("svg", {
|
|
43
|
+
key: i,
|
|
44
|
+
class: classNames("st-scoreCard__symbol", on ? "st-scoreCard__symbol--on" : "st-scoreCard__symbol--off"),
|
|
45
|
+
width: "20",
|
|
46
|
+
height: "20",
|
|
47
|
+
viewBox: "0 0 14 14",
|
|
48
|
+
focusable: "false",
|
|
49
|
+
}, [path]);
|
|
50
|
+
});
|
|
51
|
+
return h("article", {
|
|
52
|
+
...attrs,
|
|
53
|
+
class: classNames("st-scoreCard", `st-scoreCard--${size}`, `st-scoreCard--${type}`, props.class),
|
|
54
|
+
role: "group",
|
|
55
|
+
"aria-label": ariaLabel,
|
|
56
|
+
}, [
|
|
57
|
+
h("h3", { class: "st-scoreCard__title" }, props.title),
|
|
58
|
+
h("div", { class: "st-scoreCard__row" }, [
|
|
59
|
+
h("div", { class: "st-scoreCard__symbols", "aria-hidden": "true" }, symbols),
|
|
60
|
+
h("span", { class: "st-scoreCard__score" }, `${props.score.toFixed(1)} ${unit}`),
|
|
61
|
+
]),
|
|
62
|
+
]);
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=ScoreCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScoreCard.js","sourceRoot":"","sources":["../src/ScoreCard.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -169,6 +169,12 @@ export { StackedBarChart } from "./StackedBarChart.js";
|
|
|
169
169
|
export type { StackedBarChartProps, StackedBarDatum, StackedBarSegment, StackedBarTone } from "./StackedBarChart.js";
|
|
170
170
|
export { KpiCard } from "./KpiCard.js";
|
|
171
171
|
export type { KpiCardProps, KpiCardSize, KpiCardTrend, KpiCardFormat, KpiCardDeltaFormat, KpiCardTone, } from "./KpiCard.js";
|
|
172
|
+
export { ConfigItemCard } from "./ConfigItemCard.js";
|
|
173
|
+
export type { ConfigItemCardProps, ConfigItem, ConfigItemSourceLevel, } from "./ConfigItemCard.js";
|
|
174
|
+
export { FieldCard } from "./FieldCard.js";
|
|
175
|
+
export type { FieldCardProps, FieldCardVariant, FieldCardTone } from "./FieldCard.js";
|
|
176
|
+
export { ScoreCard } from "./ScoreCard.js";
|
|
177
|
+
export type { ScoreCardProps, ScoreCardType, ScoreCardSize } from "./ScoreCard.js";
|
|
172
178
|
export { ComboChart } from "./ComboChart.js";
|
|
173
179
|
export type { ComboChartProps, ComboChartTone, ComboChartBarSeries, ComboChartLineSeries, } from "./ComboChart.js";
|
|
174
180
|
export { GaugeChart } from "./GaugeChart.js";
|
|
@@ -342,6 +348,8 @@ export { SelectionChip } from "./SelectionChip.js";
|
|
|
342
348
|
export type { SelectionChipProps, SelectionChipTone } from "./SelectionChip.js";
|
|
343
349
|
export { AppHeader } from "./AppHeader.js";
|
|
344
350
|
export type { AppHeaderProps } from "./AppHeader.js";
|
|
351
|
+
export { AppChrome } from "./AppChrome.js";
|
|
352
|
+
export type { AppChromeProps, AppChromeNavItem, AppChromeThemeOption, AppChromeColorMode, AppChromeLocale } from "./AppChrome.js";
|
|
345
353
|
export { LanguageToggle } from "./LanguageToggle.js";
|
|
346
354
|
export type { LanguageToggleProps, LanguageToggleLocale } from "./LanguageToggle.js";
|
|
347
355
|
export { IdentityMenu, identityInitial } from "./IdentityMenu.js";
|