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

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 (126) hide show
  1. package/build/commonjs/AspectRatio/AspectRatioNative.js +1 -1
  2. package/build/commonjs/AspectRatio/AspectRatioNative.js.map +1 -1
  3. package/build/commonjs/AspectRatio/AspectRatioWeb.js +1 -1
  4. package/build/commonjs/AspectRatio/AspectRatioWeb.js.map +1 -1
  5. package/build/commonjs/ImageCore/ImageCoreNative.js +2 -2
  6. package/build/commonjs/ImageCore/ImageCoreNative.js.map +1 -1
  7. package/build/commonjs/Slider/Slider.js +22 -18
  8. package/build/commonjs/Slider/Slider.js.map +1 -1
  9. package/build/commonjs/Tabs/Tabs.js +9 -4
  10. package/build/commonjs/Tabs/Tabs.js.map +1 -1
  11. package/build/module/AspectRatio/AspectRatioNative.js +1 -1
  12. package/build/module/AspectRatio/AspectRatioNative.js.map +1 -1
  13. package/build/module/AspectRatio/AspectRatioWeb.js +1 -1
  14. package/build/module/AspectRatio/AspectRatioWeb.js.map +1 -1
  15. package/build/module/ImageCore/ImageCoreNative.js +2 -2
  16. package/build/module/ImageCore/ImageCoreNative.js.map +1 -1
  17. package/build/module/Slider/Slider.js +22 -18
  18. package/build/module/Slider/Slider.js.map +1 -1
  19. package/build/module/Tabs/Tabs.js +10 -5
  20. package/build/module/Tabs/Tabs.js.map +1 -1
  21. package/build/typescript/Accordion/Accordion.d.ts +0 -1
  22. package/build/typescript/AspectRatio/AspectRatioNative.d.ts +0 -1
  23. package/build/typescript/AspectRatio/AspectRatioWeb.d.ts +0 -1
  24. package/build/typescript/Avatar/Avatar.d.ts +0 -1
  25. package/build/typescript/Badge/Badge.d.ts +0 -1
  26. package/build/typescript/BottomSheetActions/BottomSheetActions.d.ts +0 -1
  27. package/build/typescript/BottomSheetContent/BottomSheetContent.d.ts +0 -1
  28. package/build/typescript/BottomSheetTitle/BottomSheetTitle.d.ts +0 -1
  29. package/build/typescript/Button/Button.d.ts +0 -1
  30. package/build/typescript/ButtonBase/ButtonBase.d.ts +0 -1
  31. package/build/typescript/ButtonSet/ButtonSet.d.ts +0 -1
  32. package/build/typescript/Card/Card.d.ts +0 -1
  33. package/build/typescript/CardActions/CardActions.d.ts +0 -1
  34. package/build/typescript/CardContent/CardContent.d.ts +0 -1
  35. package/build/typescript/CardMedia/CardMedia.d.ts +0 -1
  36. package/build/typescript/Checkbox/Checkbox.d.ts +0 -1
  37. package/build/typescript/Chip/Chip.d.ts +0 -1
  38. package/build/typescript/CircularProgress/CircularProgress.d.ts +0 -1
  39. package/build/typescript/Column/Column.d.ts +0 -1
  40. package/build/typescript/Dialog/Dialog.d.ts +0 -1
  41. package/build/typescript/Dialog/useDialogSectionStyle.d.ts +1 -2
  42. package/build/typescript/DialogActions/DialogActions.d.ts +0 -1
  43. package/build/typescript/DialogContent/DialogContent.d.ts +0 -1
  44. package/build/typescript/DialogMedia/DialogMedia.d.ts +0 -1
  45. package/build/typescript/DialogTitle/DialogLargeTitle.d.ts +0 -1
  46. package/build/typescript/DialogTitle/DialogTitle.d.ts +0 -1
  47. package/build/typescript/Divider/Divider.d.ts +0 -1
  48. package/build/typescript/Empty/Empty.d.ts +0 -1
  49. package/build/typescript/Fab/Fab.d.ts +0 -1
  50. package/build/typescript/Flexbox/Flexbox.d.ts +0 -1
  51. package/build/typescript/IconButton/IconButton.d.ts +0 -1
  52. package/build/typescript/Image/Image.d.ts +0 -1
  53. package/build/typescript/ImageCore/ImageCoreNative.d.ts +0 -1
  54. package/build/typescript/ImageCore/ImageCoreWeb.d.ts +0 -1
  55. package/build/typescript/Link/Link.d.ts +0 -1
  56. package/build/typescript/List/List.d.ts +0 -1
  57. package/build/typescript/ListItem/ListItem.d.ts +0 -1
  58. package/build/typescript/ListItemIcon/ListItemIcon.d.ts +0 -1
  59. package/build/typescript/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +0 -1
  60. package/build/typescript/ListItemText/ListItemText.d.ts +0 -1
  61. package/build/typescript/ListSubheader/ListSubheader.d.ts +0 -1
  62. package/build/typescript/Menu/Menu.d.ts +0 -1
  63. package/build/typescript/MenuItem/MenuItem.d.ts +0 -1
  64. package/build/typescript/Modal/AnimatedContainer/index.d.ts +0 -1
  65. package/build/typescript/Modal/Modal.d.ts +0 -1
  66. package/build/typescript/Pagination/NumberPagination.d.ts +0 -1
  67. package/build/typescript/Pagination/Pagination.d.ts +0 -1
  68. package/build/typescript/Portal/Portal.d.ts +0 -1
  69. package/build/typescript/Radio/Radio.d.ts +0 -1
  70. package/build/typescript/RadioGroup/RadioGroup.d.ts +0 -1
  71. package/build/typescript/Row/Row.d.ts +0 -1
  72. package/build/typescript/Section/Section.d.ts +0 -1
  73. package/build/typescript/ShadowView/ShadowView.d.ts +0 -1
  74. package/build/typescript/ShadowView/ShadowView.native.d.ts +0 -1
  75. package/build/typescript/Slide/Slide.d.ts +0 -1
  76. package/build/typescript/Slider/Slider.d.ts +1 -1
  77. package/build/typescript/Snackbar/Snackbar.d.ts +0 -1
  78. package/build/typescript/SnackbarContent/SnackbarContent.d.ts +0 -1
  79. package/build/typescript/SnackbarContent/StatusIcon.d.ts +0 -1
  80. package/build/typescript/Spacer/Spacer.d.ts +0 -1
  81. package/build/typescript/SvgIcon/SvgIcon.d.ts +0 -1
  82. package/build/typescript/Switch/Switch.d.ts +0 -1
  83. package/build/typescript/Tab/Tab.d.ts +0 -1
  84. package/build/typescript/TabBase/TabBase.d.ts +0 -1
  85. package/build/typescript/Tabs/ScrollableTabsView.d.ts +0 -1
  86. package/build/typescript/Tabs/TabIndicator.d.ts +0 -1
  87. package/build/typescript/Tabs/Tabs.d.ts +1 -1
  88. package/build/typescript/Toggle/Toggle.d.ts +0 -1
  89. package/build/typescript/Toolbar/BackButton/BackButton.d.ts +0 -1
  90. package/build/typescript/Toolbar/Toolbar.d.ts +0 -1
  91. package/build/typescript/Tooltip/Beaks/Beak.d.ts +0 -1
  92. package/build/typescript/Tooltip/Beaks/HorizontalLargeBeak.d.ts +0 -1
  93. package/build/typescript/Tooltip/Beaks/HorizontalSmallBeak.d.ts +0 -1
  94. package/build/typescript/Tooltip/Beaks/VerticalLargeBeak.d.ts +0 -1
  95. package/build/typescript/Tooltip/Beaks/VerticalSmallBeak.d.ts +0 -1
  96. package/build/typescript/Tooltip/Tooltip.d.ts +0 -1
  97. package/build/typescript/animated/AnimatedAppBar.d.ts +1 -2
  98. package/build/typescript/animated/AnimatedFlatList.d.ts +1 -2
  99. package/build/typescript/animated/AnimatedTypography.d.ts +1 -2
  100. package/build/typescript/internal/icons/AppBarChevronLeft.d.ts +300 -73
  101. package/build/typescript/internal/icons/Check.d.ts +300 -73
  102. package/build/typescript/internal/icons/CheckCircle.d.ts +300 -73
  103. package/build/typescript/internal/icons/Checkbox.d.ts +300 -73
  104. package/build/typescript/internal/icons/CheckboxChecked.d.ts +300 -73
  105. package/build/typescript/internal/icons/CheckboxOn.d.ts +300 -73
  106. package/build/typescript/internal/icons/ChevronDown.d.ts +300 -73
  107. package/build/typescript/internal/icons/ChevronLeft.d.ts +300 -73
  108. package/build/typescript/internal/icons/ChevronRight.d.ts +300 -73
  109. package/build/typescript/internal/icons/ChipClose.d.ts +300 -73
  110. package/build/typescript/internal/icons/CircularProgress.d.ts +0 -1
  111. package/build/typescript/internal/icons/Clear.d.ts +300 -73
  112. package/build/typescript/internal/icons/Close.d.ts +300 -73
  113. package/build/typescript/internal/icons/EyeOff.d.ts +300 -73
  114. package/build/typescript/internal/icons/EyeOn.d.ts +300 -73
  115. package/build/typescript/internal/icons/InfoCircle.d.ts +300 -73
  116. package/build/typescript/internal/icons/LoadingSpinner/index.d.ts +0 -1
  117. package/build/typescript/internal/icons/LoadingSpinner/index.native.d.ts +0 -1
  118. package/build/typescript/internal/icons/Radio.d.ts +300 -73
  119. package/build/typescript/internal/icons/RadioChecked.d.ts +300 -73
  120. package/build/typescript/internal/icons/Search.d.ts +300 -73
  121. package/package.json +7 -7
  122. package/src/AspectRatio/AspectRatioNative.tsx +2 -2
  123. package/src/AspectRatio/AspectRatioWeb.tsx +3 -3
  124. package/src/ImageCore/ImageCoreNative.tsx +2 -2
  125. package/src/Slider/Slider.tsx +1 -0
  126. package/src/Tabs/Tabs.tsx +14 -5
