@hjmds/react-native 1.12.1 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/README.md +15 -0
  2. package/dist/actions.d.ts +30 -2
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +28 -5
  5. package/dist/actions.js.map +1 -1
  6. package/dist/agreement.d.ts +8 -1
  7. package/dist/agreement.d.ts.map +1 -1
  8. package/dist/agreement.js +16 -3
  9. package/dist/agreement.js.map +1 -1
  10. package/dist/asset.d.ts +15 -2
  11. package/dist/asset.d.ts.map +1 -1
  12. package/dist/asset.js +7 -4
  13. package/dist/asset.js.map +1 -1
  14. package/dist/bottom-info.d.ts +8 -1
  15. package/dist/bottom-info.d.ts.map +1 -1
  16. package/dist/bottom-info.js +4 -2
  17. package/dist/bottom-info.js.map +1 -1
  18. package/dist/calendar.d.ts +3 -1
  19. package/dist/calendar.d.ts.map +1 -1
  20. package/dist/calendar.js +2 -2
  21. package/dist/calendar.js.map +1 -1
  22. package/dist/carousel.d.ts +8 -1
  23. package/dist/carousel.d.ts.map +1 -1
  24. package/dist/carousel.js +4 -2
  25. package/dist/carousel.js.map +1 -1
  26. package/dist/collapsible.d.ts +8 -1
  27. package/dist/collapsible.d.ts.map +1 -1
  28. package/dist/collapsible.js +9 -3
  29. package/dist/collapsible.js.map +1 -1
  30. package/dist/data-display.d.ts +146 -13
  31. package/dist/data-display.d.ts.map +1 -1
  32. package/dist/data-display.js +58 -29
  33. package/dist/data-display.js.map +1 -1
  34. package/dist/date-picker.d.ts +8 -1
  35. package/dist/date-picker.d.ts.map +1 -1
  36. package/dist/date-picker.js +10 -3
  37. package/dist/date-picker.js.map +1 -1
  38. package/dist/duration-field.d.ts +4 -1
  39. package/dist/duration-field.d.ts.map +1 -1
  40. package/dist/duration-field.js +2 -2
  41. package/dist/duration-field.js.map +1 -1
  42. package/dist/evidence.d.ts +1 -1
  43. package/dist/evidence.js +1 -1
  44. package/dist/feedback.d.ts +89 -14
  45. package/dist/feedback.d.ts.map +1 -1
  46. package/dist/feedback.js +25 -16
  47. package/dist/feedback.js.map +1 -1
  48. package/dist/file-picker.d.ts +8 -1
  49. package/dist/file-picker.d.ts.map +1 -1
  50. package/dist/file-picker.js +4 -2
  51. package/dist/file-picker.js.map +1 -1
  52. package/dist/forms.d.ts +28 -4
  53. package/dist/forms.d.ts.map +1 -1
  54. package/dist/forms.js +19 -8
  55. package/dist/forms.js.map +1 -1
  56. package/dist/heading.d.ts +8 -1
  57. package/dist/heading.d.ts.map +1 -1
  58. package/dist/heading.js +4 -2
  59. package/dist/heading.js.map +1 -1
  60. package/dist/image-viewer.d.ts.map +1 -1
  61. package/dist/image-viewer.js +11 -3
  62. package/dist/image-viewer.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/inputs.d.ts +66 -3
  67. package/dist/inputs.d.ts.map +1 -1
  68. package/dist/inputs.js +135 -49
  69. package/dist/inputs.js.map +1 -1
  70. package/dist/internal/deprecated-style.d.ts +8 -0
  71. package/dist/internal/deprecated-style.d.ts.map +1 -0
  72. package/dist/internal/deprecated-style.js +34 -0
  73. package/dist/internal/deprecated-style.js.map +1 -0
  74. package/dist/internal/field-frame.d.ts +2 -1
  75. package/dist/internal/field-frame.d.ts.map +1 -1
  76. package/dist/internal/field-frame.js +4 -2
  77. package/dist/internal/field-frame.js.map +1 -1
  78. package/dist/internal/field-private.d.ts +11 -0
  79. package/dist/internal/field-private.d.ts.map +1 -0
  80. package/dist/internal/field-private.js +2 -0
  81. package/dist/internal/field-private.js.map +1 -0
  82. package/dist/internal/list-row-private.d.ts +10 -0
  83. package/dist/internal/list-row-private.d.ts.map +1 -0
  84. package/dist/internal/list-row-private.js +2 -0
  85. package/dist/internal/list-row-private.js.map +1 -0
  86. package/dist/internal/message-reactions.d.ts +21 -0
  87. package/dist/internal/message-reactions.d.ts.map +1 -0
  88. package/dist/internal/message-reactions.js +49 -0
  89. package/dist/internal/message-reactions.js.map +1 -0
  90. package/dist/internal/recipe-button.d.ts +6 -5
  91. package/dist/internal/recipe-button.d.ts.map +1 -1
  92. package/dist/internal/recipe-button.js +22 -7
  93. package/dist/internal/recipe-button.js.map +1 -1
  94. package/dist/internal/spinner.d.ts +15 -0
  95. package/dist/internal/spinner.d.ts.map +1 -0
  96. package/dist/internal/spinner.js +12 -0
  97. package/dist/internal/spinner.js.map +1 -0
  98. package/dist/masonry.d.ts +3 -1
  99. package/dist/masonry.d.ts.map +1 -1
  100. package/dist/masonry.js +3 -3
  101. package/dist/masonry.js.map +1 -1
  102. package/dist/mentions.d.ts +4 -0
  103. package/dist/mentions.d.ts.map +1 -1
  104. package/dist/mentions.js +8 -2
  105. package/dist/mentions.js.map +1 -1
  106. package/dist/navigation.d.ts +72 -4
  107. package/dist/navigation.d.ts.map +1 -1
  108. package/dist/navigation.js +39 -21
  109. package/dist/navigation.js.map +1 -1
  110. package/dist/number-field.d.ts +21 -0
  111. package/dist/number-field.d.ts.map +1 -1
  112. package/dist/number-field.js +7 -2
  113. package/dist/number-field.js.map +1 -1
  114. package/dist/overlays.d.ts +30 -2
  115. package/dist/overlays.d.ts.map +1 -1
  116. package/dist/overlays.js +100 -18
  117. package/dist/overlays.js.map +1 -1
  118. package/dist/primitives.d.ts +19 -3
  119. package/dist/primitives.d.ts.map +1 -1
  120. package/dist/primitives.js +12 -6
  121. package/dist/primitives.js.map +1 -1
  122. package/dist/provider-button.d.ts +8 -1
  123. package/dist/provider-button.d.ts.map +1 -1
  124. package/dist/provider-button.js +4 -1
  125. package/dist/provider-button.js.map +1 -1
  126. package/dist/qr-code.d.ts +4 -1
  127. package/dist/qr-code.d.ts.map +1 -1
  128. package/dist/qr-code.js +2 -2
  129. package/dist/qr-code.js.map +1 -1
  130. package/dist/reaction-picker.d.ts +4 -2
  131. package/dist/reaction-picker.d.ts.map +1 -1
  132. package/dist/reaction-picker.js +18 -6
  133. package/dist/reaction-picker.js.map +1 -1
  134. package/dist/saved-items.d.ts +21 -0
  135. package/dist/saved-items.d.ts.map +1 -0
  136. package/dist/saved-items.js +16 -0
  137. package/dist/saved-items.js.map +1 -0
  138. package/dist/screen-flows.d.ts +300 -0
  139. package/dist/screen-flows.d.ts.map +1 -0
  140. package/dist/screen-flows.js +164 -0
  141. package/dist/screen-flows.js.map +1 -0
  142. package/dist/screens.d.ts +114 -0
  143. package/dist/screens.d.ts.map +1 -0
  144. package/dist/screens.js +80 -0
  145. package/dist/screens.js.map +1 -0
  146. package/dist/slider.d.ts +21 -0
  147. package/dist/slider.d.ts.map +1 -1
  148. package/dist/slider.js +6 -2
  149. package/dist/slider.js.map +1 -1
  150. package/dist/steps.d.ts +8 -1
  151. package/dist/steps.d.ts.map +1 -1
  152. package/dist/steps.js +4 -2
  153. package/dist/steps.js.map +1 -1
  154. package/dist/tags-input.d.ts +8 -1
  155. package/dist/tags-input.d.ts.map +1 -1
  156. package/dist/tags-input.js +11 -5
  157. package/dist/tags-input.js.map +1 -1
  158. package/dist/toggle-group.d.ts +8 -1
  159. package/dist/toggle-group.d.ts.map +1 -1
  160. package/dist/toggle-group.js +4 -2
  161. package/dist/toggle-group.js.map +1 -1
  162. package/dist/top.d.ts +8 -1
  163. package/dist/top.d.ts.map +1 -1
  164. package/dist/top.js +4 -1
  165. package/dist/top.js.map +1 -1
  166. package/dist/transfer-list.d.ts +8 -1
  167. package/dist/transfer-list.d.ts.map +1 -1
  168. package/dist/transfer-list.js +4 -2
  169. package/dist/transfer-list.js.map +1 -1
  170. package/dist/upload-item.d.ts +8 -1
  171. package/dist/upload-item.d.ts.map +1 -1
  172. package/dist/upload-item.js +4 -2
  173. package/dist/upload-item.js.map +1 -1
  174. package/package.json +21 -3
