@0610studio/zs-ui 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/build/ZsUiModule.d.ts.map +1 -1
  2. package/build/ZsUiModule.js +0 -2
  3. package/build/ZsUiModule.js.map +1 -1
  4. package/build/assets/SvgExclamation.d.ts.map +1 -1
  5. package/build/assets/SvgExclamation.js.map +1 -1
  6. package/build/assets/SvgTooltipTail.d.ts +7 -0
  7. package/build/assets/SvgTooltipTail.d.ts.map +1 -0
  8. package/build/assets/SvgTooltipTail.js +7 -0
  9. package/build/assets/SvgTooltipTail.js.map +1 -0
  10. package/build/context/OverlayContext.d.ts.map +1 -1
  11. package/build/context/OverlayContext.js +11 -14
  12. package/build/context/OverlayContext.js.map +1 -1
  13. package/build/context/ThemeContext.d.ts +9 -0
  14. package/build/context/ThemeContext.d.ts.map +1 -1
  15. package/build/context/ThemeContext.js +24 -15
  16. package/build/context/ThemeContext.js.map +1 -1
  17. package/build/index.d.ts +16 -3
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +7 -7
  20. package/build/index.js.map +1 -1
  21. package/build/model/globalOverlay.d.ts +0 -8
  22. package/build/model/globalOverlay.d.ts.map +1 -1
  23. package/build/model/globalOverlay.js +0 -9
  24. package/build/model/globalOverlay.js.map +1 -1
  25. package/build/model/types.d.ts +2 -1
  26. package/build/model/types.d.ts.map +1 -1
  27. package/build/model/types.js.map +1 -1
  28. package/build/model/useFoldingState.d.ts.map +1 -1
  29. package/build/model/useFoldingState.js +51 -32
  30. package/build/model/useFoldingState.js.map +1 -1
  31. package/build/model/useKeyboard.d.ts.map +1 -1
  32. package/build/model/useKeyboard.js +8 -4
  33. package/build/model/useKeyboard.js.map +1 -1
  34. package/build/model/utils.d.ts +1 -1
  35. package/build/model/utils.d.ts.map +1 -1
  36. package/build/model/utils.js +2 -1
  37. package/build/model/utils.js.map +1 -1
  38. package/build/overlay/AlertOverlay/index.d.ts +1 -2
  39. package/build/overlay/AlertOverlay/index.d.ts.map +1 -1
  40. package/build/overlay/AlertOverlay/index.js +13 -11
  41. package/build/overlay/AlertOverlay/index.js.map +1 -1
  42. package/build/overlay/BottomSheetOverlay/index.d.ts.map +1 -1
  43. package/build/overlay/BottomSheetOverlay/index.js +22 -11
  44. package/build/overlay/BottomSheetOverlay/index.js.map +1 -1
  45. package/build/overlay/LoadingNotify/index.d.ts +2 -2
  46. package/build/overlay/LoadingNotify/index.d.ts.map +1 -1
  47. package/build/overlay/LoadingNotify/index.js +2 -2
  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 +6 -12
  51. package/build/overlay/Modality/index.js.map +1 -1
  52. package/build/overlay/PopOver/PopOverMenu.d.ts.map +1 -1
  53. package/build/overlay/PopOver/PopOverMenu.js +7 -8
  54. package/build/overlay/PopOver/PopOverMenu.js.map +1 -1
  55. package/build/overlay/SnackbarNotify/index.d.ts +3 -3
  56. package/build/overlay/SnackbarNotify/index.d.ts.map +1 -1
  57. package/build/overlay/SnackbarNotify/index.js +5 -4
  58. package/build/overlay/SnackbarNotify/index.js.map +1 -1
  59. package/build/overlay/SnackbarNotify/ui/SnackbarItem.d.ts +4 -4
  60. package/build/overlay/SnackbarNotify/ui/SnackbarItem.d.ts.map +1 -1
  61. package/build/overlay/SnackbarNotify/ui/SnackbarItem.js +9 -9
  62. package/build/overlay/SnackbarNotify/ui/SnackbarItem.js.map +1 -1
  63. package/build/overlay/ZSPortal/index.d.ts.map +1 -1
  64. package/build/overlay/ZSPortal/index.js +15 -4
  65. package/build/overlay/ZSPortal/index.js.map +1 -1
  66. package/build/overlay/ui/ModalBackground.js.map +1 -1
  67. package/build/theme/elevation.d.ts +94 -10
  68. package/build/theme/elevation.d.ts.map +1 -1
  69. package/build/theme/elevation.js +39 -35
  70. package/build/theme/elevation.js.map +1 -1
  71. package/build/theme/intentColors.d.ts +9 -0
  72. package/build/theme/intentColors.d.ts.map +1 -0
  73. package/build/theme/intentColors.js +30 -0
  74. package/build/theme/intentColors.js.map +1 -0
  75. package/build/theme/palette.d.ts +1 -5
  76. package/build/theme/palette.d.ts.map +1 -1
  77. package/build/theme/palette.js +3 -12
  78. package/build/theme/palette.js.map +1 -1
  79. package/build/theme/resolveColor.d.ts +4 -0
  80. package/build/theme/resolveColor.d.ts.map +1 -0
  81. package/build/theme/resolveColor.js +29 -0
  82. package/build/theme/resolveColor.js.map +1 -0
  83. package/build/theme/tokens.d.ts +35 -0
  84. package/build/theme/tokens.d.ts.map +1 -0
  85. package/build/theme/tokens.js +35 -0
  86. package/build/theme/tokens.js.map +1 -0
  87. package/build/theme/typography.d.ts.map +1 -1
  88. package/build/theme/typography.js +36 -72
  89. package/build/theme/typography.js.map +1 -1
  90. package/build/ui/ZSBlockButton/index.d.ts +4 -2
  91. package/build/ui/ZSBlockButton/index.d.ts.map +1 -1
  92. package/build/ui/ZSBlockButton/index.js +17 -80
  93. package/build/ui/ZSBlockButton/index.js.map +1 -1
  94. package/build/ui/ZSBorderBeam/index.d.ts +48 -0
  95. package/build/ui/ZSBorderBeam/index.d.ts.map +1 -0
  96. package/build/ui/ZSBorderBeam/index.js +135 -0
  97. package/build/ui/ZSBorderBeam/index.js.map +1 -0
  98. package/build/ui/ZSCheckBox/index.d.ts +18 -0
  99. package/build/ui/ZSCheckBox/index.d.ts.map +1 -0
  100. package/build/ui/ZSCheckBox/index.js +60 -0
  101. package/build/ui/ZSCheckBox/index.js.map +1 -0
  102. package/build/ui/ZSChip/index.d.ts +28 -0
  103. package/build/ui/ZSChip/index.d.ts.map +1 -0
  104. package/build/ui/ZSChip/index.js +76 -0
  105. package/build/ui/ZSChip/index.js.map +1 -0
  106. package/build/ui/ZSContainer/index.d.ts +19 -0
  107. package/build/ui/ZSContainer/index.d.ts.map +1 -1
  108. package/build/ui/ZSContainer/index.js +29 -15
  109. package/build/ui/ZSContainer/index.js.map +1 -1
  110. package/build/ui/ZSPressable/index.d.ts.map +1 -1
  111. package/build/ui/ZSPressable/index.js +9 -6
  112. package/build/ui/ZSPressable/index.js.map +1 -1
  113. package/build/ui/ZSRadioGroup/index.d.ts +4 -4
  114. package/build/ui/ZSRadioGroup/index.d.ts.map +1 -1
  115. package/build/ui/ZSRadioGroup/index.js +72 -52
  116. package/build/ui/ZSRadioGroup/index.js.map +1 -1
  117. package/build/ui/ZSSegmented/index.d.ts +26 -0
  118. package/build/ui/ZSSegmented/index.d.ts.map +1 -0
  119. package/build/ui/ZSSegmented/index.js +124 -0
  120. package/build/ui/ZSSegmented/index.js.map +1 -0
  121. package/build/ui/ZSSkeleton/SkiaShimmer.d.ts +18 -0
  122. package/build/ui/ZSSkeleton/SkiaShimmer.d.ts.map +1 -0
  123. package/build/ui/ZSSkeleton/SkiaShimmer.js +73 -0
  124. package/build/ui/ZSSkeleton/SkiaShimmer.js.map +1 -0
  125. package/build/ui/ZSSkeleton/index.d.ts +9 -3
  126. package/build/ui/ZSSkeleton/index.d.ts.map +1 -1
  127. package/build/ui/ZSSkeleton/index.js +13 -44
  128. package/build/ui/ZSSkeleton/index.js.map +1 -1
  129. package/build/ui/ZSSkeletonBox/index.d.ts +10 -3
  130. package/build/ui/ZSSkeletonBox/index.d.ts.map +1 -1
  131. package/build/ui/ZSSkeletonBox/index.js +9 -47
  132. package/build/ui/ZSSkeletonBox/index.js.map +1 -1
  133. package/build/ui/ZSSwitch/index.d.ts +4 -2
  134. package/build/ui/ZSSwitch/index.d.ts.map +1 -1
  135. package/build/ui/ZSSwitch/index.js +8 -6
  136. package/build/ui/ZSSwitch/index.js.map +1 -1
  137. package/build/ui/ZSText/index.d.ts +3 -2
  138. package/build/ui/ZSText/index.d.ts.map +1 -1
  139. package/build/ui/ZSText/index.js +5 -16
  140. package/build/ui/ZSText/index.js.map +1 -1
  141. package/build/ui/ZSTextField/index.d.ts.map +1 -1
  142. package/build/ui/ZSTextField/index.js +57 -40
  143. package/build/ui/ZSTextField/index.js.map +1 -1
  144. package/build/ui/ZSTextField/ui/ButtonClose.d.ts.map +1 -1
  145. package/build/ui/ZSTextField/ui/ButtonClose.js +4 -1
  146. package/build/ui/ZSTextField/ui/ButtonClose.js.map +1 -1
  147. package/build/ui/ZSTooltip/index.d.ts +38 -0
  148. package/build/ui/ZSTooltip/index.d.ts.map +1 -0
  149. package/build/ui/ZSTooltip/index.js +99 -0
  150. package/build/ui/ZSTooltip/index.js.map +1 -0
  151. package/build/ui/ZSView/index.d.ts +3 -2
  152. package/build/ui/ZSView/index.d.ts.map +1 -1
  153. package/build/ui/ZSView/index.js +7 -8
  154. package/build/ui/ZSView/index.js.map +1 -1
  155. package/build/ui/atoms/AnimatedWrapper.d.ts.map +1 -1
  156. package/build/ui/atoms/AnimatedWrapper.js +33 -40
  157. package/build/ui/atoms/AnimatedWrapper.js.map +1 -1
  158. package/build/ui/atoms/TextAtom.d.ts +1 -2
  159. package/build/ui/atoms/TextAtom.d.ts.map +1 -1
  160. package/build/ui/atoms/TextAtom.js.map +1 -1
  161. package/build/ui/atoms/ViewAtom.d.ts +1 -2
  162. package/build/ui/atoms/ViewAtom.d.ts.map +1 -1
  163. package/build/ui/atoms/ViewAtom.js.map +1 -1
  164. package/package.json +6 -1
