@customafk/lunas-ui 0.1.69 → 0.1.71

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.
Files changed (146) hide show
  1. package/dist/{button-BVMdTyfm.d.mts → button-BJVBqLk9.d.mts} +4 -4
  2. package/dist/{button-DKi5eOQ_.d.cts → button-BozYlx-q.d.cts} +6 -6
  3. package/dist/data-display/empty.d.mts +2 -2
  4. package/dist/data-display/statistic.d.mts +2 -2
  5. package/dist/{dialog-CCR3iLqP.d.mts → dialog-BYiVeQol.d.cts} +12 -12
  6. package/dist/{dialog-Ct3CfsWu.d.cts → dialog-BokthiPm.d.mts} +12 -12
  7. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +26 -26
  8. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +26 -26
  9. package/dist/features/descriptions/index.cjs +1 -1
  10. package/dist/features/descriptions/index.cjs.map +1 -1
  11. package/dist/features/descriptions/index.d.cts +3 -1
  12. package/dist/features/descriptions/index.d.mts +3 -1
  13. package/dist/features/descriptions/index.mjs +1 -1
  14. package/dist/features/descriptions/index.mjs.map +1 -1
  15. package/dist/features/search-modal/index.d.cts +2 -2
  16. package/dist/features/search-modal/index.d.mts +2 -2
  17. package/dist/features/tables/index.d.cts +3 -3
  18. package/dist/features/tables/index.d.mts +3 -3
  19. package/dist/features/tanstack-form/index.d.cts +42 -42
  20. package/dist/features/tanstack-form/index.d.mts +42 -42
  21. package/dist/{input-BUkK1_BK.d.mts → input-BbjhlAML.d.cts} +5 -5
  22. package/dist/{input-DrnZKoCR.d.cts → input-jlYPti_R.d.mts} +6 -6
  23. package/dist/layouts/app-layout/index.d.cts +28 -28
  24. package/dist/layouts/app-layout/index.d.mts +28 -28
  25. package/dist/layouts/flex.d.cts +3 -3
  26. package/dist/layouts/flex.d.mts +5 -5
  27. package/dist/layouts/service-layout/index.d.cts +13 -13
  28. package/dist/layouts/service-layout/index.d.mts +15 -15
  29. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  30. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  31. package/dist/pages/FeatureFixing.d.cts +2 -2
  32. package/dist/pages/FeatureFixing.d.mts +2 -2
  33. package/dist/pages/NotAuthorized.d.cts +2 -2
  34. package/dist/pages/NotAuthorized.d.mts +2 -2
  35. package/dist/pages/NotFound.d.cts +2 -2
  36. package/dist/pages/NotFound.d.mts +2 -2
  37. package/dist/{separator-BPcowM1Z.d.cts → separator-BrjtYi6M.d.mts} +3 -3
  38. package/dist/{separator-D8dHLtAS.d.mts → separator-D0nZm1f0.d.cts} +3 -3
  39. package/dist/{tooltip-C8p04TFA.d.mts → tooltip-5hVlTQw8.d.cts} +6 -6
  40. package/dist/{tooltip-CYsnXMhk.d.cts → tooltip-C6CUeuji.d.mts} +6 -6
  41. package/dist/typography/paragraph.d.cts +2 -2
  42. package/dist/typography/paragraph.d.mts +2 -2
  43. package/dist/typography/title.d.cts +2 -2
  44. package/dist/typography/title.d.mts +2 -2
  45. package/dist/ui/alert-dialog.d.cts +12 -12
  46. package/dist/ui/alert-dialog.d.mts +12 -12
  47. package/dist/ui/alert.d.cts +6 -6
  48. package/dist/ui/alert.d.mts +6 -6
  49. package/dist/ui/aspect-ratio.d.cts +2 -2
  50. package/dist/ui/aspect-ratio.d.mts +2 -2
  51. package/dist/ui/avatar.d.cts +4 -4
  52. package/dist/ui/avatar.d.mts +4 -4
  53. package/dist/ui/badge.d.cts +4 -4
  54. package/dist/ui/badge.d.mts +4 -4
  55. package/dist/ui/breadcrumb.d.cts +8 -8
  56. package/dist/ui/breadcrumb.d.mts +8 -8
  57. package/dist/ui/button-group.d.cts +7 -7
  58. package/dist/ui/button-group.d.mts +5 -5
  59. package/dist/ui/button.d.cts +1 -1
  60. package/dist/ui/button.d.mts +1 -1
  61. package/dist/ui/calendar.d.cts +4 -4
  62. package/dist/ui/calendar.d.mts +4 -4
  63. package/dist/ui/card.d.cts +8 -8
  64. package/dist/ui/card.d.mts +8 -8
  65. package/dist/ui/carousel.d.cts +7 -7
  66. package/dist/ui/carousel.d.mts +7 -7
  67. package/dist/ui/collapsible.d.cts +4 -4
  68. package/dist/ui/collapsible.d.mts +4 -4
  69. package/dist/ui/command.d.cts +11 -11
  70. package/dist/ui/command.d.mts +11 -11
  71. package/dist/ui/context-menu.d.cts +16 -16
  72. package/dist/ui/context-menu.d.mts +16 -16
  73. package/dist/ui/dialog.d.cts +1 -1
  74. package/dist/ui/dialog.d.mts +1 -1
  75. package/dist/ui/drawer.d.cts +11 -11
  76. package/dist/ui/drawer.d.mts +11 -11
  77. package/dist/ui/dropdown-menu.d.cts +16 -16
  78. package/dist/ui/dropdown-menu.d.mts +16 -16
  79. package/dist/ui/empty.d.cts +9 -9
  80. package/dist/ui/empty.d.mts +9 -9
  81. package/dist/ui/field.d.cts +13 -13
  82. package/dist/ui/field.d.mts +24 -24
  83. package/dist/ui/file-uploader.d.cts +2 -2
  84. package/dist/ui/file-uploader.d.mts +2 -2
  85. package/dist/ui/form.d.cts +7 -7
  86. package/dist/ui/form.d.mts +11 -11
  87. package/dist/ui/hover-card.d.cts +4 -4
  88. package/dist/ui/hover-card.d.mts +4 -4
  89. package/dist/ui/input-otp.d.cts +5 -5
  90. package/dist/ui/input-otp.d.mts +5 -5
  91. package/dist/ui/input.d.cts +1 -1
  92. package/dist/ui/input.d.mts +1 -1
  93. package/dist/ui/inputs/search-input.d.cts +3 -3
  94. package/dist/ui/inputs/search-input.d.mts +3 -3
  95. package/dist/ui/item.d.cts +16 -16
  96. package/dist/ui/item.d.mts +16 -16
  97. package/dist/ui/label.d.cts +2 -2
  98. package/dist/ui/label.d.mts +2 -2
  99. package/dist/ui/menubar.d.cts +17 -17
  100. package/dist/ui/menubar.d.mts +17 -17
  101. package/dist/ui/multi-select.d.cts +2 -2
  102. package/dist/ui/multi-select.d.mts +1 -1
  103. package/dist/ui/navigation-menu.d.cts +9 -9
  104. package/dist/ui/pagination.d.cts +9 -9
  105. package/dist/ui/pagination.d.mts +9 -9
  106. package/dist/ui/popover.d.cts +5 -5
  107. package/dist/ui/popover.d.mts +5 -5
  108. package/dist/ui/progress.d.cts +2 -2
  109. package/dist/ui/progress.d.mts +2 -2
  110. package/dist/ui/radio-group.d.cts +3 -3
  111. package/dist/ui/radio-group.d.mts +3 -3
  112. package/dist/ui/resizable.d.cts +4 -4
  113. package/dist/ui/resizable.d.mts +4 -4
  114. package/dist/ui/scroll-area.d.cts +6 -6
  115. package/dist/ui/scroll-area.d.mts +6 -6
  116. package/dist/ui/select.d.cts +11 -11
  117. package/dist/ui/select.d.mts +11 -11
  118. package/dist/ui/separator.d.cts +1 -1
  119. package/dist/ui/separator.d.mts +1 -1
  120. package/dist/ui/sheet.d.cts +9 -9
  121. package/dist/ui/sheet.d.mts +9 -9
  122. package/dist/ui/sidebar.d.cts +4 -4
  123. package/dist/ui/sidebar.d.mts +30 -30
  124. package/dist/ui/skeleton.d.cts +2 -2
  125. package/dist/ui/skeleton.d.mts +2 -2
  126. package/dist/ui/slider.d.cts +2 -2
  127. package/dist/ui/slider.d.mts +2 -2
  128. package/dist/ui/sonner.d.cts +2 -2
  129. package/dist/ui/sonner.d.mts +2 -2
  130. package/dist/ui/spinner.d.cts +2 -2
  131. package/dist/ui/spinner.d.mts +2 -2
  132. package/dist/ui/switch.d.cts +2 -2
  133. package/dist/ui/switch.d.mts +2 -2
  134. package/dist/ui/table.d.cts +9 -9
  135. package/dist/ui/table.d.mts +18 -18
  136. package/dist/ui/tabs.d.cts +5 -5
  137. package/dist/ui/tabs.d.mts +5 -5
  138. package/dist/ui/textarea.d.cts +2 -2
  139. package/dist/ui/textarea.d.mts +2 -2
  140. package/dist/ui/toggle-group.d.cts +3 -3
  141. package/dist/ui/toggle-group.d.mts +3 -3
  142. package/dist/ui/toggle.d.cts +2 -2
  143. package/dist/ui/toggle.d.mts +4 -4
  144. package/dist/ui/tooltip.d.cts +1 -1
  145. package/dist/ui/tooltip.d.mts +1 -1
  146. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime29 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime58 from "react/jsx-runtime";
