@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["organisms/header/header-search-accessory.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Host } from '@expo/ui/jetpack-compose';
|
|
4
|
+
import { iconResourceName } from '@hzblj/expo-native-icons';
|
|
5
|
+
import { SearchField } from '@hzblj/kara-native/jetpack-compose';
|
|
6
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
7
|
+
import { useImperativeHandle, useMemo, useRef } from 'react';
|
|
8
|
+
import { StyleSheet, View } from 'react-native';
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
/** Material's search field is 56dp; the row adds 8dp above it and 12dp below, under the top app bar. */
|
|
11
|
+
const FIELD_HEIGHT = 56;
|
|
12
|
+
|
|
13
|
+
/** The row's height under the bar, for what is laid out below it (the scrim starts there). */
|
|
14
|
+
export const HEADER_SEARCH_ROW_HEIGHT = 8 + FIELD_HEIGHT + 12;
|
|
15
|
+
const styles = StyleSheet.create({
|
|
16
|
+
field: {
|
|
17
|
+
height: FIELD_HEIGHT
|
|
18
|
+
},
|
|
19
|
+
row: {
|
|
20
|
+
paddingBottom: 12,
|
|
21
|
+
paddingHorizontal: 16,
|
|
22
|
+
paddingTop: 8
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const ignoreDetachedView = () => undefined;
|
|
26
|
+
export const HeaderSearchInput = ({
|
|
27
|
+
clearIcon,
|
|
28
|
+
onChangeText,
|
|
29
|
+
onFocusChange,
|
|
30
|
+
placeholder,
|
|
31
|
+
ref,
|
|
32
|
+
voice
|
|
33
|
+
}) => {
|
|
34
|
+
const theme = useAppTheme();
|
|
35
|
+
const fieldRef = useRef(null);
|
|
36
|
+
const face = theme.typography.body;
|
|
37
|
+
useImperativeHandle(ref, () => ({
|
|
38
|
+
blur: () => {
|
|
39
|
+
fieldRef.current?.blurField().catch(ignoreDetachedView);
|
|
40
|
+
},
|
|
41
|
+
clear: () => {
|
|
42
|
+
fieldRef.current?.clearQuery().catch(ignoreDetachedView);
|
|
43
|
+
},
|
|
44
|
+
setText: text => {
|
|
45
|
+
fieldRef.current?.setQuery(text).catch(ignoreDetachedView);
|
|
46
|
+
}
|
|
47
|
+
}), []);
|
|
48
|
+
const nativeVoice = useMemo(() => voice && {
|
|
49
|
+
...voice,
|
|
50
|
+
microphoneIconName: voice.microphoneIcon ? iconResourceName(voice.microphoneIcon) : undefined,
|
|
51
|
+
stopIconName: voice.stopIcon ? iconResourceName(voice.stopIcon) : undefined
|
|
52
|
+
}, [voice]);
|
|
53
|
+
const fieldClearIcon = voice?.clearIcon ?? clearIcon;
|
|
54
|
+
return /*#__PURE__*/_jsx(View, {
|
|
55
|
+
style: styles.row,
|
|
56
|
+
children: /*#__PURE__*/_jsx(Host, {
|
|
57
|
+
colorScheme: theme.dark ? 'dark' : 'light',
|
|
58
|
+
ignoreSafeAreaKeyboardInsets: true,
|
|
59
|
+
seedColor: theme.materialSeed,
|
|
60
|
+
style: styles.field,
|
|
61
|
+
children: /*#__PURE__*/_jsx(SearchField, {
|
|
62
|
+
cancelLabel: "Cancel",
|
|
63
|
+
clearIconName: fieldClearIcon ? iconResourceName(fieldClearIcon) : undefined,
|
|
64
|
+
clearLabel: voice?.clearLabel ?? 'Clear',
|
|
65
|
+
containerColor: theme.color('fill.quaternary'),
|
|
66
|
+
fontFamily: face.fontFamily,
|
|
67
|
+
fontSize: face.fontSize,
|
|
68
|
+
iconColor: theme.color('content.secondary'),
|
|
69
|
+
onFocusChange: onFocusChange,
|
|
70
|
+
onQueryChange: onChangeText,
|
|
71
|
+
placeholder: placeholder,
|
|
72
|
+
placeholderColor: theme.color('content.tertiary'),
|
|
73
|
+
ref: fieldRef,
|
|
74
|
+
textColor: theme.color('content.primary'),
|
|
75
|
+
voice: nativeVoice
|
|
76
|
+
})
|
|
77
|
+
})
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=header-search-input.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Host","iconResourceName","SearchField","useAppTheme","useImperativeHandle","useMemo","useRef","StyleSheet","View","jsx","_jsx","FIELD_HEIGHT","HEADER_SEARCH_ROW_HEIGHT","styles","create","field","height","row","paddingBottom","paddingHorizontal","paddingTop","ignoreDetachedView","undefined","HeaderSearchInput","clearIcon","onChangeText","onFocusChange","placeholder","ref","voice","theme","fieldRef","face","typography","body","blur","current","blurField","catch","clear","clearQuery","setText","text","setQuery","nativeVoice","microphoneIconName","microphoneIcon","stopIconName","stopIcon","fieldClearIcon","style","children","colorScheme","dark","ignoreSafeAreaKeyboardInsets","seedColor","materialSeed","cancelLabel","clearIconName","clearLabel","containerColor","color","fontFamily","fontSize","iconColor","onQueryChange","placeholderColor","textColor"],"sourceRoot":"../../../../src","sources":["organisms/header/header-search-input.android.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** iOS searches in the navigation bar itself (`headerSearchBarOptions`). */
|
|
4
|
+
export const HeaderSearchInput = () => null;
|
|
5
|
+
|
|
6
|
+
/** The row's height under the bar. iOS has none. */
|
|
7
|
+
export const HEADER_SEARCH_ROW_HEIGHT = 0;
|
|
8
|
+
//# sourceMappingURL=header-search-input.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HeaderSearchInput","HEADER_SEARCH_ROW_HEIGHT"],"sourceRoot":"../../../../src","sources":["organisms/header/header-search-input.ios.tsx"],"mappings":";;AAEA;AACA,OAAO,MAAMA,iBAA6C,GAAGA,CAAA,KAAM,IAAI;;AAEvE;AACA,OAAO,MAAMC,wBAAwB,GAAG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["organisms/header/header-search-input.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
4
|
+
import { Platform, Pressable, StyleSheet, View } from 'react-native';
|
|
5
|
+
import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
|
|
6
|
+
import { SafeAreaView } from 'react-native-screens/experimental';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const SCRIM_OPACITY = 0.7;
|
|
9
|
+
const ENTERING = FadeIn.duration(200);
|
|
10
|
+
const EXITING = FadeOut.duration(200);
|
|
11
|
+
const TOP_EDGE = {
|
|
12
|
+
top: true
|
|
13
|
+
};
|
|
14
|
+
const styles = StyleSheet.create({
|
|
15
|
+
fill: {
|
|
16
|
+
flex: 1
|
|
17
|
+
},
|
|
18
|
+
layer: {
|
|
19
|
+
bottom: 0,
|
|
20
|
+
left: 0,
|
|
21
|
+
position: 'absolute',
|
|
22
|
+
right: 0,
|
|
23
|
+
zIndex: 10
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Washes the content out while the search field is focused and empty, as the system's own search does without
|
|
28
|
+
* dimming the bar; a tap on it ends the search. iOS starts it under the bar, following the bar natively
|
|
29
|
+
* (react-native-screens' `SafeAreaView`), Android under the search row.
|
|
30
|
+
*/
|
|
31
|
+
export const HeaderSearchScrim = ({
|
|
32
|
+
onPress,
|
|
33
|
+
topOffset
|
|
34
|
+
}) => {
|
|
35
|
+
const theme = useAppTheme();
|
|
36
|
+
const scrim = /*#__PURE__*/_jsx(Animated.View, {
|
|
37
|
+
entering: ENTERING,
|
|
38
|
+
exiting: EXITING,
|
|
39
|
+
style: [styles.fill, {
|
|
40
|
+
backgroundColor: theme.color('surface.base'),
|
|
41
|
+
opacity: SCRIM_OPACITY
|
|
42
|
+
}],
|
|
43
|
+
children: /*#__PURE__*/_jsx(Pressable, {
|
|
44
|
+
accessible: false,
|
|
45
|
+
onPress: onPress,
|
|
46
|
+
style: styles.fill
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
return /*#__PURE__*/_jsx(View, {
|
|
50
|
+
pointerEvents: "box-none",
|
|
51
|
+
style: [styles.layer, {
|
|
52
|
+
top: topOffset
|
|
53
|
+
}],
|
|
54
|
+
children: Platform.OS === 'ios' ? /*#__PURE__*/_jsx(SafeAreaView, {
|
|
55
|
+
edges: TOP_EDGE,
|
|
56
|
+
pointerEvents: "box-none",
|
|
57
|
+
style: styles.fill,
|
|
58
|
+
children: scrim
|
|
59
|
+
}) : scrim
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=header-search-scrim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useAppTheme","Platform","Pressable","StyleSheet","View","Animated","FadeIn","FadeOut","SafeAreaView","jsx","_jsx","SCRIM_OPACITY","ENTERING","duration","EXITING","TOP_EDGE","top","styles","create","fill","flex","layer","bottom","left","position","right","zIndex","HeaderSearchScrim","onPress","topOffset","theme","scrim","entering","exiting","style","backgroundColor","color","opacity","children","accessible","pointerEvents","OS","edges"],"sourceRoot":"../../../../src","sources":["organisms/header/header-search-scrim.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAO,cAAc;AAClE,OAAOC,QAAQ,IAAGC,MAAM,EAAEC,OAAO,QAAO,yBAAyB;AACjE,SAAQC,YAAY,QAAO,mCAAmC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,MAAMC,aAAa,GAAG,GAAG;AACzB,MAAMC,QAAQ,GAAGN,MAAM,CAACO,QAAQ,CAAC,GAAG,CAAC;AACrC,MAAMC,OAAO,GAAGP,OAAO,CAACM,QAAQ,CAAC,GAAG,CAAC;AACrC,MAAME,QAAQ,GAAG;EAACC,GAAG,EAAE;AAAI,CAAC;AAE5B,MAAMC,MAAM,GAAGd,UAAU,CAACe,MAAM,CAAC;EAC/BC,IAAI,EAAE;IAACC,IAAI,EAAE;EAAC,CAAC;EACfC,KAAK,EAAE;IAACC,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,QAAQ,EAAE,UAAU;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE;AACxE,CAAC,CAAC;AAOF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAACC,OAAO;EAAEC;AAAiC,CAAC,KAAK;EACjF,MAAMC,KAAK,GAAG9B,WAAW,CAAC,CAAC;EAC3B,MAAM+B,KAAK,gBACTrB,IAAA,CAACL,QAAQ,CAACD,IAAI;IACZ4B,QAAQ,EAAEpB,QAAS;IACnBqB,OAAO,EAAEnB,OAAQ;IACjBoB,KAAK,EAAE,CAACjB,MAAM,CAACE,IAAI,EAAE;MAACgB,eAAe,EAAEL,KAAK,CAACM,KAAK,CAAC,cAAc,CAAC;MAAEC,OAAO,EAAE1B;IAAa,CAAC,CAAE;IAAA2B,QAAA,eAE7F5B,IAAA,CAACR,SAAS;MAACqC,UAAU,EAAE,KAAM;MAACX,OAAO,EAAEA,OAAQ;MAACM,KAAK,EAAEjB,MAAM,CAACE;IAAK,CAAE;EAAC,CACzD,CAChB;EAED,oBACET,IAAA,CAACN,IAAI;IAACoC,aAAa,EAAC,UAAU;IAACN,KAAK,EAAE,CAACjB,MAAM,CAACI,KAAK,EAAE;MAACL,GAAG,EAAEa;IAAS,CAAC,CAAE;IAAAS,QAAA,EACpErC,QAAQ,CAACwC,EAAE,KAAK,KAAK,gBACpB/B,IAAA,CAACF,YAAY;MAACkC,KAAK,EAAE3B,QAAS;MAACyB,aAAa,EAAC,UAAU;MAACN,KAAK,EAAEjB,MAAM,CAACE,IAAK;MAAAmB,QAAA,EACxEP;IAAK,CACM,CAAC,GAEfA;EACD,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
import { Platform, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
|
+
import Animated, { Extrapolation, interpolate, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
6
|
+
import { scheduleOnRN } from 'react-native-worklets';
|
|
7
|
+
import { RnText } from "../../atoms/rn-text/index.js";
|
|
8
|
+
import { hasNativeSubtitle, NativeSubtitle } from './native-subtitle';
|
|
9
|
+
|
|
10
|
+
/** Past half, a revealed title counts as shown: the native title and subtitle switch then. */
|
|
11
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
const REVEALED_THRESHOLD = 0.5;
|
|
13
|
+
|
|
14
|
+
/** iOS centres a custom title view in what the bar items leave; this much stays for them on a leading title. */
|
|
15
|
+
const LEADING_TITLE_RESERVED_WIDTH = 200;
|
|
16
|
+
const styles = StyleSheet.create({
|
|
17
|
+
largeTitle: {
|
|
18
|
+
paddingHorizontal: 16,
|
|
19
|
+
paddingVertical: 8
|
|
20
|
+
},
|
|
21
|
+
leadingTitleAndroid: {
|
|
22
|
+
paddingStart: 2,
|
|
23
|
+
paddingTop: 1
|
|
24
|
+
},
|
|
25
|
+
leadingTitleIos: {
|
|
26
|
+
flexShrink: 1,
|
|
27
|
+
paddingTop: 1
|
|
28
|
+
},
|
|
29
|
+
shrink: {
|
|
30
|
+
flexShrink: 1
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
export const useIsTitleRevealed = progress => {
|
|
34
|
+
const [revealed, setRevealed] = useState(() => progress === undefined || progress.value > REVEALED_THRESHOLD);
|
|
35
|
+
useAnimatedReaction(() => progress === undefined || progress.value > REVEALED_THRESHOLD, (isRevealed, wasRevealed) => {
|
|
36
|
+
if (isRevealed !== wasRevealed) {
|
|
37
|
+
scheduleOnRN(setRevealed, isRevealed);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return revealed;
|
|
41
|
+
};
|
|
42
|
+
const Reveal = ({
|
|
43
|
+
children,
|
|
44
|
+
progress
|
|
45
|
+
}) => {
|
|
46
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
47
|
+
opacity: progress.value
|
|
48
|
+
}));
|
|
49
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
50
|
+
style: [styles.shrink, animatedStyle],
|
|
51
|
+
children: children
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
const BarTitle = ({
|
|
55
|
+
title
|
|
56
|
+
}) => /*#__PURE__*/_jsx(RnText, {
|
|
57
|
+
accessibilityRole: "header",
|
|
58
|
+
allowFontScaling: false,
|
|
59
|
+
numberOfLines: 1,
|
|
60
|
+
variant: "headline",
|
|
61
|
+
children: title
|
|
62
|
+
});
|
|
63
|
+
const LeadingTitle = ({
|
|
64
|
+
subtitle,
|
|
65
|
+
title
|
|
66
|
+
}) => {
|
|
67
|
+
const {
|
|
68
|
+
width
|
|
69
|
+
} = useWindowDimensions();
|
|
70
|
+
const content = /*#__PURE__*/_jsxs(_Fragment, {
|
|
71
|
+
children: [/*#__PURE__*/_jsx(RnText, {
|
|
72
|
+
accessibilityRole: "header",
|
|
73
|
+
allowFontScaling: false,
|
|
74
|
+
numberOfLines: 1,
|
|
75
|
+
variant: "subheadlineMedium",
|
|
76
|
+
children: title
|
|
77
|
+
}), /*#__PURE__*/_jsx(RnText, {
|
|
78
|
+
allowFontScaling: false,
|
|
79
|
+
color: "content.secondary",
|
|
80
|
+
numberOfLines: 1,
|
|
81
|
+
variant: "label",
|
|
82
|
+
children: subtitle
|
|
83
|
+
})]
|
|
84
|
+
});
|
|
85
|
+
if (Platform.OS === 'ios') {
|
|
86
|
+
return /*#__PURE__*/_jsx(View, {
|
|
87
|
+
style: [styles.leadingTitleIos, {
|
|
88
|
+
width
|
|
89
|
+
}],
|
|
90
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
91
|
+
style: {
|
|
92
|
+
maxWidth: width - LEADING_TITLE_RESERVED_WIDTH
|
|
93
|
+
},
|
|
94
|
+
children: content
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return /*#__PURE__*/_jsx(View, {
|
|
99
|
+
style: [styles.leadingTitleAndroid, {
|
|
100
|
+
maxWidth: width - LEADING_TITLE_RESERVED_WIDTH
|
|
101
|
+
}],
|
|
102
|
+
children: content
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const LargeTitle = ({
|
|
106
|
+
height,
|
|
107
|
+
title
|
|
108
|
+
}) => {
|
|
109
|
+
const onLayout = useCallback(event => {
|
|
110
|
+
height.value = event.nativeEvent.layout.height;
|
|
111
|
+
}, [height]);
|
|
112
|
+
return /*#__PURE__*/_jsx(View, {
|
|
113
|
+
onLayout: onLayout,
|
|
114
|
+
style: styles.largeTitle,
|
|
115
|
+
children: /*#__PURE__*/_jsx(RnText, {
|
|
116
|
+
accessibilityRole: "header",
|
|
117
|
+
allowFontScaling: false,
|
|
118
|
+
numberOfLines: 1,
|
|
119
|
+
variant: "headingM",
|
|
120
|
+
children: title
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
const CollapsingTitle = ({
|
|
125
|
+
height,
|
|
126
|
+
scrollY,
|
|
127
|
+
title
|
|
128
|
+
}) => {
|
|
129
|
+
const progress = useDerivedValue(() => {
|
|
130
|
+
if (height.value === 0) {
|
|
131
|
+
return 0;
|
|
132
|
+
}
|
|
133
|
+
return interpolate(scrollY.value, [height.value / 2, height.value], [0, 1], Extrapolation.CLAMP);
|
|
134
|
+
});
|
|
135
|
+
return /*#__PURE__*/_jsx(Reveal, {
|
|
136
|
+
progress: progress,
|
|
137
|
+
children: /*#__PURE__*/_jsx(BarTitle, {
|
|
138
|
+
title: title
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* The title half of a header: the options that show the title (centred, leading with a subtitle, revealed on scroll or
|
|
144
|
+
* large), plus on Android the large title row and the scroll worklet that collapses it into the bar, as Material's large
|
|
145
|
+
* top app bar does. iOS needs neither: the large title is UIKit's own.
|
|
146
|
+
*/
|
|
147
|
+
export const useHeaderTitle = ({
|
|
148
|
+
largeTitle,
|
|
149
|
+
subtitle,
|
|
150
|
+
title,
|
|
151
|
+
titleHidden,
|
|
152
|
+
titleRevealProgress
|
|
153
|
+
}) => {
|
|
154
|
+
const scrollY = useSharedValue(0);
|
|
155
|
+
const largeTitleHeight = useSharedValue(0);
|
|
156
|
+
const revealed = useIsTitleRevealed(titleRevealProgress);
|
|
157
|
+
const isAndroidLargeTitle = Platform.OS === 'android' && largeTitle === true && !!title;
|
|
158
|
+
const onScroll = useCallback(offsetY => {
|
|
159
|
+
'worklet';
|
|
160
|
+
|
|
161
|
+
scrollY.value = offsetY;
|
|
162
|
+
}, [scrollY]);
|
|
163
|
+
const options = useMemo(() => {
|
|
164
|
+
const titleOptions = {};
|
|
165
|
+
if (largeTitle !== undefined) {
|
|
166
|
+
titleOptions.headerLargeTitleEnabled = Platform.OS === 'ios' && largeTitle;
|
|
167
|
+
}
|
|
168
|
+
if (title === undefined) {
|
|
169
|
+
return titleOptions;
|
|
170
|
+
}
|
|
171
|
+
titleOptions.title = title;
|
|
172
|
+
if (titleHidden) {
|
|
173
|
+
titleOptions.headerTitle = '';
|
|
174
|
+
return titleOptions;
|
|
175
|
+
}
|
|
176
|
+
if (subtitle !== undefined && hasNativeSubtitle) {
|
|
177
|
+
const shownTitle = revealed ? title : '';
|
|
178
|
+
|
|
179
|
+
// The subtitle styles the screen's navigation item from inside its tree, which `headerBackground` is.
|
|
180
|
+
titleOptions.headerBackground = () => /*#__PURE__*/_jsx(NativeSubtitle, {
|
|
181
|
+
subtitle: subtitle,
|
|
182
|
+
subtitleHidden: !revealed
|
|
183
|
+
});
|
|
184
|
+
titleOptions.headerTitle = shownTitle;
|
|
185
|
+
titleOptions.title = shownTitle;
|
|
186
|
+
return titleOptions;
|
|
187
|
+
}
|
|
188
|
+
if (subtitle !== undefined) {
|
|
189
|
+
const leadingTitle = /*#__PURE__*/_jsx(LeadingTitle, {
|
|
190
|
+
subtitle: subtitle,
|
|
191
|
+
title: title
|
|
192
|
+
});
|
|
193
|
+
titleOptions.headerTitle = () => titleRevealProgress ? /*#__PURE__*/_jsx(Reveal, {
|
|
194
|
+
progress: titleRevealProgress,
|
|
195
|
+
children: leadingTitle
|
|
196
|
+
}) : leadingTitle;
|
|
197
|
+
return titleOptions;
|
|
198
|
+
}
|
|
199
|
+
if (titleRevealProgress) {
|
|
200
|
+
titleOptions.headerTitle = () => /*#__PURE__*/_jsx(Reveal, {
|
|
201
|
+
progress: titleRevealProgress,
|
|
202
|
+
children: /*#__PURE__*/_jsx(BarTitle, {
|
|
203
|
+
title: title
|
|
204
|
+
})
|
|
205
|
+
});
|
|
206
|
+
return titleOptions;
|
|
207
|
+
}
|
|
208
|
+
if (isAndroidLargeTitle) {
|
|
209
|
+
titleOptions.headerTitle = () => /*#__PURE__*/_jsx(CollapsingTitle, {
|
|
210
|
+
height: largeTitleHeight,
|
|
211
|
+
scrollY: scrollY,
|
|
212
|
+
title: title
|
|
213
|
+
});
|
|
214
|
+
return titleOptions;
|
|
215
|
+
}
|
|
216
|
+
titleOptions.headerTitle = title;
|
|
217
|
+
return titleOptions;
|
|
218
|
+
}, [isAndroidLargeTitle, largeTitle, largeTitleHeight, revealed, scrollY, subtitle, title, titleHidden, titleRevealProgress]);
|
|
219
|
+
const largeTitleRow = useMemo(() => isAndroidLargeTitle && title ? /*#__PURE__*/_jsx(LargeTitle, {
|
|
220
|
+
height: largeTitleHeight,
|
|
221
|
+
title: title
|
|
222
|
+
}) : null, [isAndroidLargeTitle, largeTitleHeight, title]);
|
|
223
|
+
return {
|
|
224
|
+
largeTitle: largeTitleRow,
|
|
225
|
+
onScroll,
|
|
226
|
+
options,
|
|
227
|
+
revealed
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=header-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","Platform","StyleSheet","useWindowDimensions","View","Animated","Extrapolation","interpolate","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","scheduleOnRN","RnText","hasNativeSubtitle","NativeSubtitle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REVEALED_THRESHOLD","LEADING_TITLE_RESERVED_WIDTH","styles","create","largeTitle","paddingHorizontal","paddingVertical","leadingTitleAndroid","paddingStart","paddingTop","leadingTitleIos","flexShrink","shrink","useIsTitleRevealed","progress","revealed","setRevealed","undefined","value","isRevealed","wasRevealed","Reveal","children","animatedStyle","opacity","style","BarTitle","title","accessibilityRole","allowFontScaling","numberOfLines","variant","LeadingTitle","subtitle","width","content","color","OS","maxWidth","LargeTitle","height","onLayout","event","nativeEvent","layout","CollapsingTitle","scrollY","CLAMP","useHeaderTitle","titleHidden","titleRevealProgress","largeTitleHeight","isAndroidLargeTitle","onScroll","offsetY","options","titleOptions","headerLargeTitleEnabled","headerTitle","shownTitle","headerBackground","subtitleHidden","leadingTitle","largeTitleRow"],"sourceRoot":"../../../../src","sources":["organisms/header/header-title.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["organisms/header/header.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
4
|
+
import { StyleSheet } from 'react-native';
|
|
5
|
+
import Animated, { useAnimatedStyle } from 'react-native-reanimated';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const styles = StyleSheet.create({
|
|
8
|
+
bar: {
|
|
9
|
+
left: 0,
|
|
10
|
+
position: 'absolute',
|
|
11
|
+
right: 0,
|
|
12
|
+
top: 0
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
/** The top app bar's surface, fading in behind the transparent bar as the hero scrolls away. */
|
|
17
|
+
export const HeroHeaderBackground = ({
|
|
18
|
+
height,
|
|
19
|
+
progress
|
|
20
|
+
}) => {
|
|
21
|
+
const theme = useAppTheme();
|
|
22
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
23
|
+
opacity: progress.value
|
|
24
|
+
}));
|
|
25
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
26
|
+
pointerEvents: "none",
|
|
27
|
+
style: [styles.bar, {
|
|
28
|
+
backgroundColor: theme.color('surface.base'),
|
|
29
|
+
height
|
|
30
|
+
}, animatedStyle]
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=hero-header-background.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useAppTheme","StyleSheet","Animated","useAnimatedStyle","jsx","_jsx","styles","create","bar","left","position","right","top","HeroHeaderBackground","height","progress","theme","animatedStyle","opacity","value","View","pointerEvents","style","backgroundColor","color"],"sourceRoot":"../../../../src","sources":["organisms/header/hero-header-background.android.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,UAAU,QAAO,cAAc;AACvC,OAAOC,QAAQ,IAAGC,gBAAgB,QAAO,yBAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIlE,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAM,CAAC;EAC/BC,GAAG,EAAE;IAACC,IAAI,EAAE,CAAC;IAAEC,QAAQ,EAAE,UAAU;IAAEC,KAAK,EAAE,CAAC;IAAEC,GAAG,EAAE;EAAC;AACvD,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMC,oBAAmD,GAAGA,CAAC;EAACC,MAAM;EAAEC;AAAmC,CAAC,KAAK;EACpH,MAAMC,KAAK,GAAGhB,WAAW,CAAC,CAAC;EAC3B,MAAMiB,aAAa,GAAGd,gBAAgB,CAAC,OAAO;IAACe,OAAO,EAAEH,QAAQ,CAACI;EAAK,CAAC,CAAC,CAAC;EAEzE,oBACEd,IAAA,CAACH,QAAQ,CAACkB,IAAI;IACZC,aAAa,EAAC,MAAM;IACpBC,KAAK,EAAE,CAAChB,MAAM,CAACE,GAAG,EAAE;MAACe,eAAe,EAAEP,KAAK,CAACQ,KAAK,CAAC,cAAc,CAAC;MAAEV;IAAM,CAAC,EAAEG,aAAa;EAAE,CAC5F,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isScrollEdgeEffectAvailable } from '@hzblj/kara-native';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { BlurView } from "../../atoms/blur-view/index.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const styles = StyleSheet.create({
|
|
8
|
+
bar: {
|
|
9
|
+
left: 0,
|
|
10
|
+
position: 'absolute',
|
|
11
|
+
right: 0,
|
|
12
|
+
top: 0
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* iOS 26 draws the bar's background itself: its scroll edge effect, switched on once the reveal starts. Before it the
|
|
18
|
+
* bar's own blur cannot fade, so the bar's chrome material comes in behind the transparent bar by its intensity, the
|
|
19
|
+
* way UIKit fades a material in, rather than by its opacity.
|
|
20
|
+
*/
|
|
21
|
+
export const HeroHeaderBackground = ({
|
|
22
|
+
height,
|
|
23
|
+
progress
|
|
24
|
+
}) => {
|
|
25
|
+
if (isScrollEdgeEffectAvailable()) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return /*#__PURE__*/_jsx(View, {
|
|
29
|
+
pointerEvents: "none",
|
|
30
|
+
style: [styles.bar, {
|
|
31
|
+
height
|
|
32
|
+
}],
|
|
33
|
+
children: /*#__PURE__*/_jsx(BlurView, {
|
|
34
|
+
flex: 1,
|
|
35
|
+
intensity: progress,
|
|
36
|
+
material: "ultraThick"
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=hero-header-background.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isScrollEdgeEffectAvailable","StyleSheet","View","BlurView","jsx","_jsx","styles","create","bar","left","position","right","top","HeroHeaderBackground","height","progress","pointerEvents","style","children","flex","intensity","material"],"sourceRoot":"../../../../src","sources":["organisms/header/hero-header-background.ios.tsx"],"mappings":";;AAAA,SAAQA,2BAA2B,QAAO,oBAAoB;AAC9D,SAAQC,UAAU,EAAEC,IAAI,QAAO,cAAc;AAE7C,SAAQC,QAAQ,QAAO,gCAAuB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG9C,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAM,CAAC;EAC/BC,GAAG,EAAE;IAACC,IAAI,EAAE,CAAC;IAAEC,QAAQ,EAAE,UAAU;IAAEC,KAAK,EAAE,CAAC;IAAEC,GAAG,EAAE;EAAC;AACvD,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAmD,GAAGA,CAAC;EAACC,MAAM;EAAEC;AAAmC,CAAC,KAAK;EACpH,IAAIf,2BAA2B,CAAC,CAAC,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,oBACEK,IAAA,CAACH,IAAI;IAACc,aAAa,EAAC,MAAM;IAACC,KAAK,EAAE,CAACX,MAAM,CAACE,GAAG,EAAE;MAACM;IAAM,CAAC,CAAE;IAAAI,QAAA,eACvDb,IAAA,CAACF,QAAQ;MAACgB,IAAI,EAAE,CAAE;MAACC,SAAS,EAAEL,QAAS;MAACM,QAAQ,EAAC;IAAY,CAAE;EAAC,CAC5D,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["organisms/header/hero-header-background.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export * from "./header.types.js";
|
|
4
|
+
export * from './header-inset';
|
|
5
|
+
export { useIsTitleRevealed } from "./header-title.js";
|
|
6
|
+
export * from './sheet-grabber';
|
|
7
|
+
export * from "./use-header.js";
|
|
8
|
+
export * from './use-header-bar-inset';
|
|
9
|
+
export * from "./use-header-scroll-to-top.js";
|
|
10
|
+
export * from "./use-header-search.js";
|
|
11
|
+
export * from "./use-hero-header.js";
|
|
12
|
+
export * from "./use-stack-screen-options.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useIsTitleRevealed"],"sourceRoot":"../../../../src","sources":["organisms/header/index.ts"],"mappings":";;AAAA,cAAc,mBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,SAAQA,kBAAkB,QAAO,mBAAgB;AACjD,cAAc,iBAAiB;AAE/B,cAAc,iBAAc;AAC5B,cAAc,wBAAwB;AACtC,cAAc,+BAA4B;AAC1C,cAAc,wBAAqB;AACnC,cAAc,sBAAmB;AACjC,cAAc,+BAA4B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasNativeSubtitle","NativeSubtitle"],"sourceRoot":"../../../../src","sources":["organisms/header/native-subtitle.android.tsx"],"mappings":";;AAEA,OAAO,MAAMA,iBAAiB,GAAG,KAAK;AAEtC,OAAO,MAAMC,cAAuC,GAAGA,CAAA,KAAM,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isScrollEdgeEffectAvailable } from '@hzblj/kara-native';
|
|
4
|
+
import { NavigationItemSubtitle } from '@hzblj/kara-native/swift-ui';
|
|
5
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
/** iOS 26 puts a title and its subtitle on the leading side itself (`UINavigationItem.style = .browser`). */
|
|
8
|
+
export const hasNativeSubtitle = isScrollEdgeEffectAvailable();
|
|
9
|
+
export const NativeSubtitle = ({
|
|
10
|
+
subtitle,
|
|
11
|
+
subtitleHidden
|
|
12
|
+
}) => {
|
|
13
|
+
const theme = useAppTheme();
|
|
14
|
+
return /*#__PURE__*/_jsx(NavigationItemSubtitle, {
|
|
15
|
+
color: theme.color('content.secondary'),
|
|
16
|
+
fontFamily: theme.typography.label.fontFamily,
|
|
17
|
+
fontSize: theme.typography.label.fontSize,
|
|
18
|
+
subtitle: subtitle,
|
|
19
|
+
subtitleHidden: subtitleHidden
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=native-subtitle.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isScrollEdgeEffectAvailable","NavigationItemSubtitle","useAppTheme","jsx","_jsx","hasNativeSubtitle","NativeSubtitle","subtitle","subtitleHidden","theme","color","fontFamily","typography","label","fontSize"],"sourceRoot":"../../../../src","sources":["organisms/header/native-subtitle.ios.tsx"],"mappings":";;AAAA,SAAQA,2BAA2B,QAAO,oBAAoB;AAC9D,SAAQC,sBAAsB,QAAO,6BAA6B;AAClE,SAAQC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7C;AACA,OAAO,MAAMC,iBAAiB,GAAGL,2BAA2B,CAAC,CAAC;AAE9D,OAAO,MAAMM,cAAuC,GAAGA,CAAC;EAACC,QAAQ;EAAEC;AAAmC,CAAC,KAAK;EAC1G,MAAMC,KAAK,GAAGP,WAAW,CAAC,CAAC;EAE3B,oBACEE,IAAA,CAACH,sBAAsB;IACrBS,KAAK,EAAED,KAAK,CAACC,KAAK,CAAC,mBAAmB,CAAE;IACxCC,UAAU,EAAEF,KAAK,CAACG,UAAU,CAACC,KAAK,CAACF,UAAW;IAC9CG,QAAQ,EAAEL,KAAK,CAACG,UAAU,CAACC,KAAK,CAACC,QAAS;IAC1CP,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["organisms/header/native-subtitle.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SheetGrabber"],"sourceRoot":"../../../../src","sources":["organisms/header/sheet-grabber.android.tsx"],"mappings":";;AAEA;AACA,OAAO,MAAMA,YAAmC,GAAGA,CAAA,KAAM,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SheetGrabber as NativeSheetGrabber } from '@hzblj/kara-native/swift-ui';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
/**
|
|
6
|
+
* The system grabber of a native-stack screen presented as a sheet (`presentation: 'modal'`), which react-native-screens
|
|
7
|
+
* gives only `formSheet`. Render it anywhere in the presented content, a nested stack's screens included; it takes no
|
|
8
|
+
* room. Android draws no grabber on a full-screen modal, and this renders nothing there.
|
|
9
|
+
*/
|
|
10
|
+
export const SheetGrabber = ({
|
|
11
|
+
visible = true
|
|
12
|
+
}) => /*#__PURE__*/_jsx(NativeSheetGrabber, {
|
|
13
|
+
grabberVisible: visible
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=sheet-grabber.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SheetGrabber","NativeSheetGrabber","jsx","_jsx","visible","grabberVisible"],"sourceRoot":"../../../../src","sources":["organisms/header/sheet-grabber.ios.tsx"],"mappings":";;AAAA,SAAQA,YAAY,IAAIC,kBAAkB,QAAO,6BAA6B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI9E;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMH,YAAmC,GAAGA,CAAC;EAACI,OAAO,GAAG;AAAuB,CAAC,kBACrFD,IAAA,CAACF,kBAAkB;EAACI,cAAc,EAAED;AAAQ,CAAE,CAC/C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["organisms/header/sheet-grabber.types.ts"],"mappings":"","ignoreList":[]}
|