@mdigital_ui/ui 0.2.6 → 0.2.8

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 (257) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1023 -341
  3. package/dist/accordion/index.js +3 -3
  4. package/dist/avatar/index.js +4 -0
  5. package/dist/avatar/index.js.map +1 -0
  6. package/dist/badge/index.js +3 -3
  7. package/dist/breadcrumbs/index.js +5 -5
  8. package/dist/button/index.js +4 -4
  9. package/dist/button-group/index.js +2 -2
  10. package/dist/card/index.js +2 -2
  11. package/dist/carousel/index.js +2 -2
  12. package/dist/cascader/index.js +2 -2
  13. package/dist/chart/index.js +2 -2
  14. package/dist/checkbox/index.js +3 -3
  15. package/dist/checkbox-group/index.js +2 -2
  16. package/dist/{chunk-GFQXGLFD.js → chunk-22MY7IWD.js} +82 -62
  17. package/dist/chunk-22MY7IWD.js.map +1 -0
  18. package/dist/{chunk-IRNJZ754.js → chunk-2J57G7XG.js} +76 -18
  19. package/dist/chunk-2J57G7XG.js.map +1 -0
  20. package/dist/{chunk-SOIF4SHB.js → chunk-2NYVRAG4.js} +24 -15
  21. package/dist/chunk-2NYVRAG4.js.map +1 -0
  22. package/dist/{chunk-3WVJE5MF.js → chunk-2OUGJBXK.js} +19 -12
  23. package/dist/chunk-2OUGJBXK.js.map +1 -0
  24. package/dist/{chunk-JFGLDCAK.js → chunk-2REG4OUB.js} +19 -7
  25. package/dist/chunk-2REG4OUB.js.map +1 -0
  26. package/dist/{chunk-YII4K64U.js → chunk-2WZVD7P3.js} +36 -10
  27. package/dist/chunk-2WZVD7P3.js.map +1 -0
  28. package/dist/chunk-3HBMVZF5.js +72 -0
  29. package/dist/chunk-3HBMVZF5.js.map +1 -0
  30. package/dist/{chunk-7ODPSHIQ.js → chunk-3UCZ4GMN.js} +10 -4
  31. package/dist/chunk-3UCZ4GMN.js.map +1 -0
  32. package/dist/{chunk-QVCGNOBE.js → chunk-43RDFTC5.js} +78 -31
  33. package/dist/chunk-43RDFTC5.js.map +1 -0
  34. package/dist/{chunk-7YPX6NJK.js → chunk-4LSKRZOT.js} +12 -7
  35. package/dist/chunk-4LSKRZOT.js.map +1 -0
  36. package/dist/chunk-5PUATOLR.js +127 -0
  37. package/dist/chunk-5PUATOLR.js.map +1 -0
  38. package/dist/{chunk-6IPISGTP.js → chunk-7UCNBMCV.js} +102 -27
  39. package/dist/chunk-7UCNBMCV.js.map +1 -0
  40. package/dist/{chunk-Y2CXG3PT.js → chunk-C5YO5VZS.js} +8 -8
  41. package/dist/chunk-C5YO5VZS.js.map +1 -0
  42. package/dist/chunk-CLLNXRYZ.js +234 -0
  43. package/dist/chunk-CLLNXRYZ.js.map +1 -0
  44. package/dist/{chunk-INH7KYCK.js → chunk-CMGCJXE5.js} +275 -95
  45. package/dist/chunk-CMGCJXE5.js.map +1 -0
  46. package/dist/{chunk-MDY3HCRC.js → chunk-CPDVBHA3.js} +47 -18
  47. package/dist/chunk-CPDVBHA3.js.map +1 -0
  48. package/dist/{chunk-6MYKJE6A.js → chunk-CSRMVLPR.js} +109 -27
  49. package/dist/chunk-CSRMVLPR.js.map +1 -0
  50. package/dist/{chunk-IHKPZOE5.js → chunk-DQQLJ5C5.js} +6 -4
  51. package/dist/chunk-DQQLJ5C5.js.map +1 -0
  52. package/dist/{chunk-555KXZRK.js → chunk-EGNF7BRT.js} +6 -4
  53. package/dist/chunk-EGNF7BRT.js.map +1 -0
  54. package/dist/{chunk-7BUNJYZO.js → chunk-FEMHXG2P.js} +22 -6
  55. package/dist/chunk-FEMHXG2P.js.map +1 -0
  56. package/dist/chunk-FIGSNRWY.js +382 -0
  57. package/dist/chunk-FIGSNRWY.js.map +1 -0
  58. package/dist/{chunk-JGQOEAWL.js → chunk-FVTMKQUE.js} +5 -3
  59. package/dist/chunk-FVTMKQUE.js.map +1 -0
  60. package/dist/chunk-H47C2ENJ.js +215 -0
  61. package/dist/chunk-H47C2ENJ.js.map +1 -0
  62. package/dist/{chunk-77YTCM7G.js → chunk-HEV27FUK.js} +75 -32
  63. package/dist/chunk-HEV27FUK.js.map +1 -0
  64. package/dist/chunk-HWFI4GJE.js +130 -0
  65. package/dist/chunk-HWFI4GJE.js.map +1 -0
  66. package/dist/{chunk-DV5J5NLI.js → chunk-ILQQTKD4.js} +8 -5
  67. package/dist/chunk-ILQQTKD4.js.map +1 -0
  68. package/dist/{chunk-AVPPV5OM.js → chunk-IMGVPMHJ.js} +6 -4
  69. package/dist/chunk-IMGVPMHJ.js.map +1 -0
  70. package/dist/{chunk-23BPDLT4.js → chunk-ITZBSE5F.js} +42 -22
  71. package/dist/chunk-ITZBSE5F.js.map +1 -0
  72. package/dist/{chunk-HBEJ4S2Y.js → chunk-JIREY2VB.js} +19 -13
  73. package/dist/chunk-JIREY2VB.js.map +1 -0
  74. package/dist/{chunk-L6EVOPWH.js → chunk-JZ5F6XDO.js} +6 -4
  75. package/dist/chunk-JZ5F6XDO.js.map +1 -0
  76. package/dist/{chunk-TWZ5LXLL.js → chunk-KPI7MN5V.js} +45 -16
  77. package/dist/chunk-KPI7MN5V.js.map +1 -0
  78. package/dist/{chunk-GGREAJO5.js → chunk-KTHWXHDN.js} +10 -5
  79. package/dist/chunk-KTHWXHDN.js.map +1 -0
  80. package/dist/{chunk-TUTOU4X6.js → chunk-LK4EPTNG.js} +13 -142
  81. package/dist/chunk-LK4EPTNG.js.map +1 -0
  82. package/dist/{chunk-35K7N4JT.js → chunk-LMR7TKDJ.js} +17 -6
  83. package/dist/chunk-LMR7TKDJ.js.map +1 -0
  84. package/dist/{chunk-BYWYC7RC.js → chunk-MRFCITKK.js} +19 -10
  85. package/dist/chunk-MRFCITKK.js.map +1 -0
  86. package/dist/{chunk-TG2AECIN.js → chunk-MXDTUN3V.js} +22 -9
  87. package/dist/chunk-MXDTUN3V.js.map +1 -0
  88. package/dist/{chunk-PQZB43VJ.js → chunk-N32VWE6V.js} +38 -23
  89. package/dist/chunk-N32VWE6V.js.map +1 -0
  90. package/dist/{chunk-NZA526GC.js → chunk-N3ZVPIFC.js} +16 -13
  91. package/dist/chunk-N3ZVPIFC.js.map +1 -0
  92. package/dist/{chunk-2OGZENFC.js → chunk-NGYLRX6F.js} +2 -16
  93. package/dist/chunk-NGYLRX6F.js.map +1 -0
  94. package/dist/{chunk-NQB4V5P7.js → chunk-PHQOHVG3.js} +5 -5
  95. package/dist/chunk-PHQOHVG3.js.map +1 -0
  96. package/dist/{chunk-SYDNDYZJ.js → chunk-PXOHJJBE.js} +22 -9
  97. package/dist/chunk-PXOHJJBE.js.map +1 -0
  98. package/dist/{chunk-HWSLJGT7.js → chunk-Q57THXIU.js} +28 -10
  99. package/dist/chunk-Q57THXIU.js.map +1 -0
  100. package/dist/{chunk-22FIGRGO.js → chunk-QF3NJUUG.js} +31 -7
  101. package/dist/chunk-QF3NJUUG.js.map +1 -0
  102. package/dist/{chunk-CPPFXCNB.js → chunk-QKSDVYKF.js} +4 -4
  103. package/dist/chunk-QKSDVYKF.js.map +1 -0
  104. package/dist/{chunk-7TN4PGYF.js → chunk-REKWBXAQ.js} +49 -33
  105. package/dist/chunk-REKWBXAQ.js.map +1 -0
  106. package/dist/{chunk-DP6AWUH5.js → chunk-ROA7BYGB.js} +49 -19
  107. package/dist/chunk-ROA7BYGB.js.map +1 -0
  108. package/dist/{chunk-XG3KLPPS.js → chunk-RPIJ2KY7.js} +9 -4
  109. package/dist/chunk-RPIJ2KY7.js.map +1 -0
  110. package/dist/{chunk-C2MZL644.js → chunk-RW4RW4DV.js} +80 -30
  111. package/dist/chunk-RW4RW4DV.js.map +1 -0
  112. package/dist/chunk-RYKVZFGB.js +607 -0
  113. package/dist/chunk-RYKVZFGB.js.map +1 -0
  114. package/dist/chunk-SAVEKACZ.js +552 -0
  115. package/dist/chunk-SAVEKACZ.js.map +1 -0
  116. package/dist/{chunk-SMVVCZNM.js → chunk-SGRACNBP.js} +12 -7
  117. package/dist/chunk-SGRACNBP.js.map +1 -0
  118. package/dist/chunk-UUP7YGOS.js +299 -0
  119. package/dist/chunk-UUP7YGOS.js.map +1 -0
  120. package/dist/chunk-VY3X4SDU.js +143 -0
  121. package/dist/chunk-VY3X4SDU.js.map +1 -0
  122. package/dist/{chunk-SGMIDNPI.js → chunk-W3ES3UPV.js} +73 -19
  123. package/dist/chunk-W3ES3UPV.js.map +1 -0
  124. package/dist/{chunk-EFMKUCGX.js → chunk-WTGCXWNX.js} +8 -5
  125. package/dist/chunk-WTGCXWNX.js.map +1 -0
  126. package/dist/chunk-WUBMNJGC.js +141 -0
  127. package/dist/chunk-WUBMNJGC.js.map +1 -0
  128. package/dist/{chunk-O2VJ6KP4.js → chunk-X5SCI7KH.js} +190 -142
  129. package/dist/chunk-X5SCI7KH.js.map +1 -0
  130. package/dist/{chunk-ARK3EROZ.js → chunk-YAAV7FQG.js} +20 -12
  131. package/dist/chunk-YAAV7FQG.js.map +1 -0
  132. package/dist/{chunk-MLNIKNLI.js → chunk-YFK2DHCY.js} +57 -11
  133. package/dist/chunk-YFK2DHCY.js.map +1 -0
  134. package/dist/{chunk-R2FZO7AM.js → chunk-YTUB2Q7P.js} +26 -9
  135. package/dist/chunk-YTUB2Q7P.js.map +1 -0
  136. package/dist/clipboard/index.js +2 -2
  137. package/dist/collapse/index.js +2 -2
  138. package/dist/command/index.js +3 -3
  139. package/dist/context-menu/index.js +4 -0
  140. package/dist/context-menu/index.js.map +1 -0
  141. package/dist/date-picker/index.js +4 -4
  142. package/dist/descriptions/index.js +2 -2
  143. package/dist/divider/index.js +4 -0
  144. package/dist/divider/index.js.map +1 -0
  145. package/dist/drawer/index.js +2 -2
  146. package/dist/dropdown/index.js +4 -4
  147. package/dist/empty/index.js +2 -2
  148. package/dist/fetching-overlay/index.js +4 -4
  149. package/dist/grid/index.js +2 -2
  150. package/dist/image/index.js +2 -2
  151. package/dist/index.d.ts +1249 -168
  152. package/dist/index.js +63 -883
  153. package/dist/index.js.map +1 -1
  154. package/dist/input/index.js +4 -4
  155. package/dist/input-group/index.js +2 -2
  156. package/dist/input-otp/index.js +2 -2
  157. package/dist/input-password/index.js +5 -5
  158. package/dist/kbd/index.js +3 -3
  159. package/dist/modal/index.js +2 -2
  160. package/dist/multi-select/index.js +4 -4
  161. package/dist/notification/index.js +3 -3
  162. package/dist/pagination/index.js +2 -2
  163. package/dist/popover/index.js +3 -3
  164. package/dist/progress/index.js +2 -2
  165. package/dist/radio/index.js +3 -3
  166. package/dist/radio-group/index.js +2 -2
  167. package/dist/rating/index.js +2 -2
  168. package/dist/ribbon/index.js +2 -2
  169. package/dist/select/index.js +5 -5
  170. package/dist/skeleton/index.js +3 -3
  171. package/dist/slider/index.js +2 -2
  172. package/dist/spinner/index.js +3 -3
  173. package/dist/stepper/index.js +2 -2
  174. package/dist/styles/base.css +204 -99
  175. package/dist/styles/global.css +1330 -721
  176. package/dist/styles/themes/dark.css +3 -1
  177. package/dist/styles/themes/light.css +3 -1
  178. package/dist/styles/themes/presets/corporate.css +126 -0
  179. package/dist/styles/themes/presets/minimal.css +126 -0
  180. package/dist/styles/themes/presets/vibrant.css +126 -0
  181. package/dist/switch/index.js +3 -3
  182. package/dist/table/index.js +10 -10
  183. package/dist/tabs/index.js +3 -3
  184. package/dist/tag/index.js +5 -0
  185. package/dist/tag/index.js.map +1 -0
  186. package/dist/textarea/index.js +2 -2
  187. package/dist/theme/index.js +3 -0
  188. package/dist/theme/index.js.map +1 -0
  189. package/dist/toggle/index.js +2 -2
  190. package/dist/toggle-group/index.js +2 -2
  191. package/dist/tooltip/index.js +3 -3
  192. package/dist/transfer/index.js +4 -4
  193. package/dist/tree/index.js +2 -2
  194. package/dist/tree-select/index.js +5 -5
  195. package/dist/upload/index.js +2 -2
  196. package/package.json +439 -66
  197. package/dist/chunk-22FIGRGO.js.map +0 -1
  198. package/dist/chunk-23BPDLT4.js.map +0 -1
  199. package/dist/chunk-2OGZENFC.js.map +0 -1
  200. package/dist/chunk-35K7N4JT.js.map +0 -1
  201. package/dist/chunk-3QKPSJTV.js +0 -120
  202. package/dist/chunk-3QKPSJTV.js.map +0 -1
  203. package/dist/chunk-3WVJE5MF.js.map +0 -1
  204. package/dist/chunk-555KXZRK.js.map +0 -1
  205. package/dist/chunk-6IPISGTP.js.map +0 -1
  206. package/dist/chunk-6MYKJE6A.js.map +0 -1
  207. package/dist/chunk-6PFBSVLK.js +0 -39
  208. package/dist/chunk-6PFBSVLK.js.map +0 -1
  209. package/dist/chunk-77YTCM7G.js.map +0 -1
  210. package/dist/chunk-7BUNJYZO.js.map +0 -1
  211. package/dist/chunk-7ODPSHIQ.js.map +0 -1
  212. package/dist/chunk-7TN4PGYF.js.map +0 -1
  213. package/dist/chunk-7YPX6NJK.js.map +0 -1
  214. package/dist/chunk-ARK3EROZ.js.map +0 -1
  215. package/dist/chunk-AVPPV5OM.js.map +0 -1
  216. package/dist/chunk-BYWYC7RC.js.map +0 -1
  217. package/dist/chunk-C2MZL644.js.map +0 -1
  218. package/dist/chunk-CPPFXCNB.js.map +0 -1
  219. package/dist/chunk-DP6AWUH5.js.map +0 -1
  220. package/dist/chunk-DV5J5NLI.js.map +0 -1
  221. package/dist/chunk-EFMKUCGX.js.map +0 -1
  222. package/dist/chunk-GFQXGLFD.js.map +0 -1
  223. package/dist/chunk-GGREAJO5.js.map +0 -1
  224. package/dist/chunk-GH3CNX5N.js +0 -178
  225. package/dist/chunk-GH3CNX5N.js.map +0 -1
  226. package/dist/chunk-HBEJ4S2Y.js.map +0 -1
  227. package/dist/chunk-HWSLJGT7.js.map +0 -1
  228. package/dist/chunk-IHKPZOE5.js.map +0 -1
  229. package/dist/chunk-INH7KYCK.js.map +0 -1
  230. package/dist/chunk-IRNJZ754.js.map +0 -1
  231. package/dist/chunk-IUUEYOMN.js +0 -470
  232. package/dist/chunk-IUUEYOMN.js.map +0 -1
  233. package/dist/chunk-JFGLDCAK.js.map +0 -1
  234. package/dist/chunk-JGQOEAWL.js.map +0 -1
  235. package/dist/chunk-L6EVOPWH.js.map +0 -1
  236. package/dist/chunk-LSQLUYTD.js +0 -192
  237. package/dist/chunk-LSQLUYTD.js.map +0 -1
  238. package/dist/chunk-MDY3HCRC.js.map +0 -1
  239. package/dist/chunk-MLNIKNLI.js.map +0 -1
  240. package/dist/chunk-NQB4V5P7.js.map +0 -1
  241. package/dist/chunk-NZA526GC.js.map +0 -1
  242. package/dist/chunk-O2VJ6KP4.js.map +0 -1
  243. package/dist/chunk-PQZB43VJ.js.map +0 -1
  244. package/dist/chunk-QVCGNOBE.js.map +0 -1
  245. package/dist/chunk-R2FZO7AM.js.map +0 -1
  246. package/dist/chunk-SGMIDNPI.js.map +0 -1
  247. package/dist/chunk-SMVVCZNM.js.map +0 -1
  248. package/dist/chunk-SOIF4SHB.js.map +0 -1
  249. package/dist/chunk-SYDNDYZJ.js.map +0 -1
  250. package/dist/chunk-TG2AECIN.js.map +0 -1
  251. package/dist/chunk-TIMRHEKH.js +0 -452
  252. package/dist/chunk-TIMRHEKH.js.map +0 -1
  253. package/dist/chunk-TUTOU4X6.js.map +0 -1
  254. package/dist/chunk-TWZ5LXLL.js.map +0 -1
  255. package/dist/chunk-XG3KLPPS.js.map +0 -1
  256. package/dist/chunk-Y2CXG3PT.js.map +0 -1
  257. package/dist/chunk-YII4K64U.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-2OGZENFC.js';
