@hzblj/kara-components 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +7 -2
- package/lib/module/atoms/activity-indicator/activity-indicator.js +14 -0
- package/lib/module/atoms/activity-indicator/activity-indicator.js.map +1 -0
- package/lib/module/atoms/activity-indicator/index.js +4 -0
- package/lib/module/atoms/activity-indicator/index.js.map +1 -0
- package/lib/module/atoms/avatar/avatar.js +47 -0
- package/lib/module/atoms/avatar/avatar.js.map +1 -0
- package/lib/module/atoms/avatar/avatar.types.js +4 -0
- package/lib/module/atoms/avatar/avatar.types.js.map +1 -0
- package/lib/module/atoms/avatar/index.js +5 -0
- package/lib/module/atoms/avatar/index.js.map +1 -0
- package/lib/module/atoms/badge/badge-tokens.js +21 -0
- package/lib/module/atoms/badge/badge-tokens.js.map +1 -0
- package/lib/module/atoms/badge/badge.android.js +21 -0
- package/lib/module/atoms/badge/badge.android.js.map +1 -0
- package/lib/module/atoms/badge/badge.ios.js +30 -0
- package/lib/module/atoms/badge/badge.ios.js.map +1 -0
- package/lib/module/atoms/badge/badge.types.js +4 -0
- package/lib/module/atoms/badge/badge.types.js.map +1 -0
- package/lib/module/atoms/badge/index.js +6 -0
- package/lib/module/atoms/badge/index.js.map +1 -0
- package/lib/module/atoms/box/a-box.js +6 -0
- package/lib/module/atoms/box/a-box.js.map +1 -0
- package/lib/module/atoms/box/box.js +11 -0
- package/lib/module/atoms/box/box.js.map +1 -0
- package/lib/module/atoms/box/box.types.js +4 -0
- package/lib/module/atoms/box/box.types.js.map +1 -0
- package/lib/module/atoms/box/index.js +6 -0
- package/lib/module/atoms/box/index.js.map +1 -0
- package/lib/module/atoms/button/button-tokens.js +43 -0
- package/lib/module/atoms/button/button-tokens.js.map +1 -0
- package/lib/module/atoms/button/button.android.js +38 -0
- package/lib/module/atoms/button/button.android.js.map +1 -0
- package/lib/module/atoms/button/button.ios.js +86 -0
- package/lib/module/atoms/button/button.ios.js.map +1 -0
- package/lib/module/atoms/button/button.types.js +4 -0
- package/lib/module/atoms/button/button.types.js.map +1 -0
- package/lib/module/atoms/button/index.js +5 -0
- package/lib/module/atoms/button/index.js.map +1 -0
- package/lib/module/atoms/card/card.android.js +28 -0
- package/lib/module/atoms/card/card.android.js.map +1 -0
- package/lib/module/atoms/card/card.ios.js +27 -0
- package/lib/module/atoms/card/card.ios.js.map +1 -0
- package/lib/module/atoms/card/card.types.js +4 -0
- package/lib/module/atoms/card/card.types.js.map +1 -0
- package/lib/module/atoms/card/index.js +5 -0
- package/lib/module/atoms/card/index.js.map +1 -0
- package/lib/module/atoms/checkbox/checkbox.android.js +32 -0
- package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -0
- package/lib/module/atoms/checkbox/checkbox.ios.js +31 -0
- package/lib/module/atoms/checkbox/checkbox.ios.js.map +1 -0
- package/lib/module/atoms/checkbox/checkbox.types.js +4 -0
- package/lib/module/atoms/checkbox/checkbox.types.js.map +1 -0
- package/lib/module/atoms/checkbox/index.js +5 -0
- package/lib/module/atoms/checkbox/index.js.map +1 -0
- package/lib/module/atoms/chip/chip.js +29 -0
- package/lib/module/atoms/chip/chip.js.map +1 -0
- package/lib/module/atoms/chip/chip.types.js +4 -0
- package/lib/module/atoms/chip/chip.types.js.map +1 -0
- package/lib/module/atoms/chip/index.js +5 -0
- package/lib/module/atoms/chip/index.js.map +1 -0
- package/lib/module/atoms/color-picker/color-picker.android.js +9 -0
- package/lib/module/atoms/color-picker/color-picker.android.js.map +1 -0
- package/lib/module/atoms/color-picker/color-picker.ios.js +22 -0
- package/lib/module/atoms/color-picker/color-picker.ios.js.map +1 -0
- package/lib/module/atoms/color-picker/color-picker.types.js +4 -0
- package/lib/module/atoms/color-picker/color-picker.types.js.map +1 -0
- package/lib/module/atoms/color-picker/index.js +5 -0
- package/lib/module/atoms/color-picker/index.js.map +1 -0
- package/lib/module/atoms/countdown/countdown-frame.js +115 -0
- package/lib/module/atoms/countdown/countdown-frame.js.map +1 -0
- package/lib/module/atoms/countdown/countdown-units.js +25 -0
- package/lib/module/atoms/countdown/countdown-units.js.map +1 -0
- package/lib/module/atoms/countdown/countdown.android.js +53 -0
- package/lib/module/atoms/countdown/countdown.android.js.map +1 -0
- package/lib/module/atoms/countdown/countdown.ios.js +50 -0
- package/lib/module/atoms/countdown/countdown.ios.js.map +1 -0
- package/lib/module/atoms/countdown/countdown.types.js +4 -0
- package/lib/module/atoms/countdown/countdown.types.js.map +1 -0
- package/lib/module/atoms/countdown/index.js +5 -0
- package/lib/module/atoms/countdown/index.js.map +1 -0
- package/lib/module/atoms/date-picker/date-picker.js +28 -0
- package/lib/module/atoms/date-picker/date-picker.js.map +1 -0
- package/lib/module/atoms/date-picker/date-picker.types.js +4 -0
- package/lib/module/atoms/date-picker/date-picker.types.js.map +1 -0
- package/lib/module/atoms/date-picker/index.js +5 -0
- package/lib/module/atoms/date-picker/index.js.map +1 -0
- package/lib/module/atoms/divider/divider.android.js +16 -0
- package/lib/module/atoms/divider/divider.android.js.map +1 -0
- package/lib/module/atoms/divider/divider.ios.js +21 -0
- package/lib/module/atoms/divider/divider.ios.js.map +1 -0
- package/lib/module/atoms/divider/divider.types.js +4 -0
- package/lib/module/atoms/divider/divider.types.js.map +1 -0
- package/lib/module/atoms/divider/index.js +5 -0
- package/lib/module/atoms/divider/index.js.map +1 -0
- package/lib/module/atoms/fab/fab.android.js +23 -0
- package/lib/module/atoms/fab/fab.android.js.map +1 -0
- package/lib/module/atoms/fab/fab.ios.js +35 -0
- package/lib/module/atoms/fab/fab.ios.js.map +1 -0
- package/lib/module/atoms/fab/fab.types.js +4 -0
- package/lib/module/atoms/fab/fab.types.js.map +1 -0
- package/lib/module/atoms/fab/index.js +5 -0
- package/lib/module/atoms/fab/index.js.map +1 -0
- package/lib/module/atoms/flash-list/flash-list.js +31 -0
- package/lib/module/atoms/flash-list/flash-list.js.map +1 -0
- package/lib/module/atoms/flash-list/flash-list.types.js +4 -0
- package/lib/module/atoms/flash-list/flash-list.types.js.map +1 -0
- package/lib/module/atoms/flash-list/index.js +5 -0
- package/lib/module/atoms/flash-list/index.js.map +1 -0
- package/lib/module/atoms/glass-view/glass-fallback.js +17 -0
- package/lib/module/atoms/glass-view/glass-fallback.js.map +1 -0
- package/lib/module/atoms/glass-view/glass-view.android.js +9 -0
- package/lib/module/atoms/glass-view/glass-view.android.js.map +1 -0
- package/lib/module/atoms/glass-view/glass-view.ios.js +36 -0
- package/lib/module/atoms/glass-view/glass-view.ios.js.map +1 -0
- package/lib/module/atoms/glass-view/glass-view.types.js +4 -0
- package/lib/module/atoms/glass-view/glass-view.types.js.map +1 -0
- package/lib/module/atoms/glass-view/index.js +6 -0
- package/lib/module/atoms/glass-view/index.js.map +1 -0
- package/lib/module/atoms/h-stack/h-stack.android.js +35 -0
- package/lib/module/atoms/h-stack/h-stack.android.js.map +1 -0
- package/lib/module/atoms/h-stack/h-stack.ios.js +39 -0
- package/lib/module/atoms/h-stack/h-stack.ios.js.map +1 -0
- package/lib/module/atoms/h-stack/h-stack.types.js +4 -0
- package/lib/module/atoms/h-stack/h-stack.types.js.map +1 -0
- package/lib/module/atoms/h-stack/index.js +5 -0
- package/lib/module/atoms/h-stack/index.js.map +1 -0
- package/lib/module/atoms/icon/icon-names.js +53 -0
- package/lib/module/atoms/icon/icon-names.js.map +1 -0
- package/lib/module/atoms/icon/icon.android.js +26 -0
- package/lib/module/atoms/icon/icon.android.js.map +1 -0
- package/lib/module/atoms/icon/icon.ios.js +23 -0
- package/lib/module/atoms/icon/icon.ios.js.map +1 -0
- package/lib/module/atoms/icon/icon.types.js +4 -0
- package/lib/module/atoms/icon/icon.types.js.map +1 -0
- package/lib/module/atoms/icon/index.js +6 -0
- package/lib/module/atoms/icon/index.js.map +1 -0
- package/lib/module/atoms/icon-button/icon-button.android.js +22 -0
- package/lib/module/atoms/icon-button/icon-button.android.js.map +1 -0
- package/lib/module/atoms/icon-button/icon-button.ios.js +33 -0
- package/lib/module/atoms/icon-button/icon-button.ios.js.map +1 -0
- package/lib/module/atoms/icon-button/icon-button.types.js +4 -0
- package/lib/module/atoms/icon-button/icon-button.types.js.map +1 -0
- package/lib/module/atoms/icon-button/index.js +5 -0
- package/lib/module/atoms/icon-button/index.js.map +1 -0
- package/lib/module/atoms/image/image.js +14 -0
- package/lib/module/atoms/image/image.js.map +1 -0
- package/lib/module/atoms/image/index.js +4 -0
- package/lib/module/atoms/image/index.js.map +1 -0
- package/lib/module/atoms/index.js +43 -0
- package/lib/module/atoms/index.js.map +1 -0
- package/lib/module/atoms/island/index.js +5 -0
- package/lib/module/atoms/island/index.js.map +1 -0
- package/lib/module/atoms/island/island.android.js +31 -0
- package/lib/module/atoms/island/island.android.js.map +1 -0
- package/lib/module/atoms/island/island.ios.js +38 -0
- package/lib/module/atoms/island/island.ios.js.map +1 -0
- package/lib/module/atoms/island/island.types.js +4 -0
- package/lib/module/atoms/island/island.types.js.map +1 -0
- package/lib/module/atoms/list/index.js +5 -0
- package/lib/module/atoms/list/index.js.map +1 -0
- package/lib/module/atoms/list/list.android.js +33 -0
- package/lib/module/atoms/list/list.android.js.map +1 -0
- package/lib/module/atoms/list/list.ios.js +21 -0
- package/lib/module/atoms/list/list.ios.js.map +1 -0
- package/lib/module/atoms/list/list.types.js +4 -0
- package/lib/module/atoms/list/list.types.js.map +1 -0
- package/lib/module/atoms/picker/index.js +5 -0
- package/lib/module/atoms/picker/index.js.map +1 -0
- package/lib/module/atoms/picker/picker.js +28 -0
- package/lib/module/atoms/picker/picker.js.map +1 -0
- package/lib/module/atoms/picker/picker.types.js +4 -0
- package/lib/module/atoms/picker/picker.types.js.map +1 -0
- package/lib/module/atoms/pressable/index.js +5 -0
- package/lib/module/atoms/pressable/index.js.map +1 -0
- package/lib/module/atoms/pressable/pressable.js +53 -0
- package/lib/module/atoms/pressable/pressable.js.map +1 -0
- package/lib/module/atoms/pressable/pressable.types.js +4 -0
- package/lib/module/atoms/pressable/pressable.types.js.map +1 -0
- package/lib/module/atoms/progress/index.js +5 -0
- package/lib/module/atoms/progress/index.js.map +1 -0
- package/lib/module/atoms/progress/progress.android.js +25 -0
- package/lib/module/atoms/progress/progress.android.js.map +1 -0
- package/lib/module/atoms/progress/progress.ios.js +21 -0
- package/lib/module/atoms/progress/progress.ios.js.map +1 -0
- package/lib/module/atoms/progress/progress.types.js +4 -0
- package/lib/module/atoms/progress/progress.types.js.map +1 -0
- package/lib/module/atoms/rn-flat-list/index.js +5 -0
- package/lib/module/atoms/rn-flat-list/index.js.map +1 -0
- package/lib/module/atoms/rn-flat-list/rn-flat-list.js +35 -0
- package/lib/module/atoms/rn-flat-list/rn-flat-list.js.map +1 -0
- package/lib/module/atoms/rn-flat-list/rn-flat-list.types.js +4 -0
- package/lib/module/atoms/rn-flat-list/rn-flat-list.types.js.map +1 -0
- package/lib/module/atoms/rn-scroll-view/index.js +5 -0
- package/lib/module/atoms/rn-scroll-view/index.js.map +1 -0
- package/lib/module/atoms/rn-scroll-view/rn-scroll-view.js +29 -0
- package/lib/module/atoms/rn-scroll-view/rn-scroll-view.js.map +1 -0
- package/lib/module/atoms/rn-scroll-view/rn-scroll-view.types.js +4 -0
- package/lib/module/atoms/rn-scroll-view/rn-scroll-view.types.js.map +1 -0
- package/lib/module/atoms/rn-section-list/index.js +5 -0
- package/lib/module/atoms/rn-section-list/index.js.map +1 -0
- package/lib/module/atoms/rn-section-list/rn-section-list.js +38 -0
- package/lib/module/atoms/rn-section-list/rn-section-list.js.map +1 -0
- package/lib/module/atoms/rn-section-list/rn-section-list.types.js +4 -0
- package/lib/module/atoms/rn-section-list/rn-section-list.types.js.map +1 -0
- package/lib/module/atoms/rn-text/index.js +5 -0
- package/lib/module/atoms/rn-text/index.js.map +1 -0
- package/lib/module/atoms/rn-text/rn-text.js +37 -0
- package/lib/module/atoms/rn-text/rn-text.js.map +1 -0
- package/lib/module/atoms/rn-text/rn-text.types.js +4 -0
- package/lib/module/atoms/rn-text/rn-text.types.js.map +1 -0
- package/lib/module/atoms/rn-view/index.js +5 -0
- package/lib/module/atoms/rn-view/index.js.map +1 -0
- package/lib/module/atoms/rn-view/rn-view.android.js +12 -0
- package/lib/module/atoms/rn-view/rn-view.android.js.map +1 -0
- package/lib/module/atoms/rn-view/rn-view.ios.js +12 -0
- package/lib/module/atoms/rn-view/rn-view.ios.js.map +1 -0
- package/lib/module/atoms/rn-view/rn-view.types.js +4 -0
- package/lib/module/atoms/rn-view/rn-view.types.js.map +1 -0
- package/lib/module/atoms/scroll-view/index.js +5 -0
- package/lib/module/atoms/scroll-view/index.js.map +1 -0
- package/lib/module/atoms/scroll-view/scroll-view.android.js +53 -0
- package/lib/module/atoms/scroll-view/scroll-view.android.js.map +1 -0
- package/lib/module/atoms/scroll-view/scroll-view.ios.js +41 -0
- package/lib/module/atoms/scroll-view/scroll-view.ios.js.map +1 -0
- package/lib/module/atoms/scroll-view/scroll-view.types.js +4 -0
- package/lib/module/atoms/scroll-view/scroll-view.types.js.map +1 -0
- package/lib/module/atoms/segmented-control/index.js +5 -0
- package/lib/module/atoms/segmented-control/index.js.map +1 -0
- package/lib/module/atoms/segmented-control/segmented-control.js +28 -0
- package/lib/module/atoms/segmented-control/segmented-control.js.map +1 -0
- package/lib/module/atoms/segmented-control/segmented-control.types.js +4 -0
- package/lib/module/atoms/segmented-control/segmented-control.types.js.map +1 -0
- package/lib/module/atoms/skeleton/index.js +5 -0
- package/lib/module/atoms/skeleton/index.js.map +1 -0
- package/lib/module/atoms/skeleton/skeleton.js +33 -0
- package/lib/module/atoms/skeleton/skeleton.js.map +1 -0
- package/lib/module/atoms/skeleton/skeleton.types.js +4 -0
- package/lib/module/atoms/skeleton/skeleton.types.js.map +1 -0
- package/lib/module/atoms/slider/index.js +5 -0
- package/lib/module/atoms/slider/index.js.map +1 -0
- package/lib/module/atoms/slider/slider.android.js +30 -0
- package/lib/module/atoms/slider/slider.android.js.map +1 -0
- package/lib/module/atoms/slider/slider.ios.js +35 -0
- package/lib/module/atoms/slider/slider.ios.js.map +1 -0
- package/lib/module/atoms/slider/slider.types.js +4 -0
- package/lib/module/atoms/slider/slider.types.js.map +1 -0
- package/lib/module/atoms/spacer/index.js +5 -0
- package/lib/module/atoms/spacer/index.js.map +1 -0
- package/lib/module/atoms/spacer/spacer.android.js +20 -0
- package/lib/module/atoms/spacer/spacer.android.js.map +1 -0
- package/lib/module/atoms/spacer/spacer.ios.js +17 -0
- package/lib/module/atoms/spacer/spacer.ios.js.map +1 -0
- package/lib/module/atoms/spacer/spacer.types.js +4 -0
- package/lib/module/atoms/spacer/spacer.types.js.map +1 -0
- package/lib/module/atoms/surface/index.js +5 -0
- package/lib/module/atoms/surface/index.js.map +1 -0
- package/lib/module/atoms/surface/surface.android.js +38 -0
- package/lib/module/atoms/surface/surface.android.js.map +1 -0
- package/lib/module/atoms/surface/surface.ios.js +32 -0
- package/lib/module/atoms/surface/surface.ios.js.map +1 -0
- package/lib/module/atoms/surface/surface.types.js +4 -0
- package/lib/module/atoms/surface/surface.types.js.map +1 -0
- package/lib/module/atoms/switch/index.js +5 -0
- package/lib/module/atoms/switch/index.js.map +1 -0
- package/lib/module/atoms/switch/switch.android.js +33 -0
- package/lib/module/atoms/switch/switch.android.js.map +1 -0
- package/lib/module/atoms/switch/switch.ios.js +31 -0
- package/lib/module/atoms/switch/switch.ios.js.map +1 -0
- package/lib/module/atoms/switch/switch.types.js +4 -0
- package/lib/module/atoms/switch/switch.types.js.map +1 -0
- package/lib/module/atoms/text/index.js +5 -0
- package/lib/module/atoms/text/index.js.map +1 -0
- package/lib/module/atoms/text/text.android.js +50 -0
- package/lib/module/atoms/text/text.android.js.map +1 -0
- package/lib/module/atoms/text/text.ios.js +67 -0
- package/lib/module/atoms/text/text.ios.js.map +1 -0
- package/lib/module/atoms/text/text.types.js +4 -0
- package/lib/module/atoms/text/text.types.js.map +1 -0
- package/lib/module/atoms/text-field/index.js +5 -0
- package/lib/module/atoms/text-field/index.js.map +1 -0
- package/lib/module/atoms/text-field/text-field.android.js +47 -0
- package/lib/module/atoms/text-field/text-field.android.js.map +1 -0
- package/lib/module/atoms/text-field/text-field.ios.js +89 -0
- package/lib/module/atoms/text-field/text-field.ios.js.map +1 -0
- package/lib/module/atoms/text-field/text-field.types.js +4 -0
- package/lib/module/atoms/text-field/text-field.types.js.map +1 -0
- package/lib/module/atoms/v-stack/index.js +5 -0
- package/lib/module/atoms/v-stack/index.js.map +1 -0
- package/lib/module/atoms/v-stack/v-stack.android.js +35 -0
- package/lib/module/atoms/v-stack/v-stack.android.js.map +1 -0
- package/lib/module/atoms/v-stack/v-stack.ios.js +34 -0
- package/lib/module/atoms/v-stack/v-stack.ios.js.map +1 -0
- package/lib/module/atoms/v-stack/v-stack.types.js +4 -0
- package/lib/module/atoms/v-stack/v-stack.types.js.map +1 -0
- package/lib/module/atoms/z-stack/index.js +5 -0
- package/lib/module/atoms/z-stack/index.js.map +1 -0
- package/lib/module/atoms/z-stack/z-stack.android.js +30 -0
- package/lib/module/atoms/z-stack/z-stack.android.js.map +1 -0
- package/lib/module/atoms/z-stack/z-stack.ios.js +31 -0
- package/lib/module/atoms/z-stack/z-stack.ios.js.map +1 -0
- package/lib/module/atoms/z-stack/z-stack.types.js +4 -0
- package/lib/module/atoms/z-stack/z-stack.types.js.map +1 -0
- package/lib/module/host-context.js +18 -0
- package/lib/module/host-context.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/molecules/collapsible/collapsible.android.js +38 -0
- package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -0
- package/lib/module/molecules/collapsible/collapsible.ios.js +20 -0
- package/lib/module/molecules/collapsible/collapsible.ios.js.map +1 -0
- package/lib/module/molecules/collapsible/collapsible.types.js +4 -0
- package/lib/module/molecules/collapsible/collapsible.types.js.map +1 -0
- package/lib/module/molecules/collapsible/index.js +5 -0
- package/lib/module/molecules/collapsible/index.js.map +1 -0
- package/lib/module/molecules/empty-state/empty-state.js +34 -0
- package/lib/module/molecules/empty-state/empty-state.js.map +1 -0
- package/lib/module/molecules/empty-state/empty-state.types.js +4 -0
- package/lib/module/molecules/empty-state/empty-state.types.js.map +1 -0
- package/lib/module/molecules/empty-state/index.js +5 -0
- package/lib/module/molecules/empty-state/index.js.map +1 -0
- package/lib/module/molecules/index.js +17 -0
- package/lib/module/molecules/index.js.map +1 -0
- package/lib/module/molecules/label/index.js +5 -0
- package/lib/module/molecules/label/index.js.map +1 -0
- package/lib/module/molecules/label/label.js +28 -0
- package/lib/module/molecules/label/label.js.map +1 -0
- package/lib/module/molecules/label/label.types.js +4 -0
- package/lib/module/molecules/label/label.types.js.map +1 -0
- package/lib/module/molecules/labeled-content/index.js +5 -0
- package/lib/module/molecules/labeled-content/index.js.map +1 -0
- package/lib/module/molecules/labeled-content/labeled-content.js +44 -0
- package/lib/module/molecules/labeled-content/labeled-content.js.map +1 -0
- package/lib/module/molecules/labeled-content/labeled-content.types.js +4 -0
- package/lib/module/molecules/labeled-content/labeled-content.types.js.map +1 -0
- package/lib/module/molecules/link/index.js +5 -0
- package/lib/module/molecules/link/index.js.map +1 -0
- package/lib/module/molecules/link/link.js +35 -0
- package/lib/module/molecules/link/link.js.map +1 -0
- package/lib/module/molecules/link/link.types.js +4 -0
- package/lib/module/molecules/link/link.types.js.map +1 -0
- package/lib/module/molecules/list-item/index.js +5 -0
- package/lib/module/molecules/list-item/index.js.map +1 -0
- package/lib/module/molecules/list-item/list-item.js +42 -0
- package/lib/module/molecules/list-item/list-item.js.map +1 -0
- package/lib/module/molecules/list-item/list-item.types.js +4 -0
- package/lib/module/molecules/list-item/list-item.types.js.map +1 -0
- package/lib/module/molecules/navigation-bar/index.js +5 -0
- package/lib/module/molecules/navigation-bar/index.js.map +1 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js +37 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js.map +1 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +33 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.types.js +4 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.types.js.map +1 -0
- package/lib/module/molecules/pager/index.js +5 -0
- package/lib/module/molecules/pager/index.js.map +1 -0
- package/lib/module/molecules/pager/pager.android.js +86 -0
- package/lib/module/molecules/pager/pager.android.js.map +1 -0
- package/lib/module/molecules/pager/pager.ios.js +42 -0
- package/lib/module/molecules/pager/pager.ios.js.map +1 -0
- package/lib/module/molecules/pager/pager.types.js +4 -0
- package/lib/module/molecules/pager/pager.types.js.map +1 -0
- package/lib/module/molecules/radio-group/index.js +5 -0
- package/lib/module/molecules/radio-group/index.js.map +1 -0
- package/lib/module/molecules/radio-group/radio-group.android.js +31 -0
- package/lib/module/molecules/radio-group/radio-group.android.js.map +1 -0
- package/lib/module/molecules/radio-group/radio-group.ios.js +34 -0
- package/lib/module/molecules/radio-group/radio-group.ios.js.map +1 -0
- package/lib/module/molecules/radio-group/radio-group.types.js +4 -0
- package/lib/module/molecules/radio-group/radio-group.types.js.map +1 -0
- package/lib/module/molecules/rn-tooltip/index.js +5 -0
- package/lib/module/molecules/rn-tooltip/index.js.map +1 -0
- package/lib/module/molecules/rn-tooltip/rn-tooltip.android.js +94 -0
- package/lib/module/molecules/rn-tooltip/rn-tooltip.android.js.map +1 -0
- package/lib/module/molecules/rn-tooltip/rn-tooltip.ios.js +65 -0
- package/lib/module/molecules/rn-tooltip/rn-tooltip.ios.js.map +1 -0
- package/lib/module/molecules/rn-tooltip/rn-tooltip.types.js +4 -0
- package/lib/module/molecules/rn-tooltip/rn-tooltip.types.js.map +1 -0
- package/lib/module/molecules/scroll-edge-container/index.js +6 -0
- package/lib/module/molecules/scroll-edge-container/index.js.map +1 -0
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.android.js +25 -0
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.android.js.map +1 -0
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.ios.js +30 -0
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.ios.js.map +1 -0
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.types.js +4 -0
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.types.js.map +1 -0
- package/lib/module/molecules/search-bar/index.js +5 -0
- package/lib/module/molecules/search-bar/index.js.map +1 -0
- package/lib/module/molecules/search-bar/search-bar.js +63 -0
- package/lib/module/molecules/search-bar/search-bar.js.map +1 -0
- package/lib/module/molecules/search-bar/search-bar.types.js +4 -0
- package/lib/module/molecules/search-bar/search-bar.types.js.map +1 -0
- package/lib/module/molecules/stepper/index.js +5 -0
- package/lib/module/molecules/stepper/index.js.map +1 -0
- package/lib/module/molecules/stepper/stepper.android.js +41 -0
- package/lib/module/molecules/stepper/stepper.android.js.map +1 -0
- package/lib/module/molecules/stepper/stepper.ios.js +24 -0
- package/lib/module/molecules/stepper/stepper.ios.js.map +1 -0
- package/lib/module/molecules/stepper/stepper.types.js +4 -0
- package/lib/module/molecules/stepper/stepper.types.js.map +1 -0
- package/lib/module/molecules/tooltip/index.js +5 -0
- package/lib/module/molecules/tooltip/index.js.map +1 -0
- package/lib/module/molecules/tooltip/tooltip.android.js +25 -0
- package/lib/module/molecules/tooltip/tooltip.android.js.map +1 -0
- package/lib/module/molecules/tooltip/tooltip.ios.js +35 -0
- package/lib/module/molecules/tooltip/tooltip.ios.js.map +1 -0
- package/lib/module/molecules/tooltip/tooltip.types.js +4 -0
- package/lib/module/molecules/tooltip/tooltip.types.js.map +1 -0
- package/lib/module/organisms/action-sheet/action-sheet.android.js +43 -0
- package/lib/module/organisms/action-sheet/action-sheet.android.js.map +1 -0
- package/lib/module/organisms/action-sheet/action-sheet.ios.js +28 -0
- package/lib/module/organisms/action-sheet/action-sheet.ios.js.map +1 -0
- package/lib/module/organisms/action-sheet/action-sheet.types.js +4 -0
- package/lib/module/organisms/action-sheet/action-sheet.types.js.map +1 -0
- package/lib/module/organisms/action-sheet/index.js +5 -0
- package/lib/module/organisms/action-sheet/index.js.map +1 -0
- package/lib/module/organisms/alert/alert.android.js +41 -0
- package/lib/module/organisms/alert/alert.android.js.map +1 -0
- package/lib/module/organisms/alert/alert.ios.js +41 -0
- package/lib/module/organisms/alert/alert.ios.js.map +1 -0
- package/lib/module/organisms/alert/alert.types.js +4 -0
- package/lib/module/organisms/alert/alert.types.js.map +1 -0
- package/lib/module/organisms/alert/index.js +5 -0
- package/lib/module/organisms/alert/index.js.map +1 -0
- package/lib/module/organisms/context-menu/context-menu.android.js +50 -0
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -0
- package/lib/module/organisms/context-menu/context-menu.ios.js +23 -0
- package/lib/module/organisms/context-menu/context-menu.ios.js.map +1 -0
- package/lib/module/organisms/context-menu/context-menu.types.js +4 -0
- package/lib/module/organisms/context-menu/context-menu.types.js.map +1 -0
- package/lib/module/organisms/context-menu/index.js +5 -0
- package/lib/module/organisms/context-menu/index.js.map +1 -0
- package/lib/module/organisms/fab-menu/fab-menu.android.js +73 -0
- package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -0
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +39 -0
- package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -0
- package/lib/module/organisms/fab-menu/fab-menu.types.js +4 -0
- package/lib/module/organisms/fab-menu/fab-menu.types.js.map +1 -0
- package/lib/module/organisms/fab-menu/index.js +5 -0
- package/lib/module/organisms/fab-menu/index.js.map +1 -0
- package/lib/module/organisms/form/form.android.js +43 -0
- package/lib/module/organisms/form/form.android.js.map +1 -0
- package/lib/module/organisms/form/form.ios.js +32 -0
- package/lib/module/organisms/form/form.ios.js.map +1 -0
- package/lib/module/organisms/form/form.types.js +4 -0
- package/lib/module/organisms/form/form.types.js.map +1 -0
- package/lib/module/organisms/form/index.js +5 -0
- package/lib/module/organisms/form/index.js.map +1 -0
- package/lib/module/organisms/index.js +13 -0
- package/lib/module/organisms/index.js.map +1 -0
- package/lib/module/organisms/menu/index.js +5 -0
- package/lib/module/organisms/menu/index.js.map +1 -0
- package/lib/module/organisms/menu/menu.android.js +63 -0
- package/lib/module/organisms/menu/menu.android.js.map +1 -0
- package/lib/module/organisms/menu/menu.ios.js +20 -0
- package/lib/module/organisms/menu/menu.ios.js.map +1 -0
- package/lib/module/organisms/menu/menu.types.js +4 -0
- package/lib/module/organisms/menu/menu.types.js.map +1 -0
- package/lib/module/organisms/rn-context-menu/index.js +5 -0
- package/lib/module/organisms/rn-context-menu/index.js.map +1 -0
- package/lib/module/organisms/rn-context-menu/rn-context-menu.android.js +101 -0
- package/lib/module/organisms/rn-context-menu/rn-context-menu.android.js.map +1 -0
- package/lib/module/organisms/rn-context-menu/rn-context-menu.ios.js +44 -0
- package/lib/module/organisms/rn-context-menu/rn-context-menu.ios.js.map +1 -0
- package/lib/module/organisms/rn-context-menu/rn-context-menu.types.js +4 -0
- package/lib/module/organisms/rn-context-menu/rn-context-menu.types.js.map +1 -0
- package/lib/module/organisms/sheet/index.js +5 -0
- package/lib/module/organisms/sheet/index.js.map +1 -0
- package/lib/module/organisms/sheet/sheet.android.js +26 -0
- package/lib/module/organisms/sheet/sheet.android.js.map +1 -0
- package/lib/module/organisms/sheet/sheet.ios.js +25 -0
- package/lib/module/organisms/sheet/sheet.ios.js.map +1 -0
- package/lib/module/organisms/sheet/sheet.types.js +4 -0
- package/lib/module/organisms/sheet/sheet.types.js.map +1 -0
- package/lib/module/organisms/snackbar/index.js +5 -0
- package/lib/module/organisms/snackbar/index.js.map +1 -0
- package/lib/module/organisms/snackbar/snackbar.js +46 -0
- package/lib/module/organisms/snackbar/snackbar.js.map +1 -0
- package/lib/module/organisms/snackbar/snackbar.types.js +4 -0
- package/lib/module/organisms/snackbar/snackbar.types.js.map +1 -0
- package/lib/module/organisms/swipe-actions/index.js +5 -0
- package/lib/module/organisms/swipe-actions/index.js.map +1 -0
- package/lib/module/organisms/swipe-actions/swipe-actions.android.js +17 -0
- package/lib/module/organisms/swipe-actions/swipe-actions.android.js.map +1 -0
- package/lib/module/organisms/swipe-actions/swipe-actions.ios.js +28 -0
- package/lib/module/organisms/swipe-actions/swipe-actions.ios.js.map +1 -0
- package/lib/module/organisms/swipe-actions/swipe-actions.types.js +4 -0
- package/lib/module/organisms/swipe-actions/swipe-actions.types.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/platform-support.js +19 -0
- package/lib/module/platform-support.js.map +1 -0
- package/lib/module/templates/index.js +4 -0
- package/lib/module/templates/index.js.map +1 -0
- package/lib/module/templates/screen/index.js +5 -0
- package/lib/module/templates/screen/index.js.map +1 -0
- package/lib/module/templates/screen/screen.android.js +34 -0
- package/lib/module/templates/screen/screen.android.js.map +1 -0
- package/lib/module/templates/screen/screen.ios.js +44 -0
- package/lib/module/templates/screen/screen.ios.js.map +1 -0
- package/lib/module/templates/screen/screen.types.js +4 -0
- package/lib/module/templates/screen/screen.types.js.map +1 -0
- package/lib/module/use-refresh-state.js +28 -0
- package/lib/module/use-refresh-state.js.map +1 -0
- package/lib/typescript/atoms/activity-indicator/activity-indicator.d.ts +3 -0
- package/lib/typescript/atoms/activity-indicator/index.d.ts +1 -0
- package/lib/typescript/atoms/avatar/avatar.d.ts +2 -0
- package/lib/typescript/atoms/avatar/avatar.types.d.ts +10 -0
- package/lib/typescript/atoms/avatar/index.d.ts +2 -0
- package/lib/typescript/atoms/badge/badge-tokens.d.ts +18 -0
- package/lib/typescript/atoms/badge/badge.d.ts +1 -0
- package/lib/typescript/atoms/badge/badge.ios.d.ts +2 -0
- package/lib/typescript/atoms/badge/badge.types.d.ts +7 -0
- package/lib/typescript/atoms/badge/index.d.ts +3 -0
- package/lib/typescript/atoms/box/a-box.d.ts +49 -0
- package/lib/typescript/atoms/box/box.d.ts +9 -0
- package/lib/typescript/atoms/box/box.types.d.ts +4 -0
- package/lib/typescript/atoms/box/index.d.ts +3 -0
- package/lib/typescript/atoms/button/button-tokens.d.ts +23 -0
- package/lib/typescript/atoms/button/button.d.ts +1 -0
- package/lib/typescript/atoms/button/button.ios.d.ts +2 -0
- package/lib/typescript/atoms/button/button.types.d.ts +30 -0
- package/lib/typescript/atoms/button/index.d.ts +2 -0
- package/lib/typescript/atoms/card/card.d.ts +1 -0
- package/lib/typescript/atoms/card/card.ios.d.ts +2 -0
- package/lib/typescript/atoms/card/card.types.d.ts +7 -0
- package/lib/typescript/atoms/card/index.d.ts +2 -0
- package/lib/typescript/atoms/checkbox/checkbox.d.ts +1 -0
- package/lib/typescript/atoms/checkbox/checkbox.ios.d.ts +2 -0
- package/lib/typescript/atoms/checkbox/checkbox.types.d.ts +8 -0
- package/lib/typescript/atoms/checkbox/index.d.ts +2 -0
- package/lib/typescript/atoms/chip/chip.d.ts +2 -0
- package/lib/typescript/atoms/chip/chip.types.d.ts +8 -0
- package/lib/typescript/atoms/chip/index.d.ts +2 -0
- package/lib/typescript/atoms/color-picker/color-picker.d.ts +1 -0
- package/lib/typescript/atoms/color-picker/color-picker.ios.d.ts +2 -0
- package/lib/typescript/atoms/color-picker/color-picker.types.d.ts +14 -0
- package/lib/typescript/atoms/color-picker/index.d.ts +2 -0
- package/lib/typescript/atoms/countdown/countdown-frame.d.ts +17 -0
- package/lib/typescript/atoms/countdown/countdown-units.d.ts +5 -0
- package/lib/typescript/atoms/countdown/countdown.d.ts +1 -0
- package/lib/typescript/atoms/countdown/countdown.ios.d.ts +2 -0
- package/lib/typescript/atoms/countdown/countdown.types.d.ts +21 -0
- package/lib/typescript/atoms/countdown/index.d.ts +2 -0
- package/lib/typescript/atoms/date-picker/date-picker.d.ts +2 -0
- package/lib/typescript/atoms/date-picker/date-picker.types.d.ts +11 -0
- package/lib/typescript/atoms/date-picker/index.d.ts +2 -0
- package/lib/typescript/atoms/divider/divider.d.ts +1 -0
- package/lib/typescript/atoms/divider/divider.ios.d.ts +2 -0
- package/lib/typescript/atoms/divider/divider.types.d.ts +7 -0
- package/lib/typescript/atoms/divider/index.d.ts +2 -0
- package/lib/typescript/atoms/fab/fab.d.ts +1 -0
- package/lib/typescript/atoms/fab/fab.ios.d.ts +2 -0
- package/lib/typescript/atoms/fab/fab.types.d.ts +8 -0
- package/lib/typescript/atoms/fab/index.d.ts +2 -0
- package/lib/typescript/atoms/flash-list/flash-list.d.ts +8 -0
- package/lib/typescript/atoms/flash-list/flash-list.types.d.ts +18 -0
- package/lib/typescript/atoms/flash-list/index.d.ts +2 -0
- package/lib/typescript/atoms/glass-view/glass-fallback.d.ts +3 -0
- package/lib/typescript/atoms/glass-view/glass-view.d.ts +1 -0
- package/lib/typescript/atoms/glass-view/glass-view.ios.d.ts +2 -0
- package/lib/typescript/atoms/glass-view/glass-view.types.d.ts +18 -0
- package/lib/typescript/atoms/glass-view/index.d.ts +3 -0
- package/lib/typescript/atoms/h-stack/h-stack.d.ts +1 -0
- package/lib/typescript/atoms/h-stack/h-stack.ios.d.ts +2 -0
- package/lib/typescript/atoms/h-stack/h-stack.types.d.ts +12 -0
- package/lib/typescript/atoms/h-stack/index.d.ts +2 -0
- package/lib/typescript/atoms/icon/icon-names.d.ts +50 -0
- package/lib/typescript/atoms/icon/icon.d.ts +1 -0
- package/lib/typescript/atoms/icon/icon.ios.d.ts +2 -0
- package/lib/typescript/atoms/icon/icon.types.d.ts +10 -0
- package/lib/typescript/atoms/icon/index.d.ts +3 -0
- package/lib/typescript/atoms/icon-button/icon-button.d.ts +1 -0
- package/lib/typescript/atoms/icon-button/icon-button.ios.d.ts +2 -0
- package/lib/typescript/atoms/icon-button/icon-button.types.d.ts +9 -0
- package/lib/typescript/atoms/icon-button/index.d.ts +2 -0
- package/lib/typescript/atoms/image/image.d.ts +4 -0
- package/lib/typescript/atoms/image/index.d.ts +1 -0
- package/lib/typescript/atoms/index.d.ts +40 -0
- package/lib/typescript/atoms/island/index.d.ts +2 -0
- package/lib/typescript/atoms/island/island.d.ts +1 -0
- package/lib/typescript/atoms/island/island.ios.d.ts +2 -0
- package/lib/typescript/atoms/island/island.types.d.ts +20 -0
- package/lib/typescript/atoms/list/index.d.ts +2 -0
- package/lib/typescript/atoms/list/list.d.ts +1 -0
- package/lib/typescript/atoms/list/list.ios.d.ts +2 -0
- package/lib/typescript/atoms/list/list.types.d.ts +11 -0
- package/lib/typescript/atoms/picker/index.d.ts +2 -0
- package/lib/typescript/atoms/picker/picker.d.ts +2 -0
- package/lib/typescript/atoms/picker/picker.types.d.ts +13 -0
- package/lib/typescript/atoms/pressable/index.d.ts +2 -0
- package/lib/typescript/atoms/pressable/pressable.d.ts +2 -0
- package/lib/typescript/atoms/pressable/pressable.types.d.ts +10 -0
- package/lib/typescript/atoms/progress/index.d.ts +2 -0
- package/lib/typescript/atoms/progress/progress.d.ts +1 -0
- package/lib/typescript/atoms/progress/progress.ios.d.ts +2 -0
- package/lib/typescript/atoms/progress/progress.types.d.ts +6 -0
- package/lib/typescript/atoms/rn-flat-list/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-flat-list/rn-flat-list.d.ts +12 -0
- package/lib/typescript/atoms/rn-flat-list/rn-flat-list.types.d.ts +9 -0
- package/lib/typescript/atoms/rn-scroll-view/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-scroll-view/rn-scroll-view.d.ts +2 -0
- package/lib/typescript/atoms/rn-scroll-view/rn-scroll-view.types.d.ts +19 -0
- package/lib/typescript/atoms/rn-section-list/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-section-list/rn-section-list.d.ts +16 -0
- package/lib/typescript/atoms/rn-section-list/rn-section-list.types.d.ts +9 -0
- package/lib/typescript/atoms/rn-text/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-text/rn-text.d.ts +2 -0
- package/lib/typescript/atoms/rn-text/rn-text.types.d.ts +9 -0
- package/lib/typescript/atoms/rn-view/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-view/rn-view.d.ts +1 -0
- package/lib/typescript/atoms/rn-view/rn-view.ios.d.ts +2 -0
- package/lib/typescript/atoms/rn-view/rn-view.types.d.ts +19 -0
- package/lib/typescript/atoms/scroll-view/index.d.ts +2 -0
- package/lib/typescript/atoms/scroll-view/scroll-view.d.ts +1 -0
- package/lib/typescript/atoms/scroll-view/scroll-view.ios.d.ts +2 -0
- package/lib/typescript/atoms/scroll-view/scroll-view.types.d.ts +25 -0
- package/lib/typescript/atoms/segmented-control/index.d.ts +2 -0
- package/lib/typescript/atoms/segmented-control/segmented-control.d.ts +2 -0
- package/lib/typescript/atoms/segmented-control/segmented-control.types.d.ts +9 -0
- package/lib/typescript/atoms/skeleton/index.d.ts +2 -0
- package/lib/typescript/atoms/skeleton/skeleton.d.ts +2 -0
- package/lib/typescript/atoms/skeleton/skeleton.types.d.ts +9 -0
- package/lib/typescript/atoms/slider/index.d.ts +2 -0
- package/lib/typescript/atoms/slider/slider.d.ts +1 -0
- package/lib/typescript/atoms/slider/slider.ios.d.ts +2 -0
- package/lib/typescript/atoms/slider/slider.types.d.ts +10 -0
- package/lib/typescript/atoms/spacer/index.d.ts +2 -0
- package/lib/typescript/atoms/spacer/spacer.d.ts +1 -0
- package/lib/typescript/atoms/spacer/spacer.ios.d.ts +2 -0
- package/lib/typescript/atoms/spacer/spacer.types.d.ts +7 -0
- package/lib/typescript/atoms/surface/index.d.ts +2 -0
- package/lib/typescript/atoms/surface/surface.d.ts +1 -0
- package/lib/typescript/atoms/surface/surface.ios.d.ts +2 -0
- package/lib/typescript/atoms/surface/surface.types.d.ts +8 -0
- package/lib/typescript/atoms/switch/index.d.ts +2 -0
- package/lib/typescript/atoms/switch/switch.d.ts +1 -0
- package/lib/typescript/atoms/switch/switch.ios.d.ts +2 -0
- package/lib/typescript/atoms/switch/switch.types.d.ts +8 -0
- package/lib/typescript/atoms/text/index.d.ts +2 -0
- package/lib/typescript/atoms/text/text.d.ts +1 -0
- package/lib/typescript/atoms/text/text.ios.d.ts +2 -0
- package/lib/typescript/atoms/text/text.types.d.ts +16 -0
- package/lib/typescript/atoms/text-field/index.d.ts +2 -0
- package/lib/typescript/atoms/text-field/text-field.d.ts +1 -0
- package/lib/typescript/atoms/text-field/text-field.ios.d.ts +2 -0
- package/lib/typescript/atoms/text-field/text-field.types.d.ts +12 -0
- package/lib/typescript/atoms/v-stack/index.d.ts +2 -0
- package/lib/typescript/atoms/v-stack/v-stack.d.ts +1 -0
- package/lib/typescript/atoms/v-stack/v-stack.ios.d.ts +2 -0
- package/lib/typescript/atoms/v-stack/v-stack.types.d.ts +12 -0
- package/lib/typescript/atoms/z-stack/index.d.ts +2 -0
- package/lib/typescript/atoms/z-stack/z-stack.d.ts +1 -0
- package/lib/typescript/atoms/z-stack/z-stack.ios.d.ts +2 -0
- package/lib/typescript/atoms/z-stack/z-stack.types.d.ts +10 -0
- package/lib/typescript/host-context.d.ts +5 -0
- package/lib/typescript/index.d.ts +4 -0
- package/lib/typescript/molecules/collapsible/collapsible.d.ts +1 -0
- package/lib/typescript/molecules/collapsible/collapsible.ios.d.ts +2 -0
- package/lib/typescript/molecules/collapsible/collapsible.types.d.ts +8 -0
- package/lib/typescript/molecules/collapsible/index.d.ts +2 -0
- package/lib/typescript/molecules/empty-state/empty-state.d.ts +2 -0
- package/lib/typescript/molecules/empty-state/empty-state.types.d.ts +14 -0
- package/lib/typescript/molecules/empty-state/index.d.ts +2 -0
- package/lib/typescript/molecules/index.d.ts +14 -0
- package/lib/typescript/molecules/label/index.d.ts +2 -0
- package/lib/typescript/molecules/label/label.d.ts +2 -0
- package/lib/typescript/molecules/label/label.types.d.ts +16 -0
- package/lib/typescript/molecules/labeled-content/index.d.ts +2 -0
- package/lib/typescript/molecules/labeled-content/labeled-content.d.ts +2 -0
- package/lib/typescript/molecules/labeled-content/labeled-content.types.d.ts +15 -0
- package/lib/typescript/molecules/link/index.d.ts +2 -0
- package/lib/typescript/molecules/link/link.d.ts +2 -0
- package/lib/typescript/molecules/link/link.types.d.ts +13 -0
- package/lib/typescript/molecules/list-item/index.d.ts +2 -0
- package/lib/typescript/molecules/list-item/list-item.d.ts +2 -0
- package/lib/typescript/molecules/list-item/list-item.types.d.ts +10 -0
- package/lib/typescript/molecules/navigation-bar/index.d.ts +2 -0
- package/lib/typescript/molecules/navigation-bar/navigation-bar.d.ts +1 -0
- package/lib/typescript/molecules/navigation-bar/navigation-bar.ios.d.ts +2 -0
- package/lib/typescript/molecules/navigation-bar/navigation-bar.types.d.ts +24 -0
- package/lib/typescript/molecules/pager/index.d.ts +2 -0
- package/lib/typescript/molecules/pager/pager.d.ts +1 -0
- package/lib/typescript/molecules/pager/pager.ios.d.ts +2 -0
- package/lib/typescript/molecules/pager/pager.types.d.ts +32 -0
- package/lib/typescript/molecules/radio-group/index.d.ts +2 -0
- package/lib/typescript/molecules/radio-group/radio-group.d.ts +1 -0
- package/lib/typescript/molecules/radio-group/radio-group.ios.d.ts +2 -0
- package/lib/typescript/molecules/radio-group/radio-group.types.d.ts +11 -0
- package/lib/typescript/molecules/rn-tooltip/index.d.ts +2 -0
- package/lib/typescript/molecules/rn-tooltip/rn-tooltip.d.ts +1 -0
- package/lib/typescript/molecules/rn-tooltip/rn-tooltip.ios.d.ts +2 -0
- package/lib/typescript/molecules/rn-tooltip/rn-tooltip.types.d.ts +37 -0
- package/lib/typescript/molecules/scroll-edge-container/index.d.ts +3 -0
- package/lib/typescript/molecules/scroll-edge-container/scroll-edge-container.d.ts +1 -0
- package/lib/typescript/molecules/scroll-edge-container/scroll-edge-container.ios.d.ts +6 -0
- package/lib/typescript/molecules/scroll-edge-container/scroll-edge-container.types.d.ts +23 -0
- package/lib/typescript/molecules/search-bar/index.d.ts +2 -0
- package/lib/typescript/molecules/search-bar/search-bar.d.ts +2 -0
- package/lib/typescript/molecules/search-bar/search-bar.types.d.ts +8 -0
- package/lib/typescript/molecules/stepper/index.d.ts +2 -0
- package/lib/typescript/molecules/stepper/stepper.d.ts +1 -0
- package/lib/typescript/molecules/stepper/stepper.ios.d.ts +2 -0
- package/lib/typescript/molecules/stepper/stepper.types.d.ts +10 -0
- package/lib/typescript/molecules/tooltip/index.d.ts +2 -0
- package/lib/typescript/molecules/tooltip/tooltip.d.ts +1 -0
- package/lib/typescript/molecules/tooltip/tooltip.ios.d.ts +2 -0
- package/lib/typescript/molecules/tooltip/tooltip.types.d.ts +8 -0
- package/lib/typescript/organisms/action-sheet/action-sheet.d.ts +1 -0
- package/lib/typescript/organisms/action-sheet/action-sheet.ios.d.ts +2 -0
- package/lib/typescript/organisms/action-sheet/action-sheet.types.d.ts +9 -0
- package/lib/typescript/organisms/action-sheet/index.d.ts +2 -0
- package/lib/typescript/organisms/alert/alert.d.ts +1 -0
- package/lib/typescript/organisms/alert/alert.ios.d.ts +2 -0
- package/lib/typescript/organisms/alert/alert.types.d.ts +11 -0
- package/lib/typescript/organisms/alert/index.d.ts +2 -0
- package/lib/typescript/organisms/context-menu/context-menu.d.ts +1 -0
- package/lib/typescript/organisms/context-menu/context-menu.ios.d.ts +2 -0
- package/lib/typescript/organisms/context-menu/context-menu.types.d.ts +7 -0
- package/lib/typescript/organisms/context-menu/index.d.ts +2 -0
- package/lib/typescript/organisms/fab-menu/fab-menu.d.ts +1 -0
- package/lib/typescript/organisms/fab-menu/fab-menu.ios.d.ts +2 -0
- package/lib/typescript/organisms/fab-menu/fab-menu.types.d.ts +15 -0
- package/lib/typescript/organisms/fab-menu/index.d.ts +2 -0
- package/lib/typescript/organisms/form/form.d.ts +1 -0
- package/lib/typescript/organisms/form/form.ios.d.ts +2 -0
- package/lib/typescript/organisms/form/form.types.d.ts +13 -0
- package/lib/typescript/organisms/form/index.d.ts +2 -0
- package/lib/typescript/organisms/index.d.ts +10 -0
- package/lib/typescript/organisms/menu/index.d.ts +2 -0
- package/lib/typescript/organisms/menu/menu.d.ts +1 -0
- package/lib/typescript/organisms/menu/menu.ios.d.ts +2 -0
- package/lib/typescript/organisms/menu/menu.types.d.ts +13 -0
- package/lib/typescript/organisms/rn-context-menu/index.d.ts +2 -0
- package/lib/typescript/organisms/rn-context-menu/rn-context-menu.d.ts +1 -0
- package/lib/typescript/organisms/rn-context-menu/rn-context-menu.ios.d.ts +2 -0
- package/lib/typescript/organisms/rn-context-menu/rn-context-menu.types.d.ts +33 -0
- package/lib/typescript/organisms/sheet/index.d.ts +2 -0
- package/lib/typescript/organisms/sheet/sheet.d.ts +1 -0
- package/lib/typescript/organisms/sheet/sheet.ios.d.ts +2 -0
- package/lib/typescript/organisms/sheet/sheet.types.d.ts +8 -0
- package/lib/typescript/organisms/snackbar/index.d.ts +2 -0
- package/lib/typescript/organisms/snackbar/snackbar.d.ts +2 -0
- package/lib/typescript/organisms/snackbar/snackbar.types.d.ts +8 -0
- package/lib/typescript/organisms/swipe-actions/index.d.ts +2 -0
- package/lib/typescript/organisms/swipe-actions/swipe-actions.d.ts +1 -0
- package/lib/typescript/organisms/swipe-actions/swipe-actions.ios.d.ts +2 -0
- package/lib/typescript/organisms/swipe-actions/swipe-actions.types.d.ts +20 -0
- package/lib/typescript/platform-support.d.ts +8 -0
- package/lib/typescript/templates/index.d.ts +1 -0
- package/lib/typescript/templates/screen/index.d.ts +2 -0
- package/lib/typescript/templates/screen/screen.d.ts +1 -0
- package/lib/typescript/templates/screen/screen.ios.d.ts +2 -0
- package/lib/typescript/templates/screen/screen.types.d.ts +9 -0
- package/lib/typescript/use-refresh-state.d.ts +15 -0
- package/package.json +95 -3
- package/src/atoms/activity-indicator/activity-indicator.tsx +9 -0
- package/src/atoms/activity-indicator/index.ts +1 -0
- package/src/atoms/avatar/avatar.tsx +43 -0
- package/src/atoms/avatar/avatar.types.ts +13 -0
- package/src/atoms/avatar/index.ts +2 -0
- package/src/atoms/badge/badge-tokens.ts +10 -0
- package/src/atoms/badge/badge.android.tsx +17 -0
- package/src/atoms/badge/badge.ios.tsx +20 -0
- package/src/atoms/badge/badge.types.ts +10 -0
- package/src/atoms/badge/index.ts +3 -0
- package/src/atoms/box/a-box.ts +5 -0
- package/src/atoms/box/box.tsx +8 -0
- package/src/atoms/box/box.types.ts +6 -0
- package/src/atoms/box/index.ts +3 -0
- package/src/atoms/button/button-tokens.ts +35 -0
- package/src/atoms/button/button.android.tsx +36 -0
- package/src/atoms/button/button.ios.tsx +86 -0
- package/src/atoms/button/button.types.ts +42 -0
- package/src/atoms/button/index.ts +2 -0
- package/src/atoms/card/card.android.tsx +17 -0
- package/src/atoms/card/card.ios.tsx +15 -0
- package/src/atoms/card/card.types.ts +9 -0
- package/src/atoms/card/index.ts +2 -0
- package/src/atoms/checkbox/checkbox.android.tsx +24 -0
- package/src/atoms/checkbox/checkbox.ios.tsx +24 -0
- package/src/atoms/checkbox/checkbox.types.ts +10 -0
- package/src/atoms/checkbox/index.ts +2 -0
- package/src/atoms/chip/chip.tsx +23 -0
- package/src/atoms/chip/chip.types.ts +10 -0
- package/src/atoms/chip/index.ts +2 -0
- package/src/atoms/color-picker/color-picker.android.tsx +9 -0
- package/src/atoms/color-picker/color-picker.ios.tsx +24 -0
- package/src/atoms/color-picker/color-picker.types.ts +16 -0
- package/src/atoms/color-picker/index.ts +2 -0
- package/src/atoms/countdown/countdown-frame.tsx +123 -0
- package/src/atoms/countdown/countdown-units.ts +37 -0
- package/src/atoms/countdown/countdown.android.tsx +49 -0
- package/src/atoms/countdown/countdown.ios.tsx +46 -0
- package/src/atoms/countdown/countdown.types.ts +24 -0
- package/src/atoms/countdown/index.ts +2 -0
- package/src/atoms/date-picker/date-picker.tsx +26 -0
- package/src/atoms/date-picker/date-picker.types.ts +14 -0
- package/src/atoms/date-picker/index.ts +2 -0
- package/src/atoms/divider/divider.android.tsx +12 -0
- package/src/atoms/divider/divider.ios.tsx +15 -0
- package/src/atoms/divider/divider.types.ts +9 -0
- package/src/atoms/divider/index.ts +2 -0
- package/src/atoms/fab/fab.android.tsx +18 -0
- package/src/atoms/fab/fab.ios.tsx +27 -0
- package/src/atoms/fab/fab.types.ts +11 -0
- package/src/atoms/fab/index.ts +2 -0
- package/src/atoms/flash-list/flash-list.tsx +28 -0
- package/src/atoms/flash-list/flash-list.types.ts +20 -0
- package/src/atoms/flash-list/index.ts +2 -0
- package/src/atoms/glass-view/glass-fallback.tsx +9 -0
- package/src/atoms/glass-view/glass-view.android.tsx +5 -0
- package/src/atoms/glass-view/glass-view.ios.tsx +30 -0
- package/src/atoms/glass-view/glass-view.types.ts +20 -0
- package/src/atoms/glass-view/index.ts +3 -0
- package/src/atoms/h-stack/h-stack.android.tsx +39 -0
- package/src/atoms/h-stack/h-stack.ios.tsx +46 -0
- package/src/atoms/h-stack/h-stack.types.ts +15 -0
- package/src/atoms/h-stack/index.ts +2 -0
- package/src/atoms/icon/icon-names.ts +53 -0
- package/src/atoms/icon/icon.android.tsx +17 -0
- package/src/atoms/icon/icon.ios.tsx +15 -0
- package/src/atoms/icon/icon.types.ts +36 -0
- package/src/atoms/icon/index.ts +3 -0
- package/src/atoms/icon-button/icon-button.android.tsx +15 -0
- package/src/atoms/icon-button/icon-button.ios.tsx +27 -0
- package/src/atoms/icon-button/icon-button.types.ts +12 -0
- package/src/atoms/icon-button/index.ts +2 -0
- package/src/atoms/image/image.tsx +15 -0
- package/src/atoms/image/index.ts +1 -0
- package/src/atoms/index.ts +40 -0
- package/src/atoms/island/index.ts +2 -0
- package/src/atoms/island/island.android.tsx +24 -0
- package/src/atoms/island/island.ios.tsx +29 -0
- package/src/atoms/island/island.types.ts +22 -0
- package/src/atoms/list/index.ts +2 -0
- package/src/atoms/list/list.android.tsx +23 -0
- package/src/atoms/list/list.ios.tsx +18 -0
- package/src/atoms/list/list.types.ts +13 -0
- package/src/atoms/picker/index.ts +2 -0
- package/src/atoms/picker/picker.tsx +24 -0
- package/src/atoms/picker/picker.types.ts +16 -0
- package/src/atoms/pressable/index.ts +2 -0
- package/src/atoms/pressable/pressable.tsx +55 -0
- package/src/atoms/pressable/pressable.types.ts +12 -0
- package/src/atoms/progress/index.ts +2 -0
- package/src/atoms/progress/progress.android.tsx +17 -0
- package/src/atoms/progress/progress.ios.tsx +19 -0
- package/src/atoms/progress/progress.types.ts +8 -0
- package/src/atoms/rn-flat-list/index.ts +2 -0
- package/src/atoms/rn-flat-list/rn-flat-list.tsx +32 -0
- package/src/atoms/rn-flat-list/rn-flat-list.types.ts +11 -0
- package/src/atoms/rn-scroll-view/index.ts +2 -0
- package/src/atoms/rn-scroll-view/rn-scroll-view.tsx +32 -0
- package/src/atoms/rn-scroll-view/rn-scroll-view.types.ts +22 -0
- package/src/atoms/rn-section-list/index.ts +2 -0
- package/src/atoms/rn-section-list/rn-section-list.tsx +40 -0
- package/src/atoms/rn-section-list/rn-section-list.types.ts +11 -0
- package/src/atoms/rn-text/index.ts +2 -0
- package/src/atoms/rn-text/rn-text.tsx +33 -0
- package/src/atoms/rn-text/rn-text.types.ts +11 -0
- package/src/atoms/rn-view/index.ts +2 -0
- package/src/atoms/rn-view/rn-view.android.tsx +7 -0
- package/src/atoms/rn-view/rn-view.ios.tsx +7 -0
- package/src/atoms/rn-view/rn-view.types.ts +21 -0
- package/src/atoms/scroll-view/index.ts +2 -0
- package/src/atoms/scroll-view/scroll-view.android.tsx +62 -0
- package/src/atoms/scroll-view/scroll-view.ios.tsx +42 -0
- package/src/atoms/scroll-view/scroll-view.types.ts +28 -0
- package/src/atoms/segmented-control/index.ts +2 -0
- package/src/atoms/segmented-control/segmented-control.tsx +34 -0
- package/src/atoms/segmented-control/segmented-control.types.ts +11 -0
- package/src/atoms/skeleton/index.ts +2 -0
- package/src/atoms/skeleton/skeleton.tsx +28 -0
- package/src/atoms/skeleton/skeleton.types.ts +11 -0
- package/src/atoms/slider/index.ts +2 -0
- package/src/atoms/slider/slider.android.tsx +32 -0
- package/src/atoms/slider/slider.ios.tsx +33 -0
- package/src/atoms/slider/slider.types.ts +12 -0
- package/src/atoms/spacer/index.ts +2 -0
- package/src/atoms/spacer/spacer.android.tsx +18 -0
- package/src/atoms/spacer/spacer.ios.tsx +11 -0
- package/src/atoms/spacer/spacer.types.ts +9 -0
- package/src/atoms/surface/index.ts +2 -0
- package/src/atoms/surface/surface.android.tsx +26 -0
- package/src/atoms/surface/surface.ios.tsx +21 -0
- package/src/atoms/surface/surface.types.ts +10 -0
- package/src/atoms/switch/index.ts +2 -0
- package/src/atoms/switch/switch.android.tsx +24 -0
- package/src/atoms/switch/switch.ios.tsx +24 -0
- package/src/atoms/switch/switch.types.ts +10 -0
- package/src/atoms/text/index.ts +2 -0
- package/src/atoms/text/text.android.tsx +58 -0
- package/src/atoms/text/text.ios.tsx +76 -0
- package/src/atoms/text/text.types.ts +21 -0
- package/src/atoms/text-field/index.ts +2 -0
- package/src/atoms/text-field/text-field.android.tsx +47 -0
- package/src/atoms/text-field/text-field.ios.tsx +90 -0
- package/src/atoms/text-field/text-field.types.ts +14 -0
- package/src/atoms/v-stack/index.ts +2 -0
- package/src/atoms/v-stack/v-stack.android.tsx +39 -0
- package/src/atoms/v-stack/v-stack.ios.tsx +40 -0
- package/src/atoms/v-stack/v-stack.types.ts +15 -0
- package/src/atoms/z-stack/index.ts +2 -0
- package/src/atoms/z-stack/z-stack.android.tsx +27 -0
- package/src/atoms/z-stack/z-stack.ios.tsx +27 -0
- package/src/atoms/z-stack/z-stack.types.ts +13 -0
- package/src/host-context.tsx +17 -0
- package/src/index.ts +4 -0
- package/src/molecules/collapsible/collapsible.android.tsx +25 -0
- package/src/molecules/collapsible/collapsible.ios.tsx +14 -0
- package/src/molecules/collapsible/collapsible.types.ts +10 -0
- package/src/molecules/collapsible/index.ts +2 -0
- package/src/molecules/empty-state/empty-state.tsx +19 -0
- package/src/molecules/empty-state/empty-state.types.ts +16 -0
- package/src/molecules/empty-state/index.ts +2 -0
- package/src/molecules/index.ts +14 -0
- package/src/molecules/label/index.ts +2 -0
- package/src/molecules/label/label.tsx +20 -0
- package/src/molecules/label/label.types.ts +19 -0
- package/src/molecules/labeled-content/index.ts +2 -0
- package/src/molecules/labeled-content/labeled-content.tsx +28 -0
- package/src/molecules/labeled-content/labeled-content.types.ts +17 -0
- package/src/molecules/link/index.ts +2 -0
- package/src/molecules/link/link.tsx +28 -0
- package/src/molecules/link/link.types.ts +16 -0
- package/src/molecules/list-item/index.ts +2 -0
- package/src/molecules/list-item/list-item.tsx +22 -0
- package/src/molecules/list-item/list-item.types.ts +13 -0
- package/src/molecules/navigation-bar/index.ts +2 -0
- package/src/molecules/navigation-bar/navigation-bar.android.tsx +21 -0
- package/src/molecules/navigation-bar/navigation-bar.ios.tsx +33 -0
- package/src/molecules/navigation-bar/navigation-bar.types.ts +26 -0
- package/src/molecules/pager/index.ts +2 -0
- package/src/molecules/pager/pager.android.tsx +95 -0
- package/src/molecules/pager/pager.ios.tsx +43 -0
- package/src/molecules/pager/pager.types.ts +34 -0
- package/src/molecules/radio-group/index.ts +2 -0
- package/src/molecules/radio-group/radio-group.android.tsx +24 -0
- package/src/molecules/radio-group/radio-group.ios.tsx +23 -0
- package/src/molecules/radio-group/radio-group.types.ts +14 -0
- package/src/molecules/rn-tooltip/index.ts +2 -0
- package/src/molecules/rn-tooltip/rn-tooltip.android.tsx +95 -0
- package/src/molecules/rn-tooltip/rn-tooltip.ios.tsx +67 -0
- package/src/molecules/rn-tooltip/rn-tooltip.types.ts +39 -0
- package/src/molecules/scroll-edge-container/index.ts +3 -0
- package/src/molecules/scroll-edge-container/scroll-edge-container.android.tsx +22 -0
- package/src/molecules/scroll-edge-container/scroll-edge-container.ios.tsx +32 -0
- package/src/molecules/scroll-edge-container/scroll-edge-container.types.ts +26 -0
- package/src/molecules/search-bar/index.ts +2 -0
- package/src/molecules/search-bar/search-bar.tsx +49 -0
- package/src/molecules/search-bar/search-bar.types.ts +10 -0
- package/src/molecules/stepper/index.ts +2 -0
- package/src/molecules/stepper/stepper.android.tsx +31 -0
- package/src/molecules/stepper/stepper.ios.tsx +10 -0
- package/src/molecules/stepper/stepper.types.ts +12 -0
- package/src/molecules/tooltip/index.ts +2 -0
- package/src/molecules/tooltip/tooltip.android.tsx +25 -0
- package/src/molecules/tooltip/tooltip.ios.tsx +27 -0
- package/src/molecules/tooltip/tooltip.types.ts +10 -0
- package/src/organisms/action-sheet/action-sheet.android.tsx +35 -0
- package/src/organisms/action-sheet/action-sheet.ios.tsx +29 -0
- package/src/organisms/action-sheet/action-sheet.types.ts +12 -0
- package/src/organisms/action-sheet/index.ts +2 -0
- package/src/organisms/alert/alert.android.tsx +37 -0
- package/src/organisms/alert/alert.ios.tsx +45 -0
- package/src/organisms/alert/alert.types.ts +13 -0
- package/src/organisms/alert/index.ts +2 -0
- package/src/organisms/context-menu/context-menu.android.tsx +56 -0
- package/src/organisms/context-menu/context-menu.ios.tsx +24 -0
- package/src/organisms/context-menu/context-menu.types.ts +10 -0
- package/src/organisms/context-menu/index.ts +2 -0
- package/src/organisms/fab-menu/fab-menu.android.tsx +78 -0
- package/src/organisms/fab-menu/fab-menu.ios.tsx +43 -0
- package/src/organisms/fab-menu/fab-menu.types.ts +18 -0
- package/src/organisms/fab-menu/index.ts +2 -0
- package/src/organisms/form/form.android.tsx +33 -0
- package/src/organisms/form/form.ios.tsx +18 -0
- package/src/organisms/form/form.types.ts +16 -0
- package/src/organisms/form/index.ts +2 -0
- package/src/organisms/index.ts +10 -0
- package/src/organisms/menu/index.ts +2 -0
- package/src/organisms/menu/menu.android.tsx +62 -0
- package/src/organisms/menu/menu.ios.tsx +21 -0
- package/src/organisms/menu/menu.types.ts +17 -0
- package/src/organisms/rn-context-menu/index.ts +2 -0
- package/src/organisms/rn-context-menu/rn-context-menu.android.tsx +90 -0
- package/src/organisms/rn-context-menu/rn-context-menu.ios.tsx +47 -0
- package/src/organisms/rn-context-menu/rn-context-menu.types.ts +36 -0
- package/src/organisms/sheet/index.ts +2 -0
- package/src/organisms/sheet/sheet.android.tsx +25 -0
- package/src/organisms/sheet/sheet.ios.tsx +23 -0
- package/src/organisms/sheet/sheet.types.ts +10 -0
- package/src/organisms/snackbar/index.ts +2 -0
- package/src/organisms/snackbar/snackbar.tsx +42 -0
- package/src/organisms/snackbar/snackbar.types.ts +10 -0
- package/src/organisms/swipe-actions/index.ts +2 -0
- package/src/organisms/swipe-actions/swipe-actions.android.tsx +14 -0
- package/src/organisms/swipe-actions/swipe-actions.ios.tsx +18 -0
- package/src/organisms/swipe-actions/swipe-actions.types.ts +24 -0
- package/src/platform-support.ts +20 -0
- package/src/templates/index.ts +1 -0
- package/src/templates/screen/index.ts +2 -0
- package/src/templates/screen/screen.android.tsx +24 -0
- package/src/templates/screen/screen.ios.tsx +33 -0
- package/src/templates/screen/screen.types.ts +11 -0
- package/src/use-refresh-state.ts +34 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
import type {IconName} from '../../atoms/icon'
|
|
4
|
+
import type {MenuAction} from '../menu'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A floating action button that unfolds into its actions. Android: Material 3 Expressive's `FloatingActionButtonMenu`
|
|
8
|
+
* — the button turns into a close and the actions rise above it as labelled pills. iOS: the same button as the label
|
|
9
|
+
* of a SwiftUI `Menu`. A native atom — it renders inside `<Screen>` or `<Island>`.
|
|
10
|
+
*/
|
|
11
|
+
export type FabMenuProps = {
|
|
12
|
+
actions: MenuAction[]
|
|
13
|
+
/** The closed button's icon. `add` by default. */
|
|
14
|
+
icon?: IconName
|
|
15
|
+
testID?: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type FabMenuComponent = (props: FabMenuProps) => ReactNode
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {Card} from '../../atoms/card'
|
|
2
|
+
import {Text} from '../../atoms/text'
|
|
3
|
+
import {VStack} from '../../atoms/v-stack'
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import type {FormComponent, FormProps, FormSectionProps} from './form.types'
|
|
6
|
+
|
|
7
|
+
const FormRoot = ({children, testID}: FormProps) => {
|
|
8
|
+
useHostGuard('Form')
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<VStack spacing="s16" testID={testID} wide>
|
|
12
|
+
{children}
|
|
13
|
+
</VStack>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const FormSection = ({children, footer, title}: FormSectionProps) => (
|
|
18
|
+
<VStack spacing="s4" wide>
|
|
19
|
+
{title ? (
|
|
20
|
+
<Text color="content.secondary" transform="uppercase" variant="labelMedium">
|
|
21
|
+
{title}
|
|
22
|
+
</Text>
|
|
23
|
+
) : null}
|
|
24
|
+
<Card>{children}</Card>
|
|
25
|
+
{footer ? (
|
|
26
|
+
<Text color="content.tertiary" variant="footnote">
|
|
27
|
+
{footer}
|
|
28
|
+
</Text>
|
|
29
|
+
) : null}
|
|
30
|
+
</VStack>
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
export const Form: FormComponent = Object.assign(FormRoot, {Section: FormSection})
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {Section, Form as SwiftUIForm} from '@expo/ui/swift-ui'
|
|
2
|
+
import {Text} from '../../atoms/text'
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import type {FormComponent, FormProps, FormSectionProps} from './form.types'
|
|
5
|
+
|
|
6
|
+
const FormRoot = ({children, testID}: FormProps) => {
|
|
7
|
+
useHostGuard('Form')
|
|
8
|
+
|
|
9
|
+
return <SwiftUIForm testID={testID}>{children}</SwiftUIForm>
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const FormSection = ({children, footer, title}: FormSectionProps) => (
|
|
13
|
+
<Section footer={footer ? <Text variant="footnote">{footer}</Text> : undefined} title={title}>
|
|
14
|
+
{children}
|
|
15
|
+
</Section>
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
export const Form: FormComponent = Object.assign(FormRoot, {Section: FormSection})
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
export type FormProps = {
|
|
4
|
+
children: ReactNode
|
|
5
|
+
testID?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type FormSectionProps = {
|
|
9
|
+
children: ReactNode
|
|
10
|
+
footer?: string
|
|
11
|
+
title?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type FormComponent = ((props: FormProps) => ReactNode) & {
|
|
15
|
+
Section: (props: FormSectionProps) => ReactNode
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './action-sheet'
|
|
2
|
+
export * from './alert'
|
|
3
|
+
export * from './context-menu'
|
|
4
|
+
export * from './fab-menu'
|
|
5
|
+
export * from './form'
|
|
6
|
+
export * from './menu'
|
|
7
|
+
export * from './rn-context-menu'
|
|
8
|
+
export * from './sheet'
|
|
9
|
+
export * from './snackbar'
|
|
10
|
+
export * from './swipe-actions'
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import {Text as ComposeText, DropdownMenu} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {clickable} from '@expo/ui/jetpack-compose/modifiers'
|
|
3
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
|
+
import {useCallback, useMemo, useState} from 'react'
|
|
5
|
+
import {HStack} from '../../atoms/h-stack'
|
|
6
|
+
import {Icon} from '../../atoms/icon'
|
|
7
|
+
import {Spacer} from '../../atoms/spacer'
|
|
8
|
+
import {Text} from '../../atoms/text'
|
|
9
|
+
import {VStack} from '../../atoms/v-stack'
|
|
10
|
+
import {useHostGuard} from '../../host-context'
|
|
11
|
+
import type {MenuAction, MenuComponent, MenuProps} from './menu.types'
|
|
12
|
+
|
|
13
|
+
type MenuItemProps = {
|
|
14
|
+
action: MenuAction
|
|
15
|
+
onDismiss: () => void
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** A row's `clickable` closes over its own action, so memoising it needs a component per row. */
|
|
19
|
+
const MenuItem = ({action, onDismiss}: MenuItemProps) => {
|
|
20
|
+
const theme = useAppTheme()
|
|
21
|
+
const modifiers = useMemo(
|
|
22
|
+
() => [
|
|
23
|
+
clickable(() => {
|
|
24
|
+
onDismiss()
|
|
25
|
+
action.onPress()
|
|
26
|
+
}),
|
|
27
|
+
],
|
|
28
|
+
[action, onDismiss]
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<ComposeText
|
|
33
|
+
color={theme.colorString(action.destructive ? 'content.destructive' : 'content.primary')}
|
|
34
|
+
modifiers={modifiers}
|
|
35
|
+
style={theme.typography.body}
|
|
36
|
+
>
|
|
37
|
+
{action.label}
|
|
38
|
+
</ComposeText>
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const Menu: MenuComponent = ({actions, label}: MenuProps) => {
|
|
43
|
+
useHostGuard('Menu')
|
|
44
|
+
|
|
45
|
+
const [expanded, setExpanded] = useState(false)
|
|
46
|
+
const dismiss = useCallback(() => setExpanded(false), [])
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<VStack>
|
|
50
|
+
<HStack align="center" onPress={() => setExpanded(true)} spacing="s4">
|
|
51
|
+
<Text color="content.accent">{label}</Text>
|
|
52
|
+
<Icon color="content.accent" name="chevronDown" size="s16" />
|
|
53
|
+
</HStack>
|
|
54
|
+
<DropdownMenu expanded={expanded} onDismissRequest={dismiss}>
|
|
55
|
+
{actions.map(action => (
|
|
56
|
+
<MenuItem action={action} key={action.label} onDismiss={dismiss} />
|
|
57
|
+
))}
|
|
58
|
+
</DropdownMenu>
|
|
59
|
+
<Spacer min="s0" />
|
|
60
|
+
</VStack>
|
|
61
|
+
)
|
|
62
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {Button, Menu as SwiftUIMenu} from '@expo/ui/swift-ui'
|
|
2
|
+
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import type {MenuComponent, MenuProps} from './menu.types'
|
|
5
|
+
|
|
6
|
+
export const Menu: MenuComponent = ({actions, label}: MenuProps) => {
|
|
7
|
+
useHostGuard('Menu')
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<SwiftUIMenu label={label}>
|
|
11
|
+
{actions.map(action => (
|
|
12
|
+
<Button
|
|
13
|
+
key={action.label}
|
|
14
|
+
label={action.label}
|
|
15
|
+
onPress={action.onPress}
|
|
16
|
+
role={action.destructive ? 'destructive' : 'default'}
|
|
17
|
+
/>
|
|
18
|
+
))}
|
|
19
|
+
</SwiftUIMenu>
|
|
20
|
+
)
|
|
21
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
import type {IconName} from '../../atoms/icon'
|
|
4
|
+
|
|
5
|
+
export type MenuAction = {
|
|
6
|
+
destructive?: boolean
|
|
7
|
+
icon?: IconName
|
|
8
|
+
label: string
|
|
9
|
+
onPress: () => void
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type MenuProps = {
|
|
13
|
+
actions: MenuAction[]
|
|
14
|
+
label: string
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type MenuComponent = (props: MenuProps) => ReactNode
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import {Text as ComposeText, DropdownMenu, DropdownMenuItem, Host} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useSx} from '@hzblj/kara-sx'
|
|
3
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
|
+
import {useCallback, useState} from 'react'
|
|
5
|
+
import {Pressable, StyleSheet, View} from 'react-native'
|
|
6
|
+
import type {MenuAction} from '../menu'
|
|
7
|
+
import type {RnContextMenuComponent, RnContextMenuExclusionProps, RnContextMenuProps} from './rn-context-menu.types'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The menu's anchor: a point at the trigger's bottom start, so the dropdown opens just under it. The host lies outside
|
|
11
|
+
* the touch path — the dropdown is a popup window of its own, which takes its touches regardless.
|
|
12
|
+
*/
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
anchor: {bottom: 0, height: 1, left: 0, position: 'absolute', width: 1},
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
type MenuRowProps = {
|
|
18
|
+
action: MenuAction
|
|
19
|
+
onDismiss: () => void
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** A row's `onClick` closes over its own action, so memoising it needs a component per row. */
|
|
23
|
+
const MenuRow = ({action, onDismiss}: MenuRowProps) => {
|
|
24
|
+
const theme = useAppTheme()
|
|
25
|
+
|
|
26
|
+
const onClick = useCallback(() => {
|
|
27
|
+
onDismiss()
|
|
28
|
+
action.onPress()
|
|
29
|
+
}, [action, onDismiss])
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<DropdownMenuItem onClick={onClick}>
|
|
33
|
+
<DropdownMenuItem.Text>
|
|
34
|
+
<ComposeText
|
|
35
|
+
color={theme.colorString(action.destructive ? 'content.destructive' : 'content.primary')}
|
|
36
|
+
style={theme.typography.body}
|
|
37
|
+
>
|
|
38
|
+
{action.label}
|
|
39
|
+
</ComposeText>
|
|
40
|
+
</DropdownMenuItem.Text>
|
|
41
|
+
</DropdownMenuItem>
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The trigger stays a plain React Native subtree; a long press on it expands a Compose `DropdownMenu` anchored under
|
|
47
|
+
* it. The host behind the menu mounts on the first long press and stays — a list of triggers that are only scrolled
|
|
48
|
+
* past never builds one. `preview` and `onPreviewPress` are iOS-only: Material has no lifted preview.
|
|
49
|
+
*/
|
|
50
|
+
const RnContextMenuRoot = ({actions, children, testID, ...props}: RnContextMenuProps) => {
|
|
51
|
+
const {onPreviewPress: _onPreviewPress, preview: _preview, ...sx} = props
|
|
52
|
+
const theme = useAppTheme()
|
|
53
|
+
const style = useSx(sx)
|
|
54
|
+
const [isHostMounted, setIsHostMounted] = useState(false)
|
|
55
|
+
const [expanded, setExpanded] = useState(false)
|
|
56
|
+
|
|
57
|
+
const open = useCallback(() => {
|
|
58
|
+
setIsHostMounted(true)
|
|
59
|
+
setExpanded(true)
|
|
60
|
+
}, [])
|
|
61
|
+
|
|
62
|
+
const dismiss = useCallback(() => setExpanded(false), [])
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<Pressable onLongPress={open} style={style} testID={testID}>
|
|
66
|
+
{children}
|
|
67
|
+
{isHostMounted ? (
|
|
68
|
+
<Host
|
|
69
|
+
colorScheme={theme.dark ? 'dark' : 'light'}
|
|
70
|
+
pointerEvents="none"
|
|
71
|
+
seedColor={theme.materialSeed}
|
|
72
|
+
style={styles.anchor}
|
|
73
|
+
>
|
|
74
|
+
<DropdownMenu expanded={expanded} onDismissRequest={dismiss}>
|
|
75
|
+
<DropdownMenu.Items>
|
|
76
|
+
{actions.map(action => (
|
|
77
|
+
<MenuRow action={action} key={action.label} onDismiss={dismiss} />
|
|
78
|
+
))}
|
|
79
|
+
</DropdownMenu.Items>
|
|
80
|
+
</DropdownMenu>
|
|
81
|
+
</Host>
|
|
82
|
+
) : null}
|
|
83
|
+
</Pressable>
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** A touchable inside the trigger already claims its own long press on Android, so this only has to group. */
|
|
88
|
+
const Exclusion = ({children}: RnContextMenuExclusionProps) => <View>{children}</View>
|
|
89
|
+
|
|
90
|
+
export const RnContextMenu: RnContextMenuComponent = Object.assign(RnContextMenuRoot, {Exclusion})
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ContextMenuItem,
|
|
3
|
+
ContextMenu as NativeContextMenu,
|
|
4
|
+
ContextMenuExclusion as NativeContextMenuExclusion,
|
|
5
|
+
} from '@hzblj/kara-native/swift-ui'
|
|
6
|
+
import {useSx} from '@hzblj/kara-sx'
|
|
7
|
+
import {useCallback, useMemo} from 'react'
|
|
8
|
+
import type {SFSymbol} from 'sf-symbols-typescript'
|
|
9
|
+
import {SF_SYMBOLS} from '../../atoms/icon'
|
|
10
|
+
import type {RnContextMenuComponent, RnContextMenuExclusionProps, RnContextMenuProps} from './rn-context-menu.types'
|
|
11
|
+
|
|
12
|
+
const RnContextMenuRoot = ({actions, children, onPreviewPress, preview, testID, ...sx}: RnContextMenuProps) => {
|
|
13
|
+
const style = useSx(sx)
|
|
14
|
+
|
|
15
|
+
/** The native side hands back an id; the index is the one identity every action has. */
|
|
16
|
+
const items = useMemo<ContextMenuItem[]>(
|
|
17
|
+
() =>
|
|
18
|
+
actions.map((action, index) => ({
|
|
19
|
+
destructive: action.destructive,
|
|
20
|
+
id: String(index),
|
|
21
|
+
systemImage: action.icon ? (SF_SYMBOLS[action.icon] as SFSymbol) : undefined,
|
|
22
|
+
title: action.label,
|
|
23
|
+
})),
|
|
24
|
+
[actions]
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
const onSelectItem = useCallback((id: string) => actions[Number(id)]?.onPress(), [actions])
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<NativeContextMenu
|
|
31
|
+
items={items}
|
|
32
|
+
onPreviewPress={onPreviewPress}
|
|
33
|
+
onSelectItem={onSelectItem}
|
|
34
|
+
preview={preview}
|
|
35
|
+
style={style}
|
|
36
|
+
testID={testID}
|
|
37
|
+
>
|
|
38
|
+
{children}
|
|
39
|
+
</NativeContextMenu>
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const Exclusion = ({children}: RnContextMenuExclusionProps) => (
|
|
44
|
+
<NativeContextMenuExclusion>{children}</NativeContextMenuExclusion>
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
export const RnContextMenu: RnContextMenuComponent = Object.assign(RnContextMenuRoot, {Exclusion})
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type {ResponsiveViewSx} from '@hzblj/kara-sx'
|
|
2
|
+
import type {ReactNode} from 'react'
|
|
3
|
+
import type {MenuAction} from '../menu'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A context menu on a React Native subtree — a card in a list, say — opened by a long press. iOS: a
|
|
7
|
+
* `UIContextMenuInteraction`, with an optional React Native `preview` lifted while the menu is open and a callback for
|
|
8
|
+
* a tap on it. Android: a Material dropdown under the subtree. The React Native tier, unlike `ContextMenu`, whose
|
|
9
|
+
* trigger is a native view inside a host.
|
|
10
|
+
*/
|
|
11
|
+
export type RnContextMenuProps = ResponsiveViewSx & {
|
|
12
|
+
actions: MenuAction[]
|
|
13
|
+
/** The trigger, laid out as usual. */
|
|
14
|
+
children: ReactNode
|
|
15
|
+
/** iOS: the user tapped the lifted preview, committing to it — open the detail the card stands for. */
|
|
16
|
+
onPreviewPress?: () => void
|
|
17
|
+
/**
|
|
18
|
+
* iOS: lifted in place of the trigger while the menu is open — a larger version of the card, say. A snapshot of the
|
|
19
|
+
* trigger when unset. Mounted only once a finger has rested on the trigger, so a list of cards does not pay for
|
|
20
|
+
* every preview up front.
|
|
21
|
+
*/
|
|
22
|
+
preview?: ReactNode
|
|
23
|
+
testID?: string
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type RnContextMenuExclusionProps = {
|
|
27
|
+
children: ReactNode
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type RnContextMenuComponent = ((props: RnContextMenuProps) => ReactNode) & {
|
|
31
|
+
/**
|
|
32
|
+
* A region of the trigger that must not open the menu — a button inside the card. On iOS the interaction covers the
|
|
33
|
+
* whole trigger, so a long press on that button would otherwise open the card's menu.
|
|
34
|
+
*/
|
|
35
|
+
Exclusion: (props: RnContextMenuExclusionProps) => ReactNode
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {ModalBottomSheet} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
|
+
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import type {SheetComponent, SheetProps} from './sheet.types'
|
|
6
|
+
|
|
7
|
+
export const Sheet: SheetComponent = ({children, fitToContents = true, onDismiss, visible}: SheetProps) => {
|
|
8
|
+
useHostGuard('Sheet')
|
|
9
|
+
const theme = useAppTheme()
|
|
10
|
+
|
|
11
|
+
if (!visible) {
|
|
12
|
+
return null
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<ModalBottomSheet
|
|
17
|
+
containerColor={theme.color('surface.primary')}
|
|
18
|
+
contentColor={theme.color('content.primary')}
|
|
19
|
+
onDismissRequest={onDismiss}
|
|
20
|
+
skipPartiallyExpanded={fitToContents}
|
|
21
|
+
>
|
|
22
|
+
{children}
|
|
23
|
+
</ModalBottomSheet>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {BottomSheet} from '@expo/ui/swift-ui'
|
|
2
|
+
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import type {SheetComponent, SheetProps} from './sheet.types'
|
|
5
|
+
|
|
6
|
+
export const Sheet: SheetComponent = ({children, fitToContents = true, onDismiss, visible}: SheetProps) => {
|
|
7
|
+
useHostGuard('Sheet')
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<BottomSheet
|
|
11
|
+
fitToContents={fitToContents}
|
|
12
|
+
isPresented={visible}
|
|
13
|
+
onDismiss={onDismiss}
|
|
14
|
+
onIsPresentedChange={next => {
|
|
15
|
+
if (!next) {
|
|
16
|
+
onDismiss()
|
|
17
|
+
}
|
|
18
|
+
}}
|
|
19
|
+
>
|
|
20
|
+
{children}
|
|
21
|
+
</BottomSheet>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {FadeInDown, FadeOutDown} from 'react-native-reanimated'
|
|
2
|
+
|
|
3
|
+
import {ABox} from '../../atoms/box'
|
|
4
|
+
import {Pressable} from '../../atoms/pressable'
|
|
5
|
+
import {RnText} from '../../atoms/rn-text'
|
|
6
|
+
import type {SnackbarComponent, SnackbarProps} from './snackbar.types'
|
|
7
|
+
|
|
8
|
+
export const Snackbar: SnackbarComponent = ({actionLabel, message, onAction, visible}: SnackbarProps) => {
|
|
9
|
+
if (!visible) {
|
|
10
|
+
return null
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<ABox
|
|
15
|
+
align="center"
|
|
16
|
+
bg="surface.high.contrast"
|
|
17
|
+
borderRadius="medium"
|
|
18
|
+
bottom={24}
|
|
19
|
+
entering={FadeInDown}
|
|
20
|
+
exiting={FadeOutDown}
|
|
21
|
+
flexDirection="row"
|
|
22
|
+
gap="s12"
|
|
23
|
+
left={16}
|
|
24
|
+
position="absolute"
|
|
25
|
+
px="s16"
|
|
26
|
+
py="s12"
|
|
27
|
+
right={16}
|
|
28
|
+
shadow="snackbar"
|
|
29
|
+
>
|
|
30
|
+
<RnText color="content.on.high.contrast" variant="footnote">
|
|
31
|
+
{message}
|
|
32
|
+
</RnText>
|
|
33
|
+
{actionLabel ? (
|
|
34
|
+
<Pressable onPress={onAction}>
|
|
35
|
+
<RnText color="content.accent" variant="footnoteMedium">
|
|
36
|
+
{actionLabel}
|
|
37
|
+
</RnText>
|
|
38
|
+
</Pressable>
|
|
39
|
+
) : null}
|
|
40
|
+
</ABox>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {warnUnsupported} from '../../platform-support'
|
|
2
|
+
import type {SwipeActionsComponent, SwipeActionsProps} from './swipe-actions.types'
|
|
3
|
+
|
|
4
|
+
/** Passes the row straight through, so losing the gesture never costs you the content. */
|
|
5
|
+
const SwipeActionsRoot = ({children}: SwipeActionsProps) => {
|
|
6
|
+
warnUnsupported('SwipeActions', 'Android')
|
|
7
|
+
|
|
8
|
+
return children
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** The buttons belong to a gesture that does not exist here, so they are dropped. */
|
|
12
|
+
const SwipeActionsGroup = () => null
|
|
13
|
+
|
|
14
|
+
export const SwipeActions: SwipeActionsComponent = Object.assign(SwipeActionsRoot, {Actions: SwipeActionsGroup})
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {SwipeActions as SwiftUISwipeActions} from '@expo/ui/swift-ui'
|
|
2
|
+
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import type {SwipeActionsComponent, SwipeActionsGroupProps, SwipeActionsProps} from './swipe-actions.types'
|
|
5
|
+
|
|
6
|
+
const SwipeActionsRoot = ({children, testID}: SwipeActionsProps) => {
|
|
7
|
+
useHostGuard('SwipeActions')
|
|
8
|
+
|
|
9
|
+
return <SwiftUISwipeActions testID={testID}>{children}</SwiftUISwipeActions>
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const SwipeActionsGroup = ({allowsFullSwipe = true, children, edge = 'trailing'}: SwipeActionsGroupProps) => (
|
|
13
|
+
<SwiftUISwipeActions.Actions allowsFullSwipe={allowsFullSwipe} edge={edge}>
|
|
14
|
+
{children}
|
|
15
|
+
</SwiftUISwipeActions.Actions>
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
export const SwipeActions: SwipeActionsComponent = Object.assign(SwipeActionsRoot, {Actions: SwipeActionsGroup})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
export type SwipeActionsEdge = 'leading' | 'trailing'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Swipe-to-reveal buttons on a row. iOS only — Compose ships no equivalent, so on Android the
|
|
7
|
+
* row renders exactly as it would without this wrapper and the action buttons are dropped.
|
|
8
|
+
* Degrading that way rather than to `null` keeps the content on screen.
|
|
9
|
+
*/
|
|
10
|
+
export type SwipeActionsProps = {
|
|
11
|
+
children: ReactNode
|
|
12
|
+
testID?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type SwipeActionsGroupProps = {
|
|
16
|
+
/** Whether swiping all the way performs the first action in the group. */
|
|
17
|
+
allowsFullSwipe?: boolean
|
|
18
|
+
children: ReactNode
|
|
19
|
+
edge?: SwipeActionsEdge
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type SwipeActionsComponent = ((props: SwipeActionsProps) => ReactNode) & {
|
|
23
|
+
Actions: (props: SwipeActionsGroupProps) => ReactNode
|
|
24
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const warned = new Set<string>()
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Announces an atom that only one platform can implement. The stub still satisfies the shared
|
|
5
|
+
* component type, so `contract.check.ts` keeps both files honest — this just makes the gap loud
|
|
6
|
+
* in dev instead of leaving a control that mysteriously never appears.
|
|
7
|
+
*
|
|
8
|
+
* Warns once per atom: the gap is permanent, so repeating it every render would be noise.
|
|
9
|
+
*/
|
|
10
|
+
export const warnUnsupported = (atom: string, platform: 'Android' | 'iOS') => {
|
|
11
|
+
if (!__DEV__ || warned.has(atom)) {
|
|
12
|
+
return
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
warned.add(atom)
|
|
16
|
+
|
|
17
|
+
console.error(
|
|
18
|
+
`[kara-ui] <${atom}> has no ${platform} implementation and renders nothing there. Branch on Platform.OS at the call site.`
|
|
19
|
+
)
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './screen'
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {Column, Host} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useSxModifiers} from '@hzblj/kara-sx'
|
|
3
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
|
+
import {StyleSheet} from 'react-native'
|
|
5
|
+
import {HostBoundary} from '../../host-context'
|
|
6
|
+
import type {ScreenComponent, ScreenProps} from './screen.types'
|
|
7
|
+
|
|
8
|
+
export const Screen: ScreenComponent = ({bg = 'surface.base', children, ignoreKeyboardInset, testID}: ScreenProps) => {
|
|
9
|
+
const theme = useAppTheme()
|
|
10
|
+
const modifiers = useSxModifiers({bg, tall: true, wide: true})
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<Host
|
|
14
|
+
colorScheme={theme.dark ? 'dark' : 'light'}
|
|
15
|
+
ignoreSafeAreaKeyboardInsets={ignoreKeyboardInset}
|
|
16
|
+
seedColor={theme.materialSeed}
|
|
17
|
+
style={StyleSheet.absoluteFill}
|
|
18
|
+
>
|
|
19
|
+
<Column modifiers={modifiers}>
|
|
20
|
+
<HostBoundary>{children}</HostBoundary>
|
|
21
|
+
</Column>
|
|
22
|
+
</Host>
|
|
23
|
+
)
|
|
24
|
+
}
|