@nayhoo/ui 0.12.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/{button.css-CxDH431y.d.mts → button.css-BLr4KDtC.d.mts} +3 -0
  2. package/dist/{button.css-CxDH431y.d.ts → button.css-BLr4KDtC.d.ts} +3 -0
  3. package/dist/chunk-4A7WL3BM.mjs +12 -0
  4. package/dist/chunk-4A7WL3BM.mjs.map +1 -0
  5. package/dist/{chunk-HNOMBFLC.mjs → chunk-67WEB6LY.mjs} +8 -5
  6. package/dist/chunk-67WEB6LY.mjs.map +1 -0
  7. package/dist/{chunk-C53FYO65.mjs → chunk-FQX4V5DP.mjs} +8 -5
  8. package/dist/chunk-FQX4V5DP.mjs.map +1 -0
  9. package/dist/chunk-HGLO5LDS.mjs +1 -0
  10. package/dist/{chunk-OCXG5SMA.mjs → chunk-KYAQZHQ5.mjs} +8 -5
  11. package/dist/chunk-KYAQZHQ5.mjs.map +1 -0
  12. package/dist/{chunk-WPNBONR3.mjs → chunk-LSB5JVS2.mjs} +1 -1
  13. package/dist/chunk-LSB5JVS2.mjs.map +1 -0
  14. package/dist/{chunk-YJWLCDJE.mjs → chunk-M7HASIMW.mjs} +8 -5
  15. package/dist/chunk-M7HASIMW.mjs.map +1 -0
  16. package/dist/{chunk-OKNO3BFR.mjs → chunk-OZ2DHFQP.mjs} +12 -9
  17. package/dist/chunk-OZ2DHFQP.mjs.map +1 -0
  18. package/dist/{chunk-REMVSAGR.mjs → chunk-P2VEMZGS.mjs} +6 -2
  19. package/dist/chunk-P2VEMZGS.mjs.map +1 -0
  20. package/dist/chunk-UPZYS6TE.mjs +31 -0
  21. package/dist/chunk-UPZYS6TE.mjs.map +1 -0
  22. package/dist/{chunk-5VVYRZDU.mjs → chunk-ZSB4NTM3.mjs} +13 -10
  23. package/dist/chunk-ZSB4NTM3.mjs.map +1 -0
  24. package/dist/components/avatar.d.mts +1 -1
  25. package/dist/components/avatar.d.ts +1 -1
  26. package/dist/components/avatar.js +34 -9
  27. package/dist/components/avatar.js.map +1 -1
  28. package/dist/components/avatar.mjs +19 -15
  29. package/dist/components/avatar.mjs.map +1 -1
  30. package/dist/components/badge.d.mts +1 -1
  31. package/dist/components/badge.d.ts +1 -1
  32. package/dist/components/badge.js +24 -5
  33. package/dist/components/badge.js.map +1 -1
  34. package/dist/components/badge.mjs +7 -4
  35. package/dist/components/badge.mjs.map +1 -1
  36. package/dist/components/box.d.mts +1 -1
  37. package/dist/components/box.d.ts +1 -1
  38. package/dist/components/box.js.map +1 -1
  39. package/dist/components/box.mjs +1 -1
  40. package/dist/components/button.css +54 -48
  41. package/dist/components/button.css.map +1 -1
  42. package/dist/components/button.d.mts +1 -1
  43. package/dist/components/button.d.ts +1 -1
  44. package/dist/components/button.js +33 -11
  45. package/dist/components/button.js.map +1 -1
  46. package/dist/components/button.mjs +4 -4
  47. package/dist/components/card.d.mts +1 -1
  48. package/dist/components/card.d.ts +1 -1
  49. package/dist/components/card.js.map +1 -1
  50. package/dist/components/card.mjs.map +1 -1
  51. package/dist/components/checkbox.d.mts +1 -1
  52. package/dist/components/checkbox.d.ts +1 -1
  53. package/dist/components/checkbox.js +26 -6
  54. package/dist/components/checkbox.js.map +1 -1
  55. package/dist/components/checkbox.mjs +9 -5
  56. package/dist/components/checkbox.mjs.map +1 -1
  57. package/dist/components/container.d.mts +1 -1
  58. package/dist/components/container.d.ts +1 -1
  59. package/dist/components/container.js +24 -5
  60. package/dist/components/container.js.map +1 -1
  61. package/dist/components/container.mjs +7 -4
  62. package/dist/components/container.mjs.map +1 -1
  63. package/dist/components/dropdown-menu.d.mts +5 -1
  64. package/dist/components/dropdown-menu.d.ts +5 -1
  65. package/dist/components/dropdown-menu.js +21 -2
  66. package/dist/components/dropdown-menu.js.map +1 -1
  67. package/dist/components/dropdown-menu.mjs +3 -3
  68. package/dist/components/dropdown-menu.mjs.map +1 -1
  69. package/dist/components/flex.d.mts +1 -1
  70. package/dist/components/flex.d.ts +1 -1
  71. package/dist/components/flex.js +24 -5
  72. package/dist/components/flex.js.map +1 -1
  73. package/dist/components/flex.mjs +2 -2
  74. package/dist/components/form.d.mts +4 -1
  75. package/dist/components/form.d.ts +4 -1
  76. package/dist/components/form.js +26 -7
  77. package/dist/components/form.js.map +1 -1
  78. package/dist/components/form.mjs +9 -6
  79. package/dist/components/form.mjs.map +1 -1
  80. package/dist/components/grid.d.mts +1 -1
  81. package/dist/components/grid.d.ts +1 -1
  82. package/dist/components/grid.js +24 -5
  83. package/dist/components/grid.js.map +1 -1
  84. package/dist/components/grid.mjs +7 -4
  85. package/dist/components/grid.mjs.map +1 -1
  86. package/dist/components/icon-button.d.mts +1 -1
  87. package/dist/components/icon-button.d.ts +1 -1
  88. package/dist/components/icon-button.js +32 -10
  89. package/dist/components/icon-button.js.map +1 -1
  90. package/dist/components/icon-button.mjs +3 -3
  91. package/dist/components/label.d.mts +1 -1
  92. package/dist/components/label.d.ts +1 -1
  93. package/dist/components/label.js.map +1 -1
  94. package/dist/components/label.mjs.map +1 -1
  95. package/dist/components/link.d.mts +1 -1
  96. package/dist/components/link.d.ts +1 -1
  97. package/dist/components/link.js +24 -5
  98. package/dist/components/link.js.map +1 -1
  99. package/dist/components/link.mjs +7 -4
  100. package/dist/components/link.mjs.map +1 -1
  101. package/dist/components/menu.d.mts +3 -1
  102. package/dist/components/menu.d.ts +3 -1
  103. package/dist/components/menu.js +21 -2
  104. package/dist/components/menu.js.map +1 -1
  105. package/dist/components/menu.mjs +3 -3
  106. package/dist/components/menu.mjs.map +1 -1
  107. package/dist/components/panel.d.mts +1 -1
  108. package/dist/components/panel.d.ts +1 -1
  109. package/dist/components/panel.js.map +1 -1
  110. package/dist/components/panel.mjs.map +1 -1
  111. package/dist/components/paragraph.d.mts +1 -1
  112. package/dist/components/paragraph.d.ts +1 -1
  113. package/dist/components/paragraph.js.map +1 -1
  114. package/dist/components/paragraph.mjs.map +1 -1
  115. package/dist/components/popover.d.mts +4 -1
  116. package/dist/components/popover.d.ts +4 -1
  117. package/dist/components/popover.js.map +1 -1
  118. package/dist/components/popover.mjs +2 -2
  119. package/dist/components/popover.mjs.map +1 -1
  120. package/dist/components/select.css +54 -48
  121. package/dist/components/select.css.map +1 -1
  122. package/dist/components/select.d.mts +4 -2
  123. package/dist/components/select.d.ts +4 -2
  124. package/dist/components/select.js +30 -8
  125. package/dist/components/select.js.map +1 -1
  126. package/dist/components/select.mjs +4 -4
  127. package/dist/components/select.mjs.map +1 -1
  128. package/dist/components/separator.d.mts +1 -1
  129. package/dist/components/separator.d.ts +1 -1
  130. package/dist/components/separator.js.map +1 -1
  131. package/dist/components/separator.mjs.map +1 -1
  132. package/dist/components/skeleton.d.mts +1 -1
  133. package/dist/components/skeleton.d.ts +1 -1
  134. package/dist/components/skeleton.js +24 -5
  135. package/dist/components/skeleton.js.map +1 -1
  136. package/dist/components/skeleton.mjs +7 -4
  137. package/dist/components/skeleton.mjs.map +1 -1
  138. package/dist/components/spinner.d.mts +1 -1
  139. package/dist/components/spinner.d.ts +1 -1
  140. package/dist/components/spinner.js +24 -5
  141. package/dist/components/spinner.js.map +1 -1
  142. package/dist/components/spinner.mjs +2 -2
  143. package/dist/components/status.d.mts +1 -1
  144. package/dist/components/status.d.ts +1 -1
  145. package/dist/components/status.js +24 -5
  146. package/dist/components/status.js.map +1 -1
  147. package/dist/components/status.mjs +2 -2
  148. package/dist/components/switch.d.mts +1 -1
  149. package/dist/components/switch.d.ts +1 -1
  150. package/dist/components/switch.js +31 -9
  151. package/dist/components/switch.js.map +1 -1
  152. package/dist/components/switch.mjs +14 -8
  153. package/dist/components/switch.mjs.map +1 -1
  154. package/dist/components/text-field.d.mts +1 -1
  155. package/dist/components/text-field.d.ts +1 -1
  156. package/dist/components/text-field.js +24 -5
  157. package/dist/components/text-field.js.map +1 -1
  158. package/dist/components/text-field.mjs +7 -4
  159. package/dist/components/text-field.mjs.map +1 -1
  160. package/dist/components/text.d.mts +1 -1
  161. package/dist/components/text.d.ts +1 -1
  162. package/dist/components/text.js +24 -5
  163. package/dist/components/text.js.map +1 -1
  164. package/dist/components/text.mjs +2 -2
  165. package/dist/components/tooltip.d.mts +1 -1
  166. package/dist/components/tooltip.d.ts +1 -1
  167. package/dist/components/tooltip.js +28 -6
  168. package/dist/components/tooltip.js.map +1 -1
  169. package/dist/components/tooltip.mjs +11 -8
  170. package/dist/components/tooltip.mjs.map +1 -1
  171. package/dist/providers/index.css +54 -48
  172. package/dist/providers/index.css.map +1 -1
  173. package/dist/providers/index.d.mts +1 -4
  174. package/dist/providers/index.d.ts +1 -4
  175. package/dist/providers/index.js +46 -18
  176. package/dist/providers/index.js.map +1 -1
  177. package/dist/providers/index.mjs +6 -6
  178. package/dist/system-theme-BSCk6DG2.d.mts +5 -0
  179. package/dist/system-theme-BSCk6DG2.d.ts +5 -0
  180. package/dist/theme/index.css +189 -173
  181. package/dist/theme/index.css.map +1 -1
  182. package/dist/theme/index.d.mts +4 -2
  183. package/dist/theme/index.d.ts +4 -2
  184. package/dist/theme/index.js +6 -1
  185. package/dist/theme/index.js.map +1 -1
  186. package/dist/theme/index.mjs +4 -2
  187. package/dist/theme/index.mjs.map +1 -1
  188. package/dist/types/index.d.mts +2 -0
  189. package/dist/types/index.d.ts +2 -0
  190. package/dist/types/index.js +19 -0
  191. package/dist/types/index.js.map +1 -0
  192. package/dist/types/index.mjs +1 -0
  193. package/dist/types/index.mjs.map +1 -0
  194. package/dist/utils/index.d.mts +11 -1
  195. package/dist/utils/index.d.ts +11 -1
  196. package/dist/utils/index.js +23 -3
  197. package/dist/utils/index.js.map +1 -1
  198. package/dist/utils/index.mjs +6 -2
  199. package/package.json +5 -1
  200. package/dist/chunk-4N6P3Y54.mjs +0 -13
  201. package/dist/chunk-4N6P3Y54.mjs.map +0 -1
  202. package/dist/chunk-5VVYRZDU.mjs.map +0 -1
  203. package/dist/chunk-66WXCRN4.mjs +0 -12
  204. package/dist/chunk-66WXCRN4.mjs.map +0 -1
  205. package/dist/chunk-C53FYO65.mjs.map +0 -1
  206. package/dist/chunk-CYDWEPFL.mjs +0 -1
  207. package/dist/chunk-HNOMBFLC.mjs.map +0 -1
  208. package/dist/chunk-OCXG5SMA.mjs.map +0 -1
  209. package/dist/chunk-OKNO3BFR.mjs.map +0 -1
  210. package/dist/chunk-REMVSAGR.mjs.map +0 -1
  211. package/dist/chunk-WPNBONR3.mjs.map +0 -1
  212. package/dist/chunk-YJWLCDJE.mjs.map +0 -1
  213. /package/dist/{chunk-CYDWEPFL.mjs.map → chunk-HGLO5LDS.mjs.map} +0 -0
