@echoform/echo-ui 0.2.0 → 0.2.1

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.
@@ -24,6 +24,12 @@ export type EchoMoreScreenProps = {
24
24
  logoAccessibilityLabel?: string;
25
25
  /** Title displayed in the centre of the header. Defaults to "More". */
26
26
  title?: string;
27
+ /** Optional host-supplied back action. No router dependency is owned here. */
28
+ onBackPress?: () => void;
29
+ /** Accessibility label for the optional back button. Defaults to "Go back". */
30
+ backAccessibilityLabel?: string;
31
+ /** Optional accessibility hint for the back button. */
32
+ backAccessibilityHint?: string;
27
33
  /** Safe-area top inset supplied by the host. Defaults to 0. */
28
34
  topInset?: number;
29
35
  /** Safe-area bottom inset used for scroll padding. Defaults to 0. */
@@ -37,5 +43,5 @@ export type EchoMoreScreenProps = {
37
43
  /** Main scrollable content — sections, cards, rows, etc. */
38
44
  children: React.ReactNode;
39
45
  };
40
- export declare function EchoMoreScreen({ logoSource, logoAccessibilityLabel, title, topInset, bottomInset, overlay, children, }: EchoMoreScreenProps): React.JSX.Element;
46
+ export declare function EchoMoreScreen({ logoSource, logoAccessibilityLabel, title, onBackPress, backAccessibilityLabel, backAccessibilityHint, topInset, bottomInset, overlay, children, }: EchoMoreScreenProps): React.JSX.Element;
41
47
  //# sourceMappingURL=EchoMoreScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EchoMoreScreen.d.ts","sourceRoot":"","sources":["../../src/components/EchoMoreScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAS,WAAW,EAAE,MAAM,YAAY,CAAC;AAIhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,6EAA6E;IAC7E,UAAU,EAAE,WAAW,CAAC;IACxB,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,sBAAoD,EACpD,KAAc,EACd,QAAY,EACZ,WAAe,EACf,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,qBA8CrB"}
1
+ {"version":3,"file":"EchoMoreScreen.d.ts","sourceRoot":"","sources":["../../src/components/EchoMoreScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAS,WAAW,EAAE,MAAM,YAAY,CAAC;AAMhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,6EAA6E;IAC7E,UAAU,EAAE,WAAW,CAAC;IACxB,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAChF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,sBAAoD,EACpD,KAAc,EACd,WAAW,EACX,sBAAkC,EAClC,qBAAqB,EACrB,QAAY,EACZ,WAAe,EACf,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,qBAqErB"}
@@ -24,9 +24,18 @@ exports.EchoMoreScreen = EchoMoreScreen;
24
24
  const react_1 = __importDefault(require("react"));
25
25
  const react_native_1 = require("react-native");
26
26
  const expo_image_1 = require("expo-image");
27
+ const vector_icons_1 = require("@expo/vector-icons");
27
28
  const theme_1 = require("../theme");
28
- function EchoMoreScreen({ logoSource, logoAccessibilityLabel = 'Echoform Productions Logo', title = 'More', topInset = 0, bottomInset = 0, overlay, children, }) {
29
+ function EchoMoreScreen({ logoSource, logoAccessibilityLabel = 'Echoform Productions Logo', title = 'More', onBackPress, backAccessibilityLabel = 'Go back', backAccessibilityHint, topInset = 0, bottomInset = 0, overlay, children, }) {
29
30
  return (<react_native_1.View style={[styles.root, { paddingTop: topInset }]}>
31
+ {onBackPress ? (<react_native_1.View style={styles.navigationRow}>
32
+ <react_native_1.Pressable onPress={onBackPress} style={({ pressed }) => [
33
+ styles.backButton,
34
+ pressed ? styles.backButtonPressed : null,
35
+ ]} accessibilityLabel={backAccessibilityLabel} accessibilityHint={backAccessibilityHint} accessibilityRole="button" hitSlop={8}>
36
+ <vector_icons_1.MaterialIcons name="arrow-back" size={22} color={theme_1.COLORS.textPrimary} importantForAccessibility="no" accessibilityElementsHidden/>
37
+ </react_native_1.Pressable>
38
+ </react_native_1.View>) : null}
30
39
  {/* ── Header ────────────────────────────────────────────────────── */}
31
40
  <react_native_1.View style={styles.header} accessibilityRole="header">
32
41
  {/* Logo — left-aligned, 90×90 to match the reference screen */}
@@ -62,6 +71,24 @@ const styles = react_native_1.StyleSheet.create({
62
71
  flex: 1,
63
72
  backgroundColor: theme_1.COLORS.bg,
64
73
  },
74
+ navigationRow: {
75
+ paddingHorizontal: theme_1.SPACING.lg,
76
+ paddingTop: theme_1.SPACING.sm,
77
+ alignItems: 'flex-start',
78
+ },
79
+ backButton: {
80
+ width: 40,
81
+ height: 40,
82
+ borderRadius: theme_1.RADIUS.md,
83
+ alignItems: 'center',
84
+ justifyContent: 'center',
85
+ backgroundColor: theme_1.COLORS.surfaceHigh,
86
+ borderWidth: 1,
87
+ borderColor: theme_1.COLORS.border,
88
+ },
89
+ backButtonPressed: {
90
+ opacity: 0.7,
91
+ },
65
92
  header: {
66
93
  flexDirection: 'row',
67
94
  alignItems: 'center',
@@ -1 +1 @@
1
- {"version":3,"file":"EchoMoreScreen.js","sourceRoot":"","sources":["../../src/components/EchoMoreScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EchoMoreScreen.js","sourceRoot":"","sources":["../../src/components/EchoMoreScreen.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@echoform/echo-ui",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Echoform Productions – shared React Native / Expo presentation library for the Echoform ecosystem",
5
5
  "author": "Echoform Productions",
6
6
  "license": "MIT",