@zentauri-ui/zentauri-components 1.8.0 → 1.8.2

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 (253) hide show
  1. package/README.md +25 -10
  2. package/cli/registry.json +12 -0
  3. package/dist/charts/area.js +9 -10
  4. package/dist/charts/area.js.map +1 -1
  5. package/dist/charts/area.mjs +2 -3
  6. package/dist/charts/area.mjs.map +1 -1
  7. package/dist/charts/bar.js +10 -95
  8. package/dist/charts/bar.js.map +1 -1
  9. package/dist/charts/bar.mjs +2 -95
  10. package/dist/charts/bar.mjs.map +1 -1
  11. package/dist/charts/bubble.js +8 -9
  12. package/dist/charts/bubble.js.map +1 -1
  13. package/dist/charts/bubble.mjs +2 -3
  14. package/dist/charts/bubble.mjs.map +1 -1
  15. package/dist/charts/funnel/Funnel.d.ts +6 -0
  16. package/dist/charts/funnel/Funnel.d.ts.map +1 -0
  17. package/dist/charts/funnel/index.d.ts +4 -0
  18. package/dist/charts/funnel/index.d.ts.map +1 -0
  19. package/dist/charts/funnel.js +102 -0
  20. package/dist/charts/funnel.js.map +1 -0
  21. package/dist/charts/funnel.mjs +89 -0
  22. package/dist/charts/funnel.mjs.map +1 -0
  23. package/dist/charts/line.js +8 -9
  24. package/dist/charts/line.js.map +1 -1
  25. package/dist/charts/line.mjs +2 -3
  26. package/dist/charts/line.mjs.map +1 -1
  27. package/dist/charts/pie/Pie.d.ts +1 -1
  28. package/dist/charts/pie/Pie.d.ts.map +1 -1
  29. package/dist/charts/pie.js +19 -6
  30. package/dist/charts/pie.js.map +1 -1
  31. package/dist/charts/pie.mjs +17 -4
  32. package/dist/charts/pie.mjs.map +1 -1
  33. package/dist/charts/radar/Radar.d.ts +6 -0
  34. package/dist/charts/radar/Radar.d.ts.map +1 -0
  35. package/dist/charts/radar/index.d.ts +4 -0
  36. package/dist/charts/radar/index.d.ts.map +1 -0
  37. package/dist/charts/radar.js +94 -0
  38. package/dist/charts/radar.js.map +1 -0
  39. package/dist/charts/radar.mjs +81 -0
  40. package/dist/charts/radar.mjs.map +1 -0
  41. package/dist/charts/scatter/Scatter.d.ts +6 -0
  42. package/dist/charts/scatter/Scatter.d.ts.map +1 -0
  43. package/dist/charts/scatter/index.d.ts +4 -0
  44. package/dist/charts/scatter/index.d.ts.map +1 -0
  45. package/dist/charts/scatter.js +116 -0
  46. package/dist/charts/scatter.js.map +1 -0
  47. package/dist/charts/scatter.mjs +103 -0
  48. package/dist/charts/scatter.mjs.map +1 -0
  49. package/dist/charts/shared/chart-frame.d.ts +2 -1
  50. package/dist/charts/shared/chart-frame.d.ts.map +1 -1
  51. package/dist/charts/shared/types.d.ts +22 -2
  52. package/dist/charts/shared/types.d.ts.map +1 -1
  53. package/dist/charts/stacked-bar/StackedBar.d.ts +6 -0
  54. package/dist/charts/stacked-bar/StackedBar.d.ts.map +1 -0
  55. package/dist/charts/stacked-bar/index.d.ts +4 -0
  56. package/dist/charts/stacked-bar/index.d.ts.map +1 -0
  57. package/dist/charts/stacked-bar.js +29 -0
  58. package/dist/charts/stacked-bar.js.map +1 -0
  59. package/dist/charts/stacked-bar.mjs +15 -0
  60. package/dist/charts/stacked-bar.mjs.map +1 -0
  61. package/dist/chunk-7TGUGTTQ.mjs +147 -0
  62. package/dist/chunk-7TGUGTTQ.mjs.map +1 -0
  63. package/dist/chunk-CQMV7BB6.js +50 -0
  64. package/dist/chunk-CQMV7BB6.js.map +1 -0
  65. package/dist/chunk-DN7TYUJ6.js +119 -0
  66. package/dist/chunk-DN7TYUJ6.js.map +1 -0
  67. package/dist/chunk-F3V4POW3.mjs +8 -0
  68. package/dist/chunk-F3V4POW3.mjs.map +1 -0
  69. package/dist/{chunk-G2WARVAM.mjs → chunk-HZIRD3SR.mjs} +35 -15
  70. package/dist/chunk-HZIRD3SR.mjs.map +1 -0
  71. package/dist/{chunk-G66SXATZ.js → chunk-IL4LH2XX.js} +50 -4
  72. package/dist/chunk-IL4LH2XX.js.map +1 -0
  73. package/dist/chunk-LREMK2XR.js +97 -0
  74. package/dist/chunk-LREMK2XR.js.map +1 -0
  75. package/dist/chunk-O2KM3ETC.mjs +95 -0
  76. package/dist/chunk-O2KM3ETC.mjs.map +1 -0
  77. package/dist/chunk-ODBG4Y6R.mjs +48 -0
  78. package/dist/chunk-ODBG4Y6R.mjs.map +1 -0
  79. package/dist/{chunk-ZIFMIS7D.mjs → chunk-OL3BJSRC.mjs} +51 -5
  80. package/dist/chunk-OL3BJSRC.mjs.map +1 -0
  81. package/dist/{chunk-QNUDODDX.js → chunk-PWPMKXEG.js} +36 -14
  82. package/dist/chunk-PWPMKXEG.js.map +1 -0
  83. package/dist/chunk-RKX5MERK.js +150 -0
  84. package/dist/chunk-RKX5MERK.js.map +1 -0
  85. package/dist/chunk-VYI3GS2C.mjs +115 -0
  86. package/dist/chunk-VYI3GS2C.mjs.map +1 -0
  87. package/dist/chunk-XRM7GOIE.js +10 -0
  88. package/dist/chunk-XRM7GOIE.js.map +1 -0
  89. package/dist/design-system/copy-button.d.ts +43 -0
  90. package/dist/design-system/copy-button.d.ts.map +1 -0
  91. package/dist/design-system/index.d.ts +2 -0
  92. package/dist/design-system/index.d.ts.map +1 -1
  93. package/dist/design-system/kbd.d.ts +44 -0
  94. package/dist/design-system/kbd.d.ts.map +1 -0
  95. package/dist/hooks/index.d.ts +2 -0
  96. package/dist/hooks/index.d.ts.map +1 -1
  97. package/dist/hooks/useClipboard.js +6 -44
  98. package/dist/hooks/useClipboard.js.map +1 -1
  99. package/dist/hooks/useClipboard.mjs +1 -46
  100. package/dist/hooks/useClipboard.mjs.map +1 -1
  101. package/dist/hooks/useIsomorphicLayoutEffect.js +6 -4
  102. package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  103. package/dist/hooks/useIsomorphicLayoutEffect.mjs +1 -6
  104. package/dist/hooks/useIsomorphicLayoutEffect.mjs.map +1 -1
  105. package/dist/hooks/useTableFilter/index.d.ts +3 -0
  106. package/dist/hooks/useTableFilter/index.d.ts.map +1 -0
  107. package/dist/hooks/useTableFilter/types.d.ts +20 -0
  108. package/dist/hooks/useTableFilter/types.d.ts.map +1 -0
  109. package/dist/hooks/useTableFilter/useTableFilter.d.ts +3 -0
  110. package/dist/hooks/useTableFilter/useTableFilter.d.ts.map +1 -0
  111. package/dist/hooks/useTableFilter.js +124 -0
  112. package/dist/hooks/useTableFilter.js.map +1 -0
  113. package/dist/hooks/useTableFilter.mjs +122 -0
  114. package/dist/hooks/useTableFilter.mjs.map +1 -0
  115. package/dist/hooks/useTableSort/index.d.ts +3 -0
  116. package/dist/hooks/useTableSort/index.d.ts.map +1 -0
  117. package/dist/hooks/useTableSort/types.d.ts +15 -0
  118. package/dist/hooks/useTableSort/types.d.ts.map +1 -0
  119. package/dist/hooks/useTableSort/useTableSort.d.ts +3 -0
  120. package/dist/hooks/useTableSort/useTableSort.d.ts.map +1 -0
  121. package/dist/hooks/useTableSort.js +99 -0
  122. package/dist/hooks/useTableSort.js.map +1 -0
  123. package/dist/hooks/useTableSort.mjs +97 -0
  124. package/dist/hooks/useTableSort.mjs.map +1 -0
  125. package/dist/ui/copy-button/animated/animations.d.ts +3 -0
  126. package/dist/ui/copy-button/animated/animations.d.ts.map +1 -0
  127. package/dist/ui/copy-button/animated/copy-button-animated.d.ts +6 -0
  128. package/dist/ui/copy-button/animated/copy-button-animated.d.ts.map +1 -0
  129. package/dist/ui/copy-button/animated/index.d.ts +4 -0
  130. package/dist/ui/copy-button/animated/index.d.ts.map +1 -0
  131. package/dist/ui/copy-button/animated/types.d.ts +26 -0
  132. package/dist/ui/copy-button/animated/types.d.ts.map +1 -0
  133. package/dist/ui/copy-button/animated.js +59 -0
  134. package/dist/ui/copy-button/animated.js.map +1 -0
  135. package/dist/ui/copy-button/animated.mjs +56 -0
  136. package/dist/ui/copy-button/animated.mjs.map +1 -0
  137. package/dist/ui/copy-button/copy-button-base.d.ts +6 -0
  138. package/dist/ui/copy-button/copy-button-base.d.ts.map +1 -0
  139. package/dist/ui/copy-button/copy-button.d.ts +6 -0
  140. package/dist/ui/copy-button/copy-button.d.ts.map +1 -0
  141. package/dist/ui/copy-button/index.d.ts +4 -0
  142. package/dist/ui/copy-button/index.d.ts.map +1 -0
  143. package/dist/ui/copy-button/types.d.ts +32 -0
  144. package/dist/ui/copy-button/types.d.ts.map +1 -0
  145. package/dist/ui/copy-button/variants.d.ts +6 -0
  146. package/dist/ui/copy-button/variants.d.ts.map +1 -0
  147. package/dist/ui/copy-button.js +20 -0
  148. package/dist/ui/copy-button.js.map +1 -0
  149. package/dist/ui/copy-button.mjs +15 -0
  150. package/dist/ui/copy-button.mjs.map +1 -0
  151. package/dist/ui/kbd/animated/animations.d.ts +3 -0
  152. package/dist/ui/kbd/animated/animations.d.ts.map +1 -0
  153. package/dist/ui/kbd/animated/index.d.ts +4 -0
  154. package/dist/ui/kbd/animated/index.d.ts.map +1 -0
  155. package/dist/ui/kbd/animated/kbd-animated.d.ts +6 -0
  156. package/dist/ui/kbd/animated/kbd-animated.d.ts.map +1 -0
  157. package/dist/ui/kbd/animated/types.d.ts +10 -0
  158. package/dist/ui/kbd/animated/types.d.ts.map +1 -0
  159. package/dist/ui/kbd/animated.js +42 -0
  160. package/dist/ui/kbd/animated.js.map +1 -0
  161. package/dist/ui/kbd/animated.mjs +39 -0
  162. package/dist/ui/kbd/animated.mjs.map +1 -0
  163. package/dist/ui/kbd/index.d.ts +4 -0
  164. package/dist/ui/kbd/index.d.ts.map +1 -0
  165. package/dist/ui/kbd/kbd-base.d.ts +6 -0
  166. package/dist/ui/kbd/kbd-base.d.ts.map +1 -0
  167. package/dist/ui/kbd/kbd.d.ts +6 -0
  168. package/dist/ui/kbd/kbd.d.ts.map +1 -0
  169. package/dist/ui/kbd/types.d.ts +17 -0
  170. package/dist/ui/kbd/types.d.ts.map +1 -0
  171. package/dist/ui/kbd/variants.d.ts +8 -0
  172. package/dist/ui/kbd/variants.d.ts.map +1 -0
  173. package/dist/ui/kbd.js +23 -0
  174. package/dist/ui/kbd.js.map +1 -0
  175. package/dist/ui/kbd.mjs +14 -0
  176. package/dist/ui/kbd.mjs.map +1 -0
  177. package/dist/ui/marquee/marquee.d.ts.map +1 -1
  178. package/dist/ui/marquee.js +82 -21
  179. package/dist/ui/marquee.js.map +1 -1
  180. package/dist/ui/marquee.mjs +83 -22
  181. package/dist/ui/marquee.mjs.map +1 -1
  182. package/dist/ui/table/animated.js +8 -8
  183. package/dist/ui/table/animated.mjs +2 -2
  184. package/dist/ui/table/index.d.ts +1 -1
  185. package/dist/ui/table/index.d.ts.map +1 -1
  186. package/dist/ui/table/table-base.d.ts +2 -2
  187. package/dist/ui/table/table-base.d.ts.map +1 -1
  188. package/dist/ui/table/types.d.ts +9 -1
  189. package/dist/ui/table/types.d.ts.map +1 -1
  190. package/dist/ui/table.js +14 -14
  191. package/dist/ui/table.mjs +1 -1
  192. package/package.json +1 -1
  193. package/src/charts/charts.test.tsx +80 -0
  194. package/src/charts/funnel/Funnel.tsx +105 -0
  195. package/src/charts/funnel/index.ts +14 -0
  196. package/src/charts/pie/Pie.tsx +28 -1
  197. package/src/charts/radar/Radar.tsx +84 -0
  198. package/src/charts/radar/index.ts +16 -0
  199. package/src/charts/scatter/Scatter.tsx +104 -0
  200. package/src/charts/scatter/index.ts +16 -0
  201. package/src/charts/shared/chart-frame.tsx +4 -2
  202. package/src/charts/shared/types.ts +42 -2
  203. package/src/charts/stacked-bar/StackedBar.tsx +12 -0
  204. package/src/charts/stacked-bar/index.ts +16 -0
  205. package/src/design-system/copy-button.ts +81 -0
  206. package/src/design-system/index.ts +2 -0
  207. package/src/design-system/kbd.ts +83 -0
  208. package/src/hooks/index.ts +12 -0
  209. package/src/hooks/useTableFilter/index.ts +7 -0
  210. package/src/hooks/useTableFilter/types.ts +28 -0
  211. package/src/hooks/useTableFilter/useTableFilter.test.ts +141 -0
  212. package/src/hooks/useTableFilter/useTableFilter.ts +153 -0
  213. package/src/hooks/useTableSort/index.ts +5 -0
  214. package/src/hooks/useTableSort/types.ts +23 -0
  215. package/src/hooks/useTableSort/useTableSort.test.ts +150 -0
  216. package/src/hooks/useTableSort/useTableSort.ts +121 -0
  217. package/src/ui/copy-button/animated/animations.ts +22 -0
  218. package/src/ui/copy-button/animated/copy-button-animated.tsx +39 -0
  219. package/src/ui/copy-button/animated/index.ts +10 -0
  220. package/src/ui/copy-button/animated/types.ts +21 -0
  221. package/src/ui/copy-button/copy-button-base.tsx +88 -0
  222. package/src/ui/copy-button/copy-button.test.tsx +82 -0
  223. package/src/ui/copy-button/copy-button.tsx +9 -0
  224. package/src/ui/copy-button/index.ts +10 -0
  225. package/src/ui/copy-button/types.ts +37 -0
  226. package/src/ui/copy-button/variants.ts +29 -0
  227. package/src/ui/divider/divider.test.tsx +55 -0
  228. package/src/ui/empty-state/empty-state.test.tsx +88 -0
  229. package/src/ui/kbd/animated/animations.ts +15 -0
  230. package/src/ui/kbd/animated/index.ts +9 -0
  231. package/src/ui/kbd/animated/kbd-animated.tsx +26 -0
  232. package/src/ui/kbd/animated/types.ts +16 -0
  233. package/src/ui/kbd/index.ts +5 -0
  234. package/src/ui/kbd/kbd-base.tsx +50 -0
  235. package/src/ui/kbd/kbd.test.tsx +48 -0
  236. package/src/ui/kbd/kbd.tsx +9 -0
  237. package/src/ui/kbd/types.ts +21 -0
  238. package/src/ui/kbd/variants.ts +31 -0
  239. package/src/ui/marquee/marquee.test.tsx +45 -4
  240. package/src/ui/marquee/marquee.tsx +100 -18
  241. package/src/ui/skeleton/skeleton.test.tsx +85 -0
  242. package/src/ui/table/index.ts +3 -0
  243. package/src/ui/table/table-base.tsx +69 -4
  244. package/src/ui/table/table.test.tsx +207 -0
  245. package/src/ui/table/types.ts +13 -1
  246. package/dist/chunk-G2WARVAM.mjs.map +0 -1
  247. package/dist/chunk-G66SXATZ.js.map +0 -1
  248. package/dist/chunk-OULU7OC4.mjs +0 -21
  249. package/dist/chunk-OULU7OC4.mjs.map +0 -1
  250. package/dist/chunk-QNUDODDX.js.map +0 -1
  251. package/dist/chunk-Z6S36PDD.js +0 -24
  252. package/dist/chunk-Z6S36PDD.js.map +0 -1
  253. package/dist/chunk-ZIFMIS7D.mjs.map +0 -1