1
+ import { cn } from './chunk-NGYLRX6F.js';
2
2
  import { cva } from 'class-variance-authority';
3
3
  import { X } from 'lucide-react';
4
4
  import { Drawer as Drawer$1 } from 'vaul';
@@ -109,14 +109,17 @@ var DrawerTrigger = React.memo(
109
109
  DrawerTrigger.displayName = "DrawerTrigger";
110
110
  var DrawerPortal = Drawer$1.Portal;
111
111
  var DrawerOverlay = React.memo(
112
- ({ className, ref, ...props }) => /* @__PURE__ */ jsx(
112
+ ({ className, ref, classNames, ...props }) => /* @__PURE__ */ jsx(
113
113
  Drawer$1.Overlay,
114
114
  {
115
115
  ref,
116
116
  className: cn(
117
+ "drawer_overlay",
117
118
  "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
119
+ classNames?.overlay,
118
120
  className
119
121
  ),
122
+ "data-slot": "drawer-overlay",
120
123
  ...props
121
124
  }
122
125
  )
@@ -130,38 +133,85 @@ var DrawerContent = React.memo(
130
133
  showCloseButton = false,
131
134
  showHandle,
132
135
  className,
133
- ref
136
+ ref,
137
+ classNames
134
138
  }) => {
135
139
  const { direction: contextDirection } = useContext(DrawerContext);
136
140
  const direction = directionProp ?? contextDirection;
137
141
  const shouldShowHandle = showHandle ?? (direction === "bottom" || direction === "top");
138
142
  const isHorizontal = direction === "left" || direction === "right";
139
143
  return /* @__PURE__ */ jsxs(DrawerPortal, { children: [
140
- /* @__PURE__ */ jsx(DrawerOverlay, {}),
144
+ /* @__PURE__ */ jsx(DrawerOverlay, { classNames }),
141
145
  /* @__PURE__ */ jsxs(
142
146
  Drawer$1.Content,
143
147
  {
144
148
  ref,
145
149
  className: cn(
150
+ "drawer_content",
146
151
  drawerContentVariants({ direction, size }),
147
152
  paddingClasses[size],
148
153
  "z-50",
154
+ classNames?.content,
149
155
  className
150
156
  ),
157
+ "data-slot": "drawer-content",
151
158
  children: [
152
- shouldShowHandle && direction === "bottom" && /* @__PURE__ */ jsx("div", { className: "mx-auto w-12 h-1.5 flex-shrink-0 rounded-full bg-border mb-4" }),
153
- shouldShowHandle && direction === "top" && /* @__PURE__ */ jsx("div", { className: "mx-auto w-12 h-1.5 flex-shrink-0 rounded-full bg-border mb-4 order-last mt-auto" }),
154
- shouldShowHandle && direction === "left" && /* @__PURE__ */ jsx("div", { className: "absolute right-2 top-1/2 -translate-y-1/2 w-1.5 h-12 rounded-full bg-border" }),
155
- shouldShowHandle && direction === "right" && /* @__PURE__ */ jsx("div", { className: "absolute left-2 top-1/2 -translate-y-1/2 w-1.5 h-12 rounded-full bg-border" }),
159
+ shouldShowHandle && direction === "bottom" && /* @__PURE__ */ jsx(
160
+ "div",
161
+ {
162
+ className: cn(
163
+ "drawer_handle",
164
+ "mx-auto w-12 h-1.5 flex-shrink-0 rounded-full bg-border mb-4",
165
+ classNames?.handle
166
+ ),
167
+ "data-slot": "drawer-handle"
168
+ }
169
+ ),
170
+ shouldShowHandle && direction === "top" && /* @__PURE__ */ jsx(
171
+ "div",
172
+ {
173
+ className: cn(
174
+ "drawer_handle",
175
+ "mx-auto w-12 h-1.5 flex-shrink-0 rounded-full bg-border mb-4 order-last mt-auto",
176
+ classNames?.handle
177
+ ),
178
+ "data-slot": "drawer-handle"
179
+ }
180
+ ),
181
+ shouldShowHandle && direction === "left" && /* @__PURE__ */ jsx(
182
+ "div",
183
+ {
184
+ className: cn(
185
+ "drawer_handle",
186
+ "absolute right-2 top-1/2 -translate-y-1/2 w-1.5 h-12 rounded-full bg-border",
187
+ classNames?.handle
188
+ ),
189
+ "data-slot": "drawer-handle"
190
+ }
191
+ ),
192
+ shouldShowHandle && direction === "right" && /* @__PURE__ */ jsx(
193
+ "div",
194
+ {
195
+ className: cn(
196
+ "drawer_handle",
197
+ "absolute left-2 top-1/2 -translate-y-1/2 w-1.5 h-12 rounded-full bg-border",
198
+ classNames?.handle
199
+ ),
200
+ "data-slot": "drawer-handle"
201
+ }
202
+ ),
156
203
  showCloseButton && /* @__PURE__ */ jsxs(
157
204
  Drawer$1.Close,
158
205
  {
159
206
  className: cn(
207
+ "drawer_closeButton",
160
208
  "absolute rounded-md opacity-70 transition-opacity hover:opacity-100",
161
209
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
162
210
  "text-text-secondary hover:text-text-primary hover:bg-surface",
163
- closeButtonSizeClasses[size]
211
+ closeButtonSizeClasses[size],
212
+ classNames?.closeButton
164
213
  ),
214
+ "data-slot": "drawer-closeButton",
165
215
  children: [
166
216
  /* @__PURE__ */ jsx(X, {}),
167
217
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
@@ -187,12 +237,18 @@ var DrawerContent = React.memo(
187
237
  );
188
238
  DrawerContent.displayName = "DrawerContent";
189
239
  var DrawerHeader = React.memo(
190
- ({ children, className, ref }) => {
240
+ ({ children, className, ref, classNames }) => {
191
241
  return /* @__PURE__ */ jsx(
192
242
  "div",
193
243
  {
194
244
  ref,
195
- className: cn("flex flex-col gap-1.5 mb-4 shrink-0", className),
245
+ className: cn(
246
+ "drawer_header",
247
+ "flex flex-col gap-1.5 mb-4 shrink-0",
248
+ classNames?.header,
249
+ className
250
+ ),
251
+ "data-slot": "drawer-header",
196
252
  children
197
253
  }
198
254
  );
@@ -200,12 +256,18 @@ var DrawerHeader = React.memo(
200
256
  );
201
257
  DrawerHeader.displayName = "DrawerHeader";
202
258
  var DrawerBody = React.memo(
203
- ({ children, className, ref }) => {
259
+ ({ children, className, ref, classNames }) => {
204
260
  return /* @__PURE__ */ jsx(
205
261
  "div",
206
262
  {
207
263
  ref,
208
- className: cn("flex-1 overflow-y-auto min-h-0", className),
264
+ className: cn(
265
+ "drawer_body",
266
+ "flex-1 overflow-y-auto min-h-0",
267
+ classNames?.body,
268
+ className
269
+ ),
270
+ "data-slot": "drawer-body",
209
271
  children
210
272
  }
211
273
  );
@@ -213,12 +275,18 @@ var DrawerBody = React.memo(
213
275
  );
214
276
  DrawerBody.displayName = "DrawerBody";
215
277
  var DrawerFooter = React.memo(
216
- ({ children, className, ref }) => {
278
+ ({ children, className, ref, classNames }) => {
217
279
  return /* @__PURE__ */ jsx(
218
280
  "div",
219
281
  {
220
282
  ref,
221
- className: cn("flex gap-2 mt-auto pt-4 shrink-0", className),
283
+ className: cn(
284
+ "drawer_footer",
285
+ "flex gap-2 mt-auto pt-4 shrink-0",
286
+ classNames?.footer,
287
+ className
288
+ ),
289
+ "data-slot": "drawer-footer",
222
290
  children
223
291
  }
224
292
  );
@@ -226,12 +294,18 @@ var DrawerFooter = React.memo(
226
294
  );
227
295
  DrawerFooter.displayName = "DrawerFooter";
228
296
  var DrawerTitle = React.memo(
229
- ({ children, className, ref }) => {
297
+ ({ children, className, ref, classNames }) => {
230
298
  return /* @__PURE__ */ jsx(
231
299
  Drawer$1.Title,
232
300
  {
233
301
  ref,
234
- className: cn("text-lg font-semibold text-text-primary", className),
302
+ className: cn(
303
+ "drawer_title",
304
+ "text-lg font-semibold text-text-primary",
305
+ classNames?.title,
306
+ className
307
+ ),
308
+ "data-slot": "drawer-title",
235
309
  children
236
310
  }
237
311
  );
@@ -239,12 +313,18 @@ var DrawerTitle = React.memo(
239
313
  );
240
314
  DrawerTitle.displayName = "DrawerTitle";
241
315
  var DrawerDescription = React.memo(
242
- ({ children, className, ref }) => {
316
+ ({ children, className, ref, classNames }) => {
243
317
  return /* @__PURE__ */ jsx(
244
318
  Drawer$1.Description,
245
319
  {
246
320
  ref,
247
- className: cn("text-sm text-text-secondary", className),
321
+ className: cn(
322
+ "drawer_description",
323
+ "text-sm text-text-secondary",
324
+ classNames?.description,
325
+ className
326
+ ),
327
+ "data-slot": "drawer-description",
248
328
  children
249
329
  }
250
330
  );
@@ -273,7 +353,8 @@ function ComposedDrawer({
273
353
  hideHeader = false,
274
354
  hideFooter = false,
275
355
  className,
276
- contentClassName
356
+ contentClassName,
357
+ classNames
277
358
  }) {
278
359
  return /* @__PURE__ */ jsx(
279
360
  Drawer,
@@ -291,13 +372,14 @@ function ComposedDrawer({
291
372
  showCloseButton,
292
373
  showHandle,
293
374
  className: contentClassName,
375
+ classNames,
294
376
  children: [
295
- !hideHeader && (title || description) && /* @__PURE__ */ jsxs(DrawerHeader, { className, children: [
296
- title && /* @__PURE__ */ jsx(DrawerTitle, { children: title }),
297
- description && /* @__PURE__ */ jsx(DrawerDescription, { children: description })
377
+ !hideHeader && (title || description) && /* @__PURE__ */ jsxs(DrawerHeader, { className, classNames, children: [
378
+ title && /* @__PURE__ */ jsx(DrawerTitle, { classNames, children: title }),
379
+ description && /* @__PURE__ */ jsx(DrawerDescription, { classNames, children: description })
298
380
  ] }),
299
- /* @__PURE__ */ jsx(DrawerBody, { children }),
300
- !hideFooter && footer && /* @__PURE__ */ jsx(DrawerFooter, { children: footer })
381
+ /* @__PURE__ */ jsx(DrawerBody, { classNames, children }),
382
+ !hideFooter && footer && /* @__PURE__ */ jsx(DrawerFooter, { classNames, children: footer })
301
383
  ]
302
384
  }
303
385
  )
@@ -308,5 +390,5 @@ ComposedDrawer.displayName = "ComposedDrawer";
308
390
  var drawer_default = ComposedDrawer;
309
391
 
310
392
  export { ComposedDrawer, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, drawer_default };
311
- //# sourceMappingURL=chunk-6MYKJE6A.js.map
312
- //# sourceMappingURL=chunk-6MYKJE6A.js.map
393
+ //# sourceMappingURL=chunk-CSRMVLPR.js.map
394
+ //# sourceMappingURL=chunk-CSRMVLPR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drawer/index.tsx"],"names":["DrawerPrimitive"],"mappings":"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","file":"chunk-CSRMVLPR.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport { Drawer as DrawerPrimitive } from \"vaul\";\nimport React, { createContext, useContext } from \"react\";\n\nimport { cn } from \"../utils\";\nimport type {\n ComposedDrawerProps,\n DrawerBodyProps,\n DrawerCloseProps,\n DrawerContentProps,\n DrawerDescriptionProps,\n DrawerDirection,\n DrawerFooterProps,\n DrawerHeaderProps,\n DrawerOverlayProps,\n DrawerProps,\n DrawerSize,\n DrawerTitleProps,\n DrawerTriggerProps,\n} from \"./types\";\n\n// Context to pass direction from Drawer to DrawerContent\nconst DrawerContext = createContext<{\n direction: DrawerDirection;\n}>({ direction: \"bottom\" });\n\nconst drawerContentVariants = cva(\n \"fixed bg-background border-border flex flex-col outline-none\",\n {\n variants: {\n direction: {\n bottom: \"bottom-0 left-0 right-0 border-t rounded-t-xl max-h-[96vh]\",\n top: \"top-0 left-0 right-0 border-b rounded-b-xl max-h-[96vh]\",\n left: \"left-0 top-0 bottom-0 border-r rounded-r-xl max-w-[96vw]\",\n right: \"right-0 top-0 bottom-0 border-l rounded-l-xl max-w-[96vw]\",\n },\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n full: \"\",\n },\n },\n compoundVariants: [\n // Bottom/Top - height based\n { direction: \"bottom\", size: \"xs\", class: \"h-1/4\" },\n { direction: \"bottom\", size: \"sm\", class: \"h-1/3\" },\n { direction: \"bottom\", size: \"md\", class: \"h-1/2\" },\n { direction: \"bottom\", size: \"lg\", class: \"h-3/4\" },\n { direction: \"bottom\", size: \"full\", class: \"h-[96vh]\" },\n { direction: \"top\", size: \"xs\", class: \"h-1/4\" },\n { direction: \"top\", size: \"sm\", class: \"h-1/3\" },\n { direction: \"top\", size: \"md\", class: \"h-1/2\" },\n { direction: \"top\", size: \"lg\", class: \"h-3/4\" },\n { direction: \"top\", size: \"full\", class: \"h-[96vh]\" },\n // Left/Right - width based\n { direction: \"left\", size: \"xs\", class: \"w-64\" },\n { direction: \"left\", size: \"sm\", class: \"w-80\" },\n { direction: \"left\", size: \"md\", class: \"w-96\" },\n { direction: \"left\", size: \"lg\", class: \"w-[480px]\" },\n { direction: \"left\", size: \"full\", class: \"w-[96vw]\" },\n { direction: \"right\", size: \"xs\", class: \"w-64\" },\n { direction: \"right\", size: \"sm\", class: \"w-80\" },\n { direction: \"right\", size: \"md\", class: \"w-96\" },\n { direction: \"right\", size: \"lg\", class: \"w-[480px]\" },\n { direction: \"right\", size: \"full\", class: \"w-[96vw]\" },\n ],\n defaultVariants: {\n direction: \"bottom\",\n size: \"md\",\n },\n },\n);\n\n/**\n * Close button size classes\n */\nconst closeButtonSizeClasses: Record<DrawerSize, string> = {\n xs: \"top-2 right-2 p-1 [&_svg]:size-3.5\",\n sm: \"top-3 right-3 p-1.5 [&_svg]:size-4\",\n md: \"top-4 right-4 p-1.5 [&_svg]:size-4\",\n lg: \"top-4 right-4 p-2 [&_svg]:size-5\",\n full: \"top-5 right-5 p-2 [&_svg]:size-5\",\n};\n\n/**\n * Padding classes based on size\n */\nconst paddingClasses: Record<DrawerSize, string> = {\n xs: \"p-3\",\n sm: \"p-4\",\n md: \"p-5\",\n lg: \"p-6\",\n full: \"p-6\",\n};\n\nexport const Drawer = React.memo<DrawerProps>(\n ({\n open,\n onOpenChange,\n direction = \"bottom\",\n modal = true,\n dismissible = true,\n snapPoints,\n children,\n }) => {\n return (\n <DrawerContext.Provider value={{ direction }}>\n <DrawerPrimitive.Root\n open={open}\n onOpenChange={onOpenChange}\n direction={direction}\n modal={modal}\n dismissible={dismissible}\n snapPoints={snapPoints}\n >\n {children}\n </DrawerPrimitive.Root>\n </DrawerContext.Provider>\n );\n },\n);\n\nDrawer.displayName = \"Drawer\";\n\nexport const DrawerTrigger = React.memo<DrawerTriggerProps>(\n ({ children, asChild = false, className, ref }) => {\n return (\n <DrawerPrimitive.Trigger\n ref={ref}\n asChild={asChild}\n className={className}\n >\n {children}\n </DrawerPrimitive.Trigger>\n );\n },\n);\n\nDrawerTrigger.displayName = \"DrawerTrigger\";\n\nexport const DrawerPortal = DrawerPrimitive.Portal;\n\nexport const DrawerOverlay = React.memo<DrawerOverlayProps>(\n ({ className, ref, classNames, ...props }) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\n \"drawer_overlay\",\n \"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm\",\n classNames?.overlay,\n className,\n )}\n data-slot=\"drawer-overlay\"\n {...props}\n />\n ),\n);\n\nDrawerOverlay.displayName = \"DrawerOverlay\";\n\nexport const DrawerContent = React.memo<DrawerContentProps>(\n ({\n children,\n direction: directionProp,\n size = \"md\",\n showCloseButton = false,\n showHandle,\n className,\n ref,\n classNames,\n }) => {\n const { direction: contextDirection } = useContext(DrawerContext);\n const direction = directionProp ?? contextDirection;\n\n // Default showHandle based on direction\n const shouldShowHandle =\n showHandle ?? (direction === \"bottom\" || direction === \"top\");\n\n const isHorizontal = direction === \"left\" || direction === \"right\";\n\n return (\n <DrawerPortal>\n <DrawerOverlay classNames={classNames} />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n \"drawer_content\",\n drawerContentVariants({ direction, size }),\n paddingClasses[size],\n \"z-50\",\n classNames?.content,\n className,\n )}\n data-slot=\"drawer-content\"\n >\n {/* Handle for bottom drawer */}\n {shouldShowHandle && direction === \"bottom\" && (\n <div\n className={cn(\n \"drawer_handle\",\n \"mx-auto w-12 h-1.5 flex-shrink-0 rounded-full bg-border mb-4\",\n classNames?.handle\n )}\n data-slot=\"drawer-handle\"\n />\n )}\n\n {/* Handle for top drawer */}\n {shouldShowHandle && direction === \"top\" && (\n <div\n className={cn(\n \"drawer_handle\",\n \"mx-auto w-12 h-1.5 flex-shrink-0 rounded-full bg-border mb-4 order-last mt-auto\",\n classNames?.handle\n )}\n data-slot=\"drawer-handle\"\n />\n )}\n\n {/* Handle for left drawer */}\n {shouldShowHandle && direction === \"left\" && (\n <div\n className={cn(\n \"drawer_handle\",\n \"absolute right-2 top-1/2 -translate-y-1/2 w-1.5 h-12 rounded-full bg-border\",\n classNames?.handle\n )}\n data-slot=\"drawer-handle\"\n />\n )}\n\n {/* Handle for right drawer */}\n {shouldShowHandle && direction === \"right\" && (\n <div\n className={cn(\n \"drawer_handle\",\n \"absolute left-2 top-1/2 -translate-y-1/2 w-1.5 h-12 rounded-full bg-border\",\n classNames?.handle\n )}\n data-slot=\"drawer-handle\"\n />\n )}\n\n {/* Close button */}\n {showCloseButton && (\n <DrawerPrimitive.Close\n className={cn(\n \"drawer_closeButton\",\n \"absolute rounded-md opacity-70 transition-opacity hover:opacity-100\",\n \"focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2\",\n \"text-text-secondary hover:text-text-primary hover:bg-surface\",\n closeButtonSizeClasses[size],\n classNames?.closeButton,\n )}\n data-slot=\"drawer-closeButton\"\n >\n <X />\n <span className=\"sr-only\">Close</span>\n </DrawerPrimitive.Close>\n )}\n\n {/* Content wrapper */}\n <div\n className={cn(\n \"flex flex-col flex-1 min-h-0\",\n isHorizontal && \"overflow-y-auto\",\n showCloseButton && \"pt-6\",\n )}\n >\n {children}\n </div>\n </DrawerPrimitive.Content>\n </DrawerPortal>\n );\n },\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport const DrawerHeader = React.memo<DrawerHeaderProps>(\n ({ children, className, ref, classNames }) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"drawer_header\",\n \"flex flex-col gap-1.5 mb-4 shrink-0\",\n classNames?.header,\n className\n )}\n data-slot=\"drawer-header\"\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport const DrawerBody = React.memo<DrawerBodyProps>(\n ({ children, className, ref, classNames }) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"drawer_body\",\n \"flex-1 overflow-y-auto min-h-0\",\n classNames?.body,\n className\n )}\n data-slot=\"drawer-body\"\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport const DrawerFooter = React.memo<DrawerFooterProps>(\n ({ children, className, ref, classNames }) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"drawer_footer\",\n \"flex gap-2 mt-auto pt-4 shrink-0\",\n classNames?.footer,\n className\n )}\n data-slot=\"drawer-footer\"\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n\nexport const DrawerTitle = React.memo<DrawerTitleProps>(\n ({ children, className, ref, classNames }) => {\n return (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"drawer_title\",\n \"text-lg font-semibold text-text-primary\",\n classNames?.title,\n className\n )}\n data-slot=\"drawer-title\"\n >\n {children}\n </DrawerPrimitive.Title>\n );\n },\n);\n\nDrawerTitle.displayName = \"DrawerTitle\";\n\nexport const DrawerDescription = React.memo<DrawerDescriptionProps>(\n ({ children, className, ref, classNames }) => {\n return (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\n \"drawer_description\",\n \"text-sm text-text-secondary\",\n classNames?.description,\n className\n )}\n data-slot=\"drawer-description\"\n >\n {children}\n </DrawerPrimitive.Description>\n );\n },\n);\n\nDrawerDescription.displayName = \"DrawerDescription\";\n\nexport const DrawerClose = React.memo<DrawerCloseProps>(\n ({ children, asChild = false, className, ref }) => {\n return (\n <DrawerPrimitive.Close ref={ref} asChild={asChild} className={className}>\n {children}\n </DrawerPrimitive.Close>\n );\n },\n);\n\nDrawerClose.displayName = \"DrawerClose\";\n\n/**\n * ComposedDrawer - A convenience component that combines all drawer parts\n */\nexport function ComposedDrawer({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n direction = \"right\",\n size = \"md\",\n modal = true,\n showCloseButton = true,\n showHandle,\n dismissible = true,\n hideHeader = false,\n hideFooter = false,\n className,\n contentClassName,\n classNames,\n}: ComposedDrawerProps) {\n return (\n <Drawer\n open={open}\n onOpenChange={onOpenChange}\n direction={direction}\n modal={modal}\n dismissible={dismissible}\n >\n <DrawerContent\n direction={direction}\n size={size}\n showCloseButton={showCloseButton}\n showHandle={showHandle}\n className={contentClassName}\n classNames={classNames}\n >\n {!hideHeader && (title || description) && (\n <DrawerHeader className={className} classNames={classNames}>\n {title && <DrawerTitle classNames={classNames}>{title}</DrawerTitle>}\n {description && (\n <DrawerDescription classNames={classNames}>{description}</DrawerDescription>\n )}\n </DrawerHeader>\n )}\n <DrawerBody classNames={classNames}>{children}</DrawerBody>\n {!hideFooter && footer && <DrawerFooter classNames={classNames}>{footer}</DrawerFooter>}\n </DrawerContent>\n </Drawer>\n );\n}\n\nComposedDrawer.displayName = \"ComposedDrawer\";\n\nexport type * from \"./types\";\nexport default ComposedDrawer;\n"]}
@@ -1,5 +1,5 @@
1
- import { Spinner } from './chunk-NQB4V5P7.js';
2
- import { cn } from './chunk-2OGZENFC.js';
1
+ import { Spinner } from './chunk-PHQOHVG3.js';
2
+ import { cn } from './chunk-NGYLRX6F.js';
3
3
  import React from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -14,7 +14,9 @@ var FetchingOverlay = React.memo(({
14
14
  return /* @__PURE__ */ jsx(
15
15
  "div",
16
16
  {
17
+ "data-slot": "root",
17
18
  className: cn(
19
+ "fetchingOverlay_root",
18
20
  "absolute inset-0 flex items-center justify-center transition-all duration-300",
19
21
  fullscreen && "fixed w-full h-screen z-50",
20
22
  isFetching ? "opacity-100" : "opacity-0 pointer-events-none",
@@ -36,5 +38,5 @@ FetchingOverlay.displayName = "FetchingOverlay";
36
38
  var fetching_overlay_default = FetchingOverlay;
37
39
 
38
40
  export { fetching_overlay_default };
39
- //# sourceMappingURL=chunk-IHKPZOE5.js.map
40
- //# sourceMappingURL=chunk-IHKPZOE5.js.map
41
+ //# sourceMappingURL=chunk-DQQLJ5C5.js.map
42
+ //# sourceMappingURL=chunk-DQQLJ5C5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/fetching-overlay/index.tsx"],"names":[],"mappings":";;;;;AAcA,IAAM,eAAA,GAAkB,KAAA,CAAM,IAAA,CAA2B,CAAC;AAAA,EACxD,UAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA,GAAa,IAAA;AAAA,EACb,eAAA,GAAkB,EAAA;AAAA,EAClB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,MAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,sBAAA;AAAA,QACA,+EAAA;AAAA,QACA,UAAA,IAAc,4BAAA;AAAA,QACd,aAAa,aAAA,GAAgB,+BAAA;AAAA,QAC7B;AAAA,OACF;AAAA,MACA,KAAA,EAAO,aAAa,EAAE,eAAA,EAAiB,iBAAiB,eAAA,GAAkB,GAAG,KAAI,GAAI,MAAA;AAAA,MAErF,QAAA,kBAAA,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,IAAA;AAAA,UACA,SAAA,EAAU,gDAAA;AAAA,UACT,GAAG;AAAA;AAAA;AACN;AAAA,GACF;AAEJ,CAAC,CAAA;AAED,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAE9B,IAAO,wBAAA,GAAQ","file":"chunk-DQQLJ5C5.js","sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { Spinner } from '../spinner'\nimport { SpinnerProps } from '../spinner/types'\nimport { cn } from '../utils'\n\ninterface FetchingOverlayProps extends SpinnerProps {\n isFetching: boolean\n fullscreen?: boolean\n backdropOpacity?: number\n}\n\nconst FetchingOverlay = React.memo<FetchingOverlayProps>(({\n isFetching,\n size = 'lg',\n fullscreen = true,\n backdropOpacity = 30,\n className,\n ...rest\n}) => {\n return (\n <div\n data-slot=\"root\"\n className={cn(\n 'fetchingOverlay_root',\n 'absolute inset-0 flex items-center justify-center transition-all duration-300',\n fullscreen && 'fixed w-full h-screen z-50',\n isFetching ? 'opacity-100' : 'opacity-0 pointer-events-none',\n className,\n )}\n style={isFetching ? { backgroundColor: `rgba(0, 0, 0, ${backdropOpacity / 100})` } : undefined}\n >\n <Spinner\n size={size}\n className=\"transition-transform duration-300 animate-spin\"\n {...rest}\n />\n </div>\n )\n})\n\nFetchingOverlay.displayName = 'FetchingOverlay'\n\nexport default FetchingOverlay\n"]}
@@ -1,5 +1,5 @@
1
- import { createKbdColorVariants, componentColors } from './chunk-TUTOU4X6.js';
2
- import { cn } from './chunk-2OGZENFC.js';
1
+ import { createKbdColorVariants, componentColors } from './chunk-LK4EPTNG.js';
2
+ import { cn } from './chunk-NGYLRX6F.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import React from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -54,7 +54,9 @@ var Kbd = React.memo(
54
54
  return /* @__PURE__ */ jsx(
55
55
  "kbd",
56
56
  {
57
+ "data-slot": "root",
57
58
  className: cn(
59
+ "kbd_root",
58
60
  kbdVariants({ variant, color, size }),
59
61
  "[&_svg:not([class*='size-'])]:size-3",
60
62
  className
@@ -69,5 +71,5 @@ Kbd.displayName = "Kbd";
69
71
  var kbd_default = Kbd;
70
72
 
71
73
  export { kbd_default };
72
- //# sourceMappingURL=chunk-555KXZRK.js.map
73
- //# sourceMappingURL=chunk-555KXZRK.js.map
74
+ //# sourceMappingURL=chunk-EGNF7BRT.js.map
75
+ //# sourceMappingURL=chunk-EGNF7BRT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/kbd/index.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,WAAA,GAAc,GAAA;AAAA,EAClB,+IAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACR;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,EAAA;AAAA,QACX,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,wBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,sBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB,uBAAuB,eAAA,EAAiB;AAAA,MACxD,OAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACD,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,MAAM,KAAA,CAAM,IAAA;AAAA,EAChB,CAAC;AAAA,IACC,OAAA,GAAU,SAAA;AAAA,IACV,KAAA,GAAQ,SAAA;AAAA,IACR,IAAA,GAAO,IAAA;AAAA,IACP,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,UAAA;AAAA,UACA,WAAA,CAAY,EAAE,OAAA,EAAS,KAAA,EAAO,MAAM,CAAA;AAAA,UACpC,sCAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,GAAA,CAAI,WAAA,GAAc,KAAA;AAGlB,IAAO,WAAA,GAAQ","file":"chunk-EGNF7BRT.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { componentColors, createKbdColorVariants } from '../variants'\nimport type { KbdProps } from './types'\n\nconst kbdVariants = cva(\n 'pointer-events-none min-w-4 min-h-3.5 border inline-flex w-fit items-center justify-center gap-1 rounded-sm font-sans font-medium select-none',\n {\n variants: {\n variant: {\n solid: '',\n outline: '',\n soft: '',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n size: {\n xs: 'h-3.5 p-0.5 text-[9px]',\n sm: 'h-4 p-0.5 text-xs',\n md: 'h-4.5 px-1.5 text-sm',\n lg: 'h-5 px-2 text-sm',\n },\n },\n compoundVariants: createKbdColorVariants(componentColors, [\n 'solid',\n 'outline',\n 'soft',\n ]),\n defaultVariants: {\n variant: 'outline',\n color: 'default',\n size: 'sm',\n },\n },\n)\n\nconst Kbd = React.memo<KbdProps>(\n ({\n variant = 'outline',\n color = 'default',\n size = 'sm',\n className,\n children,\n ...props\n }) => {\n return (\n <kbd\n data-slot=\"root\"\n className={cn(\n 'kbd_root',\n kbdVariants({ variant, color, size }),\n \"[&_svg:not([class*='size-'])]:size-3\",\n className,\n )}\n {...props}\n >\n {children}\n </kbd>\n )\n },\n)\n\nKbd.displayName = 'Kbd'\n\nexport type * from './types'\nexport default Kbd\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-2OGZENFC.js';
1
+ import { cn } from './chunk-NGYLRX6F.js';
2
2
  import React, { useState, useRef, useEffect } from 'react';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
@@ -6,6 +6,7 @@ var Image = React.memo(({
6
6
  src,
7
7
  withBlur,
8
8
  className,
9
+ classNames,
9
10
  fetchPriority = "auto",
10
11
  ...props
11
12
  }) => {
@@ -26,7 +27,12 @@ var Image = React.memo(({
26
27
  }
27
28
  return () => img?.removeEventListener("load", handleLoad);
28
29
  }, []);
29
- return /* @__PURE__ */ jsxs("div", { className: cn("relative inline-block", className), children: [
30
+ return /* @__PURE__ */ jsxs("div", { className: cn(
31
+ "image_root",
32
+ "relative inline-block",
33
+ classNames?.root,
34
+ className
35
+ ), children: [
30
36
  withBlur && !isLoaded && /* @__PURE__ */ jsx(
31
37
  "div",
32
38
  {
@@ -34,7 +40,11 @@ var Image = React.memo(({
34
40
  width: props.width ? `${props.width}px` : void 0,
35
41
  height: props.height ? `${props.height}px` : void 0
36
42
  },
37
- className: "\n absolute top-0 left-0 w-full h-full\n rounded-md\n animate-pulse\n bg-gradient-to-r from-surface via-background to-surface\n "
43
+ className: cn(
44
+ "image_placeholder",
45
+ "absolute top-0 left-0 w-full h-full rounded-md animate-pulse bg-gradient-to-r from-surface via-background to-surface",
46
+ classNames?.placeholder
47
+ )
38
48
  }
39
49
  ),
40
50
  /* @__PURE__ */ jsx(
@@ -43,7 +53,13 @@ var Image = React.memo(({
43
53
  ref: imageRef,
44
54
  onError: () => setImageError(true),
45
55
  src: imageError || !src ? "/static/png/empty.png" : src,
46
- className: cn("transition-all duration-500 ease-in-out", className),
56
+ className: cn(
57
+ "image_image",
58
+ "transition-all duration-500 ease-in-out",
59
+ imageError && "image_error",
60
+ imageError && classNames?.error,
61
+ classNames?.image
62
+ ),
47
63
  ...props,
48
64
  alt: props.alt,
49
65
  loading: "lazy",
@@ -56,5 +72,5 @@ Image.displayName = "Image";
56
72
  var image_default = Image;
57
73
 
58
74
  export { image_default };
59
- //# sourceMappingURL=chunk-7BUNJYZO.js.map
60
- //# sourceMappingURL=chunk-7BUNJYZO.js.map
75
+ //# sourceMappingURL=chunk-FEMHXG2P.js.map
76
+ //# sourceMappingURL=chunk-FEMHXG2P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/image/index.tsx"],"names":[],"mappings":";;;;AAQA,IAAM,KAAA,GAAQ,KAAA,CAAM,IAAA,CAAiB,CAAC;AAAA,EACpC,GAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA,GAAgB,MAAA;AAAA,EAChB,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,QAAA,GAAW,OAAyB,IAAI,CAAA;AAE9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,WAAA,CAAY,IAAI,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,MAAM,QAAA,CAAS,OAAA;AACrB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA,UAAA,EAAW;AAAA,IACb,CAAA,MAAO;AACL,MAAA,GAAA,EAAK,gBAAA,CAAiB,QAAQ,UAAU,CAAA;AAAA,IAC1C;AAEA,IAAA,OAAO,MAAM,GAAA,EAAK,mBAAA,CAAoB,MAAA,EAAQ,UAAU,CAAA;AAAA,EAC1D,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA;AAAA,IACd,YAAA;AAAA,IACA,uBAAA;AAAA,IACA,UAAA,EAAY,IAAA;AAAA,IACZ;AAAA,GACF,EACG,QAAA,EAAA;AAAA,IAAA,QAAA,IAAY,CAAC,QAAA,oBACZ,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO;AAAA,UACL,OAAO,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,EAAA,CAAA,GAAO,MAAA;AAAA,UAC1C,QAAQ,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,KAAA,CAAM,MAAM,CAAA,EAAA,CAAA,GAAO;AAAA,SAC/C;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,mBAAA;AAAA,UACA,sHAAA;AAAA,UACA,UAAA,EAAY;AAAA;AACd;AAAA,KACF;AAAA,oBAEF,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA;AAAA,QACjC,GAAA,EAAK,UAAA,IAAc,CAAC,GAAA,GAAM,uBAAA,GAA0B,GAAA;AAAA,QACpD,SAAA,EAAW,EAAA;AAAA,UACT,aAAA;AAAA,UACA,yCAAA;AAAA,UACA,UAAA,IAAc,aAAA;AAAA,UACd,cAAc,UAAA,EAAY,KAAA;AAAA,UAC1B,UAAA,EAAY;AAAA,SACd;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,KAAK,KAAA,CAAM,GAAA;AAAA,QACX,OAAA,EAAQ,MAAA;AAAA,QACR;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AAED,KAAA,CAAM,WAAA,GAAc,OAAA;AAGpB,IAAO,aAAA,GAAQ","file":"chunk-FEMHXG2P.js","sourcesContent":["'use client'\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\n\nimport { ImageProps } from './types'\n\nconst Image = React.memo<ImageProps>(({\n src,\n withBlur,\n className,\n classNames,\n fetchPriority = 'auto',\n ...props\n}) => {\n const [imageError, setImageError] = useState(false)\n const [isLoaded, setIsLoaded] = useState(false)\n const imageRef = useRef<HTMLImageElement>(null)\n\n useEffect(() => {\n const handleLoad = () => {\n if (imageRef.current) {\n setIsLoaded(true)\n }\n }\n\n const img = imageRef.current\n if (img?.complete) {\n handleLoad()\n } else {\n img?.addEventListener('load', handleLoad)\n }\n\n return () => img?.removeEventListener('load', handleLoad)\n }, [])\n\n return (\n <div className={cn(\n 'image_root',\n 'relative inline-block',\n classNames?.root,\n className\n )}>\n {withBlur && !isLoaded && (\n <div\n style={{\n width: props.width ? `${props.width}px` : undefined,\n height: props.height ? `${props.height}px` : undefined,\n }}\n className={cn(\n 'image_placeholder',\n 'absolute top-0 left-0 w-full h-full rounded-md animate-pulse bg-gradient-to-r from-surface via-background to-surface',\n classNames?.placeholder\n )}\n />\n )}\n <img\n ref={imageRef}\n onError={() => setImageError(true)}\n src={imageError || !src ? '/static/png/empty.png' : src}\n className={cn(\n 'image_image',\n 'transition-all duration-500 ease-in-out',\n imageError && 'image_error',\n imageError && classNames?.error,\n classNames?.image\n )}\n {...props}\n alt={props.alt}\n loading=\"lazy\"\n fetchPriority={fetchPriority}\n />\n </div>\n )\n})\n\nImage.displayName = 'Image'\n\nexport type * from './types'\nexport default Image\n"]}