@mapples/components 1.2.0 → 1.6.0-beta.20260916105611

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/CHANGELOG.md ADDED
@@ -0,0 +1,55 @@
1
+ # @mapples/components
2
+
3
+ ## 1.6.0-beta.20260916105611
4
+
5
+ ### Minor Changes
6
+
7
+ - a6c5872: All `@mapples/*` runtime packages now share one version and are versioned and published together from `mapplesorg/mapples-kit`; `mapples-open-kit` is a read-only mirror of the source.
8
+
9
+ ## 1.2.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 264ed6e: `ButtonGroup` provides `ButtonGroupContext` instead of wrapping every child in a cell, so its buttons take equal shares wherever the children come from (an editor rendering them through its own drop area included); buttons no longer need `fullWidth` for it. Overlay layers (`Dialog`, `BottomSheet`, `ActionSheet`, `Snackbar`) take their minimum height from the style provider's canvas dimensions when set and the window height otherwise, so a centred dialog no longer lands below a phone-sized frame. Bottom- and top-aligned overlay content now fills the layer, so `BottomSheet`'s percent `maxHeight` resolves against the layer instead of the sheet's own height — the sheet no longer shrinks and lifts off the bottom edge.
14
+
15
+ ## 1.2.0
16
+
17
+ ### Minor Changes
18
+
19
+ - 92b5e73: The themed component library. `@mapples/components` gains 48 components across six groups — actions, inputs, content, navigation, feedback and overlays — that paint themselves from the project theme and ship a canvas schematic each; `ImageCarousel` moves under `content/` alongside them, and `expo-image`, `react-native-gesture-handler` and `lodash` join the package's dependency surface.
20
+
21
+ `@mapples/ui` adds the design tokens (control sizes, radii, elevation, state-layer opacities) and the `useTones` hook the library paints from, deriving neutrals from the text colour at an alpha so they invert with the theme; `Button`, `IconButton`, `SubmitButton` and `TextInput` gain themed `variant`s (`filled`, `tonal`, `outlined`, `text`, `elevated`) behind an optional prop — left unset they render exactly as before.
22
+
23
+ `@mapples/style` adds `withAlpha`, which rewrites a resolved colour at a given alpha and throws on an unresolved token. `@mapples/app` mounts a `GestureHandlerRootView` above the rendered tree, which the gesture-driven components (`Slider`, `BottomSheet`) need, and takes `react-native-gesture-handler` as a peer dependency.
24
+
25
+ ## 1.1.2
26
+
27
+ ### Patch Changes
28
+
29
+ - 6150aa1: Update typography handling logic and resolve minor isssue
30
+
31
+ ## 1.1.1
32
+
33
+ ### Patch Changes
34
+
35
+ - f2313c2: feat: introudce navigation component
36
+
37
+ ## 1.1.0
38
+
39
+ ### Minor Changes
40
+
41
+ - 77277bc: Update to rn 56
42
+
43
+ ## 1.0.1
44
+
45
+ ### Patch Changes
46
+
47
+ - b39e19e: feat: create image carousel base component
48
+ - b39e19e: chore: remove unused ImageCarouselDataItem import
49
+ - b39e19e: feat: update styles
50
+
51
+ ## 1.0.0
52
+
53
+ ### Major Changes
54
+
55
+ - 53fb55e: feat: introduce components package
@@ -5,7 +5,7 @@ import { ButtonGroupDirection } from './types';
5
5
  export interface ButtonGroupProps extends ViewProps {
6
6
  /** Main axis. Defaults to `row`. */
7
7
  direction?: ButtonGroupDirection;
8
- /** Gives each of two or more children the same share of the group; a child fills its share with `fullWidth`. Defaults to `true`. */
8
+ /** Gives each `Button` in a row the same share of it. Defaults to `true`. */
9
9
  equal?: boolean;
10
10
  /** Space between children in points. Defaults to `8`. */
11
11
  gap?: number;
@@ -18,15 +18,16 @@ export interface ButtonGroupProps extends ViewProps {
18
18
  };
19
19
  }
