@bigbinary/neeto-atoms 1.0.50 → 1.0.52

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 (139) hide show
  1. package/dist/{Callout-ClNFeMbn.js → Callout-NVYmCwJL.js} +3 -2
  2. package/dist/{Callout-ClNFeMbn.js.map → Callout-NVYmCwJL.js.map} +1 -1
  3. package/dist/{DataTable-CHxdhAU2.js → DataTable-1-31X8Kf.js} +46 -8
  4. package/dist/DataTable-1-31X8Kf.js.map +1 -0
  5. package/dist/{Empty-fV1Yplri.js → Empty-DdthjwJz.js} +2 -2
  6. package/dist/{Empty-fV1Yplri.js.map → Empty-DdthjwJz.js.map} +1 -1
  7. package/dist/{Input-C_aFPEXD.js → Input-Bxs8n6xp.js} +2 -2
  8. package/dist/Input-Bxs8n6xp.js.map +1 -0
  9. package/dist/{Kbd-CJOM9x4C.js → Kbd-CAIAs4OO.js} +11 -4
  10. package/dist/Kbd-CAIAs4OO.js.map +1 -0
  11. package/dist/{Label-CrCRic4I.js → Label-CS8ErCaf.js} +2 -2
  12. package/dist/{Label-CrCRic4I.js.map → Label-CS8ErCaf.js.map} +1 -1
  13. package/dist/{MultiEmailInput-DhjSEXbS.js → MultiEmailInput-Du1964Ka.js} +2 -2
  14. package/dist/{MultiEmailInput-DhjSEXbS.js.map → MultiEmailInput-Du1964Ka.js.map} +1 -1
  15. package/dist/{Popover-Cco_6txS.js → Popover-C1FNlRtU.js} +2 -2
  16. package/dist/{Popover-Cco_6txS.js.map → Popover-C1FNlRtU.js.map} +1 -1
  17. package/dist/Toastr-tmAtpmwv.js +182 -0
  18. package/dist/Toastr-tmAtpmwv.js.map +1 -0
  19. package/dist/{Typography-CiQzW5Fy.js → Typography-CmILccNh.js} +3 -2
  20. package/dist/Typography-CmILccNh.js.map +1 -0
  21. package/dist/cjs/{Callout-_XBx1JHL.js → Callout-CYIrflF1.js} +4 -3
  22. package/dist/cjs/{Callout-_XBx1JHL.js.map → Callout-CYIrflF1.js.map} +1 -1
  23. package/dist/cjs/{DataTable-CgQRfaIc.js → DataTable-CT2pgEhZ.js} +46 -8
  24. package/dist/cjs/DataTable-CT2pgEhZ.js.map +1 -0
  25. package/dist/cjs/{Empty-DqmmPlPJ.js → Empty-AEIH-jLF.js} +2 -2
  26. package/dist/cjs/{Empty-DqmmPlPJ.js.map → Empty-AEIH-jLF.js.map} +1 -1
  27. package/dist/cjs/{Input-BngZja62.js → Input-BQh-GS_w.js} +2 -2
  28. package/dist/cjs/Input-BQh-GS_w.js.map +1 -0
  29. package/dist/cjs/{Kbd-D2nELu5m.js → Kbd-BvC3VSNb.js} +11 -4
  30. package/dist/cjs/Kbd-BvC3VSNb.js.map +1 -0
  31. package/dist/cjs/{Label-DFkiC2Jk.js → Label-OpNoSl0F.js} +2 -2
  32. package/dist/cjs/{Label-DFkiC2Jk.js.map → Label-OpNoSl0F.js.map} +1 -1
  33. package/dist/cjs/{MultiEmailInput-BZtzoX7D.js → MultiEmailInput-KmN2BSaX.js} +2 -2
  34. package/dist/cjs/{MultiEmailInput-BZtzoX7D.js.map → MultiEmailInput-KmN2BSaX.js.map} +1 -1
  35. package/dist/cjs/{Popover-Br9hkU5i.js → Popover-DuRSsDHz.js} +2 -2
  36. package/dist/cjs/{Popover-Br9hkU5i.js.map → Popover-DuRSsDHz.js.map} +1 -1
  37. package/dist/cjs/Toastr-CQ-R8VcZ.js +184 -0
  38. package/dist/cjs/Toastr-CQ-R8VcZ.js.map +1 -0
  39. package/dist/cjs/{Typography-UyaYuppP.js → Typography-BW6xEk10.js} +3 -2
  40. package/dist/cjs/Typography-BW6xEk10.js.map +1 -0
  41. package/dist/cjs/components/Callout.js +3 -2
  42. package/dist/cjs/components/Callout.js.map +1 -1
  43. package/dist/cjs/components/DataTable.js +5 -1
  44. package/dist/cjs/components/DataTable.js.map +1 -1
  45. package/dist/cjs/components/Empty.js +2 -2
  46. package/dist/cjs/components/Input.js +2 -2
  47. package/dist/cjs/components/Kbd.js +1 -1
  48. package/dist/cjs/components/Label.js +3 -3
  49. package/dist/cjs/components/MultiEmailInput.js +2 -2
  50. package/dist/cjs/components/Popover.js +2 -2
  51. package/dist/cjs/components/Toastr.js +8 -2
  52. package/dist/cjs/components/Toastr.js.map +1 -1
  53. package/dist/cjs/components/Typography.js +1 -1
  54. package/dist/cjs/components/index.js +14 -13
  55. package/dist/cjs/components/index.js.map +1 -1
  56. package/dist/cjs/formik/Input.js +2 -2
  57. package/dist/cjs/formik/MultiEmailInput.js +2 -2
  58. package/dist/cjs/formik/index.js +3 -3
  59. package/dist/cjs/{index-Vlwnyfvs.js → index-CPmGpPzg.js} +39 -1
  60. package/dist/cjs/index-CPmGpPzg.js.map +1 -0
  61. package/dist/cjs/index.js +14 -13
  62. package/dist/cjs/index.js.map +1 -1
  63. package/dist/cjs/info-DGfDptn1.js +21 -0
  64. package/dist/cjs/info-DGfDptn1.js.map +1 -0
  65. package/dist/cjs/primitives/Kbd.js +39 -10
  66. package/dist/cjs/primitives/Kbd.js.map +1 -1
  67. package/dist/cjs/primitives/Sonner.js +7 -41
  68. package/dist/cjs/primitives/Sonner.js.map +1 -1
  69. package/dist/cjs/primitives/index.js +3 -2
  70. package/dist/cjs/primitives/index.js.map +1 -1
  71. package/dist/cjs/{triangle-alert-ZUMRpmzW.js → triangle-alert-CC-cck8p.js} +1 -17
  72. package/dist/cjs/triangle-alert-CC-cck8p.js.map +1 -0
  73. package/dist/cjs/{withIconSize-BKUwVY6t.js → withIconSize-C6LP0R7o.js} +5 -1
  74. package/dist/cjs/withIconSize-C6LP0R7o.js.map +1 -0
  75. package/dist/components/Callout.js +3 -2
  76. package/dist/components/Callout.js.map +1 -1
  77. package/dist/components/DataTable/components/HeaderDescription.d.ts +6 -0
  78. package/dist/components/DataTable.js +5 -1
  79. package/dist/components/DataTable.js.map +1 -1
  80. package/dist/components/Empty.js +2 -2
  81. package/dist/components/Input/Input.d.ts +7 -4
  82. package/dist/components/Input.js +2 -2
  83. package/dist/components/Kbd/Kbd.d.ts +1 -1
  84. package/dist/components/Kbd.js +1 -1
  85. package/dist/components/Label.js +3 -3
  86. package/dist/components/MultiEmailInput/types.d.ts +7 -4
  87. package/dist/components/MultiEmailInput.js +2 -2
  88. package/dist/components/Popover.js +2 -2
  89. package/dist/components/Toastr/Toastr.d.ts +3 -1
  90. package/dist/components/Toastr/ToastrBody.d.ts +12 -0
  91. package/dist/components/Toastr/utils.d.ts +1 -3
  92. package/dist/components/Toastr.js +8 -2
  93. package/dist/components/Toastr.js.map +1 -1
  94. package/dist/components/Typography/Typography.d.ts +13 -2
  95. package/dist/components/Typography.js +1 -1
  96. package/dist/components/index.js +14 -13
  97. package/dist/components/index.js.map +1 -1
  98. package/dist/formik/Input.js +2 -2
  99. package/dist/formik/MultiEmailInput.js +2 -2
  100. package/dist/formik/index.js +3 -3
  101. package/dist/{index-D_roZz8G.js → index-CDo_esrR.js} +38 -2
  102. package/dist/index-CDo_esrR.js.map +1 -0
  103. package/dist/index.css +3 -0
  104. package/dist/index.js +14 -13
  105. package/dist/index.js.map +1 -1
  106. package/dist/info-BlwkmMZr.js +19 -0
  107. package/dist/info-BlwkmMZr.js.map +1 -0
  108. package/dist/primitives/Kbd.d.ts +3 -4
  109. package/dist/primitives/Kbd.js +20 -10
  110. package/dist/primitives/Kbd.js.map +1 -1
  111. package/dist/primitives/Sonner.js +4 -38
  112. package/dist/primitives/Sonner.js.map +1 -1
  113. package/dist/primitives/index.js +3 -2
  114. package/dist/primitives/index.js.map +1 -1
  115. package/dist/shadcn/components/kbd.d.ts +3 -2
  116. package/dist/{triangle-alert-PXnNWQy_.js → triangle-alert-C434HydH.js} +2 -17
  117. package/dist/triangle-alert-C434HydH.js.map +1 -0
  118. package/dist/utils/withIconSize.d.ts +10 -6
  119. package/dist/{withIconSize-Czt1EelO.js → withIconSize-BonoFXeH.js} +5 -1
  120. package/dist/withIconSize-BonoFXeH.js.map +1 -0
  121. package/package.json +1 -1
  122. package/dist/DataTable-CHxdhAU2.js.map +0 -1
  123. package/dist/Input-C_aFPEXD.js.map +0 -1
  124. package/dist/Kbd-CJOM9x4C.js.map +0 -1
  125. package/dist/Toastr-BimwuEnS.js +0 -95
  126. package/dist/Toastr-BimwuEnS.js.map +0 -1
  127. package/dist/Typography-CiQzW5Fy.js.map +0 -1
  128. package/dist/cjs/DataTable-CgQRfaIc.js.map +0 -1
  129. package/dist/cjs/Input-BngZja62.js.map +0 -1
  130. package/dist/cjs/Kbd-D2nELu5m.js.map +0 -1
  131. package/dist/cjs/Toastr-DYWd66L7.js +0 -97
  132. package/dist/cjs/Toastr-DYWd66L7.js.map +0 -1
  133. package/dist/cjs/Typography-UyaYuppP.js.map +0 -1
  134. package/dist/cjs/index-Vlwnyfvs.js.map +0 -1
  135. package/dist/cjs/triangle-alert-ZUMRpmzW.js.map +0 -1
  136. package/dist/cjs/withIconSize-BKUwVY6t.js.map +0 -1
  137. package/dist/index-D_roZz8G.js.map +0 -1
  138. package/dist/triangle-alert-PXnNWQy_.js.map +0 -1
  139. package/dist/withIconSize-Czt1EelO.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toastr-tmAtpmwv.js","sources":["../src/components/Toastr/ToastrBody.tsx","../src/components/Toastr/utils.ts","../src/components/Toastr/Toastr.tsx"],"sourcesContent":["import {\n CircleCheckIcon,\n InfoIcon,\n OctagonXIcon,\n TriangleAlertIcon,\n XIcon,\n type LucideIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\n\ntype ToastrType = \"success\" | \"info\" | \"warning\" | \"error\";\n\nconst ICONS: Record<ToastrType, LucideIcon> = {\n success: CircleCheckIcon,\n info: InfoIcon,\n warning: TriangleAlertIcon,\n error: OctagonXIcon,\n};\n\nconst VARIANT_CLASSES: Record<ToastrType, string> = {\n success:\n \"bg-success-solid text-success-solid-foreground border-success-solid/30\",\n error: \"bg-error-solid text-error-solid-foreground border-error-solid/30\",\n warning:\n \"bg-warning-solid text-warning-solid-foreground border-warning-solid/30\",\n info: \"bg-info-solid text-info-solid-foreground border-info-solid/30\",\n};\n\nexport interface ToastrBodyProps {\n type: ToastrType;\n message: string;\n showIcon?: boolean;\n dismissible?: boolean;\n buttonLabel?: string;\n onAction?: () => void;\n onDismiss: () => void;\n}\n\nconst ToastrBody = ({\n type,\n message,\n showIcon = true,\n dismissible = true,\n buttonLabel,\n onAction,\n onDismiss,\n}: ToastrBodyProps) => {\n const Icon = ICONS[type];\n\n return (\n <div\n role={type === \"error\" || type === \"warning\" ? \"alert\" : \"status\"}\n className={cn(\n \"flex w-full items-center gap-3 rounded-md border px-4 py-3 text-sm shadow-lg\",\n VARIANT_CLASSES[type]\n )}\n >\n {showIcon && <Icon aria-hidden className=\"size-4 shrink-0\" />}\n <span className=\"flex-1\">{message}</span>\n {buttonLabel && (\n <button\n type=\"button\"\n onClick={onAction}\n className=\"shrink-0 text-sm font-medium underline-offset-2 hover:underline\"\n >\n {buttonLabel}\n </button>\n )}\n {dismissible && (\n <button\n type=\"button\"\n aria-label=\"Dismiss\"\n onClick={onDismiss}\n className=\"shrink-0 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2\"\n >\n <XIcon aria-hidden className=\"size-4\" />\n </button>\n )}\n </div>\n );\n};\n\nexport { ToastrBody };\n","import type { ToastrConfig, ToastrErrorInput, ToastrMessage } from \"./Toastr\";\n\nconst activeToasts = new Set<string>();\n\nfunction toastKey(type: string, message: string, buttonLabel?: string): string {\n return `${type}::${message}::${buttonLabel ?? \"\"}`;\n}\n\nfunction getContentDir(): \"ltr\" | \"rtl\" {\n if (typeof document === \"undefined\") return \"ltr\";\n return (\n (document.documentElement.getAttribute(\"dir\") as \"ltr\" | \"rtl\") ??\n (document.body.getAttribute(\"dir\") as \"ltr\" | \"rtl\") ??\n \"ltr\"\n );\n}\n\nfunction resolveMessage(message: ToastrMessage): string {\n if (typeof message === \"string\") return message;\n if (message && typeof message === \"object\") {\n if (message.customMessage) return message.customMessage;\n if (message.notice) return message.notice;\n if (message.noticeCode) return message.noticeCode;\n }\n return String(message);\n}\n\nfunction resolveErrorMessage(errorObject: ToastrErrorInput): string {\n if (typeof errorObject === \"string\") return errorObject;\n\n if (errorObject && typeof errorObject === \"object\") {\n // Axios-style error\n const axiosLike = errorObject as {\n response?: { data?: Record<string, unknown> };\n message?: string;\n isAxiosError?: boolean;\n };\n\n if (axiosLike.response?.data) {\n const data = axiosLike.response.data;\n if (data.customMessage) return String(data.customMessage);\n if (data.error) return String(data.error);\n if (Array.isArray(data.errors)) return data.errors.join(\"\\n\");\n if (data.noticeCode) return String(data.noticeCode);\n }\n\n if (axiosLike.isAxiosError && axiosLike.message) return axiosLike.message;\n\n // Native Error\n if (errorObject instanceof Error) return errorObject.message;\n\n // ToastrMessage object\n return resolveMessage(errorObject as ToastrMessage);\n }\n\n return \"Something went wrong.\";\n}\n\nfunction parseConfig(args: unknown[]): ToastrConfig {\n if (args.length === 0) return {};\n\n const first = args[0];\n if (typeof first === \"object\" && first !== null && !Array.isArray(first)) {\n return first as ToastrConfig;\n }\n\n // Legacy positional args: buttonLabel, onClick, customConfig, showIcon\n const [buttonLabel, onClick, customConfig, showIcon] = args as [\n string?,\n (() => void)?,\n Record<string, unknown>?,\n boolean?,\n ];\n\n return {\n ...(buttonLabel ? { buttonLabel } : {}),\n ...(onClick ? { onClick } : {}),\n ...(showIcon !== undefined ? { showIcon } : {}),\n ...(customConfig ?? {}),\n };\n}\n\nexport {\n activeToasts,\n getContentDir,\n parseConfig,\n resolveErrorMessage,\n resolveMessage,\n toastKey,\n};\n","import { toast } from \"sonner\";\n\nimport { ToastrBody } from \"./ToastrBody\";\nimport {\n activeToasts,\n getContentDir,\n parseConfig,\n resolveErrorMessage,\n resolveMessage,\n toastKey,\n} from \"./utils\";\n\nexport interface ToastrConfig {\n /** Label for an action button inside the toast. */\n buttonLabel?: string;\n /** Callback when the action button is clicked. */\n onClick?: () => void;\n /** Whether to show the type icon in the toast. */\n showIcon?: boolean;\n /** Whether the toast can be dismissed (shows X button + enables swipe). Defaults to true. */\n dismissible?: boolean;\n /** Additional sonner toast options (duration, position, etc.). */\n [key: string]: unknown;\n}\n\nexport type ToastrMessage =\n | string\n | { noticeCode?: string; customMessage?: string; notice?: string };\n\nexport type ToastrErrorInput =\n | string\n | Error\n | {\n response?: { data?: Record<string, unknown> };\n message?: string;\n isAxiosError?: boolean;\n }\n | ToastrMessage;\n\ntype SonnerType = \"success\" | \"info\" | \"warning\" | \"error\";\n\nfunction showToast(\n type: SonnerType,\n message: string,\n config?: ToastrConfig\n): string | number | undefined {\n const {\n buttonLabel,\n onClick,\n showIcon,\n dismissible = true,\n onDismiss: userOnDismiss,\n onAutoClose: userOnAutoClose,\n ...restConfig\n } = config ?? {};\n\n const key = toastKey(type, message, buttonLabel);\n\n if (activeToasts.has(key)) return undefined;\n activeToasts.add(key);\n\n const options: Record<string, unknown> = {\n ...restConfig,\n position: getContentDir() === \"rtl\" ? \"bottom-right\" : \"bottom-left\",\n dismissible,\n onDismiss: (t: unknown) => {\n activeToasts.delete(key);\n (userOnDismiss as ((t: unknown) => void) | undefined)?.(t);\n },\n onAutoClose: (t: unknown) => {\n activeToasts.delete(key);\n (userOnAutoClose as ((t: unknown) => void) | undefined)?.(t);\n },\n };\n\n return toast.custom(\n id => (\n <ToastrBody\n buttonLabel={buttonLabel}\n dismissible={dismissible}\n message={message}\n showIcon={showIcon}\n type={type}\n onAction={() => {\n try {\n onClick?.();\n } finally {\n toast.dismiss(id);\n }\n }}\n onDismiss={() => toast.dismiss(id)}\n />\n ),\n options\n );\n}\n\nconst Toastr = {\n success(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"success\", resolveMessage(message), parseConfig(args));\n },\n\n info(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"info\", resolveMessage(message), parseConfig(args));\n },\n\n show(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"info\", resolveMessage(message), parseConfig(args));\n },\n\n warning(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"warning\", resolveMessage(message), parseConfig(args));\n },\n\n error(errorObject: ToastrErrorInput, ...args: unknown[]) {\n const msg = resolveErrorMessage(errorObject);\n return showToast(\"error\", msg, parseConfig(args));\n },\n};\n\nexport { Toastr };\n"],"names":["CircleCheckIcon","InfoIcon","TriangleAlertIcon","OctagonXIcon","XIcon"],"mappings":"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"}
