@nayhoo/ui 0.12.1 → 0.13.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 (181) hide show
  1. package/dist/{chunk-5VVYRZDU.mjs → chunk-24DFRL5Q.mjs} +12 -9
  2. package/dist/chunk-24DFRL5Q.mjs.map +1 -0
  3. package/dist/{chunk-OCXG5SMA.mjs → chunk-2WZQZIYN.mjs} +8 -5
  4. package/dist/chunk-2WZQZIYN.mjs.map +1 -0
  5. package/dist/chunk-BALC5CGU.mjs +23 -0
  6. package/dist/chunk-BALC5CGU.mjs.map +1 -0
  7. package/dist/chunk-DQ4T4WV3.mjs +16 -0
  8. package/dist/chunk-DQ4T4WV3.mjs.map +1 -0
  9. package/dist/{chunk-C53FYO65.mjs → chunk-ELXCOK2T.mjs} +8 -5
  10. package/dist/chunk-ELXCOK2T.mjs.map +1 -0
  11. package/dist/chunk-GED6IT3S.mjs +1 -0
  12. package/dist/{chunk-OKNO3BFR.mjs → chunk-L2MODHAE.mjs} +12 -9
  13. package/dist/chunk-L2MODHAE.mjs.map +1 -0
  14. package/dist/{chunk-WPNBONR3.mjs → chunk-LSB5JVS2.mjs} +1 -1
  15. package/dist/chunk-LSB5JVS2.mjs.map +1 -0
  16. package/dist/{chunk-HNOMBFLC.mjs → chunk-MIRMF5N3.mjs} +8 -5
  17. package/dist/chunk-MIRMF5N3.mjs.map +1 -0
  18. package/dist/{chunk-YJWLCDJE.mjs → chunk-XWF2DDXB.mjs} +8 -5
  19. package/dist/chunk-XWF2DDXB.mjs.map +1 -0
  20. package/dist/components/avatar.d.mts +1 -1
  21. package/dist/components/avatar.d.ts +1 -1
  22. package/dist/components/avatar.js +34 -9
  23. package/dist/components/avatar.js.map +1 -1
  24. package/dist/components/avatar.mjs +18 -11
  25. package/dist/components/avatar.mjs.map +1 -1
  26. package/dist/components/badge.d.mts +1 -1
  27. package/dist/components/badge.d.ts +1 -1
  28. package/dist/components/badge.js +24 -5
  29. package/dist/components/badge.js.map +1 -1
  30. package/dist/components/badge.mjs +8 -4
  31. package/dist/components/badge.mjs.map +1 -1
  32. package/dist/components/box.d.mts +1 -1
  33. package/dist/components/box.d.ts +1 -1
  34. package/dist/components/box.js.map +1 -1
  35. package/dist/components/box.mjs +1 -1
  36. package/dist/components/button.js +32 -10
  37. package/dist/components/button.js.map +1 -1
  38. package/dist/components/button.mjs +4 -3
  39. package/dist/components/card.d.mts +1 -1
  40. package/dist/components/card.d.ts +1 -1
  41. package/dist/components/card.js.map +1 -1
  42. package/dist/components/card.mjs.map +1 -1
  43. package/dist/components/checkbox.d.mts +1 -1
  44. package/dist/components/checkbox.d.ts +1 -1
  45. package/dist/components/checkbox.js +26 -6
  46. package/dist/components/checkbox.js.map +1 -1
  47. package/dist/components/checkbox.mjs +10 -5
  48. package/dist/components/checkbox.mjs.map +1 -1
  49. package/dist/components/container.d.mts +1 -1
  50. package/dist/components/container.d.ts +1 -1
  51. package/dist/components/container.js +24 -5
  52. package/dist/components/container.js.map +1 -1
  53. package/dist/components/container.mjs +8 -4
  54. package/dist/components/container.mjs.map +1 -1
  55. package/dist/components/dropdown-menu.d.mts +5 -1
  56. package/dist/components/dropdown-menu.d.ts +5 -1
  57. package/dist/components/dropdown-menu.js +21 -2
  58. package/dist/components/dropdown-menu.js.map +1 -1
  59. package/dist/components/dropdown-menu.mjs +4 -3
  60. package/dist/components/dropdown-menu.mjs.map +1 -1
  61. package/dist/components/flex.d.mts +1 -1
  62. package/dist/components/flex.d.ts +1 -1
  63. package/dist/components/flex.js +24 -5
  64. package/dist/components/flex.js.map +1 -1
  65. package/dist/components/flex.mjs +3 -2
  66. package/dist/components/form.d.mts +4 -1
  67. package/dist/components/form.d.ts +4 -1
  68. package/dist/components/form.js +26 -7
  69. package/dist/components/form.js.map +1 -1
  70. package/dist/components/form.mjs +10 -6
  71. package/dist/components/form.mjs.map +1 -1
  72. package/dist/components/grid.d.mts +1 -1
  73. package/dist/components/grid.d.ts +1 -1
  74. package/dist/components/grid.js +24 -5
  75. package/dist/components/grid.js.map +1 -1
  76. package/dist/components/grid.mjs +8 -4
  77. package/dist/components/grid.mjs.map +1 -1
  78. package/dist/components/icon-button.d.mts +1 -1
  79. package/dist/components/icon-button.d.ts +1 -1
  80. package/dist/components/icon-button.js +32 -10
  81. package/dist/components/icon-button.js.map +1 -1
  82. package/dist/components/icon-button.mjs +4 -3
  83. package/dist/components/label.d.mts +1 -1
  84. package/dist/components/label.d.ts +1 -1
  85. package/dist/components/label.js.map +1 -1
  86. package/dist/components/label.mjs.map +1 -1
  87. package/dist/components/link.d.mts +1 -1
  88. package/dist/components/link.d.ts +1 -1
  89. package/dist/components/link.js +24 -5
  90. package/dist/components/link.js.map +1 -1
  91. package/dist/components/link.mjs +8 -4
  92. package/dist/components/link.mjs.map +1 -1
  93. package/dist/components/menu.d.mts +3 -1
  94. package/dist/components/menu.d.ts +3 -1
  95. package/dist/components/menu.js +21 -2
  96. package/dist/components/menu.js.map +1 -1
  97. package/dist/components/menu.mjs +4 -3
  98. package/dist/components/menu.mjs.map +1 -1
  99. package/dist/components/panel.d.mts +1 -1
  100. package/dist/components/panel.d.ts +1 -1
  101. package/dist/components/panel.js.map +1 -1
  102. package/dist/components/panel.mjs.map +1 -1
  103. package/dist/components/paragraph.d.mts +1 -1
  104. package/dist/components/paragraph.d.ts +1 -1
  105. package/dist/components/paragraph.js.map +1 -1
  106. package/dist/components/paragraph.mjs.map +1 -1
  107. package/dist/components/popover.d.mts +4 -1
  108. package/dist/components/popover.d.ts +4 -1
  109. package/dist/components/popover.js.map +1 -1
  110. package/dist/components/popover.mjs +2 -2
  111. package/dist/components/popover.mjs.map +1 -1
  112. package/dist/components/select.d.mts +3 -1
  113. package/dist/components/select.d.ts +3 -1
  114. package/dist/components/select.js +29 -7
  115. package/dist/components/select.js.map +1 -1
  116. package/dist/components/select.mjs +4 -3
  117. package/dist/components/select.mjs.map +1 -1
  118. package/dist/components/separator.d.mts +1 -1
  119. package/dist/components/separator.d.ts +1 -1
  120. package/dist/components/separator.js.map +1 -1
  121. package/dist/components/separator.mjs.map +1 -1
  122. package/dist/components/skeleton.d.mts +1 -1
  123. package/dist/components/skeleton.d.ts +1 -1
  124. package/dist/components/skeleton.js +24 -5
  125. package/dist/components/skeleton.js.map +1 -1
  126. package/dist/components/skeleton.mjs +8 -4
  127. package/dist/components/skeleton.mjs.map +1 -1
  128. package/dist/components/spinner.d.mts +1 -1
  129. package/dist/components/spinner.d.ts +1 -1
  130. package/dist/components/spinner.js +24 -5
  131. package/dist/components/spinner.js.map +1 -1
  132. package/dist/components/spinner.mjs +3 -2
  133. package/dist/components/status.d.mts +1 -1
  134. package/dist/components/status.d.ts +1 -1
  135. package/dist/components/status.js +24 -5
  136. package/dist/components/status.js.map +1 -1
  137. package/dist/components/status.mjs +3 -2
  138. package/dist/components/switch.d.mts +1 -1
  139. package/dist/components/switch.d.ts +1 -1
  140. package/dist/components/switch.js +31 -9
  141. package/dist/components/switch.js.map +1 -1
  142. package/dist/components/switch.mjs +15 -8
  143. package/dist/components/switch.mjs.map +1 -1
  144. package/dist/components/text-field.d.mts +1 -1
  145. package/dist/components/text-field.d.ts +1 -1
  146. package/dist/components/text-field.js +24 -5
  147. package/dist/components/text-field.js.map +1 -1
  148. package/dist/components/text-field.mjs +8 -4
  149. package/dist/components/text-field.mjs.map +1 -1
  150. package/dist/components/text.d.mts +1 -1
  151. package/dist/components/text.d.ts +1 -1
  152. package/dist/components/text.js +24 -5
  153. package/dist/components/text.js.map +1 -1
  154. package/dist/components/text.mjs +3 -2
  155. package/dist/components/tooltip.d.mts +1 -1
  156. package/dist/components/tooltip.d.ts +1 -1
  157. package/dist/components/tooltip.js +28 -6
  158. package/dist/components/tooltip.js.map +1 -1
  159. package/dist/components/tooltip.mjs +12 -8
  160. package/dist/components/tooltip.mjs.map +1 -1
  161. package/dist/providers/index.js +45 -17
  162. package/dist/providers/index.js.map +1 -1
  163. package/dist/providers/index.mjs +6 -5
  164. package/dist/providers/index.mjs.map +1 -1
  165. package/dist/utils/index.d.mts +3 -1
  166. package/dist/utils/index.d.ts +3 -1
  167. package/dist/utils/index.js +11 -0
  168. package/dist/utils/index.js.map +1 -1
  169. package/dist/utils/index.mjs +4 -2
  170. package/package.json +1 -1
  171. package/dist/chunk-4N6P3Y54.mjs +0 -13
  172. package/dist/chunk-4N6P3Y54.mjs.map +0 -1
  173. package/dist/chunk-5VVYRZDU.mjs.map +0 -1
  174. package/dist/chunk-C53FYO65.mjs.map +0 -1
  175. package/dist/chunk-CYDWEPFL.mjs +0 -1
  176. package/dist/chunk-HNOMBFLC.mjs.map +0 -1
  177. package/dist/chunk-OCXG5SMA.mjs.map +0 -1
  178. package/dist/chunk-OKNO3BFR.mjs.map +0 -1
  179. package/dist/chunk-WPNBONR3.mjs.map +0 -1
  180. package/dist/chunk-YJWLCDJE.mjs.map +0 -1
  181. /package/dist/{chunk-CYDWEPFL.mjs.map → chunk-GED6IT3S.mjs.map} +0 -0
