@hjmds/react-native 1.46.1 → 1.48.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.
Files changed (86) hide show
  1. package/dist/calendar.d.ts.map +1 -1
  2. package/dist/calendar.js +26 -9
  3. package/dist/calendar.js.map +1 -1
  4. package/dist/carousel.d.ts +3 -1
  5. package/dist/carousel.d.ts.map +1 -1
  6. package/dist/carousel.js +2 -2
  7. package/dist/carousel.js.map +1 -1
  8. package/dist/color-picker.d.ts +51 -0
  9. package/dist/color-picker.d.ts.map +1 -0
  10. package/dist/color-picker.js +140 -0
  11. package/dist/color-picker.js.map +1 -0
  12. package/dist/communication.d.ts +6 -1
  13. package/dist/communication.d.ts.map +1 -1
  14. package/dist/communication.js +2 -2
  15. package/dist/communication.js.map +1 -1
  16. package/dist/conversation-row.d.ts +7 -1
  17. package/dist/conversation-row.d.ts.map +1 -1
  18. package/dist/conversation-row.js +4 -2
  19. package/dist/conversation-row.js.map +1 -1
  20. package/dist/data-display.d.ts +24 -4
  21. package/dist/data-display.d.ts.map +1 -1
  22. package/dist/data-display.js +25 -21
  23. package/dist/data-display.js.map +1 -1
  24. package/dist/date-range.d.ts +24 -3
  25. package/dist/date-range.d.ts.map +1 -1
  26. package/dist/date-range.js +45 -33
  27. package/dist/date-range.js.map +1 -1
  28. package/dist/evidence.d.ts +1 -1
  29. package/dist/evidence.js +1 -1
  30. package/dist/feedback.d.ts.map +1 -1
  31. package/dist/feedback.js +16 -17
  32. package/dist/feedback.js.map +1 -1
  33. package/dist/follow-list.d.ts +55 -0
  34. package/dist/follow-list.d.ts.map +1 -0
  35. package/dist/follow-list.js +26 -0
  36. package/dist/follow-list.js.map +1 -0
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/calendar-paint.d.ts +3 -0
  41. package/dist/internal/calendar-paint.d.ts.map +1 -0
  42. package/dist/internal/calendar-paint.js +6 -0
  43. package/dist/internal/calendar-paint.js.map +1 -0
  44. package/dist/internal/identity-action.d.ts +12 -0
  45. package/dist/internal/identity-action.d.ts.map +1 -0
  46. package/dist/internal/identity-action.js +11 -0
  47. package/dist/internal/identity-action.js.map +1 -0
  48. package/dist/internal/message-reactions.d.ts +1 -1
  49. package/dist/internal/message-reactions.d.ts.map +1 -1
  50. package/dist/internal/message-reactions.js +5 -3
  51. package/dist/internal/message-reactions.js.map +1 -1
  52. package/dist/navigation.d.ts +4 -1
  53. package/dist/navigation.d.ts.map +1 -1
  54. package/dist/navigation.js +8 -7
  55. package/dist/navigation.js.map +1 -1
  56. package/dist/public-exports.generated.d.ts +5 -0
  57. package/dist/public-exports.generated.d.ts.map +1 -1
  58. package/dist/public-exports.generated.js +15 -0
  59. package/dist/public-exports.generated.js.map +1 -1
  60. package/dist/screen-flows.d.ts +33 -4
  61. package/dist/screen-flows.d.ts.map +1 -1
  62. package/dist/screen-flows.js +33 -13
  63. package/dist/screen-flows.js.map +1 -1
  64. package/dist/screens.d.ts +37 -6
  65. package/dist/screens.d.ts.map +1 -1
  66. package/dist/screens.js +28 -14
  67. package/dist/screens.js.map +1 -1
  68. package/dist/share-sheet.d.ts +65 -0
  69. package/dist/share-sheet.d.ts.map +1 -0
  70. package/dist/share-sheet.js +145 -0
  71. package/dist/share-sheet.js.map +1 -0
  72. package/dist/sheet-panel.d.ts +7 -1
  73. package/dist/sheet-panel.d.ts.map +1 -1
  74. package/dist/sheet-panel.js +5 -3
  75. package/dist/sheet-panel.js.map +1 -1
  76. package/dist/slider.d.ts +15 -1
  77. package/dist/slider.d.ts.map +1 -1
  78. package/dist/slider.js +75 -48
  79. package/dist/slider.js.map +1 -1
  80. package/dist/social-compositions.d.ts +10 -0
  81. package/dist/social-compositions.d.ts.map +1 -1
  82. package/dist/social-compositions.js +3 -2
  83. package/dist/social-compositions.js.map +1 -1
  84. package/dist/table-family.js +2 -2
  85. package/dist/table-family.js.map +1 -1
  86. package/package.json +21 -3
