@0610studio/zs-ui 0.17.1 → 0.18.1

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 (138) hide show
  1. package/android/build.gradle +3 -3
  2. package/build/ZsUiModule.d.ts.map +1 -1
  3. package/build/ZsUiModule.js +0 -2
  4. package/build/ZsUiModule.js.map +1 -1
  5. package/build/ZsUiView.js +2 -2
  6. package/build/ZsUiView.js.map +1 -1
  7. package/build/ZsUiView.web.js +2 -4
  8. package/build/ZsUiView.web.js.map +1 -1
  9. package/build/assets/SvgCheck.js +2 -4
  10. package/build/assets/SvgCheck.js.map +1 -1
  11. package/build/assets/SvgExclamation.d.ts.map +1 -1
  12. package/build/assets/SvgExclamation.js +2 -9
  13. package/build/assets/SvgExclamation.js.map +1 -1
  14. package/build/assets/SvgX.js +3 -5
  15. package/build/assets/SvgX.js.map +1 -1
  16. package/build/context/OverlayContext.d.ts.map +1 -1
  17. package/build/context/OverlayContext.js +12 -42
  18. package/build/context/OverlayContext.js.map +1 -1
  19. package/build/context/ThemeContext.d.ts +9 -0
  20. package/build/context/ThemeContext.d.ts.map +1 -1
  21. package/build/context/ThemeContext.js +13 -19
  22. package/build/context/ThemeContext.js.map +1 -1
  23. package/build/index.d.ts +2 -2
  24. package/build/index.d.ts.map +1 -1
  25. package/build/index.js +1 -7
  26. package/build/index.js.map +1 -1
  27. package/build/model/globalOverlay.d.ts +0 -8
  28. package/build/model/globalOverlay.d.ts.map +1 -1
  29. package/build/model/globalOverlay.js +0 -9
  30. package/build/model/globalOverlay.js.map +1 -1
  31. package/build/model/types.d.ts +1 -1
  32. package/build/model/types.d.ts.map +1 -1
  33. package/build/model/types.js.map +1 -1
  34. package/build/model/useKeyboard.d.ts.map +1 -1
  35. package/build/model/useKeyboard.js +8 -4
  36. package/build/model/useKeyboard.js.map +1 -1
  37. package/build/model/utils.d.ts +1 -1
  38. package/build/model/utils.d.ts.map +1 -1
  39. package/build/model/utils.js +2 -1
  40. package/build/model/utils.js.map +1 -1
  41. package/build/overlay/AlertOverlay/index.d.ts.map +1 -1
  42. package/build/overlay/AlertOverlay/index.js +10 -27
  43. package/build/overlay/AlertOverlay/index.js.map +1 -1
  44. package/build/overlay/BottomSheetOverlay/index.d.ts.map +1 -1
  45. package/build/overlay/BottomSheetOverlay/index.js +21 -25
  46. package/build/overlay/BottomSheetOverlay/index.js.map +1 -1
  47. package/build/overlay/LoadingNotify/index.js +4 -5
  48. package/build/overlay/LoadingNotify/index.js.map +1 -1
  49. package/build/overlay/Modality/index.d.ts.map +1 -1
  50. package/build/overlay/Modality/index.js +21 -36
  51. package/build/overlay/Modality/index.js.map +1 -1
  52. package/build/overlay/PopOver/PopOverButton.js +3 -6
  53. package/build/overlay/PopOver/PopOverButton.js.map +1 -1
  54. package/build/overlay/PopOver/PopOverMenu.d.ts.map +1 -1
  55. package/build/overlay/PopOver/PopOverMenu.js +10 -18
  56. package/build/overlay/PopOver/PopOverMenu.js.map +1 -1
  57. package/build/overlay/SnackbarNotify/index.d.ts +3 -3
  58. package/build/overlay/SnackbarNotify/index.d.ts.map +1 -1
  59. package/build/overlay/SnackbarNotify/index.js +8 -9
  60. package/build/overlay/SnackbarNotify/index.js.map +1 -1
  61. package/build/overlay/SnackbarNotify/ui/SnackbarItem.d.ts +3 -3
  62. package/build/overlay/SnackbarNotify/ui/SnackbarItem.d.ts.map +1 -1
  63. package/build/overlay/SnackbarNotify/ui/SnackbarItem.js +9 -16
  64. package/build/overlay/SnackbarNotify/ui/SnackbarItem.js.map +1 -1
  65. package/build/overlay/ZSPortal/index.d.ts.map +1 -1
  66. package/build/overlay/ZSPortal/index.js +16 -9
  67. package/build/overlay/ZSPortal/index.js.map +1 -1
  68. package/build/overlay/ui/ModalBackground.js +5 -9
  69. package/build/overlay/ui/ModalBackground.js.map +1 -1
  70. package/build/theme/elevation.d.ts +94 -10
  71. package/build/theme/elevation.d.ts.map +1 -1
  72. package/build/theme/elevation.js +39 -35
  73. package/build/theme/elevation.js.map +1 -1
  74. package/build/theme/palette.d.ts +1 -5
  75. package/build/theme/palette.d.ts.map +1 -1
  76. package/build/theme/palette.js +3 -12
  77. package/build/theme/palette.js.map +1 -1
  78. package/build/theme/resolveColor.d.ts +4 -0
  79. package/build/theme/resolveColor.d.ts.map +1 -0
  80. package/build/theme/resolveColor.js +29 -0
  81. package/build/theme/resolveColor.js.map +1 -0
  82. package/build/ui/ZSAboveKeyboard/index.js +2 -5
  83. package/build/ui/ZSAboveKeyboard/index.js.map +1 -1
  84. package/build/ui/ZSBlockButton/index.d.ts +4 -2
  85. package/build/ui/ZSBlockButton/index.d.ts.map +1 -1
  86. package/build/ui/ZSBlockButton/index.js +44 -96
  87. package/build/ui/ZSBlockButton/index.js.map +1 -1
  88. package/build/ui/ZSContainer/index.d.ts +20 -0
  89. package/build/ui/ZSContainer/index.d.ts.map +1 -1
  90. package/build/ui/ZSContainer/index.js +30 -50
  91. package/build/ui/ZSContainer/index.js.map +1 -1
  92. package/build/ui/ZSPressable/index.d.ts.map +1 -1
  93. package/build/ui/ZSPressable/index.js +2 -11
  94. package/build/ui/ZSPressable/index.js.map +1 -1
  95. package/build/ui/ZSRadioGroup/index.d.ts +3 -2
  96. package/build/ui/ZSRadioGroup/index.d.ts.map +1 -1
  97. package/build/ui/ZSRadioGroup/index.js +67 -78
  98. package/build/ui/ZSRadioGroup/index.js.map +1 -1
  99. package/build/ui/ZSSkeleton/index.d.ts +2 -1
  100. package/build/ui/ZSSkeleton/index.d.ts.map +1 -1
  101. package/build/ui/ZSSkeleton/index.js +3 -12
  102. package/build/ui/ZSSkeleton/index.js.map +1 -1
  103. package/build/ui/ZSSkeletonBox/index.d.ts +2 -1
  104. package/build/ui/ZSSkeletonBox/index.d.ts.map +1 -1
  105. package/build/ui/ZSSkeletonBox/index.js +13 -18
  106. package/build/ui/ZSSkeletonBox/index.js.map +1 -1
  107. package/build/ui/ZSSwitch/index.d.ts +2 -1
  108. package/build/ui/ZSSwitch/index.d.ts.map +1 -1
  109. package/build/ui/ZSSwitch/index.js +3 -7
  110. package/build/ui/ZSSwitch/index.js.map +1 -1
  111. package/build/ui/ZSText/index.d.ts +3 -2
  112. package/build/ui/ZSText/index.d.ts.map +1 -1
  113. package/build/ui/ZSText/index.js +5 -16
  114. package/build/ui/ZSText/index.js.map +1 -1
  115. package/build/ui/ZSTextField/index.d.ts.map +1 -1
  116. package/build/ui/ZSTextField/index.js +42 -42
  117. package/build/ui/ZSTextField/index.js.map +1 -1
  118. package/build/ui/ZSTextField/ui/ButtonClose.js +2 -3
  119. package/build/ui/ZSTextField/ui/ButtonClose.js.map +1 -1
  120. package/build/ui/ZSTextField/ui/ErrorComponent.js +2 -7
  121. package/build/ui/ZSTextField/ui/ErrorComponent.js.map +1 -1
  122. package/build/ui/ZSView/index.d.ts +3 -2
  123. package/build/ui/ZSView/index.d.ts.map +1 -1
  124. package/build/ui/ZSView/index.js +9 -11
  125. package/build/ui/ZSView/index.js.map +1 -1
  126. package/build/ui/atoms/AnimatedWrapper.d.ts.map +1 -1
  127. package/build/ui/atoms/AnimatedWrapper.js +36 -44
  128. package/build/ui/atoms/AnimatedWrapper.js.map +1 -1
  129. package/build/ui/atoms/TextAtom.d.ts +1 -2
  130. package/build/ui/atoms/TextAtom.d.ts.map +1 -1
  131. package/build/ui/atoms/TextAtom.js +2 -4
  132. package/build/ui/atoms/TextAtom.js.map +1 -1
  133. package/build/ui/atoms/ViewAtom.d.ts +1 -2
  134. package/build/ui/atoms/ViewAtom.d.ts.map +1 -1
  135. package/build/ui/atoms/ViewAtom.js +2 -4
  136. package/build/ui/atoms/ViewAtom.js.map +1 -1
  137. package/ios/ZsUi.podspec +1 -1
  138. package/package.json +30 -28
