@vantageos/mosaic 0.2.2 → 0.3.0-alpha.1
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/README.md +181 -0
- package/dist/Alert.schema-BQsZGG6P.d.cts +41 -0
- package/dist/Alert.schema-BQsZGG6P.d.ts +41 -0
- package/dist/ConfirmDialog-B3CQQGmJ.d.cts +34 -0
- package/dist/ConfirmDialog-B3CQQGmJ.d.ts +34 -0
- package/dist/Skeleton.schema-BO0ca2UX.d.cts +135 -0
- package/dist/Skeleton.schema-BO0ca2UX.d.ts +135 -0
- package/dist/Tabs.schema-BzcEyeq8.d.cts +79 -0
- package/dist/Tabs.schema-BzcEyeq8.d.ts +79 -0
- package/dist/artifacts.cjs +20 -2
- package/dist/artifacts.cjs.map +1 -1
- package/dist/artifacts.js +20 -2
- package/dist/artifacts.js.map +1 -1
- package/dist/confirmation.cjs +44 -2
- package/dist/confirmation.cjs.map +1 -1
- package/dist/confirmation.d.cts +34 -1
- package/dist/confirmation.d.ts +34 -1
- package/dist/confirmation.js +41 -3
- package/dist/confirmation.js.map +1 -1
- package/dist/display.cjs +145 -2
- package/dist/display.cjs.map +1 -1
- package/dist/display.d.cts +1 -0
- package/dist/display.d.ts +1 -0
- package/dist/display.js +140 -3
- package/dist/display.js.map +1 -1
- package/dist/forms.cjs +1412 -0
- package/dist/forms.cjs.map +1 -0
- package/dist/forms.d.cts +159 -0
- package/dist/forms.d.ts +159 -0
- package/dist/forms.js +1331 -0
- package/dist/forms.js.map +1 -0
- package/dist/index-CwXVgtGb.d.cts +917 -0
- package/dist/index-CwXVgtGb.d.ts +917 -0
- package/dist/index.cjs +188 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +177 -3
- package/dist/index.js.map +1 -1
- package/dist/input.cjs +19 -0
- package/dist/input.cjs.map +1 -1
- package/dist/input.d.cts +4 -34
- package/dist/input.d.ts +4 -34
- package/dist/input.js +18 -1
- package/dist/input.js.map +1 -1
- package/dist/media.cjs +20 -2
- package/dist/media.cjs.map +1 -1
- package/dist/media.js +20 -2
- package/dist/media.js.map +1 -1
- package/dist/preact/confirmation.d.ts +85 -1
- package/dist/preact/confirmation.js +263 -0
- package/dist/preact/confirmation.js.map +1 -1
- package/dist/preact/display.d.ts +240 -1
- package/dist/preact/display.js +366 -0
- package/dist/preact/display.js.map +1 -1
- package/dist/preact/forms.d.ts +875 -0
- package/dist/preact/forms.js +1323 -0
- package/dist/preact/forms.js.map +1 -0
- package/dist/preact/input.d.ts +88 -1
- package/dist/preact/input.js +194 -0
- package/dist/preact/input.js.map +1 -1
- package/dist/progress.cjs +20 -2
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.js +20 -2
- package/dist/progress.js.map +1 -1
- package/dist/react/confirmation.cjs +267 -0
- package/dist/react/confirmation.cjs.map +1 -1
- package/dist/react/confirmation.d.cts +21 -1
- package/dist/react/confirmation.d.ts +21 -1
- package/dist/react/confirmation.js +263 -0
- package/dist/react/confirmation.js.map +1 -1
- package/dist/react/display.cjs +372 -0
- package/dist/react/display.cjs.map +1 -1
- package/dist/react/display.d.cts +112 -1
- package/dist/react/display.d.ts +112 -1
- package/dist/react/display.js +362 -0
- package/dist/react/display.js.map +1 -1
- package/dist/react/forms.cjs +1384 -0
- package/dist/react/forms.cjs.map +1 -0
- package/dist/react/forms.d.cts +5 -0
- package/dist/react/forms.d.ts +5 -0
- package/dist/react/forms.js +1323 -0
- package/dist/react/forms.js.map +1 -0
- package/dist/react/input.cjs +197 -0
- package/dist/react/input.cjs.map +1 -1
- package/dist/react/input.d.cts +13 -1
- package/dist/react/input.d.ts +13 -1
- package/dist/react/input.js +194 -0
- package/dist/react/input.js.map +1 -1
- package/package.json +73 -49
- package/registry.yaml +154 -1
package/dist/index.cjs
CHANGED
|
@@ -33,7 +33,16 @@ var EN = {
|
|
|
33
33
|
"TokenDisplayOnceModal.warning.once": "This token will only be shown once. Copy it now.",
|
|
34
34
|
"TokenDisplayOnceModal.copied": "Copied",
|
|
35
35
|
"StatusBadge.aria.status": "Status",
|
|
36
|
-
"StatusBadge.error.invalidProps": "StatusBadge: invalid props"
|
|
36
|
+
"StatusBadge.error.invalidProps": "StatusBadge: invalid props",
|
|
37
|
+
"EmptyState.error.invalidProps": "EmptyState: invalid props",
|
|
38
|
+
"Toast.aria.close": "Close notification",
|
|
39
|
+
"Toast.error.invalidProps": "Toast: invalid props",
|
|
40
|
+
"Alert.aria.dismiss": "Dismiss alert",
|
|
41
|
+
"Alert.error.invalidProps": "Alert: invalid props",
|
|
42
|
+
"VirtualList.empty.message": "No items to display",
|
|
43
|
+
"VirtualList.error.invalidProps": "VirtualList: invalid props",
|
|
44
|
+
"Skeleton.aria.label": "Loading",
|
|
45
|
+
"Skeleton.error.invalidProps": "Skeleton: invalid props"
|
|
37
46
|
};
|
|
38
47
|
var FR = {
|
|
39
48
|
"ProgressBar.aria.label": "Progression",
|
|
@@ -54,7 +63,16 @@ var FR = {
|
|
|
54
63
|
"TokenDisplayOnceModal.warning.once": "Ce jeton ne sera affich\xE9 qu'une seule fois. Copiez-le maintenant.",
|
|
55
64
|
"TokenDisplayOnceModal.copied": "Copi\xE9",
|
|
56
65
|
"StatusBadge.aria.status": "Statut",
|
|
57
|
-
"StatusBadge.error.invalidProps": "StatusBadge : propri\xE9t\xE9s invalides"
|
|
66
|
+
"StatusBadge.error.invalidProps": "StatusBadge : propri\xE9t\xE9s invalides",
|
|
67
|
+
"EmptyState.error.invalidProps": "EmptyState : propri\xE9t\xE9s invalides",
|
|
68
|
+
"Toast.aria.close": "Fermer la notification",
|
|
69
|
+
"Toast.error.invalidProps": "Toast : propri\xE9t\xE9s invalides",
|
|
70
|
+
"Alert.aria.dismiss": "Fermer l'alerte",
|
|
71
|
+
"Alert.error.invalidProps": "Alert : propri\xE9t\xE9s invalides",
|
|
72
|
+
"VirtualList.empty.message": "Aucun \xE9l\xE9ment \xE0 afficher",
|
|
73
|
+
"VirtualList.error.invalidProps": "VirtualList : propri\xE9t\xE9s invalides",
|
|
74
|
+
"Skeleton.aria.label": "Chargement",
|
|
75
|
+
"Skeleton.error.invalidProps": "Skeleton : propri\xE9t\xE9s invalides"
|
|
58
76
|
};
|
|
59
77
|
var TABLE = {
|
|
60
78
|
en: EN,
|
|
@@ -216,6 +234,23 @@ function ConfirmDialog(raw) {
|
|
|
216
234
|
return null;
|
|
217
235
|
}
|
|
218
236
|
}
|
|
237
|
+
var TabItemSchema = zod.z.object({
|
|
238
|
+
id: zod.z.string().min(1),
|
|
239
|
+
label: zod.z.string().min(1),
|
|
240
|
+
/** ReactNode / PreactNode — accepted as unknown at Zod layer (JSX not serialisable). */
|
|
241
|
+
content: zod.z.unknown(),
|
|
242
|
+
disabled: zod.z.boolean().optional().default(false)
|
|
243
|
+
});
|
|
244
|
+
var TabsPropsSchema = zod.z.object({
|
|
245
|
+
tabs: zod.z.array(TabItemSchema).min(1),
|
|
246
|
+
value: zod.z.string().optional(),
|
|
247
|
+
defaultValue: zod.z.string().optional(),
|
|
248
|
+
orientation: zod.z.enum(["horizontal", "vertical"]).default("horizontal"),
|
|
249
|
+
locale: zod.z.enum(["en", "fr"]).default("en")
|
|
250
|
+
});
|
|
251
|
+
function validateTabsProps(raw) {
|
|
252
|
+
return TabsPropsSchema.parse(raw);
|
|
253
|
+
}
|
|
219
254
|
var ColumnDefSchema = zod.z.object({
|
|
220
255
|
key: zod.z.string().min(1),
|
|
221
256
|
header: zod.z.string().min(1)
|
|
@@ -461,6 +496,125 @@ function VirtualTable({
|
|
|
461
496
|
}
|
|
462
497
|
);
|
|
463
498
|
}
|
|
499
|
+
var EmptyStatePropsSchema = zod.z.object({
|
|
500
|
+
title: zod.z.string().min(1),
|
|
501
|
+
description: zod.z.string().optional(),
|
|
502
|
+
action: zod.z.object({
|
|
503
|
+
label: zod.z.string().min(1),
|
|
504
|
+
variant: zod.z.enum(["primary", "secondary"]).default("primary")
|
|
505
|
+
}).optional(),
|
|
506
|
+
locale: zod.z.enum(["en", "fr"]).default("en")
|
|
507
|
+
});
|
|
508
|
+
function validateEmptyStateProps(raw) {
|
|
509
|
+
return EmptyStatePropsSchema.parse(raw);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
// src/components/display/Skeleton.logic.ts
|
|
513
|
+
function getAnimationClass(animation) {
|
|
514
|
+
switch (animation) {
|
|
515
|
+
case "pulse":
|
|
516
|
+
return "animate-pulse";
|
|
517
|
+
case "wave":
|
|
518
|
+
return "skeleton-wave";
|
|
519
|
+
case "none":
|
|
520
|
+
return "";
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
function getVariantClass(variant) {
|
|
524
|
+
switch (variant) {
|
|
525
|
+
case "rect":
|
|
526
|
+
return "rounded-md";
|
|
527
|
+
case "circle":
|
|
528
|
+
return "rounded-full";
|
|
529
|
+
case "text":
|
|
530
|
+
return "rounded";
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
var SKELETON_BG_CLASS = "bg-gray-200 dark:bg-gray-700";
|
|
534
|
+
function textLineKey(index) {
|
|
535
|
+
return `skeleton-line-${index}`;
|
|
536
|
+
}
|
|
537
|
+
function lastLineWidth(index, total, baseWidth) {
|
|
538
|
+
if (total > 1 && index === total - 1) {
|
|
539
|
+
return "75%";
|
|
540
|
+
}
|
|
541
|
+
return baseWidth;
|
|
542
|
+
}
|
|
543
|
+
var SkeletonPropsSchema = zod.z.object({
|
|
544
|
+
variant: zod.z.enum(["rect", "circle", "text"]).default("rect"),
|
|
545
|
+
width: zod.z.union([zod.z.string().min(1), zod.z.number().positive()]).optional(),
|
|
546
|
+
height: zod.z.union([zod.z.string().min(1), zod.z.number().positive()]).optional(),
|
|
547
|
+
count: zod.z.number().int().min(1).max(20).default(1),
|
|
548
|
+
animation: zod.z.enum(["pulse", "wave", "none"]).default("pulse"),
|
|
549
|
+
locale: zod.z.enum(["en", "fr"]).default("en")
|
|
550
|
+
});
|
|
551
|
+
function validateSkeletonProps(raw) {
|
|
552
|
+
return SkeletonPropsSchema.parse(raw);
|
|
553
|
+
}
|
|
554
|
+
function resolveSkeletonDimensions(variant, width, height) {
|
|
555
|
+
const toCss = (v, fallback) => {
|
|
556
|
+
if (v === void 0) return fallback;
|
|
557
|
+
if (typeof v === "number") return `${v}px`;
|
|
558
|
+
return v;
|
|
559
|
+
};
|
|
560
|
+
if (variant === "circle") {
|
|
561
|
+
const size = width !== void 0 ? toCss(width, "40px") : height !== void 0 ? toCss(height, "40px") : "40px";
|
|
562
|
+
return { widthCss: size, heightCss: size };
|
|
563
|
+
}
|
|
564
|
+
if (variant === "text") {
|
|
565
|
+
return {
|
|
566
|
+
widthCss: toCss(width, "100%"),
|
|
567
|
+
heightCss: toCss(height, "16px")
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
return {
|
|
571
|
+
widthCss: toCss(width, "100%"),
|
|
572
|
+
heightCss: toCss(height, "100px")
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
function SkeletonInner({ variant, width, height, count, animation, locale }) {
|
|
576
|
+
const { widthCss, heightCss } = resolveSkeletonDimensions(variant, width, height);
|
|
577
|
+
const animClass = getAnimationClass(animation);
|
|
578
|
+
const variantClass = getVariantClass(variant);
|
|
579
|
+
const ariaLabel = t("Skeleton.aria.label", locale);
|
|
580
|
+
const baseClass = `${SKELETON_BG_CLASS} ${variantClass} ${animClass}`.trim();
|
|
581
|
+
if (variant === "text") {
|
|
582
|
+
return (
|
|
583
|
+
// biome-ignore lint/a11y/useSemanticElements: role="status" is the correct ARIA pattern for loading indicators; <output> conveys form output semantics which is incorrect here
|
|
584
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { role: "status", "aria-label": ariaLabel, "aria-busy": "true", className: "flex flex-col gap-2", children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
"span",
|
|
586
|
+
{
|
|
587
|
+
className: `block ${baseClass}`,
|
|
588
|
+
style: {
|
|
589
|
+
width: lastLineWidth(i, count, widthCss),
|
|
590
|
+
height: heightCss
|
|
591
|
+
},
|
|
592
|
+
"aria-hidden": "true"
|
|
593
|
+
},
|
|
594
|
+
textLineKey(i)
|
|
595
|
+
)) })
|
|
596
|
+
);
|
|
597
|
+
}
|
|
598
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
599
|
+
"div",
|
|
600
|
+
{
|
|
601
|
+
role: "status",
|
|
602
|
+
"aria-label": ariaLabel,
|
|
603
|
+
"aria-busy": "true",
|
|
604
|
+
className: `block ${baseClass}`,
|
|
605
|
+
style: { width: widthCss, height: heightCss }
|
|
606
|
+
}
|
|
607
|
+
);
|
|
608
|
+
}
|
|
609
|
+
function Skeleton(raw) {
|
|
610
|
+
try {
|
|
611
|
+
const props = validateSkeletonProps(raw);
|
|
612
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SkeletonInner, { ...props });
|
|
613
|
+
} catch {
|
|
614
|
+
const locale = raw.locale === "fr" ? "fr" : "en";
|
|
615
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { role: "alert", className: "text-red-600 text-sm", children: t("Skeleton.error.invalidProps", locale) });
|
|
616
|
+
}
|
|
617
|
+
}
|
|
464
618
|
var MarkdownRendererPropsSchema = zod.z.object({
|
|
465
619
|
content: zod.z.string(),
|
|
466
620
|
locale: zod.z.enum(["en", "fr"]),
|
|
@@ -621,6 +775,26 @@ function TokenDisplayOnceModal(raw) {
|
|
|
621
775
|
return null;
|
|
622
776
|
}
|
|
623
777
|
}
|
|
778
|
+
var ToastPropsSchema = zod.z.object({
|
|
779
|
+
variant: zod.z.enum(["success", "error", "info", "warning"]),
|
|
780
|
+
title: zod.z.string().min(1),
|
|
781
|
+
description: zod.z.string().optional(),
|
|
782
|
+
duration: zod.z.number().int().nonnegative().default(5e3),
|
|
783
|
+
locale: zod.z.enum(["en", "fr"]).default("en")
|
|
784
|
+
});
|
|
785
|
+
function validateToastProps(raw) {
|
|
786
|
+
return ToastPropsSchema.parse(raw);
|
|
787
|
+
}
|
|
788
|
+
var AlertPropsSchema = zod.z.object({
|
|
789
|
+
variant: zod.z.enum(["success", "error", "info", "warning"]),
|
|
790
|
+
title: zod.z.string().min(1),
|
|
791
|
+
description: zod.z.string().optional(),
|
|
792
|
+
dismissible: zod.z.boolean().default(false),
|
|
793
|
+
locale: zod.z.enum(["en", "fr"]).default("en")
|
|
794
|
+
});
|
|
795
|
+
function validateAlertProps(raw) {
|
|
796
|
+
return AlertPropsSchema.parse(raw);
|
|
797
|
+
}
|
|
624
798
|
var StatusBadgePropsSchema = zod.z.object({
|
|
625
799
|
status: zod.z.string(),
|
|
626
800
|
variant: zod.z.enum(["success", "warning", "danger", "info", "neutral"]).default("neutral"),
|
|
@@ -745,8 +919,10 @@ function createMosaicResource(componentName, props, locale = "en") {
|
|
|
745
919
|
}
|
|
746
920
|
var MOSAIC_SUPPORTED_COMPONENTS = COMPONENT_KEYS;
|
|
747
921
|
|
|
922
|
+
exports.AlertPropsSchema = AlertPropsSchema;
|
|
748
923
|
exports.ConfirmDialog = ConfirmDialog;
|
|
749
924
|
exports.ConfirmDialogPropsSchema = ConfirmDialogPropsSchema;
|
|
925
|
+
exports.EmptyStatePropsSchema = EmptyStatePropsSchema;
|
|
750
926
|
exports.MCP_UI_CAPABILITY_KEY = MCP_UI_CAPABILITY_KEY;
|
|
751
927
|
exports.MOSAIC_MIME_TYPE = MOSAIC_MIME_TYPE;
|
|
752
928
|
exports.MOSAIC_STREAM_CHUNK_TYPE = MOSAIC_STREAM_CHUNK_TYPE;
|
|
@@ -755,21 +931,31 @@ exports.MarkdownRenderer = MarkdownRenderer;
|
|
|
755
931
|
exports.MarkdownRendererPropsSchema = MarkdownRendererPropsSchema;
|
|
756
932
|
exports.ProgressBar = ProgressBar;
|
|
757
933
|
exports.ProgressBarPropsSchema = ProgressBarPropsSchema;
|
|
934
|
+
exports.Skeleton = Skeleton;
|
|
935
|
+
exports.SkeletonPropsSchema = SkeletonPropsSchema;
|
|
758
936
|
exports.StatusBadge = StatusBadge;
|
|
759
937
|
exports.StatusBadgePropsSchema = StatusBadgePropsSchema;
|
|
760
938
|
exports.StreamingTableView = StreamingTableView;
|
|
761
939
|
exports.TableView = TableView;
|
|
762
940
|
exports.TableViewPropsSchema = TableViewPropsSchema;
|
|
941
|
+
exports.TabsPropsSchema = TabsPropsSchema;
|
|
942
|
+
exports.ToastPropsSchema = ToastPropsSchema;
|
|
763
943
|
exports.TokenDisplayOnceModal = TokenDisplayOnceModal;
|
|
764
944
|
exports.TokenDisplayOnceModalPropsSchema = TokenDisplayOnceModalPropsSchema;
|
|
765
945
|
exports.createMosaicResource = createMosaicResource;
|
|
766
946
|
exports.createPostMessageObservable = createPostMessageObservable;
|
|
947
|
+
exports.resolveSkeletonDimensions = resolveSkeletonDimensions;
|
|
767
948
|
exports.useStreamingHydration = useStreamingHydration;
|
|
949
|
+
exports.validateAlertProps = validateAlertProps;
|
|
768
950
|
exports.validateConfirmDialogProps = validateConfirmDialogProps;
|
|
951
|
+
exports.validateEmptyStateProps = validateEmptyStateProps;
|
|
769
952
|
exports.validateMarkdownRendererProps = validateProps2;
|
|
770
953
|
exports.validateProps = validateProps;
|
|
954
|
+
exports.validateSkeletonProps = validateSkeletonProps;
|
|
771
955
|
exports.validateStatusBadgeProps = validateProps3;
|
|
772
956
|
exports.validateTableViewProps = validateTableViewProps;
|
|
957
|
+
exports.validateTabsProps = validateTabsProps;
|
|
958
|
+
exports.validateToastProps = validateToastProps;
|
|
773
959
|
exports.validateTokenDisplayOnceModalProps = validateTokenDisplayOnceModalProps;
|
|
774
960
|
//# sourceMappingURL=index.cjs.map
|
|
775
961
|
//# sourceMappingURL=index.cjs.map
|