@@ -28,9 +28,13 @@ module.exports = __toCommonJS(button_exports);
28
28
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
29
29
  var spinnerRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "spinner_spinnerRecipe__15xzcy90", variantClassNames: { size: { "1": "spinner_spinnerRecipe_size_1__15xzcy91", "2": "spinner_spinnerRecipe_size_2__15xzcy92", "3": "spinner_spinnerRecipe_size_3__15xzcy93", "4": "spinner_spinnerRecipe_size_4__15xzcy94", "5": "spinner_spinnerRecipe_size_5__15xzcy95", "6": "spinner_spinnerRecipe_size_6__15xzcy96", "7": "spinner_spinnerRecipe_size_7__15xzcy97", "8": "spinner_spinnerRecipe_size_8__15xzcy98", "9": "spinner_spinnerRecipe_size_9__15xzcy99" } }, defaultVariants: { size: "3" }, compoundVariants: [] });
30
30
 
31
- // src/utils/merge-classes.ts
32
- function mergeClasses(...classes) {
33
- return classes.filter((cls) => Boolean(cls)).join(" ");
31
+ // src/utils/omit.ts
32
+ function omit(obj, ...keys) {
33
+ const ret = { ...obj };
34
+ keys.forEach((key) => {
35
+ delete ret[key];
36
+ });
37
+ return ret;
34
38
  }
35
39
 
36
40
  // src/utils/pick.ts
@@ -42,21 +46,36 @@ function pick(obj, ...keys) {
42
46
  return ret;
43
47
  }
44
48
 
49
+ // src/utils/extract-variants.ts
50
+ function extractVariantsFromProps(obj, ...keys) {
51
+ const variants = pick(obj, ...keys);
52
+ const rest = omit(obj, ...keys);
53
+ return [variants, rest];
54
+ }
55
+
56
+ // src/utils/merge-classes.ts
57
+ function mergeClasses(...classes) {
58
+ return classes.filter((cls) => Boolean(cls)).join(" ");
59
+ }
60
+
45
61
  // src/components/spinner.tsx
46
62
  var import_react_slot = require("@radix-ui/react-slot");
47
63
  var import_jsx_runtime = require("react/jsx-runtime");
48
64
  var defaultElement = "div";
49
65
  var Spinner = ({ asChild, ...props }) => {
50
- const variants = pick(props, ...spinnerRecipe.variants());
66
+ const [variants, rest] = extractVariantsFromProps(
67
+ props,
68
+ ...spinnerRecipe.variants()
69
+ );
51
70
  const spinner = spinnerRecipe(variants);
52
71
  const Comp = asChild ? import_react_slot.Slot : defaultElement;
53
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: mergeClasses(spinner, props.className), children: props.children });
72
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...rest, className: mergeClasses(spinner, rest.className), children: rest.children });
54
73
  };
55
74
 
56
75
  // src/theme/recipes/button.css.ts
57
76
  var import_createRuntimeFn2 = require("homemade-recipes/createRuntimeFn");
58
77
  var buttonRecipe = (0, import_createRuntimeFn2.createRuntimeFn)(function() {
59
- var x = { defaultClassName: "button__hi3ya00", variantClassNames: { fullWidth: { true: "button_fullWidth_true__hi3ya01" }, loading: { true: "button_loading_true__hi3ya02" }, size: { "1": "button_size_1__hi3ya03", "2": "button_size_2__hi3ya04", "3": "button_size_3__hi3ya05" }, variant: { primary: "button_variant_primary__hi3ya06", secondary: "button_variant_secondary__hi3ya07", outline: "button_variant_outline__hi3ya08", ghost: "button_variant_ghost__hi3ya09", error: "button_variant_error__hi3ya0a", success: "button_variant_success__hi3ya0b" }, round: { true: "button_round_true__hi3ya0c" } }, defaultVariants: { size: "2", variant: "primary" }, compoundVariants: [], responsiveVariantClassNames: { initial: void 0, sm: { fullWidth: { true: "button_fullWidth_sm_true__hi3ya0d" }, loading: { true: "button_loading_sm_true__hi3ya0e" }, size: { "1": "button_size_sm_1__hi3ya0f", "2": "button_size_sm_2__hi3ya0g", "3": "button_size_sm_3__hi3ya0h" }, variant: { primary: "button_variant_sm_primary__hi3ya0i", secondary: "button_variant_sm_secondary__hi3ya0j", outline: "button_variant_sm_outline__hi3ya0k", ghost: "button_variant_sm_ghost__hi3ya0l", error: "button_variant_sm_error__hi3ya0m", success: "button_variant_sm_success__hi3ya0n" }, round: { true: "button_round_sm_true__hi3ya0o" } } }, conditionNames: ["sm"], conditions: { xs: "520px", sm: "768px", md: "1024px", lg: "1280px", xl: "1640px" }, identifier: "homemade-recipe__lb053z0", cssCache: [] };
78
+ var x = { defaultClassName: "button__hi3ya00", variantClassNames: { fullWidth: { true: "button_fullWidth_true__hi3ya01", false: "button_fullWidth_false__hi3ya02" }, loading: { true: "button_loading_true__hi3ya03" }, size: { "1": "button_size_1__hi3ya04", "2": "button_size_2__hi3ya05", "3": "button_size_3__hi3ya06" }, variant: { primary: "button_variant_primary__hi3ya07", secondary: "button_variant_secondary__hi3ya08", outline: "button_variant_outline__hi3ya09", ghost: "button_variant_ghost__hi3ya0a", error: "button_variant_error__hi3ya0b", success: "button_variant_success__hi3ya0c" }, round: { true: "button_round_true__hi3ya0d" } }, defaultVariants: { size: "2", variant: "primary" }, compoundVariants: [], responsiveVariantClassNames: { initial: void 0, sm: { fullWidth: { true: "button_fullWidth_sm_true__hi3ya0e", false: "button_fullWidth_sm_false__hi3ya0f" }, loading: { true: "button_loading_sm_true__hi3ya0g" }, size: { "1": "button_size_sm_1__hi3ya0h", "2": "button_size_sm_2__hi3ya0i", "3": "button_size_sm_3__hi3ya0j" }, variant: { primary: "button_variant_sm_primary__hi3ya0k", secondary: "button_variant_sm_secondary__hi3ya0l", outline: "button_variant_sm_outline__hi3ya0m", ghost: "button_variant_sm_ghost__hi3ya0n", error: "button_variant_sm_error__hi3ya0o", success: "button_variant_sm_success__hi3ya0p" }, round: { true: "button_round_sm_true__hi3ya0q" } } }, conditionNames: ["sm"], conditions: { xs: "520px", sm: "768px", md: "1024px", lg: "1280px", xl: "1640px" }, identifier: "homemade-recipe__lb053z0", cssCache: [] };
60
79
  x.responsiveVariantClassNames.initial = x.variantClassNames;
61
80
  return x;
62
81
  }());
@@ -66,17 +85,20 @@ var import_react_slot2 = require("@radix-ui/react-slot");
66
85
  var import_jsx_runtime2 = require("react/jsx-runtime");
67
86
  var defaultElement2 = "button";