@@ -1 +1 @@
1
- {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"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","sourcesContent":["import { BLACK, PRIMITIVE_BLUE, PRIMITIVE_GREEN, PRIMITIVE_GREY, PRIMITIVE_GREY_DARK, PRIMITIVE_ORANGE, PRIMITIVE_RED, PRIMITIVE_TEAL, PRIMITIVE_YELLOW, SHADOW_COLORS, WHITE } from \"./primitive\";\nimport { 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: PRIMITIVE_GREY[90] + transparency['52%'],\n dark: PRIMITIVE_GREY[90] + transparency['40%'],\n}\n\nconst SEMANTIC_LIGHT_COLORS = {\n primary: {\n ...PRIMITIVE_ORANGE,\n lighter: PRIMITIVE_ORANGE[20],\n light: PRIMITIVE_ORANGE[30],\n main: PRIMITIVE_ORANGE[50],\n dark: PRIMITIVE_ORANGE[60],\n darker: PRIMITIVE_ORANGE[70],\n },\n secondary: {\n ...PRIMITIVE_TEAL,\n lighter: PRIMITIVE_TEAL[20],\n light: PRIMITIVE_TEAL[30],\n main: PRIMITIVE_TEAL[50],\n dark: PRIMITIVE_TEAL[60],\n darker: PRIMITIVE_TEAL[70],\n },\n danger: {\n ...PRIMITIVE_RED,\n lighter: PRIMITIVE_RED[20],\n light: PRIMITIVE_RED[30],\n main: PRIMITIVE_RED[50],\n dark: PRIMITIVE_RED[60],\n darker: PRIMITIVE_RED[70],\n },\n warning: {\n ...PRIMITIVE_YELLOW,\n lighter: PRIMITIVE_YELLOW[20],\n light: PRIMITIVE_YELLOW[30],\n main: PRIMITIVE_YELLOW[50],\n dark: PRIMITIVE_YELLOW[60],\n darker: PRIMITIVE_YELLOW[70],\n },\n success: {\n ...PRIMITIVE_GREEN,\n lighter: PRIMITIVE_GREEN[20],\n light: PRIMITIVE_GREEN[30],\n main: PRIMITIVE_GREEN[50],\n dark: PRIMITIVE_GREEN[60],\n darker: PRIMITIVE_GREEN[70],\n },\n information: {\n ...PRIMITIVE_BLUE,\n lighter: PRIMITIVE_BLUE[20],\n light: PRIMITIVE_BLUE[30],\n main: PRIMITIVE_BLUE[50],\n dark: PRIMITIVE_BLUE[60],\n darker: PRIMITIVE_BLUE[70],\n },\n grey: {\n ...PRIMITIVE_GREY,\n lighter: PRIMITIVE_GREY[20],\n light: PRIMITIVE_GREY[30],\n main: PRIMITIVE_GREY[20],\n dark: PRIMITIVE_GREY[60],\n darker: PRIMITIVE_GREY[70],\n },\n};\n\nconst SEMANTIC_DARK_COLORS = {\n primary: {\n ...SEMANTIC_LIGHT_COLORS.primary,\n lighter: PRIMITIVE_ORANGE[20],\n light: PRIMITIVE_ORANGE[30],\n main: PRIMITIVE_ORANGE[50],\n dark: PRIMITIVE_ORANGE[60],\n darker: PRIMITIVE_ORANGE[70],\n },\n secondary: {\n ...SEMANTIC_LIGHT_COLORS.secondary,\n lighter: PRIMITIVE_TEAL[20],\n light: PRIMITIVE_TEAL[30],\n main: PRIMITIVE_TEAL[50],\n dark: PRIMITIVE_TEAL[60],\n darker: PRIMITIVE_TEAL[70],\n },\n danger: {\n ...SEMANTIC_LIGHT_COLORS.danger,\n lighter: PRIMITIVE_RED[20],\n light: PRIMITIVE_RED[30],\n main: PRIMITIVE_RED[50],\n dark: PRIMITIVE_RED[60],\n darker: PRIMITIVE_RED[70],\n },\n warning: {\n ...SEMANTIC_LIGHT_COLORS.warning,\n lighter: PRIMITIVE_YELLOW[20],\n light: PRIMITIVE_YELLOW[30],\n main: PRIMITIVE_YELLOW[50],\n dark: PRIMITIVE_YELLOW[60],\n darker: PRIMITIVE_YELLOW[70],\n },\n success: {\n ...SEMANTIC_LIGHT_COLORS.success,\n lighter: PRIMITIVE_GREEN[20],\n light: PRIMITIVE_GREEN[30],\n main: PRIMITIVE_GREEN[50],\n dark: PRIMITIVE_GREEN[60],\n darker: PRIMITIVE_GREEN[70],\n },\n information: {\n ...SEMANTIC_LIGHT_COLORS.information,\n lighter: PRIMITIVE_BLUE[20],\n light: PRIMITIVE_BLUE[30],\n main: PRIMITIVE_BLUE[50],\n dark: PRIMITIVE_BLUE[60],\n darker: PRIMITIVE_BLUE[70],\n },\n grey: {\n ...PRIMITIVE_GREY_DARK,\n lighter: PRIMITIVE_GREY_DARK[20],\n light: PRIMITIVE_GREY_DARK[30],\n main: PRIMITIVE_GREY_DARK[20],\n dark: PRIMITIVE_GREY_DARK[60],\n darker: PRIMITIVE_GREY_DARK[70],\n },\n};\n\nconst MAIN_COLORS = {\n light: {\n primary: SEMANTIC_LIGHT_COLORS.primary.main,\n secondary: SEMANTIC_LIGHT_COLORS.secondary.main,\n danger: SEMANTIC_LIGHT_COLORS.danger.main,\n warning: SEMANTIC_LIGHT_COLORS.warning.main,\n success: SEMANTIC_LIGHT_COLORS.success.main,\n information: SEMANTIC_LIGHT_COLORS.information.main,\n grey: SEMANTIC_LIGHT_COLORS.grey.main\n },\n dark: {\n primary: SEMANTIC_DARK_COLORS.primary.main,\n secondary: SEMANTIC_DARK_COLORS.secondary.main,\n danger: SEMANTIC_DARK_COLORS.danger.main,\n warning: SEMANTIC_DARK_COLORS.warning.main,\n success: SEMANTIC_DARK_COLORS.success.main,\n information: SEMANTIC_DARK_COLORS.information.main,\n grey: SEMANTIC_DARK_COLORS.grey.main\n }\n}\n\nconst SEMANTIC_TEXT_COLORS = {\n light: {\n primary: SEMANTIC_LIGHT_COLORS.primary.main,\n base: SEMANTIC_LIGHT_COLORS.grey[80],\n secondary: SEMANTIC_LIGHT_COLORS.grey[60],\n disabled: SEMANTIC_LIGHT_COLORS.grey[50],\n danger: SEMANTIC_LIGHT_COLORS.danger[60],\n warning: SEMANTIC_LIGHT_COLORS.warning[60],\n success: SEMANTIC_LIGHT_COLORS.success[60],\n information: SEMANTIC_LIGHT_COLORS.information[60],\n white: WHITE,\n black: BLACK,\n },\n dark: {\n primary: SEMANTIC_DARK_COLORS.primary.main,\n base: SEMANTIC_DARK_COLORS.grey[90],\n secondary: SEMANTIC_DARK_COLORS.grey[70],\n disabled: SEMANTIC_DARK_COLORS.grey[50],\n danger: SEMANTIC_DARK_COLORS.danger[30],\n warning: SEMANTIC_DARK_COLORS.warning[30],\n success: SEMANTIC_DARK_COLORS.success[30],\n information: SEMANTIC_DARK_COLORS.information[30],\n white: WHITE,\n black: BLACK,\n },\n};\n\nconst SEMANTIC_BACKGROUND_COLORS = {\n light: {\n primary: SEMANTIC_LIGHT_COLORS.primary.main,\n layer1: SEMANTIC_LIGHT_COLORS.grey[5],\n layer2: SEMANTIC_LIGHT_COLORS.grey[20],\n neutral: SEMANTIC_LIGHT_COLORS.grey[30],\n base: WHITE,\n danger: SEMANTIC_LIGHT_COLORS.danger[5],\n warning: SEMANTIC_LIGHT_COLORS.warning[5],\n success: SEMANTIC_LIGHT_COLORS.success[5],\n information: SEMANTIC_LIGHT_COLORS.information[5],\n },\n dark: {\n primary: SEMANTIC_DARK_COLORS.primary.main,\n layer1: SEMANTIC_DARK_COLORS.grey[5],\n layer2: SEMANTIC_DARK_COLORS.grey[20],\n neutral: SEMANTIC_DARK_COLORS.grey[30],\n base: BLACK,\n danger: SEMANTIC_DARK_COLORS.danger[80],\n warning: SEMANTIC_DARK_COLORS.warning[80],\n success: SEMANTIC_DARK_COLORS.success[80],\n information: SEMANTIC_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 * 테마 팩토리 함수 - SEMANTIC_LIGHT_COLORS와 SEMANTIC_DARK_COLORS를 재정의할 수 있는 기능을 제공합니다.\n * @param config - 라이트/다크 모드별로 색상을 재정의할 수 있는 설정 객체\n * @returns 재정의된 SEMANTIC_LIGHT_COLORS와 SEMANTIC_DARK_COLORS를 포함한 팩토리 함수\n */\nexport function themeFactory(config: ThemeFactoryConfig = {}) {\n // 기본 색상들을 깊은 복사로 생성\n const createCustomLightColors = (): typeof SEMANTIC_LIGHT_COLORS => {\n const customColors = { ...SEMANTIC_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 SEMANTIC_DARK_COLORS => {\n const customColors = { ...SEMANTIC_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: WHITE,\n black: BLACK,\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: WHITE,\n black: BLACK,\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: WHITE,\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: BLACK,\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' ? SEMANTIC_LIGHT_COLORS : SEMANTIC_DARK_COLORS;\n\n const theme: Theme = {\n mode,\n ...colors,\n text: SEMANTIC_TEXT_COLORS[mode],\n background: SEMANTIC_BACKGROUND_COLORS[mode],\n elevationShadow: SHADOW_COLORS[mode],\n modalBgColor: MODAL_BG_COLOR[mode],\n mainColor: MAIN_COLORS[mode]\n };\n\n // 사용자 정의 테마 컬러가 있을 경우 병합\n if (themeColors?.[mode]) {\n return {\n ...theme,\n ...themeColors[mode],\n };\n }\n\n return theme;\n}\n"]}
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"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","sourcesContent":["import { BLACK, PRIMITIVE_BLUE, PRIMITIVE_GREEN, PRIMITIVE_GREY, PRIMITIVE_GREY_DARK, PRIMITIVE_ORANGE, PRIMITIVE_RED, PRIMITIVE_TEAL, PRIMITIVE_YELLOW, SHADOW_COLORS, WHITE } from \"./primitive\";\nimport { 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: PRIMITIVE_GREY[90] + transparency['52%'],\n dark: PRIMITIVE_GREY[90] + transparency['40%'],\n}\n\nconst SEMANTIC_LIGHT_COLORS = {\n primary: {\n ...PRIMITIVE_ORANGE,\n lighter: PRIMITIVE_ORANGE[20],\n light: PRIMITIVE_ORANGE[30],\n main: PRIMITIVE_ORANGE[50],\n dark: PRIMITIVE_ORANGE[60],\n darker: PRIMITIVE_ORANGE[70],\n },\n secondary: {\n ...PRIMITIVE_TEAL,\n lighter: PRIMITIVE_TEAL[20],\n light: PRIMITIVE_TEAL[30],\n main: PRIMITIVE_TEAL[50],\n dark: PRIMITIVE_TEAL[60],\n darker: PRIMITIVE_TEAL[70],\n },\n danger: {\n ...PRIMITIVE_RED,\n lighter: PRIMITIVE_RED[20],\n light: PRIMITIVE_RED[30],\n main: PRIMITIVE_RED[50],\n dark: PRIMITIVE_RED[60],\n darker: PRIMITIVE_RED[70],\n },\n warning: {\n ...PRIMITIVE_YELLOW,\n lighter: PRIMITIVE_YELLOW[20],\n light: PRIMITIVE_YELLOW[30],\n main: PRIMITIVE_YELLOW[50],\n dark: PRIMITIVE_YELLOW[60],\n darker: PRIMITIVE_YELLOW[70],\n },\n success: {\n ...PRIMITIVE_GREEN,\n lighter: PRIMITIVE_GREEN[20],\n light: PRIMITIVE_GREEN[30],\n main: PRIMITIVE_GREEN[50],\n dark: PRIMITIVE_GREEN[60],\n darker: PRIMITIVE_GREEN[70],\n },\n information: {\n ...PRIMITIVE_BLUE,\n lighter: PRIMITIVE_BLUE[20],\n light: PRIMITIVE_BLUE[30],\n main: PRIMITIVE_BLUE[50],\n dark: PRIMITIVE_BLUE[60],\n darker: PRIMITIVE_BLUE[70],\n },\n grey: {\n ...PRIMITIVE_GREY,\n lighter: PRIMITIVE_GREY[20],\n light: PRIMITIVE_GREY[30],\n main: PRIMITIVE_GREY[20],\n dark: PRIMITIVE_GREY[60],\n darker: PRIMITIVE_GREY[70],\n },\n};\n\nconst SEMANTIC_DARK_COLORS = {\n primary: {\n ...SEMANTIC_LIGHT_COLORS.primary,\n lighter: PRIMITIVE_ORANGE[20],\n light: PRIMITIVE_ORANGE[30],\n main: PRIMITIVE_ORANGE[50],\n dark: PRIMITIVE_ORANGE[60],\n darker: PRIMITIVE_ORANGE[70],\n },\n secondary: {\n ...SEMANTIC_LIGHT_COLORS.secondary,\n lighter: PRIMITIVE_TEAL[20],\n light: PRIMITIVE_TEAL[30],\n main: PRIMITIVE_TEAL[50],\n dark: PRIMITIVE_TEAL[60],\n darker: PRIMITIVE_TEAL[70],\n },\n danger: {\n ...SEMANTIC_LIGHT_COLORS.danger,\n lighter: PRIMITIVE_RED[20],\n light: PRIMITIVE_RED[30],\n main: PRIMITIVE_RED[50],\n dark: PRIMITIVE_RED[60],\n darker: PRIMITIVE_RED[70],\n },\n warning: {\n ...SEMANTIC_LIGHT_COLORS.warning,\n lighter: PRIMITIVE_YELLOW[20],\n light: PRIMITIVE_YELLOW[30],\n main: PRIMITIVE_YELLOW[50],\n dark: PRIMITIVE_YELLOW[60],\n darker: PRIMITIVE_YELLOW[70],\n },\n success: {\n ...SEMANTIC_LIGHT_COLORS.success,\n lighter: PRIMITIVE_GREEN[20],\n light: PRIMITIVE_GREEN[30],\n main: PRIMITIVE_GREEN[50],\n dark: PRIMITIVE_GREEN[60],\n darker: PRIMITIVE_GREEN[70],\n },\n information: {\n ...SEMANTIC_LIGHT_COLORS.information,\n lighter: PRIMITIVE_BLUE[20],\n light: PRIMITIVE_BLUE[30],\n main: PRIMITIVE_BLUE[50],\n dark: PRIMITIVE_BLUE[60],\n darker: PRIMITIVE_BLUE[70],\n },\n grey: {\n ...PRIMITIVE_GREY_DARK,\n lighter: PRIMITIVE_GREY_DARK[20],\n light: PRIMITIVE_GREY_DARK[30],\n main: PRIMITIVE_GREY_DARK[20],\n dark: PRIMITIVE_GREY_DARK[60],\n darker: PRIMITIVE_GREY_DARK[70],\n },\n};\n\nconst MAIN_COLORS = {\n light: {\n primary: SEMANTIC_LIGHT_COLORS.primary.main,\n secondary: SEMANTIC_LIGHT_COLORS.secondary.main,\n danger: SEMANTIC_LIGHT_COLORS.danger.main,\n warning: SEMANTIC_LIGHT_COLORS.warning.main,\n success: SEMANTIC_LIGHT_COLORS.success.main,\n information: SEMANTIC_LIGHT_COLORS.information.main,\n grey: SEMANTIC_LIGHT_COLORS.grey.main\n },\n dark: {\n primary: SEMANTIC_DARK_COLORS.primary.main,\n secondary: SEMANTIC_DARK_COLORS.secondary.main,\n danger: SEMANTIC_DARK_COLORS.danger.main,\n warning: SEMANTIC_DARK_COLORS.warning.main,\n success: SEMANTIC_DARK_COLORS.success.main,\n information: SEMANTIC_DARK_COLORS.information.main,\n grey: SEMANTIC_DARK_COLORS.grey.main\n }\n}\n\nconst SEMANTIC_TEXT_COLORS = {\n light: {\n primary: SEMANTIC_LIGHT_COLORS.primary.main,\n base: SEMANTIC_LIGHT_COLORS.grey[80],\n secondary: SEMANTIC_LIGHT_COLORS.grey[60],\n disabled: SEMANTIC_LIGHT_COLORS.grey[50],\n danger: SEMANTIC_LIGHT_COLORS.danger[60],\n warning: SEMANTIC_LIGHT_COLORS.warning[60],\n success: SEMANTIC_LIGHT_COLORS.success[60],\n information: SEMANTIC_LIGHT_COLORS.information[60],\n white: WHITE,\n black: BLACK,\n },\n dark: {\n primary: SEMANTIC_DARK_COLORS.primary.main,\n base: SEMANTIC_DARK_COLORS.grey[90],\n secondary: SEMANTIC_DARK_COLORS.grey[70],\n disabled: SEMANTIC_DARK_COLORS.grey[50],\n danger: SEMANTIC_DARK_COLORS.danger[30],\n warning: SEMANTIC_DARK_COLORS.warning[30],\n success: SEMANTIC_DARK_COLORS.success[30],\n information: SEMANTIC_DARK_COLORS.information[30],\n white: WHITE,\n black: BLACK,\n },\n};\n\nconst SEMANTIC_BACKGROUND_COLORS = {\n light: {\n primary: SEMANTIC_LIGHT_COLORS.primary.main,\n layer1: SEMANTIC_LIGHT_COLORS.grey[5],\n layer2: SEMANTIC_LIGHT_COLORS.grey[20],\n neutral: SEMANTIC_LIGHT_COLORS.grey[30],\n base: WHITE,\n danger: SEMANTIC_LIGHT_COLORS.danger[5],\n warning: SEMANTIC_LIGHT_COLORS.warning[5],\n success: SEMANTIC_LIGHT_COLORS.success[5],\n information: SEMANTIC_LIGHT_COLORS.information[5],\n },\n dark: {\n primary: SEMANTIC_DARK_COLORS.primary.main,\n layer1: SEMANTIC_DARK_COLORS.grey[5],\n layer2: SEMANTIC_DARK_COLORS.grey[20],\n neutral: SEMANTIC_DARK_COLORS.grey[30],\n base: BLACK,\n danger: SEMANTIC_DARK_COLORS.danger[80],\n warning: SEMANTIC_DARK_COLORS.warning[80],\n success: SEMANTIC_DARK_COLORS.success[80],\n information: SEMANTIC_DARK_COLORS.information[80],\n },\n};\n\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/** 라이트/다크 시맨틱 색상을 재정의해 커스텀 팔레트 함수를 생성한다. */\nexport function themeFactory(config: ThemeFactoryConfig = {}) {\n const createCustomLightColors = (): typeof SEMANTIC_LIGHT_COLORS => {\n const customColors = { ...SEMANTIC_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 SEMANTIC_DARK_COLORS => {\n const customColors = { ...SEMANTIC_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 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 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: WHITE,\n black: BLACK,\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: WHITE,\n black: BLACK,\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: WHITE,\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: BLACK,\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 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' ? SEMANTIC_LIGHT_COLORS : SEMANTIC_DARK_COLORS;\n\n const theme: Theme = {\n mode,\n ...colors,\n text: SEMANTIC_TEXT_COLORS[mode],\n background: SEMANTIC_BACKGROUND_COLORS[mode],\n elevationShadow: SHADOW_COLORS[mode],\n modalBgColor: MODAL_BG_COLOR[mode],\n mainColor: MAIN_COLORS[mode]\n };\n\n if (themeColors?.[mode]) {\n return {\n ...theme,\n ...themeColors[mode],\n };\n }\n\n return theme;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { Theme } from './types';
2
+ export declare function resolveTextColor(palette: Theme, color: string): string | undefined;
3
+ export declare function resolveViewColor(palette: Theme, color: string): string | undefined;
4
+ //# sourceMappingURL=resolveColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveColor.d.ts","sourceRoot":"","sources":["../../src/theme/resolveColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAkC,MAAM,SAAS,CAAC;AAS9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWlF"}
@@ -0,0 +1,29 @@
1
+ function isColorMap(value) {
2
+ return typeof value === 'object' && value !== null;
3
+ }
4
+ export function resolveTextColor(palette, color) {
5
+ const [c01, c02] = color.split('.');
6
+ if (!c02)
7
+ return palette.text[c01];
8
+ if (c01 === 'text')
9
+ return palette.text[c02];
10
+ if (c01 === 'background')
11
+ return palette.background[c02];
12
+ const semanticPalette = palette[c01];
13
+ return isColorMap(semanticPalette) ? semanticPalette[c02] : undefined;
14
+ }
15
+ export function resolveViewColor(palette, color) {
16
+ const [c01, c02] = color.split('.');
17
+ if (c02) {
18
+ if (c01 === 'background')
19
+ return palette.background[c02];
20
+ if (c01 === 'text')
21
+ return palette.text[c02];
22
+ const semanticPalette = palette[c01];
23
+ return isColorMap(semanticPalette) ? semanticPalette[c02] : undefined;
24
+ }
25
+ if (c01)
26
+ return palette.background[c01] ?? palette[c01]?.main;
27
+ return undefined;
28
+ }
29
+ //# sourceMappingURL=resolveColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveColor.js","sourceRoot":"","sources":["../../src/theme/resolveColor.ts"],"names":[],"mappings":"AAKA,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAc,EAAE,KAAa;IAC5D,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;IACpE,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC;IAC1D,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC;IACpE,IAAI,GAAG,KAAK,YAAY;QAAE,OAAO,OAAO,CAAC,UAAU,CAAC,GAA4B,CAAC,CAAC;IAElF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAyB,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAc,EAAE,KAAa;IAC5D,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;IACpE,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG,KAAK,YAAY;YAAE,OAAO,OAAO,CAAC,UAAU,CAAC,GAA4B,CAAC,CAAC;QAClF,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC;QAEpE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAyB,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,CAAC;IACD,IAAI,GAAG;QAAE,OAAO,OAAO,CAAC,UAAU,CAAC,GAA4B,CAAC,IAAI,OAAO,CAAC,GAAyB,CAAC,EAAE,IAAI,CAAC;IAC7G,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import { ColorPalette, Theme, ThemeBackground, ThemeTextType } from './types';\n\ntype SemanticPaletteKey = 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'information' | 'grey';\ntype PaletteShade = keyof ColorPalette;\n\nfunction isColorMap(value: unknown): value is Record<string, string> {\n return typeof value === 'object' && value !== null;\n}\n\nexport function resolveTextColor(palette: Theme, color: string): string | undefined {\n const [c01, c02] = color.split('.') as [string, string | undefined];\n if (!c02) return palette.text[c01 as keyof ThemeTextType];\n if (c01 === 'text') return palette.text[c02 as keyof ThemeTextType];\n if (c01 === 'background') return palette.background[c02 as keyof ThemeBackground];\n\n const semanticPalette = palette[c01 as SemanticPaletteKey];\n return isColorMap(semanticPalette) ? semanticPalette[c02 as PaletteShade] : undefined;\n}\n\nexport function resolveViewColor(palette: Theme, color: string): string | undefined {\n const [c01, c02] = color.split('.') as [string, string | undefined];\n if (c02) {\n if (c01 === 'background') return palette.background[c02 as keyof ThemeBackground];\n if (c01 === 'text') return palette.text[c02 as keyof ThemeTextType];\n\n const semanticPalette = palette[c01 as SemanticPaletteKey];\n return isColorMap(semanticPalette) ? semanticPalette[c02 as PaletteShade] : undefined;\n }\n if (c01) return palette.background[c01 as keyof ThemeBackground] ?? palette[c01 as SemanticPaletteKey]?.main;\n return undefined;\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { useRef } from "react";
2
3
  import { Platform, StyleSheet, View } from "react-native";
3
4
  import { useSafeAreaInsets } from "react-native-safe-area-context";
@@ -21,11 +22,7 @@ function ZSAboveKeyboard({ keyboardShowOffset = 0, keyboardHideOffset = 0, child
21
22
  handleLayoutHeight?.(height);
22
23
  };
23
24
  const isVisible = showOnlyKeyboardVisible ? isKeyboardVisible : true;
24
- return (<View style={[styles.container, { bottom: !isVisible ? HIDDEN_BOTTOM_OFFSET : 0 }]} onLayout={handleLayout} {...props}>
25
- <View style={{ width: "100%", backgroundColor, paddingBottom: keyboardVisiblePadding }}>
26
- {children}
27
- </View>
28
- </View>);
25
+ return (_jsx(View, { style: [styles.container, { bottom: !isVisible ? HIDDEN_BOTTOM_OFFSET : 0 }], onLayout: handleLayout, ...props, children: _jsx(View, { style: { width: "100%", backgroundColor, paddingBottom: keyboardVisiblePadding }, children: children }) }));
29
26
  }
30
27
  export default ZSAboveKeyboard;
31
28
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSAboveKeyboard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAwB;AACxB,6DAA6D;AAC7D,8CAA8C;AAC9C,MAAM,+BAA+B,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AAE7F,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC;AAWlC,SAAS,eAAe,CAAC,EACvB,kBAAkB,GAAG,CAAC,EACtB,kBAAkB,GAAG,CAAC,EACtB,QAAQ,EACR,kBAAkB,EAClB,uBAAuB,GAAG,KAAK,EAC/B,eAAe,EACf,GAAG,KAAK,EACF;IACN,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5D,MAAM,sBAAsB,GAC1B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;QAC3C,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;IAErF,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5C,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IAErE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CACpH;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CACrF;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAE,CACT,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC;AAE/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,aAAa,CAAC,cAAc;QACpC,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC","sourcesContent":["import { useRef } from \"react\";\nimport { LayoutChangeEvent, Platform, StyleSheet, View, type ViewProps } from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport useKeyboard from \"../../model/useKeyboard\";\nimport { Z_INDEX_VALUE } from \"../../model/utils\";\n\n// Edge-to-edge 디스플레이 정책\n// Android 11 (API 30) 이전: adjustResize가 시스템 레벨에서 자동으로 패딩을 추가\n// Android 11 (API 30) 이후: 일부 기기에서 패딩이 적용되지 않음\nconst isLegacyAndroidKeyboardBehavior = (Platform.OS === 'android' && Platform.Version < 30);\n\nconst HIDDEN_BOTTOM_OFFSET = -300;\n\ninterface Props extends ViewProps {\n children: React.ReactNode;\n keyboardShowOffset?: number;\n keyboardHideOffset?: number;\n handleLayoutHeight?: (height: number) => void;\n showOnlyKeyboardVisible?: boolean;\n backgroundColor?: string;\n}\n\nfunction ZSAboveKeyboard({\n keyboardShowOffset = 0,\n keyboardHideOffset = 0,\n children,\n handleLayoutHeight,\n showOnlyKeyboardVisible = false,\n backgroundColor,\n ...props\n}: Props) {\n const { bottom } = useSafeAreaInsets();\n const componentHeightRef = useRef(0);\n const { isKeyboardVisible, keyboardHeight } = useKeyboard();\n const keyboardVisiblePadding =\n !isKeyboardVisible ? (0 + keyboardHideOffset)\n : isLegacyAndroidKeyboardBehavior ? 0\n : (keyboardHeight - (Platform.OS === 'ios' ? bottom : 0) + keyboardShowOffset);\n\n const handleLayout = (event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n componentHeightRef.current = height;\n handleLayoutHeight?.(height);\n };\n\n const isVisible = showOnlyKeyboardVisible ? isKeyboardVisible : true;\n\n return (\n <View style={[styles.container, { bottom: !isVisible ? HIDDEN_BOTTOM_OFFSET : 0 }]} onLayout={handleLayout} {...props}>\n <View style={{ width: \"100%\", backgroundColor, paddingBottom: keyboardVisiblePadding }}>\n {children}\n </View>\n </View >\n );\n}\n\nexport default ZSAboveKeyboard;\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: Z_INDEX_VALUE.ABOVE_KEYBOARD,\n width: '100%',\n },\n});\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSAboveKeyboard/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAwB;AACxB,6DAA6D;AAC7D,8CAA8C;AAC9C,MAAM,+BAA+B,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AAE7F,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC;AAWlC,SAAS,eAAe,CAAC,EACvB,kBAAkB,GAAG,CAAC,EACtB,kBAAkB,GAAG,CAAC,EACtB,QAAQ,EACR,kBAAkB,EAClB,uBAAuB,GAAG,KAAK,EAC/B,eAAe,EACf,GAAG,KAAK,EACF;IACN,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5D,MAAM,sBAAsB,GAC1B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;QAC3C,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;IAErF,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5C,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IAErE,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,KAAM,KAAK,YACnH,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,YACnF,QAAQ,GACJ,GACD,CACT,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC;AAE/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,aAAa,CAAC,cAAc;QACpC,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC","sourcesContent":["import { useRef } from \"react\";\nimport { LayoutChangeEvent, Platform, StyleSheet, View, type ViewProps } from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport useKeyboard from \"../../model/useKeyboard\";\nimport { Z_INDEX_VALUE } from \"../../model/utils\";\n\n// Edge-to-edge 디스플레이 정책\n// Android 11 (API 30) 이전: adjustResize가 시스템 레벨에서 자동으로 패딩을 추가\n// Android 11 (API 30) 이후: 일부 기기에서 패딩이 적용되지 않음\nconst isLegacyAndroidKeyboardBehavior = (Platform.OS === 'android' && Platform.Version < 30);\n\nconst HIDDEN_BOTTOM_OFFSET = -300;\n\ninterface Props extends ViewProps {\n children: React.ReactNode;\n keyboardShowOffset?: number;\n keyboardHideOffset?: number;\n handleLayoutHeight?: (height: number) => void;\n showOnlyKeyboardVisible?: boolean;\n backgroundColor?: string;\n}\n\nfunction ZSAboveKeyboard({\n keyboardShowOffset = 0,\n keyboardHideOffset = 0,\n children,\n handleLayoutHeight,\n showOnlyKeyboardVisible = false,\n backgroundColor,\n ...props\n}: Props) {\n const { bottom } = useSafeAreaInsets();\n const componentHeightRef = useRef(0);\n const { isKeyboardVisible, keyboardHeight } = useKeyboard();\n const keyboardVisiblePadding =\n !isKeyboardVisible ? (0 + keyboardHideOffset)\n : isLegacyAndroidKeyboardBehavior ? 0\n : (keyboardHeight - (Platform.OS === 'ios' ? bottom : 0) + keyboardShowOffset);\n\n const handleLayout = (event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n componentHeightRef.current = height;\n handleLayoutHeight?.(height);\n };\n\n const isVisible = showOnlyKeyboardVisible ? isKeyboardVisible : true;\n\n return (\n <View style={[styles.container, { bottom: !isVisible ? HIDDEN_BOTTOM_OFFSET : 0 }]} onLayout={handleLayout} {...props}>\n <View style={{ width: \"100%\", backgroundColor, paddingBottom: keyboardVisiblePadding }}>\n {children}\n </View>\n </View >\n );\n}\n\nexport default ZSAboveKeyboard;\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: Z_INDEX_VALUE.ABOVE_KEYBOARD,\n width: '100%',\n },\n});\n"]}
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { type ImageSourcePropType, type StyleProp, type ViewStyle, type ViewProps } from 'react-native';
2
3
  import { TypoOptions, IntentOptions } from '../../theme/types';
