@hzblj/kara-components 0.0.0-stage → 0.2.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/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 +27 -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 +82 -0
- package/lib/module/atoms/button/button-tokens.js.map +1 -0
- package/lib/module/atoms/button/button.android.js +66 -0
- package/lib/module/atoms/button/button.android.js.map +1 -0
- package/lib/module/atoms/button/button.ios.js +89 -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 +47 -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/date-picker/date-picker.android.js +72 -0
- package/lib/module/atoms/date-picker/date-picker.android.js.map +1 -0
- package/lib/module/atoms/date-picker/date-picker.ios.js +25 -0
- package/lib/module/atoms/date-picker/date-picker.ios.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 +25 -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 +20 -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.android.js +24 -0
- package/lib/module/atoms/icon/icon.android.js.map +1 -0
- package/lib/module/atoms/icon/icon.ios.js +35 -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 +5 -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 +39 -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.android.js +87 -0
- package/lib/module/atoms/picker/picker.android.js.map +1 -0
- package/lib/module/atoms/picker/picker.ios.js +28 -0
- package/lib/module/atoms/picker/picker.ios.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-icon/index.js +5 -0
- package/lib/module/atoms/rn-icon/index.js.map +1 -0
- package/lib/module/atoms/rn-icon/rn-icon.android.js +29 -0
- package/lib/module/atoms/rn-icon/rn-icon.android.js.map +1 -0
- package/lib/module/atoms/rn-icon/rn-icon.ios.js +29 -0
- package/lib/module/atoms/rn-icon/rn-icon.ios.js.map +1 -0
- package/lib/module/atoms/rn-icon/rn-icon.types.js +4 -0
- package/lib/module/atoms/rn-icon/rn-icon.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 +66 -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 +46 -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/glyph/glyph-button.android.js +25 -0
- package/lib/module/glyph/glyph-button.android.js.map +1 -0
- package/lib/module/glyph/glyph-button.ios.js +33 -0
- package/lib/module/glyph/glyph-button.ios.js.map +1 -0
- package/lib/module/glyph/glyph-button.types.js +4 -0
- package/lib/module/glyph/glyph-button.types.js.map +1 -0
- package/lib/module/glyph/glyph.android.js +20 -0
- package/lib/module/glyph/glyph.android.js.map +1 -0
- package/lib/module/glyph/glyph.ios.js +24 -0
- package/lib/module/glyph/glyph.ios.js.map +1 -0
- package/lib/module/glyph/glyph.types.js +4 -0
- package/lib/module/glyph/glyph.types.js.map +1 -0
- package/lib/module/glyph/index.js +8 -0
- package/lib/module/glyph/index.js.map +1 -0
- package/lib/module/glyph/rn-glyph.android.js +25 -0
- package/lib/module/glyph/rn-glyph.android.js.map +1 -0
- package/lib/module/glyph/rn-glyph.ios.js +26 -0
- package/lib/module/glyph/rn-glyph.ios.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 +45 -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 +43 -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 +41 -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 +36 -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 +50 -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 +43 -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 +70 -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 +101 -0
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -0
- package/lib/module/organisms/context-menu/context-menu.ios.js +44 -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 +77 -0
- package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -0
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +48 -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 +44 -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 +12 -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 +81 -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/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 +28 -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/date-picker/date-picker.d.ts +1 -0
- package/lib/typescript/atoms/date-picker/date-picker.ios.d.ts +3 -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 +6 -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.d.ts +1 -0
- package/lib/typescript/atoms/icon/icon.ios.d.ts +6 -0
- package/lib/typescript/atoms/icon/icon.types.d.ts +27 -0
- package/lib/typescript/atoms/icon/index.d.ts +2 -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 +20 -0
- package/lib/typescript/atoms/picker/index.d.ts +2 -0
- package/lib/typescript/atoms/picker/picker.d.ts +1 -0
- package/lib/typescript/atoms/picker/picker.ios.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-icon/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-icon/rn-icon.d.ts +1 -0
- package/lib/typescript/atoms/rn-icon/rn-icon.ios.d.ts +3 -0
- package/lib/typescript/atoms/rn-icon/rn-icon.types.d.ts +5 -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/glyph/glyph-button.d.ts +1 -0
- package/lib/typescript/glyph/glyph-button.ios.d.ts +2 -0
- package/lib/typescript/glyph/glyph-button.types.d.ts +10 -0
- package/lib/typescript/glyph/glyph.d.ts +1 -0
- package/lib/typescript/glyph/glyph.ios.d.ts +3 -0
- package/lib/typescript/glyph/glyph.types.d.ts +13 -0
- package/lib/typescript/glyph/index.d.ts +5 -0
- package/lib/typescript/glyph/rn-glyph.d.ts +1 -0
- package/lib/typescript/glyph/rn-glyph.ios.d.ts +3 -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 +26 -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 +33 -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 +18 -0
- package/lib/typescript/organisms/form/index.d.ts +2 -0
- package/lib/typescript/organisms/index.d.ts +9 -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/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 +94 -4
- 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 +20 -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 +84 -0
- package/src/atoms/button/button.android.tsx +70 -0
- package/src/atoms/button/button.ios.tsx +89 -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 +41 -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/date-picker/date-picker.android.tsx +74 -0
- package/src/atoms/date-picker/date-picker.ios.tsx +27 -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 +21 -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 +12 -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.android.tsx +21 -0
- package/src/atoms/icon/icon.ios.tsx +35 -0
- package/src/atoms/icon/icon.types.ts +30 -0
- package/src/atoms/icon/index.ts +2 -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 +34 -0
- package/src/atoms/list/list.ios.tsx +18 -0
- package/src/atoms/list/list.types.ts +22 -0
- package/src/atoms/picker/index.ts +2 -0
- package/src/atoms/picker/picker.android.tsx +88 -0
- package/src/atoms/picker/picker.ios.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-icon/index.ts +2 -0
- package/src/atoms/rn-icon/rn-icon.android.tsx +28 -0
- package/src/atoms/rn-icon/rn-icon.ios.tsx +28 -0
- package/src/atoms/rn-icon/rn-icon.types.ts +8 -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 +50 -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 +45 -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/glyph/glyph-button.android.tsx +25 -0
- package/src/glyph/glyph-button.ios.tsx +37 -0
- package/src/glyph/glyph-button.types.ts +12 -0
- package/src/glyph/glyph.android.tsx +12 -0
- package/src/glyph/glyph.ios.tsx +15 -0
- package/src/glyph/glyph.types.ts +15 -0
- package/src/glyph/index.ts +5 -0
- package/src/glyph/rn-glyph.android.tsx +14 -0
- package/src/glyph/rn-glyph.ios.tsx +16 -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 +29 -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 +23 -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 +28 -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 +33 -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 +29 -0
- package/src/molecules/search-bar/index.ts +2 -0
- package/src/molecules/search-bar/search-bar.tsx +44 -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 +74 -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 +90 -0
- package/src/organisms/context-menu/context-menu.ios.tsx +46 -0
- package/src/organisms/context-menu/context-menu.types.ts +36 -0
- package/src/organisms/context-menu/index.ts +2 -0
- package/src/organisms/fab-menu/fab-menu.android.tsx +79 -0
- package/src/organisms/fab-menu/fab-menu.ios.tsx +44 -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 +21 -0
- package/src/organisms/form/index.ts +2 -0
- package/src/organisms/index.ts +9 -0
- package/src/organisms/menu/index.ts +2 -0
- package/src/organisms/menu/menu.android.tsx +68 -0
- package/src/organisms/menu/menu.ios.tsx +21 -0
- package/src/organisms/menu/menu.types.ts +17 -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,25 @@
|
|
|
1
|
+
import {Text as ComposeText, TooltipBox} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
|
+
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import type {TooltipComponent, TooltipProps} from './tooltip.types'
|
|
6
|
+
|
|
7
|
+
export const Tooltip: TooltipComponent = ({children, text}: TooltipProps) => {
|
|
8
|
+
useHostGuard('Tooltip')
|
|
9
|
+
|
|
10
|
+
const theme = useAppTheme()
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<TooltipBox>
|
|
14
|
+
<TooltipBox.PlainTooltip
|
|
15
|
+
containerColor={theme.colorString('surface.high.contrast')}
|
|
16
|
+
contentColor={theme.colorString('content.on.high.contrast')}
|
|
17
|
+
>
|
|
18
|
+
<ComposeText color={theme.colorString('content.on.high.contrast')} style={theme.typography.footnote}>
|
|
19
|
+
{text}
|
|
20
|
+
</ComposeText>
|
|
21
|
+
</TooltipBox.PlainTooltip>
|
|
22
|
+
{children}
|
|
23
|
+
</TooltipBox>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {Popover} from '@expo/ui/swift-ui'
|
|
2
|
+
import {Text} from '../../atoms/text'
|
|
3
|
+
import {VStack} from '../../atoms/v-stack'
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import type {TooltipComponent, TooltipProps} from './tooltip.types'
|
|
6
|
+
|
|
7
|
+
export const Tooltip: TooltipComponent = ({children, onDismiss, text, visible}: TooltipProps) => {
|
|
8
|
+
useHostGuard('Tooltip')
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<Popover
|
|
12
|
+
isPresented={visible}
|
|
13
|
+
onIsPresentedChange={next => {
|
|
14
|
+
if (!next) {
|
|
15
|
+
onDismiss()
|
|
16
|
+
}
|
|
17
|
+
}}
|
|
18
|
+
>
|
|
19
|
+
<Popover.Trigger>{children}</Popover.Trigger>
|
|
20
|
+
<Popover.Content>
|
|
21
|
+
<VStack p="s12">
|
|
22
|
+
<Text variant="footnote">{text}</Text>
|
|
23
|
+
</VStack>
|
|
24
|
+
</Popover.Content>
|
|
25
|
+
</Popover>
|
|
26
|
+
)
|
|
27
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {Divider} from '../../atoms/divider'
|
|
2
|
+
import {HStack} from '../../atoms/h-stack'
|
|
3
|
+
import {Text} from '../../atoms/text'
|
|
4
|
+
import {VStack} from '../../atoms/v-stack'
|
|
5
|
+
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {Sheet} from '../sheet'
|
|
7
|
+
import type {ActionSheetComponent, ActionSheetProps} from './action-sheet.types'
|
|
8
|
+
|
|
9
|
+
export const ActionSheet: ActionSheetComponent = ({actions, onDismiss, title, visible}: ActionSheetProps) => {
|
|
10
|
+
useHostGuard('ActionSheet')
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<Sheet onDismiss={onDismiss} visible={visible}>
|
|
14
|
+
<VStack p="s16" spacing="s4" wide>
|
|
15
|
+
<Text color="content.secondary" variant="labelMedium">
|
|
16
|
+
{title}
|
|
17
|
+
</Text>
|
|
18
|
+
<Divider />
|
|
19
|
+
{actions.map(action => (
|
|
20
|
+
<HStack
|
|
21
|
+
key={action.label}
|
|
22
|
+
onPress={() => {
|
|
23
|
+
onDismiss()
|
|
24
|
+
action.onPress()
|
|
25
|
+
}}
|
|
26
|
+
py="s12"
|
|
27
|
+
wide
|
|
28
|
+
>
|
|
29
|
+
<Text color={action.destructive ? 'content.destructive' : 'content.primary'}>{action.label}</Text>
|
|
30
|
+
</HStack>
|
|
31
|
+
))}
|
|
32
|
+
</VStack>
|
|
33
|
+
</Sheet>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {Button, ConfirmationDialog} from '@expo/ui/swift-ui'
|
|
2
|
+
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import type {ActionSheetComponent, ActionSheetProps} from './action-sheet.types'
|
|
5
|
+
|
|
6
|
+
export const ActionSheet: ActionSheetComponent = ({actions, onDismiss, title, visible}: ActionSheetProps) => {
|
|
7
|
+
useHostGuard('ActionSheet')
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<ConfirmationDialog
|
|
11
|
+
isPresented={visible}
|
|
12
|
+
onIsPresentedChange={next => {
|
|
13
|
+
if (!next) {
|
|
14
|
+
onDismiss()
|
|
15
|
+
}
|
|
16
|
+
}}
|
|
17
|
+
title={title}
|
|
18
|
+
>
|
|
19
|
+
{actions.map(action => (
|
|
20
|
+
<Button
|
|
21
|
+
key={action.label}
|
|
22
|
+
label={action.label}
|
|
23
|
+
onPress={action.onPress}
|
|
24
|
+
role={action.destructive ? 'destructive' : 'default'}
|
|
25
|
+
/>
|
|
26
|
+
))}
|
|
27
|
+
</ConfirmationDialog>
|
|
28
|
+
)
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
import type {MenuAction} from '../menu'
|
|
4
|
+
|
|
5
|
+
export type ActionSheetProps = {
|
|
6
|
+
actions: MenuAction[]
|
|
7
|
+
onDismiss: () => void
|
|
8
|
+
title: string
|
|
9
|
+
visible: boolean
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type ActionSheetComponent = (props: ActionSheetProps) => ReactNode
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {AlertDialog, Text as ComposeText, TextButton} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
|
+
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import type {AlertComponent, AlertProps} from './alert.types'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Material's `AlertDialog`, built from its slots — title, text, confirm and dismiss buttons. Content passed as plain
|
|
9
|
+
* children has no slot to land in, and the dialog draws empty. The actions mirror the iOS alert: the confirm label
|
|
10
|
+
* (in the destructive colour when asked) and Cancel.
|
|
11
|
+
*/
|
|
12
|
+
export const Alert: AlertComponent = ({
|
|
13
|
+
confirmLabel = 'OK',
|
|
14
|
+
destructive = false,
|
|
15
|
+
message,
|
|
16
|
+
onConfirm,
|
|
17
|
+
onDismiss,
|
|
18
|
+
title,
|
|
19
|
+
visible,
|
|
20
|
+
}: AlertProps) => {
|
|
21
|
+
useHostGuard('Alert')
|
|
22
|
+
const theme = useAppTheme()
|
|
23
|
+
|
|
24
|
+
if (!visible) {
|
|
25
|
+
return null
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<AlertDialog
|
|
30
|
+
colors={{
|
|
31
|
+
containerColor: theme.color('surface.primary'),
|
|
32
|
+
textContentColor: theme.color('content.secondary'),
|
|
33
|
+
titleContentColor: theme.color('content.primary'),
|
|
34
|
+
}}
|
|
35
|
+
onDismissRequest={onDismiss}
|
|
36
|
+
>
|
|
37
|
+
<AlertDialog.Title>
|
|
38
|
+
<ComposeText color={theme.colorString('content.primary')} style={theme.typography.headingXs}>
|
|
39
|
+
{title}
|
|
40
|
+
</ComposeText>
|
|
41
|
+
</AlertDialog.Title>
|
|
42
|
+
{message ? (
|
|
43
|
+
<AlertDialog.Text>
|
|
44
|
+
<ComposeText color={theme.colorString('content.secondary')} style={theme.typography.body}>
|
|
45
|
+
{message}
|
|
46
|
+
</ComposeText>
|
|
47
|
+
</AlertDialog.Text>
|
|
48
|
+
) : null}
|
|
49
|
+
<AlertDialog.ConfirmButton>
|
|
50
|
+
<TextButton
|
|
51
|
+
onClick={() => {
|
|
52
|
+
// As on iOS, where any action closes the alert and reports it through `onDismiss`.
|
|
53
|
+
onConfirm?.()
|
|
54
|
+
onDismiss()
|
|
55
|
+
}}
|
|
56
|
+
>
|
|
57
|
+
<ComposeText
|
|
58
|
+
color={theme.colorString(destructive ? 'content.destructive' : 'content.accent')}
|
|
59
|
+
style={theme.typography.body}
|
|
60
|
+
>
|
|
61
|
+
{confirmLabel}
|
|
62
|
+
</ComposeText>
|
|
63
|
+
</TextButton>
|
|
64
|
+
</AlertDialog.ConfirmButton>
|
|
65
|
+
<AlertDialog.DismissButton>
|
|
66
|
+
<TextButton onClick={onDismiss}>
|
|
67
|
+
<ComposeText color={theme.colorString('content.accent')} style={theme.typography.body}>
|
|
68
|
+
Cancel
|
|
69
|
+
</ComposeText>
|
|
70
|
+
</TextButton>
|
|
71
|
+
</AlertDialog.DismissButton>
|
|
72
|
+
</AlertDialog>
|
|
73
|
+
)
|
|
74
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {Button, Alert as SwiftUIAlert, Text as SwiftUIText} from '@expo/ui/swift-ui'
|
|
2
|
+
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import type {AlertComponent, AlertProps} from './alert.types'
|
|
5
|
+
|
|
6
|
+
export const Alert: AlertComponent = ({
|
|
7
|
+
confirmLabel = 'OK',
|
|
8
|
+
destructive = false,
|
|
9
|
+
message,
|
|
10
|
+
onConfirm,
|
|
11
|
+
onDismiss,
|
|
12
|
+
title,
|
|
13
|
+
visible,
|
|
14
|
+
}: AlertProps) => {
|
|
15
|
+
useHostGuard('Alert')
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<SwiftUIAlert
|
|
19
|
+
isPresented={visible}
|
|
20
|
+
onIsPresentedChange={next => {
|
|
21
|
+
if (!next) {
|
|
22
|
+
onDismiss()
|
|
23
|
+
}
|
|
24
|
+
}}
|
|
25
|
+
title={title}
|
|
26
|
+
>
|
|
27
|
+
<SwiftUIAlert.Actions>
|
|
28
|
+
<Button label={confirmLabel} onPress={onConfirm ?? onDismiss} role={destructive ? 'destructive' : 'default'} />
|
|
29
|
+
<Button label="Cancel" onPress={onDismiss} role="cancel" />
|
|
30
|
+
</SwiftUIAlert.Actions>
|
|
31
|
+
{/*
|
|
32
|
+
`Alert.Message` is a native slot view, and a SwiftUI host cannot render a bare string — it
|
|
33
|
+
becomes a `RawText` node with no component view and trips an assertion in
|
|
34
|
+
`RCTComponentViewFactory`. The alert mounts even while dismissed (`visible` only drives
|
|
35
|
+
`isPresented`), so an unwrapped string here crashes on mount, not on open. Plain SwiftUI
|
|
36
|
+
`Text` rather than the themed atom, so the message keeps system alert styling.
|
|
37
|
+
*/}
|
|
38
|
+
{message ? (
|
|
39
|
+
<SwiftUIAlert.Message>
|
|
40
|
+
<SwiftUIText>{message}</SwiftUIText>
|
|
41
|
+
</SwiftUIAlert.Message>
|
|
42
|
+
) : null}
|
|
43
|
+
</SwiftUIAlert>
|
|
44
|
+
)
|
|
45
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
export type AlertProps = {
|
|
4
|
+
confirmLabel?: string
|
|
5
|
+
destructive?: boolean
|
|
6
|
+
message?: string
|
|
7
|
+
onConfirm?: () => void
|
|
8
|
+
onDismiss: () => void
|
|
9
|
+
title: string
|
|
10
|
+
visible: boolean
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type AlertComponent = (props: AlertProps) => 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 {ContextMenuComponent, ContextMenuExclusionProps, ContextMenuProps} from './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 ContextMenuRoot = ({actions, children, testID, ...props}: ContextMenuProps) => {
|
|
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}: ContextMenuExclusionProps) => <View>{children}</View>
|
|
89
|
+
|
|
90
|
+
export const ContextMenu: ContextMenuComponent = Object.assign(ContextMenuRoot, {Exclusion})
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {iconResourceName} from '@hzblj/kara-native'
|
|
2
|
+
import {
|
|
3
|
+
type ContextMenuItem,
|
|
4
|
+
ContextMenu as NativeContextMenu,
|
|
5
|
+
ContextMenuExclusion as NativeContextMenuExclusion,
|
|
6
|
+
} from '@hzblj/kara-native/swift-ui'
|
|
7
|
+
import {useSx} from '@hzblj/kara-sx'
|
|
8
|
+
import {useCallback, useMemo} from 'react'
|
|
9
|
+
import type {ContextMenuComponent, ContextMenuExclusionProps, ContextMenuProps} from './context-menu.types'
|
|
10
|
+
|
|
11
|
+
const ContextMenuRoot = ({actions, children, onPreviewPress, preview, testID, ...sx}: ContextMenuProps) => {
|
|
12
|
+
const style = useSx(sx)
|
|
13
|
+
|
|
14
|
+
/** The native side hands back an id; the index is the one identity every action has. */
|
|
15
|
+
const items = useMemo<ContextMenuItem[]>(
|
|
16
|
+
() =>
|
|
17
|
+
actions.map((action, index) => ({
|
|
18
|
+
destructive: action.destructive,
|
|
19
|
+
id: String(index),
|
|
20
|
+
image: action.icon ? iconResourceName(action.icon) : undefined,
|
|
21
|
+
title: action.label,
|
|
22
|
+
})),
|
|
23
|
+
[actions]
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
const onSelectItem = useCallback((id: string) => actions[Number(id)]?.onPress(), [actions])
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<NativeContextMenu
|
|
30
|
+
items={items}
|
|
31
|
+
onPreviewPress={onPreviewPress}
|
|
32
|
+
onSelectItem={onSelectItem}
|
|
33
|
+
preview={preview}
|
|
34
|
+
style={style}
|
|
35
|
+
testID={testID}
|
|
36
|
+
>
|
|
37
|
+
{children}
|
|
38
|
+
</NativeContextMenu>
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const Exclusion = ({children}: ContextMenuExclusionProps) => (
|
|
43
|
+
<NativeContextMenuExclusion>{children}</NativeContextMenuExclusion>
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
export const ContextMenu: ContextMenuComponent = Object.assign(ContextMenuRoot, {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 trigger is ordinary React Native layout, so it
|
|
9
|
+
* needs no `Screen` or `Island`.
|
|
10
|
+
*/
|
|
11
|
+
export type ContextMenuProps = 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 ContextMenuExclusionProps = {
|
|
27
|
+
children: ReactNode
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type ContextMenuComponent = ((props: ContextMenuProps) => 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: ContextMenuExclusionProps) => ReactNode
|
|
36
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {Text as ComposeText} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {
|
|
3
|
+
FloatingActionButtonMenu,
|
|
4
|
+
FloatingActionButtonMenuItem,
|
|
5
|
+
ToggleFloatingActionButton,
|
|
6
|
+
} from '@hzblj/kara-native/jetpack-compose'
|
|
7
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
8
|
+
import {useCallback, useState} from 'react'
|
|
9
|
+
import {Icon} from '../../atoms/icon'
|
|
10
|
+
import {Glyph} from '../../glyph'
|
|
11
|
+
import {useHostGuard} from '../../host-context'
|
|
12
|
+
import type {MenuAction} from '../menu'
|
|
13
|
+
import type {FabMenuComponent, FabMenuProps} from './fab-menu.types'
|
|
14
|
+
|
|
15
|
+
type FabMenuRowProps = {
|
|
16
|
+
action: MenuAction
|
|
17
|
+
onSelect: (action: MenuAction) => void
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** A row's `onClick` closes over its own action, so memoising it needs a component per row. */
|
|
21
|
+
const FabMenuRow = ({action, onSelect}: FabMenuRowProps) => {
|
|
22
|
+
const theme = useAppTheme()
|
|
23
|
+
const onClick = useCallback(() => onSelect(action), [action, onSelect])
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<FloatingActionButtonMenuItem
|
|
27
|
+
containerColor={theme.color('fill.accent.primary')}
|
|
28
|
+
contentColor={theme.color('content.on.bg')}
|
|
29
|
+
onClick={onClick}
|
|
30
|
+
>
|
|
31
|
+
{action.icon ? (
|
|
32
|
+
<FloatingActionButtonMenuItem.Icon>
|
|
33
|
+
<Icon color="content.on.bg" name={action.icon} />
|
|
34
|
+
</FloatingActionButtonMenuItem.Icon>
|
|
35
|
+
) : null}
|
|
36
|
+
<FloatingActionButtonMenuItem.Text>
|
|
37
|
+
<ComposeText color={theme.colorString('content.on.bg')} style={theme.typography.labelMedium}>
|
|
38
|
+
{action.label}
|
|
39
|
+
</ComposeText>
|
|
40
|
+
</FloatingActionButtonMenuItem.Text>
|
|
41
|
+
</FloatingActionButtonMenuItem>
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The menu fills its host and pins itself to the bottom end, so give it the corner of a screen — a `ZStack` over the
|
|
47
|
+
* content — rather than a row of its own. The pills take the button's colours, so the menu reads as the button
|
|
48
|
+
* unfolding rather than a second surface.
|
|
49
|
+
*/
|
|
50
|
+
export const FabMenu: FabMenuComponent = ({actions, icon}: FabMenuProps) => {
|
|
51
|
+
useHostGuard('FabMenu')
|
|
52
|
+
|
|
53
|
+
const theme = useAppTheme()
|
|
54
|
+
const [expanded, setExpanded] = useState(false)
|
|
55
|
+
|
|
56
|
+
const onSelect = useCallback((action: MenuAction) => {
|
|
57
|
+
setExpanded(false)
|
|
58
|
+
action.onPress()
|
|
59
|
+
}, [])
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<FloatingActionButtonMenu expanded={expanded} horizontalAlignment="end">
|
|
63
|
+
<FloatingActionButtonMenu.Button>
|
|
64
|
+
<ToggleFloatingActionButton
|
|
65
|
+
checked={expanded}
|
|
66
|
+
containerColor={theme.color('fill.accent.primary')}
|
|
67
|
+
onCheckedChange={setExpanded}
|
|
68
|
+
>
|
|
69
|
+
<ToggleFloatingActionButton.Icon>
|
|
70
|
+
{icon ? <Icon color="content.on.bg" name={icon} /> : <Glyph color="content.on.bg" name="plus" />}
|
|
71
|
+
</ToggleFloatingActionButton.Icon>
|
|
72
|
+
</ToggleFloatingActionButton>
|
|
73
|
+
</FloatingActionButtonMenu.Button>
|
|
74
|
+
{actions.map(action => (
|
|
75
|
+
<FabMenuRow action={action} key={action.label} onSelect={onSelect} />
|
|
76
|
+
))}
|
|
77
|
+
</FloatingActionButtonMenu>
|
|
78
|
+
)
|
|
79
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {Button, Image, Label, Menu} from '@expo/ui/swift-ui'
|
|
2
|
+
import {iconResourceName} from '@hzblj/kara-native'
|
|
3
|
+
|
|
4
|
+
import {Icon} from '../../atoms/icon'
|
|
5
|
+
import {VStack} from '../../atoms/v-stack'
|
|
6
|
+
import {Glyph} from '../../glyph'
|
|
7
|
+
import {useHostGuard} from '../../host-context'
|
|
8
|
+
import type {FabMenuComponent, FabMenuProps} from './fab-menu.types'
|
|
9
|
+
|
|
10
|
+
/** Matches `Fab`, so a screen can switch between the two without the button changing shape. */
|
|
11
|
+
const FAB_SIZE = 56
|
|
12
|
+
|
|
13
|
+
export const FabMenu: FabMenuComponent = ({actions, icon, testID}: FabMenuProps) => {
|
|
14
|
+
useHostGuard('FabMenu')
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<Menu
|
|
18
|
+
label={
|
|
19
|
+
<VStack
|
|
20
|
+
align="center"
|
|
21
|
+
bg="fill.accent.primary"
|
|
22
|
+
borderRadius="full"
|
|
23
|
+
h={FAB_SIZE}
|
|
24
|
+
p="s16"
|
|
25
|
+
shadow="btn.accent"
|
|
26
|
+
w={FAB_SIZE}
|
|
27
|
+
>
|
|
28
|
+
{icon ? <Icon color="content.on.bg" name={icon} /> : <Glyph color="content.on.bg" name="plus" />}
|
|
29
|
+
</VStack>
|
|
30
|
+
}
|
|
31
|
+
testID={testID}
|
|
32
|
+
>
|
|
33
|
+
{actions.map(action => (
|
|
34
|
+
<Button key={action.label} onPress={action.onPress} role={action.destructive ? 'destructive' : 'default'}>
|
|
35
|
+
{/* A menu row is the system's Label: our icon is its image, from the asset catalog, and UIKit sizes it. */}
|
|
36
|
+
<Label
|
|
37
|
+
icon={action.icon ? <Image assetName={iconResourceName(action.icon)} /> : undefined}
|
|
38
|
+
title={action.label}
|
|
39
|
+
/>
|
|
40
|
+
</Button>
|
|
41
|
+
))}
|
|
42
|
+
</Menu>
|
|
43
|
+
)
|
|
44
|
+
}
|
|
@@ -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 — one of the app's. A plus 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 wide>{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})
|