68
87
  var Button = ({ asChild, ...props }) => {
69
- const variants = pick(props, ...buttonRecipe.variants());
88
+ const [variants, rest] = extractVariantsFromProps(
89
+ props,
90
+ ...buttonRecipe.variants()
91
+ );
70
92
  const button = buttonRecipe(variants);
71
93
  const Comp = asChild ? import_react_slot2.Slot : defaultElement2;
72
94
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
73
95
  Comp,
74
96
  {
75
- ...props,
76
- className: mergeClasses(button, props.className),
77
- disabled: props.disabled || Boolean(variants.loading),
97
+ ...rest,
98
+ className: mergeClasses(button, rest.className),
99
+ disabled: rest.disabled || Boolean(variants.loading),
78
100
  children: [
79
- props.children,
101
+ rest.children,
80
102
  variants.loading && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Spinner, { style: { position: "absolute" } })
81
103
  ]
82
104
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/button.tsx","../../src/theme/recipes/spinner.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts","../../src/components/spinner.tsx","../../src/theme/recipes/button.css.ts"],"sourcesContent":["import { Spinner } from \"@/components/spinner\";\nimport { ButtonVariants, buttonRecipe } from \"@/theme/recipes/button.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"button\";\n\nexport type ButtonProps = ComponentProps<typeof defaultElement, ButtonVariants>;\n\nexport const Button = ({ asChild, ...props }: ButtonProps) => {\n const variants = pick(props, ...buttonRecipe.variants());\n const button = buttonRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp\n {...props}\n className={mergeClasses(button, props.className)}\n disabled={props.disabled || Boolean(variants.loading)}\n >\n {props.children}\n {variants.loading && <Spinner style={{ position: \"absolute\" }} />}\n </Comp>\n );\n};\n","import 'src/theme/animations/spin.css.ts.vanilla.css?source=QGtleWZyYW1lcyBzcGluX3NwaW5fXzkxZzI5NTAgewogIHRvIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9';\nimport 'src/theme/recipes/spinner.css.ts.vanilla.css?source=#H4sIAAAAAAAAA33P327CIBTH8fs+BZfbRY30jxa93BvsBQgtWE9SoQHc1MV3X+ocI2SHGxuT7/l9wsrNoLWy/Pl9VwPMinPaXm7Dla3JV0GI0HASHozekSV7tJwzOlasXZNV58gEWglLQB9Ag1f7gpDeWKnsjtD5QpyZQJIPYV/KcjCTsa50k/Dq57fhnDLdq07S6/T6d1taIeHsds/D5R+U1py1DAfVqOMDb+YYHM7WKu3fFnFf3IvV/491cFOchjfTx5uPCsaj/7WXxJU0cruH+wnSH/NRnq0CW6FsFS0yjE2jPFsHtkbZOloUGJtGebYJbIOyTbTYY2wa5dk2sC3KttHigLFplGc3gd2g7CZalBibRnl2G9gtym6jRYWxaZRnu8B2KNtFiweMTaM8ywLLUJZFiyPGptH9G0PpMC4bBQAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinnerRecipe = _7a468({defaultClassName:'spinner_spinnerRecipe__15xzcy90',variantClassNames:{size:{'1':'spinner_spinnerRecipe_size_1__15xzcy91','2':'spinner_spinnerRecipe_size_2__15xzcy92','3':'spinner_spinnerRecipe_size_3__15xzcy93','4':'spinner_spinnerRecipe_size_4__15xzcy94','5':'spinner_spinnerRecipe_size_5__15xzcy95','6':'spinner_spinnerRecipe_size_6__15xzcy96','7':'spinner_spinnerRecipe_size_7__15xzcy97','8':'spinner_spinnerRecipe_size_8__15xzcy98','9':'spinner_spinnerRecipe_size_9__15xzcy99'}},defaultVariants:{size:'3'},compoundVariants:[]});","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n","/**\n * https://stackoverflow.com/a/47232883\n */\nexport function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret: any = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n\n return ret;\n}\n","import { SpinnerVariants, spinnerRecipe } from \"@/theme/recipes/spinner.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\ntype SpinnerProps = ComponentProps<typeof defaultElement, SpinnerVariants>;\n\nexport const Spinner = ({ asChild, ...props }: SpinnerProps) => {\n const variants = pick(props, ...spinnerRecipe.variants());\n const spinner = spinnerRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(spinner, props.className)}>\n {props.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA71XTW+kOBC9z69gDyMl0nrU3cnkg73saC5zn8McW8YU4ARsZJv+yCr/fWUDjaFpsEkraqlJO1X1ivdMmfctqpTibLvN6N0Rr1bBf1+CAOd5GFRMgvrH/KIpQ1RBIcOAAFMg9HLED0jSN8rSMIi4iEGgiB/0fyoJAknIgagwYJyBXoypLHN8DAPKcsoAJTmYYH1FMhOUvYbBSq+8VFLR5IgIZwqYsjHRHqJXqpDCJcpomuU0zRQiPOciDEQa4ZvV3+Zza0pzplCCC5ofw2CHxQ1CekkiBQe13a6fWQRP8SahXfQedEU7+o9ZkaiAmFaFlcW7rB0WFDOFWFWAoCQMFI6qHAu9IHWUEphJqihnoSY3WK9W+h/vX74N6A/DCBIuwMhwieGxNJwoEL5ZGd81SaQSUnNYclpzPRIdU4mjHOIaBZPXVPCKxS39NWXmh0Qyxwrq782Js/Xx5fa0czIc873eDRJUsDKfdXkYqfKjuTx2dd5qfWeAnyzgsk5o7pJxhXCe8z3Eerm5aQQ7YEq2W7ZjIKny/A+NVbZVooKWkLXhYa/XQy3oVzsl5zimLO0lbGqm66bNjiixAKaCv2hRcqEwU3YJSd9gu26T7xptjZ4Cx7SS7Z3rXxStu62ZZuZus95e1uUk+m5FERNV4lh3inJIutgSE0CWcL1I0Ss7GmqeCo1oP0m/TQddn88m1AwDl1YHzGxaZu7nmNlYhehFZh6sqHiGmbsudo6ZYegEM11odIkZvfSrGUhWw8nunJ+7lp/v1+Hn0YqCGX7uT7F3c/wMQyf46ULJ9M4Zttox0wzqbSlogcWxpehhcqRJKDBTlPysJ0yT2167rjYkPx9L08lr66kl0qlVa2gva9h6rkjhBomJojv4AKa1VwkbxZRAOIst1EcfuFN295elSzNpPAvY2sSpY9P+6owgWwrF2BXYX6MRZEsnM4TOkXml9HPX4j5dALSON7cTf9BbjXGab+NP8bAXf/KtNn/pXAsycYP0p93C/GGSLdDxbZZmXKoW8tmF8bkan8DUAPAzeAIhuGghsQ+Wyay/7blxmJ0bVqI9L+DeoUF/ESw0e0YcXcD8BbDQ7LnwNj6RKkJAyhYv8hpEdW57tRSA+RN1kNxTYfxEHba6YGb3MS0tYPxEPYNcMK37mJYi0D9RTame8SBzb4Da4FjvTNzU+1c7XhxIIgBYgFkc3BSUocbwPD48lYdbU/jcJsmih187xoFXCoJ3K7f1S4NMaDJnTFO/lnn9lUXnnZKmipd7cvVPPg7Ky0N5uSgPHzVO1slOpfNknRsGV0vlY6q8bJWXsfK2VuOUnRxWdj3Kzl2Wj8/yclpeXsvDbfXJOk3AYmgraMvalWzXx4yXc9fWaXEtB+aObR0b17JiF8HPPMaLH66TJ/u4K/Pof4l0DvbMp4MlAjr4tIstDPzK60XkgWG7jmVzbmuJMjOOxB17iSZz5uQies8W5a5yOBX7TBIHyJ9KYc/YFH6gk0ZvudVz7HWJQhOezxV1iToT5u/yvOu7HOY55uZc4Md8oHPXi06JaUPojr3ofJh2hn3w2h0ObBaff4EdsYi68Pv/bTN6ukAeAAA=';\nimport { createRuntimeFn as _dc746 } from 'homemade-recipes/createRuntimeFn';\nexport var buttonRecipe = _dc746((function(){var x={defaultClassName:'button__hi3ya00',variantClassNames:{fullWidth:{true:'button_fullWidth_true__hi3ya01'},loading:{true:'button_loading_true__hi3ya02'},size:{'1':'button_size_1__hi3ya03','2':'button_size_2__hi3ya04','3':'button_size_3__hi3ya05'},variant:{primary:'button_variant_primary__hi3ya06',secondary:'button_variant_secondary__hi3ya07',outline:'button_variant_outline__hi3ya08',ghost:'button_variant_ghost__hi3ya09',error:'button_variant_error__hi3ya0a',success:'button_variant_success__hi3ya0b'},round:{true:'button_round_true__hi3ya0c'}},defaultVariants:{size:'2',variant:'primary'},compoundVariants:[],responsiveVariantClassNames:{initial:undefined,sm:{fullWidth:{true:'button_fullWidth_sm_true__hi3ya0d'},loading:{true:'button_loading_sm_true__hi3ya0e'},size:{'1':'button_size_sm_1__hi3ya0f','2':'button_size_sm_2__hi3ya0g','3':'button_size_sm_3__hi3ya0h'},variant:{primary:'button_variant_sm_primary__hi3ya0i',secondary:'button_variant_sm_secondary__hi3ya0j',outline:'button_variant_sm_outline__hi3ya0k',ghost:'button_variant_sm_ghost__hi3ya0l',error:'button_variant_sm_error__hi3ya0m',success:'button_variant_sm_success__hi3ya0n'},round:{true:'button_round_sm_true__hi3ya0o'}}},conditionNames:['sm'],conditions:{xs:'520px',sm:'768px',md:'1024px',lg:'1280px',xl:'1640px'},identifier:'homemade-recipe__lb053z0',cssCache:[]};x.responsiveVariantClassNames.initial=x.variantClassNames;return x;}()));"],"mappings":"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","names":["_7a468","import_createRuntimeFn","_dc746","import_react_slot","import_jsx_runtime","defaultElement"]}
1
+ {"version":3,"sources":["../../src/components/button.tsx","../../src/theme/recipes/spinner.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/extract-variants.ts","../../src/utils/merge-classes.ts","../../src/components/spinner.tsx","../../src/theme/recipes/button.css.ts"],"sourcesContent":["import { Spinner } from \"@/components/spinner\";\nimport { ButtonVariants, buttonRecipe } from \"@/theme/recipes/button.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/extract-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"button\";\n\nexport type ButtonProps = ComponentProps<typeof defaultElement, ButtonVariants>;\n\nexport const Button = ({ asChild, ...props }: ButtonProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...buttonRecipe.variants(),\n );\n const button = buttonRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp\n {...rest}\n className={mergeClasses(button, rest.className)}\n disabled={rest.disabled || Boolean(variants.loading)}\n >\n {rest.children}\n {variants.loading && <Spinner style={{ position: \"absolute\" }} />}\n </Comp>\n );\n};\n","import 'src/theme/animations/spin.css.ts.vanilla.css?source=QGtleWZyYW1lcyBzcGluX3NwaW5fXzkxZzI5NTAgewogIHRvIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9';\nimport 'src/theme/recipes/spinner.css.ts.vanilla.css?source=#H4sIAAAAAAAAA33P327CIBTH8fs+BZfbRY30jxa93BvsBQgtWE9SoQHc1MV3X+ocI2SHGxuT7/l9wsrNoLWy/Pl9VwPMinPaXm7Dla3JV0GI0HASHozekSV7tJwzOlasXZNV58gEWglLQB9Ag1f7gpDeWKnsjtD5QpyZQJIPYV/KcjCTsa50k/Dq57fhnDLdq07S6/T6d1taIeHsds/D5R+U1py1DAfVqOMDb+YYHM7WKu3fFnFf3IvV/491cFOchjfTx5uPCsaj/7WXxJU0cruH+wnSH/NRnq0CW6FsFS0yjE2jPFsHtkbZOloUGJtGebYJbIOyTbTYY2wa5dk2sC3KttHigLFplGc3gd2g7CZalBibRnl2G9gtym6jRYWxaZRnu8B2KNtFiweMTaM8ywLLUJZFiyPGptH9G0PpMC4bBQAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinnerRecipe = _7a468({defaultClassName:'spinner_spinnerRecipe__15xzcy90',variantClassNames:{size:{'1':'spinner_spinnerRecipe_size_1__15xzcy91','2':'spinner_spinnerRecipe_size_2__15xzcy92','3':'spinner_spinnerRecipe_size_3__15xzcy93','4':'spinner_spinnerRecipe_size_4__15xzcy94','5':'spinner_spinnerRecipe_size_5__15xzcy95','6':'spinner_spinnerRecipe_size_6__15xzcy96','7':'spinner_spinnerRecipe_size_7__15xzcy97','8':'spinner_spinnerRecipe_size_8__15xzcy98','9':'spinner_spinnerRecipe_size_9__15xzcy99'}},defaultVariants:{size:'3'},compoundVariants:[]});","export function omit<T, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\n const ret = { ...obj };\n keys.forEach((key) => {\n delete ret[key];\n });\n\n return ret;\n}\n","/**\n * https://stackoverflow.com/a/47232883\n */\nexport function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret: any = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n\n return ret;\n}\n","import { omit } from \"./omit\";\nimport { pick } from \"./pick\";\n\n/**\n * TODO\n * @param obj\n * @param keys\n * @returns [variants, props]\n */\nexport function extractVariantsFromProps<T, K extends keyof T>(\n obj: T,\n ...keys: K[]\n): [Pick<T, K>, Omit<T, K>] {\n const variants = pick(obj, ...keys);\n const rest = omit(obj, ...keys);\n\n return [variants, rest];\n}\n","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n","import { SpinnerVariants, spinnerRecipe } from \"@/theme/recipes/spinner.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/extract-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type SpinnerProps = ComponentProps<\n typeof defaultElement,\n SpinnerVariants\n>;\n\nexport const Spinner = ({ asChild, ...props }: SpinnerProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...spinnerRecipe.variants(),\n );\n const spinner = spinnerRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(spinner, rest.className)}>\n {rest.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA71YTW/jNhC9769QDwUSoFzYzm4+1EsXvey9hz0aFDWSmFCkSlKOnSL/vSAlWZQsW6RiBAasiJ6ZN3ozHOrla1JrLfh2W9C7A16tov++RBFmLI5qrkD/ae9ozhHVUKo4IsA1SLOciD1S9I3yPI4SIVOQKBF780utQCIFDIiOIy44mMWUqorhQxxRzigHlDGwxuaKVCEpf4mjlVl5rpWm2QERwTVw7WKiV0heqEYaV6igecFoXmhEBBMyjmSe4JvVH/Zza0MLrlGGS8oOcbTD8gYhs6SQhr3ebtdPPIHHdJPR3voVTETX+pddUaiElNal4yV6rx2WFHONeF2CpCSONE5qhqVZUMZKS8wV1VTw2JAbrVcr88P7l68j+uM4gUxIsGU4x/CUG840yFCvQuxaJ1JLZTisBG24nrBOqcIJg7RBweQll6LmaUd/Q5m9UUgxrKH53hw5Wx+eb4+dU+BUvJpuUKCjlf2sq/1ElB/t5aGP89bUdwb40QGuGof2KbnQCDMmXiE1y+1DI9gB16pr2Z6BrGbsF011sdWyho6QteXh1azHpqC/T7tkmKmjz8b1aTdY78QETinPByh3TXmaJ7VtVGEJXEe/0bISUmM+CKHoG2zXnfO3tiFsE0ic0lp1dJk7itZ9P+eFpagYbAATTqHvjhWxVhVOTaaIQdbbVpgAcqo9sJSDsJOmdisZRHf7/WMz6PN8sqZ2gvikOmJm0zHzfY6ZjROInmXm3rFKZ5i5623nmBmbXmCmN03OMWOWfrZTzEk4253yc9fxc38dfh4cK5jh59vR9m6On7HpBX56U3K5c8ap9sy0031bSVpieegoerg4BxWUmGtK/m7GUuvbXfusNoSdzrLLzmtn1xLllaoz6Zcl7OwrUvpBYqLpDj6A6fQq4ZOYCojgqYP6GAJ39O7/curSTprAAG5t0twz6fDqTCA7FUqxL3B4jSaQnTrZIXSKLGpt9l2H+3QG0Dne/F4TRrk1GMf5Nr2Lx7mEk++k+dP4OpCZH2Q47Q7mD+vsgE63WV4IpTtI7MP4XIxPYGoE+Bk8gZRCdpBJCJb1bL7dubGfnRuOozsv4JtHguFFcNDcGXHwAQsvgIPmzoW36YlUEwJKdXgkaBA1vt3VqQDMn6gj50EVpk/UcaoLZvYQ06kFTJ+oJ5ALpvUQ06kIDE9UG2ogPNK5N0AjcZx3JmHj/WVkMo4UkQA8wjyNbkrKUat4Hu4fq/2tDXwqlFQ5wG+ecySwouj9nO9AZ2VD5+O/MlzvTm2NcPPWdUZyDWPZl2dV9sqraKMEaS9f9RWiv4IUWJAGC1Bh02QdxRidJ+tUbvgKshBJFiTKgmRZsDCbpuyoz56vR9mpRgtRaUE6LUipBWi1IVnH+VmORclLx9qVRNvHZJt31s5Zcy395o/tHDrXEnJnwU8UCgvD9VJ0H9d0AfkvKZ2HuAvJYEkBPVTe2RRGaqc8izySe9cRfN5pLanMjJ7xx15SkzlpcxZ9IKq4bzm8gn0miSPkT6VwIItEGOhFmbhcKHrmuqRCFxSjL+qS6lyQjufn3VAjVYFjbk5DfkxFeme96JS4LCf9sRedD5d15RC80ZYjmfXv/AvshMA0gd//B6jO1lmzHgAA';\nimport { createRuntimeFn as _dc746 } from 'homemade-recipes/createRuntimeFn';\nexport var buttonRecipe = _dc746((function(){var x={defaultClassName:'button__hi3ya00',variantClassNames:{fullWidth:{true:'button_fullWidth_true__hi3ya01',false:'button_fullWidth_false__hi3ya02'},loading:{true:'button_loading_true__hi3ya03'},size:{'1':'button_size_1__hi3ya04','2':'button_size_2__hi3ya05','3':'button_size_3__hi3ya06'},variant:{primary:'button_variant_primary__hi3ya07',secondary:'button_variant_secondary__hi3ya08',outline:'button_variant_outline__hi3ya09',ghost:'button_variant_ghost__hi3ya0a',error:'button_variant_error__hi3ya0b',success:'button_variant_success__hi3ya0c'},round:{true:'button_round_true__hi3ya0d'}},defaultVariants:{size:'2',variant:'primary'},compoundVariants:[],responsiveVariantClassNames:{initial:undefined,sm:{fullWidth:{true:'button_fullWidth_sm_true__hi3ya0e',false:'button_fullWidth_sm_false__hi3ya0f'},loading:{true:'button_loading_sm_true__hi3ya0g'},size:{'1':'button_size_sm_1__hi3ya0h','2':'button_size_sm_2__hi3ya0i','3':'button_size_sm_3__hi3ya0j'},variant:{primary:'button_variant_sm_primary__hi3ya0k',secondary:'button_variant_sm_secondary__hi3ya0l',outline:'button_variant_sm_outline__hi3ya0m',ghost:'button_variant_sm_ghost__hi3ya0n',error:'button_variant_sm_error__hi3ya0o',success:'button_variant_sm_success__hi3ya0p'},round:{true:'button_round_sm_true__hi3ya0q'}}},conditionNames:['sm'],conditions:{xs:'520px',sm:'768px',md:'1024px',lg:'1280px',xl:'1640px'},identifier:'homemade-recipe__lb053z0',cssCache:[]};x.responsiveVariantClassNames.initial=x.variantClassNames;return x;}()));"],"mappings":"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","names":["_7a468","import_createRuntimeFn","_dc746","import_react_slot","import_jsx_runtime","defaultElement"]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Button
3
- } from "../chunk-5VVYRZDU.mjs";
4
- import "../chunk-66WXCRN4.mjs";
5
- import "../chunk-HNOMBFLC.mjs";
3
+ } from "../chunk-ZSB4NTM3.mjs";
4
+ import "../chunk-4A7WL3BM.mjs";
5
+ import "../chunk-67WEB6LY.mjs";
6
6
  import "../chunk-47YGQSLM.mjs";
