@herca/rn-kit 0.1.112 → 0.1.114
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/README.md +66 -0
- package/lib/module/Accordion/Accordion.js +4 -1
- package/lib/module/Accordion/Accordion.js.map +1 -1
- package/lib/module/Accordion/AccordionItem.js +3 -1
- package/lib/module/Accordion/AccordionItem.js.map +1 -1
- package/lib/module/Accordion/README.md +2 -0
- package/lib/module/Alert/Alert.js +3 -1
- package/lib/module/Alert/Alert.js.map +1 -1
- package/lib/module/Alert/README.md +1 -0
- package/lib/module/Avatar/Avatar.js +3 -1
- package/lib/module/Avatar/Avatar.js.map +1 -1
- package/lib/module/Avatar/AvatarGroup.js +3 -1
- package/lib/module/Avatar/AvatarGroup.js.map +1 -1
- package/lib/module/Avatar/README_AVATAR.md +1 -0
- package/lib/module/Avatar/README_AVATARGROUP.md +1 -0
- package/lib/module/Badge/Badge.js +4 -1
- package/lib/module/Badge/Badge.js.map +1 -1
- package/lib/module/Badge/README.md +1 -0
- package/lib/module/BadgeIcon/BadgeIcon.js +3 -1
- package/lib/module/BadgeIcon/BadgeIcon.js.map +1 -1
- package/lib/module/BadgeIcon/README.md +1 -0
- package/lib/module/BottomSheet/BottomSheet.js +17 -8
- package/lib/module/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/module/BottomSheet/README.md +1 -0
- package/lib/module/Button/Button.js +3 -1
- package/lib/module/Button/Button.js.map +1 -1
- package/lib/module/Button/README.md +1 -0
- package/lib/module/Button/type.js.map +1 -1
- package/lib/module/Calendar/Calendar.js +9 -1
- package/lib/module/Calendar/Calendar.js.map +1 -1
- package/lib/module/Calendar/README.md +2 -0
- package/lib/module/CheckBox/CheckBox.js +8 -3
- package/lib/module/CheckBox/CheckBox.js.map +1 -1
- package/lib/module/CheckBox/CheckBoxList.js +7 -2
- package/lib/module/CheckBox/CheckBoxList.js.map +1 -1
- package/lib/module/CheckBox/README_CHECKBOX.md +1 -0
- package/lib/module/CheckBox/README_CHECKBOXLIST.md +1 -0
- package/lib/module/Chip/Chip.js +19 -6
- package/lib/module/Chip/Chip.js.map +1 -1
- package/lib/module/Chip/ChipItem.js +3 -1
- package/lib/module/Chip/ChipItem.js.map +1 -1
- package/lib/module/Chip/README.md +26 -2
- package/lib/module/Chip/README_CHIP_ITEM.md +1 -0
- package/lib/module/CounterButton/CounterButton.js +6 -1
- package/lib/module/CounterButton/CounterButton.js.map +1 -1
- package/lib/module/CounterButton/README.md +1 -0
- package/lib/module/DatePicker/DatePicker.js +13 -1
- package/lib/module/DatePicker/DatePicker.js.map +1 -1
- package/lib/module/DatePicker/MonthPicker.js +7 -1
- package/lib/module/DatePicker/MonthPicker.js.map +1 -1
- package/lib/module/DatePicker/README_DATEPICKER.md +1 -0
- package/lib/module/DatePicker/README_MONTHPICKER.md +1 -0
- package/lib/module/DatePicker/README_TIMEPICKER.md +1 -0
- package/lib/module/DatePicker/README_YEARPICKER.md +1 -0
- package/lib/module/DatePicker/TimePicker.js +8 -1
- package/lib/module/DatePicker/TimePicker.js.map +1 -1
- package/lib/module/DatePicker/YearPicker.js +13 -4
- package/lib/module/DatePicker/YearPicker.js.map +1 -1
- package/lib/module/Drawing/Drawing.js +3 -1
- package/lib/module/Drawing/Drawing.js.map +1 -1
- package/lib/module/Drawing/README.md +1 -0
- package/lib/module/DropDown/DropDown.js +6 -1
- package/lib/module/DropDown/DropDown.js.map +1 -1
- package/lib/module/DropDown/README.md +1 -0
- package/lib/module/FileView/PDF_VIEW_README.md +11 -0
- package/lib/module/FileView/PdfView.js +5 -1
- package/lib/module/FileView/PdfView.js.map +1 -1
- package/lib/module/Icon/Icon.js +19 -3
- package/lib/module/Icon/Icon.js.map +1 -1
- package/lib/module/Icon/README.md +1 -0
- package/lib/module/Icon/icons/FileListStar.js +22 -0
- package/lib/module/Icon/icons/FileListStar.js.map +1 -0
- package/lib/module/Icon/icons/TextFill.js +22 -0
- package/lib/module/Icon/icons/TextFill.js.map +1 -0
- package/lib/module/Input/Input.js +7 -0
- package/lib/module/Input/Input.js.map +1 -1
- package/lib/module/Input/InputDate.js +35 -8
- package/lib/module/Input/InputDate.js.map +1 -1
- package/lib/module/Input/InputFile.js +28 -11
- package/lib/module/Input/InputFile.js.map +1 -1
- package/lib/module/Input/InputMonth.js +111 -1
- package/lib/module/Input/InputMonth.js.map +1 -1
- package/lib/module/Input/InputOtp.js +6 -1
- package/lib/module/Input/InputOtp.js.map +1 -1
- package/lib/module/Input/InputPassword.js +5 -1
- package/lib/module/Input/InputPassword.js.map +1 -1
- package/lib/module/Input/InputSelect.js +21 -2
- package/lib/module/Input/InputSelect.js.map +1 -1
- package/lib/module/Input/InputYear.js +94 -0
- package/lib/module/Input/InputYear.js.map +1 -0
- package/lib/module/Input/README_INPUT.md +1 -0
- package/lib/module/Input/README_INPUT_DATE.md +18 -0
- package/lib/module/Input/README_INPUT_FILE.md +1 -0
- package/lib/module/Input/README_INPUT_MONTH.md +132 -0
- package/lib/module/Input/README_INPUT_OTP.md +1 -0
- package/lib/module/Input/README_INPUT_SELECT.md +1 -0
- package/lib/module/Input/README_INPUT_YEAR.md +115 -0
- package/lib/module/Input/Switch.js +6 -2
- package/lib/module/Input/Switch.js.map +1 -1
- package/lib/module/Input/TextArea.js +5 -0
- package/lib/module/Input/TextArea.js.map +1 -1
- package/lib/module/Input/partials/InputFile/CardTrigger.js +3 -1
- package/lib/module/Input/partials/InputFile/CardTrigger.js.map +1 -1
- package/lib/module/Input/partials/InputFile/CardTriggerSmall.js +5 -2
- package/lib/module/Input/partials/InputFile/CardTriggerSmall.js.map +1 -1
- package/lib/module/Input/partials/InputFile/ItemPreview.js +6 -1
- package/lib/module/Input/partials/InputFile/ItemPreview.js.map +1 -1
- package/lib/module/Input/partials/PickerField.js +114 -0
- package/lib/module/Input/partials/PickerField.js.map +1 -0
- package/lib/module/Label/Label.js +3 -1
- package/lib/module/Label/Label.js.map +1 -1
- package/lib/module/Label/README.md +1 -0
- package/lib/module/LabelForm/LabelForm.js +3 -1
- package/lib/module/LabelForm/LabelForm.js.map +1 -1
- package/lib/module/List/List.js +3 -1
- package/lib/module/List/List.js.map +1 -1
- package/lib/module/List/ListItem.js +3 -1
- package/lib/module/List/ListItem.js.map +1 -1
- package/lib/module/List/README.md +2 -0
- package/lib/module/Loading/Loading.js +3 -1
- package/lib/module/Loading/Loading.js.map +1 -1
- package/lib/module/Modal/Modal.js +8 -2
- package/lib/module/Modal/Modal.js.map +1 -1
- package/lib/module/Modal/README.md +1 -0
- package/lib/module/Provider/RequiredUpdateAppsProvider.js +10 -1
- package/lib/module/Provider/RequiredUpdateAppsProvider.js.map +1 -1
- package/lib/module/RadioButton/README.md +1 -0
- package/lib/module/RadioButton/RadioButton.js +7 -2
- package/lib/module/RadioButton/RadioButton.js.map +1 -1
- package/lib/module/Select/README.md +1 -0
- package/lib/module/Select/README_Select.md +1 -0
- package/lib/module/Select/Select.js +12 -3
- package/lib/module/Select/Select.js.map +1 -1
- package/lib/module/Skeleton/README.md +1 -0
- package/lib/module/Skeleton/Skeleton.js +3 -1
- package/lib/module/Skeleton/Skeleton.js.map +1 -1
- package/lib/module/Spinner/Spinner.js +3 -1
- package/lib/module/Spinner/Spinner.js.map +1 -1
- package/lib/module/Step/README.md +2 -0
- package/lib/module/Step/Step.js +3 -1
- package/lib/module/Step/Step.js.map +1 -1
- package/lib/module/Step/StepItem.js +4 -1
- package/lib/module/Step/StepItem.js.map +1 -1
- package/lib/module/Tab/README.md +1 -0
- package/lib/module/Tab/Tab.js +6 -1
- package/lib/module/Tab/Tab.js.map +1 -1
- package/lib/module/TextEditor/LinkSheet.js +84 -0
- package/lib/module/TextEditor/LinkSheet.js.map +1 -0
- package/lib/module/TextEditor/README.md +52 -2
- package/lib/module/TextEditor/TextEditor.js +77 -458
- package/lib/module/TextEditor/TextEditor.js.map +1 -1
- package/lib/module/TextEditor/Toolbar.js +71 -0
- package/lib/module/TextEditor/Toolbar.js.map +1 -0
- package/lib/module/TextEditor/editorDocument.js +235 -0
- package/lib/module/TextEditor/editorDocument.js.map +1 -0
- package/lib/module/TextEditor/formatState.js +186 -0
- package/lib/module/TextEditor/formatState.js.map +1 -0
- package/lib/module/TextEditor/toolbarButtons.js +81 -0
- package/lib/module/TextEditor/toolbarButtons.js.map +1 -0
- package/lib/module/TextEditor/types.js +2 -0
- package/lib/module/Timeline/README.md +2 -0
- package/lib/module/Timeline/Timeline.js +3 -1
- package/lib/module/Timeline/Timeline.js.map +1 -1
- package/lib/module/Timeline/TimelineItem.js +3 -1
- package/lib/module/Timeline/TimelineItem.js.map +1 -1
- package/lib/module/Toast/README.md +16 -0
- package/lib/module/Toast/Toast.js +6 -1
- package/lib/module/Toast/Toast.js.map +1 -1
- package/lib/module/Typography/README.md +1 -0
- package/lib/module/Typography/Typography.js +3 -1
- package/lib/module/Typography/Typography.js.map +1 -1
- package/lib/module/Typography/type.js.map +1 -1
- package/lib/module/Ui/Card.js +4 -1
- package/lib/module/Ui/Card.js.map +1 -1
- package/lib/module/Ui/Center.js +3 -1
- package/lib/module/Ui/Center.js.map +1 -1
- package/lib/module/Ui/Col.js +3 -1
- package/lib/module/Ui/Col.js.map +1 -1
- package/lib/module/Ui/Container.js +3 -1
- package/lib/module/Ui/Container.js.map +1 -1
- package/lib/module/Ui/Devider.js +4 -1
- package/lib/module/Ui/Devider.js.map +1 -1
- package/lib/module/Ui/Footer.js +4 -2
- package/lib/module/Ui/Footer.js.map +1 -1
- package/lib/module/Ui/Gap.js +3 -1
- package/lib/module/Ui/Gap.js.map +1 -1
- package/lib/module/Ui/Grid.js +3 -1
- package/lib/module/Ui/Grid.js.map +1 -1
- package/lib/module/Ui/README_CARD.md +1 -0
- package/lib/module/Ui/README_CONTAINER.md +1 -0
- package/lib/module/Ui/README_DEVIDER.md +5 -0
- package/lib/module/Ui/README_FOOTER.md +9 -0
- package/lib/module/Ui/README_VIEWINSETS.md +1 -0
- package/lib/module/function/README_DATE_FORMATTER.md +35 -0
- package/lib/module/function/dateFormatter.js +29 -0
- package/lib/module/function/dateFormatter.js.map +1 -1
- package/lib/module/helpers/getTestID.js +15 -0
- package/lib/module/helpers/getTestID.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/Accordion/Accordion.d.ts +1 -1
- package/lib/typescript/src/Accordion/Accordion.d.ts.map +1 -1
- package/lib/typescript/src/Accordion/AccordionItem.d.ts +1 -1
- package/lib/typescript/src/Accordion/AccordionItem.d.ts.map +1 -1
- package/lib/typescript/src/Accordion/type.d.ts +2 -0
- package/lib/typescript/src/Accordion/type.d.ts.map +1 -1
- package/lib/typescript/src/Alert/Alert.d.ts +1 -0
- package/lib/typescript/src/Alert/Alert.d.ts.map +1 -1
- package/lib/typescript/src/Avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/src/Avatar/AvatarGroup.d.ts.map +1 -1
- package/lib/typescript/src/Avatar/type.d.ts +2 -0
- package/lib/typescript/src/Avatar/type.d.ts.map +1 -1
- package/lib/typescript/src/Badge/Badge.d.ts +1 -0
- package/lib/typescript/src/Badge/Badge.d.ts.map +1 -1
- package/lib/typescript/src/BadgeIcon/BadgeIcon.d.ts +1 -0
- package/lib/typescript/src/BadgeIcon/BadgeIcon.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheet/BottomSheet.d.ts +1 -1
- package/lib/typescript/src/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheet/type.d.ts +1 -0
- package/lib/typescript/src/BottomSheet/type.d.ts.map +1 -1
- package/lib/typescript/src/Button/Button.d.ts.map +1 -1
- package/lib/typescript/src/Button/type.d.ts +1 -0
- package/lib/typescript/src/Button/type.d.ts.map +1 -1
- package/lib/typescript/src/Calendar/Calendar.d.ts +1 -1
- package/lib/typescript/src/Calendar/Calendar.d.ts.map +1 -1
- package/lib/typescript/src/Calendar/CalendarPropsType.d.ts +6 -0
- package/lib/typescript/src/Calendar/CalendarPropsType.d.ts.map +1 -1
- package/lib/typescript/src/CheckBox/CheckBox.d.ts +1 -0
- package/lib/typescript/src/CheckBox/CheckBox.d.ts.map +1 -1
- package/lib/typescript/src/CheckBox/CheckBoxList.d.ts +1 -0
- package/lib/typescript/src/CheckBox/CheckBoxList.d.ts.map +1 -1
- package/lib/typescript/src/Chip/Chip.d.ts.map +1 -1
- package/lib/typescript/src/Chip/ChipItem.d.ts +1 -1
- package/lib/typescript/src/Chip/ChipItem.d.ts.map +1 -1
- package/lib/typescript/src/Chip/type.d.ts +2 -0
- package/lib/typescript/src/Chip/type.d.ts.map +1 -1
- package/lib/typescript/src/CounterButton/CounterButton.d.ts +1 -1
- package/lib/typescript/src/CounterButton/CounterButton.d.ts.map +1 -1
- package/lib/typescript/src/CounterButton/type.d.ts +1 -0
- package/lib/typescript/src/CounterButton/type.d.ts.map +1 -1
- package/lib/typescript/src/DatePicker/DatePicker.d.ts +2 -1
- package/lib/typescript/src/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/typescript/src/DatePicker/MonthPicker.d.ts +2 -1
- package/lib/typescript/src/DatePicker/MonthPicker.d.ts.map +1 -1
- package/lib/typescript/src/DatePicker/TimePicker.d.ts +2 -1
- package/lib/typescript/src/DatePicker/TimePicker.d.ts.map +1 -1
- package/lib/typescript/src/DatePicker/YearPicker.d.ts +5 -1
- package/lib/typescript/src/DatePicker/YearPicker.d.ts.map +1 -1
- package/lib/typescript/src/Drawing/Drawing.d.ts +2 -1
- package/lib/typescript/src/Drawing/Drawing.d.ts.map +1 -1
- package/lib/typescript/src/DropDown/DropDown.d.ts +1 -1
- package/lib/typescript/src/DropDown/DropDown.d.ts.map +1 -1
- package/lib/typescript/src/DropDown/type.d.ts +1 -0
- package/lib/typescript/src/DropDown/type.d.ts.map +1 -1
- package/lib/typescript/src/FileView/PdfView.d.ts +2 -1
- package/lib/typescript/src/FileView/PdfView.d.ts.map +1 -1
- package/lib/typescript/src/Icon/Icon.d.ts.map +1 -1
- package/lib/typescript/src/Icon/icons/FileListStar.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/FileListStar.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/TextFill.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/TextFill.d.ts.map +1 -0
- package/lib/typescript/src/Icon/type.d.ts +2 -1
- package/lib/typescript/src/Icon/type.d.ts.map +1 -1
- package/lib/typescript/src/Input/Input.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputDate.d.ts +6 -2
- package/lib/typescript/src/Input/InputDate.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputFile.d.ts +1 -1
- package/lib/typescript/src/Input/InputFile.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputMonth.d.ts +29 -1
- package/lib/typescript/src/Input/InputMonth.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputOtp.d.ts +1 -0
- package/lib/typescript/src/Input/InputOtp.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputPassword.d.ts +2 -1
- package/lib/typescript/src/Input/InputPassword.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputSelect.d.ts +4 -2
- package/lib/typescript/src/Input/InputSelect.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputYear.d.ts +34 -0
- package/lib/typescript/src/Input/InputYear.d.ts.map +1 -0
- package/lib/typescript/src/Input/Switch.d.ts +2 -1
- package/lib/typescript/src/Input/Switch.d.ts.map +1 -1
- package/lib/typescript/src/Input/TextArea.d.ts +1 -1
- package/lib/typescript/src/Input/TextArea.d.ts.map +1 -1
- package/lib/typescript/src/Input/partials/InputFile/CardTrigger.d.ts +2 -1
- package/lib/typescript/src/Input/partials/InputFile/CardTrigger.d.ts.map +1 -1
- package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts +2 -1
- package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts.map +1 -1
- package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts +2 -1
- package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts.map +1 -1
- package/lib/typescript/src/Input/partials/PickerField.d.ts +25 -0
- package/lib/typescript/src/Input/partials/PickerField.d.ts.map +1 -0
- package/lib/typescript/src/Input/type.d.ts +13 -0
- package/lib/typescript/src/Input/type.d.ts.map +1 -1
- package/lib/typescript/src/Label/Label.d.ts +2 -1
- package/lib/typescript/src/Label/Label.d.ts.map +1 -1
- package/lib/typescript/src/LabelForm/LabelForm.d.ts +2 -1
- package/lib/typescript/src/LabelForm/LabelForm.d.ts.map +1 -1
- package/lib/typescript/src/List/List.d.ts +1 -1
- package/lib/typescript/src/List/List.d.ts.map +1 -1
- package/lib/typescript/src/List/ListItem.d.ts +1 -1
- package/lib/typescript/src/List/ListItem.d.ts.map +1 -1
- package/lib/typescript/src/List/type.d.ts +2 -0
- package/lib/typescript/src/List/type.d.ts.map +1 -1
- package/lib/typescript/src/Loading/Loading.d.ts +1 -0
- package/lib/typescript/src/Loading/Loading.d.ts.map +1 -1
- package/lib/typescript/src/Modal/Modal.d.ts +1 -0
- package/lib/typescript/src/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/src/Provider/RequiredUpdateAppsProvider.d.ts.map +1 -1
- package/lib/typescript/src/RadioButton/RadioButton.d.ts +1 -0
- package/lib/typescript/src/RadioButton/RadioButton.d.ts.map +1 -1
- package/lib/typescript/src/Select/Select.d.ts +1 -1
- package/lib/typescript/src/Select/Select.d.ts.map +1 -1
- package/lib/typescript/src/Select/type.d.ts +1 -0
- package/lib/typescript/src/Select/type.d.ts.map +1 -1
- package/lib/typescript/src/Skeleton/Skeleton.d.ts.map +1 -1
- package/lib/typescript/src/Skeleton/type.d.ts +1 -0
- package/lib/typescript/src/Skeleton/type.d.ts.map +1 -1
- package/lib/typescript/src/Spinner/Spinner.d.ts +7 -4
- package/lib/typescript/src/Spinner/Spinner.d.ts.map +1 -1
- package/lib/typescript/src/Step/Step.d.ts +1 -1
- package/lib/typescript/src/Step/Step.d.ts.map +1 -1
- package/lib/typescript/src/Step/StepItem.d.ts +1 -1
- package/lib/typescript/src/Step/StepItem.d.ts.map +1 -1
- package/lib/typescript/src/Step/type.d.ts +2 -0
- package/lib/typescript/src/Step/type.d.ts.map +1 -1
- package/lib/typescript/src/Tab/Tab.d.ts.map +1 -1
- package/lib/typescript/src/Tab/type.d.ts +1 -0
- package/lib/typescript/src/Tab/type.d.ts.map +1 -1
- package/lib/typescript/src/TextEditor/LinkSheet.d.ts +26 -0
- package/lib/typescript/src/TextEditor/LinkSheet.d.ts.map +1 -0
- package/lib/typescript/src/TextEditor/TextEditor.d.ts +2 -19
- package/lib/typescript/src/TextEditor/TextEditor.d.ts.map +1 -1
- package/lib/typescript/src/TextEditor/Toolbar.d.ts +16 -0
- package/lib/typescript/src/TextEditor/Toolbar.d.ts.map +1 -0
- package/lib/typescript/src/TextEditor/editorDocument.d.ts +20 -0
- package/lib/typescript/src/TextEditor/editorDocument.d.ts.map +1 -0
- package/lib/typescript/src/TextEditor/formatState.d.ts +34 -0
- package/lib/typescript/src/TextEditor/formatState.d.ts.map +1 -0
- package/lib/typescript/src/TextEditor/toolbarButtons.d.ts +5 -0
- package/lib/typescript/src/TextEditor/toolbarButtons.d.ts.map +1 -0
- package/lib/typescript/src/TextEditor/types.d.ts +42 -0
- package/lib/typescript/src/TextEditor/types.d.ts.map +1 -1
- package/lib/typescript/src/Timeline/Timeline.d.ts +2 -1
- package/lib/typescript/src/Timeline/Timeline.d.ts.map +1 -1
- package/lib/typescript/src/Timeline/TimelineItem.d.ts +2 -1
- package/lib/typescript/src/Timeline/TimelineItem.d.ts.map +1 -1
- package/lib/typescript/src/Toast/Toast.d.ts +2 -1
- package/lib/typescript/src/Toast/Toast.d.ts.map +1 -1
- package/lib/typescript/src/Typography/Typography.d.ts.map +1 -1
- package/lib/typescript/src/Typography/type.d.ts +1 -0
- package/lib/typescript/src/Typography/type.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Card.d.ts +2 -1
- package/lib/typescript/src/Ui/Card.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Center.d.ts +2 -1
- package/lib/typescript/src/Ui/Center.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Col.d.ts +1 -0
- package/lib/typescript/src/Ui/Col.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Container.d.ts +2 -1
- package/lib/typescript/src/Ui/Container.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Devider.d.ts +3 -1
- package/lib/typescript/src/Ui/Devider.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Footer.d.ts +1 -0
- package/lib/typescript/src/Ui/Footer.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Gap.d.ts +2 -1
- package/lib/typescript/src/Ui/Gap.d.ts.map +1 -1
- package/lib/typescript/src/Ui/Grid.d.ts +1 -0
- package/lib/typescript/src/Ui/Grid.d.ts.map +1 -1
- package/lib/typescript/src/function/dateFormatter.d.ts +11 -0
- package/lib/typescript/src/function/dateFormatter.d.ts.map +1 -1
- package/lib/typescript/src/helpers/getTestID.d.ts +10 -0
- package/lib/typescript/src/helpers/getTestID.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +19 -6
- package/src/Accordion/Accordion.tsx +6 -1
- package/src/Accordion/AccordionItem.tsx +2 -1
- package/src/Accordion/README.md +2 -0
- package/src/Accordion/type.tsx +2 -0
- package/src/Alert/Alert.tsx +3 -0
- package/src/Alert/README.md +1 -0
- package/src/Avatar/Avatar.tsx +2 -0
- package/src/Avatar/AvatarGroup.tsx +2 -1
- package/src/Avatar/README_AVATAR.md +1 -0
- package/src/Avatar/README_AVATARGROUP.md +1 -0
- package/src/Avatar/type.tsx +2 -0
- package/src/Badge/Badge.tsx +4 -0
- package/src/Badge/README.md +1 -0
- package/src/BadgeIcon/BadgeIcon.tsx +3 -0
- package/src/BadgeIcon/README.md +1 -0
- package/src/BottomSheet/BottomSheet.tsx +20 -13
- package/src/BottomSheet/README.md +1 -0
- package/src/BottomSheet/type.tsx +1 -0
- package/src/Button/Button.tsx +2 -0
- package/src/Button/README.md +1 -0
- package/src/Button/type.tsx +1 -0
- package/src/Calendar/Calendar.tsx +8 -1
- package/src/Calendar/CalendarPropsType.tsx +6 -0
- package/src/Calendar/README.md +2 -0
- package/src/CheckBox/CheckBox.tsx +13 -2
- package/src/CheckBox/CheckBoxList.tsx +7 -1
- package/src/CheckBox/README_CHECKBOX.md +1 -0
- package/src/CheckBox/README_CHECKBOXLIST.md +1 -0
- package/src/Chip/Chip.tsx +18 -5
- package/src/Chip/ChipItem.tsx +2 -0
- package/src/Chip/README.md +26 -2
- package/src/Chip/README_CHIP_ITEM.md +1 -0
- package/src/Chip/type.tsx +2 -0
- package/src/CounterButton/CounterButton.tsx +5 -0
- package/src/CounterButton/README.md +1 -0
- package/src/CounterButton/type.tsx +1 -0
- package/src/DatePicker/DatePicker.tsx +21 -5
- package/src/DatePicker/MonthPicker.tsx +7 -0
- package/src/DatePicker/README_DATEPICKER.md +1 -0
- package/src/DatePicker/README_MONTHPICKER.md +1 -0
- package/src/DatePicker/README_TIMEPICKER.md +1 -0
- package/src/DatePicker/README_YEARPICKER.md +1 -0
- package/src/DatePicker/TimePicker.tsx +8 -0
- package/src/DatePicker/YearPicker.tsx +16 -3
- package/src/Drawing/Drawing.tsx +3 -1
- package/src/Drawing/README.md +1 -0
- package/src/DropDown/DropDown.tsx +12 -1
- package/src/DropDown/README.md +1 -0
- package/src/DropDown/type.tsx +1 -0
- package/src/FileView/PDF_VIEW_README.md +11 -0
- package/src/FileView/PdfView.tsx +4 -3
- package/src/Icon/Icon.tsx +14 -2
- package/src/Icon/README.md +1 -0
- package/src/Icon/icons/FileListStar.tsx +23 -0
- package/src/Icon/icons/TextFill.tsx +19 -0
- package/src/Icon/type.tsx +3 -0
- package/src/Input/Input.tsx +17 -2
- package/src/Input/InputDate.tsx +40 -15
- package/src/Input/InputFile.tsx +27 -14
- package/src/Input/InputMonth.tsx +152 -1
- package/src/Input/InputOtp.tsx +12 -2
- package/src/Input/InputPassword.tsx +6 -1
- package/src/Input/InputSelect.tsx +30 -13
- package/src/Input/InputYear.tsx +125 -0
- package/src/Input/README_INPUT.md +1 -0
- package/src/Input/README_INPUT_DATE.md +18 -0
- package/src/Input/README_INPUT_FILE.md +1 -0
- package/src/Input/README_INPUT_MONTH.md +132 -0
- package/src/Input/README_INPUT_OTP.md +1 -0
- package/src/Input/README_INPUT_SELECT.md +1 -0
- package/src/Input/README_INPUT_YEAR.md +115 -0
- package/src/Input/Switch.tsx +7 -1
- package/src/Input/TextArea.tsx +15 -2
- package/src/Input/partials/InputFile/CardTrigger.tsx +3 -0
- package/src/Input/partials/InputFile/CardTriggerSmall.tsx +4 -1
- package/src/Input/partials/InputFile/ItemPreview.tsx +12 -2
- package/src/Input/partials/PickerField.tsx +125 -0
- package/src/Input/type.tsx +14 -0
- package/src/Label/Label.tsx +3 -0
- package/src/Label/README.md +1 -0
- package/src/LabelForm/LabelForm.tsx +3 -1
- package/src/List/List.tsx +2 -2
- package/src/List/ListItem.tsx +2 -0
- package/src/List/README.md +2 -0
- package/src/List/type.tsx +2 -0
- package/src/Loading/Loading.tsx +3 -1
- package/src/Modal/Modal.tsx +15 -3
- package/src/Modal/README.md +1 -0
- package/src/Provider/RequiredUpdateAppsProvider.tsx +10 -1
- package/src/RadioButton/README.md +1 -0
- package/src/RadioButton/RadioButton.tsx +12 -2
- package/src/Select/README.md +1 -0
- package/src/Select/README_Select.md +1 -0
- package/src/Select/Select.tsx +13 -3
- package/src/Select/type.tsx +1 -0
- package/src/Skeleton/README.md +1 -0
- package/src/Skeleton/Skeleton.tsx +2 -0
- package/src/Skeleton/type.ts +1 -0
- package/src/Spinner/Spinner.tsx +15 -2
- package/src/Step/README.md +2 -0
- package/src/Step/Step.tsx +2 -2
- package/src/Step/StepItem.tsx +7 -2
- package/src/Step/type.tsx +2 -0
- package/src/Tab/README.md +1 -0
- package/src/Tab/Tab.tsx +12 -2
- package/src/Tab/type.tsx +1 -0
- package/src/TextEditor/LinkSheet.tsx +100 -0
- package/src/TextEditor/README.md +52 -2
- package/src/TextEditor/TextEditor.tsx +92 -500
- package/src/TextEditor/Toolbar.tsx +104 -0
- package/src/TextEditor/editorDocument.ts +246 -0
- package/src/TextEditor/formatState.ts +186 -0
- package/src/TextEditor/toolbarButtons.ts +41 -0
- package/src/TextEditor/types.tsx +63 -0
- package/src/Timeline/README.md +2 -0
- package/src/Timeline/Timeline.tsx +7 -2
- package/src/Timeline/TimelineItem.tsx +3 -1
- package/src/Toast/README.md +16 -0
- package/src/Toast/Toast.tsx +13 -2
- package/src/Typography/README.md +1 -0
- package/src/Typography/Typography.tsx +6 -1
- package/src/Typography/type.tsx +2 -10
- package/src/Ui/Card.tsx +4 -0
- package/src/Ui/Center.tsx +7 -2
- package/src/Ui/Col.tsx +7 -2
- package/src/Ui/Container.tsx +7 -2
- package/src/Ui/Devider.tsx +2 -2
- package/src/Ui/Footer.tsx +6 -3
- package/src/Ui/Gap.tsx +8 -2
- package/src/Ui/Grid.tsx +3 -2
- package/src/Ui/README_CARD.md +1 -0
- package/src/Ui/README_CONTAINER.md +1 -0
- package/src/Ui/README_DEVIDER.md +5 -0
- package/src/Ui/README_FOOTER.md +9 -0
- package/src/Ui/README_VIEWINSETS.md +1 -0
- package/src/function/README_DATE_FORMATTER.md +35 -0
- package/src/function/dateFormatter.ts +40 -0
- package/src/helpers/getTestID.ts +15 -0
- package/src/index.tsx +6 -0
- package/lib/module/Button/tests/Button.test.js +0 -70
- package/lib/module/Button/tests/Button.test.js.map +0 -1
- package/lib/typescript/src/Button/tests/Button.test.d.ts +0 -2
- package/lib/typescript/src/Button/tests/Button.test.d.ts.map +0 -1
- package/src/Button/tests/Button.test.tsx +0 -49
|
@@ -9,7 +9,8 @@ const Skeleton = ({
|
|
|
9
9
|
rounded = 8,
|
|
10
10
|
backgroundColor = '#F0F0F0',
|
|
11
11
|
shimmerColor = 'rgba(255, 255, 255, 0.7)',
|
|
12
|
-
duration = 1500
|
|
12
|
+
duration = 1500,
|
|
13
|
+
testID
|
|
13
14
|
}) => {
|
|
14
15
|
const shimmerAnimation = useRef(new Animated.Value(0)).current;
|
|
15
16
|
const skeletonWidth = useRef(0);
|
|
@@ -40,6 +41,7 @@ const Skeleton = ({
|
|
|
40
41
|
outputRange: [-200, skeletonWidth.current + 200]
|
|
41
42
|
});
|
|
42
43
|
return /*#__PURE__*/_jsx(View, {
|
|
44
|
+
testID: testID,
|
|
43
45
|
onLayout: handleLayout,
|
|
44
46
|
style: [styles.skeletonCard, {
|
|
45
47
|
width,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","Animated","Easing","StyleSheet","View","jsx","_jsx","Skeleton","width","height","rounded","backgroundColor","shimmerColor","duration","shimmerAnimation","Value","current","skeletonWidth","handleLayout","event","nativeEvent","layout","animateShimmer","loop","sequence","timing","toValue","easing","linear","useNativeDriver","start","stopAnimation","shimmerTranslate","interpolate","inputRange","outputRange","onLayout","style","styles","skeletonCard","borderRadius","children","shimmer","transform","translateX","create","overflow","absoluteFillObject","opacity"],"sourceRoot":"../../../src","sources":["Skeleton/Skeleton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SACEC,QAAQ,EACRC,MAAM,EACNC,UAAU,EACVC,IAAI,QAIC,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtB,MAAMC,QAAiC,GAAGA,CAAC;EACzCC,KAAK,GAAG,MAAM;EACdC,MAAM,GAAG,EAAE;EACXC,OAAO,GAAG,CAAC;EACXC,eAAe,GAAG,SAAS;EAC3BC,YAAY,GAAG,0BAA0B;EACzCC,QAAQ,GAAG;
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Animated","Easing","StyleSheet","View","jsx","_jsx","Skeleton","width","height","rounded","backgroundColor","shimmerColor","duration","testID","shimmerAnimation","Value","current","skeletonWidth","handleLayout","event","nativeEvent","layout","animateShimmer","loop","sequence","timing","toValue","easing","linear","useNativeDriver","start","stopAnimation","shimmerTranslate","interpolate","inputRange","outputRange","onLayout","style","styles","skeletonCard","borderRadius","children","shimmer","transform","translateX","create","overflow","absoluteFillObject","opacity"],"sourceRoot":"../../../src","sources":["Skeleton/Skeleton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SACEC,QAAQ,EACRC,MAAM,EACNC,UAAU,EACVC,IAAI,QAIC,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtB,MAAMC,QAAiC,GAAGA,CAAC;EACzCC,KAAK,GAAG,MAAM;EACdC,MAAM,GAAG,EAAE;EACXC,OAAO,GAAG,CAAC;EACXC,eAAe,GAAG,SAAS;EAC3BC,YAAY,GAAG,0BAA0B;EACzCC,QAAQ,GAAG,IAAI;EACfC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGf,MAAM,CAAC,IAAIC,QAAQ,CAACe,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC9D,MAAMC,aAAa,GAAGlB,MAAM,CAAC,CAAC,CAAC;EAE/B,MAAMmB,YAAY,GAAIC,KAAwB,IAAK;IACjDF,aAAa,CAACD,OAAO,GAAGG,KAAK,CAACC,WAAW,CAACC,MAAM,CAACd,KAAK;EACxD,CAAC;EAEDT,SAAS,CAAC,MAAM;IACd,MAAMwB,cAAc,GAAGA,CAAA,KAAM;MAC3BtB,QAAQ,CAACuB,IAAI,CACXvB,QAAQ,CAACwB,QAAQ,CAAC,CAChBxB,QAAQ,CAACyB,MAAM,CAACX,gBAAgB,EAAE;QAChCY,OAAO,EAAE,CAAC;QACVd,QAAQ,EAAEA,QAAQ;QAClBe,MAAM,EAAE1B,MAAM,CAAC2B,MAAM;QACrBC,eAAe,EAAE;MACnB,CAAC,CAAC,EACF7B,QAAQ,CAACyB,MAAM,CAACX,gBAAgB,EAAE;QAChCY,OAAO,EAAE,CAAC;QACVd,QAAQ,EAAE,CAAC;QACXiB,eAAe,EAAE;MACnB,CAAC,CAAC,CACH,CACH,CAAC,CAACC,KAAK,CAAC,CAAC;IACX,CAAC;IAEDR,cAAc,CAAC,CAAC;IAEhB,OAAO,MAAM;MACXR,gBAAgB,CAACiB,aAAa,CAAC,CAAC;IAClC,CAAC;EACH,CAAC,EAAE,CAACjB,gBAAgB,EAAEF,QAAQ,CAAC,CAAC;EAEhC,MAAMoB,gBAAgB,GAAGlB,gBAAgB,CAACmB,WAAW,CAAC;IACpDC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB;IACAC,WAAW,EAAE,CAAC,CAAC,GAAG,EAAElB,aAAa,CAACD,OAAO,GAAG,GAAG;EACjD,CAAC,CAAC;EAEF,oBACEX,IAAA,CAACF,IAAI;IACHU,MAAM,EAAEA,MAAO;IACfuB,QAAQ,EAAElB,YAAa;IACvBmB,KAAK,EAAE,CACLC,MAAM,CAACC,YAAY,EACnB;MACEhC,KAAK;MACLC,MAAM;MACNE,eAAe;MACf8B,YAAY,EAAE/B;IAChB,CAAC,CACD;IAAAgC,QAAA,eAEFpC,IAAA,CAACL,QAAQ,CAACG,IAAI;MACZkC,KAAK,EAAE,CACLC,MAAM,CAACI,OAAO,EACd;QACEhC,eAAe,EAAEC,YAAY;QAC7BgC,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAEZ;QAAiB,CAAC,CAAC;QAC7CQ,YAAY,EAAE/B;MAChB,CAAC;IACD,CACH;EAAC,CACE,CAAC;AAEX,CAAC;AAED,eAAeH,QAAQ;AAEvB,MAAMgC,MAAM,GAAGpC,UAAU,CAAC2C,MAAM,CAAC;EAC/BN,YAAY,EAAE;IACZO,QAAQ,EAAE;EACZ,CAAC;EACDJ,OAAO,EAAE;IACP,GAAGxC,UAAU,CAAC6C,kBAAkB;IAChCxC,KAAK,EAAE,KAAK;IACZC,MAAM,EAAE,MAAM;IACdwC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -6,7 +6,8 @@ import Svg, { Defs, LinearGradient, Stop, Circle } from 'react-native-svg';
|
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
export default function Spinner({
|
|
8
8
|
size = 48,
|
|
9
|
-
color = '#FFFFFF'
|
|
9
|
+
color = '#FFFFFF',
|
|
10
|
+
testID
|
|
10
11
|
}) {
|
|
11
12
|
const rotateAnim = useRef(new Animated.Value(0)).current;
|
|
12
13
|
useEffect(() => {
|
|
@@ -27,6 +28,7 @@ export default function Spinner({
|
|
|
27
28
|
const radius = size / 2 - strokeWidth;
|
|
28
29
|
const darkerColor = '#999';
|
|
29
30
|
return /*#__PURE__*/_jsx(View, {
|
|
31
|
+
testID: testID,
|
|
30
32
|
style: [styles.container, {
|
|
31
33
|
width: size,
|
|
32
34
|
height: size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useEffect","Animated","Easing","StyleSheet","View","Svg","Defs","LinearGradient","Stop","Circle","jsx","_jsx","jsxs","_jsxs","Spinner","size","color","rotateAnim","Value","current","spin","loop","timing","toValue","duration","easing","linear","useNativeDriver","start","stop","rotateInterpolate","interpolate","inputRange","outputRange","strokeWidth","radius","darkerColor","style","styles","container","width","height","children","transform","rotate","viewBox","id","x1","y1","x2","y2","offset","stopColor","cx","cy","r","stroke","fill","strokeLinecap","create","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["Spinner/Spinner.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,OAAO;AACzC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACjE,OAAOC,GAAG,IAAIC,IAAI,EAAEC,cAAc,EAAEC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["useRef","useEffect","Animated","Easing","StyleSheet","View","Svg","Defs","LinearGradient","Stop","Circle","jsx","_jsx","jsxs","_jsxs","Spinner","size","color","testID","rotateAnim","Value","current","spin","loop","timing","toValue","duration","easing","linear","useNativeDriver","start","stop","rotateInterpolate","interpolate","inputRange","outputRange","strokeWidth","radius","darkerColor","style","styles","container","width","height","children","transform","rotate","viewBox","id","x1","y1","x2","y2","offset","stopColor","cx","cy","r","stroke","fill","strokeLinecap","create","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["Spinner/Spinner.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ export default function CheckoutWizard() {
|
|
|
40
40
|
| `children` | `ReactElement<StepItemProps>` \| array | ✅ | — | Satu atau beberapa `StepItem`. |
|
|
41
41
|
| `current` | `number` | ✅ | — | Indeks langkah aktif (dimulai dari `0`). |
|
|
42
42
|
| `onChangeStep` | `(activeIndex: number) => void` | ✅ | — | Callback yang dipicu setiap kali nilai `current` berubah di dalam komponen. |
|
|
43
|
+
| `testID` | `string` | ❌ | — | ID untuk automation testing (Maestro/Detox/Appium). Diterapkan langsung ke elemen akar, tanpa suffix. |
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
### StepItem
|
|
@@ -55,6 +56,7 @@ Sebagai konten – ditampilkan bila index-nya sama dengan current.
|
|
|
55
56
|
| `children` | `ReactNode` | ✅ | — | Konten yang muncul ketika langkah ini aktif. |
|
|
56
57
|
| `color` | `'primary' \| 'success' \| 'warning' \| 'danger' \| 'purple'` | ❌ | `'primary'` | Warna lingkaran & garis pada header. |
|
|
57
58
|
| `title` | `string` | ❌ | `''` | (Opsional) Judul untuk ditampilkan di header (bisa dikustom lagi). |
|
|
59
|
+
| `testID` | `string` | ❌ | — | ID untuk automation testing (Maestro/Detox/Appium). Diterapkan langsung ke elemen akar, tanpa suffix. |
|
|
58
60
|
|
|
59
61
|
## ⚙️ Cara Kerja
|
|
60
62
|
|
package/lib/module/Step/Step.js
CHANGED
|
@@ -10,7 +10,8 @@ const {
|
|
|
10
10
|
const Step = ({
|
|
11
11
|
children,
|
|
12
12
|
current = 0,
|
|
13
|
-
onChangeStep
|
|
13
|
+
onChangeStep,
|
|
14
|
+
testID
|
|
14
15
|
}) => {
|
|
15
16
|
const childrenArray = React.Children.toArray(children).filter(React.isValidElement);
|
|
16
17
|
const totalSteps = childrenArray.length;
|
|
@@ -26,6 +27,7 @@ const Step = ({
|
|
|
26
27
|
}
|
|
27
28
|
}, [current, onChangeStep]);
|
|
28
29
|
return /*#__PURE__*/_jsxs(View, {
|
|
30
|
+
testID: testID,
|
|
29
31
|
style: styles.container,
|
|
30
32
|
children: [/*#__PURE__*/_jsx(View, {
|
|
31
33
|
style: [styles.headerContainer],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","View","StyleSheet","Dimensions","ScrollView","Color","jsx","_jsx","jsxs","_jsxs","width","screenWidth","get","Step","children","current","onChangeStep","childrenArray","Children","toArray","filter","isValidElement","totalSteps","length","scrollRef","stepWidth","scrollTo","x","Math","max","animated","style","styles","container","headerContainer","ref","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","containerScrollView","justifyContent","map","child","index","cloneElement","isActive","isCompleted","isLast","isHeader","content","create","flex","paddingHorizontal","backgroundColor","info","paddingVertical","contentContainer","flexGrow"],"sourceRoot":"../../../src","sources":["Step/Step.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,IAAI,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AACvE,OAAOC,KAAK,MAAM,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGnC,MAAM;EAAEC,KAAK,EAAEC;AAAY,CAAC,GAAGR,UAAU,CAACS,GAAG,CAAC,QAAQ,CAAC;AAEvD,MAAMC,IAAI,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,OAAO,GAAG,CAAC;EAAEC;
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","View","StyleSheet","Dimensions","ScrollView","Color","jsx","_jsx","jsxs","_jsxs","width","screenWidth","get","Step","children","current","onChangeStep","testID","childrenArray","Children","toArray","filter","isValidElement","totalSteps","length","scrollRef","stepWidth","scrollTo","x","Math","max","animated","style","styles","container","headerContainer","ref","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","containerScrollView","justifyContent","map","child","index","cloneElement","isActive","isCompleted","isLast","isHeader","content","create","flex","paddingHorizontal","backgroundColor","info","paddingVertical","contentContainer","flexGrow"],"sourceRoot":"../../../src","sources":["Step/Step.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,10 +12,12 @@ const StepItem = ({
|
|
|
12
12
|
isLast,
|
|
13
13
|
isHeader,
|
|
14
14
|
children,
|
|
15
|
-
style
|
|
15
|
+
style,
|
|
16
|
+
testID
|
|
16
17
|
}) => {
|
|
17
18
|
if (isHeader) {
|
|
18
19
|
return /*#__PURE__*/_jsxs(View, {
|
|
20
|
+
testID: testID,
|
|
19
21
|
style: [styles.headerItem, style],
|
|
20
22
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
21
23
|
style: [styles.circle, isCompleted && styles.completed, isActive && styles.active],
|
|
@@ -41,6 +43,7 @@ const StepItem = ({
|
|
|
41
43
|
});
|
|
42
44
|
}
|
|
43
45
|
return /*#__PURE__*/_jsx(View, {
|
|
46
|
+
testID: testID,
|
|
44
47
|
style: styles.content,
|
|
45
48
|
children: children
|
|
46
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","StyleSheet","FlatList","Color","Icon","jsx","_jsx","jsxs","_jsxs","StepItem","index","isActive","isCompleted","isLast","isHeader","children","style","styles","headerItem","circle","completed","active","circleText","name","size","color","line","completedLine","undefined","isValidElement","type","flatListElement","cloneElement","content","props","contentContainerStyle","listContent","nestedScrollEnabled","create","flexDirection","alignItems","width","height","borderRadius","backgroundColor","justifyContent","fontWeight","info","success","marginHorizontal","flex"],"sourceRoot":"../../../src","sources":["Step/StepItem.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,QAAQ,QAEH,cAAc;AACrB,OAAOC,KAAK,MAAM,mBAAgB;AAElC,OAAOC,IAAI,MAAM,kBAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3B,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,KAAK,GAAG,CAAC;EACTC,QAAQ;EACRC,WAAW;EACXC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC;AACa,CAAC,KAAK;EACnB,
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","FlatList","Color","Icon","jsx","_jsx","jsxs","_jsxs","StepItem","index","isActive","isCompleted","isLast","isHeader","children","style","testID","styles","headerItem","circle","completed","active","circleText","name","size","color","line","completedLine","undefined","isValidElement","type","flatListElement","cloneElement","content","props","contentContainerStyle","listContent","nestedScrollEnabled","create","flexDirection","alignItems","width","height","borderRadius","backgroundColor","justifyContent","fontWeight","info","success","marginHorizontal","flex"],"sourceRoot":"../../../src","sources":["Step/StepItem.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/Tab/README.md
CHANGED
|
@@ -95,6 +95,7 @@ Setiap tab dibungkus dalam `ScrollView` vertikal, sehingga bisa discroll ke bawa
|
|
|
95
95
|
| `current?` | `number` | Indeks tab aktif (default: 0) |
|
|
96
96
|
| `onChangeTab?` | `(index: number) => void` | Callback saat tab berpindah |
|
|
97
97
|
| `renderHeader` | `React.ReactElement` | tambahan react element di atas tab |
|
|
98
|
+
| `testID` | `string` | ID untuk automation testing (Maestro/Detox/Appium). Menurunkan `-item-{index}` untuk tiap tab header dan `-panel-{index}` untuk tiap konten tab. |
|
|
98
99
|
|
|
99
100
|
### `TabItemProps`
|
|
100
101
|
|
package/lib/module/Tab/Tab.js
CHANGED
|
@@ -5,13 +5,15 @@ import { View, Pressable, StyleSheet, ScrollView } from 'react-native';
|
|
|
5
5
|
import PagerView from 'react-native-pager-view';
|
|
6
6
|
import Color from "../Color/Color.js";
|
|
7
7
|
import Typography from "../Typography/Typography.js";
|
|
8
|
+
import { getTestID } from "../helpers/getTestID.js";
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
const Tab = ({
|
|
10
11
|
children,
|
|
11
12
|
current = 0,
|
|
12
13
|
onChangeTab,
|
|
13
14
|
renderHeader,
|
|
14
|
-
refreshControl
|
|
15
|
+
refreshControl,
|
|
16
|
+
testID
|
|
15
17
|
}) => {
|
|
16
18
|
const items = Children.toArray(children).filter(isValidElement);
|
|
17
19
|
const [activeIndex, setActiveIndex] = useState(current);
|
|
@@ -43,6 +45,7 @@ const Tab = ({
|
|
|
43
45
|
const isActive = index === activeIndex;
|
|
44
46
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
45
47
|
children: [!item.props.renderTabName && /*#__PURE__*/_jsx(Pressable, {
|
|
48
|
+
testID: getTestID(testID, `item-${index}`),
|
|
46
49
|
style: [styles.tabButton, isActive ? styles.tabActive : styles.tabInactive],
|
|
47
50
|
onPress: () => handleHeaderPress(index),
|
|
48
51
|
children: /*#__PURE__*/_jsx(Typography, {
|
|
@@ -53,6 +56,7 @@ const Tab = ({
|
|
|
53
56
|
children: item.props.name
|
|
54
57
|
})
|
|
55
58
|
}), item.props.renderTabName && /*#__PURE__*/_jsx(Pressable, {
|
|
59
|
+
testID: getTestID(testID, `item-${index}`),
|
|
56
60
|
onPress: () => handleHeaderPress(index),
|
|
57
61
|
children: item.props.renderTabName({
|
|
58
62
|
isActive
|
|
@@ -74,6 +78,7 @@ const Tab = ({
|
|
|
74
78
|
initialPage: current,
|
|
75
79
|
onPageSelected: e => updateActive(e.nativeEvent.position),
|
|
76
80
|
children: items.map((item, index) => /*#__PURE__*/_jsx(View, {
|
|
81
|
+
testID: getTestID(testID, `panel-${index}`),
|
|
77
82
|
collapsable: false,
|
|
78
83
|
children: item?.props?.children
|
|
79
84
|
}, index))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useState","useEffect","useRef","Children","isValidElement","View","Pressable","StyleSheet","ScrollView","PagerView","Color","Typography","jsx","_jsx","jsxs","_jsxs","Tab","children","current","onChangeTab","renderHeader","refreshControl","items","toArray","filter","activeIndex","setActiveIndex","pagerRef","currentHeight","props","height","setPageWithoutAnimation","updateActive","index","handleHeaderPress","setPage","length","renderTabBar","horizontal","showsHorizontalScrollIndicator","style","styles","tabBarWrapper","tabBar","map","item","isActive","Fragment","renderTabName","tabButton","tabActive","tabInactive","onPress","center","variant","weight","color","base","white100","gray","name","renderMainContent","minHeight","ref","pager","undefined","initialPage","onPageSelected","e","nativeEvent","position","collapsable","container","stickyHeaderIndices","contentContainerStyle","scrollViewContainer","showsVerticalScrollIndicator","create","flex","backgroundColor","borderRadius","flexDirection","padding","paddingVertical","paddingHorizontal","justifyContent","alignItems","marginRight","primary","marginBottom","flexGrow"],"sourceRoot":"../../../src","sources":["Tab/Tab.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,cAAc,QACT,OAAO;AACd,SAASC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AACtE,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["React","useCallback","useState","useEffect","useRef","Children","isValidElement","View","Pressable","StyleSheet","ScrollView","PagerView","Color","Typography","getTestID","jsx","_jsx","jsxs","_jsxs","Tab","children","current","onChangeTab","renderHeader","refreshControl","testID","items","toArray","filter","activeIndex","setActiveIndex","pagerRef","currentHeight","props","height","setPageWithoutAnimation","updateActive","index","handleHeaderPress","setPage","length","renderTabBar","horizontal","showsHorizontalScrollIndicator","style","styles","tabBarWrapper","tabBar","map","item","isActive","Fragment","renderTabName","tabButton","tabActive","tabInactive","onPress","center","variant","weight","color","base","white100","gray","name","renderMainContent","minHeight","ref","pager","undefined","initialPage","onPageSelected","e","nativeEvent","position","collapsable","container","stickyHeaderIndices","contentContainerStyle","scrollViewContainer","showsVerticalScrollIndicator","create","flex","backgroundColor","borderRadius","flexDirection","padding","paddingVertical","paddingHorizontal","justifyContent","alignItems","marginRight","primary","marginBottom","flexGrow"],"sourceRoot":"../../../src","sources":["Tab/Tab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import BottomSheet from "../BottomSheet/BottomSheet.js";
|
|
6
|
+
import Button from "../Button/Button.js";
|
|
7
|
+
import Input from "../Input/Input.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* The sheet for adding or editing a hyperlink.
|
|
11
|
+
*
|
|
12
|
+
* The url input takes the forwarded ref because the editor focuses it shortly
|
|
13
|
+
* after opening.
|
|
14
|
+
*/
|
|
15
|
+
const LinkSheet = /*#__PURE__*/forwardRef(({
|
|
16
|
+
isOpen,
|
|
17
|
+
text,
|
|
18
|
+
url,
|
|
19
|
+
onChangeText,
|
|
20
|
+
onChangeUrl,
|
|
21
|
+
onCancel,
|
|
22
|
+
onSave,
|
|
23
|
+
onClose,
|
|
24
|
+
labelText,
|
|
25
|
+
labelUrl,
|
|
26
|
+
placeholderText,
|
|
27
|
+
placeholderUrl,
|
|
28
|
+
saveText,
|
|
29
|
+
cancelText
|
|
30
|
+
}, ref) => /*#__PURE__*/_jsxs(BottomSheet, {
|
|
31
|
+
isOpen: isOpen,
|
|
32
|
+
onClose: onClose,
|
|
33
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
34
|
+
style: styles.body,
|
|
35
|
+
children: [/*#__PURE__*/_jsx(Input, {
|
|
36
|
+
label: labelText,
|
|
37
|
+
value: text,
|
|
38
|
+
onChangeText: onChangeText,
|
|
39
|
+
placeholder: placeholderText,
|
|
40
|
+
autoCapitalize: "none"
|
|
41
|
+
}), /*#__PURE__*/_jsx(Input, {
|
|
42
|
+
ref: ref,
|
|
43
|
+
keyboardType: "url",
|
|
44
|
+
label: labelUrl,
|
|
45
|
+
value: url,
|
|
46
|
+
onChangeText: onChangeUrl,
|
|
47
|
+
placeholder: placeholderUrl,
|
|
48
|
+
autoCapitalize: "none"
|
|
49
|
+
})]
|
|
50
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
51
|
+
style: styles.actions,
|
|
52
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
53
|
+
style: styles.flex1,
|
|
54
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
55
|
+
title: cancelText,
|
|
56
|
+
color: "primary",
|
|
57
|
+
onPress: onCancel,
|
|
58
|
+
variant: "outline"
|
|
59
|
+
})
|
|
60
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
61
|
+
style: styles.flex1,
|
|
62
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
63
|
+
title: saveText,
|
|
64
|
+
color: "primary",
|
|
65
|
+
onPress: onSave
|
|
66
|
+
})
|
|
67
|
+
})]
|
|
68
|
+
})]
|
|
69
|
+
}));
|
|
70
|
+
export default LinkSheet;
|
|
71
|
+
const styles = StyleSheet.create({
|
|
72
|
+
body: {
|
|
73
|
+
gap: 12
|
|
74
|
+
},
|
|
75
|
+
actions: {
|
|
76
|
+
flexDirection: 'row',
|
|
77
|
+
gap: 8,
|
|
78
|
+
marginTop: 16
|
|
79
|
+
},
|
|
80
|
+
flex1: {
|
|
81
|
+
flex: 1
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=LinkSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","StyleSheet","View","BottomSheet","Button","Input","jsx","_jsx","jsxs","_jsxs","LinkSheet","isOpen","text","url","onChangeText","onChangeUrl","onCancel","onSave","onClose","labelText","labelUrl","placeholderText","placeholderUrl","saveText","cancelText","ref","children","style","styles","body","label","value","placeholder","autoCapitalize","keyboardType","actions","flex1","title","color","onPress","variant","create","gap","flexDirection","marginTop","flex"],"sourceRoot":"../../../src","sources":["TextEditor/LinkSheet.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,UAAU,EAAaC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,WAAW,MAAM,+BAA4B;AACpD,OAAOC,MAAM,MAAM,qBAAkB;AACrC,OAAOC,KAAK,MAAM,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAmBnC;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,SAAS,gBAAGV,UAAU,CAC1B,CACE;EACEW,MAAM;EACNC,IAAI;EACJC,GAAG;EACHC,YAAY;EACZC,WAAW;EACXC,QAAQ;EACRC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC,QAAQ;EACRC,eAAe;EACfC,cAAc;EACdC,QAAQ;EACRC;AACF,CAAC,EACDC,GAAG,kBAEHhB,KAAA,CAACN,WAAW;EAACQ,MAAM,EAAEA,MAAO;EAACO,OAAO,EAAEA,OAAQ;EAAAQ,QAAA,gBAC5CjB,KAAA,CAACP,IAAI;IAACyB,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAH,QAAA,gBACvBnB,IAAA,CAACF,KAAK;MACJyB,KAAK,EAAEX,SAAU;MACjBY,KAAK,EAAEnB,IAAK;MACZE,YAAY,EAAEA,YAAa;MAC3BkB,WAAW,EAAEX,eAAgB;MAC7BY,cAAc,EAAC;IAAM,CACtB,CAAC,eACF1B,IAAA,CAACF,KAAK;MACJoB,GAAG,EAAEA,GAAI;MACTS,YAAY,EAAC,KAAK;MAClBJ,KAAK,EAAEV,QAAS;MAChBW,KAAK,EAAElB,GAAI;MACXC,YAAY,EAAEC,WAAY;MAC1BiB,WAAW,EAAEV,cAAe;MAC5BW,cAAc,EAAC;IAAM,CACtB,CAAC;EAAA,CACE,CAAC,eACPxB,KAAA,CAACP,IAAI;IAACyB,KAAK,EAAEC,MAAM,CAACO,OAAQ;IAAAT,QAAA,gBAC1BnB,IAAA,CAACL,IAAI;MAACyB,KAAK,EAAEC,MAAM,CAACQ,KAAM;MAAAV,QAAA,eACxBnB,IAAA,CAACH,MAAM;QACLiC,KAAK,EAAEb,UAAW;QAClBc,KAAK,EAAC,SAAS;QACfC,OAAO,EAAEvB,QAAS;QAClBwB,OAAO,EAAC;MAAS,CAClB;IAAC,CACE,CAAC,eACPjC,IAAA,CAACL,IAAI;MAACyB,KAAK,EAAEC,MAAM,CAACQ,KAAM;MAAAV,QAAA,eACxBnB,IAAA,CAACH,MAAM;QAACiC,KAAK,EAAEd,QAAS;QAACe,KAAK,EAAC,SAAS;QAACC,OAAO,EAAEtB;MAAO,CAAE;IAAC,CACxD,CAAC;EAAA,CACH,CAAC;AAAA,CACI,CAEjB,CAAC;AAED,eAAeP,SAAS;AAExB,MAAMkB,MAAM,GAAG3B,UAAU,CAACwC,MAAM,CAAC;EAC/BZ,IAAI,EAAE;IACJa,GAAG,EAAE;EACP,CAAC;EACDP,OAAO,EAAE;IACPQ,aAAa,EAAE,KAAK;IACpBD,GAAG,EAAE,CAAC;IACNE,SAAS,EAAE;EACb,CAAC;EACDR,KAAK,EAAE;IACLS,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,13 +5,14 @@ Rich text editor component untuk React Native dengan toolbar formatting yang len
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
- ✅ Rich text formatting (Bold, Italic, Underline, Strikethrough)
|
|
8
|
+
- ✅ Heading H1–H3, clear formatting, undo/redo
|
|
8
9
|
- ✅ Insert dan edit hyperlinks
|
|
9
10
|
- ✅ Bullet dan numbered lists
|
|
10
11
|
- ✅ Text alignment (Left, Center, Right)
|
|
11
12
|
- ✅ Character counter dengan max length validation
|
|
12
13
|
- ✅ Custom placeholder
|
|
13
14
|
- ✅ WebView-based editor dengan contenteditable
|
|
14
|
-
- ✅ Toolbar otomatis muncul saat keyboard aktif
|
|
15
|
+
- ✅ Toolbar otomatis muncul saat editor dipakai dan keyboard aktif
|
|
15
16
|
- ✅ Support iOS dan Android
|
|
16
17
|
- ✅ Imperative methods (getContent, setContent, clearContent)
|
|
17
18
|
|
|
@@ -61,12 +62,43 @@ export default function MyScreen() {
|
|
|
61
62
|
| `onChange` | `(html: string) => void` | - | Callback saat konten berubah |
|
|
62
63
|
| `onFocus` | `() => void` | - | Callback saat editor focus |
|
|
63
64
|
| `onBlur` | `() => void` | - | Callback saat editor blur |
|
|
65
|
+
| `showToolbar` | `boolean` | `true` | Gerbang toolbar mengambang. `true`: muncul selama editor ini memegang kursor dan keyboard terbuka. `false`: tidak muncul sama sekali. Tidak memaksa toolbar muncul sendiri. |
|
|
64
66
|
| `inputLabelLinkText` | `string` | `'Teks Link'` | Label untuk input teks link |
|
|
65
67
|
| `inputLabelLinkUrl` | `string` | `'Link URL'` | Label untuk input URL link |
|
|
66
68
|
| `inputLinkTextPlacholder` | `string` | `'Link URL'` | Placeholder untuk input teks link |
|
|
67
69
|
| `inputLinkUrlPlacholder` | `string` | `'https://www.example.com'` | Placeholder untuk input URL |
|
|
68
70
|
| `saveLinkButtonText` | `string` | `'Simpan'` | Text tombol simpan link |
|
|
69
71
|
| `cancelLinkButtonText` | `string` | `'Batal'` | Text tombol batal link |
|
|
72
|
+
| `testID` | `string` | - | ID untuk automation testing (Maestro/Detox/Appium). Diterapkan ke elemen akar, dan menurunkan satu id per tombol toolbar (`-bold`, `-italic`, `-underline`, `-strikeThrough`, `-link`, `-insertUnorderedList`, `-insertOrderedList`, `-justifyLeft`, `-justifyCenter`, `-justifyRight`, `-h1`, `-h2`, `-h3`, `-removeFormat`, `-undo`, `-redo`). |
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## Toolbar
|
|
76
|
+
|
|
77
|
+
| Tombol | Perintah | Status aktif |
|
|
78
|
+
| ------ | -------- | ------------ |
|
|
79
|
+
| Bold, Italic, Underline, Strike | `execCommand` | `queryCommandState` |
|
|
80
|
+
| Bullet, Number, Left/Center/Right | `execCommand` | `queryCommandState` |
|
|
81
|
+
| H1, H2, H3 | `formatBlock` | `queryCommandValue('formatBlock')` |
|
|
82
|
+
| Clear format | `removeFormat`, lalu `formatBlock <p>` bila blok saat ini heading | tidak pernah menyala — ini aksi |
|
|
83
|
+
| Undo, Redo | `execCommand` | tidak pernah menyala — ini aksi |
|
|
84
|
+
| Link | membuka sheet | — |
|
|
85
|
+
|
|
86
|
+
H1/H2/H3 memakai label teks, bukan ikon, karena tidak ada ikon heading di
|
|
87
|
+
`Icon` — dan label teks memang lazim untuk heading di toolbar editor.
|
|
88
|
+
|
|
89
|
+
**Toolbar mengikuti kursor, bukan keyboard.** Toolbar dirender ke satu slot
|
|
90
|
+
`Footer` yang dipakai bersama seluruh layar, dan keyboard itu global. Kalau
|
|
91
|
+
gerbangnya hanya keyboard, setiap editor yang sedang ter-mount akan melukis
|
|
92
|
+
toolbar begitu field mana pun membuka keyboard — termasuk menimpa editor lain
|
|
93
|
+
yang justru meminta `showToolbar={false}`. Karena itu toolbar hanya muncul untuk
|
|
94
|
+
editor yang sedang memegang kursor: satu layar boleh berisi banyak editor, dan
|
|
95
|
+
hanya satu toolbar yang tampil.
|
|
96
|
+
|
|
97
|
+
**Catatan underline di dalam link.** Stylesheet editor menggarisbawahi setiap
|
|
98
|
+
`<a>`, dan `queryCommandState('underline')` tidak bisa membedakannya dari `<u>`
|
|
99
|
+
sungguhan. Karena itu saat kursor berada di dalam link, status underline
|
|
100
|
+
ditentukan dari ada-tidaknya leluhur `<u>` di DOM. Tanpa ini tombolnya menyala
|
|
101
|
+
begitu link disisipkan dan tidak pernah bisa dimatikan.
|
|
70
102
|
|
|
71
103
|
## Advanced Usage
|
|
72
104
|
|
|
@@ -158,6 +190,10 @@ Editor menyediakan toolbar dengan commands berikut:
|
|
|
158
190
|
- **Align Left** - Align teks ke kiri
|
|
159
191
|
- **Align Center** - Align teks ke tengah
|
|
160
192
|
- **Align Right** - Align teks ke kanan
|
|
193
|
+
- **H1 / H2 / H3** - Mengubah baris jadi heading (label teks, bukan ikon)
|
|
194
|
+
- **Clear format** - Membersihkan format inline, sekaligus mengembalikan
|
|
195
|
+
heading ke paragraf biasa
|
|
196
|
+
- **Undo / Redo** - Membatalkan atau mengulang perubahan terakhir
|
|
161
197
|
|
|
162
198
|
## Ref Methods
|
|
163
199
|
|
|
@@ -248,7 +284,9 @@ Component menggunakan styling internal yang sudah optimal. Jika perlu custom sty
|
|
|
248
284
|
|
|
249
285
|
**Problem:** Toolbar tidak tampil saat keyboard aktif
|
|
250
286
|
|
|
251
|
-
**Solution:**
|
|
287
|
+
**Solution:** Toolbar hanya muncul untuk editor yang sedang memegang kursor —
|
|
288
|
+
keyboard yang terbuka karena field lain tidak memunculkannya. Pastikan juga
|
|
289
|
+
component tidak di-wrap dengan View yang membatasi positioning absolute.
|
|
252
290
|
|
|
253
291
|
## Performance Tips
|
|
254
292
|
|
|
@@ -261,3 +299,15 @@ Component menggunakan styling internal yang sudah optimal. Jika perlu custom sty
|
|
|
261
299
|
|
|
262
300
|
- `react-native-webview` - WebView component
|
|
263
301
|
- Internal components: `BottomSheet`, `Button`, `Icon`, `Input`, `LabelForm`, `Typography`
|
|
302
|
+
|
|
303
|
+
**Catatan clear format pada heading.** `removeFormat` menurut spesifikasi hanya
|
|
304
|
+
membersihkan format *inline* — bold, italic, warna, font. Elemen blok seperti
|
|
305
|
+
`<h1>` tidak tersentuh sama sekali. Karena itu tombol Clear format menjalankan
|
|
306
|
+
`removeFormat` lalu, kalau blok saat ini heading, mengembalikannya ke `<p>`.
|
|
307
|
+
Blok lain (mis. daftar) sengaja tidak diutak-atik.
|
|
308
|
+
|
|
309
|
+
Eksekusi perintah tinggal di satu tempat (`rnkitRunCommand` di
|
|
310
|
+
`formatState.ts`) dan dipanggil kedua platform — iOS lewat injeksi, Android
|
|
311
|
+
lewat message handler. Sebelumnya keduanya ditulis terpisah, dan justru dari
|
|
312
|
+
situ dua bug lahir: iOS tidak menyegarkan status setelah perintah, dan heading
|
|
313
|
+
dipetakan di dua tempat berbeda.
|