@@ -0,0 +1,35 @@
1
+ /** 컴포넌트 공통 곡률 스케일 */
2
+ export declare const RADIUS: {
3
+ /** 체크박스 등 소형 요소 */
4
+ readonly xs: 4;
5
+ /** 소형 버튼 */
6
+ readonly sm: 6;
7
+ /** 중형 버튼 (Alert 버튼 등) */
8
+ readonly md: 12;
9
+ /** 입력 필드 · 카드 */
10
+ readonly lg: 14;
11
+ /** 스낵바 · pressed 배경 */
12
+ readonly xl: 16;
13
+ /** 다이얼로그 컨테이너 */
14
+ readonly xxl: 22;
15
+ /** 바텀시트 */
16
+ readonly sheet: 26;
17
+ /** 완전한 pill/원형 */
18
+ readonly pill: 9999;
19
+ };
20
+ /** 애니메이션 duration 공통 스케일 (ms) */
21
+ export declare const DURATION: {
22
+ /** press in/out · 오버레이 퇴장 */
23
+ readonly press: 100;
24
+ /** 입력 필드 포커스 등 빠른 전환 */
25
+ readonly fast: 150;
26
+ /** 상태 전환 기본값 (칩 선택, 스위치 등) */
27
+ readonly base: 200;
28
+ /** 이동 애니메이션 (세그먼트 thumb, 스낵바 등) */
29
+ readonly slow: 250;
30
+ /** 오버레이 진입 */
31
+ readonly enter: 300;
32
+ };
33
+ /** disabled 상태 공통 투명도 */
34
+ export declare const DISABLED_OPACITY = 0.5;
35
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,eAAO,MAAM,MAAM;IACjB,mBAAmB;;IAEnB,YAAY;;IAEZ,yBAAyB;;IAEzB,iBAAiB;;IAEjB,uBAAuB;;IAEvB,iBAAiB;;IAEjB,WAAW;;IAEX,kBAAkB;;CAEV,CAAC;AAEX,iCAAiC;AACjC,eAAO,MAAM,QAAQ;IACnB,6BAA6B;;IAE7B,wBAAwB;;IAExB,8BAA8B;;IAE9B,mCAAmC;;IAEnC,cAAc;;CAEN,CAAC;AAEX,yBAAyB;AACzB,eAAO,MAAM,gBAAgB,MAAM,CAAC"}
@@ -0,0 +1,35 @@
1
+ /** 컴포넌트 공통 곡률 스케일 */
2
+ export const RADIUS = {
3
+ /** 체크박스 등 소형 요소 */
4
+ xs: 4,
5
+ /** 소형 버튼 */
6
+ sm: 6,
7
+ /** 중형 버튼 (Alert 버튼 등) */
8
+ md: 12,
9
+ /** 입력 필드 · 카드 */
10
+ lg: 14,
11
+ /** 스낵바 · pressed 배경 */
12
+ xl: 16,
13
+ /** 다이얼로그 컨테이너 */
14
+ xxl: 22,
15
+ /** 바텀시트 */
16
+ sheet: 26,
17
+ /** 완전한 pill/원형 */
18
+ pill: 9999,
19
+ };
20
+ /** 애니메이션 duration 공통 스케일 (ms) */
21
+ export const DURATION = {
22
+ /** press in/out · 오버레이 퇴장 */
23
+ press: 100,
24
+ /** 입력 필드 포커스 등 빠른 전환 */
25
+ fast: 150,
26
+ /** 상태 전환 기본값 (칩 선택, 스위치 등) */
27
+ base: 200,
28
+ /** 이동 애니메이션 (세그먼트 thumb, 스낵바 등) */
29
+ slow: 250,
30
+ /** 오버레이 진입 */
31
+ enter: 300,
32
+ };
33
+ /** disabled 상태 공통 투명도 */
34
+ export const DISABLED_OPACITY = 0.5;
35
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,mBAAmB;IACnB,EAAE,EAAE,CAAC;IACL,YAAY;IACZ,EAAE,EAAE,CAAC;IACL,yBAAyB;IACzB,EAAE,EAAE,EAAE;IACN,iBAAiB;IACjB,EAAE,EAAE,EAAE;IACN,uBAAuB;IACvB,EAAE,EAAE,EAAE;IACN,iBAAiB;IACjB,GAAG,EAAE,EAAE;IACP,WAAW;IACX,KAAK,EAAE,EAAE;IACT,kBAAkB;IAClB,IAAI,EAAE,IAAI;CACF,CAAC;AAEX,iCAAiC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,6BAA6B;IAC7B,KAAK,EAAE,GAAG;IACV,wBAAwB;IACxB,IAAI,EAAE,GAAG;IACT,8BAA8B;IAC9B,IAAI,EAAE,GAAG;IACT,mCAAmC;IACnC,IAAI,EAAE,GAAG;IACT,cAAc;IACd,KAAK,EAAE,GAAG;CACF,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC","sourcesContent":["/** 컴포넌트 공통 곡률 스케일 */\nexport const RADIUS = {\n /** 체크박스 등 소형 요소 */\n xs: 4,\n /** 소형 버튼 */\n sm: 6,\n /** 중형 버튼 (Alert 버튼 등) */\n md: 12,\n /** 입력 필드 · 카드 */\n lg: 14,\n /** 스낵바 · pressed 배경 */\n xl: 16,\n /** 다이얼로그 컨테이너 */\n xxl: 22,\n /** 바텀시트 */\n sheet: 26,\n /** 완전한 pill/원형 */\n pill: 9999,\n} as const;\n\n/** 애니메이션 duration 공통 스케일 (ms) */\nexport const DURATION = {\n /** press in/out · 오버레이 퇴장 */\n press: 100,\n /** 입력 필드 포커스 등 빠른 전환 */\n fast: 150,\n /** 상태 전환 기본값 (칩 선택, 스위치 등) */\n base: 200,\n /** 이동 애니메이션 (세그먼트 thumb, 스낵바 등) */\n slow: 250,\n /** 오버레이 진입 */\n enter: 300,\n} as const;\n\n/** disabled 상태 공통 투명도 */\nexport const DISABLED_OPACITY = 0.5;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/theme/typography.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAI9D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,uBAAuB,CAoMvG"}
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/theme/typography.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAI9D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,uBAAuB,CAgKvG"}
@@ -5,193 +5,157 @@ export default function typography({ themeFonts }) {
5
5
  heading: {
6
6
  1: {
7
7
  fontSize: baseSize + 36,
8
- fontFamily: themeFonts?.[700],
9
- letterSpacing: 1
8
+ fontFamily: themeFonts?.[700]
10
9
  },
11
10
  2: {
12
11
  fontSize: baseSize + 32,
13
- fontFamily: themeFonts?.[700],
14
- letterSpacing: 1
12
+ fontFamily: themeFonts?.[700]
15
13
  },
16
14
  3: {
17
15
  fontSize: baseSize + 28,
18
- fontFamily: themeFonts?.[700],
19
- letterSpacing: 1
16
+ fontFamily: themeFonts?.[700]
20
17
  },
21
18
  4: {
22
19
  fontSize: baseSize + 24,
23
- fontFamily: themeFonts?.[700],
24
- letterSpacing: 1
20
+ fontFamily: themeFonts?.[700]
25
21
  },
26
22
  5: {
27
23
  fontSize: baseSize + 20,
28
- fontFamily: themeFonts?.[700],
29
- letterSpacing: 1
24
+ fontFamily: themeFonts?.[700]
30
25
  },
31
26
  6: {
32
27
  fontSize: baseSize + 18,
33
- fontFamily: themeFonts?.[700],
34
- letterSpacing: 1
28
+ fontFamily: themeFonts?.[700]
35
29
  }
36
30
  },
37
31
  title: {
38
32
  1: {
39
33
  fontSize: baseSize + 16,
40
- fontFamily: themeFonts?.[700],
41
- letterSpacing: 1
34
+ fontFamily: themeFonts?.[700]
42
35
  },
43
36
  2: {
44
37
  fontSize: baseSize + 14,
45
- fontFamily: themeFonts?.[700],
46
- letterSpacing: 1
38
+ fontFamily: themeFonts?.[700]
47
39
  },
48
40
  3: {
49
41
  fontSize: baseSize + 13,
50
- fontFamily: themeFonts?.[700],
51
- letterSpacing: 1
42
+ fontFamily: themeFonts?.[700]
52
43
  },
53
44
  4: {
54
45
  fontSize: baseSize + 12,
55
- fontFamily: themeFonts?.[700],
56
- letterSpacing: 1
46
+ fontFamily: themeFonts?.[700]
57
47
  },
58
48
  5: {
59
49
  fontSize: baseSize + 11,
60
- fontFamily: themeFonts?.[700],
61
- letterSpacing: 1
50
+ fontFamily: themeFonts?.[700]
62
51
  },
63
52
  6: {
64
53
  fontSize: baseSize + 10,
65
- fontFamily: themeFonts?.[700],
66
- letterSpacing: 1
54
+ fontFamily: themeFonts?.[700]
67
55
  }
68
56
  },
69
57
  subTitle: {
70
58
  1: {
71
59
  fontSize: baseSize + 16,
72
- fontFamily: themeFonts?.[600],
73
- letterSpacing: 1
60
+ fontFamily: themeFonts?.[600]
74
61
  },
75
62
  2: {
76
63
  fontSize: baseSize + 14,
77
- fontFamily: themeFonts?.[600],
78
- letterSpacing: 1
64
+ fontFamily: themeFonts?.[600]
79
65
  },
80
66
  3: {
81
67
  fontSize: baseSize + 13,
82
- fontFamily: themeFonts?.[600],
83
- letterSpacing: 1
68
+ fontFamily: themeFonts?.[600]
84
69
  },
85
70
  4: {
86
71
  fontSize: baseSize + 12,
87
- fontFamily: themeFonts?.[600],
88
- letterSpacing: 1
72
+ fontFamily: themeFonts?.[600]
89
73
  },
90
74
  5: {
91
75
  fontSize: baseSize + 11,
92
- fontFamily: themeFonts?.[600],
93
- letterSpacing: 1
76
+ fontFamily: themeFonts?.[600]
94
77
  },
95
78
  6: {
96
79
  fontSize: baseSize + 10,
97
- fontFamily: themeFonts?.[600],
98
- letterSpacing: 1
80
+ fontFamily: themeFonts?.[600]
99
81
  }
100
82
  },
101
83
  label: {
102
84
  1: {
103
85
  fontSize: baseSize + 16,
104
- fontFamily: themeFonts?.[500],
105
- letterSpacing: 1
86
+ fontFamily: themeFonts?.[500]
106
87
  },
107
88
  2: {
108
89
  fontSize: baseSize + 14,
109
- fontFamily: themeFonts?.[500],
110
- letterSpacing: 1
90
+ fontFamily: themeFonts?.[500]
111
91
  },
112
92
  3: {
113
93
  fontSize: baseSize + 13,
114
- fontFamily: themeFonts?.[500],
115
- letterSpacing: 1
94
+ fontFamily: themeFonts?.[500]
116
95
  },
117
96
  4: {
118
97
  fontSize: baseSize + 12,
119
- fontFamily: themeFonts?.[500],
120
- letterSpacing: 1
98
+ fontFamily: themeFonts?.[500]
121
99
  },
122
100
  5: {
123
101
  fontSize: baseSize + 11,
124
- fontFamily: themeFonts?.[500],
125
- letterSpacing: 1
102
+ fontFamily: themeFonts?.[500]
126
103
  },
127
104
  6: {
128
105
  fontSize: baseSize + 10,
129
- fontFamily: themeFonts?.[500],
130
- letterSpacing: 1
106
+ fontFamily: themeFonts?.[500]
131
107
  }
132
108
  },
133
109
  body: {
134
110
  1: {
135
111
  fontSize: baseSize + 16,
136
- fontFamily: themeFonts?.[400],
137
- letterSpacing: 1
112
+ fontFamily: themeFonts?.[400]
138
113
  },
139
114
  2: {
140
115
  fontSize: baseSize + 14,
141
- fontFamily: themeFonts?.[400],
142
- letterSpacing: 1
116
+ fontFamily: themeFonts?.[400]
143
117
  },
144
118
  3: {
145
119
  fontSize: baseSize + 13,
146
- fontFamily: themeFonts?.[400],
147
- letterSpacing: 1
120
+ fontFamily: themeFonts?.[400]
148
121
  },
149
122
  4: {
150
123
  fontSize: baseSize + 12,
151
- fontFamily: themeFonts?.[400],
152
- letterSpacing: 1
124
+ fontFamily: themeFonts?.[400]
153
125
  },
154
126
  5: {
155
127
  fontSize: baseSize + 11,
156
- fontFamily: themeFonts?.[400],
157
- letterSpacing: 1
128
+ fontFamily: themeFonts?.[400]
158
129
  },
159
130
  6: {
160
131
  fontSize: baseSize + 10,
161
- fontFamily: themeFonts?.[400],
162
- letterSpacing: 1
132
+ fontFamily: themeFonts?.[400]
163
133
  }
164
134
  },
165
135
  caption: {
166
136
  1: {
167
137
  fontSize: baseSize + 12,
168
- fontFamily: themeFonts?.[400],
169
- letterSpacing: 1
138
+ fontFamily: themeFonts?.[400]
170
139
  },
171
140
  2: {
172
141
  fontSize: baseSize + 11,
173
- fontFamily: themeFonts?.[400],
174
- letterSpacing: 1
142
+ fontFamily: themeFonts?.[400]
175
143
  },
176
144
  3: {
177
145
  fontSize: baseSize + 10,
178
- fontFamily: themeFonts?.[400],
179
- letterSpacing: 1
146
+ fontFamily: themeFonts?.[400]
180
147
  },
181
148
  4: {
182
149
  fontSize: baseSize + 9,
183
- fontFamily: themeFonts?.[400],
184
- letterSpacing: 1
150
+ fontFamily: themeFonts?.[400]
185
151
  },
186
152
  5: {
187
153
  fontSize: baseSize + 8,
188
- fontFamily: themeFonts?.[400],
189
- letterSpacing: 1
154
+ fontFamily: themeFonts?.[400]
190
155
  },
191
156
  6: {
192
157
  fontSize: baseSize + 7,
193
- fontFamily: themeFonts?.[400],
194
- letterSpacing: 1
158
+ fontFamily: themeFonts?.[400]
195
159
  }
196
160
  },
197
161
  };
