@fountain-ui/core 3.0.0-alpha.3 → 3.0.0-alpha.31

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 (481) hide show
  1. package/build/commonjs/Accordion/Accordion.js +15 -8
  2. package/build/commonjs/Accordion/Accordion.js.map +1 -1
  3. package/build/commonjs/Accordion/AccordionProps.js.map +1 -1
  4. package/build/commonjs/Accordion/useVariantStyleMap.js +15 -8
  5. package/build/commonjs/Accordion/useVariantStyleMap.js.map +1 -1
  6. package/build/commonjs/AppBar/AppBar.js +7 -2
  7. package/build/commonjs/AppBar/AppBar.js.map +1 -1
  8. package/build/commonjs/Badge/Badge.js +4 -3
  9. package/build/commonjs/Badge/Badge.js.map +1 -1
  10. package/build/commonjs/Badge/BadgeProps.js.map +1 -1
  11. package/build/commonjs/Badge/useVariantStyleMap.js +2 -2
  12. package/build/commonjs/Badge/useVariantStyleMap.js.map +1 -1
  13. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js +5 -2
  14. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  15. package/build/commonjs/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  16. package/build/commonjs/Button/Button.js +26 -12
  17. package/build/commonjs/Button/Button.js.map +1 -1
  18. package/build/commonjs/Button/ButtonProps.js.map +1 -1
  19. package/build/commonjs/Button/useVariantStyleMap.js +9 -0
  20. package/build/commonjs/Button/useVariantStyleMap.js.map +1 -1
  21. package/build/commonjs/ButtonBase/ButtonBase.js +1 -1
  22. package/build/commonjs/ButtonBase/ButtonBase.js.map +1 -1
  23. package/build/commonjs/ButtonBase/index.js +2 -2
  24. package/build/commonjs/ButtonBase/index.js.map +1 -1
  25. package/build/commonjs/Checkbox/Checkbox.js +4 -1
  26. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  27. package/build/commonjs/Checkbox/useVariantStyleMap.js +6 -2
  28. package/build/commonjs/Checkbox/useVariantStyleMap.js.map +1 -1
  29. package/build/commonjs/Chip/Chip.js +25 -14
  30. package/build/commonjs/Chip/Chip.js.map +1 -1
  31. package/build/commonjs/Chip/ChipProps.js +3 -1
  32. package/build/commonjs/Chip/ChipProps.js.map +1 -1
  33. package/build/commonjs/Chip/index.js +6 -0
  34. package/build/commonjs/Chip/index.js.map +1 -1
  35. package/build/commonjs/Chip/useChipStyle.js +51 -31
  36. package/build/commonjs/Chip/useChipStyle.js.map +1 -1
  37. package/build/commonjs/Dialog/Dialog.js +10 -12
  38. package/build/commonjs/Dialog/Dialog.js.map +1 -1
  39. package/build/commonjs/Dialog/DialogProps.js +1 -1
  40. package/build/commonjs/Dialog/DialogProps.js.map +1 -1
  41. package/build/commonjs/Dialog/useDialogSectionStyle.js +6 -4
  42. package/build/commonjs/Dialog/useDialogSectionStyle.js.map +1 -1
  43. package/build/commonjs/Dialog/useDialogStyle.js +19 -8
  44. package/build/commonjs/Dialog/useDialogStyle.js.map +1 -1
  45. package/build/commonjs/DialogActions/DialogActions.js +0 -1
  46. package/build/commonjs/DialogActions/DialogActions.js.map +1 -1
  47. package/build/commonjs/DialogTitle/DialogLargeTitle.js +80 -0
  48. package/build/commonjs/DialogTitle/DialogLargeTitle.js.map +1 -0
  49. package/build/commonjs/DialogTitle/DialogTitle.js +8 -4
  50. package/build/commonjs/DialogTitle/DialogTitle.js.map +1 -1
  51. package/build/commonjs/Divider/Divider.js +17 -9
  52. package/build/commonjs/Divider/Divider.js.map +1 -1
  53. package/build/commonjs/Divider/DividerProps.js +1 -1
  54. package/build/commonjs/Divider/DividerProps.js.map +1 -1
  55. package/build/commonjs/Empty/Empty.js +1 -1
  56. package/build/commonjs/Empty/Empty.js.map +1 -1
  57. package/build/commonjs/Flexbox/Flexbox.js +2 -0
  58. package/build/commonjs/Flexbox/Flexbox.js.map +1 -1
  59. package/build/commonjs/Flexbox/FlexboxProps.js.map +1 -1
  60. package/build/commonjs/IconButton/IconButton.js +3 -0
  61. package/build/commonjs/IconButton/IconButton.js.map +1 -1
  62. package/build/commonjs/IconButton/IconButtonProps.js +1 -1
  63. package/build/commonjs/IconButton/IconButtonProps.js.map +1 -1
  64. package/build/commonjs/Image/Image.js +2 -2
  65. package/build/commonjs/Image/Image.js.map +1 -1
  66. package/build/commonjs/ImageCore/ImageCoreNative.js +1 -1
  67. package/build/commonjs/ImageCore/ImageCoreNative.js.map +1 -1
  68. package/build/commonjs/ListItem/ListItem.js +38 -26
  69. package/build/commonjs/ListItem/ListItem.js.map +1 -1
  70. package/build/commonjs/ListItem/ListItemProps.js.map +1 -1
  71. package/build/commonjs/ListItemIcon/ListItemIcon.js +1 -2
  72. package/build/commonjs/ListItemIcon/ListItemIcon.js.map +1 -1
  73. package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  74. package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  75. package/build/commonjs/ListItemText/ListItemText.js +20 -21
  76. package/build/commonjs/ListItemText/ListItemText.js.map +1 -1
  77. package/build/commonjs/ListItemText/ListItemTextProps.js.map +1 -1
  78. package/build/commonjs/ListSubheader/ListSubheader.js +1 -1
  79. package/build/commonjs/ListSubheader/ListSubheader.js.map +1 -1
  80. package/build/commonjs/Pagination/NumberPagination.js +4 -2
  81. package/build/commonjs/Pagination/NumberPagination.js.map +1 -1
  82. package/build/commonjs/Pagination/Pagination.js +2 -0
  83. package/build/commonjs/Pagination/Pagination.js.map +1 -1
  84. package/build/commonjs/Pagination/PaginationProps.js +3 -1
  85. package/build/commonjs/Pagination/PaginationProps.js.map +1 -1
  86. package/build/commonjs/Pagination/index.js +6 -0
  87. package/build/commonjs/Pagination/index.js.map +1 -1
  88. package/build/commonjs/PaginationItem/PaginationItem.js +32 -22
  89. package/build/commonjs/PaginationItem/PaginationItem.js.map +1 -1
  90. package/build/commonjs/PaginationItem/PaginationItemProps.js.map +1 -1
  91. package/build/commonjs/Radio/Radio.js +11 -4
  92. package/build/commonjs/Radio/Radio.js.map +1 -1
  93. package/build/commonjs/RadioGroup/RadioGroup.js +2 -27
  94. package/build/commonjs/RadioGroup/RadioGroup.js.map +1 -1
  95. package/build/commonjs/Section/Section.js +32 -0
  96. package/build/commonjs/Section/Section.js.map +1 -0
  97. package/build/commonjs/Section/SectionProps.js +2 -0
  98. package/build/commonjs/Section/SectionProps.js.map +1 -0
  99. package/build/commonjs/Section/index.js +16 -0
  100. package/build/commonjs/Section/index.js.map +1 -0
  101. package/build/commonjs/ShadowView/ShadowView.native.js +4 -0
  102. package/build/commonjs/ShadowView/ShadowView.native.js.map +1 -1
  103. package/build/commonjs/SnackbarContent/SnackbarContent.js +26 -9
  104. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  105. package/build/commonjs/Tab/Tab.js +21 -19
  106. package/build/commonjs/Tab/Tab.js.map +1 -1
  107. package/build/commonjs/Tab/TabProps.js +4 -2
  108. package/build/commonjs/Tab/TabProps.js.map +1 -1
  109. package/build/commonjs/Tab/index.js +14 -0
  110. package/build/commonjs/Tab/index.js.map +1 -1
  111. package/build/commonjs/Tab/useVariantStyleMap.js +59 -18
  112. package/build/commonjs/Tab/useVariantStyleMap.js.map +1 -1
  113. package/build/commonjs/TabBase/TabBase.js +1 -8
  114. package/build/commonjs/TabBase/TabBase.js.map +1 -1
  115. package/build/commonjs/TabBase/TabBaseProps.js.map +1 -1
  116. package/build/commonjs/Tabs/Tabs.js +23 -7
  117. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  118. package/build/commonjs/Tabs/TabsProps.js.map +1 -1
  119. package/build/commonjs/Tabs/index.js.map +1 -1
  120. package/build/commonjs/Tabs/useTabsStyle.js +80 -0
  121. package/build/commonjs/Tabs/useTabsStyle.js.map +1 -0
  122. package/build/commonjs/TextField/TextField.js +48 -12
  123. package/build/commonjs/TextField/TextField.js.map +1 -1
  124. package/build/commonjs/TextField/useVariantStyleMap.js +29 -29
  125. package/build/commonjs/TextField/useVariantStyleMap.js.map +1 -1
  126. package/build/commonjs/Toolbar/BackButton/BackButton.js +47 -0
  127. package/build/commonjs/Toolbar/BackButton/BackButton.js.map +1 -0
  128. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js +2 -0
  129. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  130. package/build/commonjs/Toolbar/BackButton/index.js +16 -0
  131. package/build/commonjs/Toolbar/BackButton/index.js.map +1 -0
  132. package/build/commonjs/Toolbar/Toolbar.js +8 -4
  133. package/build/commonjs/Toolbar/Toolbar.js.map +1 -1
  134. package/build/commonjs/Tooltip/Beaks/index.js +32 -0
  135. package/build/commonjs/Tooltip/Beaks/index.js.map +1 -1
  136. package/build/commonjs/Tooltip/Tooltip.js +11 -18
  137. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  138. package/build/commonjs/Tooltip/index.js +19 -0
  139. package/build/commonjs/Tooltip/index.js.map +1 -1
  140. package/build/commonjs/Typography/Typography.js +9 -2
  141. package/build/commonjs/Typography/Typography.js.map +1 -1
  142. package/build/commonjs/Typography/TypographyProps.js.map +1 -1
  143. package/build/commonjs/hooks/useBreakpointUp.js +4 -1
  144. package/build/commonjs/hooks/useBreakpointUp.js.map +1 -1
  145. package/build/commonjs/hooks/useCollapsibleAppBar.js +3 -10
  146. package/build/commonjs/hooks/useCollapsibleAppBar.js.map +1 -1
  147. package/build/commonjs/hooks/useContentContainerStyle.js +39 -25
  148. package/build/commonjs/hooks/useContentContainerStyle.js.map +1 -1
  149. package/build/commonjs/hooks/useFadeInAppBar.js +2 -2
  150. package/build/commonjs/hooks/useFadeInAppBar.js.map +1 -1
  151. package/build/commonjs/index.js +21 -0
  152. package/build/commonjs/index.js.map +1 -1
  153. package/build/commonjs/internal/icons/AppBarChevronLeft.js +23 -0
  154. package/build/commonjs/internal/icons/AppBarChevronLeft.js.map +1 -0
  155. package/build/commonjs/internal/icons/ChevronLeft.js +4 -2
  156. package/build/commonjs/internal/icons/ChevronLeft.js.map +1 -1
  157. package/build/commonjs/internal/icons/ChevronRight.js +4 -2
  158. package/build/commonjs/internal/icons/ChevronRight.js.map +1 -1
  159. package/build/commonjs/internal/icons/ChipClose.js +23 -0
  160. package/build/commonjs/internal/icons/ChipClose.js.map +1 -0
  161. package/build/commonjs/internal/icons/Clear.js +3 -3
  162. package/build/commonjs/internal/icons/Clear.js.map +1 -1
  163. package/build/commonjs/internal/icons/Close.js +4 -2
  164. package/build/commonjs/internal/icons/Close.js.map +1 -1
  165. package/build/commonjs/internal/icons/Search.js +2 -2
  166. package/build/commonjs/internal/icons/Search.js.map +1 -1
  167. package/build/commonjs/internal/icons/index.js +16 -0
  168. package/build/commonjs/internal/icons/index.js.map +1 -1
  169. package/build/module/Accordion/Accordion.js +15 -8
  170. package/build/module/Accordion/Accordion.js.map +1 -1
  171. package/build/module/Accordion/AccordionProps.js.map +1 -1
  172. package/build/module/Accordion/useVariantStyleMap.js +15 -8
  173. package/build/module/Accordion/useVariantStyleMap.js.map +1 -1
  174. package/build/module/AppBar/AppBar.js +6 -2
  175. package/build/module/AppBar/AppBar.js.map +1 -1
  176. package/build/module/Badge/Badge.js +4 -3
  177. package/build/module/Badge/Badge.js.map +1 -1
  178. package/build/module/Badge/BadgeProps.js.map +1 -1
  179. package/build/module/Badge/useVariantStyleMap.js +2 -2
  180. package/build/module/Badge/useVariantStyleMap.js.map +1 -1
  181. package/build/module/BottomSheetTitle/BottomSheetTitle.js +5 -2
  182. package/build/module/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  183. package/build/module/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  184. package/build/module/Button/Button.js +27 -13
  185. package/build/module/Button/Button.js.map +1 -1
  186. package/build/module/Button/ButtonProps.js.map +1 -1
  187. package/build/module/Button/useVariantStyleMap.js +9 -0
  188. package/build/module/Button/useVariantStyleMap.js.map +1 -1
  189. package/build/module/ButtonBase/ButtonBase.js +1 -1
  190. package/build/module/ButtonBase/ButtonBase.js.map +1 -1
  191. package/build/module/ButtonBase/index.js +1 -1
  192. package/build/module/ButtonBase/index.js.map +1 -1
  193. package/build/module/Checkbox/Checkbox.js +4 -1
  194. package/build/module/Checkbox/Checkbox.js.map +1 -1
  195. package/build/module/Checkbox/useVariantStyleMap.js +6 -2
  196. package/build/module/Checkbox/useVariantStyleMap.js.map +1 -1
  197. package/build/module/Chip/Chip.js +21 -13
  198. package/build/module/Chip/Chip.js.map +1 -1
  199. package/build/module/Chip/ChipProps.js +1 -0
  200. package/build/module/Chip/ChipProps.js.map +1 -1
  201. package/build/module/Chip/index.js +1 -1
  202. package/build/module/Chip/index.js.map +1 -1
  203. package/build/module/Chip/useChipStyle.js +51 -31
  204. package/build/module/Chip/useChipStyle.js.map +1 -1
  205. package/build/module/Dialog/Dialog.js +10 -11
  206. package/build/module/Dialog/Dialog.js.map +1 -1
  207. package/build/module/Dialog/DialogProps.js +1 -1
  208. package/build/module/Dialog/DialogProps.js.map +1 -1
  209. package/build/module/Dialog/useDialogSectionStyle.js +6 -4
  210. package/build/module/Dialog/useDialogSectionStyle.js.map +1 -1
  211. package/build/module/Dialog/useDialogStyle.js +18 -8
  212. package/build/module/Dialog/useDialogStyle.js.map +1 -1
  213. package/build/module/DialogActions/DialogActions.js +0 -1
  214. package/build/module/DialogActions/DialogActions.js.map +1 -1
  215. package/build/module/DialogTitle/DialogLargeTitle.js +65 -0
  216. package/build/module/DialogTitle/DialogLargeTitle.js.map +1 -0
  217. package/build/module/DialogTitle/DialogTitle.js +6 -3
  218. package/build/module/DialogTitle/DialogTitle.js.map +1 -1
  219. package/build/module/Divider/Divider.js +7 -0
  220. package/build/module/Divider/Divider.js.map +1 -1
  221. package/build/module/Divider/DividerProps.js +1 -1
  222. package/build/module/Divider/DividerProps.js.map +1 -1
  223. package/build/module/Empty/Empty.js +1 -1
  224. package/build/module/Empty/Empty.js.map +1 -1
  225. package/build/module/Flexbox/Flexbox.js +2 -0
  226. package/build/module/Flexbox/Flexbox.js.map +1 -1
  227. package/build/module/Flexbox/FlexboxProps.js.map +1 -1
  228. package/build/module/IconButton/IconButton.js +3 -0
  229. package/build/module/IconButton/IconButton.js.map +1 -1
  230. package/build/module/IconButton/IconButtonProps.js +1 -1
  231. package/build/module/IconButton/IconButtonProps.js.map +1 -1
  232. package/build/module/Image/Image.js +2 -2
  233. package/build/module/Image/Image.js.map +1 -1
  234. package/build/module/ImageCore/ImageCoreNative.js +1 -1
  235. package/build/module/ImageCore/ImageCoreNative.js.map +1 -1
  236. package/build/module/ListItem/ListItem.js +36 -28
  237. package/build/module/ListItem/ListItem.js.map +1 -1
  238. package/build/module/ListItem/ListItemProps.js.map +1 -1
  239. package/build/module/ListItemIcon/ListItemIcon.js +1 -2
  240. package/build/module/ListItemIcon/ListItemIcon.js.map +1 -1
  241. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  242. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  243. package/build/module/ListItemText/ListItemText.js +17 -19
  244. package/build/module/ListItemText/ListItemText.js.map +1 -1
  245. package/build/module/ListItemText/ListItemTextProps.js.map +1 -1
  246. package/build/module/ListSubheader/ListSubheader.js +1 -1
  247. package/build/module/ListSubheader/ListSubheader.js.map +1 -1
  248. package/build/module/Pagination/NumberPagination.js +4 -2
  249. package/build/module/Pagination/NumberPagination.js.map +1 -1
  250. package/build/module/Pagination/Pagination.js +2 -0
  251. package/build/module/Pagination/Pagination.js.map +1 -1
  252. package/build/module/Pagination/PaginationProps.js +1 -0
  253. package/build/module/Pagination/PaginationProps.js.map +1 -1
  254. package/build/module/Pagination/index.js +1 -1
  255. package/build/module/Pagination/index.js.map +1 -1
  256. package/build/module/PaginationItem/PaginationItem.js +28 -21
  257. package/build/module/PaginationItem/PaginationItem.js.map +1 -1
  258. package/build/module/PaginationItem/PaginationItemProps.js.map +1 -1
  259. package/build/module/Radio/Radio.js +10 -4
  260. package/build/module/Radio/Radio.js.map +1 -1
  261. package/build/module/RadioGroup/RadioGroup.js +2 -20
  262. package/build/module/RadioGroup/RadioGroup.js.map +1 -1
  263. package/build/module/Section/Section.js +19 -0
  264. package/build/module/Section/Section.js.map +1 -0
  265. package/build/module/Section/SectionProps.js +2 -0
  266. package/build/module/Section/SectionProps.js.map +1 -0
  267. package/build/module/Section/index.js +2 -0
  268. package/build/module/Section/index.js.map +1 -0
  269. package/build/module/ShadowView/ShadowView.native.js +4 -0
  270. package/build/module/ShadowView/ShadowView.native.js.map +1 -1
  271. package/build/module/SnackbarContent/SnackbarContent.js +26 -9
  272. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  273. package/build/module/Tab/Tab.js +22 -19
  274. package/build/module/Tab/Tab.js.map +1 -1
  275. package/build/module/Tab/TabProps.js +2 -1
  276. package/build/module/Tab/TabProps.js.map +1 -1
  277. package/build/module/Tab/index.js +1 -0
  278. package/build/module/Tab/index.js.map +1 -1
  279. package/build/module/Tab/useVariantStyleMap.js +59 -18
  280. package/build/module/Tab/useVariantStyleMap.js.map +1 -1
  281. package/build/module/TabBase/TabBase.js +1 -8
  282. package/build/module/TabBase/TabBase.js.map +1 -1
  283. package/build/module/TabBase/TabBaseProps.js.map +1 -1
  284. package/build/module/Tabs/Tabs.js +21 -7
  285. package/build/module/Tabs/Tabs.js.map +1 -1
  286. package/build/module/Tabs/TabsProps.js.map +1 -1
  287. package/build/module/Tabs/index.js.map +1 -1
  288. package/build/module/Tabs/useTabsStyle.js +70 -0
  289. package/build/module/Tabs/useTabsStyle.js.map +1 -0
  290. package/build/module/TextField/TextField.js +48 -12
  291. package/build/module/TextField/TextField.js.map +1 -1
  292. package/build/module/TextField/useVariantStyleMap.js +29 -29
  293. package/build/module/TextField/useVariantStyleMap.js.map +1 -1
  294. package/build/module/Toolbar/BackButton/BackButton.js +32 -0
  295. package/build/module/Toolbar/BackButton/BackButton.js.map +1 -0
  296. package/build/module/Toolbar/BackButton/BackButtonProps.js +2 -0
  297. package/build/module/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  298. package/build/module/Toolbar/BackButton/index.js +2 -0
  299. package/build/module/Toolbar/BackButton/index.js.map +1 -0
  300. package/build/module/Toolbar/Toolbar.js +7 -3
  301. package/build/module/Toolbar/Toolbar.js.map +1 -1
  302. package/build/module/Tooltip/Beaks/index.js +4 -0
  303. package/build/module/Tooltip/Beaks/index.js.map +1 -1
  304. package/build/module/Tooltip/Tooltip.js +4 -10
  305. package/build/module/Tooltip/Tooltip.js.map +1 -1
  306. package/build/module/Tooltip/index.js +1 -0
  307. package/build/module/Tooltip/index.js.map +1 -1
  308. package/build/module/Typography/Typography.js +9 -2
  309. package/build/module/Typography/Typography.js.map +1 -1
  310. package/build/module/Typography/TypographyProps.js.map +1 -1
  311. package/build/module/hooks/useBreakpointUp.js +4 -1
  312. package/build/module/hooks/useBreakpointUp.js.map +1 -1
  313. package/build/module/hooks/useCollapsibleAppBar.js +4 -10
  314. package/build/module/hooks/useCollapsibleAppBar.js.map +1 -1
  315. package/build/module/hooks/useContentContainerStyle.js +43 -25
  316. package/build/module/hooks/useContentContainerStyle.js.map +1 -1
  317. package/build/module/hooks/useFadeInAppBar.js +2 -2
  318. package/build/module/hooks/useFadeInAppBar.js.map +1 -1
  319. package/build/module/index.js +2 -0
  320. package/build/module/index.js.map +1 -1
  321. package/build/module/internal/icons/AppBarChevronLeft.js +9 -0
  322. package/build/module/internal/icons/AppBarChevronLeft.js.map +1 -0
  323. package/build/module/internal/icons/ChevronLeft.js +4 -2
  324. package/build/module/internal/icons/ChevronLeft.js.map +1 -1
  325. package/build/module/internal/icons/ChevronRight.js +4 -2
  326. package/build/module/internal/icons/ChevronRight.js.map +1 -1
  327. package/build/module/internal/icons/ChipClose.js +9 -0
  328. package/build/module/internal/icons/ChipClose.js.map +1 -0
  329. package/build/module/internal/icons/Clear.js +3 -3
  330. package/build/module/internal/icons/Clear.js.map +1 -1
  331. package/build/module/internal/icons/Close.js +4 -2
  332. package/build/module/internal/icons/Close.js.map +1 -1
  333. package/build/module/internal/icons/Search.js +2 -2
  334. package/build/module/internal/icons/Search.js.map +1 -1
  335. package/build/module/internal/icons/index.js +2 -0
  336. package/build/module/internal/icons/index.js.map +1 -1
  337. package/build/typescript/Accordion/AccordionProps.d.ts +4 -1
  338. package/build/typescript/Accordion/useVariantStyleMap.d.ts +1 -0
  339. package/build/typescript/Badge/BadgeProps.d.ts +10 -5
  340. package/build/typescript/BottomSheetTitle/BottomSheetTitleProps.d.ts +1 -0
  341. package/build/typescript/Button/ButtonProps.d.ts +5 -0
  342. package/build/typescript/ButtonBase/index.d.ts +1 -1
  343. package/build/typescript/Checkbox/useVariantStyleMap.d.ts +1 -0
  344. package/build/typescript/Chip/ChipProps.d.ts +11 -4
  345. package/build/typescript/Chip/index.d.ts +1 -1
  346. package/build/typescript/Chip/useChipStyle.d.ts +6 -3
  347. package/build/typescript/Dialog/DialogProps.d.ts +1 -6
  348. package/build/typescript/Dialog/useDialogStyle.d.ts +1 -1
  349. package/build/typescript/DialogTitle/DialogLargeTitle.d.ts +9 -0
  350. package/build/typescript/DialogTitle/DialogTitle.d.ts +6 -1
  351. package/build/typescript/Divider/DividerProps.d.ts +1 -1
  352. package/build/typescript/Flexbox/FlexboxProps.d.ts +4 -0
  353. package/build/typescript/IconButton/IconButtonProps.d.ts +1 -1
  354. package/build/typescript/ListItem/ListItem.d.ts +1 -1
  355. package/build/typescript/ListItem/ListItemProps.d.ts +4 -0
  356. package/build/typescript/ListItemText/ListItemTextProps.d.ts +2 -9
  357. package/build/typescript/Pagination/PaginationProps.d.ts +12 -0
  358. package/build/typescript/Pagination/index.d.ts +2 -2
  359. package/build/typescript/PaginationItem/PaginationItemProps.d.ts +6 -0
  360. package/build/typescript/Section/Section.d.ts +3 -0
  361. package/build/typescript/Section/SectionProps.d.ts +6 -0
  362. package/build/typescript/Section/index.d.ts +2 -0
  363. package/build/typescript/Tab/TabProps.d.ts +21 -2
  364. package/build/typescript/Tab/index.d.ts +2 -1
  365. package/build/typescript/Tab/useVariantStyleMap.d.ts +4 -2
  366. package/build/typescript/TabBase/TabBaseProps.d.ts +0 -5
  367. package/build/typescript/Tabs/Tabs.d.ts +1 -1
  368. package/build/typescript/Tabs/TabsProps.d.ts +6 -1
  369. package/build/typescript/Tabs/index.d.ts +1 -1
  370. package/build/typescript/Tabs/useTabsStyle.d.ts +8 -0
  371. package/build/typescript/TextField/useVariantStyleMap.d.ts +2 -0
  372. package/build/typescript/Toolbar/BackButton/BackButton.d.ts +3 -0
  373. package/build/typescript/Toolbar/BackButton/BackButtonProps.d.ts +4 -0
  374. package/build/typescript/Toolbar/BackButton/index.d.ts +2 -0
  375. package/build/typescript/Toolbar/Toolbar.d.ts +6 -1
  376. package/build/typescript/Tooltip/Beaks/index.d.ts +4 -0
  377. package/build/typescript/Tooltip/index.d.ts +1 -0
  378. package/build/typescript/Typography/TypographyProps.d.ts +4 -0
  379. package/build/typescript/hooks/useCollapsibleAppBar.d.ts +0 -1
  380. package/build/typescript/hooks/useContentContainerStyle.d.ts +5 -8
  381. package/build/typescript/index.d.ts +2 -0
  382. package/build/typescript/internal/icons/AppBarChevronLeft.d.ts +131 -0
  383. package/build/typescript/internal/icons/ChipClose.d.ts +131 -0
  384. package/build/typescript/internal/icons/index.d.ts +2 -0
  385. package/package.json +5 -5
  386. package/src/Accordion/Accordion.tsx +18 -9
  387. package/src/Accordion/AccordionProps.ts +4 -2
  388. package/src/Accordion/useVariantStyleMap.ts +14 -6
  389. package/src/AppBar/AppBar.tsx +5 -1
  390. package/src/Badge/Badge.tsx +4 -3
  391. package/src/Badge/BadgeProps.ts +12 -6
  392. package/src/Badge/useVariantStyleMap.ts +2 -2
  393. package/src/BottomSheetTitle/BottomSheetTitle.tsx +4 -1
  394. package/src/BottomSheetTitle/BottomSheetTitleProps.ts +1 -0
  395. package/src/Button/Button.tsx +28 -12
  396. package/src/Button/ButtonProps.ts +6 -0
  397. package/src/Button/useVariantStyleMap.ts +9 -0
  398. package/src/ButtonBase/ButtonBase.tsx +1 -1
  399. package/src/ButtonBase/index.ts +1 -1
  400. package/src/Checkbox/Checkbox.tsx +11 -8
  401. package/src/Checkbox/useVariantStyleMap.ts +6 -1
  402. package/src/Chip/Chip.tsx +24 -13
  403. package/src/Chip/ChipProps.ts +13 -4
  404. package/src/Chip/index.ts +1 -1
  405. package/src/Chip/useChipStyle.ts +59 -29
  406. package/src/Dialog/Dialog.tsx +12 -11
  407. package/src/Dialog/DialogProps.ts +1 -7
  408. package/src/Dialog/useDialogSectionStyle.ts +6 -4
  409. package/src/Dialog/useDialogStyle.ts +19 -7
  410. package/src/DialogActions/DialogActions.tsx +0 -1
  411. package/src/DialogTitle/DialogLargeTitle.tsx +95 -0
  412. package/src/DialogTitle/DialogTitle.tsx +6 -1
  413. package/src/Divider/Divider.tsx +5 -0
  414. package/src/Divider/DividerProps.ts +1 -1
  415. package/src/Empty/Empty.tsx +1 -1
  416. package/src/Flexbox/Flexbox.tsx +2 -0
  417. package/src/Flexbox/FlexboxProps.ts +5 -0
  418. package/src/IconButton/IconButton.tsx +2 -0
  419. package/src/IconButton/IconButtonProps.ts +1 -0
  420. package/src/Image/Image.tsx +3 -3
  421. package/src/ImageCore/ImageCoreNative.tsx +1 -1
  422. package/src/ListItem/ListItem.tsx +61 -30
  423. package/src/ListItem/ListItemProps.ts +5 -0
  424. package/src/ListItemIcon/ListItemIcon.tsx +1 -2
  425. package/src/ListItemSecondaryAction/ListItemSecondaryAction.tsx +2 -0
  426. package/src/ListItemText/ListItemText.tsx +20 -28
  427. package/src/ListItemText/ListItemTextProps.ts +2 -10
  428. package/src/ListSubheader/ListSubheader.tsx +1 -1
  429. package/src/Pagination/NumberPagination.tsx +7 -2
  430. package/src/Pagination/Pagination.tsx +3 -2
  431. package/src/Pagination/PaginationProps.ts +15 -0
  432. package/src/Pagination/index.ts +2 -2
  433. package/src/PaginationItem/PaginationItem.tsx +31 -24
  434. package/src/PaginationItem/PaginationItemProps.ts +7 -0
  435. package/src/Radio/Radio.tsx +12 -3
  436. package/src/RadioGroup/RadioGroup.tsx +2 -28
  437. package/src/Section/Section.tsx +26 -0
  438. package/src/Section/SectionProps.ts +6 -0
  439. package/src/Section/index.ts +2 -0
  440. package/src/ShadowView/ShadowView.native.tsx +4 -0
  441. package/src/SnackbarContent/SnackbarContent.tsx +36 -15
  442. package/src/Tab/Tab.tsx +32 -22
  443. package/src/Tab/TabProps.ts +25 -2
  444. package/src/Tab/index.ts +2 -1
  445. package/src/Tab/useVariantStyleMap.ts +72 -19
  446. package/src/TabBase/TabBase.tsx +1 -9
  447. package/src/TabBase/TabBaseProps.ts +0 -6
  448. package/src/Tabs/Tabs.tsx +26 -8
  449. package/src/Tabs/TabsProps.ts +7 -1
  450. package/src/Tabs/index.ts +1 -1
  451. package/src/Tabs/useTabsStyle.ts +77 -0
  452. package/src/TextField/TextField.tsx +69 -26
  453. package/src/TextField/useVariantStyleMap.ts +29 -27
  454. package/src/Toolbar/BackButton/BackButton.tsx +44 -0
  455. package/src/Toolbar/BackButton/BackButtonProps.ts +4 -0
  456. package/src/Toolbar/BackButton/index.ts +2 -0
  457. package/src/Toolbar/Toolbar.tsx +6 -1
  458. package/src/Tooltip/Beaks/index.ts +4 -0
  459. package/src/Tooltip/Tooltip.tsx +4 -9
  460. package/src/Tooltip/index.ts +1 -0
  461. package/src/Typography/Typography.tsx +3 -1
  462. package/src/Typography/TypographyProps.ts +5 -0
  463. package/src/hooks/useBreakpointUp.ts +3 -1
  464. package/src/hooks/useCollapsibleAppBar.ts +4 -23
  465. package/src/hooks/useContentContainerStyle.ts +43 -31
  466. package/src/hooks/useFadeInAppBar.ts +2 -2
  467. package/src/index.ts +3 -0
  468. package/src/internal/icons/AppBarChevronLeft.tsx +15 -0
  469. package/src/internal/icons/ChevronLeft.tsx +4 -1
  470. package/src/internal/icons/ChevronRight.tsx +4 -1
  471. package/src/internal/icons/ChipClose.tsx +13 -0
  472. package/src/internal/icons/Clear.tsx +3 -3
  473. package/src/internal/icons/Close.tsx +4 -1
  474. package/src/internal/icons/Search.tsx +2 -2
  475. package/src/internal/icons/index.ts +2 -0
  476. package/build/commonjs/ButtonBase/LegacyButtonBase.js +0 -126
  477. package/build/commonjs/ButtonBase/LegacyButtonBase.js.map +0 -1
  478. package/build/module/ButtonBase/LegacyButtonBase.js +0 -106
  479. package/build/module/ButtonBase/LegacyButtonBase.js.map +0 -1
  480. package/build/typescript/ButtonBase/LegacyButtonBase.d.ts +0 -5
  481. package/src/ButtonBase/LegacyButtonBase.tsx +0 -135
