@fountain-ui/core 2.0.0-beta.92 → 2.0.0-beta.94

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 (878) hide show
  1. package/build/commonjs/Accordion/Accordion.js +50 -52
  2. package/build/commonjs/Accordion/Accordion.js.map +1 -1
  3. package/build/commonjs/Accordion/AccordionProps.js +7 -0
  4. package/build/commonjs/Accordion/AccordionProps.js.map +1 -1
  5. package/build/commonjs/Accordion/LegacyAccordion.js +171 -0
  6. package/build/commonjs/Accordion/LegacyAccordion.js.map +1 -0
  7. package/build/commonjs/Accordion/LegacyAccordionProps.js +2 -0
  8. package/build/commonjs/Accordion/LegacyAccordionProps.js.map +1 -0
  9. package/build/commonjs/Accordion/index.js +2 -2
  10. package/build/commonjs/Accordion/index.js.map +1 -1
  11. package/build/commonjs/Accordion/useVariantStyleMap.js +126 -0
  12. package/build/commonjs/Accordion/useVariantStyleMap.js.map +1 -0
  13. package/build/commonjs/Badge/Badge.js +16 -20
  14. package/build/commonjs/Badge/Badge.js.map +1 -1
  15. package/build/commonjs/Badge/BadgeProps.js +15 -0
  16. package/build/commonjs/Badge/BadgeProps.js.map +1 -1
  17. package/build/commonjs/Badge/LegacyBadge.js +61 -0
  18. package/build/commonjs/Badge/LegacyBadge.js.map +1 -0
  19. package/build/commonjs/Badge/LegacyBadgeProps.js +2 -0
  20. package/build/commonjs/Badge/LegacyBadgeProps.js.map +1 -0
  21. package/build/commonjs/Badge/index.js +2 -2
  22. package/build/commonjs/Badge/index.js.map +1 -1
  23. package/build/commonjs/Badge/useVariantStyleMap.js +74 -0
  24. package/build/commonjs/Badge/useVariantStyleMap.js.map +1 -0
  25. package/build/commonjs/Button/Button.js +101 -71
  26. package/build/commonjs/Button/Button.js.map +1 -1
  27. package/build/commonjs/Button/ButtonProps.js +11 -0
  28. package/build/commonjs/Button/ButtonProps.js.map +1 -1
  29. package/build/commonjs/Button/LegacyButton.js +144 -0
  30. package/build/commonjs/Button/LegacyButton.js.map +1 -0
  31. package/build/commonjs/Button/LegacyButtonProps.js +2 -0
  32. package/build/commonjs/Button/LegacyButtonProps.js.map +1 -0
  33. package/build/commonjs/Button/index.js +2 -2
  34. package/build/commonjs/Button/index.js.map +1 -1
  35. package/build/commonjs/Button/useVariantStyleMap.js +174 -0
  36. package/build/commonjs/Button/useVariantStyleMap.js.map +1 -0
  37. package/build/commonjs/ButtonBase/ButtonBase.js +4 -10
  38. package/build/commonjs/ButtonBase/ButtonBase.js.map +1 -1
  39. package/build/commonjs/ButtonBase/LegacyButtonBase.js +126 -0
  40. package/build/commonjs/ButtonBase/LegacyButtonBase.js.map +1 -0
  41. package/build/commonjs/ButtonBase/index.js +2 -2
  42. package/build/commonjs/ButtonBase/index.js.map +1 -1
  43. package/build/commonjs/ButtonSet/ButtonSet.js +54 -0
  44. package/build/commonjs/ButtonSet/ButtonSet.js.map +1 -0
  45. package/build/commonjs/ButtonSet/ButtonSetProps.js +11 -0
  46. package/build/commonjs/ButtonSet/ButtonSetProps.js.map +1 -0
  47. package/build/commonjs/ButtonSet/index.js +30 -0
  48. package/build/commonjs/ButtonSet/index.js.map +1 -0
  49. package/build/commonjs/ButtonSet/useVariantStyleMap.js +85 -0
  50. package/build/commonjs/ButtonSet/useVariantStyleMap.js.map +1 -0
  51. package/build/commonjs/Checkbox/Checkbox.js +33 -23
  52. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  53. package/build/commonjs/Checkbox/CheckboxProps.js +7 -0
  54. package/build/commonjs/Checkbox/CheckboxProps.js.map +1 -1
  55. package/build/commonjs/Checkbox/LegacyCheckbox.js +65 -0
  56. package/build/commonjs/Checkbox/LegacyCheckbox.js.map +1 -0
  57. package/build/commonjs/Checkbox/LegacyCheckboxProps.js +2 -0
  58. package/build/commonjs/Checkbox/LegacyCheckboxProps.js.map +1 -0
  59. package/build/commonjs/Checkbox/index.js +2 -2
  60. package/build/commonjs/Checkbox/index.js.map +1 -1
  61. package/build/commonjs/Checkbox/useVariantStyleMap.js +70 -0
  62. package/build/commonjs/Checkbox/useVariantStyleMap.js.map +1 -0
  63. package/build/commonjs/CheckboxGroup/CheckboxGroup.js +50 -0
  64. package/build/commonjs/CheckboxGroup/CheckboxGroup.js.map +1 -0
  65. package/build/commonjs/CheckboxGroup/CheckboxGroupProps.js +2 -0
  66. package/build/commonjs/CheckboxGroup/CheckboxGroupProps.js.map +1 -0
  67. package/build/commonjs/CheckboxGroup/index.js +16 -0
  68. package/build/commonjs/CheckboxGroup/index.js.map +1 -0
  69. package/build/commonjs/Chip/Chip.js +24 -62
  70. package/build/commonjs/Chip/Chip.js.map +1 -1
  71. package/build/commonjs/Chip/ChipProps.js +9 -0
  72. package/build/commonjs/Chip/ChipProps.js.map +1 -1
  73. package/build/commonjs/Chip/LegacyChip.js +98 -0
  74. package/build/commonjs/Chip/LegacyChip.js.map +1 -0
  75. package/build/commonjs/Chip/LegacyChipProps.js +2 -0
  76. package/build/commonjs/Chip/LegacyChipProps.js.map +1 -0
  77. package/build/commonjs/Chip/index.js +2 -2
  78. package/build/commonjs/Chip/index.js.map +1 -1
  79. package/build/commonjs/Chip/useChipStyle.js +113 -0
  80. package/build/commonjs/Chip/useChipStyle.js.map +1 -0
  81. package/build/commonjs/Empty/Empty.js +86 -0
  82. package/build/commonjs/Empty/Empty.js.map +1 -0
  83. package/build/commonjs/Empty/EmptyProps.js +2 -0
  84. package/build/commonjs/Empty/EmptyProps.js.map +1 -0
  85. package/build/commonjs/Empty/index.js +16 -0
  86. package/build/commonjs/Empty/index.js.map +1 -0
  87. package/build/commonjs/IconButton/IconButton.js +39 -42
  88. package/build/commonjs/IconButton/IconButton.js.map +1 -1
  89. package/build/commonjs/IconButton/IconButtonProps.js +7 -0
  90. package/build/commonjs/IconButton/IconButtonProps.js.map +1 -1
  91. package/build/commonjs/IconButton/LegacyIconButton.js +89 -0
  92. package/build/commonjs/IconButton/LegacyIconButton.js.map +1 -0
  93. package/build/commonjs/IconButton/LegacyIconButtonProps.js +2 -0
  94. package/build/commonjs/IconButton/LegacyIconButtonProps.js.map +1 -0
  95. package/build/commonjs/IconButton/index.js +2 -2
  96. package/build/commonjs/IconButton/index.js.map +1 -1
  97. package/build/commonjs/Pagination/LegacyPagination.js +145 -0
  98. package/build/commonjs/Pagination/LegacyPagination.js.map +1 -0
  99. package/build/commonjs/Pagination/LegacyPaginationProps.js +2 -0
  100. package/build/commonjs/Pagination/LegacyPaginationProps.js.map +1 -0
  101. package/build/commonjs/Pagination/NumberPagination.js +71 -0
  102. package/build/commonjs/Pagination/NumberPagination.js.map +1 -0
  103. package/build/commonjs/Pagination/Pagination.js +9 -5
  104. package/build/commonjs/Pagination/Pagination.js.map +1 -1
  105. package/build/commonjs/Pagination/PaginationProps.js +7 -0
  106. package/build/commonjs/Pagination/PaginationProps.js.map +1 -1
  107. package/build/commonjs/Pagination/index.js +2 -2
  108. package/build/commonjs/Pagination/index.js.map +1 -1
  109. package/build/commonjs/PaginationItem/LegacyPaginationItem.js +53 -0
  110. package/build/commonjs/PaginationItem/LegacyPaginationItem.js.map +1 -0
  111. package/build/commonjs/PaginationItem/PaginationItem.js +2 -2
  112. package/build/commonjs/PaginationItem/PaginationItem.js.map +1 -1
  113. package/build/commonjs/Radio/LegacyRadio.js +82 -0
  114. package/build/commonjs/Radio/LegacyRadio.js.map +1 -0
  115. package/build/commonjs/Radio/LegacyRadioProps.js +2 -0
  116. package/build/commonjs/Radio/LegacyRadioProps.js.map +1 -0
  117. package/build/commonjs/Radio/Radio.js +40 -19
  118. package/build/commonjs/Radio/Radio.js.map +1 -1
  119. package/build/commonjs/Radio/RadioProps.js.map +1 -1
  120. package/build/commonjs/Radio/index.js +2 -2
  121. package/build/commonjs/Radio/index.js.map +1 -1
  122. package/build/commonjs/RadioGroup/LegacyRadioGroup.js +31 -0
  123. package/build/commonjs/RadioGroup/LegacyRadioGroup.js.map +1 -0
  124. package/build/commonjs/RadioGroup/RadioGroup.js +28 -2
  125. package/build/commonjs/RadioGroup/RadioGroup.js.map +1 -1
  126. package/build/commonjs/RadioGroup/index.js +2 -2
  127. package/build/commonjs/RadioGroup/index.js.map +1 -1
  128. package/build/commonjs/ShadowView/ShadowView.js +35 -0
  129. package/build/commonjs/ShadowView/ShadowView.js.map +1 -0
  130. package/build/commonjs/ShadowView/ShadowView.native.js +35 -0
  131. package/build/commonjs/ShadowView/ShadowView.native.js.map +1 -0
  132. package/build/commonjs/ShadowView/ShadowViewProps.js +2 -0
  133. package/build/commonjs/ShadowView/ShadowViewProps.js.map +1 -0
  134. package/build/commonjs/ShadowView/index.js +16 -0
  135. package/build/commonjs/ShadowView/index.js.map +1 -0
  136. package/build/commonjs/Snackbar/LegacySnackbar.js +134 -0
  137. package/build/commonjs/Snackbar/LegacySnackbar.js.map +1 -0
  138. package/build/commonjs/Snackbar/LegacySnackbarProps.js +2 -0
  139. package/build/commonjs/Snackbar/LegacySnackbarProps.js.map +1 -0
  140. package/build/commonjs/Snackbar/Snackbar.js +7 -5
  141. package/build/commonjs/Snackbar/Snackbar.js.map +1 -1
  142. package/build/commonjs/Snackbar/SnackbarProps.js +7 -0
  143. package/build/commonjs/Snackbar/SnackbarProps.js.map +1 -1
  144. package/build/commonjs/Snackbar/index.js +2 -2
  145. package/build/commonjs/Snackbar/index.js.map +1 -1
  146. package/build/commonjs/SnackbarContent/LegacySnackbarContent.js +105 -0
  147. package/build/commonjs/SnackbarContent/LegacySnackbarContent.js.map +1 -0
  148. package/build/commonjs/SnackbarContent/LegacySnackbarContentProps.js +2 -0
  149. package/build/commonjs/SnackbarContent/LegacySnackbarContentProps.js.map +1 -0
  150. package/build/commonjs/SnackbarContent/SnackbarContent.js +48 -38
  151. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  152. package/build/commonjs/SnackbarContent/SnackbarContentProps.js.map +1 -1
  153. package/build/commonjs/SnackbarContent/StatusIcon.js +43 -0
  154. package/build/commonjs/SnackbarContent/StatusIcon.js.map +1 -0
  155. package/build/commonjs/SnackbarContent/index.js +2 -2
  156. package/build/commonjs/SnackbarContent/index.js.map +1 -1
  157. package/build/commonjs/SvgIcon/LegacySvgIcon.js +43 -0
  158. package/build/commonjs/SvgIcon/LegacySvgIcon.js.map +1 -0
  159. package/build/commonjs/SvgIcon/LegacySvgIconProps.js +2 -0
  160. package/build/commonjs/SvgIcon/LegacySvgIconProps.js.map +1 -0
  161. package/build/commonjs/SvgIcon/SvgIcon.js +16 -4
  162. package/build/commonjs/SvgIcon/SvgIcon.js.map +1 -1
  163. package/build/commonjs/SvgIcon/SvgIconProps.js +15 -0
  164. package/build/commonjs/SvgIcon/SvgIconProps.js.map +1 -1
  165. package/build/commonjs/SvgIcon/index.js +2 -2
  166. package/build/commonjs/SvgIcon/index.js.map +1 -1
  167. package/build/commonjs/Tab/LegacyTab.js +126 -0
  168. package/build/commonjs/Tab/LegacyTab.js.map +1 -0
  169. package/build/commonjs/Tab/LegacyTabProps.js +2 -0
  170. package/build/commonjs/Tab/LegacyTabProps.js.map +1 -0
  171. package/build/commonjs/Tab/Tab.js +31 -69
  172. package/build/commonjs/Tab/Tab.js.map +1 -1
  173. package/build/commonjs/Tab/TabIndicator.js.map +1 -1
  174. package/build/commonjs/Tab/TabProps.js +7 -0
  175. package/build/commonjs/Tab/TabProps.js.map +1 -1
  176. package/build/commonjs/Tab/index.js +2 -2
  177. package/build/commonjs/Tab/index.js.map +1 -1
  178. package/build/commonjs/Tab/useVariantStyleMap.js +80 -0
  179. package/build/commonjs/Tab/useVariantStyleMap.js.map +1 -0
  180. package/build/commonjs/TabBase/LegacyTabBase.js +57 -0
  181. package/build/commonjs/TabBase/LegacyTabBase.js.map +1 -0
  182. package/build/commonjs/TabBase/TabBase.js +1 -6
  183. package/build/commonjs/TabBase/TabBase.js.map +1 -1
  184. package/build/commonjs/TabBase/index.js +2 -2
  185. package/build/commonjs/TabBase/index.js.map +1 -1
  186. package/build/commonjs/Tabs/LegacyTabIndicator.js +119 -0
  187. package/build/commonjs/Tabs/LegacyTabIndicator.js.map +1 -0
  188. package/build/commonjs/Tabs/LegacyTabIndicatorProps.js +2 -0
  189. package/build/commonjs/Tabs/LegacyTabIndicatorProps.js.map +1 -0
  190. package/build/commonjs/Tabs/LegacyTabs.js +205 -0
  191. package/build/commonjs/Tabs/LegacyTabs.js.map +1 -0
  192. package/build/commonjs/Tabs/LegacyTabsProps.js +2 -0
  193. package/build/commonjs/Tabs/LegacyTabsProps.js.map +1 -0
  194. package/build/commonjs/Tabs/TabIndicator.js +5 -9
  195. package/build/commonjs/Tabs/TabIndicator.js.map +1 -1
  196. package/build/commonjs/Tabs/TabIndicatorProps.js.map +1 -1
  197. package/build/commonjs/Tabs/Tabs.js +10 -9
  198. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  199. package/build/commonjs/Tabs/TabsProps.js +7 -0
  200. package/build/commonjs/Tabs/TabsProps.js.map +1 -1
  201. package/build/commonjs/Tabs/index.js +2 -2
  202. package/build/commonjs/Tabs/index.js.map +1 -1
  203. package/build/commonjs/TextField/LegacyTextField.js +195 -0
  204. package/build/commonjs/TextField/LegacyTextField.js.map +1 -0
  205. package/build/commonjs/TextField/LegacyTextFieldProps.js +2 -0
  206. package/build/commonjs/TextField/LegacyTextFieldProps.js.map +1 -0
  207. package/build/commonjs/TextField/OutlinedTextField.js.map +1 -1
  208. package/build/commonjs/TextField/TextField.js +105 -147
  209. package/build/commonjs/TextField/TextField.js.map +1 -1
  210. package/build/commonjs/TextField/TextFieldProps.js +9 -0
  211. package/build/commonjs/TextField/TextFieldProps.js.map +1 -1
  212. package/build/commonjs/TextField/index.js +2 -2
  213. package/build/commonjs/TextField/index.js.map +1 -1
  214. package/build/commonjs/TextField/useVariantStyleMap.js +103 -0
  215. package/build/commonjs/TextField/useVariantStyleMap.js.map +1 -0
  216. package/build/commonjs/Toggle/Toggle.js +110 -0
  217. package/build/commonjs/Toggle/Toggle.js.map +1 -0
  218. package/build/commonjs/Toggle/ToggleProps.js +2 -0
  219. package/build/commonjs/Toggle/ToggleProps.js.map +1 -0
  220. package/build/commonjs/Toggle/index.js +16 -0
  221. package/build/commonjs/Toggle/index.js.map +1 -0
  222. package/build/commonjs/Tooltip/Beaks/Beak.js +69 -0
  223. package/build/commonjs/Tooltip/Beaks/Beak.js.map +1 -0
  224. package/build/commonjs/Tooltip/Beaks/BeakProps.js +2 -0
  225. package/build/commonjs/Tooltip/Beaks/BeakProps.js.map +1 -0
  226. package/build/commonjs/Tooltip/Beaks/HorizontalLargeBeak.js +25 -0
  227. package/build/commonjs/Tooltip/Beaks/HorizontalLargeBeak.js.map +1 -0
  228. package/build/commonjs/Tooltip/Beaks/HorizontalSmallBeak.js +25 -0
  229. package/build/commonjs/Tooltip/Beaks/HorizontalSmallBeak.js.map +1 -0
  230. package/build/commonjs/Tooltip/Beaks/VerticalLargeBeak.js +25 -0
  231. package/build/commonjs/Tooltip/Beaks/VerticalLargeBeak.js.map +1 -0
  232. package/build/commonjs/Tooltip/Beaks/VerticalSmallBeak.js +25 -0
  233. package/build/commonjs/Tooltip/Beaks/VerticalSmallBeak.js.map +1 -0
  234. package/build/commonjs/Tooltip/Beaks/index.js +16 -0
  235. package/build/commonjs/Tooltip/Beaks/index.js.map +1 -0
  236. package/build/commonjs/Tooltip/LegacyTooltip.js +147 -0
  237. package/build/commonjs/Tooltip/LegacyTooltip.js.map +1 -0
  238. package/build/commonjs/Tooltip/LegacyTooltipProps.js +2 -0
  239. package/build/commonjs/Tooltip/LegacyTooltipProps.js.map +1 -0
  240. package/build/commonjs/Tooltip/Tooltip.js +101 -52
  241. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  242. package/build/commonjs/Tooltip/TooltipProps.js +11 -0
  243. package/build/commonjs/Tooltip/TooltipProps.js.map +1 -1
  244. package/build/commonjs/Tooltip/index.js +2 -2
  245. package/build/commonjs/Tooltip/index.js.map +1 -1
  246. package/build/commonjs/Typography/LegacyTypography.js +142 -0
  247. package/build/commonjs/Typography/LegacyTypography.js.map +1 -0
  248. package/build/commonjs/Typography/LegacyTypographyProps.js +2 -0
  249. package/build/commonjs/Typography/LegacyTypographyProps.js.map +1 -0
  250. package/build/commonjs/Typography/Typography.js +15 -54
  251. package/build/commonjs/Typography/Typography.js.map +1 -1
  252. package/build/commonjs/Typography/TypographyProps.js +7 -0
  253. package/build/commonjs/Typography/TypographyProps.js.map +1 -1
  254. package/build/commonjs/Typography/index.js +2 -2
  255. package/build/commonjs/Typography/index.js.map +1 -1
  256. package/build/commonjs/hooks/useCollapsibleAppBar.js +13 -5
  257. package/build/commonjs/hooks/useCollapsibleAppBar.js.map +1 -1
  258. package/build/commonjs/index.js +105 -0
  259. package/build/commonjs/index.js.map +1 -1
  260. package/build/commonjs/internal/icons/Check.js +23 -0
  261. package/build/commonjs/internal/icons/Check.js.map +1 -0
  262. package/build/commonjs/internal/icons/CheckCircle.js +27 -0
  263. package/build/commonjs/internal/icons/CheckCircle.js.map +1 -0
  264. package/build/commonjs/internal/icons/CheckboxOn.js +23 -0
  265. package/build/commonjs/internal/icons/CheckboxOn.js.map +1 -0
  266. package/build/commonjs/internal/icons/Clear.js +27 -0
  267. package/build/commonjs/internal/icons/Clear.js.map +1 -0
  268. package/build/commonjs/internal/icons/EyeOff.js +31 -0
  269. package/build/commonjs/internal/icons/EyeOff.js.map +1 -0
  270. package/build/commonjs/internal/icons/EyeOn.js +27 -0
  271. package/build/commonjs/internal/icons/EyeOn.js.map +1 -0
  272. package/build/commonjs/internal/icons/InfoCircle.js +27 -0
  273. package/build/commonjs/internal/icons/InfoCircle.js.map +1 -0
  274. package/build/commonjs/internal/icons/LoadingSpinner/LoadingSpinnerProps.js +2 -0
  275. package/build/commonjs/internal/icons/LoadingSpinner/LoadingSpinnerProps.js.map +1 -0
  276. package/build/commonjs/internal/icons/LoadingSpinner/index.js +36 -0
  277. package/build/commonjs/internal/icons/LoadingSpinner/index.js.map +1 -0
  278. package/build/commonjs/internal/icons/LoadingSpinner/index.native.js +36 -0
  279. package/build/commonjs/internal/icons/LoadingSpinner/index.native.js.map +1 -0
  280. package/build/commonjs/internal/icons/LoadingSpinner/loadingSpinnerGray.json +1 -0
  281. package/build/commonjs/internal/icons/LoadingSpinner/loadingSpinnerWhite.json +1 -0
  282. package/build/commonjs/internal/icons/LoadingSpinner/utils.js +25 -0
  283. package/build/commonjs/internal/icons/LoadingSpinner/utils.js.map +1 -0
  284. package/build/commonjs/internal/icons/Search.js +23 -0
  285. package/build/commonjs/internal/icons/Search.js.map +1 -0
  286. package/build/commonjs/internal/icons/index.js +72 -0
  287. package/build/commonjs/internal/icons/index.js.map +1 -1
  288. package/build/commonjs/styles/createFontStyle.js.map +1 -1
  289. package/build/commonjs/utils/cloneElementSafely.js.map +1 -1
  290. package/build/commonjs/utils/createSvgIcon.js +15 -3
  291. package/build/commonjs/utils/createSvgIcon.js.map +1 -1
  292. package/build/commonjs/utils/index.js.map +1 -1
  293. package/build/module/Accordion/Accordion.js +47 -50
  294. package/build/module/Accordion/Accordion.js.map +1 -1
  295. package/build/module/Accordion/AccordionProps.js +1 -1
  296. package/build/module/Accordion/AccordionProps.js.map +1 -1
  297. package/build/module/Accordion/LegacyAccordion.js +148 -0
  298. package/build/module/Accordion/LegacyAccordion.js.map +1 -0
  299. package/build/module/Accordion/LegacyAccordionProps.js +2 -0
  300. package/build/module/Accordion/LegacyAccordionProps.js.map +1 -0
  301. package/build/module/Accordion/index.js +1 -1
  302. package/build/module/Accordion/index.js.map +1 -1
  303. package/build/module/Accordion/useVariantStyleMap.js +116 -0
  304. package/build/module/Accordion/useVariantStyleMap.js.map +1 -0
  305. package/build/module/Badge/Badge.js +17 -23
  306. package/build/module/Badge/Badge.js.map +1 -1
  307. package/build/module/Badge/BadgeProps.js +5 -1
  308. package/build/module/Badge/BadgeProps.js.map +1 -1
  309. package/build/module/Badge/LegacyBadge.js +48 -0
  310. package/build/module/Badge/LegacyBadge.js.map +1 -0
  311. package/build/module/Badge/LegacyBadgeProps.js +2 -0
  312. package/build/module/Badge/LegacyBadgeProps.js.map +1 -0
  313. package/build/module/Badge/index.js +1 -1
  314. package/build/module/Badge/index.js.map +1 -1
  315. package/build/module/Badge/useVariantStyleMap.js +64 -0
  316. package/build/module/Badge/useVariantStyleMap.js.map +1 -0
  317. package/build/module/Button/Button.js +100 -70
  318. package/build/module/Button/Button.js.map +1 -1
  319. package/build/module/Button/ButtonProps.js +3 -1
  320. package/build/module/Button/ButtonProps.js.map +1 -1
  321. package/build/module/Button/LegacyButton.js +127 -0
  322. package/build/module/Button/LegacyButton.js.map +1 -0
  323. package/build/module/Button/LegacyButtonProps.js +2 -0
  324. package/build/module/Button/LegacyButtonProps.js.map +1 -0
  325. package/build/module/Button/index.js +1 -1
  326. package/build/module/Button/index.js.map +1 -1
  327. package/build/module/Button/useVariantStyleMap.js +164 -0
  328. package/build/module/Button/useVariantStyleMap.js.map +1 -0
  329. package/build/module/ButtonBase/ButtonBase.js +4 -9
  330. package/build/module/ButtonBase/ButtonBase.js.map +1 -1
  331. package/build/module/ButtonBase/LegacyButtonBase.js +106 -0
  332. package/build/module/ButtonBase/LegacyButtonBase.js.map +1 -0
  333. package/build/module/ButtonBase/index.js +1 -1
  334. package/build/module/ButtonBase/index.js.map +1 -1
  335. package/build/module/ButtonSet/ButtonSet.js +34 -0
  336. package/build/module/ButtonSet/ButtonSet.js.map +1 -0
  337. package/build/module/ButtonSet/ButtonSetProps.js +3 -0
  338. package/build/module/ButtonSet/ButtonSetProps.js.map +1 -0
  339. package/build/module/ButtonSet/index.js +3 -0
  340. package/build/module/ButtonSet/index.js.map +1 -0
  341. package/build/module/ButtonSet/useVariantStyleMap.js +76 -0
  342. package/build/module/ButtonSet/useVariantStyleMap.js.map +1 -0
  343. package/build/module/Checkbox/Checkbox.js +32 -26
  344. package/build/module/Checkbox/Checkbox.js.map +1 -1
  345. package/build/module/Checkbox/CheckboxProps.js +1 -1
  346. package/build/module/Checkbox/CheckboxProps.js.map +1 -1
  347. package/build/module/Checkbox/LegacyCheckbox.js +52 -0
  348. package/build/module/Checkbox/LegacyCheckbox.js.map +1 -0
  349. package/build/module/Checkbox/LegacyCheckboxProps.js +2 -0
  350. package/build/module/Checkbox/LegacyCheckboxProps.js.map +1 -0
  351. package/build/module/Checkbox/index.js +1 -1
  352. package/build/module/Checkbox/index.js.map +1 -1
  353. package/build/module/Checkbox/useVariantStyleMap.js +59 -0
  354. package/build/module/Checkbox/useVariantStyleMap.js.map +1 -0
  355. package/build/module/CheckboxGroup/CheckboxGroup.js +34 -0
  356. package/build/module/CheckboxGroup/CheckboxGroup.js.map +1 -0
  357. package/build/module/CheckboxGroup/CheckboxGroupProps.js +2 -0
  358. package/build/module/CheckboxGroup/CheckboxGroupProps.js.map +1 -0
  359. package/build/module/CheckboxGroup/index.js +2 -0
  360. package/build/module/CheckboxGroup/index.js.map +1 -0
  361. package/build/module/Chip/Chip.js +25 -64
  362. package/build/module/Chip/Chip.js.map +1 -1
  363. package/build/module/Chip/ChipProps.js +2 -1
  364. package/build/module/Chip/ChipProps.js.map +1 -1
  365. package/build/module/Chip/LegacyChip.js +84 -0
  366. package/build/module/Chip/LegacyChip.js.map +1 -0
  367. package/build/module/Chip/LegacyChipProps.js +2 -0
  368. package/build/module/Chip/LegacyChipProps.js.map +1 -0
  369. package/build/module/Chip/index.js +1 -1
  370. package/build/module/Chip/index.js.map +1 -1
  371. package/build/module/Chip/useChipStyle.js +104 -0
  372. package/build/module/Chip/useChipStyle.js.map +1 -0
  373. package/build/module/Empty/Empty.js +71 -0
  374. package/build/module/Empty/Empty.js.map +1 -0
  375. package/build/module/Empty/EmptyProps.js +2 -0
  376. package/build/module/Empty/EmptyProps.js.map +1 -0
  377. package/build/module/Empty/index.js +2 -0
  378. package/build/module/Empty/index.js.map +1 -0
  379. package/build/module/IconButton/IconButton.js +36 -40
  380. package/build/module/IconButton/IconButton.js.map +1 -1
  381. package/build/module/IconButton/IconButtonProps.js +1 -1
  382. package/build/module/IconButton/IconButtonProps.js.map +1 -1
  383. package/build/module/IconButton/LegacyIconButton.js +74 -0
  384. package/build/module/IconButton/LegacyIconButton.js.map +1 -0
  385. package/build/module/IconButton/LegacyIconButtonProps.js +2 -0
  386. package/build/module/IconButton/LegacyIconButtonProps.js.map +1 -0
  387. package/build/module/IconButton/index.js +1 -1
  388. package/build/module/IconButton/index.js.map +1 -1
  389. package/build/module/Pagination/LegacyPagination.js +129 -0
  390. package/build/module/Pagination/LegacyPagination.js.map +1 -0
  391. package/build/module/Pagination/LegacyPaginationProps.js +2 -0
  392. package/build/module/Pagination/LegacyPaginationProps.js.map +1 -0
  393. package/build/module/Pagination/NumberPagination.js +57 -0
  394. package/build/module/Pagination/NumberPagination.js.map +1 -0
  395. package/build/module/Pagination/Pagination.js +8 -5
  396. package/build/module/Pagination/Pagination.js.map +1 -1
  397. package/build/module/Pagination/PaginationProps.js +1 -1
  398. package/build/module/Pagination/PaginationProps.js.map +1 -1
  399. package/build/module/Pagination/index.js +1 -1
  400. package/build/module/Pagination/index.js.map +1 -1
  401. package/build/module/PaginationItem/LegacyPaginationItem.js +40 -0
  402. package/build/module/PaginationItem/LegacyPaginationItem.js.map +1 -0
  403. package/build/module/PaginationItem/PaginationItem.js +2 -2
  404. package/build/module/PaginationItem/PaginationItem.js.map +1 -1
  405. package/build/module/Radio/LegacyRadio.js +63 -0
  406. package/build/module/Radio/LegacyRadio.js.map +1 -0
  407. package/build/module/Radio/LegacyRadioProps.js +2 -0
  408. package/build/module/Radio/LegacyRadioProps.js.map +1 -0
  409. package/build/module/Radio/Radio.js +35 -18
  410. package/build/module/Radio/Radio.js.map +1 -1
  411. package/build/module/Radio/RadioProps.js.map +1 -1
  412. package/build/module/Radio/index.js +1 -1
  413. package/build/module/Radio/index.js.map +1 -1
  414. package/build/module/RadioGroup/LegacyRadioGroup.js +18 -0
  415. package/build/module/RadioGroup/LegacyRadioGroup.js.map +1 -0
  416. package/build/module/RadioGroup/RadioGroup.js +21 -2
  417. package/build/module/RadioGroup/RadioGroup.js.map +1 -1
  418. package/build/module/RadioGroup/index.js +1 -1
  419. package/build/module/RadioGroup/index.js.map +1 -1
  420. package/build/module/ShadowView/ShadowView.js +23 -0
  421. package/build/module/ShadowView/ShadowView.js.map +1 -0
  422. package/build/module/ShadowView/ShadowView.native.js +23 -0
  423. package/build/module/ShadowView/ShadowView.native.js.map +1 -0
  424. package/build/module/ShadowView/ShadowViewProps.js +2 -0
  425. package/build/module/ShadowView/ShadowViewProps.js.map +1 -0
  426. package/build/module/ShadowView/index.js +2 -0
  427. package/build/module/ShadowView/index.js.map +1 -0
  428. package/build/module/Snackbar/LegacySnackbar.js +107 -0
  429. package/build/module/Snackbar/LegacySnackbar.js.map +1 -0
  430. package/build/module/Snackbar/LegacySnackbarProps.js +2 -0
  431. package/build/module/Snackbar/LegacySnackbarProps.js.map +1 -0
  432. package/build/module/Snackbar/Snackbar.js +7 -5
  433. package/build/module/Snackbar/Snackbar.js.map +1 -1
  434. package/build/module/Snackbar/SnackbarProps.js +1 -1
  435. package/build/module/Snackbar/SnackbarProps.js.map +1 -1
  436. package/build/module/Snackbar/index.js +1 -1
  437. package/build/module/Snackbar/index.js.map +1 -1
  438. package/build/module/SnackbarContent/LegacySnackbarContent.js +84 -0
  439. package/build/module/SnackbarContent/LegacySnackbarContent.js.map +1 -0
  440. package/build/module/SnackbarContent/LegacySnackbarContentProps.js +2 -0
  441. package/build/module/SnackbarContent/LegacySnackbarContentProps.js.map +1 -0
  442. package/build/module/SnackbarContent/SnackbarContent.js +48 -35
  443. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  444. package/build/module/SnackbarContent/SnackbarContentProps.js.map +1 -1
  445. package/build/module/SnackbarContent/StatusIcon.js +31 -0
  446. package/build/module/SnackbarContent/StatusIcon.js.map +1 -0
  447. package/build/module/SnackbarContent/index.js +1 -1
  448. package/build/module/SnackbarContent/index.js.map +1 -1
  449. package/build/module/SvgIcon/LegacySvgIcon.js +30 -0
  450. package/build/module/SvgIcon/LegacySvgIcon.js.map +1 -0
  451. package/build/module/SvgIcon/LegacySvgIconProps.js +2 -0
  452. package/build/module/SvgIcon/LegacySvgIconProps.js.map +1 -0
  453. package/build/module/SvgIcon/SvgIcon.js +15 -4
  454. package/build/module/SvgIcon/SvgIcon.js.map +1 -1
  455. package/build/module/SvgIcon/SvgIconProps.js +7 -1
  456. package/build/module/SvgIcon/SvgIconProps.js.map +1 -1
  457. package/build/module/SvgIcon/index.js +1 -1
  458. package/build/module/SvgIcon/index.js.map +1 -1
  459. package/build/module/Tab/LegacyTab.js +105 -0
  460. package/build/module/Tab/LegacyTab.js.map +1 -0
  461. package/build/module/Tab/LegacyTabProps.js +2 -0
  462. package/build/module/Tab/LegacyTabProps.js.map +1 -0
  463. package/build/module/Tab/Tab.js +30 -66
  464. package/build/module/Tab/Tab.js.map +1 -1
  465. package/build/module/Tab/TabIndicator.js.map +1 -1
  466. package/build/module/Tab/TabProps.js +1 -1
  467. package/build/module/Tab/TabProps.js.map +1 -1
  468. package/build/module/Tab/index.js +1 -1
  469. package/build/module/Tab/index.js.map +1 -1
  470. package/build/module/Tab/useVariantStyleMap.js +70 -0
  471. package/build/module/Tab/useVariantStyleMap.js.map +1 -0
  472. package/build/module/TabBase/LegacyTabBase.js +44 -0
  473. package/build/module/TabBase/LegacyTabBase.js.map +1 -0
  474. package/build/module/TabBase/TabBase.js +1 -5
  475. package/build/module/TabBase/TabBase.js.map +1 -1
  476. package/build/module/TabBase/index.js +1 -1
  477. package/build/module/TabBase/index.js.map +1 -1
  478. package/build/module/Tabs/LegacyTabIndicator.js +98 -0
  479. package/build/module/Tabs/LegacyTabIndicator.js.map +1 -0
  480. package/build/module/Tabs/LegacyTabIndicatorProps.js +2 -0
  481. package/build/module/Tabs/LegacyTabIndicatorProps.js.map +1 -0
  482. package/build/module/Tabs/LegacyTabs.js +180 -0
  483. package/build/module/Tabs/LegacyTabs.js.map +1 -0
  484. package/build/module/Tabs/LegacyTabsProps.js +2 -0
  485. package/build/module/Tabs/LegacyTabsProps.js.map +1 -0
  486. package/build/module/Tabs/TabIndicator.js +5 -9
  487. package/build/module/Tabs/TabIndicator.js.map +1 -1
  488. package/build/module/Tabs/TabIndicatorProps.js.map +1 -1
  489. package/build/module/Tabs/Tabs.js +10 -9
  490. package/build/module/Tabs/Tabs.js.map +1 -1
  491. package/build/module/Tabs/TabsProps.js +1 -1
  492. package/build/module/Tabs/TabsProps.js.map +1 -1
  493. package/build/module/Tabs/index.js +1 -1
  494. package/build/module/Tabs/index.js.map +1 -1
  495. package/build/module/TextField/LegacyTextField.js +169 -0
  496. package/build/module/TextField/LegacyTextField.js.map +1 -0
  497. package/build/module/TextField/LegacyTextFieldProps.js +2 -0
  498. package/build/module/TextField/LegacyTextFieldProps.js.map +1 -0
  499. package/build/module/TextField/OutlinedTextField.js.map +1 -1
  500. package/build/module/TextField/TextField.js +104 -144
  501. package/build/module/TextField/TextField.js.map +1 -1
  502. package/build/module/TextField/TextFieldProps.js +2 -1
  503. package/build/module/TextField/TextFieldProps.js.map +1 -1
  504. package/build/module/TextField/index.js +1 -1
  505. package/build/module/TextField/index.js.map +1 -1
  506. package/build/module/TextField/useVariantStyleMap.js +94 -0
  507. package/build/module/TextField/useVariantStyleMap.js.map +1 -0
  508. package/build/module/Toggle/Toggle.js +90 -0
  509. package/build/module/Toggle/Toggle.js.map +1 -0
  510. package/build/module/Toggle/ToggleProps.js +2 -0
  511. package/build/module/Toggle/ToggleProps.js.map +1 -0
  512. package/build/module/Toggle/index.js +2 -0
  513. package/build/module/Toggle/index.js.map +1 -0
  514. package/build/module/Tooltip/Beaks/Beak.js +56 -0
  515. package/build/module/Tooltip/Beaks/Beak.js.map +1 -0
  516. package/build/module/Tooltip/Beaks/BeakProps.js +2 -0
  517. package/build/module/Tooltip/Beaks/BeakProps.js.map +1 -0
  518. package/build/module/Tooltip/Beaks/HorizontalLargeBeak.js +14 -0
  519. package/build/module/Tooltip/Beaks/HorizontalLargeBeak.js.map +1 -0
  520. package/build/module/Tooltip/Beaks/HorizontalSmallBeak.js +14 -0
  521. package/build/module/Tooltip/Beaks/HorizontalSmallBeak.js.map +1 -0
  522. package/build/module/Tooltip/Beaks/VerticalLargeBeak.js +14 -0
  523. package/build/module/Tooltip/Beaks/VerticalLargeBeak.js.map +1 -0
  524. package/build/module/Tooltip/Beaks/VerticalSmallBeak.js +14 -0
  525. package/build/module/Tooltip/Beaks/VerticalSmallBeak.js.map +1 -0
  526. package/build/module/Tooltip/Beaks/index.js +2 -0
  527. package/build/module/Tooltip/Beaks/index.js.map +1 -0
  528. package/build/module/Tooltip/LegacyTooltip.js +121 -0
  529. package/build/module/Tooltip/LegacyTooltip.js.map +1 -0
  530. package/build/module/Tooltip/LegacyTooltipProps.js +2 -0
  531. package/build/module/Tooltip/LegacyTooltipProps.js.map +1 -0
  532. package/build/module/Tooltip/Tooltip.js +97 -46
  533. package/build/module/Tooltip/Tooltip.js.map +1 -1
  534. package/build/module/Tooltip/TooltipProps.js +3 -1
  535. package/build/module/Tooltip/TooltipProps.js.map +1 -1
  536. package/build/module/Tooltip/index.js +1 -1
  537. package/build/module/Tooltip/index.js.map +1 -1
  538. package/build/module/Typography/LegacyTypography.js +126 -0
  539. package/build/module/Typography/LegacyTypography.js.map +1 -0
  540. package/build/module/Typography/LegacyTypographyProps.js +2 -0
  541. package/build/module/Typography/LegacyTypographyProps.js.map +1 -0
  542. package/build/module/Typography/Typography.js +15 -54
  543. package/build/module/Typography/Typography.js.map +1 -1
  544. package/build/module/Typography/TypographyProps.js +1 -1
  545. package/build/module/Typography/TypographyProps.js.map +1 -1
  546. package/build/module/Typography/index.js +1 -1
  547. package/build/module/Typography/index.js.map +1 -1
  548. package/build/module/hooks/useCollapsibleAppBar.js +14 -6
  549. package/build/module/hooks/useCollapsibleAppBar.js.map +1 -1
  550. package/build/module/index.js +10 -0
  551. package/build/module/index.js.map +1 -1
  552. package/build/module/internal/icons/Check.js +9 -0
  553. package/build/module/internal/icons/Check.js.map +1 -0
  554. package/build/module/internal/icons/CheckCircle.js +13 -0
  555. package/build/module/internal/icons/CheckCircle.js.map +1 -0
  556. package/build/module/internal/icons/CheckboxOn.js +9 -0
  557. package/build/module/internal/icons/CheckboxOn.js.map +1 -0
  558. package/build/module/internal/icons/Clear.js +13 -0
  559. package/build/module/internal/icons/Clear.js.map +1 -0
  560. package/build/module/internal/icons/EyeOff.js +17 -0
  561. package/build/module/internal/icons/EyeOff.js.map +1 -0
  562. package/build/module/internal/icons/EyeOn.js +13 -0
  563. package/build/module/internal/icons/EyeOn.js.map +1 -0
  564. package/build/module/internal/icons/InfoCircle.js +13 -0
  565. package/build/module/internal/icons/InfoCircle.js.map +1 -0
  566. package/build/module/internal/icons/LoadingSpinner/LoadingSpinnerProps.js +2 -0
  567. package/build/module/internal/icons/LoadingSpinner/LoadingSpinnerProps.js.map +1 -0
  568. package/build/module/internal/icons/LoadingSpinner/index.js +23 -0
  569. package/build/module/internal/icons/LoadingSpinner/index.js.map +1 -0
  570. package/build/module/internal/icons/LoadingSpinner/index.native.js +23 -0
  571. package/build/module/internal/icons/LoadingSpinner/index.native.js.map +1 -0
  572. package/build/module/internal/icons/LoadingSpinner/loadingSpinnerGray.json +1 -0
  573. package/build/module/internal/icons/LoadingSpinner/loadingSpinnerWhite.json +1 -0
  574. package/build/module/internal/icons/LoadingSpinner/utils.js +12 -0
  575. package/build/module/internal/icons/LoadingSpinner/utils.js.map +1 -0
  576. package/build/module/internal/icons/Search.js +9 -0
  577. package/build/module/internal/icons/Search.js.map +1 -0
  578. package/build/module/internal/icons/index.js +9 -0
  579. package/build/module/internal/icons/index.js.map +1 -1
  580. package/build/module/styles/createFontStyle.js.map +1 -1
  581. package/build/module/utils/cloneElementSafely.js.map +1 -1
  582. package/build/module/utils/createSvgIcon.js +14 -3
  583. package/build/module/utils/createSvgIcon.js.map +1 -1
  584. package/build/module/utils/index.js.map +1 -1
  585. package/build/typescript/Accordion/Accordion.d.ts +1 -1
  586. package/build/typescript/Accordion/AccordionProps.d.ts +8 -1
  587. package/build/typescript/Accordion/LegacyAccordion.d.ts +3 -0
  588. package/build/typescript/Accordion/LegacyAccordionProps.d.ts +28 -0
  589. package/build/typescript/Accordion/index.d.ts +2 -2
  590. package/build/typescript/Accordion/useVariantStyleMap.d.ts +13 -0
  591. package/build/typescript/Badge/Badge.d.ts +1 -1
  592. package/build/typescript/Badge/BadgeProps.d.ts +28 -2
  593. package/build/typescript/Badge/LegacyBadge.d.ts +3 -0
  594. package/build/typescript/Badge/LegacyBadgeProps.d.ts +34 -0
  595. package/build/typescript/Badge/index.d.ts +2 -2
  596. package/build/typescript/Badge/useVariantStyleMap.d.ts +9 -0
  597. package/build/typescript/Button/ButtonProps.d.ts +18 -11
  598. package/build/typescript/Button/LegacyButton.d.ts +3 -0
  599. package/build/typescript/Button/LegacyButtonProps.d.ts +51 -0
  600. package/build/typescript/Button/index.d.ts +2 -2
  601. package/build/typescript/Button/useVariantStyleMap.d.ts +9 -0
  602. package/build/typescript/ButtonBase/ButtonBase.d.ts +0 -1
  603. package/build/typescript/ButtonBase/LegacyButtonBase.d.ts +5 -0
  604. package/build/typescript/ButtonBase/index.d.ts +1 -1
  605. package/build/typescript/ButtonSet/ButtonSet.d.ts +3 -0
  606. package/build/typescript/ButtonSet/ButtonSetProps.d.ts +20 -0
  607. package/build/typescript/ButtonSet/index.d.ts +3 -0
  608. package/build/typescript/ButtonSet/useVariantStyleMap.d.ts +10 -0
  609. package/build/typescript/Checkbox/CheckboxProps.d.ts +10 -14
  610. package/build/typescript/Checkbox/LegacyCheckbox.d.ts +3 -0
  611. package/build/typescript/Checkbox/LegacyCheckboxProps.d.ts +36 -0
  612. package/build/typescript/Checkbox/index.d.ts +2 -2
  613. package/build/typescript/Checkbox/useVariantStyleMap.d.ts +9 -0
  614. package/build/typescript/CheckboxGroup/CheckboxGroup.d.ts +3 -0
  615. package/build/typescript/CheckboxGroup/CheckboxGroupProps.d.ts +11 -0
  616. package/build/typescript/CheckboxGroup/index.d.ts +2 -0
  617. package/build/typescript/Chip/ChipProps.d.ts +13 -6
  618. package/build/typescript/Chip/LegacyChip.d.ts +3 -0
  619. package/build/typescript/Chip/LegacyChipProps.d.ts +28 -0
  620. package/build/typescript/Chip/index.d.ts +2 -2
  621. package/build/typescript/Chip/useChipStyle.d.ts +11 -0
  622. package/build/typescript/Empty/Empty.d.ts +3 -0
  623. package/build/typescript/Empty/EmptyProps.d.ts +27 -0
  624. package/build/typescript/Empty/index.d.ts +2 -0
  625. package/build/typescript/IconButton/IconButtonProps.d.ts +7 -10
  626. package/build/typescript/IconButton/LegacyIconButton.d.ts +3 -0
  627. package/build/typescript/IconButton/LegacyIconButtonProps.d.ts +30 -0
  628. package/build/typescript/IconButton/index.d.ts +2 -2
  629. package/build/typescript/Pagination/LegacyPagination.d.ts +3 -0
  630. package/build/typescript/Pagination/LegacyPaginationProps.d.ts +71 -0
  631. package/build/typescript/Pagination/NumberPagination.d.ts +8 -0
  632. package/build/typescript/Pagination/PaginationProps.d.ts +7 -0
  633. package/build/typescript/Pagination/index.d.ts +2 -2
  634. package/build/typescript/PaginationItem/LegacyPaginationItem.d.ts +5 -0
  635. package/build/typescript/Radio/LegacyRadio.d.ts +3 -0
  636. package/build/typescript/Radio/LegacyRadioProps.d.ts +43 -0
  637. package/build/typescript/Radio/RadioProps.d.ts +9 -14
  638. package/build/typescript/Radio/index.d.ts +2 -2
  639. package/build/typescript/RadioGroup/LegacyRadioGroup.d.ts +3 -0
  640. package/build/typescript/RadioGroup/index.d.ts +1 -1
  641. package/build/typescript/ShadowView/ShadowView.d.ts +3 -0
  642. package/build/typescript/ShadowView/ShadowView.native.d.ts +3 -0
  643. package/build/typescript/ShadowView/ShadowViewProps.d.ts +11 -0
  644. package/build/typescript/ShadowView/index.d.ts +2 -0
  645. package/build/typescript/Snackbar/LegacySnackbar.d.ts +3 -0
  646. package/build/typescript/Snackbar/LegacySnackbarProps.d.ts +51 -0
  647. package/build/typescript/Snackbar/SnackbarProps.d.ts +9 -2
  648. package/build/typescript/Snackbar/index.d.ts +2 -2
  649. package/build/typescript/SnackbarContent/LegacySnackbarContent.d.ts +3 -0
  650. package/build/typescript/SnackbarContent/LegacySnackbarContentProps.d.ts +26 -0
  651. package/build/typescript/SnackbarContent/SnackbarContentProps.d.ts +5 -24
  652. package/build/typescript/SnackbarContent/StatusIcon.d.ts +7 -0
  653. package/build/typescript/SnackbarContent/index.d.ts +2 -2
  654. package/build/typescript/SvgIcon/LegacySvgIcon.d.ts +3 -0
  655. package/build/typescript/SvgIcon/LegacySvgIconProps.d.ts +35 -0
  656. package/build/typescript/SvgIcon/SvgIconProps.d.ts +17 -6
  657. package/build/typescript/SvgIcon/index.d.ts +2 -2
  658. package/build/typescript/Tab/LegacyTab.d.ts +3 -0
  659. package/build/typescript/Tab/LegacyTabProps.d.ts +58 -0
  660. package/build/typescript/Tab/TabIndicator.d.ts +2 -2
  661. package/build/typescript/Tab/TabProps.d.ts +3 -16
  662. package/build/typescript/Tab/index.d.ts +2 -2
  663. package/build/typescript/Tab/useVariantStyleMap.d.ts +10 -0
  664. package/build/typescript/TabBase/LegacyTabBase.d.ts +3 -0
  665. package/build/typescript/TabBase/index.d.ts +1 -1
  666. package/build/typescript/Tabs/LegacyTabIndicator.d.ts +3 -0
  667. package/build/typescript/Tabs/LegacyTabIndicatorProps.d.ts +28 -0
  668. package/build/typescript/Tabs/LegacyTabs.d.ts +5 -0
  669. package/build/typescript/Tabs/LegacyTabsProps.d.ts +74 -0
  670. package/build/typescript/Tabs/TabIndicatorProps.d.ts +0 -10
  671. package/build/typescript/Tabs/Tabs.d.ts +1 -1
  672. package/build/typescript/Tabs/TabsProps.d.ts +10 -10
  673. package/build/typescript/Tabs/index.d.ts +2 -2
  674. package/build/typescript/TextField/LegacyTextField.d.ts +5 -0
  675. package/build/typescript/TextField/LegacyTextFieldProps.d.ts +67 -0
  676. package/build/typescript/TextField/OutlinedTextField.d.ts +1 -1
  677. package/build/typescript/TextField/TextField.d.ts +1 -1
  678. package/build/typescript/TextField/TextFieldProps.d.ts +25 -51
  679. package/build/typescript/TextField/index.d.ts +2 -2
  680. package/build/typescript/TextField/useVariantStyleMap.d.ts +9 -0
  681. package/build/typescript/Toggle/Toggle.d.ts +3 -0
  682. package/build/typescript/Toggle/ToggleProps.d.ts +19 -0
  683. package/build/typescript/Toggle/index.d.ts +2 -0
  684. package/build/typescript/Tooltip/Beaks/Beak.d.ts +3 -0
  685. package/build/typescript/Tooltip/Beaks/BeakProps.d.ts +4 -0
  686. package/build/typescript/Tooltip/Beaks/HorizontalLargeBeak.d.ts +3 -0
  687. package/build/typescript/Tooltip/Beaks/HorizontalSmallBeak.d.ts +3 -0
  688. package/build/typescript/Tooltip/Beaks/VerticalLargeBeak.d.ts +3 -0
  689. package/build/typescript/Tooltip/Beaks/VerticalSmallBeak.d.ts +3 -0
  690. package/build/typescript/Tooltip/Beaks/index.d.ts +2 -0
  691. package/build/typescript/Tooltip/LegacyTooltip.d.ts +3 -0
  692. package/build/typescript/Tooltip/LegacyTooltipProps.d.ts +72 -0
  693. package/build/typescript/Tooltip/TooltipProps.d.ts +19 -9
  694. package/build/typescript/Tooltip/index.d.ts +2 -2
  695. package/build/typescript/Typography/LegacyTypography.d.ts +5 -0
  696. package/build/typescript/Typography/LegacyTypographyProps.d.ts +81 -0
  697. package/build/typescript/Typography/Typography.d.ts +1 -1
  698. package/build/typescript/Typography/TypographyProps.d.ts +12 -9
  699. package/build/typescript/Typography/index.d.ts +2 -2
  700. package/build/typescript/hooks/useCollapsibleAppBar.d.ts +1 -0
  701. package/build/typescript/index.d.ts +10 -0
  702. package/build/typescript/internal/icons/Check.d.ts +8 -0
  703. package/build/typescript/internal/icons/CheckCircle.d.ts +8 -0
  704. package/build/typescript/internal/icons/Checkbox.d.ts +2 -124
  705. package/build/typescript/internal/icons/CheckboxChecked.d.ts +2 -124
  706. package/build/typescript/internal/icons/CheckboxOn.d.ts +8 -0
  707. package/build/typescript/internal/icons/ChevronDown.d.ts +2 -124
  708. package/build/typescript/internal/icons/ChevronLeft.d.ts +2 -124
  709. package/build/typescript/internal/icons/ChevronRight.d.ts +2 -124
  710. package/build/typescript/internal/icons/Clear.d.ts +8 -0
  711. package/build/typescript/internal/icons/Close.d.ts +2 -124
  712. package/build/typescript/internal/icons/EyeOff.d.ts +8 -0
  713. package/build/typescript/internal/icons/EyeOn.d.ts +8 -0
  714. package/build/typescript/internal/icons/InfoCircle.d.ts +8 -0
  715. package/build/typescript/internal/icons/LoadingSpinner/LoadingSpinnerProps.d.ts +9 -0
  716. package/build/typescript/internal/icons/LoadingSpinner/index.d.ts +3 -0
  717. package/build/typescript/internal/icons/LoadingSpinner/index.native.d.ts +3 -0
  718. package/build/typescript/internal/icons/LoadingSpinner/utils.d.ts +3 -0
  719. package/build/typescript/internal/icons/Radio.d.ts +2 -124
  720. package/build/typescript/internal/icons/RadioChecked.d.ts +2 -124
  721. package/build/typescript/internal/icons/Search.d.ts +8 -0
  722. package/build/typescript/internal/icons/index.d.ts +9 -0
  723. package/build/typescript/styles/createFontStyle.d.ts +1 -1
  724. package/build/typescript/utils/cloneElementSafely.d.ts +1 -2
  725. package/build/typescript/utils/createSvgIcon.d.ts +8 -3
  726. package/build/typescript/utils/index.d.ts +1 -0
  727. package/package.json +2 -2
  728. package/src/Accordion/Accordion.tsx +75 -72
  729. package/src/Accordion/AccordionProps.ts +11 -2
  730. package/src/Accordion/LegacyAccordion.tsx +188 -0
  731. package/src/Accordion/LegacyAccordionProps.ts +34 -0
  732. package/src/Accordion/index.ts +2 -2
  733. package/src/Accordion/useVariantStyleMap.ts +127 -0
  734. package/src/Badge/Badge.tsx +23 -29
  735. package/src/Badge/BadgeProps.ts +35 -2
  736. package/src/Badge/LegacyBadge.tsx +66 -0
  737. package/src/Badge/LegacyBadgeProps.ts +40 -0
  738. package/src/Badge/index.ts +2 -2
  739. package/src/Badge/useVariantStyleMap.ts +73 -0
  740. package/src/Button/Button.tsx +113 -81
  741. package/src/Button/ButtonProps.ts +37 -12
  742. package/src/Button/LegacyButton.tsx +157 -0
  743. package/src/Button/LegacyButtonProps.ts +62 -0
  744. package/src/Button/index.ts +2 -2
  745. package/src/Button/useVariantStyleMap.ts +178 -0
  746. package/src/ButtonBase/ButtonBase.tsx +4 -10
  747. package/src/ButtonBase/LegacyButtonBase.tsx +135 -0
  748. package/src/ButtonBase/index.ts +2 -2
  749. package/src/ButtonSet/ButtonSet.tsx +43 -0
  750. package/src/ButtonSet/ButtonSetProps.ts +27 -0
  751. package/src/ButtonSet/index.ts +3 -0
  752. package/src/ButtonSet/useVariantStyleMap.ts +84 -0
  753. package/src/Checkbox/Checkbox.tsx +48 -33
  754. package/src/Checkbox/CheckboxProps.ts +10 -15
  755. package/src/Checkbox/LegacyCheckbox.tsx +62 -0
  756. package/src/Checkbox/LegacyCheckboxProps.ts +42 -0
  757. package/src/Checkbox/index.ts +2 -2
  758. package/src/Checkbox/useVariantStyleMap.ts +71 -0
  759. package/src/CheckboxGroup/CheckboxGroup.tsx +47 -0
  760. package/src/CheckboxGroup/CheckboxGroupProps.ts +11 -0
  761. package/src/CheckboxGroup/index.ts +2 -0
  762. package/src/Chip/Chip.tsx +26 -82
  763. package/src/Chip/ChipProps.ts +16 -7
  764. package/src/Chip/LegacyChip.tsx +116 -0
  765. package/src/Chip/LegacyChipProps.ts +33 -0
  766. package/src/Chip/index.ts +2 -2
  767. package/src/Chip/useChipStyle.ts +123 -0
  768. package/src/Empty/Empty.tsx +108 -0
  769. package/src/Empty/EmptyProps.ts +31 -0
  770. package/src/Empty/index.ts +2 -0
  771. package/src/IconButton/IconButton.tsx +36 -54
  772. package/src/IconButton/IconButtonProps.ts +12 -12
  773. package/src/IconButton/LegacyIconButton.tsx +97 -0
  774. package/src/IconButton/LegacyIconButtonProps.ts +36 -0
  775. package/src/IconButton/index.ts +2 -2
  776. package/src/Pagination/LegacyPagination.tsx +168 -0
  777. package/src/Pagination/LegacyPaginationProps.ts +85 -0
  778. package/src/Pagination/NumberPagination.tsx +78 -0
  779. package/src/Pagination/Pagination.tsx +15 -5
  780. package/src/Pagination/PaginationProps.ts +9 -0
  781. package/src/Pagination/index.ts +2 -2
  782. package/src/PaginationItem/LegacyPaginationItem.tsx +52 -0
  783. package/src/PaginationItem/PaginationItem.tsx +2 -2
  784. package/src/Radio/LegacyRadio.tsx +72 -0
  785. package/src/Radio/LegacyRadioProps.ts +50 -0
  786. package/src/Radio/Radio.tsx +47 -16
  787. package/src/Radio/RadioProps.ts +10 -16
  788. package/src/Radio/index.ts +2 -2
  789. package/src/RadioGroup/LegacyRadioGroup.tsx +20 -0
  790. package/src/RadioGroup/RadioGroup.tsx +31 -4
  791. package/src/RadioGroup/index.ts +2 -2
  792. package/src/ShadowView/ShadowView.native.tsx +37 -0
  793. package/src/ShadowView/ShadowView.tsx +33 -0
  794. package/src/ShadowView/ShadowViewProps.ts +11 -0
  795. package/src/ShadowView/index.ts +2 -0
  796. package/src/Snackbar/LegacySnackbar.tsx +130 -0
  797. package/src/Snackbar/LegacySnackbarProps.ts +61 -0
  798. package/src/Snackbar/Snackbar.tsx +7 -5
  799. package/src/Snackbar/SnackbarProps.ts +11 -3
  800. package/src/Snackbar/index.ts +2 -2
  801. package/src/SnackbarContent/LegacySnackbarContent.tsx +129 -0
  802. package/src/SnackbarContent/LegacySnackbarContentProps.ts +30 -0
  803. package/src/SnackbarContent/SnackbarContent.tsx +53 -48
  804. package/src/SnackbarContent/SnackbarContentProps.ts +10 -27
  805. package/src/SnackbarContent/StatusIcon.tsx +37 -0
  806. package/src/SnackbarContent/index.ts +2 -2
  807. package/src/SvgIcon/LegacySvgIcon.tsx +36 -0
  808. package/src/SvgIcon/LegacySvgIconProps.ts +41 -0
  809. package/src/SvgIcon/SvgIcon.tsx +19 -5
  810. package/src/SvgIcon/SvgIconProps.ts +33 -6
  811. package/src/SvgIcon/index.ts +2 -2
  812. package/src/Tab/LegacyTab.tsx +141 -0
  813. package/src/Tab/LegacyTabProps.ts +68 -0
  814. package/src/Tab/Tab.tsx +36 -79
  815. package/src/Tab/TabIndicator.tsx +5 -2
  816. package/src/Tab/TabProps.ts +3 -18
  817. package/src/Tab/index.ts +2 -2
  818. package/src/Tab/useVariantStyleMap.ts +86 -0
  819. package/src/TabBase/LegacyTabBase.tsx +55 -0
  820. package/src/TabBase/TabBase.tsx +0 -5
  821. package/src/TabBase/index.ts +2 -2
  822. package/src/Tabs/LegacyTabIndicator.tsx +111 -0
  823. package/src/Tabs/LegacyTabIndicatorProps.ts +33 -0
  824. package/src/Tabs/LegacyTabs.tsx +225 -0
  825. package/src/Tabs/LegacyTabsProps.ts +87 -0
  826. package/src/Tabs/TabIndicator.tsx +6 -12
  827. package/src/Tabs/TabIndicatorProps.ts +0 -13
  828. package/src/Tabs/Tabs.tsx +12 -8
  829. package/src/Tabs/TabsProps.ts +12 -11
  830. package/src/Tabs/index.ts +2 -2
  831. package/src/TextField/LegacyTextField.tsx +168 -0
  832. package/src/TextField/LegacyTextFieldProps.ts +80 -0
  833. package/src/TextField/OutlinedTextField.tsx +1 -1
  834. package/src/TextField/TextField.tsx +155 -137
  835. package/src/TextField/TextFieldProps.ts +27 -57
  836. package/src/TextField/index.tsx +2 -2
  837. package/src/TextField/useVariantStyleMap.ts +100 -0
  838. package/src/Toggle/Toggle.tsx +113 -0
  839. package/src/Toggle/ToggleProps.ts +21 -0
  840. package/src/Toggle/index.ts +2 -0
  841. package/src/Tooltip/Beaks/Beak.tsx +53 -0
  842. package/src/Tooltip/Beaks/BeakProps.ts +4 -0
  843. package/src/Tooltip/Beaks/HorizontalLargeBeak.tsx +18 -0
  844. package/src/Tooltip/Beaks/HorizontalSmallBeak.tsx +18 -0
  845. package/src/Tooltip/Beaks/VerticalLargeBeak.tsx +18 -0
  846. package/src/Tooltip/Beaks/VerticalSmallBeak.tsx +18 -0
  847. package/src/Tooltip/Beaks/index.ts +2 -0
  848. package/src/Tooltip/LegacyTooltip.tsx +167 -0
  849. package/src/Tooltip/LegacyTooltipProps.ts +86 -0
  850. package/src/Tooltip/Tooltip.tsx +114 -66
  851. package/src/Tooltip/TooltipProps.ts +28 -10
  852. package/src/Tooltip/index.ts +2 -2
  853. package/src/Typography/LegacyTypography.tsx +107 -0
  854. package/src/Typography/LegacyTypographyProps.ts +122 -0
  855. package/src/Typography/Typography.tsx +24 -30
  856. package/src/Typography/TypographyProps.ts +29 -34
  857. package/src/Typography/index.ts +2 -2
  858. package/src/hooks/useCollapsibleAppBar.ts +14 -5
  859. package/src/index.ts +15 -0
  860. package/src/internal/icons/Check.tsx +13 -0
  861. package/src/internal/icons/CheckCircle.tsx +20 -0
  862. package/src/internal/icons/CheckboxOn.tsx +13 -0
  863. package/src/internal/icons/Clear.tsx +20 -0
  864. package/src/internal/icons/EyeOff.tsx +25 -0
  865. package/src/internal/icons/EyeOn.tsx +20 -0
  866. package/src/internal/icons/InfoCircle.tsx +21 -0
  867. package/src/internal/icons/LoadingSpinner/LoadingSpinnerProps.ts +11 -0
  868. package/src/internal/icons/LoadingSpinner/index.native.tsx +31 -0
  869. package/src/internal/icons/LoadingSpinner/index.tsx +31 -0
  870. package/src/internal/icons/LoadingSpinner/loadingSpinnerGray.json +1 -0
  871. package/src/internal/icons/LoadingSpinner/loadingSpinnerWhite.json +1 -0
  872. package/src/internal/icons/LoadingSpinner/utils.ts +14 -0
  873. package/src/internal/icons/Search.tsx +15 -0
  874. package/src/internal/icons/index.ts +9 -0
  875. package/src/styles/createFontStyle.ts +1 -1
  876. package/src/utils/cloneElementSafely.ts +1 -1
  877. package/src/utils/createSvgIcon.tsx +29 -6
  878. package/src/utils/index.ts +1 -0
