@fountain-ui/core 3.0.0-alpha.5 → 3.0.0-alpha.50

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 (607) 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 +13 -6
  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/AspectRatio/AspectRatioNative.js +1 -1
  9. package/build/commonjs/AspectRatio/AspectRatioNative.js.map +1 -1
  10. package/build/commonjs/AspectRatio/AspectRatioWeb.js +1 -1
  11. package/build/commonjs/AspectRatio/AspectRatioWeb.js.map +1 -1
  12. package/build/commonjs/Badge/Badge.js +4 -3
  13. package/build/commonjs/Badge/Badge.js.map +1 -1
  14. package/build/commonjs/Badge/BadgeProps.js.map +1 -1
  15. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js +7 -3
  16. package/build/commonjs/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  17. package/build/commonjs/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  18. package/build/commonjs/Button/Button.js +26 -12
  19. package/build/commonjs/Button/Button.js.map +1 -1
  20. package/build/commonjs/Button/ButtonProps.js.map +1 -1
  21. package/build/commonjs/Button/useVariantStyleMap.js +18 -0
  22. package/build/commonjs/Button/useVariantStyleMap.js.map +1 -1
  23. package/build/commonjs/ButtonBase/ButtonBase.js +1 -1
  24. package/build/commonjs/ButtonBase/ButtonBase.js.map +1 -1
  25. package/build/commonjs/ButtonBase/index.js +2 -2
  26. package/build/commonjs/ButtonBase/index.js.map +1 -1
  27. package/build/commonjs/Checkbox/Checkbox.js +4 -1
  28. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  29. package/build/commonjs/Checkbox/useVariantStyleMap.js +6 -2
  30. package/build/commonjs/Checkbox/useVariantStyleMap.js.map +1 -1
  31. package/build/commonjs/Chip/Chip.js +27 -14
  32. package/build/commonjs/Chip/Chip.js.map +1 -1
  33. package/build/commonjs/Chip/ChipProps.js +5 -1
  34. package/build/commonjs/Chip/ChipProps.js.map +1 -1
  35. package/build/commonjs/Chip/index.js +12 -0
  36. package/build/commonjs/Chip/index.js.map +1 -1
  37. package/build/commonjs/Chip/useChipStyle.js +59 -32
  38. package/build/commonjs/Chip/useChipStyle.js.map +1 -1
  39. package/build/commonjs/Dialog/Dialog.js +11 -12
  40. package/build/commonjs/Dialog/Dialog.js.map +1 -1
  41. package/build/commonjs/Dialog/DialogProps.js +1 -1
  42. package/build/commonjs/Dialog/DialogProps.js.map +1 -1
  43. package/build/commonjs/Dialog/useDialogSectionStyle.js +6 -4
  44. package/build/commonjs/Dialog/useDialogSectionStyle.js.map +1 -1
  45. package/build/commonjs/Dialog/useDialogStyle.js +19 -8
  46. package/build/commonjs/Dialog/useDialogStyle.js.map +1 -1
  47. package/build/commonjs/DialogActions/DialogActions.js +0 -1
  48. package/build/commonjs/DialogActions/DialogActions.js.map +1 -1
  49. package/build/commonjs/DialogTitle/DialogLargeTitle.js +80 -0
  50. package/build/commonjs/DialogTitle/DialogLargeTitle.js.map +1 -0
  51. package/build/commonjs/DialogTitle/DialogTitle.js +8 -4
  52. package/build/commonjs/DialogTitle/DialogTitle.js.map +1 -1
  53. package/build/commonjs/Divider/Divider.js +17 -9
  54. package/build/commonjs/Divider/Divider.js.map +1 -1
  55. package/build/commonjs/Divider/DividerProps.js +1 -1
  56. package/build/commonjs/Divider/DividerProps.js.map +1 -1
  57. package/build/commonjs/Empty/Empty.js +1 -1
  58. package/build/commonjs/Empty/Empty.js.map +1 -1
  59. package/build/commonjs/Flexbox/Flexbox.js +2 -0
  60. package/build/commonjs/Flexbox/Flexbox.js.map +1 -1
  61. package/build/commonjs/Flexbox/FlexboxProps.js.map +1 -1
  62. package/build/commonjs/IconButton/IconButton.js +3 -0
  63. package/build/commonjs/IconButton/IconButton.js.map +1 -1
  64. package/build/commonjs/IconButton/IconButtonProps.js +1 -1
  65. package/build/commonjs/IconButton/IconButtonProps.js.map +1 -1
  66. package/build/commonjs/Image/Image.js +13 -4
  67. package/build/commonjs/Image/Image.js.map +1 -1
  68. package/build/commonjs/Image/ImageProps.js.map +1 -1
  69. package/build/commonjs/Image/OverlayCloseButton/OverlayCloseButton.js +46 -0
  70. package/build/commonjs/Image/OverlayCloseButton/OverlayCloseButton.js.map +1 -0
  71. package/build/commonjs/Image/OverlayCloseButton/OverlayCloseButtonProps.js +2 -0
  72. package/build/commonjs/Image/OverlayCloseButton/OverlayCloseButtonProps.js.map +1 -0
  73. package/build/commonjs/Image/OverlayCloseButton/index.js +16 -0
  74. package/build/commonjs/Image/OverlayCloseButton/index.js.map +1 -0
  75. package/build/commonjs/Image/preload.js +10 -0
  76. package/build/commonjs/Image/preload.js.map +1 -0
  77. package/build/commonjs/Image/preload.native.js +22 -0
  78. package/build/commonjs/Image/preload.native.js.map +1 -0
  79. package/build/commonjs/ImageCore/ImageCoreNative.js +13 -10
  80. package/build/commonjs/ImageCore/ImageCoreNative.js.map +1 -1
  81. package/build/commonjs/ImageCore/ImageCoreProps.js.map +1 -1
  82. package/build/commonjs/ListItem/ListItem.js +5 -15
  83. package/build/commonjs/ListItem/ListItem.js.map +1 -1
  84. package/build/commonjs/ListItemText/ListItemText.js +2 -2
  85. package/build/commonjs/ListItemText/ListItemText.js.map +1 -1
  86. package/build/commonjs/ListSubheader/ListSubheader.js +1 -1
  87. package/build/commonjs/ListSubheader/ListSubheader.js.map +1 -1
  88. package/build/commonjs/Modal/Modal.js +29 -20
  89. package/build/commonjs/Modal/Modal.js.map +1 -1
  90. package/build/commonjs/Modal/ModalProps.js.map +1 -1
  91. package/build/commonjs/Pagination/NumberPagination.js +4 -2
  92. package/build/commonjs/Pagination/NumberPagination.js.map +1 -1
  93. package/build/commonjs/Pagination/Pagination.js +2 -0
  94. package/build/commonjs/Pagination/Pagination.js.map +1 -1
  95. package/build/commonjs/Pagination/PaginationProps.js +3 -1
  96. package/build/commonjs/Pagination/PaginationProps.js.map +1 -1
  97. package/build/commonjs/Pagination/index.js +6 -0
  98. package/build/commonjs/Pagination/index.js.map +1 -1
  99. package/build/commonjs/PaginationItem/PaginationItem.js +32 -22
  100. package/build/commonjs/PaginationItem/PaginationItem.js.map +1 -1
  101. package/build/commonjs/PaginationItem/PaginationItemProps.js.map +1 -1
  102. package/build/commonjs/Radio/Radio.js +31 -8
  103. package/build/commonjs/Radio/Radio.js.map +1 -1
  104. package/build/commonjs/Radio/RadioProps.js.map +1 -1
  105. package/build/commonjs/RadioGroup/RadioGroup.js +2 -27
  106. package/build/commonjs/RadioGroup/RadioGroup.js.map +1 -1
  107. package/build/commonjs/ShadowView/ShadowView.native.js +1 -1
  108. package/build/commonjs/ShadowView/ShadowView.native.js.map +1 -1
  109. package/build/commonjs/Slider/Slider.js +22 -18
  110. package/build/commonjs/Slider/Slider.js.map +1 -1
  111. package/build/commonjs/SnackbarContent/SnackbarContent.js +24 -7
  112. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  113. package/build/commonjs/Tab/Tab.js +21 -19
  114. package/build/commonjs/Tab/Tab.js.map +1 -1
  115. package/build/commonjs/Tab/TabProps.js +4 -2
  116. package/build/commonjs/Tab/TabProps.js.map +1 -1
  117. package/build/commonjs/Tab/index.js +14 -0
  118. package/build/commonjs/Tab/index.js.map +1 -1
  119. package/build/commonjs/Tab/useVariantStyleMap.js +57 -16
  120. package/build/commonjs/Tab/useVariantStyleMap.js.map +1 -1
  121. package/build/commonjs/TabBase/TabBase.js +1 -8
  122. package/build/commonjs/TabBase/TabBase.js.map +1 -1
  123. package/build/commonjs/TabBase/TabBaseProps.js.map +1 -1
  124. package/build/commonjs/Tabs/Tabs.js +32 -11
  125. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  126. package/build/commonjs/Tabs/TabsProps.js.map +1 -1
  127. package/build/commonjs/Tabs/index.js.map +1 -1
  128. package/build/commonjs/Tabs/useTabsStyle.js +81 -0
  129. package/build/commonjs/Tabs/useTabsStyle.js.map +1 -0
  130. package/build/commonjs/TextField/TextField.js +99 -17
  131. package/build/commonjs/TextField/TextField.js.map +1 -1
  132. package/build/commonjs/TextField/TextFieldProps.js +3 -1
  133. package/build/commonjs/TextField/TextFieldProps.js.map +1 -1
  134. package/build/commonjs/TextField/useVariantStyleMap.js +50 -30
  135. package/build/commonjs/TextField/useVariantStyleMap.js.map +1 -1
  136. package/build/commonjs/Toolbar/BackButton/BackButton.js +47 -0
  137. package/build/commonjs/Toolbar/BackButton/BackButton.js.map +1 -0
  138. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js +2 -0
  139. package/build/commonjs/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  140. package/build/commonjs/Toolbar/BackButton/index.js +16 -0
  141. package/build/commonjs/Toolbar/BackButton/index.js.map +1 -0
  142. package/build/commonjs/Toolbar/Toolbar.js +22 -12
  143. package/build/commonjs/Toolbar/Toolbar.js.map +1 -1
  144. package/build/commonjs/Toolbar/ToolbarProps.js.map +1 -1
  145. package/build/commonjs/Tooltip/Beaks/index.js +32 -0
  146. package/build/commonjs/Tooltip/Beaks/index.js.map +1 -1
  147. package/build/commonjs/Tooltip/Tooltip.js +23 -23
  148. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  149. package/build/commonjs/Tooltip/TooltipProps.js.map +1 -1
  150. package/build/commonjs/Tooltip/index.js +19 -0
  151. package/build/commonjs/Tooltip/index.js.map +1 -1
  152. package/build/commonjs/Typography/Typography.js +9 -2
  153. package/build/commonjs/Typography/Typography.js.map +1 -1
  154. package/build/commonjs/Typography/TypographyProps.js.map +1 -1
  155. package/build/commonjs/hooks/useCollapsibleAppBar.js +21 -13
  156. package/build/commonjs/hooks/useCollapsibleAppBar.js.map +1 -1
  157. package/build/commonjs/hooks/useContentContainerStyle.js +35 -17
  158. package/build/commonjs/hooks/useContentContainerStyle.js.map +1 -1
  159. package/build/commonjs/hooks/useFadeInAppBar.js +4 -4
  160. package/build/commonjs/hooks/useFadeInAppBar.js.map +1 -1
  161. package/build/commonjs/internal/icons/AppBarChevronLeft.js +23 -0
  162. package/build/commonjs/internal/icons/AppBarChevronLeft.js.map +1 -0
  163. package/build/commonjs/internal/icons/ChevronLeft.js +4 -2
  164. package/build/commonjs/internal/icons/ChevronLeft.js.map +1 -1
  165. package/build/commonjs/internal/icons/ChevronRight.js +4 -2
  166. package/build/commonjs/internal/icons/ChevronRight.js.map +1 -1
  167. package/build/commonjs/internal/icons/ChipClose.js +23 -0
  168. package/build/commonjs/internal/icons/ChipClose.js.map +1 -0
  169. package/build/commonjs/internal/icons/Clear.js +3 -3
  170. package/build/commonjs/internal/icons/Clear.js.map +1 -1
  171. package/build/commonjs/internal/icons/Close.js +4 -2
  172. package/build/commonjs/internal/icons/Close.js.map +1 -1
  173. package/build/commonjs/internal/icons/CloseCircleFillPierced.js +23 -0
  174. package/build/commonjs/internal/icons/CloseCircleFillPierced.js.map +1 -0
  175. package/build/commonjs/internal/icons/Search.js +2 -2
  176. package/build/commonjs/internal/icons/Search.js.map +1 -1
  177. package/build/commonjs/internal/icons/index.js +24 -0
  178. package/build/commonjs/internal/icons/index.js.map +1 -1
  179. package/build/module/Accordion/Accordion.js +20 -13
  180. package/build/module/Accordion/Accordion.js.map +1 -1
  181. package/build/module/Accordion/AccordionProps.js.map +1 -1
  182. package/build/module/Accordion/useVariantStyleMap.js +13 -6
  183. package/build/module/Accordion/useVariantStyleMap.js.map +1 -1
  184. package/build/module/AppBar/AppBar.js +1 -1
  185. package/build/module/AppBar/AppBar.js.map +1 -1
  186. package/build/module/AspectRatio/AspectRatioNative.js +1 -1
  187. package/build/module/AspectRatio/AspectRatioNative.js.map +1 -1
  188. package/build/module/AspectRatio/AspectRatioWeb.js +1 -1
  189. package/build/module/AspectRatio/AspectRatioWeb.js.map +1 -1
  190. package/build/module/Badge/Badge.js +4 -3
  191. package/build/module/Badge/Badge.js.map +1 -1
  192. package/build/module/Badge/BadgeProps.js.map +1 -1
  193. package/build/module/BottomSheetTitle/BottomSheetTitle.js +7 -3
  194. package/build/module/BottomSheetTitle/BottomSheetTitle.js.map +1 -1
  195. package/build/module/BottomSheetTitle/BottomSheetTitleProps.js.map +1 -1
  196. package/build/module/Button/Button.js +27 -13
  197. package/build/module/Button/Button.js.map +1 -1
  198. package/build/module/Button/ButtonProps.js.map +1 -1
  199. package/build/module/Button/useVariantStyleMap.js +18 -0
  200. package/build/module/Button/useVariantStyleMap.js.map +1 -1
  201. package/build/module/ButtonBase/ButtonBase.js +1 -1
  202. package/build/module/ButtonBase/ButtonBase.js.map +1 -1
  203. package/build/module/ButtonBase/index.js +1 -1
  204. package/build/module/ButtonBase/index.js.map +1 -1
  205. package/build/module/Checkbox/Checkbox.js +4 -1
  206. package/build/module/Checkbox/Checkbox.js.map +1 -1
  207. package/build/module/Checkbox/useVariantStyleMap.js +6 -2
  208. package/build/module/Checkbox/useVariantStyleMap.js.map +1 -1
  209. package/build/module/Chip/Chip.js +23 -13
  210. package/build/module/Chip/Chip.js.map +1 -1
  211. package/build/module/Chip/ChipProps.js +2 -0
  212. package/build/module/Chip/ChipProps.js.map +1 -1
  213. package/build/module/Chip/index.js +1 -1
  214. package/build/module/Chip/index.js.map +1 -1
  215. package/build/module/Chip/useChipStyle.js +59 -32
  216. package/build/module/Chip/useChipStyle.js.map +1 -1
  217. package/build/module/Dialog/Dialog.js +11 -11
  218. package/build/module/Dialog/Dialog.js.map +1 -1
  219. package/build/module/Dialog/DialogProps.js +1 -1
  220. package/build/module/Dialog/DialogProps.js.map +1 -1
  221. package/build/module/Dialog/useDialogSectionStyle.js +6 -4
  222. package/build/module/Dialog/useDialogSectionStyle.js.map +1 -1
  223. package/build/module/Dialog/useDialogStyle.js +18 -8
  224. package/build/module/Dialog/useDialogStyle.js.map +1 -1
  225. package/build/module/DialogActions/DialogActions.js +0 -1
  226. package/build/module/DialogActions/DialogActions.js.map +1 -1
  227. package/build/module/DialogTitle/DialogLargeTitle.js +65 -0
  228. package/build/module/DialogTitle/DialogLargeTitle.js.map +1 -0
  229. package/build/module/DialogTitle/DialogTitle.js +6 -3
  230. package/build/module/DialogTitle/DialogTitle.js.map +1 -1
  231. package/build/module/Divider/Divider.js +7 -0
  232. package/build/module/Divider/Divider.js.map +1 -1
  233. package/build/module/Divider/DividerProps.js +1 -1
  234. package/build/module/Divider/DividerProps.js.map +1 -1
  235. package/build/module/Empty/Empty.js +1 -1
  236. package/build/module/Empty/Empty.js.map +1 -1
  237. package/build/module/Flexbox/Flexbox.js +2 -0
  238. package/build/module/Flexbox/Flexbox.js.map +1 -1
  239. package/build/module/Flexbox/FlexboxProps.js.map +1 -1
  240. package/build/module/IconButton/IconButton.js +3 -0
  241. package/build/module/IconButton/IconButton.js.map +1 -1
  242. package/build/module/IconButton/IconButtonProps.js +1 -1
  243. package/build/module/IconButton/IconButtonProps.js.map +1 -1
  244. package/build/module/Image/Image.js +11 -4
  245. package/build/module/Image/Image.js.map +1 -1
  246. package/build/module/Image/ImageProps.js.map +1 -1
  247. package/build/module/Image/OverlayCloseButton/OverlayCloseButton.js +31 -0
  248. package/build/module/Image/OverlayCloseButton/OverlayCloseButton.js.map +1 -0
  249. package/build/module/Image/OverlayCloseButton/OverlayCloseButtonProps.js +2 -0
  250. package/build/module/Image/OverlayCloseButton/OverlayCloseButtonProps.js.map +1 -0
  251. package/build/module/Image/OverlayCloseButton/index.js +2 -0
  252. package/build/module/Image/OverlayCloseButton/index.js.map +1 -0
  253. package/build/module/Image/preload.js +3 -0
  254. package/build/module/Image/preload.js.map +1 -0
  255. package/build/module/Image/preload.native.js +12 -0
  256. package/build/module/Image/preload.native.js.map +1 -0
  257. package/build/module/ImageCore/ImageCoreNative.js +14 -10
  258. package/build/module/ImageCore/ImageCoreNative.js.map +1 -1
  259. package/build/module/ImageCore/ImageCoreProps.js.map +1 -1
  260. package/build/module/ListItem/ListItem.js +5 -15
  261. package/build/module/ListItem/ListItem.js.map +1 -1
  262. package/build/module/ListItemText/ListItemText.js +2 -2
  263. package/build/module/ListItemText/ListItemText.js.map +1 -1
  264. package/build/module/ListSubheader/ListSubheader.js +1 -1
  265. package/build/module/ListSubheader/ListSubheader.js.map +1 -1
  266. package/build/module/Modal/Modal.js +30 -21
  267. package/build/module/Modal/Modal.js.map +1 -1
  268. package/build/module/Modal/ModalProps.js.map +1 -1
  269. package/build/module/Pagination/NumberPagination.js +4 -2
  270. package/build/module/Pagination/NumberPagination.js.map +1 -1
  271. package/build/module/Pagination/Pagination.js +2 -0
  272. package/build/module/Pagination/Pagination.js.map +1 -1
  273. package/build/module/Pagination/PaginationProps.js +1 -0
  274. package/build/module/Pagination/PaginationProps.js.map +1 -1
  275. package/build/module/Pagination/index.js +1 -1
  276. package/build/module/Pagination/index.js.map +1 -1
  277. package/build/module/PaginationItem/PaginationItem.js +28 -21
  278. package/build/module/PaginationItem/PaginationItem.js.map +1 -1
  279. package/build/module/PaginationItem/PaginationItemProps.js.map +1 -1
  280. package/build/module/Radio/Radio.js +28 -8
  281. package/build/module/Radio/Radio.js.map +1 -1
  282. package/build/module/Radio/RadioProps.js.map +1 -1
  283. package/build/module/RadioGroup/RadioGroup.js +2 -20
  284. package/build/module/RadioGroup/RadioGroup.js.map +1 -1
  285. package/build/module/ShadowView/ShadowView.native.js +2 -2
  286. package/build/module/ShadowView/ShadowView.native.js.map +1 -1
  287. package/build/module/Slider/Slider.js +22 -18
  288. package/build/module/Slider/Slider.js.map +1 -1
  289. package/build/module/SnackbarContent/SnackbarContent.js +24 -7
  290. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  291. package/build/module/Tab/Tab.js +22 -19
  292. package/build/module/Tab/Tab.js.map +1 -1
  293. package/build/module/Tab/TabProps.js +2 -1
  294. package/build/module/Tab/TabProps.js.map +1 -1
  295. package/build/module/Tab/index.js +1 -0
  296. package/build/module/Tab/index.js.map +1 -1
  297. package/build/module/Tab/useVariantStyleMap.js +57 -16
  298. package/build/module/Tab/useVariantStyleMap.js.map +1 -1
  299. package/build/module/TabBase/TabBase.js +1 -8
  300. package/build/module/TabBase/TabBase.js.map +1 -1
  301. package/build/module/TabBase/TabBaseProps.js.map +1 -1
  302. package/build/module/Tabs/Tabs.js +31 -12
  303. package/build/module/Tabs/Tabs.js.map +1 -1
  304. package/build/module/Tabs/TabsProps.js.map +1 -1
  305. package/build/module/Tabs/index.js.map +1 -1
  306. package/build/module/Tabs/useTabsStyle.js +71 -0
  307. package/build/module/Tabs/useTabsStyle.js.map +1 -0
  308. package/build/module/TextField/TextField.js +99 -18
  309. package/build/module/TextField/TextField.js.map +1 -1
  310. package/build/module/TextField/TextFieldProps.js +1 -0
  311. package/build/module/TextField/TextFieldProps.js.map +1 -1
  312. package/build/module/TextField/useVariantStyleMap.js +49 -30
  313. package/build/module/TextField/useVariantStyleMap.js.map +1 -1
  314. package/build/module/Toolbar/BackButton/BackButton.js +32 -0
  315. package/build/module/Toolbar/BackButton/BackButton.js.map +1 -0
  316. package/build/module/Toolbar/BackButton/BackButtonProps.js +2 -0
  317. package/build/module/Toolbar/BackButton/BackButtonProps.js.map +1 -0
  318. package/build/module/Toolbar/BackButton/index.js +2 -0
  319. package/build/module/Toolbar/BackButton/index.js.map +1 -0
  320. package/build/module/Toolbar/Toolbar.js +20 -12
  321. package/build/module/Toolbar/Toolbar.js.map +1 -1
  322. package/build/module/Toolbar/ToolbarProps.js.map +1 -1
  323. package/build/module/Tooltip/Beaks/index.js +4 -0
  324. package/build/module/Tooltip/Beaks/index.js.map +1 -1
  325. package/build/module/Tooltip/Tooltip.js +17 -16
  326. package/build/module/Tooltip/Tooltip.js.map +1 -1
  327. package/build/module/Tooltip/TooltipProps.js.map +1 -1
  328. package/build/module/Tooltip/index.js +1 -0
  329. package/build/module/Tooltip/index.js.map +1 -1
  330. package/build/module/Typography/Typography.js +9 -2
  331. package/build/module/Typography/Typography.js.map +1 -1
  332. package/build/module/Typography/TypographyProps.js.map +1 -1
  333. package/build/module/hooks/useCollapsibleAppBar.js +22 -13
  334. package/build/module/hooks/useCollapsibleAppBar.js.map +1 -1
  335. package/build/module/hooks/useContentContainerStyle.js +32 -13
  336. package/build/module/hooks/useContentContainerStyle.js.map +1 -1
  337. package/build/module/hooks/useFadeInAppBar.js +4 -4
  338. package/build/module/hooks/useFadeInAppBar.js.map +1 -1
  339. package/build/module/internal/icons/AppBarChevronLeft.js +9 -0
  340. package/build/module/internal/icons/AppBarChevronLeft.js.map +1 -0
  341. package/build/module/internal/icons/ChevronLeft.js +4 -2
  342. package/build/module/internal/icons/ChevronLeft.js.map +1 -1
  343. package/build/module/internal/icons/ChevronRight.js +4 -2
  344. package/build/module/internal/icons/ChevronRight.js.map +1 -1
  345. package/build/module/internal/icons/ChipClose.js +9 -0
  346. package/build/module/internal/icons/ChipClose.js.map +1 -0
  347. package/build/module/internal/icons/Clear.js +3 -3
  348. package/build/module/internal/icons/Clear.js.map +1 -1
  349. package/build/module/internal/icons/Close.js +4 -2
  350. package/build/module/internal/icons/Close.js.map +1 -1
  351. package/build/module/internal/icons/CloseCircleFillPierced.js +9 -0
  352. package/build/module/internal/icons/CloseCircleFillPierced.js.map +1 -0
  353. package/build/module/internal/icons/Search.js +2 -2
  354. package/build/module/internal/icons/Search.js.map +1 -1
  355. package/build/module/internal/icons/index.js +3 -0
  356. package/build/module/internal/icons/index.js.map +1 -1
  357. package/build/typescript/Accordion/Accordion.d.ts +0 -1
  358. package/build/typescript/Accordion/AccordionProps.d.ts +4 -1
  359. package/build/typescript/Accordion/useVariantStyleMap.d.ts +1 -0
  360. package/build/typescript/AspectRatio/AspectRatioNative.d.ts +0 -1
  361. package/build/typescript/AspectRatio/AspectRatioWeb.d.ts +0 -1
  362. package/build/typescript/Avatar/Avatar.d.ts +0 -1
  363. package/build/typescript/Badge/Badge.d.ts +0 -1
  364. package/build/typescript/Badge/BadgeProps.d.ts +10 -5
  365. package/build/typescript/BottomSheetActions/BottomSheetActions.d.ts +0 -1
  366. package/build/typescript/BottomSheetContent/BottomSheetContent.d.ts +0 -1
  367. package/build/typescript/BottomSheetTitle/BottomSheetTitle.d.ts +0 -1
  368. package/build/typescript/BottomSheetTitle/BottomSheetTitleProps.d.ts +3 -3
  369. package/build/typescript/Button/Button.d.ts +0 -1
  370. package/build/typescript/Button/ButtonProps.d.ts +5 -0
  371. package/build/typescript/ButtonBase/ButtonBase.d.ts +0 -1
  372. package/build/typescript/ButtonBase/index.d.ts +1 -1
  373. package/build/typescript/ButtonSet/ButtonSet.d.ts +0 -1
  374. package/build/typescript/Card/Card.d.ts +0 -1
  375. package/build/typescript/CardActions/CardActions.d.ts +0 -1
  376. package/build/typescript/CardContent/CardContent.d.ts +0 -1
  377. package/build/typescript/CardMedia/CardMedia.d.ts +0 -1
  378. package/build/typescript/Checkbox/Checkbox.d.ts +0 -1
  379. package/build/typescript/Checkbox/useVariantStyleMap.d.ts +1 -0
  380. package/build/typescript/Chip/Chip.d.ts +0 -1
  381. package/build/typescript/Chip/ChipProps.d.ts +18 -4
  382. package/build/typescript/Chip/index.d.ts +2 -2
  383. package/build/typescript/Chip/useChipStyle.d.ts +6 -3
  384. package/build/typescript/CircularProgress/CircularProgress.d.ts +0 -1
  385. package/build/typescript/Column/Column.d.ts +0 -1
  386. package/build/typescript/Dialog/Dialog.d.ts +0 -1
  387. package/build/typescript/Dialog/DialogProps.d.ts +1 -6
  388. package/build/typescript/Dialog/useDialogSectionStyle.d.ts +1 -2
  389. package/build/typescript/Dialog/useDialogStyle.d.ts +1 -1
  390. package/build/typescript/DialogActions/DialogActions.d.ts +0 -1
  391. package/build/typescript/DialogContent/DialogContent.d.ts +0 -1
  392. package/build/typescript/DialogMedia/DialogMedia.d.ts +0 -1
  393. package/build/typescript/DialogTitle/DialogLargeTitle.d.ts +8 -0
  394. package/build/typescript/DialogTitle/DialogTitle.d.ts +6 -2
  395. package/build/typescript/Divider/Divider.d.ts +0 -1
  396. package/build/typescript/Divider/DividerProps.d.ts +1 -1
  397. package/build/typescript/Empty/Empty.d.ts +0 -1
  398. package/build/typescript/Fab/Fab.d.ts +0 -1
  399. package/build/typescript/Flexbox/Flexbox.d.ts +0 -1
  400. package/build/typescript/Flexbox/FlexboxProps.d.ts +4 -0
  401. package/build/typescript/IconButton/IconButton.d.ts +0 -1
  402. package/build/typescript/IconButton/IconButtonProps.d.ts +1 -1
  403. package/build/typescript/Image/Image.d.ts +6 -2
  404. package/build/typescript/Image/ImageProps.d.ts +6 -0
  405. package/build/typescript/Image/OverlayCloseButton/OverlayCloseButton.d.ts +2 -0
  406. package/build/typescript/Image/OverlayCloseButton/OverlayCloseButtonProps.d.ts +3 -0
  407. package/build/typescript/Image/OverlayCloseButton/index.d.ts +2 -0
  408. package/build/typescript/Image/preload.d.ts +2 -0
  409. package/build/typescript/Image/preload.native.d.ts +2 -0
  410. package/build/typescript/ImageCore/ImageCoreNative.d.ts +0 -1
  411. package/build/typescript/ImageCore/ImageCoreProps.d.ts +1 -0
  412. package/build/typescript/ImageCore/ImageCoreWeb.d.ts +0 -1
  413. package/build/typescript/Link/Link.d.ts +0 -1
  414. package/build/typescript/List/List.d.ts +0 -1
  415. package/build/typescript/ListItem/ListItem.d.ts +0 -1
  416. package/build/typescript/ListItemIcon/ListItemIcon.d.ts +0 -1
  417. package/build/typescript/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +0 -1
  418. package/build/typescript/ListItemText/ListItemText.d.ts +0 -1
  419. package/build/typescript/ListSubheader/ListSubheader.d.ts +0 -1
  420. package/build/typescript/Menu/Menu.d.ts +0 -1
  421. package/build/typescript/MenuItem/MenuItem.d.ts +0 -1
  422. package/build/typescript/Modal/AnimatedContainer/index.d.ts +0 -1
  423. package/build/typescript/Modal/Modal.d.ts +0 -1
  424. package/build/typescript/Modal/ModalProps.d.ts +8 -0
  425. package/build/typescript/Pagination/NumberPagination.d.ts +0 -1
  426. package/build/typescript/Pagination/Pagination.d.ts +0 -1
  427. package/build/typescript/Pagination/PaginationProps.d.ts +12 -0
  428. package/build/typescript/Pagination/index.d.ts +2 -2
  429. package/build/typescript/PaginationItem/PaginationItemProps.d.ts +6 -0
  430. package/build/typescript/Portal/Portal.d.ts +0 -1
  431. package/build/typescript/Radio/Radio.d.ts +0 -1
  432. package/build/typescript/Radio/RadioProps.d.ts +4 -0
  433. package/build/typescript/RadioGroup/RadioGroup.d.ts +0 -1
  434. package/build/typescript/Row/Row.d.ts +0 -1
  435. package/build/typescript/Section/Section.d.ts +0 -1
  436. package/build/typescript/ShadowView/ShadowView.d.ts +0 -1
  437. package/build/typescript/ShadowView/ShadowView.native.d.ts +0 -1
  438. package/build/typescript/Slide/Slide.d.ts +0 -1
  439. package/build/typescript/Slider/Slider.d.ts +1 -1
  440. package/build/typescript/Snackbar/Snackbar.d.ts +0 -1
  441. package/build/typescript/SnackbarContent/SnackbarContent.d.ts +0 -1
  442. package/build/typescript/SnackbarContent/StatusIcon.d.ts +0 -1
  443. package/build/typescript/Spacer/Spacer.d.ts +0 -1
  444. package/build/typescript/SvgIcon/SvgIcon.d.ts +0 -1
  445. package/build/typescript/Switch/Switch.d.ts +0 -1
  446. package/build/typescript/Tab/Tab.d.ts +0 -1
  447. package/build/typescript/Tab/TabProps.d.ts +21 -2
  448. package/build/typescript/Tab/index.d.ts +2 -1
  449. package/build/typescript/Tab/useVariantStyleMap.d.ts +4 -2
  450. package/build/typescript/TabBase/TabBase.d.ts +0 -1
  451. package/build/typescript/TabBase/TabBaseProps.d.ts +0 -5
  452. package/build/typescript/Tabs/ScrollableTabsView.d.ts +0 -1
  453. package/build/typescript/Tabs/TabIndicator.d.ts +0 -1
  454. package/build/typescript/Tabs/Tabs.d.ts +1 -1
  455. package/build/typescript/Tabs/TabsProps.d.ts +6 -1
  456. package/build/typescript/Tabs/index.d.ts +1 -1
  457. package/build/typescript/Tabs/useTabsStyle.d.ts +8 -0
  458. package/build/typescript/TextField/TextFieldProps.d.ts +13 -0
  459. package/build/typescript/TextField/useVariantStyleMap.d.ts +4 -2
  460. package/build/typescript/Toggle/Toggle.d.ts +0 -1
  461. package/build/typescript/Toolbar/BackButton/BackButton.d.ts +2 -0
  462. package/build/typescript/Toolbar/BackButton/BackButtonProps.d.ts +4 -0
  463. package/build/typescript/Toolbar/BackButton/index.d.ts +2 -0
  464. package/build/typescript/Toolbar/Toolbar.d.ts +6 -2
  465. package/build/typescript/Toolbar/ToolbarProps.d.ts +0 -5
  466. package/build/typescript/Tooltip/Beaks/Beak.d.ts +0 -1
  467. package/build/typescript/Tooltip/Beaks/HorizontalLargeBeak.d.ts +0 -1
  468. package/build/typescript/Tooltip/Beaks/HorizontalSmallBeak.d.ts +0 -1
  469. package/build/typescript/Tooltip/Beaks/VerticalLargeBeak.d.ts +0 -1
  470. package/build/typescript/Tooltip/Beaks/VerticalSmallBeak.d.ts +0 -1
  471. package/build/typescript/Tooltip/Beaks/index.d.ts +4 -0
  472. package/build/typescript/Tooltip/Tooltip.d.ts +0 -1
  473. package/build/typescript/Tooltip/TooltipProps.d.ts +2 -2
  474. package/build/typescript/Tooltip/index.d.ts +1 -0
  475. package/build/typescript/Typography/TypographyProps.d.ts +4 -0
  476. package/build/typescript/animated/AnimatedAppBar.d.ts +1 -2
  477. package/build/typescript/animated/AnimatedFlatList.d.ts +1 -2
  478. package/build/typescript/animated/AnimatedTypography.d.ts +1 -2
  479. package/build/typescript/hooks/useCollapsibleAppBar.d.ts +2 -1
  480. package/build/typescript/hooks/useContentContainerStyle.d.ts +2 -1
  481. package/build/typescript/internal/icons/AppBarChevronLeft.d.ts +358 -0
  482. package/build/typescript/internal/icons/Check.d.ts +300 -73
  483. package/build/typescript/internal/icons/CheckCircle.d.ts +300 -73
  484. package/build/typescript/internal/icons/Checkbox.d.ts +300 -73
  485. package/build/typescript/internal/icons/CheckboxChecked.d.ts +300 -73
  486. package/build/typescript/internal/icons/CheckboxOn.d.ts +300 -73
  487. package/build/typescript/internal/icons/ChevronDown.d.ts +300 -73
  488. package/build/typescript/internal/icons/ChevronLeft.d.ts +300 -73
  489. package/build/typescript/internal/icons/ChevronRight.d.ts +300 -73
  490. package/build/typescript/internal/icons/ChipClose.d.ts +358 -0
  491. package/build/typescript/internal/icons/CircularProgress.d.ts +0 -1
  492. package/build/typescript/internal/icons/Clear.d.ts +300 -73
  493. package/build/typescript/internal/icons/Close.d.ts +300 -73
  494. package/build/typescript/internal/icons/CloseCircleFillPierced.d.ts +358 -0
  495. package/build/typescript/internal/icons/EyeOff.d.ts +300 -73
  496. package/build/typescript/internal/icons/EyeOn.d.ts +300 -73
  497. package/build/typescript/internal/icons/InfoCircle.d.ts +300 -73
  498. package/build/typescript/internal/icons/LoadingSpinner/index.d.ts +0 -1
  499. package/build/typescript/internal/icons/LoadingSpinner/index.native.d.ts +0 -1
  500. package/build/typescript/internal/icons/Radio.d.ts +300 -73
  501. package/build/typescript/internal/icons/RadioChecked.d.ts +300 -73
  502. package/build/typescript/internal/icons/Search.d.ts +300 -73
  503. package/build/typescript/internal/icons/index.d.ts +3 -0
  504. package/package.json +10 -10
  505. package/src/Accordion/Accordion.tsx +23 -14
  506. package/src/Accordion/AccordionProps.ts +4 -2
  507. package/src/Accordion/useVariantStyleMap.ts +12 -4
  508. package/src/AppBar/AppBar.tsx +2 -2
  509. package/src/AspectRatio/AspectRatioNative.tsx +2 -2
  510. package/src/AspectRatio/AspectRatioWeb.tsx +3 -3
  511. package/src/Badge/Badge.tsx +4 -3
  512. package/src/Badge/BadgeProps.ts +12 -6
  513. package/src/BottomSheetTitle/BottomSheetTitle.tsx +6 -2
  514. package/src/BottomSheetTitle/BottomSheetTitleProps.ts +3 -3
  515. package/src/Button/Button.tsx +28 -12
  516. package/src/Button/ButtonProps.ts +6 -0
  517. package/src/Button/useVariantStyleMap.ts +18 -0
  518. package/src/ButtonBase/ButtonBase.tsx +1 -1
  519. package/src/ButtonBase/index.ts +1 -1
  520. package/src/Checkbox/Checkbox.tsx +11 -8
  521. package/src/Checkbox/useVariantStyleMap.ts +6 -1
  522. package/src/Chip/Chip.tsx +27 -13
  523. package/src/Chip/ChipProps.ts +22 -4
  524. package/src/Chip/index.ts +2 -2
  525. package/src/Chip/useChipStyle.ts +75 -29
  526. package/src/Dialog/Dialog.tsx +13 -11
  527. package/src/Dialog/DialogProps.ts +1 -7
  528. package/src/Dialog/useDialogSectionStyle.ts +6 -4
  529. package/src/Dialog/useDialogStyle.ts +19 -7
  530. package/src/DialogActions/DialogActions.tsx +0 -1
  531. package/src/DialogTitle/DialogLargeTitle.tsx +95 -0
  532. package/src/DialogTitle/DialogTitle.tsx +6 -1
  533. package/src/Divider/Divider.tsx +5 -0
  534. package/src/Divider/DividerProps.ts +1 -1
  535. package/src/Empty/Empty.tsx +1 -1
  536. package/src/Flexbox/Flexbox.tsx +2 -0
  537. package/src/Flexbox/FlexboxProps.ts +5 -0
  538. package/src/IconButton/IconButton.tsx +2 -0
  539. package/src/IconButton/IconButtonProps.ts +1 -0
  540. package/src/Image/Image.tsx +13 -4
  541. package/src/Image/ImageProps.ts +7 -0
  542. package/src/Image/OverlayCloseButton/OverlayCloseButton.tsx +41 -0
  543. package/src/Image/OverlayCloseButton/OverlayCloseButtonProps.ts +3 -0
  544. package/src/Image/OverlayCloseButton/index.ts +2 -0
  545. package/src/Image/preload.native.ts +6 -0
  546. package/src/Image/preload.ts +5 -0
  547. package/src/ImageCore/ImageCoreNative.tsx +13 -10
  548. package/src/ImageCore/ImageCoreProps.ts +1 -0
  549. package/src/ListItem/ListItem.tsx +5 -15
  550. package/src/ListItemText/ListItemText.tsx +2 -2
  551. package/src/ListSubheader/ListSubheader.tsx +1 -1
  552. package/src/Modal/Modal.tsx +12 -4
  553. package/src/Modal/ModalProps.ts +9 -0
  554. package/src/Pagination/NumberPagination.tsx +7 -2
  555. package/src/Pagination/Pagination.tsx +3 -2
  556. package/src/Pagination/PaginationProps.ts +15 -0
  557. package/src/Pagination/index.ts +2 -2
  558. package/src/PaginationItem/PaginationItem.tsx +31 -24
  559. package/src/PaginationItem/PaginationItemProps.ts +7 -0
  560. package/src/Radio/Radio.tsx +46 -17
  561. package/src/Radio/RadioProps.ts +6 -0
  562. package/src/RadioGroup/RadioGroup.tsx +2 -28
  563. package/src/ShadowView/ShadowView.native.tsx +2 -2
  564. package/src/Slider/Slider.tsx +1 -0
  565. package/src/SnackbarContent/SnackbarContent.tsx +35 -14
  566. package/src/Tab/Tab.tsx +32 -22
  567. package/src/Tab/TabProps.ts +25 -2
  568. package/src/Tab/index.ts +2 -1
  569. package/src/Tab/useVariantStyleMap.ts +70 -17
  570. package/src/TabBase/TabBase.tsx +1 -9
  571. package/src/TabBase/TabBaseProps.ts +0 -6
  572. package/src/Tabs/Tabs.tsx +40 -13
  573. package/src/Tabs/TabsProps.ts +7 -1
  574. package/src/Tabs/index.ts +1 -1
  575. package/src/Tabs/useTabsStyle.ts +79 -0
  576. package/src/TextField/TextField.tsx +142 -47
  577. package/src/TextField/TextFieldProps.ts +16 -0
  578. package/src/TextField/useVariantStyleMap.ts +57 -30
  579. package/src/Toolbar/BackButton/BackButton.tsx +42 -0
  580. package/src/Toolbar/BackButton/BackButtonProps.ts +4 -0
  581. package/src/Toolbar/BackButton/index.ts +2 -0
  582. package/src/Toolbar/Toolbar.tsx +26 -17
  583. package/src/Toolbar/ToolbarProps.ts +0 -6
  584. package/src/Tooltip/Beaks/index.ts +4 -0
  585. package/src/Tooltip/Tooltip.tsx +16 -13
  586. package/src/Tooltip/TooltipProps.ts +2 -2
  587. package/src/Tooltip/index.ts +1 -0
  588. package/src/Typography/Typography.tsx +3 -1
  589. package/src/Typography/TypographyProps.ts +5 -0
  590. package/src/hooks/useCollapsibleAppBar.ts +27 -24
  591. package/src/hooks/useContentContainerStyle.ts +29 -12
  592. package/src/hooks/useFadeInAppBar.ts +4 -4
  593. package/src/internal/icons/AppBarChevronLeft.tsx +15 -0
  594. package/src/internal/icons/ChevronLeft.tsx +4 -1
  595. package/src/internal/icons/ChevronRight.tsx +4 -1
  596. package/src/internal/icons/ChipClose.tsx +13 -0
  597. package/src/internal/icons/Clear.tsx +3 -3
  598. package/src/internal/icons/Close.tsx +4 -1
  599. package/src/internal/icons/CloseCircleFillPierced.tsx +13 -0
  600. package/src/internal/icons/Search.tsx +2 -2
  601. package/src/internal/icons/index.ts +3 -0
  602. package/build/commonjs/ButtonBase/LegacyButtonBase.js +0 -126
  603. package/build/commonjs/ButtonBase/LegacyButtonBase.js.map +0 -1
  604. package/build/module/ButtonBase/LegacyButtonBase.js +0 -106
  605. package/build/module/ButtonBase/LegacyButtonBase.js.map +0 -1
  606. package/build/typescript/ButtonBase/LegacyButtonBase.d.ts +0 -5
  607. package/src/ButtonBase/LegacyButtonBase.tsx +0 -135
