@sentropic/design-system-vue 0.8.0 → 0.9.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ export type RatingSize = "sm" | "md" | "lg";
2
+ export type RatingProps = {
3
+ /** Note courante (0..max). Pas de 1, ou 0.5 si `allowHalf`. */
4
+ value?: number;
5
+ /** Nombre d'étoiles. */
6
+ max?: number;
7
+ /** Appelé avec la nouvelle note au clic ou au clavier. */
8
+ onChange?: (value: number) => void;
9
+ /** Affichage seul : ni clic ni clavier n'émettent. */
10
+ readonly?: boolean;
11
+ /** Autorise les demi-étoiles (sélection au demi-point). */
12
+ allowHalf?: boolean;
13
+ size?: RatingSize;
14
+ /** Attribut name (utile dans un formulaire / pour la sémantique radio). */
15
+ name?: string;
16
+ /** Étiquette accessible du groupe. */
17
+ label?: string;
18
+ class?: string;
19
+ };
20
+ export declare const Rating: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
21
+ value: {
22
+ type: NumberConstructor;
23
+ default: undefined;
24
+ };
25
+ max: {
26
+ type: NumberConstructor;
27
+ default: number;
28
+ };
29
+ onChange: {
30
+ type: () => (value: number) => void;
31
+ default: undefined;
32
+ };
33
+ readonly: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
37
+ allowHalf: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
41
+ size: {
42
+ type: () => RatingSize;
43
+ default: string;
44
+ };
45
+ name: {
46
+ type: StringConstructor;
47
+ default: undefined;
48
+ };
49
+ label: {
50
+ type: StringConstructor;
51
+ default: undefined;
52
+ };
53
+ class: {
54
+ type: StringConstructor;
55
+ default: undefined;
56
+ };
57
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
58
+ [key: string]: any;
59
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
60
+ value: {
61
+ type: NumberConstructor;
62
+ default: undefined;
63
+ };
64
+ max: {
65
+ type: NumberConstructor;
66
+ default: number;
67
+ };
68
+ onChange: {
69
+ type: () => (value: number) => void;
70
+ default: undefined;
71
+ };
72
+ readonly: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
76
+ allowHalf: {
77
+ type: BooleanConstructor;
78
+ default: boolean;
79
+ };
80
+ size: {
81
+ type: () => RatingSize;
82
+ default: string;
83
+ };
84
+ name: {
85
+ type: StringConstructor;
86
+ default: undefined;
87
+ };
88
+ label: {
89
+ type: StringConstructor;
90
+ default: undefined;
91
+ };
92
+ class: {
93
+ type: StringConstructor;
94
+ default: undefined;
95
+ };
96
+ }>> & Readonly<{
97
+ onChange?: ((...args: any[]) => any) | undefined;
98
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
99
+ }>, {
100
+ class: string;
101
+ name: string;
102
+ onChange: (value: number) => void;
103
+ label: string;
104
+ max: number;
105
+ size: RatingSize;
106
+ value: number;
107
+ readonly: boolean;
108
+ allowHalf: boolean;
109
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
110
+ //# sourceMappingURL=Rating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rating.d.ts","sourceRoot":"","sources":["../src/Rating.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAK5C,MAAM,MAAM,WAAW,GAAG;IACxB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiDF,eAAO,MAAM,MAAM;;;;;;;;;;cAMgB,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;cAKpC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;cALT,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;cAKpC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;sBALK,MAAM,KAAK,IAAI;;;;;;;4EA4H9D,CAAC"}
package/dist/Rating.js ADDED
@@ -0,0 +1,154 @@
1
+ import { defineComponent, h, ref } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ function StarIcon(size, fill) {
4
+ return h("svg", {
5
+ width: size,
6
+ height: size,
7
+ viewBox: "0 0 24 24",
8
+ fill,
9
+ stroke: "currentColor",
10
+ "stroke-width": 1.75,
11
+ "stroke-linecap": "round",
12
+ "stroke-linejoin": "round",
13
+ "aria-hidden": "true",
14
+ }, [
15
+ h("polygon", {
16
+ points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",
17
+ }),
18
+ ]);
19
+ }
20
+ function StarHalfIcon(size) {
21
+ return h("svg", {
22
+ width: size,
23
+ height: size,
24
+ viewBox: "0 0 24 24",
25
+ fill: "none",
26
+ stroke: "currentColor",
27
+ "stroke-width": 1.75,
28
+ "stroke-linecap": "round",
29
+ "stroke-linejoin": "round",
30
+ "aria-hidden": "true",
31
+ }, [
32
+ h("path", {
33
+ d: "M12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2v15.77z",
34
+ fill: "currentColor",
35
+ }),
36
+ h("path", { d: "M12 2v15.77l6.18 3.25L17 14.14 22 9.27l-6.91-1.01L12 2z" }),
37
+ ]);
38
+ }
39
+ export const Rating = defineComponent({
40
+ name: "Rating",
41
+ props: {
42
+ value: { type: Number, default: undefined },
43
+ max: { type: Number, default: 5 },
44
+ onChange: {
45
+ type: Function,
46
+ default: undefined,
47
+ },
48
+ readonly: { type: Boolean, default: false },
49
+ allowHalf: { type: Boolean, default: false },
50
+ size: { type: String, default: "md" },
51
+ name: { type: String, default: undefined },
52
+ label: { type: String, default: undefined },
53
+ class: { type: String, default: undefined },
54
+ },
55
+ emits: ["change", "update:modelValue"],
56
+ setup(props, { emit, attrs }) {
57
+ const internal = ref(props.value ?? 0);
58
+ return () => {
59
+ const current = props.value ?? internal.value;
60
+ const max = props.max;
61
+ const iconSize = props.size === "sm" ? 16 : props.size === "lg" ? 28 : 22;
62
+ const stars = Array.from({ length: max }, (_, i) => i + 1);
63
+ // L'étoile « focusable » (tabindex 0) suit la valeur ; à 0 c'est la première.
64
+ const focusedStar = current > 0 ? Math.ceil(current) : 1;
65
+ const fill = (star) => {
66
+ if (current >= star)
67
+ return "full";
68
+ if (props.allowHalf && current >= star - 0.5)
69
+ return "half";
70
+ return "empty";
71
+ };
72
+ const commit = (next) => {
73
+ if (props.readonly)
74
+ return;
75
+ const clamped = Math.max(0, Math.min(max, next));
76
+ if (props.value === undefined)
77
+ internal.value = clamped;
78
+ emit("update:modelValue", clamped);
79
+ emit("change", clamped);
80
+ props.onChange?.(clamped);
81
+ };
82
+ const onStarClick = (event, star) => {
83
+ if (props.readonly)
84
+ return;
85
+ let next = star;
86
+ if (props.allowHalf) {
87
+ const target = event.currentTarget;
88
+ const rect = target.getBoundingClientRect();
89
+ const isLeftHalf = event.clientX - rect.left < rect.width / 2;
90
+ next = isLeftHalf ? star - 0.5 : star;
91
+ }
92
+ // Re-cliquer la valeur déjà sélectionnée remet à zéro.
93
+ if (next === current) {
94
+ commit(0);
95
+ return;
96
+ }
97
+ commit(next);
98
+ };
99
+ const onKeyDown = (event) => {
100
+ if (props.readonly)
101
+ return;
102
+ const step = props.allowHalf ? 0.5 : 1;
103
+ let handled = true;
104
+ switch (event.key) {
105
+ case "ArrowRight":
106
+ case "ArrowUp":
107
+ commit(Math.min(max, current + step));
108
+ break;
109
+ case "ArrowLeft":
110
+ case "ArrowDown":
111
+ commit(Math.max(0, current - step));
112
+ break;
113
+ case "Home":
114
+ commit(0);
115
+ break;
116
+ case "End":
117
+ commit(max);
118
+ break;
119
+ default:
120
+ handled = false;
121
+ }
122
+ if (handled)
123
+ event.preventDefault();
124
+ };
125
+ return h("div", {
126
+ ...attrs,
127
+ class: classNames("st-rating", `st-rating--${props.size}`, props.readonly && "st-rating--readonly", props.class),
128
+ role: "radiogroup",
129
+ "aria-label": props.label,
130
+ "aria-readonly": props.readonly ? "true" : undefined,
131
+ }, stars.map((star) => {
132
+ const state = fill(star);
133
+ return h("button", {
134
+ key: star,
135
+ type: "button",
136
+ class: classNames("st-rating__star", state === "full" && "st-rating__star--full", state === "half" && "st-rating__star--half"),
137
+ role: "radio",
138
+ name: props.name,
139
+ "aria-checked": Math.ceil(current) === star ? "true" : "false",
140
+ "aria-label": `${star} / ${max}`,
141
+ tabindex: !props.readonly && star === focusedStar ? 0 : -1,
142
+ disabled: props.readonly,
143
+ onClick: (event) => onStarClick(event, star),
144
+ onKeydown: onKeyDown,
145
+ }, [
146
+ state === "half"
147
+ ? StarHalfIcon(iconSize)
148
+ : StarIcon(iconSize, state === "full" ? "currentColor" : "none"),
149
+ ]);
150
+ }));
151
+ };
152
+ },
153
+ });
154
+ //# sourceMappingURL=Rating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rating.js","sourceRoot":"","sources":["../src/Rating.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ export type SlideIndicatorVariant = "dots" | "bars";
2
+ export type SlideIndicatorSize = "sm" | "md" | "lg";
3
+ export type SlideIndicatorProps = {
4
+ /** Nombre total de diapositives. */
5
+ count: number;
6
+ /** Index de la diapositive courante (0-based). */
7
+ current?: number;
8
+ /** Appelé avec l'index ciblé au clic ou au clavier. */
9
+ onChange?: (index: number) => void;
10
+ size?: SlideIndicatorSize;
11
+ variant?: SlideIndicatorVariant;
12
+ /** Préfixe d'étiquette accessible de chaque point ("Diapositive 1"...). */
13
+ label?: string;
14
+ class?: string;
15
+ };
16
+ export declare const SlideIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
+ count: {
18
+ type: NumberConstructor;
19
+ required: true;
20
+ };
21
+ current: {
22
+ type: NumberConstructor;
23
+ default: number;
24
+ };
25
+ onChange: {
26
+ type: () => (index: number) => void;
27
+ default: undefined;
28
+ };
29
+ size: {
30
+ type: () => SlideIndicatorSize;
31
+ default: string;
32
+ };
33
+ variant: {
34
+ type: () => SlideIndicatorVariant;
35
+ default: string;
36
+ };
37
+ label: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ class: {
42
+ type: StringConstructor;
43
+ default: undefined;
44
+ };
45
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ count: {
49
+ type: NumberConstructor;
50
+ required: true;
51
+ };
52
+ current: {
53
+ type: NumberConstructor;
54
+ default: number;
55
+ };
56
+ onChange: {
57
+ type: () => (index: number) => void;
58
+ default: undefined;
59
+ };
60
+ size: {
61
+ type: () => SlideIndicatorSize;
62
+ default: string;
63
+ };
64
+ variant: {
65
+ type: () => SlideIndicatorVariant;
66
+ default: string;
67
+ };
68
+ label: {
69
+ type: StringConstructor;
70
+ default: string;
71
+ };
72
+ class: {
73
+ type: StringConstructor;
74
+ default: undefined;
75
+ };
76
+ }>> & Readonly<{
77
+ onChange?: ((...args: any[]) => any) | undefined;
78
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
79
+ }>, {
80
+ class: string;
81
+ onChange: (index: number) => void;
82
+ label: string;
83
+ size: SlideIndicatorSize;
84
+ variant: SlideIndicatorVariant;
85
+ current: number;
86
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
87
+ //# sourceMappingURL=SlideIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlideIndicator.d.ts","sourceRoot":"","sources":["../src/SlideIndicator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAIpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;cAMQ,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;cAGpC,MAAM,kBAAkB;;;;cACrB,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;cAJvB,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;cAGpC,MAAM,kBAAkB;;;;cACrB,MAAM,qBAAqB;;;;;;;;;;;;;;;;sBAJT,MAAM,KAAK,IAAI;;;;;4EA+E9D,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ export const SlideIndicator = defineComponent({
4
+ name: "SlideIndicator",
5
+ props: {
6
+ count: { type: Number, required: true },
7
+ current: { type: Number, default: 0 },
8
+ onChange: {
9
+ type: Function,
10
+ default: undefined,
11
+ },
12
+ size: { type: String, default: "md" },
13
+ variant: { type: String, default: "dots" },
14
+ label: { type: String, default: "Diapositive" },
15
+ class: { type: String, default: undefined },
16
+ },
17
+ emits: ["change", "update:modelValue"],
18
+ setup(props, { emit, attrs }) {
19
+ return () => {
20
+ const count = props.count;
21
+ const current = props.current;
22
+ const items = Array.from({ length: Math.max(0, count) }, (_, i) => i);
23
+ const select = (index) => {
24
+ if (index < 0 || index >= count || index === current)
25
+ return;
26
+ emit("update:modelValue", index);
27
+ emit("change", index);
28
+ props.onChange?.(index);
29
+ };
30
+ const onKeyDown = (event, index) => {
31
+ let target = index;
32
+ switch (event.key) {
33
+ case "ArrowRight":
34
+ case "ArrowDown":
35
+ target = Math.min(count - 1, index + 1);
36
+ break;
37
+ case "ArrowLeft":
38
+ case "ArrowUp":
39
+ target = Math.max(0, index - 1);
40
+ break;
41
+ case "Home":
42
+ target = 0;
43
+ break;
44
+ case "End":
45
+ target = count - 1;
46
+ break;
47
+ default:
48
+ return;
49
+ }
50
+ event.preventDefault();
51
+ select(target);
52
+ };
53
+ return h("div", {
54
+ ...attrs,
55
+ class: classNames("st-slideIndicator", `st-slideIndicator--${props.size}`, `st-slideIndicator--${props.variant}`, props.class),
56
+ role: "tablist",
57
+ "aria-label": props.label,
58
+ }, items.map((index) => h("button", {
59
+ key: index,
60
+ type: "button",
61
+ class: classNames("st-slideIndicator__dot", index === current && "st-slideIndicator__dot--current"),
62
+ role: "tab",
63
+ "aria-selected": index === current ? "true" : "false",
64
+ "aria-current": index === current ? "true" : undefined,
65
+ "aria-label": `${props.label} ${index + 1}`,
66
+ tabindex: index === current ? 0 : -1,
67
+ onClick: () => select(index),
68
+ onKeydown: (event) => onKeyDown(event, index),
69
+ })));
70
+ };
71
+ },
72
+ });
73
+ //# sourceMappingURL=SlideIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlideIndicator.js","sourceRoot":"","sources":["../src/SlideIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAqB7C,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;IAC5C,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACrC,QAAQ,EAAE;YACR,IAAI,EAAE,QAAoD;YAC1D,OAAO,EAAE,SAAS;SACnB;QACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAkC,EAAE,OAAO,EAAE,IAAI,EAAE;QACjE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAqC,EAAE,OAAO,EAAE,MAAM,EAAE;QACzE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;QAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACtC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAC1B,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;gBAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO;oBAAE,OAAO;gBAC7D,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACtB,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,KAAa,EAAE,EAAE;gBACxD,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;oBAClB,KAAK,YAAY,CAAC;oBAClB,KAAK,WAAW;wBACd,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBACxC,MAAM;oBACR,KAAK,WAAW,CAAC;oBACjB,KAAK,SAAS;wBACZ,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBAChC,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,GAAG,CAAC,CAAC;wBACX,MAAM;oBACR,KAAK,KAAK;wBACR,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;wBACnB,MAAM;oBACR;wBACE,OAAO;gBACX,CAAC;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,OAAO,CAAC,CACN,KAAK,EACL;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CACf,mBAAmB,EACnB,sBAAsB,KAAK,CAAC,IAAI,EAAE,EAClC,sBAAsB,KAAK,CAAC,OAAO,EAAE,EACrC,KAAK,CAAC,KAAK,CACZ;gBACD,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,KAAK,CAAC,KAAK;aAC1B,EACD,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClB,CAAC,CAAC,QAAQ,EAAE;gBACV,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU,CACf,wBAAwB,EACxB,KAAK,KAAK,OAAO,IAAI,iCAAiC,CACvD;gBACD,IAAI,EAAE,KAAK;gBACX,eAAe,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACrD,cAAc,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACtD,YAAY,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE;gBAC3C,QAAQ,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;aAC7D,CAAC,CACH,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,130 @@
1
+ export type TimePickerFormat = "24" | "12";
2
+ export type TimePickerSize = "sm" | "md" | "lg";
3
+ export type TimePickerProps = {
4
+ /** Heure courante au format "HH:mm" (24h, toujours). Vide = non renseigné. */
5
+ value?: string;
6
+ /** Appelé avec "HH:mm" lors d'une sélection. */
7
+ onChange?: (value: string) => void;
8
+ /** Pas (en minutes) entre deux créneaux générés. */
9
+ step?: number;
10
+ /** Borne minimale "HH:mm" (inclusive). */
11
+ min?: string;
12
+ /** Borne maximale "HH:mm" (inclusive). */
13
+ max?: string;
14
+ /** Affichage 24h (par défaut) ou 12h (AM/PM). La valeur émise reste "HH:mm". */
15
+ format?: TimePickerFormat;
16
+ size?: TimePickerSize;
17
+ disabled?: boolean;
18
+ label?: string;
19
+ class?: string;
20
+ id?: string;
21
+ };
22
+ export declare const TimePicker: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
23
+ value: {
24
+ type: StringConstructor;
25
+ default: undefined;
26
+ };
27
+ onChange: {
28
+ type: () => (value: string) => void;
29
+ default: undefined;
30
+ };
31
+ step: {
32
+ type: NumberConstructor;
33
+ default: number;
34
+ };
35
+ min: {
36
+ type: StringConstructor;
37
+ default: undefined;
38
+ };
39
+ max: {
40
+ type: StringConstructor;
41
+ default: undefined;
42
+ };
43
+ format: {
44
+ type: () => TimePickerFormat;
45
+ default: string;
46
+ };
47
+ size: {
48
+ type: () => TimePickerSize;
49
+ default: string;
50
+ };
51
+ disabled: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ label: {
56
+ type: StringConstructor;
57
+ default: undefined;
58
+ };
59
+ class: {
60
+ type: StringConstructor;
61
+ default: undefined;
62
+ };
63
+ id: {
64
+ type: StringConstructor;
65
+ default: undefined;
66
+ };
67
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
68
+ [key: string]: any;
69
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
70
+ value: {
71
+ type: StringConstructor;
72
+ default: undefined;
73
+ };
74
+ onChange: {
75
+ type: () => (value: string) => void;
76
+ default: undefined;
77
+ };
78
+ step: {
79
+ type: NumberConstructor;
80
+ default: number;
81
+ };
82
+ min: {
83
+ type: StringConstructor;
84
+ default: undefined;
85
+ };
86
+ max: {
87
+ type: StringConstructor;
88
+ default: undefined;
89
+ };
90
+ format: {
91
+ type: () => TimePickerFormat;
92
+ default: string;
93
+ };
94
+ size: {
95
+ type: () => TimePickerSize;
96
+ default: string;
97
+ };
98
+ disabled: {
99
+ type: BooleanConstructor;
100
+ default: boolean;
101
+ };
102
+ label: {
103
+ type: StringConstructor;
104
+ default: undefined;
105
+ };
106
+ class: {
107
+ type: StringConstructor;
108
+ default: undefined;
109
+ };
110
+ id: {
111
+ type: StringConstructor;
112
+ default: undefined;
113
+ };
114
+ }>> & Readonly<{
115
+ onChange?: ((...args: any[]) => any) | undefined;
116
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
117
+ }>, {
118
+ class: string;
119
+ onChange: (value: string) => void;
120
+ label: string;
121
+ id: string;
122
+ disabled: boolean;
123
+ min: string;
124
+ max: string;
125
+ size: TimePickerSize;
126
+ value: string;
127
+ step: number;
128
+ format: TimePickerFormat;
129
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
130
+ //# sourceMappingURL=TimePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAIhD,MAAM,MAAM,eAAe,GAAG;IAC5B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AA4CF,eAAO,MAAM,UAAU;;;;;;cAKY,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;cAMlC,MAAM,gBAAgB;;;;cACxB,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;cAPb,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;cAMlC,MAAM,gBAAgB;;;;cACxB,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;sBAPC,MAAM,KAAK,IAAI;;;;;;;;;;4EAiK9D,CAAC"}