@@ -0,0 +1,65 @@
1
+ import { type ReactNode } from "react";
2
+ import type { SheetOpenChangeDetails } from "@hjmds/design-contracts/components/sheet";
3
+ import { type ShareSheetLabels, type ShareSheetRecipientDescriptor, type ShareSheetRecipientLabels, type ShareSheetRecipientStatus, type ShareSheetSendResult, type ShareSheetShareContent, type ShareSheetSystemShareOutcome } from "@hjmds/design-contracts/share-sheet";
4
+ export type { ShareSheetLabels, ShareSheetRecipientLabels, ShareSheetRecipientStatus, ShareSheetSendResult, ShareSheetShareContent, ShareSheetSystemShareOutcome, } from "@hjmds/design-contracts/share-sheet";
5
+ export type ShareSheetRecipient = ShareSheetRecipientDescriptor & Readonly<{
6
+ image: ReactNode;
7
+ }>;
8
+ export type ShareSheetRecipientSearch = Readonly<{
9
+ /** Controlled query. With `onQueryChange` the product owns the query and `items` is already its result. */
10
+ query?: string;
11
+ onQueryChange?: (query: string) => void;
12
+ /** A server search is running. */
13
+ searching?: boolean;
14
+ }>;
15
+ export type ShareSheetRecipients = Readonly<{
16
+ items: readonly ShareSheetRecipient[];
17
+ labels: ShareSheetRecipientLabels;
18
+ /** Default `ready`. */
19
+ status?: ShareSheetRecipientStatus;
20
+ /** Shown with the `error` state. */
21
+ onRetry?: () => void;
22
+ retrying?: boolean;
23
+ /** Omit to filter `items` by label here; pass `onQueryChange` to search on the server. */
24
+ search?: ShareSheetRecipientSearch;
25
+ /** Recipients that already received this link (before the sheet opened). They stay checked and locked. */
26
+ sentIds?: readonly string[];
27
+ /** Sends the link to the selected ids. Delivered ids lock as sent; the rest stay selected for a retry. */
28
+ onSend: (ids: readonly string[]) => Promise<ShareSheetSendResult>;
29
+ }>;
30
+ export type ShareSheetProps = Readonly<{
31
+ open: boolean;
32
+ onOpenChange: (open: boolean, detail: SheetOpenChangeDetails) => void;
33
+ title: string;
34
+ labels: ShareSheetLabels;
35
+ /** The URL that is copied and shared. */
36
+ link: string;
37
+ /** Title and text handed to the OS share sheet with the link. */
38
+ shareTitle?: string;
39
+ shareText?: string;
40
+ /**
41
+ * Writes the link to the clipboard (e.g. `expo-clipboard`), or `null` to hide the action. React Native core has no
42
+ * clipboard and HJM installs no native clipboard module, so the product supplies it.
43
+ */
44
+ copyLink: ((link: string) => Promise<void>) | null;
45
+ /** Replaces React Native `Share.share` (e.g. an iOS module with a rich preview); `false` hides the action. */
46
+ systemShare?: ((content: ShareSheetShareContent) => Promise<ShareSheetSystemShareOutcome>) | false;
47
+ onLinkCopied?: () => void;
48
+ /** The OS share sheet closed. `completed` is not a delivery receipt. */
49
+ onSystemShare?: (outcome: ShareSheetSystemShareOutcome) => void;
50
+ /** Product artwork for the two actions; Native core draws no copy/share glyphs of its own. */
51
+ icons: Readonly<{
52
+ copyLink: ReactNode;
53
+ systemShare: ReactNode;
54
+ }>;
55
+ /** In-app recipients (group chats, followers). Omit for external sharing only. */
56
+ recipients?: ShareSheetRecipients;
57
+ /** Product feedback above the body, such as a reward earned by sending. */
58
+ notice?: ReactNode;
59
+ }>;
60
+ /**
61
+ * One Sheet for sharing a link (2026-10-26, generalized from BurnTok's share sheets): optional in-app recipients with a
62
+ * batch send, then copy link and the OS share sheet as two round actions in the footer.
63
+ */
64
+ export declare function ShareSheet({ open, onOpenChange, title, labels, link, shareTitle, shareText, copyLink, systemShare, onLinkCopied, onSystemShare, icons, recipients, notice, }: ShareSheetProps): import("react").JSX.Element;
65
+ //# sourceMappingURL=share-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-sheet.d.ts","sourceRoot":"","sources":["../src/share-sheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { Platform, Share } from "react-native";
4
+ import { glyph } from "@hjmds/design-contracts/foundations";
5
+ import { iconButtonRecipe } from "@hjmds/design-contracts/recipes";
6
+ import { filterShareSheetRecipients, resolveShareSheetPickerValue, resolveShareSheetSendOutcome, shareSheetRecipe, validateShareSheet, validateShareSheetRecipients, } from "@hjmds/design-contracts/share-sheet";
7
+ import { Button, IconButton } from "./actions.js";
8
+ import { EmptyState, Notice } from "./feedback.js";
9
+ import { ImageChoiceGroup } from "./image-choice.js";
10
+ import { SearchField } from "./inputs.js";
11
+ import { DrawnRefresh } from "./internal/drawn-glyphs.js";
12
+ import { Spinner } from "./internal/spinner.js";
13
+ import { Sheet } from "./overlays.js";
14
+ import { Stack, Text } from "./primitives.js";
15
+ import { useHjmNativeTheme } from "./provider.js";
16
+ /**
17
+ * React Native's own share sheet. Android drops `url`, so the link joins the message there; iOS keeps the link as the
18
+ * shared URL (its preview) and the title or text as the message. `dialogTitle` names the Android chooser.
19
+ */
20
+ async function shareWithReactNative(content, dialogTitle) {
21
+ const message = content.text ?? content.title;
22
+ const result = Platform.OS === "ios"
23
+ ? await Share.share({ url: content.url, ...(message ? { message } : {}), ...(content.title ? { title: content.title } : {}) }, { subject: content.title ?? dialogTitle })
24
+ : await Share.share({ message: [message, content.url].filter(Boolean).join("\n"), ...(content.title ? { title: content.title } : {}) }, { dialogTitle });
25
+ return result.action === Share.dismissedAction ? "dismissed" : "completed";
26
+ }
27
+ /**
28
+ * One Sheet for sharing a link (2026-10-26, generalized from BurnTok's share sheets): optional in-app recipients with a
29
+ * batch send, then copy link and the OS share sheet as two round actions in the footer.
30
+ */
31
+ export function ShareSheet({ open, onOpenChange, title, labels, link, shareTitle, shareText, copyLink, systemShare, onLinkCopied, onSystemShare, icons, recipients, notice, }) {
32
+ validateShareSheet({ title, link, labels });
33
+ if (recipients)
34
+ validateShareSheetRecipients(recipients.items);
35
+ const { colors } = useHjmNativeTheme();
36
+ const share = systemShare === false ? null : systemShare ?? ((content) => shareWithReactNative(content, title));
37
+ const [externalAction, setExternalAction] = useState(null);
38
+ const [feedback, setFeedback] = useState(null);
39
+ const [selected, setSelected] = useState([]);
40
+ const [sentHere, setSentHere] = useState(() => new Set());
41
+ const [sending, setSending] = useState(false);
42
+ const [sendError, setSendError] = useState("");
43
+ const [localQuery, setLocalQuery] = useState("");
44
+ // Refs close the gap before React re-renders the busy state, so a double tap cannot start a second request.
45
+ const externalInFlight = useRef(false);
46
+ const batchInFlight = useRef(false);
47
+ // Bumped on every close: results of requests started in an earlier visit must not report into the next one.
48
+ const visit = useRef(0);
49
+ const mounted = useRef(false);
50
+ useEffect(() => {
51
+ mounted.current = true;
52
+ return () => { mounted.current = false; visit.current += 1; };
53
+ }, []);
54
+ useEffect(() => {
55
+ if (open)
56
+ return;
57
+ visit.current += 1;
58
+ setFeedback(null);
59
+ setSelected([]);
60
+ setSentHere(new Set());
61
+ setSendError("");
62
+ setLocalQuery("");
63
+ }, [open]);
64
+ useEffect(() => {
65
+ // A different link makes a "copied" claim about the old one false.
66
+ setFeedback(null);
67
+ }, [link]);
68
+ async function runExternal(action) {
69
+ if (externalInFlight.current)
70
+ return;
71
+ if (action === "copy" ? !copyLink : !share)
72
+ return;
73
+ externalInFlight.current = true;
74
+ const current = visit.current;
75
+ setExternalAction(action);
76
+ setFeedback(null);
77
+ try {
78
+ if (action === "copy") {
79
+ await copyLink(link);
80
+ if (current !== visit.current)
81
+ return;
82
+ setFeedback("copied");
83
+ onLinkCopied?.();
84
+ }
85
+ else {
86
+ const outcome = await share({ url: link, ...(shareTitle ? { title: shareTitle } : {}), ...(shareText ? { text: shareText } : {}) });
87
+ // The OS sheet only reports that it closed; never announce delivery.
88
+ if (current === visit.current)
89
+ onSystemShare?.(outcome);
90
+ }
91
+ }
92
+ catch {
93
+ if (current === visit.current)
94
+ setFeedback("failed");
95
+ }
96
+ finally {
97
+ externalInFlight.current = false;
98
+ if (mounted.current)
99
+ setExternalAction(null);
100
+ }
101
+ }
102
+ const sent = new Set([...(recipients?.sentIds ?? []), ...sentHere]);
103
+ const pending = selected.filter(id => !sent.has(id));
104
+ async function sendSelected() {
105
+ if (!recipients || batchInFlight.current || pending.length === 0)
106
+ return;
107
+ batchInFlight.current = true;
108
+ const current = visit.current, requested = pending;
109
+ setSending(true);
110
+ setSendError("");
111
+ try {
112
+ const result = await recipients.onSend(requested);
113
+ if (current !== visit.current)
114
+ return;
115
+ const outcome = resolveShareSheetSendOutcome(requested, result);
116
+ const delivered = new Set(outcome.sent);
117
+ setSentHere(previous => new Set([...previous, ...outcome.sent]));
118
+ // Failed recipients stay selected, so the next press retries only them.
119
+ setSelected(previous => previous.filter(id => !delivered.has(id)));
120
+ if (outcome.failed.length)
121
+ setSendError(result.error ?? recipients.labels.sendFailed);
122
+ }
123
+ catch {
124
+ if (current === visit.current)
125
+ setSendError(recipients.labels.sendFailed);
126
+ }
127
+ finally {
128
+ batchInFlight.current = false;
129
+ if (mounted.current)
130
+ setSending(false);
131
+ }
132
+ }
133
+ const remoteSearch = recipients?.search?.onQueryChange !== undefined;
134
+ const query = remoteSearch ? recipients?.search?.query ?? "" : localQuery;
135
+ const visible = recipients ? (remoteSearch ? recipients.items : filterShareSheetRecipients(recipients.items, query)) : [];
136
+ const status = recipients?.status ?? "ready";
137
+ const actionButton = (action, label, icon) => _jsxs(Stack, { align: "center", gap: shareSheetRecipe.actionCaptionGap, children: [_jsx(IconButton, { label: label, tone: shareSheetRecipe.actionButton.tone, size: shareSheetRecipe.actionButton.size, loading: externalAction === action, disabled: externalAction !== null, onPress: () => void runExternal(action), children: icon }), _jsx(Text, { variant: shareSheetRecipe.actionCaptionVariant, accessible: false, importantForAccessibility: "no", children: label })] });
138
+ const actions = copyLink || share ? _jsxs(Stack, { axis: "inline", justify: "center", gap: shareSheetRecipe.actionGap, children: [copyLink ? actionButton("copy", labels.copyLink, icons.copyLink) : null, share ? actionButton("share", labels.systemShare, icons.systemShare) : null] }) : null;
139
+ const footer = pending.length > 0 || actions ? _jsxs(Stack, { gap: shareSheetRecipe.footerGap, children: [recipients && pending.length > 0 ? _jsx(Button, { tone: shareSheetRecipe.sendButton.tone, size: shareSheetRecipe.sendButton.size, loading: sending, onPress: () => void sendSelected(), children: recipients.labels.send(pending.length) }) : null, actions] }) : undefined;
140
+ return _jsx(Sheet, { open: open, onOpenChange: onOpenChange, title: title, closeLabel: labels.close, busy: sending, size: recipients ? shareSheetRecipe.size.recipients : shareSheetRecipe.size.externalOnly, scrollable: recipients !== undefined, footer: footer, children: _jsxs(Stack, { gap: shareSheetRecipe.bodyGap, children: [notice, sendError ? _jsx(Notice, { tone: "danger", announcement: "assertive", title: sendError }) : null, feedback === "copied" ? _jsx(Notice, { tone: "success", appearance: "status", announcement: "polite", title: labels.linkCopied }) : null, feedback === "failed" ? _jsx(Notice, { tone: "danger", announcement: "assertive", title: labels.actionFailed }) : null, recipients ? _jsxs(_Fragment, { children: [_jsx(SearchField, { accessibilityLabel: recipients.labels.search, placeholder: recipients.labels.search, clearLabel: recipients.labels.clearSearch, busyLabel: recipients.labels.loading, busy: recipients.search?.searching === true, value: query, onValueChange: remoteSearch ? recipients.search.onQueryChange : setLocalQuery }), status === "error" ? _jsx(Notice, { tone: "danger", announcement: "polite", title: recipients.labels.loadFailed, ...(recipients.onRetry ? { action: _jsx(IconButton, { label: recipients.labels.retry, tone: "secondary", size: "small", loading: recipients.retrying === true, onPress: recipients.onRetry, children: _jsx(DrawnRefresh, { size: glyph[iconButtonRecipe.sizes.small.glyph], color: colors.text }) }) } : {}) })
141
+ : status === "loading" ? _jsx(Spinner, { label: recipients.labels.loading })
142
+ : visible.length === 0 ? _jsx(EmptyState, { density: "compact", title: query.trim() ? recipients.labels.noResults : recipients.labels.empty })
143
+ : _jsx(ImageChoiceGroup, { label: recipients.labels.group, selectionMode: "multiple", showItemLabels: shareSheetRecipe.picker.showItemLabels, itemLabelLines: shareSheetRecipe.picker.itemLabelLines, disabled: sending, value: resolveShareSheetPickerValue(selected, sent, visible.map(item => item.id)), onValueChange: next => setSelected(next.filter(id => !sent.has(id))), items: visible.map(item => sent.has(item.id) ? { ...item, description: recipients.labels.sent, disabled: true } : item) })] }) : null] }) });
144
+ }
145
+ //# sourceMappingURL=share-sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-sheet.js","sourceRoot":"","sources":["../src/share-sheet.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export type SheetPanelProps = Readonly<{
11
11
  height?: number;
