@customafk/lunas-ui 0.0.65 → 0.0.67
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/{button-st5plaQt.d.cts → button-NPRxTW9Y.d.cts} +6 -6
- package/dist/{button-DUWg-QPz.d.ts → button-ld6DUDGr.d.ts} +4 -4
- package/dist/cards/grid-product-card.cjs +1 -1
- package/dist/cards/grid-product-card.js +1 -1
- package/dist/cards/product-card.cjs +1 -1
- package/dist/cards/product-card.js +1 -1
- package/dist/cards/simple-card.d.cts +2 -2
- package/dist/{command-zikueR7l.d.ts → command-BL20khiI.d.ts} +12 -12
- package/dist/{command-CL9pytMx.d.cts → command-CgW_wSCe.d.cts} +12 -12
- package/dist/data-display/empty.d.cts +2 -2
- package/dist/data-display/empty.d.ts +2 -2
- package/dist/data-display/statistic.d.cts +2 -2
- package/dist/data-display/statistic.d.ts +2 -2
- package/dist/{dialog-Dease_8R.d.ts → dialog-BfrTUQrJ.d.ts} +12 -12
- package/dist/{dialog-oAOedasX.d.cts → dialog-CTwMjrks.d.cts} +12 -12
- package/dist/dialogs/detail-dialog/component/sidebar.d.cts +30 -30
- package/dist/dialogs/detail-dialog/component/sidebar.d.ts +28 -28
- package/dist/dialogs/form-dialog.d.cts +2 -2
- package/dist/dialogs/form-dialog.d.ts +2 -2
- package/dist/forms/combobox-field.d.cts +2 -2
- package/dist/forms/combobox-field.d.ts +2 -2
- package/dist/forms/date-field.d.cts +2 -2
- package/dist/forms/date-field.d.ts +2 -2
- package/dist/forms/form-wrapper.d.cts +2 -2
- package/dist/forms/form-wrapper.d.ts +2 -2
- package/dist/forms/multi-select-field.d.cts +2 -2
- package/dist/forms/multi-select-field.d.ts +2 -2
- package/dist/forms/number-field.d.cts +2 -2
- package/dist/forms/number-field.d.ts +2 -2
- package/dist/forms/password-field.cjs +1 -1
- package/dist/forms/password-field.cjs.map +1 -1
- package/dist/forms/password-field.d.cts +2 -2
- package/dist/forms/password-field.d.ts +2 -2
- package/dist/forms/password-field.js +1 -1
- package/dist/forms/password-field.js.map +1 -1
- package/dist/forms/select-field.d.cts +2 -2
- package/dist/forms/switch-field.d.cts +2 -2
- package/dist/forms/switch-field.d.ts +2 -2
- package/dist/forms/text-field.d.cts +2 -2
- package/dist/forms/text-field.d.ts +2 -2
- package/dist/forms/textarea-field.d.cts +2 -2
- package/dist/forms/textarea-field.d.ts +2 -2
- package/dist/{image-Cm4vJeHx.cjs → image-D3D8dE6s.cjs} +2 -2
- package/dist/image-D3D8dE6s.cjs.map +1 -0
- package/dist/{image-BdTzYp1S.js → image-Dm3jT9QX.js} +2 -2
- package/dist/{image-BdTzYp1S.js.map → image-Dm3jT9QX.js.map} +1 -1
- package/dist/{input-DO3Z69kK.d.ts → input-CWzkJbaD.d.ts} +3 -3
- package/dist/{input-BXxtPvIa.d.cts → input-Dx2DxNMy.d.cts} +3 -3
- package/dist/layouts/app-layout/index.d.cts +28 -28
- package/dist/layouts/app-layout/index.d.ts +28 -28
- package/dist/layouts/flex.d.cts +4 -4
- package/dist/layouts/flex.d.ts +2 -2
- package/dist/layouts/service-layout/index.cjs +1 -1
- package/dist/layouts/service-layout/index.d.cts +15 -15
- package/dist/layouts/service-layout/index.d.ts +15 -15
- package/dist/layouts/service-layout/index.js +1 -1
- package/dist/{separator-CO0oTpOK.d.ts → separator-9s0ppov1.d.ts} +3 -3
- package/dist/{separator-B-TIckT4.d.cts → separator-ZGvcRkrl.d.cts} +3 -3
- package/dist/table/index.d.cts +2 -2
- package/dist/table/index.d.ts +2 -2
- package/dist/{toggle-BHyG321X.d.ts → toggle-DIRRdVOx.d.ts} +3 -3
- package/dist/{toggle-DdY6X9AI.d.cts → toggle-DpUG0EqP.d.cts} +5 -5
- package/dist/{tooltip-C0_WxGo5.d.cts → tooltip-BZDwRKZ6.d.cts} +6 -6
- package/dist/{tooltip-BURz5fQL.d.ts → tooltip-ChyvXWdm.d.ts} +6 -6
- package/dist/typography/paragraph.d.cts +2 -2
- package/dist/typography/paragraph.d.ts +2 -2
- package/dist/typography/title.d.cts +2 -2
- package/dist/typography/title.d.ts +2 -2
- package/dist/ui/alert-dialog.d.cts +12 -12
- package/dist/ui/alert-dialog.d.ts +12 -12
- package/dist/ui/alert.d.cts +4 -4
- package/dist/ui/alert.d.ts +4 -4
- package/dist/ui/aspect-ratio.d.cts +2 -2
- package/dist/ui/aspect-ratio.d.ts +2 -2
- package/dist/ui/avatar.d.cts +4 -4
- package/dist/ui/avatar.d.ts +4 -4
- package/dist/ui/badge.d.cts +2 -2
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/breadcrumb.d.cts +8 -8
- package/dist/ui/breadcrumb.d.ts +8 -8
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/calendar.d.cts +4 -4
- package/dist/ui/calendar.d.ts +4 -4
- package/dist/ui/card.d.cts +8 -8
- package/dist/ui/card.d.ts +8 -8
- package/dist/ui/carousel.d.cts +7 -7
- package/dist/ui/carousel.d.ts +7 -7
- package/dist/ui/collapsible.d.cts +4 -4
- package/dist/ui/collapsible.d.ts +4 -4
- package/dist/ui/command.d.cts +2 -2
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/context-menu.d.cts +16 -16
- package/dist/ui/context-menu.d.ts +16 -16
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dropdown-menu.d.cts +16 -16
- package/dist/ui/dropdown-menu.d.ts +16 -16
- package/dist/ui/file-uploader.d.cts +2 -2
- package/dist/ui/file-uploader.d.ts +2 -2
- package/dist/ui/form.d.cts +7 -7
- package/dist/ui/form.d.ts +7 -7
- package/dist/ui/hover-card.d.cts +4 -4
- package/dist/ui/hover-card.d.ts +4 -4
- package/dist/ui/image.cjs +1 -1
- package/dist/ui/image.js +1 -1
- package/dist/ui/input-otp.d.cts +5 -5
- package/dist/ui/input-otp.d.ts +5 -5
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/inputs/search-input.d.cts +1 -1
- package/dist/ui/inputs/search-input.d.ts +3 -3
- package/dist/ui/label.d.cts +2 -2
- package/dist/ui/label.d.ts +2 -2
- package/dist/ui/menubar.d.cts +17 -17
- package/dist/ui/menubar.d.ts +17 -17
- package/dist/ui/multi-select.d.cts +2 -2
- package/dist/ui/multi-select.d.ts +2 -2
- package/dist/ui/navigation-menu.d.cts +9 -9
- package/dist/ui/navigation-menu.d.ts +9 -9
- package/dist/ui/pagination.d.cts +9 -9
- package/dist/ui/pagination.d.ts +9 -9
- package/dist/ui/popover.d.cts +5 -5
- package/dist/ui/popover.d.ts +5 -5
- package/dist/ui/progress.d.cts +2 -2
- package/dist/ui/progress.d.ts +2 -2
- package/dist/ui/radio-group.d.cts +3 -3
- package/dist/ui/radio-group.d.ts +3 -3
- package/dist/ui/resizable.d.cts +4 -4
- package/dist/ui/resizable.d.ts +4 -4
- package/dist/ui/scroll-area.d.cts +3 -3
- package/dist/ui/scroll-area.d.ts +3 -3
- package/dist/ui/select.d.cts +11 -11
- package/dist/ui/select.d.ts +11 -11
- package/dist/ui/separator.d.cts +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/sheet.d.cts +9 -9
- package/dist/ui/sheet.d.ts +9 -9
- package/dist/ui/sidebar.d.cts +28 -28
- package/dist/ui/sidebar.d.ts +28 -28
- package/dist/ui/skeleton.d.cts +2 -2
- package/dist/ui/skeleton.d.ts +2 -2
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/sonner.d.cts +2 -2
- package/dist/ui/sonner.d.ts +2 -2
- package/dist/ui/switch.d.cts +2 -2
- package/dist/ui/switch.d.ts +2 -2
- package/dist/ui/table.d.cts +9 -9
- package/dist/ui/table.d.ts +9 -9
- package/dist/ui/tabs.d.cts +5 -5
- package/dist/ui/tabs.d.ts +5 -5
- package/dist/ui/textarea.d.cts +2 -2
- package/dist/ui/textarea.d.ts +2 -2
- package/dist/ui/toggle-group.d.cts +4 -4
- package/dist/ui/toggle-group.d.ts +4 -4
- package/dist/ui/toggle.d.cts +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/tooltip.d.cts +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/package.json +1 -1
- package/dist/image-Cm4vJeHx.cjs.map +0 -1
package/dist/ui/table.d.ts
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime185 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/ui/table.d.ts
|
|
4
4
|
declare function Table({
|
|
5
5
|
className,
|
|
6
6
|
...props
|
|
7
|
-
}: React.ComponentProps<'table'>):
|
|
7
|
+
}: React.ComponentProps<'table'>): react_jsx_runtime185.JSX.Element;
|
|
8
8
|
declare function TableHeader({
|
|
9
9
|
className,
|
|
10
10
|
...props
|
|
11
|
-
}: React.ComponentProps<'thead'>):
|
|
11
|
+
}: React.ComponentProps<'thead'>): react_jsx_runtime185.JSX.Element;
|
|
12
12
|
declare function TableBody({
|
|
13
13
|
className,
|
|
14
14
|
...props
|
|
15
|
-
}: React.ComponentProps<'tbody'>):
|
|
15
|
+
}: React.ComponentProps<'tbody'>): react_jsx_runtime185.JSX.Element;
|
|
16
16
|
declare function TableFooter({
|
|
17
17
|
className,
|
|
18
18
|
...props
|
|
19
|
-
}: React.ComponentProps<'tfoot'>):
|
|
19
|
+
}: React.ComponentProps<'tfoot'>): react_jsx_runtime185.JSX.Element;
|
|
20
20
|
declare function TableRow({
|
|
21
21
|
className,
|
|
22
22
|
...props
|
|
23
|
-
}: React.ComponentProps<'tr'>):
|
|
23
|
+
}: React.ComponentProps<'tr'>): react_jsx_runtime185.JSX.Element;
|
|
24
24
|
declare function TableHead({
|
|
25
25
|
className,
|
|
26
26
|
...props
|
|
27
|
-
}: React.ComponentProps<'th'>):
|
|
27
|
+
}: React.ComponentProps<'th'>): react_jsx_runtime185.JSX.Element;
|
|
28
28
|
declare function TableCell({
|
|
29
29
|
className,
|
|
30
30
|
...props
|
|
31
|
-
}: React.ComponentProps<'td'>):
|
|
31
|
+
}: React.ComponentProps<'td'>): react_jsx_runtime185.JSX.Element;
|
|
32
32
|
declare function TableCaption({
|
|
33
33
|
className,
|
|
34
34
|
...props
|
|
35
|
-
}: React.ComponentProps<'caption'>):
|
|
35
|
+
}: React.ComponentProps<'caption'>): react_jsx_runtime185.JSX.Element;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
38
38
|
//# sourceMappingURL=table.d.ts.map
|
package/dist/ui/tabs.d.cts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime221 from "react/jsx-runtime";
|
|
2
2
|
import { Tabs as Tabs$1 } from "radix-ui";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/ui/tabs.d.ts
|
|
5
5
|
declare function Tabs({
|
|
6
6
|
className,
|
|
7
7
|
...props
|
|
8
|
-
}: React.ComponentProps<typeof Tabs$1.Root>):
|
|
8
|
+
}: React.ComponentProps<typeof Tabs$1.Root>): react_jsx_runtime221.JSX.Element;
|
|
9
9
|
declare function TabsList({
|
|
10
10
|
className,
|
|
11
11
|
...props
|
|
12
|
-
}: React.ComponentProps<typeof Tabs$1.List>):
|
|
12
|
+
}: React.ComponentProps<typeof Tabs$1.List>): react_jsx_runtime221.JSX.Element;
|
|
13
13
|
declare function TabsTrigger({
|
|
14
14
|
className,
|
|
15
15
|
...props
|
|
16
|
-
}: React.ComponentProps<typeof Tabs$1.Trigger>):
|
|
16
|
+
}: React.ComponentProps<typeof Tabs$1.Trigger>): react_jsx_runtime221.JSX.Element;
|
|
17
17
|
declare function TabsContent({
|
|
18
18
|
className,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<typeof Tabs$1.Content>):
|
|
20
|
+
}: React.ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime221.JSX.Element;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { Tabs, TabsContent, TabsList, TabsTrigger };
|
|
23
23
|
//# sourceMappingURL=tabs.d.cts.map
|
package/dist/ui/tabs.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { Tabs as Tabs$1 } from "radix-ui";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime216 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/ui/tabs.d.ts
|
|
5
5
|
declare function Tabs({
|
|
6
6
|
className,
|
|
7
7
|
...props
|
|
8
|
-
}: React.ComponentProps<typeof Tabs$1.Root>):
|
|
8
|
+
}: React.ComponentProps<typeof Tabs$1.Root>): react_jsx_runtime216.JSX.Element;
|
|
9
9
|
declare function TabsList({
|
|
10
10
|
className,
|
|
11
11
|
...props
|
|
12
|
-
}: React.ComponentProps<typeof Tabs$1.List>):
|
|
12
|
+
}: React.ComponentProps<typeof Tabs$1.List>): react_jsx_runtime216.JSX.Element;
|
|
13
13
|
declare function TabsTrigger({
|
|
14
14
|
className,
|
|
15
15
|
...props
|
|
16
|
-
}: React.ComponentProps<typeof Tabs$1.Trigger>):
|
|
16
|
+
}: React.ComponentProps<typeof Tabs$1.Trigger>): react_jsx_runtime216.JSX.Element;
|
|
17
17
|
declare function TabsContent({
|
|
18
18
|
className,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<typeof Tabs$1.Content>):
|
|
20
|
+
}: React.ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime216.JSX.Element;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { Tabs, TabsContent, TabsList, TabsTrigger };
|
|
23
23
|
//# sourceMappingURL=tabs.d.ts.map
|
package/dist/ui/textarea.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime234 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/ui/textarea.d.ts
|
|
4
4
|
declare function Textarea({
|
|
@@ -8,7 +8,7 @@ declare function Textarea({
|
|
|
8
8
|
...props
|
|
9
9
|
}: React.ComponentProps<'textarea'> & {
|
|
10
10
|
onValueChange?: (value: string) => void;
|
|
11
|
-
}):
|
|
11
|
+
}): react_jsx_runtime234.JSX.Element;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { Textarea };
|
|
14
14
|
//# sourceMappingURL=textarea.d.cts.map
|
package/dist/ui/textarea.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime184 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/ui/textarea.d.ts
|
|
4
4
|
declare function Textarea({
|
|
@@ -8,7 +8,7 @@ declare function Textarea({
|
|
|
8
8
|
...props
|
|
9
9
|
}: React.ComponentProps<'textarea'> & {
|
|
10
10
|
onValueChange?: (value: string) => void;
|
|
11
|
-
}):
|
|
11
|
+
}): react_jsx_runtime184.JSX.Element;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { Textarea };
|
|
14
14
|
//# sourceMappingURL=textarea.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { toggleVariants } from "../toggle-
|
|
2
|
-
import * as
|
|
1
|
+
import { toggleVariants } from "../toggle-DpUG0EqP.cjs";
|
|
2
|
+
import * as react_jsx_runtime219 from "react/jsx-runtime";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
import { ToggleGroup as ToggleGroup$1 } from "radix-ui";
|
|
5
5
|
|
|
@@ -10,14 +10,14 @@ declare function ToggleGroup({
|
|
|
10
10
|
size,
|
|
11
11
|
children,
|
|
12
12
|
...props
|
|
13
|
-
}: React.ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants>):
|
|
13
|
+
}: React.ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime219.JSX.Element;
|
|
14
14
|
declare function ToggleGroupItem({
|
|
15
15
|
className,
|
|
16
16
|
children,
|
|
17
17
|
variant,
|
|
18
18
|
size,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>):
|
|
20
|
+
}: React.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime219.JSX.Element;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { ToggleGroup, ToggleGroupItem };
|
|
23
23
|
//# sourceMappingURL=toggle-group.d.cts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { toggleVariants } from "../toggle-
|
|
1
|
+
import { toggleVariants } from "../toggle-DIRRdVOx.js";
|
|
2
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
3
|
import { ToggleGroup as ToggleGroup$1 } from "radix-ui";
|
|
4
|
-
import * as
|
|
4
|
+
import * as react_jsx_runtime220 from "react/jsx-runtime";
|
|
5
5
|
|
|
6
6
|
//#region packages/components/ui/toggle-group.d.ts
|
|
7
7
|
declare function ToggleGroup({
|
|
@@ -10,14 +10,14 @@ declare function ToggleGroup({
|
|
|
10
10
|
size,
|
|
11
11
|
children,
|
|
12
12
|
...props
|
|
13
|
-
}: React.ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants>):
|
|
13
|
+
}: React.ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime220.JSX.Element;
|
|
14
14
|
declare function ToggleGroupItem({
|
|
15
15
|
className,
|
|
16
16
|
children,
|
|
17
17
|
variant,
|
|
18
18
|
size,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>):
|
|
20
|
+
}: React.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime220.JSX.Element;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { ToggleGroup, ToggleGroupItem };
|
|
23
23
|
//# sourceMappingURL=toggle-group.d.ts.map
|
package/dist/ui/toggle.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Toggle, toggleVariants } from "../toggle-
|
|
1
|
+
import { Toggle, toggleVariants } from "../toggle-DpUG0EqP.cjs";
|
|
2
2
|
export { Toggle, toggleVariants };
|
package/dist/ui/toggle.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Toggle, toggleVariants } from "../toggle-
|
|
1
|
+
import { Toggle, toggleVariants } from "../toggle-DIRRdVOx.js";
|
|
2
2
|
export { Toggle, toggleVariants };
|
package/dist/ui/tooltip.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../tooltip-
|
|
1
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../tooltip-BZDwRKZ6.cjs";
|
|
2
2
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
package/dist/ui/tooltip.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../tooltip-
|
|
1
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../tooltip-ChyvXWdm.js";
|
|
2
2
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-Cm4vJeHx.cjs","names":["Image: React.FC<Props>","AlertCircleIcon","Skeleton"],"sources":["../packages/components/ui/image.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { AlertCircleIcon } from 'lucide-react'\n\nimport { Skeleton } from './skeleton'\n\ntype Props = {\n src?: string\n alt?: string\n width?: number | string\n height?: number | string\n maxRetries?: number\n retryDelay?: number\n className?: string\n onClick?: () => void\n}\nexport const Image: React.FC<Props> = ({ src, alt, width, height, maxRetries = 3, retryDelay = 500, className, onClick }) => {\n const imageRef = useRef<HTMLImageElement>(null)\n const [currentSrc, setCurrentSrc] = useState<string | undefined>(src)\n const [retryCount, setRetryCount] = useState<number>(0)\n const [isLoaded, setIsLoaded] = useState<boolean>(false)\n const [hasError, setHasError] = useState<boolean>(false)\n\n const handleLoad = useCallback(() => {\n setIsLoaded(true)\n }, [])\n\n const handleError = useCallback(() => {\n if (retryCount < maxRetries) {\n // imageRef.current?.style.setProperty('display', 'none')\n setHasError(false)\n const newRetryCount = retryCount + 1\n setRetryCount(newRetryCount)\n\n // Retry with exponential backoff and cache busting\n setTimeout(() => {\n const cacheBuster = `?retry=${Date.now()}&attempt=${newRetryCount}`\n setCurrentSrc(src + cacheBuster)\n }, retryDelay * newRetryCount)\n return\n }\n\n setHasError(true)\n setIsLoaded(true)\n setCurrentSrc(src)\n }, [maxRetries, retryCount, retryDelay, src])\n\n if (hasError) {\n return (\n <div style={{ width, height }} className={cn('@container relative inline-block', className)}>\n <div className=\"bg-danger-muted shadow-card flex size-full flex-col items-center justify-center gap-y-2 rounded-md\">\n <AlertCircleIcon className=\"text-danger size-8 @max-[52px]:size-6\" />\n <span className=\"text-danger-weak y ml-2 text-sm @max-[96px]:sr-only\">Image failed to load</span>\n </div>\n </div>\n )\n }\n\n return (\n <div style={{ width, height }} className={cn('relative inline-block', className)} onClick={onClick}>\n {!isLoaded && (\n <Skeleton className=\"absolute inset-0 flex size-full items-center justify-center\">\n <div className=\"loader\" />\n </Skeleton>\n )}\n <img\n id={currentSrc}\n ref={imageRef}\n src={currentSrc}\n alt={alt}\n loading=\"lazy\"\n className={cn(\n 'shadow-card size-full rounded-md object-cover transition-opacity duration-300',\n isLoaded && 'opacity-100',\n !isLoaded && 'pointer-events-none opacity-0',\n )}\n onLoad={handleLoad}\n onError={handleError}\n />\n </div>\n )\n}\n"],"mappings":"iPAiBaA,GAA0B,CAAE,MAAK,MAAK,QAAO,SAAQ,aAAa,EAAG,aAAa,IAAK,YAAW,aAAc,CAC3H,IAAM,GAAA,EAAA,EAAA,QAAoC,MACpC,CAAC,EAAY,IAAA,EAAA,EAAA,UAA8C,GAC3D,CAAC,EAAY,IAAA,EAAA,EAAA,UAAkC,GAC/C,CAAC,EAAU,IAAA,EAAA,EAAA,UAAiC,IAC5C,CAAC,EAAU,IAAA,EAAA,EAAA,UAAiC,IAE5C,GAAA,EAAA,EAAA,iBAA+B,CACnC,EAAY,KACX,IAEG,GAAA,EAAA,EAAA,iBAAgC,CACpC,GAAI,EAAa,EAAY,CAE3B,EAAY,IACZ,IAAM,EAAgB,EAAa,EACnC,EAAc,GAGd,eAAiB,CACf,IAAM,EAAc,UAAU,KAAK,MAAM,WAAW,IACpD,EAAc,EAAM,IACnB,EAAa,GAChB,OAGF,EAAY,IACZ,EAAY,IACZ,EAAc,IACb,CAAC,EAAY,EAAY,EAAY,IAaxC,OAXI,GAEA,EAAA,EAAA,KAAC,MAAA,CAAI,MAAO,CAAE,QAAO,UAAU,WAAA,EAAA,EAAA,IAAc,mCAAoC,aAC/E,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,gHACb,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAgB,UAAU,2CAC3B,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,+DAAsD,+BAO5E,EAAA,EAAA,MAAC,MAAA,CAAI,MAAO,CAAE,QAAO,UAAU,WAAA,EAAA,EAAA,IAAc,wBAAyB,GAAqB,oBACxF,CAAC,IACA,EAAA,EAAA,KAACC,EAAAA,SAAAA,CAAS,UAAU,wEAClB,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,cAGnB,EAAA,EAAA,KAAC,MAAA,CACC,GAAI,EACJ,IAAK,EACL,IAAK,EACA,MACL,QAAQ,OACR,WAAA,EAAA,EAAA,IACE,gFACA,GAAY,cACZ,CAAC,GAAY,iCAEf,OAAQ,EACR,QAAS"}
|