7
- import "../chunk-4N6P3Y54.mjs";
7
+ import "../chunk-UPZYS6TE.mjs";
8
8
  import "../chunk-7EGQM3ZL.mjs";
9
9
  export {
10
10
  Button
@@ -5,4 +5,4 @@ declare const defaultElement = "div";
5
5
  type CardProps = ComponentProps<typeof defaultElement>;
6
6
  declare const Card: ({ asChild, ...props }: CardProps) => react_jsx_runtime.JSX.Element;
7
7
 
8
- export { Card };
8
+ export { Card, type CardProps };
@@ -5,4 +5,4 @@ declare const defaultElement = "div";
5
5
  type CardProps = ComponentProps<typeof defaultElement>;
6
6
  declare const Card: ({ asChild, ...props }: CardProps) => react_jsx_runtime.JSX.Element;
7
7
 
8
- export { Card };
8
+ export { Card, type CardProps };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/card.tsx","../../src/theme/styles/card.css.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import { card } from \"@/theme/styles/card.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\ntype CardProps = ComponentProps<typeof defaultElement>;\n\nexport const Card = ({ asChild, ...props }: CardProps) => {\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(card, props.className)}>\n {props.children}\n </Comp>\n );\n};\n","import 'src/theme/styles/panel.css.ts.vanilla.css?source=LnBhbmVsX3BhbmVsX19naDlzdXowIHsKICBjb2xvcjogdmFyKC0tc2VtYW50aWNDb2xvcnMtc3VyZmFjZVRleHRDb250cmFzdF9fMTluYmU4ZDJmOSk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VtYW50aWNDb2xvcnMtc3VyZmFjZV9fMTluYmU4ZDJmOCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaWktM19fMTluYmU4ZDJnaik7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXNlbWFudGljQ29sb3JzLWxpbmVfXzE5bmJlOGQyZmUpOwp9';\nimport 'src/theme/styles/card.css.ts.vanilla.css?source=LmNhcmRfY2FyZF9fMWs0OTIyMCB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNV9fMTluYmU4ZDQpIHZhcigtLXNwYWNlLTVfXzE5bmJlOGQ0KSB2YXIoLS1zcGFjZS02X18xOW5iZThkNSkgdmFyKC0tc3BhY2UtNV9fMTluYmU4ZDQpOwp9';\nexport var card = 'card_card__1k49220 panel_panel__gh9suz0';","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAI,OAAO;;;ACFX,SAAS,gBAAgB,SAAyC;AACvE,SAAO,QAAQ,OAAO,CAAC,QAAuB,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG;AACtE;;;AFCA,wBAAqB;AAUjB;AARJ,IAAM,iBAAiB;AAIhB,IAAM,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,MAAiB;AACxD,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,OAAO,WAAW,aAAa,MAAM,MAAM,SAAS,GAC3D,gBAAM,UACT;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/card.tsx","../../src/theme/styles/card.css.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import { card } from \"@/theme/styles/card.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type CardProps = ComponentProps<typeof defaultElement>;\n\nexport const Card = ({ asChild, ...props }: CardProps) => {\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(card, props.className)}>\n {props.children}\n </Comp>\n );\n};\n","import 'src/theme/styles/panel.css.ts.vanilla.css?source=LnBhbmVsX3BhbmVsX19naDlzdXowIHsKICBjb2xvcjogdmFyKC0tc2VtYW50aWNDb2xvcnMtc3VyZmFjZVRleHRDb250cmFzdF9fMTluYmU4ZDJmOSk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VtYW50aWNDb2xvcnMtc3VyZmFjZV9fMTluYmU4ZDJmOCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaWktM19fMTluYmU4ZDJnaik7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXNlbWFudGljQ29sb3JzLWxpbmVfXzE5bmJlOGQyZmUpOwp9';\nimport 'src/theme/styles/card.css.ts.vanilla.css?source=LmNhcmRfY2FyZF9fMWs0OTIyMCB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNV9fMTluYmU4ZDQpIHZhcigtLXNwYWNlLTVfXzE5bmJlOGQ0KSB2YXIoLS1zcGFjZS02X18xOW5iZThkNSkgdmFyKC0tc3BhY2UtNV9fMTluYmU4ZDQpOwp9';\nexport var card = 'card_card__1k49220 panel_panel__gh9suz0';","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAI,OAAO;;;ACFX,SAAS,gBAAgB,SAAyC;AACvE,SAAO,QAAQ,OAAO,CAAC,QAAuB,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG;AACtE;;;AFCA,wBAAqB;AAUjB;AARJ,IAAM,iBAAiB;AAIhB,IAAM,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,MAAiB;AACxD,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,OAAO,WAAW,aAAa,MAAM,MAAM,SAAS,GAC3D,gBAAM,UACT;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/card.tsx"],"sourcesContent":["import { card } from \"@/theme/styles/card.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\ntype CardProps = ComponentProps<typeof defaultElement>;\n\nexport const Card = ({ asChild, ...props }: CardProps) => {\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(card, props.className)}>\n {props.children}\n </Comp>\n );\n};\n"],"mappings":";;;;;;;;;AAGA,SAAS,YAAY;AAUjB;AARJ,IAAM,iBAAiB;AAIhB,IAAM,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,MAAiB;AACxD,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,QAAM,GAAG,OAAO,WAAW,aAAa,MAAM,MAAM,SAAS,GAC3D,gBAAM,UACT;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/card.tsx"],"sourcesContent":["import { card } from \"@/theme/styles/card.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type CardProps = ComponentProps<typeof defaultElement>;\n\nexport const Card = ({ asChild, ...props }: CardProps) => {\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(card, props.className)}>\n {props.children}\n </Comp>\n );\n};\n"],"mappings":";;;;;;;;;AAGA,SAAS,YAAY;AAUjB;AARJ,IAAM,iBAAiB;AAIhB,IAAM,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,MAAiB;AACxD,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,QAAM,GAAG,OAAO,WAAW,aAAa,MAAM,MAAM,SAAS,GAC3D,gBAAM,UACT;AAEJ;","names":[]}
@@ -6,4 +6,4 @@ import '@vanilla-extract/recipes';
6
6
  type CheckboxProps = CheckboxPrimitive.CheckboxProps & CheckboxVariants;
