@a-type/ui 5.0.10 → 5.0.12

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.
@@ -1,5 +1,4 @@
1
1
  // @unocss-include
2
- 'use client';
3
2
  var __rest = (this && this.__rest) || function (s, e) {
4
3
  var t = {};
5
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -16,9 +15,10 @@ import classNames from 'clsx';
16
15
  import useMergedRef from '../../hooks/useMergedRef.js';
17
16
  import { useBoundsCssVars } from '../../hooks/useSize.js';
18
17
  import { Box } from '../box/Box.js';
18
+ const bodyRef = typeof document !== 'undefined' ? { current: document.body } : undefined;
19
19
  export function PageContent(_a) {
20
20
  var { children, className, ref, p } = _a, rest = __rest(_a, ["children", "className", "ref", "p"]);
21
- const innerRef = useBoundsCssVars(200, undefined, {
21
+ const innerRef = useBoundsCssVars(200, bodyRef, {
22
22
  left: '--content-left',
23
23
  top: '--content-top',
24
24
  width: '--content-width',
@@ -1 +1 @@
1
- {"version":3,"file":"PageContent.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageContent.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;AACb,OAAO,UAAU,MAAM,MAAM,CAAC;AAC9B,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAY,MAAM,eAAe,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,EAMjB;QANiB,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,EACH,CAAC,OAES,EADP,IAAI,cALoB,qCAM3B,CADO;IAEP,MAAM,QAAQ,GAAG,gBAAgB,CAAiB,GAAG,EAAE,SAAS,EAAE;QACjE,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,iBAAiB;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE7C,OAAO,CACN,KAAC,GAAG,kBACH,GAAG,QACH,MAAM,EAAC,eAAe,EACtB,IAAI,EAAC,OAAO,EACZ,CAAC,EACA,CAAC,IAAI;YACJ,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,IAAI;SACR,EAEF,GAAG,EAAC,IAAI,EACR,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,UAAU,CACpB,qBAAqB,EACrB,8EAA8E,EAC9E,SAAS,CACT,EACD,GAAG,EAAE,QAAQ,IACT,IAAI,cAEP,QAAQ,IACJ,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"PageContent.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,MAAM,CAAC;AAC9B,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAY,MAAM,eAAe,CAAC;AAE9C,MAAM,OAAO,GACZ,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAE1E,MAAM,UAAU,WAAW,CAAC,EAMjB;QANiB,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,EACH,CAAC,OAES,EADP,IAAI,cALoB,qCAM3B,CADO;IAEP,MAAM,QAAQ,GAAG,gBAAgB,CAAiB,GAAG,EAAE,OAAO,EAAE;QAC/D,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,iBAAiB;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE7C,OAAO,CACN,KAAC,GAAG,kBACH,GAAG,QACH,MAAM,EAAC,eAAe,EACtB,IAAI,EAAC,OAAO,EACZ,CAAC,EACA,CAAC,IAAI;YACJ,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,IAAI;SACR,EAEF,GAAG,EAAC,IAAI,EACR,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,UAAU,CACpB,qBAAqB,EACrB,8EAA8E,EAC9E,SAAS,CACT,EACD,GAAG,EAAE,QAAQ,IACT,IAAI,cAEP,QAAQ,IACJ,CACN,CAAC;AACH,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export declare function PageNowPlaying({ className, keepAboveKeyboard, ...props }: HTMLAttributes<HTMLDivElement> & {
2
+ export declare function PageNowPlaying({ className, keepAboveKeyboard, disablePortal, container, ...props }: HTMLAttributes<HTMLDivElement> & {
3
3
  keepAboveKeyboard?: boolean;
4
+ disablePortal?: boolean;
5
+ container?: HTMLElement;
4
6
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
1
  // @unocss-include
2
- 'use client';
3
2
  var __rest = (this && this.__rest) || function (s, e) {
4
3
  var t = {};
5
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -13,18 +12,23 @@ var __rest = (this && this.__rest) || function (s, e) {
13
12
  };
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
15
14
  import classNames from 'clsx';
15
+ import { createPortal } from 'react-dom';
16
16
  import { GroupScaleReset } from '../../systems/GroupScale.js';
17
17
  import { useConfig } from '../provider/Provider.js';
18
18
  export function PageNowPlaying(_a) {
19
- var { className, keepAboveKeyboard } = _a, props = __rest(_a, ["className", "keepAboveKeyboard"]);
19
+ var { className, keepAboveKeyboard, disablePortal, container = document.body } = _a, props = __rest(_a, ["className", "keepAboveKeyboard", "disablePortal", "container"]);
20
20
  const { virtualKeyboardBehavior } = useConfig();
21
- return (_jsx(GroupScaleReset, { children: _jsx("div", Object.assign({}, props, { className: classNames('layer-components:fixed layer-components:left-0 layer-components:right-0 layer-components:z-[var(--z-now-playing)] layer-components:flex layer-components:flex-col layer-components:items-end layer-components:gap-2',
21
+ const content = (_jsx(GroupScaleReset, { children: _jsx("div", Object.assign({}, props, { className: classNames(disablePortal && 'layer-components:z-now-playing', 'layer-components:fixed layer-components:left-0 layer-components:right-0 layer-components:flex layer-components:flex-col layer-components:items-center layer-components:gap-2',
22
22
  // on mobile, this must be positioned above any nav bar that's present,
23
23
  // or at minimum in the safe area
24
- 'layer-components:bottom-[var(--nav-height,env(safe-area-inset-bottom,0px))]', 'layer-components:transition-bottom', 'layer-components:md:fixed layer-components:md:bottom-3 layer-components:md:left-[var(--content-left,20%)] layer-components:md:top-auto layer-components:md:w-[var(--content-width,100%)] layer-components:md:items-end layer-components:md:p-0 layer-components:md:opacity-[var(--content-ready,0)] layer-components:md:transition-opacity', 'layer-variants:p-2', keepAboveKeyboard &&
24
+ 'layer-components:bottom-[var(--nav-height,env(safe-area-inset-bottom,0px))]', 'layer-components:md:bottom-md layer-components:md:left-[var(--content-left,0)] layer-components:md:w-[var(--content-width,100%)] layer-components:md:items-center layer-components:md:p-0 layer-components:md:opacity-[var(--content-ready,0)] layer-components:md:transition-opacity', 'layer-variants:p-2', keepAboveKeyboard &&
25
25
  virtualKeyboardBehavior === 'overlay' &&
26
26
  'layer-variants:lt-md:bottom-[max(var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px),var(--nav-height,env(safe-area-inset-bottom,0px))))]', keepAboveKeyboard &&
27
27
  virtualKeyboardBehavior === 'displace' &&
28
- 'layer-variants:lt-md:bottom-[max(var(--viewport-bottom-offset,0px),var(--nav-height,env(safe-area-inset-bottom,0px)))]', className) })) }));
28
+ 'layer-variants:lt-md:bottom-[max(var(--mock-virtual-keyboard-height,var(--viewport-bottom-offset,0px)),var(--nav-height,env(safe-area-inset-bottom,0px)))]', className) })) }));
29
+ if (disablePortal) {
30
+ return content;
31
+ }
32
+ return createPortal(content, container);
29
33
  }
30
34
  //# sourceMappingURL=PageNowPlaying.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageNowPlaying.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageNowPlaying.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;AAEb,OAAO,UAAU,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,UAAU,cAAc,CAAC,EAM9B;QAN8B,EAC9B,SAAS,EACT,iBAAiB,OAIjB,EAHG,KAAK,cAHsB,kCAI9B,CADQ;IAIR,MAAM,EAAE,uBAAuB,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhD,OAAO,CACN,KAAC,eAAe,cACf,8BACK,KAAK,IACT,SAAS,EAAE,UAAU,CACpB,gGAAgG;YAChG,uEAAuE;YACvE,iCAAiC;YACjC,6EAA6E,EAC7E,oCAAoC,EACpC,8KAA8K,EAC9K,oBAAoB,EACpB,iBAAiB;gBAChB,uBAAuB,KAAK,SAAS;gBACrC,yJAAyJ,EAC1J,iBAAiB;gBAChB,uBAAuB,KAAK,UAAU;gBACtC,wHAAwH,EACzH,SAAS,CACT,IACA,GACe,CAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"PageNowPlaying.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageNowPlaying.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,UAAU,cAAc,CAAC,EAU9B;QAV8B,EAC9B,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,SAAS,GAAG,QAAQ,CAAC,IAAI,OAMzB,EALG,KAAK,cALsB,gEAM9B,CADQ;IAMR,MAAM,EAAE,uBAAuB,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAG,CACf,KAAC,eAAe,cACf,8BACK,KAAK,IACT,SAAS,EAAE,UAAU,CACpB,aAAa,IAAI,gCAAgC,EACjD,0EAA0E;YAC1E,uEAAuE;YACvE,iCAAiC;YACjC,6EAA6E,EAC7E,iKAAiK,EACjK,oBAAoB,EACpB,iBAAiB;gBAChB,uBAAuB,KAAK,SAAS;gBACrC,yJAAyJ,EAC1J,iBAAiB;gBAChB,uBAAuB,KAAK,UAAU;gBACtC,4JAA4J,EAC7J,SAAS,CACT,IACA,GACe,CAClB,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  export interface PageRootProps extends HTMLAttributes<HTMLDivElement> {
3
+ mobileBasis?: '0' | 'auto';
3
4
  }
4
- export declare function PageRoot({ className, children, ...rest }: PageRootProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function PageRoot({ className, children, mobileBasis, ...rest }: PageRootProps): import("react/jsx-runtime").JSX.Element;
@@ -13,7 +13,11 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import clsx from 'clsx';
15
15
  export function PageRoot(_a) {
16
- var { className, children } = _a, rest = __rest(_a, ["className", "children"]);
17
- return (_jsx("div", Object.assign({ className: clsx('layer-components:min-h-100dvh layer-components:flex-shrink-1 layer-components:flex-grow-1 layer-components:flex-basis-0 layer-components:bg-wash', 'layer-components:grid layer-components:grid-cols-[1fr] layer-components:grid-rows-[1fr_auto] layer-components:grid-areas-[content]-[nav] layer-components:items-start layer-components:justify-center', 'md:layer-responsive:grid-cols-[1fr_auto_20fr_1fr] md:layer-responsive:grid-areas-[gutter1_nav_content_gutter2] md:layer-responsive:h-auto md:layer-responsive:min-h-auto md:layer-responsive:bg-wash', 'lg:layer-responsive:grid-cols-[1fr_auto_min(800px,70vw)_1fr]', className) }, rest, { children: children })));
16
+ var { className, children, mobileBasis = 'auto' } = _a, rest = __rest(_a, ["className", "children", "mobileBasis"]);
17
+ return (_jsx("div", Object.assign({ className: clsx(
18
+ // TODO: once I'm sure which one is right, remove the other
19
+ mobileBasis === '0'
20
+ ? 'layer-components:flex-basis-0'
21
+ : 'layer-components:flex-basis-auto', 'layer-components:min-h-100dvh layer-components:flex-shrink-1 layer-components:flex-grow-1 layer-components:bg-wash', 'layer-components:grid layer-components:grid-cols-[1fr] layer-components:grid-rows-[1fr_auto] layer-components:grid-areas-[content]-[nav] layer-components:items-start layer-components:justify-center', 'md:layer-responsive:grid-cols-[1fr_auto_20fr_1fr] md:layer-responsive:grid-areas-[gutter1_nav_content_gutter2] md:layer-responsive:h-auto md:layer-responsive:min-h-auto md:layer-responsive:bg-wash', 'lg:layer-responsive:grid-cols-[1fr_auto_min(800px,70vw)_1fr]', className) }, rest, { children: children })));
18
22
  }
19
23
  //# sourceMappingURL=PageRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageRoot.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,MAAM,UAAU,QAAQ,CAAC,EAA+C;QAA/C,EAAE,SAAS,EAAE,QAAQ,OAA0B,EAArB,IAAI,cAA9B,yBAAgC,CAAF;IACtD,OAAO,CACN,4BACC,SAAS,EAAE,IAAI,CACd,gFAAgF,EAChF,oHAAoH,EACpH,wHAAwH,EACxH,gEAAgE,EAChE,SAAS,CACT,IACG,IAAI,cAEP,QAAQ,IACJ,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"PageRoot.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,MAAM,UAAU,QAAQ,CAAC,EAKT;QALS,EACxB,SAAS,EACT,QAAQ,EACR,WAAW,GAAG,MAAM,OAEL,EADZ,IAAI,cAJiB,wCAKxB,CADO;IAEP,OAAO,CACN,4BACC,SAAS,EAAE,IAAI;QACd,2DAA2D;QAC3D,WAAW,KAAK,GAAG;YAClB,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,kCAAkC,EACrC,mEAAmE,EACnE,oHAAoH,EACpH,wHAAwH,EACxH,gEAAgE,EAChE,SAAS,CACT,IACG,IAAI,cAEP,QAAQ,IACJ,CACN,CAAC;AACH,CAAC"}
@@ -2,6 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useState } from 'react';
4
4
  import { Avatar } from '../avatar/Avatar.js';
5
+ import { Box } from '../box/Box.js';
5
6
  import { Button } from '../button/index.js';
6
7
  import { Card } from '../card/Card.js';
7
8
  import { Input } from '../input/index.js';
@@ -24,16 +25,16 @@ export const Default = {
24
25
  render: () => {
25
26
  const [content, setContent] = useState(true);
26
27
  const toggleContent = () => setContent((prev) => !prev);
27
- return (_jsxs(PageRoot, { className: "bg-primary-wash", children: [_jsxs(PageContent, { children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold", children: "Hello, World!" }), _jsx("p", { className: "text-lg", children: "This is a simple page layout." })] }), _jsx(Switch, { checked: content, onCheckedChange: toggleContent }), content && (_jsx(Card.Grid, { children: new Array(100).fill(null).map((_, i) => (_jsx(Card, { children: _jsx(Card.Main, {}) }, i))) })), _jsx(PageNowPlaying, { children: "Now playing" })] }), _jsx(PageNav, { children: _jsxs(NavBarRoot, { children: [_jsxs(NavBarItem, { children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "cart" }) }), _jsx(NavBarItemText, { children: "Item 1 long" })] }), _jsxs(NavBarItem, { active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "book" }) }), _jsx(NavBarItemText, { children: "Item 2" }), _jsx(NavBarItemPip, {})] }), _jsxs(NavBarItem, { color: "gray", active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { render: (_, { size }) => (_jsx(Avatar, { name: "Grant Forrest", size: size })) }) }), _jsx(NavBarItemText, { children: "Neutral" }), _jsx(NavBarItemPip, {})] })] }) })] }));
28
+ return (_jsxs(PageRoot, { children: [_jsxs(PageContent, { children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold", children: "Hello, World!" }), _jsx("p", { className: "text-lg", children: "This is a simple page layout." })] }), _jsx(Switch, { checked: content, onCheckedChange: toggleContent }), content && (_jsx(Card.Grid, { children: new Array(100).fill(null).map((_, i) => (_jsx(Card, { children: _jsx(Card.Main, {}) }, i))) })), _jsx(PageNowPlaying, { children: _jsx(Box, { surface: "white", elevated: "lg", full: true, p: true, children: "Now playing" }) })] }), _jsx(PageNav, { children: _jsxs(NavBarRoot, { children: [_jsxs(NavBarItem, { children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "cart" }) }), _jsx(NavBarItemText, { children: "Item 1 long" })] }), _jsxs(NavBarItem, { active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "book" }) }), _jsx(NavBarItemText, { children: "Item 2" }), _jsx(NavBarItemPip, {})] }), _jsxs(NavBarItem, { color: "gray", active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { render: (_, { size }) => (_jsx(Avatar, { name: "Grant Forrest", size: size })) }) }), _jsx(NavBarItemText, { children: "Neutral" }), _jsx(NavBarItemPip, {})] })] }) })] }));
28
29
  },
29
30
  };
30
31
  export const ManualWidth = {
31
32
  render: () => {
32
- return (_jsxs(PageRoot, { className: "bg-primary-wash", children: [_jsxs(PageContent, { className: "max-w-300px", children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold", children: "Hello, World!" }), _jsx("p", { className: "text-lg", children: "This is a simple page layout." })] }), _jsx(Card.Grid, { children: new Array(100).fill(null).map((_, i) => (_jsx(Card, { children: _jsx(Card.Main, {}) }, i))) })] }), _jsx(PageNav, { children: _jsxs(NavBarRoot, { children: [_jsxs(NavBarItem, { children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "cart" }) }), _jsx(NavBarItemText, { children: "Item 1 long" })] }), _jsxs(NavBarItem, { active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "book" }) }), _jsx(NavBarItemText, { children: "Item 2" }), _jsx(NavBarItemPip, {})] }), _jsxs(NavBarItem, { color: "gray", active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "book" }) }), _jsx(NavBarItemText, { children: "Neutral" }), _jsx(NavBarItemPip, {})] })] }) })] }));
33
+ return (_jsxs(PageRoot, { children: [_jsxs(PageContent, { className: "max-w-300px", children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold", children: "Hello, World!" }), _jsx("p", { className: "text-lg", children: "This is a simple page layout." })] }), _jsx(Card.Grid, { children: new Array(100).fill(null).map((_, i) => (_jsx(Card, { children: _jsx(Card.Main, {}) }, i))) })] }), _jsx(PageNav, { children: _jsxs(NavBarRoot, { children: [_jsxs(NavBarItem, { children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "cart" }) }), _jsx(NavBarItemText, { children: "Item 1 long" })] }), _jsxs(NavBarItem, { active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "book" }) }), _jsx(NavBarItemText, { children: "Item 2" }), _jsx(NavBarItemPip, {})] }), _jsxs(NavBarItem, { color: "gray", active: true, children: [_jsx(NavBarItemIconWrapper, { children: _jsx(NavBarItemIcon, { name: "book" }) }), _jsx(NavBarItemText, { children: "Neutral" }), _jsx(NavBarItemPip, {})] })] }) })] }));
33
34
  },
34
35
  };
35
36
  export const WithoutNav = {
36
- render: () => (_jsx(PageRoot, { className: "h-full w-full", children: _jsxs(PageContent, { children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold", children: "Hello, World!" }), _jsx("p", { className: "text-lg", children: "This is a simple page layout." }), _jsx(Card.Grid, { children: new Array(100).fill(null).map((_, i) => (_jsx(Card, { children: _jsx(Card.Main, {}) }, i))) })] }), _jsx(PageNowPlaying, { children: "Now playing" })] }) })),
37
+ render: () => (_jsx(PageRoot, { className: "h-full w-full", children: _jsxs(PageContent, { children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold", children: "Hello, World!" }), _jsx("p", { className: "text-lg", children: "This is a simple page layout." }), _jsx(Card.Grid, { children: new Array(100).fill(null).map((_, i) => (_jsx(Card, { children: _jsx(Card.Main, {}) }, i))) })] }), _jsx(PageNowPlaying, { children: _jsx(Box, { full: true, elevated: "lg", p: true, surface: "white", children: "Now playing" }) })] }) })),
37
38
  };
38
39
  export const WithVirtualKeyboard = {
39
40
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"layouts.stories.js","sourceRoot":"","sources":["../../../../src/components/layouts/layouts.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACN,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,UAAU,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5B,MAAM,EAAE,YAAY;KACpB;CACc,CAAC;AAEjB,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE;QACZ,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CACN,MAAC,QAAQ,IAAC,SAAS,EAAC,iBAAiB,aACpC,MAAC,WAAW,eACX,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,IACnD,EACN,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,GAAI,EAC3D,OAAO,IAAI,CACX,KAAC,IAAI,CAAC,IAAI,cACR,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,cACJ,KAAC,IAAI,CAAC,IAAI,KAAG,IADH,CAAC,CAEL,CACP,CAAC,GACS,CACZ,EACD,KAAC,cAAc,8BAA6B,IAC/B,EACd,KAAC,OAAO,cACP,MAAC,UAAU,eACV,MAAC,UAAU,eACV,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,8BAA6B,IAChC,EACb,MAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aACvB,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,yBAAwB,EACvC,KAAC,aAAa,KAAG,IACL,EACb,MAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,IAAI,aACpC,KAAC,qBAAqB,cACrB,KAAC,cAAc,IACd,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,MAAM,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAE,IAAI,GAAI,CAC3C,GACA,GACqB,EACxB,KAAC,cAAc,0BAAyB,EACxC,KAAC,aAAa,KAAG,IACL,IACD,GACJ,IACA,CACX,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IACjC,MAAM,EAAE,GAAG,EAAE;QACZ,OAAO,CACN,MAAC,QAAQ,IAAC,SAAS,EAAC,iBAAiB,aACpC,MAAC,WAAW,IAAC,SAAS,EAAC,aAAa,aACnC,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,IACnD,EACN,KAAC,IAAI,CAAC,IAAI,cACR,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,cACJ,KAAC,IAAI,CAAC,IAAI,KAAG,IADH,CAAC,CAEL,CACP,CAAC,GACS,IACC,EACd,KAAC,OAAO,cACP,MAAC,UAAU,eACV,MAAC,UAAU,eACV,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,8BAA6B,IAChC,EACb,MAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aACvB,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,yBAAwB,EACvC,KAAC,aAAa,KAAG,IACL,EACb,MAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,IAAI,aACpC,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,0BAAyB,EACxC,KAAC,aAAa,KAAG,IACL,IACD,GACJ,IACA,CACX,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAU;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,YAClC,MAAC,WAAW,eACX,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,EACxD,KAAC,IAAI,CAAC,IAAI,cACR,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,cACJ,KAAC,IAAI,CAAC,IAAI,KAAG,IADH,CAAC,CAEL,CACP,CAAC,GACS,IACP,EACN,KAAC,cAAc,8BAA6B,IAC/B,GACJ,CACX;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAU;IACzC,MAAM;QACL,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhD,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC9B,gCAAgC,EAChC,OAAO,CACP,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;YACtE,CAAC;QACF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEf,OAAO,CACN,MAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,aAClC,MAAC,WAAW,eACX,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,IACnD,EACN,MAAC,cAAc,IAAC,iBAAiB,mBAChC,KAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,+BAEpC,EACT,KAAC,KAAK,KAAG,IACO,IACJ,EACd,KAAC,OAAO,cACP,MAAC,UAAU,eACV,MAAC,UAAU,eACV,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,8BAA6B,IAChC,EACb,MAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aACvB,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,MAAM,EAAE,KAAC,MAAM,IAAC,IAAI,EAAC,eAAe,GAAG,GAAI,GACpC,EACxB,KAAC,cAAc,yBAAwB,EACvC,KAAC,aAAa,KAAG,IACL,IACD,GACJ,EACV,cAAK,SAAS,EAAC,2GAA2G,GAAG,IACnH,CACX,CAAC;IACH,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"layouts.stories.js","sourceRoot":"","sources":["../../../../src/components/layouts/layouts.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACN,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,UAAU,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5B,MAAM,EAAE,YAAY;KACpB;CACc,CAAC;AAEjB,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE;QACZ,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CACN,MAAC,QAAQ,eACR,MAAC,WAAW,eACX,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,IACnD,EACN,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,GAAI,EAC3D,OAAO,IAAI,CACX,KAAC,IAAI,CAAC,IAAI,cACR,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,cACJ,KAAC,IAAI,CAAC,IAAI,KAAG,IADH,CAAC,CAEL,CACP,CAAC,GACS,CACZ,EACD,KAAC,cAAc,cACd,KAAC,GAAG,IAAC,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,QAAC,CAAC,kCAEnC,GACU,IACJ,EACd,KAAC,OAAO,cACP,MAAC,UAAU,eACV,MAAC,UAAU,eACV,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,8BAA6B,IAChC,EACb,MAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aACvB,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,yBAAwB,EACvC,KAAC,aAAa,KAAG,IACL,EACb,MAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,IAAI,aACpC,KAAC,qBAAqB,cACrB,KAAC,cAAc,IACd,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,MAAM,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAE,IAAI,GAAI,CAC3C,GACA,GACqB,EACxB,KAAC,cAAc,0BAAyB,EACxC,KAAC,aAAa,KAAG,IACL,IACD,GACJ,IACA,CACX,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IACjC,MAAM,EAAE,GAAG,EAAE;QACZ,OAAO,CACN,MAAC,QAAQ,eACR,MAAC,WAAW,IAAC,SAAS,EAAC,aAAa,aACnC,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,IACnD,EACN,KAAC,IAAI,CAAC,IAAI,cACR,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,cACJ,KAAC,IAAI,CAAC,IAAI,KAAG,IADH,CAAC,CAEL,CACP,CAAC,GACS,IACC,EACd,KAAC,OAAO,cACP,MAAC,UAAU,eACV,MAAC,UAAU,eACV,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,8BAA6B,IAChC,EACb,MAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aACvB,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,yBAAwB,EACvC,KAAC,aAAa,KAAG,IACL,EACb,MAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,IAAI,aACpC,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,0BAAyB,EACxC,KAAC,aAAa,KAAG,IACL,IACD,GACJ,IACA,CACX,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAU;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,YAClC,MAAC,WAAW,eACX,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,EACxD,KAAC,IAAI,CAAC,IAAI,cACR,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,cACJ,KAAC,IAAI,CAAC,IAAI,KAAG,IADH,CAAC,CAEL,CACP,CAAC,GACS,IACP,EACN,KAAC,cAAc,cACd,KAAC,GAAG,IAAC,IAAI,QAAC,QAAQ,EAAC,IAAI,EAAC,CAAC,QAAC,OAAO,EAAC,OAAO,4BAEnC,GACU,IACJ,GACJ,CACX;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAU;IACzC,MAAM;QACL,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhD,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC9B,gCAAgC,EAChC,OAAO,CACP,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;YACtE,CAAC;QACF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEf,OAAO,CACN,MAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,aAClC,MAAC,WAAW,eACX,eAAK,SAAS,EAAC,aAAa,aAC3B,aAAI,SAAS,EAAC,oBAAoB,8BAAmB,EACrD,YAAG,SAAS,EAAC,SAAS,8CAAkC,IACnD,EACN,MAAC,cAAc,IAAC,iBAAiB,mBAChC,KAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,+BAEpC,EACT,KAAC,KAAK,KAAG,IACO,IACJ,EACd,KAAC,OAAO,cACP,MAAC,UAAU,eACV,MAAC,UAAU,eACV,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,IAAI,EAAC,MAAM,GAAG,GACP,EACxB,KAAC,cAAc,8BAA6B,IAChC,EACb,MAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aACvB,KAAC,qBAAqB,cACrB,KAAC,cAAc,IAAC,MAAM,EAAE,KAAC,MAAM,IAAC,IAAI,EAAC,eAAe,GAAG,GAAI,GACpC,EACxB,KAAC,cAAc,yBAAwB,EACvC,KAAC,aAAa,KAAG,IACL,IACD,GACJ,EACV,cAAK,SAAS,EAAC,2GAA2G,GAAG,IACnH,CACX,CAAC;IACH,CAAC;CACD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export interface GlobalsPreflightConfig {
2
2
  disableZIndexes?: boolean;
3
+ rootSelector?: string;
3
4
  }
4
- export declare const globalPreflight: (config: GlobalsPreflightConfig) => import("unocss").Preflight<object>;
5
+ export declare const globalPreflight: ({ disableZIndexes, rootSelector, }: GlobalsPreflightConfig) => import("unocss").Preflight<object>;
@@ -1,7 +1,7 @@
1
1
  // @unocss-include
2
2
  import { PROPS } from '../logic/properties.js';
3
3
  import { preflight } from './_util.js';
4
- export const globalPreflight = (config) => preflight({
4
+ export const globalPreflight = ({ disableZIndexes, rootSelector = '#root, #main, #app, #storybook-root', }) => preflight({
5
5
  getCSS: () => `
6
6
  :root {
7
7
  ${PROPS.USER.FONTS.SANS}: "Inter", sans-serif;
@@ -11,7 +11,7 @@ export const globalPreflight = (config) => preflight({
11
11
 
12
12
  --z-now-playing: 40;
13
13
  --z-nav: 50;
14
- ${config.disableZIndexes
14
+ ${disableZIndexes
15
15
  ? ''
16
16
  : `
17
17
  --z-menu: 100;
@@ -41,8 +41,11 @@ export const globalPreflight = (config) => preflight({
41
41
  overflow: overlay;
42
42
  }
43
43
 
44
- #main {
44
+ ${rootSelector} {
45
45
  isolation: isolate;
46
+ display: flex;
47
+ flex-direction: column;
48
+ min-height: 100dvh;
46
49
  }
47
50
 
48
51
  a {
@@ -1 +1 @@
1
- {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/uno/preflights/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMvC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAA8B,EAAE,EAAE,CACjE,SAAS,CAAC;IACT,MAAM,EAAE,GAAG,EAAE,CAAC;;GAEb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;GACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;GACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;GACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;;;;GAKvD,MAAM,CAAC,eAAe;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;;;;EAOJ;;GAEE,KAAK,CAAC,QAAQ,CAAC,YAAY;GAC3B,KAAK,CAAC,QAAQ,CAAC,cAAc;;GAE7B,KAAK,CAAC,KAAK,CAAC,UAAU;;;;;;;qBAOJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B5C;CACC,CAAC,CAAC"}
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/uno/preflights/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC/B,eAAe,EACf,YAAY,GAAG,qCAAqC,GAC5B,EAAE,EAAE,CAC5B,SAAS,CAAC;IACT,MAAM,EAAE,GAAG,EAAE,CAAC;;GAEb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;GACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;GACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;GACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;;;;GAKvD,eAAe;QACd,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;;;;EAOJ;;GAEE,KAAK,CAAC,QAAQ,CAAC,YAAY;GAC3B,KAAK,CAAC,QAAQ,CAAC,cAAc;;GAE7B,KAAK,CAAC,KAAK,CAAC,UAAU;;;;;;;qBAOJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;;;;;;;;;;GAU1C,YAAY;;;;;;;;;;;;;;;;;;;CAmBd;CACC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a-type/ui",
3
- "version": "5.0.10",
3
+ "version": "5.0.12",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "url": "https://github.com/a-type/ui"
@@ -1,9 +1,11 @@
1
- 'use client';
2
1
  import classNames from 'clsx';
3
2
  import useMergedRef from '../../hooks/useMergedRef.js';
4
3
  import { useBoundsCssVars } from '../../hooks/useSize.js';
5
4
  import { Box, BoxProps } from '../box/Box.js';
6
5
 
6
+ const bodyRef =
7
+ typeof document !== 'undefined' ? { current: document.body } : undefined;
8
+
7
9
  export function PageContent({
8
10
  children,
9
11
  className,
@@ -11,7 +13,7 @@ export function PageContent({
11
13
  p,
12
14
  ...rest
13
15
  }: BoxProps) {
14
- const innerRef = useBoundsCssVars<HTMLDivElement>(200, undefined, {
16
+ const innerRef = useBoundsCssVars<HTMLDivElement>(200, bodyRef, {
15
17
  left: '--content-left',
16
18
  top: '--content-top',
17
19
  width: '--content-width',
@@ -1,40 +1,49 @@
1
- 'use client';
2
-
3
1
  import classNames from 'clsx';
4
2
  import { HTMLAttributes } from 'react';
3
+ import { createPortal } from 'react-dom';
5
4
  import { GroupScaleReset } from '../../systems/GroupScale.js';
6
5
  import { useConfig } from '../provider/Provider.js';
7
6
 
8
7
  export function PageNowPlaying({
9
8
  className,
10
9
  keepAboveKeyboard,
10
+ disablePortal,
11
+ container = document.body,
11
12
  ...props
12
13
  }: HTMLAttributes<HTMLDivElement> & {
13
14
  keepAboveKeyboard?: boolean;
15
+ disablePortal?: boolean;
16
+ container?: HTMLElement;
14
17
  }) {
15
18
  const { virtualKeyboardBehavior } = useConfig();
16
19
 
17
- return (
20
+ const content = (
18
21
  <GroupScaleReset>
19
22
  <div
20
23
  {...props}
21
24
  className={classNames(
22
- 'layer-components:(fixed left-0 right-0 z-[var(--z-now-playing)] flex flex-col items-end gap-2)',
25
+ disablePortal && 'layer-components:z-now-playing',
26
+ 'layer-components:(fixed left-0 right-0 flex flex-col items-center gap-2)',
23
27
  // on mobile, this must be positioned above any nav bar that's present,
24
28
  // or at minimum in the safe area
25
29
  'layer-components:bottom-[var(--nav-height,env(safe-area-inset-bottom,0px))]',
26
- 'layer-components:transition-bottom',
27
- 'layer-components:md:(fixed bottom-3 left-[var(--content-left,20%)] top-auto w-[var(--content-width,100%)] items-end p-0 opacity-[var(--content-ready,0)] transition-opacity)',
30
+ 'layer-components:md:(bottom-md left-[var(--content-left,0)] w-[var(--content-width,100%)] items-center p-0 opacity-[var(--content-ready,0)] transition-opacity)',
28
31
  'layer-variants:p-2',
29
32
  keepAboveKeyboard &&
30
33
  virtualKeyboardBehavior === 'overlay' &&
31
34
  'layer-variants:lt-md:bottom-[max(var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px),var(--nav-height,env(safe-area-inset-bottom,0px))))]',
32
35
  keepAboveKeyboard &&
33
36
  virtualKeyboardBehavior === 'displace' &&
34
- 'layer-variants:lt-md:bottom-[max(var(--viewport-bottom-offset,0px),var(--nav-height,env(safe-area-inset-bottom,0px)))]',
37
+ 'layer-variants:lt-md:bottom-[max(var(--mock-virtual-keyboard-height,var(--viewport-bottom-offset,0px)),var(--nav-height,env(safe-area-inset-bottom,0px)))]',
35
38
  className,
36
39
  )}
37
40
  />
38
41
  </GroupScaleReset>
39
42
  );
43
+
44
+ if (disablePortal) {
45
+ return content;
46
+ }
47
+
48
+ return createPortal(content, container);
40
49
  }
@@ -1,13 +1,24 @@
1
1
  import clsx from 'clsx';
2
2
  import { HTMLAttributes } from 'react';
3
3
 
4
- export interface PageRootProps extends HTMLAttributes<HTMLDivElement> {}
4
+ export interface PageRootProps extends HTMLAttributes<HTMLDivElement> {
5
+ mobileBasis?: '0' | 'auto';
6
+ }
5
7
 
6
- export function PageRoot({ className, children, ...rest }: PageRootProps) {
8
+ export function PageRoot({
9
+ className,
10
+ children,
11
+ mobileBasis = 'auto',
12
+ ...rest
13
+ }: PageRootProps) {
7
14
  return (
8
15
  <div
9
16
  className={clsx(
10
- 'layer-components:(min-h-100dvh flex-shrink-1 flex-grow-1 flex-basis-0 bg-wash)',
17
+ // TODO: once I'm sure which one is right, remove the other
18
+ mobileBasis === '0'
19
+ ? 'layer-components:flex-basis-0'
20
+ : 'layer-components:flex-basis-auto',
21
+ 'layer-components:(min-h-100dvh flex-shrink-1 flex-grow-1 bg-wash)',
11
22
  'layer-components:(grid grid-cols-[1fr] grid-rows-[1fr_auto] grid-areas-[content]-[nav] items-start justify-center)',
12
23
  'md:layer-responsive:(grid-cols-[1fr_auto_20fr_1fr] grid-areas-[gutter1_nav_content_gutter2] h-auto min-h-auto bg-wash)',
13
24
  'lg:layer-responsive:(grid-cols-[1fr_auto_min(800px,70vw)_1fr])',
@@ -1,6 +1,7 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
2
  import { useEffect, useState } from 'react';
3
3
  import { Avatar } from '../avatar/Avatar.js';
4
+ import { Box } from '../box/Box.js';
4
5
  import { Button } from '../button/index.js';
5
6
  import { Card } from '../card/Card.js';
6
7
  import { Input } from '../input/index.js';
@@ -36,7 +37,7 @@ export const Default: Story = {
36
37
  const [content, setContent] = useState(true);
37
38
  const toggleContent = () => setContent((prev) => !prev);
38
39
  return (
39
- <PageRoot className="bg-primary-wash">
40
+ <PageRoot>
40
41
  <PageContent>
41
42
  <div className="text-center">
42
43
  <h1 className="text-3xl font-bold">Hello, World!</h1>
@@ -52,7 +53,11 @@ export const Default: Story = {
52
53
  ))}
53
54
  </Card.Grid>
54
55
  )}
55
- <PageNowPlaying>Now playing</PageNowPlaying>
56
+ <PageNowPlaying>
57
+ <Box surface="white" elevated="lg" full p>
58
+ Now playing
59
+ </Box>
60
+ </PageNowPlaying>
56
61
  </PageContent>
57
62
  <PageNav>
58
63
  <NavBarRoot>
@@ -90,7 +95,7 @@ export const Default: Story = {
90
95
  export const ManualWidth: Story = {
91
96
  render: () => {
92
97
  return (
93
- <PageRoot className="bg-primary-wash">
98
+ <PageRoot>
94
99
  <PageContent className="max-w-300px">
95
100
  <div className="text-center">
96
101
  <h1 className="text-3xl font-bold">Hello, World!</h1>
@@ -148,7 +153,11 @@ export const WithoutNav: Story = {
148
153
  ))}
149
154
  </Card.Grid>
150
155
  </div>
151
- <PageNowPlaying>Now playing</PageNowPlaying>
156
+ <PageNowPlaying>
157
+ <Box full elevated="lg" p surface="white">
158
+ Now playing
159
+ </Box>
160
+ </PageNowPlaying>
152
161
  </PageContent>
153
162
  </PageRoot>
154
163
  ),
@@ -3,9 +3,13 @@ import { preflight } from './_util.js';
3
3
 
4
4
  export interface GlobalsPreflightConfig {
5
5
  disableZIndexes?: boolean;
6
+ rootSelector?: string;
6
7
  }
7
8
 
8
- export const globalPreflight = (config: GlobalsPreflightConfig) =>
9
+ export const globalPreflight = ({
10
+ disableZIndexes,
11
+ rootSelector = '#root, #main, #app, #storybook-root',
12
+ }: GlobalsPreflightConfig) =>
9
13
  preflight({
10
14
  getCSS: () => `
11
15
  :root {
@@ -17,7 +21,7 @@ export const globalPreflight = (config: GlobalsPreflightConfig) =>
17
21
  --z-now-playing: 40;
18
22
  --z-nav: 50;
19
23
  ${
20
- config.disableZIndexes
24
+ disableZIndexes
21
25
  ? ''
22
26
  : `
23
27
  --z-menu: 100;
@@ -48,8 +52,11 @@ export const globalPreflight = (config: GlobalsPreflightConfig) =>
48
52
  overflow: overlay;
49
53
  }
50
54
 
51
- #main {
55
+ ${rootSelector} {
52
56
  isolation: isolate;
57
+ display: flex;
58
+ flex-direction: column;
59
+ min-height: 100dvh;
53
60
  }
54
61
 
55
62
  a {