@hjmds/react-native 1.1.1 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +12 -0
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +4 -2
  4. package/dist/actions.js.map +1 -1
  5. package/dist/agreement.d.ts +18 -0
  6. package/dist/agreement.d.ts.map +1 -0
  7. package/dist/agreement.js +51 -0
  8. package/dist/agreement.js.map +1 -0
  9. package/dist/asset.d.ts +27 -0
  10. package/dist/asset.d.ts.map +1 -0
  11. package/dist/asset.js +40 -0
  12. package/dist/asset.js.map +1 -0
  13. package/dist/auth-screen.d.ts +21 -0
  14. package/dist/auth-screen.d.ts.map +1 -0
  15. package/dist/auth-screen.js +37 -0
  16. package/dist/auth-screen.js.map +1 -0
  17. package/dist/bottom-info.d.ts +9 -0
  18. package/dist/bottom-info.d.ts.map +1 -0
  19. package/dist/bottom-info.js +16 -0
  20. package/dist/bottom-info.js.map +1 -0
  21. package/dist/calendar.d.ts +21 -0
  22. package/dist/calendar.d.ts.map +1 -0
  23. package/dist/calendar.js +63 -0
  24. package/dist/calendar.js.map +1 -0
  25. package/dist/carousel.d.ts +21 -0
  26. package/dist/carousel.d.ts.map +1 -0
  27. package/dist/carousel.js +67 -0
  28. package/dist/carousel.js.map +1 -0
  29. package/dist/collapsible.d.ts +12 -0
  30. package/dist/collapsible.d.ts.map +1 -0
  31. package/dist/collapsible.js +18 -0
  32. package/dist/collapsible.js.map +1 -0
  33. package/dist/date-picker.d.ts.map +1 -1
  34. package/dist/date-picker.js +12 -5
  35. package/dist/date-picker.js.map +1 -1
  36. package/dist/date-range.d.ts +23 -0
  37. package/dist/date-range.d.ts.map +1 -0
  38. package/dist/date-range.js +45 -0
  39. package/dist/date-range.js.map +1 -0
  40. package/dist/evidence.d.ts +241 -1
  41. package/dist/evidence.d.ts.map +1 -1
  42. package/dist/evidence.js +17 -1
  43. package/dist/evidence.js.map +1 -1
  44. package/dist/feedback.d.ts +10 -2
  45. package/dist/feedback.d.ts.map +1 -1
  46. package/dist/feedback.js +26 -3
  47. package/dist/feedback.js.map +1 -1
  48. package/dist/floating-action-button.d.ts +33 -0
  49. package/dist/floating-action-button.d.ts.map +1 -0
  50. package/dist/floating-action-button.js +53 -0
  51. package/dist/floating-action-button.js.map +1 -0
  52. package/dist/heading.d.ts +9 -0
  53. package/dist/heading.d.ts.map +1 -0
  54. package/dist/heading.js +24 -0
  55. package/dist/heading.js.map +1 -0
  56. package/dist/index.d.ts +17 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +17 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/inputs.d.ts +3 -1
  61. package/dist/inputs.d.ts.map +1 -1
  62. package/dist/inputs.js +3 -3
  63. package/dist/inputs.js.map +1 -1
  64. package/dist/keyboard.d.ts +17 -0
  65. package/dist/keyboard.d.ts.map +1 -0
  66. package/dist/keyboard.js +42 -0
  67. package/dist/keyboard.js.map +1 -0
  68. package/dist/mentions.d.ts +28 -0
  69. package/dist/mentions.d.ts.map +1 -0
  70. package/dist/mentions.js +41 -0
  71. package/dist/mentions.js.map +1 -0
  72. package/dist/provider-button.d.ts +12 -0
  73. package/dist/provider-button.d.ts.map +1 -0
  74. package/dist/provider-button.js +35 -0
  75. package/dist/provider-button.js.map +1 -0
  76. package/dist/provider.d.ts.map +1 -1
  77. package/dist/provider.js +13 -4
  78. package/dist/provider.js.map +1 -1
  79. package/dist/tags-input.d.ts +23 -0
  80. package/dist/tags-input.d.ts.map +1 -0
  81. package/dist/tags-input.js +58 -0
  82. package/dist/tags-input.js.map +1 -0
  83. package/dist/toggle-group.d.ts +12 -0
  84. package/dist/toggle-group.d.ts.map +1 -0
  85. package/dist/toggle-group.js +39 -0
  86. package/dist/toggle-group.js.map +1 -0
  87. package/dist/top.d.ts +11 -0
  88. package/dist/top.d.ts.map +1 -0
  89. package/dist/top.js +30 -0
  90. package/dist/top.js.map +1 -0
  91. package/dist/transfer-list.d.ts +23 -0
  92. package/dist/transfer-list.d.ts.map +1 -0
  93. package/dist/transfer-list.js +46 -0
  94. package/dist/transfer-list.js.map +1 -0
  95. package/package.json +117 -3