20
20
  /**
21
- * A row or column of `Button` children with a shared gap and, by default,
22
- * equal shares of the width ("Cancel" / "Confirm", "Sign in" / "Sign up").
23
- * Buttons inside set `fullWidth` to fill their share.
21
+ * A row or column of `Button` children with a shared gap. In a row each
22
+ * button takes an equal share of the width by default ("Cancel" /
23
+ * "Confirm", "Sign in" / "Sign up"); in a column each spans it. The buttons
24
+ * size themselves from the group's context, so no per-button prop is needed.
24
25
  *
25
26
  * @example
26
27
  * ```tsx
27
28
  * <ButtonGroup>
28
- * <Button label="Cancel" variant="outlined" fullWidth onPress={close} />
29
- * <Button label="Confirm" variant="filled" fullWidth onPress={confirm} />
29
+ * <Button label="Cancel" variant="outlined" onPress={close} />
30
+ * <Button label="Confirm" variant="filled" onPress={confirm} />
30
31
  * </ButtonGroup>
31
32
  * ```
32
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/ButtonGroup/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,qCAAqC;AACrC,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,oCAAoC;IACpC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,oIAAoI;IACpI,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,MAAM,CAAC,EAAE;QACP,iBAAiB;QACjB,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;KAC/B,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,WAAW;;wCAyDhB,CAAC;AAGF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/ButtonGroup/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,qCAAqC;AACrC,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,oCAAoC;IACpC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,MAAM,CAAC,EAAE;QACP,iBAAiB;QACjB,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;KAC/B,CAAC;CACH;AAED;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,WAAW;;wCAwChB,CAAC;AAGF,eAAe,WAAW,CAAC"}
@@ -1,53 +1,39 @@
1
- import { Children, forwardRef } from 'react';
1
+ import { forwardRef, useMemo } from 'react';
2
2
  import { StyledView } from '@mapples/style';
3
+ import { ButtonGroupContext } from '@mapples/ui';
3
4
  /**
4
- * A row or column of `Button` children with a shared gap and, by default,
5
- * equal shares of the width ("Cancel" / "Confirm", "Sign in" / "Sign up").
6
- * Buttons inside set `fullWidth` to fill their share.
5
+ * A row or column of `Button` children with a shared gap. In a row each
6
+ * button takes an equal share of the width by default ("Cancel" /
7
+ * "Confirm", "Sign in" / "Sign up"); in a column each spans it. The buttons
8
+ * size themselves from the group's context, so no per-button prop is needed.
7
9
  *
8
10
  * @example
9
11
  * ```tsx
10
12
  * <ButtonGroup>
11
- * <Button label="Cancel" variant="outlined" fullWidth onPress={close} />
12
- * <Button label="Confirm" variant="filled" fullWidth onPress={confirm} />
13
+ * <Button label="Cancel" variant="outlined" onPress={close} />
14
+ * <Button label="Confirm" variant="filled" onPress={confirm} />
13
15
  * </ButtonGroup>
14
16
  * ```
15
17
  *
16
18
  * @public
17
19
  */
