@fountain-ui/core 3.0.0-alpha.4 → 3.0.0-alpha.41

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 (494) hide show
  1. package/build/commonjs/Accordion/Accordion.js +20 -13
  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 +1 -1
  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 +6 -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/Modal/Modal.js +1 -1
  81. package/build/commonjs/Modal/Modal.js.map +1 -1
  82. package/build/commonjs/Pagination/NumberPagination.js +4 -2
  83. package/build/commonjs/Pagination/NumberPagination.js.map +1 -1
  84. package/build/commonjs/Pagination/Pagination.js +2 -0
  85. package/build/commonjs/Pagination/Pagination.js.map +1 -1
  86. package/build/commonjs/Pagination/PaginationProps.js +3 -1
  87. package/build/commonjs/Pagination/PaginationProps.js.map +1 -1
  88. package/build/commonjs/Pagination/index.js +6 -0
  89. package/build/commonjs/Pagination/index.js.map +1 -1
  90. package/build/commonjs/PaginationItem/PaginationItem.js +32 -22
  91. package/build/commonjs/PaginationItem/PaginationItem.js.map +1 -1
  92. package/build/commonjs/PaginationItem/PaginationItemProps.js.map +1 -1
  93. package/build/commonjs/Radio/Radio.js +11 -4
  94. package/build/commonjs/Radio/Radio.js.map +1 -1
  95. package/build/commonjs/RadioGroup/RadioGroup.js +2 -27
  96. package/build/commonjs/RadioGroup/RadioGroup.js.map +1 -1
  97. package/build/commonjs/Section/Section.js +32 -0
  98. package/build/commonjs/Section/Section.js.map +1 -0
  99. package/build/commonjs/Section/SectionProps.js +2 -0
  100. package/build/commonjs/Section/SectionProps.js.map +1 -0
  101. package/build/commonjs/Section/index.js +16 -0
  102. package/build/commonjs/Section/index.js.map +1 -0
  103. package/build/commonjs/ShadowView/ShadowView.native.js +4 -0
  104. package/build/commonjs/ShadowView/ShadowView.native.js.map +1 -1
  105. package/build/commonjs/SnackbarContent/SnackbarContent.js +26 -9
  106. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  107. package/build/commonjs/Tab/Tab.js +21 -19
  108. package/build/commonjs/Tab/Tab.js.map +1 -1
  109. package/build/commonjs/Tab/TabProps.js +4 -2
  110. package/build/commonjs/Tab/TabProps.js.map +1 -1
  111. package/build/commonjs/Tab/index.js +14 -0
  112. package/build/commonjs/Tab/index.js.map +1 -1
  113. package/build/commonjs/Tab/useVariantStyleMap.js +59 -18
  114. package/build/commonjs/Tab/useVariantStyleMap.js.map +1 -1
  115. package/build/commonjs/TabBase/TabBase.js +1 -8
  116. package/build/commonjs/TabBase/TabBase.js.map +1 -1
  117. package/build/commonjs/TabBase/TabBaseProps.js.map +1 -1
  118. package/build/commonjs/Tabs/Tabs.js +23 -7
  119. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  120. package/build/commonjs/Tabs/TabsProps.js.map +1 -1
  121. package/build/commonjs/Tabs/index.js.map +1 -1
  122. package/build/commonjs/Tabs/useTabsStyle.js +81 -0
  123. package/build/commonjs/Tabs/useTabsStyle.js.map +1 -0
  124. package/build/commonjs/TextField/TextField.js +60 -15
  125. package/build/commonjs/TextField/TextField.js.map +1 -1
  126. package/build/commonjs/TextField/useVariantStyleMap.js +29 -29
  127. package/build/commonjs/TextField/useVariantStyleMap.js.map +1 -1
  128. package/build/commonjs/Toolbar/BackButton/BackButton.js +47 -0
  129. package/build/commonjs/Toolbar/BackButton/BackButton.js.map +1 -0
  130. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js +2 -0
  131. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  132. package/build/commonjs/Toolbar/BackButton/index.js +16 -0
  133. package/build/commonjs/Toolbar/BackButton/index.js.map +1 -0
  134. package/build/commonjs/Toolbar/Toolbar.js +22 -12
  135. package/build/commonjs/Toolbar/Toolbar.js.map +1 -1
  136. package/build/commonjs/Toolbar/ToolbarProps.js.map +1 -1
  137. package/build/commonjs/Tooltip/Beaks/index.js +32 -0
  138. package/build/commonjs/Tooltip/Beaks/index.js.map +1 -1
  139. package/build/commonjs/Tooltip/Tooltip.js +18 -22
  140. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  141. package/build/commonjs/Tooltip/TooltipProps.js.map +1 -1
  142. package/build/commonjs/Tooltip/index.js +19 -0
  143. package/build/commonjs/Tooltip/index.js.map +1 -1
  144. package/build/commonjs/Typography/Typography.js +9 -2
  145. package/build/commonjs/Typography/Typography.js.map +1 -1
  146. package/build/commonjs/Typography/TypographyProps.js.map +1 -1
  147. package/build/commonjs/hooks/useBreakpointUp.js +4 -1
  148. package/build/commonjs/hooks/useBreakpointUp.js.map +1 -1
  149. package/build/commonjs/hooks/useCollapsibleAppBar.js +21 -13
  150. package/build/commonjs/hooks/useCollapsibleAppBar.js.map +1 -1
  151. package/build/commonjs/hooks/useContentContainerStyle.js +39 -25
  152. package/build/commonjs/hooks/useContentContainerStyle.js.map +1 -1
  153. package/build/commonjs/hooks/useFadeInAppBar.js +4 -4
  154. package/build/commonjs/hooks/useFadeInAppBar.js.map +1 -1
  155. package/build/commonjs/index.js +21 -0
  156. package/build/commonjs/index.js.map +1 -1
  157. package/build/commonjs/internal/icons/AppBarChevronLeft.js +23 -0
  158. package/build/commonjs/internal/icons/AppBarChevronLeft.js.map +1 -0
  159. package/build/commonjs/internal/icons/ChevronLeft.js +4 -2
  160. package/build/commonjs/internal/icons/ChevronLeft.js.map +1 -1
  161. package/build/commonjs/internal/icons/ChevronRight.js +4 -2
  162. package/build/commonjs/internal/icons/ChevronRight.js.map +1 -1
  163. package/build/commonjs/internal/icons/ChipClose.js +23 -0
  164. package/build/commonjs/internal/icons/ChipClose.js.map +1 -0
  165. package/build/commonjs/internal/icons/Clear.js +3 -3
  166. package/build/commonjs/internal/icons/Clear.js.map +1 -1
  167. package/build/commonjs/internal/icons/Close.js +4 -2
  168. package/build/commonjs/internal/icons/Close.js.map +1 -1
  169. package/build/commonjs/internal/icons/Search.js +2 -2
  170. package/build/commonjs/internal/icons/Search.js.map +1 -1
  171. package/build/commonjs/internal/icons/index.js +16 -0
  172. package/build/commonjs/internal/icons/index.js.map +1 -1
  173. package/build/module/Accordion/Accordion.js +20 -13
  174. package/build/module/Accordion/Accordion.js.map +1 -1
  175. package/build/module/Accordion/AccordionProps.js.map +1 -1
  176. package/build/module/Accordion/useVariantStyleMap.js +15 -8
  177. package/build/module/Accordion/useVariantStyleMap.js.map +1 -1
  178. package/build/module/AppBar/AppBar.js +1 -1
  179. package/build/module/AppBar/AppBar.js.map +1 -1
  180. package/build/module/Badge/Badge.js +4 -3
  181. package/build/module/Badge/Badge.js.map +1 -1
  182. package/build/module/Badge/BadgeProps.js.map +1 -1
  183. package/build/module/Badge/useVariantStyleMap.js +2 -2
  184. package/build/module/Badge/useVariantStyleMap.js.map +1 -1
  185. package/build/module/BottomSheetTitle/BottomSheetTitle.js +6 -2
  186. package/build/module/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  187. package/build/module/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  188. package/build/module/Button/Button.js +27 -13
  189. package/build/module/Button/Button.js.map +1 -1
  190. package/build/module/Button/ButtonProps.js.map +1 -1
  191. package/build/module/Button/useVariantStyleMap.js +9 -0
  192. package/build/module/Button/useVariantStyleMap.js.map +1 -1
  193. package/build/module/ButtonBase/ButtonBase.js +1 -1
  194. package/build/module/ButtonBase/ButtonBase.js.map +1 -1
  195. package/build/module/ButtonBase/index.js +1 -1
  196. package/build/module/ButtonBase/index.js.map +1 -1
  197. package/build/module/Checkbox/Checkbox.js +4 -1
  198. package/build/module/Checkbox/Checkbox.js.map +1 -1
  199. package/build/module/Checkbox/useVariantStyleMap.js +6 -2
  200. package/build/module/Checkbox/useVariantStyleMap.js.map +1 -1
  201. package/build/module/Chip/Chip.js +21 -13
  202. package/build/module/Chip/Chip.js.map +1 -1
  203. package/build/module/Chip/ChipProps.js +1 -0
  204. package/build/module/Chip/ChipProps.js.map +1 -1
  205. package/build/module/Chip/index.js +1 -1
  206. package/build/module/Chip/index.js.map +1 -1
  207. package/build/module/Chip/useChipStyle.js +51 -31
  208. package/build/module/Chip/useChipStyle.js.map +1 -1
  209. package/build/module/Dialog/Dialog.js +10 -11
  210. package/build/module/Dialog/Dialog.js.map +1 -1
  211. package/build/module/Dialog/DialogProps.js +1 -1
  212. package/build/module/Dialog/DialogProps.js.map +1 -1
  213. package/build/module/Dialog/useDialogSectionStyle.js +6 -4
  214. package/build/module/Dialog/useDialogSectionStyle.js.map +1 -1
  215. package/build/module/Dialog/useDialogStyle.js +18 -8
  216. package/build/module/Dialog/useDialogStyle.js.map +1 -1
  217. package/build/module/DialogActions/DialogActions.js +0 -1
  218. package/build/module/DialogActions/DialogActions.js.map +1 -1
  219. package/build/module/DialogTitle/DialogLargeTitle.js +65 -0
  220. package/build/module/DialogTitle/DialogLargeTitle.js.map +1 -0
  221. package/build/module/DialogTitle/DialogTitle.js +6 -3
  222. package/build/module/DialogTitle/DialogTitle.js.map +1 -1
  223. package/build/module/Divider/Divider.js +7 -0
  224. package/build/module/Divider/Divider.js.map +1 -1
  225. package/build/module/Divider/DividerProps.js +1 -1
  226. package/build/module/Divider/DividerProps.js.map +1 -1
  227. package/build/module/Empty/Empty.js +1 -1
  228. package/build/module/Empty/Empty.js.map +1 -1
  229. package/build/module/Flexbox/Flexbox.js +2 -0
  230. package/build/module/Flexbox/Flexbox.js.map +1 -1
  231. package/build/module/Flexbox/FlexboxProps.js.map +1 -1
  232. package/build/module/IconButton/IconButton.js +3 -0
  233. package/build/module/IconButton/IconButton.js.map +1 -1
  234. package/build/module/IconButton/IconButtonProps.js +1 -1
  235. package/build/module/IconButton/IconButtonProps.js.map +1 -1
  236. package/build/module/Image/Image.js +2 -2
  237. package/build/module/Image/Image.js.map +1 -1
  238. package/build/module/ImageCore/ImageCoreNative.js +1 -1
  239. package/build/module/ImageCore/ImageCoreNative.js.map +1 -1
  240. package/build/module/ListItem/ListItem.js +36 -28
  241. package/build/module/ListItem/ListItem.js.map +1 -1
  242. package/build/module/ListItem/ListItemProps.js.map +1 -1
  243. package/build/module/ListItemIcon/ListItemIcon.js +1 -2
  244. package/build/module/ListItemIcon/ListItemIcon.js.map +1 -1
  245. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
  246. package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
  247. package/build/module/ListItemText/ListItemText.js +17 -19
  248. package/build/module/ListItemText/ListItemText.js.map +1 -1
  249. package/build/module/ListItemText/ListItemTextProps.js.map +1 -1
  250. package/build/module/ListSubheader/ListSubheader.js +1 -1
  251. package/build/module/ListSubheader/ListSubheader.js.map +1 -1
  252. package/build/module/Modal/Modal.js +1 -1
  253. package/build/module/Modal/Modal.js.map +1 -1
  254. package/build/module/Pagination/NumberPagination.js +4 -2
  255. package/build/module/Pagination/NumberPagination.js.map +1 -1
  256. package/build/module/Pagination/Pagination.js +2 -0
  257. package/build/module/Pagination/Pagination.js.map +1 -1
  258. package/build/module/Pagination/PaginationProps.js +1 -0
  259. package/build/module/Pagination/PaginationProps.js.map +1 -1
  260. package/build/module/Pagination/index.js +1 -1
  261. package/build/module/Pagination/index.js.map +1 -1
  262. package/build/module/PaginationItem/PaginationItem.js +28 -21
  263. package/build/module/PaginationItem/PaginationItem.js.map +1 -1
  264. package/build/module/PaginationItem/PaginationItemProps.js.map +1 -1
  265. package/build/module/Radio/Radio.js +10 -4
  266. package/build/module/Radio/Radio.js.map +1 -1
  267. package/build/module/RadioGroup/RadioGroup.js +2 -20
  268. package/build/module/RadioGroup/RadioGroup.js.map +1 -1
  269. package/build/module/Section/Section.js +19 -0
  270. package/build/module/Section/Section.js.map +1 -0
  271. package/build/module/Section/SectionProps.js +2 -0
  272. package/build/module/Section/SectionProps.js.map +1 -0
  273. package/build/module/Section/index.js +2 -0
  274. package/build/module/Section/index.js.map +1 -0
  275. package/build/module/ShadowView/ShadowView.native.js +4 -0
  276. package/build/module/ShadowView/ShadowView.native.js.map +1 -1
  277. package/build/module/SnackbarContent/SnackbarContent.js +26 -9
  278. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  279. package/build/module/Tab/Tab.js +22 -19
  280. package/build/module/Tab/Tab.js.map +1 -1
  281. package/build/module/Tab/TabProps.js +2 -1
  282. package/build/module/Tab/TabProps.js.map +1 -1
  283. package/build/module/Tab/index.js +1 -0
  284. package/build/module/Tab/index.js.map +1 -1
  285. package/build/module/Tab/useVariantStyleMap.js +59 -18
  286. package/build/module/Tab/useVariantStyleMap.js.map +1 -1
  287. package/build/module/TabBase/TabBase.js +1 -8
  288. package/build/module/TabBase/TabBase.js.map +1 -1
  289. package/build/module/TabBase/TabBaseProps.js.map +1 -1
  290. package/build/module/Tabs/Tabs.js +21 -7
  291. package/build/module/Tabs/Tabs.js.map +1 -1
  292. package/build/module/Tabs/TabsProps.js.map +1 -1
  293. package/build/module/Tabs/index.js.map +1 -1
  294. package/build/module/Tabs/useTabsStyle.js +71 -0
  295. package/build/module/Tabs/useTabsStyle.js.map +1 -0
  296. package/build/module/TextField/TextField.js +60 -15
  297. package/build/module/TextField/TextField.js.map +1 -1
  298. package/build/module/TextField/useVariantStyleMap.js +29 -29
  299. package/build/module/TextField/useVariantStyleMap.js.map +1 -1
  300. package/build/module/Toolbar/BackButton/BackButton.js +32 -0
  301. package/build/module/Toolbar/BackButton/BackButton.js.map +1 -0
  302. package/build/module/Toolbar/BackButton/BackButtonProps.js +2 -0
  303. package/build/module/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  304. package/build/module/Toolbar/BackButton/index.js +2 -0
  305. package/build/module/Toolbar/BackButton/index.js.map +1 -0
  306. package/build/module/Toolbar/Toolbar.js +20 -12
  307. package/build/module/Toolbar/Toolbar.js.map +1 -1
  308. package/build/module/Toolbar/ToolbarProps.js.map +1 -1
  309. package/build/module/Tooltip/Beaks/index.js +4 -0
  310. package/build/module/Tooltip/Beaks/index.js.map +1 -1
  311. package/build/module/Tooltip/Tooltip.js +11 -14
  312. package/build/module/Tooltip/Tooltip.js.map +1 -1
  313. package/build/module/Tooltip/TooltipProps.js.map +1 -1
  314. package/build/module/Tooltip/index.js +1 -0
  315. package/build/module/Tooltip/index.js.map +1 -1
  316. package/build/module/Typography/Typography.js +9 -2
  317. package/build/module/Typography/Typography.js.map +1 -1
  318. package/build/module/Typography/TypographyProps.js.map +1 -1
  319. package/build/module/hooks/useBreakpointUp.js +4 -1
  320. package/build/module/hooks/useBreakpointUp.js.map +1 -1
  321. package/build/module/hooks/useCollapsibleAppBar.js +22 -13
  322. package/build/module/hooks/useCollapsibleAppBar.js.map +1 -1
  323. package/build/module/hooks/useContentContainerStyle.js +43 -25
  324. package/build/module/hooks/useContentContainerStyle.js.map +1 -1
  325. package/build/module/hooks/useFadeInAppBar.js +4 -4
  326. package/build/module/hooks/useFadeInAppBar.js.map +1 -1
  327. package/build/module/index.js +2 -0
  328. package/build/module/index.js.map +1 -1
  329. package/build/module/internal/icons/AppBarChevronLeft.js +9 -0
  330. package/build/module/internal/icons/AppBarChevronLeft.js.map +1 -0
  331. package/build/module/internal/icons/ChevronLeft.js +4 -2
  332. package/build/module/internal/icons/ChevronLeft.js.map +1 -1
  333. package/build/module/internal/icons/ChevronRight.js +4 -2
  334. package/build/module/internal/icons/ChevronRight.js.map +1 -1
  335. package/build/module/internal/icons/ChipClose.js +9 -0
  336. package/build/module/internal/icons/ChipClose.js.map +1 -0
  337. package/build/module/internal/icons/Clear.js +3 -3
  338. package/build/module/internal/icons/Clear.js.map +1 -1
  339. package/build/module/internal/icons/Close.js +4 -2
  340. package/build/module/internal/icons/Close.js.map +1 -1
  341. package/build/module/internal/icons/Search.js +2 -2
  342. package/build/module/internal/icons/Search.js.map +1 -1
  343. package/build/module/internal/icons/index.js +2 -0
  344. package/build/module/internal/icons/index.js.map +1 -1
  345. package/build/typescript/Accordion/AccordionProps.d.ts +4 -1
  346. package/build/typescript/Accordion/useVariantStyleMap.d.ts +1 -0
  347. package/build/typescript/Badge/BadgeProps.d.ts +10 -5
  348. package/build/typescript/BottomSheetTitle/BottomSheetTitleProps.d.ts +1 -0
  349. package/build/typescript/Button/ButtonProps.d.ts +5 -0
  350. package/build/typescript/ButtonBase/index.d.ts +1 -1
  351. package/build/typescript/Checkbox/useVariantStyleMap.d.ts +1 -0
  352. package/build/typescript/Chip/ChipProps.d.ts +11 -4
  353. package/build/typescript/Chip/index.d.ts +1 -1
  354. package/build/typescript/Chip/useChipStyle.d.ts +6 -3
  355. package/build/typescript/Dialog/DialogProps.d.ts +1 -6
  356. package/build/typescript/Dialog/useDialogStyle.d.ts +1 -1
  357. package/build/typescript/DialogTitle/DialogLargeTitle.d.ts +9 -0
  358. package/build/typescript/DialogTitle/DialogTitle.d.ts +6 -1
  359. package/build/typescript/Divider/DividerProps.d.ts +1 -1
  360. package/build/typescript/Flexbox/FlexboxProps.d.ts +4 -0
  361. package/build/typescript/IconButton/IconButtonProps.d.ts +1 -1
  362. package/build/typescript/ListItem/ListItem.d.ts +1 -1
  363. package/build/typescript/ListItem/ListItemProps.d.ts +4 -0
  364. package/build/typescript/ListItemText/ListItemTextProps.d.ts +2 -9
  365. package/build/typescript/Pagination/PaginationProps.d.ts +12 -0
  366. package/build/typescript/Pagination/index.d.ts +2 -2
  367. package/build/typescript/PaginationItem/PaginationItemProps.d.ts +6 -0
  368. package/build/typescript/Section/Section.d.ts +3 -0
  369. package/build/typescript/Section/SectionProps.d.ts +6 -0
  370. package/build/typescript/Section/index.d.ts +2 -0
  371. package/build/typescript/Tab/TabProps.d.ts +21 -2
  372. package/build/typescript/Tab/index.d.ts +2 -1
  373. package/build/typescript/Tab/useVariantStyleMap.d.ts +4 -2
  374. package/build/typescript/TabBase/TabBaseProps.d.ts +0 -5
  375. package/build/typescript/Tabs/Tabs.d.ts +1 -1
  376. package/build/typescript/Tabs/TabsProps.d.ts +6 -1
  377. package/build/typescript/Tabs/index.d.ts +1 -1
  378. package/build/typescript/Tabs/useTabsStyle.d.ts +8 -0
  379. package/build/typescript/TextField/useVariantStyleMap.d.ts +2 -0
  380. package/build/typescript/Toolbar/BackButton/BackButton.d.ts +3 -0
  381. package/build/typescript/Toolbar/BackButton/BackButtonProps.d.ts +4 -0
  382. package/build/typescript/Toolbar/BackButton/index.d.ts +2 -0
  383. package/build/typescript/Toolbar/Toolbar.d.ts +6 -1
  384. package/build/typescript/Toolbar/ToolbarProps.d.ts +0 -5
  385. package/build/typescript/Tooltip/Beaks/index.d.ts +4 -0
  386. package/build/typescript/Tooltip/TooltipProps.d.ts +2 -2
  387. package/build/typescript/Tooltip/index.d.ts +1 -0
  388. package/build/typescript/Typography/TypographyProps.d.ts +4 -0
  389. package/build/typescript/hooks/useCollapsibleAppBar.d.ts +2 -1
  390. package/build/typescript/hooks/useContentContainerStyle.d.ts +5 -8
  391. package/build/typescript/index.d.ts +2 -0
  392. package/build/typescript/internal/icons/AppBarChevronLeft.d.ts +131 -0
  393. package/build/typescript/internal/icons/ChipClose.d.ts +131 -0
  394. package/build/typescript/internal/icons/index.d.ts +2 -0
  395. package/package.json +5 -5
  396. package/src/Accordion/Accordion.tsx +23 -14
  397. package/src/Accordion/AccordionProps.ts +4 -2
  398. package/src/Accordion/useVariantStyleMap.ts +14 -6
  399. package/src/AppBar/AppBar.tsx +2 -2
  400. package/src/Badge/Badge.tsx +4 -3
  401. package/src/Badge/BadgeProps.ts +12 -6
  402. package/src/Badge/useVariantStyleMap.ts +2 -2
  403. package/src/BottomSheetTitle/BottomSheetTitle.tsx +5 -1
  404. package/src/BottomSheetTitle/BottomSheetTitleProps.ts +1 -0
  405. package/src/Button/Button.tsx +28 -12
  406. package/src/Button/ButtonProps.ts +6 -0
  407. package/src/Button/useVariantStyleMap.ts +9 -0
  408. package/src/ButtonBase/ButtonBase.tsx +1 -1
  409. package/src/ButtonBase/index.ts +1 -1
  410. package/src/Checkbox/Checkbox.tsx +11 -8
  411. package/src/Checkbox/useVariantStyleMap.ts +6 -1
  412. package/src/Chip/Chip.tsx +24 -13
  413. package/src/Chip/ChipProps.ts +13 -4
  414. package/src/Chip/index.ts +1 -1
  415. package/src/Chip/useChipStyle.ts +59 -29
  416. package/src/Dialog/Dialog.tsx +12 -11
  417. package/src/Dialog/DialogProps.ts +1 -7
  418. package/src/Dialog/useDialogSectionStyle.ts +6 -4
  419. package/src/Dialog/useDialogStyle.ts +19 -7
  420. package/src/DialogActions/DialogActions.tsx +0 -1
  421. package/src/DialogTitle/DialogLargeTitle.tsx +95 -0
  422. package/src/DialogTitle/DialogTitle.tsx +6 -1
  423. package/src/Divider/Divider.tsx +5 -0
  424. package/src/Divider/DividerProps.ts +1 -1
  425. package/src/Empty/Empty.tsx +1 -1
  426. package/src/Flexbox/Flexbox.tsx +2 -0
  427. package/src/Flexbox/FlexboxProps.ts +5 -0
  428. package/src/IconButton/IconButton.tsx +2 -0
  429. package/src/IconButton/IconButtonProps.ts +1 -0
  430. package/src/Image/Image.tsx +3 -3
  431. package/src/ImageCore/ImageCoreNative.tsx +1 -1
  432. package/src/ListItem/ListItem.tsx +61 -30
  433. package/src/ListItem/ListItemProps.ts +5 -0
  434. package/src/ListItemIcon/ListItemIcon.tsx +1 -2
  435. package/src/ListItemSecondaryAction/ListItemSecondaryAction.tsx +2 -0
  436. package/src/ListItemText/ListItemText.tsx +20 -28
  437. package/src/ListItemText/ListItemTextProps.ts +2 -10
  438. package/src/ListSubheader/ListSubheader.tsx +1 -1
  439. package/src/Modal/Modal.tsx +1 -1
  440. package/src/Pagination/NumberPagination.tsx +7 -2
  441. package/src/Pagination/Pagination.tsx +3 -2
  442. package/src/Pagination/PaginationProps.ts +15 -0
  443. package/src/Pagination/index.ts +2 -2
  444. package/src/PaginationItem/PaginationItem.tsx +31 -24
  445. package/src/PaginationItem/PaginationItemProps.ts +7 -0
  446. package/src/Radio/Radio.tsx +12 -3
  447. package/src/RadioGroup/RadioGroup.tsx +2 -28
  448. package/src/Section/Section.tsx +26 -0
  449. package/src/Section/SectionProps.ts +6 -0
  450. package/src/Section/index.ts +2 -0
  451. package/src/ShadowView/ShadowView.native.tsx +4 -0
  452. package/src/SnackbarContent/SnackbarContent.tsx +36 -15
  453. package/src/Tab/Tab.tsx +32 -22
  454. package/src/Tab/TabProps.ts +25 -2
  455. package/src/Tab/index.ts +2 -1
  456. package/src/Tab/useVariantStyleMap.ts +72 -19
  457. package/src/TabBase/TabBase.tsx +1 -9
  458. package/src/TabBase/TabBaseProps.ts +0 -6
  459. package/src/Tabs/Tabs.tsx +26 -8
  460. package/src/Tabs/TabsProps.ts +7 -1
  461. package/src/Tabs/index.ts +1 -1
  462. package/src/Tabs/useTabsStyle.ts +79 -0
  463. package/src/TextField/TextField.tsx +99 -45
  464. package/src/TextField/useVariantStyleMap.ts +29 -27
  465. package/src/Toolbar/BackButton/BackButton.tsx +44 -0
  466. package/src/Toolbar/BackButton/BackButtonProps.ts +4 -0
  467. package/src/Toolbar/BackButton/index.ts +2 -0
  468. package/src/Toolbar/Toolbar.tsx +26 -17
  469. package/src/Toolbar/ToolbarProps.ts +0 -6
  470. package/src/Tooltip/Beaks/index.ts +4 -0
  471. package/src/Tooltip/Tooltip.tsx +10 -12
  472. package/src/Tooltip/TooltipProps.ts +2 -2
  473. package/src/Tooltip/index.ts +1 -0
  474. package/src/Typography/Typography.tsx +3 -1
  475. package/src/Typography/TypographyProps.ts +5 -0
  476. package/src/hooks/useBreakpointUp.ts +3 -1
  477. package/src/hooks/useCollapsibleAppBar.ts +27 -24
  478. package/src/hooks/useContentContainerStyle.ts +43 -31
  479. package/src/hooks/useFadeInAppBar.ts +4 -4
  480. package/src/index.ts +3 -0
  481. package/src/internal/icons/AppBarChevronLeft.tsx +15 -0
  482. package/src/internal/icons/ChevronLeft.tsx +4 -1
  483. package/src/internal/icons/ChevronRight.tsx +4 -1
  484. package/src/internal/icons/ChipClose.tsx +13 -0
  485. package/src/internal/icons/Clear.tsx +3 -3
  486. package/src/internal/icons/Close.tsx +4 -1
  487. package/src/internal/icons/Search.tsx +2 -2
  488. package/src/internal/icons/index.ts +2 -0
  489. package/build/commonjs/ButtonBase/LegacyButtonBase.js +0 -126
  490. package/build/commonjs/ButtonBase/LegacyButtonBase.js.map +0 -1
  491. package/build/module/ButtonBase/LegacyButtonBase.js +0 -106
  492. package/build/module/ButtonBase/LegacyButtonBase.js.map +0 -1
  493. package/build/typescript/ButtonBase/LegacyButtonBase.d.ts +0 -5
  494. package/src/ButtonBase/LegacyButtonBase.tsx +0 -135
