@a-type/ui 3.0.35 → 3.0.37
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/cjs/components/button/classes.js +1 -1
- package/dist/cjs/components/button/classes.js.map +1 -1
- package/dist/cjs/components/dropdownMenu/DropdownMenu.js +1 -1
- package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/cjs/components/particles/ParticleLayer.js +1 -1
- package/dist/cjs/components/particles/ParticleLayer.js.map +1 -1
- package/dist/cjs/components/provider/Provider.d.ts +2 -1
- package/dist/cjs/components/provider/Provider.js +3 -2
- package/dist/cjs/components/provider/Provider.js.map +1 -1
- package/dist/cjs/components/pwaInstall/PwaInstall.d.ts +5 -0
- package/dist/cjs/components/pwaInstall/PwaInstall.js +79 -0
- package/dist/cjs/components/pwaInstall/PwaInstall.js.map +1 -0
- package/dist/cjs/components/pwaInstall/PwaInstallTrigger.d.ts +3 -4
- package/dist/cjs/components/pwaInstall/PwaInstallTrigger.js +5 -48
- package/dist/cjs/components/pwaInstall/PwaInstallTrigger.js.map +1 -1
- package/dist/cjs/components/pwaInstall/index.d.ts +1 -0
- package/dist/cjs/components/pwaInstall/index.js +1 -0
- package/dist/cjs/components/pwaInstall/index.js.map +1 -1
- package/dist/cjs/components/pwaInstall/state.d.ts +4 -0
- package/dist/cjs/components/pwaInstall/state.js +13 -0
- package/dist/cjs/components/pwaInstall/state.js.map +1 -0
- package/dist/cjs/uno/preflights/globals.js +2 -2
- package/dist/cjs/uno/preflights/globals.js.map +1 -1
- package/dist/css/main.css +3 -3
- package/dist/esm/components/button/classes.js +1 -1
- package/dist/esm/components/button/classes.js.map +1 -1
- package/dist/esm/components/dropdownMenu/DropdownMenu.js +1 -1
- package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/esm/components/particles/ParticleLayer.js +1 -1
- package/dist/esm/components/particles/ParticleLayer.js.map +1 -1
- package/dist/esm/components/provider/Provider.d.ts +2 -1
- package/dist/esm/components/provider/Provider.js +3 -2
- package/dist/esm/components/provider/Provider.js.map +1 -1
- package/dist/esm/components/pwaInstall/PwaInstall.d.ts +5 -0
- package/dist/esm/components/pwaInstall/PwaInstall.js +76 -0
- package/dist/esm/components/pwaInstall/PwaInstall.js.map +1 -0
- package/dist/esm/components/pwaInstall/PwaInstallTrigger.d.ts +3 -4
- package/dist/esm/components/pwaInstall/PwaInstallTrigger.js +7 -50
- package/dist/esm/components/pwaInstall/PwaInstallTrigger.js.map +1 -1
- package/dist/esm/components/pwaInstall/index.d.ts +1 -0
- package/dist/esm/components/pwaInstall/index.js +1 -0
- package/dist/esm/components/pwaInstall/index.js.map +1 -1
- package/dist/esm/components/pwaInstall/state.d.ts +4 -0
- package/dist/esm/components/pwaInstall/state.js +9 -0
- package/dist/esm/components/pwaInstall/state.js.map +1 -0
- package/dist/esm/uno/preflights/globals.js +2 -2
- package/dist/esm/uno/preflights/globals.js.map +1 -1
- package/package.json +1 -1
- package/src/components/button/classes.tsx +1 -1
- package/src/components/dropdownMenu/DropdownMenu.tsx +1 -1
- package/src/components/particles/ParticleLayer.tsx +1 -1
- package/src/components/provider/Provider.tsx +4 -0
- package/src/components/pwaInstall/PwaInstall.tsx +228 -0
- package/src/components/pwaInstall/PwaInstallTrigger.tsx +15 -209
- package/src/components/pwaInstall/index.ts +1 -0
- package/src/components/pwaInstall/state.ts +9 -0
- package/src/uno/preflights/globals.ts +2 -2
|
@@ -51,7 +51,7 @@ export function DropdownMenuTrigger(props) {
|
|
|
51
51
|
export const DropdownMenuTriggerIcon = withClassName(SlotDiv, 'layer-components:[[data-state=open]>&]:rotate-180 layer-components:transition-transform');
|
|
52
52
|
export const DropdownMenuContent = (_a) => {
|
|
53
53
|
var { children, forceMount } = _a, props = __rest(_a, ["children", "forceMount"]);
|
|
54
|
-
return (_jsx(StyledPortal, { forceMount: forceMount, children: _jsxs(StyledContent, Object.assign({}, props, { children: [_jsx("div", { className: "layer-components:overflow-y-auto layer-components:overflow-unstable layer-components:max-h-full layer-components:rounded-md layer-components:min-h-0", children: children }), _jsx(StyledArrow, {})] })) }));
|
|
54
|
+
return (_jsx(StyledPortal, { forceMount: forceMount, children: _jsxs(StyledContent, Object.assign({}, props, { children: [_jsx("div", { className: "layer-components:overflow-y-auto layer-components:overflow-x-hidden layer-components:overflow-unstable layer-components:max-h-full layer-components:rounded-md layer-components:min-h-0", children: children }), _jsx(StyledArrow, {})] })) }));
|
|
55
55
|
};
|
|
56
56
|
export const DropdownMenuItemRightSlot = withClassName('div', 'ml-auto pl-md');
|
|
57
57
|
export const DropdownMenu = Object.assign(DropdownMenuRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../../src/components/dropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../../src/components/dropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export function ParticleLayer({ children, noPortal, }) {
|
|
|
15
15
|
if (!particles || !clientReady) {
|
|
16
16
|
return null;
|
|
17
17
|
}
|
|
18
|
-
const canvas = (_jsx("canvas", { ref: particles.setCanvas, className: "fixed inset-0 w-full h-full z-[
|
|
18
|
+
const canvas = (_jsx("canvas", { ref: particles.setCanvas, className: "fixed inset-0 w-full h-full z-[1000000] pointer-events-none" }));
|
|
19
19
|
return (_jsxs(ParticlesProvider, { value: particles, children: [noPortal ? canvas : createPortal(canvas, document.body), children] }));
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=ParticleLayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParticleLayer.js","sourceRoot":"","sources":["../../../../src/components/particles/ParticleLayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,UAAU,aAAa,CAAC,EAC7B,QAAQ,EACR,QAAQ,GAIR;IACA,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACjC,OAAO,MAAM,KAAK,WAAW;QAC5B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAC1C,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACd,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,CACd,iBACC,GAAG,EAAE,SAAS,CAAC,SAAS,EACxB,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ParticleLayer.js","sourceRoot":"","sources":["../../../../src/components/particles/ParticleLayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,UAAU,aAAa,CAAC,EAC7B,QAAQ,EACR,QAAQ,GAIR;IACA,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACjC,OAAO,MAAM,KAAK,WAAW;QAC5B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAC1C,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACd,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,CACd,iBACC,GAAG,EAAE,SAAS,CAAC,SAAS,EACxB,SAAS,EAAC,6DAA6D,GACtE,CACF,CAAC;IAEF,OAAO,CACN,MAAC,iBAAiB,IAAC,KAAK,EAAE,SAAS,aACjC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EACvD,QAAQ,IACU,CACpB,CAAC;AACH,CAAC"}
|
|
@@ -5,11 +5,12 @@ export interface ProviderProps {
|
|
|
5
5
|
disableViewportOffset?: boolean;
|
|
6
6
|
virtualKeyboardBehavior?: 'overlay' | 'displace';
|
|
7
7
|
disableTitleBarColor?: boolean;
|
|
8
|
+
manifestPath?: string;
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
10
11
|
* Provides all the stuff for all global junk.
|
|
11
12
|
*/
|
|
12
|
-
export declare function Provider({ children, disableParticles, disableViewportOffset, virtualKeyboardBehavior, disableTitleBarColor, }: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function Provider({ children, disableParticles, disableViewportOffset, virtualKeyboardBehavior, disableTitleBarColor, manifestPath, }: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
13
14
|
export declare const ConfigContext: import("react").Context<{
|
|
14
15
|
virtualKeyboardBehavior: "overlay" | "displace";
|
|
15
16
|
}>;
|
|
@@ -5,19 +5,20 @@ import { useThemedTitleBar, useVisualViewportOffset } from '../../hooks.js';
|
|
|
5
5
|
import { useVirtualKeyboardBehavior } from '../../hooks/useVirtualKeyboardBehavior.js';
|
|
6
6
|
import { IconSpritesheet } from '../icon/index.js';
|
|
7
7
|
import { ParticleLayer } from '../particles/index.js';
|
|
8
|
+
import { PwaInstall } from '../pwaInstall/PwaInstall.js';
|
|
8
9
|
import { Toaster } from '../toasts/toasts.js';
|
|
9
10
|
import { TooltipProvider } from '../tooltip/index.js';
|
|
10
11
|
/**
|
|
11
12
|
* Provides all the stuff for all global junk.
|
|
12
13
|
*/
|
|
13
|
-
export function Provider({ children, disableParticles, disableViewportOffset, virtualKeyboardBehavior = 'displace', disableTitleBarColor, }) {
|
|
14
|
+
export function Provider({ children, disableParticles, disableViewportOffset, virtualKeyboardBehavior = 'displace', disableTitleBarColor, manifestPath, }) {
|
|
14
15
|
useVisualViewportOffset(disableViewportOffset);
|
|
15
16
|
const supportedVirtualKeyboardBehavior = typeof navigator !== 'undefined' && 'virtualKeyboard' in navigator
|
|
16
17
|
? virtualKeyboardBehavior
|
|
17
18
|
: 'displace';
|
|
18
19
|
useVirtualKeyboardBehavior(supportedVirtualKeyboardBehavior);
|
|
19
20
|
useThemedTitleBar('gray', 'wash', undefined, disableTitleBarColor);
|
|
20
|
-
const otherStuff = (_jsxs(_Fragment, { children: [_jsx(IconSpritesheet, {}), _jsx(Toaster, {})] }));
|
|
21
|
+
const otherStuff = (_jsxs(_Fragment, { children: [_jsx(IconSpritesheet, {}), _jsx(Toaster, {}), _jsx(PwaInstall, { manifestPath: manifestPath })] }));
|
|
21
22
|
if (disableParticles)
|
|
22
23
|
return (_jsx(ConfigContext.Provider, { value: { virtualKeyboardBehavior: supportedVirtualKeyboardBehavior }, children: _jsxs(TooltipProvider, { children: [children, otherStuff] }) }));
|
|
23
24
|
return (_jsx(ConfigContext.Provider, { value: { virtualKeyboardBehavior: supportedVirtualKeyboardBehavior }, children: _jsx(TooltipProvider, { children: _jsxs(ParticleLayer, { children: [children, otherStuff] }) }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/components/provider/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/components/provider/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWtD;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EACxB,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,GAAG,UAAU,EACpC,oBAAoB,EACpB,YAAY,GACG;IACf,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;IAC/C,MAAM,gCAAgC,GACrC,OAAO,SAAS,KAAK,WAAW,IAAI,iBAAiB,IAAI,SAAS;QACjE,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,UAAU,CAAC;IACf,0BAA0B,CAAC,gCAAgC,CAAC,CAAC;IAC7D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,CAClB,8BACC,KAAC,eAAe,KAAG,EACnB,KAAC,OAAO,KAAG,EACX,KAAC,UAAU,IAAC,YAAY,EAAE,YAAY,GAAI,IACxC,CACH,CAAC;IAEF,IAAI,gBAAgB;QACnB,OAAO,CACN,KAAC,aAAa,CAAC,QAAQ,IACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,YAEpE,MAAC,eAAe,eACd,QAAQ,EACR,UAAU,IACM,GACM,CACzB,CAAC;IAEH,OAAO,CACN,KAAC,aAAa,CAAC,QAAQ,IACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,YAEpE,KAAC,eAAe,cACf,MAAC,aAAa,eACZ,QAAQ,EACR,UAAU,IACI,GACC,GACM,CACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAEvC;IACF,uBAAuB,EAAE,UAAU;CACnC,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS;IACxB,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DialogTriggerProps } from '@radix-ui/react-dialog';
|
|
2
|
+
export interface PwaInstall extends DialogTriggerProps {
|
|
3
|
+
manifestPath?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function PwaInstall({ children, manifestPath, asChild: _, ...rest }: PwaInstall): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// @unocss-include
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
+
import { useState } from 'react';
|
|
15
|
+
import { useSnapshot } from 'valtio';
|
|
16
|
+
import { getIsSafari, getOS, getSupportsPWAInstallPrompt, } from '../../platform.js';
|
|
17
|
+
import { Box } from '../box/Box.js';
|
|
18
|
+
import { Button } from '../button/Button.js';
|
|
19
|
+
import { Dialog } from '../dialog/Dialog.js';
|
|
20
|
+
import { Icon } from '../icon/Icon.js';
|
|
21
|
+
import { Lightbox } from '../lightbox/Lightbox.js';
|
|
22
|
+
import { Ol } from '../lists/lists.js';
|
|
23
|
+
import { P } from '../typography/typography.js';
|
|
24
|
+
import { AndroidAddToHomeIcon, SafariAddToDockIcon, SafariIcon, SafariPlusSquareIcon, SafariShareIcon, } from './PlatformIcons.js';
|
|
25
|
+
import { pwaInstallerState } from './state.js';
|
|
26
|
+
import { triggerDeferredInstall, useIsInstalled, useIsInstallReady, } from './useIsInstallReady.js';
|
|
27
|
+
import { useWebManifest } from './useWebManifest.js';
|
|
28
|
+
export function PwaInstall(_a) {
|
|
29
|
+
var _b, _c, _d, _e, _f, _g;
|
|
30
|
+
var { children, manifestPath, asChild: _ } = _a, rest = __rest(_a, ["children", "manifestPath", "asChild"]);
|
|
31
|
+
const installed = useIsInstalled();
|
|
32
|
+
const manifest = useWebManifest(manifestPath);
|
|
33
|
+
const { open } = useSnapshot(pwaInstallerState);
|
|
34
|
+
const [showInstructions, setShowInstructions] = useState(false);
|
|
35
|
+
if (installed) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const primaryIcon = (_b = manifest === null || manifest === void 0 ? void 0 : manifest.icons) === null || _b === void 0 ? void 0 : _b[0];
|
|
39
|
+
return (_jsx(Dialog, { open: open, onOpenChange: (isOpen) => {
|
|
40
|
+
pwaInstallerState.open = isOpen;
|
|
41
|
+
}, children: _jsxs(Dialog.Content, { className: "flex flex-col gap-xs", id: "pwa-install-dialog", children: [_jsxs(Dialog.Title, { className: "flex flex-row gap-md items-center", children: [primaryIcon && (_jsx("img", { src: primaryIcon.src, alt: (_e = (_d = (_c = primaryIcon.label) !== null && _c !== void 0 ? _c : manifest === null || manifest === void 0 ? void 0 : manifest.short_name) !== null && _d !== void 0 ? _d : manifest === null || manifest === void 0 ? void 0 : manifest.name) !== null && _e !== void 0 ? _e : 'App Icon', className: "inline-block w-1em h-1em rounded" })), "Install ", (_g = (_f = manifest === null || manifest === void 0 ? void 0 : manifest.short_name) !== null && _f !== void 0 ? _f : manifest === null || manifest === void 0 ? void 0 : manifest.name) !== null && _g !== void 0 ? _g : 'App'] }), showInstructions ? (_jsxs(_Fragment, { children: [_jsx(Dialog.Description, { children: "Follow the instructions below to install this app on your device." }), _jsx(InstallInstructions, {}), _jsxs(Dialog.Actions, { children: [_jsx(Dialog.Close, { asChild: true, children: _jsx(Button, { emphasis: "ghost", children: "Close" }) }), _jsxs(Button, { onClick: () => setShowInstructions(false), children: [_jsx(Icon, { name: "arrowLeft" }), " Back"] })] })] })) : (_jsxs(_Fragment, { children: [_jsx(Dialog.Description, { children: "This site is also an app. You can install it right now for easier access and more features." }), (manifest === null || manifest === void 0 ? void 0 : manifest.description) && (_jsx(P, { className: "mb-sm", children: manifest.description })), _jsx(ManifestImageGallery, { manifestPath: manifestPath }), _jsxs(Dialog.Actions, { children: [_jsx(Dialog.Close, { asChild: true, children: _jsx(Button, { emphasis: "ghost", children: "Close" }) }), _jsx(InstallDeviceActions, { showInstructions: () => setShowInstructions(true) })] })] }))] }) }));
|
|
42
|
+
}
|
|
43
|
+
const supportsDirectInstall = getSupportsPWAInstallPrompt();
|
|
44
|
+
function InstallInstructions() {
|
|
45
|
+
const os = getOS();
|
|
46
|
+
if (os === 'iOS' || os === 'Mac OS') {
|
|
47
|
+
if (getIsSafari()) {
|
|
48
|
+
if (os === 'iOS') {
|
|
49
|
+
return (_jsxs(Ol, { children: [_jsxs(Ol.Item, { children: [_jsx(SafariShareIcon, {}), " Tap the Share button in the toolbar."] }), _jsxs(Ol.Item, { children: [_jsx(SafariPlusSquareIcon, {}), " Scroll down and tap \"Add to Home Screen\"."] })] }));
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return (_jsxs(Ol, { children: [_jsxs(Ol.Item, { children: [_jsx(SafariShareIcon, {}), " Tap the Share button in the toolbar."] }), _jsxs(Ol.Item, { children: [_jsx(SafariAddToDockIcon, {}), " Tap \"Add to Dock\"."] })] }));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return (_jsxs(_Fragment, { children: [_jsx(Ol, { children: _jsxs(Ol.Item, { children: [_jsx(SafariIcon, {}), " Open this site in Safari to continue."] }) }), _jsx(Box, { surface: true, p: true, children: "Apple does not allow non-Safari browsers to install web apps." })] }));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return (_jsxs(Ol, { children: [_jsxs(Ol.Item, { children: [_jsx(Icon, { name: "dots", className: "rotate-90" }), " Tap the menu button in the toolbar."] }), _jsxs(Ol.Item, { children: [_jsx(AndroidAddToHomeIcon, {}), " Tap \"Add to Home Screen.\""] })] }));
|
|
60
|
+
}
|
|
61
|
+
function ManifestImageGallery({ manifestPath }) {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
const manifest = useWebManifest(manifestPath);
|
|
64
|
+
if (!((_a = manifest === null || manifest === void 0 ? void 0 : manifest.screenshots) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return (_jsx(Box, { overflow: "auto-x", p: "sm", gap: true, className: "h-240px", children: (_b = manifest.screenshots) === null || _b === void 0 ? void 0 : _b.map((screenshot, index) => (_jsxs(Lightbox.Root, { children: [_jsx(Lightbox.Trigger, { asChild: true, children: _jsx(Lightbox.Image, { tabIndex: 0, src: screenshot.src, alt: screenshot.label || `Screenshot ${index + 1}`, className: "border border-default rounded-xs" }, index) }), _jsxs(Lightbox.Portal, { children: [_jsx(Lightbox.Overlay, { className: "z-10000" }), _jsx(Lightbox.Content, { className: "z-10001", children: _jsx(Lightbox.Image, { src: screenshot.src, alt: screenshot.label || `Screenshot ${index + 1}` }) })] })] }, screenshot.src))) }));
|
|
68
|
+
}
|
|
69
|
+
function InstallDeviceActions({ showInstructions, }) {
|
|
70
|
+
const ready = useIsInstallReady();
|
|
71
|
+
if (supportsDirectInstall && ready) {
|
|
72
|
+
return (_jsxs(Button, { onClick: () => triggerDeferredInstall(), emphasis: "primary", children: [_jsx(Icon, { name: "download" }), " Install now"] }));
|
|
73
|
+
}
|
|
74
|
+
return (_jsxs(Button, { onClick: () => showInstructions(), emphasis: "primary", children: [_jsx(Icon, { name: "arrowRight" }), " Add to Home"] }));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=PwaInstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PwaInstall.js","sourceRoot":"","sources":["../../../../src/components/pwaInstall/PwaInstall.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface PwaInstallTriggerProps extends
|
|
3
|
-
manifestPath?: string;
|
|
1
|
+
import { ButtonProps } from '../button/Button.js';
|
|
2
|
+
export interface PwaInstallTriggerProps extends ButtonProps {
|
|
4
3
|
}
|
|
5
|
-
export declare function PwaInstallTrigger({ children,
|
|
4
|
+
export declare function PwaInstallTrigger({ children, ...rest }: PwaInstallTriggerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -10,62 +10,19 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
}
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
|
-
import { jsx as _jsx,
|
|
14
|
-
import { useState } from 'react';
|
|
15
|
-
import { getIsSafari, getOS, getSupportsPWAInstallPrompt, } from '../../platform.js';
|
|
16
|
-
import { Box } from '../box/Box.js';
|
|
13
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
14
|
import { Button } from '../button/Button.js';
|
|
18
|
-
import { Dialog } from '../dialog/Dialog.js';
|
|
19
15
|
import { Icon } from '../icon/Icon.js';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { P } from '../typography/typography.js';
|
|
23
|
-
import { AndroidAddToHomeIcon, SafariAddToDockIcon, SafariIcon, SafariPlusSquareIcon, SafariShareIcon, } from './PlatformIcons.js';
|
|
24
|
-
import { triggerDeferredInstall, useIsInstalled, useIsInstallReady, } from './useIsInstallReady.js';
|
|
25
|
-
import { useWebManifest } from './useWebManifest.js';
|
|
16
|
+
import { pwaInstallerState } from './state.js';
|
|
17
|
+
import { useIsInstalled } from './useIsInstallReady.js';
|
|
26
18
|
export function PwaInstallTrigger(_a) {
|
|
27
|
-
var
|
|
28
|
-
var { children, manifestPath, asChild: _ } = _a, rest = __rest(_a, ["children", "manifestPath", "asChild"]);
|
|
19
|
+
var { children } = _a, rest = __rest(_a, ["children"]);
|
|
29
20
|
const installed = useIsInstalled();
|
|
30
|
-
const manifest = useWebManifest(manifestPath);
|
|
31
|
-
const [showInstructions, setShowInstructions] = useState(false);
|
|
32
21
|
if (installed) {
|
|
33
22
|
return null;
|
|
34
23
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
const supportsDirectInstall = getSupportsPWAInstallPrompt();
|
|
39
|
-
function InstallInstructions() {
|
|
40
|
-
const os = getOS();
|
|
41
|
-
if (os === 'iOS' || os === 'Mac OS') {
|
|
42
|
-
if (getIsSafari()) {
|
|
43
|
-
if (os === 'iOS') {
|
|
44
|
-
return (_jsxs(Ol, { children: [_jsxs(Ol.Item, { children: [_jsx(SafariShareIcon, {}), " Tap the Share button in the toolbar."] }), _jsxs(Ol.Item, { children: [_jsx(SafariPlusSquareIcon, {}), " Scroll down and tap \"Add to Home Screen\"."] })] }));
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
return (_jsxs(Ol, { children: [_jsxs(Ol.Item, { children: [_jsx(SafariShareIcon, {}), " Tap the Share button in the toolbar."] }), _jsxs(Ol.Item, { children: [_jsx(SafariAddToDockIcon, {}), " Tap \"Add to Dock\"."] })] }));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return (_jsxs(_Fragment, { children: [_jsx(Ol, { children: _jsxs(Ol.Item, { children: [_jsx(SafariIcon, {}), " Open this site in Safari to continue."] }) }), _jsx(Box, { surface: true, p: true, children: "Apple does not allow non-Safari browsers to install web apps." })] }));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return (_jsxs(Ol, { children: [_jsxs(Ol.Item, { children: [_jsx(Icon, { name: "dots", className: "rotate-90" }), " Tap the menu button in the toolbar."] }), _jsxs(Ol.Item, { children: [_jsx(AndroidAddToHomeIcon, {}), " Tap \"Add to Home Screen.\""] })] }));
|
|
55
|
-
}
|
|
56
|
-
function ManifestImageGallery({ manifestPath }) {
|
|
57
|
-
var _a, _b;
|
|
58
|
-
const manifest = useWebManifest(manifestPath);
|
|
59
|
-
if (!((_a = manifest === null || manifest === void 0 ? void 0 : manifest.screenshots) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
return (_jsx(Box, { overflow: "auto-x", p: "sm", gap: true, className: "h-240px", children: (_b = manifest.screenshots) === null || _b === void 0 ? void 0 : _b.map((screenshot, index) => (_jsxs(Lightbox.Root, { children: [_jsx(Lightbox.Trigger, { asChild: true, children: _jsx(Lightbox.Image, { tabIndex: 0, src: screenshot.src, alt: screenshot.label || `Screenshot ${index + 1}`, className: "border border-default rounded-xs" }, index) }), _jsxs(Lightbox.Portal, { children: [_jsx(Lightbox.Overlay, { className: "z-10000" }), _jsx(Lightbox.Content, { className: "z-10001", children: _jsx(Lightbox.Image, { src: screenshot.src, alt: screenshot.label || `Screenshot ${index + 1}` }) })] })] }, screenshot.src))) }));
|
|
63
|
-
}
|
|
64
|
-
function InstallDeviceActions({ showInstructions, }) {
|
|
65
|
-
const ready = useIsInstallReady();
|
|
66
|
-
if (supportsDirectInstall && ready) {
|
|
67
|
-
return (_jsxs(Button, { onClick: () => triggerDeferredInstall(), emphasis: "primary", children: [_jsx(Icon, { name: "download" }), " Install now"] }));
|
|
68
|
-
}
|
|
69
|
-
return (_jsxs(Button, { onClick: () => showInstructions(), emphasis: "primary", children: [_jsx(Icon, { name: "arrowRight" }), " Add to Home"] }));
|
|
24
|
+
return (_jsx(Button, Object.assign({ color: "primary", emphasis: "light" }, rest, { onClick: () => {
|
|
25
|
+
pwaInstallerState.open = true;
|
|
26
|
+
}, children: children !== null && children !== void 0 ? children : (_jsxs(_Fragment, { children: [_jsx(Icon, { name: "star" }), " Install"] })) })));
|
|
70
27
|
}
|
|
71
28
|
//# sourceMappingURL=PwaInstallTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PwaInstallTrigger.js","sourceRoot":"","sources":["../../../../src/components/pwaInstall/PwaInstallTrigger.tsx"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"PwaInstallTrigger.js","sourceRoot":"","sources":["../../../../src/components/pwaInstall/PwaInstallTrigger.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,UAAU,iBAAiB,CAAC,EAGT;QAHS,EACjC,QAAQ,OAEgB,EADrB,IAAI,cAF0B,YAGjC,CADO;IAEP,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,KAAC,MAAM,kBACN,KAAK,EAAC,SAAS,EACf,QAAQ,EAAC,OAAO,IACZ,IAAI,IACR,OAAO,EAAE,GAAG,EAAE;YACb,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,CAAC,YAEA,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CACZ,8BACC,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,gBAClB,CACH,IACO,CACT,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pwaInstall/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pwaInstall/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/components/pwaInstall/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACtC,IAAI,EAAE,KAAK;CACX,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc;IAC7B,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -8,11 +8,11 @@ export const globalPreflight = (config) => preflight({
|
|
|
8
8
|
--font-title: "Inter", sans-serif;
|
|
9
9
|
--font-default: var(--font-sans, sans-serif);
|
|
10
10
|
|
|
11
|
+
--z-now-playing: 40;
|
|
12
|
+
--z-nav: 50;
|
|
11
13
|
${config.disableZIndexes
|
|
12
14
|
? ''
|
|
13
15
|
: `
|
|
14
|
-
--z-now-playing: 40;
|
|
15
|
-
--z-nav: 50;
|
|
16
16
|
--z-menu: 100;
|
|
17
17
|
--z-backdrop: 900;
|
|
18
18
|
--z-dialog: 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/uno/preflights/globals.ts"],"names":[],"mappings":"AAAA,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
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/uno/preflights/globals.ts"],"names":[],"mappings":"AAAA,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;;;;;;;;;GAUd,MAAM,CAAC,eAAe;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;;;;EAOJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EA;CACC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@ export function getButtonClassName({
|
|
|
27
27
|
|
|
28
28
|
return clsx(
|
|
29
29
|
color && `palette-${color}`,
|
|
30
|
-
'layer-components:(leading-none font-inherit font-bold select-none)',
|
|
30
|
+
'layer-components:(leading-none font-inherit font-bold select-none leading-1)',
|
|
31
31
|
'layer-components:(border-solid border-thin border-color)',
|
|
32
32
|
'layer-components:(cursor-pointer)',
|
|
33
33
|
'layer-components:(flex flex-row gap-sm items-center)',
|
|
@@ -124,7 +124,7 @@ export const DropdownMenuContent = ({
|
|
|
124
124
|
return (
|
|
125
125
|
<StyledPortal forceMount={forceMount}>
|
|
126
126
|
<StyledContent {...props}>
|
|
127
|
-
<div className="layer-components:(overflow-y-auto overflow-unstable max-h-full rounded-md min-h-0)">
|
|
127
|
+
<div className="layer-components:(overflow-y-auto overflow-x-hidden overflow-unstable max-h-full rounded-md min-h-0)">
|
|
128
128
|
{children}
|
|
129
129
|
</div>
|
|
130
130
|
<StyledArrow />
|
|
@@ -3,6 +3,7 @@ import { useThemedTitleBar, useVisualViewportOffset } from '../../hooks.js';
|
|
|
3
3
|
import { useVirtualKeyboardBehavior } from '../../hooks/useVirtualKeyboardBehavior.js';
|
|
4
4
|
import { IconSpritesheet } from '../icon/index.js';
|
|
5
5
|
import { ParticleLayer } from '../particles/index.js';
|
|
6
|
+
import { PwaInstall } from '../pwaInstall/PwaInstall.js';
|
|
6
7
|
import { Toaster } from '../toasts/toasts.js';
|
|
7
8
|
import { TooltipProvider } from '../tooltip/index.js';
|
|
8
9
|
|
|
@@ -12,6 +13,7 @@ export interface ProviderProps {
|
|
|
12
13
|
disableViewportOffset?: boolean;
|
|
13
14
|
virtualKeyboardBehavior?: 'overlay' | 'displace';
|
|
14
15
|
disableTitleBarColor?: boolean;
|
|
16
|
+
manifestPath?: string;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
/**
|
|
@@ -23,6 +25,7 @@ export function Provider({
|
|
|
23
25
|
disableViewportOffset,
|
|
24
26
|
virtualKeyboardBehavior = 'displace',
|
|
25
27
|
disableTitleBarColor,
|
|
28
|
+
manifestPath,
|
|
26
29
|
}: ProviderProps) {
|
|
27
30
|
useVisualViewportOffset(disableViewportOffset);
|
|
28
31
|
const supportedVirtualKeyboardBehavior =
|
|
@@ -35,6 +38,7 @@ export function Provider({
|
|
|
35
38
|
<>
|
|
36
39
|
<IconSpritesheet />
|
|
37
40
|
<Toaster />
|
|
41
|
+
<PwaInstall manifestPath={manifestPath} />
|
|
38
42
|
</>
|
|
39
43
|
);
|
|
40
44
|
|