@mdigital_ui/ui 0.2.8 → 0.3.0

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 (142) hide show
  1. package/dist/accordion/index.js +1 -1
  2. package/dist/avatar/index.js +1 -1
  3. package/dist/badge/index.js +1 -1
  4. package/dist/breadcrumbs/index.js +1 -1
  5. package/dist/button/index.js +1 -1
  6. package/dist/button-group/index.js +1 -1
  7. package/dist/card/index.js +2 -1
  8. package/dist/cascader/index.js +2 -1
  9. package/dist/checkbox/index.js +1 -1
  10. package/dist/checkbox-group/index.js +1 -1
  11. package/dist/{chunk-4LSKRZOT.js → chunk-2PNLIQYM.js} +21 -4
  12. package/dist/chunk-2PNLIQYM.js.map +1 -0
  13. package/dist/{chunk-43RDFTC5.js → chunk-4TQ4BZ3S.js} +6 -4
  14. package/dist/chunk-4TQ4BZ3S.js.map +1 -0
  15. package/dist/{chunk-IMGVPMHJ.js → chunk-5JOJBDET.js} +47 -40
  16. package/dist/chunk-5JOJBDET.js.map +1 -0
  17. package/dist/{chunk-W3ES3UPV.js → chunk-5VORB55Y.js} +19 -3
  18. package/dist/chunk-5VORB55Y.js.map +1 -0
  19. package/dist/{chunk-3UCZ4GMN.js → chunk-6HGUDHHE.js} +4 -2
  20. package/dist/chunk-6HGUDHHE.js.map +1 -0
  21. package/dist/chunk-6YVT3AL2.js +211 -0
  22. package/dist/chunk-6YVT3AL2.js.map +1 -0
  23. package/dist/{chunk-CPDVBHA3.js → chunk-7KA7JSRX.js} +133 -23
  24. package/dist/chunk-7KA7JSRX.js.map +1 -0
  25. package/dist/chunk-CO766H7F.js +348 -0
  26. package/dist/chunk-CO766H7F.js.map +1 -0
  27. package/dist/{chunk-JIREY2VB.js → chunk-DHXVNO75.js} +3 -3
  28. package/dist/{chunk-JIREY2VB.js.map → chunk-DHXVNO75.js.map} +1 -1
  29. package/dist/chunk-DRL4CJMI.js +147 -0
  30. package/dist/chunk-DRL4CJMI.js.map +1 -0
  31. package/dist/{chunk-YAAV7FQG.js → chunk-FJPMIXWU.js} +15 -4
  32. package/dist/chunk-FJPMIXWU.js.map +1 -0
  33. package/dist/{chunk-MXDTUN3V.js → chunk-FZLFCT6Q.js} +141 -106
  34. package/dist/chunk-FZLFCT6Q.js.map +1 -0
  35. package/dist/chunk-GGDDE7LC.js +303 -0
  36. package/dist/chunk-GGDDE7LC.js.map +1 -0
  37. package/dist/{chunk-MRFCITKK.js → chunk-GVEEUHM2.js} +20 -16
  38. package/dist/chunk-GVEEUHM2.js.map +1 -0
  39. package/dist/{chunk-RYKVZFGB.js → chunk-HLY4VDIX.js} +7 -7
  40. package/dist/chunk-HLY4VDIX.js.map +1 -0
  41. package/dist/{chunk-2OUGJBXK.js → chunk-IVOMN6DV.js} +60 -14
  42. package/dist/chunk-IVOMN6DV.js.map +1 -0
  43. package/dist/{chunk-REKWBXAQ.js → chunk-J6IJBRYT.js} +12 -11
  44. package/dist/chunk-J6IJBRYT.js.map +1 -0
  45. package/dist/{chunk-LMR7TKDJ.js → chunk-KPM72QBO.js} +27 -10
  46. package/dist/chunk-KPM72QBO.js.map +1 -0
  47. package/dist/{chunk-QF3NJUUG.js → chunk-L572AMB3.js} +53 -8
  48. package/dist/chunk-L572AMB3.js.map +1 -0
  49. package/dist/{chunk-UUP7YGOS.js → chunk-LX4FDH4J.js} +3 -3
  50. package/dist/chunk-LX4FDH4J.js.map +1 -0
  51. package/dist/chunk-OL2GU2O3.js +293 -0
  52. package/dist/chunk-OL2GU2O3.js.map +1 -0
  53. package/dist/{chunk-N32VWE6V.js → chunk-RLYGJN56.js} +64 -60
  54. package/dist/chunk-RLYGJN56.js.map +1 -0
  55. package/dist/{chunk-X5SCI7KH.js → chunk-RZVEKAFR.js} +18 -6
  56. package/dist/chunk-RZVEKAFR.js.map +1 -0
  57. package/dist/chunk-T4MGK3WE.js +143 -0
  58. package/dist/chunk-T4MGK3WE.js.map +1 -0
  59. package/dist/{chunk-YFK2DHCY.js → chunk-TBMY5EQC.js} +10 -6
  60. package/dist/chunk-TBMY5EQC.js.map +1 -0
  61. package/dist/{chunk-PXOHJJBE.js → chunk-UHVPOGNC.js} +44 -9
  62. package/dist/chunk-UHVPOGNC.js.map +1 -0
  63. package/dist/{chunk-CMGCJXE5.js → chunk-UTKVWE76.js} +15 -4
  64. package/dist/chunk-UTKVWE76.js.map +1 -0
  65. package/dist/chunk-XQJ6HZ4Q.js +310 -0
  66. package/dist/chunk-XQJ6HZ4Q.js.map +1 -0
  67. package/dist/chunk-YJOLLSHH.js +132 -0
  68. package/dist/chunk-YJOLLSHH.js.map +1 -0
  69. package/dist/chunk-YWGWFGCY.js +332 -0
  70. package/dist/chunk-YWGWFGCY.js.map +1 -0
  71. package/dist/{chunk-FIGSNRWY.js → chunk-ZFYEAPEL.js} +40 -13
  72. package/dist/chunk-ZFYEAPEL.js.map +1 -0
  73. package/dist/chunk-ZRSSFP52.js +345 -0
  74. package/dist/chunk-ZRSSFP52.js.map +1 -0
  75. package/dist/clipboard/index.js +2 -1
  76. package/dist/collapse/index.js +2 -1
  77. package/dist/command/index.js +1 -1
  78. package/dist/context-menu/index.js +1 -1
  79. package/dist/date-picker/index.js +1 -1
  80. package/dist/descriptions/index.js +1 -1
  81. package/dist/float-input/index.js +6 -0
  82. package/dist/form/index.js +4 -0
  83. package/dist/form/index.js.map +1 -0
  84. package/dist/index.js +41 -33
  85. package/dist/index.js.map +1 -1
  86. package/dist/link/index.js +4 -0
  87. package/dist/link/index.js.map +1 -0
  88. package/dist/menubar/index.js +6 -0
  89. package/dist/menubar/index.js.map +1 -0
  90. package/dist/navigation-menu/index.js +4 -0
  91. package/dist/navigation-menu/index.js.map +1 -0
  92. package/dist/number-input/index.js +6 -0
  93. package/dist/number-input/index.js.map +1 -0
  94. package/dist/pagination/index.js +1 -1
  95. package/dist/progress/index.js +1 -1
  96. package/dist/scroll-area/index.js +4 -0
  97. package/dist/scroll-area/index.js.map +1 -0
  98. package/dist/select/index.js +1 -1
  99. package/dist/slider/index.js +1 -1
  100. package/dist/table/index.js +4 -4
  101. package/dist/timeline/index.js +4 -0
  102. package/dist/timeline/index.js.map +1 -0
  103. package/dist/toast/index.js +5 -0
  104. package/dist/toast/index.js.map +1 -0
  105. package/dist/transfer/index.js +2 -2
  106. package/dist/upload/index.js +1 -1
  107. package/package.json +72 -14
  108. package/dist/chart/index.js +0 -4
  109. package/dist/chunk-2OUGJBXK.js.map +0 -1
  110. package/dist/chunk-3UCZ4GMN.js.map +0 -1
  111. package/dist/chunk-43RDFTC5.js.map +0 -1
  112. package/dist/chunk-4LSKRZOT.js.map +0 -1
  113. package/dist/chunk-C5YO5VZS.js +0 -448
  114. package/dist/chunk-C5YO5VZS.js.map +0 -1
  115. package/dist/chunk-CMGCJXE5.js.map +0 -1
  116. package/dist/chunk-CPDVBHA3.js.map +0 -1
  117. package/dist/chunk-FIGSNRWY.js.map +0 -1
  118. package/dist/chunk-H47C2ENJ.js +0 -215
  119. package/dist/chunk-H47C2ENJ.js.map +0 -1
  120. package/dist/chunk-IMGVPMHJ.js.map +0 -1
  121. package/dist/chunk-LMR7TKDJ.js.map +0 -1
  122. package/dist/chunk-MRFCITKK.js.map +0 -1
  123. package/dist/chunk-MXDTUN3V.js.map +0 -1
  124. package/dist/chunk-N32VWE6V.js.map +0 -1
  125. package/dist/chunk-PXOHJJBE.js.map +0 -1
  126. package/dist/chunk-QF3NJUUG.js.map +0 -1
  127. package/dist/chunk-REKWBXAQ.js.map +0 -1
  128. package/dist/chunk-RYKVZFGB.js.map +0 -1
  129. package/dist/chunk-UUP7YGOS.js.map +0 -1
  130. package/dist/chunk-W3ES3UPV.js.map +0 -1
  131. package/dist/chunk-X5SCI7KH.js.map +0 -1
  132. package/dist/chunk-YAAV7FQG.js.map +0 -1
  133. package/dist/chunk-YFK2DHCY.js.map +0 -1
  134. package/dist/index.d.ts +0 -5038
  135. package/dist/styles/base.css +0 -5906
  136. package/dist/styles/global.css +0 -6401
  137. package/dist/styles/themes/dark.css +0 -93
  138. package/dist/styles/themes/light.css +0 -89
  139. package/dist/styles/themes/presets/corporate.css +0 -126
  140. package/dist/styles/themes/presets/minimal.css +0 -126
  141. package/dist/styles/themes/presets/vibrant.css +0 -126
  142. /package/dist/{chart → float-input}/index.js.map +0 -0
