@fountain-ui/core 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (445) hide show
  1. package/build/commonjs/Accordion/Accordion.js +7 -4
  2. package/build/commonjs/Accordion/Accordion.js.map +1 -1
  3. package/build/commonjs/Accordion/useVariantStyleMap.js +15 -8
  4. package/build/commonjs/Accordion/useVariantStyleMap.js.map +1 -1
  5. package/build/commonjs/AppBar/AppBar.js +6 -1
  6. package/build/commonjs/AppBar/AppBar.js.map +1 -1
  7. package/build/commonjs/Badge/Badge.js +4 -3
  8. package/build/commonjs/Badge/Badge.js.map +1 -1
  9. package/build/commonjs/Badge/BadgeProps.js.map +1 -1
  10. package/build/commonjs/Badge/useVariantStyleMap.js +2 -2
  11. package/build/commonjs/Badge/useVariantStyleMap.js.map +1 -1
  12. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js +5 -2
  13. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  14. package/build/commonjs/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  15. package/build/commonjs/Button/Button.js +26 -12
  16. package/build/commonjs/Button/Button.js.map +1 -1
  17. package/build/commonjs/Button/ButtonProps.js.map +1 -1
  18. package/build/commonjs/Button/useVariantStyleMap.js +3 -1
  19. package/build/commonjs/Button/useVariantStyleMap.js.map +1 -1
  20. package/build/commonjs/ButtonBase/index.js +2 -2
  21. package/build/commonjs/ButtonBase/index.js.map +1 -1
  22. package/build/commonjs/Checkbox/Checkbox.js +4 -1
  23. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  24. package/build/commonjs/Checkbox/useVariantStyleMap.js +6 -2
  25. package/build/commonjs/Checkbox/useVariantStyleMap.js.map +1 -1
  26. package/build/commonjs/Chip/Chip.js +21 -14
  27. package/build/commonjs/Chip/Chip.js.map +1 -1
  28. package/build/commonjs/Chip/ChipProps.js +3 -1
  29. package/build/commonjs/Chip/ChipProps.js.map +1 -1
  30. package/build/commonjs/Chip/index.js +6 -0
  31. package/build/commonjs/Chip/index.js.map +1 -1
  32. package/build/commonjs/Chip/useChipStyle.js +29 -19
  33. package/build/commonjs/Chip/useChipStyle.js.map +1 -1
  34. package/build/commonjs/Dialog/Dialog.js +7 -10
  35. package/build/commonjs/Dialog/Dialog.js.map +1 -1
  36. package/build/commonjs/Dialog/DialogProps.js +1 -1
  37. package/build/commonjs/Dialog/DialogProps.js.map +1 -1
  38. package/build/commonjs/Dialog/useDialogSectionStyle.js +6 -4
  39. package/build/commonjs/Dialog/useDialogSectionStyle.js.map +1 -1
  40. package/build/commonjs/Dialog/useDialogStyle.js +19 -8
  41. package/build/commonjs/Dialog/useDialogStyle.js.map +1 -1
  42. package/build/commonjs/DialogActions/DialogActions.js +0 -1
  43. package/build/commonjs/DialogActions/DialogActions.js.map +1 -1
  44. package/build/commonjs/DialogTitle/DialogLargeTitle.js +80 -0
  45. package/build/commonjs/DialogTitle/DialogLargeTitle.js.map +1 -0
  46. package/build/commonjs/DialogTitle/DialogTitle.js +8 -4
  47. package/build/commonjs/DialogTitle/DialogTitle.js.map +1 -1
  48. package/build/commonjs/Divider/Divider.js +17 -9
  49. package/build/commonjs/Divider/Divider.js.map +1 -1
  50. package/build/commonjs/Divider/DividerProps.js +1 -1
  51. package/build/commonjs/Divider/DividerProps.js.map +1 -1
  52. package/build/commonjs/Empty/Empty.js +1 -1
  53. package/build/commonjs/Empty/Empty.js.map +1 -1
  54. package/build/commonjs/Flexbox/Flexbox.js +2 -0
  55. package/build/commonjs/Flexbox/Flexbox.js.map +1 -1
  56. package/build/commonjs/Flexbox/FlexboxProps.js.map +1 -1
  57. package/build/commonjs/IconButton/IconButton.js +3 -0
  58. package/build/commonjs/IconButton/IconButton.js.map +1 -1
  59. package/build/commonjs/IconButton/IconButtonProps.js +1 -1
  60. package/build/commonjs/IconButton/IconButtonProps.js.map +1 -1
  61. package/build/commonjs/ImageCore/ImageCoreNative.js +1 -1
  62. package/build/commonjs/ImageCore/ImageCoreNative.js.map +1 -1
  63. package/build/commonjs/ListItem/ListItem.js +38 -26
  64. package/build/commonjs/ListItem/ListItem.js.map +1 -1
  65. package/build/commonjs/ListItem/ListItemProps.js.map +1 -1
  66. package/build/commonjs/ListItemIcon/ListItemIcon.js +1 -2
  67. package/build/commonjs/ListItemIcon/ListItemIcon.js.map +1 -1
  68. package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  69. package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  70. package/build/commonjs/ListItemText/ListItemText.js +20 -21
  71. package/build/commonjs/ListItemText/ListItemText.js.map +1 -1
  72. package/build/commonjs/ListItemText/ListItemTextProps.js.map +1 -1
  73. package/build/commonjs/ListSubheader/ListSubheader.js +1 -1
  74. package/build/commonjs/ListSubheader/ListSubheader.js.map +1 -1
  75. package/build/commonjs/Pagination/NumberPagination.js +1 -1
  76. package/build/commonjs/Pagination/NumberPagination.js.map +1 -1
  77. package/build/commonjs/Pagination/Pagination.js +2 -0
  78. package/build/commonjs/Pagination/Pagination.js.map +1 -1
  79. package/build/commonjs/Pagination/PaginationProps.js +3 -1
  80. package/build/commonjs/Pagination/PaginationProps.js.map +1 -1
  81. package/build/commonjs/Pagination/index.js +6 -0
  82. package/build/commonjs/Pagination/index.js.map +1 -1
  83. package/build/commonjs/PaginationItem/PaginationItem.js +32 -22
  84. package/build/commonjs/PaginationItem/PaginationItem.js.map +1 -1
  85. package/build/commonjs/PaginationItem/PaginationItemProps.js.map +1 -1
  86. package/build/commonjs/Radio/Radio.js +11 -4
  87. package/build/commonjs/Radio/Radio.js.map +1 -1
  88. package/build/commonjs/RadioGroup/RadioGroup.js +2 -27
  89. package/build/commonjs/RadioGroup/RadioGroup.js.map +1 -1
  90. package/build/commonjs/Section/Section.js +32 -0
  91. package/build/commonjs/Section/Section.js.map +1 -0
  92. package/build/commonjs/Section/SectionProps.js +2 -0
  93. package/build/commonjs/Section/SectionProps.js.map +1 -0
  94. package/build/commonjs/Section/index.js +16 -0
  95. package/build/commonjs/Section/index.js.map +1 -0
  96. package/build/commonjs/ShadowView/ShadowView.native.js +4 -0
  97. package/build/commonjs/ShadowView/ShadowView.native.js.map +1 -1
  98. package/build/commonjs/SnackbarContent/SnackbarContent.js +26 -9
  99. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  100. package/build/commonjs/Tab/Tab.js +18 -18
  101. package/build/commonjs/Tab/Tab.js.map +1 -1
  102. package/build/commonjs/Tab/TabProps.js +4 -2
  103. package/build/commonjs/Tab/TabProps.js.map +1 -1
  104. package/build/commonjs/Tab/index.js +14 -0
  105. package/build/commonjs/Tab/index.js.map +1 -1
  106. package/build/commonjs/Tab/useVariantStyleMap.js +60 -16
  107. package/build/commonjs/Tab/useVariantStyleMap.js.map +1 -1
  108. package/build/commonjs/TabBase/TabBase.js +1 -8
  109. package/build/commonjs/TabBase/TabBase.js.map +1 -1
  110. package/build/commonjs/TabBase/TabBaseProps.js.map +1 -1
  111. package/build/commonjs/Tabs/Tabs.js +9 -5
  112. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  113. package/build/commonjs/Tabs/TabsProps.js.map +1 -1
  114. package/build/commonjs/Tabs/useTabsStyle.js +54 -0
  115. package/build/commonjs/Tabs/useTabsStyle.js.map +1 -0
  116. package/build/commonjs/TextField/TextField.js +1 -1
  117. package/build/commonjs/TextField/TextField.js.map +1 -1
  118. package/build/commonjs/TextField/useVariantStyleMap.js +4 -3
  119. package/build/commonjs/TextField/useVariantStyleMap.js.map +1 -1
  120. package/build/commonjs/Toolbar/BackButton/BackButton.js +47 -0
  121. package/build/commonjs/Toolbar/BackButton/BackButton.js.map +1 -0
  122. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js +2 -0
  123. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  124. package/build/commonjs/Toolbar/BackButton/index.js +16 -0
  125. package/build/commonjs/Toolbar/BackButton/index.js.map +1 -0
  126. package/build/commonjs/Toolbar/Toolbar.js +8 -4
  127. package/build/commonjs/Toolbar/Toolbar.js.map +1 -1
  128. package/build/commonjs/Tooltip/Beaks/index.js +32 -0
  129. package/build/commonjs/Tooltip/Beaks/index.js.map +1 -1
  130. package/build/commonjs/Tooltip/Tooltip.js +11 -18
  131. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  132. package/build/commonjs/Tooltip/index.js +19 -0
  133. package/build/commonjs/Tooltip/index.js.map +1 -1
  134. package/build/commonjs/Typography/Typography.js +9 -2
  135. package/build/commonjs/Typography/Typography.js.map +1 -1
  136. package/build/commonjs/Typography/TypographyProps.js.map +1 -1
  137. package/build/commonjs/hooks/useBreakpointUp.js +4 -1
  138. package/build/commonjs/hooks/useBreakpointUp.js.map +1 -1
  139. package/build/commonjs/hooks/useCollapsibleAppBar.js +1 -1
  140. package/build/commonjs/hooks/useCollapsibleAppBar.js.map +1 -1
  141. package/build/commonjs/hooks/useContentContainerStyle.js +21 -28
  142. package/build/commonjs/hooks/useContentContainerStyle.js.map +1 -1
  143. package/build/commonjs/hooks/useFadeInAppBar.js +1 -1
  144. package/build/commonjs/hooks/useFadeInAppBar.js.map +1 -1
  145. package/build/commonjs/index.js +21 -0
  146. package/build/commonjs/index.js.map +1 -1
  147. package/build/commonjs/internal/icons/AppBarChevronLeft.js +23 -0
  148. package/build/commonjs/internal/icons/AppBarChevronLeft.js.map +1 -0
  149. package/build/commonjs/internal/icons/ChevronLeft.js +4 -2
  150. package/build/commonjs/internal/icons/ChevronLeft.js.map +1 -1
  151. package/build/commonjs/internal/icons/ChevronRight.js +4 -2
  152. package/build/commonjs/internal/icons/ChevronRight.js.map +1 -1
  153. package/build/commonjs/internal/icons/Close.js +4 -2
  154. package/build/commonjs/internal/icons/Close.js.map +1 -1
  155. package/build/commonjs/internal/icons/index.js +8 -0
  156. package/build/commonjs/internal/icons/index.js.map +1 -1
  157. package/build/module/Accordion/Accordion.js +7 -4
  158. package/build/module/Accordion/Accordion.js.map +1 -1
  159. package/build/module/Accordion/useVariantStyleMap.js +15 -8
  160. package/build/module/Accordion/useVariantStyleMap.js.map +1 -1
  161. package/build/module/AppBar/AppBar.js +5 -1
  162. package/build/module/AppBar/AppBar.js.map +1 -1
  163. package/build/module/Badge/Badge.js +4 -3
  164. package/build/module/Badge/Badge.js.map +1 -1
  165. package/build/module/Badge/BadgeProps.js.map +1 -1
  166. package/build/module/Badge/useVariantStyleMap.js +2 -2
  167. package/build/module/Badge/useVariantStyleMap.js.map +1 -1
  168. package/build/module/BottomSheetTitle/BottomSheetTitle.js +5 -2
  169. package/build/module/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  170. package/build/module/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  171. package/build/module/Button/Button.js +27 -13
  172. package/build/module/Button/Button.js.map +1 -1
  173. package/build/module/Button/ButtonProps.js.map +1 -1
  174. package/build/module/Button/useVariantStyleMap.js +3 -1
  175. package/build/module/Button/useVariantStyleMap.js.map +1 -1
  176. package/build/module/ButtonBase/index.js +1 -1
  177. package/build/module/ButtonBase/index.js.map +1 -1
  178. package/build/module/Checkbox/Checkbox.js +4 -1
  179. package/build/module/Checkbox/Checkbox.js.map +1 -1
  180. package/build/module/Checkbox/useVariantStyleMap.js +6 -2
  181. package/build/module/Checkbox/useVariantStyleMap.js.map +1 -1
  182. package/build/module/Chip/Chip.js +17 -13
  183. package/build/module/Chip/Chip.js.map +1 -1
  184. package/build/module/Chip/ChipProps.js +1 -0
  185. package/build/module/Chip/ChipProps.js.map +1 -1
  186. package/build/module/Chip/index.js +1 -1
  187. package/build/module/Chip/index.js.map +1 -1
  188. package/build/module/Chip/useChipStyle.js +29 -19
  189. package/build/module/Chip/useChipStyle.js.map +1 -1
  190. package/build/module/Dialog/Dialog.js +7 -9
  191. package/build/module/Dialog/Dialog.js.map +1 -1
  192. package/build/module/Dialog/DialogProps.js +1 -1
  193. package/build/module/Dialog/DialogProps.js.map +1 -1
  194. package/build/module/Dialog/useDialogSectionStyle.js +6 -4
  195. package/build/module/Dialog/useDialogSectionStyle.js.map +1 -1
  196. package/build/module/Dialog/useDialogStyle.js +18 -8
  197. package/build/module/Dialog/useDialogStyle.js.map +1 -1
  198. package/build/module/DialogActions/DialogActions.js +0 -1
  199. package/build/module/DialogActions/DialogActions.js.map +1 -1
  200. package/build/module/DialogTitle/DialogLargeTitle.js +65 -0
  201. package/build/module/DialogTitle/DialogLargeTitle.js.map +1 -0
  202. package/build/module/DialogTitle/DialogTitle.js +6 -3
  203. package/build/module/DialogTitle/DialogTitle.js.map +1 -1
  204. package/build/module/Divider/Divider.js +7 -0
  205. package/build/module/Divider/Divider.js.map +1 -1
  206. package/build/module/Divider/DividerProps.js +1 -1
  207. package/build/module/Divider/DividerProps.js.map +1 -1
  208. package/build/module/Empty/Empty.js +1 -1
  209. package/build/module/Empty/Empty.js.map +1 -1
  210. package/build/module/Flexbox/Flexbox.js +2 -0
  211. package/build/module/Flexbox/Flexbox.js.map +1 -1
  212. package/build/module/Flexbox/FlexboxProps.js.map +1 -1
  213. package/build/module/IconButton/IconButton.js +3 -0
  214. package/build/module/IconButton/IconButton.js.map +1 -1
  215. package/build/module/IconButton/IconButtonProps.js +1 -1
  216. package/build/module/IconButton/IconButtonProps.js.map +1 -1
  217. package/build/module/ImageCore/ImageCoreNative.js +1 -1
  218. package/build/module/ImageCore/ImageCoreNative.js.map +1 -1
  219. package/build/module/ListItem/ListItem.js +36 -28
  220. package/build/module/ListItem/ListItem.js.map +1 -1
  221. package/build/module/ListItem/ListItemProps.js.map +1 -1
  222. package/build/module/ListItemIcon/ListItemIcon.js +1 -2
  223. package/build/module/ListItemIcon/ListItemIcon.js.map +1 -1
  224. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  225. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  226. package/build/module/ListItemText/ListItemText.js +17 -19
  227. package/build/module/ListItemText/ListItemText.js.map +1 -1
  228. package/build/module/ListItemText/ListItemTextProps.js.map +1 -1
  229. package/build/module/ListSubheader/ListSubheader.js +1 -1
  230. package/build/module/ListSubheader/ListSubheader.js.map +1 -1
  231. package/build/module/Pagination/NumberPagination.js +1 -1
  232. package/build/module/Pagination/NumberPagination.js.map +1 -1
  233. package/build/module/Pagination/Pagination.js +2 -0
  234. package/build/module/Pagination/Pagination.js.map +1 -1
  235. package/build/module/Pagination/PaginationProps.js +1 -0
  236. package/build/module/Pagination/PaginationProps.js.map +1 -1
  237. package/build/module/Pagination/index.js +1 -1
  238. package/build/module/Pagination/index.js.map +1 -1
  239. package/build/module/PaginationItem/PaginationItem.js +28 -21
  240. package/build/module/PaginationItem/PaginationItem.js.map +1 -1
  241. package/build/module/PaginationItem/PaginationItemProps.js.map +1 -1
  242. package/build/module/Radio/Radio.js +10 -4
  243. package/build/module/Radio/Radio.js.map +1 -1
  244. package/build/module/RadioGroup/RadioGroup.js +2 -20
  245. package/build/module/RadioGroup/RadioGroup.js.map +1 -1
  246. package/build/module/Section/Section.js +19 -0
  247. package/build/module/Section/Section.js.map +1 -0
  248. package/build/module/Section/SectionProps.js +2 -0
  249. package/build/module/Section/SectionProps.js.map +1 -0
  250. package/build/module/Section/index.js +2 -0
  251. package/build/module/Section/index.js.map +1 -0
  252. package/build/module/ShadowView/ShadowView.native.js +4 -0
  253. package/build/module/ShadowView/ShadowView.native.js.map +1 -1
  254. package/build/module/SnackbarContent/SnackbarContent.js +26 -9
  255. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  256. package/build/module/Tab/Tab.js +19 -18
  257. package/build/module/Tab/Tab.js.map +1 -1
  258. package/build/module/Tab/TabProps.js +2 -1
  259. package/build/module/Tab/TabProps.js.map +1 -1
  260. package/build/module/Tab/index.js +1 -0
  261. package/build/module/Tab/index.js.map +1 -1
  262. package/build/module/Tab/useVariantStyleMap.js +60 -16
  263. package/build/module/Tab/useVariantStyleMap.js.map +1 -1
  264. package/build/module/TabBase/TabBase.js +1 -8
  265. package/build/module/TabBase/TabBase.js.map +1 -1
  266. package/build/module/TabBase/TabBaseProps.js.map +1 -1
  267. package/build/module/Tabs/Tabs.js +8 -5
  268. package/build/module/Tabs/Tabs.js.map +1 -1
  269. package/build/module/Tabs/TabsProps.js.map +1 -1
  270. package/build/module/Tabs/useTabsStyle.js +44 -0
  271. package/build/module/Tabs/useTabsStyle.js.map +1 -0
  272. package/build/module/TextField/TextField.js +1 -1
  273. package/build/module/TextField/TextField.js.map +1 -1
  274. package/build/module/TextField/useVariantStyleMap.js +4 -3
  275. package/build/module/TextField/useVariantStyleMap.js.map +1 -1
  276. package/build/module/Toolbar/BackButton/BackButton.js +32 -0
  277. package/build/module/Toolbar/BackButton/BackButton.js.map +1 -0
  278. package/build/module/Toolbar/BackButton/BackButtonProps.js +2 -0
  279. package/build/module/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  280. package/build/module/Toolbar/BackButton/index.js +2 -0
  281. package/build/module/Toolbar/BackButton/index.js.map +1 -0
  282. package/build/module/Toolbar/Toolbar.js +7 -3
  283. package/build/module/Toolbar/Toolbar.js.map +1 -1
  284. package/build/module/Tooltip/Beaks/index.js +4 -0
  285. package/build/module/Tooltip/Beaks/index.js.map +1 -1
  286. package/build/module/Tooltip/Tooltip.js +4 -10
  287. package/build/module/Tooltip/Tooltip.js.map +1 -1
  288. package/build/module/Tooltip/index.js +1 -0
  289. package/build/module/Tooltip/index.js.map +1 -1
  290. package/build/module/Typography/Typography.js +9 -2
  291. package/build/module/Typography/Typography.js.map +1 -1
  292. package/build/module/Typography/TypographyProps.js.map +1 -1
  293. package/build/module/hooks/useBreakpointUp.js +4 -1
  294. package/build/module/hooks/useBreakpointUp.js.map +1 -1
  295. package/build/module/hooks/useCollapsibleAppBar.js +1 -1
  296. package/build/module/hooks/useCollapsibleAppBar.js.map +1 -1
  297. package/build/module/hooks/useContentContainerStyle.js +23 -26
  298. package/build/module/hooks/useContentContainerStyle.js.map +1 -1
  299. package/build/module/hooks/useFadeInAppBar.js +1 -1
  300. package/build/module/hooks/useFadeInAppBar.js.map +1 -1
  301. package/build/module/index.js +2 -0
  302. package/build/module/index.js.map +1 -1
  303. package/build/module/internal/icons/AppBarChevronLeft.js +9 -0
  304. package/build/module/internal/icons/AppBarChevronLeft.js.map +1 -0
  305. package/build/module/internal/icons/ChevronLeft.js +4 -2
  306. package/build/module/internal/icons/ChevronLeft.js.map +1 -1
  307. package/build/module/internal/icons/ChevronRight.js +4 -2
  308. package/build/module/internal/icons/ChevronRight.js.map +1 -1
  309. package/build/module/internal/icons/Close.js +4 -2
  310. package/build/module/internal/icons/Close.js.map +1 -1
  311. package/build/module/internal/icons/index.js +1 -0
  312. package/build/module/internal/icons/index.js.map +1 -1
  313. package/build/typescript/Accordion/useVariantStyleMap.d.ts +1 -0
  314. package/build/typescript/Badge/BadgeProps.d.ts +10 -5
  315. package/build/typescript/BottomSheetTitle/BottomSheetTitleProps.d.ts +1 -0
  316. package/build/typescript/Button/ButtonProps.d.ts +5 -0
  317. package/build/typescript/ButtonBase/index.d.ts +1 -1
  318. package/build/typescript/Checkbox/useVariantStyleMap.d.ts +1 -0
  319. package/build/typescript/Chip/ChipProps.d.ts +11 -4
  320. package/build/typescript/Chip/index.d.ts +1 -1
  321. package/build/typescript/Chip/useChipStyle.d.ts +4 -3
  322. package/build/typescript/Dialog/DialogProps.d.ts +1 -6
  323. package/build/typescript/Dialog/useDialogStyle.d.ts +1 -1
  324. package/build/typescript/DialogTitle/DialogLargeTitle.d.ts +9 -0
  325. package/build/typescript/DialogTitle/DialogTitle.d.ts +6 -1
  326. package/build/typescript/Divider/DividerProps.d.ts +1 -1
  327. package/build/typescript/Flexbox/FlexboxProps.d.ts +4 -0
  328. package/build/typescript/IconButton/IconButtonProps.d.ts +1 -1
  329. package/build/typescript/ListItem/ListItem.d.ts +1 -1
  330. package/build/typescript/ListItem/ListItemProps.d.ts +4 -0
  331. package/build/typescript/ListItemText/ListItemTextProps.d.ts +2 -9
  332. package/build/typescript/Pagination/PaginationProps.d.ts +12 -0
  333. package/build/typescript/Pagination/index.d.ts +2 -2
  334. package/build/typescript/PaginationItem/PaginationItemProps.d.ts +6 -0
  335. package/build/typescript/Section/Section.d.ts +3 -0
  336. package/build/typescript/Section/SectionProps.d.ts +6 -0
  337. package/build/typescript/Section/index.d.ts +2 -0
  338. package/build/typescript/Tab/TabProps.d.ts +8 -1
  339. package/build/typescript/Tab/index.d.ts +2 -1
  340. package/build/typescript/Tab/useVariantStyleMap.d.ts +3 -2
  341. package/build/typescript/TabBase/TabBaseProps.d.ts +0 -5
  342. package/build/typescript/Tabs/Tabs.d.ts +1 -1
  343. package/build/typescript/Tabs/TabsProps.d.ts +6 -1
  344. package/build/typescript/Tabs/useTabsStyle.d.ts +7 -0
  345. package/build/typescript/Toolbar/BackButton/BackButton.d.ts +3 -0
  346. package/build/typescript/Toolbar/BackButton/BackButtonProps.d.ts +4 -0
  347. package/build/typescript/Toolbar/BackButton/index.d.ts +2 -0
  348. package/build/typescript/Toolbar/Toolbar.d.ts +6 -1
  349. package/build/typescript/Tooltip/Beaks/index.d.ts +4 -0
  350. package/build/typescript/Tooltip/index.d.ts +1 -0
  351. package/build/typescript/Typography/TypographyProps.d.ts +4 -0
  352. package/build/typescript/hooks/useContentContainerStyle.d.ts +4 -8
  353. package/build/typescript/index.d.ts +2 -0
  354. package/build/typescript/internal/icons/AppBarChevronLeft.d.ts +131 -0
  355. package/build/typescript/internal/icons/index.d.ts +1 -0
  356. package/package.json +5 -5
  357. package/src/Accordion/Accordion.tsx +11 -8
  358. package/src/Accordion/useVariantStyleMap.ts +14 -6
  359. package/src/AppBar/AppBar.tsx +4 -0
  360. package/src/Badge/Badge.tsx +4 -3
  361. package/src/Badge/BadgeProps.ts +12 -6
  362. package/src/Badge/useVariantStyleMap.ts +2 -2
  363. package/src/BottomSheetTitle/BottomSheetTitle.tsx +4 -1
  364. package/src/BottomSheetTitle/BottomSheetTitleProps.ts +1 -0
  365. package/src/Button/Button.tsx +28 -12
  366. package/src/Button/ButtonProps.ts +6 -0
  367. package/src/Button/useVariantStyleMap.ts +1 -1
  368. package/src/ButtonBase/index.ts +1 -1
  369. package/src/Checkbox/Checkbox.tsx +11 -8
  370. package/src/Checkbox/useVariantStyleMap.ts +6 -1
  371. package/src/Chip/Chip.tsx +20 -13
  372. package/src/Chip/ChipProps.ts +13 -4
  373. package/src/Chip/index.ts +1 -1
  374. package/src/Chip/useChipStyle.ts +34 -17
  375. package/src/Dialog/Dialog.tsx +8 -9
  376. package/src/Dialog/DialogProps.ts +1 -7
  377. package/src/Dialog/useDialogSectionStyle.ts +6 -4
  378. package/src/Dialog/useDialogStyle.ts +19 -7
  379. package/src/DialogActions/DialogActions.tsx +0 -1
  380. package/src/DialogTitle/DialogLargeTitle.tsx +95 -0
  381. package/src/DialogTitle/DialogTitle.tsx +6 -1
  382. package/src/Divider/Divider.tsx +5 -0
  383. package/src/Divider/DividerProps.ts +1 -1
  384. package/src/Empty/Empty.tsx +1 -1
  385. package/src/Flexbox/Flexbox.tsx +2 -0
  386. package/src/Flexbox/FlexboxProps.ts +5 -0
  387. package/src/IconButton/IconButton.tsx +2 -0
  388. package/src/IconButton/IconButtonProps.ts +1 -0
  389. package/src/ImageCore/ImageCoreNative.tsx +1 -1
  390. package/src/ListItem/ListItem.tsx +61 -30
  391. package/src/ListItem/ListItemProps.ts +5 -0
  392. package/src/ListItemIcon/ListItemIcon.tsx +1 -2
  393. package/src/ListItemSecondaryAction/ListItemSecondaryAction.tsx +2 -0
  394. package/src/ListItemText/ListItemText.tsx +20 -28
  395. package/src/ListItemText/ListItemTextProps.ts +2 -10
  396. package/src/ListSubheader/ListSubheader.tsx +1 -1
  397. package/src/Pagination/NumberPagination.tsx +1 -1
  398. package/src/Pagination/Pagination.tsx +3 -2
  399. package/src/Pagination/PaginationProps.ts +15 -0
  400. package/src/Pagination/index.ts +2 -2
  401. package/src/PaginationItem/PaginationItem.tsx +31 -24
  402. package/src/PaginationItem/PaginationItemProps.ts +7 -0
  403. package/src/Radio/Radio.tsx +12 -3
  404. package/src/RadioGroup/RadioGroup.tsx +2 -28
  405. package/src/Section/Section.tsx +26 -0
  406. package/src/Section/SectionProps.ts +6 -0
  407. package/src/Section/index.ts +2 -0
  408. package/src/ShadowView/ShadowView.native.tsx +4 -0
  409. package/src/SnackbarContent/SnackbarContent.tsx +36 -15
  410. package/src/Tab/Tab.tsx +28 -22
  411. package/src/Tab/TabProps.ts +10 -1
  412. package/src/Tab/index.ts +2 -1
  413. package/src/Tab/useVariantStyleMap.ts +65 -17
  414. package/src/TabBase/TabBase.tsx +1 -9
  415. package/src/TabBase/TabBaseProps.ts +0 -6
  416. package/src/Tabs/Tabs.tsx +7 -6
  417. package/src/Tabs/TabsProps.ts +7 -1
  418. package/src/Tabs/useTabsStyle.ts +49 -0
  419. package/src/TextField/TextField.tsx +1 -1
  420. package/src/TextField/useVariantStyleMap.ts +4 -3
  421. package/src/Toolbar/BackButton/BackButton.tsx +44 -0
  422. package/src/Toolbar/BackButton/BackButtonProps.ts +4 -0
  423. package/src/Toolbar/BackButton/index.ts +2 -0
  424. package/src/Toolbar/Toolbar.tsx +6 -1
  425. package/src/Tooltip/Beaks/index.ts +4 -0
  426. package/src/Tooltip/Tooltip.tsx +4 -9
  427. package/src/Tooltip/index.ts +1 -0
  428. package/src/Typography/Typography.tsx +3 -1
  429. package/src/Typography/TypographyProps.ts +5 -0
  430. package/src/hooks/useBreakpointUp.ts +3 -1
  431. package/src/hooks/useCollapsibleAppBar.ts +1 -1
  432. package/src/hooks/useContentContainerStyle.ts +26 -34
  433. package/src/hooks/useFadeInAppBar.ts +1 -1
  434. package/src/index.ts +3 -0
  435. package/src/internal/icons/AppBarChevronLeft.tsx +15 -0
  436. package/src/internal/icons/ChevronLeft.tsx +4 -1
  437. package/src/internal/icons/ChevronRight.tsx +4 -1
  438. package/src/internal/icons/Close.tsx +4 -1
  439. package/src/internal/icons/index.ts +1 -0
  440. package/build/commonjs/ButtonBase/LegacyButtonBase.js +0 -126
  441. package/build/commonjs/ButtonBase/LegacyButtonBase.js.map +0 -1
  442. package/build/module/ButtonBase/LegacyButtonBase.js +0 -106
  443. package/build/module/ButtonBase/LegacyButtonBase.js.map +0 -1
  444. package/build/typescript/ButtonBase/LegacyButtonBase.d.ts +0 -5
  445. package/src/ButtonBase/LegacyButtonBase.tsx +0 -135