@@ -0,0 +1,71 @@
1
+ import { useMemo } from 'react';
2
+ import { useBreakpointUp } from '../hooks';
3
+ import { useTheme } from '../styles';
4
+ export default function useTabsStyle(variant, size, scrollable) {
5
+ const theme = useTheme();
6
+ const isSmallUp = useBreakpointUp('sm', true, false);
7
+ const isMediumUp = useBreakpointUp('md', true, false);
8
+ return useMemo(() => {
9
+ switch (variant) {
10
+ case 'circular':
11
+ {
12
+ const paddingHorizontal = isSmallUp ? 20 : size === 'small' ? 8 : 12;
13
+ return {
14
+ container: {
15
+ paddingBottom: 8,
16
+ paddingHorizontal: scrollable ? 0 : paddingHorizontal
17
+ },
18
+ contentContainer: {
19
+ paddingHorizontal: scrollable ? paddingHorizontal : 0
20
+ }
21
+ };
22
+ }
23
+
24
+ case 'circular-home':
25
+ {
26
+ const paddingHorizontal = isSmallUp ? 20 : 8;
27
+ return {
28
+ container: {
29
+ paddingBottom: 8,
30
+ paddingHorizontal: scrollable ? 0 : paddingHorizontal
31
+ },
32
+ contentContainer: {
33
+ paddingHorizontal: scrollable ? paddingHorizontal : 0
34
+ }
35
+ };
36
+ }
37
+
38
+ case 'bottom-navigation':
39
+ {
40
+ const paddingHorizontal = 24;
41
+ return {
42
+ container: { ...(isMediumUp ? {
43
+ alignSelf: 'center',
44
+ minWidth: 460
45
+ } : {}),
46
+ justifyContent: 'space-between',
47
+ paddingHorizontal: scrollable ? 0 : paddingHorizontal
48
+ },
49
+ contentContainer: {
50
+ paddingHorizontal: scrollable ? paddingHorizontal : 0
51
+ }
52
+ };
53
+ }
54
+
55
+ case 'default':
56
+ default:
57
+ {
58
+ const paddingHorizontal = isSmallUp ? 14 : 6;
59
+ return {
60
+ container: {
61
+ paddingHorizontal: scrollable ? 0 : paddingHorizontal
62
+ },
63
+ contentContainer: {
64
+ paddingHorizontal: scrollable ? paddingHorizontal : 0
65
+ }
66
+ };
67
+ }
68
+ }
69
+ }, [theme, variant, isMediumUp, isSmallUp, size, scrollable]);
70
+ }
71
+ //# sourceMappingURL=useTabsStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useBreakpointUp","useTheme","useTabsStyle","variant","size","scrollable","theme","isSmallUp","isMediumUp","paddingHorizontal","container","paddingBottom","contentContainer","alignSelf","minWidth","justifyContent"],"sources":["useTabsStyle.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { useBreakpointUp } from '../hooks';\nimport { useTheme } from '../styles';\nimport type { TabSize, TabVariant } from '../Tab';\n\ninterface TabsStyle {\n container: FountainUiStyle;\n contentContainer?: FountainUiStyle;\n}\n\nexport default function useTabsStyle(variant: TabVariant, size: TabSize, scrollable: boolean) {\n const theme = useTheme();\n\n const isSmallUp = useBreakpointUp('sm', true, false);\n\n const isMediumUp = useBreakpointUp('md', true, false);\n\n return useMemo<TabsStyle>(() => {\n switch (variant) {\n case 'circular': {\n const paddingHorizontal = isSmallUp ? 20 : (size === 'small' ? 8 : 12);\n\n return {\n container: {\n paddingBottom: 8,\n paddingHorizontal: scrollable ? 0 : paddingHorizontal,\n },\n contentContainer: {\n paddingHorizontal: scrollable ? paddingHorizontal : 0,\n },\n };\n }\n case 'circular-home': {\n const paddingHorizontal = isSmallUp ? 20 : 8;\n\n return {\n container: {\n paddingBottom: 8,\n paddingHorizontal: scrollable ? 0 : paddingHorizontal,\n },\n contentContainer: {\n paddingHorizontal: scrollable ? paddingHorizontal : 0,\n },\n };\n }\n case 'bottom-navigation': {\n const paddingHorizontal = 24;\n\n return {\n container: {\n ...(isMediumUp ? {\n alignSelf: 'center',\n minWidth: 460,\n } : {}),\n justifyContent: 'space-between',\n paddingHorizontal: scrollable ? 0 : paddingHorizontal,\n },\n contentContainer: {\n paddingHorizontal: scrollable ? paddingHorizontal : 0,\n },\n };\n }\n case 'default':\n default: {\n const paddingHorizontal = isSmallUp ? 14 : 6;\n\n return {\n container: {\n paddingHorizontal: scrollable ? 0 : paddingHorizontal,\n },\n contentContainer: {\n paddingHorizontal: scrollable ? paddingHorizontal : 0,\n },\n };\n }\n }\n }, [theme, variant, isMediumUp, isSmallUp, size, scrollable]);\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAEA,SAASC,eAAT,QAAgC,UAAhC;AACA,SAASC,QAAT,QAAyB,WAAzB;AAQA,eAAe,SAASC,YAAT,CAAsBC,OAAtB,EAA2CC,IAA3C,EAA0DC,UAA1D,EAA+E;EAC1F,MAAMC,KAAK,GAAGL,QAAQ,EAAtB;EAEA,MAAMM,SAAS,GAAGP,eAAe,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,CAAjC;EAEA,MAAMQ,UAAU,GAAGR,eAAe,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,CAAlC;EAEA,OAAOD,OAAO,CAAY,MAAM;IAC5B,QAAQI,OAAR;MACI,KAAK,UAAL;QAAiB;UACb,MAAMM,iBAAiB,GAAGF,SAAS,GAAG,EAAH,GAASH,IAAI,KAAK,OAAT,GAAmB,CAAnB,GAAuB,EAAnE;UAEA,OAAO;YACHM,SAAS,EAAE;cACPC,aAAa,EAAE,CADR;cAEPF,iBAAiB,EAAEJ,UAAU,GAAG,CAAH,GAAOI;YAF7B,CADR;YAKHG,gBAAgB,EAAE;cACdH,iBAAiB,EAAEJ,UAAU,GAAGI,iBAAH,GAAuB;YADtC;UALf,CAAP;QASH;;MACD,KAAK,eAAL;QAAsB;UAClB,MAAMA,iBAAiB,GAAGF,SAAS,GAAG,EAAH,GAAQ,CAA3C;UAEA,OAAO;YACHG,SAAS,EAAE;cACPC,aAAa,EAAE,CADR;cAEPF,iBAAiB,EAAEJ,UAAU,GAAG,CAAH,GAAOI;YAF7B,CADR;YAKHG,gBAAgB,EAAE;cACdH,iBAAiB,EAAEJ,UAAU,GAAGI,iBAAH,GAAuB;YADtC;UALf,CAAP;QASH;;MACD,KAAK,mBAAL;QAA0B;UACtB,MAAMA,iBAAiB,GAAG,EAA1B;UAEA,OAAO;YACHC,SAAS,EAAE,EACP,IAAIF,UAAU,GAAG;gBACbK,SAAS,EAAE,QADE;gBAEbC,QAAQ,EAAE;cAFG,CAAH,GAGV,EAHJ,CADO;cAKPC,cAAc,EAAE,eALT;cAMPN,iBAAiB,EAAEJ,UAAU,GAAG,CAAH,GAAOI;YAN7B,CADR;YASHG,gBAAgB,EAAE;cACdH,iBAAiB,EAAEJ,UAAU,GAAGI,iBAAH,GAAuB;YADtC;UATf,CAAP;QAaH;;MACD,KAAK,SAAL;MACA;QAAS;UACL,MAAMA,iBAAiB,GAAGF,SAAS,GAAG,EAAH,GAAQ,CAA3C;UAEA,OAAO;YACHG,SAAS,EAAE;cACPD,iBAAiB,EAAEJ,UAAU,GAAG,CAAH,GAAOI;YAD7B,CADR;YAIHG,gBAAgB,EAAE;cACdH,iBAAiB,EAAEJ,UAAU,GAAGI,iBAAH,GAAuB;YADtC;UAJf,CAAP;QAQH;IAxDL;EA0DH,CA3Da,EA2DX,CAACH,KAAD,EAAQH,OAAR,EAAiBK,UAAjB,EAA6BD,SAA7B,EAAwCH,IAAxC,EAA8CC,UAA9C,CA3DW,CAAd;AA4DH"}
@@ -1,6 +1,6 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- import React, { useState } from 'react';
3
+ import React, { useCallback, useLayoutEffect, useRef, useState } from 'react';
4
4
  import { Platform, StyleSheet, Text, TextInput, View } from 'react-native';