@@ -1 +1 @@
1
- {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/theme/typography.ts"],"names":[],"mappings":"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","sourcesContent":["import { ThemeFonts, TypographyVariantsProps } from \"./types\";\n\nconst baseSize = 0;\n\nexport default function typography({ themeFonts }: { themeFonts?: ThemeFonts }): TypographyVariantsProps {\n return {\n themeFonts: themeFonts,\n heading: {\n 1: {\n fontSize: baseSize + 36,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 2: {\n fontSize: baseSize + 32,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 3: {\n fontSize: baseSize + 28,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 4: {\n fontSize: baseSize + 24,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 5: {\n fontSize: baseSize + 20,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 6: {\n fontSize: baseSize + 18,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n }\n },\n title: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[700],\n letterSpacing: 1\n }\n },\n subTitle: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[600],\n letterSpacing: 1\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[600],\n letterSpacing: 1\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[600],\n letterSpacing: 1\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[600],\n letterSpacing: 1\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[600],\n letterSpacing: 1\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[600],\n letterSpacing: 1\n }\n },\n label: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[500],\n letterSpacing: 1\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[500],\n letterSpacing: 1\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[500],\n letterSpacing: 1\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[500],\n letterSpacing: 1\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[500],\n letterSpacing: 1\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[500],\n letterSpacing: 1\n }\n },\n body: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n }\n },\n caption: {\n 1: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 2: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 3: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 4: {\n fontSize: baseSize + 9,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 5: {\n fontSize: baseSize + 8,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n },\n 6: {\n fontSize: baseSize + 7,\n fontFamily: themeFonts?.[400],\n letterSpacing: 1\n }\n },\n }\n}\n"]}
1
+ {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/theme/typography.ts"],"names":[],"mappings":"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","sourcesContent":["import { ThemeFonts, TypographyVariantsProps } from \"./types\";\n\nconst baseSize = 0;\n\nexport default function typography({ themeFonts }: { themeFonts?: ThemeFonts }): TypographyVariantsProps {\n return {\n themeFonts: themeFonts,\n heading: {\n 1: {\n fontSize: baseSize + 36,\n fontFamily: themeFonts?.[700]\n },\n 2: {\n fontSize: baseSize + 32,\n fontFamily: themeFonts?.[700]\n },\n 3: {\n fontSize: baseSize + 28,\n fontFamily: themeFonts?.[700]\n },\n 4: {\n fontSize: baseSize + 24,\n fontFamily: themeFonts?.[700]\n },\n 5: {\n fontSize: baseSize + 20,\n fontFamily: themeFonts?.[700]\n },\n 6: {\n fontSize: baseSize + 18,\n fontFamily: themeFonts?.[700]\n }\n },\n title: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[700]\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[700]\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[700]\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[700]\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[700]\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[700]\n }\n },\n subTitle: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[600]\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[600]\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[600]\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[600]\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[600]\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[600]\n }\n },\n label: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[500]\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[500]\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[500]\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[500]\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[500]\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[500]\n }\n },\n body: {\n 1: {\n fontSize: baseSize + 16,\n fontFamily: themeFonts?.[400]\n },\n 2: {\n fontSize: baseSize + 14,\n fontFamily: themeFonts?.[400]\n },\n 3: {\n fontSize: baseSize + 13,\n fontFamily: themeFonts?.[400]\n },\n 4: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[400]\n },\n 5: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[400]\n },\n 6: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[400]\n }\n },\n caption: {\n 1: {\n fontSize: baseSize + 12,\n fontFamily: themeFonts?.[400]\n },\n 2: {\n fontSize: baseSize + 11,\n fontFamily: themeFonts?.[400]\n },\n 3: {\n fontSize: baseSize + 10,\n fontFamily: themeFonts?.[400]\n },\n 4: {\n fontSize: baseSize + 9,\n fontFamily: themeFonts?.[400]\n },\n 5: {\n fontSize: baseSize + 8,\n fontFamily: themeFonts?.[400]\n },\n 6: {\n fontSize: baseSize + 7,\n fontFamily: themeFonts?.[400]\n }\n },\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;AAajH,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,94 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
2
3
  import { Image } from 'react-native';
3
4
  import { useTheme } from '../../context/ThemeContext';
5
+ import { resolveTextColor } from '../../theme/resolveColor';
6
+ import { PASTEL_TEXT_COLOR, SOLID_TEXT_COLOR, STROKE_TEXT_COLOR } from '../../theme/intentColors';
7
+ import { RADIUS } from '../../theme/tokens';
4
8
  import ZSPressable from '../ZSPressable';
5
9
  import ZSView from '../ZSView';
6
10
  import ZSText from '../ZSText';
7
- function isColorMap(value) {
8
- return typeof value === 'object' && value !== null;
9
- }
11
+ // typo 크기(subStyle) 패딩
12
+ const PADDING_HORIZONTAL = { '1': 11, '2': 11, '3': 10, '4': 8, '5': 7, '6': 5 };
13
+ const PADDING_VERTICAL = { '1': 9, '2': 9, '3': 8, '4': 6, '5': 5, '6': 4 };
10
14
  function ZSBlockButton({ onPress, style, title, intent = 'primary', typo, prefixIcon, variant = 'solid', isLoading = false, disabled = false, ...props }) {
11
15
  const { palette } = useTheme();
12
16
  const size = typo.split('.')[1];
13
- const getColors = () => {
14
- const baseColor = intent === 'danger' ? 'danger'
15
- : intent === 'primary' ? 'primary'
16
- : intent === 'information' ? 'information'
17
- : intent === 'success' ? 'success'
18
- : intent === 'warning' ? 'warning'
19
- : 'grey';
20
- if (variant === 'solid') {
21
- return {
22
- backgroundColor: `${baseColor}.50`,
23
- textColor: 'white',
24
- borderColor: undefined,
25
- borderWidth: 0,
26
- };
27
- }
28
- else if (variant === 'pastel') {
29
- return {
30
- backgroundColor: `${baseColor}.10`,
31
- textColor: (intent === 'danger' ? 'danger.60'
32
- : intent === 'primary' ? 'primary.60'
33
- : intent === 'information' ? 'information.60'
34
- : intent === 'success' ? 'success.60'
35
- : intent === 'warning' ? 'warning.60'
36
- : 'grey.70'),
37
- borderColor: undefined,
38
- borderWidth: 0,
39
- };
40
- }
41
- else { // stroke
42
- return {
43
- backgroundColor: 'transparent',
44
- textColor: (intent === 'danger' ? 'danger.50'
45
- : intent === 'primary' ? 'primary.50'
46
- : intent === 'information' ? 'information.50'
47
- : intent === 'success' ? 'success.50'
48
- : intent === 'warning' ? 'warning.60'
49
- : 'grey.60'),
50
- borderColor: intent === 'danger' ? palette.danger[50]
51
- : intent === 'primary' ? palette.primary[50]
52
- : intent === 'information' ? palette.information[50]
53
- : intent === 'success' ? palette.success[50]
54
- : intent === 'warning' ? palette.warning[50]
55
- : palette.grey[50],
56
- borderWidth: 1,
57
- };
58
- }
59
- };
60
- const colors = getColors();
61
- const paddingHorizontal = size === '1' ? 11
62
- : size === '2' ? 11
63
- : size === '3' ? 10
64
- : size === '4' ? 8
65
- : size === '5' ? 7
66
- : size === '6' ? 5
67
- : 10;
68
- const paddingVertical = size === '1' ? 9
69
- : size === '2' ? 9
70
- : size === '3' ? 8
71
- : size === '4' ? 6
72
- : size === '5' ? 5
73
- : size === '6' ? 4
74
- : 8;
75
- const getTextColorValue = () => {
76
- const [c01, c02] = colors.textColor.split('.');
77
- if (c02) {
78
- if (c01 === 'text')
79
- return palette.text[c02];
80
- if (c01 === 'background')
81
- return palette.background[c02];
82
- const semanticPalette = palette[c01];
83
- return isColorMap(semanticPalette) ? semanticPalette[c02] : undefined;
84
- }
85
- return palette.text[c01];
86
- };
87
- const textColorValue = getTextColorValue();
17
+ const colors = variant === 'solid'
18
+ ? { backgroundColor: `${intent}.50`, textColor: SOLID_TEXT_COLOR[intent], borderColor: undefined, borderWidth: 0 }
19
+ : variant === 'pastel'
20
+ ? { backgroundColor: `${intent}.10`, textColor: PASTEL_TEXT_COLOR[intent], borderColor: undefined, borderWidth: 0 }
21
+ : { backgroundColor: 'transparent', textColor: STROKE_TEXT_COLOR[intent], borderColor: palette[intent][50], borderWidth: 1 };
22
+ const paddingHorizontal = PADDING_HORIZONTAL[size] ?? 10;
23
+ const paddingVertical = PADDING_VERTICAL[size] ?? 8;
24
+ const textColorValue = resolveTextColor(palette, colors.textColor);
88
25
  return (_jsx(ZSPressable, { onPress: onPress, style: style, isLoading: isLoading, disabled: disabled, ...props, children: _jsxs(ZSView, { style: {
89
26
  paddingHorizontal,
90
27
  paddingVertical,
91
- borderRadius: 6,
28
+ borderRadius: RADIUS.sm,
92
29
  justifyContent: 'center',
93
30
  alignItems: 'center',
94
31
  flexDirection: 'row',
@@ -98,5 +35,5 @@ function ZSBlockButton({ onPress, style, title, intent = 'primary', typo, prefix
98
35
  borderWidth: colors.borderWidth,
99
36
  }, 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 })] }) }));
100
37
  }