@@ -74,9 +74,10 @@ const Typography = forwardRef(
74
74
  color = "default",
75
75
  lineClamp,
76
76
  asChild = false,
77
+ as,
77
78
  ...props
78
79
  }, ref) => {
79
- const Comp = asChild ? Slot : defaultElementMap[variant ?? "body3"] ?? "p";
80
+ const Comp = asChild ? Slot : as ?? defaultElementMap[variant ?? "body3"] ?? "p";
80
81
  return /* @__PURE__ */ jsx(
81
82
  Comp,
82
83
  {
@@ -94,4 +95,4 @@ const Typography = forwardRef(
94
95
  Typography.displayName = "Typography";
95
96
 
96
97
  export { Typography as T, typographyVariants as t };
97
- //# sourceMappingURL=Typography-CiQzW5Fy.js.map
98
+ //# sourceMappingURL=Typography-CmILccNh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography-CmILccNh.js","sources":["../src/components/Typography/Typography.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\n\nconst typographyVariants = cva(\"\", {\n variants: {\n variant: {\n jumbo: \"text-5xl font-semibold leading-none tracking-tight\",\n h1: \"text-[2.5rem] font-semibold leading-tight tracking-tight\",\n h2: \"text-[2rem] font-semibold leading-tight tracking-tight\",\n h3: \"text-[1.75rem] font-semibold leading-tight\",\n h4: \"text-2xl font-semibold leading-tight\",\n h5: \"text-xl font-semibold leading-tight\",\n h6: \"text-base font-semibold leading-tight\",\n body1: \"text-base leading-normal\",\n body2: \"text-[15px] leading-normal\",\n body3: \"text-sm leading-normal\",\n caption: \"text-xs leading-normal\",\n nano: \"text-[10px] leading-normal\",\n code: \"font-mono text-sm\",\n },\n weight: {\n thin: \"font-thin\",\n extralight: \"font-extralight\",\n light: \"font-light\",\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n extrabold: \"font-extrabold\",\n black: \"font-black\",\n },\n color: {\n default: \"text-foreground\",\n muted: \"text-muted-foreground\",\n primary: \"text-primary\",\n destructive: \"text-destructive\",\n inherit: \"text-inherit\",\n },\n lineClamp: {\n none: \"\",\n 1: \"line-clamp-1\",\n 2: \"line-clamp-2\",\n 3: \"line-clamp-3\",\n },\n },\n defaultVariants: {\n variant: \"body3\",\n color: \"default\",\n },\n});\n\nconst defaultElementMap: Record<string, keyof React.JSX.IntrinsicElements> = {\n jumbo: \"h1\",\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n body1: \"p\",\n body2: \"p\",\n body3: \"p\",\n caption: \"span\",\n nano: \"span\",\n code: \"code\",\n};\n\nconst Typography = forwardRef<\n HTMLElement,\n React.HTMLAttributes<HTMLElement> &\n VariantProps<typeof typographyVariants> & {\n asChild?: boolean;\n /**\n * Renders Typography as the given tag (e.g. `\"code\"`, `\"span\"`).\n * Use this when the rendered element only needs generic HTML\n * attributes — common for `<Trans>` templates and other\n * string-child consumers.\n *\n * For element-specific attributes (e.g. `href` on an anchor) prefer\n * `asChild` with a real element child, which gives full type\n * safety on that element's props.\n */\n as?: React.ElementType;\n }\n>(\n (\n {\n className,\n variant = \"body3\",\n weight,\n color = \"default\",\n lineClamp,\n asChild = false,\n as,\n ...props\n },\n ref\n ) => {\n const Comp = (\n asChild ? Slot.Root : (as ?? defaultElementMap[variant ?? \"body3\"] ?? \"p\")\n ) as React.ElementType;\n\n return (\n <Comp\n ref={ref}\n data-slot=\"typography\"\n data-variant={variant}\n className={cn(\n typographyVariants({ variant, weight, color, lineClamp, className })\n )}\n {...props}\n />\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography, typographyVariants };\n"],"names":["Slot.Root"],"mappings":";;;;;;AAMA,MAAM,kBAAA,GAAqB,IAAI,EAAA,EAAI;AAAA,EACjC,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,oDAAA;AAAA,MACP,EAAA,EAAI,0DAAA;AAAA,MACJ,EAAA,EAAI,wDAAA;AAAA,MACJ,EAAA,EAAI,4CAAA;AAAA,MACJ,EAAA,EAAI,sCAAA;AAAA,MACJ,EAAA,EAAI,qCAAA;AAAA,MACJ,EAAA,EAAI,uCAAA;AAAA,MACJ,KAAA,EAAO,0BAAA;AAAA,MACP,KAAA,EAAO,4BAAA;AAAA,MACP,KAAA,EAAO,wBAAA;AAAA,MACP,OAAA,EAAS,wBAAA;AAAA,MACT,IAAA,EAAM,4BAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,WAAA;AAAA,MACN,UAAA,EAAY,iBAAA;AAAA,MACZ,KAAA,EAAO,YAAA;AAAA,MACP,MAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAU,eAAA;AAAA,MACV,IAAA,EAAM,WAAA;AAAA,MACN,SAAA,EAAW,gBAAA;AAAA,MACX,KAAA,EAAO;AAAA,KACT;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,iBAAA;AAAA,MACT,KAAA,EAAO,uBAAA;AAAA,MACP,OAAA,EAAS,cAAA;AAAA,MACT,WAAA,EAAa,kBAAA;AAAA,MACb,OAAA,EAAS;AAAA,KACX;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,EAAA;AAAA,MACN,CAAA,EAAG,cAAA;AAAA,MACH,CAAA,EAAG,cAAA;AAAA,MACH,CAAA,EAAG;AAAA;AACL,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,OAAA;AAAA,IACT,KAAA,EAAO;AAAA;AAEX,CAAC;AAED,MAAM,iBAAA,GAAuE;AAAA,EAC3E,KAAA,EAAO,IAAA;AAAA,EACP,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,KAAA,EAAO,GAAA;AAAA,EACP,KAAA,EAAO,GAAA;AAAA,EACP,KAAA,EAAO,GAAA;AAAA,EACP,OAAA,EAAS,MAAA;AAAA,EACT,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AACR,CAAA;AAEA,MAAM,UAAA,GAAa,UAAA;AAAA,EAkBjB,CACE;AAAA,IACE,SAAA;AAAA,IACA,OAAA,GAAU,OAAA;AAAA,IACV,MAAA;AAAA,IACA,KAAA,GAAQ,SAAA;AAAA,IACR,SAAA;AAAA,IACA,OAAA,GAAU,KAAA;AAAA,IACV,EAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,IAAA,GACJ,UAAUA,IAAK,GAAQ,MAAM,iBAAA,CAAkB,OAAA,IAAW,OAAO,CAAA,IAAK,GAAA;AAGxE,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,YAAA;AAAA,QACV,cAAA,EAAc,OAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA,UACT,mBAAmB,EAAE,OAAA,EAAS,QAAQ,KAAA,EAAO,SAAA,EAAW,WAAW;AAAA,SACrE;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;;;"}
@@ -6,7 +6,8 @@ var primitives_Alert = require('./primitives/Alert.js');
6
6
  var utils = require('./utils-BhM0B89p.js');
7
7
  var renderIcon = require('./renderIcon-BRrpZu9a.js');
8
8
  var createLucideIcon = require('./createLucideIcon-D0tRgV6l.js');
9
- var triangleAlert = require('./triangle-alert-ZUMRpmzW.js');
9
+ var triangleAlert = require('./triangle-alert-CC-cck8p.js');
10
+ var info = require('./info-DGfDptn1.js');
10
11
 
11
12
  /**
12
13
  * @license lucide-react v0.577.0 - ISC
@@ -40,7 +41,7 @@ const CircleCheckBig = createLucideIcon.createLucideIcon("circle-check-big", __i
40
41
  const VARIANT_CONFIG = {
41
42
  info: {
42
43
  container: "border border-info-border bg-info text-info-foreground",
43
- icon: triangleAlert.Info
44
+ icon: info.Info
44
45
  },
45
46
  warning: {
46
47
  container: "border border-warning-border bg-warning text-warning-foreground",
@@ -78,4 +79,4 @@ const Callout = React.forwardRef(
78
79
  Callout.displayName = "Callout";
79
80
 
80
81
  exports.Callout = Callout;
81
- //# sourceMappingURL=Callout-_XBx1JHL.js.map
82
+ //# sourceMappingURL=Callout-CYIrflF1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Callout-_XBx1JHL.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-alert.js","../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js","../../src/components/Callout/constants.ts","../../src/components/Callout/Callout.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n];\nconst CircleAlert = createLucideIcon(\"circle-alert\", __iconNode);\n\nexport { __iconNode, CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21.801 10A10 10 0 1 1 17 3.335\", key: \"yps3ct\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n];\nconst CircleCheckBig = createLucideIcon(\"circle-check-big\", __iconNode);\n\nexport { __iconNode, CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n","import React from \"react\";\n\nimport {\n InfoIcon,\n AlertTriangleIcon,\n AlertCircleIcon,\n CheckCircleIcon,\n} from \"lucide-react\";\n\nimport type { CalloutVariant } from \"./Callout\";\n\nexport const VARIANT_CONFIG: Record<\n CalloutVariant,\n {\n container: string;\n icon: React.ComponentType<{ className?: string }>;\n }\n> = {\n info: {\n container: \"border border-info-border bg-info text-info-foreground\",\n icon: InfoIcon,\n },\n warning: {\n container:\n \"border border-warning-border bg-warning text-warning-foreground\",\n icon: AlertTriangleIcon,\n },\n danger: {\n container: \"border border-error-border bg-error text-error-foreground\",\n icon: AlertCircleIcon,\n },\n success: {\n container:\n \"border border-success-border bg-success text-success-foreground\",\n icon: CheckCircleIcon,\n },\n};\n","import React, { forwardRef } from \"react\";\n\nimport {\n Alert as PrimitiveAlert,\n AlertTitle,\n AlertDescription,\n} from \"src/primitives/Alert\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\n\nimport { VARIANT_CONFIG } from \"./constants\";\n\nexport type CalloutVariant = \"info\" | \"warning\" | \"danger\" | \"success\";\n\ntype PrimitiveAlertProps = React.ComponentProps<typeof PrimitiveAlert>;\n\nexport interface CalloutProps extends Omit<PrimitiveAlertProps, \"variant\"> {\n /** Visual style of the callout. */\n variant?: CalloutVariant;\n /** Custom icon. Defaults to a variant-specific icon. */\n icon?: IconProp;\n /** Optional title rendered as AlertTitle. */\n title?: string;\n /** Content rendered as AlertDescription. */\n children?: React.ReactNode;\n}\n\nconst Callout = forwardRef<HTMLDivElement, CalloutProps>(\n (\n { variant = \"info\", icon, title, children, className, ...otherProps },\n ref\n ) => {\n const config = VARIANT_CONFIG[variant];\n const resolvedIcon = icon ?? config.icon;\n\n return (\n <PrimitiveAlert\n ref={ref}\n className={cn(config.container, className)}\n {...otherProps}\n >\n {renderIcon(resolvedIcon, \"size-4 shrink-0\")}\n {title && <AlertTitle className=\"font-semibold\">{title}</AlertTitle>}\n {children && (\n <AlertDescription className=\"text-current\">\n {children}\n </AlertDescription>\n )}\n </PrimitiveAlert>\n );\n }\n);\n\nCallout.displayName = \"Callout\";\n\nexport { Callout };\n"],"names":["__iconNode","createLucideIcon","InfoIcon","AlertTriangleIcon","AlertCircleIcon","CheckCircleIcon","forwardRef","jsxs","PrimitiveAlert","cn","renderIcon","jsx","AlertTitle","AlertDescription"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC5D,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACpE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;AACvE,CAAC;AACD,MAAM,WAAW,GAAGC,iCAAgB,CAAC,cAAc,EAAED,YAAU,CAAC;;ACdhE;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,iCAAiC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE;AACjD,CAAC;AACD,MAAM,cAAc,GAAGC,iCAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC;;ACFhE,MAAM,cAAA,GAMT;AAAA,EACF,IAAA,EAAM;AAAA,IACJ,SAAA,EAAW,wDAAA;AAAA,IACX,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EACE,iEAAA;AAAA,IACF,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,2DAAA;AAAA,IACX,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EACE,iEAAA;AAAA,IACF,IAAA,EAAMC;AAAA;AAEV,CAAA;;ACTA,MAAM,OAAA,GAAUC,gBAAA;AAAA,EACd,CACE,EAAE,OAAA,GAAU,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,QAAA,EAAU,SAAA,EAAW,GAAG,UAAA,EAAW,EACpE,GAAA,KACG;AACH,IAAA,MAAM,MAAA,GAAS,eAAe,OAAO,CAAA;AACrC,IAAA,MAAM,YAAA,GAAe,QAAQ,MAAA,CAAO,IAAA;AAEpC,IAAA,uBACEC,eAAA;AAAA,MAACC,sBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAWC,QAAA,CAAG,MAAA,CAAO,SAAA,EAAW,SAAS,CAAA;AAAA,QACxC,GAAG,UAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAAC,qBAAA,CAAW,cAAc,iBAAiB,CAAA;AAAA,UAC1C,KAAA,oBAASC,cAAA,CAACC,2BAAA,EAAA,EAAW,SAAA,EAAU,iBAAiB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACtD,QAAA,oBACCD,cAAA,CAACE,iCAAA,EAAA,EAAiB,SAAA,EAAU,gBACzB,QAAA,EACH;AAAA;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"Callout-CYIrflF1.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-alert.js","../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js","../../src/components/Callout/constants.ts","../../src/components/Callout/Callout.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n];\nconst CircleAlert = createLucideIcon(\"circle-alert\", __iconNode);\n\nexport { __iconNode, CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21.801 10A10 10 0 1 1 17 3.335\", key: \"yps3ct\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n];\nconst CircleCheckBig = createLucideIcon(\"circle-check-big\", __iconNode);\n\nexport { __iconNode, CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n","import React from \"react\";\n\nimport {\n InfoIcon,\n AlertTriangleIcon,\n AlertCircleIcon,\n CheckCircleIcon,\n} from \"lucide-react\";\n\nimport type { CalloutVariant } from \"./Callout\";\n\nexport const VARIANT_CONFIG: Record<\n CalloutVariant,\n {\n container: string;\n icon: React.ComponentType<{ className?: string }>;\n }\n> = {\n info: {\n container: \"border border-info-border bg-info text-info-foreground\",\n icon: InfoIcon,\n },\n warning: {\n container:\n \"border border-warning-border bg-warning text-warning-foreground\",\n icon: AlertTriangleIcon,\n },\n danger: {\n container: \"border border-error-border bg-error text-error-foreground\",\n icon: AlertCircleIcon,\n },\n success: {\n container:\n \"border border-success-border bg-success text-success-foreground\",\n icon: CheckCircleIcon,\n },\n};\n","import React, { forwardRef } from \"react\";\n\nimport {\n Alert as PrimitiveAlert,\n AlertTitle,\n AlertDescription,\n} from \"src/primitives/Alert\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\n\nimport { VARIANT_CONFIG } from \"./constants\";\n\nexport type CalloutVariant = \"info\" | \"warning\" | \"danger\" | \"success\";\n\ntype PrimitiveAlertProps = React.ComponentProps<typeof PrimitiveAlert>;\n\nexport interface CalloutProps extends Omit<PrimitiveAlertProps, \"variant\"> {\n /** Visual style of the callout. */\n variant?: CalloutVariant;\n /** Custom icon. Defaults to a variant-specific icon. */\n icon?: IconProp;\n /** Optional title rendered as AlertTitle. */\n title?: string;\n /** Content rendered as AlertDescription. */\n children?: React.ReactNode;\n}\n\nconst Callout = forwardRef<HTMLDivElement, CalloutProps>(\n (\n { variant = \"info\", icon, title, children, className, ...otherProps },\n ref\n ) => {\n const config = VARIANT_CONFIG[variant];\n const resolvedIcon = icon ?? config.icon;\n\n return (\n <PrimitiveAlert\n ref={ref}\n className={cn(config.container, className)}\n {...otherProps}\n >\n {renderIcon(resolvedIcon, \"size-4 shrink-0\")}\n {title && <AlertTitle className=\"font-semibold\">{title}</AlertTitle>}\n {children && (\n <AlertDescription className=\"text-current\">\n {children}\n </AlertDescription>\n )}\n </PrimitiveAlert>\n );\n }\n);\n\nCallout.displayName = \"Callout\";\n\nexport { Callout };\n"],"names":["__iconNode","createLucideIcon","InfoIcon","AlertTriangleIcon","AlertCircleIcon","CheckCircleIcon","forwardRef","jsxs","PrimitiveAlert","cn","renderIcon","jsx","AlertTitle","AlertDescription"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC5D,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACpE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;AACvE,CAAC;AACD,MAAM,WAAW,GAAGC,iCAAgB,CAAC,cAAc,EAAED,YAAU,CAAC;;ACdhE;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,iCAAiC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE;AACjD,CAAC;AACD,MAAM,cAAc,GAAGC,iCAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC;;ACFhE,MAAM,cAAA,GAMT;AAAA,EACF,IAAA,EAAM;AAAA,IACJ,SAAA,EAAW,wDAAA;AAAA,IACX,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EACE,iEAAA;AAAA,IACF,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,2DAAA;AAAA,IACX,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EACE,iEAAA;AAAA,IACF,IAAA,EAAMC;AAAA;AAEV,CAAA;;ACTA,MAAM,OAAA,GAAUC,gBAAA;AAAA,EACd,CACE,EAAE,OAAA,GAAU,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,QAAA,EAAU,SAAA,EAAW,GAAG,UAAA,EAAW,EACpE,GAAA,KACG;AACH,IAAA,MAAM,MAAA,GAAS,eAAe,OAAO,CAAA;AACrC,IAAA,MAAM,YAAA,GAAe,QAAQ,MAAA,CAAO,IAAA;AAEpC,IAAA,uBACEC,eAAA;AAAA,MAACC,sBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAWC,QAAA,CAAG,MAAA,CAAO,SAAA,EAAW,SAAS,CAAA;AAAA,QACxC,GAAG,UAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAAC,qBAAA,CAAW,cAAc,iBAAiB,CAAA;AAAA,UAC1C,KAAA,oBAASC,cAAA,CAACC,2BAAA,EAAA,EAAW,SAAA,EAAU,iBAAiB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACtD,QAAA,oBACCD,cAAA,CAACE,iCAAA,EAAA,EAAiB,SAAA,EAAU,gBACzB,QAAA,EACH;AAAA;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;;;;","x_google_ignoreList":[0,1]}
@@ -14,6 +14,8 @@ var primitives_DropdownMenu = require('./primitives/DropdownMenu.js');
14
14
  var Button = require('./Button-BlNtYr1w.js');
15
15
  var ellipsis = require('./ellipsis-4aubOI2n.js');
16
16
  var check = require('./check-BQgcDXys.js');
17
+ var Popover = require('./Popover-DuRSsDHz.js');
18
+ var info = require('./info-DGfDptn1.js');
17
19
 
18
20
  function _interopNamespace(e) {
19
21
  if (e && e.__esModule) return e;
@@ -4002,6 +4004,36 @@ const HeaderCellMenu = ({
4002
4004
  ] }) });
4003
4005
  };
4004
4006
 
4007
+ const HeaderDescription = ({
4008
+ column
4009
+ }) => {
4010
+ const meta = column.columnDef.meta;
4011
+ const description = meta?.description;
4012
+ if (!description) return null;
4013
+ return /* @__PURE__ */ jsxRuntime.jsx(
4014
+ Popover.Popover,
4015
+ {
4016
+ position: "bottom",
4017
+ trigger: /* @__PURE__ */ jsxRuntime.jsx(
4018
+ "span",
4019
+ {
4020
+ className: "ml-1 inline-flex",
4021
+ onClick: (e) => e.stopPropagation(),
4022
+ "data-testid": `column-description-${column.id}`,
4023
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4024
+ info.Info,
4025
+ {
4026
+ "aria-hidden": "true",
4027
+ className: "size-4 text-muted-foreground"
4028
+ }
4029
+ )
4030
+ }
4031
+ ),
4032
+ children: description
4033
+ }
4034
+ );
4035
+ };
4036
+
4005
4037
  const DataTable = ({
4006
4038
  columns,
4007
4039
  data,
@@ -4291,11 +4323,17 @@ const DataTable = ({
4291
4323
  }),
4292
4324
  onClick: header.column.getCanSort() ? header.column.getToggleSortingHandler() : void 0,
4293
4325
  children: [
4294
- header.isPlaceholder ? null : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
4295
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 truncate", children: flexRender(
4296
- header.column.columnDef.header,
4297
- header.getContext()
4298
- ) }),
4326
+ header.isPlaceholder ? null : isSelectionCol ? flexRender(
4327
+ header.column.columnDef.header,
4328
+ header.getContext()
4329
+ ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
4330
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "me-auto flex min-w-0 items-center", children: [
4331
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: flexRender(
4332
+ header.column.columnDef.header,
4333
+ header.getContext()
4334
+ ) }),
4335
+ /* @__PURE__ */ jsxRuntime.jsx(HeaderDescription, { column: header.column })
4336
+ ] }),
4299
4337
  /* @__PURE__ */ jsxRuntime.jsx(SortIndicator, { column: header.column }),