@@ -2,8 +2,9 @@ import {
2
2
  skeletonRecipe
3
3
  } from "../chunk-KH7OG63I.mjs";
4
4
  import {
5
- pick
6
- } from "../chunk-4N6P3Y54.mjs";
5
+ extractVariantsFromProps
6
+ } from "../chunk-DQ4T4WV3.mjs";
7
+ import "../chunk-BALC5CGU.mjs";
7
8
  import {
8
9
  mergeClasses
9
10
  } from "../chunk-7EGQM3ZL.mjs";
@@ -13,10 +14,13 @@ import { Slot } from "@radix-ui/react-slot";
13
14
  import { jsx } from "react/jsx-runtime";
14
15
  var defaultElement = "div";
15
16
  var Skeleton = ({ asChild, ...props }) => {
16
- const variants = pick(props, ...skeletonRecipe.variants());
17
+ const [variants, rest] = extractVariantsFromProps(
18
+ props,
19
+ ...skeletonRecipe.variants()
20
+ );
17
21
  const skeleton = skeletonRecipe(variants);
18
22
  const Comp = asChild ? Slot : defaultElement;
19
- return /* @__PURE__ */ jsx(Comp, { ...props, className: mergeClasses(skeleton, props.className), children: props.children });
23
+ return /* @__PURE__ */ jsx(Comp, { ...rest, className: mergeClasses(skeleton, rest.className), children: rest.children });
20
24
  };
21
25
  export {
22
26
  Skeleton
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/skeleton.tsx"],"sourcesContent":["import { SkeletonVariants, skeletonRecipe } from \"@/theme/recipes/skeleton.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 SkeletonProps = ComponentProps<typeof defaultElement, SkeletonVariants>;\n\nexport const Skeleton = ({ asChild, ...props }: SkeletonProps) => {\n const variants = pick(props, ...skeletonRecipe.variants());\n const skeleton = skeletonRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(skeleton, props.className)}>\n {props.children}\n </Comp>\n );\n};\n"],"mappings":";;;;;;;;;;;AAIA,SAAS,YAAY;AAYjB;AAVJ,IAAM,iBAAiB;AAIhB,IAAM,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,MAAqB;AAChE,QAAM,WAAW,KAAK,OAAO,GAAG,eAAe,SAAS,CAAC;AACzD,QAAM,WAAW,eAAe,QAAQ;AACxC,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,QAAM,GAAG,OAAO,WAAW,aAAa,UAAU,MAAM,SAAS,GAC/D,gBAAM,UACT;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/skeleton.tsx"],"sourcesContent":["import { SkeletonVariants, skeletonRecipe } from \"@/theme/recipes/skeleton.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/get-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type SkeletonProps = ComponentProps<\n typeof defaultElement,\n SkeletonVariants\n>;\n\nexport const Skeleton = ({ asChild, ...props }: SkeletonProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...skeletonRecipe.variants(),\n );\n const skeleton = skeletonRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(skeleton, rest.className)}>\n {rest.children}\n </Comp>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAIA,SAAS,YAAY;AAkBjB;AAhBJ,IAAM,iBAAiB;AAOhB,IAAM,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,MAAqB;AAChE,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,eAAe,SAAS;AAAA,EAC7B;AACA,QAAM,WAAW,eAAe,QAAQ;AACxC,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,QAAM,GAAG,MAAM,WAAW,aAAa,UAAU,KAAK,SAAS,GAC7D,eAAK,UACR;AAEJ;","names":[]}
@@ -7,4 +7,4 @@ declare const defaultElement = "div";
7
7
  type SpinnerProps = ComponentProps<typeof defaultElement, SpinnerVariants>;
8
8
  declare const Spinner: ({ asChild, ...props }: SpinnerProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Spinner };
10
+ export { Spinner, type SpinnerProps };
@@ -7,4 +7,4 @@ declare const defaultElement = "div";
7
7
  type SpinnerProps = ComponentProps<typeof defaultElement, SpinnerVariants>;
8
8
  declare const Spinner: ({ asChild, ...props }: SpinnerProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Spinner };
