@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,35 @@
|
|
|
1
|
+
import {Image} from '@expo/ui/swift-ui'
|
|
2
|
+
import {accessibilityHidden, frame, accessibilityLabel as labelModifier, resizable} from '@expo/ui/swift-ui/modifiers'
|
|
3
|
+
import {iconResourceName} from '@hzblj/kara-native'
|
|
4
|
+
import {spacing, useAppTheme} from '@hzblj/kara-theme'
|
|
5
|
+
import {useMemo} from 'react'
|
|
6
|
+
|
|
7
|
+
import {useHostGuard} from '../../host-context'
|
|
8
|
+
import type {IconComponent, IconProps} from './icon.types'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The app's icon from its asset catalog — the template image set the config plugin generated from the SVG, vector data
|
|
12
|
+
* kept, so `resizable()` scales it crisply to the token size and the platform tints it.
|
|
13
|
+
*/
|
|
14
|
+
export const Icon: IconComponent = ({
|
|
15
|
+
accessibilityLabel,
|
|
16
|
+
color = 'content.primary',
|
|
17
|
+
name,
|
|
18
|
+
size = 's24',
|
|
19
|
+
testID,
|
|
20
|
+
}: IconProps) => {
|
|
21
|
+
useHostGuard('Icon')
|
|
22
|
+
const theme = useAppTheme()
|
|
23
|
+
const side = spacing[size]
|
|
24
|
+
|
|
25
|
+
const modifiers = useMemo(
|
|
26
|
+
() => [
|
|
27
|
+
resizable(),
|
|
28
|
+
frame({height: side, width: side}),
|
|
29
|
+
accessibilityLabel ? labelModifier(accessibilityLabel) : accessibilityHidden(true),
|
|
30
|
+
],
|
|
31
|
+
[accessibilityLabel, side]
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
return <Image assetName={iconResourceName(name)} color={theme.color(color)} modifiers={modifiers} testID={testID} />
|
|
35
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type {ColorToken, SpaceSize} from '@hzblj/kara-theme'
|
|
2
|
+
import type {ReactNode} from 'react'
|
|
3
|
+
|
|
4
|
+
declare global {
|
|
5
|
+
/**
|
|
6
|
+
* The app's icon names, one key per SVG in its icon folder. Written by the config plugin
|
|
7
|
+
* (`plugins: [['@hzblj/kara-ui', {icons: {source: './assets/icons'}}]]`) into `kara-icons.d.ts`, or by
|
|
8
|
+
* `npx kara-icons`. Empty until then. Global, so the declaration reaches it without resolving any kara package.
|
|
9
|
+
*/
|
|
10
|
+
interface KaraIcons {}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type DeclaredIconName = keyof KaraIcons & string
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* One of the app's icons. Once the plugin has written `kara-icons.d.ts` only those names type-check — an icon removed
|
|
17
|
+
* from the folder fails at every call site. Before that, any string, so a project can adopt icons gradually.
|
|
18
|
+
*/
|
|
19
|
+
export type IconName = [DeclaredIconName] extends [never] ? string : DeclaredIconName
|
|
20
|
+
|
|
21
|
+
export type IconProps = {
|
|
22
|
+
/** What a screen reader says. Unset, the icon is decorative and hidden from it. */
|
|
23
|
+
accessibilityLabel?: string
|
|
24
|
+
color?: ColorToken
|
|
25
|
+
name: IconName
|
|
26
|
+
size?: SpaceSize
|
|
27
|
+
testID?: string
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type IconComponent = (props: IconProps) => ReactNode
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {IconButton as ComposeIconButton} from '@expo/ui/jetpack-compose'
|
|
2
|
+
|
|
3
|
+
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {Icon} from '../icon'
|
|
5
|
+
import type {IconButtonComponent, IconButtonProps} from './icon-button.types'
|
|
6
|
+
|
|
7
|
+
export const IconButton: IconButtonComponent = ({disabled = false, name, onPress}: IconButtonProps) => {
|
|
8
|
+
useHostGuard('IconButton')
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<ComposeIconButton enabled={!disabled} onClick={onPress}>
|
|
12
|
+
<Icon color={disabled ? 'btn.content.disabled' : 'content.primary'} name={name} />
|
|
13
|
+
</ComposeIconButton>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {Button} from '@expo/ui/swift-ui'
|
|
2
|
+
import {buttonStyle, disabled as disabledModifier} from '@expo/ui/swift-ui/modifiers'
|
|
3
|
+
import {useMemo} from 'react'
|
|
4
|
+
|
|
5
|
+
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {Icon} from '../icon'
|
|
7
|
+
import type {IconButtonComponent, IconButtonProps} from './icon-button.types'
|
|
8
|
+
|
|
9
|
+
export const IconButton: IconButtonComponent = ({disabled = false, name, onPress, testID}: IconButtonProps) => {
|
|
10
|
+
useHostGuard('IconButton')
|
|
11
|
+
|
|
12
|
+
const modifiers = useMemo(() => {
|
|
13
|
+
const list = [buttonStyle('plain')]
|
|
14
|
+
|
|
15
|
+
if (disabled) {
|
|
16
|
+
list.push(disabledModifier(true))
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return list
|
|
20
|
+
}, [disabled])
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<Button modifiers={modifiers} onPress={onPress} testID={testID}>
|
|
24
|
+
<Icon color={disabled ? 'btn.content.disabled' : 'content.primary'} name={name} />
|
|
25
|
+
</Button>
|
|
26
|
+
)
|
|
27
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
import type {IconName} from '../icon'
|
|
4
|
+
|
|
5
|
+
export type IconButtonProps = {
|
|
6
|
+
disabled?: boolean
|
|
7
|
+
name: IconName
|
|
8
|
+
onPress?: () => void
|
|
9
|
+
testID?: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type IconButtonComponent = (props: IconButtonProps) => ReactNode
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {duration} from '@hzblj/kara-theme'
|
|
2
|
+
import {Image as ExpoImage, ImageProps} from 'expo-image'
|
|
3
|
+
import {FC} from 'react'
|
|
4
|
+
|
|
5
|
+
const Image: FC<ImageProps> = props => (
|
|
6
|
+
<ExpoImage
|
|
7
|
+
transition={{
|
|
8
|
+
duration: duration.d100,
|
|
9
|
+
timing: 'linear',
|
|
10
|
+
}}
|
|
11
|
+
{...props}
|
|
12
|
+
/>
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
export {Image}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './image'
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export * from './activity-indicator'
|
|
2
|
+
export * from './avatar'
|
|
3
|
+
export * from './badge'
|
|
4
|
+
export * from './box'
|
|
5
|
+
export * from './button'
|
|
6
|
+
export * from './card'
|
|
7
|
+
export * from './checkbox'
|
|
8
|
+
export * from './chip'
|
|
9
|
+
export * from './color-picker'
|
|
10
|
+
export * from './date-picker'
|
|
11
|
+
export * from './divider'
|
|
12
|
+
export * from './fab'
|
|
13
|
+
export * from './flash-list'
|
|
14
|
+
export * from './glass-view'
|
|
15
|
+
export * from './h-stack'
|
|
16
|
+
export * from './icon'
|
|
17
|
+
export * from './icon-button'
|
|
18
|
+
export * from './image'
|
|
19
|
+
export * from './island'
|
|
20
|
+
export * from './list'
|
|
21
|
+
export * from './picker'
|
|
22
|
+
export * from './pressable'
|
|
23
|
+
export * from './progress'
|
|
24
|
+
export * from './rn-flat-list'
|
|
25
|
+
export * from './rn-icon'
|
|
26
|
+
export * from './rn-scroll-view'
|
|
27
|
+
export * from './rn-section-list'
|
|
28
|
+
export * from './rn-text'
|
|
29
|
+
export * from './rn-view'
|
|
30
|
+
export * from './scroll-view'
|
|
31
|
+
export * from './segmented-control'
|
|
32
|
+
export * from './skeleton'
|
|
33
|
+
export * from './slider'
|
|
34
|
+
export * from './spacer'
|
|
35
|
+
export * from './surface'
|
|
36
|
+
export * from './switch'
|
|
37
|
+
export * from './text'
|
|
38
|
+
export * from './text-field'
|
|
39
|
+
export * from './v-stack'
|
|
40
|
+
export * from './z-stack'
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {Host} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
|
+
|
|
4
|
+
import {HostBoundary} from '../../host-context'
|
|
5
|
+
import type {IslandComponent, IslandProps} from './island.types'
|
|
6
|
+
|
|
7
|
+
const MATCH_HEIGHT_ONLY = {horizontal: false, vertical: true}
|
|
8
|
+
|
|
9
|
+
const MATCH_NEITHER = {horizontal: false, vertical: false}
|
|
10
|
+
|
|
11
|
+
export const Island: IslandComponent = ({children, matchContents = true, style}: IslandProps) => {
|
|
12
|
+
const theme = useAppTheme()
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Host
|
|
16
|
+
colorScheme={theme.dark ? 'dark' : 'light'}
|
|
17
|
+
matchContents={matchContents ? MATCH_HEIGHT_ONLY : MATCH_NEITHER}
|
|
18
|
+
seedColor={theme.materialSeed}
|
|
19
|
+
style={style}
|
|
20
|
+
>
|
|
21
|
+
<HostBoundary>{children}</HostBoundary>
|
|
22
|
+
</Host>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {Host} from '@expo/ui/swift-ui'
|
|
2
|
+
import {dynamicTypeSize} from '@expo/ui/swift-ui/modifiers'
|
|
3
|
+
import {MAX_DYNAMIC_TYPE_SIZE, useAppTheme} from '@hzblj/kara-theme'
|
|
4
|
+
|
|
5
|
+
import {HostBoundary} from '../../host-context'
|
|
6
|
+
import type {IslandComponent, IslandProps} from './island.types'
|
|
7
|
+
|
|
8
|
+
const DYNAMIC_TYPE_CAP = [dynamicTypeSize({max: MAX_DYNAMIC_TYPE_SIZE})]
|
|
9
|
+
|
|
10
|
+
const MATCH_HEIGHT_ONLY = {horizontal: false, vertical: true}
|
|
11
|
+
|
|
12
|
+
const MATCH_NEITHER = {horizontal: false, vertical: false}
|
|
13
|
+
|
|
14
|
+
export const Island: IslandComponent = ({children, matchContents = true, style, testID}: IslandProps) => {
|
|
15
|
+
const theme = useAppTheme()
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<Host
|
|
19
|
+
colorScheme={theme.dark ? 'dark' : 'light'}
|
|
20
|
+
matchContents={matchContents ? MATCH_HEIGHT_ONLY : MATCH_NEITHER}
|
|
21
|
+
modifiers={DYNAMIC_TYPE_CAP}
|
|
22
|
+
seedColor={theme.materialSeed}
|
|
23
|
+
style={style}
|
|
24
|
+
testID={testID}
|
|
25
|
+
>
|
|
26
|
+
<HostBoundary>{children}</HostBoundary>
|
|
27
|
+
</Host>
|
|
28
|
+
)
|
|
29
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
import type {StyleProp, ViewStyle} from 'react-native'
|
|
3
|
+
|
|
4
|
+
export type IslandProps = {
|
|
5
|
+
children?: ReactNode
|
|
6
|
+
/**
|
|
7
|
+
* Sizes the island's height to its native content while the width still comes from the parent, which
|
|
8
|
+
* is what a full-width card wants. On by default. Only the height is ever measured: auto-sizing the
|
|
9
|
+
* width maps to `fixedSize(horizontal: true)`, so the native side ignores the proposed width and
|
|
10
|
+
* resolves a `wide` stack's ideal width as unbounded.
|
|
11
|
+
*
|
|
12
|
+
* Turn it off — and give the island an explicit size via `style` — when the subtree contains an
|
|
13
|
+
* `RnView`: that host drives its SwiftUI frame from the child's Yoga-laid-out bounds while this one
|
|
14
|
+
* writes its measured size back into the Yoga style, and the two together spin a layout loop that
|
|
15
|
+
* hangs the main thread as soon as the views lay out on screen.
|
|
16
|
+
*/
|
|
17
|
+
matchContents?: boolean
|
|
18
|
+
style?: StyleProp<ViewStyle>
|
|
19
|
+
testID?: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type IslandComponent = (props: IslandProps) => ReactNode
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {LazyColumn, PullToRefreshBox} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useSxModifiers} from '@hzblj/kara-sx'
|
|
3
|
+
import {Children, Fragment, isValidElement} from 'react'
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import {useRefreshState} from '../../use-refresh-state'
|
|
6
|
+
import {Divider} from '../divider'
|
|
7
|
+
import type {ListComponent, ListProps} from './list.types'
|
|
8
|
+
|
|
9
|
+
/** A divider between rows, the separator SwiftUI's `List` draws on its own — so rows are written the same for both. */
|
|
10
|
+
const withSeparators = (children: ListProps['children']) =>
|
|
11
|
+
Children.toArray(children).map((child, index) => (
|
|
12
|
+
<Fragment key={isValidElement(child) && child.key !== null ? child.key : index}>
|
|
13
|
+
{index > 0 ? <Divider /> : null}
|
|
14
|
+
{child}
|
|
15
|
+
</Fragment>
|
|
16
|
+
))
|
|
17
|
+
|
|
18
|
+
export const List: ListComponent = ({children, onRefresh}: ListProps) => {
|
|
19
|
+
useHostGuard('List')
|
|
20
|
+
const modifiers = useSxModifiers({wide: true})
|
|
21
|
+
const {isRefreshing, refresh} = useRefreshState(onRefresh)
|
|
22
|
+
|
|
23
|
+
const column = <LazyColumn modifiers={modifiers}>{withSeparators(children)}</LazyColumn>
|
|
24
|
+
|
|
25
|
+
if (!onRefresh) {
|
|
26
|
+
return column
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<PullToRefreshBox isRefreshing={isRefreshing} onRefresh={refresh}>
|
|
31
|
+
{column}
|
|
32
|
+
</PullToRefreshBox>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {List as SwiftUIList} from '@expo/ui/swift-ui'
|
|
2
|
+
import {type ModifierConfig, refreshable} from '@expo/ui/swift-ui/modifiers'
|
|
3
|
+
import {useMemo} from 'react'
|
|
4
|
+
|
|
5
|
+
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import type {ListComponent, ListProps} from './list.types'
|
|
7
|
+
|
|
8
|
+
export const List: ListComponent = ({children, onRefresh, testID}: ListProps) => {
|
|
9
|
+
useHostGuard('List')
|
|
10
|
+
|
|
11
|
+
const modifiers = useMemo<ModifierConfig[]>(() => (onRefresh ? [refreshable(onRefresh)] : []), [onRefresh])
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<SwiftUIList modifiers={modifiers} testID={testID}>
|
|
15
|
+
{children}
|
|
16
|
+
</SwiftUIList>
|
|
17
|
+
)
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A scrolling list — SwiftUI `List`, Compose `LazyColumn`. It has no height of its own, so it needs one from outside:
|
|
5
|
+
* a `Screen`, or an `Island` with `matchContents={false}` and a height. In an island that sizes itself to its content
|
|
6
|
+
* Compose measures it against an infinite height and throws ("Vertically scrollable component was measured with an
|
|
7
|
+
* infinity maximum height"); SwiftUI shows nothing. For a handful of rows that should not scroll, use a `VStack`.
|
|
8
|
+
*
|
|
9
|
+
* Rows are separated for you — SwiftUI's own separators, a `Divider` between rows on Android — so a `Divider` among
|
|
10
|
+
* the children is one too many: on iOS it becomes an empty row of its own.
|
|
11
|
+
*/
|
|
12
|
+
export type ListProps = {
|
|
13
|
+
children: ReactNode
|
|
14
|
+
/**
|
|
15
|
+
* Enables pull-to-refresh. Async on purpose — see `ScrollViewProps.onRefresh`: the spinner runs
|
|
16
|
+
* until the promise settles, so neither platform needs a `refreshing` flag kept in sync by hand.
|
|
17
|
+
*/
|
|
18
|
+
onRefresh?: () => Promise<void>
|
|
19
|
+
testID?: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type ListComponent = (props: ListProps) => ReactNode
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Text as ComposeText,
|
|
3
|
+
DropdownMenuItem,
|
|
4
|
+
ExposedDropdownMenu,
|
|
5
|
+
ExposedDropdownMenuBox,
|
|
6
|
+
Host,
|
|
7
|
+
OutlinedTextField,
|
|
8
|
+
useNativeState,
|
|
9
|
+
} from '@expo/ui/jetpack-compose'
|
|
10
|
+
import {fillMaxWidth, menuAnchor, testID as testIdModifier} from '@expo/ui/jetpack-compose/modifiers'
|
|
11
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
12
|
+
import {useEffect, useMemo, useState} from 'react'
|
|
13
|
+
|
|
14
|
+
import {Glyph} from '../../glyph'
|
|
15
|
+
import {HostBoundary} from '../../host-context'
|
|
16
|
+
import type {PickerComponent, PickerProps} from './picker.types'
|
|
17
|
+
|
|
18
|
+
const MATCH_HEIGHT_ONLY = {horizontal: false, vertical: true}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Material's exposed dropdown: a read-only outlined field the width of its container, opening a menu of the options
|
|
22
|
+
* under it. Its own host, themed like an `Island`, so it drops into React Native layout like the iOS picker does.
|
|
23
|
+
*/
|
|
24
|
+
export const Picker: PickerComponent = ({disabled = false, onValueChange, options, testID, value}: PickerProps) => {
|
|
25
|
+
const theme = useAppTheme()
|
|
26
|
+
const [expanded, setExpanded] = useState(false)
|
|
27
|
+
const selectedLabel = options.find(option => option.value === value)?.label ?? ''
|
|
28
|
+
const label = useNativeState(selectedLabel)
|
|
29
|
+
const fieldModifiers = useMemo(() => {
|
|
30
|
+
const list = [fillMaxWidth(), menuAnchor('primaryNotEditable', !disabled)]
|
|
31
|
+
|
|
32
|
+
return testID ? [...list, testIdModifier(testID)] : list
|
|
33
|
+
}, [disabled, testID])
|
|
34
|
+
|
|
35
|
+
// `useNativeState` takes only its initial value; a new selection is pushed to the field.
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
label.set(selectedLabel)
|
|
38
|
+
}, [label, selectedLabel])
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<Host colorScheme={theme.dark ? 'dark' : 'light'} matchContents={MATCH_HEIGHT_ONLY} seedColor={theme.materialSeed}>
|
|
42
|
+
<HostBoundary>
|
|
43
|
+
<ExposedDropdownMenuBox expanded={expanded} onExpandedChange={disabled ? undefined : setExpanded}>
|
|
44
|
+
<OutlinedTextField
|
|
45
|
+
enabled={!disabled}
|
|
46
|
+
modifiers={fieldModifiers}
|
|
47
|
+
readOnly
|
|
48
|
+
singleLine
|
|
49
|
+
textStyle={{
|
|
50
|
+
color: theme.colorString('content.primary'),
|
|
51
|
+
fontFamily: theme.typography.body.fontFamily,
|
|
52
|
+
fontWeight: theme.typography.body.fontWeight,
|
|
53
|
+
}}
|
|
54
|
+
value={label}
|
|
55
|
+
>
|
|
56
|
+
<OutlinedTextField.TrailingIcon>
|
|
57
|
+
<Glyph color="content.secondary" name="chevronDown" size="s20" />
|
|
58
|
+
</OutlinedTextField.TrailingIcon>
|
|
59
|
+
</OutlinedTextField>
|
|
60
|
+
<ExposedDropdownMenu
|
|
61
|
+
containerColor={theme.color('surface.primary')}
|
|
62
|
+
expanded={expanded}
|
|
63
|
+
onDismissRequest={() => setExpanded(false)}
|
|
64
|
+
>
|
|
65
|
+
{options.map(option => (
|
|
66
|
+
<DropdownMenuItem
|
|
67
|
+
key={option.value}
|
|
68
|
+
onClick={() => {
|
|
69
|
+
setExpanded(false)
|
|
70
|
+
onValueChange?.(option.value)
|
|
71
|
+
}}
|
|
72
|
+
>
|
|
73
|
+
<DropdownMenuItem.Text>
|
|
74
|
+
<ComposeText
|
|
75
|
+
color={theme.colorString(option.value === value ? 'content.accent' : 'content.primary')}
|
|
76
|
+
style={theme.typography.body}
|
|
77
|
+
>
|
|
78
|
+
{option.label}
|
|
79
|
+
</ComposeText>
|
|
80
|
+
</DropdownMenuItem.Text>
|
|
81
|
+
</DropdownMenuItem>
|
|
82
|
+
))}
|
|
83
|
+
</ExposedDropdownMenu>
|
|
84
|
+
</ExposedDropdownMenuBox>
|
|
85
|
+
</HostBoundary>
|
|
86
|
+
</Host>
|
|
87
|
+
)
|
|
88
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {Picker as NativePicker} from '@expo/ui/community/picker'
|
|
2
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
|
+
import {useCallback} from 'react'
|
|
4
|
+
|
|
5
|
+
import type {PickerComponent, PickerProps} from './picker.types'
|
|
6
|
+
|
|
7
|
+
export const Picker: PickerComponent = ({disabled = false, onValueChange, options, testID, value}: PickerProps) => {
|
|
8
|
+
const theme = useAppTheme()
|
|
9
|
+
|
|
10
|
+
const onChange = useCallback((next: string | number | null) => onValueChange?.(String(next)), [onValueChange])
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<NativePicker enabled={!disabled} onValueChange={onChange} selectedValue={value} testID={testID}>
|
|
14
|
+
{options.map(option => (
|
|
15
|
+
<NativePicker.Item
|
|
16
|
+
color={theme.colorString('content.primary')}
|
|
17
|
+
key={option.value}
|
|
18
|
+
label={option.label}
|
|
19
|
+
value={option.value}
|
|
20
|
+
/>
|
|
21
|
+
))}
|
|
22
|
+
</NativePicker>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type {ReactNode} from 'react'
|
|
2
|
+
|
|
3
|
+
export type PickerOption = {
|
|
4
|
+
label: string
|
|
5
|
+
value: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type PickerProps = {
|
|
9
|
+
disabled?: boolean
|
|
10
|
+
onValueChange?: (value: string) => void
|
|
11
|
+
options: PickerOption[]
|
|
12
|
+
testID?: string
|
|
13
|
+
value: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type PickerComponent = (props: PickerProps) => ReactNode
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {useSplitSx} from '@hzblj/kara-sx'
|
|
2
|
+
import * as Haptics from 'expo-haptics'
|
|
3
|
+
import {useCallback} from 'react'
|
|
4
|
+
import {Pressable as RNPressable} from 'react-native'
|
|
5
|
+
import Animated, {useAnimatedStyle, useSharedValue, withSpring} from 'react-native-reanimated'
|
|
6
|
+
import type {PressableComponent, PressableProps} from './pressable.types'
|
|
7
|
+
|
|
8
|
+
const SPRING = {damping: 20, stiffness: 400}
|
|
9
|
+
|
|
10
|
+
const AnimatedPressable = Animated.createAnimatedComponent(RNPressable)
|
|
11
|
+
|
|
12
|
+
export const Pressable: PressableComponent = ({
|
|
13
|
+
children,
|
|
14
|
+
disabled = false,
|
|
15
|
+
haptic = false,
|
|
16
|
+
onPress,
|
|
17
|
+
testID,
|
|
18
|
+
...props
|
|
19
|
+
}: PressableProps) => {
|
|
20
|
+
const [resolved, rest] = useSplitSx(props)
|
|
21
|
+
const scale = useSharedValue(1)
|
|
22
|
+
|
|
23
|
+
const rStyle = useAnimatedStyle(() => ({transform: [{scale: scale.value}]}), [])
|
|
24
|
+
|
|
25
|
+
const onPressIn = useCallback(() => {
|
|
26
|
+
scale.value = withSpring(0.96, SPRING)
|
|
27
|
+
}, [scale])
|
|
28
|
+
|
|
29
|
+
const onPressOut = useCallback(() => {
|
|
30
|
+
scale.value = withSpring(1, SPRING)
|
|
31
|
+
}, [scale])
|
|
32
|
+
|
|
33
|
+
const onPressWithHaptic = useCallback(() => {
|
|
34
|
+
if (haptic) {
|
|
35
|
+
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light).catch(() => undefined)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
onPress?.()
|
|
39
|
+
}, [haptic, onPress])
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<AnimatedPressable
|
|
43
|
+
disabled={disabled}
|
|
44
|
+
hitSlop={8}
|
|
45
|
+
onPress={onPressWithHaptic}
|
|
46
|
+
onPressIn={onPressIn}
|
|
47
|
+
onPressOut={onPressOut}
|
|
48
|
+
style={[resolved, rStyle]}
|
|
49
|
+
testID={testID}
|
|
50
|
+
{...rest}
|
|
51
|
+
>
|
|
52
|
+
{children}
|
|
53
|
+
</AnimatedPressable>
|
|
54
|
+
)
|
|
55
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type {ResponsiveViewSx} from '@hzblj/kara-sx'
|
|
2
|
+
import type {ReactNode} from 'react'
|
|
3
|
+
|
|
4
|
+
export type PressableProps = ResponsiveViewSx & {
|
|
5
|
+
children?: ReactNode
|
|
6
|
+
disabled?: boolean
|
|
7
|
+
haptic?: boolean
|
|
8
|
+
onPress?: () => void
|
|
9
|
+
testID?: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type PressableComponent = (props: PressableProps) => ReactNode
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {CircularProgressIndicator, LinearProgressIndicator} from '@expo/ui/jetpack-compose'
|
|
2
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
|
+
|
|
4
|
+
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import type {ProgressComponent, ProgressProps} from './progress.types'
|
|
6
|
+
|
|
7
|
+
export const Progress: ProgressComponent = ({circular = false, value}: ProgressProps) => {
|
|
8
|
+
useHostGuard('Progress')
|
|
9
|
+
const theme = useAppTheme()
|
|
10
|
+
const color = theme.color('fill.accent.primary')
|
|
11
|
+
|
|
12
|
+
if (circular) {
|
|
13
|
+
return <CircularProgressIndicator color={color} progress={value} />
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return <LinearProgressIndicator color={color} progress={value} />
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {ProgressView} from '@expo/ui/swift-ui'
|
|
2
|
+
import {progressViewStyle, tint} from '@expo/ui/swift-ui/modifiers'
|
|
3
|
+
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
|
+
import {useMemo} from 'react'
|
|
5
|
+
|
|
6
|
+
import {useHostGuard} from '../../host-context'
|
|
7
|
+
import type {ProgressComponent, ProgressProps} from './progress.types'
|
|
8
|
+
|
|
9
|
+
export const Progress: ProgressComponent = ({circular = false, value}: ProgressProps) => {
|
|
10
|
+
useHostGuard('Progress')
|
|
11
|
+
const theme = useAppTheme()
|
|
12
|
+
|
|
13
|
+
const modifiers = useMemo(
|
|
14
|
+
() => [progressViewStyle(circular ? 'circular' : 'linear'), tint(theme.color('fill.accent.primary'))],
|
|
15
|
+
[circular, theme]
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
return <ProgressView modifiers={modifiers} value={value ?? null} />
|
|
19
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {useSplitSx, useSx} from '@hzblj/kara-sx'
|
|
2
|
+
import {FlatList as RNFlatList} from 'react-native'
|
|
3
|
+
|
|
4
|
+
import type {RnFlatListProps} from './rn-flat-list.types'
|
|
5
|
+
|
|
6
|
+
/** Stands in for an absent `content`, because a hook cannot be called conditionally. */
|
|
7
|
+
const NO_SX = {}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Flat list built on React Native's own `VirtualizedList` rather than FlashList.
|
|
11
|
+
*
|
|
12
|
+
* FlashList is the default for lists in this codebase and should stay that way for data rows — reach
|
|
13
|
+
* for this only for the case it cannot serve: content that hosts native views. FlashList positions its
|
|
14
|
+
* rows absolutely and recycles their cells, and an `@expo/ui` host survives neither — the hosted view
|
|
15
|
+
* ends up drawn where the layout no longer is. `VirtualizedList` renders its cells in normal flow
|
|
16
|
+
* inside a scroll view, using blank spacers for the range it has not rendered, so a hosted view stays
|
|
17
|
+
* exactly where the layout put it. This is `SectionList`'s reason to exist too, without the sections.
|
|
18
|
+
*/
|
|
19
|
+
export const RnFlatList = <TItem,>({content, data, renderItem, ...props}: RnFlatListProps<TItem>) => {
|
|
20
|
+
const [style, rest] = useSplitSx(props as Record<string, unknown>)
|
|
21
|
+
const contentStyle = useSx(content ?? NO_SX)
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<RNFlatList<TItem>
|
|
25
|
+
data={data}
|
|
26
|
+
renderItem={renderItem}
|
|
27
|
+
{...rest}
|
|
28
|
+
contentContainerStyle={content === undefined ? undefined : contentStyle}
|
|
29
|
+
style={style}
|
|
30
|
+
/>
|
|
31
|
+
)
|
|
32
|
+
}
|