@@ -0,0 +1,98 @@
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, { useCallback, useContext, useEffect } from 'react';
4
+ import { Animated, Easing } from 'react-native';
5
+ import { useTheme } from '../styles';
6
+ import { useAnimatedValue } from '../hooks';
7
+ import { isNotAndroid12 } from '../utils';
8
+ import { defaultCoordinate } from './TabCoordinate';
9
+ import InternalContext from './InternalContext';
10
+ const INDICATOR_WIDTH = 10;
11
+ const INDICATOR_HEIGHT = 2;
12
+ const SCROLLABLE_TABS_INSET = 12 * 2;
13
+
14
+ const useStyles = function (color) {
15
+ const theme = useTheme();
16
+ return {
17
+ root: {
18
+ backgroundColor: theme.palette[color].main,
19
+ left: 0,
20
+ bottom: 0,
21
+ width: INDICATOR_WIDTH,
22
+ height: INDICATOR_HEIGHT,
23
+ position: 'absolute'
24
+ },
25
+ disabled: {
26
+ height: 0
27
+ }
28
+ };
29
+ };
30
+
31
+ const startAnimation = (value, toValue) => {
32
+ Animated.timing(value, {
33
+ toValue: toValue,
34
+ duration: 300,
35
+ easing: Easing.bezier(0.25, 1, 0.5, 1),
36
+ useNativeDriver: isNotAndroid12
37
+ }).start();
38
+ };
39
+
40
+ export default function TabIndicator(props) {
41
+ const {
42
+ color = 'primary',
43
+ coordinates,
44
+ disabled,
45
+ initialIndex,
46
+ scrollable,
47
+ style,
48
+ ...otherProps
49
+ } = props;
50
+ const styles = useStyles(color);
51
+ const computeAnimationValues = useCallback(currentIndex => {
52
+ const {
53
+ x1,
54
+ x2
55
+ } = coordinates[currentIndex] ?? defaultCoordinate;
56
+ const tabWidth = x2 - x1;
57
+ const nextTranslateX = x1 + (tabWidth - INDICATOR_WIDTH) / 2;
58
+ const inset = scrollable ? SCROLLABLE_TABS_INSET : 0;
59
+ const nextScaleX = (tabWidth - inset) / INDICATOR_WIDTH;
60
+ return {
61
+ tx: nextTranslateX,
62
+ sx: nextScaleX
63
+ };
64
+ }, [coordinates, scrollable]);
65
+ const {
66
+ tx: initialTx,
67
+ sx: initialSx
68
+ } = computeAnimationValues(initialIndex);
69
+ const translateX = useAnimatedValue(initialTx);
70
+ const scaleX = useAnimatedValue(initialSx);
71
+ const {
72
+ indexStore
73
+ } = useContext(InternalContext);
74
+ useEffect(() => {
75
+ const scrollToIndex = index => {
76
+ const {
77
+ tx,
78
+ sx
79
+ } = computeAnimationValues(index);
80
+ startAnimation(translateX, tx);
81
+ startAnimation(scaleX, sx);
82
+ };
83
+
84
+ scrollToIndex(indexStore.getState());
85
+ return indexStore.subscribe(scrollToIndex);
86
+ }, [computeAnimationValues, coordinates, indexStore]);
87
+ return /*#__PURE__*/React.createElement(Animated.View, _extends({
88
+ style: [styles.root, disabled ? styles.disabled : undefined, {
89
+ transform: [{
90
+ translateX
91
+ }, {
92
+ scaleX
93
+ }]
94
+ }, style]
95
+ }, otherProps));
96
+ }
97
+ ;
98
+ //# sourceMappingURL=LegacyTabIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useContext","useEffect","Animated","Easing","useTheme","useAnimatedValue","isNotAndroid12","defaultCoordinate","InternalContext","INDICATOR_WIDTH","INDICATOR_HEIGHT","SCROLLABLE_TABS_INSET","useStyles","color","theme","root","backgroundColor","palette","main","left","bottom","width","height","position","disabled","startAnimation","value","toValue","timing","duration","easing","bezier","useNativeDriver","start","TabIndicator","props","coordinates","initialIndex","scrollable","style","otherProps","styles","computeAnimationValues","currentIndex","x1","x2","tabWidth","nextTranslateX","inset","nextScaleX","tx","sx","initialTx","initialSx","translateX","scaleX","indexStore","scrollToIndex","index","getState","subscribe","undefined","transform"],"sources":["LegacyTabIndicator.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from 'react';\nimport { Animated, Easing } from 'react-native';\nimport { NamedStylesStringUnion } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type TabIndicatorProps from './LegacyTabIndicatorProps';\nimport type { TabIndicatorColor } from './LegacyTabIndicatorProps';\nimport { defaultCoordinate } from './TabCoordinate';\nimport InternalContext from './InternalContext';\n\ntype TabIndicatorStyles = NamedStylesStringUnion<'root' | 'disabled'>;\n\nconst INDICATOR_WIDTH = 10;\nconst INDICATOR_HEIGHT = 2;\n\nconst SCROLLABLE_TABS_INSET = 12 * 2;\n\nconst useStyles: (color: TabIndicatorColor) => TabIndicatorStyles =\n function (color: TabIndicatorColor): TabIndicatorStyles {\n const theme = useTheme();\n\n return {\n root: {\n backgroundColor: theme.palette[color].main,\n left: 0,\n bottom: 0,\n width: INDICATOR_WIDTH,\n height: INDICATOR_HEIGHT,\n position: 'absolute',\n },\n disabled: {\n height: 0,\n },\n };\n };\n\nconst startAnimation = (value: Animated.Value, toValue: number) => {\n Animated.timing(value, {\n toValue: toValue,\n duration: 300,\n easing: Easing.bezier(0.25, 1, 0.5, 1),\n useNativeDriver: isNotAndroid12,\n }).start();\n};\n\nexport default function TabIndicator(props: TabIndicatorProps) {\n const {\n color = 'primary',\n coordinates,\n disabled,\n initialIndex,\n scrollable,\n style,\n ...otherProps\n } = props;\n\n const styles = useStyles(color);\n\n const computeAnimationValues = useCallback((currentIndex: number) => {\n const { x1, x2 } = coordinates[currentIndex] ?? defaultCoordinate;\n\n const tabWidth = x2 - x1;\n\n const nextTranslateX = x1 + (tabWidth - INDICATOR_WIDTH) / 2;\n\n const inset = scrollable ? SCROLLABLE_TABS_INSET : 0;\n const nextScaleX = (tabWidth - inset) / INDICATOR_WIDTH;\n\n return { tx: nextTranslateX, sx: nextScaleX };\n }, [coordinates, scrollable]);\n\n const {\n tx: initialTx,\n sx: initialSx,\n } = computeAnimationValues(initialIndex);\n\n const translateX = useAnimatedValue(initialTx);\n const scaleX = useAnimatedValue(initialSx);\n\n const { indexStore } = useContext(InternalContext);\n\n useEffect(() => {\n const scrollToIndex = (index: number) => {\n const { tx, sx } = computeAnimationValues(index);\n\n startAnimation(translateX, tx);\n startAnimation(scaleX, sx);\n };\n\n scrollToIndex(indexStore.getState());\n\n return indexStore.subscribe(scrollToIndex);\n }, [\n computeAnimationValues,\n coordinates,\n indexStore,\n ]);\n\n return (\n <Animated.View\n style={[\n styles.root,\n disabled ? styles.disabled : undefined,\n { transform: [{ translateX }, { scaleX }] },\n style,\n ]}\n {...otherProps}\n />\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=LegacyTabIndicatorProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["LegacyTabIndicatorProps.ts"],"sourcesContent":["import type { ViewProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\nimport type TabCoordinate from './TabCoordinate';\n\nexport type TabIndicatorColor = 'primary' | 'secondary';\n\nexport default interface TabIndicatorProps extends OverridableComponentProps<ViewProps, {\n /**\n * Tab item coordinates.\n */\n coordinates: TabCoordinate[];\n\n /**\n * Indicator color.\n * @default: 'primary'\n */\n color?: TabIndicatorColor;\n\n /**\n * If `true`, the indicator is disabled.\n */\n disabled: boolean;\n\n /**\n * Initial index.\n */\n initialIndex: number;\n\n /**\n * If `true`, the tab will be able to scroll.\n */\n scrollable: boolean;\n}> {}\n"],"mappings":""}
@@ -0,0 +1,180 @@
1
+ import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
2
+ import { View } from 'react-native';
3
+ import { css, useTheme } from '../styles';
4
+ import { useSyncAnimatedValue } from '../hooks';
5
+ import TabIndicator from './LegacyTabIndicator';
6
+ import ScrollableTabsView from './ScrollableTabsView';
7
+ import IndexAwareTab from './IndexAwareTab';
8
+ import useTabCoordinates from './useTabCoordinates';
9
+ import useTabInnerContentsWidth from './useTabInnerContentsWidth';
10
+ import useIndexStore from './useIndexStore';
11
+ import InternalContext from './InternalContext';
12
+ import { isEveryTabCoordinatesDefined } from './utils';
13
+
14
+ const useStyles = function () {
15
+ const theme = useTheme();
16
+ return {
17
+ root: {},
18
+ fixedRoot: {
19
+ flexDirection: 'row'
20
+ },
21
+ fixedTab: {
22
+ flex: 1
23
+ },
24
+ scrollableContainer: {
25
+ paddingHorizontal: theme.spacing(1)
26
+ }
27
+ };
28
+ };
29
+
30
+ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
31
+ var _React$Children$map;
32
+
33
+ const {
34
+ children,
35
+ indicatorColor = 'primary',
36
+ initialIndex = 0,
37
+ disableIndicator = false,
38
+ indicatorSize = 'full',
39
+ keyboardDismissMode = 'none',
40
+ keyboardShouldPersistTaps = 'never',
41
+ onChange,
42
+ scrollable = false,
43
+ scrollViewContentContainerStyle,
44
+ style,
45
+ variant = 'primary',
46
+ UNSTABLE_sharedIndex,
47
+ onTabSelected
48
+ } = props;
49
+ const fallbackSharedIndex = useSyncAnimatedValue({
50
+ initialValue: initialIndex
51
+ });
52
+ const sharedIndex = UNSTABLE_sharedIndex ?? fallbackSharedIndex;
53
+ const realInitialIndex = sharedIndex.initialValue;
54
+ const currentIndexRef = useRef(initialIndex);
55
+
56
+ const setTab = newIndex => {
57
+ const currentIndex = currentIndexRef.current;
58
+ onTabSelected === null || onTabSelected === void 0 ? void 0 : onTabSelected(newIndex, currentIndex);
59
+ sharedIndex.animatedValue.setValue(newIndex);
60
+ };
61
+
62
+ useImperativeHandle(ref, () => ({
63
+ setTab
64
+ }), [sharedIndex]);
65
+ const styles = useStyles();
66
+ const [outerCoordinates, updateCoordinate] = useTabCoordinates(children);
67
+ const [innerContentsWidthList, updateInnerContentsWidth] = useTabInnerContentsWidth(children);
68
+ const canRenderIndicator = indicatorSize === 'fit-content' ? isEveryTabCoordinatesDefined(innerContentsWidthList, children) : isEveryTabCoordinatesDefined(outerCoordinates, children);
69
+ const indexStore = useIndexStore(sharedIndex);
70
+ const coordinates = useMemo(() => {
71
+ if (indicatorSize !== 'fit-content') {
72
+ return outerCoordinates;
73
+ }
74
+
75
+ return innerContentsWidthList.map((innerContentWidth, idx) => {
76
+ const {
77
+ x1: outerX1,
78
+ x2: outerX2
79
+ } = outerCoordinates[idx];
80
+ const tabWidth = outerX2 - outerX1;
81
+ const distanceFromParent = (tabWidth - innerContentWidth) / 2;
82
+ const indicatorStartCoordinate = outerX1 + distanceFromParent;
83
+ return {
84
+ x1: indicatorStartCoordinate,
85
+ x2: indicatorStartCoordinate + innerContentWidth
86
+ };
87
+ });
88
+ }, [outerCoordinates, innerContentsWidthList, variant]);
89
+ useEffect(() => {
90
+ return indexStore.subscribe(newIndex => {
91
+ onChange === null || onChange === void 0 ? void 0 : onChange(newIndex);
92
+ currentIndexRef.current = newIndex;
93
+ });
94
+ }, [indexStore, onChange]);
95
+ const tabElements = (_React$Children$map = React.Children.map(children, (child, index) => {
96
+ if (!child) {
97
+ return null;
98
+ }
99
+
100
+ const onTabInnerLayout = event => {
101
+ const {
102
+ width
103
+ } = event.nativeEvent.layout;
104
+ updateInnerContentsWidth(index, width);
105
+ };
106
+
107
+ const onLayout = event => {
108
+ var _child$props$onLayout, _child$props;
109
+
110
+ const {
111
+ x,
112
+ width
113
+ } = event.nativeEvent.layout;
114
+ updateCoordinate(index, x, width); // @ts-ignore
115
+
116
+ (_child$props$onLayout = (_child$props = child.props).onLayout) === null || _child$props$onLayout === void 0 ? void 0 : _child$props$onLayout.call(_child$props, event);
117
+ };
118
+
119
+ const onMouseDown = e => {
120
+ if (keyboardShouldPersistTaps === 'always') {
121
+ e.preventDefault();
122
+ }
123
+ };
124
+
125
+ const onPress = () => {
126
+ var _child$props$onPress, _child$props2;
127
+
128
+ setTab(index); // @ts-ignore
129
+
130
+ (_child$props$onPress = (_child$props2 = child.props).onPress) === null || _child$props$onPress === void 0 ? void 0 : _child$props$onPress.call(_child$props2);
131
+ }; // @ts-ignore
132
+
133
+
134
+ const tabElement = /*#__PURE__*/cloneElement(child, {
135
+ enableIndicator: !disableIndicator && !canRenderIndicator,
136
+ indicatorColor,
137
+ onTabInnerLayout,
138
+ onLayout,
139
+ onPress,
140
+ onMouseDown,
141
+ variant,
142
+ indicatorSize,
143
+ style: scrollable ? undefined : styles.fixedTab
144
+ });
145
+ return /*#__PURE__*/React.createElement(IndexAwareTab, {
146
+ children: tabElement,
147
+ index: index,
148
+ initialIndex: realInitialIndex
149
+ });
150
+ })) === null || _React$Children$map === void 0 ? void 0 : _React$Children$map.filter(Boolean);
151
+ const tabIndicator = canRenderIndicator ? /*#__PURE__*/React.createElement(TabIndicator, {
152
+ color: indicatorColor,
153
+ coordinates: coordinates,
154
+ disabled: disableIndicator,
155
+ initialIndex: realInitialIndex,
156
+ scrollable: scrollable
157
+ }) : null;
158
+ return /*#__PURE__*/React.createElement(InternalContext.Provider, {
159
+ value: {
160
+ indexStore
161
+ }
162
+ }, /*#__PURE__*/React.createElement(View, {
163
+ style: css([styles.root, scrollable ? undefined : styles.fixedRoot, style])
164
+ }, scrollable ? /*#__PURE__*/React.createElement(ScrollableTabsView, {
165
+ automaticallyAdjustContentInsets: false,
166
+ bounces: false,
167
+ contentContainerStyle: css([styles.scrollableContainer, scrollViewContentContainerStyle]),
168
+ coordinates: coordinates,
169
+ directionalLockEnabled: true,
170
+ horizontal: true,
171
+ initialIndex: realInitialIndex,
172
+ scrollsToTop: false,
173
+ showsHorizontalScrollIndicator: false,
174
+ showsVerticalScrollIndicator: false,
175
+ keyboardDismissMode: keyboardDismissMode,
176
+ keyboardShouldPersistTaps: keyboardShouldPersistTaps
177
+ }, tabElements, tabIndicator) : /*#__PURE__*/React.createElement(React.Fragment, null, tabElements, tabIndicator)));
178
+ });
179
+ export default Tabs;
180
+ //# sourceMappingURL=LegacyTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","cloneElement","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","View","css","useTheme","useSyncAnimatedValue","TabIndicator","ScrollableTabsView","IndexAwareTab","useTabCoordinates","useTabInnerContentsWidth","useIndexStore","InternalContext","isEveryTabCoordinatesDefined","useStyles","theme","root","fixedRoot","flexDirection","fixedTab","flex","scrollableContainer","paddingHorizontal","spacing","Tabs","props","ref","children","indicatorColor","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","initialValue","sharedIndex","realInitialIndex","currentIndexRef","setTab","newIndex","currentIndex","current","animatedValue","setValue","styles","outerCoordinates","updateCoordinate","innerContentsWidthList","updateInnerContentsWidth","canRenderIndicator","indexStore","coordinates","map","innerContentWidth","idx","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","subscribe","tabElements","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabElement","enableIndicator","undefined","filter","Boolean","tabIndicator"],"sources":["LegacyTabs.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport type { GestureResponderEvent, LayoutChangeEvent } from 'react-native';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport { useSyncAnimatedValue } from '../hooks';\nimport type TabsProps from './LegacyTabsProps';\nimport type { TabsInstance } from './types';\nimport TabIndicator from './LegacyTabIndicator';\nimport ScrollableTabsView from './ScrollableTabsView';\nimport IndexAwareTab from './IndexAwareTab';\nimport useTabCoordinates from './useTabCoordinates';\nimport useTabInnerContentsWidth from './useTabInnerContentsWidth';\nimport useIndexStore from './useIndexStore';\nimport InternalContext from './InternalContext';\nimport { isEveryTabCoordinatesDefined } from './utils';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\n | 'scrollableContainer';\n\ntype TabsStyles = NamedStylesStringUnion<TabsStyleKeys>;\n\nconst useStyles: UseStyles<TabsStyles> = function (): TabsStyles {\n const theme = useTheme();\n\n return {\n root: {},\n fixedRoot: {\n flexDirection: 'row',\n },\n fixedTab: {\n flex: 1,\n },\n scrollableContainer: {\n paddingHorizontal: theme.spacing(1),\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n indicatorColor = 'primary',\n initialIndex = 0,\n disableIndicator = false,\n indicatorSize = 'full',\n keyboardDismissMode = 'none',\n keyboardShouldPersistTaps = 'never',\n onChange,\n scrollable = false,\n scrollViewContentContainerStyle,\n style,\n variant = 'primary',\n UNSTABLE_sharedIndex,\n onTabSelected,\n } = props;\n\n const fallbackSharedIndex = useSyncAnimatedValue({ initialValue: initialIndex });\n const sharedIndex = UNSTABLE_sharedIndex ?? fallbackSharedIndex;\n const realInitialIndex = sharedIndex.initialValue;\n\n const currentIndexRef = useRef(initialIndex);\n\n const setTab = (newIndex: number) => {\n const currentIndex = currentIndexRef.current;\n onTabSelected?.(newIndex, currentIndex);\n\n sharedIndex.animatedValue.setValue(newIndex);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n setTab,\n }),\n [sharedIndex],\n );\n\n const styles = useStyles();\n\n const [outerCoordinates, updateCoordinate] = useTabCoordinates(children);\n const [innerContentsWidthList, updateInnerContentsWidth] = useTabInnerContentsWidth(children);\n\n const canRenderIndicator = indicatorSize === 'fit-content'\n ? isEveryTabCoordinatesDefined(innerContentsWidthList, children)\n : isEveryTabCoordinatesDefined(outerCoordinates, children);\n\n const indexStore = useIndexStore(sharedIndex);\n\n const coordinates = useMemo(() => {\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const { x1: outerX1, x2: outerX2 } = outerCoordinates[idx];\n\n const tabWidth = outerX2 - outerX1;\n const distanceFromParent = (tabWidth - innerContentWidth) / 2;\n const indicatorStartCoordinate = outerX1 + distanceFromParent;\n\n return {\n x1: indicatorStartCoordinate,\n x2: indicatorStartCoordinate + innerContentWidth,\n };\n });\n }, [outerCoordinates, innerContentsWidthList, variant]);\n\n useEffect(() => {\n return indexStore.subscribe(newIndex => {\n onChange?.(newIndex);\n currentIndexRef.current = newIndex;\n });\n }, [indexStore, onChange]);\n\n const tabElements = React.Children.map(children, (child, index) => {\n if (!child) {\n return null;\n }\n\n const onTabInnerLayout = (event: LayoutChangeEvent) => {\n const { width } = event.nativeEvent.layout;\n\n updateInnerContentsWidth(index, width);\n };\n\n const onLayout = (event: LayoutChangeEvent) => {\n const { x, width } = event.nativeEvent.layout;\n\n updateCoordinate(index, x, width);\n\n // @ts-ignore\n child.props.onLayout?.(event);\n };\n\n const onMouseDown = (e: GestureResponderEvent) => {\n if (keyboardShouldPersistTaps === 'always') {\n e.preventDefault();\n }\n };\n\n const onPress = () => {\n setTab(index);\n\n // @ts-ignore\n child.props.onPress?.();\n };\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n indicatorColor,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n variant,\n indicatorSize,\n style: scrollable ? undefined : styles.fixedTab,\n });\n\n return (\n <IndexAwareTab\n children={tabElement}\n index={index}\n initialIndex={realInitialIndex}\n />\n );\n })?.filter(Boolean);\n\n const tabIndicator = canRenderIndicator ? (\n <TabIndicator\n color={indicatorColor}\n coordinates={coordinates}\n disabled={disableIndicator}\n initialIndex={realInitialIndex}\n scrollable={scrollable}\n />\n ) : null;\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n scrollable ? undefined : styles.fixedRoot,\n style,\n ])}\n >\n {scrollable ? (\n <ScrollableTabsView\n automaticallyAdjustContentInsets={false}\n bounces={false}\n contentContainerStyle={css([\n styles.scrollableContainer,\n scrollViewContentContainerStyle,\n ])}\n coordinates={coordinates}\n directionalLockEnabled={true}\n horizontal={true}\n initialIndex={realInitialIndex}\n scrollsToTop={false}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n keyboardDismissMode={keyboardDismissMode}\n keyboardShouldPersistTaps={keyboardShouldPersistTaps}\n >\n {tabElements}\n {tabIndicator}\n </ScrollableTabsView>\n ) : (\n <React.Fragment>\n {tabElements}\n {tabIndicator}\n </React.Fragment>\n )}\n </View>\n </InternalContext.Provider>\n );\n});\n\nexport default Tabs;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=LegacyTabsProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["LegacyTabsProps.ts"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { TabVariant, TabIndicatorSize } from '../Tab';\nimport type { ExtendedStyle, OverridableComponentProps, SyncAnimatedValue } from '../types';\nimport type { TabIndicatorColor } from './LegacyTabIndicatorProps';\nimport type { KeyboardDismissMode, KeyboardShouldPersistTaps, TabsInstance } from './types';\n\nexport default interface TabsProps extends OverridableComponentProps<ViewProps, {\n ref?: Ref<TabsInstance>;\n\n /**\n * Collection of Tab components.\n */\n children: ReactNode;\n\n /**\n * If `true`, the indicator is disabled.\n * @default false\n */\n disableIndicator?: boolean;\n\n /**\n * The color of tab indicator\n * @default 'primary'\n */\n indicatorColor?: TabIndicatorColor;\n\n /**\n * The size of tab indicator.\n * 'full' adjusts the indicator to the size of the Tab,\n * while 'fit-content' adjusts the indicator to the size of the content inside the Tab.\n * @default 'full'\n */\n indicatorSize?: TabIndicatorSize;\n\n /**\n * Index of initial tab that should be selected.\n * @default 0\n */\n initialIndex?: number;\n\n /**\n * keyboard dismissing condition of dragging.\n * @default 'none'\n */\n keyboardDismissMode?: KeyboardDismissMode,\n\n /**\n * keyboard persisting condition of tapping.\n * @default 'never'\n */\n keyboardShouldPersistTaps?: KeyboardShouldPersistTaps,\n\n /**\n * Callback fired when a tab is selected.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * If `true`, the component will be able to scroll.\n * @default false\n */\n scrollable?: boolean;\n\n /**\n * These styles will be applied to the scroll view content container which wraps all of the child views.\n */\n scrollViewContentContainerStyle?: ExtendedStyle | ExtendedStyle[];\n\n /**\n * Unstable API.\n */\n UNSTABLE_sharedIndex?: SyncAnimatedValue;\n\n /**\n * The variant to use.\n * @default 'primary'\n */\n variant?: TabVariant;\n\n /**\n * Callback function executed when a Tab is selected.\n * Executed even if the index does not change when a Tab is pressed.\n * Receives the next tab index and the current tab index as parameters.\n */\n onTabSelected?: (newIndex: number, currentIndex: number) => void;\n}> {}\n"],"mappings":""}
@@ -9,13 +9,12 @@ import { defaultCoordinate } from './TabCoordinate';
9
9
  import InternalContext from './InternalContext';