10
+ export { Spinner, type SpinnerProps };
@@ -28,9 +28,13 @@ module.exports = __toCommonJS(spinner_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,15 +46,30 @@ function pick(obj, ...keys) {
42
46
  return ret;
43
47
  }
44
48
 
49
+ // src/utils/get-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
  // Annotate the CommonJS export names for ESM import in node:
56
75
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/spinner.tsx","../../src/theme/recipes/spinner.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts"],"sourcesContent":["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/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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,6BAA0C;AACnC,IAAI,oBAAgB,uBAAAA,iBAAO,EAAC,kBAAiB,mCAAkC,mBAAkB,EAAC,MAAK,EAAC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,yCAAwC,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACH9iB,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;;;AHPA,wBAAqB;AAYjB;AAVJ,IAAM,iBAAiB;AAIhB,IAAM,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,MAAoB;AAC9D,QAAM,WAAW,KAAK,OAAO,GAAG,cAAc,SAAS,CAAC;AACxD,QAAM,UAAU,cAAc,QAAQ;AACtC,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,OAAO,WAAW,aAAa,SAAS,MAAM,SAAS,GAC9D,gBAAM,UACT;AAEJ;","names":["_7a468"]}
1
+ {"version":3,"sources":["../../src/components/spinner.tsx","../../src/theme/recipes/spinner.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/get-variants.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import { SpinnerVariants, spinnerRecipe } from \"@/theme/recipes/spinner.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/get-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/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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,6BAA0C;AACnC,IAAI,oBAAgB,uBAAAA,iBAAO,EAAC,kBAAiB,mCAAkC,mBAAkB,EAAC,MAAK,EAAC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,0CAAyC,KAAI,yCAAwC,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACH9iB,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;;;ALEA,wBAAqB;AAkBjB;AAhBJ,IAAM,iBAAiB;AAOhB,IAAM,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,MAAoB;AAC9D,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,cAAc,SAAS;AAAA,EAC5B;AACA,QAAM,UAAU,cAAc,QAAQ;AACtC,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,MAAM,WAAW,aAAa,SAAS,KAAK,SAAS,GAC5D,eAAK,UACR;AAEJ;","names":["_7a468"]}
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  Spinner
3
- } from "../chunk-HNOMBFLC.mjs";
3
+ } from "../chunk-MIRMF5N3.mjs";
4
4
  import "../chunk-47YGQSLM.mjs";
5
- import "../chunk-4N6P3Y54.mjs";
5
+ import "../chunk-DQ4T4WV3.mjs";
6
+ import "../chunk-BALC5CGU.mjs";
6
7
  import "../chunk-7EGQM3ZL.mjs";
7
8
  export {
8
9
  Spinner
@@ -7,4 +7,4 @@ declare const defaultElement = "div";
7
7
  type StatusProps = ComponentProps<typeof defaultElement, StatusVariants>;
8
8
  declare const Status: ({ asChild, ...props }: StatusProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Status };
10
+ export { Status, type StatusProps };
@@ -7,4 +7,4 @@ declare const defaultElement = "div";
7
7
  type StatusProps = ComponentProps<typeof defaultElement, StatusVariants>;
8
8
  declare const Status: ({ asChild, ...props }: StatusProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Status };
10
+ export { Status, type StatusProps };
@@ -28,9 +28,13 @@ module.exports = __toCommonJS(status_exports);
28
28
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
29
29
  var statusRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "status_statusRecipe__1ezhizq0", variantClassNames: { size: { "1": "status_statusRecipe_size_1__1ezhizq1", "2": "status_statusRecipe_size_2__1ezhizq2" }, variant: { gray: "status_statusRecipe_variant_gray__1ezhizq3", blue: "status_statusRecipe_variant_blue__1ezhizq4", green: "status_statusRecipe_variant_green__1ezhizq5", yellow: "status_statusRecipe_variant_yellow__1ezhizq6", red: "status_statusRecipe_variant_red__1ezhizq7" } }, defaultVariants: { size: "2", variant: "gray" }, 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/get-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/status.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 Status = ({ asChild, ...props }) => {
50
- const variants = pick(props, ...statusRecipe.variants());
66
+ const [variants, rest] = extractVariantsFromProps(
67
+ props,
68
+ ...statusRecipe.variants()
69
+ );
51
70
  const status = statusRecipe(variants);
52
71
  const Comp = asChild ? import_react_slot.Slot : defaultElement;
53
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: mergeClasses(status, props.className), children: props.children });
72
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...rest, className: mergeClasses(status, 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/status.tsx","../../src/theme/recipes/status.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts"],"sourcesContent":["import { StatusVariants, statusRecipe } from \"@/theme/recipes/status.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 StatusProps = ComponentProps<typeof defaultElement, StatusVariants>;\n\nexport const Status = ({ asChild, ...props }: StatusProps) => {\n const variants = pick(props, ...statusRecipe.variants());\n const status = statusRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(status, props.className)}>\n {props.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/status.css.ts.vanilla.css?source=LnN0YXR1c19zdGF0dXNSZWNpcGVfXzFlemhpenEwIHsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgZmxleC1zaHJpbms6IDA7Cn0KLnN0YXR1c19zdGF0dXNSZWNpcGVfc2l6ZV8xX18xZXpoaXpxMSB7CiAgd2lkdGg6IDVweDsKICBoZWlnaHQ6IDVweDsKfQouc3RhdHVzX3N0YXR1c1JlY2lwZV9zaXplXzJfXzFlemhpenEyIHsKICB3aWR0aDogOXB4OwogIGhlaWdodDogOXB4Owp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfZ3JheV9fMWV6aGl6cTMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9ycy1zbGF0ZS1zbGF0ZTdfXzE5bmJlOGQxeW8pOwp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfYmx1ZV9fMWV6aGl6cTQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9ycy1ibHVlLWJsdWU5X18xOW5iZThkNDIpOwp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfZ3JlZW5fXzFlemhpenE1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcnMtZ3JlZW4tZ3JlZW45X18xOW5iZThkcGUpOwp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfeWVsbG93X18xZXpoaXpxNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JzLXllbGxvdy15ZWxsb3c5X18xOW5iZThkMmEyKTsKfQouc3RhdHVzX3N0YXR1c1JlY2lwZV92YXJpYW50X3JlZF9fMWV6aGl6cTcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9ycy1yZWQtcmVkOV9fMTluYmU4ZDFsZSk7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var statusRecipe = _7a468({defaultClassName:'status_statusRecipe__1ezhizq0',variantClassNames:{size:{'1':'status_statusRecipe_size_1__1ezhizq1','2':'status_statusRecipe_size_2__1ezhizq2'},variant:{gray:'status_statusRecipe_variant_gray__1ezhizq3',blue:'status_statusRecipe_variant_blue__1ezhizq4',green:'status_statusRecipe_variant_green__1ezhizq5',yellow:'status_statusRecipe_variant_yellow__1ezhizq6',red:'status_statusRecipe_variant_red__1ezhizq7'}},defaultVariants:{size:'2',variant:'gray'},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,mBAAe,uBAAAA,iBAAO,EAAC,kBAAiB,iCAAgC,mBAAkB,EAAC,MAAK,EAAC,KAAI,wCAAuC,KAAI,uCAAsC,GAAE,SAAQ,EAAC,MAAK,8CAA6C,MAAK,8CAA6C,OAAM,+CAA8C,QAAO,gDAA+C,KAAI,4CAA2C,EAAC,GAAE,iBAAgB,EAAC,MAAK,KAAI,SAAQ,OAAM,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACFngB,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;;;AHPA,wBAAqB;AAYjB;AAVJ,IAAM,iBAAiB;AAIhB,IAAM,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,MAAmB;AAC5D,QAAM,WAAW,KAAK,OAAO,GAAG,aAAa,SAAS,CAAC;AACvD,QAAM,SAAS,aAAa,QAAQ;AACpC,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,OAAO,WAAW,aAAa,QAAQ,MAAM,SAAS,GAC7D,gBAAM,UACT;AAEJ;","names":["_7a468"]}
1
+ {"version":3,"sources":["../../src/components/status.tsx","../../src/theme/recipes/status.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/get-variants.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import { StatusVariants, statusRecipe } from \"@/theme/recipes/status.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/get-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"div\";\n\nexport type StatusProps = ComponentProps<typeof defaultElement, StatusVariants>;\n\nexport const Status = ({ asChild, ...props }: StatusProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...statusRecipe.variants(),\n );\n const status = statusRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(status, rest.className)}>\n {rest.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/status.css.ts.vanilla.css?source=LnN0YXR1c19zdGF0dXNSZWNpcGVfXzFlemhpenEwIHsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgZmxleC1zaHJpbms6IDA7Cn0KLnN0YXR1c19zdGF0dXNSZWNpcGVfc2l6ZV8xX18xZXpoaXpxMSB7CiAgd2lkdGg6IDVweDsKICBoZWlnaHQ6IDVweDsKfQouc3RhdHVzX3N0YXR1c1JlY2lwZV9zaXplXzJfXzFlemhpenEyIHsKICB3aWR0aDogOXB4OwogIGhlaWdodDogOXB4Owp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfZ3JheV9fMWV6aGl6cTMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9ycy1zbGF0ZS1zbGF0ZTdfXzE5bmJlOGQxeW8pOwp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfYmx1ZV9fMWV6aGl6cTQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9ycy1ibHVlLWJsdWU5X18xOW5iZThkNDIpOwp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfZ3JlZW5fXzFlemhpenE1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcnMtZ3JlZW4tZ3JlZW45X18xOW5iZThkcGUpOwp9Ci5zdGF0dXNfc3RhdHVzUmVjaXBlX3ZhcmlhbnRfeWVsbG93X18xZXpoaXpxNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JzLXllbGxvdy15ZWxsb3c5X18xOW5iZThkMmEyKTsKfQouc3RhdHVzX3N0YXR1c1JlY2lwZV92YXJpYW50X3JlZF9fMWV6aGl6cTcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9ycy1yZWQtcmVkOV9fMTluYmU4ZDFsZSk7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var statusRecipe = _7a468({defaultClassName:'status_statusRecipe__1ezhizq0',variantClassNames:{size:{'1':'status_statusRecipe_size_1__1ezhizq1','2':'status_statusRecipe_size_2__1ezhizq2'},variant:{gray:'status_statusRecipe_variant_gray__1ezhizq3',blue:'status_statusRecipe_variant_blue__1ezhizq4',green:'status_statusRecipe_variant_green__1ezhizq5',yellow:'status_statusRecipe_variant_yellow__1ezhizq6',red:'status_statusRecipe_variant_red__1ezhizq7'}},defaultVariants:{size:'2',variant:'gray'},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,mBAAe,uBAAAA,iBAAO,EAAC,kBAAiB,iCAAgC,mBAAkB,EAAC,MAAK,EAAC,KAAI,wCAAuC,KAAI,uCAAsC,GAAE,SAAQ,EAAC,MAAK,8CAA6C,MAAK,8CAA6C,OAAM,+CAA8C,QAAO,gDAA+C,KAAI,4CAA2C,EAAC,GAAE,iBAAgB,EAAC,MAAK,KAAI,SAAQ,OAAM,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACFngB,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;;;ALEA,wBAAqB;AAejB;AAbJ,IAAM,iBAAiB;AAIhB,IAAM,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,MAAmB;AAC5D,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,aAAa,SAAS;AAAA,EAC3B;AACA,QAAM,SAAS,aAAa,QAAQ;AACpC,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,QAAM,GAAG,MAAM,WAAW,aAAa,QAAQ,KAAK,SAAS,GAC3D,eAAK,UACR;AAEJ;","names":["_7a468"]}
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  Status
3
- } from "../chunk-OCXG5SMA.mjs";
3
+ } from "../chunk-2WZQZIYN.mjs";
4
4
  import "../chunk-EXKRRQYL.mjs";