@@ -0,0 +1,147 @@
1
+ import { cn, iconSizes } from './chunk-NGYLRX6F.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { ExternalLink } from 'lucide-react';
4
+ import React from 'react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ var linkVariants = cva(
8
+ "inline-flex items-center gap-1 font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background",
9
+ {
10
+ variants: {
11
+ color: {
12
+ default: "text-text-primary hover:text-text-primary/80",
13
+ primary: "text-primary hover:text-primary/80",
14
+ secondary: "text-secondary hover:text-secondary/80",
15
+ accent: "text-accent hover:text-accent/80",
16
+ success: "text-success hover:text-success/80",
17
+ error: "text-error hover:text-error/80",
18
+ warning: "text-warning hover:text-warning/80",
19
+ info: "text-info hover:text-info/80"
20
+ },
21
+ size: {
22
+ xs: "text-xs",
23
+ sm: "text-sm",
24
+ md: "text-base",
25
+ lg: "text-lg"
26
+ },
27
+ underline: {
28
+ always: "underline",
29
+ hover: "no-underline hover:underline",
30
+ none: "no-underline"
31
+ },
32
+ disabled: {
33
+ true: "opacity-50 pointer-events-none cursor-not-allowed",
34
+ false: "cursor-pointer"
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ color: "default",
39
+ size: "md",
40
+ underline: "hover",
41
+ disabled: false
42
+ }
43
+ }
44
+ );
45
+ var Link = React.memo(
46
+ ({
47
+ children,
48
+ color = "default",
49
+ size = "md",
50
+ underline = "hover",
51
+ external = false,
52
+ showExternalIcon = true,
53
+ disabled = false,
54
+ leftIcon,
55
+ rightIcon,
56
+ className,
57
+ classNames,
58
+ href,
59
+ ref,
60
+ onClick,
61
+ ...props
62
+ }) => {
63
+ const handleClick = (e) => {
64
+ if (disabled) {
65
+ e.preventDefault();
66
+ return;
67
+ }
68
+ onClick?.(e);
69
+ };
70
+ const externalProps = external ? {
71
+ target: "_blank",
72
+ rel: "noopener noreferrer"
73
+ } : {};
74
+ const showExternalIconRendered = external && showExternalIcon;
75
+ return /* @__PURE__ */ jsxs(
76
+ "a",
77
+ {
78
+ ref,
79
+ href: disabled ? void 0 : href,
80
+ className: cn(
81
+ "link_root",
82
+ (leftIcon || rightIcon) && "align-top",
83
+ linkVariants({
84
+ color,
85
+ size,
86
+ underline,
87
+ disabled
88
+ }),
89
+ classNames?.root,
90
+ className
91
+ ),
92
+ onClick: handleClick,
93
+ "aria-disabled": disabled || void 0,
94
+ "data-slot": "root",
95
+ ...externalProps,
96
+ ...props,
97
+ children: [
98
+ leftIcon && /* @__PURE__ */ jsx(
99
+ "span",
100
+ {
101
+ className: cn(
102
+ "link_icon",
103
+ "inline-flex items-center justify-center shrink-0",
104
+ iconSizes[size],
105
+ classNames?.icon
106
+ ),
107
+ "data-slot": "icon",
108
+ children: leftIcon
109
+ }
110
+ ),
111
+ children,
112
+ rightIcon && /* @__PURE__ */ jsx(
113
+ "span",
114
+ {
115
+ className: cn(
116
+ "link_icon",
117
+ "inline-flex items-center justify-center shrink-0",
118
+ iconSizes[size],
119
+ classNames?.icon
120
+ ),
121
+ "data-slot": "icon",
122
+ children: rightIcon
123
+ }
124
+ ),
125
+ showExternalIconRendered && /* @__PURE__ */ jsx(
126
+ ExternalLink,
127
+ {
128
+ className: cn(
129
+ "link_externalIcon",
130
+ iconSizes[size],
131
+ classNames?.externalIcon
132
+ ),
133
+ "aria-label": "Opens in new tab",
134
+ "data-slot": "externalIcon"
135
+ }
136
+ )
137
+ ]
138
+ }
139
+ );
140
+ }
141
+ );
142
+ Link.displayName = "Link";
143
+ var link_default = Link;
144
+
145
+ export { link_default };
146
+ //# sourceMappingURL=chunk-DRL4CJMI.js.map
147
+ //# sourceMappingURL=chunk-DRL4CJMI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/link/index.tsx"],"names":[],"mappings":"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","file":"chunk-DRL4CJMI.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { ExternalLink } from \"lucide-react\";\nimport React from \"react\";\n\nimport { cn, iconSizes } from \"../utils\";\nimport type { LinkProps, LinkSize } from \"./types\";\n\n/**\n * Link variants\n */\nconst linkVariants = cva(\n \"inline-flex items-center gap-1 font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n {\n variants: {\n color: {\n default: \"text-text-primary hover:text-text-primary/80\",\n primary: \"text-primary hover:text-primary/80\",\n secondary: \"text-secondary hover:text-secondary/80\",\n accent: \"text-accent hover:text-accent/80\",\n success: \"text-success hover:text-success/80\",\n error: \"text-error hover:text-error/80\",\n warning: \"text-warning hover:text-warning/80\",\n info: \"text-info hover:text-info/80\",\n },\n size: {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n },\n underline: {\n always: \"underline\",\n hover: \"no-underline hover:underline\",\n none: \"no-underline\",\n },\n disabled: {\n true: \"opacity-50 pointer-events-none cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n },\n defaultVariants: {\n color: \"default\",\n size: \"md\",\n underline: \"hover\",\n disabled: false,\n },\n },\n);\n\n/**\n * Link Component\n */\nconst Link = React.memo<LinkProps>(\n ({\n children,\n color = \"default\",\n size = \"md\",\n underline = \"hover\",\n external = false,\n showExternalIcon = true,\n disabled = false,\n leftIcon,\n rightIcon,\n className,\n classNames,\n href,\n ref,\n onClick,\n ...props\n }) => {\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n const externalProps = external\n ? {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n }\n : {};\n\n const showExternalIconRendered = external && showExternalIcon;\n\n return (\n <a\n ref={ref}\n href={disabled ? undefined : href}\n className={cn(\n \"link_root\",\n (leftIcon || rightIcon) && \"align-top\",\n linkVariants({\n color,\n size,\n underline,\n disabled,\n }),\n classNames?.root,\n className,\n )}\n onClick={handleClick}\n aria-disabled={disabled || undefined}\n data-slot=\"root\"\n {...externalProps}\n {...props}\n >\n {leftIcon && (\n <span\n className={cn(\n \"link_icon\",\n \"inline-flex items-center justify-center shrink-0\",\n iconSizes[size as LinkSize],\n classNames?.icon,\n )}\n data-slot=\"icon\"\n >\n {leftIcon}\n </span>\n )}\n {children}\n {rightIcon && (\n <span\n className={cn(\n \"link_icon\",\n \"inline-flex items-center justify-center shrink-0\",\n iconSizes[size as LinkSize],\n classNames?.icon,\n )}\n data-slot=\"icon\"\n >\n {rightIcon}\n </span>\n )}\n {showExternalIconRendered && (\n <ExternalLink\n className={cn(\n \"link_externalIcon\",\n iconSizes[size as LinkSize],\n classNames?.externalIcon,\n )}\n aria-label=\"Opens in new tab\"\n data-slot=\"externalIcon\"\n />\n )}\n </a>\n );\n },\n);\n\nLink.displayName = \"Link\";\n\nexport type * from \"./types\";\nexport default Link;\n"]}
@@ -253,8 +253,18 @@ var CommandSeparator = ({
253
253
  );
254
254
  };
