@hjmds/react-native 1.1.0 → 1.2.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 +12 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +4 -2
- package/dist/actions.js.map +1 -1
- package/dist/agreement.d.ts +18 -0
- package/dist/agreement.d.ts.map +1 -0
- package/dist/agreement.js +51 -0
- package/dist/agreement.js.map +1 -0
- package/dist/asset.d.ts +27 -0
- package/dist/asset.d.ts.map +1 -0
- package/dist/asset.js +40 -0
- package/dist/asset.js.map +1 -0
- package/dist/bottom-info.d.ts +9 -0
- package/dist/bottom-info.d.ts.map +1 -0
- package/dist/bottom-info.js +16 -0
- package/dist/bottom-info.js.map +1 -0
- package/dist/calendar.d.ts +21 -0
- package/dist/calendar.d.ts.map +1 -0
- package/dist/calendar.js +63 -0
- package/dist/calendar.js.map +1 -0
- package/dist/carousel.d.ts +21 -0
- package/dist/carousel.d.ts.map +1 -0
- package/dist/carousel.js +67 -0
- package/dist/carousel.js.map +1 -0
- package/dist/collapsible.d.ts +12 -0
- package/dist/collapsible.d.ts.map +1 -0
- package/dist/collapsible.js +18 -0
- package/dist/collapsible.js.map +1 -0
- package/dist/date-picker.d.ts.map +1 -1
- package/dist/date-picker.js +12 -5
- package/dist/date-picker.js.map +1 -1
- package/dist/date-range.d.ts +23 -0
- package/dist/date-range.d.ts.map +1 -0
- package/dist/date-range.js +45 -0
- package/dist/date-range.js.map +1 -0
- package/dist/evidence.d.ts +226 -1
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +16 -1
- package/dist/evidence.js.map +1 -1
- package/dist/feedback.d.ts +10 -2
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.js +26 -3
- package/dist/feedback.js.map +1 -1
- package/dist/floating-action-button.d.ts +33 -0
- package/dist/floating-action-button.d.ts.map +1 -0
- package/dist/floating-action-button.js +53 -0
- package/dist/floating-action-button.js.map +1 -0
- package/dist/heading.d.ts +9 -0
- package/dist/heading.d.ts.map +1 -0
- package/dist/heading.js +24 -0
- package/dist/heading.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/inputs.d.ts +3 -1
- package/dist/inputs.d.ts.map +1 -1
- package/dist/inputs.js +3 -3
- package/dist/inputs.js.map +1 -1
- package/dist/keyboard.d.ts +17 -0
- package/dist/keyboard.d.ts.map +1 -0
- package/dist/keyboard.js +42 -0
- package/dist/keyboard.js.map +1 -0
- package/dist/mentions.d.ts +28 -0
- package/dist/mentions.d.ts.map +1 -0
- package/dist/mentions.js +41 -0
- package/dist/mentions.js.map +1 -0
- package/dist/provider-button.d.ts +12 -0
- package/dist/provider-button.d.ts.map +1 -0
- package/dist/provider-button.js +35 -0
- package/dist/provider-button.js.map +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +13 -4
- package/dist/provider.js.map +1 -1
- package/dist/tags-input.d.ts +23 -0
- package/dist/tags-input.d.ts.map +1 -0
- package/dist/tags-input.js +58 -0
- package/dist/tags-input.js.map +1 -0
- package/dist/toggle-group.d.ts +12 -0
- package/dist/toggle-group.d.ts.map +1 -0
- package/dist/toggle-group.js +39 -0
- package/dist/toggle-group.js.map +1 -0
- package/dist/top.d.ts +11 -0
- package/dist/top.d.ts.map +1 -0
- package/dist/top.js +30 -0
- package/dist/top.js.map +1 -0
- package/dist/transfer-list.d.ts +23 -0
- package/dist/transfer-list.d.ts.map +1 -0
- package/dist/transfer-list.js +46 -0
- package/dist/transfer-list.js.map +1 -0
- package/package.json +111 -3
package/README.md
CHANGED
|
@@ -45,6 +45,18 @@ resolved parent values. Products with a reviewed semantic palette can pass the c
|
|
|
45
45
|
`value`; runtime validation rejects missing roles and non-composable color values, while partial
|
|
46
46
|
token overrides remain unsupported.
|
|
47
47
|
|
|
48
|
+
On statically rendered Expo web, an automatic system theme uses `light` for the
|
|
49
|
+
server HTML and first hydration snapshot, then updates to the browser preference.
|
|
50
|
+
React Native Web can initialize its color-scheme hook differently on server and
|
|
51
|
+
client; using the browser value during hydration left existing surfaces light
|
|
52
|
+
while newly mounted dialogs were dark. The shared snapshot ensures React updates
|
|
53
|
+
both together using React's [hydration snapshot contract](https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering).
|
|
54
|
+
Native and client-only web roots use the OS theme immediately;
|
|
55
|
+
explicit `theme`, resolved `value`, and inherited parent settings keep precedence.
|
|
56
|
+
The [browser regression](../react/test/native-provider-hydration.browser.test.tsx)
|
|
57
|
+
uses real React server rendering and DOM hydration with an RN Web appearance
|
|
58
|
+
boundary mock, alongside the [native precedence tests](test/provider-theme.test.tsx).
|
|
59
|
+
|
|
48
60
|
The package exports include:
|
|
49
61
|
|
|
50
62
|
- foundations: `Text`, `Surface`, `Stack`, `Container`, `AspectRatio`, `Icon`, `Section`, responsive `Grid`, adaptive `Layout`
|
package/dist/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.tsx"],"names":[],"mappings":"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"}
|
package/dist/actions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { control, glyph, radius, spacing } from "@hjmds/design-contracts/foundations";
|
|
3
|
-
import {
|
|
3
|
+
import { isLargeTextScale } from "@hjmds/design-contracts/components/design-system-provider";
|
|
4
|
+
import { buttonRecipe, resolveButtonLabelLines, } from "@hjmds/design-contracts/recipes/base";
|
|
4
5
|
import { bottomCtaRecipe, iconButtonRecipe, resolveIconButtonPresentation, } from "@hjmds/design-contracts/recipes";
|
|
5
6
|
import { visibleControlHeight } from "@hjmds/design-contracts/components/design-system-provider";
|
|
6
7
|
import { resolveLinkDescriptor, } from "@hjmds/design-contracts/components/link";
|
|
@@ -11,6 +12,7 @@ import { useHjmNativeTheme } from "./provider.js";
|
|
|
11
12
|
import { minimumTargetStyle } from "./internal/styles.js";
|
|
12
13
|
export const Button = forwardRef(function Button({ label, children, tone = buttonRecipe.defaults.tone, size = buttonRecipe.defaults.size, shape = buttonRecipe.defaults.shape, align = buttonRecipe.defaults.align, selected, disabled = false, loading = false, disableWhileLoading = false, growWithContent = false, loadingLabel, leading, trailing, fullWidth = false, hitSlop, layoutStyle, style, labelStyle, renderLoadingIndicator, accessibilityLabel, accessibilityState, onPress, onLongPress, ...props }, ref) {
|
|
13
14
|
const { colors, environment } = useHjmNativeTheme();
|
|
15
|
+
const labelLines = resolveButtonLabelLines(isLargeTextScale(environment.textScale));
|
|
14
16
|
const inactive = disabled || loading;
|
|
15
17
|
const unavailable = disabled || (loading && disableWhileLoading);
|
|
16
18
|
const content = loading && loadingLabel !== undefined
|
|
@@ -56,7 +58,7 @@ export const Button = forwardRef(function Button({ label, children, tone = butto
|
|
|
56
58
|
layoutStyle,
|
|
57
59
|
], children: [loading
|
|
58
60
|
? renderLoadingIndicator?.({ color: contentColor, size: "small" }) ?? (_jsx(ActivityIndicator, { color: contentColor, size: "small" }))
|
|
59
|
-
: leading, typeof content === "string" || typeof content === "number" ? (_jsx(Text, { align: align === "leading" ? "auto" : "center", emphasis: "medium", style: [{ color: contentColor }, labelStyle], variant: sizeContract.textVariant, children: content })) : content, trailing] }));
|
|
61
|
+
: leading, typeof content === "string" || typeof content === "number" ? (_jsx(Text, { align: align === "leading" ? "auto" : "center", emphasis: "medium", ...(labelLines === null ? {} : { numberOfLines: labelLines }), style: [{ color: contentColor }, labelStyle], variant: sizeContract.textVariant, children: content })) : content, trailing] }));
|
|
60
62
|
});
|
|
61
63
|
export const IconButton = forwardRef(function IconButton({ label, accessibilityLabel, children, icon, tone = iconButtonRecipe.defaults.tone, size = iconButtonRecipe.defaults.size, shape = iconButtonRecipe.defaults.shape, selected, disabled = false, loading = false, disableWhileLoading = false, hitSlop, layoutStyle, style, renderLoadingIndicator, onPress, onLongPress, accessibilityState, ...props }, ref) {
|
|
62
64
|
const theme = useHjmNativeTheme();
|
package/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type AgreementDescriptor, type AgreementState } from "@hjmds/design-contracts/components/agreement";
|
|
2
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
3
|
+
export type AgreementProps<Id extends string = string> = Readonly<{
|
|
4
|
+
descriptor: AgreementDescriptor<Id>;
|
|
5
|
+
checkedIds?: ReadonlySet<Id>;
|
|
6
|
+
defaultCheckedIds?: ReadonlySet<Id>;
|
|
7
|
+
onCheckedIdsChange?: (ids: ReadonlySet<Id>) => void;
|
|
8
|
+
onStateChange?: (state: AgreementState<Id>) => void;
|
|
9
|
+
/** Opens one item's full text. Native has no href, so this is the only path. */
|
|
10
|
+
onDetail?: (id: Id) => void;
|
|
11
|
+
/** Localized suffix marking a required row, supplied by the product. */
|
|
12
|
+
requiredLabel: string;
|
|
13
|
+
/** Localized suffix marking an optional row, supplied by the product. */
|
|
14
|
+
optionalLabel: string;
|
|
15
|
+
style?: StyleProp<ViewStyle>;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function Agreement<Id extends string = string>({ descriptor, checkedIds: controlledChecked, defaultCheckedIds, onCheckedIdsChange, onStateChange, onDetail, requiredLabel, optionalLabel, style, }: AgreementProps<Id>): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=agreement.d.ts.map
|
|
@@ -0,0 +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;AAI/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,+BAgHpB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { agreementRecipe, reconcileAgreementSelection, resolveAgreementState, toggleAgreementAll, toggleAgreementItem, validateAgreementDescriptor, } from "@hjmds/design-contracts/components/agreement";
|
|
3
|
+
import { resolveColorReference } from "@hjmds/design-contracts/color-references";
|
|
4
|
+
import { radius, spacing } from "@hjmds/design-contracts/foundations";
|
|
5
|
+
import { useMemo, useState } from "react";
|
|
6
|
+
import { Pressable, View } from "react-native";
|
|
7
|
+
import { Text } from "./primitives.js";
|
|
8
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
9
|
+
export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCheckedIds, onCheckedIdsChange, onStateChange, onDetail, requiredLabel, optionalLabel, style, }) {
|
|
10
|
+
validateAgreementDescriptor(descriptor);
|
|
11
|
+
const theme = useHjmNativeTheme();
|
|
12
|
+
const [internal, setInternal] = useState(defaultCheckedIds ?? new Set());
|
|
13
|
+
const raw = controlledChecked ?? internal;
|
|
14
|
+
const checked = useMemo(() => reconcileAgreementSelection(descriptor, raw), [descriptor, raw]);
|
|
15
|
+
const state = resolveAgreementState(descriptor, checked);
|
|
16
|
+
const commit = (next) => {
|
|
17
|
+
if (controlledChecked === undefined)
|
|
18
|
+
setInternal(next);
|
|
19
|
+
onCheckedIdsChange?.(next);
|
|
20
|
+
onStateChange?.(resolveAgreementState(descriptor, next));
|
|
21
|
+
};
|
|
22
|
+
const markColor = resolveColorReference(agreementRecipe.item.selectedIndicator, theme.palette);
|
|
23
|
+
const borderColor = resolveColorReference(agreementRecipe.item.focus.color, theme.palette);
|
|
24
|
+
const mark = (value) => (_jsx(View, { style: {
|
|
25
|
+
alignItems: "center",
|
|
26
|
+
backgroundColor: value === false ? "transparent" : markColor,
|
|
27
|
+
borderColor: value === false ? borderColor : markColor,
|
|
28
|
+
borderRadius: radius.sm,
|
|
29
|
+
borderWidth: 1,
|
|
30
|
+
height: spacing.md,
|
|
31
|
+
justifyContent: "center",
|
|
32
|
+
width: spacing.md,
|
|
33
|
+
}, children: value === false ? null : (_jsx(Text, { style: { color: resolveColorReference(agreementRecipe.all.color, theme.palette) }, variant: "caption", children: value === "mixed" ? "–" : "✓" })) }));
|
|
34
|
+
return (_jsxs(View, { accessibilityLabel: descriptor.accessibilityLabel, accessibilityRole: "none", style: [{ gap: agreementRecipe.gap }, style], children: [_jsxs(Pressable, { accessibilityRole: "checkbox", accessibilityState: { checked: state.all === "mixed" ? "mixed" : state.all }, onPress: () => commit(toggleAgreementAll(descriptor, checked)), style: {
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
backgroundColor: resolveColorReference(agreementRecipe.all.background, theme.palette),
|
|
37
|
+
borderRadius: radius.md,
|
|
38
|
+
flexDirection: "row",
|
|
39
|
+
gap: agreementRecipe.all.gap,
|
|
40
|
+
minHeight: agreementRecipe.all.minHeight,
|
|
41
|
+
paddingHorizontal: agreementRecipe.all.paddingHorizontal,
|
|
42
|
+
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, { 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
|
+
alignItems: "center",
|
|
45
|
+
flex: 1,
|
|
46
|
+
flexDirection: "row",
|
|
47
|
+
gap: agreementRecipe.item.gap,
|
|
48
|
+
minHeight: agreementRecipe.item.minHeight,
|
|
49
|
+
}, children: [mark(checked.has(item.id)), _jsx(Text, { style: { flex: 1 }, variant: agreementRecipe.item.label.textVariant, children: `${item.label} ${item.required === true ? requiredLabel : optionalLabel}` })] }), item.detail ? (_jsx(Pressable, { accessibilityRole: "button", onPress: () => onDetail?.(item.id), style: { justifyContent: "center", minHeight: agreementRecipe.detail.minHeight, paddingHorizontal: spacing.xs }, children: _jsx(Text, { style: { color: resolveColorReference(agreementRecipe.detail.color, theme.palette), textDecorationLine: "underline" }, variant: agreementRecipe.detail.textVariant, children: item.detail.label }) })) : null] }), item.description ? (_jsx(Text, { style: { color: resolveColorReference(agreementRecipe.item.description.color, theme.palette), paddingStart: spacing.xl }, variant: agreementRecipe.item.description.textVariant, children: item.description })) : null] }, item.id)))] }));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=agreement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agreement.js","sourceRoot":"","sources":["../src/agreement.tsx"],"names":[],"mappings":"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"}
|
package/dist/asset.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type AssetDescriptor } from "@hjmds/design-contracts/components/asset";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
4
|
+
export type AssetProps = Readonly<{
|
|
5
|
+
descriptor: AssetDescriptor;
|
|
6
|
+
/**
|
|
7
|
+
* The media itself. A Lottie or video player is the product's dependency;
|
|
8
|
+
* `animate` is the already-resolved answer to "may this move right now".
|
|
9
|
+
*/
|
|
10
|
+
children: ReactNode | ((state: Readonly<{
|
|
11
|
+
animate: boolean;
|
|
12
|
+
}>) => ReactNode);
|
|
13
|
+
/** A small mark on the frame's outer corner (play, status dot). */
|
|
14
|
+
accessory?: ReactNode;
|
|
15
|
+
style?: StyleProp<ViewStyle>;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function Asset({ descriptor, children, accessory, style }: AssetProps): import("react").JSX.Element;
|
|
18
|
+
export type AssetGroupProps = Readonly<{
|
|
19
|
+
/** Accessible name for the group; the overlap alone does not say what it is. */
|
|
20
|
+
label: string;
|
|
21
|
+
size?: AssetDescriptor["size"];
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
style?: StyleProp<ViewStyle>;
|
|
24
|
+
}>;
|
|
25
|
+
/** Overlaps assets with the same ratio Avatar uses — they share a row on purpose. */
|
|
26
|
+
export declare function AssetGroup({ label, size, children, style }: AssetGroupProps): import("react").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../src/asset.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,SAAS,CAAC,CAAC;IAC7E,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,wBAAgB,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,+BA2C3E;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAgC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,+BAWvG"}
|
package/dist/asset.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { assetRecipe, shouldAnimateAsset, validateAssetDescriptor, } from "@hjmds/design-contracts/components/asset";
|
|
3
|
+
import { resolveColorReference } from "@hjmds/design-contracts/color-references";
|
|
4
|
+
import { View } from "react-native";
|
|
5
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
6
|
+
export function Asset({ descriptor, children, accessory, style }) {
|
|
7
|
+
validateAssetDescriptor(descriptor);
|
|
8
|
+
const { palette, environment } = useHjmNativeTheme();
|
|
9
|
+
const size = assetRecipe.sizes[descriptor.size ?? assetRecipe.defaults.size];
|
|
10
|
+
const shape = assetRecipe.shapes[descriptor.shape ?? assetRecipe.defaults.shape];
|
|
11
|
+
const decorative = descriptor.decorative ?? false;
|
|
12
|
+
// The frame freezes nothing itself — it has no player. It hands the one
|
|
13
|
+
// answer to the slot so the product does not re-derive the preference.
|
|
14
|
+
const animate = shouldAnimateAsset(descriptor.kind, environment.reducedMotion);
|
|
15
|
+
return (_jsxs(View, { style: [{ position: "relative" }, style], accessible: !decorative, accessibilityRole: decorative ? "none" : "image", ...(decorative
|
|
16
|
+
? { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants" }
|
|
17
|
+
: { accessibilityLabel: descriptor.accessibilityLabel }), children: [_jsx(View, { style: {
|
|
18
|
+
width: size,
|
|
19
|
+
height: size,
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
justifyContent: "center",
|
|
22
|
+
overflow: "hidden",
|
|
23
|
+
borderRadius: shape,
|
|
24
|
+
borderWidth: 1,
|
|
25
|
+
borderColor: resolveColorReference(assetRecipe.border, palette),
|
|
26
|
+
backgroundColor: resolveColorReference(assetRecipe.background, palette),
|
|
27
|
+
}, children: typeof children === "function" ? children({ animate }) : children }), accessory ? (_jsx(View
|
|
28
|
+
// Outside the frame's corner so it never covers the media's middle.
|
|
29
|
+
, {
|
|
30
|
+
// Outside the frame's corner so it never covers the media's middle.
|
|
31
|
+
style: { position: "absolute", bottom: -assetRecipe.accessory.offset, right: -assetRecipe.accessory.offset }, children: accessory })) : null] }));
|
|
32
|
+
}
|
|
33
|
+
/** Overlaps assets with the same ratio Avatar uses — they share a row on purpose. */
|
|
34
|
+
export function AssetGroup({ label, size = assetRecipe.defaults.size, children, style }) {
|
|
35
|
+
const overlap = -Math.round(assetRecipe.sizes[size] * assetRecipe.overlapRatio);
|
|
36
|
+
return (_jsx(View, { accessibilityRole: "none", accessible: true, accessibilityLabel: label, style: [{ flexDirection: "row", alignItems: "center" }, style], children: Array.isArray(children)
|
|
37
|
+
? children.map((child, index) => (_jsx(View, { style: index === 0 ? undefined : { marginStart: overlap }, children: child }, index)))
|
|
38
|
+
: children }));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../src/asset.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type BottomInfoDescriptor } from "@hjmds/design-contracts/components/bottom-info";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
4
|
+
export type BottomInfoProps = BottomInfoDescriptor & Readonly<{
|
|
5
|
+
renderItem?: (item: string, index: number) => ReactNode;
|
|
6
|
+
style?: StyleProp<ViewStyle>;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function BottomInfo({ items, tone, renderItem, style }: BottomInfoProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=bottom-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bottom-info.d.ts","sourceRoot":"","sources":["../src/bottom-info.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAChD,QAAQ,CAAC;IACP,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEL,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAqC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,eAAe,+BAmB9G"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { bottomInfoRecipe, validateBottomInfoDescriptor, } from "@hjmds/design-contracts/components/bottom-info";
|
|
3
|
+
import { resolveColorReference } from "@hjmds/design-contracts/color-references";
|
|
4
|
+
import { View } from "react-native";
|
|
5
|
+
import { Text } from "./primitives.js";
|
|
6
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
7
|
+
export function BottomInfo({ items, tone = bottomInfoRecipe.defaults.tone, renderItem, style }) {
|
|
8
|
+
validateBottomInfoDescriptor({ items, tone });
|
|
9
|
+
const theme = useHjmNativeTheme();
|
|
10
|
+
const color = resolveColorReference(bottomInfoRecipe.tones[tone], theme.palette);
|
|
11
|
+
// One line reads as a sentence; several read as a list. A bullet on a single
|
|
12
|
+
// line is noise, which is why the threshold lives in the recipe.
|
|
13
|
+
const asList = items.length >= bottomInfoRecipe.listMarkerFrom;
|
|
14
|
+
return (_jsx(View, { style: [{ gap: bottomInfoRecipe.gap, paddingTop: bottomInfoRecipe.paddingTop }, style], children: items.map((item, index) => (_jsxs(View, { style: { flexDirection: "row", gap: 4 }, children: [asList ? _jsx(Text, { style: { color }, variant: bottomInfoRecipe.textVariant, children: "\u00B7" }) : null, _jsx(Text, { style: { color, flex: 1 }, variant: bottomInfoRecipe.textVariant, children: renderItem?.(item, index) ?? item })] }, item))) }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=bottom-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bottom-info.js","sourceRoot":"","sources":["../src/bottom-info.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,gBAAgB,EAChB,4BAA4B,GAE7B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQlD,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAmB;IAC7G,4BAA4B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjF,6EAA6E;IAC7E,iEAAiE;IACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC,cAAc,CAAC;IAC/D,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,YACzF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,MAAC,IAAI,IAAY,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,aACrD,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,WAAW,uBAAU,CAAC,CAAC,CAAC,IAAI,EACxF,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,WAAW,YACnE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAC7B,KAJE,IAAI,CAKR,CACR,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ReactNode, type Ref } from "react";
|
|
2
|
+
import { type CalendarDescriptor, type CalendarSize, type ComposeCalendarAccessibleName, type ResolvedCalendarDateCell } from "@hjmds/design-contracts/components/calendar";
|
|
3
|
+
export type CalendarMonthAction = Readonly<{
|
|
4
|
+
month: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}>;
|
|
7
|
+
export type CalendarHandle = Readonly<{
|
|
8
|
+
focusDate(date: string): void;
|
|
9
|
+
}>;
|
|
10
|
+
export type CalendarProps<Content = unknown> = Readonly<{
|
|
11
|
+
descriptor: CalendarDescriptor<Content>;
|
|
12
|
+
composeAccessibleName: ComposeCalendarAccessibleName<Content>;
|
|
13
|
+
previousMonth?: CalendarMonthAction;
|
|
14
|
+
nextMonth?: CalendarMonthAction;
|
|
15
|
+
renderCellContent?: (cell: ResolvedCalendarDateCell<Content>) => ReactNode;
|
|
16
|
+
size?: CalendarSize;
|
|
17
|
+
ref?: Ref<CalendarHandle>;
|
|
18
|
+
}>;
|
|
19
|
+
/** Inline dates stay individually accessible; Native month paging uses explicit buttons. */
|
|
20
|
+
export declare function Calendar<Content>({ descriptor, composeAccessibleName, previousMonth, nextMonth, renderCellContent, size, ref }: CalendarProps<Content>): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAoD,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEnG,OAAO,EAEL,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,6BAA6B,EAAE,KAAK,wBAAwB,EAC9G,MAAM,6CAA6C,CAAC;AAMrD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IAAE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AACzE,MAAM,MAAM,aAAa,CAAC,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;IACtD,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,qBAAqB,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;IAC3E,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,SAAS,EAC7F,iBAAiB,EAAE,IAAe,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,+BAqElE"}
|
package/dist/calendar.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { typography } from "@hjmds/design-contracts/foundations";
|
|
3
|
+
import { resolveColorReference } from "@hjmds/design-contracts/color-references";
|
|
4
|
+
import { isWebRenderer, webOnly } from "./internal/web-a11y.js";
|
|
5
|
+
import { useImperativeHandle, useRef, useEffect, useState } from "react";
|
|
6
|
+
import { AccessibilityInfo, Pressable, ScrollView, View, findNodeHandle } from "react-native";
|
|
7
|
+
import { calendarRecipe as recipe, assertIsoCalendarMonth, validateCalendarDescriptor, resolveCalendarGridDescriptor, } from "@hjmds/design-contracts/components/calendar";
|
|
8
|
+
import { useControllableState } from "./internal/state.js";
|
|
9
|
+
import { minimumTargetStyle } from "./internal/styles.js";
|
|
10
|
+
import { Text } from "./primitives.js";
|
|
11
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
12
|
+
/** Inline dates stay individually accessible; Native month paging uses explicit buttons. */
|
|
13
|
+
export function Calendar({ descriptor, composeAccessibleName, previousMonth, nextMonth, renderCellContent, size = "medium", ref }) {
|
|
14
|
+
validateCalendarDescriptor(descriptor);
|
|
15
|
+
for (const action of [previousMonth, nextMonth]) {
|
|
16
|
+
if (!action)
|
|
17
|
+
continue;
|
|
18
|
+
assertIsoCalendarMonth(action.month, "month action");
|
|
19
|
+
if (!action.label.trim())
|
|
20
|
+
throw new TypeError("Calendar month action label must not be empty");
|
|
21
|
+
}
|
|
22
|
+
const { colors, environment, palette } = useHjmNativeTheme();
|
|
23
|
+
const [selected, setSelected] = useControllableState({
|
|
24
|
+
...(descriptor.selectedDate === undefined ? {} : { value: descriptor.selectedDate }),
|
|
25
|
+
defaultValue: descriptor.defaultSelectedDate ?? null,
|
|
26
|
+
...(descriptor.onSelectionChange ? { onChange: descriptor.onSelectionChange } : {}),
|
|
27
|
+
});
|
|
28
|
+
const cells = resolveCalendarGridDescriptor(descriptor.grid, selected, { composeAccessibleName });
|
|
29
|
+
const targets = useRef(new Map());
|
|
30
|
+
const pending = useRef(undefined);
|
|
31
|
+
const [request, setRequest] = useState(0);
|
|
32
|
+
useImperativeHandle(ref, () => ({ focusDate(date) { pending.current = date; setRequest((value) => value + 1); } }), []);
|
|
33
|
+
const gridKey = descriptor.grid.cells.map((cell) => cell.date ?? "").join(",");
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (!pending.current)
|
|
36
|
+
return;
|
|
37
|
+
const node = targets.current.get(pending.current);
|
|
38
|
+
// RN Web refs are DOM nodes; the native accessibility bridge cannot focus them.
|
|
39
|
+
if (node && isWebRenderer) {
|
|
40
|
+
node.focus?.();
|
|
41
|
+
pending.current = undefined;
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const handle = node ? findNodeHandle(node) : null;
|
|
45
|
+
if (handle != null) {
|
|
46
|
+
AccessibilityInfo.setAccessibilityFocus(handle);
|
|
47
|
+
pending.current = undefined;
|
|
48
|
+
}
|
|
49
|
+
}, [gridKey, request]);
|
|
50
|
+
const diameter = recipe.sizes[size].cellDiameter;
|
|
51
|
+
const nav = (action, reason) => action
|
|
52
|
+
? _jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: action.label, disabled: !descriptor.onFocusedMonthChange, accessibilityState: { disabled: !descriptor.onFocusedMonthChange }, onPress: () => descriptor.onFocusedMonthChange?.(action.month, reason), style: [minimumTargetStyle, { alignItems: "center", justifyContent: "center" }], children: _jsx(Text, { accessible: false, children: (reason === "previous") !== (environment.direction === "rtl") ? "‹" : "›" }) }) : _jsx(View, { accessible: false, style: minimumTargetStyle });
|
|
53
|
+
return _jsxs(View, { style: { gap: recipe.header.gap, direction: environment.direction }, children: [_jsxs(View, { style: { flexDirection: "row", alignItems: "center", gap: recipe.header.gap }, children: [nav(previousMonth, "previous"), _jsx(Text, { accessibilityRole: "header", accessibilityLiveRegion: "polite", variant: recipe.header.monthLabel.textVariant, emphasis: "strong", align: "center", style: { flex: 1 }, children: descriptor.monthLabel }), nav(nextMonth, "next")] }), _jsx(ScrollView, { horizontal: true, contentContainerStyle: { flexGrow: 1 }, children: _jsxs(View, { style: { flex: 1, minWidth: diameter * 7 }, children: [_jsx(View, { accessible: false, style: { flexDirection: "row" }, children: descriptor.grid.weekdayLabels.map((label, index) => _jsx(Text, { accessible: false, align: "center", tone: "muted", variant: recipe.weekdayLabel.textVariant, style: { flex: 1 }, children: label }, index)) }), Array.from({ length: cells.length / 7 }, (_, row) => _jsx(View, { style: { flexDirection: "row" }, children: cells.slice(row * 7, row * 7 + 7).map((cell, column) => "filler" in cell
|
|
54
|
+
? _jsx(View, { accessible: false, style: { flex: 1, minHeight: diameter } }, `filler-${column}`)
|
|
55
|
+
: _jsxs(Pressable, { ref: (node) => { if (node)
|
|
56
|
+
targets.current.set(cell.date, node);
|
|
57
|
+
else
|
|
58
|
+
targets.current.delete(cell.date); }, accessibilityRole: "button", accessibilityLabel: cell.accessibleName, ...webOnly({ "aria-pressed": cell.isSelected, "aria-disabled": !cell.selectable }), accessibilityState: { selected: cell.isSelected, disabled: !cell.selectable }, onPress: () => { if (cell.selectable)
|
|
59
|
+
setSelected(cell.date); }, style: { flex: 1, minWidth: diameter, minHeight: diameter, alignItems: "center", justifyContent: "flex-start",
|
|
60
|
+
borderRadius: diameter / 2,
|
|
61
|
+
opacity: !cell.selectable ? recipe.day.disabledOpacity : cell.outsideFocusedMonth ? recipe.day.outsideFocusedMonthOpacity : 1 }, children: [_jsx(View, { accessible: false, style: { width: diameter, minHeight: diameter, alignItems: "center", justifyContent: "center", borderRadius: diameter / 2, borderWidth: recipe.day.today.borderWidth, borderColor: cell.isToday ? resolveColorReference(recipe.day.today.border, palette) : "transparent", backgroundColor: cell.isSelected ? colors.primary : "transparent" }, children: _jsx(Text, { accessible: false, variant: recipe.sizes[size].textVariant, align: "center", style: { color: cell.isSelected ? colors.onPrimary : colors.textBody, fontVariant: ["tabular-nums"] }, children: Number(cell.date.slice(-2)) }) }), renderCellContent ? _jsx(View, { accessible: false, accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: { minHeight: typography.label.lineHeight * environment.textScale }, children: renderCellContent(cell) }) : null] }, cell.date)) }, row))] }) })] });
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
3
|
+
import { type CarouselSlideDescriptor, type CarouselSelection, type CarouselAutoplayConfig, type ComposeCarouselAccessibleName } from "@hjmds/design-contracts/components/carousel";
|
|
4
|
+
export type CarouselLabels = Readonly<{
|
|
5
|
+
previous: string;
|
|
6
|
+
next: string;
|
|
7
|
+
pause: string;
|
|
8
|
+
resume: string;
|
|
9
|
+
navigation: string;
|
|
10
|
+
}>;
|
|
11
|
+
export type CarouselProps = CarouselSelection & Readonly<{
|
|
12
|
+
label: string;
|
|
13
|
+
slides: readonly CarouselSlideDescriptor[];
|
|
14
|
+
renderSlide: (slide: CarouselSlideDescriptor) => ReactNode;
|
|
15
|
+
composeAccessibleName: ComposeCarouselAccessibleName;
|
|
16
|
+
labels: CarouselLabels;
|
|
17
|
+
autoplay?: CarouselAutoplayConfig;
|
|
18
|
+
style?: StyleProp<ViewStyle>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function Carousel({ label, slides, renderSlide, composeAccessibleName, labels, autoplay, currentKey, defaultCurrentKey, onCurrentKeyChange, style }: CarouselProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=carousel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../src/carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAmD,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAEL,KAAK,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EACjF,KAAK,6BAA6B,EACnC,MAAM,6CAA6C,CAAC;AAMrD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC7H,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC3C,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAC3D,qBAAqB,EAAE,6BAA6B,CAAC;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAC5F,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,aAAa,+BAyE1E"}
|
package/dist/carousel.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { AccessibilityInfo, AppState, PanResponder, View } from "react-native";
|
|
4
|
+
import { carouselRecipe, resolveCarouselDescriptor, getCarouselNavigationTarget, isCarouselAutoplayActive, } from "@hjmds/design-contracts/components/carousel";
|
|
5
|
+
import { Button } from "./actions.js";
|
|
6
|
+
import { Text } from "./primitives.js";
|
|
7
|
+
import { useHjmNativeTheme } from "./provider.js";
|
|
8
|
+
import { useControllableState } from "./internal/state.js";
|
|
9
|
+
export function Carousel({ label, slides, renderSlide, composeAccessibleName, labels, autoplay, currentKey, defaultCurrentKey, onCurrentKeyChange, style }) {
|
|
10
|
+
const { environment, tokens } = useHjmNativeTheme();
|
|
11
|
+
const [current, setCurrent] = useControllableState({
|
|
12
|
+
...(currentKey === undefined ? {} : { value: currentKey }),
|
|
13
|
+
defaultValue: defaultCurrentKey ?? slides[0]?.id ?? "",
|
|
14
|
+
...(onCurrentKeyChange === undefined ? {} : { onChange: onCurrentKeyChange }),
|
|
15
|
+
});
|
|
16
|
+
const descriptor = { slides, currentKey: current, ...(autoplay ? { autoplay } : {}) };
|
|
17
|
+
const resolved = resolveCarouselDescriptor(descriptor, { composeAccessibleName });
|
|
18
|
+
if (!label.trim() || Object.values(labels).some((value) => !value.trim()))
|
|
19
|
+
throw new TypeError("Carousel labels must not be empty");
|
|
20
|
+
const [rotating, setRotating] = useState(autoplay !== undefined);
|
|
21
|
+
const [foreground, setForeground] = useState(AppState.currentState === "active");
|
|
22
|
+
// Wait for the platform's answer before rotating: a screen reader can explore
|
|
23
|
+
// content without moving keyboard focus, so focus handlers alone are insufficient.
|
|
24
|
+
const [screenReader, setScreenReader] = useState(true);
|
|
25
|
+
const alive = useRef(true);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
alive.current = true;
|
|
28
|
+
void AccessibilityInfo.isScreenReaderEnabled().then((enabled) => { if (alive.current)
|
|
29
|
+
setScreenReader(enabled); }, () => { });
|
|
30
|
+
const reader = AccessibilityInfo.addEventListener("screenReaderChanged", setScreenReader);
|
|
31
|
+
const app = AppState.addEventListener("change", (state) => setForeground(state === "active"));
|
|
32
|
+
return () => { alive.current = false; reader.remove(); app.remove(); };
|
|
33
|
+
}, []);
|
|
34
|
+
const last = current === slides.at(-1).id;
|
|
35
|
+
const playing = isCarouselAutoplayActive(autoplay, { reducedMotion: environment.reducedMotion, paused: !rotating || !foreground || screenReader || last });
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!playing || !autoplay)
|
|
38
|
+
return;
|
|
39
|
+
const timer = setTimeout(() => setCurrent(getCarouselNavigationTarget(descriptor, "next")), autoplay.intervalMs);
|
|
40
|
+
return () => clearTimeout(timer);
|
|
41
|
+
}, [playing, autoplay?.intervalMs, current, slides, setCurrent]);
|
|
42
|
+
function select(key) {
|
|
43
|
+
setRotating(false);
|
|
44
|
+
if (key === current)
|
|
45
|
+
return;
|
|
46
|
+
setCurrent(key);
|
|
47
|
+
if (screenReader)
|
|
48
|
+
AccessibilityInfo.announceForAccessibility(resolved.find((slide) => slide.id === key).accessibleName);
|
|
49
|
+
}
|
|
50
|
+
function move(intent) { select(getCarouselNavigationTarget(descriptor, intent)); }
|
|
51
|
+
const swipe = PanResponder.create({
|
|
52
|
+
// A horizontal, deliberate gesture yields vertical scrolling and simple taps
|
|
53
|
+
// to card content. The control target token supplies the one-slide threshold.
|
|
54
|
+
onMoveShouldSetPanResponder: (_, { dx, dy }) => Math.abs(dx) > carouselRecipe.dot.hitTarget / 2 && Math.abs(dx) > Math.abs(dy),
|
|
55
|
+
onPanResponderGrant: () => setRotating(false),
|
|
56
|
+
onPanResponderRelease: (_, { dx }) => {
|
|
57
|
+
if (Math.abs(dx) >= carouselRecipe.dot.hitTarget)
|
|
58
|
+
move((dx < 0) !== (environment.direction === "rtl") ? "next" : "previous");
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
const selected = resolved.find((slide) => slide.current);
|
|
62
|
+
return _jsxs(View, { style: [{ gap: carouselRecipe.sizes.medium.gap, direction: environment.direction }, style], children: [autoplay ? _jsx(Button, { tone: "ghost", disabled: environment.reducedMotion || screenReader, onPress: () => { if (last)
|
|
63
|
+
setCurrent(slides[0].id); setRotating(!rotating || last); }, children: rotating && !last && !environment.reducedMotion && !screenReader ? labels.pause : labels.resume }) : null, _jsx(View, { ...swipe.panHandlers, onTouchStart: () => setRotating(false), onFocus: () => setRotating(false), children: resolved.map((slide) => _jsx(View, { style: slide.inert ? { display: "none" } : undefined, accessibilityElementsHidden: slide.inert, importantForAccessibility: slide.inert ? "no-hide-descendants" : "auto", pointerEvents: slide.inert ? "none" : "auto", children: renderSlide(slide) }, slide.id)) }), _jsx(View, { accessible: true, accessibilityRole: "adjustable", accessibilityLabel: `${label}: ${selected.accessibleName}`, accessibilityValue: { min: 1, max: slides.length, now: selected.position, text: selected.accessibleName }, accessibilityActions: [{ name: "increment", label: labels.next }, { name: "decrement", label: labels.previous }], onAccessibilityAction: ({ nativeEvent }) => { if (nativeEvent.actionName === "increment")
|
|
64
|
+
move("next"); if (nativeEvent.actionName === "decrement")
|
|
65
|
+
move("previous"); }, children: _jsx(Text, { align: "center", variant: "caption", children: selected.accessibleName }) }), _jsxs(View, { accessibilityLabel: labels.navigation, onFocus: () => setRotating(false), style: { flexDirection: "row", flexWrap: "wrap", gap: tokens.spacing.xs, justifyContent: "center" }, children: [_jsx(Button, { tone: "ghost", disabled: current === slides[0].id, onPress: () => move("previous"), children: labels.previous }), resolved.map((slide) => _jsx(Button, { tone: slide.current ? "secondary" : "ghost", accessibilityLabel: slide.accessibleName, accessibilityState: { selected: slide.current }, onPress: () => select(slide.id), children: String(slide.position) }, slide.id)), _jsx(Button, { tone: "ghost", disabled: last, onPress: () => move("next"), children: labels.next })] })] });
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=carousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../src/carousel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type CollapsibleOpenState } from "@hjmds/design-contracts/components/collapsible";
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
4
|
+
export type CollapsibleProps = CollapsibleOpenState & Readonly<{
|
|
5
|
+
/** The control's label; it also tells the user what will appear. */
|
|
6
|
+
trigger: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
style?: StyleProp<ViewStyle>;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function Collapsible({ trigger, children, disabled, style, ...openState }: CollapsibleProps): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=collapsible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../src/collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,QAAQ,CAAC;IACP,oEAAoE;IACpE,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEL,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAgB,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,gBAAgB,+BA8BzG"}
|