@@ -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"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { collapsibleRecipe, validateCollapsibleOpenState, } from "@hjmds/design-contracts/components/collapsible";
3
+ import { useState } from "react";
4
+ import { Pressable, View } from "react-native";
5
+ import { Text } from "./primitives.js";
6
+ export function Collapsible({ trigger, children, disabled = false, style, ...openState }) {
7
+ validateCollapsibleOpenState(openState);
8
+ const controlled = openState.open !== undefined;
9
+ const [internalOpen, setInternalOpen] = useState(openState.defaultOpen ?? false);
10
+ const open = openState.open ?? internalOpen;
11
+ return (_jsxs(View, { style: [{ gap: collapsibleRecipe.gap }, style], children: [_jsxs(Pressable, { accessibilityRole: "button", accessibilityState: { expanded: open, disabled }, disabled: disabled, onPress: () => {
12
+ const next = !open;
13
+ if (!controlled)
14
+ setInternalOpen(next);
15
+ openState.onOpenChange?.(next);
16
+ }, style: { flexDirection: "row", alignItems: "center", justifyContent: "space-between", gap: collapsibleRecipe.gap }, children: [typeof trigger === "string" ? _jsx(Text, { children: trigger }) : trigger, _jsx(Text, { accessibilityElementsHidden: true, importantForAccessibility: "no", children: open ? "▾" : "▸" })] }), open ? _jsx(View, { children: children }) : null] }));
17
+ }
18
+ //# sourceMappingURL=collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.js","sourceRoot":"","sources":["../src/collapsible.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAE7B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAWvC,MAAM,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,EAAoB;IACxG,4BAA4B,CAAC,SAAiC,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC;IAC5C,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,aAClD,MAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAChD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;oBACnB,IAAI,CAAC,UAAU;wBAAE,eAAe,CAAC,IAAI,CAAC,CAAC;oBACvC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,iBAAiB,CAAC,GAAG,EAAE,aAEjH,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,OAAO,EAE/D,KAAC,IAAI,IAAC,2BAA2B,QAAC,yBAAyB,EAAC,IAAI,YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,IAChF,EAMX,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,QAAQ,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjC,CACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAIL,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;AAO/E,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,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,KAAK,GACN,EAAE,eAAe,CAAC,OAAO,CAAC,+BA0F1B"}
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;AAQ/E,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,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,KAAK,GACN,EAAE,eAAe,CAAC,OAAO,CAAC,+BAkE1B"}
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { calendarRecipe, } from "@hjmds/design-contracts/components/calendar";
3
- import { resolveDatePickerGrid, resolveDatePickerTriggerText, validateDatePickerDescriptor, } from "@hjmds/design-contracts/components/date-picker";
2
+ import {} from "@hjmds/design-contracts/components/calendar";
3
+ import { resolveDatePickerTriggerText, validateDatePickerDescriptor, } from "@hjmds/design-contracts/components/date-picker";
4
4
  import { useRef, useState } from "react";
5
5
  import { Pressable, View } from "react-native";
6
+ import { Calendar } from "./calendar.js";
6
7
  import { minimumTargetStyle } from "./internal/styles.js";
7
8
  import { Sheet } from "./overlays.js";
8
9
  import { Text } from "./primitives.js";
