@hzblj/kara-components 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/lib/module/atoms/activity-indicator/activity-indicator.android.js +1 -1
- package/lib/module/atoms/activity-indicator/activity-indicator.android.js.map +1 -1
- package/lib/module/atoms/activity-indicator/activity-indicator.ios.js +1 -1
- package/lib/module/atoms/activity-indicator/activity-indicator.ios.js.map +1 -1
- package/lib/module/atoms/badge/badge.android.js +1 -1
- package/lib/module/atoms/badge/badge.android.js.map +1 -1
- package/lib/module/atoms/badge/badge.ios.js +1 -1
- package/lib/module/atoms/badge/badge.ios.js.map +1 -1
- package/lib/module/atoms/blur-view/blur-view.android.js +22 -1
- package/lib/module/atoms/blur-view/blur-view.android.js.map +1 -1
- package/lib/module/atoms/blur-view/blur-view.ios.js +20 -0
- package/lib/module/atoms/blur-view/blur-view.ios.js.map +1 -1
- package/lib/module/atoms/button/button.android.js +1 -1
- package/lib/module/atoms/button/button.android.js.map +1 -1
- package/lib/module/atoms/button/button.ios.js +1 -1
- package/lib/module/atoms/button/button.ios.js.map +1 -1
- package/lib/module/atoms/card/card.android.js +1 -1
- package/lib/module/atoms/card/card.android.js.map +1 -1
- package/lib/module/atoms/card/card.ios.js +1 -1
- package/lib/module/atoms/card/card.ios.js.map +1 -1
- package/lib/module/atoms/checkbox/checkbox.android.js +1 -1
- package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -1
- package/lib/module/atoms/checkbox/checkbox.ios.js +1 -1
- package/lib/module/atoms/checkbox/checkbox.ios.js.map +1 -1
- package/lib/module/atoms/color-picker/color-picker.android.js +1 -1
- package/lib/module/atoms/color-picker/color-picker.android.js.map +1 -1
- package/lib/module/atoms/color-picker/color-picker.ios.js +1 -1
- package/lib/module/atoms/color-picker/color-picker.ios.js.map +1 -1
- package/lib/module/atoms/date-picker/date-picker.android.js +1 -1
- package/lib/module/atoms/date-picker/date-picker.android.js.map +1 -1
- package/lib/module/atoms/date-picker/date-picker.ios.js +1 -1
- package/lib/module/atoms/date-picker/date-picker.ios.js.map +1 -1
- package/lib/module/atoms/divider/divider.android.js +1 -1
- package/lib/module/atoms/divider/divider.android.js.map +1 -1
- package/lib/module/atoms/divider/divider.ios.js +1 -1
- package/lib/module/atoms/divider/divider.ios.js.map +1 -1
- package/lib/module/atoms/fab/fab.android.js +1 -1
- package/lib/module/atoms/fab/fab.android.js.map +1 -1
- package/lib/module/atoms/fab/fab.ios.js +1 -1
- package/lib/module/atoms/fab/fab.ios.js.map +1 -1
- package/lib/module/atoms/glyph/glyph-button.android.js.map +1 -0
- package/lib/module/atoms/glyph/glyph-button.ios.js.map +1 -0
- package/lib/module/atoms/glyph/glyph-button.types.js.map +1 -0
- package/lib/module/atoms/glyph/glyph.android.js.map +1 -0
- package/lib/module/atoms/glyph/glyph.ios.js.map +1 -0
- package/lib/module/atoms/glyph/glyph.types.js.map +1 -0
- package/lib/module/atoms/glyph/index.js.map +1 -0
- package/lib/module/atoms/glyph/rn-glyph.android.js.map +1 -0
- package/lib/module/atoms/glyph/rn-glyph.ios.js.map +1 -0
- package/lib/module/atoms/h-stack/h-stack.android.js +2 -2
- package/lib/module/atoms/h-stack/h-stack.android.js.map +1 -1
- package/lib/module/atoms/h-stack/h-stack.ios.js +2 -2
- package/lib/module/atoms/h-stack/h-stack.ios.js.map +1 -1
- package/lib/module/atoms/icon/icon.android.js +1 -1
- package/lib/module/atoms/icon/icon.android.js.map +1 -1
- package/lib/module/atoms/icon/icon.ios.js +1 -1
- package/lib/module/atoms/icon/icon.ios.js.map +1 -1
- package/lib/module/atoms/icon-button/icon-button.android.js +1 -1
- package/lib/module/atoms/icon-button/icon-button.android.js.map +1 -1
- package/lib/module/atoms/icon-button/icon-button.ios.js +1 -1
- package/lib/module/atoms/icon-button/icon-button.ios.js.map +1 -1
- package/lib/module/atoms/island/island.android.js +3 -1
- package/lib/module/atoms/island/island.android.js.map +1 -1
- package/lib/module/atoms/island/island.ios.js +3 -1
- package/lib/module/atoms/island/island.ios.js.map +1 -1
- package/lib/module/atoms/list/list.android.js +2 -2
- package/lib/module/atoms/list/list.android.js.map +1 -1
- package/lib/module/atoms/list/list.ios.js +1 -1
- package/lib/module/atoms/list/list.ios.js.map +1 -1
- package/lib/module/atoms/picker/picker.android.js +2 -2
- package/lib/module/atoms/picker/picker.android.js.map +1 -1
- package/lib/module/atoms/picker/picker.ios.js +1 -1
- package/lib/module/atoms/picker/picker.ios.js.map +1 -1
- package/lib/module/atoms/pressable/pressable.js +1 -1
- package/lib/module/atoms/pressable/pressable.js.map +1 -1
- package/lib/module/atoms/progress/progress.android.js +1 -1
- package/lib/module/atoms/progress/progress.android.js.map +1 -1
- package/lib/module/atoms/progress/progress.ios.js +1 -1
- package/lib/module/atoms/progress/progress.ios.js.map +1 -1
- package/lib/module/atoms/scroll-view/scroll-view.android.js +2 -2
- package/lib/module/atoms/scroll-view/scroll-view.android.js.map +1 -1
- package/lib/module/atoms/scroll-view/scroll-view.ios.js +1 -1
- package/lib/module/atoms/scroll-view/scroll-view.ios.js.map +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.android.js +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.android.js.map +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.ios.js +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.ios.js.map +1 -1
- package/lib/module/atoms/slider/slider.android.js +1 -1
- package/lib/module/atoms/slider/slider.android.js.map +1 -1
- package/lib/module/atoms/slider/slider.ios.js +1 -1
- package/lib/module/atoms/slider/slider.ios.js.map +1 -1
- package/lib/module/atoms/spacer/spacer.android.js +1 -1
- package/lib/module/atoms/spacer/spacer.android.js.map +1 -1
- package/lib/module/atoms/spacer/spacer.ios.js +1 -1
- package/lib/module/atoms/spacer/spacer.ios.js.map +1 -1
- package/lib/module/atoms/surface/surface.android.js +1 -1
- package/lib/module/atoms/surface/surface.android.js.map +1 -1
- package/lib/module/atoms/surface/surface.ios.js +1 -1
- package/lib/module/atoms/surface/surface.ios.js.map +1 -1
- package/lib/module/atoms/switch/switch.android.js +1 -1
- package/lib/module/atoms/switch/switch.android.js.map +1 -1
- package/lib/module/atoms/switch/switch.ios.js +1 -1
- package/lib/module/atoms/switch/switch.ios.js.map +1 -1
- package/lib/module/atoms/text/text.android.js +1 -1
- package/lib/module/atoms/text/text.android.js.map +1 -1
- package/lib/module/atoms/text/text.ios.js +1 -1
- package/lib/module/atoms/text/text.ios.js.map +1 -1
- package/lib/module/atoms/text-field/text-field.android.js +2 -2
- package/lib/module/atoms/text-field/text-field.android.js.map +1 -1
- package/lib/module/atoms/text-field/text-field.ios.js +1 -1
- package/lib/module/atoms/text-field/text-field.ios.js.map +1 -1
- package/lib/module/atoms/v-stack/v-stack.android.js +2 -2
- package/lib/module/atoms/v-stack/v-stack.android.js.map +1 -1
- package/lib/module/atoms/v-stack/v-stack.ios.js +2 -2
- package/lib/module/atoms/v-stack/v-stack.ios.js.map +1 -1
- package/lib/module/atoms/z-stack/z-stack.android.js +2 -2
- package/lib/module/atoms/z-stack/z-stack.android.js.map +1 -1
- package/lib/module/atoms/z-stack/z-stack.ios.js +2 -2
- package/lib/module/atoms/z-stack/z-stack.ios.js.map +1 -1
- package/lib/module/hooks/host-context.js.map +1 -0
- package/lib/module/hooks/use-refresh-state.js.map +1 -0
- package/lib/module/hooks/use-stack-modifiers.js.map +1 -0
- package/lib/module/molecules/collapsible/collapsible.android.js +2 -2
- package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -1
- package/lib/module/molecules/collapsible/collapsible.ios.js +1 -1
- package/lib/module/molecules/collapsible/collapsible.ios.js.map +1 -1
- package/lib/module/molecules/labeled-content/labeled-content.js +1 -1
- package/lib/module/molecules/labeled-content/labeled-content.js.map +1 -1
- package/lib/module/molecules/list-item/list-item.js +1 -1
- package/lib/module/molecules/list-item/list-item.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.constants.js +5 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.constants.js.map +1 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +31 -4
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -1
- package/lib/module/molecules/pager/pager.android.js +1 -1
- package/lib/module/molecules/pager/pager.android.js.map +1 -1
- package/lib/module/molecules/pager/pager.ios.js +1 -1
- package/lib/module/molecules/pager/pager.ios.js.map +1 -1
- package/lib/module/molecules/radio-group/radio-group.android.js +1 -1
- package/lib/module/molecules/radio-group/radio-group.android.js.map +1 -1
- package/lib/module/molecules/radio-group/radio-group.ios.js +2 -2
- package/lib/module/molecules/radio-group/radio-group.ios.js.map +1 -1
- package/lib/module/molecules/rn-list-item/rn-list-item.js +1 -1
- package/lib/module/molecules/rn-list-item/rn-list-item.js.map +1 -1
- package/lib/module/molecules/rn-tooltip/rn-tooltip.android.js +1 -1
- package/lib/module/molecules/rn-tooltip/rn-tooltip.android.js.map +1 -1
- package/lib/module/molecules/search-bar/search-bar.js +1 -1
- package/lib/module/molecules/search-bar/search-bar.js.map +1 -1
- package/lib/module/molecules/stepper/stepper.android.js +2 -2
- package/lib/module/molecules/stepper/stepper.android.js.map +1 -1
- package/lib/module/molecules/stepper/stepper.ios.js +1 -1
- package/lib/module/molecules/stepper/stepper.ios.js.map +1 -1
- package/lib/module/molecules/tooltip/tooltip.android.js +1 -1
- package/lib/module/molecules/tooltip/tooltip.android.js.map +1 -1
- package/lib/module/molecules/tooltip/tooltip.ios.js +1 -1
- package/lib/module/molecules/tooltip/tooltip.ios.js.map +1 -1
- package/lib/module/organisms/action-sheet/action-sheet.android.js +1 -1
- package/lib/module/organisms/action-sheet/action-sheet.android.js.map +1 -1
- package/lib/module/organisms/action-sheet/action-sheet.ios.js +1 -1
- package/lib/module/organisms/action-sheet/action-sheet.ios.js.map +1 -1
- package/lib/module/organisms/alert/alert.android.js +1 -1
- package/lib/module/organisms/alert/alert.android.js.map +1 -1
- package/lib/module/organisms/alert/alert.ios.js +1 -1
- package/lib/module/organisms/alert/alert.ios.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.android.js +2 -2
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.android.js +2 -2
- package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +2 -2
- package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
- package/lib/module/organisms/form/form.android.js +1 -1
- package/lib/module/organisms/form/form.android.js.map +1 -1
- package/lib/module/organisms/form/form.ios.js +1 -1
- package/lib/module/organisms/form/form.ios.js.map +1 -1
- package/lib/module/organisms/header/header-color.js +8 -0
- package/lib/module/organisms/header/header-color.js.map +1 -0
- package/lib/module/organisms/header/header-inset.android.js +6 -0
- package/lib/module/organisms/header/header-inset.android.js.map +1 -0
- package/lib/module/organisms/header/header-inset.ios.js +19 -0
- package/lib/module/organisms/header/header-inset.ios.js.map +1 -0
- package/lib/module/organisms/header/header-options.android.js +180 -0
- package/lib/module/organisms/header/header-options.android.js.map +1 -0
- package/lib/module/organisms/header/header-options.ios.js +145 -0
- package/lib/module/organisms/header/header-options.ios.js.map +1 -0
- package/lib/module/organisms/header/header-options.types.js +4 -0
- package/lib/module/organisms/header/header-options.types.js.map +1 -0
- package/lib/module/organisms/header/header-search-accessory.android.js +5 -0
- package/lib/module/organisms/header/header-search-accessory.android.js.map +1 -0
- package/lib/module/organisms/header/header-search-accessory.ios.js +35 -0
- package/lib/module/organisms/header/header-search-accessory.ios.js.map +1 -0
- package/lib/module/organisms/header/header-search-accessory.types.js +4 -0
- package/lib/module/organisms/header/header-search-accessory.types.js.map +1 -0
- package/lib/module/organisms/header/header-search-input.android.js +80 -0
- package/lib/module/organisms/header/header-search-input.android.js.map +1 -0
- package/lib/module/organisms/header/header-search-input.ios.js +8 -0
- package/lib/module/organisms/header/header-search-input.ios.js.map +1 -0
- package/lib/module/organisms/header/header-search-input.types.js +4 -0
- package/lib/module/organisms/header/header-search-input.types.js.map +1 -0
- package/lib/module/organisms/header/header-search-scrim.js +62 -0
- package/lib/module/organisms/header/header-search-scrim.js.map +1 -0
- package/lib/module/organisms/header/header-title.js +230 -0
- package/lib/module/organisms/header/header-title.js.map +1 -0
- package/lib/module/organisms/header/header.types.js +4 -0
- package/lib/module/organisms/header/header.types.js.map +1 -0
- package/lib/module/organisms/header/hero-header-background.android.js +33 -0
- package/lib/module/organisms/header/hero-header-background.android.js.map +1 -0
- package/lib/module/organisms/header/hero-header-background.ios.js +40 -0
- package/lib/module/organisms/header/hero-header-background.ios.js.map +1 -0
- package/lib/module/organisms/header/hero-header-background.types.js +4 -0
- package/lib/module/organisms/header/hero-header-background.types.js.map +1 -0
- package/lib/module/organisms/header/index.js +13 -0
- package/lib/module/organisms/header/index.js.map +1 -0
- package/lib/module/organisms/header/native-subtitle.android.js +5 -0
- package/lib/module/organisms/header/native-subtitle.android.js.map +1 -0
- package/lib/module/organisms/header/native-subtitle.ios.js +22 -0
- package/lib/module/organisms/header/native-subtitle.ios.js.map +1 -0
- package/lib/module/organisms/header/native-subtitle.types.js +4 -0
- package/lib/module/organisms/header/native-subtitle.types.js.map +1 -0
- package/lib/module/organisms/header/sheet-grabber.android.js +5 -0
- package/lib/module/organisms/header/sheet-grabber.android.js.map +1 -0
- package/lib/module/organisms/header/sheet-grabber.ios.js +15 -0
- package/lib/module/organisms/header/sheet-grabber.ios.js.map +1 -0
- package/lib/module/organisms/header/sheet-grabber.types.js +4 -0
- package/lib/module/organisms/header/sheet-grabber.types.js.map +1 -0
- package/lib/module/organisms/header/use-header-bar-inset.android.js +4 -0
- package/lib/module/organisms/header/use-header-bar-inset.android.js.map +1 -0
- package/lib/module/organisms/header/use-header-bar-inset.ios.js +9 -0
- package/lib/module/organisms/header/use-header-bar-inset.ios.js.map +1 -0
- package/lib/module/organisms/header/use-header-bar-inset.types.js +2 -0
- package/lib/module/organisms/header/use-header-bar-inset.types.js.map +1 -0
- package/lib/module/organisms/header/use-header-scroll-to-top.js +51 -0
- package/lib/module/organisms/header/use-header-scroll-to-top.js.map +1 -0
- package/lib/module/organisms/header/use-header-search.js +135 -0
- package/lib/module/organisms/header/use-header-search.js.map +1 -0
- package/lib/module/organisms/header/use-header.js +74 -0
- package/lib/module/organisms/header/use-header.js.map +1 -0
- package/lib/module/organisms/header/use-hero-header.js +189 -0
- package/lib/module/organisms/header/use-hero-header.js.map +1 -0
- package/lib/module/organisms/header/use-stack-screen-options.js +77 -0
- package/lib/module/organisms/header/use-stack-screen-options.js.map +1 -0
- package/lib/module/organisms/menu/menu.android.js +2 -2
- package/lib/module/organisms/menu/menu.android.js.map +1 -1
- package/lib/module/organisms/menu/menu.ios.js +1 -1
- package/lib/module/organisms/menu/menu.ios.js.map +1 -1
- package/lib/module/organisms/sheet/use-sheet-header.js +3 -1
- package/lib/module/organisms/sheet/use-sheet-header.js.map +1 -1
- package/lib/module/organisms/snackbar/snackbar.js +1 -1
- package/lib/module/organisms/snackbar/snackbar.js.map +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.android.js +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.android.js.map +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.ios.js +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.ios.js.map +1 -1
- package/lib/module/templates/screen/screen.android.js +3 -3
- package/lib/module/templates/screen/screen.android.js.map +1 -1
- package/lib/module/templates/screen/screen.ios.js +3 -3
- package/lib/module/templates/screen/screen.ios.js.map +1 -1
- package/lib/module/utils/ripple-clip.js.map +1 -0
- package/lib/module/utils/tap-modifiers.js.map +1 -0
- package/lib/typescript/atoms/blur-view/blur-view.types.d.ts +8 -0
- package/lib/typescript/atoms/island/island.types.d.ts +17 -0
- package/lib/typescript/molecules/navigation-bar/navigation-bar.constants.d.ts +2 -0
- package/lib/typescript/molecules/navigation-bar/navigation-bar.types.d.ts +67 -4
- package/lib/typescript/organisms/header/header-color.d.ts +6 -0
- package/lib/typescript/organisms/header/header-inset.d.ts +1 -0
- package/lib/typescript/organisms/header/header-inset.ios.d.ts +2 -0
- package/lib/typescript/organisms/header/header-options.d.ts +1 -0
- package/lib/typescript/organisms/header/header-options.ios.d.ts +2 -0
- package/lib/typescript/organisms/header/header-options.types.d.ts +4 -0
- package/lib/typescript/organisms/header/header-search-accessory.d.ts +1 -0
- package/lib/typescript/organisms/header/header-search-accessory.ios.d.ts +6 -0
- package/lib/typescript/organisms/header/header-search-accessory.types.d.ts +9 -0
- package/lib/typescript/organisms/header/header-search-input.d.ts +1 -0
- package/lib/typescript/organisms/header/header-search-input.ios.d.ts +5 -0
- package/lib/typescript/organisms/header/header-search-input.types.d.ts +17 -0
- package/lib/typescript/organisms/header/header-search-scrim.d.ts +11 -0
- package/lib/typescript/organisms/header/header-title.d.ts +22 -0
- package/lib/typescript/organisms/header/header.types.d.ts +440 -0
- package/lib/typescript/organisms/header/hero-header-background.d.ts +1 -0
- package/lib/typescript/organisms/header/hero-header-background.ios.d.ts +7 -0
- package/lib/typescript/organisms/header/hero-header-background.types.d.ts +9 -0
- package/lib/typescript/organisms/header/index.d.ts +11 -0
- package/lib/typescript/organisms/header/native-subtitle.d.ts +1 -0
- package/lib/typescript/organisms/header/native-subtitle.ios.d.ts +4 -0
- package/lib/typescript/organisms/header/native-subtitle.types.d.ts +6 -0
- package/lib/typescript/organisms/header/sheet-grabber.d.ts +1 -0
- package/lib/typescript/organisms/header/sheet-grabber.ios.d.ts +7 -0
- package/lib/typescript/organisms/header/sheet-grabber.types.d.ts +6 -0
- package/lib/typescript/organisms/header/use-header-bar-inset.d.ts +1 -0
- package/lib/typescript/organisms/header/use-header-bar-inset.ios.d.ts +1 -0
- package/lib/typescript/organisms/header/use-header-bar-inset.types.d.ts +6 -0
- package/lib/typescript/organisms/header/use-header-scroll-to-top.d.ts +8 -0
- package/lib/typescript/organisms/header/use-header-search.d.ts +12 -0
- package/lib/typescript/organisms/header/use-header.d.ts +14 -0
- package/lib/typescript/organisms/header/use-hero-header.d.ts +10 -0
- package/lib/typescript/organisms/header/use-stack-screen-options.d.ts +17 -0
- package/lib/typescript/templates/screen/screen.types.d.ts +6 -2
- package/package.json +24 -5
- package/src/atoms/activity-indicator/activity-indicator.android.tsx +1 -1
- package/src/atoms/activity-indicator/activity-indicator.ios.tsx +1 -1
- package/src/atoms/badge/badge.android.tsx +1 -1
- package/src/atoms/badge/badge.ios.tsx +1 -1
- package/src/atoms/blur-view/blur-view.android.tsx +28 -1
- package/src/atoms/blur-view/blur-view.ios.tsx +25 -0
- package/src/atoms/blur-view/blur-view.types.ts +8 -0
- package/src/atoms/button/button.android.tsx +1 -1
- package/src/atoms/button/button.ios.tsx +1 -1
- package/src/atoms/card/card.android.tsx +1 -1
- package/src/atoms/card/card.ios.tsx +1 -1
- package/src/atoms/checkbox/checkbox.android.tsx +1 -1
- package/src/atoms/checkbox/checkbox.ios.tsx +1 -1
- package/src/atoms/color-picker/color-picker.android.tsx +1 -1
- package/src/atoms/color-picker/color-picker.ios.tsx +1 -1
- package/src/atoms/date-picker/date-picker.android.tsx +1 -1
- package/src/atoms/date-picker/date-picker.ios.tsx +1 -1
- package/src/atoms/divider/divider.android.tsx +1 -1
- package/src/atoms/divider/divider.ios.tsx +1 -1
- package/src/atoms/fab/fab.android.tsx +1 -1
- package/src/atoms/fab/fab.ios.tsx +1 -1
- package/src/atoms/h-stack/h-stack.android.tsx +2 -2
- package/src/atoms/h-stack/h-stack.ios.tsx +2 -2
- package/src/atoms/icon/icon.android.tsx +1 -1
- package/src/atoms/icon/icon.ios.tsx +1 -1
- package/src/atoms/icon-button/icon-button.android.tsx +1 -1
- package/src/atoms/icon-button/icon-button.ios.tsx +1 -1
- package/src/atoms/island/island.android.tsx +3 -1
- package/src/atoms/island/island.ios.tsx +10 -2
- package/src/atoms/island/island.types.ts +18 -0
- package/src/atoms/list/list.android.tsx +2 -2
- package/src/atoms/list/list.ios.tsx +1 -1
- package/src/atoms/picker/picker.android.tsx +2 -3
- package/src/atoms/picker/picker.ios.tsx +1 -1
- package/src/atoms/pressable/pressable.tsx +1 -1
- package/src/atoms/progress/progress.android.tsx +1 -1
- package/src/atoms/progress/progress.ios.tsx +1 -1
- package/src/atoms/scroll-view/scroll-view.android.tsx +2 -2
- package/src/atoms/scroll-view/scroll-view.ios.tsx +1 -1
- package/src/atoms/segmented-control/segmented-control.android.tsx +1 -1
- package/src/atoms/segmented-control/segmented-control.ios.tsx +1 -1
- package/src/atoms/slider/slider.android.tsx +1 -1
- package/src/atoms/slider/slider.ios.tsx +1 -1
- package/src/atoms/spacer/spacer.android.tsx +1 -1
- package/src/atoms/spacer/spacer.ios.tsx +1 -1
- package/src/atoms/surface/surface.android.tsx +1 -1
- package/src/atoms/surface/surface.ios.tsx +1 -1
- package/src/atoms/switch/switch.android.tsx +1 -1
- package/src/atoms/switch/switch.ios.tsx +1 -1
- package/src/atoms/text/text.android.tsx +1 -1
- package/src/atoms/text/text.ios.tsx +1 -1
- package/src/atoms/text-field/text-field.android.tsx +2 -2
- package/src/atoms/text-field/text-field.ios.tsx +1 -1
- package/src/atoms/v-stack/v-stack.android.tsx +2 -2
- package/src/atoms/v-stack/v-stack.ios.tsx +2 -2
- package/src/atoms/z-stack/z-stack.android.tsx +2 -2
- package/src/atoms/z-stack/z-stack.ios.tsx +2 -2
- package/src/molecules/collapsible/collapsible.android.tsx +2 -2
- package/src/molecules/collapsible/collapsible.ios.tsx +1 -1
- package/src/molecules/labeled-content/labeled-content.tsx +1 -1
- package/src/molecules/list-item/list-item.tsx +1 -2
- package/src/molecules/navigation-bar/navigation-bar.constants.ts +2 -0
- package/src/molecules/navigation-bar/navigation-bar.ios.tsx +35 -5
- package/src/molecules/navigation-bar/navigation-bar.types.ts +69 -5
- package/src/molecules/pager/pager.android.tsx +1 -1
- package/src/molecules/pager/pager.ios.tsx +1 -1
- package/src/molecules/radio-group/radio-group.android.tsx +1 -1
- package/src/molecules/radio-group/radio-group.ios.tsx +2 -2
- package/src/molecules/rn-list-item/rn-list-item.tsx +1 -1
- package/src/molecules/rn-tooltip/rn-tooltip.android.tsx +1 -1
- package/src/molecules/search-bar/search-bar.tsx +1 -1
- package/src/molecules/stepper/stepper.android.tsx +2 -2
- package/src/molecules/stepper/stepper.ios.tsx +1 -1
- package/src/molecules/tooltip/tooltip.android.tsx +1 -1
- package/src/molecules/tooltip/tooltip.ios.tsx +1 -1
- package/src/organisms/action-sheet/action-sheet.android.tsx +1 -1
- package/src/organisms/action-sheet/action-sheet.ios.tsx +1 -1
- package/src/organisms/alert/alert.android.tsx +1 -1
- package/src/organisms/alert/alert.ios.tsx +1 -1
- package/src/organisms/context-menu/context-menu.android.tsx +2 -2
- package/src/organisms/fab-menu/fab-menu.android.tsx +2 -2
- package/src/organisms/fab-menu/fab-menu.ios.tsx +2 -3
- package/src/organisms/form/form.android.tsx +1 -1
- package/src/organisms/form/form.ios.tsx +1 -1
- package/src/organisms/header/header-color.ts +7 -0
- package/src/organisms/header/header-inset.android.tsx +3 -0
- package/src/organisms/header/header-inset.ios.tsx +12 -0
- package/src/organisms/header/header-options.android.tsx +168 -0
- package/src/organisms/header/header-options.ios.tsx +138 -0
- package/src/organisms/header/header-options.types.ts +6 -0
- package/src/organisms/header/header-search-accessory.android.tsx +4 -0
- package/src/organisms/header/header-search-accessory.ios.tsx +42 -0
- package/src/organisms/header/header-search-accessory.types.ts +12 -0
- package/src/organisms/header/header-search-input.android.tsx +89 -0
- package/src/organisms/header/header-search-input.ios.tsx +7 -0
- package/src/organisms/header/header-search-input.types.ts +21 -0
- package/src/organisms/header/header-search-scrim.tsx +49 -0
- package/src/organisms/header/header-title.tsx +220 -0
- package/src/organisms/header/header.types.ts +416 -0
- package/src/organisms/header/hero-header-background.android.tsx +22 -0
- package/src/organisms/header/hero-header-background.ios.tsx +26 -0
- package/src/organisms/header/hero-header-background.types.ts +11 -0
- package/src/organisms/header/index.ts +11 -0
- package/src/organisms/header/native-subtitle.android.tsx +5 -0
- package/src/organisms/header/native-subtitle.ios.tsx +22 -0
- package/src/organisms/header/native-subtitle.types.ts +8 -0
- package/src/organisms/header/sheet-grabber.android.tsx +4 -0
- package/src/organisms/header/sheet-grabber.ios.tsx +12 -0
- package/src/organisms/header/sheet-grabber.types.ts +8 -0
- package/src/organisms/header/use-header-bar-inset.android.ts +1 -0
- package/src/organisms/header/use-header-bar-inset.ios.ts +7 -0
- package/src/organisms/header/use-header-bar-inset.types.ts +6 -0
- package/src/organisms/header/use-header-scroll-to-top.ts +48 -0
- package/src/organisms/header/use-header-search.tsx +138 -0
- package/src/organisms/header/use-header.ts +67 -0
- package/src/organisms/header/use-hero-header.tsx +222 -0
- package/src/organisms/header/use-stack-screen-options.ts +66 -0
- package/src/organisms/menu/menu.android.tsx +2 -2
- package/src/organisms/menu/menu.ios.tsx +1 -1
- package/src/organisms/sheet/use-sheet-header.tsx +4 -1
- package/src/organisms/snackbar/snackbar.tsx +1 -1
- package/src/organisms/swipe-actions/swipe-actions.android.tsx +1 -1
- package/src/organisms/swipe-actions/swipe-actions.ios.tsx +1 -1
- package/src/templates/screen/screen.android.tsx +8 -3
- package/src/templates/screen/screen.ios.tsx +8 -3
- package/src/templates/screen/screen.types.ts +7 -2
- package/lib/module/glyph/glyph-button.android.js.map +0 -1
- package/lib/module/glyph/glyph-button.ios.js.map +0 -1
- package/lib/module/glyph/glyph-button.types.js.map +0 -1
- package/lib/module/glyph/glyph.android.js.map +0 -1
- package/lib/module/glyph/glyph.ios.js.map +0 -1
- package/lib/module/glyph/glyph.types.js.map +0 -1
- package/lib/module/glyph/index.js.map +0 -1
- package/lib/module/glyph/rn-glyph.android.js.map +0 -1
- package/lib/module/glyph/rn-glyph.ios.js.map +0 -1
- package/lib/module/host-context.js.map +0 -1
- package/lib/module/ripple-clip.js.map +0 -1
- package/lib/module/tap-modifiers.js.map +0 -1
- package/lib/module/use-refresh-state.js.map +0 -1
- package/lib/module/use-stack-modifiers.js.map +0 -1
- /package/lib/module/{glyph → atoms/glyph}/glyph-button.android.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/glyph-button.ios.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/glyph-button.types.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/glyph.android.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/glyph.ios.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/glyph.types.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/index.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/rn-glyph.android.js +0 -0
- /package/lib/module/{glyph → atoms/glyph}/rn-glyph.ios.js +0 -0
- /package/lib/module/{host-context.js → hooks/host-context.js} +0 -0
- /package/lib/module/{use-refresh-state.js → hooks/use-refresh-state.js} +0 -0
- /package/lib/module/{use-stack-modifiers.js → hooks/use-stack-modifiers.js} +0 -0
- /package/lib/module/{ripple-clip.js → utils/ripple-clip.js} +0 -0
- /package/lib/module/{tap-modifiers.js → utils/tap-modifiers.js} +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/glyph-button.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/glyph-button.ios.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/glyph-button.types.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/glyph.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/glyph.ios.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/glyph.types.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/index.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/rn-glyph.d.ts +0 -0
- /package/lib/typescript/{glyph → atoms/glyph}/rn-glyph.ios.d.ts +0 -0
- /package/lib/typescript/{host-context.d.ts → hooks/host-context.d.ts} +0 -0
- /package/lib/typescript/{use-refresh-state.d.ts → hooks/use-refresh-state.d.ts} +0 -0
- /package/lib/typescript/{use-stack-modifiers.d.ts → hooks/use-stack-modifiers.d.ts} +0 -0
- /package/lib/typescript/{ripple-clip.d.ts → utils/ripple-clip.d.ts} +0 -0
- /package/lib/typescript/{tap-modifiers.d.ts → utils/tap-modifiers.d.ts} +0 -0
- /package/src/{glyph → atoms/glyph}/glyph-button.android.tsx +0 -0
- /package/src/{glyph → atoms/glyph}/glyph-button.ios.tsx +0 -0
- /package/src/{glyph → atoms/glyph}/glyph-button.types.ts +0 -0
- /package/src/{glyph → atoms/glyph}/glyph.android.tsx +0 -0
- /package/src/{glyph → atoms/glyph}/glyph.ios.tsx +0 -0
- /package/src/{glyph → atoms/glyph}/glyph.types.ts +0 -0
- /package/src/{glyph → atoms/glyph}/index.ts +0 -0
- /package/src/{glyph → atoms/glyph}/rn-glyph.android.tsx +0 -0
- /package/src/{glyph → atoms/glyph}/rn-glyph.ios.tsx +0 -0
- /package/src/{host-context.tsx → hooks/host-context.tsx} +0 -0
- /package/src/{use-refresh-state.ts → hooks/use-refresh-state.ts} +0 -0
- /package/src/{use-stack-modifiers.ts → hooks/use-stack-modifiers.ts} +0 -0
- /package/src/{ripple-clip.ts → utils/ripple-clip.ts} +0 -0
- /package/src/{tap-modifiers.ts → utils/tap-modifiers.ts} +0 -0
|
@@ -3,7 +3,7 @@ import {type ModifierConfig, refreshable} from '@expo/ui/swift-ui/modifiers'
|
|
|
3
3
|
import {useSxModifiers} from '@hzblj/kara-sx'
|
|
4
4
|
import {spacing} from '@hzblj/kara-theme'
|
|
5
5
|
import {useMemo} from 'react'
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {ScrollViewComponent, ScrollViewProps} from './scroll-view.types'
|
|
8
8
|
|
|
9
9
|
export const ScrollView: ScrollViewComponent = ({
|
|
@@ -6,7 +6,7 @@ import {DrawableIcon, NativeImage} from '@hzblj/kara-native/jetpack-compose'
|
|
|
6
6
|
import {spacing as spacingTokens, type TextVariant, useAppTheme} from '@hzblj/kara-theme'
|
|
7
7
|
import {useCallback, useMemo} from 'react'
|
|
8
8
|
|
|
9
|
-
import {useInsideHost} from '../../host-context'
|
|
9
|
+
import {useInsideHost} from '../../hooks/host-context'
|
|
10
10
|
import {HStack} from '../h-stack'
|
|
11
11
|
import type {SegmentedControlComponent, SegmentedControlProps, SegmentedControlSegment} from './segmented-control.types'
|
|
12
12
|
import {imageUri, segmentOf} from './segments'
|
|
@@ -4,7 +4,7 @@ import {SegmentedControl as NativeSegmentedControl} from '@hzblj/kara-native/swi
|
|
|
4
4
|
import {spacing as spacingTokens, useAppTheme} from '@hzblj/kara-theme'
|
|
5
5
|
import {useCallback, useMemo} from 'react'
|
|
6
6
|
|
|
7
|
-
import {useInsideHost} from '../../host-context'
|
|
7
|
+
import {useInsideHost} from '../../hooks/host-context'
|
|
8
8
|
import type {SegmentedControlComponent, SegmentedControlProps} from './segmented-control.types'
|
|
9
9
|
import {imageUri, segmentOf} from './segments'
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ import {haptics} from '@hzblj/expo-rich-haptics'
|
|
|
4
4
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
5
5
|
import {useCallback, useEffect, useMemo, useRef} from 'react'
|
|
6
6
|
|
|
7
|
-
import {useHostGuard} from '../../host-context'
|
|
7
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
8
8
|
import type {SliderComponent, SliderProps} from './slider.types'
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -3,7 +3,7 @@ import {disabled as disabledModifier, tint} from '@expo/ui/swift-ui/modifiers'
|
|
|
3
3
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
4
|
import {useCallback, useMemo, useRef} from 'react'
|
|
5
5
|
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {SliderComponent, SliderProps} from './slider.types'
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -3,7 +3,7 @@ import {defaultMinSize, weight} from '@expo/ui/jetpack-compose/modifiers'
|
|
|
3
3
|
import {spacing} from '@hzblj/kara-theme'
|
|
4
4
|
import {useMemo} from 'react'
|
|
5
5
|
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {SpacerComponent, SpacerProps} from './spacer.types'
|
|
8
8
|
|
|
9
9
|
export const Spacer: SpacerComponent = ({min}: SpacerProps) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Spacer as SwiftUISpacer} from '@expo/ui/swift-ui'
|
|
2
2
|
import {spacing} from '@hzblj/kara-theme'
|
|
3
3
|
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
5
|
import type {SpacerComponent, SpacerProps} from './spacer.types'
|
|
6
6
|
|
|
7
7
|
export const Spacer: SpacerComponent = ({min, testID}: SpacerProps) => {
|
|
@@ -3,7 +3,7 @@ import {testID as testIdModifier} from '@expo/ui/jetpack-compose/modifiers'
|
|
|
3
3
|
import {splitAccessibility, useAccessibilityModifiers, useSxModifiers} from '@hzblj/kara-sx'
|
|
4
4
|
import {radii, useAppTheme} from '@hzblj/kara-theme'
|
|
5
5
|
import {useMemo} from 'react'
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {SurfaceComponent, SurfaceProps} from './surface.types'
|
|
8
8
|
|
|
9
9
|
const cornerRadii = (radius: number) => ({bottomEnd: radius, bottomStart: radius, topEnd: radius, topStart: radius})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {GlassEffectContainer, VStack} from '@expo/ui/swift-ui'
|
|
2
2
|
import {splitAccessibility, useAccessibilityModifiers, useSxModifiers} from '@hzblj/kara-sx'
|
|
3
3
|
import {useMemo} from 'react'
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
5
|
import type {SurfaceComponent, SurfaceProps} from './surface.types'
|
|
6
6
|
|
|
7
7
|
export const Surface: SurfaceComponent = ({children, glass = false, testID, ...props}: SurfaceProps) => {
|
|
@@ -4,7 +4,7 @@ import {haptics} from '@hzblj/expo-rich-haptics'
|
|
|
4
4
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
5
5
|
import {useCallback, useMemo} from 'react'
|
|
6
6
|
|
|
7
|
-
import {useHostGuard} from '../../host-context'
|
|
7
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
8
8
|
import type {SwitchComponent, SwitchProps} from './switch.types'
|
|
9
9
|
|
|
10
10
|
/** Stands in for a missing handler: Material drops its 48dp touch target without one, and the switch moves. */
|
|
@@ -3,7 +3,7 @@ import {disabled as disabledModifier, tint} from '@expo/ui/swift-ui/modifiers'
|
|
|
3
3
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
4
|
import {useMemo} from 'react'
|
|
5
5
|
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {SwitchComponent, SwitchProps} from './switch.types'
|
|
8
8
|
|
|
9
9
|
export const Switch: SwitchComponent = ({disabled = false, label, onValueChange, testID, value}: SwitchProps) => {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {duration, easing, springPhysics, useAppTheme} from '@hzblj/kara-theme'
|
|
12
12
|
import {useMemo} from 'react'
|
|
13
13
|
|
|
14
|
-
import {useHostGuard} from '../../host-context'
|
|
14
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
15
15
|
import {spansOf, textOf} from './spans'
|
|
16
16
|
import type {TextComponent, TextDecoration, TextProps, TextTransform, TextTruncation} from './text.types'
|
|
17
17
|
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
23
23
|
import {useMemo} from 'react'
|
|
24
24
|
|
|
25
|
-
import {useHostGuard} from '../../host-context'
|
|
25
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
26
26
|
import {spansKey, spansOf} from './spans'
|
|
27
27
|
import type {TextAlign, TextComponent, TextProps} from './text.types'
|
|
28
28
|
|
|
@@ -12,8 +12,8 @@ import {semantics, testID as testIdModifier} from '@expo/ui/jetpack-compose/modi
|
|
|
12
12
|
import {useSxModifiers} from '@hzblj/kara-sx'
|
|
13
13
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
14
14
|
import {useImperativeHandle, useMemo, useRef} from 'react'
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
15
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
16
|
+
import {Glyph} from '../glyph'
|
|
17
17
|
import type {TextFieldComponent, TextFieldContentType, TextFieldKeyboard, TextFieldProps} from './text-field.types'
|
|
18
18
|
import {autoCorrectFor, capitalizationFor, ignoreDetachedView} from './text-field-input'
|
|
19
19
|
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
import {useSxModifiers} from '@hzblj/kara-sx'
|
|
19
19
|
import {type ColorToken, spacing} from '@hzblj/kara-theme'
|
|
20
20
|
import {useImperativeHandle, useMemo, useRef} from 'react'
|
|
21
|
-
import {useHostGuard} from '../../host-context'
|
|
21
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
22
22
|
import {Text} from '../text'
|
|
23
23
|
import type {TextFieldAutoCapitalize, TextFieldComponent, TextFieldKeyboard, TextFieldProps} from './text-field.types'
|
|
24
24
|
import {autoCorrectFor, capitalizationFor, ignoreDetachedView} from './text-field-input'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Column} from '@expo/ui/jetpack-compose'
|
|
2
2
|
import {spacing} from '@hzblj/kara-theme'
|
|
3
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
-
import {useStackModifiers} from '../../use-stack-modifiers'
|
|
3
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
4
|
+
import {useStackModifiers} from '../../hooks/use-stack-modifiers'
|
|
5
5
|
import type {VStackAlign, VStackComponent, VStackProps} from './v-stack.types'
|
|
6
6
|
|
|
7
7
|
const ALIGNMENT = {
|
|
@@ -2,8 +2,8 @@ import {VStack as SwiftUIVStack} from '@expo/ui/swift-ui'
|
|
|
2
2
|
import {type FrameAlignment, splitAccessibility, useAccessibilityModifiers, useSxModifiers} from '@hzblj/kara-sx'
|
|
3
3
|
import {spacing} from '@hzblj/kara-theme'
|
|
4
4
|
import {useMemo} from 'react'
|
|
5
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
-
import {tapModifiers} from '../../tap-modifiers'
|
|
5
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
6
|
+
import {tapModifiers} from '../../utils/tap-modifiers'
|
|
7
7
|
import type {VStackAlign, VStackComponent, VStackProps} from './v-stack.types'
|
|
8
8
|
|
|
9
9
|
const ALIGNMENT = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {Box} from '@expo/ui/jetpack-compose'
|
|
2
|
-
import {useHostGuard} from '../../host-context'
|
|
3
|
-
import {useStackModifiers} from '../../use-stack-modifiers'
|
|
2
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
3
|
+
import {useStackModifiers} from '../../hooks/use-stack-modifiers'
|
|
4
4
|
import type {ZStackAlign, ZStackComponent, ZStackProps} from './z-stack.types'
|
|
5
5
|
|
|
6
6
|
const ALIGNMENT = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {ZStack as SwiftUIZStack} from '@expo/ui/swift-ui'
|
|
2
2
|
import {type FrameAlignment, splitAccessibility, useAccessibilityModifiers, useSxModifiers} from '@hzblj/kara-sx'
|
|
3
3
|
import {useMemo} from 'react'
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
5
|
-
import {tapModifiers} from '../../tap-modifiers'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
|
+
import {tapModifiers} from '../../utils/tap-modifiers'
|
|
6
6
|
import type {ZStackAlign, ZStackComponent, ZStackProps} from './z-stack.types'
|
|
7
7
|
|
|
8
8
|
const ALIGNMENT = {
|
|
@@ -19,8 +19,8 @@ import {
|
|
|
19
19
|
import {useAccessibilityModifiers} from '@hzblj/kara-sx'
|
|
20
20
|
import {duration, useAppTheme, useReducedMotion} from '@hzblj/kara-theme'
|
|
21
21
|
import {useMemo} from 'react'
|
|
22
|
-
import {Glyph} from '../../glyph'
|
|
23
|
-
import {useHostGuard} from '../../host-context'
|
|
22
|
+
import {Glyph} from '../../atoms/glyph'
|
|
23
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
24
24
|
import type {CollapsibleComponent, CollapsibleProps} from './collapsible.types'
|
|
25
25
|
|
|
26
26
|
/** Material's standard easing, at the length a chevron turning takes. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {DisclosureGroup} from '@expo/ui/swift-ui'
|
|
2
2
|
|
|
3
|
-
import {useHostGuard} from '../../host-context'
|
|
3
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
4
4
|
import type {CollapsibleComponent, CollapsibleProps} from './collapsible.types'
|
|
5
5
|
|
|
6
6
|
export const Collapsible: CollapsibleComponent = ({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import {Glyph} from '../../atoms/glyph'
|
|
1
2
|
import {HStack} from '../../atoms/h-stack'
|
|
2
3
|
import {Icon} from '../../atoms/icon'
|
|
3
4
|
import {Spacer} from '../../atoms/spacer'
|
|
4
5
|
import {Text} from '../../atoms/text'
|
|
5
|
-
import {Glyph} from '../../glyph'
|
|
6
6
|
import type {LabeledContentComponent, LabeledContentProps} from './labeled-content.types'
|
|
7
7
|
|
|
8
8
|
const TrailingValue = ({value}: {value: string}) => (
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import {Platform} from 'react-native'
|
|
2
|
-
|
|
2
|
+
import {Glyph} from '../../atoms/glyph'
|
|
3
3
|
import {HStack} from '../../atoms/h-stack'
|
|
4
4
|
import {Icon} from '../../atoms/icon'
|
|
5
5
|
import {Spacer} from '../../atoms/spacer'
|
|
6
6
|
import {Text} from '../../atoms/text'
|
|
7
7
|
import {VStack} from '../../atoms/v-stack'
|
|
8
|
-
import {Glyph} from '../../glyph'
|
|
9
8
|
import type {ListItemComponent, ListItemProps} from './list-item.types'
|
|
10
9
|
|
|
11
10
|
/**
|
|
@@ -7,21 +7,26 @@ import {
|
|
|
7
7
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
8
8
|
import {useImperativeHandle, useMemo, useRef} from 'react'
|
|
9
9
|
import {StyleSheet} from 'react-native'
|
|
10
|
+
import type {IconName} from '../../atoms/icon'
|
|
11
|
+
import {SEARCH_ROW_HEIGHT} from './navigation-bar.constants'
|
|
10
12
|
import type {NavigationBarComponent, NavigationBarItem, NavigationBarProps} from './navigation-bar.types'
|
|
11
13
|
|
|
12
|
-
/** Fits iOS 26's 44 pt glass items with the bar's own margin; the bar centres
|
|
14
|
+
/** Fits iOS 26's 44 pt glass items with the bar's own margin; the bar centres its item row vertically in it. */
|
|
13
15
|
const BAR_HEIGHT = 56
|
|
14
16
|
|
|
15
17
|
const styles = StyleSheet.create({
|
|
16
18
|
bar: {height: BAR_HEIGHT, width: '100%'},
|
|
19
|
+
stackedSearchBar: {height: BAR_HEIGHT + SEARCH_ROW_HEIGHT, width: '100%'},
|
|
17
20
|
})
|
|
18
21
|
|
|
19
|
-
const DEFAULT_LABELS = {back: 'Back', close: 'Close'} as const
|
|
22
|
+
const DEFAULT_LABELS = {back: 'Back', cancel: 'Cancel', close: 'Close', search: 'Search'} as const
|
|
23
|
+
|
|
24
|
+
const toImageName = (icon?: IconName) => (icon ? iconResourceName(icon) : undefined)
|
|
20
25
|
|
|
21
26
|
const toNativeItem = (item: NavigationBarItem): NativeNavigationBarItem =>
|
|
22
27
|
item.type === 'icon'
|
|
23
28
|
? {...item, imageName: iconResourceName(item.icon), type: 'icon'}
|
|
24
|
-
: {...item, label: item.label ?? DEFAULT_LABELS[item.type]}
|
|
29
|
+
: {...item, imageName: toImageName(item.icon), label: item.label ?? DEFAULT_LABELS[item.type]}
|
|
25
30
|
|
|
26
31
|
const ignoreDetachedView = () => undefined
|
|
27
32
|
|
|
@@ -42,12 +47,30 @@ export const NavigationBar: NavigationBarComponent = ({
|
|
|
42
47
|
|
|
43
48
|
useImperativeHandle(
|
|
44
49
|
search?.ref,
|
|
45
|
-
() => ({
|
|
50
|
+
() => ({
|
|
51
|
+
clear: () => barRef.current?.clearSearchText().catch(ignoreDetachedView),
|
|
52
|
+
setText: (text: string) => barRef.current?.setSearchText(text).catch(ignoreDetachedView),
|
|
53
|
+
}),
|
|
46
54
|
[]
|
|
47
55
|
)
|
|
48
56
|
|
|
57
|
+
const voice = search?.voice
|
|
58
|
+
const clearIcon = search?.clearIcon
|
|
59
|
+
const nativeVoice = useMemo(
|
|
60
|
+
() =>
|
|
61
|
+
voice && {
|
|
62
|
+
...voice,
|
|
63
|
+
clearImageName: toImageName(voice.clearIcon ?? clearIcon),
|
|
64
|
+
color: voice.color ?? color,
|
|
65
|
+
microphoneImageName: toImageName(voice.microphoneIcon),
|
|
66
|
+
stopImageName: toImageName(voice.stopIcon),
|
|
67
|
+
},
|
|
68
|
+
[clearIcon, color, voice]
|
|
69
|
+
)
|
|
70
|
+
|
|
49
71
|
const nativeLeadingItems = useMemo(() => leadingItems?.map(toNativeItem), [leadingItems])
|
|
50
72
|
const nativeTrailingItems = useMemo(() => trailingItems?.map(toNativeItem), [trailingItems])
|
|
73
|
+
const isStackedSearch = !!search && search.placement !== 'integratedButton'
|
|
51
74
|
|
|
52
75
|
return (
|
|
53
76
|
<NativeNavigationBar
|
|
@@ -58,9 +81,16 @@ export const NavigationBar: NavigationBarComponent = ({
|
|
|
58
81
|
onSearchFocusChange={search?.onFocusChange}
|
|
59
82
|
onSearchTextChange={search?.onChangeText}
|
|
60
83
|
ref={barRef}
|
|
84
|
+
searchButtonImageName={toImageName(search?.buttonIcon)}
|
|
85
|
+
searchButtonLabel={search ? (search.buttonLabel ?? DEFAULT_LABELS.search) : undefined}
|
|
86
|
+
searchCancelImageName={toImageName(search?.cancelIcon)}
|
|
87
|
+
searchCancelLabel={search ? (search.cancelLabel ?? DEFAULT_LABELS.cancel) : undefined}
|
|
88
|
+
searchClearImageName={toImageName(clearIcon)}
|
|
61
89
|
searchPlaceholder={search?.placeholder}
|
|
90
|
+
searchPlacement={search?.placement}
|
|
62
91
|
searchTestID={search?.testID}
|
|
63
|
-
|
|
92
|
+
searchVoice={nativeVoice}
|
|
93
|
+
style={isStackedSearch ? styles.stackedSearchBar : styles.bar}
|
|
64
94
|
testID={testID}
|
|
65
95
|
title={title}
|
|
66
96
|
titleAlignment={titleAlignment}
|
|
@@ -1,7 +1,45 @@
|
|
|
1
|
+
import type {SearchVoiceMeter} from '@hzblj/kara-native'
|
|
1
2
|
import type {ReactNode, Ref} from 'react'
|
|
3
|
+
import type {ColorValue} from 'react-native'
|
|
2
4
|
|
|
3
5
|
import type {IconName} from '../../atoms/icon'
|
|
4
6
|
|
|
7
|
+
/**
|
|
8
|
+
* A search field's voice: a microphone while the field is empty, the clear button in its place once it holds text, and
|
|
9
|
+
* while `listening` a live waveform of `meter` beside a stop button. Nothing records here: the app runs the dictation
|
|
10
|
+
* (`@hzblj/expo-speech`'s `SpeechTranscriber`, whose `Transcription` is the `meter`, or anything else) and writes what
|
|
11
|
+
* it hears into the field through the search's `setText`. The icons are the app's; unset, the platform's glyphs.
|
|
12
|
+
*/
|
|
13
|
+
export type SearchFieldVoice = {
|
|
14
|
+
/** The clear button that takes the microphone's place once the field holds text. */
|
|
15
|
+
clearIcon?: IconName
|
|
16
|
+
/** The clear button's accessibility label. */
|
|
17
|
+
clearLabel?: string
|
|
18
|
+
/** Tints the microphone, the clear button, the waveform and the stop glyph (iOS). The bar's item colour by default. */
|
|
19
|
+
color?: ColorValue
|
|
20
|
+
/** Dictation is running: the waveform and the stop button replace the microphone. */
|
|
21
|
+
listening: boolean
|
|
22
|
+
/**
|
|
23
|
+
* The transcription to draw, a native shared object that posts its level (`@hzblj/expo-speech`'s `Transcription`), so
|
|
24
|
+
* no level crosses to JavaScript. Without one the waveform stays flat.
|
|
25
|
+
*/
|
|
26
|
+
meter?: SearchVoiceMeter | null
|
|
27
|
+
/** The microphone. */
|
|
28
|
+
microphoneIcon?: IconName
|
|
29
|
+
/** The microphone's accessibility label. */
|
|
30
|
+
microphoneLabel: string
|
|
31
|
+
/** The search ended while listening (cancelled, or typed over): drop the dictation. */
|
|
32
|
+
onCancel?: () => void
|
|
33
|
+
/** The microphone was pressed. The field is focused first, so the search opens as if typed into. */
|
|
34
|
+
onStart: () => void
|
|
35
|
+
/** The stop button was pressed. */
|
|
36
|
+
onStop: () => void
|
|
37
|
+
/** The glyph in the stop button. */
|
|
38
|
+
stopIcon?: IconName
|
|
39
|
+
/** The stop button's accessibility label. */
|
|
40
|
+
stopLabel: string
|
|
41
|
+
}
|
|
42
|
+
|
|
5
43
|
type NavigationBarItemBase = {
|
|
6
44
|
/** Called when the item is pressed. */
|
|
7
45
|
onPress: () => void
|
|
@@ -16,30 +54,56 @@ type NavigationBarItemBase = {
|
|
|
16
54
|
|
|
17
55
|
/**
|
|
18
56
|
* One item of the bar. `back` and `close` are the platform's own (a chevron and the system close item on iOS, the
|
|
19
|
-
* Material arrow and cross on Android), with `Back` / `Close` as their labels unless given others
|
|
20
|
-
* app's icons and names itself for
|
|
57
|
+
* Material arrow and cross on Android), with `Back` / `Close` as their labels unless given others; on iOS `icon` puts
|
|
58
|
+
* one of the app's icons in place of the system glyph. An `icon` item is one of the app's icons and names itself for
|
|
59
|
+
* VoiceOver and TalkBack.
|
|
21
60
|
*/
|
|
22
61
|
export type NavigationBarItem =
|
|
23
|
-
| (NavigationBarItemBase & {label?: string; type: 'back' | 'close'})
|
|
62
|
+
| (NavigationBarItemBase & {icon?: IconName; label?: string; type: 'back' | 'close'})
|
|
24
63
|
| (NavigationBarItemBase & {icon: IconName; label: string; type: 'icon'})
|
|
25
64
|
|
|
26
65
|
export type NavigationBarSearchRef = {
|
|
27
66
|
/** Empties the field and ends editing. */
|
|
28
67
|
clear: () => void
|
|
68
|
+
/** Sets the field's text without `onChangeText`, the way dictation fills it in. */
|
|
69
|
+
setText: (text: string) => void
|
|
29
70
|
}
|
|
30
71
|
|
|
31
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Where the search field goes on iOS, as a native-stack header places its search: `stacked` in a row of its own under
|
|
74
|
+
* the title, `integratedButton` as a search item beside the trailing items that turns the bar into the field.
|
|
75
|
+
*/
|
|
76
|
+
export type NavigationBarSearchPlacement = 'integratedButton' | 'stacked'
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* A search field in the bar. iOS only for now; Android keeps the title. A focused field gets a cancel item that
|
|
80
|
+
* empties it and ends the search, a bar item like the others.
|
|
81
|
+
*/
|
|
32
82
|
export type NavigationBarSearch = {
|
|
83
|
+
/** `integratedButton`: the search item's icon, one of the app's icons; the system magnifying glass unset. */
|
|
84
|
+
buttonIcon?: IconName
|
|
85
|
+
/** `integratedButton`: the search item's label for VoiceOver. `Search` by default. */
|
|
86
|
+
buttonLabel?: string
|
|
87
|
+
/** The cancel item's icon, one of the app's icons; the system cross unset. */
|
|
88
|
+
cancelIcon?: IconName
|
|
89
|
+
/** The cancel item's label for VoiceOver. `Cancel` by default. */
|
|
90
|
+
cancelLabel?: string
|
|
91
|
+
/** The field's clear button, one of the app's icons; the system's unset. */
|
|
92
|
+
clearIcon?: IconName
|
|
33
93
|
/** Every edit of the field's text. */
|
|
34
94
|
onChangeText: (text: string) => void
|
|
35
95
|
/** The field gained or lost focus. */
|
|
36
96
|
onFocusChange?: (focused: boolean) => void
|
|
37
97
|
/** Shown while the field is empty. */
|
|
38
98
|
placeholder: string
|
|
99
|
+
/** `stacked` (a row under the title) by default. */
|
|
100
|
+
placement?: NavigationBarSearchPlacement
|
|
39
101
|
/** Imperative `clear`. */
|
|
40
102
|
ref?: Ref<NavigationBarSearchRef>
|
|
41
103
|
/** Test identifier, forwarded to the native search field. */
|
|
42
104
|
testID?: string
|
|
105
|
+
/** A microphone in the field: see `SearchFieldVoice`. */
|
|
106
|
+
voice?: SearchFieldVoice
|
|
43
107
|
}
|
|
44
108
|
|
|
45
109
|
export type NavigationBarTitleAlignment = 'center' | 'leading'
|
|
@@ -56,7 +120,7 @@ export type NavigationBarProps = {
|
|
|
56
120
|
inverted?: boolean
|
|
57
121
|
/** In screen order, from the leading edge. */
|
|
58
122
|
leadingItems?: NavigationBarItem[]
|
|
59
|
-
/**
|
|
123
|
+
/** A search field (iOS): under the title, or behind a search item beside the trailing items. */
|
|
60
124
|
search?: NavigationBarSearch
|
|
61
125
|
/** Test identifier, forwarded to the native bar. iOS only; Android ignores it. */
|
|
62
126
|
testID?: string
|
|
@@ -6,7 +6,7 @@ import {Children, useCallback, useEffect, useMemo, useRef, useState} from 'react
|
|
|
6
6
|
import {HStack} from '../../atoms/h-stack'
|
|
7
7
|
import {Spacer} from '../../atoms/spacer'
|
|
8
8
|
import {VStack} from '../../atoms/v-stack'
|
|
9
|
-
import {useHostGuard} from '../../host-context'
|
|
9
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
10
10
|
import type {PagerComponent, PagerProps} from './pager.types'
|
|
11
11
|
|
|
12
12
|
const DOT_SIZE = 6
|
|
@@ -2,7 +2,7 @@ import {TabView} from '@expo/ui/swift-ui'
|
|
|
2
2
|
import {type ModifierConfig, tabViewStyle} from '@expo/ui/swift-ui/modifiers'
|
|
3
3
|
import {Children, useCallback, useMemo} from 'react'
|
|
4
4
|
|
|
5
|
-
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
6
6
|
import type {PagerComponent, PagerProps} from './pager.types'
|
|
7
7
|
|
|
8
8
|
export const Pager: PagerComponent = ({children, indicators = true, onPageChange, page, testID}: PagerProps) => {
|
|
@@ -2,7 +2,7 @@ import {Text as ComposeText, RadioButton, Row} from '@expo/ui/jetpack-compose'
|
|
|
2
2
|
import {clickable, fillMaxWidth} from '@expo/ui/jetpack-compose/modifiers'
|
|
3
3
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
4
|
import {VStack} from '../../atoms/v-stack'
|
|
5
|
-
import {useHostGuard} from '../../host-context'
|
|
5
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
6
6
|
import type {RadioGroupComponent, RadioGroupProps} from './radio-group.types'
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import {Glyph} from '../../atoms/glyph'
|
|
1
2
|
import {HStack} from '../../atoms/h-stack'
|
|
2
3
|
import {Spacer} from '../../atoms/spacer'
|
|
3
4
|
import {Text} from '../../atoms/text'
|
|
4
5
|
import {VStack} from '../../atoms/v-stack'
|
|
5
|
-
import {
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {RadioGroupComponent, RadioGroupProps} from './radio-group.types'
|
|
8
8
|
|
|
9
9
|
export const RadioGroup: RadioGroupComponent = ({
|
|
@@ -4,9 +4,9 @@ import {useMemo} from 'react'
|
|
|
4
4
|
import {Platform, Pressable, type PressableStateCallbackType} from 'react-native'
|
|
5
5
|
|
|
6
6
|
import {Box} from '../../atoms/box'
|
|
7
|
+
import {RnGlyph} from '../../atoms/glyph'
|
|
7
8
|
import {RnIcon} from '../../atoms/rn-icon'
|
|
8
9
|
import {RnText} from '../../atoms/rn-text'
|
|
9
|
-
import {RnGlyph} from '../../glyph'
|
|
10
10
|
import type {RnListItemComponent, RnListItemProps} from './rn-list-item.types'
|
|
11
11
|
|
|
12
12
|
export const RnListItem: RnListItemComponent = ({
|
|
@@ -3,7 +3,7 @@ import {Text as ComposeText, Host, RNHostView, Row, TextButton} from '@expo/ui/j
|
|
|
3
3
|
import {TooltipBox} from '@hzblj/kara-native/jetpack-compose'
|
|
4
4
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
5
5
|
import {Button} from '../../atoms/button'
|
|
6
|
-
import {HostBoundary} from '../../host-context'
|
|
6
|
+
import {HostBoundary} from '../../hooks/host-context'
|
|
7
7
|
import type {RnTooltipAction, RnTooltipComponent, RnTooltipProps} from './rn-tooltip.types'
|
|
8
8
|
|
|
9
9
|
/** Material's rich tooltip width, in dp. */
|
|
@@ -2,8 +2,8 @@ import {useAppTheme} from '@hzblj/kara-theme'
|
|
|
2
2
|
import {Platform, TextInput} from 'react-native'
|
|
3
3
|
|
|
4
4
|
import {Box} from '../../atoms/box'
|
|
5
|
+
import {RnGlyph} from '../../atoms/glyph'
|
|
5
6
|
import {Pressable} from '../../atoms/pressable'
|
|
6
|
-
import {RnGlyph} from '../../glyph'
|
|
7
7
|
import type {SearchBarComponent, SearchBarProps} from './search-bar.types'
|
|
8
8
|
|
|
9
9
|
export const SearchBar: SearchBarComponent = ({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {useCallback} from 'react'
|
|
2
|
+
import {GlyphButton} from '../../atoms/glyph'
|
|
2
3
|
import {HStack} from '../../atoms/h-stack'
|
|
3
4
|
import {Spacer} from '../../atoms/spacer'
|
|
4
5
|
import {Text} from '../../atoms/text'
|
|
5
|
-
import {
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {StepperComponent, StepperProps} from './stepper.types'
|
|
8
8
|
|
|
9
9
|
export const Stepper: StepperComponent = ({
|
|
@@ -6,7 +6,7 @@ import {useRef} from 'react'
|
|
|
6
6
|
import {HStack} from '../../atoms/h-stack'
|
|
7
7
|
import {Spacer} from '../../atoms/spacer'
|
|
8
8
|
import {Text} from '../../atoms/text'
|
|
9
|
-
import {useHostGuard} from '../../host-context'
|
|
9
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
10
10
|
import type {StepperComponent, StepperProps} from './stepper.types'
|
|
11
11
|
|
|
12
12
|
/** The label stays VoiceOver's, on the control; on screen it is the row's own text. */
|
|
@@ -3,7 +3,7 @@ import {TooltipBox} from '@hzblj/kara-native/jetpack-compose'
|
|
|
3
3
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
4
4
|
import {useCallback} from 'react'
|
|
5
5
|
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import type {TooltipComponent, TooltipProps} from './tooltip.types'
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Popover} from '@expo/ui/swift-ui'
|
|
2
2
|
import {Text} from '../../atoms/text'
|
|
3
3
|
import {VStack} from '../../atoms/v-stack'
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
5
|
import type {TooltipComponent, TooltipProps} from './tooltip.types'
|
|
6
6
|
|
|
7
7
|
export const Tooltip: TooltipComponent = ({children, onDismiss, text, visible}: TooltipProps) => {
|
|
@@ -3,7 +3,7 @@ import {Icon} from '../../atoms/icon'
|
|
|
3
3
|
import {Island} from '../../atoms/island'
|
|
4
4
|
import {Text} from '../../atoms/text'
|
|
5
5
|
import {VStack} from '../../atoms/v-stack'
|
|
6
|
-
import {useHostGuard} from '../../host-context'
|
|
6
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
7
7
|
import {menuActionColor} from '../menu/menu-parts'
|
|
8
8
|
import {Sheet} from '../sheet'
|
|
9
9
|
import type {ActionSheetComponent, ActionSheetProps} from './action-sheet.types'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Button, ConfirmationDialog, Spacer, Text as SwiftUIText} from '@expo/ui/swift-ui'
|
|
2
2
|
import {disabled, frame} from '@expo/ui/swift-ui/modifiers'
|
|
3
3
|
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
5
|
import type {ActionSheetComponent, ActionSheetProps} from './action-sheet.types'
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {AlertDialog, Text as ComposeText, TextButton} from '@expo/ui/jetpack-compose'
|
|
2
2
|
import {useAppTheme} from '@hzblj/kara-theme'
|
|
3
3
|
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
5
|
import type {AlertComponent, AlertProps} from './alert.types'
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Button, Spacer, Alert as SwiftUIAlert, Text as SwiftUIText} from '@expo/ui/swift-ui'
|
|
2
2
|
import {frame} from '@expo/ui/swift-ui/modifiers'
|
|
3
3
|
|
|
4
|
-
import {useHostGuard} from '../../host-context'
|
|
4
|
+
import {useHostGuard} from '../../hooks/host-context'
|
|
5
5
|
import type {AlertComponent, AlertProps} from './alert.types'
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -5,8 +5,8 @@ import {useAppTheme} from '@hzblj/kara-theme'
|
|
|
5
5
|
import {useCallback, useMemo, useRef, useState} from 'react'
|
|
6
6
|
import {type GestureResponderEvent, Pressable, StyleSheet, View} from 'react-native'
|
|
7
7
|
import {Icon} from '../../atoms/icon'
|
|
8
|
-
import {HostBoundary} from '../../host-context'
|
|
9
|
-
import {splitForRipple} from '../../ripple-clip'
|
|
8
|
+
import {HostBoundary} from '../../hooks/host-context'
|
|
9
|
+
import {splitForRipple} from '../../utils/ripple-clip'
|
|
10
10
|
import type {MenuAction} from '../menu'
|
|
11
11
|
import {menuActionColor} from '../menu/menu-parts'
|
|
12
12
|
import type {ContextMenuComponent, ContextMenuExclusionProps, ContextMenuProps} from './context-menu.types'
|