18
20
  const ButtonGroup = forwardRef(({ direction = 'row', equal = true, gap = 8, fullWidth = true, styled, children, ...rest }, ref) => {
19
- const row = direction === 'row';
20
- // Every child sits in its own cell that mirrors the group's axis: on
21
- // device each Button gets an equal share; on the canvas the single
22
- // drop-area child still lays its elements out along the same axis.
23
- const cell = row
24
- ? {
25
- flexGrow: 1,
26
- flexShrink: 1,
27
- flexBasis: fullWidth ? 0 : 'auto',
28
- minWidth: 0,
29
- flexDirection: 'row',
30
- alignItems: 'center',
31
- gap,
32
- }
33
- : { alignSelf: 'stretch', flexDirection: 'column', gap };
34
- return (<StyledView ref={ref} styled={{
21
+ const group = useMemo(() => ({ direction, equal, fill: fullWidth }), [direction, equal, fullWidth]);
22
+ return (<ButtonGroupContext.Provider value={group}>
23
+ <StyledView ref={ref} styled={{
35
24
  style: [
36
25
  {
37
26
  flexDirection: direction,
38
- alignItems: row ? 'center' : 'stretch',
27
+ alignItems: direction === 'row' ? 'center' : 'stretch',
39
28
  alignSelf: fullWidth ? 'stretch' : 'flex-start',
40
29
  gap,
41
30
  },
42
31
  styled?.style,
43
32
  ],
44
33
  }} {...rest}>
45
- {equal
46
- ? Children.map(children, (child) => child === null ||
47
- child === undefined ||
48
- typeof child === 'boolean' ? null : (<StyledView styled={{ style: cell }}>{child}</StyledView>))
49
- : children}
50
- </StyledView>);
34
+ {children}
35
+ </StyledView>
36
+ </ButtonGroupContext.Provider>);
51
37
  });
52
38
  ButtonGroup.displayName = 'ButtonGroup';
53
39
  export default ButtonGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/actions/ButtonGroup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAqB,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsBxD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,GAAG,UAAU,CAC5B,CACE,EACE,SAAS,GAAG,KAAK,EACjB,KAAK,GAAG,IAAI,EACZ,GAAG,GAAG,CAAC,EACP,SAAS,GAAG,IAAI,EAChB,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC;IAChC,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,IAAI,GAAc,GAAG;QACzB,CAAC,CAAC;YACE,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YACjC,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,GAAG;SACJ;QACH,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAE3D,OAAO,CACL,CAAC,UAAU,CACT,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,MAAM,CAAC,CAAC;YACN,KAAK,EAAE;gBACL;oBACE,aAAa,EAAE,SAAS;oBACxB,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACtC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;oBAC/C,GAAG;iBACJ;gBACD,MAAM,EAAE,KAAK;aACd;SACF,CAAC,CACF,IAAI,IAAI,CAAC,CAET;QAAA,CAAC,KAAK;YACJ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/B,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAC1D,CACF;YACH,CAAC,CAAC,QAAQ,CACd;MAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/actions/ButtonGroup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,aAAa,CAAC;AAsB1E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,GAAG,UAAU,CAC5B,CACE,EACE,SAAS,GAAG,KAAK,EACjB,KAAK,GAAG,IAAI,EACZ,GAAG,GAAG,CAAC,EACP,SAAS,GAAG,IAAI,EAChB,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC7C,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAC9B,CAAC;IAEF,OAAO,CACL,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CACxC;QAAA,CAAC,UAAU,CACT,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,MAAM,CAAC,CAAC;YACN,KAAK,EAAE;gBACL;oBACE,aAAa,EAAE,SAAS;oBACxB,UAAU,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACtD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;oBAC/C,GAAG;iBACJ;gBACD,MAAM,EAAE,KAAK;aACd;SACF,CAAC,CACF,IAAI,IAAI,CAAC,CAET;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,UAAU,CACd;MAAA,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAC/B,CAAC;AACJ,CAAC,CACF,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,eAAe,WAAW,CAAC"}
@@ -29,9 +29,12 @@ export interface OverlayRootProps {
29
29
  * The shared root of Dialog, BottomSheet, ActionSheet and Snackbar. It is the
30
30
  * component's OWN outer view: `position: absolute` with every inset at 0, so
31
31
  * it covers the parent it is placed in — the page root, which the canvas
32
- * keeps at least a device tall and a built app keeps one screen tall. On the
33
- * web the page may scroll, so the layer is also at least a window tall. A
34
- * hidden overlay renders nothing once its exit animation has played.
32
+ * keeps at least a device tall and a built app keeps one screen tall. The
33
+ * layer is also at least one viewport tall (a web page may scroll): the
34
+ * device height when a style provider declares canvas dimensions, the window
35
+ * height otherwise. The window is wrong on the canvas — a browser window is
36
+ * taller than a phone frame, so centred and bottom content landed below the
37
+ * frame. A hidden overlay renders nothing once its exit animation has played.
35
38
  */
36
39
  declare const OverlayRoot: import("react").ForwardRefExoticComponent<OverlayRootProps & {
37
40
  children?: import("react").ReactNode | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayRoot.d.ts","sourceRoot":"","sources":["../../../src/internal/overlay/OverlayRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAyB,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAIL,IAAI,EACJ,SAAS,EACV,MAAM,cAAc,CAAC;AAMtB,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,0CAA0C;IAC1C,KAAK,EAAE,YAAY,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gEAAgE;IAChE,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9B,iCAAiC;IACjC,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW;;wCAkFhB,CAAC;AAeF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"OverlayRoot.d.ts","sourceRoot":"","sources":["../../../src/internal/overlay/OverlayRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAmC,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAIL,IAAI,EACJ,SAAS,EACV,MAAM,cAAc,CAAC;AAMtB,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,0CAA0C;IAC1C,KAAK,EAAE,YAAY,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gEAAgE;IAChE,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9B,iCAAiC;IACjC,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;GAUG;AACH,QAAA,MAAM,WAAW;;wCAoFhB,CAAC;AAoBF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { forwardRef, useMemo } from 'react';
2
- import { StyledView, useStyled } from '@mapples/style';
2
+ import { StyledView, useStyle, useStyled } from '@mapples/style';
3
3
  import { useTones } from '@mapples/ui';
4
4
  import { Animated, StyleSheet, useWindowDimensions, } from 'react-native';
5
5
  import useOverlayPresence from '../useOverlayPresence';
@@ -9,14 +9,19 @@ const OVERLAY_Z_INDEX = 1000;
9
9
  * The shared root of Dialog, BottomSheet, ActionSheet and Snackbar. It is the
10
10
  * component's OWN outer view: `position: absolute` with every inset at 0, so
11
11
  * it covers the parent it is placed in — the page root, which the canvas
12
- * keeps at least a device tall and a built app keeps one screen tall. On the
13
- * web the page may scroll, so the layer is also at least a window tall. A
14
- * hidden overlay renders nothing once its exit animation has played.
12
+ * keeps at least a device tall and a built app keeps one screen tall. The
13
+ * layer is also at least one viewport tall (a web page may scroll): the
14
+ * device height when a style provider declares canvas dimensions, the window
15
+ * height otherwise. The window is wrong on the canvas — a browser window is
16
+ * taller than a phone frame, so centred and bottom content landed below the
17
+ * frame. A hidden overlay renders nothing once its exit animation has played.
15
18
  */
16
19
  const OverlayRoot = forwardRef(({ visible, align, enter, backdrop = true, dismissOnBackdrop = true, onDismiss, style, styleBackdrop, zIndex = OVERLAY_Z_INDEX, modal = false, testID, children, }, ref) => {
17
20
  const { mounted, progress } = useOverlayPresence(visible);
18
21
  const tones = useTones();
19
22
  const { height: windowHeight } = useWindowDimensions();
23
+ const { _canvas } = useStyle();
24
+ const viewportHeight = _canvas ? _canvas.height : windowHeight;
20
25
  const contentStyle = useMemo(() => {
21
26
  const scale = progress.interpolate({
22
27
  inputRange: [0, 1],
@@ -45,7 +50,7 @@ const OverlayRoot = forwardRef(({ visible, align, enter, backdrop = true, dismis
45
50
  return (<StyledView ref={ref} testID={testID} pointerEvents={backdrop ? 'auto' : 'box-none'} accessibilityViewIsModal={modal} styled={{
46
51
  style: [
47
52
  StyleSheet.absoluteFill,
48
- { zIndex, minHeight: windowHeight },
53
+ { zIndex, minHeight: viewportHeight },
49
54
  alignStyles[align],
50
55
  resolvedRoot.root,
51
56
  ],
@@ -62,10 +67,15 @@ const alignStyles = {
62
67
  bottom: { justifyContent: 'flex-end', alignItems: 'stretch' },
63
68
  top: { justifyContent: 'flex-start', alignItems: 'stretch' },
64
69
  };
70
+ // Edge-aligned content fills the layer and sits at its edge, so a percent
71
+ // height on the content (BottomSheet's `maxHeight: '80%'`) resolves against
72
+ // the layer. Sized to its content instead, the wrapper made the sheet cap
73
+ // itself at 80% of its OWN height — shrunk, lifted off the bottom edge, with
74
+ // the scrim showing underneath. `box-none` keeps the empty part tappable.
65
75
  const alignContent = {
66
76
  center: { width: '100%', alignItems: 'center', padding: 24 },
67
- bottom: { width: '100%' },
68
- top: { width: '100%' },
77
+ bottom: { width: '100%', flex: 1, justifyContent: 'flex-end' },
78
+ top: { width: '100%', flex: 1, justifyContent: 'flex-start' },
69
79
  };
70
80
  export default OverlayRoot;
71
81
  //# sourceMappingURL=OverlayRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayRoot.js","sourceRoot":"","sources":["../../../src/internal/overlay/OverlayRoot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OverlayRoot.js","sourceRoot":"","sources":["../../../src/internal/overlay/OverlayRoot.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapples/components",
3
- "version": "1.2.0",
3
+ "version": "1.6.0-beta.20260916105611",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -40,4 +40,4 @@
40
40
  "README.md",
41
41
  "package.json"
42
42
  ]
43
- }
43
+ }