@0610studio/zs-ui 0.12.2 → 0.12.4

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 (109) hide show
  1. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
  2. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +1 -1
  3. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  4. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  5. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
  6. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  7. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  8. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  9. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  10. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  11. package/android/build/outputs/logs/manifest-merger-debug-report.txt +8 -8
  12. package/build/{model/useOverlayProvider.d.ts → context/OverlayContext.d.ts} +2 -2
  13. package/build/context/OverlayContext.d.ts.map +1 -0
  14. package/build/{model/useOverlayProvider.js → context/OverlayContext.js} +3 -3
  15. package/build/context/OverlayContext.js.map +1 -0
  16. package/build/{model/useThemeProvider.d.ts → context/ThemeContext.d.ts} +1 -13
  17. package/build/context/ThemeContext.d.ts.map +1 -0
  18. package/build/{model/useThemeProvider.js → context/ThemeContext.js} +3 -16
  19. package/build/context/ThemeContext.js.map +1 -0
  20. package/build/index.d.ts +9 -7
  21. package/build/index.d.ts.map +1 -1
  22. package/build/index.js +6 -4
  23. package/build/index.js.map +1 -1
  24. package/build/model/index.d.ts +1 -3
  25. package/build/model/index.d.ts.map +1 -1
  26. package/build/model/index.js +1 -3
  27. package/build/model/index.js.map +1 -1
  28. package/build/model/useKeyboard.d.ts +1 -5
  29. package/build/model/useKeyboard.d.ts.map +1 -1
  30. package/build/model/useKeyboard.js.map +1 -1
  31. package/build/model/useStyleSheetCreate.js +1 -1
  32. package/build/model/useStyleSheetCreate.js.map +1 -1
  33. package/build/overlay/AlertOverlay/index.d.ts.map +1 -1
  34. package/build/overlay/AlertOverlay/index.js +4 -3
  35. package/build/overlay/AlertOverlay/index.js.map +1 -1
  36. package/build/overlay/BottomSheetOverlay/index.d.ts.map +1 -1
  37. package/build/overlay/BottomSheetOverlay/index.js +16 -13
  38. package/build/overlay/BottomSheetOverlay/index.js.map +1 -1
  39. package/build/overlay/LoadingNotify/index.js +1 -1
  40. package/build/overlay/LoadingNotify/index.js.map +1 -1
  41. package/build/overlay/Modality/index.d.ts.map +1 -1
  42. package/build/overlay/Modality/index.js +4 -3
  43. package/build/overlay/Modality/index.js.map +1 -1
  44. package/build/overlay/PopOver/PopOverMenu.d.ts.map +1 -1
  45. package/build/overlay/PopOver/PopOverMenu.js +4 -3
  46. package/build/overlay/PopOver/PopOverMenu.js.map +1 -1
  47. package/build/overlay/SnackbarNotify/ui/SnackbarItem.js +1 -1
  48. package/build/overlay/SnackbarNotify/ui/SnackbarItem.js.map +1 -1
  49. package/build/overlay/index.d.ts +1 -2
  50. package/build/overlay/index.d.ts.map +1 -1
  51. package/build/overlay/index.js +1 -2
  52. package/build/overlay/index.js.map +1 -1
  53. package/build/theme/elevation.d.ts +1 -1
  54. package/build/theme/elevation.d.ts.map +1 -1
  55. package/build/theme/elevation.js.map +1 -1
  56. package/build/theme/palette.d.ts.map +1 -1
  57. package/build/theme/palette.js +0 -78
  58. package/build/theme/palette.js.map +1 -1
  59. package/build/theme/types.d.ts +9 -16
  60. package/build/theme/types.d.ts.map +1 -1
  61. package/build/theme/types.js.map +1 -1
  62. package/build/ui/ZSContainer/index.d.ts.map +1 -1
  63. package/build/ui/ZSContainer/index.js +4 -3
  64. package/build/ui/ZSContainer/index.js.map +1 -1
  65. package/build/ui/ZSPressable/index.d.ts +1 -2
  66. package/build/ui/ZSPressable/index.d.ts.map +1 -1
  67. package/build/ui/ZSPressable/index.js.map +1 -1
  68. package/build/ui/ZSRadioGroup/index.js +1 -1
  69. package/build/ui/ZSRadioGroup/index.js.map +1 -1
  70. package/build/ui/ZSText/index.js +1 -1
  71. package/build/ui/ZSText/index.js.map +1 -1
  72. package/build/ui/ZSTextField/index.d.ts +1 -1
  73. package/build/ui/ZSTextField/index.d.ts.map +1 -1
  74. package/build/ui/ZSTextField/index.js +1 -1
  75. package/build/ui/ZSTextField/index.js.map +1 -1
  76. package/build/ui/ZSView/index.d.ts +1 -2
  77. package/build/ui/ZSView/index.d.ts.map +1 -1
  78. package/build/ui/ZSView/index.js +1 -1
  79. package/build/ui/ZSView/index.js.map +1 -1
  80. package/build/ui/atoms/AnimatedWrapper.d.ts +1 -1
  81. package/build/ui/atoms/AnimatedWrapper.d.ts.map +1 -1
  82. package/build/ui/atoms/AnimatedWrapper.js +1 -1
  83. package/build/ui/atoms/AnimatedWrapper.js.map +1 -1
  84. package/build/ui/types.d.ts +0 -9
  85. package/build/ui/types.d.ts.map +1 -1
  86. package/build/ui/types.js.map +1 -1
  87. package/package.json +5 -1
  88. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/results.bin +0 -1
  89. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/BuildConfig.dex +0 -0
  90. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/DimensionsHelper.dex +0 -0
  91. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/FoldingStateResult.dex +0 -0
  92. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$1$2$1.dex +0 -0
  93. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$AsyncFunctionWithoutArgs$1.dex +0 -0
  94. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$View$1.dex +0 -0
  95. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$lambda$1$$inlined$Prop$1.dex +0 -0
  96. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$getCurrentFoldingState$layoutInfo$1.dex +0 -0
  97. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule.dex +0 -0
  98. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiView.dex +0 -0
  99. package/android/build/.transforms/72fe95eacb1b8a3c1a46f43e324e9fdd/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  100. package/android/build/.transforms/f9f5d8b7acc46fb51e4010de68729346/results.bin +0 -1
  101. package/android/build/.transforms/f9f5d8b7acc46fb51e4010de68729346/transformed/classes/classes_dex/classes.dex +0 -0
  102. package/build/model/useOverlayProvider.d.ts.map +0 -1
  103. package/build/model/useOverlayProvider.js.map +0 -1
  104. package/build/model/useThemeProvider.d.ts.map +0 -1
  105. package/build/model/useThemeProvider.js.map +0 -1
  106. package/build/theme/index.d.ts +0 -5
  107. package/build/theme/index.d.ts.map +0 -1
  108. package/build/theme/index.js +0 -5
  109. package/build/theme/index.js.map +0 -1