2
2
  import { VariantProps } from "class-variance-authority";
3
3
  import * as class_variance_authority_types12 from "class-variance-authority/types";
4
4
 
@@ -8,7 +8,7 @@ import * as class_variance_authority_types12 from "class-variance-authority/type
8
8
  * Button variants definition for styling using class-variance-authority
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
- variant?: "link" | "default" | "outline" | "ghost" | "soft" | "subtle" | null | undefined;
11
+ variant?: "default" | "outline" | "link" | "ghost" | "soft" | "subtle" | null | undefined;
12
12
  color?: "muted" | "warning" | "success" | "info" | "primary" | "secondary" | "important" | "danger" | null | undefined;
13
13
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
14
14
  } & class_variance_authority_types12.ClassProp) | undefined) => string;
@@ -51,7 +51,7 @@ declare function Button({
51
51
  disabled,
52
52
  type,
53
53
  ...props
54
- }: ButtonProps): react_jsx_runtime29.JSX.Element;
54
+ }: ButtonProps): react_jsx_runtime58.JSX.Element;
55
55
  //#endregion
56
56
  export { ButtonProps as n, Button as t };
57
- //# sourceMappingURL=button-BVMdTyfm.d.mts.map
57
+ //# sourceMappingURL=button-BJVBqLk9.d.mts.map
@@ -1,5 +1,5 @@
1
- import * as react_jsx_runtime51 from "react/jsx-runtime";
2
- import * as class_variance_authority_types11 from "class-variance-authority/types";
1
+ import * as react_jsx_runtime34 from "react/jsx-runtime";
2
+ import * as class_variance_authority_types13 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region packages/components/ui/button.variants.d.ts
@@ -8,10 +8,10 @@ import { VariantProps } from "class-variance-authority";
8
8
  * Button variants definition for styling using class-variance-authority
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
- variant?: "link" | "default" | "outline" | "ghost" | "soft" | "subtle" | null | undefined;
11
+ variant?: "default" | "outline" | "link" | "ghost" | "soft" | "subtle" | null | undefined;
12
12
  color?: "muted" | "warning" | "success" | "info" | "primary" | "secondary" | "important" | "danger" | null | undefined;
13
13
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
14
- } & class_variance_authority_types11.ClassProp) | undefined) => string;
14
+ } & class_variance_authority_types13.ClassProp) | undefined) => string;
15
15
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
16
16
  //#endregion
17
17
  //#region packages/components/ui/button.d.ts
@@ -51,7 +51,7 @@ declare function Button({
51
51
  disabled,
52
52
  type,
53
53
  ...props
54
- }: ButtonProps): react_jsx_runtime51.JSX.Element;
54
+ }: ButtonProps): react_jsx_runtime34.JSX.Element;
55
55
  //#endregion
56
56
  export { ButtonProps as n, Button as t };
57
- //# sourceMappingURL=button-DKi5eOQ_.d.cts.map
57
+ //# sourceMappingURL=button-BozYlx-q.d.cts.map
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
 
3
3
  //#region packages/components/data-display/empty.d.ts
4
- declare const EmptyDisplay: () => react_jsx_runtime0.JSX.Element;
4
+ declare const EmptyDisplay: () => react_jsx_runtime1.JSX.Element;
5
5
  //#endregion
6
6
  export { EmptyDisplay };
7
7
  //# sourceMappingURL=empty.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
2
2
  import * as react0 from "react";
3
3
 
4
4
  //#region packages/components/data-display/statistic.d.ts
@@ -23,7 +23,7 @@ declare const Statistic: react0.MemoExoticComponent<({
23
23
  showTrailingZeros,
24
24
  size,
25
25
  value
26
- }: Props) => react_jsx_runtime1.JSX.Element>;
26
+ }: Props) => react_jsx_runtime24.JSX.Element>;
27
27
  //#endregion
28
28
  export { Statistic };
29
29
  //# sourceMappingURL=statistic.d.mts.map
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime125 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime160 from "react/jsx-runtime";
2
2
  import { Dialog } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/dialog.d.ts
5
5
  declare function Dialog$1({
6
6
  ...props
7
- }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime125.JSX.Element;
7
+ }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime160.JSX.Element;
8
8
  declare function DialogTrigger({
9
9
  ...props
10
- }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime125.JSX.Element;
10
+ }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime160.JSX.Element;
11
11
  declare function DialogPortal({
12
12
  ...props
13
- }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime125.JSX.Element;
13
+ }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime160.JSX.Element;
14
14
  declare function DialogClose({
15
15
  ...props
16
- }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime125.JSX.Element;
16
+ }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime160.JSX.Element;
17
17
  declare function DialogOverlay({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime125.JSX.Element;
20
+ }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime160.JSX.Element;
21
21
  declare function DialogContent({
22
22
  className,
23
23
  children,
@@ -25,23 +25,23 @@ declare function DialogContent({
25
25
  ...props
26
26
  }: React.ComponentProps<typeof Dialog.Content> & {
27
27
  showCloseButton?: boolean;
28
- }): react_jsx_runtime125.JSX.Element;
28
+ }): react_jsx_runtime160.JSX.Element;
29
29
  declare function DialogHeader({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<'div'>): react_jsx_runtime125.JSX.Element;
32
+ }: React.ComponentProps<'div'>): react_jsx_runtime160.JSX.Element;
33
33
  declare function DialogFooter({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<'div'>): react_jsx_runtime125.JSX.Element;
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime160.JSX.Element;
37
37
  declare function DialogTitle({
38
38
  className,
39
39
  ...props
40
- }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime125.JSX.Element;
40
+ }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime160.JSX.Element;
41
41
  declare function DialogDescription({
42
42
  className,
43
43
  ...props
44
- }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime125.JSX.Element;
44
+ }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime160.JSX.Element;
45
45
  //#endregion
46
46
  export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog$1 as t, DialogTrigger as u };
47
- //# sourceMappingURL=dialog-CCR3iLqP.d.mts.map
47
+ //# sourceMappingURL=dialog-BYiVeQol.d.cts.map
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime89 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime157 from "react/jsx-runtime";
2
2
  import { Dialog } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/dialog.d.ts
