@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.
- package/LICENSE +20 -0
- package/README.md +33 -0
- package/RnKit.podspec +21 -0
- package/android/build.gradle +83 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/herca/rnkit/RnKitModule.kt +23 -0
- package/android/src/main/java/com/herca/rnkit/RnKitPackage.kt +33 -0
- package/ios/RnKit.h +5 -0
- package/ios/RnKit.mm +18 -0
- package/lib/module/Accordion/Accordion.js +33 -0
- package/lib/module/Accordion/Accordion.js.map +1 -0
- package/lib/module/Accordion/AccordionItem.js +13 -0
- package/lib/module/Accordion/AccordionItem.js.map +1 -0
- package/lib/module/Accordion/README.md +48 -0
- package/lib/module/Accordion/type.js +4 -0
- package/lib/module/Accordion/type.js.map +1 -0
- package/lib/module/Alert/Alert.js +121 -0
- package/lib/module/Alert/Alert.js.map +1 -0
- package/lib/module/Alert/README.md +68 -0
- package/lib/module/Avatar/Avatar.js +56 -0
- package/lib/module/Avatar/Avatar.js.map +1 -0
- package/lib/module/Avatar/AvatarGroup.js +118 -0
- package/lib/module/Avatar/AvatarGroup.js.map +1 -0
- package/lib/module/Avatar/README_AVATAR.md +57 -0
- package/lib/module/Avatar/README_AVATARGROUP.md +58 -0
- package/lib/module/Avatar/type.js +4 -0
- package/lib/module/Avatar/type.js.map +1 -0
- package/lib/module/Badge/Badge.js +119 -0
- package/lib/module/Badge/Badge.js.map +1 -0
- package/lib/module/Badge/README.md +64 -0
- package/lib/module/Badge/type.js +2 -0
- package/lib/module/Badge/type.js.map +1 -0
- package/lib/module/BottomSheet/BottomSheet.js +211 -0
- package/lib/module/BottomSheet/BottomSheet.js.map +1 -0
- package/lib/module/BottomSheet/README.md +64 -0
- package/lib/module/BottomSheet/type.js +2 -0
- package/lib/module/BottomSheet/type.js.map +1 -0
- package/lib/module/Button/Button.js +138 -0
- package/lib/module/Button/Button.js.map +1 -0
- package/lib/module/Button/README.md +94 -0
- package/lib/module/Button/type.js +262 -0
- package/lib/module/Button/type.js.map +1 -0
- package/lib/module/Calendar/Calendar.js +356 -0
- package/lib/module/Calendar/Calendar.js.map +1 -0
- package/lib/module/Calendar/CalendarPropsType.js +4 -0
- package/lib/module/Calendar/CalendarPropsType.js.map +1 -0
- package/lib/module/Calendar/README.md +73 -0
- package/lib/module/CheckBox/CheckBox.js +67 -0
- package/lib/module/CheckBox/CheckBox.js.map +1 -0
- package/lib/module/CheckBox/CheckBoxList.js +41 -0
- package/lib/module/CheckBox/CheckBoxList.js.map +1 -0
- package/lib/module/CheckBox/README_CHECKBOX.md +46 -0
- package/lib/module/CheckBox/README_CHECKBOXLIST.md +41 -0
- package/lib/module/Chip/Chip.js +109 -0
- package/lib/module/Chip/Chip.js.map +1 -0
- package/lib/module/Chip/ChipItem.js +89 -0
- package/lib/module/Chip/ChipItem.js.map +1 -0
- package/lib/module/Chip/README.md +89 -0
- package/lib/module/Chip/type.js +94 -0
- package/lib/module/Chip/type.js.map +1 -0
- package/lib/module/Color/Color.js +126 -0
- package/lib/module/Color/Color.js.map +1 -0
- package/lib/module/Color/README.md +54 -0
- package/lib/module/Color/type.js +2 -0
- package/lib/module/Color/type.js.map +1 -0
- package/lib/module/DatePicker/DatePicker.js +69 -0
- package/lib/module/DatePicker/DatePicker.js.map +1 -0
- package/lib/module/DatePicker/MonthPicker.js +179 -0
- package/lib/module/DatePicker/MonthPicker.js.map +1 -0
- package/lib/module/DatePicker/README.md +51 -0
- package/lib/module/DatePicker/TimePicker.js +200 -0
- package/lib/module/DatePicker/TimePicker.js.map +1 -0
- package/lib/module/DatePicker/YearPicker.js +217 -0
- package/lib/module/DatePicker/YearPicker.js.map +1 -0
- package/lib/module/DatePicker/helpers.js +33 -0
- package/lib/module/DatePicker/helpers.js.map +1 -0
- package/lib/module/Drawing/Drawing.js +26 -0
- package/lib/module/Drawing/Drawing.js.map +1 -0
- package/lib/module/DropDown/DropDown.js +107 -0
- package/lib/module/DropDown/DropDown.js.map +1 -0
- package/lib/module/DropDown/type.js +4 -0
- package/lib/module/DropDown/type.js.map +1 -0
- package/lib/module/FileView/Image.js +8 -0
- package/lib/module/FileView/Image.js.map +1 -0
- package/lib/module/FileView/PdfView.js +37 -0
- package/lib/module/FileView/PdfView.js.map +1 -0
- package/lib/module/Icon/Icon.js +74 -0
- package/lib/module/Icon/Icon.js.map +1 -0
- package/lib/module/Icon/icons/AirPlane.js +22 -0
- package/lib/module/Icon/icons/AirPlane.js.map +1 -0
- package/lib/module/Icon/icons/ArrowBackAlt.js +22 -0
- package/lib/module/Icon/icons/ArrowBackAlt.js.map +1 -0
- package/lib/module/Icon/icons/ArrowDown.js +22 -0
- package/lib/module/Icon/icons/ArrowDown.js.map +1 -0
- package/lib/module/Icon/icons/ArrowForwardAlt.js +22 -0
- package/lib/module/Icon/icons/ArrowForwardAlt.js.map +1 -0
- package/lib/module/Icon/icons/ArrowLeft.js +22 -0
- package/lib/module/Icon/icons/ArrowLeft.js.map +1 -0
- package/lib/module/Icon/icons/ArrowRight.js +22 -0
- package/lib/module/Icon/icons/ArrowRight.js.map +1 -0
- package/lib/module/Icon/icons/ArrowUp.js +22 -0
- package/lib/module/Icon/icons/ArrowUp.js.map +1 -0
- package/lib/module/Icon/icons/Calendar.js +22 -0
- package/lib/module/Icon/icons/Calendar.js.map +1 -0
- package/lib/module/Icon/icons/Camera.js +22 -0
- package/lib/module/Icon/icons/Camera.js.map +1 -0
- package/lib/module/Icon/icons/Check.js +22 -0
- package/lib/module/Icon/icons/Check.js.map +1 -0
- package/lib/module/Icon/icons/Document.js +22 -0
- package/lib/module/Icon/icons/Document.js.map +1 -0
- package/lib/module/Icon/icons/Download.js +22 -0
- package/lib/module/Icon/icons/Download.js.map +1 -0
- package/lib/module/Icon/icons/ExlmationMark.js +22 -0
- package/lib/module/Icon/icons/ExlmationMark.js.map +1 -0
- package/lib/module/Icon/icons/Eye.js +22 -0
- package/lib/module/Icon/icons/Eye.js.map +1 -0
- package/lib/module/Icon/icons/EyeOpen.js +22 -0
- package/lib/module/Icon/icons/EyeOpen.js.map +1 -0
- package/lib/module/Icon/icons/Filter.js +22 -0
- package/lib/module/Icon/icons/Filter.js.map +1 -0
- package/lib/module/Icon/icons/Home.js +8 -0
- package/lib/module/Icon/icons/Home.js.map +1 -0
- package/lib/module/Icon/icons/Image.js +22 -0
- package/lib/module/Icon/icons/Image.js.map +1 -0
- package/lib/module/Icon/icons/Pdf.js +22 -0
- package/lib/module/Icon/icons/Pdf.js.map +1 -0
- package/lib/module/Icon/icons/RadioButton.js +34 -0
- package/lib/module/Icon/icons/RadioButton.js.map +1 -0
- package/lib/module/Icon/icons/Search.js +22 -0
- package/lib/module/Icon/icons/Search.js.map +1 -0
- package/lib/module/Icon/icons/StickyNote.js +22 -0
- package/lib/module/Icon/icons/StickyNote.js.map +1 -0
- package/lib/module/Icon/icons/Times.js +22 -0
- package/lib/module/Icon/icons/Times.js.map +1 -0
- package/lib/module/Icon/icons/User.js +22 -0
- package/lib/module/Icon/icons/User.js.map +1 -0
- package/lib/module/Icon/icons/XCircle.js +22 -0
- package/lib/module/Icon/icons/XCircle.js.map +1 -0
- package/lib/module/Icon/index.js +6 -0
- package/lib/module/Icon/index.js.map +1 -0
- package/lib/module/Icon/type.js +4 -0
- package/lib/module/Icon/type.js.map +1 -0
- package/lib/module/Input/Input.js +125 -0
- package/lib/module/Input/Input.js.map +1 -0
- package/lib/module/Input/Input.md +51 -0
- package/lib/module/Input/InputFile.js +319 -0
- package/lib/module/Input/InputFile.js.map +1 -0
- package/lib/module/Input/InputMonth.js +4 -0
- package/lib/module/Input/InputMonth.js.map +1 -0
- package/lib/module/Input/InputNumber.js +2 -0
- package/lib/module/Input/InputNumber.js.map +1 -0
- package/lib/module/Input/InputOtp.js +74 -0
- package/lib/module/Input/InputOtp.js.map +1 -0
- package/lib/module/Input/InputPassword.js +18 -0
- package/lib/module/Input/InputPassword.js.map +1 -0
- package/lib/module/Input/InputSelect.js +8 -0
- package/lib/module/Input/InputSelect.js.map +1 -0
- package/lib/module/Input/Switch.js +91 -0
- package/lib/module/Input/Switch.js.map +1 -0
- package/lib/module/Input/TextArea.js +61 -0
- package/lib/module/Input/TextArea.js.map +1 -0
- package/lib/module/Input/assets/Ilustrasi.svg +14 -0
- package/lib/module/Input/assets/input-file.png +0 -0
- package/lib/module/Input/type.js +4 -0
- package/lib/module/Input/type.js.map +1 -0
- package/lib/module/Label/Label.js +87 -0
- package/lib/module/Label/Label.js.map +1 -0
- package/lib/module/LabelForm/LabelForm.js +17 -0
- package/lib/module/LabelForm/LabelForm.js.map +1 -0
- package/lib/module/List/List.js +31 -0
- package/lib/module/List/List.js.map +1 -0
- package/lib/module/List/ListItem.js +31 -0
- package/lib/module/List/ListItem.js.map +1 -0
- package/lib/module/List/type.js +4 -0
- package/lib/module/List/type.js.map +1 -0
- package/lib/module/Loading/Loading.js +50 -0
- package/lib/module/Loading/Loading.js.map +1 -0
- package/lib/module/Modal/Modal.js +149 -0
- package/lib/module/Modal/Modal.js.map +1 -0
- package/lib/module/NativeRnKit.js +5 -0
- package/lib/module/NativeRnKit.js.map +1 -0
- package/lib/module/Provider/FooterProvider.js +25 -0
- package/lib/module/Provider/FooterProvider.js.map +1 -0
- package/lib/module/Provider/LayoutWithFooter.js +34 -0
- package/lib/module/Provider/LayoutWithFooter.js.map +1 -0
- package/lib/module/Provider/Provider.js +43 -0
- package/lib/module/Provider/Provider.js.map +1 -0
- package/lib/module/Provider/RequiredUpdateAppsProvider.js +60 -0
- package/lib/module/Provider/RequiredUpdateAppsProvider.js.map +1 -0
- package/lib/module/Provider/type.js +2 -0
- package/lib/module/Provider/type.js.map +1 -0
- package/lib/module/RadioButton/README.md +43 -0
- package/lib/module/RadioButton/RadioButton.js +97 -0
- package/lib/module/RadioButton/RadioButton.js.map +1 -0
- package/lib/module/Select/README.md +78 -0
- package/lib/module/Select/README_Select.md +78 -0
- package/lib/module/Select/Select.js +101 -0
- package/lib/module/Select/Select.js.map +1 -0
- package/lib/module/Select/type.js +4 -0
- package/lib/module/Select/type.js.map +1 -0
- package/lib/module/Step/Step.js +83 -0
- package/lib/module/Step/Step.js.map +1 -0
- package/lib/module/Step/StepItem.js +78 -0
- package/lib/module/Step/StepItem.js.map +1 -0
- package/lib/module/Step/type.js +4 -0
- package/lib/module/Step/type.js.map +1 -0
- package/lib/module/SwitchButton/SwitchButton.js +8 -0
- package/lib/module/SwitchButton/SwitchButton.js.map +1 -0
- package/lib/module/TextArea/TextArea.js +2 -0
- package/lib/module/TextArea/TextArea.js.map +1 -0
- package/lib/module/Theme/Theme.js +31 -0
- package/lib/module/Theme/Theme.js.map +1 -0
- package/lib/module/Timeline/Timeline.js +12 -0
- package/lib/module/Timeline/Timeline.js.map +1 -0
- package/lib/module/Timeline/TimelineItem.js +66 -0
- package/lib/module/Timeline/TimelineItem.js.map +1 -0
- package/lib/module/Toast/Toast.js +143 -0
- package/lib/module/Toast/Toast.js.map +1 -0
- package/lib/module/Toast/ToastContext.js +40 -0
- package/lib/module/Toast/ToastContext.js.map +1 -0
- package/lib/module/Typography/README.md +71 -0
- package/lib/module/Typography/Typography.js +39 -0
- package/lib/module/Typography/Typography.js.map +1 -0
- package/lib/module/Typography/type.js +33 -0
- package/lib/module/Typography/type.js.map +1 -0
- package/lib/module/Ui/Card.js +50 -0
- package/lib/module/Ui/Card.js.map +1 -0
- package/lib/module/Ui/Center.js +21 -0
- package/lib/module/Ui/Center.js.map +1 -0
- package/lib/module/Ui/Col.js +20 -0
- package/lib/module/Ui/Col.js.map +1 -0
- package/lib/module/Ui/Container.js +20 -0
- package/lib/module/Ui/Container.js.map +1 -0
- package/lib/module/Ui/Devider.js +18 -0
- package/lib/module/Ui/Devider.js.map +1 -0
- package/lib/module/Ui/Footer.js +36 -0
- package/lib/module/Ui/Footer.js.map +1 -0
- package/lib/module/Ui/Gap.js +13 -0
- package/lib/module/Ui/Gap.js.map +1 -0
- package/lib/module/Ui/Grid.js +31 -0
- package/lib/module/Ui/Grid.js.map +1 -0
- package/lib/module/index.js +61 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/Accordion/Accordion.d.ts +3 -0
- package/lib/typescript/src/Accordion/Accordion.d.ts.map +1 -0
- package/lib/typescript/src/Accordion/AccordionItem.d.ts +3 -0
- package/lib/typescript/src/Accordion/AccordionItem.d.ts.map +1 -0
- package/lib/typescript/src/Accordion/type.d.ts +17 -0
- package/lib/typescript/src/Accordion/type.d.ts.map +1 -0
- package/lib/typescript/src/Alert/Alert.d.ts +16 -0
- package/lib/typescript/src/Alert/Alert.d.ts.map +1 -0
- package/lib/typescript/src/Avatar/Avatar.d.ts +5 -0
- package/lib/typescript/src/Avatar/Avatar.d.ts.map +1 -0
- package/lib/typescript/src/Avatar/AvatarGroup.d.ts +4 -0
- package/lib/typescript/src/Avatar/AvatarGroup.d.ts.map +1 -0
- package/lib/typescript/src/Avatar/type.d.ts +16 -0
- package/lib/typescript/src/Avatar/type.d.ts.map +1 -0
- package/lib/typescript/src/Badge/Badge.d.ts +14 -0
- package/lib/typescript/src/Badge/Badge.d.ts.map +1 -0
- package/lib/typescript/src/Badge/type.d.ts +1 -0
- package/lib/typescript/src/Badge/type.d.ts.map +1 -0
- package/lib/typescript/src/BottomSheet/BottomSheet.d.ts +3 -0
- package/lib/typescript/src/BottomSheet/BottomSheet.d.ts.map +1 -0
- package/lib/typescript/src/BottomSheet/type.d.ts +15 -0
- package/lib/typescript/src/BottomSheet/type.d.ts.map +1 -0
- package/lib/typescript/src/Button/Button.d.ts +5 -0
- package/lib/typescript/src/Button/Button.d.ts.map +1 -0
- package/lib/typescript/src/Button/type.d.ts +49 -0
- package/lib/typescript/src/Button/type.d.ts.map +1 -0
- package/lib/typescript/src/Calendar/Calendar.d.ts +4 -0
- package/lib/typescript/src/Calendar/Calendar.d.ts.map +1 -0
- package/lib/typescript/src/Calendar/CalendarPropsType.d.ts +52 -0
- package/lib/typescript/src/Calendar/CalendarPropsType.d.ts.map +1 -0
- package/lib/typescript/src/CheckBox/CheckBox.d.ts +11 -0
- package/lib/typescript/src/CheckBox/CheckBox.d.ts.map +1 -0
- package/lib/typescript/src/CheckBox/CheckBoxList.d.ts +14 -0
- package/lib/typescript/src/CheckBox/CheckBoxList.d.ts.map +1 -0
- package/lib/typescript/src/Chip/Chip.d.ts +5 -0
- package/lib/typescript/src/Chip/Chip.d.ts.map +1 -0
- package/lib/typescript/src/Chip/ChipItem.d.ts +3 -0
- package/lib/typescript/src/Chip/ChipItem.d.ts.map +1 -0
- package/lib/typescript/src/Chip/type.d.ts +50 -0
- package/lib/typescript/src/Chip/type.d.ts.map +1 -0
- package/lib/typescript/src/Color/Color.d.ts +122 -0
- package/lib/typescript/src/Color/Color.d.ts.map +1 -0
- package/lib/typescript/src/Color/type.d.ts +2 -0
- package/lib/typescript/src/Color/type.d.ts.map +1 -0
- package/lib/typescript/src/DatePicker/DatePicker.d.ts +10 -0
- package/lib/typescript/src/DatePicker/DatePicker.d.ts.map +1 -0
- package/lib/typescript/src/DatePicker/MonthPicker.d.ts +13 -0
- package/lib/typescript/src/DatePicker/MonthPicker.d.ts.map +1 -0
- package/lib/typescript/src/DatePicker/TimePicker.d.ts +11 -0
- package/lib/typescript/src/DatePicker/TimePicker.d.ts.map +1 -0
- package/lib/typescript/src/DatePicker/YearPicker.d.ts +13 -0
- package/lib/typescript/src/DatePicker/YearPicker.d.ts.map +1 -0
- package/lib/typescript/src/DatePicker/helpers.d.ts +21 -0
- package/lib/typescript/src/DatePicker/helpers.d.ts.map +1 -0
- package/lib/typescript/src/Drawing/Drawing.d.ts +2 -0
- package/lib/typescript/src/Drawing/Drawing.d.ts.map +1 -0
- package/lib/typescript/src/DropDown/DropDown.d.ts +4 -0
- package/lib/typescript/src/DropDown/DropDown.d.ts.map +1 -0
- package/lib/typescript/src/DropDown/type.d.ts +9 -0
- package/lib/typescript/src/DropDown/type.d.ts.map +1 -0
- package/lib/typescript/src/FileView/Image.d.ts +2 -0
- package/lib/typescript/src/FileView/Image.d.ts.map +1 -0
- package/lib/typescript/src/FileView/PdfView.d.ts +5 -0
- package/lib/typescript/src/FileView/PdfView.d.ts.map +1 -0
- package/lib/typescript/src/Icon/Icon.d.ts +5 -0
- package/lib/typescript/src/Icon/Icon.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/AirPlane.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/AirPlane.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ArrowBackAlt.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ArrowBackAlt.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ArrowDown.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ArrowDown.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ArrowForwardAlt.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ArrowForwardAlt.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ArrowLeft.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ArrowLeft.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ArrowRight.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ArrowRight.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ArrowUp.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ArrowUp.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Calendar.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Calendar.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Camera.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Camera.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Check.d.ts +6 -0
- package/lib/typescript/src/Icon/icons/Check.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Document.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Document.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Download.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Download.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ExlmationMark.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ExlmationMark.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Eye.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Eye.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/EyeOpen.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/EyeOpen.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Filter.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Filter.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Home.d.ts +2 -0
- package/lib/typescript/src/Icon/icons/Home.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Image.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Image.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Pdf.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Pdf.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/RadioButton.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/RadioButton.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Search.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Search.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/StickyNote.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/StickyNote.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Times.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Times.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/User.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/User.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/XCircle.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/XCircle.d.ts.map +1 -0
- package/lib/typescript/src/Icon/index.d.ts +5 -0
- package/lib/typescript/src/Icon/index.d.ts.map +1 -0
- package/lib/typescript/src/Icon/type.d.ts +9 -0
- package/lib/typescript/src/Icon/type.d.ts.map +1 -0
- package/lib/typescript/src/Input/Input.d.ts +5 -0
- package/lib/typescript/src/Input/Input.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputFile.d.ts +11 -0
- package/lib/typescript/src/Input/InputFile.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputMonth.d.ts +2 -0
- package/lib/typescript/src/Input/InputMonth.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputNumber.d.ts +1 -0
- package/lib/typescript/src/Input/InputNumber.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputOtp.d.ts +11 -0
- package/lib/typescript/src/Input/InputOtp.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputPassword.d.ts +15 -0
- package/lib/typescript/src/Input/InputPassword.d.ts.map +1 -0
- package/lib/typescript/src/Input/InputSelect.d.ts +2 -0
- package/lib/typescript/src/Input/InputSelect.d.ts.map +1 -0
- package/lib/typescript/src/Input/Switch.d.ts +12 -0
- package/lib/typescript/src/Input/Switch.d.ts.map +1 -0
- package/lib/typescript/src/Input/TextArea.d.ts +3 -0
- package/lib/typescript/src/Input/TextArea.d.ts.map +1 -0
- package/lib/typescript/src/Input/type.d.ts +18 -0
- package/lib/typescript/src/Input/type.d.ts.map +1 -0
- package/lib/typescript/src/Label/Label.d.ts +12 -0
- package/lib/typescript/src/Label/Label.d.ts.map +1 -0
- package/lib/typescript/src/LabelForm/LabelForm.d.ts +4 -0
- package/lib/typescript/src/LabelForm/LabelForm.d.ts.map +1 -0
- package/lib/typescript/src/List/List.d.ts +3 -0
- package/lib/typescript/src/List/List.d.ts.map +1 -0
- package/lib/typescript/src/List/ListItem.d.ts +3 -0
- package/lib/typescript/src/List/ListItem.d.ts.map +1 -0
- package/lib/typescript/src/List/type.d.ts +14 -0
- package/lib/typescript/src/List/type.d.ts.map +1 -0
- package/lib/typescript/src/Loading/Loading.d.ts +10 -0
- package/lib/typescript/src/Loading/Loading.d.ts.map +1 -0
- package/lib/typescript/src/Modal/Modal.d.ts +18 -0
- package/lib/typescript/src/Modal/Modal.d.ts.map +1 -0
- package/lib/typescript/src/NativeRnKit.d.ts +7 -0
- package/lib/typescript/src/NativeRnKit.d.ts.map +1 -0
- package/lib/typescript/src/Provider/FooterProvider.d.ts +11 -0
- package/lib/typescript/src/Provider/FooterProvider.d.ts.map +1 -0
- package/lib/typescript/src/Provider/LayoutWithFooter.d.ts +5 -0
- package/lib/typescript/src/Provider/LayoutWithFooter.d.ts.map +1 -0
- package/lib/typescript/src/Provider/Provider.d.ts +15 -0
- package/lib/typescript/src/Provider/Provider.d.ts.map +1 -0
- package/lib/typescript/src/Provider/RequiredUpdateAppsProvider.d.ts +3 -0
- package/lib/typescript/src/Provider/RequiredUpdateAppsProvider.d.ts.map +1 -0
- package/lib/typescript/src/Provider/type.d.ts +7 -0
- package/lib/typescript/src/Provider/type.d.ts.map +1 -0
- package/lib/typescript/src/RadioButton/RadioButton.d.ts +15 -0
- package/lib/typescript/src/RadioButton/RadioButton.d.ts.map +1 -0
- package/lib/typescript/src/Select/Select.d.ts +3 -0
- package/lib/typescript/src/Select/Select.d.ts.map +1 -0
- package/lib/typescript/src/Select/type.d.ts +24 -0
- package/lib/typescript/src/Select/type.d.ts.map +1 -0
- package/lib/typescript/src/Step/Step.d.ts +4 -0
- package/lib/typescript/src/Step/Step.d.ts.map +1 -0
- package/lib/typescript/src/Step/StepItem.d.ts +4 -0
- package/lib/typescript/src/Step/StepItem.d.ts.map +1 -0
- package/lib/typescript/src/Step/type.d.ts +18 -0
- package/lib/typescript/src/Step/type.d.ts.map +1 -0
- package/lib/typescript/src/SwitchButton/SwitchButton.d.ts +2 -0
- package/lib/typescript/src/SwitchButton/SwitchButton.d.ts.map +1 -0
- package/lib/typescript/src/TextArea/TextArea.d.ts +1 -0
- package/lib/typescript/src/TextArea/TextArea.d.ts.map +1 -0
- package/lib/typescript/src/Theme/Theme.d.ts +29 -0
- package/lib/typescript/src/Theme/Theme.d.ts.map +1 -0
- package/lib/typescript/src/Timeline/Timeline.d.ts +6 -0
- package/lib/typescript/src/Timeline/Timeline.d.ts.map +1 -0
- package/lib/typescript/src/Timeline/TimelineItem.d.ts +15 -0
- package/lib/typescript/src/Timeline/TimelineItem.d.ts.map +1 -0
- package/lib/typescript/src/Toast/Toast.d.ts +14 -0
- package/lib/typescript/src/Toast/Toast.d.ts.map +1 -0
- package/lib/typescript/src/Toast/ToastContext.d.ts +17 -0
- package/lib/typescript/src/Toast/ToastContext.d.ts.map +1 -0
- package/lib/typescript/src/Typography/Typography.d.ts +5 -0
- package/lib/typescript/src/Typography/Typography.d.ts.map +1 -0
- package/lib/typescript/src/Typography/type.d.ts +19 -0
- package/lib/typescript/src/Typography/type.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Card.d.ts +11 -0
- package/lib/typescript/src/Ui/Card.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Center.d.ts +9 -0
- package/lib/typescript/src/Ui/Center.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Col.d.ts +10 -0
- package/lib/typescript/src/Ui/Col.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Container.d.ts +2 -0
- package/lib/typescript/src/Ui/Container.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Devider.d.ts +3 -0
- package/lib/typescript/src/Ui/Devider.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Footer.d.ts +9 -0
- package/lib/typescript/src/Ui/Footer.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Gap.d.ts +6 -0
- package/lib/typescript/src/Ui/Gap.d.ts.map +1 -0
- package/lib/typescript/src/Ui/Grid.d.ts +9 -0
- package/lib/typescript/src/Ui/Grid.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +59 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +172 -0
- package/src/Accordion/Accordion.tsx +38 -0
- package/src/Accordion/AccordionItem.tsx +9 -0
- package/src/Accordion/README.md +48 -0
- package/src/Accordion/type.tsx +19 -0
- package/src/Alert/Alert.tsx +141 -0
- package/src/Alert/README.md +68 -0
- package/src/Avatar/Avatar.tsx +68 -0
- package/src/Avatar/AvatarGroup.tsx +135 -0
- package/src/Avatar/README_AVATAR.md +57 -0
- package/src/Avatar/README_AVATARGROUP.md +58 -0
- package/src/Avatar/type.tsx +17 -0
- package/src/Badge/Badge.tsx +135 -0
- package/src/Badge/README.md +64 -0
- package/src/Badge/type.tsx +0 -0
- package/src/BottomSheet/BottomSheet.tsx +259 -0
- package/src/BottomSheet/README.md +64 -0
- package/src/BottomSheet/type.tsx +15 -0
- package/src/Button/Button.tsx +195 -0
- package/src/Button/README.md +94 -0
- package/src/Button/type.tsx +329 -0
- package/src/Calendar/Calendar.tsx +382 -0
- package/src/Calendar/CalendarPropsType.tsx +60 -0
- package/src/Calendar/README.md +73 -0
- package/src/CheckBox/CheckBox.tsx +80 -0
- package/src/CheckBox/CheckBoxList.tsx +64 -0
- package/src/CheckBox/README_CHECKBOX.md +46 -0
- package/src/CheckBox/README_CHECKBOXLIST.md +41 -0
- package/src/Chip/Chip.tsx +134 -0
- package/src/Chip/ChipItem.tsx +124 -0
- package/src/Chip/README.md +89 -0
- package/src/Chip/type.tsx +152 -0
- package/src/Color/Color.tsx +133 -0
- package/src/Color/README.md +54 -0
- package/src/Color/type.tsx +9 -0
- package/src/DatePicker/DatePicker.tsx +78 -0
- package/src/DatePicker/MonthPicker.tsx +204 -0
- package/src/DatePicker/README.md +51 -0
- package/src/DatePicker/TimePicker.tsx +234 -0
- package/src/DatePicker/YearPicker.tsx +238 -0
- package/src/DatePicker/helpers.tsx +53 -0
- package/src/Drawing/Drawing.tsx +23 -0
- package/src/DropDown/DropDown.tsx +136 -0
- package/src/DropDown/type.tsx +9 -0
- package/src/FileView/Image.tsx +5 -0
- package/src/FileView/PdfView.tsx +33 -0
- package/src/Icon/Icon.tsx +76 -0
- package/src/Icon/icons/AirPlane.tsx +19 -0
- package/src/Icon/icons/ArrowBackAlt.tsx +23 -0
- package/src/Icon/icons/ArrowDown.tsx +19 -0
- package/src/Icon/icons/ArrowForwardAlt.tsx +23 -0
- package/src/Icon/icons/ArrowLeft.tsx +19 -0
- package/src/Icon/icons/ArrowRight.tsx +19 -0
- package/src/Icon/icons/ArrowUp.tsx +19 -0
- package/src/Icon/icons/Calendar.tsx +19 -0
- package/src/Icon/icons/Camera.tsx +19 -0
- package/src/Icon/icons/Check.tsx +15 -0
- package/src/Icon/icons/Document.tsx +19 -0
- package/src/Icon/icons/Download.tsx +19 -0
- package/src/Icon/icons/ExlmationMark.tsx +23 -0
- package/src/Icon/icons/Eye.tsx +19 -0
- package/src/Icon/icons/EyeOpen.tsx +19 -0
- package/src/Icon/icons/Filter.tsx +19 -0
- package/src/Icon/icons/Home.tsx +5 -0
- package/src/Icon/icons/Image.tsx +19 -0
- package/src/Icon/icons/Pdf.tsx +19 -0
- package/src/Icon/icons/RadioButton.tsx +22 -0
- package/src/Icon/icons/Search.tsx +19 -0
- package/src/Icon/icons/StickyNote.tsx +19 -0
- package/src/Icon/icons/Times.tsx +19 -0
- package/src/Icon/icons/User.tsx +19 -0
- package/src/Icon/icons/XCircle.tsx +19 -0
- package/src/Icon/index.tsx +5 -0
- package/src/Icon/type.tsx +37 -0
- package/src/Input/Input.md +51 -0
- package/src/Input/Input.tsx +134 -0
- package/src/Input/InputFile.tsx +320 -0
- package/src/Input/InputMonth.tsx +1 -0
- package/src/Input/InputNumber.tsx +0 -0
- package/src/Input/InputOtp.tsx +96 -0
- package/src/Input/InputPassword.tsx +31 -0
- package/src/Input/InputSelect.tsx +5 -0
- package/src/Input/Switch.tsx +111 -0
- package/src/Input/TextArea.tsx +67 -0
- package/src/Input/assets/Ilustrasi.svg +14 -0
- package/src/Input/assets/input-file.png +0 -0
- package/src/Input/type.tsx +19 -0
- package/src/Label/Label.tsx +119 -0
- package/src/LabelForm/LabelForm.tsx +12 -0
- package/src/List/List.tsx +31 -0
- package/src/List/ListItem.tsx +34 -0
- package/src/List/type.tsx +14 -0
- package/src/Loading/Loading.tsx +56 -0
- package/src/Modal/Modal.tsx +179 -0
- package/src/NativeRnKit.ts +8 -0
- package/src/Provider/FooterProvider.tsx +26 -0
- package/src/Provider/LayoutWithFooter.tsx +27 -0
- package/src/Provider/Provider.tsx +53 -0
- package/src/Provider/RequiredUpdateAppsProvider.tsx +58 -0
- package/src/Provider/type.tsx +6 -0
- package/src/RadioButton/README.md +43 -0
- package/src/RadioButton/RadioButton.tsx +119 -0
- package/src/Select/README.md +78 -0
- package/src/Select/README_Select.md +78 -0
- package/src/Select/Select.tsx +115 -0
- package/src/Select/type.tsx +30 -0
- package/src/Step/Step.tsx +92 -0
- package/src/Step/StepItem.tsx +86 -0
- package/src/Step/type.tsx +18 -0
- package/src/SwitchButton/SwitchButton.tsx +5 -0
- package/src/TextArea/TextArea.tsx +0 -0
- package/src/Theme/Theme.tsx +28 -0
- package/src/Timeline/Timeline.tsx +9 -0
- package/src/Timeline/TimelineItem.tsx +63 -0
- package/src/Toast/Toast.tsx +179 -0
- package/src/Toast/ToastContext.tsx +51 -0
- package/src/Typography/README.md +71 -0
- package/src/Typography/Typography.tsx +44 -0
- package/src/Typography/type.tsx +60 -0
- package/src/Ui/Card.tsx +70 -0
- package/src/Ui/Center.tsx +20 -0
- package/src/Ui/Col.tsx +17 -0
- package/src/Ui/Container.tsx +12 -0
- package/src/Ui/Devider.tsx +15 -0
- package/src/Ui/Footer.tsx +37 -0
- package/src/Ui/Gap.tsx +8 -0
- package/src/Ui/Grid.tsx +36 -0
- package/src/index.tsx +68 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 metcore
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
in the Software without restriction, including without limitation the rights
|
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# @herca/rn-kit
|
|
2
|
+
|
|
3
|
+
React Native UI Kit
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install @herca/rn-kit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
import { multiply } from '@herca/rn-kit';
|
|
16
|
+
|
|
17
|
+
// ...
|
|
18
|
+
|
|
19
|
+
const result = multiply(3, 7);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Contributing
|
|
24
|
+
|
|
25
|
+
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
|
|
26
|
+
|
|
27
|
+
## License
|
|
28
|
+
|
|
29
|
+
MIT
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
|
package/RnKit.podspec
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = "RnKit"
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.homepage = package["homepage"]
|
|
10
|
+
s.license = package["license"]
|
|
11
|
+
s.authors = package["author"]
|
|
12
|
+
|
|
13
|
+
s.platforms = { :ios => min_ios_version_supported }
|
|
14
|
+
s.source = { :git => "https://github.com/metcore/herca-rn-kit.git", :tag => "#{s.version}" }
|
|
15
|
+
|
|
16
|
+
s.source_files = "ios/**/*.{h,m,mm,cpp}"
|
|
17
|
+
s.private_header_files = "ios/**/*.h"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
install_modules_dependencies(s)
|
|
21
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
buildscript {
|
|
2
|
+
ext.getExtOrDefault = {name ->
|
|
3
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['RnKit_' + name]
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
repositories {
|
|
7
|
+
google()
|
|
8
|
+
mavenCentral()
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
dependencies {
|
|
12
|
+
classpath "com.android.tools.build:gradle:8.7.2"
|
|
13
|
+
// noinspection DifferentKotlinGradleVersion
|
|
14
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
apply plugin: "com.android.library"
|
|
20
|
+
apply plugin: "kotlin-android"
|
|
21
|
+
|
|
22
|
+
apply plugin: "com.facebook.react"
|
|
23
|
+
|
|
24
|
+
def getExtOrIntegerDefault(name) {
|
|
25
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RnKit_" + name]).toInteger()
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
android {
|
|
29
|
+
namespace "com.herca.rnkit"
|
|
30
|
+
|
|
31
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
32
|
+
|
|
33
|
+
defaultConfig {
|
|
34
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
|
35
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
buildFeatures {
|
|
39
|
+
buildConfig true
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
buildTypes {
|
|
43
|
+
release {
|
|
44
|
+
minifyEnabled false
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
lintOptions {
|
|
49
|
+
disable "GradleCompatible"
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
compileOptions {
|
|
53
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
54
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
sourceSets {
|
|
58
|
+
main {
|
|
59
|
+
java.srcDirs += [
|
|
60
|
+
"generated/java",
|
|
61
|
+
"generated/jni"
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
repositories {
|
|
68
|
+
mavenCentral()
|
|
69
|
+
google()
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
def kotlin_version = getExtOrDefault("kotlinVersion")
|
|
73
|
+
|
|
74
|
+
dependencies {
|
|
75
|
+
implementation "com.facebook.react:react-android"
|
|
76
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
react {
|
|
80
|
+
jsRootDir = file("../src/")
|
|
81
|
+
libraryName = "RnKit"
|
|
82
|
+
codegenJavaPackageName = "com.herca.rnkit"
|
|
83
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package com.herca.rnkit
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
5
|
+
|
|
6
|
+
@ReactModule(name = RnKitModule.NAME)
|
|
7
|
+
class RnKitModule(reactContext: ReactApplicationContext) :
|
|
8
|
+
NativeRnKitSpec(reactContext) {
|
|
9
|
+
|
|
10
|
+
override fun getName(): String {
|
|
11
|
+
return NAME
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Example method
|
|
15
|
+
// See https://reactnative.dev/docs/native-modules-android
|
|
16
|
+
override fun multiply(a: Double, b: Double): Double {
|
|
17
|
+
return a * b
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
companion object {
|
|
21
|
+
const val NAME = "RnKit"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package com.herca.rnkit
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.BaseReactPackage
|
|
4
|
+
import com.facebook.react.bridge.NativeModule
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
+
import com.facebook.react.module.model.ReactModuleInfo
|
|
7
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
8
|
+
import java.util.HashMap
|
|
9
|
+
|
|
10
|
+
class RnKitPackage : BaseReactPackage() {
|
|
11
|
+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
12
|
+
return if (name == RnKitModule.NAME) {
|
|
13
|
+
RnKitModule(reactContext)
|
|
14
|
+
} else {
|
|
15
|
+
null
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
20
|
+
return ReactModuleInfoProvider {
|
|
21
|
+
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
22
|
+
moduleInfos[RnKitModule.NAME] = ReactModuleInfo(
|
|
23
|
+
RnKitModule.NAME,
|
|
24
|
+
RnKitModule.NAME,
|
|
25
|
+
false, // canOverrideExistingModule
|
|
26
|
+
false, // needsEagerInit
|
|
27
|
+
false, // isCxxModule
|
|
28
|
+
true // isTurboModule
|
|
29
|
+
)
|
|
30
|
+
moduleInfos
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
package/ios/RnKit.h
ADDED
package/ios/RnKit.mm
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#import "RnKit.h"
|
|
2
|
+
|
|
3
|
+
@implementation RnKit
|
|
4
|
+
RCT_EXPORT_MODULE()
|
|
5
|
+
|
|
6
|
+
- (NSNumber *)multiply:(double)a b:(double)b {
|
|
7
|
+
NSNumber *result = @(a * b);
|
|
8
|
+
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
13
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
14
|
+
{
|
|
15
|
+
return std::make_shared<facebook::react::NativeRnKitSpecJSI>(params);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useState, useEffect } from 'react';
|
|
4
|
+
import { TouchableOpacity, View } from 'react-native';
|
|
5
|
+
import List from "../List/List.js";
|
|
6
|
+
import ListItem from "../List/ListItem.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export default function Accordion({
|
|
9
|
+
children,
|
|
10
|
+
renderHeader,
|
|
11
|
+
isOpen,
|
|
12
|
+
onCollapse
|
|
13
|
+
}) {
|
|
14
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
15
|
+
const toggle = () => {
|
|
16
|
+
onCollapse?.(isExpanded ? false : true);
|
|
17
|
+
setIsExpanded(isExpanded ? false : true);
|
|
18
|
+
};
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setIsExpanded(isOpen ?? false);
|
|
21
|
+
}, [isOpen]);
|
|
22
|
+
return /*#__PURE__*/_jsx(View, {
|
|
23
|
+
children: /*#__PURE__*/_jsxs(List, {
|
|
24
|
+
children: [renderHeader && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
25
|
+
onPress: toggle,
|
|
26
|
+
children: /*#__PURE__*/_jsx(ListItem, {
|
|
27
|
+
children: renderHeader
|
|
28
|
+
})
|
|
29
|
+
}), isExpanded && React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? /*#__PURE__*/React.cloneElement(child) : child)]
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","TouchableOpacity","View","List","ListItem","jsx","_jsx","jsxs","_jsxs","Accordion","children","renderHeader","isOpen","onCollapse","isExpanded","setIsExpanded","toggle","onPress","Children","map","child","isValidElement","cloneElement"],"sourceRoot":"../../../src","sources":["Accordion/Accordion.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,SAASC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AACrD,OAAOC,IAAI,MAAM,iBAAc;AAC/B,OAAOC,QAAQ,MAAM,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxC,eAAe,SAASC,SAASA,CAAC;EAChCC,QAAQ;EACRC,YAAY;EACZC,MAAM;EACNC;AACc,CAAC,EAAE;EACjB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGhB,QAAQ,CAAU,KAAK,CAAC;EAC5D,MAAMiB,MAAM,GAAGA,CAAA,KAAM;IACnBH,UAAU,GAAGC,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;IACvCC,aAAa,CAACD,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;EAC1C,CAAC;EAEDd,SAAS,CAAC,MAAM;IACde,aAAa,CAACH,MAAM,IAAI,KAAK,CAAC;EAChC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,oBACEN,IAAA,CAACJ,IAAI;IAAAQ,QAAA,eACHF,KAAA,CAACL,IAAI;MAAAO,QAAA,GACFC,YAAY,iBACXL,IAAA,CAACL,gBAAgB;QAACgB,OAAO,EAAED,MAAO;QAAAN,QAAA,eAChCJ,IAAA,CAACF,QAAQ;UAAAM,QAAA,EAAEC;QAAY,CAAW;MAAC,CACnB,CACnB,EACAG,UAAU,IACThB,KAAK,CAACoB,QAAQ,CAACC,GAAG,CAACT,QAAQ,EAAGU,KAAK,IACjC,aAAAtB,KAAK,CAACuB,cAAc,CAACD,KAAK,CAAC,gBAAGtB,KAAK,CAACwB,YAAY,CAACF,KAAK,CAAC,GAAGA,KAC5D,CAAC;IAAA,CACC;EAAC,CACH,CAAC;AAEX","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import ListItem from "../List/ListItem.js";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export default function AccordionItem({
|
|
6
|
+
children,
|
|
7
|
+
index = 0
|
|
8
|
+
}) {
|
|
9
|
+
return /*#__PURE__*/_jsx(ListItem, {
|
|
10
|
+
children: children
|
|
11
|
+
}, index);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AccordionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListItem","jsx","_jsx","AccordionItem","children","index"],"sourceRoot":"../../../src","sources":["Accordion/AccordionItem.tsx"],"mappings":";;AACA,OAAOA,QAAQ,MAAM,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExC,eAAe,SAASC,aAAaA,CAAC;EACpCC,QAAQ;EACRC,KAAK,GAAG;AACU,CAAC,EAAE;EACrB,oBAAOH,IAAA,CAACF,QAAQ;IAAAI,QAAA,EAAcA;EAAQ,GAAhBC,KAA2B,CAAC;AACpD","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 📂 Accordion
|
|
2
|
+
|
|
3
|
+
Komponen **Accordion** digunakan untuk menyembunyikan atau menampilkan konten secara dinamis. Biasanya digunakan untuk struktur seperti FAQ atau daftar konten bertingkat.
|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
## 📦 USAGE
|
|
7
|
+
|
|
8
|
+
```tsx
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { Text } from 'react-native';
|
|
11
|
+
import Accordion from '@herca/rn-kit/Accordion';
|
|
12
|
+
import AccordionItem from '@herca/rn-kit/Accordion/AccordionItem';
|
|
13
|
+
|
|
14
|
+
export default function FAQSection() {
|
|
15
|
+
return (
|
|
16
|
+
<Accordion
|
|
17
|
+
header={() => <Text style={{ fontWeight: 'bold' }}>Apa itu produk ini?</Text>}
|
|
18
|
+
isOpen={false}
|
|
19
|
+
onCollapse={(isOpen) => console.log('Status:', isOpen)}
|
|
20
|
+
>
|
|
21
|
+
<AccordionItem>
|
|
22
|
+
Produk ini adalah solusi digital untuk kebutuhan bisnis Anda.
|
|
23
|
+
</AccordionItem>
|
|
24
|
+
<AccordionItem>
|
|
25
|
+
Dapat digunakan di berbagai platform termasuk Android dan iOS.
|
|
26
|
+
</AccordionItem>
|
|
27
|
+
</Accordion>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Props
|
|
35
|
+
|
|
36
|
+
| props name | mandatory | types | default |
|
|
37
|
+
| -------------------- | --------- | ------- | -------------------------------------------------------- |
|
|
38
|
+
| header | | ReactNode | false |
|
|
39
|
+
| isOpen | | boolean | true |
|
|
40
|
+
| onCollapse | | (isOpen: boolean) => void | true | |
|
|
41
|
+
|
|
42
|
+
## Note
|
|
43
|
+
|
|
44
|
+
Komponen Accordion menggunakan state internal (useState) untuk mengatur apakah kontennya sedang terbuka atau tidak.
|
|
45
|
+
|
|
46
|
+
Fungsi header digunakan untuk merender tampilan judul Accordion dan dapat disesuaikan.
|
|
47
|
+
|
|
48
|
+
Konten yang disembunyikan/diperluas sebaiknya dibungkus dalam AccordionItem.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["Accordion/type.tsx"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import Color from "../Color/Color.js";
|
|
6
|
+
import Typography from "../Typography/Typography.js";
|
|
7
|
+
import { Icon } from "../Icon/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const COLORS = {
|
|
10
|
+
success: {
|
|
11
|
+
background: Color.success[50],
|
|
12
|
+
fontColor: Color.success[500],
|
|
13
|
+
borderColor: Color.success[500]
|
|
14
|
+
},
|
|
15
|
+
default: {
|
|
16
|
+
background: Color.gray[50],
|
|
17
|
+
fontColor: Color.gray[500],
|
|
18
|
+
borderColor: Color.gray[500]
|
|
19
|
+
},
|
|
20
|
+
info: {
|
|
21
|
+
background: Color.info[50],
|
|
22
|
+
fontColor: Color.info[500],
|
|
23
|
+
borderColor: Color.info[500]
|
|
24
|
+
},
|
|
25
|
+
warning: {
|
|
26
|
+
background: Color.warning[50],
|
|
27
|
+
fontColor: Color.warning[400],
|
|
28
|
+
borderColor: Color.warning[400]
|
|
29
|
+
},
|
|
30
|
+
danger: {
|
|
31
|
+
background: Color.danger[50],
|
|
32
|
+
fontColor: Color.danger[500],
|
|
33
|
+
borderColor: Color.danger[200]
|
|
34
|
+
},
|
|
35
|
+
primary: {
|
|
36
|
+
background: Color.primary[50],
|
|
37
|
+
fontColor: Color.primary[500],
|
|
38
|
+
borderColor: Color.primary[200]
|
|
39
|
+
},
|
|
40
|
+
orange: {
|
|
41
|
+
background: Color.orange[50],
|
|
42
|
+
fontColor: Color.orange[500],
|
|
43
|
+
borderColor: Color.orange[200]
|
|
44
|
+
},
|
|
45
|
+
purple: {
|
|
46
|
+
background: Color.purple[50],
|
|
47
|
+
fontColor: Color.purple[500],
|
|
48
|
+
borderColor: Color.purple[200]
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const Alert = ({
|
|
52
|
+
icon = 'ExlamationMark',
|
|
53
|
+
title,
|
|
54
|
+
message,
|
|
55
|
+
color = 'primary',
|
|
56
|
+
titleStyle,
|
|
57
|
+
messageStyle
|
|
58
|
+
}) => {
|
|
59
|
+
const {
|
|
60
|
+
background,
|
|
61
|
+
fontColor,
|
|
62
|
+
borderColor
|
|
63
|
+
} = COLORS[color];
|
|
64
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
65
|
+
style: [styles.container, {
|
|
66
|
+
backgroundColor: background,
|
|
67
|
+
borderColor: borderColor
|
|
68
|
+
}],
|
|
69
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
70
|
+
style: {
|
|
71
|
+
marginRight: 10
|
|
72
|
+
},
|
|
73
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
74
|
+
name: icon || 'ExlamationMark',
|
|
75
|
+
color: fontColor
|
|
76
|
+
})
|
|
77
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
78
|
+
style: styles.textContainer,
|
|
79
|
+
children: [title && /*#__PURE__*/_jsx(Typography, {
|
|
80
|
+
variant: "t2",
|
|
81
|
+
weight: "bold",
|
|
82
|
+
color: fontColor,
|
|
83
|
+
style: StyleSheet.flatten([styles.title, titleStyle]),
|
|
84
|
+
children: title
|
|
85
|
+
}), message && /*#__PURE__*/_jsx(Typography, {
|
|
86
|
+
variant: "t3",
|
|
87
|
+
color: fontColor,
|
|
88
|
+
style: StyleSheet.flatten([styles.message, messageStyle]),
|
|
89
|
+
children: message
|
|
90
|
+
})]
|
|
91
|
+
})]
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const styles = StyleSheet.create({
|
|
95
|
+
container: {
|
|
96
|
+
flexDirection: 'row',
|
|
97
|
+
padding: 12,
|
|
98
|
+
borderRadius: 8,
|
|
99
|
+
marginVertical: 8,
|
|
100
|
+
borderWidth: 1
|
|
101
|
+
},
|
|
102
|
+
iconContainer: {
|
|
103
|
+
marginRight: 10,
|
|
104
|
+
width: 24
|
|
105
|
+
},
|
|
106
|
+
textContainer: {
|
|
107
|
+
justifyContent: 'center',
|
|
108
|
+
flex: 1,
|
|
109
|
+
maxWidth: '90%'
|
|
110
|
+
},
|
|
111
|
+
title: {
|
|
112
|
+
flexShrink: 1,
|
|
113
|
+
flexWrap: 'wrap'
|
|
114
|
+
},
|
|
115
|
+
message: {
|
|
116
|
+
flexShrink: 1,
|
|
117
|
+
flexWrap: 'wrap'
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
export default Alert;
|
|
121
|
+
//# sourceMappingURL=Alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","Color","Typography","Icon","jsx","_jsx","jsxs","_jsxs","COLORS","success","background","fontColor","borderColor","default","gray","info","warning","danger","primary","orange","purple","Alert","icon","title","message","color","titleStyle","messageStyle","style","styles","container","backgroundColor","children","marginRight","name","textContainer","variant","weight","flatten","create","flexDirection","padding","borderRadius","marginVertical","borderWidth","iconContainer","width","justifyContent","flex","maxWidth","flexShrink","flexWrap"],"sourceRoot":"../../../src","sources":["Alert/Alert.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# 📢 Alert Component
|
|
2
|
+
|
|
3
|
+
Komponen `Alert` digunakan untuk menampilkan pesan notifikasi dengan ikon, judul, dan pesan yang dapat dikustomisasi warnanya sesuai konteks (seperti *success*, *info*, *warning*, dll).
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
## ✨ Fitur
|
|
7
|
+
|
|
8
|
+
- Menampilkan ikon notifikasi
|
|
9
|
+
- Mendukung berbagai warna status
|
|
10
|
+
- Mendukung judul dan pesan
|
|
11
|
+
- Gaya dapat dikustomisasi
|
|
12
|
+
|
|
13
|
+
## 🧱 Props
|
|
14
|
+
|
|
15
|
+
| Prop | Tipe | Default | Deskripsi |
|
|
16
|
+
|----------------|----------------------------------------------------------------------|---------------------|---------------------------------------------------------------------------|
|
|
17
|
+
| `icon` | `IconNameProps` | `'ExlamationMark'` | Nama ikon dari komponen `Icon` |
|
|
18
|
+
| `title` | `string` | `undefined` | Judul alert |
|
|
19
|
+
| `message` | `string` | `undefined` | Pesan tambahan |
|
|
20
|
+
| `color` | `'success' \| 'info' \| 'warning' \| 'danger' \| 'primary' \| 'orange' \| 'purple'` | `'primary'` | Warna tema alert |
|
|
21
|
+
| `style` | `ViewStyle` | `undefined` | Gaya tambahan untuk container |
|
|
22
|
+
| `titleStyle` | `StyleProp<ViewStyle>` | `undefined` | Gaya tambahan untuk judul |
|
|
23
|
+
| `messageStyle` | `StyleProp<ViewStyle>` | `undefined` | Gaya tambahan untuk pesan |
|
|
24
|
+
|
|
25
|
+
## 🎨 Warna yang Didukung
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
type ColorProps =
|
|
29
|
+
| 'success'
|
|
30
|
+
| 'info'
|
|
31
|
+
| 'warning'
|
|
32
|
+
| 'danger'
|
|
33
|
+
| 'primary'
|
|
34
|
+
| 'orange'
|
|
35
|
+
| 'purple';
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 📦 Cara Penggunaan
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
import React from 'react';
|
|
42
|
+
import Alert from './Alert'; // sesuaikan dengan path Anda
|
|
43
|
+
|
|
44
|
+
export default function MyScreen() {
|
|
45
|
+
return (
|
|
46
|
+
<Alert
|
|
47
|
+
icon="CheckCircle"
|
|
48
|
+
title="Berhasil"
|
|
49
|
+
message="Data Anda berhasil disimpan."
|
|
50
|
+
color="success"
|
|
51
|
+
/>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 🛠️ Kustomisasi
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
<Alert
|
|
60
|
+
icon="Warning"
|
|
61
|
+
title="Peringatan"
|
|
62
|
+
message="Pastikan semua data telah diisi."
|
|
63
|
+
color="warning"
|
|
64
|
+
style={{ marginTop: 16 }}
|
|
65
|
+
titleStyle={{ fontSize: 16 }}
|
|
66
|
+
messageStyle={{ fontStyle: 'italic' }}
|
|
67
|
+
/>
|
|
68
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Image, View, StyleSheet } from 'react-native';
|
|
5
|
+
import Typography from "../Typography/Typography.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const SIZE_MAP = {
|
|
8
|
+
small: 30,
|
|
9
|
+
medium: 40,
|
|
10
|
+
large: 50
|
|
11
|
+
};
|
|
12
|
+
const Avatar = ({
|
|
13
|
+
size = 'medium',
|
|
14
|
+
source,
|
|
15
|
+
name,
|
|
16
|
+
backgroundColor = '#ccc',
|
|
17
|
+
textColor = '#fff',
|
|
18
|
+
style
|
|
19
|
+
}) => {
|
|
20
|
+
const avatarSize = SIZE_MAP[size] || SIZE_MAP.medium;
|
|
21
|
+
return /*#__PURE__*/_jsx(View, {
|
|
22
|
+
style: [styles.container, {
|
|
23
|
+
width: avatarSize,
|
|
24
|
+
height: avatarSize,
|
|
25
|
+
borderRadius: avatarSize / 2,
|
|
26
|
+
backgroundColor
|
|
27
|
+
}, style],
|
|
28
|
+
children: source ? /*#__PURE__*/_jsx(Image, {
|
|
29
|
+
source: source,
|
|
30
|
+
style: {
|
|
31
|
+
width: avatarSize,
|
|
32
|
+
height: avatarSize,
|
|
33
|
+
borderRadius: avatarSize / 2
|
|
34
|
+
}
|
|
35
|
+
}) : /*#__PURE__*/_jsx(Typography, {
|
|
36
|
+
variant: "p2",
|
|
37
|
+
weight: "medium",
|
|
38
|
+
style: [styles.initials, {
|
|
39
|
+
color: textColor
|
|
40
|
+
}],
|
|
41
|
+
children: name
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const styles = StyleSheet.create({
|
|
46
|
+
container: {
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
overflow: 'hidden'
|
|
50
|
+
},
|
|
51
|
+
initials: {
|
|
52
|
+
textAlign: 'center'
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export default Avatar;
|
|
56
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Image","View","StyleSheet","Typography","jsx","_jsx","SIZE_MAP","small","medium","large","Avatar","size","source","name","backgroundColor","textColor","style","avatarSize","styles","container","width","height","borderRadius","children","variant","weight","initials","color","create","justifyContent","alignItems","overflow","textAlign"],"sourceRoot":"../../../src","sources":["Avatar/Avatar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAEtD,OAAOC,UAAU,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,MAAMC,QAAwC,GAAG;EAC/CC,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,MAA6B,GAAGA,CAAC;EACrCC,IAAI,GAAG,QAAQ;EACfC,MAAM;EACNC,IAAI;EACJC,eAAe,GAAG,MAAM;EACxBC,SAAS,GAAG,MAAM;EAClBC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGX,QAAQ,CAACK,IAAI,CAAC,IAAIL,QAAQ,CAACE,MAAM;EAEpD,oBACEH,IAAA,CAACJ,IAAI;IACHe,KAAK,EAAE,CACLE,MAAM,CAACC,SAAS,EAChB;MACEC,KAAK,EAAEH,UAAU;MACjBI,MAAM,EAAEJ,UAAU;MAClBK,YAAY,EAAEL,UAAU,GAAG,CAAC;MAC5BH;IACF,CAAC,EACDE,KAAK,CACL;IAAAO,QAAA,EAEDX,MAAM,gBACLP,IAAA,CAACL,KAAK;MACJY,MAAM,EAAEA,MAAO;MACfI,KAAK,EAAE;QACLI,KAAK,EAAEH,UAAU;QACjBI,MAAM,EAAEJ,UAAU;QAClBK,YAAY,EAAEL,UAAU,GAAG;MAC7B;IAAE,CACH,CAAC,gBAEFZ,IAAA,CAACF,UAAU;MACTqB,OAAO,EAAC,IAAI;MACZC,MAAM,EAAC,QAAQ;MACfT,KAAK,EAAE,CAACE,MAAM,CAACQ,QAAQ,EAAE;QAAEC,KAAK,EAAEZ;MAAU,CAAC,CAAE;MAAAQ,QAAA,EAE9CV;IAAI,CACK;EACb,CACG,CAAC;AAEX,CAAC;AAED,MAAMK,MAAM,GAAGhB,UAAU,CAAC0B,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,QAAQ,EAAE;EACZ,CAAC;EACDL,QAAQ,EAAE;IACRM,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,eAAetB,MAAM","ignoreList":[]}
|