@@ -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 { ChipClose } 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,32 @@ export default function Chip(props) {
20
22
  } = props;
21
23
  const {
22
24
  container: containerStyle,
23
- endElement: endElementStyle,
25
+ closeButtonContainer: closeButtonContainerStyle,
26
+ closeIconSize,
24
27
  label: labelStyle,
25
- startElement: startElementStyle
26
- } = useChipStyle(size, startElementVariant, !!endElementProp);
28
+ startElement: startElementStyle,
29
+ startElementContainer: startElementContainerStyle
30
+ } = useChipStyle(size, startElementVariant, color, selected);
27
31
  const chipStyle = css([containerStyle, styleProp]);
28
- const startElement = startElementVariant === 'icon' ? /*#__PURE__*/React.createElement(View, {
32
+ const startElement = /*#__PURE__*/React.createElement(View, {
33
+ style: startElementContainerStyle
34
+ }, cloneElementSafely(startElementProp, {
29
35
  style: startElementStyle
30
- }, cloneElementSafely(startElementProp)) : cloneElementSafely(startElementProp, {
31
- style: startElementStyle
32
- });
33
- const endElement = cloneElementSafely(endElementProp, {
34
- style: endElementStyle
35
- });
36
+ }));
36
37
  return /*#__PURE__*/React.createElement(ButtonBase, _extends({
38
+ disabled: !onPress,
37
39
  onPress: onPress,
38
40
  style: chipStyle
39
41
  }, otherProps), startElement, /*#__PURE__*/React.createElement(Text, {
40
42
  children: children,
41
43
  numberOfLines: numberOfLines,
42
44
  style: labelStyle
43
- }), endElement);
45
+ }), selected ? /*#__PURE__*/React.createElement(View, {
46
+ style: closeButtonContainerStyle
47
+ }, /*#__PURE__*/React.createElement(ChipClose, {
48
+ color: 'baseInverse',
49
+ height: closeIconSize === null || closeIconSize === void 0 ? void 0 : closeIconSize.height,
50
+ width: closeIconSize === null || closeIconSize === void 0 ? void 0 : closeIconSize.width
51
+ })) : null);
44
52
  }
