@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
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Linking, Text } from 'react-native';
2
+ import { Linking, Text, View } from 'react-native';
3
3
  import type { FontStyle, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';
4
4
  import { typographyOf } from '@fountain-ui/styles';
5
5
  import ButtonBase from '../ButtonBase/ButtonBase';
@@ -10,7 +10,7 @@ import type ButtonProps from './ButtonProps';
10
10
  import type { ButtonColor, ButtonSize, ButtonVariant } from './ButtonProps';
11
11
  import useVariantStyleMap from './useVariantStyleMap';
12
12
 
13
- type ButtonStyles = NamedStylesStringUnion<'root' | 'fullWidth' | 'large' | 'medium' | 'small' | 'loadingSpinner'>;
13
+ type ButtonStyles = NamedStylesStringUnion<'root' | 'fullWidth' | 'large' | 'medium' | 'small' | 'loadingSpinner' | 'iconContainer'>;
14
14
 
15
15
  const useStyles: UseStyles<ButtonStyles> = function (): ButtonStyles {
16
16
  const theme = useTheme();
@@ -21,6 +21,7 @@ const useStyles: UseStyles<ButtonStyles> = function (): ButtonStyles {
21
21
  borderRadius: theme.shape.radius.sm,
22
22
  flexDirection: 'row',
23
23
  justifyContent: 'center',
24
+ minHeight: 32,
24
25
  },
25
26
  fullWidth: {
26
27
  width: '100%',
@@ -45,6 +46,9 @@ const useStyles: UseStyles<ButtonStyles> = function (): ButtonStyles {
45
46
  loadingSpinner: {
46
47
  position: 'absolute',
47
48
  },
49
+ iconContainer: {
50
+ paddingTop: 1,
51
+ },
48
52
  };
49
53
  };
50
54
 
@@ -82,6 +86,7 @@ export default function Button(props: ButtonProps) {
82
86
  color: colorProp = 'primary' as ButtonColor,
83
87
  disabled: disabledProp = false,
84
88
  disableMinWidth = false,
89
+ disablePadding = false,
85
90
  endIcon: endIconProp,
86
91
  fullWidth = false,
87
92
  href,
@@ -113,8 +118,17 @@ export default function Button(props: ButtonProps) {
113
118
  opacity: isLoading ? 0 : 1,
114
119
  };
115
120
 
116
- const startIcon = cloneElementSafely(startIconProp, iconProps);
117
- const endIcon = cloneElementSafely(endIconProp, iconProps);
121
+ const startIcon = startIconProp ? (
122
+ <View style={styles.iconContainer}>
123
+ {cloneElementSafely(startIconProp, iconProps)}
124
+ </View>
125
+ ) : null;
126
+
127
+ const endIcon = endIconProp ? (
128
+ <View style={styles.iconContainer}>
129
+ {cloneElementSafely(endIconProp, iconProps)}
130
+ </View>
131
+ ) : null;
118
132
 
119
133
  const buttonBaseStyle = css([
120
134
  styles.root,
@@ -122,6 +136,7 @@ export default function Button(props: ButtonProps) {
122
136
  styles[size],
123
137
  fullWidth ? styles.fullWidth : undefined,
124
138
  disableMinWidth ? { minWidth: 0 } : undefined,
139
+ disablePadding ? { paddingHorizontal: 0, paddingVertical: 0 } : undefined,
125
140
  styleProp,
126
141
  ]);
127
142
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { ButtonBaseProps } from '../ButtonBase';
3
3
  import type { OverridableComponentProps } from '../types';
4
4
 
5
- export const ButtonColors = [
5
+ export const buttonColors = [
6
6
  'accent',
7
7
  'primary',
8
8
  'danger',
@@ -10,23 +10,23 @@ export const ButtonColors = [
10
10
  'secondary',
11
11
  'accentAlt',
12
12
  ] as const;
13
- export type ButtonColor = typeof ButtonColors[number];
13
+ export type ButtonColor = typeof buttonColors[number];
14
14
 
15
- export const ButtonSizes = [
15
+ export const buttonSizes = [
16
16
  'small',
17
17
  'medium',
18
18
  'large',
19
19
  ] as const;
20
- export type ButtonSize = typeof ButtonSizes[number];
20
+ export type ButtonSize = typeof buttonSizes[number];
21
21
 
22
- export const ButtonVariants = [
22
+ export const buttonVariants = [
23
23
  'solid',
24
24
  'outlined',
25
25
  'text',
26
26
  'capsuleSolid',
27
27
  'capsuleOutlined',
28
28
  ] as const;
29
- export type ButtonVariant = typeof ButtonVariants[number];
29
+ export type ButtonVariant = typeof buttonVariants[number];
30
30
 
31
31
  export default interface ButtonProps extends OverridableComponentProps<ButtonBaseProps, {
32
32
  /**
@@ -46,6 +46,12 @@ export default interface ButtonProps extends OverridableComponentProps<ButtonBas
46
46
  */
47
47
  disableMinWidth?: boolean;
48
48
 
49
+ /**
50
+ * Determines whether padding should be applied.
51
+ * @default false
52
+ */
53
+ disablePadding?: boolean;
54
+
49
55
  /**
50
56
  * Element placed after the children.
51
57
  */
@@ -1,2 +1,3 @@
1
1
  export { default } from './Button';
2
2
  export type { default as ButtonProps } from './ButtonProps';
3
+ export { buttonColors, buttonSizes, buttonVariants } from './ButtonProps';
@@ -59,9 +59,7 @@ export default function useVariantStyleMap(variant: ButtonVariant, color: Button
59
59
  borderColor: palette.border.accent,
60
60
  borderWidth: 1,
61
61
  },
62
- labelColor: '#0BCC99',
63
- // TODO: change color.
64
- // labelColor: palette.text.accent,
62
+ labelColor: palette.text.accent,
65
63
  iconColor: palette.icon.accent,
66
64
  },
67
65
  primary: {
@@ -91,9 +89,7 @@ export default function useVariantStyleMap(variant: ButtonVariant, color: Button
91
89
  iconColor: palette.icon.base,
92
90
  },
93
91
  accent: {
94
- labelColor: '#0BCC99',
95
- // TODO: change color.
96
- // labelColor: palette.text.accent,
92
+ labelColor: palette.text.accent,
97
93
  iconColor: palette.icon.accent,
98
94
  },
99
95
  accentAlt: {
@@ -173,7 +169,7 @@ export default function useVariantStyleMap(variant: ButtonVariant, color: Button
173
169
  },
174
170
  };
175
171
 
176
- if (variantStyleMap[variant][color]) {
172
+ if (variantStyleMap[variant]?.[color]) {
177
173
  return variantStyleMap[variant][color] as UseVariantStyleMapReturns;
178
174
  }
179
175
 
@@ -22,6 +22,7 @@ export default function Checkbox(props: CheckboxProps) {
22
22
  const theme = useTheme();
23
23
 
24
24
  const {
25
+ checkboxContainerStyle,
25
26
  checkboxStyle,
26
27
  containerStyle,
27
28
  iconColor,
@@ -33,7 +34,7 @@ export default function Checkbox(props: CheckboxProps) {
33
34
  ]);
34
35
 
35
36
  const fontStyle = createFontStyle(theme, {
36
- // TODO: apply typo select.
37
+ selector: (typography) => typography.body2.regular,
37
38
  color: theme.palette.text.strong,
38
39
  });
39
40
 
@@ -50,14 +51,16 @@ export default function Checkbox(props: CheckboxProps) {
50
51
  style={rootStyle}
51
52
  {...otherProps}
52
53
  >
53
- <View style={checkboxStyle}>
54
- {checked ? (
55
- <CheckboxOnIcon
56
- fill={iconColor}
57
- height={7.5}
58
- width={11}
59
- />
60
- ) : null}
54
+ <View style={checkboxContainerStyle}>
55
+ <View style={checkboxStyle}>
56
+ {checked ? (
57
+ <CheckboxOnIcon
58
+ fill={iconColor}
59
+ height={7.5}
60
+ width={11}
61
+ />
62
+ ) : null}
63
+ </View>
61
64
  </View>
62
65
 
63
66
  {children ? (
@@ -1,2 +1,3 @@
1
1
  export { default } from './Checkbox';
2
2
  export type { default as CheckboxProps } from './CheckboxProps';
3
+ export { checkboxVariants } from './CheckboxProps';
@@ -12,6 +12,7 @@ const styles = StyleSheet.create({
12
12
  });
13
13
 
14
14
  type useVariantStyleMapReturns = {
15
+ checkboxContainerStyle?: FountainUiStyle;
15
16
  checkboxStyle?: FountainUiStyle;
16
17
  containerStyle?: FountainUiStyle;
17
18
  iconColor?: string;
@@ -23,6 +24,10 @@ export default function useVariantStyleMap(variant: CheckboxVariant, checked: bo
23
24
  switch (variant) {
24
25
  case 'square':
25
26
  return {
27
+ checkboxContainerStyle: {
28
+ alignSelf: 'flex-start',
29
+ paddingTop: 3,
30
+ },
26
31
  checkboxStyle: css([
27
32
  styles.checkbox,
28
33
  {
@@ -37,9 +42,9 @@ export default function useVariantStyleMap(variant: CheckboxVariant, checked: bo
37
42
  },
38
43
  ]),
39
44
  containerStyle: {
40
- alignItems: 'center',
41
45
  flexDirection: 'row',
42
46
  gap: theme.spacing(3),
47
+ paddingVertical: theme.spacing(2),
43
48
  },
44
49
  iconColor: theme.palette.fill.baseAlt,
45
50
  };
package/src/Chip/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { default } from './Chip';
2
2
  export type { default as ChipProps } from './ChipProps';
3
+ export { chipSizes, chipStartElementVariants } from './ChipProps';
@@ -3,7 +3,6 @@ import type { TextStyle } from 'react-native';
3
3
  import type { FountainUiStyle } from '@fountain-ui/styles';
4
4
  import { createFontStyle, useTheme } from '../styles';
5
5
  import type { ChipSize, ChipStartElementVariant } from './ChipProps';
6
- import { typographyOf } from '@fountain-ui/styles';
7
6
 
8
7
  interface ChipStyle {
9
8
  container: FountainUiStyle;
@@ -25,25 +24,11 @@ export default function useChipStyle(
25
24
  return useMemo<ChipStyle>(() => {
26
25
  const fontStyleMap: Record<ChipSize, TextStyle> = {
27
26
  small: createFontStyle(theme, {
28
- // TODO: select typography.
29
- // selector: (typography) => typography.caption1.medium,
30
- selector: (_) => typographyOf({
31
- fontSize: 12,
32
- lineHeight: 16.8,
33
- fontFamily: 'Pretendard-Medium',
34
- letterSpacing: 0,
35
- }),
27
+ selector: (typography) => typography.caption1.medium,
36
28
  color: theme.palette.text.strong,
37
29
  }),
38
30
  large: createFontStyle(theme, {
39
- // TODO: select typography.
40
- // selector: (typography) => typography.body2.medium,
41
- selector: (_) => typographyOf({
42
- fontSize: 14,
43
- lineHeight: 21,
44
- fontFamily: 'Pretendard-Medium',
45
- letterSpacing: 0,
46
- }),
31
+ selector: (typography) => typography.body2.medium,
47
32
  color: theme.palette.text.strong,
48
33
  }),
49
34
  };
@@ -1,4 +1,5 @@
1
1
  export { default } from './Dialog';
2
2
  export type { default as DialogProps } from './DialogProps';
3
+ export { dialogSizes } from './DialogProps';
3
4
  export { DialogProvider, useDialogContext } from './DialogContext';
4
5
  export { default as useDialogSectionStyle } from './useDialogSectionStyle';
@@ -40,8 +40,7 @@ export default function DialogContent(props: DialogContentProps) {
40
40
  ]);
41
41
 
42
42
  const contentFontStyle = createFontStyle(theme, {
43
- // TODO: select typography.
44
- // selector: (typography) => typography.body2.regular,
43
+ selector: (typography) => typography.body2.regular,
45
44
  color: theme.palette.text.base,
46
45
  });
47
46
 
@@ -96,7 +96,7 @@ export default function Divider(props: DividerProps) {
96
96
  };
97
97
 
98
98
  const fontStyle = createFontStyle(theme, {
99
- selector: (typo) => typo.caption2,
99
+ selector: (typo) => typo.caption2.medium,
100
100
  color: fontColor,
101
101
  });
102
102
 
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import type { ViewProps } from 'react-native';
3
3
  import type { OverridableComponentProps } from '../types';
4
4
 
5
- export const elementAligns = ['start', 'center', 'end'] as const;
6
- export type ElementAlign = typeof elementAligns[number];
5
+ export const dividerElementAligns = ['start', 'center', 'end'] as const;
6
+ export type DividerElementAlign = typeof dividerElementAligns[number];
7
7
 
8
8
  export const dividerVariants = ['base', 'strong'] as const;
9
9
  export type DividerVariant = typeof dividerVariants[number];
@@ -42,7 +42,7 @@ export default interface DividerProps extends OverridableComponentProps<ViewProp
42
42
  * Set position of children.
43
43
  * @default center
44
44
  */
45
- elementAlign?: ElementAlign;
45
+ elementAlign?: DividerElementAlign;
46
46
 
47
47
  /**
48
48
  * Select the style of the divider based on this value.
@@ -1,2 +1,3 @@
1
1
  export { default } from './Divider';
2
2
  export type { default as DividerProps } from './DividerProps';
3
+ export { dividerVariants, dividerElementAligns } from './DividerProps';
@@ -55,8 +55,7 @@ export default function Empty(props: EmptyProps) {
55
55
  });
56
56
 
57
57
  const descriptionFontStyle = createFontStyle(theme, {
58
- // TODO: select typography.
59
- // selector: (typography) => typography.body2.regular,
58
+ selector: (typography) => typography.body3.regular,
60
59
  color: theme.palette.text.base,
61
60
  });
62
61
 
@@ -27,6 +27,7 @@ export default function createFlexbox(direction: 'row' | 'column') {
27
27
  flexGrow,
28
28
  flexShrink,
29
29
  flexWrap,
30
+ gap,
30
31
  children,
31
32
  insets,
32
33
  justifyContent,
@@ -46,6 +47,7 @@ export default function createFlexbox(direction: 'row' | 'column') {
46
47
  flexGrow,
47
48
  flexShrink,
48
49
  flexWrap,
50
+ gap,
49
51
  justifyContent,
50
52
  overflow,
51
53
  };
@@ -48,6 +48,11 @@ export default interface FlexboxProps extends OverridableComponentProps<ViewProp
48
48
  */
49
49
  flexWrap?: FlexStyle['flexWrap'];
50
50
 
51
+ /**
52
+ * Defines the spacing between items in a flex container.
53
+ */
54
+ gap?: number | undefined;
55
+
51
56
  /**
52
57
  * Content of this component.
53
58
  */
@@ -1,2 +1,3 @@
1
1
  export { default } from './IconButton';
2
2
  export type { default as IconButtonProps } from './IconButtonProps';
3
+ export { iconButtonColors } from './IconButtonProps';
@@ -1,36 +1,52 @@
1
1
  import React from 'react';
2
- import { Platform, View } from 'react-native';
3
- import { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';
2
+ import type { FlexStyle } from 'react-native';
3
+ import { Platform, Text, View } from 'react-native';
4
+ import type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';
5
+ import { typographyOf } from '@fountain-ui/styles';
4
6
  import ButtonBase from '../ButtonBase';
5
- import { css, useTheme } from '../styles';
6
- import ListItemProps from './ListItemProps';
7
+ import Row from '../Row';
8
+ import { createFontStyle, css, useTheme } from '../styles';
9
+ import type ListItemProps from './ListItemProps';
7
10
 
8
- type ListItemStyles = NamedStylesStringUnion<'root'>;
11
+ type ListItemStyles = NamedStylesStringUnion<'content' | 'description' | 'divider' | 'dividerWrapper'>;
9
12
 
10
13
  const useStyles: UseStyles<ListItemStyles> = function (): ListItemStyles {
11
14
  const theme = useTheme();
12
15
 
13
16
  return {
14
- root: {
15
- flexDirection: 'row',
16
- paddingVertical: theme.spacing(3),
17
+ content: {
18
+ gap: theme.spacing(2),
19
+ paddingVertical: theme.spacing(3.75),
17
20
  paddingHorizontal: theme.spacing(4),
18
21
  width: '100%',
19
22
  },
23
+ description: {
24
+ paddingRight: theme.spacing(20),
25
+ },
26
+ divider: {
27
+ borderBottomColor: theme.palette.border.weak,
28
+ borderBottomWidth: 0.5,
29
+ },
30
+ dividerWrapper: {
31
+ paddingHorizontal: theme.spacing(4),
32
+ },
20
33
  };
21
34
  };
22
35
 
23
36
  export default function ListItem(props: ListItemProps) {
24
37
  const {
25
- alignItems = 'center',
38
+ alignItems = 'center' as FlexStyle['alignItems'],
26
39
  button = false,
27
40
  children,
41
+ description,
28
42
  disabled = false,
29
43
  onPress,
30
44
  style,
31
45
  ...otherProps
32
46
  } = props;
33
47
 
48
+ const theme = useTheme();
49
+
34
50
  const styles = useStyles();
35
51
 
36
52
  const rootComponentProps = {
@@ -38,33 +54,58 @@ export default function ListItem(props: ListItemProps) {
38
54
  ...otherProps,
39
55
  };
40
56
 
41
- const rootStyle = css([
42
- styles.root,
43
- { alignItems },
57
+ const contentWrapperStyle = css([
58
+ styles.content,
44
59
  style,
45
60
  ]);
46
61
 
47
- if (button) {
48
- return (
49
- // @ts-ignore
50
- <View {...rootComponentProps}>
62
+ const descriptionFontStyle = createFontStyle(theme, {
63
+ selector: (_) => typographyOf({
64
+ fontSize: 14,
65
+ lineHeight: 19.6,
66
+ fontFamily: 'PretendardStd-Regular',
67
+ letterSpacing: 0,
68
+ }),
69
+ color: theme.palette.text.base,
70
+ });
71
+
72
+ const content = (
73
+ <React.Fragment>
74
+ <Row alignItems={alignItems}>
75
+ {children}
76
+ </Row>
77
+
78
+ {description ? (
79
+ <Text style={css([
80
+ styles.description,
81
+ descriptionFontStyle,
82
+ ])}>
83
+ {description}
84
+ </Text>
85
+ ) : null}
86
+ </React.Fragment>
87
+ );
88
+
89
+ return (
90
+ // @ts-ignore
91
+ <View {...rootComponentProps}>
92
+ {button ? (
51
93
  <ButtonBase
52
94
  disabled={disabled}
53
95
  onPress={onPress}
54
- style={rootStyle}
96
+ style={contentWrapperStyle}
55
97
  >
56
- {children}
98
+ {content}
57
99
  </ButtonBase>
58
- </View>
59
- );
60
- }
100
+ ) : (
101
+ <View style={contentWrapperStyle}>
102
+ {content}
103
+ </View>
104
+ )}
61
105
 
62
- return (
63
- // @ts-ignore
64
- <View
65
- children={children}
66
- style={rootStyle}
67
- {...rootComponentProps}
68
- />
106
+ <View style={styles.dividerWrapper}>
107
+ <View style={styles.divider}/>
108
+ </View>
109
+ </View>
69
110
  );
70
111
  };
@@ -16,6 +16,11 @@ export default interface ListItemProps extends OverridableComponentProps<React.P
16
16
  */
17
17
  button?: boolean;
18
18
 
19
+ /**
20
+ * Displays a description in this item.
21
+ */
22
+ description?: string;
23
+
19
24
  /**
20
25
  * Whether to prevent interaction with the ButtonBase.
21
26
  * @default false
@@ -11,8 +11,7 @@ const useStyles: UseStyles<ListItemIconStyles> = function (): ListItemIconStyles
11
11
 
12
12
  return {
13
13
  root: {
14
- marginRight: theme.spacing(2),
15
- minWidth: 24,
14
+ marginRight: theme.spacing(3),
16
15
  flexShrink: 0,
17
16
  },
18
17
  };
@@ -9,6 +9,8 @@ type ListItemSecondaryActionStyles = NamedStylesStringUnion<'root'>;
9
9
  const useStyles: UseStyles<ListItemSecondaryActionStyles> = function (): ListItemSecondaryActionStyles {
10
10
  return {
11
11
  root: {
12
+ alignItems: 'center',
13
+ flexDirection: 'row',
12
14
  flexShrink: 0,
13
15
  marginLeft: 'auto',
14
16
  },
@@ -1,37 +1,42 @@
1
1
  import React from 'react';
2
- import { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';
2
+ import { Text } from 'react-native';
3
+ import type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';
4
+ import { typographyOf } from '@fountain-ui/styles';
3
5
  import Column from '../Column';
4
- import Typography from '../Typography';
5
- import { css, useTheme } from '../styles';
6
+ import { createFontStyle, css, useTheme } from '../styles';
6
7
  import type ListItemTextProps from './ListItemTextProps';
7
8
 
8
- type ListItemTextStyles = NamedStylesStringUnion<'root' | 'multiline'>;
9
+ type ListItemTextStyles = NamedStylesStringUnion<'root'>;
9
10
 
10
11
  const useStyles: UseStyles<ListItemTextStyles> = function (): ListItemTextStyles {
11
- const theme = useTheme();
12
-
13
12
  return {
14
13
  root: {
15
14
  flexGrow: 1,
16
15
  flexShrink: 1,
17
16
  },
18
- multiline: {
19
- marginBottom: theme.spacing(1),
20
- },
21
17
  };
22
18
  };
23
19
 
24
20
  export default function ListItemText(props: ListItemTextProps) {
25
21
  const {
26
- primary,
27
- secondary,
22
+ children,
28
23
  style,
29
24
  ...otherProps
30
25
  } = props;
31
26
 
27
+ const theme = useTheme();
28
+
32
29
  const styles = useStyles();
33
30
 
34
- const isMultiline = !!(primary && secondary);
31
+ const fontStyle = createFontStyle(theme, {
32
+ selector: (_) => typographyOf({
33
+ fontSize: 16,
34
+ lineHeight: 19.2,
35
+ fontFamily: 'PretendardStd-Medium',
36
+ letterSpacing: 0,
37
+ }),
38
+ color: theme.palette.text.strong,
39
+ });
35
40
 
36
41
  return (
37
42
  <Column
@@ -41,22 +46,9 @@ export default function ListItemText(props: ListItemTextProps) {
41
46
  ])}
42
47
  {...otherProps}
43
48
  >
44
- {primary ? (
45
- <Typography
46
- children={primary}
47
- color={'strong'}
48
- variant={'body3'}
49
- style={isMultiline ? styles.multiline : undefined}
50
- />
51
- ) : null}
52
-
53
- {secondary ? (
54
- <Typography
55
- children={secondary}
56
- color={'strong'}
57
- variant={'body3'}
58
- />
59
- ) : null}
49
+ <Text style={fontStyle}>
50
+ {children}
51
+ </Text>
60
52
  </Column>
61
53
  );
62
54
  };
@@ -1,17 +1,9 @@
1
- import type { TypographyProps } from '../Typography';
2
1
  import type { OverridableComponentProps } from '../types';
3
2
  import type { ColumnProps } from '../Column';
4
3
 
5
- type BaseProps = Omit<ColumnProps, 'children'>;
6
-
7
- export default interface ListItemTextProps extends OverridableComponentProps<BaseProps, {
4
+ export default interface ListItemTextProps extends OverridableComponentProps<ColumnProps, {
8
5
  /**
9
6
  * The main content element.
10
7
  */
11
- primary?: TypographyProps['children'];
12
-
13
- /**
14
- * The secondary content element.
15
- */
16
- secondary?: TypographyProps['children'];
8
+ children: string;
17
9
  }> {}
@@ -27,7 +27,7 @@ export default function ListSubheader(props: ListSubheaderProps) {
27
27
  <Typography
28
28
  children={children}
29
29
  color={'strong'}
30
- variant={'caption3'}
30
+ variant={'caption2'}
31
31
  />
32
32
  )}
33
33
  </Row>