package/README.md CHANGED
@@ -41,6 +41,10 @@ export function Screen() {
41
41
  `value`) switches those controls to deterministic scaling and disables OS multiplication, so the
42
42
  requested scale is applied exactly once. A nested Provider inherits that absolute scale; its own
43
43
  `textScale` replaces rather than multiplies the parent value.
44
+ Persistent `BottomNavigation` visual labels use their existing recipe limit of 1.4× in both
45
+ OS and controlled Provider modes. The full destination name and sibling body text retain
46
+ their ordinary accessibility contract. This fixes controlled-scale labels ignoring the
47
+ native multiplier limit (BurnTok BT-QA-021); no consumer prop change is needed.
44
48
  - Motion uses React Native's built-in `Animated` API and canonical recipe durations/easing; there
45
49
  is no third-party animation dependency. Reduced motion removes spatial exit movement and retains
46
50
  only the recipe-permitted enter opacity fallback.
@@ -263,6 +267,12 @@ or `accessibilityLabel`. `SearchField` can render product icons through `renderL
263
267
  `renderClearIcon`, and `renderBusyIndicator`; its trailing precedence is busy, then clear, then the
264
268
  passive `trailing` slot. `SegmentedControl` items can render their own leading visual.
265
269
 
270
+ Single-line `TextField` and `SearchField` frames grow with the effective input text scale and
271
+ shrink when it returns to normal. This prevents the OS large-text overflow observed in BurnTok
272
+ folder names (BT-QA-020). Keep the recipe-owned minimum height; stack adjacent product actions
273
+ when space is narrow. Do not override the frame with a fixed height to contain enlarged text.
274
+ Explicit native font-scaling options still determine the same text and frame scale.
275
+
266
276
  `Checkbox` supports boolean and `"mixed"` state, read-only semantics, plain/card presentation,
267
277
  compact/default sizing, and replaceable leading/indicator visuals. `CheckboxGroup` validates unique
268
278
  enabled option keys and exposes controlled or uncontrolled immutable `ReadonlySet` selection.
@@ -418,3 +428,8 @@ with negative margins.
418
428
  with an opaque semantic surface and adaptive slots, without a required blur dependency.
419
429
  Existing [BottomNavigation](../design-contracts/docs/bottom-navigation.md) accepts the
420
430
  `capsule` presentation with an adjacent action and large-text label fallback.
431
+
432
+
433
+ iOS TextArea의 실제 글자 배율이 바뀌면 기존 attributed 본문도 갱신한다(BT-QA-025). Native editor만 교체하고 초안·외부 ref·포커스·선택 영역을 보존하며, 같은 배율·Android·한 줄 입력은 재마운트하지 않는다. 공개 API 변경은 없다. 실제 Android 입력 동작 검증과 정식 게시/소비 버전 반영은 별도다.
434
+
435
+ Dialog/AlertDialog viewport candidate BT-QA-027 keeps copy in an internal shrinking scroll body and actions outside it, with provider safe-area padding. Host contracts and normal-size BurnTok iOS confirmation/cancel pass; long-content device geometry remains pending after the user stopped enlarged-text QA. No public API migration or published-version claim.
package/dist/actions.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { type LinkDescriptor, type LinkDestination } from "@hjmds/design-contracts/components/link";
2
+ import type { SemanticIconName } from "@hjmds/design-contracts/components/icon";
2
3
  import { type IconButtonTone as ContractIconButtonTone, type IconButtonShape, type IconButtonSize } from "@hjmds/design-contracts/recipes";
3
4
  import { type ButtonAlign as ContractButtonAlign, type ButtonShape as ContractButtonShape, type ButtonSize as ContractButtonSize, type ButtonTone as ContractButtonTone } from "@hjmds/design-contracts/recipes/base";
4
5
  import { type ReactNode } from "react";
5
6
  import { View, type PressableProps, type StyleProp, type ViewStyle } from "react-native";
6
7
  import type { HjmCompositionStyleProp } from "./composition-style.js";
8
+ import { type NativeIconRenderProps } from "./primitives.js";
7
9
  export type ButtonTone = ContractButtonTone;
8
10
  export type ButtonSize = ContractButtonSize;
9
11
  export type ButtonShape = ContractButtonShape;
@@ -86,6 +88,10 @@ export type IconButtonProps = Omit<PressableProps, "accessibilityLabel" | "acces
86
88
  disableWhileLoading?: boolean;
87
89
  hitSlop?: PressableProps["hitSlop"];
88
90
  accessibilityState?: PressableProps["accessibilityState"];
91
+ /**
92
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement and
93
+ * `tone`/`size`/`shape`/`selected` for appearance. Removed in the next major (consumer-policy.md §3.1).
94
+ */
89
95
  style?: StyleProp<ViewStyle>;
90
96
  renderLoadingIndicator?: (props: Readonly<{
91
97
  color: string;
@@ -110,6 +116,10 @@ export declare const IconButton: import("react").ForwardRefExoticComponent<Omit<
110
116
  disableWhileLoading?: boolean;
111
117
  hitSlop?: PressableProps["hitSlop"];
112
118
  accessibilityState?: PressableProps["accessibilityState"];
119
+ /**
120
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement and
121
+ * `tone`/`size`/`shape`/`selected` for appearance. Removed in the next major (consumer-policy.md §3.1).
122
+ */
113
123
  style?: StyleProp<ViewStyle>;
114
124
  renderLoadingIndicator?: (props: Readonly<{
115
125
  color: string;
@@ -124,10 +134,22 @@ export type LinkProps = Omit<PressableProps, "accessibilityLabel" | "accessibili
124
134
  onNavigate: (destination: LinkDestination) => void | Promise<void>;
125
135
  leading?: ReactNode;
126
136
  trailing?: ReactNode;
137
+ /**
138
+ * Product glyph boundary for `descriptor.leadingIcon` / `trailingIcon`. HJM resolves size
139
+ * (`linkRecipe.icon.glyph`), the link tone, decorative semantics and RTL mirroring through `Icon`,
140
+ * so the caller only maps a semantic name to a glyph (for example `createLucideGlyph`).
141
+ */
142
+ renderIcon?: (props: NativeIconRenderProps<SemanticIconName>) => ReactNode;
127
143
  accessibilityHint?: string;
144
+ /** Canonical layout-only placement. Controlled visual keys are excluded. */
145
+ layoutStyle?: HjmCompositionStyleProp;
146
+ /**
147
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement; link
148
+ * color, underline and target size belong to `linkRecipe`. Removed in the next major (consumer-policy.md §3.1).
149
+ */
128
150
  style?: StyleProp<ViewStyle>;
129
151
  }>;
130
- export declare function Link({ descriptor, onNavigate, leading, trailing, accessibilityHint, style, ...props }: LinkProps): import("react").JSX.Element;
152
+ export declare function Link({ descriptor, onNavigate, leading, trailing, renderIcon, accessibilityHint, layoutStyle, style, ...props }: LinkProps): import("react").JSX.Element;
131
153
  export type BottomCTAAction = Readonly<{
132
154
  label: string;
133
155
  onPress: NonNullable<PressableProps["onPress"]>;
@@ -146,9 +168,15 @@ export type BottomCTAProps = Readonly<{
146
168
  description?: string;
147
169
  accessibilityLabel?: string;
148
170
  safeAreaBottom?: number;
171
+ /** Canonical layout-only placement. Controlled visual keys are excluded. */
172
+ layoutStyle?: HjmCompositionStyleProp;
173
+ /**
174
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
175
+ * surface, border and shadow belong to `bottomCtaRecipe`. Removed in the next major (consumer-policy.md §3.1).
176
+ */
149
177
  style?: StyleProp<ViewStyle>;
150
178
  testID?: string;
151
179
  }>;
152
180
  /** Native sticky-action content; products own its screen-edge positioning. */
153
- export declare function BottomCTA({ primaryAction, secondaryAction, description, accessibilityLabel, safeAreaBottom, style, testID, }: BottomCTAProps): import("react").JSX.Element;
181
+ export declare function BottomCTA({ primaryAction, secondaryAction, description, accessibilityLabel, safeAreaBottom, layoutStyle, style, testID, }: BottomCTAProps): import("react").JSX.Element;
154
182
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.tsx"],"names":[],"mappings":"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"}
package/dist/actions.js CHANGED
@@ -2,13 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { visibleControlHeight } from "@hjmds/design-contracts/components/design-system-provider";
3
3
  import { resolveLinkDescriptor, } from "@hjmds/design-contracts/components/link";
4
4
  import { glyph, radius, spacing } from "@hjmds/design-contracts/foundations";
5
- import { bottomCtaRecipe, iconButtonRecipe, resolveIconButtonPresentation, } from "@hjmds/design-contracts/recipes";
5
+ import { bottomCtaRecipe, linkRecipe, iconButtonRecipe, resolveIconButtonPresentation, } from "@hjmds/design-contracts/recipes";
6
6
  import {} from "@hjmds/design-contracts/recipes/base";
7
7
  import { forwardRef } from "react";
8
8
  import { ActivityIndicator, Pressable, View, } from "react-native";
9
9
  import { RecipeButton } from "./internal/recipe-button.js";
10
+ import { warnDeprecatedStyleProps, warnOnce } from "./internal/deprecated-style.js";
10
11
  import { minimumTargetStyle } from "./internal/styles.js";
11
- import { Text } from "./primitives.js";
12
+ import { Icon, Text } from "./primitives.js";
12
13
  import { useHjmNativeTheme } from "./provider.js";
13
14
  // Public callers compose placement through layoutStyle; visual overrides stay inside HJM recipes.
14
15
  export const Button = forwardRef(function Button(props, ref) {
@@ -20,6 +21,7 @@ export const Button = forwardRef(function Button(props, ref) {
20
21
  });
21
22
  export const IconButton = forwardRef(function IconButton({ label, children, 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) {
22
23
  const theme = useHjmNativeTheme();
24
+ warnDeprecatedStyleProps("IconButton", { style }, "layoutStyle for placement and tone/size/shape/selected for appearance");
23
25
  const resolvedLabel = label;
24
26
  const resolvedIcon = children;
25
27
  if (resolvedLabel === undefined || resolvedLabel.trim().length === 0) {
@@ -72,9 +74,27 @@ export const IconButton = forwardRef(function IconButton({ label, children, tone
72
74
  width: glyphSize,
73
75
  }, children: resolvedIcon })) }));
74
76
  });
75
- export function Link({ descriptor, onNavigate, leading, trailing, accessibilityHint, style, ...props }) {
77
+ export function Link({ descriptor, onNavigate, leading, trailing, renderIcon, accessibilityHint, layoutStyle, style, ...props }) {
76
78
  const { colors, environment } = useHjmNativeTheme();
77
79
  const resolved = resolveLinkDescriptor(descriptor);
80
+ warnDeprecatedStyleProps("Link", { style }, "layoutStyle for placement; linkRecipe owns link appearance");
81
+ // Until 1.12 the resolver validated leadingIcon/trailingIcon but Native never drew them, so a
82
+ // descriptor shared with Web silently lost its chevron. A missing renderIcon now warns instead of
83
+ // throwing: throwing would crash apps that already passed icons which were simply invisible.
84
+ const renderDescriptorIcon = (icon, slot, fallback) => {
85
+ if (icon === null)
86
+ return fallback;
87
+ if (fallback !== undefined && fallback !== null && fallback !== false) {
88
+ warnOnce(`Link.${slot}.conflict`, `Link received both descriptor.${slot} and a ${slot === "leadingIcon" ? "leading" : "trailing"} node; the descriptor icon wins.`);
89
+ }
90
+ if (renderIcon === undefined) {
91
+ warnOnce(`Link.${slot}.renderIcon`, `Link descriptor.${slot} needs renderIcon to draw a glyph; the icon is not rendered.`);
92
+ return null;
93
+ }
94
+ return (_jsx(Icon, { descriptor: { name: icon.name, size: linkRecipe.icon.glyph, tone: "brand", decorative: true }, renderGlyph: renderIcon }));
95
+ };
96
+ const leadingNode = renderDescriptorIcon(resolved.leadingIcon, "leadingIcon", leading);
97
+ const trailingNode = renderDescriptorIcon(resolved.trailingIcon, "trailingIcon", trailing);
78
98
  return (_jsxs(Pressable, { ...props, accessibilityHint: accessibilityHint, accessibilityLabel: resolved.resolvedAccessibilityLabel, accessibilityRole: "link", onPress: () => void onNavigate(resolved.destination), style: ({ pressed }) => [
79
99
  minimumTargetStyle,
80
100
  {
@@ -86,7 +106,8 @@ export function Link({ descriptor, onNavigate, leading, trailing, accessibilityH
86
106
  opacity: pressed ? 0.72 : 1,
87
107
  },
88
108
  style,
89
- ], children: [leading ? _jsx(View, { accessible: false, children: leading }) : null, _jsx(Text, { style: { color: colors.contentBrand, textDecorationLine: "underline" }, variant: "bodyLarge", children: resolved.label }), trailing ? _jsx(View, { accessible: false, children: trailing }) : null] }));
109
+ layoutStyle,
110
+ ], children: [leadingNode ? _jsx(View, { accessible: false, children: leadingNode }) : null, _jsx(Text, { style: { color: colors.contentBrand, textDecorationLine: "underline" }, variant: "bodyLarge", children: resolved.label }), trailingNode ? _jsx(View, { accessible: false, children: trailingNode }) : null] }));
90
111
  }
91
112
  function BottomCTAButton({ action, fallbackTone, }) {
92
113
  return (_jsx(Button, { ...(action.accessibilityLabel === undefined ? {} : { accessibilityLabel: action.accessibilityLabel }), ...(action.accessibilityHint === undefined ? {} : { accessibilityHint: action.accessibilityHint }), ...(action.disabled === undefined ? {} : { disabled: action.disabled }), ...(action.loading === undefined ? {} : { loading: action.loading }), ...(action.loadingLabel === undefined ? {} : { loadingLabel: action.loadingLabel }), fullWidth: true, onPress: action.onPress, ...(action.size === undefined ? {} : { size: action.size }), tone: action.tone ?? fallbackTone, children: action.label }));
@@ -100,7 +121,8 @@ function isBottomCTAAction(value) {
100
121
  && typeof value.onPress === "function";
101
122
  }
102
123
  /** Native sticky-action content; products own its screen-edge positioning. */
103
- export function BottomCTA({ primaryAction, secondaryAction, description, accessibilityLabel, safeAreaBottom = 0, style, testID, }) {
124
+ export function BottomCTA({ primaryAction, secondaryAction, description, accessibilityLabel, safeAreaBottom = 0, layoutStyle, style, testID, }) {
125
+ warnDeprecatedStyleProps("BottomCTA", { style }, "layoutStyle for placement; bottomCtaRecipe owns appearance");
104
126
  if (!Number.isFinite(safeAreaBottom) || safeAreaBottom < 0) {
105
127
  throw new RangeError("BottomCTA safeAreaBottom must be non-negative");
106
128
  }
@@ -128,6 +150,7 @@ export function BottomCTA({ primaryAction, secondaryAction, description, accessi
128
150
  shadowRadius: bottomCtaRecipe.shadow.radius,
129
151
  },
130
152
  style,
153
+ layoutStyle,
131
154
  ], children: [description ? _jsx(Text, { tone: "muted", variant: "caption", children: description }) : null, _jsxs(View, { style: {
132
155
  direction: environment.direction,
133
156
  flexDirection: stackActions ? "column-reverse" : "row",
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import { type AgreementDescriptor, type AgreementState } from "@hjmds/design-contracts/components/agreement";
2
2
  import { type StyleProp, type ViewStyle } from "react-native";
3
+ import type { HjmCompositionStyleProp } from "./composition-style.js";
3
4
  export type AgreementProps<Id extends string = string> = Readonly<{
4
5
  descriptor: AgreementDescriptor<Id>;
5
6
  checkedIds?: ReadonlySet<Id>;
@@ -12,7 +13,13 @@ export type AgreementProps<Id extends string = string> = Readonly<{
12
13
  requiredLabel: string;
13
14
  /** Localized suffix marking an optional row, supplied by the product. */
14
15
  optionalLabel: string;
16
+ /** Canonical layout-only placement. Controlled visual keys are excluded. */
17
+ layoutStyle?: HjmCompositionStyleProp;
18
+ /**
19
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
20
+ * `agreementRecipe` owns appearance. Removed in the next major (consumer-policy.md §3.1).
21
+ */
15
22
  style?: StyleProp<ViewStyle>;
16
23
  }>;
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;
24
+ export declare function Agreement<Id extends string = string>({ descriptor, checkedIds: controlledChecked, defaultCheckedIds, onCheckedIdsChange, onStateChange, onDetail, requiredLabel, optionalLabel, layoutStyle, style, }: AgreementProps<Id>): import("react").JSX.Element;
18
25
  //# sourceMappingURL=agreement.d.ts.map
@@ -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;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"}
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;AAG/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAItE,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,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;OAGG;IACH,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,WAAW,EACX,KAAK,GACN,EAAE,cAAc,CAAC,EAAE,CAAC,+BA0IpB"}
package/dist/agreement.js CHANGED
@@ -2,18 +2,31 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { agreementRecipe, reconcileAgreementSelection, resolveAgreementState, toggleAgreementAll, toggleAgreementItem, validateAgreementDescriptor, } from "@hjmds/design-contracts/components/agreement";
3
3
  import { resolveColorReference } from "@hjmds/design-contracts/color-references";
4
4
  import { radius, spacing } from "@hjmds/design-contracts/foundations";
5
- import { useMemo, useState } from "react";
5
+ import { useEffect, useMemo, useRef, useState } from "react";
6
6
  import { Pressable, View } from "react-native";
7
7
  import { mixedCheckboxState } from "./internal/state.js";
8
8
  import { Text } from "./primitives.js";
9
+ import { warnDeprecatedStyleProps } from "./internal/deprecated-style.js";
9
10
  import { useHjmNativeTheme } from "./provider.js";
10
- export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCheckedIds, onCheckedIdsChange, onStateChange, onDetail, requiredLabel, optionalLabel, style, }) {
11
+ export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCheckedIds, onCheckedIdsChange, onStateChange, onDetail, requiredLabel, optionalLabel, layoutStyle, style, }) {
12
+ warnDeprecatedStyleProps("Agreement", { style }, "layoutStyle for placement; agreementRecipe owns appearance");
11
13
  validateAgreementDescriptor(descriptor);
12
14
  const theme = useHjmNativeTheme();
13
15
  const [internal, setInternal] = useState(defaultCheckedIds ?? new Set());
14
16
  const raw = controlledChecked ?? internal;
15
17
  const checked = useMemo(() => reconcileAgreementSelection(descriptor, raw), [descriptor, raw]);
16
18
  const state = resolveAgreementState(descriptor, checked);
19
+ // Report the initial state once on mount. Until 2026-10-06 only user toggles reported, so
20
+ // `defaultCheckedIds`/`checkedIds` that already satisfied every required item never produced a
21
+ // first `satisfied: true` and a submit button wired to this callback stayed disabled. Mount-only
22
+ // (not on every derived change) keeps the callback count to "initial + one per toggle"; StrictMode
23
+ // may repeat the same snapshot, which is idempotent for a consumer that stores it.
24
+ const initialStateRef = useRef(state);
25
+ const onStateChangeRef = useRef(onStateChange);
26
+ onStateChangeRef.current = onStateChange;
27
+ useEffect(() => {
28
+ onStateChangeRef.current?.(initialStateRef.current);
29
+ }, []);
17
30
  const commit = (next) => {
18
31
  if (controlledChecked === undefined)
19
32
  setInternal(next);
@@ -37,7 +50,7 @@ export function Agreement({ descriptor, checkedIds: controlledChecked, defaultCh
37
50
  justifyContent: "center",
38
51
  width: spacing.md,
39
52
  }, 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: {
53
+ return (_jsxs(View, { accessibilityLabel: descriptor.accessibilityLabel, accessibilityRole: "none", style: [{ gap: agreementRecipe.gap }, style, layoutStyle], children: [_jsxs(Pressable, { accessibilityLabel: descriptor.allLabel, accessibilityRole: "checkbox", accessibilityState: mixedCheckboxState(state.all), onPress: () => commit(toggleAgreementAll(descriptor, checked)), style: {
41
54
  alignItems: "center",
42
55
  backgroundColor: resolveColorReference(agreementRecipe.all.background, theme.palette),
43
56
  borderRadius: radius.md,
@@ -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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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,iFAAiF;IACjF,0FAA0F;IAC1F,sFAAsF;IACtF,qFAAqF;IACrF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1C,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,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAC,SAAS,YACrE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACzB,CACR,GACI,CACR,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,IAAC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,aAO5H,MAAC,SAAS,IACR,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EACvC,iBAAiB,EAAC,UAAU,EAC5B,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC9D,KAAK,EAAE;oBACL,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,qBAAqB,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;oBACrF,YAAY,EAAE,MAAM,CAAC,EAAE;oBACvB,aAAa,EAAE,KAAK;oBACpB,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG;oBAC5B,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS;oBACxC,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,iBAAiB;oBACxD,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,eAAe;iBACrD,aAEA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAChB,KAAC,IAAI,IAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,YAAG,UAAU,CAAC,QAAQ,GAAQ,IAClE,EACX,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,IAAe,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,aAC7C,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,aAC1E,MAAC,SAAS;4BACR,8EAA8E;;gCAA9E,8EAA8E;gCAC9E,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,EAC7F,iBAAiB,EAAC,UAAU,EAC5B,kBAAkB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,EACvF,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EACxE,KAAK,EAAE;oCACL,UAAU,EAAE,QAAQ;oCACpB,IAAI,EAAE,CAAC;oCACP,aAAa,EAAE,KAAK;oCACpB,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG;oCAC7B,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS;iCAC1C,aAEA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,YACtE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,GACrE,IACG,EAMX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACb,KAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAClC,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAAE,YAE/G,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,EACrH,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,YAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,GACb,GACG,CACb,CAAC,CAAC,CAAC,IAAI,IACH,EACN,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EACxH,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,YAEpD,IAAI,CAAC,WAAW,GACZ,CACR,CAAC,CAAC,CAAC,IAAI,KAjDC,IAAI,CAAC,EAAE,CAkDX,CACR,CAAC,IACG,CACR,CAAC;AACJ,CAAC"}
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,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAuBlD,MAAM,UAAU,SAAS,CAA6B,EACpD,UAAU,EACV,UAAU,EAAE,iBAAiB,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,KAAK,GACc;IACnB,wBAAwB,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,4DAA4D,CAAC,CAAC;IAC/G,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,0FAA0F;IAC1F,+FAA+F;IAC/F,iGAAiG;IACjG,mGAAmG;IACnG,mFAAmF;IACnF,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,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,iFAAiF;IACjF,0FAA0F;IAC1F,sFAAsF;IACtF,qFAAqF;IACrF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1C,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,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAC,SAAS,YACrE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACzB,CACR,GACI,CACR,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,IAAC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,aAOzI,MAAC,SAAS,IACR,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EACvC,iBAAiB,EAAC,UAAU,EAC5B,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC9D,KAAK,EAAE;oBACL,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,qBAAqB,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;oBACrF,YAAY,EAAE,MAAM,CAAC,EAAE;oBACvB,aAAa,EAAE,KAAK;oBACpB,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG;oBAC5B,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS;oBACxC,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,iBAAiB;oBACxD,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,eAAe;iBACrD,aAEA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAChB,KAAC,IAAI,IAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,YAAG,UAAU,CAAC,QAAQ,GAAQ,IAClE,EACX,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,IAAe,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,aAC7C,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,aAC1E,MAAC,SAAS;4BACR,8EAA8E;;gCAA9E,8EAA8E;gCAC9E,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,EAC7F,iBAAiB,EAAC,UAAU,EAC5B,kBAAkB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,EACvF,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EACxE,KAAK,EAAE;oCACL,UAAU,EAAE,QAAQ;oCACpB,IAAI,EAAE,CAAC;oCACP,aAAa,EAAE,KAAK;oCACpB,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG;oCAC7B,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS;iCAC1C,aAEA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,YACtE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,GACrE,IACG,EAMX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACb,KAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAClC,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAAE,YAE/G,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,EACrH,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,YAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,GACb,GACG,CACb,CAAC,CAAC,CAAC,IAAI,IACH,EACN,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EACxH,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,YAEpD,IAAI,CAAC,WAAW,GACZ,CACR,CAAC,CAAC,CAAC,IAAI,KAjDC,IAAI,CAAC,EAAE,CAkDX,CACR,CAAC,IACG,CACR,CAAC;AACJ,CAAC"}
package/dist/asset.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type AssetDescriptor } from "@hjmds/design-contracts/components/asset";
2
2
  import type { ReactNode } from "react";
3
3
  import { type StyleProp, type ViewStyle } from "react-native";
4
+ import type { HjmCompositionStyleProp } from "./composition-style.js";
4
5
  export type AssetProps = Readonly<{
5
6
  descriptor: AssetDescriptor;
6
7
  /**
@@ -12,16 +13,28 @@ export type AssetProps = Readonly<{
12
13
  }>) => ReactNode);
13
14
  /** A small mark on the frame's outer corner (play, status dot). */
14
15
  accessory?: ReactNode;
16
+ /** Canonical layout-only placement. Controlled visual keys are excluded. */
17
+ layoutStyle?: HjmCompositionStyleProp;
18
+ /**
19
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
20
+ * `assetRecipe` owns appearance. Removed in the next major (consumer-policy.md §3.1).
21
+ */
15
22
  style?: StyleProp<ViewStyle>;
16
23
  }>;
17
- export declare function Asset({ descriptor, children, accessory, style }: AssetProps): import("react").JSX.Element;
24
+ export declare function Asset({ descriptor, children, accessory, layoutStyle, style }: AssetProps): import("react").JSX.Element;
18
25
  export type AssetGroupProps = Readonly<{
19
26
  /** Accessible name for the group; the overlap alone does not say what it is. */
20
27
  label: string;
21
28
  size?: AssetDescriptor["size"];
22
29
  children: ReactNode;
30
+ /** Canonical layout-only placement. Controlled visual keys are excluded. */
31
+ layoutStyle?: HjmCompositionStyleProp;
32
+ /**
33
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
34
+ * `assetRecipe` owns appearance. Removed in the next major (consumer-policy.md §3.1).
35
+ */
23
36
  style?: StyleProp<ViewStyle>;
24
37
  }>;
25
38
  /** 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;
39
+ export declare function AssetGroup({ label, size, children, layoutStyle, style }: AssetGroupProps): import("react").JSX.Element;
27
40
  //# sourceMappingURL=asset.d.ts.map
@@ -1 +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"}
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;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAItE,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,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,wBAAgB,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,UAAU,+BA4CxF;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,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAgC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,eAAe,+BAYpH"}
package/dist/asset.js CHANGED
@@ -2,8 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { assetRecipe, shouldAnimateAsset, validateAssetDescriptor, } from "@hjmds/design-contracts/components/asset";
3
3
  import { resolveColorReference } from "@hjmds/design-contracts/color-references";
4
4
  import { View } from "react-native";
5
+ import { warnDeprecatedStyleProps } from "./internal/deprecated-style.js";
5
6
  import { useHjmNativeTheme } from "./provider.js";
6
- export function Asset({ descriptor, children, accessory, style }) {
7
+ export function Asset({ descriptor, children, accessory, layoutStyle, style }) {
8
+ warnDeprecatedStyleProps("Asset", { style }, "layoutStyle for placement; assetRecipe owns appearance");
7
9
  validateAssetDescriptor(descriptor);
8
10
  const { palette, environment } = useHjmNativeTheme();
9
11
  const size = assetRecipe.sizes[descriptor.size ?? assetRecipe.defaults.size];
@@ -12,7 +14,7 @@ export function Asset({ descriptor, children, accessory, style }) {
12
14
  // The frame freezes nothing itself — it has no player. It hands the one
13
15
  // answer to the slot so the product does not re-derive the preference.
14
16
  const animate = shouldAnimateAsset(descriptor.kind, environment.reducedMotion);
15
- return (_jsxs(View, { style: [{ position: "relative" }, style], accessible: !decorative, accessibilityRole: decorative ? "none" : "image", ...(decorative
17
+ return (_jsxs(View, { style: [{ position: "relative" }, style, layoutStyle], accessible: !decorative, accessibilityRole: decorative ? "none" : "image", ...(decorative
16
18
  ? { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants" }
17
19
  : { accessibilityLabel: descriptor.accessibilityLabel }), children: [_jsx(View, { style: {
18
20
  width: size,
@@ -31,9 +33,10 @@ export function Asset({ descriptor, children, accessory, style }) {
31
33
  style: { position: "absolute", bottom: -assetRecipe.accessory.offset, right: -assetRecipe.accessory.offset }, children: accessory })) : null] }));
32
34
  }
33
35
  /** 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 }) {
36
+ export function AssetGroup({ label, size = assetRecipe.defaults.size, children, layoutStyle, style }) {
37
+ warnDeprecatedStyleProps("AssetGroup", { style }, "layoutStyle for placement; assetRecipe owns appearance");
35
38
  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)
39
+ return (_jsx(View, { accessibilityRole: "none", accessible: true, accessibilityLabel: label, style: [{ flexDirection: "row", alignItems: "center" }, style, layoutStyle], children: Array.isArray(children)
37
40
  ? children.map((child, index) => (_jsx(View, { style: index === 0 ? undefined : { marginStart: overlap }, children: child }, index)))
38
41
  : children }));
39
42
  }
package/dist/asset.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../src/asset.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../src/asset.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
1
  import { type BottomInfoDescriptor } from "@hjmds/design-contracts/components/bottom-info";
2
2
  import type { ReactNode } from "react";
3
3
  import { type StyleProp, type ViewStyle } from "react-native";
4
+ import type { HjmCompositionStyleProp } from "./composition-style.js";
4
5
  export type BottomInfoProps = BottomInfoDescriptor & Readonly<{
5
6
  renderItem?: (item: string, index: number) => ReactNode;
7
+ /** Canonical layout-only placement. Controlled visual keys are excluded. */
8
+ layoutStyle?: HjmCompositionStyleProp;
9
+ /**
10
+ * @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
11
+ * `bottomInfoRecipe` owns appearance. Removed in the next major (consumer-policy.md §3.1).
12
+ */
6
13
  style?: StyleProp<ViewStyle>;
7
14
  }>;
8
- export declare function BottomInfo({ items, tone, renderItem, style }: BottomInfoProps): import("react").JSX.Element;
15
+ export declare function BottomInfo({ items, tone, renderItem, layoutStyle, style }: BottomInfoProps): import("react").JSX.Element;
9
16
  //# sourceMappingURL=bottom-info.d.ts.map
@@ -1 +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"}
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;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAItE,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAChD,QAAQ,CAAC;IACP,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACxD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEL,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAqC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,eAAe,+BAoB3H"}
@@ -3,14 +3,16 @@ import { bottomInfoRecipe, validateBottomInfoDescriptor, } from "@hjmds/design-c
3
3
  import { resolveColorReference } from "@hjmds/design-contracts/color-references";
4
4
  import { View } from "react-native";
5
5
  import { Text } from "./primitives.js";
6
+ import { warnDeprecatedStyleProps } from "./internal/deprecated-style.js";
6
7
  import { useHjmNativeTheme } from "./provider.js";
7
- export function BottomInfo({ items, tone = bottomInfoRecipe.defaults.tone, renderItem, style }) {
8
+ export function BottomInfo({ items, tone = bottomInfoRecipe.defaults.tone, renderItem, layoutStyle, style }) {
9
+ warnDeprecatedStyleProps("BottomInfo", { style }, "layoutStyle for placement; bottomInfoRecipe owns appearance");
8
10
  validateBottomInfoDescriptor({ items, tone });
9
11
  const theme = useHjmNativeTheme();
10
12
  const color = resolveColorReference(bottomInfoRecipe.tones[tone], theme.palette);
11
13
  // One line reads as a sentence; several read as a list. A bullet on a single
12
14
  // line is noise, which is why the threshold lives in the recipe.
13
15
  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))) }));
16
+ return (_jsx(View, { style: [{ gap: bottomInfoRecipe.gap, paddingTop: bottomInfoRecipe.paddingTop }, style, layoutStyle], 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
17
  }
16
18
  //# sourceMappingURL=bottom-info.js.map
@@ -1 +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"}
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;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAclD,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAmB;IAC1H,wBAAwB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,6DAA6D,CAAC,CAAC;IACjH,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,EAAE,WAAW,CAAC,YACtG,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"}
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode, type Ref } from "react";
2
2
  import { type CalendarDescriptor, type CalendarSize, type ComposeCalendarAccessibleName, type ResolvedCalendarDateCell } from "@hjmds/design-contracts/components/calendar";
3
+ import type { HjmCompositionStyleProp } from "./composition-style.js";
3
4
  export type CalendarMonthAction = Readonly<{
4
5
  month: string;
5
6
  label: string;
@@ -15,7 +16,8 @@ export type CalendarProps<Content = unknown> = Readonly<{
15
16
  renderCellContent?: (cell: ResolvedCalendarDateCell<Content>) => ReactNode;
16
17
  size?: CalendarSize;
17
18
  ref?: Ref<CalendarHandle>;
19
+ layoutStyle?: HjmCompositionStyleProp;
18
20
  }>;
19
21
  /** 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;
22
+ export declare function Calendar<Content>({ descriptor, composeAccessibleName, previousMonth, nextMonth, renderCellContent, size, ref, layoutStyle }: CalendarProps<Content>): import("react").JSX.Element;
21
23
  //# sourceMappingURL=calendar.d.ts.map
@@ -1 +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,+BAwElE"}
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,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,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;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,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,WAAW,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,+BAwE/E"}
package/dist/calendar.js CHANGED
@@ -10,7 +10,7 @@ import { minimumTargetStyle } from "./internal/styles.js";
10
10
  import { Text } from "./primitives.js";
11
11
  import { useHjmNativeTheme } from "./provider.js";
12
12
  /** Inline dates stay individually accessible; Native month paging uses explicit buttons. */
13
- export function Calendar({ descriptor, composeAccessibleName, previousMonth, nextMonth, renderCellContent, size = "medium", ref }) {
13
+ export function Calendar({ descriptor, composeAccessibleName, previousMonth, nextMonth, renderCellContent, size = "medium", ref, layoutStyle }) {
14
14
  validateCalendarDescriptor(descriptor);
15
15
  for (const action of [previousMonth, nextMonth]) {
16
16
  if (!action)
@@ -53,7 +53,7 @@ export function Calendar({ descriptor, composeAccessibleName, previousMonth, nex
53
53
  const columnStyle = { flex: 1, minWidth: diameter };
54
54
  const nav = (action, reason) => action
55
55
  ? _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 });
56
- 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: columnStyle, 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
56
+ return _jsxs(View, { style: [layoutStyle, { 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: columnStyle, 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
57
57
  ? _jsx(View, { accessible: false, style: { ...columnStyle, minHeight: diameter } }, `filler-${column}`)
58
58
  : _jsxs(Pressable, { ref: (node) => { if (node)
59
59
  targets.current.set(cell.date, node);