@fountain-ui/core 3.0.0-alpha.1 → 3.0.0-alpha.10

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 (327) hide show
  1. package/build/commonjs/Accordion/Accordion.js +4 -1
  2. package/build/commonjs/Accordion/Accordion.js.map +1 -1
  3. package/build/commonjs/Accordion/index.js +8 -0
  4. package/build/commonjs/Accordion/index.js.map +1 -1
  5. package/build/commonjs/Accordion/useVariantStyleMap.js +11 -10
  6. package/build/commonjs/Accordion/useVariantStyleMap.js.map +1 -1
  7. package/build/commonjs/AppBar/index.js +8 -0
  8. package/build/commonjs/AppBar/index.js.map +1 -1
  9. package/build/commonjs/Badge/index.js +26 -0
  10. package/build/commonjs/Badge/index.js.map +1 -1
  11. package/build/commonjs/Badge/useVariantStyleMap.js +2 -2
  12. package/build/commonjs/Badge/useVariantStyleMap.js.map +1 -1
  13. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js +1 -0
  14. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  15. package/build/commonjs/Button/Button.js +15 -3
  16. package/build/commonjs/Button/Button.js.map +1 -1
  17. package/build/commonjs/Button/ButtonProps.js +7 -7
  18. package/build/commonjs/Button/ButtonProps.js.map +1 -1
  19. package/build/commonjs/Button/index.js +20 -0
  20. package/build/commonjs/Button/index.js.map +1 -1
  21. package/build/commonjs/Button/useVariantStyleMap.js +5 -7
  22. package/build/commonjs/Button/useVariantStyleMap.js.map +1 -1
  23. package/build/commonjs/Checkbox/Checkbox.js +5 -2
  24. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  25. package/build/commonjs/Checkbox/index.js +8 -0
  26. package/build/commonjs/Checkbox/index.js.map +1 -1
  27. package/build/commonjs/Checkbox/useVariantStyleMap.js +6 -2
  28. package/build/commonjs/Checkbox/useVariantStyleMap.js.map +1 -1
  29. package/build/commonjs/Chip/index.js +14 -0
  30. package/build/commonjs/Chip/index.js.map +1 -1
  31. package/build/commonjs/Chip/useChipStyle.js +2 -18
  32. package/build/commonjs/Chip/useChipStyle.js.map +1 -1
  33. package/build/commonjs/Dialog/index.js +8 -0
  34. package/build/commonjs/Dialog/index.js.map +1 -1
  35. package/build/commonjs/DialogContent/DialogContent.js +1 -2
  36. package/build/commonjs/DialogContent/DialogContent.js.map +1 -1
  37. package/build/commonjs/Divider/Divider.js +1 -1
  38. package/build/commonjs/Divider/Divider.js.map +1 -1
  39. package/build/commonjs/Divider/DividerProps.js +3 -3
  40. package/build/commonjs/Divider/DividerProps.js.map +1 -1
  41. package/build/commonjs/Divider/index.js +14 -0
  42. package/build/commonjs/Divider/index.js.map +1 -1
  43. package/build/commonjs/Empty/Empty.js +1 -2
  44. package/build/commonjs/Empty/Empty.js.map +1 -1
  45. package/build/commonjs/Flexbox/Flexbox.js +2 -0
  46. package/build/commonjs/Flexbox/Flexbox.js.map +1 -1
  47. package/build/commonjs/Flexbox/FlexboxProps.js.map +1 -1
  48. package/build/commonjs/IconButton/index.js +8 -0
  49. package/build/commonjs/IconButton/index.js.map +1 -1
  50. package/build/commonjs/ListItem/ListItem.js +47 -25
  51. package/build/commonjs/ListItem/ListItem.js.map +1 -1
  52. package/build/commonjs/ListItem/ListItemProps.js.map +1 -1
  53. package/build/commonjs/ListItemIcon/ListItemIcon.js +1 -2
  54. package/build/commonjs/ListItemIcon/ListItemIcon.js.map +1 -1
  55. package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  56. package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  57. package/build/commonjs/ListItemText/ListItemText.js +20 -21
  58. package/build/commonjs/ListItemText/ListItemText.js.map +1 -1
  59. package/build/commonjs/ListItemText/ListItemTextProps.js.map +1 -1
  60. package/build/commonjs/ListSubheader/ListSubheader.js +1 -1
  61. package/build/commonjs/ListSubheader/ListSubheader.js.map +1 -1
  62. package/build/commonjs/Pagination/NumberPagination.js +1 -1
  63. package/build/commonjs/Pagination/NumberPagination.js.map +1 -1
  64. package/build/commonjs/Pagination/index.js +8 -0
  65. package/build/commonjs/Pagination/index.js.map +1 -1
  66. package/build/commonjs/Radio/Radio.js +6 -2
  67. package/build/commonjs/Radio/Radio.js.map +1 -1
  68. package/build/commonjs/Section/Section.js +32 -0
  69. package/build/commonjs/Section/Section.js.map +1 -0
  70. package/build/commonjs/Section/SectionProps.js +2 -0
  71. package/build/commonjs/Section/SectionProps.js.map +1 -0
  72. package/build/commonjs/Section/index.js +16 -0
  73. package/build/commonjs/Section/index.js.map +1 -0
  74. package/build/commonjs/ShadowView/ShadowView.native.js +4 -0
  75. package/build/commonjs/ShadowView/ShadowView.native.js.map +1 -1
  76. package/build/commonjs/Snackbar/index.js +8 -0
  77. package/build/commonjs/Snackbar/index.js.map +1 -1
  78. package/build/commonjs/SnackbarContent/SnackbarContent.js +27 -12
  79. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  80. package/build/commonjs/SvgIcon/index.js +14 -0
  81. package/build/commonjs/SvgIcon/index.js.map +1 -1
  82. package/build/commonjs/Tab/useVariantStyleMap.js +3 -3
  83. package/build/commonjs/Tab/useVariantStyleMap.js.map +1 -1
  84. package/build/commonjs/Tabs/Tabs.js +6 -1
  85. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  86. package/build/commonjs/Tabs/index.js +14 -0
  87. package/build/commonjs/Tabs/index.js.map +1 -1
  88. package/build/commonjs/Tabs/useTabsStyle.js +39 -0
  89. package/build/commonjs/Tabs/useTabsStyle.js.map +1 -0
  90. package/build/commonjs/TextField/TextField.js +1 -1
  91. package/build/commonjs/TextField/TextField.js.map +1 -1
  92. package/build/commonjs/TextField/index.js +8 -0
  93. package/build/commonjs/TextField/index.js.map +1 -1
  94. package/build/commonjs/TextField/useVariantStyleMap.js +2 -2
  95. package/build/commonjs/TextField/useVariantStyleMap.js.map +1 -1
  96. package/build/commonjs/Toolbar/index.js +8 -0
  97. package/build/commonjs/Toolbar/index.js.map +1 -1
  98. package/build/commonjs/Tooltip/Beaks/index.js +32 -0
  99. package/build/commonjs/Tooltip/Beaks/index.js.map +1 -1
  100. package/build/commonjs/Tooltip/Tooltip.js +11 -24
  101. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  102. package/build/commonjs/Tooltip/index.js +39 -0
  103. package/build/commonjs/Tooltip/index.js.map +1 -1
  104. package/build/commonjs/Typography/Typography.js +9 -2
  105. package/build/commonjs/Typography/Typography.js.map +1 -1
  106. package/build/commonjs/Typography/TypographyProps.js.map +1 -1
  107. package/build/commonjs/Typography/index.js +8 -0
  108. package/build/commonjs/Typography/index.js.map +1 -1
  109. package/build/commonjs/hooks/useBreakpointUp.js +4 -1
  110. package/build/commonjs/hooks/useBreakpointUp.js.map +1 -1
  111. package/build/commonjs/hooks/useContentContainerStyle.js +21 -28
  112. package/build/commonjs/hooks/useContentContainerStyle.js.map +1 -1
  113. package/build/commonjs/index.js +21 -0
  114. package/build/commonjs/index.js.map +1 -1
  115. package/build/module/Accordion/Accordion.js +4 -1
  116. package/build/module/Accordion/Accordion.js.map +1 -1
  117. package/build/module/Accordion/index.js +1 -0
  118. package/build/module/Accordion/index.js.map +1 -1
  119. package/build/module/Accordion/useVariantStyleMap.js +11 -10
  120. package/build/module/Accordion/useVariantStyleMap.js.map +1 -1
  121. package/build/module/AppBar/index.js +1 -0
  122. package/build/module/AppBar/index.js.map +1 -1
  123. package/build/module/Badge/index.js +1 -0
  124. package/build/module/Badge/index.js.map +1 -1
  125. package/build/module/Badge/useVariantStyleMap.js +2 -2
  126. package/build/module/Badge/useVariantStyleMap.js.map +1 -1
  127. package/build/module/BottomSheetTitle/BottomSheetTitle.js +1 -0
  128. package/build/module/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  129. package/build/module/Button/Button.js +16 -4
  130. package/build/module/Button/Button.js.map +1 -1
  131. package/build/module/Button/ButtonProps.js +3 -3
  132. package/build/module/Button/ButtonProps.js.map +1 -1
  133. package/build/module/Button/index.js +1 -0
  134. package/build/module/Button/index.js.map +1 -1
  135. package/build/module/Button/useVariantStyleMap.js +5 -7
  136. package/build/module/Button/useVariantStyleMap.js.map +1 -1
  137. package/build/module/Checkbox/Checkbox.js +5 -2
  138. package/build/module/Checkbox/Checkbox.js.map +1 -1
  139. package/build/module/Checkbox/index.js +1 -0
  140. package/build/module/Checkbox/index.js.map +1 -1
  141. package/build/module/Checkbox/useVariantStyleMap.js +6 -2
  142. package/build/module/Checkbox/useVariantStyleMap.js.map +1 -1
  143. package/build/module/Chip/index.js +1 -0
  144. package/build/module/Chip/index.js.map +1 -1
  145. package/build/module/Chip/useChipStyle.js +2 -17
  146. package/build/module/Chip/useChipStyle.js.map +1 -1
  147. package/build/module/Dialog/index.js +1 -0
  148. package/build/module/Dialog/index.js.map +1 -1
  149. package/build/module/DialogContent/DialogContent.js +1 -2
  150. package/build/module/DialogContent/DialogContent.js.map +1 -1
  151. package/build/module/Divider/Divider.js +1 -1
  152. package/build/module/Divider/Divider.js.map +1 -1
  153. package/build/module/Divider/DividerProps.js +1 -1
  154. package/build/module/Divider/DividerProps.js.map +1 -1
  155. package/build/module/Divider/index.js +1 -0
  156. package/build/module/Divider/index.js.map +1 -1
  157. package/build/module/Empty/Empty.js +1 -2
  158. package/build/module/Empty/Empty.js.map +1 -1
  159. package/build/module/Flexbox/Flexbox.js +2 -0
  160. package/build/module/Flexbox/Flexbox.js.map +1 -1
  161. package/build/module/Flexbox/FlexboxProps.js.map +1 -1
  162. package/build/module/IconButton/index.js +1 -0
  163. package/build/module/IconButton/index.js.map +1 -1
  164. package/build/module/ListItem/ListItem.js +45 -27
  165. package/build/module/ListItem/ListItem.js.map +1 -1
  166. package/build/module/ListItem/ListItemProps.js.map +1 -1
  167. package/build/module/ListItemIcon/ListItemIcon.js +1 -2
  168. package/build/module/ListItemIcon/ListItemIcon.js.map +1 -1
  169. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  170. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  171. package/build/module/ListItemText/ListItemText.js +17 -19
  172. package/build/module/ListItemText/ListItemText.js.map +1 -1
  173. package/build/module/ListItemText/ListItemTextProps.js.map +1 -1
  174. package/build/module/ListSubheader/ListSubheader.js +1 -1
  175. package/build/module/ListSubheader/ListSubheader.js.map +1 -1
  176. package/build/module/Pagination/NumberPagination.js +1 -1
  177. package/build/module/Pagination/NumberPagination.js.map +1 -1
  178. package/build/module/Pagination/index.js +1 -0
  179. package/build/module/Pagination/index.js.map +1 -1
  180. package/build/module/Radio/Radio.js +5 -2
  181. package/build/module/Radio/Radio.js.map +1 -1
  182. package/build/module/Section/Section.js +19 -0
  183. package/build/module/Section/Section.js.map +1 -0
  184. package/build/module/Section/SectionProps.js +2 -0
  185. package/build/module/Section/SectionProps.js.map +1 -0
  186. package/build/module/Section/index.js +2 -0
  187. package/build/module/Section/index.js.map +1 -0
  188. package/build/module/ShadowView/ShadowView.native.js +4 -0
  189. package/build/module/ShadowView/ShadowView.native.js.map +1 -1
  190. package/build/module/Snackbar/index.js +1 -0
  191. package/build/module/Snackbar/index.js.map +1 -1
  192. package/build/module/SnackbarContent/SnackbarContent.js +27 -12
  193. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  194. package/build/module/SvgIcon/index.js +1 -0
  195. package/build/module/SvgIcon/index.js.map +1 -1
  196. package/build/module/Tab/useVariantStyleMap.js +3 -3
  197. package/build/module/Tab/useVariantStyleMap.js.map +1 -1
  198. package/build/module/Tabs/Tabs.js +5 -1
  199. package/build/module/Tabs/Tabs.js.map +1 -1
  200. package/build/module/Tabs/index.js +1 -0
  201. package/build/module/Tabs/index.js.map +1 -1
  202. package/build/module/Tabs/useTabsStyle.js +30 -0
  203. package/build/module/Tabs/useTabsStyle.js.map +1 -0
  204. package/build/module/TextField/TextField.js +1 -1
  205. package/build/module/TextField/TextField.js.map +1 -1
  206. package/build/module/TextField/index.js +1 -0
  207. package/build/module/TextField/index.js.map +1 -1
  208. package/build/module/TextField/useVariantStyleMap.js +2 -2
  209. package/build/module/TextField/useVariantStyleMap.js.map +1 -1
  210. package/build/module/Toolbar/index.js +1 -0
  211. package/build/module/Toolbar/index.js.map +1 -1
  212. package/build/module/Tooltip/Beaks/index.js +4 -0
  213. package/build/module/Tooltip/Beaks/index.js.map +1 -1
  214. package/build/module/Tooltip/Tooltip.js +4 -16
  215. package/build/module/Tooltip/Tooltip.js.map +1 -1
  216. package/build/module/Tooltip/index.js +2 -0
  217. package/build/module/Tooltip/index.js.map +1 -1
  218. package/build/module/Typography/Typography.js +9 -2
  219. package/build/module/Typography/Typography.js.map +1 -1
  220. package/build/module/Typography/TypographyProps.js.map +1 -1
  221. package/build/module/Typography/index.js +1 -0
  222. package/build/module/Typography/index.js.map +1 -1
  223. package/build/module/hooks/useBreakpointUp.js +4 -1
  224. package/build/module/hooks/useBreakpointUp.js.map +1 -1
  225. package/build/module/hooks/useContentContainerStyle.js +23 -26
  226. package/build/module/hooks/useContentContainerStyle.js.map +1 -1
  227. package/build/module/index.js +2 -0
  228. package/build/module/index.js.map +1 -1
  229. package/build/typescript/Accordion/index.d.ts +1 -0
  230. package/build/typescript/Accordion/useVariantStyleMap.d.ts +1 -0
  231. package/build/typescript/AppBar/index.d.ts +1 -0
  232. package/build/typescript/Badge/index.d.ts +2 -1
  233. package/build/typescript/Button/ButtonProps.d.ts +11 -6
  234. package/build/typescript/Button/index.d.ts +1 -0
  235. package/build/typescript/Checkbox/index.d.ts +1 -0
  236. package/build/typescript/Checkbox/useVariantStyleMap.d.ts +1 -0
  237. package/build/typescript/Chip/index.d.ts +1 -0
  238. package/build/typescript/Dialog/index.d.ts +1 -0
  239. package/build/typescript/Divider/DividerProps.d.ts +3 -3
  240. package/build/typescript/Divider/index.d.ts +1 -0
  241. package/build/typescript/Flexbox/FlexboxProps.d.ts +4 -0
  242. package/build/typescript/IconButton/index.d.ts +1 -0
  243. package/build/typescript/ListItem/ListItem.d.ts +1 -1
  244. package/build/typescript/ListItem/ListItemProps.d.ts +4 -0
  245. package/build/typescript/ListItemText/ListItemTextProps.d.ts +2 -9
  246. package/build/typescript/Pagination/index.d.ts +1 -0
  247. package/build/typescript/Section/Section.d.ts +3 -0
  248. package/build/typescript/Section/SectionProps.d.ts +6 -0
  249. package/build/typescript/Section/index.d.ts +2 -0
  250. package/build/typescript/Snackbar/index.d.ts +1 -0
  251. package/build/typescript/SvgIcon/index.d.ts +1 -0
  252. package/build/typescript/Tabs/index.d.ts +1 -0
  253. package/build/typescript/Tabs/useTabsStyle.d.ts +7 -0
  254. package/build/typescript/TextField/index.d.ts +1 -0
  255. package/build/typescript/Toolbar/index.d.ts +1 -0
  256. package/build/typescript/Tooltip/Beaks/index.d.ts +4 -0
  257. package/build/typescript/Tooltip/index.d.ts +3 -1
  258. package/build/typescript/Typography/TypographyProps.d.ts +4 -0
  259. package/build/typescript/Typography/index.d.ts +1 -0
  260. package/build/typescript/hooks/useContentContainerStyle.d.ts +4 -8
  261. package/build/typescript/index.d.ts +2 -0
  262. package/package.json +3 -3
  263. package/src/Accordion/Accordion.tsx +4 -1
  264. package/src/Accordion/index.ts +1 -0
  265. package/src/Accordion/useVariantStyleMap.ts +12 -10
  266. package/src/AppBar/index.ts +1 -0
  267. package/src/Badge/index.ts +12 -1
  268. package/src/Badge/useVariantStyleMap.ts +2 -2
  269. package/src/BottomSheetTitle/BottomSheetTitle.tsx +1 -0
  270. package/src/Button/Button.tsx +19 -4
  271. package/src/Button/ButtonProps.ts +12 -6
  272. package/src/Button/index.ts +1 -0
  273. package/src/Button/useVariantStyleMap.ts +3 -7
  274. package/src/Checkbox/Checkbox.tsx +12 -9
  275. package/src/Checkbox/index.ts +1 -0
  276. package/src/Checkbox/useVariantStyleMap.ts +6 -1
  277. package/src/Chip/index.ts +1 -0
  278. package/src/Chip/useChipStyle.ts +2 -17
  279. package/src/Dialog/index.ts +1 -0
  280. package/src/DialogContent/DialogContent.tsx +1 -2
  281. package/src/Divider/Divider.tsx +1 -1
  282. package/src/Divider/DividerProps.ts +3 -3
  283. package/src/Divider/index.ts +1 -0
  284. package/src/Empty/Empty.tsx +1 -2
  285. package/src/Flexbox/Flexbox.tsx +2 -0
  286. package/src/Flexbox/FlexboxProps.ts +5 -0
  287. package/src/IconButton/index.ts +1 -0
  288. package/src/ListItem/ListItem.tsx +69 -28
  289. package/src/ListItem/ListItemProps.ts +5 -0
  290. package/src/ListItemIcon/ListItemIcon.tsx +1 -2
  291. package/src/ListItemSecondaryAction/ListItemSecondaryAction.tsx +2 -0
  292. package/src/ListItemText/ListItemText.tsx +20 -28
  293. package/src/ListItemText/ListItemTextProps.ts +2 -10
  294. package/src/ListSubheader/ListSubheader.tsx +1 -1
  295. package/src/Pagination/NumberPagination.tsx +1 -1
  296. package/src/Pagination/index.ts +1 -0
  297. package/src/Radio/Radio.tsx +8 -2
  298. package/src/Section/Section.tsx +26 -0
  299. package/src/Section/SectionProps.ts +6 -0
  300. package/src/Section/index.ts +2 -0
  301. package/src/ShadowView/ShadowView.native.tsx +4 -0
  302. package/src/Snackbar/index.ts +1 -0
  303. package/src/SnackbarContent/SnackbarContent.tsx +37 -18
  304. package/src/SvgIcon/index.ts +1 -0
  305. package/src/Tab/useVariantStyleMap.ts +3 -3
  306. package/src/Tabs/Tabs.tsx +4 -0
  307. package/src/Tabs/index.ts +1 -0
  308. package/src/Tabs/useTabsStyle.ts +35 -0
  309. package/src/TextField/TextField.tsx +1 -1
  310. package/src/TextField/index.tsx +1 -0
  311. package/src/TextField/useVariantStyleMap.ts +2 -2
  312. package/src/Toolbar/index.ts +1 -0
  313. package/src/Tooltip/Beaks/index.ts +4 -0
  314. package/src/Tooltip/Tooltip.tsx +5 -16
  315. package/src/Tooltip/index.ts +3 -1
  316. package/src/Typography/Typography.tsx +3 -1
  317. package/src/Typography/TypographyProps.ts +5 -0
  318. package/src/Typography/index.ts +1 -0
  319. package/src/hooks/useBreakpointUp.ts +3 -1
  320. package/src/hooks/useContentContainerStyle.ts +26 -34
  321. package/src/index.ts +3 -0
  322. package/build/commonjs/TextField/InputLabel.js +0 -163
  323. package/build/commonjs/TextField/InputLabel.js.map +0 -1
  324. package/build/module/TextField/InputLabel.js +0 -149
  325. package/build/module/TextField/InputLabel.js.map +0 -1
  326. package/build/typescript/TextField/InputLabel.d.ts +0 -33
  327. package/src/TextField/InputLabel.tsx +0 -234
