@mieweb/ui 0.2.0 → 0.2.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/dist/ag-grid.cjs +753 -0
- package/dist/ag-grid.cjs.map +1 -0
- package/dist/ag-grid.d.cts +193 -0
- package/dist/ag-grid.d.ts +193 -0
- package/dist/ag-grid.js +698 -0
- package/dist/ag-grid.js.map +1 -0
- package/dist/brands/index.cjs +12 -7
- package/dist/brands/index.d.cts +2 -0
- package/dist/brands/index.d.ts +2 -0
- package/dist/brands/index.js +3 -2
- package/dist/brands/ozwell.cjs +12 -0
- package/dist/brands/ozwell.cjs.map +1 -0
- package/dist/brands/ozwell.css +145 -0
- package/dist/brands/ozwell.d.cts +17 -0
- package/dist/brands/ozwell.d.ts +17 -0
- package/dist/brands/ozwell.js +3 -0
- package/dist/brands/ozwell.js.map +1 -0
- package/dist/chunk-4DJNHPHB.js +82 -0
- package/dist/chunk-4DJNHPHB.js.map +1 -0
- package/dist/{chunk-O7WRE2WX.js → chunk-5YRTFJ7K.js} +54 -2
- package/dist/chunk-5YRTFJ7K.js.map +1 -0
- package/dist/{chunk-CLJZHS7Y.cjs → chunk-B5364UWR.cjs} +3 -2
- package/dist/chunk-B5364UWR.cjs.map +1 -0
- package/dist/chunk-D3BUYVLN.cjs +120 -0
- package/dist/chunk-D3BUYVLN.cjs.map +1 -0
- package/dist/{chunk-SJ3BF4BO.cjs → chunk-ERIGUDFS.cjs} +54 -2
- package/dist/chunk-ERIGUDFS.cjs.map +1 -0
- package/dist/{chunk-UBRDKNLQ.js → chunk-GHRQ3ZJH.js} +178 -51
- package/dist/chunk-GHRQ3ZJH.js.map +1 -0
- package/dist/{chunk-AKTUXJPI.cjs → chunk-INFSKLXE.cjs} +178 -51
- package/dist/chunk-INFSKLXE.cjs.map +1 -0
- package/dist/chunk-K5T2PT4M.js +3 -0
- package/dist/chunk-K5T2PT4M.js.map +1 -0
- package/dist/chunk-KEIA2G6O.cjs +84 -0
- package/dist/chunk-KEIA2G6O.cjs.map +1 -0
- package/dist/{chunk-S4DK5WN6.js → chunk-RYQ5NEKH.js} +3 -2
- package/dist/chunk-RYQ5NEKH.js.map +1 -0
- package/dist/components/AudioPlayer/index.cjs +6 -6
- package/dist/components/AudioPlayer/index.d.cts +24 -10
- package/dist/components/AudioPlayer/index.d.ts +24 -10
- package/dist/components/AudioPlayer/index.js +1 -1
- package/dist/index.cjs +1637 -1653
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +162 -225
- package/dist/index.d.ts +162 -225
- package/dist/index.js +1459 -1447
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/package.json +12 -1
- package/dist/chunk-AKTUXJPI.cjs.map +0 -1
- package/dist/chunk-CLJZHS7Y.cjs.map +0 -1
- package/dist/chunk-O7WRE2WX.js.map +0 -1
- package/dist/chunk-S4DK5WN6.js.map +0 -1
- package/dist/chunk-SJ3BF4BO.cjs.map +0 -1
- package/dist/chunk-UBRDKNLQ.js.map +0 -1
|
@@ -6,10 +6,11 @@ var brands = {
|
|
|
6
6
|
default: () => import('./default-ZGHKI5WF.cjs').then((m) => m.defaultBrand),
|
|
7
7
|
"enterprise-health": () => import('./enterprise-health-UDI25OCV.cjs').then((m) => m.enterpriseHealthBrand),
|
|
8
8
|
mieweb: () => import('./mieweb-UJABK5XX.cjs').then((m) => m.miewebBrand),
|
|
9
|
+
ozwell: () => import('./brands/ozwell.cjs').then((m) => m.ozwellBrand),
|
|
9
10
|
waggleline: () => import('./waggleline-6IGA66HR.cjs').then((m) => m.wagglelineBrand),
|
|
10
11
|
webchart: () => import('./webchart-EHVGP46N.cjs').then((m) => m.webchartBrand)
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
exports.brands = brands;
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-B5364UWR.cjs.map
|
|
16
|
+
//# sourceMappingURL=chunk-B5364UWR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/brands/index.ts"],"names":[],"mappings":";;;AAiCO,IAAM,MAAA,GAAS;AAAA,EACpB,QAAA,EAAU,MAAM,OAAO,uBAAY,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA;AAAA,EAChE,OAAA,EAAS,MAAM,OAAO,wBAAW,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,YAAY,CAAA;AAAA,EAC7D,mBAAA,EAAqB,MACnB,OAAO,kCAAqB,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,qBAAqB,CAAA;AAAA,EACnE,MAAA,EAAQ,MAAM,OAAO,uBAAU,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAA;AAAA,EAC1D,MAAA,EAAQ,MAAM,OAAO,qBAAU,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAA;AAAA,EAC1D,UAAA,EAAY,MAAM,OAAO,2BAAc,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,eAAe,CAAA;AAAA,EACtE,QAAA,EAAU,MAAM,OAAO,yBAAY,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa;AAClE","file":"chunk-B5364UWR.cjs","sourcesContent":["/**\n * @mieweb/ui Brand System\n *\n * Export all brand-related types, utilities, and configurations.\n */\n\n// Types and utilities\nexport type {\n BrandConfig,\n BrandColors,\n BrandTypography,\n BrandBorderRadius,\n BrandBoxShadow,\n ColorScale,\n SemanticColors,\n} from './types';\n\nexport {\n generateBrandCSS,\n generateTailwindTheme,\n createBrandPreset,\n} from './types';\n\n// Brand configurations\nexport { bluehiveBrand } from './bluehive';\nexport { defaultBrand } from './default';\nexport { enterpriseHealthBrand } from './enterprise-health';\nexport { miewebBrand } from './mieweb';\nexport { ozwellBrand } from './ozwell';\nexport { wagglelineBrand } from './waggleline';\nexport { webchartBrand } from './webchart';\n\n// All brands for iteration\nexport const brands = {\n bluehive: () => import('./bluehive').then((m) => m.bluehiveBrand),\n default: () => import('./default').then((m) => m.defaultBrand),\n 'enterprise-health': () =>\n import('./enterprise-health').then((m) => m.enterpriseHealthBrand),\n mieweb: () => import('./mieweb').then((m) => m.miewebBrand),\n ozwell: () => import('./ozwell').then((m) => m.ozwellBrand),\n waggleline: () => import('./waggleline').then((m) => m.wagglelineBrand),\n webchart: () => import('./webchart').then((m) => m.webchartBrand),\n} as const;\n"]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var lucideReact = require('lucide-react');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "AlertCircle", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return lucideReact.AlertCircle; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "ArrowLeft", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return lucideReact.ArrowLeft; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, "Building", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return lucideReact.Building; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "Calendar", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return lucideReact.Calendar; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "Camera", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return lucideReact.Camera; }
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(exports, "Check", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return lucideReact.Check; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "CheckCircle", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return lucideReact.CheckCircle; }
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "ChevronDown", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return lucideReact.ChevronDown; }
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, "ChevronUp", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return lucideReact.ChevronUp; }
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "ClipboardList", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () { return lucideReact.ClipboardList; }
|
|
46
|
+
});
|
|
47
|
+
Object.defineProperty(exports, "Clock", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () { return lucideReact.Clock; }
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(exports, "FileText", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () { return lucideReact.FileText; }
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, "Globe", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () { return lucideReact.Globe; }
|
|
58
|
+
});
|
|
59
|
+
Object.defineProperty(exports, "Image", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function () { return lucideReact.Image; }
|
|
62
|
+
});
|
|
63
|
+
Object.defineProperty(exports, "Mail", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
get: function () { return lucideReact.Mail; }
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(exports, "Menu", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function () { return lucideReact.Menu; }
|
|
70
|
+
});
|
|
71
|
+
Object.defineProperty(exports, "Paperclip", {
|
|
72
|
+
enumerable: true,
|
|
73
|
+
get: function () { return lucideReact.Paperclip; }
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(exports, "Pencil", {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
get: function () { return lucideReact.Pencil; }
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(exports, "Phone", {
|
|
80
|
+
enumerable: true,
|
|
81
|
+
get: function () { return lucideReact.Phone; }
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(exports, "Plus", {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
get: function () { return lucideReact.Plus; }
|
|
86
|
+
});
|
|
87
|
+
Object.defineProperty(exports, "RefreshCw", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () { return lucideReact.RefreshCw; }
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(exports, "Scan", {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function () { return lucideReact.Scan; }
|
|
94
|
+
});
|
|
95
|
+
Object.defineProperty(exports, "ScanLine", {
|
|
96
|
+
enumerable: true,
|
|
97
|
+
get: function () { return lucideReact.ScanLine; }
|
|
98
|
+
});
|
|
99
|
+
Object.defineProperty(exports, "Stethoscope", {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function () { return lucideReact.Stethoscope; }
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(exports, "Trash2", {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
get: function () { return lucideReact.Trash2; }
|
|
106
|
+
});
|
|
107
|
+
Object.defineProperty(exports, "Upload", {
|
|
108
|
+
enumerable: true,
|
|
109
|
+
get: function () { return lucideReact.Upload; }
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(exports, "Users", {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
get: function () { return lucideReact.Users; }
|
|
114
|
+
});
|
|
115
|
+
Object.defineProperty(exports, "X", {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
get: function () { return lucideReact.X; }
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=chunk-D3BUYVLN.cjs.map
|
|
120
|
+
//# sourceMappingURL=chunk-D3BUYVLN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-D3BUYVLN.cjs","sourcesContent":[]}
|
|
@@ -33,6 +33,58 @@ var miewebUISafelist = [
|
|
|
33
33
|
"focus:ring-destructive",
|
|
34
34
|
"border-primary",
|
|
35
35
|
"border-destructive",
|
|
36
|
+
"border-success",
|
|
37
|
+
"focus:ring-success/20",
|
|
38
|
+
"focus:ring-destructive/20",
|
|
39
|
+
// Opacity-modifier variants for semantic colors used by components
|
|
40
|
+
"bg-background/60",
|
|
41
|
+
"bg-background/80",
|
|
42
|
+
"bg-background/90",
|
|
43
|
+
"bg-background/95",
|
|
44
|
+
"bg-card/80",
|
|
45
|
+
"bg-destructive/5",
|
|
46
|
+
"bg-destructive/10",
|
|
47
|
+
"bg-foreground/50",
|
|
48
|
+
"bg-info/10",
|
|
49
|
+
"bg-muted/10",
|
|
50
|
+
"bg-muted/30",
|
|
51
|
+
"bg-muted/50",
|
|
52
|
+
"bg-primary/5",
|
|
53
|
+
"bg-primary/10",
|
|
54
|
+
"bg-success/10",
|
|
55
|
+
"bg-warning/10",
|
|
56
|
+
"border-border/80",
|
|
57
|
+
"border-destructive/20",
|
|
58
|
+
"border-destructive/30",
|
|
59
|
+
"border-destructive/50",
|
|
60
|
+
"border-info/30",
|
|
61
|
+
"border-muted-foreground/25",
|
|
62
|
+
"border-muted-foreground/40",
|
|
63
|
+
"border-primary/30",
|
|
64
|
+
"border-primary/50",
|
|
65
|
+
"border-success/30",
|
|
66
|
+
"border-success/50",
|
|
67
|
+
"border-warning/30",
|
|
68
|
+
"hover:bg-destructive/10",
|
|
69
|
+
"hover:bg-muted/10",
|
|
70
|
+
"hover:bg-muted/20",
|
|
71
|
+
"hover:bg-muted/50",
|
|
72
|
+
"hover:bg-muted/80",
|
|
73
|
+
"hover:bg-primary/5",
|
|
74
|
+
"hover:bg-primary/10",
|
|
75
|
+
"hover:bg-primary/20",
|
|
76
|
+
"hover:bg-primary/90",
|
|
77
|
+
"hover:border-border/80",
|
|
78
|
+
"hover:border-muted-foreground/50",
|
|
79
|
+
"hover:text-destructive/80",
|
|
80
|
+
"hover:text-primary/80",
|
|
81
|
+
"text-muted-foreground/30",
|
|
82
|
+
"text-muted-foreground/40",
|
|
83
|
+
"text-muted-foreground/50",
|
|
84
|
+
"text-muted-foreground/60",
|
|
85
|
+
"text-muted-foreground/70",
|
|
86
|
+
"text-primary/80",
|
|
87
|
+
"text-primary-foreground/90",
|
|
36
88
|
"ring-primary",
|
|
37
89
|
"ring-2",
|
|
38
90
|
"ring-offset-2",
|
|
@@ -195,5 +247,5 @@ var tailwind_preset_default = miewebUIPreset;
|
|
|
195
247
|
exports.miewebUIPreset = miewebUIPreset;
|
|
196
248
|
exports.miewebUISafelist = miewebUISafelist;
|
|
197
249
|
exports.tailwind_preset_default = tailwind_preset_default;
|
|
198
|
-
//# sourceMappingURL=chunk-
|
|
199
|
-
//# sourceMappingURL=chunk-
|
|
250
|
+
//# sourceMappingURL=chunk-ERIGUDFS.cjs.map
|
|
251
|
+
//# sourceMappingURL=chunk-ERIGUDFS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tailwind-preset.ts"],"names":[],"mappings":"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","file":"chunk-ERIGUDFS.cjs","sourcesContent":["/**\n * @mieweb/ui Tailwind CSS Preset\n *\n * This preset provides the default theme configuration for @mieweb/ui components.\n * Consumers can extend or override these values in their own tailwind.config.js\n *\n * Usage:\n * ```js\n * // tailwind.config.js\n * module.exports = {\n * presets: [require('@mieweb/ui/tailwind-preset')],\n * theme: {\n * extend: {\n * colors: {\n * primary: {\n * 500: '#your-brand-color',\n * },\n * },\n * },\n * },\n * };\n * ```\n */\n\n/**\n * Safelist of classes used by @mieweb/ui components.\n * These must be safelisted because Tailwind may not detect them when\n * components are imported from node_modules (especially with Tailwind CSS 4).\n */\nexport const miewebUISafelist = [\n // Semantic colors\n 'border-border',\n 'border-input',\n 'ring-ring',\n 'bg-background',\n 'bg-card',\n 'bg-muted',\n 'bg-primary',\n 'bg-success',\n 'bg-warning',\n 'bg-destructive',\n 'bg-info',\n 'text-foreground',\n 'text-card-foreground',\n 'text-muted-foreground',\n 'text-primary',\n 'text-primary-foreground',\n 'text-success',\n 'text-success-foreground',\n 'text-warning',\n 'text-warning-foreground',\n 'text-destructive',\n 'text-destructive-foreground',\n 'text-info',\n 'text-info-foreground',\n 'focus:ring-ring',\n 'focus:ring-primary',\n 'focus:border-transparent',\n 'focus:ring-destructive',\n 'border-primary',\n 'border-destructive',\n 'border-success',\n 'focus:ring-success/20',\n 'focus:ring-destructive/20',\n // Opacity-modifier variants for semantic colors used by components\n 'bg-background/60',\n 'bg-background/80',\n 'bg-background/90',\n 'bg-background/95',\n 'bg-card/80',\n 'bg-destructive/5',\n 'bg-destructive/10',\n 'bg-foreground/50',\n 'bg-info/10',\n 'bg-muted/10',\n 'bg-muted/30',\n 'bg-muted/50',\n 'bg-primary/5',\n 'bg-primary/10',\n 'bg-success/10',\n 'bg-warning/10',\n 'border-border/80',\n 'border-destructive/20',\n 'border-destructive/30',\n 'border-destructive/50',\n 'border-info/30',\n 'border-muted-foreground/25',\n 'border-muted-foreground/40',\n 'border-primary/30',\n 'border-primary/50',\n 'border-success/30',\n 'border-success/50',\n 'border-warning/30',\n 'hover:bg-destructive/10',\n 'hover:bg-muted/10',\n 'hover:bg-muted/20',\n 'hover:bg-muted/50',\n 'hover:bg-muted/80',\n 'hover:bg-primary/5',\n 'hover:bg-primary/10',\n 'hover:bg-primary/20',\n 'hover:bg-primary/90',\n 'hover:border-border/80',\n 'hover:border-muted-foreground/50',\n 'hover:text-destructive/80',\n 'hover:text-primary/80',\n 'text-muted-foreground/30',\n 'text-muted-foreground/40',\n 'text-muted-foreground/50',\n 'text-muted-foreground/60',\n 'text-muted-foreground/70',\n 'text-primary/80',\n 'text-primary-foreground/90',\n 'ring-primary',\n 'ring-2',\n 'ring-offset-2',\n // Grid classes for QuickAction and responsive layouts\n 'grid-cols-1',\n 'grid-cols-2',\n 'grid-cols-3',\n 'grid-cols-4',\n 'grid-cols-6',\n 'sm:grid-cols-1',\n 'sm:grid-cols-2',\n 'sm:grid-cols-3',\n 'sm:grid-cols-4',\n 'sm:grid-cols-6',\n 'md:grid-cols-2',\n 'md:grid-cols-3',\n 'md:grid-cols-4',\n 'lg:grid-cols-2',\n 'lg:grid-cols-3',\n 'lg:grid-cols-4',\n // Switch component\n 'bg-neutral-200',\n 'dark:bg-neutral-700',\n 'bg-primary-500',\n 'h-5',\n 'w-9',\n 'h-6',\n 'w-11',\n 'h-7',\n 'w-14',\n 'h-4',\n 'w-4',\n 'w-5',\n 'w-6',\n 'translate-x-0.5',\n 'translate-x-4',\n 'translate-x-5',\n 'translate-x-7',\n // SchedulePicker / overflow handling\n 'overflow-x-auto',\n 'overflow-hidden',\n // Select component\n 'truncate',\n];\n\nexport interface MiewebUIPreset {\n darkMode: ['class', '[data-theme=\"dark\"]'];\n safelist: string[];\n theme: {\n extend: Record<string, unknown>;\n };\n}\n\nexport const miewebUIPreset: MiewebUIPreset = {\n darkMode: ['class', '[data-theme=\"dark\"]'],\n safelist: miewebUISafelist,\n theme: {\n extend: {\n colors: {\n // Primary color scale - easily overridable by consumers\n primary: {\n DEFAULT: 'var(--mieweb-primary, var(--mieweb-primary-500, #27aae1))',\n 50: 'var(--mieweb-primary-50, #f0f9ff)',\n 100: 'var(--mieweb-primary-100, #e0f4fe)',\n 200: 'var(--mieweb-primary-200, #b9eafd)',\n 300: 'var(--mieweb-primary-300, #7cdbfc)',\n 400: 'var(--mieweb-primary-400, #36c9f8)',\n 500: 'var(--mieweb-primary-500, #27aae1)',\n 600: 'var(--mieweb-primary-600, #0c90c9)',\n 700: 'var(--mieweb-primary-700, #0b73a3)',\n 800: 'var(--mieweb-primary-800, #0f6086)',\n 900: 'var(--mieweb-primary-900, #124f6f)',\n 950: 'var(--mieweb-primary-950, #0c334a)',\n foreground: 'var(--mieweb-primary-foreground, hsl(210 40% 98%))',\n },\n // Semantic colors using CSS variables for theming\n border: 'var(--mieweb-border, hsl(214.3 31.8% 91.4%))',\n input: 'var(--mieweb-input, hsl(214.3 31.8% 91.4%))',\n ring: 'var(--mieweb-ring, hsl(221.2 83.2% 53.3%))',\n background: 'var(--mieweb-background, hsl(0 0% 100%))',\n foreground: 'var(--mieweb-foreground, hsl(222.2 84% 4.9%))',\n // Component-specific semantic colors\n card: {\n DEFAULT: 'var(--mieweb-card, hsl(0 0% 100%))',\n foreground: 'var(--mieweb-card-foreground, hsl(222.2 84% 4.9%))',\n },\n muted: {\n DEFAULT: 'var(--mieweb-muted, hsl(210 40% 96.1%))',\n foreground: 'var(--mieweb-muted-foreground, hsl(215.4 16.3% 46.9%))',\n },\n destructive: {\n DEFAULT: 'var(--mieweb-destructive, hsl(0 84.2% 60.2%))',\n foreground: 'var(--mieweb-destructive-foreground, hsl(210 40% 98%))',\n },\n success: {\n DEFAULT: 'var(--mieweb-success, hsl(142.1 76.2% 36.3%))',\n foreground: 'var(--mieweb-success-foreground, hsl(355.7 100% 97.3%))',\n },\n warning: {\n DEFAULT: 'var(--mieweb-warning, hsl(45.4 93.4% 47.5%))',\n foreground: 'var(--mieweb-warning-foreground, hsl(26 83.3% 14.1%))',\n },\n info: {\n DEFAULT: 'var(--mieweb-info, hsl(204 94% 94%))',\n foreground: 'var(--mieweb-info-foreground, hsl(213 31% 91%))',\n },\n },\n fontFamily: {\n sans: [\n 'var(--mieweb-font-sans, ui-sans-serif)',\n 'system-ui',\n 'sans-serif',\n ],\n },\n borderRadius: {\n '2xl': 'var(--mieweb-radius-2xl, 1rem)',\n lg: 'var(--mieweb-radius-lg, 0.75rem)',\n md: 'var(--mieweb-radius-md, 0.5rem)',\n sm: 'var(--mieweb-radius-sm, 0.25rem)',\n xl: 'var(--mieweb-radius-xl, 1rem)',\n },\n boxShadow: {\n card: 'var(--mieweb-shadow-card, 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1))',\n },\n keyframes: {\n 'fade-in': {\n '0%': { opacity: '0' },\n '100%': { opacity: '1' },\n },\n 'fade-out': {\n '0%': { opacity: '1' },\n '100%': { opacity: '0' },\n },\n 'slide-in-from-top': {\n '0%': { transform: 'translateY(-0.5rem)', opacity: '0' },\n '100%': { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-from-bottom': {\n '0%': { transform: 'translateY(0.5rem)', opacity: '0' },\n '100%': { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-right': {\n '0%': { transform: 'translateX(100%)', opacity: '0' },\n '100%': { transform: 'translateX(0)', opacity: '1' },\n },\n 'slide-in-left': {\n '0%': { transform: 'translateX(-100%)', opacity: '0' },\n '100%': { transform: 'translateX(0)', opacity: '1' },\n },\n 'scale-in': {\n '0%': { transform: 'scale(0.95)', opacity: '0' },\n '100%': { transform: 'scale(1)', opacity: '1' },\n },\n },\n animation: {\n 'fade-in': 'fade-in 150ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'slide-in-from-top': 'slide-in-from-top 150ms ease-out',\n 'slide-in-from-bottom': 'slide-in-from-bottom 150ms ease-out',\n 'slide-in-right': 'slide-in-right 300ms ease-out',\n 'slide-in-left': 'slide-in-left 300ms ease-out',\n 'scale-in': 'scale-in 150ms ease-out',\n },\n },\n },\n};\n\nexport default miewebUIPreset;\n"]}
|
|
@@ -206,6 +206,7 @@ function Waveform({
|
|
|
206
206
|
progressColor,
|
|
207
207
|
height = 64,
|
|
208
208
|
showHoverCursor = false,
|
|
209
|
+
waveformRef,
|
|
209
210
|
onHoverTimeChange,
|
|
210
211
|
cursorColor = "var(--color-red-500, rgb(239, 68, 68))"
|
|
211
212
|
}) {
|
|
@@ -214,6 +215,43 @@ function Waveform({
|
|
|
214
215
|
const [isLoaded, setIsLoaded] = React.useState(false);
|
|
215
216
|
const [isHovering, setIsHovering] = React.useState(false);
|
|
216
217
|
const [hoverPosition, setHoverPosition] = React.useState(0);
|
|
218
|
+
React.useEffect(() => {
|
|
219
|
+
if (waveformRef) {
|
|
220
|
+
waveformRef.current = {
|
|
221
|
+
seekTo: (time) => {
|
|
222
|
+
if (wavesurferRef.current && isLoaded) {
|
|
223
|
+
const duration = wavesurferRef.current.getDuration();
|
|
224
|
+
if (duration > 0) {
|
|
225
|
+
const clampedTime = Math.min(Math.max(time, 0), duration);
|
|
226
|
+
const progress = clampedTime / duration;
|
|
227
|
+
wavesurferRef.current.seekTo(progress);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
play: () => {
|
|
232
|
+
if (wavesurferRef.current && isLoaded) {
|
|
233
|
+
wavesurferRef.current.play();
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
pause: () => {
|
|
237
|
+
if (wavesurferRef.current && isLoaded) {
|
|
238
|
+
wavesurferRef.current.pause();
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
getCurrentTime: () => {
|
|
242
|
+
return wavesurferRef.current?.getCurrentTime?.() ?? 0;
|
|
243
|
+
},
|
|
244
|
+
getDuration: () => {
|
|
245
|
+
return wavesurferRef.current?.getDuration?.() ?? 0;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
return () => {
|
|
250
|
+
if (waveformRef) {
|
|
251
|
+
waveformRef.current = null;
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}, [waveformRef, isLoaded]);
|
|
217
255
|
React.useEffect(() => {
|
|
218
256
|
if (!containerRef.current) return;
|
|
219
257
|
const initWaveSurfer = async () => {
|
|
@@ -257,6 +295,7 @@ function Waveform({
|
|
|
257
295
|
console.error("Failed to load WaveSurfer:", error);
|
|
258
296
|
}
|
|
259
297
|
};
|
|
298
|
+
setIsLoaded(false);
|
|
260
299
|
initWaveSurfer();
|
|
261
300
|
return () => {
|
|
262
301
|
if (wavesurferRef.current) {
|
|
@@ -351,7 +390,7 @@ function Waveform({
|
|
|
351
390
|
}
|
|
352
391
|
);
|
|
353
392
|
}
|
|
354
|
-
|
|
393
|
+
var AudioPlayer = React.forwardRef(function AudioPlayer2({
|
|
355
394
|
src,
|
|
356
395
|
title,
|
|
357
396
|
variant = "compact",
|
|
@@ -376,14 +415,16 @@ function AudioPlayer({
|
|
|
376
415
|
preload = false,
|
|
377
416
|
/** Fallback duration in seconds to display before audio is loaded */
|
|
378
417
|
fallbackDuration
|
|
379
|
-
}) {
|
|
418
|
+
}, ref) {
|
|
380
419
|
const [state, setState] = React.useState("idle");
|
|
381
420
|
const [currentTime, setCurrentTime] = React.useState(0);
|
|
382
421
|
const [duration, setDuration] = React.useState(0);
|
|
383
422
|
const [playbackRate, setPlaybackRate] = React.useState(1);
|
|
384
423
|
const [audioInitialized, setAudioInitialized] = React.useState(false);
|
|
385
424
|
const [hoverTime, setHoverTime] = React.useState(null);
|
|
425
|
+
const containerRef = React.useRef(null);
|
|
386
426
|
const audioRef = React.useRef(null);
|
|
427
|
+
const waveformMethodsRef = React.useRef(null);
|
|
387
428
|
const isPlaying = state === "playing";
|
|
388
429
|
const isLoading = state === "loading";
|
|
389
430
|
const updateState = React.useCallback(
|
|
@@ -428,6 +469,70 @@ function AudioPlayer({
|
|
|
428
469
|
onEnded,
|
|
429
470
|
onError
|
|
430
471
|
]);
|
|
472
|
+
React.useImperativeHandle(
|
|
473
|
+
ref,
|
|
474
|
+
() => ({
|
|
475
|
+
get container() {
|
|
476
|
+
return containerRef.current;
|
|
477
|
+
},
|
|
478
|
+
seekTo: (time) => {
|
|
479
|
+
if (variant === "waveform") {
|
|
480
|
+
waveformMethodsRef.current?.seekTo(time);
|
|
481
|
+
} else {
|
|
482
|
+
if (!audioRef.current) {
|
|
483
|
+
initAudio();
|
|
484
|
+
}
|
|
485
|
+
if (audioRef.current) {
|
|
486
|
+
audioRef.current.currentTime = time;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
play: () => {
|
|
491
|
+
if (variant === "waveform") {
|
|
492
|
+
if (waveformMethodsRef.current) {
|
|
493
|
+
waveformMethodsRef.current.play();
|
|
494
|
+
updateState("playing");
|
|
495
|
+
}
|
|
496
|
+
} else {
|
|
497
|
+
if (!audioRef.current) {
|
|
498
|
+
initAudio();
|
|
499
|
+
}
|
|
500
|
+
if (audioRef.current) {
|
|
501
|
+
audioRef.current.play().catch((error) => {
|
|
502
|
+
updateState("error");
|
|
503
|
+
onError?.(error);
|
|
504
|
+
});
|
|
505
|
+
updateState("playing");
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
},
|
|
509
|
+
pause: () => {
|
|
510
|
+
if (variant === "waveform") {
|
|
511
|
+
if (waveformMethodsRef.current) {
|
|
512
|
+
waveformMethodsRef.current.pause();
|
|
513
|
+
updateState("paused");
|
|
514
|
+
}
|
|
515
|
+
} else if (audioRef.current) {
|
|
516
|
+
audioRef.current.pause();
|
|
517
|
+
updateState("paused");
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
getCurrentTime: () => {
|
|
521
|
+
if (variant === "waveform") {
|
|
522
|
+
return waveformMethodsRef.current?.getCurrentTime() ?? 0;
|
|
523
|
+
}
|
|
524
|
+
return audioRef.current?.currentTime ?? 0;
|
|
525
|
+
},
|
|
526
|
+
getDuration: () => {
|
|
527
|
+
if (variant === "waveform") {
|
|
528
|
+
return waveformMethodsRef.current?.getDuration() ?? 0;
|
|
529
|
+
}
|
|
530
|
+
const rawDuration = audioRef.current?.duration;
|
|
531
|
+
return Number.isFinite(rawDuration) ? rawDuration : 0;
|
|
532
|
+
}
|
|
533
|
+
}),
|
|
534
|
+
[variant, initAudio, updateState, onError]
|
|
535
|
+
);
|
|
431
536
|
React.useEffect(() => {
|
|
432
537
|
if (preload && !audioInitialized && variant !== "waveform") {
|
|
433
538
|
initAudio();
|
|
@@ -579,59 +684,81 @@ function AudioPlayer({
|
|
|
579
684
|
};
|
|
580
685
|
if (variant === "inline") {
|
|
581
686
|
const displayDuration = duration > 0 ? duration : fallbackDuration ?? 0;
|
|
582
|
-
return /* @__PURE__ */ jsxs(
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
687
|
+
return /* @__PURE__ */ jsxs(
|
|
688
|
+
"div",
|
|
689
|
+
{
|
|
690
|
+
ref: containerRef,
|
|
691
|
+
className: cn(audioPlayerVariants({ variant, size }), className),
|
|
692
|
+
children: [
|
|
693
|
+
renderPlayButton(),
|
|
694
|
+
title && /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
|
|
695
|
+
showDuration && displayDuration > 0 && /* @__PURE__ */ jsx("span", { className: "font-mono text-xs text-neutral-500 tabular-nums dark:text-neutral-400", children: isPlaying ? formatTime(currentTime) : formatTime(displayDuration) })
|
|
696
|
+
]
|
|
697
|
+
}
|
|
698
|
+
);
|
|
587
699
|
}
|
|
588
700
|
if (variant === "compact") {
|
|
589
|
-
return /* @__PURE__ */ jsxs(
|
|
590
|
-
|
|
591
|
-
/* @__PURE__ */ jsx(
|
|
592
|
-
ProgressBar,
|
|
593
|
-
{
|
|
594
|
-
currentTime,
|
|
595
|
-
duration,
|
|
596
|
-
onSeek: handleSeek,
|
|
597
|
-
disabled
|
|
598
|
-
}
|
|
599
|
-
),
|
|
600
|
-
renderTime(),
|
|
601
|
-
renderPlaybackRateControl()
|
|
602
|
-
] });
|
|
603
|
-
}
|
|
604
|
-
return /* @__PURE__ */ jsxs("div", { className: cn(audioPlayerVariants({ variant, size }), className), children: [
|
|
605
|
-
title && /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
|
|
606
|
-
/* @__PURE__ */ jsx(
|
|
607
|
-
Waveform,
|
|
701
|
+
return /* @__PURE__ */ jsxs(
|
|
702
|
+
"div",
|
|
608
703
|
{
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
704
|
+
ref: containerRef,
|
|
705
|
+
className: cn(audioPlayerVariants({ variant, size }), className),
|
|
706
|
+
children: [
|
|
707
|
+
renderPlayButton(),
|
|
708
|
+
/* @__PURE__ */ jsx(
|
|
709
|
+
ProgressBar,
|
|
710
|
+
{
|
|
711
|
+
currentTime,
|
|
712
|
+
duration,
|
|
713
|
+
onSeek: handleSeek,
|
|
714
|
+
disabled
|
|
715
|
+
}
|
|
716
|
+
),
|
|
717
|
+
renderTime(),
|
|
718
|
+
renderPlaybackRateControl()
|
|
719
|
+
]
|
|
622
720
|
}
|
|
623
|
-
)
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
721
|
+
);
|
|
722
|
+
}
|
|
723
|
+
return /* @__PURE__ */ jsxs(
|
|
724
|
+
"div",
|
|
725
|
+
{
|
|
726
|
+
ref: containerRef,
|
|
727
|
+
className: cn(audioPlayerVariants({ variant, size }), className),
|
|
728
|
+
children: [
|
|
729
|
+
title && /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
|
|
730
|
+
/* @__PURE__ */ jsx(
|
|
731
|
+
Waveform,
|
|
732
|
+
{
|
|
733
|
+
src,
|
|
734
|
+
isPlaying,
|
|
735
|
+
playbackRate,
|
|
736
|
+
onReady: handleWaveformReady,
|
|
737
|
+
onTimeUpdate: handleWaveformTimeUpdate,
|
|
738
|
+
onFinish: handleWaveformFinish,
|
|
739
|
+
onSeek: handleWaveformSeek,
|
|
740
|
+
waveColor,
|
|
741
|
+
progressColor,
|
|
742
|
+
height: waveformHeight,
|
|
743
|
+
showHoverCursor: showWaveformHoverCursor,
|
|
744
|
+
onHoverTimeChange: handleHoverTimeChange,
|
|
745
|
+
cursorColor: waveformCursorColor,
|
|
746
|
+
waveformRef: waveformMethodsRef
|
|
747
|
+
}
|
|
748
|
+
),
|
|
749
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
750
|
+
renderPlayButton(),
|
|
751
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center justify-between", children: [
|
|
752
|
+
renderTime(true),
|
|
753
|
+
renderPlaybackRateControl()
|
|
754
|
+
] })
|
|
755
|
+
] })
|
|
756
|
+
]
|
|
757
|
+
}
|
|
758
|
+
);
|
|
759
|
+
});
|
|
633
760
|
AudioPlayer.displayName = "AudioPlayer";
|
|
634
761
|
|
|
635
762
|
export { AudioPlayer, ProgressBar, audioPlayerVariants, formatTime, playButtonVariants };
|
|
636
|
-
//# sourceMappingURL=chunk-
|
|
637
|
-
//# sourceMappingURL=chunk-
|
|
763
|
+
//# sourceMappingURL=chunk-GHRQ3ZJH.js.map
|
|
764
|
+
//# sourceMappingURL=chunk-GHRQ3ZJH.js.map
|