45
53
  //# sourceMappingURL=Chip.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","css","cloneElementSafely","ButtonBase","useChipStyle","Chip","props","children","endElement","endElementProp","numberOfLines","onPress","size","startElement","startElementProp","startElementVariant","style","styleProp","otherProps","container","containerStyle","endElementStyle","label","labelStyle","startElementStyle","chipStyle"],"sources":["Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { css } from '../styles';\nimport { cloneElementSafely } from '../utils';\nimport ButtonBase from '../ButtonBase/ButtonBase';\nimport type ChipProps from './ChipProps';\nimport type { ChipSize } from './ChipProps';\nimport useChipStyle from './useChipStyle';\n\nexport default function Chip(props: ChipProps) {\n const {\n children,\n endElement: endElementProp,\n numberOfLines,\n onPress,\n size = 'small' as ChipSize,\n startElement: startElementProp,\n startElementVariant = 'default',\n style: styleProp,\n ...otherProps\n } = props;\n\n const {\n container: containerStyle,\n endElement: endElementStyle,\n label: labelStyle,\n startElement: startElementStyle,\n } = useChipStyle(size, startElementVariant, !!endElementProp);\n\n const chipStyle = css([\n containerStyle,\n styleProp,\n ]);\n\n const startElement = startElementVariant === 'icon'\n ? (\n <View style={startElementStyle}>\n {cloneElementSafely(startElementProp)}\n </View>\n ) : cloneElementSafely(startElementProp, { style: startElementStyle });\n const endElement = cloneElementSafely(endElementProp, { style: endElementStyle });\n\n return (\n <ButtonBase\n onPress={onPress}\n style={chipStyle}\n {...otherProps}\n >\n {startElement}\n\n <Text\n children={children}\n numberOfLines={numberOfLines}\n style={labelStyle}\n />\n\n {endElement}\n </ButtonBase>\n );\n}\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AACA,SAASC,GAAT,QAAoB,WAApB;AACA,SAASC,kBAAT,QAAmC,UAAnC;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AAGA,OAAOC,YAAP,MAAyB,gBAAzB;AAEA,eAAe,SAASC,IAAT,CAAcC,KAAd,EAAgC;EAC3C,MAAM;IACFC,QADE;IAEFC,UAAU,EAAEC,cAFV;IAGFC,aAHE;IAIFC,OAJE;IAKFC,IAAI,GAAG,OALL;IAMFC,YAAY,EAAEC,gBANZ;IAOFC,mBAAmB,GAAG,SAPpB;IAQFC,KAAK,EAAEC,SARL;IASF,GAAGC;EATD,IAUFZ,KAVJ;EAYA,MAAM;IACFa,SAAS,EAAEC,cADT;IAEFZ,UAAU,EAAEa,eAFV;IAGFC,KAAK,EAAEC,UAHL;IAIFV,YAAY,EAAEW;EAJZ,IAKFpB,YAAY,CAACQ,IAAD,EAAOG,mBAAP,EAA4B,CAAC,CAACN,cAA9B,CALhB;EAOA,MAAMgB,SAAS,GAAGxB,GAAG,CAAC,CAClBmB,cADkB,EAElBH,SAFkB,CAAD,CAArB;EAKA,MAAMJ,YAAY,GAAGE,mBAAmB,KAAK,MAAxB,gBAEb,oBAAC,IAAD;IAAM,KAAK,EAAES;EAAb,GACKtB,kBAAkB,CAACY,gBAAD,CADvB,CAFa,GAKbZ,kBAAkB,CAACY,gBAAD,EAAmB;IAAEE,KAAK,EAAEQ;EAAT,CAAnB,CAL1B;EAMA,MAAMhB,UAAU,GAAGN,kBAAkB,CAACO,cAAD,EAAiB;IAAEO,KAAK,EAAEK;EAAT,CAAjB,CAArC;EAEA,oBACI,oBAAC,UAAD;IACI,OAAO,EAAEV,OADb;IAEI,KAAK,EAAEc;EAFX,GAGQP,UAHR,GAKKL,YALL,eAOI,oBAAC,IAAD;IACI,QAAQ,EAAEN,QADd;IAEI,aAAa,EAAEG,aAFnB;IAGI,KAAK,EAAEa;EAHX,EAPJ,EAaKf,UAbL,CADJ;AAiBH"}
