@tipp/ui 1.4.9 → 1.4.11

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 (111) hide show
  1. package/dist/atoms/button.cjs +7 -3
  2. package/dist/atoms/button.cjs.map +1 -1
  3. package/dist/atoms/button.d.cts +6 -10
  4. package/dist/atoms/button.d.ts +6 -10
  5. package/dist/atoms/button.js +2 -1
  6. package/dist/atoms/button.type.cjs +19 -0
  7. package/dist/atoms/button.type.cjs.map +1 -0
  8. package/dist/atoms/button.type.d.cts +11 -0
  9. package/dist/atoms/button.type.d.ts +11 -0
  10. package/dist/atoms/button.type.js +2 -0
  11. package/dist/atoms/button.type.js.map +1 -0
  12. package/dist/atoms/dialog.cjs +7 -3
  13. package/dist/atoms/dialog.cjs.map +1 -1
  14. package/dist/atoms/dialog.js +3 -2
  15. package/dist/atoms/drawer.cjs +7 -3
  16. package/dist/atoms/drawer.cjs.map +1 -1
  17. package/dist/atoms/drawer.js +3 -2
  18. package/dist/atoms/field-error-wrapper.js +2 -2
  19. package/dist/atoms/index.cjs +7 -3
  20. package/dist/atoms/index.cjs.map +1 -1
  21. package/dist/atoms/index.d.cts +5 -3
  22. package/dist/atoms/index.d.ts +5 -3
  23. package/dist/atoms/index.js +49 -47
  24. package/dist/atoms/pagination.js +2 -2
  25. package/dist/chunk-2E772Q7M.js +340 -0
  26. package/dist/chunk-2E772Q7M.js.map +1 -0
  27. package/dist/chunk-2FFOY3WE.js +63 -0
  28. package/dist/chunk-2FFOY3WE.js.map +1 -0
  29. package/dist/chunk-3D63H4NN.js +192 -0
  30. package/dist/chunk-3D63H4NN.js.map +1 -0
  31. package/dist/chunk-5JNG5M3K.js +192 -0
  32. package/dist/chunk-5JNG5M3K.js.map +1 -0
  33. package/dist/chunk-6SVCBP7D.js +340 -0
  34. package/dist/chunk-6SVCBP7D.js.map +1 -0
  35. package/dist/chunk-AA4HC2IG.js +164 -0
  36. package/dist/chunk-AA4HC2IG.js.map +1 -0
  37. package/dist/chunk-AX66E4SD.js +192 -0
  38. package/dist/chunk-AX66E4SD.js.map +1 -0
  39. package/dist/chunk-BDVTRPXG.js +88 -0
  40. package/dist/chunk-BDVTRPXG.js.map +1 -0
  41. package/dist/chunk-CAI3LDYJ.js +340 -0
  42. package/dist/chunk-CAI3LDYJ.js.map +1 -0
  43. package/dist/chunk-CLBSZCMO.js +164 -0
  44. package/dist/chunk-CLBSZCMO.js.map +1 -0
  45. package/dist/chunk-DKOJFPCY.js +63 -0
  46. package/dist/chunk-DKOJFPCY.js.map +1 -0
  47. package/dist/chunk-DUQ7QVCY.js +340 -0
  48. package/dist/chunk-DUQ7QVCY.js.map +1 -0
  49. package/dist/chunk-F44BXTHN.js +63 -0
  50. package/dist/chunk-F44BXTHN.js.map +1 -0
  51. package/dist/chunk-KTVZ4KLX.js +1 -0
  52. package/dist/chunk-KTVZ4KLX.js.map +1 -0
  53. package/dist/chunk-LQY4RKWI.js +37 -0
  54. package/dist/chunk-LQY4RKWI.js.map +1 -0
  55. package/dist/chunk-OCINOC2X.js +63 -0
  56. package/dist/chunk-OCINOC2X.js.map +1 -0
  57. package/dist/chunk-OU5D7QL4.js +340 -0
  58. package/dist/chunk-OU5D7QL4.js.map +1 -0
  59. package/dist/chunk-RIV3DRTO.js +340 -0
  60. package/dist/chunk-RIV3DRTO.js.map +1 -0
  61. package/dist/chunk-U7JPP7WJ.js +49 -0
  62. package/dist/chunk-U7JPP7WJ.js.map +1 -0
  63. package/dist/chunk-UC627KGO.js +60 -0
  64. package/dist/chunk-UC627KGO.js.map +1 -0
  65. package/dist/chunk-WIQMMFGJ.js +164 -0
  66. package/dist/chunk-WIQMMFGJ.js.map +1 -0
  67. package/dist/chunk-YL6LJBVF.js +164 -0
  68. package/dist/chunk-YL6LJBVF.js.map +1 -0
  69. package/dist/chunk-ZD7MNMED.js +1 -0
  70. package/dist/chunk-ZD7MNMED.js.map +1 -0
  71. package/dist/index.cjs +8 -4
  72. package/dist/index.cjs.map +1 -1
  73. package/dist/index.d.cts +5 -3
  74. package/dist/index.d.ts +5 -3
  75. package/dist/index.js +68 -66
  76. package/dist/molecules/date-picker/index.js +2 -2
  77. package/dist/molecules/expand-table/index.js +27 -25
  78. package/dist/molecules/expand-table/row.js +25 -23
  79. package/dist/molecules/index.cjs +8 -4
  80. package/dist/molecules/index.cjs.map +1 -1
  81. package/dist/molecules/index.js +32 -30
  82. package/dist/molecules/learning-post.cjs +7 -3
  83. package/dist/molecules/learning-post.cjs.map +1 -1
  84. package/dist/molecules/learning-post.js +5 -4
  85. package/dist/molecules/navigation.cjs +7 -3
  86. package/dist/molecules/navigation.cjs.map +1 -1
  87. package/dist/molecules/navigation.js +26 -24
  88. package/dist/molecules/stepper.js +3 -3
  89. package/dist/molecules/tag-selector.cjs +8 -4
  90. package/dist/molecules/tag-selector.cjs.map +1 -1
  91. package/dist/molecules/tag-selector.js +26 -24
  92. package/dist/test/button.test.cjs +53 -0
  93. package/dist/test/button.test.cjs.map +1 -0
  94. package/dist/test/button.test.d.cts +2 -0
  95. package/dist/test/button.test.d.ts +2 -0
  96. package/dist/test/button.test.js +31 -0
  97. package/dist/test/button.test.js.map +1 -0
  98. package/dist/utils/convert-button-size.cjs +63 -0
  99. package/dist/utils/convert-button-size.cjs.map +1 -0
  100. package/dist/utils/convert-button-size.d.cts +9 -0
  101. package/dist/utils/convert-button-size.d.ts +9 -0
  102. package/dist/utils/convert-button-size.js +12 -0
  103. package/dist/utils/convert-button-size.js.map +1 -0
  104. package/dist/utils/index.js +3 -3
  105. package/package.json +6 -1
  106. package/src/atoms/button.tsx +3 -46
  107. package/src/atoms/button.type.ts +13 -0
  108. package/src/atoms/index.ts +1 -0
  109. package/src/molecules/tag-selector.tsx +1 -1
  110. package/src/test/button.test.ts +27 -0
  111. package/src/utils/convert-button-size.ts +41 -0