5
5
  declare function Dialog$1({
6
6
  ...props
7
- }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime89.JSX.Element;
7
+ }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime157.JSX.Element;
8
8
  declare function DialogTrigger({
9
9
  ...props
10
- }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime89.JSX.Element;
10
+ }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime157.JSX.Element;
11
11
  declare function DialogPortal({
12
12
  ...props
13
- }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime89.JSX.Element;
13
+ }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime157.JSX.Element;
14
14
  declare function DialogClose({
15
15
  ...props
16
- }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime89.JSX.Element;
16
+ }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime157.JSX.Element;
17
17
  declare function DialogOverlay({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime89.JSX.Element;
20
+ }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime157.JSX.Element;
21
21
  declare function DialogContent({
22
22
  className,
23
23
  children,
@@ -25,23 +25,23 @@ declare function DialogContent({
25
25
  ...props
26
26
  }: React.ComponentProps<typeof Dialog.Content> & {
27
27
  showCloseButton?: boolean;
28
- }): react_jsx_runtime89.JSX.Element;
28
+ }): react_jsx_runtime157.JSX.Element;
29
29
  declare function DialogHeader({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<'div'>): react_jsx_runtime89.JSX.Element;
32
+ }: React.ComponentProps<'div'>): react_jsx_runtime157.JSX.Element;
33
33
  declare function DialogFooter({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<'div'>): react_jsx_runtime89.JSX.Element;
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime157.JSX.Element;
37
37
  declare function DialogTitle({
38
38
  className,
39
39
  ...props
40
- }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime89.JSX.Element;
40
+ }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime157.JSX.Element;
41
41
  declare function DialogDescription({
42
42
  className,
43
43
  ...props
44
- }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime89.JSX.Element;
44
+ }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime157.JSX.Element;
45
45
  //#endregion
46
46
  export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog$1 as t, DialogTrigger as u };
47
- //# sourceMappingURL=dialog-Ct3CfsWu.d.cts.map
47
+ //# sourceMappingURL=dialog-BokthiPm.d.mts.map
@@ -1,7 +1,7 @@
1
- import { t as Button } from "../../../button-DKi5eOQ_.cjs";
2
- import { t as Separator } from "../../../separator-BPcowM1Z.cjs";
3
- import { n as TooltipContent } from "../../../tooltip-CYsnXMhk.cjs";
4
- import * as react_jsx_runtime4 from "react/jsx-runtime";
1
+ import { t as Button } from "../../../button-BozYlx-q.cjs";
2
+ import { t as Separator } from "../../../separator-D0nZm1f0.cjs";
3
+ import { n as TooltipContent } from "../../../tooltip-5hVlTQw8.cjs";
4
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
5
5
  import * as class_variance_authority_types0 from "class-variance-authority/types";
6
6
  import { VariantProps } from "class-variance-authority";
7
7
 