@@ -3,27 +3,33 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = Toolbar;
6
+ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _reactNative = require("react-native");
11
+
10
12
  var _Row = _interopRequireDefault(require("../Row"));
11
13
 
14
+ var _hooks = require("../hooks");
15
+
12
16
  var _styles = require("../styles");
13
17
 
18
+ var _BackButton = _interopRequireDefault(require("./BackButton"));
19
+
14
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
21
 
16
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
23
 
18
24
  const useStyles = function () {
19
- const theme = (0, _styles.useTheme)();
25
+ const shouldApplyHorizontalPadding = (0, _hooks.useBreakpointUp)('sm', true, false);
20
26
  return {
27
+ container: {
28
+ paddingHorizontal: shouldApplyHorizontalPadding ? 8 : 0
29
+ },
21
30
  root: {
22
31
  alignItems: 'center',
23
32
  flexWrap: 'nowrap'
24
- },
25
- gutters: {
26
- paddingHorizontal: theme.spacing(4)
27
33
  }
28
34
  };
29
35
  };
@@ -40,18 +46,22 @@ const sizeMap = {
40
46
  }
41
47
  };
42
48
 
43
- function Toolbar(props) {
49
+ const Toolbar = props => {
44
50
  const {
45
- disableGutters = false,
46
51
  size = 'medium',
47
52
  style,
48
53
  ...otherProps
49
54
  } = props;
50
55
  const styles = useStyles();
51
- return /*#__PURE__*/_react.default.createElement(_Row.default, _extends({
52
- style: (0, _styles.css)([styles.root, !disableGutters ? styles.gutters : undefined, sizeMap[size], style])
53
- }, otherProps));
54
- }
56
+ const rootStyle = (0, _styles.css)([styles.root, sizeMap[size], style]);
57
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
58
+ style: styles.container
59
+ }, /*#__PURE__*/_react.default.createElement(_Row.default, _extends({
60
+ style: rootStyle
61
+ }, otherProps)));
62
+ };
55
63
 