4300
4338
  showHeaderMenu && !isSelectionCol && /* @__PURE__ */ jsxRuntime.jsx(
4301
4339
  HeaderCellMenu,
@@ -4337,7 +4375,7 @@ const DataTable = ({
4337
4375
  {
4338
4376
  "data-state": row.getIsSelected() ? "selected" : void 0,
4339
4377
  className: utils.cn(
4340
- "group data-[state=selected]:bg-info",
4378
+ "group hover:bg-muted data-[state=selected]:bg-row-selected",
4341
4379
  allowRowClick && onRowClick && "cursor-pointer"
4342
4380
  ),
4343
4381
  onClick: allowRowClick && onRowClick ? (event) => onRowClick(event, row.original, row.index) : void 0,
@@ -4349,7 +4387,7 @@ const DataTable = ({
4349
4387
  {
4350
4388
  className: utils.cn(
4351
4389
  isSelCell && "!pe-2",
4352
- isPinned && "sticky z-10 bg-background group-hover:bg-muted group-data-[state=selected]:bg-info",
4390
+ isPinned && "sticky z-10 bg-background transition-colors group-hover:bg-muted group-data-[state=selected]:bg-row-selected",
4353
4391
  cell.column.id === lastLeftPinnedId && "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6",
4354
4392
  cell.column.id === firstRightPinnedId && "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"
4355
4393
  ),
@@ -4395,4 +4433,4 @@ exports.useColumnVisibility = useColumnVisibility;
4395
4433
  exports.useTablePagination = useTablePagination;
4396
4434
  exports.useTableSelection = useTableSelection;
4397
4435
  exports.useTableSort = useTableSort;
4398
- //# sourceMappingURL=DataTable-CgQRfaIc.js.map
4436
+ //# sourceMappingURL=DataTable-CT2pgEhZ.js.map