5
- import "../chunk-4N6P3Y54.mjs";
5
+ import "../chunk-DQ4T4WV3.mjs";
6
+ import "../chunk-BALC5CGU.mjs";
6
7
  import "../chunk-7EGQM3ZL.mjs";
7
8
  export {
8
9
  Status
@@ -8,4 +8,4 @@ declare const SwitchThumb: ({ ...props }: SwitchThumbProps) => react_jsx_runtime
8
8
  type SwitchProps = SwitchPrimitive.SwitchProps & SwitchVariants;
9
9
  declare const Switch: ({ ...props }: SwitchProps) => react_jsx_runtime.JSX.Element;
10
10
 
11
- export { Switch, SwitchThumb };
11
+ export { Switch, type SwitchProps, SwitchThumb, type SwitchThumbProps };
@@ -8,4 +8,4 @@ declare const SwitchThumb: ({ ...props }: SwitchThumbProps) => react_jsx_runtime
8
8
  type SwitchProps = SwitchPrimitive.SwitchProps & SwitchVariants;
9
9
  declare const Switch: ({ ...props }: SwitchProps) => react_jsx_runtime.JSX.Element;
10
10
 
11
- export { Switch, SwitchThumb };
11
+ export { Switch, type SwitchProps, SwitchThumb, type SwitchThumbProps };
@@ -40,9 +40,13 @@ var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn")
40
40
  var switchRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "switch_switchRecipe__1dl6sj10", variantClassNames: { size: { "1": "switch_switchRecipe_size_1__1dl6sj11", "2": "switch_switchRecipe_size_2__1dl6sj12" } }, defaultVariants: { size: "1" }, compoundVariants: [] });
41
41
  var switchThumbRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "switch_switchThumbRecipe__1dl6sj13", variantClassNames: { size: { "1": "switch_switchThumbRecipe_size_1__1dl6sj14", "2": "switch_switchThumbRecipe_size_2__1dl6sj15" } }, defaultVariants: { size: "1" }, compoundVariants: [] });
42
42
 
43
- // src/utils/merge-classes.ts
44
- function mergeClasses(...classes) {
45
- return classes.filter((cls) => Boolean(cls)).join(" ");
43
+ // src/utils/omit.ts
44
+ function omit(obj, ...keys) {
45
+ const ret = { ...obj };
46
+ keys.forEach((key) => {
47
+ delete ret[key];
48
+ });
49
+ return ret;
46
50
  }
47
51
 
48
52
  // src/utils/pick.ts
@@ -54,28 +58,46 @@ function pick(obj, ...keys) {
54
58
  return ret;
55
59
  }
56
60
 
61
+ // src/utils/get-variants.ts
62
+ function extractVariantsFromProps(obj, ...keys) {
63
+ const variants = pick(obj, ...keys);
64
+ const rest = omit(obj, ...keys);
65
+ return [variants, rest];
66
+ }
67
+
68
+ // src/utils/merge-classes.ts
69
+ function mergeClasses(...classes) {
70
+ return classes.filter((cls) => Boolean(cls)).join(" ");
71
+ }
72
+
57
73
  // src/components/switch.tsx
58
74
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
59
75
  var import_jsx_runtime = require("react/jsx-runtime");
60
76
  var SwitchThumb = ({ ...props }) => {
61
- const variants = pick(props, ...switchThumbRecipe.variants());
77
+ const [variants, rest] = extractVariantsFromProps(
78
+ props,
79
+ ...switchThumbRecipe.variants()
80
+ );
62
81
  const switchThumb = switchThumbRecipe(variants);
63
82
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
64
83
  SwitchPrimitive.Thumb,
65
84
  {
66
- ...props,
67
- className: mergeClasses(switchThumb, props.className)
85
+ ...rest,
86
+ className: mergeClasses(switchThumb, rest.className)
68
87
  }
69
88
  );
70
89
  };
