@fountain-ui/core 1.18.0 → 2.0.0-beta.1

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 (164) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/commonjs/Accordion/Accordion.js +1 -7
  3. package/build/commonjs/Accordion/Accordion.js.map +1 -1
  4. package/build/commonjs/Button/Button.js +14 -8
  5. package/build/commonjs/Button/Button.js.map +1 -1
  6. package/build/commonjs/Checkbox/Checkbox.js +7 -2
  7. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  8. package/build/commonjs/Chip/Chip.js +9 -8
  9. package/build/commonjs/Chip/Chip.js.map +1 -1
  10. package/build/commonjs/Fab/Fab.js +10 -3
  11. package/build/commonjs/Fab/Fab.js.map +1 -1
  12. package/build/commonjs/IconButton/IconButton.js +13 -3
  13. package/build/commonjs/IconButton/IconButton.js.map +1 -1
  14. package/build/commonjs/Image/Image.js +13 -1
  15. package/build/commonjs/Image/Image.js.map +1 -1
  16. package/build/commonjs/Pagination/Pagination.js +2 -2
  17. package/build/commonjs/Pagination/Pagination.js.map +1 -1
  18. package/build/commonjs/Radio/Radio.js +12 -11
  19. package/build/commonjs/Radio/Radio.js.map +1 -1
  20. package/build/commonjs/SvgIcon/SvgIcon.js +6 -2
  21. package/build/commonjs/SvgIcon/SvgIcon.js.map +1 -1
  22. package/build/commonjs/Switch/Switch.js +1 -1
  23. package/build/commonjs/Switch/Switch.js.map +1 -1
  24. package/build/commonjs/TextField/InputLabel.js +5 -2
  25. package/build/commonjs/TextField/InputLabel.js.map +1 -1
  26. package/build/commonjs/TextField/OutlinedTextField.js +2 -1
  27. package/build/commonjs/TextField/OutlinedTextField.js.map +1 -1
  28. package/build/commonjs/hooks/useFadeInAppBar.js +5 -2
  29. package/build/commonjs/hooks/useFadeInAppBar.js.map +1 -1
  30. package/build/commonjs/internal/icons/Checkbox.js +1 -2
  31. package/build/commonjs/internal/icons/Checkbox.js.map +1 -1
  32. package/build/commonjs/internal/icons/CheckboxChecked.js +3 -2
  33. package/build/commonjs/internal/icons/CheckboxChecked.js.map +1 -1
  34. package/build/commonjs/internal/icons/ChevronDown.js +0 -2
  35. package/build/commonjs/internal/icons/ChevronDown.js.map +1 -1
  36. package/build/commonjs/internal/icons/ChevronLeft.js +21 -0
  37. package/build/commonjs/internal/icons/ChevronLeft.js.map +1 -0
  38. package/build/commonjs/internal/icons/ChevronRight.js +21 -0
  39. package/build/commonjs/internal/icons/ChevronRight.js.map +1 -0
  40. package/build/commonjs/internal/icons/Close.js +0 -2
  41. package/build/commonjs/internal/icons/Close.js.map +1 -1
  42. package/build/commonjs/internal/icons/Radio.js.map +1 -1
  43. package/build/commonjs/internal/icons/RadioChecked.js.map +1 -1
  44. package/build/commonjs/internal/icons/index.js +16 -0
  45. package/build/commonjs/internal/icons/index.js.map +1 -1
  46. package/build/commonjs/styles/index.js +0 -8
  47. package/build/commonjs/styles/index.js.map +1 -1
  48. package/build/commonjs/utils/cloneElementSafely.js +15 -0
  49. package/build/commonjs/utils/cloneElementSafely.js.map +1 -0
  50. package/build/commonjs/utils/index.js +8 -0
  51. package/build/commonjs/utils/index.js.map +1 -1
  52. package/build/module/Accordion/Accordion.js +1 -7
  53. package/build/module/Accordion/Accordion.js.map +1 -1
  54. package/build/module/Button/Button.js +13 -9
  55. package/build/module/Button/Button.js.map +1 -1
  56. package/build/module/Checkbox/Checkbox.js +7 -2
  57. package/build/module/Checkbox/Checkbox.js.map +1 -1
  58. package/build/module/Chip/Chip.js +9 -9
  59. package/build/module/Chip/Chip.js.map +1 -1
  60. package/build/module/Fab/Fab.js +10 -4
  61. package/build/module/Fab/Fab.js.map +1 -1
  62. package/build/module/IconButton/IconButton.js +12 -4
  63. package/build/module/IconButton/IconButton.js.map +1 -1
  64. package/build/module/Image/Image.js +13 -1
  65. package/build/module/Image/Image.js.map +1 -1
  66. package/build/module/Pagination/Pagination.js +1 -1
  67. package/build/module/Pagination/Pagination.js.map +1 -1
  68. package/build/module/Radio/Radio.js +11 -11
  69. package/build/module/Radio/Radio.js.map +1 -1
  70. package/build/module/SvgIcon/SvgIcon.js +7 -3
  71. package/build/module/SvgIcon/SvgIcon.js.map +1 -1
  72. package/build/module/Switch/Switch.js +1 -1
  73. package/build/module/Switch/Switch.js.map +1 -1
  74. package/build/module/TextField/InputLabel.js +4 -2
  75. package/build/module/TextField/InputLabel.js.map +1 -1
  76. package/build/module/TextField/OutlinedTextField.js +2 -1
  77. package/build/module/TextField/OutlinedTextField.js.map +1 -1
  78. package/build/module/hooks/useFadeInAppBar.js +3 -2
  79. package/build/module/hooks/useFadeInAppBar.js.map +1 -1
  80. package/build/module/internal/icons/Checkbox.js +1 -2
  81. package/build/module/internal/icons/Checkbox.js.map +1 -1
  82. package/build/module/internal/icons/CheckboxChecked.js +3 -2
  83. package/build/module/internal/icons/CheckboxChecked.js.map +1 -1
  84. package/build/module/internal/icons/ChevronDown.js +0 -2
  85. package/build/module/internal/icons/ChevronDown.js.map +1 -1
  86. package/build/module/internal/icons/ChevronLeft.js +7 -0
  87. package/build/module/internal/icons/ChevronLeft.js.map +1 -0
  88. package/build/module/internal/icons/ChevronRight.js +7 -0
  89. package/build/module/internal/icons/ChevronRight.js.map +1 -0
  90. package/build/module/internal/icons/Close.js +0 -2
  91. package/build/module/internal/icons/Close.js.map +1 -1
  92. package/build/module/internal/icons/Radio.js.map +1 -1
  93. package/build/module/internal/icons/RadioChecked.js.map +1 -1
  94. package/build/module/internal/icons/index.js +2 -0
  95. package/build/module/internal/icons/index.js.map +1 -1
  96. package/build/module/styles/index.js +0 -1
  97. package/build/module/styles/index.js.map +1 -1
  98. package/build/module/utils/cloneElementSafely.js +6 -0
  99. package/build/module/utils/cloneElementSafely.js.map +1 -0
  100. package/build/module/utils/index.js +1 -0
  101. package/build/module/utils/index.js.map +1 -1
  102. package/build/typescript/Button/ButtonProps.d.ts +2 -2
  103. package/build/typescript/Checkbox/CheckboxProps.d.ts +7 -1
  104. package/build/typescript/Fab/FabProps.d.ts +2 -2
  105. package/build/typescript/IconButton/IconButtonProps.d.ts +2 -2
  106. package/build/typescript/Image/ImageProps.d.ts +8 -0
  107. package/build/typescript/Slider/Slider.d.ts +1 -1
  108. package/build/typescript/SvgIcon/SvgIconProps.d.ts +7 -6
  109. package/build/typescript/Switch/SwitchProps.d.ts +2 -2
  110. package/build/typescript/hooks/useFadeInAppBar.d.ts +0 -1
  111. package/build/typescript/internal/icons/Checkbox.d.ts +19 -18
  112. package/build/typescript/internal/icons/CheckboxChecked.d.ts +19 -18
  113. package/build/typescript/internal/icons/ChevronDown.d.ts +19 -18
  114. package/build/typescript/internal/icons/ChevronLeft.d.ts +114 -0
  115. package/build/typescript/internal/icons/ChevronRight.d.ts +114 -0
  116. package/build/typescript/internal/icons/Close.d.ts +19 -18
  117. package/build/typescript/internal/icons/Radio.d.ts +19 -18
  118. package/build/typescript/internal/icons/RadioChecked.d.ts +19 -18
  119. package/build/typescript/internal/icons/index.d.ts +2 -0
  120. package/build/typescript/styles/index.d.ts +0 -1
  121. package/build/typescript/types/index.d.ts +1 -0
  122. package/build/typescript/utils/cloneElementSafely.d.ts +4 -0
  123. package/build/typescript/utils/index.d.ts +1 -0
  124. package/package.json +4 -4
  125. package/src/Accordion/Accordion.tsx +1 -4
  126. package/src/Button/Button.tsx +18 -3
  127. package/src/Button/ButtonProps.ts +2 -7
  128. package/src/Checkbox/Checkbox.tsx +3 -2
  129. package/src/Checkbox/CheckboxProps.ts +9 -1
  130. package/src/Chip/Chip.tsx +10 -3
  131. package/src/Fab/Fab.tsx +14 -4
  132. package/src/Fab/FabProps.ts +2 -8
  133. package/src/IconButton/IconButton.tsx +16 -4
  134. package/src/IconButton/IconButtonProps.ts +2 -7
  135. package/src/Image/Image.tsx +12 -1
  136. package/src/Image/ImageProps.ts +10 -0
  137. package/src/Pagination/Pagination.tsx +1 -1
  138. package/src/Radio/Radio.tsx +7 -15
  139. package/src/SvgIcon/SvgIcon.tsx +11 -5
  140. package/src/SvgIcon/SvgIconProps.ts +8 -6
  141. package/src/Switch/Switch.tsx +1 -1
  142. package/src/Switch/SwitchProps.ts +2 -8
  143. package/src/TextField/InputLabel.tsx +6 -3
  144. package/src/TextField/OutlinedTextField.tsx +2 -1
  145. package/src/hooks/useFadeInAppBar.ts +4 -3
  146. package/src/internal/icons/Checkbox.tsx +3 -3
  147. package/src/internal/icons/CheckboxChecked.tsx +5 -3
  148. package/src/internal/icons/ChevronDown.tsx +3 -4
  149. package/src/internal/icons/ChevronLeft.tsx +10 -0
  150. package/src/internal/icons/ChevronRight.tsx +10 -0
  151. package/src/internal/icons/Close.tsx +3 -4
  152. package/src/internal/icons/Radio.tsx +4 -2
  153. package/src/internal/icons/RadioChecked.tsx +4 -2
  154. package/src/internal/icons/index.ts +2 -0
  155. package/src/styles/index.ts +0 -1
  156. package/src/types/index.ts +7 -0
  157. package/src/utils/cloneElementSafely.ts +9 -0
  158. package/src/utils/index.ts +1 -0
  159. package/build/commonjs/styles/cloneSvgIcon.js +0 -37
  160. package/build/commonjs/styles/cloneSvgIcon.js.map +0 -1
  161. package/build/module/styles/cloneSvgIcon.js +0 -25
  162. package/build/module/styles/cloneSvgIcon.js.map +0 -1
  163. package/build/typescript/styles/cloneSvgIcon.d.ts +0 -12
  164. package/src/styles/cloneSvgIcon.ts +0 -39