@@ -28,7 +28,7 @@ declare function SidebarProvider({
28
28
  defaultOpen?: boolean;
29
29
  open?: boolean;
30
30
  onOpenChange?: (open: boolean) => void;
31
- }): react_jsx_runtime4.JSX.Element;
31
+ }): react_jsx_runtime2.JSX.Element;
32
32
  declare function Sidebar({
33
33
  side,
34
34
  variant,
@@ -40,66 +40,66 @@ declare function Sidebar({
40
40
  side?: 'left' | 'right';
41
41
  variant?: 'sidebar' | 'floating' | 'inset';
42
42
  collapsible?: 'offcanvas' | 'icon' | 'none';
43
- }): react_jsx_runtime4.JSX.Element;
43
+ }): react_jsx_runtime2.JSX.Element;
44
44
  declare function DetailDialogSidebarTrigger({
45
45
  className,
46
46
  onClick,
47
47
  ...props
48
- }: React.ComponentProps<typeof Button>): react_jsx_runtime4.JSX.Element;
48
+ }: React.ComponentProps<typeof Button>): react_jsx_runtime2.JSX.Element;
49
49
  declare function DetailDialogSidebarRail({
50
50
  className,
51
51
  ...props
52
- }: React.ComponentProps<'button'>): react_jsx_runtime4.JSX.Element;
52
+ }: React.ComponentProps<'button'>): react_jsx_runtime2.JSX.Element;
53
53
  declare function SidebarInset({
54
54
  className,
55
55
  ...props
56
- }: React.ComponentProps<'main'>): react_jsx_runtime4.JSX.Element;
56
+ }: React.ComponentProps<'main'>): react_jsx_runtime2.JSX.Element;
57
57
  declare function DetailDialogSidebarHeader({
58
58
  className,
59
59
  ...props
60
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
60
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
61
61
  declare function DetailDialogSidebarFooter({
62
62
  className,
63
63
  ...props
64
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
64
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
65
65
  declare function DetailDialogSidebarSeparator({
66
66
  className,
67
67
  ...props
68
- }: React.ComponentProps<typeof Separator>): react_jsx_runtime4.JSX.Element;
68
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime2.JSX.Element;
69
69
  declare function DetailDialogSidebarContent({
70
70
  className,
71
71
  ...props
72
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
72
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
73
73
  declare function DetailDialogSidebarGroup({
74
74
  className,
75
75
  ...props
76
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
76
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
77
77
  declare function DetailDialogSidebarGroupLabel({
78
78
  className,
79
79
  asChild,
80
80
  ...props
81
81
  }: React.ComponentProps<'div'> & {
82
82
  asChild?: boolean;
83
- }): react_jsx_runtime4.JSX.Element;
83
+ }): react_jsx_runtime2.JSX.Element;
84
84
  declare function DetailDialogSidebarGroupAction({
85
85
  className,
86
86
  asChild,
87
87
  ...props
88
88
  }: React.ComponentProps<'button'> & {
89
89
  asChild?: boolean;
90
- }): react_jsx_runtime4.JSX.Element;
90
+ }): react_jsx_runtime2.JSX.Element;
91
91
  declare function DetailDialogSidebarGroupContent({
92
92
  className,
93
93
  ...props
94
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
94
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
95
95
  declare function DetailDialogSidebarMenu({
96
96
  className,
97
97
  ...props
98
- }: React.ComponentProps<'ul'>): react_jsx_runtime4.JSX.Element;
98
+ }: React.ComponentProps<'ul'>): react_jsx_runtime2.JSX.Element;
99
99
  declare function DetailDialogSidebarMenuItem({
100
100
  className,
101
101
  ...props
102
- }: React.ComponentProps<'li'>): react_jsx_runtime4.JSX.Element;
102
+ }: React.ComponentProps<'li'>): react_jsx_runtime2.JSX.Element;
103
103
  declare const sidebarMenuButtonVariants: (props?: ({
104
104
  variant?: "default" | "outline" | null | undefined;
105
105
  size?: "sm" | "lg" | "default" | null | undefined;
@@ -116,7 +116,7 @@ declare function DetailDialogSidebarMenuButton({
116
116
  asChild?: boolean;
117
117
  isActive?: boolean;
118
118
  tooltip?: string | React.ComponentProps<typeof TooltipContent>;
119
- } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime4.JSX.Element;
119
+ } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime2.JSX.Element;
120
120
  declare function DetailDialogSidebarMenuAction({
121
121
  className,
122
122
  asChild,
@@ -125,26 +125,26 @@ declare function DetailDialogSidebarMenuAction({
125
125
  }: React.ComponentProps<'button'> & {
126
126
  asChild?: boolean;
127
127
  showOnHover?: boolean;
128
- }): react_jsx_runtime4.JSX.Element;
128
+ }): react_jsx_runtime2.JSX.Element;
129
129
  declare function DetailDialogSidebarMenuBadge({
130
130
  className,
131
131
  ...props
132
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
132
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
133
133
  declare function DetailDialogSidebarMenuSkeleton({
134
134
  className,
135
135
  showIcon,
136
136
  ...props
137
137
  }: React.ComponentProps<'div'> & {
138
138
  showIcon?: boolean;
139
- }): react_jsx_runtime4.JSX.Element;
139
+ }): react_jsx_runtime2.JSX.Element;
140
140
  declare function DetailDialogSidebarMenuSub({
141
141
  className,
142
142
  ...props
143
- }: React.ComponentProps<'ul'>): react_jsx_runtime4.JSX.Element;
143
+ }: React.ComponentProps<'ul'>): react_jsx_runtime2.JSX.Element;
144
144
  declare function DetailDialogSidebarMenuSubItem({
145
145
  className,
146
146
  ...props
147
- }: React.ComponentProps<'li'>): react_jsx_runtime4.JSX.Element;
147
+ }: React.ComponentProps<'li'>): react_jsx_runtime2.JSX.Element;
148
148
  declare function DetailDialogSidebarMenuSubButton({
149
149
  asChild,
150
150
  size,
@@ -155,7 +155,7 @@ declare function DetailDialogSidebarMenuSubButton({
155
155
  asChild?: boolean;
156
156
  size?: 'sm' | 'md';
157
157
  isActive?: boolean;
158
- }): react_jsx_runtime4.JSX.Element;
158
+ }): react_jsx_runtime2.JSX.Element;
159
159
  //#endregion
160
160
  export { DetailDialogSidebarContent, DetailDialogSidebarFooter, DetailDialogSidebarGroup, DetailDialogSidebarGroupAction, DetailDialogSidebarGroupContent, DetailDialogSidebarGroupLabel, DetailDialogSidebarHeader, DetailDialogSidebarMenu, DetailDialogSidebarMenuAction, DetailDialogSidebarMenuBadge, DetailDialogSidebarMenuButton, DetailDialogSidebarMenuItem, DetailDialogSidebarMenuSkeleton, DetailDialogSidebarMenuSub, DetailDialogSidebarMenuSubButton, DetailDialogSidebarMenuSubItem, DetailDialogSidebarRail, DetailDialogSidebarSeparator, DetailDialogSidebarTrigger, Sidebar, SidebarInset, SidebarProvider, useSidebar };
161
161
  //# sourceMappingURL=sidebar.d.cts.map
@@ -1,7 +1,7 @@
1
- import { t as Button } from "../../../button-BVMdTyfm.mjs";
2
- import { t as Separator } from "../../../separator-D8dHLtAS.mjs";
3
- import { n as TooltipContent } from "../../../tooltip-C8p04TFA.mjs";
4
- import * as react_jsx_runtime4 from "react/jsx-runtime";
1
+ import { t as Button } from "../../../button-BJVBqLk9.mjs";
2
+ import { t as Separator } from "../../../separator-BrjtYi6M.mjs";
3
+ import { n as TooltipContent } from "../../../tooltip-C6CUeuji.mjs";
4
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
5
5
  import { VariantProps } from "class-variance-authority";
6
6
  import * as class_variance_authority_types0 from "class-variance-authority/types";
7
7
 
@@ -28,7 +28,7 @@ declare function SidebarProvider({
28
28
  defaultOpen?: boolean;
29
29
  open?: boolean;
30
30
  onOpenChange?: (open: boolean) => void;
31
- }): react_jsx_runtime4.JSX.Element;
31
+ }): react_jsx_runtime2.JSX.Element;
32
32
  declare function Sidebar({
33
33
  side,
34
34
  variant,
@@ -40,66 +40,66 @@ declare function Sidebar({
40
40
  side?: 'left' | 'right';
41
41
  variant?: 'sidebar' | 'floating' | 'inset';
42
42
  collapsible?: 'offcanvas' | 'icon' | 'none';
43
- }): react_jsx_runtime4.JSX.Element;
43
+ }): react_jsx_runtime2.JSX.Element;
44
44
  declare function DetailDialogSidebarTrigger({
45
45
  className,
46
46
  onClick,
47
47
  ...props
48
- }: React.ComponentProps<typeof Button>): react_jsx_runtime4.JSX.Element;
48
+ }: React.ComponentProps<typeof Button>): react_jsx_runtime2.JSX.Element;
49
49
  declare function DetailDialogSidebarRail({
50
50
  className,
51
51
  ...props
52
- }: React.ComponentProps<'button'>): react_jsx_runtime4.JSX.Element;
52
+ }: React.ComponentProps<'button'>): react_jsx_runtime2.JSX.Element;
53
53
  declare function SidebarInset({
54
54
  className,
55
55
  ...props
56
- }: React.ComponentProps<'main'>): react_jsx_runtime4.JSX.Element;
56
+ }: React.ComponentProps<'main'>): react_jsx_runtime2.JSX.Element;
57
57
  declare function DetailDialogSidebarHeader({
58
58
  className,
59
59
  ...props
60
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
60
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
61
61
  declare function DetailDialogSidebarFooter({
62
62
  className,
63
63
  ...props
64
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
64
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
65
65
  declare function DetailDialogSidebarSeparator({
66
66
  className,
67
67
  ...props
68
- }: React.ComponentProps<typeof Separator>): react_jsx_runtime4.JSX.Element;
68
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime2.JSX.Element;
69
69
  declare function DetailDialogSidebarContent({
70
70
  className,
71
71
  ...props
72
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
72
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
73
73
  declare function DetailDialogSidebarGroup({
74
74
  className,
75
75
  ...props
76
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
76
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
77
77
  declare function DetailDialogSidebarGroupLabel({
78
78
  className,
79
79
  asChild,
80
80
  ...props
81
81
  }: React.ComponentProps<'div'> & {
82
82
  asChild?: boolean;
83
- }): react_jsx_runtime4.JSX.Element;
83
+ }): react_jsx_runtime2.JSX.Element;
84
84
  declare function DetailDialogSidebarGroupAction({
85
85
  className,
86
86
  asChild,
87
87
  ...props
88
88
  }: React.ComponentProps<'button'> & {
89
89
  asChild?: boolean;
90
- }): react_jsx_runtime4.JSX.Element;
90
+ }): react_jsx_runtime2.JSX.Element;
91
91
  declare function DetailDialogSidebarGroupContent({
92
92
  className,
93
93
  ...props
94
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
94
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
95
95
  declare function DetailDialogSidebarMenu({
96
96
  className,
97
97
  ...props
98
- }: React.ComponentProps<'ul'>): react_jsx_runtime4.JSX.Element;
98
+ }: React.ComponentProps<'ul'>): react_jsx_runtime2.JSX.Element;
99
99
  declare function DetailDialogSidebarMenuItem({
100
100
  className,
101
101
  ...props
102
- }: React.ComponentProps<'li'>): react_jsx_runtime4.JSX.Element;
102
+ }: React.ComponentProps<'li'>): react_jsx_runtime2.JSX.Element;
103
103
  declare const sidebarMenuButtonVariants: (props?: ({
104
104
  variant?: "default" | "outline" | null | undefined;
105
105
  size?: "sm" | "lg" | "default" | null | undefined;
@@ -116,7 +116,7 @@ declare function DetailDialogSidebarMenuButton({
116
116
  asChild?: boolean;
117
117
  isActive?: boolean;
118
118
  tooltip?: string | React.ComponentProps<typeof TooltipContent>;
119
- } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime4.JSX.Element;
119
+ } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime2.JSX.Element;
120
120
  declare function DetailDialogSidebarMenuAction({
121
121
  className,
122
122
  asChild,
@@ -125,26 +125,26 @@ declare function DetailDialogSidebarMenuAction({
125
125
  }: React.ComponentProps<'button'> & {
126
126
  asChild?: boolean;
127
127
  showOnHover?: boolean;
128
- }): react_jsx_runtime4.JSX.Element;
128
+ }): react_jsx_runtime2.JSX.Element;
129
129
  declare function DetailDialogSidebarMenuBadge({
130
130
  className,
131
131
  ...props
132
- }: React.ComponentProps<'div'>): react_jsx_runtime4.JSX.Element;
132
+ }: React.ComponentProps<'div'>): react_jsx_runtime2.JSX.Element;
133
133
  declare function DetailDialogSidebarMenuSkeleton({
134
134
  className,
135
135
  showIcon,
136
136
  ...props
137
137
  }: React.ComponentProps<'div'> & {
138
138
  showIcon?: boolean;
139
- }): react_jsx_runtime4.JSX.Element;
139
+ }): react_jsx_runtime2.JSX.Element;
140
140
  declare function DetailDialogSidebarMenuSub({
141
141
  className,
142
142
  ...props
143
- }: React.ComponentProps<'ul'>): react_jsx_runtime4.JSX.Element;
143
+ }: React.ComponentProps<'ul'>): react_jsx_runtime2.JSX.Element;
144
144
  declare function DetailDialogSidebarMenuSubItem({
145
145
  className,
146
146
  ...props
147
- }: React.ComponentProps<'li'>): react_jsx_runtime4.JSX.Element;
147
+ }: React.ComponentProps<'li'>): react_jsx_runtime2.JSX.Element;
148
148
  declare function DetailDialogSidebarMenuSubButton({
149
149
  asChild,
150
150
  size,
@@ -155,7 +155,7 @@ declare function DetailDialogSidebarMenuSubButton({
155
155
  asChild?: boolean;
156
156
  size?: 'sm' | 'md';
157
157
  isActive?: boolean;
158
- }): react_jsx_runtime4.JSX.Element;
158
+ }): react_jsx_runtime2.JSX.Element;
159
159
  //#endregion
