@herca/rn-kit 0.1.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 (588) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +33 -0
  3. package/RnKit.podspec +21 -0
  4. package/android/build.gradle +83 -0
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/herca/rnkit/RnKitModule.kt +23 -0
  8. package/android/src/main/java/com/herca/rnkit/RnKitPackage.kt +33 -0
  9. package/ios/RnKit.h +5 -0
  10. package/ios/RnKit.mm +18 -0
  11. package/lib/module/Accordion/Accordion.js +33 -0
  12. package/lib/module/Accordion/Accordion.js.map +1 -0
  13. package/lib/module/Accordion/AccordionItem.js +13 -0
  14. package/lib/module/Accordion/AccordionItem.js.map +1 -0
  15. package/lib/module/Accordion/README.md +48 -0
  16. package/lib/module/Accordion/type.js +4 -0
  17. package/lib/module/Accordion/type.js.map +1 -0
  18. package/lib/module/Alert/Alert.js +121 -0
  19. package/lib/module/Alert/Alert.js.map +1 -0
  20. package/lib/module/Alert/README.md +68 -0
  21. package/lib/module/Avatar/Avatar.js +56 -0
  22. package/lib/module/Avatar/Avatar.js.map +1 -0
  23. package/lib/module/Avatar/AvatarGroup.js +118 -0
  24. package/lib/module/Avatar/AvatarGroup.js.map +1 -0
  25. package/lib/module/Avatar/README_AVATAR.md +57 -0
  26. package/lib/module/Avatar/README_AVATARGROUP.md +58 -0
  27. package/lib/module/Avatar/type.js +4 -0
  28. package/lib/module/Avatar/type.js.map +1 -0
  29. package/lib/module/Badge/Badge.js +119 -0
  30. package/lib/module/Badge/Badge.js.map +1 -0
  31. package/lib/module/Badge/README.md +64 -0
  32. package/lib/module/Badge/type.js +2 -0
  33. package/lib/module/Badge/type.js.map +1 -0
  34. package/lib/module/BottomSheet/BottomSheet.js +211 -0
  35. package/lib/module/BottomSheet/BottomSheet.js.map +1 -0
  36. package/lib/module/BottomSheet/README.md +64 -0
  37. package/lib/module/BottomSheet/type.js +2 -0
  38. package/lib/module/BottomSheet/type.js.map +1 -0
  39. package/lib/module/Button/Button.js +138 -0
  40. package/lib/module/Button/Button.js.map +1 -0
  41. package/lib/module/Button/README.md +94 -0
  42. package/lib/module/Button/type.js +262 -0
  43. package/lib/module/Button/type.js.map +1 -0
  44. package/lib/module/Calendar/Calendar.js +356 -0
  45. package/lib/module/Calendar/Calendar.js.map +1 -0
  46. package/lib/module/Calendar/CalendarPropsType.js +4 -0
  47. package/lib/module/Calendar/CalendarPropsType.js.map +1 -0
  48. package/lib/module/Calendar/README.md +73 -0
  49. package/lib/module/CheckBox/CheckBox.js +67 -0
  50. package/lib/module/CheckBox/CheckBox.js.map +1 -0
  51. package/lib/module/CheckBox/CheckBoxList.js +41 -0
  52. package/lib/module/CheckBox/CheckBoxList.js.map +1 -0
  53. package/lib/module/CheckBox/README_CHECKBOX.md +46 -0
  54. package/lib/module/CheckBox/README_CHECKBOXLIST.md +41 -0
  55. package/lib/module/Chip/Chip.js +109 -0
  56. package/lib/module/Chip/Chip.js.map +1 -0
  57. package/lib/module/Chip/ChipItem.js +89 -0
  58. package/lib/module/Chip/ChipItem.js.map +1 -0
  59. package/lib/module/Chip/README.md +89 -0
  60. package/lib/module/Chip/type.js +94 -0
  61. package/lib/module/Chip/type.js.map +1 -0
  62. package/lib/module/Color/Color.js +126 -0
  63. package/lib/module/Color/Color.js.map +1 -0
  64. package/lib/module/Color/README.md +54 -0
  65. package/lib/module/Color/type.js +2 -0
  66. package/lib/module/Color/type.js.map +1 -0
  67. package/lib/module/DatePicker/DatePicker.js +69 -0
  68. package/lib/module/DatePicker/DatePicker.js.map +1 -0
  69. package/lib/module/DatePicker/MonthPicker.js +179 -0
  70. package/lib/module/DatePicker/MonthPicker.js.map +1 -0
  71. package/lib/module/DatePicker/README.md +51 -0
  72. package/lib/module/DatePicker/TimePicker.js +200 -0
  73. package/lib/module/DatePicker/TimePicker.js.map +1 -0
  74. package/lib/module/DatePicker/YearPicker.js +217 -0
  75. package/lib/module/DatePicker/YearPicker.js.map +1 -0
  76. package/lib/module/DatePicker/helpers.js +33 -0
  77. package/lib/module/DatePicker/helpers.js.map +1 -0
  78. package/lib/module/Drawing/Drawing.js +26 -0
  79. package/lib/module/Drawing/Drawing.js.map +1 -0
  80. package/lib/module/DropDown/DropDown.js +107 -0
  81. package/lib/module/DropDown/DropDown.js.map +1 -0
  82. package/lib/module/DropDown/type.js +4 -0
  83. package/lib/module/DropDown/type.js.map +1 -0
  84. package/lib/module/FileView/Image.js +8 -0
  85. package/lib/module/FileView/Image.js.map +1 -0
  86. package/lib/module/FileView/PdfView.js +37 -0
  87. package/lib/module/FileView/PdfView.js.map +1 -0
  88. package/lib/module/Icon/Icon.js +74 -0
  89. package/lib/module/Icon/Icon.js.map +1 -0
  90. package/lib/module/Icon/icons/AirPlane.js +22 -0
  91. package/lib/module/Icon/icons/AirPlane.js.map +1 -0
  92. package/lib/module/Icon/icons/ArrowBackAlt.js +22 -0
  93. package/lib/module/Icon/icons/ArrowBackAlt.js.map +1 -0
  94. package/lib/module/Icon/icons/ArrowDown.js +22 -0
  95. package/lib/module/Icon/icons/ArrowDown.js.map +1 -0
  96. package/lib/module/Icon/icons/ArrowForwardAlt.js +22 -0
  97. package/lib/module/Icon/icons/ArrowForwardAlt.js.map +1 -0
  98. package/lib/module/Icon/icons/ArrowLeft.js +22 -0
  99. package/lib/module/Icon/icons/ArrowLeft.js.map +1 -0
  100. package/lib/module/Icon/icons/ArrowRight.js +22 -0
  101. package/lib/module/Icon/icons/ArrowRight.js.map +1 -0
  102. package/lib/module/Icon/icons/ArrowUp.js +22 -0
  103. package/lib/module/Icon/icons/ArrowUp.js.map +1 -0
  104. package/lib/module/Icon/icons/Calendar.js +22 -0
  105. package/lib/module/Icon/icons/Calendar.js.map +1 -0
  106. package/lib/module/Icon/icons/Camera.js +22 -0
  107. package/lib/module/Icon/icons/Camera.js.map +1 -0
  108. package/lib/module/Icon/icons/Check.js +22 -0
  109. package/lib/module/Icon/icons/Check.js.map +1 -0
  110. package/lib/module/Icon/icons/Document.js +22 -0
  111. package/lib/module/Icon/icons/Document.js.map +1 -0
  112. package/lib/module/Icon/icons/Download.js +22 -0
  113. package/lib/module/Icon/icons/Download.js.map +1 -0
  114. package/lib/module/Icon/icons/ExlmationMark.js +22 -0
  115. package/lib/module/Icon/icons/ExlmationMark.js.map +1 -0
  116. package/lib/module/Icon/icons/Eye.js +22 -0
  117. package/lib/module/Icon/icons/Eye.js.map +1 -0
  118. package/lib/module/Icon/icons/EyeOpen.js +22 -0
  119. package/lib/module/Icon/icons/EyeOpen.js.map +1 -0
  120. package/lib/module/Icon/icons/Filter.js +22 -0
  121. package/lib/module/Icon/icons/Filter.js.map +1 -0
  122. package/lib/module/Icon/icons/Home.js +8 -0
  123. package/lib/module/Icon/icons/Home.js.map +1 -0
  124. package/lib/module/Icon/icons/Image.js +22 -0
  125. package/lib/module/Icon/icons/Image.js.map +1 -0
  126. package/lib/module/Icon/icons/Pdf.js +22 -0
  127. package/lib/module/Icon/icons/Pdf.js.map +1 -0
  128. package/lib/module/Icon/icons/RadioButton.js +34 -0
  129. package/lib/module/Icon/icons/RadioButton.js.map +1 -0
  130. package/lib/module/Icon/icons/Search.js +22 -0
  131. package/lib/module/Icon/icons/Search.js.map +1 -0
  132. package/lib/module/Icon/icons/StickyNote.js +22 -0
  133. package/lib/module/Icon/icons/StickyNote.js.map +1 -0
  134. package/lib/module/Icon/icons/Times.js +22 -0
  135. package/lib/module/Icon/icons/Times.js.map +1 -0
  136. package/lib/module/Icon/icons/User.js +22 -0
  137. package/lib/module/Icon/icons/User.js.map +1 -0
  138. package/lib/module/Icon/icons/XCircle.js +22 -0
  139. package/lib/module/Icon/icons/XCircle.js.map +1 -0
  140. package/lib/module/Icon/index.js +6 -0
  141. package/lib/module/Icon/index.js.map +1 -0
  142. package/lib/module/Icon/type.js +4 -0
  143. package/lib/module/Icon/type.js.map +1 -0
  144. package/lib/module/Input/Input.js +125 -0
  145. package/lib/module/Input/Input.js.map +1 -0
  146. package/lib/module/Input/Input.md +51 -0
  147. package/lib/module/Input/InputFile.js +319 -0
  148. package/lib/module/Input/InputFile.js.map +1 -0
  149. package/lib/module/Input/InputMonth.js +4 -0
  150. package/lib/module/Input/InputMonth.js.map +1 -0
  151. package/lib/module/Input/InputNumber.js +2 -0
  152. package/lib/module/Input/InputNumber.js.map +1 -0
  153. package/lib/module/Input/InputOtp.js +74 -0
  154. package/lib/module/Input/InputOtp.js.map +1 -0
  155. package/lib/module/Input/InputPassword.js +18 -0
  156. package/lib/module/Input/InputPassword.js.map +1 -0
  157. package/lib/module/Input/InputSelect.js +8 -0
  158. package/lib/module/Input/InputSelect.js.map +1 -0
  159. package/lib/module/Input/Switch.js +91 -0
  160. package/lib/module/Input/Switch.js.map +1 -0
  161. package/lib/module/Input/TextArea.js +61 -0
  162. package/lib/module/Input/TextArea.js.map +1 -0
  163. package/lib/module/Input/assets/Ilustrasi.svg +14 -0
  164. package/lib/module/Input/assets/input-file.png +0 -0
  165. package/lib/module/Input/type.js +4 -0
  166. package/lib/module/Input/type.js.map +1 -0
  167. package/lib/module/Label/Label.js +87 -0
  168. package/lib/module/Label/Label.js.map +1 -0
  169. package/lib/module/LabelForm/LabelForm.js +17 -0
  170. package/lib/module/LabelForm/LabelForm.js.map +1 -0
  171. package/lib/module/List/List.js +31 -0
  172. package/lib/module/List/List.js.map +1 -0
  173. package/lib/module/List/ListItem.js +31 -0
  174. package/lib/module/List/ListItem.js.map +1 -0
  175. package/lib/module/List/type.js +4 -0
  176. package/lib/module/List/type.js.map +1 -0
  177. package/lib/module/Loading/Loading.js +50 -0
  178. package/lib/module/Loading/Loading.js.map +1 -0
  179. package/lib/module/Modal/Modal.js +149 -0
  180. package/lib/module/Modal/Modal.js.map +1 -0
  181. package/lib/module/NativeRnKit.js +5 -0
  182. package/lib/module/NativeRnKit.js.map +1 -0
  183. package/lib/module/Provider/FooterProvider.js +25 -0
  184. package/lib/module/Provider/FooterProvider.js.map +1 -0
  185. package/lib/module/Provider/LayoutWithFooter.js +34 -0
  186. package/lib/module/Provider/LayoutWithFooter.js.map +1 -0
  187. package/lib/module/Provider/Provider.js +43 -0
  188. package/lib/module/Provider/Provider.js.map +1 -0
  189. package/lib/module/Provider/RequiredUpdateAppsProvider.js +60 -0
  190. package/lib/module/Provider/RequiredUpdateAppsProvider.js.map +1 -0
  191. package/lib/module/Provider/type.js +2 -0
  192. package/lib/module/Provider/type.js.map +1 -0
  193. package/lib/module/RadioButton/README.md +43 -0
  194. package/lib/module/RadioButton/RadioButton.js +97 -0
  195. package/lib/module/RadioButton/RadioButton.js.map +1 -0
  196. package/lib/module/Select/README.md +78 -0
  197. package/lib/module/Select/README_Select.md +78 -0
  198. package/lib/module/Select/Select.js +101 -0
  199. package/lib/module/Select/Select.js.map +1 -0
  200. package/lib/module/Select/type.js +4 -0
  201. package/lib/module/Select/type.js.map +1 -0
  202. package/lib/module/Step/Step.js +83 -0
  203. package/lib/module/Step/Step.js.map +1 -0
  204. package/lib/module/Step/StepItem.js +78 -0
  205. package/lib/module/Step/StepItem.js.map +1 -0
  206. package/lib/module/Step/type.js +4 -0
  207. package/lib/module/Step/type.js.map +1 -0
  208. package/lib/module/SwitchButton/SwitchButton.js +8 -0
  209. package/lib/module/SwitchButton/SwitchButton.js.map +1 -0
  210. package/lib/module/TextArea/TextArea.js +2 -0
  211. package/lib/module/TextArea/TextArea.js.map +1 -0
  212. package/lib/module/Theme/Theme.js +31 -0
  213. package/lib/module/Theme/Theme.js.map +1 -0
  214. package/lib/module/Timeline/Timeline.js +12 -0
  215. package/lib/module/Timeline/Timeline.js.map +1 -0
  216. package/lib/module/Timeline/TimelineItem.js +66 -0
  217. package/lib/module/Timeline/TimelineItem.js.map +1 -0
  218. package/lib/module/Toast/Toast.js +143 -0
  219. package/lib/module/Toast/Toast.js.map +1 -0
  220. package/lib/module/Toast/ToastContext.js +40 -0
  221. package/lib/module/Toast/ToastContext.js.map +1 -0
  222. package/lib/module/Typography/README.md +71 -0
  223. package/lib/module/Typography/Typography.js +39 -0
  224. package/lib/module/Typography/Typography.js.map +1 -0
  225. package/lib/module/Typography/type.js +33 -0
  226. package/lib/module/Typography/type.js.map +1 -0
  227. package/lib/module/Ui/Card.js +50 -0
  228. package/lib/module/Ui/Card.js.map +1 -0
  229. package/lib/module/Ui/Center.js +21 -0
  230. package/lib/module/Ui/Center.js.map +1 -0
  231. package/lib/module/Ui/Col.js +20 -0
  232. package/lib/module/Ui/Col.js.map +1 -0
  233. package/lib/module/Ui/Container.js +20 -0
  234. package/lib/module/Ui/Container.js.map +1 -0
  235. package/lib/module/Ui/Devider.js +18 -0
  236. package/lib/module/Ui/Devider.js.map +1 -0
  237. package/lib/module/Ui/Footer.js +36 -0
  238. package/lib/module/Ui/Footer.js.map +1 -0
  239. package/lib/module/Ui/Gap.js +13 -0
  240. package/lib/module/Ui/Gap.js.map +1 -0
  241. package/lib/module/Ui/Grid.js +31 -0
  242. package/lib/module/Ui/Grid.js.map +1 -0
  243. package/lib/module/index.js +61 -0
  244. package/lib/module/index.js.map +1 -0
  245. package/lib/module/package.json +1 -0
  246. package/lib/typescript/package.json +1 -0
  247. package/lib/typescript/src/Accordion/Accordion.d.ts +3 -0
  248. package/lib/typescript/src/Accordion/Accordion.d.ts.map +1 -0
  249. package/lib/typescript/src/Accordion/AccordionItem.d.ts +3 -0
  250. package/lib/typescript/src/Accordion/AccordionItem.d.ts.map +1 -0
  251. package/lib/typescript/src/Accordion/type.d.ts +17 -0
  252. package/lib/typescript/src/Accordion/type.d.ts.map +1 -0
  253. package/lib/typescript/src/Alert/Alert.d.ts +16 -0
  254. package/lib/typescript/src/Alert/Alert.d.ts.map +1 -0
  255. package/lib/typescript/src/Avatar/Avatar.d.ts +5 -0
  256. package/lib/typescript/src/Avatar/Avatar.d.ts.map +1 -0
  257. package/lib/typescript/src/Avatar/AvatarGroup.d.ts +4 -0
  258. package/lib/typescript/src/Avatar/AvatarGroup.d.ts.map +1 -0
  259. package/lib/typescript/src/Avatar/type.d.ts +16 -0
  260. package/lib/typescript/src/Avatar/type.d.ts.map +1 -0
  261. package/lib/typescript/src/Badge/Badge.d.ts +14 -0
  262. package/lib/typescript/src/Badge/Badge.d.ts.map +1 -0
  263. package/lib/typescript/src/Badge/type.d.ts +1 -0
  264. package/lib/typescript/src/Badge/type.d.ts.map +1 -0
  265. package/lib/typescript/src/BottomSheet/BottomSheet.d.ts +3 -0
  266. package/lib/typescript/src/BottomSheet/BottomSheet.d.ts.map +1 -0
  267. package/lib/typescript/src/BottomSheet/type.d.ts +15 -0
  268. package/lib/typescript/src/BottomSheet/type.d.ts.map +1 -0
  269. package/lib/typescript/src/Button/Button.d.ts +5 -0
  270. package/lib/typescript/src/Button/Button.d.ts.map +1 -0
  271. package/lib/typescript/src/Button/type.d.ts +49 -0
  272. package/lib/typescript/src/Button/type.d.ts.map +1 -0
  273. package/lib/typescript/src/Calendar/Calendar.d.ts +4 -0
  274. package/lib/typescript/src/Calendar/Calendar.d.ts.map +1 -0
  275. package/lib/typescript/src/Calendar/CalendarPropsType.d.ts +52 -0
  276. package/lib/typescript/src/Calendar/CalendarPropsType.d.ts.map +1 -0
  277. package/lib/typescript/src/CheckBox/CheckBox.d.ts +11 -0
  278. package/lib/typescript/src/CheckBox/CheckBox.d.ts.map +1 -0
  279. package/lib/typescript/src/CheckBox/CheckBoxList.d.ts +14 -0
  280. package/lib/typescript/src/CheckBox/CheckBoxList.d.ts.map +1 -0
  281. package/lib/typescript/src/Chip/Chip.d.ts +5 -0
  282. package/lib/typescript/src/Chip/Chip.d.ts.map +1 -0
  283. package/lib/typescript/src/Chip/ChipItem.d.ts +3 -0
  284. package/lib/typescript/src/Chip/ChipItem.d.ts.map +1 -0
  285. package/lib/typescript/src/Chip/type.d.ts +50 -0
  286. package/lib/typescript/src/Chip/type.d.ts.map +1 -0
  287. package/lib/typescript/src/Color/Color.d.ts +122 -0
  288. package/lib/typescript/src/Color/Color.d.ts.map +1 -0
  289. package/lib/typescript/src/Color/type.d.ts +2 -0
  290. package/lib/typescript/src/Color/type.d.ts.map +1 -0
  291. package/lib/typescript/src/DatePicker/DatePicker.d.ts +10 -0
  292. package/lib/typescript/src/DatePicker/DatePicker.d.ts.map +1 -0
  293. package/lib/typescript/src/DatePicker/MonthPicker.d.ts +13 -0
  294. package/lib/typescript/src/DatePicker/MonthPicker.d.ts.map +1 -0
  295. package/lib/typescript/src/DatePicker/TimePicker.d.ts +11 -0
  296. package/lib/typescript/src/DatePicker/TimePicker.d.ts.map +1 -0
  297. package/lib/typescript/src/DatePicker/YearPicker.d.ts +13 -0
  298. package/lib/typescript/src/DatePicker/YearPicker.d.ts.map +1 -0
  299. package/lib/typescript/src/DatePicker/helpers.d.ts +21 -0
  300. package/lib/typescript/src/DatePicker/helpers.d.ts.map +1 -0
  301. package/lib/typescript/src/Drawing/Drawing.d.ts +2 -0
  302. package/lib/typescript/src/Drawing/Drawing.d.ts.map +1 -0
  303. package/lib/typescript/src/DropDown/DropDown.d.ts +4 -0
  304. package/lib/typescript/src/DropDown/DropDown.d.ts.map +1 -0
  305. package/lib/typescript/src/DropDown/type.d.ts +9 -0
  306. package/lib/typescript/src/DropDown/type.d.ts.map +1 -0
  307. package/lib/typescript/src/FileView/Image.d.ts +2 -0
  308. package/lib/typescript/src/FileView/Image.d.ts.map +1 -0
  309. package/lib/typescript/src/FileView/PdfView.d.ts +5 -0
  310. package/lib/typescript/src/FileView/PdfView.d.ts.map +1 -0
  311. package/lib/typescript/src/Icon/Icon.d.ts +5 -0
  312. package/lib/typescript/src/Icon/Icon.d.ts.map +1 -0
  313. package/lib/typescript/src/Icon/icons/AirPlane.d.ts +9 -0
  314. package/lib/typescript/src/Icon/icons/AirPlane.d.ts.map +1 -0
  315. package/lib/typescript/src/Icon/icons/ArrowBackAlt.d.ts +9 -0
  316. package/lib/typescript/src/Icon/icons/ArrowBackAlt.d.ts.map +1 -0
  317. package/lib/typescript/src/Icon/icons/ArrowDown.d.ts +9 -0
  318. package/lib/typescript/src/Icon/icons/ArrowDown.d.ts.map +1 -0
  319. package/lib/typescript/src/Icon/icons/ArrowForwardAlt.d.ts +9 -0
  320. package/lib/typescript/src/Icon/icons/ArrowForwardAlt.d.ts.map +1 -0
  321. package/lib/typescript/src/Icon/icons/ArrowLeft.d.ts +9 -0
  322. package/lib/typescript/src/Icon/icons/ArrowLeft.d.ts.map +1 -0
  323. package/lib/typescript/src/Icon/icons/ArrowRight.d.ts +9 -0
  324. package/lib/typescript/src/Icon/icons/ArrowRight.d.ts.map +1 -0
  325. package/lib/typescript/src/Icon/icons/ArrowUp.d.ts +9 -0
  326. package/lib/typescript/src/Icon/icons/ArrowUp.d.ts.map +1 -0
  327. package/lib/typescript/src/Icon/icons/Calendar.d.ts +9 -0
  328. package/lib/typescript/src/Icon/icons/Calendar.d.ts.map +1 -0
  329. package/lib/typescript/src/Icon/icons/Camera.d.ts +9 -0
  330. package/lib/typescript/src/Icon/icons/Camera.d.ts.map +1 -0
  331. package/lib/typescript/src/Icon/icons/Check.d.ts +6 -0
  332. package/lib/typescript/src/Icon/icons/Check.d.ts.map +1 -0
  333. package/lib/typescript/src/Icon/icons/Document.d.ts +9 -0
  334. package/lib/typescript/src/Icon/icons/Document.d.ts.map +1 -0
  335. package/lib/typescript/src/Icon/icons/Download.d.ts +9 -0
  336. package/lib/typescript/src/Icon/icons/Download.d.ts.map +1 -0
  337. package/lib/typescript/src/Icon/icons/ExlmationMark.d.ts +9 -0
  338. package/lib/typescript/src/Icon/icons/ExlmationMark.d.ts.map +1 -0
  339. package/lib/typescript/src/Icon/icons/Eye.d.ts +9 -0
  340. package/lib/typescript/src/Icon/icons/Eye.d.ts.map +1 -0
  341. package/lib/typescript/src/Icon/icons/EyeOpen.d.ts +9 -0
  342. package/lib/typescript/src/Icon/icons/EyeOpen.d.ts.map +1 -0
  343. package/lib/typescript/src/Icon/icons/Filter.d.ts +9 -0
  344. package/lib/typescript/src/Icon/icons/Filter.d.ts.map +1 -0
  345. package/lib/typescript/src/Icon/icons/Home.d.ts +2 -0
  346. package/lib/typescript/src/Icon/icons/Home.d.ts.map +1 -0
  347. package/lib/typescript/src/Icon/icons/Image.d.ts +9 -0
  348. package/lib/typescript/src/Icon/icons/Image.d.ts.map +1 -0
  349. package/lib/typescript/src/Icon/icons/Pdf.d.ts +9 -0
  350. package/lib/typescript/src/Icon/icons/Pdf.d.ts.map +1 -0
  351. package/lib/typescript/src/Icon/icons/RadioButton.d.ts +9 -0
  352. package/lib/typescript/src/Icon/icons/RadioButton.d.ts.map +1 -0
  353. package/lib/typescript/src/Icon/icons/Search.d.ts +9 -0
  354. package/lib/typescript/src/Icon/icons/Search.d.ts.map +1 -0
  355. package/lib/typescript/src/Icon/icons/StickyNote.d.ts +9 -0
  356. package/lib/typescript/src/Icon/icons/StickyNote.d.ts.map +1 -0
  357. package/lib/typescript/src/Icon/icons/Times.d.ts +9 -0
  358. package/lib/typescript/src/Icon/icons/Times.d.ts.map +1 -0
  359. package/lib/typescript/src/Icon/icons/User.d.ts +9 -0
  360. package/lib/typescript/src/Icon/icons/User.d.ts.map +1 -0
  361. package/lib/typescript/src/Icon/icons/XCircle.d.ts +9 -0
  362. package/lib/typescript/src/Icon/icons/XCircle.d.ts.map +1 -0
  363. package/lib/typescript/src/Icon/index.d.ts +5 -0
  364. package/lib/typescript/src/Icon/index.d.ts.map +1 -0
  365. package/lib/typescript/src/Icon/type.d.ts +9 -0
  366. package/lib/typescript/src/Icon/type.d.ts.map +1 -0
  367. package/lib/typescript/src/Input/Input.d.ts +5 -0
  368. package/lib/typescript/src/Input/Input.d.ts.map +1 -0
  369. package/lib/typescript/src/Input/InputFile.d.ts +11 -0
  370. package/lib/typescript/src/Input/InputFile.d.ts.map +1 -0
  371. package/lib/typescript/src/Input/InputMonth.d.ts +2 -0
  372. package/lib/typescript/src/Input/InputMonth.d.ts.map +1 -0
  373. package/lib/typescript/src/Input/InputNumber.d.ts +1 -0
  374. package/lib/typescript/src/Input/InputNumber.d.ts.map +1 -0
  375. package/lib/typescript/src/Input/InputOtp.d.ts +11 -0
  376. package/lib/typescript/src/Input/InputOtp.d.ts.map +1 -0
  377. package/lib/typescript/src/Input/InputPassword.d.ts +15 -0
  378. package/lib/typescript/src/Input/InputPassword.d.ts.map +1 -0
  379. package/lib/typescript/src/Input/InputSelect.d.ts +2 -0
  380. package/lib/typescript/src/Input/InputSelect.d.ts.map +1 -0
  381. package/lib/typescript/src/Input/Switch.d.ts +12 -0
  382. package/lib/typescript/src/Input/Switch.d.ts.map +1 -0
  383. package/lib/typescript/src/Input/TextArea.d.ts +3 -0
  384. package/lib/typescript/src/Input/TextArea.d.ts.map +1 -0
  385. package/lib/typescript/src/Input/type.d.ts +18 -0
  386. package/lib/typescript/src/Input/type.d.ts.map +1 -0
  387. package/lib/typescript/src/Label/Label.d.ts +12 -0
  388. package/lib/typescript/src/Label/Label.d.ts.map +1 -0
  389. package/lib/typescript/src/LabelForm/LabelForm.d.ts +4 -0
  390. package/lib/typescript/src/LabelForm/LabelForm.d.ts.map +1 -0
  391. package/lib/typescript/src/List/List.d.ts +3 -0
  392. package/lib/typescript/src/List/List.d.ts.map +1 -0
  393. package/lib/typescript/src/List/ListItem.d.ts +3 -0
  394. package/lib/typescript/src/List/ListItem.d.ts.map +1 -0
  395. package/lib/typescript/src/List/type.d.ts +14 -0
  396. package/lib/typescript/src/List/type.d.ts.map +1 -0
  397. package/lib/typescript/src/Loading/Loading.d.ts +10 -0
  398. package/lib/typescript/src/Loading/Loading.d.ts.map +1 -0
  399. package/lib/typescript/src/Modal/Modal.d.ts +18 -0
  400. package/lib/typescript/src/Modal/Modal.d.ts.map +1 -0
  401. package/lib/typescript/src/NativeRnKit.d.ts +7 -0
  402. package/lib/typescript/src/NativeRnKit.d.ts.map +1 -0
  403. package/lib/typescript/src/Provider/FooterProvider.d.ts +11 -0
  404. package/lib/typescript/src/Provider/FooterProvider.d.ts.map +1 -0
  405. package/lib/typescript/src/Provider/LayoutWithFooter.d.ts +5 -0
  406. package/lib/typescript/src/Provider/LayoutWithFooter.d.ts.map +1 -0
  407. package/lib/typescript/src/Provider/Provider.d.ts +15 -0
  408. package/lib/typescript/src/Provider/Provider.d.ts.map +1 -0
  409. package/lib/typescript/src/Provider/RequiredUpdateAppsProvider.d.ts +3 -0
  410. package/lib/typescript/src/Provider/RequiredUpdateAppsProvider.d.ts.map +1 -0
  411. package/lib/typescript/src/Provider/type.d.ts +7 -0
  412. package/lib/typescript/src/Provider/type.d.ts.map +1 -0
  413. package/lib/typescript/src/RadioButton/RadioButton.d.ts +15 -0
  414. package/lib/typescript/src/RadioButton/RadioButton.d.ts.map +1 -0
  415. package/lib/typescript/src/Select/Select.d.ts +3 -0
  416. package/lib/typescript/src/Select/Select.d.ts.map +1 -0
  417. package/lib/typescript/src/Select/type.d.ts +24 -0
  418. package/lib/typescript/src/Select/type.d.ts.map +1 -0
  419. package/lib/typescript/src/Step/Step.d.ts +4 -0
  420. package/lib/typescript/src/Step/Step.d.ts.map +1 -0
  421. package/lib/typescript/src/Step/StepItem.d.ts +4 -0
  422. package/lib/typescript/src/Step/StepItem.d.ts.map +1 -0
  423. package/lib/typescript/src/Step/type.d.ts +18 -0
  424. package/lib/typescript/src/Step/type.d.ts.map +1 -0
  425. package/lib/typescript/src/SwitchButton/SwitchButton.d.ts +2 -0
  426. package/lib/typescript/src/SwitchButton/SwitchButton.d.ts.map +1 -0
  427. package/lib/typescript/src/TextArea/TextArea.d.ts +1 -0
  428. package/lib/typescript/src/TextArea/TextArea.d.ts.map +1 -0
  429. package/lib/typescript/src/Theme/Theme.d.ts +29 -0
  430. package/lib/typescript/src/Theme/Theme.d.ts.map +1 -0
  431. package/lib/typescript/src/Timeline/Timeline.d.ts +6 -0
  432. package/lib/typescript/src/Timeline/Timeline.d.ts.map +1 -0
  433. package/lib/typescript/src/Timeline/TimelineItem.d.ts +15 -0
  434. package/lib/typescript/src/Timeline/TimelineItem.d.ts.map +1 -0
  435. package/lib/typescript/src/Toast/Toast.d.ts +14 -0
  436. package/lib/typescript/src/Toast/Toast.d.ts.map +1 -0
  437. package/lib/typescript/src/Toast/ToastContext.d.ts +17 -0
  438. package/lib/typescript/src/Toast/ToastContext.d.ts.map +1 -0
  439. package/lib/typescript/src/Typography/Typography.d.ts +5 -0
  440. package/lib/typescript/src/Typography/Typography.d.ts.map +1 -0
  441. package/lib/typescript/src/Typography/type.d.ts +19 -0
  442. package/lib/typescript/src/Typography/type.d.ts.map +1 -0
  443. package/lib/typescript/src/Ui/Card.d.ts +11 -0
  444. package/lib/typescript/src/Ui/Card.d.ts.map +1 -0
  445. package/lib/typescript/src/Ui/Center.d.ts +9 -0
  446. package/lib/typescript/src/Ui/Center.d.ts.map +1 -0
  447. package/lib/typescript/src/Ui/Col.d.ts +10 -0
  448. package/lib/typescript/src/Ui/Col.d.ts.map +1 -0
  449. package/lib/typescript/src/Ui/Container.d.ts +2 -0
  450. package/lib/typescript/src/Ui/Container.d.ts.map +1 -0
  451. package/lib/typescript/src/Ui/Devider.d.ts +3 -0
  452. package/lib/typescript/src/Ui/Devider.d.ts.map +1 -0
  453. package/lib/typescript/src/Ui/Footer.d.ts +9 -0
  454. package/lib/typescript/src/Ui/Footer.d.ts.map +1 -0
  455. package/lib/typescript/src/Ui/Gap.d.ts +6 -0
  456. package/lib/typescript/src/Ui/Gap.d.ts.map +1 -0
  457. package/lib/typescript/src/Ui/Grid.d.ts +9 -0
  458. package/lib/typescript/src/Ui/Grid.d.ts.map +1 -0
  459. package/lib/typescript/src/index.d.ts +59 -0
  460. package/lib/typescript/src/index.d.ts.map +1 -0
  461. package/package.json +172 -0
  462. package/src/Accordion/Accordion.tsx +38 -0
  463. package/src/Accordion/AccordionItem.tsx +9 -0
  464. package/src/Accordion/README.md +48 -0
  465. package/src/Accordion/type.tsx +19 -0
  466. package/src/Alert/Alert.tsx +141 -0
  467. package/src/Alert/README.md +68 -0
  468. package/src/Avatar/Avatar.tsx +68 -0
  469. package/src/Avatar/AvatarGroup.tsx +135 -0
  470. package/src/Avatar/README_AVATAR.md +57 -0
  471. package/src/Avatar/README_AVATARGROUP.md +58 -0
  472. package/src/Avatar/type.tsx +17 -0
  473. package/src/Badge/Badge.tsx +135 -0
  474. package/src/Badge/README.md +64 -0
  475. package/src/Badge/type.tsx +0 -0
  476. package/src/BottomSheet/BottomSheet.tsx +259 -0
  477. package/src/BottomSheet/README.md +64 -0
  478. package/src/BottomSheet/type.tsx +15 -0
  479. package/src/Button/Button.tsx +195 -0
  480. package/src/Button/README.md +94 -0
  481. package/src/Button/type.tsx +329 -0
  482. package/src/Calendar/Calendar.tsx +382 -0
  483. package/src/Calendar/CalendarPropsType.tsx +60 -0
  484. package/src/Calendar/README.md +73 -0
  485. package/src/CheckBox/CheckBox.tsx +80 -0
  486. package/src/CheckBox/CheckBoxList.tsx +64 -0
  487. package/src/CheckBox/README_CHECKBOX.md +46 -0
  488. package/src/CheckBox/README_CHECKBOXLIST.md +41 -0
  489. package/src/Chip/Chip.tsx +134 -0
  490. package/src/Chip/ChipItem.tsx +124 -0
  491. package/src/Chip/README.md +89 -0
  492. package/src/Chip/type.tsx +152 -0
  493. package/src/Color/Color.tsx +133 -0
  494. package/src/Color/README.md +54 -0
  495. package/src/Color/type.tsx +9 -0
  496. package/src/DatePicker/DatePicker.tsx +78 -0
  497. package/src/DatePicker/MonthPicker.tsx +204 -0
  498. package/src/DatePicker/README.md +51 -0
  499. package/src/DatePicker/TimePicker.tsx +234 -0
  500. package/src/DatePicker/YearPicker.tsx +238 -0
  501. package/src/DatePicker/helpers.tsx +53 -0
  502. package/src/Drawing/Drawing.tsx +23 -0
  503. package/src/DropDown/DropDown.tsx +136 -0
  504. package/src/DropDown/type.tsx +9 -0
  505. package/src/FileView/Image.tsx +5 -0
  506. package/src/FileView/PdfView.tsx +33 -0
  507. package/src/Icon/Icon.tsx +76 -0
  508. package/src/Icon/icons/AirPlane.tsx +19 -0
  509. package/src/Icon/icons/ArrowBackAlt.tsx +23 -0
  510. package/src/Icon/icons/ArrowDown.tsx +19 -0
  511. package/src/Icon/icons/ArrowForwardAlt.tsx +23 -0
  512. package/src/Icon/icons/ArrowLeft.tsx +19 -0
  513. package/src/Icon/icons/ArrowRight.tsx +19 -0
  514. package/src/Icon/icons/ArrowUp.tsx +19 -0
  515. package/src/Icon/icons/Calendar.tsx +19 -0
  516. package/src/Icon/icons/Camera.tsx +19 -0
  517. package/src/Icon/icons/Check.tsx +15 -0
  518. package/src/Icon/icons/Document.tsx +19 -0
  519. package/src/Icon/icons/Download.tsx +19 -0
  520. package/src/Icon/icons/ExlmationMark.tsx +23 -0
  521. package/src/Icon/icons/Eye.tsx +19 -0
  522. package/src/Icon/icons/EyeOpen.tsx +19 -0
  523. package/src/Icon/icons/Filter.tsx +19 -0
  524. package/src/Icon/icons/Home.tsx +5 -0
  525. package/src/Icon/icons/Image.tsx +19 -0
  526. package/src/Icon/icons/Pdf.tsx +19 -0
  527. package/src/Icon/icons/RadioButton.tsx +22 -0
  528. package/src/Icon/icons/Search.tsx +19 -0
  529. package/src/Icon/icons/StickyNote.tsx +19 -0
  530. package/src/Icon/icons/Times.tsx +19 -0
  531. package/src/Icon/icons/User.tsx +19 -0
  532. package/src/Icon/icons/XCircle.tsx +19 -0
  533. package/src/Icon/index.tsx +5 -0
  534. package/src/Icon/type.tsx +37 -0
  535. package/src/Input/Input.md +51 -0
  536. package/src/Input/Input.tsx +134 -0
  537. package/src/Input/InputFile.tsx +320 -0
  538. package/src/Input/InputMonth.tsx +1 -0
  539. package/src/Input/InputNumber.tsx +0 -0
  540. package/src/Input/InputOtp.tsx +96 -0
  541. package/src/Input/InputPassword.tsx +31 -0
  542. package/src/Input/InputSelect.tsx +5 -0
  543. package/src/Input/Switch.tsx +111 -0
  544. package/src/Input/TextArea.tsx +67 -0
  545. package/src/Input/assets/Ilustrasi.svg +14 -0
  546. package/src/Input/assets/input-file.png +0 -0
  547. package/src/Input/type.tsx +19 -0
  548. package/src/Label/Label.tsx +119 -0
  549. package/src/LabelForm/LabelForm.tsx +12 -0
  550. package/src/List/List.tsx +31 -0
  551. package/src/List/ListItem.tsx +34 -0
  552. package/src/List/type.tsx +14 -0
  553. package/src/Loading/Loading.tsx +56 -0
  554. package/src/Modal/Modal.tsx +179 -0
  555. package/src/NativeRnKit.ts +8 -0
  556. package/src/Provider/FooterProvider.tsx +26 -0
  557. package/src/Provider/LayoutWithFooter.tsx +27 -0
  558. package/src/Provider/Provider.tsx +53 -0
  559. package/src/Provider/RequiredUpdateAppsProvider.tsx +58 -0
  560. package/src/Provider/type.tsx +6 -0
  561. package/src/RadioButton/README.md +43 -0
  562. package/src/RadioButton/RadioButton.tsx +119 -0
  563. package/src/Select/README.md +78 -0
  564. package/src/Select/README_Select.md +78 -0
  565. package/src/Select/Select.tsx +115 -0
  566. package/src/Select/type.tsx +30 -0
  567. package/src/Step/Step.tsx +92 -0
  568. package/src/Step/StepItem.tsx +86 -0
  569. package/src/Step/type.tsx +18 -0
  570. package/src/SwitchButton/SwitchButton.tsx +5 -0
  571. package/src/TextArea/TextArea.tsx +0 -0
  572. package/src/Theme/Theme.tsx +28 -0
  573. package/src/Timeline/Timeline.tsx +9 -0
  574. package/src/Timeline/TimelineItem.tsx +63 -0
  575. package/src/Toast/Toast.tsx +179 -0
  576. package/src/Toast/ToastContext.tsx +51 -0
  577. package/src/Typography/README.md +71 -0
  578. package/src/Typography/Typography.tsx +44 -0
  579. package/src/Typography/type.tsx +60 -0
  580. package/src/Ui/Card.tsx +70 -0
  581. package/src/Ui/Center.tsx +20 -0
  582. package/src/Ui/Col.tsx +17 -0
  583. package/src/Ui/Container.tsx +12 -0
  584. package/src/Ui/Devider.tsx +15 -0
  585. package/src/Ui/Footer.tsx +37 -0
  586. package/src/Ui/Gap.tsx +8 -0
  587. package/src/Ui/Grid.tsx +36 -0
  588. package/src/index.tsx +68 -0
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext, useState } from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const FooterContext = /*#__PURE__*/createContext(undefined);
6
+ export const FooterProvider = ({
7
+ children
8
+ }) => {
9
+ const [footer, setFooter] = useState(null);
10
+ return /*#__PURE__*/_jsx(FooterContext.Provider, {
11
+ value: {
12
+ footer,
13
+ setFooter
14
+ },
15
+ children: children
16
+ });
17
+ };
18
+ export const useFooter = () => {
19
+ const context = useContext(FooterContext);
20
+ if (!context) {
21
+ throw new Error('useFooter must be used within a FooterProvider');
22
+ }
23
+ return context;
24
+ };
25
+ //# sourceMappingURL=FooterProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","useState","jsx","_jsx","FooterContext","undefined","FooterProvider","children","footer","setFooter","Provider","value","useFooter","context","Error"],"sourceRoot":"../../../src","sources":["Provider/FooterProvider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAwB,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO5E,MAAMC,aAAa,gBAAGL,aAAa,CAAgCM,SAAS,CAAC;AAE7E,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EACvE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGR,QAAQ,CAAmB,IAAI,CAAC;EAE5D,oBACEE,IAAA,CAACC,aAAa,CAACM,QAAQ;IAACC,KAAK,EAAE;MAAEH,MAAM;MAAEC;IAAU,CAAE;IAAAF,QAAA,EAClDA;EAAQ,CACa,CAAC;AAE7B,CAAC;AAED,OAAO,MAAMK,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAMC,OAAO,GAAGb,UAAU,CAACI,aAAa,CAAC;EACzC,IAAI,CAACS,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, SafeAreaView } from 'react-native';
4
+ import { useFooter } from "./Provider.js";
5
+ import React from 'react';
6
+ import Color from "../Color/Color.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export default function LayoutWithFooter({
9
+ children
10
+ }) {
11
+ const {
12
+ footer
13
+ } = useFooter();
14
+ return /*#__PURE__*/_jsxs(SafeAreaView, {
15
+ style: styles.container,
16
+ children: [/*#__PURE__*/_jsx(SafeAreaView, {
17
+ style: [styles.content, footer && styles.footer],
18
+ children: children
19
+ }), footer]
20
+ });
21
+ }
22
+ const styles = StyleSheet.create({
23
+ container: {
24
+ flex: 1,
25
+ backgroundColor: Color.base.white100
26
+ },
27
+ content: {
28
+ flex: 1
29
+ },
30
+ footer: {
31
+ marginBottom: 60
32
+ }
33
+ });
34
+ //# sourceMappingURL=LayoutWithFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","SafeAreaView","useFooter","React","Color","jsx","_jsx","jsxs","_jsxs","LayoutWithFooter","children","footer","style","styles","container","content","create","flex","backgroundColor","base","white100","marginBottom"],"sourceRoot":"../../../src","sources":["Provider/LayoutWithFooter.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,cAAc;AACvD,SAASC,SAAS,QAAQ,eAAY;AACtC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnC,eAAe,SAASC,gBAAgBA,CAAC;EACvCC;AAGF,CAAC,EAAE;EACD,MAAM;IAAEC;EAAO,CAAC,GAAGT,SAAS,CAAC,CAAC;EAE9B,oBACEM,KAAA,CAACP,YAAY;IAACW,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAJ,QAAA,gBACpCJ,IAAA,CAACL,YAAY;MAACW,KAAK,EAAE,CAACC,MAAM,CAACE,OAAO,EAAEJ,MAAM,IAAIE,MAAM,CAACF,MAAM,CAAE;MAAAD,QAAA,EAC5DA;IAAQ,CACG,CAAC,EACdC,MAAM;EAAA,CACK,CAAC;AAEnB;AAEA,MAAME,MAAM,GAAGb,UAAU,CAACgB,MAAM,CAAC;EAC/BF,SAAS,EAAE;IAAEG,IAAI,EAAE,CAAC;IAAEC,eAAe,EAAEd,KAAK,CAACe,IAAI,CAACC;EAAS,CAAC;EAC5DL,OAAO,EAAE;IAAEE,IAAI,EAAE;EAAE,CAAC;EACpBN,MAAM,EAAE;IAAEU,YAAY,EAAE;EAAG;AAC7B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ // FooterContext.js
4
+ import { createContext, useContext, useState } from 'react';
5
+ import { StyleSheet, View } from 'react-native';
6
+ import LayoutWithFooter from "./LayoutWithFooter.js";
7
+ import RequiredUpdateAppsProvider from "./RequiredUpdateAppsProvider.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const FooterContext = /*#__PURE__*/createContext(undefined);
10
+ export default function Provider({
11
+ children,
12
+ requiredUpdated = false,
13
+ updateConfig
14
+ }) {
15
+ const [footer, setFooter] = useState(null);
16
+ return /*#__PURE__*/_jsxs(View, {
17
+ style: styles.container,
18
+ children: [requiredUpdated ? /*#__PURE__*/_jsx(RequiredUpdateAppsProvider, {
19
+ ...updateConfig
20
+ }) : null, /*#__PURE__*/_jsx(FooterContext.Provider, {
21
+ value: {
22
+ footer,
23
+ setFooter
24
+ },
25
+ children: /*#__PURE__*/_jsx(LayoutWithFooter, {
26
+ children: children
27
+ })
28
+ })]
29
+ });
30
+ }
31
+ export const useFooter = () => {
32
+ const context = useContext(FooterContext);
33
+ if (context === undefined) {
34
+ throw new Error('useFooter must be used within a Footer Provider');
35
+ }
36
+ return context;
37
+ };
38
+ const styles = StyleSheet.create({
39
+ container: {
40
+ flex: 1
41
+ }
42
+ });
43
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","useState","StyleSheet","View","LayoutWithFooter","RequiredUpdateAppsProvider","jsx","_jsx","jsxs","_jsxs","FooterContext","undefined","Provider","children","requiredUpdated","updateConfig","footer","setFooter","style","styles","container","value","useFooter","context","Error","create","flex"],"sourceRoot":"../../../src","sources":["Provider/Provider.tsx"],"mappings":";;AAAA;AACA,SAASA,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAC3D,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,0BAA0B,MAAM,iCAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAetE,MAAMC,aAAa,gBAAGX,aAAa,CAAgCY,SAAS,CAAC;AAE7E,eAAe,SAASC,QAAQA,CAAC;EAC/BC,QAAQ;EACRC,eAAe,GAAG,KAAK;EACvBC;AACa,CAAC,EAAE;EAChB,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGhB,QAAQ,CAAC,IAAI,CAAC;EAE1C,oBACEQ,KAAA,CAACN,IAAI;IAACe,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAP,QAAA,GAC3BC,eAAe,gBACdP,IAAA,CAACF,0BAA0B;MAAA,GAAKU;IAAY,CAAG,CAAC,GAC9C,IAAI,eACRR,IAAA,CAACG,aAAa,CAACE,QAAQ;MAACS,KAAK,EAAE;QAAEL,MAAM;QAAEC;MAAU,CAAE;MAAAJ,QAAA,eACnDN,IAAA,CAACH,gBAAgB;QAAAS,QAAA,EAAEA;MAAQ,CAAmB;IAAC,CACzB,CAAC;EAAA,CACrB,CAAC;AAEX;AAEA,OAAO,MAAMS,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAMC,OAAO,GAAGvB,UAAU,CAACU,aAAa,CAAC;EACzC,IAAIa,OAAO,KAAKZ,SAAS,EAAE;IACzB,MAAM,IAAIa,KAAK,CAAC,iDAAiD,CAAC;EACpE;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,MAAMJ,MAAM,GAAGjB,UAAU,CAACuB,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ import { Image, StyleSheet, View } from 'react-native';
4
+ import { Button, Color, Container, Modal, Typography } from "../index.js";
5
+ import { useEffect } from 'react';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export default function RequiredUpdateAppsProvider({
8
+ title,
9
+ description,
10
+ buttonText = 'Update Sekarang',
11
+ onUpdate
12
+ }) {
13
+ useEffect(() => {
14
+ onUpdate?.(false);
15
+ }, [onUpdate]);
16
+ return /*#__PURE__*/_jsx(View, {
17
+ children: /*#__PURE__*/_jsxs(Modal, {
18
+ height: 300,
19
+ isOpen: true,
20
+ closable: false,
21
+ children: [/*#__PURE__*/_jsx(Image, {
22
+ source: require('../../example/assets/updateapps.png'),
23
+ style: styles.image
24
+ }), /*#__PURE__*/_jsxs(Container, {
25
+ style: styles.container,
26
+ children: [/*#__PURE__*/_jsx(Typography, {
27
+ variant: "h4",
28
+ weight: "semibold",
29
+ color: Color.gray[800],
30
+ center: true,
31
+ children: title
32
+ }), /*#__PURE__*/_jsxs(Typography, {
33
+ variant: "t1",
34
+ weight: "regular",
35
+ color: Color.gray[600],
36
+ center: true,
37
+ children: [description, "."]
38
+ }), /*#__PURE__*/_jsx(View, {
39
+ style: {},
40
+ children: /*#__PURE__*/_jsx(Button, {
41
+ title: buttonText,
42
+ color: "primary"
43
+ })
44
+ })]
45
+ })]
46
+ })
47
+ });
48
+ }
49
+ const styles = StyleSheet.create({
50
+ image: {
51
+ position: 'absolute',
52
+ marginTop: -60,
53
+ left: 30
54
+ },
55
+ container: {
56
+ gap: 20,
57
+ marginTop: 80
58
+ }
59
+ });
60
+ //# sourceMappingURL=RequiredUpdateAppsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Image","StyleSheet","View","Button","Color","Container","Modal","Typography","useEffect","jsx","_jsx","jsxs","_jsxs","RequiredUpdateAppsProvider","title","description","buttonText","onUpdate","children","height","isOpen","closable","source","require","style","styles","image","container","variant","weight","color","gray","center","create","position","marginTop","left","gap"],"sourceRoot":"../../../src","sources":["Provider/RequiredUpdateAppsProvider.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAI;AAEhE,SAASC,SAAS,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElC,eAAe,SAASC,0BAA0BA,CAAC;EACjDC,KAAK;EACLC,WAAW;EACXC,UAAU,GAAG,iBAAiB;EAC9BC;AAC+B,CAAC,EAAE;EAClCT,SAAS,CAAC,MAAM;IACdS,QAAQ,GAAG,KAAK,CAAC;EACnB,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EACd,oBACEP,IAAA,CAACR,IAAI;IAAAgB,QAAA,eACHN,KAAA,CAACN,KAAK;MAACa,MAAM,EAAE,GAAI;MAACC,MAAM,EAAE,IAAK;MAACC,QAAQ,EAAE,KAAM;MAAAH,QAAA,gBAChDR,IAAA,CAACV,KAAK;QACJsB,MAAM,EAAEC,OAAO,CAAC,qCAAqC,CAAE;QACvDC,KAAK,EAAEC,MAAM,CAACC;MAAM,CACrB,CAAC,eACFd,KAAA,CAACP,SAAS;QAACmB,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAT,QAAA,gBACjCR,IAAA,CAACH,UAAU;UACTqB,OAAO,EAAC,IAAI;UACZC,MAAM,EAAC,UAAU;UACjBC,KAAK,EAAE1B,KAAK,CAAC2B,IAAI,CAAC,GAAG,CAAE;UACvBC,MAAM;UAAAd,QAAA,EAELJ;QAAK,CACI,CAAC,eACbF,KAAA,CAACL,UAAU;UACTqB,OAAO,EAAC,IAAI;UACZC,MAAM,EAAC,SAAS;UAChBC,KAAK,EAAE1B,KAAK,CAAC2B,IAAI,CAAC,GAAG,CAAE;UACvBC,MAAM;UAAAd,QAAA,GAELH,WAAW,EAAC,GACf;QAAA,CAAY,CAAC,eACbL,IAAA,CAACR,IAAI;UAACsB,KAAK,EAAE,CAAC,CAAE;UAAAN,QAAA,eACdR,IAAA,CAACP,MAAM;YAACW,KAAK,EAAEE,UAAW;YAACc,KAAK,EAAC;UAAS,CAAE;QAAC,CACzC,CAAC;MAAA,CACE,CAAC;IAAA,CACP;EAAC,CACJ,CAAC;AAEX;AAEA,MAAML,MAAM,GAAGxB,UAAU,CAACgC,MAAM,CAAC;EAC/BP,KAAK,EAAE;IACLQ,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,CAAC,EAAE;IACdC,IAAI,EAAE;EACR,CAAC;EACDT,SAAS,EAAE;IACTU,GAAG,EAAE,EAAE;IACPF,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["Provider/type.tsx"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ # 📦 RadioButton – Komponen React Native
2
+
3
+ Komponen `RadioButton` ini digunakan untuk menampilkan daftar pilihan dalam bentuk radio button di aplikasi React Native.
4
+ ![Deskripsi Alt](../../assets/doc/RadioButton/RadioButton.png)
5
+
6
+ ## 📄 Import
7
+
8
+ ```tsx
9
+ import RadioButton from './RadioButton';
10
+ ```
11
+
12
+ ## ⚙️ Props
13
+
14
+ | Nama Props | Tipe | Default | Deskripsi |
15
+ |------------------|--------------------------------------------|-------------|---------------------------------------------------------------------------|
16
+ | `items` | `RadioButtonItem[]` | - | Daftar item radio yang ingin ditampilkan. |
17
+ | `selectedValue` | `string \| null` | `null` | Nilai yang saat ini dipilih oleh pengguna. |
18
+ | `onChange` | `(value: string) => void` | - | Fungsi callback saat item dipilih. |
19
+ | `direction` | `'vertical' \| 'horizontal'` | `'vertical'`| Arah layout dari item radio: vertikal atau horizontal. |
20
+
21
+ ## 📄 Tipe `RadioButtonItem`
22
+
23
+ ```ts
24
+ interface RadioButtonItem {
25
+ label: string; // Teks yang ditampilkan untuk radio
26
+ value: string; // Nilai yang digunakan untuk identifikasi
27
+ disabled?: boolean; // Menonaktifkan tombol radio
28
+ }
29
+ ```
30
+
31
+ ## 💡 Contoh Penggunaan
32
+
33
+ ```tsx
34
+ <RadioButton
35
+ items={[
36
+ { label: 'Laki-laki', value: 'M' },
37
+ { label: 'Perempuan', value: 'F' },
38
+ ]}
39
+ selectedValue={gender}
40
+ onChange={setGender}
41
+ direction="horizontal"
42
+ />
43
+ ```
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useState } from 'react';
4
+ import { View, StyleSheet, Pressable } from 'react-native';
5
+ import { Typography, Color } from '@herca/rn-kit';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const RadioButton = ({
8
+ items,
9
+ selectedValue,
10
+ onChange,
11
+ direction = 'vertical'
12
+ }) => {
13
+ const [internalValue, setInternalValue] = useState(selectedValue);
14
+ useEffect(() => {
15
+ // If no value is selected, set the first non-disabled item as selected
16
+ if (selectedValue === null) {
17
+ const firstValidItem = items.find(item => !item.disabled);
18
+ if (firstValidItem) {
19
+ setInternalValue(firstValidItem.value);
20
+ onChange?.(firstValidItem.value);
21
+ }
22
+ } else {
23
+ setInternalValue(selectedValue);
24
+ }
25
+ }, [selectedValue, items, onChange]);
26
+ const handleOnPress = item => {
27
+ if (!item.disabled) {
28
+ setInternalValue(item.value);
29
+ onChange?.(item.value);
30
+ }
31
+ };
32
+ return /*#__PURE__*/_jsx(View, {
33
+ style: [styles.container, direction === 'horizontal' && styles.horizontal],
34
+ children: items.map(item => {
35
+ const isChecked = internalValue === item.value;
36
+ return /*#__PURE__*/_jsx(View, {
37
+ style: styles.item,
38
+ children: /*#__PURE__*/_jsxs(Pressable, {
39
+ onPress: () => handleOnPress(item),
40
+ style: [styles.radioContainer, item.disabled && styles.disabled],
41
+ children: [/*#__PURE__*/_jsx(View, {
42
+ style: [styles.outerCircle, isChecked && styles.checkedOuter],
43
+ children: isChecked && /*#__PURE__*/_jsx(View, {
44
+ style: styles.innerCircle
45
+ })
46
+ }), /*#__PURE__*/_jsx(Typography, {
47
+ variant: "t2",
48
+ weight: "medium",
49
+ color: Color.gray[800],
50
+ children: item.label
51
+ })]
52
+ })
53
+ }, item.value);
54
+ })
55
+ });
56
+ };
57
+ const styles = StyleSheet.create({
58
+ container: {
59
+ gap: 8
60
+ },
61
+ horizontal: {
62
+ flexDirection: 'row',
63
+ flexWrap: 'wrap'
64
+ },
65
+ item: {
66
+ flexDirection: 'row',
67
+ alignItems: 'center',
68
+ marginRight: 16
69
+ },
70
+ radioContainer: {
71
+ gap: 8,
72
+ flexDirection: 'row'
73
+ },
74
+ outerCircle: {
75
+ width: 20,
76
+ height: 20,
77
+ borderRadius: 10,
78
+ borderWidth: 2,
79
+ borderColor: Color.gray[500] || '#ccc',
80
+ justifyContent: 'center',
81
+ alignItems: 'center'
82
+ },
83
+ checkedOuter: {
84
+ borderColor: Color.primary[1000] || '#007bff'
85
+ },
86
+ innerCircle: {
87
+ width: 10,
88
+ height: 10,
89
+ borderRadius: 5,
90
+ backgroundColor: Color.primary[1000] || '#007bff'
91
+ },
92
+ disabled: {
93
+ opacity: 0.5
94
+ }
95
+ });
96
+ export default RadioButton;
97
+ //# sourceMappingURL=RadioButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","View","StyleSheet","Pressable","Typography","Color","jsx","_jsx","jsxs","_jsxs","RadioButton","items","selectedValue","onChange","direction","internalValue","setInternalValue","firstValidItem","find","item","disabled","value","handleOnPress","style","styles","container","horizontal","children","map","isChecked","onPress","radioContainer","outerCircle","checkedOuter","innerCircle","variant","weight","color","gray","label","create","gap","flexDirection","flexWrap","alignItems","marginRight","width","height","borderRadius","borderWidth","borderColor","justifyContent","primary","backgroundColor","opacity"],"sourceRoot":"../../../src","sources":["RadioButton/RadioButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ # 📦 Select Component
2
+
3
+ Komponen `Select` adalah komponen pemilihan data berbasis bottom sheet dengan dukungan pencarian, multiple select, custom item renderer, dan pull-to-refresh.
4
+
5
+ ## 🚀 Fitur
6
+
7
+ - ✅ Bottom Sheet
8
+ - 🔍 Pencarian dengan debounce
9
+ - 🔁 Pull-to-refresh support
10
+ - 🔘 Multiple/Single select
11
+ - 🎨 Custom render item
12
+ - ⚠️ Validasi jika required
13
+ - 🔄 Loading state
14
+
15
+ ## 📦 Props
16
+
17
+ | Prop | Tipe | Default | Keterangan |
18
+ |--------------|--------------------------------------------------|---------------|------------|
19
+ | `isOpen` | `boolean` | `false` | Menentukan apakah bottom sheet terbuka |
20
+ | `data` | `ChipOptionProps[]` | - | Data pilihan untuk ditampilkan |
21
+ | `multiple` | `boolean` | `false` | Mengizinkan multiple selection |
22
+ | `renderItem` | `(item, selected, disabled) => React.ReactNode` | - | Kustom tampilan item |
23
+ | `onSubmit` | `(selected: ChipSelectedProps) => void` | - | Callback saat tombol submit ditekan |
24
+ | `onClose` | `(val: boolean) => void` | - | Callback saat bottom sheet ditutup |
25
+ | `onSearch` | `(val: string) => void` | - | Callback saat input pencarian berubah |
26
+ | `required` | `boolean` | `false` | Jika `true`, validasi input saat submit |
27
+ | `loading` | `boolean` | `false` | Menampilkan loading saat data di-fetch |
28
+ | `delaySearch`| `number` | `300` | Delay pencarian dalam milidetik |
29
+ | `height` | `BottomSheetHeighProps` | - | Ukuran tinggi BottomSheet |
30
+ | `onRefresh` | `() => void` | - | Callback saat pull-to-refresh dilakukan |
31
+
32
+ ## 📌 Contoh Penggunaan
33
+
34
+ ```tsx
35
+ import Select from './components/Select/Select';
36
+
37
+ const MyScreen = () => {
38
+ const [open, setOpen] = useState(false);
39
+
40
+ const data = [
41
+ { label: 'Option 1', value: '1' },
42
+ { label: 'Option 2', value: '2' },
43
+ ];
44
+
45
+ const handleSubmit = (selected) => {
46
+ console.log('Selected:', selected);
47
+ };
48
+
49
+ return (
50
+ <>
51
+ <Button title="Pilih Data" onPress={() => setOpen(true)} />
52
+ <Select
53
+ isOpen={open}
54
+ data={data}
55
+ multiple={true}
56
+ onClose={() => setOpen(false)}
57
+ onSubmit={handleSubmit}
58
+ onSearch={(val) => console.log('Search:', val)}
59
+ onRefresh={() => console.log('Refresh triggered')}
60
+ required={true}
61
+ loading={false}
62
+ />
63
+ </>
64
+ );
65
+ };
66
+ ```
67
+
68
+ ## 🔧 Catatan
69
+
70
+ - Komponen ini membutuhkan komponen-komponen pendukung:
71
+ - `BottomSheet`
72
+ - `Input`
73
+ - `Button`
74
+ - `Chip`
75
+ - `Loading`
76
+ - `Toast` (untuk validasi/error)
77
+
78
+ - Jika ingin menambahkan animasi shimmer saat loading, bisa modifikasi komponen `Loading`.
@@ -0,0 +1,78 @@
1
+ # 📦 Select Component
2
+
3
+ Komponen `Select` adalah komponen pemilihan data berbasis bottom sheet dengan dukungan pencarian, multiple select, custom item renderer, dan pull-to-refresh.
4
+
5
+ ## 🚀 Fitur
6
+
7
+ - ✅ Bottom Sheet
8
+ - 🔍 Pencarian dengan debounce
9
+ - 🔁 Pull-to-refresh support
10
+ - 🔘 Multiple/Single select
11
+ - 🎨 Custom render item
12
+ - ⚠️ Validasi jika required
13
+ - 🔄 Loading state
14
+
15
+ ## 📦 Props
16
+
17
+ | Prop | Tipe | Default | Keterangan |
18
+ |--------------|--------------------------------------------------|---------------|------------|
19
+ | `isOpen` | `boolean` | `false` | Menentukan apakah bottom sheet terbuka |
20
+ | `data` | `ChipOptionProps[]` | - | Data pilihan untuk ditampilkan |
21
+ | `multiple` | `boolean` | `false` | Mengizinkan multiple selection |
22
+ | `renderItem` | `(item, selected, disabled) => React.ReactNode` | - | Kustom tampilan item |
23
+ | `onSubmit` | `(selected: ChipSelectedProps) => void` | - | Callback saat tombol submit ditekan |
24
+ | `onClose` | `(val: boolean) => void` | - | Callback saat bottom sheet ditutup |
25
+ | `onSearch` | `(val: string) => void` | - | Callback saat input pencarian berubah |
26
+ | `required` | `boolean` | `false` | Jika `true`, validasi input saat submit |
27
+ | `loading` | `boolean` | `false` | Menampilkan loading saat data di-fetch |
28
+ | `delaySearch`| `number` | `300` | Delay pencarian dalam milidetik |
29
+ | `height` | `BottomSheetHeighProps` | - | Ukuran tinggi BottomSheet |
30
+ | `onRefresh` | `() => void` | - | Callback saat pull-to-refresh dilakukan |
31
+
32
+ ## 📌 Contoh Penggunaan
33
+
34
+ ```tsx
35
+ import Select from './components/Select/Select';
36
+
37
+ const MyScreen = () => {
38
+ const [open, setOpen] = useState(false);
39
+
40
+ const data = [
41
+ { label: 'Option 1', value: '1' },
42
+ { label: 'Option 2', value: '2' },
43
+ ];
44
+
45
+ const handleSubmit = (selected) => {
46
+ console.log('Selected:', selected);
47
+ };
48
+
49
+ return (
50
+ <>
51
+ <Button title="Pilih Data" onPress={() => setOpen(true)} />
52
+ <Select
53
+ isOpen={open}
54
+ data={data}
55
+ multiple={true}
56
+ onClose={() => setOpen(false)}
57
+ onSubmit={handleSubmit}
58
+ onSearch={(val) => console.log('Search:', val)}
59
+ onRefresh={() => console.log('Refresh triggered')}
60
+ required={true}
61
+ loading={false}
62
+ />
63
+ </>
64
+ );
65
+ };
66
+ ```
67
+
68
+ ## 🔧 Catatan
69
+
70
+ - Komponen ini membutuhkan komponen-komponen pendukung:
71
+ - `BottomSheet`
72
+ - `Input`
73
+ - `Button`
74
+ - `Chip`
75
+ - `Loading`
76
+ - `Toast` (untuk validasi/error)
77
+
78
+ - Jika ingin menambahkan animasi shimmer saat loading, bisa modifikasi komponen `Loading`.
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ import { View, StyleSheet, TouchableWithoutFeedback, Keyboard } from 'react-native';
4
+ import { useState, useEffect } from 'react';
5
+ import BottomSheet from "../BottomSheet/BottomSheet.js";
6
+ import Button from "../Button/Button.js";
7
+ import Input from "../Input/Input.js";
8
+ import Chip from "../Chip/Chip.js";
9
+ import { useToast } from "../Toast/ToastContext.js";
10
+ import Loading from "../Loading/Loading.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ export default function Select({
13
+ isOpen,
14
+ data,
15
+ renderItem,
16
+ onClose,
17
+ onSubmit,
18
+ multiple,
19
+ onSearch,
20
+ required = false,
21
+ loading = false,
22
+ delaySearch = 300,
23
+ height,
24
+ onRefresh,
25
+ refreshing
26
+ }) {
27
+ const [isOpenSelect, setIsOpenSelect] = useState(false);
28
+ const [selected, setSelected] = useState();
29
+ const {
30
+ show
31
+ } = useToast();
32
+ useEffect(() => {
33
+ setIsOpenSelect(isOpen);
34
+ }, [isOpen]);
35
+ const handleOnCloseBottom = val => {
36
+ onClose?.(val);
37
+ };
38
+ const handleOnPresSubmitSelect = () => {
39
+ if (required && (!selected || selected.length === 0)) {
40
+ show('Please fill a item');
41
+ return false;
42
+ }
43
+ setIsOpenSelect(false);
44
+ onSubmit?.(selected ? selected : []);
45
+ return true;
46
+ };
47
+ const handleOnSearch = val => {
48
+ setTimeout(() => {
49
+ onSearch?.(val);
50
+ }, delaySearch);
51
+ };
52
+ return /*#__PURE__*/_jsx(BottomSheet, {
53
+ onClose: handleOnCloseBottom,
54
+ isOpen: isOpenSelect,
55
+ height: height,
56
+ footer: /*#__PURE__*/_jsx(Button, {
57
+ title: "lanjutkan",
58
+ color: "primary",
59
+ onPress: handleOnPresSubmitSelect
60
+ }),
61
+ children: /*#__PURE__*/_jsxs(View, {
62
+ style: styles.container,
63
+ children: [/*#__PURE__*/_jsx(View, {
64
+ style: styles.containerSearch,
65
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
66
+ onPress: Keyboard.dismiss,
67
+ accessible: false,
68
+ children: /*#__PURE__*/_jsx(Input, {
69
+ submitBehavior: "submit",
70
+ icon: "Search",
71
+ placeholder: "Search",
72
+ onChangeText: val => handleOnSearch(val)
73
+ })
74
+ })
75
+ }), loading ? /*#__PURE__*/_jsx(Loading, {}) : /*#__PURE__*/_jsx(Chip, {
76
+ options: data,
77
+ direction: "vertical",
78
+ scrollable: true,
79
+ selected: selected,
80
+ multiple: multiple,
81
+ onSelect: setSelected,
82
+ color: "primary",
83
+ size: "large",
84
+ renderItem: renderItem,
85
+ onRefresh: onRefresh,
86
+ block: true,
87
+ refreshing: refreshing
88
+ })]
89
+ })
90
+ });
91
+ }
92
+ const styles = StyleSheet.create({
93
+ container: {
94
+ marginBottom: 190
95
+ },
96
+ containerSearch: {
97
+ gap: 14,
98
+ padding: 12
99
+ }
100
+ });
101
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","StyleSheet","TouchableWithoutFeedback","Keyboard","useState","useEffect","BottomSheet","Button","Input","Chip","useToast","Loading","jsx","_jsx","jsxs","_jsxs","Select","isOpen","data","renderItem","onClose","onSubmit","multiple","onSearch","required","loading","delaySearch","height","onRefresh","refreshing","isOpenSelect","setIsOpenSelect","selected","setSelected","show","handleOnCloseBottom","val","handleOnPresSubmitSelect","length","handleOnSearch","setTimeout","footer","title","color","onPress","children","style","styles","container","containerSearch","dismiss","accessible","submitBehavior","icon","placeholder","onChangeText","options","direction","scrollable","onSelect","size","block","create","marginBottom","gap","padding"],"sourceRoot":"../../../src","sources":["Select/Select.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["Select/type.tsx"],"mappings":"","ignoreList":[]}