@@ -17,7 +18,6 @@ export function DatePicker({ descriptor, monthLabel, composeAccessibleName, prev
17
18
  const controlledSelection = descriptor.selectedDate !== undefined;
18
19
  const [internalSelection, setInternalSelection] = useState(descriptor.defaultSelectedDate ?? null);
19
20
  const selectedDate = controlledSelection ? descriptor.selectedDate ?? null : internalSelection;
20
- const cells = resolveDatePickerGrid({ ...descriptor, selectedDate }, { composeAccessibleName });
21
21
  const returnFocusRef = useRef(null);
22
22
  const requestOpen = (next, reason) => {
23
23
  if (!controlledOpen)
@@ -25,15 +25,22 @@ export function DatePicker({ descriptor, monthLabel, composeAccessibleName, prev
25
25
  descriptor.onOpenChange?.(next, reason);
26
26
  };
27
27
  const commit = (date, reason) => {
28
+ // A controlled open field can become read-only while its grid remains mounted.
29
+ if (descriptor.disabled || descriptor.readOnly)
30
+ return;
28
31
  if (!controlledSelection)
29
32
  setInternalSelection(date);
30
33
  descriptor.onSelectionChange?.(date, reason);
31
34
  requestOpen(false, reason === "activate" ? "selection" : "clear");
32
35
  };
36
+ // The outer field owns selection; the shared grid receives only its resolved controlled value.
37
+ const { defaultSelectedDate: _defaultSelectedDate, ...calendarDescriptor } = descriptor;
38
+ const calendarGrid = descriptor.disabled || descriptor.readOnly
39
+ ? { ...descriptor.grid, cells: descriptor.grid.cells.map((cell) => cell.date ? { ...cell, disabled: true } : cell) }
40
+ : descriptor.grid;
33
41
  const label = descriptor.label ?? descriptor.accessibilityLabel;
34
42
  const triggerText = resolveDatePickerTriggerText(descriptor);
35
- const sizeMetrics = calendarRecipe.sizes[size];
36
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.surface, borderColor: descriptor.invalid || error ? colors.danger : colors.border, 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)
37
- requestOpen(false, "outside"); }, open: open, returnFocusRef: returnFocusRef, title: monthLabel, children: _jsxs(View, { style: { gap: 8 }, children: [_jsxs(View, { style: { alignItems: "center", flexDirection: "row", gap: 4 }, children: [previousMonth === undefined ? _jsx(View, { accessible: false, style: minimumTargetStyle }) : _jsx(Pressable, { accessibilityLabel: previousMonth.label, accessibilityRole: "button", onPress: () => descriptor.onFocusedMonthChange?.(previousMonth.month, "previous"), style: ({ pressed }) => [minimumTargetStyle, { alignItems: "center", justifyContent: "center", opacity: pressed ? 0.72 : 1 }], children: _jsx(Text, { children: "\u2039" }) }), _jsx(Text, { align: "center", emphasis: "strong", style: { flex: 1 }, variant: "title", children: monthLabel }), nextMonth === undefined ? _jsx(View, { accessible: false, style: minimumTargetStyle }) : _jsx(Pressable, { accessibilityLabel: nextMonth.label, accessibilityRole: "button", onPress: () => descriptor.onFocusedMonthChange?.(nextMonth.month, "next"), style: ({ pressed }) => [minimumTargetStyle, { alignItems: "center", justifyContent: "center", opacity: pressed ? 0.72 : 1 }], children: _jsx(Text, { children: "\u203A" }) })] }), _jsx(View, { accessible: false, style: { flexDirection: "row" }, children: descriptor.grid.weekdayLabels.map((weekday, index) => _jsx(Text, { align: "center", style: { flex: 1 }, tone: "muted", variant: "label", children: weekday }, `${weekday}-${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 ? (_jsx(View, { accessible: false, style: { flex: 1, height: sizeMetrics.cellDiameter } }, `filler-${row}-${column}`)) : (_jsx(View, { style: { alignItems: "center", flex: 1 }, children: _jsxs(Pressable, { accessibilityLabel: cell.accessibleName, accessibilityRole: "button", accessibilityState: { disabled: !cell.selectable, selected: cell.isSelected }, onPress: () => cell.selectable && commit(cell.date, "activate"), style: ({ pressed }) => ({ alignItems: "center", backgroundColor: cell.isSelected ? colors.primary : "transparent", borderColor: cell.isToday ? colors.contentBrand : "transparent", borderRadius: sizeMetrics.cellDiameter / 2, borderWidth: cell.isToday ? 1 : 0, height: sizeMetrics.cellDiameter, justifyContent: "center", opacity: !cell.selectable ? 0.4 : cell.outsideFocusedMonth ? 0.56 : pressed ? 0.72 : 1, width: sizeMetrics.cellDiameter }), children: [_jsx(Text, { align: "center", style: { color: cell.isSelected ? colors.onPrimary : colors.textBody }, children: Number(cell.date.slice(-2)) }), renderCellContent?.(cell)] }) }, cell.date))) }, row)))] }) })] }));
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 } : {}) }) })] }));
38
45
  }
39
46
  //# sourceMappingURL=date-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type DateRangeValue } from "@hjmds/design-contracts/components/date-range";
2
+ import type { CalendarDescriptor, ComposeCalendarAccessibleName } from "@hjmds/design-contracts/components/calendar";
3
+ import type { ReactNode } from "react";
4
+ import { type CalendarMonthAction } from "./calendar.js";
5
+ export type DateRangePickerProps<Content = unknown> = Readonly<{
6
+ /** The same grid Calendar renders; the product still owns month data. */
7
+ descriptor: Omit<CalendarDescriptor<Content>, "selectedDate" | "defaultSelectedDate" | "onSelectionChange">;
8
+ composeAccessibleName: ComposeCalendarAccessibleName<Content>;
9
+ value?: DateRangeValue;
10
+ defaultValue?: DateRangeValue;
11
+ onValueChange?: (value: DateRangeValue) => void;
12
+ previousMonth?: CalendarMonthAction;
13
+ nextMonth?: CalendarMonthAction;
14
+ /** Localized suffixes appended to a day's name when it is a range edge. */
15
+ rangeLabels: Readonly<{
16
+ start: string;
17
+ end: string;
18
+ between: string;
19
+ }>;
20
+ renderCellContent?: (date: string) => ReactNode;
21
+ }>;
22
+ export declare function DateRangePicker<Content = unknown>({ descriptor, composeAccessibleName, value: controlledValue, defaultValue, onValueChange, previousMonth, nextMonth, rangeLabels, renderCellContent, }: DateRangePickerProps<Content>): import("react").JSX.Element;
23
+ //# sourceMappingURL=date-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range.d.ts","sourceRoot":"","sources":["../src/date-range.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAInE,MAAM,MAAM,oBAAoB,CAAC,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;IAC7D,yEAAyE;IACzE,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC5G,qBAAqB,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,2EAA2E;IAC3E,WAAW,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;CACjD,CAAC,CAAC;AAEH,wBAAgB,eAAe,CAAC,OAAO,GAAG,OAAO,EAAE,EACjD,UAAU,EACV,qBAAqB,EACrB,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,GAClB,EAAE,oBAAoB,CAAC,OAAO,CAAC,+BAiD/B"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { emptyDateRange, isCompleteDateRange, resolveDateRangeCellState, resolveDateRangeSelection, validateDateRange, } from "@hjmds/design-contracts/components/date-range";
3
+ import { spacing } from "@hjmds/design-contracts/foundations";
4
+ import { View } from "react-native";
5
+ import { Calendar } from "./calendar.js";
6
+ import { useControllableState } from "./internal/state.js";
7
+ import { useHjmNativeTheme } from "./provider.js";
8
+ export function DateRangePicker({ descriptor, composeAccessibleName, value: controlledValue, defaultValue, onValueChange, previousMonth, nextMonth, rangeLabels, renderCellContent, }) {
9
+ const [value, setValue] = useControllableState({
10
+ ...(controlledValue === undefined ? {} : { value: controlledValue }),
11
+ defaultValue: defaultValue ?? emptyDateRange,
12
+ ...(onValueChange === undefined ? {} : { onChange: onValueChange }),
13
+ });
14
+ validateDateRange(value);
15
+ const { colors } = useHjmNativeTheme();
16
+ const edge = colors.contentBrand;
17
+ return (_jsx(Calendar, { descriptor: {
18
+ ...descriptor,
19
+ // Calendar keeps single selection. There is no hover on a phone, so the
20
+ // range's edges live only in each day's name — the one channel a screen
21
+ // reader and a sighted user both get here.
22
+ selectedDate: value.end ?? value.start,
23
+ onSelectionChange: (date) => { if (date !== null)
24
+ setValue(resolveDateRangeSelection(value, date)); },
25
+ }, composeAccessibleName: (info) => {
26
+ const state = resolveDateRangeCellState(value, info.date, null);
27
+ const base = composeAccessibleName(info);
28
+ return state === "none" ? base : `${base}, ${rangeLabels[state]}`;
29
+ }, ...(previousMonth === undefined ? {} : { previousMonth }), ...(nextMonth === undefined ? {} : { nextMonth }), renderCellContent: (cell) => {
30
+ const state = resolveDateRangeCellState(value, cell.date, null);
31
+ if (state === "none")
32
+ return renderCellContent?.(cell.date) ?? null;
33
+ // No CSS band on native, and no hover to preview one. A dot under the
34
+ // day is the visual channel that survives; the name carries the rest.
35
+ return (_jsxs(View, { style: { alignItems: "center", gap: spacing.xxs }, children: [renderCellContent?.(cell.date) ?? null, _jsx(View, { style: {
36
+ width: state === "between" ? 4 : 6,
37
+ height: state === "between" ? 4 : 6,
38
+ borderRadius: 999,
39
+ backgroundColor: edge,
40
+ // A half-built range is not the same as a chosen one.
41
+ opacity: isCompleteDateRange(value) ? 1 : 0.5,
42
+ } })] }));
43
+ } }));
44
+ }
45
+ //# sourceMappingURL=date-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range.js","sourceRoot":"","sources":["../src/date-range.tsx"],"names":[],"mappings":"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"}
@@ -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.1.1";
35
+ readonly packageVersion: "1.3.4";
36
36
  readonly surface: "native";
37
37
  readonly components: readonly [Readonly<{
38
38
  /** Canonical component id from the design-contracts catalog. */
@@ -979,6 +979,246 @@ export declare const reactNativeRendererEvidence: {
979
979
  file: `test/${string}.test.tsx`;
980
980
  caseId: string;
981
981
  }>[];
982
+ }>, Readonly<{
983
+ /** Canonical component id from the design-contracts catalog. */
984
+ componentId: string;
985
+ /** Public symbols that implement this contract on the declared subpath. */
986
+ exportNames: readonly string[];
987
+ /** Granular @hjmds/react-native export used by consumers. */
988
+ subpath: `./${string}`;
989
+ /** Scenarios supported by automated first-party renderer evidence. */
990
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
991
+ /** Repository-local executable proof for every claimed scenario. */
992
+ proofs: readonly Readonly<{
993
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
994
+ file: `test/${string}.test.tsx`;
995
+ caseId: string;
996
+ }>[];
997
+ }>, Readonly<{
998
+ /** Canonical component id from the design-contracts catalog. */
999
+ componentId: string;
1000
+ /** Public symbols that implement this contract on the declared subpath. */
1001
+ exportNames: readonly string[];
1002
+ /** Granular @hjmds/react-native export used by consumers. */
1003
+ subpath: `./${string}`;
1004
+ /** Scenarios supported by automated first-party renderer evidence. */
1005
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1006
+ /** Repository-local executable proof for every claimed scenario. */
1007
+ proofs: readonly Readonly<{
1008
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1009
+ file: `test/${string}.test.tsx`;
1010
+ caseId: string;
1011
+ }>[];
1012
+ }>, Readonly<{
1013
+ /** Canonical component id from the design-contracts catalog. */
1014
+ componentId: string;
1015
+ /** Public symbols that implement this contract on the declared subpath. */
1016
+ exportNames: readonly string[];
1017
+ /** Granular @hjmds/react-native export used by consumers. */
1018
+ subpath: `./${string}`;
1019
+ /** Scenarios supported by automated first-party renderer evidence. */
1020
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1021
+ /** Repository-local executable proof for every claimed scenario. */
1022
+ proofs: readonly Readonly<{
1023
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1024
+ file: `test/${string}.test.tsx`;
1025
+ caseId: string;
1026
+ }>[];
1027
+ }>, Readonly<{
1028
+ /** Canonical component id from the design-contracts catalog. */
1029
+ componentId: string;
1030
+ /** Public symbols that implement this contract on the declared subpath. */
1031
+ exportNames: readonly string[];
1032
+ /** Granular @hjmds/react-native export used by consumers. */
1033
+ subpath: `./${string}`;
1034
+ /** Scenarios supported by automated first-party renderer evidence. */
1035
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1036
+ /** Repository-local executable proof for every claimed scenario. */
1037
+ proofs: readonly Readonly<{
1038
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1039
+ file: `test/${string}.test.tsx`;
1040
+ caseId: string;
1041
+ }>[];
1042
+ }>, Readonly<{
1043
+ /** Canonical component id from the design-contracts catalog. */
1044
+ componentId: string;
1045
+ /** Public symbols that implement this contract on the declared subpath. */
1046
+ exportNames: readonly string[];
1047
+ /** Granular @hjmds/react-native export used by consumers. */
1048
+ subpath: `./${string}`;
1049
+ /** Scenarios supported by automated first-party renderer evidence. */
1050
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1051
+ /** Repository-local executable proof for every claimed scenario. */
1052
+ proofs: readonly Readonly<{
1053
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1054
+ file: `test/${string}.test.tsx`;
1055
+ caseId: string;
1056
+ }>[];
1057
+ }>, Readonly<{
1058
+ /** Canonical component id from the design-contracts catalog. */
1059
+ componentId: string;
1060
+ /** Public symbols that implement this contract on the declared subpath. */
1061
+ exportNames: readonly string[];
1062
+ /** Granular @hjmds/react-native export used by consumers. */
1063
+ subpath: `./${string}`;
1064
+ /** Scenarios supported by automated first-party renderer evidence. */
1065
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1066
+ /** Repository-local executable proof for every claimed scenario. */
1067
+ proofs: readonly Readonly<{
1068
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1069
+ file: `test/${string}.test.tsx`;
1070
+ caseId: string;
1071
+ }>[];
1072
+ }>, Readonly<{
1073
+ /** Canonical component id from the design-contracts catalog. */
1074
+ componentId: string;
1075
+ /** Public symbols that implement this contract on the declared subpath. */
1076
+ exportNames: readonly string[];
1077
+ /** Granular @hjmds/react-native export used by consumers. */
1078
+ subpath: `./${string}`;
1079
+ /** Scenarios supported by automated first-party renderer evidence. */
1080
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1081
+ /** Repository-local executable proof for every claimed scenario. */
1082
+ proofs: readonly Readonly<{
1083
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1084
+ file: `test/${string}.test.tsx`;
1085
+ caseId: string;
1086
+ }>[];
1087
+ }>, Readonly<{
1088
+ /** Canonical component id from the design-contracts catalog. */
1089
+ componentId: string;
1090
+ /** Public symbols that implement this contract on the declared subpath. */
1091
+ exportNames: readonly string[];
1092
+ /** Granular @hjmds/react-native export used by consumers. */
1093
+ subpath: `./${string}`;
1094
+ /** Scenarios supported by automated first-party renderer evidence. */
1095
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1096
+ /** Repository-local executable proof for every claimed scenario. */
1097
+ proofs: readonly Readonly<{
1098
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1099
+ file: `test/${string}.test.tsx`;
1100
+ caseId: string;
1101
+ }>[];
1102
+ }>, Readonly<{
1103
+ /** Canonical component id from the design-contracts catalog. */
1104
+ componentId: string;
1105
+ /** Public symbols that implement this contract on the declared subpath. */
1106
+ exportNames: readonly string[];
1107
+ /** Granular @hjmds/react-native export used by consumers. */
1108
+ subpath: `./${string}`;
1109
+ /** Scenarios supported by automated first-party renderer evidence. */
1110
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1111
+ /** Repository-local executable proof for every claimed scenario. */
1112
+ proofs: readonly Readonly<{
1113
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1114
+ file: `test/${string}.test.tsx`;
1115
+ caseId: string;
1116
+ }>[];
1117
+ }>, Readonly<{
1118
+ /** Canonical component id from the design-contracts catalog. */
1119
+ componentId: string;
1120
+ /** Public symbols that implement this contract on the declared subpath. */
1121
+ exportNames: readonly string[];
1122
+ /** Granular @hjmds/react-native export used by consumers. */
1123
+ subpath: `./${string}`;
1124
+ /** Scenarios supported by automated first-party renderer evidence. */
1125
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1126
+ /** Repository-local executable proof for every claimed scenario. */
1127
+ proofs: readonly Readonly<{
1128
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1129
+ file: `test/${string}.test.tsx`;
1130
+ caseId: string;
1131
+ }>[];
1132
+ }>, Readonly<{
1133
+ /** Canonical component id from the design-contracts catalog. */
1134
+ componentId: string;
1135
+ /** Public symbols that implement this contract on the declared subpath. */
1136
+ exportNames: readonly string[];
1137
+ /** Granular @hjmds/react-native export used by consumers. */
1138
+ subpath: `./${string}`;
1139
+ /** Scenarios supported by automated first-party renderer evidence. */
1140
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1141
+ /** Repository-local executable proof for every claimed scenario. */
1142
+ proofs: readonly Readonly<{
1143
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1144
+ file: `test/${string}.test.tsx`;
1145
+ caseId: string;
1146
+ }>[];
1147
+ }>, Readonly<{
1148
+ /** Canonical component id from the design-contracts catalog. */
1149
+ componentId: string;
1150
+ /** Public symbols that implement this contract on the declared subpath. */
1151
+ exportNames: readonly string[];
1152
+ /** Granular @hjmds/react-native export used by consumers. */
1153
+ subpath: `./${string}`;
1154
+ /** Scenarios supported by automated first-party renderer evidence. */
1155
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1156
+ /** Repository-local executable proof for every claimed scenario. */
1157
+ proofs: readonly Readonly<{
1158
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1159
+ file: `test/${string}.test.tsx`;
1160
+ caseId: string;
1161
+ }>[];
1162
+ }>, Readonly<{
1163
+ /** Canonical component id from the design-contracts catalog. */
1164
+ componentId: string;
1165
+ /** Public symbols that implement this contract on the declared subpath. */
1166
+ exportNames: readonly string[];
1167
+ /** Granular @hjmds/react-native export used by consumers. */
1168
+ subpath: `./${string}`;
1169
+ /** Scenarios supported by automated first-party renderer evidence. */
1170
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1171
+ /** Repository-local executable proof for every claimed scenario. */
1172
+ proofs: readonly Readonly<{
1173
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1174
+ file: `test/${string}.test.tsx`;
1175
+ caseId: string;
1176
+ }>[];
1177
+ }>, Readonly<{
1178
+ /** Canonical component id from the design-contracts catalog. */
1179
+ componentId: string;
1180
+ /** Public symbols that implement this contract on the declared subpath. */
1181
+ exportNames: readonly string[];
1182
+ /** Granular @hjmds/react-native export used by consumers. */
1183
+ subpath: `./${string}`;
1184
+ /** Scenarios supported by automated first-party renderer evidence. */
1185
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1186
+ /** Repository-local executable proof for every claimed scenario. */
1187
+ proofs: readonly Readonly<{
1188
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1189
+ file: `test/${string}.test.tsx`;
1190
+ caseId: string;
1191
+ }>[];
1192
+ }>, Readonly<{
1193
+ /** Canonical component id from the design-contracts catalog. */
1194
+ componentId: string;
1195
+ /** Public symbols that implement this contract on the declared subpath. */
1196
+ exportNames: readonly string[];
1197
+ /** Granular @hjmds/react-native export used by consumers. */
1198
+ subpath: `./${string}`;
1199
+ /** Scenarios supported by automated first-party renderer evidence. */
1200
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1201
+ /** Repository-local executable proof for every claimed scenario. */
1202
+ proofs: readonly Readonly<{
1203
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1204
+ file: `test/${string}.test.tsx`;
1205
+ caseId: string;
1206
+ }>[];
1207
+ }>, Readonly<{
1208
+ /** Canonical component id from the design-contracts catalog. */
1209
+ componentId: string;
1210
+ /** Public symbols that implement this contract on the declared subpath. */
1211
+ exportNames: readonly string[];
1212
+ /** Granular @hjmds/react-native export used by consumers. */
1213
+ subpath: `./${string}`;
1214
+ /** Scenarios supported by automated first-party renderer evidence. */
1215
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1216
+ /** Repository-local executable proof for every claimed scenario. */
1217
+ proofs: readonly Readonly<{
1218
+ scenarios: readonly ReactNativeRendererEvidenceScenario[];
1219
+ file: `test/${string}.test.tsx`;
1220
+ caseId: string;
1221
+ }>[];
982
1222
  }>];
983
1223
  };
984
1224
  //# sourceMappingURL=evidence.d.ts.map