asterui 0.12.61 → 0.12.63
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/components/Affix.d.ts +2 -0
- package/dist/components/Affix.js.map +1 -1
- package/dist/components/Alert.d.ts +2 -0
- package/dist/components/Alert.js.map +1 -1
- package/dist/components/Anchor.d.ts +2 -0
- package/dist/components/Anchor.js +79 -75
- package/dist/components/Anchor.js.map +1 -1
- package/dist/components/Autocomplete.d.ts +1 -0
- package/dist/components/Autocomplete.js +115 -110
- package/dist/components/Autocomplete.js.map +1 -1
- package/dist/components/Avatar.d.ts +4 -0
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/Breadcrumb.d.ts +4 -2
- package/dist/components/Breadcrumb.js +54 -29
- package/dist/components/Breadcrumb.js.map +1 -1
- package/dist/components/Browser.d.ts +2 -0
- package/dist/components/Browser.js.map +1 -1
- package/dist/components/Button.d.ts +5 -1
- package/dist/components/Button.js +117 -107
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Chart.d.ts +1 -0
- package/dist/components/Chart.js +31 -30
- package/dist/components/Chart.js.map +1 -1
- package/dist/components/Chat.d.ts +1 -0
- package/dist/components/Chat.js +39 -28
- package/dist/components/Chat.js.map +1 -1
- package/dist/components/Code.d.ts +2 -0
- package/dist/components/Code.js.map +1 -1
- package/dist/components/Command.d.ts +5 -2
- package/dist/components/Command.js +262 -233
- package/dist/components/Command.js.map +1 -1
- package/dist/components/Container.d.ts +2 -0
- package/dist/components/Container.js.map +1 -1
- package/dist/components/ContextMenu.d.ts +4 -0
- package/dist/components/ContextMenu.js +157 -122
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/CopyButton.d.ts +2 -0
- package/dist/components/CopyButton.js +9 -8
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/Countdown.d.ts +3 -3
- package/dist/components/Countdown.js +49 -47
- package/dist/components/Countdown.js.map +1 -1
- package/dist/components/Diff.d.ts +3 -3
- package/dist/components/Diff.js +14 -10
- package/dist/components/Diff.js.map +1 -1
- package/dist/components/Divider.d.ts +2 -0
- package/dist/components/Divider.js.map +1 -1
- package/dist/components/Dock.d.ts +6 -0
- package/dist/components/Dock.js +75 -38
- package/dist/components/Dock.js.map +1 -1
- package/dist/components/Dropdown.js +110 -110
- package/dist/components/Dropdown.js.map +1 -1
- package/dist/components/Fieldset.d.ts +2 -0
- package/dist/components/Fieldset.js.map +1 -1
- package/dist/components/FileInput.d.ts +1 -0
- package/dist/components/FileInput.js +26 -26
- package/dist/components/FileInput.js.map +1 -1
- package/dist/components/Filter.d.ts +1 -0
- package/dist/components/Filter.js +43 -40
- package/dist/components/Filter.js.map +1 -1
- package/dist/components/Flex.d.ts +1 -0
- package/dist/components/Flex.js +43 -42
- package/dist/components/Flex.js.map +1 -1
- package/dist/components/FloatButton.d.ts +9 -0
- package/dist/components/FloatButton.js +211 -136
- package/dist/components/FloatButton.js.map +1 -1
- package/dist/components/Footer.d.ts +2 -0
- package/dist/components/Footer.js.map +1 -1
- package/dist/components/Grid.d.ts +4 -0
- package/dist/components/Grid.js.map +1 -1
- package/dist/components/Hero.d.ts +2 -0
- package/dist/components/Hero.js.map +1 -1
- package/dist/components/HoverGallery.d.ts +3 -3
- package/dist/components/HoverGallery.js +12 -10
- package/dist/components/HoverGallery.js.map +1 -1
- package/dist/components/Input.d.ts +1 -0
- package/dist/components/Input.js +201 -184
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Join.d.ts +2 -0
- package/dist/components/Join.js.map +1 -1
- package/dist/components/Kbd.d.ts +2 -0
- package/dist/components/Kbd.js.map +1 -1
- package/dist/components/Loading.d.ts +3 -0
- package/dist/components/Loading.js +58 -35
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/Mask.d.ts +2 -2
- package/dist/components/Mask.js.map +1 -1
- package/dist/components/Masonry.d.ts +1 -0
- package/dist/components/Masonry.js +45 -42
- package/dist/components/Masonry.js.map +1 -1
- package/dist/components/Mention.d.ts +1 -0
- package/dist/components/Mention.js +95 -91
- package/dist/components/Mention.js.map +1 -1
- package/dist/components/MonthCalendar.d.ts +1 -0
- package/dist/components/MonthCalendar.js +104 -97
- package/dist/components/MonthCalendar.js.map +1 -1
- package/dist/components/Navbar.d.ts +2 -0
- package/dist/components/Navbar.js.map +1 -1
- package/dist/components/Notification.js +32 -18
- package/dist/components/Notification.js.map +1 -1
- package/dist/components/Phone.d.ts +3 -2
- package/dist/components/Phone.js +10 -8
- package/dist/components/Phone.js.map +1 -1
- package/dist/components/Popconfirm.js +110 -92
- package/dist/components/Popconfirm.js.map +1 -1
- package/dist/components/Popover.d.ts +2 -0
- package/dist/components/Popover.js.map +1 -1
- package/dist/components/Progress.d.ts +2 -0
- package/dist/components/Progress.js.map +1 -1
- package/dist/components/QRCode.d.ts +1 -0
- package/dist/components/QRCode.js +84 -55
- package/dist/components/QRCode.js.map +1 -1
- package/dist/components/RadialProgress.d.ts +1 -0
- package/dist/components/RadialProgress.js +19 -17
- package/dist/components/RadialProgress.js.map +1 -1
- package/dist/components/Radio.d.ts +6 -3
- package/dist/components/Radio.js +9 -9
- package/dist/components/Radio.js.map +1 -1
- package/dist/components/Range.d.ts +1 -0
- package/dist/components/Range.js +45 -43
- package/dist/components/Range.js.map +1 -1
- package/dist/components/Rating.d.ts +4 -2
- package/dist/components/Rating.js +83 -79
- package/dist/components/Rating.js.map +1 -1
- package/dist/components/Responsive.d.ts +4 -2
- package/dist/components/Responsive.js +10 -9
- package/dist/components/Responsive.js.map +1 -1
- package/dist/components/Result.d.ts +1 -0
- package/dist/components/Result.js +24 -22
- package/dist/components/Result.js.map +1 -1
- package/dist/components/Select.d.ts +1 -0
- package/dist/components/Select.js +72 -62
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Skeleton.d.ts +2 -0
- package/dist/components/Skeleton.js.map +1 -1
- package/dist/components/Space.d.ts +2 -0
- package/dist/components/Space.js.map +1 -1
- package/dist/components/Splitter.d.ts +2 -0
- package/dist/components/Splitter.js +137 -131
- package/dist/components/Splitter.js.map +1 -1
- package/dist/components/Stat.d.ts +4 -2
- package/dist/components/Stat.js +19 -18
- package/dist/components/Stat.js.map +1 -1
- package/dist/components/Status.d.ts +3 -3
- package/dist/components/Status.js +27 -25
- package/dist/components/Status.js.map +1 -1
- package/dist/components/Steps.d.ts +4 -2
- package/dist/components/Steps.js +56 -52
- package/dist/components/Steps.js.map +1 -1
- package/dist/components/TextRotate.d.ts +1 -0
- package/dist/components/TextRotate.js +14 -12
- package/dist/components/TextRotate.js.map +1 -1
- package/dist/components/Textarea.d.ts +1 -0
- package/dist/components/Textarea.js +31 -30
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeController.d.ts +6 -3
- package/dist/components/ThemeController.js +101 -92
- package/dist/components/ThemeController.js.map +1 -1
- package/dist/components/Toggle.d.ts +2 -0
- package/dist/components/Toggle.js.map +1 -1
- package/dist/components/Tooltip.d.ts +2 -0
- package/dist/components/Tooltip.js +38 -32
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/Typography.d.ts +10 -5
- package/dist/components/Typography.js +84 -81
- package/dist/components/Typography.js.map +1 -1
- package/dist/components/VirtualList.d.ts +2 -1
- package/dist/components/VirtualList.js +40 -36
- package/dist/components/VirtualList.js.map +1 -1
- package/dist/components/Watermark.d.ts +1 -0
- package/dist/components/Watermark.js +74 -71
- package/dist/components/Watermark.js.map +1 -1
- package/dist/components/WeekCalendar.d.ts +1 -0
- package/dist/components/WeekCalendar.js +91 -76
- package/dist/components/WeekCalendar.js.map +1 -1
- package/dist/components/Window.d.ts +3 -2
- package/dist/components/Window.js +9 -7
- package/dist/components/Window.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QRCode.js","sources":["../../src/components/QRCode.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport QRCodeLib from 'qrcode'\nimport { useTheme } from '../hooks/useTheme'\n\n// DaisyUI classes\nconst dLoading = 'loading'\nconst dLoadingSpinner = 'loading-spinner'\nconst dLoadingLg = 'loading-lg'\nconst dBtn = 'btn'\nconst dBtnSm = 'btn-sm'\nconst dBtnPrimary = 'btn-primary'\n\nexport type QRCodeErrorLevel = 'L' | 'M' | 'Q' | 'H'\nexport type QRCodeType = 'canvas' | 'svg'\nexport type QRCodeStatus = 'active' | 'loading' | 'expired'\n\nexport interface QRCodeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: string\n size?: number\n errorLevel?: QRCodeErrorLevel\n icon?: string\n iconSize?: number\n type?: QRCodeType\n color?: string\n bgColor?: string\n bordered?: boolean\n status?: QRCodeStatus\n onRefresh?: () => void\n}\n\nexport const QRCode: React.FC<QRCodeProps> = ({\n value,\n size = 160,\n errorLevel = 'M',\n icon,\n iconSize = 40,\n type = 'canvas',\n color,\n bgColor,\n bordered = true,\n status = 'active',\n onRefresh,\n className = '',\n ...rest\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null)\n const { colors } = useTheme()\n\n // Theme-aware default colors from DaisyUI CSS variables\n const effectiveColor = color ?? colors.foreground\n const effectiveBgColor = bgColor ?? colors.background\n\n useEffect(() => {\n if (status !== 'active' || !value || type !== 'canvas') return\n\n const generateQRCode = async () => {\n if (!canvasRef.current) return\n\n try {\n await QRCodeLib.toCanvas(canvasRef.current, value, {\n width: size,\n margin: 1,\n color: {\n dark: effectiveColor,\n light: effectiveBgColor,\n },\n errorCorrectionLevel: errorLevel,\n })\n\n if (icon && canvasRef.current) {\n const canvas = canvasRef.current\n const ctx = canvas.getContext('2d')\n if (ctx) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.onload = () => {\n const iconX = (size - iconSize) / 2\n const iconY = (size - iconSize) / 2\n ctx.fillStyle = effectiveBgColor\n ctx.fillRect(iconX - 4, iconY - 4, iconSize + 8, iconSize + 8)\n ctx.drawImage(img, iconX, iconY, iconSize, iconSize)\n }\n img.src = icon\n }\n }\n } catch (error) {\n console.error('QR Code generation error:', error)\n }\n }\n\n generateQRCode()\n }, [value, size, errorLevel, icon, iconSize, type, effectiveColor, effectiveBgColor, status])\n\n // Download functionality can be implemented by consumers\n // by accessing the canvas ref and converting to data URL\n\n const containerClasses = [\n 'inline-flex items-center justify-center',\n bordered && 'border border-base-content/20 p-3',\n 'bg-base-100',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n if (status === 'loading') {\n return (\n <div
|
|
1
|
+
{"version":3,"file":"QRCode.js","sources":["../../src/components/QRCode.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport QRCodeLib from 'qrcode'\nimport { useTheme } from '../hooks/useTheme'\n\n// DaisyUI classes\nconst dLoading = 'loading'\nconst dLoadingSpinner = 'loading-spinner'\nconst dLoadingLg = 'loading-lg'\nconst dBtn = 'btn'\nconst dBtnSm = 'btn-sm'\nconst dBtnPrimary = 'btn-primary'\n\nexport type QRCodeErrorLevel = 'L' | 'M' | 'Q' | 'H'\nexport type QRCodeType = 'canvas' | 'svg'\nexport type QRCodeStatus = 'active' | 'loading' | 'expired'\n\nexport interface QRCodeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: string\n size?: number\n errorLevel?: QRCodeErrorLevel\n icon?: string\n iconSize?: number\n type?: QRCodeType\n color?: string\n bgColor?: string\n bordered?: boolean\n status?: QRCodeStatus\n onRefresh?: () => void\n 'data-testid'?: string\n}\n\nexport const QRCode: React.FC<QRCodeProps> = ({\n value,\n size = 160,\n errorLevel = 'M',\n icon,\n iconSize = 40,\n type = 'canvas',\n color,\n bgColor,\n bordered = true,\n status = 'active',\n onRefresh,\n className = '',\n 'data-testid': testId,\n ...rest\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null)\n const { colors } = useTheme()\n\n // Theme-aware default colors from DaisyUI CSS variables\n const effectiveColor = color ?? colors.foreground\n const effectiveBgColor = bgColor ?? colors.background\n\n useEffect(() => {\n if (status !== 'active' || !value || type !== 'canvas') return\n\n const generateQRCode = async () => {\n if (!canvasRef.current) return\n\n try {\n await QRCodeLib.toCanvas(canvasRef.current, value, {\n width: size,\n margin: 1,\n color: {\n dark: effectiveColor,\n light: effectiveBgColor,\n },\n errorCorrectionLevel: errorLevel,\n })\n\n if (icon && canvasRef.current) {\n const canvas = canvasRef.current\n const ctx = canvas.getContext('2d')\n if (ctx) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.onload = () => {\n const iconX = (size - iconSize) / 2\n const iconY = (size - iconSize) / 2\n ctx.fillStyle = effectiveBgColor\n ctx.fillRect(iconX - 4, iconY - 4, iconSize + 8, iconSize + 8)\n ctx.drawImage(img, iconX, iconY, iconSize, iconSize)\n }\n img.src = icon\n }\n }\n } catch (error) {\n console.error('QR Code generation error:', error)\n }\n }\n\n generateQRCode()\n }, [value, size, errorLevel, icon, iconSize, type, effectiveColor, effectiveBgColor, status])\n\n // Download functionality can be implemented by consumers\n // by accessing the canvas ref and converting to data URL\n\n const containerClasses = [\n 'inline-flex items-center justify-center',\n bordered && 'border border-base-content/20 p-3',\n 'bg-base-100',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n const getTestId = (suffix: string) => (testId ? `${testId}-${suffix}` : undefined)\n\n if (status === 'loading') {\n return (\n <div\n className={containerClasses}\n style={{ width: size + (bordered ? 24 : 0), height: size + (bordered ? 24 : 0) }}\n data-state=\"loading\"\n data-testid={testId}\n {...rest}\n >\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <span className={`${dLoading} ${dLoadingSpinner} ${dLoadingLg}`}></span>\n <span className=\"text-sm text-base-content/70\" data-testid={getTestId('loading-text')}>Loading...</span>\n </div>\n </div>\n )\n }\n\n if (status === 'expired') {\n return (\n <div\n className={containerClasses}\n style={{ width: size + (bordered ? 24 : 0), height: size + (bordered ? 24 : 0) }}\n data-state=\"expired\"\n data-testid={testId}\n {...rest}\n >\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <svg className=\"w-12 h-12 text-base-content/30\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span className=\"text-sm text-base-content/70\" data-testid={getTestId('expired-text')}>QR Code Expired</span>\n {onRefresh && (\n <button\n className={`${dBtn} ${dBtnSm} ${dBtnPrimary}`}\n onClick={onRefresh}\n data-testid={getTestId('refresh')}\n >\n Refresh\n </button>\n )}\n </div>\n </div>\n )\n }\n\n if (type === 'canvas') {\n return (\n <div className=\"inline-block\" data-state=\"active\" data-testid={testId} {...rest}>\n <div className={containerClasses}>\n <canvas ref={canvasRef} style={{ display: 'block' }} data-testid={getTestId('canvas')} />\n </div>\n </div>\n )\n }\n\n return (\n <div className=\"inline-block\" data-state=\"active\" data-testid={testId} {...rest}>\n <div className={containerClasses}>\n <div style={{ width: size, height: size }} className=\"bg-base-content/5\" data-testid={getTestId('svg')}>\n <span className=\"text-xs text-base-content/50\">SVG mode placeholder</span>\n </div>\n </div>\n </div>\n )\n}\n\nQRCode.displayName = 'QRCode'\n\nexport default QRCode\n"],"names":["dLoading","dLoadingSpinner","dLoadingLg","dBtn","dBtnSm","dBtnPrimary","QRCode","value","size","errorLevel","icon","iconSize","type","color","bgColor","bordered","status","onRefresh","className","testId","rest","canvasRef","useRef","colors","useTheme","effectiveColor","effectiveBgColor","useEffect","QRCodeLib","ctx","img","iconX","iconY","error","containerClasses","getTestId","suffix","jsx","jsxs"],"mappings":"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"}
|
|
@@ -6,5 +6,6 @@ export interface RadialProgressProps extends Omit<React.HTMLAttributes<HTMLDivEl
|
|
|
6
6
|
color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'neutral';
|
|
7
7
|
showValue?: boolean;
|
|
8
8
|
children?: React.ReactNode;
|
|
9
|
+
'data-testid'?: string;
|
|
9
10
|
}
|
|
10
11
|
export declare const RadialProgress: React.FC<RadialProgressProps>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
const
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
2
|
+
const f = "radial-progress", m = "--value", y = "--size", g = "--thickness", v = {
|
|
3
3
|
primary: "text-primary",
|
|
4
4
|
secondary: "text-secondary",
|
|
5
5
|
accent: "text-accent",
|
|
@@ -8,41 +8,43 @@ const p = "radial-progress", f = "--value", m = "--size", y = "--thickness", g =
|
|
|
8
8
|
error: "text-error",
|
|
9
9
|
info: "text-info",
|
|
10
10
|
neutral: "text-neutral"
|
|
11
|
-
},
|
|
12
|
-
value:
|
|
11
|
+
}, b = ({
|
|
12
|
+
value: r,
|
|
13
13
|
size: e,
|
|
14
14
|
thickness: s,
|
|
15
|
-
color:
|
|
15
|
+
color: a,
|
|
16
16
|
showValue: i = !0,
|
|
17
|
-
children:
|
|
17
|
+
children: o,
|
|
18
18
|
className: n = "",
|
|
19
19
|
style: c,
|
|
20
|
+
"data-testid": d,
|
|
20
21
|
...l
|
|
21
22
|
}) => {
|
|
22
23
|
const u = () => {
|
|
23
|
-
const
|
|
24
|
-
return
|
|
25
|
-
},
|
|
26
|
-
const
|
|
27
|
-
[
|
|
24
|
+
const t = [f];
|
|
25
|
+
return a && t.push(v[a]), n && t.push(n), t.join(" ");
|
|
26
|
+
}, x = () => {
|
|
27
|
+
const t = {
|
|
28
|
+
[m]: r
|
|
28
29
|
};
|
|
29
|
-
return e !== void 0 && (
|
|
30
|
+
return e !== void 0 && (t[y] = typeof e == "number" ? `${e}rem` : e), s !== void 0 && (t[g] = typeof s == "number" ? `${s}px` : s), t;
|
|
30
31
|
};
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
+
return /* @__PURE__ */ p(
|
|
32
33
|
"div",
|
|
33
34
|
{
|
|
34
35
|
className: u(),
|
|
35
|
-
style: { ...
|
|
36
|
+
style: { ...x(), ...c },
|
|
36
37
|
role: "progressbar",
|
|
37
|
-
"aria-valuenow":
|
|
38
|
+
"aria-valuenow": r,
|
|
38
39
|
"aria-valuemin": 0,
|
|
39
40
|
"aria-valuemax": 100,
|
|
41
|
+
"data-testid": d,
|
|
40
42
|
...l,
|
|
41
|
-
children:
|
|
43
|
+
children: o !== void 0 ? o : i ? `${r}%` : null
|
|
42
44
|
}
|
|
43
45
|
);
|
|
44
46
|
};
|
|
45
47
|
export {
|
|
46
|
-
|
|
48
|
+
b as RadialProgress
|
|
47
49
|
};
|
|
48
50
|
//# sourceMappingURL=RadialProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialProgress.js","sources":["../../src/components/RadialProgress.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dRadialProgress = 'radial-progress'\nconst dCssValue = '--value'\nconst dCssSize = '--size'\nconst dCssThickness = '--thickness'\n\nexport interface RadialProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: number\n size?: string | number\n thickness?: string | number\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'neutral'\n showValue?: boolean\n children?: React.ReactNode\n}\n\nconst colorClasses = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n info: 'text-info',\n neutral: 'text-neutral',\n} as const\n\nexport const RadialProgress: React.FC<RadialProgressProps> = ({\n value,\n size,\n thickness,\n color,\n showValue = true,\n children,\n className = '',\n style,\n ...rest\n}) => {\n const getClasses = () => {\n const classes = [dRadialProgress]\n\n if (color) {\n classes.push(colorClasses[color])\n }\n\n if (className) {\n classes.push(className)\n }\n\n return classes.join(' ')\n }\n\n const getStyle = (): React.CSSProperties => {\n const style: Record<string, string | number> = {\n [dCssValue]: value,\n }\n\n if (size !== undefined) {\n style[dCssSize] = typeof size === 'number' ? `${size}rem` : size\n }\n\n if (thickness !== undefined) {\n style[dCssThickness] = typeof thickness === 'number' ? `${thickness}px` : thickness\n }\n\n return style as React.CSSProperties\n }\n\n return (\n <div\n className={getClasses()}\n style={{ ...getStyle(), ...style }}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={100}\n {...rest}\n >\n {children !== undefined ? children : showValue ? `${value}%` : null}\n </div>\n )\n}\n"],"names":["dRadialProgress","dCssValue","dCssSize","dCssThickness","colorClasses","RadialProgress","value","size","thickness","color","showValue","children","className","style","rest","getClasses","classes","getStyle","jsx"],"mappings":";AAGA,MAAMA,IAAkB,mBAClBC,IAAY,WACZC,IAAW,UACXC,IAAgB,
|
|
1
|
+
{"version":3,"file":"RadialProgress.js","sources":["../../src/components/RadialProgress.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dRadialProgress = 'radial-progress'\nconst dCssValue = '--value'\nconst dCssSize = '--size'\nconst dCssThickness = '--thickness'\n\nexport interface RadialProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {\n value: number\n size?: string | number\n thickness?: string | number\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'neutral'\n showValue?: boolean\n children?: React.ReactNode\n 'data-testid'?: string\n}\n\nconst colorClasses = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n info: 'text-info',\n neutral: 'text-neutral',\n} as const\n\nexport const RadialProgress: React.FC<RadialProgressProps> = ({\n value,\n size,\n thickness,\n color,\n showValue = true,\n children,\n className = '',\n style,\n 'data-testid': testId,\n ...rest\n}) => {\n const getClasses = () => {\n const classes = [dRadialProgress]\n\n if (color) {\n classes.push(colorClasses[color])\n }\n\n if (className) {\n classes.push(className)\n }\n\n return classes.join(' ')\n }\n\n const getStyle = (): React.CSSProperties => {\n const style: Record<string, string | number> = {\n [dCssValue]: value,\n }\n\n if (size !== undefined) {\n style[dCssSize] = typeof size === 'number' ? `${size}rem` : size\n }\n\n if (thickness !== undefined) {\n style[dCssThickness] = typeof thickness === 'number' ? `${thickness}px` : thickness\n }\n\n return style as React.CSSProperties\n }\n\n return (\n <div\n className={getClasses()}\n style={{ ...getStyle(), ...style }}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={100}\n data-testid={testId}\n {...rest}\n >\n {children !== undefined ? children : showValue ? `${value}%` : null}\n </div>\n )\n}\n"],"names":["dRadialProgress","dCssValue","dCssSize","dCssThickness","colorClasses","RadialProgress","value","size","thickness","color","showValue","children","className","style","testId","rest","getClasses","classes","getStyle","jsx"],"mappings":";AAGA,MAAMA,IAAkB,mBAClBC,IAAY,WACZC,IAAW,UACXC,IAAgB,eAYhBC,IAAe;AAAA,EACnB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AACX,GAEaC,IAAgD,CAAC;AAAA,EAC5D,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,eAAeC;AAAA,EACf,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAa,MAAM;AACvB,UAAMC,IAAU,CAACjB,CAAe;AAEhC,WAAIS,KACFQ,EAAQ,KAAKb,EAAaK,CAAK,CAAC,GAG9BG,KACFK,EAAQ,KAAKL,CAAS,GAGjBK,EAAQ,KAAK,GAAG;AAAA,EACzB,GAEMC,IAAW,MAA2B;AAC1C,UAAML,IAAyC;AAAA,MAC7C,CAACZ,CAAS,GAAGK;AAAA,IAAA;AAGf,WAAIC,MAAS,WACXM,EAAMX,CAAQ,IAAI,OAAOK,KAAS,WAAW,GAAGA,CAAI,QAAQA,IAG1DC,MAAc,WAChBK,EAAMV,CAAa,IAAI,OAAOK,KAAc,WAAW,GAAGA,CAAS,OAAOA,IAGrEK;AAAAA,EACT;AAEA,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH,EAAA;AAAA,MACX,OAAO,EAAE,GAAGE,EAAA,GAAY,GAAGL,EAAA;AAAA,MAC3B,MAAK;AAAA,MACL,iBAAeP;AAAA,MACf,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,eAAaQ;AAAA,MACZ,GAAGC;AAAA,MAEH,gBAAa,SAAYJ,IAAWD,IAAY,GAAGJ,CAAK,MAAM;AAAA,IAAA;AAAA,EAAA;AAGrE;"}
|
|
@@ -4,6 +4,8 @@ export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
|
|
|
4
4
|
color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';
|
|
5
5
|
className?: string;
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
+
/** Test ID for testing */
|
|
8
|
+
'data-testid'?: string;
|
|
7
9
|
}
|
|
8
10
|
export interface RadioGroupChangeEvent {
|
|
9
11
|
target: {
|
|
@@ -11,15 +13,16 @@ export interface RadioGroupChangeEvent {
|
|
|
11
13
|
name?: string;
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
|
-
export interface RadioGroupProps {
|
|
16
|
+
export interface RadioGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
15
17
|
children: React.ReactNode;
|
|
16
18
|
value?: string | number;
|
|
17
19
|
defaultValue?: string | number;
|
|
18
20
|
onChange?: (e: RadioGroupChangeEvent) => void;
|
|
19
21
|
name?: string;
|
|
20
|
-
|
|
22
|
+
/** Test ID for testing */
|
|
23
|
+
'data-testid'?: string;
|
|
21
24
|
}
|
|
22
|
-
declare function RadioGroup({ children, value, defaultValue, onChange, name, className }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
declare function RadioGroup({ children, value, defaultValue, onChange, name, className, 'data-testid': testId, ...rest }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
23
26
|
export declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>> & {
|
|
24
27
|
Group: typeof RadioGroup;
|
|
25
28
|
};
|
package/dist/components/Radio.js
CHANGED
|
@@ -2,15 +2,15 @@ import { jsx as t, jsxs as z } from "react/jsx-runtime";
|
|
|
2
2
|
import b, { forwardRef as G, useContext as V, createContext as v } from "react";
|
|
3
3
|
import { useConfig as w } from "../providers/ConfigProvider.js";
|
|
4
4
|
const I = "radio", P = "radio-xs", X = "radio-sm", A = "radio-md", B = "radio-lg", E = "radio-xl", L = "radio-neutral", M = "radio-primary", O = "radio-secondary", W = "radio-accent", $ = "radio-info", q = "radio-success", D = "radio-warning", F = "radio-error", g = v(null);
|
|
5
|
-
function H({ children:
|
|
6
|
-
const [
|
|
7
|
-
n === void 0 &&
|
|
5
|
+
function H({ children: d, value: n, defaultValue: i, onChange: o, name: e, className: c = "", "data-testid": l, ...s }) {
|
|
6
|
+
const [m, u] = b.useState(i), p = n !== void 0 ? n : m, r = (a) => {
|
|
7
|
+
n === void 0 && u(a), o?.({ target: { value: a, name: e } });
|
|
8
8
|
};
|
|
9
|
-
return /* @__PURE__ */ t(g.Provider, { value: { value:
|
|
9
|
+
return /* @__PURE__ */ t(g.Provider, { value: { value: p, onChange: r, name: e }, children: /* @__PURE__ */ t("div", { role: "radiogroup", className: c, "data-testid": l, ...s, children: d }) });
|
|
10
10
|
}
|
|
11
11
|
const h = G(
|
|
12
|
-
({ size:
|
|
13
|
-
const { componentSize:
|
|
12
|
+
({ size: d, color: n, className: i = "", value: o, checked: e, onChange: c, name: l, children: s, ...m }, u) => {
|
|
13
|
+
const { componentSize: p } = w(), r = d ?? p ?? "md", a = V(g), C = {
|
|
14
14
|
xs: P,
|
|
15
15
|
sm: X,
|
|
16
16
|
md: A,
|
|
@@ -25,7 +25,7 @@ const h = G(
|
|
|
25
25
|
success: q,
|
|
26
26
|
warning: D,
|
|
27
27
|
error: F
|
|
28
|
-
}, y = [I,
|
|
28
|
+
}, y = [I, r && C[r], n && x[n]].filter(Boolean).join(" "), R = a ? a.value === o : e, S = (N) => {
|
|
29
29
|
if (a && o !== void 0) {
|
|
30
30
|
const j = typeof o == "string" || typeof o == "number" ? o : String(o);
|
|
31
31
|
a.onChange?.(j);
|
|
@@ -45,9 +45,9 @@ const h = G(
|
|
|
45
45
|
...m
|
|
46
46
|
}
|
|
47
47
|
);
|
|
48
|
-
return
|
|
48
|
+
return s ? /* @__PURE__ */ z("label", { className: `flex items-center gap-2 cursor-pointer ${i}`, children: [
|
|
49
49
|
/* @__PURE__ */ t("span", { className: "flex-shrink-0", children: f }),
|
|
50
|
-
/* @__PURE__ */ t("span", { children:
|
|
50
|
+
/* @__PURE__ */ t("span", { children: s })
|
|
51
51
|
] }) : f;
|
|
52
52
|
}
|
|
53
53
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../src/components/Radio.tsx"],"sourcesContent":["import React, { forwardRef, createContext, useContext } from 'react'\nimport { useConfig } from '../providers/ConfigProvider'\n\n// DaisyUI classes\nconst dRadio = 'radio'\nconst dRadioXs = 'radio-xs'\nconst dRadioSm = 'radio-sm'\nconst dRadioMd = 'radio-md'\nconst dRadioLg = 'radio-lg'\nconst dRadioXl = 'radio-xl'\nconst dRadioNeutral = 'radio-neutral'\nconst dRadioPrimary = 'radio-primary'\nconst dRadioSecondary = 'radio-secondary'\nconst dRadioAccent = 'radio-accent'\nconst dRadioInfo = 'radio-info'\nconst dRadioSuccess = 'radio-success'\nconst dRadioWarning = 'radio-warning'\nconst dRadioError = 'radio-error'\n\nexport interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n className?: string\n children?: React.ReactNode\n}\n\nexport interface RadioGroupChangeEvent {\n target: {\n value: string | number\n name?: string\n }\n}\n\nexport interface RadioGroupProps {\n children: React.ReactNode\n value?: string | number\n defaultValue?: string | number\n onChange?: (e: RadioGroupChangeEvent) => void\n name?: string\n
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../src/components/Radio.tsx"],"sourcesContent":["import React, { forwardRef, createContext, useContext } from 'react'\nimport { useConfig } from '../providers/ConfigProvider'\n\n// DaisyUI classes\nconst dRadio = 'radio'\nconst dRadioXs = 'radio-xs'\nconst dRadioSm = 'radio-sm'\nconst dRadioMd = 'radio-md'\nconst dRadioLg = 'radio-lg'\nconst dRadioXl = 'radio-xl'\nconst dRadioNeutral = 'radio-neutral'\nconst dRadioPrimary = 'radio-primary'\nconst dRadioSecondary = 'radio-secondary'\nconst dRadioAccent = 'radio-accent'\nconst dRadioInfo = 'radio-info'\nconst dRadioSuccess = 'radio-success'\nconst dRadioWarning = 'radio-warning'\nconst dRadioError = 'radio-error'\n\nexport interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n className?: string\n children?: React.ReactNode\n /** Test ID for testing */\n 'data-testid'?: string\n}\n\nexport interface RadioGroupChangeEvent {\n target: {\n value: string | number\n name?: string\n }\n}\n\nexport interface RadioGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n children: React.ReactNode\n value?: string | number\n defaultValue?: string | number\n onChange?: (e: RadioGroupChangeEvent) => void\n name?: string\n /** Test ID for testing */\n 'data-testid'?: string\n}\n\ninterface RadioGroupContextValue {\n value?: string | number\n onChange?: (value: string | number) => void\n name?: string\n}\n\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null)\n\nfunction RadioGroup({ children, value, defaultValue, onChange, name, className = '', 'data-testid': testId, ...rest }: RadioGroupProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue)\n const currentValue = value !== undefined ? value : internalValue\n\n const handleChange = (newValue: string | number) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.({ target: { value: newValue, name } })\n }\n\n return (\n <RadioGroupContext.Provider value={{ value: currentValue, onChange: handleChange, name }}>\n <div role=\"radiogroup\" className={className} data-testid={testId} {...rest}>{children}</div>\n </RadioGroupContext.Provider>\n )\n}\n\nconst RadioRoot = forwardRef<HTMLInputElement, RadioProps>(\n ({ size, color, className = '', value, checked, onChange, name: nameProp, children, ...props }, ref) => {\n const { componentSize } = useConfig()\n const effectiveSize = size ?? componentSize ?? 'md'\n const groupContext = useContext(RadioGroupContext)\n\n const sizeClasses = {\n xs: dRadioXs,\n sm: dRadioSm,\n md: dRadioMd,\n lg: dRadioLg,\n xl: dRadioXl,\n }\n\n const colorClasses = {\n neutral: dRadioNeutral,\n primary: dRadioPrimary,\n secondary: dRadioSecondary,\n accent: dRadioAccent,\n info: dRadioInfo,\n success: dRadioSuccess,\n warning: dRadioWarning,\n error: dRadioError,\n }\n\n const radioClasses = [dRadio, effectiveSize && sizeClasses[effectiveSize], color && colorClasses[color]]\n .filter(Boolean)\n .join(' ')\n\n // If in a group, use group's value and onChange\n const isChecked = groupContext ? groupContext.value === value : checked\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (groupContext && value !== undefined) {\n const normalizedValue = typeof value === 'string' || typeof value === 'number' ? value : String(value)\n groupContext.onChange?.(normalizedValue)\n }\n onChange?.(e)\n }\n const name = groupContext?.name || nameProp\n\n const dataState = isChecked ? 'checked' : 'unchecked'\n\n const input = (\n <input\n ref={ref}\n type=\"radio\"\n className={radioClasses}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n name={name}\n data-state={dataState}\n {...props}\n />\n )\n\n // If children are provided, wrap in a label\n if (children) {\n return (\n <label className={`flex items-center gap-2 cursor-pointer ${className}`}>\n <span className=\"flex-shrink-0\">{input}</span>\n <span>{children}</span>\n </label>\n )\n }\n\n return input\n }\n)\n\nRadioRoot.displayName = 'Radio'\n\nexport const Radio = Object.assign(RadioRoot, {\n Group: RadioGroup,\n})\n"],"names":["dRadio","dRadioXs","dRadioSm","dRadioMd","dRadioLg","dRadioXl","dRadioNeutral","dRadioPrimary","dRadioSecondary","dRadioAccent","dRadioInfo","dRadioSuccess","dRadioWarning","dRadioError","RadioGroupContext","createContext","RadioGroup","children","value","defaultValue","onChange","name","className","testId","rest","internalValue","setInternalValue","React","currentValue","handleChange","newValue","jsx","RadioRoot","forwardRef","size","color","checked","nameProp","props","ref","componentSize","useConfig","effectiveSize","groupContext","useContext","sizeClasses","colorClasses","radioClasses","isChecked","e","normalizedValue","input","jsxs","Radio"],"mappings":"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"}
|
package/dist/components/Range.js
CHANGED
|
@@ -1,57 +1,59 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useConfig as
|
|
4
|
-
const
|
|
5
|
-
value:
|
|
6
|
-
defaultValue:
|
|
7
|
-
onChange:
|
|
8
|
-
min:
|
|
9
|
-
max:
|
|
10
|
-
step:
|
|
11
|
-
size:
|
|
12
|
-
color:
|
|
13
|
-
disabled:
|
|
14
|
-
showValue:
|
|
15
|
-
showSteps:
|
|
16
|
-
className:
|
|
1
|
+
import { jsxs as b, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useState as j } from "react";
|
|
3
|
+
import { useConfig as A } from "../providers/ConfigProvider.js";
|
|
4
|
+
const M = "range", X = "range-xs", E = "range-sm", F = "range-md", I = "range-lg", L = "range-xl", P = "range-primary", T = "range-secondary", W = "range-accent", _ = "range-success", k = "range-warning", q = "range-info", B = "range-error", J = ({
|
|
5
|
+
value: s,
|
|
6
|
+
defaultValue: f = 50,
|
|
7
|
+
onChange: u,
|
|
8
|
+
min: r = 0,
|
|
9
|
+
max: d = 100,
|
|
10
|
+
step: o = 1,
|
|
11
|
+
size: p,
|
|
12
|
+
color: g,
|
|
13
|
+
disabled: x = !1,
|
|
14
|
+
showValue: R = !1,
|
|
15
|
+
showSteps: i = !1,
|
|
16
|
+
className: h = "",
|
|
17
|
+
"data-testid": c
|
|
17
18
|
}) => {
|
|
18
|
-
const { componentSize:
|
|
19
|
+
const { componentSize: y } = A(), v = p ?? y ?? "md", [C, $] = j(f), l = s !== void 0 ? s : C, S = (e) => {
|
|
19
20
|
const n = parseFloat(e.target.value);
|
|
20
|
-
|
|
21
|
-
}, S = {
|
|
22
|
-
xs: A,
|
|
23
|
-
sm: I,
|
|
24
|
-
md: M,
|
|
25
|
-
lg: X,
|
|
26
|
-
xl: E
|
|
21
|
+
s === void 0 && $(n), u?.(n);
|
|
27
22
|
}, w = {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
23
|
+
xs: X,
|
|
24
|
+
sm: E,
|
|
25
|
+
md: F,
|
|
26
|
+
lg: I,
|
|
27
|
+
xl: L
|
|
28
|
+
}, z = {
|
|
29
|
+
primary: P,
|
|
30
|
+
secondary: T,
|
|
31
|
+
accent: W,
|
|
32
|
+
success: _,
|
|
33
|
+
warning: k,
|
|
34
|
+
info: q,
|
|
35
|
+
error: B
|
|
36
|
+
}, N = w[v], V = g ? z[g] : "", t = (e) => c ? `${c}-${e}` : void 0, m = i ? Array.from({ length: Math.floor((d - r) / o) + 1 }, (e, n) => r + n * o) : [];
|
|
37
|
+
return /* @__PURE__ */ b("div", { className: h, "data-testid": c, children: [
|
|
38
|
+
/* @__PURE__ */ a(
|
|
38
39
|
"input",
|
|
39
40
|
{
|
|
40
41
|
type: "range",
|
|
41
|
-
min:
|
|
42
|
-
max:
|
|
43
|
-
step:
|
|
42
|
+
min: r,
|
|
43
|
+
max: d,
|
|
44
|
+
step: o,
|
|
44
45
|
value: l,
|
|
45
|
-
onChange:
|
|
46
|
-
disabled:
|
|
47
|
-
className: `${
|
|
46
|
+
onChange: S,
|
|
47
|
+
disabled: x,
|
|
48
|
+
className: `${M} ${N} ${V}`,
|
|
49
|
+
"data-testid": t("input")
|
|
48
50
|
}
|
|
49
51
|
),
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
i && m.length > 0 && /* @__PURE__ */ a("div", { className: "w-full flex justify-between text-xs px-2 mt-2", "data-testid": t("steps"), children: m.map((e, n) => /* @__PURE__ */ a("span", { className: "text-base-content/60", "data-testid": t(`step-${n}`), children: "|" }, e)) }),
|
|
53
|
+
R && /* @__PURE__ */ a("div", { className: "text-center mt-2 text-sm font-medium text-base-content", "data-testid": t("value"), children: l })
|
|
52
54
|
] });
|
|
53
55
|
};
|
|
54
56
|
export {
|
|
55
|
-
|
|
57
|
+
J as Range
|
|
56
58
|
};
|
|
57
59
|
//# sourceMappingURL=Range.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","sources":["../../src/components/Range.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { useConfig } from '../providers/ConfigProvider'\n\n// DaisyUI classes\nconst dRange = 'range'\nconst dRangeXs = 'range-xs'\nconst dRangeSm = 'range-sm'\nconst dRangeMd = 'range-md'\nconst dRangeLg = 'range-lg'\nconst dRangeXl = 'range-xl'\nconst dRangePrimary = 'range-primary'\nconst dRangeSecondary = 'range-secondary'\nconst dRangeAccent = 'range-accent'\nconst dRangeSuccess = 'range-success'\nconst dRangeWarning = 'range-warning'\nconst dRangeInfo = 'range-info'\nconst dRangeError = 'range-error'\n\nexport interface RangeProps {\n value?: number\n defaultValue?: number\n onChange?: (value: number) => void\n min?: number\n max?: number\n step?: number\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error'\n disabled?: boolean\n showValue?: boolean\n showSteps?: boolean\n className?: string\n}\n\nexport const Range: React.FC<RangeProps> = ({\n value,\n defaultValue = 50,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n size,\n color,\n disabled = false,\n showValue = false,\n showSteps = false,\n className = '',\n}) => {\n const { componentSize } = useConfig()\n const effectiveSize = size ?? componentSize ?? 'md'\n const [internalValue, setInternalValue] = useState(defaultValue)\n const currentValue = value !== undefined ? value : internalValue\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = parseFloat(e.target.value)\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n }\n\n const sizeClasses = {\n xs: dRangeXs,\n sm: dRangeSm,\n md: dRangeMd,\n lg: dRangeLg,\n xl: dRangeXl,\n } as const\n\n const colorClasses = {\n primary: dRangePrimary,\n secondary: dRangeSecondary,\n accent: dRangeAccent,\n success: dRangeSuccess,\n warning: dRangeWarning,\n info: dRangeInfo,\n error: dRangeError,\n } as const\n\n const sizeClass = sizeClasses[effectiveSize]\n const colorClass = color ? colorClasses[color] : ''\n\n // Calculate steps for visual markers\n const steps = showSteps\n ? Array.from({ length: Math.floor((max - min) / step) + 1 }, (_, i) => min + i * step)\n : []\n\n return (\n <div className={className}>\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={currentValue}\n onChange={handleChange}\n disabled={disabled}\n className={`${dRange} ${sizeClass} ${colorClass}`}\n />\n {showSteps && steps.length > 0 && (\n <div className=\"w-full flex justify-between text-xs px-2 mt-2\">\n {steps.map((stepValue) => (\n <span key={stepValue} className=\"text-base-content/60\">\n |\n </span>\n ))}\n </div>\n )}\n {showValue && (\n <div className=\"text-center mt-2 text-sm font-medium text-base-content\">\n {currentValue}\n </div>\n )}\n </div>\n )\n}\n"],"names":["dRange","dRangeXs","dRangeSm","dRangeMd","dRangeLg","dRangeXl","dRangePrimary","dRangeSecondary","dRangeAccent","dRangeSuccess","dRangeWarning","dRangeInfo","dRangeError","Range","value","defaultValue","onChange","min","max","step","size","color","disabled","showValue","showSteps","className","componentSize","useConfig","effectiveSize","internalValue","setInternalValue","useState","currentValue","handleChange","newValue","sizeClasses","colorClasses","sizeClass","colorClass","steps","_","i","jsxs","jsx","stepValue"],"mappings":";;;AAIA,MAAMA,IAAS,SACTC,IAAW,YACXC,IAAW,YACXC,IAAW,YACXC,IAAW,YACXC,IAAW,YACXC,IAAgB,iBAChBC,IAAkB,mBAClBC,IAAe,gBACfC,IAAgB,iBAChBC,IAAgB,iBAChBC,IAAa,cACbC,IAAc,
|
|
1
|
+
{"version":3,"file":"Range.js","sources":["../../src/components/Range.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { useConfig } from '../providers/ConfigProvider'\n\n// DaisyUI classes\nconst dRange = 'range'\nconst dRangeXs = 'range-xs'\nconst dRangeSm = 'range-sm'\nconst dRangeMd = 'range-md'\nconst dRangeLg = 'range-lg'\nconst dRangeXl = 'range-xl'\nconst dRangePrimary = 'range-primary'\nconst dRangeSecondary = 'range-secondary'\nconst dRangeAccent = 'range-accent'\nconst dRangeSuccess = 'range-success'\nconst dRangeWarning = 'range-warning'\nconst dRangeInfo = 'range-info'\nconst dRangeError = 'range-error'\n\nexport interface RangeProps {\n value?: number\n defaultValue?: number\n onChange?: (value: number) => void\n min?: number\n max?: number\n step?: number\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error'\n disabled?: boolean\n showValue?: boolean\n showSteps?: boolean\n className?: string\n 'data-testid'?: string\n}\n\nexport const Range: React.FC<RangeProps> = ({\n value,\n defaultValue = 50,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n size,\n color,\n disabled = false,\n showValue = false,\n showSteps = false,\n className = '',\n 'data-testid': testId,\n}) => {\n const { componentSize } = useConfig()\n const effectiveSize = size ?? componentSize ?? 'md'\n const [internalValue, setInternalValue] = useState(defaultValue)\n const currentValue = value !== undefined ? value : internalValue\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = parseFloat(e.target.value)\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n }\n\n const sizeClasses = {\n xs: dRangeXs,\n sm: dRangeSm,\n md: dRangeMd,\n lg: dRangeLg,\n xl: dRangeXl,\n } as const\n\n const colorClasses = {\n primary: dRangePrimary,\n secondary: dRangeSecondary,\n accent: dRangeAccent,\n success: dRangeSuccess,\n warning: dRangeWarning,\n info: dRangeInfo,\n error: dRangeError,\n } as const\n\n const sizeClass = sizeClasses[effectiveSize]\n const colorClass = color ? colorClasses[color] : ''\n\n const getTestId = (suffix: string) => (testId ? `${testId}-${suffix}` : undefined)\n\n // Calculate steps for visual markers\n const steps = showSteps\n ? Array.from({ length: Math.floor((max - min) / step) + 1 }, (_, i) => min + i * step)\n : []\n\n return (\n <div className={className} data-testid={testId}>\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={currentValue}\n onChange={handleChange}\n disabled={disabled}\n className={`${dRange} ${sizeClass} ${colorClass}`}\n data-testid={getTestId('input')}\n />\n {showSteps && steps.length > 0 && (\n <div className=\"w-full flex justify-between text-xs px-2 mt-2\" data-testid={getTestId('steps')}>\n {steps.map((stepValue, index) => (\n <span key={stepValue} className=\"text-base-content/60\" data-testid={getTestId(`step-${index}`)}>\n |\n </span>\n ))}\n </div>\n )}\n {showValue && (\n <div className=\"text-center mt-2 text-sm font-medium text-base-content\" data-testid={getTestId('value')}>\n {currentValue}\n </div>\n )}\n </div>\n )\n}\n"],"names":["dRange","dRangeXs","dRangeSm","dRangeMd","dRangeLg","dRangeXl","dRangePrimary","dRangeSecondary","dRangeAccent","dRangeSuccess","dRangeWarning","dRangeInfo","dRangeError","Range","value","defaultValue","onChange","min","max","step","size","color","disabled","showValue","showSteps","className","testId","componentSize","useConfig","effectiveSize","internalValue","setInternalValue","useState","currentValue","handleChange","newValue","sizeClasses","colorClasses","sizeClass","colorClass","getTestId","suffix","steps","_","i","jsxs","jsx","stepValue","index"],"mappings":";;;AAIA,MAAMA,IAAS,SACTC,IAAW,YACXC,IAAW,YACXC,IAAW,YACXC,IAAW,YACXC,IAAW,YACXC,IAAgB,iBAChBC,IAAkB,mBAClBC,IAAe,gBACfC,IAAgB,iBAChBC,IAAgB,iBAChBC,IAAa,cACbC,IAAc,eAkBPC,IAA8B,CAAC;AAAA,EAC1C,OAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,KAAAC,IAAM;AAAA,EACN,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,eAAeC;AACjB,MAAM;AACJ,QAAM,EAAE,eAAAC,EAAA,IAAkBC,EAAA,GACpBC,IAAgBT,KAAQO,KAAiB,MACzC,CAACG,GAAeC,CAAgB,IAAIC,EAASjB,CAAY,GACzDkB,IAAenB,MAAU,SAAYA,IAAQgB,GAE7CI,IAAe,CAAC,MAA2C;AAC/D,UAAMC,IAAW,WAAW,EAAE,OAAO,KAAK;AAC1C,IAAIrB,MAAU,UACZiB,EAAiBI,CAAQ,GAE3BnB,IAAWmB,CAAQ;AAAA,EACrB,GAEMC,IAAc;AAAA,IAClB,IAAInC;AAAA,IACJ,IAAIC;AAAA,IACJ,IAAIC;AAAA,IACJ,IAAIC;AAAA,IACJ,IAAIC;AAAA,EAAA,GAGAgC,IAAe;AAAA,IACnB,SAAS/B;AAAA,IACT,WAAWC;AAAA,IACX,QAAQC;AAAA,IACR,SAASC;AAAA,IACT,SAASC;AAAA,IACT,MAAMC;AAAA,IACN,OAAOC;AAAA,EAAA,GAGH0B,IAAYF,EAAYP,CAAa,GACrCU,IAAalB,IAAQgB,EAAahB,CAAK,IAAI,IAE3CmB,IAAY,CAACC,MAAoBf,IAAS,GAAGA,CAAM,IAAIe,CAAM,KAAK,QAGlEC,IAAQlB,IACV,MAAM,KAAK,EAAE,QAAQ,KAAK,OAAON,IAAMD,KAAOE,CAAI,IAAI,EAAA,GAAK,CAACwB,GAAGC,MAAM3B,IAAM2B,IAAIzB,CAAI,IACnF,CAAA;AAEJ,SACE,gBAAA0B,EAAC,OAAA,EAAI,WAAApB,GAAsB,eAAaC,GACtC,UAAA;AAAA,IAAA,gBAAAoB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAA7B;AAAA,QACA,KAAAC;AAAA,QACA,MAAAC;AAAA,QACA,OAAOc;AAAA,QACP,UAAUC;AAAA,QACV,UAAAZ;AAAA,QACA,WAAW,GAAGtB,CAAM,IAAIsC,CAAS,IAAIC,CAAU;AAAA,QAC/C,eAAaC,EAAU,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,IAE/BhB,KAAakB,EAAM,SAAS,KAC3B,gBAAAI,EAAC,OAAA,EAAI,WAAU,iDAAgD,eAAaN,EAAU,OAAO,GAC1F,YAAM,IAAI,CAACO,GAAWC,MACrB,gBAAAF,EAAC,QAAA,EAAqB,WAAU,wBAAuB,eAAaN,EAAU,QAAQQ,CAAK,EAAE,GAAG,UAAA,IAAA,GAArFD,CAEX,CACD,GACH;AAAA,IAEDxB,uBACE,OAAA,EAAI,WAAU,0DAAyD,eAAaiB,EAAU,OAAO,GACnG,UAAAP,EAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -13,6 +13,7 @@ export interface RatingProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
|
|
|
13
13
|
allowClear?: boolean;
|
|
14
14
|
allowHalf?: boolean;
|
|
15
15
|
disabled?: boolean;
|
|
16
|
+
'data-testid'?: string;
|
|
16
17
|
}
|
|
17
18
|
export interface RatingItemProps {
|
|
18
19
|
value: number;
|
|
@@ -21,9 +22,10 @@ export interface RatingItemProps {
|
|
|
21
22
|
hidden?: boolean;
|
|
22
23
|
half?: 'first' | 'second';
|
|
23
24
|
className?: string;
|
|
25
|
+
'data-testid'?: string;
|
|
24
26
|
}
|
|
25
|
-
declare function RatingRoot({ children, value, defaultValue, onChange, onHoverChange, count, size, gap, color, mask, allowClear, allowHalf, disabled, className, ...rest }: RatingProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
-
declare function RatingItem({ value, mask, color, hidden, half, className }: RatingItemProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function RatingRoot({ children, value, defaultValue, onChange, onHoverChange, count, size, gap, color, mask, allowClear, allowHalf, disabled, className, 'data-testid': testId, ...rest }: RatingProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function RatingItem({ value, mask, color, hidden, half, className, 'data-testid': testId }: RatingItemProps): import("react/jsx-runtime").JSX.Element;
|
|
27
29
|
export declare const Rating: typeof RatingRoot & {
|
|
28
30
|
Item: typeof RatingItem;
|
|
29
31
|
};
|