7
7
  declare const Checkbox: ({ ...props }: CheckboxProps) => react_jsx_runtime.JSX.Element;
8
8
 
9
- export { Checkbox };
9
+ export { Checkbox, type CheckboxProps };
@@ -6,4 +6,4 @@ import '@vanilla-extract/recipes';
6
6
  type CheckboxProps = CheckboxPrimitive.CheckboxProps & CheckboxVariants;
7
7
  declare const Checkbox: ({ ...props }: CheckboxProps) => react_jsx_runtime.JSX.Element;
8
8
 
9
- export { Checkbox };
9
+ export { Checkbox, type CheckboxProps };
@@ -41,9 +41,13 @@ var checkboxRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassN
41
41
  // src/theme/styles/checkbox.css.ts
42
42
  var checkboxIndicator = "checkbox_checkboxIndicator__z3c6170";
43
43
 
44
- // src/utils/merge-classes.ts
45
- function mergeClasses(...classes) {
46
- return classes.filter((cls) => Boolean(cls)).join(" ");
44
+ // src/utils/omit.ts
45
+ function omit(obj, ...keys) {
46
+ const ret = { ...obj };
47
+ keys.forEach((key) => {
48
+ delete ret[key];
49
+ });
50
+ return ret;
47
51
  }
48
52
 
49
53
  // src/utils/pick.ts
@@ -55,17 +59,33 @@ function pick(obj, ...keys) {
55
59
  return ret;
56
60
  }
57
61
 
62
+ // src/utils/extract-variants.ts
63
+ function extractVariantsFromProps(obj, ...keys) {
64
+ const variants = pick(obj, ...keys);
65
+ const rest = omit(obj, ...keys);
66
+ return [variants, rest];
67
+ }
68
+
69
+ // src/utils/merge-classes.ts
70
+ function mergeClasses(...classes) {
71
+ return classes.filter((cls) => Boolean(cls)).join(" ");
72
+ }
73
+
58
74
  // src/components/checkbox.tsx
59
75
  var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
60
76
  var import_react_icons = require("@radix-ui/react-icons");
61
77
  var import_jsx_runtime = require("react/jsx-runtime");
62
78
  var Checkbox = ({ ...props }) => {
63
- const checkbox = checkboxRecipe(pick(props, ...checkboxRecipe.variants()));
79
+ const [variants, rest] = extractVariantsFromProps(
80
+ props,
81
+ ...checkboxRecipe.variants()
82
+ );
83
+ const checkbox = checkboxRecipe(variants);
64
84
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
85
  CheckboxPrimitive.Root,
66
86
  {
67
- ...props,
68
- className: mergeClasses(checkbox, props.className),
87
+ ...rest,
88
+ className: mergeClasses(checkbox, rest.className),
69
89
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckboxPrimitive.CheckboxIndicator, { className: checkboxIndicator, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_icons.CheckIcon, {}) })
70
90
  }