5
5
  import { css } from '@fountain-ui/styles';
6
6
  import IconButton from '../IconButton/IconButton';
@@ -8,6 +8,7 @@ import { Clear, EyeOff, EyeOn, LoadingSpinner, Search } from '../internal/icons'
8
8
  import Row from '../Row';
9
9
  import { createFontStyle, useTheme } from '../styles';
10
10
  import useVariantStyleMap from './useVariantStyleMap';
11
+ const isWeb = Platform.OS === 'web';
11
12
  const styles = StyleSheet.create({
12
13
  root: {
13
14
  alignItems: 'center',
@@ -16,24 +17,56 @@ const styles = StyleSheet.create({
16
17
  input: {
17
18
  flexGrow: 1
18
19
  },
20
+ inputWrapper: {
21
+ flexGrow: 1,
22
+ flexShrink: 1
23
+ },
24
+ placeholderWrapper: { ...StyleSheet.absoluteFillObject,
25
+ justifyContent: 'center'
26
+ },
19
27
  secureToggleButton: {
20
28
  alignItems: 'flex-end',
21
- padding: 0
29
+ padding: 0,
30
+ position: 'absolute',
31
+ right: 0
32
+ },
33
+ searchIconContainer: {
34
+ left: 12,
35
+ position: 'absolute'
36
+ },
37
+ loadingSinner: {
38
+ height: 19,
39
+ width: 19
40
+ },
41
+ clearButton: {
42
+ height: 36,
43
+ position: 'absolute',
44
+ right: 2,
45
+ width: 32
46
+ },
47
+ secureButtonContainer: {
48
+ justifyContent: 'center',
49
+ width: 32
22
50
  }
23
51
  });
24
52
  const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
25
53
  const {
26
54
  autoFocus,
27
55
  containerStyle: containerStyleProp,
56
+ multiline,
28
57
  editable = true,
29
58
  hint,
59
+ inputFontSize = 'large',
30
60
  isLoading,
61
+ maxLength,
31
62
  onBlur,
32
63
  onChangeText: onChangeTextProp,
33
64
  onFocus,
65
+ placeholder: placeholderProp,
34
66
  placeholderTextColor: placeholderTextColorProp,
35
67
  secureTextEntry: secureTextEntryProp,
36
68
  showClearButton: showClearButtonProp,
69
+ showWordCounter = false,
37
70
  status = 'default',
38
71
  style: styleProp,
39
72
  title,
@@ -46,7 +79,17 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
46
79
  const theme = useTheme();
47
80
  const [isFocused, setIsFocused] = useState(autoFocus ?? false);
48
81
  const [secureTextEntry, setSecureTextEntry] = useState(secureTextEntryProp ?? false);
49
- const variantStyles = useVariantStyleMap(variant, status, isFocused);
82
+ const internalRef = useRef(null);
83
+ const mergedRef = useCallback(node => {
84
+ internalRef.current = node;
85
+
86
+ if (typeof ref === 'function') {
87
+ ref(node);
88
+ } else if (ref) {
89
+ ref.current = node;
90
+ }
91
+ }, [ref]);
92
+ const variantStyles = useVariantStyleMap(variant, status, isFocused, inputFontSize);
50
93
 
51
94
  const handleBlur = event => {
52
95
  setIsFocused(false);
@@ -62,6 +105,22 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
62
105
  setSecureTextEntry(current => !current);
63
106
  };
64
107
 
108
+ const resizeHeight = useCallback(() => {
109
+ const el = internalRef.current;
110
+
111
+ if (el) {
112
+ el.style.height = 'auto';
113
+ el.style.height = `${el.scrollHeight}px`;
114
+ }
115
+ }, []);
116
+ useLayoutEffect(() => {
117
+ const shouldResizeHeight = multiline && isWeb;
118
+
119
+ if (shouldResizeHeight) {
120
+ resizeHeight();
121
+ }
122
+ }, [resizeHeight, multiline, value]);
123
+
65
124
  const handleChangeText = text => {
66
125
  onChangeTextProp === null || onChangeTextProp === void 0 ? void 0 : onChangeTextProp(text);
67
126
  };
@@ -75,10 +134,12 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
75
134
  selector: typography => typography.caption1['semiBold'],
76
135
  color: theme.palette.text.strong
77
136
  });
78
- const inputStyle = css([styles.input, variantStyles.inputStyle, Platform.OS === 'web' ? {
137
+ const inputStyle = css([styles.input, variantStyles.inputStyle, variantStyles.inputFontStyle, isWeb ? {
79
138
  outlineWidth: 0
80
139
  } : {}, styleProp]);
81
- const placeholderTextColor = placeholderTextColorProp ?? theme.palette.status.disabledLabel;
140
+ const placeholderFontStyle = css([variantStyles.inputFontStyle, {
141
+ color: placeholderTextColorProp ?? theme.palette.status.disabledLabel
142
+ }]);
82
143
  const containerStyle = css([styles.root, variantStyles.containerStyle, {
83
144
  opacity: disabled ? 0.3 : 1
84
145
  }, containerStyleProp]);
@@ -87,29 +148,46 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
87
148
  style: titleFontStyle
88
149
  }) : null, /*#__PURE__*/React.createElement(Row, {
89
150
  style: containerStyle
90
- }, isSearch ? isLoading ? /*#__PURE__*/React.createElement(LoadingSpinner, null) : /*#__PURE__*/React.createElement(Search, {
151
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, isSearch ? /*#__PURE__*/React.createElement(View, {
152
+ style: styles.searchIconContainer
153
+ }, isLoading ? /*#__PURE__*/React.createElement(LoadingSpinner, {
154
+ style: styles.loadingSinner
155
+ }) : /*#__PURE__*/React.createElement(Search, {
91
156
  color: 'base',
92
- height: 18,
93
- width: 18
94
- }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({
157
+ height: 19,
158
+ width: 19
159
+ })) : null, /*#__PURE__*/React.createElement(View, {
160
+ style: styles.inputWrapper
161
+ }, /*#__PURE__*/React.createElement(View, {
162
+ pointerEvents: 'none',
163
+ style: styles.placeholderWrapper
164
+ }, placeholderProp && !value ? /*#__PURE__*/React.createElement(Text, {
165
+ children: placeholderProp,
166
+ numberOfLines: 1,
167
+ style: placeholderFontStyle
168
+ }) : null), /*#__PURE__*/React.createElement(TextInput, _extends({
95
169
  autoFocus: autoFocus,
96
170
  editable: !disabled,
171
+ maxLength: maxLength,
97
172
  onBlur: handleBlur,
98
173
  onChangeText: handleChangeText,
99
174
  onFocus: handleFocus,
100
- placeholderTextColor: placeholderTextColor,
101
- ref: ref,
175
+ ref: mergedRef,
102
176
  secureTextEntry: secureTextEntry,
103
177
  style: inputStyle,
104
- value: value
105
- }, otherProps)), showClearButton && value !== null && value !== void 0 && value.length && value.length > 0 ? /*#__PURE__*/React.createElement(IconButton, {
178
+ value: value,
179
+ multiline: multiline
180
+ }, otherProps)))), showClearButton && value !== null && value !== void 0 && value.length && value.length > 0 ? /*#__PURE__*/React.createElement(IconButton, {
106
181
  color: 'base',
107
182
  children: /*#__PURE__*/React.createElement(Clear, {
108
- height: 13.75,
109
- width: 15
183
+ height: 17.31,
184
+ width: 15.9
110
185
  }),
111
- onPress: handleClear
112
- }) : null, secureTextEntryProp && !isSearch ? /*#__PURE__*/React.createElement(IconButton, {
186
+ onPress: handleClear,
187
+ style: styles.clearButton
188
+ }) : null, secureTextEntryProp && !isSearch ? /*#__PURE__*/React.createElement(View, {
189
+ style: styles.secureButtonContainer
190
+ }, /*#__PURE__*/React.createElement(IconButton, {
113
191
  color: 'base',
114
192
  onPress: handleSecureTogglePress,
115
193
  style: styles.secureToggleButton
@@ -119,7 +197,10 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
119
197
  }) : /*#__PURE__*/React.createElement(EyeOn, {
120
198
  height: 19,
121
199
  width: 17.42
122
- })) : null), hint && !isSearch ? /*#__PURE__*/React.createElement(Text, {
200
+ }))) : null), showWordCounter && maxLength && !isSearch ? /*#__PURE__*/React.createElement(Text, {
201
+ children: `${(value === null || value === void 0 ? void 0 : value.length) ?? 0}/${maxLength}`,
202
+ style: variantStyles.hintStyle
203
+ }) : null, hint && !isSearch ? /*#__PURE__*/React.createElement(Text, {
123
204
  children: hint,
124
205
  style: variantStyles.hintStyle
125
206
  }) : null);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Platform","StyleSheet","Text","TextInput","View","css","IconButton","Clear","EyeOff","EyeOn","LoadingSpinner","Search","Row","createFontStyle","useTheme","useVariantStyleMap","styles","create","root","alignItems","flexGrow","input","secureToggleButton","padding","TextField","forwardRef","props","ref","autoFocus","containerStyle","containerStyleProp","editable","hint","isLoading","onBlur","onChangeText","onChangeTextProp","onFocus","placeholderTextColor","placeholderTextColorProp","secureTextEntry","secureTextEntryProp","showClearButton","showClearButtonProp","status","style","styleProp","title","value","variant","otherProps","isSearch","disabled","theme","isFocused","setIsFocused","setSecureTextEntry","variantStyles","handleBlur","event","handleFocus","handleSecureTogglePress","current","handleChangeText","text","handleClear","titleFontStyle","selector","typography","caption1","color","palette","strong","inputStyle","OS","outlineWidth","disabledLabel","opacity","length","hintStyle"],"sources":["TextField.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport type { NativeSyntheticEvent, TextInputFocusEventData } from 'react-native';\nimport { Platform, StyleSheet, Text, TextInput, View } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { css } from '@fountain-ui/styles';\nimport IconButton from '../IconButton/IconButton';\nimport { Clear, EyeOff, EyeOn, LoadingSpinner, Search } from '../internal/icons';\nimport Row from '../Row';\nimport { createFontStyle, useTheme } from '../styles';\nimport type TextFieldProps from './TextFieldProps';\nimport type { TextFieldStatus, TextFieldVariant } from './TextFieldProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\nconst styles = StyleSheet.create({\n root: {\n alignItems: 'center',\n flexGrow: 1,\n },\n input: {\n flexGrow: 1,\n },\n secureToggleButton: {\n alignItems: 'flex-end',\n padding: 0,\n },\n});\n\nconst TextField = React.forwardRef<TextInput, TextFieldProps>(function TextField(props, ref) {\n const {\n autoFocus,\n containerStyle: containerStyleProp,\n editable = true,\n hint,\n isLoading,\n onBlur,\n onChangeText: onChangeTextProp,\n onFocus,\n placeholderTextColor: placeholderTextColorProp,\n secureTextEntry: secureTextEntryProp,\n showClearButton: showClearButtonProp,\n status = 'default' as TextFieldStatus,\n style: styleProp,\n title,\n value,\n variant = 'default' as TextFieldVariant,\n ...otherProps\n } = props;\n\n const isSearch = variant === 'search';\n\n const disabled = !editable || isLoading;\n\n const theme = useTheme();\n\n const [isFocused, setIsFocused] = useState<boolean>(autoFocus ?? false);\n const [secureTextEntry, setSecureTextEntry] = useState<boolean>(secureTextEntryProp ?? false);\n\n const variantStyles = useVariantStyleMap(variant, status, isFocused);\n\n const handleBlur = (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n setIsFocused(false);\n onBlur?.(event);\n };\n\n const handleFocus = (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n setIsFocused(true);\n onFocus?.(event);\n };\n\n const handleSecureTogglePress = () => {\n setSecureTextEntry((current) => !current);\n };\n\n const handleChangeText = (text: string) => {\n onChangeTextProp?.(text);\n };\n\n const handleClear = () => {\n handleChangeText('');\n };\n\n const showClearButton = showClearButtonProp ?? isSearch;\n\n const titleFontStyle = createFontStyle(theme, {\n selector: (typography) => typography.caption1['semiBold'],\n color: theme.palette.text.strong,\n });\n\n const inputStyle = css([\n styles.input,\n variantStyles.inputStyle,\n Platform.OS === 'web' ? { outlineWidth: 0 } as FountainUiStyle : {},\n styleProp,\n ]);\n\n const placeholderTextColor = placeholderTextColorProp ?? theme.palette.status.disabledLabel;\n\n const containerStyle = css([\n styles.root,\n variantStyles.containerStyle,\n { opacity: disabled ? 0.3 : 1 },\n containerStyleProp,\n ]);\n\n return (\n <View>\n {title && !isSearch ? (\n <Text\n children={title}\n style={titleFontStyle}\n />\n ) : null}\n\n <Row style={containerStyle}>\n {isSearch ? (\n isLoading ? (\n <LoadingSpinner/>\n ) : (\n <Search\n color={'base'}\n height={18}\n width={18}\n />\n )\n ) : null}\n\n <TextInput\n autoFocus={autoFocus}\n editable={!disabled}\n onBlur={handleBlur}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n placeholderTextColor={placeholderTextColor}\n ref={ref}\n secureTextEntry={secureTextEntry}\n style={inputStyle}\n value={value}\n {...otherProps}\n />\n\n {showClearButton && value?.length && value.length > 0 ? (\n <IconButton\n color={'base'}\n children={\n <Clear\n height={13.75}\n width={15}\n />\n }\n onPress={handleClear}\n />\n ) : null}\n\n {secureTextEntryProp && !isSearch ? (\n <IconButton\n color={'base'}\n onPress={handleSecureTogglePress}\n style={styles.secureToggleButton}\n >\n {secureTextEntry ? (\n <EyeOff\n height={19}\n width={17.42}\n />\n ) : (\n <EyeOn\n height={19}\n width={17.42}\n />\n )}\n </IconButton>\n ) : null}\n </Row>\n\n {hint && !isSearch ? (\n <Text\n children={hint}\n style={variantStyles.hintStyle}\n />\n ) : null}\n </View>\n );\n});\n\nexport default TextField;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useLayoutEffect","useRef","useState","Platform","StyleSheet","Text","TextInput","View","css","IconButton","Clear","EyeOff","EyeOn","LoadingSpinner","Search","Row","createFontStyle","useTheme","useVariantStyleMap","isWeb","OS","styles","create","root","alignItems","flexGrow","input","inputWrapper","flexShrink","placeholderWrapper","absoluteFillObject","justifyContent","secureToggleButton","padding","position","right","searchIconContainer","left","loadingSinner","height","width","clearButton","secureButtonContainer","TextField","forwardRef","props","ref","autoFocus","containerStyle","containerStyleProp","multiline","editable","hint","inputFontSize","isLoading","maxLength","onBlur","onChangeText","onChangeTextProp","onFocus","placeholder","placeholderProp","placeholderTextColor","placeholderTextColorProp","secureTextEntry","secureTextEntryProp","showClearButton","showClearButtonProp","showWordCounter","status","style","styleProp","title","value","variant","otherProps","isSearch","disabled","theme","isFocused","setIsFocused","setSecureTextEntry","internalRef","mergedRef","node","current","variantStyles","handleBlur","event","handleFocus","handleSecureTogglePress","resizeHeight","el","scrollHeight","shouldResizeHeight","handleChangeText","text","handleClear","titleFontStyle","selector","typography","caption1","color","palette","strong","inputStyle","inputFontStyle","outlineWidth","placeholderFontStyle","disabledLabel","opacity","length","hintStyle"],"sources":["TextField.tsx"],"sourcesContent":["import React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInputFocusEventData } from 'react-native';\nimport { Platform, StyleSheet, Text, TextInput, View } from 'react-native';\nimport type { FountainUiStyle } from '@fountain-ui/styles';\nimport { css } from '@fountain-ui/styles';\nimport IconButton from '../IconButton/IconButton';\nimport { Clear, EyeOff, EyeOn, LoadingSpinner, Search } from '../internal/icons';\nimport Row from '../Row';\nimport { createFontStyle, useTheme } from '../styles';\nimport type TextFieldProps from './TextFieldProps';\nimport type { TextFieldStatus, TextFieldVariant } from './TextFieldProps';\nimport useVariantStyleMap from './useVariantStyleMap';\n\nconst isWeb = Platform.OS === 'web';\n\nconst styles = StyleSheet.create({\n root: {\n alignItems: 'center',\n flexGrow: 1,\n },\n input: {\n flexGrow: 1,\n },\n inputWrapper: {\n flexGrow: 1,\n flexShrink: 1,\n },\n placeholderWrapper: {\n ...StyleSheet.absoluteFillObject,\n justifyContent: 'center',\n },\n secureToggleButton: {\n alignItems: 'flex-end',\n padding: 0,\n position: 'absolute',\n right: 0,\n },\n searchIconContainer: {\n left: 12,\n position: 'absolute',\n },\n loadingSinner: {\n height: 19,\n width: 19,\n },\n clearButton: {\n height: 36,\n position: 'absolute',\n right: 2,\n width: 32,\n },\n secureButtonContainer: {\n justifyContent: 'center',\n width: 32,\n },\n});\n\nconst TextField = React.forwardRef<TextInput, TextFieldProps>(function TextField(props, ref) {\n const {\n autoFocus,\n containerStyle: containerStyleProp,\n multiline,\n editable = true,\n hint,\n inputFontSize = 'large',\n isLoading,\n maxLength,\n onBlur,\n onChangeText: onChangeTextProp,\n onFocus,\n placeholder: placeholderProp,\n placeholderTextColor: placeholderTextColorProp,\n secureTextEntry: secureTextEntryProp,\n showClearButton: showClearButtonProp,\n showWordCounter = false,\n status = 'default' as TextFieldStatus,\n style: styleProp,\n title,\n value,\n variant = 'default' as TextFieldVariant,\n ...otherProps\n } = props;\n\n const isSearch = variant === 'search';\n\n const disabled = !editable || isLoading;\n\n const theme = useTheme();\n\n const [isFocused, setIsFocused] = useState<boolean>(autoFocus ?? false);\n const [secureTextEntry, setSecureTextEntry] = useState<boolean>(secureTextEntryProp ?? false);\n\n const internalRef = useRef<TextInput>(null);\n\n const mergedRef = useCallback((node: TextInput | null) => {\n (internalRef as React.MutableRefObject<TextInput | null>).current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<TextInput | null>).current = node;\n }\n }, [ref]);\n\n const variantStyles = useVariantStyleMap(variant, status, isFocused, inputFontSize);\n\n const handleBlur = (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n setIsFocused(false);\n onBlur?.(event);\n };\n\n const handleFocus = (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n setIsFocused(true);\n onFocus?.(event);\n };\n\n const handleSecureTogglePress = () => {\n setSecureTextEntry((current) => !current);\n };\n\n const resizeHeight = useCallback(() => {\n const el = internalRef.current as unknown as HTMLTextAreaElement | null;\n if (el) {\n el.style.height = 'auto';\n el.style.height = `${el.scrollHeight}px`;\n }\n }, []);\n\n useLayoutEffect(() => {\n const shouldResizeHeight = multiline && isWeb;\n if (shouldResizeHeight) {\n resizeHeight();\n }\n }, [resizeHeight, multiline, value]);\n\n const handleChangeText = (text: string) => {\n onChangeTextProp?.(text);\n };\n\n const handleClear = () => {\n handleChangeText('');\n };\n\n const showClearButton = showClearButtonProp ?? isSearch;\n\n const titleFontStyle = createFontStyle(theme, {\n selector: (typography) => typography.caption1['semiBold'],\n color: theme.palette.text.strong,\n });\n\n const inputStyle = css([\n styles.input,\n variantStyles.inputStyle,\n variantStyles.inputFontStyle,\n isWeb ? { outlineWidth: 0 } as FountainUiStyle : {},\n styleProp,\n ]);\n\n const placeholderFontStyle = css([\n variantStyles.inputFontStyle,\n { color: placeholderTextColorProp ?? theme.palette.status.disabledLabel },\n ]);\n\n const containerStyle = css([\n styles.root,\n variantStyles.containerStyle,\n { opacity: disabled ? 0.3 : 1 },\n containerStyleProp,\n ]);\n\n return (\n <View>\n {title && !isSearch ? (\n <Text\n children={title}\n style={titleFontStyle}\n />\n ) : null}\n\n <Row style={containerStyle}>\n <React.Fragment>\n {isSearch ? (\n <View style={styles.searchIconContainer}>\n {isLoading ? (\n <LoadingSpinner style={styles.loadingSinner}/>\n ) : (\n <Search\n color={'base'}\n height={19}\n width={19}\n />\n )}\n </View>\n ) : null}\n\n <View style={styles.inputWrapper}>\n <View\n pointerEvents={'none'}\n style={styles.placeholderWrapper}\n >\n {placeholderProp && !value ? (\n <Text\n children={placeholderProp}\n numberOfLines={1}\n style={placeholderFontStyle}\n />\n ) : null}\n </View>\n\n <TextInput\n autoFocus={autoFocus}\n editable={!disabled}\n maxLength={maxLength}\n onBlur={handleBlur}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n ref={mergedRef}\n secureTextEntry={secureTextEntry}\n style={inputStyle}\n value={value}\n multiline={multiline}\n {...otherProps}\n />\n </View>\n </React.Fragment>\n\n {showClearButton && value?.length && value.length > 0 ? (\n <IconButton\n color={'base'}\n children={\n <Clear\n height={17.31}\n width={15.9}\n />\n }\n onPress={handleClear}\n style={styles.clearButton}\n />\n ) : null}\n\n {secureTextEntryProp && !isSearch ? (\n <View style={styles.secureButtonContainer}>\n <IconButton\n color={'base'}\n onPress={handleSecureTogglePress}\n style={styles.secureToggleButton}\n >\n {secureTextEntry ? (\n <EyeOff\n height={19}\n width={17.42}\n />\n ) : (\n <EyeOn\n height={19}\n width={17.42}\n />\n )}\n </IconButton>\n </View>\n ) : null}\n </Row>\n\n {showWordCounter && maxLength && !isSearch ? (\n <Text\n children={`${value?.length ?? 0}/${maxLength}`}\n style={variantStyles.hintStyle}\n />\n ) : null}\n\n {hint && !isSearch ? (\n <Text\n children={hint}\n style={variantStyles.hintStyle}\n />\n ) : null}\n </View>\n );\n});\n\nexport default TextField;\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export const textFieldStatus = ['default', 'success', 'error'];