101
- export default ZSBlockButton;
38
+ export default React.memo(ZSBlockButton);
102
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/ZSBlockButton/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAA4E,MAAM,cAAc,CAAC;AAE/G,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,MAAM,MAAM,WAAW,CAAC;AAK/B,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAcD,SAAS,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,EAAS;IAC7J,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhC,MAAM,SAAS,GAAG,GAKhB,EAAE;QACF,MAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC9C,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;gBAChC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa;oBACxC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;wBAChC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;4BAChC,CAAC,CAAC,MAAM,CAAC;QAEnB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO;gBACL,eAAe,EAAE,GAAG,SAAS,KAAyB;gBACtD,SAAS,EAAE,OAA2B;gBACtC,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,CAAC;aACf,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,eAAe,EAAE,GAAG,SAAS,KAAyB;gBACtD,SAAS,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW;oBAC3C,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY;wBACnC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB;4BAC3C,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY;gCACnC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY;oCACnC,CAAC,CAAC,SAAS,CAAqB;gBAC1C,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,CAAC;aACf,CAAC;QACJ,CAAC;aAAM,CAAC,CAAC,SAAS;YAChB,OAAO;gBACL,eAAe,EAAE,aAAa;gBAC9B,SAAS,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW;oBAC3C,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY;wBACnC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB;4BAC3C,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY;gCACnC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY;oCACnC,CAAC,CAAC,SAAS,CAAqB;gBAC1C,WAAW,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnD,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC1C,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;4BAClD,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC1C,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oCAC1C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,WAAW,EAAE,CAAC;aACf,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,iBAAiB,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;QACzC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;YACjB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChB,CAAC,CAAC,EAAE,CAAC;IAEjB,MAAM,eAAe,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChB,CAAC,CAAC,CAAC,CAAC;IAEhB,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;QAC/E,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,GAAG,KAAK,MAAM;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC;YACpE,IAAI,GAAG,KAAK,YAAY;gBAAE,OAAO,OAAO,CAAC,UAAU,CAAC,GAA4B,CAAC,CAAC;YAElF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAyB,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,CACL,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,YAC9F,MAAC,MAAM,IACL,KAAK,EAAE;gBACL,iBAAiB;gBACjB,eAAe;gBACf,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,KAAK;gBACpB,GAAG,EAAE,CAAC;gBACN,eAAe,EAAE,MAAM,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;gBACrF,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,EACD,KAAK,EAAE,MAAM,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,aAEnF,UAAU,IAAI,CACb,KAAC,KAAK,IACJ,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAC9C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,UAAU,GAClB,CACH,EACD,KAAC,MAAM,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,YAAG,KAAK,GAAU,IACtD,GACG,CACf,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC","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 { PASTEL_TEXT_COLOR, SOLID_TEXT_COLOR, STROKE_TEXT_COLOR } from '../../theme/intentColors';\nimport { RADIUS } from '../../theme/tokens';\nimport ZSPressable from '../ZSPressable';\nimport ZSView from '../ZSView';\nimport ZSText from '../ZSText';\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: SOLID_TEXT_COLOR[intent], 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: RADIUS.sm,\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"]}
@@ -0,0 +1,48 @@
1
+ import React from "react";
2
+ import { type StyleProp, type ViewProps, type ViewStyle } from "react-native";
3
+ /** glow를 세밀하게 제어할 때 사용하는 설정 (숫자 하나로 충분하면 glow={0~1} 사용) */
4
+ export interface ZSBorderBeamGlowConfig {
5
+ /** 글로우가 stroke 바깥으로 퍼지는 폭(px) */
6
+ width?: number;
7
+ /** blur 강도 */
8
+ blur?: number;
9
+ /** 숨쉬는 한 사이클(ms) */
10
+ pulseDuration?: number;
11
+ minOpacity?: number;
12
+ maxOpacity?: number;
13
+ }
14
+ export interface ZSBorderBeamProps extends ViewProps {
15
+ children?: React.ReactNode;
16
+ /** sweep gradient 색상 배열 (꼬리 → 머리 순) — 지정 시 colorFrom/colorTo는 무시됩니다 */
17
+ colors?: string[];
18
+ /** 광선 시작(꼬리) 색상 (기본: palette.primary.main) */
19
+ colorFrom?: string;
20
+ /** 광선 끝(머리) 색상 (기본: palette.secondary.main) */
21
+ colorTo?: string;
22
+ /** 광선(혜성)이 둘레에서 차지하는 비율 (0~1). 1이면 둘레 전체 그라디언트 링 */
23
+ beamLength?: number;
24
+ /** 광선이 지나가지 않는 구간의 얇은 기본 테두리 색. 'none'이면 표시 안 함 (기본: colorFrom 12% 알파) */
25
+ trackColor?: string;
26
+ /**
27
+ * 글로우 강도.
28
+ * - `false` : 글로우 없음 (선명한 광선만)
29
+ * - `0~1` : 숫자 하나로 폭·blur·불투명도를 함께 스케일 (기본 0.5)
30
+ * - config : 세밀 제어 — { width, blur, pulseDuration, minOpacity, maxOpacity }
31
+ */
32
+ glow?: boolean | number | ZSBorderBeamGlowConfig;
33
+ /** 광선이 한 바퀴 도는 시간(ms) */
34
+ duration?: number;
35
+ /** 애니메이션 시작 지연(ms) */
36
+ delay?: number;
37
+ /** 회전 방향 반전 */
38
+ reverse?: boolean;
39
+ /** false면 효과를 숨기고 애니메이션을 정지 */
40
+ active?: boolean;
41
+ borderWidth?: number;
42
+ borderRadius?: number;
43
+ style?: StyleProp<ViewStyle>;
44
+ }
45
+ declare function ZSBorderBeam({ children, colors, colorFrom, colorTo, beamLength, trackColor, glow, duration, delay, reverse, active, borderWidth, borderRadius, style, ...props }: ZSBorderBeamProps): React.JSX.Element;
46
+ declare const _default: React.MemoExoticComponent<typeof ZSBorderBeam>;
47
+ export default _default;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/ZSBorderBeam/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAA4C,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkBxH,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,sBAAsB,CAAC;IACjD,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgDD,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAiB,EACjB,UAAU,EACV,IAAW,EACX,QAAe,EACf,KAAS,EACT,OAAe,EACf,MAAa,EACb,WAAe,EACf,YAAiB,EACjB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,iBAAiB,qBAwKnB;;AAED,wBAAwC"}