@@ -52,9 +52,10 @@ __export(button_exports, {
52
52
  Button: () => Button
53
53
  });
54
54
  module.exports = __toCommonJS(button_exports);
55
- var import_themes = require("@radix-ui/themes");
56
55
  var import_react = require("react");
57
- var import_jsx_runtime = require("react/jsx-runtime");
56
+ var import_themes = require("@radix-ui/themes");
57
+
58
+ // src/utils/convert-button-size.ts
58
59
  var convertSizeStr = (size) => {
59
60
  switch (size) {
60
61
  case "small":
@@ -73,7 +74,7 @@ var convertSizeResponse = (size) => {
73
74
  }
74
75
  const radixSize = {};
75
76
  let key = "initial";
76
- for (key in radixSize) {
77
+ for (key in size) {
77
78
  radixSize[key] = convertSizeStr(size[key]);
78
79
  }
79
80
  return radixSize;
@@ -84,6 +85,9 @@ var convertSize = (size) => {
84
85
  }
85
86
  return convertSizeResponse(size);
86
87
  };
88
+
89
+ // src/atoms/button.tsx
90
+ var import_jsx_runtime = require("react/jsx-runtime");
87
91
  var Button = (0, import_react.forwardRef)(
88
92
  (props, ref) => {
89
93
  const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/atoms/button.tsx"],"sourcesContent":["import {\n Button as RadixButton,\n type ButtonProps as RadixButtonProps,\n} from '@radix-ui/themes';\nimport type { Breakpoint, Responsive } from '@radix-ui/themes/props';\nimport React, { forwardRef, useMemo } from 'react';\n\nexport type ButtonProps = Omit<RadixButtonProps, 'size' | 'variant'> & {\n size?: Responsive<'small' | 'medium' | 'large'>;\n variant?: RadixButtonProps['variant'] | 'transparent';\n};\n\nconst convertSizeStr = (size: ButtonProps['size']): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nconst convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in radixSize) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nconst convertSize = (size: ButtonProps['size']): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n // string인 경우\n //object인 경우\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const mergedStyle = useMemo<ButtonProps['style']>(() => {\n const baseStyle = {\n background: variant === 'transparent' ? 'transparent' : undefined,\n fontWeight: 400,\n };\n return { ...baseStyle, ...style };\n }, [style, variant]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'ghost';\n return variant;\n }, [variant]);\n\n return (\n <RadixButton\n style={mergedStyle}\n variant={radixVariant}\n {...restProps}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAGO;AAEP,mBAA2C;AAiErC;AA1DN,IAAM,iBAAiB,CAAC,SAAqD;AAC3E,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,sBAAsB,CAC1B,SAC6B;AAC7B,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,aAAa;AAC3D,WAAO,eAAe,IAAI;AAAA,EAC5B;AACA,QAAM,YAAsC,CAAC;AAC7C,MAAI,MAAkB;AACtB,OAAK,OAAO,WAAW;AACrB,cAAU,GAAG,IAAI,eAAe,KAAK,GAAG,CAAC;AAAA,EAC3C;AACA,SAAO;AACT;AAEA,IAAM,cAAc,CAAC,SAAwD;AAC3E,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,eAAe,IAAI;AAAA,EAC5B;AACA,SAAO,oBAAoB,IAAI;AACjC;AAEO,IAAM,aAAS;AAAA,EACpB,CAAC,OAAO,QAA4B;AAClC,UAA+C,YAAvC,QAAM,OAAO,QAhDzB,IAgDmD,IAAd,sBAAc,IAAd,CAAzB,QAAM,SAAO;AAIrB,UAAM,gBAAY,sBAAQ,MAAM;AAC9B,aAAO,YAAY,IAAI;AAAA,IACzB,GAAG,CAAC,IAAI,CAAC;AAET,UAAM,kBAAc,sBAA8B,MAAM;AACtD,YAAM,YAAY;AAAA,QAChB,YAAY,YAAY,gBAAgB,gBAAgB;AAAA,QACxD,YAAY;AAAA,MACd;AACA,aAAO,kCAAK,YAAc;AAAA,IAC5B,GAAG,CAAC,OAAO,OAAO,CAAC;AAEnB,UAAM,mBAAe,sBAAQ,MAAM;AACjC,UAAI,YAAY;AAAe,eAAO;AACtC,aAAO;AAAA,IACT,GAAG,CAAC,OAAO,CAAC;AAEZ,WACE;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,SAAS;AAAA,SACL,YAHL;AAAA,QAIC;AAAA,QACA,MAAM;AAAA;AAAA,IACR;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["RadixButton"]}
1
+ {"version":3,"sources":["../../src/atoms/button.tsx","../../src/utils/convert-button-size.ts"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { Button as RadixButton } from '@radix-ui/themes';\nimport { convertSize } from '../utils/convert-button-size';\nimport type { ButtonProps } from './button.type';\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const mergedStyle = useMemo<ButtonProps['style']>(() => {\n const baseStyle = {\n background: variant === 'transparent' ? 'transparent' : undefined,\n fontWeight: 400,\n };\n return { ...baseStyle, ...style };\n }, [style, variant]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'ghost';\n return variant;\n }, [variant]);\n\n return (\n <RadixButton\n style={mergedStyle}\n variant={radixVariant}\n {...restProps}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n","import { type ButtonProps as RadixButtonProps } from '@radix-ui/themes';\nimport type { Breakpoint } from '@radix-ui/themes/props';\nimport type { ButtonProps } from '../atoms/button.type';\n\nexport const convertSizeStr = (\n size: ButtonProps['size']\n): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nexport const convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in size) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nexport const convertSize = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2C;AAC3C,oBAAsC;;;ACG/B,IAAM,iBAAiB,CAC5B,SAC0B;AAC1B,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,sBAAsB,CACjC,SAC6B;AAC7B,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,aAAa;AAC3D,WAAO,eAAe,IAAI;AAAA,EAC5B;AACA,QAAM,YAAsC,CAAC;AAC7C,MAAI,MAAkB;AACtB,OAAK,OAAO,MAAM;AAChB,cAAU,GAAG,IAAI,eAAe,KAAK,GAAG,CAAC;AAAA,EAC3C;AACA,SAAO;AACT;AAEO,IAAM,cAAc,CACzB,SAC6B;AAC7B,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,eAAe,IAAI;AAAA,EAC5B;AACA,SAAO,oBAAoB,IAAI;AACjC;;;ADbM;AAtBC,IAAM,aAAS;AAAA,EACpB,CAAC,OAAO,QAA4B;AAClC,UAA+C,YAAvC,QAAM,OAAO,QAPzB,IAOmD,IAAd,sBAAc,IAAd,CAAzB,QAAM,SAAO;AAErB,UAAM,gBAAY,sBAAQ,MAAM;AAC9B,aAAO,YAAY,IAAI;AAAA,IACzB,GAAG,CAAC,IAAI,CAAC;AAET,UAAM,kBAAc,sBAA8B,MAAM;AACtD,YAAM,YAAY;AAAA,QAChB,YAAY,YAAY,gBAAgB,gBAAgB;AAAA,QACxD,YAAY;AAAA,MACd;AACA,aAAO,kCAAK,YAAc;AAAA,IAC5B,GAAG,CAAC,OAAO,OAAO,CAAC;AAEnB,UAAM,mBAAe,sBAAQ,MAAM;AACjC,UAAI,YAAY;AAAe,eAAO;AACtC,aAAO;AAAA,IACT,GAAG,CAAC,OAAO,CAAC;AAEZ,WACE;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,SAAS;AAAA,SACL,YAHL;AAAA,QAIC;AAAA,QACA,MAAM;AAAA;AAAA,IACR;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["RadixButton"]}
@@ -1,14 +1,10 @@
1
- import { ButtonProps as ButtonProps$1 } from '@radix-ui/themes';
2
- import { Responsive } from '@radix-ui/themes/props';
1
+ import * as _radix_ui_themes_dist_esm_props_prop_def_js from '@radix-ui/themes/dist/esm/props/prop-def.js';
2
+ import * as _radix_ui_themes from '@radix-ui/themes';
3
3
  import react__default from 'react';
4
4
 
5
- type ButtonProps = Omit<ButtonProps$1, 'size' | 'variant'> & {
6
- size?: Responsive<'small' | 'medium' | 'large'>;
7
- variant?: ButtonProps$1['variant'] | 'transparent';
8
- };
9
- declare const Button: react__default.ForwardRefExoticComponent<Omit<ButtonProps$1, "size" | "variant"> & {
10
- size?: Responsive<"small" | "medium" | "large"> | undefined;
11
- variant?: ButtonProps$1['variant'] | 'transparent';
5
+ declare const Button: react__default.ForwardRefExoticComponent<Omit<_radix_ui_themes.ButtonProps, "size" | "variant"> & {
6
+ size?: _radix_ui_themes_dist_esm_props_prop_def_js.Responsive<"small" | "medium" | "large"> | undefined;
7
+ variant?: "solid" | "soft" | "surface" | "outline" | "classic" | "ghost" | "transparent" | undefined;
12
8
  } & react__default.RefAttributes<HTMLButtonElement>>;
13
9
 
14
- export { Button, type ButtonProps };
10
+ export { Button };
@@ -1,14 +1,10 @@
1
- import { ButtonProps as ButtonProps$1 } from '@radix-ui/themes';
2
- import { Responsive } from '@radix-ui/themes/props';
1
+ import * as _radix_ui_themes_dist_esm_props_prop_def_js from '@radix-ui/themes/dist/esm/props/prop-def.js';
2
+ import * as _radix_ui_themes from '@radix-ui/themes';
3
3
  import react__default from 'react';
4
4
 
5
- type ButtonProps = Omit<ButtonProps$1, 'size' | 'variant'> & {
6
- size?: Responsive<'small' | 'medium' | 'large'>;
7
- variant?: ButtonProps$1['variant'] | 'transparent';
8
- };
9
- declare const Button: react__default.ForwardRefExoticComponent<Omit<ButtonProps$1, "size" | "variant"> & {
10
- size?: Responsive<"small" | "medium" | "large"> | undefined;
11
- variant?: ButtonProps$1['variant'] | 'transparent';
5
+ declare const Button: react__default.ForwardRefExoticComponent<Omit<_radix_ui_themes.ButtonProps, "size" | "variant"> & {
6
+ size?: _radix_ui_themes_dist_esm_props_prop_def_js.Responsive<"small" | "medium" | "large"> | undefined;
7
+ variant?: "solid" | "soft" | "surface" | "outline" | "classic" | "ghost" | "transparent" | undefined;
12
8
  } & react__default.RefAttributes<HTMLButtonElement>>;
13
9
 
14
- export { Button, type ButtonProps };
10
+ export { Button };
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Button
3
- } from "../chunk-EIAK47TI.js";
3
+ } from "../chunk-U7JPP7WJ.js";
4
+ import "../chunk-LQY4RKWI.js";
4
5
  import "../chunk-N552FDTV.js";
5
6
  export {
6
7
  Button
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/atoms/button.type.ts
17
+ var button_type_exports = {};
18
+ module.exports = __toCommonJS(button_type_exports);
19
+ //# sourceMappingURL=button.type.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/atoms/button.type.ts"],"sourcesContent":["import {\n type Button as RadixButton,\n type ButtonProps as RadixButtonProps,\n} from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\n\nexport type ButtonProps = Omit<RadixButtonProps, 'size' | 'variant'> & {\n size?: Responsive<'small' | 'medium' | 'large'>;\n variant?: RadixButtonProps['variant'] | 'transparent';\n};\n\nexport type { Responsive } from '@radix-ui/themes/props';\nexport type { RadixButton, RadixButtonProps };\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { ButtonProps as ButtonProps$1 } from '@radix-ui/themes';
2
+ export { Button as RadixButton, ButtonProps as RadixButtonProps } from '@radix-ui/themes';
3
+ import { Responsive } from '@radix-ui/themes/props';
4
+ export { Responsive } from '@radix-ui/themes/props';
5
+
6
+ type ButtonProps = Omit<ButtonProps$1, 'size' | 'variant'> & {
7
+ size?: Responsive<'small' | 'medium' | 'large'>;
8
+ variant?: ButtonProps$1['variant'] | 'transparent';
9
+ };
10
+
11
+ export type { ButtonProps };
@@ -0,0 +1,11 @@
1
+ import { ButtonProps as ButtonProps$1 } from '@radix-ui/themes';
2
+ export { Button as RadixButton, ButtonProps as RadixButtonProps } from '@radix-ui/themes';
3
+ import { Responsive } from '@radix-ui/themes/props';
4
+ export { Responsive } from '@radix-ui/themes/props';
5
+
6
+ type ButtonProps = Omit<ButtonProps$1, 'size' | 'variant'> & {
7
+ size?: Responsive<'small' | 'medium' | 'large'>;
8
+ variant?: ButtonProps$1['variant'] | 'transparent';
9
+ };
10
+
11
+ export type { ButtonProps };
@@ -0,0 +1,2 @@
1
+ import "../chunk-ZD7MNMED.js";
2
+ //# sourceMappingURL=button.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -68,9 +68,10 @@ var import_themes2 = require("@radix-ui/themes");
68
68
  var import_react2 = require("react");
69
69
 
70
70
  // src/atoms/button.tsx
71
- var import_themes = require("@radix-ui/themes");
72
71
  var import_react = require("react");
73
- var import_jsx_runtime = require("react/jsx-runtime");
72
+ var import_themes = require("@radix-ui/themes");
73
+
74
+ // src/utils/convert-button-size.ts
74
75
  var convertSizeStr = (size) => {
75
76
  switch (size) {
76
77
  case "small":
@@ -89,7 +90,7 @@ var convertSizeResponse = (size) => {
89
90
  }
90
91
  const radixSize = {};
91
92
  let key = "initial";
92
- for (key in radixSize) {
93
+ for (key in size) {
93
94
  radixSize[key] = convertSizeStr(size[key]);
94
95
  }
95
96
  return radixSize;
@@ -100,6 +101,9 @@ var convertSize = (size) => {
100
101
  }
101
102
  return convertSizeResponse(size);
102
103
  };
104
+
105
+ // src/atoms/button.tsx
106
+ var import_jsx_runtime = require("react/jsx-runtime");
103
107
  var Button = (0, import_react.forwardRef)(
104
108
  (props, ref) => {
105
109
  const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/atoms/dialog.tsx","../../src/atoms/button.tsx"],"sourcesContent":["import * as RadixDialog from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport { Flex } from '@radix-ui/themes';\nimport { useEffect, useRef } from 'react';\nimport { Button } from './button';\n\ntype ContentProps = RadixDialog.DialogContentProps & {\n width?: string;\n maxWidth?: string;\n minWidth?: string;\n height?: string;\n maxHeight?: string;\n minHeight?: string;\n};\n\nfunction Content(props: ContentProps): React.ReactElement {\n const {\n children,\n style = {},\n width,\n maxWidth,\n minWidth,\n maxHeight,\n height,\n minHeight,\n ...rest\n } = props;\n const containerRef = useRef<Element | null>(null);\n\n useEffect(() => {\n containerRef.current = document.getElementsByClassName('radix-themes')[0];\n }, []);\n\n return (\n <RadixDialog.Portal container={containerRef.current}>\n <RadixDialog.Overlay className=\"DialogOverlay\">\n <RadixDialog.Content\n className=\"DialogContent\"\n style={{\n width,\n maxWidth,\n minWidth,\n maxHeight,\n height,\n minHeight,\n ...style,\n }}\n {...rest}\n >\n <Flex direction=\"column\" style={{ position: 'relative' }}>\n <RadixDialog.Close asChild className=\"DialogClose\">\n <Button color=\"gray\" variant=\"transparent\">\n <Cross1Icon height=\"18px\" width=\"18px\" />\n </Button>\n </RadixDialog.Close>\n {children}\n </Flex>\n </RadixDialog.Content>\n </RadixDialog.Overlay>\n </RadixDialog.Portal>\n );\n}\n\nfunction Close({\n children,\n ...rest\n}: RadixDialog.DialogCloseProps): React.ReactElement {\n return (\n <RadixDialog.Close asChild {...rest}>\n {children}\n </RadixDialog.Close>\n );\n}\n\nfunction Trigger({\n children,\n ...rest\n}: RadixDialog.DialogTriggerProps): React.ReactElement {\n return (\n <RadixDialog.Trigger asChild {...rest}>\n {children}\n </RadixDialog.Trigger>\n );\n}\n\nexport const Dialog = {\n Root: RadixDialog.Root,\n Trigger,\n Content,\n Close,\n Description: RadixDialog.Description,\n Title: RadixDialog.Title,\n};\n","import {\n Button as RadixButton,\n type ButtonProps as RadixButtonProps,\n} from '@radix-ui/themes';\nimport type { Breakpoint, Responsive } from '@radix-ui/themes/props';\nimport React, { forwardRef, useMemo } from 'react';\n\nexport type ButtonProps = Omit<RadixButtonProps, 'size' | 'variant'> & {\n size?: Responsive<'small' | 'medium' | 'large'>;\n variant?: RadixButtonProps['variant'] | 'transparent';\n};\n\nconst convertSizeStr = (size: ButtonProps['size']): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nconst convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in radixSize) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nconst convertSize = (size: ButtonProps['size']): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n // string인 경우\n //object인 경우\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const mergedStyle = useMemo<ButtonProps['style']>(() => {\n const baseStyle = {\n background: variant === 'transparent' ? 'transparent' : undefined,\n fontWeight: 400,\n };\n return { ...baseStyle, ...style };\n }, [style, variant]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'ghost';\n return variant;\n }, [variant]);\n\n return (\n <RadixButton\n style={mergedStyle}\n variant={radixVariant}\n {...restProps}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n"],"mappings":"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","names":["import_themes","import_react","RadixButton","import_jsx_runtime","Content","Close","Trigger"]}
1
+ {"version":3,"sources":["../../src/atoms/dialog.tsx","../../src/atoms/button.tsx","../../src/utils/convert-button-size.ts"],"sourcesContent":["import * as RadixDialog from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport { Flex } from '@radix-ui/themes';\nimport { useEffect, useRef } from 'react';\nimport { Button } from './button';\n\ntype ContentProps = RadixDialog.DialogContentProps & {\n width?: string;\n maxWidth?: string;\n minWidth?: string;\n height?: string;\n maxHeight?: string;\n minHeight?: string;\n};\n\nfunction Content(props: ContentProps): React.ReactElement {\n const {\n children,\n style = {},\n width,\n maxWidth,\n minWidth,\n maxHeight,\n height,\n minHeight,\n ...rest\n } = props;\n const containerRef = useRef<Element | null>(null);\n\n useEffect(() => {\n containerRef.current = document.getElementsByClassName('radix-themes')[0];\n }, []);\n\n return (\n <RadixDialog.Portal container={containerRef.current}>\n <RadixDialog.Overlay className=\"DialogOverlay\">\n <RadixDialog.Content\n className=\"DialogContent\"\n style={{\n width,\n maxWidth,\n minWidth,\n maxHeight,\n height,\n minHeight,\n ...style,\n }}\n {...rest}\n >\n <Flex direction=\"column\" style={{ position: 'relative' }}>\n <RadixDialog.Close asChild className=\"DialogClose\">\n <Button color=\"gray\" variant=\"transparent\">\n <Cross1Icon height=\"18px\" width=\"18px\" />\n </Button>\n </RadixDialog.Close>\n {children}\n </Flex>\n </RadixDialog.Content>\n </RadixDialog.Overlay>\n </RadixDialog.Portal>\n );\n}\n\nfunction Close({\n children,\n ...rest\n}: RadixDialog.DialogCloseProps): React.ReactElement {\n return (\n <RadixDialog.Close asChild {...rest}>\n {children}\n </RadixDialog.Close>\n );\n}\n\nfunction Trigger({\n children,\n ...rest\n}: RadixDialog.DialogTriggerProps): React.ReactElement {\n return (\n <RadixDialog.Trigger asChild {...rest}>\n {children}\n </RadixDialog.Trigger>\n );\n}\n\nexport const Dialog = {\n Root: RadixDialog.Root,\n Trigger,\n Content,\n Close,\n Description: RadixDialog.Description,\n Title: RadixDialog.Title,\n};\n","import React, { forwardRef, useMemo } from 'react';\nimport { Button as RadixButton } from '@radix-ui/themes';\nimport { convertSize } from '../utils/convert-button-size';\nimport type { ButtonProps } from './button.type';\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const mergedStyle = useMemo<ButtonProps['style']>(() => {\n const baseStyle = {\n background: variant === 'transparent' ? 'transparent' : undefined,\n fontWeight: 400,\n };\n return { ...baseStyle, ...style };\n }, [style, variant]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'ghost';\n return variant;\n }, [variant]);\n\n return (\n <RadixButton\n style={mergedStyle}\n variant={radixVariant}\n {...restProps}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n","import { type ButtonProps as RadixButtonProps } from '@radix-ui/themes';\nimport type { Breakpoint } from '@radix-ui/themes/props';\nimport type { ButtonProps } from '../atoms/button.type';\n\nexport const convertSizeStr = (\n size: ButtonProps['size']\n): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nexport const convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in size) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nexport const convertSize = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n"],"mappings":"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","names":["import_themes","import_react","RadixButton","import_jsx_runtime","Content","Close","Trigger"]}
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  Dialog
3
- } from "../chunk-WM3XQMNK.js";
4
- import "../chunk-EIAK47TI.js";
3
+ } from "../chunk-BDVTRPXG.js";
4
+ import "../chunk-U7JPP7WJ.js";
5
+ import "../chunk-LQY4RKWI.js";
5
6
  import "../chunk-N552FDTV.js";
6
7
  export {
7
8
  Dialog
@@ -70,9 +70,10 @@ var Dialog = __toESM(require("@radix-ui/react-dialog"), 1);
70
70
  var import_react_icons = require("@radix-ui/react-icons");
71
71
 
72
72
  // src/atoms/button.tsx
73
- var import_themes = require("@radix-ui/themes");
74
73
  var import_react = require("react");
75
- var import_jsx_runtime = require("react/jsx-runtime");
74
+ var import_themes = require("@radix-ui/themes");
75
+
76
+ // src/utils/convert-button-size.ts
76
77
  var convertSizeStr = (size) => {
77
78
  switch (size) {
78
79
  case "small":
@@ -91,7 +92,7 @@ var convertSizeResponse = (size) => {
91
92
  }
92
93
  const radixSize = {};
93
94
  let key = "initial";
94
- for (key in radixSize) {
95
+ for (key in size) {
95
96
  radixSize[key] = convertSizeStr(size[key]);
96
97
  }
97
98
  return radixSize;
@@ -102,6 +103,9 @@ var convertSize = (size) => {
102
103
  }
103
104
  return convertSizeResponse(size);
104
105
  };
106
+
107
+ // src/atoms/button.tsx
108
+ var import_jsx_runtime = require("react/jsx-runtime");
105
109
  var Button = (0, import_react.forwardRef)(
106
110
  (props, ref) => {
107
111
  const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/atoms/drawer.tsx","../../src/atoms/button.tsx","../../src/atoms/box.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport * as Dialog from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport { Button } from './button';\nimport { Box } from './box';\n\nexport function Root(props: Dialog.DialogProps): React.ReactNode {\n return <Dialog.Root {...props} />;\n}\n\ntype ContentProps = Dialog.DialogContentProps & {\n /** Drawer가 붙는 위치, 기본값 right */\n position?: 'left' | 'right' | 'bottom' | 'top';\n};\n\nexport function Content(props: ContentProps): React.ReactElement {\n const { position = 'right', className, children, ...rest } = props;\n\n const containerRef = useRef<Element | null>(null);\n useEffect(() => {\n containerRef.current = document.getElementsByClassName('radix-themes')[0];\n }, []);\n\n return (\n <Dialog.Portal container={containerRef.current}>\n <Dialog.Overlay className=\"DrawerOverlay\" />\n <Dialog.Content\n className={`DrawerContent ${position} ${className || ''}`}\n {...rest}\n >\n <Box>\n <Dialog.Close asChild className=\"DialogClose\">\n <Button color=\"gray\" variant=\"transparent\">\n <Cross1Icon height=\"18px\" width=\"18px\" />\n </Button>\n </Dialog.Close>\n </Box>\n\n {children}\n </Dialog.Content>\n </Dialog.Portal>\n );\n}\n\nexport function Trigger(props: Dialog.DialogTriggerProps): React.ReactNode {\n return <Dialog.Trigger asChild {...props} />;\n}\n\nexport const Drawer = {\n Root: Dialog.Root,\n Trigger,\n Content,\n Close: Dialog.Close,\n Title: Dialog.Title,\n Description: Dialog.Description,\n};\n","import {\n Button as RadixButton,\n type ButtonProps as RadixButtonProps,\n} from '@radix-ui/themes';\nimport type { Breakpoint, Responsive } from '@radix-ui/themes/props';\nimport React, { forwardRef, useMemo } from 'react';\n\nexport type ButtonProps = Omit<RadixButtonProps, 'size' | 'variant'> & {\n size?: Responsive<'small' | 'medium' | 'large'>;\n variant?: RadixButtonProps['variant'] | 'transparent';\n};\n\nconst convertSizeStr = (size: ButtonProps['size']): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nconst convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in radixSize) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nconst convertSize = (size: ButtonProps['size']): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n // string인 경우\n //object인 경우\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const mergedStyle = useMemo<ButtonProps['style']>(() => {\n const baseStyle = {\n background: variant === 'transparent' ? 'transparent' : undefined,\n fontWeight: 400,\n };\n return { ...baseStyle, ...style };\n }, [style, variant]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'ghost';\n return variant;\n }, [variant]);\n\n return (\n <RadixButton\n style={mergedStyle}\n variant={radixVariant}\n {...restProps}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n","export { Box, type BoxProps } from '@radix-ui/themes';\n"],"mappings":"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","names":["Content","Root","Trigger","import_react","RadixButton","import_themes","import_jsx_runtime","Root","Content","Trigger"]}
1
+ {"version":3,"sources":["../../src/atoms/drawer.tsx","../../src/atoms/button.tsx","../../src/utils/convert-button-size.ts","../../src/atoms/box.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport * as Dialog from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport { Button } from './button';\nimport { Box } from './box';\n\nexport function Root(props: Dialog.DialogProps): React.ReactNode {\n return <Dialog.Root {...props} />;\n}\n\ntype ContentProps = Dialog.DialogContentProps & {\n /** Drawer가 붙는 위치, 기본값 right */\n position?: 'left' | 'right' | 'bottom' | 'top';\n};\n\nexport function Content(props: ContentProps): React.ReactElement {\n const { position = 'right', className, children, ...rest } = props;\n\n const containerRef = useRef<Element | null>(null);\n useEffect(() => {\n containerRef.current = document.getElementsByClassName('radix-themes')[0];\n }, []);\n\n return (\n <Dialog.Portal container={containerRef.current}>\n <Dialog.Overlay className=\"DrawerOverlay\" />\n <Dialog.Content\n className={`DrawerContent ${position} ${className || ''}`}\n {...rest}\n >\n <Box>\n <Dialog.Close asChild className=\"DialogClose\">\n <Button color=\"gray\" variant=\"transparent\">\n <Cross1Icon height=\"18px\" width=\"18px\" />\n </Button>\n </Dialog.Close>\n </Box>\n\n {children}\n </Dialog.Content>\n </Dialog.Portal>\n );\n}\n\nexport function Trigger(props: Dialog.DialogTriggerProps): React.ReactNode {\n return <Dialog.Trigger asChild {...props} />;\n}\n\nexport const Drawer = {\n Root: Dialog.Root,\n Trigger,\n Content,\n Close: Dialog.Close,\n Title: Dialog.Title,\n Description: Dialog.Description,\n};\n","import React, { forwardRef, useMemo } from 'react';\nimport { Button as RadixButton } from '@radix-ui/themes';\nimport { convertSize } from '../utils/convert-button-size';\nimport type { ButtonProps } from './button.type';\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const mergedStyle = useMemo<ButtonProps['style']>(() => {\n const baseStyle = {\n background: variant === 'transparent' ? 'transparent' : undefined,\n fontWeight: 400,\n };\n return { ...baseStyle, ...style };\n }, [style, variant]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'ghost';\n return variant;\n }, [variant]);\n\n return (\n <RadixButton\n style={mergedStyle}\n variant={radixVariant}\n {...restProps}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n","import { type ButtonProps as RadixButtonProps } from '@radix-ui/themes';\nimport type { Breakpoint } from '@radix-ui/themes/props';\nimport type { ButtonProps } from '../atoms/button.type';\n\nexport const convertSizeStr = (\n size: ButtonProps['size']\n): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nexport const convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in size) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nexport const convertSize = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n","export { Box, type BoxProps } from '@radix-ui/themes';\n"],"mappings":"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","names":["Content","Root","Trigger","import_react","RadixButton","import_themes","import_jsx_runtime","Root","Content","Trigger"]}
@@ -3,9 +3,10 @@ import {
3
3
  Drawer,
4
4
  Root,
5
5
  Trigger
6
- } from "../chunk-3YBBMDHJ.js";
6
+ } from "../chunk-UC627KGO.js";
7
7
  import "../chunk-4Y5BEXVN.js";
8
- import "../chunk-EIAK47TI.js";
8
+ import "../chunk-U7JPP7WJ.js";
9
+ import "../chunk-LQY4RKWI.js";
9
10
  import "../chunk-N552FDTV.js";
10
11
  export {
11
12
  Content,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  FieldErrorWrapper
3
- } from "../chunk-QDZS4B6A.js";
4
- import "../chunk-52MVZ6AN.js";
3
+ } from "../chunk-DJN2IEY6.js";
5
4
  import "../chunk-25HMMI7R.js";
5
+ import "../chunk-52MVZ6AN.js";
6
6
  import "../chunk-N552FDTV.js";
7
7
  export {
8
8
  FieldErrorWrapper
@@ -197,9 +197,10 @@ var import_themes5 = require("@radix-ui/themes");
197
197
  var import_themes6 = require("@radix-ui/themes");
198
198
 
199
199
  // src/atoms/button.tsx
200
- var import_themes7 = require("@radix-ui/themes");
201
200
  var import_react3 = require("react");
202
- var import_jsx_runtime3 = require("react/jsx-runtime");
201
+ var import_themes7 = require("@radix-ui/themes");
202
+
203
+ // src/utils/convert-button-size.ts
203
204
  var convertSizeStr = (size) => {
204
205
  switch (size) {
205
206
  case "small":
@@ -218,7 +219,7 @@ var convertSizeResponse = (size) => {
218
219
  }
219
220
  const radixSize = {};
220
221
  let key = "initial";
221
- for (key in radixSize) {
222
+ for (key in size) {
222
223
  radixSize[key] = convertSizeStr(size[key]);
223
224
  }
224
225
  return radixSize;
@@ -229,6 +230,9 @@ var convertSize = (size) => {
229
230
  }
230
231
  return convertSizeResponse(size);
231
232
  };
233
+
234
+ // src/atoms/button.tsx
235
+ var import_jsx_runtime3 = require("react/jsx-runtime");
232
236
  var Button = (0, import_react3.forwardRef)(
233
237
  (props, ref) => {
234
238
  const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);