1
+ {"version":3,"names":["React","Text","View","ButtonBase","ChipClose","css","cloneElementSafely","useChipStyle","Chip","props","children","color","numberOfLines","onPress","selected","size","startElement","startElementProp","startElementVariant","style","styleProp","otherProps","container","containerStyle","closeButtonContainer","closeButtonContainerStyle","closeIconSize","label","labelStyle","startElementStyle","startElementContainer","startElementContainerStyle","chipStyle","height","width"],"sources":["Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport ButtonBase from '../ButtonBase';\nimport { ChipClose } from '../internal';\nimport { css } from '../styles';\nimport { cloneElementSafely } from '../utils';\nimport type ChipProps from './ChipProps';\nimport type { ChipColor, ChipSize } from './ChipProps';\nimport useChipStyle from './useChipStyle';\n\nexport default function Chip(props: ChipProps) {\n const {\n children,\n color = 'default' as ChipColor,\n numberOfLines,\n onPress,\n selected = false,\n size = 'small' as ChipSize,\n startElement: startElementProp,\n startElementVariant = 'default',\n style: styleProp,\n ...otherProps\n } = props;\n\n const {\n container: containerStyle,\n closeButtonContainer: closeButtonContainerStyle,\n closeIconSize,\n label: labelStyle,\n startElement: startElementStyle,\n startElementContainer: startElementContainerStyle,\n } = useChipStyle(size, startElementVariant, color, selected);\n\n const chipStyle = css([\n containerStyle,\n styleProp,\n ]);\n\n const startElement = (\n <View style={startElementContainerStyle}>\n {cloneElementSafely(startElementProp, { style: startElementStyle })}\n </View>\n );\n\n return (\n <ButtonBase\n disabled={!onPress}\n onPress={onPress}\n style={chipStyle}\n {...otherProps}\n >\n {startElement}\n\n <Text\n children={children}\n numberOfLines={numberOfLines}\n style={labelStyle}\n />\n\n {selected ? (\n <View style={closeButtonContainerStyle}>\n <ChipClose\n color={'baseInverse'}\n height={closeIconSize?.height}\n width={closeIconSize?.width}\n />\n </View>\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,SAAT,QAA0B,aAA1B;AACA,SAASC,GAAT,QAAoB,WAApB;AACA,SAASC,kBAAT,QAAmC,UAAnC;AAGA,OAAOC,YAAP,MAAyB,gBAAzB;AAEA,eAAe,SAASC,IAAT,CAAcC,KAAd,EAAgC;EAC3C,MAAM;IACFC,QADE;IAEFC,KAAK,GAAG,SAFN;IAGFC,aAHE;IAIFC,OAJE;IAKFC,QAAQ,GAAG,KALT;IAMFC,IAAI,GAAG,OANL;IAOFC,YAAY,EAAEC,gBAPZ;IAQFC,mBAAmB,GAAG,SARpB;IASFC,KAAK,EAAEC,SATL;IAUF,GAAGC;EAVD,IAWFZ,KAXJ;EAaA,MAAM;IACFa,SAAS,EAAEC,cADT;IAEFC,oBAAoB,EAAEC,yBAFpB;IAGFC,aAHE;IAIFC,KAAK,EAAEC,UAJL;IAKFZ,YAAY,EAAEa,iBALZ;IAMFC,qBAAqB,EAAEC;EANrB,IAOFxB,YAAY,CAACQ,IAAD,EAAOG,mBAAP,EAA4BP,KAA5B,EAAmCG,QAAnC,CAPhB;EASA,MAAMkB,SAAS,GAAG3B,GAAG,CAAC,CAClBkB,cADkB,EAElBH,SAFkB,CAAD,CAArB;EAKA,MAAMJ,YAAY,gBACd,oBAAC,IAAD;IAAM,KAAK,EAAEe;EAAb,GACKzB,kBAAkB,CAACW,gBAAD,EAAmB;IAAEE,KAAK,EAAEU;EAAT,CAAnB,CADvB,CADJ;EAMA,oBACI,oBAAC,UAAD;IACI,QAAQ,EAAE,CAAChB,OADf;IAEI,OAAO,EAAEA,OAFb;IAGI,KAAK,EAAEmB;EAHX,GAIQX,UAJR,GAMKL,YANL,eAQI,oBAAC,IAAD;IACI,QAAQ,EAAEN,QADd;IAEI,aAAa,EAAEE,aAFnB;IAGI,KAAK,EAAEgB;EAHX,EARJ,EAcKd,QAAQ,gBACL,oBAAC,IAAD;IAAM,KAAK,EAAEW;EAAb,gBACI,oBAAC,SAAD;IACI,KAAK,EAAE,aADX;IAEI,MAAM,EAAEC,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEO,MAF3B;IAGI,KAAK,EAAEP,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEQ;EAH1B,EADJ,CADK,GAQL,IAtBR,CADJ;AA0BH"}
@@ -1,3 +1,4 @@
1
+ export const chipColors = ['default', 'white'];
1
2
  export const chipSizes = ['large', 'small'];
2
3
  export const chipStartElementVariants = ['default', 'avatar', 'image', 'icon'];
3
4
  //# sourceMappingURL=ChipProps.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["chipSizes","chipStartElementVariants"],"sources":["ChipProps.ts"],"sourcesContent":["import React from 'react';\nimport { OverridableComponentProps } from '../types';\nimport type { ButtonBaseProps } from '../ButtonBase';\n\nexport const chipSizes = ['large', 'small'] as const;\nexport type ChipSize = typeof chipSizes[number];\n\nexport const chipStartElementVariants = ['default', 'avatar', 'image', 'icon'] as const;\nexport type ChipStartElementVariant = typeof chipStartElementVariants[number];\n\nexport default interface ChipProps extends OverridableComponentProps<ButtonBaseProps, {\n /**\n * Element placed after the children.\n */\n endElement?: React.ReactElement;\n\n /**\n * The content of the component.\n */\n children: string;\n\n /**\n * Number of lines of children.\n */\n numberOfLines?: number;\n\n /**\n * Determines size of component.\n * @default 'small'\n */\n size?: ChipSize;\n\n /**\n * Element placed before the children.\n */\n startElement?: React.ReactElement;\n\n /**\n * Determines the style of the start element.\n */\n startElementVariant?: ChipStartElementVariant;\n}> {}\n"],"mappings":"AAIA,OAAO,MAAMA,SAAS,GAAG,CAAC,OAAD,EAAU,OAAV,CAAlB;AAGP,OAAO,MAAMC,wBAAwB,GAAG,CAAC,SAAD,EAAY,QAAZ,EAAsB,OAAtB,EAA+B,MAA/B,CAAjC"}
1
+ {"version":3,"names":["chipColors","chipSizes","chipStartElementVariants"],"sources":["ChipProps.ts"],"sourcesContent":["import React from 'react';\nimport { OverridableComponentProps } from '../types';\nimport type { ButtonBaseProps } from '../ButtonBase';\n\nexport const chipColors = ['default', 'white'] as const;\nexport type ChipColor = typeof chipColors[number];\n\nexport const chipSizes = ['large', 'small'] as const;\nexport type ChipSize = typeof chipSizes[number];\n\nexport const chipStartElementVariants = ['default', 'avatar', 'image', 'icon'] as const;\nexport type ChipStartElementVariant = typeof chipStartElementVariants[number];\n\nexport default interface ChipProps extends OverridableComponentProps<ButtonBaseProps, {\n /**\n * The content of the component.\n */\n children: string;\n\n /**\n * Set backgroundColor of the component.\n * @default 'default'\n */\n color?: ChipColor;\n\n /**\n * Number of lines of children.\n */\n numberOfLines?: number;\n\n /**\n * If `true`, showing a close icon and applying a highlighted style.\n */\n selected?: boolean;\n\n /**\n * Determines size of component.\n * @default 'small'\n */\n size?: ChipSize;\n\n /**\n * Element placed before the children.\n */\n startElement?: React.ReactElement;\n\n /**\n * Determines the style of the start element.\n */\n startElementVariant?: ChipStartElementVariant;\n}> {}\n"],"mappings":"AAIA,OAAO,MAAMA,UAAU,GAAG,CAAC,SAAD,EAAY,OAAZ,CAAnB;AAGP,OAAO,MAAMC,SAAS,GAAG,CAAC,OAAD,EAAU,OAAV,CAAlB;AAGP,OAAO,MAAMC,wBAAwB,GAAG,CAAC,SAAD,EAAY,QAAZ,EAAsB,OAAtB,EAA+B,MAA/B,CAAjC"}
@@ -1,3 +1,3 @@
1
1
  export { default } from './Chip';
2
- export { chipSizes, chipStartElementVariants } from './ChipProps';
2
+ export { chipColors, chipSizes, chipStartElementVariants } from './ChipProps';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","chipSizes","chipStartElementVariants"],"sources":["index.ts"],"sourcesContent":["export { default } from './Chip';\nexport type { default as ChipProps } from './ChipProps';\nexport { chipSizes, chipStartElementVariants } from './ChipProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB;AAEA,SAASC,SAAT,EAAoBC,wBAApB,QAAoD,aAApD"}
1
+ {"version":3,"names":["default","chipColors","chipSizes","chipStartElementVariants"],"sources":["index.ts"],"sourcesContent":["export { default } from './Chip';\nexport type { default as ChipProps } from './ChipProps';\nexport { chipColors, chipSizes, chipStartElementVariants } from './ChipProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB;AAEA,SAASC,UAAT,EAAqBC,SAArB,EAAgCC,wBAAhC,QAAgE,aAAhE"}
@@ -1,36 +1,44 @@
1
1
  import { useMemo } from 'react';
2
2
  import { createFontStyle, useTheme } from '../styles';
3
- // TODO: need to refactoring...
4
- export default function useChipStyle(size, startElementVariant, isEndElement) {
3
+ const closeButtonContainerStyleMap = {
4
+ small: {
5
+ marginLeft: 8,
6
+ paddingTop: 1
7
+ },
8
+ large: {
9
+ marginLeft: 10,
10
+ paddingTop: 1
11
+ }
12
+ };
13
+ const closeIconSize = {
14
+ small: {
15
+ height: 14,
16
+ width: 8.17
17
+ },
18
+ large: {
19
+ height: 16,
20
+ width: 9
21
+ }
22
+ }; // TODO: need to refactoring...
23
+
24
+ export default function useChipStyle(size, startElementVariant, color, selected) {
5
25
  const theme = useTheme();
6
26
  return useMemo(() => {
7
- var _variantStyleMap$star, _variantStyleMap$star2;
27
+ var _variantStyleMap$star, _variantStyleMap$star2, _variantStyleMap$star3;
8
28
 
9
29
  const fontStyleMap = {
10
30
  small: createFontStyle(theme, {
11
31
  selector: typography => typography.caption1.medium,
12
- color: theme.palette.text.strong
32
+ color: selected ? theme.palette.text.strongInverse : theme.palette.text.strong
13
33
  }),
14
34
  large: createFontStyle(theme, {
15
35
  selector: typography => typography.body2.medium,
16
- color: theme.palette.text.strong
36
+ color: selected ? theme.palette.text.strongInverse : theme.palette.text.strong
17
37
  })
18
38
  };
19
- const endElementStyleMap = {
20
- small: {
21
- height: 14,
22
- marginLeft: theme.spacing(2),
23
- width: 8.17
24
- },
25
- large: {
26
- height: 16,
27
- marginLeft: theme.spacing(2.5),
28
- width: 9
29
- }
30
- };
31
39
  const baseContainerStyle = {
32
40
  alignItems: 'center',
33
- backgroundColor: theme.palette.fill.weaker,
41
+ backgroundColor: selected ? theme.palette.fill.base : color === 'white' ? theme.palette.surface.base : theme.palette.fill.weaker,
34
42
  borderRadius: theme.shape.radius.full,
35
43
  flexDirection: 'row',
36
44
  overflow: 'hidden'
@@ -45,9 +53,11 @@ export default function useChipStyle(size, startElementVariant, isEndElement) {
45
53
  },
46
54
  startElement: {
47
55
  borderRadius: theme.shape.radius.full,
48
- height: isLarge ? 24 : 22,
49
- marginRight: theme.spacing(isLarge ? 1.5 : 1.25),
50
- width: isLarge ? 24 : 22
56
+ height: isLarge ? 26 : 23,
57
+ width: isLarge ? 26 : 23
58
+ },
59
+ startElementContainer: {
60
+ marginRight: theme.spacing(isLarge ? 1.5 : 1.25)
51
61
  }
52
62
  },
53
63
  icon: {
@@ -57,11 +67,16 @@ export default function useChipStyle(size, startElementVariant, isEndElement) {
57
67
  paddingVertical: theme.spacing(isLarge ? 1.5 : 1.25)
58
68
  },
59
69
  startElement: {
70
+ color: selected ? theme.palette.icon.strongInverse : theme.palette.icon.strong,
71
+ height: isLarge ? 17 : 16,
72
+ width: isLarge ? 17 : 16
73
+ },
74
+ startElementContainer: {
60
75
  alignItems: 'center',
61
- height: isLarge ? 22 : 20,
76
+ height: isLarge ? 24 : 21,
62
77
  justifyContent: 'center',
63
78
  marginRight: theme.spacing(isLarge ? 1 : 0.75),
64
- width: isLarge ? 22 : 20
79
+ width: isLarge ? 24 : 21
65
80
  }
66
81
  },
67
82
  image: {
@@ -71,15 +86,18 @@ export default function useChipStyle(size, startElementVariant, isEndElement) {
71
86
  },
72
87
  startElement: {
73
88
  borderRadius: theme.shape.radius.full,
74
- height: isLarge ? 34 : 30,
75
- marginRight: theme.spacing(1.5),
76
- width: isLarge ? 45 : 40
89
+ height: isLarge ? 36 : 31,
90
+ width: isLarge ? 48 : 40
91
+ },
92
+ startElementContainer: {
93
+ marginRight: theme.spacing(1.5)
77
94
  }
78
95
  },
79
96
  default: {
80
97
  container: {
81
98
  paddingBottom: theme.spacing(1.75),
82
- paddingHorizontal: theme.spacing(isLarge ? 3.5 : 3),
99
+ paddingLeft: theme.spacing(isLarge ? 3.5 : 3),
100
+ paddingRight: theme.spacing(isLarge ? 3.5 : 3),
83
101
  paddingTop: theme.spacing(1.5)
84
102
  }
85
103
  }
@@ -87,14 +105,16 @@ export default function useChipStyle(size, startElementVariant, isEndElement) {
87
105
  return {
88
106
  container: { ...baseContainerStyle,
89
107
  ...((_variantStyleMap$star = variantStyleMap[startElementVariant]) === null || _variantStyleMap$star === void 0 ? void 0 : _variantStyleMap$star.container),
90
- ...(isEndElement ? {
108
+ ...(selected ? {
91
109
  paddingRight: theme.spacing(isLarge ? 2.5 : 2.25)
92
110
  } : {})
93
111
  },
94
- endElement: endElementStyleMap[size],
112
+ closeButtonContainer: closeButtonContainerStyleMap[size],
113
+ closeIconSize: closeIconSize[size],
95
114
  label: fontStyleMap[size],
96
- startElement: (_variantStyleMap$star2 = variantStyleMap[startElementVariant]) === null || _variantStyleMap$star2 === void 0 ? void 0 : _variantStyleMap$star2.startElement
115
+ startElement: (_variantStyleMap$star2 = variantStyleMap[startElementVariant]) === null || _variantStyleMap$star2 === void 0 ? void 0 : _variantStyleMap$star2.startElement,
116
+ startElementContainer: (_variantStyleMap$star3 = variantStyleMap[startElementVariant]) === null || _variantStyleMap$star3 === void 0 ? void 0 : _variantStyleMap$star3.startElementContainer
97
117
  };
98
- }, [theme, size, startElementVariant]);
118
+ }, [theme, size, startElementVariant, color, selected]);
99
119
  }
100
120
  //# sourceMappingURL=useChipStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","createFontStyle","useTheme","useChipStyle","size","startElementVariant","isEndElement","theme","fontStyleMap","small","selector","typography","caption1","medium","color","palette","text","strong","large","body2","endElementStyleMap","height","marginLeft","spacing","width","baseContainerStyle","alignItems","backgroundColor","fill","weaker","borderRadius","shape","radius","full","flexDirection","overflow","isLarge","variantStyleMap","avatar","container","paddingLeft","paddingRight","paddingVertical","startElement","marginRight","icon","justifyContent","image","default","paddingBottom","paddingHorizontal","paddingTop","endElement","label"],"sources":["useChipStyle.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { ChipSize, ChipStartElementVariant } from './ChipProps';\n\ninterface ChipStyle {\n container: FountainUiStyle;\n endElement?: FountainUiStyle;\n label: TextStyle;\n startElement?: FountainUiStyle;\n}\n\ntype VariantStyleMap = Record<ChipStartElementVariant, Partial<ChipStyle>>;\n\n// TODO: need to refactoring...\nexport default function useChipStyle(\n size: ChipSize,\n startElementVariant: ChipStartElementVariant,\n isEndElement: boolean,\n): ChipStyle {\n const theme = useTheme();\n\n return useMemo<ChipStyle>(() => {\n const fontStyleMap: Record<ChipSize, TextStyle> = {\n small: createFontStyle(theme, {\n selector: (typography) => typography.caption1.medium,\n color: theme.palette.text.strong,\n }),\n large: createFontStyle(theme, {\n selector: (typography) => typography.body2.medium,\n color: theme.palette.text.strong,\n }),\n };\n\n const endElementStyleMap: Record<ChipSize, FountainUiStyle> = {\n small: {\n height: 14,\n marginLeft: theme.spacing(2),\n width: 8.17,\n },\n large: {\n height: 16,\n marginLeft: theme.spacing(2.5),\n width: 9,\n },\n };\n\n const baseContainerStyle: FountainUiStyle = {\n alignItems: 'center',\n backgroundColor: theme.palette.fill.weaker,\n borderRadius: theme.shape.radius.full,\n flexDirection: 'row',\n overflow: 'hidden',\n };\n\n const isLarge = size === 'large';\n\n const variantStyleMap: VariantStyleMap = {\n avatar: {\n container: {\n paddingLeft: theme.spacing(isLarge ? 1.5 : 1.25),\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n paddingVertical: theme.spacing(isLarge ? 1.25 : 1),\n },\n startElement: {\n borderRadius: theme.shape.radius.full,\n height: isLarge ? 24 : 22,\n marginRight: theme.spacing(isLarge ? 1.5 : 1.25),\n width: isLarge ? 24 : 22,\n },\n },\n icon: {\n container: {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n paddingVertical: theme.spacing(isLarge ? 1.5 : 1.25),\n },\n startElement: {\n alignItems: 'center',\n height: isLarge ? 22 : 20,\n justifyContent: 'center',\n marginRight: theme.spacing(isLarge ? 1 : 0.75),\n width: isLarge ? 22 : 20,\n },\n },\n image: {\n container: {\n alignItems: 'center',\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n },\n startElement: {\n borderRadius: theme.shape.radius.full,\n height: isLarge ? 34 : 30,\n marginRight: theme.spacing(1.5),\n width: isLarge ? 45 : 40,\n },\n },\n default: {\n container: {\n paddingBottom: theme.spacing(1.75),\n paddingHorizontal: theme.spacing(isLarge ? 3.5 : 3),\n paddingTop: theme.spacing(1.5),\n },\n },\n };\n\n return {\n container: {\n ...baseContainerStyle,\n ...variantStyleMap[startElementVariant]?.container,\n ...(isEndElement ? { paddingRight: theme.spacing(isLarge ? 2.5 : 2.25) } : {}),\n },\n endElement: endElementStyleMap[size],\n label: fontStyleMap[size],\n startElement: variantStyleMap[startElementVariant]?.startElement,\n };\n }, [theme, size, startElementVariant]);\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAGA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,WAA1C;AAYA;AACA,eAAe,SAASC,YAAT,CACXC,IADW,EAEXC,mBAFW,EAGXC,YAHW,EAIF;EACT,MAAMC,KAAK,GAAGL,QAAQ,EAAtB;EAEA,OAAOF,OAAO,CAAY,MAAM;IAAA;;IAC5B,MAAMQ,YAAyC,GAAG;MAC9CC,KAAK,EAAER,eAAe,CAACM,KAAD,EAAQ;QAC1BG,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,QAAX,CAAoBC,MADpB;QAE1BC,KAAK,EAAEP,KAAK,CAACQ,OAAN,CAAcC,IAAd,CAAmBC;MAFA,CAAR,CADwB;MAK9CC,KAAK,EAAEjB,eAAe,CAACM,KAAD,EAAQ;QAC1BG,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACQ,KAAX,CAAiBN,MADjB;QAE1BC,KAAK,EAAEP,KAAK,CAACQ,OAAN,CAAcC,IAAd,CAAmBC;MAFA,CAAR;IALwB,CAAlD;IAWA,MAAMG,kBAAqD,GAAG;MAC1DX,KAAK,EAAE;QACHY,MAAM,EAAE,EADL;QAEHC,UAAU,EAAEf,KAAK,CAACgB,OAAN,CAAc,CAAd,CAFT;QAGHC,KAAK,EAAE;MAHJ,CADmD;MAM1DN,KAAK,EAAE;QACHG,MAAM,EAAE,EADL;QAEHC,UAAU,EAAEf,KAAK,CAACgB,OAAN,CAAc,GAAd,CAFT;QAGHC,KAAK,EAAE;MAHJ;IANmD,CAA9D;IAaA,MAAMC,kBAAmC,GAAG;MACxCC,UAAU,EAAE,QAD4B;MAExCC,eAAe,EAAEpB,KAAK,CAACQ,OAAN,CAAca,IAAd,CAAmBC,MAFI;MAGxCC,YAAY,EAAEvB,KAAK,CAACwB,KAAN,CAAYC,MAAZ,CAAmBC,IAHO;MAIxCC,aAAa,EAAE,KAJyB;MAKxCC,QAAQ,EAAE;IAL8B,CAA5C;IAQA,MAAMC,OAAO,GAAGhC,IAAI,KAAK,OAAzB;IAEA,MAAMiC,eAAgC,GAAG;MACrCC,MAAM,EAAE;QACJC,SAAS,EAAE;UACPC,WAAW,EAAEjC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,IAA9B,CADN;UAEPK,YAAY,EAAElC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,CAA9B,CAFP;UAGPM,eAAe,EAAEnC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,IAAH,GAAU,CAA/B;QAHV,CADP;QAMJO,YAAY,EAAE;UACVb,YAAY,EAAEvB,KAAK,CAACwB,KAAN,CAAYC,MAAZ,CAAmBC,IADvB;UAEVZ,MAAM,EAAEe,OAAO,GAAG,EAAH,GAAQ,EAFb;UAGVQ,WAAW,EAAErC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,IAA9B,CAHH;UAIVZ,KAAK,EAAEY,OAAO,GAAG,EAAH,GAAQ;QAJZ;MANV,CAD6B;MAcrCS,IAAI,EAAE;QACFN,SAAS,EAAE;UACPC,WAAW,EAAEjC,KAAK,CAACgB,OAAN,CAAc,GAAd,CADN;UAEPkB,YAAY,EAAElC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,CAA9B,CAFP;UAGPM,eAAe,EAAEnC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,IAA9B;QAHV,CADT;QAMFO,YAAY,EAAE;UACVjB,UAAU,EAAE,QADF;UAEVL,MAAM,EAAEe,OAAO,GAAG,EAAH,GAAQ,EAFb;UAGVU,cAAc,EAAE,QAHN;UAIVF,WAAW,EAAErC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,CAAH,GAAO,IAA5B,CAJH;UAKVZ,KAAK,EAAEY,OAAO,GAAG,EAAH,GAAQ;QALZ;MANZ,CAd+B;MA4BrCW,KAAK,EAAE;QACHR,SAAS,EAAE;UACPb,UAAU,EAAE,QADL;UAEPe,YAAY,EAAElC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,CAA9B;QAFP,CADR;QAKHO,YAAY,EAAE;UACVb,YAAY,EAAEvB,KAAK,CAACwB,KAAN,CAAYC,MAAZ,CAAmBC,IADvB;UAEVZ,MAAM,EAAEe,OAAO,GAAG,EAAH,GAAQ,EAFb;UAGVQ,WAAW,EAAErC,KAAK,CAACgB,OAAN,CAAc,GAAd,CAHH;UAIVC,KAAK,EAAEY,OAAO,GAAG,EAAH,GAAQ;QAJZ;MALX,CA5B8B;MAwCrCY,OAAO,EAAE;QACLT,SAAS,EAAE;UACPU,aAAa,EAAE1C,KAAK,CAACgB,OAAN,CAAc,IAAd,CADR;UAEP2B,iBAAiB,EAAE3C,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,CAA9B,CAFZ;UAGPe,UAAU,EAAE5C,KAAK,CAACgB,OAAN,CAAc,GAAd;QAHL;MADN;IAxC4B,CAAzC;IAiDA,OAAO;MACHgB,SAAS,EAAE,EACP,GAAGd,kBADI;QAEP,6BAAGY,eAAe,CAAChC,mBAAD,CAAlB,0DAAG,sBAAsCkC,SAAzC,CAFO;QAGP,IAAIjC,YAAY,GAAG;UAAEmC,YAAY,EAAElC,KAAK,CAACgB,OAAN,CAAca,OAAO,GAAG,GAAH,GAAS,IAA9B;QAAhB,CAAH,GAA2D,EAA3E;MAHO,CADR;MAMHgB,UAAU,EAAEhC,kBAAkB,CAAChB,IAAD,CAN3B;MAOHiD,KAAK,EAAE7C,YAAY,CAACJ,IAAD,CAPhB;MAQHuC,YAAY,4BAAEN,eAAe,CAAChC,mBAAD,CAAjB,2DAAE,uBAAsCsC;IARjD,CAAP;EAUH,CA9Fa,EA8FX,CAACpC,KAAD,EAAQH,IAAR,EAAcC,mBAAd,CA9FW,CAAd;AA+FH"}
1
+ {"version":3,"names":["useMemo","createFontStyle","useTheme","closeButtonContainerStyleMap","small","marginLeft","paddingTop","large","closeIconSize","height","width","useChipStyle","size","startElementVariant","color","selected","theme","fontStyleMap","selector","typography","caption1","medium","palette","text","strongInverse","strong","body2","baseContainerStyle","alignItems","backgroundColor","fill","base","surface","weaker","borderRadius","shape","radius","full","flexDirection","overflow","isLarge","variantStyleMap","avatar","container","paddingLeft","spacing","paddingRight","paddingVertical","startElement","startElementContainer","marginRight","icon","justifyContent","image","default","paddingBottom","closeButtonContainer","label"],"sources":["useChipStyle.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport type { SvgIconProps } from '../SvgIcon';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { ChipColor, ChipSize, ChipStartElementVariant } from './ChipProps';\n\ninterface ChipStyle {\n container: FountainUiStyle;\n closeButtonContainer?: FountainUiStyle;\n closeIconSize?: Pick<SvgIconProps, 'height' | 'width'>;\n label: TextStyle;\n startElement?: FountainUiStyle;\n startElementContainer?: FountainUiStyle;\n}\n\ntype VariantStyleMap = Record<ChipStartElementVariant, Partial<ChipStyle>>;\n\nconst closeButtonContainerStyleMap: Record<ChipSize, FountainUiStyle> = {\n small: {\n marginLeft: 8,\n paddingTop: 1,\n },\n large: {\n marginLeft: 10,\n paddingTop: 1,\n },\n};\n\nconst closeIconSize: Record<ChipSize, ChipStyle['closeIconSize']> = {\n small: {\n height: 14,\n width: 8.17,\n },\n large: {\n height: 16,\n width: 9,\n },\n};\n\n// TODO: need to refactoring...\nexport default function useChipStyle(\n size: ChipSize,\n startElementVariant: ChipStartElementVariant,\n color: ChipColor,\n selected: boolean,\n): ChipStyle {\n const theme = useTheme();\n\n return useMemo<ChipStyle>(() => {\n const fontStyleMap: Record<ChipSize, TextStyle> = {\n small: createFontStyle(theme, {\n selector: (typography) => typography.caption1.medium,\n color: selected ? theme.palette.text.strongInverse : theme.palette.text.strong,\n }),\n large: createFontStyle(theme, {\n selector: (typography) => typography.body2.medium,\n color: selected ? theme.palette.text.strongInverse : theme.palette.text.strong,\n }),\n };\n\n const baseContainerStyle: FountainUiStyle = {\n alignItems: 'center',\n backgroundColor: selected ? theme.palette.fill.base\n : color === 'white'\n ? theme.palette.surface.base\n : theme.palette.fill.weaker,\n borderRadius: theme.shape.radius.full,\n flexDirection: 'row',\n overflow: 'hidden',\n };\n\n const isLarge = size === 'large';\n\n const variantStyleMap: VariantStyleMap = {\n avatar: {\n container: {\n paddingLeft: theme.spacing(isLarge ? 1.5 : 1.25),\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n paddingVertical: theme.spacing(isLarge ? 1.25 : 1),\n },\n startElement: {\n borderRadius: theme.shape.radius.full,\n height: isLarge ? 26 : 23,\n width: isLarge ? 26 : 23,\n },\n startElementContainer: {\n marginRight: theme.spacing(isLarge ? 1.5 : 1.25),\n },\n },\n icon: {\n container: {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n paddingVertical: theme.spacing(isLarge ? 1.5 : 1.25),\n },\n startElement: {\n color: selected\n ? theme.palette.icon.strongInverse\n : theme.palette.icon.strong,\n height: isLarge ? 17 : 16,\n width: isLarge ? 17 : 16,\n },\n startElementContainer: {\n alignItems: 'center',\n height: isLarge ? 24 : 21,\n justifyContent: 'center',\n marginRight: theme.spacing(isLarge ? 1 : 0.75),\n width: isLarge ? 24 : 21,\n },\n },\n image: {\n container: {\n alignItems: 'center',\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n },\n startElement: {\n borderRadius: theme.shape.radius.full,\n height: isLarge ? 36 : 31,\n width: isLarge ? 48 : 40,\n },\n startElementContainer: {\n marginRight: theme.spacing(1.5),\n },\n },\n default: {\n container: {\n paddingBottom: theme.spacing(1.75),\n paddingLeft: theme.spacing(isLarge ? 3.5 : 3),\n paddingRight: theme.spacing(isLarge ? 3.5 : 3),\n paddingTop: theme.spacing(1.5),\n },\n },\n };\n\n return {\n container: {\n ...baseContainerStyle,\n ...variantStyleMap[startElementVariant]?.container,\n ...(selected ? { paddingRight: theme.spacing(isLarge ? 2.5 : 2.25) } : {}),\n },\n closeButtonContainer: closeButtonContainerStyleMap[size],\n closeIconSize: closeIconSize[size],\n label: fontStyleMap[size],\n startElement: variantStyleMap[startElementVariant]?.startElement,\n startElementContainer: variantStyleMap[startElementVariant]?.startElementContainer,\n };\n }, [theme, size, startElementVariant, color, selected]);\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAIA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,WAA1C;AAcA,MAAMC,4BAA+D,GAAG;EACpEC,KAAK,EAAE;IACHC,UAAU,EAAE,CADT;IAEHC,UAAU,EAAE;EAFT,CAD6D;EAKpEC,KAAK,EAAE;IACHF,UAAU,EAAE,EADT;IAEHC,UAAU,EAAE;EAFT;AAL6D,CAAxE;AAWA,MAAME,aAA2D,GAAG;EAChEJ,KAAK,EAAE;IACHK,MAAM,EAAE,EADL;IAEHC,KAAK,EAAE;EAFJ,CADyD;EAKhEH,KAAK,EAAE;IACHE,MAAM,EAAE,EADL;IAEHC,KAAK,EAAE;EAFJ;AALyD,CAApE,C,CAWA;;AACA,eAAe,SAASC,YAAT,CACXC,IADW,EAEXC,mBAFW,EAGXC,KAHW,EAIXC,QAJW,EAKF;EACT,MAAMC,KAAK,GAAGd,QAAQ,EAAtB;EAEA,OAAOF,OAAO,CAAY,MAAM;IAAA;;IAC5B,MAAMiB,YAAyC,GAAG;MAC9Cb,KAAK,EAAEH,eAAe,CAACe,KAAD,EAAQ;QAC1BE,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACC,QAAX,CAAoBC,MADpB;QAE1BP,KAAK,EAAEC,QAAQ,GAAGC,KAAK,CAACM,OAAN,CAAcC,IAAd,CAAmBC,aAAtB,GAAsCR,KAAK,CAACM,OAAN,CAAcC,IAAd,CAAmBE;MAF9C,CAAR,CADwB;MAK9ClB,KAAK,EAAEN,eAAe,CAACe,KAAD,EAAQ;QAC1BE,QAAQ,EAAGC,UAAD,IAAgBA,UAAU,CAACO,KAAX,CAAiBL,MADjB;QAE1BP,KAAK,EAAEC,QAAQ,GAAGC,KAAK,CAACM,OAAN,CAAcC,IAAd,CAAmBC,aAAtB,GAAsCR,KAAK,CAACM,OAAN,CAAcC,IAAd,CAAmBE;MAF9C,CAAR;IALwB,CAAlD;IAWA,MAAME,kBAAmC,GAAG;MACxCC,UAAU,EAAE,QAD4B;MAExCC,eAAe,EAAEd,QAAQ,GAAGC,KAAK,CAACM,OAAN,CAAcQ,IAAd,CAAmBC,IAAtB,GACnBjB,KAAK,KAAK,OAAV,GACIE,KAAK,CAACM,OAAN,CAAcU,OAAd,CAAsBD,IAD1B,GAEIf,KAAK,CAACM,OAAN,CAAcQ,IAAd,CAAmBG,MALW;MAMxCC,YAAY,EAAElB,KAAK,CAACmB,KAAN,CAAYC,MAAZ,CAAmBC,IANO;MAOxCC,aAAa,EAAE,KAPyB;MAQxCC,QAAQ,EAAE;IAR8B,CAA5C;IAWA,MAAMC,OAAO,GAAG5B,IAAI,KAAK,OAAzB;IAEA,MAAM6B,eAAgC,GAAG;MACrCC,MAAM,EAAE;QACJC,SAAS,EAAE;UACPC,WAAW,EAAE5B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,IAA9B,CADN;UAEPM,YAAY,EAAE9B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,CAA9B,CAFP;UAGPO,eAAe,EAAE/B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,IAAH,GAAU,CAA/B;QAHV,CADP;QAMJQ,YAAY,EAAE;UACVd,YAAY,EAAElB,KAAK,CAACmB,KAAN,CAAYC,MAAZ,CAAmBC,IADvB;UAEV5B,MAAM,EAAE+B,OAAO,GAAG,EAAH,GAAQ,EAFb;UAGV9B,KAAK,EAAE8B,OAAO,GAAG,EAAH,GAAQ;QAHZ,CANV;QAWJS,qBAAqB,EAAE;UACnBC,WAAW,EAAElC,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,IAA9B;QADM;MAXnB,CAD6B;MAgBrCW,IAAI,EAAE;QACFR,SAAS,EAAE;UACPC,WAAW,EAAE5B,KAAK,CAAC6B,OAAN,CAAc,GAAd,CADN;UAEPC,YAAY,EAAE9B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,CAA9B,CAFP;UAGPO,eAAe,EAAE/B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,IAA9B;QAHV,CADT;QAMFQ,YAAY,EAAE;UACVlC,KAAK,EAAEC,QAAQ,GACTC,KAAK,CAACM,OAAN,CAAc6B,IAAd,CAAmB3B,aADV,GAETR,KAAK,CAACM,OAAN,CAAc6B,IAAd,CAAmB1B,MAHf;UAIVhB,MAAM,EAAE+B,OAAO,GAAG,EAAH,GAAQ,EAJb;UAKV9B,KAAK,EAAE8B,OAAO,GAAG,EAAH,GAAQ;QALZ,CANZ;QAaFS,qBAAqB,EAAE;UACnBrB,UAAU,EAAE,QADO;UAEnBnB,MAAM,EAAE+B,OAAO,GAAG,EAAH,GAAQ,EAFJ;UAGnBY,cAAc,EAAE,QAHG;UAInBF,WAAW,EAAElC,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,CAAH,GAAO,IAA5B,CAJM;UAKnB9B,KAAK,EAAE8B,OAAO,GAAG,EAAH,GAAQ;QALH;MAbrB,CAhB+B;MAqCrCa,KAAK,EAAE;QACHV,SAAS,EAAE;UACPf,UAAU,EAAE,QADL;UAEPkB,YAAY,EAAE9B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,CAA9B;QAFP,CADR;QAKHQ,YAAY,EAAE;UACVd,YAAY,EAAElB,KAAK,CAACmB,KAAN,CAAYC,MAAZ,CAAmBC,IADvB;UAEV5B,MAAM,EAAE+B,OAAO,GAAG,EAAH,GAAQ,EAFb;UAGV9B,KAAK,EAAE8B,OAAO,GAAG,EAAH,GAAQ;QAHZ,CALX;QAUHS,qBAAqB,EAAE;UACnBC,WAAW,EAAElC,KAAK,CAAC6B,OAAN,CAAc,GAAd;QADM;MAVpB,CArC8B;MAmDrCS,OAAO,EAAE;QACLX,SAAS,EAAE;UACPY,aAAa,EAAEvC,KAAK,CAAC6B,OAAN,CAAc,IAAd,CADR;UAEPD,WAAW,EAAE5B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,CAA9B,CAFN;UAGPM,YAAY,EAAE9B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,CAA9B,CAHP;UAIPlC,UAAU,EAAEU,KAAK,CAAC6B,OAAN,CAAc,GAAd;QAJL;MADN;IAnD4B,CAAzC;IA6DA,OAAO;MACHF,SAAS,EAAE,EACP,GAAGhB,kBADI;QAEP,6BAAGc,eAAe,CAAC5B,mBAAD,CAAlB,0DAAG,sBAAsC8B,SAAzC,CAFO;QAGP,IAAI5B,QAAQ,GAAG;UAAE+B,YAAY,EAAE9B,KAAK,CAAC6B,OAAN,CAAcL,OAAO,GAAG,GAAH,GAAS,IAA9B;QAAhB,CAAH,GAA2D,EAAvE;MAHO,CADR;MAMHgB,oBAAoB,EAAErD,4BAA4B,CAACS,IAAD,CAN/C;MAOHJ,aAAa,EAAEA,aAAa,CAACI,IAAD,CAPzB;MAQH6C,KAAK,EAAExC,YAAY,CAACL,IAAD,CARhB;MASHoC,YAAY,4BAAEP,eAAe,CAAC5B,mBAAD,CAAjB,2DAAE,uBAAsCmC,YATjD;MAUHC,qBAAqB,4BAAER,eAAe,CAAC5B,mBAAD,CAAjB,2DAAE,uBAAsCoC;IAV1D,CAAP;EAYH,CAlGa,EAkGX,CAACjC,KAAD,EAAQJ,IAAR,EAAcC,mBAAd,EAAmCC,KAAnC,EAA0CC,QAA1C,CAlGW,CAAd;AAmGH"}
@@ -8,12 +8,11 @@ import Modal, { ANIMATION_TYPE } from '../Modal';
8
8
  import ShadowView from '../ShadowView';
9
9
  import { DialogProvider } from './DialogContext';
10
10
  import useDialogStyle from './useDialogStyle';
11
- const TOP_ELEMENT_OFFSET = 20;
11
+ const TOP_ELEMENT_HIDDEN_OFFSET = 16;
12
12
  export default function Dialog(props) {
13
13
  const {
14
14
  animationType = ANIMATION_TYPE.SLIDE,
15
15
  children,
16
- fullScreen = false,
17
16
  hideBackdrop,
18
17
  onClose,
19
18
  style: styleProp,
@@ -22,7 +21,7 @@ export default function Dialog(props) {
22
21
  topElement,
23
22
  ...otherProps
24
23
  } = props;
25
- const styles = useDialogStyle(size, fullScreen);
24
+ const styles = useDialogStyle(size);
26
25
  const {
27
26
  height: screenHeight
28
27
  } = useWindowDimensions();
@@ -40,8 +39,9 @@ export default function Dialog(props) {
40
39
  return [];
41
40
  }
42
41
 
42
+ const topElementHeightWithoutOffset = Math.max(0, topElementHeight - TOP_ELEMENT_HIDDEN_OFFSET);
43
43
  return [{
44
- toValue: (topElementHeight - TOP_ELEMENT_OFFSET) / 2,
44
+ toValue: topElementHeightWithoutOffset / 2,
45
45
  type: ANIMATION_TYPE.SLIDE
46
46
  }];
47
47
  }, [topElementHeight]);
@@ -51,7 +51,7 @@ export default function Dialog(props) {
51
51
  toValue: 0,
52
52
  type: ANIMATION_TYPE.FADE
53
53
  }];
54
- } else if (animationType === ANIMATION_TYPE.SLIDE && !fullScreen) {
54
+ } else if (animationType === ANIMATION_TYPE.SLIDE) {
55
55
  return [{
56
56
  toValue: screenHeight,
57
57
  type: ANIMATION_TYPE.SLIDE
@@ -67,14 +67,14 @@ export default function Dialog(props) {
67
67
  toValue: screenHeight,
68
68
  type: ANIMATION_TYPE.SLIDE
69
69
  }];
70
- }, [animationType, fullScreen, screenHeight]);
70
+ }, [animationType, screenHeight]);
71
71
  const openAnimation = useMemo(() => {
72
72
  if (animationType === ANIMATION_TYPE.FADE) {
73
73
  return [{
74
74
  toValue: 1,
75
75
  type: ANIMATION_TYPE.FADE
76
76
  }];
77
- } else if (animationType === ANIMATION_TYPE.SLIDE && !fullScreen) {
77
+ } else if (animationType === ANIMATION_TYPE.SLIDE) {
78
78
  return [{
79
79
  toValue: 0,
80
80
  type: ANIMATION_TYPE.SLIDE
@@ -90,8 +90,8 @@ export default function Dialog(props) {
90
90
  toValue: 0,
91
91
  type: ANIMATION_TYPE.SLIDE
92
92
  }];
93
- }, [animationType, fullScreen]);
94
- const initialOpacity = animationType === ANIMATION_TYPE.SLIDE && fullScreen ? 1 : undefined;
93
+ }, [animationType]);
94
+ const initialOpacity = animationType === ANIMATION_TYPE.SLIDE ? 1 : undefined;
95
95
  const initialTranslateY = animationType === ANIMATION_TYPE.FADE ? 0 : undefined;
96
96
  const paperStyle = css([styles.paper, styleProp]);
97
97
  return /*#__PURE__*/React.createElement(Modal, _extends({
@@ -110,7 +110,7 @@ export default function Dialog(props) {
110
110
  size
111
111
  }
112
112
  }, topElement ? /*#__PURE__*/React.createElement(Column, {
113
- style: fullScreen ? undefined : styles.topElementContainer
113
+ style: styles.topElementContainer
114
114
  }, /*#__PURE__*/React.createElement(Column, {
115
115
  style: styles.topElementContent,
116
116
  onLayout: handleTopElementLayout
@@ -119,5 +119,4 @@ export default function Dialog(props) {
119
119
  style: paperStyle
120
120
  }, children)));
121
121
  }
122
- ;
123
122
  //# sourceMappingURL=Dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useState","useWindowDimensions","css","Column","Modal","ANIMATION_TYPE","ShadowView","DialogProvider","useDialogStyle","TOP_ELEMENT_OFFSET","Dialog","props","animationType","SLIDE","children","fullScreen","hideBackdrop","onClose","style","styleProp","size","visible","topElement","otherProps","styles","height","screenHeight","topElementHeight","setTopElementHeight","handleTopElementLayout","event","nativeEvent","layout","offsetAnimation","toValue","type","closeAnimation","FADE","duration","openAnimation","delay","initialOpacity","undefined","initialTranslateY","paperStyle","paper","container","root","topElementContainer","topElementContent"],"sources":["Dialog.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { LayoutChangeEvent, useWindowDimensions } from 'react-native';\nimport { css } from '@fountain-ui/styles';\nimport Column from '../Column';\nimport Modal, { ANIMATION_TYPE, AnimationUnit } from '../Modal';\nimport ShadowView from '../ShadowView';\nimport type DialogProps from './DialogProps';\nimport { DialogProvider } from './DialogContext';\nimport useDialogStyle from './useDialogStyle';\n\nconst TOP_ELEMENT_OFFSET = 20;\n\nexport default function Dialog(props: DialogProps) {\n const {\n animationType = ANIMATION_TYPE.SLIDE,\n children,\n fullScreen = false,\n hideBackdrop,\n onClose,\n style: styleProp,\n size = 'medium',\n visible,\n topElement,\n ...otherProps\n } = props;\n\n const styles = useDialogStyle(size, fullScreen);\n\n const { height: screenHeight } = useWindowDimensions();\n\n const [topElementHeight, setTopElementHeight] = useState(0);\n const handleTopElementLayout = (event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n setTopElementHeight(height);\n };\n\n const offsetAnimation = useMemo<AnimationUnit[]>(() => {\n if (topElementHeight === 0) {\n return [];\n }\n\n return [{\n toValue: (topElementHeight - TOP_ELEMENT_OFFSET) / 2,\n type: ANIMATION_TYPE.SLIDE,\n }];\n }, [topElementHeight]);\n\n const closeAnimation = useMemo<AnimationUnit[]>(() => {\n if (animationType === ANIMATION_TYPE.FADE) {\n return [{\n toValue: 0,\n type: ANIMATION_TYPE.FADE,\n }];\n } else if (animationType === ANIMATION_TYPE.SLIDE && !fullScreen) {\n return [\n {\n toValue: screenHeight,\n type: ANIMATION_TYPE.SLIDE,\n },\n {\n duration: 150,\n toValue: 0,\n type: ANIMATION_TYPE.FADE,\n },\n ];\n }\n\n return [{\n duration: 150,\n toValue: screenHeight,\n type: ANIMATION_TYPE.SLIDE,\n }];\n }, [animationType, fullScreen, screenHeight]);\n\n const openAnimation = useMemo<AnimationUnit[]>(() => {\n if (animationType === ANIMATION_TYPE.FADE) {\n return [{\n toValue: 1,\n type: ANIMATION_TYPE.FADE,\n }];\n } else if (animationType === ANIMATION_TYPE.SLIDE && !fullScreen) {\n return [\n {\n toValue: 0,\n type: ANIMATION_TYPE.SLIDE,\n },\n {\n delay: 50,\n duration: 150,\n toValue: 1,\n type: ANIMATION_TYPE.FADE,\n },\n ];\n }\n\n return [{\n toValue: 0,\n type: ANIMATION_TYPE.SLIDE,\n }];\n }, [animationType, fullScreen]);\n\n const initialOpacity = animationType === ANIMATION_TYPE.SLIDE && fullScreen ? 1 : undefined;\n\n const initialTranslateY = animationType === ANIMATION_TYPE.FADE ? 0 : undefined;\n\n const paperStyle = css([\n styles.paper,\n styleProp,\n ]);\n\n return (\n <Modal\n animationStyle={styles.container}\n closeAnimation={closeAnimation}\n hideBackdrop={hideBackdrop || animationType === ANIMATION_TYPE.FADE}\n initialOpacity={initialOpacity}\n initialTranslateY={initialTranslateY}\n onClose={onClose}\n openAnimation={openAnimation}\n offsetAnimation={offsetAnimation}\n visible={visible}\n style={styles.root}\n {...otherProps}\n >\n <DialogProvider value={{ size }}>\n {topElement ? (\n <Column style={fullScreen ? undefined : styles.topElementContainer}>\n <Column\n style={styles.topElementContent}\n onLayout={handleTopElementLayout}\n >\n {topElement}\n </Column>\n </Column>\n ) : null}\n\n <ShadowView\n variant={600}\n style={paperStyle}\n >\n {children}\n </ShadowView>\n </DialogProvider>\n </Modal>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useMemo","useState","useWindowDimensions","css","Column","Modal","ANIMATION_TYPE","ShadowView","DialogProvider","useDialogStyle","TOP_ELEMENT_HIDDEN_OFFSET","Dialog","props","animationType","SLIDE","children","hideBackdrop","onClose","style","styleProp","size","visible","topElement","otherProps","styles","height","screenHeight","topElementHeight","setTopElementHeight","handleTopElementLayout","event","nativeEvent","layout","offsetAnimation","topElementHeightWithoutOffset","Math","max","toValue","type","closeAnimation","FADE","duration","openAnimation","delay","initialOpacity","undefined","initialTranslateY","paperStyle","paper","container","root","topElementContainer","topElementContent"],"sources":["Dialog.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { LayoutChangeEvent, useWindowDimensions } from 'react-native';\nimport { css } from '@fountain-ui/styles';\nimport Column from '../Column';\nimport Modal, { ANIMATION_TYPE, AnimationUnit } from '../Modal';\nimport ShadowView from '../ShadowView';\nimport type DialogProps from './DialogProps';\nimport { DialogProvider } from './DialogContext';\nimport useDialogStyle from './useDialogStyle';\n\nconst TOP_ELEMENT_HIDDEN_OFFSET = 16;\n\nexport default function Dialog(props: DialogProps) {\n const {\n animationType = ANIMATION_TYPE.SLIDE,\n children,\n hideBackdrop,\n onClose,\n style: styleProp,\n size = 'medium',\n visible,\n topElement,\n ...otherProps\n } = props;\n\n const styles = useDialogStyle(size);\n\n const { height: screenHeight } = useWindowDimensions();\n\n const [topElementHeight, setTopElementHeight] = useState(0);\n const handleTopElementLayout = (event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n setTopElementHeight(height);\n };\n\n const offsetAnimation = useMemo<AnimationUnit[]>(() => {\n if (topElementHeight === 0) {\n return [];\n }\n\n const topElementHeightWithoutOffset = Math.max(0, topElementHeight - TOP_ELEMENT_HIDDEN_OFFSET);\n\n return [{\n toValue: (topElementHeightWithoutOffset) / 2,\n type: ANIMATION_TYPE.SLIDE,\n }];\n }, [topElementHeight]);\n\n const closeAnimation = useMemo<AnimationUnit[]>(() => {\n if (animationType === ANIMATION_TYPE.FADE) {\n return [{\n toValue: 0,\n type: ANIMATION_TYPE.FADE,\n }];\n } else if (animationType === ANIMATION_TYPE.SLIDE) {\n return [\n {\n toValue: screenHeight,\n type: ANIMATION_TYPE.SLIDE,\n },\n {\n duration: 150,\n toValue: 0,\n type: ANIMATION_TYPE.FADE,\n },\n ];\n }\n\n return [{\n duration: 150,\n toValue: screenHeight,\n type: ANIMATION_TYPE.SLIDE,\n }];\n }, [animationType, screenHeight]);\n\n const openAnimation = useMemo<AnimationUnit[]>(() => {\n if (animationType === ANIMATION_TYPE.FADE) {\n return [{\n toValue: 1,\n type: ANIMATION_TYPE.FADE,\n }];\n } else if (animationType === ANIMATION_TYPE.SLIDE) {\n return [\n {\n toValue: 0,\n type: ANIMATION_TYPE.SLIDE,\n },\n {\n delay: 50,\n duration: 150,\n toValue: 1,\n type: ANIMATION_TYPE.FADE,\n },\n ];\n }\n\n return [{\n toValue: 0,\n type: ANIMATION_TYPE.SLIDE,\n }];\n }, [animationType]);\n\n const initialOpacity = animationType === ANIMATION_TYPE.SLIDE ? 1 : undefined;\n\n const initialTranslateY = animationType === ANIMATION_TYPE.FADE ? 0 : undefined;\n\n const paperStyle = css([\n styles.paper,\n styleProp,\n ]);\n\n return (\n <Modal\n animationStyle={styles.container}\n closeAnimation={closeAnimation}\n hideBackdrop={hideBackdrop || animationType === ANIMATION_TYPE.FADE}\n initialOpacity={initialOpacity}\n initialTranslateY={initialTranslateY}\n onClose={onClose}\n openAnimation={openAnimation}\n offsetAnimation={offsetAnimation}\n visible={visible}\n style={styles.root}\n {...otherProps}\n >\n <DialogProvider value={{ size }}>\n {topElement ? (\n <Column style={styles.topElementContainer}>\n <Column\n style={styles.topElementContent}\n onLayout={handleTopElementLayout}\n >\n {topElement}\n </Column>\n </Column>\n ) : null}\n\n <ShadowView\n variant={600}\n style={paperStyle}\n >\n {children}\n </ShadowView>\n </DialogProvider>\n </Modal>\n );\n}\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,OAAhB,EAAyBC,QAAzB,QAAyC,OAAzC;AACA,SAA4BC,mBAA5B,QAAuD,cAAvD;AACA,SAASC,GAAT,QAAoB,qBAApB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,KAAP,IAAgBC,cAAhB,QAAqD,UAArD;AACA,OAAOC,UAAP,MAAuB,eAAvB;AAEA,SAASC,cAAT,QAA+B,iBAA/B;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA,MAAMC,yBAAyB,GAAG,EAAlC;AAEA,eAAe,SAASC,MAAT,CAAgBC,KAAhB,EAAoC;EAC/C,MAAM;IACFC,aAAa,GAAGP,cAAc,CAACQ,KAD7B;IAEFC,QAFE;IAGFC,YAHE;IAIFC,OAJE;IAKFC,KAAK,EAAEC,SALL;IAMFC,IAAI,GAAG,QANL;IAOFC,OAPE;IAQFC,UARE;IASF,GAAGC;EATD,IAUFX,KAVJ;EAYA,MAAMY,MAAM,GAAGf,cAAc,CAACW,IAAD,CAA7B;EAEA,MAAM;IAAEK,MAAM,EAAEC;EAAV,IAA2BxB,mBAAmB,EAApD;EAEA,MAAM,CAACyB,gBAAD,EAAmBC,mBAAnB,IAA0C3B,QAAQ,CAAC,CAAD,CAAxD;;EACA,MAAM4B,sBAAsB,GAAIC,KAAD,IAA8B;IACzD,MAAM;MAAEL;IAAF,IAAaK,KAAK,CAACC,WAAN,CAAkBC,MAArC;IACAJ,mBAAmB,CAACH,MAAD,CAAnB;EACH,CAHD;;EAKA,MAAMQ,eAAe,GAAGjC,OAAO,CAAkB,MAAM;IACnD,IAAI2B,gBAAgB,KAAK,CAAzB,EAA4B;MACxB,OAAO,EAAP;IACH;;IAED,MAAMO,6BAA6B,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYT,gBAAgB,GAAGjB,yBAA/B,CAAtC;IAEA,OAAO,CAAC;MACJ2B,OAAO,EAAGH,6BAAD,GAAkC,CADvC;MAEJI,IAAI,EAAEhC,cAAc,CAACQ;IAFjB,CAAD,CAAP;EAIH,CAX8B,EAW5B,CAACa,gBAAD,CAX4B,CAA/B;EAaA,MAAMY,cAAc,GAAGvC,OAAO,CAAkB,MAAM;IAClD,IAAIa,aAAa,KAAKP,cAAc,CAACkC,IAArC,EAA2C;MACvC,OAAO,CAAC;QACJH,OAAO,EAAE,CADL;QAEJC,IAAI,EAAEhC,cAAc,CAACkC;MAFjB,CAAD,CAAP;IAIH,CALD,MAKO,IAAI3B,aAAa,KAAKP,cAAc,CAACQ,KAArC,EAA4C;MAC/C,OAAO,CACH;QACIuB,OAAO,EAAEX,YADb;QAEIY,IAAI,EAAEhC,cAAc,CAACQ;MAFzB,CADG,EAKH;QACI2B,QAAQ,EAAE,GADd;QAEIJ,OAAO,EAAE,CAFb;QAGIC,IAAI,EAAEhC,cAAc,CAACkC;MAHzB,CALG,CAAP;IAWH;;IAED,OAAO,CAAC;MACJC,QAAQ,EAAE,GADN;MAEJJ,OAAO,EAAEX,YAFL;MAGJY,IAAI,EAAEhC,cAAc,CAACQ;IAHjB,CAAD,CAAP;EAKH,CAzB6B,EAyB3B,CAACD,aAAD,EAAgBa,YAAhB,CAzB2B,CAA9B;EA2BA,MAAMgB,aAAa,GAAG1C,OAAO,CAAkB,MAAM;IACjD,IAAIa,aAAa,KAAKP,cAAc,CAACkC,IAArC,EAA2C;MACvC,OAAO,CAAC;QACJH,OAAO,EAAE,CADL;QAEJC,IAAI,EAAEhC,cAAc,CAACkC;MAFjB,CAAD,CAAP;IAIH,CALD,MAKO,IAAI3B,aAAa,KAAKP,cAAc,CAACQ,KAArC,EAA4C;MAC/C,OAAO,CACH;QACIuB,OAAO,EAAE,CADb;QAEIC,IAAI,EAAEhC,cAAc,CAACQ;MAFzB,CADG,EAKH;QACI6B,KAAK,EAAE,EADX;QAEIF,QAAQ,EAAE,GAFd;QAGIJ,OAAO,EAAE,CAHb;QAIIC,IAAI,EAAEhC,cAAc,CAACkC;MAJzB,CALG,CAAP;IAYH;;IAED,OAAO,CAAC;MACJH,OAAO,EAAE,CADL;MAEJC,IAAI,EAAEhC,cAAc,CAACQ;IAFjB,CAAD,CAAP;EAIH,CAzB4B,EAyB1B,CAACD,aAAD,CAzB0B,CAA7B;EA2BA,MAAM+B,cAAc,GAAG/B,aAAa,KAAKP,cAAc,CAACQ,KAAjC,GAAyC,CAAzC,GAA6C+B,SAApE;EAEA,MAAMC,iBAAiB,GAAGjC,aAAa,KAAKP,cAAc,CAACkC,IAAjC,GAAwC,CAAxC,GAA4CK,SAAtE;EAEA,MAAME,UAAU,GAAG5C,GAAG,CAAC,CACnBqB,MAAM,CAACwB,KADY,EAEnB7B,SAFmB,CAAD,CAAtB;EAKA,oBACI,oBAAC,KAAD;IACI,cAAc,EAAEK,MAAM,CAACyB,SAD3B;IAEI,cAAc,EAAEV,cAFpB;IAGI,YAAY,EAAEvB,YAAY,IAAIH,aAAa,KAAKP,cAAc,CAACkC,IAHnE;IAII,cAAc,EAAEI,cAJpB;IAKI,iBAAiB,EAAEE,iBALvB;IAMI,OAAO,EAAE7B,OANb;IAOI,aAAa,EAAEyB,aAPnB;IAQI,eAAe,EAAET,eARrB;IASI,OAAO,EAAEZ,OATb;IAUI,KAAK,EAAEG,MAAM,CAAC0B;EAVlB,GAWQ3B,UAXR,gBAaI,oBAAC,cAAD;IAAgB,KAAK,EAAE;MAAEH;IAAF;EAAvB,GACKE,UAAU,gBACP,oBAAC,MAAD;IAAQ,KAAK,EAAEE,MAAM,CAAC2B;EAAtB,gBACI,oBAAC,MAAD;IACI,KAAK,EAAE3B,MAAM,CAAC4B,iBADlB;IAEI,QAAQ,EAAEvB;EAFd,GAIKP,UAJL,CADJ,CADO,GASP,IAVR,eAYI,oBAAC,UAAD;IACI,OAAO,EAAE,GADb;IAEI,KAAK,EAAEyB;EAFX,GAIKhC,QAJL,CAZJ,CAbJ,CADJ;AAmCH"}
@@ -1,2 +1,2 @@
1
- export const dialogSizes = ['small', 'medium', 'large'];
1
+ export const dialogSizes = ['small', 'medium', 'large', 'full'];
2
2
  //# sourceMappingURL=DialogProps.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dialogSizes"],"sources":["DialogProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ModalProps } from '../Modal';\nimport type { OverridableComponentProps } from '../types';\nimport { ANIMATION_TYPE } from '../Modal';\n\nexport const dialogSizes = ['small', 'medium', 'large'] as const;\nexport type DialogSize = typeof dialogSizes[number];\n\nexport default interface DialogProps extends OverridableComponentProps<ModalProps, {\n /**\n * Type of animation used when the dialog opens and closes.\n * @default 'slide'\n */\n animationType?: ANIMATION_TYPE;\n\n /**\n * Dialog children, usually the included sub-components.\n */\n children?: React.ReactNode;\n\n /**\n * If `true`, the dialog is full-screen.\n * @default false\n */\n fullScreen?: boolean;\n\n /**\n * Determines the minWidth of the Dialog.\n * @default 'medium'\n */\n size?: DialogSize;\n\n /**\n * Top element for displaying additional information on the dialog.\n */\n topElement?: React.ReactNode;\n}> {}\n"],"mappings":"AAKA,OAAO,MAAMA,WAAW,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,CAApB"}
1
+ {"version":3,"names":["dialogSizes"],"sources":["DialogProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ModalProps } from '../Modal';\nimport type { OverridableComponentProps } from '../types';\nimport { ANIMATION_TYPE } from '../Modal';\n\nexport const dialogSizes = ['small', 'medium', 'large', 'full'] as const;\nexport type DialogSize = typeof dialogSizes[number];\n\nexport default interface DialogProps extends OverridableComponentProps<ModalProps, {\n /**\n * Type of animation used when the dialog opens and closes.\n * @default 'slide'\n */\n animationType?: ANIMATION_TYPE;\n\n /**\n * Dialog children, usually the included sub-components.\n */\n children?: React.ReactNode;\n\n /**\n * Determines the minWidth of the Dialog.\n * @default 'medium'\n */\n size?: DialogSize;\n\n /**\n * Top element for displaying additional information on the dialog.\n */\n topElement?: React.ReactNode;\n}> {}\n"],"mappings":"AAKA,OAAO,MAAMA,WAAW,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B,CAApB"}
@@ -13,14 +13,16 @@ export default function useDialogSectionStyle() {
13
13
  return useMemo(() => {
14
14
  const sizePaddingHorizontalMap = {
15
15
  small: {
16
- paddingHorizontal: theme.spacing(6)
16
+ paddingHorizontal: 24
17
17
  },
18
18
  medium: {
19
- // TODO: need to refactor breakpoints.
20
- paddingHorizontal: theme.spacing(windowWidth >= 448 ? 8 : 6)
19
+ paddingHorizontal: windowWidth >= 448 ? 32 : 24
21
20
  },
22
21
  large: {
23
- paddingHorizontal: theme.spacing(8)
22
+ paddingHorizontal: 32
23
+ },
24
+ full: {
25
+ paddingHorizontal: windowWidth >= 448 ? 32 : 24
24
26
  }
25
27
  };
26
28
  return sizePaddingHorizontalMap[size];
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useTheme","useDialogContext","useDialogSectionStyle","size","width","windowWidth","theme","sizePaddingHorizontalMap","small","paddingHorizontal","spacing","medium","large"],"sources":["useDialogSectionStyle.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { useDialogContext } from './DialogContext';\nimport type { DialogSize } from './DialogProps';\n\nexport default function useDialogSectionStyle() {\n const { size } = useDialogContext();\n\n const { width: windowWidth } = useWindowDimensions();\n\n const theme = useTheme();\n\n return useMemo<FountainUiStyle>(() => {\n const sizePaddingHorizontalMap: Record<DialogSize, FountainUiStyle> = {\n small: {\n paddingHorizontal: theme.spacing(6),\n },\n medium: {\n // TODO: need to refactor breakpoints.\n paddingHorizontal: theme.spacing(windowWidth >= 448 ? 8 : 6),\n },\n large: {\n paddingHorizontal: theme.spacing(8),\n },\n };\n\n return sizePaddingHorizontalMap[size];\n }, [size, theme, windowWidth]);\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AACA,SAASC,mBAAT,QAAoC,cAApC;AAEA,SAASC,QAAT,QAAyB,WAAzB;AACA,SAASC,gBAAT,QAAiC,iBAAjC;AAGA,eAAe,SAASC,qBAAT,GAAiC;EAC5C,MAAM;IAAEC;EAAF,IAAWF,gBAAgB,EAAjC;EAEA,MAAM;IAAEG,KAAK,EAAEC;EAAT,IAAyBN,mBAAmB,EAAlD;EAEA,MAAMO,KAAK,GAAGN,QAAQ,EAAtB;EAEA,OAAOF,OAAO,CAAkB,MAAM;IAClC,MAAMS,wBAA6D,GAAG;MAClEC,KAAK,EAAE;QACHC,iBAAiB,EAAEH,KAAK,CAACI,OAAN,CAAc,CAAd;MADhB,CAD2D;MAIlEC,MAAM,EAAE;QACJ;QACAF,iBAAiB,EAAEH,KAAK,CAACI,OAAN,CAAcL,WAAW,IAAI,GAAf,GAAqB,CAArB,GAAyB,CAAvC;MAFf,CAJ0D;MAQlEO,KAAK,EAAE;QACHH,iBAAiB,EAAEH,KAAK,CAACI,OAAN,CAAc,CAAd;MADhB;IAR2D,CAAtE;IAaA,OAAOH,wBAAwB,CAACJ,IAAD,CAA/B;EACH,CAfa,EAeX,CAACA,IAAD,EAAOG,KAAP,EAAcD,WAAd,CAfW,CAAd;AAgBH"}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useTheme","useDialogContext","useDialogSectionStyle","size","width","windowWidth","theme","sizePaddingHorizontalMap","small","paddingHorizontal","medium","large","full"],"sources":["useDialogSectionStyle.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { useDialogContext } from './DialogContext';\nimport type { DialogSize } from './DialogProps';\n\nexport default function useDialogSectionStyle() {\n const { size } = useDialogContext();\n\n const { width: windowWidth } = useWindowDimensions();\n\n const theme = useTheme();\n\n return useMemo<FountainUiStyle>(() => {\n const sizePaddingHorizontalMap: Record<DialogSize, FountainUiStyle> = {\n small: {\n paddingHorizontal: 24,\n },\n medium: {\n paddingHorizontal: windowWidth >= 448 ? 32 : 24,\n },\n large: {\n paddingHorizontal: 32,\n },\n full: {\n paddingHorizontal: windowWidth >= 448 ? 32 : 24,\n },\n };\n\n return sizePaddingHorizontalMap[size];\n }, [size, theme, windowWidth]);\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AACA,SAASC,mBAAT,QAAoC,cAApC;AAEA,SAASC,QAAT,QAAyB,WAAzB;AACA,SAASC,gBAAT,QAAiC,iBAAjC;AAGA,eAAe,SAASC,qBAAT,GAAiC;EAC5C,MAAM;IAAEC;EAAF,IAAWF,gBAAgB,EAAjC;EAEA,MAAM;IAAEG,KAAK,EAAEC;EAAT,IAAyBN,mBAAmB,EAAlD;EAEA,MAAMO,KAAK,GAAGN,QAAQ,EAAtB;EAEA,OAAOF,OAAO,CAAkB,MAAM;IAClC,MAAMS,wBAA6D,GAAG;MAClEC,KAAK,EAAE;QACHC,iBAAiB,EAAE;MADhB,CAD2D;MAIlEC,MAAM,EAAE;QACJD,iBAAiB,EAAEJ,WAAW,IAAI,GAAf,GAAqB,EAArB,GAA0B;MADzC,CAJ0D;MAOlEM,KAAK,EAAE;QACHF,iBAAiB,EAAE;MADhB,CAP2D;MAUlEG,IAAI,EAAE;QACFH,iBAAiB,EAAEJ,WAAW,IAAI,GAAf,GAAqB,EAArB,GAA0B;MAD3C;IAV4D,CAAtE;IAeA,OAAOE,wBAAwB,CAACJ,IAAD,CAA/B;EACH,CAjBa,EAiBX,CAACA,IAAD,EAAOG,KAAP,EAAcD,WAAd,CAjBW,CAAd;AAkBH"}