@sincpro/mobile-ui 0.1.2 → 0.1.3
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/lib/Dialog/BottomSheet/BottomSheet.Root.d.ts +320 -0
- package/lib/Dialog/BottomSheet/BottomSheet.Root.js +380 -0
- package/lib/Dialog/BottomSheet/index.d.ts +1 -0
- package/lib/Dialog/BottomSheet/index.js +1 -0
- package/lib/Dialog/Confirmation.context.d.ts +21 -0
- package/lib/Dialog/Confirmation.context.js +67 -0
- package/lib/Dialog/Dialog.Confirmation.d.ts +12 -0
- package/lib/Dialog/Dialog.Confirmation.js +9 -0
- package/lib/Dialog/Dialog.EditValue.d.ts +25 -0
- package/lib/Dialog/Dialog.EditValue.js +16 -0
- package/lib/Dialog/index.d.ts +19 -0
- package/lib/Dialog/index.js +11 -0
- package/lib/Display/Display.Avatar.d.ts +52 -0
- package/lib/Display/Display.Avatar.js +40 -0
- package/lib/Display/Display.Badge.d.ts +108 -0
- package/lib/Display/Display.Badge.js +54 -0
- package/lib/Display/Display.CopyableText.d.ts +13 -0
- package/lib/Display/Display.CopyableText.js +14 -0
- package/lib/Display/Display.CountRecords.d.ts +8 -0
- package/lib/Display/Display.CountRecords.js +8 -0
- package/lib/Display/Display.Date.d.ts +18 -0
- package/lib/Display/Display.Date.js +14 -0
- package/lib/Display/Display.Divider.d.ts +44 -0
- package/lib/Display/Display.Divider.js +27 -0
- package/lib/Display/Display.Icon.d.ts +15 -0
- package/lib/Display/Display.Icon.js +35 -0
- package/lib/Display/Display.Logo.d.ts +55 -0
- package/lib/Display/Display.Logo.js +36 -0
- package/lib/Display/Display.MenuButton.d.ts +103 -0
- package/lib/Display/Display.MenuButton.js +50 -0
- package/lib/Display/Display.Monetary.d.ts +19 -0
- package/lib/Display/Display.Monetary.js +9 -0
- package/lib/Display/index.d.ts +22 -0
- package/lib/Display/index.js +25 -0
- package/lib/Feedback/ErrorBoundary.d.ts +18 -0
- package/lib/Feedback/ErrorBoundary.js +28 -0
- package/lib/Feedback/Feedback.DomainSplashScreen.d.ts +10 -0
- package/lib/Feedback/Feedback.DomainSplashScreen.js +67 -0
- package/lib/Feedback/Feedback.Empty.d.ts +6 -0
- package/lib/Feedback/Feedback.Empty.js +9 -0
- package/lib/Feedback/Feedback.Error.d.ts +9 -0
- package/lib/Feedback/Feedback.Error.js +10 -0
- package/lib/Feedback/Feedback.Loading.d.ts +8 -0
- package/lib/Feedback/Feedback.Loading.js +8 -0
- package/lib/Feedback/Feedback.Spinner.d.ts +11 -0
- package/lib/Feedback/Feedback.Spinner.js +8 -0
- package/lib/Feedback/Feedback.Splash.d.ts +11 -0
- package/lib/Feedback/Feedback.Splash.js +37 -0
- package/lib/Feedback/index.d.ts +13 -0
- package/lib/Feedback/index.js +14 -0
- package/lib/Form/Form.Button.d.ts +145 -0
- package/lib/Form/Form.Button.js +272 -0
- package/lib/Form/Form.Checkbox.d.ts +13 -0
- package/lib/Form/Form.Checkbox.js +30 -0
- package/lib/Form/Form.ControlledCheckbox.d.ts +9 -0
- package/lib/Form/Form.ControlledCheckbox.js +7 -0
- package/lib/Form/Form.ControlledDropdown.d.ts +14 -0
- package/lib/Form/Form.ControlledDropdown.js +4 -0
- package/lib/Form/Form.ControlledInput.d.ts +15 -0
- package/lib/Form/Form.ControlledInput.js +7 -0
- package/lib/Form/Form.ControlledMonetaryInput.d.ts +12 -0
- package/lib/Form/Form.ControlledMonetaryInput.js +7 -0
- package/lib/Form/Form.ControlledRadioButton.d.ts +9 -0
- package/lib/Form/Form.ControlledRadioButton.js +7 -0
- package/lib/Form/Form.Dropdown.d.ts +14 -0
- package/lib/Form/Form.Dropdown.js +85 -0
- package/lib/Form/Form.FilterButton.d.ts +12 -0
- package/lib/Form/Form.FilterButton.js +34 -0
- package/lib/Form/Form.FractionalQuantityInput.d.ts +13 -0
- package/lib/Form/Form.FractionalQuantityInput.js +118 -0
- package/lib/Form/Form.IconButton.d.ts +67 -0
- package/lib/Form/Form.IconButton.js +64 -0
- package/lib/Form/Form.Input.d.ts +9 -0
- package/lib/Form/Form.Input.js +38 -0
- package/lib/Form/Form.InputField.d.ts +10 -0
- package/lib/Form/Form.InputField.js +38 -0
- package/lib/Form/Form.MonetaryInput.d.ts +8 -0
- package/lib/Form/Form.MonetaryInput.js +27 -0
- package/lib/Form/Form.PasswordInput.d.ts +9 -0
- package/lib/Form/Form.PasswordInput.js +15 -0
- package/lib/Form/Form.QuantitySelector.d.ts +10 -0
- package/lib/Form/Form.QuantitySelector.js +36 -0
- package/lib/Form/Form.RadioButton.d.ts +7 -0
- package/lib/Form/Form.RadioButton.js +31 -0
- package/lib/Form/Form.SearchBar.d.ts +8 -0
- package/lib/Form/Form.SearchBar.js +22 -0
- package/lib/Form/Form.TextInput.d.ts +8 -0
- package/lib/Form/Form.TextInput.js +8 -0
- package/lib/Form/index.d.ts +41 -0
- package/lib/Form/index.js +42 -0
- package/lib/Navigation/Navigation.Header.d.ts +10 -0
- package/lib/Navigation/Navigation.Header.js +12 -0
- package/lib/Navigation/Navigation.HeaderToolbar.d.ts +15 -0
- package/lib/Navigation/Navigation.HeaderToolbar.js +18 -0
- package/lib/Navigation/Navigation.RowItem.d.ts +5 -0
- package/lib/Navigation/Navigation.RowItem.js +11 -0
- package/lib/Navigation/Navigation.TabIcon.d.ts +14 -0
- package/lib/Navigation/Navigation.TabIcon.js +9 -0
- package/lib/Navigation/Navigation.TabItem.d.ts +14 -0
- package/lib/Navigation/Navigation.TabItem.js +8 -0
- package/lib/Navigation/index.d.ts +11 -0
- package/lib/Navigation/index.js +13 -0
- package/lib/Typography/Typography.Heading.d.ts +12 -0
- package/lib/Typography/Typography.Heading.js +6 -0
- package/lib/Typography/Typography.Text.d.ts +27 -0
- package/lib/Typography/Typography.Text.js +21 -0
- package/lib/Typography/index.d.ts +7 -0
- package/lib/Typography/index.js +8 -0
- package/lib/icons/AddItemIcon.d.ts +4 -0
- package/lib/icons/AddItemIcon.js +4 -0
- package/lib/icons/ArrangeCircle.d.ts +4 -0
- package/lib/icons/ArrangeCircle.js +4 -0
- package/lib/icons/ArrowDownIcon.d.ts +3 -0
- package/lib/icons/ArrowDownIcon.js +6 -0
- package/lib/icons/ArrowUpIcon.d.ts +3 -0
- package/lib/icons/ArrowUpIcon.js +6 -0
- package/lib/icons/BoxIcon.d.ts +4 -0
- package/lib/icons/BoxIcon.js +4 -0
- package/lib/icons/BoxTimeIcon.d.ts +4 -0
- package/lib/icons/BoxTimeIcon.js +4 -0
- package/lib/icons/CalendarIcon.d.ts +4 -0
- package/lib/icons/CalendarIcon.js +4 -0
- package/lib/icons/CardIcon.d.ts +4 -0
- package/lib/icons/CardIcon.js +4 -0
- package/lib/icons/CashierIcon.d.ts +4 -0
- package/lib/icons/CashierIcon.js +4 -0
- package/lib/icons/CreditIcon.d.ts +7 -0
- package/lib/icons/CreditIcon.js +6 -0
- package/lib/icons/DuoIcon.d.ts +4 -0
- package/lib/icons/DuoIcon.js +4 -0
- package/lib/icons/HomeIcon.d.ts +4 -0
- package/lib/icons/HomeIcon.js +4 -0
- package/lib/icons/HomeIconOutlined.d.ts +4 -0
- package/lib/icons/HomeIconOutlined.js +4 -0
- package/lib/icons/LogoIcon.d.ts +4 -0
- package/lib/icons/LogoIcon.js +4 -0
- package/lib/icons/MoneyReceiveIcon.d.ts +4 -0
- package/lib/icons/MoneyReceiveIcon.js +4 -0
- package/lib/icons/OdooIcon.d.ts +6 -0
- package/lib/icons/OdooIcon.js +6 -0
- package/lib/icons/PinIcon.d.ts +4 -0
- package/lib/icons/PinIcon.js +4 -0
- package/lib/icons/PrinterIcon.d.ts +4 -0
- package/lib/icons/PrinterIcon.js +4 -0
- package/lib/icons/ProfileIcon.d.ts +4 -0
- package/lib/icons/ProfileIcon.js +4 -0
- package/lib/icons/SettingsIcon.d.ts +4 -0
- package/lib/icons/SettingsIcon.js +4 -0
- package/lib/icons/SinpeIcon.d.ts +4 -0
- package/lib/icons/SinpeIcon.js +4 -0
- package/lib/icons/ToggleOffIcon.d.ts +4 -0
- package/lib/icons/ToggleOffIcon.js +4 -0
- package/lib/icons/WalletMoneyIcon.d.ts +4 -0
- package/lib/icons/WalletMoneyIcon.js +4 -0
- package/lib/icons/icon_getters.d.ts +6 -0
- package/lib/icons/icon_getters.js +23 -0
- package/lib/icons/props.d.ts +4 -0
- package/lib/icons/props.js +1 -0
- package/lib/index.d.ts +20 -0
- package/lib/index.js +26 -0
- package/lib/layouts/AuthContainer.d.ts +9 -0
- package/lib/layouts/AuthContainer.js +13 -0
- package/lib/layouts/Container.d.ts +14 -0
- package/lib/layouts/Container.js +9 -0
- package/lib/layouts/GradientContainer.d.ts +8 -0
- package/lib/layouts/GradientContainer.js +8 -0
- package/lib/layouts/PlainLayout.d.ts +6 -0
- package/lib/layouts/PlainLayout.js +8 -0
- package/lib/layouts/ScrollContainer.d.ts +8 -0
- package/lib/layouts/ScrollContainer.js +8 -0
- package/lib/layouts/TabNavigatorLayout.d.ts +26 -0
- package/lib/layouts/TabNavigatorLayout.js +56 -0
- package/lib/notifications/index.d.ts +1 -0
- package/lib/notifications/index.js +1 -0
- package/lib/primitives/BaseButton.d.ts +146 -0
- package/lib/primitives/BaseButton.js +233 -0
- package/lib/primitives/Box.d.ts +7 -0
- package/lib/primitives/Box.js +8 -0
- package/lib/primitives/Row.d.ts +11 -0
- package/lib/primitives/Row.js +22 -0
- package/lib/primitives/Stack.d.ts +9 -0
- package/lib/primitives/Stack.js +14 -0
- package/lib/primitives/index.d.ts +3 -0
- package/lib/primitives/index.js +3 -0
- package/lib/providers/index.d.ts +0 -0
- package/lib/providers/index.js +2 -0
- package/lib/theme/active.d.ts +3 -0
- package/lib/theme/active.js +8 -0
- package/lib/theme/components/ThemedActivityIndicator.d.ts +21 -0
- package/lib/theme/components/ThemedActivityIndicator.js +5 -0
- package/lib/theme/components/index.d.ts +9 -0
- package/lib/theme/components/index.js +9 -0
- package/lib/theme/default.d.ts +2 -0
- package/lib/theme/default.js +79 -0
- package/lib/theme/index.d.ts +4 -0
- package/lib/theme/index.js +3 -0
- package/lib/theme/theme.d.ts +13 -0
- package/lib/theme/theme.js +14 -0
- package/lib/theme/tw.d.ts +10 -0
- package/lib/theme/tw.js +14 -0
- package/lib/theme/types.d.ts +92 -0
- package/lib/theme/types.js +9 -0
- package/lib/theme/typography.d.ts +376 -0
- package/lib/theme/typography.js +234 -0
- package/lib/theme/useTheme.d.ts +1 -0
- package/lib/theme/useTheme.js +2 -0
- package/lib/utils/date.d.ts +70 -0
- package/lib/utils/date.js +126 -0
- package/lib/utils/icon.d.ts +1 -0
- package/lib/utils/icon.js +1 -0
- package/lib/utils/monetary.d.ts +3 -0
- package/lib/utils/monetary.js +31 -0
- package/lib/utils/quantity.d.ts +11 -0
- package/lib/utils/quantity.js +44 -0
- package/lib/utils/serializer.d.ts +2 -0
- package/lib/utils/serializer.js +44 -0
- package/lib/utils/timezone.d.ts +4 -0
- package/lib/utils/timezone.js +1 -0
- package/lib/views/AuthFormView.d.ts +9 -0
- package/lib/views/AuthFormView.js +21 -0
- package/lib/views/FormViewV2.context.d.ts +32 -0
- package/lib/views/FormViewV2.context.js +28 -0
- package/lib/views/FormViewV2.d.ts +60 -0
- package/lib/views/FormViewV2.js +85 -0
- package/lib/views/ListViewV2.context.d.ts +36 -0
- package/lib/views/ListViewV2.context.js +30 -0
- package/lib/views/ListViewV2.d.ts +131 -0
- package/lib/views/ListViewV2.js +206 -0
- package/lib/views/Wizard/Wizard.context.d.ts +26 -0
- package/lib/views/Wizard/Wizard.context.js +92 -0
- package/lib/views/Wizard/Wizard.d.ts +33 -0
- package/lib/views/Wizard/Wizard.js +86 -0
- package/lib/views/Wizard/index.d.ts +4 -0
- package/lib/views/Wizard/index.js +2 -0
- package/lib/views/types/IFormView.d.ts +22 -0
- package/lib/views/types/IFormView.js +1 -0
- package/lib/views/types/IListView.d.ts +34 -0
- package/lib/views/types/IListView.js +35 -0
- package/lib/views/types/UIItem.d.ts +21 -0
- package/lib/views/types/UIItem.js +1 -0
- package/lib/widgets/CircleButton.d.ts +15 -0
- package/lib/widgets/CircleButton.js +37 -0
- package/lib/widgets/GeoPermissionCard.d.ts +8 -0
- package/lib/widgets/GeoPermissionCard.js +19 -0
- package/lib/widgets/HomeHeader.d.ts +9 -0
- package/lib/widgets/HomeHeader.js +9 -0
- package/lib/widgets/JSONViewer.d.ts +4 -0
- package/lib/widgets/JSONViewer.js +146 -0
- package/lib/widgets/MenuCard.d.ts +13 -0
- package/lib/widgets/MenuCard.js +8 -0
- package/lib/widgets/MenuGrid.d.ts +17 -0
- package/lib/widgets/MenuGrid.js +6 -0
- package/lib/widgets/ScreenHeader.d.ts +19 -0
- package/lib/widgets/ScreenHeader.js +21 -0
- package/lib/widgets/TimeZoneSelector.d.ts +7 -0
- package/lib/widgets/TimeZoneSelector.js +19 -0
- package/lib/widgets/TimeZoneSelectorModal.d.ts +9 -0
- package/lib/widgets/TimeZoneSelectorModal.js +57 -0
- package/lib/widgets/index.d.ts +7 -0
- package/lib/widgets/index.js +6 -0
- package/package.json +22 -211
- package/lib/module/Dialog/BottomSheet/BottomSheet.Root.js +0 -481
- package/lib/module/Dialog/BottomSheet/BottomSheet.Root.js.map +0 -1
- package/lib/module/Dialog/BottomSheet/index.js +0 -4
- package/lib/module/Dialog/BottomSheet/index.js.map +0 -1
- package/lib/module/Dialog/Confirmation.context.js +0 -108
- package/lib/module/Dialog/Confirmation.context.js.map +0 -1
- package/lib/module/Dialog/Dialog.Confirmation.js +0 -69
- package/lib/module/Dialog/Dialog.Confirmation.js.map +0 -1
- package/lib/module/Dialog/Dialog.EditValue.js +0 -115
- package/lib/module/Dialog/Dialog.EditValue.js.map +0 -1
- package/lib/module/Dialog/index.js +0 -14
- package/lib/module/Dialog/index.js.map +0 -1
- package/lib/module/Display/Display.Avatar.js +0 -58
- package/lib/module/Display/Display.Avatar.js.map +0 -1
- package/lib/module/Display/Display.Badge.js +0 -72
- package/lib/module/Display/Display.Badge.js.map +0 -1
- package/lib/module/Display/Display.CopyableText.js +0 -30
- package/lib/module/Display/Display.CopyableText.js.map +0 -1
- package/lib/module/Display/Display.CountRecords.js +0 -27
- package/lib/module/Display/Display.CountRecords.js.map +0 -1
- package/lib/module/Display/Display.Date.js +0 -35
- package/lib/module/Display/Display.Date.js.map +0 -1
- package/lib/module/Display/Display.Divider.js +0 -43
- package/lib/module/Display/Display.Divider.js.map +0 -1
- package/lib/module/Display/Display.Icon.js +0 -83
- package/lib/module/Display/Display.Icon.js.map +0 -1
- package/lib/module/Display/Display.Logo.js +0 -54
- package/lib/module/Display/Display.Logo.js.map +0 -1
- package/lib/module/Display/Display.MenuButton.js +0 -101
- package/lib/module/Display/Display.MenuButton.js.map +0 -1
- package/lib/module/Display/Display.Monetary.js +0 -36
- package/lib/module/Display/Display.Monetary.js.map +0 -1
- package/lib/module/Display/index.js +0 -28
- package/lib/module/Display/index.js.map +0 -1
- package/lib/module/Feedback/ErrorBoundary.js +0 -43
- package/lib/module/Feedback/ErrorBoundary.js.map +0 -1
- package/lib/module/Feedback/Feedback.DomainSplashScreen.js +0 -101
- package/lib/module/Feedback/Feedback.DomainSplashScreen.js.map +0 -1
- package/lib/module/Feedback/Feedback.Empty.js +0 -31
- package/lib/module/Feedback/Feedback.Empty.js.map +0 -1
- package/lib/module/Feedback/Feedback.Error.js +0 -53
- package/lib/module/Feedback/Feedback.Error.js.map +0 -1
- package/lib/module/Feedback/Feedback.Loading.js +0 -24
- package/lib/module/Feedback/Feedback.Loading.js.map +0 -1
- package/lib/module/Feedback/Feedback.Spinner.js +0 -28
- package/lib/module/Feedback/Feedback.Spinner.js.map +0 -1
- package/lib/module/Feedback/Feedback.Splash.js +0 -59
- package/lib/module/Feedback/Feedback.Splash.js.map +0 -1
- package/lib/module/Feedback/index.js +0 -17
- package/lib/module/Feedback/index.js.map +0 -1
- package/lib/module/Form/Form.Button.js +0 -442
- package/lib/module/Form/Form.Button.js.map +0 -1
- package/lib/module/Form/Form.Checkbox.js +0 -71
- package/lib/module/Form/Form.Checkbox.js.map +0 -1
- package/lib/module/Form/Form.ControlledCheckbox.js +0 -29
- package/lib/module/Form/Form.ControlledCheckbox.js.map +0 -1
- package/lib/module/Form/Form.ControlledDropdown.js +0 -7
- package/lib/module/Form/Form.ControlledDropdown.js.map +0 -1
- package/lib/module/Form/Form.ControlledInput.js +0 -43
- package/lib/module/Form/Form.ControlledInput.js.map +0 -1
- package/lib/module/Form/Form.ControlledMonetaryInput.js +0 -34
- package/lib/module/Form/Form.ControlledMonetaryInput.js.map +0 -1
- package/lib/module/Form/Form.ControlledRadioButton.js +0 -28
- package/lib/module/Form/Form.ControlledRadioButton.js.map +0 -1
- package/lib/module/Form/Form.Dropdown.js +0 -163
- package/lib/module/Form/Form.Dropdown.js.map +0 -1
- package/lib/module/Form/Form.FilterButton.js +0 -59
- package/lib/module/Form/Form.FilterButton.js.map +0 -1
- package/lib/module/Form/Form.FractionalQuantityInput.js +0 -166
- package/lib/module/Form/Form.FractionalQuantityInput.js.map +0 -1
- package/lib/module/Form/Form.IconButton.js +0 -97
- package/lib/module/Form/Form.IconButton.js.map +0 -1
- package/lib/module/Form/Form.Input.js +0 -77
- package/lib/module/Form/Form.Input.js.map +0 -1
- package/lib/module/Form/Form.InputField.js +0 -63
- package/lib/module/Form/Form.InputField.js.map +0 -1
- package/lib/module/Form/Form.MonetaryInput.js +0 -65
- package/lib/module/Form/Form.MonetaryInput.js.map +0 -1
- package/lib/module/Form/Form.PasswordInput.js +0 -37
- package/lib/module/Form/Form.PasswordInput.js.map +0 -1
- package/lib/module/Form/Form.QuantitySelector.js +0 -78
- package/lib/module/Form/Form.QuantitySelector.js.map +0 -1
- package/lib/module/Form/Form.RadioButton.js +0 -56
- package/lib/module/Form/Form.RadioButton.js.map +0 -1
- package/lib/module/Form/Form.SearchBar.js +0 -63
- package/lib/module/Form/Form.SearchBar.js.map +0 -1
- package/lib/module/Form/Form.TextInput.js +0 -19
- package/lib/module/Form/Form.TextInput.js.map +0 -1
- package/lib/module/Form/index.js +0 -45
- package/lib/module/Form/index.js.map +0 -1
- package/lib/module/Navigation/Navigation.Header.js +0 -46
- package/lib/module/Navigation/Navigation.Header.js.map +0 -1
- package/lib/module/Navigation/Navigation.HeaderToolbar.js +0 -79
- package/lib/module/Navigation/Navigation.HeaderToolbar.js.map +0 -1
- package/lib/module/Navigation/Navigation.RowItem.js +0 -35
- package/lib/module/Navigation/Navigation.RowItem.js.map +0 -1
- package/lib/module/Navigation/Navigation.TabIcon.js +0 -28
- package/lib/module/Navigation/Navigation.TabIcon.js.map +0 -1
- package/lib/module/Navigation/Navigation.TabItem.js +0 -27
- package/lib/module/Navigation/Navigation.TabItem.js.map +0 -1
- package/lib/module/Navigation/index.js +0 -16
- package/lib/module/Navigation/index.js.map +0 -1
- package/lib/module/Typography/Typography.Heading.js +0 -15
- package/lib/module/Typography/Typography.Heading.js.map +0 -1
- package/lib/module/Typography/Typography.Text.js +0 -51
- package/lib/module/Typography/Typography.Text.js.map +0 -1
- package/lib/module/Typography/index.js +0 -11
- package/lib/module/Typography/index.js.map +0 -1
- package/lib/module/icons/AddItemIcon.js +0 -53
- package/lib/module/icons/AddItemIcon.js.map +0 -1
- package/lib/module/icons/ArrangeCircle.js +0 -50
- package/lib/module/icons/ArrangeCircle.js.map +0 -1
- package/lib/module/icons/ArrowDownIcon.js +0 -37
- package/lib/module/icons/ArrowDownIcon.js.map +0 -1
- package/lib/module/icons/ArrowUpIcon.js +0 -37
- package/lib/module/icons/ArrowUpIcon.js.map +0 -1
- package/lib/module/icons/BoxIcon.js +0 -35
- package/lib/module/icons/BoxIcon.js.map +0 -1
- package/lib/module/icons/BoxTimeIcon.js +0 -29
- package/lib/module/icons/BoxTimeIcon.js.map +0 -1
- package/lib/module/icons/CalendarIcon.js +0 -81
- package/lib/module/icons/CalendarIcon.js.map +0 -1
- package/lib/module/icons/CardIcon.js +0 -46
- package/lib/module/icons/CardIcon.js.map +0 -1
- package/lib/module/icons/CashierIcon.js +0 -20
- package/lib/module/icons/CashierIcon.js.map +0 -1
- package/lib/module/icons/CreditIcon.js +0 -43
- package/lib/module/icons/CreditIcon.js.map +0 -1
- package/lib/module/icons/DuoIcon.js +0 -41
- package/lib/module/icons/DuoIcon.js.map +0 -1
- package/lib/module/icons/HomeIcon.js +0 -20
- package/lib/module/icons/HomeIcon.js.map +0 -1
- package/lib/module/icons/HomeIconOutlined.js +0 -29
- package/lib/module/icons/HomeIconOutlined.js.map +0 -1
- package/lib/module/icons/LogoIcon.js +0 -38
- package/lib/module/icons/LogoIcon.js.map +0 -1
- package/lib/module/icons/MoneyReceiveIcon.js +0 -47
- package/lib/module/icons/MoneyReceiveIcon.js.map +0 -1
- package/lib/module/icons/OdooIcon.js +0 -24
- package/lib/module/icons/OdooIcon.js.map +0 -1
- package/lib/module/icons/PinIcon.js +0 -20
- package/lib/module/icons/PinIcon.js.map +0 -1
- package/lib/module/icons/PrinterIcon.js +0 -48
- package/lib/module/icons/PrinterIcon.js.map +0 -1
- package/lib/module/icons/ProfileIcon.js +0 -23
- package/lib/module/icons/ProfileIcon.js.map +0 -1
- package/lib/module/icons/SettingsIcon.js +0 -65
- package/lib/module/icons/SettingsIcon.js.map +0 -1
- package/lib/module/icons/SinpeIcon.js +0 -37
- package/lib/module/icons/SinpeIcon.js.map +0 -1
- package/lib/module/icons/ToggleOffIcon.js +0 -29
- package/lib/module/icons/ToggleOffIcon.js.map +0 -1
- package/lib/module/icons/WalletMoneyIcon.js +0 -42
- package/lib/module/icons/WalletMoneyIcon.js.map +0 -1
- package/lib/module/icons/icon_getters.js +0 -53
- package/lib/module/icons/icon_getters.js.map +0 -1
- package/lib/module/icons/props.js +0 -2
- package/lib/module/icons/props.js.map +0 -1
- package/lib/module/index.js +0 -34
- package/lib/module/index.js.map +0 -1
- package/lib/module/layouts/AuthContainer.js +0 -66
- package/lib/module/layouts/AuthContainer.js.map +0 -1
- package/lib/module/layouts/Container.js +0 -31
- package/lib/module/layouts/Container.js.map +0 -1
- package/lib/module/layouts/GradientContainer.js +0 -20
- package/lib/module/layouts/GradientContainer.js.map +0 -1
- package/lib/module/layouts/PlainLayout.js +0 -16
- package/lib/module/layouts/PlainLayout.js.map +0 -1
- package/lib/module/layouts/ScrollContainer.js +0 -37
- package/lib/module/layouts/ScrollContainer.js.map +0 -1
- package/lib/module/layouts/TabNavigatorLayout.js +0 -132
- package/lib/module/layouts/TabNavigatorLayout.js.map +0 -1
- package/lib/module/lib/date.js +0 -127
- package/lib/module/lib/date.js.map +0 -1
- package/lib/module/lib/icon.js +0 -2
- package/lib/module/lib/icon.js.map +0 -1
- package/lib/module/lib/monetary.js +0 -31
- package/lib/module/lib/monetary.js.map +0 -1
- package/lib/module/lib/quantity.js +0 -46
- package/lib/module/lib/quantity.js.map +0 -1
- package/lib/module/lib/serializer.js +0 -47
- package/lib/module/lib/serializer.js.map +0 -1
- package/lib/module/lib/timezone.js +0 -2
- package/lib/module/lib/timezone.js.map +0 -1
- package/lib/module/nativewind-env.d.js +0 -3
- package/lib/module/nativewind-env.d.js.map +0 -1
- package/lib/module/notifications/index.js +0 -5
- package/lib/module/notifications/index.js.map +0 -1
- package/lib/module/package.json +0 -1
- package/lib/module/primitives/BaseButton.js +0 -391
- package/lib/module/primitives/BaseButton.js.map +0 -1
- package/lib/module/primitives/Box.js +0 -19
- package/lib/module/primitives/Box.js.map +0 -1
- package/lib/module/primitives/Row.js +0 -37
- package/lib/module/primitives/Row.js.map +0 -1
- package/lib/module/primitives/Stack.js +0 -27
- package/lib/module/primitives/Stack.js.map +0 -1
- package/lib/module/primitives/index.js +0 -6
- package/lib/module/primitives/index.js.map +0 -1
- package/lib/module/providers/index.js +0 -3
- package/lib/module/providers/index.js.map +0 -1
- package/lib/module/theme/active.js +0 -13
- package/lib/module/theme/active.js.map +0 -1
- package/lib/module/theme/components/ThemedActivityIndicator.js +0 -30
- package/lib/module/theme/components/ThemedActivityIndicator.js.map +0 -1
- package/lib/module/theme/components/index.js +0 -13
- package/lib/module/theme/components/index.js.map +0 -1
- package/lib/module/theme/default.js +0 -91
- package/lib/module/theme/default.js.map +0 -1
- package/lib/module/theme/globals.css +0 -67
- package/lib/module/theme/index.js +0 -6
- package/lib/module/theme/index.js.map +0 -1
- package/lib/module/theme/theme.js +0 -18
- package/lib/module/theme/theme.js.map +0 -1
- package/lib/module/theme/tw.js +0 -19
- package/lib/module/theme/tw.js.map +0 -1
- package/lib/module/theme/types.js +0 -2
- package/lib/module/theme/types.js.map +0 -1
- package/lib/module/theme/typography.js +0 -246
- package/lib/module/theme/typography.js.map +0 -1
- package/lib/module/theme/useTheme.js +0 -5
- package/lib/module/theme/useTheme.js.map +0 -1
- package/lib/module/views/AuthFormView.js +0 -46
- package/lib/module/views/AuthFormView.js.map +0 -1
- package/lib/module/views/FormViewV2.context.js +0 -47
- package/lib/module/views/FormViewV2.context.js.map +0 -1
- package/lib/module/views/FormViewV2.js +0 -220
- package/lib/module/views/FormViewV2.js.map +0 -1
- package/lib/module/views/ListViewV2.context.js +0 -51
- package/lib/module/views/ListViewV2.context.js.map +0 -1
- package/lib/module/views/ListViewV2.js +0 -503
- package/lib/module/views/ListViewV2.js.map +0 -1
- package/lib/module/views/Wizard/Wizard.context.js +0 -111
- package/lib/module/views/Wizard/Wizard.context.js.map +0 -1
- package/lib/module/views/Wizard/Wizard.js +0 -125
- package/lib/module/views/Wizard/Wizard.js.map +0 -1
- package/lib/module/views/Wizard/index.js +0 -5
- package/lib/module/views/Wizard/index.js.map +0 -1
- package/lib/module/views/types/IFormView.js +0 -4
- package/lib/module/views/types/IFormView.js.map +0 -1
- package/lib/module/views/types/IListView.js +0 -40
- package/lib/module/views/types/IListView.js.map +0 -1
- package/lib/module/views/types/UIItem.js +0 -2
- package/lib/module/views/types/UIItem.js.map +0 -1
- package/lib/module/widgets/CircleButton.js +0 -70
- package/lib/module/widgets/CircleButton.js.map +0 -1
- package/lib/module/widgets/GeoPermissionCard.js +0 -55
- package/lib/module/widgets/GeoPermissionCard.js.map +0 -1
- package/lib/module/widgets/HomeHeader.js +0 -42
- package/lib/module/widgets/HomeHeader.js.map +0 -1
- package/lib/module/widgets/JSONViewer.js +0 -196
- package/lib/module/widgets/JSONViewer.js.map +0 -1
- package/lib/module/widgets/MenuCard.js +0 -32
- package/lib/module/widgets/MenuCard.js.map +0 -1
- package/lib/module/widgets/MenuGrid.js +0 -20
- package/lib/module/widgets/MenuGrid.js.map +0 -1
- package/lib/module/widgets/ScreenHeader.js +0 -63
- package/lib/module/widgets/ScreenHeader.js.map +0 -1
- package/lib/module/widgets/TimeZoneSelector.js +0 -73
- package/lib/module/widgets/TimeZoneSelector.js.map +0 -1
- package/lib/module/widgets/TimeZoneSelectorModal.js +0 -187
- package/lib/module/widgets/TimeZoneSelectorModal.js.map +0 -1
- package/lib/module/widgets/index.js +0 -9
- package/lib/module/widgets/index.js.map +0 -1
- package/lib/typescript/Dialog/BottomSheet/BottomSheet.Root.d.ts +0 -321
- package/lib/typescript/Dialog/BottomSheet/BottomSheet.Root.d.ts.map +0 -1
- package/lib/typescript/Dialog/BottomSheet/index.d.ts +0 -2
- package/lib/typescript/Dialog/BottomSheet/index.d.ts.map +0 -1
- package/lib/typescript/Dialog/Confirmation.context.d.ts +0 -22
- package/lib/typescript/Dialog/Confirmation.context.d.ts.map +0 -1
- package/lib/typescript/Dialog/Dialog.Confirmation.d.ts +0 -13
- package/lib/typescript/Dialog/Dialog.Confirmation.d.ts.map +0 -1
- package/lib/typescript/Dialog/Dialog.EditValue.d.ts +0 -26
- package/lib/typescript/Dialog/Dialog.EditValue.d.ts.map +0 -1
- package/lib/typescript/Dialog/index.d.ts +0 -20
- package/lib/typescript/Dialog/index.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Avatar.d.ts +0 -53
- package/lib/typescript/Display/Display.Avatar.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Badge.d.ts +0 -109
- package/lib/typescript/Display/Display.Badge.d.ts.map +0 -1
- package/lib/typescript/Display/Display.CopyableText.d.ts +0 -14
- package/lib/typescript/Display/Display.CopyableText.d.ts.map +0 -1
- package/lib/typescript/Display/Display.CountRecords.d.ts +0 -9
- package/lib/typescript/Display/Display.CountRecords.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Date.d.ts +0 -19
- package/lib/typescript/Display/Display.Date.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Divider.d.ts +0 -45
- package/lib/typescript/Display/Display.Divider.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Icon.d.ts +0 -16
- package/lib/typescript/Display/Display.Icon.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Logo.d.ts +0 -56
- package/lib/typescript/Display/Display.Logo.d.ts.map +0 -1
- package/lib/typescript/Display/Display.MenuButton.d.ts +0 -104
- package/lib/typescript/Display/Display.MenuButton.d.ts.map +0 -1
- package/lib/typescript/Display/Display.Monetary.d.ts +0 -20
- package/lib/typescript/Display/Display.Monetary.d.ts.map +0 -1
- package/lib/typescript/Display/index.d.ts +0 -23
- package/lib/typescript/Display/index.d.ts.map +0 -1
- package/lib/typescript/Feedback/ErrorBoundary.d.ts +0 -19
- package/lib/typescript/Feedback/ErrorBoundary.d.ts.map +0 -1
- package/lib/typescript/Feedback/Feedback.DomainSplashScreen.d.ts +0 -12
- package/lib/typescript/Feedback/Feedback.DomainSplashScreen.d.ts.map +0 -1
- package/lib/typescript/Feedback/Feedback.Empty.d.ts +0 -7
- package/lib/typescript/Feedback/Feedback.Empty.d.ts.map +0 -1
- package/lib/typescript/Feedback/Feedback.Error.d.ts +0 -10
- package/lib/typescript/Feedback/Feedback.Error.d.ts.map +0 -1
- package/lib/typescript/Feedback/Feedback.Loading.d.ts +0 -10
- package/lib/typescript/Feedback/Feedback.Loading.d.ts.map +0 -1
- package/lib/typescript/Feedback/Feedback.Spinner.d.ts +0 -12
- package/lib/typescript/Feedback/Feedback.Spinner.d.ts.map +0 -1
- package/lib/typescript/Feedback/Feedback.Splash.d.ts +0 -12
- package/lib/typescript/Feedback/Feedback.Splash.d.ts.map +0 -1
- package/lib/typescript/Feedback/index.d.ts +0 -14
- package/lib/typescript/Feedback/index.d.ts.map +0 -1
- package/lib/typescript/Form/Form.Button.d.ts +0 -146
- package/lib/typescript/Form/Form.Button.d.ts.map +0 -1
- package/lib/typescript/Form/Form.Checkbox.d.ts +0 -14
- package/lib/typescript/Form/Form.Checkbox.d.ts.map +0 -1
- package/lib/typescript/Form/Form.ControlledCheckbox.d.ts +0 -10
- package/lib/typescript/Form/Form.ControlledCheckbox.d.ts.map +0 -1
- package/lib/typescript/Form/Form.ControlledDropdown.d.ts +0 -15
- package/lib/typescript/Form/Form.ControlledDropdown.d.ts.map +0 -1
- package/lib/typescript/Form/Form.ControlledInput.d.ts +0 -16
- package/lib/typescript/Form/Form.ControlledInput.d.ts.map +0 -1
- package/lib/typescript/Form/Form.ControlledMonetaryInput.d.ts +0 -13
- package/lib/typescript/Form/Form.ControlledMonetaryInput.d.ts.map +0 -1
- package/lib/typescript/Form/Form.ControlledRadioButton.d.ts +0 -10
- package/lib/typescript/Form/Form.ControlledRadioButton.d.ts.map +0 -1
- package/lib/typescript/Form/Form.Dropdown.d.ts +0 -15
- package/lib/typescript/Form/Form.Dropdown.d.ts.map +0 -1
- package/lib/typescript/Form/Form.FilterButton.d.ts +0 -13
- package/lib/typescript/Form/Form.FilterButton.d.ts.map +0 -1
- package/lib/typescript/Form/Form.FractionalQuantityInput.d.ts +0 -14
- package/lib/typescript/Form/Form.FractionalQuantityInput.d.ts.map +0 -1
- package/lib/typescript/Form/Form.IconButton.d.ts +0 -68
- package/lib/typescript/Form/Form.IconButton.d.ts.map +0 -1
- package/lib/typescript/Form/Form.Input.d.ts +0 -11
- package/lib/typescript/Form/Form.Input.d.ts.map +0 -1
- package/lib/typescript/Form/Form.InputField.d.ts +0 -11
- package/lib/typescript/Form/Form.InputField.d.ts.map +0 -1
- package/lib/typescript/Form/Form.MonetaryInput.d.ts +0 -9
- package/lib/typescript/Form/Form.MonetaryInput.d.ts.map +0 -1
- package/lib/typescript/Form/Form.PasswordInput.d.ts +0 -10
- package/lib/typescript/Form/Form.PasswordInput.d.ts.map +0 -1
- package/lib/typescript/Form/Form.QuantitySelector.d.ts +0 -12
- package/lib/typescript/Form/Form.QuantitySelector.d.ts.map +0 -1
- package/lib/typescript/Form/Form.RadioButton.d.ts +0 -8
- package/lib/typescript/Form/Form.RadioButton.d.ts.map +0 -1
- package/lib/typescript/Form/Form.SearchBar.d.ts +0 -10
- package/lib/typescript/Form/Form.SearchBar.d.ts.map +0 -1
- package/lib/typescript/Form/Form.TextInput.d.ts +0 -9
- package/lib/typescript/Form/Form.TextInput.d.ts.map +0 -1
- package/lib/typescript/Form/index.d.ts +0 -42
- package/lib/typescript/Form/index.d.ts.map +0 -1
- package/lib/typescript/Navigation/Navigation.Header.d.ts +0 -11
- package/lib/typescript/Navigation/Navigation.Header.d.ts.map +0 -1
- package/lib/typescript/Navigation/Navigation.HeaderToolbar.d.ts +0 -16
- package/lib/typescript/Navigation/Navigation.HeaderToolbar.d.ts.map +0 -1
- package/lib/typescript/Navigation/Navigation.RowItem.d.ts +0 -6
- package/lib/typescript/Navigation/Navigation.RowItem.d.ts.map +0 -1
- package/lib/typescript/Navigation/Navigation.TabIcon.d.ts +0 -15
- package/lib/typescript/Navigation/Navigation.TabIcon.d.ts.map +0 -1
- package/lib/typescript/Navigation/Navigation.TabItem.d.ts +0 -15
- package/lib/typescript/Navigation/Navigation.TabItem.d.ts.map +0 -1
- package/lib/typescript/Navigation/index.d.ts +0 -12
- package/lib/typescript/Navigation/index.d.ts.map +0 -1
- package/lib/typescript/Typography/Typography.Heading.d.ts +0 -13
- package/lib/typescript/Typography/Typography.Heading.d.ts.map +0 -1
- package/lib/typescript/Typography/Typography.Text.d.ts +0 -29
- package/lib/typescript/Typography/Typography.Text.d.ts.map +0 -1
- package/lib/typescript/Typography/index.d.ts +0 -8
- package/lib/typescript/Typography/index.d.ts.map +0 -1
- package/lib/typescript/icons/AddItemIcon.d.ts +0 -5
- package/lib/typescript/icons/AddItemIcon.d.ts.map +0 -1
- package/lib/typescript/icons/ArrangeCircle.d.ts +0 -5
- package/lib/typescript/icons/ArrangeCircle.d.ts.map +0 -1
- package/lib/typescript/icons/ArrowDownIcon.d.ts +0 -5
- package/lib/typescript/icons/ArrowDownIcon.d.ts.map +0 -1
- package/lib/typescript/icons/ArrowUpIcon.d.ts +0 -5
- package/lib/typescript/icons/ArrowUpIcon.d.ts.map +0 -1
- package/lib/typescript/icons/BoxIcon.d.ts +0 -5
- package/lib/typescript/icons/BoxIcon.d.ts.map +0 -1
- package/lib/typescript/icons/BoxTimeIcon.d.ts +0 -5
- package/lib/typescript/icons/BoxTimeIcon.d.ts.map +0 -1
- package/lib/typescript/icons/CalendarIcon.d.ts +0 -5
- package/lib/typescript/icons/CalendarIcon.d.ts.map +0 -1
- package/lib/typescript/icons/CardIcon.d.ts +0 -5
- package/lib/typescript/icons/CardIcon.d.ts.map +0 -1
- package/lib/typescript/icons/CashierIcon.d.ts +0 -5
- package/lib/typescript/icons/CashierIcon.d.ts.map +0 -1
- package/lib/typescript/icons/CreditIcon.d.ts +0 -8
- package/lib/typescript/icons/CreditIcon.d.ts.map +0 -1
- package/lib/typescript/icons/DuoIcon.d.ts +0 -5
- package/lib/typescript/icons/DuoIcon.d.ts.map +0 -1
- package/lib/typescript/icons/HomeIcon.d.ts +0 -5
- package/lib/typescript/icons/HomeIcon.d.ts.map +0 -1
- package/lib/typescript/icons/HomeIconOutlined.d.ts +0 -5
- package/lib/typescript/icons/HomeIconOutlined.d.ts.map +0 -1
- package/lib/typescript/icons/LogoIcon.d.ts +0 -5
- package/lib/typescript/icons/LogoIcon.d.ts.map +0 -1
- package/lib/typescript/icons/MoneyReceiveIcon.d.ts +0 -5
- package/lib/typescript/icons/MoneyReceiveIcon.d.ts.map +0 -1
- package/lib/typescript/icons/OdooIcon.d.ts +0 -7
- package/lib/typescript/icons/OdooIcon.d.ts.map +0 -1
- package/lib/typescript/icons/PinIcon.d.ts +0 -5
- package/lib/typescript/icons/PinIcon.d.ts.map +0 -1
- package/lib/typescript/icons/PrinterIcon.d.ts +0 -5
- package/lib/typescript/icons/PrinterIcon.d.ts.map +0 -1
- package/lib/typescript/icons/ProfileIcon.d.ts +0 -5
- package/lib/typescript/icons/ProfileIcon.d.ts.map +0 -1
- package/lib/typescript/icons/SettingsIcon.d.ts +0 -5
- package/lib/typescript/icons/SettingsIcon.d.ts.map +0 -1
- package/lib/typescript/icons/SinpeIcon.d.ts +0 -5
- package/lib/typescript/icons/SinpeIcon.d.ts.map +0 -1
- package/lib/typescript/icons/ToggleOffIcon.d.ts +0 -5
- package/lib/typescript/icons/ToggleOffIcon.d.ts.map +0 -1
- package/lib/typescript/icons/WalletMoneyIcon.d.ts +0 -5
- package/lib/typescript/icons/WalletMoneyIcon.d.ts.map +0 -1
- package/lib/typescript/icons/icon_getters.d.ts +0 -7
- package/lib/typescript/icons/icon_getters.d.ts.map +0 -1
- package/lib/typescript/icons/props.d.ts +0 -5
- package/lib/typescript/icons/props.d.ts.map +0 -1
- package/lib/typescript/index.d.ts +0 -21
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/layouts/AuthContainer.d.ts +0 -10
- package/lib/typescript/layouts/AuthContainer.d.ts.map +0 -1
- package/lib/typescript/layouts/Container.d.ts +0 -15
- package/lib/typescript/layouts/Container.d.ts.map +0 -1
- package/lib/typescript/layouts/GradientContainer.d.ts +0 -9
- package/lib/typescript/layouts/GradientContainer.d.ts.map +0 -1
- package/lib/typescript/layouts/PlainLayout.d.ts +0 -7
- package/lib/typescript/layouts/PlainLayout.d.ts.map +0 -1
- package/lib/typescript/layouts/ScrollContainer.d.ts +0 -9
- package/lib/typescript/layouts/ScrollContainer.d.ts.map +0 -1
- package/lib/typescript/layouts/TabNavigatorLayout.d.ts +0 -27
- package/lib/typescript/layouts/TabNavigatorLayout.d.ts.map +0 -1
- package/lib/typescript/lib/date.d.ts +0 -71
- package/lib/typescript/lib/date.d.ts.map +0 -1
- package/lib/typescript/lib/icon.d.ts +0 -2
- package/lib/typescript/lib/icon.d.ts.map +0 -1
- package/lib/typescript/lib/monetary.d.ts +0 -4
- package/lib/typescript/lib/monetary.d.ts.map +0 -1
- package/lib/typescript/lib/quantity.d.ts +0 -12
- package/lib/typescript/lib/quantity.d.ts.map +0 -1
- package/lib/typescript/lib/serializer.d.ts +0 -3
- package/lib/typescript/lib/serializer.d.ts.map +0 -1
- package/lib/typescript/lib/timezone.d.ts +0 -5
- package/lib/typescript/lib/timezone.d.ts.map +0 -1
- package/lib/typescript/notifications/index.d.ts +0 -2
- package/lib/typescript/notifications/index.d.ts.map +0 -1
- package/lib/typescript/package.json +0 -1
- package/lib/typescript/primitives/BaseButton.d.ts +0 -147
- package/lib/typescript/primitives/BaseButton.d.ts.map +0 -1
- package/lib/typescript/primitives/Box.d.ts +0 -8
- package/lib/typescript/primitives/Box.d.ts.map +0 -1
- package/lib/typescript/primitives/Row.d.ts +0 -12
- package/lib/typescript/primitives/Row.d.ts.map +0 -1
- package/lib/typescript/primitives/Stack.d.ts +0 -10
- package/lib/typescript/primitives/Stack.d.ts.map +0 -1
- package/lib/typescript/primitives/index.d.ts +0 -4
- package/lib/typescript/primitives/index.d.ts.map +0 -1
- package/lib/typescript/providers/index.d.ts +0 -1
- package/lib/typescript/providers/index.d.ts.map +0 -1
- package/lib/typescript/theme/active.d.ts +0 -4
- package/lib/typescript/theme/active.d.ts.map +0 -1
- package/lib/typescript/theme/components/ThemedActivityIndicator.d.ts +0 -22
- package/lib/typescript/theme/components/ThemedActivityIndicator.d.ts.map +0 -1
- package/lib/typescript/theme/components/index.d.ts +0 -10
- package/lib/typescript/theme/components/index.d.ts.map +0 -1
- package/lib/typescript/theme/default.d.ts +0 -3
- package/lib/typescript/theme/default.d.ts.map +0 -1
- package/lib/typescript/theme/index.d.ts +0 -5
- package/lib/typescript/theme/index.d.ts.map +0 -1
- package/lib/typescript/theme/theme.d.ts +0 -14
- package/lib/typescript/theme/theme.d.ts.map +0 -1
- package/lib/typescript/theme/tw.d.ts +0 -11
- package/lib/typescript/theme/tw.d.ts.map +0 -1
- package/lib/typescript/theme/types.d.ts +0 -93
- package/lib/typescript/theme/types.d.ts.map +0 -1
- package/lib/typescript/theme/typography.d.ts +0 -377
- package/lib/typescript/theme/typography.d.ts.map +0 -1
- package/lib/typescript/theme/useTheme.d.ts +0 -2
- package/lib/typescript/theme/useTheme.d.ts.map +0 -1
- package/lib/typescript/views/AuthFormView.d.ts +0 -10
- package/lib/typescript/views/AuthFormView.d.ts.map +0 -1
- package/lib/typescript/views/FormViewV2.context.d.ts +0 -33
- package/lib/typescript/views/FormViewV2.context.d.ts.map +0 -1
- package/lib/typescript/views/FormViewV2.d.ts +0 -61
- package/lib/typescript/views/FormViewV2.d.ts.map +0 -1
- package/lib/typescript/views/ListViewV2.context.d.ts +0 -37
- package/lib/typescript/views/ListViewV2.context.d.ts.map +0 -1
- package/lib/typescript/views/ListViewV2.d.ts +0 -132
- package/lib/typescript/views/ListViewV2.d.ts.map +0 -1
- package/lib/typescript/views/Wizard/Wizard.context.d.ts +0 -27
- package/lib/typescript/views/Wizard/Wizard.context.d.ts.map +0 -1
- package/lib/typescript/views/Wizard/Wizard.d.ts +0 -34
- package/lib/typescript/views/Wizard/Wizard.d.ts.map +0 -1
- package/lib/typescript/views/Wizard/index.d.ts +0 -5
- package/lib/typescript/views/Wizard/index.d.ts.map +0 -1
- package/lib/typescript/views/types/IFormView.d.ts +0 -23
- package/lib/typescript/views/types/IFormView.d.ts.map +0 -1
- package/lib/typescript/views/types/IListView.d.ts +0 -35
- package/lib/typescript/views/types/IListView.d.ts.map +0 -1
- package/lib/typescript/views/types/UIItem.d.ts +0 -22
- package/lib/typescript/views/types/UIItem.d.ts.map +0 -1
- package/lib/typescript/widgets/CircleButton.d.ts +0 -16
- package/lib/typescript/widgets/CircleButton.d.ts.map +0 -1
- package/lib/typescript/widgets/GeoPermissionCard.d.ts +0 -9
- package/lib/typescript/widgets/GeoPermissionCard.d.ts.map +0 -1
- package/lib/typescript/widgets/HomeHeader.d.ts +0 -10
- package/lib/typescript/widgets/HomeHeader.d.ts.map +0 -1
- package/lib/typescript/widgets/JSONViewer.d.ts +0 -6
- package/lib/typescript/widgets/JSONViewer.d.ts.map +0 -1
- package/lib/typescript/widgets/MenuCard.d.ts +0 -14
- package/lib/typescript/widgets/MenuCard.d.ts.map +0 -1
- package/lib/typescript/widgets/MenuGrid.d.ts +0 -18
- package/lib/typescript/widgets/MenuGrid.d.ts.map +0 -1
- package/lib/typescript/widgets/ScreenHeader.d.ts +0 -20
- package/lib/typescript/widgets/ScreenHeader.d.ts.map +0 -1
- package/lib/typescript/widgets/TimeZoneSelector.d.ts +0 -8
- package/lib/typescript/widgets/TimeZoneSelector.d.ts.map +0 -1
- package/lib/typescript/widgets/TimeZoneSelectorModal.d.ts +0 -10
- package/lib/typescript/widgets/TimeZoneSelectorModal.d.ts.map +0 -1
- package/lib/typescript/widgets/index.d.ts +0 -8
- package/lib/typescript/widgets/index.d.ts.map +0 -1
- package/sincpro_mobile_ui/Dialog/BottomSheet/BottomSheet.Root.tsx +0 -509
- package/sincpro_mobile_ui/Dialog/BottomSheet/index.ts +0 -1
- package/sincpro_mobile_ui/Dialog/Confirmation.context.tsx +0 -148
- package/sincpro_mobile_ui/Dialog/Dialog.Confirmation.tsx +0 -68
- package/sincpro_mobile_ui/Dialog/Dialog.EditValue.tsx +0 -134
- package/sincpro_mobile_ui/Dialog/index.ts +0 -23
- package/sincpro_mobile_ui/Display/Display.Avatar.tsx +0 -60
- package/sincpro_mobile_ui/Display/Display.Badge.tsx +0 -72
- package/sincpro_mobile_ui/Display/Display.CopyableText.tsx +0 -38
- package/sincpro_mobile_ui/Display/Display.CountRecords.tsx +0 -26
- package/sincpro_mobile_ui/Display/Display.Date.tsx +0 -59
- package/sincpro_mobile_ui/Display/Display.Divider.tsx +0 -40
- package/sincpro_mobile_ui/Display/Display.Icon.tsx +0 -69
- package/sincpro_mobile_ui/Display/Display.Logo.tsx +0 -51
- package/sincpro_mobile_ui/Display/Display.MenuButton.tsx +0 -103
- package/sincpro_mobile_ui/Display/Display.Monetary.tsx +0 -60
- package/sincpro_mobile_ui/Display/index.ts +0 -28
- package/sincpro_mobile_ui/Feedback/ErrorBoundary.tsx +0 -51
- package/sincpro_mobile_ui/Feedback/Feedback.DomainSplashScreen.tsx +0 -135
- package/sincpro_mobile_ui/Feedback/Feedback.Empty.tsx +0 -29
- package/sincpro_mobile_ui/Feedback/Feedback.Error.tsx +0 -47
- package/sincpro_mobile_ui/Feedback/Feedback.Loading.tsx +0 -27
- package/sincpro_mobile_ui/Feedback/Feedback.Spinner.tsx +0 -34
- package/sincpro_mobile_ui/Feedback/Feedback.Splash.tsx +0 -68
- package/sincpro_mobile_ui/Feedback/index.ts +0 -17
- package/sincpro_mobile_ui/Form/Form.Button.tsx +0 -461
- package/sincpro_mobile_ui/Form/Form.Checkbox.tsx +0 -89
- package/sincpro_mobile_ui/Form/Form.ControlledCheckbox.tsx +0 -34
- package/sincpro_mobile_ui/Form/Form.ControlledDropdown.tsx +0 -22
- package/sincpro_mobile_ui/Form/Form.ControlledInput.tsx +0 -53
- package/sincpro_mobile_ui/Form/Form.ControlledMonetaryInput.tsx +0 -41
- package/sincpro_mobile_ui/Form/Form.ControlledRadioButton.tsx +0 -33
- package/sincpro_mobile_ui/Form/Form.Dropdown.tsx +0 -171
- package/sincpro_mobile_ui/Form/Form.FilterButton.tsx +0 -59
- package/sincpro_mobile_ui/Form/Form.FractionalQuantityInput.tsx +0 -190
- package/sincpro_mobile_ui/Form/Form.IconButton.tsx +0 -102
- package/sincpro_mobile_ui/Form/Form.Input.tsx +0 -88
- package/sincpro_mobile_ui/Form/Form.InputField.tsx +0 -66
- package/sincpro_mobile_ui/Form/Form.MonetaryInput.tsx +0 -66
- package/sincpro_mobile_ui/Form/Form.PasswordInput.tsx +0 -42
- package/sincpro_mobile_ui/Form/Form.QuantitySelector.tsx +0 -81
- package/sincpro_mobile_ui/Form/Form.RadioButton.tsx +0 -52
- package/sincpro_mobile_ui/Form/Form.SearchBar.tsx +0 -64
- package/sincpro_mobile_ui/Form/Form.TextInput.tsx +0 -26
- package/sincpro_mobile_ui/Form/index.ts +0 -46
- package/sincpro_mobile_ui/Navigation/Navigation.Header.tsx +0 -50
- package/sincpro_mobile_ui/Navigation/Navigation.HeaderToolbar.tsx +0 -111
- package/sincpro_mobile_ui/Navigation/Navigation.RowItem.tsx +0 -33
- package/sincpro_mobile_ui/Navigation/Navigation.TabIcon.tsx +0 -45
- package/sincpro_mobile_ui/Navigation/Navigation.TabItem.tsx +0 -43
- package/sincpro_mobile_ui/Navigation/index.ts +0 -15
- package/sincpro_mobile_ui/Typography/Typography.Heading.tsx +0 -20
- package/sincpro_mobile_ui/Typography/Typography.Text.tsx +0 -78
- package/sincpro_mobile_ui/Typography/index.ts +0 -11
- package/sincpro_mobile_ui/icons/AddItemIcon.tsx +0 -46
- package/sincpro_mobile_ui/icons/ArrangeCircle.tsx +0 -50
- package/sincpro_mobile_ui/icons/ArrowDownIcon.tsx +0 -33
- package/sincpro_mobile_ui/icons/ArrowUpIcon.tsx +0 -33
- package/sincpro_mobile_ui/icons/BoxIcon.tsx +0 -32
- package/sincpro_mobile_ui/icons/BoxTimeIcon.tsx +0 -27
- package/sincpro_mobile_ui/icons/CalendarIcon.tsx +0 -85
- package/sincpro_mobile_ui/icons/CardIcon.tsx +0 -44
- package/sincpro_mobile_ui/icons/CashierIcon.tsx +0 -15
- package/sincpro_mobile_ui/icons/CreditIcon.tsx +0 -44
- package/sincpro_mobile_ui/icons/DuoIcon.tsx +0 -39
- package/sincpro_mobile_ui/icons/HomeIcon.tsx +0 -15
- package/sincpro_mobile_ui/icons/HomeIconOutlined.tsx +0 -24
- package/sincpro_mobile_ui/icons/LogoIcon.tsx +0 -39
- package/sincpro_mobile_ui/icons/MoneyReceiveIcon.tsx +0 -46
- package/sincpro_mobile_ui/icons/OdooIcon.tsx +0 -23
- package/sincpro_mobile_ui/icons/PinIcon.tsx +0 -15
- package/sincpro_mobile_ui/icons/PrinterIcon.tsx +0 -46
- package/sincpro_mobile_ui/icons/ProfileIcon.tsx +0 -19
- package/sincpro_mobile_ui/icons/SettingsIcon.tsx +0 -66
- package/sincpro_mobile_ui/icons/SinpeIcon.tsx +0 -29
- package/sincpro_mobile_ui/icons/ToggleOffIcon.tsx +0 -25
- package/sincpro_mobile_ui/icons/WalletMoneyIcon.tsx +0 -41
- package/sincpro_mobile_ui/icons/icon_getters.tsx +0 -27
- package/sincpro_mobile_ui/icons/props.ts +0 -4
- package/sincpro_mobile_ui/index.ts +0 -38
- package/sincpro_mobile_ui/layouts/AuthContainer.tsx +0 -73
- package/sincpro_mobile_ui/layouts/Container.tsx +0 -40
- package/sincpro_mobile_ui/layouts/GradientContainer.tsx +0 -22
- package/sincpro_mobile_ui/layouts/PlainLayout.tsx +0 -14
- package/sincpro_mobile_ui/layouts/ScrollContainer.tsx +0 -37
- package/sincpro_mobile_ui/layouts/TabNavigatorLayout.tsx +0 -154
- package/sincpro_mobile_ui/lib/date.ts +0 -149
- package/sincpro_mobile_ui/lib/icon.ts +0 -10
- package/sincpro_mobile_ui/lib/monetary.ts +0 -33
- package/sincpro_mobile_ui/lib/quantity.ts +0 -52
- package/sincpro_mobile_ui/lib/serializer.ts +0 -59
- package/sincpro_mobile_ui/lib/timezone.ts +0 -4
- package/sincpro_mobile_ui/nativewind-env.d.ts +0 -1
- package/sincpro_mobile_ui/notifications/index.ts +0 -2
- package/sincpro_mobile_ui/primitives/BaseButton.tsx +0 -404
- package/sincpro_mobile_ui/primitives/Box.tsx +0 -14
- package/sincpro_mobile_ui/primitives/Row.tsx +0 -55
- package/sincpro_mobile_ui/primitives/Stack.tsx +0 -29
- package/sincpro_mobile_ui/primitives/index.ts +0 -3
- package/sincpro_mobile_ui/providers/index.ts +0 -1
- package/sincpro_mobile_ui/theme/active.ts +0 -12
- package/sincpro_mobile_ui/theme/components/ThemedActivityIndicator.tsx +0 -29
- package/sincpro_mobile_ui/theme/components/index.ts +0 -10
- package/sincpro_mobile_ui/theme/default.ts +0 -81
- package/sincpro_mobile_ui/theme/globals.css +0 -67
- package/sincpro_mobile_ui/theme/index.ts +0 -4
- package/sincpro_mobile_ui/theme/theme.ts +0 -16
- package/sincpro_mobile_ui/theme/tw.ts +0 -16
- package/sincpro_mobile_ui/theme/types.ts +0 -109
- package/sincpro_mobile_ui/theme/typography.ts +0 -271
- package/sincpro_mobile_ui/theme/useTheme.ts +0 -3
- package/sincpro_mobile_ui/views/AuthFormView.tsx +0 -46
- package/sincpro_mobile_ui/views/FormViewV2.context.tsx +0 -79
- package/sincpro_mobile_ui/views/FormViewV2.tsx +0 -248
- package/sincpro_mobile_ui/views/ListViewV2.context.tsx +0 -87
- package/sincpro_mobile_ui/views/ListViewV2.tsx +0 -575
- package/sincpro_mobile_ui/views/Wizard/Wizard.context.tsx +0 -164
- package/sincpro_mobile_ui/views/Wizard/Wizard.tsx +0 -147
- package/sincpro_mobile_ui/views/Wizard/index.ts +0 -11
- package/sincpro_mobile_ui/views/types/IFormView.ts +0 -24
- package/sincpro_mobile_ui/views/types/IListView.ts +0 -78
- package/sincpro_mobile_ui/views/types/UIItem.ts +0 -23
- package/sincpro_mobile_ui/widgets/CircleButton.tsx +0 -63
- package/sincpro_mobile_ui/widgets/GeoPermissionCard.tsx +0 -62
- package/sincpro_mobile_ui/widgets/HomeHeader.tsx +0 -50
- package/sincpro_mobile_ui/widgets/JSONViewer.tsx +0 -192
- package/sincpro_mobile_ui/widgets/MenuCard.tsx +0 -37
- package/sincpro_mobile_ui/widgets/MenuGrid.tsx +0 -33
- package/sincpro_mobile_ui/widgets/ScreenHeader.tsx +0 -72
- package/sincpro_mobile_ui/widgets/TimeZoneSelector.tsx +0 -83
- package/sincpro_mobile_ui/widgets/TimeZoneSelectorModal.tsx +0 -179
- package/sincpro_mobile_ui/widgets/index.ts +0 -7
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type GestureResponderHandlers } from "react-native";
|
|
3
|
+
/**
|
|
4
|
+
* Available sizes for the BottomSheet.
|
|
5
|
+
* - `auto`: Fits content height (max 90% screen)
|
|
6
|
+
* - `small`: 30% of screen height
|
|
7
|
+
* - `medium`: 50% of screen height
|
|
8
|
+
* - `large`: 75% of screen height
|
|
9
|
+
* - `full`: 90% of screen height
|
|
10
|
+
*/
|
|
11
|
+
type BottomSheetSize = "auto" | "small" | "medium" | "large" | "full";
|
|
12
|
+
export interface BottomSheetContextValue {
|
|
13
|
+
close: () => void;
|
|
14
|
+
panHandlers: GestureResponderHandlers;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Hook to access BottomSheet context from compound components.
|
|
18
|
+
* Provides `close()` function and `panHandlers` for gesture support.
|
|
19
|
+
*
|
|
20
|
+
* @throws Error if used outside BottomSheet.Root
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* function CustomHeader() {
|
|
25
|
+
* const { close, panHandlers } = BottomSheet.useBottomSheet();
|
|
26
|
+
* return (
|
|
27
|
+
* <View {...panHandlers}>
|
|
28
|
+
* <Button onPress={close} title="Close" />
|
|
29
|
+
* </View>
|
|
30
|
+
* );
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
declare function useBottomSheet(): BottomSheetContextValue;
|
|
35
|
+
export interface RootProps {
|
|
36
|
+
visible: boolean;
|
|
37
|
+
onClose: () => void;
|
|
38
|
+
size?: BottomSheetSize;
|
|
39
|
+
dismissible?: boolean;
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Root container for the BottomSheet modal with swipe-to-dismiss gesture support.
|
|
44
|
+
*
|
|
45
|
+
* Features:
|
|
46
|
+
* - Spring animation on open/close
|
|
47
|
+
* - Swipe down to dismiss (configurable)
|
|
48
|
+
* - Backdrop tap to dismiss (configurable)
|
|
49
|
+
* - Safe area insets handling
|
|
50
|
+
* - Configurable sizes
|
|
51
|
+
*
|
|
52
|
+
* @param visible - Controls visibility of the bottom sheet
|
|
53
|
+
* @param onClose - Callback when sheet is dismissed (swipe, backdrop tap, or programmatic)
|
|
54
|
+
* @param size - Height preset: 'auto' | 'small' | 'medium' | 'large' | 'full'
|
|
55
|
+
* @param dismissible - If false, disables swipe and backdrop dismiss (default: true)
|
|
56
|
+
* @param children - Compound components (Header, Content, Actions, etc.)
|
|
57
|
+
*
|
|
58
|
+
* @example Basic usage with Header and Content
|
|
59
|
+
* ```tsx
|
|
60
|
+
* <BottomSheet.Root visible={isOpen} onClose={() => setIsOpen(false)}>
|
|
61
|
+
* <BottomSheet.Header>
|
|
62
|
+
* <BottomSheet.Title>Select Option</BottomSheet.Title>
|
|
63
|
+
* </BottomSheet.Header>
|
|
64
|
+
* <BottomSheet.Content>
|
|
65
|
+
* <Text>Your content here</Text>
|
|
66
|
+
* </BottomSheet.Content>
|
|
67
|
+
* </BottomSheet.Root>
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @example With Actions footer
|
|
71
|
+
* ```tsx
|
|
72
|
+
* <BottomSheet.Root visible={isOpen} onClose={close} size="medium">
|
|
73
|
+
* <BottomSheet.Header>
|
|
74
|
+
* <BottomSheet.Title subtitle="Choose one">Options</BottomSheet.Title>
|
|
75
|
+
* </BottomSheet.Header>
|
|
76
|
+
* <BottomSheet.Content scrollable>
|
|
77
|
+
* {items.map(item => <ItemRow key={item.id} item={item} />)}
|
|
78
|
+
* </BottomSheet.Content>
|
|
79
|
+
* <BottomSheet.Actions layout="horizontal">
|
|
80
|
+
* <Button title="Cancel" onPress={close} />
|
|
81
|
+
* <Button title="Confirm" onPress={handleConfirm} />
|
|
82
|
+
* </BottomSheet.Actions>
|
|
83
|
+
* </BottomSheet.Root>
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @example Non-dismissible (must use button to close)
|
|
87
|
+
* ```tsx
|
|
88
|
+
* <BottomSheet.Root visible={isOpen} onClose={close} dismissible={false}>
|
|
89
|
+
* <BottomSheet.Content>
|
|
90
|
+
* <Text>You must tap the button to close</Text>
|
|
91
|
+
* <Button title="Close" onPress={close} />
|
|
92
|
+
* </BottomSheet.Content>
|
|
93
|
+
* </BottomSheet.Root>
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
declare function Root({ visible, onClose, size, dismissible, children }: RootProps): import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
export interface HandleProps {
|
|
98
|
+
children?: ReactNode;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Standalone drag handle for minimal bottom sheets without a header.
|
|
102
|
+
* Includes the visual "pill" indicator and swipe gesture support.
|
|
103
|
+
*
|
|
104
|
+
* Use this when you want a simple drag indicator without a full header.
|
|
105
|
+
* For sheets with titles, use `BottomSheet.Header` instead.
|
|
106
|
+
*
|
|
107
|
+
* @param children - Optional content below the handle pill
|
|
108
|
+
*
|
|
109
|
+
* @example Minimal sheet with just a handle
|
|
110
|
+
* ```tsx
|
|
111
|
+
* <BottomSheet.Root visible={isOpen} onClose={close}>
|
|
112
|
+
* <BottomSheet.Handle />
|
|
113
|
+
* <BottomSheet.Content>
|
|
114
|
+
* <Text>Simple content</Text>
|
|
115
|
+
* </BottomSheet.Content>
|
|
116
|
+
* </BottomSheet.Root>
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
declare function Handle({ children }: HandleProps): import("react/jsx-runtime").JSX.Element;
|
|
120
|
+
export interface HeaderProps {
|
|
121
|
+
children: ReactNode;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Header section with integrated drag handle and bottom border.
|
|
125
|
+
* Automatically includes the drag pill indicator and gesture support.
|
|
126
|
+
*
|
|
127
|
+
* Use with `BottomSheet.Title` for consistent styling, or provide custom content.
|
|
128
|
+
*
|
|
129
|
+
* @param children - Header content (typically BottomSheet.Title or custom layout)
|
|
130
|
+
*
|
|
131
|
+
* @example With Title component
|
|
132
|
+
* ```tsx
|
|
133
|
+
* <BottomSheet.Header>
|
|
134
|
+
* <BottomSheet.Title subtitle="Select your preference">
|
|
135
|
+
* Settings
|
|
136
|
+
* </BottomSheet.Title>
|
|
137
|
+
* </BottomSheet.Header>
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @example Custom header content
|
|
141
|
+
* ```tsx
|
|
142
|
+
* <BottomSheet.Header>
|
|
143
|
+
* <View className="flex-row justify-between px-4 py-2">
|
|
144
|
+
* <Text>Custom Title</Text>
|
|
145
|
+
* <TouchableOpacity onPress={close}>
|
|
146
|
+
* <Icon name="close" />
|
|
147
|
+
* </TouchableOpacity>
|
|
148
|
+
* </View>
|
|
149
|
+
* </BottomSheet.Header>
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
declare function Header({ children }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
153
|
+
export interface TitleProps {
|
|
154
|
+
children: ReactNode;
|
|
155
|
+
subtitle?: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Title component for use inside BottomSheet.Header.
|
|
159
|
+
* Provides consistent text styling with optional subtitle.
|
|
160
|
+
*
|
|
161
|
+
* @param children - Main title text (typically a string or Text component)
|
|
162
|
+
* @param subtitle - Optional secondary text below the title
|
|
163
|
+
*
|
|
164
|
+
* @example Simple title
|
|
165
|
+
* ```tsx
|
|
166
|
+
* <BottomSheet.Title>Select Device</BottomSheet.Title>
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @example Title with subtitle
|
|
170
|
+
* ```tsx
|
|
171
|
+
* <BottomSheet.Title subtitle="Choose from available devices">
|
|
172
|
+
* Bluetooth Printer
|
|
173
|
+
* </BottomSheet.Title>
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
declare function Title({ children, subtitle }: TitleProps): import("react/jsx-runtime").JSX.Element;
|
|
177
|
+
export interface ContentProps {
|
|
178
|
+
children: ReactNode;
|
|
179
|
+
scrollable?: boolean;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Main content area for the bottom sheet.
|
|
183
|
+
* Can be static or scrollable depending on content needs.
|
|
184
|
+
*
|
|
185
|
+
* @param children - Content to display
|
|
186
|
+
* @param scrollable - Enable ScrollView wrapper for long content (default: false)
|
|
187
|
+
*
|
|
188
|
+
* @example Static content
|
|
189
|
+
* ```tsx
|
|
190
|
+
* <BottomSheet.Content>
|
|
191
|
+
* <View className="p-4">
|
|
192
|
+
* <Text>Short content that fits</Text>
|
|
193
|
+
* </View>
|
|
194
|
+
* </BottomSheet.Content>
|
|
195
|
+
* ```
|
|
196
|
+
*
|
|
197
|
+
* @example Scrollable list
|
|
198
|
+
* ```tsx
|
|
199
|
+
* <BottomSheet.Content scrollable>
|
|
200
|
+
* {items.map(item => (
|
|
201
|
+
* <TouchableOpacity key={item.id} onPress={() => onSelect(item)}>
|
|
202
|
+
* <Text>{item.name}</Text>
|
|
203
|
+
* </TouchableOpacity>
|
|
204
|
+
* ))}
|
|
205
|
+
* </BottomSheet.Content>
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
declare function Content({ children, scrollable }: ContentProps): import("react/jsx-runtime").JSX.Element;
|
|
209
|
+
export interface ActionsProps {
|
|
210
|
+
children: ReactNode;
|
|
211
|
+
layout?: "auto" | "horizontal" | "vertical";
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Action buttons section with top border, typically at the bottom of the sheet.
|
|
215
|
+
* Use for confirm/cancel buttons or multiple action options.
|
|
216
|
+
*
|
|
217
|
+
* @param children - Button components
|
|
218
|
+
* @param layout - Button arrangement: 'auto' | 'horizontal' | 'vertical' (default: 'auto')
|
|
219
|
+
*
|
|
220
|
+
* @example Vertical buttons (default)
|
|
221
|
+
* ```tsx
|
|
222
|
+
* <BottomSheet.Actions>
|
|
223
|
+
* <Button title="Option 1" onPress={handleOption1} />
|
|
224
|
+
* <Button title="Option 2" onPress={handleOption2} />
|
|
225
|
+
* <Button title="Cancel" variant="outline" onPress={close} />
|
|
226
|
+
* </BottomSheet.Actions>
|
|
227
|
+
* ```
|
|
228
|
+
*
|
|
229
|
+
* @example Horizontal buttons (confirm/cancel pattern)
|
|
230
|
+
* ```tsx
|
|
231
|
+
* <BottomSheet.Actions layout="horizontal">
|
|
232
|
+
* <Button title="Cancel" variant="outline" onPress={close} flex={1} />
|
|
233
|
+
* <Button title="Confirm" variant="primary" onPress={confirm} flex={1} />
|
|
234
|
+
* </BottomSheet.Actions>
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
declare function Actions({ children, layout }: ActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
238
|
+
export interface FooterProps {
|
|
239
|
+
children: ReactNode;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Footer section with gray background, for secondary information or status.
|
|
243
|
+
* Different from Actions - use Footer for non-interactive content.
|
|
244
|
+
*
|
|
245
|
+
* @param children - Footer content (text, status indicators, etc.)
|
|
246
|
+
*
|
|
247
|
+
* @example Status footer
|
|
248
|
+
* ```tsx
|
|
249
|
+
* <BottomSheet.Footer>
|
|
250
|
+
* <Text className="text-gray-500 text-sm">
|
|
251
|
+
* Last updated: 5 minutes ago
|
|
252
|
+
* </Text>
|
|
253
|
+
* </BottomSheet.Footer>
|
|
254
|
+
* ```
|
|
255
|
+
*
|
|
256
|
+
* @example Help text footer
|
|
257
|
+
* ```tsx
|
|
258
|
+
* <BottomSheet.Footer>
|
|
259
|
+
* <View className="flex-row items-center">
|
|
260
|
+
* <Icon name="info" size={16} />
|
|
261
|
+
* <Text className="ml-2 text-gray-600">Swipe down to dismiss</Text>
|
|
262
|
+
* </View>
|
|
263
|
+
* </BottomSheet.Footer>
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
declare function Footer({ children }: FooterProps): import("react/jsx-runtime").JSX.Element;
|
|
267
|
+
/**
|
|
268
|
+
* BottomSheet Compound Components
|
|
269
|
+
*
|
|
270
|
+
* A flexible, gesture-enabled bottom sheet modal system following compound component pattern.
|
|
271
|
+
* Supports swipe-to-dismiss, configurable sizes, and composable sections.
|
|
272
|
+
*
|
|
273
|
+
* ## Components
|
|
274
|
+
*
|
|
275
|
+
* | Component | Purpose |
|
|
276
|
+
* |-----------|---------|
|
|
277
|
+
* | `Root` | Container with gesture handling and animations |
|
|
278
|
+
* | `Handle` | Standalone drag pill (minimal sheets) |
|
|
279
|
+
* | `Header` | Header with integrated drag handle |
|
|
280
|
+
* | `Title` | Styled title with optional subtitle |
|
|
281
|
+
* | `Content` | Main content area (static or scrollable) |
|
|
282
|
+
* | `Actions` | Action buttons section |
|
|
283
|
+
* | `Footer` | Secondary info footer |
|
|
284
|
+
* | `useBottomSheet` | Hook for custom components |
|
|
285
|
+
*
|
|
286
|
+
* ## Basic Structure
|
|
287
|
+
*
|
|
288
|
+
* ```tsx
|
|
289
|
+
* <BottomSheet.Root visible={isOpen} onClose={close}>
|
|
290
|
+
* <BottomSheet.Header>
|
|
291
|
+
* <BottomSheet.Title>Title</BottomSheet.Title>
|
|
292
|
+
* </BottomSheet.Header>
|
|
293
|
+
* <BottomSheet.Content>
|
|
294
|
+
* {content}
|
|
295
|
+
* </BottomSheet.Content>
|
|
296
|
+
* <BottomSheet.Actions>
|
|
297
|
+
* {buttons}
|
|
298
|
+
* </BottomSheet.Actions>
|
|
299
|
+
* </BottomSheet.Root>
|
|
300
|
+
* ```
|
|
301
|
+
*
|
|
302
|
+
* ## Usage in Atomic Design
|
|
303
|
+
*
|
|
304
|
+
* - **Molecules**: Use BottomSheet to create selector modals (e.g., BluetoothDeviceSelectorModal)
|
|
305
|
+
* - **Organisms**: Compose Card + SelectorModal for complete features (e.g., BluetoothPrinterSelector)
|
|
306
|
+
*
|
|
307
|
+
* @see BluetoothDeviceSelectorModal - Example molecule implementation
|
|
308
|
+
* @see TimeZoneSelectorModal - Example molecule implementation
|
|
309
|
+
*/
|
|
310
|
+
export declare const BottomSheet: {
|
|
311
|
+
Root: typeof Root;
|
|
312
|
+
Handle: typeof Handle;
|
|
313
|
+
Header: typeof Header;
|
|
314
|
+
Title: typeof Title;
|
|
315
|
+
Content: typeof Content;
|
|
316
|
+
Actions: typeof Actions;
|
|
317
|
+
Footer: typeof Footer;
|
|
318
|
+
useBottomSheet: typeof useBottomSheet;
|
|
319
|
+
};
|
|
320
|
+
export {};
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { theme } from "../../theme";
|
|
3
|
+
import { createContext, useContext, useEffect, useRef } from "react";
|
|
4
|
+
import { Animated, Dimensions, Modal, PanResponder, Pressable, ScrollView, Text, View, } from "react-native";
|
|
5
|
+
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
6
|
+
const BottomSheetContext = createContext(null);
|
|
7
|
+
/**
|
|
8
|
+
* Hook to access BottomSheet context from compound components.
|
|
9
|
+
* Provides `close()` function and `panHandlers` for gesture support.
|
|
10
|
+
*
|
|
11
|
+
* @throws Error if used outside BottomSheet.Root
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* function CustomHeader() {
|
|
16
|
+
* const { close, panHandlers } = BottomSheet.useBottomSheet();
|
|
17
|
+
* return (
|
|
18
|
+
* <View {...panHandlers}>
|
|
19
|
+
* <Button onPress={close} title="Close" />
|
|
20
|
+
* </View>
|
|
21
|
+
* );
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
function useBottomSheet() {
|
|
26
|
+
const context = useContext(BottomSheetContext);
|
|
27
|
+
if (!context) {
|
|
28
|
+
throw new Error("BottomSheet compound components must be used within BottomSheet.Root");
|
|
29
|
+
}
|
|
30
|
+
return context;
|
|
31
|
+
}
|
|
32
|
+
const SIZE_MAP = {
|
|
33
|
+
auto: 0,
|
|
34
|
+
small: 0.3,
|
|
35
|
+
medium: 0.5,
|
|
36
|
+
large: 0.75,
|
|
37
|
+
full: 0.9,
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Root container for the BottomSheet modal with swipe-to-dismiss gesture support.
|
|
41
|
+
*
|
|
42
|
+
* Features:
|
|
43
|
+
* - Spring animation on open/close
|
|
44
|
+
* - Swipe down to dismiss (configurable)
|
|
45
|
+
* - Backdrop tap to dismiss (configurable)
|
|
46
|
+
* - Safe area insets handling
|
|
47
|
+
* - Configurable sizes
|
|
48
|
+
*
|
|
49
|
+
* @param visible - Controls visibility of the bottom sheet
|
|
50
|
+
* @param onClose - Callback when sheet is dismissed (swipe, backdrop tap, or programmatic)
|
|
51
|
+
* @param size - Height preset: 'auto' | 'small' | 'medium' | 'large' | 'full'
|
|
52
|
+
* @param dismissible - If false, disables swipe and backdrop dismiss (default: true)
|
|
53
|
+
* @param children - Compound components (Header, Content, Actions, etc.)
|
|
54
|
+
*
|
|
55
|
+
* @example Basic usage with Header and Content
|
|
56
|
+
* ```tsx
|
|
57
|
+
* <BottomSheet.Root visible={isOpen} onClose={() => setIsOpen(false)}>
|
|
58
|
+
* <BottomSheet.Header>
|
|
59
|
+
* <BottomSheet.Title>Select Option</BottomSheet.Title>
|
|
60
|
+
* </BottomSheet.Header>
|
|
61
|
+
* <BottomSheet.Content>
|
|
62
|
+
* <Text>Your content here</Text>
|
|
63
|
+
* </BottomSheet.Content>
|
|
64
|
+
* </BottomSheet.Root>
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @example With Actions footer
|
|
68
|
+
* ```tsx
|
|
69
|
+
* <BottomSheet.Root visible={isOpen} onClose={close} size="medium">
|
|
70
|
+
* <BottomSheet.Header>
|
|
71
|
+
* <BottomSheet.Title subtitle="Choose one">Options</BottomSheet.Title>
|
|
72
|
+
* </BottomSheet.Header>
|
|
73
|
+
* <BottomSheet.Content scrollable>
|
|
74
|
+
* {items.map(item => <ItemRow key={item.id} item={item} />)}
|
|
75
|
+
* </BottomSheet.Content>
|
|
76
|
+
* <BottomSheet.Actions layout="horizontal">
|
|
77
|
+
* <Button title="Cancel" onPress={close} />
|
|
78
|
+
* <Button title="Confirm" onPress={handleConfirm} />
|
|
79
|
+
* </BottomSheet.Actions>
|
|
80
|
+
* </BottomSheet.Root>
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @example Non-dismissible (must use button to close)
|
|
84
|
+
* ```tsx
|
|
85
|
+
* <BottomSheet.Root visible={isOpen} onClose={close} dismissible={false}>
|
|
86
|
+
* <BottomSheet.Content>
|
|
87
|
+
* <Text>You must tap the button to close</Text>
|
|
88
|
+
* <Button title="Close" onPress={close} />
|
|
89
|
+
* </BottomSheet.Content>
|
|
90
|
+
* </BottomSheet.Root>
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
function Root({ visible, onClose, size = "auto", dismissible = true, children }) {
|
|
94
|
+
const insets = useSafeAreaInsets();
|
|
95
|
+
const screenHeight = Dimensions.get("window").height;
|
|
96
|
+
const translateY = useRef(new Animated.Value(screenHeight)).current;
|
|
97
|
+
const maxHeight = size === "auto" ? screenHeight * 0.9 : screenHeight * SIZE_MAP[size];
|
|
98
|
+
const minHeight = size === "auto" ? 0 : screenHeight * SIZE_MAP[size];
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (visible) {
|
|
101
|
+
Animated.spring(translateY, {
|
|
102
|
+
toValue: 0,
|
|
103
|
+
useNativeDriver: true,
|
|
104
|
+
damping: 20,
|
|
105
|
+
stiffness: 300,
|
|
106
|
+
}).start();
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
translateY.setValue(screenHeight);
|
|
110
|
+
}
|
|
111
|
+
}, [visible, screenHeight, translateY]);
|
|
112
|
+
const panResponder = useRef(PanResponder.create({
|
|
113
|
+
onStartShouldSetPanResponder: () => dismissible,
|
|
114
|
+
onMoveShouldSetPanResponder: (_, gestureState) => {
|
|
115
|
+
return dismissible && Math.abs(gestureState.dy) > 10;
|
|
116
|
+
},
|
|
117
|
+
onPanResponderMove: (_, gestureState) => {
|
|
118
|
+
if (gestureState.dy > 0) {
|
|
119
|
+
translateY.setValue(gestureState.dy);
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
onPanResponderRelease: (_, gestureState) => {
|
|
123
|
+
if (gestureState.dy > 100 || gestureState.vy > 0.5) {
|
|
124
|
+
Animated.timing(translateY, {
|
|
125
|
+
toValue: screenHeight,
|
|
126
|
+
duration: 200,
|
|
127
|
+
useNativeDriver: true,
|
|
128
|
+
}).start(() => onClose());
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
Animated.spring(translateY, {
|
|
132
|
+
toValue: 0,
|
|
133
|
+
useNativeDriver: true,
|
|
134
|
+
damping: 20,
|
|
135
|
+
stiffness: 300,
|
|
136
|
+
}).start();
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
})).current;
|
|
140
|
+
function handleBackdropPress() {
|
|
141
|
+
if (dismissible) {
|
|
142
|
+
Animated.timing(translateY, {
|
|
143
|
+
toValue: screenHeight,
|
|
144
|
+
duration: 200,
|
|
145
|
+
useNativeDriver: true,
|
|
146
|
+
}).start(() => onClose());
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const contextValue = {
|
|
150
|
+
close: onClose,
|
|
151
|
+
panHandlers: panResponder.panHandlers,
|
|
152
|
+
};
|
|
153
|
+
return (_jsx(Modal, { animationType: "fade", onRequestClose: onClose, presentationStyle: "overFullScreen", transparent: true, visible: visible, children: _jsxs(View, { className: "flex-1 bg-black/50", children: [_jsx(Pressable, { className: "flex-1", onPress: handleBackdropPress }), _jsx(Animated.View, { className: "rounded-t-3xl overflow-hidden", style: {
|
|
154
|
+
backgroundColor: theme.bg.popover,
|
|
155
|
+
maxHeight,
|
|
156
|
+
minHeight: minHeight || undefined,
|
|
157
|
+
paddingBottom: insets.bottom,
|
|
158
|
+
transform: [{ translateY }],
|
|
159
|
+
}, children: _jsx(BottomSheetContext.Provider, { value: contextValue, children: children }) })] }) }));
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Standalone drag handle for minimal bottom sheets without a header.
|
|
163
|
+
* Includes the visual "pill" indicator and swipe gesture support.
|
|
164
|
+
*
|
|
165
|
+
* Use this when you want a simple drag indicator without a full header.
|
|
166
|
+
* For sheets with titles, use `BottomSheet.Header` instead.
|
|
167
|
+
*
|
|
168
|
+
* @param children - Optional content below the handle pill
|
|
169
|
+
*
|
|
170
|
+
* @example Minimal sheet with just a handle
|
|
171
|
+
* ```tsx
|
|
172
|
+
* <BottomSheet.Root visible={isOpen} onClose={close}>
|
|
173
|
+
* <BottomSheet.Handle />
|
|
174
|
+
* <BottomSheet.Content>
|
|
175
|
+
* <Text>Simple content</Text>
|
|
176
|
+
* </BottomSheet.Content>
|
|
177
|
+
* </BottomSheet.Root>
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
function Handle({ children }) {
|
|
181
|
+
const { panHandlers } = useBottomSheet();
|
|
182
|
+
return (_jsxs(View, { ...panHandlers, className: "items-center pt-3 pb-2", children: [_jsx(View, { className: "w-10 h-1 bg-border-light rounded-full mb-2" }), children] }));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Header section with integrated drag handle and bottom border.
|
|
186
|
+
* Automatically includes the drag pill indicator and gesture support.
|
|
187
|
+
*
|
|
188
|
+
* Use with `BottomSheet.Title` for consistent styling, or provide custom content.
|
|
189
|
+
*
|
|
190
|
+
* @param children - Header content (typically BottomSheet.Title or custom layout)
|
|
191
|
+
*
|
|
192
|
+
* @example With Title component
|
|
193
|
+
* ```tsx
|
|
194
|
+
* <BottomSheet.Header>
|
|
195
|
+
* <BottomSheet.Title subtitle="Select your preference">
|
|
196
|
+
* Settings
|
|
197
|
+
* </BottomSheet.Title>
|
|
198
|
+
* </BottomSheet.Header>
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @example Custom header content
|
|
202
|
+
* ```tsx
|
|
203
|
+
* <BottomSheet.Header>
|
|
204
|
+
* <View className="flex-row justify-between px-4 py-2">
|
|
205
|
+
* <Text>Custom Title</Text>
|
|
206
|
+
* <TouchableOpacity onPress={close}>
|
|
207
|
+
* <Icon name="close" />
|
|
208
|
+
* </TouchableOpacity>
|
|
209
|
+
* </View>
|
|
210
|
+
* </BottomSheet.Header>
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
function Header({ children }) {
|
|
214
|
+
const { panHandlers } = useBottomSheet();
|
|
215
|
+
return (_jsxs(View, { ...panHandlers, className: "border-b border-border-light", children: [_jsx(View, { className: "items-center pt-3 pb-1", children: _jsx(View, { className: "w-10 h-1 bg-border-divider rounded-full" }) }), children] }));
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Title component for use inside BottomSheet.Header.
|
|
219
|
+
* Provides consistent text styling with optional subtitle.
|
|
220
|
+
*
|
|
221
|
+
* @param children - Main title text (typically a string or Text component)
|
|
222
|
+
* @param subtitle - Optional secondary text below the title
|
|
223
|
+
*
|
|
224
|
+
* @example Simple title
|
|
225
|
+
* ```tsx
|
|
226
|
+
* <BottomSheet.Title>Select Device</BottomSheet.Title>
|
|
227
|
+
* ```
|
|
228
|
+
*
|
|
229
|
+
* @example Title with subtitle
|
|
230
|
+
* ```tsx
|
|
231
|
+
* <BottomSheet.Title subtitle="Choose from available devices">
|
|
232
|
+
* Bluetooth Printer
|
|
233
|
+
* </BottomSheet.Title>
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
function Title({ children, subtitle }) {
|
|
237
|
+
return (_jsxs(View, { className: "px-5 py-3", children: [_jsx(Text, { className: "text-lg font-semibold text-text-primary", children: children }), subtitle && _jsx(Text, { className: "text-sm text-text-secondary mt-1", children: subtitle })] }));
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Main content area for the bottom sheet.
|
|
241
|
+
* Can be static or scrollable depending on content needs.
|
|
242
|
+
*
|
|
243
|
+
* @param children - Content to display
|
|
244
|
+
* @param scrollable - Enable ScrollView wrapper for long content (default: false)
|
|
245
|
+
*
|
|
246
|
+
* @example Static content
|
|
247
|
+
* ```tsx
|
|
248
|
+
* <BottomSheet.Content>
|
|
249
|
+
* <View className="p-4">
|
|
250
|
+
* <Text>Short content that fits</Text>
|
|
251
|
+
* </View>
|
|
252
|
+
* </BottomSheet.Content>
|
|
253
|
+
* ```
|
|
254
|
+
*
|
|
255
|
+
* @example Scrollable list
|
|
256
|
+
* ```tsx
|
|
257
|
+
* <BottomSheet.Content scrollable>
|
|
258
|
+
* {items.map(item => (
|
|
259
|
+
* <TouchableOpacity key={item.id} onPress={() => onSelect(item)}>
|
|
260
|
+
* <Text>{item.name}</Text>
|
|
261
|
+
* </TouchableOpacity>
|
|
262
|
+
* ))}
|
|
263
|
+
* </BottomSheet.Content>
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
function Content({ children, scrollable = false }) {
|
|
267
|
+
if (scrollable) {
|
|
268
|
+
return (_jsx(ScrollView, { bounces: false, className: "flex-1", showsVerticalScrollIndicator: false, children: children }));
|
|
269
|
+
}
|
|
270
|
+
return _jsx(View, { className: "flex-1", children: children });
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Action buttons section with top border, typically at the bottom of the sheet.
|
|
274
|
+
* Use for confirm/cancel buttons or multiple action options.
|
|
275
|
+
*
|
|
276
|
+
* @param children - Button components
|
|
277
|
+
* @param layout - Button arrangement: 'auto' | 'horizontal' | 'vertical' (default: 'auto')
|
|
278
|
+
*
|
|
279
|
+
* @example Vertical buttons (default)
|
|
280
|
+
* ```tsx
|
|
281
|
+
* <BottomSheet.Actions>
|
|
282
|
+
* <Button title="Option 1" onPress={handleOption1} />
|
|
283
|
+
* <Button title="Option 2" onPress={handleOption2} />
|
|
284
|
+
* <Button title="Cancel" variant="outline" onPress={close} />
|
|
285
|
+
* </BottomSheet.Actions>
|
|
286
|
+
* ```
|
|
287
|
+
*
|
|
288
|
+
* @example Horizontal buttons (confirm/cancel pattern)
|
|
289
|
+
* ```tsx
|
|
290
|
+
* <BottomSheet.Actions layout="horizontal">
|
|
291
|
+
* <Button title="Cancel" variant="outline" onPress={close} flex={1} />
|
|
292
|
+
* <Button title="Confirm" variant="primary" onPress={confirm} flex={1} />
|
|
293
|
+
* </BottomSheet.Actions>
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
function Actions({ children, layout = "auto" }) {
|
|
297
|
+
const containerClass = layout === "horizontal" ? "flex-row gap-3" : "gap-3";
|
|
298
|
+
return (_jsx(View, { className: "px-5 py-4 border-t border-border-light", children: _jsx(View, { className: containerClass, children: children }) }));
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Footer section with gray background, for secondary information or status.
|
|
302
|
+
* Different from Actions - use Footer for non-interactive content.
|
|
303
|
+
*
|
|
304
|
+
* @param children - Footer content (text, status indicators, etc.)
|
|
305
|
+
*
|
|
306
|
+
* @example Status footer
|
|
307
|
+
* ```tsx
|
|
308
|
+
* <BottomSheet.Footer>
|
|
309
|
+
* <Text className="text-gray-500 text-sm">
|
|
310
|
+
* Last updated: 5 minutes ago
|
|
311
|
+
* </Text>
|
|
312
|
+
* </BottomSheet.Footer>
|
|
313
|
+
* ```
|
|
314
|
+
*
|
|
315
|
+
* @example Help text footer
|
|
316
|
+
* ```tsx
|
|
317
|
+
* <BottomSheet.Footer>
|
|
318
|
+
* <View className="flex-row items-center">
|
|
319
|
+
* <Icon name="info" size={16} />
|
|
320
|
+
* <Text className="ml-2 text-gray-600">Swipe down to dismiss</Text>
|
|
321
|
+
* </View>
|
|
322
|
+
* </BottomSheet.Footer>
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
325
|
+
function Footer({ children }) {
|
|
326
|
+
return (_jsx(View, { className: "px-5 py-3 border-t border-border-light bg-bg-hover", children: children }));
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* BottomSheet Compound Components
|
|
330
|
+
*
|
|
331
|
+
* A flexible, gesture-enabled bottom sheet modal system following compound component pattern.
|
|
332
|
+
* Supports swipe-to-dismiss, configurable sizes, and composable sections.
|
|
333
|
+
*
|
|
334
|
+
* ## Components
|
|
335
|
+
*
|
|
336
|
+
* | Component | Purpose |
|
|
337
|
+
* |-----------|---------|
|
|
338
|
+
* | `Root` | Container with gesture handling and animations |
|
|
339
|
+
* | `Handle` | Standalone drag pill (minimal sheets) |
|
|
340
|
+
* | `Header` | Header with integrated drag handle |
|
|
341
|
+
* | `Title` | Styled title with optional subtitle |
|
|
342
|
+
* | `Content` | Main content area (static or scrollable) |
|
|
343
|
+
* | `Actions` | Action buttons section |
|
|
344
|
+
* | `Footer` | Secondary info footer |
|
|
345
|
+
* | `useBottomSheet` | Hook for custom components |
|
|
346
|
+
*
|
|
347
|
+
* ## Basic Structure
|
|
348
|
+
*
|
|
349
|
+
* ```tsx
|
|
350
|
+
* <BottomSheet.Root visible={isOpen} onClose={close}>
|
|
351
|
+
* <BottomSheet.Header>
|
|
352
|
+
* <BottomSheet.Title>Title</BottomSheet.Title>
|
|
353
|
+
* </BottomSheet.Header>
|
|
354
|
+
* <BottomSheet.Content>
|
|
355
|
+
* {content}
|
|
356
|
+
* </BottomSheet.Content>
|
|
357
|
+
* <BottomSheet.Actions>
|
|
358
|
+
* {buttons}
|
|
359
|
+
* </BottomSheet.Actions>
|
|
360
|
+
* </BottomSheet.Root>
|
|
361
|
+
* ```
|
|
362
|
+
*
|
|
363
|
+
* ## Usage in Atomic Design
|
|
364
|
+
*
|
|
365
|
+
* - **Molecules**: Use BottomSheet to create selector modals (e.g., BluetoothDeviceSelectorModal)
|
|
366
|
+
* - **Organisms**: Compose Card + SelectorModal for complete features (e.g., BluetoothPrinterSelector)
|
|
367
|
+
*
|
|
368
|
+
* @see BluetoothDeviceSelectorModal - Example molecule implementation
|
|
369
|
+
* @see TimeZoneSelectorModal - Example molecule implementation
|
|
370
|
+
*/
|
|
371
|
+
export const BottomSheet = {
|
|
372
|
+
Root,
|
|
373
|
+
Handle,
|
|
374
|
+
Header,
|
|
375
|
+
Title,
|
|
376
|
+
Content,
|
|
377
|
+
Actions,
|
|
378
|
+
Footer,
|
|
379
|
+
useBottomSheet,
|
|
380
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BottomSheet } from "../../Dialog/BottomSheet/BottomSheet.Root";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BottomSheet } from "../../Dialog/BottomSheet/BottomSheet.Root";
|