maru_design2 2.29.0 → 2.30.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.30.0](https://github.com/42maru-ai/maru-design2/compare/v2.29.1...v2.30.0) (2026-01-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * :hammer: Radio & Slider & Toggle UI ([#693](https://github.com/42maru-ai/maru-design2/issues/693)) ([b7038de](https://github.com/42maru-ai/maru-design2/commit/b7038de4105fc7086f931cc751503a62f79d35de))
9
+
10
+ ## [2.29.1](https://github.com/42maru-ai/maru-design2/compare/v2.29.0...v2.29.1) (2026-01-06)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * :sparkles: Icon - ADD refresh-circle ([fe8426a](https://github.com/42maru-ai/maru-design2/commit/fe8426a765caf6ed4bbbc0d02dce7e2b94adbf64))
16
+ * :sparkles: Icon - ADD refresh-circle parsed ([73ff2ed](https://github.com/42maru-ai/maru-design2/commit/73ff2edac85d9291c879fc9587879fb5ecb5c8b6))
17
+
3
18
  ## [2.29.0](https://github.com/42maru-ai/maru-design2/compare/v2.28.2...v2.29.0) (2026-01-05)
4
19
 
5
20
 
@@ -332,6 +332,7 @@ export declare const ICONS: {
332
332
  readonly RefreshCcw02_s1415: "RefreshCcw02_s1415";
333
333
  readonly RefreshCcw02_s1615: "RefreshCcw02_s1615";
334
334
  readonly RefreshCcw02_s2420: "RefreshCcw02_s2420";
335
+ readonly RefreshCircle_s1410: "RefreshCircle_s1410";
335
336
  readonly RefreshCw01_s1210: "RefreshCw01_s1210";
336
337
  readonly RefreshCw01_s1613: "RefreshCw01_s1613";
337
338
  readonly RefreshCw01_s1815: "RefreshCw01_s1815";
@@ -3,12 +3,21 @@ import { TRadioColor } from '../../../enums/color';
3
3
  import { TGap } from '../../../enums/gap';
4
4
  import './radio.scss';
5
5
  export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'checked' | 'type'> {
6
+ /**
7
+ * 라디오 토글의 값
8
+ */
6
9
  checked?: boolean;
10
+ /**
11
+ * 기본 회색, 메인 테마색 ['primary']
12
+ */
7
13
  color?: TRadioColor;
8
14
  /**
9
15
  * 컴포넌트와 라벨 사이의 거리. ['8px', '4px', '2px']
10
16
  */
11
17
  gap?: TGap;
18
+ /**
19
+ * 라디오 버튼 옆 문자 내용
20
+ */
12
21
  label?: string;
13
22
  }
14
23
  export declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
@@ -25,7 +25,14 @@ export interface SliderProps {
25
25
  * 값 증가 단위 (기본값: 1)
26
26
  */
27
27
  step?: number;
28
+ /**
29
+ * 값 표시 여부
30
+ */
31
+ showValue?: boolean;
28
32
  disabled?: boolean;
29
33
  className?: string;
30
34
  }
31
- export declare function Slider({ value, onChange, color, min, max, step, disabled, className, }: SliderProps): import("react/jsx-runtime").JSX.Element;
35
+ /**
36
+ * showValue에 관한 글: showValue가 true면 기존 input에 있는 thumb를 숨기고 custom thumb를 보여준다.
37
+ */
38
+ export declare function Slider({ value, onChange, color, min, max, step, showValue, disabled, className, }: SliderProps): import("react/jsx-runtime").JSX.Element;
@@ -8,6 +8,9 @@ export interface ToggleProps {
8
8
  * ['primary', 'secondary', 'positive', 'warning', 'danger']. (@v1 variant)
9
9
  */
10
10
  color?: TColor;
11
+ /**
12
+ * 비활성화 여부
13
+ */
11
14
  disabled?: boolean;
12
15
  /**
13
16
  * 텍스트가 있는 토글.
@@ -16,5 +19,13 @@ export interface ToggleProps {
16
19
  left?: string;
17
20
  right?: string;
18
21
  };
22
+ /**
23
+ * 토글 아이콘 표시 여부
24
+ */
25
+ showIcon?: boolean;
26
+ /**
27
+ * 토글 크기 배율 (기본값: 1)
28
+ */
29
+ scale?: number;
19
30
  }
20
- export declare function Toggle({ checked, onChange, className, color, disabled, text, }: ToggleProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function Toggle({ checked, onChange, className, color, disabled, text, showIcon, scale, }: ToggleProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  declare const useColor: (color?: string) => {
2
- keyColor: "var(--p)" | "#8c8c8c" | "#32a483" | "#ffb020" | "#e53e3e" | "#308acc";
2
+ keyColor: string;
3
3
  };
4
4
  export default useColor;
package/dist/index.js CHANGED
@@ -125,9 +125,10 @@ function styleInject(css, ref) {
125
125
  var css_248z$n = "* {\n /* HTML5 display-role reset for older browsers */\n}\n* html,\n* body,\n* div,\n* span,\n* applet,\n* object,\n* iframe,\n* h1,\n* h2,\n* h3,\n* h4,\n* h5,\n* h6,\n* p,\n* blockquote,\n* pre,\n* a,\n* abbr,\n* acronym,\n* address,\n* big,\n* cite,\n* code,\n* del,\n* dfn,\n* em,\n* img,\n* ins,\n* kbd,\n* q,\n* s,\n* samp,\n* small,\n* strike,\n* strong,\n* sub,\n* sup,\n* tt,\n* var,\n* b,\n* u,\n* i,\n* center,\n* dl,\n* dt,\n* dd,\n* ol,\n* ul,\n* li,\n* fieldset,\n* form,\n* label,\n* legend,\n* table,\n* caption,\n* tbody,\n* tfoot,\n* thead,\n* tr,\n* th,\n* td,\n* article,\n* aside,\n* canvas,\n* details,\n* embed,\n* figure,\n* figcaption,\n* footer,\n* header,\n* hgroup,\n* menu,\n* nav,\n* output,\n* ruby,\n* section,\n* summary,\n* time,\n* mark,\n* audio,\n* video {\n padding: 0;\n border: 0;\n margin: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n* article,\n* aside,\n* details,\n* figcaption,\n* figure,\n* footer,\n* header,\n* hgroup,\n* menu,\n* nav,\n* section {\n display: block;\n}\n* ol,\n* ul {\n list-style: none;\n}\n* blockquote,\n* q {\n quotes: none;\n}\n* blockquote::before,\n* blockquote::after,\n* q::before,\n* q::after {\n content: \"\";\n content: none;\n}\n* table {\n border-collapse: collapse;\n border-spacing: 0;\n}\n* html {\n box-sizing: border-box;\n}\n* *,\n* *::before,\n* *::after {\n box-sizing: inherit;\n}";
126
126
  styleInject(css_248z$n);
127
127
 
128
- var css_248z$m = ".scrollbar, * {\n scrollbar-track-color: #e4e4e4;\n scrollbar-arrow-color: #e4e4e4;\n scrollbar-3dlight-color: #e4e4e4;\n scrollbar-highlight-color: #e4e4e4;\n scrollbar-shadow-color: #e4e4e4;\n scrollbar-face-color: #e4e4e4;\n}\n\n.scrollbar::-webkit-scrollbar, ::-webkit-scrollbar {\n background: inherit;\n width: 6px;\n height: 6px;\n}\n\n.scrollbar::-webkit-scrollbar-track, ::-webkit-scrollbar-track {\n background: none;\n}\n\n.scrollbar::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb {\n background-color: #e4e4e4;\n border-radius: 16px;\n}\n\n.scrollbar::-webkit-scrollbar-button, ::-webkit-scrollbar-button {\n display: none;\n}\n\n@font-face {\n font-family: \"Pretendard\";\n src: url(\"../../assets/fonts/PretendardVariable.woff2\") format(\"woff2-variations\");\n}\n* {\n -webkit-font-smoothing: antialiased;\n}\n\n:root {\n --primary: var(--p);\n --primary-50-per: var(--p-50-per);\n --primary-50: var(--p-50);\n --primary-20-per: var(--p-20-per);\n --primary-20: var(--p-20);\n --primary-10-per: var(--p-10-per);\n --primary-10: var(--p-10);\n --primary-05-per: var(--p-05-per);\n --primary-05: var(--p-05);\n}\n\n[data-theme=blue] {\n --p: #308acc;\n --p-50-per: #308acc80;\n --p-50: #97c4e5;\n --p-20-per: #308acc33;\n --p-20: #d6e8f5;\n --p-10-per: #308acc1a;\n --p-10: #eaf3fa;\n --p-05-per: #308acc0d;\n --p-05: #f5fafd;\n}\n\n[data-theme=green] {\n --p: #096412;\n --p-50-per: #09641280;\n --p-50: #84b188;\n --p-20-per: #09641233;\n --p-20: #cee0d0;\n --p-10-per: #0964121a;\n --p-10: #e6f0e7;\n --p-05-per: #0964120d;\n --p-05: #f3f7f3;\n}\n\n[data-theme=navy] {\n --p: #213a78;\n --p-50-per: #213a787f;\n --p-50: #909cbb;\n --p-20-per: #213a7833;\n --p-20: #d3d8e4;\n --p-10-per: #213a781a;\n --p-10: #e9ebf1;\n --p-05-per: #213a780d;\n --p-05: #f4f5f8;\n}";
128
+ var css_248z$m = ".scrollbar, * {\n scrollbar-track-color: #e4e4e4;\n scrollbar-arrow-color: #e4e4e4;\n scrollbar-3dlight-color: #e4e4e4;\n scrollbar-highlight-color: #e4e4e4;\n scrollbar-shadow-color: #e4e4e4;\n scrollbar-face-color: #e4e4e4;\n}\n\n.scrollbar::-webkit-scrollbar, ::-webkit-scrollbar {\n background: inherit;\n width: 6px;\n height: 6px;\n}\n\n.scrollbar::-webkit-scrollbar-track, ::-webkit-scrollbar-track {\n background: none;\n}\n\n.scrollbar::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb {\n background-color: #e4e4e4;\n border-radius: 16px;\n}\n\n.scrollbar::-webkit-scrollbar-button, ::-webkit-scrollbar-button {\n display: none;\n}\n\n@font-face {\n font-family: \"Pretendard\";\n src: url(\"../../assets/fonts/PretendardVariable.woff2\") format(\"woff2-variations\");\n}\n* {\n -webkit-font-smoothing: antialiased;\n}\n\n:root {\n --primary: var(--p);\n --primary-80: var(--p-80);\n --primary-50-per: var(--p-50-per);\n --primary-50: var(--p-50);\n --primary-20-per: var(--p-20-per);\n --primary-20: var(--p-20);\n --primary-10-per: var(--p-10-per);\n --primary-10: var(--p-10);\n --primary-05-per: var(--p-05-per);\n --primary-05: var(--p-05);\n}\n\n[data-theme=blue] {\n --p: #308acc;\n --p-80: #308acc;\n --p-50-per: #308acc80;\n --p-50: #97c4e5;\n --p-20-per: #308acc33;\n --p-20: #d6e8f5;\n --p-10-per: #308acc1a;\n --p-10: #eaf3fa;\n --p-05-per: #308acc0d;\n --p-05: #f5fafd;\n}\n\n[data-theme=green] {\n --p: #096412;\n --p-80: #096412;\n --p-50-per: #09641280;\n --p-50: #84b188;\n --p-20-per: #09641233;\n --p-20: #cee0d0;\n --p-10-per: #0964121a;\n --p-10: #e6f0e7;\n --p-05-per: #0964120d;\n --p-05: #f3f7f3;\n}\n\n[data-theme=navy] {\n --p: #213a78;\n --p-80: #213a78;\n --p-50-per: #213a787f;\n --p-50: #909cbb;\n --p-20-per: #213a7833;\n --p-20: #d3d8e4;\n --p-10-per: #213a781a;\n --p-10: #e9ebf1;\n --p-05-per: #213a780d;\n --p-05: #f4f5f8;\n}";
129
129
  styleInject(css_248z$m);
130
130
 
131
+ // eslint-disable-next-line import/prefer-default-export
131
132
  function StyleProvider(_a) {
132
133
  var children = _a.children,
133
134
  theme = _a.theme;
@@ -244,8 +245,10 @@ var DColor = {
244
245
  };
245
246
 
246
247
  var useColor = function useColor(color) {
248
+ // 'inherit'일 경우 currentColor 반환 (CSS에서 색상 제어)
247
249
  // DColor에도 없고 color도 undefined면 $b400(=#8c8c8c) 리턴
248
250
  var keyColor = useMemo(function () {
251
+ if (color === 'inherit') return 'currentColor';
249
252
  return DColor[color] || color || '#8c8c8c';
250
253
  }, [color]);
251
254
  return {
@@ -5715,6 +5718,18 @@ var iconmap = {
5715
5718
  "circles": [],
5716
5719
  "rects": []
5717
5720
  },
5721
+ "RefreshCircle_s1410": {
5722
+ "width": "14",
5723
+ "height": "14",
5724
+ "viewBox": "0 0 14 14",
5725
+ "fill": "none",
5726
+ "paths": [{
5727
+ "d": "M7.029 11.0832L8.6915 9.43525L7.029 7.78734L6.4165 8.39984L7.04359 9.02692C6.77137 9.03664 6.50643 8.99289 6.2488 8.89567C5.99116 8.79845 5.76025 8.64775 5.55609 8.44359C5.36164 8.24914 5.21338 8.02553 5.1113 7.77275C5.00921 7.51998 4.95817 7.2672 4.95817 7.01442C4.95817 6.84914 4.98005 6.68387 5.0238 6.51859C5.06755 6.35331 5.12831 6.19289 5.20609 6.03734L4.56442 5.39567C4.39914 5.63873 4.27762 5.89637 4.19984 6.16859C4.12206 6.44081 4.08317 6.71789 4.08317 6.99984C4.08317 7.36928 4.15609 7.73387 4.30192 8.09359C4.44775 8.45331 4.66164 8.77414 4.94359 9.05609C5.22553 9.33803 5.5415 9.54949 5.8915 9.69046C6.2415 9.83143 6.60123 9.90678 6.97067 9.9165L6.4165 10.4707L7.029 11.0832ZM9.43525 8.604C9.60053 8.36095 9.72206 8.10331 9.79984 7.83109C9.87761 7.55887 9.9165 7.28178 9.9165 6.99984C9.9165 6.63039 9.84602 6.26338 9.70505 5.8988C9.56407 5.53421 9.35262 5.21095 9.07067 4.929C8.78873 4.64706 8.47032 4.43803 8.11546 4.30192C7.7606 4.16581 7.39845 4.09775 7.029 4.09775L7.58317 3.529L6.97067 2.9165L5.30817 4.56442L6.97067 6.21234L7.58317 5.59984L6.9415 4.95817C7.204 4.95817 7.47136 5.00921 7.74359 5.1113C8.01581 5.21338 8.24914 5.36164 8.44359 5.55609C8.63803 5.75053 8.7863 5.97414 8.88838 6.22692C8.99046 6.4797 9.0415 6.73248 9.0415 6.98525C9.0415 7.15053 9.01963 7.31581 8.97588 7.48109C8.93213 7.64637 8.87137 7.80678 8.79359 7.96234L9.43525 8.604ZM6.99984 12.8332C6.19289 12.8332 5.43456 12.68 4.72484 12.3738C4.01512 12.0675 3.39775 11.6519 2.87275 11.1269C2.34775 10.6019 1.93213 9.98456 1.62588 9.27484C1.31963 8.56511 1.1665 7.80678 1.1665 6.99984C1.1665 6.19289 1.31963 5.43456 1.62588 4.72484C1.93213 4.01512 2.34775 3.39775 2.87275 2.87275C3.39775 2.34775 4.01512 1.93213 4.72484 1.62588C5.43456 1.31963 6.19289 1.1665 6.99984 1.1665C7.80678 1.1665 8.56511 1.31963 9.27484 1.62588C9.98456 1.93213 10.6019 2.34775 11.1269 2.87275C11.6519 3.39775 12.0675 4.01512 12.3738 4.72484C12.68 5.43456 12.8332 6.19289 12.8332 6.99984C12.8332 7.80678 12.68 8.56511 12.3738 9.27484C12.0675 9.98456 11.6519 10.6019 11.1269 11.1269C10.6019 11.6519 9.98456 12.0675 9.27484 12.3738C8.56511 12.68 7.80678 12.8332 6.99984 12.8332ZM6.99984 11.6665C8.30262 11.6665 9.40609 11.2144 10.3103 10.3103C11.2144 9.40609 11.6665 8.30262 11.6665 6.99984C11.6665 5.69706 11.2144 4.59359 10.3103 3.68942C9.40609 2.78525 8.30262 2.33317 6.99984 2.33317C5.69706 2.33317 4.59359 2.78525 3.68942 3.68942C2.78525 4.59359 2.33317 5.69706 2.33317 6.99984C2.33317 8.30262 2.78525 9.40609 3.68942 10.3103C4.59359 11.2144 5.69706 11.6665 6.99984 11.6665Z",
5728
+ "fill": "#213A78"
5729
+ }],
5730
+ "circles": [],
5731
+ "rects": []
5732
+ },
5718
5733
  "RefreshCw01_s1210": {
5719
5734
  "width": "12",
5720
5735
  "height": "12",
@@ -7477,6 +7492,7 @@ var ICONS = {
7477
7492
  "RefreshCcw02_s1415": "RefreshCcw02_s1415",
7478
7493
  "RefreshCcw02_s1615": "RefreshCcw02_s1615",
7479
7494
  "RefreshCcw02_s2420": "RefreshCcw02_s2420",
7495
+ "RefreshCircle_s1410": "RefreshCircle_s1410",
7480
7496
  "RefreshCw01_s1210": "RefreshCw01_s1210",
7481
7497
  "RefreshCw01_s1613": "RefreshCw01_s1613",
7482
7498
  "RefreshCw01_s1815": "RefreshCw01_s1815",
@@ -72051,7 +72067,7 @@ function Popover(_a) {
72051
72067
  }) : PopoverBody;
72052
72068
  }
72053
72069
 
72054
- var css_248z$e = ".maru-radio-wrapper-8px {\n display: flex;\n gap: 8px;\n}\n\n.maru-radio-wrapper-4px {\n display: flex;\n gap: 4px;\n}\n\n.maru-radio-wrapper-2px {\n display: flex;\n gap: 2px;\n}\n\n.maru-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n border: 2px solid #5c5c5c;\n position: relative;\n display: inline-block;\n cursor: pointer;\n}\n.maru-radio:checked::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 7px;\n height: 7px;\n border-radius: 50%;\n background-color: #5c5c5c;\n}\n.maru-radio:not(:disabled):hover::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 7px;\n height: 7px;\n border-radius: 50%;\n background-color: #5c5c5c;\n}\n\n.maru-radio-primary {\n border: 2px solid var(--p);\n}\n.maru-radio-primary:checked::before {\n background-color: var(--p);\n}\n.maru-radio-primary:not(:disabled):hover::before {\n background-color: var(--p);\n}\n\n.maru-radio-label {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #5c5c5c;\n cursor: pointer;\n}\n\n.maru-radio:disabled,\n.label-disabled {\n cursor: default;\n opacity: 0.5;\n}";
72070
+ var css_248z$e = ".maru-radio-wrapper-8px {\n display: flex;\n gap: 8px;\n}\n\n.maru-radio-wrapper-4px {\n display: flex;\n gap: 4px;\n}\n\n.maru-radio-wrapper-2px {\n display: flex;\n gap: 2px;\n}\n\n.maru-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n border: 2px solid #bdbdbd;\n position: relative;\n display: inline-block;\n cursor: pointer;\n background-color: transparent;\n}\n.maru-radio:checked {\n border-color: var(--p);\n background: var(--p);\n}\n.maru-radio:checked::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: #fafafa;\n}\n.maru-radio:not(.maru-radio-primary):checked {\n border-color: #5c5c5c;\n background: #5c5c5c;\n}\n.maru-radio:not(:disabled):hover {\n border-color: #5c5c5c;\n filter: brightness(1.3);\n}\n.maru-radio.maru-radio-primary:not(:disabled):hover {\n border-color: var(--p);\n}\n.maru-radio:not(:checked):not(:disabled):focus {\n outline: 3px solid #5c5c5c;\n outline-offset: 3px;\n}\n.maru-radio.maru-radio-primary:not(:checked):not(:disabled):focus {\n outline: 3px solid var(--p);\n outline-offset: 3px;\n}\n.maru-radio:checked:not(:disabled):focus {\n outline: none;\n}\n.maru-radio:not(.maru-radio-primary):checked:not(:disabled):focus {\n background: color-mix(in srgb, #5c5c5c 80%, black);\n border-color: color-mix(in srgb, #5c5c5c 80%, black);\n}\n.maru-radio.maru-radio-primary:checked:not(:disabled):focus {\n background: color-mix(in srgb, var(--p) 80%, black);\n border-color: color-mix(in srgb, var(--p) 80%, black);\n}\n.maru-radio:not(:checked):disabled {\n background-color: #fafafa;\n}\n.maru-radio:checked:disabled {\n opacity: 1;\n background: #bdbdbd;\n border-color: #bdbdbd;\n}\n\n.maru-radio-label {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #5c5c5c;\n cursor: pointer;\n}\n\n.maru-radio:disabled,\n.label-disabled {\n cursor: default;\n opacity: 0.5;\n}";
72055
72071
  styleInject(css_248z$e);
72056
72072
 
72057
72073
  var Radio = /*#__PURE__*/forwardRef(function (_a, ref) {
@@ -72166,9 +72182,12 @@ function Skeleton(_a) {
72166
72182
  });
72167
72183
  }
72168
72184
 
72169
- var css_248z$c = ".maru-slider-container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n position: relative;\n width: 100%;\n}\n\n.maru-slider {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n outline: none;\n width: 100%;\n height: 6px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.2s ease;\n}\n.maru-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s ease;\n}\n.maru-slider::-moz-range-thumb {\n appearance: none;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s ease;\n}\n.maru-slider:active::-webkit-slider-thumb {\n transform: scale(1.2);\n}\n.maru-slider:active::-moz-range-thumb {\n transform: scale(1.2);\n}\n.maru-slider[disabled] {\n cursor: default;\n opacity: 0.5;\n}\n.maru-slider[disabled]:active::-webkit-slider-thumb {\n transform: none;\n}\n.maru-slider[disabled]:active::-moz-range-thumb {\n transform: none;\n}\n\n.maru-slider-primary .maru-slider {\n background: linear-gradient(to right, var(--p) 0%, var(--p) var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-primary .maru-slider::-webkit-slider-thumb {\n border: 3px solid var(--p);\n}\n.maru-slider-primary .maru-slider::-moz-range-thumb {\n border: 3px solid var(--p);\n}\n\n.maru-slider-secondary .maru-slider {\n background: linear-gradient(to right, #8c8c8c 0%, #8c8c8c var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-secondary .maru-slider::-webkit-slider-thumb {\n border: 3px solid #8c8c8c;\n}\n.maru-slider-secondary .maru-slider::-moz-range-thumb {\n border: 3px solid #8c8c8c;\n}\n\n.maru-slider-positive .maru-slider {\n background: linear-gradient(to right, #32a483 0%, #32a483 var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-positive .maru-slider::-webkit-slider-thumb {\n border: 3px solid #32a483;\n}\n.maru-slider-positive .maru-slider::-moz-range-thumb {\n border: 3px solid #32a483;\n}\n\n.maru-slider-warning .maru-slider {\n background: linear-gradient(to right, #ffb020 0%, #ffb020 var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-warning .maru-slider::-webkit-slider-thumb {\n border: 3px solid #ffb020;\n}\n.maru-slider-warning .maru-slider::-moz-range-thumb {\n border: 3px solid #ffb020;\n}\n\n.maru-slider-danger .maru-slider {\n background: linear-gradient(to right, #e53e3e 0%, #e53e3e var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-danger .maru-slider::-webkit-slider-thumb {\n border: 3px solid #e53e3e;\n}\n.maru-slider-danger .maru-slider::-moz-range-thumb {\n border: 3px solid #e53e3e;\n}\n\n.maru-slider-success .maru-slider {\n background: linear-gradient(to right, #308acc 0%, #308acc var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-success .maru-slider::-webkit-slider-thumb {\n border: 3px solid #308acc;\n}\n.maru-slider-success .maru-slider::-moz-range-thumb {\n border: 3px solid #308acc;\n}";
72185
+ var css_248z$c = ".maru-slider-container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n position: relative;\n width: 100%;\n}\n.maru-slider-container.maru-slider-show-value {\n margin-top: 24px;\n}\n\n.maru-slider-thumb-wrapper {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n pointer-events: none;\n left: calc(7px + (100% - 14px) * var(--slider-progress-raw) / 100);\n}\n\n.maru-slider-value {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n position: absolute;\n bottom: 100%;\n margin-bottom: 4px;\n color: #5c5c5c;\n white-space: nowrap;\n}\n\n.maru-slider-custom-thumb {\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s ease;\n}\n\n.maru-slider {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n outline: none;\n width: 100%;\n height: 6px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.2s ease;\n}\n.maru-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s ease;\n}\n.maru-slider::-moz-range-thumb {\n appearance: none;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s ease;\n}\n.maru-slider:active::-webkit-slider-thumb {\n transform: scale(1.2);\n}\n.maru-slider:active::-moz-range-thumb {\n transform: scale(1.2);\n}\n.maru-slider[disabled] {\n cursor: default;\n opacity: 0.5;\n}\n.maru-slider[disabled]:active::-webkit-slider-thumb {\n transform: none;\n}\n.maru-slider[disabled]:active::-moz-range-thumb {\n transform: none;\n}\n\n.maru-slider-primary .maru-slider {\n background: linear-gradient(to right, var(--p) 0%, var(--p) var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-primary .maru-slider::-webkit-slider-thumb {\n border: 3px solid var(--p);\n}\n.maru-slider-primary .maru-slider::-moz-range-thumb {\n border: 3px solid var(--p);\n}\n.maru-slider-primary .maru-slider-custom-thumb {\n border: 3px solid var(--p);\n}\n\n.maru-slider-secondary .maru-slider {\n background: linear-gradient(to right, #8c8c8c 0%, #8c8c8c var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-secondary .maru-slider::-webkit-slider-thumb {\n border: 3px solid #8c8c8c;\n}\n.maru-slider-secondary .maru-slider::-moz-range-thumb {\n border: 3px solid #8c8c8c;\n}\n.maru-slider-secondary .maru-slider-custom-thumb {\n border: 3px solid #8c8c8c;\n}\n\n.maru-slider-positive .maru-slider {\n background: linear-gradient(to right, #32a483 0%, #32a483 var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-positive .maru-slider::-webkit-slider-thumb {\n border: 3px solid #32a483;\n}\n.maru-slider-positive .maru-slider::-moz-range-thumb {\n border: 3px solid #32a483;\n}\n.maru-slider-positive .maru-slider-custom-thumb {\n border: 3px solid #32a483;\n}\n\n.maru-slider-warning .maru-slider {\n background: linear-gradient(to right, #ffb020 0%, #ffb020 var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-warning .maru-slider::-webkit-slider-thumb {\n border: 3px solid #ffb020;\n}\n.maru-slider-warning .maru-slider::-moz-range-thumb {\n border: 3px solid #ffb020;\n}\n.maru-slider-warning .maru-slider-custom-thumb {\n border: 3px solid #ffb020;\n}\n\n.maru-slider-danger .maru-slider {\n background: linear-gradient(to right, #e53e3e 0%, #e53e3e var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-danger .maru-slider::-webkit-slider-thumb {\n border: 3px solid #e53e3e;\n}\n.maru-slider-danger .maru-slider::-moz-range-thumb {\n border: 3px solid #e53e3e;\n}\n.maru-slider-danger .maru-slider-custom-thumb {\n border: 3px solid #e53e3e;\n}\n\n.maru-slider-success .maru-slider {\n background: linear-gradient(to right, #308acc 0%, #308acc var(--slider-progress), #e4e4e4 var(--slider-progress), #e4e4e4 100%);\n}\n.maru-slider-success .maru-slider::-webkit-slider-thumb {\n border: 3px solid #308acc;\n}\n.maru-slider-success .maru-slider::-moz-range-thumb {\n border: 3px solid #308acc;\n}\n.maru-slider-success .maru-slider-custom-thumb {\n border: 3px solid #308acc;\n}\n\n.maru-slider-show-value .maru-slider::-webkit-slider-thumb {\n opacity: 0;\n}\n.maru-slider-show-value .maru-slider::-moz-range-thumb {\n opacity: 0;\n}\n.maru-slider-show-value:active .maru-slider-custom-thumb {\n transform: scale(1.2);\n}\n.maru-slider-show-value.maru-slider-disabled .maru-slider-custom-thumb {\n transform: none;\n}";
72170
72186
  styleInject(css_248z$c);
72171
72187
 
72188
+ /**
72189
+ * showValue에 관한 글: showValue가 true면 기존 input에 있는 thumb를 숨기고 custom thumb를 보여준다.
72190
+ */
72172
72191
  function Slider(_a) {
72173
72192
  var value = _a.value,
72174
72193
  onChange = _a.onChange,
@@ -72180,19 +72199,26 @@ function Slider(_a) {
72180
72199
  max = _d === void 0 ? 100 : _d,
72181
72200
  _e = _a.step,
72182
72201
  step = _e === void 0 ? 1 : _e,
72183
- _f = _a.disabled,
72184
- disabled = _f === void 0 ? false : _f,
72202
+ _f = _a.showValue,
72203
+ showValue = _f === void 0 ? false : _f,
72204
+ _g = _a.disabled,
72205
+ disabled = _g === void 0 ? false : _g,
72185
72206
  className = _a.className;
72186
72207
  var progress = (value - min) / (max - min) * 100;
72187
72208
  var handleSliderChange = function handleSliderChange(e) {
72188
72209
  onChange(+e.target.value);
72189
72210
  };
72190
- return jsx("div", __assign({
72211
+ return jsxs("div", __assign({
72191
72212
  className: classNames('maru-slider-container', "maru-slider-".concat(color), {
72192
- 'maru-slider-disabled': disabled
72193
- }, className)
72213
+ 'maru-slider-disabled': disabled,
72214
+ 'maru-slider-show-value': showValue
72215
+ }, className),
72216
+ style: {
72217
+ '--slider-progress': "".concat(progress, "%"),
72218
+ '--slider-progress-raw': progress
72219
+ }
72194
72220
  }, {
72195
- children: jsx("input", {
72221
+ children: [jsx("input", {
72196
72222
  type: "range",
72197
72223
  className: "maru-slider",
72198
72224
  value: value,
@@ -72200,11 +72226,18 @@ function Slider(_a) {
72200
72226
  min: min,
72201
72227
  max: max,
72202
72228
  step: step,
72203
- disabled: disabled,
72204
- style: {
72205
- '--slider-progress': "".concat(progress, "%")
72206
- }
72207
- })
72229
+ disabled: disabled
72230
+ }), showValue && jsxs("div", __assign({
72231
+ className: "maru-slider-thumb-wrapper"
72232
+ }, {
72233
+ children: [jsx("span", __assign({
72234
+ className: "maru-slider-value"
72235
+ }, {
72236
+ children: value
72237
+ })), jsx("div", {
72238
+ className: "maru-slider-custom-thumb"
72239
+ })]
72240
+ }))]
72208
72241
  }));
72209
72242
  }
72210
72243
 
@@ -72372,7 +72405,7 @@ Textarea.defaultProps = {
72372
72405
  };
72373
72406
  Textarea.displayName = 'Textarea';
72374
72407
 
72375
- var css_248z$a = ".maru-toggle-wrapper {\n display: inline-block;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper {\n position: relative;\n width: 30px;\n height: 18px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: 11;\n cursor: pointer;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle:not(:checked) ~ .maru-toggle-rail {\n background-color: #8c8c8c;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail {\n position: absolute;\n width: 30px;\n height: 18px;\n border-radius: 17.5px;\n background-color: var(--p);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-primary {\n background-color: var(--p);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-secondary {\n background-color: #8c8c8c;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-positive {\n background-color: #32a483;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-warning {\n background-color: #ffb020;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-danger {\n background-color: #e53e3e;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-success {\n background-color: #308acc;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-thumb {\n position: absolute;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n transition: all 0.2s ease-in-out;\n background-color: white;\n top: 2px;\n right: 14px;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle:checked ~ .maru-toggle-thumb {\n transform: translateX(12px);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle {\n cursor: default;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle-thumb {\n background-color: #bdbdbd;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle-rail {\n background-color: #e4e4e4 !important;\n}\n\n.maru-toggle-text {\n position: relative;\n width: 66px;\n height: 23px;\n background-color: white;\n border-radius: 62px;\n overflow: hidden;\n}\n.maru-toggle-text-primary {\n box-shadow: 0 0 0 1px var(--p) inset;\n}\n.maru-toggle-text-primary .maru-toggle-text-thumb {\n background-color: var(--p);\n}\n.maru-toggle-text-primary .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px var(--p-20);\n}\n.maru-toggle-text-primary .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px var(--p-20);\n}\n.maru-toggle-text-primary .maru-toggle-text-button {\n color: var(--p);\n}\n.maru-toggle-text-primary .toggle-active {\n color: white;\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px var(--p-50) inset;\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: var(--p-50);\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px var(--p-10);\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px var(--p-10);\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-button {\n color: var(--p-50);\n cursor: default;\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-secondary {\n box-shadow: 0 0 0 1px #8c8c8c inset;\n}\n.maru-toggle-text-secondary .maru-toggle-text-thumb {\n background-color: #8c8c8c;\n}\n.maru-toggle-text-secondary .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #e4e4e4;\n}\n.maru-toggle-text-secondary .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #e4e4e4;\n}\n.maru-toggle-text-secondary .maru-toggle-text-button {\n color: #8c8c8c;\n}\n.maru-toggle-text-secondary .toggle-active {\n color: white;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #bdbdbd inset;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #bdbdbd;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fafafa;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fafafa;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #bdbdbd;\n cursor: default;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-positive {\n box-shadow: 0 0 0 1px #32a483 inset;\n}\n.maru-toggle-text-positive .maru-toggle-text-thumb {\n background-color: #32a483;\n}\n.maru-toggle-text-positive .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #d6ede6;\n}\n.maru-toggle-text-positive .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #d6ede6;\n}\n.maru-toggle-text-positive .maru-toggle-text-button {\n color: #32a483;\n}\n.maru-toggle-text-positive .toggle-active {\n color: white;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #98d1c1 inset;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #98d1c1;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #eaf6f3;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #eaf6f3;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #98d1c1;\n cursor: default;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-warning {\n box-shadow: 0 0 0 1px #ffb020 inset;\n}\n.maru-toggle-text-warning .maru-toggle-text-thumb {\n background-color: #ffb020;\n}\n.maru-toggle-text-warning .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #ffefd2;\n}\n.maru-toggle-text-warning .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #ffefd2;\n}\n.maru-toggle-text-warning .maru-toggle-text-button {\n color: #ffb020;\n}\n.maru-toggle-text-warning .toggle-active {\n color: white;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #ffd78f inset;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #ffd78f;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fff7e9;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fff7e9;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #ffd78f;\n cursor: default;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-danger {\n box-shadow: 0 0 0 1px #e53e3e inset;\n}\n.maru-toggle-text-danger .maru-toggle-text-thumb {\n background-color: #e53e3e;\n}\n.maru-toggle-text-danger .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fad8d8;\n}\n.maru-toggle-text-danger .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fad8d8;\n}\n.maru-toggle-text-danger .maru-toggle-text-button {\n color: #e53e3e;\n}\n.maru-toggle-text-danger .toggle-active {\n color: white;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #f29e9e inset;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #f29e9e;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fcecec;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fcecec;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #f29e9e;\n cursor: default;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-success {\n box-shadow: 0 0 0 1px #308acc inset;\n}\n.maru-toggle-text-success .maru-toggle-text-thumb {\n background-color: #308acc;\n}\n.maru-toggle-text-success .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #d6e8f5;\n}\n.maru-toggle-text-success .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #d6e8f5;\n}\n.maru-toggle-text-success .maru-toggle-text-button {\n color: #308acc;\n}\n.maru-toggle-text-success .toggle-active {\n color: white;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #97c4e5 inset;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #97c4e5;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #eaf3fa;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #eaf3fa;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #97c4e5;\n cursor: default;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text .maru-toggle-text-thumb {\n top: 0;\n left: 0;\n position: absolute;\n width: 33px;\n height: 23px;\n border-radius: 62px;\n transition: all 0.2s ease-in-out;\n z-index: 1;\n}\n\n.slide-after {\n transform: translateX(33px);\n}\n\n.maru-toggle-text-button-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n\n.maru-toggle-text-button {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 10px;\n letter-spacing: -0.4px;\n font-weight: 700;\n position: relative;\n width: 33px;\n height: 23px;\n cursor: pointer;\n z-index: 2;\n background-color: transparent;\n border: 0;\n transition: color 0.4s ease;\n}";
72408
+ var css_248z$a = ".maru-toggle-wrapper {\n display: inline-block;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper {\n position: relative;\n width: 30px;\n height: 18px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: 11;\n cursor: pointer;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle:not(:checked) ~ .maru-toggle-rail {\n background-color: #4a4e52;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail {\n position: absolute;\n width: 30px;\n height: 18px;\n border-radius: 17.5px;\n background-color: var(--p);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background-color: transparent;\n transition: background-color 0.2s ease-in-out;\n pointer-events: none;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-primary {\n background-color: var(--p);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-secondary {\n background-color: #8c8c8c;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-positive {\n background-color: #32a483;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-warning {\n background-color: #ffb020;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-danger {\n background-color: #e53e3e;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-rail-success {\n background-color: #308acc;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle:not(:disabled):hover ~ .maru-toggle-rail::after {\n background-color: rgba(0, 0, 0, 0.2);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-thumb {\n position: absolute;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n transition: all 0.2s ease-in-out;\n background-color: white;\n top: 2px;\n right: 14px;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-thumb .maru-toggle-thumb-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n width: inherit;\n height: inherit;\n color: #4a4e52;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle-thumb .maru-toggle-thumb-icon > svg {\n display: block;\n width: inherit;\n height: inherit;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper .maru-toggle:checked ~ .maru-toggle-thumb {\n transform: translateX(12px);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-primary .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: var(--p);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-secondary .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #8c8c8c;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-positive .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #32a483;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-warning .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #ffb020;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-danger .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #e53e3e;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-success .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #308acc;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle {\n cursor: default;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle-thumb {\n background-color: white;\n box-shadow: 0 0 0 1px #bdbdbd inset;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #bdbdbd;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:not(:checked) ~ .maru-toggle-rail {\n background-color: #e4e4e4 !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:checked ~ .maru-toggle-rail-primary {\n background-color: var(--p-20) !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:checked ~ .maru-toggle-rail-secondary {\n background-color: #e4e4e4 !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:checked ~ .maru-toggle-rail-positive {\n background-color: #d6ede6 !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:checked ~ .maru-toggle-rail-warning {\n background-color: #ffefd2 !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:checked ~ .maru-toggle-rail-danger {\n background-color: #fad8d8 !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.toggle-disabled .maru-toggle:checked ~ .maru-toggle-rail-success {\n background-color: #d6e8f5 !important;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-primary.toggle-disabled .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: var(--p-20);\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-secondary.toggle-disabled .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #e4e4e4;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-positive.toggle-disabled .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #d6ede6;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-warning.toggle-disabled .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #ffefd2;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-danger.toggle-disabled .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #fad8d8;\n}\n.maru-toggle-wrapper .maru-toggle-inner-wrapper.maru-toggle-success.toggle-disabled .maru-toggle:checked ~ .maru-toggle-thumb .maru-toggle-thumb-icon {\n color: #d6e8f5;\n}\n\n.maru-toggle-text {\n position: relative;\n width: 66px;\n height: 23px;\n background-color: white;\n border-radius: 62px;\n overflow: hidden;\n}\n.maru-toggle-text-primary {\n box-shadow: 0 0 0 1px var(--p) inset;\n}\n.maru-toggle-text-primary .maru-toggle-text-thumb {\n background-color: var(--p);\n}\n.maru-toggle-text-primary .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px var(--p-20);\n}\n.maru-toggle-text-primary .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px var(--p-20);\n}\n.maru-toggle-text-primary .maru-toggle-text-button {\n color: var(--p);\n}\n.maru-toggle-text-primary .toggle-active {\n color: white;\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px var(--p-50) inset;\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: var(--p-50);\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px var(--p-10);\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px var(--p-10);\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .maru-toggle-text-button {\n color: var(--p-50);\n cursor: default;\n}\n.maru-toggle-text-primary.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-secondary {\n box-shadow: 0 0 0 1px #8c8c8c inset;\n}\n.maru-toggle-text-secondary .maru-toggle-text-thumb {\n background-color: #8c8c8c;\n}\n.maru-toggle-text-secondary .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #e4e4e4;\n}\n.maru-toggle-text-secondary .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #e4e4e4;\n}\n.maru-toggle-text-secondary .maru-toggle-text-button {\n color: #8c8c8c;\n}\n.maru-toggle-text-secondary .toggle-active {\n color: white;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #bdbdbd inset;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #bdbdbd;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fafafa;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fafafa;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #bdbdbd;\n cursor: default;\n}\n.maru-toggle-text-secondary.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-positive {\n box-shadow: 0 0 0 1px #32a483 inset;\n}\n.maru-toggle-text-positive .maru-toggle-text-thumb {\n background-color: #32a483;\n}\n.maru-toggle-text-positive .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #d6ede6;\n}\n.maru-toggle-text-positive .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #d6ede6;\n}\n.maru-toggle-text-positive .maru-toggle-text-button {\n color: #32a483;\n}\n.maru-toggle-text-positive .toggle-active {\n color: white;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #98d1c1 inset;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #98d1c1;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #eaf6f3;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #eaf6f3;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #98d1c1;\n cursor: default;\n}\n.maru-toggle-text-positive.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-warning {\n box-shadow: 0 0 0 1px #ffb020 inset;\n}\n.maru-toggle-text-warning .maru-toggle-text-thumb {\n background-color: #ffb020;\n}\n.maru-toggle-text-warning .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #ffefd2;\n}\n.maru-toggle-text-warning .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #ffefd2;\n}\n.maru-toggle-text-warning .maru-toggle-text-button {\n color: #ffb020;\n}\n.maru-toggle-text-warning .toggle-active {\n color: white;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #ffd78f inset;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #ffd78f;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fff7e9;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fff7e9;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #ffd78f;\n cursor: default;\n}\n.maru-toggle-text-warning.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-danger {\n box-shadow: 0 0 0 1px #e53e3e inset;\n}\n.maru-toggle-text-danger .maru-toggle-text-thumb {\n background-color: #e53e3e;\n}\n.maru-toggle-text-danger .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fad8d8;\n}\n.maru-toggle-text-danger .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fad8d8;\n}\n.maru-toggle-text-danger .maru-toggle-text-button {\n color: #e53e3e;\n}\n.maru-toggle-text-danger .toggle-active {\n color: white;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #f29e9e inset;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #f29e9e;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #fcecec;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #fcecec;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #f29e9e;\n cursor: default;\n}\n.maru-toggle-text-danger.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text-success {\n box-shadow: 0 0 0 1px #308acc inset;\n}\n.maru-toggle-text-success .maru-toggle-text-thumb {\n background-color: #308acc;\n}\n.maru-toggle-text-success .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #d6e8f5;\n}\n.maru-toggle-text-success .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #d6e8f5;\n}\n.maru-toggle-text-success .maru-toggle-text-button {\n color: #308acc;\n}\n.maru-toggle-text-success .toggle-active {\n color: white;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled {\n box-shadow: 0 0 0 1px #97c4e5 inset;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-thumb {\n background-color: #97c4e5;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-before {\n box-shadow: -4px 0px 4px 0px #eaf3fa;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-thumb.shadow-after {\n box-shadow: 4px 0px 4px 0px #eaf3fa;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .maru-toggle-text-button {\n color: #97c4e5;\n cursor: default;\n}\n.maru-toggle-text-success.maru-toggle-text-disabled .toggle-active {\n color: white;\n}\n.maru-toggle-text .maru-toggle-text-thumb {\n top: 0;\n left: 0;\n position: absolute;\n width: 33px;\n height: 23px;\n border-radius: 62px;\n transition: all 0.2s ease-in-out;\n z-index: 1;\n}\n.maru-toggle-text .maru-toggle-text-thumb::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background-color: transparent;\n transition: background-color 0.2s ease-in-out;\n pointer-events: none;\n}\n.maru-toggle-text:not(.maru-toggle-text-disabled):hover .maru-toggle-text-thumb::after {\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.slide-after {\n transform: translateX(33px);\n}\n\n.maru-toggle-text-button-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n\n.maru-toggle-text-button {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 10px;\n letter-spacing: -0.4px;\n font-weight: 700;\n position: relative;\n width: 33px;\n height: 23px;\n cursor: pointer;\n z-index: 2;\n background-color: transparent;\n border: 0;\n transition: color 0.4s ease;\n}";
72376
72409
  styleInject(css_248z$a);
72377
72410
 
72378
72411
  function Toggle(_a) {
@@ -72382,10 +72415,14 @@ function Toggle(_a) {
72382
72415
  _b = _a.color,
72383
72416
  color = _b === void 0 ? 'primary' : _b,
72384
72417
  disabled = _a.disabled,
72385
- text = _a.text;
72386
- var _c = useState(false),
72387
- buttonToggle = _c[0],
72388
- setButtonToggle = _c[1];
72418
+ text = _a.text,
72419
+ _c = _a.showIcon,
72420
+ showIcon = _c === void 0 ? false : _c,
72421
+ _d = _a.scale,
72422
+ scale = _d === void 0 ? 1 : _d;
72423
+ var _e = useState(false),
72424
+ buttonToggle = _e[0],
72425
+ setButtonToggle = _e[1];
72389
72426
  useEffect(function () {
72390
72427
  setButtonToggle(checked);
72391
72428
  }, [checked]);
@@ -72402,7 +72439,11 @@ function Toggle(_a) {
72402
72439
  children: text ? jsxs("div", __assign({
72403
72440
  className: classNames('maru-toggle-text', "maru-toggle-text-".concat(color), {
72404
72441
  'maru-toggle-text-disabled': disabled
72405
- }, className)
72442
+ }, className),
72443
+ style: {
72444
+ transform: "scale(".concat(scale, ")"),
72445
+ transformOrigin: 'left center'
72446
+ }
72406
72447
  }, {
72407
72448
  children: [jsx("span", {
72408
72449
  className: classNames('maru-toggle-text-thumb', {
@@ -72436,10 +72477,14 @@ function Toggle(_a) {
72436
72477
  }))]
72437
72478
  }))]
72438
72479
  })) : jsx("div", __assign({
72439
- className: classNames('maru-toggle-wrapper', className)
72480
+ className: classNames('maru-toggle-wrapper', className),
72481
+ style: {
72482
+ transform: "scale(".concat(scale, ")"),
72483
+ transformOrigin: 'left center'
72484
+ }
72440
72485
  }, {
72441
72486
  children: jsxs("div", __assign({
72442
- className: classNames('maru-toggle-inner-wrapper', {
72487
+ className: classNames('maru-toggle-inner-wrapper', "maru-toggle-".concat(color), {
72443
72488
  'toggle-disabled': disabled
72444
72489
  })
72445
72490
  }, {
@@ -72451,9 +72496,18 @@ function Toggle(_a) {
72451
72496
  onChange: handleInputChange
72452
72497
  }), jsx("span", {
72453
72498
  className: classNames('maru-toggle-rail', "maru-toggle-rail-".concat(color))
72454
- }), jsx("span", {
72499
+ }), jsx("span", __assign({
72455
72500
  className: "maru-toggle-thumb"
72456
- })]
72501
+ }, {
72502
+ children: showIcon && jsx("span", __assign({
72503
+ className: "maru-toggle-thumb-icon"
72504
+ }, {
72505
+ children: jsx(Icon, {
72506
+ name: checked ? ICONS.Check_s1413 : ICONS.SubtractLine_s1610,
72507
+ color: "inherit"
72508
+ })
72509
+ }))
72510
+ }))]
72457
72511
  }))
72458
72512
  }))
72459
72513
  });
package/mise.toml ADDED
@@ -0,0 +1,3 @@
1
+ [tools]
2
+ node = "20.12.1"
3
+ yarn = "1.22.22"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maru_design2",
3
- "version": "2.29.0",
3
+ "version": "2.30.0",
4
4
  "main": "./dist/index.js",
5
5
  "author": "zena-42maru",
6
6
  "license": "MIT",