12
12
  onHeightChange?: (height: number) => void;
13
13
  layoutStyle?: HjmCompositionStyleProp;
14
+ /**
15
+ * Space at the bottom that something else covers, such as a raised bottom-navigation item overlapping the sheet. The
16
+ * surface still reaches the bottom edge (no map strip under it); the body and the folded handle stay above the
17
+ * covered space (2026-10-25 Diairy map sheet joined to its tab bar).
18
+ */
19
+ safeAreaBottom?: number;
14
20
  /** Product artwork above the scrolling body; it must not replace the handle. */
15
21
  overlay?: ReactNode;
16
22
  /** Domain navigation, such as horizontal letter paging; vertical ownership remains here. */
@@ -20,5 +26,5 @@ export type SheetPanelProps = Readonly<{
20
26
  testID?: string;
21
27
  }>;
22
28
  /** A nonmodal, bottom-anchored sheet. The map behind it keeps pointer and accessibility access. */
23
- export declare function SheetPanel({ children, handleLabel, maximumHeight, height, onHeightChange, layoutStyle, overlay, contentGesture, handleActions, onHandleAction, testID }: SheetPanelProps): import("react").JSX.Element;
29
+ export declare function SheetPanel({ children, handleLabel, maximumHeight, height, onHeightChange, layoutStyle, safeAreaBottom, overlay, contentGesture, handleActions, onHandleAction, testID }: SheetPanelProps): import("react").JSX.Element;
24
30
  //# sourceMappingURL=sheet-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-panel.d.ts","sourceRoot":"","sources":["../src/sheet-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAmB,MAAM,8BAA8B,CAAC;AASxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EACvF,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,eAAe,+BA2F/F"}