3
4
  type Props = ViewProps & {
@@ -11,6 +12,7 @@ type Props = ViewProps & {
11
12
  isLoading?: boolean;
12
13
  disabled?: boolean;
13
14
  };
14
- declare function ZSBlockButton({ onPress, style, title, intent, typo, prefixIcon, variant, isLoading, disabled, ...props }: Props): import("react").JSX.Element;
15
- export default ZSBlockButton;
15
+ declare function ZSBlockButton({ onPress, style, title, intent, typo, prefixIcon, variant, isLoading, disabled, ...props }: Props): React.JSX.Element;
16
+ declare const _default: React.MemoExoticComponent<typeof ZSBlockButton>;
17
+ export default _default;
16
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSBlockButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAiD,WAAW,EAAoB,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAajJ,KAAK,KAAK,GAAG,SAAS,GAAG;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,iBAAS,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,+BAoH9J;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSBlockButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAS,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAoB,WAAW,EAAkC,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA8BjH,KAAK,KAAK,GAAG,SAAS,GAAG;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,iBAAS,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,qBA+C9J;;AAED,wBAAyC"}
@@ -1,106 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
1
3
  import { Image } from 'react-native';
2
4
  import { useTheme } from '../../context/ThemeContext';
5
+ import { resolveTextColor } from '../../theme/resolveColor';
3
6
  import ZSPressable from '../ZSPressable';
4
7
  import ZSView from '../ZSView';
5
8
  import ZSText from '../ZSText';
6
- function isColorMap(value) {
7
- return typeof value === 'object' && value !== null;
8
- }
9
+ // variant 별 텍스트 색상 토큰 (intent 단위 예외값 포함)
10
+ const PASTEL_TEXT_COLOR = {
11
+ primary: 'primary.60',
12
+ danger: 'danger.60',
13
+ information: 'information.60',
14
+ success: 'success.60',
15
+ warning: 'warning.60',
16
+ grey: 'grey.70',
17
+ };
18
+ const STROKE_TEXT_COLOR = {
19
+ primary: 'primary.50',
20
+ danger: 'danger.50',
21
+ information: 'information.50',
22
+ success: 'success.50',
23
+ warning: 'warning.60',
24
+ grey: 'grey.60',
25
+ };
26
+ // typo 크기(subStyle)별 패딩
27
+ const PADDING_HORIZONTAL = { '1': 11, '2': 11, '3': 10, '4': 8, '5': 7, '6': 5 };
28
+ const PADDING_VERTICAL = { '1': 9, '2': 9, '3': 8, '4': 6, '5': 5, '6': 4 };
9
29
  function ZSBlockButton({ onPress, style, title, intent = 'primary', typo, prefixIcon, variant = 'solid', isLoading = false, disabled = false, ...props }) {
10
30
  const { palette } = useTheme();
11
31
  const size = typo.split('.')[1];
12
- const getColors = () => {
13
- const baseColor = intent === 'danger' ? 'danger'
14
- : intent === 'primary' ? 'primary'
15
- : intent === 'information' ? 'information'
16
- : intent === 'success' ? 'success'
17
- : intent === 'warning' ? 'warning'
18
- : 'grey';
19
- if (variant === 'solid') {
20
- return {
21
- backgroundColor: `${baseColor}.50`,
22
- textColor: 'white',
23
- borderColor: undefined,
24
- borderWidth: 0,
25
- };
26
- }
27
- else if (variant === 'pastel') {
28
- return {
29
- backgroundColor: `${baseColor}.10`,
30
- textColor: (intent === 'danger' ? 'danger.60'
31
- : intent === 'primary' ? 'primary.60'
32
- : intent === 'information' ? 'information.60'
33
- : intent === 'success' ? 'success.60'
34
- : intent === 'warning' ? 'warning.60'
35
- : 'grey.70'),
36
- borderColor: undefined,
37
- borderWidth: 0,
38
- };
39
- }
40
- else { // stroke
41
- return {
42
- backgroundColor: 'transparent',
43
- textColor: (intent === 'danger' ? 'danger.50'
44
- : intent === 'primary' ? 'primary.50'
45
- : intent === 'information' ? 'information.50'
46
- : intent === 'success' ? 'success.50'
47
- : intent === 'warning' ? 'warning.60'
48
- : 'grey.60'),
49
- borderColor: intent === 'danger' ? palette.danger[50]
50
- : intent === 'primary' ? palette.primary[50]
51
- : intent === 'information' ? palette.information[50]
52
- : intent === 'success' ? palette.success[50]
53
- : intent === 'warning' ? palette.warning[50]
54
- : palette.grey[50],
55
- borderWidth: 1,
56
- };
57
- }
58
- };
59
- const colors = getColors();
60
- const paddingHorizontal = size === '1' ? 11
61
- : size === '2' ? 11
62
- : size === '3' ? 10
63
- : size === '4' ? 8
64
- : size === '5' ? 7
65
- : size === '6' ? 5
66
- : 10;
67
- const paddingVertical = size === '1' ? 9
68
- : size === '2' ? 9
69
- : size === '3' ? 8
70
- : size === '4' ? 6
71
- : size === '5' ? 5
72
- : size === '6' ? 4
73
- : 8;
74
- const getTextColorValue = () => {
75
- const [c01, c02] = colors.textColor.split('.');
76
- if (c02) {
77
- if (c01 === 'text')
78
- return palette.text[c02];
79
- if (c01 === 'background')
80
- return palette.background[c02];
81
- const semanticPalette = palette[c01];
82
- return isColorMap(semanticPalette) ? semanticPalette[c02] : undefined;
83
- }
84
- return palette.text[c01];
85
- };
86
- const textColorValue = getTextColorValue();
87
- return (<ZSPressable onPress={onPress} style={style} isLoading={isLoading} disabled={disabled} {...props}>
88
- <ZSView style={{
89
- paddingHorizontal,
90
- paddingVertical,
91
- borderRadius: 6,
92
- justifyContent: 'center',
93
- alignItems: 'center',
94
- flexDirection: 'row',
95
- gap: 4,
96
- backgroundColor: colors.backgroundColor === 'transparent' ? 'transparent' : undefined,
97
- borderColor: colors.borderColor,
98
- borderWidth: colors.borderWidth,
99
- }} color={colors.backgroundColor !== 'transparent' ? colors.backgroundColor : undefined}>
100
- {prefixIcon && (<Image style={{ width: 12, height: 12, marginTop: 1 }} tintColor={textColorValue} source={prefixIcon}/>)}
101
- <ZSText color={colors.textColor} typo={typo}>{title}</ZSText>
102
- </ZSView>
103
- </ZSPressable>);
32
+ const colors = variant === 'solid'
33
+ ? { backgroundColor: `${intent}.50`, textColor: 'white', borderColor: undefined, borderWidth: 0 }
34
+ : variant === 'pastel'
35
+ ? { backgroundColor: `${intent}.10`, textColor: PASTEL_TEXT_COLOR[intent], borderColor: undefined, borderWidth: 0 }
36
+ : { backgroundColor: 'transparent', textColor: STROKE_TEXT_COLOR[intent], borderColor: palette[intent][50], borderWidth: 1 };
37
+ const paddingHorizontal = PADDING_HORIZONTAL[size] ?? 10;
38
+ const paddingVertical = PADDING_VERTICAL[size] ?? 8;
39
+ const textColorValue = resolveTextColor(palette, colors.textColor);
40
+ return (_jsx(ZSPressable, { onPress: onPress, style: style, isLoading: isLoading, disabled: disabled, ...props, children: _jsxs(ZSView, { style: {
41
+ paddingHorizontal,
42
+ paddingVertical,
43
+ borderRadius: 6,
44
+ justifyContent: 'center',
45
+ alignItems: 'center',
46
+ flexDirection: 'row',
47
+ gap: 4,
48
+ backgroundColor: colors.backgroundColor === 'transparent' ? 'transparent' : undefined,
49
+ borderColor: colors.borderColor,
50
+ borderWidth: colors.borderWidth,
51
+ }, color: colors.backgroundColor !== 'transparent' ? colors.backgroundColor : undefined, children: [prefixIcon && (_jsx(Image, { style: { width: 12, height: 12, marginTop: 1 }, tintColor: textColorValue, source: prefixIcon })), _jsx(ZSText, { color: colors.textColor, typo: typo, children: title })] }) }));
104
52
  }
105
- export default ZSBlockButton;
53
+ export default React.memo(ZSBlockButton);
106
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSBlockButton/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Image, type ImageSourcePropType, type StyleProp, type ViewStyle, type ViewProps } from 'react-native';\nimport { ColorPalette, ThemeTextType, TypoColorOptions, TypoOptions, ViewColorOptions, IntentOptions, ThemeBackground } from '../../theme/types';\nimport { useTheme } from '../../context/ThemeContext';\nimport ZSPressable from '../ZSPressable';\nimport ZSView from '../ZSView';\nimport ZSText from '../ZSText';\n\ntype SemanticPaletteKey = 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'information' | 'grey';\ntype PaletteShade = keyof ColorPalette;\n\nfunction isColorMap(value: unknown): value is Record<string, string> {\n return typeof value === 'object' && value !== null;\n}\n\ntype Props = ViewProps & {\n onPress: () => void;\n style?: StyleProp<ViewStyle>;\n title: string;\n intent?: IntentOptions;\n variant?: 'solid' | 'pastel' | 'stroke';\n typo: TypoOptions;\n prefixIcon?: ImageSourcePropType;\n isLoading?: boolean;\n disabled?: boolean;\n};\n\nfunction ZSBlockButton({ onPress, style, title, intent = 'primary', typo, prefixIcon, variant = 'solid', isLoading = false, disabled = false, ...props }: Props) {\n const { palette } = useTheme();\n const size = typo.split('.')[1];\n\n const getColors = (): {\n backgroundColor: ViewColorOptions | 'transparent';\n textColor: TypoColorOptions;\n borderColor?: string;\n borderWidth: number;\n } => {\n const baseColor = intent === 'danger' ? 'danger'\n : intent === 'primary' ? 'primary'\n : intent === 'information' ? 'information'\n : intent === 'success' ? 'success'\n : intent === 'warning' ? 'warning'\n : 'grey';\n\n if (variant === 'solid') {\n return {\n backgroundColor: `${baseColor}.50` as ViewColorOptions,\n textColor: 'white' as TypoColorOptions,\n borderColor: undefined,\n borderWidth: 0,\n };\n } else if (variant === 'pastel') {\n return {\n backgroundColor: `${baseColor}.10` as ViewColorOptions,\n textColor: (intent === 'danger' ? 'danger.60'\n : intent === 'primary' ? 'primary.60'\n : intent === 'information' ? 'information.60'\n : intent === 'success' ? 'success.60'\n : intent === 'warning' ? 'warning.60'\n : 'grey.70') as TypoColorOptions,\n borderColor: undefined,\n borderWidth: 0,\n };\n } else { // stroke\n return {\n backgroundColor: 'transparent',\n textColor: (intent === 'danger' ? 'danger.50'\n : intent === 'primary' ? 'primary.50'\n : intent === 'information' ? 'information.50'\n : intent === 'success' ? 'success.50'\n : intent === 'warning' ? 'warning.60'\n : 'grey.60') as TypoColorOptions,\n borderColor: intent === 'danger' ? palette.danger[50]\n : intent === 'primary' ? palette.primary[50]\n : intent === 'information' ? palette.information[50]\n : intent === 'success' ? palette.success[50]\n : intent === 'warning' ? palette.warning[50]\n : palette.grey[50],\n borderWidth: 1,\n };\n }\n };\n\n const colors = getColors();\n\n const paddingHorizontal = size === '1' ? 11\n : size === '2' ? 11\n : size === '3' ? 10\n : size === '4' ? 8\n : size === '5' ? 7\n : size === '6' ? 5\n : 10;\n\n const paddingVertical = size === '1' ? 9\n : size === '2' ? 9\n : size === '3' ? 8\n : size === '4' ? 6\n : size === '5' ? 5\n : size === '6' ? 4\n : 8;\n\n const getTextColorValue = () => {\n const [c01, c02] = colors.textColor.split('.') as [string, string | undefined];\n if (c02) {\n if (c01 === 'text') return palette.text[c02 as keyof ThemeTextType];\n if (c01 === 'background') return palette.background[c02 as keyof ThemeBackground];\n\n const semanticPalette = palette[c01 as SemanticPaletteKey];\n return isColorMap(semanticPalette) ? semanticPalette[c02 as PaletteShade] : undefined;\n }\n return palette.text[c01 as keyof ThemeTextType];\n };\n\n const textColorValue = getTextColorValue();\n\n return (\n <ZSPressable onPress={onPress} style={style} isLoading={isLoading} disabled={disabled} {...props}>\n <ZSView\n style={{\n paddingHorizontal,\n paddingVertical,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'row',\n gap: 4,\n backgroundColor: colors.backgroundColor === 'transparent' ? 'transparent' : undefined,\n borderColor: colors.borderColor,\n borderWidth: colors.borderWidth,\n }}\n color={colors.backgroundColor !== 'transparent' ? colors.backgroundColor : undefined}\n >\n {prefixIcon && (\n <Image\n style={{ width: 12, height: 12, marginTop: 1 }}\n tintColor={textColorValue}\n source={prefixIcon}\n />\n )}\n <ZSText color={colors.textColor} typo={typo}>{title}</ZSText>\n </ZSView>\n </ZSPressable>\n );\n}\n\nexport default ZSBlockButton;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSBlockButton/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, type ImageSourcePropType, type StyleProp, type ViewStyle, type ViewProps } from 'react-native';\nimport { TypoColorOptions, TypoOptions, TypoSubStyle, ViewColorOptions, IntentOptions } from '../../theme/types';\nimport { useTheme } from '../../context/ThemeContext';\nimport { resolveTextColor } from '../../theme/resolveColor';\nimport ZSPressable from '../ZSPressable';\nimport ZSView from '../ZSView';\nimport ZSText from '../ZSText';\n\n// variant 별 텍스트 색상 토큰 (intent 단위 예외값 포함)\nconst PASTEL_TEXT_COLOR: Record<IntentOptions, TypoColorOptions> = {\n primary: 'primary.60',\n danger: 'danger.60',\n information: 'information.60',\n success: 'success.60',\n warning: 'warning.60',\n grey: 'grey.70',\n};\n\nconst STROKE_TEXT_COLOR: Record<IntentOptions, TypoColorOptions> = {\n primary: 'primary.50',\n danger: 'danger.50',\n information: 'information.50',\n success: 'success.50',\n warning: 'warning.60',\n grey: 'grey.60',\n};\n\n// typo 크기(subStyle)별 패딩\nconst PADDING_HORIZONTAL: Record<TypoSubStyle, number> = { '1': 11, '2': 11, '3': 10, '4': 8, '5': 7, '6': 5 };\nconst PADDING_VERTICAL: Record<TypoSubStyle, number> = { '1': 9, '2': 9, '3': 8, '4': 6, '5': 5, '6': 4 };\n\ntype Props = ViewProps & {\n onPress: () => void;\n style?: StyleProp<ViewStyle>;\n title: string;\n intent?: IntentOptions;\n variant?: 'solid' | 'pastel' | 'stroke';\n typo: TypoOptions;\n prefixIcon?: ImageSourcePropType;\n isLoading?: boolean;\n disabled?: boolean;\n};\n\nfunction ZSBlockButton({ onPress, style, title, intent = 'primary', typo, prefixIcon, variant = 'solid', isLoading = false, disabled = false, ...props }: Props) {\n const { palette } = useTheme();\n const size = typo.split('.')[1] as TypoSubStyle;\n\n const colors: {\n backgroundColor: ViewColorOptions | 'transparent';\n textColor: TypoColorOptions;\n borderColor?: string;\n borderWidth: number;\n } = variant === 'solid'\n ? { backgroundColor: `${intent}.50` as ViewColorOptions, textColor: 'white', borderColor: undefined, borderWidth: 0 }\n : variant === 'pastel'\n ? { backgroundColor: `${intent}.10` as ViewColorOptions, textColor: PASTEL_TEXT_COLOR[intent], borderColor: undefined, borderWidth: 0 }\n : { backgroundColor: 'transparent', textColor: STROKE_TEXT_COLOR[intent], borderColor: palette[intent][50], borderWidth: 1 };\n\n const paddingHorizontal = PADDING_HORIZONTAL[size] ?? 10;\n const paddingVertical = PADDING_VERTICAL[size] ?? 8;\n const textColorValue = resolveTextColor(palette, colors.textColor);\n\n return (\n <ZSPressable onPress={onPress} style={style} isLoading={isLoading} disabled={disabled} {...props}>\n <ZSView\n style={{\n paddingHorizontal,\n paddingVertical,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'row',\n gap: 4,\n backgroundColor: colors.backgroundColor === 'transparent' ? 'transparent' : undefined,\n borderColor: colors.borderColor,\n borderWidth: colors.borderWidth,\n }}\n color={colors.backgroundColor !== 'transparent' ? colors.backgroundColor : undefined}\n >\n {prefixIcon && (\n <Image\n style={{ width: 12, height: 12, marginTop: 1 }}\n tintColor={textColorValue}\n source={prefixIcon}\n />\n )}\n <ZSText color={colors.textColor} typo={typo}>{title}</ZSText>\n </ZSView>\n </ZSPressable>\n );\n}\n\nexport default React.memo(ZSBlockButton);\n"]}
@@ -17,6 +17,11 @@ export type ZSContainerProps = ViewProps & {
17
17
  scrollToFocusedInput?: boolean;
18
18
  foldableSingleScreen?: boolean;
19
19
  dividerLineComponent?: ReactNode;
20
+ /**
21
+ * 언폴딩 상태에서 rightComponent가 없을 때(단일 화면) 콘텐츠 최대 가로 길이(px).
22
+ * 전폭으로 늘리려면 false. 미지정 시 ThemeProvider의 foldable 설정값을 따른다.
23
+ */
24
+ unfoldedSinglePaneMaxWidth?: number | false;
20
25
  };
21
26
  export type ZSContainerRef = ScrollView;
22
27
  declare const ZSContainer: React.ForwardRefExoticComponent<ViewProps & {
@@ -36,6 +41,11 @@ declare const ZSContainer: React.ForwardRefExoticComponent<ViewProps & {
36
41
  scrollToFocusedInput?: boolean;
37
42
  foldableSingleScreen?: boolean;
38
43
  dividerLineComponent?: ReactNode;
44
+ /**
45
+ * 언폴딩 상태에서 rightComponent가 없을 때(단일 화면) 콘텐츠 최대 가로 길이(px).
46
+ * 전폭으로 늘리려면 false. 미지정 시 ThemeProvider의 foldable 설정값을 따른다.
47
+ */
48
+ unfoldedSinglePaneMaxWidth?: number | false;
39
49
  } & React.RefAttributes<ScrollView>>;
40
50
  export declare const styles: {
41
51
  flex1: {
@@ -50,6 +60,16 @@ export declare const styles: {
50
60
  width: "100%";
51
61
  flexGrow: number;
52
62
  };
63
+ outerLayer: {
64
+ flex: number;
65
+ width: "100%";
66
+ backgroundColor: string;
67
+ };
68
+ row: {
69
+ flex: number;
70
+ width: "100%";
71
+ flexDirection: "row";
72
+ };
53
73
  };
54
74
  export default ZSContainer;
55
75
  //# sourceMappingURL=index.d.ts.map
@@ -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,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
+ {"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,EAA6B,MAAM,cAAc,CAAC;AAehJ,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;IACjC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,QAAA,MAAM,WAAW;sBAzBG,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;IAChC;;;OAGG;iCAC0B,MAAM,GAAG,KAAK;oCAyO3C,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAMjB,CAAC;AAEH,eAAe,WAAW,CAAC"}