10
10
  const INDICATOR_WIDTH = 10;
11
11
  const INDICATOR_HEIGHT = 2;
12
- const SCROLLABLE_TABS_INSET = 12 * 2;
13
12
 
14
- const useStyles = function (color) {
13
+ const useStyles = function () {
15
14
  const theme = useTheme();
16
15
  return {
17
16
  root: {
18
- backgroundColor: theme.palette[color].main,
17
+ backgroundColor: theme.palette.icon.strong,
19
18
  left: 0,
20
19
  bottom: 0,
21
20
  width: INDICATOR_WIDTH,
@@ -39,15 +38,13 @@ const startAnimation = (value, toValue) => {
39
38
 
40
39
  export default function TabIndicator(props) {
41
40
  const {
42
- color = 'primary',
43
41
  coordinates,
44
42
  disabled,
45
43
  initialIndex,
46
- scrollable,
47
44
  style,
48
45
  ...otherProps
49
46
  } = props;
50
- const styles = useStyles(color);
47
+ const styles = useStyles();
51
48
  const computeAnimationValues = useCallback(currentIndex => {
52
49
  const {
53
50
  x1,
@@ -55,13 +52,12 @@ export default function TabIndicator(props) {
55
52
  } = coordinates[currentIndex] ?? defaultCoordinate;
56
53
  const tabWidth = x2 - x1;
57
54
  const nextTranslateX = x1 + (tabWidth - INDICATOR_WIDTH) / 2;
58
- const inset = scrollable ? SCROLLABLE_TABS_INSET : 0;
59
- const nextScaleX = (tabWidth - inset) / INDICATOR_WIDTH;
55
+ const nextScaleX = tabWidth / INDICATOR_WIDTH;
60
56
  return {
61
57
  tx: nextTranslateX,
62
58
  sx: nextScaleX
63
59
  };
64
- }, [coordinates, scrollable]);
60
+ }, [coordinates]);
65
61
  const {
66
62
  tx: initialTx,
67
63
  sx: initialSx
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useContext","useEffect","Animated","Easing","useTheme","useAnimatedValue","isNotAndroid12","defaultCoordinate","InternalContext","INDICATOR_WIDTH","INDICATOR_HEIGHT","SCROLLABLE_TABS_INSET","useStyles","color","theme","root","backgroundColor","palette","main","left","bottom","width","height","position","disabled","startAnimation","value","toValue","timing","duration","easing","bezier","useNativeDriver","start","TabIndicator","props","coordinates","initialIndex","scrollable","style","otherProps","styles","computeAnimationValues","currentIndex","x1","x2","tabWidth","nextTranslateX","inset","nextScaleX","tx","sx","initialTx","initialSx","translateX","scaleX","indexStore","scrollToIndex","index","getState","subscribe","undefined","transform"],"sources":["TabIndicator.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from 'react';\nimport { Animated, Easing } from 'react-native';\nimport { NamedStylesStringUnion } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type TabIndicatorProps from './TabIndicatorProps';\nimport type { TabIndicatorColor } from './TabIndicatorProps';\nimport { defaultCoordinate } from './TabCoordinate';\nimport InternalContext from './InternalContext';\n\ntype TabIndicatorStyles = NamedStylesStringUnion<'root' | 'disabled'>;\n\nconst INDICATOR_WIDTH = 10;\nconst INDICATOR_HEIGHT = 2;\n\nconst SCROLLABLE_TABS_INSET = 12 * 2;\n\nconst useStyles: (color: TabIndicatorColor) => TabIndicatorStyles =\n function (color: TabIndicatorColor): TabIndicatorStyles {\n const theme = useTheme();\n\n return {\n root: {\n backgroundColor: theme.palette[color].main,\n left: 0,\n bottom: 0,\n width: INDICATOR_WIDTH,\n height: INDICATOR_HEIGHT,\n position: 'absolute',\n },\n disabled: {\n height: 0,\n },\n };\n };\n\nconst startAnimation = (value: Animated.Value, toValue: number) => {\n Animated.timing(value, {\n toValue: toValue,\n duration: 300,\n easing: Easing.bezier(0.25, 1, 0.5, 1),\n useNativeDriver: isNotAndroid12,\n }).start();\n};\n\nexport default function TabIndicator(props: TabIndicatorProps) {\n const {\n color = 'primary',\n coordinates,\n disabled,\n initialIndex,\n scrollable,\n style,\n ...otherProps\n } = props;\n\n const styles = useStyles(color);\n\n const computeAnimationValues = useCallback((currentIndex: number) => {\n const { x1, x2 } = coordinates[currentIndex] ?? defaultCoordinate;\n\n const tabWidth = x2 - x1;\n\n const nextTranslateX = x1 + (tabWidth - INDICATOR_WIDTH) / 2;\n\n const inset = scrollable ? SCROLLABLE_TABS_INSET : 0;\n const nextScaleX = (tabWidth - inset) / INDICATOR_WIDTH;\n\n return { tx: nextTranslateX, sx: nextScaleX };\n }, [coordinates, scrollable]);\n\n const {\n tx: initialTx,\n sx: initialSx,\n } = computeAnimationValues(initialIndex);\n\n const translateX = useAnimatedValue(initialTx);\n const scaleX = useAnimatedValue(initialSx);\n\n const { indexStore } = useContext(InternalContext);\n\n useEffect(() => {\n const scrollToIndex = (index: number) => {\n const { tx, sx } = computeAnimationValues(index);\n\n startAnimation(translateX, tx);\n startAnimation(scaleX, sx);\n };\n\n scrollToIndex(indexStore.getState());\n\n return indexStore.subscribe(scrollToIndex);\n }, [\n computeAnimationValues,\n coordinates,\n indexStore,\n ]);\n\n return (\n <Animated.View\n style={[\n styles.root,\n disabled ? styles.disabled : undefined,\n { transform: [{ translateX }, { scaleX }] },\n style,\n ]}\n {...otherProps}\n />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useContext","useEffect","Animated","Easing","useTheme","useAnimatedValue","isNotAndroid12","defaultCoordinate","InternalContext","INDICATOR_WIDTH","INDICATOR_HEIGHT","useStyles","theme","root","backgroundColor","palette","icon","strong","left","bottom","width","height","position","disabled","startAnimation","value","toValue","timing","duration","easing","bezier","useNativeDriver","start","TabIndicator","props","coordinates","initialIndex","style","otherProps","styles","computeAnimationValues","currentIndex","x1","x2","tabWidth","nextTranslateX","nextScaleX","tx","sx","initialTx","initialSx","translateX","scaleX","indexStore","scrollToIndex","index","getState","subscribe","undefined","transform"],"sources":["TabIndicator.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from 'react';\nimport { Animated, Easing } from 'react-native';\nimport { NamedStylesStringUnion } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type TabIndicatorProps from './TabIndicatorProps';\nimport { defaultCoordinate } from './TabCoordinate';\nimport InternalContext from './InternalContext';\n\ntype TabIndicatorStyles = NamedStylesStringUnion<'root' | 'disabled'>;\n\nconst INDICATOR_WIDTH = 10;\nconst INDICATOR_HEIGHT = 2;\n\nconst useStyles: () => TabIndicatorStyles =\n function (): TabIndicatorStyles {\n const theme = useTheme();\n\n return {\n root: {\n backgroundColor: theme.palette.icon.strong,\n left: 0,\n bottom: 0,\n width: INDICATOR_WIDTH,\n height: INDICATOR_HEIGHT,\n position: 'absolute',\n },\n disabled: {\n height: 0,\n },\n };\n };\n\nconst startAnimation = (value: Animated.Value, toValue: number) => {\n Animated.timing(value, {\n toValue: toValue,\n duration: 300,\n easing: Easing.bezier(0.25, 1, 0.5, 1),\n useNativeDriver: isNotAndroid12,\n }).start();\n};\n\nexport default function TabIndicator(props: TabIndicatorProps) {\n const {\n coordinates,\n disabled,\n initialIndex,\n style,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n const computeAnimationValues = useCallback((currentIndex: number) => {\n const { x1, x2 } = coordinates[currentIndex] ?? defaultCoordinate;\n\n const tabWidth = x2 - x1;\n\n const nextTranslateX = x1 + (tabWidth - INDICATOR_WIDTH) / 2;\n\n const nextScaleX = tabWidth / INDICATOR_WIDTH;\n\n return { tx: nextTranslateX, sx: nextScaleX };\n }, [coordinates]);\n\n const {\n tx: initialTx,\n sx: initialSx,\n } = computeAnimationValues(initialIndex);\n\n const translateX = useAnimatedValue(initialTx);\n const scaleX = useAnimatedValue(initialSx);\n\n const { indexStore } = useContext(InternalContext);\n\n useEffect(() => {\n const scrollToIndex = (index: number) => {\n const { tx, sx } = computeAnimationValues(index);\n\n startAnimation(translateX, tx);\n startAnimation(scaleX, sx);\n };\n\n scrollToIndex(indexStore.getState());\n\n return indexStore.subscribe(scrollToIndex);\n }, [\n computeAnimationValues,\n coordinates,\n indexStore,\n ]);\n\n return (\n <Animated.View\n style={[\n styles.root,\n disabled ? styles.disabled : undefined,\n { transform: [{ translateX }, { scaleX }] },\n style,\n ]}\n {...otherProps}\n />\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,EAAyCC,SAAzC,QAA0D,OAA1D;AACA,SAASC,QAAT,EAAmBC,MAAnB,QAAiC,cAAjC;AAEA,SAASC,QAAT,QAAyB,WAAzB;AACA,SAASC,gBAAT,QAAiC,UAAjC;AACA,SAASC,cAAT,QAA+B,UAA/B;AAEA,SAASC,iBAAT,QAAkC,iBAAlC;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AAIA,MAAMC,eAAe,GAAG,EAAxB;AACA,MAAMC,gBAAgB,GAAG,CAAzB;;AAEA,MAAMC,SAAmC,GACrC,YAAgC;EAC5B,MAAMC,KAAK,GAAGR,QAAQ,EAAtB;EAEA,OAAO;IACHS,IAAI,EAAE;MACFC,eAAe,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,CAAmBC,MADlC;MAEFC,IAAI,EAAE,CAFJ;MAGFC,MAAM,EAAE,CAHN;MAIFC,KAAK,EAAEX,eAJL;MAKFY,MAAM,EAAEX,gBALN;MAMFY,QAAQ,EAAE;IANR,CADH;IASHC,QAAQ,EAAE;MACNF,MAAM,EAAE;IADF;EATP,CAAP;AAaH,CAjBL;;AAmBA,MAAMG,cAAc,GAAG,CAACC,KAAD,EAAwBC,OAAxB,KAA4C;EAC/DxB,QAAQ,CAACyB,MAAT,CAAgBF,KAAhB,EAAuB;IACnBC,OAAO,EAAEA,OADU;IAEnBE,QAAQ,EAAE,GAFS;IAGnBC,MAAM,EAAE1B,MAAM,CAAC2B,MAAP,CAAc,IAAd,EAAoB,CAApB,EAAuB,GAAvB,EAA4B,CAA5B,CAHW;IAInBC,eAAe,EAAEzB;EAJE,CAAvB,EAKG0B,KALH;AAMH,CAPD;;AASA,eAAe,SAASC,YAAT,CAAsBC,KAAtB,EAAgD;EAC3D,MAAM;IACFC,WADE;IAEFZ,QAFE;IAGFa,YAHE;IAIFC,KAJE;IAKF,GAAGC;EALD,IAMFJ,KANJ;EAQA,MAAMK,MAAM,GAAG5B,SAAS,EAAxB;EAEA,MAAM6B,sBAAsB,GAAGzC,WAAW,CAAE0C,YAAD,IAA0B;IACjE,MAAM;MAAEC,EAAF;MAAMC;IAAN,IAAaR,WAAW,CAACM,YAAD,CAAX,IAA6BlC,iBAAhD;IAEA,MAAMqC,QAAQ,GAAGD,EAAE,GAAGD,EAAtB;IAEA,MAAMG,cAAc,GAAGH,EAAE,GAAG,CAACE,QAAQ,GAAGnC,eAAZ,IAA+B,CAA3D;IAEA,MAAMqC,UAAU,GAAGF,QAAQ,GAAGnC,eAA9B;IAEA,OAAO;MAAEsC,EAAE,EAAEF,cAAN;MAAsBG,EAAE,EAAEF;IAA1B,CAAP;EACH,CAVyC,EAUvC,CAACX,WAAD,CAVuC,CAA1C;EAYA,MAAM;IACFY,EAAE,EAAEE,SADF;IAEFD,EAAE,EAAEE;EAFF,IAGFV,sBAAsB,CAACJ,YAAD,CAH1B;EAKA,MAAMe,UAAU,GAAG9C,gBAAgB,CAAC4C,SAAD,CAAnC;EACA,MAAMG,MAAM,GAAG/C,gBAAgB,CAAC6C,SAAD,CAA/B;EAEA,MAAM;IAAEG;EAAF,IAAiBrD,UAAU,CAACQ,eAAD,CAAjC;EAEAP,SAAS,CAAC,MAAM;IACZ,MAAMqD,aAAa,GAAIC,KAAD,IAAmB;MACrC,MAAM;QAAER,EAAF;QAAMC;MAAN,IAAaR,sBAAsB,CAACe,KAAD,CAAzC;MAEA/B,cAAc,CAAC2B,UAAD,EAAaJ,EAAb,CAAd;MACAvB,cAAc,CAAC4B,MAAD,EAASJ,EAAT,CAAd;IACH,CALD;;IAOAM,aAAa,CAACD,UAAU,CAACG,QAAX,EAAD,CAAb;IAEA,OAAOH,UAAU,CAACI,SAAX,CAAqBH,aAArB,CAAP;EACH,CAXQ,EAWN,CACCd,sBADD,EAECL,WAFD,EAGCkB,UAHD,CAXM,CAAT;EAiBA,oBACI,oBAAC,QAAD,CAAU,IAAV;IACI,KAAK,EAAE,CACHd,MAAM,CAAC1B,IADJ,EAEHU,QAAQ,GAAGgB,MAAM,CAAChB,QAAV,GAAqBmC,SAF1B,EAGH;MAAEC,SAAS,EAAE,CAAC;QAAER;MAAF,CAAD,EAAiB;QAAEC;MAAF,CAAjB;IAAb,CAHG,EAIHf,KAJG;EADX,GAOQC,UAPR,EADJ;AAWH;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["TabIndicatorProps.ts"],"sourcesContent":["import type { ViewProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\nimport type TabCoordinate from './TabCoordinate';\n\nexport type TabIndicatorColor = 'primary' | 'secondary';\n\nexport default interface TabIndicatorProps extends OverridableComponentProps<ViewProps, {\n /**\n * Tab item coordinates.\n */\n coordinates: TabCoordinate[];\n\n /**\n * Indicator color.\n * @default: 'primary'\n */\n color?: TabIndicatorColor;\n\n /**\n * If `true`, the indicator is disabled.\n */\n disabled: boolean;\n\n /**\n * Initial index.\n */\n initialIndex: number;\n\n /**\n * If `true`, the tab will be able to scroll.\n */\n scrollable: boolean;\n}> {}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["TabIndicatorProps.ts"],"sourcesContent":["import type { ViewProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\nimport type TabCoordinate from './TabCoordinate';\n\nexport default interface TabIndicatorProps extends OverridableComponentProps<ViewProps, {\n /**\n * Tab item coordinates.\n */\n coordinates: TabCoordinate[];\n\n /**\n * If `true`, the indicator is disabled.\n */\n disabled: boolean;\n\n /**\n * Initial index.\n */\n initialIndex: number;\n}> {}\n"],"mappings":""}
@@ -23,6 +23,10 @@ const useStyles = function () {
23
23
  },
24
24
  scrollableContainer: {
25
25
  paddingHorizontal: theme.spacing(1)
26
+ },
27
+ bottomDivider: {
28
+ borderBottomColor: theme.palette.border.base,
29
+ borderBottomWidth: 1
26
30
  }
27
31
  };
28
32
  };
@@ -32,17 +36,17 @@ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
32
36
 
33
37
  const {
34
38
  children,
35
- indicatorColor = 'primary',
36
39
  initialIndex = 0,
37
40
  disableIndicator = false,
38
- indicatorSize = 'full',
41
+ indicatorSize = 'fit-content',
39
42
  keyboardDismissMode = 'none',
40
43
  keyboardShouldPersistTaps = 'never',
41
44
  onChange,
42
45
  scrollable = false,
43
46
  scrollViewContentContainerStyle,
47
+ showDivider = false,
44
48
  style,
45
- variant = 'primary',
49
+ variant = 'default',
46
50
  UNSTABLE_sharedIndex,
47
51
  onTabSelected
48
52
  } = props;
@@ -85,7 +89,7 @@ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
85
89
  x2: indicatorStartCoordinate + innerContentWidth
86
90
  };
87
91
  });
88
- }, [outerCoordinates, innerContentsWidthList, variant]);
92
+ }, [outerCoordinates, innerContentsWidthList, indicatorSize]);
89
93
  useEffect(() => {
90
94
  return indexStore.subscribe(newIndex => {
91
95
  onChange === null || onChange === void 0 ? void 0 : onChange(newIndex);
@@ -133,7 +137,6 @@ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
133
137
 
134
138
  const tabElement = /*#__PURE__*/cloneElement(child, {
135
139
  enableIndicator: !disableIndicator && !canRenderIndicator,
136
- indicatorColor,
137
140
  onTabInnerLayout,
138
141
  onLayout,
139
142
  onPress,
@@ -149,18 +152,16 @@ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
149
152
  });
150
153
  })) === null || _React$Children$map === void 0 ? void 0 : _React$Children$map.filter(Boolean);
151
154
  const tabIndicator = canRenderIndicator ? /*#__PURE__*/React.createElement(TabIndicator, {
152
- color: indicatorColor,
153
155
  coordinates: coordinates,
154
156
  disabled: disableIndicator,
155
- initialIndex: realInitialIndex,
156
- scrollable: scrollable
157
+ initialIndex: realInitialIndex
157
158
  }) : null;
158
159
  return /*#__PURE__*/React.createElement(InternalContext.Provider, {
159
160
  value: {
160
161
  indexStore
161
162
  }
162
163
  }, /*#__PURE__*/React.createElement(View, {
163
- style: css([styles.root, scrollable ? undefined : styles.fixedRoot, style])
164
+ style: css([styles.root, showDivider ? styles.bottomDivider : undefined, scrollable ? undefined : styles.fixedRoot, style])
164
165
  }, scrollable ? /*#__PURE__*/React.createElement(ScrollableTabsView, {
165
166
  automaticallyAdjustContentInsets: false,
166
167
  bounces: false,
@@ -1 +1 @@
1
- {"version":3,"names":["React","cloneElement","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","View","css","useTheme","useSyncAnimatedValue","TabIndicator","ScrollableTabsView","IndexAwareTab","useTabCoordinates","useTabInnerContentsWidth","useIndexStore","InternalContext","isEveryTabCoordinatesDefined","useStyles","theme","root","fixedRoot","flexDirection","fixedTab","flex","scrollableContainer","paddingHorizontal","spacing","Tabs","props","ref","children","indicatorColor","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","initialValue","sharedIndex","realInitialIndex","currentIndexRef","setTab","newIndex","currentIndex","current","animatedValue","setValue","styles","outerCoordinates","updateCoordinate","innerContentsWidthList","updateInnerContentsWidth","canRenderIndicator","indexStore","coordinates","map","innerContentWidth","idx","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","subscribe","tabElements","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabElement","enableIndicator","undefined","filter","Boolean","tabIndicator"],"sources":["Tabs.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport type { GestureResponderEvent, LayoutChangeEvent } from 'react-native';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport { useSyncAnimatedValue } from '../hooks';\nimport type TabsProps from './TabsProps';\nimport type { TabsInstance } from './types';\nimport TabIndicator from './TabIndicator';\nimport ScrollableTabsView from './ScrollableTabsView';\nimport IndexAwareTab from './IndexAwareTab';\nimport useTabCoordinates from './useTabCoordinates';\nimport useTabInnerContentsWidth from './useTabInnerContentsWidth';\nimport useIndexStore from './useIndexStore';\nimport InternalContext from './InternalContext';\nimport { isEveryTabCoordinatesDefined } from './utils';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\n | 'scrollableContainer';\n\ntype TabsStyles = NamedStylesStringUnion<TabsStyleKeys>;\n\nconst useStyles: UseStyles<TabsStyles> = function (): TabsStyles {\n const theme = useTheme();\n\n return {\n root: {},\n fixedRoot: {\n flexDirection: 'row',\n },\n fixedTab: {\n flex: 1,\n },\n scrollableContainer: {\n paddingHorizontal: theme.spacing(1),\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n indicatorColor = 'primary',\n initialIndex = 0,\n disableIndicator = false,\n indicatorSize = 'full',\n keyboardDismissMode = 'none',\n keyboardShouldPersistTaps = 'never',\n onChange,\n scrollable = false,\n scrollViewContentContainerStyle,\n style,\n variant = 'primary',\n UNSTABLE_sharedIndex,\n onTabSelected,\n } = props;\n\n const fallbackSharedIndex = useSyncAnimatedValue({ initialValue: initialIndex });\n const sharedIndex = UNSTABLE_sharedIndex ?? fallbackSharedIndex;\n const realInitialIndex = sharedIndex.initialValue;\n\n const currentIndexRef = useRef(initialIndex);\n\n const setTab = (newIndex: number) => {\n const currentIndex = currentIndexRef.current;\n onTabSelected?.(newIndex, currentIndex);\n\n sharedIndex.animatedValue.setValue(newIndex);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n setTab,\n }),\n [sharedIndex],\n );\n\n const styles = useStyles();\n\n const [outerCoordinates, updateCoordinate] = useTabCoordinates(children);\n const [innerContentsWidthList, updateInnerContentsWidth] = useTabInnerContentsWidth(children);\n\n const canRenderIndicator = indicatorSize === 'fit-content'\n ? isEveryTabCoordinatesDefined(innerContentsWidthList, children)\n : isEveryTabCoordinatesDefined(outerCoordinates, children);\n\n const indexStore = useIndexStore(sharedIndex);\n\n const coordinates = useMemo(() => {\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const { x1: outerX1, x2: outerX2 } = outerCoordinates[idx];\n\n const tabWidth = outerX2 - outerX1;\n const distanceFromParent = (tabWidth - innerContentWidth) / 2;\n const indicatorStartCoordinate = outerX1 + distanceFromParent;\n\n return {\n x1: indicatorStartCoordinate,\n x2: indicatorStartCoordinate + innerContentWidth,\n };\n });\n }, [outerCoordinates, innerContentsWidthList, variant]);\n\n useEffect(() => {\n return indexStore.subscribe(newIndex => {\n onChange?.(newIndex);\n currentIndexRef.current = newIndex;\n });\n }, [indexStore, onChange]);\n\n const tabElements = React.Children.map(children, (child, index) => {\n if (!child) {\n return null;\n }\n\n const onTabInnerLayout = (event: LayoutChangeEvent) => {\n const { width } = event.nativeEvent.layout;\n\n updateInnerContentsWidth(index, width);\n };\n\n const onLayout = (event: LayoutChangeEvent) => {\n const { x, width } = event.nativeEvent.layout;\n\n updateCoordinate(index, x, width);\n\n // @ts-ignore\n child.props.onLayout?.(event);\n };\n\n const onMouseDown = (e: GestureResponderEvent) => {\n if (keyboardShouldPersistTaps === 'always') {\n e.preventDefault();\n }\n };\n\n const onPress = () => {\n setTab(index);\n\n // @ts-ignore\n child.props.onPress?.();\n };\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n indicatorColor,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n variant,\n indicatorSize,\n style: scrollable ? undefined : styles.fixedTab,\n });\n\n return (\n <IndexAwareTab\n children={tabElement}\n index={index}\n initialIndex={realInitialIndex}\n />\n );\n })?.filter(Boolean);\n\n const tabIndicator = canRenderIndicator ? (\n <TabIndicator\n color={indicatorColor}\n coordinates={coordinates}\n disabled={disableIndicator}\n initialIndex={realInitialIndex}\n scrollable={scrollable}\n />\n ) : null;\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n scrollable ? undefined : styles.fixedRoot,\n style,\n ])}\n >\n {scrollable ? (\n <ScrollableTabsView\n automaticallyAdjustContentInsets={false}\n bounces={false}\n contentContainerStyle={css([\n styles.scrollableContainer,\n scrollViewContentContainerStyle,\n ])}\n coordinates={coordinates}\n directionalLockEnabled={true}\n horizontal={true}\n initialIndex={realInitialIndex}\n scrollsToTop={false}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n keyboardDismissMode={keyboardDismissMode}\n keyboardShouldPersistTaps={keyboardShouldPersistTaps}\n >\n {tabElements}\n {tabIndicator}\n </ScrollableTabsView>\n ) : (\n <React.Fragment>\n {tabElements}\n {tabIndicator}\n </React.Fragment>\n )}\n </View>\n </InternalContext.Provider>\n );\n});\n\nexport default Tabs;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","cloneElement","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","View","css","useTheme","useSyncAnimatedValue","TabIndicator","ScrollableTabsView","IndexAwareTab","useTabCoordinates","useTabInnerContentsWidth","useIndexStore","InternalContext","isEveryTabCoordinatesDefined","useStyles","theme","root","fixedRoot","flexDirection","fixedTab","flex","scrollableContainer","paddingHorizontal","spacing","bottomDivider","borderBottomColor","palette","border","base","borderBottomWidth","Tabs","props","ref","children","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","showDivider","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","initialValue","sharedIndex","realInitialIndex","currentIndexRef","setTab","newIndex","currentIndex","current","animatedValue","setValue","styles","outerCoordinates","updateCoordinate","innerContentsWidthList","updateInnerContentsWidth","canRenderIndicator","indexStore","coordinates","map","innerContentWidth","idx","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","subscribe","tabElements","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabElement","enableIndicator","undefined","filter","Boolean","tabIndicator"],"sources":["Tabs.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport type { GestureResponderEvent, LayoutChangeEvent } from 'react-native';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport { useSyncAnimatedValue } from '../hooks';\nimport type { TabVariant } from '../Tab/TabProps';\nimport type TabsProps from './TabsProps';\nimport type { TabsInstance } from './types';\nimport TabIndicator from './TabIndicator';\nimport ScrollableTabsView from './ScrollableTabsView';\nimport IndexAwareTab from './IndexAwareTab';\nimport useTabCoordinates from './useTabCoordinates';\nimport useTabInnerContentsWidth from './useTabInnerContentsWidth';\nimport useIndexStore from './useIndexStore';\nimport InternalContext from './InternalContext';\nimport { isEveryTabCoordinatesDefined } from './utils';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\n | 'scrollableContainer'\n | 'bottomDivider';\n\ntype TabsStyles = NamedStylesStringUnion<TabsStyleKeys>;\n\nconst useStyles: UseStyles<TabsStyles> = function (): TabsStyles {\n const theme = useTheme();\n\n return {\n root: {},\n fixedRoot: {\n flexDirection: 'row',\n },\n fixedTab: {\n flex: 1,\n },\n scrollableContainer: {\n paddingHorizontal: theme.spacing(1),\n },\n bottomDivider: {\n borderBottomColor: theme.palette.border.base,\n borderBottomWidth: 1,\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n initialIndex = 0,\n disableIndicator = false,\n indicatorSize = 'fit-content',\n keyboardDismissMode = 'none',\n keyboardShouldPersistTaps = 'never',\n onChange,\n scrollable = false,\n scrollViewContentContainerStyle,\n showDivider = false,\n style,\n variant = 'default' as TabVariant,\n UNSTABLE_sharedIndex,\n onTabSelected,\n } = props;\n\n const fallbackSharedIndex = useSyncAnimatedValue({ initialValue: initialIndex });\n const sharedIndex = UNSTABLE_sharedIndex ?? fallbackSharedIndex;\n const realInitialIndex = sharedIndex.initialValue;\n\n const currentIndexRef = useRef(initialIndex);\n\n const setTab = (newIndex: number) => {\n const currentIndex = currentIndexRef.current;\n onTabSelected?.(newIndex, currentIndex);\n\n sharedIndex.animatedValue.setValue(newIndex);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n setTab,\n }),\n [sharedIndex],\n );\n\n const styles = useStyles();\n\n const [outerCoordinates, updateCoordinate] = useTabCoordinates(children);\n const [innerContentsWidthList, updateInnerContentsWidth] = useTabInnerContentsWidth(children);\n\n const canRenderIndicator = indicatorSize === 'fit-content'\n ? isEveryTabCoordinatesDefined(innerContentsWidthList, children)\n : isEveryTabCoordinatesDefined(outerCoordinates, children);\n\n const indexStore = useIndexStore(sharedIndex);\n\n const coordinates = useMemo(() => {\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const { x1: outerX1, x2: outerX2 } = outerCoordinates[idx];\n\n const tabWidth = outerX2 - outerX1;\n const distanceFromParent = (tabWidth - innerContentWidth) / 2;\n const indicatorStartCoordinate = outerX1 + distanceFromParent;\n\n return {\n x1: indicatorStartCoordinate,\n x2: indicatorStartCoordinate + innerContentWidth,\n };\n });\n }, [outerCoordinates, innerContentsWidthList, indicatorSize]);\n\n useEffect(() => {\n return indexStore.subscribe(newIndex => {\n onChange?.(newIndex);\n currentIndexRef.current = newIndex;\n });\n }, [indexStore, onChange]);\n\n const tabElements = React.Children.map(children, (child, index) => {\n if (!child) {\n return null;\n }\n\n const onTabInnerLayout = (event: LayoutChangeEvent) => {\n const { width } = event.nativeEvent.layout;\n\n updateInnerContentsWidth(index, width);\n };\n\n const onLayout = (event: LayoutChangeEvent) => {\n const { x, width } = event.nativeEvent.layout;\n\n updateCoordinate(index, x, width);\n\n // @ts-ignore\n child.props.onLayout?.(event);\n };\n\n const onMouseDown = (e: GestureResponderEvent) => {\n if (keyboardShouldPersistTaps === 'always') {\n e.preventDefault();\n }\n };\n\n const onPress = () => {\n setTab(index);\n\n // @ts-ignore\n child.props.onPress?.();\n };\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n variant,\n indicatorSize,\n style: scrollable ? undefined : styles.fixedTab,\n });\n\n return (\n <IndexAwareTab\n children={tabElement}\n index={index}\n initialIndex={realInitialIndex}\n />\n );\n })?.filter(Boolean);\n\n const tabIndicator = canRenderIndicator ? (\n <TabIndicator\n coordinates={coordinates}\n disabled={disableIndicator}\n initialIndex={realInitialIndex}\n />\n ) : null;\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n showDivider ? styles.bottomDivider : undefined,\n scrollable ? undefined : styles.fixedRoot,\n style,\n ])}\n >\n {scrollable ? (\n <ScrollableTabsView\n automaticallyAdjustContentInsets={false}\n bounces={false}\n contentContainerStyle={css([\n styles.scrollableContainer,\n scrollViewContentContainerStyle,\n ])}\n coordinates={coordinates}\n directionalLockEnabled={true}\n horizontal={true}\n initialIndex={realInitialIndex}\n scrollsToTop={false}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n keyboardDismissMode={keyboardDismissMode}\n keyboardShouldPersistTaps={keyboardShouldPersistTaps}\n >\n {tabElements}\n {tabIndicator}\n </ScrollableTabsView>\n ) : (\n <React.Fragment>\n {tabElements}\n {tabIndicator}\n </React.Fragment>\n )}\n </View>\n </InternalContext.Provider>\n );\n});\n\nexport default Tabs;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
-
1
+ export const tabIndicatorSizes = ['fit-content', 'full'];
2
2
  //# sourceMappingURL=TabsProps.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["TabsProps.ts"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { TabIndicatorColor } from './TabIndicatorProps';\nimport type { TabVariant, TabIndicatorSize } from '../Tab';\nimport type { OverridableComponentProps, SyncAnimatedValue } from '../types';\nimport type { KeyboardDismissMode, KeyboardShouldPersistTaps, TabsInstance } from './types';\nimport type { ExtendedStyle } from '../types';\n\nexport default interface TabsProps extends OverridableComponentProps<ViewProps, {\n ref?: Ref<TabsInstance>;\n\n /**\n * Collection of Tab components.\n */\n children: ReactNode;\n\n /**\n * If `true`, the indicator is disabled.\n * @default false\n */\n disableIndicator?: boolean;\n\n /**\n * The color of tab indicator\n * @default 'primary'\n */\n indicatorColor?: TabIndicatorColor;\n\n /**\n * The size of tab indicator.\n * 'full' adjusts the indicator to the size of the Tab,\n * while 'fit-content' adjusts the indicator to the size of the content inside the Tab.\n * @default 'full'\n */\n indicatorSize?: TabIndicatorSize;\n\n /**\n * Index of initial tab that should be selected.\n * @default 0\n */\n initialIndex?: number;\n\n /**\n * keyboard dismissing condition of dragging.\n * @default 'none'\n */\n keyboardDismissMode?: KeyboardDismissMode,\n\n /**\n * keyboard persisting condition of tapping.\n * @default 'never'\n */\n keyboardShouldPersistTaps?: KeyboardShouldPersistTaps,\n\n /**\n * Callback fired when a tab is selected.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * If `true`, the component will be able to scroll.\n * @default false\n */\n scrollable?: boolean;\n\n /**\n * These styles will be applied to the scroll view content container which wraps all of the child views.\n */\n scrollViewContentContainerStyle?: ExtendedStyle | ExtendedStyle[];\n\n /**\n * Unstable API.\n */\n UNSTABLE_sharedIndex?: SyncAnimatedValue;\n\n /**\n * The variant to use.\n * @default 'primary'\n */\n variant?: TabVariant;\n\n /**\n * Callback function executed when a Tab is selected.\n * Executed even if the index does not change when a Tab is pressed.\n * Receives the next tab index and the current tab index as parameters.\n */\n onTabSelected?: (newIndex: number, currentIndex: number) => void;\n}> {}\n"],"mappings":""}
1
+ {"version":3,"names":["tabIndicatorSizes"],"sources":["TabsProps.ts"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { TabVariant } from '../Tab/TabProps';\nimport type { ExtendedStyle, OverridableComponentProps, SyncAnimatedValue } from '../types';\nimport type { KeyboardDismissMode, KeyboardShouldPersistTaps, TabsInstance } from './types';\n\nexport const tabIndicatorSizes = ['fit-content', 'full'] as const;\nexport type TabIndicatorSize = typeof tabIndicatorSizes[number];\n\nexport default interface TabsProps extends OverridableComponentProps<ViewProps, {\n ref?: Ref<TabsInstance>;\n\n /**\n * Collection of Tab components.\n */\n children: ReactNode;\n\n /**\n * If `true`, the indicator is disabled.\n * @default false\n */\n disableIndicator?: boolean;\n\n /**\n * The size of tab indicator.\n * 'full' adjusts the indicator to the size of the Tab,\n * while 'fit-content' adjusts the indicator to the size of the content inside the Tab.\n * @default 'fit-content'\n */\n indicatorSize?: TabIndicatorSize;\n\n /**\n * Index of initial tab that should be selected.\n * @default 0\n */\n initialIndex?: number;\n\n /**\n * keyboard dismissing condition of dragging.\n * @default 'none'\n */\n keyboardDismissMode?: KeyboardDismissMode,\n\n /**\n * keyboard persisting condition of tapping.\n * @default 'never'\n */\n keyboardShouldPersistTaps?: KeyboardShouldPersistTaps,\n\n /**\n * Callback fired when a tab is selected.\n */\n onChange?: (newIndex: number) => void;\n\n /**\n * If `true`, the component will be able to scroll.\n * @default false\n */\n scrollable?: boolean;\n\n /**\n * These styles will be applied to the scroll view content container which wraps all of the child views.\n */\n scrollViewContentContainerStyle?: ExtendedStyle | ExtendedStyle[];\n\n /**\n * Determines whether to display the bottom border.\n * @default false\n */\n showDivider?: boolean;\n\n /**\n * Unstable API.\n */\n UNSTABLE_sharedIndex?: SyncAnimatedValue;\n\n /**\n * The variant to use.\n * @default 'primary'\n */\n variant?: TabVariant;\n\n /**\n * Callback function executed when a Tab is selected.\n * Executed even if the index does not change when a Tab is pressed.\n * Receives the next tab index and the current tab index as parameters.\n */\n onTabSelected?: (newIndex: number, currentIndex: number) => void;\n}> {}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAiB,GAAG,CAAC,aAAD,EAAgB,MAAhB,CAA1B"}
@@ -1,2 +1,2 @@
1
- export { default } from './Tabs';
1
+ export { default } from './LegacyTabs';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Tabs';\nexport type { default as TabsProps } from './TabsProps';\nexport type { TabsInstance } from './types';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB"}
1
+ {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './LegacyTabs';\nexport type { default as TabsProps } from './LegacyTabsProps';\nexport type { TabsInstance } from './types';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB"}