@@ -13,12 +13,13 @@ export default function Badge(props) {
13
13
  children,
14
14
  color = 'accent',
15
15
  content,
16
+ horizontalOffset = 0,
16
17
  invisible = false,
17
18
  position = defaultPosition,
18
19
  size = 'medium',
19
20
  style: styleProp,
20
- offset = 0,
21
21
  variant = 'dot',
22
+ verticalOffset = 0,
22
23
  ...otherProps
23
24
  } = props;
24
25
  const {
@@ -27,8 +28,8 @@ export default function Badge(props) {
27
28
  } = useVariantStyleMap(variant, size, color);
28
29
  const rootStyle = css([styleProp]);
29
30
  const badgeStyle = css([baseBadgeStyle, {
30
- [position.vertical]: offset,
31
- [position.horizontal]: offset
31
+ [position.vertical]: verticalOffset,
32
+ [position.horizontal]: horizontalOffset
32
33
  }]);
33
34
  return /*#__PURE__*/React.createElement(View, _extends({
34
35
  style: rootStyle
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","css","useVariantStyleMap","defaultPosition","vertical","horizontal","Badge","props","children","color","content","invisible","position","size","style","styleProp","offset","variant","otherProps","badge","baseBadgeStyle","contentFont","contentFontStyle","rootStyle","badgeStyle","undefined"],"sources":["Badge.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { css } from '../styles';\nimport type BadgeProps from './BadgeProps';\nimport type { BadgeColor, BadgePosition, BadgeSize, BadgeVariant } from './BadgeProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\nconst defaultPosition: BadgePosition = {\n vertical: 'top',\n horizontal: 'right',\n};\n\nexport default function Badge(props: BadgeProps) {\n const {\n children,\n color = 'accent' as BadgeColor,\n content,\n invisible = false,\n position = defaultPosition,\n size = 'medium' as BadgeSize,\n style: styleProp,\n offset = 0,\n variant = 'dot' as BadgeVariant,\n ...otherProps\n } = props;\n\n const {\n badge: baseBadgeStyle,\n contentFont: contentFontStyle,\n } = useVariantStyleMap(variant, size, color);\n\n const rootStyle = css([\n styleProp,\n ]);\n\n const badgeStyle = css([\n baseBadgeStyle,\n {\n [position.vertical]: offset,\n [position.horizontal]: offset,\n },\n ]);\n\n return (\n <View\n style={rootStyle}\n {...otherProps}\n >\n {children}\n\n {!invisible ? (\n <View style={badgeStyle}>\n {content !== undefined && content !== null ? (\n <Text style={contentFontStyle}>{content}</Text>\n ) : null}\n </View>\n ) : null}\n </View>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AACA,SAASC,GAAT,QAAoB,WAApB;AAGA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEA,MAAMC,eAA8B,GAAG;EACnCC,QAAQ,EAAE,KADyB;EAEnCC,UAAU,EAAE;AAFuB,CAAvC;AAKA,eAAe,SAASC,KAAT,CAAeC,KAAf,EAAkC;EAC7C,MAAM;IACFC,QADE;IAEFC,KAAK,GAAG,QAFN;IAGFC,OAHE;IAIFC,SAAS,GAAG,KAJV;IAKFC,QAAQ,GAAGT,eALT;IAMFU,IAAI,GAAG,QANL;IAOFC,KAAK,EAAEC,SAPL;IAQFC,MAAM,GAAG,CARP;IASFC,OAAO,GAAG,KATR;IAUF,GAAGC;EAVD,IAWFX,KAXJ;EAaA,MAAM;IACFY,KAAK,EAAEC,cADL;IAEFC,WAAW,EAAEC;EAFX,IAGFpB,kBAAkB,CAACe,OAAD,EAAUJ,IAAV,EAAgBJ,KAAhB,CAHtB;EAKA,MAAMc,SAAS,GAAGtB,GAAG,CAAC,CAClBc,SADkB,CAAD,CAArB;EAIA,MAAMS,UAAU,GAAGvB,GAAG,CAAC,CACnBmB,cADmB,EAEnB;IACI,CAACR,QAAQ,CAACR,QAAV,GAAqBY,MADzB;IAEI,CAACJ,QAAQ,CAACP,UAAV,GAAuBW;EAF3B,CAFmB,CAAD,CAAtB;EAQA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEO;EADX,GAEQL,UAFR,GAIKV,QAJL,EAMK,CAACG,SAAD,gBACG,oBAAC,IAAD;IAAM,KAAK,EAAEa;EAAb,GACKd,OAAO,KAAKe,SAAZ,IAAyBf,OAAO,KAAK,IAArC,gBACG,oBAAC,IAAD;IAAM,KAAK,EAAEY;EAAb,GAAgCZ,OAAhC,CADH,GAEG,IAHR,CADH,GAMG,IAZR,CADJ;AAgBH;AAAA"}
1
+ {"version":3,"names":["React","Text","View","css","useVariantStyleMap","defaultPosition","vertical","horizontal","Badge","props","children","color","content","horizontalOffset","invisible","position","size","style","styleProp","variant","verticalOffset","otherProps","badge","baseBadgeStyle","contentFont","contentFontStyle","rootStyle","badgeStyle","undefined"],"sources":["Badge.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { css } from '../styles';\nimport type BadgeProps from './BadgeProps';\nimport type { BadgeColor, BadgePosition, BadgeSize, BadgeVariant } from './BadgeProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\nconst defaultPosition: BadgePosition = {\n vertical: 'top',\n horizontal: 'right',\n};\n\nexport default function Badge(props: BadgeProps) {\n const {\n children,\n color = 'accent' as BadgeColor,\n content,\n horizontalOffset = 0,\n invisible = false,\n position = defaultPosition,\n size = 'medium' as BadgeSize,\n style: styleProp,\n variant = 'dot' as BadgeVariant,\n verticalOffset = 0,\n ...otherProps\n } = props;\n\n const {\n badge: baseBadgeStyle,\n contentFont: contentFontStyle,\n } = useVariantStyleMap(variant, size, color);\n\n const rootStyle = css([\n styleProp,\n ]);\n\n const badgeStyle = css([\n baseBadgeStyle,\n {\n [position.vertical]: verticalOffset,\n [position.horizontal]: horizontalOffset,\n },\n ]);\n\n return (\n <View\n style={rootStyle}\n {...otherProps}\n >\n {children}\n\n {!invisible ? (\n <View style={badgeStyle}>\n {content !== undefined && content !== null ? (\n <Text style={contentFontStyle}>{content}</Text>\n ) : null}\n </View>\n ) : null}\n </View>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AACA,SAASC,GAAT,QAAoB,WAApB;AAGA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEA,MAAMC,eAA8B,GAAG;EACnCC,QAAQ,EAAE,KADyB;EAEnCC,UAAU,EAAE;AAFuB,CAAvC;AAKA,eAAe,SAASC,KAAT,CAAeC,KAAf,EAAkC;EAC7C,MAAM;IACFC,QADE;IAEFC,KAAK,GAAG,QAFN;IAGFC,OAHE;IAIFC,gBAAgB,GAAG,CAJjB;IAKFC,SAAS,GAAG,KALV;IAMFC,QAAQ,GAAGV,eANT;IAOFW,IAAI,GAAG,QAPL;IAQFC,KAAK,EAAEC,SARL;IASFC,OAAO,GAAG,KATR;IAUFC,cAAc,GAAG,CAVf;IAWF,GAAGC;EAXD,IAYFZ,KAZJ;EAcA,MAAM;IACFa,KAAK,EAAEC,cADL;IAEFC,WAAW,EAAEC;EAFX,IAGFrB,kBAAkB,CAACe,OAAD,EAAUH,IAAV,EAAgBL,KAAhB,CAHtB;EAKA,MAAMe,SAAS,GAAGvB,GAAG,CAAC,CAClBe,SADkB,CAAD,CAArB;EAIA,MAAMS,UAAU,GAAGxB,GAAG,CAAC,CACnBoB,cADmB,EAEnB;IACI,CAACR,QAAQ,CAACT,QAAV,GAAqBc,cADzB;IAEI,CAACL,QAAQ,CAACR,UAAV,GAAuBM;EAF3B,CAFmB,CAAD,CAAtB;EAQA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEa;EADX,GAEQL,UAFR,GAIKX,QAJL,EAMK,CAACI,SAAD,gBACG,oBAAC,IAAD;IAAM,KAAK,EAAEa;EAAb,GACKf,OAAO,KAAKgB,SAAZ,IAAyBhB,OAAO,KAAK,IAArC,gBACG,oBAAC,IAAD;IAAM,KAAK,EAAEa;EAAb,GAAgCb,OAAhC,CADH,GAEG,IAHR,CADH,GAMG,IAZR,CADJ;AAgBH;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["badgeHorizontalPositions","badgeVerticalPositions","badgeColors","badgeSizes","badgeVariants"],"sources":["BadgeProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\n\nexport const badgeHorizontalPositions = ['right', 'left'] as const;\nexport type BadgeHorizontalPosition = typeof badgeHorizontalPositions[number];\n\nexport const badgeVerticalPositions = ['top', 'bottom'] as const;\nexport type BadgeVerticalPosition = typeof badgeVerticalPositions[number];\n\nexport interface BadgePosition {\n vertical: BadgeVerticalPosition;\n horizontal: BadgeHorizontalPosition;\n}\n\nexport const badgeColors = ['accent', 'danger'] as const;\nexport type BadgeColor = typeof badgeColors[number];\n\nexport const badgeSizes = ['large', 'medium'] as const;\nexport type BadgeSize = typeof badgeSizes[number];\n\nexport const badgeVariants = ['dot', 'number'] as const;\nexport type BadgeVariant = typeof badgeVariants[number];\n\nexport default interface BadgeProps extends OverridableComponentProps<ViewProps, {\n /**\n * The badge will be added relative to this node.\n */\n children?: React.ReactNode;\n\n /**\n *\n * @default 'accent'\n */\n color?: BadgeColor;\n\n /**\n * (only number variant)\n */\n content?: number;\n\n /**\n * If `true`, the badge is invisible.\n * @default false\n */\n invisible?: boolean;\n\n /**\n * The position of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n position?: BadgePosition;\n\n /**\n * The offset of the badge.\n * @default 0\n */\n offset?: number;\n\n /**\n *\n */\n size?: BadgeSize;\n\n /**\n *\n * @default 'dot'\n */\n variant?: BadgeVariant;\n}> {}\n"],"mappings":"AAIA,OAAO,MAAMA,wBAAwB,GAAG,CAAC,OAAD,EAAU,MAAV,CAAjC;AAGP,OAAO,MAAMC,sBAAsB,GAAG,CAAC,KAAD,EAAQ,QAAR,CAA/B;AAQP,OAAO,MAAMC,WAAW,GAAG,CAAC,QAAD,EAAW,QAAX,CAApB;AAGP,OAAO,MAAMC,UAAU,GAAG,CAAC,OAAD,EAAU,QAAV,CAAnB;AAGP,OAAO,MAAMC,aAAa,GAAG,CAAC,KAAD,EAAQ,QAAR,CAAtB"}
1
+ {"version":3,"names":["badgeHorizontalPositions","badgeVerticalPositions","badgeColors","badgeSizes","badgeVariants"],"sources":["BadgeProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\n\nexport const badgeHorizontalPositions = ['right', 'left'] as const;\nexport type BadgeHorizontalPosition = typeof badgeHorizontalPositions[number];\n\nexport const badgeVerticalPositions = ['top', 'bottom'] as const;\nexport type BadgeVerticalPosition = typeof badgeVerticalPositions[number];\n\nexport interface BadgePosition {\n vertical: BadgeVerticalPosition;\n horizontal: BadgeHorizontalPosition;\n}\n\nexport const badgeColors = ['accent', 'danger'] as const;\nexport type BadgeColor = typeof badgeColors[number];\n\nexport const badgeSizes = ['large', 'medium'] as const;\nexport type BadgeSize = typeof badgeSizes[number];\n\nexport const badgeVariants = ['dot', 'number'] as const;\nexport type BadgeVariant = typeof badgeVariants[number];\n\nexport default interface BadgeProps extends OverridableComponentProps<ViewProps, {\n /**\n * The badge will be added relative to this node.\n */\n children?: React.ReactNode;\n\n /**\n *\n * @default 'accent'\n */\n color?: BadgeColor;\n\n /**\n * (only number variant)\n */\n content?: number;\n\n /**\n * The horizontal offset of the badge.\n * @default 0\n */\n horizontalOffset?: number;\n\n /**\n * If `true`, the badge is invisible.\n * @default false\n */\n invisible?: boolean;\n\n /**\n * The position of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n position?: BadgePosition;\n\n /**\n *\n */\n size?: BadgeSize;\n\n /**\n *\n * @default 'dot'\n */\n variant?: BadgeVariant;\n\n /**\n * The vertical offset of the badge.\n * @default 0\n */\n verticalOffset?: number;\n}> {}\n"],"mappings":"AAIA,OAAO,MAAMA,wBAAwB,GAAG,CAAC,OAAD,EAAU,MAAV,CAAjC;AAGP,OAAO,MAAMC,sBAAsB,GAAG,CAAC,KAAD,EAAQ,QAAR,CAA/B;AAQP,OAAO,MAAMC,WAAW,GAAG,CAAC,QAAD,EAAW,QAAX,CAApB;AAGP,OAAO,MAAMC,UAAU,GAAG,CAAC,OAAD,EAAU,QAAV,CAAnB;AAGP,OAAO,MAAMC,aAAa,GAAG,CAAC,KAAD,EAAQ,QAAR,CAAtB"}
@@ -37,13 +37,13 @@ export default function useVariantStyleMap(variant, size, color) {
37
37
  large: typographyOf({
38
38
  fontSize: 14,
39
39
  lineHeight: 14,
40
- fontFamily: 'Pretendard-Bold',
40
+ fontFamily: 'PretendardStd-Bold',
41
41
  letterSpacing: -0.7
42
42
  }),
43
43
  medium: typographyOf({
44
44
  fontSize: 12,
45
45
  lineHeight: 12,
46
- fontFamily: 'Pretendard-Bold',
46
+ fontFamily: 'PretendardStd-Bold',
47
47
  letterSpacing: -0.6
48
48
  })
49
49
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","commonColors","typographyOf","createFontStyle","useTheme","sizeMap","dot","medium","number","large","getColorMap","theme","accent","palette","fill","danger","status","useVariantStyleMap","variant","size","color","badgeSize","process","env","NODE_ENV","undefined","console","warn","colorMap","commonBadgeStyle","backgroundColor","borderRadius","shape","radius","full","height","position","width","fontStyleMap","fontSize","lineHeight","fontFamily","letterSpacing","badge","alignItems","justifyContent","contentFont","selector","_","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,SAASA,OAAT,QAAwB,OAAxB;AAGA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,qBAA3C;AACA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,WAA1C;AAGA,MAAMC,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;;AAUA,eAAe,SAASE,kBAAT,CAA4BC,OAA5B,EAAmDC,IAAnD,EAAoEC,KAApE,EAAqG;EAChH,MAAMT,KAAK,GAAGP,QAAQ,EAAtB;EAEA,OAAOJ,OAAO,CAAe,MAAM;IAC/B,MAAMqB,SAAS,GAAGhB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,KAA0Bd,OAAO,CAACa,OAAD,CAAP,CAAiBX,MAA7D;;IAEA,IAAIe,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCnB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,MAA2BM,SAAxE,EAAmF;MAC/EC,OAAO,CAACC,IAAR,CAAa,4DAAb;IACH;;IAED,MAAMC,QAAQ,GAAGlB,WAAW,CAACC,KAAD,CAA5B;IAEA,MAAMkB,gBAAiC,GAAG;MACtCC,eAAe,EAAEF,QAAQ,CAACR,KAAD,CADa;MAEtCW,YAAY,EAAEpB,KAAK,CAACqB,KAAN,CAAYC,MAAZ,CAAmBC,IAFK;MAGtCC,MAAM,EAAEd,SAH8B;MAItCe,QAAQ,EAAE,UAJ4B;MAKtCC,KAAK,EAAEhB;IAL+B,CAA1C;IAQA,MAAMiB,YAA0C,GAAG;MAC/C7B,KAAK,EAAEP,YAAY,CAAC;QAChBqC,QAAQ,EAAE,EADM;QAEhBC,UAAU,EAAE,EAFI;QAGhBC,UAAU,EAAE,iBAHI;QAIhBC,aAAa,EAAE,CAAC;MAJA,CAAD,CAD4B;MAO/CnC,MAAM,EAAEL,YAAY,CAAC;QACjBqC,QAAQ,EAAE,EADO;QAEjBC,UAAU,EAAE,EAFK;QAGjBC,UAAU,EAAE,iBAHK;QAIjBC,aAAa,EAAE,CAAC;MAJC,CAAD;IAP2B,CAAnD;;IAeA,QAAQxB,OAAR;MACI;MACA,KAAK,KAAL;QACI,OAAO;UACHyB,KAAK,EAAE,EAAE,GAAGd;UAAL;QADJ,CAAP;;MAGJ,KAAK,QAAL;QACI,OAAO;UACHc,KAAK,EAAE,EACH,GAAGd,gBADA;YAEHe,UAAU,EAAE,QAFT;YAGHC,cAAc,EAAE;UAHb,CADJ;UAMHC,WAAW,EAAE3C,eAAe,CAACQ,KAAD,EAAQ;YAChCoC,QAAQ,EAAGC,CAAD,IAAOV,YAAY,CAACnB,IAAD,CADG;YAEhCC,KAAK,EAAEnB,YAAY,CAACgD,OAAb,CAAqBC,KAArB,CAA2B,KAA3B;UAFyB,CAAR;QANzB,CAAP;IAPR;EAmBH,CAnDa,EAmDX,CAACvC,KAAD,EAAQO,OAAR,EAAiBC,IAAjB,EAAuBC,KAAvB,CAnDW,CAAd;AAoDH"}
1
+ {"version":3,"names":["useMemo","commonColors","typographyOf","createFontStyle","useTheme","sizeMap","dot","medium","number","large","getColorMap","theme","accent","palette","fill","danger","status","useVariantStyleMap","variant","size","color","badgeSize","process","env","NODE_ENV","undefined","console","warn","colorMap","commonBadgeStyle","backgroundColor","borderRadius","shape","radius","full","height","position","width","fontStyleMap","fontSize","lineHeight","fontFamily","letterSpacing","badge","alignItems","justifyContent","contentFont","selector","_","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,SAASA,OAAT,QAAwB,OAAxB;AAGA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,qBAA3C;AACA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,WAA1C;AAGA,MAAMC,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;;AAUA,eAAe,SAASE,kBAAT,CAA4BC,OAA5B,EAAmDC,IAAnD,EAAoEC,KAApE,EAAqG;EAChH,MAAMT,KAAK,GAAGP,QAAQ,EAAtB;EAEA,OAAOJ,OAAO,CAAe,MAAM;IAC/B,MAAMqB,SAAS,GAAGhB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,KAA0Bd,OAAO,CAACa,OAAD,CAAP,CAAiBX,MAA7D;;IAEA,IAAIe,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCnB,OAAO,CAACa,OAAD,CAAP,CAAiBC,IAAjB,MAA2BM,SAAxE,EAAmF;MAC/EC,OAAO,CAACC,IAAR,CAAa,4DAAb;IACH;;IAED,MAAMC,QAAQ,GAAGlB,WAAW,CAACC,KAAD,CAA5B;IAEA,MAAMkB,gBAAiC,GAAG;MACtCC,eAAe,EAAEF,QAAQ,CAACR,KAAD,CADa;MAEtCW,YAAY,EAAEpB,KAAK,CAACqB,KAAN,CAAYC,MAAZ,CAAmBC,IAFK;MAGtCC,MAAM,EAAEd,SAH8B;MAItCe,QAAQ,EAAE,UAJ4B;MAKtCC,KAAK,EAAEhB;IAL+B,CAA1C;IAQA,MAAMiB,YAA0C,GAAG;MAC/C7B,KAAK,EAAEP,YAAY,CAAC;QAChBqC,QAAQ,EAAE,EADM;QAEhBC,UAAU,EAAE,EAFI;QAGhBC,UAAU,EAAE,oBAHI;QAIhBC,aAAa,EAAE,CAAC;MAJA,CAAD,CAD4B;MAO/CnC,MAAM,EAAEL,YAAY,CAAC;QACjBqC,QAAQ,EAAE,EADO;QAEjBC,UAAU,EAAE,EAFK;QAGjBC,UAAU,EAAE,oBAHK;QAIjBC,aAAa,EAAE,CAAC;MAJC,CAAD;IAP2B,CAAnD;;IAeA,QAAQxB,OAAR;MACI;MACA,KAAK,KAAL;QACI,OAAO;UACHyB,KAAK,EAAE,EAAE,GAAGd;UAAL;QADJ,CAAP;;MAGJ,KAAK,QAAL;QACI,OAAO;UACHc,KAAK,EAAE,EACH,GAAGd,gBADA;YAEHe,UAAU,EAAE,QAFT;YAGHC,cAAc,EAAE;UAHb,CADJ;UAMHC,WAAW,EAAE3C,eAAe,CAACQ,KAAD,EAAQ;YAChCoC,QAAQ,EAAGC,CAAD,IAAOV,YAAY,CAACnB,IAAD,CADG;YAEhCC,KAAK,EAAEnB,YAAY,CAACgD,OAAb,CAAqBC,KAArB,CAA2B,KAA3B;UAFyB,CAAR;QANzB,CAAP;IAPR;EAmBH,CAnDa,EAmDX,CAACvC,KAAD,EAAQO,OAAR,EAAiBC,IAAjB,EAAuBC,KAAvB,CAnDW,CAAd;AAoDH"}
@@ -10,7 +10,7 @@ const useStyles = function () {
10
10
  const theme = useTheme();
11
11
  return {
12
12
  root: {
13
- alignItems: 'center',
13
+ alignItems: 'flex-start',
14
14
  gap: theme.spacing(8),
15
15
  justifyContent: 'space-between',
16
16
  marginBottom: theme.spacing(4),
@@ -18,7 +18,8 @@ const useStyles = function () {
18
18
  },
19
19
  title: {
20
20
  paddingBottom: theme.spacing(1.25),
21
- paddingTop: theme.spacing(1)
21
+ paddingTop: theme.spacing(1),
22
+ minWidth: 0
22
23
  },
23
24
  actionButton: {
24
25
  paddingBottom: theme.spacing(1.75),
@@ -51,8 +52,10 @@ export default function BottomSheetTitle(props) {
51
52
  }), actionButtonProps ? /*#__PURE__*/React.createElement(Button, {
52
53
  children: actionButtonProps.title,
53
54
  color: 'accent',
55
+ disabled: actionButtonProps.disabled ?? false,
54
56
  disableMinWidth: true,
55
57
  onPress: actionButtonProps.onPress,
58
+ size: 'large',
56
59
  style: styles.actionButton,
57
60
  variant: 'text'
58
61
  }) : null);
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","Button","Row","createFontStyle","css","useTheme","useStyles","theme","root","alignItems","gap","spacing","justifyContent","marginBottom","paddingHorizontal","title","paddingBottom","paddingTop","actionButton","BottomSheetTitle","props","actionButtonProps","children","style","styleProp","otherProps","styles","rootStyle","titleFontStyle","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,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,GAAP,MAAgB,QAAhB;AACA,SAASC,eAAT,EAA0BC,GAA1B,EAA+BC,QAA/B,QAA+C,WAA/C;;AAKA,MAAMC,SAA4C,GAAG,YAAoC;EACrF,MAAMC,KAAK,GAAGF,QAAQ,EAAtB;EAEA,OAAO;IACHG,IAAI,EAAE;MACFC,UAAU,EAAE,QADV;MAEFC,GAAG,EAAEH,KAAK,CAACI,OAAN,CAAc,CAAd,CAFH;MAGFC,cAAc,EAAE,eAHd;MAIFC,YAAY,EAAEN,KAAK,CAACI,OAAN,CAAc,CAAd,CAJZ;MAKFG,iBAAiB,EAAEP,KAAK,CAACI,OAAN,CAAc,CAAd;IALjB,CADH;IAQHI,KAAK,EAAE;MACHC,aAAa,EAAET,KAAK,CAACI,OAAN,CAAc,IAAd,CADZ;MAEHM,UAAU,EAAEV,KAAK,CAACI,OAAN,CAAc,CAAd;IAFT,CARJ;IAYHO,YAAY,EAAE;MACVF,aAAa,EAAET,KAAK,CAACI,OAAN,CAAc,IAAd,CADL;MAEVG,iBAAiB,EAAE,CAFT;MAGVG,UAAU,EAAEV,KAAK,CAACI,OAAN,CAAc,IAAd;IAHF;EAZX,CAAP;AAkBH,CArBD;;AAuBA,eAAe,SAASQ,gBAAT,CAA0BC,KAA1B,EAAwD;EACnE,MAAM;IACFC,iBADE;IAEFC,QAFE;IAGFC,KAAK,EAAEC,SAHL;IAIF,GAAGC;EAJD,IAKFL,KALJ;EAOA,MAAMb,KAAK,GAAGF,QAAQ,EAAtB;EAEA,MAAMqB,MAAM,GAAGpB,SAAS,EAAxB;EAEA,MAAMqB,SAAS,GAAGvB,GAAG,CAAC,CAClBsB,MAAM,CAAClB,IADW,EAElBgB,SAFkB,CAAD,CAArB;EAKA,MAAMI,cAAc,GAAGzB,eAAe,CAACI,KAAD,EAAQ;IAC1CsB,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,OAAX,CAAmBC,QADH;IAE1CC,KAAK,EAAE1B,KAAK,CAAC2B,OAAN,CAAcC,IAAd,CAAmBC;EAFgB,CAAR,CAAtC;EAKA,MAAMC,UAAU,GAAGjC,GAAG,CAAC,CACnBsB,MAAM,CAACX,KADY,EAEnBa,cAFmB,CAAD,CAAtB;EAKA,oBACI,oBAAC,GAAD;IACI,KAAK,EAAED;EADX,GAEQF,UAFR,gBAII,oBAAC,IAAD;IACI,QAAQ,EAAEH,QADd;IAEI,KAAK,EAAEe;EAFX,EAJJ,EASKhB,iBAAiB,gBACd,oBAAC,MAAD;IACI,QAAQ,EAAEA,iBAAiB,CAACN,KADhC;IAEI,KAAK,EAAE,QAFX;IAGI,eAAe,EAAE,IAHrB;IAII,OAAO,EAAEM,iBAAiB,CAACiB,OAJ/B;IAKI,KAAK,EAAEZ,MAAM,CAACR,YALlB;IAMI,OAAO,EAAE;EANb,EADc,GASd,IAlBR,CADJ;AAsBH"}
1
+ {"version":3,"names":["React","Text","Button","Row","createFontStyle","css","useTheme","useStyles","theme","root","alignItems","gap","spacing","justifyContent","marginBottom","paddingHorizontal","title","paddingBottom","paddingTop","minWidth","actionButton","BottomSheetTitle","props","actionButtonProps","children","style","styleProp","otherProps","styles","rootStyle","titleFontStyle","selector","typography","header3","semiBold","color","palette","text","strong","titleStyle","disabled","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: 'flex-start',\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 minWidth: 0,\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 disabled={actionButtonProps.disabled ?? false}\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,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,GAAP,MAAgB,QAAhB;AACA,SAASC,eAAT,EAA0BC,GAA1B,EAA+BC,QAA/B,QAA+C,WAA/C;;AAKA,MAAMC,SAA4C,GAAG,YAAoC;EACrF,MAAMC,KAAK,GAAGF,QAAQ,EAAtB;EAEA,OAAO;IACHG,IAAI,EAAE;MACFC,UAAU,EAAE,YADV;MAEFC,GAAG,EAAEH,KAAK,CAACI,OAAN,CAAc,CAAd,CAFH;MAGFC,cAAc,EAAE,eAHd;MAIFC,YAAY,EAAEN,KAAK,CAACI,OAAN,CAAc,CAAd,CAJZ;MAKFG,iBAAiB,EAAEP,KAAK,CAACI,OAAN,CAAc,CAAd;IALjB,CADH;IAQHI,KAAK,EAAE;MACHC,aAAa,EAAET,KAAK,CAACI,OAAN,CAAc,IAAd,CADZ;MAEHM,UAAU,EAAEV,KAAK,CAACI,OAAN,CAAc,CAAd,CAFT;MAGHO,QAAQ,EAAE;IAHP,CARJ;IAaHC,YAAY,EAAE;MACVH,aAAa,EAAET,KAAK,CAACI,OAAN,CAAc,IAAd,CADL;MAEVG,iBAAiB,EAAE,CAFT;MAGVG,UAAU,EAAEV,KAAK,CAACI,OAAN,CAAc,IAAd;IAHF;EAbX,CAAP;AAmBH,CAtBD;;AAwBA,eAAe,SAASS,gBAAT,CAA0BC,KAA1B,EAAwD;EACnE,MAAM;IACFC,iBADE;IAEFC,QAFE;IAGFC,KAAK,EAAEC,SAHL;IAIF,GAAGC;EAJD,IAKFL,KALJ;EAOA,MAAMd,KAAK,GAAGF,QAAQ,EAAtB;EAEA,MAAMsB,MAAM,GAAGrB,SAAS,EAAxB;EAEA,MAAMsB,SAAS,GAAGxB,GAAG,CAAC,CAClBuB,MAAM,CAACnB,IADW,EAElBiB,SAFkB,CAAD,CAArB;EAKA,MAAMI,cAAc,GAAG1B,eAAe,CAACI,KAAD,EAAQ;IAC1CuB,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,OAAX,CAAmBC,QADH;IAE1CC,KAAK,EAAE3B,KAAK,CAAC4B,OAAN,CAAcC,IAAd,CAAmBC;EAFgB,CAAR,CAAtC;EAKA,MAAMC,UAAU,GAAGlC,GAAG,CAAC,CACnBuB,MAAM,CAACZ,KADY,EAEnBc,cAFmB,CAAD,CAAtB;EAKA,oBACI,oBAAC,GAAD;IACI,KAAK,EAAED;EADX,GAEQF,UAFR,gBAII,oBAAC,IAAD;IACI,QAAQ,EAAEH,QADd;IAEI,KAAK,EAAEe;EAFX,EAJJ,EASKhB,iBAAiB,gBACd,oBAAC,MAAD;IACI,QAAQ,EAAEA,iBAAiB,CAACP,KADhC;IAEI,KAAK,EAAE,QAFX;IAGI,QAAQ,EAAEO,iBAAiB,CAACiB,QAAlB,IAA8B,KAH5C;IAII,eAAe,EAAE,IAJrB;IAKI,OAAO,EAAEjB,iBAAiB,CAACkB,OAL/B;IAMI,IAAI,EAAE,OANV;IAOI,KAAK,EAAEb,MAAM,CAACR,YAPlB;IAQI,OAAO,EAAE;EARb,EADc,GAWd,IApBR,CADJ;AAwBH"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["BottomSheetTitleProps.ts"],"sourcesContent":["import type { OverridableComponentProps } from '../types';\nimport type { RowProps } from '../Row';\n\ntype ActionButtonProps = {\n title: string;\n onPress: () => void;\n};\n\nexport default interface BottomSheetTitleProps extends OverridableComponentProps<RowProps, {\n children: string;\n actionButtonProps?: ActionButtonProps;\n}> {}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["BottomSheetTitleProps.ts"],"sourcesContent":["import type { OverridableComponentProps } from '../types';\nimport type { RowProps } from '../Row';\n\ntype ActionButtonProps = {\n disabled?: boolean | undefined;\n title: string;\n onPress: () => void;\n};\n\nexport default interface BottomSheetTitleProps extends OverridableComponentProps<RowProps, {\n children: string;\n actionButtonProps?: ActionButtonProps;\n}> {}\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
3
  import React from 'react';
4
- import { Linking, Text } from 'react-native';
4
+ import { Linking, Text, View } from 'react-native';
5
5
  import { typographyOf } from '@fountain-ui/styles';
6
6
  import ButtonBase from '../ButtonBase/ButtonBase';
7
7
  import { LoadingSpinner } from '../internal/icons';
@@ -16,30 +16,34 @@ const useStyles = function () {
16
16
  alignItems: 'center',
17
17
  borderRadius: theme.shape.radius.sm,
18
18
  flexDirection: 'row',
19
- justifyContent: 'center'
19
+ justifyContent: 'center',
20
+ minHeight: 32
20
21
  },
21
22
  fullWidth: {
22
23
  width: '100%'
23
24
  },
24
25
  large: {
25
- gap: theme.spacing(2),
26
+ gap: 8,
26
27
  minWidth: 104,
27
- paddingHorizontal: theme.spacing(6),
28
- paddingVertical: theme.spacing(3.5)
28
+ paddingHorizontal: 24,
29
+ paddingVertical: 14
29
30
  },
30
31
  medium: {
31
- gap: theme.spacing(1.5),
32
+ gap: 6,
32
33
  minWidth: 88,
33
- paddingHorizontal: theme.spacing(6),
34
- paddingVertical: theme.spacing(2.75)
34
+ paddingHorizontal: 16,
35
+ paddingVertical: 11
35
36
  },
36
37
  small: {
37
38
  minWidth: 64,
38
- paddingHorizontal: theme.spacing(6),
39
- paddingVertical: theme.spacing(2)
39
+ paddingHorizontal: 10,
40
+ paddingVertical: 8
40
41
  },
41
42
  loadingSpinner: {
42
43
  position: 'absolute'
44
+ },
45
+ iconContainer: {
46
+ paddingTop: 1
43
47
  }
44
48
  };
45
49
  };
@@ -79,6 +83,7 @@ export default function Button(props) {
79
83
  color: colorProp = 'primary',
80
84
  disabled: disabledProp = false,
81
85
  disableMinWidth = false,
86
+ disablePadding = false,
82
87
  endIcon: endIconProp,
83
88
  fullWidth = false,
84
89
  href,
@@ -104,10 +109,19 @@ export default function Button(props) {
104
109
  fill: iconColor,
105
110
  opacity: isLoading ? 0 : 1
106
111
  };
107
- const startIcon = cloneElementSafely(startIconProp, iconProps);
108
- const endIcon = cloneElementSafely(endIconProp, iconProps);
109
- const buttonBaseStyle = css([styles.root, containerStyle, styles[size], fullWidth ? styles.fullWidth : undefined, disableMinWidth ? {
112
+ const startIcon = startIconProp ? /*#__PURE__*/React.createElement(View, {
113
+ style: styles.iconContainer
114
+ }, cloneElementSafely(startIconProp, iconProps)) : null;
115
+ const endIcon = endIconProp ? /*#__PURE__*/React.createElement(View, {
116
+ style: styles.iconContainer
117
+ }, cloneElementSafely(endIconProp, iconProps)) : null;
118
+ const buttonBaseStyle = css([styles.root, containerStyle, styles[size], (variant === 'capsuleSolid' || variant === 'capsuleOutlined') && size === 'small' ? {
119
+ paddingHorizontal: 12
120
+ } : undefined, fullWidth ? styles.fullWidth : undefined, disableMinWidth ? {
110
121
  minWidth: 0
122
+ } : undefined, disablePadding ? {
123
+ paddingHorizontal: 0,
124
+ paddingVertical: 0
111
125
  } : undefined, styleProp]);
112
126
  const fontStyle = createFontStyle(theme, {
113
127
  selector: _ => fontStyleMap[size],
@@ -1 +1 @@
1
- {"version":3,"names":["React","Linking","Text","typographyOf","ButtonBase","LoadingSpinner","createFontStyle","css","useTheme","cloneElementSafely","useVariantStyleMap","useStyles","theme","root","alignItems","borderRadius","shape","radius","sm","flexDirection","justifyContent","fullWidth","width","large","gap","spacing","minWidth","paddingHorizontal","paddingVertical","medium","small","loadingSpinner","position","fontStyleMap","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","iconProps","fill","opacity","buttonBaseStyle","undefined","fontStyle","selector","_","textStyle","textAlign","modifiedPressEffect","handlePress","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":["React","Linking","Text","View","typographyOf","ButtonBase","LoadingSpinner","createFontStyle","css","useTheme","cloneElementSafely","useVariantStyleMap","useStyles","theme","root","alignItems","borderRadius","shape","radius","sm","flexDirection","justifyContent","minHeight","fullWidth","width","large","gap","minWidth","paddingHorizontal","paddingVertical","medium","small","loadingSpinner","position","iconContainer","paddingTop","fontStyleMap","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","iconProps","fill","opacity","buttonBaseStyle","undefined","fontStyle","selector","_","textStyle","textAlign","modifiedPressEffect","handlePress","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: 8,\n minWidth: 104,\n paddingHorizontal: 24,\n paddingVertical: 14,\n },\n medium: {\n gap: 6,\n minWidth: 88,\n paddingHorizontal: 16,\n paddingVertical: 11,\n },\n small: {\n minWidth: 64,\n paddingHorizontal: 10,\n paddingVertical: 8,\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 (variant === 'capsuleSolid' || variant === 'capsuleOutlined') && size === 'small' ? { paddingHorizontal: 12 } : undefined,\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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"}
@@ -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":"AAIA,OAAO,MAAMA,YAAY,GAAG,CACxB,QADwB,EAExB,SAFwB,EAGxB,QAHwB,EAIxB,UAJwB,EAKxB,WALwB,EAMxB,WANwB,CAArB;AAUP,OAAO,MAAMC,WAAW,GAAG,CACvB,OADuB,EAEvB,QAFuB,EAGvB,OAHuB,CAApB;AAOP,OAAO,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":"AAIA,OAAO,MAAMA,YAAY,GAAG,CACxB,QADwB,EAExB,SAFwB,EAGxB,QAHwB,EAIxB,UAJwB,EAKxB,WALwB,EAMxB,WANwB,CAArB;AAUP,OAAO,MAAMC,WAAW,GAAG,CACvB,OADuB,EAEvB,QAFuB,EAGvB,OAHuB,CAApB;AAOP,OAAO,MAAMC,cAAc,GAAG,CAC1B,OAD0B,EAE1B,UAF0B,EAG1B,MAH0B,EAI1B,cAJ0B,EAK1B,iBAL0B,CAAvB"}
@@ -4,6 +4,8 @@ import { useTheme } from '../styles';
4
4
  export default function useVariantStyleMap(variant, color) {
5
5
  const theme = useTheme();
6
6
  return useMemo(() => {
7
+ var _variantStyleMap$vari;
8
+
7
9
  const {
8
10
  palette
9
11
  } = theme;
@@ -154,7 +156,7 @@ export default function useVariantStyleMap(variant, color) {
154
156
  }
155
157
  };
156
158
 
157
- if (variantStyleMap[variant][color]) {
159
+ if ((_variantStyleMap$vari = variantStyleMap[variant]) !== null && _variantStyleMap$vari !== void 0 && _variantStyleMap$vari[color]) {
158
160
  return variantStyleMap[variant][color];
159
161
  }
160
162
 
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","commonColors","useTheme","useVariantStyleMap","variant","color","theme","palette","variantStyleMap","solid","accent","container","backgroundColor","fill","labelColor","static","strongInverse","iconColor","primary","base","text","icon","danger","status","disabled","onDisabled","outlined","borderColor","border","borderWidth","disabledLabel","strong","secondary","accentAlt","capsuleSolid","borderRadius","shape","radius","full","capsuleOutlined","process","env","NODE_ENV","console","warn"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { commonColors } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { ButtonColor, ButtonVariant } from './ButtonProps';\n\ntype UseVariantStyleMapReturns = {\n container?: FountainUiStyle;\n iconColor?: string;\n labelColor?: string;\n}\n\ntype VariantStyleMap = {\n [variant in ButtonVariant]: {\n [color in ButtonColor]?: UseVariantStyleMapReturns;\n }\n};\n\nexport default function useVariantStyleMap(variant: ButtonVariant, color: ButtonColor): UseVariantStyleMapReturns {\n const theme = useTheme();\n\n return useMemo(() => {\n const { palette } = theme;\n\n const variantStyleMap: VariantStyleMap = {\n solid: {\n accent: {\n container: {\n backgroundColor: palette.fill.accent,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n primary: {\n container: {\n backgroundColor: palette.fill.base,\n },\n labelColor: palette.text.strongInverse,\n iconColor: palette.icon.strongInverse,\n },\n danger: {\n container: {\n backgroundColor: palette.status.danger,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n disabled: {\n container: {\n backgroundColor: palette.status.disabled,\n },\n labelColor: palette.status.onDisabled,\n iconColor: palette.status.onDisabled,\n },\n },\n outlined: {\n accent: {\n container: {\n borderColor: palette.border.accent,\n borderWidth: 1,\n },\n labelColor: palette.text.accent,\n iconColor: palette.icon.accent,\n },\n primary: {\n container: {\n borderColor: palette.border.base,\n borderWidth: 1,\n },\n labelColor: palette.text.base,\n iconColor: palette.icon.base,\n },\n disabled: {\n container: {\n borderColor: palette.status.disabled,\n borderWidth: 1,\n },\n labelColor: palette.status.disabledLabel,\n iconColor: palette.status.disabledLabel,\n },\n },\n text: {\n primary: {\n labelColor: palette.text.strong,\n iconColor: palette.icon.strong,\n },\n secondary: {\n labelColor: palette.text.base,\n iconColor: palette.icon.base,\n },\n accent: {\n labelColor: palette.text.accent,\n iconColor: palette.icon.accent,\n },\n accentAlt: {\n labelColor: palette.text.accentAlt,\n iconColor: palette.icon.accentAlt,\n },\n danger: {\n labelColor: palette.status.danger,\n iconColor: palette.status.danger,\n },\n disabled: {\n labelColor: palette.status.disabledLabel,\n iconColor: palette.status.disabledLabel,\n },\n },\n capsuleSolid: {\n accent: {\n container: {\n backgroundColor: theme.palette.fill.accent,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n primary: {\n container: {\n backgroundColor: theme.palette.fill.base,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: palette.text.strongInverse,\n iconColor: palette.icon.strongInverse,\n },\n danger: {\n container: {\n backgroundColor: theme.palette.status.danger,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n secondary: {\n container: {\n backgroundColor: commonColors.static.strongInverse,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: theme.palette.text.strong,\n iconColor: theme.palette.icon.strong,\n },\n disabled: {\n container: {\n backgroundColor: theme.palette.status.disabled,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: theme.palette.status.onDisabled,\n iconColor: theme.palette.status.onDisabled,\n },\n },\n capsuleOutlined: {\n primary: {\n container: {\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.full,\n borderWidth: 1,\n },\n labelColor: theme.palette.text.strong,\n iconColor: theme.palette.icon.strong,\n },\n disabled: {\n container: {\n borderColor: theme.palette.status.disabled,\n borderRadius: theme.shape.radius.full,\n borderWidth: 1,\n },\n labelColor: theme.palette.status.disabledLabel,\n iconColor: theme.palette.status.disabledLabel,\n },\n },\n };\n\n if (variantStyleMap[variant][color]) {\n return variantStyleMap[variant][color] as UseVariantStyleMapReturns;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.warn('The selected color is not supported for the chosen variant.');\n }\n\n return {};\n }, [theme, variant, color]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useMemo","commonColors","useTheme","useVariantStyleMap","variant","color","theme","palette","variantStyleMap","solid","accent","container","backgroundColor","fill","labelColor","static","strongInverse","iconColor","primary","base","text","icon","danger","status","disabled","onDisabled","outlined","borderColor","border","borderWidth","disabledLabel","strong","secondary","accentAlt","capsuleSolid","borderRadius","shape","radius","full","capsuleOutlined","process","env","NODE_ENV","console","warn"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { commonColors } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { ButtonColor, ButtonVariant } from './ButtonProps';\n\ntype UseVariantStyleMapReturns = {\n container?: FountainUiStyle;\n iconColor?: string;\n labelColor?: string;\n}\n\ntype VariantStyleMap = {\n [variant in ButtonVariant]: {\n [color in ButtonColor]?: UseVariantStyleMapReturns;\n }\n};\n\nexport default function useVariantStyleMap(variant: ButtonVariant, color: ButtonColor): UseVariantStyleMapReturns {\n const theme = useTheme();\n\n return useMemo(() => {\n const { palette } = theme;\n\n const variantStyleMap: VariantStyleMap = {\n solid: {\n accent: {\n container: {\n backgroundColor: palette.fill.accent,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n primary: {\n container: {\n backgroundColor: palette.fill.base,\n },\n labelColor: palette.text.strongInverse,\n iconColor: palette.icon.strongInverse,\n },\n danger: {\n container: {\n backgroundColor: palette.status.danger,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n disabled: {\n container: {\n backgroundColor: palette.status.disabled,\n },\n labelColor: palette.status.onDisabled,\n iconColor: palette.status.onDisabled,\n },\n },\n outlined: {\n accent: {\n container: {\n borderColor: palette.border.accent,\n borderWidth: 1,\n },\n labelColor: palette.text.accent,\n iconColor: palette.icon.accent,\n },\n primary: {\n container: {\n borderColor: palette.border.base,\n borderWidth: 1,\n },\n labelColor: palette.text.base,\n iconColor: palette.icon.base,\n },\n disabled: {\n container: {\n borderColor: palette.status.disabled,\n borderWidth: 1,\n },\n labelColor: palette.status.disabledLabel,\n iconColor: palette.status.disabledLabel,\n },\n },\n text: {\n primary: {\n labelColor: palette.text.strong,\n iconColor: palette.icon.strong,\n },\n secondary: {\n labelColor: palette.text.base,\n iconColor: palette.icon.base,\n },\n accent: {\n labelColor: palette.text.accent,\n iconColor: palette.icon.accent,\n },\n accentAlt: {\n labelColor: palette.text.accentAlt,\n iconColor: palette.icon.accentAlt,\n },\n danger: {\n labelColor: palette.status.danger,\n iconColor: palette.status.danger,\n },\n disabled: {\n labelColor: palette.status.disabledLabel,\n iconColor: palette.status.disabledLabel,\n },\n },\n capsuleSolid: {\n accent: {\n container: {\n backgroundColor: theme.palette.fill.accent,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n primary: {\n container: {\n backgroundColor: theme.palette.fill.base,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: palette.text.strongInverse,\n iconColor: palette.icon.strongInverse,\n },\n danger: {\n container: {\n backgroundColor: theme.palette.status.danger,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: commonColors.static.strongInverse,\n iconColor: commonColors.static.strongInverse,\n },\n secondary: {\n container: {\n backgroundColor: commonColors.static.strongInverse,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: theme.palette.text.strong,\n iconColor: theme.palette.icon.strong,\n },\n disabled: {\n container: {\n backgroundColor: theme.palette.status.disabled,\n borderRadius: theme.shape.radius.full,\n },\n labelColor: theme.palette.status.onDisabled,\n iconColor: theme.palette.status.onDisabled,\n },\n },\n capsuleOutlined: {\n primary: {\n container: {\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.full,\n borderWidth: 1,\n },\n labelColor: theme.palette.text.strong,\n iconColor: theme.palette.icon.strong,\n },\n disabled: {\n container: {\n borderColor: theme.palette.status.disabled,\n borderRadius: theme.shape.radius.full,\n borderWidth: 1,\n },\n labelColor: theme.palette.status.disabledLabel,\n iconColor: theme.palette.status.disabledLabel,\n },\n },\n };\n\n if (variantStyleMap[variant]?.[color]) {\n return variantStyleMap[variant][color] as UseVariantStyleMapReturns;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.warn('The selected color is not supported for the chosen variant.');\n }\n\n return {};\n }, [theme, variant, color]);\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { default } from './LegacyButtonBase';
1
+ export { default } from './ButtonBase';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './LegacyButtonBase';\nexport type { default as ButtonBaseProps } from './ButtonBaseProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,oBAAxB"}
1
+ {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './ButtonBase';\nexport type { default as ButtonBaseProps } from './ButtonBaseProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB"}
@@ -19,6 +19,7 @@ export default function Checkbox(props) {
19
19
  } = props;
20
20
  const theme = useTheme();
21
21
  const {
22
+ checkboxContainerStyle,
22
23
  checkboxStyle,
23
24
  containerStyle,
24
25
  iconColor
@@ -40,12 +41,14 @@ export default function Checkbox(props) {
40
41
  onPress: handlePress,
41
42
  style: rootStyle
42
43
  }, otherProps), /*#__PURE__*/React.createElement(View, {
44
+ style: checkboxContainerStyle
45
+ }, /*#__PURE__*/React.createElement(View, {
43
46
  style: checkboxStyle
44
47
  }, checked ? /*#__PURE__*/React.createElement(CheckboxOnIcon, {
45
48
  fill: iconColor,
46
49
  height: 7.5,
47
50
  width: 11
48
- }) : null), children ? /*#__PURE__*/React.createElement(Row, {
51
+ }) : null)), children ? /*#__PURE__*/React.createElement(Row, {
49
52
  flexGrow: 1,
50
53
  flexShrink: 1
51
54
  }, /*#__PURE__*/React.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","ButtonBase","CheckboxOn","CheckboxOnIcon","Row","createFontStyle","css","useTheme","useVariantStyleMap","Checkbox","props","checked","children","disabled","onChange","style","styleProp","variant","otherProps","theme","checkboxStyle","containerStyle","iconColor","rootStyle","undefined","fontStyle","selector","typography","body2","regular","color","palette","text","strong","handlePress"],"sources":["Checkbox.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport ButtonBase from '../ButtonBase';\nimport { CheckboxOn as CheckboxOnIcon } from '../internal/icons';\nimport Row from '../Row';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type CheckboxProps from './CheckboxProps';\nimport type { CheckboxVariant } from './CheckboxProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\nexport default function Checkbox(props: CheckboxProps) {\n const {\n checked = false,\n children,\n disabled = false,\n onChange,\n style: styleProp,\n variant = 'square' as CheckboxVariant,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const {\n checkboxStyle,\n containerStyle,\n iconColor,\n } = useVariantStyleMap(variant, checked);\n\n const rootStyle = css([\n children ? containerStyle : undefined,\n styleProp,\n ]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (typography) => typography.body2.regular,\n color: theme.palette.text.strong,\n });\n\n const handlePress = () => {\n if (onChange) {\n onChange(!checked);\n }\n };\n\n return (\n <ButtonBase\n disabled={disabled}\n onPress={handlePress}\n style={rootStyle}\n {...otherProps}\n >\n <View style={checkboxStyle}>\n {checked ? (\n <CheckboxOnIcon\n fill={iconColor}\n height={7.5}\n width={11}\n />\n ) : null}\n </View>\n\n {children ? (\n <Row\n flexGrow={1}\n flexShrink={1}\n >\n <Text\n children={children}\n style={fontStyle}\n />\n </Row>\n ) : null}\n </ButtonBase>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAASC,UAAU,IAAIC,cAAvB,QAA6C,mBAA7C;AACA,OAAOC,GAAP,MAAgB,QAAhB;AACA,SAASC,eAAT,EAA0BC,GAA1B,EAA+BC,QAA/B,QAA+C,WAA/C;AAGA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEA,eAAe,SAASC,QAAT,CAAkBC,KAAlB,EAAwC;EACnD,MAAM;IACFC,OAAO,GAAG,KADR;IAEFC,QAFE;IAGFC,QAAQ,GAAG,KAHT;IAIFC,QAJE;IAKFC,KAAK,EAAEC,SALL;IAMFC,OAAO,GAAG,QANR;IAOF,GAAGC;EAPD,IAQFR,KARJ;EAUA,MAAMS,KAAK,GAAGZ,QAAQ,EAAtB;EAEA,MAAM;IACFa,aADE;IAEFC,cAFE;IAGFC;EAHE,IAIFd,kBAAkB,CAACS,OAAD,EAAUN,OAAV,CAJtB;EAMA,MAAMY,SAAS,GAAGjB,GAAG,CAAC,CAClBM,QAAQ,GAAGS,cAAH,GAAoBG,SADV,EAElBR,SAFkB,CAAD,CAArB;EAKA,MAAMS,SAAS,GAAGpB,eAAe,CAACc,KAAD,EAAQ;IACrCO,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,KAAX,CAAiBC,OADN;IAErCC,KAAK,EAAEX,KAAK,CAACY,OAAN,CAAcC,IAAd,CAAmBC;EAFW,CAAR,CAAjC;;EAKA,MAAMC,WAAW,GAAG,MAAM;IACtB,IAAIpB,QAAJ,EAAc;MACVA,QAAQ,CAAC,CAACH,OAAF,CAAR;IACH;EACJ,CAJD;;EAMA,oBACI,oBAAC,UAAD;IACI,QAAQ,EAAEE,QADd;IAEI,OAAO,EAAEqB,WAFb;IAGI,KAAK,EAAEX;EAHX,GAIQL,UAJR,gBAMI,oBAAC,IAAD;IAAM,KAAK,EAAEE;EAAb,GACKT,OAAO,gBACJ,oBAAC,cAAD;IACI,IAAI,EAAEW,SADV;IAEI,MAAM,EAAE,GAFZ;IAGI,KAAK,EAAE;EAHX,EADI,GAMJ,IAPR,CANJ,EAgBKV,QAAQ,gBACL,oBAAC,GAAD;IACI,QAAQ,EAAE,CADd;IAEI,UAAU,EAAE;EAFhB,gBAII,oBAAC,IAAD;IACI,QAAQ,EAAEA,QADd;IAEI,KAAK,EAAEa;EAFX,EAJJ,CADK,GAUL,IA1BR,CADJ;AA8BH;AAAA"}
1
+ {"version":3,"names":["React","Text","View","ButtonBase","CheckboxOn","CheckboxOnIcon","Row","createFontStyle","css","useTheme","useVariantStyleMap","Checkbox","props","checked","children","disabled","onChange","style","styleProp","variant","otherProps","theme","checkboxContainerStyle","checkboxStyle","containerStyle","iconColor","rootStyle","undefined","fontStyle","selector","typography","body2","regular","color","palette","text","strong","handlePress"],"sources":["Checkbox.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport ButtonBase from '../ButtonBase';\nimport { CheckboxOn as CheckboxOnIcon } from '../internal/icons';\nimport Row from '../Row';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type CheckboxProps from './CheckboxProps';\nimport type { CheckboxVariant } from './CheckboxProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\nexport default function Checkbox(props: CheckboxProps) {\n const {\n checked = false,\n children,\n disabled = false,\n onChange,\n style: styleProp,\n variant = 'square' as CheckboxVariant,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const {\n checkboxContainerStyle,\n checkboxStyle,\n containerStyle,\n iconColor,\n } = useVariantStyleMap(variant, checked);\n\n const rootStyle = css([\n children ? containerStyle : undefined,\n styleProp,\n ]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (typography) => typography.body2.regular,\n color: theme.palette.text.strong,\n });\n\n const handlePress = () => {\n if (onChange) {\n onChange(!checked);\n }\n };\n\n return (\n <ButtonBase\n disabled={disabled}\n onPress={handlePress}\n style={rootStyle}\n {...otherProps}\n >\n <View style={checkboxContainerStyle}>\n <View style={checkboxStyle}>\n {checked ? (\n <CheckboxOnIcon\n fill={iconColor}\n height={7.5}\n width={11}\n />\n ) : null}\n </View>\n </View>\n\n {children ? (\n <Row\n flexGrow={1}\n flexShrink={1}\n >\n <Text\n children={children}\n style={fontStyle}\n />\n </Row>\n ) : null}\n </ButtonBase>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAASC,UAAU,IAAIC,cAAvB,QAA6C,mBAA7C;AACA,OAAOC,GAAP,MAAgB,QAAhB;AACA,SAASC,eAAT,EAA0BC,GAA1B,EAA+BC,QAA/B,QAA+C,WAA/C;AAGA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEA,eAAe,SAASC,QAAT,CAAkBC,KAAlB,EAAwC;EACnD,MAAM;IACFC,OAAO,GAAG,KADR;IAEFC,QAFE;IAGFC,QAAQ,GAAG,KAHT;IAIFC,QAJE;IAKFC,KAAK,EAAEC,SALL;IAMFC,OAAO,GAAG,QANR;IAOF,GAAGC;EAPD,IAQFR,KARJ;EAUA,MAAMS,KAAK,GAAGZ,QAAQ,EAAtB;EAEA,MAAM;IACFa,sBADE;IAEFC,aAFE;IAGFC,cAHE;IAIFC;EAJE,IAKFf,kBAAkB,CAACS,OAAD,EAAUN,OAAV,CALtB;EAOA,MAAMa,SAAS,GAAGlB,GAAG,CAAC,CAClBM,QAAQ,GAAGU,cAAH,GAAoBG,SADV,EAElBT,SAFkB,CAAD,CAArB;EAKA,MAAMU,SAAS,GAAGrB,eAAe,CAACc,KAAD,EAAQ;IACrCQ,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,KAAX,CAAiBC,OADN;IAErCC,KAAK,EAAEZ,KAAK,CAACa,OAAN,CAAcC,IAAd,CAAmBC;EAFW,CAAR,CAAjC;;EAKA,MAAMC,WAAW,GAAG,MAAM;IACtB,IAAIrB,QAAJ,EAAc;MACVA,QAAQ,CAAC,CAACH,OAAF,CAAR;IACH;EACJ,CAJD;;EAMA,oBACI,oBAAC,UAAD;IACI,QAAQ,EAAEE,QADd;IAEI,OAAO,EAAEsB,WAFb;IAGI,KAAK,EAAEX;EAHX,GAIQN,UAJR,gBAMI,oBAAC,IAAD;IAAM,KAAK,EAAEE;EAAb,gBACI,oBAAC,IAAD;IAAM,KAAK,EAAEC;EAAb,GACKV,OAAO,gBACJ,oBAAC,cAAD;IACI,IAAI,EAAEY,SADV;IAEI,MAAM,EAAE,GAFZ;IAGI,KAAK,EAAE;EAHX,EADI,GAMJ,IAPR,CADJ,CANJ,EAkBKX,QAAQ,gBACL,oBAAC,GAAD;IACI,QAAQ,EAAE,CADd;IAEI,UAAU,EAAE;EAFhB,gBAII,oBAAC,IAAD;IACI,QAAQ,EAAEA,QADd;IAEI,KAAK,EAAEc;EAFX,EAJJ,CADK,GAUL,IA5BR,CADJ;AAgCH;AAAA"}
@@ -14,6 +14,10 @@ export default function useVariantStyleMap(variant, checked) {
14
14
  switch (variant) {
15
15
  case 'square':
16
16
  return {
17
+ checkboxContainerStyle: {
18
+ alignSelf: 'flex-start',
19
+ paddingTop: 3
20
+ },
17
21
  checkboxStyle: css([styles.checkbox, {
18
22
  borderColor: theme.palette.border.base,
19
23
  borderRadius: theme.shape.radius.xs,
@@ -25,9 +29,9 @@ export default function useVariantStyleMap(variant, checked) {
25
29
  } : {})
26
30
  }]),
27
31
  containerStyle: {
28
- alignItems: 'center',
29
32
  flexDirection: 'row',
30
- gap: theme.spacing(3)
33
+ gap: theme.spacing(3),
34
+ paddingVertical: theme.spacing(2)
31
35
  },
32
36
  iconColor: theme.palette.fill.baseAlt
33
37
  };
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","commonColors","css","useTheme","styles","create","checkbox","alignItems","borderWidth","justifyContent","useVariantStyleMap","variant","checked","theme","checkboxStyle","borderColor","palette","border","base","borderRadius","shape","radius","xs","height","width","backgroundColor","fill","containerStyle","flexDirection","gap","spacing","iconColor","baseAlt","full","accent","borderBottomColor","weak","borderBottomWidth","paddingVertical","static","strongInverse"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { StyleSheet } from 'react-native';\nimport { commonColors, FountainUiStyle } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport type { CheckboxVariant } from './CheckboxProps';\n\nconst styles = StyleSheet.create({\n checkbox: {\n alignItems: 'center',\n borderWidth: 1,\n justifyContent: 'center',\n },\n});\n\ntype useVariantStyleMapReturns = {\n checkboxStyle?: FountainUiStyle;\n containerStyle?: FountainUiStyle;\n iconColor?: string;\n};\n\nexport default function useVariantStyleMap(variant: CheckboxVariant, checked: boolean): useVariantStyleMapReturns {\n const theme = useTheme();\n\n switch (variant) {\n case 'square':\n return {\n checkboxStyle: css([\n styles.checkbox,\n {\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.xs,\n height: 18,\n width: 18,\n ...(checked ? {\n backgroundColor: theme.palette.fill.base,\n borderColor: theme.palette.fill.base,\n } : {}),\n },\n ]),\n containerStyle: {\n alignItems: 'center',\n flexDirection: 'row',\n gap: theme.spacing(3),\n },\n iconColor: theme.palette.fill.baseAlt,\n };\n case 'round':\n return {\n checkboxStyle: css([\n styles.checkbox,\n {\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.full,\n height: 20,\n width: 20,\n ...(checked ? {\n backgroundColor: theme.palette.fill.accent,\n borderColor: theme.palette.fill.accent,\n } : {}),\n },\n ]),\n containerStyle: {\n alignItems: 'center',\n borderBottomColor: theme.palette.border.weak,\n borderBottomWidth: 0.5,\n flexDirection: 'row-reverse',\n gap: theme.spacing(8),\n paddingVertical: theme.spacing(3.5),\n },\n iconColor: commonColors.static.strongInverse,\n };\n default:\n return {};\n }\n}\n"],"mappings":"AAAA,SAASA,UAAT,QAA2B,cAA3B;AACA,SAASC,YAAT,QAA8C,qBAA9C;AACA,SAASC,GAAT,EAAcC,QAAd,QAA8B,WAA9B;AAGA,MAAMC,MAAM,GAAGJ,UAAU,CAACK,MAAX,CAAkB;EAC7BC,QAAQ,EAAE;IACNC,UAAU,EAAE,QADN;IAENC,WAAW,EAAE,CAFP;IAGNC,cAAc,EAAE;EAHV;AADmB,CAAlB,CAAf;AAcA,eAAe,SAASC,kBAAT,CAA4BC,OAA5B,EAAsDC,OAAtD,EAAmG;EAC9G,MAAMC,KAAK,GAAGV,QAAQ,EAAtB;;EAEA,QAAQQ,OAAR;IACI,KAAK,QAAL;MACI,OAAO;QACHG,aAAa,EAAEZ,GAAG,CAAC,CACfE,MAAM,CAACE,QADQ,EAEf;UACIS,WAAW,EAAEF,KAAK,CAACG,OAAN,CAAcC,MAAd,CAAqBC,IADtC;UAEIC,YAAY,EAAEN,KAAK,CAACO,KAAN,CAAYC,MAAZ,CAAmBC,EAFrC;UAGIC,MAAM,EAAE,EAHZ;UAIIC,KAAK,EAAE,EAJX;UAKI,IAAIZ,OAAO,GAAG;YACVa,eAAe,EAAEZ,KAAK,CAACG,OAAN,CAAcU,IAAd,CAAmBR,IAD1B;YAEVH,WAAW,EAAEF,KAAK,CAACG,OAAN,CAAcU,IAAd,CAAmBR;UAFtB,CAAH,GAGP,EAHJ;QALJ,CAFe,CAAD,CADf;QAcHS,cAAc,EAAE;UACZpB,UAAU,EAAE,QADA;UAEZqB,aAAa,EAAE,KAFH;UAGZC,GAAG,EAAEhB,KAAK,CAACiB,OAAN,CAAc,CAAd;QAHO,CAdb;QAmBHC,SAAS,EAAElB,KAAK,CAACG,OAAN,CAAcU,IAAd,CAAmBM;MAnB3B,CAAP;;IAqBJ,KAAK,OAAL;MACI,OAAO;QACHlB,aAAa,EAAEZ,GAAG,CAAC,CACfE,MAAM,CAACE,QADQ,EAEf;UACIS,WAAW,EAAEF,KAAK,CAACG,OAAN,CAAcC,MAAd,CAAqBC,IADtC;UAEIC,YAAY,EAAEN,KAAK,CAACO,KAAN,CAAYC,MAAZ,CAAmBY,IAFrC;UAGIV,MAAM,EAAE,EAHZ;UAIIC,KAAK,EAAE,EAJX;UAKI,IAAIZ,OAAO,GAAG;YACVa,eAAe,EAAEZ,KAAK,CAACG,OAAN,CAAcU,IAAd,CAAmBQ,MAD1B;YAEVnB,WAAW,EAAEF,KAAK,CAACG,OAAN,CAAcU,IAAd,CAAmBQ;UAFtB,CAAH,GAGP,EAHJ;QALJ,CAFe,CAAD,CADf;QAcHP,cAAc,EAAE;UACZpB,UAAU,EAAE,QADA;UAEZ4B,iBAAiB,EAAEtB,KAAK,CAACG,OAAN,CAAcC,MAAd,CAAqBmB,IAF5B;UAGZC,iBAAiB,EAAE,GAHP;UAIZT,aAAa,EAAE,aAJH;UAKZC,GAAG,EAAEhB,KAAK,CAACiB,OAAN,CAAc,CAAd,CALO;UAMZQ,eAAe,EAAEzB,KAAK,CAACiB,OAAN,CAAc,GAAd;QANL,CAdb;QAsBHC,SAAS,EAAE9B,YAAY,CAACsC,MAAb,CAAoBC;MAtB5B,CAAP;;IAwBJ;MACI,OAAO,EAAP;EAjDR;AAmDH"}
1
+ {"version":3,"names":["StyleSheet","commonColors","css","useTheme","styles","create","checkbox","alignItems","borderWidth","justifyContent","useVariantStyleMap","variant","checked","theme","checkboxContainerStyle","alignSelf","paddingTop","checkboxStyle","borderColor","palette","border","base","borderRadius","shape","radius","xs","height","width","backgroundColor","fill","containerStyle","flexDirection","gap","spacing","paddingVertical","iconColor","baseAlt","full","accent","borderBottomColor","weak","borderBottomWidth","static","strongInverse"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { StyleSheet } from 'react-native';\nimport { commonColors, FountainUiStyle } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport type { CheckboxVariant } from './CheckboxProps';\n\nconst styles = StyleSheet.create({\n checkbox: {\n alignItems: 'center',\n borderWidth: 1,\n justifyContent: 'center',\n },\n});\n\ntype useVariantStyleMapReturns = {\n checkboxContainerStyle?: FountainUiStyle;\n checkboxStyle?: FountainUiStyle;\n containerStyle?: FountainUiStyle;\n iconColor?: string;\n};\n\nexport default function useVariantStyleMap(variant: CheckboxVariant, checked: boolean): useVariantStyleMapReturns {\n const theme = useTheme();\n\n switch (variant) {\n case 'square':\n return {\n checkboxContainerStyle: {\n alignSelf: 'flex-start',\n paddingTop: 3,\n },\n checkboxStyle: css([\n styles.checkbox,\n {\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.xs,\n height: 18,\n width: 18,\n ...(checked ? {\n backgroundColor: theme.palette.fill.base,\n borderColor: theme.palette.fill.base,\n } : {}),\n },\n ]),\n containerStyle: {\n flexDirection: 'row',\n gap: theme.spacing(3),\n paddingVertical: theme.spacing(2),\n },\n iconColor: theme.palette.fill.baseAlt,\n };\n case 'round':\n return {\n checkboxStyle: css([\n styles.checkbox,\n {\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.full,\n height: 20,\n width: 20,\n ...(checked ? {\n backgroundColor: theme.palette.fill.accent,\n borderColor: theme.palette.fill.accent,\n } : {}),\n },\n ]),\n containerStyle: {\n alignItems: 'center',\n borderBottomColor: theme.palette.border.weak,\n borderBottomWidth: 0.5,\n flexDirection: 'row-reverse',\n gap: theme.spacing(8),\n paddingVertical: theme.spacing(3.5),\n },\n iconColor: commonColors.static.strongInverse,\n };\n default:\n return {};\n }\n}\n"],"mappings":"AAAA,SAASA,UAAT,QAA2B,cAA3B;AACA,SAASC,YAAT,QAA8C,qBAA9C;AACA,SAASC,GAAT,EAAcC,QAAd,QAA8B,WAA9B;AAGA,MAAMC,MAAM,GAAGJ,UAAU,CAACK,MAAX,CAAkB;EAC7BC,QAAQ,EAAE;IACNC,UAAU,EAAE,QADN;IAENC,WAAW,EAAE,CAFP;IAGNC,cAAc,EAAE;EAHV;AADmB,CAAlB,CAAf;AAeA,eAAe,SAASC,kBAAT,CAA4BC,OAA5B,EAAsDC,OAAtD,EAAmG;EAC9G,MAAMC,KAAK,GAAGV,QAAQ,EAAtB;;EAEA,QAAQQ,OAAR;IACI,KAAK,QAAL;MACI,OAAO;QACHG,sBAAsB,EAAE;UACpBC,SAAS,EAAE,YADS;UAEpBC,UAAU,EAAE;QAFQ,CADrB;QAKHC,aAAa,EAAEf,GAAG,CAAC,CACfE,MAAM,CAACE,QADQ,EAEf;UACIY,WAAW,EAAEL,KAAK,CAACM,OAAN,CAAcC,MAAd,CAAqBC,IADtC;UAEIC,YAAY,EAAET,KAAK,CAACU,KAAN,CAAYC,MAAZ,CAAmBC,EAFrC;UAGIC,MAAM,EAAE,EAHZ;UAIIC,KAAK,EAAE,EAJX;UAKI,IAAIf,OAAO,GAAG;YACVgB,eAAe,EAAEf,KAAK,CAACM,OAAN,CAAcU,IAAd,CAAmBR,IAD1B;YAEVH,WAAW,EAAEL,KAAK,CAACM,OAAN,CAAcU,IAAd,CAAmBR;UAFtB,CAAH,GAGP,EAHJ;QALJ,CAFe,CAAD,CALf;QAkBHS,cAAc,EAAE;UACZC,aAAa,EAAE,KADH;UAEZC,GAAG,EAAEnB,KAAK,CAACoB,OAAN,CAAc,CAAd,CAFO;UAGZC,eAAe,EAAErB,KAAK,CAACoB,OAAN,CAAc,CAAd;QAHL,CAlBb;QAuBHE,SAAS,EAAEtB,KAAK,CAACM,OAAN,CAAcU,IAAd,CAAmBO;MAvB3B,CAAP;;IAyBJ,KAAK,OAAL;MACI,OAAO;QACHnB,aAAa,EAAEf,GAAG,CAAC,CACfE,MAAM,CAACE,QADQ,EAEf;UACIY,WAAW,EAAEL,KAAK,CAACM,OAAN,CAAcC,MAAd,CAAqBC,IADtC;UAEIC,YAAY,EAAET,KAAK,CAACU,KAAN,CAAYC,MAAZ,CAAmBa,IAFrC;UAGIX,MAAM,EAAE,EAHZ;UAIIC,KAAK,EAAE,EAJX;UAKI,IAAIf,OAAO,GAAG;YACVgB,eAAe,EAAEf,KAAK,CAACM,OAAN,CAAcU,IAAd,CAAmBS,MAD1B;YAEVpB,WAAW,EAAEL,KAAK,CAACM,OAAN,CAAcU,IAAd,CAAmBS;UAFtB,CAAH,GAGP,EAHJ;QALJ,CAFe,CAAD,CADf;QAcHR,cAAc,EAAE;UACZvB,UAAU,EAAE,QADA;UAEZgC,iBAAiB,EAAE1B,KAAK,CAACM,OAAN,CAAcC,MAAd,CAAqBoB,IAF5B;UAGZC,iBAAiB,EAAE,GAHP;UAIZV,aAAa,EAAE,aAJH;UAKZC,GAAG,EAAEnB,KAAK,CAACoB,OAAN,CAAc,CAAd,CALO;UAMZC,eAAe,EAAErB,KAAK,CAACoB,OAAN,CAAc,GAAd;QANL,CAdb;QAsBHE,SAAS,EAAElC,YAAY,CAACyC,MAAb,CAAoBC;MAtB5B,CAAP;;IAwBJ;MACI,OAAO,EAAP;EArDR;AAuDH"}
@@ -2,16 +2,18 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
 
3
3
  import React from 'react';
4
4
  import { Text, View } from 'react-native';
5
+ import ButtonBase from '../ButtonBase';
6
+ import { Close } from '../internal';
5
7
  import { css } from '../styles';
6
8
  import { cloneElementSafely } from '../utils';
7
- import ButtonBase from '../ButtonBase/ButtonBase';
8
9
  import useChipStyle from './useChipStyle';
9
10
  export default function Chip(props) {
10
11
  const {
11
12
  children,
12
- endElement: endElementProp,
13
+ color = 'default',
13
14
  numberOfLines,
14
15
  onPress,
16
+ selected = false,
15
17
  size = 'small',
16
18
  startElement: startElementProp,
17
19
  startElementVariant = 'default',
@@ -20,26 +22,28 @@ export default function Chip(props) {
20
22
  } = props;
21
23
  const {
22
24
  container: containerStyle,
23
- endElement: endElementStyle,
25
+ closeButton: closeButtonStyle,
24
26
  label: labelStyle,
25
- startElement: startElementStyle
26
- } = useChipStyle(size, startElementVariant, !!endElementProp);
27
+ startElement: startElementStyle,
28
+ startElementContainer: startElementContainerStyle
29
+ } = useChipStyle(size, startElementVariant, color, selected);
27
30
  const chipStyle = css([containerStyle, styleProp]);
28
- const startElement = startElementVariant === 'icon' ? /*#__PURE__*/React.createElement(View, {
31
+ const startElement = /*#__PURE__*/React.createElement(View, {
32
+ style: startElementContainerStyle
33
+ }, cloneElementSafely(startElementProp, {
29
34
  style: startElementStyle
30
- }, cloneElementSafely(startElementProp)) : cloneElementSafely(startElementProp, {
31
- style: startElementStyle
32
- });
33
- const endElement = cloneElementSafely(endElementProp, {
34
- style: endElementStyle
35
- });
35
+ }));
36
36
  return /*#__PURE__*/React.createElement(ButtonBase, _extends({
37
+ disabled: !onPress,
37
38
  onPress: onPress,
38
39
  style: chipStyle
39
40
  }, otherProps), startElement, /*#__PURE__*/React.createElement(Text, {
40
41
  children: children,
41
42
  numberOfLines: numberOfLines,
42
43
  style: labelStyle
43
- }), endElement);
44
+ }), selected ? /*#__PURE__*/React.createElement(Close, {
45
+ color: 'baseInverse',
46
+ style: closeButtonStyle
47
+ }) : null);
44
48
  }
45
49
  //# sourceMappingURL=Chip.js.map