160
160
  export { DetailDialogSidebarContent, DetailDialogSidebarFooter, DetailDialogSidebarGroup, DetailDialogSidebarGroupAction, DetailDialogSidebarGroupContent, DetailDialogSidebarGroupLabel, DetailDialogSidebarHeader, DetailDialogSidebarMenu, DetailDialogSidebarMenuAction, DetailDialogSidebarMenuBadge, DetailDialogSidebarMenuButton, DetailDialogSidebarMenuItem, DetailDialogSidebarMenuSkeleton, DetailDialogSidebarMenuSub, DetailDialogSidebarMenuSubButton, DetailDialogSidebarMenuSubItem, DetailDialogSidebarRail, DetailDialogSidebarSeparator, DetailDialogSidebarTrigger, Sidebar, SidebarInset, SidebarProvider, useSidebar };
161
161
  //# sourceMappingURL=sidebar.d.mts.map
@@ -1,2 +1,2 @@
1
- const e=require(`../../chunk-Bmb41Sf3.cjs`);require(`../../skeleton-C4suljHP.cjs`);const t=require(`../../image-D5vQS72z.cjs`),n=require(`../../flex-BYj-xYaw.cjs`),r=require(`../../paragraph-CqAtWDb_.cjs`),i=require(`../../date-DU8xM0hQ.cjs`),a=require(`../../tooltip-a3HDmxog.cjs`);let o=require(`@customafk/react-toolkit/utils`),s=require(`react/jsx-runtime`),c=require(`react`);const l=()=>(0,s.jsx)(`div`,{className:`flex items-center gap-0 font-medium text-sm text-text-positive-muted italic`,children:(0,s.jsx)(`p`,{children:`Empty Value`})}),u=({label:e})=>e?(0,s.jsx)(`div`,{className:`w-fit rounded-full border border-border-weak px-3 py-1 font-medium text-text-positive-weak text-xs tabular-nums shadow-xs`,children:e}):(0,s.jsx)(l,{}),d=({date:e})=>e==null?(0,s.jsx)(l,{}):(0,s.jsx)(a.r,{children:(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(i.t,{date:e,format:`medium`})}),(0,s.jsx)(a.n,{children:(0,s.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-xs`})})]})}),f=({images:e})=>!e||!e.length?(0,s.jsx)(l,{}):e.length===1?(0,s.jsx)(`div`,{className:`flex flex-wrap gap-4`,children:(0,s.jsx)(`div`,{className:`group relative size-42 rounded-sm border border-border shadow-xs`,children:(0,s.jsx)(t.t,{src:e[0].src,alt:e[0].alt,width:`100%`,height:`100%`})},e[0].id)}):(0,s.jsx)(`div`,{className:`flex flex-wrap gap-4`,children:e.map(e=>(0,s.jsx)(`div`,{className:`group relative size-16 rounded-lg border border-border shadow-xs`,children:(0,s.jsx)(t.t,{src:e.src,alt:e.alt,width:`100%`,height:`100%`})},e.id))}),p=({content:e})=>e==null?(0,s.jsx)(l,{}):(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(r.t,{variant:`sm`,className:`whitespace-pre-line break-all text-start text-sm`,children:e})}),(0,s.jsx)(a.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,s.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,s.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,s.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),m=({name:e})=>e?(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(r.t,{variant:`sm`,className:`line-clamp-2 w-full truncate`,children:e})}),(0,s.jsx)(a.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,s.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,s.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,s.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,s.jsx)(l,{}),h=({value:e})=>(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(r.t,{variant:`sm`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,s.jsx)(a.n,{align:`start`,children:(0,s.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),g=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},_=(0,c.memo)(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:r,suffix:i,precision:a,roundingMode:u=`round`,showTrailingZeros:d=!1,size:f=`sm`,value:p=0})=>{let m=(0,c.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&d&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,d]),h=(0,c.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=g(e,a,u)),t.toLocaleString(`en-US`,m)},[u,m,a]),_=(0,c.useMemo)(()=>{if(typeof p==`number`)return Number.isNaN(p)||!Number.isFinite(p)?`N/A`:h(p);if(typeof p==`string`){let e=p.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:h(t)}return`N/A`},[p,h]),v=(0,c.useMemo)(()=>e===`.`&&t===`,`?_:_.replace(/,/g,t).replace(/\./g,e),[_,e,t]);return v===`0`||v===`N/A`||!v?(0,s.jsx)(l,{}):(0,s.jsxs)(n.t,{padding:`none`,className:(0,o.cn)(`font-number text-lg text-text-positive tabular-nums`,f===`xs`&&`text-xs`,f===`sm`&&`text-sm`,f===`md`&&`text-base`,f===`lg`&&`text-lg`,f===`xl`&&`text-xl`),children:[r,(0,s.jsx)(`p`,{children:v}),i]})});_.displayName=`DescriptionStatistic`;const v=({label:e,labelColSpan:t=3,children:n})=>(0,s.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(12, minmax(0, 1fr))`},className:`grid border-b border-b-border`,children:[(0,s.jsx)(`div`,{style:{gridColumn:`span ${t} / span ${t}`},className:`flex min-w-full items-center justify-start overflow-x-hidden text-wrap break-all border-r border-r-border bg-secondary-muted py-3 pr-2 pl-4 text-sm text-text-positive-weak tabular-nums`,children:e}),(0,s.jsx)(`div`,{style:{gridColumn:`span ${12-t} / span ${12-t}`},className:`flex flex-wrap gap-2 py-3 pr-2 pl-4 text-sm text-text-positive`,children:n})]}),y=({children:e})=>(0,s.jsx)(`div`,{"data-slot":`description-wrapper`,className:`relative flex size-full flex-col gap-y-0 space-y-0 overflow-hidden rounded-lg border border-border bg-card shadow-xs ring-3 ring-border-muted`,children:e});exports.Description=y,exports.DescriptionBadge=u,exports.DescriptionDate=d,exports.DescriptionEmpty=l,exports.DescriptionImages=f,exports.DescriptionItem=v,exports.DescriptionLongText=p,exports.DescriptionName=m,exports.DescriptionNumberPhone=h,exports.DescriptionStatistic=_;
1
+ const e=require(`../../chunk-Bmb41Sf3.cjs`);require(`../../skeleton-C4suljHP.cjs`);const t=require(`../../image-D5vQS72z.cjs`),n=require(`../../flex-BYj-xYaw.cjs`),r=require(`../../paragraph-CqAtWDb_.cjs`),i=require(`../../date-DU8xM0hQ.cjs`),a=require(`../../tooltip-a3HDmxog.cjs`);let o=require(`@customafk/react-toolkit/utils`),s=require(`react/jsx-runtime`),c=require(`react`);const l=()=>(0,s.jsx)(`div`,{className:`flex items-center gap-0 font-medium text-sm text-text-positive-muted italic`,children:(0,s.jsx)(`p`,{children:`Empty Value`})}),u=({label:e})=>e?(0,s.jsx)(`div`,{className:`w-fit rounded-full border border-border-weak px-3 py-1 font-medium text-text-positive-weak text-xs tabular-nums shadow-xs`,children:e}):(0,s.jsx)(l,{}),d=({date:e})=>e==null?(0,s.jsx)(l,{}):(0,s.jsx)(a.r,{children:(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(i.t,{date:e,format:`medium`})}),(0,s.jsx)(a.n,{children:(0,s.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-xs`})})]})}),f=({images:e})=>!e||!e.length?(0,s.jsx)(l,{}):e.length===1?(0,s.jsx)(`div`,{className:`flex flex-wrap gap-4`,children:(0,s.jsx)(`div`,{className:`group relative size-42 rounded-sm border border-border shadow-xs`,children:(0,s.jsx)(t.t,{src:e[0].src,alt:e[0].alt,width:`100%`,height:`100%`})},e[0].id)}):(0,s.jsx)(`div`,{className:`flex flex-wrap gap-4`,children:e.map(e=>(0,s.jsx)(`div`,{className:`group relative size-16 rounded-lg border border-border shadow-xs`,children:(0,s.jsx)(t.t,{src:e.src,alt:e.alt,width:`100%`,height:`100%`})},e.id))}),p=({content:e})=>e==null?(0,s.jsx)(l,{}):(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(r.t,{variant:`sm`,className:`whitespace-pre-line break-all text-start text-sm`,children:e})}),(0,s.jsx)(a.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,s.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,s.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,s.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),m=({name:e})=>e?(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(r.t,{variant:`sm`,className:`line-clamp-2 w-full truncate`,children:e})}),(0,s.jsx)(a.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,s.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,s.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,s.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,s.jsx)(l,{}),h=({value:e})=>(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{children:(0,s.jsx)(r.t,{variant:`sm`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,s.jsx)(a.n,{align:`start`,children:(0,s.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),g=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},_=(0,c.memo)(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:r,suffix:i,precision:a,roundingMode:u=`round`,showTrailingZeros:d=!1,size:f=`sm`,value:p=0})=>{let m=(0,c.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&d&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,d]),h=(0,c.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=g(e,a,u)),t.toLocaleString(`en-US`,m)},[u,m,a]),_=(0,c.useMemo)(()=>{if(typeof p==`number`)return Number.isNaN(p)||!Number.isFinite(p)?`N/A`:h(p);if(typeof p==`string`){let e=p.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:h(t)}return`N/A`},[p,h]),v=(0,c.useMemo)(()=>e===`.`&&t===`,`?_:_.replace(/,/g,t).replace(/\./g,e),[_,e,t]);return v===`0`||v===`N/A`||!v?(0,s.jsx)(l,{}):(0,s.jsxs)(n.t,{padding:`none`,className:(0,o.cn)(`font-number text-lg text-text-positive tabular-nums`,f===`xs`&&`text-xs`,f===`sm`&&`text-sm`,f===`md`&&`text-base`,f===`lg`&&`text-lg`,f===`xl`&&`text-xl`),children:[r,(0,s.jsx)(`p`,{children:v}),i]})});_.displayName=`DescriptionStatistic`;const v=({label:e,labelColSpan:t=3,children:n})=>(0,s.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(12, minmax(0, 1fr))`},className:`grid border-b border-b-border`,children:[(0,s.jsx)(`div`,{style:{gridColumn:`span ${t} / span ${t}`},className:`flex min-w-full items-center justify-start overflow-x-hidden text-wrap break-all border-r border-r-border bg-secondary-muted py-3 pr-2 pl-4 text-sm text-text-positive-weak tabular-nums`,children:e}),(0,s.jsx)(`div`,{style:{gridColumn:`span ${12-t} / span ${12-t}`},className:`flex flex-wrap gap-2 py-3 pr-2 pl-4 text-sm text-text-positive`,children:n})]}),y=({children:e,className:t})=>(0,s.jsx)(`div`,{"data-slot":`description-wrapper`,className:(0,o.cn)(`relative flex size-full flex-col gap-y-0 space-y-0 rounded-lg border border-border bg-card shadow-xs ring-3 ring-border-muted`,t),children:e});exports.Description=y,exports.DescriptionBadge=u,exports.DescriptionDate=d,exports.DescriptionEmpty=l,exports.DescriptionImages=f,exports.DescriptionItem=v,exports.DescriptionLongText=p,exports.DescriptionName=m,exports.DescriptionNumberPhone=h,exports.DescriptionStatistic=_;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["DescriptionEmpty: React.FC","DescriptionBadge: React.FC<{\n label: string | number | null | undefined;\n}>","DescriptionDate: React.FC<Props>","TooltipProvider","Tooltip","TooltipTrigger","DateDisplay","TooltipContent","DescriptionImages: React.FC<{\n images?:\n | Array<{\n id: string;\n src: string;\n alt: string;\n }>\n | null\n | undefined;\n}>","Image","DescriptionLongText: React.FC<{ content: string | null | undefined | number }>","Tooltip","TooltipTrigger","Paragraph","TooltipContent","DescriptionName: React.FC<{\n name?: string | null | undefined;\n}>","Tooltip","TooltipTrigger","Paragraph","TooltipContent","DescriptionNumberPhone: React.FC<React.PropsWithChildren<{ value: string }>>","Tooltip","TooltipTrigger","Paragraph","TooltipContent","options: Intl.NumberFormatOptions","Flex","DescriptionItem: React.FC<\n React.PropsWithChildren<{\n label: string;\n labelColSpan?: number;\n }>\n>","Description: React.FC<React.PropsWithChildren>"],"sources":["../../../packages/components/features/descriptions/components/empty.tsx","../../../packages/components/features/descriptions/components/badge.tsx","../../../packages/components/features/descriptions/components/date.tsx","../../../packages/components/features/descriptions/components/images.tsx","../../../packages/components/features/descriptions/components/longtext.tsx","../../../packages/components/features/descriptions/components/name.tsx","../../../packages/components/features/descriptions/components/number-phone.tsx","../../../packages/components/features/descriptions/components/statistic.tsx","../../../packages/components/features/descriptions/index.tsx"],"sourcesContent":["export const DescriptionEmpty: React.FC = () => {\n return (\n <div className=\"flex items-center gap-0 font-medium text-sm text-text-positive-muted italic\">\n <p>Empty Value</p>\n </div>\n );\n};\n","import { DescriptionEmpty } from './empty';\n\nexport const DescriptionBadge: React.FC<{\n label: string | number | null | undefined;\n}> = ({ label }) => {\n if (!label) return <DescriptionEmpty />;\n return (\n <div className=\"w-fit rounded-full border border-border-weak px-3 py-1 font-medium text-text-positive-weak text-xs tabular-nums shadow-xs\">{label}</div>\n );\n};\n","import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { DateDisplay } from '@/components/data-display/date';\nimport { DescriptionEmpty } from './empty';\n\ntype Props = {\n date: Date | string | number | null | undefined;\n};\nexport const DescriptionDate: React.FC<Props> = ({ date }) => {\n if (typeof date === 'undefined' || date === null) return <DescriptionEmpty />;\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger>\n <DateDisplay date={date} format=\"medium\" />\n </TooltipTrigger>\n <TooltipContent>\n <DateDisplay date={date} format=\"full\" showTime className=\"font-medium text-xs\" />\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n","import { Image } from '@/components/ui/image';\n\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionImages: React.FC<{\n images?:\n | Array<{\n id: string;\n src: string;\n alt: string;\n }>\n | null\n | undefined;\n}> = ({ images }) => {\n if (!images || !images.length) return <DescriptionEmpty />;\n if (images.length === 1)\n return (\n <div className=\"flex flex-wrap gap-4\">\n <div key={images[0].id} className=\"group relative size-42 rounded-sm border border-border shadow-xs\">\n <Image src={images[0].src} alt={images[0].alt} width=\"100%\" height=\"100%\" />\n </div>\n </div>\n );\n return (\n <div className=\"flex flex-wrap gap-4\">\n {images.map(image => (\n <div key={image.id} className=\"group relative size-16 rounded-lg border border-border shadow-xs\">\n <Image src={image.src} alt={image.alt} width=\"100%\" height=\"100%\" />\n </div>\n ))}\n </div>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionLongText: React.FC<{ content: string | null | undefined | number }> = ({ content }) => {\n if (content === undefined || content === null) {\n return <DescriptionEmpty />;\n }\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"whitespace-pre-line break-all text-start text-sm\">\n {content}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <p className=\"whitespace-pre-line text-wrap break-keep\">{content}</p>\n <p className=\"w-full text-end\">{content.toString().length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionName: React.FC<{\n name?: string | null | undefined;\n}> = ({ name }) => {\n if (!name) return <DescriptionEmpty />;\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"line-clamp-2 w-full truncate\">\n {name}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <p className=\"whitespace-pre-line text-wrap break-keep\">{name}</p>\n <p className=\"w-full text-end\">{name.length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\n\nexport const DescriptionNumberPhone: React.FC<React.PropsWithChildren<{ value: string }>> = ({ value }) => {\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '(00) (+84) ($1) $2-$3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { memo, useCallback, useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Flex } from '@/components/layouts/flex';\nimport { DescriptionEmpty } from './empty';\n\nconst applyRounding = (num: number, precisionValue: number, roundingMode?: 'round' | 'floor' | 'ceil') => {\n const multiplier = 10 ** precisionValue;\n\n switch (roundingMode) {\n case 'floor':\n return Math.floor(num * multiplier) / multiplier;\n case 'ceil':\n return Math.ceil(num * multiplier) / multiplier;\n default:\n return Math.round(num * multiplier) / multiplier;\n }\n};\n\ntype Props = {\n decimalSeparator?: string;\n groupSeparator?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n precision?: number; // Số chữ số thập phân\n roundingMode?: 'round' | 'floor' | 'ceil'; // Kiểu làm tròn\n showTrailingZeros?: boolean; // Hiển thị số 0 cuối\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; // Kích thước của component\n value: number | string | null | undefined;\n};\n\nexport const DescriptionStatistic = memo(\n ({\n decimalSeparator = '.',\n groupSeparator = ',',\n prefix: Prefix,\n suffix: Suffix,\n precision,\n roundingMode = 'round',\n showTrailingZeros = false,\n size = 'sm',\n value = 0,\n }: Props) => {\n // Memoize number formatting options\n const formatOptions = useMemo((): Intl.NumberFormatOptions => {\n const options: Intl.NumberFormatOptions = {};\n\n if (typeof precision === 'number' && precision >= 0 && showTrailingZeros) {\n options.minimumFractionDigits = precision;\n options.maximumFractionDigits = precision;\n } else {\n options.maximumFractionDigits = precision;\n }\n\n return options;\n }, [precision, showTrailingZeros]);\n\n const formatNumber = useCallback(\n (num: number): string => {\n let processedNum = num;\n\n // Áp dụng làm tròn nếu có precision\n if (typeof precision === 'number' && precision >= 0) {\n processedNum = applyRounding(num, precision, roundingMode);\n }\n\n return processedNum.toLocaleString('en-US', formatOptions);\n },\n [roundingMode, formatOptions, precision]\n );\n\n // Memoize value processing\n const processedValue = useMemo((): string => {\n // Xử lý giá trị number\n if (typeof value === 'number') {\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n return 'N/A';\n }\n return formatNumber(value);\n }\n\n // Xử lý giá trị string\n if (typeof value === 'string') {\n const trimmedValue = value.trim();\n\n // Nếu là chuỗi rỗng\n if (!trimmedValue) {\n return 'N/A';\n }\n\n // Thử convert sang number\n const numValue = Number(trimmedValue);\n\n if (Number.isNaN(numValue) || !Number.isFinite(numValue)) {\n // Nếu không phải số, trả về string gốc\n return 'N/A';\n }\n\n return formatNumber(numValue);\n }\n\n return 'N/A';\n }, [value, formatNumber]);\n\n // Memoize separator replacement\n const finalFormattedValue = useMemo((): string => {\n // Chỉ thay thế separators nếu khác mặc định\n if (decimalSeparator === '.' && groupSeparator === ',') {\n return processedValue;\n }\n return processedValue.replace(/,/g, groupSeparator).replace(/\\./g, decimalSeparator);\n }, [processedValue, decimalSeparator, groupSeparator]);\n\n if (finalFormattedValue === '0' || finalFormattedValue === 'N/A' || !finalFormattedValue) {\n return <DescriptionEmpty />;\n }\n\n return (\n <Flex\n padding=\"none\"\n className={cn(\n 'font-number text-lg text-text-positive tabular-nums',\n size === 'xs' && 'text-xs',\n size === 'sm' && 'text-sm',\n size === 'md' && 'text-base',\n size === 'lg' && 'text-lg',\n size === 'xl' && 'text-xl'\n )}\n >\n {Prefix}\n <p>{finalFormattedValue}</p>\n {Suffix}\n </Flex>\n );\n }\n);\nDescriptionStatistic.displayName = 'DescriptionStatistic';\n","export * from './components'\n\nexport const DescriptionItem: React.FC<\n React.PropsWithChildren<{\n label: string;\n labelColSpan?: number;\n }>\n> = ({ label, labelColSpan = 3, children }) => {\n return (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(12, minmax(0, 1fr))',\n }}\n className=\"grid border-b border-b-border\"\n >\n <div\n style={{\n gridColumn: `span ${labelColSpan} / span ${labelColSpan}`,\n }}\n className=\"flex min-w-full items-center justify-start overflow-x-hidden text-wrap break-all border-r border-r-border bg-secondary-muted py-3 pr-2 pl-4 text-sm text-text-positive-weak tabular-nums\"\n >\n {label}\n </div>\n <div\n style={{\n gridColumn: `span ${12 - labelColSpan} / span ${12 - labelColSpan}`,\n }}\n className=\"flex flex-wrap gap-2 py-3 pr-2 pl-4 text-sm text-text-positive\"\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport const Description: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <div\n data-slot=\"description-wrapper\"\n className=\"relative flex size-full flex-col gap-y-0 space-y-0 overflow-hidden rounded-lg border border-border bg-card shadow-xs ring-3 ring-border-muted\"\n >\n {children}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["DescriptionEmpty: React.FC","DescriptionBadge: React.FC<{\n label: string | number | null | undefined;\n}>","DescriptionDate: React.FC<Props>","TooltipProvider","Tooltip","TooltipTrigger","DateDisplay","TooltipContent","DescriptionImages: React.FC<{\n images?:\n | Array<{\n id: string;\n src: string;\n alt: string;\n }>\n | null\n | undefined;\n}>","Image","DescriptionLongText: React.FC<{ content: string | null | undefined | number }>","Tooltip","TooltipTrigger","Paragraph","TooltipContent","DescriptionName: React.FC<{\n name?: string | null | undefined;\n}>","Tooltip","TooltipTrigger","Paragraph","TooltipContent","DescriptionNumberPhone: React.FC<React.PropsWithChildren<{ value: string }>>","Tooltip","TooltipTrigger","Paragraph","TooltipContent","options: Intl.NumberFormatOptions","Flex","DescriptionItem: React.FC<\n React.PropsWithChildren<{\n label: string;\n labelColSpan?: number;\n }>\n>","Description: React.FC<\n React.PropsWithChildren<{\n className?: string;\n }>\n>"],"sources":["../../../packages/components/features/descriptions/components/empty.tsx","../../../packages/components/features/descriptions/components/badge.tsx","../../../packages/components/features/descriptions/components/date.tsx","../../../packages/components/features/descriptions/components/images.tsx","../../../packages/components/features/descriptions/components/longtext.tsx","../../../packages/components/features/descriptions/components/name.tsx","../../../packages/components/features/descriptions/components/number-phone.tsx","../../../packages/components/features/descriptions/components/statistic.tsx","../../../packages/components/features/descriptions/index.tsx"],"sourcesContent":["export const DescriptionEmpty: React.FC = () => {\n return (\n <div className=\"flex items-center gap-0 font-medium text-sm text-text-positive-muted italic\">\n <p>Empty Value</p>\n </div>\n );\n};\n","import { DescriptionEmpty } from './empty';\n\nexport const DescriptionBadge: React.FC<{\n label: string | number | null | undefined;\n}> = ({ label }) => {\n if (!label) return <DescriptionEmpty />;\n return (\n <div className=\"w-fit rounded-full border border-border-weak px-3 py-1 font-medium text-text-positive-weak text-xs tabular-nums shadow-xs\">{label}</div>\n );\n};\n","import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { DateDisplay } from '@/components/data-display/date';\nimport { DescriptionEmpty } from './empty';\n\ntype Props = {\n date: Date | string | number | null | undefined;\n};\nexport const DescriptionDate: React.FC<Props> = ({ date }) => {\n if (typeof date === 'undefined' || date === null) return <DescriptionEmpty />;\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger>\n <DateDisplay date={date} format=\"medium\" />\n </TooltipTrigger>\n <TooltipContent>\n <DateDisplay date={date} format=\"full\" showTime className=\"font-medium text-xs\" />\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n","import { Image } from '@/components/ui/image';\n\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionImages: React.FC<{\n images?:\n | Array<{\n id: string;\n src: string;\n alt: string;\n }>\n | null\n | undefined;\n}> = ({ images }) => {\n if (!images || !images.length) return <DescriptionEmpty />;\n if (images.length === 1)\n return (\n <div className=\"flex flex-wrap gap-4\">\n <div key={images[0].id} className=\"group relative size-42 rounded-sm border border-border shadow-xs\">\n <Image src={images[0].src} alt={images[0].alt} width=\"100%\" height=\"100%\" />\n </div>\n </div>\n );\n return (\n <div className=\"flex flex-wrap gap-4\">\n {images.map(image => (\n <div key={image.id} className=\"group relative size-16 rounded-lg border border-border shadow-xs\">\n <Image src={image.src} alt={image.alt} width=\"100%\" height=\"100%\" />\n </div>\n ))}\n </div>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionLongText: React.FC<{ content: string | null | undefined | number }> = ({ content }) => {\n if (content === undefined || content === null) {\n return <DescriptionEmpty />;\n }\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"whitespace-pre-line break-all text-start text-sm\">\n {content}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <p className=\"whitespace-pre-line text-wrap break-keep\">{content}</p>\n <p className=\"w-full text-end\">{content.toString().length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionName: React.FC<{\n name?: string | null | undefined;\n}> = ({ name }) => {\n if (!name) return <DescriptionEmpty />;\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"line-clamp-2 w-full truncate\">\n {name}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <p className=\"whitespace-pre-line text-wrap break-keep\">{name}</p>\n <p className=\"w-full text-end\">{name.length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\n\nexport const DescriptionNumberPhone: React.FC<React.PropsWithChildren<{ value: string }>> = ({ value }) => {\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '(00) (+84) ($1) $2-$3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { memo, useCallback, useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Flex } from '@/components/layouts/flex';\nimport { DescriptionEmpty } from './empty';\n\nconst applyRounding = (num: number, precisionValue: number, roundingMode?: 'round' | 'floor' | 'ceil') => {\n const multiplier = 10 ** precisionValue;\n\n switch (roundingMode) {\n case 'floor':\n return Math.floor(num * multiplier) / multiplier;\n case 'ceil':\n return Math.ceil(num * multiplier) / multiplier;\n default:\n return Math.round(num * multiplier) / multiplier;\n }\n};\n\ntype Props = {\n decimalSeparator?: string;\n groupSeparator?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n precision?: number; // Số chữ số thập phân\n roundingMode?: 'round' | 'floor' | 'ceil'; // Kiểu làm tròn\n showTrailingZeros?: boolean; // Hiển thị số 0 cuối\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; // Kích thước của component\n value: number | string | null | undefined;\n};\n\nexport const DescriptionStatistic = memo(\n ({\n decimalSeparator = '.',\n groupSeparator = ',',\n prefix: Prefix,\n suffix: Suffix,\n precision,\n roundingMode = 'round',\n showTrailingZeros = false,\n size = 'sm',\n value = 0,\n }: Props) => {\n // Memoize number formatting options\n const formatOptions = useMemo((): Intl.NumberFormatOptions => {\n const options: Intl.NumberFormatOptions = {};\n\n if (typeof precision === 'number' && precision >= 0 && showTrailingZeros) {\n options.minimumFractionDigits = precision;\n options.maximumFractionDigits = precision;\n } else {\n options.maximumFractionDigits = precision;\n }\n\n return options;\n }, [precision, showTrailingZeros]);\n\n const formatNumber = useCallback(\n (num: number): string => {\n let processedNum = num;\n\n // Áp dụng làm tròn nếu có precision\n if (typeof precision === 'number' && precision >= 0) {\n processedNum = applyRounding(num, precision, roundingMode);\n }\n\n return processedNum.toLocaleString('en-US', formatOptions);\n },\n [roundingMode, formatOptions, precision]\n );\n\n // Memoize value processing\n const processedValue = useMemo((): string => {\n // Xử lý giá trị number\n if (typeof value === 'number') {\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n return 'N/A';\n }\n return formatNumber(value);\n }\n\n // Xử lý giá trị string\n if (typeof value === 'string') {\n const trimmedValue = value.trim();\n\n // Nếu là chuỗi rỗng\n if (!trimmedValue) {\n return 'N/A';\n }\n\n // Thử convert sang number\n const numValue = Number(trimmedValue);\n\n if (Number.isNaN(numValue) || !Number.isFinite(numValue)) {\n // Nếu không phải số, trả về string gốc\n return 'N/A';\n }\n\n return formatNumber(numValue);\n }\n\n return 'N/A';\n }, [value, formatNumber]);\n\n // Memoize separator replacement\n const finalFormattedValue = useMemo((): string => {\n // Chỉ thay thế separators nếu khác mặc định\n if (decimalSeparator === '.' && groupSeparator === ',') {\n return processedValue;\n }\n return processedValue.replace(/,/g, groupSeparator).replace(/\\./g, decimalSeparator);\n }, [processedValue, decimalSeparator, groupSeparator]);\n\n if (finalFormattedValue === '0' || finalFormattedValue === 'N/A' || !finalFormattedValue) {\n return <DescriptionEmpty />;\n }\n\n return (\n <Flex\n padding=\"none\"\n className={cn(\n 'font-number text-lg text-text-positive tabular-nums',\n size === 'xs' && 'text-xs',\n size === 'sm' && 'text-sm',\n size === 'md' && 'text-base',\n size === 'lg' && 'text-lg',\n size === 'xl' && 'text-xl'\n )}\n >\n {Prefix}\n <p>{finalFormattedValue}</p>\n {Suffix}\n </Flex>\n );\n }\n);\nDescriptionStatistic.displayName = 'DescriptionStatistic';\n","import { cn } from '@customafk/react-toolkit/utils';\n\nexport * from './components';\n\nexport const DescriptionItem: React.FC<\n React.PropsWithChildren<{\n label: string;\n labelColSpan?: number;\n }>\n> = ({ label, labelColSpan = 3, children }) => {\n return (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(12, minmax(0, 1fr))',\n }}\n className=\"grid border-b border-b-border\"\n >\n <div\n style={{\n gridColumn: `span ${labelColSpan} / span ${labelColSpan}`,\n }}\n className=\"flex min-w-full items-center justify-start overflow-x-hidden text-wrap break-all border-r border-r-border bg-secondary-muted py-3 pr-2 pl-4 text-sm text-text-positive-weak tabular-nums\"\n >\n {label}\n </div>\n <div\n style={{\n gridColumn: `span ${12 - labelColSpan} / span ${12 - labelColSpan}`,\n }}\n className=\"flex flex-wrap gap-2 py-3 pr-2 pl-4 text-sm text-text-positive\"\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport const Description: React.FC<\n React.PropsWithChildren<{\n className?: string;\n }>\n> = ({ children, className }) => {\n return (\n <div\n data-slot=\"description-wrapper\"\n className={cn('relative flex size-full flex-col gap-y-0 space-y-0 rounded-lg border border-border bg-card shadow-xs ring-3 ring-border-muted', className)}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"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"}