1
+ {"version":3,"file":"sheet-panel.d.ts","sourceRoot":"","sources":["../src/sheet-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAmB,MAAM,8BAA8B,CAAC;AASxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EACvF,WAAW,EAAE,cAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,eAAe,+BA4FnH"}
@@ -11,7 +11,7 @@ import { resolveColorReference } from "@hjmds/design-contracts/color-references"
11
11
  import { useHjmNativeTheme } from "./provider.js";
12
12
  import { resolveNativeShadowElevation } from "./internal/styles.js";
13
13
  /** A nonmodal, bottom-anchored sheet. The map behind it keeps pointer and accessibility access. */
14
- export function SheetPanel({ children, handleLabel, maximumHeight, height, onHeightChange, layoutStyle, overlay, contentGesture, handleActions, onHandleAction, testID }) {
14
+ export function SheetPanel({ children, handleLabel, maximumHeight, height, onHeightChange, layoutStyle, safeAreaBottom = 0, overlay, contentGesture, handleActions, onHandleAction, testID }) {
15
15
  const theme = useHjmNativeTheme();
16
16
  const { tokens, palette, designProfile, environment } = theme;
17
17
  const reduced = environment.reducedMotion;
@@ -26,6 +26,8 @@ export function SheetPanel({ children, handleLabel, maximumHeight, height, onHei
26
26
  if (!handleLabel.trim() || [maximumHeight, height].some(value => value !== undefined && (!Number.isFinite(value) || value <= 0))) {
27
27
  throw new TypeError("SheetPanel requires a handle label and positive finite heights");
28
28
  }
29
+ if (!Number.isFinite(safeAreaBottom) || safeAreaBottom < 0)
30
+ throw new RangeError("SheetPanel safeAreaBottom must be non-negative");
29
31
  const settle = (velocityY, success) => {
30
32
  "worklet";
31
33
  const collapse = velocityY > sheetPanelBehavior.collapseVelocity ||
@@ -96,7 +98,7 @@ export function SheetPanel({ children, handleLabel, maximumHeight, height, onHei
96
98
  const measuredHeight = event.nativeEvent.layout.height;
97
99
  const previous = collapsedBy.get();
98
100
  const wasCollapsed = previous > 0 && translateY.get() > previous / 2;
99
- const next = Math.max(0, measuredHeight - control.minTouchTarget);
101
+ const next = Math.max(0, measuredHeight - control.minTouchTarget - safeAreaBottom);
100
102
  cancelAnimation(translateY);
101
103
  collapsedBy.set(next);
102
104
  translateY.set(wasCollapsed ? next : 0);
@@ -106,6 +108,6 @@ export function SheetPanel({ children, handleLabel, maximumHeight, height, onHei
106
108
  toggle();
107
109
  else
108
110
  onHandleAction?.(event); }, onPress: toggle, style: { height: control.minTouchTarget, alignSelf: "stretch", alignItems: "center", justifyContent: "center" }, children: _jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: sheetRecipe.handle.width, height: sheetRecipe.handle.height,
109
- borderRadius: tokens.radius[sheetRecipe.handle.radius], backgroundColor: resolveColorReference(sheetRecipe.handle.color, palette) } }) }) }), overlay ? _jsx(View, { pointerEvents: expanded ? "box-none" : "none", style: [StyleSheet.absoluteFill, { opacity: expanded ? 1 : 0 }], accessibilityElementsHidden: !expanded, importantForAccessibility: expanded ? "auto" : "no-hide-descendants", children: overlay }) : null, _jsx(GestureDetector, { gesture: bodyGesture, children: _jsx(Animated.ScrollView, { testID: testID ? `${testID}-scroll` : undefined, accessibilityElementsHidden: !expanded, importantForAccessibility: expanded ? "auto" : "no-hide-descendants", style: { flexGrow: height === undefined ? 0 : 1, flexShrink: 1, overflow: "hidden" }, contentContainerStyle: { flexGrow: 1, paddingHorizontal: sheetRecipe.content.paddingHorizontal, paddingBottom: sheetRecipe.content.paddingBottom }, onScroll: onScroll, scrollEventThrottle: 16, showsVerticalScrollIndicator: true, bounces: false, overScrollMode: "never", contentInsetAdjustmentBehavior: "never", children: children }) })] });
111
+ borderRadius: tokens.radius[sheetRecipe.handle.radius], backgroundColor: resolveColorReference(sheetRecipe.handle.color, palette) } }) }) }), overlay ? _jsx(View, { pointerEvents: expanded ? "box-none" : "none", style: [StyleSheet.absoluteFill, { opacity: expanded ? 1 : 0 }], accessibilityElementsHidden: !expanded, importantForAccessibility: expanded ? "auto" : "no-hide-descendants", children: overlay }) : null, _jsx(GestureDetector, { gesture: bodyGesture, children: _jsx(Animated.ScrollView, { testID: testID ? `${testID}-scroll` : undefined, accessibilityElementsHidden: !expanded, importantForAccessibility: expanded ? "auto" : "no-hide-descendants", style: { flexGrow: height === undefined ? 0 : 1, flexShrink: 1, overflow: "hidden" }, contentContainerStyle: { flexGrow: 1, paddingHorizontal: sheetRecipe.content.paddingHorizontal, paddingBottom: sheetRecipe.content.paddingBottom + safeAreaBottom }, onScroll: onScroll, scrollEventThrottle: 16, showsVerticalScrollIndicator: true, bounces: false, overScrollMode: "never", contentInsetAdjustmentBehavior: "never", children: children }) })] });
110
112
  }