@@ -42,7 +42,7 @@ function AspectRatio(props) {
42
42
 
43
43
  const containerStyle = (0, _styles.css)([{
44
44
  aspectRatio: ratio,
45
- width
45
+ width: width
46
46
  }, styles.root, style]);
47
47
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
48
48
  style: containerStyle
@@ -1 +1 @@
1
- {"version":3,"names":["useStyles","root","overflow","AspectRatio","props","children","ratio","defaultRatio","style","width","defaultWidth","otherProps","styles","warnRatioNotPositive","containerStyle","css","aspectRatio"],"sources":["AspectRatioNative.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {\n overflow: 'hidden',\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const containerStyle = css([\n { aspectRatio: ratio, width },\n styles.root,\n style,\n ]);\n\n return (\n <View\n style={containerStyle}\n {...otherProps}\n >\n {children}\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;;;;;AAIA,MAAMA,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE;MACFC,QAAQ,EAAE;IADR;EADH,CAAP;AAKH,CAND;;AAQe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGC,mBAFN;IAGFC,KAHE;IAIFC,KAAK,GAAGC,mBAJN;IAKF,GAAGC;EALD,IAMFP,KANJ;EAQA,MAAMQ,MAAM,GAAGZ,SAAS,EAAxB;;EAEA,IAAIM,KAAK,IAAI,CAAb,EAAgB;IACZ,IAAAO,2BAAA,EAAqBP,KAArB;IACA,OAAO,IAAP;EACH;;EAED,MAAMQ,cAAc,GAAG,IAAAC,WAAA,EAAI,CACvB;IAAEC,WAAW,EAAEV,KAAf;IAAsBG;EAAtB,CADuB,EAEvBG,MAAM,CAACX,IAFgB,EAGvBO,KAHuB,CAAJ,CAAvB;EAMA,oBACI,6BAAC,iBAAD;IACI,KAAK,EAAEM;EADX,GAEQH,UAFR,GAIKN,QAJL,CADJ;AAQH;;AAAA"}
1
+ {"version":3,"names":["useStyles","root","overflow","AspectRatio","props","children","ratio","defaultRatio","style","width","defaultWidth","otherProps","styles","warnRatioNotPositive","containerStyle","css","aspectRatio"],"sources":["AspectRatioNative.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {\n overflow: 'hidden',\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const containerStyle = css([\n { aspectRatio: ratio, width: width as DimensionValue},\n styles.root,\n style,\n ]);\n\n return (\n <View\n style={containerStyle}\n {...otherProps}\n >\n {children}\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;;;;;AAIA,MAAMA,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE;MACFC,QAAQ,EAAE;IADR;EADH,CAAP;AAKH,CAND;;AAQe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGC,mBAFN;IAGFC,KAHE;IAIFC,KAAK,GAAGC,mBAJN;IAKF,GAAGC;EALD,IAMFP,KANJ;EAQA,MAAMQ,MAAM,GAAGZ,SAAS,EAAxB;;EAEA,IAAIM,KAAK,IAAI,CAAb,EAAgB;IACZ,IAAAO,2BAAA,EAAqBP,KAArB;IACA,OAAO,IAAP;EACH;;EAED,MAAMQ,cAAc,GAAG,IAAAC,WAAA,EAAI,CACvB;IAAEC,WAAW,EAAEV,KAAf;IAAsBG,KAAK,EAAEA;EAA7B,CADuB,EAEvBG,MAAM,CAACX,IAFgB,EAGvBO,KAHuB,CAAJ,CAAvB;EAMA,oBACI,6BAAC,iBAAD;IACI,KAAK,EAAEM;EADX,GAEQH,UAFR,GAIKN,QAJL,CADJ;AAQH;;AAAA"}
@@ -45,7 +45,7 @@ function AspectRatio(props) {
45
45
  }
46
46
 
47
47
  const outerStyle = (0, _styles.css)([styles.root, {
48
- width
48
+ width: width
49
49
  }, style]);
50
50
  const innerStyle = (0, _styles.css)([{
51
51
  paddingBottom: `${(100 / ratio).toFixed(6)}%`
@@ -1 +1 @@
1
- {"version":3,"names":["useStyles","root","inner","height","overflow","child","StyleSheet","absoluteFillObject","AspectRatio","props","children","ratio","defaultRatio","style","width","defaultWidth","otherProps","styles","warnRatioNotPositive","outerStyle","css","innerStyle","paddingBottom","toFixed","childStyle","React","cloneElement"],"sources":["AspectRatioWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, StyleSheet } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root' | 'inner' | 'child'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {},\n inner: {\n height: 0,\n overflow: 'hidden',\n },\n child: {\n ...StyleSheet.absoluteFillObject,\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const outerStyle = css([\n styles.root,\n { width },\n style,\n ]);\n\n const innerStyle = css([\n { paddingBottom: `${(100 / ratio).toFixed(6)}%` },\n styles.inner,\n ]);\n\n const childStyle = css([\n children.props.style,\n styles.child,\n ]);\n\n return (\n <View\n style={outerStyle}\n {...otherProps}\n >\n <View style={innerStyle}>\n {React.cloneElement(children, {\n style: childStyle,\n })}\n </View>\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;;;;;AAIA,MAAMA,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE,EADH;IAEHC,KAAK,EAAE;MACHC,MAAM,EAAE,CADL;MAEHC,QAAQ,EAAE;IAFP,CAFJ;IAMHC,KAAK,EAAE,EACH,GAAGC,kBAAA,CAAWC;IADX;EANJ,CAAP;AAUH,CAXD;;AAae,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGC,mBAFN;IAGFC,KAHE;IAIFC,KAAK,GAAGC,mBAJN;IAKF,GAAGC;EALD,IAMFP,KANJ;EAQA,MAAMQ,MAAM,GAAGjB,SAAS,EAAxB;;EAEA,IAAIW,KAAK,IAAI,CAAb,EAAgB;IACZ,IAAAO,2BAAA,EAAqBP,KAArB;IACA,OAAO,IAAP;EACH;;EAED,MAAMQ,UAAU,GAAG,IAAAC,WAAA,EAAI,CACnBH,MAAM,CAAChB,IADY,EAEnB;IAAEa;EAAF,CAFmB,EAGnBD,KAHmB,CAAJ,CAAnB;EAMA,MAAMQ,UAAU,GAAG,IAAAD,WAAA,EAAI,CACnB;IAAEE,aAAa,EAAG,GAAE,CAAC,MAAMX,KAAP,EAAcY,OAAd,CAAsB,CAAtB,CAAyB;EAA7C,CADmB,EAEnBN,MAAM,CAACf,KAFY,CAAJ,CAAnB;EAKA,MAAMsB,UAAU,GAAG,IAAAJ,WAAA,EAAI,CACnBV,QAAQ,CAACD,KAAT,CAAeI,KADI,EAEnBI,MAAM,CAACZ,KAFY,CAAJ,CAAnB;EAKA,oBACI,6BAAC,iBAAD;IACI,KAAK,EAAEc;EADX,GAEQH,UAFR,gBAII,6BAAC,iBAAD;IAAM,KAAK,EAAEK;EAAb,gBACKI,cAAA,CAAMC,YAAN,CAAmBhB,QAAnB,EAA6B;IAC1BG,KAAK,EAAEW;EADmB,CAA7B,CADL,CAJJ,CADJ;AAYH;;AAAA"}
1
+ {"version":3,"names":["useStyles","root","inner","height","overflow","child","StyleSheet","absoluteFillObject","AspectRatio","props","children","ratio","defaultRatio","style","width","defaultWidth","otherProps","styles","warnRatioNotPositive","outerStyle","css","innerStyle","paddingBottom","toFixed","childStyle","React","cloneElement"],"sources":["AspectRatioWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, StyleSheet } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root' | 'inner' | 'child'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {},\n inner: {\n height: 0,\n overflow: 'hidden',\n },\n child: {\n ...StyleSheet.absoluteFillObject,\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const outerStyle = css([\n styles.root,\n { width: width as DimensionValue },\n style,\n ]);\n\n const innerStyle = css([\n { paddingBottom: `${(100 / ratio).toFixed(6)}%` as DimensionValue},\n styles.inner,\n ]);\n\n const childStyle = css([\n children.props.style,\n styles.child,\n ]);\n\n return (\n <View\n style={outerStyle}\n {...otherProps}\n >\n <View style={innerStyle}>\n {React.cloneElement(children, {\n style: childStyle,\n })}\n </View>\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;;;;;AAIA,MAAMA,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE,EADH;IAEHC,KAAK,EAAE;MACHC,MAAM,EAAE,CADL;MAEHC,QAAQ,EAAE;IAFP,CAFJ;IAMHC,KAAK,EAAE,EACH,GAAGC,kBAAA,CAAWC;IADX;EANJ,CAAP;AAUH,CAXD;;AAae,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGC,mBAFN;IAGFC,KAHE;IAIFC,KAAK,GAAGC,mBAJN;IAKF,GAAGC;EALD,IAMFP,KANJ;EAQA,MAAMQ,MAAM,GAAGjB,SAAS,EAAxB;;EAEA,IAAIW,KAAK,IAAI,CAAb,EAAgB;IACZ,IAAAO,2BAAA,EAAqBP,KAArB;IACA,OAAO,IAAP;EACH;;EAED,MAAMQ,UAAU,GAAG,IAAAC,WAAA,EAAI,CACnBH,MAAM,CAAChB,IADY,EAEnB;IAAEa,KAAK,EAAEA;EAAT,CAFmB,EAGnBD,KAHmB,CAAJ,CAAnB;EAMA,MAAMQ,UAAU,GAAG,IAAAD,WAAA,EAAI,CACnB;IAAEE,aAAa,EAAG,GAAE,CAAC,MAAMX,KAAP,EAAcY,OAAd,CAAsB,CAAtB,CAAyB;EAA7C,CADmB,EAEnBN,MAAM,CAACf,KAFY,CAAJ,CAAnB;EAKA,MAAMsB,UAAU,GAAG,IAAAJ,WAAA,EAAI,CACnBV,QAAQ,CAACD,KAAT,CAAeI,KADI,EAEnBI,MAAM,CAACZ,KAFY,CAAJ,CAAnB;EAKA,oBACI,6BAAC,iBAAD;IACI,KAAK,EAAEc;EADX,GAEQH,UAFR,gBAII,6BAAC,iBAAD;IAAM,KAAK,EAAEK;EAAb,gBACKI,cAAA,CAAMC,YAAN,CAAmBhB,QAAnB,EAA6B;IAC1BG,KAAK,EAAEW;EADmB,CAA7B,CADL,CAJJ,CADJ;AAYH;;AAAA"}
@@ -65,8 +65,8 @@ function ImageCore(props) {
65
65
  style: [{
66
66
  opacity
67
67
  }, {
68
- width,
69
- height
68
+ width: width,
69
+ height: height
70
70
  }]
71
71
  });
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AnimatedFastImage","Animated","createAnimatedComponent","FastImage","INITIAL_OPACITY","LOADED_OPACITY","ANIMATION_DURATION","ImageCore","props","cache","height","onError","onLoad","resizeMode","source","width","opacity","useAnimatedValue","acceptHeader","useContext","ImageFileExtensionContext","handleLoad","useCallback","timing","toValue","duration","useNativeDriver","isNotAndroid12","start","uri","headers"],"sources":["ImageCoreNative.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { Animated } from 'react-native';\nimport FastImage from '@d11/react-native-fast-image';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type ImageCoreProps from './ImageCoreProps';\nimport ImageFileExtensionContext from './ImageFileExtensionContext';\n\n// @ts-ignore\nconst AnimatedFastImage = Animated.createAnimatedComponent(FastImage);\n\nconst INITIAL_OPACITY = 0;\nconst LOADED_OPACITY = 1;\n\nconst ANIMATION_DURATION = 200;\n\nexport default function ImageCore(props: ImageCoreProps) {\n const {\n cache,\n height,\n onError,\n onLoad,\n resizeMode,\n source,\n width,\n } = props;\n\n const opacity = useAnimatedValue(INITIAL_OPACITY);\n\n const acceptHeader = useContext(ImageFileExtensionContext);\n\n const handleLoad = useCallback(() => {\n Animated.timing(opacity, {\n toValue: LOADED_OPACITY,\n duration: ANIMATION_DURATION,\n useNativeDriver: isNotAndroid12,\n }).start();\n\n onLoad?.();\n }, [onLoad]);\n\n return (\n <AnimatedFastImage\n onError={onError}\n onLoad={handleLoad}\n resizeMode={resizeMode}\n source={{\n cache,\n uri: source.uri,\n headers: {\n 'Accept': acceptHeader,\n },\n }}\n style={[\n { opacity },\n { width, height },\n ]}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;AAEA;AACA,MAAMA,iBAAiB,GAAGC,qBAAA,CAASC,uBAAT,CAAiCC,6BAAjC,CAA1B;;AAEA,MAAMC,eAAe,GAAG,CAAxB;AACA,MAAMC,cAAc,GAAG,CAAvB;AAEA,MAAMC,kBAAkB,GAAG,GAA3B;;AAEe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,KADE;IAEFC,MAFE;IAGFC,OAHE;IAIFC,MAJE;IAKFC,UALE;IAMFC,MANE;IAOFC;EAPE,IAQFP,KARJ;EAUA,MAAMQ,OAAO,GAAG,IAAAC,uBAAA,EAAiBb,eAAjB,CAAhB;EAEA,MAAMc,YAAY,GAAG,IAAAC,iBAAA,EAAWC,kCAAX,CAArB;EAEA,MAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAY,MAAM;IACjCrB,qBAAA,CAASsB,MAAT,CAAgBP,OAAhB,EAAyB;MACrBQ,OAAO,EAAEnB,cADY;MAErBoB,QAAQ,EAAEnB,kBAFW;MAGrBoB,eAAe,EAAEC;IAHI,CAAzB,EAIGC,KAJH;;IAMAhB,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM;EACT,CARkB,EAQhB,CAACA,MAAD,CARgB,CAAnB;EAUA,oBACI,6BAAC,iBAAD;IACI,OAAO,EAAED,OADb;IAEI,MAAM,EAAEU,UAFZ;IAGI,UAAU,EAAER,UAHhB;IAII,MAAM,EAAE;MACJJ,KADI;MAEJoB,GAAG,EAAEf,MAAM,CAACe,GAFR;MAGJC,OAAO,EAAE;QACL,UAAUZ;MADL;IAHL,CAJZ;IAWI,KAAK,EAAE,CACH;MAAEF;IAAF,CADG,EAEH;MAAED,KAAF;MAASL;IAAT,CAFG;EAXX,EADJ;AAkBH;;AAAA"}
1
+ {"version":3,"names":["AnimatedFastImage","Animated","createAnimatedComponent","FastImage","INITIAL_OPACITY","LOADED_OPACITY","ANIMATION_DURATION","ImageCore","props","cache","height","onError","onLoad","resizeMode","source","width","opacity","useAnimatedValue","acceptHeader","useContext","ImageFileExtensionContext","handleLoad","useCallback","timing","toValue","duration","useNativeDriver","isNotAndroid12","start","uri","headers"],"sources":["ImageCoreNative.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { Animated, DimensionValue } from 'react-native';\nimport FastImage from '@d11/react-native-fast-image';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type ImageCoreProps from './ImageCoreProps';\nimport ImageFileExtensionContext from './ImageFileExtensionContext';\n\n// @ts-ignore\nconst AnimatedFastImage = Animated.createAnimatedComponent(FastImage);\n\nconst INITIAL_OPACITY = 0;\nconst LOADED_OPACITY = 1;\n\nconst ANIMATION_DURATION = 200;\n\nexport default function ImageCore(props: ImageCoreProps) {\n const {\n cache,\n height,\n onError,\n onLoad,\n resizeMode,\n source,\n width,\n } = props;\n\n const opacity = useAnimatedValue(INITIAL_OPACITY);\n\n const acceptHeader = useContext(ImageFileExtensionContext);\n\n const handleLoad = useCallback(() => {\n Animated.timing(opacity, {\n toValue: LOADED_OPACITY,\n duration: ANIMATION_DURATION,\n useNativeDriver: isNotAndroid12,\n }).start();\n\n onLoad?.();\n }, [onLoad]);\n\n return (\n <AnimatedFastImage\n onError={onError}\n onLoad={handleLoad}\n resizeMode={resizeMode}\n source={{\n cache,\n uri: source.uri,\n headers: {\n 'Accept': acceptHeader,\n },\n }}\n style={[\n { opacity },\n { width: width as DimensionValue, height: height as DimensionValue },\n ]}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;AAEA;AACA,MAAMA,iBAAiB,GAAGC,qBAAA,CAASC,uBAAT,CAAiCC,6BAAjC,CAA1B;;AAEA,MAAMC,eAAe,GAAG,CAAxB;AACA,MAAMC,cAAc,GAAG,CAAvB;AAEA,MAAMC,kBAAkB,GAAG,GAA3B;;AAEe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,KADE;IAEFC,MAFE;IAGFC,OAHE;IAIFC,MAJE;IAKFC,UALE;IAMFC,MANE;IAOFC;EAPE,IAQFP,KARJ;EAUA,MAAMQ,OAAO,GAAG,IAAAC,uBAAA,EAAiBb,eAAjB,CAAhB;EAEA,MAAMc,YAAY,GAAG,IAAAC,iBAAA,EAAWC,kCAAX,CAArB;EAEA,MAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAY,MAAM;IACjCrB,qBAAA,CAASsB,MAAT,CAAgBP,OAAhB,EAAyB;MACrBQ,OAAO,EAAEnB,cADY;MAErBoB,QAAQ,EAAEnB,kBAFW;MAGrBoB,eAAe,EAAEC;IAHI,CAAzB,EAIGC,KAJH;;IAMAhB,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM;EACT,CARkB,EAQhB,CAACA,MAAD,CARgB,CAAnB;EAUA,oBACI,6BAAC,iBAAD;IACI,OAAO,EAAED,OADb;IAEI,MAAM,EAAEU,UAFZ;IAGI,UAAU,EAAER,UAHhB;IAII,MAAM,EAAE;MACJJ,KADI;MAEJoB,GAAG,EAAEf,MAAM,CAACe,GAFR;MAGJC,OAAO,EAAE;QACL,UAAUZ;MADL;IAHL,CAJZ;IAWI,KAAK,EAAE,CACH;MAAEF;IAAF,CADG,EAEH;MAAED,KAAK,EAAEA,KAAT;MAAkCL,MAAM,EAAEA;IAA1C,CAFG;EAXX,EADJ;AAkBH;;AAAA"}
@@ -48,24 +48,28 @@ var _default = /*#__PURE__*/_react.default.forwardRef(function Slider(props, ref
48
48
  const minimumTrackTintColor = theme.palette.primary.main;
49
49
  const maximumTrackTintColor = theme.palette.tertiary.main;
50
50
  const thumbTintColor = _reactNative.Platform.OS === 'android' ? theme.palette.primary.main : undefined;
51
- return /*#__PURE__*/_react.default.createElement(_slider.default, _extends({
52
- disabled: disabled,
53
- maximumValue: maximumValue,
54
- maximumTrackTintColor: maximumTrackTintColor,
55
- minimumValue: minimumValue,
56
- minimumTrackTintColor: minimumTrackTintColor,
57
- onSlidingComplete: onSlidingComplete,
58
- onValueChange: onValueChange //@ts-ignore
59
- ,
60
- ref: ref,
61
- step: step,
62
- thumbTintColor: thumbTintColor,
63
- value: value,
64
- style: [platformStyle, commonStyle, style],
65
- thumbImage: require('./resources/knob.png'),
66
- minimumTrackImage: require('./resources/min-track.png'),
67
- maximumTrackImage: require('./resources/max-track.png')
68
- }, otherProps));
51
+ return (
52
+ /*#__PURE__*/
53
+ // @ts-ignore - @react-native-community/slider has incorrect type definitions for JSX usage
54
+ _react.default.createElement(_slider.default, _extends({
55
+ disabled: disabled,
56
+ maximumValue: maximumValue,
57
+ maximumTrackTintColor: maximumTrackTintColor,
58
+ minimumValue: minimumValue,
59
+ minimumTrackTintColor: minimumTrackTintColor,
60
+ onSlidingComplete: onSlidingComplete,
61
+ onValueChange: onValueChange //@ts-ignore
62
+ ,
63
+ ref: ref,
64
+ step: step,
65
+ thumbTintColor: thumbTintColor,
66
+ value: value,
67
+ style: [platformStyle, commonStyle, style],
68
+ thumbImage: require('./resources/knob.png'),
69
+ minimumTrackImage: require('./resources/min-track.png'),
70
+ maximumTrackImage: require('./resources/max-track.png')
71
+ }, otherProps))
72
+ );
69
73
  });
70
74
 
71
75
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","Slider","props","ref","disabled","step","minimumValue","maximumValue","onSlidingComplete","onValueChange","value","style","otherProps","theme","useTheme","platformStyle","Platform","select","ios","marginLeft","spacing","marginRight","android","commonStyle","height","minimumTrackTintColor","palette","primary","main","maximumTrackTintColor","tertiary","thumbTintColor","OS","undefined","require"],"sources":["Slider.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport RNSlider from '@react-native-community/slider';\nimport { useTheme } from '../styles';\nimport type SliderProps from './SliderProps';\n\nexport default React.forwardRef<RNSlider, SliderProps>(function Slider(props, ref) {\n const {\n disabled = false,\n step = 0,\n minimumValue = 0,\n maximumValue = 1,\n onSlidingComplete,\n onValueChange,\n value = 0,\n style,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n const platformStyle = Platform.select({\n ios: {\n marginLeft: -theme.spacing(1),\n marginRight: -theme.spacing(1),\n },\n android: {\n marginLeft: -theme.spacing(4),\n marginRight: -theme.spacing(4),\n },\n });\n const commonStyle = {\n height: 18,\n };\n\n const minimumTrackTintColor = theme.palette.primary.main;\n const maximumTrackTintColor = theme.palette.tertiary.main;\n const thumbTintColor = Platform.OS === 'android' ? theme.palette.primary.main : undefined;\n\n return (\n <RNSlider\n disabled={disabled}\n maximumValue={maximumValue}\n maximumTrackTintColor={maximumTrackTintColor}\n minimumValue={minimumValue}\n minimumTrackTintColor={minimumTrackTintColor}\n onSlidingComplete={onSlidingComplete}\n onValueChange={onValueChange}\n //@ts-ignore\n ref={ref}\n step={step}\n thumbTintColor={thumbTintColor}\n value={value}\n style={[platformStyle, commonStyle, style]}\n thumbImage={require('./resources/knob.png')}\n minimumTrackImage={require('./resources/min-track.png')}\n maximumTrackImage={require('./resources/max-track.png')}\n {...otherProps}\n />\n );\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;4BAGeA,cAAA,CAAMC,UAAN,CAAwC,SAASC,MAAT,CAAgBC,KAAhB,EAAuBC,GAAvB,EAA4B;EAC/E,MAAM;IACFC,QAAQ,GAAG,KADT;IAEFC,IAAI,GAAG,CAFL;IAGFC,YAAY,GAAG,CAHb;IAIFC,YAAY,GAAG,CAJb;IAKFC,iBALE;IAMFC,aANE;IAOFC,KAAK,GAAG,CAPN;IAQFC,KARE;IASF,GAAGC;EATD,IAUFV,KAVJ;EAYA,MAAMW,KAAK,GAAG,IAAAC,gBAAA,GAAd;;EACA,MAAMC,aAAa,GAAGC,qBAAA,CAASC,MAAT,CAAgB;IAClCC,GAAG,EAAE;MACDC,UAAU,EAAE,CAACN,KAAK,CAACO,OAAN,CAAc,CAAd,CADZ;MAEDC,WAAW,EAAE,CAACR,KAAK,CAACO,OAAN,CAAc,CAAd;IAFb,CAD6B;IAKlCE,OAAO,EAAE;MACLH,UAAU,EAAE,CAACN,KAAK,CAACO,OAAN,CAAc,CAAd,CADR;MAELC,WAAW,EAAE,CAACR,KAAK,CAACO,OAAN,CAAc,CAAd;IAFT;EALyB,CAAhB,CAAtB;;EAUA,MAAMG,WAAW,GAAG;IAChBC,MAAM,EAAE;EADQ,CAApB;EAIA,MAAMC,qBAAqB,GAAGZ,KAAK,CAACa,OAAN,CAAcC,OAAd,CAAsBC,IAApD;EACA,MAAMC,qBAAqB,GAAGhB,KAAK,CAACa,OAAN,CAAcI,QAAd,CAAuBF,IAArD;EACA,MAAMG,cAAc,GAAGf,qBAAA,CAASgB,EAAT,KAAgB,SAAhB,GAA4BnB,KAAK,CAACa,OAAN,CAAcC,OAAd,CAAsBC,IAAlD,GAAyDK,SAAhF;EAEA,oBACI,6BAAC,eAAD;IACI,QAAQ,EAAE7B,QADd;IAEI,YAAY,EAAEG,YAFlB;IAGI,qBAAqB,EAAEsB,qBAH3B;IAII,YAAY,EAAEvB,YAJlB;IAKI,qBAAqB,EAAEmB,qBAL3B;IAMI,iBAAiB,EAAEjB,iBANvB;IAOI,aAAa,EAAEC,aAPnB,CAQI;IARJ;IASI,GAAG,EAAEN,GATT;IAUI,IAAI,EAAEE,IAVV;IAWI,cAAc,EAAE0B,cAXpB;IAYI,KAAK,EAAErB,KAZX;IAaI,KAAK,EAAE,CAACK,aAAD,EAAgBQ,WAAhB,EAA6BZ,KAA7B,CAbX;IAcI,UAAU,EAAEuB,OAAO,CAAC,sBAAD,CAdvB;IAeI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD,CAf9B;IAgBI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD;EAhB9B,GAiBQtB,UAjBR,EADJ;AAqBH,CArDc,C"}
1
+ {"version":3,"names":["React","forwardRef","Slider","props","ref","disabled","step","minimumValue","maximumValue","onSlidingComplete","onValueChange","value","style","otherProps","theme","useTheme","platformStyle","Platform","select","ios","marginLeft","spacing","marginRight","android","commonStyle","height","minimumTrackTintColor","palette","primary","main","maximumTrackTintColor","tertiary","thumbTintColor","OS","undefined","require"],"sources":["Slider.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport RNSlider from '@react-native-community/slider';\nimport { useTheme } from '../styles';\nimport type SliderProps from './SliderProps';\n\nexport default React.forwardRef<RNSlider, SliderProps>(function Slider(props, ref) {\n const {\n disabled = false,\n step = 0,\n minimumValue = 0,\n maximumValue = 1,\n onSlidingComplete,\n onValueChange,\n value = 0,\n style,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n const platformStyle = Platform.select({\n ios: {\n marginLeft: -theme.spacing(1),\n marginRight: -theme.spacing(1),\n },\n android: {\n marginLeft: -theme.spacing(4),\n marginRight: -theme.spacing(4),\n },\n });\n const commonStyle = {\n height: 18,\n };\n\n const minimumTrackTintColor = theme.palette.primary.main;\n const maximumTrackTintColor = theme.palette.tertiary.main;\n const thumbTintColor = Platform.OS === 'android' ? theme.palette.primary.main : undefined;\n\n return (\n // @ts-ignore - @react-native-community/slider has incorrect type definitions for JSX usage\n <RNSlider\n disabled={disabled}\n maximumValue={maximumValue}\n maximumTrackTintColor={maximumTrackTintColor}\n minimumValue={minimumValue}\n minimumTrackTintColor={minimumTrackTintColor}\n onSlidingComplete={onSlidingComplete}\n onValueChange={onValueChange}\n //@ts-ignore\n ref={ref}\n step={step}\n thumbTintColor={thumbTintColor}\n value={value}\n style={[platformStyle, commonStyle, style]}\n thumbImage={require('./resources/knob.png')}\n minimumTrackImage={require('./resources/min-track.png')}\n maximumTrackImage={require('./resources/max-track.png')}\n {...otherProps}\n />\n );\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;4BAGeA,cAAA,CAAMC,UAAN,CAAwC,SAASC,MAAT,CAAgBC,KAAhB,EAAuBC,GAAvB,EAA4B;EAC/E,MAAM;IACFC,QAAQ,GAAG,KADT;IAEFC,IAAI,GAAG,CAFL;IAGFC,YAAY,GAAG,CAHb;IAIFC,YAAY,GAAG,CAJb;IAKFC,iBALE;IAMFC,aANE;IAOFC,KAAK,GAAG,CAPN;IAQFC,KARE;IASF,GAAGC;EATD,IAUFV,KAVJ;EAYA,MAAMW,KAAK,GAAG,IAAAC,gBAAA,GAAd;;EACA,MAAMC,aAAa,GAAGC,qBAAA,CAASC,MAAT,CAAgB;IAClCC,GAAG,EAAE;MACDC,UAAU,EAAE,CAACN,KAAK,CAACO,OAAN,CAAc,CAAd,CADZ;MAEDC,WAAW,EAAE,CAACR,KAAK,CAACO,OAAN,CAAc,CAAd;IAFb,CAD6B;IAKlCE,OAAO,EAAE;MACLH,UAAU,EAAE,CAACN,KAAK,CAACO,OAAN,CAAc,CAAd,CADR;MAELC,WAAW,EAAE,CAACR,KAAK,CAACO,OAAN,CAAc,CAAd;IAFT;EALyB,CAAhB,CAAtB;;EAUA,MAAMG,WAAW,GAAG;IAChBC,MAAM,EAAE;EADQ,CAApB;EAIA,MAAMC,qBAAqB,GAAGZ,KAAK,CAACa,OAAN,CAAcC,OAAd,CAAsBC,IAApD;EACA,MAAMC,qBAAqB,GAAGhB,KAAK,CAACa,OAAN,CAAcI,QAAd,CAAuBF,IAArD;EACA,MAAMG,cAAc,GAAGf,qBAAA,CAASgB,EAAT,KAAgB,SAAhB,GAA4BnB,KAAK,CAACa,OAAN,CAAcC,OAAd,CAAsBC,IAAlD,GAAyDK,SAAhF;EAEA;IAAA;IACI;IACA,6BAAC,eAAD;MACI,QAAQ,EAAE7B,QADd;MAEI,YAAY,EAAEG,YAFlB;MAGI,qBAAqB,EAAEsB,qBAH3B;MAII,YAAY,EAAEvB,YAJlB;MAKI,qBAAqB,EAAEmB,qBAL3B;MAMI,iBAAiB,EAAEjB,iBANvB;MAOI,aAAa,EAAEC,aAPnB,CAQI;MARJ;MASI,GAAG,EAAEN,GATT;MAUI,IAAI,EAAEE,IAVV;MAWI,cAAc,EAAE0B,cAXpB;MAYI,KAAK,EAAErB,KAZX;MAaI,KAAK,EAAE,CAACK,aAAD,EAAgBQ,WAAhB,EAA6BZ,KAA7B,CAbX;MAcI,UAAU,EAAEuB,OAAO,CAAC,sBAAD,CAdvB;MAeI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD,CAf9B;MAgBI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD;IAhB9B,GAiBQtB,UAjBR;EAFJ;AAsBH,CAtDc,C"}
@@ -42,14 +42,16 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
42
42
  const useStyles = function () {
43
43
  const theme = (0, _styles.useTheme)();
44
44
  return {
45
- root: {},
45
+ root: {
46
+ position: 'relative'
47
+ },
46
48
  fixedRoot: {
47
49
  flexDirection: 'row'
48
50
  },
49
51
  fixedTab: {
50
52
  flex: 1
51
53
  },
52
- bottomDivider: {
54
+ borderContainer: { ..._reactNative.StyleSheet.absoluteFillObject,
53
55
  borderBottomColor: theme.palette.border.base,
54
56
  borderBottomWidth: 0.5
55
57
  }
@@ -213,7 +215,7 @@ const Tabs = /*#__PURE__*/(0, _react.forwardRef)(function Tabs(props, ref) {
213
215
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
214
216
  style: (0, _styles.css)([styles.root, containerStyle, {
215
217
  backgroundColor: backgroundColorMap[color]
216
- }, showDivider ? styles.bottomDivider : undefined, scrollable ? undefined : styles.fixedRoot, style])
218
+ }, scrollable ? undefined : styles.fixedRoot, style])
217
219
  }, scrollable ? /*#__PURE__*/_react.default.createElement(_ScrollableTabsView.default, {
218
220
  automaticallyAdjustContentInsets: false,
219
221
  bounces: false,
@@ -227,7 +229,10 @@ const Tabs = /*#__PURE__*/(0, _react.forwardRef)(function Tabs(props, ref) {
227
229
  showsVerticalScrollIndicator: false,
228
230
  keyboardDismissMode: keyboardDismissMode,
229
231
  keyboardShouldPersistTaps: keyboardShouldPersistTaps
230
- }, tabElements, tabIndicator) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tabElements, tabIndicator)));
232
+ }, tabElements, tabIndicator) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tabElements, tabIndicator), showDivider ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
233
+ pointerEvents: 'none',
234
+ style: styles.borderContainer
235
+ }) : null));
231
236
  });
232
237
  var _default = Tabs;
233
238
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["useStyles","theme","useTheme","root","fixedRoot","flexDirection","fixedTab","flex","bottomDivider","borderBottomColor","palette","border","base","borderBottomWidth","Tabs","forwardRef","props","ref","children","color","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","showDivider","size","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","useSyncAnimatedValue","initialValue","sharedIndex","realInitialIndex","currentIndexRef","useRef","container","containerStyle","contentContainer","contentContainerStyle","useTabsStyle","setTab","newIndex","currentIndex","current","animatedValue","setValue","useImperativeHandle","styles","outerCoordinates","updateCoordinate","useTabCoordinates","innerContentsWidthList","updateInnerContentsWidth","useTabInnerContentsWidth","canRenderIndicator","isEveryTabCoordinatesDefined","indexStore","useIndexStore","coordinates","useMemo","length","map","innerContentWidth","idx","outerCoordinate","defaultCoordinate","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","useEffect","subscribe","tabElements","React","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabStyle","tabElement","cloneElement","enableIndicator","parentColor","css","undefined","filter","Boolean","tabIndicator","backgroundColorMap","default","background","alt","backgroundColor"],"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 { TabSize, TabVariant } from '../Tab';\nimport type TabsProps from './TabsProps';\nimport type { TabsColor } 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';\nimport { defaultCoordinate } from './TabCoordinate';\nimport useTabsStyle from './useTabsStyle';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\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 bottomDivider: {\n borderBottomColor: theme.palette.border.base,\n borderBottomWidth: 0.5,\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n color = 'default',\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 size = 'medium' as TabSize,\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 {\n container: containerStyle,\n contentContainer: contentContainerStyle,\n } = useTabsStyle(variant, size, scrollable);\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 theme = useTheme();\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 (outerCoordinates.length === 0) {\n return [];\n }\n\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const outerCoordinate = outerCoordinates[idx];\n if (!outerCoordinate) {\n return defaultCoordinate;\n }\n\n const { x1: outerX1, x2: outerX2 } = outerCoordinate;\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]);\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 tabStyle = child.props.style;\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n parentColor: color,\n size,\n variant,\n indicatorSize,\n style: css([\n scrollable ? undefined : styles.fixedTab,\n tabStyle,\n ]),\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 const backgroundColorMap: Record<TabsColor, string> = {\n default: theme.palette.background.base,\n alt: theme.palette.background.alt,\n };\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n containerStyle,\n { backgroundColor: backgroundColorMap[color] },\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 contentContainerStyle,\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":["useStyles","theme","useTheme","root","position","fixedRoot","flexDirection","fixedTab","flex","borderContainer","StyleSheet","absoluteFillObject","borderBottomColor","palette","border","base","borderBottomWidth","Tabs","forwardRef","props","ref","children","color","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","showDivider","size","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","useSyncAnimatedValue","initialValue","sharedIndex","realInitialIndex","currentIndexRef","useRef","container","containerStyle","contentContainer","contentContainerStyle","useTabsStyle","setTab","newIndex","currentIndex","current","animatedValue","setValue","useImperativeHandle","styles","outerCoordinates","updateCoordinate","useTabCoordinates","innerContentsWidthList","updateInnerContentsWidth","useTabInnerContentsWidth","canRenderIndicator","isEveryTabCoordinatesDefined","indexStore","useIndexStore","coordinates","useMemo","length","map","innerContentWidth","idx","outerCoordinate","defaultCoordinate","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","useEffect","subscribe","tabElements","React","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabStyle","tabElement","cloneElement","enableIndicator","parentColor","css","undefined","filter","Boolean","tabIndicator","backgroundColorMap","default","background","alt","backgroundColor"],"sources":["Tabs.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport type { GestureResponderEvent, LayoutChangeEvent } from 'react-native';\nimport { StyleSheet, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport { useSyncAnimatedValue } from '../hooks';\nimport type { TabSize, TabVariant } from '../Tab';\nimport type TabsProps from './TabsProps';\nimport type { TabsColor } 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';\nimport { defaultCoordinate } from './TabCoordinate';\nimport useTabsStyle from './useTabsStyle';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\n | 'borderContainer';\n\ntype TabsStyles = NamedStylesStringUnion<TabsStyleKeys>;\n\nconst useStyles: UseStyles<TabsStyles> = function (): TabsStyles {\n const theme = useTheme();\n\n return {\n root: {\n position: 'relative',\n },\n fixedRoot: {\n flexDirection: 'row',\n },\n fixedTab: {\n flex: 1,\n },\n borderContainer: {\n ...StyleSheet.absoluteFillObject,\n borderBottomColor: theme.palette.border.base,\n borderBottomWidth: 0.5,\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n color = 'default',\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 size = 'medium' as TabSize,\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 {\n container: containerStyle,\n contentContainer: contentContainerStyle,\n } = useTabsStyle(variant, size, scrollable);\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 theme = useTheme();\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 (outerCoordinates.length === 0) {\n return [];\n }\n\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const outerCoordinate = outerCoordinates[idx];\n if (!outerCoordinate) {\n return defaultCoordinate;\n }\n\n const { x1: outerX1, x2: outerX2 } = outerCoordinate;\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]);\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 tabStyle = child.props.style;\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n parentColor: color,\n size,\n variant,\n indicatorSize,\n style: css([\n scrollable ? undefined : styles.fixedTab,\n tabStyle,\n ]),\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 const backgroundColorMap: Record<TabsColor, string> = {\n default: theme.palette.background.base,\n alt: theme.palette.background.alt,\n };\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n containerStyle,\n { backgroundColor: backgroundColorMap[color] },\n scrollable ? undefined : styles.fixedRoot,\n style,\n ])}\n >\n {scrollable ? (\n <ScrollableTabsView\n automaticallyAdjustContentInsets={false}\n bounces={false}\n contentContainerStyle={css([\n contentContainerStyle,\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\n {showDivider ? (\n <View\n pointerEvents={'none'}\n style={styles.borderContainer}\n />\n ) : null}\n </View>\n </InternalContext.Provider>\n );\n});\n\nexport default Tabs;\n"],"mappings":"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"}
@@ -30,7 +30,7 @@ export default function AspectRatio(props) {
30
30
 
31
31
  const containerStyle = css([{
32
32
  aspectRatio: ratio,
33
- width
33
+ width: width
34
34
  }, styles.root, style]);
35
35
  return /*#__PURE__*/React.createElement(View, _extends({
36
36
  style: containerStyle
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","css","defaultRatio","defaultWidth","warnRatioNotPositive","useStyles","root","overflow","AspectRatio","props","children","ratio","style","width","otherProps","styles","containerStyle","aspectRatio"],"sources":["AspectRatioNative.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {\n overflow: 'hidden',\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const containerStyle = css([\n { aspectRatio: ratio, width },\n styles.root,\n style,\n ]);\n\n return (\n <View\n style={containerStyle}\n {...otherProps}\n >\n {children}\n </View>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,SAASC,GAAT,QAAoB,WAApB;AAEA,SAASC,YAAT,EAAuBC,YAAvB,EAAqCC,oBAArC,QAAiE,SAAjE;;AAIA,MAAMC,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE;MACFC,QAAQ,EAAE;IADR;EADH,CAAP;AAKH,CAND;;AAQA,eAAe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGT,YAFN;IAGFU,KAHE;IAIFC,KAAK,GAAGV,YAJN;IAKF,GAAGW;EALD,IAMFL,KANJ;EAQA,MAAMM,MAAM,GAAGV,SAAS,EAAxB;;EAEA,IAAIM,KAAK,IAAI,CAAb,EAAgB;IACZP,oBAAoB,CAACO,KAAD,CAApB;IACA,OAAO,IAAP;EACH;;EAED,MAAMK,cAAc,GAAGf,GAAG,CAAC,CACvB;IAAEgB,WAAW,EAAEN,KAAf;IAAsBE;EAAtB,CADuB,EAEvBE,MAAM,CAACT,IAFgB,EAGvBM,KAHuB,CAAD,CAA1B;EAMA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEI;EADX,GAEQF,UAFR,GAIKJ,QAJL,CADJ;AAQH;AAAA"}
1
+ {"version":3,"names":["React","View","css","defaultRatio","defaultWidth","warnRatioNotPositive","useStyles","root","overflow","AspectRatio","props","children","ratio","style","width","otherProps","styles","containerStyle","aspectRatio"],"sources":["AspectRatioNative.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {\n overflow: 'hidden',\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const containerStyle = css([\n { aspectRatio: ratio, width: width as DimensionValue},\n styles.root,\n style,\n ]);\n\n return (\n <View\n style={containerStyle}\n {...otherProps}\n >\n {children}\n </View>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAyBC,IAAzB,QAAqC,cAArC;AAEA,SAASC,GAAT,QAAoB,WAApB;AAEA,SAASC,YAAT,EAAuBC,YAAvB,EAAqCC,oBAArC,QAAiE,SAAjE;;AAIA,MAAMC,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE;MACFC,QAAQ,EAAE;IADR;EADH,CAAP;AAKH,CAND;;AAQA,eAAe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGT,YAFN;IAGFU,KAHE;IAIFC,KAAK,GAAGV,YAJN;IAKF,GAAGW;EALD,IAMFL,KANJ;EAQA,MAAMM,MAAM,GAAGV,SAAS,EAAxB;;EAEA,IAAIM,KAAK,IAAI,CAAb,EAAgB;IACZP,oBAAoB,CAACO,KAAD,CAApB;IACA,OAAO,IAAP;EACH;;EAED,MAAMK,cAAc,GAAGf,GAAG,CAAC,CACvB;IAAEgB,WAAW,EAAEN,KAAf;IAAsBE,KAAK,EAAEA;EAA7B,CADuB,EAEvBE,MAAM,CAACT,IAFgB,EAGvBM,KAHuB,CAAD,CAA1B;EAMA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEI;EADX,GAEQF,UAFR,GAIKJ,QAJL,CADJ;AAQH;AAAA"}
@@ -33,7 +33,7 @@ export default function AspectRatio(props) {
33
33
  }
34
34
 
35
35
  const outerStyle = css([styles.root, {
36
- width
36
+ width: width
37
37
  }, style]);
38
38
  const innerStyle = css([{
39
39
  paddingBottom: `${(100 / ratio).toFixed(6)}%`
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","css","StyleSheet","defaultRatio","defaultWidth","warnRatioNotPositive","useStyles","root","inner","height","overflow","child","absoluteFillObject","AspectRatio","props","children","ratio","style","width","otherProps","styles","outerStyle","innerStyle","paddingBottom","toFixed","childStyle","cloneElement"],"sources":["AspectRatioWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, StyleSheet } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root' | 'inner' | 'child'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {},\n inner: {\n height: 0,\n overflow: 'hidden',\n },\n child: {\n ...StyleSheet.absoluteFillObject,\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const outerStyle = css([\n styles.root,\n { width },\n style,\n ]);\n\n const innerStyle = css([\n { paddingBottom: `${(100 / ratio).toFixed(6)}%` },\n styles.inner,\n ]);\n\n const childStyle = css([\n children.props.style,\n styles.child,\n ]);\n\n return (\n <View\n style={outerStyle}\n {...otherProps}\n >\n <View style={innerStyle}>\n {React.cloneElement(children, {\n style: childStyle,\n })}\n </View>\n </View>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,SAASC,GAAT,EAAcC,UAAd,QAAgC,WAAhC;AAEA,SAASC,YAAT,EAAuBC,YAAvB,EAAqCC,oBAArC,QAAiE,SAAjE;;AAIA,MAAMC,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE,EADH;IAEHC,KAAK,EAAE;MACHC,MAAM,EAAE,CADL;MAEHC,QAAQ,EAAE;IAFP,CAFJ;IAMHC,KAAK,EAAE,EACH,GAAGT,UAAU,CAACU;IADX;EANJ,CAAP;AAUH,CAXD;;AAaA,eAAe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGb,YAFN;IAGFc,KAHE;IAIFC,KAAK,GAAGd,YAJN;IAKF,GAAGe;EALD,IAMFL,KANJ;EAQA,MAAMM,MAAM,GAAGd,SAAS,EAAxB;;EAEA,IAAIU,KAAK,IAAI,CAAb,EAAgB;IACZX,oBAAoB,CAACW,KAAD,CAApB;IACA,OAAO,IAAP;EACH;;EAED,MAAMK,UAAU,GAAGpB,GAAG,CAAC,CACnBmB,MAAM,CAACb,IADY,EAEnB;IAAEW;EAAF,CAFmB,EAGnBD,KAHmB,CAAD,CAAtB;EAMA,MAAMK,UAAU,GAAGrB,GAAG,CAAC,CACnB;IAAEsB,aAAa,EAAG,GAAE,CAAC,MAAMP,KAAP,EAAcQ,OAAd,CAAsB,CAAtB,CAAyB;EAA7C,CADmB,EAEnBJ,MAAM,CAACZ,KAFY,CAAD,CAAtB;EAKA,MAAMiB,UAAU,GAAGxB,GAAG,CAAC,CACnBc,QAAQ,CAACD,KAAT,CAAeG,KADI,EAEnBG,MAAM,CAACT,KAFY,CAAD,CAAtB;EAKA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEU;EADX,GAEQF,UAFR,gBAII,oBAAC,IAAD;IAAM,KAAK,EAAEG;EAAb,gBACKvB,KAAK,CAAC2B,YAAN,CAAmBX,QAAnB,EAA6B;IAC1BE,KAAK,EAAEQ;EADmB,CAA7B,CADL,CAJJ,CADJ;AAYH;AAAA"}
1
+ {"version":3,"names":["React","View","css","StyleSheet","defaultRatio","defaultWidth","warnRatioNotPositive","useStyles","root","inner","height","overflow","child","absoluteFillObject","AspectRatio","props","children","ratio","style","width","otherProps","styles","outerStyle","innerStyle","paddingBottom","toFixed","childStyle","cloneElement"],"sources":["AspectRatioWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, StyleSheet } from '../styles';\nimport type AspectRatioProps from './AspectRatioProps';\nimport { defaultRatio, defaultWidth, warnRatioNotPositive } from './utils';\n\ntype AspectRatioStyles = NamedStylesStringUnion<'root' | 'inner' | 'child'>;\n\nconst useStyles: UseStyles<AspectRatioStyles> = function (): AspectRatioStyles {\n return {\n root: {},\n inner: {\n height: 0,\n overflow: 'hidden',\n },\n child: {\n ...StyleSheet.absoluteFillObject,\n },\n };\n};\n\nexport default function AspectRatio(props: AspectRatioProps) {\n const {\n children,\n ratio = defaultRatio,\n style,\n width = defaultWidth,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n if (ratio <= 0) {\n warnRatioNotPositive(ratio);\n return null;\n }\n\n const outerStyle = css([\n styles.root,\n { width: width as DimensionValue },\n style,\n ]);\n\n const innerStyle = css([\n { paddingBottom: `${(100 / ratio).toFixed(6)}%` as DimensionValue},\n styles.inner,\n ]);\n\n const childStyle = css([\n children.props.style,\n styles.child,\n ]);\n\n return (\n <View\n style={outerStyle}\n {...otherProps}\n >\n <View style={innerStyle}>\n {React.cloneElement(children, {\n style: childStyle,\n })}\n </View>\n </View>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAyBC,IAAzB,QAAqC,cAArC;AAEA,SAASC,GAAT,EAAcC,UAAd,QAAgC,WAAhC;AAEA,SAASC,YAAT,EAAuBC,YAAvB,EAAqCC,oBAArC,QAAiE,SAAjE;;AAIA,MAAMC,SAAuC,GAAG,YAA+B;EAC3E,OAAO;IACHC,IAAI,EAAE,EADH;IAEHC,KAAK,EAAE;MACHC,MAAM,EAAE,CADL;MAEHC,QAAQ,EAAE;IAFP,CAFJ;IAMHC,KAAK,EAAE,EACH,GAAGT,UAAU,CAACU;IADX;EANJ,CAAP;AAUH,CAXD;;AAaA,eAAe,SAASC,WAAT,CAAqBC,KAArB,EAA8C;EACzD,MAAM;IACFC,QADE;IAEFC,KAAK,GAAGb,YAFN;IAGFc,KAHE;IAIFC,KAAK,GAAGd,YAJN;IAKF,GAAGe;EALD,IAMFL,KANJ;EAQA,MAAMM,MAAM,GAAGd,SAAS,EAAxB;;EAEA,IAAIU,KAAK,IAAI,CAAb,EAAgB;IACZX,oBAAoB,CAACW,KAAD,CAApB;IACA,OAAO,IAAP;EACH;;EAED,MAAMK,UAAU,GAAGpB,GAAG,CAAC,CACnBmB,MAAM,CAACb,IADY,EAEnB;IAAEW,KAAK,EAAEA;EAAT,CAFmB,EAGnBD,KAHmB,CAAD,CAAtB;EAMA,MAAMK,UAAU,GAAGrB,GAAG,CAAC,CACnB;IAAEsB,aAAa,EAAG,GAAE,CAAC,MAAMP,KAAP,EAAcQ,OAAd,CAAsB,CAAtB,CAAyB;EAA7C,CADmB,EAEnBJ,MAAM,CAACZ,KAFY,CAAD,CAAtB;EAKA,MAAMiB,UAAU,GAAGxB,GAAG,CAAC,CACnBc,QAAQ,CAACD,KAAT,CAAeG,KADI,EAEnBG,MAAM,CAACT,KAFY,CAAD,CAAtB;EAKA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEU;EADX,GAEQF,UAFR,gBAII,oBAAC,IAAD;IAAM,KAAK,EAAEG;EAAb,gBACKvB,KAAK,CAAC2B,YAAN,CAAmBX,QAAnB,EAA6B;IAC1BE,KAAK,EAAEQ;EADmB,CAA7B,CADL,CAJJ,CADJ;AAYH;AAAA"}
@@ -43,8 +43,8 @@ export default function ImageCore(props) {
43
43
  style: [{
44
44
  opacity
45
45
  }, {
46
- width,
47
- height
46
+ width: width,
47
+ height: height
48
48
  }]
49
49
  });
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useContext","Animated","FastImage","useAnimatedValue","isNotAndroid12","ImageFileExtensionContext","AnimatedFastImage","createAnimatedComponent","INITIAL_OPACITY","LOADED_OPACITY","ANIMATION_DURATION","ImageCore","props","cache","height","onError","onLoad","resizeMode","source","width","opacity","acceptHeader","handleLoad","timing","toValue","duration","useNativeDriver","start","uri","headers"],"sources":["ImageCoreNative.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { Animated } from 'react-native';\nimport FastImage from '@d11/react-native-fast-image';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type ImageCoreProps from './ImageCoreProps';\nimport ImageFileExtensionContext from './ImageFileExtensionContext';\n\n// @ts-ignore\nconst AnimatedFastImage = Animated.createAnimatedComponent(FastImage);\n\nconst INITIAL_OPACITY = 0;\nconst LOADED_OPACITY = 1;\n\nconst ANIMATION_DURATION = 200;\n\nexport default function ImageCore(props: ImageCoreProps) {\n const {\n cache,\n height,\n onError,\n onLoad,\n resizeMode,\n source,\n width,\n } = props;\n\n const opacity = useAnimatedValue(INITIAL_OPACITY);\n\n const acceptHeader = useContext(ImageFileExtensionContext);\n\n const handleLoad = useCallback(() => {\n Animated.timing(opacity, {\n toValue: LOADED_OPACITY,\n duration: ANIMATION_DURATION,\n useNativeDriver: isNotAndroid12,\n }).start();\n\n onLoad?.();\n }, [onLoad]);\n\n return (\n <AnimatedFastImage\n onError={onError}\n onLoad={handleLoad}\n resizeMode={resizeMode}\n source={{\n cache,\n uri: source.uri,\n headers: {\n 'Accept': acceptHeader,\n },\n }}\n style={[\n { opacity },\n { width, height },\n ]}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,QAA+C,OAA/C;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAASC,gBAAT,QAAiC,UAAjC;AACA,SAASC,cAAT,QAA+B,UAA/B;AAEA,OAAOC,yBAAP,MAAsC,6BAAtC,C,CAEA;;AACA,MAAMC,iBAAiB,GAAGL,QAAQ,CAACM,uBAAT,CAAiCL,SAAjC,CAA1B;AAEA,MAAMM,eAAe,GAAG,CAAxB;AACA,MAAMC,cAAc,GAAG,CAAvB;AAEA,MAAMC,kBAAkB,GAAG,GAA3B;AAEA,eAAe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,KADE;IAEFC,MAFE;IAGFC,OAHE;IAIFC,MAJE;IAKFC,UALE;IAMFC,MANE;IAOFC;EAPE,IAQFP,KARJ;EAUA,MAAMQ,OAAO,GAAGjB,gBAAgB,CAACK,eAAD,CAAhC;EAEA,MAAMa,YAAY,GAAGrB,UAAU,CAACK,yBAAD,CAA/B;EAEA,MAAMiB,UAAU,GAAGvB,WAAW,CAAC,MAAM;IACjCE,QAAQ,CAACsB,MAAT,CAAgBH,OAAhB,EAAyB;MACrBI,OAAO,EAAEf,cADY;MAErBgB,QAAQ,EAAEf,kBAFW;MAGrBgB,eAAe,EAAEtB;IAHI,CAAzB,EAIGuB,KAJH;IAMAX,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM;EACT,CAR6B,EAQ3B,CAACA,MAAD,CAR2B,CAA9B;EAUA,oBACI,oBAAC,iBAAD;IACI,OAAO,EAAED,OADb;IAEI,MAAM,EAAEO,UAFZ;IAGI,UAAU,EAAEL,UAHhB;IAII,MAAM,EAAE;MACJJ,KADI;MAEJe,GAAG,EAAEV,MAAM,CAACU,GAFR;MAGJC,OAAO,EAAE;QACL,UAAUR;MADL;IAHL,CAJZ;IAWI,KAAK,EAAE,CACH;MAAED;IAAF,CADG,EAEH;MAAED,KAAF;MAASL;IAAT,CAFG;EAXX,EADJ;AAkBH;AAAA"}
1
+ {"version":3,"names":["React","useCallback","useContext","Animated","FastImage","useAnimatedValue","isNotAndroid12","ImageFileExtensionContext","AnimatedFastImage","createAnimatedComponent","INITIAL_OPACITY","LOADED_OPACITY","ANIMATION_DURATION","ImageCore","props","cache","height","onError","onLoad","resizeMode","source","width","opacity","acceptHeader","handleLoad","timing","toValue","duration","useNativeDriver","start","uri","headers"],"sources":["ImageCoreNative.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { Animated, DimensionValue } from 'react-native';\nimport FastImage from '@d11/react-native-fast-image';\nimport { useAnimatedValue } from '../hooks';\nimport { isNotAndroid12 } from '../utils';\nimport type ImageCoreProps from './ImageCoreProps';\nimport ImageFileExtensionContext from './ImageFileExtensionContext';\n\n// @ts-ignore\nconst AnimatedFastImage = Animated.createAnimatedComponent(FastImage);\n\nconst INITIAL_OPACITY = 0;\nconst LOADED_OPACITY = 1;\n\nconst ANIMATION_DURATION = 200;\n\nexport default function ImageCore(props: ImageCoreProps) {\n const {\n cache,\n height,\n onError,\n onLoad,\n resizeMode,\n source,\n width,\n } = props;\n\n const opacity = useAnimatedValue(INITIAL_OPACITY);\n\n const acceptHeader = useContext(ImageFileExtensionContext);\n\n const handleLoad = useCallback(() => {\n Animated.timing(opacity, {\n toValue: LOADED_OPACITY,\n duration: ANIMATION_DURATION,\n useNativeDriver: isNotAndroid12,\n }).start();\n\n onLoad?.();\n }, [onLoad]);\n\n return (\n <AnimatedFastImage\n onError={onError}\n onLoad={handleLoad}\n resizeMode={resizeMode}\n source={{\n cache,\n uri: source.uri,\n headers: {\n 'Accept': acceptHeader,\n },\n }}\n style={[\n { opacity },\n { width: width as DimensionValue, height: height as DimensionValue },\n ]}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,QAA+C,OAA/C;AACA,SAASC,QAAT,QAAyC,cAAzC;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAASC,gBAAT,QAAiC,UAAjC;AACA,SAASC,cAAT,QAA+B,UAA/B;AAEA,OAAOC,yBAAP,MAAsC,6BAAtC,C,CAEA;;AACA,MAAMC,iBAAiB,GAAGL,QAAQ,CAACM,uBAAT,CAAiCL,SAAjC,CAA1B;AAEA,MAAMM,eAAe,GAAG,CAAxB;AACA,MAAMC,cAAc,GAAG,CAAvB;AAEA,MAAMC,kBAAkB,GAAG,GAA3B;AAEA,eAAe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,KADE;IAEFC,MAFE;IAGFC,OAHE;IAIFC,MAJE;IAKFC,UALE;IAMFC,MANE;IAOFC;EAPE,IAQFP,KARJ;EAUA,MAAMQ,OAAO,GAAGjB,gBAAgB,CAACK,eAAD,CAAhC;EAEA,MAAMa,YAAY,GAAGrB,UAAU,CAACK,yBAAD,CAA/B;EAEA,MAAMiB,UAAU,GAAGvB,WAAW,CAAC,MAAM;IACjCE,QAAQ,CAACsB,MAAT,CAAgBH,OAAhB,EAAyB;MACrBI,OAAO,EAAEf,cADY;MAErBgB,QAAQ,EAAEf,kBAFW;MAGrBgB,eAAe,EAAEtB;IAHI,CAAzB,EAIGuB,KAJH;IAMAX,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM;EACT,CAR6B,EAQ3B,CAACA,MAAD,CAR2B,CAA9B;EAUA,oBACI,oBAAC,iBAAD;IACI,OAAO,EAAED,OADb;IAEI,MAAM,EAAEO,UAFZ;IAGI,UAAU,EAAEL,UAHhB;IAII,MAAM,EAAE;MACJJ,KADI;MAEJe,GAAG,EAAEV,MAAM,CAACU,GAFR;MAGJC,OAAO,EAAE;QACL,UAAUR;MADL;IAHL,CAJZ;IAWI,KAAK,EAAE,CACH;MAAED;IAAF,CADG,EAEH;MAAED,KAAK,EAAEA,KAAT;MAAkCL,MAAM,EAAEA;IAA1C,CAFG;EAXX,EADJ;AAkBH;AAAA"}
@@ -33,23 +33,27 @@ export default /*#__PURE__*/React.forwardRef(function Slider(props, ref) {
33
33
  const minimumTrackTintColor = theme.palette.primary.main;
34
34
  const maximumTrackTintColor = theme.palette.tertiary.main;
35
35
  const thumbTintColor = Platform.OS === 'android' ? theme.palette.primary.main : undefined;
36
- return /*#__PURE__*/React.createElement(RNSlider, _extends({
37
- disabled: disabled,
38
- maximumValue: maximumValue,
39
- maximumTrackTintColor: maximumTrackTintColor,
40
- minimumValue: minimumValue,
41
- minimumTrackTintColor: minimumTrackTintColor,
42
- onSlidingComplete: onSlidingComplete,
43
- onValueChange: onValueChange //@ts-ignore
44
- ,
45
- ref: ref,
46
- step: step,
47
- thumbTintColor: thumbTintColor,
48
- value: value,
49
- style: [platformStyle, commonStyle, style],
50
- thumbImage: require('./resources/knob.png'),
51
- minimumTrackImage: require('./resources/min-track.png'),
52
- maximumTrackImage: require('./resources/max-track.png')
53
- }, otherProps));
36
+ return (
37
+ /*#__PURE__*/
38
+ // @ts-ignore - @react-native-community/slider has incorrect type definitions for JSX usage
39
+ React.createElement(RNSlider, _extends({
40
+ disabled: disabled,
41
+ maximumValue: maximumValue,
42
+ maximumTrackTintColor: maximumTrackTintColor,
43
+ minimumValue: minimumValue,
44
+ minimumTrackTintColor: minimumTrackTintColor,
45
+ onSlidingComplete: onSlidingComplete,
46
+ onValueChange: onValueChange //@ts-ignore
47
+ ,
48
+ ref: ref,
49
+ step: step,
50
+ thumbTintColor: thumbTintColor,
51
+ value: value,
52
+ style: [platformStyle, commonStyle, style],
53
+ thumbImage: require('./resources/knob.png'),
54
+ minimumTrackImage: require('./resources/min-track.png'),
55
+ maximumTrackImage: require('./resources/max-track.png')
56
+ }, otherProps))
57
+ );
54
58
  });
55
59
  //# sourceMappingURL=Slider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","RNSlider","useTheme","forwardRef","Slider","props","ref","disabled","step","minimumValue","maximumValue","onSlidingComplete","onValueChange","value","style","otherProps","theme","platformStyle","select","ios","marginLeft","spacing","marginRight","android","commonStyle","height","minimumTrackTintColor","palette","primary","main","maximumTrackTintColor","tertiary","thumbTintColor","OS","undefined","require"],"sources":["Slider.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport RNSlider from '@react-native-community/slider';\nimport { useTheme } from '../styles';\nimport type SliderProps from './SliderProps';\n\nexport default React.forwardRef<RNSlider, SliderProps>(function Slider(props, ref) {\n const {\n disabled = false,\n step = 0,\n minimumValue = 0,\n maximumValue = 1,\n onSlidingComplete,\n onValueChange,\n value = 0,\n style,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n const platformStyle = Platform.select({\n ios: {\n marginLeft: -theme.spacing(1),\n marginRight: -theme.spacing(1),\n },\n android: {\n marginLeft: -theme.spacing(4),\n marginRight: -theme.spacing(4),\n },\n });\n const commonStyle = {\n height: 18,\n };\n\n const minimumTrackTintColor = theme.palette.primary.main;\n const maximumTrackTintColor = theme.palette.tertiary.main;\n const thumbTintColor = Platform.OS === 'android' ? theme.palette.primary.main : undefined;\n\n return (\n <RNSlider\n disabled={disabled}\n maximumValue={maximumValue}\n maximumTrackTintColor={maximumTrackTintColor}\n minimumValue={minimumValue}\n minimumTrackTintColor={minimumTrackTintColor}\n onSlidingComplete={onSlidingComplete}\n onValueChange={onValueChange}\n //@ts-ignore\n ref={ref}\n step={step}\n thumbTintColor={thumbTintColor}\n value={value}\n style={[platformStyle, commonStyle, style]}\n thumbImage={require('./resources/knob.png')}\n minimumTrackImage={require('./resources/min-track.png')}\n maximumTrackImage={require('./resources/max-track.png')}\n {...otherProps}\n />\n );\n});\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,OAAOC,QAAP,MAAqB,gCAArB;AACA,SAASC,QAAT,QAAyB,WAAzB;AAGA,4BAAeH,KAAK,CAACI,UAAN,CAAwC,SAASC,MAAT,CAAgBC,KAAhB,EAAuBC,GAAvB,EAA4B;EAC/E,MAAM;IACFC,QAAQ,GAAG,KADT;IAEFC,IAAI,GAAG,CAFL;IAGFC,YAAY,GAAG,CAHb;IAIFC,YAAY,GAAG,CAJb;IAKFC,iBALE;IAMFC,aANE;IAOFC,KAAK,GAAG,CAPN;IAQFC,KARE;IASF,GAAGC;EATD,IAUFV,KAVJ;EAYA,MAAMW,KAAK,GAAGd,QAAQ,EAAtB;EACA,MAAMe,aAAa,GAAGjB,QAAQ,CAACkB,MAAT,CAAgB;IAClCC,GAAG,EAAE;MACDC,UAAU,EAAE,CAACJ,KAAK,CAACK,OAAN,CAAc,CAAd,CADZ;MAEDC,WAAW,EAAE,CAACN,KAAK,CAACK,OAAN,CAAc,CAAd;IAFb,CAD6B;IAKlCE,OAAO,EAAE;MACLH,UAAU,EAAE,CAACJ,KAAK,CAACK,OAAN,CAAc,CAAd,CADR;MAELC,WAAW,EAAE,CAACN,KAAK,CAACK,OAAN,CAAc,CAAd;IAFT;EALyB,CAAhB,CAAtB;EAUA,MAAMG,WAAW,GAAG;IAChBC,MAAM,EAAE;EADQ,CAApB;EAIA,MAAMC,qBAAqB,GAAGV,KAAK,CAACW,OAAN,CAAcC,OAAd,CAAsBC,IAApD;EACA,MAAMC,qBAAqB,GAAGd,KAAK,CAACW,OAAN,CAAcI,QAAd,CAAuBF,IAArD;EACA,MAAMG,cAAc,GAAGhC,QAAQ,CAACiC,EAAT,KAAgB,SAAhB,GAA4BjB,KAAK,CAACW,OAAN,CAAcC,OAAd,CAAsBC,IAAlD,GAAyDK,SAAhF;EAEA,oBACI,oBAAC,QAAD;IACI,QAAQ,EAAE3B,QADd;IAEI,YAAY,EAAEG,YAFlB;IAGI,qBAAqB,EAAEoB,qBAH3B;IAII,YAAY,EAAErB,YAJlB;IAKI,qBAAqB,EAAEiB,qBAL3B;IAMI,iBAAiB,EAAEf,iBANvB;IAOI,aAAa,EAAEC,aAPnB,CAQI;IARJ;IASI,GAAG,EAAEN,GATT;IAUI,IAAI,EAAEE,IAVV;IAWI,cAAc,EAAEwB,cAXpB;IAYI,KAAK,EAAEnB,KAZX;IAaI,KAAK,EAAE,CAACI,aAAD,EAAgBO,WAAhB,EAA6BV,KAA7B,CAbX;IAcI,UAAU,EAAEqB,OAAO,CAAC,sBAAD,CAdvB;IAeI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD,CAf9B;IAgBI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD;EAhB9B,GAiBQpB,UAjBR,EADJ;AAqBH,CArDc,CAAf"}
1
+ {"version":3,"names":["React","Platform","RNSlider","useTheme","forwardRef","Slider","props","ref","disabled","step","minimumValue","maximumValue","onSlidingComplete","onValueChange","value","style","otherProps","theme","platformStyle","select","ios","marginLeft","spacing","marginRight","android","commonStyle","height","minimumTrackTintColor","palette","primary","main","maximumTrackTintColor","tertiary","thumbTintColor","OS","undefined","require"],"sources":["Slider.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport RNSlider from '@react-native-community/slider';\nimport { useTheme } from '../styles';\nimport type SliderProps from './SliderProps';\n\nexport default React.forwardRef<RNSlider, SliderProps>(function Slider(props, ref) {\n const {\n disabled = false,\n step = 0,\n minimumValue = 0,\n maximumValue = 1,\n onSlidingComplete,\n onValueChange,\n value = 0,\n style,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n const platformStyle = Platform.select({\n ios: {\n marginLeft: -theme.spacing(1),\n marginRight: -theme.spacing(1),\n },\n android: {\n marginLeft: -theme.spacing(4),\n marginRight: -theme.spacing(4),\n },\n });\n const commonStyle = {\n height: 18,\n };\n\n const minimumTrackTintColor = theme.palette.primary.main;\n const maximumTrackTintColor = theme.palette.tertiary.main;\n const thumbTintColor = Platform.OS === 'android' ? theme.palette.primary.main : undefined;\n\n return (\n // @ts-ignore - @react-native-community/slider has incorrect type definitions for JSX usage\n <RNSlider\n disabled={disabled}\n maximumValue={maximumValue}\n maximumTrackTintColor={maximumTrackTintColor}\n minimumValue={minimumValue}\n minimumTrackTintColor={minimumTrackTintColor}\n onSlidingComplete={onSlidingComplete}\n onValueChange={onValueChange}\n //@ts-ignore\n ref={ref}\n step={step}\n thumbTintColor={thumbTintColor}\n value={value}\n style={[platformStyle, commonStyle, style]}\n thumbImage={require('./resources/knob.png')}\n minimumTrackImage={require('./resources/min-track.png')}\n maximumTrackImage={require('./resources/max-track.png')}\n {...otherProps}\n />\n );\n});\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,OAAOC,QAAP,MAAqB,gCAArB;AACA,SAASC,QAAT,QAAyB,WAAzB;AAGA,4BAAeH,KAAK,CAACI,UAAN,CAAwC,SAASC,MAAT,CAAgBC,KAAhB,EAAuBC,GAAvB,EAA4B;EAC/E,MAAM;IACFC,QAAQ,GAAG,KADT;IAEFC,IAAI,GAAG,CAFL;IAGFC,YAAY,GAAG,CAHb;IAIFC,YAAY,GAAG,CAJb;IAKFC,iBALE;IAMFC,aANE;IAOFC,KAAK,GAAG,CAPN;IAQFC,KARE;IASF,GAAGC;EATD,IAUFV,KAVJ;EAYA,MAAMW,KAAK,GAAGd,QAAQ,EAAtB;EACA,MAAMe,aAAa,GAAGjB,QAAQ,CAACkB,MAAT,CAAgB;IAClCC,GAAG,EAAE;MACDC,UAAU,EAAE,CAACJ,KAAK,CAACK,OAAN,CAAc,CAAd,CADZ;MAEDC,WAAW,EAAE,CAACN,KAAK,CAACK,OAAN,CAAc,CAAd;IAFb,CAD6B;IAKlCE,OAAO,EAAE;MACLH,UAAU,EAAE,CAACJ,KAAK,CAACK,OAAN,CAAc,CAAd,CADR;MAELC,WAAW,EAAE,CAACN,KAAK,CAACK,OAAN,CAAc,CAAd;IAFT;EALyB,CAAhB,CAAtB;EAUA,MAAMG,WAAW,GAAG;IAChBC,MAAM,EAAE;EADQ,CAApB;EAIA,MAAMC,qBAAqB,GAAGV,KAAK,CAACW,OAAN,CAAcC,OAAd,CAAsBC,IAApD;EACA,MAAMC,qBAAqB,GAAGd,KAAK,CAACW,OAAN,CAAcI,QAAd,CAAuBF,IAArD;EACA,MAAMG,cAAc,GAAGhC,QAAQ,CAACiC,EAAT,KAAgB,SAAhB,GAA4BjB,KAAK,CAACW,OAAN,CAAcC,OAAd,CAAsBC,IAAlD,GAAyDK,SAAhF;EAEA;IAAA;IACI;IACA,oBAAC,QAAD;MACI,QAAQ,EAAE3B,QADd;MAEI,YAAY,EAAEG,YAFlB;MAGI,qBAAqB,EAAEoB,qBAH3B;MAII,YAAY,EAAErB,YAJlB;MAKI,qBAAqB,EAAEiB,qBAL3B;MAMI,iBAAiB,EAAEf,iBANvB;MAOI,aAAa,EAAEC,aAPnB,CAQI;MARJ;MASI,GAAG,EAAEN,GATT;MAUI,IAAI,EAAEE,IAVV;MAWI,cAAc,EAAEwB,cAXpB;MAYI,KAAK,EAAEnB,KAZX;MAaI,KAAK,EAAE,CAACI,aAAD,EAAgBO,WAAhB,EAA6BV,KAA7B,CAbX;MAcI,UAAU,EAAEqB,OAAO,CAAC,sBAAD,CAdvB;MAeI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD,CAf9B;MAgBI,iBAAiB,EAAEA,OAAO,CAAC,2BAAD;IAhB9B,GAiBQpB,UAjBR;EAFJ;AAsBH,CAtDc,CAAf"}
@@ -1,5 +1,5 @@
1
1
  import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
2
- import { View } from 'react-native';
2
+ import { StyleSheet, View } from 'react-native';
3
3
  import { css, useTheme } from '../styles';
4
4
  import { useSyncAnimatedValue } from '../hooks';
5
5
  import TabIndicator from './TabIndicator';
@@ -16,14 +16,16 @@ import useTabsStyle from './useTabsStyle';
16
16
  const useStyles = function () {
17
17
  const theme = useTheme();
18
18
  return {
19
- root: {},
19
+ root: {
20
+ position: 'relative'
21
+ },
20
22
  fixedRoot: {
21
23
  flexDirection: 'row'
22
24
  },
23
25
  fixedTab: {
24
26
  flex: 1
25
27
  },
26
- bottomDivider: {
28
+ borderContainer: { ...StyleSheet.absoluteFillObject,
27
29
  borderBottomColor: theme.palette.border.base,
28
30
  borderBottomWidth: 0.5
29
31
  }
@@ -187,7 +189,7 @@ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
187
189
  }, /*#__PURE__*/React.createElement(View, {
188
190
  style: css([styles.root, containerStyle, {
189
191
  backgroundColor: backgroundColorMap[color]
190
- }, showDivider ? styles.bottomDivider : undefined, scrollable ? undefined : styles.fixedRoot, style])
192
+ }, scrollable ? undefined : styles.fixedRoot, style])
191
193
  }, scrollable ? /*#__PURE__*/React.createElement(ScrollableTabsView, {
192
194
  automaticallyAdjustContentInsets: false,
193
195
  bounces: false,
@@ -201,7 +203,10 @@ const Tabs = /*#__PURE__*/forwardRef(function Tabs(props, ref) {
201
203
  showsVerticalScrollIndicator: false,
202
204
  keyboardDismissMode: keyboardDismissMode,
203
205
  keyboardShouldPersistTaps: keyboardShouldPersistTaps
204
- }, tabElements, tabIndicator) : /*#__PURE__*/React.createElement(React.Fragment, null, tabElements, tabIndicator)));
206
+ }, tabElements, tabIndicator) : /*#__PURE__*/React.createElement(React.Fragment, null, tabElements, tabIndicator), showDivider ? /*#__PURE__*/React.createElement(View, {
207
+ pointerEvents: 'none',
208
+ style: styles.borderContainer
209
+ }) : null));
205
210
  });
206
211
  export default Tabs;
207
212
  //# sourceMappingURL=Tabs.js.map
@@ -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","defaultCoordinate","useTabsStyle","useStyles","theme","root","fixedRoot","flexDirection","fixedTab","flex","bottomDivider","borderBottomColor","palette","border","base","borderBottomWidth","Tabs","props","ref","children","color","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","showDivider","size","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","initialValue","sharedIndex","realInitialIndex","currentIndexRef","container","containerStyle","contentContainer","contentContainerStyle","setTab","newIndex","currentIndex","current","animatedValue","setValue","styles","outerCoordinates","updateCoordinate","innerContentsWidthList","updateInnerContentsWidth","canRenderIndicator","indexStore","coordinates","length","map","innerContentWidth","idx","outerCoordinate","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","subscribe","tabElements","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabStyle","tabElement","enableIndicator","parentColor","undefined","filter","Boolean","tabIndicator","backgroundColorMap","default","background","alt","backgroundColor"],"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 { TabSize, TabVariant } from '../Tab';\nimport type TabsProps from './TabsProps';\nimport type { TabsColor } 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';\nimport { defaultCoordinate } from './TabCoordinate';\nimport useTabsStyle from './useTabsStyle';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\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 bottomDivider: {\n borderBottomColor: theme.palette.border.base,\n borderBottomWidth: 0.5,\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n color = 'default',\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 size = 'medium' as TabSize,\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 {\n container: containerStyle,\n contentContainer: contentContainerStyle,\n } = useTabsStyle(variant, size, scrollable);\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 theme = useTheme();\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 (outerCoordinates.length === 0) {\n return [];\n }\n\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const outerCoordinate = outerCoordinates[idx];\n if (!outerCoordinate) {\n return defaultCoordinate;\n }\n\n const { x1: outerX1, x2: outerX2 } = outerCoordinate;\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]);\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 tabStyle = child.props.style;\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n parentColor: color,\n size,\n variant,\n indicatorSize,\n style: css([\n scrollable ? undefined : styles.fixedTab,\n tabStyle,\n ]),\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 const backgroundColorMap: Record<TabsColor, string> = {\n default: theme.palette.background.base,\n alt: theme.palette.background.alt,\n };\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n containerStyle,\n { backgroundColor: backgroundColorMap[color] },\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 contentContainerStyle,\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","StyleSheet","View","css","useTheme","useSyncAnimatedValue","TabIndicator","ScrollableTabsView","IndexAwareTab","useTabCoordinates","useTabInnerContentsWidth","useIndexStore","InternalContext","isEveryTabCoordinatesDefined","defaultCoordinate","useTabsStyle","useStyles","theme","root","position","fixedRoot","flexDirection","fixedTab","flex","borderContainer","absoluteFillObject","borderBottomColor","palette","border","base","borderBottomWidth","Tabs","props","ref","children","color","initialIndex","disableIndicator","indicatorSize","keyboardDismissMode","keyboardShouldPersistTaps","onChange","scrollable","scrollViewContentContainerStyle","showDivider","size","style","variant","UNSTABLE_sharedIndex","onTabSelected","fallbackSharedIndex","initialValue","sharedIndex","realInitialIndex","currentIndexRef","container","containerStyle","contentContainer","contentContainerStyle","setTab","newIndex","currentIndex","current","animatedValue","setValue","styles","outerCoordinates","updateCoordinate","innerContentsWidthList","updateInnerContentsWidth","canRenderIndicator","indexStore","coordinates","length","map","innerContentWidth","idx","outerCoordinate","x1","outerX1","x2","outerX2","tabWidth","distanceFromParent","indicatorStartCoordinate","subscribe","tabElements","Children","child","index","onTabInnerLayout","event","width","nativeEvent","layout","onLayout","x","onMouseDown","e","preventDefault","onPress","tabStyle","tabElement","enableIndicator","parentColor","undefined","filter","Boolean","tabIndicator","backgroundColorMap","default","background","alt","backgroundColor"],"sources":["Tabs.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport type { GestureResponderEvent, LayoutChangeEvent } from 'react-native';\nimport { StyleSheet, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport { useSyncAnimatedValue } from '../hooks';\nimport type { TabSize, TabVariant } from '../Tab';\nimport type TabsProps from './TabsProps';\nimport type { TabsColor } 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';\nimport { defaultCoordinate } from './TabCoordinate';\nimport useTabsStyle from './useTabsStyle';\n\ntype TabsStyleKeys =\n | 'root'\n | 'fixedRoot'\n | 'fixedTab'\n | 'borderContainer';\n\ntype TabsStyles = NamedStylesStringUnion<TabsStyleKeys>;\n\nconst useStyles: UseStyles<TabsStyles> = function (): TabsStyles {\n const theme = useTheme();\n\n return {\n root: {\n position: 'relative',\n },\n fixedRoot: {\n flexDirection: 'row',\n },\n fixedTab: {\n flex: 1,\n },\n borderContainer: {\n ...StyleSheet.absoluteFillObject,\n borderBottomColor: theme.palette.border.base,\n borderBottomWidth: 0.5,\n },\n };\n};\n\nconst Tabs = forwardRef<TabsInstance, TabsProps>(function Tabs(props, ref) {\n const {\n children,\n color = 'default',\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 size = 'medium' as TabSize,\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 {\n container: containerStyle,\n contentContainer: contentContainerStyle,\n } = useTabsStyle(variant, size, scrollable);\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 theme = useTheme();\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 (outerCoordinates.length === 0) {\n return [];\n }\n\n if (indicatorSize !== 'fit-content') {\n return outerCoordinates;\n }\n\n return innerContentsWidthList.map((innerContentWidth, idx) => {\n const outerCoordinate = outerCoordinates[idx];\n if (!outerCoordinate) {\n return defaultCoordinate;\n }\n\n const { x1: outerX1, x2: outerX2 } = outerCoordinate;\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]);\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 tabStyle = child.props.style;\n\n // @ts-ignore\n const tabElement = cloneElement(child, {\n enableIndicator: !disableIndicator && !canRenderIndicator,\n onTabInnerLayout,\n onLayout,\n onPress,\n onMouseDown,\n parentColor: color,\n size,\n variant,\n indicatorSize,\n style: css([\n scrollable ? undefined : styles.fixedTab,\n tabStyle,\n ]),\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 const backgroundColorMap: Record<TabsColor, string> = {\n default: theme.palette.background.base,\n alt: theme.palette.background.alt,\n };\n\n return (\n <InternalContext.Provider value={{ indexStore }}>\n <View\n style={css([\n styles.root,\n containerStyle,\n { backgroundColor: backgroundColorMap[color] },\n scrollable ? undefined : styles.fixedRoot,\n style,\n ])}\n >\n {scrollable ? (\n <ScrollableTabsView\n automaticallyAdjustContentInsets={false}\n bounces={false}\n contentContainerStyle={css([\n contentContainerStyle,\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\n {showDivider ? (\n <View\n pointerEvents={'none'}\n style={styles.borderContainer}\n />\n ) : null}\n </View>\n </InternalContext.Provider>\n );\n});\n\nexport default Tabs;\n"],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import type AccordionProps from './AccordionProps';
3
2
  export default function Accordion(props: AccordionProps): JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import type AspectRatioProps from './AspectRatioProps';
3
2
  export default function AspectRatio(props: AspectRatioProps): JSX.Element | null;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import type AspectRatioProps from './AspectRatioProps';
3
2
  export default function AspectRatio(props: AspectRatioProps): JSX.Element | null;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import type AvatarProps from './AvatarProps';
3
2
  export default function Avatar(props: AvatarProps): JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import type BadgeProps from './BadgeProps';
3
2
  export default function Badge(props: BadgeProps): JSX.Element;