@hjmds/react-native 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/actions.d.ts +3 -23
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +7 -10
- package/dist/actions.js.map +1 -1
- package/dist/agreement.d.ts +1 -7
- package/dist/agreement.d.ts.map +1 -1
- package/dist/agreement.js +21 -15
- package/dist/agreement.js.map +1 -1
- package/dist/asset.d.ts +2 -13
- package/dist/asset.d.ts.map +1 -1
- package/dist/asset.js +4 -7
- package/dist/asset.js.map +1 -1
- package/dist/bottom-info.d.ts +1 -7
- package/dist/bottom-info.d.ts.map +1 -1
- package/dist/bottom-info.js +2 -4
- package/dist/bottom-info.js.map +1 -1
- package/dist/carousel-motion.d.ts +1 -0
- package/dist/carousel-motion.d.ts.map +1 -1
- package/dist/carousel-motion.js +5 -3
- package/dist/carousel-motion.js.map +1 -1
- package/dist/carousel.d.ts +1 -7
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.js +14 -6
- package/dist/carousel.js.map +1 -1
- package/dist/collapsible.d.ts +1 -7
- package/dist/collapsible.d.ts.map +1 -1
- package/dist/collapsible.js +4 -4
- package/dist/collapsible.js.map +1 -1
- package/dist/data-display.d.ts +19 -153
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +73 -90
- package/dist/data-display.js.map +1 -1
- package/dist/date-entry.d.ts +1 -0
- package/dist/date-entry.d.ts.map +1 -1
- package/dist/date-entry.js +22 -20
- package/dist/date-entry.js.map +1 -1
- package/dist/date-picker.d.ts +1 -7
- package/dist/date-picker.d.ts.map +1 -1
- package/dist/date-picker.js +19 -11
- package/dist/date-picker.js.map +1 -1
- package/dist/duration-field.d.ts +1 -1
- package/dist/duration-field.d.ts.map +1 -1
- package/dist/duration-field.js +11 -9
- package/dist/duration-field.js.map +1 -1
- package/dist/evidence.d.ts +1 -1
- package/dist/evidence.js +1 -1
- package/dist/feedback.d.ts +8 -88
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.js +72 -62
- package/dist/feedback.js.map +1 -1
- package/dist/field-group.d.ts +3 -2
- package/dist/field-group.d.ts.map +1 -1
- package/dist/field-group.js +7 -4
- package/dist/field-group.js.map +1 -1
- package/dist/file-picker.d.ts +1 -7
- package/dist/file-picker.d.ts.map +1 -1
- package/dist/file-picker.js +21 -11
- package/dist/file-picker.js.map +1 -1
- package/dist/forms.d.ts +6 -21
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +29 -35
- package/dist/forms.js.map +1 -1
- package/dist/gravity-letters.d.ts.map +1 -1
- package/dist/gravity-letters.js +13 -5
- package/dist/gravity-letters.js.map +1 -1
- package/dist/grid-reveal.d.ts.map +1 -1
- package/dist/grid-reveal.js +10 -2
- package/dist/grid-reveal.js.map +1 -1
- package/dist/heading.d.ts +1 -7
- package/dist/heading.d.ts.map +1 -1
- package/dist/heading.js +1 -4
- package/dist/heading.js.map +1 -1
- package/dist/image-viewer.d.ts.map +1 -1
- package/dist/image-viewer.js +2 -1
- package/dist/image-viewer.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/inline-confirm.d.ts.map +1 -1
- package/dist/inline-confirm.js +5 -1
- package/dist/inline-confirm.js.map +1 -1
- package/dist/inputs.d.ts +4 -71
- package/dist/inputs.d.ts.map +1 -1
- package/dist/inputs.js +25 -50
- package/dist/inputs.js.map +1 -1
- package/dist/internal/accessible-focus.d.ts +3 -0
- package/dist/internal/accessible-focus.d.ts.map +1 -0
- package/dist/internal/accessible-focus.js +15 -0
- package/dist/internal/accessible-focus.js.map +1 -0
- package/dist/internal/diagnostics.d.ts +7 -0
- package/dist/internal/diagnostics.d.ts.map +1 -0
- package/dist/internal/diagnostics.js +20 -0
- package/dist/internal/diagnostics.js.map +1 -0
- package/dist/internal/document-resource.d.ts.map +1 -1
- package/dist/internal/document-resource.js +2 -2
- package/dist/internal/document-resource.js.map +1 -1
- package/dist/internal/spinner.d.ts +1 -7
- package/dist/internal/spinner.d.ts.map +1 -1
- package/dist/internal/spinner.js +2 -4
- package/dist/internal/spinner.js.map +1 -1
- package/dist/masonry.d.ts.map +1 -1
- package/dist/masonry.js +2 -1
- package/dist/masonry.js.map +1 -1
- package/dist/mentions.d.ts +1 -7
- package/dist/mentions.d.ts.map +1 -1
- package/dist/mentions.js +11 -7
- package/dist/mentions.js.map +1 -1
- package/dist/navigation.d.ts +4 -74
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +81 -43
- package/dist/navigation.js.map +1 -1
- package/dist/number-field.d.ts +1 -21
- package/dist/number-field.d.ts.map +1 -1
- package/dist/number-field.js +6 -5
- package/dist/number-field.js.map +1 -1
- package/dist/overlays.d.ts +7 -16
- package/dist/overlays.d.ts.map +1 -1
- package/dist/overlays.js +220 -213
- package/dist/overlays.js.map +1 -1
- package/dist/primitives.d.ts +3 -18
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +8 -10
- package/dist/primitives.js.map +1 -1
- package/dist/provider-button.d.ts +1 -7
- package/dist/provider-button.d.ts.map +1 -1
- package/dist/provider-button.js +1 -4
- package/dist/provider-button.js.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +9 -1
- package/dist/provider.js.map +1 -1
- package/dist/saved-items.d.ts.map +1 -1
- package/dist/saved-items.js +6 -1
- package/dist/saved-items.js.map +1 -1
- package/dist/screen-flows.d.ts +1 -2
- package/dist/screen-flows.d.ts.map +1 -1
- package/dist/screen-flows.js +60 -16
- package/dist/screen-flows.js.map +1 -1
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +21 -10
- package/dist/screens.js.map +1 -1
- package/dist/sheet-gesture.d.ts.map +1 -1
- package/dist/sheet-gesture.js +6 -3
- package/dist/sheet-gesture.js.map +1 -1
- package/dist/slider.d.ts +1 -21
- package/dist/slider.d.ts.map +1 -1
- package/dist/slider.js +3 -5
- package/dist/slider.js.map +1 -1
- package/dist/sortable.d.ts.map +1 -1
- package/dist/sortable.js +2 -1
- package/dist/sortable.js.map +1 -1
- package/dist/status-text.d.ts +17 -0
- package/dist/status-text.d.ts.map +1 -0
- package/dist/status-text.js +18 -0
- package/dist/status-text.js.map +1 -0
- package/dist/steps.d.ts +1 -7
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +2 -4
- package/dist/steps.js.map +1 -1
- package/dist/swipe-actions.d.ts.map +1 -1
- package/dist/swipe-actions.js +13 -2
- package/dist/swipe-actions.js.map +1 -1
- package/dist/tags-input.d.ts +1 -7
- package/dist/tags-input.d.ts.map +1 -1
- package/dist/tags-input.js +2 -4
- package/dist/tags-input.js.map +1 -1
- package/dist/toggle-group.d.ts +1 -7
- package/dist/toggle-group.d.ts.map +1 -1
- package/dist/toggle-group.js +10 -5
- package/dist/toggle-group.js.map +1 -1
- package/dist/top.d.ts +1 -7
- package/dist/top.d.ts.map +1 -1
- package/dist/top.js +1 -4
- package/dist/top.js.map +1 -1
- package/dist/transfer-list.d.ts +2 -8
- package/dist/transfer-list.d.ts.map +1 -1
- package/dist/transfer-list.js +30 -11
- package/dist/transfer-list.js.map +1 -1
- package/dist/upload-item.d.ts +1 -7
- package/dist/upload-item.d.ts.map +1 -1
- package/dist/upload-item.js +2 -4
- package/dist/upload-item.js.map +1 -1
- package/dist/virtual-list.d.ts.map +1 -1
- package/dist/virtual-list.js +2 -1
- package/dist/virtual-list.js.map +1 -1
- package/docs/liquid-toast.md +9 -0
- package/package.json +9 -3
- package/dist/internal/deprecated-style.d.ts +0 -8
- package/dist/internal/deprecated-style.d.ts.map +0 -1
- package/dist/internal/deprecated-style.js +0 -34
- package/dist/internal/deprecated-style.js.map +0 -1
package/dist/tags-input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-input.js","sourceRoot":"","sources":["../src/tags-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,eAAe,GAIhB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"tags-input.js","sourceRoot":"","sources":["../src/tags-input.tsx"],"names":[],"mappings":"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"}
|
package/dist/toggle-group.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type ToggleGroupDescriptor, type ToggleGroupSize } from "@hjmds/design-contracts/components/toggle-group";
|
|
2
|
-
import { type StyleProp, type ViewStyle } from "react-native";
|
|
3
2
|
import type { HjmCompositionStyleProp } from "./composition-style.js";
|
|
4
3
|
export type ToggleGroupProps<Id extends string = string> = Readonly<{
|
|
5
4
|
descriptor: ToggleGroupDescriptor<Id>;
|
|
@@ -9,11 +8,6 @@ export type ToggleGroupProps<Id extends string = string> = Readonly<{
|
|
|
9
8
|
size?: ToggleGroupSize;
|
|
10
9
|
/** Canonical layout-only placement. Controlled visual keys are excluded. */
|
|
11
10
|
layoutStyle?: HjmCompositionStyleProp;
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
|
|
14
|
-
* `toggleGroupRecipe` (`size`) owns appearance. Removed in the next major (consumer-policy.md §3.1).
|
|
15
|
-
*/
|
|
16
|
-
style?: StyleProp<ViewStyle>;
|
|
17
11
|
}>;
|
|
18
|
-
export declare function ToggleGroup<Id extends string = string>({ descriptor, pressedIds: controlledPressed, defaultPressedIds, onPressedIdsChange, size, layoutStyle,
|
|
12
|
+
export declare function ToggleGroup<Id extends string = string>({ descriptor, pressedIds: controlledPressed, defaultPressedIds, onPressedIdsChange, size, layoutStyle, }: ToggleGroupProps<Id>): import("react").JSX.Element;
|
|
19
13
|
//# sourceMappingURL=toggle-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../src/toggle-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../src/toggle-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,iDAAiD,CAAC;AAKzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,MAAM,MAAM,gBAAgB,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAClE,UAAU,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACtC,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,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,CAAC,CAAC;AAIH,wBAAgB,WAAW,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EACtD,UAAU,EACV,UAAU,EAAE,iBAAiB,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,IAAsC,EACtC,WAAW,GACZ,EAAE,gBAAgB,CAAC,EAAE,CAAC,+BA8DtB"}
|
package/dist/toggle-group.js
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { reconcileToggleGroupSelection, toggleGroupRecipe, toggleGroupSelection, validateToggleGroupDescriptor, } from "@hjmds/design-contracts/components/toggle-group";
|
|
3
3
|
import { resolveColorReference } from "@hjmds/design-contracts/color-references";
|
|
4
|
-
import { useMemo, useState } from "react";
|
|
4
|
+
import { useEffect, useMemo, useState } from "react";
|
|
5
5
|
import { Pressable, View } from "react-native";
|
|
6
6
|
import { Text } from "./primitives.js";
|
|
7
|
-
import { warnDeprecatedStyleProps } from "./internal/deprecated-style.js";
|
|
8
7
|
import { useHjmNativeTheme } from "./provider.js";
|
|
9
8
|
// UI control labels keep the ui font even when their metric variant is body; content still uses reading.
|
|
10
|
-
export function ToggleGroup({ descriptor, pressedIds: controlledPressed, defaultPressedIds, onPressedIdsChange, size = toggleGroupRecipe.defaults.size, layoutStyle,
|
|
11
|
-
warnDeprecatedStyleProps("ToggleGroup", { style }, "layoutStyle for placement; toggleGroupRecipe (size) owns appearance");
|
|
9
|
+
export function ToggleGroup({ descriptor, pressedIds: controlledPressed, defaultPressedIds, onPressedIdsChange, size = toggleGroupRecipe.defaults.size, layoutStyle, }) {
|
|
12
10
|
validateToggleGroupDescriptor(descriptor);
|
|
13
11
|
const theme = useHjmNativeTheme();
|
|
14
12
|
const [internal, setInternal] = useState(defaultPressedIds ?? new Set());
|
|
15
13
|
const raw = controlledPressed ?? internal;
|
|
16
14
|
const pressed = useMemo(() => reconcileToggleGroupSelection(descriptor, raw), [descriptor, raw]);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
// Persist pruning so a removed toggle does not revive when the item returns.
|
|
17
|
+
if (controlledPressed === undefined && pressed !== internal) {
|
|
18
|
+
setInternal(pressed);
|
|
19
|
+
onPressedIdsChange?.(pressed);
|
|
20
|
+
}
|
|
21
|
+
}, [controlledPressed, internal, onPressedIdsChange, pressed]);
|
|
17
22
|
const metrics = toggleGroupRecipe.sizes[size];
|
|
18
23
|
const commit = (next) => {
|
|
19
24
|
if (controlledPressed === undefined)
|
|
20
25
|
setInternal(next);
|
|
21
26
|
onPressedIdsChange?.(next);
|
|
22
27
|
};
|
|
23
|
-
return (_jsx(View, { accessibilityLabel: descriptor.accessibilityLabel, style: [{ flexDirection: "row", flexWrap: "wrap", gap: toggleGroupRecipe.gap },
|
|
28
|
+
return (_jsx(View, { accessibilityLabel: descriptor.accessibilityLabel, style: [{ flexDirection: "row", flexWrap: "wrap", gap: toggleGroupRecipe.gap }, layoutStyle], children: descriptor.items.map((item) => {
|
|
24
29
|
const on = pressed.has(item.id);
|
|
25
30
|
const tone = on ? toggleGroupRecipe.pressed : toggleGroupRecipe.idle;
|
|
26
31
|
return (_jsx(Pressable, { accessibilityRole: "button",
|
package/dist/toggle-group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../src/toggle-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,GAG9B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../src/toggle-group.tsx"],"names":[],"mappings":"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"}
|
package/dist/top.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type TopDescriptor } from "@hjmds/design-contracts/components/top";
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
|
-
import { type StyleProp, type ViewStyle } from "react-native";
|
|
4
3
|
import type { HjmCompositionStyleProp } from "./composition-style.js";
|
|
5
4
|
export type TopProps = Readonly<{
|
|
6
5
|
descriptor: TopDescriptor;
|
|
@@ -8,11 +7,6 @@ export type TopProps = Readonly<{
|
|
|
8
7
|
trailing?: ReactNode;
|
|
9
8
|
/** Canonical layout-only placement. Controlled visual keys are excluded. */
|
|
10
9
|
layoutStyle?: HjmCompositionStyleProp;
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
|
|
13
|
-
* `topRecipe` owns appearance. Removed in the next major (consumer-policy.md §3.1).
|
|
14
|
-
*/
|
|
15
|
-
style?: StyleProp<ViewStyle>;
|
|
16
10
|
}>;
|
|
17
|
-
export declare function Top({ descriptor, trailing, layoutStyle
|
|
11
|
+
export declare function Top({ descriptor, trailing, layoutStyle }: TopProps): import("react").JSX.Element;
|
|
18
12
|
//# sourceMappingURL=top.d.ts.map
|
package/dist/top.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.d.ts","sourceRoot":"","sources":["../src/top.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"top.d.ts","sourceRoot":"","sources":["../src/top.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,UAAU,EAAE,aAAa,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,CAAC,CAAC;AAEH,wBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,+BA8DlE"}
|
package/dist/top.js
CHANGED
|
@@ -3,10 +3,8 @@ import { topDefaults, topRecipe, validateTopDescriptor, } from "@hjmds/design-co
|
|
|
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";
|
|
7
6
|
import { useHjmNativeTheme } from "./provider.js";
|
|
8
|
-
export function Top({ descriptor, trailing, layoutStyle
|
|
9
|
-
warnDeprecatedStyleProps("Top", { style }, "layoutStyle for placement; topRecipe owns appearance");
|
|
7
|
+
export function Top({ descriptor, trailing, layoutStyle }) {
|
|
10
8
|
validateTopDescriptor(descriptor);
|
|
11
9
|
const theme = useHjmNativeTheme();
|
|
12
10
|
const size = descriptor.size ?? topDefaults.size;
|
|
@@ -20,7 +18,6 @@ export function Top({ descriptor, trailing, layoutStyle, style }) {
|
|
|
20
18
|
const stack = theme.environment.textScale >= 1.6;
|
|
21
19
|
return (_jsxs(View, { style: [
|
|
22
20
|
{ gap: topRecipe.gap, paddingBottom: metrics.paddingBottom, paddingTop: metrics.paddingTop },
|
|
23
|
-
style,
|
|
24
21
|
layoutStyle,
|
|
25
22
|
], children: [descriptor.eyebrow ? (_jsx(Text, { style: { color: resolveColorReference(topRecipe.eyebrow.color, theme.palette) }, variant: topRecipe.eyebrow.textVariant, children: descriptor.eyebrow })) : null, _jsxs(View, { style: {
|
|
26
23
|
alignItems: stack ? "stretch" : "center",
|
package/dist/top.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.js","sourceRoot":"","sources":["../src/top.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,qBAAqB,GAEtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"top.js","sourceRoot":"","sources":["../src/top.tsx"],"names":[],"mappings":"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"}
|
package/dist/transfer-list.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type TransferListMoveDirection } from "@hjmds/design-contracts/components/transfer-list";
|
|
2
|
-
import type
|
|
3
|
-
import { type StyleProp, type ViewStyle } from "react-native";
|
|
2
|
+
import { type SelectItemDescriptor } from "@hjmds/design-contracts/behaviors";
|
|
4
3
|
import type { HjmCompositionStyleProp } from "./composition-style.js";
|
|
5
4
|
export type TransferListLabels = Readonly<{
|
|
6
5
|
source: string;
|
|
@@ -20,11 +19,6 @@ export type TransferListProps<Id extends string = string> = Readonly<{
|
|
|
20
19
|
onMove?: (movedIds: readonly Id[], direction: TransferListMoveDirection) => void;
|
|
21
20
|
/** Canonical layout-only placement. Controlled visual keys are excluded. */
|
|
22
21
|
layoutStyle?: HjmCompositionStyleProp;
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
|
|
25
|
-
* the transfer list renderer owns appearance. Removed in the next major (consumer-policy.md §3.1).
|
|
26
|
-
*/
|
|
27
|
-
style?: StyleProp<ViewStyle>;
|
|
28
22
|
}>;
|
|
29
|
-
export declare function TransferList<Id extends string = string>({ items, labels, targetKeys: controlledTargetKeys, defaultTargetKeys, onTargetKeysChange, onMove, layoutStyle,
|
|
23
|
+
export declare function TransferList<Id extends string = string>({ items, labels, targetKeys: controlledTargetKeys, defaultTargetKeys, onTargetKeysChange, onMove, layoutStyle, }: TransferListProps<Id>): import("react").JSX.Element;
|
|
30
24
|
//# sourceMappingURL=transfer-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-list.d.ts","sourceRoot":"","sources":["../src/transfer-list.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"transfer-list.d.ts","sourceRoot":"","sources":["../src/transfer-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,yBAAyB,EAG/B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAO1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IACnE,KAAK,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACrD,oFAAoF;IACpF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACjF,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,CAAC,CAAC;AASH,wBAAgB,YAAY,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EACvD,KAAK,EACL,MAAM,EACN,UAAU,EAAE,oBAAoB,EAChC,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,WAAW,GACZ,EAAE,iBAAiB,CAAC,EAAE,CAAC,+BAkHvB"}
|
package/dist/transfer-list.js
CHANGED
|
@@ -1,37 +1,56 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { transferListRecipe, moveTransferListSelection, reconcileTransferListSelection, resolveTransferListPanels, resolveTransferListSelectAllState, toggleTransferListSelectAll, toggleTransferListSelection, } from "@hjmds/design-contracts/components/transfer-list";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { transferListRecipe, moveTransferListSelection, reconcileTransferListSelection, resolveTransferListPanels, resolveTransferListSelectAllState, toggleTransferListSelectAll, toggleTransferListSelection, validateTransferListDescriptor, } from "@hjmds/design-contracts/components/transfer-list";
|
|
3
|
+
import { reconcileCheckboxSelection } from "@hjmds/design-contracts/behaviors";
|
|
4
|
+
import { control, spacing } from "@hjmds/design-contracts/foundations";
|
|
5
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
5
6
|
import { Pressable, ScrollView, View } from "react-native";
|
|
6
7
|
import { Button } from "./actions.js";
|
|
7
8
|
import { Text } from "./primitives.js";
|
|
8
9
|
import { mixedCheckboxState, useControllableState } from "./internal/state.js";
|
|
9
|
-
import { warnDeprecatedStyleProps } from "./internal/deprecated-style.js";
|
|
10
10
|
import { useHjmNativeTheme } from "./provider.js";
|
|
11
11
|
const emptySelection = () => ({
|
|
12
12
|
source: new Set(),
|
|
13
13
|
target: new Set(),
|
|
14
14
|
});
|
|
15
15
|
// UI control labels keep the ui font even when their metric variant is body; content still uses reading.
|
|
16
|
-
export function TransferList({ items, labels, targetKeys: controlledTargetKeys, defaultTargetKeys, onTargetKeysChange, onMove, layoutStyle,
|
|
17
|
-
warnDeprecatedStyleProps("TransferList", { style }, "layoutStyle for placement; the transfer list renderer owns appearance");
|
|
16
|
+
export function TransferList({ items, labels, targetKeys: controlledTargetKeys, defaultTargetKeys, onTargetKeysChange, onMove, layoutStyle, }) {
|
|
18
17
|
const { colors, designProfile } = useHjmNativeTheme();
|
|
19
18
|
// Panels share the Web md role; preserve the pre-profile frame when no profile is selected.
|
|
20
19
|
const corner = designProfile?.tokens.radius[transferListRecipe.panel.radius] ?? 12;
|
|
21
|
-
const [
|
|
20
|
+
const [storedTargetKeys, setTargetKeys] = useControllableState({
|
|
22
21
|
...(controlledTargetKeys === undefined ? {} : { value: controlledTargetKeys }),
|
|
23
22
|
defaultValue: defaultTargetKeys ?? new Set(),
|
|
24
23
|
...(onTargetKeysChange === undefined ? {} : { onChange: onTargetKeysChange }),
|
|
25
24
|
});
|
|
25
|
+
const validatedInitialTargets = useRef(false);
|
|
26
|
+
if (!validatedInitialTargets.current) {
|
|
27
|
+
validateTransferListDescriptor({ items, targetKeys: storedTargetKeys });
|
|
28
|
+
validatedInitialTargets.current = true;
|
|
29
|
+
}
|
|
30
|
+
const targetKeys = useMemo(() => controlledTargetKeys === undefined
|
|
31
|
+
? reconcileCheckboxSelection(items, storedTargetKeys) : storedTargetKeys, [controlledTargetKeys, items, storedTargetKeys]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (controlledTargetKeys === undefined && targetKeys !== storedTargetKeys)
|
|
34
|
+
setTargetKeys(targetKeys);
|
|
35
|
+
}, [controlledTargetKeys, setTargetKeys, storedTargetKeys, targetKeys]);
|
|
26
36
|
const [rawSelection, setSelection] = useState((emptySelection));
|
|
27
37
|
const descriptor = useMemo(() => ({ items, targetKeys }), [items, targetKeys]);
|
|
28
38
|
// A row that left the list entirely must not keep a pending check mark.
|
|
29
39
|
const selection = useMemo(() => reconcileTransferListSelection(descriptor, rawSelection), [descriptor, rawSelection]);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (selection !== rawSelection)
|
|
42
|
+
setSelection(selection);
|
|
43
|
+
}, [rawSelection, selection]);
|
|
30
44
|
const panels = resolveTransferListPanels(descriptor);
|
|
45
|
+
const canMove = (panel) => panels[panel].some(item => !item.disabled && selection[panel].has(item.id));
|
|
31
46
|
const move = (direction) => {
|
|
32
47
|
const result = moveTransferListSelection(descriptor, selection, direction);
|
|
48
|
+
if (result.movedIds.length === 0)
|
|
49
|
+
return;
|
|
33
50
|
setTargetKeys(result.targetKeys);
|
|
34
|
-
|
|
51
|
+
// Controlled owners may refuse or defer the move; keep checks until the rows actually leave.
|
|
52
|
+
if (controlledTargetKeys === undefined)
|
|
53
|
+
setSelection(result.selection);
|
|
35
54
|
if (result.movedIds.length > 0)
|
|
36
55
|
onMove?.(result.movedIds, direction);
|
|
37
56
|
};
|
|
@@ -42,11 +61,11 @@ export function TransferList({ items, labels, targetKeys: controlledTargetKeys,
|
|
|
42
61
|
// `mixed` is the contract's answer, not a third visual state invented
|
|
43
62
|
// here: some rows checked is neither on nor off.
|
|
44
63
|
// mixedCheckboxState keeps Android from holding a stale ", mixed" suffix.
|
|
45
|
-
accessibilityState: mixedCheckboxState(selectAll), accessibilityLabel: `${panel === "source" ? labels.source : labels.target}, ${labels.selectAll}`, disabled: rows.
|
|
64
|
+
accessibilityState: mixedCheckboxState(selectAll, { disabled: !rows.some(item => !item.disabled) }), accessibilityLabel: `${panel === "source" ? labels.source : labels.target}, ${labels.selectAll}`, disabled: !rows.some(item => !item.disabled), onPress: () => setSelection(toggleTransferListSelectAll(descriptor, selection, panel)), style: { minHeight: control.minTouchTarget, justifyContent: "center" }, children: _jsx(Text, { variant: "label", children: labels.selectAll }) }), _jsx(ScrollView, { accessibilityRole: "list", accessibilityLabel: panel === "source" ? labels.source : labels.target, style: { borderWidth: 1, borderColor: colors.border, borderRadius: corner }, contentContainerStyle: rows.length === 0 ? { flexGrow: 1, justifyContent: "center", alignItems: "center" } : undefined, children: rows.length === 0 ? (_jsx(Text, { tone: "muted", variant: "caption", align: "center", style: { padding: spacing.sm }, children: labels.empty })) : (rows.map((item) => {
|
|
46
65
|
const checked = selection[panel].has(item.id);
|
|
47
|
-
return (_jsx(Pressable, { accessibilityRole: "checkbox", accessibilityLabel: item.label, accessibilityState: { checked, disabled: item.disabled === true }, disabled: item.disabled === true, onPress: () => setSelection(toggleTransferListSelection(descriptor, selection, panel, item.id)), style: { minHeight:
|
|
66
|
+
return (_jsx(Pressable, { accessibilityRole: "checkbox", accessibilityLabel: item.label, accessibilityState: { checked, disabled: item.disabled === true }, disabled: item.disabled === true, onPress: () => setSelection(toggleTransferListSelection(descriptor, selection, panel, item.id)), style: { minHeight: control.minTouchTarget, justifyContent: "center", paddingHorizontal: spacing.sm }, children: _jsxs(Text, { fontRole: "ui", children: [checked ? "✓ " : "", item.label] }) }, item.id));
|
|
48
67
|
})) })] }));
|
|
49
68
|
};
|
|
50
|
-
return (_jsxs(View, { style: [{ gap: spacing.sm },
|
|
69
|
+
return (_jsxs(View, { style: [{ gap: spacing.sm }, layoutStyle], children: [_jsx(Text, { variant: "label", children: labels.source }), renderPanel("source"), _jsxs(View, { style: { flexDirection: "row", gap: spacing.sm, justifyContent: "center" }, children: [_jsx(Button, { tone: "secondary", disabled: !canMove("source"), onPress: () => move("toTarget"), children: labels.toTarget }), _jsx(Button, { tone: "secondary", disabled: !canMove("target"), onPress: () => move("toSource"), children: labels.toSource })] }), _jsx(Text, { variant: "label", children: labels.target }), renderPanel("target")] }));
|
|
51
70
|
}
|
|
52
71
|
//# sourceMappingURL=transfer-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-list.js","sourceRoot":"","sources":["../src/transfer-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"transfer-list.js","sourceRoot":"","sources":["../src/transfer-list.tsx"],"names":[],"mappings":"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"}
|
package/dist/upload-item.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type UploadItemDescriptor, type UploadItemLabels } from "@hjmds/design-contracts/components/upload-item";
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
|
-
import { type StyleProp, type ViewStyle } from "react-native";
|
|
4
3
|
import type { HjmCompositionStyleProp } from "./composition-style.js";
|
|
5
4
|
export type UploadItemProps = Readonly<{
|
|
6
5
|
descriptor: UploadItemDescriptor;
|
|
@@ -10,11 +9,6 @@ export type UploadItemProps = Readonly<{
|
|
|
10
9
|
leading?: ReactNode;
|
|
11
10
|
/** Canonical layout-only placement. Controlled visual keys are excluded. */
|
|
12
11
|
layoutStyle?: HjmCompositionStyleProp;
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated Raw visual style bypasses the HJM recipe. Use `layoutStyle` for placement;
|
|
15
|
-
* `uploadItemRecipe` owns appearance. Removed in the next major (consumer-policy.md §3.1).
|
|
16
|
-
*/
|
|
17
|
-
style?: StyleProp<ViewStyle>;
|
|
18
12
|
}>;
|
|
19
|
-
export declare function UploadItem({ descriptor, labels, onCancel, onRetry, leading, layoutStyle
|
|
13
|
+
export declare function UploadItem({ descriptor, labels, onCancel, onRetry, leading, layoutStyle }: UploadItemProps): import("react").JSX.Element;
|
|
20
14
|
//# sourceMappingURL=upload-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-item.d.ts","sourceRoot":"","sources":["../src/upload-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"upload-item.d.ts","sourceRoot":"","sources":["../src/upload-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,UAAU,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,CAAC,CAAC;AAEH,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,eAAe,+BA6C1G"}
|
package/dist/upload-item.js
CHANGED
|
@@ -4,10 +4,8 @@ import { Pressable, View } from "react-native";
|
|
|
4
4
|
import { Progress } from "./feedback.js";
|
|
5
5
|
import { minimumTargetStyle } from "./internal/styles.js";
|
|
6
6
|
import { Text } from "./primitives.js";
|
|
7
|
-
import { warnDeprecatedStyleProps } from "./internal/deprecated-style.js";
|
|
8
7
|
import { useHjmNativeTheme } from "./provider.js";
|
|
9
|
-
export function UploadItem({ descriptor, labels, onCancel, onRetry, leading, layoutStyle
|
|
10
|
-
warnDeprecatedStyleProps("UploadItem", { style }, "layoutStyle for placement; uploadItemRecipe owns appearance");
|
|
8
|
+
export function UploadItem({ descriptor, labels, onCancel, onRetry, leading, layoutStyle }) {
|
|
11
9
|
const { colors, environment, designProfile } = useHjmNativeTheme();
|
|
12
10
|
// The row md role follows the nearest profile; retain the pre-profile 12px frame.
|
|
13
11
|
const corner = designProfile?.tokens.radius[uploadItemRecipe.row.radius] ?? 12;
|
|
@@ -29,6 +27,6 @@ export function UploadItem({ descriptor, labels, onCancel, onRetry, leading, lay
|
|
|
29
27
|
// element, VoiceOver and TalkBack swallowed Cancel/Retry into it and the
|
|
30
28
|
// action was unreachable (2026-09-30 audit). The file text is one grouped
|
|
31
29
|
// element and the action is a separate button, as the contract's slots list.
|
|
32
|
-
_jsxs(View, { style: [{ alignItems: "center", borderColor: colors.border, borderRadius: corner, borderWidth: 1, direction: environment.direction, flexDirection: "row", gap: uploadItemRecipe.row.gap, minHeight: uploadItemRecipe.row.minHeight, paddingHorizontal: uploadItemRecipe.row.paddingHorizontal, paddingVertical: uploadItemRecipe.row.paddingVertical },
|
|
30
|
+
_jsxs(View, { style: [{ alignItems: "center", borderColor: colors.border, borderRadius: corner, borderWidth: 1, direction: environment.direction, flexDirection: "row", gap: uploadItemRecipe.row.gap, minHeight: uploadItemRecipe.row.minHeight, paddingHorizontal: uploadItemRecipe.row.paddingHorizontal, paddingVertical: uploadItemRecipe.row.paddingVertical }, layoutStyle], children: [leading === undefined ? null : _jsx(View, { accessible: false, importantForAccessibility: "no-hide-descendants", children: leading }), _jsxs(View, { accessibilityLabel: announcement.label, accessibilityState: { busy: descriptor.state.status === "uploading" }, accessibilityValue: { text: announcement.description }, accessible: true, style: { flex: 1, gap: 2, minWidth: 0 }, children: [_jsx(Text, { children: descriptor.name }), descriptor.sizeLabel === undefined ? null : _jsx(Text, { tone: "muted", variant: "label", children: descriptor.sizeLabel }), _jsx(Text, { accessibilityLiveRegion: "polite", style: { color: statusColor }, variant: "label", children: announcement.description }), descriptor.state.status === "uploading" ? _jsx(Progress, { accessibilityLabel: announcement.description, ...(descriptor.state.progress === null ? {} : { value: descriptor.state.progress * 100 }), valueText: announcement.description }) : null] }), action === null ? null : (_jsx(Pressable, { accessibilityLabel: action === "cancel" ? labels.cancel : labels.retry, accessibilityRole: "button", onPress: () => action === "cancel" ? onCancel?.(descriptor.id) : onRetry?.(descriptor.id), style: ({ pressed }) => [minimumTargetStyle, { alignItems: "center", justifyContent: "center", opacity: pressed ? 0.72 : 1 }], children: _jsx(Text, { emphasis: "strong", style: { color: action === "cancel" ? colors.danger : colors.contentBrand }, variant: "label", children: action === "cancel" ? labels.cancel : labels.retry }) }))] }));
|
|
33
31
|
}
|
|
34
32
|
//# sourceMappingURL=upload-item.js.map
|
package/dist/upload-item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-item.js","sourceRoot":"","sources":["../src/upload-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,gBAAgB,GAGjB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"upload-item.js","sourceRoot":"","sources":["../src/upload-item.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-list.d.ts","sourceRoot":"","sources":["../src/virtual-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxO,gHAAgH;AAChH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,+
|
|
1
|
+
{"version":3,"file":"virtual-list.d.ts","sourceRoot":"","sources":["../src/virtual-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxO,gHAAgH;AAChH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,+BAUrI"}
|
package/dist/virtual-list.js
CHANGED
|
@@ -7,6 +7,7 @@ export function VirtualList({ items, keyExtractor, renderItem, rowHeight, height
|
|
|
7
7
|
resolveVirtualWindow(items.length, rowHeight, height, 0, overscan);
|
|
8
8
|
// ScrollView defaults to flexGrow: 1; disable it so the declared viewport
|
|
9
9
|
// remains fixed inside a tall host instead of expanding beyond `height`.
|
|
10
|
-
|
|
10
|
+
// Empty guidance occupies the declared viewport, not a zero-height first row.
|
|
11
|
+
return _jsx(FlatList, { data: items, accessibilityLabel: label, keyExtractor: keyExtractor, style: { height, flexGrow: 0, flexShrink: 0 }, getItemLayout: (_data, index) => ({ length: rowHeight, offset: index * rowHeight, index }), contentContainerStyle: items.length === 0 ? { flexGrow: 1, justifyContent: "center", alignItems: "center" } : undefined, initialNumToRender: Math.ceil(height / rowHeight) + overscan, ListEmptyComponent: _jsx(View, { children: empty }), renderItem: ({ item, index }) => _jsx(View, { style: { height: rowHeight }, children: renderItem(item, index) }) });
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=virtual-list.js.map
|
package/dist/virtual-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-list.js","sourceRoot":"","sources":["../src/virtual-list.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAEzG,gHAAgH;AAChH,MAAM,UAAU,WAAW,CAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAuB;IACpI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;IAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrH,0EAA0E;IAC1E,yEAAyE;IACzE,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EACjF,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,EACzI,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,EAAE,kBAAkB,EAAE,KAAC,IAAI,cAAE,KAAK,GAAQ,EACtG,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,GAAQ,GAAI,CAAC;AAC9G,CAAC"}
|
|
1
|
+
{"version":3,"file":"virtual-list.js","sourceRoot":"","sources":["../src/virtual-list.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAEzG,gHAAgH;AAChH,MAAM,UAAU,WAAW,CAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAuB;IACpI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;IAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrH,0EAA0E;IAC1E,yEAAyE;IACzE,8EAA8E;IAC9E,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EACjF,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,EACzI,qBAAqB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,EACvH,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,EAAE,kBAAkB,EAAE,KAAC,IAAI,cAAE,KAAK,GAAQ,EACtG,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,GAAQ,GAAI,CAAC;AAC9G,CAAC"}
|
package/docs/liquid-toast.md
CHANGED
|
@@ -177,3 +177,12 @@ body, Skia fill/outline, raised shadow) and the circular origin, neck, timing an
|
|
|
177
177
|
profile the settled corner is now 24 (`radius.xl`, `liquidToastRecipe.radius`); with one, the profile's `radius.xl`.
|
|
178
178
|
`buildLiquidToastGeometry`'s default fourth argument follows (24). Device visual acceptance is still pending.
|
|
179
179
|
Contract: [Toast panel](../../design-contracts/docs/toast.md#패널-toast--미게시1172-이후).
|
|
180
|
+
|
|
181
|
+
## Whole-card navigation (unreleased)
|
|
182
|
+
|
|
183
|
+
Use `press: { accessibilityLabel: t('reply.open'), onPress: openReply }` on the existing descriptor.
|
|
184
|
+
The card's text, media and padding activate it; action and close remain independent buttons.
|
|
185
|
+
An upward swipe cancels the tap. The shared session executes a visible revision once and begins
|
|
186
|
+
exit with reason `press` after the callback; an update inside that callback keeps its new revision.
|
|
187
|
+
Pressable notices persist unless `durationMs` is explicit, including standard fallback and Web.
|
|
188
|
+
See the [Toast contract](../../design-contracts/docs/toast.md) for source analysis and verification limits.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hjmds/react-native",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
4
|
"description": "Expo-independent React Native renderers for HJM design contracts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"import": "./dist/index.js",
|
|
23
23
|
"default": "./dist/index.js"
|
|
24
24
|
},
|
|
25
|
+
"./status-text": {
|
|
26
|
+
"types": "./dist/status-text.d.ts",
|
|
27
|
+
"react-native": "./dist/status-text.js",
|
|
28
|
+
"import": "./dist/status-text.js",
|
|
29
|
+
"default": "./dist/status-text.js"
|
|
30
|
+
},
|
|
25
31
|
"./provider": {
|
|
26
32
|
"types": "./dist/provider.d.ts",
|
|
27
33
|
"react-native": "./dist/provider.js",
|
|
@@ -536,7 +542,7 @@
|
|
|
536
542
|
],
|
|
537
543
|
"peerDependencies": {
|
|
538
544
|
"@gorhom/bottom-sheet": "5.2.14",
|
|
539
|
-
"@hjmds/design-contracts": ">=1.
|
|
545
|
+
"@hjmds/design-contracts": ">=1.19.0 <1.20.0",
|
|
540
546
|
"@react-native-menu/menu": "1.2.2",
|
|
541
547
|
"@shopify/react-native-skia": "^2.6.2",
|
|
542
548
|
"react": ">=19",
|
|
@@ -595,7 +601,7 @@
|
|
|
595
601
|
"blobatar": "2.7.0",
|
|
596
602
|
"@blobatar/react-native": "2.7.0",
|
|
597
603
|
"lucide-react-native": "1.49.0",
|
|
598
|
-
"@hjmds/design-contracts": "1.
|
|
604
|
+
"@hjmds/design-contracts": "1.19.0"
|
|
599
605
|
},
|
|
600
606
|
"engines": {
|
|
601
607
|
"node": ">=20"
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare function isDevelopment(): boolean;
|
|
2
|
-
/** Development-only console.warn deduplicated by key for the lifetime of the JS runtime. */
|
|
3
|
-
export declare function warnOnce(key: string, message: string): void;
|
|
4
|
-
/** Warns once per component/prop pair for each deprecated visual style prop the caller passed. */
|
|
5
|
-
export declare function warnDeprecatedStyleProps(component: string, props: Readonly<Record<string, unknown>>, replacement: string): void;
|
|
6
|
-
/** Test seam: the once-per-runtime memo would otherwise hide warnings across test cases. */
|
|
7
|
-
export declare function resetDeprecatedStyleWarningsForTest(): void;
|
|
8
|
-
//# sourceMappingURL=deprecated-style.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated-style.d.ts","sourceRoot":"","sources":["../../src/internal/deprecated-style.ts"],"names":[],"mappings":"AAQA,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,WAAW,EAAE,MAAM,GAClB,IAAI,CAUN;AAED,4FAA4F;AAC5F,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Raw visual style props that survived 1.11 keep working (removing or throwing like Button would
|
|
2
|
-
// break 1.x callers in a minor) and warn once per component/prop until the next major. Per-render
|
|
3
|
-
// warnings were rejected because list rows flood Metro. See migration-native-legacy-removal.md.
|
|
4
|
-
const warned = new Set();
|
|
5
|
-
export function isDevelopment() {
|
|
6
|
-
const globals = globalThis;
|
|
7
|
-
// React Native defines __DEV__; Node tests fall back to NODE_ENV.
|
|
8
|
-
if (typeof globals.__DEV__ === "boolean")
|
|
9
|
-
return globals.__DEV__;
|
|
10
|
-
return globals.process?.env?.NODE_ENV !== "production";
|
|
11
|
-
}
|
|
12
|
-
/** Development-only console.warn deduplicated by key for the lifetime of the JS runtime. */
|
|
13
|
-
export function warnOnce(key, message) {
|
|
14
|
-
if (!isDevelopment() || warned.has(key))
|
|
15
|
-
return;
|
|
16
|
-
warned.add(key);
|
|
17
|
-
console.warn(`[@hjmds/react-native] ${message}`);
|
|
18
|
-
}
|
|
19
|
-
/** Warns once per component/prop pair for each deprecated visual style prop the caller passed. */
|
|
20
|
-
export function warnDeprecatedStyleProps(component, props, replacement) {
|
|
21
|
-
if (!isDevelopment())
|
|
22
|
-
return;
|
|
23
|
-
for (const [name, value] of Object.entries(props)) {
|
|
24
|
-
if (value === undefined || value === null || value === false)
|
|
25
|
-
continue;
|
|
26
|
-
warnOnce(`${component}.${name}`, `${component}.${name} is deprecated and will be removed in the next major. ` +
|
|
27
|
-
`Use ${replacement}. See docs/migration-native-legacy-removal.md.`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/** Test seam: the once-per-runtime memo would otherwise hide warnings across test cases. */
|
|
31
|
-
export function resetDeprecatedStyleWarningsForTest() {
|
|
32
|
-
warned.clear();
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=deprecated-style.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated-style.js","sourceRoot":"","sources":["../../src/internal/deprecated-style.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,kGAAkG;AAClG,gGAAgG;AAIhG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjC,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAwB,CAAC;IACzC,kEAAkE;IAClE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IACjE,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,YAAY,CAAC;AACzD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAe;IACnD,IAAI,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,KAAwC,EACxC,WAAmB;IAEnB,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK;YAAE,SAAS;QACvE,QAAQ,CACN,GAAG,SAAS,IAAI,IAAI,EAAE,EACtB,GAAG,SAAS,IAAI,IAAI,wDAAwD;YAC1E,OAAO,WAAW,gDAAgD,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,mCAAmC;IACjD,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
|