@tecsinapse/react-core 1.17.3 → 1.19.0

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 (263) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
  3. package/dist/components/atoms/Avatar/helpers.js.map +1 -1
  4. package/dist/components/atoms/Avatar/index.js.map +1 -1
  5. package/dist/components/atoms/Avatar/styled.js.map +1 -1
  6. package/dist/components/atoms/Badge/Badge.js.map +1 -1
  7. package/dist/components/atoms/Badge/index.js.map +1 -1
  8. package/dist/components/atoms/Badge/styled.js.map +1 -1
  9. package/dist/components/atoms/BoxContent/BoxContent.js.map +1 -1
  10. package/dist/components/atoms/BoxContent/index.js.map +1 -1
  11. package/dist/components/atoms/BoxContent/styled.js +1 -1
  12. package/dist/components/atoms/BoxContent/styled.js.map +1 -1
  13. package/dist/components/atoms/Button/Button.js +1 -1
  14. package/dist/components/atoms/Button/Button.js.map +1 -1
  15. package/dist/components/atoms/Button/States/BaseState.js.map +1 -1
  16. package/dist/components/atoms/Button/States/Error.js +1 -1
  17. package/dist/components/atoms/Button/States/Error.js.map +1 -1
  18. package/dist/components/atoms/Button/States/Loading.js.map +1 -1
  19. package/dist/components/atoms/Button/States/Success.js +1 -1
  20. package/dist/components/atoms/Button/States/Success.js.map +1 -1
  21. package/dist/components/atoms/Button/States/index.js.map +1 -1
  22. package/dist/components/atoms/Button/States/styled.js +1 -1
  23. package/dist/components/atoms/Button/States/styled.js.map +1 -1
  24. package/dist/components/atoms/Button/index.js +1 -1
  25. package/dist/components/atoms/Button/index.js.map +1 -1
  26. package/dist/components/atoms/Button/styled.js.map +1 -1
  27. package/dist/components/atoms/Card/Card.js +1 -1
  28. package/dist/components/atoms/Card/Card.js.map +1 -1
  29. package/dist/components/atoms/Card/Footer/Footer.js.map +1 -1
  30. package/dist/components/atoms/Card/Footer/index.js.map +1 -1
  31. package/dist/components/atoms/Card/Header/Header.js.map +1 -1
  32. package/dist/components/atoms/Card/Header/index.js.map +1 -1
  33. package/dist/components/atoms/Card/index.js.map +1 -1
  34. package/dist/components/atoms/Card/styled.js.map +1 -1
  35. package/dist/components/atoms/Checkbox/Checkbox.js +1 -1
  36. package/dist/components/atoms/Checkbox/Checkbox.js.map +1 -1
  37. package/dist/components/atoms/Checkbox/index.js.map +1 -1
  38. package/dist/components/atoms/Checkbox/styled.js +1 -1
  39. package/dist/components/atoms/Checkbox/styled.js.map +1 -1
  40. package/dist/components/atoms/Divider/Divider.js.map +1 -1
  41. package/dist/components/atoms/Divider/index.js.map +1 -1
  42. package/dist/components/atoms/Divider/styled.js.map +1 -1
  43. package/dist/components/atoms/GroupButton/GroupButton.d.ts +1 -1
  44. package/dist/components/atoms/GroupButton/GroupButton.js +1 -1
  45. package/dist/components/atoms/GroupButton/GroupButton.js.map +1 -1
  46. package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  47. package/dist/components/atoms/GroupButton/index.js +1 -1
  48. package/dist/components/atoms/GroupButton/index.js.map +1 -1
  49. package/dist/components/atoms/GroupButton/styled.js +1 -1
  50. package/dist/components/atoms/GroupButton/styled.js.map +1 -1
  51. package/dist/components/atoms/Icon/Icon.js +1 -1
  52. package/dist/components/atoms/Icon/Icon.js.map +1 -1
  53. package/dist/components/atoms/Icon/helpers.js +1 -1
  54. package/dist/components/atoms/Icon/helpers.js.map +1 -1
  55. package/dist/components/atoms/Icon/index.js.map +1 -1
  56. package/dist/components/atoms/Input/Hint.js.map +1 -1
  57. package/dist/components/atoms/Input/InputContainer/InputContainer.d.ts +1 -1
  58. package/dist/components/atoms/Input/InputContainer/InputContainer.js +1 -1
  59. package/dist/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  60. package/dist/components/atoms/Input/InputElement/InputElement.d.ts +3 -4
  61. package/dist/components/atoms/Input/InputElement/InputElement.js +1 -1
  62. package/dist/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  63. package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.d.ts +3 -4
  64. package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js +1 -1
  65. package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  66. package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +1 -1
  67. package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  68. package/dist/components/atoms/Input/PressableInputContainer/index.js.map +1 -1
  69. package/dist/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
  70. package/dist/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
  71. package/dist/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  72. package/dist/components/atoms/Input/hooks/useStringMask.js +1 -1
  73. package/dist/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  74. package/dist/components/atoms/Input/index.js +1 -1
  75. package/dist/components/atoms/Input/index.js.map +1 -1
  76. package/dist/components/atoms/Input/styled.js +1 -1
  77. package/dist/components/atoms/Input/styled.js.map +1 -1
  78. package/dist/components/atoms/Paper/Paper.js +1 -1
  79. package/dist/components/atoms/Paper/Paper.js.map +1 -1
  80. package/dist/components/atoms/Paper/index.js.map +1 -1
  81. package/dist/components/atoms/Paper/styled.js.map +1 -1
  82. package/dist/components/atoms/PressableSurface/PressableSurface.js +1 -1
  83. package/dist/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  84. package/dist/components/atoms/PressableSurface/index.js.map +1 -1
  85. package/dist/components/atoms/ProgressBar/ProgressBar.d.ts +1 -1
  86. package/dist/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  87. package/dist/components/atoms/ProgressBar/index.js.map +1 -1
  88. package/dist/components/atoms/ProgressBar/styled.js +1 -1
  89. package/dist/components/atoms/ProgressBar/styled.js.map +1 -1
  90. package/dist/components/atoms/RadioButton/RadioButton.js +1 -1
  91. package/dist/components/atoms/RadioButton/RadioButton.js.map +1 -1
  92. package/dist/components/atoms/RadioButton/index.js.map +1 -1
  93. package/dist/components/atoms/RadioButton/styled.js +1 -1
  94. package/dist/components/atoms/RadioButton/styled.js.map +1 -1
  95. package/dist/components/atoms/Switch/Switch.d.ts +1 -1
  96. package/dist/components/atoms/Switch/Switch.js +1 -1
  97. package/dist/components/atoms/Switch/Switch.js.map +1 -1
  98. package/dist/components/atoms/Switch/animation.js.map +1 -1
  99. package/dist/components/atoms/Switch/index.js.map +1 -1
  100. package/dist/components/atoms/Switch/styled.d.ts +2 -14
  101. package/dist/components/atoms/Switch/styled.js +1 -1
  102. package/dist/components/atoms/Switch/styled.js.map +1 -1
  103. package/dist/components/atoms/Tag/Tag.js +1 -1
  104. package/dist/components/atoms/Tag/Tag.js.map +1 -1
  105. package/dist/components/atoms/Tag/index.js.map +1 -1
  106. package/dist/components/atoms/Tag/styled.js +1 -1
  107. package/dist/components/atoms/Tag/styled.js.map +1 -1
  108. package/dist/components/atoms/Text/Text.js +1 -1
  109. package/dist/components/atoms/Text/Text.js.map +1 -1
  110. package/dist/components/atoms/Text/functions.js.map +1 -1
  111. package/dist/components/atoms/Text/index.js.map +1 -1
  112. package/dist/components/atoms/Text/styled.js +1 -1
  113. package/dist/components/atoms/Text/styled.js.map +1 -1
  114. package/dist/components/atoms/shared/PaperAndCard.js.map +1 -1
  115. package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
  116. package/dist/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  117. package/dist/components/molecules/Calendar/components/Weekdays.js.map +1 -1
  118. package/dist/components/molecules/Calendar/components/index.js +1 -1
  119. package/dist/components/molecules/Calendar/components/index.js.map +1 -1
  120. package/dist/components/molecules/Calendar/index.d.ts +1 -1
  121. package/dist/components/molecules/Calendar/index.js +1 -1
  122. package/dist/components/molecules/Calendar/index.js.map +1 -1
  123. package/dist/components/molecules/Calendar/styled.js +1 -1
  124. package/dist/components/molecules/Calendar/styled.js.map +1 -1
  125. package/dist/components/molecules/DatePicker/DatePicker.js +1 -1
  126. package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
  127. package/dist/components/molecules/DatePicker/index.js.map +1 -1
  128. package/dist/components/molecules/DatePicker/styled.js +1 -1
  129. package/dist/components/molecules/DatePicker/styled.js.map +1 -1
  130. package/dist/components/molecules/DateTimePicker/DateTimePicker.js +1 -1
  131. package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  132. package/dist/components/molecules/DateTimePicker/index.js.map +1 -1
  133. package/dist/components/molecules/DateTimePicker/styled.js.map +1 -1
  134. package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +2 -1
  135. package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  136. package/dist/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  137. package/dist/components/molecules/DateTimeSelector/index.js +1 -1
  138. package/dist/components/molecules/DateTimeSelector/index.js.map +1 -1
  139. package/dist/components/molecules/DateTimeSelector/styled.js +1 -1
  140. package/dist/components/molecules/DateTimeSelector/styled.js.map +1 -1
  141. package/dist/components/molecules/Grid/functions.d.ts +3 -0
  142. package/dist/components/molecules/Grid/functions.js +21 -0
  143. package/dist/components/molecules/Grid/functions.js.map +1 -0
  144. package/dist/components/molecules/Grid/index.d.ts +42 -2
  145. package/dist/components/molecules/Grid/index.js +4 -13
  146. package/dist/components/molecules/Grid/index.js.map +1 -1
  147. package/dist/components/molecules/HintInputContainer/HintInputContainer.js +1 -1
  148. package/dist/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  149. package/dist/components/molecules/HintInputContainer/index.js.map +1 -1
  150. package/dist/components/molecules/HintInputContainer/styled.js.map +1 -1
  151. package/dist/components/molecules/IconTextButton/IconComponent.d.ts +9 -0
  152. package/dist/components/molecules/IconTextButton/IconComponent.js +28 -0
  153. package/dist/components/molecules/IconTextButton/IconComponent.js.map +1 -0
  154. package/dist/components/molecules/IconTextButton/IconTextButton.d.ts +8 -0
  155. package/dist/components/molecules/IconTextButton/IconTextButton.js +4 -0
  156. package/dist/components/molecules/IconTextButton/IconTextButton.js.map +1 -0
  157. package/dist/components/molecules/IconTextButton/index.d.ts +2 -0
  158. package/dist/components/molecules/IconTextButton/index.js +16 -0
  159. package/dist/components/molecules/IconTextButton/index.js.map +1 -0
  160. package/dist/components/molecules/IconTextButton/styled.d.ts +4 -0
  161. package/dist/components/molecules/{Grid/Item/index.js → IconTextButton/styled.js} +19 -5
  162. package/dist/components/molecules/IconTextButton/styled.js.map +1 -0
  163. package/dist/components/molecules/InputPassword/InputPasswordIcon.js +1 -1
  164. package/dist/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  165. package/dist/components/molecules/InputPassword/index.js.map +1 -1
  166. package/dist/components/molecules/InputPassword/styled.js.map +1 -1
  167. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +7 -0
  168. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +4 -0
  169. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -0
  170. package/dist/components/molecules/LabeledSwitch/index.d.ts +1 -0
  171. package/dist/components/molecules/LabeledSwitch/index.js +10 -0
  172. package/dist/components/molecules/LabeledSwitch/index.js.map +1 -0
  173. package/dist/components/molecules/Snackbar/Snackbar.js +1 -1
  174. package/dist/components/molecules/Snackbar/Snackbar.js.map +1 -1
  175. package/dist/components/molecules/Snackbar/index.js.map +1 -1
  176. package/dist/components/molecules/Snackbar/styled.js +1 -1
  177. package/dist/components/molecules/Snackbar/styled.js.map +1 -1
  178. package/dist/components/molecules/TextArea/TextArea.d.ts +1 -1
  179. package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
  180. package/dist/components/molecules/TextArea/index.js +1 -1
  181. package/dist/components/molecules/TextArea/index.js.map +1 -1
  182. package/dist/components/molecules/TextArea/styled.d.ts +2 -14
  183. package/dist/components/molecules/TextArea/styled.js.map +1 -1
  184. package/dist/hooks/index.js.map +1 -1
  185. package/dist/hooks/useDebouncedState.js +1 -1
  186. package/dist/hooks/useDebouncedState.js.map +1 -1
  187. package/dist/hooks/useTheme.js.map +1 -1
  188. package/dist/index.d.ts +7 -5
  189. package/dist/index.js +58 -30
  190. package/dist/index.js.map +1 -1
  191. package/dist/styles/ThemeProvider.js.map +1 -1
  192. package/dist/styles/definitions.d.ts +2 -1
  193. package/dist/styles/definitions.js +7 -1
  194. package/dist/styles/definitions.js.map +1 -1
  195. package/dist/styles/light.js +2 -1
  196. package/dist/styles/light.js.map +1 -1
  197. package/dist/types/defaults.d.ts +8 -2
  198. package/dist/types/defaults.js.map +1 -1
  199. package/dist/utils/IPhoneXHelper.js +3 -3
  200. package/dist/utils/IPhoneXHelper.js.map +1 -1
  201. package/dist/utils/ResponsiveFontSize.js +6 -6
  202. package/dist/utils/ResponsiveFontSize.js.map +1 -1
  203. package/dist/utils/extractNumbersFromString.js +1 -1
  204. package/dist/utils/extractNumbersFromString.js.map +1 -1
  205. package/dist/utils/formatWithMask.js.map +1 -1
  206. package/dist/utils/index.d.ts +5 -4
  207. package/dist/utils/index.js +28 -19
  208. package/dist/utils/index.js.map +1 -1
  209. package/dist/utils/lightenDarkenColor.js.map +1 -1
  210. package/dist/utils/masks.js.map +1 -1
  211. package/dist/utils/variantComplement.d.ts +6 -0
  212. package/dist/utils/variantComplement.js +35 -0
  213. package/dist/utils/variantComplement.js.map +1 -0
  214. package/package.json +5 -5
  215. package/src/components/atoms/Badge/styled.ts +2 -3
  216. package/src/components/atoms/GroupButton/GroupButton.tsx +2 -5
  217. package/src/components/atoms/Input/InputContainer/InputContainer.tsx +3 -3
  218. package/src/components/atoms/Input/InputElement/InputElement.tsx +4 -5
  219. package/src/components/atoms/Input/InputMaskElement/InputMaskElement.tsx +4 -5
  220. package/src/components/atoms/ProgressBar/ProgressBar.tsx +2 -4
  221. package/src/components/atoms/Switch/Switch.tsx +39 -19
  222. package/src/components/atoms/Switch/animation.ts +4 -6
  223. package/src/components/atoms/Switch/styled.ts +4 -6
  224. package/src/components/atoms/Tag/Tag.tsx +1 -1
  225. package/src/components/atoms/shared/PaperAndCard.ts +1 -1
  226. package/src/components/molecules/Calendar/index.ts +1 -1
  227. package/src/components/molecules/DatePicker/DatePicker.tsx +12 -8
  228. package/src/components/molecules/DateTimePicker/DateTimePicker.tsx +19 -11
  229. package/src/components/molecules/DateTimeSelector/DateTimeSelector.tsx +0 -1
  230. package/src/components/molecules/Grid/functions.ts +29 -0
  231. package/src/components/molecules/Grid/index.ts +66 -2
  232. package/src/components/molecules/HintInputContainer/HintInputContainer.tsx +6 -1
  233. package/src/components/molecules/IconTextButton/IconComponent.tsx +31 -0
  234. package/src/components/molecules/IconTextButton/IconTextButton.tsx +10 -0
  235. package/src/components/molecules/IconTextButton/index.ts +2 -0
  236. package/src/components/molecules/IconTextButton/styled.ts +20 -0
  237. package/src/components/molecules/LabeledSwitch/LabeledSwitch.tsx +9 -0
  238. package/src/components/molecules/LabeledSwitch/index.ts +1 -0
  239. package/src/components/molecules/Snackbar/Snackbar.tsx +1 -1
  240. package/src/components/molecules/Snackbar/styled.ts +6 -2
  241. package/src/components/molecules/TextArea/TextArea.tsx +6 -2
  242. package/src/components/molecules/TextArea/styled.ts +5 -2
  243. package/src/hooks/useDebouncedState.ts +1 -1
  244. package/src/index.ts +26 -6
  245. package/src/styles/definitions.ts +8 -1
  246. package/src/styles/light.ts +2 -0
  247. package/src/types/defaults.ts +11 -1
  248. package/src/utils/IPhoneXHelper.ts +27 -22
  249. package/src/utils/ResponsiveFontSize.ts +55 -36
  250. package/src/utils/index.ts +5 -4
  251. package/src/utils/variantComplement.ts +36 -0
  252. package/dist/components/molecules/Grid/Grid.d.ts +0 -15
  253. package/dist/components/molecules/Grid/Grid.js +0 -55
  254. package/dist/components/molecules/Grid/Grid.js.map +0 -1
  255. package/dist/components/molecules/Grid/Item/Item.d.ts +0 -30
  256. package/dist/components/molecules/Grid/Item/Item.js +0 -68
  257. package/dist/components/molecules/Grid/Item/Item.js.map +0 -1
  258. package/dist/components/molecules/Grid/Item/index.d.ts +0 -1
  259. package/dist/components/molecules/Grid/Item/index.js.map +0 -1
  260. package/src/components/molecules/Grid/Grid.stories.tsx +0 -132
  261. package/src/components/molecules/Grid/Grid.tsx +0 -87
  262. package/src/components/molecules/Grid/Item/Item.tsx +0 -93
  263. package/src/components/molecules/Grid/Item/index.ts +0 -1
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.default = void 0;
5
-
6
- var _react = _interopRequireDefault(require("react"));
7
-
8
- var _reactNative = require("react-native");
9
-
10
- var _hooks = require("../../../../hooks");
11
-
12
- var _utils = require("../../../../utils");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- const GridItem = ({
17
- children,
18
- span,
19
- columns = 12,
20
- loadingComponent,
21
- loading = false,
22
- spacing: _spacing,
23
- wrapper = false,
24
- ...rest
25
- }) => {
26
- const {
27
- spacing
28
- } = (0, _hooks.useTheme)();
29
-
30
- if (!_react.default.Children.only(children)) {
31
- throw new Error('The number of children in GridItem should be one');
32
- }
33
-
34
- if (loadingComponent && loading) {
35
- return loadingComponent;
36
- }
37
-
38
- const getPadding = pos => {
39
- if (_spacing) {
40
- if (typeof _spacing === 'string') return (0, _utils.extractNumbersFromString)(spacing[_spacing]);else if (typeof _spacing === 'object' && _spacing[pos]) {
41
- return (0, _utils.extractNumbersFromString)(spacing[_spacing[pos]]);
42
- } else return undefined;
43
- } else return undefined;
44
- };
45
-
46
- const style = { ...rest,
47
- boxSizing: 'border-box',
48
- flexBasis: `${100 / (columns / span)}%`,
49
- paddingTop: getPadding('top'),
50
- paddingBottom: getPadding('bottom'),
51
- paddingRight: getPadding('right'),
52
- paddingLeft: getPadding('left')
53
- };
54
-
55
- const clone = _react.default.cloneElement(children, { ...(children == null ? void 0 : children.props),
56
- style: wrapper ? children == null ? void 0 : children.props.style : { ...style,
57
- ...(children == null ? void 0 : children.props.style)
58
- }
59
- });
60
-
61
- return wrapper ? _react.default.createElement(_reactNative.View, {
62
- style: style
63
- }, clone) : clone;
64
- };
65
-
66
- var _default = GridItem;
67
- exports.default = _default;
68
- //# sourceMappingURL=Item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/molecules/Grid/Item/Item.tsx"],"names":["GridItem","children","span","columns","loadingComponent","loading","spacing","_spacing","wrapper","rest","React","Children","only","Error","getPadding","pos","undefined","style","boxSizing","flexBasis","paddingTop","paddingBottom","paddingRight","paddingLeft","clone","cloneElement","props"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAwCA,MAAMA,QAAQ,GAAG,CAAC;AAChBC,EAAAA,QADgB;AAEhBC,EAAAA,IAFgB;AAGhBC,EAAAA,OAAO,GAAG,EAHM;AAIhBC,EAAAA,gBAJgB;AAKhBC,EAAAA,OAAO,GAAG,KALM;AAMhBC,EAAAA,OAAO,EAAEC,QANO;AAOhBC,EAAAA,OAAO,GAAG,KAPM;AAQhB,KAAGC;AARa,CAAD,KASA;AACf,QAAM;AAAEH,IAAAA;AAAF,MAAc,sBAApB;;AACA,MAAI,CAACI,eAAMC,QAAN,CAAeC,IAAf,CAAoBX,QAApB,CAAL,EAAoC;AAClC,UAAM,IAAIY,KAAJ,CAAU,kDAAV,CAAN;AACD;;AACD,MAAIT,gBAAgB,IAAIC,OAAxB,EAAiC;AAC/B,WAAOD,gBAAP;AACD;;AAED,QAAMU,UAAU,GAAIC,GAAD,IAA0B;AAC3C,QAAIR,QAAJ,EAAc;AACZ,UAAI,OAAOA,QAAP,KAAoB,QAAxB,EACE,OAAO,qCAAyBD,OAAO,CAACC,QAAD,CAAhC,CAAP,CADF,KAEK,IAAI,OAAOA,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,CAACQ,GAAD,CAA5C,EAAmD;AACtD,eAAO,qCAAyBT,OAAO,CAACC,QAAQ,CAACQ,GAAD,CAAT,CAAhC,CAAP;AACD,OAFI,MAEE,OAAOC,SAAP;AACR,KAND,MAMO,OAAOA,SAAP;AACR,GARD;;AAUA,QAAMC,KAAK,GAAG,EACZ,GAAGR,IADS;AAEZS,IAAAA,SAAS,EAAE,YAFC;AAGZC,IAAAA,SAAS,EAAG,GAAE,OAAOhB,OAAO,GAAGD,IAAjB,CAAuB,GAHzB;AAIZkB,IAAAA,UAAU,EAAEN,UAAU,CAAC,KAAD,CAJV;AAKZO,IAAAA,aAAa,EAAEP,UAAU,CAAC,QAAD,CALb;AAMZQ,IAAAA,YAAY,EAAER,UAAU,CAAC,OAAD,CANZ;AAOZS,IAAAA,WAAW,EAAET,UAAU,CAAC,MAAD;AAPX,GAAd;;AAUA,QAAMU,KAAK,GAAGd,eAAMe,YAAN,CAAmBxB,QAAnB,EAA6B,EACzC,IAAGA,QAAH,oBAAGA,QAAQ,CAAEyB,KAAb,CADyC;AAEzCT,IAAAA,KAAK,EAAET,OAAO,GACVP,QADU,oBACVA,QAAQ,CAAEyB,KAAV,CAAgBT,KADN,GAEV,EAAE,GAAGA,KAAL;AAAY,UAAGhB,QAAH,oBAAGA,QAAQ,CAAEyB,KAAV,CAAgBT,KAAnB;AAAZ;AAJqC,GAA7B,CAAd;;AAOA,SAAOT,OAAO,GAAG,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAES;AAAb,KAAqBO,KAArB,CAAH,GAAwCA,KAAtD;AACD,CA9CD;;eAgDexB,Q","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { useTheme } from '../../../../hooks';\nimport { SpacingType } from '../../../../types/defaults';\nimport { extractNumbersFromString } from '../../../../utils';\n\ntype FlexPositioning = 'flex-start' | 'flex-end' | 'center';\ntype FlexAlignBase = FlexPositioning | 'stretch';\ntype FlexAlignType = FlexAlignBase | 'baseline';\ntype FlexSpacing = 'space-between' | 'space-around';\n\ntype PaddingPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface IGridItem {\n children: React.ReactElement;\n /** Number of columns to fill */\n span: number;\n /** You don't have to give this property since is inherited from Grid */\n columns?: number;\n loading?: boolean;\n /** If your GridItem has a loading state, specify the component here (Skeleton) */\n loadingComponent?: React.ReactElement;\n /** Flex properties below */\n alignContent?: FlexAlignBase | FlexSpacing;\n alignItems?: FlexAlignType;\n alignSelf?: 'auto' | FlexAlignType;\n flex?: number;\n flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';\n flexGrow?: number;\n flexShrink?: number;\n justifyContent?: FlexPositioning | FlexSpacing | 'space-evenly';\n /** You don't have to give this property since is inherited from Grid */\n spacing?:\n | SpacingType\n | {\n top?: SpacingType;\n right?: SpacingType;\n bottom?: SpacingType;\n left?: SpacingType;\n };\n /** Used to wrap children in a View when its style extrapolates the dimensions*/\n wrapper?: boolean;\n}\n\nconst GridItem = ({\n children,\n span,\n columns = 12,\n loadingComponent,\n loading = false,\n spacing: _spacing,\n wrapper = false,\n ...rest\n}: IGridItem) => {\n const { spacing } = useTheme();\n if (!React.Children.only(children)) {\n throw new Error('The number of children in GridItem should be one');\n }\n if (loadingComponent && loading) {\n return loadingComponent;\n }\n\n const getPadding = (pos: PaddingPosition) => {\n if (_spacing) {\n if (typeof _spacing === 'string')\n return extractNumbersFromString(spacing[_spacing]);\n else if (typeof _spacing === 'object' && _spacing[pos]) {\n return extractNumbersFromString(spacing[_spacing[pos]!]);\n } else return undefined;\n } else return undefined;\n };\n\n const style = {\n ...rest,\n boxSizing: 'border-box',\n flexBasis: `${100 / (columns / span)}%`,\n paddingTop: getPadding('top'),\n paddingBottom: getPadding('bottom'),\n paddingRight: getPadding('right'),\n paddingLeft: getPadding('left'),\n };\n\n const clone = React.cloneElement(children, {\n ...children?.props,\n style: wrapper\n ? children?.props.style\n : { ...style, ...children?.props.style },\n });\n\n return wrapper ? <View style={style}>{clone}</View> : clone;\n};\n\nexport default GridItem;\n"],"file":"Item.js"}
@@ -1 +0,0 @@
1
- export { default as GridItem, IGridItem } from './Item';
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/molecules/Grid/Item/index.ts"],"names":[],"mappings":";;;;;AAAA","sourcesContent":["export { default as GridItem, IGridItem } from './Item';\n"],"file":"index.js"}
@@ -1,132 +0,0 @@
1
- import React from 'react';
2
- import { Story } from '@storybook/react';
3
- import Grid, { IGrid } from './Grid';
4
- import { GridItem } from './Item';
5
- import { Text } from '@tecsinapse/react-core';
6
- import { View } from 'react-native';
7
- import styled from '@emotion/native';
8
-
9
- export default {
10
- title: 'Hybrid/Grid',
11
- component: Grid,
12
- subcomponents: { GridItem },
13
- };
14
-
15
- const Container = styled(View)`
16
- background-color: orange;
17
- padding: 2px;
18
- border-width: 1px;
19
- border-color: white;
20
- border-style: solid;
21
- border-radius: 8px;
22
- `;
23
-
24
- const TemplateGrid: Story<IGrid> = args => {
25
- return (
26
- <Grid {...args}>
27
- <GridItem span={12}>
28
- <Container>
29
- <Text>Box</Text>
30
- </Container>
31
- </GridItem>
32
-
33
- <GridItem span={6}>
34
- <Container>
35
- <Text>Box</Text>
36
- </Container>
37
- </GridItem>
38
- <GridItem span={6}>
39
- <Container>
40
- <Text>Box</Text>
41
- </Container>
42
- </GridItem>
43
-
44
- <GridItem span={4} flexShrink={1}>
45
- <Container>
46
- <Text>Box</Text>
47
- </Container>
48
- </GridItem>
49
- <GridItem span={4} flexGrow={1}>
50
- <Container>
51
- <Text>Box</Text>
52
- </Container>
53
- </GridItem>
54
- <GridItem span={4} flexShrink={1}>
55
- <Container>
56
- <Text>Box</Text>
57
- </Container>
58
- </GridItem>
59
-
60
- <GridItem span={3}>
61
- <Container>
62
- <Text>Box</Text>
63
- </Container>
64
- </GridItem>
65
- <GridItem span={3}>
66
- <Container>
67
- <Text>Box</Text>
68
- </Container>
69
- </GridItem>
70
- <GridItem span={3}>
71
- <Container>
72
- <Text>Box</Text>
73
- </Container>
74
- </GridItem>
75
- <GridItem span={3}>
76
- <Container>
77
- <Text>Box</Text>
78
- </Container>
79
- </GridItem>
80
- </Grid>
81
- );
82
- };
83
-
84
- export const WithGridItem = TemplateGrid.bind({});
85
-
86
- WithGridItem.args = {
87
- spacing: 'mili',
88
- };
89
-
90
- const TemplateLayout: Story<IGrid> = args => {
91
- return (
92
- <Grid {...args}>
93
- <Container>
94
- <Text>Box</Text>
95
- </Container>
96
- <Container>
97
- <Text>Box</Text>
98
- </Container>
99
- <Container>
100
- <Text>Box</Text>
101
- </Container>
102
- <Container>
103
- <Text>Box</Text>
104
- </Container>
105
- <Container>
106
- <Text>Box</Text>
107
- </Container>
108
- <Container>
109
- <Text>Box</Text>
110
- </Container>
111
- <Container>
112
- <Text>Box</Text>
113
- </Container>
114
- <Container>
115
- <Text>Box</Text>
116
- </Container>
117
- <Container>
118
- <Text>Box</Text>
119
- </Container>
120
- <Container>
121
- <Text>Box</Text>
122
- </Container>
123
- </Grid>
124
- );
125
- };
126
-
127
- export const WithLayout = TemplateLayout.bind({});
128
-
129
- WithLayout.args = {
130
- layout: [[12], [6, 6], [4, 4, 4], [3, 3, 3, 3]],
131
- spacing: 'mili',
132
- };
@@ -1,87 +0,0 @@
1
- import React from 'react';
2
- import { View, ViewProps } from 'react-native';
3
- import { GridItem } from './Item';
4
- import { SpacingType } from '@tecsinapse/react-core';
5
-
6
- export interface IGrid extends ViewProps {
7
- children: JSX.Element[];
8
- /** Layout should represent the multiplier of columns to fill the rows properly.
9
- * Example:
10
- * const layout = [
11
- * [6, 6], // Two elements on row
12
- * [4, 4, 4], // Three elements on row
13
- * [12], // One element on row
14
- * ];
15
- * */
16
- layout?: number[][];
17
- /** Number of grid columns to be considered (not the number of elements per row) */
18
- columns?: number;
19
- spacing?:
20
- | SpacingType
21
- | {
22
- top?: SpacingType;
23
- right?: SpacingType;
24
- bottom?: SpacingType;
25
- left?: SpacingType;
26
- };
27
- }
28
-
29
- const Grid = ({
30
- children,
31
- columns = 12,
32
- layout,
33
- style,
34
- spacing,
35
- ...rest
36
- }: IGrid) => {
37
- if (layout) {
38
- const flatLayout = layout.flat();
39
- return (
40
- <View
41
- style={[
42
- style,
43
- {
44
- display: 'flex',
45
- flexDirection: 'row',
46
- flexWrap: 'wrap',
47
- },
48
- ]}
49
- {...rest}
50
- >
51
- {React.Children.map(children, (child, index) => (
52
- <GridItem
53
- columns={columns}
54
- span={flatLayout[index]}
55
- spacing={spacing}
56
- >
57
- {child}
58
- </GridItem>
59
- ))}
60
- </View>
61
- );
62
- }
63
-
64
- return (
65
- <View
66
- style={[
67
- style,
68
- {
69
- display: 'flex',
70
- flexDirection: 'row',
71
- flexWrap: 'wrap',
72
- },
73
- ]}
74
- {...rest}
75
- >
76
- {React.Children.map(children, child => {
77
- return React.cloneElement(child, {
78
- ...child?.props,
79
- columns,
80
- spacing: child?.props.spacing ?? spacing,
81
- });
82
- })}
83
- </View>
84
- );
85
- };
86
-
87
- export default Grid;
@@ -1,93 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { useTheme } from '../../../../hooks';
4
- import { SpacingType } from '../../../../types/defaults';
5
- import { extractNumbersFromString } from '../../../../utils';
6
-
7
- type FlexPositioning = 'flex-start' | 'flex-end' | 'center';
8
- type FlexAlignBase = FlexPositioning | 'stretch';
9
- type FlexAlignType = FlexAlignBase | 'baseline';
10
- type FlexSpacing = 'space-between' | 'space-around';
11
-
12
- type PaddingPosition = 'top' | 'right' | 'bottom' | 'left';
13
-
14
- export interface IGridItem {
15
- children: React.ReactElement;
16
- /** Number of columns to fill */
17
- span: number;
18
- /** You don't have to give this property since is inherited from Grid */
19
- columns?: number;
20
- loading?: boolean;
21
- /** If your GridItem has a loading state, specify the component here (Skeleton) */
22
- loadingComponent?: React.ReactElement;
23
- /** Flex properties below */
24
- alignContent?: FlexAlignBase | FlexSpacing;
25
- alignItems?: FlexAlignType;
26
- alignSelf?: 'auto' | FlexAlignType;
27
- flex?: number;
28
- flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
29
- flexGrow?: number;
30
- flexShrink?: number;
31
- justifyContent?: FlexPositioning | FlexSpacing | 'space-evenly';
32
- /** You don't have to give this property since is inherited from Grid */
33
- spacing?:
34
- | SpacingType
35
- | {
36
- top?: SpacingType;
37
- right?: SpacingType;
38
- bottom?: SpacingType;
39
- left?: SpacingType;
40
- };
41
- /** Used to wrap children in a View when its style extrapolates the dimensions*/
42
- wrapper?: boolean;
43
- }
44
-
45
- const GridItem = ({
46
- children,
47
- span,
48
- columns = 12,
49
- loadingComponent,
50
- loading = false,
51
- spacing: _spacing,
52
- wrapper = false,
53
- ...rest
54
- }: IGridItem) => {
55
- const { spacing } = useTheme();
56
- if (!React.Children.only(children)) {
57
- throw new Error('The number of children in GridItem should be one');
58
- }
59
- if (loadingComponent && loading) {
60
- return loadingComponent;
61
- }
62
-
63
- const getPadding = (pos: PaddingPosition) => {
64
- if (_spacing) {
65
- if (typeof _spacing === 'string')
66
- return extractNumbersFromString(spacing[_spacing]);
67
- else if (typeof _spacing === 'object' && _spacing[pos]) {
68
- return extractNumbersFromString(spacing[_spacing[pos]!]);
69
- } else return undefined;
70
- } else return undefined;
71
- };
72
-
73
- const style = {
74
- ...rest,
75
- boxSizing: 'border-box',
76
- flexBasis: `${100 / (columns / span)}%`,
77
- paddingTop: getPadding('top'),
78
- paddingBottom: getPadding('bottom'),
79
- paddingRight: getPadding('right'),
80
- paddingLeft: getPadding('left'),
81
- };
82
-
83
- const clone = React.cloneElement(children, {
84
- ...children?.props,
85
- style: wrapper
86
- ? children?.props.style
87
- : { ...style, ...children?.props.style },
88
- });
89
-
90
- return wrapper ? <View style={style}>{clone}</View> : clone;
91
- };
92
-
93
- export default GridItem;
@@ -1 +0,0 @@
1
- export { default as GridItem, IGridItem } from './Item';