2
2
  export const textFieldVariants = ['default', 'search'];
3
+ export const textFieldInputFontSizes = ['large', 'small'];
3
4
  //# sourceMappingURL=TextFieldProps.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["textFieldStatus","textFieldVariants"],"sources":["TextFieldProps.ts"],"sourcesContent":["import type { TextInputProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\nimport { StyleProp, TextStyle } from 'react-native';\nimport { ExtendedStyle } from '../types';\n\nexport const textFieldStatus = ['default', 'success', 'error'] as const;\nexport type TextFieldStatus = typeof textFieldStatus[number];\n\nexport const textFieldVariants = ['default', 'search'] as const;\nexport type TextFieldVariant = typeof textFieldVariants[number];\n\nexport default interface TextFieldProps extends OverridableComponentProps<TextInputProps, {\n /**\n * Determines the style of the container that wraps the input.\n */\n containerStyle?: ExtendedStyle | ExtendedStyle[];\n\n /**\n * Determines the text below the input.\n */\n hint?: string;\n\n /**\n * Determines whether to display the spinner when in loading state. (only search)\n */\n isLoading?: boolean;\n\n /**\n * Determines whether to expose the Clear button.\n * @default variant === search ? true : false\n */\n showClearButton?: boolean;\n\n /**\n * Determines the input color based on the status.\n * @default default\n */\n status?: TextFieldStatus;\n\n /**\n * Determines the title of the input.\n */\n title?: string;\n\n /**\n * Determines the overall style and appearance of the input.\n * @default default\n */\n variant?: TextFieldVariant;\n}> {}\n"],"mappings":"AAKA,OAAO,MAAMA,eAAe,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,CAAxB;AAGP,OAAO,MAAMC,iBAAiB,GAAG,CAAC,SAAD,EAAY,QAAZ,CAA1B"}