@@ -136,6 +136,7 @@ function ChartFrame({
136
136
  emptyState = null,
137
137
  hasData,
138
138
  height,
139
+ overlay,
139
140
  style,
140
141
  ...props
141
142
  }) {
@@ -157,23 +158,26 @@ function ChartFrame({
157
158
  }
158
159
  );
159
160
  }
160
- return /* @__PURE__ */ jsxRuntime.jsx(
161
+ return /* @__PURE__ */ jsxRuntime.jsxs(
161
162
  "div",
162
163
  {
163
164
  className: chunkZS5756ZC_js.cn(chartVariants({ appearance, density }), className),
164
165
  style: chartStyle,
165
166
  ...divProps,
166
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: measureRef, className: "h-full min-h-0 w-full min-w-0", children: canRenderChart ? /* @__PURE__ */ jsxRuntime.jsx(
167
- recharts.ResponsiveContainer,
168
- {
169
- width: "100%",
170
- height: "100%",
171
- minWidth: 0,
172
- debounce: 80,
173
- style: containerStyle,
174
- children
175
- }
176
- ) : null })
167
+ children: [
168
+ /* @__PURE__ */ jsxRuntime.jsx("div", { ref: measureRef, className: "h-full min-h-0 w-full min-w-0", children: canRenderChart ? /* @__PURE__ */ jsxRuntime.jsx(
169
+ recharts.ResponsiveContainer,
170
+ {
171
+ width: "100%",
172
+ height: "100%",
173
+ minWidth: 0,
174
+ debounce: 80,
175
+ style: containerStyle,
176
+ children
177
+ }
178
+ ) : null }),
179
+ overlay
180
+ ]
177
181
  }
178
182
  );
179
183
  }
@@ -207,11 +211,29 @@ function ChartDecorators({
207
211
  ] });
208
212
  }
209
213
 
214
+ // src/charts/shared/colors.ts
215
+ function resolveColor(color, index) {
216
+ if (color && color in chartPalette) {
217
+ return chartPalette[color];
218
+ }
219
+ if (color) {
220
+ return { stroke: color, fill: color };
221
+ }
222
+ const paletteValues = Object.values(chartPalette);
223
+ return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;
224
+ }
225
+ function getSeriesFill(series, index, opacity = 0.18) {
226
+ const color = resolveColor(series.color, index);
227
+ return series.fill ?? `${color.fill}${Math.round(opacity * 255).toString(16).padStart(2, "0")}`;
228
+ }
229
+
210
230
  exports.ChartDecorators = ChartDecorators;
211
231
  exports.ChartFrame = ChartFrame;
212
232
  exports.chartColorValues = chartColorValues;
213
233
  exports.chartPalette = chartPalette;
214
234
  exports.chartVariants = chartVariants;
215
235
  exports.defaultChartMargin = defaultChartMargin;