111
113
  //# sourceMappingURL=sheet-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-panel.js","sourceRoot":"","sources":["../src/sheet-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sheet-panel.js","sourceRoot":"","sources":["../src/sheet-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,QAAQ,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC/J,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AA2BpE,mGAAmG;AACnG,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EACvF,WAAW,EAAE,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAmB;IAClH,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC;IAC1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,MAAM,IAAI,SAAS,CAAC,gEAAgE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,gDAAgD,CAAC,CAAC;IACnI,MAAM,MAAM,GAAG,CAAC,SAAiB,EAAE,OAAgB,EAAE,EAAE;QACrD,SAAS,CAAC;QACV,MAAM,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAC,gBAAgB;YAC9D,CAAC,SAAS,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,IAAI,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACzI,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3H,YAAY,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE;QAAG,SAAS,CAAC;QAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAAC,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAAC,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,CAAC,YAAoB,EAAE,EAAE;QAAG,SAAS,CAAC;QAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC,CAAC;IACxI,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7G,uGAAuG;IACvG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;SACjE,aAAa,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IACjE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,IAAI,YAAY,CAAC,KAAK;YAAE,OAAO;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACtE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/E,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,kBAAkB,IAAI,EAAE,GAAG,CAAC,kBAAkB,CAAC,kBAAkB;YAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aACnH,IAAI,EAAE,GAAG,kBAAkB,CAAC,kBAAkB;YAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAChF,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC7C,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC3D,UAAU,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnJ,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9D,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1K,WAAW,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,OAAO,MAAC,QAAQ,CAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM;gBACvG,mBAAmB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;gBACzD,eAAe,EAAE,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;gBAC/E,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM;gBACrF,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,4BAA4B,CAAC,MAAM,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC,CAAC;aAC5H,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;YACzC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC;YACnF,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3F,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC,aACC,KAAC,eAAe,IAAC,OAAO,EAAE,IAAI,YAAE,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,EACxF,iBAAiB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EACnG,kBAAkB,EAAE,EAAE,QAAQ,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,EACxG,qBAAqB,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,UAAU;wBAAE,MAAM,EAAE,CAAC;;wBAAM,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC5H,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,YAChI,KAAC,IAAI,IAAC,2BAA2B,QAAC,yBAAyB,EAAC,IAAI,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM;4BAC1I,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAI,GAC/H,GAAkB,EAE7B,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7H,2BAA2B,EAAE,CAAC,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,YAAG,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,EACvI,KAAC,eAAe,IAAC,OAAO,EAAE,WAAW,YAAE,KAAC,QAAQ,CAAC,UAAU,IAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,EACzG,2BAA2B,EAAE,CAAC,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,EAC5G,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACpF,qBAAqB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,cAAc,EAAE,EACnK,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,4BAA4B,QAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAC,OAAO,EAAC,8BAA8B,EAAC,OAAO,YACtJ,QAAQ,GACW,GAAkB,IAC1B,CAAC;AACnB,CAAC"}