1
+ {"version":3,"names":["textFieldStatus","textFieldVariants","textFieldInputFontSizes"],"sources":["TextFieldProps.ts"],"sourcesContent":["import type { TextInputProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\nimport { StyleProp, TextStyle } from 'react-native';\nimport { ExtendedStyle } from '../types';\n\nexport const textFieldStatus = ['default', 'success', 'error'] as const;\nexport type TextFieldStatus = typeof textFieldStatus[number];\n\nexport const textFieldVariants = ['default', 'search'] as const;\nexport type TextFieldVariant = typeof textFieldVariants[number];\n\nexport const textFieldInputFontSizes = ['large', 'small'] as const;\nexport type TextFieldInputFontSize = typeof textFieldInputFontSizes[number];\n\nexport default interface TextFieldProps extends OverridableComponentProps<TextInputProps, {\n /**\n * Determines the style of the container that wraps the input.\n */\n containerStyle?: ExtendedStyle | ExtendedStyle[];\n\n /**\n * Determines the text below the input.\n */\n hint?: string;\n\n /**\n * Determines whether to display the spinner when in loading state. (only search)\n */\n isLoading?: boolean;\n\n /**\n * Determines whether to expose the Clear button.\n * @default variant === search ? true : false\n */\n showClearButton?: boolean;\n\n /**\n * Determines the input color based on the status.\n * @default default\n */\n status?: TextFieldStatus;\n\n /**\n * Determines the title of the input.\n */\n title?: string;\n\n /**\n * Determines the overall style and appearance of the input.\n * @default default\n */\n variant?: TextFieldVariant;\n\n /**\n * Determines the font size of the input.\n * @default large\n */\n inputFontSize?: TextFieldInputFontSize;\n\n /**\n * Determines whether to display the word counter below the input.\n * Requires maxLength to be set.\n * @default false\n */\n showWordCounter?: boolean;\n}> {}\n"],"mappings":"AAKA,OAAO,MAAMA,eAAe,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,CAAxB;AAGP,OAAO,MAAMC,iBAAiB,GAAG,CAAC,SAAD,EAAY,QAAZ,CAA1B;AAGP,OAAO,MAAMC,uBAAuB,GAAG,CAAC,OAAD,EAAU,OAAV,CAAhC"}
@@ -1,6 +1,29 @@
1
1
  import { useMemo } from 'react';
