Files
hipmi-mobile/components/index.ts
bagasbanuna 1a5ca78041 feat: Complete OS_Wrapper implementation with keyboard handling and PADDING_INLINE
OS_Wrapper System:
- Simplify API: Remove PageWrapper, merge keyboard props into OS_Wrapper
- Add auto-scroll when keyboard appears (Android only)
- Add tap-to-dismiss keyboard for both Static and List modes
- Fix contentPaddingBottom default to 250px (prevent keyboard overlap)
- Change default contentPadding to 0 (per-screen control)
- Remove Platform.OS checks from IOSWrapper and AndroidWrapper

Constants:
- Add PADDING_INLINE constant (16px) for consistent inline padding
- Add OS_PADDING_TOP constants for tab layouts

Job Screens Migration (9 files):
- Apply PADDING_INLINE to all Job screens:
  - ScreenBeranda, ScreenBeranda2
  - ScreenArchive, ScreenArchive2
  - MainViewStatus, MainViewStatus2
  - ScreenJobCreate, ScreenJobEdit
  - Job detail screen

Keyboard Handling:
- Simplified useKeyboardForm hook
- Auto-scroll by keyboard height when keyboard appears
- Track scroll position for accurate scroll targets
- TouchableWithoutFeedback wraps all content for tap-to-dismiss

Documentation:
- Update TASK-005 with Phase 1 completion status
- Update Quick Reference with unified API examples

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-07 17:50:15 +08:00

155 lines
4.1 KiB
TypeScript

// Alert
import AlertCustom from "./Alert/AlertCustom";
import AlertDefaultSystem from "./Alert/AlertDefaultSystem";
// ActionIcon
import ActionIcon from "./ActionIcon/ActionIcon";
// Button
import LeftButtonCustom from "./Button/BackButton";
import ButtonCenteredOnly from "./Button/ButtonCenteredOnly";
import ButtonCustom from "./Button/ButtonCustom";
import DotButton from "./Button/DotButton";
import FloatingButton from "./Button/FloatingButton";
// Badge
import BadgeCustom from "./Badge/BadgeCustom";
// Container
import CircleContainer from "./Container/CircleContainer";
// Checkbox
import CheckboxCustom from "./Checkbox/CheckboxCustom";
import CheckboxGroup from "./Checkbox/CheckboxGroup";
// Drawer
import DrawerCustom from "./Drawer/DrawerCustom";
import MenuDrawerDynamicGrid from "./Drawer/MenuDrawerDynamicGird";
// Text
import TextCustom from "./Text/TextCustom";
// TextInput
import TextInputCustom from "./TextInput/TextInputCustom";
// TextArea
import TextAreaCustom from "./TextArea/TextAreaCustom";
// Grid
import Grid from "./Grid/GridCustom";
// Box
import BaseBox from "./Box/BaseBox";
import BoxButtonOnFooter from "./Box/BoxButtonOnFooter";
import BoxWithHeaderSection from "./Box/BoxWithHeaderInformation";
import InformationBox from "./Box/InformationBox";
// Stack
import StackCustom from "./Stack/StackCustom";
// Select
import SelectCustom from "./Select/SelectCustom";
// Image
import AvatarCustom from "./Image/AvatarCustom";
import AvatarComp from "./Image/AvatarComp";
import LandscapeFrameUploaded from "./Image/LandscapeFrameUploaded";
// Divider
import Divider from "./Divider/Divider";
import DividerCustom from "./Divider/DividerCustom";
// Map
import MapCustom from "./Map/MapCustom";
// Center
import CenterCustom from "./Center/CenterCustom";
// Clickable
import ClickableCustom from "./Clickable/ClickableCustom";
// PhoneInput
import PhoneInputCustom from "./PhoneInput/PhoneInputCustom";
// Scroll
import ScrollableCustom from "./Scroll/ScrollCustom";
// ShareComponent
import AvatarUsernameAndOtherComponent from "./_ShareComponent/AvataraAndOtherHeaderComponent";
import Spacing from "./_ShareComponent/Spacing";
import TabBarBackground from "./_ShareComponent/TabBarBackground";
import ViewWrapper from "./_ShareComponent/ViewWrapper";
import SearchInput from "./_ShareComponent/SearchInput";
import DummyLandscapeImage from "./_ShareComponent/DummyLandscapeImage";
import GridComponentView from "./_ShareComponent/GridSectionView";
import NewWrapper from "./_ShareComponent/NewWrapper";
import BasicWrapper from "./_ShareComponent/BasicWrapper";
import { FormWrapper } from "./_ShareComponent/FormWrapper";
import { NewWrapper_V2 } from "./_ShareComponent/NewWrapper_V2";
// OS-Specific Wrappers
import OS_Wrapper, { IOSWrapper, AndroidWrapper } from "./_ShareComponent/OS_Wrapper";
// Progress
import ProgressCustom from "./Progress/ProgressCustom";
// Loader
import LoaderCustom from "./Loader/LoaderCustom";
export {
// ActionIcon
ActionIcon,
// Alert
AlertCustom,
AlertDefaultSystem,
// Image
AvatarCustom,
AvatarComp,
// ShareComponent
AvatarUsernameAndOtherComponent,
// Button
LeftButtonCustom as BackButton,
// Box
BaseBox,
BoxButtonOnFooter,
BoxWithHeaderSection,
ButtonCenteredOnly,
ButtonCustom,
DotButton,
// Badge
BadgeCustom,
// Center
CenterCustom,
// Checkbox
CheckboxCustom,
CheckboxGroup,
// Clickable
ClickableCustom,
// PhoneInput
PhoneInputCustom,
// Container
CircleContainer,
// Divider
Divider,
DividerCustom,
// Drawer
DrawerCustom,
FloatingButton,
// Grid
Grid,
InformationBox,
LandscapeFrameUploaded,
// Map
MapCustom,
MenuDrawerDynamicGrid,
// Progress
ProgressCustom,
// Scroll
ScrollableCustom,
// Select
SelectCustom,
// ShareComponent
SearchInput,
DummyLandscapeImage,
GridComponentView,
Spacing,
NewWrapper,
BasicWrapper,
FormWrapper,
NewWrapper_V2,
// OS-Specific Wrappers
OS_Wrapper,
IOSWrapper,
AndroidWrapper,
// Stack
StackCustom,
TabBarBackground,
// TextArea
TextAreaCustom,
// Text
TextCustom,
// TextInput
TextInputCustom,
// ViewWrapper
ViewWrapper,
// Loader
LoaderCustom,
};