@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,356 @@
1
+ "use strict";
2
+
3
+ import { useState } from 'react';
4
+ import { View, StyleSheet, TouchableOpacity, Pressable } from 'react-native';
5
+ import Color from "../Color/Color.js";
6
+ import Icon from "../Icon/index.js";
7
+ import Typography from "../Typography/Typography.js";
8
+ import Dropdown from "../DropDown/DropDown.js";
9
+ import { generateMonthOptions, generateYearOptions } from "../DatePicker/helpers.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const DAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
12
+ const DEFAULT_SELECTED_BACKGROUND_COLOR = Color.primary[1000];
13
+ const DEFAULT_SELECTED_TEXT_COLOR = Color.base.white100;
14
+ const DEFAULT_DISABLED_BACKGROUND_COLOR = Color.base.white100;
15
+ const DEFAULT_DISABLED_TEXT_COLOR = Color.gray[400];
16
+ const Calendar = ({
17
+ markedDates = {},
18
+ disabledDays,
19
+ minDate = null,
20
+ maxDate = null,
21
+ mode = 'single',
22
+ onChange,
23
+ selectedBackgroundColor = DEFAULT_SELECTED_BACKGROUND_COLOR,
24
+ selectedTextColor = DEFAULT_SELECTED_TEXT_COLOR,
25
+ disabledBackgroundColor = DEFAULT_DISABLED_BACKGROUND_COLOR,
26
+ disabledTextColor = DEFAULT_DISABLED_TEXT_COLOR,
27
+ dayName = DAYS
28
+ }) => {
29
+ const [currentDate, setCurrentDate] = useState(new Date());
30
+ const [startDate, setStartDate] = useState(null);
31
+ const [endDate, setEndDate] = useState(null);
32
+ const getDaysInMonth = (month, year) => new Date(year, month + 1, 0).getDate();
33
+ const formatDateKey = date => {
34
+ const year = date.getFullYear();
35
+ const month = String(date.getMonth() + 1).padStart(2, '0');
36
+ const day = String(date.getDate()).padStart(2, '0');
37
+ return `${year}-${month}-${day}`;
38
+ };
39
+ const generateCalendarMatrix = () => {
40
+ const matrix = [];
41
+ const year = currentDate.getFullYear();
42
+ const month = currentDate.getMonth();
43
+ const firstDay = new Date(year, month, 1).getDay();
44
+ const maxDays = getDaysInMonth(month, year);
45
+ const prevMonth = month === 0 ? 11 : month - 1;
46
+ const prevYear = month === 0 ? year - 1 : year;
47
+ const prevMonthDays = getDaysInMonth(prevMonth, prevYear);
48
+ let row = [];
49
+
50
+ // prev month
51
+ for (let i = 0; i < firstDay; i++) {
52
+ const day = prevMonthDays - firstDay + i + 1;
53
+ row.push({
54
+ date: new Date(prevYear, prevMonth, day),
55
+ from: 'prev'
56
+ });
57
+ }
58
+
59
+ // current month
60
+ for (let day = 1; day <= maxDays; day++) {
61
+ row.push({
62
+ date: new Date(year, month, day),
63
+ from: 'current'
64
+ });
65
+ if (row.length === 7) {
66
+ matrix.push(row);
67
+ row = [];
68
+ }
69
+ }
70
+
71
+ // next month
72
+ let nextDay = 1;
73
+ const nextMonth = month === 11 ? 0 : month + 1;
74
+ const nextYear = month === 11 ? year + 1 : year;
75
+ if (row.length > 0) {
76
+ while (row.length < 7) {
77
+ row.push({
78
+ date: new Date(nextYear, nextMonth, nextDay),
79
+ from: 'next'
80
+ });
81
+ nextDay++;
82
+ }
83
+ matrix.push(row);
84
+ }
85
+ return matrix;
86
+ };
87
+ const normalizeDate = date => {
88
+ const d = new Date(date);
89
+ d.setHours(0, 0, 0, 0);
90
+ return d;
91
+ };
92
+ const goToNextMonth = () => {
93
+ const newDate = new Date(currentDate);
94
+ newDate.setMonth(newDate.getMonth() + 1);
95
+ setCurrentDate(newDate);
96
+ };
97
+ const goToPrevMonth = () => {
98
+ const newDate = new Date(currentDate);
99
+ newDate.setMonth(newDate.getMonth() - 1);
100
+ setCurrentDate(newDate);
101
+ };
102
+ const handleOnSelectYearDropdown = value => {
103
+ const newDate = new Date(currentDate);
104
+ newDate.setFullYear(Number(value));
105
+ setCurrentDate(newDate);
106
+ };
107
+ const handleOnSelectMonthDropdown = value => {
108
+ const newDate = new Date(currentDate);
109
+ newDate.setMonth(value);
110
+ setCurrentDate(newDate);
111
+ };
112
+ const isWeekDay = day => day >= 0 && day <= 6;
113
+ const isDisabledDate = date => {
114
+ const dayOfWeek = date.getDay();
115
+ if (isWeekDay(dayOfWeek) && disabledDays?.[dayOfWeek]) return true;
116
+ if (minDate && date < minDate) return true;
117
+ if (maxDate && date > maxDate) return true;
118
+ return false;
119
+ };
120
+ const isSameDate = (a, b) => !!a && a.getTime() === b.getTime();
121
+ const isDateInRange = date => startDate && endDate && date >= startDate && date <= endDate;
122
+ const isMarkDisableDate = mark => !!mark?.disabled;
123
+ const setBackgroundDay = (date, keyWeek) => {
124
+ const key = formatDateKey(date);
125
+ const mark = markedDates[key];
126
+ const inRange = isDateInRange(date);
127
+ const isStart = isSameDate(startDate, date);
128
+ const isEnd = isSameDate(endDate, date);
129
+ if (disabledDays && disabledDays[keyWeek]) {
130
+ return typeof disabledDays[keyWeek] === 'object' && disabledDays[keyWeek].hasOwnProperty('backgroundColor') ? disabledDays[keyWeek].backgroundColor : disabledBackgroundColor;
131
+ }
132
+ if (isDisabledDate(date)) return disabledBackgroundColor;
133
+ if (mode === 'single' && isStart || mode === 'range' && (isStart || isEnd)) {
134
+ return selectedBackgroundColor;
135
+ }
136
+ if (mark?.selected) return mark.backgroundColor || selectedBackgroundColor;
137
+ if (inRange) return Color.primary[50];
138
+ return 'white';
139
+ };
140
+ const setTextColor = (date, keyWeek) => {
141
+ const key = formatDateKey(date);
142
+ const mark = markedDates[key];
143
+ const isStart = isSameDate(startDate, date);
144
+ const isEnd = isSameDate(endDate, date);
145
+ if (disabledDays && disabledDays[keyWeek]) {
146
+ return typeof disabledDays[keyWeek] === 'object' && disabledDays[keyWeek].hasOwnProperty('textColor') ? disabledDays[keyWeek].textColor : disabledTextColor;
147
+ }
148
+ if (isDisabledDate(date)) return disabledTextColor;
149
+ if (mode === 'single' && isStart || mode === 'range' && (isStart || isEnd)) {
150
+ return selectedTextColor;
151
+ }
152
+ if (mark?.selected) return mark?.textColor || selectedTextColor;
153
+ return Color.gray[600];
154
+ };
155
+ const handlePressDay = date => {
156
+ const selected = normalizeDate(date);
157
+ if (mode === 'single') {
158
+ setStartDate(selected);
159
+ setEndDate(null);
160
+ onChange?.({
161
+ date: selected
162
+ });
163
+ } else {
164
+ if (!startDate || startDate && endDate) {
165
+ setStartDate(selected);
166
+ setEndDate(null);
167
+ onChange?.({
168
+ startDate: selected,
169
+ endDate: null
170
+ });
171
+ } else if (selected >= startDate) {
172
+ setEndDate(selected);
173
+ onChange?.({
174
+ startDate,
175
+ endDate: selected
176
+ });
177
+ } else {
178
+ setStartDate(selected);
179
+ setEndDate(null);
180
+ onChange?.({
181
+ startDate: selected,
182
+ endDate: null
183
+ });
184
+ }
185
+ }
186
+ };
187
+ const calendarMatrix = generateCalendarMatrix();
188
+ const year = currentDate.getFullYear();
189
+ return /*#__PURE__*/_jsxs(View, {
190
+ style: styles.container,
191
+ children: [/*#__PURE__*/_jsxs(View, {
192
+ style: styles.header,
193
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
194
+ style: styles.buttonNav,
195
+ onPress: goToPrevMonth,
196
+ children: /*#__PURE__*/_jsx(Icon, {
197
+ name: "ArrowLeft",
198
+ color: Color.base.white100,
199
+ size: 10
200
+ })
201
+ }), /*#__PURE__*/_jsxs(View, {
202
+ style: {
203
+ flexDirection: 'row',
204
+ alignItems: 'center',
205
+ gap: 8
206
+ },
207
+ children: [/*#__PURE__*/_jsx(Dropdown, {
208
+ options: generateMonthOptions(),
209
+ onSelect: handleOnSelectMonthDropdown,
210
+ renderButton: /*#__PURE__*/_jsxs(View, {
211
+ style: styles.containerDropDown,
212
+ children: [/*#__PURE__*/_jsx(Icon, {
213
+ name: "ArrowDown",
214
+ size: 10
215
+ }), /*#__PURE__*/_jsx(Typography, {
216
+ variant: "t1",
217
+ weight: "semibold",
218
+ color: Color.gray[900],
219
+ children: currentDate.toLocaleString('default', {
220
+ month: 'long'
221
+ })
222
+ })]
223
+ }),
224
+ maxHeight: 300
225
+ }), /*#__PURE__*/_jsx(Dropdown, {
226
+ options: generateYearOptions(2010, 2050, 0, 50),
227
+ onSelect: handleOnSelectYearDropdown,
228
+ renderButton: /*#__PURE__*/_jsxs(View, {
229
+ style: styles.containerDropDown,
230
+ children: [/*#__PURE__*/_jsx(Typography, {
231
+ variant: "t1",
232
+ weight: "semibold",
233
+ color: Color.gray[900],
234
+ children: year
235
+ }), /*#__PURE__*/_jsx(Icon, {
236
+ name: "ArrowDown",
237
+ size: 10
238
+ })]
239
+ }),
240
+ maxHeight: 200
241
+ })]
242
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
243
+ style: styles.buttonNav,
244
+ onPress: goToNextMonth,
245
+ children: /*#__PURE__*/_jsx(Icon, {
246
+ name: "ArrowRight",
247
+ color: Color.base.white100,
248
+ size: 10
249
+ })
250
+ })]
251
+ }), /*#__PURE__*/_jsx(View, {
252
+ style: styles.weekRow,
253
+ children: dayName.map((day, index) => /*#__PURE__*/_jsx(Typography, {
254
+ weight: "medium",
255
+ variant: "t2",
256
+ center: true,
257
+ color: Color.gray[600],
258
+ style: {
259
+ width: 32,
260
+ textAlign: 'center'
261
+ },
262
+ children: day
263
+ }, index))
264
+ }), calendarMatrix.map((week, rowIndex) => /*#__PURE__*/_jsx(View, {
265
+ style: styles.weekRow,
266
+ children: week.map((cell, colIndex) => {
267
+ const date = cell.date;
268
+ const day = date.getDate();
269
+ const key = formatDateKey(date);
270
+ const mark = markedDates[key];
271
+ const disabled = isMarkDisableDate(mark) || isDisabledDate(date);
272
+ const backgroundColor = setBackgroundDay(date, colIndex);
273
+ const textColor = setTextColor(date, colIndex);
274
+ return /*#__PURE__*/_jsxs(Pressable, {
275
+ disabled: disabled,
276
+ onPress: () => handlePressDay(date),
277
+ children: [/*#__PURE__*/_jsx(View, {
278
+ style: [styles.dayCell, {
279
+ backgroundColor
280
+ }],
281
+ children: /*#__PURE__*/_jsx(Typography, {
282
+ variant: "t2",
283
+ weight: "medium",
284
+ color: textColor,
285
+ children: day
286
+ })
287
+ }), /*#__PURE__*/_jsx(View, {
288
+ style: styles.baseDot,
289
+ children: mark?.dots && Array.isArray(mark.dots) && /*#__PURE__*/_jsx(View, {
290
+ style: styles.dotsContainer,
291
+ children: mark.dots.map((dot, index) => {
292
+ const dotColor = mark.selected && dot || dot || 'red';
293
+ return /*#__PURE__*/_jsx(View, {
294
+ style: [styles.dot, {
295
+ backgroundColor: dotColor
296
+ }]
297
+ }, index);
298
+ })
299
+ })
300
+ })]
301
+ }, key);
302
+ })
303
+ }, rowIndex))]
304
+ });
305
+ };
306
+ const styles = StyleSheet.create({
307
+ container: {},
308
+ header: {
309
+ flexDirection: 'row',
310
+ justifyContent: 'space-between',
311
+ alignItems: 'center',
312
+ marginBottom: 10,
313
+ height: 56,
314
+ gap: 8
315
+ },
316
+ weekRow: {
317
+ flexDirection: 'row',
318
+ justifyContent: 'space-between',
319
+ marginBottom: 4
320
+ },
321
+ dayCell: {
322
+ alignItems: 'center',
323
+ justifyContent: 'center',
324
+ height: 32,
325
+ width: 32,
326
+ borderRadius: 50,
327
+ margin: 1
328
+ },
329
+ buttonNav: {
330
+ backgroundColor: Color.gray[500],
331
+ borderRadius: 8,
332
+ padding: 8
333
+ },
334
+ baseDot: {
335
+ height: 10,
336
+ marginBottom: 5
337
+ },
338
+ dotsContainer: {
339
+ flexDirection: 'row',
340
+ justifyContent: 'center',
341
+ marginTop: 2
342
+ },
343
+ dot: {
344
+ width: 6,
345
+ height: 6,
346
+ borderRadius: 3,
347
+ marginHorizontal: 1
348
+ },
349
+ containerDropDown: {
350
+ flexDirection: 'row',
351
+ gap: 8,
352
+ alignItems: 'center'
353
+ }
354
+ });
355
+ export default Calendar;
356
+ //# sourceMappingURL=Calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","View","StyleSheet","TouchableOpacity","Pressable","Color","Icon","Typography","Dropdown","generateMonthOptions","generateYearOptions","jsx","_jsx","jsxs","_jsxs","DAYS","DEFAULT_SELECTED_BACKGROUND_COLOR","primary","DEFAULT_SELECTED_TEXT_COLOR","base","white100","DEFAULT_DISABLED_BACKGROUND_COLOR","DEFAULT_DISABLED_TEXT_COLOR","gray","Calendar","markedDates","disabledDays","minDate","maxDate","mode","onChange","selectedBackgroundColor","selectedTextColor","disabledBackgroundColor","disabledTextColor","dayName","currentDate","setCurrentDate","Date","startDate","setStartDate","endDate","setEndDate","getDaysInMonth","month","year","getDate","formatDateKey","date","getFullYear","String","getMonth","padStart","day","generateCalendarMatrix","matrix","firstDay","getDay","maxDays","prevMonth","prevYear","prevMonthDays","row","i","push","from","length","nextDay","nextMonth","nextYear","normalizeDate","d","setHours","goToNextMonth","newDate","setMonth","goToPrevMonth","handleOnSelectYearDropdown","value","setFullYear","Number","handleOnSelectMonthDropdown","isWeekDay","isDisabledDate","dayOfWeek","isSameDate","a","b","getTime","isDateInRange","isMarkDisableDate","mark","disabled","setBackgroundDay","keyWeek","key","inRange","isStart","isEnd","hasOwnProperty","backgroundColor","selected","setTextColor","textColor","handlePressDay","calendarMatrix","style","styles","container","children","header","buttonNav","onPress","name","color","size","flexDirection","alignItems","gap","options","onSelect","renderButton","containerDropDown","variant","weight","toLocaleString","maxHeight","weekRow","map","index","center","width","textAlign","week","rowIndex","cell","colIndex","dayCell","baseDot","dots","Array","isArray","dotsContainer","dot","dotColor","create","justifyContent","marginBottom","height","borderRadius","margin","padding","marginTop","marginHorizontal"],"sourceRoot":"../../../src","sources":["Calendar/Calendar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=CalendarPropsType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["Calendar/CalendarPropsType.tsx"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ # 📆 Komponen Kalender Kustom (React Native)
2
+
3
+ Komponen kalender ini dibuat menggunakan React Native dan memungkinkan pengguna untuk memilih tanggal tunggal maupun rentang tanggal, serta mendukung fitur penandaan dan pembatasan tanggal.
4
+
5
+ ---
6
+
7
+ ## 🚀 Fitur Utama
8
+
9
+ - Tampilan kalender bulanan
10
+ - Pilihan mode: tanggal tunggal (`single`) atau rentang tanggal (`range`)
11
+ - Menandai tanggal dengan warna atau indikator
12
+ - Menonaktifkan tanggal tertentu atau hari-hari tertentu (misalnya hanya aktif Senin–Jumat)
13
+ - Navigasi antar bulan
14
+ - Batas minimum dan maksimum tanggal yang bisa dipilih
15
+
16
+ ---
17
+
18
+ ## 🧩 Props (Properti)
19
+
20
+ | Prop | Tipe Data | Nilai Contoh / Opsi | Keterangan |
21
+ | ------------------------- | -------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- |
22
+ | `mode` | `'single'` \| `'range'` | `'single'` (default), `'range'` | Menentukan apakah memilih 1 tanggal atau rentang tanggal |
23
+ | `markedDates` | `object` | `{ '2025-06-10': { marked: true, dotColor: 'red' } }` | Untuk menandai tanggal tertentu |
24
+ | `disabledDates` | `string[]` | `['2025-06-10', '2025-06-11']` | Tanggal yang tidak bisa dipilih |
25
+ | `disabledDays` | `{ [key: number]: boolean }` | `{ 0: true, 6: true }` | Menonaktifkan hari dalam seminggu (0 = Minggu, 6 = Sabtu) |
26
+ | `minDate` | `Date` | `new Date(2025, 5, 1)` | Tanggal paling awal yang bisa dipilih |
27
+ | `maxDate` | `Date` | `new Date(2025, 5, 30)` | Tanggal paling akhir yang bisa dipilih |
28
+ | `onChange` | `(date: Date \| [Date, Date]) => void` | — | Fungsi callback saat tanggal dipilih |
29
+ | `selectedBackgroundColor` | `string` (CSS color) | `'#0f62fe'` | Warna latar belakang tanggal yang dipilih |
30
+ | `selectedTextColor` | `string` (CSS color) | `'#ffffff'` | Warna teks pada tanggal yang dipilih |
31
+
32
+
33
+ ---
34
+
35
+ ## 📦 Instalasi
36
+
37
+ Komponen ini bersifat kustom dan belum tersedia sebagai package npm. Salin file `Calendar.tsx` ke dalam proyek React Native-mu.
38
+
39
+ ### Kebutuhan:
40
+ - React Native
41
+ - TypeScript (opsional, tapi direkomendasikan)
42
+ - `dayjs` sebagai pengganti `moment.js` jika diperlukan
43
+
44
+ ---
45
+
46
+ ## 🧠 Contoh Penggunaan
47
+
48
+ ```tsx
49
+ import React from 'react';
50
+ import Calendar from './Calendar';
51
+
52
+ export default function App() {
53
+ const handleDateChange = (date: Date | [Date, Date]) => {
54
+ console.log('Tanggal dipilih:', date);
55
+ };
56
+
57
+ return (
58
+ <Calendar
59
+ mode="range"
60
+ markedDates={{
61
+ '2025-06-10': { selected: true },
62
+ '2025-06-11': { marked: true, dotColor: 'red' },
63
+ }}
64
+ disabledDates={['2025-06-15']}
65
+ disabledDays={{ 0: true, 6: true }} // Nonaktifkan Minggu dan Sabtu
66
+ minDate={new Date(2025, 5, 1)} // 1 Juni 2025
67
+ maxDate={new Date(2025, 5, 30)} // 30 Juni 2025
68
+ onChange={handleDateChange}
69
+ selectedBackgroundColor="#0f62fe"
70
+ selectedTextColor="#fff"
71
+ />
72
+ );
73
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ import React, { useState, useEffect } from 'react';
4
+ import { Pressable, View, Text, StyleSheet } from 'react-native';
5
+ import { Color, Icon } from '@herca/rn-kit'; // Pastikan Icon sudah tersedia
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const CheckBox = ({
8
+ checked = false,
9
+ onChange,
10
+ label,
11
+ disabled = false,
12
+ renderLabel
13
+ }) => {
14
+ const [value, setValue] = useState(false);
15
+ const handlePress = () => {
16
+ const newValue = !value;
17
+ setValue(newValue);
18
+ onChange?.(newValue);
19
+ };
20
+ useEffect(() => {
21
+ setValue(checked);
22
+ }, [checked]);
23
+ return /*#__PURE__*/_jsxs(Pressable, {
24
+ onPress: () => !disabled && handlePress(),
25
+ style: styles.container,
26
+ children: [/*#__PURE__*/_jsx(View, {
27
+ style: [styles.checkBox, value && styles.checked, disabled && styles.disabled],
28
+ children: value && /*#__PURE__*/_jsx(Icon, {
29
+ name: "Check",
30
+ size: 14,
31
+ color: Color.base.white100
32
+ })
33
+ }), label && /*#__PURE__*/_jsx(Text, {
34
+ style: styles.label,
35
+ children: label
36
+ }), renderLabel?.()]
37
+ });
38
+ };
39
+ const styles = StyleSheet.create({
40
+ container: {
41
+ flexDirection: 'row',
42
+ alignItems: 'center'
43
+ },
44
+ checkBox: {
45
+ width: 20,
46
+ height: 20,
47
+ borderWidth: 2,
48
+ borderColor: Color.gray[500],
49
+ justifyContent: 'center',
50
+ alignItems: 'center',
51
+ borderRadius: 4,
52
+ marginRight: 8
53
+ },
54
+ checked: {
55
+ backgroundColor: Color.primary[1000],
56
+ borderColor: Color.primary[1000]
57
+ },
58
+ disabled: {
59
+ opacity: 0.5
60
+ },
61
+ label: {
62
+ fontSize: 14,
63
+ color: '#333'
64
+ }
65
+ });
66
+ export default CheckBox;
67
+ //# sourceMappingURL=CheckBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","Pressable","View","Text","StyleSheet","Color","Icon","jsx","_jsx","jsxs","_jsxs","CheckBox","checked","onChange","label","disabled","renderLabel","value","setValue","handlePress","newValue","onPress","style","styles","container","children","checkBox","name","size","color","base","white100","create","flexDirection","alignItems","width","height","borderWidth","borderColor","gray","justifyContent","borderRadius","marginRight","backgroundColor","primary","opacity","fontSize"],"sourceRoot":"../../../src","sources":["CheckBox/CheckBox.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,SAASC,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAChE,SAASC,KAAK,EAAEC,IAAI,QAAQ,eAAe,CAAC,CAAC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU7C,MAAMC,QAAiC,GAAGA,CAAC;EACzCC,OAAO,GAAG,KAAK;EACfC,QAAQ;EACRC,KAAK;EACLC,QAAQ,GAAG,KAAK;EAChBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGnB,QAAQ,CAAU,KAAK,CAAC;EAElD,MAAMoB,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMC,QAAQ,GAAG,CAACH,KAAK;IACvBC,QAAQ,CAACE,QAAQ,CAAC;IAClBP,QAAQ,GAAGO,QAAQ,CAAC;EACtB,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACdkB,QAAQ,CAACN,OAAO,CAAC;EACnB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,oBACEF,KAAA,CAACT,SAAS;IACRoB,OAAO,EAAEA,CAAA,KAAM,CAACN,QAAQ,IAAII,WAAW,CAAC,CAAE;IAC1CG,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAExBjB,IAAA,CAACN,IAAI;MACHoB,KAAK,EAAE,CACLC,MAAM,CAACG,QAAQ,EACfT,KAAK,IAAIM,MAAM,CAACX,OAAO,EACvBG,QAAQ,IAAIQ,MAAM,CAACR,QAAQ,CAC3B;MAAAU,QAAA,EAEDR,KAAK,iBAAIT,IAAA,CAACF,IAAI;QAACqB,IAAI,EAAC,OAAO;QAACC,IAAI,EAAE,EAAG;QAACC,KAAK,EAAExB,KAAK,CAACyB,IAAI,CAACC;MAAS,CAAE;IAAC,CACjE,CAAC,EACNjB,KAAK,iBAAIN,IAAA,CAACL,IAAI;MAACmB,KAAK,EAAEC,MAAM,CAACT,KAAM;MAAAW,QAAA,EAAEX;IAAK,CAAO,CAAC,EAClDE,WAAW,GAAG,CAAC;EAAA,CACP,CAAC;AAEhB,CAAC;AAED,MAAMO,MAAM,GAAGnB,UAAU,CAAC4B,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDR,QAAQ,EAAE;IACRS,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEjC,KAAK,CAACkC,IAAI,CAAC,GAAG,CAAC;IAC5BC,cAAc,EAAE,QAAQ;IACxBN,UAAU,EAAE,QAAQ;IACpBO,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf,CAAC;EACD9B,OAAO,EAAE;IACP+B,eAAe,EAAEtC,KAAK,CAACuC,OAAO,CAAC,IAAI,CAAC;IACpCN,WAAW,EAAEjC,KAAK,CAACuC,OAAO,CAAC,IAAI;EACjC,CAAC;EACD7B,QAAQ,EAAE;IACR8B,OAAO,EAAE;EACX,CAAC;EACD/B,KAAK,EAAE;IACLgC,QAAQ,EAAE,EAAE;IACZjB,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,eAAelB,QAAQ","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import { Typography, Color, CheckBox } from '@herca/rn-kit';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const CheckBoxList = ({
8
+ items,
9
+ selectedValues,
10
+ onChange,
11
+ direction = 'vertical'
12
+ }) => {
13
+ const toggleValue = value => {
14
+ const newSelected = selectedValues.includes(value) ? selectedValues.filter(v => v !== value) : [...selectedValues, value];
15
+ onChange(newSelected);
16
+ };
17
+ return /*#__PURE__*/_jsx(View, {
18
+ style: [styles.container, direction === 'horizontal' && styles.horizontal],
19
+ children: items.map(item => /*#__PURE__*/_jsx(CheckBox, {
20
+ checked: selectedValues.includes(item.value),
21
+ onChange: () => toggleValue(item.value),
22
+ renderLabel: () => /*#__PURE__*/_jsx(Typography, {
23
+ variant: "t2",
24
+ weight: "medium",
25
+ color: Color.gray[800],
26
+ children: item.label
27
+ })
28
+ }, item.value))
29
+ });
30
+ };
31
+ const styles = StyleSheet.create({
32
+ container: {
33
+ gap: 12
34
+ },
35
+ horizontal: {
36
+ flexDirection: 'row',
37
+ flexWrap: 'wrap'
38
+ }
39
+ });
40
+ export default CheckBoxList;
41
+ //# sourceMappingURL=CheckBoxList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","StyleSheet","Typography","Color","CheckBox","jsx","_jsx","CheckBoxList","items","selectedValues","onChange","direction","toggleValue","value","newSelected","includes","filter","v","style","styles","container","horizontal","children","map","item","checked","renderLabel","variant","weight","color","gray","label","create","gap","flexDirection","flexWrap"],"sourceRoot":"../../../src","sources":["CheckBox/CheckBoxList.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,UAAU,EAAEC,KAAK,EAAEC,QAAQ,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAc5D,MAAMC,YAAyC,GAAGA,CAAC;EACjDC,KAAK;EACLC,cAAc;EACdC,QAAQ;EACRC,SAAS,GAAG;AACd,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAIC,KAAa,IAAK;IACrC,MAAMC,WAAW,GAAGL,cAAc,CAACM,QAAQ,CAACF,KAAK,CAAC,GAC9CJ,cAAc,CAACO,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,KAAK,CAAC,GACzC,CAAC,GAAGJ,cAAc,EAAEI,KAAK,CAAC;IAE9BH,QAAQ,CAACI,WAAW,CAAC;EACvB,CAAC;EAED,oBACER,IAAA,CAACN,IAAI;IACHkB,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBT,SAAS,KAAK,YAAY,IAAIQ,MAAM,CAACE,UAAU,CAC/C;IAAAC,QAAA,EAEDd,KAAK,CAACe,GAAG,CAAEC,IAAI,iBACdlB,IAAA,CAACF,QAAQ;MAEPqB,OAAO,EAAEhB,cAAc,CAACM,QAAQ,CAACS,IAAI,CAACX,KAAK,CAAE;MAC7CH,QAAQ,EAAEA,CAAA,KAAME,WAAW,CAACY,IAAI,CAACX,KAAK,CAAE;MACxCa,WAAW,EAAEA,CAAA,kBACXpB,IAAA,CAACJ,UAAU;QAACyB,OAAO,EAAC,IAAI;QAACC,MAAM,EAAC,QAAQ;QAACC,KAAK,EAAE1B,KAAK,CAAC2B,IAAI,CAAC,GAAG,CAAE;QAAAR,QAAA,EAC7DE,IAAI,CAACO;MAAK,CACD;IACZ,GAPGP,IAAI,CAACX,KAQX,CACF;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMM,MAAM,GAAGlB,UAAU,CAAC+B,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,GAAG,EAAE;EACP,CAAC;EACDZ,UAAU,EAAE;IACVa,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAe5B,YAAY","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ # 📦 Komponen CheckBox
2
+
3
+ Komponen `CheckBox` digunakan untuk menampilkan input kotak centang (checkbox) interaktif dalam aplikasi React Native Anda.
4
+
5
+ ---
6
+
7
+ ## ✅ Fitur Utama
8
+
9
+ - Centang dan hilangkan centang (toggle)
10
+ - Dukungan label teks atau komponen kustom
11
+ - Dapat dinonaktifkan (`disabled`)
12
+ - Dukungan ikon (dengan komponen `Icon`)
13
+
14
+ ---
15
+
16
+ ## 🚀 Cara Penggunaan
17
+
18
+ ```tsx
19
+ import React, { useState } from 'react';
20
+ import { View } from 'react-native';
21
+ import CheckBox from './CheckBox';
22
+
23
+ export default function App() {
24
+ const [isChecked, setIsChecked] = useState(false);
25
+
26
+ return (
27
+ <View>
28
+ <CheckBox
29
+ checked={isChecked}
30
+ onChange={setIsChecked}
31
+ label="Saya menyetujui syarat dan ketentuan"
32
+ />
33
+ </View>
34
+ );
35
+ }
36
+ ```
37
+
38
+ ##⚙️ Props
39
+
40
+ | Prop | Tipe | Deskripsi | |
41
+ | ------------- | ---------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |
42
+ | `checked` | `boolean` | Status awal checkbox (centang atau tidak). Default: `false`. | |
43
+ | `onChange` | `(checked: boolean) => void` | Fungsi callback saat status checkbox berubah. | |
44
+ | `label` | \`string \\ | React.ReactNode\` | Label teks atau komponen yang ditampilkan di samping checkbox. |
45
+ | `disabled` | `boolean` | Jika `true`, checkbox tidak bisa ditekan. Default: `false`. | |
46
+ | `renderLabel` | `() => React.ReactNode` | Alternatif render untuk label kustom selain `label`. | |