2
2
  import { typographyOf } from '@fountain-ui/styles';
3
3
  import { createFontStyle, useTheme } from '../styles';
4
+ const fontSizeStyleMap = {
5
+ large: {
6
+ fontSize: 18,
7
+ lineHeight: 27,
8
+ fontFamily: 'PretendardStd-SemiBold',
9
+ letterSpacing: 0
10
+ },
11
+ small: {
12
+ fontSize: 14,
13
+ lineHeight: 21,
14
+ fontFamily: 'PretendardStd-Medium',
15
+ letterSpacing: 0
16
+ }
17
+ };
18
+ const containerPaddingMap = {
19
+ large: {
20
+ paddingVertical: 14
21
+ },
22
+ small: {
23
+ paddingTop: 18,
24
+ paddingBottom: 16
25
+ }
26
+ };
4
27
 
5
28
  function useStatusColor(theme, status) {
6
29
  switch (status) {
@@ -26,6 +49,7 @@ function useStatusColor(theme, status) {
26
49
  }
27
50
 
28
51
  export default function useVariantStyleMap(variant, status, isFocused) {
52
+ let inputFontSize = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'large';
29
53
  const theme = useTheme();
30
54
  const {
31
55
  borderColor,
@@ -38,25 +62,22 @@ export default function useVariantStyleMap(variant, status, isFocused) {
38
62
  return {
39
63
  containerStyle: {
40
64
  borderBottomColor: status === 'default' && isFocused ? theme.palette.border.strong : borderColor,
41
- borderBottomWidth: 1
65
+ borderBottomWidth: 1,
66
+ gap: 16,
67
+ minHeight: 54,
68
+ ...containerPaddingMap[inputFontSize]
42
69
  },
43
70
  inputStyle: {
44
- paddingRight: theme.spacing(4),
45
- paddingVertical: theme.spacing(4),
46
- ...createFontStyle(theme, {
47
- selector: _ => typographyOf({
48
- fontSize: 18,
49
- lineHeight: 27,
50
- fontFamily: 'PretendardStd-SemiBold',
51
- letterSpacing: 0
52
- }),
53
- color: theme.palette.text.strong
54
- })
71
+ padding: 0
55
72
  },
73
+ inputFontStyle: createFontStyle(theme, {
74
+ selector: _ => typographyOf(fontSizeStyleMap[inputFontSize]),
75
+ color: theme.palette.text.strong
76
+ }),
56
77
  hintStyle: {
57
78
  marginTop: theme.spacing(2),
58
79
  ...createFontStyle(theme, {
59
- // selector: (typography) => typography.caption1['regular']
80
+ selector: typography => typography.caption1['regular'],
60
81
  color: hintColor
61
82
  })
62
83
  }
@@ -69,26 +90,24 @@ export default function useVariantStyleMap(variant, status, isFocused) {
69
90
  borderColor: theme.palette.border.base,
70
91
  borderRadius: theme.shape.radius.md,
71
92
  borderWidth: 0.5,
72
- paddingLeft: theme.spacing(3),
73
- paddingRight: theme.spacing(0.5)
93
+ paddingBottom: 12,
94
+ paddingHorizontal: 39,
95
+ paddingTop: 11
74
96
  },
75
97
  inputStyle: {
76
- paddingBottom: theme.spacing(2.5),
77
- paddingLeft: theme.spacing(2),
78
- paddingRight: theme.spacing(1),
79
- paddingTop: theme.spacing(2.25),
80
- ...createFontStyle(theme, {
81
- selector: _ => typographyOf({
82
- fontSize: 16,
83
- lineHeight: 19.2,
84
- fontFamily: 'PretendardStd-SemiBold',
85
- letterSpacing: -0.16
86
- }),
87
- color: theme.palette.text.strong
88
- })
89
- }
98
+ padding: 0
99
+ },
100
+ inputFontStyle: createFontStyle(theme, {
101
+ selector: _ => typographyOf({
102
+ fontSize: 16,
103
+ lineHeight: 19.2,
104
+ fontFamily: 'PretendardStd-SemiBold',
105
+ letterSpacing: -0.16
106
+ }),
107
+ color: theme.palette.text.strong
108
+ })
90
109
  };
91
110
  }
92
- }, [theme, borderColor, hintColor, variant, isFocused]);
111
+ }, [theme, borderColor, hintColor, variant, isFocused, inputFontSize]);
93
112
  }
