@hjmds/react-native 1.8.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/agreement.d.ts.map +1 -1
- package/dist/agreement.js +13 -3
- package/dist/agreement.js.map +1 -1
- package/dist/carousel-motion.d.ts +16 -0
- package/dist/carousel-motion.d.ts.map +1 -0
- package/dist/carousel-motion.js +57 -0
- package/dist/carousel-motion.js.map +1 -0
- package/dist/celebration.d.ts +8 -0
- package/dist/celebration.d.ts.map +1 -0
- package/dist/celebration.js +64 -0
- package/dist/celebration.js.map +1 -0
- package/dist/content-transition.d.ts +12 -0
- package/dist/content-transition.d.ts.map +1 -0
- package/dist/content-transition.js +34 -0
- package/dist/content-transition.js.map +1 -0
- package/dist/date-picker.d.ts +8 -1
- package/dist/date-picker.d.ts.map +1 -1
- package/dist/date-picker.js +2 -2
- package/dist/date-picker.js.map +1 -1
- package/dist/evidence.d.ts +1 -1
- package/dist/evidence.js +1 -1
- package/dist/evidence.js.map +1 -1
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.js +30 -6
- package/dist/feedback.js.map +1 -1
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +40 -4
- package/dist/forms.js.map +1 -1
- package/dist/image-viewer.d.ts.map +1 -1
- package/dist/image-viewer.js +4 -2
- package/dist/image-viewer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inputs.d.ts.map +1 -1
- package/dist/inputs.js +11 -3
- package/dist/inputs.js.map +1 -1
- package/dist/internal/state.d.ts +19 -0
- package/dist/internal/state.d.ts.map +1 -1
- package/dist/internal/state.js +15 -0
- package/dist/internal/state.js.map +1 -1
- package/dist/number-field.d.ts.map +1 -1
- package/dist/number-field.js +6 -1
- package/dist/number-field.js.map +1 -1
- package/dist/overlays.d.ts +1 -1
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +11 -2
- package/dist/overlays.js.map +1 -1
- package/dist/provider.d.ts +19 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +10 -2
- package/dist/provider.js.map +1 -1
- package/dist/screen-transition.d.ts +14 -0
- package/dist/screen-transition.d.ts.map +1 -0
- package/dist/screen-transition.js +42 -0
- package/dist/screen-transition.js.map +1 -0
- package/dist/sheet-gesture.d.ts +11 -3
- package/dist/sheet-gesture.d.ts.map +1 -1
- package/dist/sheet-gesture.js +59 -11
- package/dist/sheet-gesture.js.map +1 -1
- package/dist/slider.d.ts.map +1 -1
- package/dist/slider.js +58 -11
- package/dist/slider.js.map +1 -1
- package/dist/sortable.d.ts +15 -0
- package/dist/sortable.d.ts.map +1 -0
- package/dist/sortable.js +64 -0
- package/dist/sortable.js.map +1 -0
- package/dist/swipe-actions.d.ts +17 -0
- package/dist/swipe-actions.d.ts.map +1 -0
- package/dist/swipe-actions.js +58 -0
- package/dist/swipe-actions.js.map +1 -0
- package/dist/tags-input.d.ts.map +1 -1
- package/dist/tags-input.js +5 -1
- package/dist/tags-input.js.map +1 -1
- package/dist/toast-liquid.d.ts.map +1 -1
- package/dist/toast-liquid.js +17 -2
- package/dist/toast-liquid.js.map +1 -1
- package/dist/transfer-list.d.ts.map +1 -1
- package/dist/transfer-list.js +3 -2
- package/dist/transfer-list.js.map +1 -1
- package/dist/upload-item.d.ts.map +1 -1
- package/dist/upload-item.js +5 -3
- package/dist/upload-item.js.map +1 -1
- package/docs/liquid-toast.md +11 -6
- package/docs/patches/react-native-screen-transitions.patch +87 -0
- package/package.json +70 -4
package/README.md
CHANGED
|
@@ -405,3 +405,7 @@ Supply measured item heights for Masonry and a fixed row height for VirtualList.
|
|
|
405
405
|
The optional `qr-code` entry requires `qrcode-generator@2.0.4` and a visible alternative
|
|
406
406
|
action alongside the accessible code. Native also requires `react-native-svg@15.15.5`.
|
|
407
407
|
For the optional native menu, apply the host patches documented in [patch installation](docs/patches/README.md).
|
|
408
|
+
|
|
409
|
+
## Optional interaction adapters
|
|
410
|
+
|
|
411
|
+
Stable `sortable`, `swipe-actions`, `content-transition`, `carousel-motion` and `celebration` entries plus experimental native `screen-transition` are available through explicit subpath imports. See [installation, localized labels and behavior contracts](../../docs/interaction-adapters.md), including pinned peers and native verification limits. These adapters are not root exports.
|
package/dist/agreement.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agreement.d.ts","sourceRoot":"","sources":["../src/agreement.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,8CAA8C,CAAC;AAItD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"agreement.d.ts","sourceRoot":"","sources":["../src/agreement.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,8CAA8C,CAAC;AAItD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK/E,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAChE,UAAU,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACpD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;IAC5B,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,wBAAgB,SAAS,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EACpD,UAAU,EACV,UAAU,EAAE,iBAAiB,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,aAAa,EACb,KAAK,GACN,EAAE,cAAc,CAAC,EAAE,CAAC,+BA8HpB"}
|
package/dist/agreement.js
CHANGED
|
@@ -4,6 +4,7 @@ import { resolveColorReference } from "@hjmds/design-contracts/color-references"
|
|
|
4
4
|
import { radius, spacing } from "@hjmds/design-contracts/foundations";
|
|
5
5
|
import { useMemo, useState } from "react";
|
|
6
6
|
import { Pressable, View } from "react-native";
|
|
7
|
+
import { mixedCheckboxState } from "./internal/state.js";
|
|
7
8
|
import { Text } from "./primitives.js";
|
|
8
9
|
import { useHjmNativeTheme } from "./provider.js";
|
|
9
10
|
export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCheckedIds, onCheckedIdsChange, onStateChange, onDetail, requiredLabel, optionalLabel, style, }) {
|
|
@@ -21,6 +22,11 @@ export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCh
|
|
|
21
22
|
};
|
|
22
23
|
const markColor = resolveColorReference(agreementRecipe.item.selectedIndicator, theme.palette);
|
|
23
24
|
const borderColor = resolveColorReference(agreementRecipe.item.focus.color, theme.palette);
|
|
25
|
+
// The glyph sits on the brand fill, so it takes onPrimary, the same token as the
|
|
26
|
+
// Checkbox indicator (selectionControlRecipe.states.indicator). agreementRecipe.all.color
|
|
27
|
+
// is the row text color and measured 2.19:1 on the fill (2026-09-30 audit). Read from
|
|
28
|
+
// the theme rather than the recipes entry, which would add a module to this subpath.
|
|
29
|
+
const glyphColor = theme.colors.onPrimary;
|
|
24
30
|
const mark = (value) => (_jsx(View, { style: {
|
|
25
31
|
alignItems: "center",
|
|
26
32
|
backgroundColor: value === false ? "transparent" : markColor,
|
|
@@ -30,8 +36,8 @@ export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCh
|
|
|
30
36
|
height: spacing.md,
|
|
31
37
|
justifyContent: "center",
|
|
32
38
|
width: spacing.md,
|
|
33
|
-
}, children: value === false ? null : (_jsx(Text, { style: { color:
|
|
34
|
-
return (_jsxs(View, { accessibilityLabel: descriptor.accessibilityLabel, accessibilityRole: "none", style: [{ gap: agreementRecipe.gap }, style], children: [_jsxs(Pressable, { accessibilityRole: "checkbox", accessibilityState:
|
|
39
|
+
}, children: value === false ? null : (_jsx(Text, { accessible: false, style: { color: glyphColor }, variant: "caption", children: value === "mixed" ? "–" : "✓" })) }));
|
|
40
|
+
return (_jsxs(View, { accessibilityLabel: descriptor.accessibilityLabel, accessibilityRole: "none", style: [{ gap: agreementRecipe.gap }, style], children: [_jsxs(Pressable, { accessibilityLabel: descriptor.allLabel, accessibilityRole: "checkbox", accessibilityState: mixedCheckboxState(state.all), onPress: () => commit(toggleAgreementAll(descriptor, checked)), style: {
|
|
35
41
|
alignItems: "center",
|
|
36
42
|
backgroundColor: resolveColorReference(agreementRecipe.all.background, theme.palette),
|
|
37
43
|
borderRadius: radius.md,
|
|
@@ -40,7 +46,11 @@ export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCh
|
|
|
40
46
|
minHeight: agreementRecipe.all.minHeight,
|
|
41
47
|
paddingHorizontal: agreementRecipe.all.paddingHorizontal,
|
|
42
48
|
paddingVertical: agreementRecipe.all.paddingVertical,
|
|
43
|
-
}, children: [mark(state.all), _jsx(Text, { variant: agreementRecipe.all.textVariant, children: descriptor.allLabel })] }), descriptor.items.map((item) => (_jsxs(View, { style: { gap: spacing.xxs }, children: [_jsxs(View, { style: { alignItems: "center", flexDirection: "row", gap: spacing.xs }, children: [_jsxs(Pressable
|
|
49
|
+
}, children: [mark(state.all), _jsx(Text, { variant: agreementRecipe.all.textVariant, children: descriptor.allLabel })] }), descriptor.items.map((item) => (_jsxs(View, { style: { gap: spacing.xxs }, children: [_jsxs(View, { style: { alignItems: "center", flexDirection: "row", gap: spacing.xs }, children: [_jsxs(Pressable
|
|
50
|
+
// Named explicitly so the check glyph never leaks into the name ("✓, Terms").
|
|
51
|
+
, {
|
|
52
|
+
// Named explicitly so the check glyph never leaks into the name ("✓, Terms").
|
|
53
|
+
accessibilityLabel: `${item.label} ${item.required === true ? requiredLabel : optionalLabel}`, accessibilityRole: "checkbox", accessibilityState: { checked: checked.has(item.id), disabled: item.disabled === true }, disabled: item.disabled === true, onPress: () => commit(toggleAgreementItem(descriptor, checked, item.id)), style: {
|
|
44
54
|
alignItems: "center",
|
|
45
55
|
flex: 1,
|
|
46
56
|
flexDirection: "row",
|
package/dist/agreement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agreement.js","sourceRoot":"","sources":["../src/agreement.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,GAG5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAiBlD,MAAM,UAAU,SAAS,CAA6B,EACpD,UAAU,EACV,UAAU,EAAE,iBAAiB,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,aAAa,EACb,KAAK,GACc;IACnB,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAkB,iBAAiB,IAAI,IAAI,GAAG,EAAM,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,iBAAiB,IAAI,QAAQ,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,2BAA2B,CAAC,UAAU,EAAE,GAAG,CAAC,EAClD,CAAC,UAAU,EAAE,GAAG,CAAC,CAClB,CAAC;IACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAE,EAAE;QACvC,IAAI,iBAAiB,KAAK,SAAS;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3B,aAAa,EAAE,CAAC,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/F,MAAM,WAAW,GAAG,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CACzC,KAAC,IAAI,IACH,KAAK,EAAE;YACL,UAAU,EAAE,QAAQ;YACpB,eAAe,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YAC5D,WAAW,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACtD,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,OAAO,CAAC,EAAE;SAClB,YAEA,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,KAAC,IAAI,IAAC,
|
|
1
|
+
{"version":3,"file":"agreement.js","sourceRoot":"","sources":["../src/agreement.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type SortableItem } from "@hjmds/design-contracts/components/interaction-adapters";
|
|
3
|
+
export type CarouselMotionProps = {
|
|
4
|
+
slides: readonly SortableItem[];
|
|
5
|
+
currentKey: string;
|
|
6
|
+
onCurrentKeyChange(key: string): void;
|
|
7
|
+
renderSlide(item: SortableItem): ReactNode;
|
|
8
|
+
label: string;
|
|
9
|
+
previousLabel: string;
|
|
10
|
+
nextLabel: string;
|
|
11
|
+
/** Measured host space, not a device-width assumption. */
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
export declare function CarouselMotion(props: CarouselMotionProps): import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=carousel-motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel-motion.d.ts","sourceRoot":"","sources":["../src/carousel-motion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAU9G,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3F,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IACpG,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAC/B,CAAC;AACF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BA2CxD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
import { Carousel } from "react-native-reanimated-carousel";
|
|
5
|
+
import { scheduleOnRN } from "react-native-worklets";
|
|
6
|
+
import { validateCarousel } from "@hjmds/design-contracts/components/interaction-adapters";
|
|
7
|
+
import { motion as timing } from "@hjmds/design-contracts/foundations";
|
|
8
|
+
import { Button } from "./actions.js";
|
|
9
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
10
|
+
/** Fraction of a slide past which a slow release still pages (platform paging uses half). */
|
|
11
|
+
const carouselReleasePageFraction = 0.5;
|
|
12
|
+
/** Opposite release speed (px/s) treated as a deliberate fling back, not a pause. */
|
|
13
|
+
const carouselReleaseFlingBack = 300;
|
|
14
|
+
export function CarouselMotion(props) {
|
|
15
|
+
const index = validateCarousel(props.slides, props.currentKey);
|
|
16
|
+
if (![props.width, props.height].every(value => Number.isFinite(value) && value > 0))
|
|
17
|
+
throw new TypeError("Carousel needs positive measured dimensions");
|
|
18
|
+
const { environment } = useHjmNativeTheme();
|
|
19
|
+
const ref = useRef(null);
|
|
20
|
+
const latest = useRef({ index, props });
|
|
21
|
+
latest.current = { index, props };
|
|
22
|
+
const rtl = environment.direction === "rtl";
|
|
23
|
+
const { width } = props;
|
|
24
|
+
// JS side of the release fallback below; reads the latest index so a stale
|
|
25
|
+
// gesture closure cannot page from an old slide.
|
|
26
|
+
const pageBy = (delta) => {
|
|
27
|
+
const { index: current, props: live } = latest.current;
|
|
28
|
+
const slide = live.slides[current + delta];
|
|
29
|
+
if (slide && slide.id !== live.currentKey)
|
|
30
|
+
live.onCurrentKeyChange(slide.id);
|
|
31
|
+
};
|
|
32
|
+
useEffect(() => { if (ref.current?.getCurrentIndex() !== index)
|
|
33
|
+
ref.current?.scrollTo({ index, animated: !environment.reducedMotion }); }, [index, environment.reducedMotion]);
|
|
34
|
+
return _jsxs(View, { accessibilityLabel: props.label, children: [_jsx(Carousel, { ref: ref, data: [...props.slides], defaultIndex: index, keyExtractor: item => item.id, style: { width: props.width, height: props.height, direction: environment.direction }, loop: false, autoplay: false, animation: { type: "timing", duration: environment.reducedMotion ? 0 : timing.normal },
|
|
35
|
+
// A deliberate horizontal move wins; vertical intent stays with the parent scroll view.
|
|
36
|
+
// The library's "page" snap only advances when the release velocity points the
|
|
37
|
+
// way of the drag. A finger that slowed or paused before lifting (velocity ~0)
|
|
38
|
+
// snapped back even from 74% of a slide: 2026-09-30 Android audit D6, reproduced
|
|
39
|
+
// at 450-600 ms swipes under host load. Past half a slide with no fling back, we
|
|
40
|
+
// page one slide ourselves. Rejected: snapMode "nearest", which lets a fling skip
|
|
41
|
+
// several slides; a lower activeOffsetX, which does not touch the release rule.
|
|
42
|
+
onConfigurePanGesture: gesture => gesture.activeOffsetX([-10, 10]).failOffsetY([-10, 10]).onEnd(event => {
|
|
43
|
+
"worklet";
|
|
44
|
+
const dx = event.translationX;
|
|
45
|
+
const vx = event.velocityX;
|
|
46
|
+
if (Math.abs(dx) < width * carouselReleasePageFraction)
|
|
47
|
+
return;
|
|
48
|
+
if (vx !== 0 && Math.sign(vx) === Math.sign(dx))
|
|
49
|
+
return;
|
|
50
|
+
if (Math.abs(vx) > carouselReleaseFlingBack)
|
|
51
|
+
return;
|
|
52
|
+
const forward = dx < 0 ? 1 : -1;
|
|
53
|
+
scheduleOnRN(pageBy, (rtl ? -forward : forward));
|
|
54
|
+
}), onSnapToItem: next => { const slide = props.slides[next]; if (slide && slide.id !== props.currentKey)
|
|
55
|
+
props.onCurrentKeyChange(slide.id); }, renderItem: ({ item, index: i }) => _jsx(View, { accessibilityElementsHidden: i !== index, importantForAccessibility: i === index ? "auto" : "no-hide-descendants", pointerEvents: i === index ? "auto" : "none", children: props.renderSlide(item) }) }), _jsx(Button, { tone: "ghost", disabled: index === 0, onPress: () => props.onCurrentKeyChange(props.slides[index - 1].id), children: props.previousLabel }), _jsx(Button, { tone: "ghost", disabled: index === props.slides.length - 1, onPress: () => props.onCurrentKeyChange(props.slides[index + 1].id), children: props.nextLabel })] });
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=carousel-motion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel-motion.js","sourceRoot":"","sources":["../src/carousel-motion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CelebrationPreset } from "@hjmds/design-contracts/components/interaction-adapters";
|
|
2
|
+
export type CelebrationProps = {
|
|
3
|
+
eventId: string;
|
|
4
|
+
preset?: CelebrationPreset;
|
|
5
|
+
onComplete?(): void;
|
|
6
|
+
};
|
|
7
|
+
export declare function Celebration({ eventId, preset, onComplete }: CelebrationProps): import("react").JSX.Element | null;
|
|
8
|
+
//# sourceMappingURL=celebration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"celebration.d.ts","sourceRoot":"","sources":["../src/celebration.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAyD,KAAK,iBAAiB,EAAE,MAAM,yDAAyD,CAAC;AAGxJ,MAAM,MAAM,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,UAAU,CAAC,IAAI,IAAI,CAAA;CAAE,CAAC;AACpG,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,MAAsB,EAAE,UAAU,EAAE,EAAE,gBAAgB,sCAyC5F"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { AppState, View, StyleSheet } from "react-native";
|
|
4
|
+
import { Confetti } from "react-native-fast-confetti";
|
|
5
|
+
import { celebrationColors, celebrationRecipe, validateEventId } from "@hjmds/design-contracts/components/interaction-adapters";
|
|
6
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
7
|
+
export function Celebration({ eventId, preset = "small-burst", onComplete }) {
|
|
8
|
+
validateEventId(eventId);
|
|
9
|
+
const { environment, colors, palette } = useHjmNativeTheme();
|
|
10
|
+
const [active, setActive] = useState(false);
|
|
11
|
+
const seen = useRef(new Set());
|
|
12
|
+
const callback = useRef(onComplete);
|
|
13
|
+
callback.current = onComplete;
|
|
14
|
+
const playback = useRef(null);
|
|
15
|
+
const stop = useRef(() => { });
|
|
16
|
+
const config = useRef({ preset, reduced: environment.reducedMotion });
|
|
17
|
+
config.current = { preset, reduced: environment.reducedMotion };
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
let disposed = false;
|
|
20
|
+
let done = false;
|
|
21
|
+
let started = false;
|
|
22
|
+
let playing = false;
|
|
23
|
+
let timer;
|
|
24
|
+
const finish = () => { if (!done && !disposed && started) {
|
|
25
|
+
done = true;
|
|
26
|
+
setActive(false);
|
|
27
|
+
callback.current?.();
|
|
28
|
+
} };
|
|
29
|
+
stop.current = finish;
|
|
30
|
+
playback.current = { id: eventId, end: finish, start: () => {
|
|
31
|
+
if (disposed || done || playing)
|
|
32
|
+
return;
|
|
33
|
+
playing = true;
|
|
34
|
+
clearTimeout(timer);
|
|
35
|
+
timer = setTimeout(finish, celebrationRecipe[config.current.preset].duration);
|
|
36
|
+
} };
|
|
37
|
+
setActive(false);
|
|
38
|
+
// Defer starting until after Strict Mode's probe cleanup, avoiding a consumed
|
|
39
|
+
// event with no animation. The event remains owned by this mounted session.
|
|
40
|
+
queueMicrotask(() => {
|
|
41
|
+
if (disposed || seen.current.has(eventId))
|
|
42
|
+
return;
|
|
43
|
+
seen.current.add(eventId);
|
|
44
|
+
started = true;
|
|
45
|
+
if (config.current.reduced || AppState.currentState !== "active") {
|
|
46
|
+
finish();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
setActive(true);
|
|
50
|
+
// Atlas/layout startup consumed nearly the whole 1.6s recipe in device QA.
|
|
51
|
+
// Measure playback from the engine callback; bound failed startup separately.
|
|
52
|
+
timer = setTimeout(finish, 5000);
|
|
53
|
+
});
|
|
54
|
+
const sub = AppState.addEventListener("change", state => { if (state !== "active")
|
|
55
|
+
finish(); });
|
|
56
|
+
return () => { disposed = true; clearTimeout(timer); sub.remove(); };
|
|
57
|
+
}, [eventId]);
|
|
58
|
+
useEffect(() => { if (environment.reducedMotion)
|
|
59
|
+
stop.current(); }, [environment.reducedMotion]);
|
|
60
|
+
return active && !environment.reducedMotion ? _jsx(View, { pointerEvents: "none", accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: StyleSheet.absoluteFill, children: _jsx(Confetti, { gravity: 6, verticalSpacing: 12, onAnimationStart: () => { if (playback.current?.id === eventId)
|
|
61
|
+
playback.current.start(); }, onAnimationEnd: () => { if (playback.current?.id === eventId)
|
|
62
|
+
playback.current.end(); }, count: celebrationRecipe[preset].count, colors: celebrationColors(colors.primary, palette.statusAccents), autoplay: true, infinite: false, fadeOutOnEnd: true, reduceMotion: { mode: "system" } }, eventId) }) : null;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=celebration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"celebration.js","sourceRoot":"","sources":["../src/celebration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type ContentTransitionProps = {
|
|
3
|
+
stateKey: string;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
motion?: "system" | "none";
|
|
6
|
+
};
|
|
7
|
+
export declare function ContentTransition({ stateKey, children, motion: preference }: ContentTransitionProps): import("react").JSX.Element;
|
|
8
|
+
export declare function TextTransition({ text, motion: preference }: {
|
|
9
|
+
text: string;
|
|
10
|
+
motion?: "system" | "none";
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=content-transition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-transition.d.ts","sourceRoot":"","sources":["../src/content-transition.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM1D,MAAM,MAAM,sBAAsB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;CAAE,CAAC;AAC3G,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAqB,EAAE,EAAE,sBAAsB,+BAgB9G;AACD,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;CAAE,+BAExG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { Animated, AppState } from "react-native";
|
|
4
|
+
import { motion as timing } from "@hjmds/design-contracts/foundations";
|
|
5
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
6
|
+
import { Text } from "./primitives.js";
|
|
7
|
+
export function ContentTransition({ stateKey, children, motion: preference = "system" }) {
|
|
8
|
+
const { environment } = useHjmNativeTheme();
|
|
9
|
+
const opacity = useRef(new Animated.Value(1)).current;
|
|
10
|
+
const previous = useRef(stateKey);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
opacity.stopAnimation();
|
|
13
|
+
const changed = previous.current !== stateKey;
|
|
14
|
+
previous.current = stateKey;
|
|
15
|
+
if (!changed || environment.reducedMotion || preference === "none" || AppState.currentState !== "active") {
|
|
16
|
+
opacity.setValue(1);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
opacity.setValue(0);
|
|
20
|
+
const animation = Animated.timing(opacity, { toValue: 1, duration: timing.normal, useNativeDriver: true });
|
|
21
|
+
animation.start();
|
|
22
|
+
const sub = AppState.addEventListener("change", state => { if (state !== "active") {
|
|
23
|
+
animation.stop();
|
|
24
|
+
opacity.setValue(1);
|
|
25
|
+
} });
|
|
26
|
+
return () => { animation.stop(); sub.remove(); };
|
|
27
|
+
}, [stateKey, opacity, environment.reducedMotion, preference]);
|
|
28
|
+
// Keep only the current subtree; exit copies could remain touchable or spoken.
|
|
29
|
+
return _jsx(Animated.View, { style: { opacity }, children: children });
|
|
30
|
+
}
|
|
31
|
+
export function TextTransition({ text, motion: preference }) {
|
|
32
|
+
return _jsx(ContentTransition, { stateKey: text, ...(preference ? { motion: preference } : {}), children: _jsx(Text, { children: text }) });
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=content-transition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-transition.js","sourceRoot":"","sources":["../src/content-transition.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,QAAQ,EAA0B;IAC7G,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC;QAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3E,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,aAAa,IAAI,UAAU,KAAK,MAAM,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1I,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3G,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/D,+EAA+E;IAC/E,OAAO,KAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAG,QAAQ,GAAiB,CAAC;AACvE,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAgD;IACvG,OAAO,KAAC,iBAAiB,IAAC,QAAQ,EAAE,IAAI,KAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAE,KAAC,IAAI,cAAE,IAAI,GAAQ,GAAoB,CAAC;AACpI,CAAC"}
|
package/dist/date-picker.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type ComposeCalendarAccessibleName, type ResolvedCalendarDateCell } fro
|
|
|
2
2
|
import { type DatePickerDescriptor, type DatePickerSize } from "@hjmds/design-contracts/components/date-picker";
|
|
3
3
|
import { type ReactNode } from "react";
|
|
4
4
|
import { type StyleProp, type ViewStyle } from "react-native";
|
|
5
|
+
import { type SheetProps } from "./overlays.js";
|
|
5
6
|
export type DatePickerMonthAction = Readonly<{
|
|
6
7
|
month: string;
|
|
7
8
|
label: string;
|
|
@@ -18,8 +19,14 @@ export type DatePickerProps<Content = unknown> = Readonly<{
|
|
|
18
19
|
description?: string;
|
|
19
20
|
error?: string;
|
|
20
21
|
renderCellContent?: (cell: ResolvedCalendarDateCell<Content>) => ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Forwarded to the picker's Sheet. Without it the calendar's last row sat under
|
|
24
|
+
* the Android navigation bar and the call site had no way to fix it
|
|
25
|
+
* (2026-09-30 audit). Defaults to the HjmNativeProvider insets like Sheet.
|
|
26
|
+
*/
|
|
27
|
+
safeAreaInsets?: SheetProps["safeAreaInsets"];
|
|
21
28
|
style?: StyleProp<ViewStyle>;
|
|
22
29
|
}>;
|
|
23
30
|
/** Native single-date trigger backed by the canonical Sheet overlay. */
|
|
24
|
-
export declare function DatePicker<Content>({ descriptor, monthLabel, composeAccessibleName, previousMonth, nextMonth, clearLabel, closeLabel, size, description, error, renderCellContent, style, }: DatePickerProps<Content>): import("react").JSX.Element;
|
|
31
|
+
export declare function DatePicker<Content>({ descriptor, monthLabel, composeAccessibleName, previousMonth, nextMonth, clearLabel, closeLabel, size, description, error, renderCellContent, safeAreaInsets, style, }: DatePickerProps<Content>): import("react").JSX.Element;
|
|
25
32
|
//# sourceMappingURL=date-picker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAGL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACpB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAGL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACpB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI/E,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAIvD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/E,MAAM,MAAM,eAAe,CAAC,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;IACxD,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;IAC3E;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,OAAO,EAAE,EAClC,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAe,EACf,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,KAAK,GACN,EAAE,eAAe,CAAC,OAAO,CAAC,+BAmE1B"}
|
package/dist/date-picker.js
CHANGED
|
@@ -9,7 +9,7 @@ import { Sheet } from "./overlays.js";
|
|
|
9
9
|
import { Text } from "./primitives.js";
|
|
10
10
|
import { useHjmNativeTheme } from "./provider.js";
|
|
11
11
|
/** Native single-date trigger backed by the canonical Sheet overlay. */
|
|
12
|
-
export function DatePicker({ descriptor, monthLabel, composeAccessibleName, previousMonth, nextMonth, clearLabel, closeLabel, size = "medium", description, error, renderCellContent, style, }) {
|
|
12
|
+
export function DatePicker({ descriptor, monthLabel, composeAccessibleName, previousMonth, nextMonth, clearLabel, closeLabel, size = "medium", description, error, renderCellContent, safeAreaInsets, style, }) {
|
|
13
13
|
validateDatePickerDescriptor(descriptor);
|
|
14
14
|
const { colors, environment } = useHjmNativeTheme();
|
|
15
15
|
const controlledOpen = descriptor.open !== undefined;
|
|
@@ -41,6 +41,6 @@ export function DatePicker({ descriptor, monthLabel, composeAccessibleName, prev
|
|
|
41
41
|
const label = descriptor.label ?? descriptor.accessibilityLabel;
|
|
42
42
|
const triggerText = resolveDatePickerTriggerText(descriptor);
|
|
43
43
|
return (_jsxs(View, { style: [{ gap: 6 }, style], children: [descriptor.label === undefined ? null : _jsx(Text, { emphasis: "strong", variant: "label", children: descriptor.label }), _jsxs(View, { style: { alignItems: "center", direction: environment.direction, flexDirection: "row" }, children: [_jsxs(Pressable, { accessibilityLabel: descriptor.accessibilityLabel ?? `${label}, ${triggerText}`, accessibilityRole: "button", accessibilityState: { disabled: descriptor.disabled, expanded: open }, disabled: descriptor.disabled, onPress: () => !descriptor.readOnly && requestOpen(!open, "trigger"), ref: returnFocusRef, style: ({ pressed }) => ({ alignItems: "center", backgroundColor: colors.bg, borderColor: descriptor.invalid || error ? colors.danger : colors.borderControl, borderRadius: 12, borderWidth: 1, flex: 1, flexDirection: "row", gap: 8, minHeight: size === "large" ? 56 : 48, opacity: pressed ? 0.72 : 1, paddingHorizontal: size === "large" ? 20 : 16 }), children: [_jsx(Text, { accessible: false, children: "\u25A3" }), _jsx(Text, { style: { color: descriptor.displayValue === null ? colors.textMuted : colors.textBody }, children: triggerText })] }), selectedDate === null ? null : (_jsx(Pressable, { accessibilityLabel: clearLabel, accessibilityRole: "button", disabled: descriptor.disabled || descriptor.readOnly, onPress: () => commit(null, "clear"), style: ({ pressed }) => [minimumTargetStyle, { alignItems: "center", justifyContent: "center", opacity: pressed ? 0.72 : 1 }], children: _jsx(Text, { tone: "muted", children: "\u00D7" }) }))] }), description === undefined ? null : _jsx(Text, { tone: "muted", variant: "label", children: description }), error === undefined ? null : _jsx(Text, { accessibilityLiveRegion: "assertive", style: { color: colors.danger }, variant: "label", children: error }), _jsx(Sheet, { closeLabel: closeLabel, onOpenChange: (next) => { if (!next)
|
|
44
|
-
requestOpen(false, "outside"); }, open: open, returnFocusRef: returnFocusRef, title: label, children: _jsx(Calendar, { descriptor: { ...calendarDescriptor, grid: calendarGrid, monthLabel, selectedDate, onSelectionChange: (date) => commit(date, "activate") }, composeAccessibleName: composeAccessibleName, size: size, ...(previousMonth ? { previousMonth } : {}), ...(nextMonth ? { nextMonth } : {}), ...(renderCellContent ? { renderCellContent } : {}) }) })] }));
|
|
44
|
+
requestOpen(false, "outside"); }, open: open, returnFocusRef: returnFocusRef, ...(safeAreaInsets === undefined ? {} : { safeAreaInsets }), title: label, children: _jsx(Calendar, { descriptor: { ...calendarDescriptor, grid: calendarGrid, monthLabel, selectedDate, onSelectionChange: (date) => commit(date, "activate") }, composeAccessibleName: composeAccessibleName, size: size, ...(previousMonth ? { previousMonth } : {}), ...(nextMonth ? { nextMonth } : {}), ...(renderCellContent ? { renderCellContent } : {}) }) })] }));
|
|
45
45
|
}
|
|
46
46
|
//# sourceMappingURL=date-picker.js.map
|
package/dist/date-picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGN,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAI7B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGN,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAI7B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAmB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAyBlD,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAU,EAClC,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,GAAG,QAAQ,EACf,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,KAAK,GACoB;IACzB,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IACtE,MAAM,mBAAmB,GAAG,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC;IAClE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC/F,MAAM,cAAc,GAAG,MAAM,CAAO,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,MAAkC,EAAE,EAAE;QACxE,IAAI,CAAC,cAAc;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,MAA4B,EAAE,EAAE;QACnE,+EAA+E;QAC/E,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;YAAE,OAAO;QACvD,IAAI,CAAC,mBAAmB;YAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACrD,UAAU,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,WAAW,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC;IACF,+FAA+F;IAC/F,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,GAAG,UAAU,CAAC;IACxF,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;QAC7D,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QACpH,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,kBAAkB,CAAC;IAChE,MAAM,WAAW,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,aAC7B,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,YAAE,UAAU,CAAC,KAAK,GAAQ,EAC1G,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,aAC3F,MAAC,SAAS,IACR,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,GAAG,KAAK,KAAK,WAAW,EAAE,EAC/E,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EACrE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EACpE,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAE3V,KAAC,IAAI,IAAC,UAAU,EAAE,KAAK,uBAAU,EACjC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAG,WAAW,GAAQ,IACzG,EACX,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,KAAC,SAAS,IAAC,kBAAkB,EAAE,UAAU,EAAE,iBAAiB,EAAC,QAAQ,EAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAC7R,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,uBAAS,GACjB,CACb,IACI,EACN,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,YAAE,WAAW,GAAQ,EAC1F,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,uBAAuB,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAC,OAAO,YAAE,KAAK,GAAQ,EACvI,KAAC,KAAK,IACJ,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EACrE,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,KAC1B,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAC5D,KAAK,EAAE,KAAK,YAEZ,KAAC,QAAQ,IAAC,UAAU,EAAE,EAAE,GAAG,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAClJ,qBAAqB,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,KACpD,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC9E,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,GACpD,IACH,CACR,CAAC;AACJ,CAAC"}
|
package/dist/evidence.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type ReactNativeRendererEvidenceManifest = Readonly<{
|
|
|
32
32
|
export declare const reactNativeRendererEvidence: {
|
|
33
33
|
readonly schemaVersion: 2;
|
|
34
34
|
readonly packageName: "@hjmds/react-native";
|
|
35
|
-
readonly packageVersion: "1.
|
|
35
|
+
readonly packageVersion: "1.10.0";
|
|
36
36
|
readonly surface: "native";
|
|
37
37
|
readonly components: readonly [Readonly<{
|
|
38
38
|
/** Canonical component id from the design-contracts catalog. */
|
package/dist/evidence.js
CHANGED
|
@@ -129,7 +129,7 @@ function nativeActionAndLongCopyClaim(componentId, exportNames, subpath, proofFi
|
|
|
129
129
|
export const reactNativeRendererEvidence = {
|
|
130
130
|
schemaVersion: reactNativeRendererEvidenceSchemaVersion,
|
|
131
131
|
packageName: "@hjmds/react-native",
|
|
132
|
-
packageVersion: "1.
|
|
132
|
+
packageVersion: "1.10.0",
|
|
133
133
|
surface: "native",
|
|
134
134
|
components: [
|
|
135
135
|
defaultClaim("design-system-provider", ["HjmNativeProvider", "useHjmNativeTheme"], "./provider"),
|
package/dist/evidence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/feedback.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAGhB,cAAc,EAEd,KAAK,UAAU,IAAI,kBAAkB,EACrC,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAIvB,KAAK,sBAAsB,EAC5B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.tsx"],"names":[],"mappings":"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"}
|
package/dist/feedback.js
CHANGED
|
@@ -6,7 +6,7 @@ import { emptyStateRecipe, noticeRecipe, progressRecipe, skeletonRecipe, toastRe
|
|
|
6
6
|
import { resolveResultDescriptor, resultRecipe, } from "@hjmds/design-contracts/components/result";
|
|
7
7
|
import { createToastSession, createToastStore, resolveToastDescriptor, toastBehaviorDefaults, } from "@hjmds/design-contracts/components/toast";
|
|
8
8
|
import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore, } from "react";
|
|
9
|
-
import { ActivityIndicator, AccessibilityInfo, Animated, AppState, Easing, Keyboard, Platform, View, useWindowDimensions, } from "react-native";
|
|
9
|
+
import { ActivityIndicator, AccessibilityInfo, Animated, AppState, Easing, Keyboard, Platform, Pressable, View, useWindowDimensions, } from "react-native";
|
|
10
10
|
import { Button, IconButton } from "./actions.js";
|
|
11
11
|
import { Text } from "./primitives.js";
|
|
12
12
|
import { useHjmNativeTheme } from "./provider.js";
|
|
@@ -287,6 +287,7 @@ function ToastSurface({ snapshot, managedMotion = false, announces = true, suspe
|
|
|
287
287
|
exitCompleteRef.current = onExitComplete;
|
|
288
288
|
const tone = toastRecipe.tones[resolved.tone];
|
|
289
289
|
const accent = resolveColorReference(tone.accent, theme.palette);
|
|
290
|
+
const badge = resolveColorReference(tone.badge, theme.palette);
|
|
290
291
|
const background = resolveColorReference(toastRecipe.surface.background, theme.palette);
|
|
291
292
|
const border = resolveColorReference(toastRecipe.surface.border, theme.palette);
|
|
292
293
|
const pauseFocus = () => onPause("focus");
|
|
@@ -359,7 +360,7 @@ function ToastSurface({ snapshot, managedMotion = false, announces = true, suspe
|
|
|
359
360
|
width: "100%",
|
|
360
361
|
},
|
|
361
362
|
style,
|
|
362
|
-
], children: [_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
|
|
363
|
+
], children: [toastRecipe.toneMark.width > 0 ? (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
|
|
363
364
|
backgroundColor: accent,
|
|
364
365
|
borderRadius: radius[toastRecipe.toneMark.radius],
|
|
365
366
|
bottom: 0,
|
|
@@ -367,15 +368,38 @@ function ToastSurface({ snapshot, managedMotion = false, announces = true, suspe
|
|
|
367
368
|
position: "absolute",
|
|
368
369
|
top: 0,
|
|
369
370
|
width: toastRecipe.toneMark.width,
|
|
370
|
-
} }), !announces || Platform.OS === "ios" ? null : (_jsx(Text, { accessibilityLabel: resolved.announcement, accessibilityLiveRegion: resolved.priority === "high" ? "assertive" : "polite", accessibilityRole: resolved.priority === "high" ? "alert" : undefined, accessible: true, style: { height: 1, opacity: 0, position: "absolute", width: 1 }, children: resolved.announcement })), _jsxs(View, { style: {
|
|
371
|
-
|
|
371
|
+
} })) : null, !announces || Platform.OS === "ios" ? null : (_jsx(Text, { accessibilityLabel: resolved.announcement, accessibilityLiveRegion: resolved.priority === "high" ? "assertive" : "polite", accessibilityRole: resolved.priority === "high" ? "alert" : undefined, accessible: true, style: { height: 1, opacity: 0, position: "absolute", width: 1 }, children: resolved.announcement })), _jsxs(View, { style: {
|
|
372
|
+
// Start-aligned so a multi-line or large-text toast keeps its badge beside the title (Web does the same).
|
|
373
|
+
alignItems: "flex-start",
|
|
372
374
|
direction: theme.environment.direction,
|
|
373
375
|
flexDirection: "row",
|
|
374
376
|
gap: toastRecipe.surface.gap,
|
|
375
|
-
}, children: [renderedToneIcon === undefined ? null : (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
|
|
377
|
+
}, children: [renderedToneIcon === undefined ? null : (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: {
|
|
378
|
+
alignItems: "center",
|
|
379
|
+
backgroundColor: badge,
|
|
380
|
+
borderRadius: radius[toastRecipe.icon.badgeRadius],
|
|
381
|
+
flexShrink: 0,
|
|
382
|
+
height: toastRecipe.icon.badgeDiameter,
|
|
383
|
+
justifyContent: "center",
|
|
384
|
+
width: toastRecipe.icon.badgeDiameter,
|
|
385
|
+
}, children: renderedToneIcon })), _jsxs(View, { style: { alignSelf: "center", flex: 1, gap: toastRecipe.content.gap, minWidth: 0 }, children: [resolved.title ? (_jsx(Text, { style: {
|
|
376
386
|
color: resolveColorReference(toastRecipe.title.color, theme.palette),
|
|
377
387
|
fontWeight: toastRecipe.title.fontWeight,
|
|
378
|
-
}, variant: toastRecipe.title.textVariant, children: resolved.title })) : null, _jsx(Text, { style: { color: resolveColorReference(toastRecipe.description.color, theme.palette) }, variant: toastRecipe.description.textVariant, children: resolved.description })] }), _jsx(IconButton, { label: resolved.closeLabel, onBlur: resumeFocus, onFocus: pauseFocus, onPress: () => onDismiss("close-action"), children: _jsx(Text, { accessible: false, tone: "muted", variant: "title", children: "\u00D7" }) })] }), resolved.action ? (
|
|
388
|
+
}, variant: toastRecipe.title.textVariant, children: resolved.title })) : null, _jsx(Text, { style: { color: resolveColorReference(toastRecipe.description.color, theme.palette) }, variant: toastRecipe.description.textVariant, children: resolved.description })] }), _jsx(IconButton, { label: resolved.closeLabel, onBlur: resumeFocus, onFocus: pauseFocus, onPress: () => onDismiss("close-action"), children: _jsx(Text, { accessible: false, tone: "muted", variant: "title", children: "\u00D7" }) })] }), resolved.action ? (
|
|
389
|
+
// 1.10.0: tinted pill aligned to the end (toastRecipe.action) instead of a ghost text button.
|
|
390
|
+
_jsx(Pressable, { accessibilityLabel: resolved.action.accessibilityLabel, accessibilityRole: "button", onBlur: resumeFocus, onFocus: pauseFocus, onPress: onAction, style: ({ pressed }) => ({
|
|
391
|
+
alignItems: "center",
|
|
392
|
+
alignSelf: toastRecipe.action.align === "end" ? "flex-end" : "flex-start",
|
|
393
|
+
backgroundColor: resolveColorReference(toastRecipe.action.background, theme.palette),
|
|
394
|
+
borderRadius: radius[toastRecipe.action.radius],
|
|
395
|
+
justifyContent: "center",
|
|
396
|
+
minHeight: toastRecipe.action.minHeight,
|
|
397
|
+
opacity: pressed ? toastRecipe.states.pressedOpacity : 1,
|
|
398
|
+
paddingHorizontal: toastRecipe.action.paddingHorizontal,
|
|
399
|
+
}), children: _jsx(Text, { style: {
|
|
400
|
+
color: resolveColorReference(toastRecipe.action.color, theme.palette),
|
|
401
|
+
fontWeight: toastRecipe.action.fontWeight,
|
|
402
|
+
}, variant: toastRecipe.action.textVariant, children: resolved.action.label }) })) : null] }));
|
|
379
403
|
}
|
|
380
404
|
/** One Native toast driven by the same exactly-once session as a queued region. */
|
|
381
405
|
export function Toast({ descriptor, onDismiss, placement = toastRecipe.defaults.placement, renderToneIcon, style, }) {
|