package/dist/slider.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ComponentRef } from "react";
2
- import { forwardRef } from "react";
2
+ import { forwardRef, type ReactNode } from "react";
3
3
  import { View, type LayoutChangeEvent, type ViewProps } from "react-native";
4
4
  import type { HjmCompositionStyleProp } from "./composition-style.js";
5
5
  type NativeSliderViewProps = Omit<ViewProps, "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "accessible" | "children" | "onAccessibilityAction" | "onLayout" | "style">;
@@ -23,6 +23,20 @@ export type SliderProps = NativeSliderViewProps & Readonly<{
23
23
  /** Canonical layout-only placement for the complete slider. Controlled visual keys are excluded. */
24
24
  layoutStyle?: HjmCompositionStyleProp;
25
25
  }>;
26
+ /**
27
+ * HJM-internal: ColorPicker's hue and opacity bars reuse this gesture and accessibility logic with a painted track.
28
+ * The visible header is dropped (the bar itself shows the value) and the thumb shows the colour under it.
29
+ */
30
+ export type SliderPrivateProps = Readonly<{
31
+ hjmColorTrack?: Readonly<{
32
+ fill: ReactNode;
33
+ thumbFill: ReactNode;
34
+ height: number;
35
+ thumbDiameter: number;
36
+ thumbBorder: number;
37
+ direction: "ltr" | "rtl";
38
+ }>;
39
+ }>;
26
40
  /** Dependency-free horizontal Slider using the Native responder system. */
27
41
  export declare const Slider: ReturnType<typeof forwardRef<ComponentRef<typeof View>, SliderProps>>;
28
42
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../src/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C,OAAO,EACL,UAAU,EAKX,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,IAAI,EACJ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAKtE,KAAK,qBAAqB,GAAG,IAAI,CAC/B,SAAS,EACP,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,oBAAoB,GACpB,YAAY,GACZ,UAAU,GACV,uBAAuB,GACvB,UAAU,GACV,OAAO,CACV,CAAC;AAKF,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAC7C,QAAQ,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,oGAAoG;IACpG,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,CAAC,CAAC;AAEL,2EAA2E;AAC3E,eAAO,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,WAAW,CAAC,CA4TvF,CAAC"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../src/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C,OAAO,EACL,UAAU,EACV,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,IAAI,EACJ,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAKtE,KAAK,qBAAqB,GAAG,IAAI,CAC/B,SAAS,EACP,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,oBAAoB,GACpB,YAAY,GACZ,UAAU,GACV,uBAAuB,GACvB,UAAU,GACV,OAAO,CACV,CAAC;AAKF,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAC7C,QAAQ,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,oGAAoG;IACpG,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,CAAC,CAAC;AAEL;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,KAAK,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEzM,2EAA2E;AAC3E,eAAO,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,WAAW,CAAC,CA6WvF,CAAC"}
package/dist/slider.js CHANGED
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { assertNoRemovedStyleProps } from "./internal/diagnostics.js";
3
3
  import { getSliderStepTarget, resolveSliderDescriptor, resolveSliderFillFraction, resolveSliderValueFromOffset, sliderRecipe, } from "@hjmds/design-contracts/components/slider";