94
113
  //# sourceMappingURL=useVariantStyleMap.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","typographyOf","createFontStyle","useTheme","useStatusColor","theme","status","borderColor","palette","border","base","hintColor","text","weak","success","danger","useVariantStyleMap","variant","isFocused","containerStyle","borderBottomColor","strong","borderBottomWidth","inputStyle","paddingRight","spacing","paddingVertical","selector","_","fontSize","lineHeight","fontFamily","letterSpacing","color","hintStyle","marginTop","backgroundColor","surface","supportive","borderRadius","shape","radius","md","borderWidth","paddingLeft","paddingBottom","paddingTop"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { FountainUiStyle, Theme } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { TextFieldStatus, TextFieldVariant } from './TextFieldProps';\n\ninterface VariantStyleMap {\n containerStyle?: FountainUiStyle;\n inputStyle?: FountainUiStyle;\n hintStyle?: FountainUiStyle;\n}\n\nfunction useStatusColor(theme: Theme, status: TextFieldStatus): { borderColor: string; hintColor: string; } {\n switch (status) {\n default:\n case 'default':\n return {\n borderColor: theme.palette.border.base,\n hintColor: theme.palette.text.weak,\n };\n case 'success':\n return {\n borderColor: theme.palette.status.success,\n hintColor: theme.palette.status.success,\n };\n case 'error':\n return {\n borderColor: theme.palette.status.danger,\n hintColor: theme.palette.status.danger,\n };\n }\n}\n\nexport default function useVariantStyleMap(variant: TextFieldVariant, status: TextFieldStatus, isFocused: boolean): VariantStyleMap {\n const theme = useTheme();\n\n const {\n borderColor,\n hintColor,\n } = useStatusColor(theme, status);\n\n return useMemo(() => {\n switch (variant) {\n default:\n case 'default':\n return {\n containerStyle: {\n borderBottomColor: status === 'default' && isFocused ? theme.palette.border.strong : borderColor,\n borderBottomWidth: 1,\n },\n inputStyle: {\n paddingRight: theme.spacing(4),\n paddingVertical: theme.spacing(4),\n ...createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 18,\n lineHeight: 27,\n fontFamily: 'PretendardStd-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strong,\n }),\n },\n hintStyle: {\n marginTop: theme.spacing(2),\n ...createFontStyle(theme, {\n // selector: (typography) => typography.caption1['regular']\n color: hintColor,\n }),\n },\n };\n case 'search':\n return {\n containerStyle: {\n backgroundColor: theme.palette.surface.supportive,\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.md,\n borderWidth: 0.5,\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(0.5),\n },\n inputStyle: {\n paddingBottom: theme.spacing(2.5),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n paddingTop: theme.spacing(2.25),\n ...createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 16,\n lineHeight: 19.2,\n fontFamily: 'PretendardStd-SemiBold',\n letterSpacing: -0.16,\n }),\n color: theme.palette.text.strong,\n }),\n },\n };\n }\n }, [theme, borderColor, hintColor, variant, isFocused]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useMemo","typographyOf","createFontStyle","useTheme","fontSizeStyleMap","large","fontSize","lineHeight","fontFamily","letterSpacing","small","containerPaddingMap","paddingVertical","paddingTop","paddingBottom","useStatusColor","theme","status","borderColor","palette","border","base","hintColor","text","weak","success","danger","useVariantStyleMap","variant","isFocused","inputFontSize","containerStyle","borderBottomColor","strong","borderBottomWidth","gap","minHeight","inputStyle","padding","inputFontStyle","selector","_","color","hintStyle","marginTop","spacing","typography","caption1","backgroundColor","surface","supportive","borderRadius","shape","radius","md","borderWidth","paddingHorizontal"],"sources":["useVariantStyleMap.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { TextStyle } from 'react-native';\nimport type { FountainUiStyle, Theme } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport type { TextFieldInputFontSize, TextFieldStatus, TextFieldVariant } from './TextFieldProps';\n\nconst fontSizeStyleMap = {\n large: {\n fontSize: 18,\n lineHeight: 27,\n fontFamily: 'PretendardStd-SemiBold',\n letterSpacing: 0,\n },\n small: {\n fontSize: 14,\n lineHeight: 21,\n fontFamily: 'PretendardStd-Medium',\n letterSpacing: 0,\n },\n} as const;\n\nconst containerPaddingMap = {\n large: {\n paddingVertical: 14,\n },\n small: {\n paddingTop: 18,\n paddingBottom: 16,\n },\n} as const;\n\ninterface VariantStyleMap {\n containerStyle?: FountainUiStyle;\n inputFontStyle?: TextStyle;\n inputStyle?: FountainUiStyle;\n hintStyle?: FountainUiStyle;\n}\n\nfunction useStatusColor(theme: Theme, status: TextFieldStatus): { borderColor: string; hintColor: string; } {\n switch (status) {\n default:\n case 'default':\n return {\n borderColor: theme.palette.border.base,\n hintColor: theme.palette.text.weak,\n };\n case 'success':\n return {\n borderColor: theme.palette.status.success,\n hintColor: theme.palette.status.success,\n };\n case 'error':\n return {\n borderColor: theme.palette.status.danger,\n hintColor: theme.palette.status.danger,\n };\n }\n}\n\nexport default function useVariantStyleMap(\n variant: TextFieldVariant,\n status: TextFieldStatus,\n isFocused: boolean,\n inputFontSize: TextFieldInputFontSize = 'large',\n): VariantStyleMap {\n const theme = useTheme();\n\n const {\n borderColor,\n hintColor,\n } = useStatusColor(theme, status);\n\n return useMemo(() => {\n switch (variant) {\n default:\n case 'default':\n return {\n containerStyle: {\n borderBottomColor: status === 'default' && isFocused ? theme.palette.border.strong : borderColor,\n borderBottomWidth: 1,\n gap: 16,\n minHeight: 54,\n ...containerPaddingMap[inputFontSize],\n },\n inputStyle: {\n padding: 0,\n },\n inputFontStyle: createFontStyle(theme, {\n selector: (_) => typographyOf(fontSizeStyleMap[inputFontSize]),\n color: theme.palette.text.strong,\n }),\n hintStyle: {\n marginTop: theme.spacing(2),\n ...createFontStyle(theme, {\n selector: (typography) => typography.caption1['regular'],\n color: hintColor,\n }),\n },\n };\n case 'search':\n return {\n containerStyle: {\n backgroundColor: theme.palette.surface.supportive,\n borderColor: theme.palette.border.base,\n borderRadius: theme.shape.radius.md,\n borderWidth: 0.5,\n paddingBottom: 12,\n paddingHorizontal: 39,\n paddingTop: 11,\n },\n inputStyle: {\n padding: 0,\n },\n inputFontStyle: createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 16,\n lineHeight: 19.2,\n fontFamily: 'PretendardStd-SemiBold',\n letterSpacing: -0.16,\n }),\n color: theme.palette.text.strong,\n }),\n };\n }\n }, [theme, borderColor, hintColor, variant, isFocused, inputFontSize]);\n}\n"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import IconButton from '../../IconButton';