71
90
  var Switch = ({ ...props }) => {
72
- const variants = pick(props, ...switchRecipe.variants());
91
+ const [variants, rest] = extractVariantsFromProps(
92
+ props,
93
+ ...switchRecipe.variants()
94
+ );
73
95
  const _switch = switchRecipe(variants);
74
96
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
75
97
  SwitchPrimitive.Root,
76
98
  {
77
- ...props,
78
- className: mergeClasses(_switch, props.className),
99
+ ...rest,
100
+ className: mergeClasses(_switch, rest.className),
79
101
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SwitchThumb, { size: variants.size })
80
102
  }
81
103
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/switch.tsx","../../src/theme/recipes/switch.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts"],"sourcesContent":["import {\n switchRecipe,\n switchThumbRecipe,\n SwitchThumbVariants,\n SwitchVariants,\n} from \"@/theme/recipes/switch.css\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\ntype SwitchThumbProps = SwitchPrimitive.SwitchThumbProps & SwitchThumbVariants;\n\nexport const SwitchThumb = ({ ...props }: SwitchThumbProps) => {\n const variants = pick(props, ...switchThumbRecipe.variants());\n const switchThumb = switchThumbRecipe(variants);\n\n return (\n <SwitchPrimitive.Thumb\n {...props}\n className={mergeClasses(switchThumb, props.className)}\n />\n );\n};\n\ntype SwitchProps = SwitchPrimitive.SwitchProps & SwitchVariants;\n\nexport const Switch = ({ ...props }: SwitchProps) => {\n const variants = pick(props, ...switchRecipe.variants());\n const _switch = switchRecipe(variants); // 'switch' is not allowed as a variable declaration name.ts(1389)\n\n return (\n <SwitchPrimitive.Root\n {...props}\n className={mergeClasses(_switch, props.className)}\n >\n <SwitchThumb size={variants.size} />\n </SwitchPrimitive.Root>\n );\n};\n","import 'src/theme/recipes/switch.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51T0W6bMBR9z1dYfUqluQLarClVn/YH0x4mTRO6tm+wG4M925Sk0/59wjSEopAuEwhj+9577jk+vvGtClwW/fAVubJYFKnQn/1zmpDfC0JA65w0tcfwuCCEAd+WzjS1oNxo43LyAm5J+4mnXkPA/rsqivShZrgW6b66jrnGCXTUgVCNPyR2M0U3jdZDfFaaGG+NV0GZOicONQT1gt0qbZFtVaABLJWqlFqVMhyacSWDZfKJvL3Xj4s/i5uzHPON4Y2PTJnZUS9BmDYnSXwyu5vltx7xs/8A9ENAAOoDBHy64hL5FsXVzx54RlSPFdRB8S89uHWqArc/jA9Hwfiv+Qa8esUiHfpII2KrRJADjHpFT1cj/XnUX2In7fuou1EU+wA0G0CzOdD7UTmcBZ22NgX9JpuKTfS+PWFeobzVsM8J04ZvT9u5lSrg/7g1OKgPfo3/G+MqkiZJ5Yftbultt7PQ92VmdzG5VVpTLqEucZT9/hIA80Y3fXMaNyEnSSxsbN4Z9bwsExfczR3I7YgXzB7INOoS5DP34LRGaRJF+hDjaLfVmF2WdNocefTzS6pd3vG67/gvekyJa14FAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var switchRecipe = _7a468({defaultClassName:'switch_switchRecipe__1dl6sj10',variantClassNames:{size:{'1':'switch_switchRecipe_size_1__1dl6sj11','2':'switch_switchRecipe_size_2__1dl6sj12'}},defaultVariants:{size:'1'},compoundVariants:[]});\nexport var switchThumbRecipe = _7a468({defaultClassName:'switch_switchThumbRecipe__1dl6sj13',variantClassNames:{size:{'1':'switch_switchThumbRecipe_size_1__1dl6sj14','2':'switch_switchThumbRecipe_size_2__1dl6sj15'}},defaultVariants:{size:'1'},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;AAAA;;;ACCA,6BAA0C;AACnC,IAAI,mBAAe,uBAAAA,iBAAO,EAAC,kBAAiB,iCAAgC,mBAAkB,EAAC,MAAK,EAAC,KAAI,wCAAuC,KAAI,uCAAsC,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;AAC5O,IAAI,wBAAoB,uBAAAA,iBAAO,EAAC,kBAAiB,sCAAqC,mBAAkB,EAAC,MAAK,EAAC,KAAI,6CAA4C,KAAI,4CAA2C,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACHhQ,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;;;AHHA,sBAAiC;AAS7B;AALG,IAAM,cAAc,CAAC,EAAE,GAAG,MAAM,MAAwB;AAC7D,QAAM,WAAW,KAAK,OAAO,GAAG,kBAAkB,SAAS,CAAC;AAC5D,QAAM,cAAc,kBAAkB,QAAQ;AAE9C,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,aAAa,MAAM,SAAS;AAAA;AAAA,EACtD;AAEJ;AAIO,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AACnD,QAAM,WAAW,KAAK,OAAO,GAAG,aAAa,SAAS,CAAC;AACvD,QAAM,UAAU,aAAa,QAAQ;AAErC,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,SAAS,MAAM,SAAS;AAAA,MAEhD,sDAAC,eAAY,MAAM,SAAS,MAAM;AAAA;AAAA,EACpC;AAEJ;","names":["_7a468"]}
1
+ {"version":3,"sources":["../../src/components/switch.tsx","../../src/theme/recipes/switch.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/get-variants.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import {\n switchRecipe,\n switchThumbRecipe,\n SwitchThumbVariants,\n SwitchVariants,\n} from \"@/theme/recipes/switch.css\";\nimport { extractVariantsFromProps } from \"@/utils/get-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nexport type SwitchThumbProps = SwitchPrimitive.SwitchThumbProps &\n SwitchThumbVariants;\n\nexport const SwitchThumb = ({ ...props }: SwitchThumbProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...switchThumbRecipe.variants(),\n );\n const switchThumb = switchThumbRecipe(variants);\n\n return (\n <SwitchPrimitive.Thumb\n {...rest}\n className={mergeClasses(switchThumb, rest.className)}\n />\n );\n};\n\nexport type SwitchProps = SwitchPrimitive.SwitchProps & SwitchVariants;\n\nexport const Switch = ({ ...props }: SwitchProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...switchRecipe.variants(),\n );\n const _switch = switchRecipe(variants); // 'switch' is not allowed as a variable declaration name.ts(1389)\n\n return (\n <SwitchPrimitive.Root\n {...rest}\n className={mergeClasses(_switch, rest.className)}\n >\n <SwitchThumb size={variants.size} />\n </SwitchPrimitive.Root>\n );\n};\n","import 'src/theme/recipes/switch.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51T0W6bMBR9z1dYfUqluQLarClVn/YH0x4mTRO6tm+wG4M925Sk0/59wjSEopAuEwhj+9577jk+vvGtClwW/fAVubJYFKnQn/1zmpDfC0JA65w0tcfwuCCEAd+WzjS1oNxo43LyAm5J+4mnXkPA/rsqivShZrgW6b66jrnGCXTUgVCNPyR2M0U3jdZDfFaaGG+NV0GZOicONQT1gt0qbZFtVaABLJWqlFqVMhyacSWDZfKJvL3Xj4s/i5uzHPON4Y2PTJnZUS9BmDYnSXwyu5vltx7xs/8A9ENAAOoDBHy64hL5FsXVzx54RlSPFdRB8S89uHWqArc/jA9Hwfiv+Qa8esUiHfpII2KrRJADjHpFT1cj/XnUX2In7fuou1EU+wA0G0CzOdD7UTmcBZ22NgX9JpuKTfS+PWFeobzVsM8J04ZvT9u5lSrg/7g1OKgPfo3/G+MqkiZJ5Yftbultt7PQ92VmdzG5VVpTLqEucZT9/hIA80Y3fXMaNyEnSSxsbN4Z9bwsExfczR3I7YgXzB7INOoS5DP34LRGaRJF+hDjaLfVmF2WdNocefTzS6pd3vG67/gvekyJa14FAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var switchRecipe = _7a468({defaultClassName:'switch_switchRecipe__1dl6sj10',variantClassNames:{size:{'1':'switch_switchRecipe_size_1__1dl6sj11','2':'switch_switchRecipe_size_2__1dl6sj12'}},defaultVariants:{size:'1'},compoundVariants:[]});\nexport var switchThumbRecipe = _7a468({defaultClassName:'switch_switchThumbRecipe__1dl6sj13',variantClassNames:{size:{'1':'switch_switchThumbRecipe_size_1__1dl6sj14','2':'switch_switchThumbRecipe_size_2__1dl6sj15'}},defaultVariants:{size:'1'},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;AAAA;;;ACCA,6BAA0C;AACnC,IAAI,mBAAe,uBAAAA,iBAAO,EAAC,kBAAiB,iCAAgC,mBAAkB,EAAC,MAAK,EAAC,KAAI,wCAAuC,KAAI,uCAAsC,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;AAC5O,IAAI,wBAAoB,uBAAAA,iBAAO,EAAC,kBAAiB,sCAAqC,mBAAkB,EAAC,MAAK,EAAC,KAAI,6CAA4C,KAAI,4CAA2C,EAAC,GAAE,iBAAgB,EAAC,MAAK,IAAG,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACHhQ,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;;;ALMA,sBAAiC;AAa7B;AARG,IAAM,cAAc,CAAC,EAAE,GAAG,MAAM,MAAwB;AAC7D,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,kBAAkB,SAAS;AAAA,EAChC;AACA,QAAM,cAAc,kBAAkB,QAAQ;AAE9C,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,aAAa,KAAK,SAAS;AAAA;AAAA,EACrD;AAEJ;AAIO,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AACnD,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,aAAa,SAAS;AAAA,EAC3B;AACA,QAAM,UAAU,aAAa,QAAQ;AAErC,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,SAAS,KAAK,SAAS;AAAA,MAE/C,sDAAC,eAAY,MAAM,SAAS,MAAM;AAAA;AAAA,EACpC;AAEJ;","names":["_7a468"]}
@@ -3,8 +3,9 @@ import {
3
3
  switchThumbRecipe
4
4
  } from "../chunk-C4NLMHMQ.mjs";
5
5
  import {
6
- pick
7
- } from "../chunk-4N6P3Y54.mjs";
6
+ extractVariantsFromProps
7
+ } from "../chunk-DQ4T4WV3.mjs";
8
+ import "../chunk-BALC5CGU.mjs";
8
9
  import {
9
10
  mergeClasses
10
11
  } from "../chunk-7EGQM3ZL.mjs";
