@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.
- package/dist/css/main.css +4 -4
- package/dist/esm/components/layouts/PageContent.js +2 -2
- package/dist/esm/components/layouts/PageContent.js.map +1 -1
- package/dist/esm/components/layouts/PageNowPlaying.d.ts +3 -1
- package/dist/esm/components/layouts/PageNowPlaying.js +9 -5
- package/dist/esm/components/layouts/PageNowPlaying.js.map +1 -1
- package/dist/esm/components/layouts/PageRoot.d.ts +2 -1
- package/dist/esm/components/layouts/PageRoot.js +6 -2
- package/dist/esm/components/layouts/PageRoot.js.map +1 -1
- package/dist/esm/components/layouts/layouts.stories.js +4 -3
- package/dist/esm/components/layouts/layouts.stories.js.map +1 -1
- package/dist/esm/uno/preflights/globals.d.ts +2 -1
- package/dist/esm/uno/preflights/globals.js +6 -3
- package/dist/esm/uno/preflights/globals.js.map +1 -1
- package/package.json +1 -1
- package/src/components/layouts/PageContent.tsx +4 -2
- package/src/components/layouts/PageNowPlaying.tsx +16 -7
- package/src/components/layouts/PageRoot.tsx +14 -3
- package/src/components/layouts/layouts.stories.tsx +13 -4
- package/src/uno/preflights/globals.ts +10 -3
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
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:
|
|
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,
|
|
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(
|
|
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;
|
|
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, {
|
|
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, {
|
|
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,
|
|
1
|
+
{"version":3,"file":"layouts.stories.js","sourceRoot":"","sources":["../../../../src/components/layouts/layouts.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export interface GlobalsPreflightConfig {
|
|
2
2
|
disableZIndexes?: boolean;
|
|
3
|
+
rootSelector?: string;
|
|
3
4
|
}
|
|
4
|
-
export declare const globalPreflight: (
|
|
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 = (
|
|
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
|
-
${
|
|
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
|
-
|
|
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;
|
|
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,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,
|
|
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
|
-
|
|
20
|
+
const content = (
|
|
18
21
|
<GroupScaleReset>
|
|
19
22
|
<div
|
|
20
23
|
{...props}
|
|
21
24
|
className={classNames(
|
|
22
|
-
'layer-components:
|
|
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-
|
|
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({
|
|
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
|
-
|
|
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
|
|
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>
|
|
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
|
|
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>
|
|
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 = (
|
|
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
|
-
|
|
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
|
-
|
|
55
|
+
${rootSelector} {
|
|
52
56
|
isolation: isolate;
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
min-height: 100dvh;
|
|
53
60
|
}
|
|
54
61
|
|
|
55
62
|
a {
|