6
+ import { AppBarChevronLeft } from '../../internal';
7
+ import { css } from '@fountain-ui/styles';
8
+ const styles = StyleSheet.create({
9
+ root: {
10
+ height: 40,
11
+ left: 4,
12
+ paddingLeft: 5,
13
+ paddingRight: 11,
14
+ paddingVertical: 8,
15
+ position: 'absolute',
16
+ width: 40
17
+ }
18
+ });
19
+ export default function BackButton(props) {
20
+ const {
21
+ style: styleProp,
22
+ ...otherProps
23
+ } = props;
24
+ const rootStyle = css([styles.root, styleProp]);
25
+ return /*#__PURE__*/React.createElement(IconButton, _extends({
26
+ style: rootStyle
27
+ }, otherProps), /*#__PURE__*/React.createElement(AppBarChevronLeft, {
28
+ height: 24,
29
+ width: 24
30
+ }));
31
+ }
32
+ //# sourceMappingURL=BackButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","IconButton","AppBarChevronLeft","css","styles","create","root","height","left","paddingLeft","paddingRight","paddingVertical","position","width","BackButton","props","style","styleProp","otherProps","rootStyle"],"sources":["BackButton.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet } from 'react-native';\nimport IconButton from '../../IconButton';\nimport { AppBarChevronLeft } from '../../internal';\nimport type BackButtonProps from './BackButtonProps';\nimport { css } from '@fountain-ui/styles';\n\nconst styles = StyleSheet.create({\n root: {\n height: 40,\n left: 4,\n paddingLeft: 5,\n paddingRight: 11,\n paddingVertical: 8,\n position: 'absolute',\n width: 40,\n },\n});\n\nexport default function BackButton(props: BackButtonProps) {\n const {\n style: styleProp,\n ...otherProps\n } = props;\n\n const rootStyle = css([\n styles.root,\n styleProp,\n ]);\n\n return (\n <IconButton\n style={rootStyle}\n {...otherProps}\n >\n <AppBarChevronLeft\n height={24}\n width={24}\n />\n </IconButton>\n );\n}\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,UAAP,MAAuB,kBAAvB;AACA,SAASC,iBAAT,QAAkC,gBAAlC;AAEA,SAASC,GAAT,QAAoB,qBAApB;AAEA,MAAMC,MAAM,GAAGJ,UAAU,CAACK,MAAX,CAAkB;EAC7BC,IAAI,EAAE;IACFC,MAAM,EAAE,EADN;IAEFC,IAAI,EAAE,CAFJ;IAGFC,WAAW,EAAE,CAHX;IAIFC,YAAY,EAAE,EAJZ;IAKFC,eAAe,EAAE,CALf;IAMFC,QAAQ,EAAE,UANR;IAOFC,KAAK,EAAE;EAPL;AADuB,CAAlB,CAAf;AAYA,eAAe,SAASC,UAAT,CAAoBC,KAApB,EAA4C;EACvD,MAAM;IACFC,KAAK,EAAEC,SADL;IAEF,GAAGC;EAFD,IAGFH,KAHJ;EAKA,MAAMI,SAAS,GAAGhB,GAAG,CAAC,CAClBC,MAAM,CAACE,IADW,EAElBW,SAFkB,CAAD,CAArB;EAKA,oBACI,oBAAC,UAAD;IACI,KAAK,EAAEE;EADX,GAEQD,UAFR,gBAII,oBAAC,iBAAD;IACI,MAAM,EAAE,EADZ;IAEI,KAAK,EAAE;EAFX,EAJJ,CADJ;AAWH"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=BackButtonProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["BackButtonProps.ts"],"sourcesContent":["import type { IconButtonProps } from '../../IconButton';\nimport type { OverridableComponentProps } from '../../types';\n\nexport default interface BackButtonProps extends OverridableComponentProps<Omit<IconButtonProps, 'children'>, {}> {}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { default } from './BackButton';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './BackButton';\nexport type { default as BackButtonProps } from './BackButtonProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB"}