@@ -13,24 +14,30 @@ import {
13
14
  import * as SwitchPrimitive from "@radix-ui/react-switch";
14
15
  import { jsx } from "react/jsx-runtime";
15
16
  var SwitchThumb = ({ ...props }) => {
16
- const variants = pick(props, ...switchThumbRecipe.variants());
17
+ const [variants, rest] = extractVariantsFromProps(
18
+ props,
19
+ ...switchThumbRecipe.variants()
20
+ );
17
21
  const switchThumb = switchThumbRecipe(variants);
18
22
  return /* @__PURE__ */ jsx(
19
23
  SwitchPrimitive.Thumb,
20
24
  {
21
- ...props,
22
- className: mergeClasses(switchThumb, props.className)
25
+ ...rest,
26
+ className: mergeClasses(switchThumb, rest.className)
23
27
  }
24
28
  );
25
29
  };
26
30
  var Switch = ({ ...props }) => {
27
- const variants = pick(props, ...switchRecipe.variants());
31
+ const [variants, rest] = extractVariantsFromProps(
32
+ props,
33
+ ...switchRecipe.variants()
34
+ );
28
35
  const _switch = switchRecipe(variants);
29
36
  return /* @__PURE__ */ jsx(
30
37
  SwitchPrimitive.Root,
31
38
  {
32
- ...props,
33
- className: mergeClasses(_switch, props.className),
39
+ ...rest,
40
+ className: mergeClasses(_switch, rest.className),
34
41
  children: /* @__PURE__ */ jsx(SwitchThumb, { size: variants.size })
35
42
  }
36
43
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/switch.tsx"],"sourcesContent":["import {\n switchRecipe,\n switchThumbRecipe,\n SwitchThumbVariants,\n SwitchVariants,\n} from \"@/theme/recipes/switch.css\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { pick } from \"@/utils/pick\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\ntype SwitchThumbProps = SwitchPrimitive.SwitchThumbProps & SwitchThumbVariants;\n\nexport const SwitchThumb = ({ ...props }: SwitchThumbProps) => {\n const variants = pick(props, ...switchThumbRecipe.variants());\n const switchThumb = switchThumbRecipe(variants);\n\n return (\n <SwitchPrimitive.Thumb\n {...props}\n className={mergeClasses(switchThumb, props.className)}\n />\n );\n};\n\ntype SwitchProps = SwitchPrimitive.SwitchProps & SwitchVariants;\n\nexport const Switch = ({ ...props }: SwitchProps) => {\n const variants = pick(props, ...switchRecipe.variants());\n const _switch = switchRecipe(variants); // 'switch' is not allowed as a variable declaration name.ts(1389)\n\n return (\n <SwitchPrimitive.Root\n {...props}\n className={mergeClasses(_switch, props.className)}\n >\n <SwitchThumb size={variants.size} />\n </SwitchPrimitive.Root>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAQA,YAAY,qBAAqB;AAS7B;AALG,IAAM,cAAc,CAAC,EAAE,GAAG,MAAM,MAAwB;AAC7D,QAAM,WAAW,KAAK,OAAO,GAAG,kBAAkB,SAAS,CAAC;AAC5D,QAAM,cAAc,kBAAkB,QAAQ;AAE9C,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,aAAa,MAAM,SAAS;AAAA;AAAA,EACtD;AAEJ;AAIO,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AACnD,QAAM,WAAW,KAAK,OAAO,GAAG,aAAa,SAAS,CAAC;AACvD,QAAM,UAAU,aAAa,QAAQ;AAErC,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,SAAS,MAAM,SAAS;AAAA,MAEhD,8BAAC,eAAY,MAAM,SAAS,MAAM;AAAA;AAAA,EACpC;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/switch.tsx"],"sourcesContent":["import {\n switchRecipe,\n switchThumbRecipe,\n SwitchThumbVariants,\n SwitchVariants,\n} from \"@/theme/recipes/switch.css\";\nimport { extractVariantsFromProps } from \"@/utils/get-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nexport type SwitchThumbProps = SwitchPrimitive.SwitchThumbProps &\n SwitchThumbVariants;\n\nexport const SwitchThumb = ({ ...props }: SwitchThumbProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...switchThumbRecipe.variants(),\n );\n const switchThumb = switchThumbRecipe(variants);\n\n return (\n <SwitchPrimitive.Thumb\n {...rest}\n className={mergeClasses(switchThumb, rest.className)}\n />\n );\n};\n\nexport type SwitchProps = SwitchPrimitive.SwitchProps & SwitchVariants;\n\nexport const Switch = ({ ...props }: SwitchProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...switchRecipe.variants(),\n );\n const _switch = switchRecipe(variants); // 'switch' is not allowed as a variable declaration name.ts(1389)\n\n return (\n <SwitchPrimitive.Root\n {...rest}\n className={mergeClasses(_switch, rest.className)}\n >\n <SwitchThumb size={variants.size} />\n </SwitchPrimitive.Root>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAQA,YAAY,qBAAqB;AAa7B;AARG,IAAM,cAAc,CAAC,EAAE,GAAG,MAAM,MAAwB;AAC7D,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,kBAAkB,SAAS;AAAA,EAChC;AACA,QAAM,cAAc,kBAAkB,QAAQ;AAE9C,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,aAAa,KAAK,SAAS;AAAA;AAAA,EACrD;AAEJ;AAIO,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AACnD,QAAM,CAAC,UAAU,IAAI,IAAI;AAAA,IACvB;AAAA,IACA,GAAG,aAAa,SAAS;AAAA,EAC3B;AACA,QAAM,UAAU,aAAa,QAAQ;AAErC,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,aAAa,SAAS,KAAK,SAAS;AAAA,MAE/C,8BAAC,eAAY,MAAM,SAAS,MAAM;AAAA;AAAA,EACpC;AAEJ;","names":[]}
@@ -7,4 +7,4 @@ declare const defaultElement = "input";
7
7
  type TextFieldProps = ComponentProps<typeof defaultElement, TextFieldVariants>;
8
8
  declare const TextField: ({ asChild, ...props }: TextFieldProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { TextField };
10
+ export { TextField, type TextFieldProps };
@@ -7,4 +7,4 @@ declare const defaultElement = "input";
7
7
  type TextFieldProps = ComponentProps<typeof defaultElement, TextFieldVariants>;
8
8
  declare const TextField: ({ asChild, ...props }: TextFieldProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { TextField };
10
+ export { TextField, type TextFieldProps };
@@ -28,9 +28,13 @@ module.exports = __toCommonJS(text_field_exports);
28
28
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
29
29
  var textFieldRecipe = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "text-field_textFieldRecipe__i0hdwa0", variantClassNames: { size: { "1": "text-field_textFieldRecipe_size_1__i0hdwa1", "2": "text-field_textFieldRecipe_size_2__i0hdwa2", "3": "text-field_textFieldRecipe_size_3__i0hdwa3" }, error: { true: "text-field_textFieldRecipe_error_true__i0hdwa4" }, cursor: { "default": "text-field_textFieldRecipe_cursor_default__i0hdwa5", text: "text-field_textFieldRecipe_cursor_text__i0hdwa6" }, variant: { outline: "text-field_textFieldRecipe_variant_outline__i0hdwa7", ghost: "text-field_textFieldRecipe_variant_ghost__i0hdwa8" } }, defaultVariants: { size: "2", variant: "outline" }, 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/get-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/text-field.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 = "input";
49
65
  var TextField = ({ asChild, ...props }) => {
50
- const variants = pick(props, ...textFieldRecipe.variants());
66
+ const [variants, rest] = extractVariantsFromProps(
67
+ props,
68
+ ...textFieldRecipe.variants()
69
+ );
51
70
  const textField = textFieldRecipe(variants);
52
71
  const Comp = asChild ? import_react_slot.Slot : defaultElement;
53
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...props, className: mergeClasses(textField, props.className), children: props.children });
72
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { ...rest, className: mergeClasses(textField, 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/text-field.tsx","../../src/theme/recipes/text-field.css.ts","../../src/utils/merge-classes.ts","../../src/utils/pick.ts"],"sourcesContent":["import {\n TextFieldVariants,\n textFieldRecipe,\n} from \"@/theme/recipes/text-field.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 = \"input\";\n\ntype TextFieldProps = ComponentProps<typeof defaultElement, TextFieldVariants>;\n\nexport const TextField = ({ asChild, ...props }: TextFieldProps) => {\n const variants = pick(props, ...textFieldRecipe.variants());\n const textField = textFieldRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(textField, props.className)}>\n {props.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/text-field.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7VW247TMBB971cEIaSthFdpy96yTwgJ7SOCR4SiSTxJzLp2ZDttt4h/R3biXNhtk9KlUdN0PD5nfGY88aXBnSEZQ05j+/jZPn3FlJUYxyws6BbC4NcsCKAsERSIFKNASIH3syBIpKKoyJZRU0RBWJt2RLM9E3nkhxO5syOZFIZksGb8KQqYKFAxY+1rUDkTzXRZGc5Ej6IESh2YG26YFmH4zv4lW0wemSEGSlKwvOAsLwxJJZcqClSewEX43l1zFxqkj7mSlaDexSgQugSFwkXSWHuxuZg3oBgIQ0S1RsXSKDCQVByUNej72e/Z5QQNo0JuUDkln8exAXVBiMY1CMPST9aoSS+4Bzs3jhd3IsFbusyy+WTaCDLjeQ+kZipSgplU+BpQlGlIONKjcqS1DJqDwfq+bCVYPP2ct9VWAJVbmzaNJgjdtSh3L6B8bH5uOpx9XRojxLc94rKeUCltZwhpCHAut0hdtUomDCqCGxRG+yqeqEom00o7SdpdYNehJWc0eBu6z2QwhUCJFPzpTI2n0X2nYIAwsQHO6I+uRIapKXftt0vQX1WPSklV3++6isfliaGUHFIsJKeo6nCO7jTcmS/dhN5Go6O0mu0xXnj2RbN0tyMUUFZpz2n/MbLowPPCVVKBtmm1kbE9anLV80rnbSOyg97RGr455w7ybt7rmIRj1sGWkCLp5XbgqQYRvOhqy5FMCfUktSLfwKEyMmOcR1HGlDbE0jkpJ697Au/S8y7HsrTsLYqN6b9qnZNDUlnTg7Noct0rr83BCuh55XQkrV0Ay7G0Dl1P0uysXA01msC78ryrV83Vh9Y5PV7WNz1UPJil516Hs9RRr8ayNHQ9Sa2zsjRU5ziv69CxUVXbeT/8l7YfvGHrUioD9oh2PKT6nRxTzKDixod1Vbf/5n3dDP4jVO8V7QHtzIlo1uyhrk8GaU6hcXM28EA356heA7XtCEez7oPIC6nbtdw+C6E59vwBDpIHZFwMAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textFieldRecipe = _7a468({defaultClassName:'text-field_textFieldRecipe__i0hdwa0',variantClassNames:{size:{'1':'text-field_textFieldRecipe_size_1__i0hdwa1','2':'text-field_textFieldRecipe_size_2__i0hdwa2','3':'text-field_textFieldRecipe_size_3__i0hdwa3'},error:{true:'text-field_textFieldRecipe_error_true__i0hdwa4'},cursor:{'default':'text-field_textFieldRecipe_cursor_default__i0hdwa5',text:'text-field_textFieldRecipe_cursor_text__i0hdwa6'},variant:{outline:'text-field_textFieldRecipe_variant_outline__i0hdwa7',ghost:'text-field_textFieldRecipe_variant_ghost__i0hdwa8'}},defaultVariants:{size:'2',variant:'outline'},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,uCAAsC,mBAAkB,EAAC,MAAK,EAAC,KAAI,8CAA6C,KAAI,8CAA6C,KAAI,6CAA4C,GAAE,OAAM,EAAC,MAAK,iDAAgD,GAAE,QAAO,EAAC,WAAU,sDAAqD,MAAK,kDAAiD,GAAE,SAAQ,EAAC,SAAQ,uDAAsD,OAAM,oDAAmD,EAAC,GAAE,iBAAgB,EAAC,MAAK,KAAI,SAAQ,UAAS,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACFnoB,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/text-field.tsx","../../src/theme/recipes/text-field.css.ts","../../src/utils/omit.ts","../../src/utils/pick.ts","../../src/utils/get-variants.ts","../../src/utils/merge-classes.ts"],"sourcesContent":["import {\n TextFieldVariants,\n textFieldRecipe,\n} from \"@/theme/recipes/text-field.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/get-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"input\";\n\nexport type TextFieldProps = ComponentProps<\n typeof defaultElement,\n TextFieldVariants\n>;\n\nexport const TextField = ({ asChild, ...props }: TextFieldProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...textFieldRecipe.variants(),\n );\n const textField = textFieldRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(textField, rest.className)}>\n {rest.children}\n </Comp>\n );\n};\n","import 'src/theme/recipes/text-field.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7VW247TMBB971cEIaSthFdpy96yTwgJ7SOCR4SiSTxJzLp2ZDttt4h/R3biXNhtk9KlUdN0PD5nfGY88aXBnSEZQ05j+/jZPn3FlJUYxyws6BbC4NcsCKAsERSIFKNASIH3syBIpKKoyJZRU0RBWJt2RLM9E3nkhxO5syOZFIZksGb8KQqYKFAxY+1rUDkTzXRZGc5Ej6IESh2YG26YFmH4zv4lW0wemSEGSlKwvOAsLwxJJZcqClSewEX43l1zFxqkj7mSlaDexSgQugSFwkXSWHuxuZg3oBgIQ0S1RsXSKDCQVByUNej72e/Z5QQNo0JuUDkln8exAXVBiMY1CMPST9aoSS+4Bzs3jhd3IsFbusyy+WTaCDLjeQ+kZipSgplU+BpQlGlIONKjcqS1DJqDwfq+bCVYPP2ct9VWAJVbmzaNJgjdtSh3L6B8bH5uOpx9XRojxLc94rKeUCltZwhpCHAut0hdtUomDCqCGxRG+yqeqEom00o7SdpdYNehJWc0eBu6z2QwhUCJFPzpTI2n0X2nYIAwsQHO6I+uRIapKXftt0vQX1WPSklV3++6isfliaGUHFIsJKeo6nCO7jTcmS/dhN5Go6O0mu0xXnj2RbN0tyMUUFZpz2n/MbLowPPCVVKBtmm1kbE9anLV80rnbSOyg97RGr455w7ybt7rmIRj1sGWkCLp5XbgqQYRvOhqy5FMCfUktSLfwKEyMmOcR1HGlDbE0jkpJ697Au/S8y7HsrTsLYqN6b9qnZNDUlnTg7Noct0rr83BCuh55XQkrV0Ay7G0Dl1P0uysXA01msC78ryrV83Vh9Y5PV7WNz1UPJil516Hs9RRr8ayNHQ9Sa2zsjRU5ziv69CxUVXbeT/8l7YfvGHrUioD9oh2PKT6nRxTzKDixod1Vbf/5n3dDP4jVO8V7QHtzIlo1uyhrk8GaU6hcXM28EA356heA7XtCEez7oPIC6nbtdw+C6E59vwBDpIHZFwMAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textFieldRecipe = _7a468({defaultClassName:'text-field_textFieldRecipe__i0hdwa0',variantClassNames:{size:{'1':'text-field_textFieldRecipe_size_1__i0hdwa1','2':'text-field_textFieldRecipe_size_2__i0hdwa2','3':'text-field_textFieldRecipe_size_3__i0hdwa3'},error:{true:'text-field_textFieldRecipe_error_true__i0hdwa4'},cursor:{'default':'text-field_textFieldRecipe_cursor_default__i0hdwa5',text:'text-field_textFieldRecipe_cursor_text__i0hdwa6'},variant:{outline:'text-field_textFieldRecipe_variant_outline__i0hdwa7',ghost:'text-field_textFieldRecipe_variant_ghost__i0hdwa8'}},defaultVariants:{size:'2',variant:'outline'},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,uCAAsC,mBAAkB,EAAC,MAAK,EAAC,KAAI,8CAA6C,KAAI,8CAA6C,KAAI,6CAA4C,GAAE,OAAM,EAAC,MAAK,iDAAgD,GAAE,QAAO,EAAC,WAAU,sDAAqD,MAAK,kDAAiD,GAAE,SAAQ,EAAC,SAAQ,uDAAsD,OAAM,oDAAmD,EAAC,GAAE,iBAAgB,EAAC,MAAK,KAAI,SAAQ,UAAS,GAAE,kBAAiB,CAAC,EAAC,CAAC;;;ACFnoB,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,9 @@ import {
2
2
  textFieldRecipe
3
3
  } from "../chunk-DXKT5AFF.mjs";
4
4
  import {
5
- pick
6
- } from "../chunk-4N6P3Y54.mjs";
5
+ extractVariantsFromProps
6
+ } from "../chunk-DQ4T4WV3.mjs";
7
+ import "../chunk-BALC5CGU.mjs";
7
8
  import {
8
9
  mergeClasses
9
10
  } from "../chunk-7EGQM3ZL.mjs";
@@ -13,10 +14,13 @@ import { Slot } from "@radix-ui/react-slot";
13
14
  import { jsx } from "react/jsx-runtime";
14
15
  var defaultElement = "input";
15
16
  var TextField = ({ asChild, ...props }) => {
16
- const variants = pick(props, ...textFieldRecipe.variants());
17
+ const [variants, rest] = extractVariantsFromProps(
18
+ props,
19
+ ...textFieldRecipe.variants()
20
+ );
17
21
  const textField = textFieldRecipe(variants);
18
22
  const Comp = asChild ? Slot : defaultElement;
19
- return /* @__PURE__ */ jsx(Comp, { ...props, className: mergeClasses(textField, props.className), children: props.children });
23
+ return /* @__PURE__ */ jsx(Comp, { ...rest, className: mergeClasses(textField, rest.className), children: rest.children });
20
24
  };
21
25
  export {
22
26
  TextField
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/text-field.tsx"],"sourcesContent":["import {\n TextFieldVariants,\n textFieldRecipe,\n} from \"@/theme/recipes/text-field.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 = \"input\";\n\ntype TextFieldProps = ComponentProps<typeof defaultElement, TextFieldVariants>;\n\nexport const TextField = ({ asChild, ...props }: TextFieldProps) => {\n const variants = pick(props, ...textFieldRecipe.variants());\n const textField = textFieldRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...props} className={mergeClasses(textField, 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/text-field.tsx"],"sourcesContent":["import {\n TextFieldVariants,\n textFieldRecipe,\n} from \"@/theme/recipes/text-field.css\";\nimport { ComponentProps } from \"@/types/component-props\";\nimport { extractVariantsFromProps } from \"@/utils/get-variants\";\nimport { mergeClasses } from \"@/utils/merge-classes\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nconst defaultElement = \"input\";\n\nexport type TextFieldProps = ComponentProps<\n typeof defaultElement,\n TextFieldVariants\n>;\n\nexport const TextField = ({ asChild, ...props }: TextFieldProps) => {\n const [variants, rest] = extractVariantsFromProps(\n props,\n ...textFieldRecipe.variants(),\n );\n const textField = textFieldRecipe(variants);\n const Comp = asChild ? Slot : defaultElement;\n\n return (\n <Comp {...rest} className={mergeClasses(textField, 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":[]}
@@ -7,4 +7,4 @@ declare const defaultElement = "span";
7
7
  type TextProps = ComponentProps<typeof defaultElement, TextVariants>;
8
8
  declare const Text: ({ asChild, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Text };
10
+ export { Text, type TextProps };
@@ -7,4 +7,4 @@ declare const defaultElement = "span";
7
7
  type TextProps = ComponentProps<typeof defaultElement, TextVariants>;
8
8
  declare const Text: ({ asChild, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
9
9
 
10
- export { Text };
10
+ export { Text, type TextProps };