@tecsinapse/react-native-kit 1.23.11 → 2.0.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 (227) hide show
  1. package/dist/cjs/components/atoms/Avatar/Avatar.js +1 -8
  2. package/dist/cjs/components/atoms/Avatar/Avatar.js.map +1 -1
  3. package/dist/cjs/components/atoms/Badge/Badge.js +8 -12
  4. package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
  5. package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js +14 -16
  6. package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  7. package/dist/cjs/components/atoms/BottomNavigator/Item.d.ts +3 -3
  8. package/dist/cjs/components/atoms/BottomNavigator/Item.js +4 -12
  9. package/dist/cjs/components/atoms/BottomNavigator/Item.js.map +1 -1
  10. package/dist/cjs/components/atoms/BottomNavigator/styled.js +4 -10
  11. package/dist/cjs/components/atoms/BottomNavigator/styled.js.map +1 -1
  12. package/dist/cjs/components/atoms/Button/Button.d.ts +1 -1
  13. package/dist/cjs/components/atoms/Button/Button.js +1 -10
  14. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  15. package/dist/cjs/components/atoms/Button/States/Error.js +1 -8
  16. package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
  17. package/dist/cjs/components/atoms/Button/States/Loading.js +1 -8
  18. package/dist/cjs/components/atoms/Button/States/Loading.js.map +1 -1
  19. package/dist/cjs/components/atoms/Button/States/Success.js +1 -8
  20. package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
  21. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
  22. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js +1 -8
  23. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  24. package/dist/cjs/components/atoms/Header/Header.d.ts +1 -1
  25. package/dist/cjs/components/atoms/Header/Header.js +14 -33
  26. package/dist/cjs/components/atoms/Header/Header.js.map +1 -1
  27. package/dist/cjs/components/atoms/Header/styled.js +3 -9
  28. package/dist/cjs/components/atoms/Header/styled.js.map +1 -1
  29. package/dist/cjs/components/atoms/Input/Input.js +37 -38
  30. package/dist/cjs/components/atoms/Input/Input.js.map +1 -1
  31. package/dist/cjs/components/atoms/Input/styled.js +2 -8
  32. package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
  33. package/dist/cjs/components/atoms/InputMask/InputMask.js +37 -40
  34. package/dist/cjs/components/atoms/InputMask/InputMask.js.map +1 -1
  35. package/dist/cjs/components/atoms/InputMask/styled.js +3 -9
  36. package/dist/cjs/components/atoms/InputMask/styled.js.map +1 -1
  37. package/dist/cjs/components/atoms/Modal/ModalGroupManager.js +11 -13
  38. package/dist/cjs/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  39. package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js +47 -7
  40. package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  41. package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js +20 -21
  42. package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
  43. package/dist/cjs/components/atoms/Modal/ui/styled.js +3 -9
  44. package/dist/cjs/components/atoms/Modal/ui/styled.js.map +1 -1
  45. package/dist/cjs/components/atoms/Modal/ui/types.d.ts +2 -1
  46. package/dist/cjs/components/atoms/Modal/useLazyModalManager.js +0 -2
  47. package/dist/cjs/components/atoms/Modal/useLazyModalManager.js.map +1 -1
  48. package/dist/cjs/components/atoms/Modal/useModalManager.js +0 -2
  49. package/dist/cjs/components/atoms/Modal/useModalManager.js.map +1 -1
  50. package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js +0 -2
  51. package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
  52. package/dist/cjs/components/atoms/Skeleton/Pulse.d.ts +1 -0
  53. package/dist/cjs/components/atoms/Skeleton/Pulse.js +15 -18
  54. package/dist/cjs/components/atoms/Skeleton/Pulse.js.map +1 -1
  55. package/dist/cjs/components/atoms/Skeleton/Skeleton.js +25 -24
  56. package/dist/cjs/components/atoms/Skeleton/Skeleton.js.map +1 -1
  57. package/dist/cjs/components/atoms/Skeleton/Wave.d.ts +1 -0
  58. package/dist/cjs/components/atoms/Skeleton/Wave.js +47 -30
  59. package/dist/cjs/components/atoms/Skeleton/Wave.js.map +1 -1
  60. package/dist/cjs/components/atoms/Skeleton/animation.js +0 -2
  61. package/dist/cjs/components/atoms/Skeleton/animation.js.map +1 -1
  62. package/dist/cjs/components/atoms/Skeleton/styled.js +1 -7
  63. package/dist/cjs/components/atoms/Skeleton/styled.js.map +1 -1
  64. package/dist/cjs/components/atoms/Skeleton/types.d.ts +1 -1
  65. package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js +30 -23
  66. package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  67. package/dist/cjs/components/atoms/Tag/Tag.js +17 -14
  68. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  69. package/dist/cjs/components/atoms/Text/Text.d.ts +1 -1
  70. package/dist/cjs/components/atoms/Text/Text.js +1 -7
  71. package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
  72. package/dist/cjs/components/atoms/Text/styled.js +1 -7
  73. package/dist/cjs/components/atoms/Text/styled.js.map +1 -1
  74. package/dist/cjs/components/atoms/TextArea/TextArea.d.ts +1 -1
  75. package/dist/cjs/components/atoms/TextArea/TextArea.js +42 -39
  76. package/dist/cjs/components/atoms/TextArea/TextArea.js.map +1 -1
  77. package/dist/cjs/components/atoms/TextArea/styled.js +1 -7
  78. package/dist/cjs/components/atoms/TextArea/styled.js.map +1 -1
  79. package/dist/cjs/components/molecules/Calendar/Calendar.d.ts +1 -0
  80. package/dist/cjs/components/molecules/Calendar/Calendar.js +8 -11
  81. package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
  82. package/dist/cjs/components/molecules/DatePicker/DatePicker.d.ts +2 -1
  83. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +14 -22
  84. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  85. package/dist/cjs/components/molecules/DatePicker/styled.js +1 -7
  86. package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
  87. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
  88. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +13 -20
  89. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  90. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -11
  91. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  92. package/dist/cjs/components/molecules/Grid/Grid.d.ts +2 -1
  93. package/dist/cjs/components/molecules/Grid/Grid.js +38 -30
  94. package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
  95. package/dist/cjs/components/molecules/Grid/Item/Item.d.ts +3 -2
  96. package/dist/cjs/components/molecules/Grid/Item/Item.js +3 -10
  97. package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
  98. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
  99. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js +25 -24
  100. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  101. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js +13 -13
  102. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  103. package/dist/cjs/components/molecules/IconTextButton/styled.js +2 -8
  104. package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
  105. package/dist/cjs/components/molecules/InputPassword/InputPassword.d.ts +1 -1
  106. package/dist/cjs/components/molecules/InputPassword/InputPassword.js +17 -15
  107. package/dist/cjs/components/molecules/InputPassword/InputPassword.js.map +1 -1
  108. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js +11 -13
  109. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  110. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
  111. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -26
  112. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  113. package/dist/cjs/components/molecules/LabeledSwitch/styled.js +2 -8
  114. package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
  115. package/dist/cjs/components/molecules/Select/Modal.d.ts +1 -0
  116. package/dist/cjs/components/molecules/Select/Modal.js +93 -78
  117. package/dist/cjs/components/molecules/Select/Modal.js.map +1 -1
  118. package/dist/cjs/components/molecules/Select/Select.d.ts +1 -0
  119. package/dist/cjs/components/molecules/Select/Select.js +56 -49
  120. package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
  121. package/dist/cjs/components/molecules/Select/styled.js +14 -20
  122. package/dist/cjs/components/molecules/Select/styled.js.map +1 -1
  123. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +1 -11
  124. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  125. package/dist/cjs/components/molecules/Snackbar/styled.js +1 -7
  126. package/dist/cjs/components/molecules/Snackbar/styled.js.map +1 -1
  127. package/dist/cjs/index.js +0 -2
  128. package/dist/cjs/index.js.map +1 -1
  129. package/dist/cjs/utils/date.js +3 -6
  130. package/dist/cjs/utils/date.js.map +1 -1
  131. package/dist/esm/components/atoms/Avatar/Avatar.js +1 -4
  132. package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  133. package/dist/esm/components/atoms/Badge/Badge.js +8 -8
  134. package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
  135. package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js +11 -12
  136. package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  137. package/dist/esm/components/atoms/BottomNavigator/Item.d.ts +3 -3
  138. package/dist/esm/components/atoms/BottomNavigator/Item.js +1 -8
  139. package/dist/esm/components/atoms/BottomNavigator/Item.js.map +1 -1
  140. package/dist/esm/components/atoms/BottomNavigator/styled.js.map +1 -1
  141. package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
  142. package/dist/esm/components/atoms/Button/Button.js +1 -4
  143. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  144. package/dist/esm/components/atoms/Button/States/Error.js +1 -4
  145. package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
  146. package/dist/esm/components/atoms/Button/States/Loading.js +1 -4
  147. package/dist/esm/components/atoms/Button/States/Loading.js.map +1 -1
  148. package/dist/esm/components/atoms/Button/States/Success.js +1 -4
  149. package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
  150. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
  151. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js +1 -4
  152. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  153. package/dist/esm/components/atoms/Header/Header.d.ts +1 -1
  154. package/dist/esm/components/atoms/Header/Header.js +11 -29
  155. package/dist/esm/components/atoms/Header/Header.js.map +1 -1
  156. package/dist/esm/components/atoms/Input/Input.js +36 -33
  157. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  158. package/dist/esm/components/atoms/InputMask/InputMask.js +36 -35
  159. package/dist/esm/components/atoms/InputMask/InputMask.js.map +1 -1
  160. package/dist/esm/components/atoms/Modal/ModalGroupManager.js +11 -7
  161. package/dist/esm/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  162. package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js +46 -0
  163. package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  164. package/dist/esm/components/atoms/Modal/ui/BaseModalView.js +20 -15
  165. package/dist/esm/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
  166. package/dist/esm/components/atoms/Modal/ui/types.d.ts +2 -1
  167. package/dist/esm/components/atoms/Skeleton/Pulse.d.ts +1 -0
  168. package/dist/esm/components/atoms/Skeleton/Pulse.js +15 -12
  169. package/dist/esm/components/atoms/Skeleton/Pulse.js.map +1 -1
  170. package/dist/esm/components/atoms/Skeleton/Skeleton.js +25 -20
  171. package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
  172. package/dist/esm/components/atoms/Skeleton/Wave.d.ts +1 -0
  173. package/dist/esm/components/atoms/Skeleton/Wave.js +30 -25
  174. package/dist/esm/components/atoms/Skeleton/Wave.js.map +1 -1
  175. package/dist/esm/components/atoms/Skeleton/styled.js.map +1 -1
  176. package/dist/esm/components/atoms/Skeleton/types.d.ts +1 -1
  177. package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js +27 -19
  178. package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  179. package/dist/esm/components/atoms/Tag/Tag.js +17 -10
  180. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  181. package/dist/esm/components/atoms/Text/Text.d.ts +1 -1
  182. package/dist/esm/components/atoms/Text/Text.js +1 -3
  183. package/dist/esm/components/atoms/Text/Text.js.map +1 -1
  184. package/dist/esm/components/atoms/Text/styled.js.map +1 -1
  185. package/dist/esm/components/atoms/TextArea/TextArea.d.ts +1 -1
  186. package/dist/esm/components/atoms/TextArea/TextArea.js +42 -35
  187. package/dist/esm/components/atoms/TextArea/TextArea.js.map +1 -1
  188. package/dist/esm/components/molecules/Calendar/Calendar.d.ts +1 -0
  189. package/dist/esm/components/molecules/Calendar/Calendar.js +8 -5
  190. package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  191. package/dist/esm/components/molecules/DatePicker/DatePicker.d.ts +2 -1
  192. package/dist/esm/components/molecules/DatePicker/DatePicker.js +14 -16
  193. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  194. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
  195. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +13 -14
  196. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  197. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -5
  198. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  199. package/dist/esm/components/molecules/Grid/Grid.d.ts +2 -1
  200. package/dist/esm/components/molecules/Grid/Grid.js +38 -26
  201. package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
  202. package/dist/esm/components/molecules/Grid/Item/Item.d.ts +3 -2
  203. package/dist/esm/components/molecules/Grid/Item/Item.js +1 -4
  204. package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
  205. package/dist/esm/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
  206. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +25 -20
  207. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  208. package/dist/esm/components/molecules/IconTextButton/TextComponent.js +12 -8
  209. package/dist/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  210. package/dist/esm/components/molecules/InputPassword/InputPassword.d.ts +1 -1
  211. package/dist/esm/components/molecules/InputPassword/InputPassword.js +16 -10
  212. package/dist/esm/components/molecules/InputPassword/InputPassword.js.map +1 -1
  213. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +10 -8
  214. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  215. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
  216. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -22
  217. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  218. package/dist/esm/components/molecules/Select/Modal.d.ts +1 -0
  219. package/dist/esm/components/molecules/Select/Modal.js +90 -72
  220. package/dist/esm/components/molecules/Select/Modal.js.map +1 -1
  221. package/dist/esm/components/molecules/Select/Select.d.ts +1 -0
  222. package/dist/esm/components/molecules/Select/Select.js +53 -45
  223. package/dist/esm/components/molecules/Select/Select.js.map +1 -1
  224. package/dist/esm/components/molecules/Snackbar/Snackbar.js +1 -7
  225. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  226. package/dist/esm/utils/date.js.map +1 -1
  227. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sources":["../../../../../../src/components/molecules/Grid/Item/Item.tsx"],"sourcesContent":["import React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport {\n IGridItem,\n useTheme,\n getGridItemColumSpan,\n getGridItemPadding,\n} from '@tecsinapse/react-core';\n\nexport type IGridItemNative = IGridItem &\n ViewProps & {\n /** Only specify this property if the GridItem will be 'dynamic', adjusting itself to content. Use this with `wrapper` for better result. */\n flexBasis?: string | 'auto';\n };\n\nconst GridItem = ({\n children,\n span,\n columns = 12,\n loadingComponent,\n loading = false,\n spacing: _spacing,\n wrapper = false,\n alignContent,\n alignItems,\n alignSelf,\n flex,\n flexDirection,\n flexGrow,\n flexShrink,\n justifyContent,\n flexBasis,\n style,\n ...rest\n}: IGridItemNative): JSX.Element => {\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 _style = {\n alignContent,\n alignItems,\n alignSelf,\n flex,\n flexDirection,\n flexGrow,\n flexShrink,\n justifyContent,\n boxSizing: 'border-box',\n flexBasis: flexBasis ?? `${getGridItemColumSpan(columns, span)}%`,\n paddingTop: getGridItemPadding('top', _spacing, spacing),\n paddingBottom: getGridItemPadding('bottom', _spacing, spacing),\n paddingRight: getGridItemPadding('right', _spacing, spacing),\n paddingLeft: getGridItemPadding('left', _spacing, spacing),\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 ? (\n <View {...rest} style={[style, _style]}>\n {clone}\n </View>\n ) : (\n clone\n );\n};\n\nexport default GridItem;\n"],"names":["React"],"mappings":";;;;AAeA,MAAM,WAAW,CAAC;AAAA,EAChB,QAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAU,GAAA,EAAA;AAAA,EACV,gBAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,OAAS,EAAA,QAAA;AAAA,EACT,OAAU,GAAA,KAAA;AAAA,EACV,YAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAoC,KAAA;AAClC,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,QAAS,EAAA,CAAA;AAC7B,EAAA,IAAI,CAACA,cAAA,CAAM,QAAS,CAAA,IAAA,CAAK,QAAQ,CAAG,EAAA;AAClC,IAAM,MAAA,IAAI,MAAM,kDAAkD,CAAA,CAAA;AAAA,GACpE;AACA,EAAA,IAAI,oBAAoB,OAAS,EAAA;AAC/B,IAAO,OAAA,gBAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,YAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAW,EAAA,YAAA;AAAA,IACX,SAAW,EAAA,SAAA,IAAa,CAAG,EAAA,oBAAA,CAAqB,SAAS,IAAI,CAAA,CAAA,CAAA,CAAA;AAAA,IAC7D,UAAY,EAAA,kBAAA,CAAmB,KAAO,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,IACvD,aAAe,EAAA,kBAAA,CAAmB,QAAU,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,IAC7D,YAAc,EAAA,kBAAA,CAAmB,OAAS,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,IAC3D,WAAa,EAAA,kBAAA,CAAmB,MAAQ,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,GAC3D,CAAA;AAEA,EAAM,MAAA,KAAA,GAAQA,cAAM,CAAA,YAAA,CAAa,QAAU,EAAA;AAAA,IACzC,GAAG,QAAU,EAAA,KAAA;AAAA,IACb,KAAA,EAAO,OACH,GAAA,QAAA,EAAU,KAAM,CAAA,KAAA,GAChB,EAAE,GAAG,MAAQ,EAAA,GAAG,QAAU,EAAA,KAAA,CAAM,KAAM,EAAA;AAAA,GAC3C,CAAA,CAAA;AAED,EAAA,OAAO,0BACJA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAM,GAAG,IAAA;AAAA,IAAM,KAAA,EAAO,CAAC,KAAA,EAAO,MAAM,CAAA;AAAA,GAAA,EAClC,KACH,CAEA,GAAA,KAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Item.js","sources":["../../../../../../src/components/molecules/Grid/Item/Item.tsx"],"sourcesContent":["import React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport {\n IGridItem,\n useTheme,\n getGridItemColumSpan,\n getGridItemPadding,\n} from '@tecsinapse/react-core';\n\nexport type IGridItemNative = IGridItem &\n ViewProps & {\n /** Only specify this property if the GridItem will be 'dynamic', adjusting itself to content. Use this with `wrapper` for better result. */\n flexBasis?: string | 'auto';\n };\n\nconst GridItem = ({\n children,\n span,\n columns = 12,\n loadingComponent,\n loading = false,\n spacing: _spacing,\n wrapper = false,\n alignContent,\n alignItems,\n alignSelf,\n flex,\n flexDirection,\n flexGrow,\n flexShrink,\n justifyContent,\n flexBasis,\n style,\n ...rest\n}: IGridItemNative): JSX.Element => {\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 _style = {\n alignContent,\n alignItems,\n alignSelf,\n flex,\n flexDirection,\n flexGrow,\n flexShrink,\n justifyContent,\n boxSizing: 'border-box',\n flexBasis: flexBasis ?? `${getGridItemColumSpan(columns, span)}%`,\n paddingTop: getGridItemPadding('top', _spacing, spacing),\n paddingBottom: getGridItemPadding('bottom', _spacing, spacing),\n paddingRight: getGridItemPadding('right', _spacing, spacing),\n paddingLeft: getGridItemPadding('left', _spacing, spacing),\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 ? (\n <View {...rest} style={[style, _style]}>\n {clone}\n </View>\n ) : (\n clone\n );\n};\n\nexport default GridItem;\n"],"names":["React"],"mappings":";;;;AAeA,MAAM,WAAW,CAAC;AAAA,EAChB,QAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAU,GAAA,EAAA;AAAA,EACV,gBAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,OAAS,EAAA,QAAA;AAAA,EACT,OAAU,GAAA,KAAA;AAAA,EACV,YAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG,IAAA;AACL,CAAoC,KAAA;AAClC,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,QAAS,EAAA,CAAA;AAC7B,EAAA,IAAI,CAACA,cAAA,CAAM,QAAS,CAAA,IAAA,CAAK,QAAQ,CAAG,EAAA;AAClC,IAAM,MAAA,IAAI,MAAM,kDAAkD,CAAA,CAAA;AAAA,GACpE;AACA,EAAA,IAAI,oBAAoB,OAAS,EAAA;AAC/B,IAAO,OAAA,gBAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,YAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAW,EAAA,YAAA;AAAA,IACX,SAAW,EAAA,SAAA,IAAa,CAAG,EAAA,oBAAA,CAAqB,SAAS,IAAI,CAAA,CAAA,CAAA,CAAA;AAAA,IAC7D,UAAY,EAAA,kBAAA,CAAmB,KAAO,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,IACvD,aAAe,EAAA,kBAAA,CAAmB,QAAU,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,IAC7D,YAAc,EAAA,kBAAA,CAAmB,OAAS,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,IAC3D,WAAa,EAAA,kBAAA,CAAmB,MAAQ,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,GAC3D,CAAA;AAEA,EAAM,MAAA,KAAA,GAAQA,cAAM,CAAA,YAAA,CAAa,QAAU,EAAA;AAAA,IACzC,GAAG,QAAU,EAAA,KAAA;AAAA,IACb,KAAA,EAAO,OACH,GAAA,QAAA,EAAU,KAAM,CAAA,KAAA,GAChB,EAAE,GAAG,MAAQ,EAAA,GAAG,QAAU,EAAA,KAAA,CAAM,KAAM,EAAA;AAAA,GAC3C,CAAA,CAAA;AAED,EAAO,OAAA,OAAA,mBACJA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAM,GAAG,IAAA,EAAM,KAAO,EAAA,CAAC,KAAO,EAAA,MAAM,CAClC,EAAA,EAAA,KACH,CAEA,GAAA,KAAA,CAAA;AAEJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { IconTextButtonProps } from '@tecsinapse/react-core';
2
2
  import React from 'react';
3
3
  import { ButtonNativeProps } from '../../atoms/Button';
4
- export declare type NativeIconTextButtonProps = IconTextButtonProps & Omit<ButtonNativeProps, 'ButtonProps'>;
4
+ export type NativeIconTextButtonProps = IconTextButtonProps & Omit<ButtonNativeProps, 'ButtonProps'>;
5
5
  declare const IconTextButton: React.FC<NativeIconTextButtonProps>;
6
6
  export default IconTextButton;
@@ -12,26 +12,31 @@ const IconTextButton = ({
12
12
  size = "default",
13
13
  ...rest
14
14
  }) => {
15
- return /* @__PURE__ */ React__default.createElement(StyledIconTextButton, {
16
- boxed: !label,
17
- variant,
18
- ...rest
19
- }, iconPosition === "left" ? /* @__PURE__ */ React__default.createElement(IconComponent, {
20
- iconProps,
21
- size,
22
- defaultFontColor: fontColorVC[variant]
23
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(TextComponent, {
24
- label,
25
- defaultFontColor: fontColorVC[variant],
26
- hasIcon: !!iconProps,
27
- iconPosition,
28
- textProps,
29
- size
30
- }), iconPosition === "right" ? /* @__PURE__ */ React__default.createElement(IconComponent, {
31
- iconProps,
32
- size,
33
- defaultFontColor: fontColorVC[variant]
34
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null));
15
+ return /* @__PURE__ */ React__default.createElement(StyledIconTextButton, { boxed: !label, variant, ...rest }, iconPosition === "left" ? /* @__PURE__ */ React__default.createElement(
16
+ IconComponent,
17
+ {
18
+ iconProps,
19
+ size,
20
+ defaultFontColor: fontColorVC[variant]
21
+ }
22
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(
23
+ TextComponent,
24
+ {
25
+ label,
26
+ defaultFontColor: fontColorVC[variant],
27
+ hasIcon: !!iconProps,
28
+ iconPosition,
29
+ textProps,
30
+ size
31
+ }
32
+ ), iconPosition === "right" ? /* @__PURE__ */ React__default.createElement(
33
+ IconComponent,
34
+ {
35
+ iconProps,
36
+ size,
37
+ defaultFontColor: fontColorVC[variant]
38
+ }
39
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null));
35
40
  };
36
41
 
37
42
  export { IconTextButton as default };
@@ -1 +1 @@
1
- {"version":3,"file":"IconTextButton.js","sources":["../../../../../src/components/molecules/IconTextButton/IconTextButton.tsx"],"sourcesContent":["import {\n fontColorVC,\n IconComponent,\n IconTextButtonProps,\n} from '@tecsinapse/react-core';\nimport React from 'react';\nimport { ButtonNativeProps } from '../../atoms/Button';\nimport { StyledIconTextButton } from './styled';\nimport TextComponent from './TextComponent';\n\nexport type NativeIconTextButtonProps = IconTextButtonProps &\n Omit<ButtonNativeProps, 'ButtonProps'>;\n\nconst IconTextButton: React.FC<NativeIconTextButtonProps> = ({\n iconProps,\n iconPosition = 'left',\n textProps,\n label,\n variant = 'filled',\n size = 'default',\n ...rest\n}) => {\n return (\n <StyledIconTextButton boxed={!label} variant={variant} {...rest}>\n {iconPosition === 'left' ? (\n <IconComponent\n iconProps={iconProps}\n size={size}\n defaultFontColor={fontColorVC[variant]}\n />\n ) : (\n <></>\n )}\n <TextComponent\n label={label}\n defaultFontColor={fontColorVC[variant]}\n hasIcon={!!iconProps}\n iconPosition={iconPosition}\n textProps={textProps}\n size={size}\n />\n {iconPosition === 'right' ? (\n <IconComponent\n iconProps={iconProps}\n size={size}\n defaultFontColor={fontColorVC[variant]}\n />\n ) : (\n <></>\n )}\n </StyledIconTextButton>\n );\n};\n\nexport default IconTextButton;\n"],"names":["React"],"mappings":";;;;;AAaA,MAAM,iBAAsD,CAAC;AAAA,EAC3D,SAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAU,GAAA,QAAA;AAAA,EACV,IAAO,GAAA,SAAA;AAAA,EACJ,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA;AAAA,IAAqB,OAAO,CAAC,KAAA;AAAA,IAAO,OAAA;AAAA,IAAmB,GAAG,IAAA;AAAA,GACxD,EAAA,YAAA,KAAiB,yBACfA,cAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IACC,SAAA;AAAA,IACA,IAAA;AAAA,IACA,kBAAkB,WAAY,CAAA,OAAA,CAAA;AAAA,GAChC,CAAA,mBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,kBAEHA,cAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IACC,KAAA;AAAA,IACA,kBAAkB,WAAY,CAAA,OAAA,CAAA;AAAA,IAC9B,OAAA,EAAS,CAAC,CAAC,SAAA;AAAA,IACX,YAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA,EACC,YAAiB,KAAA,OAAA,mBACfA,cAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,IACC,SAAA;AAAA,IACA,IAAA;AAAA,IACA,kBAAkB,WAAY,CAAA,OAAA,CAAA;AAAA,GAChC,CAAA,6EAEE,CAEN,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"IconTextButton.js","sources":["../../../../../src/components/molecules/IconTextButton/IconTextButton.tsx"],"sourcesContent":["import {\n fontColorVC,\n IconComponent,\n IconTextButtonProps,\n} from '@tecsinapse/react-core';\nimport React from 'react';\nimport { ButtonNativeProps } from '../../atoms/Button';\nimport { StyledIconTextButton } from './styled';\nimport TextComponent from './TextComponent';\n\nexport type NativeIconTextButtonProps = IconTextButtonProps &\n Omit<ButtonNativeProps, 'ButtonProps'>;\n\nconst IconTextButton: React.FC<NativeIconTextButtonProps> = ({\n iconProps,\n iconPosition = 'left',\n textProps,\n label,\n variant = 'filled',\n size = 'default',\n ...rest\n}) => {\n return (\n <StyledIconTextButton boxed={!label} variant={variant} {...rest}>\n {iconPosition === 'left' ? (\n <IconComponent\n iconProps={iconProps}\n size={size}\n defaultFontColor={fontColorVC[variant]}\n />\n ) : (\n <></>\n )}\n <TextComponent\n label={label}\n defaultFontColor={fontColorVC[variant]}\n hasIcon={!!iconProps}\n iconPosition={iconPosition}\n textProps={textProps}\n size={size}\n />\n {iconPosition === 'right' ? (\n <IconComponent\n iconProps={iconProps}\n size={size}\n defaultFontColor={fontColorVC[variant]}\n />\n ) : (\n <></>\n )}\n </StyledIconTextButton>\n );\n};\n\nexport default IconTextButton;\n"],"names":["React"],"mappings":";;;;;AAaA,MAAM,iBAAsD,CAAC;AAAA,EAC3D,SAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAU,GAAA,QAAA;AAAA,EACV,IAAO,GAAA,SAAA;AAAA,EACP,GAAG,IAAA;AACL,CAAM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,wBAAqB,KAAO,EAAA,CAAC,OAAO,OAAmB,EAAA,GAAG,IACxD,EAAA,EAAA,YAAA,KAAiB,MAChB,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA;AAAA,MACA,gBAAA,EAAkB,YAAY,OAAO,CAAA;AAAA,KAAA;AAAA,GACvC,6EAEE,CAEJ,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,gBAAA,EAAkB,YAAY,OAAO,CAAA;AAAA,MACrC,OAAA,EAAS,CAAC,CAAC,SAAA;AAAA,MACX,YAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,KAAA;AAAA,GACF,EACC,iBAAiB,OAChB,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA;AAAA,MACA,gBAAA,EAAkB,YAAY,OAAO,CAAA;AAAA,KAAA;AAAA,GACvC,6EAEE,CAEN,CAAA,CAAA;AAEJ;;;;"}
@@ -9,14 +9,18 @@ const TextComponent = ({
9
9
  iconPosition = "left",
10
10
  hasIcon = false
11
11
  }) => {
12
- return label ? /* @__PURE__ */ React__default.createElement(StyledText, {
13
- typography: textProps?.typography ?? size === "small" ? "sub" : "base",
14
- fontWeight: textProps?.fontWeight ?? "bold",
15
- fontColor: textProps?.fontColor ?? defaultFontColor,
16
- iconPosition,
17
- hasIcon,
18
- ...textProps
19
- }, label) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null);
12
+ return label ? /* @__PURE__ */ React__default.createElement(
13
+ StyledText,
14
+ {
15
+ typography: textProps?.typography ?? size === "small" ? "sub" : "base",
16
+ fontWeight: textProps?.fontWeight ?? "bold",
17
+ fontColor: textProps?.fontColor ?? defaultFontColor,
18
+ iconPosition,
19
+ hasIcon,
20
+ ...textProps
21
+ },
22
+ label
23
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null);
20
24
  };
21
25
  var TextComponent$1 = React__default.memo(TextComponent);
22
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"TextComponent.js","sources":["../../../../../src/components/molecules/IconTextButton/TextComponent.tsx"],"sourcesContent":["import {\n ButtonSizeType,\n FontColor,\n IconPositionOptions,\n TextProps,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { StyledText } from './styled';\n\ninterface TextComponentProps {\n textProps?: TextProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n label?: string;\n iconPosition?: IconPositionOptions;\n hasIcon?: boolean;\n}\n\nconst TextComponent: FC<TextComponentProps> = ({\n textProps,\n size = 'default',\n defaultFontColor,\n label,\n iconPosition = 'left',\n hasIcon = false,\n}) => {\n return label ? (\n <StyledText\n typography={textProps?.typography ?? size === 'small' ? 'sub' : 'base'}\n fontWeight={textProps?.fontWeight ?? 'bold'}\n fontColor={textProps?.fontColor ?? defaultFontColor}\n iconPosition={iconPosition}\n hasIcon={hasIcon}\n {...textProps}\n >\n {label}\n </StyledText>\n ) : (\n <></>\n );\n};\n\nexport default React.memo(TextComponent);\n"],"names":["React"],"mappings":";;;AAkBA,MAAM,gBAAwC,CAAC;AAAA,EAC7C,SAAA;AAAA,EACA,IAAO,GAAA,SAAA;AAAA,EACP,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,OAAU,GAAA,KAAA;AACZ,CAAM,KAAA;AACJ,EAAA,OAAO,wBACJA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AAAA,IACC,UAAY,EAAA,SAAA,EAAW,UAAc,IAAA,IAAA,KAAS,UAAU,KAAQ,GAAA,MAAA;AAAA,IAChE,UAAA,EAAY,WAAW,UAAc,IAAA,MAAA;AAAA,IACrC,SAAA,EAAW,WAAW,SAAa,IAAA,gBAAA;AAAA,IACnC,YAAA;AAAA,IACA,OAAA;AAAA,IACC,GAAG,SAAA;AAAA,GAEH,EAAA,KACH,oBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEN,CAAA,CAAA;AAEA,sBAAeA,cAAA,CAAM,KAAK,aAAa,CAAA;;;;"}
1
+ {"version":3,"file":"TextComponent.js","sources":["../../../../../src/components/molecules/IconTextButton/TextComponent.tsx"],"sourcesContent":["import {\n ButtonSizeType,\n FontColor,\n IconPositionOptions,\n TextProps,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { StyledText } from './styled';\n\ninterface TextComponentProps {\n textProps?: TextProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n label?: string;\n iconPosition?: IconPositionOptions;\n hasIcon?: boolean;\n}\n\nconst TextComponent: FC<TextComponentProps> = ({\n textProps,\n size = 'default',\n defaultFontColor,\n label,\n iconPosition = 'left',\n hasIcon = false,\n}) => {\n return label ? (\n <StyledText\n typography={textProps?.typography ?? size === 'small' ? 'sub' : 'base'}\n fontWeight={textProps?.fontWeight ?? 'bold'}\n fontColor={textProps?.fontColor ?? defaultFontColor}\n iconPosition={iconPosition}\n hasIcon={hasIcon}\n {...textProps}\n >\n {label}\n </StyledText>\n ) : (\n <></>\n );\n};\n\nexport default React.memo(TextComponent);\n"],"names":["React"],"mappings":";;;AAkBA,MAAM,gBAAwC,CAAC;AAAA,EAC7C,SAAA;AAAA,EACA,IAAO,GAAA,SAAA;AAAA,EACP,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,OAAU,GAAA,KAAA;AACZ,CAAM,KAAA;AACJ,EAAA,OAAO,KACL,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAY,EAAA,SAAA,EAAW,UAAc,IAAA,IAAA,KAAS,UAAU,KAAQ,GAAA,MAAA;AAAA,MAChE,UAAA,EAAY,WAAW,UAAc,IAAA,MAAA;AAAA,MACrC,SAAA,EAAW,WAAW,SAAa,IAAA,gBAAA;AAAA,MACnC,YAAA;AAAA,MACA,OAAA;AAAA,MACC,GAAG,SAAA;AAAA,KAAA;AAAA,IAEH,KAAA;AAAA,sBAGDA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEN,CAAA,CAAA;AAEA,sBAAeA,cAAA,CAAM,KAAK,aAAa,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputNativeProps } from '../../atoms/Input';
3
3
  import { TextInput } from 'react-native';
4
- export declare type InputPasswordNativeProps = InputNativeProps;
4
+ export type InputPasswordNativeProps = InputNativeProps;
5
5
  declare const InputPassword: React.ForwardRefExoticComponent<Pick<InputNativeProps, keyof InputNativeProps> & React.RefAttributes<TextInput>>;
6
6
  export default InputPassword;
@@ -5,16 +5,22 @@ import Input from '../../atoms/Input/Input.js';
5
5
  const InputPassword = React__default.forwardRef(
6
6
  ({ rightComponent, ...rest }, ref) => {
7
7
  const [revealed, setRevealed] = useState(false);
8
- return /* @__PURE__ */ React__default.createElement(Input, {
9
- ...rest,
10
- ref,
11
- secureTextEntry: !revealed,
12
- rightComponent: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(InputPasswordIcon, {
13
- onChangeState: setRevealed,
14
- revealed,
15
- effect: "none"
16
- }), rightComponent)
17
- });
8
+ return /* @__PURE__ */ React__default.createElement(
9
+ Input,
10
+ {
11
+ ...rest,
12
+ ref,
13
+ secureTextEntry: !revealed,
14
+ rightComponent: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(
15
+ InputPasswordIcon,
16
+ {
17
+ onChangeState: setRevealed,
18
+ revealed,
19
+ effect: "none"
20
+ }
21
+ ), rightComponent)
22
+ }
23
+ );
18
24
  }
19
25
  );
20
26
  InputPassword.displayName = "InputPassword";
@@ -1 +1 @@
1
- {"version":3,"file":"InputPassword.js","sources":["../../../../../src/components/molecules/InputPassword/InputPassword.tsx"],"sourcesContent":["import { InputPasswordIcon } from '@tecsinapse/react-core';\nimport React, { useState } from 'react';\nimport { Input, InputNativeProps } from '../../atoms/Input';\nimport { TextInput } from 'react-native';\n\nexport type InputPasswordNativeProps = InputNativeProps;\n\nconst InputPassword = React.forwardRef<TextInput, InputPasswordNativeProps>(\n ({ rightComponent, ...rest }, ref) => {\n const [revealed, setRevealed] = useState(false);\n return (\n <Input\n {...rest}\n ref={ref}\n secureTextEntry={!revealed}\n rightComponent={\n <>\n <InputPasswordIcon\n onChangeState={setRevealed}\n revealed={revealed}\n effect=\"none\"\n />\n {rightComponent}\n </>\n }\n />\n );\n }\n);\n\nInputPassword.displayName = 'InputPassword';\n\nexport default InputPassword;\n"],"names":["React"],"mappings":";;;;AAOA,MAAM,gBAAgBA,cAAM,CAAA,UAAA;AAAA,EAC1B,CAAC,EAAE,cAAmB,EAAA,GAAA,IAAA,IAAQ,GAAQ,KAAA;AACpC,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC9C,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MACA,iBAAiB,CAAC,QAAA;AAAA,MAClB,cAAA,8FAEKA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA;AAAA,QACC,aAAe,EAAA,WAAA;AAAA,QACf,QAAA;AAAA,QACA,MAAO,EAAA,MAAA;AAAA,OACT,GACC,cACH,CAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,aAAA,CAAc,WAAc,GAAA,eAAA;;;;"}
1
+ {"version":3,"file":"InputPassword.js","sources":["../../../../../src/components/molecules/InputPassword/InputPassword.tsx"],"sourcesContent":["import { InputPasswordIcon } from '@tecsinapse/react-core';\nimport React, { useState } from 'react';\nimport { Input, InputNativeProps } from '../../atoms/Input';\nimport { TextInput } from 'react-native';\n\nexport type InputPasswordNativeProps = InputNativeProps;\n\nconst InputPassword = React.forwardRef<TextInput, InputPasswordNativeProps>(\n ({ rightComponent, ...rest }, ref) => {\n const [revealed, setRevealed] = useState(false);\n return (\n <Input\n {...rest}\n ref={ref}\n secureTextEntry={!revealed}\n rightComponent={\n <>\n <InputPasswordIcon\n onChangeState={setRevealed}\n revealed={revealed}\n effect=\"none\"\n />\n {rightComponent}\n </>\n }\n />\n );\n }\n);\n\nInputPassword.displayName = 'InputPassword';\n\nexport default InputPassword;\n"],"names":["React"],"mappings":";;;;AAOA,MAAM,gBAAgBA,cAAM,CAAA,UAAA;AAAA,EAC1B,CAAC,EAAE,cAAA,EAAgB,GAAG,IAAA,IAAQ,GAAQ,KAAA;AACpC,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC9C,IACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACE,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,iBAAiB,CAAC,QAAA;AAAA,QAClB,gCAEIA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,iBAAA;AAAA,UAAA;AAAA,YACC,aAAe,EAAA,WAAA;AAAA,YACf,QAAA;AAAA,YACA,MAAO,EAAA,MAAA;AAAA,WAAA;AAAA,WAER,cACH,CAAA;AAAA,OAAA;AAAA,KAEJ,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,aAAA,CAAc,WAAc,GAAA,eAAA;;;;"}
@@ -12,14 +12,16 @@ const LabelComponent = ({
12
12
  }) => {
13
13
  const defaultFontColor = active && !switchDisabled ? "dark" : "medium";
14
14
  const defaultFontWeight = active && !switchDisabled ? "bold" : "regular";
15
- return /* @__PURE__ */ React__default.createElement(Pressable, {
16
- ...rest
17
- }, /* @__PURE__ */ React__default.createElement(StyledLabel, {
18
- labelPosition,
19
- fontColor: labelProps?.fontColor ?? defaultFontColor,
20
- fontWeight: labelProps?.fontWeight ?? defaultFontWeight,
21
- ...labelProps
22
- }, label));
15
+ return /* @__PURE__ */ React__default.createElement(Pressable, { ...rest }, /* @__PURE__ */ React__default.createElement(
16
+ StyledLabel,
17
+ {
18
+ labelPosition,
19
+ fontColor: labelProps?.fontColor ?? defaultFontColor,
20
+ fontWeight: labelProps?.fontWeight ?? defaultFontWeight,
21
+ ...labelProps
22
+ },
23
+ label
24
+ ));
23
25
  };
24
26
  var LabelComponent$1 = React__default.memo(LabelComponent);
25
27
 
@@ -1 +1 @@
1
- {"version":3,"file":"LabelComponent.js","sources":["../../../../../src/components/molecules/LabeledSwitch/LabelComponent.tsx"],"sourcesContent":["import {\n FontColor,\n FontWeight,\n LabelPositionOptions,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Pressable, PressableProps } from 'react-native';\nimport { TextNativeProps } from '../../atoms/Text';\nimport { StyledLabel } from './styled';\n\nexport interface LabelComponentProps extends PressableProps {\n label: string;\n labelPosition: LabelPositionOptions;\n labelProps?: TextNativeProps;\n active: boolean;\n switchDisabled?: boolean;\n}\n\nconst LabelComponent: FC<LabelComponentProps> = ({\n label,\n labelPosition,\n labelProps,\n active,\n switchDisabled = false,\n ...rest\n}) => {\n const defaultFontColor: keyof FontColor =\n active && !switchDisabled ? 'dark' : 'medium';\n const defaultFontWeight: keyof FontWeight =\n active && !switchDisabled ? 'bold' : 'regular';\n\n return (\n <Pressable {...rest}>\n <StyledLabel\n labelPosition={labelPosition}\n fontColor={labelProps?.fontColor ?? defaultFontColor}\n fontWeight={labelProps?.fontWeight ?? defaultFontWeight}\n {...labelProps}\n >\n {label}\n </StyledLabel>\n </Pressable>\n );\n};\n\nexport default React.memo(LabelComponent);\n"],"names":["React"],"mappings":";;;;AAkBA,MAAM,iBAA0C,CAAC;AAAA,EAC/C,KAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAiB,GAAA,KAAA;AAAA,EACd,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,gBACJ,GAAA,MAAA,IAAU,CAAC,cAAA,GAAiB,MAAS,GAAA,QAAA,CAAA;AACvC,EAAA,MAAM,iBACJ,GAAA,MAAA,IAAU,CAAC,cAAA,GAAiB,MAAS,GAAA,SAAA,CAAA;AAEvC,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAW,GAAG,IAAA;AAAA,GAAA,kBACZA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IACC,aAAA;AAAA,IACA,SAAA,EAAW,YAAY,SAAa,IAAA,gBAAA;AAAA,IACpC,UAAA,EAAY,YAAY,UAAc,IAAA,iBAAA;AAAA,IACrC,GAAG,UAAA;AAAA,GAAA,EAEH,KACH,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,uBAAeA,cAAA,CAAM,KAAK,cAAc,CAAA;;;;"}
1
+ {"version":3,"file":"LabelComponent.js","sources":["../../../../../src/components/molecules/LabeledSwitch/LabelComponent.tsx"],"sourcesContent":["import {\n FontColor,\n FontWeight,\n LabelPositionOptions,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Pressable, PressableProps } from 'react-native';\nimport { TextNativeProps } from '../../atoms/Text';\nimport { StyledLabel } from './styled';\n\nexport interface LabelComponentProps extends PressableProps {\n label: string;\n labelPosition: LabelPositionOptions;\n labelProps?: TextNativeProps;\n active: boolean;\n switchDisabled?: boolean;\n}\n\nconst LabelComponent: FC<LabelComponentProps> = ({\n label,\n labelPosition,\n labelProps,\n active,\n switchDisabled = false,\n ...rest\n}) => {\n const defaultFontColor: keyof FontColor =\n active && !switchDisabled ? 'dark' : 'medium';\n const defaultFontWeight: keyof FontWeight =\n active && !switchDisabled ? 'bold' : 'regular';\n\n return (\n <Pressable {...rest}>\n <StyledLabel\n labelPosition={labelPosition}\n fontColor={labelProps?.fontColor ?? defaultFontColor}\n fontWeight={labelProps?.fontWeight ?? defaultFontWeight}\n {...labelProps}\n >\n {label}\n </StyledLabel>\n </Pressable>\n );\n};\n\nexport default React.memo(LabelComponent);\n"],"names":["React"],"mappings":";;;;AAkBA,MAAM,iBAA0C,CAAC;AAAA,EAC/C,KAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAiB,GAAA,KAAA;AAAA,EACjB,GAAG,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,gBACJ,GAAA,MAAA,IAAU,CAAC,cAAA,GAAiB,MAAS,GAAA,QAAA,CAAA;AACvC,EAAA,MAAM,iBACJ,GAAA,MAAA,IAAU,CAAC,cAAA,GAAiB,MAAS,GAAA,SAAA,CAAA;AAEvC,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,SAAW,EAAA,EAAA,GAAG,IACb,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,aAAA;AAAA,MACA,SAAA,EAAW,YAAY,SAAa,IAAA,gBAAA;AAAA,MACpC,UAAA,EAAY,YAAY,UAAc,IAAA,iBAAA;AAAA,MACrC,GAAG,UAAA;AAAA,KAAA;AAAA,IAEH,KAAA;AAAA,GAEL,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,uBAAeA,cAAA,CAAM,KAAK,cAAc,CAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { LabeledSwitchProps } from '@tecsinapse/react-core';
2
2
  import { FC } from 'react';
3
3
  import { TextNativeProps } from '../../atoms/Text';
4
- export declare type LabeledSwitchNativeProps = LabeledSwitchProps & {
4
+ export type LabeledSwitchNativeProps = LabeledSwitchProps & {
5
5
  labelProps?: TextNativeProps;
6
6
  };
7
7
  declare const LabeledSwitch: FC<LabeledSwitchNativeProps>;
@@ -13,28 +13,37 @@ const LabeledSwitch = ({
13
13
  onChange,
14
14
  ...rest
15
15
  }) => {
16
- return /* @__PURE__ */ React__default.createElement(StyledView, null, leftLabel ? /* @__PURE__ */ React__default.createElement(LabelComponent, {
17
- active,
18
- label: leftLabel,
19
- labelPosition: "left",
20
- labelProps,
21
- disabled: !pressableLabel || disabled,
22
- switchDisabled: disabled,
23
- onPress: () => onChange(!active)
24
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(Switch, {
25
- active,
26
- onChange,
27
- disabled,
28
- ...rest
29
- }), rightLabel ? /* @__PURE__ */ React__default.createElement(LabelComponent, {
30
- active,
31
- label: rightLabel,
32
- labelPosition: "right",
33
- labelProps,
34
- disabled: !pressableLabel || disabled,
35
- switchDisabled: disabled,
36
- onPress: () => onChange(!active)
37
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null));
16
+ return /* @__PURE__ */ React__default.createElement(StyledView, null, leftLabel ? /* @__PURE__ */ React__default.createElement(
17
+ LabelComponent,
18
+ {
19
+ active,
20
+ label: leftLabel,
21
+ labelPosition: "left",
22
+ labelProps,
23
+ disabled: !pressableLabel || disabled,
24
+ switchDisabled: disabled,
25
+ onPress: () => onChange(!active)
26
+ }
27
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(
28
+ Switch,
29
+ {
30
+ active,
31
+ onChange,
32
+ disabled,
33
+ ...rest
34
+ }
35
+ ), rightLabel ? /* @__PURE__ */ React__default.createElement(
36
+ LabelComponent,
37
+ {
38
+ active,
39
+ label: rightLabel,
40
+ labelPosition: "right",
41
+ labelProps,
42
+ disabled: !pressableLabel || disabled,
43
+ switchDisabled: disabled,
44
+ onPress: () => onChange(!active)
45
+ }
46
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null));
38
47
  };
39
48
 
40
49
  export { LabeledSwitch as default };
@@ -1 +1 @@
1
- {"version":3,"file":"LabeledSwitch.js","sources":["../../../../../src/components/molecules/LabeledSwitch/LabeledSwitch.tsx"],"sourcesContent":["import { LabeledSwitchProps, Switch } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { TextNativeProps } from '../../atoms/Text';\nimport LabelComponent from './LabelComponent';\nimport { StyledView } from './styled';\n\nexport type LabeledSwitchNativeProps = LabeledSwitchProps & {\n labelProps?: TextNativeProps;\n};\n\nconst LabeledSwitch: FC<LabeledSwitchNativeProps> = ({\n rightLabel,\n leftLabel,\n labelProps,\n pressableLabel = false,\n active,\n disabled,\n onChange,\n ...rest\n}) => {\n return (\n <StyledView>\n {leftLabel ? (\n <LabelComponent\n active={active}\n label={leftLabel}\n labelPosition={'left'}\n labelProps={labelProps}\n disabled={!pressableLabel || disabled}\n switchDisabled={disabled}\n onPress={() => onChange(!active)}\n />\n ) : (\n <></>\n )}\n <Switch\n active={active}\n onChange={onChange}\n disabled={disabled}\n {...rest}\n />\n {rightLabel ? (\n <LabelComponent\n active={active}\n label={rightLabel}\n labelPosition={'right'}\n labelProps={labelProps}\n disabled={!pressableLabel || disabled}\n switchDisabled={disabled}\n onPress={() => onChange(!active)}\n />\n ) : (\n <></>\n )}\n </StyledView>\n );\n};\n\nexport default LabeledSwitch;\n"],"names":["React"],"mappings":";;;;;AAUA,MAAM,gBAA8C,CAAC;AAAA,EACnD,UAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAiB,GAAA,KAAA;AAAA,EACjB,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,UACE,EAAA,IAAA,EAAA,SAAA,mBACEA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAO,EAAA,SAAA;AAAA,IACP,aAAe,EAAA,MAAA;AAAA,IACf,UAAA;AAAA,IACA,QAAA,EAAU,CAAC,cAAkB,IAAA,QAAA;AAAA,IAC7B,cAAgB,EAAA,QAAA;AAAA,IAChB,OAAS,EAAA,MAAM,QAAS,CAAA,CAAC,MAAM,CAAA;AAAA,GACjC,CAAA,mBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,kBAEHA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACC,GAAG,IAAA;AAAA,GACN,CAAA,EACC,6BACEA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAO,EAAA,UAAA;AAAA,IACP,aAAe,EAAA,OAAA;AAAA,IACf,UAAA;AAAA,IACA,QAAA,EAAU,CAAC,cAAkB,IAAA,QAAA;AAAA,IAC7B,cAAgB,EAAA,QAAA;AAAA,IAChB,OAAS,EAAA,MAAM,QAAS,CAAA,CAAC,MAAM,CAAA;AAAA,GACjC,CAAA,6EAEE,CAEN,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"LabeledSwitch.js","sources":["../../../../../src/components/molecules/LabeledSwitch/LabeledSwitch.tsx"],"sourcesContent":["import { LabeledSwitchProps, Switch } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { TextNativeProps } from '../../atoms/Text';\nimport LabelComponent from './LabelComponent';\nimport { StyledView } from './styled';\n\nexport type LabeledSwitchNativeProps = LabeledSwitchProps & {\n labelProps?: TextNativeProps;\n};\n\nconst LabeledSwitch: FC<LabeledSwitchNativeProps> = ({\n rightLabel,\n leftLabel,\n labelProps,\n pressableLabel = false,\n active,\n disabled,\n onChange,\n ...rest\n}) => {\n return (\n <StyledView>\n {leftLabel ? (\n <LabelComponent\n active={active}\n label={leftLabel}\n labelPosition={'left'}\n labelProps={labelProps}\n disabled={!pressableLabel || disabled}\n switchDisabled={disabled}\n onPress={() => onChange(!active)}\n />\n ) : (\n <></>\n )}\n <Switch\n active={active}\n onChange={onChange}\n disabled={disabled}\n {...rest}\n />\n {rightLabel ? (\n <LabelComponent\n active={active}\n label={rightLabel}\n labelPosition={'right'}\n labelProps={labelProps}\n disabled={!pressableLabel || disabled}\n switchDisabled={disabled}\n onPress={() => onChange(!active)}\n />\n ) : (\n <></>\n )}\n </StyledView>\n );\n};\n\nexport default LabeledSwitch;\n"],"names":["React"],"mappings":";;;;;AAUA,MAAM,gBAA8C,CAAC;AAAA,EACnD,UAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAiB,GAAA,KAAA;AAAA,EACjB,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG,IAAA;AACL,CAAM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,kBACE,SACC,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAO,EAAA,SAAA;AAAA,MACP,aAAe,EAAA,MAAA;AAAA,MACf,UAAA;AAAA,MACA,QAAA,EAAU,CAAC,cAAkB,IAAA,QAAA;AAAA,MAC7B,cAAgB,EAAA,QAAA;AAAA,MAChB,OAAS,EAAA,MAAM,QAAS,CAAA,CAAC,MAAM,CAAA;AAAA,KAAA;AAAA,GACjC,6EAEE,CAEJ,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACC,GAAG,IAAA;AAAA,KAAA;AAAA,KAEL,UACC,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAO,EAAA,UAAA;AAAA,MACP,aAAe,EAAA,OAAA;AAAA,MACf,UAAA;AAAA,MACA,QAAA,EAAU,CAAC,cAAkB,IAAA,QAAA;AAAA,MAC7B,cAAgB,EAAA,QAAA;AAAA,MAChB,OAAS,EAAA,MAAM,QAAS,CAAA,CAAC,MAAM,CAAA;AAAA,KAAA;AAAA,GACjC,6EAEE,CAEN,CAAA,CAAA;AAEJ;;;;"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IBaseModal } from '../../atoms/Modal';
2
3
  import { SelectNativeProps } from './Select';
3
4
  interface LoadingProps {
@@ -89,67 +89,73 @@ const Component = ({
89
89
  close?.();
90
90
  }, [selectedValues]);
91
91
  const optionBuilder = React.useCallback(
92
- ({ item }) => /* @__PURE__ */ React.createElement(MemoizedOption, {
93
- item,
94
- type,
95
- handlePressItem,
96
- labelExtractor
97
- }),
92
+ ({ item }) => /* @__PURE__ */ React.createElement(
93
+ MemoizedOption,
94
+ {
95
+ item,
96
+ type,
97
+ handlePressItem,
98
+ labelExtractor
99
+ }
100
+ ),
98
101
  []
99
102
  );
100
103
  const anyChecked = data.filter((item) => item._checked).length;
101
104
  const dataLengthChanged = data.length;
102
105
  const memoizedFlatlist = React.useMemo(
103
- () => /* @__PURE__ */ React.createElement(FlatList, {
104
- data,
105
- keyExtractor,
106
- fadingEdgeLength: 200,
107
- renderItem: optionBuilder
108
- }),
106
+ () => /* @__PURE__ */ React.createElement(
107
+ FlatList,
108
+ {
109
+ data,
110
+ keyExtractor,
111
+ fadingEdgeLength: 200,
112
+ renderItem: optionBuilder
113
+ }
114
+ ),
109
115
  [selectedValues, anyChecked, dataLengthChanged]
110
116
  );
111
- const titleTextModal = selectModalTitle ? /* @__PURE__ */ React.createElement(TextTitleModal, {
112
- typography: "h4",
113
- fontWeight: "bold",
114
- numberOfLines: 3,
115
- style: { maxWidth: RFValue(250) }
116
- }, selectModalTitle) : null;
117
+ const titleTextModal = selectModalTitle ? /* @__PURE__ */ React.createElement(
118
+ TextTitleModal,
119
+ {
120
+ typography: "h4",
121
+ fontWeight: "bold",
122
+ numberOfLines: 3,
123
+ style: { maxWidth: RFValue(250) }
124
+ },
125
+ selectModalTitle
126
+ ) : null;
117
127
  const headerContent = selectModalTitleComponent ? selectModalTitleComponent : titleTextModal;
118
- return /* @__PURE__ */ React.createElement(ModalView, {
119
- ...others,
120
- BoxComponent: ModalComponent,
121
- showCloseBar: false
122
- }, /* @__PURE__ */ React.createElement(Header, {
123
- rightButton: {
124
- onPress: close,
125
- icon: {
126
- name: "close",
127
- type: "material-community",
128
- fontColor: "light"
128
+ return /* @__PURE__ */ React.createElement(ModalView, { ...others, BoxComponent: ModalComponent, showCloseBar: false }, /* @__PURE__ */ React.createElement(
129
+ Header,
130
+ {
131
+ rightButton: {
132
+ onPress: close,
133
+ icon: {
134
+ name: "close",
135
+ type: "material-community",
136
+ fontColor: "light"
137
+ }
129
138
  }
139
+ },
140
+ headerContent
141
+ ), !hideSearchBar && /* @__PURE__ */ React.createElement(SearchBarContainer, null, /* @__PURE__ */ React.createElement(
142
+ Input,
143
+ {
144
+ placeholder: searchBarPlaceholder,
145
+ value: searchArg,
146
+ onChange: setSearchArg,
147
+ leftComponent: /* @__PURE__ */ React.createElement(SelectIcon, { name: "search", type: "ionicon", size: "centi" })
130
148
  }
131
- }, headerContent), !hideSearchBar && /* @__PURE__ */ React.createElement(SearchBarContainer, null, /* @__PURE__ */ React.createElement(Input, {
132
- placeholder: searchBarPlaceholder,
133
- value: searchArg,
134
- onChange: setSearchArg,
135
- leftComponent: /* @__PURE__ */ React.createElement(SelectIcon, {
136
- name: "search",
137
- type: "ionicon",
138
- size: "centi"
139
- })
140
- })), loading && /* @__PURE__ */ React.createElement(FetchIndicator, {
141
- animating: true,
142
- color: "grey",
143
- size: "large"
144
- }), memoizedFlatlist, !_closeOnPick && /* @__PURE__ */ React.createElement(ModalFooter, null, /* @__PURE__ */ React.createElement(Button, {
145
- variant: "filled",
146
- color: "primary",
147
- onPress: handleConfirm,
148
- disabled: loading
149
- }, /* @__PURE__ */ React.createElement(Text, {
150
- fontColor: "light",
151
- fontWeight: "bold"
152
- }, confirmButtonText))));
149
+ )), loading && /* @__PURE__ */ React.createElement(FetchIndicator, { animating: true, color: "grey", size: "large" }), memoizedFlatlist, !_closeOnPick && /* @__PURE__ */ React.createElement(ModalFooter, null, /* @__PURE__ */ React.createElement(
150
+ Button,
151
+ {
152
+ variant: "filled",
153
+ color: "primary",
154
+ onPress: handleConfirm,
155
+ disabled: loading
156
+ },
157
+ /* @__PURE__ */ React.createElement(Text, { fontColor: "light", fontWeight: "bold" }, confirmButtonText)
158
+ )));
153
159
  };
154
160
  const MemoizedOption = ({
155
161
  handlePressItem,
@@ -159,27 +165,39 @@ const MemoizedOption = ({
159
165
  }) => {
160
166
  return React.useMemo(() => {
161
167
  const label = labelExtractor(item);
162
- return /* @__PURE__ */ React.createElement(ListItem, {
163
- onPress: () => handlePressItem(item)
164
- }, /* @__PURE__ */ React.createElement(View, {
165
- pointerEvents: "none"
166
- }, type === "multi" ? /* @__PURE__ */ React.createElement(Checkbox, {
167
- color: "primary",
168
- labelPosition: "right",
169
- checked: item._checked
170
- }, /* @__PURE__ */ React.createElement(StyledTextItemSelect, {
171
- fontWeight: item._checked ? "bold" : "regular",
172
- ellipsizeMode: "tail",
173
- numberOfLines: 1
174
- }, label)) : /* @__PURE__ */ React.createElement(RadioButton, {
175
- color: "primary",
176
- labelPosition: "right",
177
- checked: item._checked
178
- }, /* @__PURE__ */ React.createElement(StyledTextItemSelect, {
179
- fontWeight: item._checked ? "bold" : "regular",
180
- ellipsizeMode: "tail",
181
- numberOfLines: 1
182
- }, label))));
168
+ return /* @__PURE__ */ React.createElement(ListItem, { onPress: () => handlePressItem(item) }, /* @__PURE__ */ React.createElement(View, { pointerEvents: "none" }, type === "multi" ? /* @__PURE__ */ React.createElement(
169
+ Checkbox,
170
+ {
171
+ color: "primary",
172
+ labelPosition: "right",
173
+ checked: item._checked
174
+ },
175
+ /* @__PURE__ */ React.createElement(
176
+ StyledTextItemSelect,
177
+ {
178
+ fontWeight: item._checked ? "bold" : "regular",
179
+ ellipsizeMode: "tail",
180
+ numberOfLines: 1
181
+ },
182
+ label
183
+ )
184
+ ) : /* @__PURE__ */ React.createElement(
185
+ RadioButton,
186
+ {
187
+ color: "primary",
188
+ labelPosition: "right",
189
+ checked: item._checked
190
+ },
191
+ /* @__PURE__ */ React.createElement(
192
+ StyledTextItemSelect,
193
+ {
194
+ fontWeight: item._checked ? "bold" : "regular",
195
+ ellipsizeMode: "tail",
196
+ numberOfLines: 1
197
+ },
198
+ label
199
+ )
200
+ )));
183
201
  }, [item._checked]);
184
202
  };
185
203
  const Modal = Component;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n StyledTextItemSelect,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={setSearchArg}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <StyledTextItemSelect\n fontWeight={item._checked ? 'bold' : 'regular'}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n >\n {label}\n </StyledTextItemSelect>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <StyledTextItemSelect\n fontWeight={item._checked ? 'bold' : 'regular'}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n >\n {label}\n </StyledTextItemSelect>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"names":["options","value","selectedValues"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n StyledTextItemSelect,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={setSearchArg}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <StyledTextItemSelect\n fontWeight={item._checked ? 'bold' : 'regular'}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n >\n {label}\n </StyledTextItemSelect>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <StyledTextItemSelect\n fontWeight={item._checked ? 'bold' : 'regular'}\n ellipsizeMode={'tail'}\n numberOfLines={1}\n >\n {label}\n </StyledTextItemSelect>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"names":["options","value","selectedValues"],"mappings":";;;;;;;;;;;;AA8BA,MAAM,YAAY,CAAwC;AAAA,EACxD,OAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,yBAAA;AAAA,EACA,iBAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAG,MAAA;AACL,CAA8E,KAAA;AAC5E,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,IAAI,KAAM,CAAA,QAAA,CAAiB,EAAE,CAAA,CAAA;AACrE,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAA,iBAAA,CAA0B,IAAI,QAAQ,CAAA,CAAA;AACxE,EAAA,MAAM,iBAAiB,KAAM,CAAA,OAAA;AAAA,IAC3B,MAAM,cAAA,CAAe,kBAAmB,CAAA,IAAI,CAAC,CAAA;AAAA,IAC7C,EAAC;AAAA,GACH,CAAA;AACA,EAAM,MAAA,YAAA,GAAe,eAAe,IAAS,KAAA,QAAA,CAAA;AAI7C,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,iBAAA;AAAA,MACG,QAAS,IAAS,KAAA,OAAA,GAAU,QAAQ,CAAC,KAAK,IAAK,EAAC;AAAA,KACnD,CAAA;AAAA,GACC,EAAA,CAAC,KAAO,EAAA,OAAA,EAAS,iBAAiB,CAAC,CAAA,CAAA;AAEtC,EAAA,MAAM,UAAU,KAAM,CAAA,WAAA;AAAA,IACpB,CAACA,QAAoB,KAAA;AACnB,MAAA,OAAOA,QAAS,EAAA,GAAA,CAAI,CAAC,MAAA,EAAQ,KAAW,MAAA;AAAA,QACtC,GAAG,MAAA;AAAA,QACH,QACE,EAAA,IAAA,KAAS,OACL,GAAA,CAAC,CAAC,cAAe,CAAA,IAAA;AAAA,UACf,CAAAC,WACE,YAAa,CAAA,MAAA,EAAQ,KAAK,CAAK,IAAA,YAAA,CAAaA,QAAO,KAAK,CAAA;AAAA,SAC5D,GACA,YAAc,CAAA,cAAA,CAAe,CAAC,CAAA,IAAK,EAAC,EAAY,KAAK,CAAA,IACrD,YAAa,CAAA,MAAA,EAAQ,KAAK,CAAA;AAAA,OAChC,CAAA,CAAA,CAAA;AAAA,KACJ;AAAA,IACA,CAAC,YAAc,EAAA,cAAA,EAAgB,IAAI,CAAA;AAAA,GACrC,CAAA;AAEA,EAAA,MAAM,OAAO,KAAM,CAAA,OAAA;AAAA,IACjB,MAAO,OAAO,OAAA,KAAY,aAAa,OAAQ,CAAA,OAAO,IAAI,EAAC;AAAA,IAC3D,CAAC,SAAS,OAAO,CAAA;AAAA,GACnB,CAAA;AAEA,EAAA,MAAM,kBAAkB,KAAM,CAAA,WAAA;AAAA,IAC5B,CAAC,MAAiB,KAAA;AAChB,MAAA,iBAAA,CAAkB,CAAAC,eAAkB,KAAA;AAClC,QAAA,IAAI,SAAS,OAAS,EAAA;AACpB,UAAA,MAAM,SAAiB,EAAC,CAAA;AACxB,UAAA,IAAI,KAAQ,GAAA,KAAA,CAAA;AACZ,UAAA,KAAA,MAAWD,UAASC,eAAgB,EAAA;AAClC,YAAA,IAAI,YAAaD,CAAAA,MAAK,CAAK,IAAA,YAAA,CAAa,MAAM,CAAA;AAAG,cAAA,MAAA,CAAO,KAAKA,MAAK,CAAA,CAAA;AAAA;AAC7D,cAAQ,KAAA,GAAA,IAAA,CAAA;AAAA,WACf;AACA,UAAA,IAAI,CAAC,KAAA;AAAO,YAAA,MAAA,CAAO,KAAK,MAAM,CAAA,CAAA;AAC9B,UAAO,OAAA,MAAA,CAAA;AAAA,SACT;AACA,QAAA,OAAO,YAAcC,CAAAA,eAAAA,CAAe,CAAC,CAAA,IAAK,EAAW,CACnD,KAAA,YAAA,CAAa,MAAM,CAAA,GACjB,EAAC,GACD,CAAC,MAAM,CAAA,CAAA;AAAA,OACZ,CAAA,CAAA;AAAA,KACH;AAAA,IACA,CAAC,cAAA,EAAgB,iBAAmB,EAAA,YAAA,EAAc,IAAI,CAAA;AAAA,GACxD,CAAA;AAEA,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,gBAAgB,cAAe,CAAA,CAAC,KAAK,cAAe,CAAA,CAAC,MAAM,KAAO,EAAA;AACpE,MAAc,aAAA,EAAA,CAAA;AAAA,KAChB;AAAA,KACC,CAAC,cAAA,CAAe,CAAC,CAAG,EAAA,KAAA,EAAO,WAAW,CAAC,CAAA,CAAA;AAE1C,EAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,WAAA,CAAY,MAAM;AAG5C,IAAA,QAAA;AAAA,MACG,IAAS,KAAA,QAAA,GAAW,cAAe,CAAA,CAAC,CAAI,GAAA,cAAA;AAAA,KAC3C,CAAA;AACA,IAAQ,KAAA,IAAA,CAAA;AAAA,GACV,EAAG,CAAC,cAAc,CAAC,CAAA,CAAA;AAEnB,EAAA,MAAM,gBAAgB,KAAM,CAAA,WAAA;AAAA,IAC1B,CAAC,EAAE,IAAA,EACD,qBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,IAAA;AAAA,QACA,eAAA;AAAA,QACA,cAAA;AAAA,OAAA;AAAA,KACF;AAAA,IAEF,EAAC;AAAA,GACH,CAAA;AAEA,EAAA,MAAM,aAAa,IAAK,CAAA,MAAA,CAAO,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,CAAE,CAAA,MAAA,CAAA;AACtD,EAAA,MAAM,oBAAoB,IAAK,CAAA,MAAA,CAAA;AAE/B,EAAA,MAAM,mBAAmB,KAAM,CAAA,OAAA;AAAA,IAC7B,sBACE,KAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,YAAA;AAAA,QACA,gBAAkB,EAAA,GAAA;AAAA,QAClB,UAAY,EAAA,aAAA;AAAA,OAAA;AAAA,KACd;AAAA,IAEF,CAAC,cAAgB,EAAA,UAAA,EAAY,iBAAiB,CAAA;AAAA,GAChD,CAAA;AAEA,EAAA,MAAM,iBAAiB,gBACrB,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,IAAA;AAAA,MACX,UAAW,EAAA,MAAA;AAAA,MACX,aAAe,EAAA,CAAA;AAAA,MACf,KAAO,EAAA,EAAE,QAAU,EAAA,OAAA,CAAQ,GAAG,CAAE,EAAA;AAAA,KAAA;AAAA,IAE/B,gBAAA;AAAA,GAED,GAAA,IAAA,CAAA;AAEJ,EAAM,MAAA,aAAA,GAAgB,4BAClB,yBACA,GAAA,cAAA,CAAA;AAEJ,EAAA,2CACG,SAAW,EAAA,EAAA,GAAG,QAAQ,YAAc,EAAA,cAAA,EAAgB,cAAc,KACjE,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAa,EAAA;AAAA,QACX,OAAS,EAAA,KAAA;AAAA,QACT,IAAM,EAAA;AAAA,UACJ,IAAM,EAAA,OAAA;AAAA,UACN,IAAM,EAAA,oBAAA;AAAA,UACN,SAAW,EAAA,OAAA;AAAA,SACb;AAAA,OACF;AAAA,KAAA;AAAA,IAEC,aAAA;AAAA,GAGF,EAAA,CAAC,aACA,oBAAA,KAAA,CAAA,aAAA,CAAC,kBACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAa,EAAA,oBAAA;AAAA,MACb,KAAO,EAAA,SAAA;AAAA,MACP,QAAU,EAAA,YAAA;AAAA,MACV,aAAA,sCACG,UAAW,EAAA,EAAA,IAAA,EAAK,UAAS,IAAK,EAAA,SAAA,EAAU,MAAK,OAAQ,EAAA,CAAA;AAAA,KAAA;AAAA,GAG5D,CAGD,EAAA,OAAA,oBACE,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA,EAAe,WAAW,IAAM,EAAA,KAAA,EAAO,MAAQ,EAAA,IAAA,EAAM,SAAS,CAGhE,EAAA,gBAAA,EAEA,CAAC,YAAA,wCACC,WACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAS,EAAA,QAAA;AAAA,MACT,KAAO,EAAA,SAAA;AAAA,MACP,OAAS,EAAA,aAAA;AAAA,MACT,QAAU,EAAA,OAAA;AAAA,KAAA;AAAA,wCAET,IAAK,EAAA,EAAA,SAAA,EAAW,OAAS,EAAA,UAAA,EAAW,UAClC,iBACH,CAAA;AAAA,GAEJ,CAEJ,CAAA,CAAA;AAEJ,CAAA,CAAA;AASA,MAAM,iBAAiB,CAAK;AAAA,EAC1B,eAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AACF,CAA+B,KAAA;AAC7B,EAAO,OAAA,KAAA,CAAM,QAAQ,MAAM;AACzB,IAAM,MAAA,KAAA,GAAQ,eAAe,IAAI,CAAA,CAAA;AACjC,IAAA,uBACG,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,OAAS,EAAA,MAAM,eAAgB,CAAA,IAAI,CAC3C,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,aAAA,EAAe,MAClB,EAAA,EAAA,IAAA,KAAS,OACR,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA,SAAA;AAAA,QACP,aAAe,EAAA,OAAA;AAAA,QACf,SAAS,IAAK,CAAA,QAAA;AAAA,OAAA;AAAA,sBAEd,KAAA,CAAA,aAAA;AAAA,QAAC,oBAAA;AAAA,QAAA;AAAA,UACC,UAAA,EAAY,IAAK,CAAA,QAAA,GAAW,MAAS,GAAA,SAAA;AAAA,UACrC,aAAe,EAAA,MAAA;AAAA,UACf,aAAe,EAAA,CAAA;AAAA,SAAA;AAAA,QAEd,KAAA;AAAA,OACH;AAAA,KAGF,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA,SAAA;AAAA,QACP,aAAe,EAAA,OAAA;AAAA,QACf,SAAS,IAAK,CAAA,QAAA;AAAA,OAAA;AAAA,sBAEd,KAAA,CAAA,aAAA;AAAA,QAAC,oBAAA;AAAA,QAAA;AAAA,UACC,UAAA,EAAY,IAAK,CAAA,QAAA,GAAW,MAAS,GAAA,SAAA;AAAA,UACrC,aAAe,EAAA,MAAA;AAAA,UACf,aAAe,EAAA,CAAA;AAAA,SAAA;AAAA,QAEd,KAAA;AAAA,OACH;AAAA,KAGN,CACF,CAAA,CAAA;AAAA,GAED,EAAA,CAAC,IAAK,CAAA,QAAQ,CAAC,CAAA,CAAA;AACpB,CAAA,CAAA;AAEO,MAAM,KAAQ,GAAA;;;;"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { InputContainerProps } from '@tecsinapse/react-core';
2
3
  export interface SelectNativeProps<Data, Type extends 'single' | 'multi'> extends Omit<InputContainerProps, 'value' | 'onChange' | 'onChangeText'> {
3
4
  options: ((searchInput?: string) => Promise<Data[]>) | Data[];