71
91
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/checkbox.tsx","../../src/theme/recipes/checkbox.css.ts","../../src/theme/styles/checkbox.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts"],"sourcesContent":["import { CheckboxVariants, checkboxRecipe } from \"@/theme/recipes/checkbox.css\";\nimport { checkboxIndicator } from \"@/theme/styles/checkbox.css\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\n\ntype CheckboxProps = CheckboxPrimitive.CheckboxProps & CheckboxVariants;\n\nexport const Checkbox = ({ ...props }: CheckboxProps) => {\n const checkbox = checkboxRecipe(pick(props, ...checkboxRecipe.variants()));\n\n return (\n <CheckboxPrimitive.Root\n {...props}\n className={mergeClasses(checkbox, props.className)}\n >\n <CheckboxPrimitive.CheckboxIndicator className={checkboxIndicator}>\n <CheckIcon />\n </CheckboxPrimitive.CheckboxIndicator>\n </CheckboxPrimitive.Root>\n );\n};\n","import 'src/theme/recipes/checkbox.css.ts.vanilla.css?source=#H4sIAAAAAAAAA5WSz44bIQzG73kKjrtSWWVSVWrJsZee9wVGBjzghpgRMJs/q757Be1sRm2TZsUFzOfPP2yejEez0/HYz5tnNDRi37uTP/u0Fq8rISAEJSbOWLYrIXQ8ykxnYqeEjslikjoe682UMcmMAU1RgiPjtiWTY0kF91kJg1wwtfA4IiRggxeppTwGOClBHIhRDgGb7/cpFxpO0kQuyGVp03QeyfmiRFcje0iOWIl1PcSpVMWlxAjWNvJ2LQ+od1RkgVF6cj5UH2liiEmJ5DQ8rD+09fj2cA82HiphxiLWbXXjUbxAepAy4x64kPlaHbKspfu++8IaP9vNgM0lvmAaQvXwZC3ydvVj9fS/MShf09owNJidS3FiO4P+s3ZJwHmEhFy+1dwFx/B4X80hmim3mn+08Z5kpXGICX8hX/kxd/nAUOaXv98m0xn7bnbrms2BbPFvXaMzZvnx0h0HbUrzl7qt+k2RwNKUZ3E9kewWYn+74Q1yM0NurkF+Wjiaq5B/q25AbhZiqpA/AT6rIHMQBAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var checkboxRecipe = _7a468({defaultClassName:'checkbox_checkboxRecipe__gyhzhr0',variantClassNames:{size:{'1':'checkbox_checkboxRecipe_size_1__gyhzhr1','2':'checkbox_checkboxRecipe_size_2__gyhzhr2'}},defaultVariants:{size:'1'},compoundVariants:[]});","import 'src/theme/styles/checkbox.css.ts.vanilla.css?source=LmNoZWNrYm94X2NoZWNrYm94SW5kaWNhdG9yX196M2M2MTcwIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgaGVpZ2h0OiAxMDAlOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHdpZHRoOiAxMDAlOwp9';\nexport var checkboxIndicator = 'checkbox_checkboxIndicator__z3c6170';","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n","/**\n * https://stackoverflow.com/a/47232883\n */\nexport function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret: any = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n\n return ret;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,6BAA0C;AACnC,IAAI,qBAAiB,uBAAAA,iBAAO,EAAC,kBAAiB,oCAAmC,mBAAkB,EAAC,MAAK,EAAC,KAAI,2CAA0C,KAAI,0CAAyC,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACDvP,IAAI,oBAAoB;;;ACDxB,SAAS,gBAAgB,SAAyC;AACvE,SAAO,QAAQ,OAAO,CAAC,QAAuB,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG;AACtE;;;ACCO,SAAS,KAA2B,QAAW,MAAuB;AAE3E,QAAM,MAAW,CAAC;AAClB,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,GAAG,IAAI,IAAI,GAAG;AAAA,EACpB,CAAC;AAED,SAAO;AACT;;;AJPA,wBAAmC;AACnC,yBAA0B;AAalB;AATD,IAAM,WAAW,CAAC,EAAE,GAAG,MAAM,MAAqB;AACvD,QAAM,WAAW,eAAe,KAAK,OAAO,GAAG,eAAe,SAAS,CAAC,CAAC;AAEzE,SACE;AAAA,IAAmB;AAAA,IAAlB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,UAAU,MAAM,SAAS;AAAA,MAEjD,sDAAmB,qCAAlB,EAAoC,WAAW,mBAC9C,sDAAC,gCAAU,GACb;AAAA;AAAA,EACF;AAEJ;","names":["_7a468"]}
1
+ {"version":3,"sources":["../../src/components/checkbox.tsx","../../src/theme/recipes/checkbox.css.ts","../../src/theme/styles/checkbox.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/extract-variants.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import { CheckboxVariants, checkboxRecipe } from \"@/theme/recipes/checkbox.css\";\nimport { checkboxIndicator } from \"@/theme/styles/checkbox.css\";\nimport { extractVariantsFromProps } from \"@/utils/extract-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\n\nexport type CheckboxProps = CheckboxPrimitive.CheckboxProps & CheckboxVariants;\n\nexport const Checkbox = ({ ...props }: CheckboxProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...checkboxRecipe.variants(),\n );\n\n const checkbox = checkboxRecipe(variants);\n\n return (\n <CheckboxPrimitive.Root\n {...rest}\n className={mergeClasses(checkbox, rest.className)}\n >\n <CheckboxPrimitive.CheckboxIndicator className={checkboxIndicator}>\n <CheckIcon />\n </CheckboxPrimitive.CheckboxIndicator>\n </CheckboxPrimitive.Root>\n );\n};\n","import 'src/theme/recipes/checkbox.css.ts.vanilla.css?source=#H4sIAAAAAAAAA5WSz44bIQzG73kKjrtSWWVSVWrJsZee9wVGBjzghpgRMJs/q757Be1sRm2TZsUFzOfPP2yejEez0/HYz5tnNDRi37uTP/u0Fq8rISAEJSbOWLYrIXQ8ykxnYqeEjslikjoe682UMcmMAU1RgiPjtiWTY0kF91kJg1wwtfA4IiRggxeppTwGOClBHIhRDgGb7/cpFxpO0kQuyGVp03QeyfmiRFcje0iOWIl1PcSpVMWlxAjWNvJ2LQ+od1RkgVF6cj5UH2liiEmJ5DQ8rD+09fj2cA82HiphxiLWbXXjUbxAepAy4x64kPlaHbKspfu++8IaP9vNgM0lvmAaQvXwZC3ydvVj9fS/MShf09owNJidS3FiO4P+s3ZJwHmEhFy+1dwFx/B4X80hmim3mn+08Z5kpXGICX8hX/kxd/nAUOaXv98m0xn7bnbrms2BbPFvXaMzZvnx0h0HbUrzl7qt+k2RwNKUZ3E9kewWYn+74Q1yM0NurkF+Wjiaq5B/q25AbhZiqpA/AT6rIHMQBAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var checkboxRecipe = _7a468({defaultClassName:'checkbox_checkboxRecipe__gyhzhr0',variantClassNames:{size:{'1':'checkbox_checkboxRecipe_size_1__gyhzhr1','2':'checkbox_checkboxRecipe_size_2__gyhzhr2'}},defaultVariants:{size:'1'},compoundVariants:[]});","import 'src/theme/styles/checkbox.css.ts.vanilla.css?source=LmNoZWNrYm94X2NoZWNrYm94SW5kaWNhdG9yX196M2M2MTcwIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgaGVpZ2h0OiAxMDAlOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHdpZHRoOiAxMDAlOwp9';\nexport var checkboxIndicator = 'checkbox_checkboxIndicator__z3c6170';","export function omit<T, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\n const ret = { ...obj };\n keys.forEach((key) => {\n delete ret[key];\n });\n\n return ret;\n}\n","/**\n * https://stackoverflow.com/a/47232883\n */\nexport function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret: any = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n\n return ret;\n}\n","import { omit } from \"./omit\";\nimport { pick } from \"./pick\";\n\n/**\n * TODO\n * @param obj\n * @param keys\n * @returns [variants, props]\n */\nexport function extractVariantsFromProps<T, K extends keyof T>(\n obj: T,\n ...keys: K[]\n): [Pick<T, K>, Omit<T, K>] {\n const variants = pick(obj, ...keys);\n const rest = omit(obj, ...keys);\n\n return [variants, rest];\n}\n","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,6BAA0C;AACnC,IAAI,qBAAiB,uBAAAA,iBAAO,EAAC,kBAAiB,oCAAmC,mBAAkB,EAAC,MAAK,EAAC,KAAI,2CAA0C,KAAI,0CAAyC,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACDvP,IAAI,oBAAoB;;;ACDxB,SAAS,KAA2B,QAAW,MAAuB;AAC3E,QAAM,MAAM,EAAE,GAAG,IAAI;AACrB,OAAK,QAAQ,CAAC,QAAQ;AACpB,WAAO,IAAI,GAAG;AAAA,EAChB,CAAC;AAED,SAAO;AACT;;;ACJO,SAAS,KAA2B,QAAW,MAAuB;AAE3E,QAAM,MAAW,CAAC;AAClB,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,GAAG,IAAI,IAAI,GAAG;AAAA,EACpB,CAAC;AAED,SAAO;AACT;;;ACFO,SAAS,yBACd,QACG,MACuB;AAC1B,QAAM,WAAW,KAAK,KAAK,GAAG,IAAI;AAClC,QAAM,OAAO,KAAK,KAAK,GAAG,IAAI;AAE9B,SAAO,CAAC,UAAU,IAAI;AACxB;;;ACjBO,SAAS,gBAAgB,SAAyC;AACvE,SAAO,QAAQ,OAAO,CAAC,QAAuB,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG;AACtE;;;ANEA,wBAAmC;AACnC,yBAA0B;AAkBlB;AAdD,IAAM,WAAW,CAAC,EAAE,GAAG,MAAM,MAAqB;AACvD,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,eAAe,SAAS;AAAA,EAC7B;AAEA,QAAM,WAAW,eAAe,QAAQ;AAExC,SACE;AAAA,IAAmB;AAAA,IAAlB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,UAAU,KAAK,SAAS;AAAA,MAEhD,sDAAmB,qCAAlB,EAAoC,WAAW,mBAC9C,sDAAC,gCAAU,GACb;AAAA;AAAA,EACF;AAEJ;","names":["_7a468"]}
@@ -3,8 +3,8 @@ import {
3
3
  checkboxRecipe
4
4
  } from "../chunk-5ZOT2LOO.mjs";
5
5
  import {
6
- pick
7
- } from "../chunk-4N6P3Y54.mjs";
6
+ extractVariantsFromProps
7
+ } from "../chunk-UPZYS6TE.mjs";
8
8
  import {
9
9
  mergeClasses
10
10
  } from "../chunk-7EGQM3ZL.mjs";
@@ -14,12 +14,16 @@ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
14
14
  import { CheckIcon } from "@radix-ui/react-icons";
15
15
  import { jsx } from "react/jsx-runtime";
16
16
  var Checkbox = ({ ...props }) => {
17
- const checkbox = checkboxRecipe(pick(props, ...checkboxRecipe.variants()));
17
+ const [variants, rest] = extractVariantsFromProps(
18
+ props,
19
+ ...checkboxRecipe.variants()
20
+ );
21
+ const checkbox = checkboxRecipe(variants);
18
22
  return /* @__PURE__ */ jsx(
19
23
  CheckboxPrimitive.Root,
20
24
  {
21
- ...props,
22
- className: mergeClasses(checkbox, props.className),
25
+ ...rest,
26
+ className: mergeClasses(checkbox, rest.className),
23
27
  children: /* @__PURE__ */ jsx(CheckboxPrimitive.CheckboxIndicator, { className: checkboxIndicator, children: /* @__PURE__ */ jsx(CheckIcon, {}) })
24
28
  }
25
29
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/checkbox.tsx"],"sourcesContent":["import { CheckboxVariants, checkboxRecipe } from \"@/theme/recipes/checkbox.css\";\nimport { checkboxIndicator } from \"@/theme/styles/checkbox.css\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\n\ntype CheckboxProps = CheckboxPrimitive.CheckboxProps & CheckboxVariants;\n\nexport const Checkbox = ({ ...props }: CheckboxProps) => {\n const checkbox = checkboxRecipe(pick(props, ...checkboxRecipe.variants()));\n\n return (\n <CheckboxPrimitive.Root\n {...props}\n className={mergeClasses(checkbox, props.className)}\n >\n <CheckboxPrimitive.CheckboxIndicator className={checkboxIndicator}>\n <CheckIcon />\n </CheckboxPrimitive.CheckboxIndicator>\n </CheckboxPrimitive.Root>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAIA,YAAY,uBAAuB;AACnC,SAAS,iBAAiB;AAalB;AATD,IAAM,WAAW,CAAC,EAAE,GAAG,MAAM,MAAqB;AACvD,QAAM,WAAW,eAAe,KAAK,OAAO,GAAG,eAAe,SAAS,CAAC,CAAC;AAEzE,SACE;AAAA,IAAmB;AAAA,IAAlB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,UAAU,MAAM,SAAS;AAAA,MAEjD,8BAAmB,qCAAlB,EAAoC,WAAW,mBAC9C,8BAAC,aAAU,GACb;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/checkbox.tsx"],"sourcesContent":["import { CheckboxVariants, checkboxRecipe } from \"@/theme/recipes/checkbox.css\";\nimport { checkboxIndicator } from \"@/theme/styles/checkbox.css\";\nimport { extractVariantsFromProps } from \"@/utils/extract-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\n\nexport type CheckboxProps = CheckboxPrimitive.CheckboxProps & CheckboxVariants;\n\nexport const Checkbox = ({ ...props }: CheckboxProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...checkboxRecipe.variants(),\n );\n\n const checkbox = checkboxRecipe(variants);\n\n return (\n <CheckboxPrimitive.Root\n {...rest}\n className={mergeClasses(checkbox, rest.className)}\n >\n <CheckboxPrimitive.CheckboxIndicator className={checkboxIndicator}>\n <CheckIcon />\n </CheckboxPrimitive.CheckboxIndicator>\n </CheckboxPrimitive.Root>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAIA,YAAY,uBAAuB;AACnC,SAAS,iBAAiB;AAkBlB;AAdD,IAAM,WAAW,CAAC,EAAE,GAAG,MAAM,MAAqB;AACvD,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,eAAe,SAAS;AAAA,EAC7B;AAEA,QAAM,WAAW,eAAe,QAAQ;AAExC,SACE;AAAA,IAAmB;AAAA,IAAlB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,UAAU,KAAK,SAAS;AAAA,MAEhD,8BAAmB,qCAAlB,EAAoC,WAAW,mBAC9C,8BAAC,aAAU,GACb;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -7,4 +7,4 @@ declare const defaultElement = "div";
7
7
  type ContainerProps = ComponentProps<typeof defaultElement, ContainerVariants>;
8
8
  declare const Container: ({ asChild, ...props }: ContainerProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Container };
10
+ export { Container, type ContainerProps };
@@ -7,4 +7,4 @@ declare const defaultElement = "div";
7
7
  type ContainerProps = ComponentProps<typeof defaultElement, ContainerVariants>;
8
8
  declare const Container: ({ asChild, ...props }: ContainerProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Container };
10
+ export { Container, type ContainerProps };
@@ -28,9 +28,13 @@ module.exports = __toCommonJS(container_exports);
28
28
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
29
29
  var containerRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "container_containerRecipe__1mebzt0", variantClassNames: { size: { "1": "container_containerRecipe_size_1__1mebzt1", "2": "container_containerRecipe_size_2__1mebzt2", "3": "container_containerRecipe_size_3__1mebzt3", "4": "container_containerRecipe_size_4__1mebzt4" } }, defaultVariants: { size: "4" }, compoundVariants: [] });
