@0610studio/zs-ui 0.13.2 → 0.13.3
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/README.md +1 -1
- package/build/index.d.ts +3 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -2
- package/build/index.js.map +1 -1
- package/build/theme/elevation.d.ts.map +1 -1
- package/build/theme/elevation.js +13 -10
- package/build/theme/elevation.js.map +1 -1
- package/build/theme/palette.js +13 -13
- package/build/theme/palette.js.map +1 -1
- package/build/ui/ZSTextField/index.d.ts.map +1 -1
- package/build/ui/ZSTextField/index.js +2 -1
- package/build/ui/ZSTextField/index.js.map +1 -1
- package/package.json +1 -1
- package/build/model/index.d.ts +0 -4
- package/build/model/index.d.ts.map +0 -1
- package/build/model/index.js +0 -4
- package/build/model/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ npx expo install @0610studio/zs-ui
|
|
|
27
27
|
|
|
28
28
|
### playground
|
|
29
29
|
|
|
30
|
-
[EXPO snack](https://snack.expo.dev/@studio0610/zs-
|
|
30
|
+
[EXPO snack](https://snack.expo.dev/@studio0610/zs-ui_13_playground)에서 확인 가능합니다.
|
|
31
31
|
|
|
32
32
|
<br />
|
|
33
33
|
<!-- TEST_RESULTS -->
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { GlobalOverlay } from './model';
|
|
1
|
+
import { GlobalOverlay } from './model/globalOverlay';
|
|
2
|
+
import { useStyleSheetCreate } from './model/useStyleSheetCreate';
|
|
2
3
|
import { OverlayProvider } from "./context/OverlayContext";
|
|
3
4
|
import { ThemeProvider, useTheme } from "./context/ThemeContext";
|
|
4
5
|
import { useFoldingState } from './model/useFoldingState';
|
|
@@ -20,7 +21,7 @@ import { ZSContainerRef } from "./ui/ZSContainer";
|
|
|
20
21
|
import { ZSTextProps } from "./ui/ZSText";
|
|
21
22
|
import { BoxStyle, ZSTextFieldRef } from "./ui/ZSTextField";
|
|
22
23
|
import { AlertOverlay, BottomSheetOverlay, SnackbarNotify, useOverlay, PopOverButton, PopOverMenu, ZSPortal } from './overlay';
|
|
23
|
-
export { useTheme, useFoldingState, ThemeProvider, OverlayProvider, themeFactory, ZSBottomCta, ZSView, AnimatedWrapper, TextAtom, ZSContainer, ZSPressable, ZSText, ThrottleButton, ZSTextField, ZSRadioGroup, ZSSwitch, ErrorComponent, ZSAboveKeyboard, AlertOverlay, BottomSheetOverlay, SnackbarNotify, useOverlay, PopOverButton, PopOverMenu, ZSPortal, GlobalOverlay, };
|
|
24
|
+
export { useTheme, useFoldingState, ThemeProvider, OverlayProvider, themeFactory, ZSBottomCta, ZSView, AnimatedWrapper, TextAtom, ZSContainer, ZSPressable, ZSText, ThrottleButton, ZSTextField, ZSRadioGroup, ZSSwitch, ErrorComponent, ZSAboveKeyboard, AlertOverlay, BottomSheetOverlay, SnackbarNotify, useOverlay, PopOverButton, PopOverMenu, ZSPortal, GlobalOverlay, useStyleSheetCreate, };
|
|
24
25
|
import type { ThemeProviderProps, ThemeProps, Palette } from "./context/ThemeContext";
|
|
25
26
|
import { ColorPalette, ColorPaletteExtend, ThemeTextType, ThemeBackground, MainColors, Theme, TypographyVariants, ThemeFonts, TypoNumber, TypographyVariantsProps, TypoStyle, TypoOptions, TypoSubStyle, TypoColorOptions, ShadowLevel, ShadowStyle } from "./theme/types";
|
|
26
27
|
import { ThemeFactoryColors, ThemeFactoryConfig } from "./theme/palette";
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { GlobalOverlay } from './model';
|
|
1
|
+
import { GlobalOverlay } from './model/globalOverlay';
|
|
2
|
+
import { useStyleSheetCreate } from './model/useStyleSheetCreate';
|
|
2
3
|
import { OverlayProvider } from "./context/OverlayContext";
|
|
3
4
|
import { ThemeProvider, useTheme } from "./context/ThemeContext";
|
|
4
5
|
import { useFoldingState } from './model/useFoldingState';
|
|
@@ -23,5 +24,5 @@ ZSBottomCta, ZSView, AnimatedWrapper, TextAtom, ZSContainer, ZSPressable, ZSText
|
|
|
23
24
|
// ---
|
|
24
25
|
AlertOverlay, BottomSheetOverlay, SnackbarNotify, useOverlay, PopOverButton, PopOverMenu, ZSPortal,
|
|
25
26
|
// Global overlay functions
|
|
26
|
-
GlobalOverlay, };
|
|
27
|
+
GlobalOverlay, useStyleSheetCreate, };
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE/H,OAAO,EACL,QAAQ,EACR,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY;AACZ,MAAM;AACN,WAAW,EACX,MAAM,EACN,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACX,MAAM,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,eAAe;AACf,MAAM;AACN,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAW,EACX,QAAQ;AACR,2BAA2B;AAC3B,aAAa,EACb,mBAAmB,GACpB,CAAC","sourcesContent":["import { GlobalOverlay } from './model/globalOverlay'\nimport { useStyleSheetCreate } from './model/useStyleSheetCreate'\nimport { OverlayProvider } from \"./context/OverlayContext\";\nimport { ThemeProvider, useTheme } from \"./context/ThemeContext\";\nimport { useFoldingState } from './model/useFoldingState'\nimport { themeFactory } from './theme/palette';\nimport ErrorComponent from './ui/ZSTextField/ui/ErrorComponent';\nimport ZSContainer from './ui/ZSContainer';\nimport ZSPressable from './ui/ZSPressable';\nimport ZSText from './ui/ZSText';\nimport ThrottleButton from './ui/ThrottleButton';\nimport ZSTextField from './ui/ZSTextField';\nimport ZSRadioGroup from './ui/ZSRadioGroup';\nimport ZSSwitch from './ui/ZSSwitch';\nimport ZSBottomCta from './ui/ZSBottomCta';\nimport ZSView from './ui/ZSView';\nimport AnimatedWrapper from './ui/atoms/AnimatedWrapper';\nimport TextAtom from './ui/atoms/TextAtom';\nimport ZSAboveKeyboard from \"./ui/ZSAboveKeyboard\";\nimport { ZSContainerRef } from \"./ui/ZSContainer\";\nimport { ZSTextProps } from \"./ui/ZSText\";\nimport { BoxStyle, ZSTextFieldRef } from \"./ui/ZSTextField\";\nimport { AlertOverlay, BottomSheetOverlay, SnackbarNotify, useOverlay, PopOverButton, PopOverMenu, ZSPortal } from './overlay';\n\nexport {\n useTheme,\n useFoldingState,\n ThemeProvider,\n OverlayProvider,\n themeFactory,\n // ---\n ZSBottomCta,\n ZSView,\n AnimatedWrapper,\n TextAtom,\n ZSContainer,\n ZSPressable,\n ZSText,\n ThrottleButton,\n ZSTextField,\n ZSRadioGroup,\n ZSSwitch,\n ErrorComponent,\n ZSAboveKeyboard,\n // ---\n AlertOverlay,\n BottomSheetOverlay,\n SnackbarNotify,\n useOverlay,\n PopOverButton,\n PopOverMenu,\n ZSPortal,\n // Global overlay functions\n GlobalOverlay,\n useStyleSheetCreate,\n};\n\n// ------------------------------------------------------\n\nimport type { ThemeProviderProps, ThemeProps, Palette } from \"./context/ThemeContext\";\nimport {\n ColorPalette,\n ColorPaletteExtend,\n ThemeTextType,\n ThemeBackground,\n MainColors,\n Theme,\n TypographyVariants,\n ThemeFonts,\n TypoNumber,\n TypographyVariantsProps,\n TypoStyle,\n TypoOptions,\n TypoSubStyle,\n TypoColorOptions,\n ShadowLevel,\n ShadowStyle,\n} from \"./theme/types\";\nimport { ThemeFactoryColors, ThemeFactoryConfig } from \"./theme/palette\";\nimport {\n SnackItem,\n ShowAlertProps,\n ShowSnackBarProps,\n ShowBottomSheetProps,\n PopOverMenuProps,\n CustomSnackbarProps,\n OverlayProviderProps,\n AlertAction,\n AlertActions,\n SnackType,\n HideOption,\n BottomSheetOptions,\n FoldingStateInfo\n} from \"./model/types\";\nimport { RadioOption } from \"./ui/types\";\n\nexport type {\n ThemeProviderProps,\n ThemeProps,\n Palette,\n ZSTextProps,\n BoxStyle,\n ZSTextFieldRef,\n ColorPalette,\n ColorPaletteExtend,\n ThemeTextType,\n ThemeBackground,\n MainColors,\n Theme,\n TypographyVariants,\n ThemeFonts,\n TypoNumber,\n TypographyVariantsProps,\n TypoStyle,\n TypoOptions,\n TypoSubStyle,\n TypoColorOptions,\n ThemeFactoryColors,\n ThemeFactoryConfig,\n SnackItem,\n ShowAlertProps,\n ShowSnackBarProps,\n ShowBottomSheetProps,\n PopOverMenuProps,\n CustomSnackbarProps,\n OverlayProviderProps,\n AlertAction,\n AlertActions,\n SnackType,\n HideOption,\n BottomSheetOptions,\n RadioOption,\n ShadowLevel,\n ShadowStyle,\n ZSContainerRef,\n FoldingStateInfo,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elevation.d.ts","sourceRoot":"","sources":["../../src/theme/elevation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,eAAO,MAAM,UAAU,EAAE,SAAS,WAAW,EAYnC,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG;KAC3B,GAAG,IAAI,WAAW,GAAG,cAAc;CACrC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"elevation.d.ts","sourceRoot":"","sources":["../../src/theme/elevation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,eAAO,MAAM,UAAU,EAAE,SAAS,WAAW,EAYnC,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG;KAC3B,GAAG,IAAI,WAAW,GAAG,cAAc;CACrC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,eAAe,CAqCjE"}
|
package/build/theme/elevation.js
CHANGED
|
@@ -13,35 +13,38 @@ export const IOS_SHADOW = [
|
|
|
13
13
|
{ shadowOffset: { width: 0, height: 10 }, shadowOpacity: 0.25, shadowRadius: 6.5 },
|
|
14
14
|
];
|
|
15
15
|
export default function elevation(palette) {
|
|
16
|
+
// iOS와 웹에서는 shadowOffset/shadowOpacity/shadowRadius를 사용 (웹은 CSS box-shadow로 변환됨)
|
|
17
|
+
// Android에서는 elevation 속성을 사용
|
|
18
|
+
const useShadowStyle = Platform.OS === 'ios' || Platform.OS === 'web';
|
|
16
19
|
return {
|
|
17
|
-
0:
|
|
20
|
+
0: useShadowStyle
|
|
18
21
|
? { ...IOS_SHADOW[0], shadowColor: palette.elevationShadow[0] }
|
|
19
22
|
: { elevation: 0, shadowColor: palette.elevationShadow[0] },
|
|
20
|
-
1:
|
|
23
|
+
1: useShadowStyle
|
|
21
24
|
? { ...IOS_SHADOW[1], shadowColor: palette.elevationShadow[1] }
|
|
22
25
|
: { elevation: 1, shadowColor: palette.elevationShadow[1] },
|
|
23
|
-
2:
|
|
26
|
+
2: useShadowStyle
|
|
24
27
|
? { ...IOS_SHADOW[2], shadowColor: palette.elevationShadow[2] }
|
|
25
28
|
: { elevation: 2, shadowColor: palette.elevationShadow[2] },
|
|
26
|
-
3:
|
|
29
|
+
3: useShadowStyle
|
|
27
30
|
? { ...IOS_SHADOW[3], shadowColor: palette.elevationShadow[3] }
|
|
28
31
|
: { elevation: 3, shadowColor: palette.elevationShadow[3] },
|
|
29
|
-
4:
|
|
32
|
+
4: useShadowStyle
|
|
30
33
|
? { ...IOS_SHADOW[4], shadowColor: palette.elevationShadow[4] }
|
|
31
34
|
: { elevation: 4, shadowColor: palette.elevationShadow[4] },
|
|
32
|
-
5:
|
|
35
|
+
5: useShadowStyle
|
|
33
36
|
? { ...IOS_SHADOW[5], shadowColor: palette.elevationShadow[5] }
|
|
34
37
|
: { elevation: 5, shadowColor: palette.elevationShadow[5] },
|
|
35
|
-
6:
|
|
38
|
+
6: useShadowStyle
|
|
36
39
|
? { ...IOS_SHADOW[6], shadowColor: palette.elevationShadow[6] }
|
|
37
40
|
: { elevation: 6, shadowColor: palette.elevationShadow[6] },
|
|
38
|
-
7:
|
|
41
|
+
7: useShadowStyle
|
|
39
42
|
? { ...IOS_SHADOW[7], shadowColor: palette.elevationShadow[7] }
|
|
40
43
|
: { elevation: 7, shadowColor: palette.elevationShadow[7] },
|
|
41
|
-
8:
|
|
44
|
+
8: useShadowStyle
|
|
42
45
|
? { ...IOS_SHADOW[8], shadowColor: palette.elevationShadow[8] }
|
|
43
46
|
: { elevation: 8, shadowColor: palette.elevationShadow[8] },
|
|
44
|
-
9:
|
|
47
|
+
9: useShadowStyle
|
|
45
48
|
? { ...IOS_SHADOW[9], shadowColor: palette.elevationShadow[9] }
|
|
46
49
|
: { elevation: 9, shadowColor: palette.elevationShadow[9] },
|
|
47
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/theme/elevation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxC,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;IAC5E,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE;IAChF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;IACjF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;IACjF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;IACjF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;IACjF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;IACjF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;IAClF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;IAClF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE;IACjF,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE;CAC1E,CAAC;AAcX,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAc;
|
|
1
|
+
{"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../src/theme/elevation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from \"react-native\";\nimport { ShadowLevel, ShadowStyle } from \"./types\";\nimport { Theme } from \"./types\";\n\nexport const IOS_SHADOW: readonly ShadowStyle[] = [\n { shadowOffset: { width: 0, height: 0 }, shadowOpacity: 0, shadowRadius: 0 },\n { shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.2, shadowRadius: 1.0 },\n { shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.2, shadowRadius: 1.41 },\n { shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.2, shadowRadius: 2.22 },\n { shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.2, shadowRadius: 2.62 },\n { shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.2, shadowRadius: 3.84 },\n { shadowOffset: { width: 0, height: 3 }, shadowOpacity: 0.2, shadowRadius: 4.65 },\n { shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.25, shadowRadius: 4.65 },\n { shadowOffset: { width: 0, height: 6 }, shadowOpacity: 0.25, shadowRadius: 4.65 },\n { shadowOffset: { width: 0, height: 8 }, shadowOpacity: 0.25, shadowRadius: 5.8 },\n { shadowOffset: { width: 0, height: 10 }, shadowOpacity: 0.25, shadowRadius: 6.5 },\n] as const;\n\nexport interface ElevationProps {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n elevation?: number;\n}\n\nexport type ElevationStyles = {\n [key in ShadowLevel]: ElevationProps;\n};\n\nexport default function elevation(palette: Theme): ElevationStyles {\n // iOS와 웹에서는 shadowOffset/shadowOpacity/shadowRadius를 사용 (웹은 CSS box-shadow로 변환됨)\n // Android에서는 elevation 속성을 사용\n const useShadowStyle = Platform.OS === 'ios' || Platform.OS === 'web';\n\n return {\n 0: useShadowStyle\n ? { ...IOS_SHADOW[0], shadowColor: palette.elevationShadow[0] }\n : { elevation: 0, shadowColor: palette.elevationShadow[0] },\n 1: useShadowStyle\n ? { ...IOS_SHADOW[1], shadowColor: palette.elevationShadow[1] }\n : { elevation: 1, shadowColor: palette.elevationShadow[1] },\n 2: useShadowStyle\n ? { ...IOS_SHADOW[2], shadowColor: palette.elevationShadow[2] }\n : { elevation: 2, shadowColor: palette.elevationShadow[2] },\n 3: useShadowStyle\n ? { ...IOS_SHADOW[3], shadowColor: palette.elevationShadow[3] }\n : { elevation: 3, shadowColor: palette.elevationShadow[3] },\n 4: useShadowStyle\n ? { ...IOS_SHADOW[4], shadowColor: palette.elevationShadow[4] }\n : { elevation: 4, shadowColor: palette.elevationShadow[4] },\n 5: useShadowStyle\n ? { ...IOS_SHADOW[5], shadowColor: palette.elevationShadow[5] }\n : { elevation: 5, shadowColor: palette.elevationShadow[5] },\n 6: useShadowStyle\n ? { ...IOS_SHADOW[6], shadowColor: palette.elevationShadow[6] }\n : { elevation: 6, shadowColor: palette.elevationShadow[6] },\n 7: useShadowStyle\n ? { ...IOS_SHADOW[7], shadowColor: palette.elevationShadow[7] }\n : { elevation: 7, shadowColor: palette.elevationShadow[7] },\n 8: useShadowStyle\n ? { ...IOS_SHADOW[8], shadowColor: palette.elevationShadow[8] }\n : { elevation: 8, shadowColor: palette.elevationShadow[8] },\n 9: useShadowStyle\n ? { ...IOS_SHADOW[9], shadowColor: palette.elevationShadow[9] }\n : { elevation: 9, shadowColor: palette.elevationShadow[9] },\n };\n}\n"]}
|
package/build/theme/palette.js
CHANGED
|
@@ -130,18 +130,18 @@ const LIGHT_COLORS = {
|
|
|
130
130
|
main: '#EB003B',
|
|
131
131
|
},
|
|
132
132
|
warning: {
|
|
133
|
-
5: '#
|
|
134
|
-
10: '#
|
|
135
|
-
20: '#
|
|
136
|
-
30: '#
|
|
137
|
-
40: '#
|
|
138
|
-
50: '#
|
|
139
|
-
60: '#
|
|
140
|
-
70: '#
|
|
141
|
-
80: '#
|
|
142
|
-
90: '#
|
|
143
|
-
100: '#
|
|
144
|
-
main: '#
|
|
133
|
+
5: '#FFF9E6',
|
|
134
|
+
10: '#FFF4CC',
|
|
135
|
+
20: '#FFEFB3',
|
|
136
|
+
30: '#FFEA99',
|
|
137
|
+
40: '#FFE580',
|
|
138
|
+
50: '#FFE033',
|
|
139
|
+
60: '#CCB329',
|
|
140
|
+
70: '#99861F',
|
|
141
|
+
80: '#665A15',
|
|
142
|
+
90: '#332D0A',
|
|
143
|
+
100: '#1A1705',
|
|
144
|
+
main: '#FFE033',
|
|
145
145
|
},
|
|
146
146
|
success: {
|
|
147
147
|
5: '#EEF7F0',
|
|
@@ -201,7 +201,7 @@ const DARK_COLORS = {
|
|
|
201
201
|
},
|
|
202
202
|
warning: {
|
|
203
203
|
...LIGHT_COLORS.warning,
|
|
204
|
-
main: '#
|
|
204
|
+
main: '#FFE033',
|
|
205
205
|
},
|
|
206
206
|
success: {
|
|
207
207
|
...LIGHT_COLORS.success,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme, ColorPalette, ColorPaletteExtend } from \"./types\";\n\nexport const transparency = {\n '0%': '00', // 완전 투명\n '2%': '05',\n '4%': '0A',\n '6%': '0F',\n '8%': '14',\n '10%': '1A',\n '12%': '1F',\n '14%': '24',\n '16%': '29',\n '18%': '2E',\n '20%': '33',\n '22%': '38',\n '24%': '3D',\n '26%': '42',\n '28%': '47',\n '30%': '4D',\n '32%': '52',\n '34%': '57',\n '36%': '5C',\n '38%': '61',\n '40%': '66',\n '42%': '6B',\n '44%': '70',\n '46%': '75',\n '48%': '7A',\n '50%': '80',\n '52%': '85',\n '54%': '8A',\n '56%': '8F',\n '58%': '94',\n '60%': '99',\n '62%': '9E',\n '64%': 'A3',\n '66%': 'A8',\n '68%': 'AD',\n '70%': 'B3',\n '72%': 'B8',\n '74%': 'BD',\n '76%': 'C2',\n '78%': 'C7',\n '80%': 'CC',\n '82%': 'D1',\n '84%': 'D6',\n '86%': 'DB',\n '88%': 'E0',\n '90%': 'E6',\n '92%': 'EB',\n '94%': 'F0',\n '96%': 'F5',\n '98%': 'FA',\n '100%': 'FF' // 완전 불투명\n};\n\nconst MODAL_BG_COLOR = {\n light: '#212B3688',\n dark: '#00000088'\n}\n\nconst SHADOW_COLORS = {\n light: [\n 'rgba(0, 0, 0, 0.18)',\n 'rgba(0, 0, 0, 0.20)',\n 'rgba(0, 0, 0, 0.22)',\n 'rgba(0, 0, 0, 0.23)',\n 'rgba(0, 0, 0, 0.25)',\n 'rgba(0, 0, 0, 0.27)',\n 'rgba(0, 0, 0, 0.29)',\n 'rgba(0, 0, 0, 0.30)',\n 'rgba(0, 0, 0, 0.32)',\n 'rgba(0, 0, 0, 0.34)',\n ],\n dark: [\n 'rgba(255, 255, 255, 0.58)',\n 'rgba(255, 255, 255, 0.60)',\n 'rgba(255, 255, 255, 0.62)',\n 'rgba(255, 255, 255, 0.63)',\n 'rgba(255, 255, 255, 0.65)',\n 'rgba(255, 255, 255, 0.67)',\n 'rgba(255, 255, 255, 0.69)',\n 'rgba(255, 255, 255, 0.70)',\n 'rgba(255, 255, 255, 0.72)',\n 'rgba(255, 255, 255, 0.74)',\n ]\n}\n\n// FF9F06\nconst LIGHT_COLORS = {\n primary: {\n 5: '#fffaf0',\n 10: '#ffeccc',\n 20: '#ffda9e',\n 30: '#ffc86e',\n 40: '#ffb742',\n 50: '#ffa20d',\n 60: '#e69100',\n 70: '#cc8000',\n 80: '#b37000',\n 90: '#996000',\n 100: '#805000',\n lighter: '#ffda9e',\n light: '#ffc86e',\n main: '#ffa20d',\n dark: '#e69100',\n darker: '#b37000',\n },\n secondary: {\n 5: '#D1EDFF',\n 10: '#ADE2FF',\n 20: '#85D4FF',\n 30: '#5CC5FF',\n 40: '#33B7FF',\n 50: '#007FFF',\n 60: '#0075E6',\n 70: '#006ACC',\n 80: '#005FB3',\n 90: '#005499',\n 100: '#003866',\n main: '#007FFF',\n },\n danger: {\n 5: '#FEECF0',\n 10: '#FCD4DE',\n 20: '#F799B1',\n 30: '#F36689',\n 40: '#EF3E5E',\n 50: '#EB003B',\n 60: '#D50136',\n 70: '#8D0023',\n 80: '#5E0018',\n 90: '#2F000C',\n 100: '#1A0008',\n main: '#EB003B',\n },\n warning: {\n 5: '#FFF8E9',\n 10: '#FFEAC1',\n 20: '#FFE2A7',\n 30: '#FFD47C',\n 40: '#FFC550',\n 50: '#FFB724',\n 60: '#98690A',\n 70: '#66490E',\n 80: '#4D370B',\n 90: '#332507',\n 100: '#1F1805',\n main: '#FFB724',\n },\n success: {\n 5: '#EEF7F0',\n 10: '#CEE9D4',\n 20: '#B2DCBB',\n 30: '#8CCA99',\n 40: '#33A14B',\n 50: '#008A1E',\n 60: '#006E18',\n 70: '#005312',\n 80: '#00370C',\n 90: '#002207',\n 100: '#001804',\n main: '#008A1E',\n },\n information: {\n 5: '#E9F0FF',\n 10: '#D4E1FF',\n 20: '#A9C3FF',\n 30: '#7DA4FF',\n 40: '#5286FF',\n 50: '#2768FF',\n 60: '#1F53CC',\n 70: '#173E99',\n 80: '#0C1F4D',\n 90: '#040A1A',\n 100: '#020510',\n main: '#2768FF',\n },\n grey: {\n 5: '#F8F8F8',\n 10: '#F9FAFB',\n 20: '#F4F6F8',\n 30: '#DFE3E8',\n 40: '#C4CDD5',\n 50: '#919EAB',\n 60: '#637381',\n 70: '#454F5B',\n 80: '#1C252E',\n 90: '#141A21',\n 100: '#000000',\n main: '#F4F6F8',\n },\n};\n\nconst DARK_COLORS = {\n primary: {\n ...LIGHT_COLORS.primary,\n main: '#FF9F06',\n },\n secondary: {\n ...LIGHT_COLORS.secondary,\n main: '#007FFF',\n },\n danger: {\n ...LIGHT_COLORS.danger,\n main: '#EB003B',\n },\n warning: {\n ...LIGHT_COLORS.warning,\n main: '#FFB724',\n },\n success: {\n ...LIGHT_COLORS.success,\n main: '#008A1E',\n },\n information: {\n ...LIGHT_COLORS.information,\n main: '#2768FF',\n },\n grey: {\n 5: '#141414', // layer1\n 10: '#1F1F1F', // layer2\n 20: '#2C2C2C', // neutral\n 30: '#3D3D3D',\n 40: '#4F4F4F',\n 50: '#606060',\n 60: '#737373',\n 70: '#8C8C8C',\n 80: '#bfbfbf',\n 90: '#ededed',\n 100: '#FFFFFF',\n main: '#2C2C2C',\n },\n};\n\nconst MAIN_COLORS = {\n light: {\n primary: LIGHT_COLORS.primary.main,\n secondary: LIGHT_COLORS.secondary.main,\n danger: LIGHT_COLORS.danger.main,\n warning: LIGHT_COLORS.warning.main,\n success: LIGHT_COLORS.success.main,\n information: LIGHT_COLORS.information.main,\n grey: LIGHT_COLORS.grey.main\n },\n dark: {\n primary: DARK_COLORS.primary.main,\n secondary: DARK_COLORS.secondary.main,\n danger: DARK_COLORS.danger.main,\n warning: DARK_COLORS.warning.main,\n success: DARK_COLORS.success.main,\n information: DARK_COLORS.information.main,\n grey: DARK_COLORS.grey.main\n }\n}\n\nconst TEXT_COLORS = {\n light: {\n primary: LIGHT_COLORS.primary.main,\n base: LIGHT_COLORS.grey[80],\n secondary: LIGHT_COLORS.grey[60],\n disabled: LIGHT_COLORS.grey[50],\n danger: LIGHT_COLORS.danger[60],\n warning: LIGHT_COLORS.warning[60],\n success: LIGHT_COLORS.success[60],\n information: LIGHT_COLORS.information[60],\n white: '#FFFFFF',\n black: '#000000',\n },\n dark: {\n primary: LIGHT_COLORS.primary.main,\n base: DARK_COLORS.grey[90],\n secondary: DARK_COLORS.grey[70],\n disabled: DARK_COLORS.grey[50],\n danger: DARK_COLORS.danger[30],\n warning: DARK_COLORS.warning[30],\n success: DARK_COLORS.success[30],\n information: DARK_COLORS.information[30],\n white: '#FFFFFF',\n black: '#000000',\n },\n};\n\nconst BACKGROUND_COLORS = {\n light: {\n primary: LIGHT_COLORS.primary.main,\n layer1: LIGHT_COLORS.grey[5],\n layer2: LIGHT_COLORS.grey[20],\n neutral: LIGHT_COLORS.grey[30],\n base: '#ffffff',\n danger: LIGHT_COLORS.danger[5],\n warning: LIGHT_COLORS.warning[5],\n success: LIGHT_COLORS.success[5],\n information: LIGHT_COLORS.information[5],\n },\n dark: {\n primary: DARK_COLORS.primary.main,\n layer1: DARK_COLORS.grey[5],\n layer2: DARK_COLORS.grey[20],\n neutral: DARK_COLORS.grey[30],\n base: '#000000',\n danger: DARK_COLORS.danger[80],\n warning: DARK_COLORS.warning[80],\n success: DARK_COLORS.success[80],\n information: DARK_COLORS.information[80],\n },\n};\n\n// ThemeFactory 타입 정의\nexport interface ThemeFactoryColors {\n primary?: Partial<ColorPaletteExtend>;\n secondary?: Partial<ColorPalette>;\n danger?: Partial<ColorPalette>;\n warning?: Partial<ColorPalette>;\n success?: Partial<ColorPalette>;\n information?: Partial<ColorPalette>;\n grey?: Partial<ColorPalette>;\n}\n\nexport interface ThemeFactoryConfig {\n light?: ThemeFactoryColors;\n dark?: ThemeFactoryColors;\n}\n\n/**\n * 테마 팩토리 함수 - LIGHT_COLORS와 DARK_COLORS를 재정의할 수 있는 기능을 제공합니다.\n * @param config - 라이트/다크 모드별로 색상을 재정의할 수 있는 설정 객체\n * @returns 재정의된 LIGHT_COLORS와 DARK_COLORS를 포함한 팩토리 함수\n */\nexport function themeFactory(config: ThemeFactoryConfig = {}) {\n // 기본 색상들을 깊은 복사로 생성\n const createCustomLightColors = (): typeof LIGHT_COLORS => {\n const customColors = { ...LIGHT_COLORS };\n \n if (config.light) {\n Object.keys(config.light).forEach((key) => {\n const colorKey = key as keyof ThemeFactoryColors;\n if (config.light?.[colorKey]) {\n customColors[colorKey] = {\n ...customColors[colorKey],\n ...config.light[colorKey],\n } as any;\n }\n });\n }\n \n return customColors;\n };\n\n const createCustomDarkColors = (): typeof DARK_COLORS => {\n const customColors = { ...DARK_COLORS };\n \n if (config.dark) {\n Object.keys(config.dark).forEach((key) => {\n const colorKey = key as keyof ThemeFactoryColors;\n if (config.dark?.[colorKey]) {\n customColors[colorKey] = {\n ...customColors[colorKey],\n ...config.dark[colorKey],\n } as any;\n }\n });\n }\n \n return customColors;\n };\n\n const customLightColors = createCustomLightColors();\n const customDarkColors = createCustomDarkColors();\n\n // 재정의된 색상으로 새로운 팔레트 함수 반환\n return function createPalette({\n mode = 'light',\n themeColors = {},\n }: {\n mode?: 'light' | 'dark';\n themeColors?: { light?: Theme; dark?: Theme };\n } = {}): Theme {\n const colors = mode === 'light' ? customLightColors : customDarkColors;\n\n // 재정의된 색상을 기반으로 동적으로 색상 매핑 생성\n const customTextColors = {\n light: {\n primary: colors.primary.main,\n base: colors.grey[80],\n secondary: colors.grey[60],\n disabled: colors.grey[50],\n danger: colors.danger[60],\n warning: colors.warning[60],\n success: colors.success[60],\n information: colors.information[60],\n white: '#FFFFFF',\n black: '#000000',\n },\n dark: {\n primary: colors.primary.main,\n base: colors.grey[90],\n secondary: colors.grey[70],\n disabled: colors.grey[50],\n danger: colors.danger[30],\n warning: colors.warning[30],\n success: colors.success[30],\n information: colors.information[30],\n white: '#FFFFFF',\n black: '#000000',\n },\n };\n\n const customBackgroundColors = {\n light: {\n primary: colors.primary.main,\n layer1: colors.grey[5],\n layer2: colors.grey[20],\n neutral: colors.grey[30],\n base: '#ffffff',\n danger: colors.danger[5],\n warning: colors.warning[5],\n success: colors.success[5],\n information: colors.information[5],\n },\n dark: {\n primary: colors.primary.main,\n layer1: colors.grey[5],\n layer2: colors.grey[20],\n neutral: colors.grey[30],\n base: '#000000',\n danger: colors.danger[80],\n warning: colors.warning[80],\n success: colors.success[80],\n information: colors.information[80],\n },\n };\n\n const customMainColors = {\n light: {\n primary: colors.primary.main,\n secondary: colors.secondary.main,\n danger: colors.danger.main,\n warning: colors.warning.main,\n success: colors.success.main,\n information: colors.information.main,\n grey: colors.grey.main\n },\n dark: {\n primary: colors.primary.main,\n secondary: colors.secondary.main,\n danger: colors.danger.main,\n warning: colors.warning.main,\n success: colors.success.main,\n information: colors.information.main,\n grey: colors.grey.main\n }\n };\n\n const theme: Theme = {\n mode,\n ...colors,\n text: customTextColors[mode],\n background: customBackgroundColors[mode],\n elevationShadow: SHADOW_COLORS[mode],\n modalBgColor: MODAL_BG_COLOR[mode],\n mainColor: customMainColors[mode]\n };\n\n // 사용자 정의 테마 컬러가 있을 경우 병합\n if (themeColors?.[mode]) {\n return {\n ...theme,\n ...themeColors[mode],\n };\n }\n\n return theme;\n };\n}\n\nexport default function palette({\n mode = 'light',\n themeColors = {},\n}: {\n mode?: 'light' | 'dark';\n themeColors?: { light?: Theme; dark?: Theme };\n} = {}): Theme {\n const colors = mode === 'light' ? LIGHT_COLORS : DARK_COLORS;\n\n const theme: Theme = {\n mode,\n ...colors,\n text: TEXT_COLORS[mode],\n background: BACKGROUND_COLORS[mode],\n elevationShadow: SHADOW_COLORS[mode],\n modalBgColor: MODAL_BG_COLOR[mode],\n mainColor: MAIN_COLORS[mode]\n };\n\n // 사용자 정의 테마 컬러가 있을 경우 병합\n if (themeColors?.[mode]) {\n return {\n ...theme,\n ...themeColors[mode],\n };\n }\n\n return theme;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme, ColorPalette, ColorPaletteExtend } from \"./types\";\n\nexport const transparency = {\n '0%': '00', // 완전 투명\n '2%': '05',\n '4%': '0A',\n '6%': '0F',\n '8%': '14',\n '10%': '1A',\n '12%': '1F',\n '14%': '24',\n '16%': '29',\n '18%': '2E',\n '20%': '33',\n '22%': '38',\n '24%': '3D',\n '26%': '42',\n '28%': '47',\n '30%': '4D',\n '32%': '52',\n '34%': '57',\n '36%': '5C',\n '38%': '61',\n '40%': '66',\n '42%': '6B',\n '44%': '70',\n '46%': '75',\n '48%': '7A',\n '50%': '80',\n '52%': '85',\n '54%': '8A',\n '56%': '8F',\n '58%': '94',\n '60%': '99',\n '62%': '9E',\n '64%': 'A3',\n '66%': 'A8',\n '68%': 'AD',\n '70%': 'B3',\n '72%': 'B8',\n '74%': 'BD',\n '76%': 'C2',\n '78%': 'C7',\n '80%': 'CC',\n '82%': 'D1',\n '84%': 'D6',\n '86%': 'DB',\n '88%': 'E0',\n '90%': 'E6',\n '92%': 'EB',\n '94%': 'F0',\n '96%': 'F5',\n '98%': 'FA',\n '100%': 'FF' // 완전 불투명\n};\n\nconst MODAL_BG_COLOR = {\n light: '#212B3688',\n dark: '#00000088'\n}\n\nconst SHADOW_COLORS = {\n light: [\n 'rgba(0, 0, 0, 0.18)',\n 'rgba(0, 0, 0, 0.20)',\n 'rgba(0, 0, 0, 0.22)',\n 'rgba(0, 0, 0, 0.23)',\n 'rgba(0, 0, 0, 0.25)',\n 'rgba(0, 0, 0, 0.27)',\n 'rgba(0, 0, 0, 0.29)',\n 'rgba(0, 0, 0, 0.30)',\n 'rgba(0, 0, 0, 0.32)',\n 'rgba(0, 0, 0, 0.34)',\n ],\n dark: [\n 'rgba(255, 255, 255, 0.58)',\n 'rgba(255, 255, 255, 0.60)',\n 'rgba(255, 255, 255, 0.62)',\n 'rgba(255, 255, 255, 0.63)',\n 'rgba(255, 255, 255, 0.65)',\n 'rgba(255, 255, 255, 0.67)',\n 'rgba(255, 255, 255, 0.69)',\n 'rgba(255, 255, 255, 0.70)',\n 'rgba(255, 255, 255, 0.72)',\n 'rgba(255, 255, 255, 0.74)',\n ]\n}\n\n// FF9F06\nconst LIGHT_COLORS = {\n primary: {\n 5: '#fffaf0',\n 10: '#ffeccc',\n 20: '#ffda9e',\n 30: '#ffc86e',\n 40: '#ffb742',\n 50: '#ffa20d',\n 60: '#e69100',\n 70: '#cc8000',\n 80: '#b37000',\n 90: '#996000',\n 100: '#805000',\n lighter: '#ffda9e',\n light: '#ffc86e',\n main: '#ffa20d',\n dark: '#e69100',\n darker: '#b37000',\n },\n secondary: {\n 5: '#D1EDFF',\n 10: '#ADE2FF',\n 20: '#85D4FF',\n 30: '#5CC5FF',\n 40: '#33B7FF',\n 50: '#007FFF',\n 60: '#0075E6',\n 70: '#006ACC',\n 80: '#005FB3',\n 90: '#005499',\n 100: '#003866',\n main: '#007FFF',\n },\n danger: {\n 5: '#FEECF0',\n 10: '#FCD4DE',\n 20: '#F799B1',\n 30: '#F36689',\n 40: '#EF3E5E',\n 50: '#EB003B',\n 60: '#D50136',\n 70: '#8D0023',\n 80: '#5E0018',\n 90: '#2F000C',\n 100: '#1A0008',\n main: '#EB003B',\n },\n warning: {\n 5: '#FFF9E6',\n 10: '#FFF4CC',\n 20: '#FFEFB3',\n 30: '#FFEA99',\n 40: '#FFE580',\n 50: '#FFE033',\n 60: '#CCB329',\n 70: '#99861F',\n 80: '#665A15',\n 90: '#332D0A',\n 100: '#1A1705',\n main: '#FFE033',\n },\n success: {\n 5: '#EEF7F0',\n 10: '#CEE9D4',\n 20: '#B2DCBB',\n 30: '#8CCA99',\n 40: '#33A14B',\n 50: '#008A1E',\n 60: '#006E18',\n 70: '#005312',\n 80: '#00370C',\n 90: '#002207',\n 100: '#001804',\n main: '#008A1E',\n },\n information: {\n 5: '#E9F0FF',\n 10: '#D4E1FF',\n 20: '#A9C3FF',\n 30: '#7DA4FF',\n 40: '#5286FF',\n 50: '#2768FF',\n 60: '#1F53CC',\n 70: '#173E99',\n 80: '#0C1F4D',\n 90: '#040A1A',\n 100: '#020510',\n main: '#2768FF',\n },\n grey: {\n 5: '#F8F8F8',\n 10: '#F9FAFB',\n 20: '#F4F6F8',\n 30: '#DFE3E8',\n 40: '#C4CDD5',\n 50: '#919EAB',\n 60: '#637381',\n 70: '#454F5B',\n 80: '#1C252E',\n 90: '#141A21',\n 100: '#000000',\n main: '#F4F6F8',\n },\n};\n\nconst DARK_COLORS = {\n primary: {\n ...LIGHT_COLORS.primary,\n main: '#FF9F06',\n },\n secondary: {\n ...LIGHT_COLORS.secondary,\n main: '#007FFF',\n },\n danger: {\n ...LIGHT_COLORS.danger,\n main: '#EB003B',\n },\n warning: {\n ...LIGHT_COLORS.warning,\n main: '#FFE033',\n },\n success: {\n ...LIGHT_COLORS.success,\n main: '#008A1E',\n },\n information: {\n ...LIGHT_COLORS.information,\n main: '#2768FF',\n },\n grey: {\n 5: '#141414', // layer1\n 10: '#1F1F1F', // layer2\n 20: '#2C2C2C', // neutral\n 30: '#3D3D3D',\n 40: '#4F4F4F',\n 50: '#606060',\n 60: '#737373',\n 70: '#8C8C8C',\n 80: '#bfbfbf',\n 90: '#ededed',\n 100: '#FFFFFF',\n main: '#2C2C2C',\n },\n};\n\nconst MAIN_COLORS = {\n light: {\n primary: LIGHT_COLORS.primary.main,\n secondary: LIGHT_COLORS.secondary.main,\n danger: LIGHT_COLORS.danger.main,\n warning: LIGHT_COLORS.warning.main,\n success: LIGHT_COLORS.success.main,\n information: LIGHT_COLORS.information.main,\n grey: LIGHT_COLORS.grey.main\n },\n dark: {\n primary: DARK_COLORS.primary.main,\n secondary: DARK_COLORS.secondary.main,\n danger: DARK_COLORS.danger.main,\n warning: DARK_COLORS.warning.main,\n success: DARK_COLORS.success.main,\n information: DARK_COLORS.information.main,\n grey: DARK_COLORS.grey.main\n }\n}\n\nconst TEXT_COLORS = {\n light: {\n primary: LIGHT_COLORS.primary.main,\n base: LIGHT_COLORS.grey[80],\n secondary: LIGHT_COLORS.grey[60],\n disabled: LIGHT_COLORS.grey[50],\n danger: LIGHT_COLORS.danger[60],\n warning: LIGHT_COLORS.warning[60],\n success: LIGHT_COLORS.success[60],\n information: LIGHT_COLORS.information[60],\n white: '#FFFFFF',\n black: '#000000',\n },\n dark: {\n primary: LIGHT_COLORS.primary.main,\n base: DARK_COLORS.grey[90],\n secondary: DARK_COLORS.grey[70],\n disabled: DARK_COLORS.grey[50],\n danger: DARK_COLORS.danger[30],\n warning: DARK_COLORS.warning[30],\n success: DARK_COLORS.success[30],\n information: DARK_COLORS.information[30],\n white: '#FFFFFF',\n black: '#000000',\n },\n};\n\nconst BACKGROUND_COLORS = {\n light: {\n primary: LIGHT_COLORS.primary.main,\n layer1: LIGHT_COLORS.grey[5],\n layer2: LIGHT_COLORS.grey[20],\n neutral: LIGHT_COLORS.grey[30],\n base: '#ffffff',\n danger: LIGHT_COLORS.danger[5],\n warning: LIGHT_COLORS.warning[5],\n success: LIGHT_COLORS.success[5],\n information: LIGHT_COLORS.information[5],\n },\n dark: {\n primary: DARK_COLORS.primary.main,\n layer1: DARK_COLORS.grey[5],\n layer2: DARK_COLORS.grey[20],\n neutral: DARK_COLORS.grey[30],\n base: '#000000',\n danger: DARK_COLORS.danger[80],\n warning: DARK_COLORS.warning[80],\n success: DARK_COLORS.success[80],\n information: DARK_COLORS.information[80],\n },\n};\n\n// ThemeFactory 타입 정의\nexport interface ThemeFactoryColors {\n primary?: Partial<ColorPaletteExtend>;\n secondary?: Partial<ColorPalette>;\n danger?: Partial<ColorPalette>;\n warning?: Partial<ColorPalette>;\n success?: Partial<ColorPalette>;\n information?: Partial<ColorPalette>;\n grey?: Partial<ColorPalette>;\n}\n\nexport interface ThemeFactoryConfig {\n light?: ThemeFactoryColors;\n dark?: ThemeFactoryColors;\n}\n\n/**\n * 테마 팩토리 함수 - LIGHT_COLORS와 DARK_COLORS를 재정의할 수 있는 기능을 제공합니다.\n * @param config - 라이트/다크 모드별로 색상을 재정의할 수 있는 설정 객체\n * @returns 재정의된 LIGHT_COLORS와 DARK_COLORS를 포함한 팩토리 함수\n */\nexport function themeFactory(config: ThemeFactoryConfig = {}) {\n // 기본 색상들을 깊은 복사로 생성\n const createCustomLightColors = (): typeof LIGHT_COLORS => {\n const customColors = { ...LIGHT_COLORS };\n \n if (config.light) {\n Object.keys(config.light).forEach((key) => {\n const colorKey = key as keyof ThemeFactoryColors;\n if (config.light?.[colorKey]) {\n customColors[colorKey] = {\n ...customColors[colorKey],\n ...config.light[colorKey],\n } as any;\n }\n });\n }\n \n return customColors;\n };\n\n const createCustomDarkColors = (): typeof DARK_COLORS => {\n const customColors = { ...DARK_COLORS };\n \n if (config.dark) {\n Object.keys(config.dark).forEach((key) => {\n const colorKey = key as keyof ThemeFactoryColors;\n if (config.dark?.[colorKey]) {\n customColors[colorKey] = {\n ...customColors[colorKey],\n ...config.dark[colorKey],\n } as any;\n }\n });\n }\n \n return customColors;\n };\n\n const customLightColors = createCustomLightColors();\n const customDarkColors = createCustomDarkColors();\n\n // 재정의된 색상으로 새로운 팔레트 함수 반환\n return function createPalette({\n mode = 'light',\n themeColors = {},\n }: {\n mode?: 'light' | 'dark';\n themeColors?: { light?: Theme; dark?: Theme };\n } = {}): Theme {\n const colors = mode === 'light' ? customLightColors : customDarkColors;\n\n // 재정의된 색상을 기반으로 동적으로 색상 매핑 생성\n const customTextColors = {\n light: {\n primary: colors.primary.main,\n base: colors.grey[80],\n secondary: colors.grey[60],\n disabled: colors.grey[50],\n danger: colors.danger[60],\n warning: colors.warning[60],\n success: colors.success[60],\n information: colors.information[60],\n white: '#FFFFFF',\n black: '#000000',\n },\n dark: {\n primary: colors.primary.main,\n base: colors.grey[90],\n secondary: colors.grey[70],\n disabled: colors.grey[50],\n danger: colors.danger[30],\n warning: colors.warning[30],\n success: colors.success[30],\n information: colors.information[30],\n white: '#FFFFFF',\n black: '#000000',\n },\n };\n\n const customBackgroundColors = {\n light: {\n primary: colors.primary.main,\n layer1: colors.grey[5],\n layer2: colors.grey[20],\n neutral: colors.grey[30],\n base: '#ffffff',\n danger: colors.danger[5],\n warning: colors.warning[5],\n success: colors.success[5],\n information: colors.information[5],\n },\n dark: {\n primary: colors.primary.main,\n layer1: colors.grey[5],\n layer2: colors.grey[20],\n neutral: colors.grey[30],\n base: '#000000',\n danger: colors.danger[80],\n warning: colors.warning[80],\n success: colors.success[80],\n information: colors.information[80],\n },\n };\n\n const customMainColors = {\n light: {\n primary: colors.primary.main,\n secondary: colors.secondary.main,\n danger: colors.danger.main,\n warning: colors.warning.main,\n success: colors.success.main,\n information: colors.information.main,\n grey: colors.grey.main\n },\n dark: {\n primary: colors.primary.main,\n secondary: colors.secondary.main,\n danger: colors.danger.main,\n warning: colors.warning.main,\n success: colors.success.main,\n information: colors.information.main,\n grey: colors.grey.main\n }\n };\n\n const theme: Theme = {\n mode,\n ...colors,\n text: customTextColors[mode],\n background: customBackgroundColors[mode],\n elevationShadow: SHADOW_COLORS[mode],\n modalBgColor: MODAL_BG_COLOR[mode],\n mainColor: customMainColors[mode]\n };\n\n // 사용자 정의 테마 컬러가 있을 경우 병합\n if (themeColors?.[mode]) {\n return {\n ...theme,\n ...themeColors[mode],\n };\n }\n\n return theme;\n };\n}\n\nexport default function palette({\n mode = 'light',\n themeColors = {},\n}: {\n mode?: 'light' | 'dark';\n themeColors?: { light?: Theme; dark?: Theme };\n} = {}): Theme {\n const colors = mode === 'light' ? LIGHT_COLORS : DARK_COLORS;\n\n const theme: Theme = {\n mode,\n ...colors,\n text: TEXT_COLORS[mode],\n background: BACKGROUND_COLORS[mode],\n elevationShadow: SHADOW_COLORS[mode],\n modalBgColor: MODAL_BG_COLOR[mode],\n mainColor: MAIN_COLORS[mode]\n };\n\n // 사용자 정의 테마 컬러가 있을 경우 병합\n if (themeColors?.[mode]) {\n return {\n ...theme,\n ...themeColors[mode],\n };\n }\n\n return theme;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSTextField/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgE,MAAM,OAAO,CAAC;AACrF,OAAO,EAA0C,SAAS,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AAI5G,OAAO,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAKzE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAIzD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSTextField/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgE,MAAM,OAAO,CAAC;AACrF,OAAO,EAA0C,SAAS,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AAI5G,OAAO,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAKzE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAIzD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,QAAA,MAAM,WAAW,kFAiPf,CAAC;AAIH,eAAe,WAAW,CAAC"}
|
|
@@ -146,7 +146,8 @@ const ZSTextField = forwardRef(({ typo = 'body.2', status = 'default', value, on
|
|
|
146
146
|
fontSize,
|
|
147
147
|
width: '100%',
|
|
148
148
|
paddingRight: 25,
|
|
149
|
-
fontFamily
|
|
149
|
+
fontFamily,
|
|
150
|
+
...(Platform.OS === 'web' ? { outline: 'none' } : {}),
|
|
150
151
|
},
|
|
151
152
|
textInputProps?.style,
|
|
152
153
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSTextField/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo, useCallback, useState, useEffect, forwardRef } from 'react';\nimport { LayoutChangeEvent, Platform, StyleProp, TextInput, TextInputProps, TextStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport ButtonClose from './ui/ButtonClose';\nimport ErrorComponent from './ui/ErrorComponent';\nimport { TypoOptions, TypoStyle, TypoSubStyle } from '../../theme/types';\nimport { extractStyle } from '../../model/utils';\nimport { useTheme } from '../../context/ThemeContext';\nimport ViewAtom from '../atoms/ViewAtom';\n\nexport type BoxStyle = 'outline' | 'underline' | 'inbox';\n\nconst iosOffset = Platform.OS === 'ios' ? 8 : 4;\n\ninterface TextFieldProps {\n typo?: TypoOptions;\n status?: 'default' | 'error';\n value: string;\n onChangeText?: (text: string) => void;\n inputBgColor?: string;\n labelBgColor?: string;\n label?: string;\n labelColor?: string;\n placeHolderColor?: string;\n fontSize?: number;\n borderColor?: string;\n borderRadius?: number;\n focusColor?: string;\n errorColor?: string;\n paddingHorizontal?: number;\n borderWidth?: number;\n errorMessage?: string;\n textInputProps?: TextInputProps;\n boxStyle?: BoxStyle;\n innerBoxStyle?: 'top' | 'middle' | 'bottom';\n disabled?: boolean;\n allowFontScaling?: boolean;\n isTextArea?: boolean;\n}\n\nexport type ZSTextFieldRef = TextInput;\n\nconst ZSTextField = forwardRef<ZSTextFieldRef, TextFieldProps>(({\n typo = 'body.2',\n status = 'default',\n value,\n onChangeText,\n label = 'Placeholder',\n labelColor,\n placeHolderColor,\n inputBgColor,\n labelBgColor,\n borderWidth = 1.2,\n borderColor,\n focusColor,\n errorColor,\n borderRadius = 14,\n paddingHorizontal = 15,\n errorMessage,\n textInputProps,\n boxStyle = 'outline',\n innerBoxStyle,\n disabled = false,\n allowFontScaling = true,\n isTextArea = false,\n}, ref) => {\n const { typography, palette } = useTheme();\n const [primaryStyle, subStyle] = typo.split('.') as [TypoStyle, TypoSubStyle];\n const fErrorColor = errorColor || palette.danger.main;\n\n const fontSize = extractStyle(typography[primaryStyle][subStyle], 'fontSize') as number || 17;\n const fontFamily = extractStyle(typography[primaryStyle][subStyle], 'fontFamily') as string || '';\n\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const boxHeightValue = useSharedValue(0);\n \n const hasValue = value !== '';\n const isError = status === 'error';\n \n const labelAnimationValue = useSharedValue(0);\n const focusAnimationValue = useSharedValue(0);\n const errorAnimationValue = useSharedValue(0);\n\n useEffect(() => {\n const animationOptions = { duration: 200 };\n \n labelAnimationValue.value = withTiming(hasValue || isFocused ? 1 : 0, animationOptions);\n focusAnimationValue.value = withTiming(isFocused ? 1 : 0, animationOptions);\n errorAnimationValue.value = withTiming(isError ? 1 : 0, animationOptions);\n }, [hasValue, isFocused, isError, labelAnimationValue, focusAnimationValue, errorAnimationValue]);\n\n const animationConstants = useMemo(() => ({\n baseFontSize: fontSize + (boxStyle === 'inbox' ? 1 : 0),\n targetFontSize: boxStyle === 'inbox' ? 10 : 11,\n baseTop: isTextArea ? 12 : 0,\n targetTopOffset: boxStyle === 'inbox' ? 17 : 2,\n }), [fontSize, boxStyle, isTextArea]);\n\n const animatedLabelStyle = useAnimatedStyle(() => {\n 'worklet';\n \n const labelFontSize = interpolate(\n labelAnimationValue.value,\n [0, 1],\n [animationConstants.baseFontSize, animationConstants.targetFontSize],\n 'clamp'\n );\n\n const labelTop = interpolate(\n labelAnimationValue.value,\n [0, 1],\n [\n animationConstants.baseTop,\n isTextArea ? -12 : -(boxHeightValue.value / 2) - 1 + animationConstants.targetTopOffset,\n ],\n 'clamp'\n );\n\n return {\n top: labelTop,\n fontSize: labelFontSize,\n };\n }, [animationConstants, isTextArea]);\n\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n boxHeightValue.value = height;\n }, [boxHeightValue]);\n\n const handleFocus = () => setIsFocused(true);\n const handleBlur = () => setIsFocused(false);\n\n const colorConfig = useMemo(() => ({\n primaryColor: focusColor || palette.primary.main,\n defaultBorderColor: borderColor || palette.grey[30],\n defaultLabelColor: labelColor || palette.text.secondary,\n placeholderColor: placeHolderColor || palette.grey[40],\n errorColor: fErrorColor,\n }), [focusColor, palette.primary.main, borderColor, palette.grey, labelColor, palette.text.secondary, placeHolderColor, fErrorColor]);\n\n const animatedColorStyle = useAnimatedStyle(() => {\n 'worklet';\n \n const borderColor = errorAnimationValue.value > 0 \n ? colorConfig.errorColor\n : focusAnimationValue.value > 0\n ? colorConfig.primaryColor\n : colorConfig.defaultBorderColor;\n \n return {\n borderColor,\n };\n }, [colorConfig]);\n\n const animatedLabelColorStyle = useAnimatedStyle(() => {\n 'worklet';\n \n const labelColor = errorAnimationValue.value > 0\n ? colorConfig.errorColor\n : focusAnimationValue.value > 0\n ? colorConfig.primaryColor\n : labelAnimationValue.value > 0\n ? colorConfig.defaultLabelColor\n : colorConfig.placeholderColor;\n \n return {\n color: labelColor,\n };\n }, [colorConfig]);\n\n const styleConfig = useMemo(() => {\n const baseStyle = {\n width: '100%' as const,\n justifyContent: isTextArea ? 'flex-start' as const : 'center' as const,\n borderRadius,\n paddingHorizontal,\n backgroundColor: inputBgColor || palette.background.base,\n paddingTop: boxStyle === 'inbox' ? 13 : 0,\n };\n\n // 박스 스타일에 따른 테두리 설정\n let borderStyle = {};\n if (boxStyle === 'outline' || boxStyle === 'inbox') {\n borderStyle = { borderWidth };\n } else if (boxStyle === 'underline') {\n borderStyle = { borderBottomWidth: borderWidth };\n }\n\n // innerBoxStyle에 따른 스타일 설정\n let innerStyle = {};\n if (innerBoxStyle === 'top') {\n innerStyle = { \n borderBottomLeftRadius: 0, \n borderBottomRightRadius: 0, \n borderBottomWidth: borderWidth / 2 \n };\n } else if (innerBoxStyle === 'middle') {\n innerStyle = { \n borderRadius: 0, \n borderTopWidth: borderWidth / 2, \n borderBottomWidth: borderWidth / 2 \n };\n } else if (innerBoxStyle === 'bottom') {\n innerStyle = { \n borderTopLeftRadius: 0, \n borderTopRightRadius: 0, \n borderTopWidth: borderWidth / 2 \n };\n }\n\n return { ...baseStyle, ...borderStyle, ...innerStyle };\n }, [isTextArea, borderRadius, paddingHorizontal, inputBgColor, borderWidth, boxStyle, innerBoxStyle, palette.background.base]);\n\n const labelTextStyle: StyleProp<TextStyle> = {\n fontSize,\n left: paddingHorizontal,\n backgroundColor: labelBgColor || palette.background.base,\n paddingHorizontal: boxStyle === 'outline' ? 5 : 0,\n paddingVertical: 2,\n textAlignVertical: 'center',\n fontFamily,\n borderRadius: boxStyle === 'outline' ? 5 : 0,\n overflow: 'hidden',\n };\n\n const handleTextChange = (text: string) => {\n if (onChangeText) onChangeText(text);\n };\n\n const textInputStyle = [\n { \n paddingTop: 7 + iosOffset, \n paddingBottom: 5 + iosOffset, \n color: palette.text.base,\n fontSize, \n width: '100%' as const, \n paddingRight: 25, \n fontFamily \n },\n textInputProps?.style,\n ];\n\n const shouldShowCloseButton = value && isFocused;\n const shouldShowError = status === 'error' && errorMessage;\n\n return (\n <ViewAtom style={{ alignSelf: 'stretch', width: '100%' }}>\n <Animated.View\n style={[styleConfig, animatedColorStyle]}\n onLayout={handleLayout}\n pointerEvents={disabled ? 'none' : 'auto'}\n >\n <TextInput\n {...textInputProps}\n ref={ref}\n style={textInputStyle}\n value={value}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={handleTextChange}\n allowFontScaling={allowFontScaling}\n selectionColor={palette.grey[50]}\n autoCorrect={false}\n spellCheck={false}\n />\n\n <ViewAtom pointerEvents=\"none\" style={{ position: 'absolute' }}>\n <Animated.Text allowFontScaling={allowFontScaling} style={[animatedLabelStyle, labelTextStyle, animatedLabelColorStyle]}>\n {label}\n </Animated.Text>\n </ViewAtom>\n\n {shouldShowCloseButton && (\n <ButtonClose marginTop={isTextArea ? 13 : undefined} onChangeText={onChangeText} />\n )}\n </Animated.View>\n\n {shouldShowError && (\n <ErrorComponent errorMessage={errorMessage} errorColor={fErrorColor} />\n )}\n </ViewAtom>\n );\n});\n\nZSTextField.displayName = 'ZSTextField';\n\nexport default ZSTextField;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSTextField/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo, useCallback, useState, useEffect, forwardRef } from 'react';\nimport { LayoutChangeEvent, Platform, StyleProp, TextInput, TextInputProps, TextStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport ButtonClose from './ui/ButtonClose';\nimport ErrorComponent from './ui/ErrorComponent';\nimport { TypoOptions, TypoStyle, TypoSubStyle } from '../../theme/types';\nimport { extractStyle } from '../../model/utils';\nimport { useTheme } from '../../context/ThemeContext';\nimport ViewAtom from '../atoms/ViewAtom';\n\nexport type BoxStyle = 'outline' | 'underline' | 'inbox';\n\nconst iosOffset = Platform.OS === 'ios' ? 8 : 4;\n\ninterface TextFieldProps {\n typo?: TypoOptions;\n status?: 'default' | 'error';\n value: string;\n onChangeText?: (text: string) => void;\n inputBgColor?: string;\n labelBgColor?: string;\n label?: string;\n labelColor?: string;\n placeHolderColor?: string;\n fontSize?: number;\n borderColor?: string;\n borderRadius?: number;\n focusColor?: string;\n errorColor?: string;\n paddingHorizontal?: number;\n borderWidth?: number;\n errorMessage?: string;\n textInputProps?: TextInputProps;\n boxStyle?: BoxStyle;\n innerBoxStyle?: 'top' | 'middle' | 'bottom';\n disabled?: boolean;\n allowFontScaling?: boolean;\n isTextArea?: boolean;\n}\n\nexport type ZSTextFieldRef = TextInput;\n\nconst ZSTextField = forwardRef<ZSTextFieldRef, TextFieldProps>(({\n typo = 'body.2',\n status = 'default',\n value,\n onChangeText,\n label = 'Placeholder',\n labelColor,\n placeHolderColor,\n inputBgColor,\n labelBgColor,\n borderWidth = 1.2,\n borderColor,\n focusColor,\n errorColor,\n borderRadius = 14,\n paddingHorizontal = 15,\n errorMessage,\n textInputProps,\n boxStyle = 'outline',\n innerBoxStyle,\n disabled = false,\n allowFontScaling = true,\n isTextArea = false,\n}, ref) => {\n const { typography, palette } = useTheme();\n const [primaryStyle, subStyle] = typo.split('.') as [TypoStyle, TypoSubStyle];\n const fErrorColor = errorColor || palette.danger.main;\n\n const fontSize = extractStyle(typography[primaryStyle][subStyle], 'fontSize') as number || 17;\n const fontFamily = extractStyle(typography[primaryStyle][subStyle], 'fontFamily') as string || '';\n\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const boxHeightValue = useSharedValue(0);\n \n const hasValue = value !== '';\n const isError = status === 'error';\n \n const labelAnimationValue = useSharedValue(0);\n const focusAnimationValue = useSharedValue(0);\n const errorAnimationValue = useSharedValue(0);\n\n useEffect(() => {\n const animationOptions = { duration: 200 };\n \n labelAnimationValue.value = withTiming(hasValue || isFocused ? 1 : 0, animationOptions);\n focusAnimationValue.value = withTiming(isFocused ? 1 : 0, animationOptions);\n errorAnimationValue.value = withTiming(isError ? 1 : 0, animationOptions);\n }, [hasValue, isFocused, isError, labelAnimationValue, focusAnimationValue, errorAnimationValue]);\n\n const animationConstants = useMemo(() => ({\n baseFontSize: fontSize + (boxStyle === 'inbox' ? 1 : 0),\n targetFontSize: boxStyle === 'inbox' ? 10 : 11,\n baseTop: isTextArea ? 12 : 0,\n targetTopOffset: boxStyle === 'inbox' ? 17 : 2,\n }), [fontSize, boxStyle, isTextArea]);\n\n const animatedLabelStyle = useAnimatedStyle(() => {\n 'worklet';\n \n const labelFontSize = interpolate(\n labelAnimationValue.value,\n [0, 1],\n [animationConstants.baseFontSize, animationConstants.targetFontSize],\n 'clamp'\n );\n\n const labelTop = interpolate(\n labelAnimationValue.value,\n [0, 1],\n [\n animationConstants.baseTop,\n isTextArea ? -12 : -(boxHeightValue.value / 2) - 1 + animationConstants.targetTopOffset,\n ],\n 'clamp'\n );\n\n return {\n top: labelTop,\n fontSize: labelFontSize,\n };\n }, [animationConstants, isTextArea]);\n\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n boxHeightValue.value = height;\n }, [boxHeightValue]);\n\n const handleFocus = () => setIsFocused(true);\n const handleBlur = () => setIsFocused(false);\n\n const colorConfig = useMemo(() => ({\n primaryColor: focusColor || palette.primary.main,\n defaultBorderColor: borderColor || palette.grey[30],\n defaultLabelColor: labelColor || palette.text.secondary,\n placeholderColor: placeHolderColor || palette.grey[40],\n errorColor: fErrorColor,\n }), [focusColor, palette.primary.main, borderColor, palette.grey, labelColor, palette.text.secondary, placeHolderColor, fErrorColor]);\n\n const animatedColorStyle = useAnimatedStyle(() => {\n 'worklet';\n \n const borderColor = errorAnimationValue.value > 0 \n ? colorConfig.errorColor\n : focusAnimationValue.value > 0\n ? colorConfig.primaryColor\n : colorConfig.defaultBorderColor;\n \n return {\n borderColor,\n };\n }, [colorConfig]);\n\n const animatedLabelColorStyle = useAnimatedStyle(() => {\n 'worklet';\n \n const labelColor = errorAnimationValue.value > 0\n ? colorConfig.errorColor\n : focusAnimationValue.value > 0\n ? colorConfig.primaryColor\n : labelAnimationValue.value > 0\n ? colorConfig.defaultLabelColor\n : colorConfig.placeholderColor;\n \n return {\n color: labelColor,\n };\n }, [colorConfig]);\n\n const styleConfig = useMemo(() => {\n const baseStyle = {\n width: '100%' as const,\n justifyContent: isTextArea ? 'flex-start' as const : 'center' as const,\n borderRadius,\n paddingHorizontal,\n backgroundColor: inputBgColor || palette.background.base,\n paddingTop: boxStyle === 'inbox' ? 13 : 0,\n };\n\n // 박스 스타일에 따른 테두리 설정\n let borderStyle = {};\n if (boxStyle === 'outline' || boxStyle === 'inbox') {\n borderStyle = { borderWidth };\n } else if (boxStyle === 'underline') {\n borderStyle = { borderBottomWidth: borderWidth };\n }\n\n // innerBoxStyle에 따른 스타일 설정\n let innerStyle = {};\n if (innerBoxStyle === 'top') {\n innerStyle = { \n borderBottomLeftRadius: 0, \n borderBottomRightRadius: 0, \n borderBottomWidth: borderWidth / 2 \n };\n } else if (innerBoxStyle === 'middle') {\n innerStyle = { \n borderRadius: 0, \n borderTopWidth: borderWidth / 2, \n borderBottomWidth: borderWidth / 2 \n };\n } else if (innerBoxStyle === 'bottom') {\n innerStyle = { \n borderTopLeftRadius: 0, \n borderTopRightRadius: 0, \n borderTopWidth: borderWidth / 2 \n };\n }\n\n return { ...baseStyle, ...borderStyle, ...innerStyle };\n }, [isTextArea, borderRadius, paddingHorizontal, inputBgColor, borderWidth, boxStyle, innerBoxStyle, palette.background.base]);\n\n const labelTextStyle: StyleProp<TextStyle> = {\n fontSize,\n left: paddingHorizontal,\n backgroundColor: labelBgColor || palette.background.base,\n paddingHorizontal: boxStyle === 'outline' ? 5 : 0,\n paddingVertical: 2,\n textAlignVertical: 'center',\n fontFamily,\n borderRadius: boxStyle === 'outline' ? 5 : 0,\n overflow: 'hidden',\n };\n\n const handleTextChange = (text: string) => {\n if (onChangeText) onChangeText(text);\n };\n\n const textInputStyle = [\n { \n paddingTop: 7 + iosOffset, \n paddingBottom: 5 + iosOffset, \n color: palette.text.base,\n fontSize, \n width: '100%' as const, \n paddingRight: 25, \n fontFamily,\n ...(Platform.OS === 'web' ? { outline: 'none' } : {}),\n },\n textInputProps?.style,\n ];\n\n const shouldShowCloseButton = value && isFocused;\n const shouldShowError = status === 'error' && errorMessage;\n\n return (\n <ViewAtom style={{ alignSelf: 'stretch', width: '100%' }}>\n <Animated.View\n style={[styleConfig, animatedColorStyle]}\n onLayout={handleLayout}\n pointerEvents={disabled ? 'none' : 'auto'}\n >\n <TextInput\n {...textInputProps}\n ref={ref}\n style={textInputStyle}\n value={value}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={handleTextChange}\n allowFontScaling={allowFontScaling}\n selectionColor={palette.grey[50]}\n autoCorrect={false}\n spellCheck={false}\n />\n\n <ViewAtom pointerEvents=\"none\" style={{ position: 'absolute' }}>\n <Animated.Text allowFontScaling={allowFontScaling} style={[animatedLabelStyle, labelTextStyle, animatedLabelColorStyle]}>\n {label}\n </Animated.Text>\n </ViewAtom>\n\n {shouldShowCloseButton && (\n <ButtonClose marginTop={isTextArea ? 13 : undefined} onChangeText={onChangeText} />\n )}\n </Animated.View>\n\n {shouldShowError && (\n <ErrorComponent errorMessage={errorMessage} errorColor={fErrorColor} />\n )}\n </ViewAtom>\n );\n});\n\nZSTextField.displayName = 'ZSTextField';\n\nexport default ZSTextField;\n"]}
|
package/package.json
CHANGED
package/build/model/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACd,CAAA"}
|
package/build/model/index.js
DELETED
package/build/model/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACd,CAAA","sourcesContent":["import { useStyleSheetCreate } from \"./useStyleSheetCreate\";\nimport { GlobalOverlay } from \"./globalOverlay\";\n\nexport {\n useStyleSheetCreate,\n GlobalOverlay\n}\n"]}
|