56
- ;
64
+ Toolbar.BackButton = _BackButton.default;
65
+ var _default = Toolbar;
66
+ exports.default = _default;
57
67
  //# sourceMappingURL=Toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useStyles","theme","useTheme","root","alignItems","flexWrap","gutters","paddingHorizontal","spacing","sizeMap","small","height","medium","large","Toolbar","props","disableGutters","size","style","otherProps","styles","css","undefined"],"sources":["Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport type { FountainUiStyle, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport Row from '../Row';\nimport { css, useTheme } from '../styles';\nimport type ToolbarProps from './ToolbarProps';\nimport type { ToolbarSize } from './ToolbarProps';\n\ntype ToolbarStyles = NamedStylesStringUnion<'root' | 'gutters'>;\n\nconst useStyles: UseStyles<ToolbarStyles> = function (): ToolbarStyles {\n const theme = useTheme();\n\n return {\n root: {\n alignItems: 'center',\n flexWrap: 'nowrap',\n },\n gutters: {\n paddingHorizontal: theme.spacing(4),\n },\n };\n};\n\nconst sizeMap: Record<ToolbarSize, FountainUiStyle> = {\n small: { height: 48 },\n medium: { height: 50 },\n large: { height: 56 },\n};\n\nexport default function Toolbar(props: ToolbarProps) {\n const {\n disableGutters = false,\n size = 'medium',\n style,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n return (\n <Row\n style={css([\n styles.root,\n !disableGutters ? styles.gutters : undefined,\n sizeMap[size],\n style,\n ])}\n {...otherProps}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;;;AAMA,MAAMA,SAAmC,GAAG,YAA2B;EACnE,MAAMC,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,OAAO;IACHC,IAAI,EAAE;MACFC,UAAU,EAAE,QADV;MAEFC,QAAQ,EAAE;IAFR,CADH;IAKHC,OAAO,EAAE;MACLC,iBAAiB,EAAEN,KAAK,CAACO,OAAN,CAAc,CAAd;IADd;EALN,CAAP;AASH,CAZD;;AAcA,MAAMC,OAA6C,GAAG;EAClDC,KAAK,EAAE;IAAEC,MAAM,EAAE;EAAV,CAD2C;EAElDC,MAAM,EAAE;IAAED,MAAM,EAAE;EAAV,CAF0C;EAGlDE,KAAK,EAAE;IAAEF,MAAM,EAAE;EAAV;AAH2C,CAAtD;;AAMe,SAASG,OAAT,CAAiBC,KAAjB,EAAsC;EACjD,MAAM;IACFC,cAAc,GAAG,KADf;IAEFC,IAAI,GAAG,QAFL;IAGFC,KAHE;IAIF,GAAGC;EAJD,IAKFJ,KALJ;EAOA,MAAMK,MAAM,GAAGpB,SAAS,EAAxB;EAEA,oBACI,6BAAC,YAAD;IACI,KAAK,EAAE,IAAAqB,WAAA,EAAI,CACPD,MAAM,CAACjB,IADA,EAEP,CAACa,cAAD,GAAkBI,MAAM,CAACd,OAAzB,GAAmCgB,SAF5B,EAGPb,OAAO,CAACQ,IAAD,CAHA,EAIPC,KAJO,CAAJ;EADX,GAOQC,UAPR,EADJ;AAWH;;AAAA"}