216
- //# sourceMappingURL=chunk-QNUDODDX.js.map
217
- //# sourceMappingURL=chunk-QNUDODDX.js.map
236
+ exports.getSeriesFill = getSeriesFill;
237
+ exports.resolveColor = resolveColor;
238
+ //# sourceMappingURL=chunk-PWPMKXEG.js.map
239
+ //# sourceMappingURL=chunk-PWPMKXEG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/shared/variants.ts","../src/charts/shared/chart-frame.tsx","../src/charts/shared/colors.ts"],"names":["cva","useResizeObserver","jsx","cn","jsxs","ResponsiveContainer","Fragment","CartesianGrid","Tooltip","Legend"],"mappings":"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","file":"chunk-PWPMKXEG.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const chartVariants = cva(\n [\n \"relative w-full min-w-0 overflow-hidden rounded-xl\",\n \"h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80\",\n \"[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200\",\n \"[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg\",\n \"[&_.recharts-default-tooltip]:text-slate-900\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n muted:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n outline:\n \"border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n glass:\n \"border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n sky: \"bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n emerald:\n \"bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n violet:\n \"bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n amber:\n \"bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n rose: \"bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n slate:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n gray: \"bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n indigo:\n \"bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n \"gradient-cyan-violet\":\n \"bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-violet\":\n \"bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-rose\":\n \"bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-slate-gray\":\n \"bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-indigo-purple\":\n \"bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-cyan-blue\":\n \"bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-blue\":\n \"bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-blue\":\n \"bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n },\n density: {\n compact: \"p-2 sm:p-3\",\n comfortable: \"p-3 sm:p-4\",\n spacious: \"p-4 sm:p-5 md:p-6\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n density: \"comfortable\",\n },\n },\n);\n\nexport const chartPalette = {\n glass: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n outline: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n muted: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n default: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n sky: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n cyan: { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n emerald: { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n violet: { stroke: \"#7c3aed\", fill: \"#c4b5fd\", textColor: \"#7c3aed\" },\n amber: { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n rose: { stroke: \"#e11d48\", fill: \"#fda4af\", textColor: \"#e11d48\" },\n slate: { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n gray: { stroke: \"#6b7280\", fill: \"#d1d5db\", textColor: \"#6b7280\" },\n white: { stroke: \"#ffffff\", fill: \"#ffffff\", textColor: \"#ffffff\" },\n indigo: { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-violet\": {\n stroke: \"#0891b2\",\n fill: \"#67e8f9\",\n textColor: \"#0891b2\",\n },\n \"gradient-emerald-violet\": {\n stroke: \"#059669\",\n fill: \"#6ee7b7\",\n textColor: \"#059669\",\n },\n \"gradient-amber-rose\": {\n stroke: \"#d97706\",\n fill: \"#fcd34d\",\n textColor: \"#d97706\",\n },\n \"gradient-slate-gray\": {\n stroke: \"#475569\",\n fill: \"#cbd5e1\",\n textColor: \"#475569\",\n },\n \"gradient-indigo-purple\": {\n stroke: \"#6366f1\",\n fill: \"#c7d2fe\",\n textColor: \"#6366f1\",\n },\n \"gradient-cyan-blue\": {\n stroke: \"#0891b2\",\n fill: \"#67e8f9\",\n textColor: \"#0891b2\",\n },\n \"gradient-emerald-blue\": {\n stroke: \"#059669\",\n fill: \"#6ee7b7\",\n textColor: \"#059669\",\n },\n \"gradient-amber-blue\": {\n stroke: \"#d97706\",\n fill: \"#fcd34d\",\n textColor: \"#d97706\",\n },\n} as const;\n\nexport const chartColorValues = Object.keys(chartPalette) as Array<\n keyof typeof chartPalette\n>;\n","\"use client\";\n\nimport type { CSSProperties, HTMLAttributes, ReactNode } from \"react\";\nimport { CartesianGrid, Legend, ResponsiveContainer, Tooltip } from \"recharts\";\n\nimport { useResizeObserver } from \"../../hooks/useResizeObserver/useResizeObserver\";\nimport { cn } from \"../../lib/utils\";\nimport { chartVariants } from \"./variants\";\nimport { VariantProps } from \"class-variance-authority\";\n\n/** Chart-level props that may be forwarded from *Chart `...rest` and must not reach a DOM node. */\nconst CHART_ONLY_DIV_PROP_KEYS = new Set([\n \"data\",\n \"margin\",\n \"series\",\n \"showGrid\",\n \"showLegend\",\n \"showTooltip\",\n \"stacked\",\n \"strokeDasharray\",\n \"syncId\",\n \"tooltipColor\",\n \"xKey\",\n]);\n\nfunction filterDivProps(\n props: HTMLAttributes<HTMLDivElement>,\n): HTMLAttributes<HTMLDivElement> {\n const entries = Object.entries(props).filter(\n ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key),\n );\n return Object.fromEntries(entries) as HTMLAttributes<HTMLDivElement>;\n}\n\ntype ChartFrameProps = HTMLAttributes<HTMLDivElement> & {\n appearance?: VariantProps<typeof chartVariants>[\"appearance\"];\n containerStyle?: CSSProperties;\n density?: \"compact\" | \"comfortable\" | \"spacious\" | null;\n emptyState?: ReactNode;\n hasData: boolean;\n height: number;\n overlay?: ReactNode;\n style?: CSSProperties;\n children: ReactNode;\n};\n\nexport const defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };\n\nexport function ChartFrame({\n appearance,\n children,\n className,\n containerStyle,\n density,\n emptyState = null,\n hasData,\n height,\n overlay,\n style,\n ...props\n}: ChartFrameProps) {\n const divProps = filterDivProps(props);\n const [measureRef, size] = useResizeObserver<HTMLDivElement>();\n const chartStyle = {\n \"--chart-height\": `${height}px`,\n ...style,\n } as CSSProperties;\n const canRenderChart = (size?.width ?? 0) > 0 && (size?.height ?? 0) > 0;\n\n if (!hasData) {\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <div className=\"flex h-full min-h-48 items-center justify-center text-sm text-slate-500\">\n {emptyState}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <div ref={measureRef} className=\"h-full min-h-0 w-full min-w-0\">\n {canRenderChart ? (\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n minWidth={0}\n debounce={80}\n style={containerStyle}\n >\n {children}\n </ResponsiveContainer>\n ) : null}\n </div>\n {overlay}\n </div>\n );\n}\n\nexport function ChartDecorators({\n axis,\n showGrid,\n showLegend,\n showTooltip,\n tooltipColor = \"#0f172a\",\n}: {\n axis: ReactNode;\n showGrid: boolean;\n showLegend: boolean;\n showTooltip: boolean;\n tooltipColor?: string;\n}) {\n return (\n <>\n {showGrid ? (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"currentColor\"\n opacity={0.16}\n />\n ) : null}\n {axis}\n {showTooltip ? (\n <Tooltip\n cursor={{ opacity: 0.12 }}\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n </>\n );\n}\n","import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}
@@ -0,0 +1,150 @@
1
+ 'use strict';
2
+
3
+ var chunkCQMV7BB6_js = require('./chunk-CQMV7BB6.js');
4
+ var chunkZS5756ZC_js = require('./chunk-ZS5756ZC.js');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var fi = require('react-icons/fi');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ // src/design-system/copy-button.ts
10
+ var zuiCopyButtonBase = [
11
+ "relative inline-flex items-center justify-center gap-2 whitespace-nowrap",
12
+ "rounded-[var(--zui-copy-button-radius,0.75rem)] font-medium",
13
+ "ring-offset-[var(--zui-copy-button-ring-offset,#f8fafc)] dark:ring-offset-[var(--zui-copy-button-ring-offset-dark,#020617)]",
14
+ "transition-colors select-none",
15
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--zui-copy-button-focus-ring,#475569)] dark:focus-visible:ring-[var(--zui-copy-button-focus-ring-dark,#cbd5e1)] focus-visible:ring-offset-2",
16
+ "disabled:pointer-events-none disabled:opacity-50"
17
+ ];
18
+ var zuiCopyButtonAppearances = {
19
+ default: "bg-[var(--zui-copy-button-default-bg,#0f172a)] dark:bg-[var(--zui-copy-button-default-bg-dark,#f8fafc)] text-[color:var(--zui-copy-button-default-fg,#f8fafc)] dark:text-[color:var(--zui-copy-button-default-fg-dark,#020617)] shadow-[var(--zui-copy-button-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-copy-button-default-shadow-dark,0_1px_2px_#0f172a1f)] hover:bg-[var(--zui-copy-button-default-bg-hover,#000000)] dark:hover:bg-[var(--zui-copy-button-default-bg-hover-dark,#ffffff)]",
20
+ secondary: "bg-[var(--zui-copy-button-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-copy-button-secondary-bg-dark,#1e293b)] text-[color:var(--zui-copy-button-secondary-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-secondary-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-secondary-bg-hover,#cbd5e1)] dark:hover:bg-[var(--zui-copy-button-secondary-bg-hover-dark,#334155)]",
21
+ destructive: "bg-[var(--zui-copy-button-destructive-bg,#f43f5e)] dark:bg-[var(--zui-copy-button-destructive-bg-dark,#be123c)] text-[color:var(--zui-copy-button-destructive-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-destructive-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-destructive-bg-hover,#f43f5e)] dark:hover:bg-[var(--zui-copy-button-destructive-bg-hover-dark,#9f1239)]",
22
+ outline: "border border-[color:var(--zui-copy-button-outline-border,#0000001a)] dark:border-[color:var(--zui-copy-button-outline-border-dark,#ffffff1a)] bg-[var(--zui-copy-button-outline-bg,#0000000d)] dark:bg-[var(--zui-copy-button-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-copy-button-outline-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-outline-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-outline-bg-hover,#0000001a)] dark:hover:bg-[var(--zui-copy-button-outline-bg-hover-dark,#ffffff1a)]",
23
+ ghost: "bg-transparent text-[color:var(--zui-copy-button-ghost-fg,#334155)] dark:text-[color:var(--zui-copy-button-ghost-fg-dark,#e2e8f0)] hover:bg-[var(--zui-copy-button-ghost-bg-hover,#0000000d)] dark:hover:bg-[var(--zui-copy-button-ghost-bg-hover-dark,#ffffff0d)]",
24
+ glass: "border border-[color:var(--zui-copy-button-glass-border,#00000026)] dark:border-[color:var(--zui-copy-button-glass-border-dark,#ffffff26)] bg-[var(--zui-copy-button-glass-bg,#0000001a)] dark:bg-[var(--zui-copy-button-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-copy-button-glass-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-glass-fg-dark,#ffffff)] backdrop-blur-md hover:bg-[var(--zui-copy-button-glass-bg-hover,#00000026)] dark:hover:bg-[var(--zui-copy-button-glass-bg-hover-dark,#ffffff26)]",
25
+ emerald: "bg-[var(--zui-copy-button-emerald-bg,#10b981)] dark:bg-[var(--zui-copy-button-emerald-bg-dark,#065f46)] text-[color:var(--zui-copy-button-emerald-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-emerald-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-emerald-bg-hover,#10b981)] dark:hover:bg-[var(--zui-copy-button-emerald-bg-hover-dark,#064e3b)]",
26
+ indigo: "bg-[var(--zui-copy-button-indigo-bg,#3730a3)] dark:bg-[var(--zui-copy-button-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-copy-button-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-indigo-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-indigo-bg-hover,#3730a3)] dark:hover:bg-[var(--zui-copy-button-indigo-bg-hover-dark,#4f46e5)]",
27
+ purple: "bg-[var(--zui-copy-button-purple-bg,#6b21a8)] dark:bg-[var(--zui-copy-button-purple-bg-dark,#9333ea)] text-[color:var(--zui-copy-button-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-purple-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-purple-bg-hover,#6b21a8)] dark:hover:bg-[var(--zui-copy-button-purple-bg-hover-dark,#9333ea)]",
28
+ pink: "bg-[var(--zui-copy-button-pink-bg,#9d174d)] dark:bg-[var(--zui-copy-button-pink-bg-dark,#db2777)] text-[color:var(--zui-copy-button-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-pink-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-pink-bg-hover,#9d174d)] dark:hover:bg-[var(--zui-copy-button-pink-bg-hover-dark,#db2777)]",
29
+ rose: "bg-[var(--zui-copy-button-rose-bg,#9f1239)] dark:bg-[var(--zui-copy-button-rose-bg-dark,#e11d48)] text-[color:var(--zui-copy-button-rose-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-rose-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-rose-bg-hover,#9f1239)] dark:hover:bg-[var(--zui-copy-button-rose-bg-hover-dark,#e11d48)]",
30
+ sky: "bg-[var(--zui-copy-button-sky-bg,#0ea5e9)] dark:bg-[var(--zui-copy-button-sky-bg-dark,#0369a1)] text-[color:var(--zui-copy-button-sky-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-sky-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-sky-bg-hover,#0ea5e9)] dark:hover:bg-[var(--zui-copy-button-sky-bg-hover-dark,#075985)]",
31
+ teal: "bg-[var(--zui-copy-button-teal-bg,#14b8a6)] dark:bg-[var(--zui-copy-button-teal-bg-dark,#0f766e)] text-[color:var(--zui-copy-button-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-teal-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-teal-bg-hover,#14b8a6)] dark:hover:bg-[var(--zui-copy-button-teal-bg-hover-dark,#115e59)]",
32
+ yellow: "bg-[var(--zui-copy-button-yellow-bg,#eab308)] dark:bg-[var(--zui-copy-button-yellow-bg-dark,#854d0e)] text-[color:var(--zui-copy-button-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-yellow-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-yellow-bg-hover,#eab308)] dark:hover:bg-[var(--zui-copy-button-yellow-bg-hover-dark,#713f12)]",
33
+ orange: "bg-[var(--zui-copy-button-orange-bg,#f97316)] dark:bg-[var(--zui-copy-button-orange-bg-dark,#9a3412)] text-[color:var(--zui-copy-button-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-orange-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-orange-bg-hover,#f97316)] dark:hover:bg-[var(--zui-copy-button-orange-bg-hover-dark,#7c2d12)]",
34
+ gray: "bg-[var(--zui-copy-button-gray-bg,#6b7280)] dark:bg-[var(--zui-copy-button-gray-bg-dark,#374151)] text-[color:var(--zui-copy-button-gray-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gray-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-gray-bg-hover,#6b7280)] dark:hover:bg-[var(--zui-copy-button-gray-bg-hover-dark,#1f2937)]",
35
+ amber: "bg-[var(--zui-copy-button-amber-bg,#f59e0b)] dark:bg-[var(--zui-copy-button-amber-bg-dark,#92400e)] text-[color:var(--zui-copy-button-amber-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-amber-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-amber-bg-hover,#f59e0b)] dark:hover:bg-[var(--zui-copy-button-amber-bg-hover-dark,#78350f)]",
36
+ violet: "bg-[var(--zui-copy-button-violet-bg,#5b21b6)] dark:bg-[var(--zui-copy-button-violet-bg-dark,#7c3aed)] text-[color:var(--zui-copy-button-violet-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-violet-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-violet-bg-hover,#5b21b6)] dark:hover:bg-[var(--zui-copy-button-violet-bg-hover-dark,#7c3aed)]",
37
+ "gradient-blue": "bg-linear-to-r from-[var(--zui-copy-button-gradient-blue-from,#1e40af)] dark:from-[var(--zui-copy-button-gradient-blue-from-dark,#2563eb)] to-[var(--zui-copy-button-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-blue-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-blue-from-hover,#1e40af)] dark:hover:from-[var(--zui-copy-button-gradient-blue-from-hover-dark,#2563eb)] hover:to-[var(--zui-copy-button-gradient-blue-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-blue-to-hover-dark,#9333ea)]",
38
+ "gradient-green": "bg-linear-to-r from-[var(--zui-copy-button-gradient-green-from,#166534)] dark:from-[var(--zui-copy-button-gradient-green-from-dark,#16a34a)] to-[var(--zui-copy-button-gradient-green-to,#3f6212)] dark:to-[var(--zui-copy-button-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-copy-button-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-green-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-green-from-hover,#166534)] dark:hover:from-[var(--zui-copy-button-gradient-green-from-hover-dark,#16a34a)] hover:to-[var(--zui-copy-button-gradient-green-to-hover,#3f6212)] dark:hover:to-[var(--zui-copy-button-gradient-green-to-hover-dark,#65a30d)]",
39
+ "gradient-red": "bg-linear-to-r from-[var(--zui-copy-button-gradient-red-from,#991b1b)] dark:from-[var(--zui-copy-button-gradient-red-from-dark,#dc2626)] to-[var(--zui-copy-button-gradient-red-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-red-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-red-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-red-from-hover,#991b1b)] dark:hover:from-[var(--zui-copy-button-gradient-red-from-hover-dark,#dc2626)] hover:to-[var(--zui-copy-button-gradient-red-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-red-to-hover-dark,#db2777)]",
40
+ "gradient-yellow": "bg-linear-to-r from-[var(--zui-copy-button-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-copy-button-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-copy-button-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-copy-button-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-copy-button-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-yellow-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-yellow-from-hover,#854d0e)] dark:hover:from-[var(--zui-copy-button-gradient-yellow-from-hover-dark,#ca8a04)] hover:to-[var(--zui-copy-button-gradient-yellow-to-hover,#9a3412)] dark:hover:to-[var(--zui-copy-button-gradient-yellow-to-hover-dark,#ea580c)]",
41
+ "gradient-purple": "bg-linear-to-r from-[var(--zui-copy-button-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-copy-button-gradient-purple-from-dark,#9333ea)] to-[var(--zui-copy-button-gradient-purple-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-purple-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-purple-from-hover,#6b21a8)] dark:hover:from-[var(--zui-copy-button-gradient-purple-from-hover-dark,#9333ea)] hover:to-[var(--zui-copy-button-gradient-purple-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-purple-to-hover-dark,#db2777)]",
42
+ "gradient-teal": "bg-linear-to-r from-[var(--zui-copy-button-gradient-teal-from,#115e59)] dark:from-[var(--zui-copy-button-gradient-teal-from-dark,#0d9488)] to-[var(--zui-copy-button-gradient-teal-to,#155e75)] dark:to-[var(--zui-copy-button-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-copy-button-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-teal-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-teal-from-hover,#115e59)] dark:hover:from-[var(--zui-copy-button-gradient-teal-from-hover-dark,#0d9488)] hover:to-[var(--zui-copy-button-gradient-teal-to-hover,#155e75)] dark:hover:to-[var(--zui-copy-button-gradient-teal-to-hover-dark,#0891b2)]",
43
+ "gradient-indigo": "bg-linear-to-r from-[var(--zui-copy-button-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-copy-button-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-copy-button-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-indigo-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-indigo-from-hover,#3730a3)] dark:hover:from-[var(--zui-copy-button-gradient-indigo-from-hover-dark,#4f46e5)] hover:to-[var(--zui-copy-button-gradient-indigo-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-indigo-to-hover-dark,#9333ea)]",
44
+ "gradient-pink": "bg-linear-to-r from-[var(--zui-copy-button-gradient-pink-from,#9d174d)] dark:from-[var(--zui-copy-button-gradient-pink-from-dark,#db2777)] to-[var(--zui-copy-button-gradient-pink-to,#9f1239)] dark:to-[var(--zui-copy-button-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-copy-button-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-pink-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-pink-from-hover,#9d174d)] dark:hover:from-[var(--zui-copy-button-gradient-pink-from-hover-dark,#db2777)] hover:to-[var(--zui-copy-button-gradient-pink-to-hover,#9f1239)] dark:hover:to-[var(--zui-copy-button-gradient-pink-to-hover-dark,#e11d48)]",
45
+ "gradient-orange": "bg-linear-to-r from-[var(--zui-copy-button-gradient-orange-from,#9a3412)] dark:from-[var(--zui-copy-button-gradient-orange-from-dark,#ea580c)] to-[var(--zui-copy-button-gradient-orange-to,#991b1b)] dark:to-[var(--zui-copy-button-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-copy-button-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-orange-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-orange-from-hover,#9a3412)] dark:hover:from-[var(--zui-copy-button-gradient-orange-from-hover-dark,#ea580c)] hover:to-[var(--zui-copy-button-gradient-orange-to-hover,#991b1b)] dark:hover:to-[var(--zui-copy-button-gradient-orange-to-hover-dark,#dc2626)]"
46
+ };
47
+ var zuiCopyButtonSizes = {
48
+ sm: "h-8 px-2.5 text-xs [&_svg]:size-3.5",
49
+ md: "h-9 px-3 text-sm [&_svg]:size-4",
50
+ lg: "h-11 px-4 text-base [&_svg]:size-5"
51
+ };
52
+ var zuiCopyButtonIconOnlySizes = {
53
+ sm: "w-8 px-0",
54
+ md: "w-9 px-0",
55
+ lg: "w-11 px-0"
56
+ };
57
+
58
+ // src/ui/copy-button/variants.ts
59
+ var copyButtonVariants = classVarianceAuthority.cva(zuiCopyButtonBase, {
60
+ variants: {
61
+ appearance: zuiCopyButtonAppearances,
62
+ size: zuiCopyButtonSizes,
63
+ iconOnly: {
64
+ true: "",
65
+ false: ""
66
+ }
67
+ },
68
+ compoundVariants: [
69
+ { iconOnly: true, size: "sm", class: zuiCopyButtonIconOnlySizes.sm },
70
+ { iconOnly: true, size: "md", class: zuiCopyButtonIconOnlySizes.md },
71
+ { iconOnly: true, size: "lg", class: zuiCopyButtonIconOnlySizes.lg }
72
+ ],
73
+ defaultVariants: {
74
+ appearance: "default",
75
+ size: "md",
76
+ iconOnly: true
77
+ }
78
+ });
79
+ var defaultRenderIcon = ({
80
+ copied,
81
+ copyIcon,
82
+ copiedIcon
83
+ }) => copied ? copiedIcon : copyIcon;
84
+ function CopyButtonBase({
85
+ value,
86
+ timeout = 2e3,
87
+ appearance,
88
+ size,
89
+ iconOnly = true,
90
+ label = "Copy",
91
+ copiedLabel = "Copied",
92
+ copyIcon = /* @__PURE__ */ jsxRuntime.jsx(fi.FiCopy, { "aria-hidden": true }),
93
+ copiedIcon = /* @__PURE__ */ jsxRuntime.jsx(fi.FiCheck, { "aria-hidden": true }),
94
+ onCopy,
95
+ renderIcon = defaultRenderIcon,
96
+ className,
97
+ type = "button",
98
+ disabled,
99
+ onClick,
100
+ "aria-label": ariaLabel,
101
+ ref,
102
+ ...rest
103
+ }) {
104
+ const { copied, copy } = chunkCQMV7BB6_js.useClipboard(timeout);
105
+ const handleClick = async (event) => {
106
+ onClick?.(event);
107
+ if (event.defaultPrevented) {
108
+ return;
109
+ }
110
+ const ok = await copy(value);
111
+ if (ok) {
112
+ onCopy?.(value);
113
+ }
114
+ };
115
+ const text = copied ? copiedLabel : label;
116
+ return /* @__PURE__ */ jsxRuntime.jsxs(
117
+ "button",
118
+ {
119
+ ref,
120
+ type,
121
+ "data-slot": "copy-button",
122
+ "data-copied": copied ? "true" : void 0,
123
+ disabled,
124
+ "aria-label": ariaLabel ?? (iconOnly ? text : void 0),
125
+ onClick: handleClick,
126
+ className: chunkZS5756ZC_js.cn(
127
+ copyButtonVariants({ appearance, size, iconOnly }),
128
+ className
129
+ ),
130
+ ...rest,
131
+ children: [
132
+ /* @__PURE__ */ jsxRuntime.jsx(
133
+ "span",
134
+ {
135
+ "data-slot": "copy-button-icon",
136
+ className: "relative inline-flex items-center justify-center",
137
+ children: renderIcon({ copied, copyIcon, copiedIcon })
138
+ }
139
+ ),
140
+ !iconOnly ? /* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "copy-button-label", "aria-live": "polite", children: text }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite", children: text })
141
+ ]
142
+ }
143
+ );
144
+ }
145
+ CopyButtonBase.displayName = "CopyButton";
146
+
147
+ exports.CopyButtonBase = CopyButtonBase;
148
+ exports.copyButtonVariants = copyButtonVariants;
149
+ //# sourceMappingURL=chunk-RKX5MERK.js.map
150
+ //# sourceMappingURL=chunk-RKX5MERK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/design-system/copy-button.ts","../src/ui/copy-button/variants.ts","../src/ui/copy-button/copy-button-base.tsx"],"names":["cva","jsx","FiCopy","FiCheck","useClipboard","jsxs","cn"],"mappings":"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","file":"chunk-RKX5MERK.js","sourcesContent":["export const zuiCopyButtonBase = [\n \"relative inline-flex items-center justify-center gap-2 whitespace-nowrap\",\n \"rounded-[var(--zui-copy-button-radius,0.75rem)] font-medium\",\n \"ring-offset-[var(--zui-copy-button-ring-offset,#f8fafc)] dark:ring-offset-[var(--zui-copy-button-ring-offset-dark,#020617)]\",\n \"transition-colors select-none\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--zui-copy-button-focus-ring,#475569)] dark:focus-visible:ring-[var(--zui-copy-button-focus-ring-dark,#cbd5e1)] focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n] as const;\n\nexport const zuiCopyButtonAppearances = {\n default:\n \"bg-[var(--zui-copy-button-default-bg,#0f172a)] dark:bg-[var(--zui-copy-button-default-bg-dark,#f8fafc)] text-[color:var(--zui-copy-button-default-fg,#f8fafc)] dark:text-[color:var(--zui-copy-button-default-fg-dark,#020617)] shadow-[var(--zui-copy-button-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-copy-button-default-shadow-dark,0_1px_2px_#0f172a1f)] hover:bg-[var(--zui-copy-button-default-bg-hover,#000000)] dark:hover:bg-[var(--zui-copy-button-default-bg-hover-dark,#ffffff)]\",\n secondary:\n \"bg-[var(--zui-copy-button-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-copy-button-secondary-bg-dark,#1e293b)] text-[color:var(--zui-copy-button-secondary-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-secondary-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-secondary-bg-hover,#cbd5e1)] dark:hover:bg-[var(--zui-copy-button-secondary-bg-hover-dark,#334155)]\",\n destructive:\n \"bg-[var(--zui-copy-button-destructive-bg,#f43f5e)] dark:bg-[var(--zui-copy-button-destructive-bg-dark,#be123c)] text-[color:var(--zui-copy-button-destructive-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-destructive-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-destructive-bg-hover,#f43f5e)] dark:hover:bg-[var(--zui-copy-button-destructive-bg-hover-dark,#9f1239)]\",\n outline:\n \"border border-[color:var(--zui-copy-button-outline-border,#0000001a)] dark:border-[color:var(--zui-copy-button-outline-border-dark,#ffffff1a)] bg-[var(--zui-copy-button-outline-bg,#0000000d)] dark:bg-[var(--zui-copy-button-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-copy-button-outline-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-outline-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-outline-bg-hover,#0000001a)] dark:hover:bg-[var(--zui-copy-button-outline-bg-hover-dark,#ffffff1a)]\",\n ghost:\n \"bg-transparent text-[color:var(--zui-copy-button-ghost-fg,#334155)] dark:text-[color:var(--zui-copy-button-ghost-fg-dark,#e2e8f0)] hover:bg-[var(--zui-copy-button-ghost-bg-hover,#0000000d)] dark:hover:bg-[var(--zui-copy-button-ghost-bg-hover-dark,#ffffff0d)]\",\n glass:\n \"border border-[color:var(--zui-copy-button-glass-border,#00000026)] dark:border-[color:var(--zui-copy-button-glass-border-dark,#ffffff26)] bg-[var(--zui-copy-button-glass-bg,#0000001a)] dark:bg-[var(--zui-copy-button-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-copy-button-glass-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-glass-fg-dark,#ffffff)] backdrop-blur-md hover:bg-[var(--zui-copy-button-glass-bg-hover,#00000026)] dark:hover:bg-[var(--zui-copy-button-glass-bg-hover-dark,#ffffff26)]\",\n emerald:\n \"bg-[var(--zui-copy-button-emerald-bg,#10b981)] dark:bg-[var(--zui-copy-button-emerald-bg-dark,#065f46)] text-[color:var(--zui-copy-button-emerald-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-emerald-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-emerald-bg-hover,#10b981)] dark:hover:bg-[var(--zui-copy-button-emerald-bg-hover-dark,#064e3b)]\",\n indigo:\n \"bg-[var(--zui-copy-button-indigo-bg,#3730a3)] dark:bg-[var(--zui-copy-button-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-copy-button-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-indigo-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-indigo-bg-hover,#3730a3)] dark:hover:bg-[var(--zui-copy-button-indigo-bg-hover-dark,#4f46e5)]\",\n purple:\n \"bg-[var(--zui-copy-button-purple-bg,#6b21a8)] dark:bg-[var(--zui-copy-button-purple-bg-dark,#9333ea)] text-[color:var(--zui-copy-button-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-purple-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-purple-bg-hover,#6b21a8)] dark:hover:bg-[var(--zui-copy-button-purple-bg-hover-dark,#9333ea)]\",\n pink:\n \"bg-[var(--zui-copy-button-pink-bg,#9d174d)] dark:bg-[var(--zui-copy-button-pink-bg-dark,#db2777)] text-[color:var(--zui-copy-button-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-pink-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-pink-bg-hover,#9d174d)] dark:hover:bg-[var(--zui-copy-button-pink-bg-hover-dark,#db2777)]\",\n rose:\n \"bg-[var(--zui-copy-button-rose-bg,#9f1239)] dark:bg-[var(--zui-copy-button-rose-bg-dark,#e11d48)] text-[color:var(--zui-copy-button-rose-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-rose-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-rose-bg-hover,#9f1239)] dark:hover:bg-[var(--zui-copy-button-rose-bg-hover-dark,#e11d48)]\",\n sky:\n \"bg-[var(--zui-copy-button-sky-bg,#0ea5e9)] dark:bg-[var(--zui-copy-button-sky-bg-dark,#0369a1)] text-[color:var(--zui-copy-button-sky-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-sky-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-sky-bg-hover,#0ea5e9)] dark:hover:bg-[var(--zui-copy-button-sky-bg-hover-dark,#075985)]\",\n teal:\n \"bg-[var(--zui-copy-button-teal-bg,#14b8a6)] dark:bg-[var(--zui-copy-button-teal-bg-dark,#0f766e)] text-[color:var(--zui-copy-button-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-teal-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-teal-bg-hover,#14b8a6)] dark:hover:bg-[var(--zui-copy-button-teal-bg-hover-dark,#115e59)]\",\n yellow:\n \"bg-[var(--zui-copy-button-yellow-bg,#eab308)] dark:bg-[var(--zui-copy-button-yellow-bg-dark,#854d0e)] text-[color:var(--zui-copy-button-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-yellow-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-yellow-bg-hover,#eab308)] dark:hover:bg-[var(--zui-copy-button-yellow-bg-hover-dark,#713f12)]\",\n orange:\n \"bg-[var(--zui-copy-button-orange-bg,#f97316)] dark:bg-[var(--zui-copy-button-orange-bg-dark,#9a3412)] text-[color:var(--zui-copy-button-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-orange-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-orange-bg-hover,#f97316)] dark:hover:bg-[var(--zui-copy-button-orange-bg-hover-dark,#7c2d12)]\",\n gray:\n \"bg-[var(--zui-copy-button-gray-bg,#6b7280)] dark:bg-[var(--zui-copy-button-gray-bg-dark,#374151)] text-[color:var(--zui-copy-button-gray-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gray-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-gray-bg-hover,#6b7280)] dark:hover:bg-[var(--zui-copy-button-gray-bg-hover-dark,#1f2937)]\",\n amber:\n \"bg-[var(--zui-copy-button-amber-bg,#f59e0b)] dark:bg-[var(--zui-copy-button-amber-bg-dark,#92400e)] text-[color:var(--zui-copy-button-amber-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-amber-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-amber-bg-hover,#f59e0b)] dark:hover:bg-[var(--zui-copy-button-amber-bg-hover-dark,#78350f)]\",\n violet:\n \"bg-[var(--zui-copy-button-violet-bg,#5b21b6)] dark:bg-[var(--zui-copy-button-violet-bg-dark,#7c3aed)] text-[color:var(--zui-copy-button-violet-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-violet-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-violet-bg-hover,#5b21b6)] dark:hover:bg-[var(--zui-copy-button-violet-bg-hover-dark,#7c3aed)]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-blue-from,#1e40af)] dark:from-[var(--zui-copy-button-gradient-blue-from-dark,#2563eb)] to-[var(--zui-copy-button-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-blue-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-blue-from-hover,#1e40af)] dark:hover:from-[var(--zui-copy-button-gradient-blue-from-hover-dark,#2563eb)] hover:to-[var(--zui-copy-button-gradient-blue-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-blue-to-hover-dark,#9333ea)]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-green-from,#166534)] dark:from-[var(--zui-copy-button-gradient-green-from-dark,#16a34a)] to-[var(--zui-copy-button-gradient-green-to,#3f6212)] dark:to-[var(--zui-copy-button-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-copy-button-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-green-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-green-from-hover,#166534)] dark:hover:from-[var(--zui-copy-button-gradient-green-from-hover-dark,#16a34a)] hover:to-[var(--zui-copy-button-gradient-green-to-hover,#3f6212)] dark:hover:to-[var(--zui-copy-button-gradient-green-to-hover-dark,#65a30d)]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-red-from,#991b1b)] dark:from-[var(--zui-copy-button-gradient-red-from-dark,#dc2626)] to-[var(--zui-copy-button-gradient-red-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-red-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-red-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-red-from-hover,#991b1b)] dark:hover:from-[var(--zui-copy-button-gradient-red-from-hover-dark,#dc2626)] hover:to-[var(--zui-copy-button-gradient-red-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-red-to-hover-dark,#db2777)]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-copy-button-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-copy-button-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-copy-button-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-copy-button-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-yellow-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-yellow-from-hover,#854d0e)] dark:hover:from-[var(--zui-copy-button-gradient-yellow-from-hover-dark,#ca8a04)] hover:to-[var(--zui-copy-button-gradient-yellow-to-hover,#9a3412)] dark:hover:to-[var(--zui-copy-button-gradient-yellow-to-hover-dark,#ea580c)]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-copy-button-gradient-purple-from-dark,#9333ea)] to-[var(--zui-copy-button-gradient-purple-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-purple-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-purple-from-hover,#6b21a8)] dark:hover:from-[var(--zui-copy-button-gradient-purple-from-hover-dark,#9333ea)] hover:to-[var(--zui-copy-button-gradient-purple-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-purple-to-hover-dark,#db2777)]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-teal-from,#115e59)] dark:from-[var(--zui-copy-button-gradient-teal-from-dark,#0d9488)] to-[var(--zui-copy-button-gradient-teal-to,#155e75)] dark:to-[var(--zui-copy-button-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-copy-button-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-teal-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-teal-from-hover,#115e59)] dark:hover:from-[var(--zui-copy-button-gradient-teal-from-hover-dark,#0d9488)] hover:to-[var(--zui-copy-button-gradient-teal-to-hover,#155e75)] dark:hover:to-[var(--zui-copy-button-gradient-teal-to-hover-dark,#0891b2)]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-copy-button-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-copy-button-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-indigo-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-indigo-from-hover,#3730a3)] dark:hover:from-[var(--zui-copy-button-gradient-indigo-from-hover-dark,#4f46e5)] hover:to-[var(--zui-copy-button-gradient-indigo-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-indigo-to-hover-dark,#9333ea)]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-pink-from,#9d174d)] dark:from-[var(--zui-copy-button-gradient-pink-from-dark,#db2777)] to-[var(--zui-copy-button-gradient-pink-to,#9f1239)] dark:to-[var(--zui-copy-button-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-copy-button-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-pink-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-pink-from-hover,#9d174d)] dark:hover:from-[var(--zui-copy-button-gradient-pink-from-hover-dark,#db2777)] hover:to-[var(--zui-copy-button-gradient-pink-to-hover,#9f1239)] dark:hover:to-[var(--zui-copy-button-gradient-pink-to-hover-dark,#e11d48)]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-orange-from,#9a3412)] dark:from-[var(--zui-copy-button-gradient-orange-from-dark,#ea580c)] to-[var(--zui-copy-button-gradient-orange-to,#991b1b)] dark:to-[var(--zui-copy-button-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-copy-button-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-orange-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-orange-from-hover,#9a3412)] dark:hover:from-[var(--zui-copy-button-gradient-orange-from-hover-dark,#ea580c)] hover:to-[var(--zui-copy-button-gradient-orange-to-hover,#991b1b)] dark:hover:to-[var(--zui-copy-button-gradient-orange-to-hover-dark,#dc2626)]\",\n} as const;\n\nexport type ZuiCopyButtonAppearance = keyof typeof zuiCopyButtonAppearances;\n\nexport const zuiCopyButtonSizes = {\n sm: \"h-8 px-2.5 text-xs [&_svg]:size-3.5\",\n md: \"h-9 px-3 text-sm [&_svg]:size-4\",\n lg: \"h-11 px-4 text-base [&_svg]:size-5\",\n} as const;\n\nexport type ZuiCopyButtonSize = keyof typeof zuiCopyButtonSizes;\n\nexport const zuiCopyButtonIconOnlySizes = {\n sm: \"w-8 px-0\",\n md: \"w-9 px-0\",\n lg: \"w-11 px-0\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiCopyButtonAppearances,\n zuiCopyButtonBase,\n zuiCopyButtonIconOnlySizes,\n zuiCopyButtonSizes,\n} from \"../../design-system/copy-button\";\n\nexport const copyButtonVariants = cva(zuiCopyButtonBase, {\n variants: {\n appearance: zuiCopyButtonAppearances,\n size: zuiCopyButtonSizes,\n iconOnly: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n { iconOnly: true, size: \"sm\", class: zuiCopyButtonIconOnlySizes.sm },\n { iconOnly: true, size: \"md\", class: zuiCopyButtonIconOnlySizes.md },\n { iconOnly: true, size: \"lg\", class: zuiCopyButtonIconOnlySizes.lg },\n ],\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n iconOnly: true,\n },\n});\n","\"use client\";\n\nimport { FiCheck, FiCopy } from \"react-icons/fi\";\n\nimport { useClipboard } from \"../../hooks/useClipboard/useClipboard\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { CopyButtonBaseProps, CopyButtonIconRenderer } from \"./types\";\nimport { copyButtonVariants } from \"./variants\";\n\nconst defaultRenderIcon: CopyButtonIconRenderer = ({\n copied,\n copyIcon,\n copiedIcon,\n}) => (copied ? copiedIcon : copyIcon);\n\nexport function CopyButtonBase({\n value,\n timeout = 2000,\n appearance,\n size,\n iconOnly = true,\n label = \"Copy\",\n copiedLabel = \"Copied\",\n copyIcon = <FiCopy aria-hidden />,\n copiedIcon = <FiCheck aria-hidden />,\n onCopy,\n renderIcon = defaultRenderIcon,\n className,\n type = \"button\",\n disabled,\n onClick,\n \"aria-label\": ariaLabel,\n ref,\n ...rest\n}: CopyButtonBaseProps) {\n const { copied, copy } = useClipboard(timeout);\n\n const handleClick: NonNullable<CopyButtonBaseProps[\"onClick\"]> = async (\n event,\n ) => {\n onClick?.(event);\n if (event.defaultPrevented) {\n return;\n }\n const ok = await copy(value);\n if (ok) {\n onCopy?.(value);\n }\n };\n\n const text = copied ? copiedLabel : label;\n\n return (\n <button\n ref={ref}\n type={type}\n data-slot=\"copy-button\"\n data-copied={copied ? \"true\" : undefined}\n disabled={disabled}\n aria-label={ariaLabel ?? (iconOnly ? text : undefined)}\n onClick={handleClick}\n className={cn(\n copyButtonVariants({ appearance, size, iconOnly }),\n className,\n )}\n {...rest}\n >\n <span\n data-slot=\"copy-button-icon\"\n className=\"relative inline-flex items-center justify-center\"\n >\n {renderIcon({ copied, copyIcon, copiedIcon })}\n </span>\n {!iconOnly ? (\n <span data-slot=\"copy-button-label\" aria-live=\"polite\">\n {text}\n </span>\n ) : (\n <span className=\"sr-only\" aria-live=\"polite\">\n {text}\n </span>\n )}\n </button>\n );\n}\n\nCopyButtonBase.displayName = \"CopyButton\";\n"]}
@@ -0,0 +1,115 @@
1
+ import { cn } from './chunk-4D54YOL6.mjs';
2
+ import { cva } from 'class-variance-authority';
3
+ import { Fragment } from 'react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ // src/design-system/kbd.ts
7
+ var zuiKbdBase = [
8
+ "inline-flex items-center justify-center gap-1 align-middle",
9
+ "rounded-[var(--zui-kbd-radius,0.375rem)] font-mono font-medium leading-none select-none"
10
+ ];
11
+ var zuiKbdKeyAppearances = {
12
+ default: "bg-[var(--zui-kbd-default-bg,#0f172a)] dark:bg-[var(--zui-kbd-default-bg-dark,#f8fafc)] text-[color:var(--zui-kbd-default-fg,#f8fafc)] dark:text-[color:var(--zui-kbd-default-fg-dark,#020617)] shadow-[var(--zui-kbd-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-kbd-default-shadow-dark,0_1px_2px_#0f172a1f)]",
13
+ secondary: "bg-[var(--zui-kbd-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-kbd-secondary-bg-dark,#1e293b)] text-[color:var(--zui-kbd-secondary-fg,#0f172a)] dark:text-[color:var(--zui-kbd-secondary-fg-dark,#f8fafc)]",
14
+ destructive: "bg-[var(--zui-kbd-destructive-bg,#f43f5e)] dark:bg-[var(--zui-kbd-destructive-bg-dark,#be123c)] text-[color:var(--zui-kbd-destructive-fg,#ffffff)] dark:text-[color:var(--zui-kbd-destructive-fg-dark,#ffffff)]",
15
+ outline: "border border-[color:var(--zui-kbd-outline-border,#0000001a)] dark:border-[color:var(--zui-kbd-outline-border-dark,#ffffff1a)] bg-[var(--zui-kbd-outline-bg,#0000000d)] dark:bg-[var(--zui-kbd-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-kbd-outline-fg,#0f172a)] dark:text-[color:var(--zui-kbd-outline-fg-dark,#f8fafc)]",
16
+ ghost: "bg-transparent text-[color:var(--zui-kbd-ghost-fg,#334155)] dark:text-[color:var(--zui-kbd-ghost-fg-dark,#e2e8f0)]",
17
+ glass: "border border-[color:var(--zui-kbd-glass-border,#00000026)] dark:border-[color:var(--zui-kbd-glass-border-dark,#ffffff26)] bg-[var(--zui-kbd-glass-bg,#0000001a)] dark:bg-[var(--zui-kbd-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-kbd-glass-fg,#0f172a)] dark:text-[color:var(--zui-kbd-glass-fg-dark,#ffffff)] backdrop-blur-md",
18
+ emerald: "bg-[var(--zui-kbd-emerald-bg,#10b981)] dark:bg-[var(--zui-kbd-emerald-bg-dark,#065f46)] text-[color:var(--zui-kbd-emerald-fg,#ffffff)] dark:text-[color:var(--zui-kbd-emerald-fg-dark,#ffffff)]",
19
+ indigo: "bg-[var(--zui-kbd-indigo-bg,#3730a3)] dark:bg-[var(--zui-kbd-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-kbd-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-indigo-fg-dark,#ffffff)]",
20
+ purple: "bg-[var(--zui-kbd-purple-bg,#6b21a8)] dark:bg-[var(--zui-kbd-purple-bg-dark,#9333ea)] text-[color:var(--zui-kbd-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-purple-fg-dark,#ffffff)]",
21
+ pink: "bg-[var(--zui-kbd-pink-bg,#9d174d)] dark:bg-[var(--zui-kbd-pink-bg-dark,#db2777)] text-[color:var(--zui-kbd-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-pink-fg-dark,#ffffff)]",
22
+ rose: "bg-[var(--zui-kbd-rose-bg,#9f1239)] dark:bg-[var(--zui-kbd-rose-bg-dark,#e11d48)] text-[color:var(--zui-kbd-rose-fg,#ffffff)] dark:text-[color:var(--zui-kbd-rose-fg-dark,#ffffff)]",
23
+ sky: "bg-[var(--zui-kbd-sky-bg,#0ea5e9)] dark:bg-[var(--zui-kbd-sky-bg-dark,#0369a1)] text-[color:var(--zui-kbd-sky-fg,#ffffff)] dark:text-[color:var(--zui-kbd-sky-fg-dark,#ffffff)]",
24
+ teal: "bg-[var(--zui-kbd-teal-bg,#14b8a6)] dark:bg-[var(--zui-kbd-teal-bg-dark,#0f766e)] text-[color:var(--zui-kbd-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-teal-fg-dark,#ffffff)]",
25
+ yellow: "bg-[var(--zui-kbd-yellow-bg,#eab308)] dark:bg-[var(--zui-kbd-yellow-bg-dark,#854d0e)] text-[color:var(--zui-kbd-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-yellow-fg-dark,#ffffff)]",
26
+ orange: "bg-[var(--zui-kbd-orange-bg,#f97316)] dark:bg-[var(--zui-kbd-orange-bg-dark,#9a3412)] text-[color:var(--zui-kbd-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-orange-fg-dark,#ffffff)]",
27
+ gray: "bg-[var(--zui-kbd-gray-bg,#6b7280)] dark:bg-[var(--zui-kbd-gray-bg-dark,#374151)] text-[color:var(--zui-kbd-gray-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gray-fg-dark,#ffffff)]",
28
+ amber: "bg-[var(--zui-kbd-amber-bg,#f59e0b)] dark:bg-[var(--zui-kbd-amber-bg-dark,#92400e)] text-[color:var(--zui-kbd-amber-fg,#ffffff)] dark:text-[color:var(--zui-kbd-amber-fg-dark,#ffffff)]",
29
+ violet: "bg-[var(--zui-kbd-violet-bg,#5b21b6)] dark:bg-[var(--zui-kbd-violet-bg-dark,#7c3aed)] text-[color:var(--zui-kbd-violet-fg,#ffffff)] dark:text-[color:var(--zui-kbd-violet-fg-dark,#ffffff)]",
30
+ "gradient-blue": "bg-linear-to-r from-[var(--zui-kbd-gradient-blue-from,#1e40af)] dark:from-[var(--zui-kbd-gradient-blue-from-dark,#2563eb)] to-[var(--zui-kbd-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-blue-fg-dark,#ffffff)]",
31
+ "gradient-green": "bg-linear-to-r from-[var(--zui-kbd-gradient-green-from,#166534)] dark:from-[var(--zui-kbd-gradient-green-from-dark,#16a34a)] to-[var(--zui-kbd-gradient-green-to,#3f6212)] dark:to-[var(--zui-kbd-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-kbd-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-green-fg-dark,#ffffff)]",
32
+ "gradient-red": "bg-linear-to-r from-[var(--zui-kbd-gradient-red-from,#991b1b)] dark:from-[var(--zui-kbd-gradient-red-from-dark,#dc2626)] to-[var(--zui-kbd-gradient-red-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-red-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-red-fg-dark,#ffffff)]",
33
+ "gradient-yellow": "bg-linear-to-r from-[var(--zui-kbd-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-kbd-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-kbd-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-kbd-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-kbd-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-yellow-fg-dark,#ffffff)]",
34
+ "gradient-purple": "bg-linear-to-r from-[var(--zui-kbd-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-kbd-gradient-purple-from-dark,#9333ea)] to-[var(--zui-kbd-gradient-purple-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-purple-fg-dark,#ffffff)]",
35
+ "gradient-teal": "bg-linear-to-r from-[var(--zui-kbd-gradient-teal-from,#115e59)] dark:from-[var(--zui-kbd-gradient-teal-from-dark,#0d9488)] to-[var(--zui-kbd-gradient-teal-to,#155e75)] dark:to-[var(--zui-kbd-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-kbd-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-teal-fg-dark,#ffffff)]",
36
+ "gradient-indigo": "bg-linear-to-r from-[var(--zui-kbd-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-kbd-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-kbd-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-indigo-fg-dark,#ffffff)]",
37
+ "gradient-pink": "bg-linear-to-r from-[var(--zui-kbd-gradient-pink-from,#9d174d)] dark:from-[var(--zui-kbd-gradient-pink-from-dark,#db2777)] to-[var(--zui-kbd-gradient-pink-to,#9f1239)] dark:to-[var(--zui-kbd-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-kbd-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-pink-fg-dark,#ffffff)]",
38
+ "gradient-orange": "bg-linear-to-r from-[var(--zui-kbd-gradient-orange-from,#9a3412)] dark:from-[var(--zui-kbd-gradient-orange-from-dark,#ea580c)] to-[var(--zui-kbd-gradient-orange-to,#991b1b)] dark:to-[var(--zui-kbd-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-kbd-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-orange-fg-dark,#ffffff)]"
39
+ };
40
+ var zuiKbdKeyBase = [
41
+ "inline-flex items-center justify-center font-mono font-medium leading-none",
42
+ "rounded-[var(--zui-kbd-radius,0.375rem)]",
43
+ "shadow-[var(--zui-kbd-shadow,inset_0_-1px_0_#0000001f)] dark:shadow-[var(--zui-kbd-shadow-dark,inset_0_-1px_0_#0000004d)]"
44
+ ];
45
+ var zuiKbdKeySizes = {
46
+ sm: "h-5 min-w-5 px-1 text-[0.7rem]",
47
+ md: "h-6 min-w-6 px-1.5 text-xs",
48
+ lg: "h-7 min-w-7 px-2 text-sm"
49
+ };
50
+ var zuiKbdSeparatorSizes = {
51
+ sm: "text-[0.7rem]",
52
+ md: "text-xs",
53
+ lg: "text-sm"
54
+ };
55
+
56
+ // src/ui/kbd/variants.ts
57
+ var kbdKeyVariants = cva(zuiKbdKeyBase, {
58
+ variants: {
59
+ appearance: zuiKbdKeyAppearances,
60
+ size: zuiKbdKeySizes
61
+ },
62
+ defaultVariants: {
63
+ appearance: "outline",
64
+ size: "md"
65
+ }
66
+ });
67
+ var kbdSeparatorVariants = cva(
68
+ "text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]",
69
+ {
70
+ variants: {
71
+ size: zuiKbdSeparatorSizes
72
+ },
73
+ defaultVariants: {
74
+ size: "md"
75
+ }
76
+ }
77
+ );
78
+ function KbdBase({
79
+ keys,
80
+ separator,
81
+ appearance,
82
+ size,
83
+ children,
84
+ className,
85
+ as: Wrapper = "span",
86
+ ref,
87
+ ...rest
88
+ }) {
89
+ const items = keys ?? (children != null ? [children] : []);
90
+ return /* @__PURE__ */ jsx(
91
+ Wrapper,
92
+ {
93
+ ref,
94
+ "data-slot": "kbd",
95
+ className: cn(zuiKbdBase, className),
96
+ ...rest,
97
+ children: items.map((key, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
98
+ index > 0 && separator != null ? /* @__PURE__ */ jsx("span", { "data-slot": "kbd-separator", className: kbdSeparatorVariants({ size }), children: separator }) : null,
99
+ /* @__PURE__ */ jsx(
100
+ "kbd",
101
+ {
102
+ "data-slot": "kbd-key",
103
+ className: kbdKeyVariants({ appearance, size }),
104
+ children: key
105
+ }
106
+ )
107
+ ] }, index))
108
+ }
109
+ );
110
+ }
111
+ KbdBase.displayName = "Kbd";
112
+
113
+ export { KbdBase, kbdKeyVariants, kbdSeparatorVariants };
114
+ //# sourceMappingURL=chunk-VYI3GS2C.mjs.map
115
+ //# sourceMappingURL=chunk-VYI3GS2C.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/design-system/kbd.ts","../src/ui/kbd/variants.ts","../src/ui/kbd/kbd-base.tsx"],"names":[],"mappings":"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","file":"chunk-VYI3GS2C.mjs","sourcesContent":["export const zuiKbdBase = [\n \"inline-flex items-center justify-center gap-1 align-middle\",\n \"rounded-[var(--zui-kbd-radius,0.375rem)] font-mono font-medium leading-none select-none\",\n] as const;\n\nexport const zuiKbdKeyAppearances = {\n default:\n \"bg-[var(--zui-kbd-default-bg,#0f172a)] dark:bg-[var(--zui-kbd-default-bg-dark,#f8fafc)] text-[color:var(--zui-kbd-default-fg,#f8fafc)] dark:text-[color:var(--zui-kbd-default-fg-dark,#020617)] shadow-[var(--zui-kbd-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-kbd-default-shadow-dark,0_1px_2px_#0f172a1f)]\",\n secondary:\n \"bg-[var(--zui-kbd-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-kbd-secondary-bg-dark,#1e293b)] text-[color:var(--zui-kbd-secondary-fg,#0f172a)] dark:text-[color:var(--zui-kbd-secondary-fg-dark,#f8fafc)]\",\n destructive:\n \"bg-[var(--zui-kbd-destructive-bg,#f43f5e)] dark:bg-[var(--zui-kbd-destructive-bg-dark,#be123c)] text-[color:var(--zui-kbd-destructive-fg,#ffffff)] dark:text-[color:var(--zui-kbd-destructive-fg-dark,#ffffff)]\",\n outline:\n \"border border-[color:var(--zui-kbd-outline-border,#0000001a)] dark:border-[color:var(--zui-kbd-outline-border-dark,#ffffff1a)] bg-[var(--zui-kbd-outline-bg,#0000000d)] dark:bg-[var(--zui-kbd-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-kbd-outline-fg,#0f172a)] dark:text-[color:var(--zui-kbd-outline-fg-dark,#f8fafc)]\",\n ghost:\n \"bg-transparent text-[color:var(--zui-kbd-ghost-fg,#334155)] dark:text-[color:var(--zui-kbd-ghost-fg-dark,#e2e8f0)]\",\n glass:\n \"border border-[color:var(--zui-kbd-glass-border,#00000026)] dark:border-[color:var(--zui-kbd-glass-border-dark,#ffffff26)] bg-[var(--zui-kbd-glass-bg,#0000001a)] dark:bg-[var(--zui-kbd-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-kbd-glass-fg,#0f172a)] dark:text-[color:var(--zui-kbd-glass-fg-dark,#ffffff)] backdrop-blur-md\",\n emerald:\n \"bg-[var(--zui-kbd-emerald-bg,#10b981)] dark:bg-[var(--zui-kbd-emerald-bg-dark,#065f46)] text-[color:var(--zui-kbd-emerald-fg,#ffffff)] dark:text-[color:var(--zui-kbd-emerald-fg-dark,#ffffff)]\",\n indigo:\n \"bg-[var(--zui-kbd-indigo-bg,#3730a3)] dark:bg-[var(--zui-kbd-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-kbd-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-indigo-fg-dark,#ffffff)]\",\n purple:\n \"bg-[var(--zui-kbd-purple-bg,#6b21a8)] dark:bg-[var(--zui-kbd-purple-bg-dark,#9333ea)] text-[color:var(--zui-kbd-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-purple-fg-dark,#ffffff)]\",\n pink:\n \"bg-[var(--zui-kbd-pink-bg,#9d174d)] dark:bg-[var(--zui-kbd-pink-bg-dark,#db2777)] text-[color:var(--zui-kbd-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-pink-fg-dark,#ffffff)]\",\n rose:\n \"bg-[var(--zui-kbd-rose-bg,#9f1239)] dark:bg-[var(--zui-kbd-rose-bg-dark,#e11d48)] text-[color:var(--zui-kbd-rose-fg,#ffffff)] dark:text-[color:var(--zui-kbd-rose-fg-dark,#ffffff)]\",\n sky:\n \"bg-[var(--zui-kbd-sky-bg,#0ea5e9)] dark:bg-[var(--zui-kbd-sky-bg-dark,#0369a1)] text-[color:var(--zui-kbd-sky-fg,#ffffff)] dark:text-[color:var(--zui-kbd-sky-fg-dark,#ffffff)]\",\n teal:\n \"bg-[var(--zui-kbd-teal-bg,#14b8a6)] dark:bg-[var(--zui-kbd-teal-bg-dark,#0f766e)] text-[color:var(--zui-kbd-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-teal-fg-dark,#ffffff)]\",\n yellow:\n \"bg-[var(--zui-kbd-yellow-bg,#eab308)] dark:bg-[var(--zui-kbd-yellow-bg-dark,#854d0e)] text-[color:var(--zui-kbd-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-yellow-fg-dark,#ffffff)]\",\n orange:\n \"bg-[var(--zui-kbd-orange-bg,#f97316)] dark:bg-[var(--zui-kbd-orange-bg-dark,#9a3412)] text-[color:var(--zui-kbd-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-orange-fg-dark,#ffffff)]\",\n gray:\n \"bg-[var(--zui-kbd-gray-bg,#6b7280)] dark:bg-[var(--zui-kbd-gray-bg-dark,#374151)] text-[color:var(--zui-kbd-gray-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gray-fg-dark,#ffffff)]\",\n amber:\n \"bg-[var(--zui-kbd-amber-bg,#f59e0b)] dark:bg-[var(--zui-kbd-amber-bg-dark,#92400e)] text-[color:var(--zui-kbd-amber-fg,#ffffff)] dark:text-[color:var(--zui-kbd-amber-fg-dark,#ffffff)]\",\n violet:\n \"bg-[var(--zui-kbd-violet-bg,#5b21b6)] dark:bg-[var(--zui-kbd-violet-bg-dark,#7c3aed)] text-[color:var(--zui-kbd-violet-fg,#ffffff)] dark:text-[color:var(--zui-kbd-violet-fg-dark,#ffffff)]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-blue-from,#1e40af)] dark:from-[var(--zui-kbd-gradient-blue-from-dark,#2563eb)] to-[var(--zui-kbd-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-blue-fg-dark,#ffffff)]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-green-from,#166534)] dark:from-[var(--zui-kbd-gradient-green-from-dark,#16a34a)] to-[var(--zui-kbd-gradient-green-to,#3f6212)] dark:to-[var(--zui-kbd-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-kbd-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-green-fg-dark,#ffffff)]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-red-from,#991b1b)] dark:from-[var(--zui-kbd-gradient-red-from-dark,#dc2626)] to-[var(--zui-kbd-gradient-red-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-red-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-red-fg-dark,#ffffff)]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-kbd-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-kbd-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-kbd-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-kbd-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-yellow-fg-dark,#ffffff)]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-kbd-gradient-purple-from-dark,#9333ea)] to-[var(--zui-kbd-gradient-purple-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-purple-fg-dark,#ffffff)]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-teal-from,#115e59)] dark:from-[var(--zui-kbd-gradient-teal-from-dark,#0d9488)] to-[var(--zui-kbd-gradient-teal-to,#155e75)] dark:to-[var(--zui-kbd-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-kbd-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-teal-fg-dark,#ffffff)]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-kbd-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-kbd-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-indigo-fg-dark,#ffffff)]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-pink-from,#9d174d)] dark:from-[var(--zui-kbd-gradient-pink-from-dark,#db2777)] to-[var(--zui-kbd-gradient-pink-to,#9f1239)] dark:to-[var(--zui-kbd-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-kbd-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-pink-fg-dark,#ffffff)]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-orange-from,#9a3412)] dark:from-[var(--zui-kbd-gradient-orange-from-dark,#ea580c)] to-[var(--zui-kbd-gradient-orange-to,#991b1b)] dark:to-[var(--zui-kbd-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-kbd-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-orange-fg-dark,#ffffff)]\",\n} as const;\n\nexport type ZuiKbdAppearance = keyof typeof zuiKbdKeyAppearances;\n\nexport const zuiKbdKeyBase = [\n \"inline-flex items-center justify-center font-mono font-medium leading-none\",\n \"rounded-[var(--zui-kbd-radius,0.375rem)]\",\n \"shadow-[var(--zui-kbd-shadow,inset_0_-1px_0_#0000001f)] dark:shadow-[var(--zui-kbd-shadow-dark,inset_0_-1px_0_#0000004d)]\",\n] as const;\n\nexport const zuiKbdKeySizes = {\n sm: \"h-5 min-w-5 px-1 text-[0.7rem]\",\n md: \"h-6 min-w-6 px-1.5 text-xs\",\n lg: \"h-7 min-w-7 px-2 text-sm\",\n} as const;\n\nexport type ZuiKbdSize = keyof typeof zuiKbdKeySizes;\n\nexport const zuiKbdSeparatorSizes = {\n sm: \"text-[0.7rem]\",\n md: \"text-xs\",\n lg: \"text-sm\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiKbdKeyAppearances,\n zuiKbdKeyBase,\n zuiKbdKeySizes,\n zuiKbdSeparatorSizes,\n} from \"../../design-system/kbd\";\n\nexport const kbdKeyVariants = cva(zuiKbdKeyBase, {\n variants: {\n appearance: zuiKbdKeyAppearances,\n size: zuiKbdKeySizes,\n },\n defaultVariants: {\n appearance: \"outline\",\n size: \"md\",\n },\n});\n\nexport const kbdSeparatorVariants = cva(\n \"text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]\",\n {\n variants: {\n size: zuiKbdSeparatorSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport { Fragment } from \"react\";\n\nimport { zuiKbdBase } from \"../../design-system/kbd\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { KbdBaseProps } from \"./types\";\nimport { kbdKeyVariants, kbdSeparatorVariants } from \"./variants\";\n\nexport function KbdBase({\n keys,\n separator,\n appearance,\n size,\n children,\n className,\n as: Wrapper = \"span\",\n ref,\n ...rest\n}: KbdBaseProps) {\n const items = keys ?? (children != null ? [children] : []);\n\n return (\n <Wrapper\n ref={ref}\n data-slot=\"kbd\"\n className={cn(zuiKbdBase, className)}\n {...rest}\n >\n {items.map((key, index) => (\n <Fragment key={index}>\n {index > 0 && separator != null ? (\n <span data-slot=\"kbd-separator\" className={kbdSeparatorVariants({ size })}>\n {separator}\n </span>\n ) : null}\n <kbd\n data-slot=\"kbd-key\"\n className={kbdKeyVariants({ appearance, size })}\n >\n {key}\n </kbd>\n </Fragment>\n ))}\n </Wrapper>\n );\n}\n\nKbdBase.displayName = \"Kbd\";\n"]}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ // src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts
6
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? react.useLayoutEffect : react.useEffect;
7
+
8
+ exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
9
+ //# sourceMappingURL=chunk-XRM7GOIE.js.map
10
+ //# sourceMappingURL=chunk-XRM7GOIE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts"],"names":["useLayoutEffect","useEffect"],"mappings":";;;;;AAUO,IAAM,yBAAA,GACX,OAAO,MAAA,KAAW,WAAA,GAAcA,qBAAA,GAAkBC","file":"chunk-XRM7GOIE.js","sourcesContent":["\"use client\";\n\nimport { useEffect, useLayoutEffect } from \"react\";\n\n/**\n * Runs `useLayoutEffect` in the browser and `useEffect` on the server to avoid SSR warnings.\n *\n * Use for DOM measurements or synchronous paint updates that must run before the browser paints,\n * but only when the code path is safe on the client; on the server the timing matches `useEffect`.\n */\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n"]}
@@ -0,0 +1,43 @@
1
+ export declare const zuiCopyButtonBase: readonly ["relative inline-flex items-center justify-center gap-2 whitespace-nowrap", "rounded-[var(--zui-copy-button-radius,0.75rem)] font-medium", "ring-offset-[var(--zui-copy-button-ring-offset,#f8fafc)] dark:ring-offset-[var(--zui-copy-button-ring-offset-dark,#020617)]", "transition-colors select-none", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--zui-copy-button-focus-ring,#475569)] dark:focus-visible:ring-[var(--zui-copy-button-focus-ring-dark,#cbd5e1)] focus-visible:ring-offset-2", "disabled:pointer-events-none disabled:opacity-50"];
2
+ export declare const zuiCopyButtonAppearances: {
3
+ readonly default: "bg-[var(--zui-copy-button-default-bg,#0f172a)] dark:bg-[var(--zui-copy-button-default-bg-dark,#f8fafc)] text-[color:var(--zui-copy-button-default-fg,#f8fafc)] dark:text-[color:var(--zui-copy-button-default-fg-dark,#020617)] shadow-[var(--zui-copy-button-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-copy-button-default-shadow-dark,0_1px_2px_#0f172a1f)] hover:bg-[var(--zui-copy-button-default-bg-hover,#000000)] dark:hover:bg-[var(--zui-copy-button-default-bg-hover-dark,#ffffff)]";
4
+ readonly secondary: "bg-[var(--zui-copy-button-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-copy-button-secondary-bg-dark,#1e293b)] text-[color:var(--zui-copy-button-secondary-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-secondary-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-secondary-bg-hover,#cbd5e1)] dark:hover:bg-[var(--zui-copy-button-secondary-bg-hover-dark,#334155)]";
5
+ readonly destructive: "bg-[var(--zui-copy-button-destructive-bg,#f43f5e)] dark:bg-[var(--zui-copy-button-destructive-bg-dark,#be123c)] text-[color:var(--zui-copy-button-destructive-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-destructive-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-destructive-bg-hover,#f43f5e)] dark:hover:bg-[var(--zui-copy-button-destructive-bg-hover-dark,#9f1239)]";
6
+ readonly outline: "border border-[color:var(--zui-copy-button-outline-border,#0000001a)] dark:border-[color:var(--zui-copy-button-outline-border-dark,#ffffff1a)] bg-[var(--zui-copy-button-outline-bg,#0000000d)] dark:bg-[var(--zui-copy-button-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-copy-button-outline-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-outline-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-outline-bg-hover,#0000001a)] dark:hover:bg-[var(--zui-copy-button-outline-bg-hover-dark,#ffffff1a)]";
7
+ readonly ghost: "bg-transparent text-[color:var(--zui-copy-button-ghost-fg,#334155)] dark:text-[color:var(--zui-copy-button-ghost-fg-dark,#e2e8f0)] hover:bg-[var(--zui-copy-button-ghost-bg-hover,#0000000d)] dark:hover:bg-[var(--zui-copy-button-ghost-bg-hover-dark,#ffffff0d)]";
8
+ readonly glass: "border border-[color:var(--zui-copy-button-glass-border,#00000026)] dark:border-[color:var(--zui-copy-button-glass-border-dark,#ffffff26)] bg-[var(--zui-copy-button-glass-bg,#0000001a)] dark:bg-[var(--zui-copy-button-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-copy-button-glass-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-glass-fg-dark,#ffffff)] backdrop-blur-md hover:bg-[var(--zui-copy-button-glass-bg-hover,#00000026)] dark:hover:bg-[var(--zui-copy-button-glass-bg-hover-dark,#ffffff26)]";
9
+ readonly emerald: "bg-[var(--zui-copy-button-emerald-bg,#10b981)] dark:bg-[var(--zui-copy-button-emerald-bg-dark,#065f46)] text-[color:var(--zui-copy-button-emerald-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-emerald-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-emerald-bg-hover,#10b981)] dark:hover:bg-[var(--zui-copy-button-emerald-bg-hover-dark,#064e3b)]";
10
+ readonly indigo: "bg-[var(--zui-copy-button-indigo-bg,#3730a3)] dark:bg-[var(--zui-copy-button-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-copy-button-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-indigo-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-indigo-bg-hover,#3730a3)] dark:hover:bg-[var(--zui-copy-button-indigo-bg-hover-dark,#4f46e5)]";
11
+ readonly purple: "bg-[var(--zui-copy-button-purple-bg,#6b21a8)] dark:bg-[var(--zui-copy-button-purple-bg-dark,#9333ea)] text-[color:var(--zui-copy-button-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-purple-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-purple-bg-hover,#6b21a8)] dark:hover:bg-[var(--zui-copy-button-purple-bg-hover-dark,#9333ea)]";
12
+ readonly pink: "bg-[var(--zui-copy-button-pink-bg,#9d174d)] dark:bg-[var(--zui-copy-button-pink-bg-dark,#db2777)] text-[color:var(--zui-copy-button-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-pink-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-pink-bg-hover,#9d174d)] dark:hover:bg-[var(--zui-copy-button-pink-bg-hover-dark,#db2777)]";
13
+ readonly rose: "bg-[var(--zui-copy-button-rose-bg,#9f1239)] dark:bg-[var(--zui-copy-button-rose-bg-dark,#e11d48)] text-[color:var(--zui-copy-button-rose-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-rose-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-rose-bg-hover,#9f1239)] dark:hover:bg-[var(--zui-copy-button-rose-bg-hover-dark,#e11d48)]";
14
+ readonly sky: "bg-[var(--zui-copy-button-sky-bg,#0ea5e9)] dark:bg-[var(--zui-copy-button-sky-bg-dark,#0369a1)] text-[color:var(--zui-copy-button-sky-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-sky-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-sky-bg-hover,#0ea5e9)] dark:hover:bg-[var(--zui-copy-button-sky-bg-hover-dark,#075985)]";
15
+ readonly teal: "bg-[var(--zui-copy-button-teal-bg,#14b8a6)] dark:bg-[var(--zui-copy-button-teal-bg-dark,#0f766e)] text-[color:var(--zui-copy-button-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-teal-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-teal-bg-hover,#14b8a6)] dark:hover:bg-[var(--zui-copy-button-teal-bg-hover-dark,#115e59)]";
16
+ readonly yellow: "bg-[var(--zui-copy-button-yellow-bg,#eab308)] dark:bg-[var(--zui-copy-button-yellow-bg-dark,#854d0e)] text-[color:var(--zui-copy-button-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-yellow-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-yellow-bg-hover,#eab308)] dark:hover:bg-[var(--zui-copy-button-yellow-bg-hover-dark,#713f12)]";
17
+ readonly orange: "bg-[var(--zui-copy-button-orange-bg,#f97316)] dark:bg-[var(--zui-copy-button-orange-bg-dark,#9a3412)] text-[color:var(--zui-copy-button-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-orange-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-orange-bg-hover,#f97316)] dark:hover:bg-[var(--zui-copy-button-orange-bg-hover-dark,#7c2d12)]";
18
+ readonly gray: "bg-[var(--zui-copy-button-gray-bg,#6b7280)] dark:bg-[var(--zui-copy-button-gray-bg-dark,#374151)] text-[color:var(--zui-copy-button-gray-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gray-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-gray-bg-hover,#6b7280)] dark:hover:bg-[var(--zui-copy-button-gray-bg-hover-dark,#1f2937)]";
19
+ readonly amber: "bg-[var(--zui-copy-button-amber-bg,#f59e0b)] dark:bg-[var(--zui-copy-button-amber-bg-dark,#92400e)] text-[color:var(--zui-copy-button-amber-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-amber-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-amber-bg-hover,#f59e0b)] dark:hover:bg-[var(--zui-copy-button-amber-bg-hover-dark,#78350f)]";
20
+ readonly violet: "bg-[var(--zui-copy-button-violet-bg,#5b21b6)] dark:bg-[var(--zui-copy-button-violet-bg-dark,#7c3aed)] text-[color:var(--zui-copy-button-violet-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-violet-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-violet-bg-hover,#5b21b6)] dark:hover:bg-[var(--zui-copy-button-violet-bg-hover-dark,#7c3aed)]";
21
+ readonly "gradient-blue": "bg-linear-to-r from-[var(--zui-copy-button-gradient-blue-from,#1e40af)] dark:from-[var(--zui-copy-button-gradient-blue-from-dark,#2563eb)] to-[var(--zui-copy-button-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-blue-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-blue-from-hover,#1e40af)] dark:hover:from-[var(--zui-copy-button-gradient-blue-from-hover-dark,#2563eb)] hover:to-[var(--zui-copy-button-gradient-blue-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-blue-to-hover-dark,#9333ea)]";
22
+ readonly "gradient-green": "bg-linear-to-r from-[var(--zui-copy-button-gradient-green-from,#166534)] dark:from-[var(--zui-copy-button-gradient-green-from-dark,#16a34a)] to-[var(--zui-copy-button-gradient-green-to,#3f6212)] dark:to-[var(--zui-copy-button-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-copy-button-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-green-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-green-from-hover,#166534)] dark:hover:from-[var(--zui-copy-button-gradient-green-from-hover-dark,#16a34a)] hover:to-[var(--zui-copy-button-gradient-green-to-hover,#3f6212)] dark:hover:to-[var(--zui-copy-button-gradient-green-to-hover-dark,#65a30d)]";
23
+ readonly "gradient-red": "bg-linear-to-r from-[var(--zui-copy-button-gradient-red-from,#991b1b)] dark:from-[var(--zui-copy-button-gradient-red-from-dark,#dc2626)] to-[var(--zui-copy-button-gradient-red-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-red-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-red-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-red-from-hover,#991b1b)] dark:hover:from-[var(--zui-copy-button-gradient-red-from-hover-dark,#dc2626)] hover:to-[var(--zui-copy-button-gradient-red-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-red-to-hover-dark,#db2777)]";
24
+ readonly "gradient-yellow": "bg-linear-to-r from-[var(--zui-copy-button-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-copy-button-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-copy-button-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-copy-button-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-copy-button-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-yellow-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-yellow-from-hover,#854d0e)] dark:hover:from-[var(--zui-copy-button-gradient-yellow-from-hover-dark,#ca8a04)] hover:to-[var(--zui-copy-button-gradient-yellow-to-hover,#9a3412)] dark:hover:to-[var(--zui-copy-button-gradient-yellow-to-hover-dark,#ea580c)]";
25
+ readonly "gradient-purple": "bg-linear-to-r from-[var(--zui-copy-button-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-copy-button-gradient-purple-from-dark,#9333ea)] to-[var(--zui-copy-button-gradient-purple-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-purple-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-purple-from-hover,#6b21a8)] dark:hover:from-[var(--zui-copy-button-gradient-purple-from-hover-dark,#9333ea)] hover:to-[var(--zui-copy-button-gradient-purple-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-purple-to-hover-dark,#db2777)]";
26
+ readonly "gradient-teal": "bg-linear-to-r from-[var(--zui-copy-button-gradient-teal-from,#115e59)] dark:from-[var(--zui-copy-button-gradient-teal-from-dark,#0d9488)] to-[var(--zui-copy-button-gradient-teal-to,#155e75)] dark:to-[var(--zui-copy-button-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-copy-button-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-teal-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-teal-from-hover,#115e59)] dark:hover:from-[var(--zui-copy-button-gradient-teal-from-hover-dark,#0d9488)] hover:to-[var(--zui-copy-button-gradient-teal-to-hover,#155e75)] dark:hover:to-[var(--zui-copy-button-gradient-teal-to-hover-dark,#0891b2)]";
27
+ readonly "gradient-indigo": "bg-linear-to-r from-[var(--zui-copy-button-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-copy-button-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-copy-button-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-indigo-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-indigo-from-hover,#3730a3)] dark:hover:from-[var(--zui-copy-button-gradient-indigo-from-hover-dark,#4f46e5)] hover:to-[var(--zui-copy-button-gradient-indigo-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-indigo-to-hover-dark,#9333ea)]";
28
+ readonly "gradient-pink": "bg-linear-to-r from-[var(--zui-copy-button-gradient-pink-from,#9d174d)] dark:from-[var(--zui-copy-button-gradient-pink-from-dark,#db2777)] to-[var(--zui-copy-button-gradient-pink-to,#9f1239)] dark:to-[var(--zui-copy-button-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-copy-button-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-pink-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-pink-from-hover,#9d174d)] dark:hover:from-[var(--zui-copy-button-gradient-pink-from-hover-dark,#db2777)] hover:to-[var(--zui-copy-button-gradient-pink-to-hover,#9f1239)] dark:hover:to-[var(--zui-copy-button-gradient-pink-to-hover-dark,#e11d48)]";
29
+ readonly "gradient-orange": "bg-linear-to-r from-[var(--zui-copy-button-gradient-orange-from,#9a3412)] dark:from-[var(--zui-copy-button-gradient-orange-from-dark,#ea580c)] to-[var(--zui-copy-button-gradient-orange-to,#991b1b)] dark:to-[var(--zui-copy-button-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-copy-button-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-orange-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-orange-from-hover,#9a3412)] dark:hover:from-[var(--zui-copy-button-gradient-orange-from-hover-dark,#ea580c)] hover:to-[var(--zui-copy-button-gradient-orange-to-hover,#991b1b)] dark:hover:to-[var(--zui-copy-button-gradient-orange-to-hover-dark,#dc2626)]";
30
+ };
31
+ export type ZuiCopyButtonAppearance = keyof typeof zuiCopyButtonAppearances;
32
+ export declare const zuiCopyButtonSizes: {
33
+ readonly sm: "h-8 px-2.5 text-xs [&_svg]:size-3.5";
34
+ readonly md: "h-9 px-3 text-sm [&_svg]:size-4";
35
+ readonly lg: "h-11 px-4 text-base [&_svg]:size-5";
36
+ };
37
+ export type ZuiCopyButtonSize = keyof typeof zuiCopyButtonSizes;
38
+ export declare const zuiCopyButtonIconOnlySizes: {
39
+ readonly sm: "w-8 px-0";
40
+ readonly md: "w-9 px-0";
41
+ readonly lg: "w-11 px-0";
42
+ };
43
+ //# sourceMappingURL=copy-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.d.ts","sourceRoot":"","sources":["../../src/design-system/copy-button.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,ikBAOpB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAE5E,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEhE,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC"}
@@ -9,6 +9,7 @@ export * from "./card";
9
9
  export * from "./checkbox";
10
10
  export * from "./command";
11
11
  export * from "./context-menu";
12
+ export * from "./copy-button";
12
13
  export * from "./divider";
13
14
  export * from "./drawer";
14
15
  export * from "./dropdown";
@@ -16,6 +17,7 @@ export * from "./dynamic-stepper";
16
17
  export * from "./empty-state";
17
18
  export * from "./file-upload";
18
19
  export * from "./inputs";
20
+ export * from "./kbd";
19
21
  export * from "./marquee";
20
22
  export * from "./modal";
21
23
  export * from "./otp-input";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/design-system/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/design-system/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}