4
4
  import { forwardRef, useEffect, useMemo, useRef, useState, } from "react";
@@ -9,9 +9,12 @@ import { useHjmNativeTheme } from "./provider.js";
9
9
  /** Points of travel before a drag counts as horizontal or vertical intent. */
10
10
  const sliderIntentSlop = 6;
11
11
  /** Dependency-free horizontal Slider using the Native responder system. */
12
- export const Slider = forwardRef(function Slider({ label, min, max, step, value, defaultValue, onValueChange, onValueChangeEnd, decrementLabel, incrementLabel, getValueText, disabled = false, onFocus, onBlur, onLayout, layoutStyle, ...viewProps }, forwardedRef) {
12
+ export const Slider = forwardRef(function Slider({ label, min, max, step, value, defaultValue, onValueChange, onValueChangeEnd, decrementLabel, incrementLabel, getValueText, disabled = false, onFocus, onBlur, onLayout, layoutStyle, hjmColorTrack, ...viewProps }, forwardedRef) {
13
13
  assertNoRemovedStyleProps("Slider", viewProps, ["containerStyle", "controlStyle"]);
14
14
  const { colors, environment, textScaling, tokens } = useHjmNativeTheme();
15
+ // Painted colour tracks define a physical colour axis independently of the
16
+ // surrounding labels' reading order; gestures and thumb geometry share it.
17
+ const trackDirection = hjmColorTrack?.direction ?? environment.direction;
15
18
  const [currentValue, setCurrentValue] = useControllableState({
16
19
  ...(value === undefined ? {} : { value }),
17
20
  defaultValue: defaultValue ?? min,
@@ -27,6 +30,7 @@ export const Slider = forwardRef(function Slider({ label, min, max, step, value,
27
30
  ...(valueText === undefined ? {} : { valueText }),
28
31
  });
29
32
  const recipe = sliderRecipe.sizes.medium;
33
+ const thumbDiameter = hjmColorTrack?.thumbDiameter ?? recipe.thumbDiameter;
30
34
  const [layoutWidth, setLayoutWidth] = useState(0);
31
35
  const [dragging, setDragging] = useState(false);
32
36
  const [focused, setFocused] = useState(false);
@@ -58,11 +62,11 @@ export const Slider = forwardRef(function Slider({ label, min, max, step, value,
58
62
  const updateFromLocation = (locationX) => {
59
63
  if (disabled)
60
64
  return;
61
- const extent = layoutWidth - recipe.thumbDiameter;
65
+ const extent = layoutWidth - thumbDiameter;
62
66
  if (extent <= 0)
63
67
  return;
64
- const offset = locationX - recipe.thumbDiameter / 2;
65
- publish(resolveSliderValueFromOffset(descriptor, offset, extent, environment.direction));
68
+ const offset = locationX - thumbDiameter / 2;
69
+ publish(resolveSliderValueFromOffset(descriptor, offset, extent, trackDirection));
66
70
  };
67
71
  const performAction = (intent) => {
68
72
  if (disabled)
@@ -144,8 +148,8 @@ export const Slider = forwardRef(function Slider({ label, min, max, step, value,
144
148
  finishRef.current();
145
149
  }, [disabled]);
146
150
  const fraction = resolveSliderFillFraction(descriptor);
147
- const travel = Math.max(0, layoutWidth - recipe.thumbDiameter);
148
- const visualFraction = environment.direction === "rtl" ? 1 - fraction : fraction;
151
+ const travel = Math.max(0, layoutWidth - thumbDiameter);
152
+ const visualFraction = trackDirection === "rtl" ? 1 - fraction : fraction;
149
153
  const thumbLeft = travel * visualFraction;
150
154
  const visibleValue = valueText ?? String(currentValue);
151
155
  const actionProps = disabled
@@ -182,13 +186,13 @@ export const Slider = forwardRef(function Slider({ label, min, max, step, value,
182
186
  opacity: disabled ? sliderRecipe.states.disabledOpacity : 1,
183
187
  },
184
188
  layoutStyle,
185
- ], children: [_jsxs(View, { accessible: false, accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
189
+ ], children: [hjmColorTrack ? null : (_jsxs(View, { accessible: false, accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
186
190
  alignItems: "baseline",
187
191
  direction: environment.direction,
188
192
  flexDirection: "row",
189
193
  gap: sliderRecipe.header.gap,
190
194
  justifyContent: "space-between",
191
- }, children: [_jsx(NativeText, { ...labelTextScaleProps, children: label }), _jsx(NativeText, { ...valueTextScaleProps, children: visibleValue })] }), _jsxs(View, { ...viewProps, ...panResponder.panHandlers, ...actionProps, ref: forwardedRef, accessible: true, accessibilityLabel: label, accessibilityRole: "adjustable", accessibilityState: { disabled }, accessibilityValue: {
195
+ }, children: [_jsx(NativeText, { ...labelTextScaleProps, children: label }), _jsx(NativeText, { ...valueTextScaleProps, children: visibleValue })] })), _jsx(View, { ...viewProps, ...panResponder.panHandlers, ...actionProps, ref: forwardedRef, accessible: true, accessibilityLabel: label, accessibilityRole: "adjustable", accessibilityState: { disabled }, accessibilityValue: {
192
196
  min,
193
197
  max,
194
198
  now: currentValue,
@@ -207,45 +211,68 @@ export const Slider = forwardRef(function Slider({ label, min, max, step, value,
207
211
  justifyContent: "center",
208
212
  minHeight: recipe.hitTarget,
209
213
  minWidth: recipe.hitTarget,
214
+ direction: trackDirection,
210
215
  },
211
- ], children: [_jsx(View, { pointerEvents: "none", style: {
212
- backgroundColor: colors.surfaceAlt,
213
- borderColor: colors.textMuted,
214
- borderRadius: tokens.radius.full,
215
- borderWidth: 1,
216
- height: recipe.trackHeight,
217
- left: recipe.thumbDiameter / 2,
218
- position: "absolute",
219
- right: recipe.thumbDiameter / 2,
220
- } }), _jsx(View, { pointerEvents: "none", style: {
221
- backgroundColor: colors.contentBrand,
222
- borderRadius: tokens.radius.full,
223
- height: recipe.trackHeight,
224
- ...(environment.direction === "rtl"
225
- ? { right: recipe.thumbDiameter / 2 }
226
- : { left: recipe.thumbDiameter / 2 }),
227
- position: "absolute",
228
- width: travel * fraction,
229
- } }), focused ? (_jsx(View, { pointerEvents: "none", style: {
230
- borderColor: colors.contentBrand,
231
- borderRadius: tokens.radius[sliderRecipe.radius],
232
- borderWidth: sliderRecipe.states.focus.width,
233
- height: recipe.thumbDiameter + sliderRecipe.states.focus.offset * 2,
234
- left: thumbLeft - sliderRecipe.states.focus.offset,
235
- position: "absolute",
236
- width: recipe.thumbDiameter + sliderRecipe.states.focus.offset * 2,
237
- zIndex: 1,
238
- } })) : null, _jsx(View, { pointerEvents: "none", style: {
239
- backgroundColor: colors.bg,
240
- borderColor: colors.contentBrand,
241
- borderRadius: tokens.radius.full,
242
- borderWidth: 2,
243
- height: recipe.thumbDiameter,
244
- left: thumbLeft,
245
- opacity: dragging ? sliderRecipe.states.draggedOpacity : 1,
246
- position: "absolute",
247
- width: recipe.thumbDiameter,
248
- zIndex: 2,
249
- } })] })] }));
216
+ ], children: hjmColorTrack ? (_jsxs(_Fragment, { children: [_jsx(View, { pointerEvents: "none", style: {
217
+ borderRadius: tokens.radius.full,
218
+ height: hjmColorTrack.height,
219
+ left: 0,
220
+ overflow: "hidden",
221
+ position: "absolute",
222
+ right: 0,
223
+ }, children: hjmColorTrack.fill }), _jsx(View, { pointerEvents: "none", style: {
224
+ borderColor: focused ? colors.contentBrand : "#ffffff",
225
+ borderRadius: tokens.radius.full,
226
+ borderWidth: hjmColorTrack.thumbBorder,
227
+ elevation: 2,
228
+ height: thumbDiameter,
229
+ left: thumbLeft,
230
+ overflow: "hidden",
231
+ position: "absolute",
232
+ shadowColor: "#000000",
233
+ shadowOffset: { width: 0, height: 1 },
234
+ shadowOpacity: 0.3,
235
+ shadowRadius: 2,
236
+ width: thumbDiameter,
237
+ zIndex: 2,
238
+ }, children: hjmColorTrack.thumbFill })] })) : (_jsxs(_Fragment, { children: [_jsx(View, { pointerEvents: "none", style: {
239
+ backgroundColor: colors.surfaceAlt,
240
+ borderColor: colors.textMuted,
241
+ borderRadius: tokens.radius.full,
242
+ borderWidth: 1,
243
+ height: recipe.trackHeight,
244
+ left: thumbDiameter / 2,
245
+ position: "absolute",
246
+ right: thumbDiameter / 2,
247
+ } }), _jsx(View, { pointerEvents: "none", style: {
248
+ backgroundColor: colors.contentBrand,
249
+ borderRadius: tokens.radius.full,
250
+ height: recipe.trackHeight,
251
+ ...(environment.direction === "rtl"
252
+ ? { right: thumbDiameter / 2 }
253
+ : { left: thumbDiameter / 2 }),
254
+ position: "absolute",
255
+ width: travel * fraction,
256
+ } }), focused ? (_jsx(View, { pointerEvents: "none", style: {
257
+ borderColor: colors.contentBrand,
258
+ borderRadius: tokens.radius[sliderRecipe.radius],
259
+ borderWidth: sliderRecipe.states.focus.width,
260
+ height: thumbDiameter + sliderRecipe.states.focus.offset * 2,
261
+ left: thumbLeft - sliderRecipe.states.focus.offset,
262
+ position: "absolute",
263
+ width: thumbDiameter + sliderRecipe.states.focus.offset * 2,
264
+ zIndex: 1,
265
+ } })) : null, _jsx(View, { pointerEvents: "none", style: {
266
+ backgroundColor: colors.bg,
267
+ borderColor: colors.contentBrand,
268
+ borderRadius: tokens.radius.full,
269
+ borderWidth: 2,
270
+ height: thumbDiameter,
271
+ left: thumbLeft,
272
+ opacity: dragging ? sliderRecipe.states.draggedOpacity : 1,
273
+ position: "absolute",
274
+ width: thumbDiameter,
275
+ zIndex: 2,
276
+ } })] })) })] }));
250
277
  });
251
278
  //# sourceMappingURL=slider.js.map