1
+ {"version":3,"names":["useStyles","shouldApplyHorizontalPadding","useBreakpointUp","container","paddingHorizontal","root","alignItems","flexWrap","sizeMap","small","height","medium","large","Toolbar","props","size","style","otherProps","styles","rootStyle","css","BackButton"],"sources":["Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport type { FountainUiStyle, NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport Row from '../Row';\nimport { useBreakpointUp } from '../hooks';\nimport { css } from '../styles';\nimport BackButton from './BackButton';\nimport type ToolbarProps from './ToolbarProps';\nimport type { ToolbarSize } from './ToolbarProps';\n\ntype ToolbarStyles = NamedStylesStringUnion<'container' | 'root'>;\n\nconst useStyles: UseStyles<ToolbarStyles> = function (): ToolbarStyles {\n const shouldApplyHorizontalPadding = useBreakpointUp('sm', true, false);\n\n return {\n container: {\n paddingHorizontal: shouldApplyHorizontalPadding ? 8 : 0,\n },\n root: {\n alignItems: 'center',\n flexWrap: 'nowrap',\n },\n };\n};\n\nconst sizeMap: Record<ToolbarSize, FountainUiStyle> = {\n small: { height: 48 },\n medium: { height: 50 },\n large: { height: 56 },\n};\n\nconst Toolbar = (props: ToolbarProps) => {\n const {\n size = 'medium',\n style,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n const rootStyle = css([\n styles.root,\n sizeMap[size],\n style,\n ]);\n\n return (\n <View style={styles.container}>\n <Row\n style={rootStyle}\n {...otherProps}\n />\n </View>\n );\n};\n\nToolbar.BackButton = BackButton;\n\nexport default Toolbar;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAMA,MAAMA,SAAmC,GAAG,YAA2B;EACnE,MAAMC,4BAA4B,GAAG,IAAAC,sBAAA,EAAgB,IAAhB,EAAsB,IAAtB,EAA4B,KAA5B,CAArC;EAEA,OAAO;IACHC,SAAS,EAAE;MACPC,iBAAiB,EAAEH,4BAA4B,GAAG,CAAH,GAAO;IAD/C,CADR;IAIHI,IAAI,EAAE;MACFC,UAAU,EAAE,QADV;MAEFC,QAAQ,EAAE;IAFR;EAJH,CAAP;AASH,CAZD;;AAcA,MAAMC,OAA6C,GAAG;EAClDC,KAAK,EAAE;IAAEC,MAAM,EAAE;EAAV,CAD2C;EAElDC,MAAM,EAAE;IAAED,MAAM,EAAE;EAAV,CAF0C;EAGlDE,KAAK,EAAE;IAAEF,MAAM,EAAE;EAAV;AAH2C,CAAtD;;AAMA,MAAMG,OAAO,GAAIC,KAAD,IAAyB;EACrC,MAAM;IACFC,IAAI,GAAG,QADL;IAEFC,KAFE;IAGF,GAAGC;EAHD,IAIFH,KAJJ;EAMA,MAAMI,MAAM,GAAGlB,SAAS,EAAxB;EAEA,MAAMmB,SAAS,GAAG,IAAAC,WAAA,EAAI,CAClBF,MAAM,CAACb,IADW,EAElBG,OAAO,CAACO,IAAD,CAFW,EAGlBC,KAHkB,CAAJ,CAAlB;EAMA,oBACI,6BAAC,iBAAD;IAAM,KAAK,EAAEE,MAAM,CAACf;EAApB,gBACI,6BAAC,YAAD;IACI,KAAK,EAAEgB;EADX,GAEQF,UAFR,EADJ,CADJ;AAQH,CAvBD;;AAyBAJ,OAAO,CAACQ,UAAR,GAAqBA,mBAArB;eAEeR,O"}
@@ -1 +1 @@
1
- {"version":3,"names":["toolbarSizes"],"sources":["ToolbarProps.ts"],"sourcesContent":["import React from 'react';\nimport type { RowProps } from '../Row';\nimport type { OverridableComponentProps } from '../types';\n\nexport const toolbarSizes = ['small', 'medium', 'large'] as const;\nexport type ToolbarSize = typeof toolbarSizes[number];\n\nexport default interface ToolbarProps extends OverridableComponentProps<RowProps, {\n /**\n * The content of the component.\n */\n children: React.ReactNode,\n\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters?: boolean,\n\n /**\n * Determines the height of the toolbar.\n * @default 'medium'\n */\n size?: ToolbarSize;\n}> {}\n"],"mappings":";;;;;;AAIO,MAAMA,YAAY,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,CAArB"}
1
+ {"version":3,"names":["toolbarSizes"],"sources":["ToolbarProps.ts"],"sourcesContent":["import React from 'react';\nimport type { RowProps } from '../Row';\nimport type { OverridableComponentProps } from '../types';\n\nexport const toolbarSizes = ['small', 'medium', 'large'] as const;\nexport type ToolbarSize = typeof toolbarSizes[number];\n\nexport default interface ToolbarProps extends OverridableComponentProps<RowProps, {\n /**\n * The content of the component.\n */\n children: React.ReactNode,\n\n /**\n * Determines the height of the toolbar.\n * @default 'medium'\n */\n size?: ToolbarSize;\n}> {}\n"],"mappings":";;;;;;AAIO,MAAMA,YAAY,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,CAArB"}
@@ -3,6 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "HorizontalLargeBeak", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _HorizontalLargeBeak.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "HorizontalSmallBeak", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _HorizontalSmallBeak.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "VerticalLargeBeak", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _VerticalLargeBeak.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "VerticalSmallBeak", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _VerticalSmallBeak.default;
28
+ }
29
+ });
6
30
  Object.defineProperty(exports, "default", {
7
31
  enumerable: true,
8
32
  get: function () {
@@ -12,5 +36,13 @@ Object.defineProperty(exports, "default", {
12
36
 
13
37
  var _Beak = _interopRequireDefault(require("./Beak"));
14
38
 
39
+ var _HorizontalLargeBeak = _interopRequireDefault(require("./HorizontalLargeBeak"));
40
+
41
+ var _HorizontalSmallBeak = _interopRequireDefault(require("./HorizontalSmallBeak"));
42
+
43
+ var _VerticalLargeBeak = _interopRequireDefault(require("./VerticalLargeBeak"));
44
+
45
+ var _VerticalSmallBeak = _interopRequireDefault(require("./VerticalSmallBeak"));
46
+
15
47
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Beak';\nexport type { default as BeakProps } from './BeakProps';\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Beak';\nexport type { default as BeakProps } from './BeakProps';\nexport { default as HorizontalLargeBeak } from './HorizontalLargeBeak';\nexport { default as HorizontalSmallBeak } from './HorizontalSmallBeak';\nexport { default as VerticalLargeBeak } from './VerticalLargeBeak';\nexport { default as VerticalSmallBeak } from './VerticalSmallBeak';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA"}
@@ -11,11 +11,9 @@ var _reactNative = require("react-native");
11
11
 
12
12
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
13
13
 
14
- var _styles = require("@fountain-ui/styles");
15
-
16
14
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
17
15
 
18
- var _styles2 = require("../styles");
16
+ var _styles = require("../styles");
19
17
 
20
18
  var _Beaks = _interopRequireDefault(require("./Beaks"));
21
19
 
@@ -25,6 +23,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
23
 
26
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
25
 
26
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
28
28
  const DEFAULT_BEAK_LAYOUT = {
29
29
  offset: 0,
30
30
  placement: 'middle'
@@ -57,7 +57,7 @@ const getFlexDirection = placement => {
57
57
  };
58
58
 
59
59
  const useStyles = function () {
60
- const theme = (0, _styles2.useTheme)();
60
+ const theme = (0, _styles.useTheme)();
61
61
  return {
62
62
  root: {
63
63
  position: 'absolute',
@@ -70,14 +70,14 @@ const useStyles = function () {
70
70
  },
71
71
  small: {
72
72
  borderRadius: theme.shape.radius.sm,
73
+ paddingBottom: theme.spacing(1.75),
73
74
  paddingHorizontal: theme.spacing(2),
74
- paddingVertical: theme.spacing(1.5)
75
+ paddingTop: theme.spacing(1.5)
75
76
  },
76
77
  large: {
77
78
  borderRadius: 5,
78
- paddingBottom: theme.spacing(2.5),
79
79
  paddingHorizontal: theme.spacing(4),
80
- paddingTop: theme.spacing(2)
80
+ paddingVertical: theme.spacing(2)
81
81
  }
82
82
  };
83
83
  };
@@ -97,13 +97,14 @@ function Tooltip(props) {
97
97
  title,
98
98
  tooltipStyle,
99
99
  verticalOffset = 4,
100
- visible = false
100
+ visible = false,
101
+ ...otherProps
101
102
  } = props;
102
103
  const {
103
104
  offset: beakOffset,
104
105
  placement: beakPlacement
105
106
  } = beakLayout;
106
- const theme = (0, _styles2.useTheme)();
107
+ const theme = (0, _styles.useTheme)();
107
108
  const styles = useStyles();
108
109
  const [layout, setLayout] = (0, _react.useState)(initialLayout);
109
110
  const scale = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -111,7 +112,7 @@ function Tooltip(props) {
111
112
  transform: [{
112
113
  scale: scale.value
113
114
  }]
114
- }), []);
115
+ }), [scale]);
115
116
  const flexDirection = getFlexDirection(placement);
116
117
  const isVerticalPlacement = placement === 'top' || placement === 'bottom';
117
118
  const totalOffset = -((isVerticalPlacement ? layout.height : layout.width) + verticalOffset);
@@ -130,7 +131,7 @@ function Tooltip(props) {
130
131
  }),
131
132
  [placement]: totalOffset
132
133
  };