30
30
 
31
- // src/utils/merge-classes.ts
32
- function mergeClasses(...classes) {
33
- return classes.filter((cls) => Boolean(cls)).join(" ");
31
+ // src/utils/omit.ts
32
+ function omit(obj, ...keys) {
33
+ const ret = { ...obj };
34
+ keys.forEach((key) => {
35
+ delete ret[key];
36
+ });
37
+ return ret;
34
38
  }
35
39
 
36
40
  // src/utils/pick.ts
@@ -42,15 +46,30 @@ function pick(obj, ...keys) {
42
46
  return ret;
43
47
  }
44
48
 
49
+ // src/utils/extract-variants.ts
50
+ function extractVariantsFromProps(obj, ...keys) {
51
+ const variants = pick(obj, ...keys);
52
+ const rest = omit(obj, ...keys);
53
+ return [variants, rest];
54
+ }
55
+
56
+ // src/utils/merge-classes.ts
57
+ function mergeClasses(...classes) {
58
+ return classes.filter((cls) => Boolean(cls)).join(" ");
59
+ }
60
+
45
61
  // src/components/container.tsx
46
62
  var import_react_slot = require("@radix-ui/react-slot");
47
63
  var import_jsx_runtime = require("react/jsx-runtime");
48
64
  var defaultElement = "div";
49
65
  var Container = ({ asChild, ...props }) => {
50
- const variants = pick(props, ...containerRecipe.variants());
66
+ const [variants, rest] = extractVariantsFromProps(
67
+ props,
68
+ ...containerRecipe.variants()
69
+ );
51
70
  const container = containerRecipe(variants);
52
71
  const Comp = asChild ? import_react_slot.Slot : defaultElement;
53
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: mergeClasses(container, props.className), children: props.children });
72
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...rest, className: mergeClasses(container, rest.className), children: rest.children });
54
73
  };
55
74
  // Annotate the CommonJS export names for ESM import in node:
56
75
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/container.tsx","../../src/theme/recipes/container.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts"],"sourcesContent":["import {\n ContainerVariants,\n containerRecipe,\n} from \"@/theme/recipes/container.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\ntype ContainerProps = ComponentProps<typeof defaultElement, ContainerVariants>;\n\nexport const Container = ({ asChild, ...props }: ContainerProps) => {\n const variants = pick(props, ...containerRecipe.variants());\n const container = containerRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(container, props.className)}>\n {props.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/container.css.ts.vanilla.css?source=LmNvbnRhaW5lcl9jb250YWluZXJSZWNpcGVfXzFtZWJ6dDAgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgZmxleC1zaHJpbms6IDA7CiAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNV9fMTluYmU4ZDQpOwogIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTVfXzE5bmJlOGQ0KTsKfQouY29udGFpbmVyX2NvbnRhaW5lclJlY2lwZV9zaXplXzFfXzFtZWJ6dDEgewogIG1heC13aWR0aDogNDMwcHg7Cn0KLmNvbnRhaW5lcl9jb250YWluZXJSZWNpcGVfc2l6ZV8yX18xbWVienQyIHsKICBtYXgtd2lkdGg6IDcxNXB4Owp9Ci5jb250YWluZXJfY29udGFpbmVyUmVjaXBlX3NpemVfM19fMW1lYnp0MyB7CiAgbWF4LXdpZHRoOiAxMTQ1cHg7Cn0KLmNvbnRhaW5lcl9jb250YWluZXJSZWNpcGVfc2l6ZV80X18xbWVienQ0IHsKICBtYXgtd2lkdGg6IG5vbmU7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var containerRecipe = _7a468({defaultClassName:'container_containerRecipe__1mebzt0',variantClassNames:{size:{'1':'container_containerRecipe_size_1__1mebzt1','2':'container_containerRecipe_size_2__1mebzt2','3':'container_containerRecipe_size_3__1mebzt3','4':'container_containerRecipe_size_4__1mebzt4'}},defaultVariants:{size:'4'},compoundVariants:[]});","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n","/**\n * https://stackoverflow.com/a/47232883\n */\nexport function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret: any = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n\n return ret;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,6BAA0C;AACnC,IAAI,sBAAkB,uBAAAA,iBAAO,EAAC,kBAAiB,sCAAqC,mBAAkB,EAAC,MAAK,EAAC,KAAI,6CAA4C,KAAI,6CAA4C,KAAI,6CAA4C,KAAI,4CAA2C,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACF9V,SAAS,gBAAgB,SAAyC;AACvE,SAAO,QAAQ,OAAO,CAAC,QAAuB,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG;AACtE;;;ACCO,SAAS,KAA2B,QAAW,MAAuB;AAE3E,QAAM,MAAW,CAAC;AAClB,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,GAAG,IAAI,IAAI,GAAG;AAAA,EACpB,CAAC;AAED,SAAO;AACT;;;AHJA,wBAAqB;AAYjB;AAVJ,IAAM,iBAAiB;AAIhB,IAAM,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,MAAsB;AAClE,QAAM,WAAW,KAAK,OAAO,GAAG,gBAAgB,SAAS,CAAC;AAC1D,QAAM,YAAY,gBAAgB,QAAQ;AAC1C,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,OAAO,WAAW,aAAa,WAAW,MAAM,SAAS,GAChE,gBAAM,UACT;AAEJ;","names":["_7a468"]}
1
+ {"version":3,"sources":["../../src/components/container.tsx","../../src/theme/recipes/container.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/extract-variants.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import {\n ContainerVariants,\n containerRecipe,\n} from \"@/theme/recipes/container.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/extract-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type ContainerProps = ComponentProps<\n typeof defaultElement,\n ContainerVariants\n>;\n\nexport const Container = ({ asChild, ...props }: ContainerProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...containerRecipe.variants(),\n );\n const container = containerRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(container, rest.className)}>\n {rest.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/container.css.ts.vanilla.css?source=LmNvbnRhaW5lcl9jb250YWluZXJSZWNpcGVfXzFtZWJ6dDAgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgZmxleC1zaHJpbms6IDA7CiAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNV9fMTluYmU4ZDQpOwogIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTVfXzE5bmJlOGQ0KTsKfQouY29udGFpbmVyX2NvbnRhaW5lclJlY2lwZV9zaXplXzFfXzFtZWJ6dDEgewogIG1heC13aWR0aDogNDMwcHg7Cn0KLmNvbnRhaW5lcl9jb250YWluZXJSZWNpcGVfc2l6ZV8yX18xbWVienQyIHsKICBtYXgtd2lkdGg6IDcxNXB4Owp9Ci5jb250YWluZXJfY29udGFpbmVyUmVjaXBlX3NpemVfM19fMW1lYnp0MyB7CiAgbWF4LXdpZHRoOiAxMTQ1cHg7Cn0KLmNvbnRhaW5lcl9jb250YWluZXJSZWNpcGVfc2l6ZV80X18xbWVienQ0IHsKICBtYXgtd2lkdGg6IG5vbmU7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var containerRecipe = _7a468({defaultClassName:'container_containerRecipe__1mebzt0',variantClassNames:{size:{'1':'container_containerRecipe_size_1__1mebzt1','2':'container_containerRecipe_size_2__1mebzt2','3':'container_containerRecipe_size_3__1mebzt3','4':'container_containerRecipe_size_4__1mebzt4'}},defaultVariants:{size:'4'},compoundVariants:[]});","export function omit<T, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\n const ret = { ...obj };\n keys.forEach((key) => {\n delete ret[key];\n });\n\n return ret;\n}\n","/**\n * https://stackoverflow.com/a/47232883\n */\nexport function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ret: any = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n\n return ret;\n}\n","import { omit } from \"./omit\";\nimport { pick } from \"./pick\";\n\n/**\n * TODO\n * @param obj\n * @param keys\n * @returns [variants, props]\n */\nexport function extractVariantsFromProps<T, K extends keyof T>(\n obj: T,\n ...keys: K[]\n): [Pick<T, K>, Omit<T, K>] {\n const variants = pick(obj, ...keys);\n const rest = omit(obj, ...keys);\n\n return [variants, rest];\n}\n","export function mergeClasses(...classes: (string | undefined)[]): string {\n return classes.filter((cls): cls is string => Boolean(cls)).join(\" \");\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,6BAA0C;AACnC,IAAI,sBAAkB,uBAAAA,iBAAO,EAAC,kBAAiB,sCAAqC,mBAAkB,EAAC,MAAK,EAAC,KAAI,6CAA4C,KAAI,6CAA4C,KAAI,6CAA4C,KAAI,4CAA2C,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACF9V,SAAS,KAA2B,QAAW,MAAuB;AAC3E,QAAM,MAAM,EAAE,GAAG,IAAI;AACrB,OAAK,QAAQ,CAAC,QAAQ;AACpB,WAAO,IAAI,GAAG;AAAA,EAChB,CAAC;AAED,SAAO;AACT;;;ACJO,SAAS,KAA2B,QAAW,MAAuB;AAE3E,QAAM,MAAW,CAAC;AAClB,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,GAAG,IAAI,IAAI,GAAG;AAAA,EACpB,CAAC;AAED,SAAO;AACT;;;ACFO,SAAS,yBACd,QACG,MACuB;AAC1B,QAAM,WAAW,KAAK,KAAK,GAAG,IAAI;AAClC,QAAM,OAAO,KAAK,KAAK,GAAG,IAAI;AAE9B,SAAO,CAAC,UAAU,IAAI;AACxB;;;ACjBO,SAAS,gBAAgB,SAAyC;AACvE,SAAO,QAAQ,OAAO,CAAC,QAAuB,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG;AACtE;;;ALKA,wBAAqB;AAkBjB;AAhBJ,IAAM,iBAAiB;AAOhB,IAAM,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,MAAsB;AAClE,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,gBAAgB,SAAS;AAAA,EAC9B;AACA,QAAM,YAAY,gBAAgB,QAAQ;AAC1C,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,MAAM,WAAW,aAAa,WAAW,KAAK,SAAS,GAC9D,eAAK,UACR;AAEJ;","names":["_7a468"]}
@@ -2,8 +2,8 @@ import {
2
2
  containerRecipe
3
3
  } from "../chunk-PUW3KNR3.mjs";
4
4
  import {
5
- pick
6
- } from "../chunk-4N6P3Y54.mjs";
5
+ extractVariantsFromProps
6
+ } from "../chunk-UPZYS6TE.mjs";
7
7
  import {
8
8
  mergeClasses
9
9
  } from "../chunk-7EGQM3ZL.mjs";
