@pisodev/test-component-library 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/components/Anchor/Anchor.native.tsx +44 -0
  2. package/components/Anchor/Anchor.types.ts +11 -0
  3. package/components/Anchor/Anchor.web.module.scss +33 -0
  4. package/components/Anchor/Anchor.web.tsx +35 -0
  5. package/components/Anchor/README.md +58 -0
  6. package/components/Anchor/index.ts +2 -0
  7. package/components/README.md +195 -0
  8. package/components/StatusBar/README.md +56 -0
  9. package/components/StatusBar/StatusBar.tsx +17 -0
  10. package/components/StatusBar/StatusBar.types.ts +5 -0
  11. package/components/StatusBar/index.ts +3 -0
  12. package/components/StatusBar/index.web.ts +14 -0
  13. package/components/Tooltip/README.md +45 -0
  14. package/components/Tooltip/Tooltip.module.scss +44 -0
  15. package/components/Tooltip/Tooltip.tsx +26 -0
  16. package/components/Tooltip/Tooltip.types.ts +7 -0
  17. package/components/Tooltip/index.native.ts +15 -0
  18. package/components/Tooltip/index.ts +3 -0
  19. package/components/index.ts +8 -0
  20. package/dist/Anchor/Anchor.native.d.ts +3 -0
  21. package/dist/Anchor/Anchor.native.js +34 -0
  22. package/dist/Anchor/Anchor.types.d.ts +10 -0
  23. package/dist/Anchor/Anchor.types.js +2 -0
  24. package/dist/Anchor/Anchor.web.d.ts +3 -0
  25. package/dist/Anchor/index.d.ts +2 -0
  26. package/dist/StatusBar/StatusBar.d.ts +3 -0
  27. package/dist/StatusBar/StatusBar.types.d.ts +5 -0
  28. package/dist/StatusBar/StatusBar.types.js +2 -0
  29. package/dist/StatusBar/index.d.ts +2 -0
  30. package/dist/StatusBar/index.web.d.ts +3 -0
  31. package/dist/Tooltip/Tooltip.d.ts +3 -0
  32. package/dist/Tooltip/Tooltip.types.d.ts +6 -0
  33. package/dist/Tooltip/Tooltip.types.js +2 -0
  34. package/dist/Tooltip/index.d.ts +2 -0
  35. package/dist/Tooltip/index.native.d.ts +4 -0
  36. package/dist/Tooltip/index.native.js +12 -0
  37. package/dist/index.d.ts +3 -2
  38. package/dist/index.esm.js +23 -143
  39. package/dist/index.esm.js.map +1 -1
  40. package/dist/index.js +23 -146
  41. package/dist/index.js.map +1 -1
  42. package/package.json +22 -9
  43. package/README.md +0 -101
  44. package/dist/components/Anchor/Anchor.d.ts +0 -11
  45. package/dist/components/Anchor/index.d.ts +0 -2
  46. package/dist/components/Button/Button.d.ts +0 -11
  47. package/dist/components/Button/index.d.ts +0 -2
  48. package/dist/components/Card/Card.d.ts +0 -11
  49. package/dist/components/Card/index.d.ts +0 -2
  50. package/dist/components/index.d.ts +0 -6
  51. package/dist/theme/ThemeProvider.d.ts +0 -12
  52. package/dist/theme/defaultTheme.d.ts +0 -2
  53. package/dist/theme/index.d.ts +0 -3
  54. package/dist/theme/types.d.ts +0 -23
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { AnchorProps } from './Anchor.types';
3
+ export declare const Anchor: React.FC<AnchorProps>;
@@ -0,0 +1,2 @@
1
+ export { Anchor } from './Anchor';
2
+ export type { AnchorProps } from './Anchor.types';
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { StatusBarProps } from './StatusBar.types';
3
+ export declare const StatusBar: React.FC<StatusBarProps>;
@@ -0,0 +1,5 @@
1
+ export interface StatusBarProps {
2
+ barStyle?: 'default' | 'light-content' | 'dark-content';
3
+ backgroundColor?: string;
4
+ hidden?: boolean;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export { StatusBar } from './StatusBar';
2
+ export type { StatusBarProps } from './StatusBar.types';
@@ -0,0 +1,3 @@
1
+ import { StatusBarProps } from './StatusBar.types';
2
+ export declare const StatusBar: (_props: StatusBarProps) => null;
3
+ export type { StatusBarProps };
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { TooltipProps } from './Tooltip.types';
3
+ export declare const Tooltip: React.FC<TooltipProps>;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface TooltipProps {
3
+ children: ReactNode;
4
+ content: string;
5
+ position?: 'top' | 'bottom' | 'left' | 'right';
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export { Tooltip } from './Tooltip';
2
+ export type { TooltipProps } from './Tooltip.types';
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TooltipProps } from './Tooltip.types';
3
+ export declare const Tooltip: React.FC<TooltipProps>;
4
+ export type { TooltipProps };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tooltip = void 0;
4
+ // React Native에서는 Tooltip 미지원
5
+ // children만 렌더링하고 tooltip은 무시
6
+ const Tooltip = ({ children }) => {
7
+ if (process.env.NODE_ENV === 'development') {
8
+ console.warn('Tooltip is web-only. On React Native, consider using a modal or overlay library.');
9
+ }
10
+ return children;
11
+ };
12
+ exports.Tooltip = Tooltip;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export * from './components';
2
- export * from './theme';
1
+ export * from './Anchor';
2
+ export * from './Tooltip';
3
+ export * from './StatusBar';
package/dist/index.esm.js CHANGED
@@ -1,4 +1,5 @@
1
- import React, { createContext, useMemo, useContext } from 'react';
1
+ import React, { useState } from 'react';
2
+ import { StatusBar as StatusBar$1 } from 'react-native';
2
3
 
3
4
  function styleInject(css, ref) {
4
5
  if ( ref === void 0 ) ref = {};
@@ -27,156 +28,35 @@ function styleInject(css, ref) {
27
28
  }
28
29
  }
29
30
 
30
- var css_248z$2 = ".Button-module_button__18Bed{border:none;border-radius:4px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:500;transition:all .3s ease}.Button-module_button__18Bed:disabled{cursor:not-allowed;opacity:.6}.Button-module_button__18Bed:not(:disabled):hover{box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-1px)}.Button-module_button__18Bed:not(:disabled):active{transform:translateY(0)}.Button-module_button__18Bed.Button-module_small__zfmcP{font-size:14px;padding:6px 12px}.Button-module_button__18Bed.Button-module_medium__HYxwi{font-size:16px;padding:10px 20px}.Button-module_button__18Bed.Button-module_large__iWceB{font-size:18px;padding:14px 28px}.Button-module_button__18Bed.Button-module_primary__st6yY{background-color:var(--color-primary-600,#2196f3);color:#fff}.Button-module_button__18Bed.Button-module_primary__st6yY:not(:disabled):hover{background-color:var(--color-primary-700,#1976d2)}.Button-module_button__18Bed.Button-module_secondary__j-3rj{background-color:var(--color-secondary-600,#8e24aa);color:#fff}.Button-module_button__18Bed.Button-module_secondary__j-3rj:not(:disabled):hover{background-color:var(--color-secondary-700,#7b1fa2)}.Button-module_button__18Bed.Button-module_outline__TFr94{background-color:transparent;border:2px solid var(--color-primary-600,#2196f3);color:var(--color-primary-600,#2196f3)}.Button-module_button__18Bed.Button-module_outline__TFr94:not(:disabled):hover{background-color:var(--color-primary-600,#2196f3);color:#fff}";
31
- var styles$2 = {"button":"Button-module_button__18Bed","small":"Button-module_small__zfmcP","medium":"Button-module_medium__HYxwi","large":"Button-module_large__iWceB","primary":"Button-module_primary__st6yY","secondary":"Button-module_secondary__j-3rj","outline":"Button-module_outline__TFr94"};
32
- styleInject(css_248z$2);
33
-
34
- const Button = ({ children, variant = 'primary', size = 'medium', onClick, disabled = false, type = 'button', className = '', }) => {
35
- const buttonClasses = [
36
- styles$2.button,
37
- styles$2[variant],
38
- styles$2[size],
39
- className,
40
- ]
41
- .filter(Boolean)
42
- .join(' ');
43
- return (React.createElement("button", { className: buttonClasses, onClick: onClick, disabled: disabled, type: type }, children));
44
- };
45
-
46
- var css_248z$1 = ".Card-module_card__LzN-3{border-radius:8px;overflow:hidden;transition:all .3s ease}.Card-module_card__LzN-3.Card-module_default__iGjRs{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.Card-module_card__LzN-3.Card-module_elevated__SpUsJ{background-color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}.Card-module_card__LzN-3.Card-module_elevated__SpUsJ:hover{box-shadow:0 8px 16px rgba(0,0,0,.2)}.Card-module_card__LzN-3.Card-module_outlined__SPAas{background-color:#fff;border:1px solid #e0e0e0;box-shadow:none}.Card-module_card__LzN-3.Card-module_clickable__Lx4fx{cursor:pointer}.Card-module_card__LzN-3.Card-module_clickable__Lx4fx:hover{transform:translateY(-2px)}.Card-module_card__LzN-3.Card-module_clickable__Lx4fx:active{transform:translateY(0)}.Card-module_header__j-c-9{border-bottom:1px solid #e0e0e0;padding:16px}.Card-module_title__DzwNA{color:#333;font-size:20px;font-weight:600;margin:0}.Card-module_subtitle__RVMlO{color:#666;font-size:14px;margin:4px 0 0}.Card-module_content__vMtHg{padding:16px}.Card-module_footer__FjLbG{background-color:#f8f9fa;border-top:1px solid #e0e0e0;padding:16px}";
47
- var styles$1 = {"card":"Card-module_card__LzN-3","default":"Card-module_default__iGjRs","elevated":"Card-module_elevated__SpUsJ","outlined":"Card-module_outlined__SPAas","clickable":"Card-module_clickable__Lx4fx","header":"Card-module_header__j-c-9","title":"Card-module_title__DzwNA","subtitle":"Card-module_subtitle__RVMlO","content":"Card-module_content__vMtHg","footer":"Card-module_footer__FjLbG"};
31
+ var css_248z$1 = ".Anchor-web-module_anchor__UIKbZ{color:var(--color-primary-600,#2196f3);cursor:pointer;position:relative;text-decoration:none;transition:all .2s ease}.Anchor-web-module_anchor__UIKbZ:hover{color:var(--color-primary-700,#1976d2);text-decoration:underline}.Anchor-web-module_anchor__UIKbZ:focus{outline:2px solid var(--color-primary-600,#2196f3);outline-offset:2px}.Anchor-web-module_anchor__UIKbZ:visited{color:var(--color-primary-800,#1565c0)}.Anchor-web-module_anchor__UIKbZ:active{color:var(--color-primary-900,#0d47a1)}";
32
+ var styles$1 = {"anchor":"Anchor-web-module_anchor__UIKbZ"};
48
33
  styleInject(css_248z$1);
49
34
 
50
- const Card = ({ children, title, subtitle, footer, variant = 'default', className = '', onClick, }) => {
51
- const cardClasses = [
52
- styles$1.card,
53
- styles$1[variant],
54
- onClick ? styles$1.clickable : '',
55
- className,
56
- ]
57
- .filter(Boolean)
58
- .join(' ');
59
- return (React.createElement("div", { className: cardClasses, onClick: onClick },
60
- (title || subtitle) && (React.createElement("div", { className: styles$1.header },
61
- title && React.createElement("h3", { className: styles$1.title }, title),
62
- subtitle && React.createElement("p", { className: styles$1.subtitle }, subtitle))),
63
- React.createElement("div", { className: styles$1.content }, children),
64
- footer && React.createElement("div", { className: styles$1.footer }, footer)));
35
+ const Anchor = ({ children, href, rel, title, target = '_self', className = '', onPress, }) => {
36
+ const anchorClasses = [styles$1.anchor, className].filter(Boolean).join(' ');
37
+ const handleClick = (e) => {
38
+ if (onPress) {
39
+ e.preventDefault();
40
+ onPress();
41
+ }
42
+ };
43
+ return (React.createElement("a", { href: href, rel: rel, title: title, target: target, className: anchorClasses, onClick: handleClick }, children));
65
44
  };
66
45
 
67
- var css_248z = ".Anchor-module_anchor__uhpem{color:var(--color-primary-600,#2196f3);cursor:pointer;position:relative;text-decoration:none;transition:all .2s ease}.Anchor-module_anchor__uhpem:hover{color:var(--color-primary-700,#1976d2);text-decoration:underline}.Anchor-module_anchor__uhpem:focus{outline:2px solid var(--color-primary-600,#2196f3);outline-offset:2px}.Anchor-module_anchor__uhpem:visited{color:var(--color-primary-800,#1565c0)}.Anchor-module_anchor__uhpem:active{color:var(--color-primary-900,#0d47a1)}";
68
- var styles = {"anchor":"Anchor-module_anchor__uhpem"};
46
+ var css_248z = ".Tooltip-module_tooltipWrapper__xyNaw{display:inline-block;position:relative}.Tooltip-module_tooltip__5JYjr{background-color:rgba(0,0,0,.8);border-radius:4px;color:#fff;font-size:14px;padding:8px 12px;pointer-events:none;position:absolute;white-space:nowrap;z-index:1000}.Tooltip-module_tooltip__5JYjr.Tooltip-module_top__ne8AY{bottom:100%;left:50%;margin-bottom:8px;transform:translateX(-50%)}.Tooltip-module_tooltip__5JYjr.Tooltip-module_bottom__euTWK{left:50%;margin-top:8px;top:100%;transform:translateX(-50%)}.Tooltip-module_tooltip__5JYjr.Tooltip-module_left__vrkh0{margin-right:8px;right:100%;top:50%;transform:translateY(-50%)}.Tooltip-module_tooltip__5JYjr.Tooltip-module_right__jZEpK{left:100%;margin-left:8px;top:50%;transform:translateY(-50%)}";
47
+ var styles = {"tooltipWrapper":"Tooltip-module_tooltipWrapper__xyNaw","tooltip":"Tooltip-module_tooltip__5JYjr","top":"Tooltip-module_top__ne8AY","bottom":"Tooltip-module_bottom__euTWK","left":"Tooltip-module_left__vrkh0","right":"Tooltip-module_right__jZEpK"};
69
48
  styleInject(css_248z);
70
49
 
71
- const Anchor = ({ children, href, rel, title, target = '_self', className = '', onClick, }) => {
72
- const anchorClasses = [styles.anchor, className].filter(Boolean).join(' ');
73
- return (React.createElement("a", { href: href, rel: rel, title: title, target: target, className: anchorClasses, onClick: onClick }, children));
74
- };
75
-
76
- const defaultTheme = {
77
- colors: {
78
- primary: {
79
- 50: '#e3f2fd',
80
- 100: '#bbdefb',
81
- 200: '#90caf9',
82
- 300: '#64b5f6',
83
- 400: '#42a5f5',
84
- 500: '#2196f3',
85
- 600: '#1e88e5',
86
- 700: '#1976d2',
87
- 800: '#1565c0',
88
- 900: '#0d47a1',
89
- },
90
- secondary: {
91
- 50: '#f3e5f5',
92
- 100: '#e1bee7',
93
- 200: '#ce93d8',
94
- 300: '#ba68c8',
95
- 400: '#ab47bc',
96
- 500: '#9c27b0',
97
- 600: '#8e24aa',
98
- 700: '#7b1fa2',
99
- 800: '#6a1b9a',
100
- 900: '#4a148c',
101
- },
102
- success: {
103
- 50: '#e8f5e9',
104
- 100: '#c8e6c9',
105
- 200: '#a5d6a7',
106
- 300: '#81c784',
107
- 400: '#66bb6a',
108
- 500: '#4caf50',
109
- 600: '#43a047',
110
- 700: '#388e3c',
111
- 800: '#2e7d32',
112
- 900: '#1b5e20',
113
- },
114
- warning: {
115
- 50: '#fff3e0',
116
- 100: '#ffe0b2',
117
- 200: '#ffcc80',
118
- 300: '#ffb74d',
119
- 400: '#ffa726',
120
- 500: '#ff9800',
121
- 600: '#fb8c00',
122
- 700: '#f57c00',
123
- 800: '#ef6c00',
124
- 900: '#e65100',
125
- },
126
- danger: {
127
- 50: '#ffebee',
128
- 100: '#ffcdd2',
129
- 200: '#ef9a9a',
130
- 300: '#e57373',
131
- 400: '#ef5350',
132
- 500: '#f44336',
133
- 600: '#e53935',
134
- 700: '#d32f2f',
135
- 800: '#c62828',
136
- 900: '#b71c1c',
137
- },
138
- },
50
+ const Tooltip = ({ children, content, position = 'top', }) => {
51
+ const [isVisible, setIsVisible] = useState(false);
52
+ return (React.createElement("div", { className: styles.tooltipWrapper, onMouseEnter: () => setIsVisible(true), onMouseLeave: () => setIsVisible(false) },
53
+ children,
54
+ isVisible && (React.createElement("div", { className: `${styles.tooltip} ${styles[position]}` }, content))));
139
55
  };
140
56
 
141
- const ThemeContext = createContext(undefined);
142
- function mergeColors(defaultColors, customColors) {
143
- if (!customColors)
144
- return defaultColors;
145
- const merged = Object.assign({}, defaultColors);
146
- Object.keys(customColors).forEach((colorKey) => {
147
- const customColorScale = customColors[colorKey];
148
- if (customColorScale) {
149
- merged[colorKey] = Object.assign(Object.assign({}, defaultColors[colorKey]), customColorScale);
150
- }
151
- });
152
- return merged;
153
- }
154
- const ThemeProvider = ({ children, colors, }) => {
155
- const theme = useMemo(() => {
156
- return {
157
- colors: mergeColors(defaultTheme.colors, colors),
158
- };
159
- }, [colors]);
160
- // CSS Variables를 설정
161
- React.useEffect(() => {
162
- const root = document.documentElement;
163
- Object.entries(theme.colors).forEach(([colorName, colorScale]) => {
164
- if (colorScale) {
165
- Object.entries(colorScale).forEach(([scale, value]) => {
166
- root.style.setProperty(`--color-${colorName}-${scale}`, value);
167
- });
168
- }
169
- });
170
- }, [theme]);
171
- return (React.createElement(ThemeContext.Provider, { value: { theme } }, children));
172
- };
173
- const useTheme = () => {
174
- const context = useContext(ThemeContext);
175
- if (!context) {
176
- throw new Error('useTheme must be used within a ThemeProvider');
177
- }
178
- return context;
57
+ const StatusBar = ({ barStyle = 'default', backgroundColor, hidden = false, }) => {
58
+ return (React.createElement(StatusBar$1, { barStyle: barStyle, backgroundColor: backgroundColor, hidden: hidden }));
179
59
  };
180
60
 
181
- export { Anchor, Button, Card, ThemeProvider, defaultTheme, useTheme };
61
+ export { Anchor, StatusBar, Tooltip };
182
62
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Anchor/Anchor.tsx","../src/theme/defaultTheme.ts","../src/theme/ThemeProvider.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport styles from './Button.module.scss';\n\nexport interface ButtonProps {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'outline';\n size?: 'small' | 'medium' | 'large';\n onClick?: () => void;\n disabled?: boolean;\n type?: 'button' | 'submit' | 'reset';\n className?: string;\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n children,\n variant = 'primary',\n size = 'medium',\n onClick,\n disabled = false,\n type = 'button',\n className = '',\n}) => {\n const buttonClasses = [\n styles.button,\n styles[variant],\n styles[size],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button\n className={buttonClasses}\n onClick={onClick}\n disabled={disabled}\n type={type}\n >\n {children}\n </button>\n );\n};\n","import React from 'react';\nimport styles from './Card.module.scss';\n\nexport interface CardProps {\n children: React.ReactNode;\n title?: string;\n subtitle?: string;\n footer?: React.ReactNode;\n variant?: 'default' | 'elevated' | 'outlined';\n className?: string;\n onClick?: () => void;\n}\n\nexport const Card: React.FC<CardProps> = ({\n children,\n title,\n subtitle,\n footer,\n variant = 'default',\n className = '',\n onClick,\n}) => {\n const cardClasses = [\n styles.card,\n styles[variant],\n onClick ? styles.clickable : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={cardClasses} onClick={onClick}>\n {(title || subtitle) && (\n <div className={styles.header}>\n {title && <h3 className={styles.title}>{title}</h3>}\n {subtitle && <p className={styles.subtitle}>{subtitle}</p>}\n </div>\n )}\n <div className={styles.content}>{children}</div>\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n );\n};\n","import React from 'react';\nimport styles from './Anchor.module.scss';\n\nexport interface AnchorProps {\n children: React.ReactNode;\n href: string;\n rel: string;\n title: string;\n target?: '_blank' | '_self' | '_parent' | '_top';\n className?: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;\n}\n\nexport const Anchor: React.FC<AnchorProps> = ({\n children,\n href,\n rel,\n title,\n target = '_self',\n className = '',\n onClick,\n}) => {\n const anchorClasses = [styles.anchor, className].filter(Boolean).join(' ');\n\n return (\n <a\n href={href}\n rel={rel}\n title={title}\n target={target}\n className={anchorClasses}\n onClick={onClick}\n >\n {children}\n </a>\n );\n};\n","import { Theme } from './types';\n\nexport const defaultTheme: Theme = {\n colors: {\n primary: {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n },\n secondary: {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n },\n success: {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n },\n warning: {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n },\n danger: {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n },\n },\n};\n","import React, { createContext, useContext, useMemo } from 'react';\nimport { Theme, ThemeColors } from './types';\nimport { defaultTheme } from './defaultTheme';\n\ninterface ThemeContextValue {\n theme: Theme;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\ninterface ThemeProviderProps {\n children: React.ReactNode;\n colors?: ThemeColors;\n}\n\nfunction mergeColors(\n defaultColors: ThemeColors,\n customColors?: ThemeColors\n): ThemeColors {\n if (!customColors) return defaultColors;\n\n const merged: ThemeColors = { ...defaultColors };\n\n Object.keys(customColors).forEach((colorKey) => {\n const customColorScale = customColors[colorKey];\n if (customColorScale) {\n merged[colorKey] = {\n ...defaultColors[colorKey],\n ...customColorScale,\n };\n }\n });\n\n return merged;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n colors,\n}) => {\n const theme = useMemo(() => {\n return {\n colors: mergeColors(defaultTheme.colors, colors),\n };\n }, [colors]);\n\n // CSS Variables를 설정\n React.useEffect(() => {\n const root = document.documentElement;\n\n Object.entries(theme.colors).forEach(([colorName, colorScale]) => {\n if (colorScale) {\n Object.entries(colorScale).forEach(([scale, value]) => {\n root.style.setProperty(`--color-${colorName}-${scale}`, value);\n });\n }\n });\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={{ theme }}>{children}</ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeContextValue => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n"],"names":["styles"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.esm.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js","../components/Anchor/Anchor.web.tsx","../components/Tooltip/Tooltip.tsx","../components/StatusBar/StatusBar.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport { AnchorProps } from './Anchor.types';\nimport styles from './Anchor.web.module.scss';\n\nexport const Anchor: React.FC<AnchorProps> = ({\n children,\n href,\n rel,\n title,\n target = '_self',\n className = '',\n onPress,\n}) => {\n const anchorClasses = [styles.anchor, className].filter(Boolean).join(' ');\n\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (onPress) {\n e.preventDefault();\n onPress();\n }\n };\n\n return (\n <a\n href={href}\n rel={rel}\n title={title}\n target={target}\n className={anchorClasses}\n onClick={handleClick}\n >\n {children}\n </a>\n );\n};\n","import React, { useState } from 'react';\nimport { TooltipProps } from './Tooltip.types';\nimport styles from './Tooltip.module.scss';\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n position = 'top',\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n\n return (\n <div\n className={styles.tooltipWrapper}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n >\n {children}\n {isVisible && (\n <div className={`${styles.tooltip} ${styles[position]}`}>\n {content}\n </div>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { StatusBar as RNStatusBar } from 'react-native';\nimport { StatusBarProps } from './StatusBar.types';\n\nexport const StatusBar: React.FC<StatusBarProps> = ({\n barStyle = 'default',\n backgroundColor,\n hidden = false,\n}) => {\n return (\n <RNStatusBar\n barStyle={barStyle}\n backgroundColor={backgroundColor}\n hidden={hidden}\n />\n );\n};\n"],"names":["styles","RNStatusBar"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
+ var reactNative = require('react-native');
4
5
 
5
6
  function styleInject(css, ref) {
6
7
  if ( ref === void 0 ) ref = {};
@@ -29,161 +30,37 @@ function styleInject(css, ref) {
29
30
  }
30
31
  }
31
32
 
32
- var css_248z$2 = ".Button-module_button__18Bed{border:none;border-radius:4px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:500;transition:all .3s ease}.Button-module_button__18Bed:disabled{cursor:not-allowed;opacity:.6}.Button-module_button__18Bed:not(:disabled):hover{box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-1px)}.Button-module_button__18Bed:not(:disabled):active{transform:translateY(0)}.Button-module_button__18Bed.Button-module_small__zfmcP{font-size:14px;padding:6px 12px}.Button-module_button__18Bed.Button-module_medium__HYxwi{font-size:16px;padding:10px 20px}.Button-module_button__18Bed.Button-module_large__iWceB{font-size:18px;padding:14px 28px}.Button-module_button__18Bed.Button-module_primary__st6yY{background-color:var(--color-primary-600,#2196f3);color:#fff}.Button-module_button__18Bed.Button-module_primary__st6yY:not(:disabled):hover{background-color:var(--color-primary-700,#1976d2)}.Button-module_button__18Bed.Button-module_secondary__j-3rj{background-color:var(--color-secondary-600,#8e24aa);color:#fff}.Button-module_button__18Bed.Button-module_secondary__j-3rj:not(:disabled):hover{background-color:var(--color-secondary-700,#7b1fa2)}.Button-module_button__18Bed.Button-module_outline__TFr94{background-color:transparent;border:2px solid var(--color-primary-600,#2196f3);color:var(--color-primary-600,#2196f3)}.Button-module_button__18Bed.Button-module_outline__TFr94:not(:disabled):hover{background-color:var(--color-primary-600,#2196f3);color:#fff}";
33
- var styles$2 = {"button":"Button-module_button__18Bed","small":"Button-module_small__zfmcP","medium":"Button-module_medium__HYxwi","large":"Button-module_large__iWceB","primary":"Button-module_primary__st6yY","secondary":"Button-module_secondary__j-3rj","outline":"Button-module_outline__TFr94"};
34
- styleInject(css_248z$2);
35
-
36
- const Button = ({ children, variant = 'primary', size = 'medium', onClick, disabled = false, type = 'button', className = '', }) => {
37
- const buttonClasses = [
38
- styles$2.button,
39
- styles$2[variant],
40
- styles$2[size],
41
- className,
42
- ]
43
- .filter(Boolean)
44
- .join(' ');
45
- return (React.createElement("button", { className: buttonClasses, onClick: onClick, disabled: disabled, type: type }, children));
46
- };
47
-
48
- var css_248z$1 = ".Card-module_card__LzN-3{border-radius:8px;overflow:hidden;transition:all .3s ease}.Card-module_card__LzN-3.Card-module_default__iGjRs{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.Card-module_card__LzN-3.Card-module_elevated__SpUsJ{background-color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}.Card-module_card__LzN-3.Card-module_elevated__SpUsJ:hover{box-shadow:0 8px 16px rgba(0,0,0,.2)}.Card-module_card__LzN-3.Card-module_outlined__SPAas{background-color:#fff;border:1px solid #e0e0e0;box-shadow:none}.Card-module_card__LzN-3.Card-module_clickable__Lx4fx{cursor:pointer}.Card-module_card__LzN-3.Card-module_clickable__Lx4fx:hover{transform:translateY(-2px)}.Card-module_card__LzN-3.Card-module_clickable__Lx4fx:active{transform:translateY(0)}.Card-module_header__j-c-9{border-bottom:1px solid #e0e0e0;padding:16px}.Card-module_title__DzwNA{color:#333;font-size:20px;font-weight:600;margin:0}.Card-module_subtitle__RVMlO{color:#666;font-size:14px;margin:4px 0 0}.Card-module_content__vMtHg{padding:16px}.Card-module_footer__FjLbG{background-color:#f8f9fa;border-top:1px solid #e0e0e0;padding:16px}";
49
- var styles$1 = {"card":"Card-module_card__LzN-3","default":"Card-module_default__iGjRs","elevated":"Card-module_elevated__SpUsJ","outlined":"Card-module_outlined__SPAas","clickable":"Card-module_clickable__Lx4fx","header":"Card-module_header__j-c-9","title":"Card-module_title__DzwNA","subtitle":"Card-module_subtitle__RVMlO","content":"Card-module_content__vMtHg","footer":"Card-module_footer__FjLbG"};
33
+ var css_248z$1 = ".Anchor-web-module_anchor__UIKbZ{color:var(--color-primary-600,#2196f3);cursor:pointer;position:relative;text-decoration:none;transition:all .2s ease}.Anchor-web-module_anchor__UIKbZ:hover{color:var(--color-primary-700,#1976d2);text-decoration:underline}.Anchor-web-module_anchor__UIKbZ:focus{outline:2px solid var(--color-primary-600,#2196f3);outline-offset:2px}.Anchor-web-module_anchor__UIKbZ:visited{color:var(--color-primary-800,#1565c0)}.Anchor-web-module_anchor__UIKbZ:active{color:var(--color-primary-900,#0d47a1)}";
34
+ var styles$1 = {"anchor":"Anchor-web-module_anchor__UIKbZ"};
50
35
  styleInject(css_248z$1);
51
36
 
52
- const Card = ({ children, title, subtitle, footer, variant = 'default', className = '', onClick, }) => {
53
- const cardClasses = [
54
- styles$1.card,
55
- styles$1[variant],
56
- onClick ? styles$1.clickable : '',
57
- className,
58
- ]
59
- .filter(Boolean)
60
- .join(' ');
61
- return (React.createElement("div", { className: cardClasses, onClick: onClick },
62
- (title || subtitle) && (React.createElement("div", { className: styles$1.header },
63
- title && React.createElement("h3", { className: styles$1.title }, title),
64
- subtitle && React.createElement("p", { className: styles$1.subtitle }, subtitle))),
65
- React.createElement("div", { className: styles$1.content }, children),
66
- footer && React.createElement("div", { className: styles$1.footer }, footer)));
37
+ const Anchor = ({ children, href, rel, title, target = '_self', className = '', onPress, }) => {
38
+ const anchorClasses = [styles$1.anchor, className].filter(Boolean).join(' ');
39
+ const handleClick = (e) => {
40
+ if (onPress) {
41
+ e.preventDefault();
42
+ onPress();
43
+ }
44
+ };
45
+ return (React.createElement("a", { href: href, rel: rel, title: title, target: target, className: anchorClasses, onClick: handleClick }, children));
67
46
  };
68
47
 
69
- var css_248z = ".Anchor-module_anchor__uhpem{color:var(--color-primary-600,#2196f3);cursor:pointer;position:relative;text-decoration:none;transition:all .2s ease}.Anchor-module_anchor__uhpem:hover{color:var(--color-primary-700,#1976d2);text-decoration:underline}.Anchor-module_anchor__uhpem:focus{outline:2px solid var(--color-primary-600,#2196f3);outline-offset:2px}.Anchor-module_anchor__uhpem:visited{color:var(--color-primary-800,#1565c0)}.Anchor-module_anchor__uhpem:active{color:var(--color-primary-900,#0d47a1)}";
70
- var styles = {"anchor":"Anchor-module_anchor__uhpem"};
48
+ var css_248z = ".Tooltip-module_tooltipWrapper__xyNaw{display:inline-block;position:relative}.Tooltip-module_tooltip__5JYjr{background-color:rgba(0,0,0,.8);border-radius:4px;color:#fff;font-size:14px;padding:8px 12px;pointer-events:none;position:absolute;white-space:nowrap;z-index:1000}.Tooltip-module_tooltip__5JYjr.Tooltip-module_top__ne8AY{bottom:100%;left:50%;margin-bottom:8px;transform:translateX(-50%)}.Tooltip-module_tooltip__5JYjr.Tooltip-module_bottom__euTWK{left:50%;margin-top:8px;top:100%;transform:translateX(-50%)}.Tooltip-module_tooltip__5JYjr.Tooltip-module_left__vrkh0{margin-right:8px;right:100%;top:50%;transform:translateY(-50%)}.Tooltip-module_tooltip__5JYjr.Tooltip-module_right__jZEpK{left:100%;margin-left:8px;top:50%;transform:translateY(-50%)}";
49
+ var styles = {"tooltipWrapper":"Tooltip-module_tooltipWrapper__xyNaw","tooltip":"Tooltip-module_tooltip__5JYjr","top":"Tooltip-module_top__ne8AY","bottom":"Tooltip-module_bottom__euTWK","left":"Tooltip-module_left__vrkh0","right":"Tooltip-module_right__jZEpK"};
71
50
  styleInject(css_248z);
72
51
 
73
- const Anchor = ({ children, href, rel, title, target = '_self', className = '', onClick, }) => {
74
- const anchorClasses = [styles.anchor, className].filter(Boolean).join(' ');
75
- return (React.createElement("a", { href: href, rel: rel, title: title, target: target, className: anchorClasses, onClick: onClick }, children));
76
- };
77
-
78
- const defaultTheme = {
79
- colors: {
80
- primary: {
81
- 50: '#e3f2fd',
82
- 100: '#bbdefb',
83
- 200: '#90caf9',
84
- 300: '#64b5f6',
85
- 400: '#42a5f5',
86
- 500: '#2196f3',
87
- 600: '#1e88e5',
88
- 700: '#1976d2',
89
- 800: '#1565c0',
90
- 900: '#0d47a1',
91
- },
92
- secondary: {
93
- 50: '#f3e5f5',
94
- 100: '#e1bee7',
95
- 200: '#ce93d8',
96
- 300: '#ba68c8',
97
- 400: '#ab47bc',
98
- 500: '#9c27b0',
99
- 600: '#8e24aa',
100
- 700: '#7b1fa2',
101
- 800: '#6a1b9a',
102
- 900: '#4a148c',
103
- },
104
- success: {
105
- 50: '#e8f5e9',
106
- 100: '#c8e6c9',
107
- 200: '#a5d6a7',
108
- 300: '#81c784',
109
- 400: '#66bb6a',
110
- 500: '#4caf50',
111
- 600: '#43a047',
112
- 700: '#388e3c',
113
- 800: '#2e7d32',
114
- 900: '#1b5e20',
115
- },
116
- warning: {
117
- 50: '#fff3e0',
118
- 100: '#ffe0b2',
119
- 200: '#ffcc80',
120
- 300: '#ffb74d',
121
- 400: '#ffa726',
122
- 500: '#ff9800',
123
- 600: '#fb8c00',
124
- 700: '#f57c00',
125
- 800: '#ef6c00',
126
- 900: '#e65100',
127
- },
128
- danger: {
129
- 50: '#ffebee',
130
- 100: '#ffcdd2',
131
- 200: '#ef9a9a',
132
- 300: '#e57373',
133
- 400: '#ef5350',
134
- 500: '#f44336',
135
- 600: '#e53935',
136
- 700: '#d32f2f',
137
- 800: '#c62828',
138
- 900: '#b71c1c',
139
- },
140
- },
52
+ const Tooltip = ({ children, content, position = 'top', }) => {
53
+ const [isVisible, setIsVisible] = React.useState(false);
54
+ return (React.createElement("div", { className: styles.tooltipWrapper, onMouseEnter: () => setIsVisible(true), onMouseLeave: () => setIsVisible(false) },
55
+ children,
56
+ isVisible && (React.createElement("div", { className: `${styles.tooltip} ${styles[position]}` }, content))));
141
57
  };
142
58
 
143
- const ThemeContext = React.createContext(undefined);
144
- function mergeColors(defaultColors, customColors) {
145
- if (!customColors)
146
- return defaultColors;
147
- const merged = Object.assign({}, defaultColors);
148
- Object.keys(customColors).forEach((colorKey) => {
149
- const customColorScale = customColors[colorKey];
150
- if (customColorScale) {
151
- merged[colorKey] = Object.assign(Object.assign({}, defaultColors[colorKey]), customColorScale);
152
- }
153
- });
154
- return merged;
155
- }
156
- const ThemeProvider = ({ children, colors, }) => {
157
- const theme = React.useMemo(() => {
158
- return {
159
- colors: mergeColors(defaultTheme.colors, colors),
160
- };
161
- }, [colors]);
162
- // CSS Variables를 설정
163
- React.useEffect(() => {
164
- const root = document.documentElement;
165
- Object.entries(theme.colors).forEach(([colorName, colorScale]) => {
166
- if (colorScale) {
167
- Object.entries(colorScale).forEach(([scale, value]) => {
168
- root.style.setProperty(`--color-${colorName}-${scale}`, value);
169
- });
170
- }
171
- });
172
- }, [theme]);
173
- return (React.createElement(ThemeContext.Provider, { value: { theme } }, children));
174
- };
175
- const useTheme = () => {
176
- const context = React.useContext(ThemeContext);
177
- if (!context) {
178
- throw new Error('useTheme must be used within a ThemeProvider');
179
- }
180
- return context;
59
+ const StatusBar = ({ barStyle = 'default', backgroundColor, hidden = false, }) => {
60
+ return (React.createElement(reactNative.StatusBar, { barStyle: barStyle, backgroundColor: backgroundColor, hidden: hidden }));
181
61
  };
182
62
 
183
63
  exports.Anchor = Anchor;
184
- exports.Button = Button;
185
- exports.Card = Card;
186
- exports.ThemeProvider = ThemeProvider;
187
- exports.defaultTheme = defaultTheme;
188
- exports.useTheme = useTheme;
64
+ exports.StatusBar = StatusBar;
65
+ exports.Tooltip = Tooltip;
189
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Anchor/Anchor.tsx","../src/theme/defaultTheme.ts","../src/theme/ThemeProvider.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport styles from './Button.module.scss';\n\nexport interface ButtonProps {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'outline';\n size?: 'small' | 'medium' | 'large';\n onClick?: () => void;\n disabled?: boolean;\n type?: 'button' | 'submit' | 'reset';\n className?: string;\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n children,\n variant = 'primary',\n size = 'medium',\n onClick,\n disabled = false,\n type = 'button',\n className = '',\n}) => {\n const buttonClasses = [\n styles.button,\n styles[variant],\n styles[size],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button\n className={buttonClasses}\n onClick={onClick}\n disabled={disabled}\n type={type}\n >\n {children}\n </button>\n );\n};\n","import React from 'react';\nimport styles from './Card.module.scss';\n\nexport interface CardProps {\n children: React.ReactNode;\n title?: string;\n subtitle?: string;\n footer?: React.ReactNode;\n variant?: 'default' | 'elevated' | 'outlined';\n className?: string;\n onClick?: () => void;\n}\n\nexport const Card: React.FC<CardProps> = ({\n children,\n title,\n subtitle,\n footer,\n variant = 'default',\n className = '',\n onClick,\n}) => {\n const cardClasses = [\n styles.card,\n styles[variant],\n onClick ? styles.clickable : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={cardClasses} onClick={onClick}>\n {(title || subtitle) && (\n <div className={styles.header}>\n {title && <h3 className={styles.title}>{title}</h3>}\n {subtitle && <p className={styles.subtitle}>{subtitle}</p>}\n </div>\n )}\n <div className={styles.content}>{children}</div>\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n );\n};\n","import React from 'react';\nimport styles from './Anchor.module.scss';\n\nexport interface AnchorProps {\n children: React.ReactNode;\n href: string;\n rel: string;\n title: string;\n target?: '_blank' | '_self' | '_parent' | '_top';\n className?: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;\n}\n\nexport const Anchor: React.FC<AnchorProps> = ({\n children,\n href,\n rel,\n title,\n target = '_self',\n className = '',\n onClick,\n}) => {\n const anchorClasses = [styles.anchor, className].filter(Boolean).join(' ');\n\n return (\n <a\n href={href}\n rel={rel}\n title={title}\n target={target}\n className={anchorClasses}\n onClick={onClick}\n >\n {children}\n </a>\n );\n};\n","import { Theme } from './types';\n\nexport const defaultTheme: Theme = {\n colors: {\n primary: {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n },\n secondary: {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n },\n success: {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n },\n warning: {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n },\n danger: {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n },\n },\n};\n","import React, { createContext, useContext, useMemo } from 'react';\nimport { Theme, ThemeColors } from './types';\nimport { defaultTheme } from './defaultTheme';\n\ninterface ThemeContextValue {\n theme: Theme;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\ninterface ThemeProviderProps {\n children: React.ReactNode;\n colors?: ThemeColors;\n}\n\nfunction mergeColors(\n defaultColors: ThemeColors,\n customColors?: ThemeColors\n): ThemeColors {\n if (!customColors) return defaultColors;\n\n const merged: ThemeColors = { ...defaultColors };\n\n Object.keys(customColors).forEach((colorKey) => {\n const customColorScale = customColors[colorKey];\n if (customColorScale) {\n merged[colorKey] = {\n ...defaultColors[colorKey],\n ...customColorScale,\n };\n }\n });\n\n return merged;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n colors,\n}) => {\n const theme = useMemo(() => {\n return {\n colors: mergeColors(defaultTheme.colors, colors),\n };\n }, [colors]);\n\n // CSS Variables를 설정\n React.useEffect(() => {\n const root = document.documentElement;\n\n Object.entries(theme.colors).forEach(([colorName, colorScale]) => {\n if (colorScale) {\n Object.entries(colorScale).forEach(([scale, value]) => {\n root.style.setProperty(`--color-${colorName}-${scale}`, value);\n });\n }\n });\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={{ theme }}>{children}</ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeContextValue => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n"],"names":["styles","createContext","useMemo","useContext"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js","../components/Anchor/Anchor.web.tsx","../components/Tooltip/Tooltip.tsx","../components/StatusBar/StatusBar.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport { AnchorProps } from './Anchor.types';\nimport styles from './Anchor.web.module.scss';\n\nexport const Anchor: React.FC<AnchorProps> = ({\n children,\n href,\n rel,\n title,\n target = '_self',\n className = '',\n onPress,\n}) => {\n const anchorClasses = [styles.anchor, className].filter(Boolean).join(' ');\n\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (onPress) {\n e.preventDefault();\n onPress();\n }\n };\n\n return (\n <a\n href={href}\n rel={rel}\n title={title}\n target={target}\n className={anchorClasses}\n onClick={handleClick}\n >\n {children}\n </a>\n );\n};\n","import React, { useState } from 'react';\nimport { TooltipProps } from './Tooltip.types';\nimport styles from './Tooltip.module.scss';\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n position = 'top',\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n\n return (\n <div\n className={styles.tooltipWrapper}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n >\n {children}\n {isVisible && (\n <div className={`${styles.tooltip} ${styles[position]}`}>\n {content}\n </div>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { StatusBar as RNStatusBar } from 'react-native';\nimport { StatusBarProps } from './StatusBar.types';\n\nexport const StatusBar: React.FC<StatusBarProps> = ({\n barStyle = 'default',\n backgroundColor,\n hidden = false,\n}) => {\n return (\n <RNStatusBar\n barStyle={barStyle}\n backgroundColor={backgroundColor}\n hidden={hidden}\n />\n );\n};\n"],"names":["styles","useState","RNStatusBar"],"mappings":"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","x_google_ignoreList":[0]}