133
- const contentStyle = (0, _styles2.css)([styles.content, styles[size], isVerticalPlacement ? {
134
+ const contentStyle = (0, _styles.css)([styles.content, styles[size], isVerticalPlacement ? {
134
135
  width: '100%'
135
136
  } : {
136
137
  flexGrow: 1,
@@ -140,19 +141,14 @@ function Tooltip(props) {
140
141
  const nextScaleValue = visible ? 1 : 0;
141
142
  scale.value = (0, _reactNativeReanimated.withTiming)(nextScaleValue, ANIMATION_CONFIG);
142
143
  }, [visible]);
143
- const fontStyle = (0, _styles2.createFontStyle)(theme, {
144
- selector: typo => size === 'large' ? (0, _styles.typographyOf)({
145
- fontSize: 13,
146
- lineHeight: 19.5,
147
- fontFamily: 'Pretendard-Regular',
148
- letterSpacing: 0
149
- }) : typo.caption2.regular,
144
+ const fontStyle = (0, _styles.createFontStyle)(theme, {
145
+ selector: typo => size === 'large' ? typo.body3.regular : typo.caption2.regular,
150
146
  color: theme.palette.text.strongInverse
151
147
  });
152
- const textStyle = (0, _styles2.css)([fontStyle, {
148
+ const textStyle = (0, _styles.css)([fontStyle, {
153
149
  flexShrink: 1
154
150
  }]);
155
- const beakStyle = (0, _styles2.css)({
151
+ const beakStyle = (0, _styles.css)({
156
152
  transform: [isVerticalPlacement ? {
157
153
  translateX: beakOffset
158
154
  } : {
@@ -178,9 +174,9 @@ function Tooltip(props) {
178
174
  size: size
179
175
  }));
180
176
 
181
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
177
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
182
178
  style: style
183
- }, children, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
179
+ }, otherProps), children, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
184
180
  onLayout: event => {
185
181
  if (event.nativeEvent.layout.height === 0) {
186
182
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_BEAK_LAYOUT","offset","placement","INITIAL_LAYOUT","width","height","x","y","ANIMATION_CONFIG","duration","getFlexDirection","useStyles","theme","useTheme","root","position","zIndex","tooltip","content","backgroundColor","palette","fill","base","paddingHorizontal","spacing","paddingVertical","small","borderRadius","shape","radius","sm","large","paddingBottom","paddingTop","Tooltip","props","beakLayout","children","initialLayout","left","onClose","right","numberOfTitleLines","size","style","title","tooltipStyle","verticalOffset","visible","beakOffset","beakPlacement","styles","layout","setLayout","useState","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","value","flexDirection","isVerticalPlacement","totalOffset","tooltipLayoutStyle","alignItems","undefined","overflow","Platform","select","web","display","default","contentStyle","css","flexGrow","flexShrink","useEffect","nextScaleValue","withTiming","fontStyle","createFontStyle","selector","typo","typographyOf","fontSize","lineHeight","fontFamily","letterSpacing","caption2","regular","color","text","strongInverse","textStyle","beakStyle","translateX","translateY","buttonElem","beakElem","event","nativeEvent"],"sources":["Tooltip.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Platform, Text, View, ViewProps } from 'react-native';\nimport type { WithTimingConfig } from 'react-native-reanimated';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport ButtonBase from '../ButtonBase';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type TooltipProps from './TooltipProps';\nimport type { TooltipBeakLayout, TooltipPlacement, TooltipSize } from './TooltipProps';\nimport Beak from './Beaks';\n\nconst DEFAULT_BEAK_LAYOUT: TooltipBeakLayout = {\n offset: 0,\n placement: 'middle',\n};\n\nconst INITIAL_LAYOUT = { width: 0, height: 0, x: 0, y: 0 };\n\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = { duration: 150 };\n\ntype FlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\n\nconst getFlexDirection = (placement: TooltipPlacement): FlexDirection => {\n switch (placement) {\n case 'right':\n return 'row-reverse';\n case 'bottom':\n return 'column-reverse';\n case 'left':\n return 'row';\n case 'top':\n default:\n return 'column';\n }\n};\n\ntype TooltipStyles = NamedStylesStringUnion<'root' | 'content' | 'small' | 'large'>;\n\nconst useStyles: UseStyles<TooltipStyles> = function (): TooltipStyles {\n const theme = useTheme();\n\n return {\n root: {\n position: 'absolute',\n zIndex: theme.zIndex.tooltip,\n },\n content: {\n backgroundColor: theme.palette.fill.base,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n small: {\n borderRadius: theme.shape.radius.sm,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n large: {\n borderRadius: 5,\n paddingBottom: theme.spacing(2.5),\n paddingHorizontal: theme.spacing(4),\n paddingTop: theme.spacing(2),\n },\n };\n};\n\nexport default function Tooltip(props: TooltipProps) {\n const {\n beakLayout = DEFAULT_BEAK_LAYOUT,\n children,\n initialLayout = INITIAL_LAYOUT,\n left,\n onClose,\n placement = 'top' as TooltipPlacement,\n right,\n numberOfTitleLines = 1,\n size = 'small' as TooltipSize,\n style,\n title,\n tooltipStyle,\n verticalOffset = 4,\n visible = false,\n } = props;\n\n const {\n offset: beakOffset,\n placement: beakPlacement,\n } = beakLayout;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const [layout, setLayout] = useState(initialLayout);\n\n const scale = useSharedValue(0);\n\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }), []);\n\n const flexDirection = getFlexDirection(placement);\n\n const isVerticalPlacement = placement === 'top' || placement === 'bottom';\n\n const totalOffset = -((isVerticalPlacement ? layout.height : layout.width) + verticalOffset);\n const tooltipLayoutStyle: ViewProps['style'] = {\n alignItems: beakPlacement === 'start'\n ? 'flex-start'\n : beakPlacement === 'end'\n ? 'flex-end'\n : 'center',\n flexDirection,\n left,\n right,\n height: visible ? undefined : 0,\n overflow: visible ? undefined : 'hidden',\n ...Platform.select({\n web: {\n display: visible ? 'flex' : 'none',\n },\n default: {},\n }),\n [placement]: totalOffset,\n };\n\n const contentStyle = css([\n styles.content,\n styles[size],\n isVerticalPlacement\n ? { width: '100%' }\n : { flexGrow: 1, flexShrink: 1 },\n ]);\n\n useEffect(() => {\n const nextScaleValue = visible ? 1 : 0;\n\n scale.value = withTiming(nextScaleValue, ANIMATION_CONFIG);\n }, [visible]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (typo) => size === 'large'\n ? typographyOf({\n fontSize: 13,\n lineHeight: 19.5,\n fontFamily: 'Pretendard-Regular',\n letterSpacing: 0,\n })\n : typo.caption2.regular,\n color: theme.palette.text.strongInverse,\n });\n\n const textStyle = css([\n fontStyle,\n { flexShrink: 1 },\n ]);\n\n const beakStyle = css({\n transform: [isVerticalPlacement ? { translateX: beakOffset } : { translateY: beakOffset }],\n });\n\n const buttonElem = (\n <ButtonBase\n pressEffect={'none'}\n onPress={onClose}\n style={contentStyle}\n >\n <Text\n // TODO: Should we provide text prop customization?\n numberOfLines={numberOfTitleLines}\n style={textStyle}\n >\n {title}\n </Text>\n </ButtonBase>\n );\n\n const beakElem = (\n <View style={beakStyle}>\n <Beak\n fill={theme.palette.fill.base}\n placement={placement}\n size={size}\n />\n </View>\n );\n\n return (\n <View style={style}>\n {children}\n\n <Animated.View\n onLayout={(event) => {\n if (event.nativeEvent.layout.height === 0) {\n return;\n }\n\n setLayout(event.nativeEvent.layout);\n }}\n style={[\n styles.root,\n animatedStyle,\n tooltipLayoutStyle,\n tooltipStyle,\n ]}\n >\n {buttonElem}\n\n {beakElem}\n </Animated.View>\n </View>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["DEFAULT_BEAK_LAYOUT","offset","placement","INITIAL_LAYOUT","width","height","x","y","ANIMATION_CONFIG","duration","getFlexDirection","useStyles","theme","useTheme","root","position","zIndex","tooltip","content","backgroundColor","palette","fill","base","paddingHorizontal","spacing","paddingVertical","small","borderRadius","shape","radius","sm","paddingBottom","paddingTop","large","Tooltip","props","beakLayout","children","initialLayout","left","onClose","right","numberOfTitleLines","size","style","title","tooltipStyle","verticalOffset","visible","otherProps","beakOffset","beakPlacement","styles","layout","setLayout","useState","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","value","flexDirection","isVerticalPlacement","totalOffset","tooltipLayoutStyle","alignItems","undefined","overflow","Platform","select","web","display","default","contentStyle","css","flexGrow","flexShrink","useEffect","nextScaleValue","withTiming","fontStyle","createFontStyle","selector","typo","body3","regular","caption2","color","text","strongInverse","textStyle","beakStyle","translateX","translateY","buttonElem","beakElem","event","nativeEvent"],"sources":["Tooltip.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Platform, Text, View, ViewProps } from 'react-native';\nimport type { WithTimingConfig } from 'react-native-reanimated';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport ButtonBase from '../ButtonBase';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type TooltipProps from './TooltipProps';\nimport type { TooltipBeakLayout, TooltipPlacement, TooltipSize } from './TooltipProps';\nimport Beak from './Beaks';\n\nconst DEFAULT_BEAK_LAYOUT: TooltipBeakLayout = {\n offset: 0,\n placement: 'middle',\n};\n\nconst INITIAL_LAYOUT = { width: 0, height: 0, x: 0, y: 0 };\n\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = { duration: 150 };\n\ntype FlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\n\nconst getFlexDirection = (placement: TooltipPlacement): FlexDirection => {\n switch (placement) {\n case 'right':\n return 'row-reverse';\n case 'bottom':\n return 'column-reverse';\n case 'left':\n return 'row';\n case 'top':\n default:\n return 'column';\n }\n};\n\ntype TooltipStyles = NamedStylesStringUnion<'root' | 'content' | 'small' | 'large'>;\n\nconst useStyles: UseStyles<TooltipStyles> = function (): TooltipStyles {\n const theme = useTheme();\n\n return {\n root: {\n position: 'absolute',\n zIndex: theme.zIndex.tooltip,\n },\n content: {\n backgroundColor: theme.palette.fill.base,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n small: {\n borderRadius: theme.shape.radius.sm,\n paddingBottom: theme.spacing(1.75),\n paddingHorizontal: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n },\n large: {\n borderRadius: 5,\n paddingHorizontal: theme.spacing(4),\n paddingVertical: theme.spacing(2),\n },\n };\n};\n\nexport default function Tooltip(props: TooltipProps) {\n const {\n beakLayout = DEFAULT_BEAK_LAYOUT,\n children,\n initialLayout = INITIAL_LAYOUT,\n left,\n onClose,\n placement = 'top' as TooltipPlacement,\n right,\n numberOfTitleLines = 1,\n size = 'small' as TooltipSize,\n style,\n title,\n tooltipStyle,\n verticalOffset = 4,\n visible = false,\n ...otherProps\n } = props;\n\n const {\n offset: beakOffset,\n placement: beakPlacement,\n } = beakLayout;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const [layout, setLayout] = useState(initialLayout);\n\n const scale = useSharedValue(0);\n\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }), [scale]);\n\n const flexDirection = getFlexDirection(placement);\n\n const isVerticalPlacement = placement === 'top' || placement === 'bottom';\n\n const totalOffset = -((isVerticalPlacement ? layout.height : layout.width) + verticalOffset);\n const tooltipLayoutStyle: ViewProps['style'] = {\n alignItems: beakPlacement === 'start'\n ? 'flex-start'\n : beakPlacement === 'end'\n ? 'flex-end'\n : 'center',\n flexDirection,\n left,\n right,\n height: visible ? undefined : 0,\n overflow: visible ? undefined : 'hidden',\n ...Platform.select({\n web: {\n display: visible ? 'flex' : 'none',\n },\n default: {},\n }),\n [placement]: totalOffset,\n };\n\n const contentStyle = css([\n styles.content,\n styles[size],\n isVerticalPlacement\n ? { width: '100%' }\n : { flexGrow: 1, flexShrink: 1 },\n ]);\n\n useEffect(() => {\n const nextScaleValue = visible ? 1 : 0;\n\n scale.value = withTiming(nextScaleValue, ANIMATION_CONFIG);\n }, [visible]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (typo) => size === 'large'\n ? typo.body3.regular\n : typo.caption2.regular,\n color: theme.palette.text.strongInverse,\n });\n\n const textStyle = css([\n fontStyle,\n { flexShrink: 1 },\n ]);\n\n const beakStyle = css({\n transform: [isVerticalPlacement ? { translateX: beakOffset } : { translateY: beakOffset }],\n });\n\n const buttonElem = (\n <ButtonBase\n pressEffect={'none'}\n onPress={onClose}\n style={contentStyle}\n >\n <Text\n // TODO: Should we provide text prop customization?\n numberOfLines={numberOfTitleLines}\n style={textStyle}\n >\n {title}\n </Text>\n </ButtonBase>\n );\n\n const beakElem = (\n <View style={beakStyle}>\n <Beak\n fill={theme.palette.fill.base}\n placement={placement}\n size={size}\n />\n </View>\n );\n\n return (\n <View\n style={style}\n {...otherProps}\n >\n {children}\n\n <Animated.View\n onLayout={(event) => {\n if (event.nativeEvent.layout.height === 0) {\n return;\n }\n\n setLayout(event.nativeEvent.layout);\n }}\n style={[\n styles.root,\n animatedStyle,\n tooltipLayoutStyle,\n tooltipStyle,\n ]}\n >\n {buttonElem}\n\n {beakElem}\n </Animated.View>\n </View>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["tooltipPlacements","tooltipSizes","tooltipBeakPlacements"],"sources":["TooltipProps.ts"],"sourcesContent":["import React from 'react';\nimport type { TextProps, ViewProps } from 'react-native';\nimport type { ComponentProps } from '../types';\nimport type { ButtonProps } from '../Button';\n\nexport const tooltipPlacements = ['top', 'bottom', 'left', 'right'] as const;\nexport type TooltipPlacement = typeof tooltipPlacements[number];\n\nexport const tooltipSizes = ['small', 'large'] as const;\nexport type TooltipSize = typeof tooltipSizes[number];\n\nexport const tooltipBeakPlacements = ['start', 'middle', 'end'] as const;\nexport type TooltipBeakPlacement = typeof tooltipBeakPlacements[number];\n\nexport type TooltipBeakLayout = {\n placement: TooltipBeakPlacement;\n offset: number;\n};\n\nexport type TooltipInitialLayout = {\n height: number;\n width: number;\n x: number;\n y: number;\n};\n\nexport default interface TooltipProps extends ComponentProps<{\n /**\n * Tooltip reference element.\n */\n children: React.ReactNode;\n\n /**\n * Left position relative to reference element.\n */\n left?: number;\n\n /**\n * Callback fired when the component requests to be closed.\n */\n onClose?: () => void;\n\n /**\n * Tooltip placement.\n * @default 'top'\n */\n placement?: TooltipPlacement;\n\n /**\n * Right position relative to reference element.\n */\n right?: number;\n\n /**\n * Tooltip title.\n */\n title: ButtonProps['children'];\n\n /**\n * Additional style for tooltip wrapper.\n */\n tooltipStyle?: ViewProps['style'];\n\n /**\n * The additional amount to vertically shift.\n * @default 4\n */\n verticalOffset?: number;\n\n /**\n * If `true`, the tooltip is shown.\n * @default false\n */\n visible?: boolean;\n\n /**\n * Tooltip beak layout.\n * If 'undefined', the beak will be centered on tooltip.\n */\n beakLayout?: TooltipBeakLayout;\n\n /**\n * number of tooltip's title lines\n * @default 1\n */\n numberOfTitleLines?: TextProps['numberOfLines'];\n\n /**\n * position of tooltip before onLayout call\n * @default { height: 0, width: 0 , x: 0, y: 0}\n */\n initialLayout?: TooltipInitialLayout;\n\n /**\n * Determines the size of the tooltip.\n * @default 'small'\n */\n size?: TooltipSize;\n}> {}\n"],"mappings":";;;;;;AAKO,MAAMA,iBAAiB,GAAG,CAAC,KAAD,EAAQ,QAAR,EAAkB,MAAlB,EAA0B,OAA1B,CAA1B;;AAGA,MAAMC,YAAY,GAAG,CAAC,OAAD,EAAU,OAAV,CAArB;;AAGA,MAAMC,qBAAqB,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAA9B"}
1
+ {"version":3,"names":["tooltipPlacements","tooltipSizes","tooltipBeakPlacements"],"sources":["TooltipProps.ts"],"sourcesContent":["import React from 'react';\nimport type { TextProps, ViewProps } from 'react-native';\nimport type { ButtonProps } from '../Button';\nimport type { OverridableComponentProps } from '../types';\n\nexport const tooltipPlacements = ['top', 'bottom', 'left', 'right'] as const;\nexport type TooltipPlacement = typeof tooltipPlacements[number];\n\nexport const tooltipSizes = ['small', 'large'] as const;\nexport type TooltipSize = typeof tooltipSizes[number];\n\nexport const tooltipBeakPlacements = ['start', 'middle', 'end'] as const;\nexport type TooltipBeakPlacement = typeof tooltipBeakPlacements[number];\n\nexport type TooltipBeakLayout = {\n placement: TooltipBeakPlacement;\n offset: number;\n};\n\nexport type TooltipInitialLayout = {\n height: number;\n width: number;\n x: number;\n y: number;\n};\n\nexport default interface TooltipProps extends OverridableComponentProps<ViewProps, {\n /**\n * Tooltip reference element.\n */\n children: React.ReactNode;\n\n /**\n * Left position relative to reference element.\n */\n left?: number;\n\n /**\n * Callback fired when the component requests to be closed.\n */\n onClose?: () => void;\n\n /**\n * Tooltip placement.\n * @default 'top'\n */\n placement?: TooltipPlacement;\n\n /**\n * Right position relative to reference element.\n */\n right?: number;\n\n /**\n * Tooltip title.\n */\n title: ButtonProps['children'];\n\n /**\n * Additional style for tooltip wrapper.\n */\n tooltipStyle?: ViewProps['style'];\n\n /**\n * The additional amount to vertically shift.\n * @default 4\n */\n verticalOffset?: number;\n\n /**\n * If `true`, the tooltip is shown.\n * @default false\n */\n visible?: boolean;\n\n /**\n * Tooltip beak layout.\n * If 'undefined', the beak will be centered on tooltip.\n */\n beakLayout?: TooltipBeakLayout;\n\n /**\n * number of tooltip's title lines\n * @default 1\n */\n numberOfTitleLines?: TextProps['numberOfLines'];\n\n /**\n * position of tooltip before onLayout call\n * @default { height: 0, width: 0 , x: 0, y: 0}\n */\n initialLayout?: TooltipInitialLayout;\n\n /**\n * Determines the size of the tooltip.\n * @default 'small'\n */\n size?: TooltipSize;\n}> {}\n"],"mappings":";;;;;;AAKO,MAAMA,iBAAiB,GAAG,CAAC,KAAD,EAAQ,QAAR,EAAkB,MAAlB,EAA0B,OAA1B,CAA1B;;AAGA,MAAMC,YAAY,GAAG,CAAC,OAAD,EAAU,OAAV,CAArB;;AAGA,MAAMC,qBAAqB,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAA9B"}
@@ -3,6 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ tooltipBeakPlacements: true,
8
+ tooltipPlacements: true,
9
+ tooltipSizes: true
10
+ };
6
11
  Object.defineProperty(exports, "default", {
7
12
  enumerable: true,
8
13
  get: function () {
@@ -32,5 +37,19 @@ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
32
37
 
33
38
  var _TooltipProps = require("./TooltipProps");
34
39
 
40
+ var _Beaks = require("./Beaks");
41
+
42
+ Object.keys(_Beaks).forEach(function (key) {
43
+ if (key === "default" || key === "__esModule") return;
44
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
45
+ if (key in exports && exports[key] === _Beaks[key]) return;
46
+ Object.defineProperty(exports, key, {
47
+ enumerable: true,
48
+ get: function () {
49
+ return _Beaks[key];
50
+ }
51
+ });
52
+ });
53
+
35
54
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Tooltip';\nexport type { default as TooltipProps, TooltipBeakLayout, TooltipBeakPlacement } from './TooltipProps';\nexport { tooltipBeakPlacements, tooltipPlacements, tooltipSizes } from './TooltipProps';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './Tooltip';\nexport type { default as TooltipProps, TooltipBeakLayout, TooltipBeakPlacement } from './TooltipProps';\nexport { tooltipBeakPlacements, tooltipPlacements, tooltipSizes } from './TooltipProps';\nexport * from './Beaks';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -55,6 +55,7 @@ const Typography = /*#__PURE__*/_react.default.forwardRef(function Typography(pr
55
55
  color: colorProp = 'inherit',
56
56
  ellipsizeMode = 'tail',
57
57
  href,
58
+ lineHeight,
58
59
  numberOfLines,
59
60
  onPress,
60
61
  selectable,
@@ -66,7 +67,11 @@ const Typography = /*#__PURE__*/_react.default.forwardRef(function Typography(pr
66
67
  } = props;
67
68
  const theme = (0, _styles.useTheme)();
68
69
  const fontStyle = (0, _styles.createFontStyle)(theme, {
69
- selector: typography => typography[variant][weight],
70
+ selector: typography => {
71
+ var _typography$variant;
72
+
73
+ return (_typography$variant = typography[variant]) === null || _typography$variant === void 0 ? void 0 : _typography$variant[weight];
74
+ },
70
75
  color: selectColor(theme, colorProp)
71
76
  }); // To prevent white-space: pre, word-wrap:break-word style conflicting issue at safari browser.
72
77
 
@@ -75,7 +80,9 @@ const Typography = /*#__PURE__*/_react.default.forwardRef(function Typography(pr
75
80
  } : {};
76
81
  const textStyle = (0, _styles.css)([styles.root, {
77
82
  textAlign: align === 'inherit' ? 'auto' : align
78
- }, textWrapStyle, fontStyle, style]);
83
+ }, textWrapStyle, fontStyle, lineHeight ? {
84
+ lineHeight
85
+ } : undefined, style]);
79
86
  const accessibility = accessibilityMap[variant];
80
87
  const variantRole = href !== undefined ? 'link' : accessibility === null || accessibility === void 0 ? void 0 : accessibility.accessibilityRole;
81
88
  const variantLevel = accessibility === null || accessibility === void 0 ? void 0 : accessibility['area-level'];
@@ -1 +1 @@
1
- {"version":3,"names":["accessibilityMap","selectColor","theme","colorProp","Platform","OS","undefined","palette","text","styles","StyleSheet","create","root","flexShrink","maxWidth","Typography","React","forwardRef","props","ref","accessibilityRole","align","ariaLevel","disableFontScaling","children","color","ellipsizeMode","href","numberOfLines","onPress","selectable","style","variant","weight","onLayout","onTextLayout","useTheme","fontStyle","createFontStyle","selector","typography","textWrapStyle","wordWrap","textStyle","css","textAlign","accessibility","variantRole","variantLevel","memo"],"sources":["Typography.tsx"],"sourcesContent":["import React from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform, Text } from 'react-native';\nimport type { FontVariant, FontWeight, Theme } from '@fountain-ui/styles';\nimport { createFontStyle, css, StyleSheet, useTheme } from '../styles';\nimport type TypographyProps from './TypographyProps';\nimport type { AccessibilityMap, TypographyAlign, TypographyColor } from './TypographyProps';\n\nconst accessibilityMap: AccessibilityMap = {\n // TODO: set accessibilityRole.\n // h1: { accessibilityRole: 'header', 'aria-level': 1 },\n // h2: { accessibilityRole: 'header', 'aria-level': 2 },\n // h3: { accessibilityRole: 'header', 'aria-level': 3 },\n // subtitle1: { accessibilityRole: 'header', 'aria-level': 6 },\n // subtitle2: { accessibilityRole: 'header', 'aria-level': 6 },\n // body1: { accessibilityRole: 'text' },\n // body2: { accessibilityRole: 'text' },\n // caption1: { accessibilityRole: 'text' },\n // caption2: { accessibilityRole: 'text' },\n // flag: { accessibilityRole: 'text' },\n};\n\nfunction selectColor(theme: Theme, colorProp: TypographyColor): string | undefined {\n switch (colorProp) {\n case 'inherit':\n return Platform.OS === 'web' ? 'inherit' : undefined;\n default:\n return theme.palette.text[colorProp];\n }\n}\n\nconst styles = StyleSheet.create({\n root: {\n flexShrink: 1,\n ...(Platform.OS === 'web' ? { maxWidth: '100%' } : {}),\n },\n});\n\nconst Typography = React.forwardRef<Text, TypographyProps>(function Typography(props, ref) {\n const {\n accessibilityRole,\n align = 'inherit' as TypographyAlign,\n ariaLevel,\n disableFontScaling = false,\n children,\n color: colorProp = 'inherit' as TypographyColor,\n ellipsizeMode = 'tail' as TextProps['ellipsizeMode'],\n href,\n numberOfLines,\n onPress,\n selectable,\n style,\n variant = 'body1' as FontVariant,\n weight = 'medium' as FontWeight,\n onLayout,\n onTextLayout,\n } = props;\n\n const theme = useTheme();\n\n const fontStyle = createFontStyle(theme, {\n selector: (typography) => typography[variant][weight],\n color: selectColor(theme, colorProp),\n });\n\n // To prevent white-space: pre, word-wrap:break-word style conflicting issue at safari browser.\n const textWrapStyle = numberOfLines && numberOfLines > 0 && Platform.OS === 'web' ? { wordWrap: 'normal' } : {};\n\n const textStyle = css([\n styles.root,\n { textAlign: align === 'inherit' ? 'auto' : align },\n textWrapStyle as TextStyle,\n fontStyle,\n style,\n ]);\n\n const accessibility = accessibilityMap[variant];\n const variantRole = href !== undefined ? 'link' : accessibility?.accessibilityRole;\n const variantLevel = accessibility?.['area-level'];\n\n return (\n <Text\n ref={ref}\n accessibilityRole={accessibilityRole || variantRole}\n allowFontScaling={!disableFontScaling}\n aria-level={ariaLevel || variantLevel}\n children={children}\n ellipsizeMode={ellipsizeMode}\n // @ts-ignore\n href={href}\n numberOfLines={numberOfLines}\n onPress={onPress}\n selectable={selectable}\n style={textStyle}\n onLayout={onLayout}\n onTextLayout={onTextLayout}\n />\n );\n});\n\nexport default React.memo(Typography);\n"],"mappings":"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"}
1
+ {"version":3,"names":["accessibilityMap","selectColor","theme","colorProp","Platform","OS","undefined","palette","text","styles","StyleSheet","create","root","flexShrink","maxWidth","Typography","React","forwardRef","props","ref","accessibilityRole","align","ariaLevel","disableFontScaling","children","color","ellipsizeMode","href","lineHeight","numberOfLines","onPress","selectable","style","variant","weight","onLayout","onTextLayout","useTheme","fontStyle","createFontStyle","selector","typography","textWrapStyle","wordWrap","textStyle","css","textAlign","accessibility","variantRole","variantLevel","memo"],"sources":["Typography.tsx"],"sourcesContent":["import React from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform, Text } from 'react-native';\nimport type { FontVariant, FontWeight, Theme } from '@fountain-ui/styles';\nimport { createFontStyle, css, StyleSheet, useTheme } from '../styles';\nimport type TypographyProps from './TypographyProps';\nimport type { AccessibilityMap, TypographyAlign, TypographyColor } from './TypographyProps';\n\nconst accessibilityMap: AccessibilityMap = {\n // TODO: set accessibilityRole.\n // h1: { accessibilityRole: 'header', 'aria-level': 1 },\n // h2: { accessibilityRole: 'header', 'aria-level': 2 },\n // h3: { accessibilityRole: 'header', 'aria-level': 3 },\n // subtitle1: { accessibilityRole: 'header', 'aria-level': 6 },\n // subtitle2: { accessibilityRole: 'header', 'aria-level': 6 },\n // body1: { accessibilityRole: 'text' },\n // body2: { accessibilityRole: 'text' },\n // caption1: { accessibilityRole: 'text' },\n // caption2: { accessibilityRole: 'text' },\n // flag: { accessibilityRole: 'text' },\n};\n\nfunction selectColor(theme: Theme, colorProp: TypographyColor): string | undefined {\n switch (colorProp) {\n case 'inherit':\n return Platform.OS === 'web' ? 'inherit' : undefined;\n default:\n return theme.palette.text[colorProp];\n }\n}\n\nconst styles = StyleSheet.create({\n root: {\n flexShrink: 1,\n ...(Platform.OS === 'web' ? { maxWidth: '100%' } : {}),\n },\n});\n\nconst Typography = React.forwardRef<Text, TypographyProps>(function Typography(props, ref) {\n const {\n accessibilityRole,\n align = 'inherit' as TypographyAlign,\n ariaLevel,\n disableFontScaling = false,\n children,\n color: colorProp = 'inherit' as TypographyColor,\n ellipsizeMode = 'tail' as TextProps['ellipsizeMode'],\n href,\n lineHeight,\n numberOfLines,\n onPress,\n selectable,\n style,\n variant = 'body1' as FontVariant,\n weight = 'medium' as FontWeight,\n onLayout,\n onTextLayout,\n } = props;\n\n const theme = useTheme();\n\n const fontStyle = createFontStyle(theme, {\n selector: (typography) => typography[variant]?.[weight],\n color: selectColor(theme, colorProp),\n });\n\n // To prevent white-space: pre, word-wrap:break-word style conflicting issue at safari browser.\n const textWrapStyle = numberOfLines && numberOfLines > 0 && Platform.OS === 'web' ? { wordWrap: 'normal' } : {};\n\n const textStyle = css([\n styles.root,\n { textAlign: align === 'inherit' ? 'auto' : align },\n textWrapStyle as TextStyle,\n fontStyle,\n lineHeight ? { lineHeight } : undefined,\n style,\n ]);\n\n const accessibility = accessibilityMap[variant];\n const variantRole = href !== undefined ? 'link' : accessibility?.accessibilityRole;\n const variantLevel = accessibility?.['area-level'];\n\n return (\n <Text\n ref={ref}\n accessibilityRole={accessibilityRole || variantRole}\n allowFontScaling={!disableFontScaling}\n aria-level={ariaLevel || variantLevel}\n children={children}\n ellipsizeMode={ellipsizeMode}\n // @ts-ignore\n href={href}\n numberOfLines={numberOfLines}\n onPress={onPress}\n selectable={selectable}\n style={textStyle}\n onLayout={onLayout}\n onTextLayout={onTextLayout}\n />\n );\n});\n\nexport default React.memo(Typography);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["typographyColors"],"sources":["TypographyProps.ts"],"sourcesContent":["import React from 'react';\nimport type { AccessibilityProps, TextProps, TextStyle } from 'react-native';\nimport type { FontVariant, FontWeight } from '@fountain-ui/styles';\nimport type { ComponentProps } from '../types';\n\nexport type TypographyAlign = 'inherit' | TextStyle['textAlign'];\n\nexport const typographyColors = [\n 'inherit',\n 'accent',\n 'accentAlt',\n 'strong',\n 'strongInverse',\n 'base',\n 'baseInverse',\n 'baseOpacity',\n 'baseOpacityInverse',\n 'weak',\n 'weakOpacity',\n 'weakInverse',\n 'weakOpacityInverse',\n] as const;\n\nexport type TypographyColor = typeof typographyColors[number];\n\nexport interface Accessibility {\n accessibilityRole: AccessibilityProps['accessibilityRole'];\n 'area-level'?: number;\n}\n\nexport type AccessibilityMap = Partial<Record<FontVariant, Accessibility>>;\n\nexport default interface TypographyProps extends ComponentProps<{\n /**\n * Applies HTML tag at web and communicates purpose of component at app\n */\n accessibilityRole?: AccessibilityProps['accessibilityRole'];\n\n /**\n * Set the text-align on the component.\n * The value 'justify' is not supported on Android and fallbacks to left.\n * @default 'inherit'\n */\n align?: TypographyAlign;\n\n /**\n * Applies HTML heading level\n */\n ariaLevel?: number;\n\n /**\n * Specifies whether fonts should scale to respect Text Size accessibility settings.\n * @default false\n */\n disableFontScaling?: boolean;\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'inherit'\n */\n color?: TypographyColor;\n\n /**\n * The text ellipsis mode.\n * @default 'tail'\n */\n ellipsizeMode?: TextProps['ellipsizeMode'];\n\n /**\n * Internal use only. The hyperlink of the text.\n */\n href?: string;\n\n /**\n * Used to truncate the text with an ellipsis after computing the text\n * layout, including line wrapping, such that the total number of lines\n * does not exceed this number.\n */\n numberOfLines?: TextProps['numberOfLines'];\n\n /**\n * Lets the user select text, to use the native copy and paste functionality.\n */\n onPress?: TextProps['onPress'];\n\n /**\n * Lets the user select text, to use the native copy and paste functionality.\n */\n selectable?: boolean;\n\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant?: FontVariant;\n\n /**\n * Determines the font weight.\n * @default 'medium'\n */\n weight?: FontWeight;\n\n /**\n * Callback that is called when the text layout has been calculated.\n */\n onTextLayout?: TextProps['onTextLayout'];\n\n /**\n * Callback that is called when the layout of the Text component changes.\n */\n onLayout?: TextProps['onLayout'];\n}> {}\n"],"mappings":";;;;;;AAOO,MAAMA,gBAAgB,GAAG,CAC5B,SAD4B,EAE5B,QAF4B,EAG5B,WAH4B,EAI5B,QAJ4B,EAK5B,eAL4B,EAM5B,MAN4B,EAO5B,aAP4B,EAQ5B,aAR4B,EAS5B,oBAT4B,EAU5B,MAV4B,EAW5B,aAX4B,EAY5B,aAZ4B,EAa5B,oBAb4B,CAAzB"}
1
+ {"version":3,"names":["typographyColors"],"sources":["TypographyProps.ts"],"sourcesContent":["import React from 'react';\nimport type { AccessibilityProps, TextProps, TextStyle } from 'react-native';\nimport type { FontVariant, FontWeight } from '@fountain-ui/styles';\nimport type { ComponentProps } from '../types';\n\nexport type TypographyAlign = 'inherit' | TextStyle['textAlign'];\n\nexport const typographyColors = [\n 'inherit',\n 'accent',\n 'accentAlt',\n 'strong',\n 'strongInverse',\n 'base',\n 'baseInverse',\n 'baseOpacity',\n 'baseOpacityInverse',\n 'weak',\n 'weakOpacity',\n 'weakInverse',\n 'weakOpacityInverse',\n] as const;\n\nexport type TypographyColor = typeof typographyColors[number];\n\nexport interface Accessibility {\n accessibilityRole: AccessibilityProps['accessibilityRole'];\n 'area-level'?: number;\n}\n\nexport type AccessibilityMap = Partial<Record<FontVariant, Accessibility>>;\n\nexport default interface TypographyProps extends ComponentProps<{\n /**\n * Applies HTML tag at web and communicates purpose of component at app\n */\n accessibilityRole?: AccessibilityProps['accessibilityRole'];\n\n /**\n * Set the text-align on the component.\n * The value 'justify' is not supported on Android and fallbacks to left.\n * @default 'inherit'\n */\n align?: TypographyAlign;\n\n /**\n * Applies HTML heading level\n */\n ariaLevel?: number;\n\n /**\n * Specifies whether fonts should scale to respect Text Size accessibility settings.\n * @default false\n */\n disableFontScaling?: boolean;\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'inherit'\n */\n color?: TypographyColor;\n\n /**\n * The text ellipsis mode.\n * @default 'tail'\n */\n ellipsizeMode?: TextProps['ellipsizeMode'];\n\n /**\n * Internal use only. The hyperlink of the text.\n */\n href?: string;\n\n /**\n * Defines the vertical spacing between lines of text.\n */\n lineHeight?: TextStyle['lineHeight'];\n\n /**\n * Used to truncate the text with an ellipsis after computing the text\n * layout, including line wrapping, such that the total number of lines\n * does not exceed this number.\n */\n numberOfLines?: TextProps['numberOfLines'];\n\n /**\n * Lets the user select text, to use the native copy and paste functionality.\n */\n onPress?: TextProps['onPress'];\n\n /**\n * Lets the user select text, to use the native copy and paste functionality.\n */\n selectable?: boolean;\n\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant?: FontVariant;\n\n /**\n * Determines the font weight.\n * @default 'medium'\n */\n weight?: FontWeight;\n\n /**\n * Callback that is called when the text layout has been calculated.\n */\n onTextLayout?: TextProps['onTextLayout'];\n\n /**\n * Callback that is called when the layout of the Text component changes.\n */\n onLayout?: TextProps['onLayout'];\n}> {}\n"],"mappings":";;;;;;AAOO,MAAMA,gBAAgB,GAAG,CAC5B,SAD4B,EAE5B,QAF4B,EAG5B,WAH4B,EAI5B,QAJ4B,EAK5B,eAL4B,EAM5B,MAN4B,EAO5B,aAP4B,EAQ5B,aAR4B,EAS5B,oBAT4B,EAU5B,MAV4B,EAW5B,aAX4B,EAY5B,aAZ4B,EAa5B,oBAb4B,CAAzB"}
@@ -15,9 +15,12 @@ function useBreakpointUp(target, yes, no) {
15
15
 
16
16
  const isUp = (0, _react.useMemo)(() => {
17
17
  switch (target) {
18
- case 'xs':
18
+ case 'xxs':
19
19
  return true;
20
20
 
21
+ case 'xs':
22
+ return current === 'xs' || current === 'sm' || current === 'md' || current === 'lg';
23
+
21
24
  case 'sm':
22
25
  return current === 'sm' || current === 'md' || current === 'lg';
23
26
 
@@ -1 +1 @@
1
- {"version":3,"names":["useBreakpointUp","target","yes","no","theme","useTheme","current","breakpoints","isUp","useMemo"],"sources":["useBreakpointUp.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Theme } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\n\ntype Breakpoint = keyof Theme['breakpoints']['values'];\n\nexport default function useBreakpointUp<R>(target: Breakpoint, yes: R, no: R): R {\n const theme = useTheme();\n\n const current = theme.breakpoints.current;\n\n // TODO: Needs to refactor\n const isUp = useMemo<boolean>(() => {\n switch (target) {\n case 'xs':\n return true;\n case 'sm':\n return current === 'sm' || current === 'md' || current === 'lg';\n case 'md':\n return current === 'md' || current === 'lg';\n case 'lg':\n return current === 'lg';\n }\n }, [target, current]);\n\n return isUp ? yes : no;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAIe,SAASA,eAAT,CAA4BC,MAA5B,EAAgDC,GAAhD,EAAwDC,EAAxD,EAAkE;EAC7E,MAAMC,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACG,WAAN,CAAkBD,OAAlC,CAH6E,CAK7E;;EACA,MAAME,IAAI,GAAG,IAAAC,cAAA,EAAiB,MAAM;IAChC,QAAQR,MAAR;MACI,KAAK,IAAL;QACI,OAAO,IAAP;;MACJ,KAAK,IAAL;QACI,OAAOK,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,IAAhC,IAAwCA,OAAO,KAAK,IAA3D;;MACJ,KAAK,IAAL;QACI,OAAOA,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,IAAvC;;MACJ,KAAK,IAAL;QACI,OAAOA,OAAO,KAAK,IAAnB;IARR;EAUH,CAXY,EAWV,CAACL,MAAD,EAASK,OAAT,CAXU,CAAb;EAaA,OAAOE,IAAI,GAAGN,GAAH,GAASC,EAApB;AACH;;AAAA"}
1
+ {"version":3,"names":["useBreakpointUp","target","yes","no","theme","useTheme","current","breakpoints","isUp","useMemo"],"sources":["useBreakpointUp.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Theme } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\n\ntype Breakpoint = keyof Theme['breakpoints']['values'];\n\nexport default function useBreakpointUp<R>(target: Breakpoint, yes: R, no: R): R {\n const theme = useTheme();\n\n const current = theme.breakpoints.current;\n\n // TODO: Needs to refactor\n const isUp = useMemo<boolean>(() => {\n switch (target) {\n case 'xxs':\n return true;\n case 'xs':\n return current === 'xs' || current === 'sm' || current === 'md' || current === 'lg';\n case 'sm':\n return current === 'sm' || current === 'md' || current === 'lg';\n case 'md':\n return current === 'md' || current === 'lg';\n case 'lg':\n return current === 'lg';\n }\n }, [target, current]);\n\n return isUp ? yes : no;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAIe,SAASA,eAAT,CAA4BC,MAA5B,EAAgDC,GAAhD,EAAwDC,EAAxD,EAAkE;EAC7E,MAAMC,KAAK,GAAG,IAAAC,gBAAA,GAAd;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACG,WAAN,CAAkBD,OAAlC,CAH6E,CAK7E;;EACA,MAAME,IAAI,GAAG,IAAAC,cAAA,EAAiB,MAAM;IAChC,QAAQR,MAAR;MACI,KAAK,KAAL;QACI,OAAO,IAAP;;MACJ,KAAK,IAAL;QACI,OAAOK,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,IAAhC,IAAwCA,OAAO,KAAK,IAApD,IAA4DA,OAAO,KAAK,IAA/E;;MACJ,KAAK,IAAL;QACI,OAAOA,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,IAAhC,IAAwCA,OAAO,KAAK,IAA3D;;MACJ,KAAK,IAAL;QACI,OAAOA,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,IAAvC;;MACJ,KAAK,IAAL;QACI,OAAOA,OAAO,KAAK,IAAnB;IAVR;EAYH,CAbY,EAaV,CAACL,MAAD,EAASK,OAAT,CAbU,CAAb;EAeA,OAAOE,IAAI,GAAGN,GAAH,GAASC,EAApB;AACH;;AAAA"}
@@ -13,8 +13,6 @@ var _reactNativeReanimated = require("react-native-reanimated");
13
13
 
14
14
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
15
15
 
16
- var _styles = require("@fountain-ui/styles");
17
-
18
16
  var _hooks = require("../internal/hooks");
19
17
 
20
18
  var _useAppbarStyles = _interopRequireDefault(require("./useAppbarStyles"));
@@ -23,8 +21,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
21
 
24
22
  const defaultOptions = {
25
23
  keyboardDismissMode: 'none',
26
- dividerExposureMode: 'overlapped',
27
- supportsReverseScroll: true
24
+ supportsReverseScroll: true,
25
+ minVisibleHeight: 0
28
26
  };
29
27
  const ANIMATION_CONFIG = {
30
28
  duration: 100
@@ -38,8 +36,8 @@ function useCollapsibleAppBar() {
38
36
  let userOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultOptions;
39
37
  const {
40
38
  keyboardDismissMode,
41
- dividerExposureMode,
42
- supportsReverseScroll
39
+ supportsReverseScroll,
40
+ minVisibleHeight
43
41
  } = { ...defaultOptions,
44
42
  ...userOptions
45
43
  };
@@ -47,23 +45,23 @@ function useCollapsibleAppBar() {
47
45
  const safeAreaInsets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
48
46
  const [appBarHeight, onAppBarLayout] = (0, _hooks.useHeight)();
49
47
  const [collapsibleToolbarHeight, onCollapsibleToolbarLayout] = (0, _hooks.useHeight)();
50
- const maxTranslateY = (0, _reactNativeReanimated.useDerivedValue)(() => -collapsibleToolbarHeight, [collapsibleToolbarHeight]);
48
+ const maxTranslateY = (0, _reactNativeReanimated.useDerivedValue)(() => {
49
+ const safeMinVisibleHeight = Math.min(minVisibleHeight, collapsibleToolbarHeight);
50
+ return -(collapsibleToolbarHeight - safeMinVisibleHeight);
51
+ }, [collapsibleToolbarHeight, minVisibleHeight]);
51
52
  const translateY = (0, _reactNativeReanimated.useSharedValue)(0);
52
53
  const lastTranslateY = (0, _reactNativeReanimated.useSharedValue)(0);
53
54
  const lastOffsetY = (0, _reactNativeReanimated.useSharedValue)(0);
54
55
  const overlapped = (0, _reactNativeReanimated.useSharedValue)(false);
55
56
  const [isScrolled, setIsScrolled] = (0, _react.useState)(false);
56
- const theme = (0, _styles.useTheme)();
57
57
  const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
58
58
  const transform = [{
59
59
  translateY: translateY.value
60
60
  }];
61
61
  return {
62
- transform,
63
- borderColor: dividerExposureMode === 'always' || overlapped.value ? theme.palette.divider : TRANSPARENT,
64
- borderBottomWidth: _reactNative.StyleSheet.hairlineWidth
62
+ transform
65
63
  };
66
- }, [theme, dividerExposureMode]);
64
+ }, [translateY]);
67
65
  const indexRef = (0, _react.useRef)(0);
68
66
  const offsetsRef = (0, _react.useRef)([]);
69
67
  const onScrollViewChanged = (0, _react.useCallback)(nextIndex => {
@@ -84,6 +82,15 @@ function useCollapsibleAppBar() {
84
82
  translateY.value = (0, _reactNativeReanimated.withTiming)(0, ANIMATION_CONFIG);
85
83
  }
86
84
  }, [appBarHeight]);
85
+ const recoverAppBar = (0, _react.useCallback)(() => {
86
+ const currentIndex = indexRef.current;
87
+ offsetsRef.current[currentIndex] = 0;
88
+ lastOffsetY.value = 0;
89
+ translateY.value = (0, _reactNativeReanimated.withTiming)(0, ANIMATION_CONFIG);
90
+ lastTranslateY.value = 0;
91
+ overlapped.value = false;
92
+ setIsScrolled(false);
93
+ }, []);
87
94
  const scrollHandler = (0, _reactNativeReanimated.useAnimatedScrollHandler)({
88
95
  onBeginDrag: () => {
89
96
  if (keyboardDismissMode === 'on-drag') {
@@ -141,7 +148,7 @@ function useCollapsibleAppBar() {
141
148
  overlapped.value = offsetY + nextTranslateY > 0;
142
149
  translateY.value = (0, _reactNativeReanimated.withTiming)(nextTranslateY, ANIMATION_CONFIG);
143
150
  }
144
- }, [keyboardDismissMode, appBarHeight, isScrolled]);
151
+ });
145
152
  const hasCollapsible = collapsibleToolbarHeight > 0;
146
153
  const appBarStyle = [animatedStyle, {
147
154
  paddingTop: safeAreaInsets.top
@@ -152,6 +159,7 @@ function useCollapsibleAppBar() {
152
159
  onCollapsibleToolbarLayout,
153
160
  onScroll: scrollHandler,
154
161
  onScrollViewChanged,
162
+ recoverAppBar,
155
163
  scrollContentInsets: {
156
164
  top: hasCollapsible ? appBarHeight : 0
157
165
  },