@@ -13,10 +13,13 @@ import { Slot } from "@radix-ui/react-slot";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  var defaultElement = "div";
15
15
  var Container = ({ asChild, ...props }) => {
16
- const variants = pick(props, ...containerRecipe.variants());
16
+ const [variants, rest] = extractVariantsFromProps(
17
+ props,
18
+ ...containerRecipe.variants()
19
+ );
17
20
  const container = containerRecipe(variants);
18
21
  const Comp = asChild ? Slot : defaultElement;
19
- return /* @__PURE__ */ jsx(Comp, { ...props, className: mergeClasses(container, props.className), children: props.children });
22
+ return /* @__PURE__ */ jsx(Comp, { ...rest, className: mergeClasses(container, rest.className), children: rest.children });
20
23
  };
21
24
  export {
22
25
  Container
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/container.tsx"],"sourcesContent":["import {\n ContainerVariants,\n containerRecipe,\n} from \"@/theme/recipes/container.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\ntype ContainerProps = ComponentProps<typeof defaultElement, ContainerVariants>;\n\nexport const Container = ({ asChild, ...props }: ContainerProps) => {\n const variants = pick(props, ...containerRecipe.variants());\n const container = containerRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(container, props.className)}>\n {props.children}\n </Comp>\n );\n};\n"],"mappings":";;;;;;;;;;;AAOA,SAAS,YAAY;AAYjB;AAVJ,IAAM,iBAAiB;AAIhB,IAAM,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,MAAsB;AAClE,QAAM,WAAW,KAAK,OAAO,GAAG,gBAAgB,SAAS,CAAC;AAC1D,QAAM,YAAY,gBAAgB,QAAQ;AAC1C,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,QAAM,GAAG,OAAO,WAAW,aAAa,WAAW,MAAM,SAAS,GAChE,gBAAM,UACT;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/container.tsx"],"sourcesContent":["import {\n ContainerVariants,\n containerRecipe,\n} from \"@/theme/recipes/container.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/extract-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type ContainerProps = ComponentProps<\n typeof defaultElement,\n ContainerVariants\n>;\n\nexport const Container = ({ asChild, ...props }: ContainerProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...containerRecipe.variants(),\n );\n const container = containerRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(container, rest.className)}>\n {rest.children}\n </Comp>\n );\n};\n"],"mappings":";;;;;;;;;;;AAOA,SAAS,YAAY;AAkBjB;AAhBJ,IAAM,iBAAiB;AAOhB,IAAM,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,MAAsB;AAClE,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,gBAAgB,SAAS;AAAA,EAC9B;AACA,QAAM,YAAY,gBAAgB,QAAQ;AAC1C,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,QAAM,GAAG,MAAM,WAAW,aAAa,WAAW,KAAK,SAAS,GAC9D,eAAK,UACR;AAEJ;","names":[]}
@@ -2,12 +2,15 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
3
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
4
4
 
5
+ type DropdownMenuProps = DropdownMenuPrimitive.DropdownMenuProps;
5
6
  declare const DropdownMenu: react.FC<DropdownMenuPrimitive.DropdownMenuProps>;
7
+ type DropdownMenuTriggerProps = DropdownMenuPrimitive.DropdownMenuTriggerProps;
6
8
  declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
7
9
  type DropdownMenuContentProps = DropdownMenuPrimitive.DropdownMenuContentProps;
8
10
  declare const DropdownMenuContent: ({ ...props }: DropdownMenuContentProps) => react_jsx_runtime.JSX.Element;
9
11
  type DropdownMenuItemProps = DropdownMenuPrimitive.DropdownMenuItemProps;
10
12
  declare const DropdownMenuItem: ({ ...props }: DropdownMenuItemProps) => react_jsx_runtime.JSX.Element;
13
+ type DropdownMenuGroupProps = DropdownMenuPrimitive.DropdownMenuGroupProps;
11
14
  declare const DropdownMenuGroup: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
12
15
  type DropdownMenuLabelProps = DropdownMenuPrimitive.DropdownMenuLabelProps;
13
16
  declare const DropdownMenuLabel: ({ ...props }: DropdownMenuLabelProps) => react_jsx_runtime.JSX.Element;
@@ -15,8 +18,9 @@ type DropdownMenuSeparatorProps = DropdownMenuPrimitive.DropdownMenuSeparatorPro
15
18
  declare const DropdownMenuSeparator: ({ ...props }: DropdownMenuSeparatorProps) => react_jsx_runtime.JSX.Element;
16
19
  type DropdownMenuCheckboxItemProps = DropdownMenuPrimitive.DropdownMenuCheckboxItemProps;
17
20
  declare const DropdownMenuCheckboxItem: ({ ...props }: DropdownMenuCheckboxItemProps) => react_jsx_runtime.JSX.Element;
21
+ type DropdownMenuRadioGroupProps = DropdownMenuPrimitive.DropdownMenuRadioGroupProps;
18
22
  declare const DropdownMenuRadioGroup: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & react.RefAttributes<HTMLDivElement>>;
19
23
  type DropdownMenuRadioItemProps = DropdownMenuPrimitive.DropdownMenuRadioItemProps;
20
24
  declare const DropdownMenuRadioItem: ({ children, ...props }: DropdownMenuRadioItemProps) => react_jsx_runtime.JSX.Element;
21
25
 
22
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger };
26
+ export { DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuTrigger, type DropdownMenuTriggerProps };
@@ -2,12 +2,15 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
3
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
4
4
 
5
+ type DropdownMenuProps = DropdownMenuPrimitive.DropdownMenuProps;
5
6
  declare const DropdownMenu: react.FC<DropdownMenuPrimitive.DropdownMenuProps>;
7
+ type DropdownMenuTriggerProps = DropdownMenuPrimitive.DropdownMenuTriggerProps;
6
8
  declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
7
9
  type DropdownMenuContentProps = DropdownMenuPrimitive.DropdownMenuContentProps;
8
10
  declare const DropdownMenuContent: ({ ...props }: DropdownMenuContentProps) => react_jsx_runtime.JSX.Element;
9
11
  type DropdownMenuItemProps = DropdownMenuPrimitive.DropdownMenuItemProps;
10
12
  declare const DropdownMenuItem: ({ ...props }: DropdownMenuItemProps) => react_jsx_runtime.JSX.Element;
13
+ type DropdownMenuGroupProps = DropdownMenuPrimitive.DropdownMenuGroupProps;
11
14
  declare const DropdownMenuGroup: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
12
15
  type DropdownMenuLabelProps = DropdownMenuPrimitive.DropdownMenuLabelProps;
13
16
  declare const DropdownMenuLabel: ({ ...props }: DropdownMenuLabelProps) => react_jsx_runtime.JSX.Element;
@@ -15,8 +18,9 @@ type DropdownMenuSeparatorProps = DropdownMenuPrimitive.DropdownMenuSeparatorPro
15
18
  declare const DropdownMenuSeparator: ({ ...props }: DropdownMenuSeparatorProps) => react_jsx_runtime.JSX.Element;
16
19
  type DropdownMenuCheckboxItemProps = DropdownMenuPrimitive.DropdownMenuCheckboxItemProps;
17
20
  declare const DropdownMenuCheckboxItem: ({ ...props }: DropdownMenuCheckboxItemProps) => react_jsx_runtime.JSX.Element;
21
+ type DropdownMenuRadioGroupProps = DropdownMenuPrimitive.DropdownMenuRadioGroupProps;
18
22
  declare const DropdownMenuRadioGroup: react.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & react.RefAttributes<HTMLDivElement>>;
19
23
  type DropdownMenuRadioItemProps = DropdownMenuPrimitive.DropdownMenuRadioItemProps;
20
24
  declare const DropdownMenuRadioItem: ({ children, ...props }: DropdownMenuRadioItemProps) => react_jsx_runtime.JSX.Element;
21
25
 
22
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger };
26
+ export { DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuTrigger, type DropdownMenuTriggerProps };
@@ -68,6 +68,15 @@ var flexRecipe = (0, import_createRuntimeFn.createRuntimeFn)(function() {
68
68
  return x;
69
69
  }());
70
70
 
71
+ // src/utils/omit.ts
72
+ function omit(obj, ...keys) {
73
+ const ret = { ...obj };
74
+ keys.forEach((key) => {
75
+ delete ret[key];
76
+ });
77
+ return ret;
78
+ }
79
+
71
80
  // src/utils/pick.ts
72
81
  function pick(obj, ...keys) {
73
82
  const ret = {};
@@ -77,15 +86,25 @@ function pick(obj, ...keys) {
77
86
  return ret;
78
87
  }
79
88
 
89
+ // src/utils/extract-variants.ts
90
+ function extractVariantsFromProps(obj, ...keys) {
91
+ const variants = pick(obj, ...keys);
92
+ const rest = omit(obj, ...keys);
93
+ return [variants, rest];
94
+ }
95
+
80
96
  // src/components/flex.tsx
81
97
  var import_react_slot2 = require("@radix-ui/react-slot");
82
98
  var import_jsx_runtime2 = require("react/jsx-runtime");
83
99
  var defaultElement2 = "div";
84
100
  var Flex = ({ asChild, ...props }) => {
85
- const variants = pick(props, ...flexRecipe.variants());
101
+ const [variants, rest] = extractVariantsFromProps(
102
+ props,
103
+ ...flexRecipe.variants()
104
+ );
86
105
  const flex = flexRecipe(variants);
87
106
  const Comp = asChild ? import_react_slot2.Slot : defaultElement2;
88
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Comp, { ...props, className: mergeClasses(flex, props.className), children: props.children });
107
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Comp, { ...rest, className: mergeClasses(flex, rest.className), children: rest.children });
89
108
  };
90
109
 
91
110
  // src/theme/styles/menu.css.ts