@@ -75,6 +75,7 @@ function Accordion(props) {
75
75
  container: containerStyle,
76
76
  content: contentStyle,
77
77
  contentFont: contentFontStyle,
78
+ iconContainer: iconContainerStyle,
78
79
  subTitleFont: subTitleFontStyle,
79
80
  title: titleStyle,
80
81
  titleFont: titleFontStyle
@@ -126,7 +127,9 @@ function Accordion(props) {
126
127
  flexShrink: 1
127
128
  }, /*#__PURE__*/_react.default.createElement(_Row.default, {
128
129
  alignItems: 'center'
129
- }, LeftComponent ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, LeftComponent, /*#__PURE__*/_react.default.createElement(_Spacer.default, {
130
+ }, LeftComponent ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
131
+ style: iconContainerStyle
132
+ }, LeftComponent), /*#__PURE__*/_react.default.createElement(_Spacer.default, {
130
133
  size: 1.5
131
134
  })) : null, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
132
135
  allowFontScaling: false,
@@ -1 +1 @@
1
- {"version":3,"names":["ROTATE_HIDE_DEGREE","ROTATE_SHOW_DEGREE","ANIMATION_CONFIG","duration","INITIAL_EXPANDED_DELAY_MILLIS","CONTENT_OPACITY_DELAY_MILLIS","useStyles","theme","useTheme","root","marginBottom","spacing","rightIcon","alignItems","height","justifyContent","width","Accordion","props","title","subTitle","content","RightIcon","LeftComponent","isInitialExpanded","variant","styles","CONTENT_MARGIN_HEIGHT","isExpanded","setIsExpanded","useState","shouldInitialExpandedRef","useRef","container","containerStyle","contentStyle","contentFont","contentFontStyle","subTitleFont","subTitleFontStyle","titleStyle","titleFont","titleFontStyle","useVariantStyleMap","rotate","useSharedValue","animatedOpacity","animatedHeight","contentHeight","setContentHeight","animatedChevronDownStyles","useAnimatedStyle","transform","value","animatedContentBackgroundStyles","overflow","animatedContentStyle","opacity","onPress","prev","onLayout","event","nativeEvent","layout","current","setTimeout","useEffect","withTiming","withDelay","rootStyle","css"],"sources":["Accordion.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { LayoutChangeEvent, Text, View, ViewStyle } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withTiming,\n WithTimingConfig,\n} from 'react-native-reanimated';\nimport { css, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { ChevronDown } from '../internal/icons';\nimport ButtonBase from '../ButtonBase';\nimport Column from '../Column';\nimport Row from '../Row';\nimport Spacer from '../Spacer';\nimport type AccordionProps from './AccordionProps';\nimport type { AccordionVariant } from './AccordionProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\ntype AccordionStyles = NamedStylesStringUnion<'root' | 'rightIcon'>;\n\nconst ROTATE_HIDE_DEGREE = 0;\nconst ROTATE_SHOW_DEGREE = 180;\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = { duration: 200 };\nconst INITIAL_EXPANDED_DELAY_MILLIS = 100;\nconst CONTENT_OPACITY_DELAY_MILLIS = 200;\n\nconst useStyles: UseStyles<AccordionStyles> = function (): AccordionStyles {\n const theme = useTheme();\n\n return {\n root: { marginBottom: theme.spacing(3) },\n rightIcon: {\n alignItems: 'center',\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n };\n};\n\nexport default function Accordion(props: AccordionProps) {\n const {\n title,\n subTitle,\n content,\n RightIcon,\n LeftComponent,\n isInitialExpanded = false,\n variant = 'solid' as AccordionVariant,\n } = props;\n\n const styles = useStyles();\n const theme = useTheme();\n const CONTENT_MARGIN_HEIGHT = theme.spacing(2);\n\n const [isExpanded, setIsExpanded] = useState<boolean>(false);\n const shouldInitialExpandedRef = useRef<boolean>(isInitialExpanded);\n\n const {\n container: containerStyle,\n content: contentStyle,\n contentFont: contentFontStyle,\n subTitleFont: subTitleFontStyle,\n title: titleStyle,\n titleFont: titleFontStyle,\n } = useVariantStyleMap(variant);\n\n const rotate = useSharedValue(ROTATE_HIDE_DEGREE);\n const animatedOpacity = useSharedValue(0);\n\n const animatedHeight = useSharedValue(0);\n const [contentHeight, setContentHeight] = useState(0);\n\n const animatedChevronDownStyles = useAnimatedStyle(() => ({\n transform: [{ rotate: `${rotate.value}deg` }],\n }), []);\n\n const animatedContentBackgroundStyles = useAnimatedStyle(() => ({\n height: animatedHeight.value,\n overflow: 'hidden',\n } as ViewStyle), []);\n\n const animatedContentStyle = useAnimatedStyle(() => ({\n opacity: animatedOpacity.value,\n }), []);\n\n const onPress = () => {\n setIsExpanded(prev => !prev);\n };\n\n const onLayout = (event: LayoutChangeEvent) => {\n const height = event.nativeEvent.layout.height + CONTENT_MARGIN_HEIGHT;\n setContentHeight(height);\n\n if (shouldInitialExpandedRef.current) {\n shouldInitialExpandedRef.current = false;\n setTimeout(() => setIsExpanded(true), INITIAL_EXPANDED_DELAY_MILLIS);\n }\n };\n\n useEffect(() => {\n rotate.value = withTiming(isExpanded ? ROTATE_SHOW_DEGREE : ROTATE_HIDE_DEGREE, ANIMATION_CONFIG);\n\n animatedHeight.value = withTiming(isExpanded ? contentHeight : 0, ANIMATION_CONFIG);\n\n animatedOpacity.value = isExpanded\n ? withDelay(CONTENT_OPACITY_DELAY_MILLIS, withTiming(1, ANIMATION_CONFIG))\n : withTiming(0, ANIMATION_CONFIG);\n }, [isExpanded, contentHeight]);\n\n const rootStyle = css([\n styles.root,\n containerStyle,\n ]);\n\n return (\n <Column style={rootStyle}>\n <ButtonBase onPress={onPress}>\n <Row style={titleStyle}>\n <Column flexShrink={1}>\n <Row alignItems={'center'}>\n {LeftComponent ? (\n <React.Fragment>\n {LeftComponent}\n\n <Spacer size={1.5}/>\n </React.Fragment>\n ) : null}\n\n <Text\n allowFontScaling={false}\n children={title}\n numberOfLines={1}\n style={titleFontStyle}\n />\n </Row>\n\n {subTitle && variant === 'solid' ?\n typeof subTitle === 'string' ? (\n <React.Fragment>\n <Spacer size={1.5}/>\n\n <Text\n allowFontScaling={false}\n children={subTitle}\n numberOfLines={1}\n style={subTitleFontStyle}\n />\n </React.Fragment>\n ) : (subTitle)\n : null}\n </Column>\n\n <Spacer flex={1}/>\n\n <Spacer size={3}/>\n\n <Animated.View style={animatedChevronDownStyles}>\n <View style={styles.rightIcon}>\n {RightIcon ? RightIcon : (\n <ChevronDown\n width={16}\n height={16}\n color={'base'}\n />\n )}\n </View>\n </Animated.View>\n </Row>\n </ButtonBase>\n\n <Animated.View style={animatedContentBackgroundStyles}>\n <View\n onLayout={onLayout}\n style={contentStyle}\n >\n <Animated.View style={animatedContentStyle}>\n {typeof content === 'string' ? (\n <Text\n allowFontScaling={false}\n children={content}\n style={contentFontStyle}\n />\n ) : (content)}\n </Animated.View>\n </View>\n </Animated.View>\n </Column>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ROTATE_HIDE_DEGREE","ROTATE_SHOW_DEGREE","ANIMATION_CONFIG","duration","INITIAL_EXPANDED_DELAY_MILLIS","CONTENT_OPACITY_DELAY_MILLIS","useStyles","theme","useTheme","root","marginBottom","spacing","rightIcon","alignItems","height","justifyContent","width","Accordion","props","title","subTitle","content","RightIcon","LeftComponent","isInitialExpanded","variant","styles","CONTENT_MARGIN_HEIGHT","isExpanded","setIsExpanded","useState","shouldInitialExpandedRef","useRef","container","containerStyle","contentStyle","contentFont","contentFontStyle","iconContainer","iconContainerStyle","subTitleFont","subTitleFontStyle","titleStyle","titleFont","titleFontStyle","useVariantStyleMap","rotate","useSharedValue","animatedOpacity","animatedHeight","contentHeight","setContentHeight","animatedChevronDownStyles","useAnimatedStyle","transform","value","animatedContentBackgroundStyles","overflow","animatedContentStyle","opacity","onPress","prev","onLayout","event","nativeEvent","layout","current","setTimeout","useEffect","withTiming","withDelay","rootStyle","css"],"sources":["Accordion.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { LayoutChangeEvent, Text, View, ViewStyle } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withTiming,\n WithTimingConfig,\n} from 'react-native-reanimated';\nimport { css, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { ChevronDown } from '../internal/icons';\nimport ButtonBase from '../ButtonBase';\nimport Column from '../Column';\nimport Row from '../Row';\nimport Spacer from '../Spacer';\nimport type AccordionProps from './AccordionProps';\nimport type { AccordionVariant } from './AccordionProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\ntype AccordionStyles = NamedStylesStringUnion<'root' | 'rightIcon'>;\n\nconst ROTATE_HIDE_DEGREE = 0;\nconst ROTATE_SHOW_DEGREE = 180;\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = { duration: 200 };\nconst INITIAL_EXPANDED_DELAY_MILLIS = 100;\nconst CONTENT_OPACITY_DELAY_MILLIS = 200;\n\nconst useStyles: UseStyles<AccordionStyles> = function (): AccordionStyles {\n const theme = useTheme();\n\n return {\n root: { marginBottom: theme.spacing(3) },\n rightIcon: {\n alignItems: 'center',\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n };\n};\n\nexport default function Accordion(props: AccordionProps) {\n const {\n title,\n subTitle,\n content,\n RightIcon,\n LeftComponent,\n isInitialExpanded = false,\n variant = 'solid' as AccordionVariant,\n } = props;\n\n const styles = useStyles();\n const theme = useTheme();\n const CONTENT_MARGIN_HEIGHT = theme.spacing(2);\n\n const [isExpanded, setIsExpanded] = useState<boolean>(false);\n const shouldInitialExpandedRef = useRef<boolean>(isInitialExpanded);\n\n const {\n container: containerStyle,\n content: contentStyle,\n contentFont: contentFontStyle,\n iconContainer: iconContainerStyle,\n subTitleFont: subTitleFontStyle,\n title: titleStyle,\n titleFont: titleFontStyle,\n } = useVariantStyleMap(variant);\n\n const rotate = useSharedValue(ROTATE_HIDE_DEGREE);\n const animatedOpacity = useSharedValue(0);\n\n const animatedHeight = useSharedValue(0);\n const [contentHeight, setContentHeight] = useState(0);\n\n const animatedChevronDownStyles = useAnimatedStyle(() => ({\n transform: [{ rotate: `${rotate.value}deg` }],\n }), []);\n\n const animatedContentBackgroundStyles = useAnimatedStyle(() => ({\n height: animatedHeight.value,\n overflow: 'hidden',\n } as ViewStyle), []);\n\n const animatedContentStyle = useAnimatedStyle(() => ({\n opacity: animatedOpacity.value,\n }), []);\n\n const onPress = () => {\n setIsExpanded(prev => !prev);\n };\n\n const onLayout = (event: LayoutChangeEvent) => {\n const height = event.nativeEvent.layout.height + CONTENT_MARGIN_HEIGHT;\n setContentHeight(height);\n\n if (shouldInitialExpandedRef.current) {\n shouldInitialExpandedRef.current = false;\n setTimeout(() => setIsExpanded(true), INITIAL_EXPANDED_DELAY_MILLIS);\n }\n };\n\n useEffect(() => {\n rotate.value = withTiming(isExpanded ? ROTATE_SHOW_DEGREE : ROTATE_HIDE_DEGREE, ANIMATION_CONFIG);\n\n animatedHeight.value = withTiming(isExpanded ? contentHeight : 0, ANIMATION_CONFIG);\n\n animatedOpacity.value = isExpanded\n ? withDelay(CONTENT_OPACITY_DELAY_MILLIS, withTiming(1, ANIMATION_CONFIG))\n : withTiming(0, ANIMATION_CONFIG);\n }, [isExpanded, contentHeight]);\n\n const rootStyle = css([\n styles.root,\n containerStyle,\n ]);\n\n return (\n <Column style={rootStyle}>\n <ButtonBase onPress={onPress}>\n <Row style={titleStyle}>\n <Column flexShrink={1}>\n <Row alignItems={'center'}>\n {LeftComponent ? (\n <React.Fragment>\n <View style={iconContainerStyle}>\n {LeftComponent}\n </View>\n\n <Spacer size={1.5}/>\n </React.Fragment>\n ) : null}\n\n <Text\n allowFontScaling={false}\n children={title}\n numberOfLines={1}\n style={titleFontStyle}\n />\n </Row>\n\n {subTitle && variant === 'solid' ?\n typeof subTitle === 'string' ? (\n <React.Fragment>\n <Spacer size={1.5}/>\n\n <Text\n allowFontScaling={false}\n children={subTitle}\n numberOfLines={1}\n style={subTitleFontStyle}\n />\n </React.Fragment>\n ) : (subTitle)\n : null}\n </Column>\n\n <Spacer flex={1}/>\n\n <Spacer size={3}/>\n\n <Animated.View style={animatedChevronDownStyles}>\n <View style={styles.rightIcon}>\n {RightIcon ? RightIcon : (\n <ChevronDown\n width={16}\n height={16}\n color={'base'}\n />\n )}\n </View>\n </Animated.View>\n </Row>\n </ButtonBase>\n\n <Animated.View style={animatedContentBackgroundStyles}>\n <View\n onLayout={onLayout}\n style={contentStyle}\n >\n <Animated.View style={animatedContentStyle}>\n {typeof content === 'string' ? (\n <Text\n allowFontScaling={false}\n children={content}\n style={contentFontStyle}\n />\n ) : (content)}\n </Animated.View>\n </View>\n </Animated.View>\n </Column>\n );\n}\n"],"mappings":"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"}
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "accordionVariants", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AccordionProps.accordionVariants;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "default", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -12,5 +18,7 @@ Object.defineProperty(exports, "default", {
12
18
 
13
19
  var _Accordion = _interopRequireDefault(require("./Accordion"));
14
20
 
21
+ var _AccordionProps = require("./AccordionProps");
22
+
15
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Accordion';\nexport type { default as AccordionProps } from './AccordionProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Accordion';\nexport type { default as AccordionProps } from './AccordionProps';\nexport { accordionVariants } from './AccordionProps';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEA"}
@@ -35,8 +35,7 @@ function useVariantStyleMap(variant) {
35
35
  color: theme.palette.text.base
36
36
  }),
37
37
  subTitleFont: (0, _styles2.createFontStyle)(theme, {
38
- // TODO: select typography.
39
- // selector: (typography) => typography.caption1.regular,
38
+ selector: typography => typography.caption1.regular,
40
39
  color: theme.palette.text.base
41
40
  }),
42
41
  title: {
@@ -47,9 +46,9 @@ function useVariantStyleMap(variant) {
47
46
  },
48
47
  titleFont: (0, _styles2.createFontStyle)(theme, {
49
48
  selector: _ => (0, _styles.typographyOf)({
50
- fontSize: 15,
51
- lineHeight: 19.5,
52
- fontFamily: 'Pretendard-SemiBold',
49
+ fontSize: 16,
50
+ lineHeight: 20.8,
51
+ fontFamily: 'PretendardStd-SemiBold',
53
52
  letterSpacing: 0
54
53
  }),
55
54
  color: theme.palette.text.strong
@@ -72,10 +71,12 @@ function useVariantStyleMap(variant) {
72
71
  position: 'absolute'
73
72
  },
74
73
  contentFont: (0, _styles2.createFontStyle)(theme, {
75
- // TODO: select typography.
76
- // selector: typography => typography.caption2.regular,
74
+ selector: typography => typography.caption2.regular,
77
75
  color: theme.palette.text.base
78
76
  }),
77
+ iconContainer: {
78
+ paddingTop: 1
79
+ },
79
80
  title: {
80
81
  alignItems: 'center',
81
82
  paddingBottom: theme.spacing(1),
@@ -114,9 +115,9 @@ function useVariantStyleMap(variant) {
114
115
  },
115
116
  titleFont: (0, _styles2.createFontStyle)(theme, {
116
117
  selector: _ => (0, _styles.typographyOf)({
117
- fontSize: 15,
118
- lineHeight: 19.5,
119
- fontFamily: 'Pretendard-SemiBold',
118
+ fontSize: 16,
119
+ lineHeight: 20.8,
120
+ fontFamily: 'PretendardStd-SemiBold',
120
121
  letterSpacing: 0
121
122
  }),
122
123
  color: theme.palette.text.strong
@@ -1 +1 @@
1
- {"version":3,"names":["useVariantStyleMap","variant","theme","useTheme","useMemo","container","backgroundColor","palette","surface","supportive","borderRadius","shape","radius","md","content","borderTopColor","border","weak","borderTopWidth","marginHorizontal","spacing","paddingBottom","paddingTop","position","contentFont","createFontStyle","selector","typography","body3","regular","color","text","base","subTitleFont","title","alignItems","paddingLeft","paddingRight","paddingVertical","titleFont","_","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","strong","borderColor","borderWidth","caption1short","semiBold","borderBottomColor","borderBottomWidth"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { AccordionVariant } from './AccordionProps';\n\ninterface VariantStyle {\n container: FountainUiStyle;\n content: FountainUiStyle;\n contentFont: TextStyle;\n subTitleFont?: TextStyle;\n title: FountainUiStyle;\n titleFont: TextStyle;\n}\n\nexport default function useVariantStyleMap(variant: AccordionVariant): VariantStyle {\n const theme = useTheme();\n\n return useMemo(() => {\n switch (variant) {\n default:\n case 'solid':\n return {\n container: {\n backgroundColor: theme.palette.surface.supportive,\n borderRadius: theme.shape.radius.md,\n },\n content: {\n borderTopColor: theme.palette.border.weak,\n borderTopWidth: 0.5,\n marginHorizontal: theme.spacing(4),\n paddingBottom: theme.spacing(5),\n paddingTop: theme.spacing(4),\n position: 'absolute',\n },\n contentFont: createFontStyle(theme, {\n selector: (typography) => typography.body3.regular,\n color: theme.palette.text.base,\n }),\n subTitleFont: createFontStyle(theme, {\n // TODO: select typography.\n // selector: (typography) => typography.caption1.regular,\n color: theme.palette.text.base,\n }),\n title: {\n alignItems: 'center',\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(2),\n paddingVertical: theme.spacing(4),\n },\n titleFont: createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 15,\n lineHeight: 19.5,\n fontFamily: 'Pretendard-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strong,\n }),\n };\n case 'line':\n return {\n container: {\n borderColor: theme.palette.border.weak,\n borderRadius: theme.shape.radius.md,\n borderWidth: 1,\n },\n content: {\n borderTopColor: theme.palette.border.weak,\n borderTopWidth: 0.5,\n marginHorizontal: theme.spacing(4),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(3),\n position: 'absolute',\n },\n contentFont: createFontStyle(theme, {\n // TODO: select typography.\n // selector: typography => typography.caption2.regular,\n color: theme.palette.text.base,\n }),\n title: {\n alignItems: 'center',\n paddingBottom: theme.spacing(1),\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(2),\n paddingTop: theme.spacing(0.75),\n },\n titleFont: createFontStyle(theme, {\n selector: (typography) => typography.caption1short.semiBold,\n color: theme.palette.text.base,\n }),\n };\n case 'underline':\n return {\n container: {\n borderBottomColor: theme.palette.border.weak,\n borderBottomWidth: 1,\n },\n content: {\n borderTopColor: theme.palette.border.weak,\n borderTopWidth: 0.5,\n paddingBottom: theme.spacing(5),\n paddingLeft: theme.spacing(0.5),\n paddingRight: theme.spacing(2),\n paddingTop: theme.spacing(4),\n },\n contentFont: createFontStyle(theme, {\n selector: (typography) => typography.body3.regular,\n color: theme.palette.text.base,\n }),\n title: {\n alignItems: 'center',\n paddingLeft: theme.spacing(0.5),\n paddingVertical: theme.spacing(2),\n },\n titleFont: createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 15,\n lineHeight: 19.5,\n fontFamily: 'Pretendard-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strong,\n }),\n };\n }\n }, [theme, variant]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useVariantStyleMap","variant","theme","useTheme","useMemo","container","backgroundColor","palette","surface","supportive","borderRadius","shape","radius","md","content","borderTopColor","border","weak","borderTopWidth","marginHorizontal","spacing","paddingBottom","paddingTop","position","contentFont","createFontStyle","selector","typography","body3","regular","color","text","base","subTitleFont","caption1","title","alignItems","paddingLeft","paddingRight","paddingVertical","titleFont","_","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","strong","borderColor","borderWidth","caption2","iconContainer","caption1short","semiBold","borderBottomColor","borderBottomWidth"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { AccordionVariant } from './AccordionProps';\n\ninterface VariantStyle {\n container: FountainUiStyle;\n content: FountainUiStyle;\n contentFont: TextStyle;\n iconContainer?: FountainUiStyle;\n subTitleFont?: TextStyle;\n title: FountainUiStyle;\n titleFont: TextStyle;\n}\n\nexport default function useVariantStyleMap(variant: AccordionVariant): VariantStyle {\n const theme = useTheme();\n\n return useMemo(() => {\n switch (variant) {\n default:\n case 'solid':\n return {\n container: {\n backgroundColor: theme.palette.surface.supportive,\n borderRadius: theme.shape.radius.md,\n },\n content: {\n borderTopColor: theme.palette.border.weak,\n borderTopWidth: 0.5,\n marginHorizontal: theme.spacing(4),\n paddingBottom: theme.spacing(5),\n paddingTop: theme.spacing(4),\n position: 'absolute',\n },\n contentFont: createFontStyle(theme, {\n selector: (typography) => typography.body3.regular,\n color: theme.palette.text.base,\n }),\n subTitleFont: createFontStyle(theme, {\n selector: (typography) => typography.caption1.regular,\n color: theme.palette.text.base,\n }),\n title: {\n alignItems: 'center',\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(2),\n paddingVertical: theme.spacing(4),\n },\n titleFont: createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 16,\n lineHeight: 20.8,\n fontFamily: 'PretendardStd-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strong,\n }),\n };\n case 'line':\n return {\n container: {\n borderColor: theme.palette.border.weak,\n borderRadius: theme.shape.radius.md,\n borderWidth: 1,\n },\n content: {\n borderTopColor: theme.palette.border.weak,\n borderTopWidth: 0.5,\n marginHorizontal: theme.spacing(4),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(3),\n position: 'absolute',\n },\n contentFont: createFontStyle(theme, {\n selector: (typography) => typography.caption2.regular,\n color: theme.palette.text.base,\n }),\n iconContainer: {\n paddingTop: 1,\n },\n title: {\n alignItems: 'center',\n paddingBottom: theme.spacing(1),\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(2),\n paddingTop: theme.spacing(0.75),\n },\n titleFont: createFontStyle(theme, {\n selector: (typography) => typography.caption1short.semiBold,\n color: theme.palette.text.base,\n }),\n };\n case 'underline':\n return {\n container: {\n borderBottomColor: theme.palette.border.weak,\n borderBottomWidth: 1,\n },\n content: {\n borderTopColor: theme.palette.border.weak,\n borderTopWidth: 0.5,\n paddingBottom: theme.spacing(5),\n paddingLeft: theme.spacing(0.5),\n paddingRight: theme.spacing(2),\n paddingTop: theme.spacing(4),\n },\n contentFont: createFontStyle(theme, {\n selector: (typography) => typography.body3.regular,\n color: theme.palette.text.base,\n }),\n title: {\n alignItems: 'center',\n paddingLeft: theme.spacing(0.5),\n paddingVertical: theme.spacing(2),\n },\n titleFont: createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 16,\n lineHeight: 20.8,\n fontFamily: 'PretendardStd-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strong,\n }),\n };\n }\n }, [theme, variant]);\n}\n"],"mappings":"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"}
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "appBarColors", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AppBarProps.appBarColors;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "default", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -12,5 +18,7 @@ Object.defineProperty(exports, "default", {
12
18
 
13
19
  var _AppBar = _interopRequireDefault(require("./AppBar"));
14
20
 
21
+ var _AppBarProps = require("./AppBarProps");
22
+
15
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './AppBar';\nexport type { default as AppBarProps } from './AppBarProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './AppBar';\nexport type { default as AppBarProps } from './AppBarProps';\nexport { appBarColors } from './AppBarProps';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEA"}
@@ -3,6 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "badgeColors", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _BadgeProps.badgeColors;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "badgeHorizontalPositions", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _BadgeProps.badgeHorizontalPositions;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "badgeSizes", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _BadgeProps.badgeSizes;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "badgeVerticalPositions", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _BadgeProps.badgeVerticalPositions;
28
+ }
29
+ });
6
30
  Object.defineProperty(exports, "default", {
7
31
  enumerable: true,
8
32
  get: function () {
@@ -12,5 +36,7 @@ Object.defineProperty(exports, "default", {
12
36
 
13
37
  var _Badge = _interopRequireDefault(require("./Badge"));
14
38
 
39
+ var _BadgeProps = require("./BadgeProps");
40
+
15
41
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Badge';\nexport type { default as BadgeProps } from './BadgeProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Badge';\nexport type {\n default as BadgeProps,\n BadgeHorizontalPosition,\n BadgePosition,\n BadgeVerticalPosition,\n} from './BadgeProps';\nexport {\n badgeColors,\n badgeHorizontalPositions,\n badgeSizes,\n badgeVerticalPositions,\n} from './BadgeProps';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA"}
@@ -47,13 +47,13 @@ function useVariantStyleMap(variant, size, color) {
47
47
  large: (0, _styles.typographyOf)({
48
48
  fontSize: 14,
49
49
  lineHeight: 14,
50
- fontFamily: 'Pretendard-Bold',
50
+ fontFamily: 'PretendardStd-Bold',
51
51
  letterSpacing: -0.7
52
52
  }),
53
53
  medium: (0, _styles.typographyOf)({
54
54
  fontSize: 12,
55
55
  lineHeight: 12,
56
- fontFamily: 'Pretendard-Bold',
56
+ fontFamily: 'PretendardStd-Bold',
57
57
  letterSpacing: -0.6
58
58
  })
59
59
  };
@@ -1 +1 @@
1
- {"version":3,"names":["sizeMap","dot","medium","number","large","getColorMap","theme","accent","palette","fill","danger","status","useVariantStyleMap","variant","size","color","useTheme","useMemo","badgeSize","process","env","NODE_ENV","undefined","console","warn","colorMap","commonBadgeStyle","backgroundColor","borderRadius","shape","radius","full","height","position","width","fontStyleMap","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","badge","alignItems","justifyContent","contentFont","createFontStyle","selector","_","commonColors","opacity","white"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FontStyle, FountainUiStyle, Theme } from '@fountain-ui/styles';\nimport { commonColors, typographyOf } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { BadgeColor, BadgeSize, BadgeVariant } from './BadgeProps';\n\nconst sizeMap: Record<BadgeVariant, Partial<Record<BadgeSize, number>>> = {\n dot: {\n medium: 4,\n },\n number: {\n large: 26,\n medium: 22,\n },\n};\n\nconst getColorMap = (theme: Theme): Record<BadgeColor, string> => ({\n accent: theme.palette.fill.accent,\n danger: theme.palette.status.danger,\n});\n\ninterface VariantStyle {\n badge: FountainUiStyle;\n contentFont?: TextStyle;\n}\n\nexport default function useVariantStyleMap(variant: BadgeVariant, size: BadgeSize, color: BadgeColor): VariantStyle {\n const theme = useTheme();\n\n return useMemo<VariantStyle>(() => {\n const badgeSize = sizeMap[variant][size] ?? sizeMap[variant].medium;\n\n if (process.env.NODE_ENV !== 'production' && sizeMap[variant][size] === undefined) {\n console.warn('The selected size is not supported for the chosen variant.');\n }\n\n const colorMap = getColorMap(theme);\n\n const commonBadgeStyle: FountainUiStyle = {\n backgroundColor: colorMap[color],\n borderRadius: theme.shape.radius.full,\n height: badgeSize,\n position: 'absolute',\n width: badgeSize,\n };\n\n const fontStyleMap: Record<BadgeSize, FontStyle> = {\n large: typographyOf({\n fontSize: 14,\n lineHeight: 14,\n fontFamily: 'Pretendard-Bold',\n letterSpacing: -0.7,\n }),\n medium: typographyOf({\n fontSize: 12,\n lineHeight: 12,\n fontFamily: 'Pretendard-Bold',\n letterSpacing: -0.6,\n }),\n };\n\n switch (variant) {\n default:\n case 'dot':\n return {\n badge: { ...commonBadgeStyle },\n };\n case 'number':\n return {\n badge: {\n ...commonBadgeStyle,\n alignItems: 'center',\n justifyContent: 'center',\n },\n contentFont: createFontStyle(theme, {\n selector: (_) => fontStyleMap[size],\n color: commonColors.opacity.white['100'],\n }),\n };\n }\n }, [theme, variant, size, color]);\n}\n"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;AAGA,MAAMA,OAAiE,GAAG;EACtEC,GAAG,EAAE;IACDC,MAAM,EAAE;EADP,CADiE;EAItEC,MAAM,EAAE;IACJC,KAAK,EAAE,EADH;IAEJF,MAAM,EAAE;EAFJ;AAJ8D,CAA1E;;AAUA,MAAMG,WAAW,GAAIC,KAAD,KAA+C;EAC/DC,MAAM,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,CAAmBF,MADoC;EAE/DG,MAAM,EAAEJ,KAAK,CAACE,OAAN,CAAcG,MAAd,CAAqBD;AAFkC,CAA/C,CAApB;;AAUe,SAASE,kBAAT,CAA4BC,OAA5B,EAAmDC,IAAnD,EAAoEC,KAApE,EAAqG;EAChH,MAAMT,KAAK,GAAG,IAAAU,iBAAA,GAAd;EAEA,OAAO,IAAAC,cAAA,EAAsB,MAAM;IAC/B,MAAMC,SAAS,GAAGlB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,KAA0Bd,OAAO,CAACa,OAAD,CAAP,CAAiBX,MAA7D;;IAEA,IAAIiB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCrB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,MAA2BQ,SAAxE,EAAmF;MAC/EC,OAAO,CAACC,IAAR,CAAa,4DAAb;IACH;;IAED,MAAMC,QAAQ,GAAGpB,WAAW,CAACC,KAAD,CAA5B;IAEA,MAAMoB,gBAAiC,GAAG;MACtCC,eAAe,EAAEF,QAAQ,CAACV,KAAD,CADa;MAEtCa,YAAY,EAAEtB,KAAK,CAACuB,KAAN,CAAYC,MAAZ,CAAmBC,IAFK;MAGtCC,MAAM,EAAEd,SAH8B;MAItCe,QAAQ,EAAE,UAJ4B;MAKtCC,KAAK,EAAEhB;IAL+B,CAA1C;IAQA,MAAMiB,YAA0C,GAAG;MAC/C/B,KAAK,EAAE,IAAAgC,oBAAA,EAAa;QAChBC,QAAQ,EAAE,EADM;QAEhBC,UAAU,EAAE,EAFI;QAGhBC,UAAU,EAAE,iBAHI;QAIhBC,aAAa,EAAE,CAAC;MAJA,CAAb,CADwC;MAO/CtC,MAAM,EAAE,IAAAkC,oBAAA,EAAa;QACjBC,QAAQ,EAAE,EADO;QAEjBC,UAAU,EAAE,EAFK;QAGjBC,UAAU,EAAE,iBAHK;QAIjBC,aAAa,EAAE,CAAC;MAJC,CAAb;IAPuC,CAAnD;;IAeA,QAAQ3B,OAAR;MACI;MACA,KAAK,KAAL;QACI,OAAO;UACH4B,KAAK,EAAE,EAAE,GAAGf;UAAL;QADJ,CAAP;;MAGJ,KAAK,QAAL;QACI,OAAO;UACHe,KAAK,EAAE,EACH,GAAGf,gBADA;YAEHgB,UAAU,EAAE,QAFT;YAGHC,cAAc,EAAE;UAHb,CADJ;UAMHC,WAAW,EAAE,IAAAC,wBAAA,EAAgBvC,KAAhB,EAAuB;YAChCwC,QAAQ,EAAGC,CAAD,IAAOZ,YAAY,CAACrB,IAAD,CADG;YAEhCC,KAAK,EAAEiC,oBAAA,CAAaC,OAAb,CAAqBC,KAArB,CAA2B,KAA3B;UAFyB,CAAvB;QANV,CAAP;IAPR;EAmBH,CAnDM,EAmDJ,CAAC5C,KAAD,EAAQO,OAAR,EAAiBC,IAAjB,EAAuBC,KAAvB,CAnDI,CAAP;AAoDH"}
1
+ {"version":3,"names":["sizeMap","dot","medium","number","large","getColorMap","theme","accent","palette","fill","danger","status","useVariantStyleMap","variant","size","color","useTheme","useMemo","badgeSize","process","env","NODE_ENV","undefined","console","warn","colorMap","commonBadgeStyle","backgroundColor","borderRadius","shape","radius","full","height","position","width","fontStyleMap","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","badge","alignItems","justifyContent","contentFont","createFontStyle","selector","_","commonColors","opacity","white"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FontStyle, FountainUiStyle, Theme } from '@fountain-ui/styles';\nimport { commonColors, typographyOf } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { BadgeColor, BadgeSize, BadgeVariant } from './BadgeProps';\n\nconst sizeMap: Record<BadgeVariant, Partial<Record<BadgeSize, number>>> = {\n dot: {\n medium: 4,\n },\n number: {\n large: 26,\n medium: 22,\n },\n};\n\nconst getColorMap = (theme: Theme): Record<BadgeColor, string> => ({\n accent: theme.palette.fill.accent,\n danger: theme.palette.status.danger,\n});\n\ninterface VariantStyle {\n badge: FountainUiStyle;\n contentFont?: TextStyle;\n}\n\nexport default function useVariantStyleMap(variant: BadgeVariant, size: BadgeSize, color: BadgeColor): VariantStyle {\n const theme = useTheme();\n\n return useMemo<VariantStyle>(() => {\n const badgeSize = sizeMap[variant][size] ?? sizeMap[variant].medium;\n\n if (process.env.NODE_ENV !== 'production' && sizeMap[variant][size] === undefined) {\n console.warn('The selected size is not supported for the chosen variant.');\n }\n\n const colorMap = getColorMap(theme);\n\n const commonBadgeStyle: FountainUiStyle = {\n backgroundColor: colorMap[color],\n borderRadius: theme.shape.radius.full,\n height: badgeSize,\n position: 'absolute',\n width: badgeSize,\n };\n\n const fontStyleMap: Record<BadgeSize, FontStyle> = {\n large: typographyOf({\n fontSize: 14,\n lineHeight: 14,\n fontFamily: 'PretendardStd-Bold',\n letterSpacing: -0.7,\n }),\n medium: typographyOf({\n fontSize: 12,\n lineHeight: 12,\n fontFamily: 'PretendardStd-Bold',\n letterSpacing: -0.6,\n }),\n };\n\n switch (variant) {\n default:\n case 'dot':\n return {\n badge: { ...commonBadgeStyle },\n };\n case 'number':\n return {\n badge: {\n ...commonBadgeStyle,\n alignItems: 'center',\n justifyContent: 'center',\n },\n contentFont: createFontStyle(theme, {\n selector: (_) => fontStyleMap[size],\n color: commonColors.opacity.white['100'],\n }),\n };\n }\n }, [theme, variant, size, color]);\n}\n"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;AAGA,MAAMA,OAAiE,GAAG;EACtEC,GAAG,EAAE;IACDC,MAAM,EAAE;EADP,CADiE;EAItEC,MAAM,EAAE;IACJC,KAAK,EAAE,EADH;IAEJF,MAAM,EAAE;EAFJ;AAJ8D,CAA1E;;AAUA,MAAMG,WAAW,GAAIC,KAAD,KAA+C;EAC/DC,MAAM,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,CAAmBF,MADoC;EAE/DG,MAAM,EAAEJ,KAAK,CAACE,OAAN,CAAcG,MAAd,CAAqBD;AAFkC,CAA/C,CAApB;;AAUe,SAASE,kBAAT,CAA4BC,OAA5B,EAAmDC,IAAnD,EAAoEC,KAApE,EAAqG;EAChH,MAAMT,KAAK,GAAG,IAAAU,iBAAA,GAAd;EAEA,OAAO,IAAAC,cAAA,EAAsB,MAAM;IAC/B,MAAMC,SAAS,GAAGlB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,KAA0Bd,OAAO,CAACa,OAAD,CAAP,CAAiBX,MAA7D;;IAEA,IAAIiB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCrB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,MAA2BQ,SAAxE,EAAmF;MAC/EC,OAAO,CAACC,IAAR,CAAa,4DAAb;IACH;;IAED,MAAMC,QAAQ,GAAGpB,WAAW,CAACC,KAAD,CAA5B;IAEA,MAAMoB,gBAAiC,GAAG;MACtCC,eAAe,EAAEF,QAAQ,CAACV,KAAD,CADa;MAEtCa,YAAY,EAAEtB,KAAK,CAACuB,KAAN,CAAYC,MAAZ,CAAmBC,IAFK;MAGtCC,MAAM,EAAEd,SAH8B;MAItCe,QAAQ,EAAE,UAJ4B;MAKtCC,KAAK,EAAEhB;IAL+B,CAA1C;IAQA,MAAMiB,YAA0C,GAAG;MAC/C/B,KAAK,EAAE,IAAAgC,oBAAA,EAAa;QAChBC,QAAQ,EAAE,EADM;QAEhBC,UAAU,EAAE,EAFI;QAGhBC,UAAU,EAAE,oBAHI;QAIhBC,aAAa,EAAE,CAAC;MAJA,CAAb,CADwC;MAO/CtC,MAAM,EAAE,IAAAkC,oBAAA,EAAa;QACjBC,QAAQ,EAAE,EADO;QAEjBC,UAAU,EAAE,EAFK;QAGjBC,UAAU,EAAE,oBAHK;QAIjBC,aAAa,EAAE,CAAC;MAJC,CAAb;IAPuC,CAAnD;;IAeA,QAAQ3B,OAAR;MACI;MACA,KAAK,KAAL;QACI,OAAO;UACH4B,KAAK,EAAE,EAAE,GAAGf;UAAL;QADJ,CAAP;;MAGJ,KAAK,QAAL;QACI,OAAO;UACHe,KAAK,EAAE,EACH,GAAGf,gBADA;YAEHgB,UAAU,EAAE,QAFT;YAGHC,cAAc,EAAE;UAHb,CADJ;UAMHC,WAAW,EAAE,IAAAC,wBAAA,EAAgBvC,KAAhB,EAAuB;YAChCwC,QAAQ,EAAGC,CAAD,IAAOZ,YAAY,CAACrB,IAAD,CADG;YAEhCC,KAAK,EAAEiC,oBAAA,CAAaC,OAAb,CAAqBC,KAArB,CAA2B,KAA3B;UAFyB,CAAvB;QANV,CAAP;IAPR;EAmBH,CAnDM,EAmDJ,CAAC5C,KAAD,EAAQO,OAAR,EAAiBC,IAAjB,EAAuBC,KAAvB,CAnDI,CAAP;AAoDH"}
@@ -66,6 +66,7 @@ function BottomSheetTitle(props) {
66
66
  color: 'accent',
67
67
  disableMinWidth: true,
68
68
  onPress: actionButtonProps.onPress,
69
+ size: 'large',
69
70
  style: styles.actionButton,
70
71
  variant: 'text'
71
72
  }) : null);
@@ -1 +1 @@
1
- {"version":3,"names":["useStyles","theme","useTheme","root","alignItems","gap","spacing","justifyContent","marginBottom","paddingHorizontal","title","paddingBottom","paddingTop","actionButton","BottomSheetTitle","props","actionButtonProps","children","style","styleProp","otherProps","styles","rootStyle","css","titleFontStyle","createFontStyle","selector","typography","header3","semiBold","color","palette","text","strong","titleStyle","onPress"],"sources":["BottomSheetTitle.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport Button from '../Button/Button';\nimport Row from '../Row';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type BottomSheetTitleProps from './BottomSheetTitleProps';\n\ntype BottomSheetTitleStyles = NamedStylesStringUnion<'root' | 'title' | 'actionButton'>;\n\nconst useStyles: UseStyles<BottomSheetTitleStyles> = function (): BottomSheetTitleStyles {\n const theme = useTheme();\n\n return {\n root: {\n alignItems: 'center',\n gap: theme.spacing(8),\n justifyContent: 'space-between',\n marginBottom: theme.spacing(4),\n paddingHorizontal: theme.spacing(6),\n },\n title: {\n paddingBottom: theme.spacing(1.25),\n paddingTop: theme.spacing(1),\n },\n actionButton: {\n paddingBottom: theme.spacing(1.75),\n paddingHorizontal: 0,\n paddingTop: theme.spacing(1.25),\n },\n };\n};\n\nexport default function BottomSheetTitle(props: BottomSheetTitleProps) {\n const {\n actionButtonProps,\n children,\n style: styleProp,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const rootStyle = css([\n styles.root,\n styleProp,\n ]);\n\n const titleFontStyle = createFontStyle(theme, {\n selector: (typography) => typography.header3.semiBold,\n color: theme.palette.text.strong,\n });\n\n const titleStyle = css([\n styles.title,\n titleFontStyle,\n ]);\n\n return (\n <Row\n style={rootStyle}\n {...otherProps}\n >\n <Text\n children={children}\n style={titleStyle}\n />\n\n {actionButtonProps ? (\n <Button\n children={actionButtonProps.title}\n color={'accent'}\n disableMinWidth={true}\n onPress={actionButtonProps.onPress}\n style={styles.actionButton}\n variant={'text'}\n />\n ) : null}\n </Row>\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAKA,MAAMA,SAA4C,GAAG,YAAoC;EACrF,MAAMC,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,OAAO;IACHC,IAAI,EAAE;MACFC,UAAU,EAAE,QADV;MAEFC,GAAG,EAAEJ,KAAK,CAACK,OAAN,CAAc,CAAd,CAFH;MAGFC,cAAc,EAAE,eAHd;MAIFC,YAAY,EAAEP,KAAK,CAACK,OAAN,CAAc,CAAd,CAJZ;MAKFG,iBAAiB,EAAER,KAAK,CAACK,OAAN,CAAc,CAAd;IALjB,CADH;IAQHI,KAAK,EAAE;MACHC,aAAa,EAAEV,KAAK,CAACK,OAAN,CAAc,IAAd,CADZ;MAEHM,UAAU,EAAEX,KAAK,CAACK,OAAN,CAAc,CAAd;IAFT,CARJ;IAYHO,YAAY,EAAE;MACVF,aAAa,EAAEV,KAAK,CAACK,OAAN,CAAc,IAAd,CADL;MAEVG,iBAAiB,EAAE,CAFT;MAGVG,UAAU,EAAEX,KAAK,CAACK,OAAN,CAAc,IAAd;IAHF;EAZX,CAAP;AAkBH,CArBD;;AAuBe,SAASQ,gBAAT,CAA0BC,KAA1B,EAAwD;EACnE,MAAM;IACFC,iBADE;IAEFC,QAFE;IAGFC,KAAK,EAAEC,SAHL;IAIF,GAAGC;EAJD,IAKFL,KALJ;EAOA,MAAMd,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,MAAMmB,MAAM,GAAGrB,SAAS,EAAxB;EAEA,MAAMsB,SAAS,GAAG,IAAAC,WAAA,EAAI,CAClBF,MAAM,CAAClB,IADW,EAElBgB,SAFkB,CAAJ,CAAlB;EAKA,MAAMK,cAAc,GAAG,IAAAC,uBAAA,EAAgBxB,KAAhB,EAAuB;IAC1CyB,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,OAAX,CAAmBC,QADH;IAE1CC,KAAK,EAAE7B,KAAK,CAAC8B,OAAN,CAAcC,IAAd,CAAmBC;EAFgB,CAAvB,CAAvB;EAKA,MAAMC,UAAU,GAAG,IAAAX,WAAA,EAAI,CACnBF,MAAM,CAACX,KADY,EAEnBc,cAFmB,CAAJ,CAAnB;EAKA,oBACI,6BAAC,YAAD;IACI,KAAK,EAAEF;EADX,GAEQF,UAFR,gBAII,6BAAC,iBAAD;IACI,QAAQ,EAAEH,QADd;IAEI,KAAK,EAAEiB;EAFX,EAJJ,EASKlB,iBAAiB,gBACd,6BAAC,eAAD;IACI,QAAQ,EAAEA,iBAAiB,CAACN,KADhC;IAEI,KAAK,EAAE,QAFX;IAGI,eAAe,EAAE,IAHrB;IAII,OAAO,EAAEM,iBAAiB,CAACmB,OAJ/B;IAKI,KAAK,EAAEd,MAAM,CAACR,YALlB;IAMI,OAAO,EAAE;EANb,EADc,GASd,IAlBR,CADJ;AAsBH"}
1
+ {"version":3,"names":["useStyles","theme","useTheme","root","alignItems","gap","spacing","justifyContent","marginBottom","paddingHorizontal","title","paddingBottom","paddingTop","actionButton","BottomSheetTitle","props","actionButtonProps","children","style","styleProp","otherProps","styles","rootStyle","css","titleFontStyle","createFontStyle","selector","typography","header3","semiBold","color","palette","text","strong","titleStyle","onPress"],"sources":["BottomSheetTitle.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport Button from '../Button/Button';\nimport Row from '../Row';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type BottomSheetTitleProps from './BottomSheetTitleProps';\n\ntype BottomSheetTitleStyles = NamedStylesStringUnion<'root' | 'title' | 'actionButton'>;\n\nconst useStyles: UseStyles<BottomSheetTitleStyles> = function (): BottomSheetTitleStyles {\n const theme = useTheme();\n\n return {\n root: {\n alignItems: 'center',\n gap: theme.spacing(8),\n justifyContent: 'space-between',\n marginBottom: theme.spacing(4),\n paddingHorizontal: theme.spacing(6),\n },\n title: {\n paddingBottom: theme.spacing(1.25),\n paddingTop: theme.spacing(1),\n },\n actionButton: {\n paddingBottom: theme.spacing(1.75),\n paddingHorizontal: 0,\n paddingTop: theme.spacing(1.25),\n },\n };\n};\n\nexport default function BottomSheetTitle(props: BottomSheetTitleProps) {\n const {\n actionButtonProps,\n children,\n style: styleProp,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const rootStyle = css([\n styles.root,\n styleProp,\n ]);\n\n const titleFontStyle = createFontStyle(theme, {\n selector: (typography) => typography.header3.semiBold,\n color: theme.palette.text.strong,\n });\n\n const titleStyle = css([\n styles.title,\n titleFontStyle,\n ]);\n\n return (\n <Row\n style={rootStyle}\n {...otherProps}\n >\n <Text\n children={children}\n style={titleStyle}\n />\n\n {actionButtonProps ? (\n <Button\n children={actionButtonProps.title}\n color={'accent'}\n disableMinWidth={true}\n onPress={actionButtonProps.onPress}\n size={'large'}\n style={styles.actionButton}\n variant={'text'}\n />\n ) : null}\n </Row>\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAKA,MAAMA,SAA4C,GAAG,YAAoC;EACrF,MAAMC,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,OAAO;IACHC,IAAI,EAAE;MACFC,UAAU,EAAE,QADV;MAEFC,GAAG,EAAEJ,KAAK,CAACK,OAAN,CAAc,CAAd,CAFH;MAGFC,cAAc,EAAE,eAHd;MAIFC,YAAY,EAAEP,KAAK,CAACK,OAAN,CAAc,CAAd,CAJZ;MAKFG,iBAAiB,EAAER,KAAK,CAACK,OAAN,CAAc,CAAd;IALjB,CADH;IAQHI,KAAK,EAAE;MACHC,aAAa,EAAEV,KAAK,CAACK,OAAN,CAAc,IAAd,CADZ;MAEHM,UAAU,EAAEX,KAAK,CAACK,OAAN,CAAc,CAAd;IAFT,CARJ;IAYHO,YAAY,EAAE;MACVF,aAAa,EAAEV,KAAK,CAACK,OAAN,CAAc,IAAd,CADL;MAEVG,iBAAiB,EAAE,CAFT;MAGVG,UAAU,EAAEX,KAAK,CAACK,OAAN,CAAc,IAAd;IAHF;EAZX,CAAP;AAkBH,CArBD;;AAuBe,SAASQ,gBAAT,CAA0BC,KAA1B,EAAwD;EACnE,MAAM;IACFC,iBADE;IAEFC,QAFE;IAGFC,KAAK,EAAEC,SAHL;IAIF,GAAGC;EAJD,IAKFL,KALJ;EAOA,MAAMd,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,MAAMmB,MAAM,GAAGrB,SAAS,EAAxB;EAEA,MAAMsB,SAAS,GAAG,IAAAC,WAAA,EAAI,CAClBF,MAAM,CAAClB,IADW,EAElBgB,SAFkB,CAAJ,CAAlB;EAKA,MAAMK,cAAc,GAAG,IAAAC,uBAAA,EAAgBxB,KAAhB,EAAuB;IAC1CyB,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,OAAX,CAAmBC,QADH;IAE1CC,KAAK,EAAE7B,KAAK,CAAC8B,OAAN,CAAcC,IAAd,CAAmBC;EAFgB,CAAvB,CAAvB;EAKA,MAAMC,UAAU,GAAG,IAAAX,WAAA,EAAI,CACnBF,MAAM,CAACX,KADY,EAEnBc,cAFmB,CAAJ,CAAnB;EAKA,oBACI,6BAAC,YAAD;IACI,KAAK,EAAEF;EADX,GAEQF,UAFR,gBAII,6BAAC,iBAAD;IACI,QAAQ,EAAEH,QADd;IAEI,KAAK,EAAEiB;EAFX,EAJJ,EASKlB,iBAAiB,gBACd,6BAAC,eAAD;IACI,QAAQ,EAAEA,iBAAiB,CAACN,KADhC;IAEI,KAAK,EAAE,QAFX;IAGI,eAAe,EAAE,IAHrB;IAII,OAAO,EAAEM,iBAAiB,CAACmB,OAJ/B;IAKI,IAAI,EAAE,OALV;IAMI,KAAK,EAAEd,MAAM,CAACR,YANlB;IAOI,OAAO,EAAE;EAPb,EADc,GAUd,IAnBR,CADJ;AAuBH"}
@@ -32,7 +32,8 @@ const useStyles = function () {
32
32
  alignItems: 'center',
33
33
  borderRadius: theme.shape.radius.sm,
34
34
  flexDirection: 'row',
35
- justifyContent: 'center'
35
+ justifyContent: 'center',
36
+ minHeight: 32
36
37
  },
37
38
  fullWidth: {
38
39
  width: '100%'
@@ -56,6 +57,9 @@ const useStyles = function () {
56
57
  },
57
58
  loadingSpinner: {
58
59
  position: 'absolute'
60
+ },
61
+ iconContainer: {
62
+ paddingTop: 1
59
63
  }
60
64
  };
61
65
  };
@@ -95,6 +99,7 @@ function Button(props) {
95
99
  color: colorProp = 'primary',
96
100
  disabled: disabledProp = false,
97
101
  disableMinWidth = false,
102
+ disablePadding = false,
98
103
  endIcon: endIconProp,
99
104
  fullWidth = false,
100
105
  href,
@@ -120,10 +125,17 @@ function Button(props) {
120
125
  fill: iconColor,
121
126
  opacity: isLoading ? 0 : 1
122
127
  };
123
- const startIcon = (0, _utils.cloneElementSafely)(startIconProp, iconProps);
124
- const endIcon = (0, _utils.cloneElementSafely)(endIconProp, iconProps);
128
+ const startIcon = startIconProp ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
129
+ style: styles.iconContainer
130
+ }, (0, _utils.cloneElementSafely)(startIconProp, iconProps)) : null;
131
+ const endIcon = endIconProp ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
132
+ style: styles.iconContainer
133
+ }, (0, _utils.cloneElementSafely)(endIconProp, iconProps)) : null;
125
134
  const buttonBaseStyle = (0, _styles2.css)([styles.root, containerStyle, styles[size], fullWidth ? styles.fullWidth : undefined, disableMinWidth ? {
126
135
  minWidth: 0
136
+ } : undefined, disablePadding ? {
137
+ paddingHorizontal: 0,
138
+ paddingVertical: 0
127
139
  } : undefined, styleProp]);
128
140
  const fontStyle = (0, _styles2.createFontStyle)(theme, {
129
141
  selector: _ => fontStyleMap[size],
@@ -1 +1 @@
1
- {"version":3,"names":["useStyles","theme","useTheme","root","alignItems","borderRadius","shape","radius","sm","flexDirection","justifyContent","fullWidth","width","large","gap","spacing","minWidth","paddingHorizontal","paddingVertical","medium","small","loadingSpinner","position","fontStyleMap","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","getLoadingSpinnerColor","variant","color","Button","props","children","colorProp","disabled","disabledProp","disableMinWidth","endIcon","endIconProp","href","isLoading","onPress","pressEffect","size","startIcon","startIconProp","style","styleProp","otherProps","styles","container","containerStyle","iconColor","labelColor","useVariantStyleMap","iconProps","fill","opacity","cloneElementSafely","buttonBaseStyle","css","undefined","fontStyle","createFontStyle","selector","_","textStyle","textAlign","modifiedPressEffect","handlePress","Linking","canOpenURL","openURL","loadingSpinnerColor"],"sources":["Button.tsx"],"sourcesContent":["import React from 'react';\nimport { Linking, Text } from 'react-native';\nimport type { FontStyle, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport ButtonBase from '../ButtonBase/ButtonBase';\nimport { LoadingSpinner } from '../internal/icons';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport { cloneElementSafely } from '../utils';\nimport type ButtonProps from './ButtonProps';\nimport type { ButtonColor, ButtonSize, ButtonVariant } from './ButtonProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\ntype ButtonStyles = NamedStylesStringUnion<'root' | 'fullWidth' | 'large' | 'medium' | 'small' | 'loadingSpinner'>;\n\nconst useStyles: UseStyles<ButtonStyles> = function (): ButtonStyles {\n const theme = useTheme();\n\n return {\n root: {\n alignItems: 'center',\n borderRadius: theme.shape.radius.sm,\n flexDirection: 'row',\n justifyContent: 'center',\n },\n fullWidth: {\n width: '100%',\n },\n large: {\n gap: theme.spacing(2),\n minWidth: 104,\n paddingHorizontal: theme.spacing(6),\n paddingVertical: theme.spacing(3.5),\n },\n medium: {\n gap: theme.spacing(1.5),\n minWidth: 88,\n paddingHorizontal: theme.spacing(6),\n paddingVertical: theme.spacing(2.75),\n },\n small: {\n minWidth: 64,\n paddingHorizontal: theme.spacing(6),\n paddingVertical: theme.spacing(2),\n },\n loadingSpinner: {\n position: 'absolute',\n },\n };\n};\n\nconst fontStyleMap: Record<ButtonSize, FontStyle> = {\n large: typographyOf({\n fontSize: 16,\n lineHeight: 20,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.32,\n }),\n medium: typographyOf({\n fontSize: 15,\n lineHeight: 19.5,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.3,\n }),\n small: typographyOf({\n fontSize: 13,\n lineHeight: 16.9,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.26,\n }),\n};\n\nfunction getLoadingSpinnerColor(variant: ButtonVariant, color: ButtonColor) {\n if (variant === 'solid' || (variant === 'capsuleSolid' && color !== 'secondary')) {\n return 'white';\n }\n return 'gray';\n}\n\nexport default function Button(props: ButtonProps) {\n const {\n children,\n color: colorProp = 'primary' as ButtonColor,\n disabled: disabledProp = false,\n disableMinWidth = false,\n endIcon: endIconProp,\n fullWidth = false,\n href,\n isLoading = false,\n onPress,\n pressEffect,\n size = 'medium' as ButtonSize,\n startIcon: startIconProp,\n style: styleProp,\n variant = 'solid' as ButtonVariant,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const disabled = disabledProp || isLoading;\n\n const color = disabledProp ? 'disabled' : colorProp;\n const {\n container: containerStyle,\n iconColor,\n labelColor,\n } = useVariantStyleMap(variant, color);\n\n const iconProps = {\n fill: iconColor,\n opacity: isLoading ? 0 : 1,\n };\n\n const startIcon = cloneElementSafely(startIconProp, iconProps);\n const endIcon = cloneElementSafely(endIconProp, iconProps);\n\n const buttonBaseStyle = css([\n styles.root,\n containerStyle,\n styles[size],\n fullWidth ? styles.fullWidth : undefined,\n disableMinWidth ? { minWidth: 0 } : undefined,\n styleProp,\n ]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (_) => fontStyleMap[size],\n color: labelColor,\n });\n\n const textStyle = css([\n fontStyle,\n {\n opacity: isLoading ? 0 : 1,\n textAlign: 'center',\n },\n ]);\n\n const modifiedPressEffect = variant !== 'text' && !pressEffect\n ? 'scale'\n : pressEffect;\n\n const handlePress = async () => {\n if (disabled) {\n return;\n }\n if (onPress) {\n onPress();\n return;\n }\n if (href) {\n if (await Linking.canOpenURL(href)) {\n await Linking.openURL(href);\n }\n }\n };\n\n const loadingSpinnerColor = getLoadingSpinnerColor(variant, color);\n\n return (\n <ButtonBase\n disabled={disabled}\n onPress={handlePress}\n style={buttonBaseStyle}\n pressEffect={modifiedPressEffect}\n {...otherProps}\n >\n {startIcon}\n\n <Text style={textStyle}>\n {children}\n </Text>\n\n {endIcon}\n\n {isLoading ? (\n <LoadingSpinner\n color={loadingSpinnerColor}\n size={size}\n style={styles.loadingSpinner}\n />\n ) : null}\n </ButtonBase>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useStyles","theme","useTheme","root","alignItems","borderRadius","shape","radius","sm","flexDirection","justifyContent","minHeight","fullWidth","width","large","gap","spacing","minWidth","paddingHorizontal","paddingVertical","medium","small","loadingSpinner","position","iconContainer","paddingTop","fontStyleMap","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","getLoadingSpinnerColor","variant","color","Button","props","children","colorProp","disabled","disabledProp","disableMinWidth","disablePadding","endIcon","endIconProp","href","isLoading","onPress","pressEffect","size","startIcon","startIconProp","style","styleProp","otherProps","styles","container","containerStyle","iconColor","labelColor","useVariantStyleMap","iconProps","fill","opacity","cloneElementSafely","buttonBaseStyle","css","undefined","fontStyle","createFontStyle","selector","_","textStyle","textAlign","modifiedPressEffect","handlePress","Linking","canOpenURL","openURL","loadingSpinnerColor"],"sources":["Button.tsx"],"sourcesContent":["import React from 'react';\nimport { Linking, Text, View } from 'react-native';\nimport type { FontStyle, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport ButtonBase from '../ButtonBase/ButtonBase';\nimport { LoadingSpinner } from '../internal/icons';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport { cloneElementSafely } from '../utils';\nimport type ButtonProps from './ButtonProps';\nimport type { ButtonColor, ButtonSize, ButtonVariant } from './ButtonProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\ntype ButtonStyles = NamedStylesStringUnion<'root' | 'fullWidth' | 'large' | 'medium' | 'small' | 'loadingSpinner' | 'iconContainer'>;\n\nconst useStyles: UseStyles<ButtonStyles> = function (): ButtonStyles {\n const theme = useTheme();\n\n return {\n root: {\n alignItems: 'center',\n borderRadius: theme.shape.radius.sm,\n flexDirection: 'row',\n justifyContent: 'center',\n minHeight: 32,\n },\n fullWidth: {\n width: '100%',\n },\n large: {\n gap: theme.spacing(2),\n minWidth: 104,\n paddingHorizontal: theme.spacing(6),\n paddingVertical: theme.spacing(3.5),\n },\n medium: {\n gap: theme.spacing(1.5),\n minWidth: 88,\n paddingHorizontal: theme.spacing(6),\n paddingVertical: theme.spacing(2.75),\n },\n small: {\n minWidth: 64,\n paddingHorizontal: theme.spacing(6),\n paddingVertical: theme.spacing(2),\n },\n loadingSpinner: {\n position: 'absolute',\n },\n iconContainer: {\n paddingTop: 1,\n },\n };\n};\n\nconst fontStyleMap: Record<ButtonSize, FontStyle> = {\n large: typographyOf({\n fontSize: 16,\n lineHeight: 20,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.32,\n }),\n medium: typographyOf({\n fontSize: 15,\n lineHeight: 19.5,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.3,\n }),\n small: typographyOf({\n fontSize: 13,\n lineHeight: 16.9,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.26,\n }),\n};\n\nfunction getLoadingSpinnerColor(variant: ButtonVariant, color: ButtonColor) {\n if (variant === 'solid' || (variant === 'capsuleSolid' && color !== 'secondary')) {\n return 'white';\n }\n return 'gray';\n}\n\nexport default function Button(props: ButtonProps) {\n const {\n children,\n color: colorProp = 'primary' as ButtonColor,\n disabled: disabledProp = false,\n disableMinWidth = false,\n disablePadding = false,\n endIcon: endIconProp,\n fullWidth = false,\n href,\n isLoading = false,\n onPress,\n pressEffect,\n size = 'medium' as ButtonSize,\n startIcon: startIconProp,\n style: styleProp,\n variant = 'solid' as ButtonVariant,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const disabled = disabledProp || isLoading;\n\n const color = disabledProp ? 'disabled' : colorProp;\n const {\n container: containerStyle,\n iconColor,\n labelColor,\n } = useVariantStyleMap(variant, color);\n\n const iconProps = {\n fill: iconColor,\n opacity: isLoading ? 0 : 1,\n };\n\n const startIcon = startIconProp ? (\n <View style={styles.iconContainer}>\n {cloneElementSafely(startIconProp, iconProps)}\n </View>\n ) : null;\n\n const endIcon = endIconProp ? (\n <View style={styles.iconContainer}>\n {cloneElementSafely(endIconProp, iconProps)}\n </View>\n ) : null;\n\n const buttonBaseStyle = css([\n styles.root,\n containerStyle,\n styles[size],\n fullWidth ? styles.fullWidth : undefined,\n disableMinWidth ? { minWidth: 0 } : undefined,\n disablePadding ? { paddingHorizontal: 0, paddingVertical: 0 } : undefined,\n styleProp,\n ]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (_) => fontStyleMap[size],\n color: labelColor,\n });\n\n const textStyle = css([\n fontStyle,\n {\n opacity: isLoading ? 0 : 1,\n textAlign: 'center',\n },\n ]);\n\n const modifiedPressEffect = variant !== 'text' && !pressEffect\n ? 'scale'\n : pressEffect;\n\n const handlePress = async () => {\n if (disabled) {\n return;\n }\n if (onPress) {\n onPress();\n return;\n }\n if (href) {\n if (await Linking.canOpenURL(href)) {\n await Linking.openURL(href);\n }\n }\n };\n\n const loadingSpinnerColor = getLoadingSpinnerColor(variant, color);\n\n return (\n <ButtonBase\n disabled={disabled}\n onPress={handlePress}\n style={buttonBaseStyle}\n pressEffect={modifiedPressEffect}\n {...otherProps}\n >\n {startIcon}\n\n <Text style={textStyle}>\n {children}\n </Text>\n\n {endIcon}\n\n {isLoading ? (\n <LoadingSpinner\n color={loadingSpinnerColor}\n size={size}\n style={styles.loadingSpinner}\n />\n ) : null}\n </ButtonBase>\n );\n};\n"],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ButtonVariants = exports.ButtonSizes = exports.ButtonColors = void 0;
7
- const ButtonColors = ['accent', 'primary', 'danger', 'disabled', 'secondary', 'accentAlt'];
8
- exports.ButtonColors = ButtonColors;
9
- const ButtonSizes = ['small', 'medium', 'large'];
10
- exports.ButtonSizes = ButtonSizes;
11
- const ButtonVariants = ['solid', 'outlined', 'text', 'capsuleSolid', 'capsuleOutlined'];
12
- exports.ButtonVariants = ButtonVariants;
6
+ exports.buttonVariants = exports.buttonSizes = exports.buttonColors = void 0;
7
+ const buttonColors = ['accent', 'primary', 'danger', 'disabled', 'secondary', 'accentAlt'];
8
+ exports.buttonColors = buttonColors;
9
+ const buttonSizes = ['small', 'medium', 'large'];
10
+ exports.buttonSizes = buttonSizes;
11
+ const buttonVariants = ['solid', 'outlined', 'text', 'capsuleSolid', 'capsuleOutlined'];
12
+ exports.buttonVariants = buttonVariants;
13
13
  //# sourceMappingURL=ButtonProps.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ButtonColors","ButtonSizes","ButtonVariants"],"sources":["ButtonProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ButtonBaseProps } from '../ButtonBase';\nimport type { OverridableComponentProps } from '../types';\n\nexport const ButtonColors = [\n 'accent',\n 'primary',\n 'danger',\n 'disabled',\n 'secondary',\n 'accentAlt',\n] as const;\nexport type ButtonColor = typeof ButtonColors[number];\n\nexport const ButtonSizes = [\n 'small',\n 'medium',\n 'large',\n] as const;\nexport type ButtonSize = typeof ButtonSizes[number];\n\nexport const ButtonVariants = [\n 'solid',\n 'outlined',\n 'text',\n 'capsuleSolid',\n 'capsuleOutlined',\n] as const;\nexport type ButtonVariant = typeof ButtonVariants[number];\n\nexport default interface ButtonProps extends OverridableComponentProps<ButtonBaseProps, {\n /**\n * The content of the button.\n */\n children: string;\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color?: ButtonColor;\n\n /**\n * Determines whether minWidth should be applied.\n * @default false\n */\n disableMinWidth?: boolean;\n\n /**\n * Element placed after the children.\n */\n endIcon?: React.ReactElement;\n\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth?: boolean;\n\n /**\n * The URL to link to when the button is clicked.\n */\n href?: string;\n\n /**\n * Determines whether to show the loading status or not.\n * @default false\n */\n isLoading?: boolean;\n\n /**\n * The size of the button.\n * @default 'medium'\n */\n size?: ButtonSize;\n\n /**\n * Element placed before the children.\n */\n startIcon?: React.ReactElement;\n\n /**\n * The variant to use.\n * @default 'solid'\n */\n variant?: ButtonVariant;\n}> {}\n"],"mappings":";;;;;;AAIO,MAAMA,YAAY,GAAG,CACxB,QADwB,EAExB,SAFwB,EAGxB,QAHwB,EAIxB,UAJwB,EAKxB,WALwB,EAMxB,WANwB,CAArB;;AAUA,MAAMC,WAAW,GAAG,CACvB,OADuB,EAEvB,QAFuB,EAGvB,OAHuB,CAApB;;AAOA,MAAMC,cAAc,GAAG,CAC1B,OAD0B,EAE1B,UAF0B,EAG1B,MAH0B,EAI1B,cAJ0B,EAK1B,iBAL0B,CAAvB"}
1
+ {"version":3,"names":["buttonColors","buttonSizes","buttonVariants"],"sources":["ButtonProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ButtonBaseProps } from '../ButtonBase';\nimport type { OverridableComponentProps } from '../types';\n\nexport const buttonColors = [\n 'accent',\n 'primary',\n 'danger',\n 'disabled',\n 'secondary',\n 'accentAlt',\n] as const;\nexport type ButtonColor = typeof buttonColors[number];\n\nexport const buttonSizes = [\n 'small',\n 'medium',\n 'large',\n] as const;\nexport type ButtonSize = typeof buttonSizes[number];\n\nexport const buttonVariants = [\n 'solid',\n 'outlined',\n 'text',\n 'capsuleSolid',\n 'capsuleOutlined',\n] as const;\nexport type ButtonVariant = typeof buttonVariants[number];\n\nexport default interface ButtonProps extends OverridableComponentProps<ButtonBaseProps, {\n /**\n * The content of the button.\n */\n children: string;\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color?: ButtonColor;\n\n /**\n * Determines whether minWidth should be applied.\n * @default false\n */\n disableMinWidth?: boolean;\n\n /**\n * Determines whether padding should be applied.\n * @default false\n */\n disablePadding?: boolean;\n\n /**\n * Element placed after the children.\n */\n endIcon?: React.ReactElement;\n\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth?: boolean;\n\n /**\n * The URL to link to when the button is clicked.\n */\n href?: string;\n\n /**\n * Determines whether to show the loading status or not.\n * @default false\n */\n isLoading?: boolean;\n\n /**\n * The size of the button.\n * @default 'medium'\n */\n size?: ButtonSize;\n\n /**\n * Element placed before the children.\n */\n startIcon?: React.ReactElement;\n\n /**\n * The variant to use.\n * @default 'solid'\n */\n variant?: ButtonVariant;\n}> {}\n"],"mappings":";;;;;;AAIO,MAAMA,YAAY,GAAG,CACxB,QADwB,EAExB,SAFwB,EAGxB,QAHwB,EAIxB,UAJwB,EAKxB,WALwB,EAMxB,WANwB,CAArB;;AAUA,MAAMC,WAAW,GAAG,CACvB,OADuB,EAEvB,QAFuB,EAGvB,OAHuB,CAApB;;AAOA,MAAMC,cAAc,GAAG,CAC1B,OAD0B,EAE1B,UAF0B,EAG1B,MAH0B,EAI1B,cAJ0B,EAK1B,iBAL0B,CAAvB"}
@@ -3,6 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "buttonColors", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ButtonProps.buttonColors;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "buttonSizes", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ButtonProps.buttonSizes;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "buttonVariants", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ButtonProps.buttonVariants;
22
+ }
23
+ });
6
24
  Object.defineProperty(exports, "default", {
7
25
  enumerable: true,
8
26
  get: function () {
@@ -12,5 +30,7 @@ Object.defineProperty(exports, "default", {
12
30
 
13
31
  var _Button = _interopRequireDefault(require("./Button"));
14
32
 
33
+ var _ButtonProps = require("./ButtonProps");
34
+
15
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Button';\nexport type { default as ButtonProps } from './ButtonProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Button';\nexport type { default as ButtonProps } from './ButtonProps';\nexport { buttonColors, buttonSizes, buttonVariants } from './ButtonProps';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA"}
@@ -14,6 +14,8 @@ var _styles2 = require("../styles");
14
14
  function useVariantStyleMap(variant, color) {
15
15
  const theme = (0, _styles2.useTheme)();
16
16
  return (0, _react.useMemo)(() => {
17
+ var _variantStyleMap$vari;
18
+
17
19
  const {
18
20
  palette
19
21
  } = theme;
@@ -54,9 +56,7 @@ function useVariantStyleMap(variant, color) {
54
56
  borderColor: palette.border.accent,
55
57
  borderWidth: 1
56
58
  },
57
- labelColor: '#0BCC99',
58
- // TODO: change color.
59
- // labelColor: palette.text.accent,
59
+ labelColor: palette.text.accent,
60
60
  iconColor: palette.icon.accent
61
61
  },
62
62
  primary: {
@@ -86,9 +86,7 @@ function useVariantStyleMap(variant, color) {
86
86
  iconColor: palette.icon.base
87
87
  },
88
88
  accent: {
89
- labelColor: '#0BCC99',
90
- // TODO: change color.
91
- // labelColor: palette.text.accent,
89
+ labelColor: palette.text.accent,
92
90
  iconColor: palette.icon.accent
93
91
  },
94
92
  accentAlt: {
@@ -168,7 +166,7 @@ function useVariantStyleMap(variant, color) {
168
166
  }
169
167
  };
170
168
 
171
- if (variantStyleMap[variant][color]) {
169
+ if ((_variantStyleMap$vari = variantStyleMap[variant]) !== null && _variantStyleMap$vari !== void 0 && _variantStyleMap$vari[color]) {
172
170
  return variantStyleMap[variant][color];
173
171
  }
174
172