@@ -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\nconst LIGHT_COLORS = {\n primary: {\n 0: '#FFF7E6',\n 5: '#FCEDD0',\n 10: '#F9DAA3', // p-lighter\n 20: '#F5BF64', // p-light\n 30: '#fca54c',\n 40: '#ff9225',\n 50: '#FF9F06', // p-main\n 60: '#DD9434', // p-dark\n 70: '#AC7326', // p-darker\n 80: '#c46500',\n 90: '#995400',\n 100: '#663800',\n lighter: '#F9DAA3',\n light: '#F5BF64',\n main: '#FF9F06',\n dark: '#DD9434',\n darker: '#AC7326',\n },\n secondary: {\n 0: '#E6F7FF',\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 0: '#FFF5F7',\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 0: '#FFFBF2',\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 0: '#F5FBF6',\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 0: '#F3F8FF',\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 0: '#FFFFFF',\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 0: '#000000',\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 BORDER_COLORS = {\n light: {\n box: LIGHT_COLORS.grey[20],\n active: LIGHT_COLORS.primary[50],\n base: LIGHT_COLORS.grey[60],\n danger: LIGHT_COLORS.danger[10],\n warning: LIGHT_COLORS.warning[10],\n success: LIGHT_COLORS.success[10],\n information: LIGHT_COLORS.information[10],\n },\n dark: {\n box: DARK_COLORS.grey[30],\n active: DARK_COLORS.primary[50],\n base: DARK_COLORS.grey[60],\n danger: DARK_COLORS.danger[70],\n warning: DARK_COLORS.warning[70],\n success: DARK_COLORS.success[70],\n information: DARK_COLORS.information[70],\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: LIGHT_COLORS.grey[0],\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: DARK_COLORS.grey[0],\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\nconst ACTION_COLORS = {\n light: {\n hover: LIGHT_COLORS.primary[60],\n pressed: LIGHT_COLORS.primary[70],\n disable: LIGHT_COLORS.grey[20],\n },\n dark: {\n hover: DARK_COLORS.primary[60],\n pressed: DARK_COLORS.primary[70],\n disable: DARK_COLORS.grey[30],\n },\n};\n\nconst DIVIDER_COLOR = {\n light: LIGHT_COLORS.grey[50] + transparency['20%'],\n dark: DARK_COLORS.grey[50] + transparency['20%'],\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 customBorderColors = {\n light: {\n box: colors.grey[20],\n active: colors.primary[50],\n base: colors.grey[60],\n danger: colors.danger[10],\n warning: colors.warning[10],\n success: colors.success[10],\n information: colors.information[10],\n },\n dark: {\n box: colors.grey[30],\n active: colors.primary[50],\n base: colors.grey[60],\n danger: colors.danger[70],\n warning: colors.warning[70],\n success: colors.success[70],\n information: colors.information[70],\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: colors.grey[0],\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: colors.grey[0],\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 customActionColors = {\n light: {\n hover: colors.primary[60],\n pressed: colors.primary[70],\n disable: colors.grey[20],\n },\n dark: {\n hover: colors.primary[60],\n pressed: colors.primary[70],\n disable: colors.grey[30],\n },\n };\n\n const customDividerColor = {\n light: colors.grey[50] + transparency['20%'],\n dark: colors.grey[50] + transparency['20%'],\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 border: customBorderColors[mode],\n background: customBackgroundColors[mode],\n action: customActionColors[mode],\n divider: customDividerColor[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 border: BORDER_COLORS[mode],\n background: BACKGROUND_COLORS[mode],\n action: ACTION_COLORS[mode],\n divider: DIVIDER_COLOR[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":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,IAAI,EAAI,QAAQ;IACtB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI,CAAE,SAAS;CACxB,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,WAAW;CAClB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE;QACL,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;KACtB;IACD,IAAI,EAAE;QACJ,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;KAC5B;CACF,CAAA;AAED,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS,EAAE,YAAY;QAC3B,EAAE,EAAE,SAAS,EAAE,UAAU;QACzB,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS,EAAE,SAAS;QACxB,EAAE,EAAE,SAAS,EAAE,SAAS;QACxB,EAAE,EAAE,SAAS,EAAE,WAAW;QAC1B,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB;IACD,SAAS,EAAE;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;IACD,MAAM,EAAE;QACN,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;IACD,WAAW,EAAE;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;CACF,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE;QACP,GAAG,YAAY,CAAC,OAAO;QACvB,IAAI,EAAE,SAAS;KAChB;IACD,SAAS,EAAE;QACT,GAAG,YAAY,CAAC,SAAS;QACzB,IAAI,EAAE,SAAS;KAChB;IACD,MAAM,EAAE;QACN,GAAG,YAAY,CAAC,MAAM;QACtB,IAAI,EAAE,SAAS;KAChB;IACD,OAAO,EAAE;QACP,GAAG,YAAY,CAAC,OAAO;QACvB,IAAI,EAAE,SAAS;KAChB;IACD,OAAO,EAAE;QACP,GAAG,YAAY,CAAC,OAAO;QACvB,IAAI,EAAE,SAAS;KAChB;IACD,WAAW,EAAE;QACX,GAAG,YAAY,CAAC,WAAW;QAC3B,IAAI,EAAE,SAAS;KAChB;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS,EAAG,SAAS;QACxB,EAAE,EAAE,SAAS,EAAE,SAAS;QACxB,EAAE,EAAE,SAAS,EAAE,UAAU;QACzB,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB;CACF,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE;QACL,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI;QAClC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI;QACtC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI;QAChC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI;QAClC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI;QAClC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI;QAC1C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI;KAC7B;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI;QACrC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI;QAC/B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI;QACjC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI;QACjC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI;QACzC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI;KAC5B;CACF,CAAA;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE;QACL,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI;QAClC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KACjB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI;QAClC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KACjB;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI;QAClC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;KACzC;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI;QACjC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;KACzC;CACF,CAAC;AAkBF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,SAA6B,EAAE;IAC1D,oBAAoB;IACpB,MAAM,uBAAuB,GAAG,GAAwB,EAAE;QACxD,MAAM,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QAEzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxC,MAAM,QAAQ,GAAG,GAA+B,CAAC;gBACjD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,YAAY,CAAC,QAAQ,CAAC,GAAG;wBACvB,GAAG,YAAY,CAAC,QAAQ,CAAC;wBACzB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;qBACnB,CAAC;gBACX,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAuB,EAAE;QACtD,MAAM,YAAY,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAExC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,GAA+B,CAAC;gBACjD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,YAAY,CAAC,QAAQ,CAAC,GAAG;wBACvB,GAAG,YAAY,CAAC,QAAQ,CAAC;wBACzB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;qBAClB,CAAC;gBACX,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IACpD,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;IAElD,0BAA0B;IAC1B,OAAO,SAAS,aAAa,CAAC,EAC5B,IAAI,GAAG,OAAO,EACd,WAAW,GAAG,EAAE,MAId,EAAE;QACJ,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAEvE,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG;YACvB,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;aACjB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QAEF,MAAM,sBAAsB,GAAG;YAC7B,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;aACnC;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;aACpC;SACF,CAAC;QAEF,MAAM,gBAAgB,GAAG;YACvB,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;gBAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBACpC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;aACvB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;gBAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC5B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBACpC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;aACvB;SACF,CAAC;QAEF,MAAM,KAAK,GAAU;YACnB,IAAI;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC;YACxC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC;YACpC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC;YAClC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;SAClC,CAAC;QAEF,yBAAyB;QACzB,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,GAAG,KAAK;gBACR,GAAG,WAAW,CAAC,IAAI,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,GAAG,OAAO,EACd,WAAW,GAAG,EAAE,MAId,EAAE;IACJ,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7D,MAAM,KAAK,GAAU;QACnB,IAAI;QACJ,GAAG,MAAM;QACT,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC;QACnC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC;QACpC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC;QAClC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;KAC7B,CAAC;IAEF,yBAAyB;IACzB,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,KAAK;YACR,GAAG,WAAW,CAAC,IAAI,CAAC;SACrB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","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\nconst LIGHT_COLORS = {\n primary: {\n 0: '#FFF7E6',\n 5: '#FCEDD0',\n 10: '#F9DAA3', // p-lighter\n 20: '#F5BF64', // p-light\n 30: '#fca54c',\n 40: '#ff9225',\n 50: '#FF9F06', // p-main\n 60: '#DD9434', // p-dark\n 70: '#AC7326', // p-darker\n 80: '#c46500',\n 90: '#995400',\n 100: '#663800',\n lighter: '#F9DAA3',\n light: '#F5BF64',\n main: '#FF9F06',\n dark: '#DD9434',\n darker: '#AC7326',\n },\n secondary: {\n 0: '#E6F7FF',\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 0: '#FFF5F7',\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 0: '#FFFBF2',\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 0: '#F5FBF6',\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 0: '#F3F8FF',\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 0: '#FFFFFF',\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 0: '#000000',\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: LIGHT_COLORS.grey[0],\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: DARK_COLORS.grey[0],\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: colors.grey[0],\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: colors.grey[0],\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"]}
@@ -32,15 +32,6 @@ export interface ThemeTextType {
32
32
  white: string;
33
33
  black: string;
34
34
  }
35
- export interface ThemeBorderType {
36
- box: string;
37
- active: string;
38
- base: string;
39
- danger: string;
40
- warning: string;
41
- success: string;
42
- information: string;
43
- }
44
35
  export interface ThemeBackground {
45
36
  primary: string;
46
37
  layer1: string;
@@ -71,14 +62,7 @@ export interface Theme {
71
62
  information: ColorPalette;
72
63
  grey: ColorPalette;
73
64
  text: ThemeTextType;
74
- border: ThemeBorderType;
75
65
  background: ThemeBackground;
76
- action: {
77
- hover: string;
78
- pressed: string;
79
- disable: string;
80
- };
81
- divider: string;
82
66
  elevationShadow: string[];
83
67
  modalBgColor: string;
84
68
  mainColor: MainColors;
@@ -123,4 +107,13 @@ export type ViewColor = 'layer1' | 'layer2' | 'neutral' | 'base' | 'danger' | 'w
123
107
  export type TypoColorOptions = 'base' | 'secondary' | 'disabled' | 'white' | 'black' | CommonColorOptions;
124
108
  export type SubColorOptions = undefined | '0' | '5' | '10' | '20' | '30' | '40' | '50' | '60' | '70' | '80' | '90' | '100';
125
109
  export type ViewColorOptions = 'layer1' | 'layer2' | 'neutral' | 'base' | CommonColorOptions;
110
+ export type ShadowLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
111
+ export interface ShadowStyle {
112
+ shadowOffset: {
113
+ width: number;
114
+ height: number;
115
+ };
116
+ shadowOpacity: number;
117
+ shadowRadius: number;
118
+ }
126
119
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAqGC,CAAC;AAYD,CAAC;AAaD,CAAC","sourcesContent":["import { TextProps } from \"react-native\";\n\nexport type ColorPalette = {\n 0: string;\n 5: string;\n 10: string; // p-lighter\n 20: string; // p-light\n 30: string;\n 40: string;\n 50: string; // p-main\n 60: string; // p-dark\n 70: string; // p-darker\n 80: string;\n 90: string;\n 100: string;\n main: string;\n};\n\nexport type ColorPaletteExtend = ColorPalette & {\n lighter: string;\n light: string;\n dark: string;\n darker: string;\n};\n\nexport interface ThemeTextType {\n base: string;\n primary: string;\n secondary: string;\n disabled: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n white: string;\n black: string;\n}\n\nexport interface ThemeBorderType {\n box: string;\n active: string;\n base: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n}\n\nexport interface ThemeBackground {\n primary: string;\n layer1: string;\n layer2: string;\n neutral: string;\n base: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n}\n\nexport interface MainColors {\n primary: string;\n secondary: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n grey: string;\n}\n\nexport interface Theme {\n mode: 'light' | 'dark';\n primary: ColorPaletteExtend;\n secondary: ColorPalette;\n danger: ColorPalette;\n warning: ColorPalette;\n success: ColorPalette;\n information: ColorPalette;\n grey: ColorPalette;\n text: ThemeTextType;\n border: ThemeBorderType;\n background: ThemeBackground;\n action: {\n hover: string;\n pressed: string;\n disable: string;\n };\n divider: string;\n elevationShadow: string[];\n modalBgColor: string;\n mainColor: MainColors;\n}\n\nexport interface TypographyVariants {\n themeFonts?: ThemeFonts;\n heading: TypoNumber;\n label: TypoNumber;\n title: TypoNumber;\n subTitle: TypoNumber;\n body: TypoNumber;\n caption: TypoNumber;\n};\n\nexport interface ThemeFonts {\n 100?: string;\n 200?: string;\n 300?: string;\n 400: string;\n 500?: string;\n 600?: string;\n 700: string;\n 800?: string;\n 900?: string;\n};\n\nexport interface TypoNumber {\n '1': TextProps['style'];\n '2': TextProps['style'];\n '3': TextProps['style'];\n '4': TextProps['style'];\n '5': TextProps['style'];\n '6': TextProps['style'];\n}\n\nexport interface TypographyVariantsProps extends TypographyVariants {\n themeFonts?: ThemeFonts;\n};\n\nexport type TypoStyle = 'heading' | 'title' | 'subTitle' | 'label' | 'body' | 'caption';\n\nexport type TypoOptions =\n 'heading.1' |\n 'heading.2' |\n 'heading.3' |\n 'heading.4' |\n 'heading.5' |\n 'heading.6' |\n 'title.1' |\n 'title.2' |\n 'title.3' |\n 'title.4' |\n 'title.5' |\n 'title.6' |\n 'subTitle.1' |\n 'subTitle.2' |\n 'subTitle.3' |\n 'subTitle.4' |\n 'subTitle.5' |\n 'subTitle.6' |\n 'body.1' |\n 'body.2' |\n 'body.3' |\n 'body.4' |\n 'body.5' |\n 'body.6' |\n 'label.1' |\n 'label.2' |\n 'label.3' |\n 'label.4' |\n 'label.5' |\n 'label.6' |\n 'caption.1' |\n 'caption.2' |\n 'caption.3' |\n 'caption.4' |\n 'caption.5' |\n 'caption.6';\n\nexport type CommonColorOptions = 'danger' | 'danger.5' | 'danger.10' | 'danger.20' | 'danger.30' | 'danger.40' | 'danger.50' | 'danger.60' | 'danger.70' | 'danger.80' | 'danger.90' | 'danger.100'\n| 'warning' | 'warning.5' | 'warning.10' | 'warning.20' | 'warning.30' | 'warning.40' | 'warning.50' | 'warning.60' | 'warning.70' | 'warning.80' | 'warning.90' | 'warning.100'\n| 'success' | 'success.5' | 'success.10' | 'success.20' | 'success.30' | 'success.40' | 'success.50' | 'success.60' | 'success.70' | 'success.80' | 'success.90' | 'success.100'\n| 'information' | 'information.5' | 'information.10' | 'information.20' | 'information.30' | 'information.40' | 'information.50' | 'information.60' | 'information.70' | 'information.80' | 'information.90' | 'information.100'\n| 'primary' | 'primary.5' | 'primary.10' | 'primary.20' | 'primary.30' | 'primary.40' | 'primary.50' | 'primary.60' | 'primary.70' | 'primary.80' | 'primary.90' | 'primary.100'\n| 'grey.5' | 'grey.10' | 'grey.20' | 'grey.30' | 'grey.40' | 'grey.50' | 'grey.60' | 'grey.70' | 'grey.80' | 'grey.90' | 'grey.100';\n\nexport type TypoSubStyle = '1' | '2' | '3' | '4' | '5' | '6';\n\nexport type TypoColor = 'primary' | 'secondary' | 'disabled' | 'danger' | 'warning' | 'success' | 'information' | 'white' | 'black';\n\nexport type ViewColor = 'layer1' | 'layer2' | 'neutral' | 'base' | 'danger' | 'warning' | 'success' | 'information';\n\nexport type TypoColorOptions = 'base' | 'secondary' | 'disabled' | 'white' | 'black' | CommonColorOptions;\n\nexport type SubColorOptions = undefined | '0' | '5' | '10' | '20' | '30' | '40' | '50' | '60' | '70' | '80' | '90' | '100';\n\nexport type ViewColorOptions = 'layer1' | 'layer2' | 'neutral' | 'base' | CommonColorOptions;"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAoFC,CAAC;AAYD,CAAC;AAaD,CAAC","sourcesContent":["import { TextProps } from \"react-native\";\n\nexport type ColorPalette = {\n 0: string;\n 5: string;\n 10: string; // p-lighter\n 20: string; // p-light\n 30: string;\n 40: string;\n 50: string; // p-main\n 60: string; // p-dark\n 70: string; // p-darker\n 80: string;\n 90: string;\n 100: string;\n main: string;\n};\n\nexport type ColorPaletteExtend = ColorPalette & {\n lighter: string;\n light: string;\n dark: string;\n darker: string;\n};\n\nexport interface ThemeTextType {\n base: string;\n primary: string;\n secondary: string;\n disabled: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n white: string;\n black: string;\n}\n\nexport interface ThemeBackground {\n primary: string;\n layer1: string;\n layer2: string;\n neutral: string;\n base: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n}\n\nexport interface MainColors {\n primary: string;\n secondary: string;\n danger: string;\n warning: string;\n success: string;\n information: string;\n grey: string;\n}\n\nexport interface Theme {\n mode: 'light' | 'dark';\n primary: ColorPaletteExtend;\n secondary: ColorPalette;\n danger: ColorPalette;\n warning: ColorPalette;\n success: ColorPalette;\n information: ColorPalette;\n grey: ColorPalette;\n text: ThemeTextType;\n background: ThemeBackground;\n elevationShadow: string[];\n modalBgColor: string;\n mainColor: MainColors;\n}\n\nexport interface TypographyVariants {\n themeFonts?: ThemeFonts;\n heading: TypoNumber;\n label: TypoNumber;\n title: TypoNumber;\n subTitle: TypoNumber;\n body: TypoNumber;\n caption: TypoNumber;\n};\n\nexport interface ThemeFonts {\n 100?: string;\n 200?: string;\n 300?: string;\n 400: string;\n 500?: string;\n 600?: string;\n 700: string;\n 800?: string;\n 900?: string;\n};\n\nexport interface TypoNumber {\n '1': TextProps['style'];\n '2': TextProps['style'];\n '3': TextProps['style'];\n '4': TextProps['style'];\n '5': TextProps['style'];\n '6': TextProps['style'];\n}\n\nexport interface TypographyVariantsProps extends TypographyVariants {\n themeFonts?: ThemeFonts;\n};\n\nexport type TypoStyle = 'heading' | 'title' | 'subTitle' | 'label' | 'body' | 'caption';\n\nexport type TypoOptions =\n 'heading.1' |\n 'heading.2' |\n 'heading.3' |\n 'heading.4' |\n 'heading.5' |\n 'heading.6' |\n 'title.1' |\n 'title.2' |\n 'title.3' |\n 'title.4' |\n 'title.5' |\n 'title.6' |\n 'subTitle.1' |\n 'subTitle.2' |\n 'subTitle.3' |\n 'subTitle.4' |\n 'subTitle.5' |\n 'subTitle.6' |\n 'body.1' |\n 'body.2' |\n 'body.3' |\n 'body.4' |\n 'body.5' |\n 'body.6' |\n 'label.1' |\n 'label.2' |\n 'label.3' |\n 'label.4' |\n 'label.5' |\n 'label.6' |\n 'caption.1' |\n 'caption.2' |\n 'caption.3' |\n 'caption.4' |\n 'caption.5' |\n 'caption.6';\n\nexport type CommonColorOptions = 'danger' | 'danger.5' | 'danger.10' | 'danger.20' | 'danger.30' | 'danger.40' | 'danger.50' | 'danger.60' | 'danger.70' | 'danger.80' | 'danger.90' | 'danger.100'\n| 'warning' | 'warning.5' | 'warning.10' | 'warning.20' | 'warning.30' | 'warning.40' | 'warning.50' | 'warning.60' | 'warning.70' | 'warning.80' | 'warning.90' | 'warning.100'\n| 'success' | 'success.5' | 'success.10' | 'success.20' | 'success.30' | 'success.40' | 'success.50' | 'success.60' | 'success.70' | 'success.80' | 'success.90' | 'success.100'\n| 'information' | 'information.5' | 'information.10' | 'information.20' | 'information.30' | 'information.40' | 'information.50' | 'information.60' | 'information.70' | 'information.80' | 'information.90' | 'information.100'\n| 'primary' | 'primary.5' | 'primary.10' | 'primary.20' | 'primary.30' | 'primary.40' | 'primary.50' | 'primary.60' | 'primary.70' | 'primary.80' | 'primary.90' | 'primary.100'\n| 'grey.5' | 'grey.10' | 'grey.20' | 'grey.30' | 'grey.40' | 'grey.50' | 'grey.60' | 'grey.70' | 'grey.80' | 'grey.90' | 'grey.100';\n\nexport type TypoSubStyle = '1' | '2' | '3' | '4' | '5' | '6';\n\nexport type TypoColor = 'primary' | 'secondary' | 'disabled' | 'danger' | 'warning' | 'success' | 'information' | 'white' | 'black';\n\nexport type ViewColor = 'layer1' | 'layer2' | 'neutral' | 'base' | 'danger' | 'warning' | 'success' | 'information';\n\nexport type TypoColorOptions = 'base' | 'secondary' | 'disabled' | 'white' | 'black' | CommonColorOptions;\n\nexport type SubColorOptions = undefined | '0' | '5' | '10' | '20' | '30' | '40' | '50' | '60' | '70' | '80' | '90' | '100';\n\nexport type ViewColorOptions = 'layer1' | 'layer2' | 'neutral' | 'base' | CommonColorOptions;\n\nexport type ShadowLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;\n\nexport interface ShadowStyle {\n shadowOffset: { width: number; height: number };\n shadowOpacity: number;\n shadowRadius: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSContainer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAsF,MAAM,OAAO,CAAC;AAC7H,OAAO,EAAE,SAAS,EAAyB,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAQ,MAAM,cAAc,CAAC;AAgB3H,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,QAAA,MAAM,WAAW;sBApBG,MAAM;qBACP,MAAM;eACZ,eAAe,GAAG,cAAc;YACnC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;yBAC7B,OAAO;mBACb,SAAS;sBACN,SAAS;qBACV,SAAS;mCACK,OAAO;gCACV,MAAM;kBACpB,OAAO;eACV,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI;0BAC7C,MAAM;2BACL,OAAO;2BACP,OAAO;2BACP,SAAS;oCAwNhC,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAIjB,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSContainer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAsF,MAAM,OAAO,CAAC;AAC7H,OAAO,EAAE,SAAS,EAAyB,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAoB,MAAM,cAAc,CAAC;AAiBvI,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,QAAA,MAAM,WAAW;sBApBG,MAAM;qBACP,MAAM;eACZ,eAAe,GAAG,cAAc;YACnC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;yBAC7B,OAAO;mBACb,SAAS;sBACN,SAAS;qBACV,SAAS;mCACK,OAAO;gCACV,MAAM;kBACpB,OAAO;eACV,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI;0BAC7C,MAAM;2BACL,OAAO;2BACP,OAAO;2BACP,SAAS;oCAwNhC,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAIjB,CAAC;AAEH,eAAe,WAAW,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import React, { useEffect, useImperativeHandle, forwardRef, useRef, useState, useCallback, useMemo } from 'react';
2
- import { StatusBar, StyleSheet, ScrollView, View } from 'react-native';
2
+ import { StatusBar, StyleSheet, ScrollView, View, Dimensions } from 'react-native';
3
3
  import { SafeAreaView } from 'react-native-safe-area-context';
4
- import { useTheme } from '../../model/useThemeProvider';
4
+ import { useTheme } from '../../context/ThemeContext';
5
5
  import useKeyboard from '../../model/useKeyboard';
6
6
  import useFoldingState from '../../model/useFoldingState';
7
7
  import { FoldingState } from '../../model/types';
8
8
  import { MAX_FOLDABLE_SINGLE_WIDTH } from '../../model/utils';
9
+ const windowHeight = Dimensions.get('window').height;
9
10
  const KEYBOARD_ANIMATION_DELAY = 50;
10
11
  const SCROLL_VIEW_OPTIONS = {
11
12
  bounces: false,
@@ -18,7 +19,7 @@ const ZSContainer = forwardRef(function ZSContainer({ backgroundColor, statusBar
18
19
  foldableSingleScreen, dividerLineComponent, rightComponent,
19
20
  // ---
20
21
  ...props }, forwardedRef) {
21
- const { palette, dimensions: { height: windowHeight } } = useTheme();
22
+ const { palette } = useTheme();
22
23
  const { foldingState, width } = useFoldingState();
23
24
  const positionRef = useRef(0);
24
25
  const position2Ref = useRef(0);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSContainer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { ReactNode, useEffect, useImperativeHandle, forwardRef, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { ViewProps, StatusBar, StyleSheet, ScrollView, NativeSyntheticEvent, NativeScrollEvent, View } from 'react-native';\r\nimport { SafeAreaView } from 'react-native-safe-area-context';\r\nimport { useTheme } from '../../model/useThemeProvider';\r\nimport useKeyboard from '../../model/useKeyboard';\r\nimport useFoldingState from '../../model/useFoldingState';\r\nimport { FoldingState } from '../../model/types';\r\nimport { MAX_FOLDABLE_SINGLE_WIDTH } from '../../model/utils';\r\n\r\nconst KEYBOARD_ANIMATION_DELAY = 50;\r\nconst SCROLL_VIEW_OPTIONS = {\r\n bounces: false,\r\n overScrollMode: \"never\" as const,\r\n keyboardShouldPersistTaps: \"handled\" as const,\r\n automaticallyAdjustKeyboardInsets: false\r\n}\r\n\r\nexport type ZSContainerProps = ViewProps & {\r\n backgroundColor?: string;\r\n statusBarColor?: string;\r\n barStyle?: 'light-content' | 'dark-content';\r\n edges?: Array<'top' | 'right' | 'bottom' | 'left'>;\r\n scrollViewDisabled?: boolean;\r\n topComponent?: ReactNode;\r\n bottomComponent?: ReactNode;\r\n rightComponent?: ReactNode;\r\n showsVerticalScrollIndicator?: boolean;\r\n keyboardScrollExtraOffset?: number;\r\n translucent?: boolean;\r\n onScroll?: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;\r\n scrollEventThrottle?: number;\r\n scrollToFocusedInput?: boolean;\r\n foldableSingleScreen?: boolean;\r\n dividerLineComponent?: ReactNode;\r\n};\r\n\r\nexport type ZSContainerRef = ScrollView;\r\n\r\nconst ZSContainer = forwardRef<ZSContainerRef, ZSContainerProps>(function ZSContainer(\r\n {\r\n backgroundColor,\r\n statusBarColor,\r\n barStyle,\r\n edges = ['top', 'bottom'],\r\n scrollViewDisabled = false,\r\n topComponent,\r\n bottomComponent,\r\n showsVerticalScrollIndicator = true,\r\n keyboardScrollExtraOffset = 30,\r\n translucent,\r\n scrollEventThrottle = 16,\r\n scrollToFocusedInput = true,\r\n // foldable device\r\n foldableSingleScreen,\r\n dividerLineComponent,\r\n rightComponent,\r\n // ---\r\n ...props\r\n },\r\n forwardedRef\r\n) {\r\n const { palette, dimensions: { height: windowHeight } } = useTheme();\r\n const { foldingState, width } = useFoldingState();\r\n const positionRef = useRef<number | null>(0);\r\n const position2Ref = useRef<number | null>(0);\r\n const scrollViewRef = useRef<ScrollView>(null);\r\n const scrollView2Ref = useRef<ScrollView>(null);\r\n const touchPositionRef = useRef<number | null>(0);\r\n const lastTouchY = useRef<number | null>(0);\r\n const [keyboardHeight, setKeyboardHeight] = useState<number | null>(0);\r\n const scrollTimeoutRef = useRef<number | null>(null);\r\n\r\n useImperativeHandle(forwardedRef, () => scrollViewRef.current as ScrollView, [scrollViewDisabled]);\r\n\r\n const handleKeyboardShow = (e: any) => {\r\n setKeyboardHeight(e.endCoordinates.height);\r\n\r\n if ((scrollViewRef.current || scrollView2Ref.current) && scrollToFocusedInput) {\r\n const keyboardHeight = e.endCoordinates.height;\r\n const safeAreaBottom = 0;\r\n const availableScreenHeight = windowHeight - keyboardHeight - safeAreaBottom;\r\n\r\n // 현재 스크롤 위치 참조\r\n const currentScrollPosition = touchPositionRef.current === 1\r\n ? positionRef.current || 0\r\n : position2Ref.current || 0;\r\n\r\n const touchPosition = lastTouchY.current || 0;\r\n\r\n // 현재 터치 위치와 스크롤 위치를 기반으로 새로운 스크롤 위치 계산\r\n const scrollOffset = touchPosition - availableScreenHeight + keyboardScrollExtraOffset;\r\n\r\n if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);\r\n scrollTimeoutRef.current = setTimeout(() => {\r\n if (touchPositionRef.current === 1) {\r\n scrollViewRef.current?.scrollTo({\r\n y: currentScrollPosition + scrollOffset,\r\n animated: true,\r\n });\r\n } else {\r\n scrollView2Ref.current?.scrollTo({\r\n y: currentScrollPosition + scrollOffset,\r\n animated: true,\r\n });\r\n }\r\n scrollTimeoutRef.current = null;\r\n }, KEYBOARD_ANIMATION_DELAY);\r\n }\r\n };\r\n\r\n const handleKeyboardHide = () => {\r\n setKeyboardHeight(0);\r\n };\r\n\r\n useKeyboard({\r\n handleKeyboardShow,\r\n handleKeyboardHide,\r\n });\r\n\r\n // 클린업\r\n useEffect(() => {\r\n return () => {\r\n positionRef.current = null;\r\n lastTouchY.current = null;\r\n if (scrollTimeoutRef.current) {\r\n clearTimeout(scrollTimeoutRef.current);\r\n scrollTimeoutRef.current = null;\r\n }\r\n };\r\n }, []);\r\n \r\n // 에러 로그 출력\r\n useEffect(() => {\r\n if (foldableSingleScreen && (rightComponent || dividerLineComponent)) {\r\n console.error('[ZSContainer] foldableSingleScreen일 때는 rightComponent/dividerLineComponent를 사용할 수 없습니다.');\r\n }\r\n }, [foldableSingleScreen, rightComponent, dividerLineComponent]);\r\n\r\n const handleScroll = useCallback((event: NativeSyntheticEvent<NativeScrollEvent>, position: 1 | 2) => {\r\n if (props.onScroll) props.onScroll(event);\r\n\r\n if (position === 1) {\r\n positionRef.current = event.nativeEvent.contentOffset.y;\r\n } else {\r\n position2Ref.current = event.nativeEvent.contentOffset.y;\r\n }\r\n }, [props.onScroll]);\r\n\r\n const handleTouch = useCallback((evt: any, position: 1 | 2) => {\r\n lastTouchY.current = evt.nativeEvent.pageY;\r\n touchPositionRef.current = position;\r\n }, []);\r\n\r\n const safeAreaStyle = useMemo(() => [\r\n { backgroundColor: backgroundColor || palette.background.base },\r\n styles.w100\r\n ], [backgroundColor, palette.background.base]);\r\n\r\n const scrollContentStyle = useMemo(() => [\r\n styles.scrollContainerStyle,\r\n {\r\n paddingBottom: keyboardHeight ? keyboardHeight : 0\r\n }\r\n ], [keyboardHeight]);\r\n\r\n const containerStyle = useMemo(() => [\r\n styles.w100,\r\n props.style\r\n ], [props.style]);\r\n\r\n const shouldShowStatusBar = useMemo(() =>\r\n Boolean(barStyle || statusBarColor || translucent),\r\n [barStyle, statusBarColor, translucent]\r\n );\r\n\r\n return (\r\n <SafeAreaView\r\n style={safeAreaStyle}\r\n edges={edges}\r\n >\r\n <View style={[styles.w100, { backgroundColor: \"#00000009\" }]}>\r\n <View style={[styles.w100, { maxWidth: foldableSingleScreen ? Math.min(width, MAX_FOLDABLE_SINGLE_WIDTH) : '100%', alignSelf: 'center', backgroundColor: palette.background.base }]}>\r\n {topComponent}\r\n <View style={[styles.w100, { flexDirection: 'row' }]}>\r\n <View style={styles.flex1}>\r\n {scrollViewDisabled ? (\r\n <View style={[styles.flex1, containerStyle]}>\r\n {props.children}\r\n </View>\r\n ) : (\r\n <ScrollView\r\n ref={scrollViewRef}\r\n style={styles.w100}\r\n showsVerticalScrollIndicator={showsVerticalScrollIndicator}\r\n contentContainerStyle={scrollContentStyle}\r\n scrollEventThrottle={scrollEventThrottle}\r\n onScroll={(event) => { handleScroll(event, 1); }}\r\n onTouchStart={(evt) => handleTouch(evt, 1)}\r\n // ---\r\n {...SCROLL_VIEW_OPTIONS}\r\n >\r\n <View style={[styles.flex1, containerStyle]}>\r\n {props.children}\r\n </View>\r\n </ScrollView>\r\n )}\r\n </View>\r\n {foldingState === FoldingState.UNFOLDED && !foldableSingleScreen && rightComponent && dividerLineComponent && dividerLineComponent}\r\n {\r\n foldingState === FoldingState.UNFOLDED && !foldableSingleScreen && rightComponent && (\r\n <View style={styles.flex1}>\r\n {scrollViewDisabled ? (\r\n <View style={[styles.flex1, containerStyle]}>\r\n {rightComponent}\r\n </View>\r\n ) : (\r\n <ScrollView\r\n ref={scrollView2Ref}\r\n style={styles.w100}\r\n showsVerticalScrollIndicator={showsVerticalScrollIndicator}\r\n contentContainerStyle={scrollContentStyle}\r\n scrollEventThrottle={scrollEventThrottle}\r\n onScroll={(event) => { handleScroll(event, 2); }}\r\n onTouchStart={(evt) => handleTouch(evt, 2)}\r\n // ---\r\n {...SCROLL_VIEW_OPTIONS}\r\n >\r\n <View style={[styles.flex1, containerStyle]}>\r\n {rightComponent}\r\n </View>\r\n </ScrollView>\r\n )}\r\n </View>\r\n )\r\n }\r\n </View >\r\n {bottomComponent}\r\n </View>\r\n </View>\r\n\r\n {shouldShowStatusBar && (\r\n <StatusBar\r\n barStyle={barStyle}\r\n backgroundColor={statusBarColor || palette.background.base}\r\n translucent={translucent}\r\n />\r\n )}\r\n </SafeAreaView>\r\n );\r\n});\r\n\r\nexport const styles = StyleSheet.create({\r\n flex1: { flex: 1 },\r\n w100: { flex: 1, width: '100%' },\r\n scrollContainerStyle: { alignItems: 'center', width: '100%', flexGrow: 1 },\r\n});\r\n\r\nexport default ZSContainer;\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSContainer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { ReactNode, useEffect, useImperativeHandle, forwardRef, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { ViewProps, StatusBar, StyleSheet, ScrollView, NativeSyntheticEvent, NativeScrollEvent, View, Dimensions } from 'react-native';\r\nimport { SafeAreaView } from 'react-native-safe-area-context';\r\nimport { useTheme } from '../../context/ThemeContext';\r\nimport useKeyboard from '../../model/useKeyboard';\r\nimport useFoldingState from '../../model/useFoldingState';\r\nimport { FoldingState } from '../../model/types';\r\nimport { MAX_FOLDABLE_SINGLE_WIDTH } from '../../model/utils';\r\n\r\nconst windowHeight = Dimensions.get('window').height;\r\nconst KEYBOARD_ANIMATION_DELAY = 50;\r\nconst SCROLL_VIEW_OPTIONS = {\r\n bounces: false,\r\n overScrollMode: \"never\" as const,\r\n keyboardShouldPersistTaps: \"handled\" as const,\r\n automaticallyAdjustKeyboardInsets: false\r\n}\r\n\r\nexport type ZSContainerProps = ViewProps & {\r\n backgroundColor?: string;\r\n statusBarColor?: string;\r\n barStyle?: 'light-content' | 'dark-content';\r\n edges?: Array<'top' | 'right' | 'bottom' | 'left'>;\r\n scrollViewDisabled?: boolean;\r\n topComponent?: ReactNode;\r\n bottomComponent?: ReactNode;\r\n rightComponent?: ReactNode;\r\n showsVerticalScrollIndicator?: boolean;\r\n keyboardScrollExtraOffset?: number;\r\n translucent?: boolean;\r\n onScroll?: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;\r\n scrollEventThrottle?: number;\r\n scrollToFocusedInput?: boolean;\r\n foldableSingleScreen?: boolean;\r\n dividerLineComponent?: ReactNode;\r\n};\r\n\r\nexport type ZSContainerRef = ScrollView;\r\n\r\nconst ZSContainer = forwardRef<ZSContainerRef, ZSContainerProps>(function ZSContainer(\r\n {\r\n backgroundColor,\r\n statusBarColor,\r\n barStyle,\r\n edges = ['top', 'bottom'],\r\n scrollViewDisabled = false,\r\n topComponent,\r\n bottomComponent,\r\n showsVerticalScrollIndicator = true,\r\n keyboardScrollExtraOffset = 30,\r\n translucent,\r\n scrollEventThrottle = 16,\r\n scrollToFocusedInput = true,\r\n // foldable device\r\n foldableSingleScreen,\r\n dividerLineComponent,\r\n rightComponent,\r\n // ---\r\n ...props\r\n },\r\n forwardedRef\r\n) {\r\n const { palette } = useTheme();\r\n const { foldingState, width } = useFoldingState();\r\n const positionRef = useRef<number | null>(0);\r\n const position2Ref = useRef<number | null>(0);\r\n const scrollViewRef = useRef<ScrollView>(null);\r\n const scrollView2Ref = useRef<ScrollView>(null);\r\n const touchPositionRef = useRef<number | null>(0);\r\n const lastTouchY = useRef<number | null>(0);\r\n const [keyboardHeight, setKeyboardHeight] = useState<number | null>(0);\r\n const scrollTimeoutRef = useRef<number | null>(null);\r\n\r\n useImperativeHandle(forwardedRef, () => scrollViewRef.current as ScrollView, [scrollViewDisabled]);\r\n\r\n const handleKeyboardShow = (e: any) => {\r\n setKeyboardHeight(e.endCoordinates.height);\r\n\r\n if ((scrollViewRef.current || scrollView2Ref.current) && scrollToFocusedInput) {\r\n const keyboardHeight = e.endCoordinates.height;\r\n const safeAreaBottom = 0;\r\n const availableScreenHeight = windowHeight - keyboardHeight - safeAreaBottom;\r\n\r\n // 현재 스크롤 위치 참조\r\n const currentScrollPosition = touchPositionRef.current === 1\r\n ? positionRef.current || 0\r\n : position2Ref.current || 0;\r\n\r\n const touchPosition = lastTouchY.current || 0;\r\n\r\n // 현재 터치 위치와 스크롤 위치를 기반으로 새로운 스크롤 위치 계산\r\n const scrollOffset = touchPosition - availableScreenHeight + keyboardScrollExtraOffset;\r\n\r\n if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);\r\n scrollTimeoutRef.current = setTimeout(() => {\r\n if (touchPositionRef.current === 1) {\r\n scrollViewRef.current?.scrollTo({\r\n y: currentScrollPosition + scrollOffset,\r\n animated: true,\r\n });\r\n } else {\r\n scrollView2Ref.current?.scrollTo({\r\n y: currentScrollPosition + scrollOffset,\r\n animated: true,\r\n });\r\n }\r\n scrollTimeoutRef.current = null;\r\n }, KEYBOARD_ANIMATION_DELAY);\r\n }\r\n };\r\n\r\n const handleKeyboardHide = () => {\r\n setKeyboardHeight(0);\r\n };\r\n\r\n useKeyboard({\r\n handleKeyboardShow,\r\n handleKeyboardHide,\r\n });\r\n\r\n // 클린업\r\n useEffect(() => {\r\n return () => {\r\n positionRef.current = null;\r\n lastTouchY.current = null;\r\n if (scrollTimeoutRef.current) {\r\n clearTimeout(scrollTimeoutRef.current);\r\n scrollTimeoutRef.current = null;\r\n }\r\n };\r\n }, []);\r\n \r\n // 에러 로그 출력\r\n useEffect(() => {\r\n if (foldableSingleScreen && (rightComponent || dividerLineComponent)) {\r\n console.error('[ZSContainer] foldableSingleScreen일 때는 rightComponent/dividerLineComponent를 사용할 수 없습니다.');\r\n }\r\n }, [foldableSingleScreen, rightComponent, dividerLineComponent]);\r\n\r\n const handleScroll = useCallback((event: NativeSyntheticEvent<NativeScrollEvent>, position: 1 | 2) => {\r\n if (props.onScroll) props.onScroll(event);\r\n\r\n if (position === 1) {\r\n positionRef.current = event.nativeEvent.contentOffset.y;\r\n } else {\r\n position2Ref.current = event.nativeEvent.contentOffset.y;\r\n }\r\n }, [props.onScroll]);\r\n\r\n const handleTouch = useCallback((evt: any, position: 1 | 2) => {\r\n lastTouchY.current = evt.nativeEvent.pageY;\r\n touchPositionRef.current = position;\r\n }, []);\r\n\r\n const safeAreaStyle = useMemo(() => [\r\n { backgroundColor: backgroundColor || palette.background.base },\r\n styles.w100\r\n ], [backgroundColor, palette.background.base]);\r\n\r\n const scrollContentStyle = useMemo(() => [\r\n styles.scrollContainerStyle,\r\n {\r\n paddingBottom: keyboardHeight ? keyboardHeight : 0\r\n }\r\n ], [keyboardHeight]);\r\n\r\n const containerStyle = useMemo(() => [\r\n styles.w100,\r\n props.style\r\n ], [props.style]);\r\n\r\n const shouldShowStatusBar = useMemo(() =>\r\n Boolean(barStyle || statusBarColor || translucent),\r\n [barStyle, statusBarColor, translucent]\r\n );\r\n\r\n return (\r\n <SafeAreaView\r\n style={safeAreaStyle}\r\n edges={edges}\r\n >\r\n <View style={[styles.w100, { backgroundColor: \"#00000009\" }]}>\r\n <View style={[styles.w100, { maxWidth: foldableSingleScreen ? Math.min(width, MAX_FOLDABLE_SINGLE_WIDTH) : '100%', alignSelf: 'center', backgroundColor: palette.background.base }]}>\r\n {topComponent}\r\n <View style={[styles.w100, { flexDirection: 'row' }]}>\r\n <View style={styles.flex1}>\r\n {scrollViewDisabled ? (\r\n <View style={[styles.flex1, containerStyle]}>\r\n {props.children}\r\n </View>\r\n ) : (\r\n <ScrollView\r\n ref={scrollViewRef}\r\n style={styles.w100}\r\n showsVerticalScrollIndicator={showsVerticalScrollIndicator}\r\n contentContainerStyle={scrollContentStyle}\r\n scrollEventThrottle={scrollEventThrottle}\r\n onScroll={(event) => { handleScroll(event, 1); }}\r\n onTouchStart={(evt) => handleTouch(evt, 1)}\r\n // ---\r\n {...SCROLL_VIEW_OPTIONS}\r\n >\r\n <View style={[styles.flex1, containerStyle]}>\r\n {props.children}\r\n </View>\r\n </ScrollView>\r\n )}\r\n </View>\r\n {foldingState === FoldingState.UNFOLDED && !foldableSingleScreen && rightComponent && dividerLineComponent && dividerLineComponent}\r\n {\r\n foldingState === FoldingState.UNFOLDED && !foldableSingleScreen && rightComponent && (\r\n <View style={styles.flex1}>\r\n {scrollViewDisabled ? (\r\n <View style={[styles.flex1, containerStyle]}>\r\n {rightComponent}\r\n </View>\r\n ) : (\r\n <ScrollView\r\n ref={scrollView2Ref}\r\n style={styles.w100}\r\n showsVerticalScrollIndicator={showsVerticalScrollIndicator}\r\n contentContainerStyle={scrollContentStyle}\r\n scrollEventThrottle={scrollEventThrottle}\r\n onScroll={(event) => { handleScroll(event, 2); }}\r\n onTouchStart={(evt) => handleTouch(evt, 2)}\r\n // ---\r\n {...SCROLL_VIEW_OPTIONS}\r\n >\r\n <View style={[styles.flex1, containerStyle]}>\r\n {rightComponent}\r\n </View>\r\n </ScrollView>\r\n )}\r\n </View>\r\n )\r\n }\r\n </View >\r\n {bottomComponent}\r\n </View>\r\n </View>\r\n\r\n {shouldShowStatusBar && (\r\n <StatusBar\r\n barStyle={barStyle}\r\n backgroundColor={statusBarColor || palette.background.base}\r\n translucent={translucent}\r\n />\r\n )}\r\n </SafeAreaView>\r\n );\r\n});\r\n\r\nexport const styles = StyleSheet.create({\r\n flex1: { flex: 1 },\r\n w100: { flex: 1, width: '100%' },\r\n scrollContainerStyle: { alignItems: 'center', width: '100%', flexGrow: 1 },\r\n});\r\n\r\nexport default ZSContainer;\r\n"]}
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import { ViewProps } from "react-native";
3
- import type { ShadowLevel } from "../types";
4
- import { ViewColorOptions } from "../../theme/types";
3
+ import type { ShadowLevel, ViewColorOptions } from "../../theme/types";
5
4
  interface ZSPressableProps extends ViewProps {
6
5
  onPress?: (value?: any) => void;
7
6
  onLongPress?: (value?: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSPressable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAKrD,UAAU,gBAAiB,SAAQ,SAAS;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,iBAAS,WAAW,CAAC,EACnB,OAAO,EACP,WAAW,EACX,WAAkB,EAClB,sBAAmD,EACnD,6BAAkC,EAClC,cAAc,EACd,SAAiB,EACjB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,qBA4DlB;;AAED,wBAAuC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSPressable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAKvE,UAAU,gBAAiB,SAAQ,SAAS;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,iBAAS,WAAW,CAAC,EACnB,OAAO,EACP,WAAW,EACX,WAAkB,EAClB,sBAAmD,EACnD,6BAAkC,EAClC,cAAc,EACd,SAAiB,EACjB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,qBA4DlB;;AAED,wBAAuC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSPressable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAa,MAAM,cAAc,CAAC;AAC1D,OAAO,QAAQ,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAIvD,MAAM,gBAAgB,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAW,CAAC;AACpD,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,IAAI,CAAU,CAAC;AAaxC,SAAS,WAAW,CAAC,EACnB,OAAO,EACP,WAAW,EACX,WAAW,GAAG,IAAI,EAClB,sBAAsB,GAAG,0BAA0B,EACnD,6BAA6B,GAAG,EAAE,EAClC,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,KAAK,EACL,GAAG,KAAK,EACS;IACjB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE;QACzC,SAAS,CAAC;QACV,MAAM,KAAK,GAAG,WAAW,CACvB,aAAa,CAAC,KAAK,EACnB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,YAAY,EACZ,OAAO,CACR,CAAC;QACF,OAAO;YACL,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;SACvB,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAC5C,OAAO,OAAO;YACZ,CAAC,CAAC;gBACE,eAAe,EAAE,sBAAsB;gBACvC,YAAY,EAAE,6BAA6B;aAC5C;YACH,CAAC,CAAC;gBACE,eAAe,EAAE,aAAa;gBAC9B,YAAY,EAAE,6BAA6B;aAC5C,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAC1B;MAAA,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,aAAa,CAAC,CACzB,UAAU,CAAC,CAAC,cAAc,CAAC,CAC3B,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAElD;QAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACjC;UAAA,CAAC,eAAe,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAEnB;YAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;UAAA,EAAE,eAAe,CACnB;QAAA,EAAE,QAAQ,CAAC,IAAI,CACjB;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { Pressable, View, ViewProps } from \"react-native\";\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue, withTiming } from \"react-native-reanimated\";\nimport AnimatedWrapper from \"../atoms/AnimatedWrapper\";\nimport type { ShadowLevel } from \"../types\";\nimport { ViewColorOptions } from \"../../theme/types\";\n\nconst DEFAULT_DURATION = { duration: 100 } as const;\nconst SCALE_VALUES = [1, 0.96] as const;\n\ninterface ZSPressableProps extends ViewProps {\n onPress?: (value?: any) => void;\n onLongPress?: (value?: any) => void;\n pressedBackgroundColor?: string;\n pressedBackgroundBorderRadius?: number;\n isAnimation?: boolean;\n elevationLevel?: ShadowLevel;\n fullWidth?: boolean;\n color?: ViewColorOptions;\n}\n\nfunction ZSPressable({\n onPress,\n onLongPress,\n isAnimation = true,\n pressedBackgroundColor = 'rgba(180, 180, 180, 0.1)',\n pressedBackgroundBorderRadius = 16,\n elevationLevel,\n fullWidth = false,\n color,\n ...props\n}: ZSPressableProps) {\n const isButtonPress = useSharedValue(0);\n\n const boxAnimation = useAnimatedStyle(() => {\n 'worklet';\n const scale = interpolate(\n isButtonPress.value,\n [0, 1],\n SCALE_VALUES,\n 'clamp'\n );\n return {\n transform: [{ scale }],\n };\n }, []);\n \n const handlePressIn = () => {\n isButtonPress.value = withTiming(1, DEFAULT_DURATION);\n };\n \n const handlePressOut = () => {\n isButtonPress.value = withTiming(0, DEFAULT_DURATION);\n };\n\n const handlePressStyle = (pressed: boolean) => {\n return pressed \n ? {\n backgroundColor: pressedBackgroundColor,\n borderRadius: pressedBackgroundBorderRadius,\n }\n : {\n backgroundColor: 'transparent',\n borderRadius: pressedBackgroundBorderRadius,\n };\n };\n\n const containerStyle = fullWidth ? { width: '100%' as const } : undefined;\n\n return (\n <View style={containerStyle}>\n <Pressable\n onPress={onPress}\n onLongPress={onLongPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={({ pressed }) => handlePressStyle(pressed)}\n >\n <Animated.View style={boxAnimation}>\n <AnimatedWrapper\n color={color}\n isAnimation={isAnimation}\n elevationLevel={elevationLevel}\n style={props.style}\n >\n {props.children}\n </AnimatedWrapper>\n </Animated.View>\n </Pressable>\n </View>\n );\n}\n\nexport default React.memo(ZSPressable);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSPressable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAa,MAAM,cAAc,CAAC;AAC1D,OAAO,QAAQ,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAGvD,MAAM,gBAAgB,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAW,CAAC;AACpD,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,IAAI,CAAU,CAAC;AAaxC,SAAS,WAAW,CAAC,EACnB,OAAO,EACP,WAAW,EACX,WAAW,GAAG,IAAI,EAClB,sBAAsB,GAAG,0BAA0B,EACnD,6BAA6B,GAAG,EAAE,EAClC,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,KAAK,EACL,GAAG,KAAK,EACS;IACjB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE;QACzC,SAAS,CAAC;QACV,MAAM,KAAK,GAAG,WAAW,CACvB,aAAa,CAAC,KAAK,EACnB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,YAAY,EACZ,OAAO,CACR,CAAC;QACF,OAAO;YACL,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;SACvB,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAC5C,OAAO,OAAO;YACZ,CAAC,CAAC;gBACE,eAAe,EAAE,sBAAsB;gBACvC,YAAY,EAAE,6BAA6B;aAC5C;YACH,CAAC,CAAC;gBACE,eAAe,EAAE,aAAa;gBAC9B,YAAY,EAAE,6BAA6B;aAC5C,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAC1B;MAAA,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,aAAa,CAAC,CACzB,UAAU,CAAC,CAAC,cAAc,CAAC,CAC3B,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAElD;QAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACjC;UAAA,CAAC,eAAe,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAEnB;YAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;UAAA,EAAE,eAAe,CACnB;QAAA,EAAE,QAAQ,CAAC,IAAI,CACjB;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { Pressable, View, ViewProps } from \"react-native\";\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue, withTiming } from \"react-native-reanimated\";\nimport AnimatedWrapper from \"../atoms/AnimatedWrapper\";\nimport type { ShadowLevel, ViewColorOptions } from \"../../theme/types\";\n\nconst DEFAULT_DURATION = { duration: 100 } as const;\nconst SCALE_VALUES = [1, 0.96] as const;\n\ninterface ZSPressableProps extends ViewProps {\n onPress?: (value?: any) => void;\n onLongPress?: (value?: any) => void;\n pressedBackgroundColor?: string;\n pressedBackgroundBorderRadius?: number;\n isAnimation?: boolean;\n elevationLevel?: ShadowLevel;\n fullWidth?: boolean;\n color?: ViewColorOptions;\n}\n\nfunction ZSPressable({\n onPress,\n onLongPress,\n isAnimation = true,\n pressedBackgroundColor = 'rgba(180, 180, 180, 0.1)',\n pressedBackgroundBorderRadius = 16,\n elevationLevel,\n fullWidth = false,\n color,\n ...props\n}: ZSPressableProps) {\n const isButtonPress = useSharedValue(0);\n\n const boxAnimation = useAnimatedStyle(() => {\n 'worklet';\n const scale = interpolate(\n isButtonPress.value,\n [0, 1],\n SCALE_VALUES,\n 'clamp'\n );\n return {\n transform: [{ scale }],\n };\n }, []);\n \n const handlePressIn = () => {\n isButtonPress.value = withTiming(1, DEFAULT_DURATION);\n };\n \n const handlePressOut = () => {\n isButtonPress.value = withTiming(0, DEFAULT_DURATION);\n };\n\n const handlePressStyle = (pressed: boolean) => {\n return pressed \n ? {\n backgroundColor: pressedBackgroundColor,\n borderRadius: pressedBackgroundBorderRadius,\n }\n : {\n backgroundColor: 'transparent',\n borderRadius: pressedBackgroundBorderRadius,\n };\n };\n\n const containerStyle = fullWidth ? { width: '100%' as const } : undefined;\n\n return (\n <View style={containerStyle}>\n <Pressable\n onPress={onPress}\n onLongPress={onLongPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={({ pressed }) => handlePressStyle(pressed)}\n >\n <Animated.View style={boxAnimation}>\n <AnimatedWrapper\n color={color}\n isAnimation={isAnimation}\n elevationLevel={elevationLevel}\n style={props.style}\n >\n {props.children}\n </AnimatedWrapper>\n </Animated.View>\n </Pressable>\n </View>\n );\n}\n\nexport default React.memo(ZSPressable);\n"]}
@@ -2,7 +2,7 @@ import React, { useCallback, memo } from 'react';
2
2
  import ViewAtom from '../atoms/ViewAtom';
3
3
  import ZSText from '../ZSText';
4
4
  import ZSPressable from '../ZSPressable';
5
- import { useTheme } from '../../model/useThemeProvider';
5
+ import { useTheme } from '../../context/ThemeContext';
6
6
  import { SvgCheck } from '../../assets/SvgCheck';
7
7
  function ZSRadioGroup({ options, value, onSelect, containerStyle, valueStyle, disabled = false, selectStyle, rowCount = 1, }) {
8
8
  const { palette } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSRadioGroup/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, memo } from 'react';\nimport { ViewProps } from 'react-native';\nimport { RadioOption } from '../types';\nimport ViewAtom from '../atoms/ViewAtom';\nimport ZSText, { ZSTextProps } from '../ZSText';\nimport ZSPressable from '../ZSPressable';\nimport { useTheme } from '../../model/useThemeProvider';\nimport { SvgCheck } from '../../assets/SvgCheck';\n\nfunction ZSRadioGroup({\n options,\n value,\n onSelect,\n containerStyle,\n valueStyle,\n disabled = false,\n selectStyle,\n rowCount = 1,\n}: {\n options: RadioOption[];\n value?: RadioOption;\n onSelect: (value: RadioOption) => void;\n containerStyle?: ViewProps;\n valueStyle?: ZSTextProps;\n selectStyle?: ZSTextProps;\n disabled?: boolean;\n rowCount?: 1 | 2 | 3;\n}) {\n const { palette } = useTheme();\n const isFullWidth = rowCount === 1;\n\n const handleSelect = useCallback((option: RadioOption) => {\n if (!disabled) {\n onSelect(option);\n }\n }, [disabled, onSelect]);\n\n return (\n <ViewAtom\n style={{\n flexDirection: isFullWidth ? 'column' : 'row',\n flexWrap: isFullWidth ? 'nowrap' : 'wrap',\n width: '100%',\n }}\n {...containerStyle}\n >\n {options.map((option, index) => {\n const isSelected = value?.index === option.index;\n const setColor = isSelected ? palette.primary.light : palette.background.neutral;\n\n const colCount = rowCount;\n const isLastCol = (index + 1) % colCount === 0;\n const isLastRow = Math.ceil((index + 1) / colCount) === Math.ceil(options.length / colCount);\n\n return (\n <ViewAtom key={option.index} style={{\n width: rowCount === 2\n ? '50%'\n : rowCount === 3\n ? '33.33%'\n : '100%',\n paddingRight: isFullWidth ? 0 : isLastCol ? 0 : 3,\n paddingLeft: isFullWidth ? 0 : isLastCol ? 3 : 0,\n paddingBottom: isLastRow ? 0 : 10,\n }}>\n <ZSPressable\n onPress={() => handleSelect(option)}\n pressedBackgroundColor=\"transparent\"\n fullWidth\n >\n <ViewAtom\n style={{\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 12,\n borderWidth: 1,\n paddingLeft: 10,\n paddingRight: 15,\n borderRadius: 100,\n borderColor: setColor,\n backgroundColor: isSelected ? palette.background.layer1 : 'transparent',\n }}\n >\n {/* fullWidth가 false일 때 동그라미 체크박스 표시 */}\n {!(isFullWidth) && (\n <ViewAtom\n style={{\n width: 20,\n height: 20,\n borderWidth: 1,\n borderRadius: 10,\n borderColor: setColor,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <ViewAtom\n style={{\n width: 12,\n height: 12,\n borderRadius: 6,\n backgroundColor: setColor,\n }}\n />\n </ViewAtom>\n )}\n {/* 옵션 텍스트 표시 */}\n <ZSText style={{ paddingLeft: 10, paddingRight: 12 }} {...valueStyle}>\n {option.value}\n </ZSText>\n\n {/* fullWidth가 true일 때 우측에 선택 버튼 표시 */}\n {isFullWidth && (\n <ViewAtom style={{ flex: 1, flexDirection: 'row', justifyContent: 'flex-end' }}>\n <ViewAtom\n style={{\n backgroundColor: isSelected\n ? palette.primary.main\n : palette.background.layer2,\n paddingHorizontal: 10,\n borderRadius: 100,\n minWidth: 42,\n minHeight: 24,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n {isSelected ? (\n <SvgCheck size={18} />\n ) : (\n <ZSText typo=\"body.5\" {...selectStyle}>\n 선택\n </ZSText>\n )}\n </ViewAtom>\n </ViewAtom>\n )}\n </ViewAtom>\n </ZSPressable>\n </ViewAtom>\n );\n })}\n </ViewAtom>\n );\n}\n\nexport default memo(ZSRadioGroup);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSRadioGroup/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, memo } from 'react';\nimport { ViewProps } from 'react-native';\nimport { RadioOption } from '../types';\nimport ViewAtom from '../atoms/ViewAtom';\nimport ZSText, { ZSTextProps } from '../ZSText';\nimport ZSPressable from '../ZSPressable';\nimport { useTheme } from '../../context/ThemeContext';\nimport { SvgCheck } from '../../assets/SvgCheck';\n\nfunction ZSRadioGroup({\n options,\n value,\n onSelect,\n containerStyle,\n valueStyle,\n disabled = false,\n selectStyle,\n rowCount = 1,\n}: {\n options: RadioOption[];\n value?: RadioOption;\n onSelect: (value: RadioOption) => void;\n containerStyle?: ViewProps;\n valueStyle?: ZSTextProps;\n selectStyle?: ZSTextProps;\n disabled?: boolean;\n rowCount?: 1 | 2 | 3;\n}) {\n const { palette } = useTheme();\n const isFullWidth = rowCount === 1;\n\n const handleSelect = useCallback((option: RadioOption) => {\n if (!disabled) {\n onSelect(option);\n }\n }, [disabled, onSelect]);\n\n return (\n <ViewAtom\n style={{\n flexDirection: isFullWidth ? 'column' : 'row',\n flexWrap: isFullWidth ? 'nowrap' : 'wrap',\n width: '100%',\n }}\n {...containerStyle}\n >\n {options.map((option, index) => {\n const isSelected = value?.index === option.index;\n const setColor = isSelected ? palette.primary.light : palette.background.neutral;\n\n const colCount = rowCount;\n const isLastCol = (index + 1) % colCount === 0;\n const isLastRow = Math.ceil((index + 1) / colCount) === Math.ceil(options.length / colCount);\n\n return (\n <ViewAtom key={option.index} style={{\n width: rowCount === 2\n ? '50%'\n : rowCount === 3\n ? '33.33%'\n : '100%',\n paddingRight: isFullWidth ? 0 : isLastCol ? 0 : 3,\n paddingLeft: isFullWidth ? 0 : isLastCol ? 3 : 0,\n paddingBottom: isLastRow ? 0 : 10,\n }}>\n <ZSPressable\n onPress={() => handleSelect(option)}\n pressedBackgroundColor=\"transparent\"\n fullWidth\n >\n <ViewAtom\n style={{\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 12,\n borderWidth: 1,\n paddingLeft: 10,\n paddingRight: 15,\n borderRadius: 100,\n borderColor: setColor,\n backgroundColor: isSelected ? palette.background.layer1 : 'transparent',\n }}\n >\n {/* fullWidth가 false일 때 동그라미 체크박스 표시 */}\n {!(isFullWidth) && (\n <ViewAtom\n style={{\n width: 20,\n height: 20,\n borderWidth: 1,\n borderRadius: 10,\n borderColor: setColor,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <ViewAtom\n style={{\n width: 12,\n height: 12,\n borderRadius: 6,\n backgroundColor: setColor,\n }}\n />\n </ViewAtom>\n )}\n {/* 옵션 텍스트 표시 */}\n <ZSText style={{ paddingLeft: 10, paddingRight: 12 }} {...valueStyle}>\n {option.value}\n </ZSText>\n\n {/* fullWidth가 true일 때 우측에 선택 버튼 표시 */}\n {isFullWidth && (\n <ViewAtom style={{ flex: 1, flexDirection: 'row', justifyContent: 'flex-end' }}>\n <ViewAtom\n style={{\n backgroundColor: isSelected\n ? palette.primary.main\n : palette.background.layer2,\n paddingHorizontal: 10,\n borderRadius: 100,\n minWidth: 42,\n minHeight: 24,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n {isSelected ? (\n <SvgCheck size={18} />\n ) : (\n <ZSText typo=\"body.5\" {...selectStyle}>\n 선택\n </ZSText>\n )}\n </ViewAtom>\n </ViewAtom>\n )}\n </ViewAtom>\n </ZSPressable>\n </ViewAtom>\n );\n })}\n </ViewAtom>\n );\n}\n\nexport default memo(ZSRadioGroup);\n"]}
@@ -1,4 +1,4 @@
1
- import { useTheme } from "../../model/useThemeProvider";
1
+ import { useTheme } from "../../context/ThemeContext";
2
2
  import TextAtom from "../atoms/TextAtom";
3
3
  function ZSText({ typo = 'body.2', color = 'base', ...props }) {
4
4
  const { palette, typography } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSText/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AAOxC,SAAS,MAAM,CAAC,EACd,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,MAAM,EACd,GAAG,KAAK,EACI;IACV,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC/J,CAAC;AAED,eAAe,MAAM,CAAC","sourcesContent":["import { TextProps } from \"react-native/types\";\nimport { useTheme } from \"../../model/useThemeProvider\";\nimport { TypoOptions, TypoStyle, TypoColorOptions, TypoSubStyle, TypoColor, SubColorOptions } from \"../../theme/types\";\nimport TextAtom from \"../atoms/TextAtom\"\n\nexport interface ZSTextProps extends TextProps {\n typo?: TypoOptions;\n color?: TypoColorOptions;\n}\n\nfunction ZSText({\n typo = 'body.2',\n color = 'base',\n ...props\n}: ZSTextProps) {\n const { palette, typography } = useTheme();\n const [s01, s02] = typo.split('.') as [TypoStyle, TypoSubStyle];\n const [c01, c02] = color.split('.') as [TypoColor, SubColorOptions];\n return <TextAtom {...props} style={[typography[s01][s02], { color: c02 ? palette[c01][c02] : palette.text[c01] }, props.style]}>{props.children}</TextAtom>\n}\n\nexport default ZSText;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSText/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AAOxC,SAAS,MAAM,CAAC,EACd,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,MAAM,EACd,GAAG,KAAK,EACI;IACV,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC/J,CAAC;AAED,eAAe,MAAM,CAAC","sourcesContent":["import { TextProps } from \"react-native/types\";\nimport { useTheme } from \"../../context/ThemeContext\";\nimport { TypoOptions, TypoStyle, TypoColorOptions, TypoSubStyle, TypoColor, SubColorOptions } from \"../../theme/types\";\nimport TextAtom from \"../atoms/TextAtom\"\n\nexport interface ZSTextProps extends TextProps {\n typo?: TypoOptions;\n color?: TypoColorOptions;\n}\n\nfunction ZSText({\n typo = 'body.2',\n color = 'base',\n ...props\n}: ZSTextProps) {\n const { palette, typography } = useTheme();\n const [s01, s02] = typo.split('.') as [TypoStyle, TypoSubStyle];\n const [c01, c02] = color.split('.') as [TypoColor, SubColorOptions];\n return <TextAtom {...props} style={[typography[s01][s02], { color: c02 ? palette[c01][c02] : palette.text[c01] }, props.style]}>{props.children}</TextAtom>\n}\n\nexport default ZSText;\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { TextInput, TextInputProps } from 'react-native';
3
- import { TypoOptions } from '../../theme';
3
+ import { TypoOptions } from '../../theme/types';
4
4
  export type BoxStyle = 'outline' | 'underline' | 'inbox';
5
5
  interface TextFieldProps {
6
6
  typo?: TypoOptions;
@@ -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,aAAa,CAAC;AAKnE,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,kFAgPf,CAAC;AAIH,eAAe,WAAW,CAAC"}
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,kFAgPf,CAAC;AAIH,eAAe,WAAW,CAAC"}
@@ -4,7 +4,7 @@ import Animated, { interpolate, useAnimatedStyle, useSharedValue, withTiming } f
4
4
  import ButtonClose from './ui/ButtonClose';
5
5
  import ErrorComponent from './ui/ErrorComponent';
6
6
  import { extractStyle } from '../../model/utils';
7
- import { useTheme } from '../../model/useThemeProvider';
7
+ import { useTheme } from '../../context/ThemeContext';
8
8
  import ViewAtom from '../atoms/ViewAtom';
9
9
  const iosOffset = Platform.OS === 'ios' ? 8 : 4;
10
10
  const ZSTextField = forwardRef(({ typo = 'body.2', status = 'default', value, onChangeText, label = 'Placeholder', labelColor, placeHolderColor, inputBgColor, labelBgColor, borderWidth = 1.2, borderColor, focusColor, errorColor, borderRadius = 14, paddingHorizontal = 15, errorMessage, textInputProps, boxStyle = 'outline', innerBoxStyle, disabled = false, allowFontScaling = true, isTextArea = false, }, ref) => {