255
255
  CommandSeparator.displayName = "CommandSeparator";
256
+ var commandSelectedColorClasses = {
257
+ default: "data-[selected=true]:bg-surface data-[selected=true]:text-text-primary",
258
+ primary: "data-[selected=true]:bg-primary/10 data-[selected=true]:text-primary",
259
+ secondary: "data-[selected=true]:bg-secondary/10 data-[selected=true]:text-secondary",
260
+ accent: "data-[selected=true]:bg-accent/10 data-[selected=true]:text-accent",
261
+ success: "data-[selected=true]:bg-success/10 data-[selected=true]:text-success",
262
+ error: "data-[selected=true]:bg-error/10 data-[selected=true]:text-error",
263
+ warning: "data-[selected=true]:bg-warning/10 data-[selected=true]:text-warning",
264
+ info: "data-[selected=true]:bg-info/10 data-[selected=true]:text-info"
265
+ };
256
266
  var commandItemVariants = cva(
257
- "relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none text-text-primary data-[selected=true]:bg-primary/10 data-[selected=true]:text-primary data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-text-secondary transition-colors",
267
+ "relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none text-text-primary data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-text-secondary transition-colors",
258
268
  {
259
269
  variants: {
260
270
  size: {
@@ -272,6 +282,7 @@ var commandItemVariants = cva(
272
282
  var CommandItem = ({
273
283
  className,
274
284
  size = "md",
285
+ color = "primary",
275
286
  classNames,
276
287
  ...props
277
288
  }) => {
@@ -279,7 +290,7 @@ var CommandItem = ({
279
290
  Command$1.Item,
280
291
  {
281
292
  "data-slot": "command-item",
282
- className: cn("command_item", commandItemVariants({ size }), classNames?.item, className),
293
+ className: cn("command_item", commandItemVariants({ size }), commandSelectedColorClasses[color], classNames?.item, className),
283
294
  ...props
284
295
  }
285
296
  );
@@ -319,5 +330,5 @@ var CommandShortcut = ({
319
330
  CommandShortcut.displayName = "CommandShortcut";
320
331
 
321
332
  export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandModal, CommandSeparator, CommandShortcut };
322
- //# sourceMappingURL=chunk-YAAV7FQG.js.map
323
- //# sourceMappingURL=chunk-YAAV7FQG.js.map
333
+ //# sourceMappingURL=chunk-FJPMIXWU.js.map
334
+ //# sourceMappingURL=chunk-FJPMIXWU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/command/index.tsx"],"names":["CommandPrimitive"],"mappings":";;;;;;;AAmBA,IAAM,eAAA,GAAkB,GAAA;AAAA,EACtB,wFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI,WAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,UAAU,CAAC;AAAA,EACf,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAGM;AACJ,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,cAAA,EAAgB,eAAA,CAAgB,EAAE,MAAM,CAAA,EAAG,UAAA,EAAY,IAAA,EAAM,SAAS,CAAA;AAAA,MACnF,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAEtB,IAAM,eAAe,CAAC;AAAA,EACpB,KAAA,GAAQ,iBAAA;AAAA,EACR,WAAA,GAAc,gCAAA;AAAA,EACd,QAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,KAMM;AACJ,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAO,GAAG,KAAA,EACT,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,WAAA,EAAA,EAAY,WAAU,SAAA,EACrB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAY,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,sBACnB,GAAA,CAAC,oBAAkB,QAAA,EAAA,WAAA,EAAY;AAAA,KAAA,EACjC,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,QAC9C,eAAA;AAAA,QAEA,QAAA,kBAAA,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,IAAA;AAAA,YACA,SAAA,EAAU,yLAAA;AAAA,YAET;AAAA;AAAA;AACH;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAC3B,gJAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,qBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,2BAAA,GAA8B,GAAA;AAAA,EAClC,qDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,MAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,eAAe,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAGM;AACJ,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,SAAA,EAAW,2BAAA,CAA4B,EAAE,IAAA,EAAM,CAAA;AAAA,MAE/C,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,oBAAA;AAAA,YACV,SAAA,EAAW,GAAG,mBAAA,EAAqB,yCAAA,EAA2C,UAAU,IAAI,CAAA,EAAG,YAAY,SAAS;AAAA;AAAA,SACtH;AAAA,wBACA,GAAA;AAAA,UAACA,SAAA,CAAiB,KAAA;AAAA,UAAjB;AAAA,YACC,WAAA,EAAU,eAAA;AAAA,YACV,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,oBAAA,CAAqB,EAAE,MAAM,CAAA,EAAG,UAAA,EAAY,KAAA,EAAO,SAAS,CAAA;AAAA,YAC1F,GAAG;AAAA;AAAA;AACN;AAAA;AAAA,GACF;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,IAAM,mBAAA,GAAsB,GAAA;AAAA,EAC1B,+CAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,eAAA;AAAA,QACJ,EAAA,EAAI,eAAA;AAAA,QACJ,EAAA,EAAI,eAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,cAAc,CAAC;AAAA,EACnB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAGM;AACJ,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,cAAA,EAAgB,mBAAA,CAAoB,EAAE,MAAM,CAAA,EAAG,UAAA,EAAY,IAAA,EAAM,SAAS,CAAA;AAAA,MACvF,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAE1B,IAAM,oBAAA,GAAuB,IAAI,iCAAA,EAAmC;AAAA,EAClE,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,cAAA;AAAA,MACJ,EAAA,EAAI,cAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAED,IAAM,eAAe,CAAC;AAAA,EACpB,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAGM;AACJ,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,KAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,GAAG,eAAA,EAAiB,oBAAA,CAAqB,EAAE,IAAA,EAAM,CAAA,EAAG,UAAA,EAAY,KAAK,CAAA;AAAA,MAC/E,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAC3B,qHAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yGAAA;AAAA,QACJ,EAAA,EAAI,0GAAA;AAAA,QACJ,EAAA,EAAI,oGAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,eAAe,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAGM;AACJ,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,KAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,oBAAA,CAAqB,EAAE,MAAM,CAAA,EAAG,UAAA,EAAY,KAAA,EAAO,SAAS,CAAA;AAAA,MAC1F,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,IAAM,wBAAA,GAA2B,IAAI,gBAAA,EAAkB;AAAA,EACrD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAED,IAAM,mBAAmB,CAAC;AAAA,EACxB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,KAEM;AACJ,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,SAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,WAAW,EAAA,CAAG,wBAAA,CAAyB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAC1D,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAE/B,IAAM,2BAAA,GAA8D;AAAA,EAClE,OAAA,EAAS,wEAAA;AAAA,EACT,OAAA,EAAS,sEAAA;AAAA,EACT,SAAA,EAAW,0EAAA;AAAA,EACX,MAAA,EAAQ,oEAAA;AAAA,EACR,OAAA,EAAS,sEAAA;AAAA,EACT,KAAA,EAAO,kEAAA;AAAA,EACP,OAAA,EAAS,sEAAA;AAAA,EACT,IAAA,EAAM;AACR,CAAA;AAEA,IAAM,mBAAA,GAAsB,GAAA;AAAA,EAC1B,mSAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,oEAAA;AAAA,QACJ,EAAA,EAAI,oEAAA;AAAA,QACJ,EAAA,EAAI,gEAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,cAAc,CAAC;AAAA,EACnB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,KAAA,GAAQ,SAAA;AAAA,EACR,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAIM;AACJ,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,cAAA,EAAgB,mBAAA,CAAoB,EAAE,IAAA,EAAM,CAAA,EAAG,2BAAA,CAA4B,KAAK,CAAA,EAAG,UAAA,EAAY,MAAM,SAAS,CAAA;AAAA,MAC3H,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAE1B,IAAM,uBAAA,GAA0B,GAAA;AAAA,EAC9B,wDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,YAAA;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,kBAAkB,CAAC;AAAA,EACvB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,GAAG;AACL,CAAA,KAGM;AACJ,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAoB,uBAAA,CAAwB,EAAE,MAAM,CAAA,EAAG,UAAA,EAAY,QAAA,EAAU,SAAS,CAAA;AAAA,MACnG,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA","file":"chunk-FJPMIXWU.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { SearchIcon } from 'lucide-react'\nimport * as React from 'react'\n\nimport { CommandSize, CommandClassNames } from './types'\n\nimport {\n Modal,\n ModalContent,\n ModalDescription,\n ModalHeader,\n ModalTitle,\n} from '../modal'\nimport { ComponentColor } from '../types'\nimport { cn, iconSizes } from '../utils'\n\nconst commandVariants = cva(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-background text-text-primary',\n {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst Command = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn('command_root', commandVariants({ size }), classNames?.root, className)}\n {...props}\n />\n )\n}\n\nCommand.displayName = 'Command'\n\nconst CommandModal = ({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n showCloseButton = true,\n size = 'md',\n ...props\n}: React.ComponentProps<typeof Modal> & {\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n size?: CommandSize\n}) => {\n return (\n <Modal {...props}>\n <ModalHeader className=\"sr-only\">\n <ModalTitle>{title}</ModalTitle>\n <ModalDescription>{description}</ModalDescription>\n </ModalHeader>\n <ModalContent\n className={cn('overflow-hidden p-0', className)}\n showCloseButton={showCloseButton}\n >\n <Command\n size={size}\n className=\"[&_[cmdk-group-heading]]:text-text-secondary [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0\"\n >\n {children}\n </Command>\n </ModalContent>\n </Modal>\n )\n}\n\nCommandModal.displayName = 'CommandModal'\n\nconst commandInputVariants = cva(\n 'flex w-full bg-transparent outline-hidden disabled:cursor-not-allowed disabled:opacity-50 placeholder:text-text-secondary/50 text-text-primary',\n {\n variants: {\n size: {\n xs: 'h-6 py-1 text-xs',\n sm: 'h-8 py-2 text-sm',\n md: 'h-10 py-3 text-base',\n lg: 'h-12 py-4 text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst commandInputWrapperVariants = cva(\n 'flex items-center gap-2 border-b border-border px-3',\n {\n variants: {\n size: {\n xs: 'h-6',\n sm: 'h-8',\n md: 'h-10',\n lg: 'h-12',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandInput = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: Omit<React.ComponentProps<typeof CommandPrimitive.Input>, 'size'> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className={commandInputWrapperVariants({ size })}\n >\n <SearchIcon\n data-slot=\"command-input-icon\"\n className={cn('command_inputIcon', 'shrink-0 opacity-50 text-text-secondary', iconSizes[size], classNames?.inputIcon)}\n />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn('command_input', commandInputVariants({ size }), classNames?.input, className)}\n {...props}\n />\n </div>\n )\n}\n\nCommandInput.displayName = 'CommandInput'\n\nconst commandListVariants = cva(\n 'scroll-py-1 overflow-x-hidden overflow-y-auto',\n {\n variants: {\n size: {\n xs: 'max-h-[150px]',\n sm: 'max-h-[200px]',\n md: 'max-h-[300px]',\n lg: 'max-h-[400px]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandList = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('command_list', commandListVariants({ size }), classNames?.list, className)}\n {...props}\n />\n )\n}\n\nCommandList.displayName = 'CommandList'\n\nconst commandEmptyVariants = cva('text-center text-text-secondary', {\n variants: {\n size: {\n xs: 'py-3 text-[10px]',\n sm: 'py-4 text-xs',\n md: 'py-6 text-sm',\n lg: 'py-8 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst CommandEmpty = ({\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('command_empty', commandEmptyVariants({ size }), classNames?.empty)}\n {...props}\n />\n )\n}\n\nCommandEmpty.displayName = 'CommandEmpty'\n\nconst commandGroupVariants = cva(\n 'overflow-hidden text-text-primary [&_[cmdk-group-heading]]:text-text-secondary [&_[cmdk-group-heading]]:font-medium',\n {\n variants: {\n size: {\n xs: 'p-0.5 [&_[cmdk-group-heading]]:px-1 [&_[cmdk-group-heading]]:py-0.5 [&_[cmdk-group-heading]]:text-[9px]',\n sm: 'p-0.5 [&_[cmdk-group-heading]]:px-1.5 [&_[cmdk-group-heading]]:py-1 [&_[cmdk-group-heading]]:text-[10px]',\n md: 'p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs',\n lg: 'p-1.5 [&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandGroup = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn('command_group', commandGroupVariants({ size }), classNames?.group, className)}\n {...props}\n />\n )\n}\n\nCommandGroup.displayName = 'CommandGroup'\n\nconst commandSeparatorVariants = cva('bg-border h-px', {\n variants: {\n size: {\n xs: '-mx-0',\n sm: '-mx-0.5',\n md: '-mx-1',\n lg: '-mx-1.5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst CommandSeparator = ({\n className,\n size = 'md',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator> & {\n size?: CommandSize\n}) => {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(commandSeparatorVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nCommandSeparator.displayName = 'CommandSeparator'\n\nconst commandSelectedColorClasses: Record<ComponentColor, string> = {\n default: 'data-[selected=true]:bg-surface data-[selected=true]:text-text-primary',\n primary: 'data-[selected=true]:bg-primary/10 data-[selected=true]:text-primary',\n secondary: 'data-[selected=true]:bg-secondary/10 data-[selected=true]:text-secondary',\n accent: 'data-[selected=true]:bg-accent/10 data-[selected=true]:text-accent',\n success: 'data-[selected=true]:bg-success/10 data-[selected=true]:text-success',\n error: 'data-[selected=true]:bg-error/10 data-[selected=true]:text-error',\n warning: 'data-[selected=true]:bg-warning/10 data-[selected=true]:text-warning',\n info: 'data-[selected=true]:bg-info/10 data-[selected=true]:text-info',\n}\n\nconst commandItemVariants = cva(\n \"relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none text-text-primary data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-text-secondary transition-colors\",\n {\n variants: {\n size: {\n xs: \"px-1 py-0.5 text-[10px] gap-1 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"px-1.5 py-1 text-xs gap-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"px-2 py-1.5 text-sm gap-2 [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-3 py-2 text-base gap-2.5 [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandItem = ({\n className,\n size = 'md',\n color = 'primary',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item> & {\n size?: CommandSize\n color?: ComponentColor\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn('command_item', commandItemVariants({ size }), commandSelectedColorClasses[color], classNames?.item, className)}\n {...props}\n />\n )\n}\n\nCommandItem.displayName = 'CommandItem'\n\nconst commandShortcutVariants = cva(\n 'ml-auto tracking-widest text-text-secondary opacity-60',\n {\n variants: {\n size: {\n xs: 'text-[9px]',\n sm: 'text-[10px]',\n md: 'text-xs',\n lg: 'text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandShortcut = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<'span'> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn('command_shortcut', commandShortcutVariants({ size }), classNames?.shortcut, className)}\n {...props}\n />\n )\n}\n\nCommandShortcut.displayName = 'CommandShortcut'\n\nexport type * from './types'\nexport {\n Command,\n CommandModal,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n"]}
@@ -1,8 +1,13 @@
1
+ import { focusRingColorClasses } from './chunk-LK4EPTNG.js';
1
2
  import { cn } from './chunk-NGYLRX6F.js';
2
3
  import { cva } from 'class-variance-authority';
3
4
  import React from 'react';
4
5
  import { jsx, jsxs } from 'react/jsx-runtime';
5
6
 
7
+ var CardContext = React.createContext(null);
8
+ function useCardContext() {
9
+ return React.useContext(CardContext);
10
+ }
6
11
  var cardVariants = cva("rounded-lg transition-all", {
7
12
  variants: {
8
13
  variant: {
@@ -34,16 +39,12 @@ var cardVariants = cva("rounded-lg transition-all", {
34
39
  false: ""
35
40
  },
36
41
  clickable: {
37
- true: "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
42
+ true: "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
38
43
  false: ""
39
- },
40
- bordered: {
41
- true: "",
42
- false: "border-transparent"
43
44
  }
44
45
  },
45
46
  compoundVariants: [
46
- // Default variant with colors - just border color
47
+ // Default variant with colors
47
48
  {
48
49
  variant: "default",
49
50
  color: "default",
@@ -84,7 +85,7 @@ var cardVariants = cva("rounded-lg transition-all", {
84
85
  color: "info",
85
86
  class: "bg-card text-card-foreground border-info"
86
87
  },
87
- // Solid variant - full background color
88
+ // Solid variant full background color
88
89
  {
89
90
  variant: "solid",
90
91
  color: "default",
@@ -125,7 +126,7 @@ var cardVariants = cva("rounded-lg transition-all", {
125
126
  color: "info",
126
127
  class: "bg-info border-info text-background"
127
128
  },
128
- // Outline variant - colored border, transparent bg
129
+ // Outline variant
129
130
  {
130
131
  variant: "outline",
131
132
  color: "default",
@@ -166,7 +167,7 @@ var cardVariants = cva("rounded-lg transition-all", {
166
167
  color: "info",
167
168
  class: "border-info text-text-primary"
168
169
  },
169
- // Soft variant - subtle background color (like button soft)
170
+ // Soft variant
170
171
  {
171
172
  variant: "soft",
172
173
  color: "default",
@@ -183,7 +184,7 @@ var cardVariants = cva("rounded-lg transition-all", {
183
184
  { variant: "soft", color: "error", class: "bg-error/10 text-error" },
184
185
  { variant: "soft", color: "warning", class: "bg-warning/10 text-warning" },
185
186
  { variant: "soft", color: "info", class: "bg-info/10 text-info" },
186
- // Ghost variant - no bg, no border
187
+ // Ghost variant
187
188
  { variant: "ghost", color: "default", class: "text-text-primary" },
188
189
  { variant: "ghost", color: "primary", class: "text-primary" },
189
190
  { variant: "ghost", color: "secondary", class: "text-secondary" },
@@ -192,7 +193,7 @@ var cardVariants = cva("rounded-lg transition-all", {
192
193
  { variant: "ghost", color: "error", class: "text-error" },
193
194
  { variant: "ghost", color: "warning", class: "text-warning" },
194
195
  { variant: "ghost", color: "info", class: "text-info" },
195
- // Elevated - shadow, no border
196
+ // Elevated variant
196
197
  {
197
198
  variant: "elevated",
198
199
  color: "default",
@@ -239,8 +240,7 @@ var cardVariants = cva("rounded-lg transition-all", {
239
240
  color: "default",
240
241
  shadow: "none",
241
242
  hoverable: false,
242
- clickable: false,
243
- bordered: true
243
+ clickable: false
244
244
  }
245
245
  });
246
246
  var sizeClasses = {
@@ -284,15 +284,20 @@ var Card = React.memo(
284
284
  color,
285
285
  shadow,
286
286
  hoverable,
287
- clickable,
288
- bordered
287
+ clickable
289
288
  }),
289
+ !bordered && "border-transparent",
290
+ clickable && focusRingColorClasses[color],
290
291
  sizeClasses[size],
291
292
  classNames?.root,
292
293
  className
293
294
  );
295
+ const contextValue = React.useMemo(
296
+ () => ({ variant, color, classNames }),
297
+ [variant, color, classNames]
298
+ );
294
299
  if (clickable) {
295
- return /* @__PURE__ */ jsx(
300
+ return /* @__PURE__ */ jsx(CardContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
296
301
  "div",
297
302
  {
298
303
  ref,
@@ -306,94 +311,121 @@ var Card = React.memo(
306
311
  onClick?.(e);
307
312
  }
308
313
  },
309
- "data-slot": "card-root",
314
+ "data-slot": "root",
310
315
  ...props,
311
316
  children: cardContent
312
317
  }
313
- );
318
+ ) });
314
319
  }
315
- return /* @__PURE__ */ jsx("div", { ref, className: cardClassName, onClick, "data-slot": "card-root", ...props, children: cardContent });
320
+ return /* @__PURE__ */ jsx(CardContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { ref, className: cardClassName, onClick, "data-slot": "root", ...props, children: cardContent }) });
316
321
  }
317
322
  );
318
323
  Card.displayName = "Card";
319
324
  var CardHeader = React.memo(
320
- ({ className, ref, ...props }) => /* @__PURE__ */ jsx(
321
- "div",
322
- {
323
- ref,
324
- className: cn("card_header", "flex flex-col gap-1.5 p-(--card-padding)", className),
325
- "data-slot": "card-header",
326
- ...props
327
- }
328
- )
325
+ ({ className, ref, ...props }) => {
326
+ const ctx = useCardContext();
327
+ return /* @__PURE__ */ jsx(
328
+ "div",
329
+ {
330
+ ref,
331
+ className: cn("card_header", "flex flex-col gap-1.5 p-(--card-padding)", ctx?.classNames?.header, className),
332
+ "data-slot": "header",
333
+ ...props
334
+ }
335
+ );
336
+ }
329
337
  );
330
338
  CardHeader.displayName = "CardHeader";
331
339
  var CardTitle = React.memo(
332
- ({ className, as: Tag = "h3", ref, ...props }) => /* @__PURE__ */ jsx(
333
- Tag,
334
- {
335
- ref,
336
- className: cn(
337
- "card_title",
338
- "text-lg font-semibold leading-none tracking-tight",
339
- className
340
- ),
341
- "data-slot": "card-title",
342
- ...props
343
- }
344
- )
340
+ ({ className, as: Tag = "h3", ref, ...props }) => {
341
+ const ctx = useCardContext();
342
+ return /* @__PURE__ */ jsx(
343
+ Tag,
344
+ {
345
+ ref,
346
+ className: cn(
347
+ "card_title",
348
+ "text-lg font-semibold leading-none tracking-tight",
349
+ ctx?.classNames?.title,
350
+ className
351
+ ),
352
+ "data-slot": "title",
353
+ ...props
354
+ }
355
+ );
356
+ }
345
357
  );
346
358
  CardTitle.displayName = "CardTitle";
347
359
  var CardDescription = React.memo(
348
- ({ className, ref, ...props }) => /* @__PURE__ */ jsx(
349
- "p",
350
- {
351
- ref,
352
- className: cn("card_description", "text-sm text-text-secondary", className),
353
- "data-slot": "card-description",
354
- ...props
355
- }
356
- )
360
+ ({ className, ref, ...props }) => {
361
+ const ctx = useCardContext();
362
+ const isSolidColored = ctx?.variant === "solid" && ctx?.color !== "default";
363
+ return /* @__PURE__ */ jsx(
364
+ "p",
365
+ {
366
+ ref,
367
+ className: cn(
368
+ "card_description",
369
+ "text-sm",
370
+ isSolidColored ? "text-inherit opacity-80" : "text-text-secondary",
371
+ ctx?.classNames?.description,
372
+ className
373
+ ),
374
+ "data-slot": "description",
375
+ ...props
376
+ }
377
+ );
378
+ }
357
379
  );
358
380
  CardDescription.displayName = "CardDescription";
359
381
  var CardContent = React.memo(
360
- ({ className, ref, ...props }) => /* @__PURE__ */ jsx(
361
- "div",
362
- {
363
- ref,
364
- className: cn("card_content", "p-(--card-content-padding) pt-0", className),
365
- "data-slot": "card-content",
366
- ...props
367
- }
368
- )
382
+ ({ className, ref, ...props }) => {
383
+ const ctx = useCardContext();
384
+ return /* @__PURE__ */ jsx(
385
+ "div",
386
+ {
387
+ ref,
388
+ className: cn("card_content", "p-(--card-content-padding) pt-0", ctx?.classNames?.content, className),
389
+ "data-slot": "content",
390
+ ...props
391
+ }
392
+ );
393
+ }
369
394
  );
370
395
  CardContent.displayName = "CardContent";
371
396
  var CardFooter = React.memo(
372
- ({ className, ref, ...props }) => /* @__PURE__ */ jsx(
373
- "div",
374
- {
375
- ref,
376
- className: cn(
377
- "card_footer",
378
- "flex items-center p-(--card-footer-padding) pt-0",
379
- className
380
- ),
381
- "data-slot": "card-footer",
382
- ...props
383
- }
384
- )
397
+ ({ className, ref, ...props }) => {
398
+ const ctx = useCardContext();
399
+ return /* @__PURE__ */ jsx(
400
+ "div",
401
+ {
402
+ ref,
403
+ className: cn(
404
+ "card_footer",
405
+ "flex items-center p-(--card-footer-padding) pt-0",
406
+ ctx?.classNames?.footer,
407
+ className
408
+ ),
409
+ "data-slot": "footer",
410
+ ...props
411
+ }
412
+ );
413
+ }
385
414
  );
386
415
  CardFooter.displayName = "CardFooter";
387
416
  var CardAction = React.memo(
388
- ({ className, ref, ...props }) => /* @__PURE__ */ jsx(
389
- "div",
390
- {
391
- ref,
392
- className: cn("card_action", "ml-auto flex items-center gap-2", className),
393
- "data-slot": "card-action",
394
- ...props
395
- }
396
- )
417
+ ({ className, ref, ...props }) => {
418
+ const ctx = useCardContext();
419
+ return /* @__PURE__ */ jsx(
420
+ "div",
421
+ {
422
+ ref,
423
+ className: cn("card_action", "ml-auto flex items-center gap-2", ctx?.classNames?.action, className),
424
+ "data-slot": "action",
425
+ ...props
426
+ }
427
+ );
428
+ }
397
429
  );
398
430
  CardAction.displayName = "CardAction";
399
431
  var aspectRatioClasses = {
@@ -418,29 +450,32 @@ var CardImage = React.memo(
418
450
  className,
419
451
  ref,
420
452
  ...props
421
- }) => /* @__PURE__ */ jsx(
422
- "div",
423
- {
424
- className: cn(
425
- "overflow-hidden",
426
- position === "top" && "rounded-t-lg",
427
- position === "bottom" && "rounded-b-lg",
428
- aspectRatio !== "auto" && aspectRatioClasses[aspectRatio]
429
- ),
430
- children: /* @__PURE__ */ jsx(
431
- "img",
432
- {
433
- ref,
434
- src,
435
- alt,
436
- className: cn("card_image", "w-full h-full", objectFitClasses[objectFit], className),
437
- "data-slot": "card-image",
438
- loading: "lazy",
439
- ...props
440
- }
441
- )
442
- }
443
- )
453
+ }) => {
454
+ const ctx = useCardContext();
455
+ return /* @__PURE__ */ jsx(
456
+ "div",
457
+ {
458
+ className: cn(
459
+ "overflow-hidden",
460
+ position === "top" && "rounded-t-lg",
461
+ position === "bottom" && "rounded-b-lg",
462
+ aspectRatio !== "auto" && aspectRatioClasses[aspectRatio]
463
+ ),
464
+ children: /* @__PURE__ */ jsx(
465
+ "img",
466
+ {
467
+ ref,
468
+ src,
469
+ alt,
470
+ className: cn("card_image", "w-full h-full", objectFitClasses[objectFit], ctx?.classNames?.image, className),
471
+ "data-slot": "image",
472
+ loading: "lazy",
473
+ ...props
474
+ }
475
+ )
476
+ }
477
+ );
478
+ }
444
479
  );
445
480
  CardImage.displayName = "CardImage";
446
481
  var CardWithSubComponents = Object.assign(Card, {
@@ -455,5 +490,5 @@ var CardWithSubComponents = Object.assign(Card, {
455
490
  var card_default = CardWithSubComponents;
456
491
 
457
492
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle, cardVariants, card_default };
458
- //# sourceMappingURL=chunk-MXDTUN3V.js.map
459
- //# sourceMappingURL=chunk-MXDTUN3V.js.map
493
+ //# sourceMappingURL=chunk-FZLFCT6Q.js.map
494
+ //# sourceMappingURL=chunk-FZLFCT6Q.js.map