@@ -1 +1 @@
1
- {"version":3,"sources":["SvgIcon.tsx"],"names":["React","Svg","css","SvgIcon","props","fill","height","style","styleProp","viewBox","width","otherProps","flexShrink"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,kBAAhB;AACA,SAASC,GAAT,QAAoB,WAApB;AAGA,eAAe,SAASC,OAAT,CAAiBC,KAAjB,EAAsC;AACjD,QAAM;AACFC,IAAAA,IAAI,GAAG,MADL;AAEFC,IAAAA,MAAM,GAAG,EAFP;AAGFC,IAAAA,KAAK,EAAEC,SAHL;AAIFC,IAAAA,OAAO,GAAG,WAJR;AAKFC,IAAAA,KAAK,GAAG,EALN;AAMF,OAAGC;AAND,MAOYP,KAPlB;AASA,QAAMG,KAAK,GAAGL,GAAG,CAAC,CACd;AAAEU,IAAAA,UAAU,EAAG;AAAf,GADc,EAEdJ,SAFc,CAAD,CAAjB;AAKA,sBACI,oBAAC,GAAD;AACI,IAAA,IAAI,EAAEH,IADV;AAEI,IAAA,MAAM,EAAEC,MAFZ;AAGI,IAAA,KAAK,EAAEC,KAHX;AAII,IAAA,OAAO,EAAEE,OAJb;AAKI,IAAA,KAAK,EAAEC;AALX,KAMQC,UANR,EADJ;AAUH;AAAA","sourcesContent":["import React from 'react';\nimport Svg from 'react-native-svg';\nimport { css } from '../styles';\nimport type SvgIconProps from './SvgIconProps';\n\nexport default function SvgIcon(props: SvgIconProps) {\n const {\n fill = '#000',\n height = 24,\n style: styleProp,\n viewBox = '0 0 20 20',\n width = 24,\n ...otherProps\n }: SvgIconProps = props;\n\n const style = css([\n { flexShrink : 0 },\n styleProp,\n ]);\n\n return (\n <Svg\n fill={fill}\n height={height}\n style={style}\n viewBox={viewBox}\n width={width}\n {...otherProps}\n />\n );\n};"]}
1
+ {"version":3,"sources":["SvgIcon.tsx"],"names":["React","Svg","css","useTheme","SvgIcon","props","color","colorProp","colorValue","height","style","styleProp","viewBox","width","otherProps","theme","palette","main","flexShrink"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,kBAAhB;AACA,SAASC,GAAT,EAAcC,QAAd,QAA8B,WAA9B;AAGA,eAAe,SAASC,OAAT,CAAiBC,KAAjB,EAAsC;AACjD,QAAM;AACFC,IAAAA,KAAK,EAAEC,SAAS,GAAG,SADjB;AAEFC,IAAAA,UAFE;AAGFC,IAAAA,MAAM,GAAG,EAHP;AAIFC,IAAAA,KAAK,EAAEC,SAJL;AAKFC,IAAAA,OAAO,GAAG,WALR;AAMFC,IAAAA,KAAK,GAAG,EANN;AAOF,OAAGC;AAPD,MAQYT,KARlB;AAUA,QAAMU,KAAK,GAAGZ,QAAQ,EAAtB;AAEA,QAAMG,KAAK,GAAGE,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiBO,KAAK,CAACC,OAAN,CAAcT,SAAd,EAAyBU,IAArD;AAEA,QAAMP,KAAK,GAAGR,GAAG,CAAC,CACd;AAAEgB,IAAAA,UAAU,EAAE;AAAd,GADc,EAEdP,SAFc,CAAD,CAAjB;AAKA,sBACI,oBAAC,GAAD;AACI,IAAA,KAAK,EAAEL,KADX;AAEI,IAAA,IAAI,EAAE,cAFV;AAGI,IAAA,MAAM,EAAEG,MAHZ;AAII,IAAA,KAAK,EAAEC,KAJX;AAKI,IAAA,OAAO,EAAEE,OALb;AAMI,IAAA,KAAK,EAAEC;AANX,KAOQC,UAPR,EADJ;AAWH;AAAA","sourcesContent":["import React from 'react';\nimport Svg from 'react-native-svg';\nimport { css, useTheme } from '../styles';\nimport type SvgIconProps from './SvgIconProps';\n\nexport default function SvgIcon(props: SvgIconProps) {\n const {\n color: colorProp = 'primary',\n colorValue,\n height = 24,\n style: styleProp,\n viewBox = '0 0 20 20',\n width = 24,\n ...otherProps\n }: SvgIconProps = props;\n\n const theme = useTheme();\n\n const color = colorValue ?? theme.palette[colorProp].main;\n\n const style = css([\n { flexShrink: 0 },\n styleProp,\n ]);\n\n return (\n <Svg\n color={color}\n fill={'currentColor'}\n height={height}\n style={style}\n viewBox={viewBox}\n width={width}\n {...otherProps}\n />\n );\n};\n"]}
@@ -16,7 +16,7 @@ export default function Switch(props) {
16
16
  const accentColor = theme.palette[colorProp].main;
17
17
  const disabledColor = theme.palette.tertiary.main;
18
18
  const notActiveTrackColor = theme.palette.tertiary.main;
19
- const thumbColor = Platform.OS === 'ios' ? undefined : disabled ? disabledColor : theme.palette.background.default;
19
+ const thumbColor = Platform.OS === 'ios' ? undefined : disabled ? disabledColor : '#fff';
20
20
  const trackColor = Platform.OS === 'ios' ? accentColor : disabled ? disabledColor : accentColor;
21
21
  const style = css([{
22
22
  opacity: disabled ? 0.3 : 1
@@ -1 +1 @@
1
- {"version":3,"sources":["Switch.tsx"],"names":["React","Platform","Switch","RNSwitch","css","useTheme","props","checked","color","colorProp","disabled","onChange","style","styleProp","otherProps","theme","accentColor","palette","main","disabledColor","tertiary","notActiveTrackColor","thumbColor","OS","undefined","background","default","trackColor","opacity","true","false"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,EAAmBC,MAAM,IAAIC,QAA7B,QAA6C,cAA7C;AACA,SAASC,GAAT,EAAcC,QAAd,QAA8B,WAA9B;AAGA,eAAe,SAASH,MAAT,CAAgBI,KAAhB,EAAoC;AAC/C,QAAM;AACFC,IAAAA,OAAO,GAAG,KADR;AAEFC,IAAAA,KAAK,EAAEC,SAAS,GAAG,WAFjB;AAGFC,IAAAA,QAAQ,GAAG,KAHT;AAIFC,IAAAA,QAJE;AAKFC,IAAAA,KAAK,EAAEC,SALL;AAMF,OAAGC;AAND,MAOFR,KAPJ;AASA,QAAMS,KAAK,GAAGV,QAAQ,EAAtB;AAEA,QAAMW,WAAW,GAAGD,KAAK,CAACE,OAAN,CAAcR,SAAd,EAAyBS,IAA7C;AACA,QAAMC,aAAa,GAAGJ,KAAK,CAACE,OAAN,CAAcG,QAAd,CAAuBF,IAA7C;AACA,QAAMG,mBAAmB,GAAGN,KAAK,CAACE,OAAN,CAAcG,QAAd,CAAuBF,IAAnD;AAEA,QAAMI,UAAU,GAAGrB,QAAQ,CAACsB,EAAT,KAAgB,KAAhB,GACbC,SADa,GAEbd,QAAQ,GACJS,aADI,GAEJJ,KAAK,CAACE,OAAN,CAAcQ,UAAd,CAAyBC,OAJnC;AAMA,QAAMC,UAAU,GAAG1B,QAAQ,CAACsB,EAAT,KAAgB,KAAhB,GACbP,WADa,GAEbN,QAAQ,GAAGS,aAAH,GAAmBH,WAFjC;AAIA,QAAMJ,KAAK,GAAGR,GAAG,CAAC,CACd;AAAEwB,IAAAA,OAAO,EAAElB,QAAQ,GAAG,GAAH,GAAS;AAA5B,GADc,EAEdG,SAFc,CAAD,CAAjB;AAKA,sBACI,oBAAC,QAAD;AACI,IAAA,KAAK,EAAEN,OADX;AAEI,IAAA,QAAQ,EAAEG,QAFd;AAGI,IAAA,UAAU,EAAEY,UAHhB;AAII,IAAA,aAAa,EAAEZ,QAAQ,GAAGc,SAAH,GAAeb,QAJ1C,CAKI;AALJ;AAMI,IAAA,gBAAgB,EAAEgB,UANtB;AAOI,IAAA,gBAAgB,EAAEL,UAPtB;AAQI,IAAA,UAAU,EAAE;AACRO,MAAAA,IAAI,EAAEF,UADE;AAERG,MAAAA,KAAK,EAAET;AAFC,KARhB;AAYI,IAAA,KAAK,EAAET;AAZX,KAaQE,UAbR,EADJ;AAiBH;AAAA","sourcesContent":["import React from 'react';\nimport { Platform, Switch as RNSwitch } from 'react-native';\nimport { css, useTheme } from '../styles';\nimport type SwitchProps from './SwitchProps';\n\nexport default function Switch(props: SwitchProps) {\n const {\n checked = false,\n color: colorProp = 'secondary',\n disabled = false,\n onChange,\n style: styleProp,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const accentColor = theme.palette[colorProp].main;\n const disabledColor = theme.palette.tertiary.main;\n const notActiveTrackColor = theme.palette.tertiary.main;\n\n const thumbColor = Platform.OS === 'ios'\n ? undefined\n : disabled\n ? disabledColor\n : theme.palette.background.default;\n\n const trackColor = Platform.OS === 'ios'\n ? accentColor\n : disabled ? disabledColor : accentColor;\n\n const style = css([\n { opacity: disabled ? 0.3 : 1 },\n styleProp,\n ]);\n\n return (\n <RNSwitch\n value={checked}\n disabled={disabled}\n thumbColor={thumbColor}\n onValueChange={disabled ? undefined : onChange}\n //@ts-ignore\n activeTrackColor={trackColor}\n activeThumbColor={thumbColor}\n trackColor={{\n true: trackColor,\n false: notActiveTrackColor,\n }}\n style={style}\n {...otherProps}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["Switch.tsx"],"names":["React","Platform","Switch","RNSwitch","css","useTheme","props","checked","color","colorProp","disabled","onChange","style","styleProp","otherProps","theme","accentColor","palette","main","disabledColor","tertiary","notActiveTrackColor","thumbColor","OS","undefined","trackColor","opacity","true","false"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,EAAmBC,MAAM,IAAIC,QAA7B,QAA6C,cAA7C;AACA,SAASC,GAAT,EAAcC,QAAd,QAA8B,WAA9B;AAGA,eAAe,SAASH,MAAT,CAAgBI,KAAhB,EAAoC;AAC/C,QAAM;AACFC,IAAAA,OAAO,GAAG,KADR;AAEFC,IAAAA,KAAK,EAAEC,SAAS,GAAG,WAFjB;AAGFC,IAAAA,QAAQ,GAAG,KAHT;AAIFC,IAAAA,QAJE;AAKFC,IAAAA,KAAK,EAAEC,SALL;AAMF,OAAGC;AAND,MAOFR,KAPJ;AASA,QAAMS,KAAK,GAAGV,QAAQ,EAAtB;AAEA,QAAMW,WAAW,GAAGD,KAAK,CAACE,OAAN,CAAcR,SAAd,EAAyBS,IAA7C;AACA,QAAMC,aAAa,GAAGJ,KAAK,CAACE,OAAN,CAAcG,QAAd,CAAuBF,IAA7C;AACA,QAAMG,mBAAmB,GAAGN,KAAK,CAACE,OAAN,CAAcG,QAAd,CAAuBF,IAAnD;AAEA,QAAMI,UAAU,GAAGrB,QAAQ,CAACsB,EAAT,KAAgB,KAAhB,GACbC,SADa,GAEbd,QAAQ,GACJS,aADI,GAEJ,MAJV;AAMA,QAAMM,UAAU,GAAGxB,QAAQ,CAACsB,EAAT,KAAgB,KAAhB,GACbP,WADa,GAEbN,QAAQ,GAAGS,aAAH,GAAmBH,WAFjC;AAIA,QAAMJ,KAAK,GAAGR,GAAG,CAAC,CACd;AAAEsB,IAAAA,OAAO,EAAEhB,QAAQ,GAAG,GAAH,GAAS;AAA5B,GADc,EAEdG,SAFc,CAAD,CAAjB;AAKA,sBACI,oBAAC,QAAD;AACI,IAAA,KAAK,EAAEN,OADX;AAEI,IAAA,QAAQ,EAAEG,QAFd;AAGI,IAAA,UAAU,EAAEY,UAHhB;AAII,IAAA,aAAa,EAAEZ,QAAQ,GAAGc,SAAH,GAAeb,QAJ1C,CAKI;AALJ;AAMI,IAAA,gBAAgB,EAAEc,UANtB;AAOI,IAAA,gBAAgB,EAAEH,UAPtB;AAQI,IAAA,UAAU,EAAE;AACRK,MAAAA,IAAI,EAAEF,UADE;AAERG,MAAAA,KAAK,EAAEP;AAFC,KARhB;AAYI,IAAA,KAAK,EAAET;AAZX,KAaQE,UAbR,EADJ;AAiBH;AAAA","sourcesContent":["import React from 'react';\nimport { Platform, Switch as RNSwitch } from 'react-native';\nimport { css, useTheme } from '../styles';\nimport type SwitchProps from './SwitchProps';\n\nexport default function Switch(props: SwitchProps) {\n const {\n checked = false,\n color: colorProp = 'secondary',\n disabled = false,\n onChange,\n style: styleProp,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const accentColor = theme.palette[colorProp].main;\n const disabledColor = theme.palette.tertiary.main;\n const notActiveTrackColor = theme.palette.tertiary.main;\n\n const thumbColor = Platform.OS === 'ios'\n ? undefined\n : disabled\n ? disabledColor\n : '#fff';\n\n const trackColor = Platform.OS === 'ios'\n ? accentColor\n : disabled ? disabledColor : accentColor;\n\n const style = css([\n { opacity: disabled ? 0.3 : 1 },\n styleProp,\n ]);\n\n return (\n <RNSwitch\n value={checked}\n disabled={disabled}\n thumbColor={thumbColor}\n onValueChange={disabled ? undefined : onChange}\n //@ts-ignore\n activeTrackColor={trackColor}\n activeThumbColor={thumbColor}\n trackColor={{\n true: trackColor,\n false: notActiveTrackColor,\n }}\n style={style}\n {...otherProps}\n />\n );\n};\n"]}
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
2
  import { Animated, StyleSheet } from 'react-native';
3
+ import { useTheme } from '../styles';
3
4
  import { inputPaddingHorizontal } from './utils';
4
5
 
5
6
  const useStyles = function () {
7
+ const theme = useTheme();
6
8
  return {
7
9
  background: {
8
10
  position: 'absolute',
@@ -12,14 +14,14 @@ const useStyles = function () {
12
14
  right: 0,
13
15
  width: 8,
14
16
  height: 2,
15
- backgroundColor: '#fff'
17
+ backgroundColor: theme.palette.background.default
16
18
  },
17
19
  backgroundText: {
18
20
  position: 'absolute',
19
21
  left: 18,
20
22
  paddingHorizontal: 0,
21
23
  color: 'transparent',
22
- backgroundColor: '#fff'
24
+ backgroundColor: theme.palette.background.default
23
25
  },
24
26
  placeholder: {
25
27
  position: 'absolute',
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLabel.tsx"],"names":["React","Animated","StyleSheet","inputPaddingHorizontal","useStyles","background","position","top","left","bottom","right","width","height","backgroundColor","backgroundText","paddingHorizontal","color","placeholder","InputLabel","props","activeColor","animatedError","animatedLabel","error","errorColor","focused","fontSize","hasActiveOutline","label","labelLayout","labelScale","labelTranslateX","labelTranslateY","onLayoutAnimatedText","paddingOffset","placeholderColor","placeholderOpacity","topPosition","value","styles","hasFocus","opacity","interpolate","inputRange","outputRange","labelTranslationX","transform","translateX","labelStyle","translateY","scale","absoluteFill","measured","scaleY","textAlign"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, StyleSheet } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { inputPaddingHorizontal } from './utils';\n\ninterface LabelProps {\n activeColor: string;\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n error?: boolean;\n errorColor?: string;\n focused?: boolean;\n fontSize?: number;\n hasActiveOutline?: boolean;\n label?: string;\n labelLayout: { measured: boolean; width: number; height: number };\n labelScale: number;\n labelTranslateX: number;\n labelTranslateY: number;\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n paddingOffset?: { paddingLeft: number; paddingRight: number };\n placeholder?: string;\n placeholderColor?: string;\n placeholderOpacity: number | Animated.AnimatedInterpolation;\n topPosition: number;\n value?: string;\n}\n\ntype InputLabelStyles = NamedStylesStringUnion<'background' | 'backgroundText' | 'placeholder'>;\n\nconst useStyles: UseStyles<InputLabelStyles> = function (): InputLabelStyles {\n return {\n background: {\n position: 'absolute',\n top: 6,\n left: 10,\n bottom: 0,\n right: 0,\n width: 8,\n height: 2,\n backgroundColor: '#fff',\n },\n backgroundText: {\n position: 'absolute',\n left: 18,\n paddingHorizontal: 0,\n color: 'transparent',\n backgroundColor: '#fff',\n },\n placeholder: {\n position: 'absolute',\n left: 0,\n paddingHorizontal: inputPaddingHorizontal,\n },\n };\n};\n\nconst InputLabel = (props: LabelProps) => {\n const {\n activeColor,\n animatedError,\n animatedLabel,\n error = false,\n errorColor,\n focused,\n fontSize,\n hasActiveOutline,\n label,\n labelLayout,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n paddingOffset,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n value,\n } = props;\n\n const styles = useStyles();\n\n const hasFocus = hasActiveOutline || value;\n const opacity = animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasFocus ? 1 : 0, 0],\n });\n\n const labelTranslationX = {\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateX, 0 || 0],\n }),\n },\n ],\n };\n\n const labelStyle = {\n fontSize,\n transform: [\n {\n translateX: animatedError.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, value && error ? 4 : 0, 0],\n }),\n },\n {\n translateY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateY, 0],\n }),\n },\n {\n scale: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelScale, 1],\n }),\n },\n ],\n };\n\n return (label ? (\n <Animated.View\n pointerEvents={'none'}\n style={[\n StyleSheet.absoluteFill,\n {\n opacity: value || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n labelTranslationX,\n ]}\n >\n {[\n <Animated.View\n key={'labelBackground-view'}\n pointerEvents={'none'}\n style={[\n styles.background,\n {\n opacity,\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [-labelTranslateX, 0],\n }),\n },\n ],\n },\n ]}\n />,\n <Animated.Text\n key={'labelBackground-text'}\n style={[\n styles.placeholder,\n styles.backgroundText,\n labelStyle,\n {\n top: topPosition + 1,\n opacity,\n transform: [\n ...labelStyle.transform,\n {\n scaleY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [0.2, 1],\n }),\n },\n ],\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>,\n ]}\n <Animated.Text\n onLayout={onLayoutAnimatedText}\n style={[\n styles.placeholder,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : activeColor,\n opacity: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n <Animated.Text\n style={[\n styles.placeholder,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : placeholderColor,\n opacity: placeholderOpacity,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n </Animated.View>\n ) : null);\n};\n\nexport default InputLabel;"]}
1
+ {"version":3,"sources":["InputLabel.tsx"],"names":["React","Animated","StyleSheet","useTheme","inputPaddingHorizontal","useStyles","theme","background","position","top","left","bottom","right","width","height","backgroundColor","palette","default","backgroundText","paddingHorizontal","color","placeholder","InputLabel","props","activeColor","animatedError","animatedLabel","error","errorColor","focused","fontSize","hasActiveOutline","label","labelLayout","labelScale","labelTranslateX","labelTranslateY","onLayoutAnimatedText","paddingOffset","placeholderColor","placeholderOpacity","topPosition","value","styles","hasFocus","opacity","interpolate","inputRange","outputRange","labelTranslationX","transform","translateX","labelStyle","translateY","scale","absoluteFill","measured","scaleY","textAlign"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, StyleSheet } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport { inputPaddingHorizontal } from './utils';\n\ninterface LabelProps {\n activeColor: string;\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n error?: boolean;\n errorColor?: string;\n focused?: boolean;\n fontSize?: number;\n hasActiveOutline?: boolean;\n label?: string;\n labelLayout: { measured: boolean; width: number; height: number };\n labelScale: number;\n labelTranslateX: number;\n labelTranslateY: number;\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n paddingOffset?: { paddingLeft: number; paddingRight: number };\n placeholder?: string;\n placeholderColor?: string;\n placeholderOpacity: number | Animated.AnimatedInterpolation;\n topPosition: number;\n value?: string;\n}\n\ntype InputLabelStyles = NamedStylesStringUnion<'background' | 'backgroundText' | 'placeholder'>;\n\nconst useStyles: UseStyles<InputLabelStyles> = function (): InputLabelStyles {\n const theme = useTheme();\n\n return {\n background: {\n position: 'absolute',\n top: 6,\n left: 10,\n bottom: 0,\n right: 0,\n width: 8,\n height: 2,\n backgroundColor: theme.palette.background.default,\n },\n backgroundText: {\n position: 'absolute',\n left: 18,\n paddingHorizontal: 0,\n color: 'transparent',\n backgroundColor: theme.palette.background.default,\n },\n placeholder: {\n position: 'absolute',\n left: 0,\n paddingHorizontal: inputPaddingHorizontal,\n },\n };\n};\n\nconst InputLabel = (props: LabelProps) => {\n const {\n activeColor,\n animatedError,\n animatedLabel,\n error = false,\n errorColor,\n focused,\n fontSize,\n hasActiveOutline,\n label,\n labelLayout,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n paddingOffset,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n value,\n } = props;\n\n const styles = useStyles();\n\n const hasFocus = hasActiveOutline || value;\n const opacity = animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasFocus ? 1 : 0, 0],\n });\n\n const labelTranslationX = {\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateX, 0 || 0],\n }),\n },\n ],\n };\n\n const labelStyle = {\n fontSize,\n transform: [\n {\n translateX: animatedError.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, value && error ? 4 : 0, 0],\n }),\n },\n {\n translateY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateY, 0],\n }),\n },\n {\n scale: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelScale, 1],\n }),\n },\n ],\n };\n\n return (label ? (\n <Animated.View\n pointerEvents={'none'}\n style={[\n StyleSheet.absoluteFill,\n {\n opacity: value || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n labelTranslationX,\n ]}\n >\n {[\n <Animated.View\n key={'labelBackground-view'}\n pointerEvents={'none'}\n style={[\n styles.background,\n {\n opacity,\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [-labelTranslateX, 0],\n }),\n },\n ],\n },\n ]}\n />,\n <Animated.Text\n key={'labelBackground-text'}\n style={[\n styles.placeholder,\n styles.backgroundText,\n labelStyle,\n {\n top: topPosition + 1,\n opacity,\n transform: [\n ...labelStyle.transform,\n {\n scaleY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [0.2, 1],\n }),\n },\n ],\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>,\n ]}\n <Animated.Text\n onLayout={onLayoutAnimatedText}\n style={[\n styles.placeholder,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : activeColor,\n opacity: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n <Animated.Text\n style={[\n styles.placeholder,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : placeholderColor,\n opacity: placeholderOpacity,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n </Animated.View>\n ) : null);\n};\n\nexport default InputLabel;\n"]}
@@ -15,7 +15,7 @@ const useStyles = function () {
15
15
  left: 0,
16
16
  right: 0,
17
17
  bottom: 0,
18
- backgroundColor: '#fff',
18
+ backgroundColor: theme.palette.background.default,
19
19
  borderRadius: theme.shape.roundness
20
20
  },
21
21
  input: {
@@ -145,6 +145,7 @@ const OutlinedTextField = /*#__PURE__*/React.forwardRef(function OutlinedTextFie
145
145
  }, labelProps)) : null, /*#__PURE__*/React.createElement(TextInput, {
146
146
  autoCapitalize: 'none',
147
147
  autoCorrect: false,
148
+ disableFullscreenUI: true,
148
149
  ref: ref,
149
150
  onChangeText: onChangeText,
150
151
  placeholder: placeholder,
@@ -1 +1 @@
1
- {"version":3,"sources":["OutlinedTextField.tsx"],"names":["React","Platform","TextInput","View","css","useTheme","IconButton","InputLabel","defaultHeight","iconSize","inputPaddingHorizontal","labelFontSize","labelPaddingTop","labelYOffset","useStyles","theme","outline","position","left","right","bottom","backgroundColor","borderRadius","shape","roundness","input","flexGrow","paddingHorizontal","textAlignVertical","textAlign","zIndex","textField","iconContainer","width","height","justifyContent","alignItems","OutlinedTextField","forwardRef","props","ref","animatedError","animatedLabel","disabled","error","focused","forceFocus","icon","keyboardType","label","labelLayout","onBlur","onChangeText","onFocus","onIconPress","onLayoutAnimatedText","onSubmitEditing","placeholder","secureTextEntry","style","value","styles","hasActiveOutline","inputTextColor","palette","tertiary","main","primary","activeColor","warning","accent","placeholderColor","text","hint","outlineColor","border","errorColor","typography","body2","fontSize","unitless","labelScale","labelWidth","labelHeight","labelHalfWidth","labelHalfHeight","labelTranslateX","minInputHeight","inputHeight","topPosition","Math","floor","iconTopPosition","labelTranslateY","placeholderOpacity","interpolate","inputRange","outputRange","measured","labelProps","outlineStyle","borderWidth","borderColor","top","textInputStyle","color","marginRight","paddingRight","OS","outlineWidth","containerStyle","paddingTop","minHeight","iconContainerStyle","onIconButtonPress"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, Platform, TextInput, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport IconButton from '../IconButton';\nimport TextFieldProps from './TextFieldProps';\nimport InputLabel from './InputLabel';\nimport {\n defaultHeight,\n iconSize,\n inputPaddingHorizontal,\n labelFontSize,\n labelPaddingTop,\n labelYOffset,\n} from './utils';\n\ninterface OutlinedTextFieldProps extends TextFieldProps {\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n focused: boolean;\n forceFocus: () => void;\n labelLayout: { measured: boolean; width: number; height: number };\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n}\n\ntype OutlinedTextFieldStyles = NamedStylesStringUnion<'outline' | 'input' | 'iconContainer'>;\n\nconst useStyles: UseStyles<OutlinedTextFieldStyles> = function (): OutlinedTextFieldStyles {\n const theme = useTheme();\n\n return {\n outline: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: '#fff',\n borderRadius: theme.shape.roundness,\n },\n input: {\n flexGrow: 1,\n paddingHorizontal: inputPaddingHorizontal,\n textAlignVertical: 'center',\n textAlign: 'left',\n zIndex: theme.zIndex.textField,\n },\n iconContainer: {\n position: 'absolute',\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n right: 12,\n },\n };\n};\n\nconst OutlinedTextField = React.forwardRef<TextInput, OutlinedTextFieldProps>(function OutlinedTextField(props, ref) {\n const {\n animatedError,\n animatedLabel,\n disabled,\n error,\n focused,\n forceFocus,\n icon,\n keyboardType,\n label,\n labelLayout,\n onBlur,\n onChangeText,\n onFocus,\n onIconPress,\n onLayoutAnimatedText,\n onSubmitEditing,\n placeholder,\n secureTextEntry,\n style,\n value,\n } = props;\n\n const theme = useTheme();\n const styles = useStyles();\n\n const hasActiveOutline = focused || error;\n const inputTextColor = disabled ? theme.palette.tertiary.main : theme.palette.primary.main;\n const activeColor = error\n ? theme.palette.warning.main\n : disabled\n ? theme.palette.tertiary.main\n : theme.palette.accent.main;\n const placeholderColor = disabled ? theme.palette.tertiary.main : theme.palette.text.hint;\n const outlineColor = disabled ? theme.palette.border : theme.palette.border;\n const errorColor = disabled ? theme.palette.tertiary.main : theme.palette.warning.main;\n\n const typography = theme.typography.body2;\n const fontSize = typography.fontSize.unitless;\n\n const labelScale = labelFontSize / fontSize;\n const labelWidth = labelLayout.width;\n const labelHeight = labelLayout.height;\n const labelHalfWidth = labelWidth / 2;\n const labelHalfHeight = labelHeight / 2;\n\n const labelTranslateX = -1 * (labelHalfWidth - (labelScale * labelWidth) / 2 - (fontSize - labelFontSize) * labelScale);\n const minInputHeight = defaultHeight - labelPaddingTop;\n const inputHeight = labelHeight < minInputHeight ? minInputHeight : labelHeight;\n const topPosition = Math.floor(((inputHeight > 0 ? inputHeight : 0) - labelHeight) / 2 + labelPaddingTop);\n const iconTopPosition = (defaultHeight - (label ? 0 : labelPaddingTop) - iconSize - (label ? labelYOffset : 0)) / 2;\n const labelTranslateY = -labelHalfHeight - (topPosition + labelYOffset);\n\n const placeholderOpacity = hasActiveOutline\n ? animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 0 : 1, 1],\n })\n : labelLayout.measured ? 1 : 0;\n\n const labelProps = {\n activeColor,\n error,\n errorColor,\n fontSize,\n hasActiveOutline,\n label,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n };\n\n const outlineStyle = css([\n styles.outline,\n {\n borderWidth: hasActiveOutline ? 2 : 1,\n borderColor: error ? errorColor : (hasActiveOutline ? activeColor : outlineColor),\n top: label ? 6 : 0,\n },\n ]);\n\n const textInputStyle = css([\n styles.input,\n {\n fontSize,\n color: inputTextColor,\n height: inputHeight,\n },\n icon && {\n marginRight: iconSize + 20,\n paddingRight: 0,\n },\n Platform.OS === 'web' && {\n //@ts-ignore\n outlineWidth: 0,\n },\n ]);\n\n const containerStyle = css([\n {\n paddingTop: label ? labelPaddingTop : 0,\n minHeight: label ? defaultHeight : defaultHeight + labelYOffset,\n },\n ]);\n\n const iconContainerStyle = css([\n styles.iconContainer,\n { top: iconTopPosition },\n ]);\n\n const onIconButtonPress = () => {\n forceFocus();\n onIconPress?.();\n };\n\n return (\n <View style={style}>\n <View\n pointerEvents={'none'}\n style={outlineStyle}\n />\n <View style={containerStyle}>\n {label ? (\n <InputLabel\n animatedLabel={animatedLabel}\n animatedError={animatedError}\n focused={focused}\n labelLayout={labelLayout}\n placeholder={placeholder}\n value={value}\n {...labelProps}\n />\n ) : null}\n <TextInput\n autoCapitalize={'none'}\n autoCorrect={false}\n ref={ref}\n onChangeText={onChangeText}\n placeholder={placeholder}\n placeholderTextColor={placeholderColor}\n editable={!disabled}\n selectionColor={activeColor}\n onFocus={onFocus}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n keyboardType={keyboardType}\n secureTextEntry={secureTextEntry}\n underlineColorAndroid={'transparent'}\n style={textInputStyle}\n value={value}\n />\n </View>\n {icon ? (\n <View style={iconContainerStyle}>\n <IconButton\n children={icon}\n onPress={onIconButtonPress}\n />\n </View>\n ) : null}\n </View>\n );\n});\n\nexport default OutlinedTextField;\n"]}
1
+ {"version":3,"sources":["OutlinedTextField.tsx"],"names":["React","Platform","TextInput","View","css","useTheme","IconButton","InputLabel","defaultHeight","iconSize","inputPaddingHorizontal","labelFontSize","labelPaddingTop","labelYOffset","useStyles","theme","outline","position","left","right","bottom","backgroundColor","palette","background","default","borderRadius","shape","roundness","input","flexGrow","paddingHorizontal","textAlignVertical","textAlign","zIndex","textField","iconContainer","width","height","justifyContent","alignItems","OutlinedTextField","forwardRef","props","ref","animatedError","animatedLabel","disabled","error","focused","forceFocus","icon","keyboardType","label","labelLayout","onBlur","onChangeText","onFocus","onIconPress","onLayoutAnimatedText","onSubmitEditing","placeholder","secureTextEntry","style","value","styles","hasActiveOutline","inputTextColor","tertiary","main","primary","activeColor","warning","accent","placeholderColor","text","hint","outlineColor","border","errorColor","typography","body2","fontSize","unitless","labelScale","labelWidth","labelHeight","labelHalfWidth","labelHalfHeight","labelTranslateX","minInputHeight","inputHeight","topPosition","Math","floor","iconTopPosition","labelTranslateY","placeholderOpacity","interpolate","inputRange","outputRange","measured","labelProps","outlineStyle","borderWidth","borderColor","top","textInputStyle","color","marginRight","paddingRight","OS","outlineWidth","containerStyle","paddingTop","minHeight","iconContainerStyle","onIconButtonPress"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, Platform, TextInput, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport IconButton from '../IconButton';\nimport TextFieldProps from './TextFieldProps';\nimport InputLabel from './InputLabel';\nimport {\n defaultHeight,\n iconSize,\n inputPaddingHorizontal,\n labelFontSize,\n labelPaddingTop,\n labelYOffset,\n} from './utils';\n\ninterface OutlinedTextFieldProps extends TextFieldProps {\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n focused: boolean;\n forceFocus: () => void;\n labelLayout: { measured: boolean; width: number; height: number };\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n}\n\ntype OutlinedTextFieldStyles = NamedStylesStringUnion<'outline' | 'input' | 'iconContainer'>;\n\nconst useStyles: UseStyles<OutlinedTextFieldStyles> = function (): OutlinedTextFieldStyles {\n const theme = useTheme();\n\n return {\n outline: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: theme.palette.background.default,\n borderRadius: theme.shape.roundness,\n },\n input: {\n flexGrow: 1,\n paddingHorizontal: inputPaddingHorizontal,\n textAlignVertical: 'center',\n textAlign: 'left',\n zIndex: theme.zIndex.textField,\n },\n iconContainer: {\n position: 'absolute',\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n right: 12,\n },\n };\n};\n\nconst OutlinedTextField = React.forwardRef<TextInput, OutlinedTextFieldProps>(function OutlinedTextField(props, ref) {\n const {\n animatedError,\n animatedLabel,\n disabled,\n error,\n focused,\n forceFocus,\n icon,\n keyboardType,\n label,\n labelLayout,\n onBlur,\n onChangeText,\n onFocus,\n onIconPress,\n onLayoutAnimatedText,\n onSubmitEditing,\n placeholder,\n secureTextEntry,\n style,\n value,\n } = props;\n\n const theme = useTheme();\n const styles = useStyles();\n\n const hasActiveOutline = focused || error;\n const inputTextColor = disabled ? theme.palette.tertiary.main : theme.palette.primary.main;\n const activeColor = error\n ? theme.palette.warning.main\n : disabled\n ? theme.palette.tertiary.main\n : theme.palette.accent.main;\n const placeholderColor = disabled ? theme.palette.tertiary.main : theme.palette.text.hint;\n const outlineColor = disabled ? theme.palette.border : theme.palette.border;\n const errorColor = disabled ? theme.palette.tertiary.main : theme.palette.warning.main;\n\n const typography = theme.typography.body2;\n const fontSize = typography.fontSize.unitless;\n\n const labelScale = labelFontSize / fontSize;\n const labelWidth = labelLayout.width;\n const labelHeight = labelLayout.height;\n const labelHalfWidth = labelWidth / 2;\n const labelHalfHeight = labelHeight / 2;\n\n const labelTranslateX = -1 * (labelHalfWidth - (labelScale * labelWidth) / 2 - (fontSize - labelFontSize) * labelScale);\n const minInputHeight = defaultHeight - labelPaddingTop;\n const inputHeight = labelHeight < minInputHeight ? minInputHeight : labelHeight;\n const topPosition = Math.floor(((inputHeight > 0 ? inputHeight : 0) - labelHeight) / 2 + labelPaddingTop);\n const iconTopPosition = (defaultHeight - (label ? 0 : labelPaddingTop) - iconSize - (label ? labelYOffset : 0)) / 2;\n const labelTranslateY = -labelHalfHeight - (topPosition + labelYOffset);\n\n const placeholderOpacity = hasActiveOutline\n ? animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 0 : 1, 1],\n })\n : labelLayout.measured ? 1 : 0;\n\n const labelProps = {\n activeColor,\n error,\n errorColor,\n fontSize,\n hasActiveOutline,\n label,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n };\n\n const outlineStyle = css([\n styles.outline,\n {\n borderWidth: hasActiveOutline ? 2 : 1,\n borderColor: error ? errorColor : (hasActiveOutline ? activeColor : outlineColor),\n top: label ? 6 : 0,\n },\n ]);\n\n const textInputStyle = css([\n styles.input,\n {\n fontSize,\n color: inputTextColor,\n height: inputHeight,\n },\n icon && {\n marginRight: iconSize + 20,\n paddingRight: 0,\n },\n Platform.OS === 'web' && {\n //@ts-ignore\n outlineWidth: 0,\n },\n ]);\n\n const containerStyle = css([\n {\n paddingTop: label ? labelPaddingTop : 0,\n minHeight: label ? defaultHeight : defaultHeight + labelYOffset,\n },\n ]);\n\n const iconContainerStyle = css([\n styles.iconContainer,\n { top: iconTopPosition },\n ]);\n\n const onIconButtonPress = () => {\n forceFocus();\n onIconPress?.();\n };\n\n return (\n <View style={style}>\n <View\n pointerEvents={'none'}\n style={outlineStyle}\n />\n <View style={containerStyle}>\n {label ? (\n <InputLabel\n animatedLabel={animatedLabel}\n animatedError={animatedError}\n focused={focused}\n labelLayout={labelLayout}\n placeholder={placeholder}\n value={value}\n {...labelProps}\n />\n ) : null}\n <TextInput\n autoCapitalize={'none'}\n autoCorrect={false}\n disableFullscreenUI={true}\n ref={ref}\n onChangeText={onChangeText}\n placeholder={placeholder}\n placeholderTextColor={placeholderColor}\n editable={!disabled}\n selectionColor={activeColor}\n onFocus={onFocus}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n keyboardType={keyboardType}\n secureTextEntry={secureTextEntry}\n underlineColorAndroid={'transparent'}\n style={textInputStyle}\n value={value}\n />\n </View>\n {icon ? (\n <View style={iconContainerStyle}>\n <IconButton\n children={icon}\n onPress={onIconButtonPress}\n />\n </View>\n ) : null}\n </View>\n );\n});\n\nexport default OutlinedTextField;\n"]}
@@ -4,9 +4,9 @@ import Animated from 'react-native-reanimated';
4
4
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
5
  import { rgb } from '@fountain-ui/utils';
6
6
  import { useHeight } from '../internal/hooks';
7
+ import { useTheme } from '../styles';
7
8
  import useAppbarStyles from './useAppbarStyles';
8
9
  const defaultOptions = {
9
- backgroundColor: '#ffffff',
10
10
  fadeInBeginY: (endY, appBarHeight) => endY - appBarHeight,
11
11
  fadeInEndY: appBarHeight => appBarHeight,
12
12
  floating: true,
@@ -19,7 +19,6 @@ const shadowOffset = Platform.OS === 'ios' ? {
19
19
  } : undefined;
20
20
  export default function useFadeInAppBar(userOptions = defaultOptions) {
21
21
  const {
22
- backgroundColor,
23
22
  fadeInBeginY,
24
23
  fadeInEndY,
25
24
  floating,
@@ -28,6 +27,7 @@ export default function useFadeInAppBar(userOptions = defaultOptions) {
28
27
  } = { ...defaultOptions,
29
28
  ...userOptions
30
29
  };
30
+ const theme = useTheme();
31
31
  const styles = useAppbarStyles();
32
32
  const safeAreaInsets = useSafeAreaInsets();
33
33
  const [appBarHeight, onAppBarLayout] = useHeight();
@@ -39,6 +39,7 @@ export default function useFadeInAppBar(userOptions = defaultOptions) {
39
39
  const dy = Animated.useSharedValue(0);
40
40
  const lastOffsetY = Animated.useSharedValue(0);
41
41
  const normalized = Animated.useSharedValue(0);
42
+ const backgroundColor = theme.palette.background.default;
42
43
  const [r, g, b] = React.useMemo(() => rgb(backgroundColor), [backgroundColor]);
43
44
  const animatedAppBarStyle = Animated.useAnimatedStyle(() => ({
44
45
  backgroundColor: `rgba(${r}, ${g}, ${b}, ${normalized.value})`,
@@ -1 +1 @@
1
- {"version":3,"sources":["useFadeInAppBar.ts"],"names":["React","Keyboard","Platform","Animated","useSafeAreaInsets","rgb","useHeight","useAppbarStyles","defaultOptions","backgroundColor","fadeInBeginY","endY","appBarHeight","fadeInEndY","floating","keyboardDismissMode","translucent","shadowOffset","OS","width","height","undefined","useFadeInAppBar","userOptions","styles","safeAreaInsets","onAppBarLayout","fromOffsetY","toOffsetY","useMemo","beginY","dy","useSharedValue","lastOffsetY","normalized","r","g","b","animatedAppBarStyle","useAnimatedStyle","value","elevation","shadowColor","shadowRadius","shadowOpacity","animatedTitleStyle","opacity","scrollHandler","useAnimatedScrollHandler","onBeginDrag","runOnJS","dismiss","onScroll","event","offsetY","contentOffset","y","distance","Math","max","localOffsetY","min","onEndDrag","onMomentumEnd","appBarStyle","paddingTop","top","titleStyle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Falsy, Keyboard, Platform, RegisteredStyle, ScrollViewProps, ViewProps, ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { rgb } from '@fountain-ui/utils';\nimport { useHeight } from '../internal/hooks';\nimport useAppbarStyles from './useAppbarStyles';\n\ntype ViewStyleProp = Array<ViewStyle | RegisteredStyle<ViewStyle> | Falsy>;\n\ntype OnScroll = ScrollViewProps['onScroll'];\n\ntype OnLayoutCallback = ViewProps['onLayout'];\n\nexport interface Options {\n backgroundColor?: string;\n fadeInBeginY?: number | ((endY: number, appBarHeight: number) => number);\n fadeInEndY?: number | ((appBarHeight: number) => number);\n floating?: boolean;\n keyboardDismissMode?: 'none' | 'on-drag';\n translucent?: boolean;\n}\n\nexport interface FadeInAppBar {\n appBarStyle: ViewStyleProp;\n titleStyle: ViewStyleProp;\n onAppBarLayout: OnLayoutCallback;\n onScroll: OnScroll;\n dy: Animated.SharedValue<number>;\n normalized: Animated.SharedValue<number>;\n}\n\nconst defaultOptions: Required<Options> = {\n backgroundColor: '#ffffff',\n fadeInBeginY: (endY, appBarHeight) => endY - appBarHeight,\n fadeInEndY: (appBarHeight) => appBarHeight,\n floating: true,\n keyboardDismissMode: 'none',\n translucent: false,\n};\n\nconst shadowOffset = Platform.OS === 'ios' ? { width: 0, height: 3 } : undefined;\n\nexport default function useFadeInAppBar(userOptions: Options = defaultOptions): FadeInAppBar {\n const {\n backgroundColor,\n fadeInBeginY,\n fadeInEndY,\n floating,\n keyboardDismissMode,\n translucent,\n }: Required<Options> = {\n ...defaultOptions,\n ...userOptions,\n };\n\n const styles = useAppbarStyles();\n\n const safeAreaInsets = useSafeAreaInsets();\n\n const [appBarHeight, onAppBarLayout] = useHeight();\n\n const [fromOffsetY, toOffsetY] = React.useMemo(() => {\n const endY = typeof fadeInEndY === 'function'\n ? fadeInEndY(appBarHeight)\n : fadeInEndY;\n\n const beginY = typeof fadeInBeginY === 'function'\n ? fadeInBeginY(endY, appBarHeight)\n : fadeInBeginY;\n\n return [beginY, endY];\n }, [fadeInBeginY, fadeInBeginY, appBarHeight]);\n\n const dy = Animated.useSharedValue<number>(0);\n const lastOffsetY = Animated.useSharedValue<number>(0);\n const normalized = Animated.useSharedValue<number>(0);\n\n const [r, g, b] = React.useMemo(() => rgb(backgroundColor), [backgroundColor]);\n\n const animatedAppBarStyle = Animated.useAnimatedStyle(() => ({\n backgroundColor: `rgba(${r}, ${g}, ${b}, ${normalized.value})`,\n elevation: normalized.value >= 1 ? 6 : 0,\n shadowColor: '#000',\n shadowOffset,\n shadowRadius: 4.65,\n shadowOpacity: normalized.value >= 1 ? 0.25 : 0,\n }));\n\n const animatedTitleStyle = Animated.useAnimatedStyle(() => ({\n opacity: normalized.value,\n }));\n\n const scrollHandler = Animated.useAnimatedScrollHandler({\n onBeginDrag: () => {\n if (keyboardDismissMode === 'on-drag') {\n Animated.runOnJS(Keyboard.dismiss)();\n }\n },\n onScroll: (event) => {\n const offsetY = event.contentOffset.y;\n\n const distance = Math.max(toOffsetY - fromOffsetY, 1);\n const localOffsetY = offsetY - fromOffsetY;\n\n dy.value = offsetY - lastOffsetY.value;\n\n normalized.value = Math.min(Math.max(localOffsetY / distance, 0), 1);\n },\n onEndDrag: (event) => {\n lastOffsetY.value = event.contentOffset.y;\n },\n onMomentumEnd: (event) => {\n lastOffsetY.value = event.contentOffset.y;\n },\n });\n\n const appBarStyle = [\n animatedAppBarStyle,\n translucent ? { paddingTop: safeAreaInsets.top } : undefined,\n floating ? styles.floating : undefined,\n ];\n\n return {\n appBarStyle,\n titleStyle: [animatedTitleStyle],\n onAppBarLayout,\n onScroll: scrollHandler,\n dy,\n normalized,\n };\n};\n"]}
1
+ {"version":3,"sources":["useFadeInAppBar.ts"],"names":["React","Keyboard","Platform","Animated","useSafeAreaInsets","rgb","useHeight","useTheme","useAppbarStyles","defaultOptions","fadeInBeginY","endY","appBarHeight","fadeInEndY","floating","keyboardDismissMode","translucent","shadowOffset","OS","width","height","undefined","useFadeInAppBar","userOptions","theme","styles","safeAreaInsets","onAppBarLayout","fromOffsetY","toOffsetY","useMemo","beginY","dy","useSharedValue","lastOffsetY","normalized","backgroundColor","palette","background","default","r","g","b","animatedAppBarStyle","useAnimatedStyle","value","elevation","shadowColor","shadowRadius","shadowOpacity","animatedTitleStyle","opacity","scrollHandler","useAnimatedScrollHandler","onBeginDrag","runOnJS","dismiss","onScroll","event","offsetY","contentOffset","y","distance","Math","max","localOffsetY","min","onEndDrag","onMomentumEnd","appBarStyle","paddingTop","top","titleStyle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Falsy, Keyboard, Platform, RegisteredStyle, ScrollViewProps, ViewProps, ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { rgb } from '@fountain-ui/utils';\nimport { useHeight } from '../internal/hooks';\nimport { useTheme } from '../styles';\nimport useAppbarStyles from './useAppbarStyles';\n\ntype ViewStyleProp = Array<ViewStyle | RegisteredStyle<ViewStyle> | Falsy>;\n\ntype OnScroll = ScrollViewProps['onScroll'];\n\ntype OnLayoutCallback = ViewProps['onLayout'];\n\nexport interface Options {\n fadeInBeginY?: number | ((endY: number, appBarHeight: number) => number);\n fadeInEndY?: number | ((appBarHeight: number) => number);\n floating?: boolean;\n keyboardDismissMode?: 'none' | 'on-drag';\n translucent?: boolean;\n}\n\nexport interface FadeInAppBar {\n appBarStyle: ViewStyleProp;\n titleStyle: ViewStyleProp;\n onAppBarLayout: OnLayoutCallback;\n onScroll: OnScroll;\n dy: Animated.SharedValue<number>;\n normalized: Animated.SharedValue<number>;\n}\n\nconst defaultOptions: Required<Options> = {\n fadeInBeginY: (endY, appBarHeight) => endY - appBarHeight,\n fadeInEndY: (appBarHeight) => appBarHeight,\n floating: true,\n keyboardDismissMode: 'none',\n translucent: false,\n};\n\nconst shadowOffset = Platform.OS === 'ios' ? { width: 0, height: 3 } : undefined;\n\nexport default function useFadeInAppBar(userOptions: Options = defaultOptions): FadeInAppBar {\n const {\n fadeInBeginY,\n fadeInEndY,\n floating,\n keyboardDismissMode,\n translucent,\n }: Required<Options> = {\n ...defaultOptions,\n ...userOptions,\n };\n\n const theme = useTheme();\n\n const styles = useAppbarStyles();\n\n const safeAreaInsets = useSafeAreaInsets();\n\n const [appBarHeight, onAppBarLayout] = useHeight();\n\n const [fromOffsetY, toOffsetY] = React.useMemo(() => {\n const endY = typeof fadeInEndY === 'function'\n ? fadeInEndY(appBarHeight)\n : fadeInEndY;\n\n const beginY = typeof fadeInBeginY === 'function'\n ? fadeInBeginY(endY, appBarHeight)\n : fadeInBeginY;\n\n return [beginY, endY];\n }, [fadeInBeginY, fadeInBeginY, appBarHeight]);\n\n const dy = Animated.useSharedValue<number>(0);\n const lastOffsetY = Animated.useSharedValue<number>(0);\n const normalized = Animated.useSharedValue<number>(0);\n\n const backgroundColor = theme.palette.background.default;\n const [r, g, b] = React.useMemo(() => rgb(backgroundColor), [backgroundColor]);\n\n const animatedAppBarStyle = Animated.useAnimatedStyle(() => ({\n backgroundColor: `rgba(${r}, ${g}, ${b}, ${normalized.value})`,\n elevation: normalized.value >= 1 ? 6 : 0,\n shadowColor: '#000',\n shadowOffset,\n shadowRadius: 4.65,\n shadowOpacity: normalized.value >= 1 ? 0.25 : 0,\n }));\n\n const animatedTitleStyle = Animated.useAnimatedStyle(() => ({\n opacity: normalized.value,\n }));\n\n const scrollHandler = Animated.useAnimatedScrollHandler({\n onBeginDrag: () => {\n if (keyboardDismissMode === 'on-drag') {\n Animated.runOnJS(Keyboard.dismiss)();\n }\n },\n onScroll: (event) => {\n const offsetY = event.contentOffset.y;\n\n const distance = Math.max(toOffsetY - fromOffsetY, 1);\n const localOffsetY = offsetY - fromOffsetY;\n\n dy.value = offsetY - lastOffsetY.value;\n\n normalized.value = Math.min(Math.max(localOffsetY / distance, 0), 1);\n },\n onEndDrag: (event) => {\n lastOffsetY.value = event.contentOffset.y;\n },\n onMomentumEnd: (event) => {\n lastOffsetY.value = event.contentOffset.y;\n },\n });\n\n const appBarStyle = [\n animatedAppBarStyle,\n translucent ? { paddingTop: safeAreaInsets.top } : undefined,\n floating ? styles.floating : undefined,\n ];\n\n return {\n appBarStyle,\n titleStyle: [animatedTitleStyle],\n onAppBarLayout,\n onScroll: scrollHandler,\n dy,\n normalized,\n };\n};\n"]}
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  import { Path } from 'react-native-svg';
3
3
  import { createSvgIcon } from '../../utils';
4
4
  export default createSvgIcon( /*#__PURE__*/React.createElement(Path, {
5
- d: "M13 4.5C14.3807 4.5 15.5 5.61929 15.5 7V13C15.5 14.3807 14.3807 15.5 13 15.5H7C5.61929 15.5 4.5 14.3807 4.5 13V7C4.5 5.61929 5.61929 4.5 7 4.5H13ZM7 3C4.79086 3 3 4.79086 3 7V13C3 15.2091 4.79086 17 7 17H13C15.2091 17 17 15.2091 17 13V7C17 4.79086 15.2091 3 13 3H7Z",
6
- fill: "#767676"
5
+ d: "M13 4.5C14.3807 4.5 15.5 5.61929 15.5 7V13C15.5 14.3807 14.3807 15.5 13 15.5H7C5.61929 15.5 4.5 14.3807 4.5 13V7C4.5 5.61929 5.61929 4.5 7 4.5H13ZM7 3C4.79086 3 3 4.79086 3 7V13C3 15.2091 4.79086 17 7 17H13C15.2091 17 17 15.2091 17 13V7C17 4.79086 15.2091 3 13 3H7Z"
7
6
  }), 'Checkbox');
8
7
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC,2QADN;AAEI,EAAA,IAAI,EAAC;AAFT,EADwB,EAKtB,UALsB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M13 4.5C14.3807 4.5 15.5 5.61929 15.5 7V13C15.5 14.3807 14.3807 15.5 13 15.5H7C5.61929 15.5 4.5 14.3807 4.5 13V7C4.5 5.61929 5.61929 4.5 7 4.5H13ZM7 3C4.79086 3 3 4.79086 3 7V13C3 15.2091 4.79086 17 7 17H13C15.2091 17 17 15.2091 17 13V7C17 4.79086 15.2091 3 13 3H7Z\"\n fill=\"#767676\"\n />\n , 'Checkbox');"]}
1
+ {"version":3,"sources":["Checkbox.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,UAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M13 4.5C14.3807 4.5 15.5 5.61929 15.5 7V13C15.5 14.3807 14.3807 15.5 13 15.5H7C5.61929 15.5 4.5 14.3807 4.5 13V7C4.5 5.61929 5.61929 4.5 7 4.5H13ZM7 3C4.79086 3 3 4.79086 3 7V13C3 15.2091 4.79086 17 7 17H13C15.2091 17 17 15.2091 17 13V7C17 4.79086 15.2091 3 13 3H7Z\"\n />,\n 'Checkbox',\n);\n"]}
@@ -2,8 +2,9 @@ import React from 'react';
2
2
  import { Path } from 'react-native-svg';
3
3
  import { createSvgIcon } from '../../utils';
4
4
  export default createSvgIcon( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Path, {
5
- d: "M3 7C3 4.79086 4.79086 3 7 3H13C15.2091 3 17 4.79086 17 7V13C17 15.2091 15.2091 17 13 17H7C4.79086 17 3 15.2091 3 13V7Z",
6
- fill: "#242424"
5
+ fillRule: "evenodd",
6
+ clipRule: "evenodd",
7
+ d: "M3 7C3 4.79086 4.79086 3 7 3H13C15.2091 3 17 4.79086 17 7V13C17 15.2091 15.2091 17 13 17H7C4.79086 17 3 15.2091 3 13V7Z"
7
8
  }), /*#__PURE__*/React.createElement(Path, {
8
9
  d: "M14.8303 7.53033L8.32856 14.0321L4.96967 10.6732L6.03033 9.61252L8.32856 11.9108L13.7697 6.46967L14.8303 7.53033Z",
9
10
  fill: "#FFFFFF"
@@ -1 +1 @@
1
- {"version":3,"sources":["CheckboxChecked.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC,yHADN;AAEI,EAAA,IAAI,EAAC;AAFT,EADJ,eAKI,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC,mHADN;AAEI,EAAA,IAAI,EAAC;AAFT,EALJ,CADwB,EAWtB,iBAXsB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <React.Fragment>\n <Path\n d=\"M3 7C3 4.79086 4.79086 3 7 3H13C15.2091 3 17 4.79086 17 7V13C17 15.2091 15.2091 17 13 17H7C4.79086 17 3 15.2091 3 13V7Z\"\n fill=\"#242424\"\n />\n <Path\n d=\"M14.8303 7.53033L8.32856 14.0321L4.96967 10.6732L6.03033 9.61252L8.32856 11.9108L13.7697 6.46967L14.8303 7.53033Z\"\n fill=\"#FFFFFF\"\n />\n </React.Fragment>\n , 'CheckboxChecked');"]}
1
+ {"version":3,"sources":["CheckboxChecked.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,IAAD;AACI,EAAA,QAAQ,EAAC,SADb;AAEI,EAAA,QAAQ,EAAC,SAFb;AAGI,EAAA,CAAC,EAAC;AAHN,EADJ,eAMI,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC,mHADN;AAEI,EAAA,IAAI,EAAC;AAFT,EANJ,CADwB,EAYxB,iBAZwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <React.Fragment>\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 7C3 4.79086 4.79086 3 7 3H13C15.2091 3 17 4.79086 17 7V13C17 15.2091 15.2091 17 13 17H7C4.79086 17 3 15.2091 3 13V7Z\"\n />\n <Path\n d=\"M14.8303 7.53033L8.32856 14.0321L4.96967 10.6732L6.03033 9.61252L8.32856 11.9108L13.7697 6.46967L14.8303 7.53033Z\"\n fill=\"#FFFFFF\"\n />\n </React.Fragment>,\n 'CheckboxChecked',\n);\n"]}
@@ -2,8 +2,6 @@ import React from 'react';
2
2
  import { Path } from 'react-native-svg';
3
3
  import { createSvgIcon } from '../../utils';
4
4
  export default createSvgIcon( /*#__PURE__*/React.createElement(Path, {
5
- fillRule: "evenodd",
6
- clipRule: "evenodd",
7
5
  d: "M9.51967 13.2803L4.01967 7.78033L5.08033 6.71967L10.05 11.6893L15.0197 6.71967L16.0803 7.78033L10.5803 13.2803L9.51967 13.2803Z"
8
6
  }), 'ChevronDown');
9
7
  //# sourceMappingURL=ChevronDown.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ChevronDown.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,QAAQ,EAAC,SADb;AAEI,EAAA,QAAQ,EAAC,SAFb;AAGI,EAAA,CAAC,EAAC;AAHN,EADwB,EAMtB,aANsB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.51967 13.2803L4.01967 7.78033L5.08033 6.71967L10.05 11.6893L15.0197 6.71967L16.0803 7.78033L10.5803 13.2803L9.51967 13.2803Z\"\n />\n , 'ChevronDown');"]}
1
+ {"version":3,"sources":["ChevronDown.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,aAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M9.51967 13.2803L4.01967 7.78033L5.08033 6.71967L10.05 11.6893L15.0197 6.71967L16.0803 7.78033L10.5803 13.2803L9.51967 13.2803Z\"\n />,\n 'ChevronDown',\n);\n"]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Path } from 'react-native-svg';
3
+ import { createSvgIcon } from '../../utils';
4
+ export default createSvgIcon( /*#__PURE__*/React.createElement(Path, {
5
+ d: "M6.76965 9.46973L12.2697 3.96973L13.3303 5.03039L8.36064 10.0001L13.3303 14.9697L12.2697 16.0304L6.76965 10.5304L6.76965 9.46973Z"
6
+ }), 'ChevronLeft');
7
+ //# sourceMappingURL=ChevronLeft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ChevronLeft.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,aAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M6.76965 9.46973L12.2697 3.96973L13.3303 5.03039L8.36064 10.0001L13.3303 14.9697L12.2697 16.0304L6.76965 10.5304L6.76965 9.46973Z\"\n />,\n 'ChevronLeft',\n);\n"]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Path } from 'react-native-svg';
3
+ import { createSvgIcon } from '../../utils';
4
+ export default createSvgIcon( /*#__PURE__*/React.createElement(Path, {
5
+ d: "M13.3303 10.5303L7.83032 16.0303L6.76966 14.9697L11.7393 10L6.76966 5.03033L7.83032 3.96968L13.3303 9.46967V10.5303Z"
6
+ }), 'ChevronRight');
7
+ //# sourceMappingURL=ChevronRight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ChevronRight.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,cAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M13.3303 10.5303L7.83032 16.0303L6.76966 14.9697L11.7393 10L6.76966 5.03033L7.83032 3.96968L13.3303 9.46967V10.5303Z\"\n />,\n 'ChevronRight',\n);\n"]}
@@ -2,8 +2,6 @@ import React from 'react';
2
2
  import { Path } from 'react-native-svg';
3
3
  import { createSvgIcon } from '../../utils';
4
4
  export default createSvgIcon( /*#__PURE__*/React.createElement(Path, {
5
- fillRule: "evenodd",
6
- clipRule: "evenodd",
7
5
  d: "M3.96968 14.9697L5.03034 16.0303L10 11.0607L14.9697 16.0303L16.0303 14.9697L11.0607 10L16.0303 5.03033L14.9697 3.96967L10 8.93934L5.03034 3.96968L3.96968 5.03033L8.93935 10L3.96968 14.9697Z"
8
6
  }), 'Close');
9
7
  //# sourceMappingURL=Close.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Close.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,QAAQ,EAAC,SADb;AAEI,EAAA,QAAQ,EAAC,SAFb;AAGI,EAAA,CAAC,EAAC;AAHN,EADwB,EAMtB,OANsB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.96968 14.9697L5.03034 16.0303L10 11.0607L14.9697 16.0303L16.0303 14.9697L11.0607 10L16.0303 5.03033L14.9697 3.96967L10 8.93934L5.03034 3.96968L3.96968 5.03033L8.93935 10L3.96968 14.9697Z\"\n />\n , 'Close');\n"]}
1
+ {"version":3,"sources":["Close.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,OAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M3.96968 14.9697L5.03034 16.0303L10 11.0607L14.9697 16.0303L16.0303 14.9697L11.0607 10L16.0303 5.03033L14.9697 3.96967L10 8.93934L5.03034 3.96968L3.96968 5.03033L8.93935 10L3.96968 14.9697Z\"\n />,\n 'Close',\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Radio.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAGtB,OAHsB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M10 16.5C6.41015 16.5 3.5 13.5899 3.5 10C3.5 6.41015 6.41015 3.5 10 3.5C13.5899 3.5 16.5 6.41015 16.5 10C16.5 13.5899 13.5899 16.5 10 16.5ZM10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18Z\"/>\n , 'Radio');"]}
1
+ {"version":3,"sources":["Radio.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,OAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M10 16.5C6.41015 16.5 3.5 13.5899 3.5 10C3.5 6.41015 6.41015 3.5 10 3.5C13.5899 3.5 16.5 6.41015 16.5 10C16.5 13.5899 13.5899 16.5 10 16.5ZM10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18Z\"\n />,\n 'Radio',\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["RadioChecked.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAGtB,cAHsB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M16.5 10C16.5 6.41015 13.5899 3.5 10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10ZM18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10ZM10 15C7.23858 15 5 12.7614 5 10C5 7.23858 7.23858 5 10 5C12.7614 5 15 7.23858 15 10C15 12.7614 12.7614 15 10 15Z\"/>\n , 'RadioChecked');"]}
1
+ {"version":3,"sources":["RadioChecked.tsx"],"names":["React","Path","createSvgIcon"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAeA,aAAa,eACxB,oBAAC,IAAD;AACI,EAAA,CAAC,EAAC;AADN,EADwB,EAIxB,cAJwB,CAA5B","sourcesContent":["import React from 'react';\nimport { Path } from 'react-native-svg';\nimport { createSvgIcon } from '../../utils';\n\nexport default createSvgIcon(\n <Path\n d=\"M16.5 10C16.5 6.41015 13.5899 3.5 10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10ZM18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10ZM10 15C7.23858 15 5 12.7614 5 10C5 7.23858 7.23858 5 10 5C12.7614 5 15 7.23858 15 10C15 12.7614 12.7614 15 10 15Z\"\n />,\n 'RadioChecked',\n);\n"]}
@@ -1,6 +1,8 @@
1
1
  export { default as Checkbox } from './Checkbox';
2
2
  export { default as CheckboxChecked } from './CheckboxChecked';
3
3
  export { default as ChevronDown } from './ChevronDown';
4
+ export { default as ChevronLeft } from './ChevronLeft';
5
+ export { default as ChevronRight } from './ChevronRight';
4
6
  export { default as CircularProgress } from './CircularProgress';
5
7
  export { default as Close } from './Close';
6
8
  export { default as Radio } from './Radio';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["default","Checkbox","CheckboxChecked","ChevronDown","CircularProgress","Close","Radio","RadioChecked"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAApB,QAAoC,YAApC;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,mBAA3C;AACA,SAASF,OAAO,IAAIG,WAApB,QAAuC,eAAvC;AACA,SAASH,OAAO,IAAII,gBAApB,QAA4C,oBAA5C;AACA,SAASJ,OAAO,IAAIK,KAApB,QAAiC,SAAjC;AACA,SAASL,OAAO,IAAIM,KAApB,QAAiC,SAAjC;AACA,SAASN,OAAO,IAAIO,YAApB,QAAwC,gBAAxC","sourcesContent":["export { default as Checkbox } from './Checkbox';\nexport { default as CheckboxChecked } from './CheckboxChecked';\nexport { default as ChevronDown } from './ChevronDown';\nexport { default as CircularProgress } from './CircularProgress';\nexport { default as Close } from './Close';\nexport { default as Radio } from './Radio';\nexport { default as RadioChecked } from './RadioChecked';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["default","Checkbox","CheckboxChecked","ChevronDown","ChevronLeft","ChevronRight","CircularProgress","Close","Radio","RadioChecked"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAApB,QAAoC,YAApC;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,mBAA3C;AACA,SAASF,OAAO,IAAIG,WAApB,QAAuC,eAAvC;AACA,SAASH,OAAO,IAAII,WAApB,QAAuC,eAAvC;AACA,SAASJ,OAAO,IAAIK,YAApB,QAAwC,gBAAxC;AACA,SAASL,OAAO,IAAIM,gBAApB,QAA4C,oBAA5C;AACA,SAASN,OAAO,IAAIO,KAApB,QAAiC,SAAjC;AACA,SAASP,OAAO,IAAIQ,KAApB,QAAiC,SAAjC;AACA,SAASR,OAAO,IAAIS,YAApB,QAAwC,gBAAxC","sourcesContent":["export { default as Checkbox } from './Checkbox';\nexport { default as CheckboxChecked } from './CheckboxChecked';\nexport { default as ChevronDown } from './ChevronDown';\nexport { default as ChevronLeft } from './ChevronLeft';\nexport { default as ChevronRight } from './ChevronRight';\nexport { default as CircularProgress } from './CircularProgress';\nexport { default as Close } from './Close';\nexport { default as Radio } from './Radio';\nexport { default as RadioChecked } from './RadioChecked';\n"]}
@@ -1,4 +1,3 @@
1
- export { default as cloneSvgIcon } from './cloneSvgIcon';
2
1
  export { default as createFontStyle } from './createFontStyle';
3
2
  export { default as EdgeInsets } from './EdgeInsets';
4
3
  export { default as PredefinedStyles } from './PredefinedStyles';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["default","cloneSvgIcon","createFontStyle","EdgeInsets","PredefinedStyles","styled","css","StyleSheet","ThemeProvider","useTheme"],"mappings":"AAAA,SAASA,OAAO,IAAIC,YAApB,QAAwC,gBAAxC;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,mBAA3C;AACA,SAASF,OAAO,IAAIG,UAApB,QAAsC,cAAtC;AAEA,SAASH,OAAO,IAAII,gBAApB,QAA4C,oBAA5C;AACA,SAASJ,OAAO,IAAIK,MAApB,EAA4BC,GAA5B,QAAuC,UAAvC;AACA,SAASN,OAAO,IAAIO,UAApB,QAAsC,cAAtC;AACA,SAASP,OAAO,IAAIQ,aAApB,QAAyC,iBAAzC;AACA,SAASR,OAAO,IAAIS,QAApB,QAAoC,YAApC","sourcesContent":["export { default as cloneSvgIcon } from './cloneSvgIcon';\nexport { default as createFontStyle } from './createFontStyle';\nexport { default as EdgeInsets } from './EdgeInsets';\nexport type { EdgeInsetsType } from './EdgeInsets';\nexport { default as PredefinedStyles } from './PredefinedStyles';\nexport { default as styled, css } from './styled';\nexport { default as StyleSheet } from './StyleSheet';\nexport { default as ThemeProvider } from './ThemeProvider';\nexport { default as useTheme } from './useTheme';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["default","createFontStyle","EdgeInsets","PredefinedStyles","styled","css","StyleSheet","ThemeProvider","useTheme"],"mappings":"AAAA,SAASA,OAAO,IAAIC,eAApB,QAA2C,mBAA3C;AACA,SAASD,OAAO,IAAIE,UAApB,QAAsC,cAAtC;AAEA,SAASF,OAAO,IAAIG,gBAApB,QAA4C,oBAA5C;AACA,SAASH,OAAO,IAAII,MAApB,EAA4BC,GAA5B,QAAuC,UAAvC;AACA,SAASL,OAAO,IAAIM,UAApB,QAAsC,cAAtC;AACA,SAASN,OAAO,IAAIO,aAApB,QAAyC,iBAAzC;AACA,SAASP,OAAO,IAAIQ,QAApB,QAAoC,YAApC","sourcesContent":["export { default as createFontStyle } from './createFontStyle';\nexport { default as EdgeInsets } from './EdgeInsets';\nexport type { EdgeInsetsType } from './EdgeInsets';\nexport { default as PredefinedStyles } from './PredefinedStyles';\nexport { default as styled, css } from './styled';\nexport { default as StyleSheet } from './StyleSheet';\nexport { default as ThemeProvider } from './ThemeProvider';\nexport { default as useTheme } from './useTheme';\n"]}
@@ -0,0 +1,6 @@
1
+ import { cloneElement } from 'react';
2
+ export default function cloneElementSafely(element, props) {
3
+ return element ? /*#__PURE__*/cloneElement(element, props) : null;
4
+ }
5
+ ;
6
+ //# sourceMappingURL=cloneElementSafely.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["cloneElementSafely.ts"],"names":["cloneElement","cloneElementSafely","element","props"],"mappings":"AAAA,SAASA,YAAT,QAA2C,OAA3C;AAIA,eAAe,SAASC,kBAAT,CAA4BC,OAA5B,EAAwDC,KAAxD,EAAwF;AACnG,SAAOD,OAAO,gBACRF,YAAY,CAACE,OAAD,EAAUC,KAAV,CADJ,GAER,IAFN;AAGH;AAAA","sourcesContent":["import { cloneElement, ReactElement } from 'react';\n\ntype FalsyReactElement = ReactElement | null | undefined;\n\nexport default function cloneElementSafely(element: FalsyReactElement, props?: any): FalsyReactElement {\n return element\n ? cloneElement(element, props)\n : null;\n};\n"]}
@@ -1,2 +1,3 @@
1
+ export { default as cloneElementSafely } from './cloneElementSafely';
1
2
  export { default as createSvgIcon } from './createSvgIcon';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["default","createSvgIcon"],"mappings":"AAAA,SAASA,OAAO,IAAIC,aAApB,QAAyC,iBAAzC","sourcesContent":["export { default as createSvgIcon } from './createSvgIcon';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["default","cloneElementSafely","createSvgIcon"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAApB,QAA8C,sBAA9C;AACA,SAASD,OAAO,IAAIE,aAApB,QAAyC,iBAAzC","sourcesContent":["export { default as cloneElementSafely } from './cloneElementSafely';\nexport { default as createSvgIcon } from './createSvgIcon';\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { ButtonBaseProps } from '../ButtonBase';
3
- import type { OverridableComponentProps } from '../types';
4
- export declare type ButtonColor = 'primary' | 'secondary' | 'tertiary' | 'warning' | 'accent';
3
+ import type { OverridableComponentProps, CommonComponentColor } from '../types';
4
+ export declare type ButtonColor = CommonComponentColor;
5
5
  export declare type ButtonSize = 'small' | 'medium';
6
6
  export declare type ButtonVariant = 'contained' | 'outlined' | 'text';
7
7
  export default interface ButtonProps extends OverridableComponentProps<ButtonBaseProps, {
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
- import type { OverridableComponentProps } from '../types';
2
+ import type { CommonComponentColor, OverridableComponentProps } from '../types';
3
3
  import type { ButtonBaseProps } from '../ButtonBase';
4
4
  declare type BaseProps = Omit<ButtonBaseProps, 'onPress'>;
5
+ export declare type CheckboxColor = CommonComponentColor;
5
6
  export default interface CheckboxProps extends OverridableComponentProps<BaseProps, {
6
7
  /**
7
8
  * If `true`, the component is checked.
@@ -12,6 +13,11 @@ export default interface CheckboxProps extends OverridableComponentProps<BasePro
12
13
  * The checked Icon which is replaced.
13
14
  */
14
15
  checkedIcon?: React.ReactElement;
16
+ /**
17
+ * The color of the component. It supports those theme colors that make sense for this component.
18
+ * @default 'primary'
19
+ */
20
+ color?: CheckboxColor;
15
21
  /**
16
22
  * If `true`, the checkbox is disabled.
17
23
  * @default false
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { ButtonBaseProps } from '../ButtonBase';
3
- import type { OverridableComponentProps } from '../types';
3
+ import type { OverridableComponentProps, CommonComponentColor } from '../types';
4
4
  import type { Elevation } from '@fountain-ui/styles';
5
- export declare type FabColor = 'primary' | 'secondary' | 'tertiary' | 'warning' | 'accent' | 'surface';
5
+ export declare type FabColor = CommonComponentColor | 'surface';
6
6
  export declare type FabSize = 'small' | 'medium';
7
7
  export declare type FabVariant = 'circular' | 'extended';
8
8
  export default interface FabProps extends OverridableComponentProps<ButtonBaseProps, {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { ButtonBaseProps } from '../ButtonBase';
3
- import type { OverridableComponentProps } from '../types';
4
- export declare type IconButtonColor = 'primary' | 'secondary' | 'tertiary' | 'warning' | 'accent';
3
+ import type { CommonComponentColor, OverridableComponentProps } from '../types';
4
+ export declare type IconButtonColor = CommonComponentColor;
5
5
  export declare type IconButtonSize = 'medium' | 'large' | 'small' | 'tiny';
6
6
  export default interface IconButtonProps extends OverridableComponentProps<ButtonBaseProps, {
7
7
  /**
@@ -25,6 +25,14 @@ export default interface ImageProps extends OverridableComponentProps<ViewProps,
25
25
  * @default 'lazy'
26
26
  */
27
27
  loading?: Loading;
28
+ /**
29
+ * error event handler
30
+ */
31
+ onError?: () => void;
32
+ /**
33
+ * image loaded event handler
34
+ */
35
+ onLoad?: () => void;
28
36
  /**
29
37
  * The children on top this image.
30
38
  */
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import RNSlider from '@react-native-community/slider';
3
3
  import type SliderProps from './SliderProps';
4
- declare const _default: React.ForwardRefExoticComponent<Pick<SliderProps, "style" | "pointerEvents" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "disabled" | "hitSlop" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "value" | "inverted" | "vertical" | "maximumTrackTintColor" | "maximumValue" | "minimumTrackTintColor" | "minimumValue" | "onSlidingStart" | "onSlidingComplete" | "onValueChange" | "step" | "accessibilityUnits" | "accessibilityIncrements" | "maximumTrackImage" | "minimumTrackImage" | "tapToSeek" | "thumbImage" | "trackImage" | "thumbTintColor"> & React.RefAttributes<RNSlider>>;
4
+ declare const _default: React.ForwardRefExoticComponent<Pick<SliderProps, "testID" | "style" | "onLayout" | "value" | "pointerEvents" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "disabled" | "hitSlop" | "removeClippedSubviews" | "nativeID" | "collapsable" | "needsOffscreenAlphaCompositing" | "renderToHardwareTextureAndroid" | "focusable" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxProperties" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "inverted" | "vertical" | "maximumTrackTintColor" | "maximumValue" | "minimumTrackTintColor" | "minimumValue" | "onSlidingStart" | "onSlidingComplete" | "onValueChange" | "step" | "accessibilityUnits" | "accessibilityIncrements" | "maximumTrackImage" | "minimumTrackImage" | "tapToSeek" | "thumbImage" | "trackImage" | "thumbTintColor"> & React.RefAttributes<RNSlider>>;
5
5
  export default _default;