@hjmds/react-native 1.29.0 → 1.31.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/dist/auth-screen.d.ts +10 -1
- package/dist/auth-screen.d.ts.map +1 -1
- package/dist/auth-screen.js +39 -24
- package/dist/auth-screen.js.map +1 -1
- package/dist/carousel.d.ts +25 -1
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.js +18 -4
- package/dist/carousel.js.map +1 -1
- package/dist/data-display.d.ts +5 -1
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +28 -14
- package/dist/data-display.js.map +1 -1
- package/dist/data-table.d.ts.map +1 -1
- package/dist/data-table.js +13 -8
- package/dist/data-table.js.map +1 -1
- package/dist/evidence.d.ts +3 -1562
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +93 -255
- package/dist/evidence.js.map +1 -1
- package/dist/forms.js +3 -3
- package/dist/forms.js.map +1 -1
- package/dist/icon-svg.d.ts +8 -0
- package/dist/icon-svg.d.ts.map +1 -0
- package/dist/icon-svg.js +22 -0
- package/dist/icon-svg.js.map +1 -0
- package/dist/image-choice.d.ts +5 -0
- package/dist/image-choice.d.ts.map +1 -1
- package/dist/image-choice.js +5 -2
- package/dist/image-choice.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/inputs.d.ts.map +1 -1
- package/dist/inputs.js +2 -1
- package/dist/inputs.js.map +1 -1
- package/dist/internal/bottom-navigation-inset.d.ts +21 -0
- package/dist/internal/bottom-navigation-inset.d.ts.map +1 -0
- package/dist/internal/bottom-navigation-inset.js +28 -0
- package/dist/internal/bottom-navigation-inset.js.map +1 -0
- package/dist/internal/field-frame.d.ts +11 -1
- package/dist/internal/field-frame.d.ts.map +1 -1
- package/dist/internal/field-frame.js +17 -1
- package/dist/internal/field-frame.js.map +1 -1
- package/dist/internal/initial-focus.d.ts +2 -1
- package/dist/internal/initial-focus.d.ts.map +1 -1
- package/dist/internal/initial-focus.js +11 -3
- package/dist/internal/initial-focus.js.map +1 -1
- package/dist/internal/media-album.d.ts +48 -0
- package/dist/internal/media-album.d.ts.map +1 -0
- package/dist/internal/media-album.js +36 -0
- package/dist/internal/media-album.js.map +1 -0
- package/dist/internal/message-reactions.d.ts +28 -2
- package/dist/internal/message-reactions.d.ts.map +1 -1
- package/dist/internal/message-reactions.js +25 -6
- package/dist/internal/message-reactions.js.map +1 -1
- package/dist/navigation.d.ts +12 -2
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +75 -19
- package/dist/navigation.js.map +1 -1
- package/dist/number-field.d.ts.map +1 -1
- package/dist/number-field.js +2 -0
- package/dist/number-field.js.map +1 -1
- package/dist/overlays.d.ts +39 -1
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +254 -205
- package/dist/overlays.js.map +1 -1
- package/dist/primitives.d.ts +29 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +18 -3
- package/dist/primitives.js.map +1 -1
- package/dist/public-exports.generated.d.ts +209 -0
- package/dist/public-exports.generated.d.ts.map +1 -0
- package/dist/public-exports.generated.js +642 -0
- package/dist/public-exports.generated.js.map +1 -0
- package/dist/screen-flows.d.ts +104 -12
- package/dist/screen-flows.d.ts.map +1 -1
- package/dist/screen-flows.js +87 -17
- package/dist/screen-flows.js.map +1 -1
- package/dist/screens.d.ts +59 -7
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +89 -19
- package/dist/screens.js.map +1 -1
- package/dist/steps.d.ts +7 -2
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +12 -5
- package/dist/steps.js.map +1 -1
- package/package.json +9 -3
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
1
|
+
import { type ReactNode, type Ref } from "react";
|
|
2
|
+
import { type ChatReactionSummaryItem } from "@hjmds/design-contracts/screen-patterns";
|
|
3
|
+
import type { MenuItemTone } from "@hjmds/design-contracts/recipes";
|
|
2
4
|
import { type ReactionPickerProps } from "../reaction-picker.js";
|
|
3
5
|
/** One row of the hold menu. Products supply copy and icons; HJM owns order, size and tone. */
|
|
4
6
|
export type MessageMenuAction = Readonly<{
|
|
@@ -8,6 +10,11 @@ export type MessageMenuAction = Readonly<{
|
|
|
8
10
|
onPress(): void;
|
|
9
11
|
disabled?: boolean; /** Shows › for rows that open a further list (e.g. "Load more"). */
|
|
10
12
|
submenu?: boolean;
|
|
13
|
+
/** Same vocabulary as Menu items: `danger` for destructive rows such as delete (default `neutral`). */ tone?: MenuItemTone;
|
|
14
|
+
}>;
|
|
15
|
+
/** Lets the owning message open the same hold menu from its reaction summary. */
|
|
16
|
+
export type MessageReactionsHandle = Readonly<{
|
|
17
|
+
open(): void;
|
|
11
18
|
}>;
|
|
12
19
|
type Props = ReactionPickerProps & Readonly<{
|
|
13
20
|
closeLabel: string;
|
|
@@ -38,8 +45,27 @@ type Props = ReactionPickerProps & Readonly<{
|
|
|
38
45
|
align?: "start" | "end";
|
|
39
46
|
/** Comments are plain text, so their preview gets a surface; chat bubbles already have one. */
|
|
40
47
|
previewSurface?: boolean;
|
|
48
|
+
menuRef?: Ref<MessageReactionsHandle>;
|
|
41
49
|
}>;
|
|
42
50
|
/** Core RN composition: no optional context-menu/Expo dependency enters the screens subpath. */
|
|
43
|
-
export declare function MessageReactions({ children, closeLabel, replyAction, menuAction, menuTitle, menuActions, reportAction, interactiveContent, align, previewSurface, ...picker }: Props): import("react").JSX.Element;
|
|
51
|
+
export declare function MessageReactions({ children, closeLabel, replyAction, menuAction, menuTitle, menuActions, reportAction, interactiveContent, align, previewSurface, menuRef, ...picker }: Props): import("react").JSX.Element;
|
|
52
|
+
/** ChatMessage strips its summary before spreading the rest into the hold menu. */
|
|
53
|
+
export declare function omitReactionSummary<T extends Readonly<{
|
|
54
|
+
summary?: unknown;
|
|
55
|
+
}>>({ summary: _summary, ...rest }: T): Omit<T, "summary">;
|
|
56
|
+
/**
|
|
57
|
+
* Current reactions as one button beside the time; pressing it opens the hold menu. The pill is the single target and
|
|
58
|
+
* carries the product's label, so per-emoji parts are not separate elements. hitSlop extends the 24pt pill to the 44pt
|
|
59
|
+
* touch target without changing the timeline row height.
|
|
60
|
+
*/
|
|
61
|
+
export declare function ReactionSummaryButton({ label, items, selected, disabled, onPress }: Readonly<{
|
|
62
|
+
label: string;
|
|
63
|
+
items: readonly (ChatReactionSummaryItem & Readonly<{
|
|
64
|
+
showCount: boolean;
|
|
65
|
+
}>)[];
|
|
66
|
+
selected: string | null;
|
|
67
|
+
disabled: boolean;
|
|
68
|
+
onPress(): void;
|
|
69
|
+
}>): import("react").JSX.Element;
|
|
44
70
|
export {};
|
|
45
71
|
//# sourceMappingURL=message-reactions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-reactions.d.ts","sourceRoot":"","sources":["../../src/internal/message-reactions.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"message-reactions.d.ts","sourceRoot":"","sources":["../../src/internal/message-reactions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { useEffect, useImperativeHandle, useRef, useState } from "react";
|
|
3
3
|
import { AccessibilityInfo, Modal, Platform, Pressable, ScrollView, View, findNodeHandle, useWindowDimensions } from "react-native";
|
|
4
|
-
import { scrim } from "@hjmds/design-contracts/foundations";
|
|
5
|
-
import { holdMenuRecipe, screenPatternRecipe } from "@hjmds/design-contracts/screen-patterns";
|
|
4
|
+
import { control, scrim } from "@hjmds/design-contracts/foundations";
|
|
5
|
+
import { chatMessageRecipe, holdMenuRecipe, screenPatternRecipe } from "@hjmds/design-contracts/screen-patterns";
|
|
6
6
|
import { useHjmNativeSafeAreaInsets, useHjmNativeTheme } from "../provider.js";
|
|
7
7
|
import { IconButton } from "../actions.js";
|
|
8
8
|
import { FixedGlyph } from "./fixed-glyph.js";
|
|
9
9
|
import { Text } from "../primitives.js";
|
|
10
10
|
import { ReactionPicker } from "../reaction-picker.js";
|
|
11
11
|
/** Core RN composition: no optional context-menu/Expo dependency enters the screens subpath. */
|
|
12
|
-
export function MessageReactions({ children, closeLabel, replyAction, menuAction, menuTitle, menuActions = [], reportAction, interactiveContent = false, align = "start", previewSurface = false, ...picker }) {
|
|
12
|
+
export function MessageReactions({ children, closeLabel, replyAction, menuAction, menuTitle, menuActions = [], reportAction, interactiveContent = false, align = "start", previewSurface = false, menuRef, ...picker }) {
|
|
13
13
|
// Reply leads and report trails; legacy single menuAction keeps its place before report.
|
|
14
14
|
const rows = [
|
|
15
15
|
...(replyAction ? [{ id: "reply", ...replyAction }] : []),
|
|
16
16
|
...menuActions,
|
|
17
17
|
...(menuAction ? [{ id: "menu", ...menuAction }] : []),
|
|
18
|
-
...(reportAction ? [{ id: "report", ...reportAction,
|
|
18
|
+
...(reportAction ? [{ id: "report", ...reportAction, tone: "danger" }] : []),
|
|
19
19
|
];
|
|
20
20
|
const { colors, tokens, environment } = useHjmNativeTheme();
|
|
21
21
|
const insets = useHjmNativeSafeAreaInsets();
|
|
@@ -56,13 +56,32 @@ export function MessageReactions({ children, closeLabel, replyAction, menuAction
|
|
|
56
56
|
else
|
|
57
57
|
setAnchor(fallbackY);
|
|
58
58
|
};
|
|
59
|
+
// Opened from the summary, the menu still anchors on the pressed bubble so the preview stays in place.
|
|
60
|
+
useImperativeHandle(menuRef, () => ({ open: () => { if (!picker.disabled)
|
|
61
|
+
openAt(height / 2); } }), [picker.disabled, height]);
|
|
59
62
|
return _jsxs(_Fragment, { children: [_jsx(Pressable, { ref: trigger, style: { flexShrink: 1 }, accessible: !interactiveContent, disabled: picker.disabled ?? false, accessibilityRole: "button", accessibilityHint: picker.label, accessibilityState: { disabled: picker.disabled ?? false }, delayLongPress: screenPatternRecipe.reactionHoldMs, onLongPress: event => openAt(event.nativeEvent.pageY), accessibilityActions: [{ name: "activate", label: picker.label }, ...(replyAction && !replyAction.disabled ? [{ name: "reply", label: replyAction.label }] : [])], onAccessibilityAction: event => { if (event.nativeEvent.actionName === "reply") {
|
|
60
63
|
if (replyAction && !replyAction.disabled)
|
|
61
64
|
replyAction.onPress();
|
|
62
65
|
}
|
|
63
66
|
else if (!picker.disabled)
|
|
64
67
|
setAnchor(height / 2); }, children: children }), interactiveContent ? _jsx(IconButton, { label: picker.label, tone: "ghost", size: "small", disabled: picker.disabled ?? false, onPress: () => setAnchor(height / 2), accessibilityActions: replyAction && !replyAction.disabled ? [{ name: "reply", label: replyAction.label }] : [], onAccessibilityAction: event => { if (event.nativeEvent.actionName === "reply" && replyAction && !replyAction.disabled)
|
|
65
|
-
replyAction.onPress(); }, children: _jsx(FixedGlyph, { children: "\u00B7\u00B7\u00B7" }) }) : null, _jsx(Modal, { visible: open, transparent: true, statusBarTranslucent: true, animationType: environment.reducedMotion ? "none" : "fade", onRequestClose: close, onDismiss: () => { restore(); runQueuedAction(); }, onShow: focusPicker, children: _jsxs(View, { style: { flex: 1 }, children: [_jsx(Pressable, { accessible: false, importantForAccessibility: "no-hide-descendants", onPress: close, style: { position: "absolute", inset: 0, backgroundColor: scrim } }), _jsxs(View, { accessibilityViewIsModal: true, onAccessibilityEscape: close, style: { position: "absolute", top, left: holdMenuRecipe.inset, right: holdMenuRecipe.inset, maxHeight: Math.max(0, height - top - (insets.bottom ?? 0) - tokens.spacing.sm) }, children: [_jsxs(ScrollView, { style: { flexShrink: 1 }, contentContainerStyle: { gap: holdMenuRecipe.gap }, keyboardShouldPersistTaps: "handled", showsVerticalScrollIndicator: false, children: [picker.options.length ? _jsx(View, { style: { backgroundColor: colors.bg, borderRadius: picker.more ? tokens.radius.lg : tokens.radius.full, minHeight: holdMenuRecipe.stripHeight, justifyContent: "center", paddingHorizontal: tokens.spacing.xs }, children: _jsx(ReactionPicker, { ...picker, layout: "strip", onValueChange: value => { picker.onValueChange(value); close(); } }) }) : null, _jsx(View, { style: [{ alignSelf: align === "end" ? "flex-end" : "flex-start", maxWidth: screenPatternRecipe.messageMaxWidth }, previewSurface ? { backgroundColor: colors.bg, borderRadius: tokens.radius.lg, padding: tokens.spacing.sm } : null], children: children }), menuTitle || rows.length ? _jsxs(View, { style: { alignSelf: align === "end" ? "flex-end" : "flex-start", width: holdMenuRecipe.actionWidth, maxWidth: "100%", backgroundColor: colors.bg, borderRadius: holdMenuRecipe.actionRadius, paddingVertical: tokens.spacing.xs, overflow: "hidden" }, children: [menuTitle ? _jsx(View, { style: { paddingHorizontal: tokens.spacing.md, paddingVertical: tokens.spacing.xs }, children: _jsx(Text, { variant: "caption", tone: "muted", children: menuTitle }) }) : null, rows.map(row => _jsxs(Pressable, { accessibilityRole: "button", accessibilityLabel: row.label, accessibilityState: { disabled: row.disabled ?? false }, disabled: row.disabled ?? false, onPress: () => { queuedAction.current = row.onPress; close(); }, style: ({ pressed }) => ({ minHeight: holdMenuRecipe.actionRowHeight, flexDirection: "row", alignItems: "center", gap: tokens.spacing.sm, paddingHorizontal: tokens.spacing.md, opacity: row.disabled ? 0.5 : 1, backgroundColor: pressed ? colors.surface : "transparent" }), children: [row.icon ? _jsx(View, { style: { width: holdMenuRecipe.iconSize, alignItems: "center" }, children: row.icon }) : null, _jsx(View, { style: { flex: 1, minWidth: 0 }, children: _jsx(Text, { tone: row.danger ? "danger" : "body", children: row.label }) }), row.submenu ? _jsx(FixedGlyph, { children: "\u203A" }) : null] }, row.id))] }) : null] }), _jsx(View, { ref: firstAction, accessible: true, accessibilityRole: "button", accessibilityLabel: closeLabel, accessibilityActions: [{ name: "activate" }], onAccessibilityAction: event => { if (event.nativeEvent.actionName === "activate")
|
|
68
|
+
replyAction.onPress(); }, children: _jsx(FixedGlyph, { children: "\u00B7\u00B7\u00B7" }) }) : null, _jsx(Modal, { visible: open, transparent: true, statusBarTranslucent: true, animationType: environment.reducedMotion ? "none" : "fade", onRequestClose: close, onDismiss: () => { restore(); runQueuedAction(); }, onShow: focusPicker, children: _jsxs(View, { style: { flex: 1 }, children: [_jsx(Pressable, { accessible: false, importantForAccessibility: "no-hide-descendants", onPress: close, style: { position: "absolute", inset: 0, backgroundColor: scrim } }), _jsxs(View, { accessibilityViewIsModal: true, onAccessibilityEscape: close, style: { position: "absolute", top, left: holdMenuRecipe.inset, right: holdMenuRecipe.inset, maxHeight: Math.max(0, height - top - (insets.bottom ?? 0) - tokens.spacing.sm) }, children: [_jsxs(ScrollView, { style: { flexShrink: 1 }, contentContainerStyle: { gap: holdMenuRecipe.gap }, keyboardShouldPersistTaps: "handled", showsVerticalScrollIndicator: false, children: [picker.options.length ? _jsx(View, { style: { backgroundColor: colors.bg, borderRadius: picker.more ? tokens.radius.lg : tokens.radius.full, minHeight: holdMenuRecipe.stripHeight, justifyContent: "center", paddingHorizontal: tokens.spacing.xs }, children: _jsx(ReactionPicker, { ...picker, layout: "strip", onValueChange: value => { picker.onValueChange(value); close(); } }) }) : null, _jsx(View, { style: [{ alignSelf: align === "end" ? "flex-end" : "flex-start", maxWidth: screenPatternRecipe.messageMaxWidth }, previewSurface ? { backgroundColor: colors.bg, borderRadius: tokens.radius.lg, padding: tokens.spacing.sm } : null], children: children }), menuTitle || rows.length ? _jsxs(View, { style: { alignSelf: align === "end" ? "flex-end" : "flex-start", width: holdMenuRecipe.actionWidth, maxWidth: "100%", backgroundColor: colors.bg, borderRadius: holdMenuRecipe.actionRadius, paddingVertical: tokens.spacing.xs, overflow: "hidden" }, children: [menuTitle ? _jsx(View, { style: { paddingHorizontal: tokens.spacing.md, paddingVertical: tokens.spacing.xs }, children: _jsx(Text, { variant: "caption", tone: "muted", children: menuTitle }) }) : null, rows.map(row => _jsxs(Pressable, { accessibilityRole: "button", accessibilityLabel: row.label, accessibilityState: { disabled: row.disabled ?? false }, disabled: row.disabled ?? false, onPress: () => { queuedAction.current = row.onPress; close(); }, style: ({ pressed }) => ({ minHeight: holdMenuRecipe.actionRowHeight, flexDirection: "row", alignItems: "center", gap: tokens.spacing.sm, paddingHorizontal: tokens.spacing.md, opacity: row.disabled ? 0.5 : 1, backgroundColor: pressed ? colors.surface : "transparent" }), children: [row.icon ? _jsx(View, { style: { width: holdMenuRecipe.iconSize, alignItems: "center" }, children: row.icon }) : null, _jsx(View, { style: { flex: 1, minWidth: 0 }, children: _jsx(Text, { tone: row.tone === "danger" ? "danger" : "body", children: row.label }) }), row.submenu ? _jsx(FixedGlyph, { children: "\u203A" }) : null] }, row.id))] }) : null] }), _jsx(View, { ref: firstAction, accessible: true, accessibilityRole: "button", accessibilityLabel: closeLabel, accessibilityActions: [{ name: "activate" }], onAccessibilityAction: event => { if (event.nativeEvent.actionName === "activate")
|
|
66
69
|
close(); }, style: { position: "absolute", top: 0, start: 0, width: 1, height: 1, overflow: "hidden" } })] })] }) })] });
|
|
67
70
|
}
|
|
71
|
+
/** ChatMessage strips its summary before spreading the rest into the hold menu. */
|
|
72
|
+
export function omitReactionSummary({ summary: _summary, ...rest }) {
|
|
73
|
+
return rest;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Current reactions as one button beside the time; pressing it opens the hold menu. The pill is the single target and
|
|
77
|
+
* carries the product's label, so per-emoji parts are not separate elements. hitSlop extends the 24pt pill to the 44pt
|
|
78
|
+
* touch target without changing the timeline row height.
|
|
79
|
+
*/
|
|
80
|
+
export function ReactionSummaryButton({ label, items, selected, disabled, onPress }) {
|
|
81
|
+
const { colors, tokens } = useHjmNativeTheme();
|
|
82
|
+
const r = chatMessageRecipe.reactionSummary;
|
|
83
|
+
const mine = items.some(item => item.id === selected);
|
|
84
|
+
const slop = Math.max(0, (control.minTouchTarget - r.minHeight) / 2);
|
|
85
|
+
return _jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: label, accessibilityState: { disabled }, disabled: disabled, onPress: onPress, hitSlop: { top: slop, bottom: slop }, style: ({ pressed }) => ({ flexDirection: "row", alignItems: "center", gap: r.itemGap, minHeight: r.minHeight, paddingHorizontal: r.paddingInline, borderRadius: tokens.radius.full, borderWidth: 1, borderColor: mine ? colors.contentBrand : colors.border, backgroundColor: pressed ? colors.surfaceAlt : colors.surface, opacity: disabled ? 0.5 : 1 }), children: items.map(item => _jsxs(View, { style: { flexDirection: "row", alignItems: "center", gap: r.emojiGap }, children: [_jsx(Text, { variant: "caption", children: item.emoji }), item.showCount ? _jsx(Text, { variant: "caption", children: String(item.count) }) : null] }, item.id)) });
|
|
86
|
+
}
|
|
68
87
|
//# sourceMappingURL=message-reactions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-reactions.js","sourceRoot":"","sources":["../../src/internal/message-reactions.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-reactions.js","sourceRoot":"","sources":["../../src/internal/message-reactions.tsx"],"names":[],"mappings":"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"}
|
package/dist/navigation.d.ts
CHANGED
|
@@ -4,10 +4,11 @@ import { type CollectionSource } from "@hjmds/design-contracts/components/collec
|
|
|
4
4
|
import type { LinkDestination } from "@hjmds/design-contracts/components/link";
|
|
5
5
|
import { type LoadMoreDescriptor, type LoadMoreMode, type LoadMoreRequestHandler, type LoadMoreRequestOutcome, type LoadMoreRequestReason } from "@hjmds/design-contracts/components/load-more";
|
|
6
6
|
import { type TabSwipePosition, type TabsAppearance } from "@hjmds/design-contracts/gooey-navigation";
|
|
7
|
-
import { type LoadMoreDensity, type MenuDensity, type TabSize, type TabsLayout, type TabsOverflow } from "@hjmds/design-contracts/recipes";
|
|
7
|
+
import { type LoadMoreDensity, type MenuDensity, type TabSize, type TabsIndicator, type TabsLayout, type TabsOverflow } from "@hjmds/design-contracts/recipes";
|
|
8
8
|
import { type ReactElement, type ReactNode } from "react";
|
|
9
9
|
import { type ModalProps, type PressableProps } from "react-native";
|
|
10
10
|
import type { HjmCompositionStyleProp } from "./composition-style.js";
|
|
11
|
+
export { BottomNavigationInsetProvider, useBottomNavigationInset, type BottomNavigationInsetProviderProps, } from "./internal/bottom-navigation-inset.js";
|
|
11
12
|
export type { TabsAppearance };
|
|
12
13
|
import { type ScreenExit } from "./internal/screen-exit.js";
|
|
13
14
|
export type TabItem<Value extends string = string> = Readonly<{
|
|
@@ -53,6 +54,8 @@ type TabsBaseProps<Value extends string> = Readonly<{
|
|
|
53
54
|
size?: TabSize;
|
|
54
55
|
layout?: TabsLayout;
|
|
55
56
|
overflow?: TabsOverflow;
|
|
57
|
+
/** Selection mark: the 2pt underline (default) or a brand-tinted pill behind the selected tab. */
|
|
58
|
+
indicator?: TabsIndicator;
|
|
56
59
|
/** Set false when panels are rendered separately with `TabPanel`. */
|
|
57
60
|
renderPanels?: boolean;
|
|
58
61
|
children?: (selectedValue: Value) => ReactNode;
|
|
@@ -114,11 +117,18 @@ export type BottomNavigationProps<Key extends string = string, IconName extends
|
|
|
114
117
|
primaryAction?: ReactNode;
|
|
115
118
|
configuration?: BottomNavigationConfiguration;
|
|
116
119
|
safeAreaBottom?: number;
|
|
120
|
+
/**
|
|
121
|
+
* `inline` (default) takes its own height in the host layout, as a navigator tab bar does. `overlay` pins the
|
|
122
|
+
* bar to the bottom of its host over the screens, so content scrolls behind a floating bar, and publishes the
|
|
123
|
+
* covered height to the nearest BottomNavigationInsetProvider (ScreenLayout pads by it). Native only: the Web
|
|
124
|
+
* bar is always `position: fixed`, i.e. always an overlay.
|
|
125
|
+
*/
|
|
126
|
+
placement?: "inline" | "overlay";
|
|
117
127
|
/** Canonical layout-only placement. Controlled visual keys are excluded. */
|
|
118
128
|
layoutStyle?: HjmCompositionStyleProp;
|
|
119
129
|
}>;
|
|
120
130
|
/** Router-owned persistent destinations; activation emits intent without mutating selection. */
|
|
121
|
-
export declare function BottomNavigation<Key extends string = string, IconName extends string = string>({ descriptor, onActivate, onLongActivate, renderIcon, renderBadge, getItemTestID, primaryAction, configuration, safeAreaBottom, layoutStyle, ...removedProps }: BottomNavigationProps<Key, IconName>): import("react").JSX.Element | null;
|
|
131
|
+
export declare function BottomNavigation<Key extends string = string, IconName extends string = string>({ descriptor, onActivate, onLongActivate, renderIcon, renderBadge, getItemTestID, primaryAction, configuration, safeAreaBottom, placement, layoutStyle, ...removedProps }: BottomNavigationProps<Key, IconName>): import("react").JSX.Element | null;
|
|
122
132
|
type TopBarActionHostProps = Omit<PressableProps, "accessible" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "children" | "disabled" | "onPress" | "role" | "style">;
|
|
123
133
|
export type TopBarActionControlProps = TopBarActionHostProps & Readonly<{
|
|
124
134
|
accessible: true;
|
package/dist/navigation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.tsx"],"names":[],"mappings":"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"}
|
package/dist/navigation.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { getTabNavigationTarget, resolveInitialTabValue, tabsBehaviorDefaults, } from "@hjmds/design-contracts/behaviors";
|
|
3
3
|
import { resolveColorReference } from "@hjmds/design-contracts/color-references";
|
|
4
|
-
import { resolveBottomNavigationActivation, resolveBottomNavigationConfiguration, resolveBottomNavigationDescriptor, } from "@hjmds/design-contracts/components/bottom-navigation";
|
|
4
|
+
import { resolveBottomNavigationActivation, resolveBottomNavigationConfiguration, resolveBottomNavigationDescriptor, validateBottomNavigationProminence, } from "@hjmds/design-contracts/components/bottom-navigation";
|
|
5
5
|
import { flattenCollectionItems, validateCollection, } from "@hjmds/design-contracts/components/collection";
|
|
6
6
|
import { createLoadMoreController, validateLoadMoreDescriptor, } from "@hjmds/design-contracts/components/load-more";
|
|
7
7
|
import { backdrop, easing, glyph, radius, spacing, } from "@hjmds/design-contracts/foundations";
|
|
8
8
|
import { resolveSwipeTabIndicator, resolveTabIndicator, resolveTabsAppearance, sampleTabIndicator, } from "@hjmds/design-contracts/gooey-navigation";
|
|
9
9
|
import { bottomNavigationRecipe, counterBadgeRecipe, loadMoreRecipe, menuRecipe, spinnerRecipe, tabsRecipe, topBarRecipe, } from "@hjmds/design-contracts/recipes";
|
|
10
|
-
import { Fragment, forwardRef, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState, } from "react";
|
|
10
|
+
import { Fragment, forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState, } from "react";
|
|
11
11
|
import { AccessibilityInfo, ActivityIndicator, Animated, AppState, Easing, Keyboard, Modal, Platform, Pressable, ScrollView, View, findNodeHandle, } from "react-native";
|
|
12
12
|
import { assertNoRemovedStyleProps } from "./internal/diagnostics.js";
|
|
13
13
|
import { RecipeButton } from "./internal/recipe-button.js";
|
|
14
|
+
import { BottomNavigationInsetReporterContext } from "./internal/bottom-navigation-inset.js";
|
|
15
|
+
export { BottomNavigationInsetProvider, useBottomNavigationInset, } from "./internal/bottom-navigation-inset.js";
|
|
14
16
|
import { isWebRenderer, webOnly, webTabProps } from "./internal/web-a11y.js";
|
|
15
17
|
import { Button } from "./actions.js";
|
|
16
18
|
import { ScreenExitButton } from "./internal/screen-exit.js";
|
|
@@ -58,7 +60,7 @@ export function TabPanel(props) {
|
|
|
58
60
|
}
|
|
59
61
|
// UI control labels keep the ui font even when their metric variant is body; content still uses reading.
|
|
60
62
|
export function Tabs(props) {
|
|
61
|
-
const { id, label, items, value: valueProp, defaultValue, onValueChange, activationMode = tabsBehaviorDefaults.activationMode, mountPolicy = tabsBehaviorDefaults.mountPolicy, panelMode = tabsBehaviorDefaults.panelMode, appearance: suppliedAppearance, swipePosition, orientation = tabsBehaviorDefaults.orientation, direction: directionProp, loop = tabsBehaviorDefaults.loop, size = tabsRecipe.defaults.size, layout = tabsRecipe.defaults.layout, overflow = tabsRecipe.defaults.overflow, renderPanels = true, children, layoutStyle, } = props;
|
|
63
|
+
const { id, label, items, value: valueProp, defaultValue, onValueChange, activationMode = tabsBehaviorDefaults.activationMode, mountPolicy = tabsBehaviorDefaults.mountPolicy, panelMode = tabsBehaviorDefaults.panelMode, appearance: suppliedAppearance, swipePosition, orientation = tabsBehaviorDefaults.orientation, direction: directionProp, loop = tabsBehaviorDefaults.loop, size = tabsRecipe.defaults.size, layout = tabsRecipe.defaults.layout, overflow = tabsRecipe.defaults.overflow, indicator = tabsRecipe.defaults.indicator, renderPanels = true, children, layoutStyle, } = props;
|
|
62
64
|
assertNoRemovedStyleProps("Tabs", props, ["style", "tabListStyle"]);
|
|
63
65
|
if (!label.trim())
|
|
64
66
|
throw new TypeError("Tabs label must not be empty");
|
|
@@ -70,6 +72,10 @@ export function Tabs(props) {
|
|
|
70
72
|
const tabItems = items;
|
|
71
73
|
if (tabItems.length === 0)
|
|
72
74
|
throw new TypeError("Tabs requires at least one option");
|
|
75
|
+
if (!(indicator in tabsRecipe.indicators))
|
|
76
|
+
throw new TypeError(`Unsupported Tabs indicator: ${String(indicator)}`);
|
|
77
|
+
const mark = tabsRecipe.indicators[indicator];
|
|
78
|
+
const filled = indicator === "filled";
|
|
73
79
|
const theme = useHjmNativeTheme();
|
|
74
80
|
const { colors, environment } = theme;
|
|
75
81
|
const direction = directionProp ?? environment.direction;
|
|
@@ -235,18 +241,20 @@ export function Tabs(props) {
|
|
|
235
241
|
layoutStyle,
|
|
236
242
|
], children: [_jsxs(ScrollView, { ref: tabScroll, onLayout: event => setTabViewport(event.nativeEvent.layout.width), onContentSizeChange: width => setTabContentWidth(width), nativeID: id, accessibilityLabel: label, accessibilityRole: "tablist", horizontal: orientation === "horizontal", scrollEnabled: scrollable && !fitted, showsHorizontalScrollIndicator: false, showsVerticalScrollIndicator: false, contentContainerStyle: [
|
|
237
243
|
{
|
|
238
|
-
borderBottomColor: orientation === "horizontal"
|
|
244
|
+
borderBottomColor: orientation === "horizontal" && mark.listDivider
|
|
239
245
|
? resolveColorReference(tabsRecipe.colors.divider, theme.palette)
|
|
240
246
|
: undefined,
|
|
241
|
-
borderBottomWidth: orientation === "horizontal"
|
|
247
|
+
borderBottomWidth: orientation === "horizontal" && mark.listDivider
|
|
242
248
|
? tabsRecipe.indicatorHeight / 2
|
|
243
249
|
: 0,
|
|
244
|
-
borderEndColor: orientation === "vertical"
|
|
250
|
+
borderEndColor: orientation === "vertical" && mark.listDivider
|
|
245
251
|
? resolveColorReference(tabsRecipe.colors.divider, theme.palette)
|
|
246
252
|
: undefined,
|
|
247
|
-
borderEndWidth: orientation === "vertical"
|
|
253
|
+
borderEndWidth: orientation === "vertical" && mark.listDivider
|
|
248
254
|
? tabsRecipe.indicatorHeight / 2
|
|
249
255
|
: 0,
|
|
256
|
+
// The filled pill keeps tabsRecipe.gap between tabs so neighbouring pills never touch.
|
|
257
|
+
gap: filled ? tabsRecipe.gap : undefined,
|
|
250
258
|
direction,
|
|
251
259
|
flexGrow: fitted ? 1 : 0,
|
|
252
260
|
flexDirection: orientation === "vertical" ? "column" : "row",
|
|
@@ -255,8 +263,10 @@ export function Tabs(props) {
|
|
|
255
263
|
minWidth: orientation === "horizontal" ? tabViewport : undefined,
|
|
256
264
|
},
|
|
257
265
|
], children: [movingIndicator && (indicatorRecipe || swipePosition) ? _jsx(Animated.View, { pointerEvents: "none", accessible: false, accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
|
|
258
|
-
|
|
259
|
-
|
|
266
|
+
// The filled pill spans the tab height and moves behind the labels (rendered before the tabs).
|
|
267
|
+
...(filled && mark.background
|
|
268
|
+
? { position: "absolute", top: 0, bottom: 0, borderRadius: theme.tokens.radius[mark.radius], backgroundColor: resolveColorReference(mark.background, theme.palette) }
|
|
269
|
+
: { position: "absolute", bottom: 0, height: appearance === "gooey" ? 6 : tabsRecipe.indicatorHeight, borderRadius: theme.tokens.radius.full, backgroundColor: resolveColorReference(tabsRecipe.colors.indicator, theme.palette) }),
|
|
260
270
|
left: swipePosition ? swipeX : progress.interpolate({ inputRange: [...indicatorRecipe.input], outputRange: [...indicatorRecipe.x] }),
|
|
261
271
|
width: swipePosition ? swipeWidth : progress.interpolate({ inputRange: [...indicatorRecipe.input], outputRange: [...indicatorRecipe.width] }),
|
|
262
272
|
} }) : null, tabItems.map((item) => {
|
|
@@ -318,7 +328,10 @@ export function Tabs(props) {
|
|
|
318
328
|
alignItems: "center",
|
|
319
329
|
backgroundColor: pressed
|
|
320
330
|
? resolveColorReference(tabsRecipe.states.pressedBackground, theme.palette)
|
|
321
|
-
:
|
|
331
|
+
: filled && active && mark.background && !(movingIndicator && (indicatorRecipe || swipePosition))
|
|
332
|
+
? resolveColorReference(mark.background, theme.palette)
|
|
333
|
+
: "transparent",
|
|
334
|
+
...(filled && mark.radius ? { borderRadius: theme.tokens.radius[mark.radius] } : {}),
|
|
322
335
|
direction,
|
|
323
336
|
flex: fitted ? 1 : undefined,
|
|
324
337
|
flexDirection: "row",
|
|
@@ -332,10 +345,10 @@ export function Tabs(props) {
|
|
|
332
345
|
], children: [item.renderLeading ? (_jsx(View, { accessibilityElementsHidden: true, accessible: false, importantForAccessibility: "no-hide-descendants", children: item.renderLeading({
|
|
333
346
|
selected: active,
|
|
334
347
|
disabled: item.disabled === true,
|
|
335
|
-
color: resolveColorReference(active ?
|
|
348
|
+
color: resolveColorReference(active ? mark.selectedContent : tabsRecipe.colors.idle, theme.palette),
|
|
336
349
|
size: glyph[tabsRecipe.icon.glyph],
|
|
337
350
|
}) })) : null, _jsx(Text, { fontRole: "ui", align: "center", style: {
|
|
338
|
-
color: resolveColorReference(active ?
|
|
351
|
+
color: resolveColorReference(active ? mark.selectedContent : tabsRecipe.colors.idle, theme.palette),
|
|
339
352
|
fontWeight: active
|
|
340
353
|
? tabsRecipe.label.selectedFontWeight
|
|
341
354
|
: tabsRecipe.label.fontWeight,
|
|
@@ -343,7 +356,7 @@ export function Tabs(props) {
|
|
|
343
356
|
backgroundColor: colors.bg,
|
|
344
357
|
borderRadius: radius.full,
|
|
345
358
|
paddingHorizontal: spacing.xs,
|
|
346
|
-
}, children: _jsx(Text, { align: "center", tone: "brand", variant: "caption", children: item.badge }) })) : null, active && (!movingIndicator || (!indicatorRecipe && !swipePosition)) ? (_jsx(View, { accessibilityElementsHidden: true, accessible: false, importantForAccessibility: "no-hide-descendants", style: {
|
|
359
|
+
}, children: _jsx(Text, { align: "center", tone: "brand", variant: "caption", children: item.badge }) })) : null, active && !filled && (!movingIndicator || (!indicatorRecipe && !swipePosition)) ? (_jsx(View, { accessibilityElementsHidden: true, accessible: false, importantForAccessibility: "no-hide-descendants", style: {
|
|
347
360
|
backgroundColor: resolveColorReference(tabsRecipe.colors.indicator, theme.palette),
|
|
348
361
|
...(orientation === "horizontal"
|
|
349
362
|
? {
|
|
@@ -383,17 +396,21 @@ function useBottomNavigationKeyboardVisible() {
|
|
|
383
396
|
return visible;
|
|
384
397
|
}
|
|
385
398
|
/** Router-owned persistent destinations; activation emits intent without mutating selection. */
|
|
386
|
-
export function BottomNavigation({ descriptor, onActivate, onLongActivate, renderIcon, renderBadge, getItemTestID, primaryAction, configuration = {}, safeAreaBottom = 0, layoutStyle, ...removedProps }) {
|
|
399
|
+
export function BottomNavigation({ descriptor, onActivate, onLongActivate, renderIcon, renderBadge, getItemTestID, primaryAction, configuration = {}, safeAreaBottom = 0, placement = "inline", layoutStyle, ...removedProps }) {
|
|
387
400
|
assertNoRemovedStyleProps("BottomNavigation", removedProps, ["style", "surfaceStyle", "listStyle", "primaryActionStyle"]);
|
|
388
401
|
const resolved = resolveBottomNavigationDescriptor(descriptor);
|
|
389
402
|
if (!Number.isFinite(safeAreaBottom) || safeAreaBottom < 0) {
|
|
390
403
|
throw new RangeError("BottomNavigation safeAreaBottom must be non-negative");
|
|
391
404
|
}
|
|
405
|
+
if (placement !== "inline" && placement !== "overlay") {
|
|
406
|
+
throw new TypeError(`Unsupported BottomNavigation placement: ${String(placement)}`);
|
|
407
|
+
}
|
|
392
408
|
const theme = useHjmNativeTheme();
|
|
393
409
|
const presentation = resolveBottomNavigationConfiguration({
|
|
394
410
|
...configuration,
|
|
395
411
|
direction: configuration.direction ?? theme.environment.direction,
|
|
396
412
|
}, resolved.items.length);
|
|
413
|
+
validateBottomNavigationProminence(resolved.items, presentation);
|
|
397
414
|
const capsule = presentation.presentation === "capsule";
|
|
398
415
|
const tile = presentation.selection === "tile";
|
|
399
416
|
const tileRecipe = bottomNavigationRecipe.selectionTile;
|
|
@@ -429,10 +446,33 @@ export function BottomNavigation({ descriptor, onActivate, onLongActivate, rende
|
|
|
429
446
|
const badgeTone = counterBadgeRecipe.tones.danger;
|
|
430
447
|
const badgeVariant = counterBadgeRecipe.variants[bottomNavigationRecipe.badge.variant];
|
|
431
448
|
const [focusedKey, setFocusedKey] = useState(null);
|
|
432
|
-
|
|
449
|
+
const iconSize = presentation.iconSize === "standard"
|
|
450
|
+
? glyph[density.icon]
|
|
451
|
+
: bottomNavigationRecipe.iconSizes[presentation.iconSize];
|
|
452
|
+
const prominentRecipe = bottomNavigationRecipe.prominentDestination;
|
|
453
|
+
// Lifting by (diameter - indicator height) keeps the prominent label on the other labels' line; an app-icon
|
|
454
|
+
// slot taller than the indicator minimum raises that height.
|
|
455
|
+
const prominentLift = prominentRecipe.diameter - Math.max(bottomNavigationRecipe.indicator.minHeight, iconSize);
|
|
456
|
+
// The circle can rise above the bar's own box; an overlay reports that part too so content clears it.
|
|
457
|
+
const prominentOverflow = resolved.items.some((item) => item.prominent)
|
|
458
|
+
? Math.max(0, prominentLift - density.padding - presentationRecipe.outerPaddingTop)
|
|
459
|
+
: 0;
|
|
460
|
+
const prominentShadow = theme.designProfile?.tokens.shadow.floating ?? prominentRecipe.shadow;
|
|
461
|
+
const hiddenForKeyboard = presentation.keyboardBehavior === "hide" && keyboardVisible;
|
|
462
|
+
const overlay = placement === "overlay";
|
|
463
|
+
const reportInset = useContext(BottomNavigationInsetReporterContext);
|
|
464
|
+
const [measuredHeight, setMeasuredHeight] = useState(0);
|
|
465
|
+
useEffect(() => {
|
|
466
|
+
if (!reportInset || !overlay)
|
|
467
|
+
return;
|
|
468
|
+
reportInset(hiddenForKeyboard || measuredHeight === 0 ? 0 : measuredHeight + prominentOverflow);
|
|
469
|
+
return () => reportInset(0);
|
|
470
|
+
}, [reportInset, overlay, hiddenForKeyboard, measuredHeight, prominentOverflow]);
|
|
471
|
+
if (hiddenForKeyboard)
|
|
433
472
|
return null;
|
|
434
|
-
return (_jsx(View, { style: [
|
|
473
|
+
return (_jsx(View, { pointerEvents: overlay ? "box-none" : undefined, onLayout: overlay ? (event) => setMeasuredHeight(event.nativeEvent.layout.height) : undefined, style: [
|
|
435
474
|
{
|
|
475
|
+
...(overlay ? { bottom: 0, left: 0, position: "absolute", right: 0 } : {}),
|
|
436
476
|
backgroundColor: presentation.presentation === "bar" ? surfaceBackground : "transparent",
|
|
437
477
|
direction: presentation.direction,
|
|
438
478
|
paddingBottom: safeAreaBottom + bottomNavigationRecipe.safeArea.minimumBottomPadding,
|
|
@@ -558,7 +598,21 @@ export function BottomNavigation({ descriptor, onActivate, onLongActivate, rende
|
|
|
558
598
|
: 0,
|
|
559
599
|
padding: density.padding,
|
|
560
600
|
},
|
|
561
|
-
], children: [_jsxs(View, { accessibilityElementsHidden: true, accessible: false, importantForAccessibility: "no-hide-descendants", style: {
|
|
601
|
+
], children: [_jsxs(View, { accessibilityElementsHidden: true, accessible: false, importantForAccessibility: "no-hide-descendants", style: item.prominent ? {
|
|
602
|
+
alignItems: "center",
|
|
603
|
+
backgroundColor: resolveColorReference(prominentRecipe.background, theme.palette),
|
|
604
|
+
borderRadius: prominentRecipe.diameter / 2,
|
|
605
|
+
height: prominentRecipe.diameter,
|
|
606
|
+
justifyContent: "center",
|
|
607
|
+
marginTop: -prominentLift,
|
|
608
|
+
position: "relative",
|
|
609
|
+
width: prominentRecipe.diameter,
|
|
610
|
+
...resolveNativeShadowElevation(prominentShadow, theme.designProfile !== undefined, 8),
|
|
611
|
+
shadowColor: prominentShadow.color,
|
|
612
|
+
shadowOffset: { width: 0, height: prominentShadow.offsetY },
|
|
613
|
+
shadowOpacity: prominentShadow.opacity,
|
|
614
|
+
shadowRadius: prominentShadow.radius,
|
|
615
|
+
} : {
|
|
562
616
|
alignItems: "center",
|
|
563
617
|
borderRadius: theme.tokens.radius[bottomNavigationRecipe.indicator.radius],
|
|
564
618
|
borderWidth: bottomNavigationRecipe.indicator.borderWidth,
|
|
@@ -575,8 +629,10 @@ export function BottomNavigation({ descriptor, onActivate, onLongActivate, rende
|
|
|
575
629
|
item,
|
|
576
630
|
name: item.icon.name,
|
|
577
631
|
selected,
|
|
578
|
-
color:
|
|
579
|
-
|
|
632
|
+
color: item.prominent
|
|
633
|
+
? resolveColorReference(prominentRecipe.content, theme.palette)
|
|
634
|
+
: selected ? selectedIconColor : idleColor,
|
|
635
|
+
size: item.prominent ? glyph[prominentRecipe.icon] : iconSize,
|
|
580
636
|
strokeWidth: selected
|
|
581
637
|
? bottomNavigationRecipe.icon.selectedEmphasis.strokeWidth.selected
|
|
582
638
|
: bottomNavigationRecipe.icon.selectedEmphasis.strokeWidth.idle,
|